Mercurial > repos > jtilman > flexbar
changeset 34:4a095317caca draft
Uploaded
author | jtilman |
---|---|
date | Wed, 27 Jun 2018 06:41:36 -0400 |
parents | 3b010ddcea2a |
children | cb6423bc1097 |
files | flexbar.xml |
diffstat | 1 files changed, 338 insertions(+), 290 deletions(-) [+] |
line wrap: on
line diff
--- a/flexbar.xml Sun Jun 24 12:25:51 2018 -0400 +++ b/flexbar.xml Wed Jun 27 06:41:36 2018 -0400 @@ -1,30 +1,34 @@ -<!-- Flexbar tool definition for Galaxy, version 3.4 --> +<!-- Flexbar tool definition for Galaxy, version 3.4.1 --> <!-- Author: Johannes Roehr --> -<tool id="flexbar" name="Flexbar" version="3.4" force_history_refresh="True"> +<tool id="flexbar" name="Flexbar" version="3.4.1"> - <description>flexible barcode and adapter removal</description> + <description>- flexible barcode and adapter removal</description> <requirements> - <requirement type="binary" version="3.4">flexbar</requirement> + <requirement type="package" version="3.4.0">flexbar</requirement> </requirements> <version_command>flexbar --versions</version_command> - <command interpreter="perl"> + <command detect_errors="aggressive"> - flexbar.pl flexbar + <![CDATA[ + + flexbar --threads \${GALAXY_SLOTS:-1} - --reads $reads - - #if $cReads2.select == "on": - #if $cReads2.reads2.ext == $reads.ext: - --reads2 $cReads2.reads2 - #end if + #if $reads.mode == "se": + --reads '$reads.rs' + #elif $reads.mode == "pe": + --reads '$reads.r1' + --reads2 '$reads.r2' + #else: + --reads '$reads.rc.forward' + --reads2 '$reads.rc.reverse' #end if --max-uncalled $maxUncalled @@ -35,351 +39,365 @@ --pre-trim-right $trimEnds.trimRight #end if - #if $cTrimPhred.select == "on": - --qtrim TAIL --qtrim-threshold $cTrimPhred.trimPhred - - #if $reads.ext == "fastqsanger": - --qtrim-format sanger - #end if - #if $reads.ext == "fastqsolexa": - --qtrim-format solexa - #end if - #if $reads.ext == "fastqillumina": - --qtrim-format i1.3 + + #if $cTrimQual.select != "off": + #if $reads.mode == "se": + #if $reads.rs.ext == "fastqsanger": + --qtrim-format sanger + #end if + #if $reads.rs.ext == "fastqsolexa": + --qtrim-format solexa + #end if + #if $reads.rs.ext == "fastqillumina": + --qtrim-format i1.3 + #end if + #elif $reads.mode == "pe": + #if $reads.r1.ext == "fastqsanger": + --qtrim-format sanger + #end if + #if $reads.r1.ext == "fastqsolexa": + --qtrim-format solexa + #end if + #if $reads.r1.ext == "fastqillumina": + --qtrim-format i1.3 + #end if + #else: + #if $reads.rc.forward.ext == "fastqsanger": + --qtrim-format sanger + #end if + #if $reads.rc.forward.ext == "fastqsolexa": + --qtrim-format solexa + #end if + #if $reads.rc.forward.ext == "fastqillumina": + --qtrim-format i1.3 + #end if #end if #end if + #if $cTrimQual.select == "tail": + --qtrim TAIL + --qtrim-threshold $cTrimQual.trimQualTail + $cTrimQual.trimQualPostTail + #end if + #if $cTrimQual.select == "win": + --qtrim WIN + --qtrim-threshold $cTrimQual.trimQualWin + --qtrim-win-size $cTrimQual.trimQualWinSize + $cTrimQual.trimQualPostWin + #end if + #if $cTrimQual.select == "bwa": + --qtrim BWA + --qtrim-threshold $cTrimQual.trimQualBWA + $cTrimQual.trimQualPostBWA + #end if + + #if $cTrimLen.select == "on": --post-trim-length $cTrimLen.trimLen #end if - #if $cBarcodes.select == "on": - --barcodes $cBarcodes.barcodes - - #if $cBarcodes.cbReads.select == "yes": - --barcode-reads $cBarcodes.cbReads.bReads - #end if - - #if $cBarcodes.cbReads.select == "no": - $cBarcodes.cbReads.bKeep - #end if - - $cBarcodes.bUnassigned - - --barcode-trim-end $cBarcodes.bTrimEnd - - #if $cBarcodes.cbTailLen.select == "yes": - --barcode-tail-length $cBarcodes.cbTailLen.bTailLen - #end if - - #if $cBarcodes.cbMinOverlap.select == "yes": - --barcode-min-overlap $cBarcodes.cbMinOverlap.bMinOverlap - #end if - - --barcode-error-rate $cBarcodes.bThresh - - #if $cBarcodes.cbAlignScores.select == "yes": - --barcode-match $bMatch - --barcode-mismatch $bMismatch - --barcode-gap $bGap - #end if - #end if - - #if $cAdapters.select == "on": - #if $cAdapters.ccAdapters.select == "data": - --adapters $cAdapters.ccAdapters.adaptersData + #if $cAdapters.ccAdapters.select == "file": + --adapters '$cAdapters.ccAdapters.adapterFile' #end if - + #if $cAdapters.ccAdapters.select == "files": + --adapters '$cAdapters.ccAdapters.adapterFile1' + --adapters2 '$cAdapters.ccAdapters.adapterFile2' + #end if + #if $cAdapters.ccAdapters.select == "preset": + --adapter-preset '$cAdapters.ccAdapters.adapterPreset' + #end if #if $cAdapters.ccAdapters.select == "seq": --adapter-seq $cAdapters.ccAdapters.adapterSeq #end if --adapter-trim-end $cAdapters.aTrimEnd + --adapter-min-overlap $cAdapters.aMinOverlap + --adapter-error-rate $cAdapters.aThresh - #if $cAdapters.caTailLen.select == "yes": - --adapter-tail-length $cAdapters.caTailLen.aTailLen + #if $cAdapters.cPairOverlap.select == "on": + --adapter-pair-overlap $cAdapters.cPairOverlap.aPairOverlap + --adapter-min-poverlap $cAdapters.cPairOverlap.aMinPoverlap + #end if + + #if $cAdapters.aAdvanced.caTailLen.select == "yes": + --adapter-tail-length $cAdapters.aAdvanced.caTailLen.aTailLen #end if - $cAdapters.aReadSet - - --adapter-min-overlap $cAdapters.aMinOverlap - --adapter-error-rate $cAdapters.aThresh + #if $cAdapters.aAdvanced.cRevComp.select == "on": + --adapter-revcomp ON + #if $cAdapters.aAdvanced.cRevComp.aRevCompEnd != "off": + --adapter-revcomp-end $cAdapters.aAdvanced.cRevComp.aRevCompEnd + #end if + #end if + #if $cAdapters.aAdvanced.cRevComp.select == "only": + --adapter-revcomp ONLY + #end if - #if $cAdapters.caAlignScores.select == "yes": - --adapter-match $aMatch - --adapter-mismatch $aMismatch - --adapter-gap $aGap + $cAdapters.aAdvanced.aReadSet + + --adapter-cycles $cAdapters.aAdvanced.aCycles + + #if $cAdapters.aAdvanced.caAlignScores.select == "yes": + --adapter-match $cAdapters.aAdvanced.caAlignScores.aMatch + --adapter-mismatch $cAdapters.aAdvanced.caAlignScores.aMismatch + --adapter-gap $cAdapters.aAdvanced.caAlignScores.aGap #end if #end if - #if $cOutput.select == "show": - $cOutput.fastaOutput - $cOutput.lenDist - $cOutput.singleReads - #end if - - #if $cLogging.select == "show": - $cLogging.logLevel - $cLogging.numTags - $cLogging.remTags - $cLogging.rndTags + #if $cAddOptions.select == "show": + $cAddOptions.logLevel + $cAddOptions.numTags + $cAddOptions.remTags + $cAddOptions.rndTags + $cAddOptions.singleReadsP + + #if $cAddOptions.cReadBundle.select == "show": + --bundle $cAddOptions.cReadBundle.bundle + + #if $cAddOptions.cReadBundle.bundles != "": + --bundles $cAddOptions.cReadBundle.bundles + #end if + #end if #end if - $output $output.id $__new_file_path__ $reads.ext + #if $reads.mode == "se": + --output-reads '$rsout' + #elif $reads.mode == "pe": + --output-reads '$r1out' + --output-reads2 '$r2out' + #else: + --output-reads '$rcout.forward' + --output-reads2 '$rcout.reverse' + #end if + --output-log '$outlog' + + ]]> </command> <inputs> - <param format="fastq,fastqsanger,fastqsolexa,fastqillumina" name="reads" type="data" label="Reads fastq file" optional="false"/> - - - <conditional name="cReads2"> - <param name="select" type="select" label="Paired reads file"> - <option value="off" selected="true">Off</option> - <option value="on">On</option> + <conditional name="reads"> + <param name="mode" type="select" label="Sequencing reads"> + <option value="se">Single read file</option> + <option value="pe" selected="true">Paired read files</option> + <option value="pc">Paired read collection</option> </param> - <when value="off"> + <when value="se"> + <param name="rs" type="data" format="fastqsanger,fastqsolexa,fastqillumina" label="Fastq read file"/> </when> - <when value="on"> - <param format="fastq,fastqsanger,fastqsolexa,fastqillumina" name="reads2" type="data" label="Reads 2" optional="false" help="same format as first read set"/> + <when value="pe"> + <param name="r1" type="data" format="fastqsanger,fastqsolexa,fastqillumina" label="Fastq read file 1"/> + <param name="r2" type="data" format="fastqsanger,fastqsolexa,fastqillumina" label="Fastq read file 2"/> + </when> + <when value="pc"> + <param name="rc" format="fastqsanger,fastqsolexa,fastqillumina" type="data_collection" collection_type="paired" label="Fastq pair collection"/> </when> </conditional> - - <param name="maxUncalled" size="4" type="integer" value="0" label="1) Max uncalled" optional="false" help="allowed uncalled bases per read"/> + <param name="maxUncalled" size="4" type="integer" value="0" label="1) Maximum uncalled bases"/> <conditional name="trimEnds"> - <param name="select" type="select" label="2) Trimming of ends"> - <option value="off" selected="true">Off</option> - <option value="on">On</option> - </param> - <when value="off"> - </when> - <when value="on"> - <param name="trimLeft" size="4" type="integer" value="0" label="Left" optional="false"/> - <param name="trimRight" size="4" type="integer" value="0" label="Right" optional="false" help="trims specified number of bases from read ends"/> - </when> - </conditional> - - <conditional name="cTrimPhred"> - <param name="select" type="select" label="3) Quality-based trimming"> - <option value="off" selected="true">Off</option> - <option value="on">On</option> - </param> - <when value="off"> - </when> - <when value="on"> - <param name="trimPhred" size="4" type="integer" value="10" label="Threshold" optional="false" help="trim right end until specified or higher quality reached"/> - </when> - </conditional> - - - <conditional name="cBarcodes"> - <param name="select" type="select" label="4) Barcode detection"> + <param name="select" type="select" label="2) Trimming of read ends"> <option value="off" selected="true">Off</option> <option value="on">On</option> </param> <when value="off"> </when> <when value="on"> - <param format="fasta" name="barcodes" type="data" label="Barcodes" optional="false"/> - - <conditional name="cbReads"> - <param name="select" type="select" label="Separate barcode reads"> - <option value="no" selected="true">No</option> - <option value="yes">Yes</option> - </param> - <when value="yes"> - <param format="fastq,fastqsanger,fastqsolexa,fastqillumina" name="bReads" type="data" label="Separate barcode reads" optional="false"/> - </when> - <when value="no"> - <param name="bKeep" type="select" label="Remove barcodes within reads"> - <option value="" selected="true">Yes</option> - <option value="--barcode-keep">No</option> - </param> - </when> - </conditional> - - <param name="bUnassigned" type="select" label="Include unassigned reads"> - <option value="" selected="true">No</option> - <option value="--barcode-unassigned">Yes</option> - </param> - - <param name="bTrimEnd" type="select" label="Trim-end mode" optional="false"> - <option value="ANY" selected="true">Any</option> - <option value="RIGHT">Right</option> - <option value="RTAIL">Right tail</option> - <option value="LEFT">Left</option> - <option value="LTAIL">Left tail</option> - </param> + <param name="trimLeft" size="4" type="integer" value="0" label="Left"/> + <param name="trimRight" size="4" type="integer" value="0" label="Right" help="trims specified number of bases at ends"/> + </when> + </conditional> + + <conditional name="cTrimQual"> + <param name="select" type="select" label="3) Quality-based trimming"> + <option value="off" selected="true">Off</option> + <option value="tail">Tail</option> + <option value="win">Window</option> + <option value="bwa">BWA</option> + </param> + <when value="off"> + </when> + <when value="tail"> + <param name="trimQualTail" size="4" type="integer" value="20" label="Quality threshold" help="trim right end until specified quality or higher"/> - <conditional name="cbTailLen"> - <param name="select" type="select" label="Change tail length"> - <option value="no" selected="true">No</option> - <option value="yes">Yes</option> - </param> - <when value="no"> - </when> - <when value="yes"> - <param name="bTailLen" size="4" type="integer" value="10" label="Tail length" optional="false"/> - </when> - </conditional> + <param name="trimQualPostTail" type="select" label="After adapter removal"> + <option value="" selected="true">No</option> + <option value="--qtrim-post-removal">Yes</option> + </param> + </when> + <when value="win"> + <param name="trimQualWin" size="4" type="integer" value="20" label="Quality threshold"/> + <param name="trimQualWinSize" size="4" type="integer" value="5" label="Window length" help="sliding window average quality approach from left end"/> - <conditional name="cbMinOverlap"> - <param name="select" type="select" label="Change min-overlap" help="default: barcode length"> - <option value="no" selected="true">No</option> - <option value="yes">Yes</option> - </param> - <when value="no"> - </when> - <when value="yes"> - <param name="bMinOverlap" size="4" type="integer" value="8" label="Min-overlap" optional="false"/> - </when> - </conditional> - - <param name="bThresh" size="4" type="integer" value="1" label="Threshold" optional="false" help="allowed mismatches and indels per 10 bases"/> + <param name="trimQualPostWin" type="select" label="After adapter removal"> + <option value="" selected="true">No</option> + <option value="--qtrim-post-removal">Yes</option> + </param> + </when> + <when value="bwa"> + <param name="trimQualBWA" size="4" type="integer" value="20" label="Quality threshold" help="trimming approach used by BWA"/> - <conditional name="cbAlignScores"> - <param name="select" type="select" label="Modify alignment scores"> - <option value="no" selected="true">No</option> - <option value="yes">Yes</option> - </param> - <when value="no"> - </when> - <when value="yes"> - <param name="bMatch" size="3" type="integer" value="1" label="Match" optional="false"/> - <param name="bMismatch" size="3" type="integer" value="-1" label="Mismatch" optional="false"/> - <param name="bGap" size="3" type="integer" value="-9" label="Gap" optional="false"/> - </when> - </conditional> + <param name="trimQualPostBWA" type="select" label="After adapter removal"> + <option value="" selected="true">No</option> + <option value="--qtrim-post-removal">Yes</option> + </param> </when> </conditional> <conditional name="cAdapters"> - <param name="select" type="select" label="5) Adapter removal"> - <option value="off" selected="true">Off</option> - <option value="on">On</option> - </param> - - <when value="off"> - </when> - <when value="on"> - <conditional name="ccAdapters"> - <param name="select" type="select" label="Adapter source"> - <option value="data" selected="true">Fasta</option> - <option value="seq">Sequence</option> - <!-- <option value="file">File</option> --> - </param> - <when value="data"> - <param format="fasta" name="adaptersData" type="data" label="Adapters" optional="false"/> - </when> - <when value="seq"> - <param name="adapterSeq" size="40" label="Adapter" type="text" value="AAAAAAAAAAAAAA" optional="false"/> - </when> - <!-- <when value="file"> - <param name="adaptersFile" type="file" label="Adapters file" optional="false"/> - </when> --> - </conditional> - - <param name="aTrimEnd" type="select" label="Trim-end mode" optional="false"> - <option value="ANY">Any</option> - <option value="RIGHT" selected="true">Right</option> - <option value="RTAIL">Right tail</option> - <option value="LEFT">Left</option> - <option value="LTAIL">Left tail</option> - </param> - - <conditional name="caTailLen"> - <param name="select" type="select" label="Change tail length"> - <option value="no" selected="true">No</option> - <option value="yes">Yes</option> - </param> - <when value="no"> - </when> - <when value="yes"> - <param name="aTailLen" size="4" type="integer" value="10" label="Tail length" optional="false"/> - </when> - </conditional> - - <param name="aReadSet" type="select" label="Removal for single read set"> - <option value="" selected="true">No</option> - <option value="--adapter-read-set 1">1st</option> - <option value="--adapter-read-set 2">2nd</option> - </param> - - <param name="aMinOverlap" size="4" type="integer" value="1" label="Min-overlap" optional="false"/> - <param name="aThresh" size="4" type="integer" value="3" label="Threshold" optional="false" help="allowed mismatches and indels per 10 bases"/> - - <conditional name="caAlignScores"> - <param name="select" type="select" label="Modify alignment scores"> - <option value="no" selected="true">No</option> - <option value="yes">Yes</option> - </param> - <when value="no"> - </when> - <when value="yes"> - <param name="aMatch" size="3" type="integer" value="1" label="Match" optional="false"/> - <param name="aMismatch" size="3" type="integer" value="-1" label="Mismatch" optional="false"/> - <param name="aGap" size="3" type="integer" value="-6" label="Gap" optional="false"/> - </when> - </conditional> - </when> - </conditional> - - - <conditional name="cTrimLen"> - <param name="select" type="select" label="6) Trimming to length"> + <param name="select" type="select" label="4) Adapter removal"> <option value="off" selected="true">Off</option> <option value="on">On</option> </param> <when value="off"> </when> <when value="on"> - <param name="trimLen" size="4" type="integer" value="30" label="Length" optional="false" help="trim reads to certain length from right"/> + <conditional name="ccAdapters"> + <param name="select" type="select" label="Adapter source"> + <option value="file" selected="true">Adapter file</option> + <option value="files">Two adapter files</option> + <option value="preset">Illumina preset</option> + <option value="seq">Single sequence</option> + </param> + <when value="file"> + <param format="fasta" name="adapterFile" type="data" label="Fasta adapter file"/> + </when> + <when value="files"> + <param format="fasta" name="adapterFile1" type="data" label="Fasta adapter file for reads 1"/> + <param format="fasta" name="adapterFile2" type="data" label="Fasta adapter file for reads 2"/> + </when> + <when value="preset"> + <param name="adapterPreset" type="select" label="Adapter preset"> + <option value="TruSeq" selected="true">TruSeq LT and HT-based kits</option> + <option value="SmallRNA">TruSeq Small RNA</option> + <option value="Methyl">TruSeq DNA Methylation and ScriptSeq</option> + <option value="Ribo">TruSeq Ribo Profile</option> + <option value="Nextera">Nextera, AmpliSeq, and TruSight</option> + <option value="NexteraMP">Nextera Mate Pair</option> + </param> + </when> + <when value="seq"> + <param name="adapterSeq" size="40" label="Adapter sequence" type="text" value=""/> + </when> + </conditional> + + <param name="aMinOverlap" size="4" type="integer" value="3" label="Minimum overlap"/> + <param name="aThresh" size="4" type="float" value="0.1" label="Error rate" help="allowed fraction of mismatches and indels"/> + + <param name="aTrimEnd" type="select" label="Trim-end mode"> + <option value="RIGHT" selected="true">Right</option> + <option value="LEFT">Left</option> + <option value="RTAIL">Right tail</option> + <option value="LTAIL">Left tail</option> + <option value="ANY">Any</option> + </param> + + <conditional name="cPairOverlap"> + <param name="select" type="select" label="Pair overlap detection"> + <option value="off" selected="true">Off</option> + <option value="on">On</option> + </param> + <when value="off"> + </when> + <when value="on"> + <param name="aPairOverlap" type="select" label="Detection mode"> + <option value="ON" selected="true">Standard</option> + <option value="SHORT">Trim short</option> + </param> + <param name="aMinPoverlap" size="4" type="integer" value="40" label="Minimum pair overlap"/> + </when> + </conditional> + + <section name="aAdvanced" title="Advanced options" expanded="false"> + + <conditional name="caTailLen"> + <param name="select" type="select" label="Change tail length"> + <option value="no" selected="true">No</option> + <option value="yes">Yes</option> + </param> + <when value="no"> + </when> + <when value="yes"> + <param name="aTailLen" size="4" type="integer" value="" label="Tail length"/> + </when> + </conditional> + + <conditional name="cRevComp"> + <param name="select" type="select" label="Reverse complements of adapters"> + <option value="off" selected="true">Off</option> + <option value="on">On</option> + <option value="only">Only</option> + </param> + <when value="off"> + </when> + <when value="on"> + <param name="aRevCompEnd" type="select" label="Different trim-end for reverse complements"> + <option value="off" selected="true">Off</option> + <option value="RIGHT">Right</option> + <option value="LEFT">Left</option> + <option value="RTAIL">Right tail</option> + <option value="LTAIL">Left tail</option> + <option value="ANY">Any</option> + </param> + </when> + </conditional> + + + <param name="aReadSet" type="select" label="Removal for single read set"> + <option value="" selected="true">No</option> + <option value="--adapter-read-set 1">1st</option> + <option value="--adapter-read-set 2">2nd</option> + </param> + + <param name="aCycles" size="4" type="integer" value="1" label="Number of removal cycles"/> + + <conditional name="caAlignScores"> + <param name="select" type="select" label="Modify alignment scores"> + <option value="no" selected="true">No</option> + <option value="yes">Yes</option> + </param> + <when value="no"> + </when> + <when value="yes"> + <param name="aMatch" size="3" type="integer" value="1" label="Match"/> + <param name="aMismatch" size="3" type="integer" value="-1" label="Mismatch"/> + <param name="aGap" size="3" type="integer" value="-6" label="Gap"/> + </when> + </conditional> + </section> </when> </conditional> - <param name="minReadLen" size="4" type="integer" value="18" label="7) Minimum read length" optional="false" help="shorter reads are discarded"/> - <conditional name="cOutput"> - <param name="select" type="select" label="Output selection"> + <conditional name="cTrimLen"> + <param name="select" type="select" label="5) Trimming to length"> <option value="off" selected="true">Off</option> - <option value="show">Show</option> + <option value="on">On</option> </param> <when value="off"> </when> - <when value="show"> - <param name="fastaOutput" type="select" label="Fasta output"> - <option value="" selected="true">Off</option> - <option value="--fasta-output">Always</option> - </param> - - <param name="lenDist" type="select" label="Read length distribution"> - <option value="" selected="true">Off</option> - <option value="--length-dist">On</option> - </param> - - <param name="singleReads" type="select" label="Single reads"> - <option value="" selected="true">Off</option> - <option value="--single-reads">On</option> - </param> + <when value="on"> + <param name="trimLen" size="4" type="integer" value="" label="Length" help="trim reads to certain length from right"/> </when> </conditional> - <conditional name="cLogging"> - <param name="select" type="select" label="Logging and tagging options"> - <option value="off" selected="true">Off</option> + <param name="minReadLen" size="4" type="integer" value="20" label="6) Minimum read length"/> + + <conditional name="cAddOptions"> + <param name="select" type="select" label="Additional options"> + <option value="hide" selected="true">Hide</option> <option value="show">Show</option> </param> - <when value="off"> + <when value="hide"> </when> <when value="show"> <param name="logLevel" type="select" label="Alignment logging"> @@ -403,20 +421,50 @@ <option value="" selected="true">Off</option> <option value="--umi-tags">On</option> </param> + + <param name="singleReadsP" type="select" label="Single reads as paired"> + <option value="" selected="true">Off</option> + <option value="--single-reads-paired">On</option> + </param> + + <conditional name="cReadBundle"> + <param name="select" type="select" label="Read bundle options"> + <option value="hide" selected="true">Hide</option> + <option value="show">Show</option> + </param> + <when value="hide"> + </when> + <when value="show"> + <param name="bundle" size="4" type="integer" value="256" label="Number of paired reads per bundle"/> + <param name="bundles" size="4" type="integer" value="" optional="true" label="Only certain number of bundles for testing"/> + </when> + </conditional> </when> </conditional> </inputs> - <stdio> - <exit_code range="1:" level="fatal" description="Error!" /> - </stdio> - <outputs> - <data format="txt" name="output" metadata_source="reads"/> + <data name="outlog" format="txt" label="Flexbar log for ${on_string}"/> + + <data name="rsout" label="Flexbar on ${reads.rs.name}" format_source="rs"> + <filter>reads['mode'] == 'se'</filter> + </data> + + <data name="r1out" label="Flexbar on ${reads.r1.name}" format_source="r1"> + <filter>reads['mode'] == "pe"</filter> + </data> + <data name="r2out" label="Flexbar on ${reads.r2.name}" format_source="r2"> + <filter>reads['mode'] == "pe"</filter> + </data> + + <collection name="rcout" type="paired" label="Flexbar on ${on_string}"> + <filter>reads['mode'] == "pc"</filter> + <data name="forward" label="Flexbar on ${reads.rc.forward.name}" format_source="rc['forward']"/> + <data name="reverse" label="Flexbar on ${reads.rc.reverse.name}" format_source="rc['reverse']"/> + </collection> </outputs> - <help> **Description**