# NNC2215 chemistry reconciliation

**Updated:** 26 October 2026
**Decision:** Source-derived B1 glucoside and B29 linker–roof product components match the element-labeled adjacency in both corrected, model-built coordinate candidates. The B1 component has one exact mapping per state and matches the beta-D-glucose reference graph; its B1–B22 fragment mass rounds to the Nature SI value. The neutral B29 graph has 16 mappings per state and eight bond-label transfer classes. A separate, explicitly conditional pH 7.4 tri-carboxylate audit treats each carboxylate C–O pair as resonance-equivalent, reducing those eight bond-label classes to one chemistry-equivalent class per state. The attachment-boundary audit closes the three local heavy-atom joins in each candidate and checks the adjacent native-residue context, while preserving the recorded PheB1 hydrogen discrepancy. The full source-derived neutral constitutional graph is now assembled and formula-consistent under pinned RDKit residue templates. None of these results establishes a measured protonation microstate, full-system charge, force-field parameters, or a production model.

## Evidence reviewed

The 2024 synthesis route says the B29 Lys ε-amino group is first modified with O-succinimidyl pentyn-1-oxycarbonyl at pH 10.5. A B1 O-peracetyl-D-glucoside active ester is coupled near pH 7.5 and then deacetylated. The B29 terminal alkyne is joined to the macrocycle roof propyl azide by copper-catalysed azide–alkyne cycloaddition. The resulting product is reported as C325H461N79O97S6. The article identifies the B29 Lys attachment and B1 Phe N-terminal glycoside attachment; the patent's Example 2 describes the same conjugate and reports the matching calculated mass-to-charge values. See the [2024 article](https://www.nature.com/articles/s41586-024-08042-3), its [Supporting Information](https://media.springernature.com/original/springer-static/esm/art%3A10.1038%2Fs41586-024-08042-3/MediaObjects/41586_2024_8042_MOESM1_ESM.pdf), and [WO2023144240A1 Example 2](https://patents.google.com/patent/WO2023144240A1/en).

