24小时热门版块排行榜    

CyRhmU.jpeg
查看: 393  |  回复: 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

铁虫 (初入文坛)

终于发现错误了
2楼2011-12-26 15:37:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

uestcxlq

铁虫 (初入文坛)

每个循环后面
undef @frag;
undef %count;
3楼2011-12-26 15:40:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 uestcxlq 的主题更新
信息提示
请填处理意见