AtomWeaver™: Designing peptides beyond the twenty-letter alphabet

ProteinQure 7 MIN READ Oct 26, 2026

Twenty letters is a small alphabet

Peptide therapeutics sit in a useful gap: the specificity of a biologic with something closer to the manufacturability of a small molecule. Much of that advantage comes from a freedom the synthesis chemist has and nature does not: the ability to put a non-canonical amino acid anywhere in the sequence.

Non-canonical amino acids (NCAAs) are residues outside the familiar twenty. They can buy you protease resistance, better membrane permeability, tuned pharmacokinetics. More than a thousand are commercially available today, and 4,719 are listed in ProteinQure’s Monomer DB and Explorer. A design method restricted to the canonical twenty is therefore reaching only a sliver of the chemistry a peptide lab can actually make.

Machine learning has gotten good at the design problem underneath this, called inverse folding, which asks: given a backbone shape and the target it binds, what sequence would fold into it? Models like ProteinMPNN and its descendants do this well, our own PeptideMPNN among them, which finetunes ProteinMPNN to design peptide sequences conditioned on a specific target binding site. But nearly all of them share a structural constraint that has nothing to do with chemistry and everything to do with how they were built: at every position, the model emits a probability distribution over exactly twenty labels.

The alphabet is welded into the output layer. A residue absent from that layer cannot be proposed no matter how well it would fit the pocket. And expanding it is expensive: you need per-residue structural data and a full retraining run, for each new residue.

Atoms first, names later

What if the model never had to pick a letter? That is AtomWeaver’s premise: design the side chains as physical objects first, and work out what to call them afterwards.

Four-panel scientific figure showing concentric atom shells, a sampling trajectory, and a ranked match against residue templates.
AtomWeaver packs side-chain atoms first and reads off identity afterwards. Panels A and B show the nested shell starting distribution; C follows a single side chain through sampling, with ghost atoms collapsing onto the backbone; D shows the final cloud being matched against the reference library, where phosphotyrosine wins at 0.58 and the runner-up falls below 0.09.

Instead, it grows the side chains as raw atoms in three-dimensional space, nothing but positions and element types, conditioned on the fixed backbone and the target protein it has to bind. Only once the atoms have settled does the model ask what they add up to, by matching each finished cloud against a reference library of residue templates.

That sounds like a small reordering. It isn’t. Because identity is decided at the very last step, the set of residues the model can propose is a property of the library, not of the trained weights. Adding a new NCAA costs one reference structure and a few minutes refitting the matching step. No retraining. The generative model never needs to know the residue exists.

Three ideas make it work, and each is simpler than it sounds:

Atoms start toward where they usually lie. Generative models of this kind normally begin from random noise: an isotropic blur, every atom drawn from the same featureless cloud. AtomWeaver instead starts each atom on a nested shell: the first side-chain atom begins at roughly the distance from the backbone where first atoms tend to sit, the second a little further out, and so on, all strung along a ray pointing the way that side chain would actually project: toward the receptor at a buried position, into solvent at an exposed one. Every atom gets context about its own site from the very first step, instead of waiting for the cloud to organize itself.

Ghost atoms handle the counting problem. Side chains have different numbers of atoms; glycine has none, tryptophan has ten. A model generating atoms has to decide how many there are at the same time as where they go. AtomWeaver gives every slot the option of being a ghost, an atom that isn’t there, and ghosts simply flow back onto the backbone and vanish. Count, geometry, and chemistry all resolve together.

Residue identity is a lookup, not a prediction. At the end, each atom cloud is scored against every template in the library on two grounds: a purely geometric comparison of the distances between its atoms, and a small learned classifier trained on the model’s own outputs. The geometric half treats a rare non-canonical exactly like a common one, which is precisely what you want when the interesting chemistry is the rare kind.

What happened when we let it choose

The test that matters is whether designs hold up structurally. We built PeptideArena, a benchmark of de novo peptide binders against twelve protein targets across diverse protein families, and had every method design sequences for the same 353 backbones. The designs were then refolded with an independent structure-prediction model and scored on whether the peptide came back in the intended pose, the standard test of self-consistent design.

AtomWeaver is competitive with the established canonical methods on that test. The more interesting result is what happens when you open the vocabulary: performance stays in the same regime even when the model is choosing from 300 residues instead of 20.

Across 3,500 designs it used 168 distinct non-canonical amino acids, about 60% of everything available to it. Four of those it had never seen during training. It reached them anyway, because it was never choosing from a list of names; it was packing atoms, and those atoms happened to match a template it had only ever been handed as a reference structure.

It also stayed sensible. Nothing capped the number of NCAAs per sequence, and the model was free to return something entirely non-canonical, but the median design used two.

And the open-vocabulary designs scored highest on interface confidence. Among designs that refolded correctly, both AtomWeaver variants led the field and heavy non-canonical content did not come at the cost of a plausible interface.

Case study: Hirulog-3 and thrombin

Hirulog-3 is a 20-residue thrombin inhibitor derived from hirudin, and its non-canonical content is a deliberate medicinal-chemistry choice rather than an affinity play. It carries a D-phenylalanine and a β-homoarginine, the latter adding a single backbone methylene that moves the scissile bond away from thrombin’s catalytic serine while keeping the key guanidinium contact, which is what makes the molecule non-cleavable.

That is exactly the kind of decision a twenty-letter model cannot represent, let alone propose. Given the experimental complex, AtomWeaver recovers both the stereochemistry and the backbone-expanded chemistry, and it does so without being told any of it. Every position starts out L-handed in the model’s prior; it crosses the mirror plane on its own at D sites, recovering 69.6% of them while mislabeling under 3% of L residues.

Asked to redesign the whole peptide at once, it proposed something more exploratory: the β-homoarginine swapped for a β-homotryptophan, trading a salt bridge for pocket-filling contacts, alongside a coordinated asparagine–arginine–aspartate motif and a D-alanine. The redesign refolds back into essentially the native pose. These are structural hypotheses, not validated analogues, but they are coupled, stereochemistry-aware hypotheses that a position-by-position search would not easily reach.

An AtomWeaver joint redesign of Hirulog-3, refolded in complex with thrombin and superposed on the deposited structure. Despite several non-canonical substitutions, the predicted peptide holds its backbone and interface pose.

If you want to try it, start at the AtomWeaver page. The preprint is on bioRxiv, and the model is on GitHub with inference code, the trained weights, and the full 300-residue reference library, since extended to a 450-residue library also on GitHub. The code is AGPL-3.0 and the weights are CC BY 4.0, free to use commercially with attribution. Extending the vocabulary is simple: as the README walks through, supply reference rotamers for your residue, refit the read-out head on CPU in a few seconds, and design. The PeptideArena benchmark is released alongside the paper, and the building blocks themselves are browsable in the Monomer DB and Explorer.