Треки
/
MIPS Assembly
MIPS Assembly
/
Вправи
/
Трансляція білків
Трансляція білків

Трансляція білків

Середня

Вказівки

Транслюйте послідовності РНК у білки.

Ланцюги РНК складаються з послідовностей із трьох нуклеотидів, які називаються кодонами. Кожен кодон відповідає амінокислоті. Коли вони зʼєднуються, ці амінокислоти утворюють білок.

У реальному світі існує 64 кодони, які, своєю чергою, відповідають 20 амінокислотам. Однак у цій вправі ми використаємо лише кілька з можливих 64. Вони наведені нижче:

Кодон Амінокислота
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»

З наведеної вище таблиці видно, що є три кодони «STOP». Якщо трапиться будь-який із цих кодонів, проігноруйте решту послідовності, адже білок завершено.

Наприклад, «AUGUUUUCUUAAAUG» містить кодон «STOP» («UAA»). Щойно ми досягаємо цієї точки, ми припиняємо обробку. Тому ми розглядаємо лише частину перед ним (тобто «AUGUUUUCU»), а не будь-які подальші кодони після нього (тобто «AUG»).

Дізнайтеся більше про трансляцію білків у Вікіпедії.

Формат вихідних даних

Виведіть послідовність білків як рядок тексту (англ. string), завершений нульовим символом, із символом нового рядка після кожного білка.

Ось приклад вихідних даних: "Methionine\nPhenylalanine\nSerine\n"

Якщо вхідні дані неправильні, виведіть порожній рядок тексту.

Регістри

Регістр Призначення Тип Опис
$a0 вхідні дані адреса вхідний рядок тексту, завершений нульовим символом
$a1 вхідні та вихідні дані адреса вихідний рядок тексту, завершений нульовим символом
$t0-9 тимчасовий будь-який використовується для тимчасового зберігання

Джерело

Tyler Long
Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
MIPS Assembly Exercism

Час розпочати Трансляція білків?

Зареєструйтеся на Exercism, щоб вивчати й опановувати MIPS Assembly, а також 70 вправ та справжнє наставництво від людей, і все це безкоштовно.

Глибоке занурення у Трансляція білків!

Розгляньмо 11 різних способів розвʼязати цю вправу: імперативні підходи, функціональні ідеї на кшталт зіставлення зі зразком, рекурсію та функції вищого порядку, а також трохи низькорівневого коду на C++ та Assembly.