Documentation

Complete guide to installing, configuring, and using LADOCK Desktop for molecular docking workflows.

πŸ“‹ Requirements

LADOCK Desktop requires the following software on your system before installation:

DependencyMinimum VersionNotes
Python3.103.11 or 3.12 recommended
PySide66.5Qt6 Python bindings (GUI)
NumPy1.24Array computations
SciPy1.10Scientific utilities
pandas2.0Result data handling
RDKitanyOptional β€” SMILES rendering & ligand prep
πŸ’‘
Tip: Using Miniconda or Anaconda is the easiest way to manage all dependencies, especially RDKit which can be tricky to install with pip alone.

⬇️ Installation

Windows

Open PowerShell or Command Prompt and run:

# Clone the repository
git clone https://github.com/your-org/ladock-desktop.git
cd ladock-desktop

# Install core dependencies
python -m pip install -e .

# Optional: install with RDKit support
python -m pip install -e ".[rdkit]"

Linux / macOS

git clone https://github.com/your-org/ladock-desktop.git
cd ladock-desktop
pip install -e .

Using Conda (recommended)

# Create a dedicated environment
conda create -n ladock python=3.11
conda activate ladock

# Install RDKit via conda (easier than pip)
conda install -c conda-forge rdkit

# Install LADOCK
pip install -e .
ℹ️
Bundled binaries: AutoDock Vina, AutoDock 4, ADFRsuite, MGLTools, and OpenBabel are included in the bin/ directory. You do not need to install these separately.

πŸš€ Launching LADOCK

After installation, start LADOCK using the launcher appropriate for your platform:

Windows

# Double-click in File Explorer, or run from terminal:
ladock.bat

Windows with WSL backend

ladock-wsl.bat

Linux / macOS

bash ladock.sh

Cross-platform (Python)

python main.py
⚠️
First launch: LADOCK may take a few seconds on first launch as it detects bundled tool paths. Subsequent launches are faster.

πŸ“– Usage Overview

LADOCK organizes your work into Projects. A project contains your receptor, ligand library, docking configuration, and all results in one structured directory. The main window is divided into panels:

  • Docking Prep β€” load receptor and ligands, set search box
  • Job Manager β€” configure and launch batch docking
  • Result Explorer β€” browse scores, poses, and interaction maps
  • 3D Viewer β€” interactive molecular visualization
  • Ligand Library β€” manage and filter your compound set

πŸ§ͺ Preparing Input

Loading a receptor

Go to Docking Prep β†’ Receptor and click Load Receptor. Accepted formats:

  • .pdb β€” LADOCK converts to PDBQT automatically via ADFRsuite
  • .pdbqt β€” loaded directly

After loading, LADOCK will attempt to add polar hydrogens and assign Gasteiger charges. Review the log output in the panel for any warnings.

Loading ligands

Go to Ligand Library β†’ Import. Supported formats:

  • .sdf β€” multi-molecule SD file
  • .csv β€” with a SMILES column (column header: smiles or SMILES)
  • .pdbqt β€” pre-prepared ligands (no conversion needed)
πŸ’‘
If RDKit is installed, LADOCK will render 2D SMILES depictions in the ligand table. Without RDKit, ligands are still functional but displayed as text only.

βš™οΈ Configuring Docking

Setting the search box

In the Docking Prep panel, set the docking box center and dimensions:

  • Enter X/Y/Z center coordinates manually, or
  • Click a residue in the 3D viewer to center the box on that position
  • Adjust box size (in Γ…) to cover the binding pocket

Choosing a docking engine

Select the engine from the dropdown in the Job Manager panel:

  • AutoDock Vina β€” best default choice; fast and accurate
  • AutoDock 4 β€” classical method; good for benchmarking
  • VinaGPU β€” GPU-accelerated; requires external binary (see GPU Engines)
  • AutoDock-GPU β€” massive throughput on NVIDIA GPUs

Key parameters

ParameterDefaultDescription
exhaustiveness8Search thoroughness (higher = slower but more accurate)
num_modes9Number of binding poses to output per ligand
energy_range3Max energy difference from best pose (kcal/mol)
cpuautoNumber of CPU threads to use

