view mafft.xml @ 2:d71e007323d4 draft

planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/mafft commit ef7eb622ae8ea3a2a5aa5f5d2c9eaf41367bfef9-dirty
author rnateam
date Tue, 04 Aug 2015 04:01:23 -0400
parents 5e48c4621f9f
children a681631ccee6
line wrap: on
line source

<tool id="rbc_mafft" name="MAFFT" version="7.221.1">
    <description>Multiple alignment program for amino acid or nucleotide sequences</description>
    <requirements>
        <requirement type="package" version="7.221">mafft</requirement>
    </requirements>
    <stdio>
        <exit_code range="1:" level="fatal" description="Error occurred. Please check Tool Standard Error" />
        <exit_code range=":-1" level="fatal" description="Error occurred. Please check Tool Standard Error" />
    </stdio>
    <version_command>
    <![CDATA[
        mafft --version
    ]]>
    </version_command>
    <command>
    <![CDATA[
        #if $cond_flavour.flavourType != 'custom'
            $cond_flavour.flavourType
        #elif $cond_flavour.flavourType == 'custom'
            ### full parameter options
            mafft
        #end if
        
        ## specify threads to use
        --thread \${GALAXY_SLOTS:-1}
      
        $adjustdirection
        
        #if $outputFormat.value == 'clustalw'
            --clustalout
        #end if
        
        $inputSequences > 
        
        #if $outputFormat.value == 'fasta'
            $outputFasta
        #elif $outputFormat.value == 'clustalw'
            $outputClustalW
        #end if
    ]]>
    </command>
    <inputs>
        <param name="inputSequences" type="data" format="fasta" label="Sequences to align" help="Amino acid or nucleotide sequences in FASTA format."/>
        <conditional name="cond_flavour">
            <param name="flavourType" type="select" label="MAFFT flavour" help="Run mafft with pre-defined input parameters. Specification of these parameters can be found in the help section.">
                <option value="mafft-fftns" selected="true">fftns</option>
                <option value="mafft --auto">auto</option>
                <option value="mafft-fftnsi">fftnsi</option>
                <option value="mafft-nwns">nwns</option>
                <option value="mafft-nwnsi">nwnsi</option>
                <option value="mafft-einsi">einsi</option>
                <option value="mafft-ginsi">ginsi</option>
                <option value="mafft-linsi">linsi</option>
                <option value="mafft-qinsi">qinsi</option>
                <option value="mafft-xinsi">xinsi</option>
                <!-- <option value="custom">Custom Parameters</option> this should trigger tweaking of all parameters -->
            </param>
            <when value="mafft-fftns"/>
            <when value="mafft --auto"/>
            <when value="mafft-fftnsi"/>
            <when value="mafft-nwns"/>
            <when value="mafft-nwnsi"/>
            <when value="mafft-einsi"/>
            <when value="mafft-ginsi"/>
            <when value="mafft-linsi"/>
            <when value="mafft-qinsi"/>
            <when value="mafft-xinsi"/>
        </conditional>
        <param name="adjustdirection" type="select" display="radio" label="Direction of nucleotide sequences" help="Generate reverse complement sequences, as necessary, and align them together with the remaining sequences">
            <option value="--adjustdirection">adjust direction</option>
            <option value=" " selected="true">do not adjust direction</option>
            </param>
        <param name="outputFormat" type="select" label="Output format" help="Either FASTA or ClustalW">
            <option value="fasta" selected="true">FASTA</option>
            <option value="clustalw">ClustalW</option>
        </param>
    </inputs>
    <outputs>
        <data format="fasta" name="outputFasta" label="${tool.name} on ${on_string}">
            <filter>outputFormat == 'fasta'</filter>
        </data>
        <data format="clustal" name="outputClustalW" label="${tool.name} on ${on_string}">
            <filter>outputFormat == 'clustalw'</filter>
        </data>
    </outputs>
    <tests>
        <test>
            <param name="inputSequences" value="sample.fa"/>
            <param name="flavourType" value="mafft-fftns"/>
            <param name="outputFormat" value="fasta"/>
            <output name="outputFasta" ftype="fasta" file="mafft_fftns_result.aln"/>
        </test>
        <test>
            <param name="inputSequences" value="sample.fa"/>
            <param name="flavourType" value="mafft-nwns"/>
            <param name="outputFormat" value="clustalw"/>
            <output name="outputClustalW" ftype="clustal" file="mafft_nwns_result.aln"/>
        </test>
    </tests>
    <help>
    <![CDATA[
**What it does**

MAFFT is a multiple sequence alignment program for unix-like operating systems.  
It offers a range of multiple alignment methods, L-INS-i (accurate; for alignment of <∼200 sequences), 
FFT-NS-2 (fast; for alignment of <∼30,000 sequences), etc.

From the MAFFT man page, an overview of the different predefined flavours of the tool.

**Accuracy-oriented methods:**

- L-INS-i (probably most accurate; recommended for <200 sequences; iterative refinement method incorporating local pairwise alignment information):
    
    - mafft --localpair --maxiterate 1000 input [> output]

- G-INS-i (suitable for sequences of similar lengths; recommended for <200 sequences; iterative refinement method incorporating global pairwise alignment information):
    
    - mafft --globalpair --maxiterate 1000 input [> output]

- E-INS-i (suitable for sequences containing large unalignable regions; recommended for <200 sequences):
    
    - mafft --ep 0 --genafpair --maxiterate 1000 input [> output]. For E-INS-i, the --ep 0 option is recommended to allow large gaps. 


**Speed-oriented methods:**

- FFT-NS-i (iterative refinement method; two cycles only):

    - mafft --retree 2 --maxiterate 2 input [> output]

- FFT-NS-i (iterative refinement method; max. 1000 iterations):

    - mafft --retree 2 --maxiterate 1000 input [> output]

- FFT-NS-2 (fast; progressive method):

    - mafft --retree 2 --maxiterate 0 input [> output]

- FFT-NS-1 (very fast; recommended for >2000 sequences; progressive method with a rough guide tree):

    - mafft --retree 1 --maxiterate 0 input [> output]

- NW-NS-i (iterative refinement method without FFT approximation; two cycles only):

    - mafft --retree 2 --maxiterate 2 --nofft input [> output]

- NW-NS-2 (fast; progressive method without the FFT approximation):

    - mafft --retree 2 --maxiterate 0 --nofft input [> output]

- NW-NS-PartTree-1 (recommended for ~10,000 to ~50,000 sequences; progressive method with the PartTree algorithm):

    - mafft --retree 1 --maxiterate 0 --nofft --parttree input [> output]

**Options:**

--auto
    Automatically selects an appropriate strategy from L-INS-i, FFT-NS-i and FFT-NS-2, according to data size. Default: off (always FFT-NS-2)
--adjustdirection
    Generate reverse complement sequences, as necessary, and align them together with the remaining sequences. In the case of protein alignment, these options are just ignored.
    ]]>
    </help>
    <citations>
        <citation type="doi">10.1093/molbev/mst010</citation>
    </citations>
</tool>