Two protein models, compared layer by layer · 4,898 protein chains · 1,374,765 residues

Do two models given
opposite halves of a protein
learn the same biology?

A protein is a chain of amino acids that folds into a shape, and the shape is what lets it work. This page compares two machine-learning models that were each shown only one half of that: ESM-2 reads the amino-acid sequence and never sees a coordinate; ProteinMPNN reads the 3-D backbone and never sees the amino-acid sequence. If sequence and shape are two views of one biology, the two should end up describing proteins the same way. They do only partly — and about half of what standard measurements report as agreement between them turns out to be the one thing both were trained to output: the amino acid at each position.

Some shared directions, not many

0.131 CKA · centred kernel alignment

Each model turns every residue into a list of numbers. Lay out the same 1.4 million residues both ways and the two layouts share some of the same axes. On this measure two copies of one model score 0.849 and an untrained network scores 0.038; ESM-2 against ProteinMPNN scores 0.131.

Not the same map

0.030 Mutual k-NN · 10 nearest neighbours

Ask each model which ten residues are most like a given one, and the two lists almost never overlap: 0.030 of neighbours in common, against 0.796 for two copies of one model. The two arrange proteins by different principles — ESM-2 by chemical identity, ProteinMPNN by physical environment.

Not interchangeable

77 / 108 Model stitching

Hand ProteinMPNN's description of a residue to ESM-2 and let ESM-2's later layers finish the job. The result is clearly worse than ProteinMPNN alone in 77 of 108 tests, including every test that enters ESM-2's first 4 layers. Untrained layers pass the description through unchanged; trained ones lose part of it. Fed the other way, into ProteinMPNN, ESM-2's description loses part of itself too.

Why the raw scores overstate it. Both models are trained to output the amino acid at each position, so they agree that position 47 is a leucine before they agree on anything else. That shared answer accounts for about half of the raw CKA score (0.258 → 0.131), and another common measure, SVCCA (singular-vector canonical correlation analysis), returns 69% of its value even on scrambled data. The agreement scores above are read with the shared answer subtracted.
What is new
  1. Both models are trained to guess the amino acid at each position, so they agree on that before they agree on anything else. This page finds where in the network that shared answer sits — at ESM-2's very first layer — subtracts it, and checks the subtraction against two references: two copies of one model, whose agreement is certainly real and must survive, and an untrained network, whose agreement cannot be real and must vanish.
  2. Every score is read against a ladder of reference points — the same model trained twice, two models that share an input, untrained networks, and each measure's own score on scrambled data. One standard measure turns out to be mostly its scrambled score, and to grow with the size of the model.
  3. Agreement is tested by use as well as by geometry: ProteinMPNN's description is fed into ESM-2 at every layer and scored against ProteinMPNN alone.
All the code is public. Every number on this page is produced by the pipeline in this repository — extraction, the controls, and the figures. Natalija-Stepurko/seq-structure-convergence The embeddings are public too. All nine models at every layer: 10,045 residues from 35 proteins aligned row for row, and one averaged vector for each of 4,894 proteins, with labels and reference scores. A test bed for measures of representation similarity. Hugging Face dataset More of my work. Other studies and what I am working on now. natalija-stepurko.com
The question

If sequence and shape are two views of one biology, two models should agree

Everything a protein does is supposed to follow from its shape, and its shape from its sequence. That chain of reasoning is the foundation of structural biology, and it implies something testable about machine models: a model that has only ever read sequences and a model that has only ever read coordinates are looking at two views of the same object. Given enough of each, they should arrive at the same internal picture of proteins. This is the protein version of a broader claim — that large models trained on different data converge on a shared representation of the world (Huh et al., 2024).

It matters practically. It is the assumption behind using one model's output in place of the other's, behind combining them, and behind treating either as a general-purpose description of a protein. If it holds, the two are interchangeable in ways that would save a great deal of work. If it holds only partly, it matters exactly where the limit falls.

AgreementA score between two models' descriptions of the same residues, from one of three measures. A number, not a claim.
ConvergenceThe claim that agreement is high for a reason other than shared inputs or a shared training target. What this page is testing.
The answer keyThe amino-acid identity at each position, which both model families are trained to output. The artefact this page removes.
What was compared

One pair is the experiment; the rest set the scale

Everything detailed below — the maps, the layer grids, the stitching, the property tests — is ESM-2 35M (sequence) against the ProteinMPNN encoder (structure). They are matched in the way that matters here: both are small, both produce one description per residue for the same residues, and they read opposite halves of a protein.

Transformer · fill-in-the-blank on sequence ESM-2
Sees
The amino-acid sequence. Never any coordinates.
Learns by
Hiding residues and guessing them back from context — like a language model over protein "text".
How
Attention: every residue looks at every other.
Architecture
Transformer, 12 layers, 35M parameters.
Graph neural network (GNN) · sequence design from shape ProteinMPNN
Sees
Backbone atom coordinates. Never the sequence.
Learns by
Being shown a shape and guessing which amino acids would fold into it.
How
Message passing: each residue exchanges information with its 48 nearest neighbours in space.
Architecture
Message-passing GNN, 3 encoder and 3 decoder layers, 1.7M parameters; this page reads the encoder.

All comparisons use one fixed set of 4,898 protein chains with experimentally solved structures, one for each CATH S35 cluster, 1,374,765 residues in total. Both models describe every one of those residues, so each comparison is residue-for-residue. Every agreement score on this page is an estimate over 50 independent subsamples of 8,000 residues, drawn whole chain at a time, with a 95% interval, because residues within a chain are not independent; probe scores carry the spread across 5 independent refits instead.

What the dataset covers: folds, organisms, lengths, secondary structure

Fold class (CATH)

α/β2,476
Mainly α1,199
Mainly β1,072
Special102
Few secondary structures49

39 architectures · 713 topologies · 1,856 homologous superfamilies. Class of the CATH domain each chain was chosen for.

Organism

Bacteria2,221
Eukaryota2,022
Archaea255
Viruses208
No UniProt match192

Kingdom of the UniProt entry each chain maps to.

Length (residues per chain)

40–99642
100–1991,354
200–2991,040
300–399811
400–599728
600–992323

Median 241, range 40–992.

Secondary structure (share of residues)

Helix32.5%
Strand16.6%
Coil50.9%

P-SEA on the deposited coordinates; 89 residues unassigned.

