본문으로 건너뛰기
cccskills
무료GitHub에 공개

openfold2-nim

Use this skill for OpenFold2, NVIDIA's BioNeMo NIM microservice for monomer protein structure prediction. Invoke whenever the user mentions OpenFold2, AlphaFold2-like monomer folding, protein sequence-to-structure prediction, A3M MSAs, mmCIF templates, hosted NVIDIA API calls, or local Docker deployment.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구Docker
설치 방법 보기

포함된 파일(13)

  • SKILL.md7.0 KB
  • BENCHMARK.md6.9 KB
  • config/skillspector-baseline.yml877 B
  • evals/config.yml117 B
  • evals/evals.json7.3 KB
  • evals/trigger_evals.json1.9 KB
  • references/api.md4.4 KB
  • references/examples.md1.8 KB
  • references/parameters.md1.8 KB
  • references/science.md2.9 KB
  • references/validation.md1.5 KB
  • skill-card.md4.3 KB
  • skill.oms.sig6.3 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

OpenFold2 NIM

Predict a single protein-chain structure from an amino-acid sequence, with optional A3M multiple sequence alignments and mmCIF templates. Use this guide for basic hosted/local NIM use; load supplemental files only when the task needs deeper context:

  • references/api.md: exact endpoints, schemas, Docker flags, response fields.
  • references/science.md: model scope, strengths, limitations, and handoffs.
  • references/parameters.md: MSA, template, model-selection, and relax effects.
  • references/validation.md: artifact and scientific sanity checks.
  • references/examples.md: compact hosted/local payload patterns.

Choose Mode

Ask only when context is unclear:

Hosted NVIDIA API or local Docker NIM?

  • Hosted URL: https://health.api.nvidia.com/v1/biology/openfold/openfold2/predict-structure-from-msa-and-template
  • Local URL: http://localhost:8000/biology/openfold/openfold2/predict-structure-from-msa-and-template
  • Local readiness: http://localhost:8000/v1/health/ready

Mode difference: hosted and local use the same prediction path except local does not include /v1/. Hosted requests use Authorization: Bearer $NGC_API_KEY; local inference requests use no auth header after readiness.

Auth And Environment

Do not print API keys. Confirm they exist with shell tests, not echoes.

Hosted needs NGC_API_KEY in the request header. Supported local Docker startup uses NGC_API_KEY, or NVIDIA_API_KEY as a fallback, plus LOCAL_NIM_CACHE. A repo-root .env file may be sourced as a local override.

Local Docker

Use the official OpenFold2 NIM image and mount LOCAL_NIM_CACHE at /opt/nim/.cache. Current docs recommend at least 80 GB disk, 64 GB system RAM, 8 CPU cores, and one supported GPU; the container is roughly 55 GB and first startup downloads about 10 GB of model parameters.

For the exact startup preflight (.env sourcing, NGC_API_KEY/NVIDIA_API_KEY handling, docker login, and the docker run for nvcr.io/nim/openfold/openfold2:latest), copy the command block in references/api.md under Local Docker verbatim — do not drop .env, NGC_API_KEY, LOCAL_NIM_CACHE, or the no-auth local request.

Readiness check:

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

Request Pattern

Use Python requests; curl escaping is fragile for A3M/mmCIF text. The sequence field is required. input_id, alignments, selected_models, relax_prediction, use_templates, and explicit_templates are optional.

import os
import requests

hosted = True
url = (
    "https://health.api.nvidia.com/v1/biology/openfold/openfold2/predict-structure-from-msa-and-template"
    if hosted
    else "http://localhost:8000/biology/openfold/openfold2/predict-structure-from-msa-and-template"
)
headers = {"Content-Type": "application/json"}
if hosted:
    headers["Authorization"] = f"Bearer {os.getenv('NGC_API_KEY')}"

seq = "MTEYKLVVVGAGGVGKSALTIQLIQNHFVDEYDPT"
payload = {
    "sequence": seq,
    "input_id": "kras_fragment",
    "selected_models": [1],
    "relax_prediction": False,
    "alignments": {
        "uniref90": {
            "a3m": {
                "alignment": f">query\n{seq}",
                "format": "a3m",
            }
        }
    },
}

response = requests.post(url, headers=headers, json=payload, timeout=300)
response.raise_for_status()
result = response.json()

