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.
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
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 ligands
Comparisons
Accuracy
under 0.5 log
517,017
0.565
0.5 to 1 log
430,894
0.653
1 to 2 logs
548,692
0.744
over 2 logs
339,497
0.838
all
1,836,100
0.690
By how new the compounds are
How many of the two ligands are new to KKB
Comparisons
Accuracy
neither
1,029,941
0.726
one
541,031
0.673
both
265,128
0.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 strength
Predictions kept (of 1,719,096)
Share
ChEMBL test accuracy
0.50, answer everything
1,719,096
100.0%
0.680
0.60
813,663
47.3%
0.788
0.70
350,918
20.4%
0.842
0.80
141,813
8.2%
0.858
0.90
51,450
3.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
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
Separation
Test n
Test accuracy
Under 0.5 log
696,096
57.7%
0.5 to 1 log
761,498
71.5%
1 to 2 log
1,067,910
81.0%
Over 2 log
612,084
90.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 strength
Test n
Share
Test accuracy
0.5 to 0.6
1,075,800
34.3%
57.9%
0.6 to 0.7
906,261
28.9%
74.4%
0.7 to 0.8
650,028
20.7%
88.4%
0.8 to 0.9
368,755
11.8%
96.4%
0.9 to 1.0
136,744
4.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 strength
Test kept
of set
Test accuracy
0.50, answer everything
3,137,588
100.0%
75.3%
0.60
2,061,788
65.7%
84.4%
0.70, the operating point
1,155,527
36.8%
92.3%
0.80, a shortlist that should not contain mistakes
505,499
16.1%
97.2%
0.90
136,744
4.4%
99.3%
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 1
Version 2 potency
Version 2 selectivity
What one row holds
one kinase, one ligand
ligand, sequence, ligand
sequence, ligand, sequence
What it returns
a score on the target's own scale
probability that ligand A is more potent
probability that protein A binds more potently
How two things are compared
a wrapper subtracts two independent scores
the forest is trained on the comparison
the forest is trained on the comparison
Answers selectivity?
no: scales are not comparable across targets
no: one target at a time
yes, this is what it is for
Confidence signal
margin, a monotone transform, not calibrated
prediction strength, 0.5 to 1.0
prediction 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
LigASeqLigB v2 potency: 1,024-bit Morgan baseline. Input layout, training and test construction, accuracy
by gap and by novelty, the strength/accuracy trade, the worked bosutinib example,
and how a model this size was trained in 15 pooled chunks.
SeqALigSeqB v2 selectivity: input layout, the full worked ABL1/dasatinib/GSK3B case with both sequences,
data construction from bounded readings, accuracy by separation and by confidence,
order reversal, the five-band strength table, and the export bundle.
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.