Large scale classification of chemical reactions from patent data Gregory Landrum NIBR Informatics, Basel Novartis Institutes for BioMedical Research 10th International Conference on Chemical Structures/ 10th German Conference on Chemoinformatics
Outline Public data sources and reactions Fingerprints for reactions Validation: Machine learning Clustering Application: models for predicting yield 2
Public data sources in cheminformatics an aside at the beginning Publicly available data sources for small molecules and their biological activities/interactions: 3 PDB, PubChem, ChEMBL, etc. Publicly available data sources for the chemistry behind how those molecules were actually made (i.e. reactions): pretty much nothing until recently Plenty of data locked up in large commercial databases, and pharmaceutical companies ELNs, very very little in the open The public/open point is important for collaboration and reproducibility
A large, public source of chemical reactions Not just what we made, but how we made it Text-mining applied to open patent data to extract chemical reactions : 1.12 million reactions [1] Reactions classified using namerxn, when possible, into 318 standard types : >599000 classified reactions [2] [1] Lowe DM: Extraction of chemical structures and reactions from the literature. PhD thesis. University of Cambridge: Cambridge, UK; 2012. [2] Reaction classification from Roger Sayle and Daniel Lowe (NextMove Software) http://nextmovesoftware.com/blog/2014/02/27/unleashing-over-a-million-reactions-into-thewild/ 4
More about the classes Frequency of reaction classes: 5 20 most common classes: 44675 2.1.2 Carboxylic acid + amine reaction 39297 1.7.9 Williamson ether synthesis 28194 2.1.1 Amide Schotten-Baumann 26739 1.3.7 Chloro N-arylation 22400 1.6.2 Bromo N-alkylation 20465 7.1.1 Nitro to amino 20405 1.6.4 Chloro N-alkylation 17226 6.2.2 CO2H-Me deprotection 16602 6.1.1 N-Boc deprotection 16021 6.2.1 CO2H-Et deprotection 12952 1.2.1 Aldehyde reductive amination 12250 2.2.3 Sulfonamide Schotten-Baumann 10659 11.9 Separation 8538 3.1.5 Bromo Suzuki-type coupling 7261 1.7.7 Mitsunobu aryl ether synthesis 7102 6.3.7 Methoxy to hydroxy 7071 3.3.1 Sonogashira coupling 6472 3.1.1 Bromo Suzuki coupling 6383 1.8.5 Thioether synthesis 5791 9.1.6 Hydroxy to chloro
Got the reactions, what about reaction fingerprints? Criteria for them to be useful Question 1: do they contain bits that are helpful in distinguishing reactions from another? Test: can we use them with a machine-learning approach to build a reaction classifier? Question 2: are similar reactions similar with the fingerprints Test: do related reactions cluster together? 6
Our toolbox: the RDKit Open-source C++ toolkit for cheminformatics Wrappers for Python (2.x), Java, C# Functionality: 2D and 3D molecular operations Descriptor generation for machine learning PostgreSQL database cartridge for substructure and similarity searching Knime nodes IPython integration Lucene integration (experimental) Supports Mac/Windows/Linux Releases every 6 months business-friendly BSD license Code: https://github.com/rdkit http://www.rdkit.org
Similarity and reactions What are we talking about? These two reactions are both type: 1.2.5 Ketone reductive amination 8 It s obvious that these are the same, right?
Similarity and reactions What are we talking about? These two reactions are both type: 1.2.5 Ketone reductive amination 9 It s obvious that these are the same, right?
Got the reactions, what about reaction fingerprints? Start simple: use difference fingerprints: FP Reacts = FP Products = i Reactants i Products FP i FP i FP Rxn = FP Prods FP Reacts Similar idea here: 1) Ridder, L. & Wagener, M. SyGMa: Combining Expert Knowledge and Empirical Scoring in the Prediction of Metabolites. ChemMedChem 3, 821 832 (2008). 2) Patel, H., Bodkin, M. J., Chen, B. & Gillet, V. J. Knowledge-Based Approach to de NovoDesign Using Reaction Vectors. 10 J. Chem. Inf. Model. 49, 1163 1184 (2009).
Refine the fingerprints a bit Text-mined reactions often include catalysts, reagents, or solvents in the reactants Explore two options for handling this: 1. Decrease the weight of reactant molecules where too many of the bits are not present in the product fingerprint 2. Decrease the weight of reactant molecules where too many atoms are unmapped 11
Are the fingerprints useful? Question 1: do they contain bits that are helpful in distinguishing reactions from another? Test: can we use them with a machine-learning approach to build a reaction classifier? Question 2: are similar reactions similar with the fingerprints Test: do related reactions cluster together? 12
Machine learning and chemical reactions Validation set: The 68 reaction types with at least 2000 instances from the patent data set - Resolution reaction types removed (e.g. 11.9 Separation and 11.1 Chiral separation) - Final: 66 reaction types Process: Training set is 200 random instances of each reaction type Test set is 800 random instances of each reaction type Learning: random forest (scikit-learn) 13
Learning reaction classes Results for test data Overall: Recall: 0.94 Precision: 0.94 Accuracy: 0.94 14 For a 66-class classifier, this looks pretty good!
Learning reaction classes Confusion matrix for test data ~94% accuracy much of the confusion is between related types Bromo Suzuki coupling Bromo N-arylation Bromo Suzuki-type coupling 15
Are the fingerprints useful? Question 1: do they contain bits that are helpful in distinguishing reactions from another? Test: can we use them with a machine-learning approach to build a reaction classifier? Question 2: are similar reactions similar with the fingerprints Test: do related reactions cluster together? 16
Clustering reactions Reaction similarity validation set: The 66 most common reaction types from the patent data set Look at the homogeneity of clusters with at least 10 members 1.2.5 Ketone reductive amination 1.2.5 Ketone reductive amination 1.2.5 Ketone reductive amination Integration Interpretation: <30% of clusters are <90% homogeneous 17 Interpretation: <40% of clusters are <80% homogeneous
Using the fingerprints Can we help classify the remaining 600K reactions? Apply the 66 class random forest to generate class predictions for the unclassified compounds in order to find reactions we missed Cluster the unclassified molecules, look for big clusters of unclassified molecules, and (manually) assign classes to them. Both of these approaches have been successful 18
Predicting yields The data set includes text-mined yield information as well as calculated yields. For modeling: prefer the text-mined value, but take the calculated one if that s the only thing available Look at stats for the 93 reaction classes that have at least 500 members with yields, a min yield > 0 and a max yield < 110 %: 19
Predicting yields Look at the most populated classes: 20
Try building models for yield Start with class 7.1.1 nitro to amino Break into low-yield (<50%) and high-yield (>70%) classes. 14% are low-yield 21
Try building models for yield things that don t work Try building a random forest using the atom-pair based reaction fingerprints That s performance on the training set 22
Try building models for yield things that don t work Try building a random forest using the atom-pair based reactant fingerprints That s performance on the training set 23
Try building models for yield things that don t work? Look at the ROC curve for the training-set data nine wrong low-yield predictions first wrong low-yield prediction The model is doing a great job of ordering compounds, but a bad job of classifying compounds 24
Unbalanced data and ensemble classifiers an aside Usual decision rule for a two-class ensemble classifier: take the result that the the majority of the models (decision trees for random forests) vote for. That s a decision boundary = 0.5 If the dataset is unbalanced, why should we expect balanced behavior from the classifier? Idea: use the composition of the training set to decide what the decision boundary should be. For example: if the data set is ~20% low yield, then assign low yield to any example where at least 20% of the trees say low yield 25
Try building models for yield Getting close to working Try building a random forest using the atom-pair based reactant fingerprints That s performance on the training set What about moving the decision boundary to 0.2 to reflect the unbalanced data set? 26 Starting to look ok. What about the test set?
Try building models for yield Getting close to working Results from a random forest using the atom-pair based reactant fingerprints with the shifted decision boundary test set Not too terrible. 27
Try building models for yield Some more models Aldehyde reductive amination (no shift): test set Williamson ether synthesis (boundary 0.3) test set 28
Try building models for yield Some more models Chloro N-Alkylation (no shift): test set Chloro N-Alkylation (0.4 shift) test set 29
Wrapping up Dataset: 1+ million reactions text mined from patents (publically available) with reaction classes assigned Fingerprints: weighted atom-pair delta and functionalgroup delta fingerprints implemented using the RDKit Fingerprint Validation: 30 Multiclass random-forest classifier ~94% accurate Similarity measure works: similar reactions cluster together Combination of clustering + functional group analysis allows identification of new reaction classes We re also able to use the fingerprints to build reasonable models for yield
Acknowledgements NextMove Software: Roger Sayle Daniel Lowe NIBR: Anna Pelliccioli Sereina Riniker Mike Tarselli 31
Advertising 3 rd RDKit User Group Meeting 22-24 October 2014 Merck KGaA, Darmstadt, Germany Talks, talktorials, lightning talks, social activities, and a hackathon on the 24 th. Registration: http://goo.gl/z6qzwd Full announcement: http://goo.gl/zum2wm We re looking for speakers. Please contact greg.landrum@gmail.com 32