Add Bwa mem3 - #8222
Conversation
BWA-MEM3 (fg-labs/bwa-mem3) is a short-read aligner derived from BWA-MEM2 with correctness fixes, performance improvements, methylation-aware alignment and a multi-tier SIMD runtime. On non-methylation data at default settings it reproduces BWA-MEM/BWA-MEM2 alignments while running faster. The wrapper is modeled on the existing tools-iuc bwa_mem2 wrapper and adapted to the bwa-mem3 0.6.0 CLI: - single / paired / paired-collection / interleaved fastq input - history FASTA reference (index built transparently) or cached bwa_mem3_indexes data table - read-group support via the shared read_group_macros - Simple Illumina mode and a Full options mode (algorithmic, scoring, input/output) - a dedicated BWA-MEM3 performance-options section exposing the new speed heuristics (--fast, --smem-dedup, --skip-contained-ext, --adaptive-band, --max-extend-chains), each documenting whether it is byte-identical to BWA-MEM2 output - BAM output with coordinate / name / input sort via samtools The bwa-mem3 -x preset modes and -e (present in bwa-mem2) are omitted because bwa-mem3 0.6.0 does not provide them. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Companion data manager for the BWA-MEM3 mapper: builds a BWA-MEM3 reference index with `bwa-mem3 index` and registers it in the bwa_mem3_indexes tool data table, so admins can provide built-in (cached) indexes selectable in the wrapper's "Use a built-in genome index" mode. Modeled on data_manager_bwa_mem2_index_builder; targets bwa-mem3 0.6.0. The index consists of the .amb, .ann, .bwt.2bit.64 and .pac files (bwa-mem3 does not emit the .0123 unpacked reference by default). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
So you know how this relates to https://github.com/lh3/minibwa ? |
|
As far as I understand bwa-mem3 is just cleaning up the source code of bwa-mem2 and improves it here and there, while minibwa seems to be a complete exchange of the basis algorithms. |
|
I understand that minibwa is the successor of bwa-mem and also faster then bwa-mem2. Should we move users to minibwa and skip bwa-mem3? I would not mind a new tool, but if we need a new DM and new indices,.we are wasting a lot of storage and compute that defeated the greener- IT thing of this tool. |
|
I run some benchmarks, and it strongly suggests we shall move on with minibwa. Index build (mm39)
Mapping (1,000,000 PE150 pairs)
|
|
Wtf this is a hell lot faster,.cool. Should we close this PR here. |
|
Before we close it, let me validate with real data and not just the 1 Mio toy data set, and see if any influence on downstream results is there or not. |
|
On a 9 GB fastq.gz file, single-end, the result is not that clear, but still advantage for minibwa.
|
|
And the memory usage is also nice. Means we can run more in parallel on most boxes. Cool thanks for doing the benchmarks. ping @wm75 he might be interested in this as well. |
Wrapper and data manger for bwa_mem3 forked from bwa_mem2: https://github.com/fg-labs/bwa-mem3
FOR CONTRIBUTOR:
There are two labels that allow to ignore specific (false positive) tool linter errors:
skip-version-check: Use it if only a subset of the tools has been updated in a suite.skip-url-check: Use it if github CI sees 403 errors, but the URLs work.To request a review once your PR is ready, comment "please review" on the PR. This will
automatically apply the
ready-for-reviewlabel if the PR is not a draft, all reviewthreads are resolved, and all CI checks have passed.