view pick_open_reference_otus.xml @ 1:d68b2ef52012 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit a831282140ce160035a4ce984f48cc20198ed0a1
author iuc
date Thu, 22 Jun 2017 07:00:25 -0400
parents f668a753bcfc
children 41482ca21d31
line wrap: on
line source

<tool id="qiime_pick_open_reference_otus" name="Perform open-reference OTU picking" version="@WRAPPER_VERSION@.0">
    <description></description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="requirements"/>
    <version_command>pick_open_reference_otus.py --version</version_command>
    <command detect_errors="aggressive"><![CDATA[
        pick_open_reference_otus.py
            --input_fps '$input_fps'
            -o otus
            --otu_picking_method '$otu_picking_method'
            #if str( $ref_sequences.selector ) == 'history'
                #set $ref = $ref_sequences.reference_fp
            #else:
                #set $ref = $ref_sequences.reference_fp.fields.path
            #end if
            --reference_fp '$ref'
            #if str( $prefilter.use_prefilter ) == 'yes'
                #if str( $prefilter.prefilter_ref_seq.selector ) == 'history'
                    #set $ref = $prefilter.prefilter_ref_seq.prefilter_refseqs_fp
                #else:
                    #set $ref = $prefilter.prefilter_ref_seq.prefilter_refseqs_fp.fields.path
                #end if
                --prefilter_refseqs_fp '$ref'
            #end if
            --new_ref_set_id '$new_ref_set_id'
            $parallel
            -O "\${GALAXY_SLOTS:-4}"
            --percent_subsample '$percent_subsample'
            --prefilter_percent_id '$prefilter_percent_id'
            #if str($step1_otu_map_fp) != 'None':
                --step1_otu_map_fp '$step1_otu_map_fp'
            #end if
            #if str($step1_failures_fasta_fp) != 'None':
                --step1_failures_fasta_fp='$step1_failures_fasta_fp'
            #end if
            --minimum_failure_threshold '$minimum_failure_threshold'
            $suppress_step4
            --min_otu_size '$min_otu_size'
            $suppress_taxonomy_assignment
            $suppress_align_and_tree

        #if str( $suppress_align_and_tree ) == ""
            #if str( $suppress_taxonomy_assignment ) == ""
                && mv otus/otu_table_mc*_w_tax.biom otus/otu_table_w_tax.biom
                && mv otus/otu_table_mc*_w_tax_no_pynast_failures.biom otus/tu_table_w_tax_no_pynast_failures
            #else
                && mv otus/otu_table_mc*_no_pynast_failures.biom otus/otu_table_no_pynast_failures.biom
            #end if
        #end if

    ]]></command>
    <inputs>
        <param argument="--input_fps" type="data" format="fasta,fastq" multiple="True" label="Input sequence files"/>
        <param argument="--otu_picking_method" type="select" label="The OTU picking method to use for reference and de novo steps">
            <option value="uclust" selected="True">uclust</option>
        </param>
        <conditional name="ref_sequences">
            <param name="selector" type="select"  label="Reference sequences to query">
                <option value="cached" selected="True">Public databases</option>
                <option value="history">Databases from your history</option>
            </param>
            <when value="cached">
                <param argument="--reference_fp" label="Reference sequences" type="select">
                    <options from_data_table="qiime_rep_set"/>
                </param>
            </when>
            <when value="history">
                <param argument="--reference_fp" type="data" format="fasta" label="Reference databases"/>
            </when>
        </conditional>
        <conditional name="prefilter">
            <param name="use_prefilter" type="select" label="Use different reference sequences for the prefilter?">
                <option value="true">True</option>
                <option value="false" selected="True">False</option>
            </param>
            <when value="true">
                <conditional name="prefilter_ref_seq">
                    <param name="selector" type="select" label="Reference sequences to query">
                        <option value="cached" selected="True">Public databases</option>
                        <option value="history">Databases from your history</option>
                    </param>
                    <when value="cached">
                        <param argument="--prefilter_refseqs_fp" label="Reference sequences" type="select">
                            <options from_data_table="qiime_rep_set"/>
                        </param>
                    </when>
                    <when value="history">
                        <param argument="--prefilter_refseqs_fp" type="data" format="fasta" label="Reference databases"/>
                    </when>
                </conditional>
            </when>
            <when value="false"/>
        </conditional>
        <param argument="--new_ref_set_id" type="text" value="New" label="Unique identifier for OTUs that get created in this ref set" help="This is useful to support combining of reference sets"/>
        <param argument="--parallel" type="boolean" truevalue="--parallel" falsevalue="" checked="False" label="Run in parallel where available?"/>
        <param argument="--percent_subsample" type="float" value="0.001" min="0" max="1" label="Percent of failure sequences to include in the subsample to cluster de novo" help="Large numbers should give more comprehensive results but will be slower"/>
        <param argument="--prefilter_percent_id" type="float" value="0.0" min="0" max="1" label="Percent of sequence pre-cluster against the reference" help="Any reads which fail to hit are discarded (a quality filter)"/>
        <param argument="--step1_otu_map_fp" type="data" format="txt" optional="True" label="Reference OTU picking OTU map to avoid rebuilding if one has already been built (optional)" help="This must be an OTU map generated by this workflow, not (for example) by pick_closed_reference_otus"/>
        <param argument="--step1_failures_fasta_fp" type="data" format="fasta" optional="True" label="Reference OTU picking failures fasta filepath, to avoid rebuilding if one has already been built (optional)" help="This must be a failures file generated by this workflow, not (for example) by pick_closed_reference_otus"/>
        <param argument="--minimum_failure_threshold" type="integer" value="100000" label="Minimum number of sequences that must fail to hit the reference for subsampling to be performed" help="If fewer than this number of sequences fail to hit the reference, the de novo clustering step will run serially rather than invoking the subsampled open reference approach to improve performance"/>
        <param argument="--suppress_step4" type="boolean" truevalue="--suppress_step4" falsevalue="" checked="False" label="Suppress the final de novo OTU picking step?" help="It may be necessary for extremely large data sets"/>
        <param argument="--min_otu_size" type="integer" value="2" label="Minimum otu size to retain the OTU" help=""/>
        <param argument="--suppress_taxonomy_assignment" type="boolean" truevalue="--suppress_taxonomy_assignment" falsevalue="" checked="False" label="Skip the taxonomy assignment step?" help="It results in an OTU table without taxonomy"/>
        <param argument="--suppress_align_and_tree" type="boolean" truevalue="--suppress_align_and_tree" falsevalue="" checked="False" label="Skip the sequence alignment and tree-building steps?" help=""/>
    </inputs>
    <outputs>
        <data name="final_otu_map" format="txt" from_work_dir="otus/final_otu_map.txt" label="${tool.name} on ${on_string}: Final OTU map"/>
        <data name="final_otu_map_mc" format="txt" from_work_dir="otus/final_otu_map_mc*.txt" label="${tool.name} on ${on_string}: Final OTU map without the OTUs failing the minimum specified OTU size"/>
        <data name="rep_set" format="fasta" from_work_dir="otus/rep_set.fna" label="${tool.name} on ${on_string}: OTU representative sequences"/>
        <data name="otu_table_mc" format="biom1" from_work_dir="otus/otu_table_mc*.biom" label="${tool.name} on ${on_string}: OTU table"/>
        <data name="otu_table_mc_w_tax" format="biom1" from_work_dir="otus/otu_table_w_tax.biom" label="${tool.name} on ${on_string}: OTU table with taxonomic assignment">
            <filter>suppress_taxonomy_assignment is False</filter>
        </data>
        <data name="otu_table_mc_w_tax_no_pynast_failures" format="biom1" from_work_dir="otus/otu_table_w_tax_no_pynast_failures.biom"  label="${tool.name} on ${on_string}: OTU table with taxonomic assignment and without sequences failing the alignment to the OTU representative sequences">
            <filter>suppress_taxonomy_assignment is False and suppress_align_and_tree is False</filter>
        </data>
        <data name="otu_table_mc_no_pynast_failures" format="biom1" from_work_dir="otus/otu_table_no_pynast_failures.biom"  label="${tool.name} on ${on_string}: OTU table without sequences failing the alignment to the OTU representative sequences">
            <filter>suppress_taxonomy_assignment is True and suppress_align_and_tree is False</filter>
        </data>
        <data name="rep_set_tree" format="txt" from_work_dir="otus/rep_set.tre" label="${tool.name} on ${on_string}: Representative set tree">
            <filter>suppress_align_and_tree is False</filter>
        </data>
        <data name="new_refseqs" format="fasta" from_work_dir="otus/new_refseqs.fna" label="${tool.name} on ${on_string}: New reference sequences (OTU + input reference sequences)"/>
    </outputs>
    <tests>
        <test>
            <param name="input_fps" value="pick_open_reference_otus/sequences.fasta"/>
            <param name="otu_picking_method" value="uclust"/>
            <conditional name="ref_sequences">
                <param name="selector" value="history"/>
                <param name="reference_fp" value="pick_open_reference_otus/gg_13_8_79_otus.fasta"/>
            </conditional>
            <conditional name="prefilter">
                <param name="use_prefilter" value="false"/>
            </conditional>
            <param name="new_ref_set_id" value="New"/>
            <param name="parallel" value="--parallel"/>
            <param name="percent_subsample" value="0.001"/>
            <param name="prefilter_percent_id" value="0.0"/>
            <param name="minimum_failure_threshold" value="100000"/>
            <param name="suppress_step4" value=""/>
            <param name="min_otu_size" value="2"/>
            <param name="suppress_taxonomy_assignment" value=""/>
            <param name="suppress_align_and_tree" value=""/>
            <output name="final_otu_map" value="pick_open_reference_otus/1_final_otu_map.txt"/>
            <output name="final_otu_map_mc" value="pick_open_reference_otus/1_final_otu_map_mc.txt"/>
            <output name="rep_set">
                <assert_contents>
                    <has_line line=">4374484 L1S8_76"></has_line>
                    <has_text text=">New.CleanUp.ReferenceOTU6 L1S208_7"></has_text>
                </assert_contents>
            </output>
            <output name="rep_set_tree" value="pick_open_reference_otus/1_rep_set_tree.tre"/>
            <output name="new_refseqs">
                <assert_contents>
                    <has_line line=">1109493"></has_line>
                    <has_text text=">945028"></has_text>
                    <has_text text=">4437874"></has_text>
                    <has_text text=">New.CleanUp.ReferenceOTU6 L1S208_7"></has_text>
                </assert_contents>
            </output>
        </test>
        <test>
            <param name="input_fps" value="pick_open_reference_otus/sequences.fasta"/>
            <param name="otu_picking_method" value="uclust"/>
            <conditional name="ref_sequences">
                <param name="selector" value="history"/>
                <param name="reference_fp" value="pick_open_reference_otus/gg_13_8_79_otus.fasta"/>
            </conditional>
            <conditional name="prefilter">
                <param name="use_prefilter" value="false"/>
            </conditional>
            <param name="new_ref_set_id" value="New"/>
            <param name="parallel" value="--parallel"/>
            <param name="percent_subsample" value="0.001"/>
            <param name="prefilter_percent_id" value="0.0"/>
            <param name="minimum_failure_threshold" value="100000"/>
            <param name="suppress_step4" value=""/>
            <param name="min_otu_size" value="3"/>
            <param name="suppress_taxonomy_assignment" value="--suppress_taxonomy_assignment"/>
            <param name="suppress_align_and_tree" value="--suppress_align_and_tree"/>
            <output name="final_otu_map" value="pick_open_reference_otus/2_final_otu_map.txt"/>
            <output name="final_otu_map_mc" value="pick_open_reference_otus/2_final_otu_map_mc.txt"/>
            <output name="rep_set">
                <assert_contents>
                    <has_line line=">4374484 L1S8_76"></has_line>
                    <has_text text=">New.CleanUp.ReferenceOTU6 L1S208_7"></has_text>
                </assert_contents>
            </output>
            <output name="new_refseqs">
                <assert_contents>
                    <has_line line=">1109493"></has_line>
                    <has_text text=">945028"></has_text>
                    <has_text text=">4437874"></has_text>
                    <has_text text=">New.CleanUp.ReferenceOTU6 L1S208_7"></has_text>
                </assert_contents>
            </output>
        </test>
        <test>
            <param name="input_fps" value="pick_open_reference_otus/sequences.fasta"/>
            <param name="otu_picking_method" value="uclust"/>
            <conditional name="ref_sequences">
                <param name="selector" value="history"/>
                <param name="reference_fp" value="pick_open_reference_otus/gg_13_8_79_otus.fasta"/>
            </conditional>
            <conditional name="prefilter">
                <param name="use_prefilter" value="false"/>
            </conditional>
            <param name="new_ref_set_id" value="New"/>
            <param name="parallel" value="--parallel"/>
            <param name="percent_subsample" value="0.001"/>
            <param name="prefilter_percent_id" value="0.0"/>
            <param name="minimum_failure_threshold" value="100000"/>
            <param name="suppress_step4" value=""/>
            <param name="min_otu_size" value="10"/>
            <param name="suppress_taxonomy_assignment" value="--suppress_taxonomy_assignment"/>
            <param name="suppress_align_and_tree" value=""/>
            <output name="final_otu_map" value="pick_open_reference_otus/3_final_otu_map.txt"/>
            <output name="final_otu_map_mc" value="pick_open_reference_otus/3_final_otu_map_mc.txt"/>
            <output name="rep_set">
                <assert_contents>
                    <has_line line=">New.CleanUp.ReferenceOTU20 L1S8_4"></has_line>
                    <has_text text=">New.CleanUp.ReferenceOTU21 L1S140_45"></has_text>
                    <has_text text=">New.CleanUp.ReferenceOTU22 L1S208_15"></has_text>
                </assert_contents>
            </output>
            <output name="rep_set_tree" value="pick_open_reference_otus/3_rep_set_tree.tre"/>
            <output name="new_refseqs">
                <assert_contents>
                    <has_line line=">1109493"></has_line>
                    <has_text text=">945028"></has_text>
                    <has_text text=">4431138"></has_text>
                    <has_text text=">New.CleanUp.ReferenceOTU22 L1S208_15"></has_text>
                </assert_contents>
            </output>
        </test>
    </tests>
    <help><![CDATA[
**What it does**

This tool performs open-reference OTU picking from sequences.

This script is broken down into 4 possible OTU picking steps, and 2 steps
involving the creation of OTU tables and trees.

More information about this tool is available on
`QIIME documentation <http://qiime.org/scripts/pick_open_reference_otus.html>`_.
    ]]></help>
    <citations>
        <expand macro="citations"/>
    </citations>
</tool>