Gas molecule smell prediction method and system based on isotropic graph neural network

By combining the Equivariant Graph Neural Network (EGNN) with DGL-LifeSci and the RDKit toolkit, the instability problem caused by coordinate offset in gas molecule odor prediction is solved, achieving efficient and stable odor prediction and improving product development efficiency in the tobacco and pharmaceutical industries.

CN121583378APending Publication Date: 2026-02-27CHINA TOBACCO YUNNAN IND
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511761555.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-11-27
Publication Date
2026-02-27

AI Technical Summary

Technical Problem

Existing graph neural networks are difficult to adapt to online prediction of gas molecule odors and suffer from prediction instability due to coordinate offset, especially when dealing with three-dimensional spatial conformational changes, resulting in insufficient accuracy.

Method used

An isotropic graph neural network (EGNN) based on DGL-LifeSci and the RDKit toolkit is used to generate high-dimensional node representations and final coordinate values ​​through message passing and coordinate updates. The MLPReadout module is combined with global pooling and fully connected layer mapping to achieve odor prediction.

Benefits of technology

It significantly improves the accuracy and stability of odor prediction, shortens the prediction cycle from days to minutes, reduces computational complexity, and maintains high accuracy in online prediction scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121583378A_ABST
    Figure CN121583378A_ABST
Patent Text Reader

Abstract

The invention discloses a gas molecule smell prediction method and system based on an isotropic graph neural network, and relates to the technical field of tobacco production equipment.The method comprises the steps that an SMILES expression of gas molecules is converted into a molecular graph structure containing atomic features and edge features and three-dimensional space coordinates through DGL-LifeSci and RDKit toolkits; then inputting the data into an EGNN isotropic graph neural network, aggregating neighborhood information through a message passing mechanism, and synchronously updating node features and coordinate features; a plurality of EGNN layers are stacked for deep feature extraction, and high-dimensional node representation and final coordinate values are obtained; performing global pooling through an MLPReadout module to obtain a global molecular representation vector of a fixed dimension; and finally, mapping the vector to a 138-dimensional space through a full connection layer, processing through a Sigmoid function to obtain an odor probability vector, and finally judging and outputting a specific odor category through a threshold value.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of tobacco production equipment, and particularly relates to a gas molecule odor prediction method and system based on an equivariant graph neural network. BACKGROUND

[0002] In the fields of tobacco, pharmaceuticals and fine chemicals, the odor characteristics of gas molecules directly affect product quality and user experience. Traditional odor prediction relies on experimental sensory evaluation or empirical models, which have defects such as long cycle, high cost and strong subjectivity. With the development of computational chemistry and artificial intelligence field graph neural network, computer-based machine learning molecular property prediction has become a research hotspot, but the odor properties of gas molecules are strongly related to their three-dimensional spatial conformation: rotation, translation and atomic arrangement of molecules can all lead to changes in odor characteristics (such as the odor difference of chiral molecules). Although existing graph neural networks (GNN) can model molecular topological structures, they cannot guarantee the consistency of prediction under geometric transformation. For example, when the molecular coordinate system is rotated, the output of the standard GNN may fluctuate due to coordinate offset, resulting in inaccurate prediction.

[0003] Some methods currently attempt to introduce high-order tensors to achieve equivariance, and many of these works have achieved innovation in the high-order representation type of the intermediate network layer. The transformation of these high-order representations requires a large amount of cost to calculate coefficients or approximations, and it is difficult to adapt to online gas molecule property prediction scenarios. SUMMARY

[0004] The main purpose of the present application is to provide a gas molecule odor prediction method and system based on an equivariant graph neural network, to solve the problem that the prior art cannot adapt to online gas molecule property prediction scenarios.

[0005] In order to achieve the above purpose, the present application provides the following technical scheme: A gas molecule odor prediction method based on an equivariant graph neural network, the gas molecule odor prediction method comprising: Step S1, converting the SMILES expression of the gas molecule into a molecular graph structure and three-dimensional spatial coordinates based on the DGL-LifeSci toolkit and the RDKit toolkit; Step S2, inputting the molecular graph structure and the three-dimensional spatial coordinates into an equivariant graph neural network, aggregating neighborhood information through the message passing mechanism of the EGNN equivariant graph neural network, updating the node features and coordinate features, and obtaining updated node features and updated coordinate features; Step S3, stack the EGNN layers of the isometric graph neural network, take the output of the previous EGNN layer as the input of the next EGNN layer, and input the updated node features and the updated coordinate features into the stacked isometric graph neural network to obtain high-dimensional node representations and final coordinate values; Step S4, perform a global pooling operation on the high-dimensional node representations and the final coordinate values by the MLPReadout module of the stacked isometric graph neural network to obtain a global molecular representation vector with a fixed dimension; Step S5, input the global molecular representation vector into the fully connected layer of the stacked isometric graph neural network, map it to a 138-dimensional output space, and then process it through a Sigmoid function to obtain a 138-dimensional probability score vector corresponding to each odor; Step S6, extract the probability value of each odor category from the 138-dimensional probability vector, and convert all probability values to binary classification results by a preset probability threshold. The result of 1 in the binary classification result is the predicted odor of the gas molecule.

[0006] Advantages: Steps S1 to S6 reduce the prediction period from days to minutes through automatic feature extraction (SMILES to molecular graph, three-dimensional coordinate generation) and end-to-end computing model, reducing the product development time cost in the tobacco and pharmaceutical fields. In solving the pain point of strong odor subjectivity, through the quantitative modeling of 27-dimensional atomic features (including element type, charge, orbital hybridization, etc.) and 15-dimensional edge features (including bond type, stereochemistry, relative coordinates, etc.), the uncertainty of manual discrimination is eliminated. This method breaks through the technical bottleneck of existing graph neural networks in isometry in three-dimensional space: by embedding the distance geometry algorithm to generate the initial conformation while keeping the molecular geometric center aligned, and designing a coordinate updating mechanism in the EGNN layer, the model has invariance to molecular rotation and translation. Taking menthol isomers as an example, the output of the three-dimensional coordinates of menthol after processing by the EGNNConv layer still maintains spatial consistency. This feature has revolutionary significance for the recognition of odor differences of chiral molecules. Compared with traditional isometric methods that require high-order tensor calculations, this scheme maintains the classification accuracy of 138 odors while achieving an AUROC of 0.89, and significantly reduces the computational complexity, which can be directly deployed in online prediction scenarios. The final prediction results show that this method retains the recognition ability of 7 key odors such as camphor and cooling, and realizes the robust extraction of global molecular representation through residual connection and attention pooling (query-key mechanism of the MLPReadout module).

[0007] As a further improvement of the present application, step S1, the SMILES expression of the gas molecule is converted into a molecular graph structure and three-dimensional spatial coordinates respectively based on the DGL-LifeSci toolkit and the RDKit toolkit, including: Step S11, the SMILES expression is converted into a DGLGraph format molecular graph in the form of a complete graph structure by the smiles_to_complete_graph function in the DGL-LifeSci toolkit; Step S12, the Chem.Mol molecular object of RDKit is created based on the SMILES expression by the RDKit toolkit; Step S13, the 27-dimensional atomic feature tensor of the Chem.Mol molecular object is extracted by the WeaveAtomFeaturizer module in the DGL-LifeSci toolkit; Step S14, the 27-dimensional atomic feature is input into the EmbedMolecule function of the RDKit toolkit, the atomic position is iteratively optimized by the distance geometry algorithm to obtain an initial three-dimensional conformation, and the molecular geometric center is aligned to the origin of the Cartesian coordinate system to obtain an N×3-dimensional coordinate tensor, N being the number of atoms; Step S15, the 15-dimensional edge feature tensor is extracted by the WeaveEdgeFeaturizer module by traversing all the chemical bonds in the initial three-dimensional conformation; Step S16, the 27-dimensional atomic feature tensor and the 15-dimensional edge feature tensor are integrated to obtain the molecular graph structure, and the N×3-dimensional coordinate tensor is the three-dimensional spatial coordinates.

[0008] Advantages: The steps S11 to S16 realize complete conversion from the gas molecule SMILES expression to the isometric graph neural network acceptable input through a systematic data processing flow, which directly contributes to the significant improvement of the model prediction accuracy. First, the smiles_to_complete_graph function of the DGL-LifeSci toolkit is used to generate a complete graph structure of the molecule graph, ensuring the integrity of the topological information; then the Chem.Mol molecule object is created by RDKit to provide a structured basis for subsequent feature extraction. In the atomic feature extraction link, the WeaveAtomFeaturizer module captures 27 key attributes including atomic type, partial charge, orbital hybridization, chemical environment, etc., which more comprehensively describes the physical and chemical properties of the atom. Subsequently, the EmbedMolecule function of RDKit iteratively optimizes the atomic position based on the distance geometry algorithm to generate an initial three-dimensional conformation that meets the spatial constraints, and aligns the molecular geometric center to the origin of the coordinate system to eliminate the interference of translation variance on model training. Most importantly, the WeaveEdgeFeaturizer module innovatively includes the relative coordinates of the atoms at both ends of the chemical bond into the feature system when extracting 15-dimensional edge features such as bond type, stereochemistry, and conjugation, making the geometric relationship within the molecule. The final integrated molecule graph structure and three-dimensional coordinate tensor not only retain the traditional topological connection relationship, but also strengthen the three-dimensional structure sensitivity through the embedding of spatial coordinates. The beneficial effects of this series of operations are: through standardized processes, the standardization and reproducibility of data input are ensured, and through the introduction of three-dimensional coordinates and relative coordinates, an input representation that is invariant to geometric transformations such as rotation and translation is provided for the isometric graph neural network, thereby laying the foundation for the model to accurately model the relationship between molecular conformation and odor properties in high-dimensional space, effectively overcoming the prediction fluctuation problem caused by coordinate offset in traditional graph neural networks, making the odor prediction results more stable and reliable.

[0009] As a further improvement of the present application, step S2, inputting the molecule graph structure and the three-dimensional spatial coordinates into the isometric graph neural network, aggregating neighborhood information through the message passing mechanism of the EGNN isometric graph neural network, and updating the node features and coordinate features to obtain updated node features and updated coordinate features, comprising: Step S21, calculate the interaction between each node and its neighborhood nodes in the molecule graph structure through the message passing mechanism of the EGNN layer to generate a neighborhood message matrix; Step S22, combine the neighborhood message matrix with the three-dimensional spatial coordinates, and update the coordinates of each node through a learnable scalar field function to obtain the first updated coordinate features; Step S23, recalculating the geometric relationship between nodes by the first updated coordinate feature, combining the original node feature and the original edge feature of the three-dimensional space coordinate, and generating the updated node feature and the updated coordinate feature through the feature updating network.

[0010] Advantages: In steps S21 to S23, the EGNN isotherm graph neural network realizes isothermal modeling of the three-dimensional conformation of gas molecules through a message passing mechanism and a coordinate updating strategy, thereby significantly improving the accuracy and robustness of odor prediction. Traditional graph neural networks usually only consider topological connection relationships when processing molecular structures, ignoring the relative positions and directional information of atoms in three-dimensional space, resulting in sensitivity of the model to geometric transformations such as rotation, translation, or reflection of the molecule, thereby affecting the prediction stability. The EGNN, through the message passing mechanism of step S21, dynamically calculates the interaction between each node and its neighborhood nodes and generates a neighborhood message matrix, which not only contains the chemical bond features between atoms, but also incorporates geometric information such as relative coordinates, enabling the model to effectively capture the conformational features of molecules in three-dimensional space. In step S22, the model combines the neighborhood message matrix with the initial three-dimensional coordinates and uses a learnable scalar field function to iteratively update the coordinates of each node to generate the first updated coordinate feature. This process ensures that the model is isothermal to E(n) symmetry, including rotation, translation, and reflection, i.e., the geometric relationship between the internal atoms of the molecule can be consistently represented regardless of how the molecule is transformed in space. Subsequently, in step S23, the distance and angle between nodes are recalculated based on the updated coordinate feature, and the original node feature and edge feature are combined to further optimize the node representation and coordinate feature through the feature updating network. This layer-by-layer processing approach not only preserves the three-dimensional structure information of the molecule, but also enhances the model's adaptability to conformational changes through dynamic adjustment of the coordinates. Ultimately, this isothermal design enables the model to more accurately associate spatial conformation with odor characteristics when predicting the odor of gas molecules, particularly when dealing with molecules with chiral structures or specific spatial arrangements, effectively overcoming the prediction fluctuations caused by coordinate shifts in traditional methods.

[0011] As a further improvement of the present application, step S3, the EGNN layer of the isothermal graph neural network is stacked, the output of the previous EGNN layer is taken as the input of the next EGNN layer, and the updated node feature and the updated coordinate feature are input into the stacked isothermal graph neural network to obtain high-dimensional node representation and final coordinate value, including: Step S31, configuring a stacked structure containing a preset number of EGNN layers, wherein each EGNN layer has the same hidden layer dimension but independent learning parameters; Step S32, input the updated node features and the updated coordinate features into a first EGNN layer, and output new node features and new coordinate features after the first EGNN layer performs message passing, coordinate updating and feature transformation; Step S33, input the new node features and the new coordinate features output by the first EGNN layer into a second EGNN layer, repeatedly perform the isometric graph convolution operation, and when reaching the third and subsequent EGNN layers, weight and fuse the current input features with the initial features before inputting each layer to form a residual connection structure; Step S34, obtain the high-dimensional node representation and the final coordinate value through the final processing of the last EGNN layer.

