24小时热门版块排行榜    

查看: 394  |  回复: 2
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

uestcxlq

铁虫 (初入文坛)

[求助] 用perl 统计dna三核苷酸频数

我的文件是一行序列信息,一行序列。信息以>开头,接下来是核苷酸序列。程序如下,可计算结果前几条都没有问题,后面的计算结果就错了,请问这个程序问题在哪?谢谢!
#!/usr/bin/perl-w
use strict;
my @n =qw(a c g t);
my ($a, $frag, @frag, $f, $i, $j, $k, $r, $trint, %count);
open (MSET, "F:\\m.txt";
open (OUT, ">F:\\64m.txt";

while ({
      chomp;
      if(/^>/){next;}
      for ($a=0; $a<=(length($_)-3); $a++){
          $frag[$a]= substr($_, $a, 3);
         # print "$frag[$a]\t";
      }
      #print "\n";

      for ($i=0; $i<4; $i++){
          for ($j=0; $j<4; $j++){
              for ($k=0; $k<4; $k++){
                  $trint = $n[$i].$n[$j].$n[$k];
                  #print "$trint\n";
                  $count{$trint}=0;
                  foreach $frag(@frag){
                          if ($trint =~/$frag/){
                              $count{$trint} +=1;
                           }
                           #   print "$trint is $count{$trint} \n";
                   }
               }
           }
       }

       foreach $f(sort keys %count){
               print OUT "$f\t";
       }
       print OUT "\n";
       foreach $f(sort keys %count){
               print OUT "$count{$f}\t";
       }
       print OUT "\n";
}
close MSET;
close OUT;
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

uestcxlq

铁虫 (初入文坛)

每个循环后面
undef @frag;
undef %count;
3楼2011-12-26 15:40:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 3 个回答

uestcxlq

铁虫 (初入文坛)

终于发现错误了
2楼2011-12-26 15:37:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见