Eidogen-Sertanty · live results

A comparator model that rank-orders molecules against a kinase

Give it one of the 478 kinases it has data on, plus two molecules, and it says which one binds more tightly. That single comparison is the primitive operation of virtual screening, so repeating it sorts an entire library in seconds where a docking campaign takes hours — and at no point does the model see a three-dimensional structure. On molecules from a source it has never encountered it orders every target tested better than chance, and reaches 87 to 92 percent on decisive calls for its strongest targets. Which target you are asking about matters more than any other factor, and the reliability tiers below are the part to read before acting on a prediction.

Version 2026-08-08_1901 Generated 08 August 2026 at 19:01 Cycles filed 40

What this is

A comparator. Given a kinase and descriptions of two drug-like molecules, it predicts which of the two binds more strongly. No three-dimensional structure, no docked pose and no binding site is required. Because a ranked library is nothing but this comparison repeated, the same model sorts a whole compound collection against a target in one pass. It was trained on human kinase measurements. The source corpus holds 841,187 rows over 500 genes; after the training split, embedding availability, removal of censored records and collapsing to one value per (sequence, ligand), 425,524 distinct measurements over 494 genes and 711 sequences remain eligible, and the forest is fitted on a random 250,000 of them, which covers fewer genes again.

Which kinases, precisely. The shipped model carries precomputed protein vectors for 478 named kinases over 695 distinct sequences, and those are the targets it will score. Being scoreable is not the same as being supported: the vectors were built for the whole panel, not for the subset the forest actually learned from, and the random 250,000-row fit covers fewer genes than the eligible pool. One exposed target, NEK10, has no usable training measurement anywhere in the corpus. Check a target against the reliability tiers before acting on any prediction for it, and treat a target absent from those tiers as unsupported. Handed a sequence it has never seen it refuses rather than guessing: a confident number derived from the wrong protein is the worst failure this system could produce. Nothing here supports a kinase with no training data.

Model architecture

The question the model answers, drawn from the project's own data. The protein is the ABL1 kinase domain rendered from crystal structure PDB 1IEP, with imatinib in the ATP cleft and the twenty-five residues within 4.5 angstrom of it picked out in orange; the model itself sees only the amino-acid sequence, embedded with ESM2 and pooled to a single 480-number vector. The two compounds are real ABL1 inhibitors from the training table with their measured potencies, each described by a Morgan count fingerprint and fourteen physicochemical descriptors. A random forest scores each compound against the kinase and the two are compared by the difference of their scores, which makes the comparison exactly antisymmetric.
The question the model answers, drawn from the project's own data. The protein is the ABL1 kinase domain rendered from crystal structure PDB 1IEP, with imatinib in the ATP cleft and the twenty-five residues within 4.5 angstrom of it picked out in orange; the model itself sees only the amino-acid sequence, embedded with ESM2 and pooled to a single 480-number vector. The two compounds are real ABL1 inhibitors from the training table with their measured potencies, each described by a Morgan count fingerprint and fourteen physicochemical descriptors. A random forest scores each compound against the kinase and the two are compared by the difference of their scores, which makes the comparison exactly antisymmetric.

Screening performance: sorting compounds by potency

Two compounds, one kinase, which binds harder. Coin flip = 50%.

77.2%
Correct on 2,965,273 held-out ligand pairs across 413 kinases. Matthews correlation 0.544.
88.7%
When the two ligands genuinely differ by more than tenfold in potency, on 1,581,818 pairs. MCC 0.773. This is the call a chemist actually makes.
98.4%
On the tenth of calls carrying the largest model margins, 296,528 pairs, held-out KKB compounds. The margin is a monotone transform of the score difference, not a calibrated probability: larger margins are associated with higher accuracy, which is what makes a threshold useful.

Act on the most confident calls and this is what you get

Every prediction carries a confidence. Rank the calls by it and keep only the top slice: accuracy rises steeply as the slice narrows, so the operating point is yours to choose. The finest slice shown is the top tenth, which is the finest the confidence table resolves.

calls acted onpairsaccuracy
top 10%296,52798.4%
top 25%741,31895.7%
top 50%1,482,63690.2%
top 75%2,223,95583.9%
every pair2,965,27377.2%

What it has to beat

methodpairsaccuracy
Rank by molecular size alone2,807,61458.5%
Use the compound's measured potency against a different kinase, where such a measurement exists1,492,76673.1%
This model, on those same pairs1,492,76676.8%
This model, where no prior measurement exists1,472,50777.6%

Size alone is a real bar and any useful model must clear it. The lookup row is the one that matters commercially: where a compound already has data against some other kinase, that lookup is a strong predictor and the model beats it only modestly. The model earns its place on the compounds where no such measurement exists, which is most of a screening library.

