Getting started with the Drug Discovery toolbox¶
Unreleased code
This page describes APIs and workflows for which we haven't released a package yet. This functionality is coming soon!
This document describes how to use the Drug Discovery toolbox to perform docking and run ABFE and RBFE runs on Deep Origin.
Prerequisites¶
Make sure you have installed, authenticated, and configured with the Deep Origin python client.
Recommended installation method
We recommend using these instructions to install the Deep Origin python client.
Following these instructions will install the deeporigin client in an isolated environment using uv, and will start a Jupyter instance that you will need for the rest of this tutorial.
Projects¶
Work in Deep Origin is organized in Projects. You can create a new project using:
from deeporigin import projects
project.create("my-test-project")
Input data¶
Docking, ABFE, and RBFE require a protein to be in a PDB file as input.
Ligands can be imported from SDF files or SMILES strings. To run ABFE and RBFE, the ligand must be in a SDF file.
Example data
If you want to explore these tools using some example data, we provide the BRD4 protein and a few ligands. This is built into the deeporigin package and can be accessed using:
from deeporigin.drug_discovery import BRD_DATA_DIR
Loading a Protein¶
The 3D structure of the protein can be viewed using the built-in show method in the Protein class:
from deeporigin.drug_discovery import Protein, BRD_DATA_DIR
protein = Protein.from_file(BRD_DATA_DIR / "brd.pdb")
protein.show()
This generates a 3D visualization of the protein, similar to:
To upload the protein to our project, we can use:
protein.sync()
We verify that the protein is now in our project using:
projects.proteins()
Loading Ligands¶
We can load a ligand set using:
from deeporigin.drug_discovery import LigandSet, BRD_DATA_DIR
ligands = LigandSet.from_dir(BRD_DATA_DIR)
ligands
and you should see something similar to:
LigandSet with 8 ligands
8 unique SMILES
Properties: initial_smiles, r_exp_dg
Use .to_dataframe() to convert to a dataframe, .show_df() to view dataframewith structures, or .show() for 3D visualization
Jupyter notebooks
It is assumed that you are working in a Jupyter notebook (or similar IPython environment). This makes it easier to run the workflow, and some functions assume that you are in a Jupyter notebook.
Viewing Ligands (3D structures)¶
We can also 3D structures using:
from deeporigin.drug_discovery import LigandSet, BRD_DATA_DIR
ligands = LigandSet.from_dir(BRD_DATA_DIR)
ligands.show()
We can now load these ligands into our project:
ligands.sync()
And we can verify that our project contains these ligands:
projects.ligands()
That's it! We are now ready to perform docking, ABFE, and RBFE.