ESM-3 quickstart
Step-by-step guide to generating protein embeddings with ESM-3 on the platform.
You want ESM-3 embeddings for a protein — the feature vectors that power alignment-free similarity, clustering, and ML models — and this runs it end to end: enter the sequence (or fetch it by UniProt ID), keep the default model, submit, and download the embedding vectors, usually within 5–30 seconds per sequence.
Quick protein embedding generation with .bloom* platform
ESM-3 is a multimodal protein language model that produces high-dimensional embeddings encoding functional and evolutionary information. This guide walks through generating your first embeddings, from sequence input to similarity analysis.
Step-by-step embedding workflow
Access the ESM-3 tool
Navigate to ESM-3 in the .bloom* tool selector, or ask Ivy directly:
- "Generate embeddings for this protein using ESM-3"
- "Run ESM-3 on my sequence"
Prepare your protein sequence
Option A: Direct sequence entry (fastest)
- Click Sequence in the input section
- Paste your amino acid sequence (e.g.,
MKTAYIAKQRQISFVKSHFSRQDILDLWIYHTQGYFPDWQNYTPGPGIRYPLTFGWCYKLVPVEPEK) - .bloom* validates the sequence in real time
- For FASTA format, include a header line starting with
>
Option B: UniProt lookup
- Click UniProt ID in the input section
- Enter a UniProt accession (e.g.,
P68871for hemoglobin subunit beta) - .bloom* fetches the canonical sequence automatically
Option C: From previous jobs
- Select sequences from BLAST searches, ESMFold predictions, or other protein analysis tools
- .bloom* handles multi-sequence outputs and format conversion
Configure embedding parameters
Basic settings (recommended for first run):
- Keep default model size and parameters
- Job name: Enter a descriptive name or leave blank
Advanced settings (via gear icon):
- Model size: Select from available ESM-3 model variants (esm3_sm, esm3_md, esm3_lg — larger = better embeddings, slower)
- Pooling: mean, cls, or none (none returns unpooled per-residue embeddings)
- Return attention: Enable to extract attention maps for contact prediction
Submit and monitor the job
- Click Generate Embeddings to start the job
- .bloom* shows real-time progress
- Typical completion: 5-30 seconds per sequence depending on length and model size
- Batch submissions process sequences in parallel
Review and analyze results
Embedding summary:
- Embedding dimensions (sequence length x hidden dimension)
- Model variant used
- Per-sequence pooled embedding vector
Visualization options:
- Attention heatmap showing residue-residue interaction strengths
- Per-residue embedding magnitude plot highlighting important positions
- t-SNE or UMAP projection for batch embedding comparison
Download options:
- NPY/PT: Raw embedding tensors for custom ML pipelines
- JSON: Metadata with pooled embeddings and attention maps
- CSV: Per-residue embedding values in tabular format
Common embedding scenarios
Single protein analysis
- Enter a protein sequence via direct input or UniProt ID
- Generate embeddings with default settings
- Review attention maps for predicted contacts
- Download embeddings for downstream ML tasks
Protein similarity comparison
- Submit two or more sequences in a single batch
- Generate per-sequence embeddings for each
- Compute cosine similarity between embedding vectors
- Identify functionally related proteins even with low sequence identity
Batch embedding for clustering
- Prepare a multi-sequence FASTA file with your protein dataset
- Submit as a batch job
- Download per-sequence embeddings for all sequences
- Run clustering (k-means, HDBSCAN) on the embedding vectors
- Visualize clusters with t-SNE or UMAP projections
Feature extraction for ML models
- Generate per-residue embeddings for your training set
- Download NPY/PT tensors
- Use embeddings as input features for activity prediction, localization, or stability models
- Per-sequence pooled embeddings work well for whole-protein classification tasks
Quality control checklist
Before submission
- Only standard amino acids (ACDEFGHIKLMNPQRSTVWY) in the sequence
- Sequence length is within supported range (10-2,048 residues)
- No ambiguous characters (B, J, O, U, X, Z)
- FASTA headers are unique if submitting multiple sequences
After generation
- Embedding dimensions match expected shape (length x hidden_dim)
- No NaN or infinity values in the embedding vectors
- Attention maps show reasonable patterns (not all zeros or uniform)
- Batch embeddings have expected count matching input sequences
Next steps after embedding generation
Similarity analysis:
- Compute pairwise cosine similarity for protein comparison
- Build a similarity network for functional annotation transfer
- Compare embeddings from wild-type and mutant sequences to estimate variant effects
Machine learning:
- Use per-sequence embeddings as features in scikit-learn, PyTorch, or XGBoost models
- Fine-tune downstream classifiers for specific prediction tasks
- Combine ESM-3 embeddings with molecular descriptors from DeepChem
Structure prediction:
- Use ESMFold for 3D structure prediction of the same sequences
- Compare ESM-3 attention-based contact predictions with ESMFold-predicted structures
- Feed structural insight back into function prediction pipelines
Read next
Was this page helpful?
How ESM-3 results compare to the bench
What the ESM-3 surfaces on this platform actually run, what the published ESM-3 figures grade, and why the two are not the same model.
ESM-3 troubleshooting
Fix ESM-3 failures: the 2,048-token window, out-of-memory on long chains, weak embeddings under 30 residues, and similarity that shifts with pooling mode.