Evaluation is capped at 20,000 pairs per kinase so that a few very large targets cannot dominate; 119 kinases hit that cap. Reported, never silent.

The model reads the target, not just the compound

The hardest test the dataset contains: pairs of compounds whose potency ordering reverses between two kinases. Compound A beats B on one target and loses to it on the other, both differences decisive. A model that cannot see the target produces one ordering for the pair and is therefore wrong on exactly one of the two kinases. It scores 50.0 percent by construction, not by chance. Anything above that line is target information and can be nothing else.

30,650 reversing cases drawn from 5,264 distinct compounds across 377 kinases. Reversals are 18.3 percent of the cases in this construction, which caps each gene pair at 60 shared ligands so a few heavily assayed pairs cannot dominate. It is not a kinome-wide reversal rate.

modelaccuracy on reversing pairsMatthewsaccuracy on non-reversing pairs
This model71.2%0.42589.1%
The same forest, protein input removed50.0%0.00089.0%

The control lands exactly where arithmetic requires it to. The arm given no protein input at all scores 50.0 percent on the reversing pairs, confirming the test set is built correctly and that the margin above it is real. Shuffling the sequences rather than removing them gives 56.6 percent, a residue of signal from sequence length and amino acid composition and far below the model given the true sequence.

The flip analysis was run on the Morgan random forest, which differs from the published model only in fourteen size and composition descriptors whose measured contribution is +0.0023. The two score 0.7228 and 0.7232 on the main benchmark.

Why this is the number that matters. Selectivity reversals are the phenomenon behind off-target activity, kinase inhibitor resistance and drug repurposing: one chemotype preferring one kinase over its neighbour. A ranker that only judges compound quality cannot address them at all, and scores 50 percent no matter how good it is. This model gets 71 percent of them right, and that margin is protein recognition.

Ranking a whole library, checked against the bench

Screening needs a ranked list, not a single comparison. We gave the model a target and a whole set of compounds, had it sort them from most to least potent, and checked that order against what the assays actually measured.

We did this twice. First on compounds from our own collection that were held back from training. Then on compounds from ChEMBL, the public literature database, which come from different laboratories and which the model has never seen. The second is the harder test, and it is what the external numbers below describe. It is a retrospective benchmark on an outside dataset with exact training compounds removed, not an untouched independent replication: this corpus has been used elsewhere in the project, and only exact compound matches were excluded, not close analogues.

same collection, compounds withhelddifferent database, never seen
compounds ranked49,21110,161
pairwise comparisons46,330,1091,926,222
agreement with the measured order0.790.47
pairs called right when potencies differ by more than tenfold90%77%
enrichment in the top tenth of the list5.5x3.6x
The gap between those two columns is the finding. Ranking transfers to a corpus the model has never seen — every one of the 30 targets has a positive correlation, though the weakest of them, PIK3CD at 0.09, is not distinguishable from chance on its own — but roughly a third of the agreement does not survive the move. A holdout drawn from the same collection as the training data is measurably optimistic, and the right number to plan against is the one in the right-hand column.
How the external set was kept clean. It was built years earlier to contain nothing in training at the time, and it did. Training has since grown from 30 kinases to 500, and thousands of those compounds entered it through other targets. Every one of the 13,528 measurements was therefore re-checked against all current training compounds by canonical structure and by InChIKey; 3,367 matched and were removed, leaving 10,161. Without that re-check a quarter of this test would have been compounds the model had already been shown.

Which targets to trust, on unseen compounds

Performance is not uniform and the aggregate hides that. These are the same 30 targets, split by how well the model ordered compounds it had never seen. A target's tier is the first thing to check before acting on a prediction for it.

Reliable

Order these with confidence. Agreement of 0.6 or better, and the top of the list is strongly enriched in genuinely potent compounds.

targetcompoundsagreement with measured orderdecisive pairs correctenrichment in top tenth
AURKA2210.8392%2.7x
ABL14960.7787%3.8x
MTOR1690.7789%4.7x
SRC3700.7188%5.7x
CDK22930.6886%4.5x
PIM11620.6782%5.1x
BRAF2170.6283%4.5x

Useful for triage

Clearly better than chance and worth using to prioritise, but the ordering is loose enough that the top of the list should be confirmed rather than trusted.

targetcompoundsagreement with measured orderdecisive pairs correctenrichment in top tenth
CDK11370.6081%4.9x
FGFR14770.5982%3.1x
ERBB23940.5577%2.8x
MET4670.5079%4.7x
CDK94420.4777%3.9x
JAK33770.4673%5.2x
MAPK141450.4674%4.4x
SYK3630.4579%5.9x
PIK3CG4540.4372%3.6x
FLT11320.4373%4.7x
TYK24870.4271%3.4x

Do not rely on these

