Skip to content
cccskills
FreePublished on GitHub

openfold3

Predict structures of complexes containing proteins, DNA, RNA, and ligands with OpenFold3, an AlphaFold3 reproduction with publicly available model weights. Prepare JSON inputs, generate candidate structures, and inspect confidence scores and molecular clashes.

OriginalShow the original description

Structure prediction using OpenFold3, an open-weights PyTorch reproduction of AlphaFold3 from the AlQuraishi Lab. Use this skill when predicting protein/nucleic-acid/ligand complex structures with an Apache-2.0-licensed AF3 reimplementation.

Works withHugging Face
See how to install

Good for

  • Predicting structures of protein–ligand complexes
  • Predicting complexes containing DNA or RNA
  • Comparing confidence scores across candidate structures
  • Running predictions with existing sequence alignments

Files included (2)

  • SKILL.md9.8 KB
  • .catalog_stamp13 B

SKILL.md (original)

Review the instructions the agent will receive before you install.

OpenFold3 Structure Prediction

Prerequisites

RequirementMinimumRecommended
Python3.10+3.11
CUDA12.1+12.4+
GPU VRAM24GB80GB (H100)
RAM32GB64GB
Disk (weights)3GB-

How to run

Installation

pip install 'openfold3[cuequivariance]==0.4.1'

The default attention kernel is DeepSpeed DS4Sci_EvoformerAttention. If DeepSpeed is unavailable, switch to the cuEquivariance triangle kernels (no build-from-source) by overriding the eval memory settings in model_config.py (use_deepspeed_evo_attention: False, use_cueq_triangle_kernels: True). Some pre-built environments already ship this override; check before re-patching.

Weights

Apache-2.0, ~2.3 GB from HF OpenFold/OpenFold3. The repo is gated (auto-approval) — accept the access form on the HF model page and authenticate (huggingface-cli login or HF_TOKEN) before downloading:

export OPENFOLD_CACHE=~/.openfold3
huggingface-cli download OpenFold/OpenFold3 checkpoints/of3-p2-155k.pt \
  --local-dir "$OPENFOLD_CACHE"

run_openfold will also auto-download to $OPENFOLD_CACHE on first run if egress is open and HF credentials are available (either HF_TOKEN or a prior huggingface-cli login) with repo access granted. The interactive setup_openfold helper exists but prompts on stdin; prefer the explicit download above for non-interactive runs.

Running

export OPENFOLD_CACHE=/path/to/cache
run_openfold predict \
  --query_json=queries.json \
  --output-dir out/ \
  --use-msa-server false \
  --use-templates false

run_openfold discovers the checkpoint under $OPENFOLD_CACHE automatically. Only pass --inference-ckpt-path <file.pt> if you have a non-standard layout or multiple checkpoints and need to pin one explicitly.

For MSA + templates (slower, higher accuracy), drop the two false flags. The MSA server is api.colabfold.com; template chain-ID remap hits data.rcsb.org (GraphQL) — both must be reachable.

Query JSON format

OpenFold3 does not read FASTA. Queries are a JSON object validated by InferenceQuerySet (pydantic, extra: forbid — unknown keys reject):

{
  "queries": {
    "my_complex": {
      "chains": [
        { "molecule_type": "protein", "chain_ids": ["A"], "sequence": "MQIFVK…" },
        { "molecule_type": "protein", "chain_ids": ["B", "C"], "sequence": "MVLSPA…" },
        { "molecule_type": "ligand", "chain_ids": ["L"], "smiles": "CC(=O)Oc1ccccc1C(=O)O" }
      ],
      "use_msas": true
    }
  },
  "seeds": [42]
}
molecule_typerequired field
protein / dna / rnasequence
ligandsmiles or ccd_codes: ["HEM"]

chain_ids is a list — repeat the same sequence across multiple chain IDs for homo-oligomers. Per-chain paired_msa_file_paths / main_msa_file_paths let you supply your own a3m instead of the server.

Key parameters

FlagDefaultDescription
--num-diffusion-samples5Structures per (query, seed)
--num-model-seeds1Number of model seeds per query (multiplies output count alongside JSON seeds and diffusion samples)
--use-msa-servertrueColabFold MMseqs2 server for MSA
--use-templatestrueColabFold template search + RCSB remap
--inference-ckpt-pathauto-discovered under $OPENFOLD_CACHEOverride only — for non-standard layouts or to pin a specific checkpoint file

Output format

out/
├── summary.txt
├── model_config.json / experiment_config.json
├── inference_query_set.json
└── <query_name>/seed_<N>/
    ├── <query>_seed_<N>_sample_<k>_model.cif
    ├── <query>_seed_<N>_sample_<k>_confidences.json           # full PAE/pLDDT
    ├── <query>_seed_<N>_sample_<k>_confidences_aggregated.json
    └── timing.json

