changeset 0:b3ae16ffb54e draft

planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/eggnog_mapper
author jjohnson
date Fri, 26 May 2017 11:45:10 -0400
parents
children 7de7487a7e8d
files eggnog_mapper.xml tool-data/eggnog_mapper.loc.sample tool_data_table_conf.xml.sample
diffstat 3 files changed, 380 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eggnog_mapper.xml	Fri May 26 11:45:10 2017 -0400
@@ -0,0 +1,364 @@
+<tool id="eggnog_mapper" name="eggNOG Mapper" version="0.1.0">
+    <description>functional sequence annotation by orthology</description>
+    <requirements>
+        <requirement type="package" version="0.99.2">eggnog-mapper</requirement>
+    </requirements>
+    <stdio>
+        <exit_code range="1:" />
+    </stdio>
+    <version_command>python emapper.py --version</version_command>
+    <command><![CDATA[
+        ### Load on demand - with changes to download_eggnog_data.py
+        ## #if $db.mode == 'hmmer':
+        ##     download_eggnog_data.py -y -q --data_dir ~/src/eggnog-mapper/data $db.database && 
+        ## #else
+        ##     download_eggnog_data.py -y -q --data_dir ~/src/eggnog-mapper/data $db.database && 
+        ## #end if
+        emapper.py  
+        --data_dir '$eggnog_data.fields.data_dir'
+        -m $db.mode $translate
+        #if $db.mode == 'hmmer':
+            --database=$db.database
+            #if $db.hmm_options.hmm_settings == 'specified':
+                --hmm_maxhits=$db.hmm_options.hmm_maxhits
+                --hmm_evalue=$db.hmm_options.hmm_evalue
+                --hmm_score=$db.hmm_options.hmm_score
+                --hmm_maxseqlen=$db.hmm_options.hmm_maxseqlen
+                #if str($db.hmm_options.hmm_qcov):
+                    --hmm_qcov=$db.hmm_options.hmm_qcov
+                #end if
+                --Z=$db.hmm_options.Z
+            #end if
+        #end if
+        #if $annotation_options.tax_scope:
+            --tax_scope=$annotation_options.tax_scope
+        #end if
+        #if $annotation_options.target_orthologs:
+            --target_orthologs=$annotation_options.target_orthologs
+        #end if
+        #if $annotation_options.go_evidence:
+            --go_evidence=$annotation_options.go_evidence
+        #end if
+        #if $seed_ortholog_options.seed_ortholog_evalue:
+            --seed_ortholog_evalue=$seed_ortholog_options.seed_ortholog_evalue 
+        #end if
+        #if $seed_ortholog_options.seed_ortholog_score:
+            --seed_ortholog_score=$seed_ortholog_options.seed_ortholog_score 
+        #end if
+        $output_options.file_comments
+        $output_options.no_annot
+        $output_options.report_orthologs
+        --output='results'
+        -i '${input}'
+    ]]></command>
+    <inputs>
+        <param name="input" type="data" format="fasta" label="Fasta sequences to annotate"/>
+        <param name="translate" type="boolean" truevalue="--translate" falsevalue="" checked="false" 
+            label="Are these CDS sequences that need to be translated"/>
+        <param name="eggnog_data" type="select" label="Eggnog Data">
+            <options from_data_table="eggnog_mapper" >
+                <filter type="static_value" name="type" value="data" column="2"/>
+                <validator type="no_options" message="No cached eggnog data is available" />
+            </options>
+        </param>
+        <conditional name="db">
+            <param name="mode" type="select" label="Annotation Type">
+                <option value="hmmer">HMM</option>
+                <option value="diamond">DIAMOND</option>
+            </param>
+            <when value="hmmer">
+                <param name="database" type="select" multiple="true" min="1" label="HMM target database">
+                    <options from_data_table="eggnog_mapper" >
+                        <filter type="param_value" ref="eggnog_data" key="data_dir" column="3" />
+                        <filter type="static_value" name="type" value="hmm" column="2"/>
+                        <validator type="no_options" message="No HMM DBs are available, request from your galaxy admin" />
+                    </options>
+                </param>
+                <conditional name="hmm_options">
+                    <param name="hmm_settings" type="select" label="HMM Search Options">
+                         <option value="default">Use defaults</option>
+                         <option value="specified">Set HMM Search Options</option>
+                    </param>
+                    <when value="default"/>
+                    <when value="specified">
+                        <param name="hmm_maxhits" type="integer" value="1" label="Max number of hits to report. Default=1" />
+                        <param name="hmm_evalue" type="float" value="0.001" label="E-value threshold. Default=0.001" />
+                        <param name="hmm_score" type="integer" value="20" label="Bit score threshold. Default=20" />
+                        <param name="hmm_maxseqlen" type="integer" value="5000" label="Ignore query sequences larger than `maxseqlen`.  Default=5000" />
+                        <param name="hmm_qcov" type="float" value="" min="0." max="1." optional="true" label="min query coverage (from 0 to 1). Default=(disabled)" />
+                        <param name="Z" type="integer" value="" label="Fixed database size used in phmmer/hmmscan (allows comparing e-values among databases).  Default=40,000,000" />
+                    </when>
+                </conditional>
+            </when>
+            <when value="diamond">
+                <param name="database" type="hidden" value="diamond"/>
+            </when>
+        </conditional>
+        <section name="annotation_options" expanded="false" title="Annotation Options">
+            <param name="tax_scope" type="select" optional="true" label="Set taxonomic scope">
+                <option value="NOG">All organisms  (NOG)</option>
+                <option value="aciNOG">Acidobacteria  (aciNOG)</option>
+                <option value="acidNOG">Acidobacteriia  (acidNOG)</option>
+                <option value="acoNOG">Aconoidasida  (acoNOG)</option>
+                <option value="actNOG">Actinobacteria  (actNOG)</option>
+                <option value="agaNOG">Agaricales  (agaNOG)</option>
+                <option value="agarNOG">Agaricomycetes  (agarNOG)</option>
+                <option value="apiNOG">Apicomplexa  (apiNOG)</option>
+                <option value="aproNOG">Proteobacteria_alpha  (aproNOG)</option>
+                <option value="aquNOG">Aquificae  (aquNOG)</option>
+                <option value="arNOG">Archaea  (arNOG)</option>
+                <option value="arcNOG">Archaeoglobi  (arcNOG)</option>
+                <option value="artNOG">Arthropoda  (artNOG)</option>
+                <option value="arthNOG">Arthrodermataceae  (arthNOG)</option>
+                <option value="ascNOG">Ascomycota  (ascNOG)</option>
+                <option value="aveNOG">Aves  (aveNOG)</option>
+                <option value="bacNOG">Bacilli  (bacNOG)</option>
+                <option value="bactNOG">Bacteria  (bactNOG)</option>
+                <option value="bacteNOG">Bacteroidia  (bacteNOG)</option>
+                <option value="basNOG">Basidiomycota  (basNOG)</option>
+                <option value="bctoNOG">Bacteroidetes  (bctoNOG)</option>
+                <option value="biNOG">Bilateria  (biNOG)</option>
+                <option value="bproNOG">Proteobacteria_beta  (bproNOG)</option>
+                <option value="braNOG">Brassicales  (braNOG)</option>
+                <option value="carNOG">Carnivora  (carNOG)</option>
+                <option value="chaNOG">Chaetomiaceae  (chaNOG)</option>
+                <option value="chlNOG">Chlorobi  (chlNOG)</option>
+                <option value="chlaNOG">Chlamydiae  (chlaNOG)</option>
+                <option value="chloNOG">Chloroflexi  (chloNOG)</option>
+                <option value="chlorNOG">Chloroflexi  (chlorNOG)</option>
+                <option value="chloroNOG">Chlorophyta  (chloroNOG)</option>
+                <option value="chorNOG">Chordata  (chorNOG)</option>
+                <option value="chrNOG">Chromadorea  (chrNOG)</option>
+                <option value="cloNOG">Clostridia  (cloNOG)</option>
+                <option value="cocNOG">Coccidia  (cocNOG)</option>
+                <option value="creNOG">Crenarchaeota  (creNOG)</option>
+                <option value="cryNOG">Cryptosporidiidae  (cryNOG)</option>
+                <option value="cyaNOG">Cyanobacteria  (cyaNOG)</option>
+                <option value="cytNOG">Cytophagia  (cytNOG)</option>
+                <option value="debNOG">Debaryomycetaceae  (debNOG)</option>
+                <option value="defNOG">Deferribacteres  (defNOG)</option>
+                <option value="dehNOG">Dehalococcoidetes  (dehNOG)</option>
+                <option value="deiNOG">Deinococcusthermus  (deiNOG)</option>
+                <option value="delNOG">delta/epsilon  (delNOG)</option>
+                <option value="dipNOG">Diptera  (dipNOG)</option>
+                <option value="dotNOG">Dothideomycetes  (dotNOG)</option>
+                <option value="dproNOG">Proteobacteria_delta  (dproNOG)</option>
+                <option value="droNOG">Drosophilidae  (droNOG)</option>
+                <option value="eproNOG">Proteobacteria_epsilon  (eproNOG)</option>
+                <option value="eryNOG">Erysipelotrichi  (eryNOG)</option>
+                <option value="euNOG">Eukaryotes  (euNOG)</option>
+                <option value="eurNOG">Euryarchaeota  (eurNOG)</option>
+                <option value="euroNOG">Eurotiomycetes  (euroNOG)</option>
+                <option value="eurotNOG">Eurotiales  (eurotNOG)</option>
+                <option value="fiNOG">Fishes  (fiNOG)</option>
+                <option value="firmNOG">Firmicutes  (firmNOG)</option>
+                <option value="flaNOG">Flavobacteriia  (flaNOG)</option>
+                <option value="fuNOG">Fungi  (fuNOG)</option>
+                <option value="fusoNOG">Fusobacteria  (fusoNOG)</option>
+                <option value="gproNOG">Proteobacteria_gamma  (gproNOG)</option>
+                <option value="haeNOG">Haemosporida  (haeNOG)</option>
+                <option value="halNOG">Halobacteria  (halNOG)</option>
+                <option value="homNOG">Hominidae  (homNOG)</option>
+                <option value="hymNOG">Hymenoptera  (hymNOG)</option>
+                <option value="hypNOG">Hypocreales  (hypNOG)</option>
+                <option value="inNOG">Insects  (inNOG)</option>
+                <option value="kinNOG">Kinetoplastida  (kinNOG)</option>
+                <option value="lepNOG">Lepidoptera  (lepNOG)</option>
+                <option value="lilNOG">Liliopsida  (lilNOG)</option>
+                <option value="maNOG">Mammals  (maNOG)</option>
+                <option value="magNOG">Magnaporthales  (magNOG)</option>
+                <option value="meNOG">Animals  (meNOG)</option>
+                <option value="metNOG">Methanobacteria  (metNOG)</option>
+                <option value="methNOG">Methanococci  (methNOG)</option>
+                <option value="methaNOG">Methanomicrobia  (methaNOG)</option>
+                <option value="necNOG">Nectriaceae  (necNOG)</option>
+                <option value="negNOG">Negativicutes  (negNOG)</option>
+                <option value="nemNOG">Nematodes  (nemNOG)</option>
+                <option value="onyNOG">Onygenales  (onyNOG)</option>
+                <option value="opiNOG">Opisthokonts  (opiNOG)</option>
+                <option value="perNOG">Peronosporales  (perNOG)</option>
+                <option value="plaNOG">Planctomycetes  (plaNOG)</option>
+                <option value="pleNOG">Pleosporales  (pleNOG)</option>
+                <option value="poaNOG">Poales  (poaNOG)</option>
+                <option value="prNOG">Primates  (prNOG)</option>
+                <option value="proNOG">Proteobacteria  (proNOG)</option>
+                <option value="rhaNOG">Rhabditida  (rhaNOG)</option>
+                <option value="roNOG">Rodents  (roNOG)</option>
+                <option value="sacNOG">Saccharomycetaceae  (sacNOG)</option>
+                <option value="saccNOG">Saccharomycetes  (saccNOG)</option>
+                <option value="sorNOG">Sordariales  (sorNOG)</option>
+                <option value="sordNOG">Sordariomycetes  (sordNOG)</option>
+                <option value="sphNOG">Sphingobacteriia  (sphNOG)</option>
+                <option value="spiNOG">Spirochaetes  (spiNOG)</option>
+                <option value="spriNOG">Supraprimates  (spriNOG)</option>
+                <option value="strNOG">Streptophyta  (strNOG)</option>
+                <option value="synNOG">Synergistetes  (synNOG)</option>
+                <option value="tenNOG">Tenericutes  (tenNOG)</option>
+                <option value="thaNOG">Thaumarchaeota  (thaNOG)</option>
+                <option value="theNOG">Thermoplasmata  (theNOG)</option>
+                <option value="therNOG">Thermotogae  (therNOG)</option>
+                <option value="thermNOG">Thermococci  (thermNOG)</option>
+                <option value="treNOG">Tremellales  (treNOG)</option>
+                <option value="veNOG">Vertebrates  (veNOG)</option>
+                <option value="verNOG">Verrucomicrobia  (verNOG)</option>
+                <option value="verrNOG">Verrucomicrobiae  (verrNOG)</option>
+                <option value="virNOG">Viridiplantae  (virNOG)</option>
+            </param>
+            <param name="target_orthologs" type="select" optional="true" label="target orthologs for functional transfer">
+                <option value="one2one">one2one</option>
+                <option value="many2one">many2one</option>
+                <option value="one2many">one2many</option>
+                <option value="many2many">many2many</option>
+                <option value="all">all</option>
+            </param>
+            <param name="go_evidence" type="select" optional="true" label="Type of GO terms should be used for annotation">
+                <option value="experimental">experimental = Use only terms inferred from experimental evidence</option>
+                <option value="non-electronic">non-electronic = Use only non-electronically curated terms</option>
+            </param>
+        </section>
+        <section name="seed_ortholog_options" expanded="false" title="Seed Ortholog Search Options">
+            <param name="seed_ortholog_evalue" type="float" value="0.001" optional="true" label="Min E-value threshold. Default=0.001">
+                <help>
+                Min E-value expected when searching for seed eggNOG ortholog. Applies to phmmer/diamond searches. 
+                Queries not having a significant seed orthologs will not be annotated.
+                </help>
+            </param>
+            <param name="seed_ortholog_score" type="integer" value="60" optional="true" label="Bit score threshold. Default=60">
+                <help>
+                Min bit score expected when searching for seed eggNOG ortholog.  Applies to phmmer/diamond searches.
+                Queries not having a significant seed orthologs will not be annotated. Default=60
+                </help>
+            </param>
+        </section>
+        <section name="output_options" expanded="false" title="Output Options">
+            <param name="file_comments" type="boolean" truevalue="--no_file_comments" falsevalue="" checked="false" 
+                label="Exclude header lines and stats from output files"/>
+            <param name="no_annot" type="boolean" truevalue="--no_annot" falsevalue="" checked="false" 
+                label="Skip functional annotation, reporting only hits"/>
+            <param name="report_orthologs" type="boolean" truevalue="--report_orthologs" falsevalue="" checked="false" 
+                label="Output a file with the list of orthologs for each hits"/>
+        </section>
+    </inputs>
+    <outputs>
+        <data name="seed_orthologs" format="tabular" label="${tool.name} on ${on_string}: ${db.database}.seed_orthologs" from_work_dir="results.emapper.seed_orthologs">
+            <actions>
+                <action name="column_names" type="metadata" default="query_name,seed_eggNOG_ortholog,seed_ortholog_evalue,seed_ortholog_score"/>
+            </actions>
+        </data>
+        <data name="annotations" format="tabular" label="${tool.name} on ${on_string}: ${db.database}.annotations" from_work_dir="results.emapper.annotations">
+            <filter>output_options['no_annot'] == ''</filter>
+            <actions>
+                <action name="column_names" type="metadata" default="query_name,seed_eggNOG_ortholog,seed_ortholog_evalue,seed_ortholog_score,predicted_gene_name,GO_terms,KEGG_pathways,Annotation_tax_scope,Matching_OGs,best_OG|evalue|score,COG,functional,categories,eggNOG_HMM_model_annotation"/>
+            </actions>
+        </data>
+        <data name="hmm_hits" format="tabular" label="${tool.name} on ${on_string}: ${db.database}.hmm_hits"  from_work_dir="results.emapper.hmm_hits">
+            <filter>db['mode'] == 'hmmer'</filter>
+            <actions>
+                <action name="column_names" type="metadata" default="query_name,hit,evalue,sum_score,query_length,hmmfrom,hmmto,seqfrom,seqto,query_coverage"/>
+            </actions>
+        </data>
+        <data name="annotations_orthologs" format="tabular" label="${tool.name} on ${on_string}: ${db.database}.annotations.orthologs"  from_work_dir="results.emapper.annotations.orthologs">
+            <filter>output_options['report_orthologs']</filter>
+            <actions>
+                <action name="column_names" type="metadata" default="query_name,orthologs"/>
+            </actions>
+        </data>
+    </outputs>
+    <help><![CDATA[
+
+eggnog-mapper
+
+optional arguments:
+  -h, --help            show this help message and exit
+  --version
+
+Target HMM Database Options:
+  --guessdb             guess eggnog db based on the provided taxid
+  --database , -d       specify the target database for sequence searches.
+                        Choose among: euk,bact,arch, host:port, or a local
+                        hmmpressed database
+  --dbtype {hmmdb,seqdb}
+  --qtype {hmm,seq}
+
+Annotation Options:
+  --tax_scope           Fix the taxonomic scope used for annotation, so only
+                        orthologs from a particular clade are used for
+                        functional transfer. By default, this is automatically
+                        adjusted for every query sequence.
+  --target_orthologs {one2one,many2one,one2many,many2many,all}
+                        defines what type of orthologs should be used for
+                        functional transfer
+  --excluded_taxa       (for debugging and benchmark purposes)
+  --go_evidence {experimental,non-electronic}
+                        Defines what type of GO terms should be used for
+                        annotation:experimental = Use only terms inferred from
+                        experimental evidencenon-electronic = Use only non-
+                        electronically curated terms
+
+HMM search_options:
+  --hmm_maxhits         Max number of hits to report. Default=1
+  --hmm_evalue          E-value threshold. Default=0.001
+  --hmm_score           Bit score threshold. Default=20
+  --hmm_maxseqlen       Ignore query sequences larger than `maxseqlen`.
+                        Default=5000
+  --hmm_qcov            min query coverage (from 0 to 1). Default=(disabled)
+  --Z                   Fixed database size used in phmmer/hmmscan (allows
+                        comparing e-values among databases).
+                        Default=40,000,000
+
+Seed ortholog search option:
+  --seed_ortholog_evalue 
+                        Min E-value expected when searching for seed eggNOG
+                        ortholog. Applies to phmmer/diamond searches. Queries
+                        not having a significant seed orthologs will not be
+                        annotated. Default=0.001
+  --seed_ortholog_score 
+                        Min bit score expected when searching for seed eggNOG
+                        ortholog. Applies to phmmer/diamond searches. Queries
+                        not having a significant seed orthologs will not be
+                        annotated. Default=60
+
+Output options:
+  --output , -o         base name for output files
+  --resume              Resumes a previous execution skipping reported hits in
+                        the output file.
+  --override            Overwrites output files if they exist.
+  --no_refine           Skip hit refinement, reporting only HMM hits.
+  --no_annot            Skip functional annotation, reporting only hits
+  --no_search           Skip HMM search mapping. Use existing hits file
+  --report_orthologs    The list of orthologs used for functional transferred
+                        are dumped into a separate file
+  --scratch_dir         Write output files in a temporary scratch dir, move
+                        them to final the final output dir when finished.
+                        Speed up large computations using network file
+                        systems.
+  --output_dir          Where output files should be written
+  --temp_dir            Where temporary files are created. Better if this is a
+                        local disk.
+  --no_file_comments    No header lines nor stats are included in the output
+                        files
+  --keep_mapping_files  Do not delete temporary mapping files used for
+                        annotation (i.e. HMMER and DIAMOND search outputs)
+
+Execution options:
+  -m {hmmer,diamond}    Default:hmmer
+  -i                    Computes annotations for the provided FASTA file
+  --translate           Assume sequences are genes instead of proteins
+  --servermode          Loads target database in memory and keeps running in
+                        server mode, so another instance of eggnog-mapper can
+                        connect to this sever. Auto turns on the --usemem flag
+  --usemem              If a local hmmpressed database is provided as target
+                        using --db, this flag will allocate the whole database
+                        in memory using hmmpgmd. Database will be unloaded
+                        after execution.
+  --cpu 
+  --annotate_hits_table 
+                        Annotatate TSV formatted table of query->hits. 4
+                        fields required: query, hit, evalue, score. Implies
+                        --no_search and --no_refine.
+
+    ]]></help>
+    <citations>
+        <citation type="doi">10.1093/nar/gkv1248</citation>
+    </citations>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tool-data/eggnog_mapper.loc.sample	Fri May 26 11:45:10 2017 -0400
@@ -0,0 +1,9 @@
+#This is a sample file distributed with Galaxy that enables tools
+#to use a directory of eggnog_mapper data files. 
+#
+#name	value	type	data_dir	
+#eggnog_4.5	eggnog_4.5 data	/depot/data2/galaxy/eggnog/eggnog_4.5/data
+#eggnog_4.5arcNOG	arcNOG	hmmer	/depot/data2/galaxy/eggnog/eggnog_4.5/data
+#eggnog_4.5euk	euk	hmmer	/depot/data2/galaxy/eggnog/eggnog_4.5/data
+#eggnog_4.5dmnd	eggnog_proteins.dmnd	diamond	/depot/data2/galaxy/eggnog/eggnog_4.5/data
+#
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tool_data_table_conf.xml.sample	Fri May 26 11:45:10 2017 -0400
@@ -0,0 +1,7 @@
+<tables>
+    <!-- Locations of all eggnog_mapper data -->
+    <table name="eggnog_mapper" comment_char="#">
+        <columns>name,value,type,data_dir</columns>
+        <file path="tool-data/eggnog_mapper.loc" />
+    </table>
+</tables>