▢️ Running a Docking Job

  1. Ensure your receptor and at least one ligand are loaded.
  2. Verify the search box covers your target binding site.
  3. Select the docking engine and set parameters in Job Manager.
  4. Click Run Docking (or Run Batch for multiple ligands).
  5. Monitor progress in the job queue β€” each ligand shows its status (queued / running / done / failed).
  6. When all jobs complete, results are automatically loaded into the Result Explorer.
ℹ️
Jobs can be paused or cancelled at any time from the Job Manager. Completed results are preserved even if you cancel the remaining queue.

πŸ“Š Viewing Results

The Result Explorer shows a sortable table of all completed docking runs with columns:

  • Ligand β€” ligand name or identifier
  • Best Score β€” lowest binding energy (kcal/mol)
  • Poses β€” number of poses returned
  • Engine β€” which docking engine was used

Click any row to:

  • Load the docked pose in the 3D Viewer
  • View the interaction analysis panel (H-bonds, hydrophobic contacts, etc.)
  • Cycle through all poses using the pose navigator

Exporting results

Use File β†’ Export Results to save the current result table as .csv or .xlsx. Individual poses can be exported as .pdbqt or .pdb.

πŸ“ Project Structure

The LADOCK source code is organized as follows:

LADOCK/
β”œβ”€β”€ app/          # Main window, dialogs, project manager
β”œβ”€β”€ core/         # Job scheduler, WSL backend, tool paths
β”œβ”€β”€ data/         # Data models β€” project, ligand library, result parser
β”œβ”€β”€ engine/       # Docking engine abstraction, molecule prep
β”œβ”€β”€ gui/          # Theme, stylesheet, UI panels
β”‚   └── panels/   # Docking prep, job manager, result explorer…
β”œβ”€β”€ bin/          # Bundled binaries (ADFRsuite, Vina, MGLTools…)
β”œβ”€β”€ main.py       # Entry point
β”œβ”€β”€ ladock.bat    # Windows launcher
β”œβ”€β”€ ladock.sh     # Linux/macOS launcher
└── ladock-wsl.bat  # WSL launcher

πŸ”§ Bundled Tools

The bin/ directory ships with these tools β€” no separate installation needed:

ToolVersionPurpose
AutoDock Vina1.2.7Primary CPU docking engine
AutoDock 4β€”Classical Lamarckian GA engine
ADFRsuite / AGFR1.0Receptor & ligand preparation
MGLTools1.5.6Molecular graphics and file conversion
OpenBabelβ€”Chemical format conversion

🐧 WSL Setup

To run Linux-native docking binaries (VinaGPU, AutoDock-GPU) from Windows, you need WSL 2:

  1. Enable WSL 2 in Windows: open PowerShell as Administrator and run wsl --install
  2. Install a Linux distribution (e.g., Ubuntu 22.04) from the Microsoft Store
  3. Install the GPU docking binaries inside your WSL distribution
  4. Launch LADOCK using ladock-wsl.bat β€” it will auto-detect your WSL distribution
  5. In LADOCK, go to Settings β†’ Tool Paths and point VinaGPU / AutoDock-GPU to the Linux binary paths
⚠️
WSL GPU passthrough requires WSL 2 (not WSL 1) and an NVIDIA GPU with up-to-date Windows drivers that include CUDA support via WSL.

⚑ GPU Engines

VinaGPU and AutoDock-GPU are not bundled β€” they must be installed separately and configured in LADOCK's settings.

VinaGPU

A GPU-accelerated version of AutoDock Vina. Install inside your WSL environment or natively on Linux, then add the binary path in Settings β†’ Tool Paths β†’ VinaGPU.

AutoDock-GPU

Provides massive throughput on NVIDIA GPUs by running thousands of docking evaluations per second. Best suited for large-scale virtual screening. Configure via Settings β†’ Tool Paths β†’ AutoDock-GPU.

πŸ’‘
For typical drug discovery projects with hundreds of ligands, AutoDock Vina (CPU) is often fast enough without GPU setup. GPU engines shine with library sizes in the tens of thousands.