htmd.dock module#

htmd.dock.dock(protein: Molecule, ligand: Molecule, center: list | tuple | ndarray | None = None, extent: list | tuple | ndarray | None = None, numposes: int = 20, babelexe: str = 'obabel', vinaexe: str | None = None)#

Perform molecular docking using AutoDock Vina.

If center and extent are not provided, docking is performed over the whole protein.

Parameters:
  • protein (Molecule object) – Molecule object representing the receptor.

  • ligand (Molecule object) – Molecule object representing the ligand to dock.

  • center (list or tuple or np.ndarray, optional) – 3-element vector for the centre of the search bounding box.

  • extent (list or tuple or np.ndarray, optional) – 3-element vector for the linear extent of the search bounding box.

  • numposes (int, optional) – Number of poses to return. Vina cannot return more than 20 poses.

  • babelexe (str, optional) – Path to the babel executable.

  • vinaexe (str, optional) – Path to the AutoDock Vina executable.

Returns:

  • poses (list of Molecule objects) – The docked poses.

  • scores (numpy.ndarray) – A (num_poses, 3) array containing kcal, rmsd lb, and rmsd ub for each pose.

Examples

>>> poses, scoring = dock(protein, ligand)
>>> poses, scoring = dock(protein, ligand, center=[ 10., 5., 12. ], extent=[ 15., 15., 15. ] )