view split_libraries_fastq.xml @ 0:20194da2549d draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/qiime/ commit a9d1e0debcd357d8080a1c6c5f1d206dd45a7a4d
author iuc
date Fri, 19 May 2017 03:54:05 -0400
parents
children 1327fee2bf93
line wrap: on
line source

<tool id="qiime_split_libraries_fastq" name="Split fastq libraries" version="@WRAPPER_VERSION@.0">
    <description>to performs demultiplexing of Fastq sequence data</description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="requirements"/>
    <version_command>split_libraries_fastq.py --version</version_command>
    <command detect_errors="aggressive"><![CDATA[
        split_libraries_fastq.py
            #set $seq_files = ''
            #set $sep = ''
            #for $file in $sequence_read_fps
                #set $seq_files += $sep + str($file)
                #set $sep = ','
            #end for
            --sequence_read_fps '$seq_files'

            -o split_libraries

            #set $mapping_files = ''
            #set $sep = ''
            #for $file in $mapping_fps
                #set $mapping_files += $sep + str($file)
                #set $sep = ','
            #end for
            --mapping_fps '$mapping_files'

            #set $barcode_files = ''
            #set $sep = ''
            #for $file in $barcode_read_fps
                #set $barcode_files += $sep + str($file)
                #set $sep = ','
            #end for
            --barcode_read_fps '$barcode_files'

            $store_qual_scores
            #if str($sample_ids):
                --sample_ids '$sample_ids'
            #end if
            $store_demultiplexed_fastq
            $retain_unassigned_reads

            --max_bad_run_length '$max_bad_run_length'
            --min_per_read_length_fraction '$min_per_read_length_fraction'
            --sequence_max_n '$sequence_max_n'
            --start_seq_id '$start_seq_id'
            $rev_comp_barcode
            $rev_comp_mapping_barcodes
            $rev_comp
            --phred_quality_threshold '$phred_quality_threshold'
            #if str( $barcode.barcode_type ) != "custom_length"
                --barcode_type '$barcode.barcode_type'
            #else
                --barcode_type '$barcode.barcode_length'
            #end if
            --max_barcode_errors '$max_barcode_errors'
            $phred_offset
    ]]></command>
    <inputs>
        <param argument="--sequence_read_fps" type="data" format="fastq,fastqsanger,fastqsolexa" label="Input fastq files" multiple="True"/>
        <param argument="--mapping_fps" type="data" format="txt,tabular,tsv,csv" label="Metadata mapping files (optional)" multiple="True" optional="True"/>
        <param argument="--barcode_read_fps" type="data" format="fastq,fastqsanger,fastqsolexa" label="Barcode read files (optional)" multiple="True" optional="True"/>
        <param argument="--store_qual_scores" type="boolean" label="Store quality strings in files?" truevalue="--store_qual_scores" falsevalue="" checked="False"/>
        <param argument="--sample_ids" type="text" label="Comma-separated list of samples ids to be applied to all sequences (optional)" optional="True" help="It must be one per input file path (used when data is not multiplexed)"/>
        <param argument="--store_demultiplexed_fastq" type="boolean" label="Write demultiplexed fastq files?" truevalue="--store_demultiplexed_fastq" falsevalue="" checked="False"/>
        <param argument="--retain_unassigned_reads" type="boolean" label="Retain sequences which don’t map to a barcode in the mapping file?" truevalue="--retain_unassigned_reads" falsevalue="" checked="False" help="Sample ID will be 'Unassigned'"/>
        <param argument="--max_bad_run_length" type="integer" value="3" label="Maximum number of consecutive low quality base calls allowed before truncating a read"/>
        <param argument="--min_per_read_length_fraction" type="float" value="0.75" label="Minimum number of consecutive high quality base calls to include a read (per single end read) as a fraction of the input read length"/>
        <param argument="--sequence_max_n" type="integer" value="0" label="Maximum number of N characters allowed in a sequence to retain it" help="This is applied after quality trimming, and is total over combined paired end reads if applicable"/>
        <param argument="--start_seq_id" type="integer" value="0" label="Start seq_ids as ascending integers beginning with start_seq_id"/>
        <param argument="--rev_comp_barcode" type="boolean" label="Reverse complement barcode reads before lookup?" truevalue="--rev_comp_barcode" falsevalue="" checked="False"/>
        <param argument="--rev_comp_mapping_barcodes" type="boolean" label="Reverse complement barcode in mapping before lookup?" truevalue="--rev_comp_mapping_barcodes" falsevalue="" checked="False" help="It is useful if barcodes in mapping file are reverse complements of golay codes"/>
        <param argument="--rev_comp" type="boolean" label="Reverse omplement sequence before writing to output file?" truevalue="--rev_comp" falsevalue="" checked="False"/>
        <param argument="--phred_quality_threshold" type="integer" value="3" label="Maximum unacceptable Phred quality score" help="E.g., for Q20 and better, 19 must be specified"/>
        <conditional name="barcode">
            <param argument="--barcode_type" type="select" label="Type of barcode">
                <option value="hamming_8">hamming_8</option>
                <option value="golay_12" selected="true">golay_12</option>
                <option value="variable_length">variable_length (disable any barcode correction)</option>
                <option value="custom_length">Custom length</option>
                <option value="not-barcoded">Data not barcoded</option>
            </param>
            <when value="hamming_8"/>
            <when value="golay_12"/>
            <when value="variable_length"/>
            <when value="custom_length">
                <param name="barcode_length" type="integer" value="4" label="Barcode length"/>
            </when>
            <when value="not-barcoded"/>
        </conditional>
        <param argument="--max_barcode_errors" type="float" value="1.5" label="Maximum number of errors in barcode"/>
        <param argument="--phred_offset" type="select" label="Ascii offset to use when decoding phred scores">
            <option value="--phred_offset 33">33</option>
            <option value="--phred_offset 64">64</option>
            <option value="" selected="true">Automatically determined</option>
        </param>
    </inputs>
    <outputs>
        <data name="log" format="txt" from_work_dir="split_libraries/split_library_log.txt" label="${tool.name} on ${on_string}: log"/>
        <data name="histograms" format="tabular" from_work_dir="split_libraries/histograms.txt" label="${tool.name} on ${on_string}: histograms"/>
        <data name="seqs" format="fasta" from_work_dir="split_libraries/seqs.fna" label="${tool.name} on ${on_string}: sequences"/>
        <data name="seqs_qual" format="qual" from_work_dir="split_libraries/seqs.qual" label="${tool.name} on ${on_string}: sequence qualities">
            <filter>store_qual_scores is True</filter>
        </data>
        <data name="seqs_fastq" format="fastq" from_work_dir="split_libraries/seqs.fastq" label="${tool.name} on ${on_string}: demultiplexed sequences (fastq)">
            <filter>store_demultiplexed_fastq is True</filter>
        </data>
    </outputs>
    <tests>
        <test>
            <param name="sequence_read_fps" value="split_libraries_fastq/forward_reads.fastq"/>
            <param name="mapping_fps" value="split_libraries_fastq/map.tsv"/>
            <param name="barcode_read_fps" value="split_libraries_fastq/barcodes.fastq"/>
            <param name="store_qual_scores" value="--store_qual_scores"/>
            <param name="store_demultiplexed_fastq" value="--store_demultiplexed_fastq"/>
            <param name="retain_unassigned_reads" value=""/>
            <param name="max_bad_run_length" value="3"/>
            <param name="min_per_read_length_fraction" value="0.75"/>
            <param name="sequence_max_n" value="0"/>
            <param name="start_seq_id" value="0"/>
            <param name="rev_comp_barcode" value=""/>
            <param name="rev_comp_mapping_barcodes" value=""/>
            <param name="rev_comp" value=""/>
            <param name="barcode_selector" value="golay_12"/>
            <param name="max_barcode_errors" value="1.5"/>
            <param name="phred_offset" value=""/>
            <output name="log">
                <assert_contents>
                    <has_line line="Median sequence length: 132.50"></has_line>
                    <has_text text="L1S76"></has_text>
                    <has_text text="L1S281"></has_text>
                    <has_text text="L1S8"></has_text>
                </assert_contents>
            </output>
            <output name="seqs" file="split_libraries_fastq/sequences.fasta"/>
            <output name="histograms" file="split_libraries_fastq/histograms.tabular"/>
            <output name="seqs_qual" file="split_libraries_fastq/sequence_qualities.qual"/>
            <output name="seqs_fastq" file="split_libraries_fastq/demultiplexed_sequences.fastq"/>
        </test>
    </tests>
    <help><![CDATA[
**What it does**

This tool performs demultiplexing of Fastq sequence data where barcodes and sequences are contained in two separate fastq files (common on Illumina runs).

More information about this tool is available on
`QIIME documentation <http://qiime.org/scripts/split_libraries_fastq.html>`_.
    ]]></help>
    <citations>
        <expand macro="citations"/>
    </citations>
</tool>