<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Introduction on mbf-fastq-processor documentation</title><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/</link><description>Recent content in Introduction on mbf-fastq-processor documentation</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://tyberiusprime.github.io/fastqrab/v0.8.0-test/index.xml" rel="self" type="application/rss+xml"/><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/cli/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/cli/</guid><description>&lt;h1 id="command-line-interface">
 Command line interface
 &lt;a class="anchor" href="#command-line-interface">#&lt;/a>
&lt;/h1>
&lt;p>mbf-fastq-processor is configured exclusively through a TOML document. The CLI is therefore intentionally minimal and focuses on selecting the configuration and the working directory.&lt;/p>
&lt;h2 id="usage">
 Usage
 &lt;a class="anchor" href="#usage">#&lt;/a>
&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-text" data-lang="text">&lt;span style="display:flex;">&lt;span>mbf-fastq-processor &amp;lt;config.toml&amp;gt; [working_directory]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;ul>
&lt;li>&lt;code>config.toml&lt;/code> – required path to the pipeline description (see the &lt;a href="https://tyberiusprime.github.io/fastqrab/v0.8.0-test/fastqrab/v0.8.0-test/docs/reference/toml/">TOML format reference&lt;/a>). Relative paths are resolved against the current shell directory.&lt;/li>
&lt;li>&lt;code>working_directory&lt;/code> – optional override for the process working directory. Use it to anchor relative paths inside the configuration without changing your shell location.&lt;/li>
&lt;/ul>
&lt;p>When &lt;code>working_directory&lt;/code> is omitted, the binary inherits the environment&amp;rsquo;s current directory.&lt;/p></description></item><item><title>TOML format</title><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/toml/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/toml/</guid><description>&lt;h1 id="toml-file-format">
 TOML file format
 &lt;a class="anchor" href="#toml-file-format">#&lt;/a>
&lt;/h1>
&lt;p>mbf-fastq-processor pipelines are defined in a single TOML document. The format favours explicitness: every field is named, order is preserved, and unknown keys are rejected with a descriptive error.&lt;/p>
&lt;h2 id="structure-overview">
 Structure overview
 &lt;a class="anchor" href="#structure-overview">#&lt;/a>
&lt;/h2>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Section&lt;/th>
 &lt;th>Required&lt;/th>
 &lt;th>Purpose&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;code>[input]&lt;/code>&lt;/td>
 &lt;td>Yes&lt;/td>
 &lt;td>Declare the FastQ segments and associated source files&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>[output]&lt;/code>&lt;/td>
 &lt;td>Yes&lt;/td>
 &lt;td>Configure how processed reads and reports are written&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>[[step]]&lt;/code>&lt;/td>
 &lt;td>No*&lt;/td>
 &lt;td>Define transformations, filters, tag operations, reports&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>[options]&lt;/code>&lt;/td>
 &lt;td>No&lt;/td>
 &lt;td>Tune runtime knobs such as buffer sizes&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>[barcodes.*]&lt;/code>&lt;/td>
 &lt;td>Conditional&lt;/td>
 &lt;td>Supply barcode tables for demultiplexing&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;p>&lt;code>[[step]]&lt;/code> entries are optional in the technical sense—an empty pipeline simply copies data between input and output—but in practice most configurations contain at least one transformation or report.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/input-section/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/input-section/</guid><description>&lt;h1 id="input-section">
 Input section
 &lt;a class="anchor" href="#input-section">#&lt;/a>
