diff snpSift_annotate.xml @ 24:f22f28cd881e

Update for snpEff v3.2
author Jim Johnson <jj@umn.edu>
date Tue, 07 May 2013 14:58:15 -0500
parents 50c1a8ff6c82
children
line wrap: on
line diff
--- a/snpSift_annotate.xml	Thu Jan 17 14:25:58 2013 -0600
+++ b/snpSift_annotate.xml	Tue May 07 14:58:15 2013 -0500
@@ -1,16 +1,37 @@
-<tool id="snpSift_annotate" name="SnpSift Annotate" version="3.1">
+<tool id="snpSift_annotate" name="SnpSift Annotate" version="3.2">
 	<description>Annotate SNPs from dbSnp</description>
 	<!-- 
 	    You will need to change the path to wherever your installation is.
 		You can change the amount of memory used, just change the -Xmx parameter (e.g. use -Xmx2G for 2Gb of memory)
 	-->
 	<requirements>
-                <requirement type="package" version="3.1">snpEff</requirement>
+                <requirement type="package" version="3.2">snpEff</requirement>
 	</requirements>
-	<command>java -Xmx6G -jar \$JAVA_JAR_PATH/SnpSift.jar annotate -q $dbSnp $input > $output </command>
+	<command>
+        java -Xmx6G -jar \$JAVA_JAR_PATH/SnpSift.jar $annotate_cmd 
+        #if $annotate.id :
+          -id
+        #elif $annotate.info_ids.__str__.strip() != '' :
+          -info "$annotate.info_ids"
+        #end if          
+        -q $dbSnp $input > $output 
+        </command>
 	<inputs>
 		<param format="vcf" name="input" type="data" label="VCF input"/>
-		<param format="vcf" name="dbSnp" type="data" label="VCF File with ID field annotated (e.g. dnSNP.vcf)" help="The ID field for a variant in input will be assigned from a matching variant in this file."/>
+		<param format="vcf" name="dbSnp" type="data" label="VCF File with ID field annotated (e.g. dnSNP.vcf)" 
+                       help="The ID field for a variant in input will be assigned from a matching variant in this file."/>
+		<param name="annotate_cmd" type="boolean" truevalue="annMem" falsevalue="annotate" checked="false" label="Annotate in Memory" 
+                       help="allows unsorted VCF files, but it loads the entire 'database' VCF file into memory (which may not be practical for large 'database' VCF files)"/>
+                <conditional name="annotate">
+			<param name="id" type="boolean" truevalue="id" falsevalue="info" checked="True" label="Only annotate ID field (do not add INFO field)" help=""/>
+			<when value="id"/>
+			<when value="info">
+				<param name="info_ids" type="text" value="" optional="true" label="Limit INFO annotation to these INFO IDs"
+                                       help="list is a comma separated list of fields. When blank, all INFO fields are included">	
+					<validator type="regex" message="IDs separted by commas">^(([a-zA-Z][a-zA-Z0-9_-]*)(,[a-zA-Z][a-zA-Z0-9_-]*)*)?$</validator>
+				</param>
+			</when>
+                </conditional>
 	</inputs>
         <stdio>
           <exit_code range=":-1"  level="fatal"   description="Error: Cannot open file" />
@@ -20,7 +41,19 @@
 	<outputs>
 		<data format="vcf" name="output" />
 	</outputs>
-
+	<tests>
+	    <test>
+                <param name="input" ftype="vcf" value="annotate_1.vcf"/>
+                <param name="dbSnp" ftype="vcf" value="db_test_1.vcf"/>
+                <param name="annotate_cmd" value="False"/>
+                <param name="id" value="True"/>
+                <output name="output">
+                    <assert_contents>
+                        <has_text text="rs76166080" />
+                    </assert_contents>
+                </output>
+	    </test>
+	</tests>
 	<help>
 
 This is typically used to annotate IDs from dbSnp.