Skip to content

Modern localization loaders (DeepLoc2/MULocDeep/COMPARTMENTS/UniProt); drop WoLF PSORT#667

Merged
edkerk merged 1 commit into
develop3from
feat/localization-modern-adapters
Jun 22, 2026
Merged

Modern localization loaders (DeepLoc2/MULocDeep/COMPARTMENTS/UniProt); drop WoLF PSORT#667
edkerk merged 1 commit into
develop3from
feat/localization-modern-adapters

Conversation

@edkerk

@edkerk edkerk commented Jun 21, 2026

Copy link
Copy Markdown
Member

Modern subcellular-localization loaders; drop WoLF PSORT

Mirrors the raven-toolbox change: replaces the single-label WoLF PSORT caller with modern multi-label predictors and curated evidence databases for predictLocalization.

parseScores rewritten (name-value args; default deeploc)

Dispatches over predictor:

  • deeploc (default) — DeepLoc 2 per-protein CSV (kept)
  • cello — CELLO (kept)
  • mulocdeep — MULocDeep wide table (gene id + one probability column per compartment)
  • compartments — a COMPARTMENTS channel TSV (e.g. yeast_compartment_integrated_full.tsv from download.jensenlab.org), aggregated per gene×compartment with a minConfidence filter
  • uniprot — a UniProtKB Subcellular location [CC] TSV export

Plus compartmentMap + new defaultCompartmentMap (predictor/DB label → model compartment id, merging synonyms by max), so labels line up with the model's compartment ids, and idColumn for mulocdeep/uniprot.

New getUniProtScores

Fetches curated locations directly from the UniProt REST API by organism id (e.g. getUniProtScores(559292)), handling the gzip-compressed /stream response. idField defaults to the ordered-locus ORF id so it matches yeast-GEM genes. Validated live (CIT1 → YNR001C → mitochondrion).

WoLF PSORT dropped entirely

getWoLFScores removed; parseScores('...,'wolf') now errors with guidance; WoLFPSORT removed from downloadRavenBinaries, the offline-bundle assembler, software/versions.txt, tBinaries, CONTRIBUTING and the test README.

Tests — tLocalization rewritten, 8 pass in MATLAB

Fixture-driven coverage of every source + defaultCompartmentMap, including two regression tests for the UniProt parser caught in pre-PR review:

  • whole-word matching so Cytoplasmic vesicle is not mis-coded as cytosol;
  • per-isoform Note= stripping so a later isoform's location survives.

predictLocalization's defaultCompartment error now lists the valid compartments.

Notes

  • This change set was put through a multi-agent audit + adversarial review before submission; the two parser bugs above and several stale WoLF references were found and fixed.
  • doc/ HTML is the release-time updateDocumentation snapshot, so it is intentionally not regenerated here (the deleted page was restored to avoid dangling links until the next release regen).

…rot); drop WoLF PSORT

parseScores is rewritten to dispatch over modern sources: deeploc (default), cello (kept), mulocdeep (wide id+probabilities table), compartments (a COMPARTMENTS jensenlab.org channel TSV, aggregated per gene x compartment with a minConfidence filter), and uniprot (a UniProtKB 'Subcellular location [CC]' export). New defaultCompartmentMap (label -> model compartment id, with synonym merging) is accepted as 'compartmentMap' to rename/collapse compartments; new getUniProtScores fetches curated locations straight from the UniProt REST API by organism id (handles the gzip-compressed stream). WoLF PSORT is dropped entirely: getWoLFScores removed, parseScores 'wolf' now errors with guidance, and WoLFPSORT pulled from downloadRavenBinaries, the offline-bundle assembler, software/versions.txt, CONTRIBUTING and test docs. tLocalization is rewritten with real fixture-driven tests (8, all passing in MATLAB) covering every source plus two regression tests for UniProt parsing (whole-word matching so 'Cytoplasmic vesicle' is not mis-read as cytosol; per-isoform Note= stripping so later-isoform locations survive). predictLocalization's defaultCompartment error now lists the valid compartments. getUniProtScores validated live against UniProt (CIT1 -> YNR001C -> mitochondrion). doc/ is left to the release-time updateDocumentation regen.
@github-actions

Copy link
Copy Markdown

Function test results

240 tests   218 ✅  1m 3s ⏱️
 23 suites   22 💤
  1 files      0 ❌

Results for commit 14de470.

@edkerk edkerk merged commit d450ee1 into develop3 Jun 22, 2026
4 checks passed
@edkerk edkerk deleted the feat/localization-modern-adapters branch June 22, 2026 20:17
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