Either the ordering is barely better than chance, or the top of the list is not enriched enough to act on — a target whose top tenth holds no more potent compounds than a random draw is not usable for screening however well the rest of the list is sorted. They are named rather than folded into an average.

targetcompoundsagreement with measured orderdecisive pairs correctenrichment in top tenth
AKT13710.7585%1.9x
PIK3CA3710.5978%1.9x
CDK42140.5082%1.0x
KDR2740.4674%1.1x
BTK3980.4071%2.5x
GSK3B3320.3567%2.4x
FLT34670.3365%3.6x
JAK22580.3365%4.6x
PDGFRB3930.3174%0.3x
MAPK14990.2965%1.0x
EGFR3050.2864%2.4x
PIK3CD4760.0956%2.5x
Every target ordered independently, on unseen compounds. The spread across targets is wider than any single summary number conveys.
Every target ordered independently, on unseen compounds. The spread across targets is wider than any single summary number conveys.

Which targets is this model reliable on?

The headline describes no individual target. Across 332 kinases with enough held-out pairs to measure, 237 reach 70% pairwise accuracy or better, 76 sit between 60% and 70%, and 19 fall below 60% against a 50% coin flip. Use it where it is strong; the rows below say where that is.

Arm: c46_rf_published. Sorted by the first metric column, best first — pairwise accuracy in ranker mode, rank correlation otherwise. Test ligands is the number of held-out compounds that target was scored on. Read it before the accuracy: a target scored on 50 pairs carries only about a dozen distinct ligands, and a high number there is not the same evidence as the same number over thousands of pairs.

