ESM-2 icon

ESM-2

(fair-esm (unpinned))

Analyze protein sequences and generate embeddings. Learn more

Input

0 credits

Output

Configure inputs to begin

Set options on the left, then click “Submit job”.

What is ESM-2?

ESM-2 is a family of protein language models developed by Meta AI. ProteinIQ runs the 650 million parameter model, esm2_t33_650M_UR50D, which has 33 transformer layers and produces 1280 features per amino acid. It learns sequence representations through masked amino acid prediction rather than requiring an experimental structure as input.

An embedding is a numerical representation of a residue in its sequence context. The downloaded arrays can become inputs to a classifier, clustering analysis, or other downstream model. Individual embedding dimensions do not correspond to named physical properties or probabilities.

This tool returns embeddings, not predicted coordinates, function annotations, or mutation scores. For a predicted protein structure, use ESMFold.

How to use ESM-2 online

Paste protein sequences in FASTA format, upload a sequence file, or fetch sequences by RCSB PDB ID. Select a representation layer and whether to include mean pooling. ProteinIQ returns downloadable NumPy arrays for every sequence, with a heatmap preview for inspecting the embeddings without a local model installation.

Inputs and settings

Input or settingAccepted values and behavior
Protein sequence(s)FASTA text or .fasta, .fa, and .txt files. An RCSB fetch option retrieves sequences from a PDB entry.
Representation layer33 (default), 24, 12, or 6. One layer is extracted per run.
Include mean poolingOn by default. Adds one vector per sequence alongside the per-residue array.

Keep the checkpoint and representation layer consistent when combining embeddings into a dataset. Equal array dimensions do not make features from different layers interchangeable. Layer 33 is the default starting point; compare layers on held-out data when choosing features for a predictive model.

How does ESM-2 work?

ESM-2 uses a transformer architecture similar to large language models, but trained on protein sequences instead of text. The model processes sequences using self-attention, where each amino acid attends to all other positions to build context-aware representations.

Masked language modeling

During training, amino acids are masked and the model predicts their identities from surrounding sequence context. The hidden representations learned for this task can then be extracted without training a new model for each input sequence.

Embedding extraction

The per-residue output has shape (L, 1280), where L is the sequence length. ProteinIQ removes the beginning and end special tokens before saving the array. With mean pooling enabled, it averages those residue rows into a single vector of shape (1280,).

Understanding the results

ESM-2 outputs embeddings in NPY format. File names use the sequence label so that arrays can be matched back to their FASTA records.

FileShapeIntended use
<label>_embeddings.npy(L, 1280)Residue-level features, such as inputs to a model that labels each sequence position.
<label>_mean_embedding.npy(1280,)One feature vector per protein for sequence-level classification or clustering. Only included when mean pooling is enabled.

Per-residue embeddings

Array row zero corresponds to the first input residue. For a 76-residue sequence, the expected shape is (76, 1280). A residue numbered 42 in that input is at array row 41; PDB residue numbers are not stored as the array index.

Mean embeddings

Mean pooling gives proteins of different lengths the same feature-vector size. It discards the separate representation of each position, so use the per-residue array when a downstream task needs to locate a motif or label individual residues.

Heatmap preview

The preview samples embedding dimensions and, for longer sequences, residue positions. Its colors are normalized within each sequence for display. Download the NPY files for numerical comparisons; heatmap colors are not confidence scores, and similar-looking plots do not establish functional similarity.

Use cases

ESM-2 embeddings can be reused as fixed input features for a classifier or regressor. Preserve sequence identifiers, layer selection, and the train/test split alongside the arrays so results remain reproducible.

Clustering or cosine similarity can help prioritize sequences for further investigation. An embedding neighbor is a candidate relationship, not proof of shared function. HMMER can test sequence homology against a supplied protein database and report statistical evidence for matches.

For variant studies, these arrays can support a model trained on measured effects. A large distance between wild-type and mutant embeddings alone does not establish whether a mutation is beneficial, harmful, or neutral.

Limitations

Sequence embeddings do not explicitly describe ligands, solvent, experimental conditions, or the chemistry of post-translational modifications. Use protein sequence input rather than structure coordinates or chemical modification notation.

Memory use increases with sequence length. ProteinIQ processes each submitted sequence as a whole; this tool does not automatically split long proteins into chunks. Splitting a sequence externally changes the context available to the model, so chunk-derived features should not be treated as equivalent to full-sequence embeddings.

The usefulness of embeddings depends on the downstream task and its evaluation data. Test performance on the kinds of proteins being studied, especially when applying a model trained on natural sequences to engineered designs.

Table of contents

Related tools

ESM-C

ESM-C

ESM-C generates protein sequence representations and optional forward-pass sequence logits using Biohub protein language models. It supports the 300M, 600M, and 6B model variants for embedding extraction from tokenizer-compatible protein sequences.

sequence-analysisai-powered+4
AbLang-2

AbLang-2

Antibody-specific language model for predicting non-germline residues (NGL) in antibody sequences. AbLang-2 addresses germline bias in existing antibody language models by focusing on somatic hypermutation patterns, enabling more accurate prediction of amino acid likelihoods and generation of context-aware embeddings for antibody sequences.

sequence-analysisai-powered+5
ProstT5

ProstT5

ProstT5 is a protein language model that bidirectionally translates between amino acid sequences and 3Di structural tokens. It enables fast structure-based searches and inverse folding by encoding structural information into a sequence-like representation.

structure-predictionsequence-analysis+3
CANYA

CANYA

Predict protein aggregation nucleation propensity from amino acid sequences using the Lehner Lab CANYA neural network.

sequence-analysismachine-learning+5
Protein-Sol

Protein-Sol

Predict protein solubility from amino acid sequence using the University of Manchester Protein-Sol method.

sequence-analysisempirical+3
pySCA

pySCA

Statistical Coupling Analysis for protein families. Identifies co-evolving residue groups (sectors) from multiple sequence alignments using the SCA method from the Ranganathan Lab.

sequence-analysiscoevolution-analysis+3
AbLang

AbLang

Restore missing antibody residues, generate 768-dimensional sequence or residue representations, and calculate amino-acid likelihood scores with the original AbLang heavy- and light-chain models.

sequence-analysisdeep-learning+2
EvoIF

EvoIF

Score protein mutations with evolutionary profiles from homologous sequences and inverse folding. EvoIF returns a dimensionless log-odds score for each submitted single or multi-site mutation.

protein-analysisproperty-prediction+3
Prot2Prop

Prot2Prop

Predict multiple protein developability properties from amino-acid sequences using a multitask ProstT5 adapter.

protein-analysisdeep-learning+5
ThermoMPNN

ThermoMPNN

Predict protein thermostability changes (ΔΔG) for point mutations using a graph neural network. Enables computational saturation mutagenesis screening to identify stabilizing mutations.

protein-analysisproperty-prediction+3