我正在研究一些 DNA(A、T、C 和 G,有可能加入 U)
现在我有一个非常长的字符串,里面充满了不确定长度的 DNA。我已经完成了核苷酸碱基的代码。
%nucleotide_bases = ( A => Adenine,
T => Thymine,
G => Guanine,
C => Cytosine );
$nucleotide_bases{'U'} = 'This is a RNA base called Uracil';#T=U for RNA
现在我需要做的就是放入某种循环中以从字符串中读取每个字符。由于此代码适用于学生,因此需要简单。几周前我自己开始使用 perl,在那之前是 java。
字符串(它被称为 $string1)需要在读取每个碱基对时打印它的全名(一次一个)。所以当字符串说 ATTCGCG
屏幕输出需要阅读: Adenine Thymine Adenine Thymine Cytosine Guanine Cytosine Guanine
如果从字符串中执行此操作太棘手,我可以使用数组作为起点。非常感谢您的帮助。
优秀的答案。我们现在都准备好了。
我遇到的另一个问题是关于确保用户只能输入 DNA 碱基(A、T、C 和 G)。我认为这称为输入验证。
print "Please enter your first DNA sequence now: \n";
$userinput1=<>;
chomp $userinput1;
你将如何在那里添加输入验证?除非满足条件,否则应始终重新询问第一个打印语句。
我知道我需要类似的东西
if($userinput1 ne 'a' or 't' or 'c' or 'g') {
print "Please enter DNA only (A, T, C or G)";
}
我不完全确定如何回到原来的打印语句