Skip to content
This repository has been archived by the owner on Mar 3, 2024. It is now read-only.

Commit

Permalink
Update Readme Files (#41)
Browse files Browse the repository at this point in the history
* Update readme files

* Update README.md

* Unify the spelling

* Prompt source code access

* Update deepmodeling badge

* re-organize paragraphs

* Remove unidock-tools subtitles

---------

Co-authored-by: Yuan Yannan <[email protected]>
  • Loading branch information
caic99 and YNYuan authored Feb 28, 2024
1 parent 74d2a77 commit f722245
Show file tree
Hide file tree
Showing 7 changed files with 45 additions and 52 deletions.
4 changes: 2 additions & 2 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Even better, you can submit a Pull Request with a patch.
## Feature requests

We highly appreciate your contributions, and would like to help you crafting the changes and making contributions to the community.
If you would like to implement a new feature, please **submit a feature requesting issue with a proposal for your work first**.
If you would like to implement a new feature, please **submit a feature requesting issue with a proposal for your work first**.
This help fitting your ideas and work with the development road map well, coordinating our efforts, and avoiding duplication of work.

## Submitting a Pull Request
Expand All @@ -35,7 +35,7 @@ This help fitting your ideas and work with the development road map well, coordi
```

5. On GitHub, create a pull request (PR) from your bug-fix branch targeting `dptech-corp/Uni-Dock`.

6. After your pull request is merged, you can safely delete your branch and sync the changes from the main (upstream) repository:

- Delete the remote branch on GitHub either [through the GitHub web UI](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-branches-in-your-repository/deleting-and-restoring-branches-in-a-pull-request#deleting-a-branch-used-for-a-pull-request) or your local shell as follows:
Expand Down
31 changes: 7 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,28 +3,26 @@
<picture><source media="(prefers-color-scheme: dark)" srcset="./unidock/assets/logo-dark.svg"><source media="(prefers-color-scheme: light)" srcset="./unidock/assets/logo.svg"><img alt="Uni-Dock logo" src="./unidock/assets/logo.svg"></picture>

[![DeepModeling](https://img.shields.io/badge/DeepModeling-Incubating_Project-blue)](https://github.com/deepmodeling)
## Introduction

**Uni-Dock** is a GPU-accelerated molecular docking program developed by DP Technology.
It supports various scoring functions including vina, vinardo, and ad4. Uni-Dock achieves more than 1000-fold speed-up on V100 GPU with high-accuracy compared with the AutoDock Vina running in single CPU core.
The [paper](https://pubs.acs.org/doi/10.1021/acs.jctc.2c01145) has been accepted by JCTC (doi: 10.1021/acs.jctc.2c01145).

![Runtime performance of Uni-Dock on different GPUs in three modes](./unidock/assets/gpu_speeds.png)
**Uni-Dock** joins the DeepModeling community, a community devoted of AI for science, as an incubating level project. [Learn more about DeepModeling](https://github.com/deepmodeling/community)

Check this [subfolder](./unidock/) for instructions on installing Uni-Dock.
![Runtime performance of Uni-Dock on different GPUs in three modes](./unidock/assets/gpu_speeds.png)

**Uni-Dock** joins the DeepModeling community, a community devoted of AI for science, as an incubating level project. To learn more about the DeepModeling community, see the [introduction of community](https://github.com/deepmodeling/community).
## UniDockTools
Please check [`unidock` folder](./unidock/) for installing instructions, source codes, and usage.

**UniDockTools** is a python package developed to handle the inputs and outputs of Uni-Dock.
In the future, UniDockTools will support more input formats and scoring functions. We hope it could be an easy-to-use virtual screening workflow for all users.
**Uni-Dock Tools** is a Python package developed to handle the inputs and outputs of Uni-Dock.
It is committed to support more input formats and scoring functions. We hope it could be an easy-to-use virtual screening workflow for users with diversed backgrounds.

Check this [subfolder](./unidock_tools/) for more details.
Please check [`unidock_tools` folder](./unidock_tools/) for installing instructions, source codes, and usage.

## Changelog

- 2023-08-21: Upload source codes of Uni-Dock.
- 2023-08-14: Add unidock_tools to support SDF format input for vina and vinardo scoring functions.
- 2023-08-14: Add Uni-Dock Tools to support SDF format input for vina and vinardo scoring functions.

## Citation

Expand All @@ -34,18 +32,3 @@ Yu, Y., Cai, C., Wang, J., Bo, Z., Zhu, Z., & Zheng, H. (2023).
Uni-Dock: GPU-Accelerated Docking Enables Ultralarge Virtual Screening.
Journal of Chemical Theory and Computation.
https://doi.org/10.1021/acs.jctc.2c01145

Tang, S., Chen, R., Lin, M., Lin, Q., Zhu, Y., Ding, J., ... & Wu, J. (2022).
Accelerating autodock vina with gpus. Molecules, 27(9), 3041.
DOI 10.3390/molecules27093041

J. Eberhardt, D. Santos-Martins, A. F. Tillack, and S. Forli
AutoDock Vina 1.2.0: New Docking Methods, Expanded Force
Field, and Python Bindings, J. Chem. Inf. Model. (2021)
DOI 10.1021/acs.jcim.1c00203

O. Trott, A. J. Olson,
AutoDock Vina: improving the speed and accuracy of docking
with a new scoring function, efficient optimization and
multithreading, J. Comp. Chem. (2010)
DOI 10.1002/jcc.21334
44 changes: 27 additions & 17 deletions unidock/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,20 +7,6 @@ The [paper](https://pubs.acs.org/doi/10.1021/acs.jctc.2c01145) has been accepted

![Runtime performance of Uni-Dock on different GPUs in three modes](assets/gpu_speeds.png)

## Changelog

- 2023-08-14: Add `unidock_tools` to support SDF format input for vina and vinardo scoring functions.

## License

This project is licensed under the terms of the GNU Lesser General Public License v3.0. See [LICENSE](./LICENSE) for details.

Developed by [DP Technology](https://dp.tech/en), [Hermite®](https://dp.tech/en/product/hermite) is a new-generation drug computing design platform which integrates artificial intelligence, physical modeling and high-performance computing to provide a one-stop computing solution for preclinical drug research and development. It integrates the features of Uni-Dock, along with virtual screening workflow for an efficient drug discovery process.

Uni-Dock is now available on the new-generation drug computing design platform [Hermite®](https://dp.tech/en/product/hermite) for ultralarge virtual screening.

For further cooperations on developing Uni-Dock and trying out Hermite®, please contact us at <[email protected]> .

## Installation

Uni-Dock officially supports NVIDIA GPUs with [compute capability](https://en.wikipedia.org/wiki/CUDA#GPUs_supported) >= 7.0 on Linux platform.
Expand Down Expand Up @@ -57,7 +43,7 @@ The performance is not guaranteed on legacy GPU models. To build Uni-Dock with a
# Otherwise, prepend the building directory to your `PATH` environment variable.
```

code foramt
To format codes if changes are made:

```shell
cd ./build/
Expand Down Expand Up @@ -195,9 +181,33 @@ python run_dock.py
If you want to use search mode presets, specify the parameter `search_mode` in `config.json` and delete `nt` and `ns` in `config.json`.
## Bug Report
## Contributing
We warmly welcome contributions from the open source community. Your bug reports, feature requests, and pull requests helps Uni-Dock improve.
Please submit bug reports and feature requests to the Github [issue tracker](https://github.com/dptech-corp/Uni-Dock/issues/new/choose).
Please report bugs to [Issues](https://github.com/dptech-corp/Uni-Dock/issues) page.
If you would like to improve the codes, please refer to the [contributing guide](../.github/CONTRIBUTING.md) for details.
## Changelog
Major changes are documented. For the detailed changes, please refer to the commit history.
### v1.1
- Optimize 1:1 ligand docking.
- Optimize Monte-Carlo simulation speed.
- Generate compute kernels for various ligands sizes.
## License
This project is licensed under the terms of the GNU Lesser General Public License v3.0. See [LICENSE](./LICENSE) for details.
Developed by [DP Technology](https://dp.tech/en), [Hermite®](https://dp.tech/en/product/hermite) is a new-generation drug computing design platform which integrates artificial intelligence, physical modeling and high-performance computing to provide a one-stop computing solution for preclinical drug research and development. It integrates the features of Uni-Dock, along with virtual screening workflow for an efficient drug discovery process.
Uni-Dock is now available on the new-generation drug computing design platform [Hermite®](https://dp.tech/en/product/hermite) for ultralarge virtual screening.
For further cooperations on developing Uni-Dock and trying out Hermite®, please contact us at <[email protected]> .
## Ackowledgement
Expand Down
4 changes: 2 additions & 2 deletions unidock_tools/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Main features are:

## Dependency

- Uni-Dock
- [Uni-Dock](../unidock/README.md#installation)
- Python >= 3.6
- RDKit
- networkx
Expand Down Expand Up @@ -92,4 +92,4 @@ See [MCDock Usage](./MCDOCK.md#usage)

# License

This project is licensed under the terms of Apache license 2.0. See [LICENSE](./LICENSE) for additional details.
This project is licensed under the terms of Apache license 2.0. See [LICENSE](./LICENSE) for additional details.
4 changes: 2 additions & 2 deletions unidock_tools/tests/applications/test_ligprep.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ def input_ligand():

def test_ligprep_app_ligand_file(input_ligand):
results_dir = "prepared_ligands"
cmd = f"unidocktools ligprep -l {input_ligand} -sd {results_dir}"
cmd = f"unidocktools ligandprep -l {input_ligand} -sd {results_dir}"
print(cmd)
resp = subprocess.run(cmd, shell=True, capture_output=True, encoding="utf-8")
print(resp.stdout)
Expand All @@ -25,7 +25,7 @@ def test_ligprep_app_ligand_index(input_ligand):
with open(index_file, "w") as f:
f.write(input_ligand)
results_dir = "prepared_ligands"
cmd = f"unidocktools ligprep -i {index_file} -sd {results_dir}"
cmd = f"unidocktools ligandprep -i {index_file} -sd {results_dir}"
print(cmd)
resp = subprocess.run(cmd, shell=True, capture_output=True, encoding="utf-8")
print(resp.stdout)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ def pdb_file():

def test_pdb2pdbqt_app(pdb_file):
pdbqt_file = "protein.pdbqt"
cmd = f"unidocktools pdb2pdbqt -r {pdb_file} -o {pdbqt_file}"
cmd = f"unidocktools proteinprep -r {pdb_file} -o {pdbqt_file}"
print(cmd)
resp = subprocess.run(cmd, shell=True, capture_output=True, encoding="utf-8")
print(resp.stdout)
assert resp.returncode==0, f"run pdb2pdbqt app err:\n{resp.stderr}"
assert resp.returncode==0, f"run proteinprep app err:\n{resp.stderr}"
Path(pdbqt_file).unlink(missing_ok=True)
6 changes: 3 additions & 3 deletions unidock_tools/tests/applications/test_unidock.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ def read_scores(sdf_file, score_name):

def test_unidock_pipeline_default(receptor, ligand, pocket):
results_dir = "unidock_results"
cmd = f"unidocktools unidock -r {receptor} -l {ligand} -sd {results_dir} \
cmd = f"unidocktools unidock_pipeline -r {receptor} -l {ligand} -sd {results_dir} \
-cx {pocket[0]} -cy {pocket[1]} -cz {pocket[2]} -sx {pocket[3]} -sy {pocket[4]} -sz {pocket[5]} \
-sf vina -nm 1"
print(cmd)
Expand All @@ -55,7 +55,7 @@ def test_unidock_pipeline_ligand_index(receptor, ligand, pocket):
with open(index_file, "w") as f:
f.write(str(ligand))
results_dir = "unidock_results_input_index"
cmd = f"unidocktools unidock -r {receptor} -i {index_file} -sd {results_dir} \
cmd = f"unidocktools unidock_pipeline -r {receptor} -i {index_file} -sd {results_dir} \
-cx {pocket[0]} -cy {pocket[1]} -cz {pocket[2]} -sx {pocket[3]} -sy {pocket[4]} -sz {pocket[5]} \
-sf vina -nm 1"
print(cmd)
Expand Down Expand Up @@ -95,7 +95,7 @@ def test_unidock_pipeline_ligand_index(receptor, ligand, pocket):

def test_unidock_pipeline_multi_pose(receptor, ligand, pocket):
results_dir = "unidock_results_multi_pose"
cmd = f"unidocktools unidock -r {receptor} -l {ligand} -sd {results_dir} \
cmd = f"unidocktools unidock_pipeline -r {receptor} -l {ligand} -sd {results_dir} \
-cx {pocket[0]} -cy {pocket[1]} -cz {pocket[2]} -sx {pocket[3]} -sy {pocket[4]} -sz {pocket[5]} \
-sf vina -nm 4"
print(cmd)
Expand Down

0 comments on commit f722245

Please sign in to comment.