The reference models that set the scale
Also used, as reference points ReadsArchitectureWhy it is here
CARP-38Msequence onlyDilated convolutional network, 38M parameters A sequence model built on a completely different design (stacked convolutions, not attention) — tests whether anything depends on the design.
ESM-IF1coordinates onlyGraph neural network (GNN) built from geometric vector perceptrons, feeding a transformer; 142M parameters A second, larger structure model.
ESM-2 650Msequence onlyTransformer, 33 layers, 650M parameters The same model, 18× larger. Used only to ask whether agreement grows with size — it is not the main evidence.
ESM-1v, two copiessequence onlyTransformer, 33 layers, 650M parameters The ceiling. Not part of the main comparison: ESM-1v is used because it is the one protein language model released as several independently seeded checkpoints, so two copies differ only by random start. That gives the one honest answer to “how alike can two models even be?”
Untrained copies of both—ESM-2 35M transformer and ProteinMPNN GNN, randomly initialised Same wiring, no learning. The floor.
How agreement was scored

Three ways to ask “do they agree?”

Two taxonomists can use the same traits to organise species and still shelve them differently. These three measures separate exactly that. CKA is centred kernel alignment (Kornblith et al., 2019); SVCCA is singular-vector canonical correlation analysis (Raghu et al., 2017); mutual k-NN compares k nearest neighbours, as used by Huh et al. (2024).

sequence modelstructure model ≟ same pattern of resemblance?

CKA

Pick any two residues. Does each model think they are alike to the same degree — across every pair at once?

High = the two models rank resemblance the same way.

do the clouds stretch the same way?

SVCCA

Each model spreads residues along a few main directions. Are those directions the same ones?

High = the same underlying axes, even if points sit differently along them.

same residues as nearest neighbours?

mutual k-NN

Take a residue and list its 10 closest neighbours in each model. How many appear on both lists?

High = the two maps agree about what sits next to what.

Calibrating each measure on scrambled residues

No similarity score means anything on its own. Scramble which residue is which and every correspondence between the two models is destroyed; whatever a measure still reports is what it returns for unrelated data. For the main pair, ESM-2 35M against ProteinMPNN: same pattern of resemblance reports 0.258, of which 1% is null; same main directions reports 0.415, of which 69% is null; same neighbours reports 0.029, of which 8% is null. Two high-dimensional clouds of numbers always share some direction, whether or not they are related, so most of the headline “same main directions” score is noise floor. The other two measures are nearly clean.

What each measure still reports on scrambled residuesteal = the score · grey = the part it still returns when residue correspondence is destroyedSame pattern of resemblanceCKASame pattern of resemblance: 0.258scrambled: 0.0040.2581% nullSame main directionsSVCCASame main directions: 0.415scrambled: 0.2870.41569% nullSame neighboursmutual k-NNSame neighbours: 0.029scrambled: 0.0020.0298% null

Each bar is the mean over the same 50 whole-chain subsamples of 8,000 residues used for every pair further down; the grey part is the same subsamples with the residues scrambled.

It gets worse when models of different sizes are compared, because the scrambled score grows with the number of dimensions. The bigger model looks far more convergent — 0.598 against 0.408 — and is not: read against its own scrambled score it is identical to the small one. Scores like this cannot be compared between models of different widths without a null. This is the same width effect that Gröger, Wen & Brbić (2026) report for vision–language models, found here independently in proteins.

SVCCA grows with width; the part above chance does notteal = reported · grey = scrambled · the number at the end is what is left above chanceforced to 64 dimensionsreported 0.281scrambled 0.0940.281+0.187ESM-2 35M · 480 dimensionsreported 0.408scrambled 0.2910.408+0.116ESM-2 650M · 1,280 dimensionsreported 0.598scrambled 0.4840.598+0.114

From a separate run on a different residue sample, which is why the main pair reads 0.408 here and 0.415 above; each score is read only against its own null. Gaps are computed before rounding: the displayed 0.408 − 0.291 gives +0.116, not the +0.117 a reader would get from the rounded figures.

The answer key

The strongest agreement between the two families was the amino-acid code both are trained to output

Both families are trained to output the amino acid at each position — the sequence model by filling in masked residues, the structure model by saying which amino acids would fold into a given backbone. So two models can look like they agree simply by both knowing that position 47 holds a leucine, without sharing any understanding of proteins at all.

This is not hypothetical. Measured by CKA against ProteinMPNN's last encoder layer, ESM-2 agrees with the structure model most at its very first layer, the embedding layer: a lookup table that gives each amino acid a fixed vector, before any context or learned processing. That layer is nothing but the amino-acid code. Compared with a bare label naming the amino acid, it scores 1.000 by SVCCA and 0.916 by mutual k-NN, so agreement measured there is the shared training target, not shared biology. Deeper in the model, where the learned biology should be, CKA with the structure model falls, from 0.270 at the embedding layer to 0.110 at block 7, and rises again toward the output, 0.192 at block 12, where the model returns to predicting amino acids. The layers doing real work agree with the structure model less than the bare amino-acid code does.

The layers of each model, in one table
ModelLayers What they do
ESM-2 35MembEmbedding layer: a lookup table, one fixed vector per amino acid, no context yet.
ESM-2 35Mb1–b12Transformer blocks: each residue looks at every other; 480 numbers per residue.
ESM-2 35Moutput headPredicts the amino acid at each position. Not read here.
ProteinMPNNinputDistances between the backbone atoms of each residue and its 48 nearest neighbours in space.
ProteinMPNNenc1–enc3Encoder: neighbours exchange messages; 128 numbers per residue. Read on this page.
ProteinMPNNdec1–dec3Decoder: predicts the amino acids one position at a time. Not read here.
Raw agreement with the structure model, by depth of the sequence modelsame pattern of resemblance (CKA) against ProteinMPNN's last encoder layer · as measured0.00.10.20.3emb: 0.2700.270embb1: 0.262b1b2: 0.253b2b3: 0.227b3b4: 0.219b4b5: 0.137b5b6: 0.132b6b7: 0.1100.110b7b8: 0.120b8b9: 0.134b9b10: 0.201b10b11: 0.256b11b12: 0.1920.192b12emb = embedding layer (a lookup table) · b1–b12 = transformer blocksinput → output

One bar per ESM-2 layer, from the embedding layer (emb) to the last transformer block (b12). Bar height is the CKA between that layer and ProteinMPNN's last encoder layer, over the same residues. The coloured bars are the three values in the text: the embedding layer (teal, highest), block 7 (orange, lowest) and block 12 (dark blue, the last layer).

Residue maps for the sequence and structure models, coloured by amino
      acid, local shape, burial and solvent accessibility. The sequence model splits into about
      twenty islands; the structure model is one connected cloud.
