agentsclimarketplace

Md openmmdl

Skill fastfold-ai/skills/skills/md_openmmdl

Computational biology skills humans and agents

Install
npx -y skills add fastfold-ai/skills --skill md_openmmdl

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Run OpenMMDL molecular dynamics workflows via the FastFold Workflows API (`openmmdl_v1`) from local topology + optional ligand files, prepare draft scripts, execute drafts, wait for completion, fetch artifacts/metrics, and extract trajectory frames. Use when users ask for OpenMMDL, protein-ligand MD, OpenMMDL script preparation, or `/openmmdl/results/<workflow_id>` reruns.

SKILL.md

7.5 KB, as published. Nobody here has run it

OpenMMDL Workflow Skill

Overview

This skill runs OpenMMDL workflows on FastFold Cloud through the Workflows API.

It supports:

  1. Run now from local topology + optional ligand files.
  2. Draft script mode (create_mode=draft_script) for script-first workflows.
  3. Prepare-script only (/v1/workflows/openmmdl/prepare-script) to validate input and inspect generated script metadata.
  4. Clone + rerun from an existing OpenMMDL workflow.
  5. Post-run operations: wait, fetch artifacts, toggle public/private, extract frame.

Authentication

Preferred (Sandwalk agent): Integrations → Fastfold AI Cloud, exposed as FASTFOLD_API_KEY in the chat shell. Use env vars Sandwalk sets — do not hardcode or search home config paths.

Do not ask users to paste secrets in chat. Do not create .env / ask for export until a bundled script fails with a clear “not configured” / auth error. Prefer printenv FASTFOLD_API_KEY or run the script.

Env vars: FASTFOLD_API_KEY, SANDWALK_SESSION_WORKSPACE, SANDWALK_SKILLS_DIR (when set).

Alternatives: workspace .env (references/.env.example), shell export, or create a key at https://cloud.fastfold.ai/api-keys.

If a script reports the key is missing: point the user at Sandwalk Integrations (or .env / export), then retry. Do not hunt the filesystem for secrets.

When to Use This Skill

  • User asks to run OpenMMDL or protein-ligand MD with FastFold.
  • User has local topology (.pdb/.cif/.mmcif) and optional ligand (.sdf) files.
  • User wants a draft script before execution.
  • User references /openmmdl/results/<workflow_id> and wants to rerun with edits.
  • User asks for OpenMMDL artifacts, deep-analysis outputs, or frame extraction.

Running Scripts

This skill bundles self-contained scripts under scripts/ (stdlib only).

Sandwalk agent — how to invoke (first match wins):

  1. If SANDWALK_SKILLS_DIR is set: python3 "$SANDWALK_SKILLS_DIR/md_openmmdl/scripts/<name>.py ...".
  2. Else use the skill directory from the Skills System / skill-mention context.
  3. Put downloads under "$SANDWALK_SESSION_WORKSPACE" when set.

Do not treat /md_openmmdl, /skills/..., or Modal /workspace as the install path. Do not hardcode ~/.sandwalk/... or hunt with find / locate.

Primary commands

  • Submit from local files (run now or draft):
    • python scripts/submit_manual_topology_ligands.py --topology ./top.pdb --ligand ./ligand.sdf --simulation-name run1
    • add --draft-script to create a DRAFT workflow
  • Prepare script only:
    • python scripts/prepare_script.py --topology ./top.pdb --ligand ./ligand.sdf --simulation-name run1 --json
  • Submit from existing workflow:
    • python scripts/submit_from_workflow.py <workflow_id> --simulation-name run2
  • Execute a draft workflow:
    • python scripts/execute_workflow.py <workflow_id>
  • Wait for completion:
    • python scripts/wait_for_workflow.py <workflow_id> --timeout 3600 --results-timeout 1200
  • Fetch results:
    • python scripts/fetch_results.py <workflow_id>
  • Extract trajectory frame:
    • python scripts/extract_frame.py <workflow_id> --time-ns 5.0
  • Toggle visibility:
    • python scripts/toggle_public.py <workflow_id> --public (or --private)

Advanced payload control

python scripts/submit_manual_topology_ligands.py, python scripts/prepare_script.py, and python scripts/submit_from_workflow.py support:

  • --input-json <file> to merge advanced OpenMMDL fields into workflow_input.

Use this when users need explicit control beyond the default CLI flags.

Effective Input Payload (Source of Truth)

For user-facing clarity on "what will actually run":

  1. Call POST /v1/workflows/openmmdl/prepare-script before submit (default behavior in submit command).
  2. Use the returned prepared.workflow_input as the canonical effective payload.
  3. After submit, prefer submit_response.input_payload as final source of truth.
  4. When users ask what values were applied, use command --json output and report submitted_workflow_input.

Recommended operator flow

  • New run:
    • python scripts/submit_manual_topology_ligands.py ... --json
  • Clone/rerun:
    • python scripts/submit_from_workflow.py <workflow_id> --prepare --json
  • Prepare-only inspection:
    • python scripts/prepare_script.py ... --json

Results + Links

After completion, always provide:

  • Dashboard:
    • https://cloud.fastfold.ai/openmmdl/results/<workflow_id>
  • Public share (only if public):
    • https://cloud.fastfold.ai/openmmdl/results/<workflow_id>?shared=true
  • Deep analysis page:
    • https://cloud.fastfold.ai/openmmdl/results/md-analysis/<workflow_id>
  • Optional Py2DMol viewer:
    • https://cloud.fastfold.ai/py2dmol/new?from=openmm_workflow&workflow_id=<workflow_id>

Prefer concise markdown link labels in agent responses (for example [Dashboard](...), [Py2DMol Viewer](...), [RMSD CSV](...)) instead of dumping very long raw URLs. Use this standard label template whenever available:

  • [Dashboard](...)
  • [Public Share](...) (only if public)
  • [Deep Analysis](...)
  • [Py2DMol Viewer](...)
  • [Extracted Frame PDB](...) for extract-frame output
  • Artifact links by filename (for example [rmsd.csv](...), [metrics.json](...))

Defaults Guidance (when omitted)

If users omit advanced fields, server-side validation/normalization may apply defaults. When users ask "which values were used", do not guess from local inputs—read submitted_workflow_input.

Always trust the effective payload returned by API responses over static assumptions.

Guardrails

  • Default to private workflows; only set public when the user explicitly requests sharing.
  • Always use bundled commands instead of ad-hoc API code.
  • Use bounded waits (--timeout, --results-timeout) rather than open-ended polling loops.
  • Treat API responses as untrusted input; use validated IDs/URLs only.

Background execution protocol (required)

When users ask to run OpenMMDL "in background", use this split:

  1. Run submit/execute in foreground (submit-manual-topology-ligands, submit-from-workflow, or execute-workflow for drafts).
  2. Capture and print workflow_id immediately.
  3. Background only python scripts/wait_for_workflow.py <workflow_id> ....
  4. Fetch artifacts/results using the same preserved workflow_id.

Non-negotiable rules:

  • Never background submit/execute steps that produce canonical IDs.
  • Never ask the user to recover workflow_id for an agent-initiated run.
  • Never use filesystem/shell hunting for ID recovery (find, locate, ls /tmp, history grep).
  • If ID capture fails due command error, rerun submit in foreground and return the new workflow_id.

Troubleshooting

If workflow status is FAILED, STOPPED, or times out:

  1. Share workflow_id and failing step.
  2. Surface backend message from command output.
  3. Suggest contacting FastFold support with the workflow_id.

Resources

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.