[0012] Advantages: Steps S31 to S34 significantly improve the depth and stability of molecular feature representation by cascading processing of multiple EGNN layers and residual connection mechanism while maintaining three-dimensional space isometry. This stacking structure enables the model to gradually capture hierarchical features from local interatomic interactions to global molecular conformation through a layer-by-layer progressive message passing mechanism: shallow networks focus on local geometric relationships of chemical bonds (such as bond length, bond angle), while deep networks effectively integrate spatial conformation information of the whole molecule by continuously updating node features and coordinate features. Specifically, each EGNN layer maintains invariance to geometric transformations such as rotation and translation while selectively aggregating neighborhood information through learnable parameters, allowing coordinate features to more accurately reflect atomic spatial arrangement in each iteration. The introduction of residual connection is particularly crucial, as it weights and fuses the current layer input features with the initial features, alleviating the gradient vanishing problem in deep networks and ensuring the persistent influence of initial three-dimensional structure information in deep networks, thereby preventing key geometric features from being diluted in multiple transformations. Ultimately, this design enables the model output high-dimensional node representation that contains rich local chemical environment information and integrates spatial geometric properties of the whole molecule, laying a high-discriminatory feature foundation for subsequent global pooling and odor classification. Compared with single-layer EGNN, the stacking structure significantly enhances the model's ability to capture complex odor features through multi-level feature abstraction, especially when distinguishing molecules with similar chemical composition but different spatial conformation, as deep networks can more sensitively identify subtle conformational changes in three-dimensional space (such as spatial orientation differences of chiral molecules), which are key factors affecting odor properties. This architecture ultimately achieves high-precision prediction of gas molecule odor properties while maintaining computational efficiency.

[0013] As a further improvement of the present application, step S4, a global pooling operation is performed on the high-dimensional node representation and the final coordinate values by the MLPReadout module of the stacked equivariant graph neural network, to obtain a global molecular representation vector of fixed dimension, including: Step S41, the final coordinate values of each node in the high-dimensional node representation are projected to the same dimension of the high-dimensional node representation by a learnable linear layer through the MLPReadout module, forming coordinate-enhanced features; Step S42, the coordinate-enhanced features are input into a multi-layer perceptron for non-linear mapping, and the coordinate-enhanced features are reduced by four times by dimension through a ReLU activation function and a random dropout rate of a preset value, to obtain key coordinate features; Step S43, a linear transformation is applied to each node feature in the key coordinate feature to generate a query vector and a key vector, an unnormalized attention score is calculated by dot product, and the unnormalized attention score is converted into a normalized weight coefficient by a Softmax function, forming an attention weight tensor with a dimension of [node number, 1]; Step S44, the key coordinate features are weighted and summed by the attention weight tensor to obtain a preliminary global vector; Step S45, global geometric features are extracted from the final coordinate values and concatenated with the preliminary global vector to form an enhanced feature vector; Step S46, the enhanced feature vector is input into the projection layer of the MLPReadout module, and is mapped to a preset fixed dimension by linear transformation to obtain the global molecular representation vector.

[0014] Advantages: The steps S41 to S46 achieve effective conversion from local features to global representation through fine design of the MLPReadout module. The module first projects the final coordinate values to the same dimension of the high-dimensional node representation through a learnable linear layer to form coordinate-enhanced features, which preserves the three-dimensional geometric information of the molecule. Then, through a multi-layer perceptron, a nonlinear mapping is performed to obtain key coordinate features by combining ReLU activation function and random dropout rate to reduce the dimension of the coordinate-enhanced features by four times, which not only compresses the feature dimension but also enhances the nonlinear expression ability. Then, the attention mechanism is introduced to generate normalized weight coefficients, and the node features are preliminarily integrated through weighted summation. The key innovation is to extract global geometric features from the final coordinate values and concatenate them with the preliminary global vector, so that the overall conformation of the molecule and the local structural features can work together. Finally, through the projection layer, the enhanced feature vector is mapped to the preset fixed dimension to form a global molecular representation vector with geometric invariance and structure perception ability. This design couples the coordinate enhancement and attention mechanism, which not only preserves the isometric property of the EGNN model for three-dimensional symmetry, but also strengthens the determining effect of spatial structure on odor properties by introducing global geometric features.

[0015] As a further improvement of the present application, step S5, the global molecular representation vector is input into the fully connected layer of the stacked isometric graph neural network, mapped to the 138-dimensional output space, and processed by the Sigmoid function to obtain a 138-dimensional probability score vector corresponding to each odor, including: Step S51, the global molecular representation vector is processed by batch normalization to obtain a standardized feature vector; Step S52, the standardized feature vector is input into a fully connected layer with 138 output nodes, and a linear transformation is performed through a weight matrix and a bias vector to generate a 138-dimensional original output vector, each dimension of the 138-dimensional original output vector corresponding to the initial score of a specific odor category; Step S53, the 138-dimensional probability vector is applied to the Sigmoid function element by element to map the probability of each dimension to the interval (0, 1) to obtain a 138-dimensional probability score vector corresponding to each odor.

[0016] Advantages: The steps S51 to S53 improve the stability and interpretability of the gas molecule odor prediction results by constructing a standardized probability score vector processing flow. In step S51, the model performs batch normalization on the 138-dimensional probability vector, eliminating prediction bias caused by differences in input feature distribution and making the odor probabilities of different molecules comparable. Step S52 uses a linear transformation of a fully connected layer to map the molecular representation vector to an output space consistent with the number of odor categories, ensuring that each odor label has a dedicated initial score, laying the foundation for subsequent probability processing. Finally, in step S53, the element-wise application of the Sigmoid function converts the original scores to standardized probability values, ensuring the independence and integrity of each odor prediction result, and intuitively reflecting the likelihood of the odor's existence through probability values in the (0, 1) interval. This series of operations ensures that the model output meets the requirements of probability axioms and can be directly converted to a binary classification decision through a threshold. Specifically, batch normalization effectively alleviates the problems of gradient vanishing and internal covariate shift, making the model training process more stable; the linear mapping of the fully connected layer preserves the relevance between the global representation of the molecule and the local features; and the Sigmoid activation enhances the model's ability to capture complex odor associations through nonlinear transformation.

[0017] As a further improvement of the present application, step S6 extracts the probability value of each odor category from the 138-dimensional probability vector and converts all probability values to a binary classification result through a pre-set probability threshold. The result of 1 in the binary classification result is the predicted odor of the gas molecule, including: Step S61, based on the 138-dimensional probability vector, an index and odor category correspondence table is established to form a complete probability distribution with semantic labels; Step S62, based on the pre-set probability threshold and each odor probability value in the complete probability distribution, an element-by-element comparison is performed; Step S63, when the odor probability value is greater than or equal to the pre-set probability threshold, output 1 to indicate the presence of the odor; Step S64, when the odor probability value is less than the pre-set probability threshold, output 0 to indicate the absence of the odor; Step S65, after the element-by-element comparison is completed, the odor with an output of 1 is obtained, which is the predicted odor of the gas molecule.

[0018] Beneficial effects: Steps S61 to S65 serve as the final decision-making link of the odor prediction process. Through the closed-loop processing of index mapping, threshold judgment, and semantic labeling, efficient conversion from the probability space to the actual application scenario is achieved, significantly improving the practicality and interpretability of the method. In step S61, a correspondence table between the 138-dimensional probability vector index and the odor category is established to convert abstract numerical output into concrete semantic labels, enabling tobacco analysts or flavor researchers to intuitively understand the model prediction results. This semantic mapping not only bridges the gap between machine output and human sensory perception, but also enables the analysis of odor feature combination patterns, such as when "camphoreous (camphor smell)" and "cooling (cooling smell)" are activated simultaneously, it can be directly associated with the analysis of menthol compounds. The pre-set probability threshold mechanism (e.g., with 0.5 as the critical point) used in steps S62 to S64 not only preserves the subtlety of probability prediction, but also meets the demand for clear classification results in industrial scenarios through discretization processing.

[0019] To achieve the above purpose, the present application also provides the following technical solutions: A gas molecule odor prediction system based on an isometric graph neural network, applied to the gas molecule odor prediction method as described above, the gas molecule odor prediction system comprising: A gas molecule expression conversion module for converting the SMILES expression of a gas molecule into a molecular graph structure and three-dimensional spatial coordinates based on the DGL-LifeSci toolkit and the RDKit toolkit; An isometric graph neural network processing module for inputting the molecular graph structure and the three-dimensional spatial coordinates into an isometric graph neural network, aggregating neighborhood information through the message passing mechanism of the EGNN isometric graph neural network, and updating node features and coordinate features to obtain updated node features and updated coordinate features; An isometric graph neural network stacking module for stacking the EGNN layers of the isometric graph neural network, taking the output of the previous EGNN layer as the input of the next EGNN layer, and inputting the updated node features and the updated coordinate features into the stacked isometric graph neural network to obtain high-dimensional node representations and final coordinate values; A global molecular feature vector acquisition module for performing global pooling operations on the high-dimensional node representations and the final coordinate values through the MLPReadout module of the stacked isometric graph neural network to obtain a global molecular feature vector with a fixed dimension; A 138-dimensional probability score vector acquisition module for inputting the global molecular feature vector into the fully connected layer of the stacked isometric graph neural network, mapping it to a 138-dimensional output space, and then processing it through the Sigmoid function to obtain a 138-dimensional probability score vector corresponding to each odor. The gas molecule predicted smell acquisition module is configured to extract the probability value of each smell category from the 138-dimensional probability vector, and convert all the probability values into a binary classification result by a preset probability threshold, wherein the result of 1 in the binary classification result is the gas molecule predicted smell.

[0020] To achieve the above object, the present application also provides the following technical solutions: An electronic device includes a processor, and a memory coupled to the processor, the memory storing program instructions executable by the processor; the processor implements the gas molecule smell prediction method as described above when executing the program instructions stored in the memory.

[0021] To achieve the above object, the present application also provides the following technical solutions: A computer readable storage medium, the computer readable storage medium stores program instructions, the program instructions are executed by the processor to achieve the gas molecule smell prediction method as described above. BRIEF DESCRIPTION OF DRAWINGS

[0022] Figure 1 An embodiment of the gas molecule smell prediction method based on the EGNN is shown in the flowchart; Figure 2 An embodiment of the gas molecule smell prediction method based on the EGNN is shown in the model architecture diagram of the EGNN; Figure 3 An embodiment of the gas molecule smell prediction system based on the EGNN is shown in the functional module diagram; Figure 4 An embodiment of the electronic device is shown in the structural diagram; Figure 5 An embodiment of the storage medium is shown in the structural diagram. DETAILED DESCRIPTION

[0023] The technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative labor are within the scope of protection of the present application.

[0024] The terms "first", "second", "third", etc. in the present application are only used for descriptive purpose and cannot be understood as indicating or implying relative importance or implicitly indicating the number of the technical features indicated. Therefore, the features defined with "first", "second", "third" can explicitly or implicitly include at least one of the features. In the description of the present application, the meaning of "a plurality of" is at least two, such as two, three, etc., unless otherwise explicitly specified. All directional indications (such as up, down, left, right, front, back, etc.) in the embodiments of the present application are only used to explain the relative position relationship, movement condition, etc. between components in a certain posture (as shown in the drawings), and if the certain posture changes, the directional indications also change accordingly. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device including a series of steps or units is not limited to the listed steps or units, but can optionally include steps or units not listed, or can optionally include other steps or units inherent to the process, method, product or device.

[0025] Reference herein to "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment can be included in at least one embodiment of the application. The appearances of the phrase that the phrase in various places in the specification are not necessarily all referring to the same embodiment, or are necessarily referring to different or alternative embodiments. It is explicitly and implicitly understood that the embodiments described herein can be combined with other embodiments.

[0026] As shown in Figure 1 The present embodiment provides an embodiment of a gas molecule smell prediction method based on an isometric graph neural network. In the present embodiment, the gas molecule smell prediction method comprises the following steps: Step S1, converting the SMILES expression of the gas molecule into a molecular graph structure and three-dimensional spatial coordinates based on the DGL-LifeSci toolkit and the RDKit toolkit.

[0027] Further, in step S1, the SMILES expression of the gas molecule is converted into a molecular graph structure and three-dimensional spatial coordinates based on the DGL-LifeSci toolkit and the RDKit toolkit, comprising: Step S11, converting the SMILES expression into a DGLGraph format molecular graph in the form of a complete graph structure through the smiles_to_complete_graph function in the DGL-LifeSci toolkit.

[0028] Preferably, the SMILES expression of the gas molecules is first received as input, which is converted into a complete graph structure using the smiles_to_complete_graph function in the DGL-LifeSci toolkit to generate a molecular graph in DGLGraph format. In this process, the system will simultaneously create an RDKit Chem.Mol molecular object that carries the complete chemical information of the molecule, laying the foundation for subsequent feature extraction.

[0029] Step S12, create an RDKit Chem.Mol molecular object based on the SMILES expression through the RDKit toolkit.

[0030] Preferably, the Chem.Mol object is input into the EmbedMolecule function of RDKit, which can generate an initial three-dimensional conformation that satisfies the bond length and bond angle constraints through iterative optimization of atomic positions using distance geometry algorithms. The system will verify the consistency of the number of atoms and align the geometric center of the molecule to the vicinity of the origin of the Cartesian coordinate system, finally outputting an N x 3-dimensional coordinate tensor (N is the number of atoms), forming the coordinate feature basis data.

[0031] Step S13, extract a 27-dimensional atomic feature tensor of the Chem.Mol molecular object through the WeaveAtomFeaturizer module in the DGL-LifeSci toolkit.

[0032] Preferably, based on the Chem.Mol object generated in step S11, the WeaveAtomFeaturizer is called to extract 27-dimensional atomic features, which specifically include: 14-dimensional atomic type one-hot encoding (covering common elements such as H / C / N / O / F / P / S / Cl / Br / I and aromatic atom markers), 1-dimensional partial charge continuous value, 3-dimensional orbital hybridization type one-hot encoding (sp / sp2 / sp3), 5-dimensional chemical environment markers (ring structure / aromatic ring / hydrogen bond acceptor / hydrogen bond donor / conjugated system), 1-dimensional chiral center marker, and 3-dimensional structure information (number of bonds / number of connected hydrogen atoms / formal charge). Taking the menthol molecule CC1CCC(C(C)C)C(O)C1 as an example, its 11 atoms each obtain a feature vector containing charge distribution and chemical environment.

