diff snpSift_filter.xml @ 5:8952990fcab9

Update to snpEff version 3.4 and add data managers to download snpEff genome reference databases
author Jim Johnson <jj@umn.edu>
date Wed, 27 Nov 2013 09:11:32 -0600
parents 6ad9205c1307
children 0ad9733e22a4
line wrap: on
line diff
--- a/snpSift_filter.xml	Mon Oct 07 10:59:44 2013 -0500
+++ b/snpSift_filter.xml	Wed Nov 27 09:11:32 2013 -0600
@@ -1,98 +1,123 @@
-<tool id="snpSift_filter" name="SnpSift Filter" version="3.3">
-	<options sanitize="False" />
-	<description>Filter variants using arbitrary expressions</description>
-	<requirements>
-                <requirement type="package" version="3.3">snpEff</requirement>
-	</requirements>
-	<command>
-		java -Xmx6G -jar \$SNPEFF_JAR_PATH/SnpSift.jar filter -f $input -e $exprFile $inverse $pass 
-                #if $filterId and len($filterId.__str__.strip()) > 0:
-			--filterId = "$filterId"
-                #end if
-                #if $addFilter and len($addFilter.__str__.strip()) > 0:
-			--addFilter = "$addFilter"
-                #end if
-                #if $rmFilter and len($rmFilter.__str__.strip()) > 0:
-			--rmFilter = "$rmFilter"
+<tool id="snpSift_filter" name="SnpSift Filter" version="3.4">
+    <options sanitize="False" />
+    <description>Filter variants using arbitrary expressions</description>
+    <requirements>
+        <requirement type="package" version="3.4">snpEff</requirement>
+    </requirements>
+    <command>
+        java -Xmx6G -jar \$SNPEFF_JAR_PATH/SnpSift.jar filter -f $input -e $exprFile $inverse 
+        #if $filtering.mode == 'field':
+            #if $filtering.replace.pass:
+                --pass
+                #if $filtering.replace.filterId and len($filtering.replace.filterId.__str__.strip()) > 0:
+                    --filterId "$filtering.replace.filterId"
                 #end if
- 		> $output
-	</command>
-	<inputs>
-		<param format="vcf" name="input" type="data" label="VCF input"/>
-		<param name="expr" type="text" label="Expression" size="120"/>
-		<param name="inverse" type="boolean" truevalue="--inverse" falsevalue="" checked="false" label="Inverse. Show lines that do not match filter expression"/>
-		<param name="pass" type="boolean" truevalue="--pass" falsevalue="" checked="false" label="Use 'PASS' field instead of filtering out VCF entries"/>
-		<param name="filterId" type="text" value="" optional="true" label="ID for this filter (##FILTER tag in header and FILTER VCF field)." size="10"/>
-		<param name="addFilter" type="text" value="" optional="true" label="Add a string to FILTER VCF field if 'expression' is true." size="10"/>
-		<param name="rmFilter" type="text" value="" optional="true" label="Remove a string from FILTER VCF field if 'expression' is true (and 'str' is in the field)." size="10"/>
-	</inputs>
-	<configfiles>
-		<configfile name="exprFile">
-		$expr
-		</configfile> 
-	</configfiles>
-
-	<outputs>
-		<data format="vcf" name="output" />
-	</outputs>
-        <stdio>
-          <exit_code range=":-1"  level="fatal"   description="Error: Cannot open file" />
-          <exit_code range="1:"  level="fatal"   description="Error" />
-        </stdio>
-
-        <tests>
+            #end if
+            #if $filtering.addFilter and len($filtering.addFilter.__str__.strip()) > 0:
+                --addFilter "$filtering.addFilter"
+            #end if
+            #if $filtering.rmFilter and len($filtering.rmFilter.__str__.strip()) > 0:
+                --rmFilter "$filtering.rmFilter"
+            #end if
+        #end if
+         > $output
+    </command>
+    <inputs>
+        <param format="vcf" name="input" type="data" label="VCF input"/>
+        <param name="expr" type="text" label="Expression" size="160"/>
+        <param name="inverse" type="boolean" truevalue="--inverse" falsevalue="" checked="false" label="Inverse. Show lines that do not match filter expression"/>
+        <conditional name="filtering">
+            <param name="mode" type="select" labael="Filter mode">
+                <option value="entries" selected="true">Retain entries that pass filter, remove other entries</option>
+                <option value="field">Change the FILTER field, but retain all entries</option>
+            </param> 
+            <when value="entries"/>
+            <when value="field">
+                <conditional name="replace">
+                    <param name="pass" type="boolean" truevalue="yes" falsevalue="no" checked="false" label="Set matching entry FILTER to 'PASS'" 
+                           help="appends an ID tag to non-matching entry FILTER "/>
+                    <when value="no"/>
+                    <when value="yes">
+                        <param name="filterId" type="text" value="" optional="true" label="ID appended to non-matching (##FILTER tag in header and FILTER VCF field)." size="10"
+                               help="Default ID is 'SnpSift'"/>
+                    </when>
+                </conditional>
+                <param name="addFilter" type="text" value="" optional="true" label="Add a string to FILTER VCF field if 'expression' is true." size="10"/>
+                <param name="rmFilter" type="text" value="" optional="true" label="Remove a string from FILTER VCF field if 'expression' is true (and 'str' is in the field)." size="10"/>
+            </when>
+        </conditional>
+    </inputs>
+    <configfiles>
+        <configfile name="exprFile">
+        $expr
+        </configfile> 
+    </configfiles>
 
