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);