{mod}raven_python.localization assigns reactions to compartments by MILP — deterministic
(not simulated annealing), predictor-agnostic, and partial-update friendly.
- Load predictor scores into the
gene × compartment{class}raven_python.localization.LocalizationScoresframe: {func}raven_python.localization.load_wolfpsort(WoLF PSORT summary output) or {func}raven_python.localization.load_deeploc(DeepLoc 2 per-protein CSV). raven-python does not shell out to the predictor — run it separately and feed in its output. - Predict / apply: {func}
raven_python.localization.predict_localizationis the MILP entry point. Pass the set of reactions to relocate (everything else is pinned); extra compartments beyond a reaction's primary one pay amulti_compartment_penalty. Withapply=Falseyou get a {class}raven_python.localization.LocalizationProposaldiff to inspect before committing; {func}raven_python.localization.apply_localizationapplies a result.
The defaults and accuracy (including a predictor-noise sweep) are validated against curated yeast-GEM in the yeast localization benchmark.