diff snpEff.xml @ 1:500832f27cbc draft

Uploaded
author iuc
date Thu, 22 Jan 2015 08:28:37 -0500
parents e8adfc4c0a6b
children e09ce114d240
line wrap: on
line diff
--- a/snpEff.xml	Wed Dec 11 08:53:32 2013 -0500
+++ b/snpEff.xml	Thu Jan 22 08:28:37 2015 -0500
@@ -1,13 +1,14 @@
-<tool id="snpEff" name="SnpEff" version="3.4">
+<tool id="snpEff" name="SnpEff" version="@WRAPPER_VERSION@.0">
     <description>Variant effect and annotation</description>
     <expand macro="requirements" />
     <macros>
         <import>snpEff_macros.xml</import>
     </macros>
     <command>
+<![CDATA[
         java -Xmx6G -jar \$SNPEFF_JAR_PATH/snpEff.jar eff 
         -c \$SNPEFF_JAR_PATH/snpEff.config 
-        -i $inputFormat -o $outputFormat -upDownStreamLen $udLength 
+        -i $inputFormat -o ${outputConditional.outputFormat} -upDownStreamLen $udLength
         #if $spliceSiteSize and $spliceSiteSize.__str__ != '':
           -spliceSiteSize $spliceSiteSize
         #end if
@@ -34,7 +35,7 @@
         #if $statsFile:
           -stats $statsFile 
         #end if
-        #if $offset.__str__ != '':
+        #if $offset.__str__ != 'default':
           ${offset} 
         #end if
         #if $chr.__str__.strip() != '':
@@ -66,7 +67,19 @@
           -download
           $snpDb.genome_version
         #end if
-        $input > $snpeff_output 
+        $input > $snpeff_output ;
+        #if $statsFile:
+            #import os
+            #set $genes_file = str($statsFile) + '.genes.txt'
+            #set $genes_file_name = os.path.split($genes_file)[-1]
+            mkdir $statsFile.files_path;
+            mv $genes_file #echo os.path.join($statsFile.files_path, $genes_file_name)#;
+        #end if
+        #if $outputConditional.outputFormat == 'gatk' and $outputConditional.gatk_v1
+          ## Replace real SnpEff version with 2.0.5 to prevent this GATK 1.x error: "The version of SnpEff used to generate the SnpEff input file (x.x) is not currently supported by the GATK. Supported versions are: [2.0.5]"
+          sed -i 's/^\#\#SnpEffVersion="\(\S*\s\)/\#\#SnpEffVersion="2.0.5 - real is \1/' $snpeff_output
+        #end if
+]]>
     </command>
     <inputs>
         <param format="vcf,tabular,pileup,bed" name="input" type="data" label="Sequence changes (SNPs, MNPs, InDels)"/>
@@ -78,12 +91,22 @@
             <option value="bed">BED (Deprecated)</option>
         </param>
 
-        <param name="outputFormat" type="select" label="Output format">
-            <option value="vcf" selected="true">VCF (only if input is VCF)</option>
-            <option value="txt">Tabular</option>
-            <option value="bed">BED</option>
-            <option value="bedAnn">BED Annotations</option>
-        </param>
+        <conditional name="outputConditional">
+            <param name="outputFormat" type="select" label="Output format">
+                <option value="vcf" selected="true">VCF (only if input is VCF)</option>
+                <option value="gatk">GATK-compatible VCF (only if input is VCF)</option>
+                <option value="txt">Tabular</option>
+                <option value="bed">BED</option>
+                <option value="bedAnn">BED annotations</option>
+            </param>
+            <when value="vcf" />
+            <when value="gatk">
+                <param name="gatk_v1" type="boolean" checked="true" label="Compatible with GATK 1.x" />
+            </when>
+            <when value="txt" />
+            <when value="bed" />
+            <when value="bedAnn" />
+        </conditional>
 
         <conditional name="snpDb">
             <param name="genomeSrc" type="select" label="Genome source">
@@ -94,35 +117,41 @@
             <when value="cached">
                 <param name="genomeVersion" type="select" label="Genome">
                     <!--GENOME    DESCRIPTION-->
-                    <options from_data_table="snpeff_genomedb">
-                           <filter type="unique_value" column="0" />
+                    <options from_data_table="snpeffv_genomedb">
+                           <filter type="static_value" name="snpeff_version" value="@SNPEFF_VERSION@" column="1"/>
+                           <filter type="unique_value" column="2" />
                     </options>
                 </param>
