Loading...
Loading...
Run DiffDock molecular docking via NVIDIA NIM to predict small-molecule binding poses against protein targets. Use for DiffDock, molecular docking, ligand docking, blind docking, SMILES or SDF ligands, ranked poses, confidence scores, hosted NVIDIA API, or local Docker deployment.
npx skill4agent add nvidia-bionemo/bionemo-agent-toolkit diffdock-nimSKILL.mdreferences/api.mdreferences/science.mdreferences/parameters.mdreferences/validation.mdreferences/examples.mdHosted NVIDIA API or local Docker NIM?
https://health.api.nvidia.com/v1/biology/mit/diffdockhttp://localhost:8000/molecular-docking/diffdock/generate/v1//molecular-docking/Authorization: Bearer $NGC_API_KEYNGC_API_KEYNVIDIA_API_KEY-e NGC_API_KEY.envNVIDIA_API_KEYLOCAL_NIM_CACHENVIDIA_VISIBLE_DEVICES=0--shm-size=2G--ulimitdocker logindocker runnvcr.io/nim/mit/diffdock:2.2.0references/api.mduntil curl -sf http://localhost:8000/v1/health/ready; do sleep 5; donefrom pathlib import Path
raw_pdb = Path("protein.pdb").read_text()
protein = "\n".join(line for line in raw_pdb.splitlines() if line.startswith("ATOM"))
if not protein:
raise ValueError("protein.pdb has no ATOM records")ligand = "CC(=O)OC1=CC=CC=C1C(=O)O"ligand_file_type = "txt"ligand = Path("ligand.sdf").read_text()ligand_file_type = "sdf"ligand_file_type = "mol2""smiles"ligand_file_type"txt"import os
import requests
HOSTED = True
url = (
"https://health.api.nvidia.com/v1/biology/mit/diffdock"
if HOSTED else "http://localhost:8000/molecular-docking/diffdock/generate"
)
headers = {"Content-Type": "application/json"}
if HOSTED:
headers["Authorization"] = f"Bearer {os.getenv('NGC_API_KEY')}"
payload = {
"protein": protein,
"ligand": ligand,
"ligand_file_type": ligand_file_type,
"num_poses": 10,
"time_divisions": 20,
"steps": 18,
"save_trajectory": False,
}
response = requests.post(url, headers=headers, json=payload, timeout=300)
response.raise_for_status()
result = response.json()ligand_positionsposition_confidenceposition_confidence[0]references/examples.mdreferences/validation.mdnum_posestime_divisionssteps422ligand_file_type/v1/