کار شما ترجمهی توالیهای RNA به پروتئین است.
رشتههای RNA از توالیهای سهنوکلئوتیدی ساخته شدهاند که به آنها کدون میگویند. هر کدون به یک آمینواسید ترجمه میشود. وقتی این آمینواسیدها به هم بپیوندند، یک پروتئین میسازند.
در دنیای واقعی ۶۴ کدون وجود دارد که به نوبهی خود با ۲۰ آمینواسید متناظرند. اما در این تمرین، تنها از چند مورد از این ۶۴ حالت ممکن استفاده میکنید. اینها در جدول زیر فهرست شدهاند:
| 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 |
برای مثال، رشتهی RNA «AUGUUUUCU» سه کدون دارد: «AUG»، «UUU» و «UCU». اینها به Methionine، Phenylalanine و Serine متناظرند.
از جدول بالا متوجه میشوید که سه کدون «STOP» وجود دارد. اگر به هر یک از این کدونها برخوردید، بقیهی توالی را نادیده بگیرید. پروتئین کامل شده است.
برای مثال، «AUGUUUUCUUAAAUG» شامل یک کدون STOP («UAA») است. وقتی به این نقطه رسیدیم، پردازش را متوقف میکنیم. بنابراین فقط بخش پیش از آن را در نظر میگیریم (یعنی «AUGUUUUCU») و کدونهای بعد از آن را نادیده میگیریم (یعنی «AUG»).
دربارهی ترجمهی پروتئین در ویکیپدیا بیشتر بدانید.
بایتهای 1024 تا 1279 از حافظهی خطی برای رشتهی ورودی رزرو شدهاند.
در صورت تمایل میتوان رشتهی ورودی را در همان جا تغییر داد.
کدونها بهصورت یک رشته و به هم چسبیده، بدون پُرکننده، به شما داده میشوند.
دنبالهی پروتئین را بهصورت رشتهای که با null پایان مییابد خروجی دهید، بهطوری که پس از هر پروتئین یک نویسهی خط جدید بیاید.
یک نمونه خروجی چنین است: "Methionine\nPhenylalanine\nSerine\n"
اگر ورودی نامعتبر باشد، رشتهی خالی خروجی دهید.
در Exercism ثبتنام کنید تا WebAssembly را همراه با 87 تمرین و مربیگری انسانی واقعی یاد بگیرید و در آن استاد شوید، همهی اینها رایگان.
۱۱ روش متفاوت برای حل این تمرین را بررسی کنید: از رویکردهای امری و ایدههای تابعی مانند تطبیق الگو، بازگشت و توابع مرتبهی بالاتر گرفته تا کمی کدنویسی سطحپایین در C++ و Assembly.