Scientific contractRFantibodyEN / 中文captured 2026-08-12

How CDR boundaries are defined: Chothia-derived HLT for generation, IMGT for reporting

A residue-level worked example and implementation contract for research, API, web, and mobile teams. The purpose is not to force two scientific coordinate systems to agree; it is to preserve exactly what each system means.

The one rule

Generation asks “which structural residues may the model redesign?” Reporting asks “which residues does IMGT call CDRs in the final sequence?” They are different questions. Store both answers with their purpose and coordinate system; never replace one with the other.

Do not write this

H1 = GGSEYSYSTF — scheme missing

position 26 — coordinate system missing

IMGT mismatch — difference is not automatically an error

Figure 1 · Two coordinate systems in one pipeline
01
Chothia-numbered PDB
Chain-local residue addresses + insertion codes
H31A · H52A · H100A…
02
HLT structure mask
Explicit REMARK labels on absolute PDB residues
REMARK … 26 H1
03
RFdiffusion-Ab
Redesign only the labeled loops
generation_mask
04
Final sequence → IMGT
Re-number every candidate for annotation and reporting
sequence_annotation

The branch is intentional. HLT remains provenance for what the generator was allowed to change. IMGT is recomputed from each final candidate sequence for annotation, comparison, and reporting.

Real sequence: h-NbBCII10 VHH

The official upstream RFantibody HLT example for the h-NbBCII10 framework name, used here as the canonical scientific fixture. Heavy/VHH chain, 127 residues.

chain Hlength 127upstream 8fe31141
1–10
QVQLVESGGG
11–20
LVQPGGSLRL
21–30
SCAASGGSEY
31–40
SYSTFSLGWF
41–50
RQAPGQGLEA
51–60
VAAIASMGGL
61–70
TYYADSVKGR
71–80
FTISRDNSKN
81–90
TLYLQMNSLR
91–100
AEDTAVYYCA
101–110
AVRGYFMRLP
111–120
SSHNFRYWGQ
121–127
GTLVTVS
Source PDB SHA-256
ab444bb19d8391b1b75decd0026e0d9f09affff5a702a6180edc990bbda3095e
Sequence SHA-256
af2df909cfb939f5bbd6c856f1a249fefdf536f22a568104ee623389681bd159
Independent annotation
ANARCI 2026.2.13.2 / AbNumber 0.4.4
Current implementation audit · do not assume file equivalence
canonical fixture
Upstream HLT example

One H/VHH chain with explicit H1/H2/H3 REMARK labels; this page's residue map comes from that exact file.

SHA-256 ab444bb19d8391b1b75decd0026e0d9f09affff5a702a6180edc990bbda3095e

different local file
Repository-local file

A raw 3EAK PDB with chains A/B and zero HLT REMARK labels. It is used as a sequence source during fixed-CDR framework assembly, not as evidence of an HLT mask.

SHA-256 6aa99fa43e5d9da305a5f52f18b3cf48ad7c49c14c7a0faadb3e4fcadcbf9147

provider provenance gap
Hosted production preset

Production submits the name h-NbBCII10. The provider does not currently return its exact framework artifact/hash, so byte-level equivalence to the upstream fixture is unproven.

