diff snpEff.xml @ 10:5b4ac70948d2 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tool_collections/snpeff commit eea43430ff90fe6b13b295f6d5efb2208401a7ef
author iuc
date Tue, 27 Mar 2018 09:44:18 -0400
parents 68693743661e
children 5a29ab10dba6
line wrap: on
line diff
--- a/snpEff.xml	Tue Nov 14 05:42:51 2017 -0500
+++ b/snpEff.xml	Tue Mar 27 09:44:18 2018 -0400
@@ -1,13 +1,15 @@
-<tool id="snpEff" name="SnpEff" version="@WRAPPER_VERSION@.1">
-    <description>Variant effect and annotation</description>
+<tool id="snpEff" name="SnpEff eff:" version="@wrapper_version@.1">
+    <description> annotate variants</description>
     <macros>
         <import>snpEff_macros.xml</import>
     </macros>
-    <expand macro="requirements" />
+    <requirements>
+        <expand macro="requirement" />
+    </requirements>
     <expand macro="stdio" />
     <expand macro="version_command" />
     <command><![CDATA[
-        snpEff -Xmx8g eff
+        snpEff @java_options@ eff
         -i $inputFormat -o ${outputConditional.outputFormat} -upDownStreamLen $udLength
         #if $spliceSiteSize and str($spliceSiteSize) != '':
           -spliceSiteSize "$spliceSiteSize"
@@ -72,6 +74,11 @@
             #end for
           #end if
           '${snpDb.snpeff_db.metadata.genome_version}'
+        #elif $snpDb.genomeSrc == 'custom':
+            -dataDir '${snpDb.snpeff_db.extra_files_path}'
+            -configOption '${snpDb.snpeff_db.metadata.genome_version}'.genome='${snpDb.snpeff_db.metadata.genome_version}'
+            -configOption '${snpDb.snpeff_db.metadata.genome_version}'.codonTable='${snpDb.codon_table}'
+            '${snpDb.snpeff_db.metadata.genome_version}'
         #else
           -download
           '$snpDb.genome_version'
@@ -92,7 +99,7 @@
         #end if
     ]]></command>
     <inputs>
-        <param name="input" type="data" format="vcf,tabular,pileup,bed" label="Sequence changes (SNPs, MNPs, InDels)"/>
+        <param name="input" type="data" format="vcf,bed" label="Sequence changes (SNPs, MNPs, InDels)"/>
 
         <param name="inputFormat" type="select" label="Input format">
             <option value="vcf" selected="true">VCF</option>
@@ -116,15 +123,17 @@
 
         <conditional name="snpDb">
             <param name="genomeSrc" type="select" label="Genome source">
-                <option value="cached">Locally installed reference genome</option>
-                <option value="history">Reference genome from your history</option>
-                <option value="named">Named on demand</option>
+                <!-- These options are referenced in the help section of SnpEff download tool. If you change them, change help of SnpEff download as well -->
+                <option value="cached">Locally installed snpEff database</option>
+                <option value="history">Downloaded snpEff database in your history</option>
+                <option value="named">Download on demand</option>
+                <option value="custom">Custom snpEff database in your history</option>
             </param>
             <when value="cached">
                 <param name="genomeVersion" type="select" label="Genome">
                     <!--GENOME    DESCRIPTION-->
                     <options from_data_table="snpeffv_genomedb">
-                            <filter type="static_value" name="snpeff_version" value="@SNPEFF_VERSION@" column="1"/>
+                            <filter type="static_value" name="snpeff_version" value="@snpeff_version@" column="1"/>
                             <filter type="unique_value" column="2" />
                     </options>
                 </param>
@@ -138,11 +147,11 @@
                 </section>
             </when>
             <when value="history">
-                <param name="snpeff_db" type="data" format="snpeffdb" label="@SNPEFF_VERSION@ Genome Data">
+                <param name="snpeff_db" type="data" format="snpeffdb" label="@snpeff_version@ Genome Data">
                     <options options_filter_attribute="metadata.snpeff_version" >
-                        <filter type="add_value" value="@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>
+                    <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>
                 <section name="reg_section" expanded="false" title="Regulation options">
                     <!-- From metadata -->
@@ -155,13 +164,48 @@
             </when>
             <when value="named">
                 <param name="genome_version" type="text" value="" label="Snpff Genome Version Name (e.g. GRCh38.76)">
-                    <help>@SNPEFF_DATABASE_URL@</help>
+                    <help>@snpeff_database_url@</help>
                     <validator type="regex" message="A genome version name is required">\S+</validator>
                 </param>
             </when>