&lt;/h1>
&lt;p>The &lt;code>[input]&lt;/code> table enumerates all FastQ sources that make up a fragment. At least one segment must be declared.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[&lt;span style="color:#a6e22e">input&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">read1&lt;/span> = [&lt;span style="color:#e6db74">&amp;#39;fileA_1.fastq&amp;#39;&lt;/span>, &lt;span style="color:#e6db74">&amp;#39;fileB_1.fastq.gz&amp;#39;&lt;/span>, &lt;span style="color:#e6db74">&amp;#39;fileC_1.fastq.zst&amp;#39;&lt;/span>] &lt;span style="color:#75715e"># required: one or more paths&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">read2&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;fileA_2.fastq.gz&amp;#34;&lt;/span> &lt;span style="color:#75715e"># optional&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">index1&lt;/span> = [&lt;span style="color:#e6db74">&amp;#39;index1_A.fastq.gz&amp;#39;&lt;/span>] &lt;span style="color:#75715e"># optional&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e"># interleaved = [...] # optional, see below&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Key&lt;/th>
 &lt;th>Required&lt;/th>
 &lt;th>Value type&lt;/th>
 &lt;th>Notes&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>segment name (e.g. &lt;code>read1&lt;/code>)&lt;/td>
 &lt;td>Yes (at least one)&lt;/td>
 &lt;td>string or array of strings&lt;/td>
 &lt;td>Each unique key defines a segment; arrays concatenate multiple files in order.&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>interleaved&lt;/code>&lt;/td>
 &lt;td>No&lt;/td>
 &lt;td>array of strings&lt;/td>
 &lt;td>Enables interleaved reading; must list segment names in their in-file order.&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;p>Additional points:&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/output-section/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/output-section/</guid><description>&lt;h1 id="output-section">
 Output section
 &lt;a class="anchor" href="#output-section">#&lt;/a>
&lt;/h1>
&lt;p>The &lt;code>[output]&lt;/code> table controls how transformed reads and reporting artefacts are written.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[&lt;span style="color:#a6e22e">output&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">prefix&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;output&amp;#34;&lt;/span> &lt;span style="color:#75715e"># required.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">format&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;Gzip&amp;#34;&lt;/span> &lt;span style="color:#75715e"># Raw | Gzip | Zstd | None (default: Raw)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">suffix&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;.fq.gz&amp;#34;&lt;/span> &lt;span style="color:#75715e"># optional override; inferred from format when omitted&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">compression_level&lt;/span> = &lt;span style="color:#ae81ff">6&lt;/span> &lt;span style="color:#75715e"># gzip: 0-9, zstd: 1-22; defaults are gzip=6, zstd=5&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">report_json&lt;/span> = &lt;span style="color:#66d9ef">false&lt;/span> &lt;span style="color:#75715e"># write prefix.json&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">report_html&lt;/span> = &lt;span style="color:#66d9ef">true&lt;/span> &lt;span style="color:#75715e"># write prefix.html&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">output&lt;/span> = [&lt;span style="color:#e6db74">&amp;#34;read1&amp;#34;&lt;/span>, &lt;span style="color:#e6db74">&amp;#34;read2&amp;#34;&lt;/span>] &lt;span style="color:#75715e"># limit which segments become FastQ files&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">interleave&lt;/span> = &lt;span style="color:#66d9ef">false&lt;/span> &lt;span style="color:#75715e"># emit a single interleaved FastQ&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">stdout&lt;/span> = &lt;span style="color:#66d9ef">false&lt;/span> &lt;span style="color:#75715e"># stream to stdout instead of files&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">output_hash_uncompressed&lt;/span> = &lt;span style="color:#66d9ef">false&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">output_hash_compressed&lt;/span> = &lt;span style="color:#66d9ef">false&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Key&lt;/th>
 &lt;th>Default&lt;/th>
 &lt;th>Description&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;code>prefix&lt;/code>&lt;/td>
 &lt;td>&lt;code>&amp;quot;output&amp;quot;&lt;/code>&lt;/td>
 &lt;td>Base name for all files produced by the run.&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>format&lt;/code>&lt;/td>
 &lt;td>&lt;code>&amp;quot;Raw&amp;quot;&lt;/code>&lt;/td>
 &lt;td>Compression applied to FastQ outputs. &lt;code>None&lt;/code> disables FastQ emission but still allows reports.&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>suffix&lt;/code>&lt;/td>
 &lt;td>derived from format&lt;/td>
 &lt;td>Override file extension when interop with other tooling demands a specific suffix.&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>compression_level&lt;/code>&lt;/td>
 &lt;td>gzip: 6, zstd: 5&lt;/td>
 &lt;td>Fine-tune compression effort. Ignored for &lt;code>Raw&lt;/code>/&lt;code>None&lt;/code>.&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>report_json&lt;/code> / &lt;code>report_html&lt;/code>&lt;/td>
 &lt;td>&lt;code>false&lt;/code>&lt;/td>
 &lt;td>Toggle structured or interactive reports.&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>output&lt;/code>&lt;/td>
 &lt;td>all input segments&lt;/td>
 &lt;td>Restrict the subset of segments written to disk. Use an empty list to suppress FastQs while still running steps that depend on fragment data.&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>interleave&lt;/code>&lt;/td>
 &lt;td>&lt;code>false&lt;/code>&lt;/td>
 &lt;td>Generate a single interleaved FastQ (&lt;code>{prefix}_interleaved.fq*&lt;/code>).&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>stdout&lt;/code>&lt;/td>
 &lt;td>&lt;code>false&lt;/code>&lt;/td>
 &lt;td>Write to stdout. Forces &lt;code>format = &amp;quot;Raw&amp;quot;&lt;/code>. &lt;code>Sets interleave=true&lt;/code> if more than one fragment is listed in &lt;code>output&lt;/code>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>output_hash_uncompressed&lt;/code> / &lt;code>output_hash_compressed&lt;/code>&lt;/td>
 &lt;td>&lt;code>false&lt;/code>&lt;/td>
 &lt;td>Emit SHA-256 checksums.&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;p>Generated filenames follow &lt;code>{prefix}_{segment}{suffix}&lt;/code>. Interleaving replaces segment with &amp;lsquo;interleaved&amp;rsquo;. Demultiplexing adds additional infixes. Checksums use &lt;code>.uncompressed.sha256&lt;/code> or &lt;code>.compressed.sha256&lt;/code> suffixes.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/filter-steps/filterbytag/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/filter-steps/filterbytag/</guid><description>&lt;h1 id="filterbytag">
 FilterByTag
 &lt;a class="anchor" href="#filterbytag">#&lt;/a>
&lt;/h1>
&lt;p>Remove sequences that have (or don&amp;rsquo;t have) a tag.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;FilterByTag&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">label&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;mytag&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">keep_or_remove&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;Keep&amp;#34;&lt;/span> &lt;span style="color:#75715e"># or &amp;#34;Remove&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>This transformation filters reads based on the presence or absence of a specified tag. Use &amp;ldquo;Keep&amp;rdquo; to retain reads that have the tag, or &amp;ldquo;Remove&amp;rdquo; to discard reads that have the tag.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/report-steps/report/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/report-steps/report/</guid><description>&lt;h1 id="report">
 Report
 &lt;a class="anchor" href="#report">#&lt;/a>
&lt;/h1>
&lt;p>Capture data for the final report (see &lt;a href="https://tyberiusprime.github.io/fastqrab/v0.8.0-test/fastqrab/v0.8.0-test/docs/reference/output-section/">the output section&lt;/a>).&lt;/p>
&lt;p>You can add multiple reports, at any stage of your transformation chain
to get e.g. before/after filtering reports.&lt;/p>
&lt;p>&lt;a href="../../../../html/example_report.html">Example report&lt;/a>&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#39;Report&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">label&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;report&amp;#34;&lt;/span> &lt;span style="color:#75715e"># Key that the report will be listed under. Must be distinct&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">count&lt;/span> = &lt;span style="color:#66d9ef">true&lt;/span> &lt;span style="color:#75715e"># count reads at this position&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">base_statistics&lt;/span> = &lt;span style="color:#66d9ef">false&lt;/span> &lt;span style="color:#75715e"># include base distribution at each read position, q20, q30, total, gc bases&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">length_distribution&lt;/span> = &lt;span style="color:#66d9ef">false&lt;/span> &lt;span style="color:#75715e"># capture read length distribution&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">duplicate_count_per_read&lt;/span> = &lt;span style="color:#66d9ef">false&lt;/span> &lt;span style="color:#75715e"># count duplicates using Cukoo filter on each read1/read2/index1/index2&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">duplicate_count_per_fragment&lt;/span> = &lt;span style="color:#66d9ef">false&lt;/span> &lt;span style="color:#75715e"># count duplicates using Cukoo filter, on concatenated read1/read2/index1/index2&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">count_oligos&lt;/span> = [] &lt;span style="color:#75715e"># if set, count these oligos in the segment. Full match only, no iupac&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">count_oligos_segment&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;all&amp;#34;&lt;/span> &lt;span style="color:#75715e"># segment to count oligos in, can be &amp;#39;all&amp;#39;, &amp;#39;read1&amp;#39;, ...&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Statistics available (for each &amp;lsquo;segment&amp;rsquo;. If demultiplexd, per barcode combination):&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/demultiplex/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/demultiplex/</guid><description>&lt;h2 id="demultiplexed-output">
 Demultiplexed output
 &lt;a class="anchor" href="#demultiplexed-output">#&lt;/a>
&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;Demultiplex&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">label&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;mytag&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">barcodes&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;mybarcodes&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">output_unmatched&lt;/span> = &lt;span style="color:#66d9ef">true&lt;/span> &lt;span style="color:#75715e"># if set, write reads not matching any barcode&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e"># to a file like ouput_prefix_no-barcode_1.fq&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>[&lt;span style="color:#a6e22e">barcodes&lt;/span>.&lt;span style="color:#a6e22e">mybarcodes&lt;/span>] &lt;span style="color:#75715e"># can be before and after.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># separate multiple regions with a _&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># a Mapping of barcode -&amp;gt; output name.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">AAAAAA_CCCCCC&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;sample-1&amp;#34;&lt;/span> &lt;span style="color:#75715e"># output files will be named prefix.barcode_prefix.infix.suffix&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e"># e.g. output_sample-1_1.fq.gz&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e"># e.g. output_sample-1_report.fq.gz&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;a href="https://tyberiusprime.github.io/fastqrab/v0.8.0-test/fastqrab/v0.8.0-test/docs/reference/demultiplex/">Demultiplex&lt;/a> is a &amp;lsquo;magic&amp;rsquo; transformation that &amp;lsquo;forks&amp;rsquo; the output.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/filter-steps/filterbynumerictag/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/filter-steps/filterbynumerictag/</guid><description>&lt;h1 id="filterbynumerictag">
 FilterByNumericTag
 &lt;a class="anchor" href="#filterbynumerictag">#&lt;/a>
&lt;/h1>
&lt;p>Remove sequences that exceed thresholds on a numeric tag.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;ExtractLength&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">label&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;mytag&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">segment&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;read1&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;FilterByNumericTag&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">label&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;mytag&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">keep_or_remove&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;Keep&amp;#34;&lt;/span> &lt;span style="color:#75715e"># or &amp;#34;Remove&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">min_value&lt;/span> = &lt;span style="color:#ae81ff">5&lt;/span> &lt;span style="color:#75715e"># &amp;gt;= this, optional&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">max_value&lt;/span> = &lt;span style="color:#ae81ff">21&lt;/span> &lt;span style="color:#75715e"># &amp;lt; this, optional&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>The example only keeps reads that are between 5 and 20 bases long.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/filter-steps/filterbybooltag/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/filter-steps/filterbybooltag/</guid><description>&lt;h1 id="filterbybooltag">
 FilterByBoolTag
 &lt;a class="anchor" href="#filterbybooltag">#&lt;/a>
&lt;/h1>
&lt;p>Filter for sequences that have a boolean tag.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;FilterByBoolTag&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">label&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;mytag&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">keep_or_remove&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;Keep&amp;#34;&lt;/span> &lt;span style="color:#75715e"># or &amp;#34;Remove&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/filter-steps/filterempty/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/filter-steps/filterempty/</guid><description>&lt;h2 id="filterempty">
 FilterEmpty
 &lt;a class="anchor" href="#filterempty">#&lt;/a>
&lt;/h2>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;FilterEmpty&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">segment&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;read1&amp;#34;&lt;/span> &lt;span style="color:#75715e"># Any of your input segments, or &amp;#39;All&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Drop the molecule if the read has length 0.
(Use after other processing.)&lt;/p>
&lt;p>This get&amp;rsquo;s expanded to an internal tag and a FilteryByNumeric.&lt;/p>
&lt;p>This is necessary if your modification can produce &amp;rsquo;empty'
reads - downstream aligners like STAR tend to dislike these in their input.&lt;/p>
&lt;p>On segment=&amp;lsquo;All&amp;rsquo;, only filters reads that are empty in all parts.
Use multiple &lt;a href="https://tyberiusprime.github.io/fastqrab/v0.8.0-test/fastqrab/v0.8.0-test/docs/reference/filter-steps/filterempty/">FilterEmpty&lt;/a> steps to filter if any part is empty.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/modification-steps/postfix/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/modification-steps/postfix/</guid><description>&lt;h1 id="postfix">
 Postfix
 &lt;a class="anchor" href="#postfix">#&lt;/a>
&lt;/h1>
&lt;p>Add DNA to the end of read sequences.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;Postfix&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">seq&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;agtc&amp;#34;&lt;/span> &lt;span style="color:#75715e"># DNA sequence to add at end of reads. Checked to be agtcn&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">qual&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;IIII&amp;#34;&lt;/span> &lt;span style="color:#75715e"># same length as seq. Your responsibility to have valid phred values&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">segment&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;read1&amp;#34;&lt;/span> &lt;span style="color:#75715e"># Any of your input segments&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>This transformation adds a specified sequence and corresponding quality scores to the end of reads.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/modification-steps/prefix/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/modification-steps/prefix/</guid><description>&lt;h1 id="prefix">
 Prefix
 &lt;a class="anchor" href="#prefix">#&lt;/a>
&lt;/h1>
&lt;p>Add text to the beginning of read sequences.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;Prefix&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">seq&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;agtTCAa&amp;#34;&lt;/span> &lt;span style="color:#75715e"># DNA sequence to add at beginning of reads. Checked to be agtcn&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">qual&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;IIIBIII&amp;#34;&lt;/span> &lt;span style="color:#75715e"># same length as seq. Your responsibility to have valid phred values&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">segment&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;read1&amp;#34;&lt;/span> &lt;span style="color:#75715e"># Any of your input segments&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>This transformation adds a specified sequence and corresponding quality scores to the beginning of reads.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/modification-steps/replacetagwithletter/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/modification-steps/replacetagwithletter/</guid><description>&lt;h1 id="replacetagwithletter">
 ReplaceTagWithLetter
 &lt;a class="anchor" href="#replacetagwithletter">#&lt;/a>
&lt;/h1>
&lt;p>Replace sequence bases in tagged regions with a specified letter.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;ReplaceTagWithLetter&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">label&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;mytag&amp;#34;&lt;/span> &lt;span style="color:#75715e"># Tag containing regions to replace&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">letter&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;N&amp;#34;&lt;/span> &lt;span style="color:#75715e"># Replacement character (defaults to &amp;#39;N&amp;#39;)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>This transformation replaces all sequence bases within the regions defined by a tag with a specified replacement character. Quality scores are preserved unchanged. This is commonly used to mask low-quality regions as &amp;lsquo;N&amp;rsquo; characters.&lt;/p>
&lt;h2 id="parameters">
 Parameters
 &lt;a class="anchor" href="#parameters">#&lt;/a>
&lt;/h2>
&lt;ul>
&lt;li>&lt;code>label&lt;/code>: Name of the tag containing regions to be replaced&lt;/li>
&lt;li>&lt;code>letter&lt;/code>: Single character to replace bases with (defaults to &amp;lsquo;N&amp;rsquo; if not specified)&lt;/li>
&lt;/ul>
&lt;h2 id="example-use-cases">
 Example Use Cases
 &lt;a class="anchor" href="#example-use-cases">#&lt;/a>
&lt;/h2>
&lt;ul>
&lt;li>Mask low-quality bases identified by &lt;a href="https://tyberiusprime.github.io/fastqrab/v0.8.0-test/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/extractregionsoflowquality/">ExtractRegionsOfLowQuality&lt;/a>&lt;/li>
&lt;li>Replace specific sequence motifs identified by other extraction steps&lt;/li>
&lt;li>Convert tagged regions to ambiguous bases for downstream analysis&lt;/li>
&lt;/ul>
&lt;p>The tag must have been created by a previous extraction step and must contain location information.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/modification-steps/trimattag/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/modification-steps/trimattag/</guid><description>&lt;h1 id="trimattag">
 TrimAtTag
 &lt;a class="anchor" href="#trimattag">#&lt;/a>
&lt;/h1>
&lt;p>Trim the read at the position of a tag.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;TrimAtTag&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">label&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;mytag&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">direction&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;Start&amp;#34;&lt;/span> &lt;span style="color:#75715e"># or &amp;#34;End&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">keep_tag&lt;/span> = &lt;span style="color:#66d9ef">false&lt;/span> &lt;span style="color:#75715e"># if true, the tag sequence is kept in the read&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>This transformation trims the read at the position where a tag was found.&lt;/p>
&lt;p>The &lt;code>direction&lt;/code> parameter determines whether to trim from the start or end of the tag,
and &lt;code>keep_tag&lt;/code> determines whether the tag sequence itself is retained.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/report-steps/quantifytag/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/report-steps/quantifytag/</guid><description>&lt;h1 id="quantifytag">
 QuantifyTag
 &lt;a class="anchor" href="#quantifytag">#&lt;/a>
&lt;/h1>
&lt;p>Count the occurrences of each tag-sequence.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;QuantifyTag&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">label&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;mytag&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">infix&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;tagcount&amp;#34;&lt;/span> &lt;span style="color:#75715e"># output file is output_prefix_infix.tag.qr.json&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>This transformation counts how many times each unique tag value appears and outputs the results to a JSON file.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/extractanchor/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/extractanchor/</guid><description>&lt;h1 id="extractanchor">
 ExtractAnchor
 &lt;a class="anchor" href="#extractanchor">#&lt;/a>
&lt;/h1>
&lt;p>Extract regions relative to a previously tagged anchor position.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># First create an anchor tag. Iupac, regex, ExtractRegion, your choice.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;ExtractIUPAC&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">search&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;CAYA&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">label&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;anchor_tag&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">segment&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;read1&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">anchor&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;Anywhere&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">max_mismatches&lt;/span> = &lt;span style="color:#ae81ff">0&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># Then extract relative to that anchor&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;ExtractAnchor&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">label&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;mytag&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">input_label&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;anchor_tag&amp;#34;&lt;/span> &lt;span style="color:#75715e"># tag that provides the anchor position&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">regions&lt;/span> = [[&lt;span style="color:#ae81ff">-2&lt;/span>, &lt;span style="color:#ae81ff">4&lt;/span>], [&lt;span style="color:#ae81ff">4&lt;/span>, &lt;span style="color:#ae81ff">1&lt;/span>]] &lt;span style="color:#75715e"># [start, length] pairs relative to anchor&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">region_separator&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;_&amp;#34;&lt;/span> &lt;span style="color:#75715e"># (optional) separator between regions&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>This transformation uses the leftmost position of a previously established tag as the anchor point and extracts specified regions relative to that position.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/extractlength/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/extractlength/</guid><description>&lt;h1 id="extractlength">
 ExtractLength
 &lt;a class="anchor" href="#extractlength">#&lt;/a>
&lt;/h1>
&lt;p>Extract the length of a read as a tag.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;ExtractLength&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">label&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;mytag&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">segment&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;read1&amp;#34;&lt;/span> &lt;span style="color:#75715e"># Any of your input segments, or &amp;#39;All&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>This transformation creates a tag containing the length of the specified read.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/extractregex/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/extractregex/</guid><description>&lt;h1 id="extractregex">
 ExtractRegex
 &lt;a class="anchor" href="#extractregex">#&lt;/a>
&lt;/h1>
&lt;p>Extract a regexp result. Stores an empty string if not found.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;ExtractRegex&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">label&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;mytag&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">search&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;^CT(..)CT&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">replacement&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;$1&amp;#34;&lt;/span> &lt;span style="color:#75715e"># standard regex replacement syntax&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">segment&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;read1&amp;#34;&lt;/span> &lt;span style="color:#75715e"># Any of your input segments&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>This transformation searches for a regular expression pattern in the specified read and extracts the matching portion as a tag.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/extractregion/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/extractregion/</guid><description>&lt;h1 id="extractregion">
 ExtractRegion
 &lt;a class="anchor" href="#extractregion">#&lt;/a>
&lt;/h1>
&lt;p>Extract a fixed position region.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;ExtractRegion&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">start&lt;/span> = &lt;span style="color:#ae81ff">5&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">length&lt;/span> = &lt;span style="color:#ae81ff">8&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">segment&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;read1&amp;#34;&lt;/span> &lt;span style="color:#75715e"># Any of your input segments&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">label&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;umi&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>This transformation extracts a fixed-length region from the specified read at a given position and stores it as a tag.&lt;/p>
&lt;p>Use &lt;a href="https://tyberiusprime.github.io/fastqrab/v0.8.0-test/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/extractregions/">ExtractRegions&lt;/a> if your region is actually multiple regions (possibly from different segments).&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/extractregions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/extractregions/</guid><description>&lt;h1 id="extractregions">
 ExtractRegions
 &lt;a class="anchor" href="#extractregions">#&lt;/a>
&lt;/h1>
&lt;p>Extract from multiple fixed position regions.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;ExtractRegions&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">regions&lt;/span> = [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {&lt;span style="color:#a6e22e">segment&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;read1&amp;#34;&lt;/span>, &lt;span style="color:#a6e22e">start&lt;/span> = &lt;span style="color:#ae81ff">0&lt;/span>, &lt;span style="color:#a6e22e">length&lt;/span> = &lt;span style="color:#ae81ff">8&lt;/span>},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {&lt;span style="color:#a6e22e">segment&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;read1&amp;#34;&lt;/span>, &lt;span style="color:#a6e22e">start&lt;/span> = &lt;span style="color:#ae81ff">12&lt;/span>, &lt;span style="color:#a6e22e">length&lt;/span> = &lt;span style="color:#ae81ff">4&lt;/span>},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">label&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;barcode&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>This transformation extracts multiple fixed-length regions from reads and concatenates them into a single tag.&lt;/p>
&lt;p>ExtractRegions with only one region are exactly equivalent to &lt;a href="https://tyberiusprime.github.io/fastqrab/v0.8.0-test/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/extractregion/">ExtractRegion&lt;/a>.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/extractregionsoflowquality/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/extractregionsoflowquality/</guid><description>&lt;h1 id="extractregionsoflowquality">
 ExtractRegionsOfLowQuality
 &lt;a class="anchor" href="#extractregionsoflowquality">#&lt;/a>
&lt;/h1>
&lt;p>Extract regions (min size 1 bp) where bases have quality scores below threshold.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;ExtractRegionsOfLowQuality&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">segment&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;read1&amp;#34;&lt;/span> &lt;span style="color:#75715e"># Any of your input segments&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">min_quality&lt;/span> = &lt;span style="color:#ae81ff">60&lt;/span> &lt;span style="color:#75715e"># Quality threshold (Phred+33)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">label&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;low_quality_regions&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>This transformation scans through quality scores of the specified segment and identifies contiguous regions where quality scores are below the specified threshold. Each low-quality region becomes a tagged region with location information (start position and length).&lt;/p>
&lt;h2 id="parameters">
 Parameters
 &lt;a class="anchor" href="#parameters">#&lt;/a>
&lt;/h2>
&lt;ul>
&lt;li>&lt;code>segment&lt;/code>: Which read to analyze for low-quality regions&lt;/li>
&lt;li>&lt;code>min_quality&lt;/code>: Quality score threshold using Phred+33 encoding. See &lt;a href="https://en.wikipedia.org/wiki/Phred_quality_score#Symbols">Phred quality score&lt;/a> for ASCII character mapping&lt;/li>
&lt;li>&lt;code>label&lt;/code>: Tag name to store the extracted regions&lt;/li>
&lt;/ul>
&lt;h2 id="example">
 Example
 &lt;a class="anchor" href="#example">#&lt;/a>
&lt;/h2>
&lt;p>With &lt;code>min_quality = 60&lt;/code> (ASCII &amp;lsquo;&amp;lt;&amp;rsquo;), any bases with quality scores below &amp;lsquo;&amp;lt;&amp;rsquo; will be identified as low-quality regions. This is useful for masking or filtering poor-quality sequences.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/tagotherfilebyname/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/tagotherfilebyname/</guid><description>&lt;h1 id="tagotherfilebyname">
 TagOtherFileByName
 &lt;a class="anchor" href="#tagotherfilebyname">#&lt;/a>
&lt;/h1>
&lt;p>Mark reads based on wether names are present in another file.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;TagOtherFileByName&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">segment&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;read1&amp;#34;&lt;/span> &lt;span style="color:#75715e"># which segment&amp;#39;s name are we using&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">label&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;present_in_other&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">filename&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;names.fastq&amp;#34;&lt;/span> &lt;span style="color:#75715e"># Can read fastq (also compressed), or sam/bam files&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">false_positive_rate&lt;/span> = &lt;span style="color:#ae81ff">0.01&lt;/span> &lt;span style="color:#75715e"># false positive rate (0..1)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">seed&lt;/span> = &lt;span style="color:#ae81ff">42&lt;/span> &lt;span style="color:#75715e"># seed for randomness&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">ignore_unaligned&lt;/span> = &lt;span style="color:#66d9ef">false&lt;/span> &lt;span style="color:#75715e"># in case of BAM/SAM, whether to ignore unaligned reads&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">fastq_readname_end_char&lt;/span> = &lt;span style="color:#e6db74">&amp;#34; &amp;#34;&lt;/span> &lt;span style="color:#75715e"># (optional) char (byte value) at which to cut input fastq read names before comparing. If not set, no cutting is done.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">reference_readname_end_char&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;/&amp;#34;&lt;/span> &lt;span style="color:#75715e"># (optional) char (byte value) at which to cut reference read names before storing them.&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>This step marks reads by comparing their names against names from another file.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/tagotherfilebysequence/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/tagotherfilebysequence/</guid><description>&lt;h1 id="tagotherfilebysequence">
 TagOtherFileBySequence
 &lt;a class="anchor" href="#tagotherfilebysequence">#&lt;/a>
&lt;/h1>
&lt;p>Marks reads based on wether sequences are present in another file.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;TagOtherFileBySequence&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">label&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;present_in_other_file&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">filename&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;sequences.fastq&amp;#34;&lt;/span> &lt;span style="color:#75715e"># fastq (also compressed), or sam/bam files&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">segment&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;read1&amp;#34;&lt;/span> &lt;span style="color:#75715e"># Any of your input segments&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">false_positive_rate&lt;/span> = &lt;span style="color:#ae81ff">0.01&lt;/span> &lt;span style="color:#75715e"># false positive rate (0..1)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">seed&lt;/span> = &lt;span style="color:#ae81ff">42&lt;/span> &lt;span style="color:#75715e"># seed for randomness&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>This step annotates reads by comparing their sequences against sequences from another file.&lt;/p>
&lt;p>Please note our &lt;a href="https://tyberiusprime.github.io/fastqrab/v0.8.0-test/fastqrab/v0.8.0-test/docs/faq/#cuckoo-filtering">remarks about cuckoo filters&lt;/a>.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/using/forgettag/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/using/forgettag/</guid><description>&lt;h1 id="forgettag">
 ForgetTag
 &lt;a class="anchor" href="#forgettag">#&lt;/a>
&lt;/h1>
&lt;p>Forget about a tag. Useful if you want to store tags in a table, but not this one.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;ForgetTag&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">label&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;mytag&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>This transformation removes a specified tag from the molecule&amp;rsquo;s tag collection.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/using/storetagincomment/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/using/storetagincomment/</guid><description>&lt;h1 id="storetagincomment">
 StoreTagInComment
 &lt;a class="anchor" href="#storetagincomment">#&lt;/a>
&lt;/h1>
&lt;p>Store currently present tags as comments on read names.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;StoreTagInComment&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">label&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;mytag&amp;#34;&lt;/span> &lt;span style="color:#75715e"># if set, only store this tag&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">segment&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;read1&amp;#34;&lt;/span> &lt;span style="color:#75715e"># Any of your input segments, or &amp;#39;All&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">comment_insert_char&lt;/span> = &lt;span style="color:#e6db74">&amp;#34; &amp;#34;&lt;/span> &lt;span style="color:#75715e"># (optional) char at which to insert comments&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">comment_separator&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;|&amp;#34;&lt;/span> &lt;span style="color:#75715e"># (optional) char to separate comments&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">region_separator&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;_&amp;#34;&lt;/span> &lt;span style="color:#75715e"># (optional) char to separate regions in a tag, if it has multiple&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Comments are key=value pairs, separated by &lt;code>comment_separator&lt;/code> which defaults to &amp;lsquo;|&amp;rsquo;. They get inserted at the first &lt;code>comment_insert_char&lt;/code>, which defaults to space.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/using/storetaginsequence/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/using/storetaginsequence/</guid><description>&lt;h1 id="storetaginsequence">
 StoreTagInSequence
 &lt;a class="anchor" href="#storetaginsequence">#&lt;/a>
&lt;/h1>
&lt;p>Store the tag&amp;rsquo;s replacement in the sequence, replacing the original sequence at that location.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;StoreTagInSequence&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">label&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;mytag&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">ignore_missing&lt;/span> = &lt;span style="color:#66d9ef">true&lt;/span> &lt;span style="color:#75715e"># if false, an error is raised if the tag is missing&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>This transformation stores the tag&amp;rsquo;s value back into the sequence, replacing the original sequence at that location.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/using/storetaglocationincomment/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/using/storetaglocationincomment/</guid><description>&lt;h1 id="storetaglocationincomment">
 StoreTagLocationInComment
 &lt;a class="anchor" href="#storetaglocationincomment">#&lt;/a>
&lt;/h1>
&lt;p>Store the coordinates of a tag in the comment (start-end, 0-based, half-open).&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;StoreTagLocationInComment&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">label&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;mytag&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">segment&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;read1&amp;#34;&lt;/span> &lt;span style="color:#75715e"># Any of your input segments, or &amp;#39;All&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">comment_insert_char&lt;/span> = &lt;span style="color:#e6db74">&amp;#34; &amp;#34;&lt;/span> &lt;span style="color:#75715e"># (optional) char at which to insert comments&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">comment_separator&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;|&amp;#34;&lt;/span> &lt;span style="color:#75715e"># (optional) char to separate comments&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>This transformation stores the location coordinates of a tag as a comment in the read name, useful for tracking where tags were extracted from.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/using/storetagsintable/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/using/storetagsintable/</guid><description>&lt;h1 id="storetagsintable">
 StoreTagsInTable
 &lt;a class="anchor" href="#storetagsintable">#&lt;/a>
&lt;/h1>
&lt;p>Store the tags in a TSV table.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;StoreTagsInTable&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">table_filename&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;tags.tsv&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">compression&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;Raw&amp;#34;&lt;/span> &lt;span style="color:#75715e"># Raw, Gzip, Zstd&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">region_separator&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;_&amp;#34;&lt;/span> &lt;span style="color:#75715e"># (optional) char to separate regions in a tag, if it has multiple&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>This transformation writes all current tags to a tab-separated values (TSV) table file for further analysis.&lt;/p></description></item><item><title>Extract IUPAC</title><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/extractiupac/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/extractiupac/</guid><description>&lt;h1 id="extractiupac">
 ExtractIUPAC
 &lt;a class="anchor" href="#extractiupac">#&lt;/a>
&lt;/h1>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;ExtractIUPAC&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">label&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;mytag&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">anchor&lt;/span> = &lt;span style="color:#e6db74">&amp;#39;Left&amp;#39;&lt;/span> &lt;span style="color:#75715e"># Left | Right | Anywhere&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">search&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;CTN&amp;#34;&lt;/span> &lt;span style="color:#75715e"># what we are searching&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">segment&lt;/span> = &lt;span style="color:#e6db74">&amp;#39;read1&amp;#39;&lt;/span> &lt;span style="color:#75715e"># Any of your input segments&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Search and extract a sequence from the read, defined by a &lt;a href="https://doi.org/10.1093%2Fnar%2F13.9.3021">IUPAC string&lt;/a>.&lt;/p>
&lt;p>If anchor = &amp;lsquo;Anywhere&amp;rsquo;, ExtractIUPAC will find the left most occurance.&lt;/p></description></item><item><title>Extract IUPAC suffix</title><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/extractiupacsuffix/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/extractiupacsuffix/</guid><description>&lt;h1 id="extractiupacsuffix">
 ExtractIUPACSuffix
 &lt;a class="anchor" href="#extractiupacsuffix">#&lt;/a>
&lt;/h1>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;ExtractIUPACSuffix&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">label&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;mytag&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">query&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;AGTCA&amp;#34;&lt;/span> &lt;span style="color:#75715e"># the adapter to trim. Straigth bases only, no IUPAC.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">segment&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;read1&amp;#34;&lt;/span> &lt;span style="color:#75715e"># Any of your input segments (default: read1)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">min_length&lt;/span> = &lt;span style="color:#ae81ff">3&lt;/span> &lt;span style="color:#75715e"># uint, the minimum length of match between the end of the read and&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e"># the start of the adapter&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">max_mismatches&lt;/span> = &lt;span style="color:#ae81ff">1&lt;/span> &lt;span style="color:#75715e"># How many mismatches to accept&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Find a potentially truncated &lt;a href="https://doi.org/10.1093%2Fnar%2F13.9.3021">IUPAC string&lt;/a> sequence at the end of a read.&lt;/p>
&lt;p>Simple comparison with a max mismatch hamming distance, requiring only the first min length
bases of the query to match at the end of the read.&lt;/p></description></item><item><title>Extract IUPAC with Indels</title><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/extractiupacwithindel/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/extractiupacwithindel/</guid><description>&lt;h1 id="extractiupacwithindel">
 ExtractIUPACWithIndel
 &lt;a class="anchor" href="#extractiupacwithindel">#&lt;/a>
&lt;/h1>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;ExtractIUPACWithIndel&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">label&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;adapter&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">search&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;AGTC&amp;#34;&lt;/span> &lt;span style="color:#75715e"># IUPAC pattern to align against&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">max_mismatches&lt;/span> = &lt;span style="color:#ae81ff">1&lt;/span> &lt;span style="color:#75715e"># allowed substitutions (IUPAC-aware)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">max_indel_bases&lt;/span> = &lt;span style="color:#ae81ff">1&lt;/span> &lt;span style="color:#75715e"># total insertions + deletions allowed&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">max_total_edits&lt;/span> = &lt;span style="color:#ae81ff">2&lt;/span> &lt;span style="color:#75715e"># optional overall edit ceiling&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">anchor&lt;/span> = &lt;span style="color:#e6db74">&amp;#39;Anywhere&amp;#39;&lt;/span> &lt;span style="color:#75715e"># Left | Right | Anywhere&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">segment&lt;/span> = &lt;span style="color:#e6db74">&amp;#39;read1&amp;#39;&lt;/span> &lt;span style="color:#75715e"># defaults to read1&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Locate an &lt;a href="https://doi.org/10.1093%2Fnar%2F13.9.3021">IUPAC&lt;/a> pattern even when the read contains small insertions or deletions relative to the pattern. The extractor performs a semiglobal alignment (pattern vs. read segment) using IUPAC-aware scoring and returns the aligned span as a location tag.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/using/storetaginfastq/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/using/storetaginfastq/</guid><description>&lt;h1 id="storetaginfastq">
 StoreTagInFastQ
 &lt;a class="anchor" href="#storetaginfastq">#&lt;/a>
&lt;/h1>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">## Store the content of a tag in a fastq file.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">## Needs a &amp;#39;location &amp;#39;tag&amp;#39;.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">## Can store other tags in the read name.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">## quality scores are set to &amp;#39;~&amp;#39;.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># [[step]]&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># action = &amp;#34;StoreTagInFastQ&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># label = &amp;#34;mytag&amp;#34; # ${output.prefix}.tag.mytag.fq${.suffix_from_format}&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># format = &amp;#34;Raw&amp;#34; # Raw, Gzip, Zstd&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">## compression_level = 6 # (optional) compression level for gzip (0-9) or zstd (1-22)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>						 &lt;span style="color:#75715e"># defaults: gzip=6, zstd=5&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># comment_tags = []# e.g. [&amp;#34;other_tag&amp;#34;] # see StoreTagInComment&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># comment_location_tags = [&amp;#34;mytag&amp;#34;] # (optional) tags to add location info for, defaults to [label]&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># # set to [] to disable location tracking&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># comment_insert_char = &amp;#39; &amp;#39; # (optional) char at which to insert comments&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># comment_separator = &amp;#39;|&amp;#39; # (optional) char to separate comments&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># region_separator = &amp;#34;_&amp;#34; # (optional) char to separate regions in a tag, if it has multiple&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Store the sequence of a tag in a fastq file,
with other tags optionally stored in the read name as comments.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/options/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/options/</guid><description>&lt;h1 id="options">
 Options
 &lt;a class="anchor" href="#options">#&lt;/a>
&lt;/h1>
&lt;p>There is a small set of runtime knobs exposed under &lt;code>[options]&lt;/code>. Most workflows can rely on the defaults.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[&lt;span style="color:#a6e22e">options&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">thread_count&lt;/span> = &lt;span style="color:#ae81ff">-1&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">block_size&lt;/span> = &lt;span style="color:#ae81ff">10000&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">buffer_size&lt;/span> = &lt;span style="color:#ae81ff">102400&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">accept_duplicate_files&lt;/span> = &lt;span style="color:#66d9ef">false&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>Key&lt;/th>
 &lt;th>Default&lt;/th>
 &lt;th>Description&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;code>thread_count&lt;/code>&lt;/td>
 &lt;td>&lt;code>-1&lt;/code>&lt;/td>
 &lt;td>Worker threads for transformations. &lt;code>-1&lt;/code> autotunes per CPU; most runtime is still dominated by decompression threads, so gains are modest.&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>block_size&lt;/code>&lt;/td>
 &lt;td>&lt;code>10000&lt;/code>&lt;/td>
 &lt;td>Number of fragments pulled per batch. Increase for very large runs when IO is abundant; decrease to reduce peak memory use.&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>buffer_size&lt;/code>&lt;/td>
 &lt;td>&lt;code>102400&lt;/code>&lt;/td>
 &lt;td>Initial bytes reserved per block. The allocator grows buffers on demand, so tuning is rarely necessary.&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>accept_duplicate_files&lt;/code>&lt;/td>
 &lt;td>&lt;code>false&lt;/code>&lt;/td>
 &lt;td>Permit the same path to appear multiple times across segments. Useful for fixtures or synthetic tests; keep disabled to catch accidental copy/paste errors.&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;p>Changing these knobs can affect memory pressure and concurrency behaviour. Measure before and after if you deviate from defaults.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/modification-steps/lowercasetag/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/modification-steps/lowercasetag/</guid><description>&lt;h1 id="lowercasetag">
 LowercaseTag
 &lt;a class="anchor" href="#lowercasetag">#&lt;/a>
&lt;/h1>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;LowercaseTag&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">label&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;mytag&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>	&lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;StoreTagInSequence&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>	&lt;span style="color:#a6e22e">label&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;mytag&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Replace the sequence of the tag with it&amp;rsquo;s lowercase version.&lt;/p>
&lt;p>Follow with &lt;a href="https://tyberiusprime.github.io/fastqrab/v0.8.0-test/fastqrab/v0.8.0-test/docs/reference/tag-steps/using/storetaginsequence/">StoreTagInSequence&lt;/a> to apply the lowercase tag back onto the read.&lt;/p>
&lt;p>See &lt;a href="https://tyberiusprime.github.io/fastqrab/v0.8.0-test/fastqrab/v0.8.0-test/docs/reference/tag-steps/">the tag section&lt;/a> for tag generation.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/modification-steps/lowercasesequence/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/modification-steps/lowercasesequence/</guid><description>&lt;h1 id="lowercasesequence">
 LowercaseSequence
 &lt;a class="anchor" href="#lowercasesequence">#&lt;/a>
&lt;/h1>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;LowercaseSequence&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">segment&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;read1&amp;#34;&lt;/span> &lt;span style="color:#75715e"># Any of your input segments, or &amp;#39;All&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Convert the complete sequence to lowercase.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/modification-steps/uppercasesequence/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/modification-steps/uppercasesequence/</guid><description>&lt;h1 id="uppercasesequence">
 UppercaseSequence
 &lt;a class="anchor" href="#uppercasesequence">#&lt;/a>
&lt;/h1>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;UppercaseSequence&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">segment&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;read1&amp;#34;&lt;/span> &lt;span style="color:#75715e"># Any of your input segments, or &amp;#39;All&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Convert the complete sequence to uppercase.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/modification-steps/uppercasetag/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/modification-steps/uppercasetag/</guid><description>&lt;h1 id="uppercasetag">
 UppercaseTag
 &lt;a class="anchor" href="#uppercasetag">#&lt;/a>
&lt;/h1>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;UppercaseTag&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">label&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;mytag&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>	&lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;StoreTagInSequence&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>	&lt;span style="color:#a6e22e">label&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;mytag&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Replace the sequence of the tag with its uppercase version.&lt;/p>
&lt;p>Follow with &lt;a href="https://tyberiusprime.github.io/fastqrab/v0.8.0-test/fastqrab/v0.8.0-test/docs/reference/tag-steps/using/storetaginsequence/">StoreTagInSequence&lt;/a> to apply the uppercase tag back onto the read.&lt;/p>
&lt;p>See &lt;a href="https://tyberiusprime.github.io/fastqrab/v0.8.0-test/fastqrab/v0.8.0-test/docs/reference/tag-steps/">the tag section&lt;/a> for tag generation.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/filter-steps/filtersample/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/filter-steps/filtersample/</guid><description>&lt;h1 id="filtersample">
 FilterSample
 &lt;a class="anchor" href="#filtersample">#&lt;/a>
&lt;/h1>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;FilterSample&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">p&lt;/span> = &lt;span style="color:#ae81ff">0.5&lt;/span> &lt;span style="color:#75715e"># float, the chance for any given read to be kept&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e"># 0..1&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">seed&lt;/span> = &lt;span style="color:#ae81ff">42&lt;/span> &lt;span style="color:#75715e"># (optional) random seed for reproducibility&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Randomly sample a percentage of reads.
Requires a random seed to ensure reproducibility.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/modification-steps/convertquality/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/modification-steps/convertquality/</guid><description>&lt;h1 id="convertquality">
 ConvertQuality
 &lt;a class="anchor" href="#convertquality">#&lt;/a>
&lt;/h1>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;ConvertQuality&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">from&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;Illumina1.8&amp;#34;&lt;/span>&lt;span style="color:#75715e"># Illumin1.8|Illumina1.3|Sanger|Solexa&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">to&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;Solexa&amp;#34;&lt;/span> &lt;span style="color:#75715e"># same range as from. Illumina1.8 is an alias for Sanger&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Convert quality scores between various encodings / meanings.&lt;/p>
&lt;p>See &lt;a href="https://en.wikipedia.org/wiki/Phred_quality_score">https://en.wikipedia.org/wiki/Phred_quality_score&lt;/a>&lt;/p>
&lt;p>Will error if from == to.&lt;/p>
&lt;h2 id="corresponding-options-in-other-software">
 Corresponding options in other software
 &lt;a class="anchor" href="#corresponding-options-in-other-software">#&lt;/a>
&lt;/h2>
&lt;ul>
&lt;li>trimmomatic TOPHRED33&lt;/li>
&lt;/ul></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/modification-steps/cutend/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/modification-steps/cutend/</guid><description>&lt;h3 id="cutend">
 CutEnd
 &lt;a class="anchor" href="#cutend">#&lt;/a>
&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;CutEnd&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">n&lt;/span> = &lt;span style="color:#ae81ff">5&lt;/span> &lt;span style="color:#75715e"># positive integer, cut n nucleotides from the end of the read&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">segment&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;read1&amp;#34;&lt;/span> &lt;span style="color:#75715e"># Any of your input segments (default: read1)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Cut nucleotides from the end of the read.&lt;/p>
&lt;p>May produce empty reads; filter those with &lt;a href="https://tyberiusprime.github.io/fastqrab/v0.8.0-test/fastqrab/v0.8.0-test/docs/reference/filter-steps/filterempty/">FilterEmpty&lt;/a>.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/modification-steps/cutstart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/modification-steps/cutstart/</guid><description>&lt;h3 id="cutstart">
 CutStart
 &lt;a class="anchor" href="#cutstart">#&lt;/a>
&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;CutStart&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">n&lt;/span> = &lt;span style="color:#ae81ff">5&lt;/span> &lt;span style="color:#75715e"># positive integer, cut n nucleotides from the start of the read&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">segment&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;read1&amp;#34;&lt;/span> &lt;span style="color:#75715e"># Any of your input segments&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Cut nucleotides from the start of the read.&lt;/p>
&lt;p>May produce empty reads; filter those with &lt;a href="https://tyberiusprime.github.io/fastqrab/v0.8.0-test/fastqrab/v0.8.0-test/docs/reference/filter-steps/filterempty/">FilterEmpty&lt;/a>.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/modification-steps/extracttoname/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/modification-steps/extracttoname/</guid><description>&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;ExtractRegions&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">regions&lt;/span> = [
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {&lt;span style="color:#a6e22e">segment&lt;/span>= &lt;span style="color:#e6db74">&amp;#34;Read1&amp;#34;&lt;/span>, &lt;span style="color:#a6e22e">start&lt;/span> = &lt;span style="color:#ae81ff">0&lt;/span>, &lt;span style="color:#a6e22e">length&lt;/span> = &lt;span style="color:#ae81ff">8&lt;/span>},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> {&lt;span style="color:#a6e22e">segment&lt;/span>= &lt;span style="color:#e6db74">&amp;#34;Read1&amp;#34;&lt;/span>, &lt;span style="color:#a6e22e">start&lt;/span> = &lt;span style="color:#ae81ff">12&lt;/span>, &lt;span style="color:#a6e22e">length&lt;/span> = &lt;span style="color:#ae81ff">4&lt;/span>},
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> ]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">label&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;umi&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">region_separator&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;_&amp;#34;&lt;/span> &lt;span style="color:#75715e"># (optional) str, what to put between the regions, defaults to &amp;#39;_&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;StoreTagInComment&amp;#34;&lt;/span> 
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">label&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;umi&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Extract a sequence from the read and place it in the read name&amp;rsquo;s comment section,
so a (space separated) &amp;lsquo;key=value&amp;rsquo; pair is added to the read name.&lt;/p>
&lt;p>Supports multiple region-extraction.&lt;/p>
&lt;p>See &lt;a href="https://tyberiusprime.github.io/fastqrab/v0.8.0-test/fastqrab/v0.8.0-test/docs/reference/tag-steps/">the tag section&lt;/a> for more tag generation options.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/modification-steps/head/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/modification-steps/head/</guid><description>&lt;h1 id="head">
 Head
 &lt;a class="anchor" href="#head">#&lt;/a>
&lt;/h1>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;Head&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">n&lt;/span> = &lt;span style="color:#ae81ff">1000&lt;/span> &lt;span style="color:#75715e"># positive integer, number of reads to keep&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Output just the first n molecules.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/modification-steps/rename/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/modification-steps/rename/</guid><description>&lt;h3 id="rename">
 Rename
 &lt;a class="anchor" href="#rename">#&lt;/a>
&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;Rename&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">search&lt;/span> = &lt;span style="color:#e6db74">&amp;#39;(.)/([1/2])$&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">replacement&lt;/span> = &lt;span style="color:#e6db74">&amp;#39;$1 $2&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Apply a regular expression based renaming to the reads.&lt;/p>
&lt;p>It is always applied to all available segments (read1, read2, index1, index2).&lt;/p>
&lt;p>The example above fixes old school MGI reads for downstream processing, like
fastp&amp;rsquo;s &amp;lsquo;&amp;ndash;fix_mgi&amp;rsquo; option&lt;/p>
&lt;p>You can use the full power of the &lt;a href="https://docs.rs/regex/latest/regex/">rust regex crate&lt;/a> here.&lt;/p>
&lt;h4 id="read-index-placeholder">
 Read index placeholder
 &lt;a class="anchor" href="#read-index-placeholder">#&lt;/a>
&lt;/h4>
&lt;p>After the regex replacement runs, the special literal &lt;code>{{READ_INDEX}}&lt;/code> is expanded to
the running 1-based index of each logical read. When multiple segments are present
(for example &lt;code>read1&lt;/code>/&lt;code>read2&lt;/code> pairs), every segment for the same read receives the
same index so pairs stay aligned. This makes it easy to re-sequence identifiers:&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/modification-steps/reversecomplement/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/modification-steps/reversecomplement/</guid><description>&lt;h1 id="reversecomplement">
 ReverseComplement
 &lt;a class="anchor" href="#reversecomplement">#&lt;/a>
&lt;/h1>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;ReverseComplement&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">segment&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;read1&amp;#34;&lt;/span> &lt;span style="color:#75715e"># Any of your input segments (default: read1)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Reverse-complements the read sequence (and reverses the quality).&lt;/p>
&lt;p>This supports IUPAC codes (U is complemented to A, so it&amp;rsquo;s not strictly
reversible). Unknown letters are output verbatim.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/modification-steps/skip/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/modification-steps/skip/</guid><description>&lt;h1 id="skip">
 Skip
 &lt;a class="anchor" href="#skip">#&lt;/a>
&lt;/h1>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;Skip&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">n&lt;/span> = &lt;span style="color:#ae81ff">1000&lt;/span> &lt;span style="color:#75715e"># positive integer, number of reads to skip&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Skips the first n molecules.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/modification-steps/swap/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/modification-steps/swap/</guid><description>&lt;h1 id="swap">
 Swap
 &lt;a class="anchor" href="#swap">#&lt;/a>
&lt;/h1>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;Swap&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">segment_a&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;read1&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">segment_b&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;read2&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Swaps exactly two segments.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/modification-steps/truncate/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/modification-steps/truncate/</guid><description>&lt;h1 id="maxlen">
 MaxLen
 &lt;a class="anchor" href="#maxlen">#&lt;/a>
&lt;/h1>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;Truncate&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">n&lt;/span> = &lt;span style="color:#ae81ff">100&lt;/span> &lt;span style="color:#75715e"># the maximum length of the read. Cut at end if longer&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">segment&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;read1&amp;#34;&lt;/span> &lt;span style="color:#75715e"># Any of your input segments (default: read1)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Cut the read down to `n&amp;rsquo; bases.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/out_of_scope/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/out_of_scope/</guid><description>&lt;h1 id="out-of-scope">
 Out of scope
 &lt;a class="anchor" href="#out-of-scope">#&lt;/a>
&lt;/h1>
&lt;p>Things mbf-fastq-processor will explicitly not do and that won&amp;rsquo;t be implemented.&lt;/p>
&lt;h2 id="anything-based-on-averaging-phred-scores">
 Anything based on averaging phred scores
 &lt;a class="anchor" href="#anything-based-on-averaging-phred-scores">#&lt;/a>
&lt;/h2>
&lt;p>Based on the average quality in a sliding window.
Arithmetic averaging of phred scores is wrong.&lt;/p>
&lt;p>see &lt;a href="https://tyberiusprime.github.io/fastqrab/v0.8.0-test/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/extractmeanquality/">ExtractMeanQuality&lt;/a>&lt;/p>
&lt;h3 id="corresponding-options-in-other-software">
 Corresponding options in other software
 &lt;a class="anchor" href="#corresponding-options-in-other-software">#&lt;/a>
&lt;/h3>
&lt;ul>
&lt;li>Trimmomatic SLIDINGWINDOW&lt;/li>
&lt;li>fastp &amp;ndash;cut_front&lt;/li>
&lt;li>fastp &amp;ndash;cut_tail&lt;/li>
&lt;li>fastp &amp;ndash;cut_right&lt;/li>
&lt;/ul>
&lt;h2 id="fast5">
 Fast5
 &lt;a class="anchor" href="#fast5">#&lt;/a>
&lt;/h2>
&lt;p>&lt;a href="https://medium.com/@shiansu/a-look-at-the-nanopore-fast5-format-f711999e2ff6">https://medium.com/@shiansu/a-look-at-the-nanopore-fast5-format-f711999e2ff6&lt;/a>
Oxford Nanopore squiggle data.
Apparently no formal spec.&lt;/p>
&lt;h2 id="kallisto-bus-format">
 kallisto BUS format
 &lt;a class="anchor" href="#kallisto-bus-format">#&lt;/a>
&lt;/h2>
&lt;pre>&lt;code>- a brief barcode/umi format for single cell RNA-seq
- needs an 'equivalance class' - i.e. at least pseudo alignment
- weird length restrictions on barcodes and umis (1(!)-32), 
 but stores the length in an uint32...
&lt;/code>&lt;/pre></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/report-steps/inspect/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/report-steps/inspect/</guid><description>&lt;h3 id="inspect">
 Inspect
 &lt;a class="anchor" href="#inspect">#&lt;/a>
&lt;/h3>
&lt;p>Dump a few reads to a file for inspection at this point in the graph.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;Inspect&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">n&lt;/span> = &lt;span style="color:#ae81ff">1000&lt;/span> &lt;span style="color:#75715e"># how many reads&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">infix&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;inspect_at_point&amp;#34;&lt;/span> &lt;span style="color:#75715e"># output filename infix&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">segment&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;read1&amp;#34;&lt;/span> &lt;span style="color:#75715e"># Any of your input segments&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">suffix&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;compressed&amp;#34;&lt;/span> &lt;span style="color:#75715e"># (optional) custom suffix for filename&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">format&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;gzip&amp;#34;&lt;/span> &lt;span style="color:#75715e"># (optional) compression format: raw, gzip, zstd (defaults to raw)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">compression_level&lt;/span> = &lt;span style="color:#ae81ff">1&lt;/span> &lt;span style="color:#75715e"># (optional) compression level for gzip (0-9) or zstd (1-22)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e"># defaults: gzip=6, zstd=5&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Output filename pattern:&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/report-steps/progress/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/report-steps/progress/</guid><description>&lt;h1 id="progress">
 Progress
 &lt;a class="anchor" href="#progress">#&lt;/a>
&lt;/h1>
&lt;p>Emit progress to stdout (default) or a .progress log file,
if output_infix is set. (filename is {output_prefix}_{infix}.progress)&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;Progress&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">n&lt;/span> = &lt;span style="color:#ae81ff">100_000&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">output_infix&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;progress&amp;#34;&lt;/span> &lt;span style="color:#75715e"># optional&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Every &lt;code>n&lt;/code> reads, report on total progress, total reads per second.
At the end, report final runtime and reads/second.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/extractlowcomplexity/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/extractlowcomplexity/</guid><description>&lt;h1 id="extractlowcomplexity">
 ExtractLowComplexity
 &lt;a class="anchor" href="#extractlowcomplexity">#&lt;/a>
&lt;/h1>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;ExtractLowComplexity&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">label&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;complexity&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">segment&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;read1&amp;#34;&lt;/span> &lt;span style="color:#75715e"># Any of your input segments, or &amp;#39;All&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Calculate read complexity, based on the percentage of bases that are changed from their predecessor.&lt;/p>
&lt;p>A good filter value might be 0.30, which means 30% complexity is required. See
&lt;a href="https://tyberiusprime.github.io/fastqrab/v0.8.0-test/fastqrab/v0.8.0-test/docs/reference/filter-steps/filterbynumerictag/">FilterByNumericTag&lt;/a>.&lt;/p>
&lt;h2 id="corresponding-options-in-other-software">
 Corresponding options in other software
 &lt;a class="anchor" href="#corresponding-options-in-other-software">#&lt;/a>
&lt;/h2>
&lt;ul>
&lt;li>fastp: -low_complexity_filter&lt;/li>
&lt;/ul></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/extractlowqualityend/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/extractlowqualityend/</guid><description>&lt;h1 id="trimqualityend">
 TrimQualityEnd
 &lt;a class="anchor" href="#trimqualityend">#&lt;/a>
&lt;/h1>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;ExtractLowQualityEnd&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">label&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;low_quality_ends&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">min_qual&lt;/span> = &lt;span style="color:#ae81ff">20&lt;/span> &lt;span style="color:#75715e"># u8, minimum quality to keep (in whatever your score is encoded in)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e"># either a char like &amp;#39;A&amp;#39; or a number 0..128 (typical phred score is 33..75)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">segment&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;read1&amp;#34;&lt;/span> &lt;span style="color:#75715e"># Any of your input segments&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Define a region of low quality bases at the end of reads.&lt;/p>
&lt;h2 id="corresponding-options-in-other-software">
 Corresponding options in other software
 &lt;a class="anchor" href="#corresponding-options-in-other-software">#&lt;/a>
&lt;/h2>
&lt;ul>
&lt;li>Trimmomatic: TRAILING (if paired with &lt;a href="https://tyberiusprime.github.io/fastqrab/v0.8.0-test/fastqrab/v0.8.0-test/docs/reference/modification-steps/trimattag/">TrimAtTag&lt;/a>)&lt;/li>
&lt;/ul></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/extractlowqualitystart/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/extractlowqualitystart/</guid><description>&lt;h1 id="trimqualitystart">
 TrimQualityStart
 &lt;a class="anchor" href="#trimqualitystart">#&lt;/a>
&lt;/h1>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;ExtractLowQualityStart&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">min_qual&lt;/span> = &lt;span style="color:#ae81ff">20&lt;/span> &lt;span style="color:#75715e"># u8, minimum quality to keep (in whatever your score is encoded in)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e"># either a char like &amp;#39;A&amp;#39; or a number 0..128 (typical phred score is 33..75)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">segment&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;read1&amp;#34;&lt;/span> &lt;span style="color:#75715e"># Any of your input segments&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">label&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;bad_starts&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Define a region with low quality bases (below threshold) at steart of read.&lt;/p>
&lt;h2 id="corresponding-options-in-other-software">
 Corresponding options in other software
 &lt;a class="anchor" href="#corresponding-options-in-other-software">#&lt;/a>
&lt;/h2>
&lt;ul>
&lt;li>Trimmomatic: LEADING (if combined with &lt;a href="https://tyberiusprime.github.io/fastqrab/v0.8.0-test/fastqrab/v0.8.0-test/docs/reference/modification-steps/trimattag/">TrimAtTag&lt;/a>)&lt;/li>
&lt;/ul></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/extractmeanquality/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/extractmeanquality/</guid><description>&lt;h3 id="extractmeanquality">
 ExtractMeanQuality
 &lt;a class="anchor" href="#extractmeanquality">#&lt;/a>
&lt;/h3>
&lt;p>We don&amp;rsquo;t support calculating the &amp;lsquo;average quality&amp;rsquo;.&lt;/p>
&lt;p>This is typically a bad idea, see &lt;a href="https://www.drive5.com/usearch/manual/avgq.html">https://www.drive5.com/usearch/manual/avgq.html&lt;/a> for a discussion of the issues.&lt;/p>
&lt;p>To illustrate, 140 x Q35 + 10 x Q2 reads have an &amp;lsquo;average&amp;rsquo; phred of 33, but 6.4 expected wrong bases
A read with 150 x Q25 has a much wores &amp;lsquo;average&amp;rsquo; phred of 25, but a much lower expected number of errors at 0.5!&lt;/p>
&lt;h2 id="corresponding-options-in-other-software">
 Corresponding options in other software
 &lt;a class="anchor" href="#corresponding-options-in-other-software">#&lt;/a>
&lt;/h2>
&lt;ul>
&lt;li>Trimmomatic: AVGQUAL:&lt;/li>
&lt;li>fastp: &amp;ndash;average_qual&lt;/li>
&lt;/ul></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/extractpolytail/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/extractpolytail/</guid><description>&lt;h1 id="extractpolytail">
 ExtractPolyTail
 &lt;a class="anchor" href="#extractpolytail">#&lt;/a>
&lt;/h1>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;ExtractPolyTail&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">label&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;tag-label&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">segment&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;read1&amp;#34;&lt;/span> &lt;span style="color:#75715e"># Any of your input segments (default: read1)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">min_length&lt;/span> = &lt;span style="color:#ae81ff">5&lt;/span> &lt;span style="color:#75715e"># positive integer, the minimum number of repeats of the base&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">base&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;A&amp;#34;&lt;/span> &lt;span style="color:#75715e"># one of AGTCN., the &amp;#39;base&amp;#39; to trim (or . for any repeated base)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">max_mismatch_rate&lt;/span> = &lt;span style="color:#ae81ff">0.1&lt;/span> &lt;span style="color:#75715e"># float 0.0..=1.0, how many mismatches are allowed in the repeat&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">max_consecutive_mismatches&lt;/span> = &lt;span style="color:#ae81ff">3&lt;/span> &lt;span style="color:#75715e"># how many consecutive mismatches are allowed&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;TrimAtTag&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">label&lt;/span> =&lt;span style="color:#e6db74">&amp;#34;tag-label&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">direction&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;End&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">keep_tag&lt;/span> = &lt;span style="color:#66d9ef">false&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Identify either a specific letter (AGTC or N) repetition,
or any base repetition (base = &amp;lsquo;.&amp;rsquo;) at the end of the read.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/extractqualifiedbases/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/extractqualifiedbases/</guid><description>&lt;p>#ExtractQualifiedBases&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;ExtractQualifiedBases&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">min_quality&lt;/span> = &lt;span style="color:#ae81ff">30&lt;/span> &lt;span style="color:#75715e"># the quality value &amp;gt;= which a base is qualified &lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e"># In your phred encoding. Typically 33..75&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e"># a byte or a number 0...255&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">segment&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;read1&amp;#34;&lt;/span> &lt;span style="color:#75715e"># Any of your input segments, or &amp;#39;All&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">label&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;tag_name&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Calculate by the percentage of bases that are &amp;lsquo;unqualified&amp;rsquo;,
that is below a user defined threshold.&lt;/p>
&lt;h2 id="corresponding-options-in-other-software">
 Corresponding options in other software
 &lt;a class="anchor" href="#corresponding-options-in-other-software">#&lt;/a>
&lt;/h2>
&lt;ul>
&lt;li>fastp : &amp;ndash;qualified_quality_phred / &amp;ndash;unqualified_percent_limit (if combined with &lt;a href="https://tyberiusprime.github.io/fastqrab/v0.8.0-test/fastqrab/v0.8.0-test/docs/reference/filter-steps/filterbynumerictag/">FilterByNumericTag&lt;/a>)&lt;/li>
&lt;/ul></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/tagduplicates/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/tagduplicates/</guid><description>&lt;h3 id="filterduplicates">
 FilterDuplicates
 &lt;a class="anchor" href="#filterduplicates">#&lt;/a>
&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;TagDuplicates&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">false_positive_rate&lt;/span> = &lt;span style="color:#ae81ff">0.00001&lt;/span> &lt;span style="color:#75715e">#&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e"># the false positive rate of the filter.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e"># 0..1&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">seed&lt;/span> = &lt;span style="color:#ae81ff">59&lt;/span> &lt;span style="color:#75715e"># required!&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">segment&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;All&amp;#34;&lt;/span> &lt;span style="color:#75715e"># Any of your input segments, or &amp;#39;All&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">label&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;dups&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;FilterByBoolTag&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">label&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;dups&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">keep_or_remove&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;Remove&amp;#34;&lt;/span> &lt;span style="color:#75715e"># Keep|Remove&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Tag duplicates (2nd onwards) from the stream using a &lt;a href="https://en.wikipedia.org/wiki/Cuckoo_filter">Cuckoo filter&lt;/a>.&lt;/p>
&lt;p>That&amp;rsquo;s a probabilistic data structure, accordingly there&amp;rsquo;s a false positive rate,
and a tunable memory requirement.&lt;/p>
&lt;p>Needs a seed for the random number generator, and a segment
to know which reads to consider for deduplication (filters the complete molecule, like
all other filters of course).&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/using/hammingcorrect/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/using/hammingcorrect/</guid><description>&lt;h1 id="hammingcorrect">
 HammingCorrect
 &lt;a class="anchor" href="#hammingcorrect">#&lt;/a>
&lt;/h1>
&lt;p>Correct a tag to one of a predefined set of &amp;lsquo;barcodes&amp;rsquo; using closest hamming distance.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;HammingCorrect&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">label_in&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;extracted_tag&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">label_out&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;corrected_tag&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">barcodes&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;mybarcodelist&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">max_hamming_distance&lt;/span> = &lt;span style="color:#ae81ff">1&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">on_no_match&lt;/span> = &lt;span style="color:#e6db74">&amp;#39;remove&amp;#39;&lt;/span> &lt;span style="color:#75715e"># &amp;#39;remove&amp;#39;, &amp;#39;empty&amp;#39;, &amp;#39;keep&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>[&lt;span style="color:#a6e22e">barcodes&lt;/span>.&lt;span style="color:#a6e22e">mybarcodelist&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#34;AAAA&amp;#34;&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;ignored&amp;#34;&lt;/span> &lt;span style="color:#75715e"># only read when demultiplexing &lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>on_no_match controls what happens if the tag cannot be corrected within the max_hamming_distance:&lt;/p>
&lt;ul>
&lt;li>remove: Remove the hit (location and sequence), useful for &lt;a href="https://tyberiusprime.github.io/fastqrab/v0.8.0-test/fastqrab/v0.8.0-test/docs/reference/filter-steps/filterbytag/">FilterByTag&lt;/a> later.&lt;/li>
&lt;li>keep: Keep the original tag (and location)&lt;/li>
&lt;li>empty: Keep the original location, but set the tag to empty.&lt;/li>
&lt;/ul></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/validation-steps/validatename/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/validation-steps/validatename/</guid><description>&lt;h1 id="validatename">
 ValidateName
 &lt;a class="anchor" href="#validatename">#&lt;/a>
&lt;/h1>
&lt;p>Verify that all segments expose the same read name (or a shared prefix).&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;ValidateName&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e"># Optional separator character; the comparison stops at the first match&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">readname_end_char&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;_&amp;#34;&lt;/span> &lt;span style="color:#75715e"># Optional. Do not set for exact matching. Otherwise, a byte character&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>When no separator character is provided the
entire name must match exactly across all segments.&lt;/p>
&lt;p>Otherwise the read names are truncated after the first readname_end_char,
and the prefixes must match exactly. For example, use &lt;code>readname_end_char = &amp;quot;_&amp;quot;&lt;/code> for typical
Illumina _1/_2 suffixes.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/validation-steps/validatequality/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/validation-steps/validatequality/</guid><description>&lt;h1 id="validatequality">
 ValidateQuality
 &lt;a class="anchor" href="#validatequality">#&lt;/a>
&lt;/h1>
&lt;p>Validate that all scores are between 33..=41&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;ValidateQuality&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">segment&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;read1&amp;#34;&lt;/span> &lt;span style="color:#75715e"># Any of your input segments, or &amp;#39;All&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">encoding&lt;/span> = &lt;span style="color:#e6db74">&amp;#39;Illumina1.8&amp;#39;&lt;/span> &lt;span style="color:#75715e"># &amp;#39;Illumina1.8|Illumina1.3|Sanger|Solexa&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e"># Illumina1.8 is an alias for Sanger.&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>The encoding defines the accepted range of values.&lt;/p>
&lt;p>If you want to convert quality codes, use &lt;a href="https://tyberiusprime.github.io/fastqrab/v0.8.0-test/fastqrab/v0.8.0-test/docs/reference/modification-steps/convertquality/">ConvertQuality&lt;/a>.&lt;/p>
&lt;p>See &lt;a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC2847217/">https://pmc.ncbi.nlm.nih.gov/articles/PMC2847217/&lt;/a> , table 1&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/validation-steps/validateseq/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/validation-steps/validateseq/</guid><description>&lt;h1 id="validateseq">
 ValidateSeq
 &lt;a class="anchor" href="#validateseq">#&lt;/a>
&lt;/h1>
&lt;p>Validate that only allowed characters are in the sequence.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;ValidateSeq&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">allowed&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;AGTC&amp;#34;&lt;/span> &lt;span style="color:#75715e"># String. Example &amp;#39;ACGTN&amp;#39;, the allowed characters&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">segment&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;read1&amp;#34;&lt;/span> &lt;span style="color:#75715e"># Any of your input segments, or &amp;#39;All&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>(Older) Documentation Versions</title><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/older_versions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/older_versions/</guid><description>&lt;p>Available builds:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://tyberiusprime.github.io/fastqrab/main/">main&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://tyberiusprime.github.io/fastqrab/v0.8.1/">v0.8.1&lt;/a>&lt;/li>
&lt;li>&lt;strong>v0.8.0-test&lt;/strong> (this build)&lt;/li>
&lt;li>&lt;a href="https://tyberiusprime.github.io/fastqrab/v0.8.0/">v0.8.0&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>Extract GC Content</title><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/extractgccontent/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/extractgccontent/</guid><description>&lt;h1 id="extractgccontent">
 ExtractGCContent
 &lt;a class="anchor" href="#extractgccontent">#&lt;/a>
&lt;/h1>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;ExtractGCContent&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">segment&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;read1&amp;#34;&lt;/span> &lt;span style="color:#75715e"># Any of your input segments, or &amp;#39;All&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">label&lt;/span>=&lt;span style="color:#e6db74">&amp;#34;gc&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Count what percentage of bases are GC (as opposed to AT).
Non-AGTC bases (e.g. N) are ignored in both the numerator and denominator.&lt;/p></description></item><item><title>Extract N Count</title><link>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/extractncount/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/v0.8.0-test/docs/reference/tag-steps/generation/extractncount/</guid><description>&lt;h1 id="extractncount">
 ExtractNCount
 &lt;a class="anchor" href="#extractncount">#&lt;/a>
&lt;/h1>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-toml" data-lang="toml">&lt;span style="display:flex;">&lt;span>[[&lt;span style="color:#a6e22e">step&lt;/span>]]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">action&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;ExtractNCount&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">segment&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;read1&amp;#34;&lt;/span> &lt;span style="color:#75715e"># Any of your input segments, or &amp;#39;All&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">label&lt;/span>=&lt;span style="color:#e6db74">&amp;#34;ncount&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Count how many N are present in the read&lt;/p>
&lt;h2 id="corresponding-options-in-other-software">
 Corresponding options in other software
 &lt;a class="anchor" href="#corresponding-options-in-other-software">#&lt;/a>
&lt;/h2>
&lt;ul>
&lt;li>fastp: &amp;ndash;n_base_limit (if combined with &lt;a href="https://tyberiusprime.github.io/fastqrab/v0.8.0-test/fastqrab/v0.8.0-test/docs/reference/filter-steps/filterbynumerictag/">FilterByNumericTag&lt;/a>)&lt;/li>
&lt;/ul></description></item></channel></rss>