Jean docs
Analyze

Antibody Numbering

This is the manual. Antibody Numbering runs in your browser, free, no account.

Open Antibody NumberingTry it on the Antibody numbering sampleOverview

Find the antibody and T-cell-receptor variable domains in a protein, number them under IMGT, Kabat, Chothia, Martin, AHo or Wolfguy, assign their closest germline genes, and scan them for sequence liabilities.

Reached byTools → Antibody Numbering · right-click a coding sequence → More → Antibody numbering
FormatsCSV
Sample projectAntibody numbering

What it does

Reads a protein (a coding sequence on your construct, a region you selected, or residues you paste), finds every immunoglobulin or T-cell-receptor variable domain in it, and gives each residue its position in a standard numbering scheme. A single chain, a Fab arm or an scFv with two domains in a row are all handled: each domain is found, typed and numbered on its own.

Numbering is what makes two antibodies comparable. Position H95 means the same place in every heavy chain, so a CDR can be cut out, grafted, compared against a germline or searched for a known risk motif without aligning anything by hand.

What this computes

Per domain

  • chain type: heavy, kappa, lambda, or TCR alpha, beta, gamma or delta
  • species of the best-scoring profile HMM, among those you allow
  • domain span in the input, first and last residue
  • bit score and E-value of the profile HMM hit that found it
  • numbering of every residue in the scheme you chose, with insertion codes (H82A, H82B…)
  • framework and CDR regions: FR1, CDR1, FR2, CDR2, FR3, CDR3, FR4, with the residues of each, under the CDR definition you chose
  • CDR3 length
  • closest V and J germline genes and the percent identity to each, searched in the species you allow

Per CDR canonical class (CDR-H1 and H2 on a heavy chain; L1, L2 and L3 on kappa or lambda)

  • canonical structure class: the cluster of known loop conformations the CDR most likely adopts (H1-13-A, L3-9,10-A…), or none, with the reason
  • median structure of that cluster, a PDB chain, and how many structures the cluster holds
  • class score: the mean, over the loop's residues, of the cluster's position-specific log-odds, beside the threshold it had to clear
  • every competing cluster of the same loop length, with its score
  • per-residue log-odds in the chosen class: the residues that favor it and those that argue against it

Per residue, against the germlines or a repertoire (IMGT numbering)

  • germline residue frequency: the share of the species' IMGT germline V and J alleles that carry this residue at its IMGT position, with the count behind it (for example 0 of 249 alleles)
  • repertoire residue frequency: the share of expressed human antibody sequences from the Observed Antibody Space that carry it there, counted once per unique sequence (for example 57 of 196,303 heavy chains), with the subset named: naive B cells from the blood of healthy donors (Jaffe et al. 2022)
  • commonest residue at that position and its share, and how many residues tie with it
  • rare residue flag: below the cut you set (1% by default, the cut abYsis uses for an "unusual" residue)
  • residue × position heatmap of the whole distribution, and the full distribution at any position you pick

Per liability

  • Asn deamidation (NG, NS, NT, NN, NH)
  • Asp isomerization (DG, DS, DT, DD, DH)
  • N-linked glycosylation sequon (N-X-S/T, X not proline)
  • Asp-Pro acid cleavage (DP)
  • Met and Trp oxidation
  • unpaired cysteine, and a missing conserved cysteine at IMGT 23 or 104
  • for each: the motif, its residues, its IMGT positions, its region, whether it sits in a CDR, and the published source of the rule

Per humanization

  • humanized sequence: the same domain with its framework residues replaced by the ones an antibody language model scores highest for a human antibody, the original CDRs kept
  • each change: its position in the numbering, its region, the parental and humanized residue, and the model's probability for each of the two at that position
  • identity of the humanized domain to the one you started from, and how many positions changed
  • what a further pass would change, scored on the humanized sequence rather than the original

Per CDR graft

  • the closest human germline V and J genes, and the four runners-up for each
  • the grafted sequence: that germline's frameworks carrying this antibody's CDRs, with the positions that changed marked
  • identity of the grafted domain to the one you started from

