view humann2.xml @ 5:2bf5fcf30e1f draft

planemo upload for repository https://github.com/ASaiM/galaxytools/tree/master/tools/humann2/ commit e5b8f29dde45dddcda6ee283212dd1bdde487f87-dirty
author bebatut
date Fri, 18 Dec 2015 08:34:43 -0500
parents c05e34aa939b
children 0d3d44f13122
line wrap: on
line source

<tool id="humann2" name="HUMAnN2" version="0.1.0">
    <description>to profile the presence/absence and abundance of microbial pathways</description>

    <requirements>
        <requirement type="package" version="2.2.5">bowtie2</requirement>
        <requirement type="package" version="2.0">metaphlan2</requirement>
        <requirement type="package" version="0.7.10">diamond</requirement>
        <requirement type="package" version="2.0">humann2</requirement>
    </requirements>

    <stdio>
        <exit_code range="1:" />
    </stdio>

    <version_command>
<![CDATA[
    humann2 --version
]]>
    </version_command>

    <command><![CDATA[
        (which diamond || exit 200)

        && 

        humann2 
            -i "$input_file"
        
            #if $taxonomic_profile.taxonomic_profile_test:
                --taxonomic-profile $taxonomic_profile.taxonomic_profile_file
            #end if

            --evalue $e_value
            --identity-threshold $identity
            --prescreen-threshold $prescreen

            --pathways $pathways

            #set $data_table = dict([(_[0], _[2]) for _ in $protein_database.input.options.tool_data_table.data])
            #set $db = $protein_database.value
            --protein-database $data_table[$db]

            #set $data_table = dict([(_[0], _[2]) for _ in $nucleotide_database.input.options.tool_data_table.data])
            #set $db = $nucleotide_database.value
            --nucleotide-database $data_table[$db]

            --metaphlan \${METAPHLAN2_DIR}/
            --metaphlan-options "-t rel_ab"
            --bowtie2 \${PATH}
            --diamond \${PATH}

            --threads \${GALAXY_SLOTS:-4}

            --xipe $xipe
            --minpath $minpath
            --pick-frames $pick_frames

            -o "output"
            --output-format $output_format
            --output-max-decimals $output_max_dec
            --output-basename "humann2"
            $remove_statified_output            
    ]]></command>

    <inputs>
        <param name="input_file" type="data" format="fastq,fasta,sam,bam,biom" 
            label="Input sequence file" help=""/>

        <conditional name="taxonomic_profile">
            <param name='taxonomic_profile_test' type='boolean' checked="false" truevalue='true' 
                falsevalue='false' label="Use a custom taxonomic profile?" 
                help="The file must have been created by MetaPhlan"/>
            <when value="true">
                <param name="taxonomic_profile_file" type="data" format="" label="Taxonomic profile 
                    file" help=""/>
            </when>
            <when value="false" />
        </conditional>

        <param name="nucleotide_database" label="Nucleotide database" type="select" >
            <options from_data_table="humann2_nucleotide_database" />
        </param>

        <param name="protein_database" label="Protein database" type="select" >
            <options from_data_table="humann2_protein_database" />
        </param>

        <param name="e_value" type="float" min="0" max="10" value="1" 
            label="E-value threshold to use with the translated search" 
            help="(--evalue)"/>
        <param name="identity" type="integer" min="0" max="100" value="40" 
            label="Identity threshold for alignments" help="(--identity-threshold)"/>
        <param name="prescreen" type="float" min="0" max="1" value="0.01" 
            label="Minimum percentage of reads matching a species" 
            help="(--prescreen-threshold)"/>

        <param name='pathways' type="select" label="Database to use for pathway computations"
            help="(--pathways)">
            <option value="metacyc" selected="true">MetaCyc</option>
            <option value="unipathway">UniPathway</option>
        </param>

        <param name='xipe' type='boolean' checked="false" truevalue='on' 
            falsevalue='off' label="Use xipe computation?" help="(--xipe)"/>
        <param name='minpath' type='boolean' checked="true" truevalue='on' 
            falsevalue='off' label="Use minpath computation?" help="(--minpath)"/>
        <param name='pick_frames' type='boolean' checked="true" truevalue='on' 
            falsevalue='off' label="Use pick frames computation?" 
            help="(--pick-frames)"/>

        <param name='output_format' type="select" label="Format of the output files"
            help="(--output-format)">
            <option value="tsv" selected="true">TSV</option>
            <option value="biom">BIOM</option>
        </param>
        <param name="output_max_dec" type="integer" min="0" max="100" value="10" 
            label="Number of decimals to output" help="(--output-max-decimals)"/>
        <param name='remove_statified_output' type='boolean' checked="false" 
            truevalue='--remove-stratified-output' falsevalue='' 
            label="Remove stratification from output?" help="(--remove-stratified-output)"/>
    </inputs>

    <outputs>
        <data format="tsv" name="gene_families_tsv" 
            from_work_dir="output/humann2_genefamilies.tsv"
            label="Gene families for ${on_string} (HUMAnN2)" >
            <filter>output_format == "tsv"</filter>
        </data>
        <data format="biom" name="gene_families_biom" 
            from_work_dir="output/humann2_genefamilies.biom"
            label="Gene families for ${on_string} (HUMAnN2)" >
            <filter>output_format == "biom"</filter>
        </data>

        <data format="tsv" name="pathcoverage_tsv" 
            from_work_dir="output/humann2_pathcoverage.tsv"
            label="Pathway coverage for ${on_string} (HUMAnN2)" >
            <filter>output_format == "tsv"</filter>
        </data>
        <data format="biom" name="pathcoverage_biom" 
            from_work_dir="output/humann2_pathcoverage.biom"
            label="Pathway coverage for ${on_string} (HUMAnN2)" >
            <filter>output_format == "biom"</filter>
        </data>

        <data format="tsv" name="pathabundance_tsv" 
            from_work_dir="output/humann2_pathabundance.tsv"
            label="Pathway abundance for ${on_string} (HUMAnN2)" >
            <filter>output_format == "tsv"</filter>
        </data>
        <data format="biom" name="pathabundance_biom" 
            from_work_dir="output/humann2_pathabundance.biom"
            label="Pathway abundance for ${on_string} (HUMAnN2)" >
            <filter>output_format == "biom"</filter>
        </data>
    </outputs>

    <tests>
        <test>
            <param name="input_file" value="humann2_input.fasta"/>
            <param name='taxonomic_profile_test' value="false"/>
            <param name="nucleotide_database" value="chocophlan"/>
            <param name="protein_database" value="uniref"/>
            <param name="e_value" value="1"/>
            <param name="identity" value="40"/>
            <param name="prescreen" value="0.01"/>
            <param name='pathways' value="metacyc"/>
            <param name='xipe' value="false"/>
            <param name='minpath' value="true"/>
            <param name='pick_frames' value="true"/>
            <param name='output_format' value="tsv"/>
            <param name="output_max_dec" value="10"/>
            <output name="gene_families_tsv" file="humann2_fasta_gene_families.tsv"/>
            <output name="pathcoverage_tsv" file="humann2_fasta_pathcoverage.tsv"/>
            <output name="pathabundance_tsv" file="humann2_fasta_pathabundance.tsv"/>
        </test>
        <test>
            <param name="input_file" value="humann2_input.fastq"/>
            <param name='taxonomic_profile_test' value="false"/>
            <param name="nucleotide_database" value="chocophlan"/>
            <param name="protein_database" value="uniref"/>
            <param name="e_value" value="1"/>
            <param name="identity" value="40"/>
            <param name="prescreen" value="0.01"/>
            <param name='pathways' value="metacyc"/>
            <param name='xipe' value="false"/>
            <param name='minpath' value="true"/>
            <param name='pick_frames' value="true"/>
            <param name='output_format' value="tsv"/>
            <param name="output_max_dec" value="10"/>
            <output name="gene_families_tsv" file="humann2_fastq_gene_families.tsv"/>
            <output name="pathcoverage_tsv" file="humann2_fastq_pathcoverage.tsv"/>
            <output name="pathabundance_tsv" file="humann2_fastq_pathabundance.tsv"/>
        </test>
        <test>
            <param name="input_file" value="humann2_input.m8"/>
            <param name='taxonomic_profile_test' value="false"/>
            <param name="nucleotide_database" value="chocophlan"/>
            <param name="protein_database" value="uniref"/>
            <param name="e_value" value="1"/>
            <param name="identity" value="40"/>
            <param name="prescreen" value="0.01"/>
            <param name='pathways' value="metacyc"/>
            <param name='xipe' value="false"/>
            <param name='minpath' value="true"/>
            <param name='pick_frames' value="true"/>
            <param name='output_format' value="tsv"/>
            <param name="output_max_dec" value="10"/>
            <output name="gene_families_tsv" file="humann2_m8_gene_families.tsv"/>
            <output name="pathcoverage_tsv" file="humann2_m8_pathcoverage.tsv"/>
            <output name="pathabundance_tsv" file="humann2_m8_pathabundance.tsv"/>
        </test>
        <test>
            <param name="input_file" value="humann2_input.sam"/>
            <param name='taxonomic_profile_test' value="false"/>
            <param name="nucleotide_database" value="chocophlan"/>
            <param name="protein_database" value="uniref"/>
            <param name="e_value" value="1"/>
            <param name="identity" value="40"/>
            <param name="prescreen" value="0.01"/>
            <param name='pathways' value="metacyc"/>
            <param name='xipe' value="false"/>
            <param name='minpath' value="true"/>
            <param name='pick_frames' value="true"/>
            <param name='output_format' value="tsv"/>
            <param name="output_max_dec" value="10"/>
            <output name="gene_families_tsv" file="humann2_sam_gene_families.tsv"/>
            <output name="pathcoverage_tsv" file="humann2_sam_pathcoverage.tsv"/>
            <output name="pathabundance_tsv" file="humann2_sam_pathabundance.tsv"/>
        </test>
    </tests>

    <help><![CDATA[
        **What it does**

        HUMAnN is a pipeline for efficiently and accuretly profiling the presence/absence and abundance of microbial pathways in a community from metagenomic or metatranscriptomic sequencing data. `Read more about the tool <http://huttenhower.sph.harvard.edu/humann2/manual>`_.

        ----- 

        **Input**

        Usually, a single file is the input. It must be one of the following types:

            - filtered shotgun sequencing metagenome file (fastq, fastq.gz, fasta, or fasta.gz format)
            - alignment file (sam, bam or blastm8 format)
            - gene table file (tsv or biom format)

        A file with taxonomic profiles can also be given to be use to select pangenomes in ChocoPhlan database.

        ----- 

        **Outputs**

        HUMAnN creates three output files:

            - Gene family abundance
            - Pathway abundance
            - Pathway coverage

    ]]></help>

    <citations>
    </citations>
</tool>