[0033] Preferably, the 27-dimensional atomic feature tensor is as shown in Table 2: Table 2, 27-dimensional atomic feature tensor extracted from the molecule: Preferably, taking one isomer of menthol as an example, which is a menthol compound with SMILES molecular formula of CC1CCC(C(C)C)C(O)C1, it has 11 atoms (after omitting hydrogen atoms), the node features of the 11 atoms obtained by the model are as follows: Atom 0: [0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.062414031475782394, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0].

[0034] Atom 1: [0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0624130554497242, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0].

[0035] Atom 2: [0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.012930735014379025, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0].

[0036] Atom 3: [0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0624130554497242, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0].

[0037] Atom 4: [0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0241377130150795, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0].

[0038] Atom 5: [0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.05729302391409874, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0].

[0039] Atom 6: [0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.041802212595939636, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0].

[0040] Atom 7: [0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.05024668946862221, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0].

[0041] Atom 8: [0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.39282089471817017, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0].

[0042] Atom 9: [0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.04747992753982544, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0].

[0043] Atom 10: [0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.04182334244251251, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0].

[0044] The meanings are shown in Table 2. Taking the first 15 dimensions as an example: except for atom 9, which is an oxygen atom with a fourth dimension of 1, the rest are carbon atoms, and their second dimension is 1. Oxygen atoms have a higher negative charge, so the charge value of its 15th dimension is significantly higher than that of the other C atoms.

[0045] After obtaining the Chem.Mol format molecule, the RDKit's EmbedMolecule() function is called to generate an initial 3D conformation using a distance geometry algorithm. This function generates the initial conformation by continuously randomizing the atomic positions to meet constraints such as bond lengths, bond angles, and torsion angles in the molecule. After verifying atomic consistency (i.e., ensuring that the number of atoms in the conformation matches the number of atoms in the molecule to prevent coordinate loss due to conformation generation failure), the geometric center of the molecule is placed near the origin of the Cartesian coordinate system. This determines the three-dimensional coordinates of each atom in the molecule, ultimately returning an N×3 tensor, where N is the number of atoms in the molecule. This tensor can then be used as the coordinate features of the EGNN model. Simultaneously, after obtaining the Chem.Mol format molecule, each chemical bond in the molecule is enumerated, connecting two atoms u and v. Using the previously extracted coordinates of each atom in the molecule, the difference between the coordinates of u and v yields the relative coordinates of the atoms at both ends of each chemical bond.

[0046] Taking CC1CCC(C(C)C)C(O)C1 as an example, the three-dimensional coordinates of the 11 extracted atoms are as follows: Atom 0: [-3.3638651371002197,0.35399213433265686,0.8481737375259399].

[0047] Atom 1: [2.914637327194214,-0.6824557781219482,0.8948756456375122].

[0048] Atom 2: [0.6709335446357727, -0.06700494140386581, -0.005604880861938].

[0049] Atom 3: [2.484050750732422,-0.8141272068023682,-1.5727884769439697].

[0050] Atom 4: [-1.5432673692703247, 0.3802103102207184, -0.8815635442733765].

[0051] Atom 5: [-0.07165984809398651, 0.814595639705658, -0.9400286078453064].

[0052] Atom 6: [-1.890910029411316, 0.27490493655204773, 0.5846828818321228].

[0053] Atom 7: [-1.2199198007583618, -0.8661497235298157, 1.2762632369995117].

[0054] Atom 8: [-0.04570939019322395, 2.1169075965881348, -0.432461678981781].

[0055] Atom 9: [-0.04702163115143776, -1.3096593618392944, 0.3915182650089264].

[0056] Atom 10: [2.112731456756592, -0.20121371746063232, -0.2583082914352417].

[0057] Step S14, input the 27-dimensional atomic features into the EmbedMolecule function of the RDKit toolkit, iteratively optimize the atomic positions by distance geometry algorithm, get the initial three-dimensional conformation, and align the molecular geometric center to the origin of the Cartesian coordinate system, get the N×3-dimensional coordinate tensor, N is the number of atoms.

[0058] Preferably, 15-dimensional edge features can be extracted using WeaveEdgeFeaturizer by traversing all chemical bonds in the initial 3D conformation, including 6-dimensional bond type one-hot encoding (single bond / double bond / triple bond / aromatic bond), 5-dimensional stereochemistry information, 4-dimensional intra-ring bond labeling, and additionally adding 3-dimensional relative coordinates (calculated from the difference of atomic coordinates at both ends of the chemical bond). For example, the menthol molecule forms 121 edges (including 11 self-loop edges) by constructing a complete graph, and each edge is fused with spatial geometric relationship features.

[0059] Step S15, traverse all chemical bonds in the initial 3D conformation by WeaveEdgeFeaturizer module to extract 15-dimensional edge feature tensor.

[0060] Preferably, WeaveEdgeFeaturizer in DGL-LifeSci is used to extract corresponding edge features for Chem.Mol format molecules, and the previously obtained relative coordinates of atoms at both ends of each chemical bond are added. The final edge feature categories are shown in Table 3: Table 3, 15-dimensional edge feature tensor extracted from the molecule: Preferably, taking CC1CCC(C(C)C)C(O)C1 as an example, after adding the relative coordinates, each edge has 15-dimensional edge features, a total of 121 edges, and the feature information is as follows: Edge 0: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0].

[0061] Edge 1: [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 6.278502464294434, -1.0364478826522827, 0.046701908111572266].

[0062] Edge 2: [1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.034798622131348, -0.42099708318710327, -0.853778600692749].

[0063] Edge 3: [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 5.8479156494140625, -1.1681193113327026, -2.420962333679199].

[0064] Edge 4: [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.820597767829895, 0.026218175888061523, -1.7297372817993164].

[0065] Edge 5: [1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.292205333709717, 0.4606035053730011, -1.7882022857666016].

[0066] Edge 6: [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.4729551076889038, -0.07908719778060913, -0.26349085569381714].

[0067] Edge 7: [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.1439452171325684, -1.220141887664795, 0.4280894994735718].

[0068] Edge 8: [1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.3181557655334473, 1.7629154920578003, -1.2806353569030762].

[0069] Edge 9: [1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.3168435096740723, -1.663651466369629, -0.45665547251701355].

[0070] Edge 10: [1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 5.476596832275391, -0.5552058219909668, -1.1064820289611816].

[0071] Edge 11: [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -6.278502464294434, 1.0364478826522827, -0.046701908111572266].

[0072] Edge 12: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0].

[0073] Edge 13: [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -2.243703842163086, 0.6154508590698242, -0.9004805088043213].

[0074] Edge 14: [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.430586576461792, -0.13167142868041992, -2.4676642417907715].

[0075] Edge 15: [1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -4.457904815673828, 1.0626660585403442, -1.7764391899108887].

[0076] Side 16: [1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-2.986297130584717,1.497051477432251,-1.8349041938781738].

[0077] Side 17: [1.0,1.0,1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-4.80554723739624,0.9573607444763184,-0.3101927638053894].

[0078] Side 18: [1.0,1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-4.134557247161865,-0.18369394540786743,0.3813875913619995].

[0079] Side 19: [1.0,1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-2.9603466987609863,2.799363374710083,-1.3273372650146484].

[0080] Side 20: [1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-2.9616589546203613,-0.6272035837173462,-0.5033574104309082].

[0081] Side 21: [1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,-0.8019058704376221,0.4812420606613159,-1.153183937072754].

[0082] Side 22: [1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -4.034798622131348, 0.42099708318710327, 0.853778600692749].

[0083] Edge 23: [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.243703842163086, -0.6154508590698242, 0.9004805088043213].

[0084] Edge 24: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0].

[0085] Edge 25: [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.813117265701294, -0.7471222877502441, -1.5671836137771606].

[0086] Edge 26: [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, -2.214200973510742, 0.4472152590751648, -0.8759586811065674].

[0087] Edge 27: [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, -0.7425934076309204, 0.881600558757782, -0.9344237446784973].

[0088] Edge 28: [1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, -2.5618436336517334, 0.34190988540649414, 0.5902877449989319].

[0089] Edge 29: [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, -1.8908534049987793, -0.7991448044776917, 1.2818681001663208].

[0090] Edge 30: [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.7166429162025452, 2.183912515640259, -0.42685678601264954].

[0091] Edge 31: [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, -0.7179551720619202, -1.2426544427871704, 0.39712315797805786].

[0092] Edge 32: [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.4417979717254639, -0.1342087686061859, -0.25270339846611023].

[0093] Edge 33: [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -5.8479156494140625, 1.1681193113327026, 2.420962333679199].

[0094] Edge 34: [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.430586576461792, 0.13167142868041992, 2.4676642417907715].

[0095] Edge 35: [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.813117265701294, 0.7471222877502441, 1.5671836137771606].

[0096] Edge 36: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0].

[0097] Edge 37: [1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -4.027318000793457, 1.1943374872207642, 0.6912249326705933].

[0098] Edge 38: [1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -2.555710554122925, 1.628722906112671, 0.6327598690986633].

[0099] Edge 39: [1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -4.374960899353027, 1.0890321731567383, 2.1574714183807373].

[0100] Edge 40: [1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -3.703970432281494, -0.05202251672744751, 2.8490517139434814].

[0101] Edge 41: [1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -2.5297601222991943, 2.931034803390503, 1.140326738357544].

[0102] Edge 42: [1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-2.5310723781585693,-0.49553215503692627,1.9643067121505737].

[0103] Side 43: [1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,-0.3713192939758301,0.6129134893417358,1.314480185508728].

[0104] Side 44: [1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-1.820597767829895,-0.026218175888061523,1.7297372817993164].

[0105] Side 45: [1.0,1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,4.457904815673828,-1.0626660585403442,1.7764391899108887].

[0106] Side 46: [1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,2.214200973510742,-0.4472152590751648,0.8759586811065674].

[0107] Side 47: [1.0,1.0,1.0,1.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,4.027318000793457,-1.1943374872207642,-0.6912249326705933].

[0108] Side 48: [0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0].

[0109] Edge 49: [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.4716075658798218, 0.4343853294849396, -0.05846506357192993].

[0110] Edge 50: [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, -0.3476426601409912, -0.10530537366867065, 1.4662463665008545].

[0111] Edge 51: [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.3233475685119629, -1.2463600635528564, 2.1578269004821777].

[0112] Edge 52: [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.4975579977035522, 1.7366973161697388, 0.44910186529159546].

[0113] Edge 53: [1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.4962457418441772, -1.6898696422576904, 1.2730817794799805].

[0114] Edge 54: [1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.655998706817627, -0.5814239978790283, 0.6232552528381348].

[0115] Edge 55: [1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -3.292205333709717, -0.4606035053730011, 1.7882022857666016].

[0116] Edge 56: [1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.986297130584717, -1.497051477432251, 1.8349041938781738].

[0117] Edge 57: [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.7425934076309204, -0.881600558757782, 0.9344237446784973].

[0118] Edge 58: [1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.555710554122925, -1.628722906112671, -0.6327598690986633].

[0119] Edge 59: [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, -1.4716075658798218, -0.4343853294849396, 0.05846506357192993].

[0120] Edge 60: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0].

[0121] Edge 61: [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, -1.819250226020813, -0.5396907329559326, 1.5247114896774292].

[0122] Edge 62: [1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, -1.1482599973678589, -1.6807453632354736, 2.216291904449463].

[0123] Edge 63: [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.025950457900762558, 1.302311897277832, 0.5075669288635254].

[0124] Edge 64: [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.024638216942548752, -2.1242549419403076, 1.3315469026565552].

[0125] Edge 65: [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.1843912601470947, -1.0158092975616455, 0.6817203164100647].

[0126] Edge 66: [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, -1.4729551076889038, 0.07908719778060913, 0.26349085569381714].

[0127] Edge 67: [1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.80554723739624, -0.9573607444763184, 0.3101927638053894].

[0128] Edge 68: [1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0].

[0129] Edge 69: [1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.374960899353027, -1.0890321731567383, -2.1574714183807373].

[0130] Edge 70: [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.3476426601409912, 0.10530537366867065, -1.4662463665008545].

[0131] Edge 71: [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.819250226020813, 0.5396907329559326, -1.5247114896774292].

[0132] Edge 72: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0].

[0133] Edge 73: [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.6709902286529541, -1.141054630279541, 0.6915803551673889].

[0134] Edge 74: [1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.8452006578445435, 1.8420026302337646, -1.0171445608139038].

[0135] Edge 75: [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.8438884019851685, -1.5845643281936646, -0.1931646168231964].

[0136] Edge 76: [1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.003641605377197, -0.47611865401268005, -0.8429911732673645].

[0137] Edge 77: [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -2.1439452171325684, 1.220141887664795, -0.4280894994735718].

[0138] Edge 78: [1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 4.134557247161865, 0.18369394540786743, -0.3813875913619995].

[0139] Edge 79: [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.8908534049987793, 0.7991448044776917, -1.2818681001663208].

[0140] Edge 80: [1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.703970432281494, 0.05202251672744751, -2.8490517139434814].

[0141] Edge 81: [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, -0.3233475685119629, 1.2463600635528564, -2.1578269004821777].

[0142] Edge 82: [1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.1482599973678589, 1.6807453632354736, -2.216291904449463].

[0143] Edge 83: [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, -0.6709902286529541, 1.141054630279541, -0.6915803551673889].

[0144] Edge 84: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0].

[0145] Edge 85: [1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.1742104291915894, 2.9830572605133057, -1.7087249755859375].

[0146] Edge 86: [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 1.1728981733322144, -0.44350963830947876, -0.8847450017929077].