The problem, drawn. Every dot is one residue, placed near the residues each model describes similarly — the same 8,000 residues in both rows. The sequence model breaks residue space into about twenty islands, one per amino acid; colour the islands by anything structural and the colours are mixed within each island. That information is there, but it is not what sets the geography. The structure model, which never sees the amino-acid sequence, does the opposite: amino acid is scattered noise, and buried-versus-exposed splits the map almost in half. The two models organise protein space by different principles — one by chemical identity, one by physical environment.

Removing the answer key

Each model turns every residue into a list of numbers. To remove the shared answer key, take every leucine in the dataset, average its description, and subtract that average from each individual leucine — then repeat for all twenty amino acids. What is left is how this leucine differs from a typical leucine: its surroundings, its role. If a model knew only the amino acid, subtracting would leave exactly zero and its apparent agreement would vanish entirely; that is the intended behaviour. If a model knows real biology — where the residue sits, what surrounds it, whether it is buried, what it does — all of that survives untouched.

LVKG
Every residue, as the model describes itResidues of the same amino acid already cluster — that is the shared answer key.
LVKG
Average each amino acidOne average description per amino acid: what the model thinks a leucine is, in general.
LVKG
Subtract itWhat is left is how THIS leucine differs from a typical leucine — its surroundings, its role.

Two checks show the subtraction does what it should. The same model trained twice — agreement that is certainly real — barely moves: 0.849 → 0.849. An untrained sequence network against a trained structure model — agreement that cannot be about biology, because one side has learned nothing — scores a respectable-looking 0.205 as measured and collapses to 0.038 once the answer key is gone. Real agreement is left standing; manufactured agreement is removed. Every result below is reported both ways: as measured, and with the answer key removed.

0.849 → 0.849 ESM-1v trained twice, CKA — unchanged
0.205 → 0.038 Untrained ESM-2 35M against trained ProteinMPNN, CKA — collapses
0.258 → 0.131 ESM-2 35M against ProteinMPNN, CKA — about half was the shared answer key

Layer by layer, the subtraction redraws the first chart. ESM-2's embedding layer drops from 0.263 to nothing: it held only the amino-acid code. The early blocks keep a small part of their agreement (0.257 → 0.067 at block 1), and what remains grows with depth, highest at block 11 (0.257 → 0.137). Before the subtraction the input layer led; after it, the agreement that is left sits where ESM-2 has done the most processing.

After the subtraction: agreement with the structure model, by depth of the sequence modelsame pattern of resemblance (CKA) against ProteinMPNN's last encoder layer · amino-acid average subtractedanswer key removed (95% interval)as measured0.00.10.20.3emb as measured: 0.2630embb1 as measured: 0.257b1 answer key removed: 0.067 [0.054, 0.080]b1b2 as measured: 0.252b2 answer key removed: 0.086 [0.078, 0.096]b2b3 as measured: 0.230b3 answer key removed: 0.093 [0.085, 0.102]b3b4 as measured: 0.221b4 answer key removed: 0.086 [0.079, 0.095]b4b5 as measured: 0.145b5 answer key removed: 0.055 [0.044, 0.067]b5b6 as measured: 0.137b6 answer key removed: 0.059 [0.047, 0.069]b6b7 as measured: 0.112b7 answer key removed: 0.059 [0.048, 0.070]b7b8 as measured: 0.119b8 answer key removed: 0.073 [0.064, 0.084]b8b9 as measured: 0.134b9 answer key removed: 0.091 [0.081, 0.102]b9b10 as measured: 0.199b10 answer key removed: 0.111 [0.100, 0.123]b10b11 as measured: 0.257b11 answer key removed: 0.137 [0.123, 0.154]0.137b11b12 as measured: 0.198b12 answer key removed: 0.105 [0.090, 0.123]b12emb = embedding layer, empty after the subtraction · b1–b12 = transformer blocksinput → output

Solid bars: each layer of ESM-2 against ProteinMPNN's last encoder layer, with every residue's amino-acid average subtracted from both; lines are 95% intervals. Outlines: the same layers as measured. Both on the same 50 whole-chain subsamples of 8,000 residues. The first chart in this section is a single run on 30,000 residues, which is why its values differ slightly.

What survives · every pair, before and after

With the answer key removed, every sequence–structure pair still sits well above the floor — and well below two models that share an input

A score of 0.13 means nothing on its own until you know what the same measurement gives for two models that certainly agree and for two that certainly do not. So every pair is read against a ladder. At the top, the same model trained twice: 0.849, unchanged by the subtraction. Next, two models sharing an input: two sequence models (CARP-38M × ESM-2 35M) 0.605 and two structure models (ESM-IF1 × ProteinMPNN) 0.468 after the subtraction (0.693 and 0.522 as measured). At the bottom, the floors: an untrained sequence network against a trained structure model 0.038, the reverse 0.122, two untrained networks 0.022.

Every sequence-against-structure pair lands between those rungs. The main pair, ESM-2 35M against ProteinMPNN, goes from 0.258 as measured to 0.131 with the answer key removed; the other five cross-modal pairs land between 0.111 and 0.245 after removal, the largest pair highest. All six sit clearly above every floor and clearly below the same-input rungs. Same main directions barely moves for any pair (0.415 → 0.397 for the main pair) — as the calibration showed, most of that score was noise floor to begin with, so there was little answer key in it to remove.