Payload gotchas:

  • OpenFold2 is monomer-only. For protein-ligand, protein-DNA/RNA, or multi-chain complexes, use OpenFold3 or Boltz2 instead.
  • sequence must use valid amino-acid IUPAC symbols.
  • Hosted API docs list sequence length 1-1000; local docs say current NIM supports sequences up to 2048 residues on supported hardware.
  • A3M alignments go under alignments by database name, then a3m with alignment and format. When the user needs to create or deepen an MSA, hand off to msa-search-nim / MSA Search and map its A3M output into this alignments shape.
  • Starting with OpenFold2 2.0.0, use explicit_templates with mmCIF content; do not write new HHR-template examples.
  • selected_models chooses AlphaFold2/OpenFold parameter sets 1-5. Select one or two models for smoke tests; use all five for stronger production runs.

Save And Interpret Output

The response includes one prediction per selected model, ordered by confidence. Save every returned structure-like text field and the full JSON response so field-shape differences are auditable. Production answers should explicitly write .pdb or .cif artifacts, preserve the response JSON, and print any confidence/ranking fields the service returns.

from pathlib import Path
import json

Path("openfold2_response.json").write_text(json.dumps(result, indent=2))

def save_strings(obj, prefix="openfold2"):
    i = 0
    if isinstance(obj, dict):
        for key, value in obj.items():
            if isinstance(value, str) and ("ATOM" in value or value.lstrip().startswith("data_")):
                i += 1
                ext = "cif" if value.lstrip().startswith("data_") else "pdb"
                Path(f"{prefix}_{key}_{i}.{ext}").write_text(value)
            elif isinstance(value, (dict, list)):
                i += save_strings(value, f"{prefix}_{key}")
    elif isinstance(obj, list):
        for idx, value in enumerate(obj, start=1):
            if isinstance(value, (dict, list)):
                i += save_strings(value, f"{prefix}_{idx}")
    return i

saved = save_strings(result)
print(f"saved {saved} structure artifact(s)")

For production monomer runs:

  • Use selected_models: [1, 2, 3, 4, 5] unless the user requests a smoke test.
  • Use relax_prediction: True in Python payloads when relaxation is desired; JSON examples may show true.
  • State the sequence length caveat: hosted API docs list 1-1000 residues, while local support-matrix docs list up to 2048 residues on supported hardware.
  • If the task is a complex rather than a monomer, redirect to OpenFold3 or Boltz2.

Treat tiny toy sequences and single-sequence MSAs as API smoke tests, not quality evidence. For scientific interpretation and validation, read references/science.md and references/validation.md.

Troubleshooting

  • 401: missing, expired, or unauthorized NGC API key.
  • 422: invalid amino-acid characters, sequence too long, malformed A3M, bad selected_models, or malformed mmCIF template object.
  • Local 404: remove /v1/ from the prediction URL.
  • Weak structures: use MSA Search to generate deeper A3M alignments and add biologically relevant mmCIF templates when appropriate.
  • Local startup stalls: first run downloads parameters into LOCAL_NIM_CACHE.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Official NVIDIA-authored guidance for NVIDIA cuDF GPU DataFrames, pandas acceleration, dask-cuDF, ETL, joins, groupby, CSV/Parquet I/O, nullable semantics, and multi-GPU DataFrame workloads.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

NVIDIA/skills3.6천2026년 10월 18일 업데이트

Customize NVIDIA Nemotron Voice Agent's Generic Pipecat example for healthcare appointment, five-field patient intake, or custom tool-calling workflows without a separate backend.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

NVIDIA/skills3.6천2026년 10월 18일 업데이트

Calibrate a new dataset from live RTSP camera streams via the AutoMagicCalib REST API. Use when the user provides RTSP URLs or asks to calibrate live cameras; VIOS records clips, AMC ingests them, then runs calibration.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

NVIDIA/skills3.6천2026년 10월 18일 업데이트

Run end-to-end calibration on the shipped sample dataset (sdg_08_2_sample_data_010926.zip) against a running AMC microservice. Use when user says 'test sample dataset', 'run sample calibration', 'verify AMC install', or 'launch and test'.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

NVIDIA/skills3.6천2026년 10월 18일 업데이트

Calibrates pre-recorded `cam_*.mp4` datasets through the AutoMagicCalib REST API. Use for user-supplied local MP4s; route live RTSP streams to `amc-run-rtsp-calibration`.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

NVIDIA/skills3.6천2026년 10월 18일 업데이트

Launch AutoMagicCalib microservice and web UI from NGC release images via Docker Compose. Use when user says 'deploy auto calibration', 'launch auto calibration', 'launch AMC', 'start MS+UI', or 'set up auto-magic-calib'. Requires NGC API key.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

NVIDIA/skills3.6천2026년 10월 18일 업데이트

NVIDIA의 스킬 모두 보기

이 스킬의 문제 신고