[0147] Edge 87: [1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3.332651138305664, 0.6649360060691833, -1.5345715284347534].

[0148] Edge 88: [1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -3.3181557655334473, -1.7629154920578003, 1.2806353569030762].

[0149] Edge 89: [1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.9603466987609863, -2.799363374710083, 1.3273372650146484].

[0150] Edge 90: [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.7166429162025452, -2.183912515640259, 0.42685678601264954].

[0151] Edge 91: [1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.5297601222991943, -2.931034803390503, -1.140326738357544].

[0152] Edge 92: [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.4975579977035522, -1.7366973161697388, -0.44910186529159546].

[0153] Edge 93: [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, -0.025950457900762558, -1.302311897277832, -0.5075669288635254].

[0154] Edge 94: [1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.8452006578445435, -1.8420026302337646, 1.0171445608139038].

[0155] Edge 95: [1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -1.1742104291915894, -2.9830572605133057, 1.7087249755859375].

[0156] Edge 96: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0].

[0157] Edge 97: [1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -0.0013122409582138062, -3.4265670776367188, 0.8239799737930298].

[0158] Edge 98: [1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.1584408283233643, -2.3181214332580566, 0.1741533875465393].

[0159] Edge 99: [1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -3.3168435096740723, 1.663651466369629, 0.45665547251701355].

[0160] Edge 100: [1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.9616589546203613, 0.6272035837173462, 0.5033574104309082].

[0161] Edge 101: [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, 0.7179551720619202, 1.2426544427871704, -0.39712315797805786].

[0162] Edge 102: [1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.5310723781585693, 0.49553215503692627, -1.9643067121505737].

[0163] Edge 103: [1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, -1.4962457418441772, 1.6898696422576904, -1.2730817794799805].

[0164] Edge 104: [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, -0.024638216942548752, 2.1242549419403076, -1.3315469026565552].

[0165] Edge 105: [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, -1.8438884019851685, 1.5845643281936646, 0.1931646168231964].

[0166] Edge 106: [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0, -1.1728981733322144, 0.44350963830947876, 0.8847450017929077].

[0167] Edge 107: [1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0013122409582138062, 3.4265670776367188, -0.8239799737930298].

[0168] Edge 108: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0].

[0169] Edge 109: [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.1597530841827393, 1.108445644378662, -0.6498265266418457].

[0170] Edge 110: [1.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -5.476596832275391, 0.5552058219909668, 1.1064820289611816].

[0171] Edge 111: [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.8019058704376221, -0.4812420606613159, 1.153183937072754].

[0172] Edge 112: [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, -1.4417979717254639, 0.1342087686061859, 0.25270339846611023].

[0173] Edge 113: [1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.3713192939758301, -0.6129134893417358, -1.314480185508728].

[0174] Edge 114: [1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -3.655998706817627, 0.5814239978790283, -0.6232552528381348].

[0175] Edge 115: [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -2.1843912601470947, 1.0158092975616455, -0.6817203164100647].

[0176] Edge 116: [1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -4.003641605377197, 0.47611865401268005, 0.8429911732673645].

[0177] Edge 117: [1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -3.332651138305664, -0.6649360060691833, 1.5345715284347534].

[0178] Edge 118: [1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -2.1584408283233643, 2.3181214332580566, -0.1741533875465393].

[0179] Edge 119: [1.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, -2.1597530841827393, -1.108445644378662, 0.6498265266418457].

[0180] Edge 120: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0].

[0181] Since the self-loop is added and the complete graph is constructed (i.e. each atom is additionally added with an edge to itself, and then all atoms are connected with edges to other atoms, which is a general requirement for graph neural networks to process graph data), all features of 11 edges of the 121 edges are 0, and in the remaining 110 edges, there are a total of 11 nodes, each of which is connected with an edge to all the remaining 10 nodes, a total of 110, and the feature information is as shown in Table 3.

[0182] In step S16, the 27-dimensional atomic feature tensor and the 15-dimensional edge feature tensor are integrated to obtain a molecular graph structure, and the N×3-dimensional coordinate tensor is the three-dimensional space coordinate.

[0183] Preferably, the 27-dimensional atomic feature tensor generated in the second step, the 15-dimensional edge feature tensor output in the fourth step and the three-dimensional coordinate tensor are integrated to finally form a complete molecular graph data structure containing node features, edge features and coordinate features, providing a standardized input for subsequent isomorphic graph neural network processing.

[0184] Beneficial effects: Steps S11 to S16 achieve complete conversion from the gas molecule SMILES expression to the isometric graph neural network acceptable input through a systematic data processing flow, which directly contributes to the significant improvement of model prediction accuracy. First, the smiles_to_complete_graph function of the DGL-LifeSci toolkit is used to generate a complete graph structure of the molecule graph, ensuring the integrity of the topological information; then the Chem.Mol molecule object is created by RDKit to provide a structured basis for subsequent feature extraction. In the atomic feature extraction link, the WeaveAtomFeaturizer module captures 27 key attributes including atomic type, partial charge, orbital hybridization, chemical environment, etc., which more comprehensively describes the physical and chemical properties of the atom. Subsequently, the EmbedMolecule function of RDKit iteratively optimizes the atomic position based on the distance geometry algorithm to generate an initial three-dimensional conformation that meets the spatial constraints, and aligns the molecular geometric center to the origin of the coordinate system to eliminate the interference of translation variance on model training. Most importantly, the WeaveEdgeFeaturizer module innovatively includes the relative coordinates of the atoms at both ends of the chemical bond in the feature system when extracting 15-dimensional edge features such as bond type, stereochemistry, and conjugation, making the geometric relationship within the molecule. The final integrated molecule graph structure and three-dimensional coordinate tensor not only retain the traditional topological connection relationship, but also strengthen the three-dimensional structure sensitivity through the embedding of spatial coordinates. The beneficial effects of this series of operations are: through standardized processes, the standardization and reproducibility of data input are ensured, and through the introduction of three-dimensional coordinates and relative coordinates, an input representation that is invariant to geometric transformations such as rotation and translation is provided for the isometric graph neural network, thereby laying the foundation for the model to accurately model the relationship between molecular conformation and odor properties in high-dimensional space, effectively overcoming the prediction fluctuations caused by coordinate offset in traditional graph neural networks, making the odor prediction results more stable and reliable.

[0185] In step S2, the molecular graph structure and three-dimensional spatial coordinates are input into the isometric graph neural network, and the neighborhood information is aggregated through the message passing mechanism of the EGNN isometric graph neural network, while updating the node features and coordinate features, to obtain the updated node features and updated coordinate features.

[0186] Further, in step S2, the molecular graph structure and three-dimensional spatial coordinates are input into the isometric graph neural network, and the neighborhood information is aggregated through the message passing mechanism of the EGNN isometric graph neural network, while updating the node features and coordinate features, to obtain the updated node features and updated coordinate features, including: In step S21, the interaction between each node and its neighborhood nodes in the molecular graph structure is calculated through the message passing mechanism of the EGNN layer to generate a neighborhood message matrix.

[0187] Preferably, referring toFigure 2 , Figure 2 Figure 1 is a model architecture diagram of EGNN and other equivariant graph neural networks.

[0188] Preferably, the molecular graph structure (including node features, edge features and coordinate features) generated in step S1 is input into the EGNN layer to first build a message passing calculation framework. The framework includes three core components: a node feature update module, a coordinate update module and an edge feature interaction module, wherein the coordinate update module ensures E(n) equivariance through relative distance calculation. Taking menthol molecules as an example, the 27-dimensional atomic features of 11 nodes, the 15-dimensional edge features of 121 edges and the 11x3-dimensional coordinate tensor are loaded into the GPU memory.

[0189] In step S22, the neighborhood message matrix is combined with the three-dimensional space coordinates, and the coordinates of each node are updated through a learnable scalar field function to obtain the first updated coordinate features.

[0190] Preferably, based on the initialized molecular graph structure, the interaction between each node and its neighborhood nodes can be calculated through the message passing mechanism of EGNN. The specific process is as follows: for each node pair (i, j), the relative distance square ||xi-xj||² is calculated as the geometric relationship weight, and the edge feature eij is taken as the modulation factor to participate in the weight calculation. This process generates a neighborhood message matrix containing spatial geometric relationships, with a dimension of [number of edges, hidden layer dimension].

[0191] Preferably, the generated neighborhood message matrix can be combined with the coordinate features to update the coordinates of each node through a learnable scalar field function. The key feature is that when the input coordinates are rotated or translated, the output coordinates will be synchronously transformed in the same way, thereby ensuring the stability of the model to three-dimensional space transformation. The update formula is xi'=xi+Σj≠i(xi-xj)φx(mij), where φx is the coordinate update network and mij is the aggregated message.

[0192] In step S23, the geometric relationship between nodes can be recalculated through the first updated coordinate features, and the original node features and original edge features of the three-dimensional space coordinates are combined to generate updated node features and updated coordinate features through a feature update network.

[0193] Preferably, the geometric relationship between nodes can be recalculated using the updated coordinate features, combined with the original node features hi and edge features eij, to generate new node features hi' through the feature update network φh. This process maintains the covariance of node features under coordinate transformation, i.e., node features remain consistent through a canonical transformation when the coordinates are rotated; and based on the output updated node features hi' and updated coordinate features xi', the edge feature representation is dynamically updated. By concatenating the relative coordinate difference Δxij with the original edge features, an enhanced edge feature eij' is obtained through a multi-layer perceptron, which contains both bond properties and spatial geometric information.

[0194] Advantages: In steps S21 to S23, the EGNN equivariant graph neural network realizes the equivariant modeling of the three-dimensional conformation of gas molecules through the message passing mechanism and the coordinate updating strategy, thereby significantly improving the accuracy and robustness of odor prediction. Traditional graph neural networks usually only consider topological connection relationships when processing molecular structures, ignoring the relative positions and directional information of atoms in three-dimensional space, resulting in sensitivity of the model to geometric transformations such as rotation, translation, or reflection of the molecule, which in turn affects the prediction stability. The EGNN, through the message passing mechanism of step S21, dynamically calculates the interaction of each node with its neighborhood nodes and generates a neighborhood message matrix, which contains not only the chemical bond features between atoms, but also geometric information such as relative coordinates, enabling the model to effectively capture the conformational features of molecules in three-dimensional space. In step S22, the model combines the neighborhood message matrix with the initial three-dimensional coordinates and uses a learnable scalar field function to iteratively update the coordinates of each node to generate the first updated coordinate features. This process ensures that the model is equivariant to E(n) symmetry, including rotation, translation, and reflection, i.e., the geometric relationship between the internal atoms of the molecule can be consistently represented regardless of how the molecule is transformed in space. Subsequently, in step S23, based on the updated coordinate features, the distances and angles between nodes are recalculated, and the original node features and edge features are combined to further optimize the node representation and coordinate features through the feature update network. This layer-by-layer processing approach not only preserves the three-dimensional structure information of the molecule, but also enhances the model's adaptability to conformational changes through dynamic adjustment of the coordinates. Ultimately, this equivariant design enables the model to more accurately associate spatial conformation with odor characteristics when predicting the odor of gas molecules, especially when dealing with molecules with chiral structures or specific spatial arrangements, effectively overcoming the prediction fluctuations caused by coordinate shifts in traditional methods.

[0195] Step S3, stack the EGNN layers of the equivariant graph neural network, take the output of the previous EGNN layer as the input of the next EGNN layer, and input the updated node features and updated coordinate features into the stacked equivariant graph neural network to obtain high-dimensional node representations and final coordinate values.

[0196] Further, step S3, stack the EGNN layers of the equivariant graph neural network, take the output of the previous EGNN layer as the input of the next EGNN layer, and input the updated node features and updated coordinate features into the stacked equivariant graph neural network to obtain high-dimensional node representations and final coordinate values, comprising: Step S31, configure a stack structure containing a preset number of EGNN layers, wherein each EGNN layer has the same hidden layer dimension but independent learning parameters.

[0197] Preferably, a stack structure containing L EGNN layers can be configured, wherein each EGNN layer has the same hidden layer dimension but independent learnable parameters. Taking menthol molecules as an example, L=4 layers of stack can be set, and the first layer receives 64-dimensional node features and three-dimensional coordinate features from step S2 as input, while injecting a regularization mechanism with a random dropout rate of 0.1 for each layer.

[0198] Step S32, input the updated node features and the updated coordinate features into the first EGNN layer, and output new node features and new coordinate features after the first equivariant processing through message passing, coordinate updating and feature transformation of the first EGNN layer.

[0199] Preferably, the initialized node features and coordinate features are input into the first EGNN layer, and the new node features and new coordinate features after the first equivariant processing are output through the message passing, coordinate updating and feature transformation modules of the layer. These output features maintain the E(n) equivariance while their semantic representations evolve from atomic-level properties to molecular-level functional features.

[0200] Step S33, take the new node features and new coordinate features output by the first EGNN layer as the input of the second EGNN layer, repeat the equivariant graph convolution operation, and when reaching the third and subsequent EGNN layers, weight and fuse the current input features with the initial features before inputting each layer to form a residual connection structure.

[0201] Preferably, the new node features and new coordinate features output by the first EGNN layer can be taken as inputs of the second EGNN layer, and the isometric graph convolution operation is repeatedly performed. The node feature dimension is gradually increased, for example, from 64 dimensions to 128 dimensions, while the coordinate feature gradually converges to a stable state reflecting the global conformation of the molecule through multiple isometric updates. And when proceeding to the third and subsequent EGNN layers, the current input features are weighted and fused with the initial features before each layer input to form a residual connection structure, so as to alleviate the gradient vanishing problem of deep network and ensure that the Lth layer can still perceive the original molecular structure information.

[0202] Step S34, through the final processing of the last EGNN layer, high-dimensional node representation and final coordinate value are obtained.

