- 论坛徽章:
- 0
|
回复 7# xiaoxingan99
谢谢大家的回复,上午突然之间弄好了。是因为我的输入文件名有下划线_,我把其中的一段贴出来:
my $window=$opts{x};
my $sliding=$opts{s}; # ==chr_len
###my $chr=$opts{n};
my $prefix = $opts{o};
my $tag=$opts{m};
my %chrlen;
open IN,"$opts{l}" or die "the chr length file can't open !\n";
while(<IN> {
chomp;
#if(/$chr/){
my @temp=split;
$chrlen{$temp[0]}=$temp[1];
#}
}
close IN;
open SC,"$opts{c}" or die "The custom SNP file can't open !\n";
open SW,"$opts{w}" or die "The wild SNP file can't open !\n";
my ($nc,$nw,@t,@m);
@t=split /\t/,scalar <SC>;
$nc=$t[7]+$t[8];
seek SC,0,0;
@m=split /\t/,scalar <SW>;
$nw=$m[7]+$m[8];
seek SW,0,0;
my %SNP;
my ($SC,$SW,$pc,$pw);
while (<SC> {
chomp;
my @temp=(split /\t/,$_)[1,7,8,2,5,6,0]; # my ($pos,$nbase1,$nbase2,$ref,$base1,$base2,$chr)=(split /\t/,$_)[1,7,8,2,5,6,0];
@{${$SNP{$temp[-1]}{$temp[0]}}[0]}=@temp;
}
close SC;
while (<SW> {
chomp;
my @tem=(split /\t/,$_)[1,7,8,2,5,6,0];
@{${$SNP{$tem[-1]}{$tem[0]}}[1]}=@tem;
}
close SW;
open OUT,">$opts{o}.diversity" or die "the diversity result can't write !\n";
foreach my $chr (sort keys %SNP){
for(my $pos0=1;$pos0<$chrlen{$chr};$pos0+=$sliding) {
上面最后一行就是报错的地方,这是为什么呢?
|
|