Mercurial > repos > triasteran > bowtie_remove_rrna_wrapper
changeset 12:5d18acd59604 draft
Uploaded
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bowtie_remove_rrna_wrapper/.hgignore Wed Feb 23 14:03:33 2022 +0000 @@ -0,0 +1,2 @@ +syntax: glob +.idea
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bowtie_remove_rrna_wrapper/bowtie_indices.loc.sample Wed Feb 23 14:03:33 2022 +0000 @@ -0,0 +1,1 @@ +Mouse_rRNA Mouse_rRNA Mouse_rRNA /home/DATA/galaxy/galaxy-dist/data/indexes/bowtie_rrna_indexes/Mouse_rRNA/bowtie_rrna_indexes/mouse_rRNA_index
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bowtie_remove_rrna_wrapper/bowtie_remove_rrna_wrapper.xml Wed Feb 23 14:03:33 2022 +0000 @@ -0,0 +1,681 @@ +<tool id="bowtie_remove_rrna_wrapper" name="Remove rRNA using Bowtie" version="0.1.1b"> + <requirements> + <requirement type="package" version="1.3.1">bowtie</requirement> + </requirements> + <command detect_errors="exit_code"><![CDATA[ + python '__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 -q -p 4 -S +sam-nohead chrM_base test-data/bowtie_in2.fastqsanger > bowtie_out6_u.sam + sort bowtie_out6_u.sam > bowtie_out6.sam + -p is the number of threads. You need to replace the + with 2 dashes. + chrM_base needs to be the base location/name of the index files. + --> + <param name="genomeSource" value="indexed" /> + <!-- this is the backwards-compatible "unique value" for this index, not an actual path --> + <param name="index" value="equCab2chrM" /> + <param name="sPaired" value="single" /> + <param name="sInput1" ftype="fastqsanger" value="bowtie_in2.fastqsanger" /> + <param name="sSettingsType" value="preSet" /> + <param name="suppressHeader" value="true" /> + <output name="output" ftype="sam" file="bowtie_out6.sam" sort="True" /> + </test> + <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> + <!-- start testing of non-sanger variant fastq reads --> + <test> + <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="fastqillumina" value="bowtie_in5.fastqillumina" /> + <param name="pInput2" ftype="fastqillumina" value="bowtie_in6.fastqillumina" /> + <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="fastqillumna" file="bowtie_out8_1.fastqillumina.sorted" sort="True" /> + <output name="output_unmapped_reads_r" ftype="fastqillumna" file="bowtie_out8_2.fastqillumina.sorted" sort="True" /> + </test> + <test> + <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="fastqsolexa" value="bowtie_in5.fastqsolexa" /> + <param name="pInput2" ftype="fastqsolexa" value="bowtie_in6.fastqsolexa" /> + <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="fastqsolexa" file="bowtie_out8_1.fastqsolexa.sorted" sort="True" /> + <output name="output_unmapped_reads_r" ftype="fastqsolexa" file="bowtie_out8_2.fastqsolexa.sorted" sort="True" /> + </test> + <!-- end testing of non-sanger variant fastq reads --> + <test> + <!-- + Bowtie command: + bowtie -q -p 4 -S +sam-nohead -n 2 -e 70 -l 25 +maxbts 125 -y -k 1 chrM_base test-data/bowtie_in2.fastqsanger > bowtie_out9_u.sam + sort bowtie_out9_u.sam > bowtie_out9.sam + -p is the number of threads. You need to replace the + with 2 dashes. + chrM_base is the index files' location/base name. + --> + <param name="genomeSource" value="indexed" /> + <!-- this is the backwards-compatible "unique value" for this index, not an actual path --> + <param name="index" value="equCab2chrM" /> + <param name="sPaired" value="single" /> + <param name="sInput1" ftype="fastqsanger" value="bowtie_in2.fastqsanger" /> + <param name="sSettingsType" value="full" /> + <param name="sSkip" value="0" /> + <param name="sAlignLimit" value="-1" /> + <param name="sTrimH" value="0" /> + <param name="sTrimL" value="0" /> + <param name="sMismatchSeed" value="2" /> + <param name="sMismatchQual" value="70" /> + <param name="sSeedLen" value="25" /> + <param name="sRounding" value="round" /> + <param name="sMaqSoapAlign" value="-1" /> + <param name="sTryHard" value="doTryHard" /> + <param name="sValAlign" value="1" /> + <param name="sAllValAligns" value="noAllValAligns" /> + <param name="sSuppressAlign" value="-1" /> + <param name="sUnmappedFile" value="false" /> + <param name="sMaxFile" value="false" /> + <param name="sBest" value="noBest" /> + <param name="snMaxBacktracks" value="125" /> + <param name="sOffrate" value="-1" /> + <param name="sSeed" value="-1" /> + <param name="suppressHeader" value="true" /> + <output name="output" ftype="sam" file="bowtie_out9.sam" sort="True" /> + </test> + <test> + <!-- + Bowtie command: + bowtie-build +offrate 5 +ftabchars 10 +little -f test-data/phiX.fasta phiX_base + bowtie -q -X 1000 +ff -p 4 -S +sam-nohead phiX_base -1 test-data/bowtie_in5.fastqsanger -2 test-data/bowtie_in6.fastqsanger > bowtie_out10_u.sam + sort bowtie_out10_u.sam > bowtie_out10.sam + -p is the number of threads. You need to replace the + with 2 dashes. + chrM_base is the index files' location/base name. + --> + <param name="genomeSource" value="history" /> + <param name="ownFile" value="phiX.fasta" /> + <param name="indexSettings" value="indexFull" /> + <param name="autoB" value="auto" /> + <param name="nodc" value="dc" /> + <param name="noref" value="ref" /> + <param name="offrate" value="5" /> + <param name="ftab" value="10" /> + <param name="ntoa" value="no" /> + <param name="endian" value="little" /> + <param name="seed" value="-1" /> + <param name="cutoff" value="-1" /> + <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="preSet" /> + <param name="suppressHeader" value="true" /> + <output name="output" ftype="sam" file="bowtie_out10.sam" 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>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bowtie_remove_rrna_wrapper/bowtie_wrapper.py Wed Feb 23 14:03:33 2022 +0000 @@ -0,0 +1,469 @@ +#!/usr/bin/env python + +""" +Runs Bowtie on single-end or paired-end data. +For use with Bowtie v. 0.12.7 + +usage: bowtie_wrapper.py [options] + -t, --threads=t: The number of threads to run + -o, --output=o: The output file + --output_unmapped_reads=: File name for unmapped reads (single-end) + --output_unmapped_reads_l=: File name for unmapped reads (left, paired-end) + --output_unmapped_reads_r=: File name for unmapped reads (right, paired-end) + --output_suppressed_reads=: File name for suppressed reads because of max setting (single-end) + --output_suppressed_reads_l=: File name for suppressed reads because of max setting (left, paired-end) + --output_suppressed_reads_r=: File name for suppressed reads because of max setting (right, paired-end) + -i, --input1=i: The (forward or single-end) reads file in Sanger FASTQ format + -I, --input2=I: The reverse reads file in Sanger FASTQ format + -4, --dataType=4: The type of data (SOLiD or Solexa) + -2, --paired=2: Whether the data is single- or paired-end + -g, --genomeSource=g: The type of reference provided + -r, --ref=r: The reference genome to use or index + -s, --skip=s: Skip the first n reads + -a, --alignLimit=a: Only align the first n reads + -T, --trimH=T: Trim n bases from high-quality (left) end of each read before alignment + -L, --trimL=L: Trim n bases from low-quality (right) end of each read before alignment + -m, --mismatchSeed=m: Maximum number of mismatches permitted in the seed + -M, --mismatchQual=M: Maximum permitted total of quality values at mismatched read positions + -l, --seedLen=l: Seed length + -n, --rounding=n: Whether or not to round to the nearest 10 and saturating at 30 + -P, --maqSoapAlign=P: Choose MAQ- or SOAP-like alignment policy + -w, --tryHard=: Whether or not to try as hard as possible to find valid alignments when they exist + -v, --valAlign=v: Report up to n valid arguments per read + -V, --allValAligns=V: Whether or not to report all valid alignments per read + -G, --suppressAlign=G: Suppress all alignments for a read if more than n reportable alignments exist + -b, --best=b: 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 + -B, --maxBacktracks=B: Maximum number of backtracks permitted when aligning a read + -R, --strata=R: Whether or not to report only those alignments that fall in the best stratum if many valid alignments exist and are reportable + -j, --minInsert=j: Minimum insert size for valid paired-end alignments + -J, --maxInsert=J: Maximum insert size for valid paired-end alignments + -O, --mateOrient=O: The upstream/downstream mate orientation for valid paired-end alignment against the forward reference strand + -A, --maxAlignAttempt=A: Maximum number of attempts Bowtie will make to match an alignment for one mate with an alignment for the opposite mate + -f, --forwardAlign=f: Whether or not to attempt to align the forward reference strand + -E, --reverseAlign=E: Whether or not to attempt to align the reverse-complement reference strand + -F, --offrate=F: Override the offrate of the index to n + -8, --snpphred=8: SNP penalty on Phred scale + -6, --snpfrac=6: Fraction of sites expected to be SNP sites + -7, --keepends=7: Keep extreme-end nucleotides and qualities + -S, --seed=S: Seed for pseudo-random number generator + -C, --params=C: Whether to use default or specified parameters + -u, --iautoB=u: Automatic or specified behavior + -K, --ipacked=K: Whether or not to use a packed representation for DNA strings + -Q, --ibmax=Q: Maximum number of suffixes allowed in a block + -Y, --ibmaxdivn=Y: Maximum number of suffixes allowed in a block as a fraction of the length of the reference + -D, --idcv=D: The period for the difference-cover sample + -U, --inodc=U: Whether or not to disable the use of the difference-cover sample + -y, --inoref=y: Whether or not to build the part of the reference index used only in paired-end alignment + -z, --ioffrate=z: How many rows get marked during annotation of some or all of the Burrows-Wheeler rows + -W, --iftab=W: The size of the lookup table used to calculate an initial Burrows-Wheeler range with respect to the first n characters of the query + -X, --intoa=X: Whether or not to convert Ns in the reference sequence to As + -N, --iendian=N: Endianness to use when serializing integers to the index file + -Z, --iseed=Z: Seed for the pseudorandom number generator + -c, --icutoff=c: Number of first bases of the reference sequence to index + -x, --indexSettings=x: Whether or not indexing options are to be set + -H, --suppressHeader=H: Suppress header + --do_not_build_index: Flag to specify that provided file is already indexed and to just use 'as is' +""" + +import optparse, os, shutil, subprocess, sys, tempfile + +#Allow more than Sanger encoded variants +DEFAULT_ASCII_ENCODING = '--phred33-quals' +GALAXY_FORMAT_TO_QUALITY_SCORE_ENCODING_ARG = { 'fastqsanger':'--phred33-quals', 'fastqillumina':'--phred64-quals', 'fastqsolexa':'--solexa-quals' } +#FIXME: Integer quality scores are supported only when the '--integer-quals' argument is specified to bowtie; this is not currently able to be set in the tool/wrapper/config + +def stop_err( msg ): + sys.stderr.write( '%s\n' % msg ) + sys.exit() + +def __main__(): + #Parse Command Line + parser = optparse.OptionParser() + parser.add_option( '-t', '--threads', dest='threads', help='The number of threads to run' ) + parser.add_option( '-o', '--output', dest='output', help='The output file' ) + parser.add_option( '', '--output_unmapped_reads', dest='output_unmapped_reads', help='File name for unmapped reads (single-end)' ) + parser.add_option( '', '--output_unmapped_reads_l', dest='output_unmapped_reads_l', help='File name for unmapped reads (left, paired-end)' ) + parser.add_option( '', '--output_unmapped_reads_r', dest='output_unmapped_reads_r', help='File name for unmapped reads (right, paired-end)' ) + parser.add_option( '', '--output_suppressed_reads', dest='output_suppressed_reads', help='File name for suppressed reads because of max setting (single-end)' ) + parser.add_option( '', '--output_suppressed_reads_l', dest='output_suppressed_reads_l', help='File name for suppressed reads because of max setting (left, paired-end)' ) + parser.add_option( '', '--output_suppressed_reads_r', dest='output_suppressed_reads_r', help='File name for suppressed reads because of max setting (right, paired-end)' ) + parser.add_option( '-4', '--dataType', dest='dataType', help='The type of data (SOLiD or Solexa)' ) + parser.add_option( '-i', '--input1', dest='input1', help='The (forward or single-end) reads file in Sanger FASTQ format' ) + parser.add_option( '-I', '--input2', dest='input2', help='The reverse reads file in Sanger FASTQ format' ) + parser.add_option( '-2', '--paired', dest='paired', help='Whether the data is single- or paired-end' ) + parser.add_option( '-g', '--genomeSource', dest='genomeSource', help='The type of reference provided' ) + parser.add_option( '-r', '--ref', dest='ref', help='The reference genome to use or index' ) + parser.add_option( '-s', '--skip', dest='skip', help='Skip the first n reads' ) + parser.add_option( '-a', '--alignLimit', dest='alignLimit', help='Only align the first n reads' ) + parser.add_option( '-T', '--trimH', dest='trimH', help='Trim n bases from high-quality (left) end of each read before alignment' ) + parser.add_option( '-L', '--trimL', dest='trimL', help='Trim n bases from low-quality (right) end of each read before alignment' ) + parser.add_option( '-m', '--mismatchSeed', dest='mismatchSeed', help='Maximum number of mismatches permitted in the seed' ) + parser.add_option( '-M', '--mismatchQual', dest='mismatchQual', help='Maximum permitted total of quality values at mismatched read positions' ) + parser.add_option( '-l', '--seedLen', dest='seedLen', help='Seed length' ) + parser.add_option( '-n', '--rounding', dest='rounding', help='Whether or not to round to the nearest 10 and saturating at 30' ) + parser.add_option( '-P', '--maqSoapAlign', dest='maqSoapAlign', help='Choose MAQ- or SOAP-like alignment policy' ) + parser.add_option( '-w', '--tryHard', dest='tryHard', help='Whether or not to try as hard as possible to find valid alignments when they exist' ) + parser.add_option( '-v', '--valAlign', dest='valAlign', help='Report up to n valid arguments per read' ) + parser.add_option( '-V', '--allValAligns', dest='allValAligns', help='Whether or not to report all valid alignments per read' ) + parser.add_option( '-G', '--suppressAlign', dest='suppressAlign', help='Suppress all alignments for a read if more than n reportable alignments exist' ) + parser.add_option( '-b', '--best', dest='best', help="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" ) + parser.add_option( '-B', '--maxBacktracks', dest='maxBacktracks', help='Maximum number of backtracks permitted when aligning a read' ) + parser.add_option( '-R', '--strata', dest='strata', help='Whether or not to report only those alignments that fall in the best stratum if many valid alignments exist and are reportable' ) + parser.add_option( '-j', '--minInsert', dest='minInsert', help='Minimum insert size for valid paired-end alignments' ) + parser.add_option( '-J', '--maxInsert', dest='maxInsert', help='Maximum insert size for valid paired-end alignments' ) + parser.add_option( '-O', '--mateOrient', dest='mateOrient', help='The upstream/downstream mate orientation for valid paired-end alignment against the forward reference strand' ) + parser.add_option( '-A', '--maxAlignAttempt', dest='maxAlignAttempt', help='Maximum number of attempts Bowtie will make to match an alignment for one mate with an alignment for the opposite mate' ) + parser.add_option( '-f', '--forwardAlign', dest='forwardAlign', help='Whether or not to attempt to align the forward reference strand' ) + parser.add_option( '-E', '--reverseAlign', dest='reverseAlign', help='Whether or not to attempt to align the reverse-complement reference strand' ) + parser.add_option( '-F', '--offrate', dest='offrate', help='Override the offrate of the index to n' ) + parser.add_option( '-S', '--seed', dest='seed', help='Seed for pseudo-random number generator' ) + parser.add_option( '-8', '--snpphred', dest='snpphred', help='SNP penalty on Phred scale' ) + parser.add_option( '-6', '--snpfrac', dest='snpfrac', help='Fraction of sites expected to be SNP sites' ) + parser.add_option( '-7', '--keepends', dest='keepends', help='Keep extreme-end nucleotides and qualities' ) + parser.add_option( '-C', '--params', dest='params', help='Whether to use default or specified parameters' ) + parser.add_option( '-u', '--iautoB', dest='iautoB', help='Automatic or specified behavior' ) + parser.add_option( '-K', '--ipacked', dest='ipacked', help='Whether or not to use a packed representation for DNA strings' ) + parser.add_option( '-Q', '--ibmax', dest='ibmax', help='Maximum number of suffixes allowed in a block' ) + parser.add_option( '-Y', '--ibmaxdivn', dest='ibmaxdivn', help='Maximum number of suffixes allowed in a block as a fraction of the length of the reference' ) + parser.add_option( '-D', '--idcv', dest='idcv', help='The period for the difference-cover sample' ) + parser.add_option( '-U', '--inodc', dest='inodc', help='Whether or not to disable the use of the difference-cover sample' ) + parser.add_option( '-y', '--inoref', dest='inoref', help='Whether or not to build the part of the reference index used only in paired-end alignment' ) + parser.add_option( '-z', '--ioffrate', dest='ioffrate', help='How many rows get marked during annotation of some or all of the Burrows-Wheeler rows' ) + parser.add_option( '-W', '--iftab', dest='iftab', help='The size of the lookup table used to calculate an initial Burrows-Wheeler range with respect to the first n characters of the query' ) + parser.add_option( '-X', '--intoa', dest='intoa', help='Whether or not to convert Ns in the reference sequence to As' ) + parser.add_option( '-N', '--iendian', dest='iendian', help='Endianness to use when serializing integers to the index file' ) + parser.add_option( '-Z', '--iseed', dest='iseed', help='Seed for the pseudorandom number generator' ) + parser.add_option( '-c', '--icutoff', dest='icutoff', help='Number of first bases of the reference sequence to index' ) + parser.add_option( '-x', '--indexSettings', dest='index_settings', help='Whether or not indexing options are to be set' ) + parser.add_option( '-H', '--suppressHeader', dest='suppressHeader', help='Suppress header' ) + parser.add_option( '--galaxy_input_format', dest='galaxy_input_format', default="fastqsanger", help='galaxy input format' ) + parser.add_option( '--do_not_build_index', dest='do_not_build_index', action="store_true", default=False, help='Flag to specify that provided file is already indexed, use as is' ) + (options, args) = parser.parse_args() + stdout = '' + + # make temp directory for placement of indices and copy reference file there if necessary + tmp_index_dir = tempfile.mkdtemp() + # get type of data (solid or solexa) + if options.dataType == 'solid': + colorspace = '-C' + else: + colorspace = '' + # index if necessary + if options.genomeSource == 'history' and not options.do_not_build_index: + # set up commands + if options.index_settings =='indexPreSet': + indexing_cmds = '%s' % colorspace + else: + try: + if options.iautoB and options.iautoB == 'set': + iautoB = '--noauto' + else: + iautoB = '' + if options. ipacked and options.ipacked == 'packed': + ipacked = '--packed' + else: + ipacked = '' + if options.ibmax and int( options.ibmax ) >= 1: + ibmax = '--bmax %s' % options.ibmax + else: + ibmax = '' + if options.ibmaxdivn and int( options.ibmaxdivn ) >= 0: + ibmaxdivn = '--bmaxdivn %s' % options.ibmaxdivn + else: + ibmaxdivn = '' + if options.idcv and int( options.idcv ) > 0: + idcv = '--dcv %s' % options.idcv + else: + idcv = '' + if options.inodc and options.inodc == 'nodc': + inodc = '--nodc' + else: + inodc = '' + if options.inoref and options.inoref == 'noref': + inoref = '--noref' + else: + inoref = '' + if options.iftab and int( options.iftab ) >= 0: + iftab = '--ftabchars %s' % options.iftab + else: + iftab = '' + if options.intoa and options.intoa == 'yes': + intoa = '--ntoa' + else: + intoa = '' + if options.iendian and options.iendian == 'big': + iendian = '--big' + else: + iendian = '--little' + if options.iseed and int( options.iseed ) > 0: + iseed = '--seed %s' % options.iseed + else: + iseed = '' + if options.icutoff and int( options.icutoff ) > 0: + icutoff = '--cutoff %s' % options.icutoff + else: + icutoff = '' + indexing_cmds = '%s %s %s %s %s %s %s --offrate %s %s %s %s %s %s %s' % \ + ( iautoB, ipacked, ibmax, ibmaxdivn, idcv, inodc, + inoref, options.ioffrate, iftab, intoa, iendian, + iseed, icutoff, colorspace ) + except ValueError, e: + # clean up temp dir + if os.path.exists( tmp_index_dir ): + shutil.rmtree( tmp_index_dir ) + stop_err( "Something is wrong with the indexing parameters and the indexing and alignment could not be run. Make sure you don't have any non-numeric values where they should be numeric.\n" + str( e ) ) + ref_file = tempfile.NamedTemporaryFile( dir=tmp_index_dir ) + ref_file_name = ref_file.name + ref_file.close() + os.symlink( options.ref, ref_file_name ) + cmd1 = 'bowtie-build %s -f %s %s' % ( indexing_cmds, ref_file_name, ref_file_name ) + try: + tmp = tempfile.NamedTemporaryFile( dir=tmp_index_dir ).name + tmp_stderr = open( tmp, 'wb' ) + proc = subprocess.Popen( args=cmd1, shell=True, cwd=tmp_index_dir, stderr=tmp_stderr.fileno() ) + returncode = proc.wait() + tmp_stderr.close() + # get stderr, allowing for case where it's very large + tmp_stderr = open( tmp, 'rb' ) + stderr = '' + buffsize = 1048576 + try: + while True: + stderr += tmp_stderr.read( buffsize ) + if not stderr or len( stderr ) % buffsize != 0: + break + except OverflowError: + pass + tmp_stderr.close() + if returncode != 0: + raise (Exception, stderr) + except Exception, e: + # clean up temp dir + if os.path.exists( tmp_index_dir ): + shutil.rmtree( tmp_index_dir ) + stop_err( 'Error indexing reference sequence\n' + str( e ) ) + stdout += 'File indexed. ' + else: + ref_file_name = options.ref + # set up aligning and generate aligning command options + # automatically set threads in both cases + tmp_suppressed_file_name = None + tmp_unmapped_file_name = None + if options.suppressHeader == 'true': + suppressHeader = '--sam-nohead' + else: + suppressHeader = '' + if options.maxInsert and int( options.maxInsert ) > 0: + maxInsert = '-X %s' % options.maxInsert + else: + maxInsert = '' + if options.mateOrient: + mateOrient = '--%s' % options.mateOrient + else: + mateOrient = '' + quality_score_encoding = GALAXY_FORMAT_TO_QUALITY_SCORE_ENCODING_ARG.get( options.galaxy_input_format, DEFAULT_ASCII_ENCODING ) + if options.params == 'preSet': + aligning_cmds = '-q %s %s -p %s -S %s %s %s ' % \ + ( maxInsert, mateOrient, options.threads, suppressHeader, colorspace, quality_score_encoding ) + else: + try: + if options.skip and int( options.skip ) > 0: + skip = '-s %s' % options.skip + else: + skip = '' + if options.alignLimit and int( options.alignLimit ) >= 0: + alignLimit = '-u %s' % options.alignLimit + else: + alignLimit = '' + if options.trimH and int( options.trimH ) > 0: + trimH = '-5 %s' % options.trimH + else: + trimH = '' + if options.trimL and int( options.trimL ) > 0: + trimL = '-3 %s' % options.trimL + else: + trimL = '' + if options.maqSoapAlign != '-1' and int( options.maqSoapAlign ) >= 0: + maqSoapAlign = '-v %s' % options.maqSoapAlign + else: + maqSoapAlign = '' + if options.mismatchSeed and (options.mismatchSeed == '0' or options.mismatchSeed == '1' \ + or options.mismatchSeed == '2' or options.mismatchSeed == '3'): + mismatchSeed = '-n %s' % options.mismatchSeed + else: + mismatchSeed = '' + if options.mismatchQual and int( options.mismatchQual ) >= 0: + mismatchQual = '-e %s' % options.mismatchQual + else: + mismatchQual = '' + if options.seedLen and int( options.seedLen ) >= 5: + seedLen = '-l %s' % options.seedLen + else: + seedLen = '' + if options.rounding == 'noRound': + rounding = '--nomaqround' + else: + rounding = '' + if options.minInsert and int( options.minInsert ) > 0: + minInsert = '-I %s' % options.minInsert + else: + minInsert = '' + if options.maxAlignAttempt and int( options.maxAlignAttempt ) >= 0: + maxAlignAttempt = '--pairtries %s' % options.maxAlignAttempt + else: + maxAlignAttempt = '' + if options.forwardAlign == 'noForward': + forwardAlign = '--nofw' + else: + forwardAlign = '' + if options.reverseAlign == 'noReverse': + reverseAlign = '--norc' + else: + reverseAlign = '' + if options.maxBacktracks and int( options.maxBacktracks ) > 0 and \ + ( options.mismatchSeed == '2' or options.mismatchSeed == '3' ): + maxBacktracks = '--maxbts %s' % options.maxBacktracks + else: + maxBacktracks = '' + if options.tryHard == 'doTryHard': + tryHard = '-y' + else: + tryHard = '' + if options.valAlign and int( options.valAlign ) >= 0: + valAlign = '-k %s' % options.valAlign + else: + valAlign = '' + if options.allValAligns == 'doAllValAligns': + allValAligns = '-a' + else: + allValAligns = '' + if options.suppressAlign and int( options.suppressAlign ) >= 0: + suppressAlign = '-m %s' % options.suppressAlign + else: + suppressAlign = '' + if options.best == 'doBest': + best = '--best' + else: + best = '' + if options.strata == 'doStrata': + strata = '--strata' + else: + strata = '' + if options.offrate and int( options.offrate ) >= 0: + offrate = '-o %s' % options.offrate + else: + offrate = '' + if options.seed and int( options.seed ) >= 0: + seed = '--seed %s' % options.seed + else: + seed = '' + if options.paired == 'paired': + if options.output_unmapped_reads_l and options.output_unmapped_reads_r: + tmp_unmapped_file = tempfile.NamedTemporaryFile( dir=tmp_index_dir, suffix='.fastq' ) + tmp_unmapped_file_name = tmp_unmapped_file.name + tmp_unmapped_file.close() + output_unmapped_reads = '--un %s' % tmp_unmapped_file_name + else: + output_unmapped_reads = '' + if options.output_suppressed_reads: + tmp_suppressed_file = tempfile.NamedTemporaryFile( dir=tmp_index_dir, suffix='.fastq' ) + tmp_suppressed_file_name = tmp_suppressed_file.name + tmp_suppressed_file.close() + output_suppressed_reads = '--max %s' % tmp_suppressed_file_name + else: + output_suppressed_reads = '' + else: + if options.output_unmapped_reads: + output_unmapped_reads = '--un %s' % options.output_unmapped_reads + else: + output_unmapped_reads = '' + if options.output_suppressed_reads: + output_suppressed_reads = '--max %s' % options.output_suppressed_reads + else: + output_suppressed_reads = '' + snpfrac = '' + if options.snpphred and int( options.snpphred ) >= 0: + snpphred = '--snpphred %s' % options.snpphred + else: + snpphred = '' + if options.snpfrac and float( options.snpfrac ) >= 0: + snpfrac = '--snpfrac %s' % options.snpfrac + if options.keepends and options.keepends == 'doKeepends': + keepends = '--col-keepends' + else: + keepends = '' + aligning_cmds = '-q %s %s -p %s -S %s %s %s %s %s %s %s %s %s %s %s %s ' \ + '%s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s ' % \ + ( maxInsert, mateOrient, options.threads, suppressHeader, + colorspace, skip, alignLimit, trimH, trimL, maqSoapAlign, + mismatchSeed, mismatchQual, seedLen, rounding, minInsert, + maxAlignAttempt, forwardAlign, reverseAlign, maxBacktracks, + tryHard, valAlign, allValAligns, suppressAlign, best, + strata, offrate, seed, snpphred, snpfrac, keepends, + output_unmapped_reads, output_suppressed_reads, + quality_score_encoding ) + except ValueError, e: + # clean up temp dir + if os.path.exists( tmp_index_dir ): + shutil.rmtree( tmp_index_dir ) + stop_err( 'Something is wrong with the alignment parameters and the alignment could not be run\n' + str( e ) ) + try: + # have to nest try-except in try-finally to handle 2.4 + try: + # prepare actual mapping commands + if options.paired == 'paired': + cmd2 = 'bowtie %s %s -1 %s -2 %s > %s' % ( aligning_cmds, ref_file_name, options.input1, options.input2, options.output ) + else: + cmd2 = 'bowtie %s %s %s > %s' % ( aligning_cmds, ref_file_name, options.input1, options.output ) + # align + tmp = tempfile.NamedTemporaryFile( dir=tmp_index_dir ).name + tmp_stderr = open( tmp, 'wb' ) + proc = subprocess.Popen( args=cmd2, shell=True, cwd=tmp_index_dir, stderr=tmp_stderr.fileno() ) + returncode = proc.wait() + tmp_stderr.close() + # get stderr, allowing for case where it's very large + tmp_stderr = open( tmp, 'rb' ) + stderr = '' + buffsize = 1048576 + try: + while True: + stderr += tmp_stderr.read( buffsize ) + if not stderr or len( stderr ) % buffsize != 0: + break + except OverflowError: + pass + tmp_stderr.close() + if returncode != 0: + raise (Exception, stderr) + # get suppressed and unmapped reads output files in place if appropriate + if options.paired == 'paired' and tmp_suppressed_file_name and \ + options.output_suppressed_reads_l and options.output_suppressed_reads_r: + try: + left = tmp_suppressed_file_name.replace( '.fastq', '_1.fastq' ) + right = tmp_suppressed_file_name.replace( '.fastq', '_1.fastq' ) + shutil.move( left, options.output_suppressed_reads_l ) + shutil.move( right, options.output_suppressed_reads_r ) + except Exception, e: + sys.stdout.write( 'Error producing the suppressed output file.\n' ) + if options.paired == 'paired' and tmp_unmapped_file_name and \ + options.output_unmapped_reads_l and options.output_unmapped_reads_r: + try: + left = tmp_unmapped_file_name.replace( '.fastq', '_1.fastq' ) + right = tmp_unmapped_file_name.replace( '.fastq', '_2.fastq' ) + shutil.move( left, options.output_unmapped_reads_l ) + shutil.move( right, options.output_unmapped_reads_r ) + except Exception, e: + sys.stdout.write( 'Error producing the unmapped output file.\n' ) + # check that there are results in the output file + if os.path.getsize( options.output ) == 0: + raise (Exception, 'The output file is empty, there may be an error with your input file or settings.') + except Exception, e: + stop_err( 'Error aligning sequence. ' + str( e ) ) + finally: + # clean up temp dir + if os.path.exists( tmp_index_dir ): + shutil.rmtree( tmp_index_dir ) + stdout += 'Sequence file aligned.\n' + sys.stdout.write( stdout ) + +if __name__=="__main__": __main__()
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bowtie_remove_rrna_wrapper/bowtie_wrapper_py3.py Wed Feb 23 14:03:33 2022 +0000 @@ -0,0 +1,469 @@ +#!/usr/bin/env python + +""" +Runs Bowtie on single-end or paired-end data. +For use with Bowtie v. 0.12.7 + +usage: bowtie_wrapper.py [options] + -t, --threads=t: The number of threads to run + -o, --output=o: The output file + --output_unmapped_reads=: File name for unmapped reads (single-end) + --output_unmapped_reads_l=: File name for unmapped reads (left, paired-end) + --output_unmapped_reads_r=: File name for unmapped reads (right, paired-end) + --output_suppressed_reads=: File name for suppressed reads because of max setting (single-end) + --output_suppressed_reads_l=: File name for suppressed reads because of max setting (left, paired-end) + --output_suppressed_reads_r=: File name for suppressed reads because of max setting (right, paired-end) + -i, --input1=i: The (forward or single-end) reads file in Sanger FASTQ format + -I, --input2=I: The reverse reads file in Sanger FASTQ format + -4, --dataType=4: The type of data (SOLiD or Solexa) + -2, --paired=2: Whether the data is single- or paired-end + -g, --genomeSource=g: The type of reference provided + -r, --ref=r: The reference genome to use or index + -s, --skip=s: Skip the first n reads + -a, --alignLimit=a: Only align the first n reads + -T, --trimH=T: Trim n bases from high-quality (left) end of each read before alignment + -L, --trimL=L: Trim n bases from low-quality (right) end of each read before alignment + -m, --mismatchSeed=m: Maximum number of mismatches permitted in the seed + -M, --mismatchQual=M: Maximum permitted total of quality values at mismatched read positions + -l, --seedLen=l: Seed length + -n, --rounding=n: Whether or not to round to the nearest 10 and saturating at 30 + -P, --maqSoapAlign=P: Choose MAQ- or SOAP-like alignment policy + -w, --tryHard=: Whether or not to try as hard as possible to find valid alignments when they exist + -v, --valAlign=v: Report up to n valid arguments per read + -V, --allValAligns=V: Whether or not to report all valid alignments per read + -G, --suppressAlign=G: Suppress all alignments for a read if more than n reportable alignments exist + -b, --best=b: 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 + -B, --maxBacktracks=B: Maximum number of backtracks permitted when aligning a read + -R, --strata=R: Whether or not to report only those alignments that fall in the best stratum if many valid alignments exist and are reportable + -j, --minInsert=j: Minimum insert size for valid paired-end alignments + -J, --maxInsert=J: Maximum insert size for valid paired-end alignments + -O, --mateOrient=O: The upstream/downstream mate orientation for valid paired-end alignment against the forward reference strand + -A, --maxAlignAttempt=A: Maximum number of attempts Bowtie will make to match an alignment for one mate with an alignment for the opposite mate + -f, --forwardAlign=f: Whether or not to attempt to align the forward reference strand + -E, --reverseAlign=E: Whether or not to attempt to align the reverse-complement reference strand + -F, --offrate=F: Override the offrate of the index to n + -8, --snpphred=8: SNP penalty on Phred scale + -6, --snpfrac=6: Fraction of sites expected to be SNP sites + -7, --keepends=7: Keep extreme-end nucleotides and qualities + -S, --seed=S: Seed for pseudo-random number generator + -C, --params=C: Whether to use default or specified parameters + -u, --iautoB=u: Automatic or specified behavior + -K, --ipacked=K: Whether or not to use a packed representation for DNA strings + -Q, --ibmax=Q: Maximum number of suffixes allowed in a block + -Y, --ibmaxdivn=Y: Maximum number of suffixes allowed in a block as a fraction of the length of the reference + -D, --idcv=D: The period for the difference-cover sample + -U, --inodc=U: Whether or not to disable the use of the difference-cover sample + -y, --inoref=y: Whether or not to build the part of the reference index used only in paired-end alignment + -z, --ioffrate=z: How many rows get marked during annotation of some or all of the Burrows-Wheeler rows + -W, --iftab=W: The size of the lookup table used to calculate an initial Burrows-Wheeler range with respect to the first n characters of the query + -X, --intoa=X: Whether or not to convert Ns in the reference sequence to As + -N, --iendian=N: Endianness to use when serializing integers to the index file + -Z, --iseed=Z: Seed for the pseudorandom number generator + -c, --icutoff=c: Number of first bases of the reference sequence to index + -x, --indexSettings=x: Whether or not indexing options are to be set + -H, --suppressHeader=H: Suppress header + --do_not_build_index: Flag to specify that provided file is already indexed and to just use 'as is' +""" + +import optparse, os, shutil, subprocess, sys, tempfile + +#Allow more than Sanger encoded variants +DEFAULT_ASCII_ENCODING = '--phred33-quals' +GALAXY_FORMAT_TO_QUALITY_SCORE_ENCODING_ARG = { 'fastqsanger':'--phred33-quals', 'fastqillumina':'--phred64-quals', 'fastqsolexa':'--solexa-quals' } +#FIXME: Integer quality scores are supported only when the '--integer-quals' argument is specified to bowtie; this is not currently able to be set in the tool/wrapper/config + +def stop_err( msg ): + sys.stderr.write( '%s\n' % msg ) + sys.exit() + +def __main__(): + #Parse Command Line + parser = optparse.OptionParser() + parser.add_option( '-t', '--threads', dest='threads', help='The number of threads to run' ) + parser.add_option( '-o', '--output', dest='output', help='The output file' ) + parser.add_option( '', '--output_unmapped_reads', dest='output_unmapped_reads', help='File name for unmapped reads (single-end)' ) + parser.add_option( '', '--output_unmapped_reads_l', dest='output_unmapped_reads_l', help='File name for unmapped reads (left, paired-end)' ) + parser.add_option( '', '--output_unmapped_reads_r', dest='output_unmapped_reads_r', help='File name for unmapped reads (right, paired-end)' ) + parser.add_option( '', '--output_suppressed_reads', dest='output_suppressed_reads', help='File name for suppressed reads because of max setting (single-end)' ) + parser.add_option( '', '--output_suppressed_reads_l', dest='output_suppressed_reads_l', help='File name for suppressed reads because of max setting (left, paired-end)' ) + parser.add_option( '', '--output_suppressed_reads_r', dest='output_suppressed_reads_r', help='File name for suppressed reads because of max setting (right, paired-end)' ) + parser.add_option( '-4', '--dataType', dest='dataType', help='The type of data (SOLiD or Solexa)' ) + parser.add_option( '-i', '--input1', dest='input1', help='The (forward or single-end) reads file in Sanger FASTQ format' ) + parser.add_option( '-I', '--input2', dest='input2', help='The reverse reads file in Sanger FASTQ format' ) + parser.add_option( '-2', '--paired', dest='paired', help='Whether the data is single- or paired-end' ) + parser.add_option( '-g', '--genomeSource', dest='genomeSource', help='The type of reference provided' ) + parser.add_option( '-r', '--ref', dest='ref', help='The reference genome to use or index' ) + parser.add_option( '-s', '--skip', dest='skip', help='Skip the first n reads' ) + parser.add_option( '-a', '--alignLimit', dest='alignLimit', help='Only align the first n reads' ) + parser.add_option( '-T', '--trimH', dest='trimH', help='Trim n bases from high-quality (left) end of each read before alignment' ) + parser.add_option( '-L', '--trimL', dest='trimL', help='Trim n bases from low-quality (right) end of each read before alignment' ) + parser.add_option( '-m', '--mismatchSeed', dest='mismatchSeed', help='Maximum number of mismatches permitted in the seed' ) + parser.add_option( '-M', '--mismatchQual', dest='mismatchQual', help='Maximum permitted total of quality values at mismatched read positions' ) + parser.add_option( '-l', '--seedLen', dest='seedLen', help='Seed length' ) + parser.add_option( '-n', '--rounding', dest='rounding', help='Whether or not to round to the nearest 10 and saturating at 30' ) + parser.add_option( '-P', '--maqSoapAlign', dest='maqSoapAlign', help='Choose MAQ- or SOAP-like alignment policy' ) + parser.add_option( '-w', '--tryHard', dest='tryHard', help='Whether or not to try as hard as possible to find valid alignments when they exist' ) + parser.add_option( '-v', '--valAlign', dest='valAlign', help='Report up to n valid arguments per read' ) + parser.add_option( '-V', '--allValAligns', dest='allValAligns', help='Whether or not to report all valid alignments per read' ) + parser.add_option( '-G', '--suppressAlign', dest='suppressAlign', help='Suppress all alignments for a read if more than n reportable alignments exist' ) + parser.add_option( '-b', '--best', dest='best', help="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" ) + parser.add_option( '-B', '--maxBacktracks', dest='maxBacktracks', help='Maximum number of backtracks permitted when aligning a read' ) + parser.add_option( '-R', '--strata', dest='strata', help='Whether or not to report only those alignments that fall in the best stratum if many valid alignments exist and are reportable' ) + parser.add_option( '-j', '--minInsert', dest='minInsert', help='Minimum insert size for valid paired-end alignments' ) + parser.add_option( '-J', '--maxInsert', dest='maxInsert', help='Maximum insert size for valid paired-end alignments' ) + parser.add_option( '-O', '--mateOrient', dest='mateOrient', help='The upstream/downstream mate orientation for valid paired-end alignment against the forward reference strand' ) + parser.add_option( '-A', '--maxAlignAttempt', dest='maxAlignAttempt', help='Maximum number of attempts Bowtie will make to match an alignment for one mate with an alignment for the opposite mate' ) + parser.add_option( '-f', '--forwardAlign', dest='forwardAlign', help='Whether or not to attempt to align the forward reference strand' ) + parser.add_option( '-E', '--reverseAlign', dest='reverseAlign', help='Whether or not to attempt to align the reverse-complement reference strand' ) + parser.add_option( '-F', '--offrate', dest='offrate', help='Override the offrate of the index to n' ) + parser.add_option( '-S', '--seed', dest='seed', help='Seed for pseudo-random number generator' ) + parser.add_option( '-8', '--snpphred', dest='snpphred', help='SNP penalty on Phred scale' ) + parser.add_option( '-6', '--snpfrac', dest='snpfrac', help='Fraction of sites expected to be SNP sites' ) + parser.add_option( '-7', '--keepends', dest='keepends', help='Keep extreme-end nucleotides and qualities' ) + parser.add_option( '-C', '--params', dest='params', help='Whether to use default or specified parameters' ) + parser.add_option( '-u', '--iautoB', dest='iautoB', help='Automatic or specified behavior' ) + parser.add_option( '-K', '--ipacked', dest='ipacked', help='Whether or not to use a packed representation for DNA strings' ) + parser.add_option( '-Q', '--ibmax', dest='ibmax', help='Maximum number of suffixes allowed in a block' ) + parser.add_option( '-Y', '--ibmaxdivn', dest='ibmaxdivn', help='Maximum number of suffixes allowed in a block as a fraction of the length of the reference' ) + parser.add_option( '-D', '--idcv', dest='idcv', help='The period for the difference-cover sample' ) + parser.add_option( '-U', '--inodc', dest='inodc', help='Whether or not to disable the use of the difference-cover sample' ) + parser.add_option( '-y', '--inoref', dest='inoref', help='Whether or not to build the part of the reference index used only in paired-end alignment' ) + parser.add_option( '-z', '--ioffrate', dest='ioffrate', help='How many rows get marked during annotation of some or all of the Burrows-Wheeler rows' ) + parser.add_option( '-W', '--iftab', dest='iftab', help='The size of the lookup table used to calculate an initial Burrows-Wheeler range with respect to the first n characters of the query' ) + parser.add_option( '-X', '--intoa', dest='intoa', help='Whether or not to convert Ns in the reference sequence to As' ) + parser.add_option( '-N', '--iendian', dest='iendian', help='Endianness to use when serializing integers to the index file' ) + parser.add_option( '-Z', '--iseed', dest='iseed', help='Seed for the pseudorandom number generator' ) + parser.add_option( '-c', '--icutoff', dest='icutoff', help='Number of first bases of the reference sequence to index' ) + parser.add_option( '-x', '--indexSettings', dest='index_settings', help='Whether or not indexing options are to be set' ) + parser.add_option( '-H', '--suppressHeader', dest='suppressHeader', help='Suppress header' ) + parser.add_option( '--galaxy_input_format', dest='galaxy_input_format', default="fastqsanger", help='galaxy input format' ) + parser.add_option( '--do_not_build_index', dest='do_not_build_index', action="store_true", default=False, help='Flag to specify that provided file is already indexed, use as is' ) + (options, args) = parser.parse_args() + stdout = '' + + # make temp directory for placement of indices and copy reference file there if necessary + tmp_index_dir = tempfile.mkdtemp() + # get type of data (solid or solexa) + if options.dataType == 'solid': + colorspace = '-C' + else: + colorspace = '' + # index if necessary + if options.genomeSource == 'history' and not options.do_not_build_index: + # set up commands + if options.index_settings =='indexPreSet': + indexing_cmds = '%s' % colorspace + else: + try: + if options.iautoB and options.iautoB == 'set': + iautoB = '--noauto' + else: + iautoB = '' + if options. ipacked and options.ipacked == 'packed': + ipacked = '--packed' + else: + ipacked = '' + if options.ibmax and int( options.ibmax ) >= 1: + ibmax = '--bmax %s' % options.ibmax + else: + ibmax = '' + if options.ibmaxdivn and int( options.ibmaxdivn ) >= 0: + ibmaxdivn = '--bmaxdivn %s' % options.ibmaxdivn + else: + ibmaxdivn = '' + if options.idcv and int( options.idcv ) > 0: + idcv = '--dcv %s' % options.idcv + else: + idcv = '' + if options.inodc and options.inodc == 'nodc': + inodc = '--nodc' + else: + inodc = '' + if options.inoref and options.inoref == 'noref': + inoref = '--noref' + else: + inoref = '' + if options.iftab and int( options.iftab ) >= 0: + iftab = '--ftabchars %s' % options.iftab + else: + iftab = '' + if options.intoa and options.intoa == 'yes': + intoa = '--ntoa' + else: + intoa = '' + if options.iendian and options.iendian == 'big': + iendian = '--big' + else: + iendian = '--little' + if options.iseed and int( options.iseed ) > 0: + iseed = '--seed %s' % options.iseed + else: + iseed = '' + if options.icutoff and int( options.icutoff ) > 0: + icutoff = '--cutoff %s' % options.icutoff + else: + icutoff = '' + indexing_cmds = '%s %s %s %s %s %s %s --offrate %s %s %s %s %s %s %s' % \ + ( iautoB, ipacked, ibmax, ibmaxdivn, idcv, inodc, + inoref, options.ioffrate, iftab, intoa, iendian, + iseed, icutoff, colorspace ) + except (ValueError, e): + # clean up temp dir + if os.path.exists( tmp_index_dir ): + shutil.rmtree( tmp_index_dir ) + stop_err( "Something is wrong with the indexing parameters and the indexing and alignment could not be run. Make sure you don't have any non-numeric values where they should be numeric.\n" + str( e ) ) + ref_file = tempfile.NamedTemporaryFile( dir=tmp_index_dir ) + ref_file_name = ref_file.name + ref_file.close() + os.symlink( options.ref, ref_file_name ) + cmd1 = 'bowtie-build %s -f %s %s' % ( indexing_cmds, ref_file_name, ref_file_name ) + try: + tmp = tempfile.NamedTemporaryFile( dir=tmp_index_dir ).name + tmp_stderr = open( tmp, 'wb' ) + proc = subprocess.Popen( args=cmd1, shell=True, cwd=tmp_index_dir, stderr=tmp_stderr.fileno() ) + returncode = proc.wait() + tmp_stderr.close() + # get stderr, allowing for case where it's very large + tmp_stderr = open( tmp, 'rb' ) + stderr = '' + buffsize = 1048576 + try: + while True: + stderr += tmp_stderr.read( buffsize ) + if not stderr or len( stderr ) % buffsize != 0: + break + except OverflowError: + pass + tmp_stderr.close() + if returncode != 0: + raise (Exception, stderr) + except Exception as e: + # clean up temp dir + if os.path.exists( tmp_index_dir ): + shutil.rmtree( tmp_index_dir ) + stop_err( 'Error indexing reference sequence\n' + str( e ) ) + stdout += 'File indexed. ' + else: + ref_file_name = options.ref + # set up aligning and generate aligning command options + # automatically set threads in both cases + tmp_suppressed_file_name = None + tmp_unmapped_file_name = None + if options.suppressHeader == 'true': + suppressHeader = '--sam-nohead' + else: + suppressHeader = '' + if options.maxInsert and int( options.maxInsert ) > 0: + maxInsert = '-X %s' % options.maxInsert + else: + maxInsert = '' + if options.mateOrient: + mateOrient = '--%s' % options.mateOrient + else: + mateOrient = '' + quality_score_encoding = GALAXY_FORMAT_TO_QUALITY_SCORE_ENCODING_ARG.get( options.galaxy_input_format, DEFAULT_ASCII_ENCODING ) + if options.params == 'preSet': + aligning_cmds = '-q %s %s -p %s -S %s %s %s ' % \ + ( maxInsert, mateOrient, options.threads, suppressHeader, colorspace, quality_score_encoding ) + else: + try: + if options.skip and int( options.skip ) > 0: + skip = '-s %s' % options.skip + else: + skip = '' + if options.alignLimit and int( options.alignLimit ) >= 0: + alignLimit = '-u %s' % options.alignLimit + else: + alignLimit = '' + if options.trimH and int( options.trimH ) > 0: + trimH = '-5 %s' % options.trimH + else: + trimH = '' + if options.trimL and int( options.trimL ) > 0: + trimL = '-3 %s' % options.trimL + else: + trimL = '' + if options.maqSoapAlign != '-1' and int( options.maqSoapAlign ) >= 0: + maqSoapAlign = '-v %s' % options.maqSoapAlign + else: + maqSoapAlign = '' + if options.mismatchSeed and (options.mismatchSeed == '0' or options.mismatchSeed == '1' \ + or options.mismatchSeed == '2' or options.mismatchSeed == '3'): + mismatchSeed = '-n %s' % options.mismatchSeed + else: + mismatchSeed = '' + if options.mismatchQual and int( options.mismatchQual ) >= 0: + mismatchQual = '-e %s' % options.mismatchQual + else: + mismatchQual = '' + if options.seedLen and int( options.seedLen ) >= 5: + seedLen = '-l %s' % options.seedLen + else: + seedLen = '' + if options.rounding == 'noRound': + rounding = '--nomaqround' + else: + rounding = '' + if options.minInsert and int( options.minInsert ) > 0: + minInsert = '-I %s' % options.minInsert + else: + minInsert = '' + if options.maxAlignAttempt and int( options.maxAlignAttempt ) >= 0: + maxAlignAttempt = '--pairtries %s' % options.maxAlignAttempt + else: + maxAlignAttempt = '' + if options.forwardAlign == 'noForward': + forwardAlign = '--nofw' + else: + forwardAlign = '' + if options.reverseAlign == 'noReverse': + reverseAlign = '--norc' + else: + reverseAlign = '' + if options.maxBacktracks and int( options.maxBacktracks ) > 0 and \ + ( options.mismatchSeed == '2' or options.mismatchSeed == '3' ): + maxBacktracks = '--maxbts %s' % options.maxBacktracks + else: + maxBacktracks = '' + if options.tryHard == 'doTryHard': + tryHard = '-y' + else: + tryHard = '' + if options.valAlign and int( options.valAlign ) >= 0: + valAlign = '-k %s' % options.valAlign + else: + valAlign = '' + if options.allValAligns == 'doAllValAligns': + allValAligns = '-a' + else: + allValAligns = '' + if options.suppressAlign and int( options.suppressAlign ) >= 0: + suppressAlign = '-m %s' % options.suppressAlign + else: + suppressAlign = '' + if options.best == 'doBest': + best = '--best' + else: + best = '' + if options.strata == 'doStrata': + strata = '--strata' + else: + strata = '' + if options.offrate and int( options.offrate ) >= 0: + offrate = '-o %s' % options.offrate + else: + offrate = '' + if options.seed and int( options.seed ) >= 0: + seed = '--seed %s' % options.seed + else: + seed = '' + if options.paired == 'paired': + if options.output_unmapped_reads_l and options.output_unmapped_reads_r: + tmp_unmapped_file = tempfile.NamedTemporaryFile( dir=tmp_index_dir, suffix='.fastq' ) + tmp_unmapped_file_name = tmp_unmapped_file.name + tmp_unmapped_file.close() + output_unmapped_reads = '--un %s' % tmp_unmapped_file_name + else: + output_unmapped_reads = '' + if options.output_suppressed_reads: + tmp_suppressed_file = tempfile.NamedTemporaryFile( dir=tmp_index_dir, suffix='.fastq' ) + tmp_suppressed_file_name = tmp_suppressed_file.name + tmp_suppressed_file.close() + output_suppressed_reads = '--max %s' % tmp_suppressed_file_name + else: + output_suppressed_reads = '' + else: + if options.output_unmapped_reads: + output_unmapped_reads = '--un %s' % options.output_unmapped_reads + else: + output_unmapped_reads = '' + if options.output_suppressed_reads: + output_suppressed_reads = '--max %s' % options.output_suppressed_reads + else: + output_suppressed_reads = '' + snpfrac = '' + if options.snpphred and int( options.snpphred ) >= 0: + snpphred = '--snpphred %s' % options.snpphred + else: + snpphred = '' + if options.snpfrac and float( options.snpfrac ) >= 0: + snpfrac = '--snpfrac %s' % options.snpfrac + if options.keepends and options.keepends == 'doKeepends': + keepends = '--col-keepends' + else: + keepends = '' + aligning_cmds = '-q %s %s -p %s -S %s %s %s %s %s %s %s %s %s %s %s %s ' \ + '%s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s %s ' % \ + ( maxInsert, mateOrient, options.threads, suppressHeader, + colorspace, skip, alignLimit, trimH, trimL, maqSoapAlign, + mismatchSeed, mismatchQual, seedLen, rounding, minInsert, + maxAlignAttempt, forwardAlign, reverseAlign, maxBacktracks, + tryHard, valAlign, allValAligns, suppressAlign, best, + strata, offrate, seed, snpphred, snpfrac, keepends, + output_unmapped_reads, output_suppressed_reads, + quality_score_encoding ) + except (ValueError): + # clean up temp dir + if os.path.exists( tmp_index_dir ): + shutil.rmtree( tmp_index_dir ) + stop_err( 'Something is wrong with the alignment parameters and the alignment could not be run\n' + str( e ) ) + try: + # have to nest try-except in try-finally to handle 2.4 + try: + # prepare actual mapping commands + if options.paired == 'paired': + cmd2 = 'bowtie %s %s -1 %s -2 %s > %s' % ( aligning_cmds, ref_file_name, options.input1, options.input2, options.output ) + else: + cmd2 = 'bowtie %s %s %s > %s' % ( aligning_cmds, ref_file_name, options.input1, options.output ) + # align + tmp = tempfile.NamedTemporaryFile( dir=tmp_index_dir ).name + tmp_stderr = open( tmp, 'wb' ) + proc = subprocess.Popen( args=cmd2, shell=True, cwd=tmp_index_dir, stderr=tmp_stderr.fileno() ) + returncode = proc.wait() + tmp_stderr.close() + # get stderr, allowing for case where it's very large + tmp_stderr = open( tmp, 'rb' ) + stderr = '' + buffsize = 1048576 + try: + while True: + stderr += tmp_stderr.read( buffsize ) + if not stderr or len( stderr ) % buffsize != 0: + break + except OverflowError: + pass + tmp_stderr.close() + if returncode != 0: + raise (Exception, stderr) + # get suppressed and unmapped reads output files in place if appropriate + if options.paired == 'paired' and tmp_suppressed_file_name and \ + options.output_suppressed_reads_l and options.output_suppressed_reads_r: + try: + left = tmp_suppressed_file_name.replace( '.fastq', '_1.fastq' ) + right = tmp_suppressed_file_name.replace( '.fastq', '_1.fastq' ) + shutil.move( left, options.output_suppressed_reads_l ) + shutil.move( right, options.output_suppressed_reads_r ) + except Exception as e: + sys.stdout.write( 'Error producing the suppressed output file.\n' ) + if options.paired == 'paired' and tmp_unmapped_file_name and \ + options.output_unmapped_reads_l and options.output_unmapped_reads_r: + try: + left = tmp_unmapped_file_name.replace( '.fastq', '_1.fastq' ) + right = tmp_unmapped_file_name.replace( '.fastq', '_2.fastq' ) + shutil.move( left, options.output_unmapped_reads_l ) + shutil.move( right, options.output_unmapped_reads_r ) + except Exception as e: + sys.stdout.write( 'Error producing the unmapped output file.\n' ) + # check that there are results in the output file + if os.path.getsize( options.output ) == 0: + raise (Exception, 'The output file is empty, there may be an error with your input file or settings.') + except Exception as e: + stop_err( 'Error aligning sequence. ' + str( e ) ) + finally: + # clean up temp dir + if os.path.exists( tmp_index_dir ): + shutil.rmtree( tmp_index_dir ) + stdout += 'Sequence file aligned.\n' + sys.stdout.write( stdout ) + +if __name__=="__main__": __main__()
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bowtie_remove_rrna_wrapper/test-data/bowtie_in2.fastqsanger Wed Feb 23 14:03:33 2022 +0000 @@ -0,0 +1,104 @@ +@HWI-EAS91_1_30788AAXX:1:1:1513:715/1 +GTTTTTTGGGCATAGATGTTTAGTTGTGGTAGTCAG ++ +IIIIIII""IIIIIIIIIIIIIIIIIIIDI?II-+I +@HWI-EAS91_1_30788AAXX:1:1:1698:516/1 +GTTGTTAGGGAGAGGAGTTGAACCTCTGAGTGTAAA ++ +IIIIIII""IIIIIIIIIIIIIIIIIII5IIIII9I +@HWI-EAS91_1_30788AAXX:1:1:1491:637/1 +GCTAGCAGGATGGATCCGGCAATTGGGGCTTCTACA ++ +IIIIIII""IIIIIIIIIIIIFIIIIIIIIIIIABD +@HWI-EAS91_1_30788AAXX:1:1:1711:249/1 +GGAAGTAGGGGCCTGCGTTCAGGCGTTCTGTTTGGT ++ +IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIIII +@HWI-EAS91_1_30788AAXX:1:1:1634:211/1 +GAAGCAGGGGCTTGATACTGACACTTCGTCGACGTA ++ +IIIIIII""IIIIIIIIIIIIIIIIIIIIII9IIDF +@HWI-EAS91_1_30788AAXX:1:1:1218:141/1 +GTTAAATATTGGGAGTGGGGGGGGGGGGGAGTTTTG ++ +IIIIIII""IIIIIIIIIIIIIIIIIIII1IIII+I +@HWI-EAS91_1_30788AAXX:1:1:1398:854/1 +GTGAAGAGGAGGGGATTTATTAGTACGGGAAGGGTG ++ +IIIIIII""IIIIIBIIIIIIIIIIIIIIA=IIIII +@HWI-EAS91_1_30788AAXX:1:1:1310:991/1 +GAATAGTGGTAGTATTATTCCTTCTAGGCATAGGAG ++ +IIIIIII""IIIIIIIIII4IIIIIIDII:IEI2:I +@HWI-EAS91_1_30788AAXX:1:1:1716:413/1 +GATCCAAGGCTTTATCAACACCTATTCTGATTCTTC ++ +IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIIII +@HWI-EAS91_1_30788AAXX:1:1:1630:59/1 +GGAGCGGGGGGTTGGTAAGGTTGGGGTCGAGTATGA ++ +IIIIIII""IIIIIIIIIIIIIIIIIIII;IIHIIF +@HWI-EAS91_1_30788AAXX:1:1:1601:805/1 +GAAAACAGGAAAACAATCCAGTCACTTACCCTATGC ++ +IIIIIII""IIIIIIIIIIIIIIIIIIIIIII@III +@HWI-EAS91_1_30788AAXX:1:1:1663:724/1 +GTTTGCCGGCGCCATCCTACGCTCCATTCCCAACAA ++ +IIIIIII""IIII8IIIIIIHIIII6IIIII1CI=3 +@HWI-EAS91_1_30788AAXX:1:1:1454:975/1 +GCTAGGCGGGAGTGGTAAAAGGCTCAGAAGAAGCCA ++ +IIIIIII""IIIIIIIIIIIIIIIIEIG;IIIIIII +@HWI-EAS91_1_30788AAXX:1:1:1461:255/1 +GTACACCGGCGCCTGAGCCCTACTAATAACTCTCAT ++ +IIIIIII""IIIIII9IIIIIIEI(II9.I4III,I +@HWI-EAS91_1_30788AAXX:1:1:1775:764/1 +GCATCCCGGTAGATCTAATTTTCTAAATCTGTCAAC ++ +IIIIIII""III@IIII+IIIIII8H8IIIIIIICI +@HWI-EAS91_1_30788AAXX:1:1:1269:520/1 +GGAGTATGGAATAAGTGATTTTAGATCGGTTTGTCG ++ +IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIIII +@HWI-EAS91_1_30788AAXX:1:1:1303:1162/1 +GAGCAAGGGCAGGAGGAGGAGTCCTAGGATGTCTTT ++ +IIIIIII""IIIIFII4*IGIAI(IAII49',3I6I +@HWI-EAS91_1_30788AAXX:1:1:1090:409/1 +GTTTGTTGGGAATGGAGCGTAGGATGGCGTAGGCAA ++ +IIIIIII""IIIIIIIIIIIIIIIIIIIII:IIA8I +@HWI-EAS91_1_30788AAXX:1:1:1336:1000/1 +GGTAAATGGGAAATATTAAGTTTCTGTTTCTAGATC ++ +IIIIIII""IIIIIIIIIIIIIIIIIIIIIIII9II +@HWI-EAS91_1_30788AAXX:1:1:1199:1376/1 +GTTTTCTGGAAAACCTTCACCTATTTATGGGGGTTT ++ +IIIIIII""IIIIIIIIIIIII;III3IIG&:/III +@HWI-EAS91_1_30788AAXX:1:1:1598:1148/1 +GATCAATGGTTTGGATCAATAAGTGATTATATATTT ++ +IIIIIII""IIIIIDIIIIII?IIICII=IHIIIII +@HWI-EAS91_1_30788AAXX:1:1:1723:1459/1 +GAAACCCGGACGTTTGGATGGGCCCGGAGCGAGGAT ++ +IIIIIII""IIIIIIIIDIIIIIIIII9HII-II=I +@HWI-EAS91_1_30788AAXX:1:1:1442:1346/1 +TATCAAGGGGCTGCTTCGAATCCGAAGTGGTGGCTG ++ +IIIIIII""IIIIIDIIIII1I(I4II<?<-II*,& +@HWI-EAS91_1_30788AAXX:1:1:850:117/1 +GTATGACGGTAAAGAAAATTATTACGAATGCATGGG ++ +IIIIIII""IIIIIIEIEIIIIIIIIEBIDD9I;:? +@HWI-EAS91_1_30788AAXX:1:1:795:325/1 +GGGTACTGGGAAGTGGAATGGTGTGAGTCCAAGTTT ++ +IIIIIII""IIIIIIIIIIIIIIIIIIIII65IIII +@HWI-EAS91_1_30788AAXX:1:1:873:453/1 +GAGTAGGGGGATTGCTAGAGTTACTTCGTATGAGAT ++ +IIIIIII""IIIIIIIIIIIIIIIII@IIIIIII=I
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bowtie_remove_rrna_wrapper/test-data/bowtie_in5.fastqillumina Wed Feb 23 14:03:33 2022 +0000 @@ -0,0 +1,72 @@ +@Dummy:1:1:1761:343/1 +TTTATCGCTTCCATGACGCAGAAGTTAACACTTTCGGATATTTCTGATGA ++ +hhhhhhhAAhhhhhhhhhhh^hOhhhhghhhfhhhhhOhh^hAAhhhhhh +@Dummy:1:1:1578:331/1 +TGTCAAAAACTGACGCGTTGGATGAGGAGAAGTGGCTTAATATGCTTGGC ++ +hhhhhhhAAhhhhhhhhhhhhhhhhhhhhhhhhhhAhhhhhhhOOOhhhh +@Dummy:1:1:1647:512/1 +TACTGAACAATCCGTACGTTTCCAGACCGCTTTGGCCTCTATTAAGCTCA ++ +hhhhhhhAAhhhhhhhhhhhhhhhhhhhhhhhhhhAhhhhhhhOOOhhhh +@Dummy:1:1:1570:620/1 +GAGTAACAAAGTaaaGTTTGGAccGTTTTTGTCTCGTGCTCGTCGCTGCG ++ +hhhhhhhAAhhhhhhhhhhhhhahhhhhhhhhhhhAhhhhhhhOOOhhhh +@Dummy:1:1:1599:330/1 +AGAAGAAAACGTGCGTCAAAAATTACGTGCaGAAGGAGTGATGTAATGTC ++ +hhhhhhhAAhhhhhhhhhhhhhhhhhhh[hhh_hhAhhhhhhhOOOhhhh +@Dummy:1:1:1652:270/1 +AGCGTAAAGGCGCTCGTCTTTGGTATGTAGGacTTTGCATTGTTTAATTG ++ +hhhhhhhAAhhhhhhhhhhhhhhhhhhhhhhhUhhAhhhhhhhOOOhhhh +@Dummy:1:1:1746:351/1 +CTCATCGTCACGTTTATGGTGAACAGTGGATTAAGTTCATGAAGGATGGT ++ +hhhhhhhAAhhhhhhhhhhhhhhhhhhhhhhhhhhAhhhhhhhOOOhhhh +@Dummy:1:1:1582:633/1 +CCGCTTCCTCCTGAGACTGAGCTTTCTCGCCAAATGACGACTTCTACCAC ++ +hhhhhhhAAhhhhhhhhhhhhhhhhhhhhhhhhhhAhhhhhhhOOOhhhh +@Dummy:1:1:1598:534/1 +GCGCTCTAATCTCTGGGCATCTGGCTATGATGTTGATGGAACTGACCAAA ++ +hhhhhhhAAhhhhhhhhhhhhhhhhhhhhhhhhhhAhhhhhhhOOOhhhh +@Dummy:1:1:1572:324/1 +AAGGTGCTTaaaTTCgtGGGTCCTGAGCTGGCGACCCTGTTTTGTATGGC ++ +hhhhhhhAAhhhhhhhhhhhhhhhhhhhhJVhOThAhhhhhhhOOOhhhh +@Dummy:1:1:1749:466/1 +TTGCAGTGGAATAGTCAGGTTAAATTTAATGTGACCGTTTATCGCAATCT ++ +hhhhhhhAAhhhhhhhhhhhhhhhhhhhhhhhhhhAhhhhhhhOOOhhhh +@Dummy:1:1:1629:446/1 +AGGTTATAACGCCGAAGCGGTAAAAATTTTAATTTTTGCCGCTGAGGGGT ++ +hhhhhhhAAhhhhhhhhhhhhhhhhhhhhhhhhhhAhhhhhhhOOOhhhh +@Dummy:1:1:1763:587/1 +AAGCTACATCGTCAACGTTATATTTTGATAGTTTGACGGTTAATGCTGGT ++ +hhhhhhhAAhhhhhhhhhhhhhhhhhhhhhhhhhhAhhhhhhhOOOhhhh +@Dummy:1:1:1616:363/1 +TGTTTATCCTTTGAATGGTCGCCATGATGGTGGTTATTATACCGTCAAGG ++ +hhhhhhhAAhhhhhhhhhhhhhhhhhhhhhhchhhAhhhhhhhOOOhhhh +@Dummy:1:1:1768:715/1 +ACCCTGATGAGGCCGCCCCTAGTTTTGTTTCTGGTGCTATGGCTAAAGCT ++ +hhhhhhhAAhhhhhhhhhhhhhchhhhhhhhhhhhAhhhhhhhOOOhhhh +@Dummy:1:1:1572:270/1 +TGAGATGCTTGCTTATCAACAGAAGGAGTCTACTGCTCGCGTTGCGTCTA ++ +hhhhhhhAAhhhhhhhhhhhhhhhhhhhhhhhhhhAhhhhhhhOOOhhhh +@Dummy:1:1:1673:514/1 +ATTATTTTGACTTTGAGCGTATCGAGGCTCTTAAACCTGCTATTGAGGCT ++ +hhhhhhhAAhhhhhhhhhhhhhhhhhhhhhhhhhPAhhhhhhhOOOhhhh +@Dummy:1:1:1634:330/1 +GGATATTCGCGATGAGTATAATTACCCCAAAAAGAAAGGTATTAAGGATG ++ +hhhhhhhAAhhhhhhhhhhhhhhhhhhhhhhhWhhAhhhhhhhOOOhhhh
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bowtie_remove_rrna_wrapper/test-data/bowtie_in5.fastqsanger Wed Feb 23 14:03:33 2022 +0000 @@ -0,0 +1,72 @@ +@Dummy:1:1:1761:343/1 +TTTATCGCTTCCATGACGCAGAAGTTAACACTTTCGGATATTTCTGATGA ++ +IIIIIII""IIIIIIIIIII?I0IIIIHIIIGIIIII0II?I""IIIIII +@Dummy:1:1:1578:331/1 +TGTCAAAAACTGACGCGTTGGATGAGGAGAAGTGGCTTAATATGCTTGGC ++ +IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII"IIIIIII000IIII +@Dummy:1:1:1647:512/1 +TACTGAACAATCCGTACGTTTCCAGACCGCTTTGGCCTCTATTAAGCTCA ++ +IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII"IIIIIII000IIII +@Dummy:1:1:1570:620/1 +GAGTAACAAAGTaaaGTTTGGAccGTTTTTGTCTCGTGCTCGTCGCTGCG ++ +IIIIIII""IIIIIIIIIIIIIBIIIIIIIIIIII"IIIIIII000IIII +@Dummy:1:1:1599:330/1 +AGAAGAAAACGTGCGTCAAAAATTACGTGCaGAAGGAGTGATGTAATGTC ++ +IIIIIII""IIIIIIIIIIIIIIIIIII<III@II"IIIIIII000IIII +@Dummy:1:1:1652:270/1 +AGCGTAAAGGCGCTCGTCTTTGGTATGTAGGacTTTGCATTGTTTAATTG ++ +IIIIIII""IIIIIIIIIIIIIIIIIIIIIII6II"IIIIIII000IIII +@Dummy:1:1:1746:351/1 +CTCATCGTCACGTTTATGGTGAACAGTGGATTAAGTTCATGAAGGATGGT ++ +IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII"IIIIIII000IIII +@Dummy:1:1:1582:633/1 +CCGCTTCCTCCTGAGACTGAGCTTTCTCGCCAAATGACGACTTCTACCAC ++ +IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII"IIIIIII000IIII +@Dummy:1:1:1598:534/1 +GCGCTCTAATCTCTGGGCATCTGGCTATGATGTTGATGGAACTGACCAAA ++ +IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII"IIIIIII000IIII +@Dummy:1:1:1572:324/1 +AAGGTGCTTaaaTTCgtGGGTCCTGAGCTGGCGACCCTGTTTTGTATGGC ++ +IIIIIII""IIIIIIIIIIIIIIIIIIII+7I05I"IIIIIII000IIII +@Dummy:1:1:1749:466/1 +TTGCAGTGGAATAGTCAGGTTAAATTTAATGTGACCGTTTATCGCAATCT ++ +IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII"IIIIIII000IIII +@Dummy:1:1:1629:446/1 +AGGTTATAACGCCGAAGCGGTAAAAATTTTAATTTTTGCCGCTGAGGGGT ++ +IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII"IIIIIII000IIII +@Dummy:1:1:1763:587/1 +AAGCTACATCGTCAACGTTATATTTTGATAGTTTGACGGTTAATGCTGGT ++ +IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII"IIIIIII000IIII +@Dummy:1:1:1616:363/1 +TGTTTATCCTTTGAATGGTCGCCATGATGGTGGTTATTATACCGTCAAGG ++ +IIIIIII""IIIIIIIIIIIIIIIIIIIIIIDIII"IIIIIII000IIII +@Dummy:1:1:1768:715/1 +ACCCTGATGAGGCCGCCCCTAGTTTTGTTTCTGGTGCTATGGCTAAAGCT ++ +IIIIIII""IIIIIIIIIIIIIDIIIIIIIIIIII"IIIIIII000IIII +@Dummy:1:1:1572:270/1 +TGAGATGCTTGCTTATCAACAGAAGGAGTCTACTGCTCGCGTTGCGTCTA ++ +IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII"IIIIIII000IIII +@Dummy:1:1:1673:514/1 +ATTATTTTGACTTTGAGCGTATCGAGGCTCTTAAACCTGCTATTGAGGCT ++ +IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIII1"IIIIIII000IIII +@Dummy:1:1:1634:330/1 +GGATATTCGCGATGAGTATAATTACCCCAAAAAGAAAGGTATTAAGGATG ++ +IIIIIII""IIIIIIIIIIIIIIIIIIIIIII8II"IIIIIII000IIII
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bowtie_remove_rrna_wrapper/test-data/bowtie_in5.fastqsolexa Wed Feb 23 14:03:33 2022 +0000 @@ -0,0 +1,72 @@ +@Dummy:1:1:1761:343/1 +TTTATCGCTTCCATGACGCAGAAGTTAACACTTTCGGATATTTCTGATGA ++ +hhhhhhh;;hhhhhhhhhhh^hOhhhhghhhfhhhhhOhh^h;;hhhhhh +@Dummy:1:1:1578:331/1 +TGTCAAAAACTGACGCGTTGGATGAGGAGAAGTGGCTTAATATGCTTGGC ++ +hhhhhhh;;hhhhhhhhhhhhhhhhhhhhhhhhhh;hhhhhhhOOOhhhh +@Dummy:1:1:1647:512/1 +TACTGAACAATCCGTACGTTTCCAGACCGCTTTGGCCTCTATTAAGCTCA ++ +hhhhhhh;;hhhhhhhhhhhhhhhhhhhhhhhhhh;hhhhhhhOOOhhhh +@Dummy:1:1:1570:620/1 +GAGTAACAAAGTaaaGTTTGGAccGTTTTTGTCTCGTGCTCGTCGCTGCG ++ +hhhhhhh;;hhhhhhhhhhhhhahhhhhhhhhhhh;hhhhhhhOOOhhhh +@Dummy:1:1:1599:330/1 +AGAAGAAAACGTGCGTCAAAAATTACGTGCaGAAGGAGTGATGTAATGTC ++ +hhhhhhh;;hhhhhhhhhhhhhhhhhhh[hhh_hh;hhhhhhhOOOhhhh +@Dummy:1:1:1652:270/1 +AGCGTAAAGGCGCTCGTCTTTGGTATGTAGGacTTTGCATTGTTTAATTG ++ +hhhhhhh;;hhhhhhhhhhhhhhhhhhhhhhhUhh;hhhhhhhOOOhhhh +@Dummy:1:1:1746:351/1 +CTCATCGTCACGTTTATGGTGAACAGTGGATTAAGTTCATGAAGGATGGT ++ +hhhhhhh;;hhhhhhhhhhhhhhhhhhhhhhhhhh;hhhhhhhOOOhhhh +@Dummy:1:1:1582:633/1 +CCGCTTCCTCCTGAGACTGAGCTTTCTCGCCAAATGACGACTTCTACCAC ++ +hhhhhhh;;hhhhhhhhhhhhhhhhhhhhhhhhhh;hhhhhhhOOOhhhh +@Dummy:1:1:1598:534/1 +GCGCTCTAATCTCTGGGCATCTGGCTATGATGTTGATGGAACTGACCAAA ++ +hhhhhhh;;hhhhhhhhhhhhhhhhhhhhhhhhhh;hhhhhhhOOOhhhh +@Dummy:1:1:1572:324/1 +AAGGTGCTTaaaTTCgtGGGTCCTGAGCTGGCGACCCTGTTTTGTATGGC ++ +hhhhhhh;;hhhhhhhhhhhhhhhhhhhhJVhOTh;hhhhhhhOOOhhhh +@Dummy:1:1:1749:466/1 +TTGCAGTGGAATAGTCAGGTTAAATTTAATGTGACCGTTTATCGCAATCT ++ +hhhhhhh;;hhhhhhhhhhhhhhhhhhhhhhhhhh;hhhhhhhOOOhhhh +@Dummy:1:1:1629:446/1 +AGGTTATAACGCCGAAGCGGTAAAAATTTTAATTTTTGCCGCTGAGGGGT ++ +hhhhhhh;;hhhhhhhhhhhhhhhhhhhhhhhhhh;hhhhhhhOOOhhhh +@Dummy:1:1:1763:587/1 +AAGCTACATCGTCAACGTTATATTTTGATAGTTTGACGGTTAATGCTGGT ++ +hhhhhhh;;hhhhhhhhhhhhhhhhhhhhhhhhhh;hhhhhhhOOOhhhh +@Dummy:1:1:1616:363/1 +TGTTTATCCTTTGAATGGTCGCCATGATGGTGGTTATTATACCGTCAAGG ++ +hhhhhhh;;hhhhhhhhhhhhhhhhhhhhhhchhh;hhhhhhhOOOhhhh +@Dummy:1:1:1768:715/1 +ACCCTGATGAGGCCGCCCCTAGTTTTGTTTCTGGTGCTATGGCTAAAGCT ++ +hhhhhhh;;hhhhhhhhhhhhhchhhhhhhhhhhh;hhhhhhhOOOhhhh +@Dummy:1:1:1572:270/1 +TGAGATGCTTGCTTATCAACAGAAGGAGTCTACTGCTCGCGTTGCGTCTA ++ +hhhhhhh;;hhhhhhhhhhhhhhhhhhhhhhhhhh;hhhhhhhOOOhhhh +@Dummy:1:1:1673:514/1 +ATTATTTTGACTTTGAGCGTATCGAGGCTCTTAAACCTGCTATTGAGGCT ++ +hhhhhhh;;hhhhhhhhhhhhhhhhhhhhhhhhhP;hhhhhhhOOOhhhh +@Dummy:1:1:1634:330/1 +GGATATTCGCGATGAGTATAATTACCCCAAAAAGAAAGGTATTAAGGATG ++ +hhhhhhh;;hhhhhhhhhhhhhhhhhhhhhhhWhh;hhhhhhhOOOhhhh
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bowtie_remove_rrna_wrapper/test-data/bowtie_in6.fastqillumina Wed Feb 23 14:03:33 2022 +0000 @@ -0,0 +1,72 @@ +@Dummy:1:1:1761:343/2 +TTGATAAAGCAGGAATTACTACTGCTTGTTTACGAATTAAATCGAAGTGG ++ +hhhhhhhAAhhhhhhhOhh^hAAhhhhhhhhhhhh^hOhhhhghhhfhhh +@Dummy:1:1:1578:331/2 +AAGGACTGGTTTAGATATGAGTCACATTTTGTTCATGGTAGAGATTCTCT ++ +hhhhhhhAAhhhhhhhhhhhhhhhhhhhhhhhhhh^hOhhhhghhhfhhh +@Dummy:1:1:1647:512/2 +TTCAGGCTTCTGCCGTTTTGGATTTAACCGAAGATGATTTCGATTTTCTG ++ +hhhhhhhAAhhhhhhhhhhhhhhhhhhhhhhhhhh^hOhhhhghhhfhhh +@Dummy:1:1:1570:620/2 +CTTGCGTTTATGGTACGCTGGACTTTGTGGGATACCCTCGCTTTCCTGCT ++ +hhhhhhhAAhhhhhhhhhhhhhahhhhhhhhhhhh^hOhhhhghhhfhhh +@Dummy:1:1:1599:330/2 +TTCTGGCGCTCGCCCTGGTCGTCCGCAGCCGTTGCGAGGTACTAAAGGCA ++ +hhhhhhhAAhhhhhhhhhhhhhhhhhhh[hhh_hh^hOhhhhghhhfhhh +@Dummy:1:1:1652:270/2 +GCTTCGGCCCCTTACTTGAGGATAAATTATGTCTAATATTCAAACTGGCG ++ +hhhhhhhAAhhhhhhhhhhhhhhhhhhhhhhhUhh^hOhhhhghhhfhhh +@Dummy:1:1:1746:351/2 +CCACTCCTCTCCCGACTGTGTGTGTGTGTGTTTATATTGACCATGCCGCT ++ +hhhhhhhAAhhhhhhhhhhhhhhhhhh^hOhhhhghhhfhhhhhhhhhhh +@Dummy:1:1:1582:633/2 +TCTATTGACATTATGGGTCTGCAAGCTGCTTTTTTTTTTTTTTTTTTTTT ++ +hhhhhhhAAhhhhhhhhhhhhhhhhhhhhhhhhhh^hOhhhhghhhfhhh +@Dummy:1:1:1598:534/2 +TTAGGCCAGTTTTCTGGTCGTGTTCAACAGACCTATAAACATTCTGTGCC ++ +hhhhhhhAAhhhhhhhhhhhhhhhhhhhhhhhhhh^hOhhhhghhhfhhh +@Dummy:1:1:1572:324/2 +GCCGCCGCGTGAAATTTCTATGAAGGATGTTTTCCGTTCTGGTGATTCGT ++ +hhhhhhhAAhhhhhhhhhhhhhhhhhhhhJVhOTh^hOhhhhghhhfhhh +@Dummy:1:1:1749:466/2 +GCCGACCACTCGCGATTCAATCATGACTTCGTGATAAAAGATTGAGTGTG ++ +hhhhhhhAAhhhhhhhhhhhhhhhhhhhhhhhhhh^hOhhhhghhhfhhh +@Dummy:1:1:1629:446/2 +CAAGCGAAGCGCGGTAGGTTTTCTGCTTAGGAGTTTAATCATGTTTCAGA ++ +hhhhhhhAAhhhhhhhhhhhhhhhhhhhhhhhhhh^hOhhhhghhhfhhh +@Dummy:1:1:1763:587/2 +CATTGCATTCAGATGGATACATCTGTCAACGCCGCTAATCAGGTTGTTTC ++ +hhhhhhhAAhhhhhhhhhhhhhhhhhhhhhhhhhh^hOhhhhghhhfhhh +@Dummy:1:1:1616:363/2 +GTGACTATTGACGTCCTTCCCCGTACGCCGGGCAATAAtGTTTATGTTGG ++ +hhhhhhhAAhhhhhhhhhhhhhhhhhhhhhhchhh^hOhhhhghhhfhhh +@Dummy:1:1:1768:715/2 +AGGACTTCTTGAAGGTACGTTGCAGGCTGGCACTTCTGCCGTTTCTGATA ++ +hhhhhhhAAhhhhhhhhhhhhhchhhhhhhhhhhh^hOhhhhghhhfhhh +@Dummy:1:1:1572:270/2 +ACACCAATCTTTCCAAGCAACAGCAGGTTTCCGAGATTATGCGCCAAATG ++ +hhhhhhhAAhhhhhhhhhhhhhhhhhhhhhhhhhh^hOhhhhghhhfhhh +@Dummy:1:1:1673:514/2 +GCATTTCTACTCTTTCTCAATCCCCAATGCTTGGCTTCCATAAGCAGATG ++ +hhhhhhhAAhhhhhhhhhhhhhhhhhhhhhhhhhP^hOhhhhghhhfhhh +@Dummy:1:1:1634:330/2 +TCAAGATTGCTGGAGGCCTCCACTATGAAATCGCGTAGAGGCTTTaCTAT ++ +hhhhhhhAAhhhhhhhhhhhhhhhhhhhhhhhWhh^hOhhhhghhhfhhh
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bowtie_remove_rrna_wrapper/test-data/bowtie_in6.fastqsanger Wed Feb 23 14:03:33 2022 +0000 @@ -0,0 +1,72 @@ +@Dummy:1:1:1761:343/2 +TTGATAAAGCAGGAATTACTACTGCTTGTTTACGAATTAAATCGAAGTGG ++ +IIIIIII""IIIIIII0II?I""IIIIIIIIIIII?I0IIIIHIIIGIII +@Dummy:1:1:1578:331/2 +AAGGACTGGTTTAGATATGAGTCACATTTTGTTCATGGTAGAGATTCTCT ++ +IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII?I0IIIIHIIIGIII +@Dummy:1:1:1647:512/2 +TTCAGGCTTCTGCCGTTTTGGATTTAACCGAAGATGATTTCGATTTTCTG ++ +IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII?I0IIIIHIIIGIII +@Dummy:1:1:1570:620/2 +CTTGCGTTTATGGTACGCTGGACTTTGTGGGATACCCTCGCTTTCCTGCT ++ +IIIIIII""IIIIIIIIIIIIIBIIIIIIIIIIII?I0IIIIHIIIGIII +@Dummy:1:1:1599:330/2 +TTCTGGCGCTCGCCCTGGTCGTCCGCAGCCGTTGCGAGGTACTAAAGGCA ++ +IIIIIII""IIIIIIIIIIIIIIIIIII<III@II?I0IIIIHIIIGIII +@Dummy:1:1:1652:270/2 +GCTTCGGCCCCTTACTTGAGGATAAATTATGTCTAATATTCAAACTGGCG ++ +IIIIIII""IIIIIIIIIIIIIIIIIIIIIII6II?I0IIIIHIIIGIII +@Dummy:1:1:1746:351/2 +CCACTCCTCTCCCGACTGTGTGTGTGTGTGTTTATATTGACCATGCCGCT ++ +IIIIIII""IIIIIIIIIIIIIIIIII?I0IIIIHIIIGIIIIIIIIIII +@Dummy:1:1:1582:633/2 +TCTATTGACATTATGGGTCTGCAAGCTGCTTTTTTTTTTTTTTTTTTTTT ++ +IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII?I0IIIIHIIIGIII +@Dummy:1:1:1598:534/2 +TTAGGCCAGTTTTCTGGTCGTGTTCAACAGACCTATAAACATTCTGTGCC ++ +IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII?I0IIIIHIIIGIII +@Dummy:1:1:1572:324/2 +GCCGCCGCGTGAAATTTCTATGAAGGATGTTTTCCGTTCTGGTGATTCGT ++ +IIIIIII""IIIIIIIIIIIIIIIIIIII+7I05I?I0IIIIHIIIGIII +@Dummy:1:1:1749:466/2 +GCCGACCACTCGCGATTCAATCATGACTTCGTGATAAAAGATTGAGTGTG ++ +IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII?I0IIIIHIIIGIII +@Dummy:1:1:1629:446/2 +CAAGCGAAGCGCGGTAGGTTTTCTGCTTAGGAGTTTAATCATGTTTCAGA ++ +IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII?I0IIIIHIIIGIII +@Dummy:1:1:1763:587/2 +CATTGCATTCAGATGGATACATCTGTCAACGCCGCTAATCAGGTTGTTTC ++ +IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII?I0IIIIHIIIGIII +@Dummy:1:1:1616:363/2 +GTGACTATTGACGTCCTTCCCCGTACGCCGGGCAATAAtGTTTATGTTGG ++ +IIIIIII""IIIIIIIIIIIIIIIIIIIIIIDIII?I0IIIIHIIIGIII +@Dummy:1:1:1768:715/2 +AGGACTTCTTGAAGGTACGTTGCAGGCTGGCACTTCTGCCGTTTCTGATA ++ +IIIIIII""IIIIIIIIIIIIIDIIIIIIIIIIII?I0IIIIHIIIGIII +@Dummy:1:1:1572:270/2 +ACACCAATCTTTCCAAGCAACAGCAGGTTTCCGAGATTATGCGCCAAATG ++ +IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII?I0IIIIHIIIGIII +@Dummy:1:1:1673:514/2 +GCATTTCTACTCTTTCTCAATCCCCAATGCTTGGCTTCCATAAGCAGATG ++ +IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIII1?I0IIIIHIIIGIII +@Dummy:1:1:1634:330/2 +TCAAGATTGCTGGAGGCCTCCACTATGAAATCGCGTAGAGGCTTTaCTAT ++ +IIIIIII""IIIIIIIIIIIIIIIIIIIIIII8II?I0IIIIHIIIGIII
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bowtie_remove_rrna_wrapper/test-data/bowtie_in6.fastqsolexa Wed Feb 23 14:03:33 2022 +0000 @@ -0,0 +1,72 @@ +@Dummy:1:1:1761:343/2 +TTGATAAAGCAGGAATTACTACTGCTTGTTTACGAATTAAATCGAAGTGG ++ +hhhhhhh;;hhhhhhhOhh^h;;hhhhhhhhhhhh^hOhhhhghhhfhhh +@Dummy:1:1:1578:331/2 +AAGGACTGGTTTAGATATGAGTCACATTTTGTTCATGGTAGAGATTCTCT ++ +hhhhhhh;;hhhhhhhhhhhhhhhhhhhhhhhhhh^hOhhhhghhhfhhh +@Dummy:1:1:1647:512/2 +TTCAGGCTTCTGCCGTTTTGGATTTAACCGAAGATGATTTCGATTTTCTG ++ +hhhhhhh;;hhhhhhhhhhhhhhhhhhhhhhhhhh^hOhhhhghhhfhhh +@Dummy:1:1:1570:620/2 +CTTGCGTTTATGGTACGCTGGACTTTGTGGGATACCCTCGCTTTCCTGCT ++ +hhhhhhh;;hhhhhhhhhhhhhahhhhhhhhhhhh^hOhhhhghhhfhhh +@Dummy:1:1:1599:330/2 +TTCTGGCGCTCGCCCTGGTCGTCCGCAGCCGTTGCGAGGTACTAAAGGCA ++ +hhhhhhh;;hhhhhhhhhhhhhhhhhhh[hhh_hh^hOhhhhghhhfhhh +@Dummy:1:1:1652:270/2 +GCTTCGGCCCCTTACTTGAGGATAAATTATGTCTAATATTCAAACTGGCG ++ +hhhhhhh;;hhhhhhhhhhhhhhhhhhhhhhhUhh^hOhhhhghhhfhhh +@Dummy:1:1:1746:351/2 +CCACTCCTCTCCCGACTGTGTGTGTGTGTGTTTATATTGACCATGCCGCT ++ +hhhhhhh;;hhhhhhhhhhhhhhhhhh^hOhhhhghhhfhhhhhhhhhhh +@Dummy:1:1:1582:633/2 +TCTATTGACATTATGGGTCTGCAAGCTGCTTTTTTTTTTTTTTTTTTTTT ++ +hhhhhhh;;hhhhhhhhhhhhhhhhhhhhhhhhhh^hOhhhhghhhfhhh +@Dummy:1:1:1598:534/2 +TTAGGCCAGTTTTCTGGTCGTGTTCAACAGACCTATAAACATTCTGTGCC ++ +hhhhhhh;;hhhhhhhhhhhhhhhhhhhhhhhhhh^hOhhhhghhhfhhh +@Dummy:1:1:1572:324/2 +GCCGCCGCGTGAAATTTCTATGAAGGATGTTTTCCGTTCTGGTGATTCGT ++ +hhhhhhh;;hhhhhhhhhhhhhhhhhhhhJVhOTh^hOhhhhghhhfhhh +@Dummy:1:1:1749:466/2 +GCCGACCACTCGCGATTCAATCATGACTTCGTGATAAAAGATTGAGTGTG ++ +hhhhhhh;;hhhhhhhhhhhhhhhhhhhhhhhhhh^hOhhhhghhhfhhh +@Dummy:1:1:1629:446/2 +CAAGCGAAGCGCGGTAGGTTTTCTGCTTAGGAGTTTAATCATGTTTCAGA ++ +hhhhhhh;;hhhhhhhhhhhhhhhhhhhhhhhhhh^hOhhhhghhhfhhh +@Dummy:1:1:1763:587/2 +CATTGCATTCAGATGGATACATCTGTCAACGCCGCTAATCAGGTTGTTTC ++ +hhhhhhh;;hhhhhhhhhhhhhhhhhhhhhhhhhh^hOhhhhghhhfhhh +@Dummy:1:1:1616:363/2 +GTGACTATTGACGTCCTTCCCCGTACGCCGGGCAATAAtGTTTATGTTGG ++ +hhhhhhh;;hhhhhhhhhhhhhhhhhhhhhhchhh^hOhhhhghhhfhhh +@Dummy:1:1:1768:715/2 +AGGACTTCTTGAAGGTACGTTGCAGGCTGGCACTTCTGCCGTTTCTGATA ++ +hhhhhhh;;hhhhhhhhhhhhhchhhhhhhhhhhh^hOhhhhghhhfhhh +@Dummy:1:1:1572:270/2 +ACACCAATCTTTCCAAGCAACAGCAGGTTTCCGAGATTATGCGCCAAATG ++ +hhhhhhh;;hhhhhhhhhhhhhhhhhhhhhhhhhh^hOhhhhghhhfhhh +@Dummy:1:1:1673:514/2 +GCATTTCTACTCTTTCTCAATCCCCAATGCTTGGCTTCCATAAGCAGATG ++ +hhhhhhh;;hhhhhhhhhhhhhhhhhhhhhhhhhP^hOhhhhghhhfhhh +@Dummy:1:1:1634:330/2 +TCAAGATTGCTGGAGGCCTCCACTATGAAATCGCGTAGAGGCTTTaCTAT ++ +hhhhhhh;;hhhhhhhhhhhhhhhhhhhhhhhWhh^hOhhhhghhhfhhh
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bowtie_remove_rrna_wrapper/test-data/bowtie_out10.sam Wed Feb 23 14:03:33 2022 +0000 @@ -0,0 +1,36 @@ +Dummy:1:1:1570:620 141 * 0 0 * * 0 0 CTTGCGTTTATGGTACGCTGGACTTTGTGGGATACCCTCGCTTTCCTGCT IIIIIII""IIIIIIIIIIIIIBIIIIIIIIIIII?I0IIIIHIIIGIII XM:i:0 +Dummy:1:1:1570:620 77 * 0 0 * * 0 0 GAGTAACAAAGTAAAGTTTGGACCGTTTTTGTCTCGTGCTCGTCGCTGCG IIIIIII""IIIIIIIIIIIIIBIIIIIIIIIIII"IIIIIII000IIII XM:i:0 +Dummy:1:1:1572:270 131 phiX174 3577 255 50M = 3518 -109 ACACCAATCTTTCCAAGCAACAGCAGGTTTCCGAGATTATGCGCCAAATG IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII?I0IIIIHIIIGIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1572:270 67 phiX174 3518 255 50M = 3577 109 TGAGATGCTTGCTTATCAACAGAAGGAGTCTACTGCTCGCGTTGCGTCTA IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII"IIIIIII000IIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1572:324 141 * 0 0 * * 0 0 GCCGCCGCGTGAAATTTCTATGAAGGATGTTTTCCGTTCTGGTGATTCGT IIIIIII""IIIIIIIIIIIIIIIIIIII+7I05I?I0IIIIHIIIGIII XM:i:0 +Dummy:1:1:1572:324 77 * 0 0 * * 0 0 AAGGTGCTTAAATTCGTGGGTCCTGAGCTGGCGACCCTGTTTTGTATGGC IIIIIII""IIIIIIIIIIIIIIIIIIII+7I05I"IIIIIII000IIII XM:i:0 +Dummy:1:1:1578:331 131 phiX174 268 255 50M = 209 -109 AAGGACTGGTTTAGATATGAGTCACATTTTGTTCATGGTAGAGATTCTCT IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII?I0IIIIHIIIGIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1578:331 67 phiX174 209 255 50M = 268 109 TGTCAAAAACTGACGCGTTGGATGAGGAGAAGTGGCTTAATATGCTTGGC IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII"IIIIIII000IIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1582:633 141 * 0 0 * * 0 0 TCTATTGACATTATGGGTCTGCAAGCTGCTTTTTTTTTTTTTTTTTTTTT IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII?I0IIIIHIIIGIII XM:i:0 +Dummy:1:1:1582:633 77 * 0 0 * * 0 0 CCGCTTCCTCCTGAGACTGAGCTTTCTCGCCAAATGACGACTTCTACCAC IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII"IIIIIII000IIII XM:i:0 +Dummy:1:1:1598:534 131 phiX174 1772 255 50M = 1717 -105 TTAGGCCAGTTTTCTGGTCGTGTTCAACAGACCTATAAACATTCTGTGCC IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII?I0IIIIHIIIGIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1598:534 67 phiX174 1717 255 50M = 1772 105 GCGCTCTAATCTCTGGGCATCTGGCTATGATGTTGATGGAACTGACCAAA IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII"IIIIIII000IIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1599:330 131 phiX174 868 255 50M = 803 -115 TTCTGGCGCTCGCCCTGGTCGTCCGCAGCCGTTGCGAGGTACTAAAGGCA IIIIIII""IIIIIIIIIIIIIIIIIII<III@II?I0IIIIHIIIGIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1599:330 67 phiX174 803 255 50M = 868 115 AGAAGAAAACGTGCGTCAAAAATTACGTGCAGAAGGAGTGATGTAATGTC IIIIIII""IIIIIIIIIIIIIIIIIII<III@II"IIIIIII000IIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1616:363 131 phiX174 2773 255 50M = 2718 -105 GTGACTATTGACGTCCTTCCCCGTACGCCGGGCAATAATGTTTATGTTGG IIIIIII""IIIIIIIIIIIIIIIIIIIIIIDIII?I0IIIIHIIIGIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1616:363 67 phiX174 2718 255 50M = 2773 105 TGTTTATCCTTTGAATGGTCGCCATGATGGTGGTTATTATACCGTCAAGG IIIIIII""IIIIIIIIIIIIIIIIIIIIIIDIII"IIIIIII000IIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1629:446 131 phiX174 2355 255 50M = 2301 -104 CAAGCGAAGCGCGGTAGGTTTTCTGCTTAGGAGTTTAATCATGTTTCAGA IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII?I0IIIIHIIIGIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1629:446 67 phiX174 2301 255 50M = 2355 104 AGGTTATAACGCCGAAGCGGTAAAAATTTTAATTTTTGCCGCTGAGGGGT IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII"IIIIIII000IIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1634:330 131 phiX174 4473 255 50M = 4418 -105 TCAAGATTGCTGGAGGCCTCCACTATGAAATCGCGTAGAGGCTTTACTAT IIIIIII""IIIIIIIIIIIIIIIIIIIIIII8II?I0IIIIHIIIGIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1634:330 67 phiX174 4418 255 50M = 4473 105 GGATATTCGCGATGAGTATAATTACCCCAAAAAGAAAGGTATTAAGGATG IIIIIII""IIIIIIIIIIIIIIIIIIIIIII8II"IIIIIII000IIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1647:512 131 phiX174 451 255 50M = 401 -100 TTCAGGCTTCTGCCGTTTTGGATTTAACCGAAGATGATTTCGATTTTCTG IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII?I0IIIIHIIIGIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1647:512 67 phiX174 401 255 50M = 451 100 TACTGAACAATCCGTACGTTTCCAGACCGCTTTGGCCTCTATTAAGCTCA IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII"IIIIIII000IIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1652:270 141 * 0 0 * * 0 0 GCTTCGGCCCCTTACTTGAGGATAAATTATGTCTAATATTCAAACTGGCG IIIIIII""IIIIIIIIIIIIIIIIIIIIIII6II?I0IIIIHIIIGIII XM:i:0 +Dummy:1:1:1652:270 77 * 0 0 * * 0 0 AGCGTAAAGGCGCTCGTCTTTGGTATGTAGGACTTTGCATTGTTTAATTG IIIIIII""IIIIIIIIIIIIIIIIIIIIIII6II"IIIIIII000IIII XM:i:0 +Dummy:1:1:1673:514 131 phiX174 4072 255 50M = 4018 -104 GCATTTCTACTCTTTCTCAATCCCCAATGCTTGGCTTCCATAAGCAGATG IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIII1?I0IIIIHIIIGIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1673:514 67 phiX174 4018 255 50M = 4072 104 ATTATTTTGACTTTGAGCGTATCGAGGCTCTTAAACCTGCTATTGAGGCT IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIII1"IIIIIII000IIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1746:351 141 * 0 0 * * 0 0 CCACTCCTCTCCCGACTGTGTGTGTGTGTGTTTATATTGACCATGCCGCT IIIIIII""IIIIIIIIIIIIIIIIII?I0IIIIHIIIGIIIIIIIIIII XM:i:0 +Dummy:1:1:1746:351 77 * 0 0 * * 0 0 CTCATCGTCACGTTTATGGTGAACAGTGGATTAAGTTCATGAAGGATGGT IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII"IIIIIII000IIII XM:i:0 +Dummy:1:1:1749:466 131 phiX174 2251 255 50M = 2201 -100 GCCGACCACTCGCGATTCAATCATGACTTCGTGATAAAAGATTGAGTGTG IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII?I0IIIIHIIIGIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1749:466 67 phiX174 2201 255 50M = 2251 100 TTGCAGTGGAATAGTCAGGTTAAATTTAATGTGACCGTTTATCGCAATCT IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII"IIIIIII000IIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1761:343 131 phiX174 69 255 50M = 5 -114 TTGATAAAGCAGGAATTACTACTGCTTGTTTACGAATTAAATCGAAGTGG IIIIIII""IIIIIII0II?I""IIIIIIIIIIII?I0IIIIHIIIGIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1761:343 67 phiX174 5 255 50M = 69 114 TTTATCGCTTCCATGACGCAGAAGTTAACACTTTCGGATATTTCTGATGA IIIIIII""IIIIIIIIIII?I0IIIIHIIIGIIIII0II?I""IIIIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1763:587 131 phiX174 2566 255 50M = 2501 -115 CATTGCATTCAGATGGATACATCTGTCAACGCCGCTAATCAGGTTGTTTC IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII?I0IIIIHIIIGIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1763:587 67 phiX174 2501 255 50M = 2566 115 AAGCTACATCGTCAACGTTATATTTTGATAGTTTGACGGTTAATGCTGGT IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII"IIIIIII000IIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1768:715 131 phiX174 3173 255 50M = 3118 -105 AGGACTTCTTGAAGGTACGTTGCAGGCTGGCACTTCTGCCGTTTCTGATA IIIIIII""IIIIIIIIIIIIIDIIIIIIIIIIII?I0IIIIHIIIGIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1768:715 67 phiX174 3118 255 50M = 3173 105 ACCCTGATGAGGCCGCCCCTAGTTTTGTTTCTGGTGCTATGGCTAAAGCT IIIIIII""IIIIIIIIIIIIIDIIIIIIIIIIII"IIIIIII000IIII XA:i:0 MD:Z:50 NM:i:0
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bowtie_remove_rrna_wrapper/test-data/bowtie_out6.sam Wed Feb 23 14:03:33 2022 +0000 @@ -0,0 +1,26 @@ +HWI-EAS91_1_30788AAXX:1:1:1090:409/1 16 chrM 15014 255 36M * 0 0 TTGCCTACGCCATCCTACGCTCCATTCCCAACAAAC I8AII:IIIIIIIIIIIIIIIIIIIII""IIIIIII XA:i:0 MD:Z:36 NM:i:0 +HWI-EAS91_1_30788AAXX:1:1:1199:1376/1 16 chrM 14023 255 36M * 0 0 AAACCCCCATAAATAGGTGAAGGTTTTCCAGAAAAC III/:&GII3III;IIIIIIIIIIIII""IIIIIII XA:i:2 MD:Z:27G0A7 NM:i:2 +HWI-EAS91_1_30788AAXX:1:1:1218:141/1 4 * 0 0 * * 0 0 GTTAAATATTGGGAGTGGGGGGGGGGGGGAGTTTTG IIIIIII""IIIIIIIIIIIIIIIIIIII1IIII+I XM:i:0 +HWI-EAS91_1_30788AAXX:1:1:1269:520/1 16 chrM 11036 255 36M * 0 0 CGACAAACCGATCTAAAATCACTTATTCCATACTCC IIIIIIIIIIIIIIIIIIIIIIIIIII""IIIIIII XA:i:1 MD:Z:27G8 NM:i:1 +HWI-EAS91_1_30788AAXX:1:1:1303:1162/1 16 chrM 14866 255 36M * 0 0 AAAGACATCCTAGGACTCCTCCTCCTGCCCTTGCTC I6I3,'94IIAI(IAIGI*4IIFIIII""IIIIIII XA:i:2 MD:Z:27A0T7 NM:i:2 +HWI-EAS91_1_30788AAXX:1:1:1310:991/1 16 chrM 10002 255 36M * 0 0 CTCCTATGCCTAGAAGGAATAATACTACCACTATTC I:2IEI:IIDIIIIII4IIIIIIIIII""IIIIIII XA:i:1 MD:Z:27T8 NM:i:1 +HWI-EAS91_1_30788AAXX:1:1:1336:1000/1 16 chrM 11616 255 36M * 0 0 GATCTAGAAACAGAAACTTAATATTTCCCATTTACC II9IIIIIIIIIIIIIIIIIIIIIIII""IIIIIII XA:i:2 MD:Z:27T0T7 NM:i:2 +HWI-EAS91_1_30788AAXX:1:1:1398:854/1 16 chrM 3921 255 36M * 0 0 CACCCTTCCCGTACTAATAAATCCCCTCCTCTTCAC IIIII=AIIIIIIIIIIIIIIBIIIII""IIIIIII XA:i:2 MD:Z:27T0A7 NM:i:2 +HWI-EAS91_1_30788AAXX:1:1:1442:1346/1 16 chrM 9331 255 36M * 0 0 CAGCCACCACTTCGGATTCGAAGCAGCCCCTTGATA &,*II-<?<II4I(I1IIIIIDIIIII""IIIIIII XA:i:1 MD:Z:28G7 NM:i:1 +HWI-EAS91_1_30788AAXX:1:1:1454:975/1 16 chrM 8929 255 36M * 0 0 TGGCTTCTTCTGAGCCTTTTACCACTCCCGCCTAGC IIIIIII;GIEIIIIIIIIIIIIIIII""IIIIIII XA:i:2 MD:Z:27A0A7 NM:i:2 +HWI-EAS91_1_30788AAXX:1:1:1461:255/1 0 chrM 12988 255 36M * 0 0 GTACACCGGCGCCTGAGCCCTACTAATAACTCTCAT IIIIIII""IIIIII9IIIIIIEI(II9.I4III,I XA:i:2 MD:Z:7A0A27 NM:i:2 +HWI-EAS91_1_30788AAXX:1:1:1491:637/1 16 chrM 10864 255 36M * 0 0 TGTAGAAGCCCCAATTGCCGGATCCATCCTGCTAGC DBAIIIIIIIIIIIFIIIIIIIIIIII""IIIIIII XA:i:2 MD:Z:27A0G7 NM:i:2 +HWI-EAS91_1_30788AAXX:1:1:1513:715/1 16 chrM 9563 255 36M * 0 0 CTGACTACCACAACTAAACATCTATGCCCAAAAAAC I+-II?IDIIIIIIIIIIIIIIIIIII""IIIIIII XA:i:2 MD:Z:27A0G7 NM:i:2 +HWI-EAS91_1_30788AAXX:1:1:1598:1148/1 16 chrM 2334 255 36M * 0 0 AAATATATAATCACTTATTGATCCAAACCATTGATC IIIIIHI=IICIII?IIIIIIDIIIII""IIIIIII XA:i:0 MD:Z:36 NM:i:0 +HWI-EAS91_1_30788AAXX:1:1:1601:805/1 0 chrM 12584 255 36M * 0 0 GAAAACAGGAAAACAATCCAGTCACTTACCCTATGC IIIIIII""IIIIIIIIIIIIIIIIIIIIIII@III XA:i:2 MD:Z:7A0C27 NM:i:2 +HWI-EAS91_1_30788AAXX:1:1:1630:59/1 16 chrM 12387 255 36M * 0 0 TCATACTCGACCCCAACCTTACCAACCCCCCGCTCC FIIHII;IIIIIIIIIIIIIIIIIIII""IIIIIII XA:i:1 MD:Z:27T8 NM:i:1 +HWI-EAS91_1_30788AAXX:1:1:1634:211/1 0 chrM 9350 255 36M * 0 0 GAAGCAGGGGCTTGATACTGACACTTCGTCGACGTA IIIIIII""IIIIIIIIIIIIIIIIIIIIII9IIDF XA:i:2 MD:Z:7C0C27 NM:i:2 +HWI-EAS91_1_30788AAXX:1:1:1663:724/1 0 chrM 15012 255 36M * 0 0 GTTTGCCGGCGCCATCCTACGCTCCATTCCCAACAA IIIIIII""IIII8IIIIIIHIIII6IIIII1CI=3 XA:i:2 MD:Z:7T0A27 NM:i:2 +HWI-EAS91_1_30788AAXX:1:1:1698:516/1 16 chrM 2735 255 36M * 0 0 TTTACACTCAGAGGTTCAACTCCTCTCCCTAACAAC I9IIIII5IIIIIIIIIIIIIIIIIII""IIIIIII XA:i:0 MD:Z:36 NM:i:0 +HWI-EAS91_1_30788AAXX:1:1:1711:249/1 16 chrM 10617 255 36M * 0 0 ACCAAACAGAACGCCTGAACGCAGGCCCCTACTTCC IIIIIIIIIIIIIIIIIIIIIIIIIII""IIIIIII XA:i:1 MD:Z:27T8 NM:i:1 +HWI-EAS91_1_30788AAXX:1:1:1716:413/1 0 chrM 6040 255 36M * 0 0 GATCCAAGGCTTTATCAACACCTATTCTGATTCTTC IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIIII XA:i:2 MD:Z:7T0C27 NM:i:2 +HWI-EAS91_1_30788AAXX:1:1:1723:1459/1 16 chrM 15787 255 36M * 0 0 ATCCTCGCTCCGGGCCCATCCAAACGTCCGGGTTTC I=II-IIH9IIIIIIIIIDIIIIIIII""IIIIIII XA:i:2 MD:Z:27G0G7 NM:i:2 +HWI-EAS91_1_30788AAXX:1:1:1775:764/1 0 chrM 16613 255 36M * 0 0 GCATCCCGGTAGATCTAATTTTCTAAATCTGTCAAC IIIIIII""III@IIII+IIIIII8H8IIIIIIICI XA:i:2 MD:Z:7C0C27 NM:i:2 +HWI-EAS91_1_30788AAXX:1:1:795:325/1 16 chrM 4249 255 36M * 0 0 AAACTTGGACTCACACCATTCCACTTCCCAGTACCC IIII56IIIIIIIIIIIIIIIIIIIII""IIIIIII XA:i:2 MD:Z:27T0G7 NM:i:2 +HWI-EAS91_1_30788AAXX:1:1:850:117/1 16 chrM 5540 255 36M * 0 0 CCCATGCATTCGTAATAATTTTCTTTACCGTCATAC ?:;I9DDIBEIIIIIIIIEIEIIIIII""IIIIIII XA:i:2 MD:Z:27T0G7 NM:i:2 +HWI-EAS91_1_30788AAXX:1:1:873:453/1 16 chrM 3188 255 36M * 0 0 ATCTCATACGAAGTAACTCTAGCAATCCCCCTACTC I=IIIIIII@IIIIIIIIIIIIIIIII""IIIIIII XA:i:2 MD:Z:27A0T7 NM:i:2
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bowtie_remove_rrna_wrapper/test-data/bowtie_out7.sam Wed Feb 23 14:03:33 2022 +0000 @@ -0,0 +1,36 @@ +Dummy:1:1:1570:620 141 * 0 0 * * 0 0 CTTGCGTTTATGGTACGCTGGACTTTGTGGGATACCCTCGCTTTCCTGCT IIIIIII""IIIIIIIIIIIIIBIIIIIIIIIIII?I0IIIIHIIIGIII XM:i:0 +Dummy:1:1:1570:620 77 * 0 0 * * 0 0 GAGTAACAAAGTAAAGTTTGGACCGTTTTTGTCTCGTGCTCGTCGCTGCG IIIIIII""IIIIIIIIIIIIIBIIIIIIIIIIII"IIIIIII000IIII XM:i:0 +Dummy:1:1:1572:270 131 phiX174 3577 255 50M = 3518 -109 ACACCAATCTTTCCAAGCAACAGCAGGTTTCCGAGATTATGCGCCAAATG IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII?I0IIIIHIIIGIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1572:270 67 phiX174 3518 255 50M = 3577 109 TGAGATGCTTGCTTATCAACAGAAGGAGTCTACTGCTCGCGTTGCGTCTA IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII"IIIIIII000IIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1572:324 141 * 0 0 * * 0 0 GCCGCCGCGTGAAATTTCTATGAAGGATGTTTTCCGTTCTGGTGATTCGT IIIIIII""IIIIIIIIIIIIIIIIIIII+7I05I?I0IIIIHIIIGIII XM:i:0 +Dummy:1:1:1572:324 77 * 0 0 * * 0 0 AAGGTGCTTAAATTCGTGGGTCCTGAGCTGGCGACCCTGTTTTGTATGGC IIIIIII""IIIIIIIIIIIIIIIIIIII+7I05I"IIIIIII000IIII XM:i:0 +Dummy:1:1:1578:331 131 phiX174 268 255 50M = 209 -109 AAGGACTGGTTTAGATATGAGTCACATTTTGTTCATGGTAGAGATTCTCT IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII?I0IIIIHIIIGIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1578:331 67 phiX174 209 255 50M = 268 109 TGTCAAAAACTGACGCGTTGGATGAGGAGAAGTGGCTTAATATGCTTGGC IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII"IIIIIII000IIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1582:633 141 * 0 0 * * 0 0 TCTATTGACATTATGGGTCTGCAAGCTGCTTTTTTTTTTTTTTTTTTTTT IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII?I0IIIIHIIIGIII XM:i:0 +Dummy:1:1:1582:633 77 * 0 0 * * 0 0 CCGCTTCCTCCTGAGACTGAGCTTTCTCGCCAAATGACGACTTCTACCAC IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII"IIIIIII000IIII XM:i:0 +Dummy:1:1:1598:534 131 phiX174 1772 255 50M = 1717 -105 TTAGGCCAGTTTTCTGGTCGTGTTCAACAGACCTATAAACATTCTGTGCC IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII?I0IIIIHIIIGIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1598:534 67 phiX174 1717 255 50M = 1772 105 GCGCTCTAATCTCTGGGCATCTGGCTATGATGTTGATGGAACTGACCAAA IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII"IIIIIII000IIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1599:330 131 phiX174 868 255 50M = 803 -115 TTCTGGCGCTCGCCCTGGTCGTCCGCAGCCGTTGCGAGGTACTAAAGGCA IIIIIII""IIIIIIIIIIIIIIIIIII<III@II?I0IIIIHIIIGIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1599:330 67 phiX174 803 255 50M = 868 115 AGAAGAAAACGTGCGTCAAAAATTACGTGCAGAAGGAGTGATGTAATGTC IIIIIII""IIIIIIIIIIIIIIIIIII<III@II"IIIIIII000IIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1616:363 131 phiX174 2773 255 50M = 2718 -105 GTGACTATTGACGTCCTTCCCCGTACGCCGGGCAATAATGTTTATGTTGG IIIIIII""IIIIIIIIIIIIIIIIIIIIIIDIII?I0IIIIHIIIGIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1616:363 67 phiX174 2718 255 50M = 2773 105 TGTTTATCCTTTGAATGGTCGCCATGATGGTGGTTATTATACCGTCAAGG IIIIIII""IIIIIIIIIIIIIIIIIIIIIIDIII"IIIIIII000IIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1629:446 131 phiX174 2355 255 50M = 2301 -104 CAAGCGAAGCGCGGTAGGTTTTCTGCTTAGGAGTTTAATCATGTTTCAGA IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII?I0IIIIHIIIGIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1629:446 67 phiX174 2301 255 50M = 2355 104 AGGTTATAACGCCGAAGCGGTAAAAATTTTAATTTTTGCCGCTGAGGGGT IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII"IIIIIII000IIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1634:330 131 phiX174 4473 255 50M = 4418 -105 TCAAGATTGCTGGAGGCCTCCACTATGAAATCGCGTAGAGGCTTTACTAT IIIIIII""IIIIIIIIIIIIIIIIIIIIIII8II?I0IIIIHIIIGIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1634:330 67 phiX174 4418 255 50M = 4473 105 GGATATTCGCGATGAGTATAATTACCCCAAAAAGAAAGGTATTAAGGATG IIIIIII""IIIIIIIIIIIIIIIIIIIIIII8II"IIIIIII000IIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1647:512 131 phiX174 451 255 50M = 401 -100 TTCAGGCTTCTGCCGTTTTGGATTTAACCGAAGATGATTTCGATTTTCTG IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII?I0IIIIHIIIGIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1647:512 67 phiX174 401 255 50M = 451 100 TACTGAACAATCCGTACGTTTCCAGACCGCTTTGGCCTCTATTAAGCTCA IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII"IIIIIII000IIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1652:270 141 * 0 0 * * 0 0 GCTTCGGCCCCTTACTTGAGGATAAATTATGTCTAATATTCAAACTGGCG IIIIIII""IIIIIIIIIIIIIIIIIIIIIII6II?I0IIIIHIIIGIII XM:i:0 +Dummy:1:1:1652:270 77 * 0 0 * * 0 0 AGCGTAAAGGCGCTCGTCTTTGGTATGTAGGACTTTGCATTGTTTAATTG IIIIIII""IIIIIIIIIIIIIIIIIIIIIII6II"IIIIIII000IIII XM:i:0 +Dummy:1:1:1673:514 131 phiX174 4072 255 50M = 4018 -104 GCATTTCTACTCTTTCTCAATCCCCAATGCTTGGCTTCCATAAGCAGATG IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIII1?I0IIIIHIIIGIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1673:514 67 phiX174 4018 255 50M = 4072 104 ATTATTTTGACTTTGAGCGTATCGAGGCTCTTAAACCTGCTATTGAGGCT IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIII1"IIIIIII000IIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1746:351 141 * 0 0 * * 0 0 CCACTCCTCTCCCGACTGTGTGTGTGTGTGTTTATATTGACCATGCCGCT IIIIIII""IIIIIIIIIIIIIIIIII?I0IIIIHIIIGIIIIIIIIIII XM:i:0 +Dummy:1:1:1746:351 77 * 0 0 * * 0 0 CTCATCGTCACGTTTATGGTGAACAGTGGATTAAGTTCATGAAGGATGGT IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII"IIIIIII000IIII XM:i:0 +Dummy:1:1:1749:466 131 phiX174 2251 255 50M = 2201 -100 GCCGACCACTCGCGATTCAATCATGACTTCGTGATAAAAGATTGAGTGTG IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII?I0IIIIHIIIGIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1749:466 67 phiX174 2201 255 50M = 2251 100 TTGCAGTGGAATAGTCAGGTTAAATTTAATGTGACCGTTTATCGCAATCT IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII"IIIIIII000IIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1761:343 131 phiX174 69 255 50M = 5 -114 TTGATAAAGCAGGAATTACTACTGCTTGTTTACGAATTAAATCGAAGTGG IIIIIII""IIIIIII0II?I""IIIIIIIIIIII?I0IIIIHIIIGIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1761:343 67 phiX174 5 255 50M = 69 114 TTTATCGCTTCCATGACGCAGAAGTTAACACTTTCGGATATTTCTGATGA IIIIIII""IIIIIIIIIII?I0IIIIHIIIGIIIII0II?I""IIIIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1763:587 131 phiX174 2566 255 50M = 2501 -115 CATTGCATTCAGATGGATACATCTGTCAACGCCGCTAATCAGGTTGTTTC IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII?I0IIIIHIIIGIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1763:587 67 phiX174 2501 255 50M = 2566 115 AAGCTACATCGTCAACGTTATATTTTGATAGTTTGACGGTTAATGCTGGT IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII"IIIIIII000IIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1768:715 131 phiX174 3173 255 50M = 3118 -105 AGGACTTCTTGAAGGTACGTTGCAGGCTGGCACTTCTGCCGTTTCTGATA IIIIIII""IIIIIIIIIIIIIDIIIIIIIIIIII?I0IIIIHIIIGIII XA:i:0 MD:Z:50 NM:i:0 +Dummy:1:1:1768:715 67 phiX174 3118 255 50M = 3173 105 ACCCTGATGAGGCCGCCCCTAGTTTTGTTTCTGGTGCTATGGCTAAAGCT IIIIIII""IIIIIIIIIIIIIDIIIIIIIIIIII"IIIIIII000IIII XA:i:0 MD:Z:50 NM:i:0
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bowtie_remove_rrna_wrapper/test-data/bowtie_out8_1.fastq Wed Feb 23 14:03:33 2022 +0000 @@ -0,0 +1,20 @@ ++ ++ ++ ++ ++ +@Dummy:1:1:1570:620/1 +@Dummy:1:1:1572:324/1 +@Dummy:1:1:1582:633/1 +@Dummy:1:1:1652:270/1 +@Dummy:1:1:1746:351/1 +AAGGTGCTTaaaTTCgtGGGTCCTGAGCTGGCGACCCTGTTTTGTATGGC +AGCGTAAAGGCGCTCGTCTTTGGTATGTAGGacTTTGCATTGTTTAATTG +CCGCTTCCTCCTGAGACTGAGCTTTCTCGCCAAATGACGACTTCTACCAC +CTCATCGTCACGTTTATGGTGAACAGTGGATTAAGTTCATGAAGGATGGT +GAGTAACAAAGTaaaGTTTGGAccGTTTTTGTCTCGTGCTCGTCGCTGCG +IIIIIII""IIIIIIIIIIIIIBIIIIIIIIIIII"IIIIIII000IIII +IIIIIII""IIIIIIIIIIIIIIIIIIII+7I05I"IIIIIII000IIII +IIIIIII""IIIIIIIIIIIIIIIIIIIIIII6II"IIIIIII000IIII +IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII"IIIIIII000IIII +IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII"IIIIIII000IIII
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bowtie_remove_rrna_wrapper/test-data/bowtie_out8_1.fastqillumina.sorted Wed Feb 23 14:03:33 2022 +0000 @@ -0,0 +1,20 @@ ++ ++ ++ ++ ++ +@Dummy:1:1:1570:620/1 +@Dummy:1:1:1572:324/1 +@Dummy:1:1:1582:633/1 +@Dummy:1:1:1652:270/1 +@Dummy:1:1:1746:351/1 +AAGGTGCTTaaaTTCgtGGGTCCTGAGCTGGCGACCCTGTTTTGTATGGC +AGCGTAAAGGCGCTCGTCTTTGGTATGTAGGacTTTGCATTGTTTAATTG +CCGCTTCCTCCTGAGACTGAGCTTTCTCGCCAAATGACGACTTCTACCAC +CTCATCGTCACGTTTATGGTGAACAGTGGATTAAGTTCATGAAGGATGGT +GAGTAACAAAGTaaaGTTTGGAccGTTTTTGTCTCGTGCTCGTCGCTGCG +hhhhhhhAAhhhhhhhhhhhhhahhhhhhhhhhhhAhhhhhhhOOOhhhh +hhhhhhhAAhhhhhhhhhhhhhhhhhhhhJVhOThAhhhhhhhOOOhhhh +hhhhhhhAAhhhhhhhhhhhhhhhhhhhhhhhUhhAhhhhhhhOOOhhhh +hhhhhhhAAhhhhhhhhhhhhhhhhhhhhhhhhhhAhhhhhhhOOOhhhh +hhhhhhhAAhhhhhhhhhhhhhhhhhhhhhhhhhhAhhhhhhhOOOhhhh
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bowtie_remove_rrna_wrapper/test-data/bowtie_out8_1.fastqsolexa.sorted Wed Feb 23 14:03:33 2022 +0000 @@ -0,0 +1,20 @@ ++ ++ ++ ++ ++ +@Dummy:1:1:1570:620/1 +@Dummy:1:1:1572:324/1 +@Dummy:1:1:1582:633/1 +@Dummy:1:1:1652:270/1 +@Dummy:1:1:1746:351/1 +AAGGTGCTTaaaTTCgtGGGTCCTGAGCTGGCGACCCTGTTTTGTATGGC +AGCGTAAAGGCGCTCGTCTTTGGTATGTAGGacTTTGCATTGTTTAATTG +CCGCTTCCTCCTGAGACTGAGCTTTCTCGCCAAATGACGACTTCTACCAC +CTCATCGTCACGTTTATGGTGAACAGTGGATTAAGTTCATGAAGGATGGT +GAGTAACAAAGTaaaGTTTGGAccGTTTTTGTCTCGTGCTCGTCGCTGCG +hhhhhhh;;hhhhhhhhhhhhhahhhhhhhhhhhh;hhhhhhhOOOhhhh +hhhhhhh;;hhhhhhhhhhhhhhhhhhhhJVhOTh;hhhhhhhOOOhhhh +hhhhhhh;;hhhhhhhhhhhhhhhhhhhhhhhUhh;hhhhhhhOOOhhhh +hhhhhhh;;hhhhhhhhhhhhhhhhhhhhhhhhhh;hhhhhhhOOOhhhh +hhhhhhh;;hhhhhhhhhhhhhhhhhhhhhhhhhh;hhhhhhhOOOhhhh
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bowtie_remove_rrna_wrapper/test-data/bowtie_out8_2.fastq Wed Feb 23 14:03:33 2022 +0000 @@ -0,0 +1,20 @@ ++ ++ ++ ++ ++ +@Dummy:1:1:1570:620/2 +@Dummy:1:1:1572:324/2 +@Dummy:1:1:1582:633/2 +@Dummy:1:1:1652:270/2 +@Dummy:1:1:1746:351/2 +CCACTCCTCTCCCGACTGTGTGTGTGTGTGTTTATATTGACCATGCCGCT +CTTGCGTTTATGGTACGCTGGACTTTGTGGGATACCCTCGCTTTCCTGCT +GCCGCCGCGTGAAATTTCTATGAAGGATGTTTTCCGTTCTGGTGATTCGT +GCTTCGGCCCCTTACTTGAGGATAAATTATGTCTAATATTCAAACTGGCG +IIIIIII""IIIIIIIIIIIIIBIIIIIIIIIIII?I0IIIIHIIIGIII +IIIIIII""IIIIIIIIIIIIIIIIII?I0IIIIHIIIGIIIIIIIIIII +IIIIIII""IIIIIIIIIIIIIIIIIIII+7I05I?I0IIIIHIIIGIII +IIIIIII""IIIIIIIIIIIIIIIIIIIIIII6II?I0IIIIHIIIGIII +IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIII?I0IIIIHIIIGIII +TCTATTGACATTATGGGTCTGCAAGCTGCTTTTTTTTTTTTTTTTTTTTT
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bowtie_remove_rrna_wrapper/test-data/bowtie_out8_2.fastqillumina.sorted Wed Feb 23 14:03:33 2022 +0000 @@ -0,0 +1,20 @@ ++ ++ ++ ++ ++ +@Dummy:1:1:1570:620/2 +@Dummy:1:1:1572:324/2 +@Dummy:1:1:1582:633/2 +@Dummy:1:1:1652:270/2 +@Dummy:1:1:1746:351/2 +CCACTCCTCTCCCGACTGTGTGTGTGTGTGTTTATATTGACCATGCCGCT +CTTGCGTTTATGGTACGCTGGACTTTGTGGGATACCCTCGCTTTCCTGCT +GCCGCCGCGTGAAATTTCTATGAAGGATGTTTTCCGTTCTGGTGATTCGT +GCTTCGGCCCCTTACTTGAGGATAAATTATGTCTAATATTCAAACTGGCG +TCTATTGACATTATGGGTCTGCAAGCTGCTTTTTTTTTTTTTTTTTTTTT +hhhhhhhAAhhhhhhhhhhhhhahhhhhhhhhhhh^hOhhhhghhhfhhh +hhhhhhhAAhhhhhhhhhhhhhhhhhh^hOhhhhghhhfhhhhhhhhhhh +hhhhhhhAAhhhhhhhhhhhhhhhhhhhhJVhOTh^hOhhhhghhhfhhh +hhhhhhhAAhhhhhhhhhhhhhhhhhhhhhhhUhh^hOhhhhghhhfhhh +hhhhhhhAAhhhhhhhhhhhhhhhhhhhhhhhhhh^hOhhhhghhhfhhh
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bowtie_remove_rrna_wrapper/test-data/bowtie_out8_2.fastqsolexa.sorted Wed Feb 23 14:03:33 2022 +0000 @@ -0,0 +1,20 @@ ++ ++ ++ ++ ++ +@Dummy:1:1:1570:620/2 +@Dummy:1:1:1572:324/2 +@Dummy:1:1:1582:633/2 +@Dummy:1:1:1652:270/2 +@Dummy:1:1:1746:351/2 +CCACTCCTCTCCCGACTGTGTGTGTGTGTGTTTATATTGACCATGCCGCT +CTTGCGTTTATGGTACGCTGGACTTTGTGGGATACCCTCGCTTTCCTGCT +GCCGCCGCGTGAAATTTCTATGAAGGATGTTTTCCGTTCTGGTGATTCGT +GCTTCGGCCCCTTACTTGAGGATAAATTATGTCTAATATTCAAACTGGCG +TCTATTGACATTATGGGTCTGCAAGCTGCTTTTTTTTTTTTTTTTTTTTT +hhhhhhh;;hhhhhhhhhhhhhahhhhhhhhhhhh^hOhhhhghhhfhhh +hhhhhhh;;hhhhhhhhhhhhhhhhhh^hOhhhhghhhfhhhhhhhhhhh +hhhhhhh;;hhhhhhhhhhhhhhhhhhhhJVhOTh^hOhhhhghhhfhhh +hhhhhhh;;hhhhhhhhhhhhhhhhhhhhhhhUhh^hOhhhhghhhfhhh +hhhhhhh;;hhhhhhhhhhhhhhhhhhhhhhhhhh^hOhhhhghhhfhhh
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bowtie_remove_rrna_wrapper/test-data/bowtie_out9.sam Wed Feb 23 14:03:33 2022 +0000 @@ -0,0 +1,26 @@ +HWI-EAS91_1_30788AAXX:1:1:1090:409/1 16 chrM 15014 255 36M * 0 0 TTGCCTACGCCATCCTACGCTCCATTCCCAACAAAC I8AII:IIIIIIIIIIIIIIIIIIIII""IIIIIII XA:i:0 MD:Z:36 NM:i:0 +HWI-EAS91_1_30788AAXX:1:1:1199:1376/1 16 chrM 14023 255 36M * 0 0 AAACCCCCATAAATAGGTGAAGGTTTTCCAGAAAAC III/:&GII3III;IIIIIIIIIIIII""IIIIIII XA:i:2 MD:Z:27G0A7 NM:i:2 +HWI-EAS91_1_30788AAXX:1:1:1218:141/1 4 * 0 0 * * 0 0 GTTAAATATTGGGAGTGGGGGGGGGGGGGAGTTTTG IIIIIII""IIIIIIIIIIIIIIIIIIII1IIII+I XM:i:0 +HWI-EAS91_1_30788AAXX:1:1:1269:520/1 16 chrM 11036 255 36M * 0 0 CGACAAACCGATCTAAAATCACTTATTCCATACTCC IIIIIIIIIIIIIIIIIIIIIIIIIII""IIIIIII XA:i:1 MD:Z:27G8 NM:i:1 +HWI-EAS91_1_30788AAXX:1:1:1303:1162/1 16 chrM 14866 255 36M * 0 0 AAAGACATCCTAGGACTCCTCCTCCTGCCCTTGCTC I6I3,'94IIAI(IAIGI*4IIFIIII""IIIIIII XA:i:2 MD:Z:27A0T7 NM:i:2 +HWI-EAS91_1_30788AAXX:1:1:1310:991/1 16 chrM 10002 255 36M * 0 0 CTCCTATGCCTAGAAGGAATAATACTACCACTATTC I:2IEI:IIDIIIIII4IIIIIIIIII""IIIIIII XA:i:1 MD:Z:27T8 NM:i:1 +HWI-EAS91_1_30788AAXX:1:1:1336:1000/1 16 chrM 11616 255 36M * 0 0 GATCTAGAAACAGAAACTTAATATTTCCCATTTACC II9IIIIIIIIIIIIIIIIIIIIIIII""IIIIIII XA:i:2 MD:Z:27T0T7 NM:i:2 +HWI-EAS91_1_30788AAXX:1:1:1398:854/1 16 chrM 3921 255 36M * 0 0 CACCCTTCCCGTACTAATAAATCCCCTCCTCTTCAC IIIII=AIIIIIIIIIIIIIIBIIIII""IIIIIII XA:i:2 MD:Z:27T0A7 NM:i:2 +HWI-EAS91_1_30788AAXX:1:1:1442:1346/1 16 chrM 9331 255 36M * 0 0 CAGCCACCACTTCGGATTCGAAGCAGCCCCTTGATA &,*II-<?<II4I(I1IIIIIDIIIII""IIIIIII XA:i:1 MD:Z:28G7 NM:i:1 +HWI-EAS91_1_30788AAXX:1:1:1454:975/1 16 chrM 8929 255 36M * 0 0 TGGCTTCTTCTGAGCCTTTTACCACTCCCGCCTAGC IIIIIII;GIEIIIIIIIIIIIIIIII""IIIIIII XA:i:2 MD:Z:27A0A7 NM:i:2 +HWI-EAS91_1_30788AAXX:1:1:1461:255/1 0 chrM 12988 255 36M * 0 0 GTACACCGGCGCCTGAGCCCTACTAATAACTCTCAT IIIIIII""IIIIII9IIIIIIEI(II9.I4III,I XA:i:2 MD:Z:7A0A27 NM:i:2 +HWI-EAS91_1_30788AAXX:1:1:1491:637/1 16 chrM 10864 255 36M * 0 0 TGTAGAAGCCCCAATTGCCGGATCCATCCTGCTAGC DBAIIIIIIIIIIIFIIIIIIIIIIII""IIIIIII XA:i:2 MD:Z:27A0G7 NM:i:2 +HWI-EAS91_1_30788AAXX:1:1:1513:715/1 16 chrM 9563 255 36M * 0 0 CTGACTACCACAACTAAACATCTATGCCCAAAAAAC I+-II?IDIIIIIIIIIIIIIIIIIII""IIIIIII XA:i:2 MD:Z:27A0G7 NM:i:2 +HWI-EAS91_1_30788AAXX:1:1:1598:1148/1 16 chrM 2334 255 36M * 0 0 AAATATATAATCACTTATTGATCCAAACCATTGATC IIIIIHI=IICIII?IIIIIIDIIIII""IIIIIII XA:i:0 MD:Z:36 NM:i:0 +HWI-EAS91_1_30788AAXX:1:1:1601:805/1 0 chrM 12584 255 36M * 0 0 GAAAACAGGAAAACAATCCAGTCACTTACCCTATGC IIIIIII""IIIIIIIIIIIIIIIIIIIIIII@III XA:i:2 MD:Z:7A0C27 NM:i:2 +HWI-EAS91_1_30788AAXX:1:1:1630:59/1 16 chrM 12387 255 36M * 0 0 TCATACTCGACCCCAACCTTACCAACCCCCCGCTCC FIIHII;IIIIIIIIIIIIIIIIIIII""IIIIIII XA:i:1 MD:Z:27T8 NM:i:1 +HWI-EAS91_1_30788AAXX:1:1:1634:211/1 0 chrM 9350 255 36M * 0 0 GAAGCAGGGGCTTGATACTGACACTTCGTCGACGTA IIIIIII""IIIIIIIIIIIIIIIIIIIIII9IIDF XA:i:2 MD:Z:7C0C27 NM:i:2 +HWI-EAS91_1_30788AAXX:1:1:1663:724/1 0 chrM 15012 255 36M * 0 0 GTTTGCCGGCGCCATCCTACGCTCCATTCCCAACAA IIIIIII""IIII8IIIIIIHIIII6IIIII1CI=3 XA:i:2 MD:Z:7T0A27 NM:i:2 +HWI-EAS91_1_30788AAXX:1:1:1698:516/1 16 chrM 2735 255 36M * 0 0 TTTACACTCAGAGGTTCAACTCCTCTCCCTAACAAC I9IIIII5IIIIIIIIIIIIIIIIIII""IIIIIII XA:i:0 MD:Z:36 NM:i:0 +HWI-EAS91_1_30788AAXX:1:1:1711:249/1 16 chrM 10617 255 36M * 0 0 ACCAAACAGAACGCCTGAACGCAGGCCCCTACTTCC IIIIIIIIIIIIIIIIIIIIIIIIIII""IIIIIII XA:i:1 MD:Z:27T8 NM:i:1 +HWI-EAS91_1_30788AAXX:1:1:1716:413/1 0 chrM 6040 255 36M * 0 0 GATCCAAGGCTTTATCAACACCTATTCTGATTCTTC IIIIIII""IIIIIIIIIIIIIIIIIIIIIIIIIII XA:i:2 MD:Z:7T0C27 NM:i:2 +HWI-EAS91_1_30788AAXX:1:1:1723:1459/1 16 chrM 15787 255 36M * 0 0 ATCCTCGCTCCGGGCCCATCCAAACGTCCGGGTTTC I=II-IIH9IIIIIIIIIDIIIIIIII""IIIIIII XA:i:2 MD:Z:27G0G7 NM:i:2 +HWI-EAS91_1_30788AAXX:1:1:1775:764/1 0 chrM 16613 255 36M * 0 0 GCATCCCGGTAGATCTAATTTTCTAAATCTGTCAAC IIIIIII""III@IIII+IIIIII8H8IIIIIIICI XA:i:2 MD:Z:7C0C27 NM:i:2 +HWI-EAS91_1_30788AAXX:1:1:795:325/1 16 chrM 4249 255 36M * 0 0 AAACTTGGACTCACACCATTCCACTTCCCAGTACCC IIII56IIIIIIIIIIIIIIIIIIIII""IIIIIII XA:i:2 MD:Z:27T0G7 NM:i:2 +HWI-EAS91_1_30788AAXX:1:1:850:117/1 16 chrM 5540 255 36M * 0 0 CCCATGCATTCGTAATAATTTTCTTTACCGTCATAC ?:;I9DDIBEIIIIIIIIEIEIIIIII""IIIIIII XA:i:2 MD:Z:27T0G7 NM:i:2 +HWI-EAS91_1_30788AAXX:1:1:873:453/1 16 chrM 3188 255 36M * 0 0 ATCTCATACGAAGTAACTCTAGCAATCCCCCTACTC I=IIIIIII@IIIIIIIIIIIIIIIII""IIIIIII XA:i:2 MD:Z:27A0T7 NM:i:2
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bowtie_remove_rrna_wrapper/test-data/phiX.fasta Wed Feb 23 14:03:33 2022 +0000 @@ -0,0 +1,79 @@ +>phiX174 +GAGTTTTATCGCTTCCATGACGCAGAAGTTAACACTTTCGGATATTTCTGATGAGTCGAAAAATTATCTT +GATAAAGCAGGAATTACTACTGCTTGTTTACGAATTAAATCGAAGTGGACTGCTGGCGGAAAATGAGAAA +ATTCGACCTATCCTTGCGCAGCTCGAGAAGCTCTTACTTTGCGACCTTTCGCCATCAACTAACGATTCTG +TCAAAAACTGACGCGTTGGATGAGGAGAAGTGGCTTAATATGCTTGGCACGTTCGTCAAGGACTGGTTTA +GATATGAGTCACATTTTGTTCATGGTAGAGATTCTCTTGTTGACATTTTAAAAGAGCGTGGATTACTATC +TGAGTCCGATGCTGTTCAACCACTAATAGGTAAGAAATCATGAGTCAAGTTACTGAACAATCCGTACGTT +TCCAGACCGCTTTGGCCTCTATTAAGCTCATTCAGGCTTCTGCCGTTTTGGATTTAACCGAAGATGATTT +CGATTTTCTGACGAGTAACAAAGTTTGGATTGCTACTGACCGCTCTCGTGCTCGTCGCTGCGTTGAGGCT +TGCGTTTATGGTACGCTGGACTTTGTGGGATACCCTCGCTTTCCTGCTCCTGTTGAGTTTATTGCTGCCG +TCATTGCTTATTATGTTCATCCCGTCAACATTCAAACGGCCTGTCTCATCATGGAAGGCGCTGAATTTAC +GGAAAACATTATTAATGGCGTCGAGCGTCCGGTTAAAGCCGCTGAATTGTTCGCGTTTACCTTGCGTGTA +CGCGCAGGAAACACTGACGTTCTTACTGACGCAGAAGAAAACGTGCGTCAAAAATTACGTGCAGAAGGAG +TGATGTAATGTCTAAAGGTAAAAAACGTTCTGGCGCTCGCCCTGGTCGTCCGCAGCCGTTGCGAGGTACT +AAAGGCAAGCGTAAAGGCGCTCGTCTTTGGTATGTAGGTGGTCAACAATTTTAATTGCAGGGGCTTCGGC +CCCTTACTTGAGGATAAATTATGTCTAATATTCAAACTGGCGCCGAGCGTATGCCGCATGACCTTTCCCA +TCTTGGCTTCCTTGCTGGTCAGATTGGTCGTCTTATTACCATTTCAACTACTCCGGTTATCGCTGGCGAC +TCCTTCGAGATGGACGCCGTTGGCGCTCTCCGTCTTTCTCCATTGCGTCGTGGCCTTGCTATTGACTCTA +CTGTAGACATTTTTACTTTTTATGTCCCTCATCGTCACGTTTATGGTGAACAGTGGATTAAGTTCATGAA +GGATGGTGTTAATGCCACTCCTCTCCCGACTGTTAACACTACTGGTTATATTGACCATGCCGCTTTTCTT +GGCACGATTAACCCTGATACCAATAAAATCCCTAAGCATTTGTTTCAGGGTTATTTGAATATCTATAACA +ACTATTTTAAAGCGCCGTGGATGCCTGACCGTACCGAGGCTAACCCTAATGAGCTTAATCAAGATGATGC +TCGTTATGGTTTCCGTTGCTGCCATCTCAAAAACATTTGGACTGCTCCGCTTCCTCCTGAGACTGAGCTT +TCTCGCCAAATGACGACTTCTACCACATCTATTGACATTATGGGTCTGCAAGCTGCTTATGCTAATTTGC +ATACTGACCAAGAACGTGATTACTTCATGCAGCGTTACCGTGATGTTATTTCTTCATTTGGAGGTAAAAC +CTCTTATGACGCTGACAACCGTCCTTTACTTGTCATGCGCTCTAATCTCTGGGCATCTGGCTATGATGTT +GATGGAACTGACCAAACGTCGTTAGGCCAGTTTTCTGGTCGTGTTCAACAGACCTATAAACATTCTGTGC +CGCGTTTCTTTGTTCCTGAGCATGGCACTATGTTTACTCTTGCGCTTGTTCGTTTTCCGCCTACTGCGAC +TAAAGAGATTCAGTACCTTAACGCTAAAGGTGCTTTGACTTATACCGATATTGCTGGCGACCCTGTTTTG +TATGGCAACTTGCCGCCGCGTGAAATTTCTATGAAGGATGTTTTCCGTTCTGGTGATTCGTCTAAGAAGT +TTAAGATTGCTGAGGGTCAGTGGTATCGTTATGCGCCTTCGTATGTTTCTCCTGCTTATCACCTTCTTGA +AGGCTTCCCATTCATTCAGGAACCGCCTTCTGGTGATTTGCAAGAACGCGTACTTATTCGCCACCATGAT +TATGACCAGTGTTTCCAGTCCGTTCAGTTGTTGCAGTGGAATAGTCAGGTTAAATTTAATGTGACCGTTT +ATCGCAATCTGCCGACCACTCGCGATTCAATCATGACTTCGTGATAAAAGATTGAGTGTGAGGTTATAAC +GCCGAAGCGGTAAAAATTTTAATTTTTGCCGCTGAGGGGTTGACCAAGCGAAGCGCGGTAGGTTTTCTGC +TTAGGAGTTTAATCATGTTTCAGACTTTTATTTCTCGCCATAATTCAAACTTTTTTTCTGATAAGCTGGT +TCTCACTTCTGTTACTCCAGCTTCTTCGGCACCTGTTTTACAGACACCTAAAGCTACATCGTCAACGTTA +TATTTTGATAGTTTGACGGTTAATGCTGGTAATGGTGGTTTTCTTCATTGCATTCAGATGGATACATCTG +TCAACGCCGCTAATCAGGTTGTTTCTGTTGGTGCTGATATTGCTTTTGATGCCGACCCTAAATTTTTTGC +CTGTTTGGTTCGCTTTGAGTCTTCTTCGGTTCCGACTACCCTCCCGACTGCCTATGATGTTTATCCTTTG +AATGGTCGCCATGATGGTGGTTATTATACCGTCAAGGACTGTGTGACTATTGACGTCCTTCCCCGTACGC +CGGGCAATAATGTTTATGTTGGTTTCATGGTTTGGTCTAACTTTACCGCTACTAAATGCCGCGGATTGGT +TTCGCTGAATCAGGTTATTAAAGAGATTATTTGTCTCCAGCCACTTAAGTGAGGTGATTTATGTTTGGTG +CTATTGCTGGCGGTATTGCTTCTGCTCTTGCTGGTGGCGCCATGTCTAAATTGTTTGGAGGCGGTCAAAA +AGCCGCCTCCGGTGGCATTCAAGGTGATGTGCTTGCTACCGATAACAATACTGTAGGCATGGGTGATGCT +GGTATTAAATCTGCCATTCAAGGCTCTAATGTTCCTAACCCTGATGAGGCCGCCCCTAGTTTTGTTTCTG +GTGCTATGGCTAAAGCTGGTAAAGGACTTCTTGAAGGTACGTTGCAGGCTGGCACTTCTGCCGTTTCTGA +TAAGTTGCTTGATTTGGTTGGACTTGGTGGCAAGTCTGCCGCTGATAAAGGAAAGGATACTCGTGATTAT +CTTGCTGCTGCATTTCCTGAGCTTAATGCTTGGGAGCGTGCTGGTGCTGATGCTTCCTCTGCTGGTATGG +TTGACGCCGGATTTGAGAATCAAAAAGAGCTTACTAAAATGCAACTGGACAATCAGAAAGAGATTGCCGA +GATGCAAAATGAGACTCAAAAAGAGATTGCTGGCATTCAGTCGGCGACTTCACGCCAGAATACGAAAGAC +CAGGTATATGCACAAAATGAGATGCTTGCTTATCAACAGAAGGAGTCTACTGCTCGCGTTGCGTCTATTA +TGGAAAACACCAATCTTTCCAAGCAACAGCAGGTTTCCGAGATTATGCGCCAAATGCTTACTCAAGCTCA +AACGGCTGGTCAGTATTTTACCAATGACCAAATCAAAGAAATGACTCGCAAGGTTAGTGCTGAGGTTGAC +TTAGTTCATCAGCAAACGCAGAATCAGCGGTATGGCTCTTCTCATATTGGCGCTACTGCAAAGGATATTT +CTAATGTCGTCACTGATGCTGCTTCTGGTGTGGTTGATATTTTTCATGGTATTGATAAAGCTGTTGCCGA +TACTTGGAACAATTTCTGGAAAGACGGTAAAGCTGATGGTATTGGCTCTAATTTGTCTAGGAAATAACCG +TCAGGATTGACACCCTCCCAATTGTATGTTTTCATGCCTCCAAATCTTGGAGGCTTTTTTATGGTTCGTT +CTTATTACCCTTCTGAATGTCACGCTGATTATTTTGACTTTGAGCGTATCGAGGCTCTTAAACCTGCTAT +TGAGGCTTGTGGCATTTCTACTCTTTCTCAATCCCCAATGCTTGGCTTCCATAAGCAGATGGATAACCGC +ATCAAGCTCTTGGAAGAGATTCTGTCTTTTCGTATGCAGGGCGTTGAGTTCGATAATGGTGATATGTATG +TTGACGGCCATAAGGCTGCTTCTGACGTTCGTGATGAGTTTGTATCTGTTACTGAGAAGTTAATGGATGA +ATTGGCACAATGCTACAATGTGCTCCCCCAACTTGATATTAATAACACTATAGACCACCGCCCCGAAGGG +GACGAAAAATGGTTTTTAGAGAACGAGAAGACGGTTACGCAGTTTTGCCGCAAGCTGGCTGCTGAACGCC +CTCTTAAGGATATTCGCGATGAGTATAATTACCCCAAAAAGAAAGGTATTAAGGATGAGTGTTCAAGATT +GCTGGAGGCCTCCACTATGAAATCGCGTAGAGGCTTTACTATTCAGCGTTTGATGAATGCAATGCGACAG +GCTCATGCTGATGGTTGGTTTATCGTTTTTGACACTCTCACGTTGGCTGACGACCGATTAGAGGCGTTTT +ATGATAATCCCAATGCTTTGCGTGACTATTTTCGTGATATTGGTCGTATGGTTCTTGCTGCCGAGGGTCG +CAAGGCTAATGATTCACACGCCGACTGCTATCAGTATTTTTGTGTGCCTGAGTATGGTACAGCTAATGGC +CGTCTTCATTTCCATGCGGTGCATTTTATGCGGACACTTCCTACAGGTAGCGTTGACCCTAATTTTGGTC +GTCGGGTACGCAATCGCCGCCAGTTAAATAGCTTGCAAAATACGTGGCCTTATGGTTACAGTATGCCCAT +CGCAGTTCGCTACACGCAGGACGCTTTTTCACGTTCTGGTTGGTTGTGGCCTGTTGATGCTAAAGGTGAG +CCGCTTAAAGCTACCAGTTATATGGCTGTTGGTTTCTATGTGGCTAAATACGTTAACAAAAAGTCAGATA +TGGACCTTGCTGCTAAAGGTCTAGGAGCTAAAGAATGGAACAACTCACTAAAAACCAAGCTGTCGCTACT +TCCCAAGAAGCTGTTCAGAATCAGAATGAGCCGCAACTTCGGGATGAAAATGCTCACAATGACAAATCTG +TCCACGGAGTGCTTAATCCAACTTACCAAGCTGGGTTACGACGCGACGCCGTTCAACCAGATATTGAAGC +AGAACGCAAAAAGAGAGATGAGATTGAGGCTGGGAAAAGTTACTGTAGCCGACGTTTTGGCGGCGCAACC +TGTGACGACAAATCTGCTCAAATTTATGCGCGCTTCGATAAAAATGATTGGCGTATCCAACCTGCA +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bowtie_remove_rrna_wrapper/tool-data/bowtie_indices.loc Wed Feb 23 14:03:33 2022 +0000 @@ -0,0 +1,1 @@ +Mouse_rRNA Mouse_rRNA Mouse_rRNA /home/DATA/galaxy/galaxy-dist/data/indexes/bowtie_rrna_indexes/Mouse_rRNA/bowtie_rrna_indexes/mouse_rRNA_index
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bowtie_remove_rrna_wrapper/tool_data_table_conf.xml.sample Wed Feb 23 14:03:33 2022 +0000 @@ -0,0 +1,8 @@ +<tables> + <!-- Locations of indexes in the Bowtie mapper format --> + <table name="bowtie_rrna_indexes" comment_char="#"> + <columns>value, dbkey, name, path</columns> + <file path="tool-data/bowtie_indices.loc" /> + </table> +</tables> +