view qiime2__cutadapt__demux_paired.xml @ 3:f21509fa9ed0 draft

planemo upload for repository https://github.com/qiime2/galaxy-tools/tree/main/tools/suite_qiime2__cutadapt commit 389df0134cd0763dcf02aac6e623fc15f8861c1e
author q2d2
date Thu, 25 Apr 2024 20:53:54 +0000
parents c6a8822e19f2
children 9b5a775806be
line wrap: on
line source

<?xml version='1.0' encoding='utf-8'?>
<!--
Copyright (c) 2024, QIIME 2 development team.

Distributed under the terms of the Modified BSD License. (SPDX: BSD-3-Clause)
-->
<!--
This tool was automatically generated by:
    q2galaxy (version: 2024.2.1)
for:
    qiime2 (version: 2024.2.0)
-->
<tool name="qiime2 cutadapt demux-paired" id="qiime2__cutadapt__demux_paired" version="2024.2.0+q2galaxy.2024.2.1" profile="22.05" license="BSD-3-Clause">
    <description>Demultiplex paired-end sequence data with barcodes in-sequence.</description>
    <requirements>
        <container type="docker">quay.io/qiime2/amplicon:2024.2</container>
    </requirements>
    <version_command>q2galaxy version cutadapt</version_command>
    <command detect_errors="exit_code">q2galaxy run cutadapt demux_paired '$inputs'</command>
    <configfiles>
        <inputs name="inputs" data_style="staging_path_and_source_path"/>
    </configfiles>
    <inputs>
        <param name="seqs" type="data" format="qza" label="seqs: MultiplexedPairedEndBarcodeInSequence" help="[required]  The paired-end sequences to be demultiplexed.">
            <options options_filter_attribute="metadata.semantic_type">
                <filter type="add_value" value="MultiplexedPairedEndBarcodeInSequence"/>
            </options>
            <validator type="expression" message="Incompatible type">hasattr(value.metadata, "semantic_type") and value.metadata.semantic_type in ['MultiplexedPairedEndBarcodeInSequence']</validator>
        </param>
        <conditional name="forward_barcodes">
            <param name="type" type="select" label="forward_barcodes: MetadataColumn[Categorical]" help="[required]  The sample metadata column listing the per-sample barcodes for the forward reads.">
                <option value="tsv" selected="true">Metadata from TSV</option>
                <option value="qza">Metadata from Artifact</option>
            </param>
            <when value="tsv">
                <param name="source" type="data" format="tabular,qiime2.tabular" label="Metadata Source"/>
                <param name="column" type="data_column" label="Column Name" data_ref="source" use_header_names="true">
                    <validator type="expression" message="The first column cannot be selected (they are IDs).">value != "1"</validator>
                </param>
            </when>
            <when value="qza">
                <param name="source" type="data" format="qza" label="Metadata Source"/>
                <param name="column" type="text" label="Column Name">
                    <validator type="empty_field"/>
                </param>
            </when>
        </conditional>
        <section name="__q2galaxy__GUI__section__extra_opts__" title="Click here for additional options">
            <conditional name="reverse_barcodes">
                <param name="type" type="select" label="reverse_barcodes: MetadataColumn[Categorical]" help="[optional]  The sample metadata column listing the per-sample barcodes for the reverse reads.">
                    <option value="none" selected="true">None (default)</option>
                    <option value="tsv">Metadata from TSV</option>
                    <option value="qza">Metadata from Artifact</option>
                </param>
                <when value="none"/>
                <when value="tsv">
                    <param name="source" type="data" format="tabular,qiime2.tabular" label="Metadata Source"/>
                    <param name="column" type="data_column" label="Column Name" data_ref="source" use_header_names="true">
                        <validator type="expression" message="The first column cannot be selected (they are IDs).">value != "1"</validator>
                    </param>
                </when>
                <when value="qza">
                    <param name="source" type="data" format="qza" label="Metadata Source"/>
                    <param name="column" type="text" label="Column Name">
                        <validator type="empty_field"/>
                    </param>
                </when>
            </conditional>
            <param name="forward_cut" type="integer" value="0" label="forward_cut: Int" help="[default: 0]  Remove the specified number of bases from the forward sequences. Bases are removed before demultiplexing. If a positive value is provided, bases are removed from the beginning of the sequences. If a negative value is provided, bases are removed from the end of the sequences. If --p-mixed-orientation is set, then both --p-forward-cut and --p-reverse-cut must be set to the same value."/>
            <param name="reverse_cut" type="integer" value="0" label="reverse_cut: Int" help="[default: 0]  Remove the specified number of bases from the reverse sequences. Bases are removed before demultiplexing. If a positive value is provided, bases are removed from the beginning of the sequences. If a negative value is provided, bases are removed from the end of the sequences. If --p-mixed-orientation is set, then both --p-forward-cut and --p-reverse-cut must be set to the same value."/>
            <param name="anchor_forward_barcode" type="boolean" truevalue="__q2galaxy__::literal::True" falsevalue="__q2galaxy__::literal::False" label="anchor_forward_barcode: Bool" help="[default: No]  Anchor the forward barcode. The barcode is then expected to occur in full length at the beginning (5' end) of the forward sequence. Can speed up demultiplexing if used."/>
            <param name="anchor_reverse_barcode" type="boolean" truevalue="__q2galaxy__::literal::True" falsevalue="__q2galaxy__::literal::False" label="anchor_reverse_barcode: Bool" help="[default: No]  Anchor the reverse barcode. The barcode is then expected to occur in full length at the beginning (5' end) of the reverse sequence. Can speed up demultiplexing if used."/>
            <param name="error_rate" type="float" min="0" max="1" value="0.1" label="error_rate: Float % Range(0, 1, inclusive_end=True)" help="[default: 0.1]  The level of error tolerance, specified as the maximum allowable error rate."/>
            <param name="batch_size" type="integer" min="0" value="0" label="batch_size: Int % Range(0, None)" help="[default: 0]  The number of samples cutadapt demultiplexes concurrently. Demultiplexing in smaller batches will yield the same result with marginal speed loss, and may solve &quot;too many files&quot; errors related to sample quantity. Set to &quot;0&quot; to process all samples at once."/>
            <param name="minimum_length" type="integer" min="1" value="1" label="minimum_length: Int % Range(1, None)" help="[default: 1]  Discard reads shorter than specified value. Note, the cutadapt default of 0 has been overridden, because that value produces empty sequence records."/>
            <param name="mixed_orientation" type="boolean" truevalue="__q2galaxy__::literal::True" falsevalue="__q2galaxy__::literal::False" label="mixed_orientation: Bool" help="[default: No]  Handle demultiplexing of mixed orientation reads (i.e. when forward and reverse reads coexist in the same file)."/>
        </section>
    </inputs>
    <outputs>
        <data name="per_sample_sequences" format="qza" label="${tool.name} on ${on_string}: per_sample_sequences.qza" from_work_dir="per_sample_sequences.qza"/>
        <data name="untrimmed_sequences" format="qza" label="${tool.name} on ${on_string}: untrimmed_sequences.qza" from_work_dir="untrimmed_sequences.qza"/>
    </outputs>
    <tests>
        <test>
            <param name="seqs" value="demux_paired.test0.seqs.qza" ftype="qza"/>
            <conditional name="forward_barcodes">
                <param name="type" value="tsv"/>
                <param name="source" value="demux_paired.test0.md.tsv" ftype="qiime2.tabular"/>
                <param name="column" value="2"/>
            </conditional>
            <output name="per_sample_sequences" ftype="qza">
                <assert_contents>
                    <has_archive_member path="[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}\/metadata.yaml">
                        <has_line_matching expression="type: SampleData\[PairedEndSequencesWithQuality\]"/>
                    </has_archive_member>
                </assert_contents>
            </output>
            <output name="untrimmed_sequences" ftype="qza">
                <assert_contents>
                    <has_archive_member path="[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}\/metadata.yaml">
                        <has_line_matching expression="type: MultiplexedPairedEndBarcodeInSequence"/>
                    </has_archive_member>
                </assert_contents>
            </output>
        </test>
    </tests>
    <help>
QIIME 2: cutadapt demux-paired
==============================
Demultiplex paired-end sequence data with barcodes in-sequence.


Outputs:
--------
:per_sample_sequences.qza: The resulting demultiplexed sequences.
:untrimmed_sequences.qza: The sequences that were unmatched to barcodes.

|  

Description:
------------
Demultiplex sequence data (i.e., map barcode reads to sample ids). Barcodes are expected to be located within the sequence data (versus the header, or a separate barcode file).

Examples:
---------

paired
******
Using the ``qiime2 cutadapt demux-paired`` tool:
 #. Set *"seqs"* to ``#: seqs.qza``
 #. For *"forward_barcodes"*:

    #. Leave as ``Metadata from TSV``
    #. Set *"Metadata Source"* to ``md.tsv``
    #. Set *"Column Name"* to ``barcode-sequence``

 #. Press the ``Execute`` button.



|  

</help>
    <citations>
        <citation type="doi">10.14806/ej.17.1.200</citation>
        <citation type="doi">10.1038/s41587-019-0209-9</citation>
    </citations>
</tool>