annotate peakfilter.pl @ 1:243f75d0ed6e draft default tip

Uploaded. Includes new release 1.0.7 with fixed optional controls.
author messersc
date Thu, 19 Feb 2015 05:39:45 -0500
parents d42f4d78c85e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
243f75d0ed6e Uploaded.
messersc
parents: 0
diff changeset
1 ########################################################################
243f75d0ed6e Uploaded.
messersc
parents: 0
diff changeset
2 # JAMMv1.0.7rev1 is a peak finder for joint analysis of NGS replicates.
243f75d0ed6e Uploaded.
messersc
parents: 0
diff changeset
3 # Copyright (C) 2014-2015 Mahmoud Ibrahim
243f75d0ed6e Uploaded.
messersc
parents: 0
diff changeset
4 #
243f75d0ed6e Uploaded.
messersc
parents: 0
diff changeset
5 # This program is free software: you can redistribute it and/or modify
243f75d0ed6e Uploaded.
messersc
parents: 0
diff changeset
6 # it under the terms of the GNU General Public License as published by
243f75d0ed6e Uploaded.
messersc
parents: 0
diff changeset
7 # the Free Software Foundation, either version 3 of the License, or
243f75d0ed6e Uploaded.
messersc
parents: 0
diff changeset
8 # (at your option) any later version.
243f75d0ed6e Uploaded.
messersc
parents: 0
diff changeset
9 #
243f75d0ed6e Uploaded.
messersc
parents: 0
diff changeset
10 # This program is distributed in the hope that it will be useful,
243f75d0ed6e Uploaded.
messersc
parents: 0
diff changeset
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
243f75d0ed6e Uploaded.
messersc
parents: 0
diff changeset
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
243f75d0ed6e Uploaded.
messersc
parents: 0
diff changeset
13 # GNU General Public License for more details.
243f75d0ed6e Uploaded.
messersc
parents: 0
diff changeset
14 #
243f75d0ed6e Uploaded.
messersc
parents: 0
diff changeset
15 # You should have received a copy of the GNU General Public License
243f75d0ed6e Uploaded.
messersc
parents: 0
diff changeset
16 # along with this program. If not, see <http://www.gnu.org/licenses/>.
243f75d0ed6e Uploaded.
messersc
parents: 0
diff changeset
17 #
243f75d0ed6e Uploaded.
messersc
parents: 0
diff changeset
18 # Contact: mahmoud.ibrahim@mdc-berlin.de
243f75d0ed6e Uploaded.
messersc
parents: 0
diff changeset
19 ########################################################################
0
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
20
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
21
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
22 use feature qw(say);
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
23
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
24
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
25 # ==================
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
26 # Parsing Arguments
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
27 # ==================
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
28 #initialize to NULL
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
29 my $bed_file = NULL; #bed file
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
30
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
31 #Parse the arguments
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
32 $bed_file = $ARGV[0]; #bed file
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
33 #=======================> DONE!
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
34
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
35
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
36
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
37
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
38 # ========================================
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
39 # Parse the bed file and extend the reads
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
40 # ========================================
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
41 #open the file
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
42 open(DATA, $bed_file) || die("Can't open the bed file, probably you gave me the wrong path!");
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
43
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
44 while (<DATA>) {
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
45 my ($chr, $start, $end, $name, $score, $strand, $signal, $pvalue, $qvalue, $summit, $minpeak, $geom) = split(/\t/,$_,12);
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
46
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
47 my $size = $end - $start;
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
48
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
49 if($size >= $minpeak) {
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
50 if($signal > $geom) {
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
51 #Now write the new line
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
52 $summit =~ s/\015?\012?$//;
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
53 say join "\t", $chr, $start, $end, $name, $score, $strand, $signal, $pvalue, $qvalue, $summit;
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
54 }
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
55 }
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
56 }
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
57 #=======================> DONE!