Commit fd57a816 authored by evanfeinberg's avatar evanfeinberg
Browse files

merged changes from master

parents f72cf3d9 d4bfad2f
Loading
Loading
Loading
Loading

.travis.yml

0 → 100644
+28 −0
Original line number Diff line number Diff line
language: python
python:
- '2.7'
install:
- sudo apt-get update
- wget http://repo.continuum.io/archive/Anaconda2-2.4.1-Linux-x86_64.sh -O anaconda.sh;
- bash anaconda.sh -b -p $HOME/anaconda
- export PATH="$HOME/anaconda/bin:$PATH"
- hash -r
- conda config --set always_yes yes --set changeps1 no
- conda config --add channels http://conda.binstar.org/omnia
- conda update -q conda
- conda info -a
- conda install pandas
- conda install -c omnia rdkit
- conda install -c omnia openbabel
- conda install joblib
- conda install -c omnia theano
- conda install -c omnia keras
- python setup.py install
script:
- nosetests -v deepchem
after_success:
- source devtools/travis-ci/after_sucess.sh
env:
  global:
  - secure: FojR+Zrw/XLeDWHaZnwqkBt7DGwOJ6N9X0HJIkkzGsTxQy405qY9bfKMgzivY4UAppqWH2R9kcY/3K2lnFOU9Z2dSf9ZSLVmXjQQK+YhiFiPVQG1bQ8XEhQ51927AZn2wGqzPSFlOI8M4ek2V4a6d72Wg6SOooVbI+A9PtrdXNJlEfonY0QfSakhg+IFPBsN84khbGaHlTRCXvozRTSm3Ubo4jidN54WbO7Ll18qJ183Fgh8SVxYfodDAusZaWU2e/q9lCk6nkJ9bDC9anPbuTXpSlIkH7x7WcrMbLCrvvHJq26YOCjReCDea1/N8ECsarXWfvPjz1Cv59QSghoLxFeRRNCDHWaWTccKgWRAFd60+vSgd8CcoMFsMY0XedO2mSQztLAb2pS2TCoCPMD/5Zip5pkXOxJB5CwPqSuJ41FBPYthzyhG1MPbaQnPDZjtx5TDaVdN5w+Nfc40i9+0rFNisEyAdi2dTcr6bWZ7UlWj7LBDJGVjYPC8lKsaip6dyov3KeLveod0IbY5zCVnqF2rwuID5n/6ejGgytv1caZWa9TvEjzuSJoo8d2uXwyTzQLntardt2ZvtA8ZmwChyaq0pNtUgxQE4wn8hZG19+lAvIc95ZDJuSV7xwuo5XsMDffa3jrjyWhByveyfbHs1znAmAl4w6NJ32ylWr0/+Do=
  - secure: JDldUkMQE7+vlKX2ghTFhGWCWHzJJtC4w8xIzAaKo04zHaBcrHSmhXXwkkPjyGjgcXE6ORKUI/zJnCecErpPbHYVEQUGzyTG9ikQr0pIENTua5j5AHJUt5Y+aWsD2fzNWE1ZT88sxKAqj96rsfRfj7coymkoyLXrvqdd5OVm+sEiup5MLGEutbMrOPXChSXBUiGetLakoMnQ0WznOttWVUb52j5SsCJSOh7baX0eNdEmaGZ+ok4R/j8/c8LTARVOC2AZ6c6BIfJPHk7rPpq4HoeVRIgp2o7vbjosE+eI499OPP1AcFHUm38XJ68mDsw5exu/ONEbFgxzA2hXqVW/TDnWpaJ0hLKxjGg8JnJ63OYWyY2nk7UGQNPwiVj4DiN7zsNkV1+IbaUmiGjbWAxyCa8FBOoXos7DQ7pVtWNvhZtsAzJaCNgvCFgsrxcutxGuN9zkpmL30QNpE6HT/mvmww5MHH5KacBYPLjqmihQCuasT9L6k2+dPspRRfbrgyBZJxffteWumXBThIaqs8BuqG1CxxgkOgvUTSBZyoZtfX3CW8ClEIKT89+bQXQKwcqSqWCu7qsFx7A6ssmzliCzO5iXZhxaPS7rICqRu4HPJ1YNS5bUbwwEmBeMw0ATsxpfo0ityNSJbO0AvXiIr9fcVv0cPJuz3pialFrGDMMPjeY=
