Installation Guide

This guide provides detailed instructions for installing the DOCKTOPUS package and its dependencies.

System Requirements

  • Python 3.7 or higher

  • Linux (For Windows, use WSL2)

  • At least 4GB RAM (8GB+ recommended for large docking jobs)

  • For RoseTTAFold-All-Atom you need a GPU with at least 22GB VRAM which supports CUDA 11.7 and at least 2.4TB of disk space

Installing the Package

We strongly recommend using Conda to handle the installation. This prevents complex compilation errors.

Clone the repository and create the environment using the provided file:

git clone https://github.com/hruska-lab/DOCKTOPUS.git
cd DOCKTOPUS
conda env create -f environment.yml
conda activate docktopus
pip install -e .

Optional Dependencies

GNINA

GNINA provides deep learning-based docking capabilities.

  1. Download GNINA from https://github.com/gnina/gnina

  2. Build or download pre-compiled binaries

  3. Add to your PATH or specify the full path in driver script

GalaxyDock2 HEME

GalaxyDock2 HEME is specialized for heme-containing proteins.

  1. Request a license at https://galaxy.seoklab.org/request_softwares.html

  2. Follow the installation instructions

  3. Specify top directory of the installation in driver script

RFAA (RosettaFold2-All-Atoms)

RFAA provides fully flexible protein-ligand structure prediction.

1. Clone the repository: .. code-block:: bash

  1. Follow the installation instructions

  2. You can use DOCKTOPUS with RFAA only in the top directory of the RFAA repository. We are aware it is inconvenient and it is likely to change in the future.

Verifying Installation

Test the basic installation:

from docktopus import Docking

# Test Vina (should work if core dependencies are installed)
try:
    dock = Docking(engine="vina", work_dir="./test")
    print("✓ Vina docking engine ready")
except Exception as e:
    print(f"✗ Vina setup failed: {e}")

# Test GNINA (optional)
try:
    dock = Docking(engine="gnina", work_dir="./test", gnina_path="/path/to/gnina")
    print("✓ GNINA docking engine ready")
except Exception as e:
    print(f"✗ GNINA setup failed: {e}")

# Test RFAA (optional). Scrip needs to be in the top directory of the RFAA repository.
try:
    from rf2aa.run_inference import ModelRunner
    dock = Docking(engine="rfaa", work_dir="./test", model_runner_class=ModelRunner)
    print("✓ RFAA docking engine ready")
except Exception as e:
    print(f"✗ RFAA setup failed: {e}")