view align_seqs.xml @ 6:2a132ceae8a8 draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit a4b0969b33a68a0ea9ba12291f6694aec24f13ed
author iuc
date Tue, 30 Oct 2018 19:25:59 -0400
parents 98614f0549e3
children e8bb88f051ec
line wrap: on
line source

<tool id="qiime_align_seqs" name="Align sequences" version="@WRAPPER_VERSION@.0">
    <description> using a variety of alignment methods (align_seqs)</description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="requirements">
        <requirement type="package" version="1.0.2">infernal</requirement>
        <requirement type="package" version="2.1">clustalw</requirement>
        <requirement type="package" version="3.8.1551">muscle</requirement>
        <requirement type="package" version="7.305">mafft</requirement>
        <requirement type="package" version="2.2.22">blast-legacy</requirement>
    </expand>
    <version_command>align_seqs.py --version</version_command>
    <command detect_errors="aggressive"><![CDATA[
align_seqs.py
    --input_fasta_fp '$input_fasta_fp'
    -o output
    --alignment_method '$alignment.alignment_method'
    #if $alignment.alignment_method == 'pynast'
        --pairwise_alignment_method '$alignment.pairwise_alignment_method'
        #if str($alignment.template_fp) != 'None':
            --template_fp '$alignment.template_fp'
        #end if
    #elif $alignment.alignment_method == 'infernal'
        --template_fp '$alignment.template_fp'
    #end if

    #if $min_length:
        --min_length '$min_length'
    #end if
    --min_percent_id '$min_percent_id'
    ]]></command>
    <inputs>
        <param argument="--input_fasta_fp" type="data" format="fasta" label="Input fasta file"/>
        <conditional name="alignment">
            <param argument="--alignment_method" type="select" label="Method for aligning sequences">
                <option value="pynast" selected="True">pynast</option>
                <option value="infernal">infernal</option>
                <option value="clustalw">clustalw</option>
                <option value="muscle">muscle</option>
                <option value="mafft">mafft</option>
            </param>
            <when value="pynast">
                <param argument="--pairwise_alignment_method" type="select" label="Method for performing pairwise alignment in PyNAST">
                    <option value="muscle">muscle</option>
                    <option value="pair_hmm">pair_hmm</option>
                    <option value="clustal">clustal</option>
                    <option value="blast">blast</option>
                    <option value="uclust" selected="True">uclust</option>
                    <option value="mafft">mafft</option>
                </param>
                <param argument="--template_fp" type="data" format="fasta" optional="True" label="Fasta file for template alignment"/>
            </when>
            <when value="infernal">
                <param argument="--template_fp" type="data" format="stockholm" label="Stockholm file with a corresponding secondary structure annotation"/>
            </when>
            <when value="clustalw"/>
            <when value="muscle"/>
            <when value="mafft"/>
        </conditional>
        <param argument="--min_length" type="integer" optional="True" label="Minimum sequence length to include in alignment" help="By default, 75% of the median input sequence length"/>
        <param argument="--min_percent_id" type="float" value="0.75" label="Minimum percent sequence identity to closest blast hit to include sequence in alignment"/>
    </inputs>
    <outputs>
        <data name="aligned_sequences" format="fasta" from_work_dir="output/*_aligned.fasta" label="${tool.name} on ${on_string}: Aligned sequences"/>
        <data name="failures_sequences" format="fasta" from_work_dir="output/*_failures.fasta" label="${tool.name} on ${on_string}: Failure sequences">
            <filter>alignment['alignment_method'] == 'pynast'</filter>
        </data>
        <data name="log" format="txt" from_work_dir="output/*_log.txt" label="${tool.name} on ${on_string}: Log"/>
    </outputs>
    <tests>
        <test><!-- 1 -->
            <param name="input_fasta_fp" value="align_seqs/unaligned.fna"/>
            <param name="alignment_method" value="pynast"/>
            <param name="pairwise_alignment_method" value="uclust" />
            <param name="min_percent_id" value="0.75"/>
            <param name="template_fp" value="align_seqs/core_set_aligned.fasta.imputed"/>
            <output name="aligned_sequences">
                <assert_contents>
                    <has_text text="r0 PC.634_176 RC:1..246"/>
                    <has_text text="r102 PC.634_91 RC:1..238"/>
                    <has_text text="New.0.CleanUp.ReferenceOTU9 PC.355_327 RC:1..244"/>
                </assert_contents>
            </output>
            <output name="failures_sequences">
                <assert_contents>
                    <has_text text="r111 PC.634_173"/>
                    <has_text text="New.0.ReferenceOTU52 PC.636_379"/>
                    <has_text text="New.0.CleanUp.ReferenceOTU33 PC.607_365"/>
                </assert_contents>
            </output>
            <output name="log">
                <assert_contents>
                    <has_text text="PC.634_176"/>
                    <has_text text="New.0.ReferenceOTU13"/>
                    <has_text text="min_len:176"/>
                </assert_contents>
            </output>
        </test>
        <test><!-- 2 -->
            <param name="input_fasta_fp" value="align_seqs/unaligned.fna"/>
            <param name="alignment_method" value="pynast"/>
            <param name="pairwise_alignment_method" value="muscle" />
            <param name="min_length" value="50" />
            <param name="min_percent_id" value="0.75" />
            <output name="aligned_sequences">
                <assert_contents>
                    <has_text text="r0 PC.634_176 RC:1..246"/>
                    <has_text text="r102 PC.634_91 RC:1..238"/>
                    <has_text text="New.0.CleanUp.ReferenceOTU9 PC.355_327 RC:1..244"/>
                </assert_contents>
            </output>
            <output name="failures_sequences" md5="d41d8cd98f00b204e9800998ecf8427e"/>
            <output name="log">
                <assert_contents>
                    <has_text text="PC.634_176"/>
                    <has_text text="New.0.ReferenceOTU13"/>
                    <has_text text="min_len:50"/>
                </assert_contents>
            </output>
        </test>
        <test><!-- 3 -->
            <param name="input_fasta_fp" value="align_seqs/unaligned.fna"/>
            <param name="alignment_method" value="pynast"/>
            <param name="pairwise_alignment_method" value="pair_hmm" />
            <param name="min_percent_id" value="0.75" />
            <output name="aligned_sequences">
                <assert_contents>
                    <has_text text="r0 PC.634_176 RC:1..246"/>
                    <has_text text="r102 PC.634_91 RC:1..238"/>
                    <has_text text="New.0.CleanUp.ReferenceOTU9 PC.355_327 RC:1..244"/>
                </assert_contents>
            </output>
            <output name="failures_sequences" md5="d41d8cd98f00b204e9800998ecf8427e"/>
            <output name="log">
                <assert_contents>
                    <has_text text="PC.634_176"/>
                    <has_text text="New.0.ReferenceOTU13"/>
                    <has_text text="min_len:176"/>
                </assert_contents>
            </output>
        </test>
        <test><!-- 4 -->
            <param name="input_fasta_fp" value="align_seqs/unaligned.fna"/>
            <param name="alignment_method" value="pynast"/>
            <param name="pairwise_alignment_method" value="clustal" />
            <param name="min_percent_id" value="0.75" />
            <output name="aligned_sequences">
                <assert_contents>
                    <has_text text="PC.634_176"/>
                    <has_text text="ReferenceOTU7"/>
                </assert_contents>
            </output>
            <output name="failures_sequences" md5="d41d8cd98f00b204e9800998ecf8427e"/>
            <output name="log">
                <assert_contents>
                    <has_text text="PC.634_176"/>
                    <has_text text="ReferenceOTU7"/>
                </assert_contents>
            </output>
        </test>
        <test><!-- 5 -->
            <param name="input_fasta_fp" value="align_seqs/unaligned.fna"/>
            <param name="alignment_method" value="pynast"/>
            <param name="pairwise_alignment_method" value="blast" />
            <param name="min_percent_id" value="0.75" />
            <output name="aligned_sequences">
                <assert_contents>
                    <has_text text="r0 PC.634_176 RC:1..246"/>
                    <has_text text="r102 PC.634_91 RC:1..238"/>
                    <has_text text="New.0.CleanUp.ReferenceOTU9 PC.355_327 RC:1..244"/>
                </assert_contents>
            </output>
            <output name="failures_sequences" md5="d41d8cd98f00b204e9800998ecf8427e"/>
            <output name="log">
                <assert_contents>
                    <has_text text="PC.634_176"/>
                    <has_text text="New.0.ReferenceOTU13"/>
                    <has_text text="min_len:176"/>
                </assert_contents>
            </output>
        </test>
        <test><!-- 6 -->
            <param name="input_fasta_fp" value="align_seqs/unaligned.fna"/>
            <param name="alignment_method" value="pynast"/>
            <param name="pairwise_alignment_method" value="mafft" />
            <param name="min_percent_id" value="0.75" />
            <output name="aligned_sequences">
                <assert_contents>
                    <has_text text="r0 PC.634_176 RC:1..246"/>
                    <has_text text="r102 PC.634_91 RC:1..238"/>
                    <has_text text="New.0.CleanUp.ReferenceOTU9 PC.355_327 RC:1..244"/>
                </assert_contents>
            </output>
            <output name="failures_sequences" md5="d41d8cd98f00b204e9800998ecf8427e"/>
            <output name="log">
                <assert_contents>
                    <has_text text="PC.634_176"/>
                    <has_text text="New.0.ReferenceOTU13"/>
                    <has_text text="min_len:176"/>
                </assert_contents>
            </output>
        </test>
        <!-- TODO: fix infernal test -->
        <!--<test><!- - 7 - ->
            <param name="input_fasta_fp" value="align_seqs/unaligned.fna"/>
            <param name="alignment_method" value="infernal"/>
            <param name="template_fp" value="align_seqs/core_set_aligned.fasta.imputed"/>
            <output name="aligned_sequences">
                <assert_contents>
                    <has_text text="PC.356_295"/>
                    <has_text text="ReferenceOTU28"/>
                </assert_contents>
            </output>
            <output name="log">
                <assert_contents>
                    <has_text text="PC.356_295"/>
                    <has_text text="ReferenceOTU28"/>
                </assert_contents>
            </output>
        </test>-->
        <test><!-- 8 -->
            <param name="input_fasta_fp" value="align_seqs/unaligned.fna"/>
            <param name="alignment_method" value="clustalw"/>
            <param name="min_percent_id" value="0.75" />
            <output name="aligned_sequences">
                <assert_contents>
                    <has_text text="PC.356_295"/>
                    <has_text text="ReferenceOTU28"/>
                </assert_contents>
            </output>
            <output name="log">
                <assert_contents>
                    <has_text text="CogentAligner"/>
                </assert_contents>
            </output>
        </test>
        <test><!-- 9 -->
            <param name="input_fasta_fp" value="align_seqs/unaligned.fna"/>
            <param name="alignment_method" value="muscle"/>
            <param name="min_percent_id" value="0.75" />
            <output name="aligned_sequences">
                <assert_contents>
                    <has_text text="r143 PC.356_295"/>
                    <has_text text="r70 PC.593_22"/>
                    <has_text text="r178 PC.634_139"/>
                </assert_contents>
            </output>
            <output name="log">
                <assert_contents>
                    <has_text text="CogentAligner parameters"/>
                    <has_text text="Method:muscle"/>
                </assert_contents>
            </output>
        </test>
        <test><!-- 10 -->
            <param name="input_fasta_fp" value="align_seqs/unaligned.fna"/>
            <param name="alignment_method" value="mafft"/>
            <param name="min_percent_id" value="0.75" />
            <output name="aligned_sequences">
                <assert_contents>
                    <has_text text="r143 PC.356_295"/>
                    <has_text text="r175 PC.634_133"/>
                    <has_text text="r178 PC.634_139"/>
                </assert_contents>
            </output>
            <output name="log">
                <assert_contents>
                    <has_text text="CogentAligner parameters"/>
                    <has_text text="Method:mafft"/>
                </assert_contents>
            </output>
        </test>
    </tests>
    <help><![CDATA[
**What it does**

This tool aligns the sequences in a FASTA file to each other or to a template sequence alignment, depending on the method chosen.

More information about this tool is available on
`QIIME documentation <http://qiime.org/scripts/align_seqs.html>`_.
    ]]></help>
    <citations>
        <expand macro="citations"/>
        <citation type="doi">10.1093/bioinformatics/btp636</citation>
        <citation type="doi">10.1093/nar/gkh340</citation>
        <citation type="doi">10.1093/bioinformatics/btp157</citation>
    </citations>
</tool>