【发布时间】:2016-03-17 01:42:28
【问题描述】:
我对编程比较陌生。我目前正在学习 Perl,但遇到了一个逻辑问题,使我无法正确完成脚本。任何帮助将不胜感激!!提前感谢您提供有用的见解!
大部分程序已经写好了,最后一步让我头疼。
我有一个变量$RNA,它以任意顺序获取核苷酸序列 (acgu)。例如:
$RNA = agcuaggaaggguuuugauag
等等。
我已经创建了一个哈希,其中每 3 个核苷酸字符或密码子(例如 uga)被分配给一个定义的氨基酸。例如:
% my AminoAcid = (
ggg => "G",
...
);
我想要做的是在读取$RNA 字符串中的START CODON aug 时打印与哈希中的密码子相对应的定义的氨基酸(大写字母)并停止 每当读取 STOP CODON uga 时,在哈希中打印定义的氨基酸。
例如:假设$RNA = aaaaugcccgggugaccccccccc。程序应打印从 (aug) 开始的相应氨基酸,并在读取字符串中的终止密码子 (uga) 时停止。
注意:它应该在读取起始密码子 (aug) 之前忽略前三个 aaa,在读取终止密码子 (uga) 之后忽略 ccccccccccccc,如果看到在字符串中的任何位置再次启动密码子aug。
我尝试了多种想法,但没有一个能够描述为最后一部分编写代码的正确方法。我可能没有完全理解其背后的逻辑。
任何帮助将不胜感激。提前谢谢!!!
【问题讨论】:
-
aug是否必须位于可被 3 整除的索引处,还是只能出现在任何地方? -
你能贴出你试过的代码吗?