-            <test>
-                <param name="input" ftype="vcf" value="test01.vcf"/>
-                <param name="expr" value="QUAL >= 50"/>
-                <output name="output">
-                    <assert_contents>
-                        <has_text text="28837706" />
-                        <not_has_text text="NT_166464" />
-                    </assert_contents>
-                </output>
-            </test>
+    <outputs>
+        <data format="vcf" name="output" />
+    </outputs>
+    <stdio>
+      <exit_code range=":-1"  level="fatal"   description="Error: Cannot open file" />
+      <exit_code range="1:"  level="fatal"   description="Error" />
+    </stdio>
+
+    <tests>
 
-            <test>
-                <param name="input" ftype="vcf" value="test01.vcf"/>
-                <param name="expr" value="(CHROM = '19')"/>
-                <output name="output">
-                    <assert_contents>
-                        <has_text text="3205820" />
-                        <not_has_text text="NT_16" />
-                    </assert_contents>
-                </output>
-            </test>
+        <test>
+        <param name="input" ftype="vcf" value="test01.vcf"/>
+        <param name="expr" value="QUAL >= 50"/>
+        <param name="mode" value="entries"/>
+        <output name="output">
+            <assert_contents>
+            <has_text text="28837706" />
+            <not_has_text text="NT_166464" />
+            </assert_contents>
+        </output>
+        </test>
 
-            <test>
-                <param name="input" ftype="vcf" value="test01.vcf"/>
-                <param name="expr" value="(POS >= 20175) &amp; (POS &lt;= 35549)"/>
-                <output name="output">
-                    <assert_contents>
-                        <has_text text="20175" />
-                        <has_text text="35549" />
-                        <has_text text="22256" />
-                        <not_has_text text="18933" />
-                        <not_has_text text="37567" />
-                    </assert_contents>
-                </output>
-            </test>
+        <test>
+        <param name="input" ftype="vcf" value="test01.vcf"/>
+        <param name="expr" value="(CHROM = '19')"/>
+        <param name="mode" value="entries"/>
+        <output name="output">
+            <assert_contents>
+            <has_text text="3205820" />
+            <not_has_text text="NT_16" />
+            </assert_contents>
+        </output>
+        </test>
 
-            <test>
-                <param name="input" ftype="vcf" value="test01.vcf"/>
-                <param name="expr" value="( DP >= 5 )"/>
-                <output name="output">
-                    <assert_contents>
-                        <has_text text="DP=5;" />
-                        <has_text text="DP=6;" />
-                        <not_has_text text="DP=1;" />
-                    </assert_contents>
-                </output>
-            </test>
+        <test>
+        <param name="input" ftype="vcf" value="test01.vcf"/>
+        <param name="expr" value="(POS >= 20175) &amp; (POS &lt;= 35549)"/>
+        <param name="mode" value="entries"/>
+        <output name="output">
+            <assert_contents>
+            <has_text text="20175" />
+            <has_text text="35549" />
+            <has_text text="22256" />
+            <not_has_text text="18933" />
+            <not_has_text text="37567" />
+            </assert_contents>
+        </output>
+        </test>
 
-        </tests>
+        <test>
+        <param name="input" ftype="vcf" value="test01.vcf"/>
+        <param name="expr" value="( DP >= 5 )"/>
+        <param name="mode" value="entries"/>
+        <output name="output">
+            <assert_contents>
+            <has_text text="DP=5;" />
+            <has_text text="DP=6;" />
+            <not_has_text text="DP=1;" />
+            </assert_contents>
+        </output>
+        </test>
 
-	<help>
+    </tests>
+
+    <help>
 
 **SnpSift filter**
 
@@ -123,5 +148,12 @@
 
 For complete details about this tool and epressions that can be used, please go to http://snpeff.sourceforge.net/SnpSift.html#filter
 
-	</help>
+SnpEff citation:
+"A program for annotating and predicting the effects of single nucleotide polymorphisms, SnpEff: SNPs in the genome of Drosophila melanogaster strain w1118; iso-2; iso-3.", Cingolani P, Platts A, Wang le L, Coon M, Nguyen T, Wang L, Land SJ, Lu X, Ruden DM. Fly (Austin). 2012 Apr-Jun;6(2):80-92. PMID: 22728672 [PubMed - in process]
+
+SnpSift citation:
+"Using Drosophila melanogaster as a model for genotoxic chemical mutational studies with a new program, SnpSift", Cingolani, P., et. al., Frontiers in Genetics, 3, 2012.
+
+
+    </help>
 </tool>