Mercurial > repos > iuc > umi_tools_extract
changeset 4:e73a22ff585c draft
planemo upload commit 76cbd559320d2a639e35ed10cb2d9522a5a77ae0
author | iuc |
---|---|
date | Mon, 16 Apr 2018 16:38:40 -0400 |
parents | 475ee31c61d9 |
children | f77bc14eba31 |
files | macros.xml umi-tools_extract.xml |
diffstat | 2 files changed, 86 insertions(+), 45 deletions(-) [+] |
line wrap: on
line diff
--- a/macros.xml Sun Feb 25 13:08:17 2018 -0500 +++ b/macros.xml Mon Apr 16 16:38:40 2018 -0400 @@ -1,5 +1,41 @@ <?xml version="1.0"?> <macros> + <macro name="barcode2_conditional" > + <conditional name="barcode"> + <param name="barcode_select" argument="--split-barcode" type="select" label="Barcode on both reads?"> + <option value="first_read_only">Barcode on first read only</option> + <option value="both_reads">Barcode on both reads</option> + </param> + <when value="first_read_only"/> + <when value="both_reads"> + <param name="bc_pattern2" argument="--bc-pattern2" type="text" value="" label="Barcode pattern for second read" + help="Use this option to specify the format of the UMI/barcode for + the second read pair if required." > + </param> + </when> + </conditional> + </macro> + <xml name="input_types"> + <conditional name="input_type"> + <param name="type" type="select" label="Library type"> + <option value="single">Single-end</option> + <option value="paired">Paired-end</option> + <option value="paired_collection">Paired-end Dataset Collection</option> + </param> + <when value="single"> + <param name="input_single" type="data" format="fastq,fastq.gz" label="Reads in FASTQ format" /> + </when> + <when value="paired"> + <param name="input_read1" type="data" format="fastq,fastq.gz" label="Reads in FASTQ format" /> + <param name="input_read2" type="data" format="fastq,fastq.gz" label="Reads in FASTQ format" /> + <expand macro="barcode2_conditional" /> + </when> + <when value="paired_collection"> + <param name="input_readpair" type="data_collection" collection_type="paired" format="fastq,fastq.gz" label="Reads in FASTQ format" /> + <expand macro="barcode2_conditional" /> + </when> + </conditional> + </xml> <xml name="citations"> <citations> <citation type="doi">10.1101/gr.209601.116</citation> @@ -20,4 +56,33 @@ </requirements> </xml> <token name="@VERSION@">0.5.3</token> + <token name="@COMMAND_LINK@"><![CDATA[ + #set $gz = False + #if $input_type.type == 'single': + #if $input_type.input_single.is_of_type("fastq.gz", "fastqsanger.gz"): + ln -s '$input_type.input_single' input_single.gz && + #set $gz = True + #else + ln -s '$input_type.input_single' input_single.txt && + #end if + #elif $input_type.type == 'paired': + #if $input_type.input_read1.is_of_type("fastq.gz", "fastqsanger.gz"): + ln -s '$input_type.input_read1' input_read1.gz && + ln -s '$input_type.input_read2' input_read2.gz && + #set $gz = True + #else + ln -s '$input_type.input_read1' input_read1.txt && + ln -s '$input_type.input_read2' input_read2.txt && + #end if + #else ## paired_collection + #if $input_type.input_readpair.forward.is_of_type("fastq.gz", "fastqsanger.gz"): + ln -s '$input_type.input_readpair.forward' input_read1.gz && + ln -s '$input_type.input_readpair.reverse' input_read2.gz && + #set $gz = True + #else + ln -s '$input_type.input_readpair.forward' input_read1.txt && + ln -s '$input_type.input_readpair.reverse' input_read2.txt && + #end if + #end if + ]]></token> </macros>
--- a/umi-tools_extract.xml Sun Feb 25 13:08:17 2018 -0500 +++ b/umi-tools_extract.xml Mon Apr 16 16:38:40 2018 -0400 @@ -1,24 +1,13 @@ -<tool id="umi_tools_extract" name="UMI-tools extract" version="@VERSION@.0"> +<tool id="umi_tools_extract" name="UMI-tools extract" version="@VERSION@.1"> <description>Extract UMI from fastq files</description> <macros> <import>macros.xml</import> </macros> <expand macro="requirements" /> <command detect_errors="exit_code"><![CDATA[ - #set $gz = False - #if $input_type.type == 'single': - #if $input_type.input_single.is_of_type("fastq.gz", "fastqsanger.gz"): - ln -s '$input_type.input_single' input_single.gz && - #set $gz = True - #end if - #else - #if $input_type.input_read1.is_of_type("fastq.gz", "fastqsanger.gz"): - ln -s '$input_type.input_read1' input_read1.gz && - ln -s '$input_type.input_read2' input_read2.gz && - #set $gz = True - #end if - #end if - umi_tools extract + @COMMAND_LINK@ + + umi_tools extract --bc-pattern='$bc_pattern' #if $input_type.type == 'single': #if $gz: @@ -40,7 +29,7 @@ --stdout '$out1' --read2-out='$out2' #end if - #if $input_type.barcode.split == "1": + #if $input_type.barcode.barcode_select == "both_reads": --split-barcode --bc-pattern2='$input_type.barcode.bc_pattern2' #end if @@ -67,33 +56,7 @@ #end if ]]></command> <inputs> - <conditional name="input_type"> - <param name="type" type="select" label="Library type"> - <option value="single">Single-end</option> - <option value="paired">Paired-end</option> - </param> - <when value="single"> - <param name="input_single" type="data" format="fastq,fastq.gz" label="Reads in FASTQ format" /> - </when> - <when value="paired"> - <param name="input_read1" type="data" format="fastq,fastq.gz" label="Reads in FASTQ format" /> - <param name="input_read2" type="data" format="fastq,fastq.gz" label="Reads in FASTQ format" /> - <conditional name="barcode"> - <param name="split" argument="--split-barcode" type="select" label="Barcode on both reads?"> - <option value="0">Barcode on first read only</option> - <option value="1">Barcode on both reads</option> - </param> - <when value="0"> - </when> - <when value="1"> - <param name="bc_pattern2" argument="--bc-pattern2" type="text" value="" label="Barcode pattern for second read" - help="Use this option to specify the format of the UMI/barcode for - the second read pair if required."> - </param> - </when> - </conditional> - </when> - </conditional> + <expand macro="input_types" /> <param name="bc_pattern" argument="--bc-pattern" type="text" label="Barcode pattern for first read" help="Use this option to specify the format of the UMI/barcode. Use Ns to represent the random positions and Xs to indicate the bc positions. @@ -132,10 +95,10 @@ <filter>input_type['type'] == "single"</filter> </data> <data name="out1" format_source="input_read1"> - <filter>input_type['type'] == "paired"</filter> + <filter>input_type['type'] !== "single"</filter> </data> <data name="out2" format_source="input_read2"> - <filter>input_type['type'] == "paired"</filter> + <filter>input_type['type'] !== "single"</filter> </data> <data name="out_log" format="txt"> <filter>print_log == True</filter> @@ -162,6 +125,19 @@ <output name="out2" file="out_R2.fastq.gz" decompress="true" lines_diff="2" /> <output name="out_log" file="out_paired.log" lines_diff="16"/> </test> + <test> + <param name="type" value="paired_collection" /> + <param name="input_readpair" > + <collection type="paired"> + <element name="forward" ftype="fastq.gz" value="t_R1.fastq.gz" /> + <element name="reverse" ftype="fastq.gz" value="t_R2.fastq.gz" /> + </collection> + </param> + <param name="bc_pattern" value="NNNXXX" /> + <output name="out1" file="out_R1.fastq.gz" decompress="true" lines_diff="2" /> + <output name="out2" file="out_R2.fastq.gz" decompress="true" lines_diff="2" /> + <output name="out_log" file="out_paired.log" lines_diff="16"/> + </test> </tests> <help><![CDATA[