0
|
1 #!/usr/bin/perl
|
|
2 use strict;
|
|
3 use Getopt::Long;
|
|
4 use vars qw($opt_reference $opt_input $opt_output @opt_zygosity @opt_vartype @opt_varscorevaf @opt_varscoreeaf @opt_varquality);
|
|
5 $| = 1; # set autoflush to screen
|
|
6
|
|
7 # This is a wrapper for the cgatools varfilter function to run cgatools varfilter in Galaxy.
|
|
8 # The wrapper generates the filter(s) in the correct format to be used with the input file.
|
|
9 # written 6-1-2012 by bcrain@completegenomics.com
|
|
10
|
|
11
|
|
12 #print join("\n", @ARGV), "\n";
|
|
13 &GetOptions("reference=s", "input=s", "output=s", "zygosity=s@", "vartype=s@", "varscorevaf=s@", "varscoreeaf=s@", "varquality=s@");
|
|
14
|
|
15 my $append = '';
|
|
16
|
|
17 for (my $i = 0; $i <= $#opt_zygosity; $i ++)
|
|
18 {
|
|
19 my $filter = '';
|
|
20 unless ($opt_zygosity[$i] eq 'NA') {$filter = $opt_zygosity[$i];}
|
|
21 unless ($opt_vartype[$i] eq 'NA')
|
|
22 {
|
|
23 $filter ne '' and $filter .= ':';
|
|
24 $filter .= 'varType=' . $opt_vartype[$i];
|
|
25 }
|
|
26 unless ($opt_varscorevaf[$i] eq 'x')
|
|
27 {
|
|
28 $filter ne '' and $filter .= ':';
|
|
29 $opt_varscorevaf[$i] =~ s/^x//;
|
|
30 $filter .= 'varScoreVAF<' . $opt_varscorevaf[$i];
|
|
31 }
|
|
32 unless ($opt_varscoreeaf[$i] eq 'x')
|
|
33 {
|
|
34 $filter ne '' and $filter .= ':';
|
|
35 $opt_varscoreeaf[$i] =~ s/^x//;
|
|
36 $filter .= 'varScoreEAF<' . $opt_varscoreeaf[$i];
|
|
37 }
|
|
38 unless ($opt_varquality[$i] eq 'NA')
|
|
39 {
|
|
40 $filter ne '' and $filter .= ':';
|
|
41 $filter .= 'varQuality!=' . $opt_varquality[$i];
|
|
42 }
|
|
43
|
|
44 if ($filter ne '')
|
|
45 {
|
|
46 if ($append eq '') {$append = '#' . $filter;}
|
|
47 else {$append .= ',' . $filter;}
|
|
48 }
|
|
49 }
|
|
50 print "cgatools varfilter
|
|
51 --beta
|
|
52 --reference $opt_reference
|
|
53 --output $opt_output
|
|
54 --input '${opt_input}${append}'\n";
|
|
55
|
|
56 `cgatools varfilter --beta --reference $opt_reference --output $opt_output --input '${opt_input}${append}'`; |