kinasepairwise accuracyMCCtest pairstest ligands
ULK292.3%0.8495211
EPHB190.8%0.8176512
CAMK2D89.5%0.79119730279
STK2587.7%0.7517313
DCLK187.4%0.74316619
OXSR186.9%0.7328415
CSNK1D85.6%0.71319915433
RIPK185.2%0.70319958915
MAP3K1085.1%0.70126824
IGF1R84.9%0.69719781694
PIM184.6%0.693199391689
RIOK184.6%0.6927813
EIF2AK284.6%0.6826512
PTK284.5%0.69119620745
RAF184.3%0.68719880834
TTK84.2%0.68319911741
MTOR84.0%0.680199752222
LTK83.9%0.676185162
PKMYT183.8%0.67913617
STK3383.8%0.67811716
CAMK2A83.6%0.671130252
FGFR183.5%0.671199621176
ROCK183.4%0.667199521002
WEE183.2%0.66419905301
TSSK1B83.0%0.65939329
ABL182.9%0.659199591145
MST1R82.9%0.658180661
CDK482.9%0.658199631374
IKBKE82.8%0.65719914256
MAPKAPK282.8%0.65519951413
MAP4K182.5%0.64919326247
AXL82.3%0.64519889468
PRKCB82.2%0.64419966215
CAMK1D82.2%0.64268938
MAPK982.1%0.64319906402
ALK82.1%0.64219930697
PIK3CA82.1%0.641199702066
PRKD382.0%0.64010463147
CDK282.0%0.640199012211
ABL282.0%0.63956034
FGFR281.9%0.63819917777
GRK581.9%0.63757435
NTRK281.8%0.63619918213
FGFR381.8%0.63619952910
MAP3K981.8%0.63527424
GSK3A81.7%0.63419956772
ROS181.7%0.6334922100
PAK181.6%0.63310665147
PRKCE81.6%0.6326420114
PTK681.6%0.63193444
TBK181.6%0.63119883329
JAK281.4%0.628199763500
CSF1R81.2%0.62419913603
PIK3R481.1%0.62119923375
PRKCA81.0%0.62119955256
JAK181.0%0.620199302951
NEK481.0%0.620126252
PDGFRB80.9%0.61819968636
DMPK80.9%0.6196813
ACVRL180.9%0.61870138
SYK80.8%0.617197121497
PKN180.8%0.61218720
EPHA680.6%0.61125223
CSNK2A180.5%0.61019956449
MAP2K280.5%0.610120950
BRAF80.5%0.610199171455
EGFR80.4%0.609199592441
PLK280.4%0.608131952
TYK280.3%0.607199821259
PIK3CG80.3%0.605199661394
AKT180.3%0.60519957993
EPHA280.3%0.60516295187
AURKC80.2%0.60559235
PIK3CB80.1%0.60319965829
MAP4K280.1%0.6038992136
MAPK880.1%0.60219948635
TYRO380.0%0.60119896252
GRK780.0%0.6019014
MELK80.0%0.60019858252
SRC79.9%0.599199601112
PRKCQ79.9%0.59819972681
CLK479.9%0.59719836353
CLK179.9%0.59719959268
STK2479.8%0.59510415
TNK279.6%0.59312050156
DCLK279.6%0.59426524
INSR79.6%0.59219804301
CAMK2G79.6%0.591388490
RPS6KA379.5%0.59119714231
EPHB279.5%0.59227324
EPHA179.5%0.58929725
GSK3B79.5%0.589199461383
CDK379.3%0.58566637
AKT379.2%0.58519909317
EPHA879.2%0.58346131
NTRK179.2%0.58319966982
PIM279.0%0.581199641117
TEC79.0%0.58081641
FLT479.0%0.58019871216
MINK178.9%0.5774977102
HCK78.9%0.57712800161
KDR78.8%0.577199343026
TAOK378.8%0.57645332
HIPK178.7%0.57437628
CSNK2A278.6%0.573464397
NTRK378.5%0.57110342145
AURKB78.5%0.56919908876
LRRK278.5%0.569199651048
TXK78.4%0.57066237
MAPK1078.4%0.56819939562
IRAK478.4%0.567199401020
PRKAA178.3%0.56712487159
STK478.2%0.56917019
SIK178.2%0.56519981231
MAP4K378.1%0.56511916
MAPK1278.1%0.562424993
PRKCD78.0%0.56019899294
AKT277.9%0.55919916329
FGR77.9%0.557364186
PTK2B77.9%0.5587247121
DYRK1A77.9%0.55819930660
CDK177.9%0.557199571008
PDGFRA77.8%0.55619938432
FGFR477.8%0.55519951606
MAPK177.7%0.555199761110
PLK477.6%0.55319931255
MAP4K477.6%0.55219713276
PRKDC77.5%0.55019860234
PRKCH77.4%0.5485020101
ATM77.3%0.5465619107
PDK277.2%0.54411422152
PBK77.2%0.5445317104
CSNK1E77.2%0.54419968276
MAP3K1177.2%0.54220621
PRKCG77.1%0.5424848100
JAK377.1%0.541199731950
MERTK77.0%0.54119918310
MARK177.0%0.5348714
AURKA77.0%0.539199591247
CDC42BPG76.9%0.5356512
ERBB476.8%0.5365840109
MAPK376.8%0.54225023
LIMK176.8%0.53619850202
ACVR176.8%0.5367828126
MET76.7%0.535199401211
RPS6KB176.7%0.53419956664
MAPK1576.7%0.53012016
PIK3CD76.6%0.532198601225
MAPK1476.5%0.531199761862
CSK76.5%0.52848132
SRMS76.5%0.52997845
ERBB276.4%0.529199051330
FLT176.4%0.528198891128
MKNK276.4%0.52719919399
LCK76.3%0.52719928624
DAPK176.3%0.52413517
CLK276.3%0.52519888313
YES176.3%0.525426293
FLT376.2%0.525199561152
PRKX76.2%0.524355486
CHEK176.1%0.52319949639
CDK576.0%0.52019913507
MARK376.0%0.519346385
PLK175.9%0.51919942341
PDK475.7%0.51413617
KIT75.7%0.51419906657
BTK75.6%0.511199611608
BRSK175.6%0.511152257
EPHB475.5%0.51016707187
PRKCZ75.4%0.509169359
MAPK1375.3%0.506109748
SIK375.2%0.50419949219
PAK475.1%0.50313603166
MKNK175.1%0.50319950371
CDK675.0%0.50119960526
RIOK275.0%0.5016412
CDK1975.0%0.499472098
DYRK1B74.8%0.49619911271
IKBKB74.7%0.49519934405
PDPK174.7%0.49319914361
PKN274.6%0.492317881
DDR174.6%0.492247871
MAP2K174.6%0.49119955340
TGFBR174.5%0.49119963593
ROCK274.5%0.49019971961
MAP3K374.4%0.4867813
BLK74.3%0.4875580107
MAP2K674.3%0.49711316
RPS6KA174.3%0.48619920416
IRAK374.3%0.48610515
MAP3K1274.3%0.48615007174
AAK174.2%0.48419426198
PRKD174.1%0.48434827
PIM374.0%0.48019796977
TAOK173.9%0.4785759110
TEK73.9%0.47716436182
MAP3K1473.9%0.47719907281
ITK73.8%0.47619930444
PRKG273.7%0.47587543
PRKCI73.7%0.4749591160
GRK273.6%0.4739114
RET73.5%0.47119982770
LYN73.4%0.46919905205
NEK273.4%0.468357786
MAP3K773.3%0.4668545132
PRKG173.0%0.460159958
SIK272.9%0.45719949331
DAPK372.9%0.4577159121
STK1072.9%0.45970038
CDK772.7%0.45419822474
INSRR72.3%0.43013017
BMPR1A72.3%0.44623122
PDK172.3%0.44616035248
CAMK172.3%0.44524923
TSSK272.2%0.4155411
ACVR1B72.1%0.43920821
CSNK1G172.1%0.441135453
MARK272.0%0.441370088
PI4KB72.0%0.4405022101
FYN71.9%0.43819958342
DDR271.9%0.438142754
PRKACA71.7%0.43419938281
SGK171.7%0.43416695184
CSNK1G271.6%0.432268275
ULK171.6%0.4338814
IRAK171.5%0.43011915156
CDK971.4%0.428199311322
PIK3C371.3%0.4269287137
HIPK271.0%0.421473599
CAMKK271.0%0.42080641
RPS6KA271.0%0.419170459
CHEK270.5%0.40913410165
EIF2AK470.4%0.4085411
EPHA770.4%0.42713517
CDK870.3%0.40719883248
MAPKAPK570.2%0.404108648
MAP2K570.0%0.40030025
SGK269.9%0.398128352
PRKD269.7%0.3956530116
CDC42BPA69.6%0.392264175
MYLK69.6%0.39145031
RIPK269.5%0.39111239151
CLK369.5%0.390426993
PIP5K1C69.2%0.3235211
TNK169.2%0.3639114
BMPR269.2%0.3919114
EPHA569.2%0.39112016
ERBB369.1%0.3825511
DGKZ69.0%0.38119891270
EPHB669.0%0.37419020
MYLK268.9%0.3789014
CDC768.8%0.37619923204
ATR68.6%0.3739021135
ERN168.6%0.36715318
CAMK468.6%0.3815112
MAP3K868.6%0.37293744
MARK468.4%0.3697613
STK17B68.2%0.3798814
EPHA368.2%0.3386612
NEK168.2%0.36213517
MAP3K268.1%0.36334827
PHKG268.1%0.361104047
DYRK268.1%0.36114159169
HIPK368.0%0.35623122
DAPK268.0%0.35920621
STK2667.8%0.3649014
IKBKG67.5%0.349379088
STK17A67.4%0.347309880
TNIK67.4%0.348142854
MAPKAPK367.3%0.34616519
DYRK467.1%0.341282976
CSNK1A166.7%0.33419070197
MAP3K1966.7%0.33013517
STK366.6%0.3318684133
MAP3K2066.5%0.330232770
EPHA466.5%0.32015218
MAP2K766.4%0.32829825
NUAK266.4%0.32813417
CDK11A66.3%0.3248914
LIMK266.2%0.323182661
PAK266.1%0.323382389
NUAK165.8%0.30612016
DYRK365.6%0.3118324130
CDK1365.6%0.3159014
ULK365.6%0.3129014
TAOK265.4%0.31613317
CHUK65.3%0.3077040120
STK1665.3%0.30930025
RPS6KA564.9%0.299195964
FES64.8%0.29852333
BUB164.6%0.29219893233
GSG264.6%0.29532526
ZAP7064.6%0.292194063
CAMK2B64.3%0.286204267
BMPR1B64.3%0.28635027
CSNK2B64.3%0.28575040
CDK1264.2%0.2847264131
DGKA64.2%0.28319851339
FRK64.1%0.28219784298
RPS6KA664.0%0.28029725
MAP3K1363.6%0.1876612
MAP2K463.6%0.2606612
MAPK1163.4%0.266322381
CDK1663.1%0.26335027
CSNK1G363.1%0.26283742
HIPK463.0%0.261274876
PLK362.7%0.254367487
EIF2AK362.6%0.25914718
CDK1762.5%0.2936412
GRK661.5%0.2816512
MAP4K561.3%0.2258900136
MATK60.3%0.20521922
SLK60.1%0.202463598
TNNI3K59.5%0.19088743
GAK59.2%0.185132552
FER59.0%0.180104947
CDKL258.5%0.1596512
BMP2K57.9%0.16034927
NLK57.8%0.15518720
BMX57.0%0.139430898
GRK156.6%0.1197613
TIE155.8%0.1127713
RPS6KA455.6%0.11918920
SRPK155.4%0.108139255
TGFBR254.6%0.09434627
CIT53.6%0.07020921
RIPK352.9%0.06411916
CSNK2A349.1%-0.03011816
MAP2K348.7%-0.02511916
MAPK747.3%-0.0925511
PIP4K2C47.0%-0.0616612
ICK39.5%-0.22111916

