view lastal.xml @ 4:8705e0d74a0f draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/last commit 6b601baaf89634bc8d110ea06e3e64c7a585f3ba"
author iuc
date Wed, 24 Mar 2021 22:36:50 +0000
parents bf30030e5265
children 19c265784f35
line wrap: on
line source

<tool id="last_al" name="LASTal" version="@LAST_CONDA_VERSION@+galaxy0" profile="20.01">

    <description>finds local alignments between query sequences, and reference sequences.</description>

    <macros>
        <import>macros_last.xml</import>
    </macros>

    <requirements>
        <requirement type="package" version="@LAST_CONDA_VERSION@">last</requirement>
    </requirements>

    <command detect_errors="exit_code"><![CDATA[
        set -e -o pipefail; 

        #if $db_opts.db_opts_input == 'lastdb'
            ln -s '$db_opts.lastdatabase.extra_files_path' './db_files' &&
        #end if

        #if $query_seq.ext.endswith('.gz')
        zcat 
        #else
        cat 
        #end if
        '$query_seq' | lastal

        #if $query_seq.ext.startswith('fasta')
            -Q 0
        #else if $query_seq.ext.startswith('fastqsanger')
            -Q 1
        #else if $query_seq.ext.startswith('fastqsolexa')
            -Q 2
        #else if $query_seq.ext.startswith('fastqillumina')
            -Q 3
        #else if $query_seq.ext.startswith('pssm')
            -Q 5            
        #end if

        -f $lastal.f
        -j $lastal.j

        -R $lastal.repeats_misc.uppercase_misc$lastal.repeats_misc.simple_repeat_misc

        #if $lastal.isprotein.schoring_schemes.score_matrix != 'scoreFile'
            -p $lastal.isprotein.schoring_schemes.score_matrix

            -X $lastal.isprotein.schoring_schemes.score_opt.X
            -x $lastal.isprotein.schoring_schemes.score_opt.x
            -y $lastal.isprotein.schoring_schemes.score_opt.y
            -z $lastal.isprotein.schoring_schemes.score_opt.z
            -d $lastal.isprotein.schoring_schemes.score_opt.d
            -e $lastal.isprotein.schoring_schemes.score_opt.e

            -a $lastal.isprotein.schoring_schemes.cost_opt.a
            -b $lastal.isprotein.schoring_schemes.cost_opt.b
            -A $lastal.isprotein.schoring_schemes.cost_opt.A
            -B $lastal.isprotein.schoring_schemes.cost_opt.B

            -s $lastal.isprotein.s
        #else if $lastal.isprotein.schoring_schemes.score_matrix == 'scoreFile'
            -p $lastal.isprotein.schoring_schemes.scoreMatrixFile
        #end if

        -D $lastal.evalue_opt.D

        -m $lastal.init_match_opt.m
        -l $lastal.init_match_opt.l
        -L $lastal.init_match_opt.L
        -k $lastal.init_match_opt.k
        -W $lastal.init_match_opt.W

        -S $lastal.misc_opt.S
        -K $lastal.misc_opt.K
        -C $lastal.misc_opt.C
        -T $lastal.misc_opt.T
        -n $lastal.misc_opt.n
        -w $lastal.misc_opt.w
        -u $lastal.misc_opt.u
        -g $lastal.misc_opt.g

        -P \${GALAXY_SLOTS:-1}

        #if $db_opts.db_opts_input == 'db'
            '${"'" "'".join(str($db_opts.database.fields.path).split(","))}'
        #else if $db_opts.db_opts_input == 'lastdb'
            'db_files/lastdb'
        #end if

        >'$outfile'
    ]]></command>

    <inputs>
        <expand macro="input_db"/>
        <param name="query_seq" type="data" format="fasta,fasta.gz,fastq,fastq.gz,tabular" label="Query sequences"/>

        <section name="lastal" title="Lastal arguments" expanded="true">
            <param argument="-f" type="select" multiple="false" label="Output format">
                <option value="MAF" selected="true">MAF</option>
                <option value="TAB">TAB</option>
                <option value="BlastTab">BlastTab</option>
                <option value="BlastTab+">BlastTab+</option>
            </param>
            <param argument="-j" type="select" multiple="false" label="Output type">
                <option value="0">Match counts</option>
                <option value="1">Gapless</option>
                <option value="2">Redundant gapped</option>
                <option value="3" selected="true">Gapped</option>
                <option value="4">Column ambiguity estimates</option>
                <option value="5">Gamma-centroid</option>
                <option value="6">LAMA</option>
                <option value="7">Expected counts</option>
            </param>

            <conditional name="isprotein">
                <param name="lastal_protein" type="select" multiple="false" label="The sequences are :">
                    <option value="dna" selected="true">DNA</option>
                    <option value="prot">Proteins (-p)</option>
                </param>
                <when value="dna">
                    <conditional name="schoring_schemes">
                        <param name="score_matrix" argument="-p" type="select" multiple="false" label="Match/mismatch score matrix.">
                            <option value="AT77">AT77</option>
                            <option value="ATMAP">ATMAP</option>
                            <option value="BISF">BISF</option>
                            <option value="BISR">BISR</option>
                            <option value="BL62">BLOSUM62</option>
                            <option value="BL80" selected="true">BLOSUM80</option>
                            <option value="HOXD70">HOXD70</option>
                            <option value="MIQS">MIQS</option>
                            <option value="PAM10">PAM10</option>
                            <option value="PAM30">PAM30</option>                    
                            <option value="scoreFile">Other score matrix</option>
                        </param>
                        <when value="AT77">
                            <expand macro="score_macro"/>
                            <expand macro="cost_macro" a="15" b="2"/>
                        </when>
                        <when value="ATMAP">
                            <expand macro="score_macro"/>
                            <expand macro="cost_macro" a="24" b="6"/>
                        </when>                    
                        <when value="BISF">
                            <expand macro="score_macro"/>
                            <expand macro="cost_macro" a="21" b="9"/>
                        </when>
                        <when value="BISR">
                            <expand macro="score_macro"/>
                            <expand macro="cost_macro" a="21" b="9"/>
                        </when>                    
                        <when value="BL62">
                            <expand macro="score_macro"/>
                            <expand macro="cost_macro" a="11" b="2"/>
                        </when>
                        <when value="BL80">
                            <expand macro="score_macro"/>
                            <expand macro="cost_macro" a="7" b="1"/>
                        </when>
                        <when value="HOXD70">
                            <expand macro="score_macro"/>
                            <expand macro="cost_macro" a="400" b="30"/>
                        </when>
                        <when value="MIQS">
                            <expand macro="score_macro"/>
                            <expand macro="cost_macro" a="13" b="2"/>
                        </when>
                        <when value="PAM10">
                            <expand macro="score_macro"/>
                            <expand macro="cost_macro" a="20" b="3"/>
                        </when>
                        <when value="PAM30">
                            <expand macro="score_macro"/>
                            <expand macro="cost_macro" a="13" b="3"/>
                        </when>             
                        <when value="scoreFile">
                            <param name="scoreMatrixFile" type="data" format="txt" label="Score matrix file" />
                        </when>
                    </conditional>
                    <param argument="-s" type="select" multiple="false" label="Strand">
                        <option value="0">Reverse</option>
                        <option value="1">Forward</option>
                        <option value="2" selected="true">Both</option> 
                    </param>
                </when>
                <when value="prot">
                    <conditional name="schoring_schemes">
                        <param name="score_matrix" argument="-p" type="select" multiple="false" label="Match/mismatch score matrix.">
                            <option value="AT77">AT77</option>
                            <option value="ATMAP">ATMAP</option>
                            <option value="BISF">BISF</option>
                            <option value="BISR">BISR</option>
                            <option value="BL62" selected="true">BLOSUM62</option>
                            <option value="BL80">BLOSUM80</option>
                            <option value="HOXD70">HOXD70</option>
                            <option value="MIQS">MIQS</option>
                            <option value="PAM10">PAM10</option>
                            <option value="PAM30">PAM30</option>                  
                            <option value="scoreFile">Other score matrix</option>
                        </param>
                        <when value="AT77">
                            <expand macro="score_macro"/>
                            <expand macro="cost_macro" a="15" b="2"/>
                        </when>
                        <when value="ATMAP">
                            <expand macro="score_macro"/>
                            <expand macro="cost_macro" a="24" b="6"/>
                        </when>                    
                        <when value="BISF">
                            <expand macro="score_macro"/>
                            <expand macro="cost_macro" a="21" b="9"/>
                        </when>
                        <when value="BISR">
                            <expand macro="score_macro"/>
                            <expand macro="cost_macro" a="21" b="9"/>
                        </when>                    
                        <when value="BL62">
                            <expand macro="score_macro"/>
                            <expand macro="cost_macro" a="11" b="2"/>
                        </when>
                        <when value="BL80">
                            <expand macro="score_macro"/>
                            <expand macro="cost_macro" a="7" b="1"/>
                        </when>
                        <when value="HOXD70">
                            <expand macro="score_macro"/>
                            <expand macro="cost_macro" a="400" b="30"/>
                        </when>
                        <when value="MIQS">
                            <expand macro="score_macro"/>
                            <expand macro="cost_macro" a="13" b="2"/>
                        </when>
                        <when value="PAM10">
                            <expand macro="score_macro"/>
                            <expand macro="cost_macro" a="20" b="3"/>
                        </when>
                        <when value="PAM30">
                            <expand macro="score_macro"/>
                            <expand macro="cost_macro" a="13" b="3"/>
                        </when>             
                        <when value="scoreFile">
                            <param name="scoreMatrixFile" type="data" format="txt" label="Score matrix file" />
                        </when>
                    </conditional>
                    <param argument="-s" type="select" multiple="false" label="Strand">
                        <option value="0">Reverse</option>
                        <option value="1" selected="true">Forward</option>
                        <option value="2">Both</option> 
                    </param>
                </when>
            </conditional>

            <section name="repeats_misc" title="Specify lowercase-marking of repeats. (-R)" expanded="false">
                <param name="uppercase_misc" type="select" multiple="false" label="Input sequences to uppercase.">
                    <option value="0">Convert the input sequences to uppercase while reading them.(0)</option>
                    <option value="1" selected="true">Keep any lowercase in the input sequences.(1)</option>
                </param>
                <param name="simple_repeat_misc" type="select" multiple="false" label="Check for simple repeats.">
                    <option value="0" selected="true">Do not check for simple repeats.(0)</option>
                    <option value="1">Convert simple repeats to lowercase.(1)</option>
                    <option value="2">Convert simple DNA repeats to lowercase.(2)</option>
                </param>
            </section>

            <section name="evalue_opt" title="E-value options" expanded="false">
                <param argument="-D" type="integer" value="1000000" label="Query letters per random alignment (-D)"/>
                <!--<param argument="-E" type="integer" value="1e+18" label="Maximum expected alignments per square giga"/>-->
            </section>

            <section name="init_match_opt" title="Initial-match options" expanded="false">
                <param argument="-m" type="integer" value="10" min="1" label="Maximum initial matches per query position"/>
                <param argument="-l" type="integer" value="1" min="1" label="Minimum length for initial matches"/>
                <!-- Infinity -->
                <param argument="-L" type="integer" value="999999999" min="1" label="Maximum length for initial matches"/>
                <param argument="-k" type="integer" value="1" min="1" label="Use initial matches starting at every k-th position in each query"/>
                <param argument="-W" type="integer" value="1" min="1" label="Use minimum positions in sliding windows of W consecutive positions"/>
            </section>

            <section name="misc_opt" title="Miscellaneous options" expanded="false">
                <param argument="-S" type="select" multiple="false" label="Score matrix applies to forward strand of :">
                    <option value="0" selected="true">Reference</option>
                    <option value="1">Query</option>
                </param>
                <param argument="-K" type="integer" value="0" min="0" label="Omit alignments whose query range lies in >= K others with > score"/>
                <param argument="-C" type="integer" value="0" min="0" label="Omit gapless alignments in >= C others with > score-per-length"/>
                <!--<param name="omit_gap" argument="-M" type="integer" value="" label="Find minimum-difference alignments (faster but cruder)"/>-->

                <param argument="-T" type="select" multiple="false" label="Type of alignment">
                    <option value="0" selected="true">Local</option>
                    <option value="1">Overlap</option>
                </param>
                <param argument="-n" type="integer" value="10" min="0" label="Maximum gapless alignments per query position" help="Infinity if m=0"/>
                <!--<param name="max_gap_align" argument="-N" type="integer" value="0" label="Stop after the first N alignments per query strand"/>-->

                <!-- Condition lastdb : 2 if lastdb -c and Q<5 -->
                <param argument="-u" type="select" multiple="false" label="Mask lowercase during extensions.">
                    <option value="0" selected="true">Never.(0)</option>
                    <option value="1">Gapless.(1)</option>
                    <option value="2">Gapless+postmask.(2)</option>
                    <option value="3">Always.(3)</option>
                </param>
                <param argument="-w" type="integer" value="1000" min="0" label="Suppress repeats inside exact matches, offset by less or equal this distance. Use 0 to set this off" help="Use 0 to turn this off"/>

                <!-- https://www.ncbi.nlm.nih.gov/Taxonomy/Utils/wprintgc.cgi -->
                <!-- Condition if ADN vs prot and -F -->
                <param argument="-G" type="select" multiple="false" label="Genetic code.">
                    <option value="1" selected="true">Standard Code</option>
                    <option value="2">Vertebrate Mitochondrial Code</option>
                    <option value="3">Yeast Mitochondrial Code</option>
                    <option value="4">Mold, Protozoan, and Coelenterate Mitochondrial Code and the Mycoplasma/Spiroplasma</option>
                    <option value="5">Invertebrate Mitochondrial Code</option>
                    <option value="6">Ciliate, Dasycladacean and Hexamita Nuclear Code</option>
                    <option value="9">Echinoderm and Flatworm Mitochondrial Code</option>
                    <option value="10">Euplotid Nuclear Code</option>
                    <option value="11">Bacterial, Archaeal and Plant Plastid Code</option>
                    <option value="12">Alternative Yeast Nuclear Code</option>
                    <option value="13">Ascidian Mitochondrial Code</option>
                    <option value="14">Alternative Flatworm Mitochondrial Code</option>
                    <option value="16">Chlorophycean Mitochondrial Code</option>
                    <option value="21">Trematode Mitochondrial Code</option>
                    <option value="22">Scenedesmus obliquus Mitochondrial Code</option>
                    <option value="23">Thraustochytrium Mitochondrial Code</option>
                    <option value="24">Pterabranchia Mitochondrial Code</option>
                    <option value="25">Candidate Division SR1 and Gracilibacteria Code</option>
                    <option value="26">Pachysolen tannophilus Nuclear Code</option>
                    <option value="27">Karyorelict Nuclear Code</option>
                    <option value="28">Condylostoma Nuclear Code</option>
                    <option value="29">Mesodinium Nuclear Code</option>
                    <option value="30">Peritrich Nuclear Code</option>
                    <option value="31">Blastocrithidia Nuclear Code</option>
                    <option value="33">Cephalodiscidae Mitochondrial UAA-Tyr Code</option>
                    <!-- Add filename option with <repeat> -->
                </param>

                <!--<param name="temperature" argument="-t" type="integer" value="1/lambda" label="Temperature for calculating probabilities"/>-->
                <param argument="-g" type="integer" value="1" min="0" label="Gamma parameter for gamma-centroid and LAMA"/>
            </section>
        </section>
    </inputs>

    <outputs>
        <data name="outfile" format="maf" label="LAST align from ${on_string}" >
            <change_format>
                <when input="f" value="MAF" format="maf" />
                <when input="f" value="TAB" format="tabular" />
                <when input="f" value="BlastTab" format="tabular" />
                <when input="f" value="BlastTab+" format="tabular" />
            </change_format>
        </data>
    </outputs>

    <tests>
        <test>
            <conditional name="db_opts">
                <param name="db_opts_input" value="db"/>
                <param name="database" value="humdb"/>
            </conditional>
            <param name="query_seq" value="fuguMito.fa.gz" ftype="fasta.gz"/>
            <output name="outfile" ftype="maf" file="last_align_gen.maf" lines_diff="2"/>
        </test>
        <test>
            <conditional name="db_opts">
                <param name="db_opts_input" value="db"/>
                <param name="database" value="hedgdb"/>
            </conditional>
            <section name="lastal">
                <conditional name="isprotein">
                    <param name="lastal_protein" value="prot"/>
                </conditional>
            </section>
            <param name="query_seq" value="hedgehog_prot_drosophila.fa" ftype="fasta"/>
            <output name="outfile" ftype="maf" file="last_align_prot.maf" lines_diff="2"/>
        </test>
        <test>
            <conditional name="db_opts">
                <param name="db_opts_input" value="db"/>
                <param name="database" value="humdb-sanger"/>
            </conditional>
            <param name="query_seq" value="fuguMito.fq.gz" ftype="fastqsanger.gz"/>
            <section name="lastal">
                <param name="Q" value="1"/>
            </section>
            <output name="outfile" ftype="maf" file="last_align_fastq.maf" lines_diff="2"/>
        </test>        
    </tests>

    <help>@LAST_HELP@</help>
    <citations><expand macro="citations"/></citations>
</tool>