Analogue Docking

Analogue docking places related compounds into a binding site using a known protein–ligand complex as a reference. Because the reference ligand supplies a binding-mode hypothesis, this workflow is intended for exploring a congeneric series during lead optimization rather than for discovering unrelated binding modes.

The resulting poses can be compared across a series and used as starting structures for downstream relative binding free-energy calculations.

How analogue docking works

The workflow takes three inputs:

Rowan uses the reference ligand to align each analogue, generates conformers, and docks those conformers into the same binding site. The workflow can use different scoring functions, control docking exhaustiveness and the number of poses, and optionally filter conformers with PoseBusters or run a local optimization in the pocket. Rotatable groups outside the template scaffold are explored via torsional Monte Carlo simulations in openconf.

The analogue list is supplied by the user. Rowan does not automatically suggest nearby chemical replacements, so this workflow requires the design series to have already been defined.

Results in Rowan

For each analogue, Rowan returns the best-scoring valid poses. The results include maximum-common-substructure RMSD values, which help distinguish analogues that retain the reference binding mode from those that adopt a substantially different pose. Individual poses can be inspected, compared, and overlaid in the web viewer.

Analogue docking usually takes a few minutes per compound, depending on the size of the protein, the number of conformers, and the selected settings. Compounds with large structural changes may fail to produce a useful aligned pose. In those cases, we recommend running a separate protein–ligand docking calculation rather than forcing the analogue through the reference-based workflow.

Preparing the input structure

Experimental protein structures often need preparation before they can be used. Missing hydrogens, unsupported residues, or atom clashes can prevent the workflow from starting. Rowan's protein editor can remove unwanted chains and add or repair hydrogens while preserving the bound reference ligand; for more substantial unresolved regions (or to predict protonation more accurately), use Rowan's protein-preparation workflow.

The reference pose should contain the ligand in the binding site. The reference ligand is not automatically included in the analogue list, so users should add its SMILES explicitly when it should be included in the returned results.

Running analogue docking

From the web application, upload or select the protein, choose the bound reference pose, enter the analogue SMILES, and submit the workflow. The same workflow can be submitted programmatically:

from pathlib import Path

import rowan

# Set your API key or use the ROWAN_API_KEY environment variable
# rowan.api_key = "rowan-sk..."
folder = rowan.get_folder("examples")

data_dir = Path("data")
bound_pose = rowan.Molecule.from_xyz_file(str(data_dir / "citalopram_1iep.xyz"))
protein = rowan.upload_protein("1IEP receptor", data_dir / "1iep_receptorH.pdb")

analogues = {
    "analogue-1": "CN(C)CCC[C@@]1(c2ccccc2)OCc2cc(C#N)ccc21",
    "analogue-2": "CN(C)CCC[C@@]1(c2ccc(F)cc2)OCc2c(CC)c(C#N)ccc21",
    "analogue-3": "CN(C)CCC[C@@]1(c2ccc(CCC)cc2)OCc2cc(C#N)ccc21",
}

workflow = rowan.submit_analogue_docking_workflow(
    analogues=list(analogues.values()),
    analogue_names=list(analogues.keys()),
    protein=protein,
    initial_molecule=bound_pose,
    folder=folder,
)

print(f"View the workflow privately at: https://labs.rowansci.com/analogue-docking/{workflow.uuid}")
result = workflow.result()
print(result)

Names supplied through analogue_names are attached to the returned docked poses, which makes it easier to match results back to a design table. See Rowan's analogue docking example on GitHub and the Python API documentation for the full set of docking settings. For high-throughput screening against a library, use batch docking; for a single ligand without a reference pose, use strain-corrected docking.