*_confidences_aggregated.json is the small one to read first:

{
  "avg_plddt": 78.96,
  "ptm": 0.667,
  "iptm": 0.0,
  "gpde": 0.73,
  "has_clash": 0.0,
  "sample_ranking_score": 0.133,
  "chain_ptm": { "A": 0.667 },
  "chain_pair_iptm": {}
}

What good output looks like

  • summary.txt shows Successful Queries: N matching your input count
  • avg_plddt > 70 (single-seq) / > 80 (with MSA)
  • ptm > 0.6; for complexes, iptm > 0.5
  • has_clash: 0.0
  • .cif ~50-150 KB per sample for a small protein

Verify

grep -E 'Successful|Failed' out/summary.txt
find out -name '*_model.cif' | wc -l   # = queries x json_seeds x num-model-seeds x num-diffusion-samples

Troubleshooting

ErrorCauseFix
_deepspeed_evo_attn requires that DeepSpeed be installeddefault eval kernel is DS4Sci on CUDAinstall deepspeed (needs nvcc + CUTLASS), or in model_config.py eval block set use_deepspeed_evo_attention: False + use_cueq_triangle_kernels: True (cuEq path; no build)
CUTLASS_PATH ... not set ... cutlass_library is not installedcuEq path still needs the python cutlass_library shimpip install nvidia-cutlass
libXrender.so.1: cannot open shared object filerdkit (via pdbeccdutils) needs X11 render libsapt-get install libxrender1 libxext6 libsm6
ModuleNotFoundError: boto3 (or awscrt)openfold3.core.data.io.s3 is eager-imported even when weights are localpip install boto3 awscrt
ValidationError: queries / Field required or Input should be an objectwrong JSON shapetop-level is {"queries": {"<name>": {...}}} (a dict, not a list)
ValidationError ... settings / Extra inputs are not permittedtried to override model config via --runner-yaml--runner-yaml is InferenceExperimentConfig only; kernel/memory settings live in model_config.py
Failed to fetch chain ID mappings from RCSB for N entriesdata.rcsb.org unreachable (allowlist/offline)run with --use-templates false, or open egress to data.rcsb.org
CUDA out of memorylarge complex / many samplesreduce --num-diffusion-samples; the low_mem preset (model_setting_presets.yml) offloads more aggressively

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

alphafold2

FreeSummary

Predict structures for single proteins or protein complexes with AlphaFold2 through ColabFold. Use confidence scores and comparisons with a designed structure to assess whether a designed sequence folds as intended.

  • Predicting a single protein's structure from its sequence
  • Predicting structures of protein complexes
  • Checking designed sequences against a target structure
aipoch/open-science5.3KUpdated Oct 20, 2026

boltz

FreeSummary

Use Boltz-2 to predict structures of complexes containing proteins, DNA, RNA, and small molecules. Obtain structure files and confidence scores to assess designed binders, with optional predictions of binding strength between a protein and a small molecule.

  • Assessing a designed binder against its target
  • Predicting a protein and small-molecule complex
  • Predicting complexes containing DNA or RNA
aipoch/open-science5.3KUpdated Oct 20, 2026

borzoi

FreeSummary

Predict patterns of gene expression and other genomic measurements from DNA sequences with Borzoi. Compare reference and altered sequences to estimate regulatory effects, generate predicted coverage tracks, and prioritize variants in regions that do not encode proteins.

  • Comparing predicted effects before and after a DNA variant
  • Generating predicted coverage tracks for a genomic region
  • Prioritizing variants in non-coding regions
aipoch/open-science5.3KUpdated Oct 20, 2026

chai1

FreeSummary

Predict three-dimensional structures of complexes containing proteins, RNA, DNA, and small molecules with Chai-1. Compare candidate structures using confidence scores and clash indicators, or run repeated predictions from Python to evaluate designed binders.

  • Predicting antibody–antigen complex structures
  • Evaluating protein–ligand binding structures
  • Reassessing designed binders
aipoch/open-science5.3KUpdated Oct 20, 2026

Prepare reproducible setup and removal instructions for software environments on Open-Science SSH hosts, including Slurm clusters. Check available tools, define named activation settings, and validate the environment where jobs run after the user installs it.

  • Preparing a remote environment for required packages
  • Making job environment activation repeatable
  • Checking software and GPU operation on Slurm nodes
aipoch/open-science5.3KUpdated Oct 20, 2026

customize

FreeSummary

Create and manage focused Specialist agents and Skills through conversation. Draft agent roles, review available Skills and Connectors, configure access, and manage changes, with Skill creation and publishing handled by the application's internal skill-creator.

  • Creating a Specialist for a focused role
  • Updating an agent's Skills and Connectors
  • Creating, revising, and publishing Skills
aipoch/open-science5.3KUpdated Oct 20, 2026

See all skills by aipoch

Report a problem with this skill