Silent Mutation Misclassification and Unrecorded Covalent Bonds in the Protein Data Bank
Abstract
Sequence differences between deposited macromolecular models and their UniProt references are recorded in the mmCIF category _struct_ref_seq_dif, and intentional substitutions are expected to populate _entity_poly.pdbx_mutation, the field that structured queries read. When a substitution is not declared, the difference is filed as a sequence conflict or not recorded at all, and the entry reads as wildtype. We measured how often this happens in a single snapshot of the archive (13 October 2026). Of 1,634 substitutions at Cancer Hotspots v2 residues in 1,337 human PDB entries, 56 (3.4%) in 46 entries are undeclared, among them AKT1 E17K, BRAF V600E, EGFR T790M, KRAS G12C and TP53 Y220C. Cysteine engineering goes undeclared far more often: archive-wide, 1,942 of 8,957 cysteine gains and losses (21.7%) in 1,164 entries appear in no structured mutation field, and for more than half of the 479 distinct undeclared changes another entry declares the identical substitution correctly. At seven sites a covalent bond recorded in _struct_conn attaches to a residue the same file labels a conflict. In the covalent KRAS G12C complex 6T5V, the 1.82 Å Cys12–ligand bond has no _struct_conn record and is listed only as a close contact. An archive-wide scan of 199,603 entries shows that this is not an isolated case: 2,568 entries contain an organic ligand atom within 2.0 Å of a protein nucleophile with no bond record, up to 16.7% of all entries with a covalent bond between protein and an organic ligand, recorded or not. Rule-based triage places 344 of these entries at documented cofactor or modification attachment sites and 289 X-ray entries (2.5 Å or better) at distances consistent with a covalent bond; 211 and 162 of them, respectively, were released before the AlphaFold 3 training cutoff, and annual counts have not fallen since. A recent time-split co-folding benchmark includes six of the strict-subset entries, among them three covalent KRAS G12C complexes. Downstream, 38 RAS chains whose deposited sequences carry substitutions are classified as wildtype in Rascore, 32 of them KRAS Q61H. For 33 of these chains the PDB entry carries a structured mutation declaration, so the label error arises in the classification rather than in the archive. The 34 KRAS chains make up 45% of Rascore's KRAS wildtype cohort, and removing them changes its most frequent Switch 1 state from 3P-ON to 2P-OFF. Inspection of the released AlphaFold 3 and Boltz parsing code shows that neither reads the mutation fields, while both take covalent bonds only from _struct_conn. Undeclared substitutions therefore mislead label-based curation, whereas missing bond records change what co-folding models are shown. We provide complete case-level tables (S1–S7) from two archive snapshots taken on 13 October 2026, with code and download provenance, and propose deposition-time and ingestion-time checks. Morphogenesis Analytics: https://morphalytica.com · Structure viewer: https://biio.replit.app/viewer