They are not two measurements of the same thing. A paratope predictor such as Paragraph (Chinery et al., Bioinformatics 2023) names residues on the antibody that are likely to touch the antigen. Alanine scanning, HDX-MS and a co-crystal structure, as they are usually run in a discovery programme, name residues on the antigen — the epitope. Those are the two halves of one interface, so a residue-by-residue comparison between them is a category error before any accuracy question arises. When you do compare like with like, a second gap opens: each method defines "binding residue" differently. Paragraph's training labels use a 4.5 Å heavy-atom distance cutoff. Alanine scanning reports the residues whose mutation costs binding energy. HDX-MS reports peptides whose solvent protection changes on binding. Those three definitions do not pick the same residues even on a perfect structure. Treat a predicted paratope as a fast guardrail for engineering, and experimental mapping as the answer to a different question.
The honest framing for this page: the .bloom* platform runs Paragraph as a job, with the folding step included. Alanine scanning, HDX-MS, cross-linking and crystallography are wet-lab methods, so nothing below is a claim that the platform replaces them.
At a Glance#
| Paragraph (predicted) | Alanine scanning | HDX-MS | Co-crystal structure | |
|---|---|---|---|---|
| Which side of the interface | Antibody (paratope) | Whichever side you mutate | Usually the antigen | Both |
| What it calls a binding residue | Heavy atom within 4.5 Å of an antigen heavy atom, in the training labels | Mutation to alanine costs binding | Solvent protection changes on binding | Atomic contact you can measure |
| Resolution | Per residue, as a probability | Residue, for the residues you test | Peptide-level | Atomic |
| Needs the antigen | No | Yes | Yes | Yes |
| Needs a structure | No — it folds the antibody itself | No | No | Is the structure |
| Typical turnaround | Seconds to a couple of minutes | Weeks, plus construct work | Weeks | Months, and it can fail |
| Gives you energetics | No | Yes, indirectly | No | No |
| Runs on .bloom* | Yes, as paragraph_predict | No — wet lab | No — wet lab | No — wet lab |
The resolution and turnaround rows for the experimental methods come from a seven-technology comparison on five antibody-antigen pairs in MAbs (Dang et al., 2023), which graded crystallography as atomic, alanine scanning as residue-level and HDX as peptide-level.
What Paragraph Actually Predicts#
Paragraph is a graph neural network over the antibody structure. Each residue in the CDR loops and two positions either side becomes a node carrying a 22-dimensional feature vector — a one-hot amino-acid type plus a one-hot chain type — with edges between nodes within 10 Å, and six equivariant graph layers plus three linear layers output a per-residue probability (Chinery et al., 2023). It needs no antigen information at all, which is what makes it usable before you have a complex structure.
Two design choices decide what its output means.
The label is a distance. In training, a residue counts as binding if any of its heavy atoms sits within 4.5 Å of an antigen heavy atom in the complex. So Paragraph is predicting "would this residue be within 4.5 Å of an antigen in a crystal structure", not "does this residue matter for affinity". Those are different properties, and only the first is what the model was ever asked to learn.
The search area is the CDRs. The model is trained on the CDR±2 region and predicts non-binding for everything outside it, so a framework contact — real but uncommon — is outside what it can report.
On its authors' benchmark, trained and tested on the same 460-complex dataset used by PECAN, Paragraph reached a precision-recall AUC of 0.696, against
0.675 for PECAN and 0.646 for a retrained Parapred. On a larger set drawn from the structural antibody database its PR AUC was 0.725 on model structures and 0.757 when crystal structures were used for testing instead. The same paper makes a point worth carrying: a trivial baseline that predicts each position's training-set binding frequency achieved the highest ROC AUC of all methods, 0.952, which is why paratope prediction should be graded on precision-recall rather than ROC. Paratope residues are a small minority of the Fv, and ROC AUC flatters any method on an imbalanced problem. It is also fast: roughly 0.1 s per structure, about 50 times faster than Parapred.
Those numbers were read from the authors' preprint (bioRxiv 2022.06.10.495640); the journal version of record is the Bioinformatics paper cited above.
One layer below that: the structure is predicted too. Paragraph needs a structure, and in a sequence-in workflow that structure is a model. ABodyBuilder2 predicts CDR-H3 loops with an RMSD of 2.81 Å on a benchmark of 34 recently solved antibodies, with framework and non-H3 loops well under 1 Å (Abanades et al., Communications Biology 2023). CDR-H3 is both the least accurate region of the model and usually the largest contributor to the binding site, so the predictions you care about most sit on the shakiest coordinates. Paragraph's authors anticipated this and deliberately validated on model structures rather than crystal structures — the 0.725 versus 0.757 gap is the size of that penalty on their data.
What Each Experiment Calls a Binding Residue#
Crystallography: contacts, atomically#
A co-crystal structure is the reference standard, and the MAbs comparison calls it the gold standard for identifying interactions at atomic resolution, with current practice resolving complexes to as fine as 1.2 Å (Dang et al., 2023). The costs are the familiar ones: that paper puts turnaround in months, material at around 20 mg, and notes that not all complexes crystallise. A structure is also the only method here that gives you both halves of the interface at once, which makes it the only clean comparator for a paratope prediction.
Alanine scanning: energetics, not contacts#
Mutating a residue to alanine and measuring the change in binding tells you whether that side chain contributes binding energy. It does not enumerate contacts. The MAbs authors are explicit about the asymmetry: alanine scanning identified only some residues within the epitope, those that completely abrogated binding, and "this does not indicate that the antibody only binds to those amino acids." Read that in both directions. A residue can be in contact and contribute nothing measurable, so a predicted paratope residue with no alanine-scan signal is not necessarily a false positive. And a mutation can abolish binding by distorting the fold rather than by removing a contact, which is why these experiments need expression and conformation controls.
HDX-MS: protection, at peptide resolution#
HDX-MS compares deuterium uptake between bound and unbound antigen, so the footprint it draws is wherever backbone amides became less exposed. Two properties follow. First, resolution is limited by the peptides the digestion produces: the MAbs comparison found HDX generally revealed larger binding regions than crystallography, and for nivolumab and PD-1 the identified regions accounted for about 40% of the antigen. Second, protection can change far from the contact site. Binding at one site can alter conformation or dynamics elsewhere, and because allosteric changes also alter amide solvent access they can be indistinguishable from the real site — in antibody-antigen work they "may appear as a discontinuous epitope" (Deng et al., mAbs 2017). That paper's millisecond workflow exists to suppress exactly this: at 200 ms labelling the signal is fully developed at the true epitope while allosteric sites stay below the significance threshold.
The other methods in that comparison#
The same study ran cross-linking, hydroxyl radical footprinting, peptide arrays and domain exchange on the same antibodies. Two results are worth carrying over because they show how method choice shapes the answer: cross-linking with a 10–12 Å linker aligned best with the X-ray data, with all identified residues in or close to the epitope, while hydroxyl radical footprinting gives residue resolution but can underestimate an epitope because its reagent reacts with the side chains of only 14 amino acids. None of these is wrong. Each draws a different operational boundary around the same interface.
How to Compare Them Without Fooling Yourself#
If you want to know whether a predicted paratope agrees with your experiment, make the two comparable first.
- Match the side of the interface. Compare a predicted paratope against antibody-side residues: the antibody contacts in a co-crystal, or an alanine scan run on your own CDR positions. A mapped antigen epitope is the wrong comparator, however good it is.
- Match the definition. If your reference is a structure, compute contacts with the same rule the predictor was trained on — any heavy atom within 4.5 Å — before you score agreement. Switching to 4 Å or to a buried-surface-area criterion changes the reference set, and then disagreement is an artefact of your cutoff.
- Score the overlap honestly. Paratope residues are a small minority of the Fv, so report precision and recall, or a precision-recall curve over the probabilities. An accuracy figure, or an ROC AUC, will look excellent for a model that is barely better than position frequency.
- Use the probabilities, not the binary call. The threshold is yours to set. A residue at 0.9 and one at 0.51 are both "paratope" at the default, and they are not the same claim. Sweep the threshold rather than defending one.
- Separate the two failure modes. If a predicted residue is absent from your reference, ask whether the model was wrong, or whether the folded loop it scored was wrong. Running the prediction on an experimental structure, where you have one, separates those.
- Expect energetics to disagree by design. Contact and binding energy are different properties. Do not treat an alanine scan as ground truth for a contact predictor, or vice versa.
Limitations to Keep in View#
- A predicted paratope is not an epitope. It cannot tell you where on the antigen an antibody binds, which is usually what a programme needs to know for competition, escape or patentability questions.
- No affinity, no ranking. Paragraph scores membership of the binding site, not its contribution. It will not tell you which contact to strengthen, nor predict the effect of a mutation.
- The accuracy you get depends on a folded CDR-H3. The loop that most shapes binding is the one the structure predictor models worst, at 2.81 Å RMSD on ABodyBuilder2's benchmark (Abanades et al., 2023).
- Training data skews the reachable answer. The datasets are complexes with paired heavy and light chains, protein antigens and sub-3 Å resolution. A small-molecule or carbohydrate antigen, or an unusual format, is outside what was learned.
- Framework contacts are out of scope by construction, because prediction is confined to the CDRs and two positions either side.
- Benchmark figures are not your antibody. A PR AUC of 0.725 is an average over a test set. It is not a per-residue confidence for the one molecule in front of you.
- Numbering is bookkeeping, not biology. Positions come back IMGT-numbered. Any cross-tool comparison needs the same scheme on both sides, and a mismatched scheme is a silent way to compare the wrong residues. Confirm the alignment of positions yourself rather than assuming two tools agree.
How to Run It on .bloom*#
Paragraph runs as a GPU job that folds before it predicts, so you submit sequences, not structures.
What you supply. One to 20 antibody variable-region sequences, the chain type you want reported (H or L), and a probability threshold, which defaults to 0.5. Optional names keep the results readable. The full parameter list is in the Paragraph inputs reference.
What the job does. Each sequence is folded into a paired Fv with ImmuneBuilder's ABodyBuilder2 inside the job, and Paragraph's network is run over that model. Worth knowing: the job takes one real chain per sequence and pairs it with a built-in reference partner chain to build a complete Fv, then reports only your chain's residues. So if the pairing of your own heavy and light chains matters to the loop conformations, run each chain and read the result for what it is — a prediction on your chain in a reference Fv context, not on your exact pairing.
What comes back. A per-residue table of position, amino acid, probability, paratope call and region label; the list of residues above your threshold; and summary counts including a mean paratope probability, described in the Paragraph outputs reference. Read the probabilities rather than the binary flags, and keep the threshold you used with the result.
Where it fits. The paratope is the guardrail for everything that rewrites sequence: humanisation, loop redesign, developability fixes. Run it first, then keep its high-probability positions fixed. The antibody engineering overview shows how the mapping step constrains the rest, and the Paragraph quickstart is the shortest path to a first result.
Access. paragraph_predict runs without an account.
For neighbouring reading on the same in-silico-versus-experiment question: binding pocket prediction on AlphaFold models versus experimental structures asks it for small-molecule sites, and ESMFold vs AlphaFold2 covers the structure-prediction step that every structure-based predictor inherits.
Key Takeaways#
- Paratope and epitope are opposite sides of one interface. Compare antibody-side predictions with antibody-side measurements.
- Every method defines a binding residue differently — 4.5 Å contact, lost binding energy, changed solvent protection — so partial disagreement is expected, not a defect.
- HDX-MS draws a larger footprint than a crystal structure, at peptide-level resolution and vulnerable to allosteric change; alanine scanning draws a smaller one, because it finds hot spots rather than contacts.
- Grade paratope prediction on precision-recall. On the Paragraph authors' benchmark, a position-frequency baseline won on ROC AUC.
- The folded CDR-H3 is the weak link in any sequence-in paratope prediction.
- Prediction is a guardrail, not a substitute. It tells you which residues to protect in minutes; it does not tell you where on the antigen your antibody binds.
Map the paratope before you redesign the loop, keep the probabilities with the result, and run paragraph_predict on your own sequences on the .bloom* platform.
References#
- Chinery, L., Wahome, N., Moal, I. & Deane, C.M. "Paragraph—antibody paratope prediction using graph neural networks with minimal feature vectors." Bioinformatics 39, btac732 (2023). doi:10.1093/bioinformatics/btac732 · preprint: bioRxiv 2022.06.10.495640 · code: oxpig/Paragraph
- Abanades, B., Wong, W.K., Boyles, F., Georges, G., Bujotzek, A. & Deane, C.M. "ImmuneBuilder: Deep-Learning models for predicting the structures of immune proteins." Communications Biology 6, 575 (2023). doi:10.1038/s42003-023-04927-7 · code: oxpig/ImmuneBuilder
- Dang, X., Guelen, L., Lutje Hulsik, D. et al. "Epitope mapping of monoclonal antibodies: a comprehensive comparison of different technologies." mAbs 15, 2285285 (2023). doi:10.1080/19420862.2023.2285285
- Deng, B., Zhu, S., Macklin, A.M. et al. "Suppressing allostery in epitope mapping experiments using millisecond hydrogen / deuterium exchange mass spectrometry." mAbs 9, 1327–1336 (2017). doi:10.1080/19420862.2017.1379641
- Liberis, E., Veličković, P., Sormanni, P., Vendruscolo, M. & Liò, P. "Parapred: antibody paratope prediction using convolutional and recurrent neural networks." Bioinformatics 34, 2944–2950 (2018). doi:10.1093/bioinformatics/bty305
- Dunbar, J., Krawczyk, K., Leem, J. et al. "SAbDab: the structural antibody database." Nucleic Acids Research 42, D1140–D1146 (2014; online 2013). doi:10.1093/nar/gkt1043