Single-sample inference refinement (2026-07-22)
This round tested three annotation-free improvements: learned alignment-score
temperature, read-level alignment censoring, and Pareto-dominance candidate
pruning. Accuracy, wall time, and peak RSS were measured against the unchanged
dev baseline. The primary panel contains synthetic direct RNA and 24 LongBench
50k technology/sample combinations plus three PacBio 250k confirmations.
Alignment-score calibration: rejected learner
A fixed sweep of score denominators D={1,2,3,5,8,12} established that score
strength matters. Sharper scores generally improved real ONT and PacBio rank and
error metrics, but the synthetic data preferred a flatter score for Pearson and
showed no stable rank optimum.
The first single-sample learner used two-fold held-out predictive likelihood to
select D, with abundance fitted only on the complementary reads. It selected
the flattest candidate (D=12) for every sample. This objective rewards placing
mass across the observed candidate set rather than identifying the generating
transcript. It regressed real-data rank/MARD and added 3.3--3.8 seconds to 50k
human runs and 34 seconds to the synthetic run. The implementation was removed.
The fixed --score-prob-denom remains available, but its default is unchanged.
Adaptive read-level censoring
Each alignment now records terminal query clipping. For candidate transcript
t, unexplained clipping is
min(left_clip, transcript_left_gap) + min(right_clip, transcript_right_gap).
Clipping beyond a transcript end is therefore neutral, whereas clipped query
sequence that could have aligned to remaining transcript sequence is evidence
against that candidate. The exponential censoring scale is learned from
single-candidate reads with 100 pseudo-observations at 50 nt, clamped to
25--500 nt. Sample support shrinks its exponent toward zero, and its per-read
Bayes factor is capped at four. This is selected by --censoring-model adaptive.
Pareto-dominance pruning
Candidate B is pruned only if candidate A is no worse in alignment likelihood,
coverage/censoring likelihood, and aligned transcript span, and A's joint
likelihood is at least twice B's. At least one candidate is retained. The
implementation reuses a scratch mask across reads and zeros the losing
likelihood without reallocating the packed equivalence-class store. It is
selected by --candidate-pruning dominance --dominance-bayes-factor 2.
Full-panel result
Dominance alone improved Spearman and MARD on all 28 panel samples, Pearson on 26/28, and every metric on all 8 cDNA and all 11 PacBio samples. Mean Pearson changes were +0.00109 cDNA, +0.00075 dRNA, and +0.00729 PacBio. It also reduced mean EM time by 0.076 seconds.
Combining censoring and dominance was stronger:
| Technology | Samples | Pearson wins | Spearman wins | Mean Pearson delta | Mean Spearman delta | Mean MARD delta |
|---|---|---|---|---|---|---|
| ONT cDNA | 8 | 8 | 8 | +0.00408 | +0.00250 | -0.000183 |
| ONT dRNA | 9 | 8 | 9 | +0.00190 | +0.00264 | -0.001037 |
| PacBio | 11 | 11 | 11 | +0.00837 | +0.00279 | -0.000284 |
| All | 28 | 27 | 28 | +0.00506 | +0.00266 | -0.000497 |
The sole Pearson regression was synthetic dRNA (-0.00177), accompanied by a Spearman gain of +0.00374 and MARD improvement of -0.00697. One PacBio sample had a negligible MARD regression (+0.000013) while its Pearson and Spearman improved. Median peak-RSS change was only +56 KiB; mean wall time fell by 0.079 seconds because inference converged faster.
Independent outer validation
The frozen combination was then tested on public SIRV and separately generated 100k ONT/PacBio simulations:
| Dataset | Pearson delta | Spearman delta | MARD delta |
|---|---|---|---|
| SIRV E0 dRNA 50k | 0 | 0 | -0.04983 |
| SIRV E2 dRNA 50k | +0.03102 | +0.11898 | -0.06403 |
| SIRV E0 cDNA 50k | 0 | 0 | -0.01247 |
| Independent ONT 100k | +0.01103 | +0.06552 | -0.00524 |
| Independent PacBio 100k | +0.01197 | +0.05510 | -0.00549 |
The combined model is therefore part of the new automatic transcriptome inference stack through
--censoring-model auto and --candidate-pruning auto when transcriptome input
is combined with --coverage-model auto. Both automatic modes abstain for
other coverage selections and genome-projection input, which were not part of this validation.
Users can reproduce the previous behavior with --censoring-model none
--candidate-pruning none.
Benchmark outputs are under oarfish-evaluation-data in directories beginning
alignment-temperature-screen, dominance-full, censoring-dominance-full,
and censoring-dominance-outer dated 20260722.