24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 309  |  回复: 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 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 求调剂 有机化学考研356分 +3 Nadiums 2026-03-25 4/200 2026-03-29 00:50 by 544594351
[考研] 086000生物与医药调剂 +3 Feisty。 2026-03-28 7/350 2026-03-29 00:41 by 544594351
[考研] 一志愿郑州大学,080500学硕,总分317分求调剂 +5 举个栗子oi 2026-03-24 6/300 2026-03-28 23:03 by lizhi8172
[考研] 压国家一区线,求导师收留,有恩必谢! +7 迷人的哈哈 2026-03-28 7/350 2026-03-28 16:47 by 催化大白
[考研] 085404求调剂,总分309,本科经历较为丰富 +4 来财aa 2026-03-25 4/200 2026-03-28 07:41 by 棒棒球手
[考研] 求调剂推荐 材料 304 +15 荷包蛋hyj 2026-03-26 15/750 2026-03-28 04:13 by fmesaito
[考研] 295求调剂 +5 1428151015 2026-03-27 6/300 2026-03-28 04:04 by fmesaito
[考研] 352分 化工与材料 +5 海纳百川Ly 2026-03-27 5/250 2026-03-28 03:39 by fmesaito
[考研] 266分求材料化工冶金矿业等专业的调剂 +4 哇呼哼呼哼 2026-03-26 4/200 2026-03-27 17:02 by zhyzzh
[考研] 327求调剂 +7 prayer13 2026-03-23 7/350 2026-03-26 20:48 by 不吃魚的貓
[考研] 0703化学求调剂 +3 丹青奶盖 2026-03-26 5/250 2026-03-26 20:11 by macy2011
[考研] 271求调剂 +6 生如夏花… 2026-03-22 6/300 2026-03-26 16:48 by 张凯十八号
[考研] 机械学硕310分,数一英一,一志愿211本科双非找调剂信息 +3 @357 2026-03-25 3/150 2026-03-26 16:34 by by.MENG
[考研] 334分 一志愿武理 材料求调剂 +4 李李不服输 2026-03-26 4/200 2026-03-26 16:00 by 不吃魚的貓
[考研] 一志愿 南京邮电大学 288分 材料考研 求调剂 +3 jl0720 2026-03-26 3/150 2026-03-26 13:39 by zzll406
[考研] 309求调剂 +4 gajsj 2026-03-25 5/250 2026-03-26 00:27 by Dyhoer
[考研] 086003食品工程求调剂 +6 淼淼111 2026-03-24 6/300 2026-03-25 10:29 by 3Strings
[考研] 生物学学硕求调剂 +7 小羊睡着了? 2026-03-23 10/500 2026-03-25 02:24 by 清风拂扬。 m
[考研] 材料考研调剂生 +3 黄粱一梦千年 2026-03-24 3/150 2026-03-24 17:00 by barlinike
[考研] 一志愿山东大学药学学硕求调剂 +3 开开心心没烦恼 2026-03-23 4/200 2026-03-24 00:06 by 开开心心没烦恼
信息提示
请填处理意见