https://github.com/bytedance/protenix-dock
An accurate and trainable end-to-end protein-ligand docking framework
Science Score: 13.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.7%) to scientific vocabulary
Keywords
Repository
An accurate and trainable end-to-end protein-ligand docking framework
Basic Info
Statistics
- Stars: 71
- Watchers: 6
- Forks: 7
- Open Issues: 4
- Releases: 0
Topics
Metadata Files
README.md
Protenix-Dock
This repository hosts the source code for our work "Protenix-Dock: An accurate and trainable end-to-end protein-ligand docking framework using empirical scoring functions".
For more information about the implementation and the performance of Protenix-Dock, see our technical report.
🔍 Protenix-Dock is a classical protein-ligand docking method designed for rigid docking tasks. For our deep learning complex structure prediction model, see Protenix.
Features
✨ Advanced docking conformation sampling.
✨ Accurate and interpretable scoring functions incorporating force field and empirical terms.
✨ Independent scoring functions for geometry minimization, pose selection and affinity ranking.
✨ Easy-to-use Python API and command-line tools.
Work in progress
🚧 Affinity-ranking score checkpoint and screening power evaluation result.
🚧 Traninig code.
Installation
1. Create a conda environment:
To minimize environment setup cost, it is recommended to create an Conda environment.
```bash git clone https://github.com/bytedance/Protenix-Dock.git cd protenix-dock
sudo apt-get update && sudo apt-get install -y libxrender1 libxext6 conda env create -f environment.yml ```
2. Install the Python package:
For better compatibility between packages, it is safe to install Protenix-Dock from source.
bash
python3 setup.py install
If your CPU is equiped with AVX2 instructions, you can build a faster one.
bash
export PXDOCK_ENABLE_AVX2=1
python3 setup.py install
3. Install command-line tools (Optional):
If receptors & ligands are already prepared and only docking/optimizatioin/evaluation is required, you can install command-lines tools from source.
```bash pushd engine
mkdir build cd build
destdir=~/pxdock cmake .. \ -DCMAKEBUILDTYPE=Release \ -DCMAKEINSTALLPREFIX=$destdir \ -DBDOCK_AVX2=OFF # If your CPU supports AVX2, turn on it for better speed make -j8 install
confdir=$destdir/conf mkdir $confdir cp ../../pxdock/data/pscore-v7andbscore-fake.json $confdir
popd ```
Docking
Usage
Run with Python (recommended):
```python from pxdock import ProtenixDock receptorpdb = "path/to/receptor.pdb" ligandsdf = "path/to/ligand.sdf"
boxcenter = [0., 0., 0.] # box center for receptor boxsize = [10., 10., 10.] # box size for receptor dockinstance = ProtenixDock(receptorpdb) dockinstance.setbox(boxcenter, boxsize)
Optional: you can generate cache maps for receptor, and then you can load it for next docking.
In our tests, setting this parameter to 0.175 can achieve a balance between effect and performance.
outdir = dockinstance.generatecachemaps(spacing=0.175)
and in next run:
dockinstance.loadcachemaps(outdir)
the dockingresfiles is in json format.
dockingresfiles = dockinstance.rundocking(ligand_sdf) ```
Run tests
```bash
In these tests, we set the spacing to 0.5 in order to quickly complete the functional test.
cd test
performing preare ligand, receptor and docking separately.
python3 testdataprepare.py
run docking or pose_opt by ProtenixDock class.
python3 testprotenixdock.py
calculate pose rmsd.
python3 test_rmsd.py ```
Contribution
Please check Contributing for more details. If you encounter problems using Protenix—Dock, feel free to create an issue! We also welcome pull requests from the community.
Code of Conduct
Please check Code of Conduct for more details.
Security
If you discover a potential security issue in this project, or think you may have discovered a security issue, we ask that you notify Bytedance Security via our security center or vulnerability reporting email.
Please do not create a public GitHub issue.
License
The Protenix-Dock project is made available under the GPLv3 License
Portions of the source code are based on the Meeko and posebusters project.
Portions of the SMARTS patterns used in Protenix-Dock are derived from the ProLIF and OpenFF project.
Contact
We welcome inquiries and collaboration opportunities for advanced applications of our framework, such as developing new features and more. Please feel free to contact us at ai4s-bio@bytedance.com.
Owner
- Name: Bytedance Inc.
- Login: bytedance
- Kind: organization
- Location: Singapore
- Website: https://opensource.bytedance.com
- Twitter: ByteDanceOSS
- Repositories: 255
- Profile: https://github.com/bytedance
GitHub Events
Total
- Issues event: 19
- Watch event: 97
- Member event: 1
- Issue comment event: 15
- Push event: 7
- Public event: 1
- Pull request event: 7
- Fork event: 11
Last Year
- Issues event: 19
- Watch event: 97
- Member event: 1
- Issue comment event: 15
- Push event: 7
- Public event: 1
- Pull request event: 7
- Fork event: 11
Issues and Pull Requests
Last synced: 10 months ago
All Time
- Total issues: 13
- Total pull requests: 5
- Average time to close issues: 8 days
- Average time to close pull requests: 2 days
- Total issue authors: 9
- Total pull request authors: 1
- Average comments per issue: 0.92
- Average comments per pull request: 0.0
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 13
- Pull requests: 5
- Average time to close issues: 8 days
- Average time to close pull requests: 2 days
- Issue authors: 9
- Pull request authors: 1
- Average comments per issue: 0.92
- Average comments per pull request: 0.0
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- sky1ove (4)
- Bruce410526 (2)
- Jason-Han-Hu (1)
- JUrban64 (1)
- Furaxixi (1)
- zengdashi (1)
- Amshoreline (1)
- rongfengzou (1)
- CLG68 (1)
Pull Request Authors
- thalahors (5)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- MDAnalysis *
- PyYaml *
- func-timeout *
- meeko *
- pandas >=1.3.5
- parmed *
- pdb2pqr *
- pdb4amber *
- pytest *
- tos >=2.6.0
- ambertools 23.*
- boost 1.82.*
- cmake
- curl
- numpy
- openssl
- pandas
- pip
- python >=3.9,<3.12
- sphinx
- sphinx_rtd_theme
- swig