[0203] Preferably, after the final processing of the Lth EGNN layer, the node features are converted into high-dimensional node representations, for example, 256 dimensions, each dimension corresponding to an abstract semantic of the molecular function; and the coordinate features form the final coordinate value after L times of isometric update, at this time the molecular conformation has been optimized to the spatial arrangement that best reflects the odor characteristics.

[0204] Advantages: Steps S31 to S34, through the cascaded processing of multiple EGNN layers and the residual connection mechanism, significantly improve the depth and stability of molecular feature representation while maintaining the equivariance of three-dimensional space. This stacked structure enables the model to gradually capture hierarchical features from local interatomic interactions to global molecular conformation through a progressive message-passing mechanism: shallow networks focus on the local geometric relationships of chemical bonds (such as bond lengths and bond angles), while deep networks effectively integrate the spatial conformation information of the entire molecule by continuously updating node features and coordinate features. Specifically, each EGNN layer, while maintaining invariance to geometric transformations such as rotation and translation, selectively aggregates neighborhood information through learnable parameters, enabling coordinate features to more accurately reflect the spatial arrangement of atoms in each iteration. The introduction of residual connections is particularly crucial. By weightedly fusing the input features of the current layer with the initial features, it alleviates the gradient vanishing problem in deep networks and ensures the persistent influence of the initial three-dimensional structural information in the deep network, thereby preventing key geometric features from being diluted in multiple transformations. Ultimately, this design allows the high-dimensional node representation output by the model to encompass both rich local chemical environment information and the overall spatial geometric characteristics of the molecule, laying a highly discriminative feature foundation for subsequent global pooling and odor classification. Compared to single-layer EGNNs, the stacked structure significantly enhances the model's ability to capture complex odor features through multi-level feature abstraction, particularly in distinguishing molecules with similar chemical compositions but different spatial conformations. This is because deep networks are more sensitive to subtle conformational changes in three-dimensional space (such as differences in the spatial orientation of chiral molecules), which are key factors affecting odor properties. This architecture ultimately achieves higher accuracy in predicting the odor properties of gas molecules while maintaining computational efficiency.

[0205] Step S4: The MLPReadout module of the stacked equivariant graph neural network performs global pooling on the high-dimensional node representation and the final coordinate value to obtain a fixed-dimensional global molecular representation vector.

[0206] Further, in step S4, the high-dimensional node representations and final coordinate values ​​are globally pooled using the MLPReadout module of the stacked equivariant graph neural network to obtain a fixed-dimensional global molecular representation vector, including: Step S41: The final coordinate values ​​of each node in the high-dimensional node representation are projected to the same dimension of the high-dimensional node representation through a learnable linear layer by the MLPReadout module to form coordinate augmentation features.

[0207] Preferably, based on the high-dimensional node representation (e.g., 256-dimensional feature vector) and the final coordinate values (three-dimensional spatial coordinates), the coordinate information of each node is projected to the same dimension as the node feature through a learnable linear layer in the MLPReadout module, forming a coordinate-enhanced feature. For example, the 11 nodes of the menthol molecule, its 256-dimensional node feature is element-wise added to the projected 256-dimensional coordinate-enhanced feature, generating a 512-dimensional fusion feature vector.

[0208] Step S42, input the coordinate-enhanced feature into the multi-layer perceptron for non-linear mapping, and perform four times dimension reduction on the coordinate-enhanced feature through the ReLU activation function and a preset random inactivation rate, to obtain the key coordinate feature.

[0209] Preferably, the perceptron includes two hidden layers, respectively using the ReLU activation function and a random inactivation rate of 0.1. After the transformation of the feature of each node, its dimension is compressed from 512-dimensional to 128-dimensional, while retaining the key chemical structure and spatial conformation information.

[0210] Step S43, apply a linear transformation to each node feature in the key coordinate feature to generate a query vector and a key vector, calculate the unnormalized attention score through dot product, convert it to a normalized weight coefficient through the Softmax function, and form an attention weight tensor with a dimension of [node number, 1].

[0211] Step S44, weight and sum the key coordinate features through the attention weight tensor to obtain a preliminary global vector.

[0212] Preferably, the preliminary global vector is also 128-dimensional.

[0213] Step S45, extract the global geometric feature from the final coordinate value and concatenate it with the preliminary global vector to form an enhanced feature vector.

[0214] Preferably, the 128-dimensional preliminary global vector is concatenated with the global geometric feature (such as 3-dimensional features such as molecular inertia moment, spatial stretch degree, etc.) extracted from the final coordinate value to form a 131-dimensional enhanced feature vector.

[0215] Step S46, input the enhanced feature vector into the projection layer of the MLPReadout module, and map it to a preset fixed dimension through linear transformation to obtain a global molecular representation vector.

[0216] Preferably, the fixed dimension can be set to 256-dimensional.

[0217] Advantages: The steps S41 to S46 achieve effective conversion from local features to global representation through fine design of the MLPReadout module. The module first projects the final coordinate values to the same dimension of the high-dimensional node representation through a learnable linear layer to form coordinate-enhanced features, which preserves the three-dimensional geometric information of the molecule. Then, through a multi-layer perceptron, a four-fold dimension reduction is performed on the coordinate-enhanced features to obtain key coordinate features, which not only compresses the feature dimension but also enhances the non-linear expression ability. Subsequently, an attention mechanism is introduced to generate normalized weight coefficients, and the node features are preliminarily integrated through weighted summation. The key innovation lies in the extraction of global geometric features from the final coordinate values and the splicing of the preliminary global vector, which enables the synergistic effect of the overall conformation and local structural features of the molecule. Finally, through a projection layer, the enhanced feature vector is mapped to a preset fixed dimension to form a global molecular representation vector with geometric invariance and structure perception ability. This design couples coordinate enhancement and attention mechanism, not only preserving the isometric property of the EGNN model for three-dimensional symmetry, but also strengthening the determining effect of spatial structure on odor properties through the introduction of global geometric features.

[0218] In step S5, the global molecular representation vector is input into the fully connected layer of the stacked isometric graph neural network, mapped to the 138-dimensional output space, and processed by the Sigmoid function to obtain a 138-dimensional probability score vector corresponding to each odor.

[0219] Further, in step S5, the global molecular representation vector is input into the fully connected layer of the stacked isometric graph neural network, mapped to the 138-dimensional output space, and processed by the Sigmoid function to obtain a 138-dimensional probability score vector corresponding to each odor, including: In step S51, the global molecular representation vector is subjected to batch normalization to obtain a standardized feature vector.

[0220] In step S52, the standardized feature vector is input into a fully connected layer with 138 output nodes, and a linear transformation is performed through a weight matrix and a bias vector to generate a 138-dimensional original output vector, each dimension of which corresponds to the initial score of a specific odor category.

[0221] Preferably, the linear transformation can be performed through a weight matrix W ∈ R^(256×138) and a bias vector b ∈ R^(138) to generate a 138-dimensional original output vector.

[0222] In step S53, the 138-dimensional probability vector is element-wise applied to the Sigmoid function to map the probability of each dimension to the interval (0, 1) to obtain a 138-dimensional probability score vector corresponding to each odor.

[0223] Advantages: The steps S51 to S53 process the flow of constructing a standardized probability score vector, which improves the stability and interpretability of the gas molecule odor prediction results. In step S51, the model performs batch normalization on the 138-dimensional probability vector, eliminating the prediction bias caused by the difference in input feature distribution, and making the odor probabilities of different molecules comparable. Step S52 uses a linear transformation of a fully connected layer to map the molecular representation vector to an output space consistent with the number of odor categories, ensuring that each odor label has a dedicated initial score, laying the foundation for subsequent probability processing. Finally, in step S53, the element-wise application of the Sigmoid function converts the original score to a standardized probability value, ensuring the independence and integrity of each odor prediction result, and intuitively reflecting the possibility of odor existence through probability values in the (0, 1) interval. This series of operations makes the model output both meet the axioms of probability theory and can be directly converted to a binary classification decision through a threshold. Specifically, batch normalization effectively alleviates the problems of gradient vanishing and internal covariate shift, making the model training process more stable; the linear mapping of the fully connected layer preserves the relevance between the global representation of the molecule and the local features; and the Sigmoid activation enhances the model's ability to capture complex odor associations through nonlinear transformation.

[0224] Step S6, extract the probability value of each odor category from the 138-dimensional probability vector, and convert all probability values to binary classification results through a preset probability threshold. The result of 1 in the binary classification result is the predicted odor of the gas molecule.

[0225] Further, step S6, extract the probability value of each odor category from the 138-dimensional probability vector, and convert all probability values to binary classification results through a preset probability threshold. The result of 1 in the binary classification result is the predicted odor of the gas molecule, including: Step S61, establish an index and odor category correspondence table based on the 138-dimensional probability vector to form a complete probability distribution with semantic labels.

[0226] Step S62, compare each odor probability value in the complete probability distribution with the preset probability threshold element by element.

[0227] Preferably, the preset probability threshold can be set to 0.5.

[0228] Step S63, when the odor probability value is greater than or equal to the preset probability threshold, output 1 to indicate the presence of the odor.

[0229] Step S64, when the odor probability value is less than the preset probability threshold, output 0 to indicate the absence of the odor.

[0230] Step S65, after the element-by-element comparison is completed, the odor with an output of 1 is obtained, which is the predicted odor of the gas molecule.

[0231] Benefits: Steps S61 to S65 serve as the final decision-making link of the odor prediction process. Through the closed-loop processing of index mapping, threshold judgment, and semantic labeling, it realizes efficient conversion from the probability space to the actual application scenario, significantly improving the practicality and interpretability of the method. In step S61, by establishing a correspondence table between the 138-dimensional probability vector index and the odor category, the abstract numerical output is converted into a concrete semantic label, enabling tobacco analysts or flavor researchers to intuitively understand the model prediction results. This semantic mapping not only establishes a bridge between machine output and human sensory perception, but also makes it possible to analyze the combination patterns of odor characteristics, such as when "camphoreous (camphor smell)" and "cooling (cooling smell)" are activated simultaneously, it can be directly associated with the characteristic analysis of menthol compounds. The preset probability threshold mechanism (for example, with 0.5 as the critical point) used in steps S62 to S64 not only preserves the delicacy of probability prediction, but also meets the demand for clear classification results in industrial scenarios through discretization processing.

