Commit ca10e0f5 authored by Bharath Ramsundar's avatar Bharath Ramsundar
Browse files

Debugging more tests

parent e3893b6a
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -11,6 +11,8 @@ from deepchem.data.datasets import pad_batch
from deepchem.data.datasets import Dataset
from deepchem.data.datasets import NumpyDataset
from deepchem.data.datasets import DiskDataset
from deepchem.data.datasets import sparsify_features
from deepchem.data.datasets import densify_features
from deepchem.data.supports import *
from deepchem.data.data_loader import DataLoader
from deepchem.data.data_loader import CSVLoader
+18 −1
Original line number Diff line number Diff line
@@ -57,6 +57,10 @@ def featurize_smiles_df(df, featurizer, field, log_every_N=1000, verbose=True):
  or macromolecules, compute & add features for that compound to the 
  features dataframe
  """
  ######################################################## DEBUG
  print("field")
  print(field)
  ######################################################## DEBUG
  sample_elems = df[field].tolist()

  features = []
@@ -144,6 +148,10 @@ class DataLoader(object):
      self.user_specified_features = featurizer.feature_fields 
    self.featurizer = featurizer
    self.log_every_n = log_every_n
    ##################################################### DEBUG
    print("self.smiles_field")
    print(self.smiles_field)
    ##################################################### DEBUG

  def featurize(self, input_files, data_dir=None, shard_size=8192):
    """Featurize provided files and write to specified location."""
@@ -155,6 +163,10 @@ class DataLoader(object):
    def shard_generator():
      for shard_num, shard in enumerate(self.get_shards(input_files, shard_size)):
        time1 = time.time()
        ##################################################### DEBUG
        print("self.smiles_field")
        print(self.smiles_field)
        ##################################################### DEBUG
        X, valid_inds = self.featurize_shard(shard)
        ids, y, w = convert_df_to_numpy(shard, self.tasks, self.id_field)  
        # Filter out examples where featurization failed.
@@ -184,8 +196,13 @@ class CSVLoader(DataLoader):

  def featurize_shard(self, shard):
    """Featurizes a shard of an input dataframe."""
    ######################################################### DEBUG
    print("self.smiles_field")
    print(self.smiles_field)
    ######################################################### DEBUG
    return featurize_smiles_df(shard, self.featurizer,
                               field=self.smiles_field)

class UserCSVLoader(DataLoader):
  """
  Handles loading of CSV files with user-defined featurizers.
@@ -198,7 +215,7 @@ class UserCSVLoader(DataLoader):
    """Featurizes a shard of an input dataframe."""
    assert isinstance(self.featurizer, UserDefinedFeaturizer)
    X = get_user_specified_features(shard, self.featurizer)
    return (X, np.ones(len(X)))
    return (X, np.ones(len(X), dtype=bool))

class SDFLoader(DataLoader):
  """
+1 −1
Original line number Diff line number Diff line
@@ -608,7 +608,7 @@ class DiskDataset(Dataset):
      for shard_num, row in self.metadata_df.iterrows():
        X, y, w, ids = self.get_shard(shard_num)
        newx, newy, neww = fn(X, y, w)
        yield (X, y, w, ids)
        yield (newx, newy, neww, ids)
    return DiskDataset(generator(), data_dir=out_dir)

  @staticmethod
+9 −4
Original line number Diff line number Diff line
@@ -23,9 +23,14 @@ def load_solubility_data():
  tasks = ["log-solubility"]
  task_type = "regression"
  input_file = os.path.join(current_dir, "../../models/tests/example.csv")
  featurizer = dc.data.CSVLoader(
  loader = dc.data.CSVLoader(
      tasks=tasks, smiles_field="smiles", featurizer=featurizer)
  return featurizer.featurize(input_file)
  ##################################################### DEBUG
  print("loader.smiles_field")
  print(loader.smiles_field)
  ##################################################### DEBUG
  
  return loader.featurize(input_file)

def load_multitask_data():
  """Load example multitask data."""
@@ -73,7 +78,7 @@ def load_feat_multitask_data():
  tasks = ["task0", "task1", "task2", "task3", "task4", "task5"]
  input_file = os.path.join(
      current_dir, "../../models/tests/feat_multitask_example.csv")
  loader = dc.data.CSVLoader(
  loader = dc.data.UserCSVLoader(
      tasks=tasks, featurizer=featurizer, id_field="id")
  return loader.featurize(input_file)

@@ -87,6 +92,6 @@ def load_gaussian_cdf_data():
  tasks = ["task0","task1"]
  input_file = os.path.join(
      current_dir, "../../models/tests/gaussian_cdf_example.csv")
  loader = dc.data.CSVLoader(
  loader = dc.data.UserCSVLoader(
      tasks=tasks, featurizer=featurizer, id_field="id")
  return loader.featurize(input_file)
+1 −1
Original line number Diff line number Diff line
@@ -16,7 +16,7 @@ import shutil
import numpy as np
import deepchem as dc

class TestBasicDatasets(unittest.TestCase):
class TestDatasets(unittest.TestCase):
  """
  Test basic top-level API for dataset objects.
  """
Loading