<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Reference on fastqrab documentation</title><link>https://tyberiusprime.github.io/fastqrab/main/docs/reference/</link><description>Recent content in Reference on fastqrab documentation</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://tyberiusprime.github.io/fastqrab/main/docs/reference/index.xml" rel="self" type="application/rss+xml"/><item><title>LLM Configuration Guide</title><link>https://tyberiusprime.github.io/fastqrab/main/docs/reference/llm-guide/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/main/docs/reference/llm-guide/</guid><description>&lt;h1 id="llm-configuration-generation-guide">
 LLM Configuration Generation Guide
 &lt;a class="anchor" href="#llm-configuration-generation-guide">#&lt;/a>
&lt;/h1>
&lt;p>This guide is optimized for Large Language Models to generate valid &lt;code>fastqrab&lt;/code> configurations. It provides structured information with explicit types, constraints, and patterns.&lt;/p>
&lt;h2 id="configuration-structure">
 Configuration Structure
 &lt;a class="anchor" href="#configuration-structure">#&lt;/a>
&lt;/h2>
&lt;p>Every configuration has 3 required sections and 2 optional sections:&lt;/p>
&lt;pre tabindex="0">&lt;code># example-only - structure overview, not valid TOML
[input] # REQUIRED: Define input files
[[step]] # OPTIONAL: Processing steps (0 or more, order matters)
[output] # REQUIRED: Output configuration
[barcodes.*] # OPTIONAL: Barcode definitions for demultiplexing
[options] # OPTIONAL: Global processing options
&lt;/code>&lt;/pre>&lt;h2 id="quick-start-patterns">
 Quick Start Patterns
 &lt;a class="anchor" href="#quick-start-patterns">#&lt;/a>
&lt;/h2>
&lt;h3 id="pattern-1-basic-quality-report">
 Pattern 1: Basic Quality Report
 &lt;a class="anchor" href="#pattern-1-basic-quality-report">#&lt;/a>
&lt;/h3>
&lt;p>Generate reports without modifying sequences.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/main/docs/reference/CLI/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/main/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>fastqrab 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>fastqrab process [config.toml|-] [--allow-overwrite]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>fastqrab template
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>fastqrab verify [config.toml] [--output-dir &amp;lt;OUTPUT_DIR&amp;gt;]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>fastqrab interactive [config.toml]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>fastqrab completions &amp;lt;SHELL&amp;gt;
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="process">
 Process
 &lt;a class="anchor" href="#process">#&lt;/a>
