annotate peakfilter.pl @ 0:d42f4d78c85e draft

Uploaded
author messersc
date Wed, 17 Dec 2014 10:40:23 -0500
parents
children 243f75d0ed6e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
1 #!/usr/bin/perl
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
2 ########################################
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
3 #### Filters peaks by p-value and width
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
4 #### Perl script
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
5 #######################################
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
6
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
7
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
8 use feature qw(say);
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
9
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
10
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
11 # ==================
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
12 # Parsing Arguments
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
13 # ==================
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
14 #initialize to NULL
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
15 my $bed_file = NULL; #bed file
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
16
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
17 #Parse the arguments
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
18 $bed_file = $ARGV[0]; #bed file
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
19 #=======================> DONE!
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
20
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
21
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
22
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
23
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
24 # ========================================
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
25 # Parse the bed file and extend the reads
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
26 # ========================================
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
27 #open the file
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
28 open(DATA, $bed_file) || die("Can't open the bed file, probably you gave me the wrong path!");
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
29
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
30 while (<DATA>) {
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
31 my ($chr, $start, $end, $name, $score, $strand, $signal, $pvalue, $qvalue, $summit, $minpeak, $geom) = split(/\t/,$_,12);
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
32
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
33 my $size = $end - $start;
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
34
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
35 if($size >= $minpeak) {
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
36 if($signal > $geom) {
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
37 #Now write the new line
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
38 $summit =~ s/\015?\012?$//;
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
39 say join "\t", $chr, $start, $end, $name, $score, $strand, $signal, $pvalue, $qvalue, $summit;
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
40 }
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
41 }
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
42 }
d42f4d78c85e Uploaded
messersc
parents:
diff changeset
43 #=======================> DONE!