/PointSite_Inference

PointSite: a point cloud segmentation tool for identification of protein ligand binding atoms

Primary LanguageC++MIT LicenseMIT

PointSite: a point cloud segmentation tool for identification of protein ligand binding atoms

This repository contains the author's implementation for the paper:
PointSite: a point cloud segmentation tool for identification of protein ligand binding atoms [bioRxiv]
Created by Zhen Li, Xu Yan and Sheng Wang

Setup

Tested with CUDA 9.0, Ubuntu 18.04, Python 3.6 with Conda and PyTorch 1.1.

git clone --recursive https://github.com/PointSite/PointSite_Inference.git
cd PointSite_Inference/
./install.sh

WARNING: To install the package successfully, users shall use the latest version Anaconda, such as Anaconda2-2019.10.

Inference

python inference.py 
--gpu: GPU index, if you have not GPU, just ignore it
--output: output root (required)
--data: data root, only support .xyz file (required)
--select_list: TXT file for selected protein name, default None
--num_vote: voting number in inference (default 25, larger number can archieve more stable and high performance)

Running Example

conda activate pointsite_inference
python inference.py --output blind_out --data example/blind --select_list example/blind_list
conda deactivate

Note that the above input data (in '.XYZ' format) contain the ground-truth label of binding atoms. Run below script for identifying binding atoms on unlabeled data in '.PDB' files.

./pointsite_run.sh example/blind_list example/blind blind_out `pwd`

Visualization

You will get .obj file in output folder, please use MeshLab to visualize.

Training and Testing Data

Users may find the training data here. Users may locate the testing data here.

Reference

3D Semantic Segmentation with Submanifold Sparse Convolutional Networks, CVPR 2018 facebookresearch/SparseConvNet