+0 −12
Original line number Diff line number Diff line
@@ -9,7 +9,6 @@ Requirements
* [sklearn](https://github.com/scikit-learn/scikit-learn.git)
* [numpy](https://store.continuum.io/cshop/anaconda/)
* [keras](keras.io)
* [vs-utils] (https://github.com/pandegroup/vs-utils.git)

Linux (64-bit) Installation 
------------------
@@ -46,17 +45,6 @@ Cd into the keras directory and execute
python setup.py install
```

###vs_utils
Clone the vs_utils git repository
```bash
git clone https://github.com/pandegroup/vs-utils.git
```

Cd into the vs-utils directory and execute
```bash
python setup.py develop
```

###deepchem
Clone the deep_chem git repository
```bash
+1 −1
Original line number Diff line number Diff line
@@ -13,7 +13,7 @@ import numpy as np
from rdkit import Chem

from deepchem.featurizers import Featurizer
from vs_utils.utils import pad_array
from deepchem.utils import pad_array


class CoulombMatrix(Featurizer):
+6 −5
Original line number Diff line number Diff line
@@ -16,7 +16,7 @@ from deepchem.utils.save import log
from deepchem.utils.save import save_to_disk
from deepchem.utils.save import load_from_disk
from deepchem.utils.save import load_pandas_from_disk
from vs_utils.utils import ScaffoldGenerator
from deepchem.utils import ScaffoldGenerator
from deepchem.featurizers.nnscore import NNScoreComplexFeaturizer
import multiprocessing as mp
from functools import partial
@@ -121,15 +121,17 @@ class DataFeaturizer(object):
    raw_df = load_pandas_from_disk(input_file)
    fields = raw_df.keys()
    log("Loaded raw data frame from file.", self.verbose)

    def process_raw_sample_helper(row, fields, input_type):
      return self._process_raw_sample(input_type, row, fields)
    process_raw_sample_helper_partial = partial(process_raw_sample_helper,
                                                fields=fields,
                                                input_type=input_type)

    processed_rows = raw_df.apply(process_raw_sample_helper_partial, axis=1)
    log("finished processing rows", self.verbose)
    raw_df = pd.DataFrame.from_records(processed_rows)

    #processed_rows = raw_df.apply(process_raw_sample_helper_partial, axis=1)
    raw_df = raw_df.apply(process_raw_sample_helper_partial, axis=1, reduce=False)
    #raw_df = pd.DataFrame.from_records(processed_rows)

    nb_sample = raw_df.shape[0]
    interval_points = np.linspace(
@@ -170,7 +172,6 @@ class DataFeaturizer(object):
    if input_type == "csv":
      for ind, field in enumerate(fields):
        data[field] = _process_field(row[ind])
      return data
    elif input_type in ["pandas-pickle", "pandas-joblib"]:
      for field in fields:
        data[field] = _process_field(row[field])
+15 −18
Original line number Diff line number Diff line
@@ -720,35 +720,32 @@ class NNScoreComplexFeaturizer(ComplexFeaturizer):
    """
    Compute Binana fingerprint for complex.
    """
    ### OPEN TEMPDIR
    tempdir = tempfile.mkdtemp()

    mol_pdb_file = os.path.join(tempdir, "mol.pdb")
    with open(mol_pdb_file, "w") as mol_f:
    mol_pdb_file = tempfile.NamedTemporaryFile(suffix="pdb")
    with open(mol_pdb_file.name, "w") as mol_f:
      mol_f.writelines(mol_pdb)
    protein_pdb_file = os.path.join(tempdir, "protein.pdb")
    with open(protein_pdb_file, "w") as protein_f:
    protein_pdb_file = tempfile.NamedTemporaryFile(suffix="pdb")
    with open(protein_pdb_file.name, "w") as protein_f:
      protein_f.writelines(protein_pdb)

    mol_hyd_file = os.path.join(tempdir, "mol_hyd.pdb")
    mol_pdbqt_file = os.path.join(tempdir, "mol_hyd.pdbqt")
    mol_hyd_file = tempfile.NamedTemporaryFile(suffix="pdb")
    mol_pdbqt_file = tempfile.NamedTemporaryFile(suffix="pdbqt")
    hydrogenate_and_compute_partial_charges(
        mol_pdb_file, "pdb", tempdir, mol_hyd_file, mol_pdbqt_file)
        mol_pdb_file.name, "pdb", mol_hyd_file.name,
        mol_pdbqt_file.name)

    protein_hyd_file = os.path.join(tempdir, "protein_hyd.pdb")
    protein_pdbqt_file = os.path.join(tempdir, "protein_hyd.pdbqt")
    protein_hyd_file = tempfile.NamedTemporaryFile(suffix="pdb")
    protein_pdbqt_file = tempfile.NamedTemporaryFile(suffix="pdbqt")
    hydrogenate_and_compute_partial_charges(
        protein_pdb_file, "pdb", tempdir, protein_hyd_file, protein_pdbqt_file)
        protein_pdb_file.name, "pdb", protein_hyd_file.name,
        protein_pdbqt_file.name)

    mol_pdb_obj = PDB()
    mol_pdb_obj.load_from_files(mol_pdb_file, mol_pdbqt_file)
    mol_pdb_obj.load_from_files(mol_pdb_file.name, mol_pdbqt_file.name)

    protein_pdb_obj = PDB()
    protein_pdb_obj.load_from_files(protein_pdb_file, protein_pdbqt_file)
    protein_pdb_obj.load_from_files(
        protein_pdb_file.name, protein_pdbqt_file.name)

    features = self.binana.compute_input_vector(mol_pdb_obj, protein_pdb_obj)

    ### CLOSE TEMPDIR
    shutil.rmtree(tempdir)

    return features
Loading