[0232] Preferably, the data set used in the present embodiment contains a total of 138 odors, and the final EGNN model output is a 138-dimensional tensor, each element p i represents the probability of the molecule having the i-th odor, i = 1, 2, 3, …, 138. The 138 odors used in the present embodiment are as shown in Table 1 below: Table 1, 138 odors distinguishable by the model: Taking the CC1CCC(C(C)C)C(O)C1 molecule as an example, input its molecular graph structure, node, edge, and coordinate features into a layer of EGNNConv, and the result is as follows: Updated node features: [[-2.5133e+00, 3.7638e+00, 3.8046e+00, 0.0000e+00, 4.0863e+00, -1.9995e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 4.2714e+00, 3.9918e-01, 1.1193e+00, -0.0000e+00, -2.6975e+00, 0.0000e+00, -0.0000e+00, -0.0000e+00, 0.0000e+00, 0.0000e+00, 4.2877e+00, 0.0000e+00, 4.2118e+00, 2.2892e+00, -3.9192e+00, 2.4931e+00, -3.4160e+00, -4.1628e+00, -3.7518e+00, -4.0917e+00, -4.7580e+00, -0.0000e+00, -0.0000e+00, -0.0000e+00, 0.0000e+00, -3.5126e+00, 0.0000e+00, 3.5786e+00, 3.7813e+00, -3.9172e+00, 3.8575e+00, -0.0000e+00, -5.1730e+00, 0.0000e+00, -0.0000e+00, 0.0000e+00, 4.2843e+00, -3.9283e+00, 2.7668e-01, -4.0160e+00, -0.0000e+00, -3.8769e+00, -3.1712e-01, -0.0000e+00, -4.0971e+00, 4.9365e+00, 0.0000e+00, -0.0000e+00, 0.0000e+00, 3.5625e+00, -3.2118e+00, 3.2202e+00, -0.0000e+00, -9.9955e-01, -3.2718e+00], [-0.0000e+00, 0.0000e+00, 2.8422e+00, 0.0000e+00, 0.0000e+00, -0.0000e+00, 0.0000e+00, 2.3326e+00, 2.6255e+00, 2.7469e+00, -2.2052e+00, 0.0000e+00, -2.5813e+00, -2.8776e+00, 0.0000e+00, -0.0000e+00, -1.7356e+00, 3.2338e+00, 0.0000e+00, 2.5622e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, -0.0000e+00, 0.0000e+00, -0.0000e+00, -2.7078e+00, -2.3848e+00, -0.0000e+00, -1.9614e+00, -2.4573e+00, -2.2605e+00, -0.0000e+00, 0.0000e+00, -2.2808e+00, 0.0000e+00, 0.0000e+00, 2.9111e+00, -2.2362e+00, 0.0000e+00, -2.2346e+00, -0.0000e+00, 3.6396e+00, -0.0000e+00, 1.3329e+00, 0.0000e+00, -2.8274e+00, 0.0000e+00, -2.9811e+00, -0.0000e+00, -2.8673e+00, 1.9165e+00, -0.0000e+00, -0.0000e+00, 1.0873e+00, 2.7534e+00, -0.0000e+00, 0.0000e+00, 0.0000e+00, -0.0000e+00, 0.0000e+00, -0.0000e+00, -0.0000e+00, 2.8743e+00], [-1.3612e+00, -2.1963e+00, -0.0000e+00, -0.0000e+00, -2.1267e+00, 0.0000e+00, -0.0000e+00, -1.9845e+00, -0.0000e+00, -0.0000e+00, 2.2666e+00, -1.9736e+00, 2.2958e+00, 2.6230e+00, -2.2385e+00, 0.0000e+00, 2.3082e+00, -2.2357e+00, -0.0000e+00, -2.1435e+00, -1.9692e+00, -2.4064e+00, -0.0000e+00, 0.0000e+00, -0.0000e+00, 0.0000e+00, 2.0739e+00, 0.0000e+00, 2.2012e+00, 1.7693e+00, 1.6598e+00, 0.0000e+00, 0.0000e+00, -3.2645e+00, 2.4910e+00, -2.2245e+00, -0.0000e+00, -0.0000e+00, 2.0862e+00, -1.4726e+00, 1.8619e+00, 1.7608e+00, -0.0000e+00, 0.0000e+00, -0.0000e+00, -0.0000e+00, 2.3520e+00, -1.9523e+00, 2.1806e+00, 1.7062e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, -0.0000e+00, -0.0000e+00, 0.0000e+00, -0.0000e+00, -0.0000e+00, 2.7019e+00, -0.0000e+00, 2.0802e+00, 2.6623e+00, 0.0000e+00], [4.6274e-03, 2.5150e+00, 2.5136e+00, 1.8053e+00, 2.3565e+00, -2.2272e+00, 2.2445e+00, 2.0420e+00, 2.4043e+00, 0.0000e+00, -4.5132e+00, 2.9806e+00, -2.2270e+00, -2.5470e+00, 0.0000e+00, -0.0000e+00, -0.0000e+00, 0.0000e+00, 2.5202e+00, 2.3339e+00, 2.4542e+00, 0.0000e+00, 2.8223e+00, -0.0000e+00, 0.0000e+00, -0.0000e+00, -2.3184e+00, -1.7631e+00, -0.0000e+00, -0.0000e+00, -0.0000e+00, -2.2424e+00, -2.5218e+00, 9.9682e-01, -2.6607e+00, -0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, -0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, -0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, -0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, -0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, -0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, [ 6.0106e-01, -0.0000e+00, -0.0000e+00, 3.9504e-01, -1.1562e+00, -0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, -0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, -0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, -0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, -0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, -0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, -0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 3.5642e-01,0.0000e+00,-1.8895e+00,0.0000e+00,-0.0000e+00, -1.0866e+00,1.0977e+00,-0.0000e+00,0.0000e+00,0.0000e+00, 0.0000e+00,-2.6289e-02,1.9910e+00,1.3933e+00,0.0000e+00, -7.1381e-01,6.5004e-01,-0.0000e+00,-0.0000e+00,1.3602e+00, -9.7249e-01,0.0000e+00,1.4392e-01,-0.0000e+00], [-0.0000e+00,-1.8063e+00,-1.8766e+00,-1.0951e+00,-1.6999e+00, 1.6256e+00,-1.9671e+00,-1.2414e+00,-0.0000e+00,-1.6555e+00, 0.0000e+00,-1.2098e+00,1.9891e+00,0.0000e+00,-1.7305e+00, 1.5386e+00,0.0000e+00,-1.7260e+00,-1.8881e+00,-1.6699e+00, -0.0000e+00,-2.0388e+00,-2.2659e+00,1.7786e+00,-1.9662e+00, 0.0000e+00,0.0000e+00,0.0000e+00,1.7807e+00,1.5438e+00, 1.6649e+00,0.0000e+00,0.0000e+00,-1.2455e+00,1.9394e+00, -0.0000e+00,-1.6645e+00,-0.0000e+00,1.9500e+00,-1.3803e+00, 1.4956e+00,1.9429e+00,-0.0000e+00,1.7353e+00,-0.0000e+00, -0.0000e+00,0.0000e+00,-0.0000e+00,1.7891e+00,0.0000e+00, 1.9422e+00,0.0000e+00,1.4670e+00,1.6629e+00,-1.4649e+00, -1.8097e+00,1.3914e+00,-1.7735e+00,-0.0000e+00,0.0000e+00, -0.0000e+00,1.6906e+00,0.0000e+00,3.5248e-01], [-2.9702e-01,-0.0000e+00,-4.5200e-01,0.0000e+00,-0.0000e+00, 0.0000e+00,-4.7162e-01,-1.4093e-01,-0.0000e+00,-6.1239e-01, 0.0000e+00,-2.0534e+00,0.0000e+00,0.0000e+00,-0.0000e+00, 4.9763e-01,4.8636e-01,-7.1329e-01,-5.9128e-01,-6.6113e-01, -1.8518e-01,-0.0000e+00,-0.0000e+00,0.0000e+00,-1.2018e+00, 3.5285e-01,3.8665e-01,-4.3138e-01,5.5155e-01,0.0000e+00, 0.0000e+00,0.0000e+00,0.0000e+00,0.0000e+00,0.0000e+00, -5.5799e-01,-9.0753e-01,-0.0000e+00,1.2794e+00,-9.2865e-01, 0.0000e+00,-0.0000e+00,-0.0000e+00,7.3109e-01,-0.0000e+00, -5.3658e-01,0.0000e+00,-0.0000e+00,0.0000e+00,0.0000e+00, 5.1652e-01, 0.0000e+00, 0.0000e+00, 0.0000e+00, 6.8802e-01, -0.0000e+00, 6.9143e-02, -0.0000e+00, -0.0000e+00, 0.0000e+00, -0.0000e+00, 6.6032e-01, -0.0000e+00, -0.0000e+00], [-1.7656e-01, -0.0000e+00, -0.0000e+00, -0.0000e+00, -6.1244e-01, 0.0000e+00, -0.0000e+00, -4.4290e-01, -7.1557e-01, -0.0000e+00, 1.5566e+00, -8.0448e-01, 0.0000e+00, 0.0000e+00, -0.0000e+00, 3.3267e-01, 0.0000e+00, -4.8678e-01, -2.4909e-01, -0.0000e+00, -3.5021e-01, -6.4395e-01, -0.0000e+00, 3.9378e-01, -0.0000e+00, 4.8254e-01, 7.1080e-01, -0.0000e+00, 6.2391e-01, 8.1479e-01, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, -0.0000e+00, -0.0000e+00, -6.2266e-01, 1.4899e+00, -7.8659e-01, 6.9815e-01, 5.3450e-01, -6.3079e-01, 0.0000e+00, -0.0000e+00, -0.0000e+00, 0.0000e+00, -0.0000e+00, 0.0000e+00, 0.0000e+00, 6.0530e-01, 1.3177e+00, 1.0412e+00, 8.2991e-01, -0.0000e+00, -4.0164e-01, 0.0000e+00, -5.7163e-01, 0.0000e+00, 5.0986e-01, -0.0000e+00, 0.0000e+00, -0.0000e+00, -1.3475e-01], [0.0000e+00, -5.9267e-01, -1.0057e+00, -0.0000e+00, -1.2591e+00, 0.0000e+00, -0.0000e+00, -3.0659e+00, -0.0000e+00, -1.3330e+00, -0.0000e+00, 0.0000e+00, 0.0000e+00, -0.0000e+00, -0.0000e+00, 2.1381e+00, -0.0000e+00, -1.1585e+00, -0.0000e+00, -8.8243e-01, -0.0000e+00, -4.1843e-01, 7.2836e-01, 7.8118e-01, 0.0000e+00, 8.5283e-01, 0.0000e+00, 3.6777e+00, 0.0000e+00, 1.7689e+00, 0.0000e+00, -0.0000e+00, 0.0000e+00, -0.0000e+00, -0.0000e+00, -4.3197e-01, -1.0368e+00, -1.0006e+00, -0.0000e+00, -2.0974e+00, 2.4890e+00, 0.0000e+00, -0.0000e+00, 1.1465e+00, -2.7976e+00, -1.1835e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.4345e+00, 0.0000e+00, -5.9505e+00, 0.0000e+00, 0.0000e+00, -0.0000e+00, -0.0000e+00, 0.0000e+00, -0.0000e+00, -0.0000e+00, 1.3083e-01, 3.5653e+00, 0.0000e+00, 3.4044e+00, 1.5062e+00], [-1.0377e+00, -0.0000e+00, -0.0000e+00, -0.0000e+00, -0.0000e+00, 1.3243e+00, -0.0000e+00, -0.0000e+00, -0.0000e+00, -1.5920e+00, 1.6505e+00, -0.0000e+00, 1.8351e+00, 0.0000e+00, -1.6926e+00, 1.5657e+00, 0.0000e+00, -1.5776e+00, -1.9330e+00, -1.7109e+00, -0.0000e+00, -0.0000e+00, -0.0000e+00, 1.6637e+00, -1.8053e+00, 1.8159e+00, 0.0000e+00, 0.0000e+00, 1.7029e+00, 1.6752e+00, 0.0000e+00, 2.0639e+00, 1.7111e+00, -0.0000e+00, 0.0000e+00, -0.0000e+00, -1.6217e+00, -1.6603e+00, 0.0000e+00, -1.4621e+00, 0.0000e+00, 1.6097e+00, -1.5625e+00, 1.7538e+00, -8.4524e-01, -1.6937e+00, 0.0000e+00, -0.0000e+00, 0.0000e+00, 1.5902e+00, 1.7211e+00, 0.0000e+00, 1.4111e+00, 0.0000e+00, -1.2052e+00, -0.0000e+00, 1.4636e+00, -0.0000e+00, -1.4482e+00, 0.0000e+00, -0.0000e+00, 1.8450e+00, 1.5248e+00, 8.6373e-01], [0.0000e+00, -0.0000e+00, -0.0000e+00, -0.0000e+00, -0.0000e+00, -7.6719e-01, -1.6713e-01, 0.0000e+00, -6.6231e-01, -0.0000e+00, -0.0000e+00, 0.0000e+00, 0.0000e+00, -1.1587e+00, -0.0000e+00, 0.0000e+00, 0.0000e+00, -9.7565e-02, 0.0000e+00, -0.0000e+00, -2.7355e-01, -2.1449e-01, 5.8621e-01, 4.8205e-01, 0.0000e+00, -0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, -5.8077e-01, -0.0000e+00, -0.0000e+00, 2.6579e-01, -0.0000e+00, 0.0000e+00, -2.1615e-01, -0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, -3.0755e-01, 9.0302e-01, -1.6958e-01, -1.7640e-01, -0.0000e+00, 2.2584e-01, 1.2398e-01, 0.0000e+00, 0.0000e+00, -5.0965e-01, 0.0000e+00, -0.0000e+00, 0.0000e+00, 4.9015e-01, -1.5283e-01, 0.0000e+00, -0.0000e+00, -3.8093e-01, 0.0000e+00, -1.4821e+00, 1.4018e+00].

[0233] Since the node output feature size is set to 64 in the hyperparameters (which can be adjusted according to the model training results), and there are a total of 11 nodes, the final output is a tensor of size 11×64. The updated coordinate features still have a shape of 11×3. The specific results are as follows: [[-3.3693,0.3539,0.8509],[2.9229,-0.6844,0.9049],[0.6765,-0.0669,-0.0036],[2.4886,-0.8188,-1.5831],[-1.5556,0.3824,-0.8942],[-0.0716,0.82 43, -0.9526], [-1.9032, 0.2777, 0.5909], [-1.2274, -0.8767, 1.2907], [-0.0442, 2.1423, -0.4354], [-0.0480, -1.3277, 0.3963], [2.1256, -0.2005, -0.2586]).

[0234] Next, EGNNNet is constructed to build the complete prediction network. This involves stacking multiple EGNNLayers and finally using MLPReadout to pool the results of the multi-layer convolutions, aggregating node-level features into graph-level representations. Finally, a complete training framework is built: CoordFeatLitModule, a framework built using PyTorchLightning to implement the complete training process of the EGNN model. By calling EGNNNet, the input data is transformed into graph-level features through multiple convolutions and pooling. Taking the CC1CCC(C(C)C)C(O)C1 molecule as an example, the pooling result is as follows: [-4.101971,-6.337630,-14.167300,-8.546255,-5.316851,-5.141497, -5.941731, -8.821639, -9.197598, -5.917910, -2.617517, -6.539070, -14.938877, -8.352769, -5.237141, -6.135449, -5.570280, -10.504519, -5.991595, -10.834405, -17.176512, -0.697729, -7.373948, -4.761699, -6.879646,-12.606784,-11.090403,-9.924804,-8.478099,-6.438935, -2.958916,-2.460804,-6.531497,-8.972239,-6.733686,-6.679694, -12.200756,-10.193567,0.166418,-5.984762,-7.499315,-5.543246, -12.270245,-9.780089,-3.039910,-0.922799,-4.994704,-4.457683, -8.984766,-11.346238,-0.969449,-1.375927,-7.412272,-2.511120, -16.172749,-8.973688,-3.677171,-7.255116,-5.626783,-5.747394, -1.007260,-7.523036,-4.082557,-10.020576,-0.581035,-6.837903, -6.445798,-8.359209,-8.546983,-9.027562,-8.837513,-3.937354, -3.305126,-3.306642,-2.298098,-3.180026,-7.710377,-8.955148, -2.451084,-6.057411,-3.881728,-8.209363,1.515323,-5.338808, -7.822900,-6.518166,-1.907113,-3.958325,-4.494951,-6.266322, -2.799335,-13.754503,-7.557493,-11.472580,-6.812051,-5.182642, -8.412328,-6.831188,-3.812248,-0.833991,-9.790198,-11.852774, -12.448085, -9.204568, -4.585168, -5.247503, -7.881808, -7.961990, -7.808773, -9.632416, -2.250963, -4.579048, -6.865112, -9.685250, -4.360154, -4.284281, -5.346418, -4.014800, -5.622805, -1.648203, -10.187842, -10.340674, -8.791436, -0.832156, -4.565204, -3.170679, -5.479547, -8.079566, -4.974873, -7.801608, -3.941912, -3.157445, -8.994254, -3.775835, -6.167282, -4.618004, -6.378688, -0.204504].

[0235] The sigmoid processing of the features can obtain the probability of the gas molecules having each odor, and complete the multi-label classification task. Taking the CC1CCC(C(C)C)C(O)C1 molecule as an example, the final probability vector result is as follows: [0.016271, 0.001765, 0.000001, 0.000194, 0.004884, 0.005815, 0.002621, 0.000147, 0.000101, 0.002684, 0.068020, 0.001444, 0.000000, 0.000236, 0.005287, 0.002160, 0.003795, 0.000027, 0.002493, 0.000020, 0.000000, 0.332316, 0.000627, 0.008479, 0.001027, 0.000003, 0.000015, 0.000049, 0.000208, 0.001596, 0.049317, 0.078652, 0.001455, 0.000127, 0.001189, 0.001255, 0.000005, 0.000037, 0.541509, 0.002510, 0.000553,0.003899,0.000005,0.000057,0.045655, 0.284388,0.006728,0.011456,0.000125,0.000012, 0.274990,0.201664,0.000603,0.075082,0.000000, 0.000127,0.024670,0.000706,0.003587,0.003181, 0.267516,0.000540,0.016585,0.000044,0.358694, 0.001071,0.001585,0.000234,0.000194,0.000120, 0.000145,0.019127,0.035396,0.035344,0.091281, 0.039924,0.000448,0.000129,0.079359,0.002335, 0.020199,0.000272,0.819849,0.004779,0.000400, 0.001474,0.129306,0.018737,0.011042,0.001896, 0.057360,0.000001,0.000522,0.000010,0.001099, 0.005582,0.000222,0.001078,0.021621,0.302802, 0.000056,0.000007,0.000004,0.000101,0.010099, 0.005233,0.000377,0.000348,0.000406,0.000066, 0.095266,0.010160,0.001042,0.000062,0.012615, 0.013596,0.004743,0.017727,0.003601,0.161352, 0.000038,0.000032,0.000152,0.303189,0.010301, 0.040284, 0.004154, 0.000310, 0.006862, 0.000409, 0.019041, 0.040799, 0.000124, 0.022404, 0.002093, 0.009776, 0.001694, 0.449051].

[0236] After thresholding, the final odor results are as follows: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1].

[0237] Comparing to the odor table, it is predicted that the molecule has camphoreous, cooling, herbal, mint, pine, sweet, woody odor.

[0238] Its original odor results: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1].

