Skip to content
Merged
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
2 changes: 1 addition & 1 deletion CONTEXT.md
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ Simulation-ready binding and solvation XML files (and metadata) produced by syst
_Avoid_: "system" alone when meaning the prepared molecular system artifact

**Protein Prep**:
Platform tool `deeporigin.protein-prep` (v10) that inventories a caller-supplied
Platform tool `deeporigin.protein-prep` (v11) that inventories a caller-supplied
protein, records editable keep/review/skip Decisions, then applies resolved
keep/skip Decisions and protonation (including loop modelling on the served
path). CLI class `ProteinPrep` is the sole public preparation session: all
Expand Down
2 changes: 1 addition & 1 deletion docs/dd/ref/protein_prep.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# `deeporigin.drug_discovery.protein_prep`

`ProteinPrep` drives `deeporigin.protein-prep` v10. Recommend inventories
`ProteinPrep` drives `deeporigin.protein-prep` v11. Recommend inventories
components, returns a component table (`pandas.DataFrame`), and updates the same
object with an editable Selection. Prepare applies resolved keep/skip decisions
and cleans the structure. ``run()`` blocks on served prepare (including loop
Expand Down
4 changes: 2 additions & 2 deletions docs/dd/tools/proteinprep.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ structure via `find_pockets` (`"no"`, `"novel"`, or `"from-crystal-ligand"`).
Selection-defined pockets require the standalone Pocket Finder tool.

Use standalone [`StructureReport`](structure-report.md) for structure assessment
(source or prepared). Protein Prep v10 does not bundle Structure Reports in tool
(source or prepared). Protein Prep v11 does not bundle Structure Reports in tool
outputs.

## Recommend and review
Expand Down Expand Up @@ -88,7 +88,7 @@ prepared = prep.get_results()
## Prepare with loop modelling or pockets

Loop modelling is enabled by default. All prepare paths use
`deeporigin.protein-prep` v10. Blocking `run()` supports served prepare
`deeporigin.protein-prep` v11. Blocking `run()` supports served prepare
(including loops on). `find_pockets="novel"` uses the platform workflow path —
use `start()` (not `run()`):

Expand Down
2 changes: 1 addition & 1 deletion docs/notebooks/clean/protein-prep.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@
"source": [
"## Structure Report \n",
"\n",
"Protein Prep v10 does **not** emit `structure_reports[]`. Run `StructureReport` on the source structure when you need an assessment report before or after prepare.\n"
"Protein Prep v11 does **not** emit `structure_reports[]`. Run `StructureReport` on the source structure when you need an assessment report before or after prepare.\n"
]
},
{
Expand Down
4 changes: 2 additions & 2 deletions src/drug_discovery/protein_prep.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"""Recommend settings and prepare a protein with one mutable configuration.

``ProteinPrep`` is the sole public preparation session. It uses
``deeporigin.protein-prep`` v10 for :meth:`recommend` and all :meth:`run` /
``deeporigin.protein-prep`` v11 for :meth:`recommend` and all :meth:`run` /
:meth:`start` prepare paths. Extracting a ligand also requests one crystal-ligand
Pocket per extract (``find_pockets=from-crystal-ligand``). Novel pockets use the
platform workflow path; use :meth:`start` (not blocking :meth:`run`) for those.
Expand Down Expand Up @@ -1042,7 +1042,7 @@ class ProteinPrep(
):
"""Recommend settings and prepare a protein.

All operations use ``deeporigin.protein-prep`` (v10). Blocking :meth:`run`
All operations use ``deeporigin.protein-prep`` (v11). Blocking :meth:`run`
supports served prepare including loop modelling. Novel pocket finding uses
the platform workflow path — use :meth:`start` (with ``quote`` /
``approve_amount`` when pockets are billable). Structure reports are not
Expand Down
2 changes: 1 addition & 1 deletion src/platform/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ def display_platform_status(status: str | None) -> str:
},
"protein_prep": {
"tool_key": "deeporigin.protein-prep",
"tool_version": "10",
"tool_version": "11",
},
"patent": {
"tool_key": "deeporigin.draco",
Expand Down
2 changes: 1 addition & 1 deletion src/utils/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@
"Prepare requires a registered protein. Call Protein.sync() or assign "
"protein.id before run() or start()."
)
"""Used when prepare is submitted without ``protein.id`` (protein-prep v10)."""
"""Used when prepare is submitted without ``protein.id`` (protein-prep v11)."""

PROTEIN_PREP_POCKETS_EXCLUDED_MSG = (
"This ProteinPrep execution did not request pockets. Configure "
Expand Down
10 changes: 5 additions & 5 deletions tests/test_protein_prep.py
Original file line number Diff line number Diff line change
Expand Up @@ -653,7 +653,7 @@ def test_run_allows_loops_on(
client: DeepOriginClient,
registered_protein: Protein,
) -> None:
"""Blocking prepare supports served loop modelling on protein-prep v10."""
"""Blocking prepare supports served loop modelling on protein-prep v11."""
prep = ProteinPrep(
protein=registered_protein,
selection=_SAMPLE_SELECTION,
Expand Down Expand Up @@ -683,7 +683,7 @@ def test_run_rejects_novel_pockets() -> None:


def test_prepare_requires_registered_protein_id() -> None:
"""Prepare rejects unregistered proteins (protein-prep v10 contract)."""
"""Prepare rejects unregistered proteins (protein-prep v11 contract)."""
prep = ProteinPrep(
protein=_protein_with_remote(),
selection=_SAMPLE_SELECTION,
Expand Down Expand Up @@ -1153,7 +1153,7 @@ def test_loops_off_keep_ligand_sets_find_pockets_no() -> None:


def test_loops_on_prepare_uses_protein_prep_payload() -> None:
"""Loops-on prepare stays on protein-prep with explicit v10 fields."""
"""Loops-on prepare stays on protein-prep with explicit v11 fields."""
selection = {
"analyzer_version": "1.0.0",
"decisions": {"chain:A": "keep"},
Expand Down Expand Up @@ -1239,7 +1239,7 @@ def test_loops_on_start_uses_protein_prep_tool_key(
client: DeepOriginClient,
registered_protein: Protein,
) -> None:
"""Loops-on start binds to protein-prep v10."""
"""Loops-on start binds to protein-prep v11."""
selection = {
"analyzer_version": "1.0.0",
"decisions": {"chain:A": "keep"},
Expand All @@ -1259,7 +1259,7 @@ def test_loops_on_start_uses_protein_prep_tool_key(
assert prep.id is not None
assert prep.name == "Preparing and loop modelling 1EBY"
assert prep.tool_key == TOOL_KEYS_AND_VERSIONS["protein_prep"]["tool_key"]
assert prep.tool_version == "10"
assert prep.tool_version == "11"
prepared = prep.get_results()
assert isinstance(prepared, Protein)
with pytest.raises(ValueError, match="did not request pockets"):
Expand Down
Loading