Current contract and remaining gap: Every new run now stores the generation-mask contract and selected reporting definition; candidate exports include annotation status, backend/version, CDR sequences, and numbered positions. The provider still does not return its exact framework artifact/hash or HLT labels, so that gap stays explicit. Approximate fallback output is labelled and must remain outside authoritative scientific export.
Figure 2 · Every boundary residue, side by side
Shared by HLT and IMGTIMGT-only boundary residueIMGT rowFramework in that row
H1raw sequence window 21–42
HLT 26–35 · IMGT 26–36
raw pos
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
residue
S
C
A
A
S
G
G
S
E
Y
S
Y
S
T
F
S
L
G
W
F
R
Q
HLT · gen
·
·
·
·
·
H1
H1
H1
H1
H1
H1
H1
H1
H1
H1
·
·
·
·
·
·
·
IMGT · report
·
·
·
·
·
H1
H1
H1
H1
H1
H1
H1
H1
H1
H1
H1
·
·
·
·
·
·
H2raw sequence window 49–67
HLT 55–60 · IMGT 54–61
raw pos
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
residue
E
A
V
A
A
I
A
S
M
G
G
L
T
Y
Y
A
D
S
V
HLT · gen
·
·
·
·
·
·
H2
H2
H2
H2
H2
H2
·
·
·
·
·
·
·
IMGT · report
·
·
·
·
·
H2
H2
H2
H2
H2
H2
H2
H2
·
·
·
·
·
·
H3raw sequence window 94–121
HLT 102–117 · IMGT 100–117
raw pos
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
residue
T
A
V
Y
Y
C
A
A
V
R
G
Y
F
M
R
L
P
S
S
H
N
F
R
Y
W
G
Q
G
HLT · gen
·
·
·
·
·
·
·
·
H3
H3
H3
H3
H3
H3
H3
H3
H3
H3
H3
H3
H3
H3
H3
H3
·
·
·
·
IMGT · report
·
·
·
·
·
·
H3
H3
H3
H3
H3
H3
H3
H3
H3
H3
H3
H3
H3
H3
H3
H3
H3
H3
·
·
·
·
Exact boundary table
CDRGeneration · HLTReporting · IMGTExact difference
H1
GGSEYSYSTF
raw 26–35 · 10 aa
GGSEYSYSTFS
raw 26–36 · 11 aa
IMGT-only: S36
H2
ASMGGL
raw 55–60 · 6 aa
IASMGGLT
raw 54–61 · 8 aa
IMGT-only: I54, T61
H3
VRGYFMRLPSSHNFRY
raw 102–117 · 16 aa
AAVRGYFMRLPSSHNFRY
raw 100–117 · 18 aa
IMGT-only: A100, A101
Evidence snapshots
Official HLT PDB · REMARK excerpt
REMARK PDBinfo-LABEL:   26 H1
REMARK PDBinfo-LABEL:   27 H1
...
REMARK PDBinfo-LABEL:   35 H1
REMARK PDBinfo-LABEL:   55 H2
...
REMARK PDBinfo-LABEL:   60 H2
REMARK PDBinfo-LABEL:  102 H3
...
REMARK PDBinfo-LABEL:  117 H3

These labels are read from the exact upstream file; they are not inferred from the sequence in the client.

Independent ANARCI / IMGT annotation snapshot
H1  raw 26-36  GGSEYSYSTFS
    H27 H28 H29 H30 H31 H32 H34 H35 H36 H37 H38

H2  raw 54-61  IASMGGLT
    H56 H57 H58 H59 H62 H63 H64 H65

H3  raw 100-117 AAVRGYFMRLPSSHNFRY
    H105 ... H111 H111A H111B H112C H112B
    H112A H112 H113 H114 H115 H116 H117

The gaps and insertion labels are retained because they are scientific addresses, not display decoration.

Where HLT numbers came from

The official converter starts from Chothia-numbered residues, includes insertion-coded residues inside each CDR range, then removes insertion codes and renumbers the entire H/L/T structure with contiguous absolute indices.

H110 residues
Chothia: H26 · H27 · H28 · H29 · H30 · H31 · H31A · H31B · H31C · H32
HLT absolute: 26 · 27 · 28 · 29 · 30 · 31 · 32 · 33 · 34 · 35
H26 residues
Chothia: H52 · H52A · H53 · H54 · H55 · H56
HLT absolute: 55 · 56 · 57 · 58 · 59 · 60
H316 residues
Chothia: H95 · H96 · H97 · H98 · H99 · H100 · H100A · H100B · H100C · H100D · H100E · H100F · H100G · H100H · H101 · H102
HLT absolute: 102 · 103 · 104 · 105 · 106 · 107 · 108 · 109 · 110 · 111 · 112 · 113 · 114 · 115 · 116 · 117
Why IMGT labels are not continuous

A numbering address is not the same as a raw sequence index. IMGT preserves canonical alignment positions and insertion conventions, so some numbered positions are gaps and some residues receive insertion labels.