-                <param name="extra_annotations" type="select" display="checkboxes" multiple="true" label="Additional Annotations">
+                <param name="extra_annotations" type="select" display="checkboxes" multiple="true" label="Additional annotations">
                        <help>These are available for only a few genomes</help>
-                       <options from_data_table="snpeff_annotations">
-                           <filter type="param_value" ref="genomeVersion" key="genome" column="0" />
-                           <filter type="unique_value" column="1" />
+                       <options from_data_table="snpeffv_annotations">
+                           <filter type="param_value" ref="genomeVersion" key="genome" column="2" />
+                           <filter type="unique_value" column="3" />
                        </options>
                 </param>
-                <param name="regulation" type="select" display="checkboxes" multiple="true" label="Non-coding and regulatory Annotation">
+                <param name="regulation" type="select" display="checkboxes" multiple="true" label="Non-coding and regulatory annotation">
                        <help>These are available for only a few genomes</help>
-                       <options from_data_table="snpeff_regulationdb">
-                           <filter type="param_value" ref="genomeVersion" key="genome" column="0" />
-                           <filter type="unique_value" column="1" />
+                       <options from_data_table="snpeffv_regulationdb">
+                           <filter type="param_value" ref="genomeVersion" key="genome" column="2" />
+                           <filter type="unique_value" column="3" />
                        </options>
                 </param>
             </when>
             <when value="history">
-                <param format="snpeffdb" name="snpeff_db" type="data" label="SnpEff Genome Version Data"/>
+                <param format="snpeffdb" name="snpeff_db" type="data" label="@SNPEFF_VERSION@ Genome Data">
+                    <options options_filter_attribute="metadata.snpeff_version" >
+                        <filter type="add_value" value="@SNPEFF_VERSION@" />
+                    </options>
+                    <validator type="expression" message="This version of SnpEff will only work with @SNPEFF_VERSION@ Genome databases.">value is not None and value.metadata.snpeff_version == "@SNPEFF_VERSION@"</validator>
+                </param>
                 <!-- From metadata -->
-                <param name="extra_annotations" type="select" display="checkboxes" multiple="true" label="Additional Annotations">
+                <param name="extra_annotations" type="select" display="checkboxes" multiple="true" label="Additional annotations">
                     <help>These are available for only a few genomes</help>
                     <options>
                         <filter type="data_meta" ref="snpeff_db" key="annotation" />
                     </options>
                 </param>
-                <param name="regulation" type="select" display="checkboxes" multiple="true" label="Non-coding and regulatory Annotation">
+                <param name="regulation" type="select" display="checkboxes" multiple="true" label="Non-coding and regulatory annotation">
                     <help>These are available for only a few genomes</help>
                     <options>
                         <filter type="data_meta" ref="snpeff_db" key="regulation" />
@@ -130,7 +159,10 @@
                 </param>
             </when>
             <when value="named">
-                <param name="genome_version" type="text" value="GRCh37.68" label="Snpff Version Name"/>
+                <param name="genome_version" type="text" size="40" value="" label="Snpff Genome Version Name (e.g. GRCh38.76)">
+                    <help>@SNPEFF_DATABASE_URL@</help>
+                    <validator type="regex" message="A genome version name is required">\S+</validator>
+                </param>
             </when>
         </conditional>
 
@@ -147,7 +179,7 @@
 
         <param name="spliceSiteSize" type="select" optional="true" label="Set size for splice sites (donor and acceptor) in bases" help="Default: 2">
             <option value="1">1 base</option>
-            <option value="2">2 bases</option>
+            <option value="2" selected="true">2 bases</option>
             <option value="3">3 bases</option>
             <option value="4">4 bases</option>
             <option value="5">5 bases</option>
@@ -159,28 +191,29 @@
 
         <param name="filterHomHet" type="select" display="radio" label="Filter homozygous / heterozygous changes">
             <option value="no_filter" selected="true">No filter (analyze everything)</option>
