Unverified Commit a48fbdb2 authored by Bharath Ramsundar's avatar Bharath Ramsundar Committed by GitHub
Browse files

Merge pull request #2039 from nd-02110114/improve-more

Improve  type annotation
parents d997acf3 fba1fff4
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@ import numpy as np
from typing import Any, List, Optional, Tuple

from deepchem.models import Model
from deepchem.utils.rdkit_util import load_molecule
from deepchem.utils.rdkit_utils import load_molecule
from deepchem.utils.coordinate_box_utils \
  import CoordinateBox, get_face_boxes, merge_overlapping_boxes
from deepchem.utils.fragment_utils import get_contact_atom_indices
@@ -50,7 +50,7 @@ def extract_active_site(protein_file: str,
  z_min = int(np.floor(np.amin(pocket_coords[:, 2])))
  z_max = int(np.ceil(np.amax(pocket_coords[:, 2])))
  box = CoordinateBox((x_min, x_max), (y_min, y_max), (z_min, z_max))
  return (box, pocket_coords)
  return box, pocket_coords


class BindingPocketFinder(object):
+2 −2
Original line number Diff line number Diff line
@@ -15,7 +15,7 @@ from deepchem.dock.binding_pocket import BindingPocketFinder
from deepchem.utils import download_url, get_data_dir
from deepchem.utils.typing import RDKitMol
from deepchem.utils.geometry_utils import compute_centroid, compute_protein_range
from deepchem.utils.rdkit_util import load_molecule, write_molecule
from deepchem.utils.rdkit_utils import load_molecule, write_molecule
from deepchem.utils.vina_utils import load_docked_ligands, write_vina_conf

logger = logging.getLogger(__name__)
@@ -47,7 +47,7 @@ class PoseGenerator(object):

    Parameters
    ----------
    molecular_complexes: Tuple[str]
    molecular_complexes: Tuple[str, str]
      A representation of a molecular complex. This tuple is
      (protein_file, ligand_file).
    centroid: np.ndarray, optional (default None)
+8 −8
Original line number Diff line number Diff line
"""
Tests for binding pocket detection.
"""
import os
import logging
import unittest
import os
import numpy as np

import deepchem as dc
from deepchem.utils import rdkit_util
from deepchem.utils import rdkit_utils
from deepchem.utils import coordinate_box_utils as box_utils

logger = logging.getLogger(__name__)
@@ -25,7 +26,7 @@ class TestBindingPocket(unittest.TestCase):
    """Tests that binding pockets are detected."""
    current_dir = os.path.dirname(os.path.realpath(__file__))
    protein_file = os.path.join(current_dir, "1jld_protein.pdb")
    coords = rdkit_util.load_molecule(protein_file)[0]
    coords = rdkit_utils.load_molecule(protein_file)[0]

    boxes = box_utils.get_face_boxes(coords)
    assert isinstance(boxes, list)
@@ -53,9 +54,8 @@ class TestBindingPocket(unittest.TestCase):
    protein_file = os.path.join(current_dir, "1jld_protein.pdb")
    ligand_file = os.path.join(current_dir, "1jld_ligand.sdf")

    active_site_box, active_site_coords = (
        dc.dock.binding_pocket.extract_active_site(protein_file, ligand_file))
    finder = dc.dock.ConvexHullPocketFinder()
    pockets = finder.find_pockets(protein_file)
    active_site_box, active_site_coords = \
      dc.dock.binding_pocket.extract_active_site(protein_file, ligand_file)

    assert len(pockets) > 0
    assert isinstance(active_site_box, box_utils.CoordinateBox)
    assert isinstance(active_site_coords, np.ndarray)
+0 −2
Original line number Diff line number Diff line
@@ -4,7 +4,6 @@ Tests for Pose Scoring

import logging
import unittest
import pytest
import numpy as np

from deepchem.dock.pose_scoring import vina_nonlinearity
@@ -19,7 +18,6 @@ from deepchem.dock.pose_scoring import vina_energy_term
logger = logging.getLogger(__name__)


@pytest.mark.linux_only
class TestPoseScoring(unittest.TestCase):
  """
  Does sanity checks on pose generation.
+10 −9
Original line number Diff line number Diff line
@@ -5,8 +5,9 @@ import logging
import numpy as np
from deepchem.feat import Featurizer
from deepchem.feat import ComplexFeaturizer
from deepchem.utils import rdkit_util, pad_array
from deepchem.utils.rdkit_util import MoleculeLoadException
from deepchem.utils import pad_array
from deepchem.utils.rdkit_utils import MoleculeLoadException, get_xyz_from_mol, \
  load_molecule, merge_molecules_xyz, merge_molecules


class AtomicCoordinates(Featurizer):
@@ -172,9 +173,9 @@ class NeighborListComplexAtomicCoordinates(ComplexFeaturizer):
    protein_pdb_file: Str 
      Filename for protein pdb file. 
    """
    mol_coords, ob_mol = rdkit_util.load_molecule(mol_pdb_file)
    protein_coords, protein_mol = rdkit_util.load_molecule(protein_pdb_file)
    system_coords = rdkit_util.merge_molecules_xyz([mol_coords, protein_coords])
    mol_coords, ob_mol = load_molecule(mol_pdb_file)
    protein_coords, protein_mol = load_molecule(protein_pdb_file)
    system_coords = merge_molecules_xyz([mol_coords, protein_coords])

    system_neighbor_list = compute_neighbor_list(
        system_coords, self.neighbor_cutoff, self.max_num_neighbors, None)
@@ -219,17 +220,17 @@ class ComplexNeighborListFragmentAtomicCoordinates(ComplexFeaturizer):

  def _featurize(self, mol_pdb_file, protein_pdb_file):
    try:
      frag1_coords, frag1_mol = rdkit_util.load_molecule(
      frag1_coords, frag1_mol = load_molecule(
          mol_pdb_file, is_protein=False, sanitize=True, add_hydrogens=False)
      frag2_coords, frag2_mol = rdkit_util.load_molecule(
      frag2_coords, frag2_mol = load_molecule(
          protein_pdb_file, is_protein=True, sanitize=True, add_hydrogens=False)
    except MoleculeLoadException:
      # Currently handles loading failures by returning None
      # TODO: Is there a better handling procedure?
      logging.warning("Some molecules cannot be loaded by Rdkit. Skipping")
      return None
    system_mol = rdkit_util.merge_molecules([frag1_mol, frag2_mol])
    system_coords = rdkit_util.get_xyz_from_mol(system_mol)
    system_mol = merge_molecules([frag1_mol, frag2_mol])
    system_coords = get_xyz_from_mol(system_mol)

    frag1_coords, frag1_mol = self._strip_hydrogens(frag1_coords, frag1_mol)
    frag2_coords, frag2_mol = self._strip_hydrogens(frag2_coords, frag2_mol)
Loading