comparison cgatools/tools/cgatools_1.5/varfilter_wrapper.pl @ 0:182426b32995 draft default tip

Uploaded
author completegenomics
date Mon, 18 Jun 2012 20:15:00 -0400
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:182426b32995
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}'`;