Example: Browse SAE Features
Explore the 16,384 SAE features that characterize proteins in the Atlas.
List all features
Endpoint: GET /esm/protein/api/v1alpha1/features
Returns the full catalog of 16,384 features with minimal fields
(feature_index, label, description). No pagination or filtering — call
once and slice client-side.
curl
curl "https://biohub.ai/esm/protein/api/v1alpha1/features"
Python
import httpx
response = httpx.get("https://biohub.ai/esm/protein/api/v1alpha1/features")
features = response.json()["data"]
for feature in features[:10]:
print(feature["feature_index"], feature["label"])
Response
{
"data": [
{
"feature_index": 0,
"label": "Aromatic residue cluster",
"description": "Activates on aromatic side-chain clusters …"
}
]
}
(data contains all 16,384 features.)
Get details for a single feature
Endpoint: GET /esm/protein/api/v1alpha1/features/{feature_index}
Returns rich metadata for one feature: longform description, top activating UniRef90 and SwissProt proteins, decoder nearest-neighbor features, and activation statistics.
curl
curl "https://biohub.ai/esm/protein/api/v1alpha1/features/1234"
Python
import httpx
response = httpx.get("https://biohub.ai/esm/protein/api/v1alpha1/features/1234")
feature = response.json()
print(feature["label"], "—", feature["summary"])
print("Top UniRef proteins:", feature["top_100_uniref_ids"][:5])
print("Decoder neighbors:", feature["decoder_nearest_neighbors"][:5])
Response
{
"feature_index": 1234,
"label": "Folate cofactor-binding pocket",
"summary": "Short blurb describing the feature.",
"description": "Longer write-up …",
"activation_pattern": "Domain-specific",
"category": "Functional",
"exemplar_protein_families": "Pfam: PF00185, PF01872",
"uniref90_frequency": 4231,
"uniref90_idf": 7.42,
"uniref90_max_activation": 18.5,
"top_100_uniref_ids": [
{"uniref_id": "UPI002409BCBC", "activation": 18.5}
],
"top_swissprot_activations": [
{"uniprot_id": "Q8CHH5", "activation": 17.38}
],
"decoder_nearest_neighbors": [80, 5236, 7143],
"threshold": 0.12
}