KinaseFoundationModel

Version 2: two models that are asked a question,
not two scores that get subtracted.

Version 1 scored one kinase and one ligand at a time, and a wrapper subtracted two independent scores to compare anything. Version 2 puts the whole comparison in a single row, in a fixed order, and trains the forest on that question directly. One model ranks two compounds against one kinase. The other ranks two kinases against one compound, the selectivity question version 1 was explicitly unable to answer. Both return two probabilities that sum to 1, and the spread between them is a confidence signal whose reliability was measured.

Get it on GitHub → Download the models

Model 1 · potency ranking

LigASeqLigB: which of two compounds binds this kinase more tightly?

ligand A sequence ligand B  · 2,556 numbers in one row

Given two ligands and one protein sequence, it predicts which of the two ligands is more potent against that sequence. It is used to rank order molecules against a single target. No protein structure and no docked pose are used; the protein enters only as a sequence embedding.

0.693accuracy on the ChEMBL test set as deployed, over 1,836,100 comparisons across 477 targets. The tool averages both ligand orders; the report’s single-order evaluation figure is 0.690.
0.888accuracy on the pairs the model was fitted on
0.842accuracy when acting only on predictions at strength 0.70 or above, a fifth of all comparisons, against a 0.680 baseline
0.027mean departure from exact reversal when the two ligands are swapped

Rank v2 · ligand → sequence → ligand preview Read the research report →

The potency model: ligand A, one kinase sequence and ligand B enter a single random forest in that fixed order. Each ligand becomes a 1,024-bit Morgan count fingerprint plus 14 descriptors; the sequence becomes 480 ESM2 numbers. The forest returns the probability that ligand A is the more potent of the two, shown on a confidence bar running from A binds tighter to B binds tighter. The worked case is bosutinib, measured pIC50 8.96, against a pyrazolo[3,4-d]pyrimidine at 4.50 on the ABL1 kinase domain, RCSB 3UE4.
The whole comparison is one row. The order is the question: ligand A first, the sequence in the middle, ligand B last. Figure taken from the LigASeqLigB report.

Where the potency model is accurate

Accuracy is not one number. It depends on how far apart the two compounds really are, and on whether the model has seen either of them before. Both tables are the ChEMBL test set, verbatim from the report.

By the true potency gap

Potency gap between the two ligandsComparisonsAccuracy
under 0.5 log517,0170.565
0.5 to 1 log430,8940.653
1 to 2 logs548,6920.744
over 2 logs339,4970.838
all1,836,1000.690

By how new the compounds are

How many of the two ligands are new to KKBComparisonsAccuracy
neither1,029,9410.726
one541,0310.673
both265,1280.582

Chemistry the model has never seen on either side is the hardest case, and it is also the case a screening run is made of. Read this table before quoting 0.690.

Acting only on confident predictions

Prediction strength is the larger of the two output probabilities, so it runs from 0.5, a coin flip, to 1.0. Raising the bar buys accuracy and costs coverage. The report names 0.70 as the useful operating point.

Act only at strengthPredictions kept (of 1,719,096)ShareChEMBL test accuracy
0.50, answer everything1,719,096100.0%0.680
0.60813,66347.3%0.788
0.70350,91820.4%0.842
0.80141,8138.2%0.858
0.9051,4503.0%0.872
Strength does not mean the same thing on the two sets. On the training pairs a 0.7 prediction is right 98% of the time; on ChEMBL the same 0.7 is right 84% of the time. The ordering is reliable, the absolute number is not transferable. Test figures in this table are computed over 1,719,096 comparisons drawn under the same even-quota rule; the headline 0.690 is over the 1,836,100-comparison draw. The two draws differ only by sampling.
Model 2 · selectivity

SeqALigSeqB: which of two proteins does this compound prefer?

sequence A ligand sequence B  · 1,998 numbers in one row

A random forest that takes two protein sequences and one ligand in a fixed order and returns which protein binds the compound more potently. Trained on the KKB, tested on ChEMBL measurements the model has never seen. This is the question the version 1 scorer could not answer: its per-target scores sit on different scales, so subtracting two of them reported scale differences as if they were selectivity.

75.3%test accuracy on 3,137,588 unseen ChEMBL comparisons
94.3%training accuracy on 4,340,117 comparisons
92.3%accuracy when acting only at prediction strength 0.70 and above, 1,155,527 comparisons, 36.8% of the set
95.1%of unseen comparisons change their declared winner when the two proteins are swapped

Rank v2 · sequence → ligand → sequence preview Read the research report →

The selectivity model: sequence A, one ligand and sequence B enter a single random forest in that fixed order. Each sequence becomes 480 ESM2 numbers through ESM2 and the ligand becomes a 1,024-bit Morgan count fingerprint plus 14 descriptors. The forest returns two probabilities that sum to 1, shown on a bar running from protein A has greater affinity to the ligand to protein B has greater affinity. The worked case is dasatinib between ABL1 and GSK3B.
The two proteins occupy fixed positions and the position is the question. Figure taken from the SeqALigSeqB report; structures are ABL1 from PDB 2GQG, which has dasatinib bound, and GSK3B from PDB 1Q5K.

