Skip to content

Chai-1

Multi-modal biomolecular structure prediction model capable of predicting 3D structures of proteins, DNA, RNA, ligands, glycans, and their complexes.

License: Apache-2.0 · Molecules: protein, dna, rna, ligand, complex · Tasks: structure_prediction

Actions: fold · Variants: 1

At a glance

Use it when

  • You need to predict the 3D structure of a multi-molecule complex (protein-ligand, protein-DNA, protein-RNA, or any combination) and no experimental structure is available
  • You are performing protein-ligand docking in early drug discovery where the target protein structure is unknown -- Chai-1 predicts both the protein structure and ligand binding pose simultaneously
  • You need to model protein-nucleic acid interactions (transcription factor-DNA binding, CRISPR-Cas complexes, RNA-binding protein complexes) with atomic-level detail
  • You want to explore multiple binding modes by generating diverse structure samples from different diffusion seeds and ranking by confidence
  • You need an open-source (Apache-2.0) multi-molecule structure predictor as an alternative to the closed-source AlphaFold3 server
  • You are studying antibody-antigen interactions and need to predict epitope-paratope contacts for therapeutic antibody development
Strengths
  • True multi-modal co-folding: jointly predicts structure of protein + DNA + RNA + small-molecule ligand complexes (up to 5 entities) in a single inference pass, eliminating the need for separate docking tools
  • Protein-ligand docking via SMILES input enables simultaneous structure prediction and binding pose prediction without requiring a pre-existing protein structure -- valuable for early-stage drug discovery
  • Apache-2.0 open-source license with commercially supported development from Chai Discovery, providing both community access and enterprise-grade support options
  • Diffusion-based architecture generates multiple diverse structure samples from different random seeds, enabling exploration of alternative binding modes and conformational states
  • Supports optional ESM embeddings (use_esm_embeddings=True) to improve prediction quality for proteins with shallow MSA coverage, bridging single-sequence and MSA-based approaches
  • Handles nucleic acid complexes natively -- protein-DNA (transcription factor binding) and protein-RNA (ribosome, CRISPR-Cas) -- covering a broad range of biological interaction types
  • Competitive with AlphaFold3 on cross-docking benchmarks (60-61% accuracy), representing the open-source state of the art for multi-molecule structure prediction
  • Supports proteins up to 1024 residues and nucleic acids up to 3072 bases per entity, covering most biologically relevant complex sizes
Limitations
  • Requires A100 80GB GPU with 64GB system RAM -- the most resource-intensive deployment tier, limiting accessibility for smaller research groups
  • No binding affinity prediction -- produces structures and confidence scores but cannot estimate binding energies; a dedicated affinity predictor is required for that
  • Single-sequence mode (without MSA or ESM embeddings) substantially reduces prediction accuracy, especially for proteins lacking close homologs in training data
  • Membrane protein predictions are weakened by training primarily on soluble protein structures -- no lipid bilayer context is modeled
  • Very short peptides (< 10 residues) lack sufficient structural context for reliable binding pose prediction within the diffusion framework
  • Complex macrocyclic and metalloorganic ligands may produce poor binding poses due to limited representation in training data
  • Produces static conformations from diffusion sampling -- does not model conformational ensembles or intrinsically disordered regions
  • No dedicated interface confidence metric such as ipSAE -- interface quality must be assessed from general pTM/pLDDT scores
Reach for something else when
  • You only need single-chain protein structure prediction -- ESMFold is orders of magnitude faster for single proteins
  • You need binding affinity predictions alongside structure -- Chai-1 predicts structures and confidence scores but does not estimate binding affinities
  • You need de novo protein design or sequence generation -- Chai-1 is prediction-only; use BoltzGen for generative design tasks
  • Your sequences exceed 1024 residues per protein chain or 3072 bases per nucleic acid -- consider RF3 or breaking the problem into subunits
  • You need conformational ensemble modeling for intrinsically disordered proteins -- Chai-1 produces single static structures
  • You need pocket-constrained docking where the binding site is fixed in advance -- Chai-1 performs unconstrained structure prediction and does not accept explicit pocket constraints
  • GPU resources are limited (no A100 80GB available) -- use ESMFold for single-chain proteins or RF3 on A100 40GB for multi-molecule targets

Alternatives

Model Better when Worse when
rf3 RF3 supports template conditioning, cyclic peptides, and CCD codes for non-canonical residues; newest architecture with potentially highest accuracy on multi-molecule benchmarks. Chai-1 has more published cross-docking benchmarks; different training data may favor different target classes; Chai-1's ESM embedding integration is a unique feature.
esmfold 100-1000x faster single-sequence inference (seconds vs minutes) on A10G GPU; no MSA required; dramatically lower cost per prediction. Protein-only with lower accuracy; no multi-molecule support; cannot model binding interactions with DNA/RNA/ligand molecules that Chai-1 co-folds.

