v2.35.0 — arda.hmm is the B-cell entry point, not dead code
arda.hmm is no longer deprecated. 2.33.0 deprecated it on the grounds that nothing consumes it
and vdjtools.model.infer_nt_batch answers the same question faster. That reasoning surveyed the
T-cell path and missed the shm= parameter — so it recommended a model with no
somatic-hypermutation term as the replacement for the only SHM-aware one.
Without an SHM model the templated V length is bounded by an exact common prefix, so a single
substitution in the V tail forces the whole rest of it to be re-read as N region.
tests/unit/test_shm_lattice.py has pinned this on IGHV3-30*18 / IGHJ4*02 all along: del_v == 0
with a model against del_v >= len(v_nt) - 3 without one. For a hypermutated IGH junction that is
the normal case, not a corner case, and the recommended replacement prices a mutated V tail as
insertion in exactly the same way the exact-prefix bound does.
The deprecation warning is gone, the roadmap retirement item is gone, and the module docstring now
leads with what it is for. d_prior.tsv stays with it — both of its consumers are in arda
(scenarios._Model and arda.hmm.model_for), and one of them is that scorer.
Unchanged, and still recorded: arda.hmm is not on the annotation path, and the two measured
negatives behind that stand — re-ranking nucleotide D candidates by a scenario likelihood changes
nothing, and replacing the E-value gate with a Bayes factor would need a per-locus shipped threshold.
Both are statements about germline TCR junctions, where an alignment already settles it.
Also — references repaired. vdjtools 4.8.0 ships one D estimator, so
vdjtools.model.posterior_d / posterior_d_batch / load_d_prior no longer exist. Eight places
here still named them; a reader following any of them landed on an ImportError. They now point at
vdjtools.model.annotate_junctions for the amino-acid question and at arda.hmm for the nucleotide
one.
Full changelog: https://github.com/antigenomics/arda/blob/master/CHANGELOG.md