کار شما ترجمهی توالیهای 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»).
دربارهی ترجمهی پروتئین در ویکیپدیا بیشتر بدانید.
اگر در حین ترجمه به نویسه یا کدون نامعتبری بربخورید، باید خطایی با پیام Invalid codon را throw کند.
translate('AAA');
// => Error: Invalid codon
در Exercism ثبتنام کنید تا JavaScript را همراه با 37 مفهوم159 تمرین و مربیگری انسانی واقعی یاد بگیرید و در آن استاد شوید، همهی اینها رایگان.
۱۱ روش متفاوت برای حل این تمرین را بررسی کنید: از رویکردهای امری و ایدههای تابعی مانند تطبیق الگو، بازگشت و توابع مرتبهی بالاتر گرفته تا کمی کدنویسی سطحپایین در C++ و Assembly.