BioDemuX.jl is a high-performance Julia package for demultiplexing sequencing reads with robust barcode mutation handling. It is designed to be the definitive tool for accurate and efficient barcode assignment.
-
⚡ Ultra-Fast Semi-Global Alignment:
- The core engine is built on highly optimized semi-global alignment. It delivers unrivaled speed while robustly handling insertions, deletions (indels), and mismatches—recovering reads that standard Hamming-based tools discard.
-
🔧 Extensive Flexibility:
- Precise Targeting: Define custom search ranges to focus on specific regions.
- Supports Dual Barcoding and variable-length barcodes.
- Adapter Trimming: Support for simultaneous adapter matching and trimming.
- Multi-Mode Matching: Choose between
:semiglobalfor robustness, or:hamming/:exactfor speed.
-
🚀 High-Performance Architecture:
- Multi-threaded & Channel-based streaming.
- Efficient memory usage via streaming I/O.
-
📊 Visualize Analysis:
- Optional interactive HTML reports for distribution and score analysis.
-
💻 Zero-Dependency CLI:
- Available as a standalone binary for Linux, macOS, and Windows. No Julia installation required to run in production pipelines.
Visit our documentation for comprehensive guides, API references, and detailed usage examples.
using Pkg; Pkg.add("BioDemuX")using BioDemuX
execute_demultiplexing("reads.fastq", "barcodes.csv", "output_dir")[CLI Users] Download the binary from Releases and run:
./biodemux reads.fastq barcodes.csv output_dirIf you encounter any issues, please open an issue on GitHub.
