AKA why a protein does not naturally fit neatly into a tensor, and how RFdiffusion3, BoltzGen and La-Proteina cope when the amino-acid sequence is not known yet
The problem: proteins are not rectangles
Neural networks like fixed-shape arrays. Proteins are not fixed-shape: the 20 standard amino acids contain between 4 and 14 heavy atoms (hydrogens are usually ignored). Atom14 and Atom37 are two ways of squeezing that variety into a rectangle. For a protein with L residues, both give a coordinate tensor of shape [L, A, 3]: one row per residue, A atom slots, and three Cartesian coordinates per slot. Atom14 uses A = 14 and Atom37 uses A = 37. These are maximum widths, not claims that every residue has that many atoms, so each tensor travels with a mask that marks which slots hold a real atom. [1, 2]
This post first explains the two layouts, then asks the question that matters for generative models: what happens in de novo design, where the sequence, and therefore the list of atoms, is not known in advance? We look at three recent answers: RFdiffusion3, BoltzGen and La-Proteina.
Same backbone, different side chains
Every amino acid shares a backbone of four heavy atoms: N, CA (the alpha carbon), C and O. The side chain starts at CB, the beta carbon, and is what makes each residue type different. Glycine has no side chain at all, serine and cysteine add two atoms, arginine adds seven, and tryptophan adds ten. Any representation must hold the shared backbone and a variable-length side chain at once. [1]






