draugr-demultiplexing

Automates and troubleshoots sequencing run demultiplexing via draugr, B-Fabric, and bcl2fastq.

Updated May 28, 2026
One-click install
npx skills add https://github.com/cpanse/skills --skill draugr-demultiplexing-cpanse
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: draugr-demultiplexing
Source: https://github.com/cpanse/skills/tree/main/sequencing-pipelines/skills/draugr-demultiplexing
Command: npx skills add https://github.com/cpanse/skills --skill draugr-demultiplexing-cpanse

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Demultiplexing short-read sequencing runs at FGCZ involves coordinating queue monitors, B-Fabric metadata, barcode validation, bcl2fastq/bases2fastq execution, and gStore archival — a multi-step process where failures (stuck runs, wrong base masks, barcode errors) are hard to diagnose without deep system knowledge. ## Core Features & Use Cases - Run and monitor demultiplexing: Start the automated queue monitor, manually run draugr.py on a single run, or reprocess specific orders with fine-grained skip flags. - B-Fabric integration: Query order metadata, track run status transitions (PROCESSING → DEMULTIPLEXING → DEMULTIPLEXING_FINISHED/FAILED), and set custom BasesMask attributes. - Per-chemistry base masks: Reference read structures and bcl2fastq masks for all 10x chemistries (3'/5' GEX, VDJ, ATAC, Multiome, Visium, Flex), including the ATAC i5 lowercase-y gotcha and the current manual-demux workaround for cellranger-atac/arc. - Use Case: A run is stuck in "Demultiplexing" status — check the draugr logs, identify the failure, and rerun with --demux-only-mode or --reprocess-orders to recover without repeating completed steps. ## Quick Start Ask the agent to check the demultiplexing status of a sequencing run and show the latest draugr log for troubleshooting.

Frequently Asked Questions about draugr-demultiplexing

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I manually run demultiplexing on a sequencing run with draugr?

Run `uv run python draugr.py --run-folder /export/local/data/<RUN_FOLDER>` from the draugr repository, passing your B-Fabric login config and analysis output folder. Add `--test-mode` to skip the gStore copy and use the test B-Fabric instance.

How do I reprocess specific orders after a demultiplexing failure?

Use `draugr.py --run-folder <RUN> --reprocess-orders 12345,56789` with comma-delimited order IDs. Combine with flags like `--skip-rawqc` or `--demux-only-mode` to avoid repeating steps that already completed successfully.

What bcl2fastq base mask should I use for 10x Multiome ATAC libraries?

Multiome ATAC uses `y50n*,I8n*,y24n*,y49n*` — the i5 read is the 16bp cell barcode plus 8bp linker and must be emitted as a regular read with lowercase y. Currently draugr ignores the BasesMask override on the 10x dual-index path, so demux these lanes manually with bcl2fastq.

Why is a sequencing run stuck in Demultiplexing status in B-Fabric?

A stuck status usually means the draugr process crashed mid-run. Check the log at /srv/GT/analysis/falkonoe/dmx_logs/prod/<RUN_NAME>.log, fix the underlying issue, then rerun with recovery flags like `--demux-only-mode` or `--skip-demux`.

Does draugr support Element Biosciences AVITI runs?

Yes, draugr supports Element AVITI instruments using bases2fastq instead of bcl2fastq for demultiplexing. Illumina platforms including NovaSeq, NextSeq, MiSeq, HiSeq, iSeq, and MiniSeq are also supported.

When should I avoid setting a custom BasesMask in B-Fabric?

Avoid it on mixed runs, because BasesMask is global and applies to all bcl2fastq paths on the run. If a lane mixes standard samples with a special chemistry like Visium HD, leave BasesMask unset and run bcl2fastq manually for the special-chemistry path.