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.
str
Name of the model (e.g.,
"ESMFold", "ESM-2", "Chai-1", "Boltz-2").str
Version string of the model.
list[int] | None
Number of residues for each input sequence (excluding chain separators).
float | None
Time spent in preprocessing (seconds).
float | None
Time spent in model inference (seconds).
float | None
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
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
