Mercurial > repos > bioitcore > splicetrap
view 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 source
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);