mkt.schema.conservation_schema.DICT_CLADE_ANCHORS

mkt.schema.conservation_schema.DICT_CLADE_ANCHORS: dict[str, tuple[str, ...]] = {'EPH': ('EPHA3', 'EPHB1'), 'ERBB': ('EGFR', 'ERBB2'), 'FGFR': ('FGFR2', 'FGFR3'), 'INSR/ALK': ('INSR', 'ALK'), 'MET/AXL': ('MET', 'AXL'), 'PDGFR/VEGFR': ('KDR', 'KIT'), 'RET/TIE': ('RET', 'TEK'), 'SRC/ABL': ('SRC', 'ABL1'), 'TEC': ('BTK', 'TEC'), 'TRK/DDR': ('NTRK1', 'DDR2')}

Curated clade names keyed to a minimal set of anchor kinases that uniquely identify each clade by membership (not by display-order number, which is fragile to re-clustering). A display leaf is given a name only if it contains all of that name’s anchors, so a name silently disappears rather than mislabels if a clade splits. The SYK/ZAP70 pair is deliberately omitted – it clusters inside an EphA subclade rather than forming a clean Syk clade, and is excluded from the clade analysis.