Repository navigation
Releases: pgarrett-scripps/sage-plus
Release list
Sage Plus v0.1.0-beta.16
First public launch release. Benchmarks against upstream Sage v0.15.0-beta.2 are in benchmarks/HEADTOHEAD.md. On four PXD028735 HYE files, Sage Plus found +1.2% PSMs and peptides and +1.6% protein groups at 1% FDR, used 6.2 GiB vs 7.5 GiB peak memory, and gave equal LFQ ratios.
Upgrading: search-space settings are now required (see Changed). Run sage --write-config list for starting configs.
Changed
- Breaking: search-space settings must be stated.
database.static_mods(may be{}),
database.ion_kinds, and, when a FASTA is digested,database.enzymewithcleave_at,
restrict,missed_cleavagesandsemi_enzymaticno longer have defaults. A missing setting
is an error naming it, with a snippet to paste. The old implicit values were: no enzyme block =
trypsin, 0 missed cleavages,restrict: "P"; partial block = 1 missed cleavage,restrict: "";
no static mods; b and y ions. The JSON Schema marks the same fields required. - Committed configurations, tests and benchmark generators state these settings explicitly.
Added
sage --write-config <NAME> [PATH]writes a starting configuration:minimal,full,
trypsin-hcd,trypsin-hcd-tmt,phospho,etdornonspecific(listshows them).
WithoutPATHit prints to standard output; an existing file is replaced only with
--overwrite. Every preset is tested to pass validation."missed_cleavages": "unlimited"keeps every peptide within the length and mass limits."max_len": "unlimited"bounds peptide length only bypeptide_max_massand the 255-residue
encoding limit. Sage logs one warning when it is combined with unlimited missed cleavages or a
non-specific digest (cleave_at: "").- Startup logs, at info level, the defaults used for search-space settings left unset.
Fixed
-
The fragment index no longer panics past 4,294,967,295 fragments. Bucket offsets are 64-bit
(24-byte buckets, one per up tobucket_sizefragments), so the only index cap left is the
32-bit peptide index inherited from Sage. -
A missing input file or FASTA names the path:
cannot open `/x/y.mzML`: No such file or directory. An output directory that cannot be created is named the same way. -
A search whose database has no target peptides fails instead of exiting 0 with empty results.
The error names the length and mass ranges in force.enzyme.min_lenabovemax_len, or
peptide_min_massabovepeptide_max_mass, is rejected when the configuration is validated. -
missed_cleavagesabove 254 no longer overflows. In a release build 255 wrapped and searched
as 0 missed cleavages.
Removed
- Telemetry. Sage Plus no longer sends run statistics to upstream Sage's endpoint, and the
reqwestdependency is gone.--disable-telemetry-i-dont-want-to-improve-sageis still
accepted as a hidden no-op so existing scripts keep working.Runner::runand
run_with_summaryreturn theRunSummary, andJobResulthas notelemetryfield. min_free_memory_gbfrom seven benchmark configurations; Sage already ignored it.
Documentation
benchmarks/HEADTOHEAD.md: Beta 16 against upstream Sage v0.15.0-beta.2 on four PXD028735 HYE
runs with one shared config. Sage Plus finds 1.2% more PSMs and peptides and 1.6% more protein
groups at 1%, peaks at 6.2 vs 7.5 GiB, and matches upstream's LFQ species-ratio accuracy.- Initiator Met clipping re-measured on HEK SILAC: +3.4% PSMs at 1% when protein N-terminal
acetylation is searched, +0.2% when it is not. README and DOCS state the condition. - README rewritten for new users: measured results, install options and a quickstart.
Internal design notes moved todocs/design/and old benchmark notes tobenchmarks/archive/.
Full Changelog: v0.1.0-beta.15...v0.1.0-beta.16
Sage Plus v0.1.0-beta.15
Sage Plus v0.1.0-beta.14
Sage Plus v0.1.0-beta.13
Sage Plus v0.1.0-beta.12
Sage Plus v0.1.0-beta.11
Sage Plus v0.1.0-beta.10
What's Changed
- Add opt-in timsTOF MS1 denoising with dnoise-core 0.5.0 by @pgarrett-scripps in #38
- Beta 10: remove --migrate-modifications by @pgarrett-scripps in #40
- Pin CI runner images to ubuntu-24.04 and windows-2025 by @pgarrett-scripps in #45
- Beta 10: remove the sage-mcp server by @pgarrett-scripps in #39
- Prefer isotope 0 on exact hyperscore ties by @pgarrett-scripps in #41
- Make cloud storage an optional Cargo feature by @pgarrett-scripps in #43
- Fit the discriminant around constant columns and explain fallbacks by @pgarrett-scripps in #44
- Add a fast-release build profile for local experiments by @pgarrett-scripps in #46
- Document searching crosslinker monolinks as mass offsets by @pgarrett-scripps in #47
- Reject Sage Plus-only symbol-key modification extensions by @pgarrett-scripps in #48
- Add a shared path for sidecar output files by @pgarrett-scripps in #49
- Add a per-spectrum mass-offset scoring hook by @pgarrett-scripps in #42
Full Changelog: v0.1.0-beta.9...v0.1.0-beta.10
Sage Plus v0.1.0-beta.9
What's Changed
- Fit RT and mobility models with a standardized ridge solve (Beta 9) by @pgarrett-scripps in #33
- Beta 9: nonlinear RT alignment by default, search-time mass recalibration, and z-dot ions by @pgarrett-scripps in #34
- Optimize test builds so CI tests run in seconds by @pgarrett-scripps in #35
- Move vendored filemanager to parquet 59 to drop thrift by @pgarrett-scripps in #36
- Release Sage Plus v0.1.0-beta.9 by @pgarrett-scripps in #37
Full Changelog: v0.1.0-beta.8...v0.1.0-beta.9
Sage Plus v0.1.0-beta.8
What's Changed
- Cache Rust builds in CI and run release checks alongside builds by @pgarrett-scripps in #30
- Release Sage Plus v0.1.0-beta.8 with review fixes, picked protein-group FDR, and motif sites by @pgarrett-scripps in #31
- Reuse prefilter spectra in the search (Beta 8) by @pgarrett-scripps in #32
Full Changelog: v0.1.0-beta.7...v0.1.0-beta.8
Sage Plus v0.1.0-beta.7
What's Changed
- Refresh Sage Plus paper for the Beta 6 release by @pgarrett-scripps in #28
- Prepare Sage Plus v0.1.0-beta.7 by @pgarrett-scripps in #29
Full Changelog: v0.1.0-beta.6...v0.1.0-beta.7