加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl碱基计数的三种不同的方法,for循环+while循环+tr///

发布时间:2020-12-15 21:04:40 所属栏目:大数据 来源:网络整理
导读:第一种方式,我们运用的for循环,然后用了if......else.......结构 for ($position=0;$positionlength $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

第一种方式,我们运用的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 "errorn"
	}
}

第二种方法,我们运用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:&;perla.pl
please input the Path just like this f:perldata.txt
f:perldata.txt
A=40
T=17
C=27
G=24

F:&;

第三种方法,我们使用tr///的结构来进行碱基的计数:

$count_A=($DNA=~tr/Aa//);
$count_T=($DNA=~tr/Tt//);
$count_G=($DNA=~tr/Gg//);
$count_C=($DNA=~tr/Cc//);

结果如下:

F:&;perla.pl
please input the Path just like this f:perldata.txt
f:perldata.txt
A=40
T=17
C=27
G=24

F:&;
这三种方法依次更简单,并且效率越来越高!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读