dockstring#

Type of objective function: discrete inputs Environment to run this objective function: poli dockstring

About#

dockstring is an objective function for ligand design (i.e. for finding a small molecule that docks well against a certain protein) [GarcĂ­a-OrtegĂłn et al., 2022]. It uses OpenBabel and rdkit to prepare the ligand, and AutoDock Vina for docking.

Since the score given by Vina is supposed to be minimized, our implementation returns the negative.

Prerequisites#

None! The implementation of dockstring comes with batteries included. You don’t even have to set up Autodock Vina. Unfortunately, it will only work on MacOS and Linux.

If you want to run this black box directly (and you are not worried about conflicting dependencies), we recommend running

pip install "poli-core[dockstring]"

How to run#

import numpy as np
from poli.objective_repository import DockstringProblemFactory, DockstringBlackBox

# Creating the black box
f = DockstringBlackBox(target_name="DRD2")

# Creating a problem
problem = DockstringProblemFactory().create(target_name="DRD2")
f, x0 = problem.black_box, problem.x0

# Example input: risperidone
x = np.array(["CC1=C(C(=O)N2CCCCC2=N1)CCN3CCC(CC3)C4=NOC5=C4C=CC(=C5)F"])

# Querying:
y = f(x)
print(y)  # Should be 11.9

How to cite#

If you use this black box, we expect you to cite the following resources:

[1] García-Ortegón, Miguel, Gregor N. C. Simm, Austin J. Tripp, José Miguel Hernández-Lobato, Andreas Bender, and Sergio Bacallado. “DOCKSTRING: Easy Molecular Docking Yields Better Benchmarks for Ligand Design.” Journal of Chemical Information and Modeling 62, no. 15 (August 8, 2022): 3486–3502. https://doi.org/10.1021/acs.jcim.1c01334.

[2] González-Duque, M., Bartels, S., & Michael, R. (2024). poli: a libary of discrete sequence objectives [Computer software]. MachineLearningLifeScience/poli


@article{GarciaOrtegon:dockstring:2022,
  title    = {DOCKSTRING: Easy Molecular Docking Yields Better Benchmarks for Ligand Design},
  volume   = {62},
  issn     = {1549-9596, 1549-960X},
  doi      = {10.1021/acs.jcim.1c01334},
  number   = {15},
  journal  = {Journal of Chemical Information and Modeling},
  author   = {García-Ortegón, Miguel and Simm, Gregor N. C. and Tripp, Austin J. and Hernández-Lobato, José Miguel and Bender, Andreas and Bacallado, Sergio},
  year     = {2022},
  month    = aug,
  pages    = {3486–3502},
  language = {en}
}

@software{Gonzalez-Duque:poli:2024,
author = {González-Duque, Miguel and Bartels, Simon and Michael, Richard},
month = jan,
title = {{poli: a libary of discrete sequence objectives}},
url = {https://github.com/MachineLearningLifeScience/poli},
version = {0.0.1},
year = {2024}
}