10000058 3DKG000004283 290.48
10000059 3DKG000004315 290.48
10000060 3DKG000004421 1693.9
10000061 3DKG000004543 3118.77
THIS IS A BREAK
10000062 3DiKG000004569 2372.94
10000063 3DiKG000004681 528.87
10000064 3DiKG000004741 187.54
10000065 3DiKG000004773 327.84
10000066 3DiKG000004879 1301.43
10000071 3DiKG000005165 17.94
10000072 3DiKG000005193 13.45
10000074 3DiKG000005261 14.33
10000076 3DiKG000005331 144
THIS IS A BREAK
10000145 3DKG000007633 10.43
10000146 3DKG000007663 10.43
10000147 3DKG000007693 1224.8
10000148 3DKG000007727 1224.8
10000149 3DKG000007769 1359.73
10000162 3DKG000008189 307.62
10000163 3DKG000008231 307.62
10000164 3DKG000008261 14.69
####
3DKG000004283 3DKG000004543 4
3DiKG000004569 3DiKG000004879 5
3DiKG000005165 3DiKG000005193 2
3DKG000007633 3DKG000007769 5
3DKG000008189 3DKG000008261 3
####
#!/usr/bin/perl -w
open(IN, "input.txt") || die "Can't open output1.txt: $!";
open(FILE, ">output.txt") || die "couldn't create the file\n";
while () {
$lines = $_;
($n,$p) = $lines =~ /^(\d+)\t(.+)\n/;
push(@num, $n);
push(@data, $p);
}
close(IN);
$nlit = scalar(@num);
for($c=0;$c<=$nlit;$c++) {
$first = $num[$c];
$second = $num[$c+1];
$diff= $second-$first;
if ($diff <= 1)
{
push(@B, $data[$c]);
push(@N, $num[$c]);
}
elsif ($diff > 1)
{
if (scalar(@B) >=2)
{
$si = scalar(@B);
@firstty = split /\t/, $B[0];
@lastty = split /\t/, $B[$#B];
print FILE "$firstty[0]\t$lastty[0]\t$si\n";
}
undef @B;
undef @N;
}
}
close (IN);