License: ESM C (Cambrian) is open source and free for academic and commercial use under an MIT license. Please refer to the license for full terms.
Proto is not affiliated with Biohub. This toolkit is open source and builds on the implementation produced by this organization. Product names, logos, and trademarks are the property of their respective owners.
Biohub/esm
Language Modeling Materializes a World Model of Protein Biology
Open Notebook
Open notebook
Background
ESM C (Biohub) is a protein language model trained with the masked language modeling objective: during training, residues are hidden at random and the model learns to predict the original amino acid from the surrounding residues on both sides. For each residue it produces a contextual numerical representation (an embedding), along with per-position scores (logits) over the 20 standard amino acids. ESM C is distributed in the sameesm software package as ESM3, but does not include ESM3’s structure track or sequence-generation capability; it provides only embeddings and per-position scores. Three model sizes are wrapped here, all MIT-licensed: esmc_300m (embedding size 960, 30 layers), esmc_600m (embedding size 1152, 36 layers), and esmc_6b (embedding size 2560, 80 layers). The 6B model is the largest ESM C variant and underpins both the ESM Atlas and the ESMFold2 structure predictor, which is trained on top of a frozen ESM C 6B.
Tools
Toolkit Notes
These apply to every ESM C tool in this toolkit (esmc-embedding).
- ESM C shares the Biohub
esmenvironment with ESM3. Both are distributed in the sameesmpackage and use a single shared on-disk environment (biohub_esm); installing either tool installs the environment for both. - All checkpoints are MIT-licensed and ungated.
esmc_300m,esmc_600m, andesmc_6bare all free for academic and commercial use, and none require a HuggingFace token. Weights download automatically on first use;esmc_6bdownloads roughly 25 GB. batch_sizecontrols memory usage. Lower it if you run out of GPU memory; raise it to process short sequences faster. For repeated single-batch calls, useToolInstance.persist_tool("esmc")to keep the model loaded in memory between calls; for multi-GPU or large-batch runs, preferToolPool.
Infrastructure Guides
The following guides cover how to run tools efficiently and at scale.Tool Persistence
Keep a tool’s model warm across calls instead of reloading it every invocation.
Device Management
How GPUs are allocated to tools and how to target specific devices.
Parallel Execution
Fan a batch of inputs out across multiple GPUs.

Biohub