Skip to main content

    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., P68871 for 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

    1. Enter a protein sequence via direct input or UniProt ID
    2. Generate embeddings with default settings
    3. Review attention maps for predicted contacts
    4. Download embeddings for downstream ML tasks

    Protein similarity comparison

    1. Submit two or more sequences in a single batch
    2. Generate per-sequence embeddings for each
    3. Compute cosine similarity between embedding vectors
    4. Identify functionally related proteins even with low sequence identity

    Batch embedding for clustering

    1. Prepare a multi-sequence FASTA file with your protein dataset
    2. Submit as a batch job
    3. Download per-sequence embeddings for all sequences
    4. Run clustering (k-means, HDBSCAN) on the embedding vectors
    5. Visualize clusters with t-SNE or UMAP projections

    Feature extraction for ML models

    1. Generate per-residue embeddings for your training set
    2. Download NPY/PT tensors
    3. Use embeddings as input features for activity prediction, localization, or stability models
    4. 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

    Was this page helpful?

    Loading...