view kma_map.xml @ 2:98099e4da1fd draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/kma commit 812bb0a31f030096bf1b0836f64e76b820c8e2c2
author iuc
date Fri, 14 Jun 2024 21:15:44 +0000
parents 95ab864b281a
children
line wrap: on
line source

<tool id="kma_map" name="Map with KMA" version="@TOOL_VERSION@+galaxy0" profile="23.0">
    <description></description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <requirements>
        <requirement type="package" version="@TOOL_VERSION@">kma</requirement>
    </requirements>
    <version_command>kma -v</version_command>
    <command detect_errors="exit_code">
        <![CDATA[
        kma
            -t \${GALAXY_SLOTS:-1}
            -t_db '${kma_index.fields.path}'
            #if $single_paired.single_paired_selector == 'paired'
                -ipe '${single_paired.forward_input}' '${single_paired.reverse_input}'
            #elif $single_paired.single_paired_selector == "paired_collection":
                -ipe '${single_paired.input_pair.forward}' '${single_paired.input_pair.reverse}'
            #else:
                -i '${single_paired.input_sequences}'
            #end if
            #if str($settings.advanced) == "advanced"
              #if str($settings.kmer_size)
                -k '${settings.kmer_size}'
              #end if
              #if str($settings.p_value)
                -p '${settings.p_value}'
              #end if
              $settings.exhaustive_mode
              ${settings.decontaminate}
              ${settings.dense}
              ${settings.ref_fsa}
              ${settings.matrix}
              ${settings.all_best_mappings}
              #if str($settings.minimum_phred_score)
                -mp '${settings.minimum_phred_score}'
              #end if
              #if str($settings.cut_5_prime)
                -5p '${settings.cut_5_prime}'
              #end if
              ${settings.only_count_kmers}
              #if str($settings.min_id)
                -ID '${settings.min_id}'
              #end if
              #if str($settings.base_call_depth)
                -bcd '${settings.base_call_depth}'
              #end if
              #if str($settings.minimum_mapping_quality)
                -mq '${settings.minimum_mapping_quality}'
              #end if
              #if str($settings.reward)
                -reward '${settings.reward}'
              #end if
              #if str($settings.penalty)
                -penalty '${settings.penalty}'
              #end if
              #if str($settings.gapopen)
                -gapopen '${settings.gapopen}'
              #end if
              #if str($settings.gapextend)
                -gapextend '${settings.gapextend}'
              #end if
              ${settings.force_end_to_end}
              -per $settings.pairing_reward
              ${settings.set_cge_penalties_and_rewards}
            #end if
            -o output
	 
        #if str($settings.advanced) == "advanced" and $settings.matrix
          && gunzip output.mat.gz
        #end if
        && gunzip output.frag.gz
	]]>
    </command>
    <inputs>
        <conditional name="single_paired">
            <param name="single_paired_selector" type="select" label="Single or paired reads" help="--paired">
                <option value="paired_collection">Paired collection</option>
                <option value="paired">Paired-end data</option>
                <option selected="True" value="single">Single-end data</option>
            </param>
            <when value="paired_collection">
                <param argument="-ipe" format="@INTYPES@" name="input_pair" type="data_collection" collection_type="paired" label="Collection of paired reads" help="FASTQ datasets" />
            </when>
            <when value="paired">
                <param argument="-ipe" format="@INTYPES@" name="forward_input" type="data" label="Forward strand" help="FASTQ dataset"/>
                <param argument="-ipe" format="@INTYPES@" name="reverse_input" type="data" label="Reverse strand" help="FASTQ dataset"/>
            </when>
            <when value="single">
                <param argument="-i" format="@INTYPES@" label="Input sequences" name="input_sequences" type="data" help="FASTQ datasets"/>
            </when>
        </conditional>
        <param argument="-t_db" name="kma_index" type="select">
            <options from_data_table="kma_index">
                <validator type="no_options" message="No KMA index available" />
            </options>
        </param>
        <conditional name="settings">
            <param name="advanced" type="select" label="Specify advanced parameters">
                <option value="simple" selected="true">No, use program defaults</option>
                <option value="advanced">Yes, see full parameter list.</option>
            </param>
            <when value="simple">
            </when>
            <when value="advanced">
                <param argument="-k" name="kmer_size" type="integer" min="4" value="16" max="32" label="Kmer Size" />
                <param argument="-p" name="p_value" type="float" min="0.0" value="0.05" max="1.0" label="p-value"/>
                <param argument="-ex_mode" name="exhaustive_mode" type="boolean" truevalue="-ex_mode" falsevalue="" label="Exhaustive Mode" />
                <param argument="-deCon" name="decontaminate" type="boolean" truevalue="-deCon" falsevalue="" label="Decontaminate" />
                <param argument="-dense" type="boolean" truevalue="-dense" falsevalue="" label="Do not allow insertions in assembly" />
                <param argument="-ref_fsa" type="boolean" truevalue="-ref_fsa" falsevalue="" label="Consensus sequence has 'n' instead of gaps" />
                <param argument="-matrix" type="boolean" truevalue="-matrix" falsevalue="" label="Output assembly matrix" />
                <param argument="-a" name="all_best_mappings" type="boolean" truevalue="-a" falsevalue="" label="Print all best mappings" />
                <param argument="-mp" name="minimum_phred_score" type="integer" min="0" value="20" max="60" label="Minimum phred score" />
                <param argument="-5p" name="cut_5_prime" type="integer" min="0" value="0" max="64" label="Cut a constant number of nucleotides from the 5 prime" />
                <param argument="-Sparse" name="only_count_kmers" type="boolean" truevalue="-Sparse" falsevalue="" label="Only count kmers" />
                <param argument="-ID" name="min_id" type="float" min="0.0" value="1.0" max="100.0" label="Minimum percent identity"/>
                <param argument="-1t1" name="force_end_to_end" type="boolean" truevalue="-1t1" falsevalue="" label="Force end to end mapping" />
                <param argument="-bcd" name="base_call_depth" type="integer" min="1" value="1" max="1000" label="Minimum depth at base" />
                <param argument="-mq" name="minimum_mapping_quality" type="integer" min="0" value="0" max="100" label="Minimum mapping quality" />
                <param argument="-reward" type="integer" min="1" value="1" max="100" label="Score for match" />
                <param argument="-penalty" type="integer" min="-100" value="-2" max="0" label="Penalty for mismatch" />
                <param argument="-gapopen" type="integer" min="-100" value="-3" max="0" label="Penalty for gap opening" />
                <param argument="-gapextend"  type="integer" min="-100" value="-1" max="0" label="Penalty for gap extension" />
                <param argument="-per" name="pairing_reward" type="integer" min="1" value="7" max="100" label="Reward for pairing reads" />
                <param argument="-cge" name="set_cge_penalties_and_rewards" type="boolean" truevalue="-cge" falsevalue="" label="Set CGE penalties and rewards" />
            </when>
        </conditional>
    </inputs>
    <outputs>
        <data name="result_overview" label="${tool.name} on ${on_string}: Result overview" format="tabular" from_work_dir="output.res" />
        <data name="consensus_alignment" label="${tool.name} on ${on_string}: Consensus alignment" format="txt" from_work_dir="output.aln" />
        <data name="consensus_sequences" label="${tool.name} on ${on_string}: Consensus sequences" format="fasta" from_work_dir="output.fsa" />
        <data name="read_mapping" label="${tool.name} on ${on_string}: Read mapping info" format="tabular" from_work_dir="output.frag" />
        <data name="assembly_matrix" label="${tool.name} on ${on_string}: Assembly matrix" format="tabular" from_work_dir="output.mat">
            <filter>settings['matrix']</filter>
        </data>
    </outputs>
    <tests>
        <test expect_num_outputs="4">
            <param name="single_paired_selector" value="single"/>
            <param name="input_sequences" value="ERR884056_ecoli_b0842.mapped_R1.fastq" ftype="fastq"/>
            <param name="advanced" value="advanced"/>
            <param name="kmer_size" value="8"/>
            <param name="kma_index" value="test_index"/>
            <output name="result_overview" ftype="tabular">
                <assert_contents>
                    <has_n_lines n="3"/>
                    <has_n_columns n="11"/>
                    <has_text text="#Template"/>
                    <has_text text="b0842_1"/>
                </assert_contents>
            </output>
            <output name="consensus_alignment" ftype="txt">
                <assert_contents>
                    <has_n_lines n="170"/>
                    <has_text text="b0842_1"/>
                    <has_text text="query" n="42"/>
                    <has_text text="template" n="42"/>
                </assert_contents>
            </output>
            <output name="consensus_sequences" ftype="fasta">
                <assert_contents>
                    <has_line_matching expression="^>.*" n="2"/>
                    <has_line_matching expression="^>b0842_1"/>
                </assert_contents>
            </output>
            <output name="read_mapping" ftype="tabular">
                <assert_contents>
                    <has_n_lines n="492"/>
                    <has_n_columns n="7"/>
                    <has_text text="b0842_1"/>
                </assert_contents>
            </output>
        </test>
        <test expect_num_outputs="5">
            <param name="single_paired_selector" value="single"/>
            <param name="input_sequences" value="ERR884056_ecoli_b0842.mapped_R1.fastq" ftype="fastq"/>
            <param name="advanced" value="advanced"/>
            <param name="kmer_size" value="8"/>
            <param name="matrix" value="true"/>
            <param name="kma_index" value="test_index"/>
            <output name="assembly_matrix" ftype="tabular">
                <assert_contents>
                    <has_n_lines n="2553"/>
                    <has_n_columns n="7" comment="#"/>
                    <has_line_matching expression="^A&#009;.*"/>
                    <has_line_matching expression="^T&#009;.*"/>
                    <has_line_matching expression="^C&#009;.*"/>
                    <has_line_matching expression="^G&#009;.*"/>
                </assert_contents>
            </output>
        </test>
    </tests>
    <help><![CDATA[

When the mapping is done KMA will produce the following files:

* .res A result overview giving the most common statistics for each mapped template.
* .fsa The consensus sequences drawn from the alignments.
* .aln The consensus alignment of the reads against their template.
* .frag Mapping information on each mapped read, columns are: 
    1. read
    2. number of equally well mapping templates
    3. mapping score
    4. start position
    5. end position (w.r.t. template)
    6. the choosen template.

* .mat Base counts on each position in each template, (only if `-matrix` is enabled)
]]></help>
    <expand macro="citations" />
</tool>