API & schema

Call an action with POST /api/v1/{slug}/{action} — the request envelope is {"items": [...], "params": {...}} and a success returns {"results": [...]}. See the HTTP API page for the base URL, error shape, and full contract.

fold

Call it

curl -X POST http://127.0.0.1:8000/api/v1/chai1/fold \
  -H "Content-Type: application/json" \
  -d '{
  "items": [
    {
      "molecules": [
        {
          "name": "string",
          "type": "protein"
        }
      ]
    }
  ]
}'

RequestChai1FoldRequest

Field Type Required Constraints Description
params Chai1FoldRequestParams no Optional parameters controlling this action (defaults are used when omitted).
items list[Chai1FoldRequestInput] yes items 1–1 Batch of inputs to process in a single request.
Nested types

Chai1AlignmentDatabase

Allowed values: mgnify, small_bfd, uniref90

Chai1EntityType

Allowed values: protein, DNA, RNA, ligand, polymer_hybrid, water, unknown

Chai1FoldRequestInput

Field Type Required Constraints Description
molecules list[Chai1Molecule] yes List of molecules forming the complex to predict (up to 5 entities per request).

Chai1FoldRequestParams

Field Type Required Constraints Description
num_trunk_recycles integer no ≥1; ≤10; default 3 Number of trunk recycling iterations; more recycles improve accuracy at the cost of inference time.
num_diffusion_timesteps integer no ≥50; ≤200; default 200 Number of diffusion denoising timesteps; higher values improve structure quality at the cost of inference time.
num_diffn_samples integer no ≥1; ≤5; default 1 Number of candidate structures to generate per input complex (1–5); more samples increase output diversity.
use_esm_embeddings boolean no default True Whether to use ESM protein language model embeddings to enrich sequence representations.
seed integer no default 42 Random seed for reproducible sampling.
include list[Chai1ScoreOptions] no Confidence-score outputs to include in the response. Currently disabled — pae/plddt are not returned due to large payload size. Pass an empty list or omit this field.

Chai1Molecule

Field Type Required Constraints Description
name string yes Human-readable name identifying this molecule within the complex (used in FASTA headers and MSA labels).
type Chai1EntityType yes Molecule type (protein, DNA, RNA, ligand, polymer_hybrid, water, or unknown).
sequence string | null no Amino-acid, nucleotide (DNA/RNA), or SMILES sequence for the molecule; validated against the declared entity type.
smiles string | null no Ligand structure as a SMILES string.
alignment object | null no Pre-computed MSA alignments for this protein molecule; keys are database names, values are A3M-format strings.

Chai1ScoreOptions

Allowed values: pae, plddt