&lt;/h3>
&lt;p>Process FASTQ as described in &amp;lt;config.toml&amp;gt;.(see the &lt;a href="https://tyberiusprime.github.io/fastqrab/main/fastqrab/main/docs/reference/toml/">TOML format reference&lt;/a>).
Relative paths are resolved against the current shell directory.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/main/docs/reference/input-section/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/main/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 read 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/main/docs/reference/output-section/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/main/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;Fastq&amp;#34;&lt;/span>, &lt;span style="color:#75715e"># (optional) output format, defaults to &amp;#39;Fastq&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>					 &lt;span style="color:#75715e"># Valid values are: Fastq, Fasta, BAM and None (for no sequence output)&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;Gzip&amp;#34;&lt;/span> &lt;span style="color:#75715e"># Raw | Uncompressed | Gzip | Zstd | None (default: Raw)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">compression_threads&lt;/span> = &lt;span style="color:#ae81ff">5&lt;/span> &lt;span style="color:#75715e"># (optional) number of threads to use for compressing gzip data&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, bam: 0-9 (BGZF); defaults are gzip=6, zstd=5&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">ix_separator&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;_&amp;#34;&lt;/span> &lt;span style="color:#75715e"># optional separator between prefix, infixes, and segments. 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">report_json&lt;/span> = &lt;span style="color:#66d9ef">false&lt;/span> &lt;span style="color:#75715e"># write prefix.json (default: false)&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 (default: false)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">report_timing&lt;/span> = &lt;span style="color:#66d9ef">false&lt;/span> &lt;span style="color:#75715e"># write prefix.timing.json (default: false)&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 style="color:#a6e22e">chunk_size&lt;/span> = &lt;span style="color:#ae81ff">100000&lt;/span> &lt;span style="color:#75715e"># Write multiple, numbered output files, each a maximum of chunk_size reads/molecules.&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;span style="display:flex;">&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:#a6e22e">bam&lt;/span>] &lt;span style="color:#75715e"># only valid when format = bam&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">comment_separation_char&lt;/span> = &lt;span style="color:#e6db74">&amp;#39; &amp;#39;&lt;/span> &lt;span style="color:#75715e"># read parts after this get put into a &amp;#39;CO&amp;#39; tag (free-text comment, null terminated in BAM)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">tag_to_bam_tag&lt;/span> = {&lt;span style="color:#e6db74">&amp;#39;a-tag-label&amp;#39;&lt;/span>&lt;span style="color:#960050;background-color:#1e0010">:&lt;/span> &lt;span style="color:#e6db74">&amp;#39;XY&amp;#39;&lt;/span>} &lt;span style="color:#75715e"># write a-tag-label to bam tag &amp;#39;xz&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">tag_to_reference&lt;/span> = {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">tag&lt;/span> = &lt;span style="color:#e6db74">&amp;#39;assigned-barcode-name&amp;#39;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e"># needs one of &lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e"># references_from_bam = &amp;#34;template.bam&amp;#34;, # take reference information from here&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e"># or&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">references_from_barcodes&lt;/span> = &lt;span style="color:#e6db74">&amp;#39;barcode-section-name&amp;#39;&lt;/span> &lt;span style="color:#75715e"># take references from this barcode section.&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&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;Fastq&amp;quot;&lt;/code>&lt;/td>
 &lt;td>Output format. Valid values are: &lt;code>Fastq&lt;/code>, &lt;code>Fasta&lt;/code>, &lt;code>Bam&lt;/code>, and &lt;code>None&lt;/code> (for no sequence output).&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>compression&lt;/code>&lt;/td>
 &lt;td>&lt;code>&amp;quot;Uncompressed&amp;quot;&lt;/code>&lt;/td>
 &lt;td>Compression format for read outputs. Valid values are: &lt;code>Gzip&lt;/code>, &lt;code>Zstd&lt;/code>, &lt;code>Uncompressed&lt;/code> (alias: &lt;code>&amp;quot;Raw&amp;quot;&lt;/code>). Must not be set for BAM&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>compression_threads&lt;/code>&lt;/td>
 &lt;td>auto&lt;/td>
 &lt;td>if using gzip compression, how many thread should be used for compression. See &lt;a href="https://tyberiusprime.github.io/fastqrab/main/fastqrab/main/docs/reference/threading/">threading&lt;/a>&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;code>Bam&lt;/code> maps directly to the BGZF level (0–9).&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>report_timing&lt;/code>&lt;/td>
 &lt;td>&lt;code>false&lt;/code>&lt;/td>
 &lt;td>Emit a JSON file with detailed timing information for all steps.&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;tr>
 &lt;td>&lt;code>ix_separator&lt;/code>&lt;/td>
 &lt;td>&lt;code>&amp;quot;_&amp;quot;&lt;/code>&lt;/td>
 &lt;td>Separator inserted between &lt;code>prefix&lt;/code>, any infix (demultiplex labels, inspect names, etc.), and segment names.&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>chunk_size&lt;/code>&lt;/td>
 &lt;td>(unlimited)&lt;/td>
 &lt;td>Split outputs into multiple files, each containing at most &lt;code>chunk_size&lt;/code> reads/molecules. For non-interleaved output files, it&amp;rsquo;s &lt;code>chunk_size&lt;/code> reads, for interleaved files it&amp;rsquo;s molecules. This means when mixing interleaved and non-interleaved output, you get the same number of files. Files are numbered sequentially, e.g. &lt;code>output_read1_0.fq.gz&lt;/code>, &amp;hellip;, Numbers start at 0 and use the minimum number of (base 10) digits necessary for alphabetical sorting (by renaming already produced files whenever an extension is needed).&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;p>Generated filenames join these components with &lt;code>ix_separator&lt;/code> (default &lt;code>_&lt;/code>), e.g. &lt;code>{prefix}_{segment}{suffix}&lt;/code>. Interleaving replaces &lt;code>segment&lt;/code> with &lt;code>interleaved&lt;/code>; demultiplexing adds per-barcode infixes before the segment. Checksums use &lt;code>.uncompressed.sha256&lt;/code> or &lt;code>.compressed.sha256&lt;/code> suffixes.&lt;/p></description></item><item><title>Barcodes section</title><link>https://tyberiusprime.github.io/fastqrab/main/docs/reference/barcodes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/main/docs/reference/barcodes/</guid><description>&lt;h1 id="barcodes-section">
 &lt;code>[barcodes.*]&lt;/code> section
 &lt;a class="anchor" href="#barcodes-section">#&lt;/a>
