學習軌道
/
Haskell
Haskell
/
練習
/
蛋白質轉譯
蛋白質轉譯

蛋白質轉譯

簡單

說明

將 RNA 序列轉譯成蛋白質。

RNA 可以拆解成由 3 個核苷酸組成的序列,稱為密碼子,然後像這樣轉譯成蛋白質:

RNA:"AUGUUUUCU" => 轉譯為

密碼子:"AUG", "UUU", "UCU" => 這些會變成具有下列序列的蛋白質 =>

蛋白質:"Methionine", "Phenylalanine", "Serine"

共有 64 種密碼子,分別對應到 20 種胺基酸;不過在這個練習裡,並不是所有密碼子序列和對應的胺基酸都重要。 只要程式能處理一種密碼子,就應該能處理所有的密碼子。 不過,也歡迎你自行擴充測試套件裡的清單,把全部密碼子都納入。

另外還有 3 個終止密碼子(又稱「STOP」密碼子);一旦(核醣體)遇到其中任何一個,轉譯就會全部結束,蛋白質也隨之終止。

之後的所有密碼子都會被忽略,像這樣:

RNA:"AUGUUUUCUUAAAUG" =>

密碼子:"AUG", "UUU", "UCU", "UAA", "AUG" =>

蛋白質:"Methionine", "Phenylalanine", "Serine"

請注意,終止密碼子 "UAA" 會結束轉譯,而最後的 methionine 不會被轉譯進蛋白質序列。

以下是這個練習需要用到的密碼子,以及對應的胺基酸。

密碼子 胺基酸
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

想進一步了解蛋白質轉譯,請參考維基百科上的蛋白質轉譯。


出處

Tyler Long
透過 GitHub 編輯 連結會在新視窗或分頁中開啟
Haskell Exercism

準備好開始 蛋白質轉譯 了嗎?

註冊 Exercism,透過 107 個練習 和真人引導來學習並精通 Haskell,全部免費。

深入探索 蛋白質轉譯!

探索 11 種不同的解題方式,包括命令式做法,模式比對、遞迴與高階函式等函數式概念,以及一些用 C++ 和 Assembly 撰寫的低階程式碼。