PredictionMetadata type, cross-model comparison, and the include_fields filtering mechanism.
PredictionMetadata
Every output’smetadata field is a PredictionMetadata instance with timing and model information.
Name of the model (e.g.,
"ESMFold", "ESM-2", "Chai-1", "Boltz-2").Version string of the model.
Number of residues for each input sequence (excluding chain separators).
Time spent in preprocessing (seconds).
Time spent in model inference (seconds).
Time spent in postprocessing (seconds).
Per-model output types
Each model page documents its full output dataclass:ESMFoldOutput— returned byESMFold.fold()ESM2Output— returned byESM2.embed()Chai1Output— returned byChai1.fold()Boltz2Output— returned byBoltz2.fold()
Cross-model comparison
| Field | ESMFold | ESM2 | Chai-1 | Boltz-2 |
|---|---|---|---|---|
metadata | Yes | Yes | Yes | Yes |
atom_array | Yes | — | Yes | Yes |
embeddings | — | Yes | — | — |
plddt | Yes | — | Yes | Yes |
pae | Yes | — | Yes | Yes |
pde | — | — | Yes | Yes |
ptm | Yes | — | Yes | — |
iptm | — | — | Yes | — |
confidence | — | — | — | Yes |
pdb | Yes | — | — | Yes |
cif | Yes | — | Yes | Yes |
chain_index | Yes | Yes | — | — |
residue_index | Yes | Yes | — | — |
hidden_states | — | Yes | — | — |
s_s / s_z | Yes | — | — | — |
Filtering with include_fields
All models support an include_fields configuration key that controls which optional fields are returned. This is useful for reducing memory usage and transfer time when you only need specific outputs.
include_fields are set to None. The following fields are always included regardless of the filter:
- Folding models:
metadata,atom_array - Embedding models:
metadata,embeddings,chain_index,residue_index