Per paired molecule (this chain with a partner chain from the project, as a Fab or an IgG)

  • molecular weight of the whole molecule
  • isoelectric point and net charge at the pH you set
  • extinction coefficient at 280 nm and the A280 of 1 g/L, with cysteines reduced and with every cysteine pair formed into a cystine

The variable domain's own molecular weight, isoelectric point, net charge and GRAVY are shown beside its map, which can also plot any ProtScale residue scale along the residues.

Per comparison (several antibodies at once, heavy chains or light chains)

  • the numbering alignment: every chain set against the others position by position, the columns being the scheme's own positions (insertions included), so nothing is re-aligned
  • columns that differ, how many of them sit in the CDRs, and the columns where every chain is identical or only similar residues meet (BLOSUM62 above zero)
  • for each variable domain: length, molecular weight, isoelectric point, net charge at the pH you set, GRAVY, extinction coefficient at 280 nm, and the CDR charge, the net side-chain charge of its CDR residues
  • one chain against the rest: each of those properties beside the range the other chains span, and which ones fall outside it
  • records left out, each with its reason (no domain of the chosen class, or a scheme that cannot number it)

Per run: every profile HMM hit over the threshold, including hits to chain types you excluded, so you can see what was found as well as what was numbered.

When you'd use this

  • You have a heavy or light chain and need its CDRs in a named scheme for a paper, a patent or a humanization design.
  • You want to know which germline an antibody came from and how far it has matured.
  • You are choosing between candidate antibodies and want the chemical risks inside their CDRs listed before anything goes into a vial.
  • You need a numbering table to hand to a structure or modelling tool that expects Kabat or Chothia.

