Skip to content

Releases: dptech-corp/Uni-Dock

1.2.0

Choose a tag to compare

@caic99 caic99 released this 11 Jun 15:09
95e4091

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) and sm_120 (RTX 50/B40); CUDA bumped to 12.8 (#184).

Fixed — correctness (results change for affected inputs)

  • Grid buffer sized for the default boxMAX_NUM_OF_GRID_POINT 80³ → 81³ (531,441), so the default 30 Å / 0.375 Å box fits exactly. Previously the bounds check was a release-stripped assert and 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_batch from a cudaMemset pointer 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=ON against system Boost ≥ 1.90 — link the fetched Boost::math into 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.py entry 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

Choose a tag to compare

@caic99 caic99 released this 25 Jan 08:30
caf3161

This release contains minor bug fixes.

What's Changed

New Contributors

Full Changelog: 1.1.2...1.1.3

1.1.2

Choose a tag to compare

@ysyecust ysyecust released this 06 May 02:14
6c4c72d

What's Changed

Full Changelog: 1.1.1...1.1.2

1.1.1

Choose a tag to compare

@ysyecust ysyecust released this 07 Mar 13:37
e5f99bf

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

Choose a tag to compare

@caic99 caic99 released this 29 Feb 15:55
de6e41c

What's Changed

Features

Bug Fixes

Docs

CI/CD

New Contributors

Full Changelog: https://github.com/dptech-corp/Uni-Dock/commits/1.1.0

1.0.0

Choose a tag to compare

@caic99 caic99 released this 01 Jun 08:45

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.