Measure
Show
Same pattern of resemblance (CKA) for every pairghost bar = as measured · solid bar = answer key removed · whiskers = 95% interval0.00.20.40.60.81.0The same model trained twice (two seeds)ceilingThe same model trained twice (two seeds) — as measured 0.849The same model trained twice (two seeds) — answer key removed 0.849 [0.814, 0.875]0.849CARP-38M × ESM-2 35Msame inputCARP-38M × ESM-2 35M — as measured 0.693CARP-38M × ESM-2 35M — answer key removed 0.605 [0.592, 0.618]0.605ESM-IF1 × ProteinMPNNsame inputESM-IF1 × ProteinMPNN — as measured 0.522ESM-IF1 × ProteinMPNN — answer key removed 0.468 [0.461, 0.479]0.468ESM-2 650M × ESM-IF1opposite inputsESM-2 650M × ESM-IF1 — as measured 0.304ESM-2 650M × ESM-IF1 — answer key removed 0.245 [0.202, 0.284]0.245ESM-2 650M × ProteinMPNNopposite inputsESM-2 650M × ProteinMPNN — as measured 0.253ESM-2 650M × ProteinMPNN — answer key removed 0.176 [0.146, 0.213]0.176CARP-38M × ESM-IF1opposite inputsCARP-38M × ESM-IF1 — as measured 0.255CARP-38M × ESM-IF1 — answer key removed 0.163 [0.148, 0.179]0.163ESM-2 35M × ProteinMPNNopposite inputsESM-2 35M × ProteinMPNN — as measured 0.258ESM-2 35M × ProteinMPNN — answer key removed 0.131 [0.117, 0.149]0.131CARP-38M × ProteinMPNNopposite inputsCARP-38M × ProteinMPNN — as measured 0.213CARP-38M × ProteinMPNN — answer key removed 0.137 [0.119, 0.160]0.137ESM-1v × ProteinMPNNopposite inputsESM-1v × ProteinMPNN — as measured 0.222ESM-1v × ProteinMPNN — answer key removed 0.111 [0.092, 0.137]0.111Untrained sequence × trained structurefloorUntrained sequence × trained structure — as measured 0.205Untrained sequence × trained structure — answer key removed 0.038 [0.021, 0.059]0.038Trained sequence × untrained structurefloorTrained sequence × untrained structure — as measured 0.153Trained sequence × untrained structure — answer key removed 0.122 [0.094, 0.149]0.122Two untrained networksfloorTwo untrained networks — as measured 0.043Two untrained networks — answer key removed 0.022 [0.012, 0.035]0.022

ESM-2 35M × ProteinMPNN: 0.258 as measured, 0.131 with the answer key removed.

Every pair, every measure, with intervals
PairSame pattern
as measured
↳ answer key removedSame directions
as measured
↳ answer key removedSame neighbours
as measured
↳ answer key removed
The same model trained twice (two seeds) ceiling0.8490.812–0.8810.8490.814–0.8750.8870.868–0.9050.8930.879–0.9060.8500.830–0.8730.7960.783–0.808
CARP-38M × ESM-2 35M same input0.6930.683–0.7030.6050.592–0.6180.6740.668–0.6820.6270.609–0.6410.2460.235–0.2550.4710.453–0.490
ESM-IF1 × ProteinMPNN same input0.5220.514–0.5290.4680.461–0.4790.6570.652–0.6600.6480.645–0.6520.1310.123–0.1400.1070.100–0.116
ESM-2 650M × ESM-IF1 opposite inputs0.3040.262–0.3500.2450.202–0.2840.5700.565–0.5750.5650.559–0.5690.0610.054–0.0680.0590.051–0.065
ESM-2 650M × ProteinMPNN opposite inputs0.2530.222–0.2920.1760.146–0.2130.6050.598–0.6130.5950.587–0.6030.0360.031–0.0420.0330.029–0.039
CARP-38M × ESM-IF1 opposite inputs0.2550.235–0.2720.1630.148–0.1790.4460.438–0.4540.4410.434–0.4490.0480.040–0.0520.0470.042–0.054
ESM-2 35M × ProteinMPNN opposite inputs0.2580.245–0.2680.1310.117–0.1490.4150.406–0.4260.3970.387–0.4050.0290.025–0.0340.0300.026–0.035
CARP-38M × ProteinMPNN opposite inputs0.2130.196–0.2260.1370.119–0.1600.4840.477–0.4930.4700.461–0.4830.0290.025–0.0330.0250.021–0.029
ESM-1v × ProteinMPNN opposite inputs0.2220.195–0.2640.1110.092–0.1370.5720.564–0.5780.5600.551–0.5670.0260.021–0.0310.0230.018–0.028
Untrained sequence × trained structure floor0.2050.186–0.2210.0380.021–0.0590.3680.357–0.3790.2360.229–0.2420.0150.013–0.0160.0140.011–0.017
Trained sequence × untrained structure floor0.1530.131–0.1780.1220.094–0.1490.4100.400–0.4210.4060.395–0.4140.0160.013–0.0200.0170.013–0.021
Two untrained networks floor0.0430.037–0.0480.0220.012–0.0350.1810.173–0.1890.2720.262–0.2820.0060.004–0.0070.0090.006–0.011
No shared map · neighbours

They do not arrange proteins the same way

Sharing axes is weaker than sharing a map. The neighbour measure asks, for each residue, how many of its ten closest neighbours in one model are also among its ten closest in the other. Two copies of the same model agree on 0.796 of each other's neighbours after the subtraction (0.850 as measured); two sequence models on 0.471; two structure models on 0.107. No sequence–structure pair exceeds 0.06, and the main pair, ESM-2 35M against ProteinMPNN, scores 0.030. The two families line up along some of the same directions, but they do not put the same residues next to each other — they are not two drawings of one map.

Two sequence models are the one pair whose neighbour agreement rises after the subtraction (0.246 → 0.471): removing the twenty islands stops amino-acid identity from dominating the neighbour lists, so neighbours are compared within an amino acid. Cross-modal pairs do not move (0.029 → 0.030), which supports the reading that the subtraction removes the islands and leaves the biology intact.

Same neighbours (mutual k-NN) for every pairghost bar = as measured · solid bar = answer key removed · whiskers = 95% interval0.00.20.40.60.8The same model trained twice (two seeds)ceilingThe same model trained twice (two seeds) — as measured 0.850The same model trained twice (two seeds) — answer key removed 0.796 [0.783, 0.808]0.796CARP-38M × ESM-2 35Msame inputCARP-38M × ESM-2 35M — as measured 0.246CARP-38M × ESM-2 35M — answer key removed 0.471 [0.453, 0.490]0.471ESM-IF1 × ProteinMPNNsame inputESM-IF1 × ProteinMPNN — as measured 0.131ESM-IF1 × ProteinMPNN — answer key removed 0.107 [0.100, 0.116]0.107ESM-2 650M × ESM-IF1opposite inputsESM-2 650M × ESM-IF1 — as measured 0.061ESM-2 650M × ESM-IF1 — answer key removed 0.059 [0.051, 0.065]0.059ESM-2 650M × ProteinMPNNopposite inputsESM-2 650M × ProteinMPNN — as measured 0.036ESM-2 650M × ProteinMPNN — answer key removed 0.033 [0.029, 0.039]0.033CARP-38M × ESM-IF1opposite inputsCARP-38M × ESM-IF1 — as measured 0.048CARP-38M × ESM-IF1 — answer key removed 0.047 [0.042, 0.054]0.047ESM-2 35M × ProteinMPNNopposite inputsESM-2 35M × ProteinMPNN — as measured 0.029ESM-2 35M × ProteinMPNN — answer key removed 0.030 [0.026, 0.035]0.030CARP-38M × ProteinMPNNopposite inputsCARP-38M × ProteinMPNN — as measured 0.029CARP-38M × ProteinMPNN — answer key removed 0.025 [0.021, 0.029]0.025ESM-1v × ProteinMPNNopposite inputsESM-1v × ProteinMPNN — as measured 0.026ESM-1v × ProteinMPNN — answer key removed 0.023 [0.018, 0.028]0.023Untrained sequence × trained structurefloorUntrained sequence × trained structure — as measured 0.015Untrained sequence × trained structure — answer key removed 0.014 [0.011, 0.017]0.014Trained sequence × untrained structurefloorTrained sequence × untrained structure — as measured 0.016Trained sequence × untrained structure — answer key removed 0.017 [0.013, 0.021]0.017Two untrained networksfloorTwo untrained networks — as measured 0.006Two untrained networks — answer key removed 0.009 [0.006, 0.011]0.009

