A drug molecule property prediction method based on octree
Through an octree-based drug molecule property prediction method, using point cloud data and voxel processing, combined with attention mechanism learning, the problems of poor interpretability and insufficient capture of substructure interaction relationships in existing methods are solved, accurate prediction of drug molecules is achieved, and the efficiency and accuracy of new drug research and development are improved.
Patent Information
- Application Number
- CN202311113908.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-31
- Publication Date
- 2025-09-05
- Estimated Expiration
- 2043-08-31
AI Technical Summary
Existing drug molecule property prediction methods have poor interpretability, inability to accurately capture substructure interactions, and over-smoothing problems when utilizing key domain knowledge and three-dimensional conformational information within the molecule, resulting in insufficient prediction accuracy.
An octree-based drug molecule property prediction method is adopted. By generating point cloud data, voxel processing and octree structure modeling, combined with the attention mechanism to learn molecular representation, the interaction relationship between atomic and substructure levels is captured to achieve accurate prediction of drug molecules.
It improves the accuracy and interpretability of drug molecule property predictions and can more accurately predict relevant molecular properties, such as blood-brain barrier permeability, solvation free energy, and IC50 values, to assist in new drug development.
Smart Images

Figure CN117219192B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the field of artificial intelligence technology, and in particular relates to an octree-based method for predicting drug molecule properties. Background Art
[0002] Drug therapy plays a vital role in human health. However, the drug development process is complex and lengthy, requiring significant manpower and significant R&D funding. These significant costs ultimately impact drug prices and patient preferences for treatment options. Molecular property prediction, which predicts relevant properties of drug molecules, such as quantum mechanics, physical chemistry, biophysics, and physiology, is a crucial step in new drug discovery. It can assist researchers in identifying drug candidates, accelerate drug development, and thus reduce R&D costs.
[0003] Predicting the properties of drug molecules is one of the most basic tasks in chemical informatics and is of great significance to drug discovery. For example, the permeability of the blood-brain barrier to large-molecule peptide drugs is directly related to the therapeutic effect of drugs for central nervous system diseases; solvation free energy is a basic property that affects various chemical and biological processes, such as reaction rate, protein folding, drug binding and drug bioavailability; IC50, the concentration of drug or inhibitor required to inhibit a specified biological process (or a component of the process such as enzymes, receptors, cells, etc.) by half, is used in pharmacy to characterize the antagonistic ability of antagonists in in vitro experiments. Therefore, accurately predicting the blood-brain barrier permeability, solvation free energy, IC50 value and other related properties of drug molecules will greatly assist researchers in new drug development.
[0004] To study the properties of drug molecules, the first step is to reasonably represent them. Currently, there are three main methods for drug molecule representation: one-dimensional representation, two-dimensional representation, and three-dimensional representation. Among them, one-dimensional representation includes the SMILES (Simplified Molecular Input Line Entry Specification) formula of molecules, molecular fingerprints (such as ECFP, MACCS, etc.), and some mathematical representation methods; two-dimensional representation includes molecular graphs and molecular images. Molecular graphs can be represented as adjacency matrices and characteristic matrices, while molecular images, each pixel represents a bond, atom, or blank background. Three-dimensional representation provides the most detailed information about molecules and is mainly of two types: three-dimensional molecular graphs and three-dimensional molecular grids.
[0005] With the development of deep learning technology, a large number of methods have emerged to solve the problem of molecular property prediction. Given the rapid development of the field of natural language processing (NLP), NLP can effectively solve the embedding of molecular SMILES sequences. Representative methods include convolutional neural networks (CNN), recurrent neural networks (RNN), and substructure learning using molecular fingerprints. In recent years, graph neural networks (GNN) have shown great advantages in learning the representation of molecular graphs. Some methods can convert graphs into tree structures by selecting a starting atom, and then perform representation learning based on this. Three-dimensional graphics-based methods mainly adjust and improve graph neural networks by introducing geometric information. Related studies have also proposed spherical message passing to more accurately describe the structure of molecules. Although these methods can also achieve molecular property prediction, their predictions still have the following problems:
[0006] 1. Some NLP-based methods only use sequences and ignore key domain knowledge within molecules, and the final experimental interpretability is poor;
[0007] 2. Currently, optimized message-passing neural networks (MPNNs) are typically designed for representation learning of two-dimensional molecular graphs to capture the interactions of various atoms at local, global, and other scales. However, these methods rarely discover functional groups and key substructures in molecules, have low utilization rates, and are unable to capture the interactions between substructures, resulting in certain limitations in accurately predicting relevant molecular properties.
[0008] 3. The three-dimensional conformation of a molecule encodes a wealth of information about its energy and spatial structure. Whether this information can be effectively utilized will determine whether the relevant properties of the molecule can be predicted more accurately. Currently, most studies are based on two-dimensional graphs, considering three-dimensional structural factors (such as bond angles, dihedral angles, etc.), and then retaining the different orders of adjacent nodes in the nodes in turn to ensure that the nodes can cover high-order interactions. However, these methods generally have the problem of over-smoothing. Summary of the Invention
[0009] In view of this, the present invention proposes an octree-based drug molecule property prediction method, which creates a point cloud according to the three-dimensional conformation of the drug molecule and uses the octree data structure to model the three-dimensional structure of the molecule; learns the molecular representation based on the octree message passing scheme and attention mechanism; and predicts various properties of the molecule in combination with the learned precise representation, providing an important reference for the subsequent work of new drug researchers.
[0010] A drug molecule property prediction method based on octree includes the following steps:
[0011] S1. Generate point cloud data based on the SMILES formula of the drug molecule to obtain the three-dimensional coordinates of each atom;
[0012] S2, voxelize the point cloud data obtained in S1 according to the three-dimensional coordinates of each atom, generate the required voxel space, and perform spatial voxel division;
[0013] S3. Place the voxel space obtained in S2 into a cube that can accommodate all atoms, and create an octree to represent the three-dimensional structure of the drug molecule. The root node of the octree is the center of the cube and corresponds to the cube.
[0014] S4. Using an octree-based molecular representation learning algorithm, we complete inter-voxel learning and intra-voxel aggregation to obtain the feature representation of the entire drug molecule.
[0015] S5. The characteristic representation of drug molecules is obtained by learning the molecular representation based on the octree, and is input into the multi-layer perceptron model established according to the prediction task requirements to complete the prediction of the properties of a certain category of drug molecules.
[0016] Furthermore, the S1 uses the tool RDKit to add hydrogen atoms to the input drug molecule, and obtains a three-dimensional conformation of the molecule based on its conformation generation algorithm to generate point cloud data.
[0017] Furthermore, the method for voxelizing point cloud data in S2 includes the following sub-steps:
[0018] S2.1. Establish the maximum voxel space as follows:
[0019] Define the initial voxel grid size s; standardize the coordinates of all atoms to eliminate errors;
[0020] Calculate the two boundary points (lx, ly, lz) and (hx, hy, hz) consisting of the maximum and minimum values of the coordinates in the point cloud data;
[0021] The largest voxel space is constructed with these two points as diagonals, and its boundary lengths along the X, Y, and Z axes are D, W, and H, respectively, as shown in the following formula:
[0022] D=|hx-lx| / s, W=|hy-ly| / s, H=|hz-lz| / s (1)
[0023] S2.2. Establish a new voxel coordinate system with the vertex (lx, ly, lz) as the origin, with the coordinate axes aligned with the X, Y, and Z axes of the original point cloud data's 3D space. Then project the point cloud data onto the largest voxel space to form a voxel point.
[0024] S2.3. Divide the maximum voxel space obtained in S2.2 into 8 subspaces multiple times in equal parts to construct a three-dimensional grid, thereby obtaining a set of tiny cubes in the voxel space; and use the centroid points of all points in the three-dimensional grid to replace the corresponding voxel points.
[0025] Furthermore, the method S3 for creating an octree to represent the three-dimensional structure of a drug molecule includes the following sub-steps:
[0026] S3.1. Create a queue to temporarily store octree nodes. The queue is initialized to empty. Each node in the queue represents its corresponding voxel space, that is, a cubic area corresponding to the current node.
[0027] S3.2. First, add the root node to the queue, which represents the current largest voxel space;
[0028] S3.3. Take the node from the head of the queue and determine the node based on the following two conditions: 1) an atom exists in the voxel corresponding to the current node; 2) the voxel width is greater than a given threshold. If both conditions are met, proceed to step S3.4; otherwise, proceed to step S3.7.
[0029] S3.4. Divide the voxel grid corresponding to the node into eight equal parts to generate eight child nodes.
[0030] S3.5. Initialize each of the eight child nodes generated in S3.4, create node objects, and initialize their width and position information. Divide each voxel point into these eight voxel grids according to the voxel point position of its parent node's corresponding voxel space. Some of these voxel grids may be empty.
[0031] S3.6. Add these 8 child nodes to the queue in sequence. The order of adding them to the queue can be referred to as follows: Figure 2 (c) are numbered 1-8. The queue is maintained by a list. Each time the child node is added to the queue, it is added to the list. Assume that the current root node has just been dequeued and the queue is empty. After the 8 child nodes are added to the queue in sequence, the result is "[n1,n2,n3,n4,n5,n6,n7,n8]", n i is each child node object, i∈[1,8].
[0032] S3.7. Determine whether the current queue is empty. If not, repeat step S3.3. Otherwise, the process ends and the octree creation is completed.
[0033] Furthermore, the S4 specifically includes the following sub-steps:
[0034] S4.1. Initialize leaf node embedding: Based on the initial embedding vector of each atom, update the initial embedding of all leaf nodes in the octree;
[0035] S4.2, Inter-voxel learning and intra-voxel aggregation. The inter-voxel learning and intra-voxel aggregation method is as follows:
[0036] S4.2.1, Define hierarchical weight values. Based on the defined hierarchical weight values, generate a set of weights adaptively according to the specific depth; that is, {m1, m2, …, m x}, and satisfy the conditions shown in Formula 2:
[0037]
[0038] where x is the depth of the octree, and m1 to m x are the hierarchical weight values from the first layer to the x-th layer respectively;
[0039] S4.2.2, Assume that the current calculation node is located in the k + 1-th layer and is the i-th (0 < i ≤ 8) child node under a certain node in the k-th layer. Perform A, same-level angle learning and B, cross-level angle learning respectively;
[0040] A. The same-level angle learning refers to the situation where multiple voxel nodes are under the same parent node; its calculation method is:
[0041] Assume that the embedding of the current calculation node is d is the embedding dimension, which is the same as the initial atomic embedding. Calculate the attention weight of the current node among the nodes in the same layer, as shown in Formula (3):
[0042]
[0043] where α i is the same-level attention weight, is a trainable parameter, m k+1 is the hierarchical weight value of the k + 1-th layer, λ is a balance hyperparameter used to balance node features and hierarchical contributions, and j is a temporary variable for traversing the same-level nodes;
[0044] B. The cross-level angle learning refers to the situation where the parent nodes of multiple voxel nodes are sibling relationships. Its calculation method is:
[0045] B-1. First, calculate the average embedding of other nodes in the k-th layer. Other nodes refer to the remaining nodes except the parent node of the current calculation node. By calculating the average value of the sum of the embeddings of the nodes in the voxel space of this node, it can be obtained; specifically as shown in Formula (4):
[0046]
[0047] B1-2. Calculate the attention weight of the current node among the cross-layer nodes, as shown in Formula (5):
[0048]
[0049] where β i is the cross-level attention weight, is a trainable parameter, and γ is a balancing hyperparameter used to balance node features and layer contributions.
[0050] S4.2.3. Use the weighted sum of sub-node embeddings as the aggregation method, where the weight is the sum of the same-level and cross-level attention weights; for example, the embedding of node i in the kth layer is The information aggregation and update formula is shown in 6:
[0051]
[0052] S4.2.4. Complete the inter-voxel learning and intra-voxel aggregation process of each node of the octree from bottom to top until the embedding representation h0 of the root node is updated, thereby obtaining the feature representation of the entire molecule.
[0053] Furthermore, the initial embedding vector of the atom is generated as follows: the atom set of the molecule is represented as V, where v i ∈R d , d is the dimension of atomic embedding; combined with chemical knowledge, the initial embedding vector of each atom can be generated.
[0054] Furthermore, the initial embedding rule for updating all leaf nodes of the octree is as follows: if there is no atom in the voxel grid corresponding to the leaf node, the leaf node is initially embedded as a d-dimensional zero vector; if there is one or more atoms in the voxel grid corresponding to the leaf node, the leaf node embedding is initialized to the sum of all the atom embeddings in the voxel grid and then the average is taken.
[0055] This method leverages the fact that the three-dimensional conformation of drug molecules possesses richer feature information than one-dimensional SMILES sequences and two-dimensional molecular graphs. Using a one-dimensional SMILES sequence as input, it constructs a three-dimensional space and obtains point cloud data representing the coordinates of each atom's position. A voxel space is established based on the point cloud data and projected onto it. An octree is created using the voxel space and used to learn molecular representations. This method incorporates the fundamental features of each atom when initializing atomic embeddings, resulting in a highly interpretable approach. Combining same-level and cross-level learning can capture atomic-level interactions and short-term and long-term substructure-level dependencies, contributing to the learning of more representative representations of drug molecule features. BRIEF DESCRIPTION OF THE DRAWINGS
[0056] Figure 1 This is the overall flow chart of the drug molecule property prediction method based on octree of the present invention;
[0057] Figure 2The present invention is a process of modeling a drug molecule based on an octree data structure, wherein (a) is a three-dimensional conformation of an aspirin molecule; (b) is a process of converting the three-dimensional conformation of a binding molecule into a point cloud and performing voxelization; (c) is a visualization of the octree data structure in a three-dimensional cube space; (d) is a tree diagram of the octree data structure;
[0058] Figure 3 This is a flowchart of an octree creation process according to an embodiment;
[0059] Figure 4 This is a flowchart of an octree-based molecular representation learning embodiment. DETAILED DESCRIPTION
[0060] The technical solution of the present invention is described in detail below with reference to the accompanying drawings and embodiments.
[0061] like Figure 1 As shown, this embodiment provides an octree-based drug molecule property prediction method, including: S1, generating point cloud data for drug molecules; S2, voxelizing the point cloud data obtained in S1; S3, creating an octree to represent the three-dimensional conformation of the molecule; S4, an octree-based molecular representation learning algorithm; S5, predicting multiple properties of drug molecules; a total of 5 steps, wherein in S4, this embodiment introduces a hierarchical enhanced attention mechanism to capture the interactive relationship between the atomic level and the substructure level through the perspective of same-level learning and cross-level learning; through intra-voxel aggregation, the feature information of the lower-level nodes is aggregated and updated to the upper level, and the feature representation of the molecule is learned, which can achieve accurate prediction of various properties of the molecule. Taking aspirin as an example, the steps of the drug molecule property prediction method of this embodiment are described in detail.
[0062] S1. Generate point cloud data based on drug molecules
[0063] Using the SMILES formula of the drug molecule as input, the drug molecule is modeled in three dimensions to obtain the three-dimensional coordinates of each atom. Since the initial input molecule does not display hydrogen atoms, which have a great influence on the calculation of the actual geometric conformation, this example uses the tool RDKit to add hydrogen atoms and obtain a three-dimensional conformation of the molecule based on its conformation generation algorithm. The generated example is as follows: Figure 2 As shown in (a).
[0064] The SMILES formula of aspirin (2-(acetoxy)benzoic acid) input in this example is "CC(=O)OC1=CC=CC=C1C(=O)O", and the generated point cloud data pcd is represented by: Where n represents the number of atoms in a drug molecule, 4 represents the dimension, the first 3 dimensions are the coordinates of the atom, and the fourth dimension is the atomic number corresponding to the atom.
[0065] S2. Voxelize the point cloud data obtained in S1. Voxel is the abbreviation of volume pixel. It is the smallest unit of data located on a regular grid in three-dimensional space. Its physical meaning is similar to the extension of two-dimensional image pixels in three-dimensional space. It is a set of cubes that are evenly distributed and located at the center of an orthogonal grid. Voxelization is the process of using voxels to approximate the spatial structure and geometric shape of a scene or object. Its basic principle is to create a three-dimensional grid on the input point cloud data. The grid is a collection of tiny three-dimensional cubes. Then, within each three-dimensional cube, the center point of all the point cloud data in the cube is used to approximate all the points in the grid. After grid processing, the corresponding voxel cloud data is obtained. Voxel cloud data can represent the surface geometric features and internal attribute information of the model, and the relative position relationship of the voxel data can also represent three-dimensional information.
[0066] The voxelization process is as follows. The voxelization example is as follows Figure 2 (b) shows:
[0067] S2.1. Establish voxel space as follows:
[0068] Define the initial voxel size s, a hyperparameter adjusted experimentally. In this solution, it is set to 0.2. Normalize the coordinates of all atoms based on the defined initial voxel size S. Then, calculate the two boundary points (lx, ly, lz) and (hx, hy, hz) that form the maximum and minimum coordinates within the point cloud data. Use these two points as diagonals to construct the largest voxel space, with boundary lengths D, W, and H along the X, Y, and Z axes, respectively.
[0069] D=|hx-lx| / s, W=|hy-ly| / s, H=|hz-lz| / s (1)
[0070] S2.2. Establish a new voxel coordinate system with the vertex (lx, ly, lz) as the origin, and the coordinate axes are in the same direction as the X, Y, and Z axes of the three-dimensional space of the point cloud data obtained in S1.
[0071] S2.3. In the voxel space established in S2.1, a three-dimensional grid is constructed based on integer coordinates to obtain a set of tiny cubes in the voxel space; the centroid points of all points in the three-dimensional grid are used to replace the corresponding voxel grids.
[0072] S3. Based on the voxel space constructed in S2, an octree is created to represent the three-dimensional conformation of the molecule.
[0073] Place the voxel space created in the previous step into a cube C that can accommodate all atoms, such as Figure 2 (c) shows an octree is created to represent the three-dimensional structure of the drug molecule. The root node of the octree is the center of the cube and corresponds to the cube C. The tree structure corresponding to the octree is as follows: Figure 2 (d) shown.
[0074] The process of creating an octree is as follows Figure 3 The specific steps are as follows:
[0075] S3.1. Create a queue to temporarily store octree nodes. The queue is initialized to empty. Each node in the queue represents its corresponding voxel space, that is, a cubic area corresponding to the current node.
[0076] S3.2. First, add the root node to the queue, which represents the current largest voxel space;
[0077] S3.3. Take the node from the head of the queue and determine the node based on the following two conditions: 1) an atom exists in the voxel corresponding to the current node; 2) the voxel width is greater than a given threshold. If both conditions are met, proceed to step S3.4; otherwise, proceed to step S3.7.
[0078] S3.4. Divide the voxel grid corresponding to the node into eight equal parts to generate eight child nodes.
[0079] S3.5. Initialize each of the eight child nodes generated in S3.4, create node objects, and initialize their width and position information. Divide each voxel point into these eight voxel grids according to the voxel point position of its parent node's corresponding voxel space. Some of these voxel grids may be empty.
[0080] S3.6. Add these 8 child nodes to the queue in sequence. The order of adding them to the queue can be referred to as follows: Figure 2 (c) are numbered 1-8. The queue is maintained by a list. Each time the child node is added to the queue, it is added to the list. Assume that the current root node has just been dequeued and the queue is empty. After the 8 child nodes are added to the queue in sequence, the result is "[n1,n2,n3,n4,n5,n6,n7,n8]", n i is each child node object, i∈[1,8]
[0081] S3.7. Determine whether the current queue is empty. If not, repeat step S3.3. Otherwise, the process ends and the octree creation is completed.
[0082] S4. Design of an octree-based molecular representation learning algorithm
[0083] The octree-based molecular representation learning algorithm designed in this embodiment includes two parts: inter-voxel learning and intra-voxel aggregation. Inter-voxel learning includes same-level learning and cross-level learning. The same-level learning considers the case where multiple child nodes are under the same parent node, while the cross-level learning considers the case where the parent nodes of multiple child nodes are sibling nodes. Intra-voxel aggregation means that after all child nodes of a node (i.e., a voxel space) have completed inter-voxel learning, the representations of all child nodes of the node are aggregated and transferred to the parent node, thereby updating the representation of the parent node.
[0084] The algorithm flow chart is as follows Figure 4 As shown in the figure, a hierarchical enhanced attention mechanism is used to traverse each layer from the bottom up. After traversing each layer, inter-voxel learning is performed. After traversing the nodes of the layer, intra-voxel aggregation is performed. After this iterative update, the feature representation of the entire drug molecule is obtained. The following is a detailed explanation of this.
[0085] S4.1. Initialize leaf node embedding
[0086] The set of atoms in a molecule is denoted as V, where v i ∈R d , d is the dimension of the atom embedding. The initial atom embedding considers the basic characteristics of each atom, as shown in Table 1, and combines chemical domain knowledge to generate the initial embedding vector of each atom.
[0087] Based on the initial embedding vectors of each atom, the initial embeddings of all leaf nodes of the octree are updated. The update rule is: if there is no atom in the voxel corresponding to the leaf node, the leaf node is initially embedded as a d-dimensional zero vector; if there is one or more atoms in the voxel corresponding to the leaf node, the leaf node embedding is initialized to the sum of the embeddings of all atoms in the voxel and then taken the average.
[0088] Table 1 List of atomic features
[0089]
[0090]
[0091] S4.2. Inter-voxel learning
[0092] The octree has the characteristic that the deeper the node expansion depth is, the smaller the corresponding voxel space is, and the smaller the atomic distance between voxels is, the stronger the possibility of atomic-level interaction or substructure-level interaction between voxels is. To capture this characteristic, this embodiment designs a set of manually defined hierarchical weight values, namely {m1,m2,…,m x}, and satisfy the conditions shown in formula 2:
[0093]
[0094] where x is the depth of the octree, and m1 to m x are the hierarchical weight values from the first layer to the x-th layer respectively. Since the depths of the octrees corresponding to different molecules are different, a set of weights will be adaptively generated according to the specific depth.
[0095] Inter-voxel learning aims to capture atomic-level interactions and sub-structure-level interactions. To capture such interactions and dependencies, this embodiment adopts a hierarchical enhanced attention mechanism, as shown in formulas (3)-(5). Suppose the current computing node is located in the (k + 1)-th layer and is the i-th (0 < i ≤ 8) child node under a certain node in the k-th layer. Inter-voxel learning will be described separately from the perspectives of intra-level and cross-level.
[0096] A. Intra-level learning
[0097] Multiple voxel nodes at the same level are under the same parent node. Suppose the embedding of the current computing node is d is the embedding dimension (the same as the initial atomic embedding). Calculate the attention weight of the current node among the nodes at the same level as shown in formula (3):
[0098]
[0099] where α i is the intra-level attention weight, is a trainable parameter, m k+1 is the hierarchical weight value of the (k + 1)-th layer, λ is a balance hyperparameter used to balance node features and hierarchical contributions, and j is a temporary variable for traversing the nodes at the same level.
[0100] B. Cross-level learning
[0101] The parent nodes of multiple voxel nodes at different levels are siblings. The calculation method is as follows:
[0102] B1-1 First, calculate the average embedding of the other nodes in the k-th layer. The other nodes refer to the remaining 7 nodes except the parent node of the current computing node. The average embedding of a certain sibling node of its parent node is calculated by taking the average of the sum of the embeddings of the nodes in the voxel space of this node, as shown in formula (4):
[0103]
[0104] B1-2, calculate the attention weight of the current node among the cross-level nodes, as shown in formula (5):
[0105]
[0106] where β i is the cross-level attention weight, is a trainable parameter, and γ is a balancing hyperparameter used to balance node features and layer contributions.
[0107] Similarly, when calculating the octree nodes of other layers, the above same-level and cross-level methods are also used to calculate the corresponding attention weights for inter-voxel learning.
[0108] S4.3. Intravoxel Aggregation
[0109] After all the child nodes of a node have completed the inter-voxel learning, the intra-voxel information aggregation and update are started. This embodiment adopts the weighted summation of child node embeddings as the aggregation method, and the weight is the sum of the attention weights of the same level and cross-level, such as the embedding of node i in the kth layer The information aggregation and update formula is shown in 6:
[0110]
[0111] The inter-voxel learning and intra-voxel aggregation process is completed bottom-up at each node of the octree until the root node embedding representation h0 is updated, thereby obtaining the feature representation of the entire molecule. The obtained feature table representation of the entire molecule is fed into the drug molecule property prediction module to predict various types of drug properties.
[0112] S5. Prediction of multiple properties of drug molecules;
[0113] Drug molecules have various types of properties, such as coordinates, energy, partial charge, etc. related to quantum mechanics; solubility, solvation free energy, blood-brain permeability, etc. related to physical chemistry; affinity, efficacy, activity, etc. related to biophysics; side effects, toxicity, etc. related to physiology.
[0114] Because drug molecule attributes are diverse, and the prediction task for a particular attribute can be binary classification, multi-classification, or regression, octree-based molecular representation learning yields an accurate representation of drug molecules. Based on the specific prediction task, a corresponding multi-layer perceptron (MLP) can then be built to predict the attributes of a specific class of drug molecules.
Claims
1. A drug molecule property prediction method based on octree, characterized in that: It includes the following steps: S1. Generate point cloud data based on the SMILES formula of the drug molecule; To obtain the three-dimensional coordinates of each atom; S2. According to the three-dimensional coordinates of each atom, perform voxelization on the point cloud data obtained in S1 to generate the required voxel space and perform spatial voxel division; S3. Place the voxel space obtained in S2 in a cube that can accommodate all atoms, create an octree to represent the three-dimensional structure of the drug molecule, and the root node of the octree is the center of the cube and corresponds to the cube; S4. Adopt a molecular representation learning algorithm based on the octree to complete inter-voxel learning and intra-voxel aggregation to obtain the feature representation of the entire drug molecule; S5. Based on the feature representation of the drug molecule obtained by molecular representation learning based on the octree, input it into a multi-layer perceptron model established according to the requirements of the prediction task to complete the prediction of the properties of a certain category of drug molecules; S4.
1. Update the initial embeddings of all leaf nodes of the octree based on the initial embedding vectors of each atom; S4.
2. Inter-voxel learning and intra-voxel aggregation. The methods of inter-voxel learning and intra-voxel aggregation are as follows: S4.2.
1. Define the layer weight values. Based on the defined layer weight values, generate a set of weights according to the specific depth adaptively; that is, {m1,m2,…,m x }, and the following conditions are met: Among them, x is the depth of the octree, m1 to m x are the layer weight values from the first layer to the xth layer respectively; S4.2.
2. Suppose the current calculation node is at the k+1 layer and is the i-th child node under a certain node at the k layer, where i satisfies (0 < i ≤ 8); respectively perform A. Intra-level angle learning and B. Cross-level angle learning; A. The intra-level angle learning refers to the situation where multiple voxel nodes are under the same parent node; its calculation method is: Let the embedding of the current computation node be d is the embedding dimension, which is the same as the initial atomic embedding. The attention weight of the current node in the same layer node is calculated as shown in the following formula: where α i is the attention weight at the same level, is a trainable parameter, m k+1 is the layer weight value of the k+1th layer, λ is the balancing hyperparameter used to balance node features and layer contributions, and j is a temporary variable for traversing nodes at the same level; B. The cross-level angle learning refers to the situation where the parent nodes of multiple voxel nodes are sibling relationships, and its calculation method is: B-1. First calculate the average embedding of other nodes at the k layer. Other nodes refer to the remaining nodes except the parent node of the current calculation node. By calculating the average value of the sum of the embeddings of the nodes within the voxel space of this node, it can be obtained; specifically as shown in the following formula: B1-2. Calculate the attention weight of the current node among the cross-layer nodes, as shown in the following formula: where β i is the cross-level attention weight, is a trainable parameter, and γ is a balancing hyperparameter used to balance node features and layer contributions; S4.2.
3. Use the weighted sum of sub-node embeddings as the aggregation method, where the weight is the sum of the same-level and cross-level attention weights; for example, the embedding of node i in the kth layer is The formula for aggregating and updating information is: S4.2.
4. Complete the inter-voxel learning and intra-voxel aggregation process of each node of the octree from bottom to top until the embedding representation h0 of the root node is updated, so as to obtain the feature representation of the entire molecule.
2. The octree-based drug molecule property prediction method according to claim 1, characterized in that: In S1, the tool RDKit is used to add hydrogen atoms to the input drug molecule and obtain a three-dimensional conformation of the molecule based on its conformation generation algorithm to generate the point cloud data.
3. The octree-based drug molecule property prediction method according to claim 1, characterized in that: The method of voxelizing the point cloud data in S2 includes the following sub-steps: S2.
1. Establish the maximum voxel space according to the following method: Define the initial voxel grid size s; perform standardization operations on the coordinates of all atoms to eliminate errors; Calculate the two boundary points (lx, ly, lz) and (hx, hy, hz) composed of the maximum and minimum values of the coordinates in the point cloud data; Construct the largest voxel space with these two points as the diagonal, and its boundary lengths along the X, Y, and Z axes are D, W, and H respectively, as shown in the following formula: D = |hx - lx| / s, W = |hy - ly| / s, H = |hz - lz| / s; S2.
2. Establish a new voxel coordinate system with the vertex (lx, ly, lz) as the origin, with the coordinate axes aligned with the X, Y, and Z axes of the original point cloud data's 3D space. Then project the point cloud data onto the largest voxel space to form a voxel point. S2.
3. Divide the maximum voxel space obtained in S2.2 into 8 subspaces multiple times in equal parts to construct a three-dimensional grid, thereby obtaining a set of tiny cubes in the voxel space; and use the centroid points of all points in the three-dimensional grid to replace the corresponding voxel points.
4. The octree-based drug molecule property prediction method according to claim 1, characterized in that: The S3 method for creating an octree to represent the three-dimensional structure of a drug molecule includes the following sub-steps: S3.
1. Create a queue to temporarily store octree nodes. The queue is initialized to empty. Each node in the queue represents its corresponding voxel space, that is, a cubic area corresponding to the current node. S3.
2. First, add the root node to the queue, which represents the current largest voxel space; S3.
3. Take the node from the head of the queue and determine the node based on the following two conditions: 1) an atom exists in the voxel corresponding to the current node; 2) the voxel width is greater than a given threshold. If both conditions are met, proceed to step S3.4; otherwise, proceed to step S3.
7. S3.
4. Divide the voxel grid corresponding to the node into eight equal parts to generate eight child nodes. S3.
5. Initialize each of the eight child nodes generated in S3.4, create node objects, and initialize their width and position information. Divide each voxel point into these eight voxel grids according to the voxel point position of its parent node's corresponding voxel space. Some of these voxel grids may be empty. S3.
6. Add these 8 child nodes to the queue in sequence. The order of adding them can refer to numbers 1-8. The queue is maintained by a list. Each time the child node is added to the queue, the child node object can be added to the list. Assuming that the current root node has just been dequeued and the queue is empty, the result after the 8 child nodes are added to the queue in sequence is "[n1,n2,n3,n4,n5,n6,n7,n8]", n i is each child node object, i∈[1,8]; S3.
7. Determine whether the current queue is empty. If not, repeat step S3.
3. Otherwise, the process ends and the octree creation is completed.
5. The octree-based drug molecule property prediction method according to claim 1, characterized in that: The initial embedding vector of the atom is generated as follows: the atom set of the molecule is represented as V, where v i ∈R d , d is the dimension of atomic embedding; combined with chemical knowledge, the initial embedding vector of each atom can be generated.
6. The octree-based drug molecule property prediction method according to claim 1, characterized in that: The rule for updating the initial embedding of all leaf nodes of the octree is as follows: if there is no atom in the voxel grid corresponding to the leaf node, the leaf node is initially embedded as a d-dimensional zero vector; if there is one or more atoms in the voxel grid corresponding to the leaf node, the leaf node embedding is initialized to the sum of the embeddings of all atoms in the voxel grid and then the average is taken.