مسیرها
/
WebAssembly
WebAssembly
/
تمرین‌ها
/
ترجمه‌ی پروتئین
ترجمه‌ی پروتئین

ترجمه‌ی پروتئین

متوسط

دستورالعمل‌ها

کار شما ترجمه‌ی توالی‌های 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»

از جدول بالا متوجه می‌شوید که سه کدون «STOP» وجود دارد. اگر به هر یک از این کدون‌ها برخوردید، بقیه‌ی توالی را نادیده بگیرید. پروتئین کامل شده است.

برای مثال، «AUGUUUUCUUAAAUG» شامل یک کدون STOP («UAA») است. وقتی به این نقطه رسیدیم، پردازش را متوقف می‌کنیم. بنابراین فقط بخش پیش از آن را در نظر می‌گیریم (یعنی «AUGUUUUCU») و کدون‌های بعد از آن را نادیده می‌گیریم (یعنی «AUG»).

درباره‌ی ترجمه‌ی پروتئین در ویکی‌پدیا بیشتر بدانید.

حافظه‌ی رزروشده

بایت‌های 1024 تا 1279 از حافظه‌ی خطی برای رشته‌ی ورودی رزرو شده‌اند.

در صورت تمایل می‌توان رشته‌ی ورودی را در همان جا تغییر داد.

قالب ورودی

کدون‌ها به‌صورت یک رشته و به هم چسبیده، بدون پُرکننده، به شما داده می‌شوند.

قالب خروجی

دنباله‌ی پروتئین را به‌صورت رشته‌ای که با null پایان می‌یابد خروجی دهید، به‌طوری که پس از هر پروتئین یک نویسه‌ی خط جدید بیاید.

یک نمونه خروجی چنین است: "Methionine\nPhenylalanine\nSerine\n"

اگر ورودی نامعتبر باشد، رشته‌ی خالی خروجی دهید.


منبع

Tyler Long
ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
WebAssembly Exercism

آماده‌اید ترجمه‌ی پروتئین را شروع کنید؟

در Exercism ثبت‌نام کنید تا WebAssembly را همراه با 87 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.

بررسی عمیق ترجمه‌ی پروتئین!

۱۱ روش متفاوت برای حل این تمرین را بررسی کنید: از رویکردهای امری و ایده‌های تابعی مانند تطبیق الگو، بازگشت و توابع مرتبه‌ی بالاتر گرفته تا کمی کدنویسی سطح‌پایین در C++ و Assembly.