The same ladder as in “What survives”, on the neighbour measure. The ceiling is far to the right; every sequence–structure pair is crowded against the axis.

Layer by layer

Agreement is highest where the sequence model has learned least

The same pair of models, every layer of one against every layer of the other, as measured. Read along the sequence model's depth: same pattern of resemblance is highest at the embedding layer (0.270 against the structure model's last encoder layer), falls through the middle blocks to 0.110 at block 7, climbs back to 0.256 at block 11 and dips to 0.192 at the output. Same main directions is nearly flat (0.30–0.40) and mostly null. Same neighbours never leaves the floor (0.009–0.024). Read along the structure model's depth: its last encoder layer is the most similar to every sequence layer, on every measure. The three panels disagree because the measures do.

Same pattern of resemblancescale 0–0.45 · as measured0.000.230.45emb: 0.270b1: 0.262b2: 0.253b3: 0.227b4: 0.219b5: 0.137b6: 0.132b7: 0.110b8: 0.120b9: 0.134b10: 0.201b11: 0.256b12: 0.192embb12
Same main directionsscale 0–0.45 · as measured0.000.230.45emb: 0.366b1: 0.297b2: 0.360b3: 0.371b4: 0.366b5: 0.360b6: 0.364b7: 0.365b8: 0.376b9: 0.384b10: 0.390b11: 0.403b12: 0.404embb12
Same neighboursscale 0–0.03 · as measured0.000.010.03emb: 0.009b1: 0.015b2: 0.017b3: 0.019b4: 0.019b5: 0.018b6: 0.015b7: 0.012b8: 0.013b9: 0.016b10: 0.019b11: 0.021b12: 0.024embb12

All three panels are as measured — the answer key has not been removed here, which is why the embedding layer leads.

All 39 layer pairs, all three measures
Same pattern of resemblance?CKA
enc1
enc2
enc3
emb
b1
b2
b3
b4
b5
b6
b7
b8
b9
b10
b11
b12
0.11
0.18
0.27
0.12
0.18
0.26
0.13
0.18
0.25
0.14
0.17
0.23
0.12
0.17
0.22
0.08
0.11
0.14
0.08
0.10
0.13
0.07
0.09
0.11
0.09
0.10
0.12
0.11
0.12
0.13
0.14
0.17
0.20
0.17
0.21
0.26
0.12
0.16
0.19
Same main directions?SVCCA
enc1
enc2
enc3
emb
b1
b2
b3
b4
b5
b6
b7
b8
b9
b10
b11
b12
0.24
0.31
0.37
0.28
0.28
0.30
0.35
0.35
0.36
0.36
0.36
0.37
0.35
0.35
0.37
0.34
0.34
0.36
0.34
0.35
0.36
0.34
0.35
0.36
0.35
0.36
0.38
0.36
0.36
0.38
0.36
0.37
0.39
0.38
0.38
0.40
0.38
0.39
0.40
Same neighbours?mutual k-NN
enc1
enc2
enc3
emb
b1
b2
b3
b4
b5
b6
b7
b8
b9
b10
b11
b12
0.01
0.01
0.01
0.01
0.01
0.01
0.01
0.01
0.02
0.01
0.02
0.02
0.01
0.02
0.02
0.01
0.01
0.02
0.01
0.01
0.01
0.01
0.01
0.01
0.01
0.01
0.01
0.01
0.01
0.02
0.01
0.02
0.02
0.01
0.02
0.02
0.01
0.02
0.02
0.0
unrelated
1.0
identical
Not interchangeable · stitching

The structure model's description does not survive the sequence model's layers intact

Similar is not the same as interchangeable. Stitching — taking one model's description of a residue and feeding it into the other model's remaining layers — tests the stronger claim directly: take the structure model's description of each residue, pass it through a single trained translation step into the sequence model at some layer, and let the sequence model's own remaining layers finish the job. Every entry point was tried — 36 combinations of structure-model layer and entry point — and each stitched model was scored on three properties: 108 cases, each repeated on 5 independent samples of proteins. The comparison that settles it is against the structure model on its own: scoring against the sequence model would flatter stitching, because the structure model is simply better at these properties to begin with (Lenc & Vedaldi, 2015; Bansal et al., 2021).

Passing the structure model's work through the sequence model's trained layers loses part of it. In 77 of 108 cases the stitched model is clearly worse than the structure model alone, a difference that holds up across all 5 repeats; in 28 there is no clear difference, and in 3 it is better. The losses are not spread evenly: every case that enters in the first 4 layers is worse, and the cases with no clear difference sit at the deep entry points, where few of the sequence model's layers are left to act.

What comes out is in between. Untrained layers pass the information through unchanged (0.828 → 0.833 for local shape, 0.879 → 0.878 for buried or exposed, 0.767 → 0.766 for solvent accessibility). Trained layers keep more than the sequence model knows on its own and less than the structure model supplied: for solvent accessibility, 0.598, against 0.324 for the sequence model alone and 0.767 for the structure model alone. The layers are tuned to inputs a structure model never produces.

Two checks bound the result. The translation step is a single linear map, and on held-out proteins it captures only 0.02–0.17 of the variance (mean 0.067). A small neural network in its place fits slightly better (mean 0.112) and changes nothing: 10 of 12 cases are still clearly worse. And the same test can pass. Fed into ESM-2 from CARP, a second sequence model, the linear map fits about 5 times better (mean 0.324) and 24 of 36 cases show no clear loss. CARP starts at roughly ESM-2's level on these properties, which makes a no-loss result easier to reach; the structure model carries information the sequence model lacks, and that is what is lost. Folding trunks that share both input and target have likewise been shown to be functionally interchangeable (Lu et al., 2026).

