Skip to main content
ESMFold predicts protein 3D structure directly from a single amino acid sequence using Meta’s end-to-end language model approach. It does not require multiple sequence alignments (MSAs), making it fast for rapid prototyping.

Quick example

Methods

.fold()

Predict the 3D structure of one or more protein sequences.
str | Sequence[str]
required
A single amino acid sequence string or a list of sequences. Use ":" to separate chains in a multimer (e.g., "CHAIN_A:CHAIN_B").
dict | None
default:"None"
Per-call configuration overrides. Only dynamic config keys can be set here — static keys raise ValueError. See Configuration.
Returns: ESMFoldOutput (see Output below)

Output

The ESMFoldOutput dataclass returned by .fold().

Always included

PredictionMetadata
Prediction metadata with timing information. See PredictionMetadata.
list[AtomArray] | None
List of Biotite AtomArray objects, one per input sequence. Always generated.

Confidence metrics

np.ndarray | None
Per-residue predicted local distance difference test. Shape: (batch, residue, 37).
np.ndarray | None
Predicted TM-score (scalar per sample).
np.ndarray | None
Predicted aligned error. Shape: (batch, residue, residue).
np.ndarray | None
Maximum predicted aligned error (scalar per sample).

Structure representations

list[str] | None
PDB-formatted structure strings. Only generated when include_fields contains "pdb" or "*".
list[str] | None
mmCIF-formatted structure strings. Only generated when include_fields contains "cif" or "*".

Index arrays

np.ndarray | None
Per-residue chain assignment. Shape: (batch, residue).
np.ndarray | None
Per-residue residue numbering. Shape: (batch, residue).

Model internals

np.ndarray | None
Backbone frames. Shape: (model_layer, batch, residue, 7).
np.ndarray | None
Sidechain frames. Shape: (model_layer, batch, residue, 8, 4, 4).
np.ndarray | None
Torsion angles. Shape: (model_layer, batch, residue, 7, 2).
np.ndarray | None
Intermediate structure module states. Shape: (model_layer, batch, residue, dim).
np.ndarray | None
Single representation from the trunk. Shape: (batch, residue, 1024).
np.ndarray | None
Pair representation from the trunk. Shape: (batch, residue, residue, 128).
np.ndarray | None
Distogram logits. Shape: (batch, residue, residue, 64).

Configuration

These keys can be set via config={} at initialization or options={} per call (unless marked static).

Multimer prediction

Separate chains with ":" in the sequence string: