مهمتك هي ترجمة تسلسلات RNA إلى بروتينات.
تتكوّن خيوط RNA من تسلسلات من ثلاث نيوكليوتيدات تُسمّى الكودونات. كل كودون يُترجَم إلى حمض أميني. وعندما تتّحد هذه الأحماض الأمينية معًا، فإنها تكوّن بروتينًا.
في الواقع، هناك 64 كودونًا، تقابل بدورها 20 حمضًا أمينيًا. لكن في هذا التمرين ستستخدم عددًا قليلًا فقط من الكودونات الـ64 الممكنة. وهي مدرجة أدناه:
| Codon | Amino Acid |
|---|---|
| AUG | Methionine |
| UUU, UUC | Phenylalanine |
| UUA, UUG | Leucine |
| UCU, UCC, UCA, UCG | Serine |
| UAU, UAC | Tyrosine |
| UGU, UGC | Cysteine |
| UGG | Tryptophan |
| UAA, UAG, UGA | STOP |
على سبيل المثال، يتكوّن التسلسل “AUGUUUUCU” من ثلاثة كودونات: “AUG” و“UUU” و“UCU”. وهي تقابل Methionine وPhenylalanine وSerine.
ستلاحظ من الجدول أعلاه أن هناك ثلاثة كودونات “STOP”. إذا صادفت أيًّا من هذه الكودونات، فتجاهل بقية التسلسل، فالبروتين قد اكتمل.
على سبيل المثال، يحتوي التسلسل “AUGUUUUCUUAAAUG” على كودون STOP (“UAA”). وبمجرد أن نصل إلى تلك النقطة، نتوقف عن المعالجة. لذلك نأخذ في الاعتبار الجزء الذي قبله فقط (أي “AUGUUUUCU”)، ولا أي كودونات أخرى بعده (أي “AUG”).
تعرّف أكثر على ترجمة البروتين على ويكيبيديا.
أخرِج تسلسل البروتينات على هيئة سلسلة نصية منتهية بـ null، مع محرف سطر جديد بعد كل بروتين.
ومن أمثلة الإخراج "Methionine\nPhenylalanine\nSerine\n"
إذا كانت المدخلات غير صالحة، أخرِج سلسلة نصية فارغة.
| السجل | الاستخدام | النوع | الوصف |
|---|---|---|---|
$a0 |
إدخال | عنوان | سلسلة نصية مدخلة منتهية بـ null
|
$a1 |
إدخال/إخراج | عنوان | سلسلة نصية مخرجة منتهية بـ null
|
$t0-9 |
مؤقت | أي | تُستخدم للتخزين المؤقت |
سجّل في Exercism لتتعلّم وتتقن MIPS Assembly عبر 70 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.
استكشف 11 طريقة مختلفة لحل هذا التمرين، بما في ذلك أساليب أمرية، وأفكار دالية مثل مطابقة الأنماط والاستدعاء الذاتي والدوال ذات الرتبة الأعلى، وبعض البرمجة منخفضة المستوى بلغتَي C++ وAssembly.