local shapemean over all 36 layer × entry-point combinations · higher is betterstructure model alonestructure model alone: 0.8280.828→ untrained sequence layers→ untrained sequence layers: 0.8330.833→ trained sequence layers→ trained sequence layers: 0.7860.786sequence model alonesequence model alone: 0.6800.680
buried or exposedmean over all 36 layer × entry-point combinations · higher is betterstructure model alonestructure model alone: 0.8790.879→ untrained sequence layers→ untrained sequence layers: 0.8780.878→ trained sequence layers→ trained sequence layers: 0.8300.830sequence model alonesequence model alone: 0.7400.740
solvent accessibilitymean over all 36 layer × entry-point combinations · higher is betterstructure model alonestructure model alone: 0.7670.767→ untrained sequence layers→ untrained sequence layers: 0.7660.766→ trained sequence layers→ trained sequence layers: 0.5980.598sequence model alonesequence model alone: 0.3240.324

Each panel averages the 36 combinations of structure-model layer and entry point, over 5 repeats.

The deeper the entry point, the less is losteach row: 9 cases (3 structure-model layers × 3 properties) · a case counts only when the interval across 5 repeats excludes zerostructure model alone betterno clear differencestitched betterenters at layer 1layer 1: 9 structure model alone better9enters at layer 2layer 2: 9 structure model alone better9enters at layer 3layer 3: 9 structure model alone better9enters at layer 4layer 4: 9 structure model alone better9enters at layer 5layer 5: 8 structure model alone better8layer 5: 1 no clear difference1enters at layer 6layer 6: 7 structure model alone better7layer 6: 2 no clear difference2enters at layer 7layer 7: 6 structure model alone better6layer 7: 3 no clear difference3enters at layer 8layer 8: 7 structure model alone better7layer 8: 2 no clear difference2enters at layer 9layer 9: 5 structure model alone better5layer 9: 4 no clear difference4enters at layer 10layer 10: 5 structure model alone better5layer 10: 4 no clear difference4enters at layer 11layer 11: 3 structure model alone better3layer 11: 5 no clear difference5layer 11: 1 stitched better1enters at layer 12layer 12: 7 no clear difference7layer 12: 2 stitched better2

The other direction: ESM-2 into ProteinMPNN

The test also runs the other way. ESM-2's description of each residue, through the same kind of translation step, replaces ProteinMPNN's own after its first, second or third encoder layer, and ProteinMPNN's remaining layers finish the job: 39 combinations of ESM-2 layer and entry point, each repeated on 5 independent samples of proteins. One thing differs from the first direction. ProteinMPNN passes messages between each residue and its nearest neighbours in space, and that neighbour graph comes from the coordinates, so its remaining layers always have the geometry whatever is fed in. Two references are therefore needed: ESM-2 on its own, and ProteinMPNN's remaining layers given nothing but the geometry.

A fair test needs a property ESM-2 reads at least as well as ProteinMPNN. At the level of single residues only one qualifies here: whether a residue contacts a ligand, which ESM-2 alone scores 0.602 and ProteinMPNN alone 0.595. Passed through ProteinMPNN's layers, ESM-2's description of it scores 0.568: clearly below ESM-2 alone in 27 of 39 cases, and clearly above the geometry on its own (0.531) in 32 of 39. Part of what ESM-2 knows survives and part is lost — the same in-between result as in the first direction.

The structural properties show how the two sources combine. For solvent accessibility the stitched model scores 0.676: above ESM-2 alone (0.329) and above the geometry alone (0.549), so ESM-2's description adds to what the coordinates give, but below ProteinMPNN alone (0.835). Active sites and sites of chemical modification are too rare among residues to score here — the modification sites sit at chance level in every condition — so their cases are not counted either way.

binding sitemean over all 39 layer × entry-point combinationssequence model alonesequence model alone: 0.6020.602→ untrained structure layers→ untrained structure layers: 0.5590.559→ trained structure layers→ trained structure layers: 0.5680.568structure layers, geometry onlystructure layers, geometry only: 0.5310.531structure model alonestructure model alone: 0.5950.595
solvent accessibilitymean over all 39 layer × entry-point combinationssequence model alonesequence model alone: 0.3290.329→ untrained structure layers→ untrained structure layers: 0.6300.630→ trained structure layers→ trained structure layers: 0.6760.676structure layers, geometry onlystructure layers, geometry only: 0.5490.549structure model alonestructure model alone: 0.8350.835

Each panel averages the 39 combinations of ESM-2 layer and ProteinMPNN entry point, over 5 repeats, scored on every residue of the held-out proteins. "Geometry only" is ProteinMPNN's remaining layers with an empty description fed in.

Who knows what · property probes

Each model reads best what it was shown — except fold topology

Both models were tested on properties neither was trained to predict, with a probe on each layer and the best layer reported. The split is clean, and it runs along the boundary between geometry and biology. Everything geometric — solvent accessibility, buried or exposed, local shape, flexibility (B-factor) — is read better from the structure model: 0.816 against 0.420 for solvent accessibility (R²), 0.892 against 0.761 for buried or exposed, 0.887 against 0.786 for local shape, 0.276 against 0.180 for flexibility (R²). Everything functional and evolutionary is read better from the sequence model: enzyme class 0.550 against 0.318, protein class 0.507 against 0.266, kingdom 0.688 against 0.387, each with the best amino-acid-counting baseline well below the sequence model (0.263, 0.203, 0.580).

The exception is fold topology. It is a shape category — and the model that has never seen a shape predicts it better than the model that has seen nothing else: 0.685 against 0.489, with a counting baseline of 0.299. Evolutionary constraint, visible in sequence, carries information about fold at least as directly as this structure model's view of geometry does.

Scores are macro-averaged F1 unless marked R²; intervals are the spread across five independent refits. The sequence model has 13 layers to pick its best from and the structure model 3, which favours sequence — the gaps are far larger than that can explain, but the absolute numbers are optimistic for both. Six further properties were tested and are excluded from these claims because their intervals overlap or their baselines do nothing but guess the commonest answer; they are shown in the full battery below.

property
◀ structure model bettersequence model better ▶
solvent accessibility
-0.40
burial
-0.13
secondary structure
-0.11
B-factor
-0.10
binding site
+0.05
is it an enzyme
+0.08
active site
+0.12
PTM site
+0.12
where in the cell
+0.15
fold architecture
+0.20
fold topology
+0.22
enzyme class (EC)
+0.25
protein class
+0.27
kingdom of life
+0.30

