Skip to content

Results API

The Results API provides access to result-explorer endpoints in the data platform.

from deeporigin.platform.client import DeepOriginClient

client = DeepOriginClient()

# Get docking poses for a protein
poses = client.results.get_poses(protein_id="08BSPN61NYVE3")

# Get binding pockets for a protein
pockets = client.results.get_pockets(protein_id="08BSPN61NYVE3")

# Get ABFE (Absolute Binding Free Energy) results
abfe = client.results.get_abfe_results(protein_id="08BSPN61NYVE3")

# Get results for a specific tool and protein
results = client.results.get(
    tool_id="deeporigin.bulk-docking",
    protein_id="08BSPN61NYVE3",
)

# Search ligands joined with tool results
results = client.results.with_ligands(
    limit=10,
    experiments=[{"toolId": "deeporigin.docking"}],
)

src.platform.results.Results

Result-explorer API wrapper.

Provides access to result-explorer endpoints through the DeepOriginClient.

Functions

get

get(
    *,
    filter_dict: dict[str, Any] | None = None,
    compute_job_id: str | None = None,
    limit: int | None = 1000,
    select: list[str] | None = None
) -> dict

Low-level paginated search against the result-explorer API.

Prefer the higher-level wrappers (:meth:get_poses, :meth:get_pockets) which expose friendly keyword arguments and build the filter for you. Use this method directly only when you need a filter shape that no wrapper covers yet.

Automatically paginates using cursor-based pagination until all matching records have been fetched.

Parameters:

Name Type Description Default
filter_dict dict[str, Any] | None

Raw filter criteria forwarded to the result-explorer search endpoint.

None
compute_job_id str | None

Optional compute job ID to filter by.

None
limit int | None

Maximum total number of results to return across all pages. Defaults to 1000.

1000
select list[str] | None

List of fields to select. Defaults to ["id", "tool_key", "tool_version", "data", "compute_job_id"].

None

Returns:

Type Description
dict

Dictionary with data (all records across pages) and meta

dict

from the final response.

get_abfe_results

get_abfe_results(
    *,
    protein_id: str | None = None,
    ligand_id: str | list[str] | None = None,
    compute_job_id: str | None = None,
    tool_version: str | None = None,
    limit: int | None = 1000,
    select: list[str] | None = None
) -> dict

Get ABFE (Absolute Binding Free Energy) end-to-end results.

Convenience wrapper around :meth:get with tool_key="deeporigin.abfe-end-to-end".

Parameters:

Name Type Description Default
protein_id str | None

Optional protein ID to filter by.

None
ligand_id str | list[str] | None

Optional ligand ID (or list of IDs) to filter by.

None
compute_job_id str | None

Optional compute job ID to filter by.

None
tool_version str | None

Optional tool version to filter by.

None
limit int | None

Maximum total number of results to return. Defaults to 1000.

1000
select list[str] | None

List of fields to select. Defaults to ["id", "tool_key", "tool_version", "data", "compute_job_id"].

None

Returns:

Type Description
dict

Dictionary with data (all matching records across pages) and

dict

meta from the final response.

get_pockets

get_pockets(
    *,
    id: str | None = None,
    protein_id: str | None = None,
    compute_job_id: str | None = None,
    pocket_count: int | None = None,
    pocket_min_size: int | None = None,
    tool_version: str | None = None,
    limit: int | None = 1000,
    select: list[str] | None = None
) -> dict

Get binding pockets, optionally filtered by protein.

Convenience wrapper around :meth:get with result_type="pocket".

Parameters:

Name Type Description Default
id str | None

Optional record ID to fetch a specific pocket.

None
protein_id str | None

Optional protein ID to filter by.

None
compute_job_id str | None

Optional compute job ID to filter by.

None
pocket_count int | None

Optional pocket count to filter by.

None
pocket_min_size int | None

Optional pocket min size to filter by.

None
tool_version str | None

Optional tool version to filter by.

None
limit int | None

