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.
HOGWASH, and the one tab that uses an alignment
Every tab above derives from a protein language model and uses no alignment at all. HOGWASH is the exception: it counts what evolution actually did in a column of aligned homologues, which is the older and better-established way to measure conservation. Both are in the app so they can be compared.
The numbers and the drawing are both
WebLogo 3's,
MIT licensed and used unmodified: the column counts, the composition
priors, the small-sample correction, the unit conversions, the colour
schemes and the rendered output. ALPHABETTI supplies the input plumbing
and nothing else. Please cite it as
Crooks GE, Hon G, Chandonia JM, Brenner SE (2004) WebLogo: a sequence
logo generator. Genome Research 14:1188-1190
(doi:10.1101/gr.849004,
PMC419797),
and the idea itself as Schneider & Stephens (1990). Full licence text
and every other dependency is in THIRD-PARTY.md.
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.
- A worked example of that failure: avGFP. Masked marginals recover the wild-type residue at 10 % of positions, 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 useful to say about, and nothing on screen would tell you so except the confidence number. Check the pLDDT before you believe a picture.
- The database sequence is usually a precursor. The examples name explicit residue ranges from UniProt's Chain feature for this reason: P0CG48 is nine tandem copies of ubiquitin, not one, and P00698 carries an 18-residue signal peptide that is cleaved in vivo and folds into nothing. Paste an accession and you get the whole database entry, tail and all. Removing lysozyme's signal peptide raised its mean pLDDT from 91.0 to 95.1.
- 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.