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