Submodules the exact repos used for building the current DOCK3 release provided on the license server
- Update the git submodules to point to the new github commits you want (for ex. point zinc22-3d to the newest version)
- Create a new github release: releases -> draft a new release -> choose a tag (v.3.8.xx) -> Release Title (DOCK3.8.xx) -> Describe this release (release notes) -> Publish release
- Build the new release and put it on the license server!
git clone --recurse-submodules --branch [version_number(ex. v3.8.5)] https://github.com/docking-org/dock3-release.git
cd dock3-release
-
Build the environment
wget https://developer.download.nvidia.com/hpc-sdk/23.7/nvhpc_2023_237_Linux_x86_64_cuda_multi.tar.gz docker build -t dock3-release-env .
-
Note: Someone has probably already built this docker image on gimel/epyc so you can skip this unless the docker environment is missing or you need to update the Dockerfile to upgrade centos,python,poetry,PGI,etc. For the love of god someone will eventually upgrade our nodes off CentOS 7 and we can update the Dockerfile and not build everything from scratch.
-
Create the release:
docker run --rm -v $(pwd):/release dock3-release-env [version_number]
- Ensure you have the following:
- PGI compiler
- Poetry
- Create the release:
./make_release.sh [version_number]
Both methods will output dock-[version_number].tgz which is ready to put on the license server
- Untar the dock-[version_number].tgz
tar -xzf dock-[version_number].tgz
- This will give you the DOCK3.8 folder containing all the required software
- GLIBC >=2.17
- python >=3.8.1, <3.11
- SGE, Slurm, or GNU Parallel
-
DOCK is provided as a pre-compiled binary that does not need direct installation. However, you should set the following environment variable:
export DOCK_INSTALL_PATH=[absolute/path/to/DOCK3.8]
-
Many of the legacy3 scripts will also expect:
export DOCKBASE=[absolute/path/to/DOCK3.8/legacy3]
-
Pydock is provided as a pip installable package which we recommend installing into a new python venv
python3 -m venv ${DOCK_INSTALL_PATH}/pydock_env source ${DOCK_INSTALL_PATH}/pydock_env/bin/activate pip install ${DOCK_INSTALL_PATH}/pydock3/dist/pydock3-0.1.0rc1-py3-none-any.whl
- We are still developing this, but the current building installation instructions are here
We provide a test folder containing test scripts to ensure that the core functionalities are working
Choose your parallel execution environment (SGE, Slurm, or GNU Parallel):
export USE_SGE=true
OR
export USE_SLURM=true
OR
export USE_PARALLEL=true
Run:
cd ${DOCK_INSTALL_PATH}/test/docking
./test_subdock.sh
If everything works you should see a folder called output
containing folders 1
, 2
, 3
, 4
(one for each .db2.tgz
in test_ligs) each containing an OUTDOCK
file and test.mol2.gz.0
pose file. If you don't see these files check the logs
folder to inspect the stderr and stdout for the jobs which will give hints as to what went wrong.
- If running on an HPC system, ensure that your
${DOCK_INSTALL_PATH}
is accessible from the compute nodes
Ensure your pydock environment is activated:
source ${DOCK_INSTALL_PATH}/pydock_env
cd ${DOCK_INSTALL_PATH}/test/pydock
pydock3 blastermaster - new
cd blastermaster_job
pydock3 blastermaster - run
This may take a little while, but if it works you should get folders: dockfiles
containing your docking grids and visualization
containing files for visualizing the grids.
- To be implemented!
- To be implemented!