Loading...
Loading...
Generate novel drug-like molecules using the GenMol NIM microservice. Use for de novo generation, scaffold decoration, motif extension, lead optimization, SAFE notation, QED or LogP ranking, hosted NVIDIA API calls, or local Docker deployment. GenMol takes SAFE notation in the smiles field, not ordinary SMILES.
npx skill4agent add nvidia-bionemo/bionemo-agent-toolkit genmol-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/nvidia/genmol/generatehttp://localhost:8000/generateAuthorization: Bearer $NGC_API_KEYNGC_API_KEYNVIDIA_API_KEY-e NGC_API_KEY.envdocker logindocker runNVIDIA_API_KEY.envNVIDIA_API_KEY--shm-size=2G--ulimitdocker logindocker runnvcr.io/nim/nvidia/genmol:1.0.1references/api.mdNIM_TEST_GPU0until curl -sf http://localhost:8000/v1/health/ready; do sleep 5; donesmiles[*{min-max}]safe_input = "[*{20-30}]"safe_input = scaffold_to_safe("C1CC(=O)NC1", 10, 15)safe_input = f"[*{{5-10}}].{motif_safe}.[*{{5-10}}]".[*{5-12}]safe-molSAFEFragmentationErrorscaffold_to_safereferences/examples.mdimport os
import requests
HOSTED = True
url = (
"https://health.api.nvidia.com/v1/biology/nvidia/genmol/generate"
if HOSTED else "http://localhost:8000/generate"
)
headers = {"Content-Type": "application/json"}
if HOSTED:
headers["Authorization"] = f"Bearer {os.getenv('NGC_API_KEY')}"
payload = {
"smiles": "[*{20-30}]", # SAFE notation
"num_molecules": 30,
"temperature": "1.0", # string, not float
"noise": "1.0", # string, not float
"step_size": 1,
"scoring": "QED", # or "LogP"
"unique": False,
}
response = requests.post(url, headers=headers, json=payload, timeout=180)
response.raise_for_status()
result = response.json()temperaturenoisenum_moleculesscoring"QED""LogP"unique=True.smireferences/examples.mdreferences/validation.mdstatus: "failed"safe-molLOCAL_NIM_CACHEnvidia-smi--runtime=nvidiaNIM_TEST_GPU