Getting Started#

Quick start

Install and run ProDock

Create an isolated environment, then install ProDock with Conda, Pip, or Source.

โ—† Conda ยท easiest Py Pip ยท PyPI Git Source ยท editable V Env first
1
๐Ÿงช Create env Fresh conda environment
โ†’
2
๐Ÿ“ฆ Install Conda, Pip, or Source
โ†’
3
๐Ÿš€ Run prodock(...)

Installation#

โ—†

Conda

Recommended.

conda create -n prodock python=3.11
conda activate prodock
conda install -c tieulongphan prodock
Use: quickest install
Py

Pip

Install dependencies first.

conda create -n prodock python=3.11
conda activate prodock
conda install -c conda-forge openmm=8.3.1 pdbfixer
pip install prodock
Use: PyPI install
Git

Source

Editable install.

git clone https://github.com/Medicine-Artificial-Intelligence/ProDock
cd ProDock
conda env create -f prodock-env.yml
Use: development

Quick example#

from prodock import prodock

PROJECT = "Demo"

RECEPTORS = [
    {
        "pdb_id": "4WKQ",
        "receptor_name": "EGFR_4WKQ",
        "ligand_code": "IRE",
        "chains": ["A"],
        "cofactors": [],
    },
]

LIGANDS = [
    {
        "id": "erlotinib",
        "smiles": "COCCOc1cc2c(ncnc2cc1OCCOC)Nc1cccc(c1)C#C",
    },
    {
        "id": "gefitinib",
        "smiles": "COc1cc2ncnc(c2cc1OCCCN1CCOCC1)Nc1ccc(c(c1)Cl)F",
    },
]

result = prodock(
    PROJECT,
    receptors=RECEPTORS,
    ligands=LIGANDS,
    engines=["qvina", "qvina-w"],
    extract_interaction=True,
    db_name="test.db",
)

print(result.campaign_json)
print(result.db_path)
print(result.merged_df.head())

๐Ÿ“ Output paths

result.campaign_json is the path to the generated campaign config, and result.db_path is the path to the SQLite database.

๐Ÿ“Š Output tables

result.merged_df stores pose-level rows such as receptor, ligand, engine, rank, affinity, and RDKit molecule objects and pose id for downstream analysis.