Перекладіть послідовності РНК у білки.
РНК можна розбити на тринуклеотидні послідовності, які називаються кодонами, а потім перекласти в білок ось так:
РНК: "AUGUUUUCU" => перекладається в
Кодони: "AUG", "UUU", "UCU"
=> які стають білком із такою послідовністю =>
Білок: "Methionine", "Phenylalanine", "Serine"
Існує 64 кодони, які, своєю чергою, відповідають 20 амінокислотам; однак у цій вправі всі послідовності кодонів і відповідні амінокислоти не важливі. Якщо це працює для одного кодона, програма має працювати для всіх них. Однак можете сміливо розширити список у наборі тестів, щоб включити їх усі.
Існують також три термінуючі кодони (також відомі як «STOP»-кодони); якщо трапляється будь-який із цих кодонів (рибосомою), трансляція припиняється, і білок завершується.
Усі наступні кодони після цього ігноруються, ось так:
РНК: "AUGUUUUCUUAAAUG" =>
Кодони: "AUG", "UUU", "UCU", "UAA", "AUG" =>
Білок: "Methionine", "Phenylalanine", "Serine"
Зверніть увагу, що стоп-кодон "UAA" завершує трансляцію, і останній метіонін не потрапляє до послідовності білка.
Нижче наведено кодони та відповідні амінокислоти, потрібні для цієї вправи.
| Кодон | Амінокислота |
|---|---|
| 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 |
Дізнайтеся більше про трансляцію білка у Вікіпедії.
Зареєструйтеся на Exercism, щоб вивчати й опановувати Ballerina, а також 60 вправ та справжнє наставництво від людей, і все це безкоштовно.
Розгляньмо 11 різних способів розвʼязати цю вправу: імперативні підходи, функціональні ідеї на кшталт зіставлення зі зразком, рекурсію та функції вищого порядку, а також трохи низькорівневого коду на C++ та Assembly.