view metaphlan2.xml @ 28:1d993cca38e3 draft

planemo upload for repository https://github.com/ASaiM/galaxytools/tree/master/tools/metaphlan2/ commit b467108d731001d89920aee31433a5b0a623c251-dirty
author bebatut
date Thu, 28 Apr 2016 07:04:50 -0400
parents fb2dc25a832d
children 713a83023626
line wrap: on
line source

<tool id="metaphlan2" name="MetaPhlAn2" version="2.5.0">

    <description>to profile the composition of microbial communities</description>

    <macros>
        <import>metaphlan2_macros.xml</import>
    </macros>

    <expand macro="requirements"/>
    <expand macro="stdio"/>

    <version_command>
<![CDATA[
metaphlan2.py -v
]]>
    </version_command>

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

        &&

        metaphlan2.py
            $input_file
            -o $output_file

            --input_type ${input_file.datatype.file_ext}

            #if $mpa_pkl.mpa_pkl_selector == "cached"
                #set $mpa_pkl_table = dict([(_[0], _[2]) for _ in $mpa_pkl.cached_mpa_pkl.input.options.tool_data_table.data])
                #set $mpa_pkl_db = $mpa_pkl.cached_mpa_pkl.value
                --mpa_pkl $mpa_pkl_table[$mpa_pkl_db]
            #else
                --mpa_pkl $mpa_pkl.history_mpa_pkl
            #end if

            --bowtie2_exe `which bowtie2`

            #if $bowtie2db.bowtie2db_selector == "cached"
                #set $bowtie2_table = dict([(_[0], _[2]) for _ in $bowtie2db.cached_bowtie2db.input.options.tool_data_table.data])
                #set $bowtie2db_choice = $bowtie2db.cached_bowtie2db.value
                --bowtie2db $bowtie2_table[$bowtie2db_choice]
            #else
                --bowtie2db $bowtie2db.history_bowtie2db
            #end if

            --no_map

            -t $analysis_type.analysis_type_select
            #if $analysis_type.analysis_type_select == "rel_ab"
                --tax_lev $analysis_type.taxonomic_level 
            #else if $analysis_type.analysis_type_select == "marker_ab_table"
                --nreads $analysis_type.nreads
            #else if $analysis_type.analysis_type_select == "marker_pres_table"
                --pres_th $analysis_type.pres_th 
            #end if

            --min_cu_len $min_cu_len
            --min_alignment_len $min_alignment_len

            $ignore_viruses
            $ignore_eukaryotes
            $ignore_bacteria
            $ignore_archaea

            --stat_q $stat_q

            #if $sam_output
                -s $sam_output_file
            #end if

            #if $biom_output
                --biom $biom_output_file
            #end if
]]>
    </command>

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

        <conditional name="mpa_pkl">
            <param name="mpa_pkl_selector" type="select" label="Metadata" help="">
                <option value="cached" selected="true">Locally cached</option>
                <option value="history">From history</option>
            </param>

            <when value="cached">
                <param name="cached_mpa_pkl" label="Cached metadata" type="select">
                <options from_data_table="metaphlan2_metadata" />
                </param>
            </when>
            <when value="history">
                <param name="history_mpa_pkl" type="data" format="fasta" label="Metadata from history"/>
            </when>
        </conditional>

        <conditional name="bowtie2db">
            <param name="bowtie2db_selector" type="select" label="BowTie2 database" help="">
                <option value="cached" selected="true">Locally cached</option>
                <option value="history">From history</option>
            </param>

            <when value="cached">
                <param name="cached_bowtie2db" label="Cached BowTie2 database" type="select" >
                <options from_data_table="metaphlan2_bowtie_db" />
                </param>
            </when>
            <when value="history">
                <param name="history_bowtie2db" type="data" format="fasta" label="BowTie2 database from history"/>
            </when>
        </conditional>

        <conditional name="analysis_type">
            <param name="analysis_type_select" type="select" label="Type of analysis to perform">
              <option value="rel_ab" selected="true">Profiling a metagenomes in terms of relative abundances</option>
              <option value="reads_map">Mapping from reads to clades (only reads hitting a marker)</option>
              <option value="clade_profiles">Normalized marker counts for clades with at least a non-null marker</option>
              <option value="marker_ab_table">Normalized marker counts (only when > 0.0 and normalized by metagenome size if --nreads is specified)</option>
              <option value="marker_counts">Non-normalized marker counts (use with extreme caution)</option>
              <option value="marker_pres_table">List of markers present in the sample (threshold at 1.0 if not differently specified with --pres_th</option>
            </param>

            <when value="rel_ab">
              <param name="taxonomic_level" type="select" label="Taxonomic level for the relative abundance output">
                <option value="a" selected="true">All taxonomic levels</option>
                <option value="k">Kingdoms (Bacteria and Archaea) only</option>
                <option value="p">Phyla only</option>
                <option value="c">Classes only</option>
                <option value="o">Orders only</option>
                <option value="f">Families only</option>
                <option value="g">Genera only</option>
                <option value="s">Species only</option>
              </param>
            </when>

            <when value="reads_map"/>
            <when value="clade_profiles"/>

            <when value="marker_ab_table">
                <param name="nreads" type="integer" value="0" label="Total number of reads in the original metagenome" help="It is used for normalizing the length-normalized counts with the metagenome size as well. No normalization applied if the value is not specified"/>
            </when>

            <when value="marker_counts"/>

            <when value="marker_pres_table">
                <param name="pres_th" type="integer" value="0" label=" Threshold for calling a marker present" help=""/>
            </when>
        </conditional>

        <param name="min_cu_len" type="integer" value="2000" label="Minimum total nucleotide length for the markers in a clade for estimating the abundance without considering sub-clade abundances" help=""/>

        <param name="min_alignment_len" type="integer" value="0" label="Sam records for aligned reads with the longest subalignment length smaller than this threshold will be discarded." help=""/>

        <param name="ignore_viruses" type='boolean' checked="true" truevalue='' falsevalue='--ignore_viruses' label="Profile viral organisms?" help="" />
        <param name="ignore_eukaryotes" type='boolean' checked="true" truevalue='' falsevalue='--ignore_eukaryotes' label="Profile eukaryotic organisms?" help="" />

        <param name="ignore_bacteria" type='boolean' checked="true" truevalue='' falsevalue='--ignore_bacteria' label="Profile bacteria organisms?" help="" />

        <param name="ignore_archaea" type='boolean' checked="true" truevalue='' falsevalue='--ignore_archaea' label="Profile archea organisms?" help="" />

        <param name="stat_q" type="float" value="0.1" label="Quantile value for the robust average" help=""/>

        <param name="sam_output" type='boolean' label="Output a sam file?" help="" />

        <param name="biom_output" type='boolean' label="Output a biom file?" help="" />
    </inputs>

    <outputs>
        <data format="tabular" name="output_file" 
            metadata="input_sequence_file" 
            label="${tool.name} on ${on_string}: Community profile" />

        <data format="sam" name="sam_output_file" 
            metadata="input_sequence_file" 
            label="${tool.name} on ${on_string}: Sam file">
            <filter>sam_output</filter>
        </data>
        <data format="biom" name="biom_output_file" 
            metadata="input_sequence_file" 
            label="${tool.name} on ${on_string}: Biom file">
            <filter>biom_output</filter>
        </data>
    </outputs>

    <tests>
        <test>
            <param name="input_file" value="metaphlan2_input_sequences.fastq"/>
            <param name="mpa_pkl" value="" />
            <param name="bowtie2db" value="" />
            <param name="analysis_type_select" value="rel_ab" />
            <param name="taxonomic_level" value="a" />
            <param name="min_cu_len" value="2000" />
            <param name="min_alignment_len" value="0" />
            <param name="ignore_viruses" value="" />
            <param name="ignore_eukaryotes" value="" />
            <param name="ignore_bacteria" value="" />
            <param name="ignore_archaea" value="" />
            <param name="stat_q" value="0.1" />
            <param name="sam_output" value='false' />
            <param name="biom_output" value='false' />
            <output name="output_file" file="metaphlan2_profiled_metagenome.txt"/>
        </test>
    </tests>

    <help><![CDATA[

**What it does**

MetaPhlAn is a computational tool for profiling the composition of microbial communities (Bacteria, Archaea, Eukaryotes and Viruses) from metagenomic shotgun sequencing data with species level resolution. For more information, check the `user manual <https://bitbucket.org/biobakery/metaphlan2/>`_.

Metaphlan2 takes as input a sequence file in fasta, fastq, a BowTie2 produced
SAM file or an intermediary mapping file of the metagenome generated by a 
previous MetaPhlAn

Several parameters can modulate the MetaPhlAn execution

    * Mapping arguments

        * Test to avoid saving the output of BowTie2

    * Post-mapping arguments

        * Taxonomic level for the relative abundance output
        * Minimum total nucleotide length for the markers in a clade for estimating the abundance without considering sub-clade abundances
        * Sam records for aligned reads with the longest subalignment length smaller than this threshold will be discarded
        * Tests to avoid profiling of virus, eukaryotes, bacteria and/or archea
        * Quantile value

    * Additional analysis types and arguments

        * Type of analyse to perform and some parameters for specific analysis type


The main output file is a tab-separated output file of the predicted taxon 
relative abundances.

    ]]></help>

    <citations>
        <citation type="doi">10.1038/nmeth.3589</citation>
    </citations>
</tool>