轨道
/
Nim
Nim
/
练习
/
蛋白质翻译
蛋白质翻译

蛋白质翻译

简单

说明

把 RNA 序列翻译成蛋白质。

RNA 可以拆分成由三个核苷酸组成的序列,叫作密码子,然后再翻译成多肽,就像这样:

RNA:"AUGUUUUCU" => 翻译为

密码子:"AUG", "UUU", "UCU" => 它们会变成具有以下序列的多肽 =>

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

一共有 64 个密码子,对应 20 种氨基酸;不过在这个练习里,并不是所有密码子序列和它们对应的氨基酸都很重要。 如果程序能正确处理一个密码子,就应该能处理所有密码子。 不过,你也可以随意扩展测试套件里的列表,把它们全都加进去。

还有三个终止密码子(也叫 “STOP” 密码子);如果(核糖体)遇到其中任何一个密码子,翻译就会全部结束,蛋白质也随之终止。

它之后的所有密码子都会被忽略,就像这样:

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

想了解更多,可以阅读维基百科上的蛋白质翻译。


来源

Tyler Long
通过 GitHub 编辑 链接将在新窗口或新标签页中打开
Nim Exercism

准备好开始 蛋白质翻译 了吗?

注册 Exercism,借助 70 个练习 和真人导师指导,学习并掌握 Nim,全部免费。

深入探索 蛋白质翻译!

探索 11 种不同的解法,包括命令式方法,模式匹配、递归和高阶函数等函数式思路,以及用 C++ 和汇编编写的一些底层代码。