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

蛋白质翻译

简单

说明

将 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 编辑 链接将在新窗口或新标签页中打开
YAMLScript Exercism

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

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

深入探索 蛋白质翻译!

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