deepchem.dock package

Submodules

deepchem.dock.binding_pocket module

Computes putative binding pockets on protein.

class deepchem.dock.binding_pocket.BindingPocketFinder[source]

Bases: object

Abstract superclass for binding pocket detectors

find_pockets(protein_file, ligand_file)[source]

Finds potential binding pockets in proteins.

class deepchem.dock.binding_pocket.ConvexHullPocketFinder(pad=5)[source]

Bases: deepchem.dock.binding_pocket.BindingPocketFinder

Implementation that uses convex hull of protein to find pockets.

Based on https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4112621/pdf/1472-6807-14-18.pdf

find_all_pockets(protein_file)[source]

Find list of binding pockets on protein.

find_pockets(protein_file, ligand_file)[source]

Find list of suitable binding pockets on protein.

class deepchem.dock.binding_pocket.RFConvexHullPocketFinder(pad=5)[source]

Bases: deepchem.dock.binding_pocket.BindingPocketFinder

Uses pre-trained RF model + ConvexHulPocketFinder to select pockets.

find_pockets(protein_file, ligand_file)[source]

Compute features for a given complex

TODO(rbharath): This has a log of code overlap with compute_binding_pocket_features in examples/binding_pockets/binding_pocket_datasets.py. Find way to refactor to avoid code duplication.

deepchem.dock.binding_pocket.boxes_to_atoms(atom_coords, boxes)[source]

Maps each box to a list of atoms in that box.

TODO(rbharath): This does a num_atoms x num_boxes computations. Is there a reasonable heuristic we can use to speed this up?

deepchem.dock.binding_pocket.compute_overlap(mapping, box1, box2)[source]

Computes overlap between the two boxes.

Overlap is defined as % atoms of box1 in box2. Note that overlap is not a symmetric measurement.

deepchem.dock.binding_pocket.extract_active_site(protein_file, ligand_file, cutoff=4)[source]

Extracts a box for the active site.

deepchem.dock.binding_pocket.get_all_boxes(coords, pad=5)[source]

Get all pocket boxes for protein coords.

We pad all boxes the prescribed number of angstroms.

TODO(rbharath): It looks like this may perhaps be non-deterministic?

deepchem.dock.binding_pocket.merge_boxes(box1, box2)[source]

Merges two boxes.

deepchem.dock.binding_pocket.merge_overlapping_boxes(mapping, boxes, threshold=0.8)[source]

Merge boxes which have an overlap greater than threshold.

TODO(rbharath): This merge code is terribly inelegant. It’s also quadratic in number of boxes. It feels like there ought to be an elegant divide and conquer approach here. Figure out later...

deepchem.dock.docking module

Docks protein-ligand pairs

class deepchem.dock.docking.Docker[source]

Bases: object

Abstract Class specifying API for Docking.

dock(protein_file, ligand_file, centroid=None, box_dims=None, dry_run=False)[source]
class deepchem.dock.docking.VinaGridRFDocker(exhaustiveness=10, detect_pockets=False)[source]

Bases: deepchem.dock.docking.Docker

Vina pose-generation, RF-models on grid-featurization of complexes.

dock(protein_file, ligand_file, centroid=None, box_dims=None, dry_run=False)[source]

Docks using Vina and RF.

deepchem.dock.pose_generation module

Generates protein-ligand docked poses using Autodock Vina.

class deepchem.dock.pose_generation.PoseGenerator[source]

Bases: object

Abstract superclass for all pose-generation routines.

generate_poses(protein_file, ligand_file, out_dir=None)[source]

Generates the docked complex and outputs files for docked complex.

class deepchem.dock.pose_generation.VinaPoseGenerator(exhaustiveness=10, detect_pockets=True)[source]

Bases: deepchem.dock.pose_generation.PoseGenerator

Uses Autodock Vina to generate binding poses.

generate_poses(protein_file, ligand_file, centroid=None, box_dims=None, dry_run=False, out_dir=None)[source]

Generates the docked complex and outputs files for docked complex.

deepchem.dock.pose_generation.write_conf(receptor_filename, ligand_filename, centroid, box_dims, conf_filename, exhaustiveness=None)[source]

Writes Vina configuration file to disk.

deepchem.dock.pose_scoring module

Scores protein-ligand poses using DeepChem.

class deepchem.dock.pose_scoring.GridPoseScorer(model, feat='grid')[source]

Bases: object

score(protein_file, ligand_file)[source]

Returns a score for a protein/ligand pair.

class deepchem.dock.pose_scoring.PoseScorer[source]

Bases: object

Abstract superclass for all scoring methods.

score(protein_file, ligand_file)[source]

Returns a score for a protein/ligand pair.

Module contents

Imports all submodules