A kit for AI-generated TCR–pMHC structures#
AlphaFold and TCRmodel2 will seat any TCR–peptide–MHC candidate in a plausible low-energy pose, binding or not. The generator’s own confidence reports whether a plausible interface could be built; it does not report whether the chemistry and shape across that interface are those of a real complex. TCRen2 reads the second question from the coordinates alone, with no binding label and nothing the generator emits. This page is the decision procedure.
This page documents the fit-free predecessor tier, which is still shipped and still reported.
The score set that generalises it is Assessing a modelled complex, and S composes with the posterior there
rather than being replaced by it.
Two commands#
The expensive pass — parse, annotate, contact map, descriptors — runs once:
tcren features -s models/ -i placement,interface,topology,energetics -o feats.tsv
tcren recognize --features feats.tsv -o scores.tsv
scores.tsv carries Q (interface geometry), T (footprint shape) and S, their
composition with the contact energy in native-sd units. Join your generator’s iptm / plddt
on the structure-file stem if you want to compose with them; they are not structural quantities, so
tcren does not compute them.
For a per-structure decision rather than a score table, tcren assess reads the same feature file
and adds the score set, the ranking and the generator diagnostic — see Assessing a modelled complex for the
read-outs and Reliability: scoring one modelled structure for S and the band table.
The three questions the kit answers#
- 1. Does this receptor bind this epitope?
S(tcren.reliability.s_score()) is this tier’s answer: three fit-free directional blocks — geometryQ, footprint topologyT, and the interface energy read against the partition function — each divided by its own native spread, so they carry equal weight in native-sd units. Nothing is fitted at score time, so it is defined for a single structure and its value does not depend on what else you scored alongside it.Sleads the functionally validated receptor screen on its own, at ROC-AUC 0.818 against the generator confidence’s 0.795, and it adds totcren.score.binder_score()rather than being superseded by it: together they read 0.783 on the template-covered stratum of the VDJdb panel against 0.665 and 0.682 alone.The cohort-refit posterior that used to sit beside it was discarded in 2.26.0. It refitted a latent class per call, so it was undefined for one structure and its numbers depended on which rows the fit was anchored on — neither property survives contact with a user who has one model.
- 2. Did the generator have a template, and does that matter?
It matters enormously, and this is the result the method exists for. Split the VDJdb benchmark by whether some receptor has already been co-crystallized with that peptide, and every score that reads the interface collapses when the template goes:
macro ROC-AUC
template-covered
template-free
lost
generator ipTM
0.692
0.555
0.136
interface geometry
Q0.729
0.497
0.232
shape channel
T0.756
0.608
0.148
The shape of a footprint — how evenly six loops spread their contacts, whether the touched surface is one patch or several — is invariant under the rigid-body placement a co-folding model is optimizing, which is why it still says something once that model has produced a confident pose. Note also that the generator’s confidence does not fall to warn you: a pose built without a template is scored confidently and wrongly.
- 3. Is the recognition signal intrinsic, or an artefact of the generator?
Intrinsic. On experimental crystals, scoring the native epitope against wrong-epitope decoys of the same length on the fixed crystal contact map — no AlphaFold, no re-docking — ranks the native above the decoys.
Composing with the generator’s confidence#
The generator’s confidence and the structure are two read-outs of the same complex, and composing them is worth measuring rather than assuming. Report the confidence on its own, the structural score on its own, and the two together, on identical rows — a combination quoted without both of its parts cannot be checked.
What the kit does not claim#
Not affinity. TCRen2 ranks specificity. What a static interface reads of dynamics is specific and not uniform: the rupture work tracks the dissociation rate, ride height and coverage entropy track the equilibrium free energy where the rupture work does not, and alanine ΔΔG stays with molecular dynamics. See Interface feature reference, Beyond the contact sum and
tcren mechanics.Not a substitute for reporting template coverage. Nothing computable from the model announces which regime a cohort is in — the generator’s confidence least of all — so template availability is a covariate to report, not one to infer. It needs only a PDB lookup on the peptide.
Not a number you can carry between versions. Every table
tcren featureswrites is stamped with the descriptor catalogue that produced it, andtcren recognize --featuresrefuses a table written under a different one. A score is only meaningful against the catalogue it was computed from; recompute rather than re-read.