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: .. code-block:: bash 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 git clone https://github.com/baker-laboratory/RoseTTAFold-All-Atom.git 2. Follow the installation instructions 3. 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: .. code-block:: python 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}")