आरएनए , डीएनए की तरह, आनुवंशिक जानकारी एन्कोडिंग कोशिकाओं में पाया जाने वाला एक अणु है। इसमें न्यूक्लियोटाइड्स होते हैं , जो बेस एडेनिन (ए), साइटोसिन (सी), गुआनिन (जी) और यूरैसिल (यू) द्वारा दर्शाए जाते हैं। * एक कोडन तीन न्यूक्लियोटाइड का एक क्रम है।
प्रोटीन बड़े अणु होते हैं जो कि केरातिन जैसे कार्यों की एक विशाल श्रृंखला का प्रदर्शन करते हैं, जो बालों और नाखूनों और हीमोग्लोबिन में पाया जाता है जो रक्त कोशिकाओं में ऑक्सीजन पहुंचाता है। वे अमीनो एसिड से बने होते हैं , जो आरएनए अणुओं में कोडन के रूप में एन्कोडेड होते हैं। कभी-कभी अलग-अलग कोडन एक ही एमिनो एसिड के लिए सांकेतिक शब्दों में बदलना कर सकते हैं। प्रत्येक अमीनो एसिड को आमतौर पर एक अक्षर द्वारा दर्शाया जाता है, उदाहरण के लिए H का मतलब हिस्टिडीन होता है।
के एक क्रम को देखते हुए ACGU
, क्या आप इसे संबंधित प्रोटीन स्ट्रिंग में अनुवाद कर सकते हैं?
* DNA में ACGT होता है, जहाँ T थाइमिन होता है। डीएनए से आरएनए प्रतिलेखन के दौरान, थाइमिन को यूरैसिल द्वारा प्रतिस्थापित किया जाता है।
इनपुट
इनपुट एक एकल स्ट्रिंग होगी जिसमें ACGU
ऊपरी मामले में केवल वर्ण होंगे । आप इस चुनौती के लिए एक कार्य या पूर्ण कार्यक्रम लिख सकते हैं।
उत्पादन
आप या तो मुद्रण या स्ट्रिंग वापस करने के माध्यम से आउटपुट चुन सकते हैं (बाद वाला विकल्प केवल एक फ़ंक्शन के मामले में उपलब्ध है)।
अनुवाद एक शुरू कोडन ( AUG
, के रूप में प्रतिनिधित्व M
) पर शुरू होना चाहिए और एक स्टॉप कोडन (एक UAA
, UAG
या UGA
, के रूप में प्रतिनिधित्व *
) में समाप्त होना चाहिए । चार मामले हैं जहां इनपुट अमान्य हो सकता है:
- इनपुट एक प्रारंभ कोडन के साथ शुरू नहीं होता है
- इनपुट एक स्टॉप कोडन के साथ समाप्त नहीं होता है
- इनपुट की लंबाई 3 से अधिक नहीं है
- इनपुट में अंत के अलावा कहीं और एक स्टॉप कोडन होता है
इन सभी मामलों में, Error
आउटपुट किया जाना चाहिए। ध्यान दें कि, स्टॉप कोडन के विपरीत, स्टार्ट कोड्स स्ट्रिंग की शुरुआत के बाद दिखाई दे सकते हैं।
अन्यथा, आपको प्रत्येक कोडन को अपने संबंधित एमिनो एसिड में निम्न आरएनए कोडन तालिका के माध्यम से परिवर्तित करना चाहिए :
* UAA UAG UGA
A GCU GCC GCA GCG
C UGU UGC
D GAU GAC
E GAA GAG
F UUU UUC
G GGU GGC GGA GGG
H CAU CAC
I AUU AUC AUA
K AAA AAG
L UUA UUG CUU CUC CUA CUG
M AUG
N AAU AAC
P CCU CCC CCA CCG
Q CAA CAG
R CGU CGC CGA CGG AGA AGG
S UCU UCC UCA UCG AGU AGC
T ACU ACC ACA ACG
V GUU GUC GUA GUG
W UGG
Y UAU UAC
... और अनुवादित स्ट्रिंग आउटपुट।
उदाहरण
अमान्य मामले:
<empty string> -> Error
AUG -> Error
UAA -> Error
AUGCUAG -> Error
AAAAAAA -> Error
GGGCACUAG -> Error
AUGAACGGA -> Error
AUGUAGUGA -> Error
AUGUUUGUUCCGUCGAAAUACCUAUGAACACGCUAA -> Error
मान्य मामले:
AUGUGA -> M*
AUGAGGUGUAGCUGA -> MRCS*
AUGGGUGAGAAUGAAACGAUUUGCAGUUAA -> MGENETICS*
AUGCCAGUCGCACGAUUAGUUCACACGCUCUUGUAA -> MPVARLVHTLL*
AUGCUGCGGUCCUCGCAUCUAGCGUUGUGGUUAGGGUGUGUAACUUCGAGAACAGUGAGUCCCGUACCAGGUAGCAUAAUGCGAGCAAUGUCGUACGAUUCAUAG -> MLRSSHLALWLGCVTSRTVSPVPGSIMRAMSYDS*
AUGAAAAACAAGAAUACAACCACGACUAGAAGCAGGAGUAUAAUCAUGAUUCAACACCAGCAUCCACCCCCGCCUCGACGCCGGCGUCUACUCCUGCUUGAAGACGAGGAUGCAGCCGCGGCUGGAGGCGGGGGUGUAGUCGUGGUUUACUAUUCAUCCUCGUCUUGCUGGUGUUUAUUCUUGUUUUAA -> MKNKNTTTTRSRSIIMIQHQHPPPPRRRRLLLLEDEDAAAAGGGGVVVVYYSSSSCWCLFLF*
संपादित करें: अधिक परीक्षण मामलों को जोड़ा गया
स्कोरिंग
यह कोड गोल्फ है, इसलिए सबसे कम बाइट्स में कोड जीतता है।
नोट: मैं आणविक जीव विज्ञान में कोई विशेषज्ञ नहीं हूं, इसलिए अगर मैंने कुछ भी गलत किया है तो मुझे सही करने के लिए स्वतंत्र महसूस करें :)
M
और समाप्त होता है *
।