view ngsfilter.xml @ 4:91a1ed0b486f draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/obitools commit dabf62d438facc62f3e606ff4419092fdcdfaa44
author iuc
date Wed, 20 Mar 2024 13:16:28 +0000
parents 3bf57dadf7cd
children
line wrap: on
line source

<tool id="obi_ngsfilter" name="NGSfilter" version="@TOOL_VERSION@" profile="@PROFILE@">
    <description>Assigns sequence records to the corresponding experiment/sample based on DNA tags and primers</description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="bio_tools"/>
    <expand macro="requirements"/>
    <expand macro="stdio"/>
    <command><![CDATA[
        @GUNZIP_INPUT@

        ngsfilter

        --without-progress-bar
        -t '$inputextrafile' 
        #if $bool
            -u unident
        #end if
        -e '$mismatch'
        @INPUT_FORMAT@
        @OUT_FORMAT@
        input
        @GZIP_OUTPUT@
        > '$output'

        #if $bool
            #if $input.ext.endswith(".gz")
                && gzip -c unident > '$unident'
            #else
                && mv unident '$unident'
            #end if
            #set outputs = [("output", $output), ("unident", $unident)]
        #end if
        @GENERATE_GALAXY_JSON@
    ]]></command>
    <inputs>
        <param name="inputextrafile" type="data" format="tabular" label="Parameter file" help="extrafile describing the DNA tags and primers sequences used for each sample"/>
        <param name="input" type="data" format="@INPUT_FORMATS@" label="Read from file" help="file of Illumina pair-end reads assembled by illuminapairedend"/>
        <param name="mismatch" type="integer" value="2" label="Number of errors allowed for matching primers (default = 2)"/>
        <param name="bool" type="boolean" checked="true" label="Do you want to generate a file with unidentified sequences?"/>
        <expand macro="input_format_options_macro"/>
        <expand macro="out_format_macro"/>
    </inputs>
    <outputs>
        <data name="unident"  format="auto" label="${tool.name} on ${on_string}: Unassigned sequences">
            <filter>bool is True</filter>
        </data>
        <data name="output"  format="auto" label="${tool.name} on ${on_string}: Trimmed and annotated"/>
    </outputs>
    <tests>
       <test expect_num_outputs="1">
           <param name="inputextrafile" value="input_ngsfilter_extrafile.txt" />
           <param name="input" value="illuminapairedend.output.fastq" ftype="fastqsanger"/>
           <param name="mismatch" value="2" />
           <param name="bool" value="False" />
           <output name="output" file="output_ngsfilter.fastq" ftype="fastqsanger"/>
       </test>
       <test expect_num_outputs="2">
           <param name="inputextrafile" value="input_ngsfilter_extrafile.txt"/>
           <param name="input" value="illuminapairedend.output.fastq.gz" ftype="fastqsanger.gz"/>
           <param name="mismatch" value="3"/>
           <param name="bool" value="True"/>
           <output name="output" file="output_ngsfilter_error_3.fastq" ftype="fastqsanger.gz" decompress="true"/>
           <output name="unident" file="output_ngsfilter_unidentified.fastq" ftype="fastqsanger.gz" decompress="true"/>
       </test>
   </tests>
    <help><![CDATA[

.. class:: infomark

**What it does**

A DNA metabarcoding experiment can be considered as a set a PCR products mixed together and sequenced using a next generation sequencer ({i.e.} a solexa or a 454).
To distinguish between this different PCR products, pairs of small DNA sequences (call tags, see the oligoTag command and its associated paper for more
informations on the design of such tags) unique for each PCR products are concatenated to the PCR primers.
As they are amplified during the PCR, these tags should be recognizable, together with their respective primers, at the beginning and the end of the reads.
The first step in data analysis is thus to demultiplex the large resulting sequence file by identifying these DNA tags and the primers.

Usually the results of sequencing are stored in one or more files formatted according to the fasta or fastq format. ngsfilter take as input such sequence file and an extra file describing the DNA tags and primers sequences used for each sample.

The results consist of sequences trimmed of the primers and tags and annotated with the corresponding sample (and possibly some extra informations).
Sequences for which the tags and primers have not been well identified, and which are thus unassigned to any sample, are tagged as erroneous sequences
by ngsfilter. Such erroneous sequences are not reported by the program unless specified by the appropriate option.

--------

**Help**
Extrafile format:

a tab delimited tabular file with 8 columns.

experiment_name	sample_name	oligo_tag(s)	forward_primer	reverse_primer	F	@	extra_information

ex:

laos_gh LA01E1a agcgacta:acacacac GGGCAATCCTGAGCCAA CCATTGAGTCTCTGCACCTATC F @ position=04_01A;

laos_gh LA01E1b tcagtgtc:acacacac GGGCAATCCTGAGCCAA CCATTGAGTCTCTGCACCTATC F @ position=04_01B;

laos_gh LA01E2a actctgct:acacacac GGGCAATCCTGAGCCAA CCATTGAGTCTCTGCACCTATC F @ position=04_01C;

laos_gh LA01E2b atatagcg:acacacac GGGCAATCCTGAGCCAA CCATTGAGTCTCTGCACCTATC F @ position=04_01D;

laos_gh LA01P1a ctatgcta:acacacac GGGCAATCCTGAGCCAA CCATTGAGTCTCTGCACCTATC F @ position=04_01E;

laos_gh LA01P1b tcgcgctg:acacacac GGGCAATCCTGAGCCAA CCATTGAGTCTCTGCACCTATC F @ position=04_01F;

laos_gh LA01P2a agcacagt:acacacac GGGCAATCCTGAGCCAA CCATTGAGTCTCTGCACCTATC F @ position=04_01G;

laos_gh LA01P2b tagctagt:acacacac GGGCAATCCTGAGCCAA CCATTGAGTCTCTGCACCTATC F @ position=04_01H;

laos_gh LA02E1a agcgacta:acagcaca GGGCAATCCTGAGCCAA CCATTGAGTCTCTGCACCTATC F @ position=04_02A;

laos_gh LA02E1b tcagtgtc:acagcaca GGGCAATCCTGAGCCAA CCATTGAGTCTCTGCACCTATC F @ position=04_02B;

laos_gh LA02E2a actctgct:acagcaca GGGCAATCCTGAGCCAA CCATTGAGTCTCTGCACCTATC F @ position=04_02C;

@OBITOOLS_LINK@


]]>

    </help>
    <expand macro="citation" />

</tool>