+            <when value="custom">
+                <param name="snpeff_db" type="data" format="snpeffdb" 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>
+                <param name="codon_table" type="select" label="Select genetic code for this sequence" help="If this sequence uses non-standard genetic code, select one from these options">
+                    <option selected="true" value="Standard">Standard</option>
+                    <option value="Vertebrate_Mitochondrial">Vertebrate_Mitochondrial</option>
+                    <option value="Yeast_Mitochondrial">Yeast_Mitochondrial</option>
+                    <option value="Mold_Mitochondrial">Mold_Mitochondrial</option>
+                    <option value="Protozoan_Mitochondrial">Protozoan_Mitochondrial</option>
+                    <option value="Coelenterate">Coelenterate</option>
+                    <option value="Mitochondrial">Mitochondrial</option>
+                    <option value="Mycoplasma">Mycoplasma</option>
+                    <option value="Spiroplasma">Spiroplasma</option>
+                    <option value="Invertebrate_Mitochondrial">Invertebrate_Mitochondrial</option>
+                    <option value="Ciliate_Nuclear">Ciliate_Nuclear</option>
+                    <option value="Dasycladacean_Nuclear">Dasycladacean_Nuclear</option>
+                    <option value="Hexamita_Nuclear">Hexamita_Nuclear</option>
+                    <option value="Echinoderm_Mitochondrial">Echinoderm_Mitochondrial</option>
+                    <option value="Flatworm_Mitochondrial">Flatworm_Mitochondrial</option>
+                    <option value="Euplotid_Nuclear">Euplotid_Nuclear</option>
+                    <option value="Bacterial_and_Plant_Plastid">Bacterial_and_Plant_Plastid</option>
+                    <option value="Alternative_Yeast_Nuclear">Alternative_Yeast_Nuclear</option>
+                    <option value="Ascidian_Mitochondrial">Ascidian_Mitochondrial</option>
+                    <option value="Alternative_Flatworm_Mitochondrial">Alternative_Flatworm_Mitochondrial</option>
+                    <option value="Blepharisma_Macronuclear">Blepharisma_Macronuclear</option>
+                    <option value="Chlorophycean_Mitochondrial">Chlorophycean_Mitochondrial</option>
+                    <option value="Trematode_Mitochondrial">Trematode_Mitochondrial</option>
+                    <option value="Scenedesmus_obliquus_Mitochondrial">Scenedesmus_obliquus_Mitochondrial</option>
+                    <option value="Thraustochytrium_Mitochondrial">Thraustochytrium_Mitochondrial</option>
+            </param>
+            </when>
         </conditional>
 
-        <param name="udLength" type="select" label="Upstream / Downstream length">
+        <param name="udLength" type="select" label="Upstream / Downstream length" argument="-ud" >
             <option value="0">No upstream / downstream intervals (0 bases)</option>
             <option value="200">200 bases</option>
             <option value="500">500 bases</option>
@@ -172,7 +216,7 @@
             <option value="20000">20000 bases</option>
         </param>
 
-        <param name="spliceSiteSize" type="select" optional="true" label="Set size for splice sites (donor and acceptor) in bases">
+        <param name="spliceSiteSize" type="select" optional="true" label="Set size for splice sites (donor and acceptor) in bases" argument="-ss">
             <option value="1">1 base</option>
             <option value="2" selected="true">2 bases</option>
             <option value="3">3 bases</option>
@@ -191,9 +235,9 @@
             </param>
             <when value="no"/>
             <when value="yes">
-                <param name="spliceRegionExonSize" type="integer" value="" min="1" max="10" optional="true" label="Set size for splice site region within exons. Default: 3 bases"/>
-                <param name="spliceRegionIntronMin" type="integer" value="" min="1" max="10" optional="true" label="Set minimum number of bases for splice site region within intron. Default: 3 bases"/>
-                <param name="spliceRegionIntronMax" type="integer" value="" min="1" max="10" optional="true" label="Set maximum number of bases for splice site region within intron. Default: 8 bases"/>
+                <param name="spliceRegionExonSize" type="integer" value="" min="1" max="10" optional="true" label="Set size for splice site region within exons. Default: 3 bases" argument="-spliceRegionExonSize"/>
+                <param name="spliceRegionIntronMin" type="integer" value="" min="1" max="10" optional="true" label="Set minimum number of bases for splice site region within intron. Default: 3 bases" argument="-spliceRegionIntronMin"/>
+                <param name="spliceRegionIntronMax" type="integer" value="" min="1" max="10" optional="true" label="Set maximum number of bases for splice site region within intron. Default: 8 bases" argument="-spliceRegionIntronMax"/>
             </when>
         </conditional>
 
@@ -223,7 +267,7 @@
             -->
         </param>
         <!-- -cancerSamples <file>           : Two column TXT file defining 'oringinal \t derived' samples. -->