Understudied kinases perform no worse once data volume is matched

Of the 179 targets this project classes as understudied, the published model already scores 163, because they are targets with modest data rather than targets with none. Taken at face value they look weaker: median accuracy 0.736 against 0.769 for the rest.

They also carry far less held-out data — a median of 754 pairs against 19,893, a twenty-six-fold difference. Comparing them at matched data volume, in the one band where both groups are well populated, understudied targets score 0.715 (n=31) against 0.723 (n=22): a difference of -0.0077 ± 0.0403, indistinguishable from zero.

How far this goes, and no further. In the one band where both groups are well populated, no difference is detected. That is a failure to find a difference across 31 and 22 targets, not a demonstration that none exists, and the interval is wide enough to hide a real effect. It does not show that adding data to an understudied target would cause it to improve. ‘Understudied’ is itself defined by data volume, so this is close to asking whether volume explains volume.

Methods

Task definition

The model answers a comparison: given one kinase sequence and two ligands, which ligand is more potent against that kinase. Ranking a compound library is a sequence of such comparisons, so this is the primitive operation of virtual screening rather than a proxy for it. Because the orientation of every pair is randomised, a constant output scores exactly 0.500 and a Matthews correlation of 0.000, so the chance line needs no argument. That is not the same as there being no baseline worth beating, and two are reported beside the model below: ranking by molecular size alone, and looking a compound's potency up from another kinase where such data exists.

