Mercurial > repos > bioitcore > splicetrap
diff bin/scan_nomt.pl @ 1:adc0f7765d85 draft
planemo upload
author | bioitcore |
---|---|
date | Thu, 07 Sep 2017 15:06:58 -0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bin/scan_nomt.pl Thu Sep 07 15:06:58 2017 -0400 @@ -0,0 +1,98 @@ +use strict; +use FileHandle; + + +my $File1Name=$ARGV[0]; +my $File2Name=$ARGV[1]; + +my %FileHandle1; +my %FileHandle2; +my %chrlist; + +open(File1,$File1Name); +open(File2,$File2Name); + +while(my $line1=<File1>) +{ + my $line2=<File2>; + chomp($line1); + chomp($line2); + my $read1status=substr($line1,length($line1)-2,2); + my $read2status=substr($line2,length($line2)-2,2); + #next if( ($read1status eq "NM" or $read1status eq "MT") and ($read2status eq "NM" or $read2status eq "MT"); + my @array1=split("\t",$line1); + my @array2=split("\t",$line2); + my $chr1=""; + my $chr2=""; + if(scalar(@array1) eq 4) + { + if($array1[3]=~/(chr\S*?)\|/) + {$chr1=$1;} + } + if(scalar(@array2) eq 4) + { + if($array2[3]=~/(chr\S*?)\|/) + {$chr2=$1;} + } + my $chr=$chr1; + if ($chr eq "") + { + next if($chr2 eq ""); + $chr=$chr2; + } + else + { + next if($chr2 ne "" and $chr2 ne $chr); + + } + next if $chr eq ""; + if(exists $chrlist{$chr}) + { + my $fout1= $FileHandle1{$chr}; + my $fout2= $FileHandle2{$chr}; + if($read1status eq "MT") + { + print $fout1 $array1[0],"\t",$array1[1],"\tMT\n"; + } + else + { + print $fout1 $line1,"\n"; + } + if($read2status eq "MT") + { + print $fout2 $array2[0],"\t",$array2[1],"\tMT\n"; + } + else + { + print $fout2 $line2,"\n"; + } + + + + } + else + { + $chrlist{$chr}=1; + my $fout1= new FileHandle; + open($fout1, ">".$File1Name.".".$chr); + $FileHandle1{$chr}=$fout1; + + my $fout2= new FileHandle; + open($fout2, ">".$File2Name.".".$chr); + $FileHandle2{$chr}=$fout2; + + } + +} + +foreach my $fout1 (keys %FileHandle1) +{ + close($fout1); +} +foreach my $fout2 (keys %FileHandle2) +{ + close($fout2); +} + +close(File1); +close(File2);