[0239] The molecule originally has bitter, camphoreous, cooling, earthy, hay, herbal, mint, musty, pine, sweet, woody, according to the smell table.

[0240] Preferably, the model is usually also evaluated by AUROC (Area Under the ROC Curve), Precision, Recall, F1 (F1 Score) and the like, and an early stopping mechanism is added in the CoordFeatLitModule framework. In the early stopping mechanism, AUROC or Loss on the validation set is usually selected for monitoring. If the monitored evaluation index does not improve or becomes worse for consecutive multiple training batches, the early stopping mechanism is triggered, so as to avoid the situation that the model performs better and better on the training set but worse on the test set, i.e. overfitting, and the current model parameters are taken as the final parameters. The CoordFeatLitModule framework continuously monitors the advantages and disadvantages of the model through the training, validation and testing of the model, evaluates the model results, forms a complete training process, and finally obtains a model with good performance.

[0241] Beneficial effects: The steps S1 to S6 reduce the prediction period from days to minutes through automated feature extraction (SMILES to molecular graph, three-dimensional coordinate generation) and an end-to-end computing model, and reduce the product research and development time cost in the tobacco and pharmaceutical fields. In solving the pain point of strong odor subjectivity, through the quantitative modeling of 27-dimensional atomic features (including element type, charge, orbital hybridization, etc.) and 15-dimensional edge features (including bond type, stereochemistry, relative coordinates, etc.), the uncertainty of artificial discrimination is eliminated. This method breaks through the technical bottleneck of existing graph neural networks in three-dimensional space equivariance: by embedding the distance geometry algorithm to generate the initial conformation while keeping the molecular geometric center aligned, and designing a coordinate updating mechanism in the EGNN layer, the model has invariance to molecular rotation and translation. Taking menthol isomers as an example, the output of the three-dimensional coordinates of menthol after processing by the EGNNConv layer still maintains spatial consistency, and this feature has revolutionary significance for the recognition of odor differences of chiral molecules. Compared with the traditional equivariant method which requires high-order tensor calculation, this scheme can maintain the classification accuracy of 138 odors while the AUROC can reach 0.89, and the computational complexity is significantly reduced, which can be directly deployed in online prediction scenarios. The final prediction effect shows that this method can maintain the recognition ability of 7 key odors such as camphor and cooling, and through residual connection and attention pooling (query-key mechanism of the MLPReadout module), it realizes the robust extraction of global molecular representation.

[0242] As shown in Figure 3 The embodiment provides an embodiment of a gas molecule odor prediction system based on an equivariant graph neural network. In this embodiment, the gas molecule odor prediction system is applied to the gas molecule odor prediction method of the above-mentioned embodiment.

[0243] Specifically, the gas molecule odor prediction system comprises a gas molecule expression conversion module 1, an equivariant graph neural network processing module 2, an equivariant graph neural network stacking module 3, a global molecular representation vector acquisition module 4, a 138-dimensional probability score vector acquisition module 5 and a gas molecule predicted odor acquisition module 6 which are electrically or signal connected in sequence.

[0244] The gas molecule expression conversion module 1 is used to convert the SMILES expression of the gas molecule into a molecular graph structure and three-dimensional spatial coordinates based on the DGL-LifeSci toolkit and the RDKit toolkit, respectively; the isometric graph neural network processing module 2 is used to input the molecular graph structure and the three-dimensional spatial coordinates into the isometric graph neural network, aggregate neighborhood information through the message passing mechanism of the EGNN isometric graph neural network, update the node features and the coordinate features, and obtain the updated node features and the updated coordinate features; the isometric graph neural network stacking module 3 is used to stack the EGNN layers of the isometric graph neural network, take the output of the previous EGNN layer as the input of the next EGNN layer, and input the updated node features and the updated coordinate features into the stacked isometric graph neural network to obtain high-dimensional node representation and final coordinate values; the global molecular representation vector acquisition module 4 is used to perform global pooling operation on the high-dimensional node representation and the final coordinate values through the MLPReadout module of the stacked isometric graph neural network to obtain a global molecular representation vector with a fixed dimension; the 138-dimensional probability score vector acquisition module 5 is used to input the global molecular representation vector into the fully connected layer of the stacked isometric graph neural network, map to a 138-dimensional output space, and then process through a Sigmoid function to obtain a 138-dimensional probability score vector corresponding to each odor; and the gas molecule predicted odor acquisition module 6 is used to extract the probability value of each odor category from the 138-dimensional probability vector, and convert all probability values into a binary classification result through a preset probability threshold, wherein the result with a value of 1 in the binary classification result is the gas molecule predicted odor.

[0245] Further, the gas molecule expression conversion module 1 specifically comprises a first gas molecule expression conversion unit, a second gas molecule expression conversion unit, a third gas molecule expression conversion unit, a fourth gas molecule expression conversion unit, a fifth gas molecule expression conversion unit and a sixth gas molecule expression conversion unit which are electrically or signal connected in sequence.

[0246] The first gas molecule expression conversion unit is configured to convert the SMILES expression into a DGLGraph format molecular graph in a complete graph structure form by using a smiles_to_complete_graph function in a DGL-LifeSci toolkit; the second gas molecule expression conversion unit is configured to create a Chem.Mol molecular object of RDKit based on the SMILES expression by using an RDKit toolkit; the third gas molecule expression conversion unit is configured to extract a 27-dimensional atomic feature tensor of the Chem.Mol molecular object by using a WeaveAtomFeaturizer module in the DGL-LifeSci toolkit; the fourth gas molecule expression conversion unit is configured to input the 27-dimensional atomic feature into an EmbedMolecule function of the RDKit toolkit, and obtain an initial three-dimensional conformation by iterative optimization of atomic positions by using a distance geometry algorithm, and align a molecular geometric center to an origin of a Cartesian coordinate system to obtain an N×3-dimensional coordinate tensor, where N is the number of atoms; the fifth gas molecule expression conversion unit is configured to extract a 15-dimensional edge feature tensor by traversing all chemical bonds in the initial three-dimensional conformation by using a WeaveEdgeFeaturizer module; and the sixth gas molecule expression conversion unit is configured to integrate the 27-dimensional atomic feature tensor and the 15-dimensional edge feature tensor to obtain a molecular graph structure, and the N×3-dimensional coordinate tensor is a three-dimensional space coordinate.

[0247] Further, the equivariant graph neural network processing module 2 specifically comprises a first equivariant graph neural network processing unit, a second equivariant graph neural network processing unit and a third equivariant graph neural network processing unit which are sequentially electrically or signal connected; the first equivariant graph neural network processing unit is electrically or signal connected with the sixth gas molecule expression conversion unit, and the third equivariant graph neural network processing unit is electrically or signal connected with the equivariant graph neural network stacking module 3.

[0248] The first equivariant graph neural network processing unit is configured to calculate the interaction between each node and the neighborhood nodes in the molecular graph structure by using a message passing mechanism of an EGNN layer to generate a neighborhood message matrix; the second equivariant graph neural network processing unit is configured to combine the neighborhood message matrix with the three-dimensional space coordinates, and update the coordinates of each node by using a learnable scalar field function to obtain first updated coordinate features; and the third equivariant graph neural network processing unit is configured to re-calculate the geometric relationship between the nodes by using the first updated coordinate features, combine the original node features and the original edge features of the three-dimensional space coordinates, and generate updated node features and updated coordinate features by using a feature updating network.

[0249] Furthermore, the isovariant graph neural network stacking module 3 specifically includes a first isovariant graph neural network stacking unit, a second isovariant graph neural network stacking unit, a third isovariant graph neural network stacking unit, and a fourth isovariant graph neural network stacking unit that are electrically or signal-connected in sequence; the first isovariant graph neural network stacking unit is electrically or signal-connected to the third isovariant graph neural network processing unit, and the fourth isovariant graph neural network stacking unit is electrically or signal-connected to the global molecular representation vector acquisition module 4.

[0250] The system comprises the following components: a first equivariant graph neural network stacking unit, configured with a pre-defined number of EGNN layers, each with the same hidden layer dimension but independent learning parameters; a second equivariant graph neural network stacking unit, which inputs updated node features and updated coordinate features into the first EGNN layer, and outputs new node features and new coordinate features after the first equivariant processing through message passing, coordinate updates, and feature transformations; a third equivariant graph neural network stacking unit, which uses the new node features and new coordinate features output from the first EGNN layer as input to the second EGNN layer, repeatedly performs equivariant graph convolution operations, and when proceeding to the third and subsequent EGNN layers, weightedly fuses the current input features with the initial features before each layer input to form a residual connection structure; and a fourth equivariant graph neural network stacking unit, which obtains high-dimensional node representations and final coordinate values ​​through the final processing of the last EGNN layer.

[0251] Furthermore, the global molecular representation vector acquisition module 4 specifically includes a first global molecular representation vector acquisition unit, a second global molecular representation vector acquisition unit, a third global molecular representation vector acquisition unit, a fourth global molecular representation vector acquisition unit, a fifth global molecular representation vector acquisition unit, and a sixth global molecular representation vector acquisition unit that are electrically or signal-connected in sequence; the first global molecular representation vector acquisition unit is electrically or signal-connected to the fourth equivalent graph neural network stacking unit, and the sixth global molecular representation vector acquisition unit is electrically or signal-connected to the 138-dimensional probability score vector acquisition module 5.

[0252] The first global molecular representation vector acquisition unit is configured to project the final coordinate value of each node in the high-dimensional node representation to the same dimension of the high-dimensional node representation through a learnable linear layer by means of the MLPReadout module, so as to form a coordinate enhanced feature; the second global molecular representation vector acquisition unit is configured to input the coordinate enhanced feature into a multilayer perceptron for nonlinear mapping, and perform four times of dimension reduction on the coordinate enhanced feature through a ReLU activation function and a preset numerical random inactivation rate, so as to obtain a key coordinate feature; the third global molecular representation vector acquisition unit is configured to apply linear transformation to each node feature in the key coordinate feature to generate a query vector and a key vector, calculate an unnormalized attention score through dot product, convert the unnormalized attention score into a normalized weight coefficient through a Softmax function, and form an attention weight tensor with a dimension of [node number, 1]; the fourth global molecular representation vector acquisition unit is configured to perform weighted summation on the key coordinate feature through the attention weight tensor, so as to obtain a preliminary global vector; the fifth global molecular representation vector acquisition unit is configured to extract a global geometric feature from the final coordinate value, and splice the global geometric feature with the preliminary global vector, so as to form an enhanced feature vector; and the sixth global molecular representation vector acquisition unit is configured to input the enhanced feature vector into a projection layer of the MLPReadout module, and map the enhanced feature vector to a preset fixed dimension through linear transformation, so as to obtain a global molecular representation vector.

[0253] Further, the 138-dimensional probability score vector acquisition module 5 specifically includes a first 138-dimensional probability score vector acquisition unit, a second 138-dimensional probability score vector acquisition unit and a third 138-dimensional probability score vector acquisition unit which are sequentially electrically or signal connected; the first 138-dimensional probability score vector acquisition unit is electrically or signal connected with the sixth global molecular representation vector acquisition unit, and the third 138-dimensional probability score vector acquisition unit is electrically or signal connected with the gas molecule predicted odor acquisition module 6.

[0254] The first 138-dimensional probability score vector acquisition unit is configured to perform batch normalization processing on the global molecular representation vector, so as to obtain a standardized feature vector; the second 138-dimensional probability score vector acquisition unit is configured to input the standardized feature vector into a fully connected layer with 138 output nodes, perform linear transformation through a weight matrix and a bias vector, and generate a 138-dimensional original output vector, each dimension of the 138-dimensional original output vector corresponding to an initial score of a specific odor category; and the third 138-dimensional probability score vector acquisition unit is configured to apply a Sigmoid function to the 138-dimensional probability vector element by element, so as to map the probability of each dimension to the interval (0, 1), and obtain a 138-dimensional probability score vector corresponding to each odor.

