What it does
ALPHABETTI draws a protein's own single-letter amino acid codes in three dimensions, positioned and oriented along a predicted backbone. It is a sequence logo that has been wrapped around the structure it describes.
The part that is actually new: there is no multiple sequence alignment anywhere in this pipeline. A conventional logo measures conservation by counting residues in an alignment column, which means finding homologues, aligning them, and inheriting every bias in that process. ALPHABETTI asks a protein language model what it expects at each position instead, having first masked that position so the model cannot read the answer off its own input. What you are looking at is a model's expectation, mapped onto a model's structure.
How a stack is built
At each position the model gives a probability for all twenty canonical amino acids. From that:
H_i = -sum_a p_a log2(p_a) Shannon entropy, bits R_i = log2(20) - H_i information content, max 4.322 bits height_a = p_a * R_i per-letter height, bits
The letters at a position are stacked tallest-first along the residue's own side-chain direction, each standing on the one below, so the total height of a stack is that position's information content. That is the property that makes the picture mean something, and it is checked by a unit test against hand-calculated values.
No small-sample entropy correction is applied. The usual correction in a sequence logo compensates for estimating a distribution from a finite number of aligned sequences; here there is no alignment and no sample, so correcting would mean subtracting a bias that does not exist.
Models
| Role | Model | Checkpoint | Reference |
|---|---|---|---|
| Structure | ESMFold | facebook/esmfold_v1 |
Lin et al., Science 379:1123 (2023) |
| Language | ESM-2 650M | facebook/esm2_t33_650M_UR50D |
Lin et al., Science 379:1123 (2023) |
Both run on a Hugging Face ZeroGPU Space rather than on this server. The server this app is served from has 3.9 GB of memory; the ESMFold checkpoint alone is 7.9 GB of weights.
The other quantities
| Quantity | How it is computed |
|---|---|
| pLDDT | ESMFold's own per-residue confidence, from the B-factor column, normalised and asserted to be 0-100. |
| Relative SASA | FreeSASA with a 1.4 A probe, divided by the theoretical maximum for that residue type from Tien et al. (2013), PLoS ONE 8(11):e80635. Not clipped at 1: a predicted structure can be more exposed than the reference tripeptide. |
| Secondary structure | DSSP where mkdssp is installed, otherwise a P-SEA-style assignment from CA positions alone (Labesse et al., CABIOS 1997). The fallback agrees with DSSP on 83.7 % of 805 residues across ten diverse chains. The panel names which was used. |
| Variant score | log p(mutant) - log p(wild type), the ESM-1v convention. Natural log. Negative means deleterious. The wild-type entry is exactly zero by construction. |
| Virtual CB | Glycine has no beta carbon, so one is constructed from N, CA and C by the standard tetrahedral geometry. Validated against ubiquitin: 0.13 A mean deviation from the real CB across all 70 non-glycine residues. Glycines are never skipped. |
Limitations, plainly
- Single chain only. No complexes, no assemblies, no ligands, no cofactors, no metals, no post-translational modifications.
- Maximum 400 residues, minimum 10.
- ESMFold degrades on low-homology and disordered sequences, and it degrades quietly. Because ESMFold's trunk is ESM-2, the language model and the structure fail together rather than independently: when the model has no evolutionary signal for a sequence, you get both a poor fold and a flat, uninformative logo, and the two will not contradict each other.
- The GFP example is there to show exactly that. Masked marginals recover the wild-type residue at 10 % of positions in avGFP, against 8 % for a randomly shuffled version of the same sequence, and mean information content is 0.27 of a possible 4.322 bits. Mean pLDDT is 43. It is a famous, heavily studied protein that this method has almost nothing to say about. Check the pLDDT before you believe a picture.
- These are language model scores, not clinical predictions. Reported ClinVar and gnomAD annotations, where shown, come from the EBI Proteins API and are a separate kind of evidence entirely.
- A predicted structure is a hypothesis. So is a language model's opinion. This app draws one on top of the other.
Colophon
Flask and Gunicorn behind nginx; three.js with no build step; ESMFold and
ESM-2 on a ZeroGPU Space. The 3D letterforms are Baloo 2 Bold, converted to
outlines and extruded. Written by
Marc C. Deller, D.Phil.
Backend running the hf_space fold backend.