The coordinate inputs are the author-supplied, model-built open and closed structures by Eva Johansson and Daniele Granata, [“3D models of NNC2215”](https://springernature.figshare.com/articles/dataset/3D_models_of_NNC2215/26526460), Figshare DOI 10.6084/m9.figshare.26526460, licensed CC BY 4.0. The PDBs linked in this report are modified coordinate candidates derived from those files; they are not the original author files or experimentally solved structures.

The numbered schemes identify six B29 linker carbons (source C3–C8) and the three-carbon roof propyl-azide tail (source C21–C23). Formula arithmetic in [the existing audit](data/nnc2215-model-formula-audit.json) gives a desB30 insulin parent of C253H376N64O75S6 and an attachment difference of C72H85N15O22. The B1 attachment accounts for C10O8 heavy atoms. The B29 linker–roof appendage, excluding the LysB29 NZ endpoint, consists of the reported C56H63N15O12 macrocycle roof propyl azide plus the C6H6O2 B29 linker after the NHS leaving group departs, giving C62N15O14 heavy atoms.

The publisher's model PDBs have a 113-node/120-edge heavy-atom adjacency match for the selected PHX/LYX/MC and attachment scope, after documented open/closed LYX name aliases. [The connectivity audit](data/nnc2215-connectivity-audit.json) confirms that these records give adjacency only; PDB CONECT/LINK data do not encode bond order or formal charge.

## Source-derived roof macrocycle graph — 25 October 2026

The isolated roof propyl-azide structure from Extended Data Fig. 8i is recorded as an atom-mapped SMILES in [`structures/nnc2215-roof-propyl-azide.smi`](structures/nnc2215-roof-propyl-azide.smi), with a graph-ID legend in [`data/nnc2215-roof-macrocycle-atom-map.json`](data/nnc2215-roof-macrocycle-atom-map.json). The RDKit audit [`data/nnc2215-roof-macrocycle-graph-audit.json`](data/nnc2215-roof-macrocycle-graph-audit.json) reports C56H63N15O12, 83 heavy atoms, 83 unique map IDs, formal charge 0, and RDKit 2026.03.1. The numbered roof tail C21–C23 is explicitly associated with map IDs 78–80; other IDs are stable graph identifiers, not authoritative PDB atom names.

This graph uses the neutral COOH form shown in the source drawing and one conventional C–N=N+=N− azide resonance form. It is an isolated component graph, not the complete insulin conjugate. PDB correspondence, protonation at simulation pH, charges, force-field parameters, and production-MD readiness remain unvalidated. The source drawing's positional labels around C16/C17 should be checked against the high-resolution figure before using those labels as coordinate atom names.

## Candidate graph-to-coordinate embeddings — 25 October 2026

The mapped 83-heavy-atom roof graph embeds in both corrected open and closed coordinate candidates under the six previously documented C21–C23/azide-tail anchors. Each state has 16 element-matched adjacency embeddings; 54 of the 83 graph map IDs have more than one candidate PDB atom across those embeddings. This does not produce a unique full graph-to-PDB atom map. The state-by-state mappings, ambiguity counts, anchor provenance, candidate PDB hashes, and unmatched atoms are in [`data/nnc2215-roof-graph-coordinate-mapping-audit.json`](data/nnc2215-roof-graph-coordinate-mapping-audit.json); regenerate it with [`audit_nnc2215_roof_graph_coordinate_mapping.py`](audit_nnc2215_roof_graph_coordinate_mapping.py).

Each selected LYX B30 + MC C1 fragment contains 91 heavy atoms (C62N15O14). Eight unmatched LYX atoms—CD1, CD2, C1, C2, CD3, CD4, O/OD, and O1—are attributed to the B29 linker under the existing candidate partition. The matching uses element labels and CONECT/LINK adjacency only; it does not check bond orders, use a geometric fit, validate stereochemistry, or independently prove the six anchors or the linker interpretation. The audit confirms the corrected PDB input hashes and does not modify either coordinate file.

## Two-carbon discrepancy

Both source model states contain 64 carbon, 15 nitrogen and 14 oxygen records in the LYX/MC B29-linked pool, against 62 carbon, 15 nitrogen and 14 oxygen expected from the synthesis-derived formula. The two-carbon surplus is present in both open and closed models.

The [candidate linker map](data/nnc2215-linker-mapping-audit.json) follows the six-carbon B29 linker and the three-carbon roof tail through serial-level PDB connectivity. Under that candidate partition, two tail carbons fall in LYX and one falls in MC, leaving 54 source macrocycle carbons expected in MC. The PDB MC residue has 56 carbon records.

The [coordinate-reconciliation candidate](data/nnc2215-carbon-reconciliation-candidate.json) removes MC C27/C29 and their four hydrogens, then connects the retained methyl carbons C28/C30 directly to aryl carbons C73/C75. This matches the published direct aryl methyl substituents and the SI's six-proton H-18 assignment. An independent enumeration of pairwise contractions among 18 degree-two carbon vertices found that C27/C29 is the only pair that yields the source-derived graph, in both states, within that edit class. The corrected B29-linked pool becomes C62N15O14 in both states, and the full heavy-atom inventory becomes C325N79O97S6. This is a source-supported coordinate-repair inference, not an author-provided atom map.

The candidate PDBs reopen successfully with all connectivity references resolved, no duplicate atom names within residues, strictly increasing atom serials, and records no longer than 80 columns. Both new aryl-methyl bonds are 1.50 Å and their C-H bonds are 1.09 Å; the local methyl-hydrogen overlap screen passes. In the open model, ASN A21's misplaced HXT record was removed and an OXT was reconstructed in the CA-C-O plane (C-OXT 1.25 Å; O-C-OXT 119.66°). These checks validate file consistency and local geometry only. They do not validate the full graph, stereochemistry, protonation, or force-field energy.

The synthesis schemes and patent establish the intended product, linker chemistry, reaction order and product composition. The source-derived B29 linker–roof component has an exact element/adjacency match to each corrected candidate, but the scaffold mapping and neutral bond-label transfer remain ambiguous. The candidate methyl correction remains a source-supported inference, not an authoritative atom map. The original publisher PDBs still have a two-carbon residual and the open model lacks ASN A21 OXT; these are properties of those source files, not of the corrected candidates.

## B29 linker–roof product graph and exact candidate audit — 25 October 2026

The source-derived mapped product component is recorded in [`structures/nnc2215-b29-linker-roof-product.smi`](structures/nnc2215-b29-linker-roof-product.smi), with atom roles and provenance in [`data/nnc2215-b29-linker-roof-product-map.json`](data/nnc2215-b29-linker-roof-product-map.json). Its reported heavy-element inventory is C62N16O14 (92 heavy atoms); it has 99 edges, one connected component, and cycle rank 8. The component includes roof, triazole, B29 linker, and the LysB29 NZ attachment endpoint. Lys CE and the rest of insulin are outside this component boundary.

The B29 product-component topology audit is in [`data/nnc2215-b29-topology-audit.json`](data/nnc2215-b29-topology-audit.json); rerun it from the repository root with [`audit_nnc2215_b29_topology.py`](audit_nnc2215_b29_topology.py) using `micromamba run -p /Users/andrii/scratch/dia-target-tools/env python research/audit_nnc2215_b29_topology.py`. For each corrected open and closed candidate, the selected target is LYX B30 + MC C1 + LysB29 NZ. Exact element-labeled graph isomorphism finds 16 full 92-atom mappings, each covering all 99 target edges. Maps 78–92 are consistent and unique across those mappings. In the neutral graph, eight source bond-label transfer classes remain per state; they differ only by independent carbonyl-O/OH label swaps at the three macrocycle carboxyls. The separate [`pH 7.4 carboxylate audit`](data/nnc2215-b29-topology-audit.json) uses a declared fully deprotonated tri-carboxylate scenario and treats each pair of C–O edges as resonance-equivalent, yielding one chemistry-equivalent bond-label class per state. This normalization does not identify source oxygens with PDB oxygen names or reduce the 16 graph mappings. PDB atom names in this audit are candidate labels, not source-authoritative names.

### Declared pH 7.4 tri-carboxylate scenario — 26 October 2026

The audit models the three macrocycle acids as deprotonated for a conditional pH 7.4 graph comparison. It removes three protons from the neutral B29 component (C62H72N16O14 to C62H69N16O14; local charge change −3) and represents each carboxylate with two equivalent C–O edges sharing a resonance label and numeric bond order 1.5. This is a graph-equivalence convention, not a literal localized bond assignment, pKa calculation, measured microstate, or partial-charge assignment. No PDB oxygen labels are selected and coordinates are unchanged. The separate group-level pH 7.4 ledger below includes the remainder of insulin under stated conventional assumptions; simulation-ready protonation and atom-localized charge assignments remain open.

The [Nature Fig. 2a product drawing](https://media.springernature.com/full/springer-static/image/art%3A10.1038%2Fs41586-024-08042-3/MediaObjects/41586_2024_8042_Fig2_HTML.png) places the roof substituent at triazole N1 and the B29 linker at C4, supporting the source-derived 1,4-disubstituted 1,2,3-triazole assignment. This assignment comes from the product drawing, not PDB adjacency or distances. The PDB CONECT/LINK records encode adjacency only; they do not establish bond order, formal charge, or stereochemistry.

## B1 beta-D-glucoside graph and candidate audit — 25 October 2026

The mapped B1 component is recorded in [`structures/nnc2215-b1-glucoside-attachment.smi`](structures/nnc2215-b1-glucoside-attachment.smi), with source roles and graph evidence in [`data/nnc2215-b1-glucoside-atom-map.json`](data/nnc2215-b1-glucoside-atom-map.json). It contains 19 mapped atoms including the PheB1 N boundary placeholder and 19 edges. Removing the linker while retaining and protonating the glycosidic oxygen yields C6H12O6 and matches the beta-D-glucose PubChem reference InChIKey WQZGKKKJIJFFOK-VFUOTHLCSA-N. Accurate RDKit CIP labels by source glucose carbons C1–C5 are R/R/S/S/R. This comparison caught and corrected three inverted SMILES tags at glucose C2, C3, and C5.

The B1 audit in [`data/nnc2215-b1-topology-audit.json`](data/nnc2215-b1-topology-audit.json) finds one exact element-labeled adjacency mapping for each of the open and closed candidates. From the B1–B22 sequence, reduced cysteines, free peptide termini, and net B1 attachment increment C10H16O8, it derives C120H187N31O39S2 and [M+2H]2+ 1376.15947, which rounds to the SI's calculated 1376.2. The reported measured value is 1376.6. These are graph and fragment-composition checks; the model PDBs do not establish bond orders, formal charge, protonation, or stereochemistry. The N–H record also differs between candidates: the open PheB1 N has an explicit CONECT hydrogen, while the closed model has no CONECT edge to its nearby PHX H2A record (1.006 Å away). Re-run with [`audit_nnc2215_b1_topology.py`](audit_nnc2215_b1_topology.py) using `micromamba run -p /Users/andrii/scratch/dia-target-tools/env python research/audit_nnc2215_b1_topology.py`.

For each state, the audit records 1,584 mapped edge-distance measurements (99 edges across 16 mappings). Distances span 1.2116–1.5611 Å in the open candidate and 1.2116–1.5548 Å in the closed candidate. Fourteen of 16 mappings per state have one to three heuristic short carboxyl C–O distances outside broad plausibility intervals; two mappings per state are fully within the screen. The intervals use covalent-radius sums with disclosed heuristic bond-class offsets, based on Cordero et al., “Covalent radii revisited” (2008), [DOI 10.1039/B801115J](https://doi.org/10.1039/B801115J). These distances neither establish bond order nor select a mapping.

Hydrogen-neighbor records differ at roof C22/C23 and linker C4–C6. At map 85 (linker C4), the open candidate records HC1 and HXTA while the closed candidate records HXTA only, one fewer hydrogen record. At roof maps 79/80 and linker maps 86/87, the recorded hydrogen names differ while counts match. These are CONECT-record observations, not validated hydrogen chemistry.

## Attachment-boundary closure — 26 October 2026

The checksum-bound [`attachment-boundary audit`](data/nnc2215-attachment-boundary-audit.json) joins the source graph edges to named records in each corrected candidate: B1 maps 1–2 (PheB1 N–PHX C2), B29 maps 84–92 (LysB29 NZ–LYX B30 CD1), and roof-tail maps 78–79 (MC C31–LYX B30 CD6 in open / C in closed). It also resolves the native PheB1 N–CA and LysB29 CE–NZ context. The report includes edge provenance, full PDB atom identities, and coordinate distances; distances are observations only and do not choose a B29 embedding, assign bond order, or set hydrogen ownership. The existing component results remain one exact B1 mapping and 16 B29 mappings per state.

At PheB1 N, the open candidate records an H2 CONECT neighbor; the closed candidate records no N–H edge, while PHX H2A lies 1.006 Å away. A follow-up coordinate comparison finds the N–H distances differ by 0.006 Å between H2A and the open H2 reference; the CA–N–H and B1-carbonyl-C–N–H angles differ by 3.047° and 3.436°, respectively. PheB1 N is the nearest heavy atom to closed H2A. This geometry is consistent with H2A occupying an N–H position, but the PDB still has no CONECT edge and does not establish ownership. At LysB29 NZ, HZ2 is recorded in both candidates. The expected local neutral boundary patterns are N with CA, the B1 carbonyl carbon and one H, and NZ with CE, the carbamate carbonyl carbon and one H. The audit leaves the record discrepancy open and does not alter either structure. Re-run with `micromamba run -p /Users/andrii/scratch/dia-target-tools/env python research/audit_nnc2215_attachment_boundaries.py`.

That audit closed only the local heavy-atom attachment boundaries in corrected, model-built candidates. The separate neutral constitutional graph is reported below; its existence does not establish a unique full B29 map, roof stereochemistry, full-system protonation or charge, force-field validity, target-binding MD readiness, or a clinical conclusion.

The attachment-boundary audit above validates only local heavy-atom joins in corrected candidate PDB derivatives of publisher-supplied model-built coordinates; those are not experimentally determined structures. The separate full neutral graph below provides a complete source-derived constitutional connectivity model, but it does not validate simulation-pH protonation, full-system charge, all stereochemistry, force-field parameters, target-binding MD, or clinical use. These audits ran on CPU.

## Source-derived full insulin–NNC2215 neutral graph — 26 October 2026

The [full-conjugate graph audit](data/nnc2215-full-conjugate-graph.json) assembles both desB30 insulin chains from the pinned RDKit 2026.03.1 `MolFromFASTA` neutral residue templates, adds the source-supported disulfides A6–A11, A7–B7, and A20–B19, and replaces the B1 map-1 placeholder and B29 map-92 NZ cap with the corresponding insulin atoms. The ledger records provenance for every atom and bond: residue-template or source-map origins, explicit attachment-join operations, or declared insulin-disulfide connectivity. Hydrogens remain implicit and are counted per atom. RDKit sanitization passes, the graph is connected, and its cycle rank is 21.

The atom-ledger formula is C325H461N79O97S6, matching the formula reported in the Nature SI and the prior source-formula decomposition. This is an internal graph/formula consistency check, not an independent experimental confirmation. Both corrected, model-built candidates match the two chain sequences, all three named disulfide records, and the B1, B29, and roof-tail LINK joins. Existing mapping audits still report one B1 and sixteen B29 mappings per state; coordinates are used only for named record cross-checks, never to build the graph or select a map.

The graph uses neutral termini and pinned neutral residue templates; the B1 N terminus and LysB29 NZ are modified by the two conjugate joins. Its hydrogen counts avoid the candidate PDB hydrogen-ownership records. The conditional B29 tri-carboxylate representation remains separate. The audit does not assign a physiological-pH microstate, full-system charge, a unique B29 coordinate map, neutral B29 oxygen names, roof stereochemistry, force-field parameters, or MD readiness. The open corrected candidate includes ASN A21 OXT although the original open-model formula inventory records it absent; the report preserves this as a coordinate-file distinction. No candidate coordinates were changed.

Re-run with `micromamba run -p /Users/andrii/scratch/dia-target-tools/env python research/audit_nnc2215_full_conjugate_graph.py`.

### Conditional pH 7.4 group charge-state ledger

[`data/nnc2215-physiological-charge-states.json`](data/nnc2215-physiological-charge-states.json) makes the neutral graph's protonation boundary explicit for future parameterization. Under the conventional candidate assumptions—six insulin carboxyls (four Glu sidechains and two chain termini) and all three macrocycle carboxyls deprotonated, ArgB22 and GlyA1 N-terminal amine protonated, and both histidines neutral in their pinned RDKit template tautomers—the full conjugate has formula C325H454N79O97S6 and group-summed net formal charge −7.

This is a bookkeeping candidate, not a measured microstate or pKa-derived population. The audit enumerates 144 combinations of the three macrocycle carboxyl states, GlyA1 N-terminal state, and two histidine tautomer/protonation states; group-summed net charges span −8 to −2. It does not localize carboxylate charges onto named oxygen atoms, assign partial charges or force-field atom types, or add counterions/solvent. Tyrosine ionization, local pKa shifts, PheB1 hydrogen ownership, roof stereochemistry, B29 coordinate-map ambiguity, and MD readiness remain open. Re-run from the repository root with `python3 research/audit_nnc2215_physiological_charge_states.py`.

## Hybrid Amber template feasibility inventory — 26 October 2026

The checksum-recorded [hybrid feasibility audit](data/nnc2215-hybrid-feasibility.json) inventories the pinned OpenMM Amber14 template names against source-derived insulin-residue provenance. Of 17 observed residue labels across 50 residues, 16 have literal template names. The graph's NE2-bound hydrogen ledger supports HIE as a histidine candidate by inference, and its six disulfide cysteines are CYX candidates. The 109 mapped conjugate heavy atoms remain outside ordinary insulin residue templates. The graph records exactly two cross-boundary bonds: PheB1 N–B1 source map 2 and LysB29 NZ–B29 source map 84.

These are candidates, not validated residue matches. PheB1 N-acyl and LysB29 NZ-carbamate environments need custom conjugate terms; ordinary PHE/LYS templates do not cover the attached components. Terminal forms and charge compatibility are unresolved. The outcome is `AMBER_TEMPLATE_CANDIDATES_IDENTIFIED; CUSTOM_CONJUGATE_PARAMETERS_REQUIRED`, with zero validated conjugate force fields. Whole-graph NAGL use would be outside the published heavy-atom test-size coverage. AmberTools' modified-polymer-residue workflow is a useful development precedent, but generated assignments require manual review. The separate-component Sage/ff14SB Interchange example is described as experimental and does not establish parameters for these covalent joins.

This audit does not generate partial charges, force-field parameters, a prepared topology, coordinates, an OpenMM system, or MD. Its reproducible script and package lock are linked from `research/README.md`.

## Isolated B29 GAFF2 parameterization pilot — 26 October 2026

The [AmberTools pilot audit](data/nnc2215-b29-gaff2-pilot.json) applied GAFF2 atom typing and AM1-BCC charges to the source-mapped 92-heavy-atom B29 linker–roof product under the declared conditional tri-carboxylate state (formal charge −3). It used the publisher-supplied active/open model-built heavy-atom coordinates under the first of 16 exact element-adjacency embeddings and generated explicit hydrogens with RDKit. Antechamber ran with `maxcyc=0` to preserve that model conformation during the SQM charge calculation. The source graph, map legend, topology audit, coordinate candidate, and AmberTools package lock are checksum-recorded.

All eight Lewis labelings of the three carboxylate oxygen pairs generated byte-identical MOL2 and frcmod files. All 161 atoms received GAFF2 atom types. The raw MOL2 charge sum is −2.996005 e, +0.003995 e from the declared formal charge; the pilot records this residual and does not correct it. `parmchk2` emitted 26 additional parameter records with no `ATTN` marker; two generated records carry penalty scores of 41.9. Those estimated terms need expert review before use.

This is a feasibility result, not a validated parameterization. The mapped product graph's neutral NH2 endpoint cap is not the LysB29 NZ attached to its insulin side chain, so junction charges remain provisional. The model-built coordinate map remains one of 16 exact embeddings. The audit excludes the PheB1/B1 junction, terminal residue compatibility, custom cross-boundary terms, solvent, and the insulin receptor. It creates no complete residue library, topology, OpenMM system, MD, binding result, or clinical inference. The validated-conjugate-force-field count remains zero. Re-run with `micromamba run -p <environment-created-from-lock> python research/audit_nnc2215_ambertools_parameterization_pilot.py`.

## B29 mapping sensitivity audit — 26 October 2026

The [mapping sensitivity audit](data/nnc2215-b29-gaff2-mapping-sensitivity.json) ran all 16 active/open exact graph embeddings with all eight carboxylate Lewis labelings (128 completed AmberTools cases). Every mapping produced identical MOL2 output across its eight resonance representations; all 128 cases shared one frcmod hash. The 16 mappings produced 16 distinct MOL2 hashes. GAFF2 types were unchanged for all mapped heavy-atom PDB serials. Partial charges varied at 19 of 92 physical heavy-atom serials, with a maximum range of 0.0035 e. Total charge sums ranged from −2.997001 to −2.996005 e; the corresponding residuals from formal −3 were +0.002999 to +0.003995 e, with no correction applied.

The bonded parameter candidate and heavy-atom types are invariant across the tested mappings, while the partial charges retain small dependence on which exact graph embedding assigns source maps to coordinates. This does not make any embedding authoritative. Hydrogen charge ownership is not compared by PDB serial because explicit hydrogens were generated with RDKit; the NH2 cap remains different from protein-bound LysB29 NZ. No full topology, validated conjugate force field, OpenMM system, MD, affinity result, or clinical conclusion was produced; the validated-force-field count remains zero.

## B1 local-context GAFF2 parameterization pilot — 26 October 2026

The [B1 boundary pilot audit](data/nnc2215-b1-gaff2-boundary-pilot.json) used the unique active/open B1 topology mapping to construct a 37-heavy-atom neutral fragment (C24H37N3O10): B1 maps 2–19, PheB1, ValB2, and the AsnB3 N atom as a neutral NH2 truncation cap. The source graph and pinned RDKit neutral insulin templates give seven assigned stereocentres. All 37 heavy-atom coordinates were copied from the active/open model-built candidate; RDKit added explicit hydrogens, and no PDB hydrogen records or geometry optimization were used.

AmberTools 26 Antechamber and parmchk2 completed with GAFF2 and AM1-BCC. The raw partial-charge sum is +0.003002 e from formal zero, within the 0.01 e bookkeeping tolerance; no correction was applied. `parmchk2` emitted 65 parameter records, none with an `ATTN` marker and none with penalty score ≥20; the maximum recorded penalty is 6.0. SDF/MOL2/frcmod inputs and logs are retained in [`data/nnc2215-b1-gaff2-boundary-pilot/`](data/nnc2215-b1-gaff2-boundary-pilot/); reproduce with `micromamba run -p <environment-created-from-lock> python research/audit_nnc2215_b1_ambertools_parameterization_pilot.py`.

This is a provisional local-fragment result, not a validated B1 force field. Charges depend on the active/open model geometry and the AsnB3 NH2 cap; the cap omits the rest of AsnB3 and surrounding protein. The PheB1 hydrogen-record discrepancy, protein-bound cross-boundary terms, B29 mapping and charge state, full-system protonation, and hybrid force-field compatibility remain unresolved. No complete topology, OpenMM system, MD, affinity result, or clinical conclusion was produced; the validated-conjugate-force-field count remains zero.

## Full insulin–NNC2215 coordinate mapping ledger — 26 October 2026

The [`coordinate mapping ledger`](data/nnc2215-full-coordinate-mapping.json) joins the full 507-heavy-atom source-derived graph to each corrected, model-built candidate. It maps all 398 insulin-template atoms by exact residue identity, composes the unique B1 assignment with all 16 exact B29 assignments per state, and checks that B1 map 1 resolves to PheB1 N and B29 map 92 resolves to LysB29 NZ. B29 map 84 remains the carbamate carbonyl carbon node. Each assignment covers 507 distinct graph nodes and candidate serials; the separate open-state BGL residue contains 12 heavy atoms and has no CONECT/LINK join to the mapped graph.

The report stores shared graph-atom and source-bond tables, candidate atom identity/XYZ tables, and one graph-index-to-PDB-serial vector plus 527 bond distances per mapping. This preserves each full assignment without duplicating unchanged PDB records. Of the edges, 518 C/N/O cases receive the previously disclosed broad heuristic interval screen; all nine sulfur-containing edges are unscreened. Out-of-range flags are retained without ranking or removing any map. These geometry records do not establish bond orders or chemical correctness.

The script verifies the source and candidate hashes and confirms the PDB candidates remain unchanged. This is heavy-atom coordinate coverage, not an experimentally resolved structure or a validated topology. The 16 B29 mappings remain ambiguous; PheB1 hydrogen ownership, whole-system microstates, complete bond-order transfer, roof stereochemistry, custom junction parameters, full force-field validation, OpenMM, and target MD remain open. Reproduce with `python3 research/audit_nnc2215_full_coordinate_mapping.py`.

## Provisional chemical assignments

These are source-informed expectations for further chemistry review, not final force-field assignments:

- The B29 Lys ε-amino group is converted to a carbamate in the pentynyl linker. The source product drawing supports the 1,4-disubstituted 1,2,3-triazole; the candidate PDBs do not independently establish that bond labeling.
- The B1 Phe α-amino group is acylated by the glucoside linker and is neutral in that conjugated form. The deprotected β-D-glucoside graph and mapped C1–C5 stereochemistry are now verified against the source scheme, the SI anomeric coupling, and a beta-D-glucose reference structure. PDB adjacency does not establish stereochemistry.
- The macrocycle has three reported carboxylic-acid groups. This audit models all three as carboxylates in a declared pH 7.4 scenario; that is an assumption, not a measured dominant microstate or a pKa result. The conditional ledger below records the group-level whole-conjugate candidate; a simulation-ready charge assignment still depends on site-specific microstate review and atom-level parameterization.
- The existing isolated PaG audit supports the singly deprotonated glucuronate, net charge −1, and five CIP labels S, S, R, S, S. It validates the isolated ligand files only; it does not validate the NNC2215 conjugate.
- A simulation condition requires a reviewed protonation inventory across terminal groups, ionizable side chains, disulfides, and conjugation sites. The conditional ledger below records a conventional group-level candidate but does not establish local pKa shifts, measured populations, or atom-localized charges. A pH label alone does not define a simulation-ready inventory.

The current PDB records also disagree around hydrogen ownership: the closed model assigns a nearby PheB1 N hydrogen to PHX without a CONECT edge, and the LYX CD2 hydrogen-neighbour count differs between states. These are additional unresolved topology records.

## Evidence required to close chemistry

1. Independently review the assembled neutral graph's RDKit residue-template and neutral-terminal conventions and the conditional group-level charge ledger against authoritative sources; extend it to an explicitly justified simulation-condition inventory before parameterization.
2. Independently review the candidate MC C27/C29 removal and C28/C30 aryl-methyl mapping, refine the ambiguous B29 graph-to-coordinate mappings, and reconcile the differing hydrogen/link records. The B1 component already has a one-to-one adjacency mapping in each state.
3. Explicit bond orders, aromaticity, remaining complete-conjugate stereochemistry, protonation microstates, formal-charge ledger and integer total charge for each simulated condition. The source drawing supports the 1,4 CuAAC regiochemistry, while the candidate coordinates do not resolve scaffold bond-label transfer.
4. Independently validate atom-name, geometry, and source-to-coordinate correspondence using authoritative structural evidence. The neutral graph's formula agreement does not resolve the 16 B29 mappings or validate the model-built coordinates.
5. Only after items 1–4 pass: select one force-field family and validate custom macrocycle/linker parameters, carbohydrate compatibility, PaG, torsions/conformers, charge sums and prepared-system energies.

No production topology or parameter files were generated in this review. Rebuild the candidate coordinates with `python research/reconcile_nnc2215_source_structure.py`. The readiness evidence remains in [the candidate coordinate audit](data/nnc2215-carbon-reconciliation-candidate.json), [model validation record](data/nnc2215-model-validation.json), [formula audit](data/nnc2215-model-formula-audit.json), [connectivity audit](data/nnc2215-connectivity-audit.json), and [linker-map audit](data/nnc2215-linker-mapping-audit.json).
