مهمتك هي ترجمة تسلسلات 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”).
تعرّف أكثر على ترجمة البروتين على ويكيبيديا.
البايتات 1024-1279 من الذاكرة الخطية محجوزة لسلسلة الإدخال النصية.
يمكن تعديل سلسلة الإدخال النصية في مكانها إذا أردت.
تُسلَّم الكودونات موصولةً ببعضها دون حشو على هيئة سلسلة نصية.
أخرِج متتالية البروتين على هيئة سلسلة نصية منتهية بمحرف null، مع محرف سطر جديد بعد كل بروتين.
ومن أمثلة المخرجات "Methionine\nPhenylalanine\nSerine\n"
إذا كان الإدخال غير صالح، فأخرِج سلسلة نصية فارغة.
سجّل في Exercism لتتعلّم وتتقن WebAssembly عبر 87 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.
استكشف 11 طريقة مختلفة لحل هذا التمرين، بما في ذلك أساليب أمرية، وأفكار دالية مثل مطابقة الأنماط والاستدعاء الذاتي والدوال ذات الرتبة الأعلى، وبعض البرمجة منخفضة المستوى بلغتَي C++ وAssembly.