view mummer.xml @ 5:57f042937ba7 draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/mummer4 commit 026db7297e987c1b7ce7f5dd4f8746d1bd435538
author iuc
date Mon, 18 Mar 2024 12:41:39 +0000
parents bcd65de9725b
children
line wrap: on
line source

<tool id="mummer_mummer" name="Mummer" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
    <description>Align two or more sequences</description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="bio_tools"/>
    <expand macro="requirements">
        <expand macro="gnuplot_requirement"/>
    </expand>
    <command detect_errors="exit_code">
        <![CDATA[
        mummer
            $anchoring
            -l '$min'
            $direction
            $force
            $chars
            $print_length
            $substring
            $position
            -threads \${GALAXY_SLOTS:-1}
            -qthreads \${GALAXY_SLOTS:-1}
            #if $options.advanced == 'enable'
                -k '$options.suffix'
                -suflink '$options.suflink'
                -child '$options.child'
                -skip '$options.skip'
                -kmer '$options.kmer'
            #end if
            '$reference_sequence' '$query_sequence' > '$output'
            #if $mumplot.plot == 'yes':
                && mummerplot
                    -b '$mumplot.breaklen'
                    $mumplot.color
                    $mumplot.coverage
                    $mumplot.filter
                    $mumplot.fat
                    #if $mumplot.labels.IDs == 'yes':
                        -IdR '$mumplot.labels.ref_id'
                        -IdQ '$mumplot.labels.query_id'
                    #end if
                    -s '$mumplot.size'
                    -terminal png
                    -title '$mumplot.title'
                    $mumplot.snp
                    #if $mumplot.range.custom == 'yes':
                        -x [$mumplot.range.min_x:$mumplot.range.max_x]
                        -y [$mumplot.range.min_y:$mumplot.range.max_y]
                    #end if
                    '$output'
                    @MUMMER_GNUPLOT_MANUAL@
            #end if
        ]]>
    </command>
    <inputs>
        <param name="reference_sequence" type="data" format="fasta" label="Reference Sequence" help="FastA or multi-FastA" />
        <param name="query_sequence" type="data" format="fasta" label="Query Sequence" help="FastA or multi-FastA" />
        <param name="anchoring" type="select" label="Anchoring" help="Choose a match anchoring strategy">
            <option value="">Maximal matches unique in only reference sequence (-mumreference) (Default)</option>
            <option value="-mum">Maximal matches unique in both sequences (-mum)</option>
            <option value="-maxmatch">All matches reguardless of uniqueness (-maxmatch)</option>
        </param>
        <param name="min" type="integer" argument="-l" value="20" label="Minimum Match Length" help="Minimum length of a match. (-l)" />
        <param name="direction" type="select" label="Direction" help="Direction of complement sequence to use">
            <option value="-b">Compute forward and reverse complement matches (-b)</option>
            <option value="-r">Compute only reverse complement matches (-r)</option>
        </param>
        <param name="force" type="boolean" argument="-F" truevalue="-F" falsevalue="" label="Force 4 column output"
            help="force 4 column output format regardless of the number of reference sequence inputs. (-F)" />
        <param name="chars" type="boolean" argument="-n" truevalue="-n" falsevalue="" label="Match only the characters a, c, g, or t" help="(-n)" />
        <param name="print_length" type="boolean" argument="-L" truevalue="-L" falsevalue="" label="Print length of query sequence in header of matches" help="(-L)" />
        <param name="substring" type="boolean" argument="-s" truevalue="-s" falsevalue="" label= "Print first 53 characters of the matching substring" help="(-s)" />
        <param name="position" type="boolean" argument="-c" truevalue="-c" falsevalue="" label="Position"
            help="Report the query position of a reverse complement match relative to the forward strand of the query sequence. (-c)" />
        <conditional name="options">
            <param name="advanced" type="select" label="Additional options">
                <option value="defaults">Use defaults</option>
                <option value="enable">Select additional options</option>
            </param>
            <when value="enable" >
                <param name="suffix" type="integer" argument="-k" value="1" label="Suffix" help="Sampled suffix positions. (-k)" />
                <param name="suflink" type="select" label="Suflink" help="Use suffix links in the index and during search? (-suflink)" >
                    <option value="0">No</option>
                    <option value="1">Yes</option>
                </param>
                <param name="child" type="select" label="Child" help="Use child table in the index and during search? (-child)" >
                    <option value="0">No</option>
                    <option value="1">Yes</option>
                </param>
                <param  type="integer" argument="-skip" value="10" label="Sparsify"
                    help="Sparsify the MEM-finding algorithm even more, performing jumps of skip*k [auto (l-10)/k]. (-skip)" />
                <param  type="integer" argument="-kmer" value="1" label="kmer Table"
                    help="Use kmer table containing sa-intervals (speeds up searching first k characters) in the index and during search. (-kmer)" />
            </when>
            <when value="defaults" />
        </conditional>
        <conditional name="mumplot" >
            <param name="plot" type="select" label="Do you want to output a 2-D dotplot of the input sequences?" >
                <option value="yes">YES</option>
                <option value="no">NO</option>
            </param>
            <when value="yes" >
                <expand macro="mumplot_input" />
            </when>
            <when value="no" />
        </conditional>
    </inputs>
    <outputs>
        <data name="output" format="tabular" from_work_dir="mummer.txt" label="${tool.name} on ${on_string}: alignment" />
        <data name="png_output" format="png" from_work_dir="out.png" label="${tool.name} on ${on_string}: plot" >
            <filter>mumplot['plot'] == 'yes'</filter>
        </data>
    </outputs>
    <tests>
        <test  expect_num_outputs="2">
            <param name="reference_sequence" ftype="fasta" value="human_aqp3.fasta" />
            <param name="query_sequence" ftype="fasta" value="mouse_aqp3.fasta" />
            <param name="options|advanced" value="defaults" />
            <param name="plot" value="yes" />
            <output name="output" ftype="tabular" compare="diff" value="mummer.txt" />
            <output name="png_output" ftype="png" compare="sim_size" value="plot.png" />
        </test>
    </tests>
   <help><![CDATA[
        This is the core program of the MUMmer package. It is the suffix-tree based match finding routine, and the main part of every MUMmer script. By default, mummer now finds maximal matches regardless of their uniqueness. Limiting the output to only unique matches can be specified by choosing alternative Anchoring strategies.

**Options:**::

    mummer

    -mumreference    Compute maximal matches that are unique in the reference- sequence but not
                     necessarily in the query-sequence (default)

    -maxmatch        Compute all maximal matches regardless of their uniqueness

    -l               Set the minimum length of a match

    -b               Compute forward and reverse complement matches

    -r               Compute only reverse complement matches

    -mum             Compute maximal matches that are unique in both sequences

    -F               Force 4 column output format regardless of the number of reference sequence inputs

    -n               Match only the characters a, c, g, or t

    -L               Print length of query sequence in header of matches

    -s               Print first 53 characters of the matching substring

    -c               Report the query position of a reverse complement match
                     relative to the forward strand of the query sequence

    mummerplot

    -b             Highlight alignments with breakpoints further than breaklen nucleotides from the nearest
                   sequence end

    -color         Color plot lines with a percent similarity gradient or turn off all plot color (default
                   color by match dir) If the plot is very sparse, edit the .gp script to plot with
                   'linespoints' instead of 'lines'

    -c             Generate a reference coverage plot (default for .tiling)

    --filter       Only display .delta alignments which represent the "best" hit to any particular spot on
                   either sequence, i.e. a one-to-one mapping of reference and query subsequences

    --fat          Layout sequences using fattest alignment only

    -IdR           Plot a particular reference sequence ID on the X-axis

    -IdQ           Plot a particular query sequence ID on the Y-axis

    -s             Set the output size to small, medium or large (--small) (--medium) (--large) (default 'small')

    --SNP          Highlight SNP locations in each alignment

    -title         Specify the gnuplot plot title (default none)

    -x             Set the xrange for the plot '[min:max]'

    -y             Set the yrange for the plot '[min:max]'

    -R             Plot an ordered set of reference sequences from Rfile

    -Q             Plot an ordered set of query sequences from Qfile

    --layout       Layout a .delta multiplot in an intelligible fashion, this option requires the -R -Q options

    ]]></help>
    <expand macro="citation" />
</tool>