view mykrobe_predict.xml @ 4:a2e3ad69ee23 draft default tip

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/mykrobe commit 3df97df276e6d3c2800d6f41161b3d7cd8fcbf2a"
author iuc
date Thu, 26 Aug 2021 20:38:36 +0000
parents e8405163fb4e
children
line wrap: on
line source

<tool id="mykrobe_predict" name="mkyrobe predict" version="@TOOL_VERSION@.1+galaxy0"  profile="@PROFILE@">
    <description>Antibiotic resistance predictions</description>
    <macros>
        <import>macro.xml</import>
    </macros>
    <expand macro="requirements"/>
    <command detect_errors="exit_code"><![CDATA[
#import difflib
#import re

mykrobe predict
--species '${select_species.species}'
--panel '${select_species.panel}'

#if $conf_percent_cutoff:
    --conf_percent_cutoff '${conf_percent_cutoff}'
#end if

#if $min_depth:
    --min_depth ${min_depth}
#end if

@shared_options@

-q
-t "\${GALAXY_SLOTS:-1}"

#if $data_type.type in ["single", "paired"]:
    #set read1 = $data_type.seq1
    #set read1_identifier = re.sub('[^\s\w\-]', '_', str($read1.element_identifier))
    #if $data_type.type == "single":
        --sample '${read1_identifier}'
    --seq '${read1}'
    #else:
        #set read2 = $data_type.seq2
        #set read2_identifier = re.sub('[^\s\w\-]', '_', str($read2.element_identifier))
        #set matches = difflib.SequenceMatcher(None, read1_identifier, read2_identifier).get_matching_blocks()
        #set match = $matches[0]
        #set identifier = re.sub('[^\s\w\-]', '_', str($read1_identifier[match.a:match.a + match.size]))
    --sample '${identifier}'
    --seq '${read1}' '${read2}'
    #end if
#elif $data_type.type == "collection":
    #set identifier = re.sub('[^\s\w\-]', '_', str($data_type.collection1.element_identifier))
    --sample '${identifier}'
    --seq '${data_type.collection1.forward}' '${data_type.collection1.reverse}'
#end if

--format '${format}'

> '$output']]>
    </command>
    <inputs>
        <expand macro="inputs"/>
        <conditional name="select_species">
            <param name="species" type="select" label="Specify Species for AMR">
                <option value="tb">Mycobacterium tuberculosis (tb)</option>
                <option value="staph">Staphylococcus aureus (staph)</option>
                <option value="sonnei">Shigella sonnei (sonnei)</option>
            </param>
            <when value="staph">
                <param name="panel" type="select" label="Select panel for Staph only">
                    <option value="20170217">20170217</option>
                </param>
            </when>
            <when value="tb">
                <param name="panel" type="select" label="Select panel for TB only">
                    <option value="202010">202010</option>
                    <option value="201901">201901</option>
                    <option value="bradley-2015">Bradely 2015</option>
                </param>
            </when>
            <when value="sonnei">
                <param name="panel" type="select" label="Select panel for sonnei only">
                    <option value="20210201">20210201</option>
                    <option value="20201012">20201012</option>
                </param>
            </when>
        </conditional>
        <param argument="--min_depth" optional="True" type="integer" min="0" label="Minimum depth"  help=""/>
        <param argument="--conf_percent_cutoff" optional="True" type="integer" label="Confidence percent cutoff" help="Number between 0 and 100. Determines --min_variant_conf, by simulating variants and choosing the cutoff that would keep x% of the variants. Default is 90 if --ont, otherwise --min_variant_conf is used as the cutoff">
            <validator type="in_range" min="0" max="100" message="Confidence percent cutoff should be between 0 and 100" />
        </param>
        <expand macro="options"/>
        <param argument="--format" type="select" label="Select the prefered output format">
            <option value="csv" >csv</option>
            <option value="json">json</option>
        </param>
    </inputs>
    <outputs>
        <data name="output" format="csv" label="prediction">
            <change_format>
                <when input="format" value="json" format="json"/>
            </change_format>
        </data>
    </outputs>
    <tests>
        <test>
            <param name="type" value="single"/>
            <param name="seq1" ftype="fastq" value="reads.fastq"/>
            <param name="species" value="tb"/>
            <param name="panel" value="bradley-2015"/>
            <param name="format" value="json"/>
            <output name="output">
                <assert_contents>
                    <has_text_matching expression="susceptibility"/>
                </assert_contents>
            </output>
        </test>
        <test>
            <param name="type" value="single"/>
            <param name="seq1" ftype="fastq" value="reads.fastq"/>
            <param name="species" value="sonnei"/>
            <param name="panel" value="20201012"/>
            <param name="format" value="json"/>
            <output name="output">
                <assert_contents>
                    <has_text_matching expression="susceptibility"/>
                </assert_contents>
            </output>
        </test>
        <test>
            <param name="type" value="single"/>
            <param name="seq1" ftype="fastq.gz" value="reads.fastq.gz"/>
            <param name="species" value="sonnei"/>
            <param name="panel" value="20201012"/>
            <param name="format" value="json"/>
            <output name="output">
                <assert_contents>
                    <has_text_matching expression="susceptibility"/>
              </assert_contents>
            </output>
        </test>
    </tests>
    <help>
        @ATTRIBUTION@
    </help>
    <expand macro="citation" />
</tool>