Coder Social home page Coder Social logo

procare's Introduction

ProCare: A Point Cloud Registration Approach to Align Protein Cavities

Description

ProCare is a point cloud registration approach to align protein cavities decribed by an ensemble of 3D points. Each point is labelled with one of eight pharmacophoric features complementary to the one of the closest protein atom, or a dummy feature where appropriate (Desaphy et al., 2020).

Requirements

  1. Cavities described by 3D pharmacophoric points, generetaed with IChem Volsite (da Silva et al., 2018) or downloaded from the scPDB database. IChem is downloadable here,
  2. A Linux/POSIX operating system,
  3. Python with procare package and dependencies installed (see install).

Install (Linux/POSIX)

ProCare install package consists of:

  • A version of Open3D v. 0.5.0.0 (Zhou et al, 2018), modified to handle IChem Volsite chemical features,
  • procare python scripts,
  • procare launcher script procare_launcher.py.

Easy install (no conda experience)

To easier installation, a bash script install.sh is provided.

1. Download the install package
$ git clone https://github.com/kimeguida/ProCare.git
$ cd ProCare/
2. Execute bash script install.sh

Will download miniconda and install procare.

$ bash install.sh <install_dir>

<install_dir> is the directory for installation. For example, $HOME.

3. Test installation

Execute bash commands in activate.sh, generated during installation. Note the change of the bash prompt.

(procare) $
(procare) $ python -c "import procare"
(procare) $ python -c "from procare.open3d.open3d.geometry import read_point_cloud"

No error means the installation has been successful.

For conda users

1. Download the install package
$ git clone https://github.com/kimeguida/ProCare.git
$ cd ProCare/
2. Create a python virtual environement

With Conda/Anaconda:

$ conda env create -n procare -f procare_environment.yml
$ conda activate procare

Note that you may need to source your conda beforehand source /xxx/etc/profile.d/conda.sh.

3. Install procare python package
(procare) $ pip install procare_python_package/
4. Test installation
(procare) $ python -c "import procare"
(procare) $ python -c "from procare.open3d.open3d.geometry import read_point_cloud"

No error means the installation has been successful.

Test ProCare

Alignement is performed with the python script procare_launcher.py:

(procare) $ cd tests/
(procare) $ python procare_launcher.py -s 2rh1_cavity.mol2 -t 5d6l_cavity.mol2 --transform

Outputs:

  • scores file procare_scores.tsv (tab-separated) : simplified output
  • procare.tsv : complete output containting transformation matrices elements
  • using the --transform option will output rotated cavity mol2 (rot_2rh1_cavity.mol2)

Help:

(procare) $ python procare_launcher.py --help

Will list possible options.

Usage

Before executing, you need to activate the procare conda environment with conda activate procare (you may need to source your conda first). If you followed the "Easy install" procedure, you just need to execute commands in the activate.sh script.
If successful, the bash prompt will turn into:

(procare) $

...ready for computation.

Citation

If you use ProCare, please cite:
Eguida, M., Rognan, D. A Computer Vision Approach to Align and Compare Protein Cavities: Application to Fragment-Based Drug Design. J. Med. Chem. 2020. https://doi.org/10.1021/acs.jmedchem.0c00422.

@article{doi:10.1021/acs.jmedchem.0c00422,
author = {Eguida, Merveille and Rognan, Didier},
title = {A Computer Vision Approach to Align and Compare Protein Cavities: Application to Fragment-Based Drug Design},
journal = {Journal of Medicinal Chemistry},
volume = {xx},
number = {xx},
pages = {xx},
year = {2020},
doi = {10.1021/acs.jmedchem.0c00422},
note ={PMID: 32496770},
URL = {https://doi.org/10.1021/acs.jmedchem.0c00422},
}

Code

https://github.com/kimeguida/ProCare
http://bioinfo-pharma.u-strasbg.fr/labwebsite/download.html

Signal issues

https://github.com/kimeguida/ProCare/issues

Support contacts

Merveille Eguida: keguida'[at]'unistra.fr
Didier Rognan, PhD: rognan'[at]'unistra.fr

References

  1. Zhou, Q.-Y.; Park, J.; Koltun, V. Open3D: A Modern Library for 3D Data Processing. 2018. https://doi.org/10.1007/s00104-009-1793-x]

  2. Desaphy, J.; Azdimousa, K.; Kellenberger, E.; Rognan, D. Comparison and Druggability Prediction of Protein–Ligand Binding Sites from Pharmacophore-Annotated Cavity Shapes. J. Chem. Inf. Model. 2012, 52 (8), 2287–2299. https://doi.org/10.1021/ci300184x

  3. Da Silva, F.; Desaphy, J.; Rognan, D. IChem: A Versatile Toolkit for Detecting, Comparing, and Predicting Protein–Ligand Interactions. ChemMedChem 2018, 13 (6), 507–510. https://doi.org/10.1002/cmdc.201700505.

  4. Rusu, R. B.; Blodow, N.; Beetz, M. Fast Point Feature Histograms (FPFH) for 3D Registration. IEEE Int. Conf. Robot. Autom. 2009, 3212–3217. https://doi.org/10.1109/ROBOT.2009.5152473

  5. Rusu, R. B. Semantic 3D Object Maps for Everyday Manipulation in Human Living Environments, 2010, Vol. 24. https://doi.org/10.1007/s13218-010-0059-6

  6. Rusu, R. B.; Cousins, S. 3D Is Here: Point Cloud Library. 2012. https://doi.org/10.1109/ICRA.2011.5980567

procare's People

Contributors

kimeguida avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.