diff --git a/.DS_Store b/.DS_Store index 2702774..a1a5a0d 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/README.md b/README.md index bf2b383..2162f54 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,72 @@ # OctSurf - + + + +This is the code repository for OctSurf: Efficient Hierarchical Voxel-based Molecular Surface Representation for the Protein-Ligand Affinity Prediction. + +### Experiments + +#### PDBbind download +```angular2 +cd pdbbind +bash data_download.sh +``` + +#### Set-up enviroment +```angular2 +# compile java +cd pdbbind/java +javac -cp cdk-2.3-SNAPSHOT.jar Surface_for_single.java + +# compile cpp +cd ../../ +cd octree/external && git clone --recursive https://github.com/wang-ps/octree-ext.git +cd .. && mkdir build && cd build +cmake .. && cmake --build . --config Release +export PATH=`pwd`:$PATH + +# set-up TF enviroment +conda create -n OctSurf_env tensorflow-gpu==1.14.0 +conda activate OctSurf_env +conda install -c conda-forge yacs tqdm +pip install -U openbabel + +cmake .. -DUSE_CUDA=ON && make + +cd ../../tensorflow/libs +python build.py +``` + +#### Octree Generation Example +```angular2 +cd pdbbind/data_folder/refined-set/1a1e +bash ../octree_for_single.sh + +# visualization +pip install vtk +cd ../../../../visualize octree_parse.py +``` +#### CNN modeling + +- prepare the data +```angular2 +bash data_prepare_model.sh +``` +- train model +```angular2 +cd tensorflow/script +python run_cls.py --config configs/vgg_depth6.yaml +``` + +- test performance +```angular2 +python test_reg_ave.py --config configs/vgg_depth6_test.yaml +``` + +### Acknowledgments +Code is inspired by [O-CNN](https://wang-ps.github.io/O-CNN.html). + +The code is released under the **MIT license**. +Please contact us (Qinqing Liu qinqing.liu@uconn.edu, Minghu Song minghu.song@uconn.edu ) +if you have any problems about our implementation. + diff --git a/octree/.DS_Store b/octree/.DS_Store index 4560d82..9d96ca8 100644 Binary files a/octree/.DS_Store and b/octree/.DS_Store differ diff --git a/pdbbind/.DS_Store b/pdbbind/.DS_Store index d381763..1106d29 100644 Binary files a/pdbbind/.DS_Store and b/pdbbind/.DS_Store differ diff --git a/pdbbind/bash_scripts/data_prepare_points.sh b/pdbbind/bash_scripts/data_prepare_points.sh new file mode 100644 index 0000000..1da6fe6 --- /dev/null +++ b/pdbbind/bash_scripts/data_prepare_points.sh @@ -0,0 +1,13 @@ +for D in ./*/; +do + echo "${D}"; + cd "${D}"; + java -cp /home/qil15006/2020Summer/OCNN_Jun26_2020/pdbbind/java/cdk-2.3-SNAPSHOT.jar:/home/qil15006/2020Summer/OCNN_Jun26_2020/pdbbind/java Surface_for_single 6 ico pdbbind; + /home/qil15006/.conda/envs/tf-OCNN/bin/python /home/qil15006/2020Summer/OCNN_Jun26_2020/pdbbind/write_complex.py + /home/qil15006/.conda/envs/tf-OCNN/bin/python /home/qil15006/2020Summer/OCNN_Jun26_2020/pdbbind/atomic_feature.py + /home/qil15006/2020Summer/OCNN_Jun26_2020/octree/build/pdb_to_points --complex_id file_list.txt + # uncomment if need octree + #mkdir octree_folder + #/home/qil15006/2020Summer/OCNN_Jun26_2020/octree/build/qq_octree_rotate --depth 5 --filenames point_list.txt --output_path ./octree_folder + cd ..; +done \ No newline at end of file