Since v0.2, every residue cell carries a vector of non‑covalent (and covalent disulfide) interactions, computed from the 3D structure. The overlay lets you read the wiring of the fold directly on the 2D proteomap — H‑bond ladders, buried salt bridges, aromatic clusters, and the canonical disulfide — and makes β‑bulges legible as the places where the H‑bond register breaks.

Colors follow the iCn3D convention so the 2D map reads the same as the 3D viewer:
| Type | Line color | Fluorescent cell highlight | Notes |
|---|---|---|---|
| H‑bond | green #22c55e |
#5bff8f |
backbone (bb), backbone–sidechain (bs), sidechain (ss) |
| Salt bridge / ionic | cyan #00e0e0 |
#5bffff |
Asp/Glu ↔ Lys/Arg/His, ≤ 4.0 Å |
| π‑stacking (π–π) | blue #0b2fd6 |
#6a86ff |
aromatic ring centroids ≤ 6.5 Å |
| cation‑π | red #ef2d2d |
#ff6b6b |
Lys/Arg ↔ aromatic ring, ≤ 6.0 Å |
| disulfide | yellow #f5c400 |
#ffe680 |
Cys SG–SG ≤ 2.5 Å (drawn as a thick bridge) |
| halogen | magenta #d63dd6 |
#ff86ff |
reserved; none in CD8α |
| contacts | grey #9aa0a6 |
— | reserved |
→ = donates,
← = accepts for H‑bonds), labeled by residue + PDB number + strand.Convention: dotted lines = whole‑network overview (toggles); solid lines = the focused selection’s local network.
A clean antiparallel β‑ladder puts each cross‑strand H‑bond partner on the same grid row. A β‑bulge breaks that: one residue H‑bonds to two consecutive residues on the partner strand, at different rows. On the map this appears as a residue whose two green H‑bond lines fan out to adjacent rungs. In CD8α the B–E and F–C interfaces show this pattern (e.g. E‑strand F84 wired to both G15 and E16 on the B strand).
assignments/CD8a-P01732.interactions.json is keyed by IgStrand number:
{
"7556": {
"hbonds": [
{ "dir": "donate", "label": "E16(B)", "igs": 2544, "kind": "bb", "dist": 3.11 },
{ "dir": "accept", "label": "G15(B)", "igs": 2543, "kind": "bb", "dist": 2.82 }
],
"salt": [],
"pipi": [ { "label": "W12(A)", "igs": 1850, "dist": 6.49 } ],
"catpi": [],
"disulfide": []
}
}
Each partner carries its igs (IgStrand number) so the widget can resolve the
partner’s cell for drawing lines and navigation. The vector is open‑ended — new
channels (e.g. cation‑π to His, hydrophobic contacts, per‑residue burial) slot
in as additional keys and render with the same line/halo machinery.
tools/compute_interactions.py derives the vectors from a PDB/mmCIF file with
explicit hydrogens (e.g. an iCn3D “save files → PDB” export). See the script
header for geometric criteria and usage. Output is keyed by PDB residue number;
map to IgStrand numbers via the assignment file.