htmd.dock module#

htmd.dock.dock(protein, ligand, center=None, extent=None, numposes=20, babelexe='obabel', vinaexe=None)#

Perform molecular docking using AutoDock Vina.

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

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

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

  • center (list | tuple | ndarray | None) – 3-element vector for the centre of the search bounding box.

  • extent (list | tuple | ndarray | None) – 3-element vector for the linear extent of the search bounding box.

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

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

  • vinaexe (str | None) – 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. ] )