Data

Measurements are drawn from the Kinase Knowledgebase (KKB), Eidogen-Sertanty, release Q2-2026, restricted to human enzyme assays with a defined potency between pIC50 3 and 11. The training table holds 673,659 measurements over 500 kinase genes and 742 distinct sequences, including 13,218 rows carrying a mutated sequence; a mutant is represented by its own sequence rather than being folded into the wild type. Censored records, which state only that potency is beyond a bound, are excluded from pair formation because a bound cannot be ordered against an exact value.

After excluding censored records and collapsing to one measurement per (sequence, ligand) pair, 417,507 distinct measurements remain. The published model is fitted on a random sample of 250,000 of these, about 60 percent, because the dense feature matrix over all of them does not fit comfortably in memory. The sample is drawn once with a fixed seed and the cap is recorded in the run's result file. The model therefore reaches the accuracies reported here having seen roughly three fifths of the available training measurements.

Molecular representation

Each ligand is described by a Morgan count fingerprint of radius 2 and 1,024 bits, computed with RDKit from the canonical SMILES, concatenated with fourteen physicochemical and compositional descriptors: molecular weight, heavy-atom count, bond count, rotatable bonds, ring count, and the counts of C, N, O, S, F, Cl, Br, I and P. The descriptors are part of the arm that was scored and are reported for exactness. Their measured contribution is negligible: paired per kinase over the 213 targets with at least 1,000 pairs, adding them is worth +0.0023 ± 0.0030 on count fingerprints. An earlier version of this document explained them by saying a circular fingerprint represents molecular size poorly; that explanation predicted a material gain on BINARY fingerprints, and the measured gain there was +0.0032 ± 0.0031, no different. The explanation is withdrawn and plain Morgan counts would serve as well.

Protein representation

Each kinase sequence is embedded with ESM2 (esm2_t12_35M_UR50D), giving one vector per residue, and reduced to a single fixed 480-dimensional vector by mean pooling over residues. Pooling is fixed rather than learned. Concatenated with the 1,038 ligand features, the vector presented to the model is 1,518 dimensions: 480 protein and 1,038 ligand.

No structural information reaches the model. This project extracts binding-site residues from co-complex and apo crystal structures, and that work underpins the mutant and site analyses reported separately. It is not an input to the model described here, which is given the amino-acid sequence and the ligand and nothing else. Nothing in these results should be read as a structure-aware prediction.

What the model is given, and what it is not

The model is trained on human kinase sequences and ligand structures from the Kinase Knowledgebase, and on nothing else. Its training table carries 673,659 rows over 500 kinases and 742 distinct sequences, of which 13,218 rows are point-mutant sequence records. Every row is an original measurement.

Mutants are trained on but not validated here. The published held-out split contains zero mutant rows, so nothing in this document measures how well the model predicts for a point mutant. Mutant prediction is a separate claim and it has not been tested.
Three things this project built that the model does NOT use. Binding-site residues were extracted from 1,417 crystal structures; cross-species orthologue sequences were assembled and screened by receptor-site conservation; and 821,370 BindingDB measurements were ingested and guarded against the held-out sets. None of the three is an input to the model described here, and none was used to train it. They are open directions under active test, and every number in this document was produced without them.

Relation to prior work

The structure-free framing of this project — predicting engagement from protein sequence and ligand chemistry alone, with no three-dimensional pose, using a protein language model together with a chemical language model — follows Fondrie and colleagues, Structure-free, site-resolved contrastive learning extends small-molecule discovery beyond the reach of structure-based modeling (Talus Bioscience, bioRxiv 2026), which introduces Ptarmigan-1.