Where the selectivity model is accurate

By the size of the true potency difference

SeparationTest nTest accuracy
Under 0.5 log696,09657.7%
0.5 to 1 log761,49871.5%
1 to 2 log1,067,91081.0%
Over 2 log612,08490.2%

Where the two proteins are within half a log of each other, 57.7% is close to a coin flip. Two kinases a compound genuinely cannot tell apart are two kinases the model cannot tell apart either.

By the model's own confidence

Prediction strengthTest nShareTest accuracy
0.5 to 0.61,075,80034.3%57.9%
0.6 to 0.7906,26128.9%74.4%
0.7 to 0.8650,02820.7%88.4%
0.8 to 0.9368,75511.8%96.4%
0.9 to 1.0136,7444.4%99.3%

This is the practical result. Accuracy rises at every step and never falls, so the model flags its own uncertain calls. Prediction strength is the larger of the two output probabilities, the same definition the potency model uses, so the two can be read side by side.

Choosing a cutoff

Act only at strengthTest keptof setTest accuracy
0.50, answer everything3,137,588100.0%75.3%
0.602,061,78865.7%84.4%
0.70, the operating point1,155,52736.8%92.3%
0.80, a shortlist that should not contain mistakes505,49916.1%97.2%
0.90136,7444.4%99.3%
Two stacked charts against prediction strength from 0.5 to 1.0. The upper chart shows accuracy rising for both the training and the ChEMBL test set, never falling; a dashed line marks 0.70, where the test set is 92.3% correct against 75.3% if every comparison is answered. The lower chart shows the share of comparisons you can still answer falling as the cutoff rises, with 37% kept at 0.70.
What raising the cutoff buys, and what it costs. Figure taken from the SeqALigSeqB report.
0.70 is the operating point the report argues for. Going from 0.50 to 0.70 buys 17 accuracy points and costs 63% of the answers; going on from 0.70 to 0.90 buys only 7 more and costs 88% of what remained. Note that strength does not mean the same thing on the two sets: on training comparisons a 0.70 prediction is right 99% of the time, on ChEMBL the same 0.70 is right 92% of the time. The ordering is reliable, the absolute number is not transferable, which is why the cutoff must be set from the test column.

Limitations of version 2, stated plainly

Only the sequences each model was trained on were measured, 695 for potency, 728 for selectivity. Anything else is scored but unvalidated. Both models ship the vectors for the sequences they were trained on, and a sequence outside that set is encoded on request with the same ESM2 recipe rather than being refused. So you can paste an arbitrary kinase, a resistance mutant for example, and get an answer. What you do not get is any claim to accuracy: every figure on this page was measured between sequences the models were trained on. Pasted sequences are flagged as unvalidated in the results.
Wild type against its own mutant is unmeasured for selectivity. Every KKB comparison was used for training, including all 5,846 in which a wild type is compared against one of its own mutants. Because nothing was withheld and ChEMBL is keyed by gene and therefore contains no mutants, this release has no measured wild-type-versus-mutant accuracy and none can be quoted for it. The model is trained on those comparisons and will predict on them; that capability is unmeasured rather than absent.
Close calls are close to chance on both models. Under half a log of separation, the potency model scores 0.565 and the selectivity model 57.7%. Neither should be used to resolve a two-fold difference. Use the confidence spread to decide what to act on, and read the cutoff tables above before picking a threshold.
The same confidence number does not carry the same accuracy on the two models. Both now define prediction strength the same way, the larger of the two output probabilities, 0.5 to 1.0, so the scales line up. What they buy does not. A 0.70 is worth 0.842 accuracy on the potency model and 92.3% on the selectivity model, and both figures are specific to that model's own test set. Read each tool's own band table rather than carrying a threshold across.
Neither model estimates a potency. Both answer a comparison and return a probability, not a pIC50. There is no number here to put in a table as a predicted activity.

How version 2 differs from version 1

Version 1Version 2 potencyVersion 2 selectivity
What one row holdsone kinase, one ligandligand, sequence, ligandsequence, ligand, sequence
What it returnsa score on the target's own scaleprobability that ligand A is more potentprobability that protein A binds more potently
How two things are compareda wrapper subtracts two independent scoresthe forest is trained on the comparisonthe forest is trained on the comparison
Answers selectivity?no: scales are not comparable across targetsno: one target at a timeyes, this is what it is for
Confidence signalmargin, a monotone transform, not calibratedprediction strength, 0.5 to 1.0prediction strength, 0.5 to 1.0

Version 1 remains published: its results report is unchanged and it has its own limitations page. Version 2 is a different architecture, not a retrain, and its numbers are not comparable to version 1's line by line.

Research reports

Both reports are copied here byte for byte from the model sandbox. They are under third-party review; if a number changes there, it changes here, and this page is updated from them rather than edited on its own.