Mercurial > repos > portiahollyoak > temp
comparison scripts/pickSoftClipping.over.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 |
|---|---|
| 36 my $upper=$a[4]+100; | 36 my $upper=$a[4]+100; |
| 37 my $chr_num=$a[2]; | 37 my $chr_num=$a[2]; |
| 38 $chr_num =~ s/chr//; | 38 $chr_num =~ s/chr//; |
| 39 if (($chrs{$a[2]} == 1) && (! defined $chrs{$chr_num})) {$chr_num=$a[2];} | 39 if (($chrs{$a[2]} == 1) && (! defined $chrs{$chr_num})) {$chr_num=$a[2];} |
| 40 system("samtools view -bu $title $chr_num\:$lower\-$upper > temp.bam"); | 40 system("samtools view -bu $title $chr_num\:$lower\-$upper > temp.bam"); |
| 41 system("samtools view -Xf 0x2 temp.bam > temp.sam"); | 41 system("samtools view -f 0x2 temp.bam > temp.sam"); |
| 42 | 42 |
| 43 my $leftseq=""; | 43 my $leftseq=""; |
| 44 my $rightseq=""; | 44 my $rightseq=""; |
| 45 | 45 |
| 46 my $ll=$a[3]-150; | 46 my $ll=$a[3]-150; |
| 77 while(<in>) | 77 while(<in>) |
| 78 { | 78 { |
| 79 chomp; | 79 chomp; |
| 80 my @f=split/\t/,$_,12; | 80 my @f=split/\t/,$_,12; |
| 81 ## read number 1 or 2 | 81 ## read number 1 or 2 |
| 82 my ($rnum)=$f[1]=~/(\d)$/; | 82 #my ($rnum)=$f[1]=~/(\d)$/; |
| 83 my $rnum=1; | |
| 84 if (($f[1] & 128) == 128) {$rnum=2;} | |
| 83 | 85 |
| 84 ## XT:A:* | 86 ## XT:A:* |
| 85 my ($xt)=$f[11]=~/XT:A:(.)/; | 87 my ($xt)=$f[11]=~/XT:A:(.)/; |
| 86 | 88 |
| 87 my $CIGAR=$f[5]; | 89 my $CIGAR=$f[5]; |
| 92 my $coor=-10; | 94 my $coor=-10; |
| 93 my $overcoor=-10; | 95 my $overcoor=-10; |
| 94 my $strand=""; | 96 my $strand=""; |
| 95 my @z=split(/M/, $f[5]); | 97 my @z=split(/M/, $f[5]); |
| 96 | 98 |
| 97 if (($f[5]=~/S$/)&&($f[1]=~/r/)) | 99 if (($f[5]=~/S$/)&&(($f[1] & 16) == 16)) |
| 98 { | 100 { |
| 99 my (@cigar_m)=$f[5]=~/(\d+)M/g; | 101 my (@cigar_m)=$f[5]=~/(\d+)M/g; |
| 100 my (@cigar_d)=$f[5]=~/(\d+)D/g; | 102 my (@cigar_d)=$f[5]=~/(\d+)D/g; |
| 101 my (@cigar_s)=$f[5]=~/(\d+)S/g; | 103 my (@cigar_s)=$f[5]=~/(\d+)S/g; |
| 102 my (@cigar_i)=$f[5]=~/(\d+)I/g; | 104 my (@cigar_i)=$f[5]=~/(\d+)I/g; |
| 114 # print "$clipseq\t$rightseq\t$overcoor\t"; | 116 # print "$clipseq\t$rightseq\t$overcoor\t"; |
| 115 if ($overcoor > -1) {$overcoor += ($a[4] - 149);} | 117 if ($overcoor > -1) {$overcoor += ($a[4] - 149);} |
| 116 } | 118 } |
| 117 # print "\n"; | 119 # print "\n"; |
| 118 } | 120 } |
| 119 elsif (($f[1]=~/R/)&&($z[0]=~/S/)) { | 121 elsif ((($f[1] & 32) == 32)&&($z[0]=~/S/)) { |
| 120 $coor=$f[3]; $strand="+"; | 122 $coor=$f[3]; $strand="+"; |
| 121 my (@clipped)=$z[0]=~/(\d+)S/g; | 123 my (@clipped)=$z[0]=~/(\d+)S/g; |
| 122 my $cliplen=sum(@clipped); | 124 my $cliplen=sum(@clipped); |
| 123 # print "$f[0]\n"; | 125 # print "$f[0]\n"; |
| 124 # print "$cliplen\t"; | 126 # print "$cliplen\t"; |
