Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,36 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [4.4.0] - 2026-08-31

### Added

- `prediction_report`: predictions with provenance and uncertainty per PSM. Returns a
DataFrame with, next to `predicted_rt`: a conformal prediction interval (`ci_lower`,
`ci_upper`) at a chosen coverage, exact-match membership against the calibration reference
(`in_reference`) and the Levenshtein distance to the closest reference sequence
(`dist_to_reference`); with a training index also membership in the corpus the bundled
multitask model was trained on (`in_training`), membership within the training sets of the
setups the calibration selected (`in_selected_heads_training`) and the distance to the
closest training sequence (`dist_to_training`, exact up to 10 and capped beyond).

The interval is cross-fitted split-conformal on the reference: the reference is split into
folds, each fold is predicted by a calibration fitted on the other folds, and the half-width
is a finite-sample quantile of those honest residuals per predicted-RT bin. On eight PRIDE
setups no DeepLC model was trained on, the empirical coverage of the 90 % interval was 0.88
to 0.97 per setup (median 0.91), with widths from 4 % of the gradient on well-behaved setups
to 79 % on a run that pools several fractions. Coverage is marginal, not per-peptide.

- `TrainingIndex`: an index of the multitask training corpus (10,105,640 canonical
peptidoform keys, their 65,139,832 setup observations, 6,157,558 unique stripped sequences).
Distributed separately from the package as a single 105 MB `.dlcidx` file: an LZMA zip
holding 40-bit key hashes in a bucketed layout (false positive about once per 100,000
membership queries, irrelevant for a provenance flag), per-key setup lists and the unique
sequences. A raw memory-mapped directory form with exact 64-bit hashes is read as well.
`prediction_report` takes either as an optional argument and works without one.

- Dependency: `rapidfuzz` (Levenshtein distances).

## [4.3.0] - 2026-09-02

### Changed
Expand Down
3 changes: 3 additions & 0 deletions deeplc/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,12 @@
save_model,
train,
)
from deeplc.report import TrainingIndex, prediction_report

__version__: str = version("deeplc")
__all__: list[str] = [
"TrainingIndex",
"prediction_report",
"calibrate",
"predict",
"predict_and_calibrate",
Expand Down
Loading
Loading