-            <option value="-hom">Analyze homozygous sequence changes only </option>
-            <option value="-het">Analyze heterozygous sequence changes only </option>
+            <option value="-hom">Analyze homozygous sequence changes only</option>
+            <option value="-het">Analyze heterozygous sequence changes only</option>
         </param>
 
         <!-- The tool testing code can not handle select,radio,check boxes values that start with '-', so the '-' is added in the command generation -->
         <param name="filterIn" type="select" display="radio" label="Filter sequence changes">
             <option value="no_filter" selected="true">No filter (analyze everything)</option>
-            <option value="-del">Analyze deletions only </option>
-            <option value="-ins">Analyze insertions only </option>
-            <option value="-mnp">Only MNPs (multiple nucleotide polymorphisms) </option>
-            <option value="-snp">Only SNPs (single nucleotide polymorphisms) </option>
+            <option value="-del">Analyze deletions only</option>
+            <option value="-ins">Analyze insertions only</option>
+            <option value="-mnp">Only MNPs (multiple nucleotide polymorphisms)</option>
+            <option value="-snp">Only SNPs (single nucleotide polymorphisms)</option>
         </param>
 
         <param name="annotations" type="select" display="checkboxes" multiple="true" label="Annotation options">
-            <option value="-cancer">Perform 'cancer' comparissons (Somatic vs Germline)</option>
+            <option value="-cancer">Perform 'cancer' comparisons (somatic vs. germline)</option>
             <option value="-canon">Only use canonical transcripts</option>
             <option value="-geneId">Use gene ID instead of gene name (VCF output)</option>
-            <option value="-hgvs">Use HGVS annotations for amino acid sub-field</option>
-            <option value="-lof">Add loss of function (LOF) and Nonsense mediated decay (NMD) tags</option>
+            <option value="-lof">Add loss of function (LOF) and nonsense mediated decay (NMD) tags</option>
             <option value="-oicr">Add OICR tag in VCF file</option>
             <option value="-onlyReg">Only use regulation tracks</option>
-            <option value="-sequenceOntolgy">Use Sequence Ontolgy terms.</option>
+            <option value="-classic">Use Classic Effect names and amino acid variant annotations (NON_SYNONYMOUS_CODING vs missense_variant and G180R vs p.Gly180Arg/c.538G>C)</option>
+            <option value="-hgvs">Override classic and use HGVS annotations for amino acid annotations (p.Gly180Arg/c.538G>C vs G180R)</option>
+            <option value="-sequenceOntology">Override classic and use Sequence Ontolgy terms for effects (missense_variant vs NON_SYNONYMOUS_CODING)</option>
         </param>
         <param name="intervals" format="bed" type="data" optional="true" label="Use custom interval file for annotation"/>
         <param name="transcripts" format="tabular" type="data" optional="true" label="Only use the transcripts in this file." help="Format is one transcript ID per line."/>
@@ -193,7 +226,7 @@
         </param>
 
         <param name="offset" type="select" display="radio" optional="true" label="Chromosomal position">
-            <option value="" selected="true">Use default (based on input type)</option>
+            <option value="default" selected="true">Use default (based on input type)</option>
             <option value="-0">Force zero-based positions (both input and output)</option>
             <option value="-1">Force one-based positions (both input and output)</option>
         </param>
@@ -210,13 +243,12 @@
     <outputs>
         <data format="vcf" name="snpeff_output" >
             <change_format>
-                <when input="outputFormat" value="vcf" format="vcf" />
-                <when input="outputFormat" value="txt" format="tabular" />
-                <when input="outputFormat" value="bed" format="bed" />
-                <when input="outputFormat" value="bedAnn" format="bed" />
+                <when input="outputConditional.outputFormat" value="txt" format="tabular" />
+                <when input="outputConditional.outputFormat" value="bed" format="bed" />
+                <when input="outputConditional.outputFormat" value="bedAnn" format="bed" />
             </change_format>
         </data>
-        <data format="html" name="statsFile">
+        <data format="html" name="statsFile" label="${tool.name} on ${on_string} - stats">
             <filter>generate_stats == True</filter>
         </data>
     </outputs>
@@ -280,7 +312,7 @@
         <param name="genome_version" value="testCase"/>
         <param name="udLength" value="0"/>
         <param name="filterHomHet" value="no_filter"/>
-        <param name="filterIn" value="del"/>
+        <param name="filterIn" value="+-del"/>
         <!--
         <param name="filterOut" value=""/>
         -->
@@ -326,5 +358,6 @@
 @CITATION_SECTION@
 
     </help>
+    <expand macro="citations" />
 </tool>