DOCK 3.8: Difference between revisions

From DISI
Jump to navigation Jump to search
No edit summary
No edit summary
 
(8 intermediate revisions by one other user not shown)
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 now organized in three separate github repos.  
DOCK 3.8 is organized into a number of smaller repositories, each with a specialized purpose.
  * Dock3 - the fortran source code  
 
  * PyDOCK3 - the scripts and executables to run docking
  * dock3            : the Fortran source code
  * LigDOCK3 - the ligand building scripts used by ZINC-22.
  * pydock3          : Python scripts and executables to run docking, blastermaster, and parameter optimization
  * DOCK - legacy repository, still being used & updated (for now)
  * 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.
DOCK 3.8 has been extensively reorganized from DOCK 3.7.


How to get DOCK 3.8. Use the DOCK license server dock.compbio.ucsf.edu. If you are a developer, fork the relevant repo.  
== 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
* [[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? ==


[[How to install DOCK 3.8]]
=== Most users ===


[[SUBDOCK_DOCK3.8|How to dock in DOCK3.8]]
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:


[[Docking Analysis in DOCK3.8]]
* 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


How to run DOCK/LSD in AWS, follow our tutorial, starting with setting up an AWS account. [[AWS:Set up account]]
Python 3.10 is a safe choice for pydock3. Newer Python versions, such as Python 3.13, may not work with pydock3.


[[ZINC-22:3D Building | how to build libraries for DOCK 3.8]]
== Availability ==
Please note that you only need to build libraries if you do not want to use ZINC-22, and if you do not want to use the free 3D molecule building service in TLDR.docking.org.


[[Programming DOCK 3.8]]
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.
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.


== Availability ==
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.
DOCK 3.8 is installed on our cluster and on Wynton. It is available on AWS and OCI as a docker container. The software has never been easier to install (low bar!).  It should be runnable on any modern HPC platform. We recommend using an OS were python 3.8 or later is installed by default, however, you should be able to install python 3.8 or later on older equipment.  


== General Use ==
== General Use ==
Mechanically, docking has the following steps.
* prepare gridfiles (dockfiles)
* select database subset to run
* move all files to the target platform
* run docking at scale
* merge the results (top_poses.py)
* move results back to your server.
* process the results (interaction fingerprint, strain filter, clustering, manual review)
* final re-extract of top poses for hit picking party.
* archive the results.


== Step by Step instructions ==  
Mechanically, docking has the following steps:
During development, this was the script we used to explain how to dock:
 
[[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:

  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.