Commit 46dea4da authored by Bharath Ramsundar's avatar Bharath Ramsundar
Browse files

Fixing yapf

parent a9d607d5
Loading
Loading
Loading
Loading
+26 −28
Original line number Diff line number Diff line
@@ -542,9 +542,8 @@ def pair_features(mol: RDKitMol,
            "Malformed molecule with bonds not in specified graph distance.")
      else:
        n = mapping[(int(a1), int(a2))]
      features[n, :bt_len] = np.asarray(bond_features_map[tuple(sorted(
          (a1, a2)))],
                                        dtype=float)
      features[n, :bt_len] = np.asarray(
          bond_features_map[tuple(sorted((a1, a2)))], dtype=float)
    for ring in rings:
      if a1 in ring:
        for a2 in ring:
@@ -561,10 +560,8 @@ def pair_features(mol: RDKitMol,
    # graph distance between two atoms
    if graph_distance:
      # distance is a matrix of 1-hot encoded distances for all atoms
      distance = find_distance(a1,
                               num_atoms,
                               bond_adj_list,
                               max_distance=max_distance)
      distance = find_distance(
          a1, num_atoms, bond_adj_list, max_distance=max_distance)
      for a2 in range(num_atoms):
        if (int(a1), int(a2)) not in mapping:
          # For ring pairs outside max pairs distance continue
@@ -585,9 +582,7 @@ def pair_features(mol: RDKitMol,
  return features, pair_edges


def find_distance(a1: RDKitAtom,
                  num_atoms: int,
                  bond_adj_list,
def find_distance(a1: RDKitAtom, num_atoms: int, bond_adj_list,
                  max_distance=7) -> np.ndarray:
  """Computes distances from provided atom.

@@ -712,9 +707,9 @@ class ConvMolFeaturizer(MolecularFeaturizer):
    self.atom_properties = list(atom_properties)
    self.per_atom_fragmentation = per_atom_fragmentation

  def featurize(self,
                molecules: Union[RDKitMol, str, Iterable[RDKitMol],
                                 Iterable[str]],
  def featurize(
      self,
      molecules: Union[RDKitMol, str, Iterable[RDKitMol], Iterable[str]],
      log_every_n: int = 1000) -> np.ndarray:
    """
    Override parent: aim is to add handling atom-depleted molecules featurization
@@ -732,8 +727,8 @@ class ConvMolFeaturizer(MolecularFeaturizer):
    features: np.ndarray
      A numpy array containing a featurized representation of `datapoints`.
    """
    features = super(ConvMolFeaturizer, self).featurize(molecules,
                                                        log_every_n=1000)
    features = super(ConvMolFeaturizer, self).featurize(
        molecules, log_every_n=1000)
    if self.per_atom_fragmentation:
      # create temporary valid ids serving to filter out failed featurizations from every sublist
      # of features (i.e. every molecules' frags list), and also totally failed sublists.
@@ -806,9 +801,10 @@ class ConvMolFeaturizer(MolecularFeaturizer):

    # Get the node features
    idx_nodes = [(a.GetIdx(),
                  np.concatenate(
                      (atom_features(a, use_chirality=self.use_chirality),
                       self._get_atom_properties(a)))) for a in mol.GetAtoms()]
                  np.concatenate((atom_features(
                      a, use_chirality=self.use_chirality),
                                  self._get_atom_properties(a))))
                 for a in mol.GetAtoms()]

    idx_nodes.sort()  # Sort by ind to ensure same order as rd_kit
    idx, nodes = list(zip(*idx_nodes))
@@ -932,7 +928,8 @@ class WeaveFeaturizer(MolecularFeaturizer):
    """Encodes mol as a WeaveMol object."""
    # Atom features
    idx_nodes = [(a.GetIdx(),
                  atom_features(a,
                  atom_features(
                      a,
                      explicit_H=self.explicit_H,
                      use_chirality=self.use_chirality))
                 for a in mol.GetAtoms()]
@@ -956,7 +953,8 @@ class WeaveFeaturizer(MolecularFeaturizer):
      bond_adj_list[bond[1]].append(bond[0])

    # Calculate pair features
    pairs, pair_edges = pair_features(mol,
    pairs, pair_edges = pair_features(
        mol,
        bond_features_map,
        bond_adj_list,
        bt_len=self.bt_len,
+4 −6
Original line number Diff line number Diff line
"""Unit tests for evaluators."""
import deepchem as dc
import numpy as np
import sklearn
from deepchem.utils.evaluate import Evaluator
from deepchem.utils.evaluate import GeneratorEvaluator
from sklearn.ensemble import RandomForestClassifier
@@ -77,9 +76,8 @@ def test_evaluate_multiclass_classification_singletask():
  y = np.random.randint(5, size=(100,))
  dataset = dc.data.NumpyDataset(X, y)
  model = dc.models.MultitaskClassifier(1, 5, n_classes=5)
  multitask_scores = model.evaluate(dataset,
                                    dc.metrics.roc_auc_score,
                                    n_classes=5)
  multitask_scores = model.evaluate(
      dataset, dc.metrics.roc_auc_score, n_classes=5)
  assert len(multitask_scores) == 1
  assert multitask_scores["metric-1"] >= 0

@@ -296,8 +294,8 @@ def test_gc_binary_kappa_classification():
  model = dc.models.GraphConvModel(1, mode="classification")
  # TODO: Fix this case with correct thresholding
  evaluator = Evaluator(model, dataset, [])
  multitask_scores = evaluator.compute_model_performance(dc.metrics.kappa_score,
                                                         n_classes=2)
  multitask_scores = evaluator.compute_model_performance(
      dc.metrics.kappa_score, n_classes=2)
  assert len(multitask_scores) == 1
  assert multitask_scores["metric-1"] <= 1
  assert multitask_scores["metric-1"] >= -1
+1 −1
Original line number Diff line number Diff line
@@ -4,4 +4,4 @@ sphinx>=3.2,<4
sphinx_rtd_theme>=0.5,<1
tensorflow>=2.3,<2.4
transformers
torch==1.8.1
torch==1.8.0