annotate bin/scan_nomt.pl @ 1:adc0f7765d85 draft

planemo upload
author bioitcore
date Thu, 07 Sep 2017 15:06:58 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
1 use strict;
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
2 use FileHandle;
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
3
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
4
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
5 my $File1Name=$ARGV[0];
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
6 my $File2Name=$ARGV[1];
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
7
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
8 my %FileHandle1;
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
9 my %FileHandle2;
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
10 my %chrlist;
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
11
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
12 open(File1,$File1Name);
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
13 open(File2,$File2Name);
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
14
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
15 while(my $line1=<File1>)
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
16 {
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
17 my $line2=<File2>;
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
18 chomp($line1);
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
19 chomp($line2);
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
20 my $read1status=substr($line1,length($line1)-2,2);
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
21 my $read2status=substr($line2,length($line2)-2,2);
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
22 #next if( ($read1status eq "NM" or $read1status eq "MT") and ($read2status eq "NM" or $read2status eq "MT");
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
23 my @array1=split("\t",$line1);
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
24 my @array2=split("\t",$line2);
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
25 my $chr1="";
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
26 my $chr2="";
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
27 if(scalar(@array1) eq 4)
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
28 {
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
29 if($array1[3]=~/(chr\S*?)\|/)
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
30 {$chr1=$1;}
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
31 }
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
32 if(scalar(@array2) eq 4)
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
33 {
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
34 if($array2[3]=~/(chr\S*?)\|/)
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
35 {$chr2=$1;}
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
36 }
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
37 my $chr=$chr1;
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
38 if ($chr eq "")
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
39 {
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
40 next if($chr2 eq "");
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
41 $chr=$chr2;
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
42 }
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
43 else
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
44 {
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
45 next if($chr2 ne "" and $chr2 ne $chr);
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
46
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
47 }
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
48 next if $chr eq "";
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
49 if(exists $chrlist{$chr})
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
50 {
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
51 my $fout1= $FileHandle1{$chr};
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
52 my $fout2= $FileHandle2{$chr};
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
53 if($read1status eq "MT")
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
54 {
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
55 print $fout1 $array1[0],"\t",$array1[1],"\tMT\n";
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
56 }
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
57 else
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
58 {
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
59 print $fout1 $line1,"\n";
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
60 }
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
61 if($read2status eq "MT")
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
62 {
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
63 print $fout2 $array2[0],"\t",$array2[1],"\tMT\n";
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
64 }
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
65 else
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
66 {
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
67 print $fout2 $line2,"\n";
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
68 }
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
69
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
70
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
71
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
72 }
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
73 else
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
74 {
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
75 $chrlist{$chr}=1;
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
76 my $fout1= new FileHandle;
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
77 open($fout1, ">".$File1Name.".".$chr);
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
78 $FileHandle1{$chr}=$fout1;
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
79
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
80 my $fout2= new FileHandle;
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
81 open($fout2, ">".$File2Name.".".$chr);
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
82 $FileHandle2{$chr}=$fout2;
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
83
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
84 }
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
85
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
86 }
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
87
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
88 foreach my $fout1 (keys %FileHandle1)
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
89 {
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
90 close($fout1);
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
91 }
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
92 foreach my $fout2 (keys %FileHandle2)
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
93 {
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
94 close($fout2);
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
95 }
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
96
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
97 close(File1);
adc0f7765d85 planemo upload
bioitcore
parents:
diff changeset
98 close(File2);