परिचय
आरएनए डीएनए का कम प्रसिद्ध चचेरा भाई है। इसका मुख्य उद्देश्य अनुवाद नामक एक प्रक्रिया के माध्यम से कोशिकाओं में प्रोटीन के उत्पादन को नियंत्रित करना है । इस चुनौती में, आपका कार्य इस प्रक्रिया के एक हिस्से को लागू करना है जहां आरएनए को कोडन में विभाजित किया गया है ।
यह चुनौती विषयगत रूप से संबंधित है, लेकिन अनुवाद प्रक्रिया के एक अन्य भाग पर केंद्रित है।
कोडोन
हम आरएनए को आधार जोड़े के वर्णमाला पर एक लंबी स्ट्रिंग के रूप में सोचेंगे AUCG
। अनुवाद में, आरएनए को तीन बेस जोड़े के गैर-अतिव्यापी विखंडू में विभाजित किया जाता है, जिसे कोडन कहा जाता है। प्रक्रिया एक में शुरू होता है शुरूआती कोडोन , AUG
है, और एक पर समाप्त होता है स्टॉप कोडोन , में से एक UAA
, UAG
या UGA
। प्रत्येक कोडन (स्टॉप कोडोन को छोड़कर) एक एमिनो एसिड से मेल खाती है, और परिणामस्वरूप एमिनो एसिड प्रोटीन का निर्माण करता है।
इनपुट
आपका इनपुट RNA का एक गैर-रिक्त स्ट्रिंग है।
उत्पादन
आपका आउटपुट कोडन की सूची है जिसमें आरएनए विभाजित है, किसी भी उचित प्रारूप में। इस सरलीकृत मॉडल में, प्रक्रिया सबसे बाईं ओर शुरू कोडन से शुरू AUG
होती है, जो आउटपुट में शामिल है। यह तब समाप्त होता है जब एक स्टॉप कोडन का सामना होता है, या जब हम आरएनए से बाहर निकलते हैं। यदि इनपुट में कोई प्रारंभ कोडन नहीं है, तो आउटपुट एक खाली सूची होगी।
उदाहरण
इनपुट अनुक्रम पर विचार करें
ACAUGGAUGGACUGUAACCCCAUGC
पार्सिंग सबसे बाईं ओर से शुरू होती है AUG
, सूचकांक 2 पर। यह निम्नानुसार जारी है:
AC AUG GAU GGA CUG UAA CCCCAUGC
* ^ ^ ^ +
कोडन के साथ चिह्नित *
प्रारंभ कोडन है, और जो चिह्नित ^
हैं वे भी आउटपुट का हिस्सा हैं। स्टॉप कोडन के साथ चिह्नित है +
। सही आउटपुट है
AUG,GAU,GGA,CUG
छोटे इनपुट के लिए
ACAUGGAUGGACUGU
प्रक्रिया चलती है
AC AUG GAU GGA CUG U
* ^ ^ ^
इस बार, स्टॉप कोडन का सामना नहीं किया गया है, इसलिए जब हम बेस पेयर से बाहर निकलते हैं तो यह प्रक्रिया रुक जाती है। आउटपुट ऊपर जैसा ही है।
नियम और स्कोरिंग
आप किसी फंक्शन का पूरा प्रोग्राम लिख सकते हैं। सबसे कम बाइट गिनती जीतता है, और मानक खामियों को रोक दिया जाता है।
परीक्षण के मामलों
GGUACGGAUU ->
GGCGAAAUCGAUGCC -> AUG
ACAUGGAUGGACUGU -> AUG,GAU,GGA,CUG
AUGACGUGAUGCUUGA -> AUG,ACG
UGGUUAGAAUAAUGAGCUAG -> AUG,AGC
ACAUGGAUGGACUGUAACCCCAUGC -> AUG,GAU,GGA,CUG
CUAAGAUGGCAUGAGUAAUGAAUGGAG -> AUG,GCA
AAUGGUUUAAUAAAUGUGAUAUGAUGAUA -> AUG,GUU
UGUCACCAUGUAAGGCAUGCCCAAAAUCAG -> AUG
UAUAGAUGGUGAUGAUGCCAUGAGAUGCAUGUUAAU -> AUG,GUG,AUG,AUG,CCA
AUGCUUAUGAAUGGCAUGUACUAAUAGACUCACUUAAGCGGUGAUGAA -> AUG,CUU,AUG,AAU,GGC,AUG,UAC
UGAUAGAUGUAUGGAUGGGAUGCUCAUAGCUAUAAAUGUUAAAGUUAGUCUAAUGAUGAGUAGCCGAUGGCCUAUGAUGCUGAC -> AUG,UAU,GGA,UGG,GAU,GCU,CAU,AGC,UAU,AAA,UGU