ट्रैक
/
Rust
Rust
/
अभ्यास
/
RNA ट्रांसक्रिप्शन
RNA ट्रांसक्रिप्शन

RNA ट्रांसक्रिप्शन

मध्यम

परिचय

आप एक बायोइंजीनियरिंग कंपनी के लिए काम करते हैं, जो इलाज से जुड़े समाधान विकसित करने में विशेषज्ञता रखती है।

आपकी टीम को अभी-अभी एक नया प्रोजेक्ट मिला है: कैंसर के एक दुर्लभ प्रकार के लिए टार्गेटेड थेरेपी विकसित करना।

Note

यह सब बहुत जटिल है, लेकिन मूल बात यह है कि कभी-कभी लोगों का शरीर कोई खास प्रोटीन ज़रूरत से ज़्यादा बनाने लगता है। इससे कई तरह की गड़बड़ियाँ हो सकती हैं।

लेकिन अगर आप एक बहुत खास अणु बना सकें (जिसे micro-RNA कहते हैं), तो यह उस प्रोटीन को बनने से रोक सकता है।

इस तकनीक को RNA इंटरफ़ेरेंस कहते हैं।

निर्देश

आपको दी गई DNA शृंखला का RNA पूरक निकालना है।

DNA और RNA दोनों न्यूक्लियोटाइड की शृंखला होती हैं।

DNA में पाए जाने वाले चार न्यूक्लियोटाइड एडेनीन (A), साइटोसीन (C), ग्वानीन (G) और थाइमीन (T) हैं।

RNA में पाए जाने वाले चार न्यूक्लियोटाइड एडेनीन (A), साइटोसीन (C), ग्वानीन (G) और यूरासिल (U) हैं।

किसी DNA शृंखला से ट्रांसक्रिप्शन द्वारा उसकी RNA शृंखला बनती है, जिसमें हर न्यूक्लियोटाइड को उसके पूरक से बदल दिया जाता है:

  • G -> C
  • C -> G
  • T -> A
  • A -> U
Note

अगर आप यह देखना चाहते हैं कि इनपुट और आउटपुट किस तरह बनाए गए हैं, तो टेस्ट सूट में दिए गए उदाहरणों पर एक नज़र डालिए।

Rust में कोड लिखने से जुड़ी कुछ बातें

स्ट्रक्चर में प्राइवेट फील्ड रखकर और Option या Result लौटाने वाले पब्लिक new फंक्शन बनाकर (जैसे यहाँ DNA::new और RNA::new हैं), हम पक्का कर सकते हैं कि DNA का अंदरूनी रूप सही रहता है। चूँकि हर मान्य DNA स्ट्रिंग के लिए एक मान्य RNA स्ट्रिंग होती है, इसलिए हमें into_rna से Result/Option लौटाने की ज़रूरत नहीं पड़ती।

टेस्ट में आपको जो टाइप सिग्नेचर दिखेंगे, उनकी वजह यही है।

DNA::new() और RNA::new() दोनों का रिटर्न टाइप Result<Self, usize> है, जिसमें एरर टाइप usize पहले अमान्य अक्षर का इंडेक्स बताता है (अक्षर का इंडेक्स, utf8 का नहीं)।


स्रोत

Hyperphysicsयह लिंक एक नई विंडो या टैब में खुलता है
GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
Rust Exercism

RNA ट्रांसक्रिप्शन शुरू करने के लिए तैयार हैं?

Exercism पर साइन अप कीजिए और Rust को 99 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।