view yac.xml @ 6:acbf910cd2ae draft

planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/yac_clipper commit a3e2a5c2c8d914a574ef35b0f1864ddbde70611b
author artbio
date Mon, 28 Nov 2022 22:17:36 +0000
parents 6bfb7e333280
children 396bc2c718a1
line wrap: on
line source

<tool id="yac" name="Clip adapter" version="2.5.0">
    <description />
    <requirements>
        <requirement type="package" version="3.7.6">python</requirement>
    </requirements>
    <command detect_errors="exit_code"><![CDATA[
        python $__tool_directory__/yac.py
            --input $input
            --output 'clip.tmp'
            --output_format
            #if $out_format == 'fasta' or $out_format == 'fastagz':
                'fasta'
            #else
                'fastq'
            #end if
            --adapter_to_clip $clip_source.clip_sequence
            --min $min
            --max $max
            --Nmode $Nmode &&
            #if ($out_format == 'fastagz') or ($out_format == 'fastqgz'):
                gzip -c 'clip.tmp' >  $output
            #else
                mv clip.tmp $output
            #end if
    ]]></command>
    <inputs>
        <param format="fasta,fastq" label="Source file" name="input" type="data" />
        <param label="min size" name="min" size="4" type="integer" value="15" />
        <param label="max size" name="max" size="4" type="integer" value="36" />
        <param label="Select output format" name="out_format" type="select"
               help="be careful not to select a fastq format for your output if your input has a fasta format">
            <option value="fasta">Fasta</option>
            <option value="fastq" selected="true" >Fastq (Sanger)</option>
            <option value="fastagz">gzipped Fasta</option>
            <option value="fastqgz">gzipped Fastq (Sanger)</option>
        </param>
        <param label="Accept reads containing N?" name="Nmode" type="select">
            <option selected="True" value="accept">accept</option>
            <option value="reject">reject</option>
        </param>
        <conditional name="clip_source">
            <param help="Built-in adapters or User-provided" label="Source" name="clip_source_list" type="select">
                <option selected="True" value="prebuilt">Use a built-in adapter (select from the list below)</option>
                <option value="user">Use custom sequence</option>
            </param>
            <when value="prebuilt">
                <param help="if your adapter is not listed, input your own sequence" label="Select Adapter to clip" name="clip_sequence" type="select">
                    <option value="TCGTATGCCGTCTTCTGCTTG">Solexa TCGTATGCCGTCTTCTGCTTG</option>
                    <option value="ATCTCGTATGCCGTCTTCTGCTT">Illumina ATCTCGTATGCCGTCTTCTGCTT</option>
                    <option selected="True" value="TGGAATTCTCGGGTGCCAAG">Illumina TruSeq  TGGAATTCTCGGGTGCCAAG</option>
                    <option value="CTGTAGGCACCATCAATCGT">IdT CTGTAGGCACCATCAATCGT</option>
                </param>
            </when>
            <when value="user">
                <param label="Enter your Sequence" name="clip_sequence" size="35" type="text" value="GAATCC" />
            </when>
        </conditional>
    </inputs>
    <outputs>
        <data format_source="input" metadata_source="input" name="output" label="Clipped ${input.name}-then-${out_format}">
          <change_format>
              <when input="out_format" value="fasta" format="fasta" />
              <when input="out_format" value="fastq" format="fastqsanger" />
              <when input="out_format" value="fastagz" format="fasta.gz" />
              <when input="out_format" value="fastqgz" format="fastqsanger.gz" />
          </change_format>
        </data>
    </outputs>
    <tests>
        <test>
            <param ftype="fastqsanger" name="input" value="yac.fastq" />
            <param name="min" value="18" />
            <param name="max" value="29" />
            <param name="clip_source_list" value="prebuilt" />
            <param name="clip_sequence" value="ATCTCGTATGCCGTCTTCTGCTT" />
            <param name="Nmode" value="accept" />
            <param name="out_format" value="fastq" />
            <output file="out.fastqsanger" name="output" />
        </test>
        <test>
            <param ftype="fastqsanger" name="input" value="yac.fastq" />
            <param name="min" value="18" />
            <param name="max" value="29" />
            <param name="clip_source_list" value="prebuilt" />
            <param name="clip_sequence" value="ATCTCGTATGCCGTCTTCTGCTT" />
            <param name="Nmode" value="accept" />
            <param name="out_format" value="fasta" />
            <output file="out.fasta" name="output" />
        </test>
        <test>
            <param ftype="fastqsanger.gz" name="input" value="yac.fastqsanger.gz" />
            <param name="min" value="18" />
            <param name="max" value="29" />
            <param name="clip_source_list" value="prebuilt" />
            <param name="clip_sequence" value="ATCTCGTATGCCGTCTTCTGCTT" />
            <param name="Nmode" value="accept" />
            <param name="out_format" value="fastqgz" />
            <output file="out.fastqsanger.gz" name="output" decompress="True" />
        </test>
        <test>
            <param ftype="fastqsanger.gz" name="input" value="yac.fastqsanger.gz" />
            <param name="min" value="18" />
            <param name="max" value="29" />
            <param name="clip_source_list" value="prebuilt" />
            <param name="clip_sequence" value="ATCTCGTATGCCGTCTTCTGCTT" />
            <param name="Nmode" value="accept" />
            <param name="out_format" value="fastagz" />
            <output file="out.fasta.gz" name="output" decompress="True" />
        </test>
        <test>
            <param ftype="fasta.gz" name="input" value="yac.fasta.gz" />
            <param name="min" value="18" />
            <param name="max" value="29" />
            <param name="clip_source_list" value="prebuilt" />
            <param name="clip_sequence" value="ATCTCGTATGCCGTCTTCTGCTT" />
            <param name="out_format" value="fasta" />
            <param name="Nmode" value="accept" />
            <output file="out.fasta" name="output" />
        </test>
        <test>
            <param ftype="fasta.gz" name="input" value="yac.fasta.gz" />
            <param name="min" value="18" />
            <param name="max" value="29" />
            <param name="clip_source_list" value="prebuilt" />
            <param name="clip_sequence" value="ATCTCGTATGCCGTCTTCTGCTT" />
            <param name="Nmode" value="accept" />
            <param name="out_format" value="fastagz" />
            <output file="out.fasta.gz" name="output" decompress="True" />
        </test>
        <test>
            <param ftype="fastqsanger.gz" name="input" value="yac_with_empty_reads.fastqsanger.gz" />
            <param name="min" value="18" />
            <param name="max" value="30" />
            <param name="clip_source_list" value="prebuilt" />
            <param name="clip_sequence" value="TGGAATTCTCGGGTGCCAAG" />
            <param name="Nmode" value="accept" />
            <param name="out_format" value="fastagz" />
            <output file="out_with_empty_reads.fasta.gz" name="output" decompress="True" />
        </test>
    </tests>
    <help>

**What it does**

+ Clips adapter sequences
+ Renumbers sequence headers
+ Filters sequences on their size
+ Filters sequences containing unknown nucleotides (optional)

-------

yac_clipper clips 7nt long motives in 5' of adapter sequences.

It also accepts 1 mismatch in the searched 7nt motif

**Inputs**

1. A fastq or fasta file of reads to be clipped
2. Select the size of the reads to be kept
3. Select an output format. When input is a fastq file, this may be fastq or fasta, whereas
when input is a fasta file, this only may be a fasta.
4. Select whether you wish or do not wish to keep clipped sequences with unknown nucleotides (N)
5. Select a pre-built adapter sequence or enter your own sequence (at least 7 nucleotides long)

-------

**Output**

A fastq or fasta file containing clipped sequences satisfying the selected criteria.

    </help>
    <citations />
</tool>