Skip to content

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.