Raw JSON Schema
{
  "$defs": {
    "Chai1AlignmentDatabase": {
      "enum": [
        "mgnify",
        "small_bfd",
        "uniref90"
      ],
      "title": "Chai1AlignmentDatabase",
      "type": "string"
    },
    "Chai1EntityType": {
      "enum": [
        "protein",
        "DNA",
        "RNA",
        "ligand",
        "polymer_hybrid",
        "water",
        "unknown"
      ],
      "title": "Chai1EntityType",
      "type": "string"
    },
    "Chai1FoldRequestInput": {
      "additionalProperties": false,
      "properties": {
        "molecules": {
          "description": "List of molecules forming the complex to predict (up to 5 entities per request).",
          "items": {
            "$ref": "#/$defs/Chai1Molecule"
          },
          "title": "Molecules",
          "type": "array"
        }
      },
      "required": [
        "molecules"
      ],
      "title": "Chai1FoldRequestInput",
      "type": "object"
    },
    "Chai1FoldRequestParams": {
      "additionalProperties": false,
      "properties": {
        "num_trunk_recycles": {
          "default": 3,
          "description": "Number of trunk recycling iterations; more recycles improve accuracy at the cost of inference time.",
          "maximum": 10,
          "minimum": 1,
          "title": "Num Trunk Recycles",
          "type": "integer"
        },
        "num_diffusion_timesteps": {
          "default": 200,
          "description": "Number of diffusion denoising timesteps; higher values improve structure quality at the cost of inference time.",
          "maximum": 200,
          "minimum": 50,
          "title": "Num Diffusion Timesteps",
          "type": "integer"
        },
        "num_diffn_samples": {
          "default": 1,
          "description": "Number of candidate structures to generate per input complex (1\u20135); more samples increase output diversity.",
          "maximum": 5,
          "minimum": 1,
          "title": "Num Diffn Samples",
          "type": "integer"
        },
        "use_esm_embeddings": {
          "default": true,
          "description": "Whether to use ESM protein language model embeddings to enrich sequence representations.",
          "title": "Use Esm Embeddings",
          "type": "boolean"
        },
        "seed": {
          "default": 42,
          "description": "Random seed for reproducible sampling.",
          "title": "Seed",
          "type": "integer"
        },
        "include": {
          "description": "Confidence-score outputs to include in the response. Currently disabled \u2014 pae/plddt are not returned due to large payload size. Pass an empty list or omit this field.",
          "items": {
            "$ref": "#/$defs/Chai1ScoreOptions"
          },
          "title": "Include",
          "type": "array",
          "default": []
        }
      },
      "title": "Chai1FoldRequestParams",
      "type": "object"
    },
    "Chai1Molecule": {
      "additionalProperties": false,
      "properties": {
        "name": {
          "description": "Human-readable name identifying this molecule within the complex (used in FASTA headers and MSA labels).",
          "title": "Name",
          "type": "string"
        },
        "type": {
          "$ref": "#/$defs/Chai1EntityType",
          "description": "Molecule type (protein, DNA, RNA, ligand, polymer_hybrid, water, or unknown)."
        },
        "sequence": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Amino-acid, nucleotide (DNA/RNA), or SMILES sequence for the molecule; validated against the declared entity type.",
          "title": "Sequence"
        },
        "smiles": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Ligand structure as a SMILES string.",
          "title": "Smiles"
        },
        "alignment": {
          "anyOf": [
            {
              "additionalProperties": {
                "type": "string"
              },
              "propertyNames": {
                "$ref": "#/$defs/Chai1AlignmentDatabase"
              },
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Pre-computed MSA alignments for this protein molecule; keys are database names, values are A3M-format strings.",
          "title": "Alignment"
        }
      },
      "required": [
        "name",
        "type"
      ],
      "title": "Chai1Molecule",
      "type": "object"
    },
    "Chai1ScoreOptions": {
      "enum": [
        "pae",
        "plddt"
      ],
      "title": "Chai1ScoreOptions",
      "type": "string"
    }
  },
  "additionalProperties": false,
  "properties": {
    "params": {
      "$ref": "#/$defs/Chai1FoldRequestParams",
      "description": "Optional parameters controlling this action (defaults are used when omitted)."
    },
    "items": {
      "description": "Batch of inputs to process in a single request.",
      "items": {
        "$ref": "#/$defs/Chai1FoldRequestInput"
      },
      "maxItems": 1,
      "minItems": 1,
      "title": "Items",
      "type": "array"
    }
  },
  "required": [
    "items"
  ],
  "title": "Chai1FoldRequest",
  "type": "object"
}

ResponseChai1FoldResponse

Field Type Required Constraints Description
results list[list[Chai1FoldResponseResult]] yes Per-input results, returned in the same order as the request items.
Nested types

Chai1FoldResponseResult

