view read_extractor.xml @ 0:c114d334c67b draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/megan commit c5facb54a0de925b30cb86f05989e9254d22b89d"
author iuc
date Fri, 03 Dec 2021 23:10:39 +0000
parents
children
line wrap: on
line source

<tool id="megan_read_extractor" name="MEGAN: Extract reads" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
    <description>by classification</description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="bio_tools"/>
    <expand macro="requirements"/>
    <command detect_errors="exit_code"><![CDATA[
#set input_identifier = 'input.' + $input.ext.upper()
ln -s '${input}' '${input_identifier}' &&

read-extractor 
--input '${input_identifier}'
#if $frameShiftCorrect:
    --frameShiftCorrect '$frameShiftCorrect'
#end if
#if str($specify_classification_cond.specify_classification) == 'yes':
    --classification '$specify_classification_cond.classification'
    #if str($specify_classification_cond.specify_classification) == 'yes':
        #if $specify_classification_cond.classNames:
            --classNames '$specify_classification_cond.classNames'
        #end if
    #end if
#else:
    --all
#end if
#if $ignoreExceptions:
    --ignoreExceptions '$ignoreExceptions'
#end if
--gzipOutputFiles 'false'
## Output must be a directory.
--output ./output.txt
&& mv ./output.txt '${output}'
]]></command>
    <inputs>
        <param name="input" argument="--input" type="data" format="daa,rma6" label="Input file"/>
        <param argument="--frameShiftCorrect" type="boolean" truevalue="true" falsevalue="" checked="false" label="Extract frame-shift corrected reads?" help="Set to Yes only if blast mode of input is BlastX"/>
        <conditional name="specify_classification_cond">
            <param name="specify_classification" type="select" label="Specify classification to use?">
                <option value="yes" selected="true">Yes</option>
                <option value="no">No</option>
            </param>
            <when value="yes">
                <param argument="--classification" type="select" label="Select classification to use">
                    <expand macro="classification_options"/>
                </param>
                <param argument="--classNames" type="text" value="" label="Names (or ids) of classes from which to extract reads" help="Leave blank to extract all classes">
                    <expand macro="sanitize_query" validinitial="string.ascii_letters,string.punctuation"/>
                </param>
            </when>
            <when value="no"/>
        </conditional>

        <param argument="--ignoreExceptions" type="boolean" truevalue="true" falsevalue="" checked="false" label="Ignore exceptions and continue processing?"/>
    </inputs>
    <outputs>
        <data name="output" format="txt"/>
    </outputs>
    <tests>
        <test expect_num_outputs="1">
            <param name="input" value="read_extractor_input.rma6" ftype="rma6"/>
            <param name="specify_classification" value="no"/>
            <output name="output" file="read_extractor_output.txt" ftype="txt"/>
        </test>
        <test expect_num_outputs="1">
            <param name="input" value="read_extractor_input.rma6" ftype="rma6"/>
            <param name="classification" value="Taxonomy"/>
            <param name="ignoreExceptions" value="true"/>
            <output name="output" ftype="txt">
                <assert_contents>
                    <has_size value="0"/>
                </assert_contents>
            </output>
        </test>
        <test expect_failure="true">
            <param name="input" value="read_extractor_input.rma6" ftype="rma6"/>
            <param name="classification" value="EGGNOG"/>
            <assert_stderr>
                <has_text text="Input file does not contain the requested classification 'EGGNOG'"/>
            </assert_stderr>
        </test>
        <test expect_failure="true">
            <param name="input" value="read_extractor_input.rma6" ftype="rma6"/>
            <param name="frameShiftCorrect" value="true"/>
            <param name="specify_classification" value="no"/>
            <assert_stderr>
                <has_text text="Frame-shift correction only possible when BlastMode is BLASTX"/>
            </assert_stderr>
        </test>
    </tests>
    <help>
**What it does**

Extracts reads from a DAA or RMA file by classification.  This tool accepts the following input data formats.

 * **Direct Access Archive (DAA)** - a proprietary file format developed by PowerISO Computing for disk image files
 * RealMedia Audio (RMA)** - a proprietary multimedia container format created by RealNetworks.  MEGAN uses an update of the original RMA file format known as RMA6 which requires less disk space for files.

This tool outputs a text file containing the reads.

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