Skip to content

docs: document mzLib 1.0.595's result changes; PRIDE calls add no timeout of their own - #35

Merged
trishorts merged 1 commit into
mainfrom
docs/mzlib-1.0.595-documented
Oct 21, 2026
Merged

trishorts merged 1 commit into
mainfrom
docs/mzlib-1.0.595-documented

Conversation

@trishorts

Copy link
Copy Markdown
Contributor

This ports pyMzLib #87 to mzLibR. It documents every result change that mzLib 1.0.595 brought with the 0.5.0 bridge, and it drops the package's own PRIDE timeout.

What changes

  • pride_list_files(), pride_list_ftp_files() and pride_search() default to timeout = NULL, not 300. mzLib already bounds each request: three retries after 5, 20 and 60 s, with each attempt up to 100 s (#1412). A 300 s limit of the package's own therefore turned a hanging PRIDE outage into a timeout instead of mzlib_service_unavailable. Pass timeout = 300 for the old limit.
  • NEWS.md now has every result change pyMzLib's upgrading guide lists for the 0.5.0 bridge, in R terms. Each one was re-checked live from R against the v0.5.0 bridge:
    • ProForma input refusals (#1462);
    • SUMO names on D now fail and on K convert (#1432);
    • TMTpro on S/T/Y/H now fails, while on K gives +304.2071 (#1419);
    • Lactylation is 72.021129 Da with UNIMOD:2114 (#1417);
    • the entrapment flags and entrapment_fraction (#1371);
    • FlashLFQ normalization and gapped designs (#1422, #1424);
    • |P proteases at sequence ends (#1320);
    • stats_fit() below 3 features (#1398);
    • PRIDE retries and .partial resumption (#1412);
    • the download checks that don't reach pride_download() (#1427, #1449);
    • contrasts (#1452).
  • Help and vignettes:
    • ?stats_fit says prior$scale is NA with fewer than 3 features, and that bridges before pyMzLib 0.5.1 report the first feature's variance there. Today's 0.5.0 bridge does that: a 2-feature fit shows 0.0251.
    • ?pride_download covers the resumable .partial pairs.
    • ?mzlib_error names the two EBI failures that still arrive as a bridge error after mzLib's retries: an empty FTP listing and an EBI FTP 403.
    • The PRIDE vignette gains "Retries, timeouts and outages" and "Interrupted and suspect downloads".
    • The stats help and vignette say mzLib has contrasts but stats_fit() does not expose them yet.
  • Generated files: specs re-synced at bridge f85fef7, 49 help pages rebuilt, and docs/name-parity.md regenerated (header only).

Tests

The new "PRIDE's metadata calls add no timeout of their own" test fails on the old code, where the stand-in runner sees 300 for all three functions. A second test checks that an explicit timeout still reaches the bridge.

Verified locally with R 4.6.1:

  • offline suite: 429 passed, 0 failed, 40 skipped;
  • with the v0.5.0 bridge staged: 457 passed, 0 failed. The 12 skips need pyMzLib's fixture folders.
  • sync-specs, stage-replay, render-cite, docs-lint, build-man and name-parity are all current;
  • R CMD check --as-cran --no-manual --ignore-vignettes: OK. Pandoc is not installed locally, so CI builds the vignettes.

One known gap, recorded upstream as PRIDE-B3: until mzLib marks its exhausted transient failures, an empty FTP listing or an EBI FTP 403 arrives as mzlib_bridge_error. The live canaries skip only on mzlib_service_unavailable, so during such an outage they fail instead of skipping.

🤖 Generated with Claude Code

…no timeout of its own

Ports pyMzLib #87 (38948d8). The pyMzLib 0.5.0 bridge carried mzLib
1.0.595 with more changed results than NEWS named. Each is now in NEWS's
mzLib 1.0.595 section, in R terms, and on the help pages (specs re-synced
from bridge f85fef7): ProForma input refusals (#1462), SUMO and TMTpro
names (#1432, #1419), Lactylation's mass (#1417), entrapment flags and
entrapment_fraction (#1371), FlashLFQ normalization and gapped designs
(#1422, #1424), |P proteases at sequence ends (#1320), stats_fit below 3
features (#1398), PRIDE retries, resumable .partial pairs and the missing
download checks (#1412, #1427, #1449). The conversions, the stats_fit
prior and the entrapment_fraction column were re-checked from R against
the 0.5.0 bridge (d10017ce).

- pride_list_files(), pride_list_ftp_files() and pride_search(): timeout
  defaults to NULL, not 300. mzLib bounds each request (#1412), so a
  hanging outage is reported as mzlib_service_unavailable, not
  mzlib_timeout. An explicit timeout still applies.
- ?stats_fit: prior$scale is NA with fewer than 3 features, where mzLib
  fits no prior; bridges before pyMzLib 0.5.1 report the first feature's
  own variance there. Contrasts exist in mzLib (#1452) but are not
  exposed yet.
- The PRIDE article and ?mzlib_error say mzLib already retried, so a
  retry waits minutes; the article covers .partial resumes and checking
  large files.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Nbjsh1WCYFwbbG5CPbRygW
@trishorts
trishorts merged commit b994a9a into main Oct 21, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant