diff --git a/README.md b/README.md index b0999ce..153ec11 100644 --- a/README.md +++ b/README.md @@ -44,6 +44,12 @@ sudo make install cd .. ``` +Or easily setup by using install.sh: +``` +chmod +x install.sh +./install.sh +``` + Usage example --------------- @@ -51,5 +57,10 @@ Usage example python predict.py -p protein.pdb -mp model_path -o output_path ``` +Ex: +``` +python predict.py -p protein.pdb -mp models/ -o output +``` + For more input options, check 'predict.py'. All other molecules (waters, ions, ligands) should be removed from the structure. If the input protein has not been protonated, add --protonate to the execution command.\ The provided models have been trained on a subset of scPDB (training_subset_of_scpdb.proteins) diff --git a/install.sh b/install.sh new file mode 100644 index 0000000..16d3f15 --- /dev/null +++ b/install.sh @@ -0,0 +1,31 @@ +conda create -n deepsurf python=3.6.9 +conda activate deepsurf +sudo apt update +sudo apt install -y p7zip +sudo apt install -y libopenbabel-dev +sudo apt install -y g++ +sudo apt install -y swig +conda install pytorch==1.2.0 torchvision==0.4.0 cudatoolkit=10.0 -c pytorch +conda install -c conda-forge openbabel +pip install tensorflow-gpu==1.13.1 +pip install scikit-learn==0.20.3 + +git clone https://github.com/stemylonas/DeepSurf +cd DeepSurf + +cd lds +chmod a+x compile.sh +./compile.sh +cd .. + +pip install gdown --ignore-installed certifi +gdown 1nIBoD3_5nuMqgRGx4G1OHZwLsiUjb7JG +p7zip -d models.7z + +wget www.cgl.ucsf.edu/Overview/ftp/dms.zip +unzip dms.zip +rm dms.zip +cd dms +chmod 777 -R . +sudo make install +cd .. diff --git a/protein.py b/protein.py index 66ba471..a0b3407 100644 --- a/protein.py +++ b/protein.py @@ -7,7 +7,7 @@ """ import os, numpy as np -import pybel +from openbabel import pybel from utils import simplify_dms diff --git a/tfbio_data.py b/tfbio_data.py index b60a089..7428443 100644 --- a/tfbio_data.py +++ b/tfbio_data.py @@ -7,7 +7,7 @@ import numpy as np -import pybel +from openbabel import pybel from math import ceil, sin, cos, sqrt, pi from itertools import combinations import collections @@ -62,7 +62,7 @@ def __init__(self, atom_codes=None, atom_labels=None, specified this argument is ignored. named_properties: list of strings, optional Names of atomic properties to retrieve from pybel.Atom object. If - not specified ['hyb', 'heavyvalence', 'heterovalence', + not specified ['hyb', 'heavydegree', 'heterodegree', 'partialcharge'] is used. save_molecule_codes: bool, optional (default True) If set to True, there will be an additional feature to save @@ -151,7 +151,7 @@ def __init__(self, atom_codes=None, atom_labels=None, self.NAMED_PROPS = named_properties else: # pybel.Atom properties to save - self.NAMED_PROPS = ['hyb', 'heavyvalence', 'heterovalence', + self.NAMED_PROPS = ['hyb', 'heavydegree', 'heterodegree', 'partialcharge'] self.FEATURE_NAMES += self.NAMED_PROPS