DOCK 3.8

From DISI
Revision as of 19:27, 10 June 2026 by Buyan (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

DOCK 3.8 has been the primary version of DOCK 3 since January 2021.

DOCK 3.8 is organized into a number of smaller repositories, each with a specialized purpose.

* dock3            : the Fortran source code
* pydock3          : Python scripts and executables to run docking, blastermaster, and parameter optimization
* ligdock3         : ligand building scripts used by ZINC-22
* SUBDOCK          : scripts for submitting docking workloads to SLURM, SGE, GNU Parallel, or other job platforms
* docktop          : scripts for extracting top results from docking campaigns
* zinc22-3d-submit : scripts for submitting ligand building workloads to SLURM or SGE
* DOCK             : legacy repository, still being used and updated for now

DOCK 3.8 has been extensively reorganized from DOCK 3.7.

Start here

Most users do not need to compile DOCK from source. A standard DOCK 3.8 installation is usually a pre-built release downloaded from the DOCK license server. Installing DOCK usually means:

  1. obtain access through the DOCK license server
  2. download the DOCK 3.8 release
  3. unpack the release
  4. set the required environment variables
  5. install pydock3 with a compatible Python version
  6. run the included tests

Use the DOCK license server to obtain the software:

dock.compbio.ucsf.edu

If you are a developer modifying DOCK source code, fork the relevant repository and see the developer/compile instructions below.

Main documentation

To run DOCK/LSD in AWS, follow the AWS tutorial starting with AWS:Set up account.

Which path should I follow?

Most users

Use the pre-built DOCK 3.8 release from the license server. You should not need to compile DOCK.

Expected basic workflow:

tar -xzf dock-[version].tgz
export DOCK_INSTALL_PATH=/absolute/path/to/DOCK3.8

Many older scripts and tutorials also expect:

export DOCKBASE=/absolute/path/to/DOCK3.8/legacy3

Then install pydock3 using Python >=3.8.1 and <3.11. Python 3.10 is recommended.

BKS / cluster users

If DOCK is already installed as a module on your cluster, load the module and check the environment variables instead of downloading or compiling DOCK yourself.

module load dock
echo $DOCK_INSTALL_PATH
echo $DOCKBASE

If these variables are not set, ask your cluster administrator or see How to install DOCK 3.8.

Developers

Only compile DOCK from source if you are developing DOCK or making a new release. Normal users should not need the NVIDIA HPC SDK, Docker build environment, PGI/NVHPC compiler setup, or source compilation workflow.

See How to compile DOCK 3.8.

Requirements

The DOCK 3.8 release expects:

  • GLIBC >= 2.17
  • Python >= 3.8.1 and < 3.11 for pydock3
  • One supported job platform for running jobs at scale:
    • SLURM
    • SGE
    • GNU Parallel

Python 3.10 is a safe choice for pydock3. Newer Python versions, such as Python 3.13, may not work with pydock3.

Availability

DOCK 3.8 is installed on the BKS cluster and on Wynton. It is also available on AWS and OCI as a Docker/container image.

The software should be runnable on modern HPC platforms. We recommend using an operating system where a compatible Python version is available by default, or creating a separate Python environment with Python 3.10.

General Use

Mechanically, docking has the following steps:

  1. prepare grid files / dockfiles for the target
  2. select the database subset to run
  3. move all required files to the target platform
  4. run docking at scale, often using SUBDOCK
  5. merge the results, for example with top_poses.py
  6. move results back to your server
  7. process the results, such as interaction fingerprints, strain filters, clustering, and manual review
  8. re-extract final top poses for hit picking
  9. archive the results

Testing your installation

After installation, run the included tests before starting a real docking campaign.

Test DOCK / SUBDOCK

Choose one job platform:

export USE_SLURM=true

or

export USE_SGE=true

or

export USE_PARALLEL=true

Then run:

cd ${DOCK_INSTALL_PATH}/test/docking
./test_subdock.sh

If the test works, you should see an output directory containing numbered result folders, one for each test ligand package. Each result folder should contain an OUTDOCK file and a test.mol2.gz.0 pose file.

If the test fails, check the logs directory for stdout/stderr from the submitted jobs.

Test pydock3 / blastermaster

Activate the pydock3 Python environment first. Then run:

cd ${DOCK_INSTALL_PATH}/test/pydock
pydock3 blastermaster - new
cd blastermaster_job
pydock3 blastermaster - run

If this works, the job should produce dockfiles and visualization directories.

Step by step docking instructions

For a full docking workflow, see:

How to dock in DOCK3.8

Notes on building libraries

You only need to build libraries if you do not want to use ZINC-22 and do not want to use the free 3D molecule building service in TLDR.docking.org.

For library building, see:

How to build libraries for DOCK 3.8

Developer notes

DOCK 3.8.5 is the current production version of DOCK 3, as of Sept 1, 2022. If you wish to help develop DOCK 3.8, please write to us.