[0255] Furthermore, the gas molecule odor prediction acquisition module 6 specifically includes a first gas molecule odor prediction acquisition unit, a second gas molecule odor prediction acquisition unit, a third gas molecule odor prediction acquisition unit, a fourth gas molecule odor prediction acquisition unit, and a fifth gas molecule odor prediction acquisition unit that are electrically or signal-connected in sequence; the first gas molecule odor prediction acquisition unit is electrically or signal-connected to the third 138-dimensional probability score vector acquisition unit.

[0256] The system comprises five components: a first gas molecule odor prediction acquisition unit, a second gas molecule odor prediction acquisition unit, and a third gas molecule odor prediction acquisition unit. The first gas molecule odor prediction acquisition unit establishes a correspondence table between an index and odor categories based on a 138-dimensional probability vector, forming a complete probability distribution with semantic labels. The second gas molecule odor prediction acquisition unit performs element-wise comparisons with each odor probability value in the complete probability distribution based on a preset probability threshold. The third gas molecule odor prediction acquisition unit outputs 1 when the odor probability value is greater than or equal to the preset probability threshold to indicate the presence of the odor. The fourth gas molecule odor prediction acquisition unit outputs 0 when the odor probability value is less than the preset probability threshold to indicate the absence of the odor. The fifth gas molecule odor prediction acquisition unit acquires the odor with an output of 1 after the element-wise comparison is completed, which is the gas molecule predicted odor.

[0257] It should be noted that this embodiment is a functional module embodiment based on the above method embodiment. For the preferred, extended, limited, exemplified and principle explanation parts of this embodiment, please refer to the above embodiment. This embodiment will not repeat them.

[0258] Figure 4 This is a schematic diagram of the structure of an electronic device according to an embodiment of this application. Figure 4 As shown, the electronic device 7 includes a processor 71 and a memory 72 coupled to the processor 71.

[0259] The memory 72 stores program instructions for implementing the federated learning-based collaborative energy-saving method for government data clusters in any of the above embodiments.

[0260] The processor 71 is used to execute program instructions stored in the memory 72 for collaborative energy saving of government data clusters based on federated learning.

[0261] The processor 71 can also be referred to as a CPU (Central Processing Unit). The processor 71 may be an integrated circuit chip with signal processing capabilities. The processor 71 can also be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. A general-purpose processor can be a microprocessor or any conventional processor.

[0262] Further, Figure 5 For a structural schematic diagram of the storage medium of an embodiment of the present application, refer to Figure 5 The storage medium 8 of the embodiment of the present application stores program instructions 81 capable of realizing all the methods described above, wherein the program instructions 81 can be stored in the storage medium in the form of a software product, including a plurality of instructions to make a computer device (which can be a personal computer, a server, or a network device, etc.) or a processor execute all or part of the steps of the methods of various embodiments of the present application. The aforementioned storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and various media capable of storing program codes, or a terminal device such as a computer, a server, a mobile phone, and a tablet.

[0263] In several embodiments provided in the present application, it should be understood that the disclosed system, system and method can be implemented in other ways. For example, the system embodiments described above are merely illustrative. For example, the division of units is only a logical function division, and actual implementation can have another division manner, for example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the units or systems shown or discussed can be indirect coupling or communication connection through some interfaces, systems or units, which can be electrical, mechanical, signal or other forms.

[0264] In addition, each functional unit in each embodiment of the present application can be integrated in one processing unit, or each unit can exist physically, or two or more units can be integrated in one unit. The integrated unit can be realized in the form of hardware or in the form of a software functional unit. The above is only an embodiment of the present application, and does not limit the patent scope of the present application. Any equivalent structure or equivalent process conversion using the content of the specification and drawings, or direct or indirect application in other related technical fields, are also included in the patent protection scope of the present application.

Claims

1. A method for predicting the odor of gas molecules based on an isovariant graph neural network, characterized in that, The gas molecule odor prediction method includes: Step S1: Based on the DGL-LifeSci toolkit and RDKit toolkit, the SMILES expression of gas molecules is converted into molecular graph structure and three-dimensional spatial coordinates, respectively; Step S2: Input the molecular graph structure and the three-dimensional spatial coordinates into the EGNN (Equivalent Graph Neural Network), aggregate neighborhood information through the message passing mechanism of the EGNN, and update the node features and coordinate features at the same time to obtain the updated node features and updated coordinate features. Step S3: Stack the EGNN layers of the isotropic graph neural network, use the output of the previous EGNN layer as the input of the next EGNN layer, and input the updated node features and the updated coordinate features into the stacked isotropic graph neural network to obtain the high-dimensional node representation and the final coordinate value. Step S4: Perform global pooling operation on the high-dimensional node representation and the final coordinate value through the MLPReadout module of the stacked equivariant graph neural network to obtain a fixed-dimensional global molecular representation vector. Step S5: The global molecular characterization vector is input into the fully connected layer of the stacked isomorphic graph neural network and mapped to a 138-dimensional output space. After processing by the Sigmoid function, a 138-dimensional probability score vector corresponding to each odor is obtained. Step S6: Extract the probability value of each odor category from the 138-dimensional probability vector, and convert all probability values ​​into binary classification results through a preset probability threshold. The result of 1 in the binary classification results is the gas molecule predicted odor.

2. The gas molecule odor prediction method according to claim 1, characterized in that, Step S1 involves converting the SMILES expressions of gas molecules into molecular diagram structures and three-dimensional spatial coordinates based on the DGL-LifeSci toolkit and RDKit toolkit, including: Step S11: The SMILES expression is converted into a DGLGraph format molecular graph in the form of a fully connected graph structure using the smiles_to_complete_graph function in the DGL-LifeSci toolkit. Step S12: Based on the SMILES expression, create a Chem.Mol molecule object of RDKit using the RDKit toolkit; Step S13: Extract the 27-dimensional atomic feature tensor of the Chem.Mol molecule object using the WeaveAtomFeaturizer module in the DGL-LifeSci toolkit; Step S14: Input the 27-dimensional atomic features into the EmbedMolecule function of the RDKit toolkit, iteratively optimize the atomic positions through a distance geometry algorithm to obtain an initial three-dimensional conformation, and align the molecular geometric center to the origin of the Cartesian coordinate system to obtain an N×3-dimensional coordinate tensor, where N is the number of atoms; Step S15: Traverse all chemical bonds in the initial three-dimensional conformation through the WeaveEdgeFeaturizer module to extract a 15-dimensional edge feature tensor; Step S16: Integrate the 27-dimensional atomic feature tensor and the 15-dimensional edge feature tensor to obtain the molecular graph structure, where the N×3-dimensional coordinate tensor is the three-dimensional spatial coordinate.

3. The gas molecule odor prediction method according to claim 1, characterized in that, Step S2 involves inputting the molecular graph structure and the three-dimensional spatial coordinates into an equivariant graph neural network (EGNN). Neighborhood information is aggregated through the message passing mechanism of the EGNN, while simultaneously updating node features and coordinate features to obtain updated node features and updated coordinate features, including: Step S21: Calculate the interaction between each node and its neighboring nodes in the molecular graph structure through the message passing mechanism of the EGNN layer, and generate a neighborhood message matrix. Step S22: Combine the neighborhood message matrix with the three-dimensional spatial coordinates, and update the coordinates of each node using a learnable scalar field function to obtain the first updated coordinate features; Step S23: Recalculate the geometric relationship between nodes using the first updated coordinate features, and combine the original node features and original edge features of the three-dimensional spatial coordinates to generate the updated node features and the updated coordinate features through the feature update network.

4. The gas molecule odor prediction method according to claim 1, characterized in that, Step S3: Stack the EGNN layers of the isomorphic graph neural network, using the output of the previous EGNN layer as the input of the next EGNN layer, and input the updated node features and the updated coordinate features into the stacked isomorphic graph neural network to obtain high-dimensional node representations and final coordinate values, including: Step S31: Configure a stacked structure containing a preset number of EGNN layers, wherein each EGNN layer has the same hidden layer dimension but independent learning parameters. Step S32: Input the updated node features and the updated coordinate features into the first EGNN layer. Through message passing, coordinate updating, and feature transformation of the first EGNN layer, output the new node features and new coordinate features after the first isomorphic processing. Step S33: Use the new node features and new coordinate features output from the first EGNN layer as the input to the second EGNN layer, repeat the isomorphic graph convolution operation, and when proceeding to the third and subsequent EGNN layers, perform weighted fusion of the current input features and the initial features before each layer input to form a residual connection structure. Step S34: Through the final processing of the last EGNN layer, the high-dimensional node representation and the final coordinate value are obtained.

5. The gas molecule odor prediction method according to claim 1, characterized in that, Step S4: The high-dimensional node representation and the final coordinate values ​​are globally pooled using the MLPReadout module of the stacked equivariant graph neural network to obtain a fixed-dimensional global molecular representation vector, including: Step S41: The final coordinate values ​​of each node in the high-dimensional node representation are projected to the same dimension of the high-dimensional node representation through a learnable linear layer by the MLPReadout module to form coordinate augmentation features; Step S42: Input the coordinate enhancement features into a multilayer perceptron for nonlinear mapping, and perform a four-fold dimensionality reduction on the coordinate enhancement features using the ReLU activation function and a preset value of random inactivation rate to obtain key coordinate features; Step S43: Apply a linear transformation to each node feature in the key coordinate features to generate a query vector and a key vector. Calculate the unnormalized attention score through dot product, and convert it into normalized weight coefficients using the Softmax function to form an attention weight tensor with dimensions [number of nodes, 1]. Step S44: The key coordinate features are weighted and summed using the attention weight tensor to obtain a preliminary global vector; Step S45: Extract global geometric features from the final coordinate values ​​and concatenate them with the preliminary global vector to form an enhanced feature vector; Step S46: Input the enhanced feature vector into the projection layer of the MLPReadout module, and map it to a preset fixed dimension through linear transformation to obtain the global molecular representation vector.

6. The gas molecule odor prediction method according to claim 1, characterized in that, Step S5: The global molecular representation vector is input into the fully connected layer of the stacked isomorphic graph neural network, mapped to a 138-dimensional output space, and then processed by the Sigmoid function to obtain a 138-dimensional probability score vector corresponding to each odor, including: Step S51: Batch normalize the global molecular representation vector to obtain a standardized feature vector. Step S52: Input the standardized feature vector into a fully connected layer with 138 output nodes, and perform a linear transformation through the weight matrix and bias vector to generate a 138-dimensional original output vector. Each dimension of the 138-dimensional original output vector corresponds to the initial score of a specific odor category. Step S53: Apply the Sigmoid function element by element to the 138-dimensional probability vector to map the probability of each dimension to the (0,1) interval, and obtain the 138-dimensional probability score vector corresponding to each odor.

7. The gas molecule odor prediction method according to claim 1, characterized in that, Step S6: Extract the probability value of each odor category from the 138-dimensional probability vector, and convert all probability values ​​into binary classification results using a preset probability threshold. The binary classification results with a result of 1 represent the predicted odor of the gas molecules, including: Step S61: Based on the 138-dimensional probability vector, establish a correspondence table between the index and the odor category to form a complete probability distribution with semantic labels; Step S62: Compare the probability values ​​of each odor in the complete probability distribution with the preset probability threshold element by element; Step S63: When the odor probability value is greater than or equal to the preset probability threshold, output 1 to indicate that the odor exists; Step S64: When the odor probability value is less than the preset probability threshold, output 0 to indicate that the odor does not exist; Step S65: After the element-by-element comparison is completed, the odor with an output of 1 is obtained, which is the gas molecule predicted odor.

8. A gas molecule odor prediction system based on an isovariant graph neural network, wherein the gas molecule odor prediction system is applied to the gas molecule odor prediction method as described in any one of claims 1 to 7, characterized in that, The gas molecule odor prediction system includes: The gas molecule expression conversion module is used to convert the SMILES expressions of gas molecules into molecular graph structures and three-dimensional spatial coordinates based on the DGL-LifeSci toolkit and RDKit toolkit, respectively. The EGNN (Equivalent Graph Neural Network) processing module is used to input the molecular graph structure and the three-dimensional spatial coordinates into the EGNN, aggregate neighborhood information through the message passing mechanism of the EGNN, and simultaneously update the node features and coordinate features to obtain the updated node features and updated coordinate features. The equivariant graph neural network stacking module is used to stack the EGNN layers of the equivariant graph neural network. The output of the previous EGNN layer is used as the input of the next EGNN layer. The updated node features and the updated coordinate features are input into the stacked equivariant graph neural network to obtain high-dimensional node representations and final coordinate values. The global molecular representation vector acquisition module is used to perform global pooling operation on the high-dimensional node representation and the final coordinate value through the MLPReadout module of the stacked equivariant graph neural network to obtain a fixed-dimensional global molecular representation vector. The 138-dimensional probability score vector acquisition module is used to input the global molecular characterization vector into the fully connected layer of the stacked equivariant graph neural network, map it to the 138-dimensional output space, and then process it with the Sigmoid function to obtain the 138-dimensional probability score vector corresponding to each odor. The gas molecule prediction odor acquisition module is used to extract the probability value of each odor category from the 138-dimensional probability vector, and convert all probability values ​​into binary classification results through a preset probability threshold. The result of 1 in the binary classification results is the gas molecule predicted odor.

9. An electronic device, characterized in that, The method includes a processor and a memory coupled to the processor, the memory storing program instructions executable by the processor; when the processor executes the program instructions stored in the memory, it implements the gas molecule odor prediction method as described in any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores program instructions that, when executed by a processor, enable the gas molecule odor prediction method as described in any one of claims 1 to 7.