RNAの配列をタンパク質に翻訳しましょう。
RNAは、コドンと呼ばれる3つのヌクレオチドの配列に分けることができ、次のようにポリペプチドへ翻訳されます。
RNA: "AUGUUUUCU" => 次のように翻訳されます
コドン: "AUG", "UUU", "UCU"
=> これが次の配列のポリペプチドになります =>
タンパク質: "Methionine", "Phenylalanine", "Serine"
コドンは64種類あり、それぞれが20種類のアミノ酸に対応しています。ただし、この演習では、すべてのコドン配列とそれに対応するアミノ酸が重要なわけではありません。1つのコドンでうまくいけば、プログラムはすべてのコドンでも動くはずです。ただし、テストスイートのリストを自由に拡張して、すべてのコドンを含めてもかまいません。
終止コドン('STOP'コドンとも呼ばれます)も3つあります。これらのコドンのいずれかに(リボソームが)遭遇すると、翻訳はすべて終了し、タンパク質は終止します。
それ以降のコドンはすべて無視されます。次のとおりです。
RNA: "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 |
タンパク質の翻訳については、Wikipediaで詳しく学べます。
Exercismに登録すれば、76個の演習、そして本物の人間によるメンタリングとともに、Delphi Pascalを学んでマスターできます。すべて無料です。
この演習を解く11通りの方法を紹介します。命令型のアプローチ、パターンマッチングや再帰、高階関数といった関数型のアイデア、さらにC++やアセンブリによる低レベルなコーディングまで取り上げます。