我编写了一个perl程序来查找给定DNA字符串中的GC内容百分比。但是程序正在执行错误情况(否则是条件语句的一部分)
$dna = "AGTC";
$a = 0;
$g = 0;
$t = 0;
$c = 0;
for ($p = 0; p < length $dna; ++$p) {
$ch = substr($dna,$p,1);
if($ch eq 'A') {
++$a;
} elsif($ch eq 'G') {
++$g;
} elsif($ch eq 'T') {
++$t;
} elsif($ch eq 'C') {
++$c;
} else {
print "error";
}
}
$total = $a + $g + $t + $c;
$gc = $g + $c;
$percentagegc = ($gc/$total) * 100;
print "percentage gc content is = $percentagegc";
请帮忙。
答案 0 :(得分:4)
在此行中$
的某个用法中,您遗漏了$p
:
for($p = 0;p < length $dna;++$p)
^ -- here
修复并运行脚本我正确得到:
percentage gc content is = 50