Mercurial > repos > portiahollyoak > temp
annotate scripts/pickUniqPos.pl.orig @ 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 | |
children |
rev | line source |
---|---|
21
9672fe07a232
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
mvdbeek
parents:
diff
changeset
|
1 #!/share/bin/perl |
9672fe07a232
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
mvdbeek
parents:
diff
changeset
|
2 use Bio::Seq; |
9672fe07a232
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
mvdbeek
parents:
diff
changeset
|
3 use List::Util qw(sum); |
9672fe07a232
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
mvdbeek
parents:
diff
changeset
|
4 |
9672fe07a232
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
mvdbeek
parents:
diff
changeset
|
5 die "perl $0 <sam>\n" if @ARGV<1; |
9672fe07a232
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
mvdbeek
parents:
diff
changeset
|
6 open in,$ARGV[0]; |
9672fe07a232
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
mvdbeek
parents:
diff
changeset
|
7 my %pe; |
9672fe07a232
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
mvdbeek
parents:
diff
changeset
|
8 while(<in>) |
9672fe07a232
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
mvdbeek
parents:
diff
changeset
|
9 { |
9672fe07a232
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
mvdbeek
parents:
diff
changeset
|
10 chomp; |
9672fe07a232
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
mvdbeek
parents:
diff
changeset
|
11 my @f=split/\t/,$_,12; |
9672fe07a232
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
mvdbeek
parents:
diff
changeset
|
12 ## read number 1 or 2 |
9672fe07a232
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
mvdbeek
parents:
diff
changeset
|
13 my ($rnum)=$f[1]=~/(\d)$/; |
9672fe07a232
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
mvdbeek
parents:
diff
changeset
|
14 |
9672fe07a232
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
mvdbeek
parents:
diff
changeset
|
15 ## XT:A:* |
9672fe07a232
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
mvdbeek
parents:
diff
changeset
|
16 my ($xt)=$f[11]=~/XT:A:(.)/; |
9672fe07a232
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
mvdbeek
parents:
diff
changeset
|
17 |
9672fe07a232
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
mvdbeek
parents:
diff
changeset
|
18 my $strand="+"; |
9672fe07a232
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
mvdbeek
parents:
diff
changeset
|
19 ## revcomp |
9672fe07a232
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
mvdbeek
parents:
diff
changeset
|
20 if($f[1]=~/r/) |
9672fe07a232
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
mvdbeek
parents:
diff
changeset
|
21 { |
9672fe07a232
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
mvdbeek
parents:
diff
changeset
|
22 my $seq=Bio::Seq->new(-seq=>$f[9], -alphabet => 'dna'); |
9672fe07a232
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
mvdbeek
parents:
diff
changeset
|
23 $f[9]=$seq->revcom->seq; |
9672fe07a232
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
mvdbeek
parents:
diff
changeset
|
24 $strand="-"; |
9672fe07a232
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
mvdbeek
parents:
diff
changeset
|
25 } |
9672fe07a232
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
mvdbeek
parents:
diff
changeset
|
26 |
9672fe07a232
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
mvdbeek
parents:
diff
changeset
|
27 ## parse CIGAR |
9672fe07a232
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
mvdbeek
parents:
diff
changeset
|
28 if($xt eq "U") |
9672fe07a232
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
mvdbeek
parents:
diff
changeset
|
29 { |
9672fe07a232
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
mvdbeek
parents:
diff
changeset
|
30 # CIGAR |
9672fe07a232
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
mvdbeek
parents:
diff
changeset
|
31 my (@cigar_m)=$f[5]=~/(\d+)M/g; |
9672fe07a232
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
mvdbeek
parents:
diff
changeset
|
32 my (@cigar_d)=$f[5]=~/(\d+)D/g; |
9672fe07a232
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
mvdbeek
parents:
diff
changeset
|
33 my (@cigar_s)=$f[5]=~/(\d+)S/g; |
9672fe07a232
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
mvdbeek
parents:
diff
changeset
|
34 my (@cigar_i)=$f[5]=~/(\d+)I/g; |
9672fe07a232
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
mvdbeek
parents:
diff
changeset
|
35 my $aln_ln=sum(@cigar_m,@cigar_d); |
9672fe07a232
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
mvdbeek
parents:
diff
changeset
|
36 |
9672fe07a232
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
mvdbeek
parents:
diff
changeset
|
37 print $f[2],"\t",$f[3]-1,"\t",$f[3]-1+$aln_ln,"\t$f[0]/$rnum\t",$f[9],"\t",$strand,"\n"; |
9672fe07a232
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
mvdbeek
parents:
diff
changeset
|
38 } |
9672fe07a232
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
mvdbeek
parents:
diff
changeset
|
39 } |
9672fe07a232
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
mvdbeek
parents:
diff
changeset
|
40 close in; |
9672fe07a232
planemo upload for repository https://github.com/portiahollyoak/Tools commit 0fea84d05f8976b8360a8b4943ecb01b87e3ade0-dirty
mvdbeek
parents:
diff
changeset
|
41 |