-        <param name="intervals" type="data" format="bed" optional="true" label="Use custom interval file for annotation"/>
+        <param name="intervals" type="data" format="bed" optional="true" label="Use custom interval file for annotation" argument="-interval"/>
         <param name="transcripts" type="data" format="tabular" optional="true" label="Only use the transcripts in this file" help="Format is one transcript ID per line"/>
         <param name="filterOut" type="select" display="checkboxes" multiple="true" label="Filter output">
             <option value="-no-downstream">Do not show DOWNSTREAM changes</option>
@@ -286,20 +330,20 @@
             </when>
         </conditional>
 
-        <param name="offset" type="select" display="radio" label="Chromosomal position">
+        <param name="offset" type="select" display="radio" label="Chromosomal position" argument="-0 and -1">
             <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>
-        <param name="chr" type="text" label="Text to prepend to chromosome name">
+        <param name="chr" type="text" label="Text to prepend to chromosome name" argument="-chr">
             <help>
                By default SnpEff simplifies all chromosome names. For instance 'chr1' is just '1'.
                You can prepend any string you want to the chromosome name
             </help>
             <validator type="regex" message="No whitespace allowed">^\S*$</validator>
         </param>
-        <param name="generate_stats" type="boolean" truevalue="" falsevalue="-noStats" checked="true" label="Produce Summary Stats"/>
-        <param name="noLog" type="boolean" truevalue="-noLog" falsevalue="" checked="true" label="Suppress reporting usage statistics to server"/>
+        <param name="generate_stats" type="boolean" truevalue="" falsevalue="-noStats" checked="true" label="Produce Summary Stats" argument="-noStats"/>
+        <param name="noLog" type="boolean" truevalue="-noLog" falsevalue="" checked="true" label="Suppress reporting usage statistics to server" argument="-noLog"/>
     </inputs>
     <outputs>
         <data name="snpeff_output" format="vcf">
@@ -330,9 +374,34 @@
         </test>
     </tests>
     <help><![CDATA[
-This tool calculate the effect of variants (SNPs/MNPs/Insertions) and deletions.
+
+**What it does**
+
+SnpEff is a variant annotation and effect prediction tool. It annotates and predicts the effects of genetic variants (such as amino acid changes).
+
+A typical SnpEff use case would be:
+
+ - **Input**: The inputs are predicted variants (SNPs, insertions, deletions and MNPs). The input file is usually obtained as a result of a sequencing experiment, and it is usually in variant call format (VCF).
+ - **Output**: SnpEff analyzes the input variants. It annotates the variants and calculates the effects they produce on known genes (e.g. amino acid changes). A list of effects and annotations that SnpEff can calculate can be found here.
+
+By genetic variant we mean difference between a genome and a "reference" genome. As an example, imagine we are sequencing a "sample". Here "sample" can mean anything that you are interested in studying, from a cell culture, to a mouse or a cancer patient.  It is a standard procedure to compare your sample sequences against the corresponding "reference genome". For instance you may compare the cancer patient genome against the "reference genome".
 
-@EXTERNAL_DOCUMENTATION@
+In a typical sequencing experiment, you will find many places in the genome where your sample differs from the reference genome. These are called "genomic variants" or just "variants". 
+Typically, variants are categorized as follows:
+
+ - SNP (Single-Nucleotide Polymorphism) Reference = 'A', Sample = 'C'
+ - Ins (Insertion) Reference = 'A', Sample = 'AGT'
+ - Del (Deletion) Reference = 'AC', Sample = 'C'
+ - MNP (Multiple-nucleotide polymorphism) Reference = 'ATA', Sample = 'GTC'
+ - MIXED (Multiple-nucleotide and an InDel) Reference = 'ATA', Sample = 'GTCAGT'
+
+This is not a comprehensive list, it is just to give you an idea.
+
+Suppose you have a huge file describing all the differences between your sample and the reference genome. But you want to know more about these variants than just their genetic coordinates. E.g.: Are they in a gene? In an exon? Do they change protein coding? Do they cause premature stop codons? SnpEff can help you answer all these questions. The process of adding this information about the variants is called "Annotation". 
+SnpEff provides several degrees of annotations, from simple (e.g. which gene is each variant affecting) to extremely complex annotations (e.g. will this non-coding variant affect the expression of a gene?). It should be noted that the more complex the annotations, the more it relies in computational predictions. Such computational predictions can be incorrect, so results from SnpEff (or any prediction algorithm) cannot be trusted blindly, they must be analyzed and independently validated by corresponding wet-lab experiments.
+
+@snpeff_in_galaxy_info@
+@external_documentation@
 ]]>
     </help>
     <expand macro="citations" />