Controls

  • Target: the selection, a Feature (coding features first, translated with the Genetic code you pick), or a pasted Antibody or TCR chain (residues or coding DNA).
  • Scheme: IMGT, Kabat, Chothia, Martin (enhanced Chothia), AHo or Wolfguy. This numbers the table and the CSV; it does not move the CDRs.
  • CDR definition: IMGT, Kabat, Chothia or North. Each definition reads its borders in its own numbering (North in Chothia's), so the same chain can have CDRs of different lengths: Kabat's CDR-H1 is shorter than Chothia's, and North extends several CDRs at both ends. Kabat, Chothia and North define antibody chains only, so a T-cell-receptor domain keeps IMGT's CDRs and the panel says so. Liabilities are always placed by IMGT region.
  • Chain types and species: which profile HMMs may claim a domain and which germline sets are searched.
  • Minimum bit score: a domain must score at least this much to be numbered (80 by default).
  • Constant region identity: the domain map names a chain's isotype (IgG1, kappa and so on) only where a constant domain is at least this identical to its IMGT reference (0.6 by default). Raise it to accept only a close match; when nothing clears it, the map says so.
  • Assign germline V and J: on by default. The closest IMGT germline by identity over the aligned positions, with J from the same species as V.
  • Liabilities: which rules to report, and CDRs only to report just those starting inside CDR1, CDR2 or CDR3.
  • CDR grafting: the Human V germline and Human J germline to graft onto (Closest to this chain, or ones you name), the germline rank (1 takes the closest, 2 the second closest, to try another framework), and Rank on frameworks only, which chooses the germline by framework identity since the CDRs are replaced anyway.
  • Physicochemistry: the pH charges are read at, the partner chain (heavy for a light chain, light for a heavy one), and the format, Fab or IgG.
  • Compare antibodies: Heavy or Light chains, the CDRs whose definition (and numbering) aligns them, the pH for the two charges, and a box for each protein record in the project. A record holding both chains contributes the class you chose; one holding two domains of it contributes both. Click a row of the table to hold that chain up against the others, and Open as alignment to see the rows in the alignment view, with the CDRs as bands over their columns.
  • Canonical classes: the Numbering the clusters are read in (IMGT or Chothia) and the CDR borders that cut each loop (IMGT, Chothia or North, by the method's own tables, which for North differ slightly from the CDR definition above). IMGT numbering and North borders are the method's own defaults.
  • Residue frequencies: the Distribution each position is counted over (Germline alleles of IMGT, or the Repertoire of expressed sequences from the Observed Antibody Space), the Germline species for the germline distribution, and Rare below, the percent under which a residue is flagged.
  • Humanization: Sapiens passes (each one re-scores the previous output; one is BioPhi's default), Humanize the CDRs too, and Keep the Vernier zone, which holds the parental residues at the 14 to 16 Kabat positions under the CDR loops that shape them.

Kabat, Chothia, Martin and Wolfguy do not number T-cell-receptor chains, and cannot place some rare insertions. When that happens the panel says which domain was refused and why, and still shows its IMGT numbering, CDRs and liabilities.

The science

Each domain is found by scanning the protein against profile hidden Markov models built from IMGT's germline V and J genes, one per species and chain type, with HMMER's scoring. The best hit fixes the chain type and species; its alignment to the model's 128 match states is the IMGT numbering, and the other schemes are derived from that alignment by each scheme's published rules for where insertions go.

Humanization uses a masked language model trained on human antibody repertoires. Given a variable domain it reports, for every position, how likely each of the twenty amino acids is at that position in a human antibody; the humanized sequence is built by taking the most likely residue in the frameworks. The CDRs are put back as they were, because they are what binds the antigen and the model has no way to know that. Keeping the Vernier positions as well is the more conservative choice: those residues do not touch the antigen but they hold the loops in place, and changing them is a known way to lose affinity while the CDRs themselves are untouched.

CDR grafting is the other, older route to the same goal, and the tool offers both. Instead of proposing residues one at a time, it finds the human germline V and J genes closest to your domain, joins them into one framework, and puts your CDRs onto it. The result is a sequence whose frameworks a human being actually carries, which is what most approved humanized antibodies are. It usually changes more positions than the language model does, and keeping the Vernier zone matters more here for the same reason.

This says what a human-like version of your sequence looks like. It is not a measure of how human your sequence already is: that is a different question, answered by comparing its peptides against the prevalence of those peptides in sequenced human repertoires, and it needs a database far too large to run in a browser. A small number of changes means the model has little to suggest, which for an already-humanized antibody is the expected answer, not a score.

The liability rules are sequence motifs taken from the literature, not predictions of what will happen in a particular formulation. A motif in a CDR is worth a closer look; a motif that is buried, or flanked by residues that slow the reaction, may never react. Treat the list as places to look.

Worked example

Open the Antibody numbering sample project. It holds the three chains of the trastuzumab (Herceptin) Fab bound to HER2, from PDB entry 1N8Z.

  1. Open the heavy chain. One human heavy-chain domain is found over residues 1–120, and CDR1, CDR2 and CDR3 are drawn on the sequence.
  2. Read Canonical classes, under Regions. The heavy chain's H1 is class H1-13-A, scoring +2.19 against a threshold of +0.50 (its runners-up score +0.12 and below), and H2 is H2-10-A; the light chain's three are L1-11-A, L2-8-A and L3-9,10-A. Each class names a median structure you can open, and on the domain map the dots under it mark which residues favor it.
  3. Read Residue frequencies. Six of the heavy domain's residues occur in none of the human alleles that reach their position: IMGT 29 is Asn, absent from all 249 heavy V alleles, where Thr is commonest, and 107 is Trp, absent from the 38 alleles there, where Ile is commonest. The kappa domain has six as well. These are the places trastuzumab departs from every inherited human gene, which is where its murine CDRs and its engineering sit. Click a column of the heatmap for the full distribution there. Switch Distribution to Repertoire: the same six heavy residues stay rare, but none is absent, because expressed antibodies carry what no germline does (Asn at 29 in 57 of 196,303 heavy chains, Trp at 107 in 1,271). In the kappa domain, Pro at 116 drops off the list: no human J allele has it, yet about one expressed kappa chain in ten does (4,267 of 41,883).
  4. Turn on CDR only. The heavy chain shows five CDR liabilities; the light chain shows one.
  5. Compare them with the bench. Harris et al. (2001) separated seven charge forms of this antibody and traced them to three modified residues: deamidation of light-chain Asn30, isomerization of heavy-chain Asp102 (the low-potency form), and deamidation of heavy-chain Asn55. All three are in the list, at CDR-L1, CDR-H3 and CDR-H2. The other three matched a rule but were not reported as modified, which is what a sequence rule means.
  6. Humanize the light chain. It changes four framework positions and leaves the domain 96.3% identical, which is what a humanized therapeutic should give: trastuzumab's frameworks are already human, so the model has almost nothing to move. Each change lists its two probabilities, so you can see how weakly or strongly the model preferred the human residue.
  7. Graft the light chain's CDRs instead. The closest human germline is IGKV1-39, joined to IGKJ1, and the graft is 95.3% identical to the parental domain. That germline is the right answer twice over: it is the acceptor framework trastuzumab was actually built on, and it is also the gene the germline assignment above reports for this chain, by a different calculation.
  8. Open the HER2 chain. It is not a variable domain, nothing scores above the threshold, and the panel says so rather than numbering it.
  9. Press Compare antibodies. The project also carries eight light chains from other structures that share trastuzumab's germline, IGKV1-39, and the nine line up on 108 Kabat positions: 24 columns differ and 18 of those sit in the CDRs, which is what one shared framework looks like. The radar holds trastuzumab against the other eight and finds it outside their range on one property only, CDR charge: +0.03 against +0.99 to +1.99. The heavy chain and HER2 are listed as left out, because neither holds a light-chain domain.

Limitations

  • Numbering needs a variable domain. Constant domains, and heavily engineered scaffolds that no longer resemble a germline, are not numbered.
  • Germline assignment reports the closest gene in the species you allow; it does not model somatic hypermutation or D-gene usage.
  • A canonical class is a prediction from sequence, from clusters of structures solved up to 2019. A loop of a length no cluster holds, or one that scores below the threshold against all of them, gets no class, and CDR-H3 has no canonical classes at all. T-cell-receptor domains are not classified.
  • The germline distribution counts reference alleles, one per gene, not expressed antibodies: somatic mutation and selection are not in it, so a residue rare among germlines can be common in mature antibodies. The repertoire distribution is one named subset of the Observed Antibody Space, human naive B cells from healthy donors, not all of it: naive cells carry little somatic mutation, so it is closer to what is expressed than to what has matured, and it has no other species and no T-cell receptors. Insertions such as 111A have no IMGT position and get no frequency in either.
  • Liabilities are motifs. Their reaction rates depend on structure, flanking residues, pH and temperature, none of which a sequence scan can see.
  • Humanization is a sequence proposal, not a design. The model sees no structure, no antigen and no affinity data; a humanized framework can still lose binding, and every proposal is a candidate for the bench rather than a result.
  • Humanness itself is not scored, for the reason given above.
  • CDR grafting replaces the frameworks wholesale. Framework residues that support the loops are lost unless you keep the Vernier zone, and even then a graft can lose affinity; grafted antibodies are normally a starting point for back-mutation at the bench.
  • Human germlines are available for heavy, kappa and lambda chains only.
  • A comparison holds one class of chain. Heavy and light chains have different numberings, so a column could not mean the same position in both; compare each class on its own.
  • Kabat and Chothia leave some very long heavy-chain CDR3s (the bovine ultralong ones) un-numbered. Such a chain is left out of a Kabat or Chothia comparison with that reason; IMGT numbers it.
  • The model was trained on heavy and light antibody chains. T-cell-receptor domains cannot be humanized, and the panel says so instead of scoring them against the wrong model.
  • Domains longer than 142 residues are refused: the model has no position beyond that, and a truncated answer would be worse than none.

Export

Humanization CSV: one row per changed position, with its numbering, region, both residues and both probabilities. Numbering CSV: one row per numbered residue: domain, chain, position in the chosen scheme, residue, residue index, region and the CDR definition that placed it. Liabilities CSV: one row per hit, with its motif, span, IMGT positions, region, CDR flag and source.

Automation

Available as the number_antibody, antibody_liabilities, humanize_antibody, graft_antibody_cdrs, antibody_molecule, compare_antibodies, antibody_canonical_classes and antibody_position_frequencies workflow nodes, with the same settings as the panel, so a batch of chains can be numbered and screened in one run. The scientific copilot can call both by name.

Provenance

Numbering, chain typing and germline assignment match ANARCI's output exactly on every chain of its PDB benchmark, under all six schemes. CDR borders under all four definitions match abnumber's on every antibody chain of the same benchmark, except in two places where abnumber is wrong and this tool is corrected: a lambda residue numbered Kabat or Chothia 108 stays in FR4 instead of stopping the run, and North borders are read straight from each residue's Chothia number, so they are not shifted by a residue. The profile HMMs and germline sequences are built from IMGT (CC BY 4.0). Each liability rule names its source:

  • Asn deamidation and Asp isomerization: Lu et al., mAbs 11
    (2019)
  • N-linked glycosylation sequon: PROSITE PS00001
  • Asp-Pro cleavage: Vlasak & Ionescu, mAbs 3
    (2011)
  • Met and Trp oxidation: Hensel et al., PLoS One 6
    (2011)
  • the worked example: Harris et al., J Chromatogr B 752
    (2001)

Humanization reproduces the published Sapiens model exactly: the residue it proposes at every position agrees with the reference implementation on every antibody chain of the same benchmark, and the full probability tables agree to within float32 rounding. The model and the humanization procedure are those of Prihoda et al., mAbs 14

(2022).

Molecule properties match Biopython's ProtParam on every heavy and light chain pair of the same benchmark, as a Fab and as an IgG; each chain keeps its own ends, so the molecule is not the chains joined end to end.

Comparisons reproduce abnumber's alignment of numbered chains, its column order, its handling of duplicated positions and its counts of differing, identical and similar columns, on sets of eight chains covering every antibody chain of the same benchmark. The per-domain properties and the CDR charge match Biopython's ProtParam on every heavy and light domain, under IMGT, Kabat and Chothia.

Canonical classes reproduce SCALOP's (Wong, Georges, Ralph and Deane, Bioinformatics, 2019) on every heavy, kappa and lambda chain of the same benchmark, under both numberings and all three CDR border tables: the loop, the score of every competing cluster, the class and its median structure. The clusters and their scoring matrices are SCALOP's 2019-10 release (BSD-3-Clause).

Residue frequencies are counts of IMGT/GENE-DB's own germline alleles (CC BY 4.0), aligned to the IMGT positions as ANARCI ships them, and match an independent count of the same alignments for every chain type and species. The 1% cut for an unusual residue is abYsis's (Swindells et al., J Mol Biol, 2017), which abYsis applies to a repertoire rather than to germlines.

The repertoire distribution counts every unique human heavy, kappa and lambda sequence in the Observed Antibody Space's naive B-cell data from the blood of healthy donors in Jaffe et al. 2022, as numbered by the database itself (Olsen, Boyles and Deane, Protein Science, 2021; CC BY 4.0): 196,307 heavy, 41,893 kappa and 29,978 lambda chains from 57 data units, retrieved 21 October 2026. The counts match an independent recount of every data unit, residue for residue.

CDR grafting reproduces abnumber's: the germline it picks, the merged framework and the grafted sequence agree on every antibody chain of the same benchmark. The human germline sequences are IMGT/GENE-DB's (CC BY 4.0).

Feeds it: any coding feature or selection on the canvas, and Protein Analysis for the same chain's mass, pI and hydropathy.

Follows it: Protein Domains, to see the constant domains around the variable one · Protease Digest, to check that a liability you care about lands on a peptide you can measure.

On this page