Mercurial > repos > portiahollyoak > temp
comparison scripts/pickOverlapPair.ex.pl @ 21:9672fe07a232 draft default tip
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
author | mvdbeek |
---|---|
date | Mon, 05 Dec 2016 09:58:47 -0500 |
parents | 28d1a6f8143f |
children |
comparison
equal
deleted
inserted
replaced
20:6e02b9179a24 | 21:9672fe07a232 |
---|---|
54 my $rightlower=$right-500; | 54 my $rightlower=$right-500; |
55 my $rightupper=$right+500; | 55 my $rightupper=$right+500; |
56 my $chr_num=$a[0]; | 56 my $chr_num=$a[0]; |
57 $chr_num =~ s/chr//; | 57 $chr_num =~ s/chr//; |
58 if (($chrs{$a[0]} == 1) && (! defined $chrs{$chr_num})) {$chr_num=$a[0];} | 58 if (($chrs{$a[0]} == 1) && (! defined $chrs{$chr_num})) {$chr_num=$a[0];} |
59 system("samtools view -Xf 0x2 $title $chr_num\:$leftlower\-$leftupper $chr_num\:$rightlower\-$rightupper > temp.sam"); | 59 system("samtools view -f 0x2 $title $chr_num\:$leftlower\-$leftupper $chr_num\:$rightlower\-$rightupper > temp.sam"); |
60 | 60 |
61 open in,"temp.sam"; | 61 open in,"temp.sam"; |
62 my %ps=(); | 62 my %ps=(); |
63 my %me=(); | 63 my %me=(); |
64 my %uniqp=(); | 64 my %uniqp=(); |
68 while(<in>) | 68 while(<in>) |
69 { | 69 { |
70 chomp; | 70 chomp; |
71 my @f=split/\t/,$_,12; | 71 my @f=split/\t/,$_,12; |
72 ## read number 1 or 2 | 72 ## read number 1 or 2 |
73 my ($rnum)=$f[1]=~/(\d)$/; | 73 #my ($rnum)=$f[1]=~/(\d)$/; |
74 my $rnum=1; | |
75 if (($f[1] & 128) == 128) {$rnum=2;} | |
74 | 76 |
75 ## XT:A:* | 77 ## XT:A:* |
76 my ($xt)=$f[11]=~/XT:A:(.)/; | 78 my ($xt)=$f[11]=~/XT:A:(.)/; |
77 | 79 |
78 ## Coordinate | 80 ## Coordinate |
79 my $coor=$f[3]; | 81 my $coor=$f[3]; |
80 if ($f[1]=~/r/) | 82 if (($f[1] & 16) == 16) |
81 { | 83 { |
82 if ($xt eq "U") {$uniqm{$f[0]}=1;} | 84 if ($xt eq "U") {$uniqm{$f[0]}=1;} |
83 my (@cigar_m)=$f[5]=~/(\d+)M/g; | 85 my (@cigar_m)=$f[5]=~/(\d+)M/g; |
84 my (@cigar_d)=$f[5]=~/(\d+)D/g; | 86 my (@cigar_d)=$f[5]=~/(\d+)D/g; |
85 my (@cigar_s)=$f[5]=~/(\d+)S/g; | 87 my (@cigar_s)=$f[5]=~/(\d+)S/g; |
86 my (@cigar_i)=$f[5]=~/(\d+)I/g; | 88 my (@cigar_i)=$f[5]=~/(\d+)I/g; |
87 my $aln_ln=sum(@cigar_m,@cigar_d); | 89 my $aln_ln=sum(@cigar_m,@cigar_d); |
88 $me{$f[0]}=$f[3]+$aln_ln-1; | 90 $me{$f[0]}=$f[3]+$aln_ln-1; |
89 } | 91 } |
90 elsif ($f[1]=~/R/) { | 92 elsif (($f[1] & 32) == 32) { |
91 $ps{$f[0]}=$f[3]; | 93 $ps{$f[0]}=$f[3]; |
92 if ($xt eq "U") {$uniqp{$f[0]}=1;} | 94 if ($xt eq "U") {$uniqp{$f[0]}=1;} |
93 } | 95 } |
94 | 96 |
95 # ${$pe{$f[0]}}[$rnum-1]=[$xt,$coor]; | 97 # ${$pe{$f[0]}}[$rnum-1]=[$xt,$coor]; |