Mercurial > repos > triasteran > bowtie_remove_rrna_wrapper
diff bowtie_remove_rrna_wrapper/bowtie_remove_rrna_wrapper.xml @ 24:9a625b3e080a draft
Uploaded
author | triasteran |
---|---|
date | Thu, 03 Mar 2022 12:51:08 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bowtie_remove_rrna_wrapper/bowtie_remove_rrna_wrapper.xml Thu Mar 03 12:51:08 2022 +0000 @@ -0,0 +1,518 @@ +<tool id="bowtie_remove_rrna_wrapper" name="Remove rRNA using Bowtie" version="0.1.3"> + <requirements> + <container type="docker">triasteran/bowite0127:latest</container> + </requirements> + <command detect_errors="exit_code"><![CDATA[ + python2 '$__tool_directory__/bowtie_wrapper.py' + ## Set number of threads + --threads="\${GALAXY_SLOTS:-4}" + ## Outputs + --output="${output}" + #if str( $singlePaired.sPaired ) == "single" + #if $output_unmapped_reads_l + --output_unmapped_reads="${output_unmapped_reads_l}" + #end if + #if $output_suppressed_reads_l + --output_suppressed_reads="${output_suppressed_reads_l}" + #end if + --galaxy_input_format="${singlePaired.sInput1.ext}" + #else + #if $output_unmapped_reads_l and $output_unmapped_reads_r + --output_unmapped_reads_l="${output_unmapped_reads_l}" + --output_unmapped_reads_r="${output_unmapped_reads_r}" + #end if + #if $output_suppressed_reads_l and $output_suppressed_reads_l + --output_suppressed_reads_l="${output_suppressed_reads_l}" + --output_suppressed_reads_r="${output_suppressed_reads_r}" + #end if + --galaxy_input_format="${singlePaired.pInput1.ext}" + #end if + ## Inputs + --dataType="solexa" ##this indicates that nucleotide base space is used in the wrapper + --suppressHeader="${suppressHeader}" + --genomeSource="${refGenomeSource.genomeSource}" + #if $refGenomeSource.genomeSource == "history": + ##index already exists + #if $refGenomeSource.ownFile.extension.startswith( 'bowtie_' ): + ##user previously built + --ref="${refGenomeSource.ownFile.extra_files_path}/${refGenomeSource.ownFile.metadata.base_name}" + --do_not_build_index + #else: + ##build index on the fly + --ref="${refGenomeSource.ownFile}" + --indexSettings="${refGenomeSource.indexParams.indexSettings}" + #if $refGenomeSource.indexParams.indexSettings == "indexFull": + --iautoB="${refGenomeSource.indexParams.autoBehavior.autoB}" + #if $refGenomeSource.indexParams.autoBehavior.autoB == "set": + --ipacked="${refGenomeSource.indexParams.autoBehavior.packed}" + --ibmax="${refGenomeSource.indexParams.autoBehavior.bmax}" + --ibmaxdivn="${refGenomeSource.indexParams.autoBehavior.bmaxdivn}" + --idcv="${refGenomeSource.indexParams.autoBehavior.dcv}" + #end if + --inodc="${refGenomeSource.indexParams.nodc}" + --inoref="${refGenomeSource.indexParams.noref}" + --ioffrate="${refGenomeSource.indexParams.offrate}" + --iftab="${refGenomeSource.indexParams.ftab}" + --intoa="${refGenomeSource.indexParams.ntoa}" + --iendian="${refGenomeSource.indexParams.endian}" + --iseed="${refGenomeSource.indexParams.seed}" + --icutoff="${refGenomeSource.indexParams.cutoff}" + #end if + #end if + #else + ##use pre-built index + --ref="${refGenomeSource.index.fields.path}" + #end if + --paired="${singlePaired.sPaired}" + #if $singlePaired.sPaired == "single": + --input1="${singlePaired.sInput1}" + --params="${singlePaired.sParams.sSettingsType}" + #if $singlePaired.sParams.sSettingsType == "full": + --skip="${singlePaired.sParams.sSkip}" + --alignLimit="${singlePaired.sParams.sAlignLimit}" + --trimH="${singlePaired.sParams.sTrimH}" + --trimL="${singlePaired.sParams.sTrimL}" + --mismatchSeed="${singlePaired.sParams.sMismatchSeed}" + --mismatchQual="${singlePaired.sParams.sMismatchQual}" + --seedLen="${singlePaired.sParams.sSeedLen}" + --rounding="${singlePaired.sParams.sRounding}" + --maqSoapAlign="${singlePaired.sParams.sMaqSoapAlign}" + --reverseAlign="${singlePaired.sParams.sReverseAlign}" + --tryHard="${singlePaired.sParams.sTryHard}" + --valAlign="${singlePaired.sParams.sValAlign}" + --allValAligns="${singlePaired.sParams.sAllValAligns}" + --suppressAlign="${singlePaired.sParams.sSuppressAlign}" + --best="${singlePaired.sParams.sBestOption.sBest}" + #if $singlePaired.sParams.sBestOption.sBest == "doBest": + --maxBacktracks="${singlePaired.sParams.sBestOption.sdMaxBacktracks}" + --strata="${singlePaired.sParams.sBestOption.sdStrata}" + #else: + --maxBacktracks="${singlePaired.sParams.sBestOption.snMaxBacktracks}" + #end if + --offrate="${singlePaired.sParams.sOffrate}" + --seed="${singlePaired.sParams.sSeed}" + #end if + #else: + --input1="${singlePaired.pInput1}" + --input2="${singlePaired.pInput2}" + --maxInsert="${singlePaired.pMaxInsert}" + --mateOrient="${singlePaired.pMateOrient}" + --params="${singlePaired.pParams.pSettingsType}" + #if $singlePaired.pParams.pSettingsType == "full": + --skip="${singlePaired.pParams.pSkip}" + --alignLimit="${singlePaired.pParams.pAlignLimit}" + --trimH="${singlePaired.pParams.pTrimH}" + --trimL="${singlePaired.pParams.pTrimL}" + --mismatchSeed="${singlePaired.pParams.pMismatchSeed}" + --mismatchQual="${singlePaired.pParams.pMismatchQual}" + --seedLen="${singlePaired.pParams.pSeedLen}" + --rounding="${singlePaired.pParams.pRounding}" + --maqSoapAlign="${singlePaired.pParams.pMaqSoapAlign}" + --minInsert="${singlePaired.pParams.pMinInsert}" + --maxAlignAttempt="${singlePaired.pParams.pMaxAlignAttempt}" + --forwardAlign="${singlePaired.pParams.pForwardAlign}" + --reverseAlign="${singlePaired.pParams.pReverseAlign}" + --tryHard="${singlePaired.pParams.pTryHard}" + --valAlign="${singlePaired.pParams.pValAlign}" + --allValAligns="${singlePaired.pParams.pAllValAligns}" + --suppressAlign="${singlePaired.pParams.pSuppressAlign}" + --best="${singlePaired.pParams.pBestOption.pBest}" + #if $singlePaired.pParams.pBestOption.pBest == "doBest": + --maxBacktracks="${singlePaired.pParams.pBestOption.pdMaxBacktracks}" + --strata="${singlePaired.pParams.pBestOption.pdStrata}" + #else: + --maxBacktracks="${singlePaired.pParams.pBestOption.pnMaxBacktracks}" + #end if + --offrate="${singlePaired.pParams.pOffrate}" + --seed="${singlePaired.pParams.pSeed}" + #end if + #end if + ]]></command> + <inputs> + <conditional name="refGenomeSource"> + <param name="genomeSource" type="select" label="Will you select a reference genome from your history or use a built-in index?" help="Built-ins were indexed using default options"> + <option value="indexed">Use a built-in index</option> + <option value="history">Use one from the history</option> + </param> + <when value="indexed"> + <param name="index" type="select" label="Select the appropriate rRNA index" help="If the rRNA index for your organism is not listed, you will need to upload a fasta file of the rRNA sequences. "> + <options from_data_table="bowtie_rrna_indexes"> + <filter type="sort_by" column="2" /> + <validator type="no_options" message="No indexes are available" /> + </options> + </param> + </when> + <when value="history"> + <param name="ownFile" type="data" format="bowtie_base_index,fasta" label="Select the reference genome" /> + <conditional name="indexParams"> + <param name="indexSettings" type="select" label="Choose whether to use Default options for building indices or to Set your own" help="These settings are ignored when using a prebuilt index"> + <option value="indexPreSet">Default</option> + <option value="indexFull">Set your own</option> + </param> + <when value="indexPreSet" /> + <when value="indexFull"> + <conditional name="autoBehavior"> + <param name="autoB" type="select" label="Choose to use automatic or specified behavior for some parameters (-a)" help="Allows you to set --packed, --bmax, --bmaxdivn, and --dcv"> + <option value="auto">Automatic behavior</option> + <option value="set">Set values (sets --noauto and allows others to be set)</option> + </param> + <when value="auto" /> + <when value="set"> + <param name="packed" type="select" label="Whether or not to use a packed representation for DNA strings (--packed)"> + <option value="unpacked">Use regular representation</option> + <option value="packed">Use packed representation</option> + </param> + <param name="bmax" type="integer" value="-1" label="Maximum number of suffixes allowed in a block (--bmax)" help="-1 for not specified. Must be at least 1" /> + <param name="bmaxdivn" type="integer" value="4" label="Maximum number of suffixes allowed in a block as a fraction of the length of the reference (--bmaxdivn)" /> + <param name="dcv" type="integer" value="1024" label="The period for the difference-cover sample (--dcv)" /> + </when> + </conditional> + <param name="nodc" type="select" label="Whether or not to disable the use of the difference-cover sample (--nodc)" help="Suffix sorting becomes quadratic-time in the worst case (with a very repetitive reference)"> + <option value="dc">Use difference-cover sample</option> + <option value="nodc">Disable difference-cover sample</option> + </param> + <param name="noref" type="select" label="Whether or not to build the part of the reference index used only in paired-end alignment (-r)"> + <option value="ref">Build all index files</option> + <option value="noref">Do not build paired-end alignment index files</option> + </param> + <param name="offrate" type="integer" value="5" label="How many rows get marked during annotation of some or all of the Burrows-Wheeler rows (-o)" /> + <param name="ftab" type="integer" value="10" label="The size of the lookup table used to calculate an initial Burrows-Wheeler range with respect to the first n characters of the query (-t)" help="ftab is 4^(n+1) bytes" /> + <param name="ntoa" type="select" label="Whether or not to convert Ns in the reference sequence to As (--ntoa)"> + <option value="no">Do not convert Ns</option> + <option value="yes">Convert Ns to As</option> + </param> + <param name="endian" type="select" label="Endianness to use when serializing integers to the index file (--big/--little)" help="Little is most appropriate for Intel- and AMD-based architecture"> + <option value="little">Little</option> + <option value="big">Big</option> + </param> + <param name="seed" type="integer" value="-1" label="Seed for the pseudorandom number generator (--seed)" help="Use -1 to use default" /> + <param name="cutoff" type="integer" value="-1" label="Number of first bases of the reference sequence to index (--cutoff)" help="Use -1 to use default" /> + </when> <!-- indexFull --> + </conditional> <!-- indexParams --> + </when> <!-- history --> + </conditional> <!-- refGenomeSource --> + <conditional name="singlePaired"> + <param name="sPaired" type="select" label="Is this library mate-paired?"> + <option value="single">Single-end</option> + <option value="paired">Paired-end</option> + </param> + <when value="single"> + <param name="sInput1" type="data" format="fastqsanger,fastqillumina,fastqsolexa" label="FASTQ file" help="Must have ASCII encoded quality scores"/> + <conditional name="sParams"> + <param name="sSettingsType" type="select" label="Bowtie settings to use" help="For most mapping needs use Commonly used settings. If you want full control use Full parameter list"> + <option value="preSet">Commonly used</option> + <option value="full" selected="true">Full parameter list</option> + </param> + <when value="preSet" /> + <when value="full"> + <param name="sSkip" type="integer" value="0" label="Skip the first n reads (-s)" /> + <param name="sAlignLimit" type="integer" value="-1" label="Only align the first n reads (-u)" help="-1 for off" /> + <param name="sTrimH" type="integer" value="0" label="Trim n bases from high-quality (left) end of each read before alignment (-5)" /> + <param name="sTrimL" type="integer" value="0" label="Trim n bases from low-quality (right) end of each read before alignment (-3)" /> + <param name="sMismatchSeed" type="integer" value="2" label="Maximum number of mismatches permitted in the seed (-n)" help="May be 0, 1, 2, or 3" /> + <param name="sMismatchQual" type="integer" value="70" label="Maximum permitted total of quality values at mismatched read positions (-e)" /> + <param name="sSeedLen" type="integer" value="25" label="Seed length (-l)" help="Minimum value is 5" /> + <param name="sRounding" type="select" label="Whether or not to round to the nearest 10 and saturating at 30 (--nomaqround)"> + <option value="round">Round to nearest 10</option> + <option value="noRound">Do not round to nearest 10</option> + </param> + <param name="sMaqSoapAlign" type="integer" value="3" label="Number of mismatches for SOAP-like alignment policy (-v)" help="-1 for default MAQ-like alignment policy" /> + <param name="sReverseAlign" type="select" label="Choose whether or not to align against the reverse-complement reference strand (--norc)"> + <option value="noReverse">Do not align against the reverse-complement reference strand</option> + <option value="reverse">Align against the reverse-complement reference strand</option> + </param> + <param name="sTryHard" type="select" label="Whether or not to try as hard as possible to find valid alignments when they exist (-y)" help="Tryhard mode is much slower than regular mode"> + <option value="noTryHard">Do not try hard</option> + <option value="doTryHard">Try hard</option> + </param> + <param name="sValAlign" type="integer" value="1" label="Report up to n valid alignments per read (-k)" /> + <param name="sAllValAligns" type="select" label="Whether or not to report all valid alignments per read (-a)"> + <option value="noAllValAligns">Do not report all valid alignments</option> + <option value="doAllValAligns">Report all valid alignments</option> + </param> + <param name="sSuppressAlign" type="integer" value="-1" label="Suppress all alignments for a read if more than n reportable alignments exist (-m)" help="-1 for no limit" /> + <param name="sMaxFile" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Write all reads with a number of valid alignments exceeding the limit set with the -m option to a file (--max)" /> + <param name="sUnmappedFile" type="boolean" truevalue="true" falsevalue="false" checked="True" label="Write all reads that could not be aligned to a file (--un)" /> + <conditional name="sBestOption"> + <param name="sBest" type="select" label="Whether or not to make Bowtie guarantee that reported singleton alignments are 'best' in terms of stratum and in terms of the quality values at the mismatched positions (--best)" help="Removes all strand bias. Only affects which alignments are reported by Bowtie. Runs slower with best option"> + <option value="noBest">Do not use best</option> + <option value="doBest">Use best</option> + </param> + <when value="noBest"> + <param name="snMaxBacktracks" type="integer" value="125" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" /> + </when> + <when value="doBest"> + <param name="sdMaxBacktracks" type="integer" value="800" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" /> + <param name="sdStrata" type="select" label="Whether or not to report only those alignments that fall in the best stratum if many valid alignments exist and are reportable (--strata)"> + <option value="noStrata">Do not use strata option</option> + <option value="doStrata">Use strata option</option> + </param> + </when> + </conditional> <!-- bestOption --> + <param name="sOffrate" type="integer" value="-1" label="Override the offrate of the index to n (-o)" help="-1 for default" /> + <param name="sSeed" type="integer" value="-1" label="Seed for pseudo-random number generator (--seed)" help="-1 for default" /> + </when> <!-- full --> + </conditional> <!-- sParams --> + </when> <!-- single --> + <when value="paired"> + <param name="pInput1" type="data" format="fastqsanger,fastqillumina,fastqsolexa" label="Forward FASTQ file" help="Must have ASCII encoded quality scores"/> + <param name="pInput2" type="data" format="fastqsanger,fastqillumina,fastqsolexa" label="Reverse FASTQ file" help="File format must match the Forward FASTQ file"> + <options options_filter_attribute="ext" from_parameter="tool.app.datatypes_registry.datatypes_by_extension" transform_lines="obj.keys()"> + <column name="name" index="0"/> + <column name="value" index="0"/> + <filter type="param_value" ref="pInput1" ref_attribute="ext" column="0"/> + </options> + </param> + <param name="pMaxInsert" type="integer" value="1000" label="Maximum insert size for valid paired-end alignments (-X)" /> + <param name="pMateOrient" type="select" label="The upstream/downstream mate orientation for valid paired-end alignment against the forward reference strand (--fr/--rf/--ff)"> + <option value="fr">FR (for Illumina)</option> + <option value="rf">RF</option> + <option value="ff">FF (for SOLiD)</option> + </param> + <conditional name="pParams"> + <param name="pSettingsType" type="select" label="Bowtie settings to use" help="For most mapping needs use Commonly used settings. If you want full control use Full parameter list"> + <option value="preSet">Commonly used</option> + <option value="full">Full parameter list</option> + </param> + <when value="preSet" /> + <when value="full"> + <param name="pSkip" type="integer" value="0" label="Skip the first n pairs (-s)" /> + <param name="pAlignLimit" type="integer" value="-1" label="Only align the first n pairs (-u)" help="-1 for off" /> + <param name="pTrimH" type="integer" value="0" label="Trim n bases from high-quality (left) end of each read before alignment (-5)" /> + <param name="pTrimL" type="integer" value="0" label="Trim n bases from low-quality (right) end of each read before alignment (-3)" /> + <param name="pMismatchSeed" type="integer" value="2" label="Maximum number of mismatches permitted in the seed (-n)" help="May be 0, 1, 2, or 3" /> + <param name="pMismatchQual" type="integer" value="70" label="Maximum permitted total of quality values at mismatched read positions (-e)" /> + <param name="pSeedLen" type="integer" value="25" label="Seed length (-l)" help="Minimum value is 5" /> + <param name="pRounding" type="select" label="Whether or not to round to the nearest 10 and saturating at 30 (--nomaqround)"> + <option value="round">Round to nearest 10</option> + <option value="noRound">Do not round to nearest 10</option> + </param> + <param name="pMaqSoapAlign" type="integer" value="-1" label="Number of mismatches for SOAP-like alignment policy (-v)" help="-1 for default MAQ-like alignment policy" /> + <param name="pMinInsert" type="integer" value="0" label="Minimum insert size for valid paired-end alignments (-I)" /> + <param name="pMaxAlignAttempt" type="integer" value="100" label="Maximum number of attempts Bowtie will make to match an alignment for one mate with an alignment for the opposite mate (--pairtries)" /> + <param name="pForwardAlign" type="select" label="Choose whether or not to attempt to align the forward reference strand (--nofw)"> + <option value="forward">Align against the forward reference strand</option> + <option value="noForward">Do not align against the forward reference strand</option> + </param> + <param name="pReverseAlign" type="select" label="Choose whether or not to align against the reverse-complement reference strand (--norc)"> + <option value="reverse">Align against the reverse-complement reference strand</option> + <option value="noReverse">Do not align against the reverse-complement reference strand</option> + </param> + <param name="pTryHard" type="select" label="Whether or not to try as hard as possible to find valid alignments when they exist (-y)" help="Tryhard mode is much slower than regular mode"> + <option value="noTryHard">Do not try hard</option> + <option value="doTryHard">Try hard</option> + </param> + <param name="pValAlign" type="integer" value="1" label="Report up to n valid arguments per pair (-k)" /> + <param name="pAllValAligns" type="select" label="Whether or not to report all valid alignments per pair (-a)"> + <option value="noAllValAligns">Do not report all valid alignments</option> + <option value="doAllValAligns">Report all valid alignments</option> + </param> + <param name="pSuppressAlign" type="integer" value="-1" label="Suppress all alignments for a pair if more than n reportable alignments exist (-m)" help="-1 for no limit" /> + <param name="pMaxFile" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Write all reads with a number of valid alignments exceeding the limit set with the -m option to a file (--max)" /> + <param name="pUnmappedFile" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Write all reads that could not be aligned to a file (--un)" /> + <conditional name="pBestOption"> + <param name="pBest" type="select" label="Whether or not to make Bowtie guarantee that reported singleton alignments are 'best' in terms of stratum and in terms of the quality values at the mismatched positions (--best)" help="Removes all strand bias. Only affects which alignments are reported by Bowtie. Runs slower with best option"> + <option value="noBest">Do not use best</option> + <option value="doBest">Use best</option> + </param> + <when value="noBest"> + <param name="pnMaxBacktracks" type="integer" value="125" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" /> + </when> + <when value="doBest"> + <param name="pdMaxBacktracks" type="integer" value="800" label="Maximum number of backtracks permitted when aligning a read (--maxbts)" /> + <param name="pdStrata" type="select" label="Whether or not to report only those alignments that fall in the best stratum if many valid alignments exist and are reportable (--strata)"> + <option value="noStrata">Do not use strata option</option> + <option value="doStrata">Use strata option</option> + </param> + </when> + </conditional> + <param name="pOffrate" type="integer" value="-1" label="Override the offrate of the index to n (-o)" help="-1 for default" /> + <param name="pSeed" type="integer" value="-1" label="Seed for pseudo-random number generator (--seed)" help="-1 for default" /> + </when> <!-- full --> + </conditional> <!-- pParams --> + </when> <!-- paired --> + </conditional> <!-- singlePaired --> + <param name="suppressHeader" type="boolean" truevalue="true" falsevalue="false" checked="False" label="Suppress the header in the output SAM file" help="Bowtie produces SAM with several lines of header information by default" /> + </inputs> + <outputs> + <data format="sam" name="output" label="${tool.name} on ${on_string}: mapped reads"> + <actions> + <conditional name="refGenomeSource.genomeSource"> + <when value="indexed"> + <action type="metadata" name="dbkey"> + <option type="from_data_table" name="bowtie_indexes" column="1" offset="0"> + <filter type="param_value" column="0" value="#" compare="startswith" keep="False"/> + <filter type="param_value" ref="refGenomeSource.index" column="0"/> + </option> + </action> + </when> + <when value="history"> + <action type="metadata" name="dbkey"> + <option type="from_param" name="refGenomeSource.ownFile" param_attribute="dbkey" /> + </action> + </when> + </conditional> + </actions> + </data> + <data format="fastq" name="output_suppressed_reads_l" label="${tool.name} on ${on_string}: suppressed reads (L)"> + <filter>(( + singlePaired['sPaired'] == "single" and + singlePaired['sParams']['sSettingsType'] == "full" and + singlePaired['sParams']['sMaxFile'] is True + ) or ( + singlePaired['sPaired'] == "paired" and + singlePaired['pParams']['pSettingsType'] == "full" and + singlePaired['pParams']['pMaxFile'] is True + )) + </filter> + <actions> + <conditional name="singlePaired.sPaired"> + <when value="single"> + <action type="format"> + <option type="from_param" name="singlePaired.sInput1" param_attribute="ext" /> + </action> + </when> + <when value="paired"> + <action type="format"> + <option type="from_param" name="singlePaired.pInput1" param_attribute="ext" /> + </action> + </when> + </conditional> + </actions> + </data> + <data format="fastq" name="output_suppressed_reads_r" label="${tool.name} on ${on_string}: suppressed reads (R)"> + <filter>singlePaired['sPaired'] == "paired"</filter> + <filter>singlePaired['pParams']['pSettingsType'] == "full"</filter> + <filter>singlePaired['pParams']['pMaxFile'] is True</filter> + <actions> + <conditional name="singlePaired.sPaired"> + <when value="single"> + <action type="format"> + <option type="from_param" name="singlePaired.sInput1" param_attribute="ext" /> + </action> + </when> + <when value="paired"> + <action type="format"> + <option type="from_param" name="singlePaired.pInput1" param_attribute="ext" /> + </action> + </when> + </conditional> + </actions> + </data> + <data format="fastq" name="output_unmapped_reads_l" label="${tool.name} on ${on_string}: unmapped reads (L)"> + <filter> + (( + singlePaired['sPaired'] == "single" and + singlePaired['sParams']['sSettingsType'] == "full" and + singlePaired['sParams']['sUnmappedFile'] is True + ) or ( + singlePaired['sPaired'] == "paired" and + singlePaired['pParams']['pSettingsType'] == "full" and + singlePaired['pParams']['pUnmappedFile'] is True + )) + </filter> + <actions> + <conditional name="singlePaired.sPaired"> + <when value="single"> + <action type="format"> + <option type="from_param" name="singlePaired.sInput1" param_attribute="ext" /> + </action> + </when> + <when value="paired"> + <action type="format"> + <option type="from_param" name="singlePaired.pInput1" param_attribute="ext" /> + </action> + </when> + </conditional> + </actions> + </data> + <data format="fastq" name="output_unmapped_reads_r" label="${tool.name} on ${on_string}: unmapped reads (R)"> + <filter>singlePaired['sPaired'] == "paired"</filter> + <filter>singlePaired['pParams']['pSettingsType'] == "full"</filter> + <filter>singlePaired['pParams']['pUnmappedFile'] is True</filter> + <actions> + <conditional name="singlePaired.sPaired"> + <when value="single"> + <action type="format"> + <option type="from_param" name="singlePaired.sInput1" param_attribute="ext" /> + </action> + </when> + <when value="paired"> + <action type="format"> + <option type="from_param" name="singlePaired.pInput1" param_attribute="ext" /> + </action> + </when> + </conditional> + </actions> + </data> + </outputs> + <tests> + <test> + <!-- + Bowtie command: + bowtie-build -f test-data/phiX.fasta phiX_base + bowtie -q -X 1000 +ff -p 4 -S +sam-nohead -n 2 -e 70 -l 28 +pairtries 100 +maxbts 800 +best +un bowtie_out8_u.fastq phiX_base -1 test-data/bowtie_in5.fastqsanger -2 test-data/bowtie_in6.fastqsanger > bowtie_out7_u.sam + sort bowtie_out7_u.sam > bowtie_out7.sam + sort bowtie_out8_u_1.sam > bowtie_out8_1.sam + sort bowtie_out8_u_2.sam > bowtie_out8_2.sam + Then also need to modify bowtie_out8_1.sam and bowtie_out8_2.sam so that all @ lines come before sequence lines. + -p is the number of threads. You need to replace the + with 2 dashes. + The two unmapped output files will be named bowtie_out8_1.fastq and bowtie_out8_2.fastq. + chrM_base is the index files' location/base name. + --> + <param name="genomeSource" value="history" /> + <param name="ownFile" value="phiX.fasta" /> + <param name="indexSettings" value="indexPreSet" /> + <param name="sPaired" value="paired" /> + <param name="pInput1" ftype="fastqsanger" value="bowtie_in5.fastqsanger" /> + <param name="pInput2" ftype="fastqsanger" value="bowtie_in6.fastqsanger" /> + <param name="pMaxInsert" value="1000" /> + <param name="pMateOrient" value="ff" /> + <param name="pSettingsType" value="full" /> + <param name="pSkip" value="0" /> + <param name="pAlignLimit" value="-1" /> + <param name="pTrimH" value="0" /> + <param name="pTrimL" value="0" /> + <param name="pMismatchSeed" value="2" /> + <param name="pMismatchQual" value="70" /> + <param name="pSeedLen" value="25" /> + <param name="pRounding" value="round" /> + <param name="pMaqSoapAlign" value="-1" /> + <param name="pMinInsert" value="0" /> + <param name="pMaxAlignAttempt" value="100" /> + <param name="pForwardAlign" value="forward" /> + <param name="pReverseAlign" value="reverse" /> + <param name="pTryHard" value="noTryHard" /> + <param name="pValAlign" value="1" /> + <param name="pAllValAligns" value="noAllValAligns" /> + <param name="pSuppressAlign" value="-1" /> + <param name="pUnmappedFile" value="true" /> + <param name="pMaxFile" value="false" /> + <param name="pBest" value="doBest" /> + <param name="pdMaxBacktracks" value="800" /> + <param name="pdStrata" value="noStrata" /> + <param name="pOffrate" value="-1" /> + <param name="pSeed" value="-1" /> + <param name="suppressHeader" value="true" /> + <output name="output" ftype="sam" file="bowtie_out7.sam" sort="True" /> + <output name="output_unmapped_reads_l" ftype="fastqsanger" file="bowtie_out8_1.fastq" sort="True" /> + <output name="output_unmapped_reads_r" ftype="fastqsanger" file="bowtie_out8_2.fastq" sort="True" /> + </test> + </tests> + <help> + <![CDATA[ + Bowtie is a short read aligner. + ]]> + </help> + <citations> + <citation type="bibtex"> +@misc{githubbowtie, + author = {LastTODO, FirstTODO}, + year = {TODO}, + title = {bowtie}, + publisher = {GitHub}, + journal = {GitHub repository}, + url = {https://github.com/BenLangmead/bowtie}, +}</citation> + </citations> +</tool>