Knowledge graph framework for drug target identification
The knowledge graph framework addresses the challenge of identifying therapeutic targets by processing a disease graph with graph neural networks, resulting in efficient target scoring and accelerated drug development.
Patent Information
- Application Number
- PCT/US2024/053873
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-11-21
- Filing Date
- 2024-10-31
- Publication Date
- 2025-05-15
AI Technical Summary
Current machine learning models lack an efficient method to identify therapeutic targets for diseases, as they struggle to accurately discriminate between disease-causative and non-causative biological entities.
A knowledge graph framework is developed, utilizing a disease graph constructed with biological entity nodes and edges representing relationships, processed by graph neural networks to generate target scores indicating the likelihood of a biological entity being a therapeutic target.
This approach effectively accelerates the drug development process by accurately identifying therapeutic targets, reducing computational resource consumption, and handling the scarcity of labeled biological data through ensemble learning.
Smart Images

Figure US2024053873_15052025_PF_FP_ABST
Abstract
Description
KNOWLEDGE GRAPH FRAMEWORK FOR DRUG TARGET IDENTIFICATIONTECHNICAL FIELD
[0001] This specification relates to processing data using machine learning models to identify therapeutic targets for treating a disease.BACKGROUND
[0002] Machine learning models receive an input and generate an output, e.g., a predicted output, based on the received input. Some machine learning models are parametric models and generate the output based on the received input and on values of the parameters of the model.
[0003] Some machine learning models are deep models that employ multiple layers of models to generate an output for a received input. For example, a deep neural network is a deep machine learning model that includes an output layer and one or more hidden layers that each apply a non-linear transformation to a received input to generate an output.SUMMARY
[0004] This specification describes a system implemented as computer programs on one or more computers in one or more locations that can generate target scores for biological entities. In particular, the target score for a biological entity can define the likelihood that the biological entity is a therapeutic target for treating a specific disease. In this specification, a biological entity can be referred to as a therapeutic target for treating a disease, e.g., if targeting the biological entity with an intervention such as a drug can achieve a therapeutic effect in treating the disease. For instance, therapeutic targets for treating a disease can be biological entities that can be inhibited or activated by a therapy, e.g., a drug, in a way that can positively change the presentation, e.g., symptoms, of the disease.
[0005] In order to generate target scores that define the likelihood that a given biological entity is a therapeutic target, the system can build (or otherwise obtain) a “disease graph,” e.g., a disease knowledge graph, including biological entity nodes and edges that pertain to the specific disease. In this specification, examples of biological entities include, but are not limited to, genes, molecules, proteins, receptors, clinical phenotypes, and biological pathways. The edges of the knowledge graph represent a biological relationship between the pair of biological entities represented by a pair of nodes. For each edge, the type of biological relationship represented by the edge depends on the type or types of biological entities the edgeconnects. In this specification, examples of biological relationships include, but are not limited to, activation, phosphorylation, or inhibition.
[0006] The system can then process the disease graph to generate a target score defining a therapeutic target likelihood for each of one or more biological entities represented in the disease graph using the techniques described in this specification. In particular, the target scores discriminate between disease-causative and non-causative biological entity nodes, e.g., causative nodes have a high probability of controlling one or more aspects of the presentation of the disease and non-causative nodes have a low probability of controlling one or more aspects of the presentation of the disease. That is, a causative node is a node that represents a biological entity that is a therapeutic target for treating the disease; and a non-causative node is a node that represents a biological entity that is not a therapeutic target for treating the disease.
[0007] More specifically, this specification describes techniques for obtaining data defining the biological nodes and edges of the disease graph, enriching the disease graph with feature vector data, and processing the data defining the disease graph with a set of one or more graph neural networks to generate target scores defining a likelihood that the respective biological entity represented by each node is a therapeutic target for treating the disease.
[0008] The target scores can then be used for downstream analysis to identity7therapeutic targets for treating the disease. In some cases, the downstream analysis can be informed by disease subject matter experts (SMEs), e.g., scientists that have researched the disease and are know ledgeable about the academic body of work surrounding the disease. In some cases, an automated process, which can optionally be informed by disease subject matter experts, can rank the target scores to determine drug target candidates of interest and analyze the results to identity7therapeutic targets of interest. The automated process can involve candidate funneling, validation, and escalation for further research and development. In some cases, the generated target scores can also be used to determine candidate drugs for drug repurposing by identify ing already existing drugs that target the biological entities of interest.
[0009] According to a first aspect, there is provided a method performed by one or more computers for identifying therapeutic targets for treating a disease, the method comprising: obtaining data defining a disease graph, wherein the graph comprises: (i) a plurality of nodes that each represent a respective biological entity7, and (ii) a plurality7of edges, wherein: each edge in the graph connects a respective pair of nodes in the graph and represents a relationship between a pair of biological entities represented by the pair of nodes; and each node in the graph is associated with a respective feature vector characterizing the biological entityrepresented by the node: processing the data defining the disease graph using a graph neural network, in accordance with values of a set of graph neural network parameters, to generate a respective node embedding associated with each node in the disease graph; and processing, for each of a collection of biological entities represented by respective nodes in the disease graph, the node embedding associated with the node to generate a target score defining a likelihood that the biological entity is a therapeutic target for treating the disease.
[0010] In some implementations, the graph neural network comprises an encoder subnetwork that is configured to perform operations comprising, for each of a plurality of nodes in the disease graph: processing the feature vector of the node to generate a corresponding initial node embedding of the node.
[0011] In some implementations, the graph neural network comprises a plurality of message passing neural network layers, wherein each message passing neural network layer is configured to perform operations comprising: receiving data defining a respective current node embedding associated wi th each node in the disease graph; and process the current node embeddings associated with the nodes in the disease graph, in accordance with values of a set of graph neural network parameters and based on a topolog}’ of the disease graph, to update the current node embeddings associated with the nodes in the disease graph.
[0012] In some implementations, for each of one or more biological entities represented by respective nodes in the disease graph, processing the node embedding associated with the node to generate the target score defining the likelihood that the biological entity is a therapeutic target for treating the disease comprises processing the node embedding associated with the node using a projection subnetwork of the graph neural network to generate the target score defining the likelihood that the biological entity is a therapeutic target for treating the disease.
[0013] In some implementations, the values of the set of graph neural network parameters have been determined by training the graph neural network over a plurality of training iterations by a machine learning training technique.
[0014] In some implementations, the graph neural network has been trained by operations comprising: identifying: (i) a set of causative nodes in the disease graph, wherein each causative node represents a respective biological entity that is a therapeutic target for treating the disease, and (ii) a set of non-causative nodes in the disease graph; and training the graph neural network to generate target scores that discriminate between: (i) the set of causative nodes, and (ii) the set of non-causative nodes.
[0015] In some implementations, identifying the set of non-causative nodes in the disease graph comprises: randomly sampling a plurality of nodes that are each: (i) included in thedisease graph, and (ii) not included in the set of causative nodes; and identifying each of the randomly sampled nodes as being included in the set of non-causative nodes.
[0016] In some implementations, the graph neural network is included in an ensemble of graph neural networks; and the method further comprises, for each of the collection of biological entities represented by respective nodes in the disease graph: generating a respective target score for the biological entity using each graph neural network in the ensemble of graph neural networks; and generating a combined score for the biological entity based on the target scores generated for the biological entity using the ensemble of graph neural netw orks.
[0017] In some implementations, each graph neural network in the ensemble of graph neural networks has been trained on a respective set of training data and is associated with a set of graph neural network parameters having values that are specific to the graph neural network.
[0018] In some implementations, generating the combined score for the biological entity based on the target scores generated for the biological entity using the ensemble of graph neural networks comprises generating the combined score for the biological entity as a measure of central tendency of the target scores generated for the biological entity using the ensemble of graph neural networks.
[0019] In some implementations, the method further comprises determining a ranking of biological entities included in the collection of biological entities based on the respective target score for each biological entity.|0020| In some implementations, the method further comprises selecting one or more of the biological entities in the collection of biological entities as therapeutic targets for treating the disease based on the ranking.
[0021] In some implementations, the method further comprises administering a drug to a subject having the disease, wherein the drug targets one or more of the biological entities selected as therapeutic targets for treating the disease.
[0022] In some implementations, for each of one or more of the nodes in the disease graph, the feature vector characterizing the biological entity represented by the node comprises one or more of: genomic features, transcriptomic features, proteomic features, metabolomic features, or epigenomic features.
[0023] In some implementations, for each of one or more nodes in the disease graph, the node represents a gene and the feature vector associated with the node comprises differential gene expression features for the gene.
[0024] In some implementations, obtaining data defining the disease graph comprises: obtaining data defining a biological knowledge graph, wherein the disease graph is a sub-graphof the biological knowledge graph; and extracting the disease graph from the biological knowledge graph.
[0025] In some implementations, extracting the disease graph from the biological knowledge graph comprises: identifying a plurality of disease-specific nodes in the biological knowledge graph as being associated with the disease; and determining that: (i) the disease-specific nodes, and (ii) nodes that are within a predefined number of hops of the disease-specific nodes in the biological knowledge graph, are included in the disease graph.
[0026] In some implementations, the predefined number of hops is three hops.
[0027] In some implementations, the disease graph comprises at least 1000 nodes.
[0028] In some implementations, the disease graph is a sparse graph.
[0029] In some implementations, the plurality of nodes of the biological knowledge graph represent respective entities comprising one or more of: genes, molecules, proteins, receptors, or biological pathways.
[0030] In some implementations, the disease graph comprises: (i) a first node representing a first gene and a second node representing a second gene, and (ii) an edge between the first node and the second node, wherein: the edge represents that the first gene inhibits the second gene; or the edge represents that the first gene activates the second gene; or the edge represents that the first gene and the second gene are co-expressed at a rate that satisfies a threshold.
[0031] In some implementations, the disease graph comprises: (i) a first node representing a protein and a second node representing a small molecule, and (ii) an edge between the first node and the second node representing that the small molecule binds to a binding site on the protein.
[0032] In some implementations, the disease graph comprises: (i) a first node representing a gene and a second node representing a protein, and (ii) an edge between the first node and the second node representing that the gene encodes instructions for building the protein.
[0033] In some implementations, the disease is a respiratory disease.
[0034] In some implementations, the disease is asthma.
[0035] According to another aspect, there is provided a system comprising: one or more computers; and one or more storage devices communicatively coupled to the one or more computers, wherein the one or more storage devices store instructions that, when executed by the one or more computers, cause the one or more computers to perform operations of the methods described herein.
[0036] One or more non-transitory computer storage media storing instructions that when executed by one or more computers cause the one or more computers to perform operations of the methods described herein.
[0037] Particular embodiments of the subject matter described in this specification can be implemented so as to realize one or more of the following advantages.
[0038] The techniques of this specification define an end-to-end machine learning framework for therapeutic target identification that accelerates the drug development process. The machine learning framework includes building a disease graph for a specific disease, processing the disease graph, and analyzing the results. In particular, the automation of the target therapeutic candidate selection process using machine learning expedites the overall drug discovery process.
[0039] The machine learning framework is also agnostic to a particular disease and can be applied to any disease to identify new therapeutic targets associated with the disease. As an example, the framework described can be used to identify new therapeutic targets for heart disease, different types of cancer, or diabetes. In one example implementation described herein, the techniques of this specification can be applied to asthma to generate candidates for new therapeutic target drugs for type 2, non-type 2, or other variants of asthma.
[0040] Additionally, the techniques described herein involve a novel biological data labeling scheme to account for a lack of labeled biological data. In general, the predictive power of classification models can be limited by the robustness of labeled examples present in a training set. The lack of labels can make it difficult to amass a large enough dataset of labeled examples to robustly train a machine learning model. In some cases, efforts can be made to add labels to a training set, such as assigning labels with a clustering method or through hand-labelling. However, in the particular biological example of disease therapeutic target classification, beyond the known labeled causative biological entities, it can be especially difficult to determine additional labels to add to the disease graph since any labeled biological entities were previously vetted through several phases of experimental validation. Since the labels of the unlabeled nodes cannot be easily determined with certainty, the machine learning training techniques of this specification involve labeling a random subset of unknown biological entity nodes as non-causative nodes. The noise introduced by this labelling scheme can then be averaged out by training an ensemble of graph neural netw orks, each with their ow n different subset of sampled non-causative nodes, and aggregating the outputs predicted by each member network of the ensemble.
[0041] Furthermore, this specification describes techniques for obtaining data defining the biological nodes and edges of a disease graph in order to reduce the consumption of computational resources within the end-to-end machine learning framework for therapeutic target identification. In particular, reducing the consumption of computational resources can involve reducing the data throughput necessary for processing the disease graph and generating target scores. As an example, the system can extract a disease graph from a broader pre-existing biological knowledge graph to reduce data throughput. As another example, the system can distill the disease graph into nodes of only one biological entity type using identifier labels before processing. More specifically, processing an extracted or distilled disease graph rather than the original biological knowledge graph reduces consumption of computational resources, e.g., saves computing power, and can more efficiently generate target scores for the biological entities of the graph within a set period of time by decreasing the number of biological entities for processing.
[0042] The details of one or more embodiments of the subject matter of this specification are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the subject matter will become apparent from the description, the drawings, and the claims.BRIEF DESCRIPTION OF THE DRAWINGS|0043| FIG. 1 is a diagram that demonstrates an overview of the end-to-end automated therapeutic target identification machine learning framework.
[0044] FIG. 2 provides more detail into the novel target prediction process within the simplified example framework presented in FIG. 1.
[0045] FIG. 3 is an example of disease graph formation from a broader original knowledge graph. In particular, FIG. 3 demonstrates the formation of an asthma disease graph.
[0046] FIG. 4 demonstrates how the disease graph can be further processed by associating each node with a gene-identifier and collapsing nodes with like gene-identifiers.
[0047] FIG. 5 provides an example technique for training an ensemble of graph neural networks to predict the target score.
[0048] FIG. 6 demonstrates how target scores are defined and ranked for further downstream analysis.
[0049] FIG. 7 demonstrates the performance of an example ensemble of graph neural networks trained to predict the target score.
[0050] FIG. 8 is a flow diagram of an example process for generating target scores defining the therapeutic target likelihood of a given biological entity in the disease graph.
[0051] FIG. 9 is a flow diagram of an example process for obtaining the data that defines a disease graph and enriching the nodes of the disease graph with feature vectors.
[0052] FIG. 10 is a flow diagram of an example process for training the graph neural networks to discriminate between causative and non-causative entity nodes.
[0053] Like reference numbers and designations in the various drawings indicate like elements.DETAILED DESCRIPTION
[0054] FIG. 1 is a diagram that demonstrates an overview of the knowledge graph framework for candidate drug target identification. In particular, FIG. 1 defines the functionality of an example Therapeutic Target Identification Processing System 100 as a flow chart that illustrates a series of automated steps performed to implement a therapeutic target identification process.
[0055] First, the system 100 obtains data defining a knowledge graph 110. Knowledge graphs can include a set of nodes N and edges E that connect the nodes to integrate related data in an organized way. In particular, a biological knowledge graph can be defined that includes nodes representing biological entity nodes, such as genes, molecules, proteins, receptors, biological pathways, etc. The edges can represent any appropriate types of biological relationships between the biological entity nodes.
[0056] For example, for an edge defined between a pair of gene nodes, the edge can represent that the two genes inhibit each other, activate each other, or are frequently co-expressed. As another example, for an edge defined between a pair of protein nodes, the edge can represent that the two proteins bind together or that one biochemically modifies the other. As another example, for an edge connecting a protein node and a gene node, the edge can represent the relationship that the transcription of the gene results in the RNA that encodes the instructions to build the protein.
[0057] In some cases, the disease graph can be curated by disease subject matter experts. More specifically, the disease SMEs can accumulate a number of academic resources that pertain to the disease into a biological knowledge graph that isolates the biological entities and nodes that pertain to the disease.
[0058] In other cases, the biological knowledge graph can be obtained by accessing an already existing biological knowledge graph. In some cases, the biological knowledge graph is large, on the order of tens of thousands to billions of nodes. As an example, the biological knowledgegraph can encode 53 million relationships between 10 million nodes. In this case, the biological knowledge graph can amalgamate knowledge for many different diseases, and the disease graph can be extracted through a disease subgraph extraction process 120 from the broader biological knowledge graph.
[0059] More specifically, the biological entities of the nodes can be labeled with a disease identifier and a disease-specific subgraph can be extracted by selecting the disease-specific nodes that pertain to a specific disease of interest and including all internal edges to the diseasespecific nodes. As a particular example, for an implementation involving applying the knowledge graph framework for candidate drug target identification to asthma, the disease graph, e.g., the asthma graph, can be extracted by identifying and extracting all of the asthmaspecific nodes from the broader biological knowledge graph and including the edges internal to the asthma-specific nodes.
[0060] In the case that the disease graph originates from a broader biological knowledge graph, the subgraph defined by the disease-specific nodes and the internal edges that connect the disease-specific nodes can be expanded to include one or more node connections outside of the subgraph. Node connections include nodes and edges within a predefined N number of hops outside of the disease-specific nodes, e g., nodes connected to the disease-specific nodes by a connected edge path of N edges. The number of hops can be defined such that the disease subgraph encompasses all of the labeled nodes that pertain to the specific disease as well as N node-connections outwards from the disease-specific nodes. In particular, this can be done to evaluate the biological entities of disease nodes that are not labeled as disease-specific but can plausibly be related to the disease based on their proximity to the disease-specific nodes in the graph.
[0061] In particular, the number of hops can be defined through rigorous scientific vetting that involves analysis of the biological entities in the expanded graph or trial and error to yield best results. As a particular example, the number of node connections N outside of the disease- labeled nodes can be 1, 3, or 5 hops, or any other appropriate number of hops. Additionally, in some examples the edges extending outward from the nodes included in the expansion can be included. In other examples, these edges are removed from the expanded disease graph.
[0062] In some cases, the disease graph can be further augmented by disease subject matter experts. As an example, the disease SMEs can identify edges that do not currently exist in the graph, such as edges between symptom nodes and clinical phenotypes. In this case, the edges that connect biological entities to clinical phenotype nodes can be used to aggregate the disease graph by clinical phenotype.
[0063] Once the initial disease graph has been obtained, the system can enrich the disease graph with external data 130. In an example, the system can associate each node with a respective feature vector that includes the enrichment data. As an example, the feature vector can be a tensor of numerical values. Associating each node with a respective feature vector provides additional context data that helps to characterize whether or not the biological entity associated with the node is a causative or non-causative entity for that disease.
[0064] More specifically, the system can process the feature vectors for each node to generate anode embedding as a representation of the information encoded by the node in the knowledge graph based on the topology of the knowledge graph and the feature vectors for the node. An example of generating node embeddings using the feature vectors will be covered in further detail in FIG. 2.
[0065] In particular, the external data can be identified as related data that can augment the disease graph. As an example, this external data can include multi-omic data, such as genetic data, epigenetic measurements, proteomics, genome editing, or toxicity data. As another example, the external data can include cell-level transcriptome analysis data.
[0066] In some cases, the external data used for augmentation can be curated by disease subj ect matter experts. In particular, disease SMEs can identify experiment result data, such as the results of differential gene expression analysis studies to augment the graph. Differential gene expression analysis involves exploring how a given gene is expressed differently in different experimental groups. As an example, different experimental groups can include research subjects with or without the disease (e.g., asthma or diabetes), male or female subjects, subjects from different geographic regions, or subjects of different ages. More specifically, disease SMEs can perform experiments on a gene regarding how significant gene expression is within each group to define factor information or a fold change, which indicates whether a gene is up- or down-regulated, for each gene within a specific group. The results of the differential gene analysis experiments can then be included to augment each node. As an example, the results can encompass 20, 30, or 40 different measurements, or any other appropriate number of measurements, that can be used to augment each node. In particular, each node in the graph can be associated with a set of one or more differential gene expression features. Each differential gene expression feature can characterize a level of expression of a respective gene in a respective population of subjects, e.g., subjects having (or not having) a disease, subjects that have (or have not) received a particular medical treatment, subjects having (or not having) a certain gender, subjects within a certain range of ages, and so forth.
[0067] In other cases, the enrichment data can be obtained from another graph or a publicentity database. In the example implementation involving asthma, the enrichment data can come from a publicly-available asthma-specific knowledge graph. In other examples, the enrichment data can include both privately available, e.g., SME-curated data from internal experiments, and publicly-available data.
[0068] After being enriched, the disease graph 140 can then be ingested for novel target predictions 150. An example machine learning process for novel target predictions will be described in more detail with respect to FIG. 2, but generally the system processes the disease graph 140 to predict potential target scores 150. In an example, this can involve generating a target score that defines a likelihood for each biological entity' node of the disease graph. The potential novel target predictions 150 can then be analyzed through an automated process that can optionally involve disease subject matter experts. In particular, target funneling 160, interpretation 170, credentialling validation 180, and decision making 190 can involve disease subject matter experts to evaluate the target predictions, ensure that the findings are not spurious, and to assess downstream analysis results.
[0069] As an example, target funneling 160, can involve ranking the biological entities in relation to their target scores in descending order and selecting biological entities that are not currently being investigated as therapeutic targets using an automated process. In particular, this can involve ranking the biological entities, selecting the top M (e.g., top 3, top 5, or top 10) scoring target candidates, and performing further analysis, such as a decision boundary analysis to characterize the placement of the biological entities of interest with respect to the known labeled causative biological entities in order to interpret 170 and validate 180 candidates of interest for further decision making 190. e.g., drug research and development. In another example, disease subject matter experts can inform the funneling of candidates 160, interpretation of the results 170, and validation 180 of which target candidates are of interest for further research and development 190.
[0070] In some cases, the system 100 can result in the identification of a therapeutic target for a disease that undergoes successful drug development. In this case, the drug developed can target the biological entity identified by system 100 and be approved and administered to a subject for treating the disease.
[0071] FIG. 2 illustrates an example process for novel target predictions (e.g., the novel target prediction process 150 of FIG. 1) involving machine learning. In this particular example, the disease graph 130 obtained in FIG. 1 can be processed by a graph processing system 200 that includes one or more graph neural networks to generate the target scores defining a likelihoodthat the biological entity of a node is a therapeutic target for treating the disease. In other examples, any appropriate neural network architecture configured to process graph data can be incorporated in the graph processing system 200, such as a multi-layer perceptron, autoencoder, or transformer, to generate the target scores.
[0072] In this case, the graph processing system 200 can include one or more graph neural networks 210. Graph neural networks (GNNs) are machine learning models that can process graph-structured data through message passing, a method for updating node embeddings by aggregating information from nearby nodes, e.g., in a manner that is conditioned on the topology of the graph.
[0073] More specifically, a GNN can include an encoder subnetwork that can project feature vectors into a latent space of embeddings. In particular, the GNN can start with the respective feature vector for each of the nodes in the disease graph, embed the feature vectors for the nodes as initial node embeddings, and use message passing to iteratively process the embeddings of nearby nodes in order to update the node embedding. As an example, the system 200 can process the node embedding information from the nodes in the one-hop neighborhood of a particular node using the one or more graph neural networks to update the respective embedding associated with each node in the disease graph.
[0074] For instance, each message passing layer of a graph can update the current node embedding associated with each given node in the graph as a function of the current node embeddings of each neighboring node, i.e., each node that is connected to the node by an edge. The “function” can be implemented, e.g., by one or more neural network layers included in the message passing layer, e.g., fully-connected neural network layers.
[0075] In some examples, the graph processing system 200 further distills the data defining the disease graph into a disease graph that includes only gene-type nodes before processing the graph with a machine learning model. In this case, the disease graph 140 can be labelled such that each biological entity node is associated with a gene-identifier. As an example, protein nodes can be associated with the genes that encode the instructions for synthesizing the protein. The system can then associate nodes with like gene-identifiers and collapse the associated other node types into gene node types while preserving the edges to generate a distilled graph of gene nodes. An example process for distilling a disease graph using gene identifier labels will be covered in more detail in FIG. 4.
[0076] In the example depicted in FIG. 2. the disease graph has been distilled into gene-type nodes using gene identifier labels as described above. In this example, the graph processing system includes one graph neural network 210 to map between gene-type nodes, associateddisease terms, e.g., symptoms, and clinical phenotypes. The GNN 210 processes the disease graph to predict the likelihood that a given gene node is associated with a particular clinical phenotype.
[0077] More specifically, the particular example depicted in FIG. 2 demonstrates a simplified disease graph for asthma. In particular, the disease terms can include symptoms such as coughing, exercise induced wheezing, chest pressure, and the clinical phenotypes can include different types of asthma, such as Type 2, Non-Type 2, and Other (e.g.. other variant) variants. As another example, a simplified disease graph for Alzheimer’s disease can include symptoms such as memory loss, aggression, difficulty concentration, and the clinical phenotypes can include early and late-onset Alzheimer’s.
[0078] In particular, the GNN 210 can process the disease graph, generate node embeddings, and using message passing to update the node embeddings 220 for each node, in order to predict a connection between gene node and disease phenoty pe. More specifically, the embedding of each node is an embedded representation of the aggregated information in the graph that is associated with the node and can be processed to predict the causal relationship between the biological entity and the disease, e.g., to generate the score defining the likelihood that the biological entity is a therapeutic target for treating the disease.
[0079] As an example, the node embeddings 220 of potential therapeutic targets can be projected down into a one-dimensional space using a projection subnetwork (of the graph neural network) in order to define a target score representing the likelihood that the biological entity7of the node is a candidate for target drug development in target identification 230. As another example, the node embeddings 220 can be used to perform link prediction to predict the causal relationship between the biological entity and the disease. In this case, the node embeddings 220 can be used to infer and define edges that can be represented with target scores as association weights between causative biological entity nodes and disease phenoty pe.
[0080] The targets resulting from target identification 230 can then be funneled and further analyzed using a fully automated system that can optionally involve disease subject matter experts in downstream analysis tasks as discussed in FIG. 1.
[0081] FIG. 3 is an example of disease graph formation from a broader original knowledge graph. In particular, FIG. 3 demonstrates the formation of an asthma disease graph from a broader original knowledge graph, but the process is disease-agnostic and can be applied to generate other disease graphs.
[0082] In this case, the disease graph formation 300 includes identifying a broader original knowledge graph 310 that includes biological entities that pertain to the specific disease ofinterest. In some examples, the broader original knowledge graph 310 is publicly available, e.g., available online. In other examples, the broader original knowledge graph is an internally available knowledge graph, e.g., a knowledge graph curated by a pharmaceutical or biotechnology entity.
[0083] In this example, the disease of interest is asthma. The asthma-specific subset 320 of the broader original knowledge graph 310 can be identified using the labels of the nodes of the broader original knowledge graph. In particular, the subset 320 can include gene, protein, metabolite, biological pathway, or other point of intervention nodes, e g., potential therapeutic targets for the disease.
[0084] In some cases, the edges are already defined between the node biological entities. In other cases, not all relevant edges are defined. For example, gene to phenotype 322 edges and phenotype to gene edges 324 can be defined after defining the disease-specific subset of the broader original knowledge graph 310. In particular, the subgraph extraction can be bidirectional, e.g., in the direction from gene nodes to phenotype nodes and in the direction from phenotype nodes to gene nodes. In this case, the gene to phenotype edges 322 and the phenotype to gene edges 324 can be determined through two separate expansions, e.g., the gene to phenotype edges 322 can be determined from expansion X hops from the disease-specific gene nodes and the phenotype to gene edges 324 can be determined from expansion Y hops from the disease-specific phenotype nodes. As another example, gene to protein edges, protein to gene edges, biological pathway to protein edges, and protein to biological pathway edges can be defined after obtaining the disease-specific subset.
[0085] In particular, the gene to phenotype edges 322 can be provided by disease subject matter experts using known asthma biology relevant genes 330. In the example depicted, the system (e.g., the system 100 of FIG. 1) can incorporate external database data including asthma biology relevant genes 330 to the asthma-specific subset 320 to assist in the definition of edges within the disease graph.
[0086] Likewise, the phenotype to gene edges 324 can be provided by disease subject matter experts using asthma related terms 340. In the example depicted, the system (e.g., the system 100 of FIG. 1) can incorporate internal data to define the asthma-related terms 340.
[0087] Both internal and external data sources can also be used to assign feature vectors 350 to the nodes. In particular, these data sources can be aggregated by biological entity type to assign a feature vector including enrichment data to each node. In some cases, in which the biological knowledge graph includes only gene-type nodes, the enrichment data included in thefeature vectors can include additional data to ensure that the disease graph does not solely include genetic information.
[0088] In other cases, the biological knowledge graph can include many types of biological entity nodes. Depending on the graph processing system (e.g., the graph processing system 200 of FIG. 2), the disease graph can be distilled into nodes of one biological entity type. FIG. 4 demonstrates how a disease graph of multiple node types can be further processed by associating every node with a gene-identifier and collapsing nodes with like gene-identifiers.
[0089] In particular, the disease graph 400 demonstrates how the nodes of the knowledge graph can pertain to different biological entities. In this case, the different biological entities include genes and disease phenotypes. More specifically, the disease graph 400 is an asthma disease graph, in which genes are designated as small circles and disease phenotypes are designated as large circles that overlay the small circles, e.g., multiple genes conspire to create the phenotypes that overlay the small circles. For example, the phenotype for childhood asthma 402 overlays two gene circles.
[0090] In this case, the disease phenotype nodes can be labeled with gene-identifiers such that the disease graph 400 can be collapsed into the disease graph 410. In other examples, DNA, RNA, protein, and isoform nodes can also be labeled with their corresponding gene labels to be collapsed into like-labeled entities. This distilling procedure can reduce the dimensionality7of the graph while preserving relationships between nodes, and thereby reduce the data throughput requirement of the graph processing system (e.g., the graph processing system 200 of FIG. 2) and the overall consumption of computational resources.
[0091] FIG. 5 provides an example training technique, e.g., for training the graph processing machine learning model. In particular, the graph processing system 200 of FIG. 2 can perform the training technique to train the one or more graph neural networks 210.
[0092] In the particular example depicted, the graph processing system 200 includes an ensemble of 10 graph neural networks to predict the target score. (More generally, the graph processing system 200 can include any appropriate number of graph neural networks, e.g., 50 graph neural networks, or 100 graph neural networks, or 1000 graph neural networks). Model 1 (500) and Model 10 (510) are depicted as members of the 10 model ensemble. An ellipsis is included to represent the other eight member networks of the model ensemble. Each of the member networks of the ensemble can be trained to predict target scores that define a likelihood that the biological entity of the node is a therapeutic target for treating the disease. In this case, the target scores output by each model can be aggregated into a final consensus target score.As an example, a measure of central tendency, such as a mean, median, or mode, can be used to combine the different model predictions.
[0093] In particular, the training of each graph neural network can involve training on a classification task to discriminate between known causative and known non-causative nodes. More specifically, each graph neural network model can be trained to learn a respective node embedding for each biological entity node that distinguishes between real and non-real asthma causative nodes. Through a sequence of message-passing layers (e.g.. 2, 5, 10, or 100 message passing layers or any other appropriate number of message passing layers), each GNN updates the embedding associated with each node in the graph that can then be processed to generate a target score characterizing the likelihood that the biological entity' of the node is a therapeutic target of the disease. The scores of each member model of the ensemble can be combined to generate the predicted target score of the ensemble.
[0094] More specifically, nodes that are proven therapeutic targets for the disease, e.g., biological entities that have been clinically proven to control one or more aspects of the presentation of the disease can be labeled as causative nodes and nodes that are not known to control one or more aspects of the presentation of the disease can be labeled as non-causative nodes. As an example, causative nodes can be labeled with +1 and non-causative nodes can be labeled with 0 or -1. In this example, the labeled causative nodes 502 are represented by filled in circles.|0095| In some cases, the causative labeled nodes 502 account for only a very’ small fraction of the total number of nodes in the disease graph, e.g., there are more unknown unlabeled nodes, likely most of yvhich are non-causative, than there are known causative nodes in the disease graph. In this case, the causative nodes 502 can be labeled in accordance with the known label information and non-causative nodes can be labeled in accordance yvith a sampling scheme 520 described below-.
[0096] More specifically, non-causative nodes can be selected randomly from the subset of unlabeled nodes in the disease graph, e.g., all unlabeled nodes can be considered for random sampling of a subset of non-causative nodes. This means that different random sampled subsets of the available unlabeled nodes can be labeled as non-causative. In particular, different models can train on different labeled non-causative node datasets, e.g., the assigned non-causative labels 504 for Model 1 500 can be different than the assigned non-causative labels 514 for Model 2 500.
[0097] While this random sampling scheme 520 introduces noise into the predictions, the noise introduced can be averaged out in the target score prediction stage by training an ensemble ofgraph neural networks, each with their own different subset of sampled non-causative nodes, and aggregating the target scores predicted by each member network of the ensemble. In this case, the models can be trained on different training data in order to average out the noise introduced by the non-causative label random sampling. In particular, aggregating the target scores using a measure of central tendency, such as a mean, median, or mode, can statistically account for any noise introduced in the labels.
[0098] In some implementations, during training of each graph neural network, a proper subset of the known causative nodes can be labeled as causative nodes, while the remaining causative nodes can be treated as unlabeled during the training of the graph neural network. For instance, the proper subset of the known causative nodes to be labeled as causative nodes for training of the graph neural network can be randomly sampled from the set of known causative nodes. Thus, each graph neural network in the ensemble can be trained using: (i) a respective set of nodes labeled as causative nodes (that is specific to the graph neural network and different for each other graph neural network); and (ii) a respective set of nodes labeled as non-causative nodes (that is specific to the graph neural network and different for each other graph neural network). The labeling of causative nodes during training of the ensemble of graph neural networks can be performed such that each known causative node is treated as an unlabeled node during training of at least one graph neural netw ork in the ensemble of graph neural networks.|0099| FIG. 6 provides an example histogram and output distribution of target scores from the ensemble of 10 graph neural network models discussed in FIG. 5 with respect to the distilled asthma graph 400 of FIG. 4. In particular, the distribution of predicted target scores 600 show s how' therapeutic target genes of interest 610 for asthma can be defined from the target score output by the ensemble model.
[0100] In this case, the target scores table 620 displays a therapeutic target likelihood score between a subset of genes of the asthma graph 400 between 1 and -1. The distribution of predicted target scores 600 provides validation of the example ensemble of 10 graph neural networks trained on the asthma graph 400. In particular, the distribution graph 600 includes two distributions for target scores from nodes in the validation set, e.g.. nodes that were not used in model training: one for therapeutic targets that are already in clinical validation 604 and one for therapeutic targets that are not in clinical validation 602.
[0101] In this case, the biological node entities selected for validation are biological entities that are known therapeutic targets for asthma. As an example, the ground truth labels, e.g.. the labels that the model generated target scores can be compared to in order to assess accuracy,for the biological node entities can be sourced from a database to meet a set of requirements that pertain to production drugs or already ongoing drug development in order to be classified as targets in clinical validation 604. For example, the requirements for the biological entity of a node to be classified as a target in clinical validation 604 can include that the drug targeting the biological entity of the node is approved, in active clinical development, or that the clinical trial for the drug targeting the biological entity’ of the node was discontinued at phase three. If none of these requirements are met, the biological entity of the node can be classified as a target not in clinical validation 602.
[0102] The results show an expected separation in target score distributions for targets in the clinical validation set 604 compared to targets that are not in the clinical validation set 602. In particular, the distribution for targets in clinical validation can be characterized by different distribution moments, as is expected. More specifically, the mean target score of the targets in clinical validation distribution 604 is higher than the mean target score of the targets not in clinical validation. Additionally, the target scores of distribution 604 are right-skewed, and display a larger kurtosis than distribution 602, particularly toward the higher target scoring portion of the graph as is expected. The statistical difference between the two distributions 602 and 604 validates the target score prediction performance of the ensemble model.
[0103] Additionally, the distribution of predicted target scores 600 can be used for target funneling (e.g., the target funneling 160 of FIG. 1) to identify therapeutic targets of interest 610, e.g., by ranking the generated target scores and selecting a number of the top scoring biological entities that are not in clinical validation 602 for further evaluation. In some examples, the ranking order is more important than the magnitude of the score. In other examples, the magnitude of the score is considered in addition to the ranking order. As an example, the top 20 or 30 target scoring biological entities can be selected escalated for further analysis and interpretation by a fully automated process that can optionally involve disease subject matter experts in the target funneling process to vet the number of top scoring biological entities identified to pick out the actual targets of interest. As another example, the top three or 10 target scoring biological entities can be selected for further analysis.
[0104] In the particular example depicted, the biological entity nodes have been collapsed into genes as described in FIG. 4, and genes 621, 622, 623, and 624 have been identified as targets of interest 610 for asthma. More specifically, target scores can be used to identify biological entities that have been overlooked for drug development, e.g., the targets of interest 610 are located on the right tail-end of the target not in clinical validation 602. The target scores are displayed for the targets of interest 610 in a target scores table 620. The table 620 includestarget scores as they correspond with genes 621, 622, 623, and 624 separated by disease phenotype, e.g., for type 2, non-type 2, and other variants of asthma. In the particular, the example distributions 602 and 604 are the distributions of target scores generated for the Type 2 phenotype.
[0105] FIG. 7 demonstrates the performance of each member network of the example ensemble of 10 graph neural networks that generated the target distribution of FIG. 6. In particular. FIG. 7 displays the ROC Curve for the validation dataset 700 for each model in the ensemble as well as the area under the ROC Curve 710 for the validation set. The ROC curve (receiver operating characteristic curve) demonstrates the performance of a classification model at all classification thresholds. A “perfect classifier’" would achieve the maximal area under the curve, e.g., an area of 1.
[0106] Each of the 10 graph neural networks achieves ROC curves as displayed in 700 and AUROC as displayed in 710. The area under the ROC curve ranges from .93- 99, e.g., even on their own. each model achieves near perfect classification. However, combining each member network into an ensemble achieves more robust classification performance.
[0107] FIG. 8 is a flow diagram of an example process for generating target scores defining the therapeutic target likelihood of a given biological entity. As an example, the Therapeutic Target Identification Processing System 100 of FIG. 1 can perform the process 800.
[0108] In particular, the system can obtain data defining a disease graph for a target disease (step 810). As an example, this can involve amalgamating a wide variety of different resources that pertain to the target disease into a knowledge graph for the target disease. As another example, this can involve defining a subset of an already existing knowledge graph as the disease graph for a target disease using disease-specific labels. As yet another example, this can involve defining a subset of an already existing knowledge graph and augmenting it with additional data as feature vectors, as will be described in further detail in FIG. 9.
[0109] Once the disease graph has been defined, the system can process the disease graph using a graph neural network (step 820). In some examples, this graph neural netw ork can be an ensemble of two or more graph neural networks. The system can use the graph neural network to generate a node embedding associated with each node (step 830). which can be processed (step 840) to generate a target score defining a therapeutic target likelihood for each node (step 850). As an example, the target score can be a probability that the biological entity of that node is a treatment candidate for the disease. In the case that an ensemble of two or more graph neural networks were used, the target score can be a combination of the target scores of the member networks of the ensemble.
[0110] FIG. 9 is a flow diagram of an example process for obtaining the data that defines a disease graph and enriching the nodes of the disease graph with feature vectors. As an example, the Therapeutic Target Identification Processing System 100 of FIG. 1 can perform the process 900.[oni] More specifically, obtaining data defining a disease graph (e g., step 810 of process 800 in FIG. 8) can involve defining one or more biological entity nodes associated with the target disease (step 910) and defining edges between the nodes that represent relationships between the biological entities of the nodes (step 920).
[0112] Furthermore, each node can be associated with a feature vector (step 930) to generate the disease graph for the target disease (step 940). In some cases, this feature vector comes from a dataset external to the graph. As an example, the feature vector can include multi-omic data, such as genetic data, epigenetic measurements, proteomics, genome editing, or toxicity data. In some cases, this data can be curated by disease subject matter experts. In other cases, the enrichment data can be obtained from another graph or a public entity database. In an example, the enrichment data can include publicly-available data. In other examples, the enrichment data can include privately curated data from experiments or a combination of publicly and privately-available data.
[0113] FIG. 10 is a flow diagram of an example process for training one or more graph neural networks to discriminate between causative and non-causative entity nodes. As an example, the graph processing system 200 of FIG. 2 can perform the process 1000.
[0114] The system can first provide the labels for a supervised learning task that discriminates between causative and non-causative nodes, e.g., causative biological entities and non- causative biological entities. In particular, this can include identifying a set of causative nodes in the disease graph using previous experiment data that indicates a relationship between the biological entity and the disease (step 1010). Additionally, providing labels can include randomly sampling a subset of unlabeled nodes (step 1020) to label as non-causative nodes (step 1030). In particular, sampling a random subset of nodes as non-causative nodes can be done when the number of labeled causative nodes is small in comparison with the number of unlabeled nodes.
[0115] The system can then process the data defining the graph using the graph neural network to generate node embeddings associated with each node in the graph (step 1040). As an example, the graph neural network can update the node embedding associated with each node in the graph using a sequence of message passing layers to encode the information represented by the graph. The node embeddings can then be used to generate a predicted score defining atherapeutic target likelihood for each node (step 1050). In particular, the node embeddings associated with each node in the graph that can be processed (e.g., by a projection subnetwork of the graph neural network) to generate a target score characterizing the likelihood that that entity is a therapeutic target of the disease.
[0116] For each node in the graph associated with a label (e.g., a label identifying the node as causative or non-causative for the disease), the system can evaluate an objective function that measures whether the target score generated by the graph neural network for the node conforms with the label for the node (1060). The system can then determine gradients of the objective function with respect to the parameter values of the graph neural network (including the parameter values of the message passing layers and the projection subnetwork of the graph neural network), and update the parameter values of the graph neural network using the gradients. The system can determine the gradients, e.g., using backpropagation, and can update the parameter values of the graph neural network using the update rule of any appropriate gradient descent optimization procedure, e.g., RMSprop or Adam. The objective function can be, e.g., a mean-squared error objective function a binaiy cross-entropy objective function, a hinge loss, or any other appropriate objective function that can be used to quantify a discrepancy between the ground truth (assigned) labels and the target scores generated by the graph neural network.
[0117] The process described in steps 1010-1060 can be understood as a single training iteration for a single graph neural network. These steps can be repeated, for each graph neural network in an ensemble of graph neural networks, over a sequence of training iterations (e.g., tens or hundreds of training iterations) until a termination criterion is satisfied. The termination criterion can be, e.g., that a predefined number of training iterations have been performed, or that the parameter values of the graph neural network being trained have converged.
[0118] In some implementations, prior to training a graph neural network, the system can maintain define a labeling of a subset of the nodes of the graph, e.g., as being causative or non- causative, and then maintain the same labeling through some or all of the sequence of training iterations. In other implementations, the system can "‘reset” the labeling of the nodes at each training iteration, e.g., by resampling a new set of non-causative nodes at each training iteration.
[0119] Generally, the graph neural network can have any appropriate neural network architecture that enables the graph neural network to perform its described functions, e.g., processing data designing a disease graph to generate a node embedding associated with each node in the disease graph and / or a respective target score associated with each of one or morenodes in the disease graph. In particular, the graph neural network can include an encoder subnetwork, a sequence of message passing neural network layers, and a projection subnetwork. The encoder subnetwork and the projection subnetwork can each include any appropriate number of neural network layers (e.g., 1 layers, 5 layers, or 10 layers) of any appropriate type (e.g., fully-connected layers, attention layers, convolutional layers, etc.) and connected in any appropriate configuration (e.g., as a linear sequence of layers, or as a directed graph of layers).
[0120] This specification uses the term “configured” in connection with systems and computer program components. For a system of one or more computers to be configured to perform particular operations or actions means that the system has installed on it software, firmware, hardware, or a combination of them that in operation cause the system to perform the operations or actions. For one or more computer programs to be configured to perform particular operations or actions means that the one or more programs include instructions that, when executed by data processing apparatus, cause the apparatus to perform the operations or actions.
[0121] Embodiments of the subject matter and the functional operations described in this specification can be implemented in digital electronic circuitry, in tangibly-embodied computer software or firmware, in computer hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Embodiments of the subject matter described in this specification can be implemented as one or more computer programs, i.e.. one or more modules of computer program instructions encoded on a tangible non-transitory storage medium for execution by, or to control the operation of, data processing apparatus. The computer storage medium can be a machine- readable storage device, a machine-readable storage substrate, a random or serial access memory device, or a combination of one or more of them. Alternatively or in addition, the program instructions can be encoded on an artificially-generated propagated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal, that is generated to encode information for transmission to suitable receiver apparatus for execution by a data processing apparatus.
[0122] The term “data processing apparatus” refers to data processing hardware and encompasses all kinds of apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The apparatus can also be, or further include, special purpose logic circuitry', e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit). The apparatus can optionally include, in addition to hardware, code that creates an executionenvironment for computer programs, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.
[0123] A computer program, which may also be referred to or described as a program, software, a software application, an app, a module, a software module, a script, or code, can be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages; and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A program may, but need not, correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data, e.g., one or more scripts stored in a markup language document, in a single file dedicated to the program in question, or in multiple coordinated files, e.g., files that store one or more modules, sub-programs, or portions of code. A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a data communication network.
[0124] In this specification the term '‘engine” is used broadly to refer to a software-based system, subsystem, or process that is programmed to perform one or more specific functions. Generally, an engine will be implemented as one or more software modules or components, installed on one or more computers in one or more locations. In some cases, one or more computers will be dedicated to a particular engine; in other cases, multiple engines can be installed and running on the same computer or computers.
[0125] The processes and logic flows described in this specification can be performed by one or more programmable computers executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows can also be performed by special purpose logic circuitry, e.g., an FPGA or an ASIC, or by a combination of special purpose logic circuitry and one or more programmed computers.
[0126] Computers suitable for the execution of a computer program can be based on general or special purpose microprocessors or both, or any other kind of central processing unit. Generally, a central processing unit will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a central processing unit for performing or executing instructions and one or more memory' devices for storing instructions and data. The central processing unit and the memory can be supplemented by, or incorporated in, special purpose logic circuitry. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more massstorage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. However, a computer need not have such devices. Moreover, a computer can be embedded in another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a Global Positioning System (GPS) receiver, or a portable storage device, e g., a universal serial bus (USB) flash drive, to name just a few.
[0127] Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including by way of example semiconductor memory devices, e g., EPROM, EEPROM, and flash memon devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
[0128] To provide for interaction with a user, embodiments of the subject matter described in this specification can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid cry stal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input. In addition, a computer can interact with a user by sending documents to and receiving documents from a device that is used by the user; for example, by sending web pages to a web browser on a user's device in response to requests received from the web browser. Also, a computer can interact with a user by sending text messages or other forms of message to a personal device, e.g., a smartphone that is running a messaging application, and receiving responsive messages from the user in return.
[0129] Data processing apparatus for implementing machine learning models can also include, for example, special-purpose hardware accelerator units for processing common and computeintensive parts of machine learning training or production, i.e., inference, workloads.
[0130] Machine learning models can be implemented and deployed using a machine learning framework, e.g., a TensorFlow framework, or a Jax framework.
[0131] Embodiments of the subject matter described in this specification can be implemented in a computing system that includes a back-end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front-end component, e.g., a client computer having a graphical user interface, a web browser, or an app through which a user can interact with an implementation of the subject matter described inthis specification, or any combination of one or more such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (LAN) and a wide area network (WAN), e.g., the Internet.
[0132] The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. In some embodiments, a server transmits data, e.g., an HTML page, to a user device, e.g., for purposes of displaying data to and receiving user input from a user interacting with the device, which acts as a client. Data generated at the user device, e.g., a result of the user interaction, can be received at the server from the device.
[0133] While this specification contains many specific implementation details, these should not be construed as limitations on the scope of any invention or on the scope of what may be claimed, but rather as descriptions of features that may be specific to particular embodiments of particular inventions. Certain features that are described in this specification in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially be claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.
[0134] Similarly, while operations are depicted in the drawings and recited in the claims in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of vanous system modules and components in the embodiments described above should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.
[0135] Particular embodiments of the subject matter have been described. Other embodiments are within the scope of the following claims. For example, the actions recited in the claims can be performed in a different order and still achieve desirable results. As one example, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some cases, multitasking and parallel processing may be advantageous.
[0136] What is claimed is:
Claims
CLAIMS1. A method performed by one or more computers for identifying therapeutic targets for treating a disease, the method comprising: obtaining data defining a disease graph, wherein the graph comprises: (i) a plurality of nodes that each represent a respective biological entity, and (ii) a plurality of edges, wherein: each edge in the graph connects a respective pair of nodes in the graph and represents a relationship between a pair of biological entities represented by the pair of nodes; and each node in the graph is associated with a respective feature vector characterizing the biological entity represented by the node; processing the data defining the disease graph using a graph neural network, in accordance with values of a set of graph neural network parameters, to generate a respective node embedding associated with each node in the disease graph; and processing, for each of a collection of biological entities represented by respective nodes in the disease graph, the node embedding associated with the node to generate a target score defining a likelihood that the biological entity is a therapeutic target for treating the disease.
2. The method of claim 1, wherein the graph neural network comprises an encoder subnetwork that is configured to perform operations comprising, for each of a plurality of nodes in the disease graph: processing the feature vector of the node to generate a corresponding initial node embedding of the node.
3. The method of claim 2, wherein the graph neural network comprises a plurality of message passing neural network layers, wherein each message passing neural network layer is configured to perform operations comprising: receiving data defining a respective current node embedding of each node in the disease graph; and processing the current node embeddings associated with the nodes in the disease graph, in accordance with values of a set of graph neural network parameters and based on a topology of the disease graph, to update the current node embeddings associated with the nodes in thedisease graph.
4. The method of any preceding claim, wherein for each of one or more biological entities represented by respective nodes in the disease graph, processing the node embedding associated with the node to generate the target score defining the likelihood that the biological entity is a therapeutic target for treating the disease comprises: processing the node embedding associated with the node using a proj ection subnetwork of the graph neural network to generate the target score defining the likelihood that the biological entity is a therapeutic target for treating the disease.
5. The method of claim 4. wherein the values of the set of graph neural network parameters have been determined by training the graph neural network over a plurality' of training iterations by a machine learning training technique.
6. The method of claim 5, wherein the graph neural network has been trained by operations comprising: identifying: (i) a set of causative nodes in the disease graph, wherein each causative node represents a respective biological entity' that is a therapeutic target for treating the disease, and (ii) a set of non-causative nodes in the disease graph; training the graph neural network to generate target scores that discriminate between: (i) the set of causative nodes, and (ii) the set of non-causative nodes.
7. The method of claim 6, wherein identifying the set of non-causative nodes in the disease graph comprises: randomly sampling a plurality of nodes that are each: (i) included in the disease graph, and (ii) not included in the set of causative nodes; and identifying each of the randomly sampled nodes as being included in the set of non- causative nodes.
8. The method of any preceding claim, wherein the graph neural network is included in an ensemble of graph neural networks; and wherein the method further comprises, for each of the collection of biological entities represented by respective nodes in the disease graph: generating a respective target score for the biological entity using each graphneural network in the ensemble of graph neural networks; and generating a combined score for the biological entity based on the target scores generated for the biological entity using the ensemble of graph neural networks.
9. The method of claim 8, wherein each graph neural network in the ensemble of graph neural networks has been trained on a respective set of training data and is associated with a set of graph neural network parameters having values that are specific to the graph neural network.
10. The method of any one of claims 8-9, wherein generating the combined score for the biological entity based on the target scores generated for the biological entity using the ensemble of graph neural networks comprises: generating the combined score for the biological entity as a measure of central tendency of the target scores generated for the biological entity using the ensemble of graph neural networks.
11. The method of any preceding claim, further comprising determining a ranking of biological entities included in the collection of biological entities based on the respective target score for each biological entity.
12. The method of claim 1 1, further comprising selecting one or more of the biological entities in the collection of biological entities as therapeutic targets for treating the disease based on the ranking.
13. The method of claim 12, further comprising administering a drug to a subject having the disease, wherein the drug targets one or more of the biological entities selected as therapeutic targets for treating the disease.
14. The method of any preceding claim, wherein for each of one or more of the nodes in the disease graph, the feature vector characterizing the biological entity represented by the node comprises one or more of: genomic features, transcriptomic features, proteomic features, metabolomic features, or epigenomic features.
15. The method of any preceding claim, wherein for each of one or more nodes in the disease graph, the node represents a gene and the feature vector associated with the node comprises differential gene expression features for the gene.
16. The method of any preceding claim, wherein obtaining data defining the disease graph comprises: obtaining data defining a biological knowledge graph, wherein the disease graph is a sub-graph of the biological knowledge graph; and extracting the disease graph from the biological knowledge graph.
17. The method of claim 15, wherein extracting the disease graph from the biological knowledge graph comprises: identifying a plurality of disease-specific nodes in the biological knowledge graph as being associated with the disease; and determining that: (i) the disease-specific nodes, and (ii) nodes that are within a predefined number of hops of the disease-specific nodes in the biological knowledge graph, are included in the disease graph.
18. The method of claim 16, wherein the predefined number of hops is three hops.
19. The method of any preceding claim, wherein the disease graph comprises at least 1000 nodes.
20. The method of any preceding claim, wherein the disease graph is a sparse graph.
21. The method of any preceding claim, wherein the plurality of nodes of the biological knowledge graph represent respective entities comprising one or more of: genes, molecules, proteins, receptors, or biological pathways.
22. The method of any preceding claim, wherein the disease graph comprises: (i) a first node representing a first gene and a second node representing a second gene, and (ii) an edge between the first node and the second node, wherein: the edge represents that the first gene inhibits the second gene; or the edge represents that the first gene activates the second gene; orthe edge represents that the first gene and the second gene are co-expressed at a rate that satisfies a threshold.
23. The method of any preceding claim, wherein the disease graph comprises: (i) a first node representing a protein and a second node representing a small molecule, and (ii) an edge between the first node and the second node representing that the small molecule binds to a binding site on the protein.
24. The method of any preceding claim, wherein the disease graph comprises: (i) a first node representing a gene and a second node representing a protein, and (ii) an edge between the first node and the second node representing that the gene encodes instructions for building the protein.
25. The method of any preceding claim, wherein the disease is a respiratory' disease.
26. The method of claim 25. wherein the disease is asthma.
27. A system comprising: one or more computers; and one or more storage devices communicatively coupled to the one or more computers, wherein the one or more storage devices store instructions that, when executed by the one or more computers, cause the one or more computers to perform operations of the respective method of any one of claims 1-12 and 14-26.
28. One or more non-transitory computer storage media storing instructions that when executed by one or more computers cause the one or more computers to perform operations of the respective method of any one of claims 1-12 and 14-26.
Citation Information
Patent Citations
Deepdrug: an expert-led directed graph neural networking drug-repurposing framework for identification of a lead combination of drugs protecting against alzheimer's disease and related disorders
US20230098833A1
Disease-gene prioritization method and system
WO2020170052A1
Cited By
Method for judging medicine combination type based on directed regulation network
CN120998289A
Phosphorylation site and disease association prediction method based on graph neural network
CN121506261A