The debt is specific and worth stating precisely. This project's neural arm was adapted from that architecture: frozen ESM2 residue embeddings and frozen ChemBERTa ligand embeddings projected into a shared space, with the temperature-scaled softmax pooling over residues that Ptarmigan-1 uses to turn residue-level scores into a protein-level call reused here as attention pooling, and its leakage-safe Bemis-Murcko scaffold-split discipline. Trainable projections and head only, both backbones frozen, as a lighter-weight analogue of its LoRA fine-tuning.

The model reported here is not that model. The neural arm was beaten on every measure by the random forest described above, which uses fixed mean pooling and a count fingerprint rather than learned pooling and a chemical language model, and which is what all results in this document describe. The two also answer different questions: Ptarmigan-1 predicts and localises engagement across the proteome, including at cryptic and disordered sites; this model ranks ligands by potency against a kinase for which measured data already exists.

Model and why it is antisymmetric

A random forest regressor of 200 trees (minimum two samples per leaf) is fitted pointwise on (protein vector, ligand features) against measured pIC50. Two ligands are then compared by the difference of the model's two predictions, so that P(A more potent than B) follows the sign of sA − sB. This construction is exactly antisymmetric: exchanging the two ligands reverses the prediction identically, and the model cannot return contradictory answers for the same pair presented in a different order. A forest given both ligands as joint input would carry no such guarantee. It also means a library of n compounds is scored in n forward passes rather than n2 comparisons.

Evaluation pairs

This model has no training pairs. The forest is fitted pointwise on individual pIC50 values; pairs exist only at evaluation, and every non-tied pair of ligands measured against the same sequence is scored. There is no gap filter on pair construction.

Results are then reported in three bands of true potency difference: under half a log, half to one log, and more than one log. The band most worth quoting is the last, because that is the separation a chemist acts on. For context on what a resolvable difference is, disagreement between two independent publications reporting the same compound against the same kinase has a 90th percentile of 0.715 log units over 204,438 comparisons, rising to 1.218 after deduplication; the source file recommends treating one log as the floor. Pairs closer than that are harder rather than impossible: the model still scores 57.8 percent under half a log, against a 50 percent coin flip.

Held-out evaluation

Held out per kinase, by design. The split withholds compounds by Bemis-Murcko scaffold within each kinase, keyed on the (sequence, ligand) pair. No protein and no family is ever withheld, because the deployment case is ranking compounds against a kinase you already have data on. A consequence is that a compound withheld from one kinase may appear in training against a DIFFERENT kinase: 57.2 percent of unique test compounds and 74.6 percent of test rows involve such a compound. That is the realistic case rather than a leak, since screening libraries are full of compounds measured against something. The exact unit being predicted, this compound against this kinase, is withheld: only 0.65 percent of test rows share a (kinase, ligand) combination with training.

The advantage that cross-kinase knowledge confers is not assumed away, it is measured. The compound-lookup baseline above is exactly that advantage made explicit, predicting from the same compound’s potency against another kinase, and it scores 73.1 percent. The model scores 76.8 percent on those same pairs, so it adds information beyond knowing the compound elsewhere. What these internal numbers do not measure is performance on chemistry absent from the corpus entirely; the external section speaks to that.

Ligands are withheld by Bemis-Murcko scaffold, keyed on the (sequence, ligand) pair. Every kinase sequence remains in training. No protein and no sequence family is withheld, because a kinase for which no data exists is not the deployment scenario: the kinome is among the most exhaustively characterised regions of the proteome. Evaluation covers 2,965,273 held-out ligand pairs across 413 targets. The kinase is the unit of replication for the kinase-level mean and its standard error, and only for those. Pooled accuracy, the margin deciles and the selectivity figures are computed over pairs that share compounds and are therefore not independent observations; treat them as descriptive rather than as quantities with an interval.

What this model does not use

The headline results are obtained without three bodies of work that are built and available: 4,555 CANDIDATE orthologue sequences across 475 organisms, screened by binding-site identity; per-residue contact maps from 1,417 solved co-complex structures covering 170 targets, with 977 identified ligands and 182 sites excluded because a nucleotide or crystallisation additive rather than an inhibitor defined them; and 821,370 BindingDB measurements retained after removing every compound-target pair appearing in the frozen ChEMBL benchmarks. These are headroom, not caveats.

Data sources

Kinase Knowledgebase (KKB), Eidogen-Sertanty, release Q2-2026 — the training and evaluation corpus: eidogen-sertanty.com/kinasekbmarvin.php.

BindingDB — ingested and held for future arms, not used in the results reported here. Gilson et al., Nucleic Acids Res. 44:D1045 (2016), doi:10.1093/nar/gkv1072; bindingdb.org.

ChEMBL — used only as a frozen external benchmark, never trained on; every compound-target pair appearing in it was removed from the BindingDB import. Zdrazil et al., Nucleic Acids Res. 52:D1180 (2024), doi:10.1093/nar/gkad1004; ebi.ac.uk/chembl.

