VinaApp#

class biotite.application_v2.autodock.VinaApp(path: PathLike[str] | str = 'vina')[source]#

Bases: LocalApp

A handle to AutoDock Vina.

Parameters:
pathstr, optional

Path to the vina binary.

Examples

>>> # A dummy receptor and ligand
>>> ligand = residue("ASP")
>>> receptor = atom_array
>>> app = VinaApp()
>>> result = app.run(
...     ligand, receptor,
...     # Binding pocket is in the center of the receptor
...     center=centroid(receptor),
...     # 20 Å x 20 Å x 20 Å search space
...     size=[20, 20, 20],
...     # Handle residues 2 and 5 as flexible
...     flexible=(receptor.res_id == 2) | (receptor.res_id == 5)
... ).result()
run(ligand: AtomArray, receptor: AtomArray, center: ndarray, size: ndarray, flexible: ndarray | None = None, seed: int | None = None, **kwargs: Any) → CommandSetup[VinaResult]#

Dock a ligand to a receptor molecule.

Parameters:
ligandAtomArray

The structure of the ligand molecule. Must have an associated BondList. An associated charge annotation is recommended for proper calculation of partial charges.

receptorAtomArray, shape=(n,)

The structure of the receptor molecule. Must have an associated BondList. An associated charge annotation is recommended for proper calculation of partial charges.

centerndarray, shape=(3,), dtype=float

The xyz coordinates for the center of the search space.

sizendarray, shape=(3,), dtype=float

The size of the search space in xyz directions.

flexiblendarray, shape=(n,), dtype=bool, optional

A boolean mask that indicates flexible amino acid side chains in receptor. Each residue, where at least one atom index is True in flexible, is considered flexible. By default, the receptor has no flexibility.

seedint, optional

The seed for the random number generator, used to make the docking run reproducible. Must not be 0, as AutoDock Vina interprets 0 as no seed set. By default, Vina chooses a random seed.

**kwargs

Additional command line options.

Returns:
futureFuture of VinaResult

A handle to the running docking run. Call Future.result() to obtain the VinaResult.

Raises:
ValueError

If seed is 0.