Which model reads each property better, and by how much (sequence minus structure). Bars left of centre: the structure model reads it better.

The headline tables with intervals
Geometry — structure winsStructureSequence
Solvent accessibility R²0.8160.420
Buried or exposed0.8920.761
Local shape (helix/sheet/coil)0.8870.786
Flexibility within a chain R²0.2760.180
Function & evolution — sequence winsSequenceStructureBest null
Fold type (12 commonest)0.6850.647–0.7220.4890.427–0.5500.299
Enzyme class0.5500.503–0.5970.3180.307–0.3290.263
Protein class0.5070.468–0.5470.2660.250–0.2830.203
Kingdom of life0.6880.680–0.6960.3870.366–0.4080.580
the exception

Fold type is a shape category — and the model that has never seen a shape predicts it better than the model that has seen nothing else (0.685 vs 0.489). Evolutionary constraint, visible in sequence, carries information about fold and function at least as directly as this structure model's view of geometry does.

Macro-F1; intervals are the spread across five independent refits. The sequence model has 13 layers to pick its best from and the structure model 3, which favours sequence — the gaps here are far larger than that can explain, but the absolute numbers are optimistic for both. Six further properties were tested and are excluded because their intervals overlap or their baselines do nothing but guess the commonest answer.

All twenty-five properties, against an amino-acid-counting baseline

The grey tick is what you score by counting amino acids alone; a model sitting on the tick has learned nothing beyond composition. The six properties excluded above are included here because they were measured.

Sort by
Show
sequence model structure model counting amino acids alone

Per residue · local physical properties

00.250.500.751.0
secondary structure
0.780.89
burial
0.760.89
solvent accessibility
0.410.82
B-factor
0.170.27
binding site
0.820.78
active site
0.750.63
PTM site
0.650.52

Per protein · function, family, origin

00.250.500.751.0
kingdom of life
0.690.39
protein class
0.520.25
enzyme class (EC)
0.570.32
RNA-binding
0.780.54
fold topology
0.700.48
fold architecture
0.630.43
DNA-binding
0.800.61
immune
0.810.63
ribosomal
0.730.54
kinase
0.830.66
phosphorylated
0.740.59
where in the cell
0.510.36
structural / cytoskeleton
0.690.54
membrane protein
0.770.63
glycosylated
0.820.70
transport protein
0.660.55
CATH class
0.580.50
is it an enzyme
0.770.69
Whole-protein maps for all six model arms, coloured by fold class,
      kingdom, enzyme status and protein class.
The division of labour as geography. Each dot is one protein, placed near the proteins the model describes similarly and coloured by a property it was never trained to predict. ProteinMPNN sorts proteins by broad fold class — the α, β and α/β regions are largely separate. Both sequence arms sort them by kingdom instead, splitting bacteria from eukaryotes cleanly, and by whether the protein is an enzyme — distinctions with no direct shape counterpart. Fine functional category is mixed in every arm, and those are the lowest scores in the battery.
The same residues, as maps — every model arm
Residue maps for every model arm against six residue properties.
The three ESM arms break into the same twenty amino-acid islands, so that pattern is not a matter of model size. CARP, also sequence-only and trained the same way, does not: its map is organised by local shape and burial, like the two structure models. Against a bare amino-acid label CARP is more aligned than ESM-2 on same main directions (0.937 against 0.830) and far less on same neighbours (0.052 against 0.916) — and a map like this is built from neighbours. Binding site is the one column where no model shows any organisation: contact residues are scattered through every map, which is why they have to be decoded by a probe and cannot be read off the geometry.
Where it builds up · depth

Geometry is handed to the structure model; the sequence model has to build it

Left is each model's input, right is its output. The structure model already knows the geometry at its first layer — it is handed the coordinates, so there is nothing to build — and reaches its ceiling almost immediately (local shape 0.887 at the first encoder layer). The sequence model has to construct that knowledge, climbing steadily through twelve blocks and never quite arriving (local shape 0.556 at the embedding layer to 0.778 at block 11). For function it is the reverse: the sequence model rises far above the amino-acid-counting baseline — fold topology from 0.239 at the input to 0.700 at block 8, against a baseline of 0.23 — while the structure model stays near it (0.400–0.481). This is also why the sequence model gets more chances to pick a best layer.

sequence model structure model counting amino acids alone

Local physical properties

Secondary structure

0.00.20.50.81.0inputoutputESM-2: 0.556ESM-2: 0.627ESM-2: 0.676ESM-2: 0.711ESM-2: 0.713ESM-2: 0.726ESM-2: 0.731ESM-2: 0.733ESM-2: 0.755ESM-2: 0.768ESM-2: 0.771ESM-2: 0.778ESM-2: 0.772ESM-2ProteinMPNN: 0.887ProteinMPNN: 0.887ProteinMPNN: 0.873ProteinMPNN

Burial

0.00.20.50.81.0inputoutputESM-2: 0.620ESM-2: 0.680ESM-2: 0.700ESM-2: 0.694ESM-2: 0.710ESM-2: 0.718ESM-2: 0.719ESM-2: 0.716ESM-2: 0.729ESM-2: 0.739ESM-2: 0.744ESM-2: 0.756ESM-2: 0.758ESM-2ProteinMPNN: 0.879ProteinMPNN: 0.885ProteinMPNN: 0.889ProteinMPNN

Solvent accessibility (R²)

0.00.20.50.81.0inputoutputESM-2: 0.081ESM-2: 0.218ESM-2: 0.262ESM-2: 0.265ESM-2: 0.292ESM-2: 0.297ESM-2: 0.313ESM-2: 0.312ESM-2: 0.336ESM-2: 0.359ESM-2: 0.377ESM-2: 0.408ESM-2: 0.413ESM-2ProteinMPNN: 0.776ProteinMPNN: 0.802ProteinMPNN: 0.818ProteinMPNN

Binding site (F1)

0.00.20.50.81.0inputoutputESM-2: 0.596ESM-2: 0.762ESM-2: 0.765ESM-2: 0.771ESM-2: 0.773ESM-2: 0.788ESM-2: 0.808ESM-2: 0.816ESM-2: 0.821ESM-2: 0.823ESM-2: 0.816ESM-2: 0.820ESM-2: 0.810ESM-2ProteinMPNN: 0.696ProteinMPNN: 0.730ProteinMPNN: 0.777ProteinMPNN

Whole-protein properties, against the amino-acid-counting baseline

