第一种方式,我们运用的for循环,然后用了if......else.......结构
for ($position=0;$position<length $DNA;++$position){ $base=substr($DNA,$position,1); if ($base eq 'A') { $count_A=$count_A+1; } elsif ($base eq 'T') { $count_T=$count_T+1; } elsif ($base eq 'C') { $count_C=$count_C+1; } elsif ($base eq 'G') { $count_G=$count_G+1; } else { print "error\n" }}
第二种方法,我们运用while循环:
#然后依次读取字符串的元素,并对四种碱基的数量进行统计
while ($DNA=~/a/ig){$count_A++}while ($DNA=~/c/ig){$count_C++}while ($DNA=~/g/ig){$count_G++}while ($DNA=~/T/ig){$count_T++}while ($DNA=~/[^acgt]/ig){$e++}
得到的结果如下:
F:\>perl\a.plplease input the Path just like this f:\perl\data.txtf:\perl\data.txtA=40T=17C=27G=24F:\>
第三种方法,我们使用tr///的结构来进行碱基的计数:
$count_A=($DNA=~tr/Aa//);$count_T=($DNA=~tr/Tt//);$count_G=($DNA=~tr/Gg//);$count_C=($DNA=~tr/Cc//);
结果如下:
F:\>perl\a.plplease input the Path just like this f:\perl\data.txtf:\perl\data.txtA=40T=17C=27G=24F:\>这三种方法依次更简单,并且效率越来越高! 总结
以上是内存溢出为你收集整理的perl碱基计数的三种不同的方法,for循环+while循环+tr///全部内容,希望文章能够帮你解决perl碱基计数的三种不同的方法,for循环+while循环+tr///所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)