Two models take turns. Chemprop learns what your hits have in common, then SyntheMol-AB searches billions of molecules that can be made for the ones Chemprop scores best.
1
Start with your assay data
A CSV of molecules you've tested, with 1 for each hit and 0 for each non-hit. Each property column gets its own model.
Sulfanilamide1hit
Ciprofloxacin1hit
Trimethoprim1hit
Caffeine0non-hit
Aspirin0non-hit
Paracetamol0non-hit
smiles
antibacterial
Nc1ccc(cc1)S(N)(=O)=O
1
O=C(O)c1cn(C2CC2)c2cc(N3CCNCC3)c(F)cc2c1=O
1
COc1cc(Cc2cnc(N)nc2N)cc(OC)c1OC
1
Cn1c(=O)c2c(ncn2C)n(C)c1=O
0
CC(=O)Oc1ccccc1C(=O)O
0
CC(=O)Nc1ccc(O)cc1
0
An example property column, antibacterial
One molecule at a time
2
Chemprop reads each molecule as a graph
Atoms are nodes and bonds are edges, and every bond carries a message each way. At each step, a message adds up the ones arriving where it starts, except the one coming back along its own bond. At the third, each atom adds up the messages pointing at it, so it describes the chemistry up to three bonds away.
At step 3, the carbon adds up the messages pointing at it, with its own features. It now describes 9 other atoms, up to three bonds away. Point at any atom to follow it instead.
What every atom has learned
3
…and learns what hits share
The atoms' vectors are added up into one fingerprint for the molecule, and a neural network with one hidden layer turns it into the probability that the molecule is a hit. Chemprop learns the message-passing weights and the network's together.
Pick a molecule to send it through the network, and point at any part to see what it connects to; dashed lines are negative weights. Chemprop’s vectors and hidden layer have 300 numbers each; this draws 8 and 6.
Learns ten times
4
Tested on molecules it never saw
Ten models each learn from part of your data and are tested on a tenth they never saw, so every molecule is tested once. Averaged, they are your scoring model, and their test score tells you how far to trust it.
Your molecules, in ten groups
Model 1
Model 2
Model 3
Model 4
Model 5
Model 6
Model 7
Model 8
Model 9
Model 10
Learns fromPicks its best epoch onTested on
Point at a model to see how it splits your data.
Average the ten
Your scoring modelwith its test score
Scores every candidate
5
SyntheMol-AB searches chemical space
A search that designs molecules, drawn here as a black box. Each round, or rollout, it builds candidates from purchasable building blocks with known reactions, your scoring model scores them, and it learns from the scores where to look next.
Building blocks
Reactions
+→+→+→and more
SyntheMol-ABPicks building blocks and reactions to build a candidate
Your scoring model0.91Score
Chemical spaceDarker dots are molecules the search built; the darkest scored best.
Next rollout
Rollout 46 of 46
Every molecule it built
6
Molecules you can make
Every molecule the run built is saved with its scores and a full chemical profile, ready to sort and filter. Each one is assembled from building blocks that can be bought, by reactions known to work.
RankMoleculeScore
10.91
20.84
30.78
40.73
Building blocks and reactions are drawn as shapes, and the molecules, labels, weights and scores are made up for the picture. For the details, read how scoring models learn or the SyntheMol paper.