From 2d46825e920d8d9a03666a2b3a7e99c5b498d61b Mon Sep 17 00:00:00 2001 From: Qinqing Liu Date: Mon, 2 Nov 2020 18:33:30 -0500 Subject: [PATCH] update readme --- .DS_Store | Bin 14340 -> 14340 bytes README.md | 72 +++++++++++++++++++- octree/.DS_Store | Bin 14340 -> 14340 bytes pdbbind/.DS_Store | Bin 6148 -> 6148 bytes pdbbind/bash_scripts/data_prepare_points.sh | 13 ++++ 5 files changed, 84 insertions(+), 1 deletion(-) create mode 100644 pdbbind/bash_scripts/data_prepare_points.sh diff --git a/.DS_Store b/.DS_Store index 2702774692e7bc35703b6e2fde783a463e94e3d9..a1a5a0d3612da14985cd8206a790d42ec4e6621a 100644 GIT binary patch delta 493 zcmZoEXepTBFRIPJz`)GFAi%(o$570W&rrmW#*j1dqVi+|6BbrRpd`y=I{^uql;Y%^ zr2PCGhD?T%+ACn4Kc5 z&B_*cO|N$2;>iakq$aPI;6ZRT7#$|t3P?_7mQ<4Q%*juNnhSIe<7c4x8vnt7fnl

)etE>b$kU@_j9jm(*A96&MPeFAzntVZqVQ_MOZUIma z1C!GR5XA-zkz|GvV5p=rq@ucyfoCO90nCA$n-z|*q5D7_Ndd!VQ*}llm~5^g&phwd zoXL?Ia%>CaFO&d7rB*`$#$2qS$h^3LVd4b&$@T)`0;pCpwoWz@__et}dN#|(2i%OC U*$uw2Y`&;c#)Q}6$)@V10J{>CuK)l5 delta 405 zcmZoEXepTBFRH=7z`)GFAi%(o1caFkc?>CK!4oekPc|@NVPynLvP@Rglow40N|og1 zySOCfH*rpU_Ciq^Vh@)3XF^sCrE5o5qQeTlu`s@Dhp||vVER^MagOQD2(AXx z1O}j@$%n+1Hj7C-V`CJa%%dO?&%ofX1acwJCamsTzxa?Ns(cEH`_bhKG7N*0^K%P; zdKefOCv0A?aD;90LiP8I43j5n$g3}^Py>pyGZZkSAOZ_HO!oJiv}$!tzOJFb24()$ pP-I>%z%W@rKxFbPaXu7pJYw6-Zt#s|a;>QU<_gu{j6j?A0szuhaZdmM 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 4560d8266f88b3269318f444d703bf21c39fed5d..9d96ca83015c1dda0dd8c586bc770ca634c2b44b 100644 GIT binary patch delta 885 zcmZoEXepTBFR0DHz`)GFAi%&-!cfGJ%8)uS!E`derufD+@%)UEo7FT$80*;>3K%MZ z@)->I40$QV$vH{+`8hy+3@8#g>4w3{`MCuk2?hq?^*{neJ~!XRB`GIA2`J9-=WpHN zwdIE#G1a7Cs*y)Cs2~H`A_Inr6J#dy2x!-{0G*i1P|Q$*>_oUAs`Fgu0{Nt0MNCUkT+AS_xm-b;k&$8ZV#U{} z!Nle>dvc(f@a751U91tvuJB+}T>cXhNo>GiN(TA}oOqF4fJ+UEPZ1LU0009301yBGbO2}oZvbwQU^SD&5f`znUk?EXliCq0le`iO zvz-zS0kgsr&H=No6$%Bj8XNHhvEcFo0Sl81Aa9dgAq}%VAsPVz0kc>l>jAT4B#Z@- YpbWDN5EKEi)XfF62Qc;ov(hC812Z=zYybcN diff --git a/pdbbind/.DS_Store b/pdbbind/.DS_Store index d38176301af6a9db8e9ffa5dc7916732489a254b..1106d29371d8686b4c296317c07093bcd853b841 100644 GIT binary patch literal 6148 zcmeHK!EO^V5FNJ*IH8CfkSI4_5SJXf5UO%OTGDVp;()XW4uI0#Y}72;T}RnXBS=&2 zkrN*P0wg|#BR{|i2{>`$8yMR|v{f1e7g`~YG=8)8jO}@m?F<00_Be6@8UVmi6*_fn zju17jbU{|AXAP0*Il7QT4@MBfaKYPlSOzQuCyfDhcGn<;08j1!s^_uKvUy$cbMB#W-&VqetrNUQi4|vhPco%;r;`snibVVp&B(w5^a%Jn?H8Q{FeYu(1B>Gb;6R#Uh)TC=8@y6)9h zQ?#ya&So`!@v?jK&QAL5`E-AF@XAok@J7;dp70mEMq_ElQQk{J+_Q3C>Xhudeov;= zD{iT8DmxvbkpKAn^2^&7A8!3_?o>v9r6$8xa_?AjHu~2w26Pu(A0|NsS5Q6|C1Pd^v6es5-<>%*Y7UU3P*{r}Zk$E#a h2R{c;7f|Fo^JIPzMMlQSrXtFd{dqVx$B3+81^}`C5jX$< 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