H1raw 26–36
H27 · H28 · H29 · H30 · H31 · H32 · H34 · H35 · H36 · H37 · H38
H2raw 54–61
H56 · H57 · H58 · H59 · H62 · H63 · H64 · H65
H3raw 100–117
H105 · H106 · H107 · H108 · H109 · H110 · H111 · H111A · H111B · H112C · H112B · H112A · H112 · H113 · H114 · H115 · H116 · H117
Four concepts that must stay separate
ConceptCoordinateScientific meaning
Chothia numbering + CDR definitionchain-local residue addresses, including insertion codesDefines the source loop ranges used by the official conversion script: H1 26–32, H2 52–56, H3 95–102. Insertions such as H31A or H100A are real residues inside those ranges.
HLT formatabsolute 1-based residue indices in one specific PDBA structure file plus explicit REMARK labels. RFantibody consumes the labels as a design mask. HLT is a file contract, not a fourth universal antibody numbering scheme.
IMGT numberingstandardized residue addresses, including gaps and insertion codesAssigns stable scientific addresses to the final sequence. A contiguous raw sequence can map to non-contiguous IMGT numbers because alignment gaps are part of the scheme.
IMGT CDR definitionCDR1 27–38 · CDR2 56–65 · CDR3 105–117Selects the reporting regions after numbering. It describes the final candidate sequence and must not silently overwrite the generation mask.
Required API / mobile contract
{
  "candidate_id": "h-NbBCII10-reference",
  "chain": "H",
  "sequence_sha256": "af2df909…",
  "boundaries": [
    {
      "purpose": "generation_mask",
      "region": "H1",
      "source_format": "rfantibody_hlt_pdb",
      "source_definition": "chothia-derived",
      "coordinate_system": "pdb_absolute_residue_index_1_based",
      "residue_ids": [26, 27, 28, 29, 30, 31, 32, 33, 34, 35],
      "sequence": "GGSEYSYSTF"
    },
    {
      "purpose": "sequence_annotation",
      "region": "H1",
      "scheme": "imgt",
      "cdr_definition": "imgt",
      "annotation_backend": "anarci",
      "annotation_version": "2026.2.13.2",
      "sequence_start_1_based": 26,
      "sequence_end_1_based_inclusive": 36,
      "numbered_positions": ["H27", "H28", "…", "H38"],
      "sequence": "GGSEYSYSTFS"
    }
  ]
}

The schema deliberately repeats the sequence and coordinate metadata. Scientific records should be self-describing; clients must not reconstruct one coordinate system from another.

Client rendering rules
Render “Generation loop · HLT (Chothia-derived)” and “Reported CDR · IMGT” as separate labels.
Keep chain, purpose, scheme, start/end semantics, tool version, and sequence hash visible or one tap away.
Call a boundary difference “definition difference”, not “mismatch” or “mutation”.
Re-run IMGT annotation on every final candidate; never copy the reference framework's IMGT labels onto a length-changed design.
If native ANARCI is unavailable, mark fallback output approximate and authoritative: false; clients must not treat it as authoritative annotation.
For fixed CDRs, audit exact peptide preservation against the full final sequence; scheme-specific CDR extraction is supporting evidence only.
Small differences that materially change interpretation
Numbering scheme ≠ CDR definition

AHo, Kabat, Chothia, and IMGT can assign addresses and/or region definitions differently. Always record both scheme and cdr_definition.

Sequence index ≠ structure residue id

Missing coordinates, non-antibody chains, chain order, insertion codes, and global PDB renumbering can break numeric equality.

Input mask ≠ final annotation

Generation can change loop length and sequence. The final sequence requires fresh annotation; an input boundary is provenance, not a reusable answer.

Observed coordinates ≠ biological absence

A residue absent from a PDB may be unresolved rather than deleted. Do not infer sequence deletions from coordinate absence without source-sequence evidence.

Tool version changes are scientific changes

Pin ANARCI/database versions and keep the raw numbered positions. Re-annotation can change labels even when the amino-acid sequence does not.

Boundary agreement ≠ model correctness

Correct numbering says nothing about affinity, folding, specificity, or function. Those require separate structural and experimental evidence.

Acceptance checklist
Reference fixture
h-NbBCII10 length = 127; sequence and source-file SHA-256 match
HLT extraction
Read every REMARK PDBinfo-LABEL; resolve the label to the exact PDB residue
IMGT annotation
Run the final candidate sequence through pinned ANARCI; retain gaps and insertion codes
Boundary comparison
Compare by raw sequence position only after candidate, chain, and sequence hash match
Fixed CDR audit
Verify the requested peptide in the full final sequence; use scheme CDRs as diagnostics
Client rendering
No bare ‘H1/H2/H3’: purpose, scheme, coordinate system, and provenance stay visible