DOCK 3.8: Difference between revisions
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
DOCK 3.8 has been the primary version of DOCK 3 since January 2021. | DOCK 3.8 has been the primary version of DOCK 3 since January 2021. | ||
DOCK 3.8 is | DOCK 3.8 is organized into a number of smaller repositories, each with a specialized purpose. | ||
* dock3 : the | * dock3 : the Fortran source code | ||
* pydock3 : | * pydock3 : Python scripts and executables to run docking, blastermaster, and parameter optimization | ||
* ligdock3 : | * ligdock3 : ligand building scripts used by ZINC-22 | ||
* SUBDOCK : scripts for submitting docking workloads to SLURM | * SUBDOCK : scripts for submitting docking workloads to SLURM, SGE, GNU Parallel, or other job platforms | ||
* docktop : scripts for extracting top results from docking campaigns | * docktop : scripts for extracting top results from docking campaigns | ||
* zinc22-3d-submit : scripts for submitting ligand building workloads to SLURM | * zinc22-3d-submit : scripts for submitting ligand building workloads to SLURM or SGE | ||
* DOCK : legacy repository, still being used | * DOCK : legacy repository, still being used and updated for now | ||
DOCK 3.8 has been extensively reorganized from DOCK 3.7. | 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: | |||
[[SUBDOCK_DOCK3.8|How to dock in DOCK3.8]] | # obtain access through the DOCK license server | ||
# download the DOCK 3.8 release | |||
# unpack the release | |||
# set the required environment variables | |||
# install pydock3 with a compatible Python version | |||
# 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 == | |||
* [[How to install DOCK 3.8]] — start here for installation | |||
* [[SUBDOCK_DOCK3.8|How to dock in DOCK3.8]] — submit docking jobs with SUBDOCK | |||
* [[Docking Analysis in DOCK3.8]] — analyze docking results | |||
* [[DOCK_3.8:How_to_install_pydock3|Installing pydock3]] — install the Python tools | |||
* [[Dockopt_(pydock3_script)|Running pydock3/dockopt]] — automatic parameter optimization | |||
* [[Blastermaster_(pydock3_script)|Running pydock3/blastermaster]] — generate grid files for docking | |||
* [[Building_The_3D_Pipeline_ZINC22|How to build libraries for DOCK 3.8]] — ligand/library building | |||
* [[Programming DOCK 3.8]] — developer information | |||
* [[How_to_compile_DOCK|How to compile DOCK 3.8]] — developer-only source compilation | |||
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|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 == | == General Use == | ||
== Step by | Mechanically, docking has the following steps: | ||
[[How to dock in DOCK3.8]] | # prepare grid files / dockfiles for the target | ||
# select the database subset to run | |||
# move all required files to the target platform | |||
# run docking at scale, often using SUBDOCK | |||
# merge the results, for example with top_poses.py | |||
# move results back to your server | |||
# process the results, such as interaction fingerprints, strain filters, clustering, and manual review | |||
# re-extract final top poses for hit picking | |||
# 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: | |||
[[SUBDOCK_DOCK3.8|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: | |||
[[Building_The_3D_Pipeline_ZINC22|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. | |||
[[Category:DOCK 3.8]] | [[Category:DOCK 3.8]] | ||
Latest revision as of 19:27, 10 June 2026
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:
- obtain access through the DOCK license server
- download the DOCK 3.8 release
- unpack the release
- set the required environment variables
- install pydock3 with a compatible Python version
- 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
- How to install DOCK 3.8 — start here for installation
- How to dock in DOCK3.8 — submit docking jobs with SUBDOCK
- Docking Analysis in DOCK3.8 — analyze docking results
- Installing pydock3 — install the Python tools
- Running pydock3/dockopt — automatic parameter optimization
- Running pydock3/blastermaster — generate grid files for docking
- How to build libraries for DOCK 3.8 — ligand/library building
- Programming DOCK 3.8 — developer information
- How to compile DOCK 3.8 — developer-only source compilation
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.
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:
- prepare grid files / dockfiles for the target
- select the database subset to run
- move all required files to the target platform
- run docking at scale, often using SUBDOCK
- merge the results, for example with top_poses.py
- move results back to your server
- process the results, such as interaction fingerprints, strain filters, clustering, and manual review
- re-extract final top poses for hit picking
- 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:
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.