我想找到一个所有值都大于 0.3 的连续范围。例如
A 1 10 0.2
A 20 40 0.4
A 60 75 0.5
A 90 100 0.55
A 200 205 0.43
A 211 270 0.8
A 450 511 0.1
A 513 550 0.0
B 1 10 0.6
B 50 200 0.7
B 300 350 0.8
B 400 500 0.9
B 600 711 0.4
B 800 900 0.2
输出:
A 20 270
B 1 711
我试过了:
while(<>){
chomp($_);
my @line = split("\t| ", $_);
my $letter=$line[0];
my @start;
my @end;
if($line[3]>0.3){
push (@start, $line[1]);
push (@end, $line[2]);
}
if($line[3]<0.3){
next;}
print $letter,"\t",$start[0],"\t",$end[-1],"\n";
}
但我得到:
A 20 40
A 60 75
A 90 100
A 200 205
A 211 270
B 1 10
B 50 200
B 300 350
B 400 500
B 600 711
但我只想要每个适当范围的第一个开始和最后一个结束