Fold topologycomposition null 0.23 [0.18–0.27]

0.00.20.40.60.8inputoutputESM-2: 0.239ESM-2: 0.238ESM-2: 0.318ESM-2: 0.382ESM-2: 0.499ESM-2: 0.591ESM-2: 0.655ESM-2: 0.677ESM-2: 0.700ESM-2: 0.687ESM-2: 0.677ESM-2: 0.657ESM-2: 0.564ESM-2ProteinMPNN: 0.400ProteinMPNN: 0.446ProteinMPNN: 0.481ProteinMPNNcomposition: 0.229composition: 0.229composition

Enzyme classcomposition null 0.21 [0.17–0.24]

0.00.20.40.60.8inputoutputESM-2: 0.247ESM-2: 0.274ESM-2: 0.287ESM-2: 0.375ESM-2: 0.344ESM-2: 0.443ESM-2: 0.511ESM-2: 0.569ESM-2: 0.571ESM-2: 0.568ESM-2: 0.548ESM-2: 0.540ESM-2: 0.410ESM-2ProteinMPNN: 0.265ProteinMPNN: 0.254ProteinMPNN: 0.318ProteinMPNNcomposition: 0.207composition: 0.207composition

Protein classcomposition null 0.17 [0.14–0.20]

0.00.20.40.60.8inputoutputESM-2: 0.187ESM-2: 0.237ESM-2: 0.242ESM-2: 0.321ESM-2: 0.372ESM-2: 0.430ESM-2: 0.490ESM-2: 0.503ESM-2: 0.494ESM-2: 0.521ESM-2: 0.491ESM-2: 0.480ESM-2: 0.439ESM-2ProteinMPNN: 0.209ProteinMPNN: 0.211ProteinMPNN: 0.254ProteinMPNNcomposition: 0.170composition: 0.170composition

Kingdomcomposition null 0.55 [0.50–0.59]

0.00.20.40.60.8inputoutputESM-2: 0.549ESM-2: 0.571ESM-2: 0.556ESM-2: 0.569ESM-2: 0.583ESM-2: 0.573ESM-2: 0.535ESM-2: 0.508ESM-2: 0.508ESM-2: 0.483ESM-2: 0.515ESM-2: 0.537ESM-2: 0.692ESM-2ProteinMPNN: 0.358ProteinMPNN: 0.367ProteinMPNN: 0.389ProteinMPNNcomposition: 0.545composition: 0.545composition
Beyond proteins

Three artefacts, each on its own large enough to manufacture a convergence result

Of the headline agreement between a sequence and a structure model, 69% of one measure is what it reports on scrambled data; roughly half of another is the training target both models share; and an untrained network scores 0.205 — a respectable-looking number — until that target is removed, whereupon it collapses to 0.038. Any one of the three would be enough to produce a convergence result where there is none.

The controls that catch them are cheap. A scrambled-residue null for every measure, so a score is read as its distance above chance, not as a bare number (Gröger et al., 2026, make the same argument for vision and language). Dimension matching before comparing models of different widths. A ceiling from the same model trained twice, so “high” has a reference. And, wherever two models are trained toward the same target, a residualisation of that target before agreement is measured — the target-side counterpart of the input-side deconfounding proposed by Cui et al. (2022). The last of these is the one this study adds, and it changed the answer.

Limits

What this does not show

these are not AlphaFold

The structure models here are ProteinMPNN and ESM-IF1, built to design sequences for a given backbone. No structure-prediction model is measured anywhere in this work, so nothing here says how AlphaFold-style models encode biology.

unequal sizes

ProteinMPNN's encoder is small — 3 layers against ESM-2's 12. Part of the property-prediction gap is size, not sequence versus shape. ESM-IF1, the larger structure model, narrows it without closing it.

one kind of protein

4,898 chains with experimentally solved structures, each chosen for a classified CATH domain. Everything here is crystallisable and folded; disordered and membrane proteins are under-represented.

scores depend on sample size

All three measures inflate on smaller samples, unequally — halving the sample raises the neighbour measure by about a quarter. Every number here is quoted at a stated sample size, and SVCCA is computed on at most 5,000 rows.

the subtraction is linear

Removing each amino acid's mean description removes the part of the answer key that is the same for every leucine. Anything the models encode about amino-acid identity in a non-linear way is not removed, so the “answer key removed” numbers are an upper bound on genuine agreement, not a floor.

References

Bansal, Y., Nakkiran, P., Barak, B. (2021). Revisiting Model Stitching to Compare Neural Representations. NeurIPS 2021.

Cui, T., Kumar, Y., Marttinen, P., Kaski, S. (2022). Deconfounded Representation Similarity for Comparison of Neural Networks. NeurIPS 2022. arXiv:2202.00095.

Dauparas, J. et al. (2022). Robust deep learning–based protein sequence design using ProteinMPNN. Science 378, 49–56.

Gröger, F., Wen, S., Brbić, M. (2026). Revisiting the Platonic Representation Hypothesis: An Aristotelian View. arXiv:2602.14486.

Hsu, C. et al. (2022). Learning inverse folding from millions of predicted structures. ICML 2022. (ESM-IF1)

Huh, M., Cheung, B., Wang, T., Isola, P. (2024). The Platonic Representation Hypothesis. ICML 2024. arXiv:2405.07987.

Kornblith, S., Norouzi, M., Lee, H., Hinton, G. (2019). Similarity of Neural Network Representations Revisited. ICML 2019. (CKA)

Lenc, K., Vedaldi, A. (2015). Understanding image representations by measuring their equivariance and equivalence. CVPR 2015.

Lin, Z. et al. (2023). Evolutionary-scale prediction of atomic-level protein structure with a language model. Science 379, 1123–1130. (ESM-2)

Lu, K. et al. (2026). Two Stages of Folding: Convergent Mechanisms in AI Protein Folding Trunks. arXiv:2602.06020.

Meier, J. et al. (2021). Language models enable zero-shot prediction of the effects of mutations on protein function. NeurIPS 2021. (ESM-1v)

Raghu, M., Gilmer, J., Yosinski, J., Sohl-Dickstein, J. (2017). SVCCA: Singular Vector Canonical Correlation Analysis for Deep Learning Dynamics. NeurIPS 2017.

Sillitoe, I. et al. (2021). CATH: increased structural coverage of functional space. Nucleic Acids Research 49, D266–D273.

Yang, K. K., Fusi, N., Lu, A. X. (2024). Convolutions are competitive with transformers for protein sequence pretraining. Cell Systems 15, 286–294. (CARP)