Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Upstream PR Status

This table cross-references every change carried in bwa-mem3 main to its corresponding upstream bwa-mem2 PR or issue. “Fork-only” means no upstream PR exists; the change may be submitted upstream in the future or may be fork-specific by design. “Open” means the upstream PR or issue existed at the time of bwa-mem3’s implementation but had not been merged. Upstream status is current as of the bwa-mem3 0.2.0 release.

For prose descriptions of each change, follow the links in the “bwa-mem3 PR” column to the relevant deep-dive page section.

Full cross-reference table

Topicbwa-mem3 PRUpstream PR / IssueUpstream status
Correctness
@PG CL: tab escaping#54bwa-mem2#293open issue
SMEM buffer overflow on >151 bp reads#55bwa-mem2#238, bwa-mem2#210PR closed without merge; issue open
kswv nrow==0 guard (all 5 kernels)#51bwa-mem2#289open PR (upstream covers AVX-512BW only)
AVX-512BW dispatch guard (!__AVX512BW__)#26fork-only
AVX2 score2 plateau consolidation#28fork-only
NEON + AVX-512BW 8-bit score2 fix#29fork-only
AVX-512BW 16-bit score2 fix#30fork-only
NEON 16-bit kernel rewrite#31fork-only
kseq2bseq1 zero-initialization#22fork-only
Proper-pair flag from emitted alignment#17fork-only
@HD emitted before @SQ per SAM spec#35lh3/bwa#345closed (lh3 only)
mem_matesw SIGSEGV on shm-backed ref_string#85fork-only
SA_COMPX_MASK precedence in sampled-SA prefetch#73fork-only
.alt parse buffer bounded (stack overflow)#74fork-only
display_stats nthreads clamp to LIM_C#81fork-only
Performance
Lockstep SMEM batching#33fork-only
Batched -H header ingestion (O(n) fix)#49bwa-mem2#204open PR
libsais FM-index construction#57fork-only
Consolidated mapping speedups#58fork-only
kswv per-strip L1 prefetches (all u8/16 kernels)#70fork-only
SMEM_LOCKSTEP_N bumped from 8 to 16#75fork-only
Closed-form ungapped HIT when total_mis == 0#77fork-only
ksort on-stack buffer for small n#78fork-only
libsais_build skip wasted zero-init#80fork-only
Cap avx512bw autovec at 256-bit#86fork-only
Inline FMI_search::backwardExt (recover gcc 12+ regression)#88fork-only
Features
--bam=LEVEL direct BAM output#12fork-only
--meth bisulfite alignment mode#13fork-only
Vendored mimalloc allocator#19fork-only
HN:i hit count tag#42lh3/bwa#438analogous to bwa aln; no direct upstream port
--supp-rep-hard-cap MAPQ rescoring#56bwa-mem2#260open issue
bwa-mem3 shm shared-memory index#65fork-only (v1 feature port)
shm --meth symmetry#67fork-only
-z FLOAT (XA_drop_ratio CLI knob)#35lh3/bwa#294merged (lh3 only)
-u flag — widen XA:Z records with ,score,mapq#35lh3/bwa#293merged (lh3 only)
MQ:i mate mapping quality tag#35lh3/bwa#330merged (lh3 only)
Bismark-compatible XR:Z / XG:Z / XM:Z tags#90fork-only
/bwactl registry interprocess lock (POSIX named semaphore)#82fork-only
bwa-mem3 shm /dev/shm capacity preflight#86fork-only
Host-floor precheck (SIMD floor: / SIMD runtime:, exit 2 on under-floor host)#95fork-only
Architecture support
Linux ARM64 / aarch64 build + CI#1bwa-mem2#288open PR
arch=avx512bw explicit Makefile target#16fork-only
NEON kswv mate-rescue kernel#18fork-only
AVX2 kswv mate-rescue kernel#20fork-only
bns_fetch_seq_v2 migration of mem_matesw_batch_{pre,post}#76fork-only
Single-binary in-process SIMD dispatch (replaces multi-binary execv launcher)#83fork-only
Default x86 BASELINE_ARCH=avx2 (was sse41)#84fork-only
Build & infrastructure
doctest framework + Codecov#34fork-only
PACKAGE_VERSION from git describe#52bwa-mem2#283, bwa-mem2#284open issue + open PR
PGO target parameterization#59fork-only
CXXFLAGS/CPPFLAGS/LDFLAGS forwarding#50bwa-mem2#290open upstream PR
Unit-test harness + ARM CI#23fork-only
CI matrix expansion (7 rows)#24fork-only
Shell-var rename BWAMEM2/BWA_MEM2[_*]BWAMEM3/BWA_MEM3[_*] (CI/bench/test scripts)#68fork-only
Methylation oracle: alias bwa-mem2bwa-mem3 on PATH for bwameth.py#72fork-only
Migrate parity tests from dwgsim/phiX174 to holodeck/chr22#89fork-only

Upstream issues tracked but not yet fixed in bwa-mem3

The following upstream issues are tracked in the bwa-mem3 issue list but do not yet have corresponding fixes in main:

IssueUpstream referenceNotes
Split-alignment evidence loss vs bwa 0.7.17bwa-mem2#273issue #47 — under investigation
MAPQ/coordinate parity vs bwa mem 0.7.18bwa-mem2#262, bwa-mem2#246, bwa-mem2#239issue #48 — tracking only

See also: Correctness fixes · Performance improvements · Features · Architecture support · Build & infrastructure