view exonerate.xml @ 3:a03dead1bede draft default tip

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/exonerate commit a141c63903d1a598569985e400125d4e7de42801"
author iuc
date Sun, 01 Mar 2020 04:48:34 -0500
parents b03ae2ba8688
children
line wrap: on
line source

<tool id="exonerate" name="Exonerate" profile="16.04" version="@VERSION@+galaxy2">
    <description>pairwise sequence comparison</description>
    <macros>
	<import>macros.xml</import>
    </macros>
    <expand macro="requirements"/>
    <command><![CDATA[
        exonerate

        --query '$query'

        #if str( $ref_seq.ref_seq_selector ) == "personal"
            --target '${ref_seq.input_fasta}'
        #else
            --target '${ref_seq.input_fasta.fields.path}'
        #end if

        --score $score
        --percent $percent
        --bestn $bestn
        --verbose 0

        #if str($model) != "ungapped"
            --model '${model}'
        #end if

        #if str($model) == "est2genome"
            --querytype dna --targettype dna
        #elif str($model) == "protein2genome"
            --querytype protein --targettype dna
        #elif str($model) == "coding2coding"
            --querytype dna --targettype dna
        #end if

        #if $minintron
            --minintron ${minintron}
        #end if

        #if $maxintron
            --maxintron ${maxintron}
        #end if

        --cores \${GALAXY_SLOTS:-1}

        #if str($outformat) == "alignment"
            --showalignment yes --showvulgar no > '${output_ali}'
        #elif str($outformat) == "targetgff"
            --showalignment no --showvulgar no --showtargetgff yes --showquerygff no > '${output_gff}'
        #elif str($outformat) == "querygff"
            --showalignment no --showvulgar no --showtargetgff no --showquerygff yes > '${output_gff}'
        #end if

        ## Produce a more standard GFF3
        #if str($outformat) in ["targetgff", "querygff"]
            && python '$__tool_directory__/exonerategff_to_gff3.py' '${output_gff}' > '${output_gff3}'
        #end if
    ]]></command>

    <inputs>
        <param argument="--query" type="data" format="fasta" label="Select the query sequence(s) in fasta" />

        <conditional name="ref_seq">
            <param name="ref_seq_selector" type="select" label="Reference sequence(s)">
                <option selected="True" value="database">Use a built-in genome</option>
                <option value="personal">Use a genome from history</option>
            </param>
            <when value="database">
                <param
                  help="If your genome of interest is not listed, contact the Galaxy server administrators"
                  label="Reference sequence(s)"
                  name="input_fasta"
                  type="select"
                  >
                    <options from_data_table="all_fasta">
                        <filter column="2" type="sort_by" />
                        <validator message="No sequences are available" type="no_options" />
                    </options>
                </param>
            </when>
            <when value="personal">
                <param name="input_fasta" type="data" format="fasta" label="Reference sequence(s)" />
            </when>
        </conditional>

        <param name='model' type='select' label="Alignment method">
            <option value="ungapped" selected="true">Simple ungapped alignment</option>
            <option value="est2genome">est2genome: align cDNA to a genome</option>
            <option value="protein2genome">protein2genome: align proteins to a genome</option>
            <option value="coding2coding">coding2coding: 6-frame translated alignment of DNA sequences</option>
        </param>
        <param name='outformat' type='select' label="Output format">
            <option value="targetgff" selected="true">GFF on target sequence(s)</option>
            <option value="querygff">GFF on query sequence(s)</option>
            <option value="alignment">Human readable alignment</option>
        </param>
        <param name='score' type='integer' min="0" max="10000" value="100" label="Score threshold for gapped alignment"/>
        <param name='percent' type='float' min="0" max="100" value="0.0" label="Report alignment over a percentage of the maximum score attainable by each query"/>
        <param name='bestn' type='integer' min="0" max="10000" value="0" label="Report best N results per query (0 to report all)"/>
        <param argument='--minintron' type='integer' optional="true" label="Minimum intron length limit" help="This is not a hard limit - it only affects size of introns which are sought during heuristic alignment."/>
        <param argument='--maxintron' type='integer' optional="true" label="Maximum intron length limit" help="This is not a hard limit - it only affects size of introns which are sought during heuristic alignment."/>
    </inputs>
    <outputs>
        <data name="output_gff" format="gff" label="${tool.name} on $on_string - Raw GFF">
            <filter>outformat != 'alignment'</filter>
        </data>
        <data name="output_gff3" format="gff3" label="${tool.name} on $on_string - GFF3">
            <filter>outformat != 'alignment'</filter>
        </data>
        <data name="output_ali" format="txt" label="${tool.name} on $on_string">
            <filter>outformat == 'alignment'</filter>
        </data>
    </outputs>
    <tests>
        <test>
            <param name="query" value="genome.fa"/>
            <conditional name="ref_seq">
                <param name="ref_seq_selector" value="personal"/>
                <param name="input_fasta" value="genome.fa"/>
            </conditional>
            <param name="outformat" value="targetgff"/>
            <output name="output_gff" file="out_target.gff" lines_diff="8"/>
            <output name="output_gff3" file="out_target.gff3" lines_diff="8"/>
        </test>
        <test>
            <param name="query" value="genome.fa"/>
            <conditional name="ref_seq">
                <param name="ref_seq_selector" value="database"/>
                <param name="input_fasta" value="merlin"/>
            </conditional>
            <param name="outformat" value="targetgff"/>
            <output name="output_gff" file="out_target.gff" lines_diff="8"/>
            <output name="output_gff3" file="out_target.gff3" lines_diff="8"/>
        </test>
        <test>
            <param name="query" value="genome.fa"/>
            <conditional name="ref_seq">
                <param name="ref_seq_selector" value="personal"/>
                <param name="input_fasta" value="genome.fa"/>
            </conditional>
            <param name="outformat" value="querygff"/>
            <output name="output_gff" file="out_query.gff" lines_diff="8"/>
            <output name="output_gff3" file="out_query.gff3" lines_diff="8"/>
        </test>
        <test>
            <param name="query" value="genome.fa"/>
            <conditional name="ref_seq">
                <param name="ref_seq_selector" value="personal"/>
                <param name="input_fasta" value="genome.fa"/>
            </conditional>
            <param name="outformat" value="alignment"/>
            <output name="output_ali" file="out.txt"/>
        </test>
        <test>
            <param name="query" value="transcriptome.fa"/>
            <conditional name="ref_seq">
                <param name="ref_seq_selector" value="personal"/>
                <param name="input_fasta" value="genome.fa"/>
            </conditional>
            <param name="model" value="est2genome"/>
            <param name="outformat" value="targetgff"/>
            <output name="output_gff" file="est2genome.gff" lines_diff="4"/>
            <output name="output_gff3" file="est2genome.gff3" lines_diff="4"/>
        </test>
        <test>
            <param name="query" value="proteome.fa"/>
            <conditional name="ref_seq">
                <param name="ref_seq_selector" value="personal"/>
                <param name="input_fasta" value="genome.fa"/>
            </conditional>
            <param name="model" value="protein2genome"/>
            <param name="outformat" value="targetgff"/>
            <output name="output_gff" file="protein2genome.gff" lines_diff="2"/>
            <output name="output_gff3" file="protein2genome.gff3" lines_diff="2"/>
        </test>
        <test>
            <param name="query" value="genome.fa"/>
            <conditional name="ref_seq">
                <param name="ref_seq_selector" value="personal"/>
                <param name="input_fasta" value="genome.fa"/>
            </conditional>
            <param name="model" value="coding2coding"/>
            <param name="outformat" value="targetgff"/>
            <output name="output_gff" file="coding2coding.gff" lines_diff="4"/>
            <output name="output_gff3" file="coding2coding.gff3" lines_diff="4"/>
        </test>
        <test>
            <param name="query" value="transcriptome.fa"/>
            <conditional name="ref_seq">
                <param name="ref_seq_selector" value="personal"/>
                <param name="input_fasta" value="genome.fa"/>
            </conditional>
            <param name="model" value="est2genome"/>
            <param name="outformat" value="targetgff"/>
            <param name="minintron" value="100"/>
            <param name="maxintron" value="200"/>
            <output name="output_gff" file="est2genome_introns.gff" lines_diff="6"/>
            <output name="output_gff3" file="est2genome_introns.gff3" lines_diff="4"/>
        </test>
    </tests>
    <help><![CDATA[
        Exonerate is a generic tool for pairwise sequence comparison.
        It allows you to align sequences using a many alignment models, using either exhaustive dynamic programming, or a variety of heuristics.

        .. _Exonerate website: https://www.ebi.ac.uk/about/vertebrate-genomics/software/exonerate
    ]]></help>
    <expand macro="citations"/>
</tool>