&lt;/h1>
&lt;p>Barcode tables supply the sequence-to-sample-name mappings used by
&lt;a href="https://tyberiusprime.github.io/fastqrab/main/fastqrab/main/docs/reference/Demultiplex/">Demultiplex&lt;/a>,
[HammingCorrect](/fastqrab/main/docs/reference/tag-steps/using/HammingCorrect/
and
&lt;a href="https://tyberiusprime.github.io/fastqrab/main/fastqrab/main/docs/reference/tag-steps/using/AssignToReference/">AssignToReference&lt;/a>
).&lt;/p>
&lt;p>Each table is an independent named dictionary. The name is chosen by the
user and referenced from the step that consumes it.&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"># ignore_in_test&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">my_barcodes&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">AAAAAA&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;sample-1&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">CCCCCC&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;sample-2&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#a6e22e">GGGGGG&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;sample-3&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>The table may appear anywhere in the TOML file; forward and backward
references are both valid.&lt;/p>
&lt;h2 id="key-format">
 Key format
 &lt;a class="anchor" href="#key-format">#&lt;/a>
&lt;/h2>
&lt;p>Keys are DNA sequences using uppercase IUPAC nucleotide codes.
All standard IUPAC ambiguity codes are accepted (e.g. &lt;code>N&lt;/code>, &lt;code>R&lt;/code>, &lt;code>Y&lt;/code>, &lt;code>W&lt;/code>, …).&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/main/docs/reference/Demultiplex/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/main/docs/reference/Demultiplex/</guid><description>&lt;h2 id="demultiplexed-output">
 Demultiplexed output
 &lt;a class="anchor" href="#demultiplexed-output">#&lt;/a>
&lt;/h2>
&lt;p>&lt;a href="https://tyberiusprime.github.io/fastqrab/main/fastqrab/main/docs/reference/Demultiplex/">Demultiplex&lt;/a> is a &amp;lsquo;magic&amp;rsquo; transformation that forks the output.&lt;/p>
&lt;p>You receive one set of output files per barcode (combination) defined.&lt;/p>
&lt;p>Transformations downstream are (virtually) duplicated,
so you can for example filter to the head reads in each barcode,
and get reports for both: all reads and each separate barcode.&lt;/p>
&lt;p>Demultiplexing can be done on barcodes, or on boolean tags, and can happen multiple times.&lt;/p>
&lt;h3 id="based-on-barcodes">
 Based on barcodes
 &lt;a class="anchor" href="#based-on-barcodes">#&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;Demultiplex&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">in_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 are named prefix{ix_separator}barcode_prefix{ix_separator}segment.suffix&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e"># with the separator defaulting to &amp;#39;_&amp;#39;, 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"># or output_sample-1_report.fq.gz&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="based-on-boolean-tags">
 Based on boolean tags
 &lt;a class="anchor" href="#based-on-boolean-tags">#&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;TagOtherFile&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">source&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;name:read1&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">out_label&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;a_bool_tag&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;path/to/boolean_tags.tsv&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&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;Demultiplex&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">in_label&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;a_bool_tag&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e"># output_unmatched = is not valid for boolean tags&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Note that this example does not
extract the barcodes from the read
(use an extract step, such as &lt;a href="https://tyberiusprime.github.io/fastqrab/main/fastqrab/main/docs/reference/tag-steps/extract/ExtractRegion/">ExtractRegion&lt;/a>).&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/main/docs/reference/Options/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/main/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>.&lt;/p>
&lt;p>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">threads&lt;/span> = &lt;span style="color:#ae81ff">10&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">max_blocks_in_flight&lt;/span> = &lt;span style="color:#ae81ff">100&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;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">spot_check_read_pairing&lt;/span> = &lt;span style="color:#66d9ef">true&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>threads&lt;/code>&lt;/td>
 &lt;td>(auto)&lt;/td>
 &lt;td>Worker threads for transformations. See &lt;a href="https://tyberiusprime.github.io/fastqrab/main/fastqrab/main/docs/reference/threading/">threading&lt;/a>.&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;code>max_blocks_in_flight&lt;/code>&lt;/td>
 &lt;td>&lt;code>100&lt;/code>&lt;/td>
 &lt;td>How many blocks may be concurrently being processed. Lowering this limits RAM usage.&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;tr>
 &lt;td>&lt;code>spot_check_read_pairing&lt;/code>&lt;/td>
 &lt;td>&lt;code>true&lt;/code>&lt;/td>
 &lt;td>Sample every 1000th fragment to ensure paired reads still share a name prefix; disable when names are intentionally divergent or rely on &lt;code>ValidateName&lt;/code> to customise the separator.&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;p>Changing these knobs can affect memory pressure and concurrency behavior.&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/main/docs/reference/threading/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/main/docs/reference/threading/</guid><description>&lt;h1 id="multithreading-considerations">
 Multithreading considerations
 &lt;a class="anchor" href="#multithreading-considerations">#&lt;/a>
