Mercurial > repos > peterjc > fastq_paired_unpaired
view tools/fastq/fastq_paired_unpaired.xml @ 2:95a632a71951 draft
Uploaded v0.0.6, adds unit test
author | peterjc |
---|---|
date | Tue, 30 Apr 2013 14:08:37 -0400 |
parents | 7ed81e36fc1c |
children | 528ba9c896e0 |
line wrap: on
line source
<tool id="fastq_paired_unpaired" name="Divide FASTQ file into paired and unpaired reads" version="0.0.6"> <description>using the read name suffices</description> <version_command interpreter="python">fastq_paired_unpaired.py --version</version_command> <command interpreter="python"> fastq_paired_unpaired.py $input_fastq.extension $input_fastq #if $output_choice_cond.output_choice=="separate" $output_forward $output_reverse #elif $output_choice_cond.output_choice=="interleaved" $output_paired #end if $output_singles </command> <stdio> <!-- Anything other than zero is an error --> <exit_code range="1:" /> <exit_code range=":-1" /> </stdio> <inputs> <param name="input_fastq" type="data" format="fastq" label="FASTQ file to divide into paired and unpaired reads"/> <conditional name="output_choice_cond"> <param name="output_choice" type="select" label="How to output paired reads?"> <option value="separate">Separate (two FASTQ files, for the forward and reverse reads, in matching order).</option> <option value="interleaved">Interleaved (one FASTQ file, alternating forward read then partner reverse read).</option> </param> <!-- Seems need these dummy entries here, compare this to indels/indel_sam2interval.xml --> <when value="separate" /> <when value="interleaved" /> </conditional> </inputs> <outputs> <data name="output_singles" format="input" label="Orphan or single reads"/> <data name="output_forward" format="input" label="Forward paired reads"> <filter>output_choice_cond["output_choice"] == "separate"</filter> </data> <data name="output_reverse" format="input" label="Reverse paired reads"> <filter>output_choice_cond["output_choice"] == "separate"</filter> </data> <data name="output_paired" format="input" label="Interleaved paired reads"> <filter>output_choice_cond["output_choice"] == "interleaved"</filter> </data> </outputs> <tests> <test> <param name="input_fastq" value="sanger-pairs-mixed.fastq" ftype="fastq"/> <param name="output_choice" value="separate"/> <output name="output_singles" file="sanger-pairs-singles.fastq" ftype="fastq"/> <output name="output_forward" file="sanger-pairs-forward.fastq" ftype="fastq"/> <output name="output_reverse" file="sanger-pairs-reverse.fastq" ftype="fastq"/> </test> <test> <param name="input_fastq" value="sanger-pairs-mixed.fastq" ftype="fastq"/> <param name="output_choice" value="interleaved"/> <output name="output_singles" file="sanger-pairs-singles.fastq" ftype="fastq"/> <output name="output_paired" file="sanger-pairs-interleaved.fastq" ftype="fastq"/> </test> </tests> <help> **What it does** Using the common read name suffix conventions, it divides a FASTQ file into paired reads, and orphan or single reads. The input file should be a valid FASTQ file which has been sorted so that any partner forward+reverse reads are consecutive. The output files all preserve this sort order. Pairing are recognised based on standard name suffices. See below or run the tool with no arguments for more details. Any reads where the forward/reverse naming suffix used is not recognised are treated as orphan reads. The tool supports the /1 and /2 convention originally used by Illumina, .f and .r convention, the Sanger convention (see http://staden.sourceforge.net/manual/pregap4_unix_50.html for details), and the current Illumina convention where the reads get the same identifier with the fragment number in the description, for example: * @HWI-ST916:79:D04M5ACXX:1:1101:10000:100326 1:N:0:TGNCCA * @HWI-ST916:79:D04M5ACXX:1:1101:10000:100326 2:N:0:TGNCCA Note that this does support multiple forward and reverse reads per template (which is quite common with Sanger sequencing), e.g. this which is sorted alphabetically: * WTSI_1055_4p17.p1kapIBF * WTSI_1055_4p17.p1kpIBF * WTSI_1055_4p17.q1kapIBR * WTSI_1055_4p17.q1kpIBR or this where the reads already come in pairs: * WTSI_1055_4p17.p1kapIBF * WTSI_1055_4p17.q1kapIBR * WTSI_1055_4p17.p1kpIBF * WTSI_1055_4p17.q1kpIBR both become: * WTSI_1055_4p17.p1kapIBF paired with WTSI_1055_4p17.q1kapIBR * WTSI_1055_4p17.p1kpIBF paired with WTSI_1055_4p17.q1kpIBR </help> </tool>