Maximum total number of results to return. Defaults to 1000.

1000
select list[str] | None

List of fields to select. Defaults to ["id", "tool_key", "tool_version", "data", "compute_job_id"].

None

Returns:

Type Description
dict

Dictionary with data (all records across pages) and meta

dict

from the final response.

get_poses

get_poses(
    *,
    protein_id: str | None = None,
    ligand_id: str | list[str] | None = None,
    compute_job_id: str | None = None,
    tool_version: str | None = None,
    limit: int | None = 100,
    select: list[str] | None = None
) -> dict

Get docking poses, optionally filtered by protein.

Convenience wrapper around :meth:get with result_type="pose".

Parameters:

Name Type Description Default
protein_id str | None

Optional protein ID to filter by.

None
ligand_id str | list[str] | None

Optional ligand ID (or list of IDs) to filter by.

None
compute_job_id str | None

Optional compute job ID to filter by.

None
tool_version str | None

Optional tool version to filter by.

None
limit int | None

Maximum total number of results to return. Defaults to 1000.

100
select list[str] | None

List of fields to select. Defaults to ["id", "tool_key", "tool_version", "data", "compute_job_id"].

None

Returns:

Type Description
dict

Dictionary with data (all records across pages) and meta

dict

from the final response.

get_prepared_systems

get_prepared_systems(
    *,
    protein_id: str | None = None,
    ligand1_id: str | None = None,
    ligand2_id: str | None = None,
    compute_job_id: str | None = None,
    padding: int | None = None,
    add_H_atoms: bool | None = None,
    retain_waters: bool | None = None,
    protonate_protein: bool | None = None,
    tool_version: str | None = None,
    limit: int | None = 1000,
    select: list[str] | None = None
) -> dict

Get system-prep results, optionally filtered by inputs and options.

Convenience wrapper around :meth:get with tool_key="deeporigin.system-prep". Optional args filter on the tool result data (e.g. protein_id, ligand1_id, padding, add_H_atoms, retain_waters, protonate_protein).

Parameters:

Name Type Description Default
protein_id str | None

Optional protein ID to filter by.

None
ligand1_id str | None

Optional ligand1 ID to filter by.

None
ligand2_id str | None

Optional ligand2 ID to filter by.

None
compute_job_id str | None

Optional compute job ID to filter by.

None
padding int | None

Optional padding value to filter by.

None
add_H_atoms bool | None

Optional add_H_atoms flag to filter by.

None
retain_waters bool | None

Optional retain_waters flag to filter by.

None
protonate_protein bool | None

Optional protonate_protein flag to filter by.

None
tool_version str | None

Optional tool version to filter by.

None
limit int | None

Maximum total number of results to return. Defaults to 1000.

1000
select list[str] | None

List of fields to select. Defaults to ["id", "tool_key", "tool_version", "data", "compute_job_id"].

None

Returns:

Type Description
dict

Dictionary with data (all matching records across pages) and

dict

meta from the final response.

with_ligands

with_ligands(
    *,
    cursor: str | None = None,
    experiments: list[dict[str, str]] | None = None,
    filter_dict: dict[str, Any] | None = None,
    limit: int | None = None,
    offset: int | None = None,
    select: list[str] | None = None,
    sort: dict[str, str] | None = None
) -> dict

Search ligands joined with tool results (wide pivot view).

Parameters:

Name Type Description Default
cursor str | None

Cursor for pagination.

None
experiments list[dict[str, str]] | None

List of experiment filters, each containing toolId and optionally toolVersion.

None
filter_dict dict[str, Any] | None

Additional filter criteria as a dictionary.

None
limit int | None

Maximum number of results to return. Defaults to 100.

None
offset int | None

Number of results to skip.

None
select list[str] | None

List of fields to select in the response.

None
sort dict[str, str] | None

Dictionary mapping field names to sort order ("asc" or "desc").

None

Returns:

Type Description
dict

Dictionary containing the search results.