RCSB Protein Data Bank — co-complex structures used for the binding-site analysis reported separately. Berman et al., Nucleic Acids Res. 28:235 (2000), doi:10.1093/nar/28.1.235; rcsb.org.

UniProt — sequence and accession mapping. UniProt Consortium, Nucleic Acids Res. 51:D523 (2023), doi:10.1093/nar/gkac1052; uniprot.org.

Models and software

ESM2 protein language model, checkpoint facebook/esm2_t12_35M_UR50D, 35M parameters, 12 layers, 480-dimensional per-residue representations. Lin et al., Science 379:1123 (2023), doi:10.1126/science.ade2574; code at github.com/facebookresearch/esm.

ChemBERTa chemical language model, checkpoint seyonec/ChemBERTa-zinc-base-v1, 768-dimensional embeddings — used in the comparison arm. Chithrananda et al., arXiv:2010.09885 (2020), arxiv.org/abs/2010.09885.

Morgan / ECFP count fingerprints, radius 2, 1,024 bits, and all physicochemical descriptors computed with RDKit: rdkit.org. Method: Rogers & Hahn, J. Chem. Inf. Model. 50:742 (2010), doi:10.1021/ci100050t.

Bemis-Murcko scaffolds, used to define the held-out ligand split. Bemis & Murcko, J. Med. Chem. 39:2887 (1996), doi:10.1021/jm9602928.

Random forest regressor, scikit-learn: scikit-learn.org. Breiman, Machine Learning 45:5 (2001), doi:10.1023/A:1010933404324.

Pairwise ranking formulation: Burges et al., Learning to Rank using Gradient Descent, ICML 2005, doi:10.1145/1102351.1102363.

Matthews correlation coefficient: Matthews, Biochim. Biophys. Acta 405:442 (1975), doi:10.1016/0005-2795(75)90109-9.

How to use it, and where it stops

How to use it

Point it at a kinase you already have data on and a compound library you have not measured. It scores every compound in one pass and returns a ranked list, each comparison carrying a confidence. Act on the confident fraction: accuracy rises steeply as you narrow to the calls the model is most certain about, so the operating point is yours to choose.

Check the target first. This is the single most important step and it is not optional. Performance varies more between targets than it does between any two models we have tried. On its strongest targets — AURKA, ABL1, MTOR, SRC, CDK2, PIM1, BRAF — it calls decisive pairs correctly around nine times in ten on chemistry from a source it has never seen. On its weakest it is close enough to a coin flip that a prediction should carry no weight. The tier table above is the guide, and there is no aggregate number that substitutes for reading it.

Where it stops

It ranks; it does not predict absolute potency. Two compounds whose true potencies differ by less than two publications routinely disagree by cannot be reliably adjudicated from this assay corpus, and the model is correctly close to chance on them rather than confidently wrong.

Where a compound already has measured potency against a related kinase, use that measurement: it is direct evidence. It is not, however, a stronger predictor than the model on this benchmark — that lookup scores 73.1 percent where it is defined, against the model's 76.8 percent on the same pairs. The lookup was undefined on 49.7 percent of evaluation pairs, and it is there that the model is the only option.

It is a triage tool that runs before docking or crystallography, not a replacement for either, and not a substitute for measurement.

A real limitation, stated plainly. Records that say only that a compound is weaker than some tested concentration are excluded from this model, in training and in evaluation. That is 309,111 of the source rows. They carry most of the evidence that a compound fails to bind, so the model has been shown far fewer non-binders than the corpus contains. An earlier version of this document claimed the opposite; the claim was wrong and is withdrawn.

What this model does

It sorts a compound library against a kinase you already have data on, and reports a margin on each call that tracks how often it is right. Used as a filter on its confident predictions it is right about nine times in ten on chemistry from a source it has never seen. A coin flip is 50%.

Scores a pair in milliseconds with no structure needed, against minutes to hours for docking, so it triages a library before any structure-based work begins. Structural evidence behind the binding-site work.

72%
Every held-out pair. Averaged per kinase over 413 targets and 2,965,273 comparisons. A coin flip is 50%.
89%
When the answer matters. Pairs whose measured potencies differ by more than tenfold.
98%
Largest model margins, held-out KKB compounds. On compounds from an outside source the same decile falls to about 88 percent. Use the lower figure to plan.
3.6×
On chemistry it has never seen. Enrichment in the top tenth of a ranked library, against a random ordering, on 10,161 compounds from an outside source.

The complete experiment record, including every claim that did not survive review, is kept separately in collab/cycles/ and is deliberately not part of this document.

Generated from collab/cycles/*/claude_manifest.json by scripts/37_live_report.py · 08 August 2026 at 19:01