Mercurial > repos > portiahollyoak > temp
comparison scripts/filterFalsePositive.in.pl @ 0:28d1a6f8143f draft
planemo upload for repository https://github.com/portiahollyoak/Tools commit 132bb96bba8e7aed66a102ed93b7744f36d10d37-dirty
author | portiahollyoak |
---|---|
date | Mon, 25 Apr 2016 13:08:56 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:28d1a6f8143f |
---|---|
1 #!/share/bin/perl | |
2 use List::Util qw(max min); | |
3 #system("windowBed -a $ARGV[0] -b /home/wangj2/flycommon/all_transposons.dml.rmskCrossmatch.bed -sw -r 1000 -l 0 > tmp"); | |
4 #system("windowBed -a $ARGV[0] -b /home/wangj2/flycommon/soo.trnalnpos.map2.sort.bed -sw -r 1000 -l 0 > tmp"); | |
5 system("bedtools window -a $ARGV[0] -b $ARGV[1] -sw -r 1000 -l 0 > tmp"); | |
6 | |
7 open in,"tmp"; | |
8 my %read; | |
9 while(<in>) | |
10 { | |
11 chomp; | |
12 split/\t/; | |
13 | |
14 ## if the same tpye of transposons | |
15 my @loc=map { [/(.*?),(\+|-)(.*)/] } split/;/,$_[4]; | |
16 foreach my $l (@loc) | |
17 { | |
18 if($$l[0] eq $_[9]) | |
19 { | |
20 ## if the same strand of transposons | |
21 if((($_[5] eq $$l[1]) && ($_[11] eq "-")) || (($_[5] ne $$l[1]) && ($_[11] eq "+"))) | |
22 { | |
23 ## if the fragments of the exists transposons | |
24 { | |
25 my $s=max($$l[2],$_[12]); | |
26 my $e=min(($$l[2]+$_[2]-$_[1]),$_[13]); | |
27 if($s<$e) | |
28 { | |
29 print join("\t",@_[0..5]),"\n" if not exists $read{$_[3]}; | |
30 $read{$_[3]}=1; | |
31 } | |
32 } | |
33 } | |
34 } | |
35 } | |
36 } | |
37 close in; | |
38 | |
39 system("rm tmp"); |