24小时热门版块排行榜    

查看: 354  |  回复: 1

shuangyang

金虫 (初入文坛)

[交流] 【求助】急!!!请教高手看一下perl程序里的循环问题?

为什么my $scafmatch =$allterm[7] - $allterm[6]不循环?之前的程序测试都对!急啊!!谢谢!
#!/usr/bin/perl -w
  2 use strict;
  3 unless (@ARGV == 3) {
  4     die "please check your input files and output files";
  5 }
  6 open IN,$ARGV[0] or die "$!\n";
  7 open FILE,$ARGV[1] or die "$!\n";
  8 open OUT,">$ARGV[2]" or die "$!\n";
  9 our @array;
10 $/ = ">";
11 ;
12 while( {
13     chomp;
14     my @all = split /\n/,$_;
15     my $name = shift(@all);
16     my @term = split /\s+/,$name;
17     my $scafname = shift (@term);
18     my $scaf = join "",@all;
19     my @base = split //,$scaf;
20     my $num = 0;
21     for my $i(@base) {
22         if ($i =~/[ATGCN]/) {
23                 $num++;
24         }
25     }
26 #    print OUT $scafname,"\t",$num,"\n";
27     my  @quary = ($scafname,$num);
28     push @array,[@quary];
29 }
30 close IN;
31 LABLE: while ( {
32        chomp;
33        my @allterm = split /\s+/,$_;
34        my $a = "";
35        my $rate = 0;
36        next LABLE if ($a eq $allterm[0]);
37        my $scafmatch = $allterm[7] - $allterm[6];
38        for my $i(0 ..$#array) {
39         if ($array[$i][0] eq $allterm[0] ) {
40              $rate = ( $scafmatch / $array[$i][1]);
41         }
42        print OUT $array[$i][0],"\t",$array[$i][1],"\t","the rate 0f match:\t",$rate,"\n";
43        $a = $allterm[0];
        }
45   }
46 close FILE;
47 close OUT;

[ Last edited by nono2009 on 2010-8-19 at 07:07 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

caucast

铁虫 (初入文坛)

★
nono2009(金币+1):鼓励应助。 2010-08-19 07:07:26
shuangyang(金币+2): 2010-08-19 09:09:48
有个错误蛮明显的。
你在while()循环末尾定义的 $a = $allterm[0]没有意义,因为在下一次循环中它都被开头的my $a=""给覆盖掉。你可以把my $a=""放在循环外面。
不知这个和你说的那个错误有没有关系。

ps:你貌似是先处理一个fasta文件,那个计数的循环是不是可以用length()函数代替,可以的话速度会提高很多。
2楼2010-08-19 01:30:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 shuangyang 的主题更新
普通表情 龙 兔 虎 猫 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[找工作] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 YXM1FDCSE8Bn 2026-10-31 5/250 2026-11-02 09:42 by dcc2yOIRGGTT
[考研] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +5 xvJS1BYDxvBS 2026-10-31 13/650 2026-11-02 06:03 by xzcv0Tehd8lQ
[论文投稿] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +6 X5bHxOULxFqb 2026-10-30 27/1350 2026-11-02 05:28 by xzcv0Tehd8lQ
[考博] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +4 hKe7U1kad5Sg 2026-10-31 9/450 2026-11-02 03:26 by xzcv0Tehd8lQ
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +6 X5bHxOULxFqb 2026-10-30 16/800 2026-11-02 02:34 by xzcv0Tehd8lQ
[找工作] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +3 hKe7U1kad5Sg 2026-10-31 5/250 2026-11-01 22:27 by xzcv0Tehd8lQ
[考博] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +4 xvJS1BYDxvBS 2026-10-31 7/350 2026-11-01 22:01 by xzcv0Tehd8lQ
[公派出国] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +4 1uaZt2kAZj2S 2026-10-30 8/400 2026-11-01 21:35 by xzcv0Tehd8lQ
[教师之家] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +6 X5bHxOULxFqb 2026-10-30 16/800 2026-11-01 21:19 by xzcv0Tehd8lQ
[考研] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 hKe7U1kad5Sg 2026-10-31 6/300 2026-11-01 19:50 by xzcv0Tehd8lQ
[公派出国] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +4 1uaZt2kAZj2S 2026-10-30 15/750 2026-11-01 16:52 by BCdvBAEpt3zm
[考博] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 1uaZt2kAZj2S 2026-10-30 13/650 2026-11-01 16:48 by BCdvBAEpt3zm
[考博] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +5 X5bHxOULxFqb 2026-10-30 22/1100 2026-11-01 16:35 by BCdvBAEpt3zm
[找工作] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +4 1uaZt2kAZj2S 2026-10-31 8/400 2026-11-01 14:48 by BCdvBAEpt3zm
[考研] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 xvJS1BYDxvBS 2026-10-31 5/250 2026-11-01 12:51 by BCdvBAEpt3zm
[考研] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +4 1uaZt2kAZj2S 2026-10-31 8/400 2026-11-01 12:38 by BCdvBAEpt3zm
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +4 1uaZt2kAZj2S 2026-10-30 17/850 2026-11-01 12:24 by BCdvBAEpt3zm
[考研] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 1uaZt2kAZj2S 2026-10-30 16/800 2026-11-01 12:14 by BCdvBAEpt3zm
[硕博家园] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 X5bHxOULxFqb 2026-10-30 18/900 2026-11-01 12:11 by BCdvBAEpt3zm
[论文投稿] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 1uaZt2kAZj2S 2026-10-31 8/400 2026-11-01 03:59 by YXM1FDCSE8Bn
信息提示
请填处理意见