Commit 782feb6d authored by Bharath Ramsundar's avatar Bharath Ramsundar Committed by GitHub
Browse files

Merge pull request #566 from lilleswing/lazy-load-cr

Lazy Load More Dependencies
parents 6a466302 1aa871ff
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -10,7 +10,7 @@ __copyright__ = "Copyright 2016, Stanford University"
__license__ = "MIT"

import sys
import mdtraj as md
from deepchem.utils.dependencies import mdtraj as md
import unittest
import tempfile
import os
+1 −1
Original line number Diff line number Diff line
@@ -10,7 +10,7 @@ __copyright__ = "Copyright 2016, Stanford University"
__license__ = "LGPL v2.1+"

import numpy as np
import mdtraj
from deepchem.utils.dependencies import mdtraj
from deepchem.feat import Featurizer
from deepchem.feat import ComplexFeaturizer
from deepchem.utils import rdkit_util, pad_array
+1 −1
Original line number Diff line number Diff line
@@ -10,7 +10,7 @@ __copyright__ = "Copyright 2017, Stanford University"
__license__ = "MIT"

import numpy as np
import mdtraj as md
from deepchem.utils.dependencies import mdtraj as md
from deepchem.utils.save import log
from deepchem.feat import Featurizer

+17 −8
Original line number Diff line number Diff line
"""
This file is for lazily importing optional dependencies
"""
import importlib


def import_lazy(module_name):
  try:
  import xgboost as xgboost
    module = importlib.import_module(module_name)
    return module
  except:
  print("Warning: No XGBOOST installed on your system")
  print(
      "Attempting to run models with XGBOOST dependencies will throw runtime errors"
  )
  xgboost = None
    print("Warning: No %s installed on your system" % module_name)
    print("Attempting to run %s will throw runtime errors")
    return None


xgboost = import_lazy("xgboost")
pdbfixer = import_lazy("pdbfixer")
simtk = import_lazy("simtk")
mdtraj = import_lazy("mdtraj")
+5 −4
Original line number Diff line number Diff line
@@ -4,11 +4,11 @@ import networkx as nx
import numpy as np
import os

from pdbfixer import PDBFixer
from deepchem.utils.dependencies import pdbfixer
from deepchem.utils.dependencies import simtk
from rdkit import Chem
from rdkit.Chem import AllChem
from rdkit.Chem import rdmolops
from simtk.openmm.app import PDBFile

try:
  from StringIO import StringIO
@@ -50,11 +50,12 @@ def add_hydrogens_to_mol(mol):
    pdb_stringio = StringIO()
    pdb_stringio.write(pdbblock)
    pdb_stringio.seek(0)
    fixer = PDBFixer(pdbfile=pdb_stringio)
    fixer = pdbfixer.PDBFixer(pdbfile=pdb_stringio)
    fixer.addMissingHydrogens(7.4)

    hydrogenated_io = StringIO()
    PDBFile.writeFile(fixer.topology, fixer.positions, hydrogenated_io)
    simtk.openmm.app.PDBFile.writeFile(fixer.topology, fixer.positions,
                                       hydrogenated_io)
    hydrogenated_io.seek(0)
    return Chem.MolFromPDBBlock(
        hydrogenated_io.read(), sanitize=False, removeHs=False)
Loading