Field Type Required Constraints Description
cif string yes Predicted structure in mmCIF format.
pae list[list[number]] | null no Predicted aligned error (PAE) matrix, in Ångströms.
plddt list[number] | null no Per-residue pLDDT confidence score (0–100; higher is more confident).
Raw JSON Schema
{
  "$defs": {
    "Chai1FoldResponseResult": {
      "exclude_none": true,
      "exclude_unset": true,
      "properties": {
        "cif": {
          "description": "Predicted structure in mmCIF format.",
          "title": "Cif",
          "type": "string"
        },
        "pae": {
          "anyOf": [
            {
              "items": {
                "items": {
                  "type": "number"
                },
                "type": "array"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Predicted aligned error (PAE) matrix, in \u00c5ngstr\u00f6ms.",
          "title": "Pae"
        },
        "plddt": {
          "anyOf": [
            {
              "items": {
                "type": "number"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Per-residue pLDDT confidence score (0\u2013100; higher is more confident).",
          "title": "Plddt"
        }
      },
      "required": [
        "cif"
      ],
      "title": "Chai1FoldResponseResult",
      "type": "object"
    }
  },
  "properties": {
    "results": {
      "description": "Per-input results, returned in the same order as the request items.",
      "items": {
        "items": {
          "$ref": "#/$defs/Chai1FoldResponseResult"
        },
        "type": "array"
      },
      "title": "Results",
      "type": "array"
    }
  },
  "required": [
    "results"
  ],
  "title": "Chai1FoldResponse",
  "type": "object"
}

Usage

One-line summary: Multi-modal biomolecular structure prediction model capable of predicting 3D structures of proteins, DNA, RNA, ligands, glycans, and their complexes.

Overview

Chai-1 is a multi-modal foundation model for molecular structure prediction developed by Chai Discovery. It predicts the joint 3D structure of complexes containing proteins, nucleic acids (DNA/RNA), small molecule ligands, and other biomolecules from their sequences.

Chai-1 achieves accuracy competitive with AlphaFold3 on structure prediction benchmarks while being fully open-source under the Apache-2.0 license. Its key innovation is the ability to handle heterogeneous molecular complexes in a single forward pass, combining diffusion-based structure generation with transformer-based sequence processing.

The primary use case is predicting the 3D atomic coordinates of biomolecular complexes, returned in mmCIF format. This is valuable for drug discovery (protein-ligand docking), understanding molecular interactions, and structural biology research.

Architecture

Property Value
Architecture Transformer + Diffusion
Input modalities Sequence, SMILES, MSA
Input molecule types Protein, DNA, RNA, Ligand, Complex
Task Structure prediction
Output 3D atomic coordinates (mmCIF)
Variants Single variant (no size options)

Chai-1 uses a trunk network with recycling iterations followed by a diffusion module that generates 3D coordinates. ESM embeddings can optionally be used to enrich the protein sequence representations.

Capabilities & Limitations

CAN be used for: - Predicting 3D structures of single-chain proteins (up to 1024 residues) - Predicting structures of protein-protein complexes - Predicting protein-DNA and protein-RNA complexes (nucleic acids up to 3072 bases) - Predicting protein-ligand binding poses (ligands specified via SMILES, up to 128 characters) - Multi-component complexes with up to 5 molecular entities - Incorporating pre-computed MSA alignments (UniRef90, MGnify, small_bfd) for improved accuracy

CANNOT be used for: - Protein sequences longer than 1024 residues - DNA/RNA sequences longer than 3072 bases - Ligand SMILES strings longer than 128 characters - More than 5 molecular entities per complex - Batch processing (batch size is fixed at 1) - Dynamics or conformational ensembles (produces static structures)

Other considerations: - Inference is stochastic: different seeds or diffusion samples produce different structure predictions - The num_diffn_samples parameter controls how many candidate structures are generated (1-5) - More trunk recycles and diffusion timesteps improve accuracy at the cost of longer inference time - PAE and pLDDT confidence scores are currently disabled in the response due to large payload sizes

Usage Examples

from models.chai1.schema import (
    Chai1Molecule,
    Chai1EntityType,
    Chai1FoldRequest,
    Chai1FoldRequestInput,
    Chai1FoldRequestParams,
)

# Predict structure of a protein-ligand complex
request = Chai1FoldRequest(
    params=Chai1FoldRequestParams(
        num_trunk_recycles=3,
        num_diffusion_timesteps=200,
        num_diffn_samples=1,
        seed=42,
    ),
    items=[
        Chai1FoldRequestInput(
            molecules=[
                Chai1Molecule(
                    name="target_protein",
                    type=Chai1EntityType.PROTEIN,
                    sequence="MKTVRQERLKSIVRILERSKEPVSG",
                ),
                Chai1Molecule(
                    name="drug_molecule",
                    type=Chai1EntityType.LIGAND,
                    smiles="CC(=O)Oc1ccccc1C(=O)O",
                ),
            ]
        )
    ],
)
# Protein-DNA complex with MSA alignment
request = Chai1FoldRequest(
    items=[
        Chai1FoldRequestInput(
            molecules=[
                Chai1Molecule(
                    name="transcription_factor",
                    type=Chai1EntityType.PROTEIN,
                    sequence="MKTVRQERLKSIVRILERSKEPVSG",
                    alignment={
                        "uniref90": ">query\nMKTVRQERLKSIVRILERSKEPVSG\n>hit1\nMKTVRQERLKSIVRILERSKEPVSG\n",
                    },
                ),
                Chai1Molecule(
                    name="dna_target",
                    type=Chai1EntityType.DNA,
                    sequence="ATCGATCGATCG",
                ),
            ]
        )
    ],
)

Confidence Metrics

Metric Range Interpretation
pLDDT 0-100 Per-residue confidence. >90: high confidence, 70-90: moderate, <70: low confidence / disordered
PAE 0-31.75 A Predicted Aligned Error between residue pairs. Lower is better. <5 A indicates confident relative positioning

Note: PAE and pLDDT scores are currently disabled in the API response due to large payload sizes. The include parameter is accepted but forced to an empty list.

Architecture & training

Architecture

Model Type & Innovation

Chai-1 is a diffusion-based generative model for predicting 3D biomolecular structures. It combines a transformer trunk network with a diffusion module to generate atomic coordinates from sequences of proteins, nucleic acids, and small molecules.

The key innovation is multi-modal structure prediction: unlike earlier models that handle only proteins (AlphaFold2) or require separate pipelines for different molecule types, Chai-1 processes heterogeneous molecular complexes in a unified architecture. It supports proteins, DNA, RNA, ligands, glycans, and their combinations in a single forward pass.

The architecture follows a trunk-and-diffusion design: 1. Trunk network: Processes input features (sequence, MSA, optional ESM embeddings) through multiple transformer layers with recycling iterations 2. Diffusion module: Generates 3D coordinates through iterative denoising from random noise, conditioned on trunk representations 3. Confidence head: Predicts pLDDT and PAE quality metrics for the generated structure

Parameters & Layers

Component Details
Architecture Transformer trunk + Diffusion structure module
Trunk recycles 3 (default, configurable 1-10)
Trunk samples 5 (used in evaluation)
Diffusion timesteps 200 (default, configurable 50-200)
Diffusion samples 5 (used in evaluation, total 25 structures per prediction)
ESM embeddings 3 billion parameter protein language model (per-residue embeddings)
Output format mmCIF with full atomic coordinates
Training compute 128 NVIDIA A100 GPUs, batch size 128, 30 days

The paper notes that Chai-1's architecture "largely follows" AlphaFold3 (Abramson et al., 2024) with key additions including language model embedding input tracks and constraint features. Exact parameter counts are not published in the technical report.

Training Data

Property Details
Dataset PDB structures + AlphaFoldDB predicted structures
Training data cutoff 2021-01-12 (PDB release date)
Molecule types Proteins, DNA, RNA, small molecules, covalent modifications
MSA databases UniRef90, UniProt, MGnify, UniClust30+BFD (via OpenProteinSet or jackhmmer)
Template database PDB70 (same 2021-01-12 cutoff)
Evaluation set PDB structures released 2022-05-01 to 2023-01-12, non-NMR, resolution < 4.5 A, <= 2048 tokens
Filtering Low-homology: monomers and interfaces with < 40% sequence identity to training set

Loss Function & Objective

Chai-1 uses a multi-component loss combining: - Diffusion loss: Denoising score matching on atomic coordinates - Bond loss: Enforces chemical validity of predicted bond geometries (has a dedicated bond_loss_input_proj component) - Confidence loss: Trains the confidence head to predict pLDDT and PAE - Auxiliary losses: Additional structural constraints

The paper states the training strategy "largely follows" AlphaFold3 (Abramson et al., 2024). Exact loss formulations and weightings are not separately detailed in the Chai-1 technical report; the key difference is that a single model is trained (rather than separate models for separate evaluations) and constraint features (pocket, contact, docking) are each included independently with 10% probability during training.

Tokenization / Input Processing

Input molecules are specified as FASTA-like entries with entity type annotations:

  • Proteins: Standard single-letter amino acid codes (ACDEFGHIKLMNPQRSTVWY). Maximum 1024 residues.
  • DNA: Standard nucleotide codes (ACGT). Maximum 3072 bases.
  • RNA: Standard nucleotide codes (ACGU). Maximum 3072 bases.
  • Ligands: SMILES notation. Maximum 128 characters. Validated using RDKit.
  • MSA alignments: Optional A3M format alignments from UniRef90, MGnify, or small_BFD databases, provided for protein entities only.

Multi-entity complexes are encoded as multiple FASTA entries with type headers (e.g., >protein|name=chain_A). Up to 5 molecular entities per complex.

Performance & Benchmarks

Published Benchmarks

Chai-1 demonstrates competitive performance with AlphaFold3 across structure prediction tasks. Key benchmark categories include:

Protein-Ligand Prediction (PoseBusters V1, n=427)
Method Ligand RMSD <= 2 A success rate
Chai-1 77.05%
AlphaFold3 76.34%
RoseTTAFold All-Atom 42%
Chai-1 (docking mode, apo structure provided) 81.20%
Protein-Protein Complexes (low-homology eval set, n=929 interface clusters)
Method DockQ success rate (DockQ > 0.23)
Chai-1 (with MSA) 0.751 (95% CI: 0.723-0.778)
Chai-1 (no templates) 0.743
Chai-1 (single-sequence) 0.698 (95% CI: 0.668-0.728)
AlphaFold 2.3 multimer 0.677 (95% CI: 0.646-0.706)
Antibody-Protein Interfaces (n=122 clusters)
Method DockQ success rate (DockQ > 0.23)
Chai-1 (with MSA) 0.529 (95% CI: 0.438-0.620)
Chai-1 (single-sequence) 0.479 (95% CI: 0.388-0.570)
AlphaFold 2.3 multimer 0.380 (95% CI: 0.298-0.463)
Protein Monomer Prediction
Method Ca-LDDT (low-homology eval, n=271 clusters) LDDT (CASP15, n=69 targets)
Chai-1 (with MSA) 0.915 (95% CI: 0.907-0.922) 0.849
Chai-1 (single-sequence) 0.852 (95% CI: 0.834-0.867) --
AlphaFold 2.3 multimer 0.903 (95% CI: 0.895-0.911) 0.843
ESM3 (98B param) -- 0.801

On hard CASP15 targets (AF2.3 LDDT < 0.75, n=14), Chai-1 achieves 0.643 vs 0.552 for AF2.3.

BioLM Verification Results

The BioLM implementation uses the official chai-lab==0.6.1 package directly, so inference results are numerically identical to the reference implementation given the same inputs and random seed. Integration tests compare outputs against golden fixtures with RMSD thresholds to catch regressions.

Comparison to Alternatives

Model Strengths Limitations When to prefer
Chai-1 Multi-modal (protein + DNA/RNA + ligand), open-source, single-pass High GPU requirements (A100 80GB) Heterogeneous complexes, open-source requirement
Boltz-1 Open-source structure prediction Different accuracy/speed tradeoffs Alternative open-source option
AlphaFold2 Well-established, MSA-dependent accuracy Proteins only, no ligands/nucleic acids Protein-only monomer/multimer tasks
ESMFold Fast, single-sequence (no MSA needed) Proteins only, lower accuracy on hard targets Fast protein structure screening

Error Bars & Confidence

  • Stochastic outputs: different random seeds produce different structures. Run multiple samples (num_diffn_samples up to 5) and select by confidence score.
  • Confidence varies with input complexity: simple monomers tend to have higher pLDDT than large multi-chain complexes.
  • Proteins with close homologs in training data produce more confident predictions.

Strengths & Limitations

Pros

  • Handles heterogeneous biomolecular complexes (protein + DNA/RNA + ligand) in a single forward pass
  • Fully open-source (Apache-2.0) with publicly available weights
  • Competitive accuracy with AlphaFold3 on multiple benchmarks
  • Supports optional MSA input for improved protein structure accuracy
  • Integrates ESM protein language model embeddings
  • Generates multiple candidate structures per run for ensemble analysis

Cons

  • High resource requirements: requires A100 80GB GPU and 64 GB system memory
  • Slow inference: 30-120+ seconds per prediction depending on complex size
  • Batch size limited to 1 due to memory constraints
  • Maximum protein length of 1024 residues (shorter than some alternatives)
  • PAE and pLDDT confidence scores currently disabled in the API
  • Stochastic outputs require multiple samples for robust predictions

Known Failure Modes

  • Very large complexes (approaching all input limits simultaneously) may cause GPU OOM errors
  • Ligands with complex ring systems or unusual chemistry may produce poor binding poses
  • Intrinsically disordered regions will have low pLDDT scores and unreliable coordinates
  • Sequences with no homologs in training data may produce low-quality predictions
  • The model may hallucinate contacts between molecules that do not actually interact

Implementation Details

Inference Pipeline

Request
  +-- 1. Validate input molecules (sequence/SMILES/type checks)
  +-- 2. Convert molecules to FASTA format with type headers
  +-- 3. Process MSA alignments (if provided)
  |     +-- Write A3M files per database per protein
  |     +-- Merge A3M files using chai_lab utility
  +-- 4. Run chai_lab.chai1.run_inference on GPU
  |     +-- Trunk network with recycling (N iterations)
  |     +-- Diffusion module (M timesteps)
  |     +-- Generate K candidate structures
  +-- 5. Read generated mmCIF files from output directory
  +-- 6. Package CIF content into response
  +-- 7. Clean up temporary files

Memory & Compute Profile

Parameter Setting Approximate Inference Time Notes
Default (3 recycles, 200 steps, 1 sample) 30-60s Standard quality
Fast (1 recycle, 50 steps, 1 sample) 10-20s Lower quality, useful for screening
High quality (10 recycles, 200 steps, 5 samples) 120-300s Best quality, multiple candidates

GPU memory usage scales with the total number of tokens (residues + bases + ligand atoms) in the complex. The A100 80GB allocation provides headroom for the maximum supported input sizes.

Determinism & Reproducibility

  • torch.manual_seed(42): Set during CPU snapshot
  • torch.cuda.manual_seed_all(42): Set during GPU setup
  • Configurable seed parameter per request
  • Diffusion sampling is inherently stochastic; same seed produces same output
  • Different num_diffn_samples values will produce different structures even with the same seed

Caching Behavior

  • Response caching: Handled by the modal_endpoint decorator; responses are cached per unique input + parameter combination.
  • R2 caching: Model weights are cached in R2 with fallback to the chai-lab library's native download mechanism.
  • Cache key composition: Determined by the modal_endpoint decorator based on request content.

Versions & Changelog

Version Date Changes
v1 2024 Initial implementation using chai-lab v0.6.1

Biology

Molecule Coverage

Primary Molecule Type(s)

Chai-1 is designed for multi-modal biomolecular structure prediction covering:

  • Proteins: Globular proteins, enzymes, antibodies, and peptides from all domains of life. Handles single chains up to 1024 residues and multi-chain complexes. Standard 20 canonical amino acids only.
  • DNA: Double-stranded and single-stranded DNA up to 3072 bases. Useful for modeling protein-DNA interactions such as transcription factor binding.
  • RNA: Single-stranded and structured RNA up to 3072 bases. Supports modeling of protein-RNA complexes, riboswitches, and aptamer interactions.
  • Small molecule ligands: Drug-like molecules and cofactors specified via SMILES notation. Enables protein-ligand docking and binding pose prediction.
  • Complexes: Heterogeneous assemblies combining any of the above molecule types (up to 5 entities per complex).

Cross-Applicability

Molecule Type Applicability Evidence Caveats
Globular proteins High Primary training target; competitive with AlphaFold3 Best with MSA; single-sequence mode less accurate
Antibodies High Protein structure prediction applies to antibody Fv regions CDR loop modeling accuracy varies; no antibody-specific training
Enzymes High Protein-ligand docking enables active site modeling Does not predict catalytic mechanism or transition states
Peptides Moderate Short sequences within the 1024 residue limit Very short peptides (<10 residues) may lack structural context
Membrane proteins Moderate Can predict structure but trained primarily on soluble proteins No lipid bilayer context; transmembrane regions may be less accurate
Nucleic acid complexes High Explicit support for DNA and RNA entities Long nucleic acids (>3072 bases) not supported
Drug-like ligands High SMILES input with RDKit validation Complex macrocyclic or metalloorganic ligands may produce poor poses

Biological Problems Addressed

Structure Prediction of Biomolecular Complexes

Determining the three-dimensional structure of biomolecular complexes is fundamental to understanding how biological molecules interact. Experimental methods like X-ray crystallography, cryo-EM, and NMR spectroscopy are time-consuming, expensive, and not always feasible for all complex types.

Chai-1 addresses this by computationally predicting the 3D atomic coordinates of multi-component complexes from sequence information alone. Given protein sequences, nucleic acid sequences, and/or small molecule SMILES strings, it generates plausible 3D structures in mmCIF format.

The output represents a predicted static structure showing the spatial arrangement of all atoms, including how the different molecular components contact each other. This is directly useful for understanding binding interfaces, identifying key interacting residues, and guiding experimental design.

Protein-Ligand Docking

Understanding how small molecules (drugs, cofactors, metabolites) bind to protein targets is central to drug discovery. Traditional computational docking methods require a known protein structure and use physics-based scoring functions that can be inaccurate.

Chai-1 performs structure prediction and docking simultaneously: given a protein sequence and a ligand SMILES string, it predicts the complex structure including the ligand binding pose. This is particularly valuable in early-stage drug discovery when: - No experimental structure of the target protein exists - The binding site location is unknown - Multiple binding modes need to be explored (via multiple diffusion samples)

Protein-Nucleic Acid Interactions

Many biological processes depend on protein-DNA and protein-RNA interactions: transcription factor binding, CRISPR-Cas systems, ribosomal machinery, and RNA-binding protein regulation. Predicting these interaction structures helps understand gene regulation and RNA biology.

Chai-1 can model protein-nucleic acid complexes by accepting both protein and DNA/RNA sequences as input entities. The predicted structure reveals the binding interface, including which protein residues contact which nucleotide bases.

Antibody-Antigen Modeling

Therapeutic antibody development requires understanding how antibody variable regions interact with target antigens. Chai-1 can predict antibody-antigen complex structures, providing insights into: - Epitope identification (which antigen residues are contacted) - Paratope characterization (which antibody residues drive binding) - Binding mode comparison across antibody candidates

Applied Use Cases

Chai-1 has been evaluated in several independent benchmarking studies since its release:

  • Cross-docking benchmark (PoseX, 2025): A large-scale evaluation of 25 structure prediction methods found co-folding approaches including Chai-1 converge at approximately 60–61% success on cross-docking tasks, outperforming classical physics-based docking tools.
  • GPCR-peptide binding (2025): Benchmarking on 124 GPCR ligands with 1,240 decoys compared Chai-1 against AlphaFold2, AlphaFold3, and ESMFold for peptide binding prediction.
  • Flexible protein-ligand docking review (2025): A systematic review positions Chai-1 among leading deep learning methods for flexible receptor docking in drug discovery pipelines.
  • SARS-CoV-2 Mac1 prospective evaluation (2025): Testing on 557 Mac1-ligand poses showed Chai-1 achieves >50% under 2 Å RMSD, comparable to AlphaFold3 and Boltz-2.
  • FoldBench comprehensive benchmark (2025): Evaluation across 1,522 assemblies and 9 tasks (protein-ligand, protein-RNA, protein-DNA, antibody-antigen) demonstrates Chai-1's breadth across complex types.
  • Protein-peptide docking (PepPCBench, 2025): Benchmarked on 261 protein-peptide complexes (5–30 residues) for docking accuracy and scoring alongside AlphaFold3, HelixFold3, and RFAA.

Chai-1's multi-modal capability enables several practical workflows:

  • Virtual screening: Dock libraries of small molecules against a protein target to identify candidate binders
  • Binding site identification: Predict where a ligand binds on a protein of unknown structure
  • Protein engineering: Model how mutations affect complex formation with binding partners
  • Structural biology: Generate starting models for molecular replacement in crystallography or for fitting into cryo-EM density maps

Predecessor Models

  • AlphaFold2 (2021): Revolutionized protein structure prediction but limited to proteins (no ligands, DNA/RNA). Required MSA input. Chai-1 extends this to multi-modal complexes.
  • RoseTTAFold (2021): Alternative protein structure prediction approach. Single-molecule only.

Complementary Models

  • ESM2: Protein language model whose embeddings can be used by Chai-1 (use_esm_embeddings=True) to improve structure prediction quality, especially for proteins without good MSA coverage.
  • RF3: Alternative open-source AF3-like structure prediction model in this catalog. Can be used as a second opinion or for ensemble predictions.

Alternative Models

Alternative Advantage over Chai-1 Disadvantage
AlphaFold3 Potentially higher accuracy on some benchmarks Not open-source; API access only
Boltz-1 Different model architecture; useful for ensemble May differ in accuracy on specific complex types
ESMFold Much faster inference (~1 second); no MSA needed Proteins only; lower accuracy on hard targets
AlphaFold2 Well-established; extensive validation literature Proteins only; no ligand/DNA/RNA support

Biological Background

Biomolecular Structure

Biological molecules -- proteins, DNA, RNA, and small molecules -- carry out their functions through specific three-dimensional arrangements of atoms. The spatial structure determines which molecules can interact, how enzymes catalyze reactions, how drugs bind to targets, and how genetic information is read and regulated.

Proteins are chains of amino acids that fold into complex 3D shapes. The structure hierarchy includes: - Primary: Linear amino acid sequence - Secondary: Local folding patterns (alpha-helices, beta-sheets) - Tertiary: Overall 3D arrangement of a single chain - Quaternary: Assembly of multiple chains into complexes

Nucleic acids (DNA and RNA) adopt specific structures through base pairing and stacking interactions. DNA typically forms a double helix, while RNA folds into diverse structures including hairpins, loops, and pseudoknots.

Small molecules (ligands) bind to proteins at specific sites, often triggering biological responses. Drug molecules are designed to bind specific protein targets to modulate their activity.

Why Structure Prediction Matters

Experimental structure determination is slow (months to years per structure) and expensive. As of 2024, the Protein Data Bank contains ~220,000 experimentally determined structures, but there are hundreds of millions of known protein sequences. Computational structure prediction fills this gap, enabling:

  • Drug discovery: Understanding target structure accelerates drug design
  • Protein engineering: Structural models guide rational mutagenesis
  • Basic biology: Structure reveals function and mechanism
  • Diagnostics: Understanding disease-associated mutations at the structural level

The Multi-Modal Challenge

Most biological functions involve interactions between different molecule types. A transcription factor (protein) binds DNA to regulate gene expression. A ribosome (protein + RNA complex) reads mRNA to synthesize proteins. A drug (small molecule) binds a protein to treat disease. Predicting these multi-component structures requires models that understand the physics and chemistry of diverse molecular interactions simultaneously, which is the core capability that Chai-1 provides.


Sources & license

License: Apache-2.0 (text)

Papers

  • Chai-1: Decoding the molecular interactions of life — bioRxiv preprint, 2024 · DOI

Source repositories

Cite

@article{chaidiscovery2024chai1,
  title={Chai-1: Decoding the molecular interactions of life},
  author={{Chai Discovery}},
  year={2024}
}