&lt;/h1>
&lt;p>Mbf-fastq-processor is inherently multi-threaded, and strives
to make full use of your machine&amp;rsquo;s cores.&lt;/p>
&lt;p>Usually, you should not need to influence the thread counts.&lt;/p>
&lt;p>If you want to limit CPU usage, we suggest either systemd based resource control
or tools like [cpulimit] (&lt;a href="https://github.com/opsengine/cpulimit">https://github.com/opsengine/cpulimit&lt;/a>) instead of coarsely
changing thread counts.&lt;/p>
&lt;h2 id="threading-architecture">
 Threading architecture
 &lt;a class="anchor" href="#threading-architecture">#&lt;/a>
&lt;/h2>
&lt;p>Mbf-fastq-processor runs the following thread stack for a (non-interleaved configuration):&lt;/p>
&lt;pre tabindex="0">&lt;code>[decompression / reader threads]
 ↓
[parsers]
 ↓
combining thread
 ↓
[workpool handling steps]
 ↓
[output threads]
&lt;/code>&lt;/pre>&lt;h3 id="decompression--reader-threads">
 Decompression / reader threads
 &lt;a class="anchor" href="#decompression--reader-threads">#&lt;/a>
&lt;/h3>
&lt;p>The number of decompression / reading threads is
(in order of precedence)&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/main/docs/reference/benchmark-section/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/main/docs/reference/benchmark-section/</guid><description>&lt;h1 id="benchmark">
 Benchmark
 &lt;a class="anchor" href="#benchmark">#&lt;/a>
&lt;/h1>
&lt;p>For profiling and benchmarking (individual) steps,
fastqrab has a special benchmark mode.&lt;/p>
&lt;p>This mode focuses on benchmarking the steps,
and avoids (most) input and output runtime.&lt;/p>
&lt;p>Enable it by adding this TOML section.
The output section becomes optional (and ignored)
when benchmarking is enabled.&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">benchmark&lt;/span>]
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">enable&lt;/span> = &lt;span style="color:#66d9ef">true&lt;/span> &lt;span style="color:#75715e"># required to enable benchmark mode&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">quiet&lt;/span> = &lt;span style="color:#66d9ef">false&lt;/span> &lt;span style="color:#75715e"># default. If true, don&amp;#39;t output timing information&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">molecule_count&lt;/span> = &lt;span style="color:#ae81ff">1_000_000&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Benchmark mode:&lt;/p>
&lt;ul>
&lt;li>Disables (regular) output&lt;/li>
&lt;li>runs in a temp directory,&lt;/li>
&lt;li>repeats the first molecule &amp;lsquo;block&amp;rsquo; of &lt;a href="https://tyberiusprime.github.io/fastqrab/main/fastqrab/main/docs/reference/Options/">&lt;code>Options.block_size&lt;/code>&lt;/a> reads
until &lt;code>molecule_count&lt;/code> has been exceeded.&lt;/li>
&lt;/ul>
&lt;p>The last point means that we will spent very little time in
reading &amp;amp; decompression (without rapidgzip / parallel BAM processing the largest
runtime parts), and focus on the steps. The drawback here is that your pipeline
sees the same reads over and over, which of course will lead to a different
&amp;lsquo;hit&amp;rsquo; profile for set based tests such as duplication counting,
&lt;a href="https://tyberiusprime.github.io/fastqrab/main/fastqrab/main/docs/reference/tag-steps/tag/TagOtherFile/">TagOtherFile&lt;/a>,&lt;br>
and &lt;a href="https://tyberiusprime.github.io/fastqrab/main/fastqrab/main/docs/reference/Demultiplex/">Demultiplex&lt;/a>&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/main/docs/reference/adapters/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/main/docs/reference/adapters/</guid><description>&lt;h1 id="sequencing-adapters">
 Sequencing Adapters
 &lt;a class="anchor" href="#sequencing-adapters">#&lt;/a>
&lt;/h1>
&lt;p>Paste this &lt;code>count_oligos&lt;/code> block into a &lt;code>Report&lt;/code> step to identify which adapter is present in your data.
See &lt;a href="https://tyberiusprime.github.io/fastqrab/main/fastqrab/main/docs/how-to/cookbooks/10-adapter-identification/">Cookbook 10: Adapter Identification&lt;/a> for a complete example.&lt;/p>
&lt;p>&lt;code>count_oligos&lt;/code> performs exact, full-sequence matching — no mismatches, no IUPAC wildcards.&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:#75715e"># ...&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#a6e22e">count_oligos&lt;/span> = {
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e"># Illumina TruSeq / standard adapters&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e"># https://support-docs.illumina.com/SHARE/AdapterSequences/adapter-sequences.htm&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#34;Illumina Nextera/AmpliSeq&amp;#34;&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;CTGTCTCTTATACACATCT&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#34;Illumina TruSeq R1/miRNA&amp;#34;&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;AGATCGGAAGAGCACACGTCTGAACTCCAGTCA&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#34;Illumina TruSeq R2&amp;#34;&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;AGATCGGAAGAGCGTCGTGTAGGGAAAGAGTGT&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#34;Illumina Small RNA R2&amp;#34;&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;GATCGTCGGACTGTAGAACTCTGAACGTGTAGA&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#34;Illumina Single End Adapter 1&amp;#34;&lt;/span>= &lt;span style="color:#e6db74">&amp;#34;GATCGGAAGAGCTCGTATGCCGTCTTCTGCTTG&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#34;Illumina Paired End Adapter 2&amp;#34;&lt;/span>= &lt;span style="color:#e6db74">&amp;#34;GATCGGAAGAGCGGTTCAGCAGGAATGCCGAG&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:#75715e"># MGI/BGI adapters&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#75715e"># http://seqanswers.com/forums/showthread.php?t=87647 (2nd post)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#34;BGI Forward&amp;#34;&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;AAGTCGGAGGCCAAGCGGTCTTAGGAAGACAA&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#34;BGI Reverse&amp;#34;&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;AAGTCGGATCGTAGCCATGTCGTTCTGTGAGCCAAGGAGTTG&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:#75715e"># QIASeq&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#34;QIASeq miRNA&amp;#34;&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;AACTGTAGGCACCATCAAT&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:#75715e"># ABI SOLiD&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#34;ABI SOLiD3 Adapter A&amp;#34;&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;CTGCCCCGGGTTCCTCATTCTCTCAGCAGCATG&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#34;ABI SOLiD3 Adapter B&amp;#34;&lt;/span> = &lt;span style="color:#e6db74">&amp;#34;CCACTACGCCTCCGCTTTCCTCTCTATGGGCAGTCGGTGAT&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:#75715e"># Clontech&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#e6db74">&amp;#34;Clontech Universal Primer Mix&amp;#34;&lt;/span>= &lt;span style="color:#e6db74">&amp;#34;CTAATACGACTCACTATAGGGCAAGCAGTGGTATCAACGCAGAGT&amp;#34;&lt;/span>,
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> }
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>More adapters may be found in the &lt;a href="https://github.com/OpenGene/fastp/blob/master/src/knownadapters.h">fastp source&lt;/a>&lt;/p></description></item><item><title/><link>https://tyberiusprime.github.io/fastqrab/main/docs/reference/Out_Of_Scope/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://tyberiusprime.github.io/fastqrab/main/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 fastqrab 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/main/fastqrab/main/docs/reference/tag-steps/calc/CalcMeanQuality/">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>
&lt;h2 id="alignment">
 Alignment
 &lt;a class="anchor" href="#alignment">#&lt;/a>
&lt;/h2>
&lt;p>While it&amp;rsquo;s tempting to leverage the fastq parsing for an aligner,
aligning molecules to references is out of scope for the 1.0 target.&lt;/p></description></item></channel></rss>