Graph Neural Networks (GNNs) enable efficient drug discovery by generating novel molecules through iterative graph augmentation, where the model probabilistically adds nodes or edges to molecular graphs based on learned representations, allowing exploration of the vast chemical space (estimated 10^20-10^60 molecules) more effectively than traditional methods.
Graph Neural Networks for Molecular Design and Drug Discovery
Added:our next speaker is rosio mercado she's part of the molecular ai group at astrazeneca her work focuses on using deep learning methods for graph based molecular design she will talk about molecular design using graph neural networks welcome thank you so much sorry i just need the clicker okay thank you so much um so um thanks so much for the introduction and thank you so much for to the organizers for first of all holding this event and then also for giving me the opportunity to speak here so i'm very excited today to tell you about some of the work that we've been doing in our group at astrazeneca and how we use deep learning for molecular design so today i'm specifically going to be telling you about one of our recently published platforms for this so it's called graph event so i'm going to get right into it and start by talking about how ai can actually help the drug development process so i'm going to illustrate this with a bit of an oversimplified example first but hopefully it gets my point across so let's say that you know that a certain protein plays a crucial role in a given disease um and maybe perhaps to attempt to find a cure to this disease uh you can try to inhibit the function that this um inhibit the function of this protein excuse me um so uh one of the ways in which you could do this is let's say um uh you try to identify a molecule that can bind in this very well-defined binding pocket so it's not as simple as it sounds however as there's a bunch of different criteria that you have to actually optimize in order to to find the the best molecule so first the first criteria is actually finding a molecule that binds to a known target so this would eliminate a lot of molecules right off the bat then you'd want to make sure that you that that the molecule that you're taking forward that it's a very selective for the protein that you are targeting so you don't want it to bind to to any other protein just the one that you're interested in so you maybe you make some small modification to your candidate molecule then you also want your molecule to be novel so here you would make a further modification in case the previous molecule you had has been previously patented you want to definitely be studying moving forward with a new molecule and then you can make further modifications related to the optimizing the physical chemical properties of the molecules that you're studying and so on you can continue to do this for the rest of the properties on your list but this is a very difficult problem not only because you have a very large number of interdependent properties that you're trying to optimize over but also because you have a very large space of potential solutions so the space of theoretically possible drug like molecules is estimated to be between 10 to the 20 to 10 to the 60 number of molecules which is quite enormous so this makes it a very difficult problem to solve and traditionally the drug discovery process involves you know screening large libraries of compounds you have scientists who are proposing changes to these promising molecules you have teams you know communicating back and forth over many cycles many iterations and in the end you realize that maybe you spend a few years in this initial drug discovery phase but one of the things we're interested in is seeing if we could actually use deep learning to accelerate this uh drug discovery process and here i mean that not only do we want to shorten the time that we spend in this initial drug discovery phase but we would also like to be able to find better better solutions so increase the likelihood of success and any of the candidates that we take forward to the pre-clinical and in the clinical trials so now i'm going to talk about the field i work in which is deep molecular generative models and deep molecular generative models are tools that we can use to speed up the drug discovery process by generating molecules only in these promising areas of chemical space so here we have a pink box that represents our deep generative model in the center and what this model does is it would take us input all the desired properties that we want our molecules to have so here again is the physical chemical properties the novelty the desired target and what the model will do is it will do some optimization in a latent space and it will output to us only the molecules that have those desired properties so this is a big area of research and there's been a lot of different deep molecular generative models that have been developed in the in the past two years a lot of them have come from our group and they can largely be classified into two classes so we have string based approaches graph-based approaches i've also put a bit in grey the 3d approaches since this is a more emerging very hot field but i won't talk about it here so in string based approaches we can actually use the string representation for molecules in order to study them so there's many methods from chemi informatics there's many ways that we can actually represent molecules as strings and this opens us up to all the methods from natural language processing in order to study molecules similarly we can also use the molecular graph representation which is a bit more natural and both of these methods have their their own advantages i myself work in graph based methods but within each of these two um two classes of molecular generative models we also have different schemes that we can use for generation so the first one is we can generate molecules in a single shot way so let's say here we every time we sample our model we sample an entire graph all in one go so this would be a single shot we could also sample new molecules in an iterative way where every time we sample the model we're instead sampling a single node at a time and in this way building up our entire molecule so we treat it more as a sequence and in general iterative methods perform a little bit better are although there is advantages to each as well here okay so now i'm gonna tell you a little bit about graph invent which is the platform uh that we've recently published in our group so what is graph event it's a deep molecular generative model that is graph based and it uses an iterative approach to a molecular generation so the graph event structure the models in graph event actually consists of a tear deep neural network architecture so the first block is a graph neural network second block is a tiered feed for network architecture and so i put the link there to the github repo as well as to the publication i'll put it again at the end of the talk but the the code was written in using pytorch and you you you can run it on the cuda enable gpu but how does it actually generate new molecules so if we focus on the figure on the left here then we start from a given input graph so here the graph has three nodes we input it into our model and what the model outputs to us is a vector that contains the probability the probabilities for all the possible ways in which we could grow our input graph so if we sample from this long vector we sample an action then we can apply that action to our molecule so here we grow the the molecule by one more node and then we feed that molecule back into our trained model and we repeat this process feeding the molecule back into the model until the model says to stop so we've uh you know this is enough steps and in general graph event generates structures um probabilistically one atom bond at a time it can actually start generating new graphs either from empty or non-empty graphs and the structures that are generated by models in graph event tend to have a very high validity and diversity so graph uses the matrix graph representations as i've shown you before so what this means is the input is an undirected molecular graph g which is a tuple of nodes and edges and what this practically means is that we can represent all of the molecules in our training set using these two different tensors so we have a node features matrix x which encodes the identity of all of the nodes in our in our molecules and we have the adjacency tensor e which encodes not only the way that the nodes are connected but also the identity of all the edges that are linking the nodes so how does it work again we take our node and edge features tensor sorry the adjacency tensor and we feed it at is as input to our generative model and what the model outputs to us is the same the same tensors but they are all augmented further by either one edge or one node depending on the action that was sampled then we take our output and we feed it back into the model so now our output is our input what the model does is it gives us back um the graphs further augmented by one node or one edge and we repeat this process until the model is finished so the first block of the models is a message passing neural network or an mpn so here the input to the mpn is the node features matrix and the adjacency tensor what the mpn outputs to us is these two these two items so one is the node embeddings matrix which is a matrix a matrix of stacked node embeddings for every single node in our input graph and then we have a vector which is our graph embedding and this is a representation for our entire molecular graph and there are some very nice properties that these embeddings have so we can take these learned node representing these learned node and graph representations from the mpn layer and feed this into the second block of our model um so this is the global readout phase and what the global readout outputs is in apd and what this is is an action probability distribution that tells us how are we going to grow the molecules that were in the input and it's split into three terms so f add f con and f term more or less they have these shapes and what these are f add is the encoding the probability of adding a new node to an existing node in the graph f con is encoding the probability of connecting the less dependent node to another node in the graph and f term is giving us the probability of terminating the graph generation so all of these make up one probability distribution so they're also max and they should all sum up to one and how do i act how do we actually teach the model uh how to uh generate the correct action so the goal of the model is to minimize the kl divergence where here the kl divergence between the target apd and the predicted apd and the target apd encodes the correct action um the predicted apd is what the model is predicting that we should do to this input molecule and the best modeling graph event actually uses the ggn architecture which is the gated graph neural network architecture i won't go into the details here but this is what the message passing phase of the ggnn looks like this is what the readout phase looks like and this works extremely well for for our models then the ggnn is followed by the global readout phase that i've shown here or this is rather the best one that we found in our model so it's a series of feed forward networks that take us input the learnt node and graph embeddings and we compute the three terms of the apd separately so f add of con and f term once we compute each of those terms separately we concatenate them soft max them and that's our probability distribution so our models we have benchmarked them using open source benchmarks and we find that our models perform on par with state-of-the-art models so for details i encourage you to see our publication i've linked i've linked the github repo which contains links to the publication as well as the repo to the the benchmark that we use it's called moses and the in general the structures that are generated by our models have a very high diversity in novelty we also find that the models can learn from very few data points there's a relatively low percent validity in our model so only 95 percent which is not so low when you also consider the fact that we don't encode any expert knowledge into the models there is no chemical rules information the models learn the chemistry just from the training set but this still gives us something to try to improve we would also like to improve on the computational cost is currently associated with the graph event model so they are generally a little bit more expensive than string based methods for example okay so summary so here's what i covered today so ai can be used to accelerate molecular design and the drug development process and i've shown you how there's two main classes of generative models so we have string and graph based we also have single shot and iterative approaches within each class and graph event specifically is a platform that uses graph neural networks for graph based iterative molecular generation and it performs on par with state-of-the-art molecular generative models so hopefully you take away that graphs are very powerful molecular representations for these tasks so now i'd like to thank you all the audience for your attention i'd also like to thank the guy organizers as well as all my colleagues who worked on me with me on this project as well as the molecular ai team who's fantastic i've put up a link to their repo which contains links to not only the code but also tutorials on how to use the code and links to the publications and finally i just want to advertise that we have masters and phd thesis opportunities for uh autumn next year so if you're interested in that uh please contact willa english so thank you thank you uh very interesting to see this technique used uh actually in in real world in graph neural networks is sort of like a theoretical um or academic research field in general but it's really cool to see that you're able to use it so we have a couple of uh questions from from the audience first of all we have elin who's asking how much time does this approach shave from the classical time frame of developing molecules well that that hasn't been measured yet because it's also not gonna you can't really switch completely to doing it all using these approaches right you'd have to start to slowly integrate it into your pipeline so you might start to see some improvements slowly but i can't answer that question maybe in a few years we'll see a publication from someone who who has studied this but i don't have an answer now okay we also have a question from jesper who is asking uh have you thought about different representations that you use for the in the graph uh like uh other latent spaces like juan career space or something like that um we have used other molecular graph representations so i played around with with those uh which features i wanted to include for describing the notes um which edges and so on but in the end i chose the smallest representation possible so as to make the models train as quickly as possible because the bigger you make the more features you choose to include the bigger all your matrices are going to be and then more expensive is your models right so that was actually a question that i had like how big molecules are you able to generate um i've gone up to uh oh what is actually the largest uh in the 50s of have 50 number of nodes where the nodes are all heavy atoms so we're not including the hydrogen atoms but there is other graphics methods which have gone on to bigger molecular graphs um including thousands of nodes but they used a different approach than what we have so we're hoping also to be able to scale up okay cool so i also noted that this gate the graph neural network paper is quite old and people have been experimenting with a lot of different activation functions and so on have you tried changing that approach yes we're we have we actually compared the ggn to a few other mpns but we did still find the gdn and what's the best um and we're currently exploring different graph based architectures as well in our models so we'll see if there's any better performance okay cool interesting so it's it's also the fact that i mean you're predicting the next action and that seems to be like a probability so why don't you use uh like log loss or cross entropy loss and why do you use this scale divergence i wish i had a good answer for that i found it to work the the best actually i tried a few different loss functions um and this is what i saw was working the best in the model so then i went with it and i've seen a few other papers that use it but i could explore different different options if i see a good argument why i should be using one particular thing and not this but it works okay do you have any intuition to why that's the case no sorry okay so another question from jasper is there some approximate method of estimating the quality of some novel apd i'm not sure i understand the question perhaps you do um no i don't understand actually because it's we want it too much uh that which is um we we know is to be the ground truth and we generate the ground truth in the pre-processing phase so we preprocess all the training data and we generate all the ground truth apds so we wanted to match that um but i don't know exactly what's going on hopefully yesterday is happy with that one yeah okay okay thank you and welcome anna with the flowers oh thank you all right thanks so much okay thank you
Up Next

Knowledge Graphs in the Enterprise | EY AI & Graph Technology
@neo4j
18.5K views•2018-01-05

Building Real-Time ML Pipelines with Feature Stores and MLOps Frameworks
@ODSCAI
5.1K views•2022-02-20

Bypassing Tor Censorship: Bridges and Pluggable Transport Guide
@Coding_ForEveryone
397 views•2024-06-11

Neural Networks Explained: Math, Layers, and Learning Fundamentals
@3blue1brown
21.9M views•2017-10-05
Related Study Plans & Knowledge Roadmaps
Structured learning paths in Artificial Intelligence













![[딥러닝의 기초] 250923 Chapter 3(2): Backpropagation, and Depth vs. Width of DL](https://i.ytimg.com/vi/uLO8K9qLMRU/maxresdefault.jpg)










![[hgraph2graph] Hierarchical Generation of Molecular Graphs using Structural Motifs | AISC Spotlight](https://i.ytimg.com/vi/Y5ZLbJDsuEU/maxresdefault.jpg)














