Skip to content
Agentmart
Submit a tool

genmol-nim

Generate novel drug-like molecules using the GenMol NIM microservice.

Skill by NVIDIA

IndexedApache-2.0 AND CC-BY-4.0★ 3,718
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/nvidia-genmol-nim

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

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.

Use cases: backend, devops, sales

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/genmol-nim

Tools it pre-approves 4

From allowed-tools in SKILL.md: the agent may use these without asking you each time.

  • Bash,
  • Read,
  • Write,
  • AskUserQuestion

What's inside

Skill name
genmol-nim
Description
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.
License
Apache-2.0 AND CC-BY-4.0
Compatibility
safe-mol>=0.1.14; requests>=2.28
Allowed tools
Bash,, Read,, Write,, AskUserQuestion
Instructions
127 lines in SKILL.md · view on GitHub

Before installing

  • Pre-approves some shell commands
  • Instructions call the network

Agent Skills spec issues

  • name: "genmol-nim" does not match folder "bionemo-genmol-nim"

Files (13)

  • BENCHMARK.md
  • SKILL.md
  • skillspector-baseline.yml · config/
  • config.yml · evals/
  • evals.json · evals/
  • trigger_evals.json · evals/
  • api.md · references/
  • examples.md · references/
  • parameters.md · references/
  • science.md · references/
  • validation.md · references/
  • skill-card.md
  • skill.oms.sig

SKILL.md (first lines)

# GenMol NIM

Generate drug-like molecules with GenMol. Use this guide for first-pass
hosted and local usage; load supplemental files only when needed:

- `references/api.md`: endpoints, schema, Docker flags, response fields.
- `references/science.md`: use cases, strengths, limits, and handoffs.
- `references/parameters.md`: SAFE patterns and tuning effects.
- `references/validation.md`: chemical and artifact checks.
- `references/examples.md`: compact request patterns.

## Choose Mode

Ask only when context is unclear:

> Hosted NVIDIA API or local Docker NIM?

- Hosted: `https://health.api.nvidia.com/v1/biology/nvidia/genmol/generate`
- Local: `http://localhost:8000/generate`

Hosted requests use `Authorization: Bearer $NGC_API_KEY`. For local Docker,
authenticate image pulls with `docker login nvcr.io` using `NGC_API_KEY`
(or `NVIDIA_API_KEY` via the preflight). Pass `-e NGC_API_KEY` into the
container for entitlement checks and first-run model downloads. Local inference
requests use no auth header after readiness, so bind the published port to
loopback with `-p 127.0.0.1:8000:8000`. Warm-cache key-free startup varies by
image version and should not be assumed.

## Local Docker

Use credentials already supplied in the shell environment or injected by a
secret manager. Do not load credential files, print keys, or enable shell tracing.
For local setup answers, include this sequence: env preflight, `docker login`
with `--password-stdin`, `docker run`, readiness loop, then a no-auth localhost
request. Do not invent a cache default or drop the `NVIDIA_API_KEY` fallback.

Before executing local setup, explain that registry authentication sends the key
to the NVIDIA registry at https://nvcr.io and first-run model downloads use
about 20 GB in `LOCAL_NIM_CACHE`.
Execute deployment only when the user requests it; for a setup guide, provide
the commands without running them.

For the exact startup preflight (environment checks, `NVIDIA_API_KEY` fallback,
`--shm-size=2G`, both `--ulimit` flags, `docker login`, and the `docker run`
for `nvcr.io/nim/nvidia/genmol:1.0.1`), copy the command block in
[`references/api.md`](references/api.md) under **Local container startup** verbatim.

GenMol is single-GPU; `NIM_TEST_GPU` defaults to `0`. Wait for readiness:

```bash
until curl -sf http://localhost:8000/v1/health/ready; do sleep 5; done
```

## SAFE Input

The API field is named `smiles`, but GenMol expects SAFE notation. Masked
positions use `[*{min-max}]`.

- De novo: `safe_input = "[*{20-30}]"`
- Scaffold decoration: `safe_input = scaffold_to_safe("C1CC(=O)NC1", 10, 15)`
- Motif extension: `safe_input = f"[*{{5-10}}].{motif_safe}.[*{{5-10}}]"`
- Lead optimization: encode the hit, then replace a fragment with `.[*{5-12}]`

Use `safe-mol` for conditioned generation. Simple ring scaffolds may raise
`SAFEFragmentationError`; fall back to the original SMILES plus a SAFE mask.

See the `scaffold_to_safe` helper in
[`references/examples.md`](references/examples.md) under **Scaffold Decoration**.

Wider masks increase diversity; tight masks keep analog size more predictable.

## Request Pattern

```python
import 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",      # string, not float
    "noise": "1",            # 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()
```

Gotchas:

- `temperature` and `noise` are strings.
- `num_molecules` is 1-1000; invalid/duplicate molecules may be filtered, so
  request extra when the user needs a minimum count.
- `scoring` is `"QED"` for drug-likeness or `"LogP"` for lipophilicity.
- Set `unique=True` for deduplicated analog lists.

## Save And Report Output

Sort molecules by score, print the top ranks, and write a `.smi` file as shown
in [`references/examples.md`](references/examples.md) under **Save Ranked
Results**. For chemical validity, uniqueness, PAINS/alerts, and visualization
with RDKit, read `references/validation.md`.

## Limits And Troubleshooting

- Fewer molecules than requested is expected after filtering.

From NVIDIA/skills, Apache-2.0 AND CC-BY-4.0.

More from NVIDIA/skills

Compare and alternatives

    Featured in

    Signals

    Stars
    3,718
    Forks
    457
    Open issues
    8
    Last commit (this folder)
    Sep 30, 2026 (27 days ago)

    From GitHub (fetched Oct 24, 2026).

    Details

    License
    Apache-2.0 AND CC-BY-4.0
    First seen
    Oct 24, 2026
    Last checked
    Oct 24, 2026

    More from NVIDIA

    Cite this page

    genmol-nim skill. Agent Mart. https://agentmart.dev/skills/nvidia-genmol-nim (last updated 2026-10-24)