Releases: dptech-corp/Uni-Dock
Release list
1.2.0
Hardware support for Blackwell GPUs plus a batch of correctness and crash fixes for the V1 GPU docking engine (unidock/).
⚠️ The grid-buffer and macrocycle fixes change docked results for the affected inputs — they correct previously wrong / undefined behavior. See notes below.
Added
- Blackwell / CUDA 12.8 support — builds for
sm_100(B100/B200/GB200) andsm_120(RTX 50/B40); CUDA bumped to 12.8 (#184).
Fixed — correctness (results change for affected inputs)
- Grid buffer sized for the default box —
MAX_NUM_OF_GRID_POINT80³ → 81³ (531,441), so the default 30 Å / 0.375 Å box fits exactly. Previously the bounds check was a release-strippedassertand the grid silently overflowed, corrupting ~20% of results for boxes ≥ 30 Å and crashing (SIGSEGV) on larger boxes (#195, #177; closes #174, #14). - Large boxes now error cleanly — boxes exceeding the GPU grid buffer print a clear message and exit instead of silently overflowing / SIGSEGV (#177).
- Macrocycle (Meeko
CG/G) affinities — the ring-closure "glue" energy no longer leaks into the reported affinity (it's a sampling artifact used only to close the ring during optimization). Fixes absurd, non-reproducible scores for macrocycle ligands (#196; closes #102, #192). - Out-of-bounds poses are skipped instead of being reported with
FLT_MAX(3.4e38) affinities (#182; closes #144).
Fixed — crashes
- CUDA error 700 (illegal address) in
--gpu_batchfrom acudaMemsetpointer bug (#178; addresses #115/#118/#136). - Segfault when a ligand fails to parse in a batch — the bad ligand is skipped with a warning instead of crashing the batch (#181; closes #112).
- SIGSEGV on unsupported atom types in SDF (e.g. boron) — SDF atoms are validated like the PDBQT path and unsupported ones are skipped (#180; closes #138).
- Intermittent SIGSEGV from a NaN / non-unit axis in
angle_to_quaternion— guarded with a renormalize / identity-quaternion fallback (#179; closes #160). - CUDA error 700 with flexible residues (
--flex) — ≤ 1 flex torsion now docks on GPU; > 1 exits with a clear "supports at most 1" message instead of crashing (#176; closes #159).
Build / CI
- Fix
-DFETCH_BOOST=ONagainst system Boost ≥ 1.90 — link the fetchedBoost::mathinto the CUDA target so nvcc doesn't pick up the system headers (#189, #197). - Repair the (manually-dispatched) benchmark workflow: call the current
run_test.pyentry point and download the dataset (#194). - Pin Python 3.12 for the tools/CI images (openbabel compatibility) (#183, #188); dependency bumps (#185, #186, #187).
Changed / Removed
- License unified to Apache-2.0 (#153, #155).
- Removed the built-in receptor processor (it didn't support most user proteins) (#164).
Known limitations
- Macrocycle sampling: the broken ring isn't held as tightly closed as AutoDock during the GPU search (glue equilibrium ~1.5 Å vs ~0.03 Å), so absolute affinities for macrocycles can be weaker than AutoDock even though scores are now sane and reproducible (tracked in #37).
- GPU flexible-receptor docking supports at most 1 flex torsion (#175 prototype for more).
Docker: dptechnology/unidock:1.2.0 (and :latest) are built and pushed by the release workflow.
Full changelog: 1.1.3...1.2.0
1.1.3
This release contains minor bug fixes.
What's Changed
- feat:support bias by @dp-yuanyn in #131
- fix: add kernel type info by @ysyecust in #132
- Enhance run info by @lucifer1004 in #134
- Bump docker/build-push-action from 5 to 6 by @dependabot in #135
- new version for pdb2pdbqt by @zhangplpl in #117
- Optimize CUDA codes in
precalculate.cuby @kongexp in #137 - fix: typo in Dockerfile by @k-ujihara in #145
- Fix uninitialized f0 and re-enable sm75/sm86/sm89 by @lucifer1004 in #120
- fix: update boost::filesystem include header by @caic99 in #146
- chore: update project version to 1.1.3 by @caic99 in #147
New Contributors
- @dependabot made their first contribution in #135
- @zhangplpl made their first contribution in #117
- @kongexp made their first contribution in #137
- @k-ujihara made their first contribution in #145
Full Changelog: 1.1.2...1.1.3
1.1.2
What's Changed
- docs: remove unidock_ad4 in README by @dp-yuanyn in #98
- fix: ligandprep skip failed cases by @dp-yuanyn in #99
- Update version number in CMakeLists.txt by @ysyecust in #101
- Docs: add conda-forge install instructions by @caic99 in #103
- Docs: fix typo in conda-forge instructions by @caic99 in #104
- Docs: add introduction to uni-dock benchmarks by @caic99 in #105
- Fix path error in README.md by @ysyecust in #108
- build: add unidock_tools dependency in toml by @dp-yuanyn in #110
- fix:unidock pipeline one ligand failed case by @dp-yuanyn in #116
- [feature] unidock tools add required dependencies by @Hong-Rui in #119
- fix: env readd mgltools and remove tests using ad4 temporary by @dp-yuanyn in #121
- test: readd ad4 tests by @dp-yuanyn in #122
- fix: unidock pipeline ligand index list too long err by @dp-yuanyn in #127
- build: change docker build runner from github to self by @dp-yuanyn in #128
- feat: update ligand group method by @ysyecust in #125
Full Changelog: 1.1.1...1.1.2
1.1.1
What's Changed
- fix: mcdock write same conf in confgen stage by @dp-yuanyn in #79
- Format code and remove unused code by @ysyecust in #81
- Test: use public image for testing unidock_tools by @caic99 in #83
- Refactor CMakeLists.txt by @wzf03 in #80
- Fix: array index out of range by @caic99 in #86
- fix:mcdock rigid docking; test:remove mcdock rmsd assert by @dp-yuanyn in #87
- Build: update conda build script for CUDA 12 and uni-dock subfolder by @caic99 in #90
- feat: unidock_pipeline add support for score_only and local_only; doc: update unidock perf png by @dp-yuanyn in #91
- doc: update unidock perf images by @dp-yuanyn in #92
- Build: disable sm_90 arch for forward compatibility on CUDA 11.2 by @caic99 in #95
- fix: unidock_pipeline read only one ligand for big sdf by @dp-yuanyn in #96
- Docs: add cuda toolkit requirement by @caic99 in #97
New Contributors
- @wzf03 made their first contribution in #80
Full Changelog: 1.1.0...1.1.1
1.1.0
What's Changed
Features
- v1.1 by @ysyecust @dp-yuanyn @zhengh96 @caic99 in #77
- Templatize compute kernels
- Update docs, CI/CD pipeline, and Dockerfiles
- unidock_tools support PDB-format protein file, support ligand file without hydrogen and 3D conf by @YNYuan in #19
- Hypnopump/rough edges by @hypnopump in #22
- sync torsion tree update from nashtools by @Hong-Rui in #43
- Warp parallel by @lucifer1004 in #56
- CUDA stream optimisation by @envidian in #63
- Feature/hbond by @ysyecust in #64
- [GPU setting] device id by @envidian in #71
- [paired_batch_size] Write score by @envidian in #72
- Update MAX_NUM_OF_RIGID_ values in SmallConfig, MediumConfig, and Lar… by @ysyecust in #78
Bug Fixes
- Fix warning by @ysyecust in #17
- remove obsolete debug info by @caic99 in #16
- Fix typo in logging by @lucifer1004 in #36
- Style/formatcode by @ysyecust in #46
- fix ligand_index option bug by @UR-Free in #48
- Minor fix for logical AND by @prabindh in #49
Docs
- Update docs for boost version requirement by @caic99 in #18
- Update FAQ in README.md for uni-dock by @caic99 in #38
- docs: update installing instructions by @caic99 in #47
- Update README.md by @baixiaokuang in #52
- Docs: Add Uni-Dock logo by @caic99 in #68
CI/CD
- cicd trigger in main by @YNYuan in #26
- unidock_tools ci by @YNYuan in #24
- fix ut by @dp-yuanyn in #66
New Contributors
- @ysyecust made their first contribution in #17
- @caic99 made their first contribution in #16
- @YNYuan made their first contribution in #19
- @UR-Free made their first contribution in #20
- @hypnopump made their first contribution in #22
- @lucifer1004 made their first contribution in #36
- @prabindh made their first contribution in #49
- @baixiaokuang made their first contribution in #52
- @envidian made their first contribution in #63
- @dp-yuanyn made their first contribution in #66
Full Changelog: https://github.com/dptech-corp/Uni-Dock/commits/1.1.0
1.0.0
The executable of Uni-Dock using vina & vinardo scoring function unidock and ad4 scoring function unidock_ad4 is provided below.
Use conda to install Uni-Dock: conda install -c https://conda.mlops.dp.tech/caic -c conda-forge unidock. An offline conda package is provided in the attachment: run conda install -c conda-forge unidock-1.0.0-5_5.tar.bz2 after downloading the file.