Molecular data processing and analysis system

The system addresses speed and accuracy issues in molecular search and CSP by identifying MCS to merge molecular graphs, achieving efficient data compression and rapid, accurate searches with reduced computational costs.

WO2026155408A1PCT designated stage Publication Date: 2026-07-23LG MANAGEMENT DEV INST CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
LG MANAGEMENT DEV INST CO LTD
Filing Date
2025-12-18
Publication Date
2026-07-23

AI Technical Summary

Technical Problem

Current molecular search methods in large-scale chemical spaces face a trade-off between speed and accuracy, with similarity searches leading to false positives/negatives and graph isomorphism searches being computationally expensive, while Crystal Structure Prediction (CSP) methods lack active utilization of structural information, resulting in inefficient exploration and duplicate removal.

Method used

A system that identifies the Maximum Common Substructure (MCS) among molecular graphs, merges them to form a macromolecular graph, and uses AI to generate chemically valid structures, providing efficient data compression, rapid substructure searches, and accurate crystal structure prediction.

Benefits of technology

Reduces memory usage, enhances search speed, and improves database management efficiency by compressing numerous molecules into macromolecules, enabling simultaneous searches and systematic generation of stable crystal structures with lower computational costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2025022159_23072026_PF_FP_ABST
    Figure KR2025022159_23072026_PF_FP_ABST
Patent Text Reader

Abstract

A system for compressing molecular data according to the present invention comprises: a preprocessing unit for converting a plurality of pieces of original molecular data into molecular graphs, respectively; and a molecular compression unit which searches for a maximum common substructure between a first molecular graph and a second molecular graph among the molecular graphs, merges the first and second molecular graphs on the basis of the searched maximum common substructure to generate an integrated molecular graph, verifies whether each of atoms constituting the integrated molecular graph satisfies the valence rule, and tags each node of the integrated molecular graph for which verification has been completed with identifier information for identifying an original molecule from which the node is derived.
Need to check novelty before this filing date? Find Prior Art

Description

Molecular data processing and analysis system.

[0001] The present invention relates to a molecular data processing and analysis system in the fields of cheminformatics and computational chemistry that performs molecular data compression to increase data storage efficiency, efficient molecular information responses to user queries, and prediction of stable novel crystal structures by identifying common substructures from large-scale molecular data and generating a giant molecular graph or merging molecules based thereon.

[0002] In other words, the present invention relates to a molecular data compression system and method capable of improving the efficiency of a large-scale molecular database and increasing the speed of searching for specific molecular structures by compressing molecular data in a large-scale molecular chemical space to generate a small number of macromolecular graphs.

[0003] In addition, the present invention relates to a molecular information response system and method that generates and manages a small number of macromolecular data by searching for a common substructure of molecular data input by a user, and outputs to the user the physicochemical properties, detailed descriptions, and 2D molecular structure diagrams of the macromolecular data or molecules searched within the macromolecular data.

[0004] In addition, the present invention relates to a novel crystal structure prediction system and method that efficiently explores new and stable crystal structures by identifying the maximum common substructure from a plurality of randomly generated molecular candidates and merging the molecules based thereon to generate a chemically valid macromolecule.

[0005] In various chemical fields, such as new drug development and new material research, the process of searching for molecules with desired properties within a vast chemical space composed of billions of molecules is essential. Databases like Enamine REAL Space contain information on over billions of synthesizable molecules, and searching for candidate substances with desired properties within such ultra-large databases can require massive computational resources. Conventional techniques used for this search can be broadly classified into two categories.

[0006] The first method is similarity search based on molecular fingerprints, which uses algorithms such as ECFP (Extended-Connectivity Fingerprints) to convert the structural features of each molecule into a fixed-length bit vector. Substructure search is performed indirectly by calculating the fingerprint of the query structure and comparing it to the fingerprints of molecules within the database to identify those with high similarity. While this method has the advantage of being very fast, it can lead to false positives or false negatives due to the loss of some structural information caused by hash collisions. In other words, there are limitations to accuracy as it may identify a molecule as containing a substructure when it does not, or vice versa.

[0007] The second method is direct search based on graph isomorphism. This approach treats molecules as a graph composed of atoms (nodes) and bonds (edges) and directly determines whether a query substructure graph is a subgraph of the database molecule graph. While this method guarantees 100% accuracy, it has the disadvantage of very high computational complexity. Therefore, performing this operation for each of the billions of molecules can result in time and costs that are practically impossible to achieve.

[0008] Due to these limitations, current technology faces a trade-off between speed and accuracy, creating an urgent need for an innovative paradigm capable of accurately and rapidly exploring ultra-large chemical spaces. Consequently, there is a growing demand for new technologies that can efficiently process large-scale chemical spaces while performing rapid partial structure exploration.

[0009] Furthermore, there was a lack of dynamic graph management capabilities to accumulate new knowledge or organically connect existing data when the desired molecular substructure did not exist in the database. Additionally, there were limitations in automatically generating detailed and comprehensive expert-level explanations from molecular structural information. Consequently, there is a growing need for an integrated system where molecular exploration, dynamic data management, and AI-based in-depth information generation are organically interconnected within a single platform.

[0010] Meanwhile, Crystal Structure Prediction (CSP) can be a core technology for chemical-based industries such as new drug development, organic electronic materials, and pigments. Even compounds with the same chemical formula can exhibit significantly different physical and chemical properties, such as solubility, stability, color, and mechanical strength, depending on the three-dimensional arrangement of atoms, or the crystal structure. Accordingly, theoretically exploring all possible crystal structures for a given molecule to predict the most stable structure can be a critical task directly linked to the success of new material development.

[0011] Conventional standard CSP workflows rely primarily on stochastic search. Previously, the approach involved randomly generating tens of thousands to millions of candidate structures based on the input molecule and then evaluating the stability of each candidate structure using computational techniques. Since the massive computational cost acts as a major bottleneck in this process, a deduplication step was essential to reduce this by eliminating geometrically similar or crystallographically identical structures from the numerous generated candidates.

[0012] However, this approach has the limitation of remaining a passive filtering method that merely removes duplicates. In other words, the existing method has the disadvantage of failing to actively utilize the stable structural information shared by randomly generated candidates to expand the search space. Rather, potentially useful structural information could be filtered out and lost during the duplicate removal process.

[0013] Therefore, there is a need for an approach that goes beyond the limitations of the passive duplicate removal method of existing CSPs, actively utilizes and recombines the structural information of generated molecular candidates to efficiently explore a wider chemical space and discover novel crystal structures.

[0014] One embodiment of the present invention aims to drastically reduce the memory usage required for data storage by compressing a large number of molecules constituting a large chemical space into a small number of macromolecules. In addition, it aims to provide an efficient system and method that can search for molecules containing specific substructures desired by the user at a very high speed using the compressed macromolecules.

[0015] One embodiment of the present invention aims to provide an intelligent platform that efficiently searches an existing macromolecular graph database based on a molecular substructure input by a user, expands the database by dynamically generating a new macromolecular graph containing the substructure when no search results are found, and provides integrated physical property prediction information, detailed descriptions, and 2D molecular structure diagrams for the searched molecules.

[0016] One embodiment of the present invention aims to provide a system that, rather than simply filtering and removing randomly generated molecular crystal structure candidates, identifies the Maximum Common Substructure (MCS) that the candidates share and uses it as an anchor to chemically merge multiple molecules effectively to generate a Giant Molecule Graph, thereby systematically and efficiently generating complex and novel stable crystal structures that were difficult to predict using a single random generation method.

[0017]

[0018]

[0019]

[0020] A system according to one concept of the present invention comprises: at least one memory for storing instructions; and at least one processor for executing said instructions to perform an operation, wherein the operation performed by the at least one processor by executing said instructions may include: an operation of receiving or generating a plurality of molecular data or molecular graphs; an operation of identifying or searching for a maximum common substructure between said plurality of molecular data or molecular graphs; and an operation of merging said plurality of molecular data or molecular graphs to share said identified maximum common substructure as a node or edge to generate a macromolecular graph or an integrated molecular graph.

[0021] Here, the operation of generating the macromolecular graph or integrated molecular graph can be performed by aligning the submatrix corresponding to the identified maximum common substructure so that it is located at the top left of the adjacency matrix of each molecular graph, and merging the aligned adjacency matrices to generate a single integrated adjacency matrix.

[0022] Additionally, the above operation may further include an operation to verify whether each atom constituting the generated macromolecular graph or integrated molecular graph satisfies the chemical atom rule.

[0023] Additionally, the above operation may further include an operation of tagging identifier information to each node of the graph where the verification is completed, to identify the original molecular data from which the node originated.

[0024] In addition, at least one of compression of a molecular database, molecular information response to a user query, or prediction of a new crystal structure can be performed using the above macromolecular graph or integrated molecular graph.

[0025] The system of one embodiment of the present invention performs molecular compression, and the operation may include: a preprocessing operation in which at least one artificial intelligence model converts each of a plurality of original molecular data into a molecular graph; an operation in which the at least one artificial intelligence model searches for the maximum common substructure between a first molecular graph and a second molecular graph among the molecular graphs; an operation in which the at least one artificial intelligence model merges the first and second molecular graphs based on the searched maximum common substructure to generate an integrated molecular graph; an operation in which the at least one artificial intelligence model verifies whether each atom constituting the integrated molecular graph satisfies the valence rule; and a molecular compression operation in which the at least one artificial intelligence model tags identifier information to identify the original molecule from which the node originated at each node of the integrated molecular graph for which the verification is completed.

[0026] Here, the preprocessing operation can convert the original molecular data, which is a string in the form of SMILES or SMARTS, into the molecular graph in the form of an adjacency matrix.

[0027] In addition, when the original molecular data is in the form of SMARTS, the molecular compression operation can compare the query attributes of the nodes or edges of the first molecular graph with the query attributes of the nodes or edges of the second molecular graph to derive a common attribute that satisfies both query attributes as the maximum common substructure.

[0028] In addition, the molecular compression operation can expand the common substructure starting from all possible pairs of nodes in the two graphs, and if expansion is not possible, return to the previous step to explore other paths.

[0029] In addition, the above molecular compression operation can be identified as having a common substructure when the original molecular data is in the form of SMILES, the node of the first graph and the node of the second graph represent the same element, and the type of chemical bond with neighboring nodes connected to each of the two nodes is the same.

[0030] In addition, the molecular compression operation can expand the common substructure starting from all possible pairs of nodes in the two graphs, and if expansion is not possible, return to the previous step to explore other paths.

[0031] Additionally, the molecular compression operation may generate the integrated molecular graph by rearranging the sub-matrix corresponding to the maximum common substructure in the adjacency matrix corresponding to each of the first and second molecular graphs, and then merging the two rearranged adjacency matrices.

[0032] In addition, the rearrangement of the above submatrix can move the rows and columns of the submatrix corresponding to the maximum common substructure to the upper left of each adjacent matrix.

[0033] In addition, verifying whether the above valence rule is satisfied can be done by calculating the sum of each row or column of the adjacency matrix corresponding to the above integrated molecular graph to determine the total number of bonds of each atom, and verifying whether the value exceeds the allowed valence for each element.

[0034] In addition, the molecular compression operation can adjust the bonds within the integrated molecular graph to satisfy the valence rule by rearranging them if an atom that does not satisfy the valence rule is found during the verification.

[0035] In addition, the molecular compression operation can rearrange the bonding positions of the non-common parts within the integrated molecular graph to satisfy the valence rule if an atom is found not to satisfy the valence rule during the verification.

[0036] In addition, the molecular compression operation may determine that merging based on the greatest common substructure is impossible if, after the rearrangement, the valence rule cannot be satisfied.

[0037] Additionally, the method may further include a search operation of receiving a query substructure from a user, searching for a matching region that matches the query substructure within the integrated molecular graph stored in memory, and calculating the intersection of identifier information tagged on the nodes constituting the searched matching region to derive an original molecular list containing the query substructure.

[0038] In a custom integrated circuit for predicting material properties according to an embodiment of the present invention, the memory comprises a functional block including a memory in which information and instructions are stored and at least one processor that requests access to said memory. The memory converts each of a plurality of original molecular data into a molecular graph, selects a first molecular graph and a second molecular graph among said molecular graphs to search for the maximum common substructure between the two graphs, merges the first molecular graph and the second molecular graph based on the searched maximum common substructure to generate a single integrated molecular graph, verifies whether each atom constituting the integrated molecular graph satisfies the valence rule, tags identifier information to identify the original molecule from which each node originated at each node of the verified integrated molecular graph, receives a query substructure input from a user, searches for a matching region within the tagged integrated molecular graph that matches the query substructure, and calculates the intersection of the identifier information tagged at the nodes constituting the searched matching region to derive and output to the user a list of original molecules including the query substructure.

[0039] In a system according to one embodiment of the present invention, the operation includes: receiving a plurality of original molecular data as strings and having at least one artificial intelligence model analyze the strings; having at least one artificial intelligence model search for the largest chemically valid structure among substrings common to two strings as the maximum common substructure; and having at least one artificial intelligence model convert each of the original molecular data into a molecular graph for a molecular compression operation, wherein the at least one artificial intelligence model may perform: an operation to generate an integrated molecular graph by merging the molecular graphs based on the searched maximum common substructure; an operation to verify whether each atom constituting the integrated molecular graph satisfies the valence rule; and an operation to tag each node of the integrated molecular graph for which the verification is completed with identifier information to identify the original molecule from which the node originated.

[0040] Here, the molecular compression operation can verify whether the analyzed common substring forms a valid chemical structure and determine the largest structure among the structures that passed the verification as the maximum common substructure.

[0041] In addition, the above preprocessing operation can convert the original molecular data into the molecular graph in the form of an adjacency matrix.

[0042] In addition, the molecular compression operation can generate the integrated molecular graph by rearranging the sub-matrix corresponding to the maximum common substructure in the adjacency matrix corresponding to each of the molecular graphs, and then merging the two rearranged adjacency matrices.

[0043] Additionally, the method may further include a search operation of receiving a query substructure from a user, searching for a matching region that matches the query substructure within the integrated molecular graph stored in memory, and calculating the intersection of identifier information tagged on the nodes constituting the searched matching region to derive an original molecular list containing the query substructure.

[0044] Meanwhile, the system according to one embodiment of the present invention performs a molecular information response, and the operation may include: a preprocessing operation in which the at least one artificial intelligence model generates an input molecular graph corresponding to molecular data input from a user computing device; a molecular search operation in which the at least one artificial intelligence model searches a database for a molecular graph having a maximum common substructure (MCS) with the input molecular graph; and a molecular compression operation in which the at least one artificial intelligence model merges the input molecular graph and the searched molecular graph based on the maximum common substructure to generate a macromolecular graph.

[0045] Here, the operation operation may further include a molecular information generation operation that generates information about the molecular graph searched in the molecular search operation.

[0046] Additionally, the molecular information generation operation may include a description generation operation that generates a natural language description for the explored molecular graph.

[0047] In addition, the above description generation operation can convert the searched molecular graph into a SMILES representation and output it.

[0048] In addition, the above description generation operation can generate the natural language description by utilizing a large-scale language model (LLM) to receive the SMILES representation of the explored molecular graph, system prompts, key functional group information, and predicted key physical property values ​​as input.

[0049] In addition, the description generation operation can utilize Search Augmented Generation (RAG) technology to search for information related to the searched molecular graph and generate the natural language description based on the search information.

[0050] In addition, the molecular information generation operation may include an image generation operation that generates a 2D molecular structure diagram based on the adjacency matrix of the searched molecular graph.

[0051] In addition, the image generation operation can highlight and display the portion corresponding to the maximum common substructure in the 2D molecular structure diagram.

[0052] In addition, the molecular information generation operation may include a property prediction operation that predicts the properties of the explored molecular graph using a graph neural network (GNN) model.

[0053] Additionally, the molecular compression operation may include: a valence verification operation that verifies whether all atoms of the merged macromolecular graph satisfy the valence rule; and an atomic tagging operation that tags original molecular identifier information to each atom of the macromolecular graph for which the verification is completed.

[0054] In addition, it may further include an AI chatbot-based conversational input / output interface that receives molecular data or natural language input from a user, transmits it to the above-mentioned computation operation, and outputs the processing result to the user.

[0055] Meanwhile, the system according to one embodiment of the present invention performs a novel crystal structure prediction, and the operation may include: a preprocessing operation in which molecular data is input from a user and at least one artificial intelligence model converts it into a molecular graph form; a molecular candidate generation operation in which at least one artificial intelligence model generates a plurality of similar molecular candidates that are structurally similar to the molecular graph converted in the preprocessing operation; a molecular compression operation in which at least one artificial intelligence model merges at least some of the generated similar molecular candidates based on a common substructure to generate a macromolecular graph; a molecular transformation operation in which at least one artificial intelligence model converts the similar molecular candidates and the macromolecular graph into a three-dimensional molecular crystal structure; a molecular structure adjustment operation in which at least one artificial intelligence model adjusts the atomic positions and lattice parameters of the molecular crystal structure to generate an energetically stabilized crystal structure; and a stability ranking operation in which at least one artificial intelligence model calculates the lattice energy of the adjusted molecular crystal structure to determine a stability ranking.

[0056] Here, the above preprocessing operation can convert molecular data input as a string in the form of SMILES into a molecular graph structure in the form of an adjacency matrix where atoms are nodes and bonds between atoms are edges.

[0057] In addition, the above molecular candidate generation operation can generate similar molecular candidates by separating the input molecular graph into scaffolds and functional groups, and substituting the functional groups with other pre-prepared chemical functional groups.

[0058] In addition, the above molecular candidate generation operation can generate multiple SMILES strings having a structure similar to the input molecular data by using a large-scale language model pre-trained with SMILES strings of molecular structures.

[0059] Additionally, the molecular compression operation may include: a common substructure search operation for searching for the maximum common substructure among a plurality of molecular graphs; an adjacency matrix merging operation for rearranging and merging the adjacency matrices of each molecular graph based on the maximum common substructure to generate an integrated adjacency matrix; an valence verification operation for verifying whether each atom of the integrated adjacency matrix satisfies a valence rule; and an atomic tagging operation for tagging each atom of the integrated adjacency matrix with an identifier indicating which original molecule it originated from.

[0060] In addition, the above atomic tagging operation can tag all of the multiple original molecule identifiers on the node when each node of the macromolecular graph exists in common with multiple original molecules.

[0061] In addition, the above molecular transformation operation can transform the molecular graph into a 3D conformer by considering the bond length, angle, and dihedral angle information of the molecular graph, and output it in an XYZ format including the 3D coordinates of each atom.

[0062] In addition, the above molecular structure adjustment operation can reduce lattice energy by repeatedly adjusting atomic positions and lattice parameters using a pre-trained machine learning interatomic potential model until the force applied to atoms within the molecular crystal structure becomes below a specific threshold.

[0063] In addition, the machine learning interatomic potential model may be a graph neural network-based Universal Model for Atoms (UMA) model that has equitransformability, capable of consistently predicting physical properties even with rotation and transformation in three-dimensional space.

[0064] In addition, the stability ranking operation described above can determine a first-order ranking in order of lower lattice energy of the adjusted molecular crystal structures.

[0065] In addition, the stability ranking operation can calculate the vibrational free energy according to temperature by calculating the phonon dispersion for the top candidate crystal structures with low lattice energy in the first ranking, calculate the Gibbs free energy by summing the vibrational free energy with the lattice energy, and then determine the final ranking in order of lowest Gibbs free energy.

[0066] A computerized molecular data processing method according to one concept of the present invention may include: a step of identifying a maximum common substructure (MCS) between a plurality of input molecular data or molecular graphs; and a step of generating a macromolecular graph or an integrated molecular graph by merging the plurality of molecular data or molecular graphs to share the identified maximum common substructure as a node or edge.

[0067] The method according to one embodiment of the present invention may include: a step of converting each of a plurality of original molecular data into a molecular graph; a step of selecting a first molecular graph and a second molecular graph among the molecular graphs to search for the maximum common substructure between the two graphs; a step of merging the first molecular graph and the second molecular graph based on the searched maximum common substructure to generate a single integrated molecular graph; a step of verifying whether each valence constituting the integrated molecular graph satisfies the valence rule; and a step of tagging identifier information to each node of the integrated molecular graph from which the verification is completed, to identify the original molecule from which each node originated.

[0068] Here, the step of generating one integrated molecular graph may include: a step of rearranging submatrices corresponding to the maximum common substructure in adjacency matrices corresponding to each of the first and second molecular graphs; and a step of merging the two rearranged adjacency matrices.

[0069] In addition, the valence rule verification step may calculate the sum of each row or column of the adjacency matrix of the integrated molecular graph to determine the total number of bonds for each atom, and check whether the value of the number of bonds exceeds the allowed valence for each element.

[0070] Additionally, the above method may further include the steps of: receiving a query substructure from a user; searching for a matching region that matches the query substructure within the tagged integrated molecular graph; and deriving an original molecular list containing the query substructure by calculating the intersection of identifier information tagged on the nodes constituting the searched matching region.

[0071] Here, the matching region search step can convert the input query substructure into a query graph and search for the matching region through the search for the maximum common substructure between the query graph and the integrated molecular graph.

[0072] Additionally, the method may include the steps of: receiving molecular data from a user computing device and converting it into an input molecular graph; searching a database for a molecular graph having a maximum common substructure (MCS) with the input molecular graph; and, if a molecular graph is found in the search step, merging the input molecular graph and the found molecular graph based on the maximum common substructure to generate a macromolecular graph.

[0073] Here, the method may further include the step of generating information about the molecular graph explored in the above-mentioned exploration step and outputting it to a user computing device.

[0074] Additionally, the output step may include the step of generating and outputting a text description for the explored molecular graph.

[0075] Additionally, the output step may include a step of converting the explored molecular graph into a SMILES representation and outputting it.

[0076] Additionally, the output step may include the step of generating and outputting a 2D molecular structure diagram based on the adjacency matrix of the explored molecular graph.

[0077] Additionally, the output step may include a step of generating and outputting a detailed description of the explored molecular graph using a large-scale language model (LLM).

[0078] Additionally, the output step may include a step of using the explored molecular graph as input to a graph neural network (GNN) model to predict the physical properties of the molecule and outputting the prediction result.

[0079] Additionally, the search step may further include, if the searched molecular graph is a macromolecular graph, a step of identifying original molecules containing the query substructure by calculating the intersection of tag information of atoms constituting the greatest common substructure.

[0080] Additionally, the step of generating the macromolecular graph may include the step of aligning the adjacency matrices of the two molecular graphs so that the submatrix corresponding to the maximum common substructure is located at the top left, and then merging the two adjacency matrices to generate an integrated adjacency matrix.

[0081] Additionally, the macromolecular graph generation step may further include a step of verifying whether each atom of the integrated adjacency matrix satisfies the valence rule.

[0082] In addition, in the verification step, if the atom cannot satisfy the rule, it may include a step of determining that merging is impossible with the corresponding maximum common substructure and outputting a result of non-merging to the user.

[0083] Additionally, the step of generating the macromolecular graph may further include the step of tagging each atom of the generated macromolecular graph with identifier information to identify the original molecule from which the atom originated.

[0084] The method according to one embodiment of the present invention may include: receiving input molecular data; generating a plurality of similar molecular candidate data similar to the input molecular data; merging at least a portion of the similar molecular candidate data based on a common substructure to generate a macromolecular graph; converting the similar molecular candidate data and the macromolecular graph into a molecular crystal structure; calculating the lattice energy of the molecular crystal structure and adjusting it into an energetically stabilized crystal structure; and further calculating the lattice energy of the adjusted molecular crystal structure to determine the stability ranking of the molecular crystal structure.

[0085] Here, the step of generating the similar molecule candidate data may generate a new molecule that is structurally similar by substituting a functional group bound to the scaffold of the input molecule data with another functional group, or generate a list of SMILES strings of new molecules that are structurally similar by inputting the SMILES representation of the input molecule data into a large-scale language model pre-trained with SMILES strings.

[0086] In addition, the step of generating the macromolecular graph can identify the largest subgraph that exists in common among multiple similar molecule candidate data using a maximum common substructure search algorithm.

[0087] Additionally, the step of generating the macromolecular graph may involve aligning the submatrix corresponding to the identified maximum common substructure so that it is positioned at the top left of each molecule's adjacency matrix, and merging the two aligned adjacency matrices into a single integrated adjacency matrix by maintaining the common parts and expanding the non-common parts.

[0088] Additionally, the step of generating the macromolecular graph may verify whether each atom of the merged integrated adjacency matrix exceeds an allowable valence, and tag each atom of the macromolecular graph that has been verified with an original molecule identifier.

[0089] In addition, the step of converting to the above molecular crystal structure can generate a 3D molecular crystal structure in the XYZ format including 3D atomic coordinates by considering chemical bond lengths, angles, etc. based on 2D molecular graph information.

[0090] In addition, the step of adjusting to the crystal structure may include the process of calculating the force and lattice energy applied to each atom within the molecular crystal structure and the process of shifting the atomic position and lattice parameters according to the calculated force, and may be repeated until the force acting on all atoms becomes below a preset threshold.

[0091] In addition, the step of adjusting to the crystal structure can calculate the lattice energy and force using a UMA model pre-trained with a large-scale molecular crystal dataset.

[0092] In addition, the step of determining the stability ranking can be performed by calculating the lattice energy of the adjusted molecular crystal structures to determine the ranking in order of lowest energy, calculating the vibrational free energy based on phonon dispersion for the top-ranked candidates with low energy, and calculating the Gibbs free energy by adding the vibrational free energy to the lattice energy to re-determine the stability ranking under actual conditions.

[0093]

[0094] According to one embodiment of the present invention, by compressing numerous molecules into a small number of macromolecules, the memory and storage space required to store and process large-scale chemical spatial data can be drastically reduced. In addition, instead of searching all molecules individually, the inclusion of multiple molecules can be determined simultaneously with a single search of the compressed macromolecules, thereby significantly improving the speed of partial structure search.

[0095] In addition, as the number of molecules within the chemical space increases, the proportion of molecules sharing a common structure rises, improving the final data compression rate; consequently, database management efficiency can be further enhanced as the data scale grows.

[0096] Furthermore, high added value can be generated by leveraging compressed macromolecular data and linking it with various cheminformatics services, such as molecular property prediction, derivation of significant substructures, and generation of novel molecules.

[0097] According to one embodiment of the present invention, an existing macromolecular graph database can be efficiently searched based on a molecular substructure input by a user, and if no search results are found, a new macromolecular graph including the corresponding substructure can be dynamically generated to expand the database. In addition, physical property prediction information, detailed descriptions, and 2D molecular structure diagrams for the searched molecules can be provided in an integrated manner.

[0098] In addition, by compressing numerous molecules into a small number of macromolecules, the memory and storage space required to store and process large-scale chemical spatial data can be drastically reduced.

[0099] In addition, instead of searching entire molecules individually, the inclusion of multiple molecules can be determined simultaneously with a single search of the compressed macromolecule, which can significantly improve the speed of partial structure search.

[0100] Furthermore, high added value can be generated by leveraging compressed macromolecular data and linking it with various cheminformatics services, such as molecular property prediction, derivation of significant substructures, and generation of novel molecules.

[0101] According to one embodiment of the present invention, compared to the conventional method of removing duplicate structures, a new molecular structure can be generated by recombining and utilizing stable structural information possessed by generated candidate molecules, and crystal structures having larger unit cells can be systematically explored by merging molecules based on the maximum common substructure.

[0102] In addition, by including an valence rule verification step during molecular merging, the newly generated candidate structures are guaranteed to be chemically valid and physically sound, thereby reducing meaningless searches and maximizing computational efficiency.

[0103] In addition, since the search is conducted based on substructures with verified stability, stable polymorphs can be discovered more quickly and efficiently with lower computational costs.

[0104] FIG. 1 is a schematic diagram of an electronic device according to one embodiment of the present invention.

[0105] FIG. 2 is a schematic diagram of a molecular data compression system of the first embodiment of the present invention.

[0106] Figure 3 is a schematic diagram showing the state in which the maximum common substructure (MCS) is identified in the adjacency matrix of two molecules being merged.

[0107] Figure 4 is a schematic diagram showing an adjacency matrix aligned based on the maximum common substructure.

[0108] Figure 5 is a schematic diagram illustrating the process of merging two adjacency matrices to generate an adjacency matrix of a new macromolecule.

[0109] Figure 6 is a schematic diagram illustrating the process of rearranging merged adjacency matrices to satisfy the valence rule.

[0110] Figure 7 is a schematic diagram illustrating the structure of a macromolecule composed of two molecules that have been merged and the state in which origin molecule identification information is tagged on each atom of the macromolecule.

[0111] FIG. 8 is a schematic diagram of a chemical space composed of nine molecules compressed into a single macromolecule by applying the first embodiment of the present invention.

[0112] FIG. 9 is a schematic diagram of a molecular data compression method according to a first embodiment of the present invention.

[0113] FIG. 10 is a schematic diagram of a molecular compression search service system utilizing a molecular data compression system according to a second embodiment of the present invention.

[0114] FIG. 11 is a schematic diagram of a molecular information response system of the fourth embodiment of the present invention.

[0115] FIG. 12 is a schematic diagram of a molecular information response method according to a fourth embodiment of the present invention.

[0116] FIG. 13 is a schematic diagram showing information about an input molecule and a molecule having an MCS according to a fourth embodiment of the present invention.

[0117] FIG. 14 is a schematic diagram of a novel crystal structure prediction system of the fifth embodiment of the present invention.

[0118] FIG. 15 is a schematic diagram of a novel crystal structure prediction method according to the fifth embodiment of the present invention.

[0119] Figure 16 is for an exemplary on-premises full-stack structure.

[0120]

[0121] To clarify the technical concept of the present disclosure, embodiments of the present invention will be described in detail with reference to the attached drawings. In describing the present disclosure, detailed descriptions of related known functions or components will be omitted if it is determined that such detailed descriptions would unnecessarily obscure the essence of the present disclosure. Components having substantially the same functional configuration in the drawings have been assigned the same reference numerals and symbols as much as possible, even if they are shown in different drawings. For convenience of explanation, devices and methods are described together where necessary. Each operation of the present disclosure does not necessarily have to be performed in the order described, but may be performed in parallel, selectively, or individually.

[0122] The terms used in the embodiments of this disclosure have been selected to be as widely used and general as possible, taking into account the functions of this disclosure; however, these terms may vary depending on the intent of those skilled in the art, case law, the emergence of new technologies, etc. Additionally, in specific cases, terms have been selected at the applicant's discretion, and in such cases, their meanings will be described in detail in the description of the relevant embodiments. Therefore, terms used in this specification should be defined not merely by their names, but based on their meanings and the overall content of this disclosure.

[0123] Throughout this disclosure, singular expressions may include plural expressions unless the context clearly indicates otherwise. Terms such as “comprising” or “having” are intended to specify the presence of features, numbers, steps, actions, components, parts, or combinations thereof, and should be understood as not precluding the existence or addition of one or more other features, numbers, steps, actions, components, parts, or combinations thereof. That is, throughout this disclosure, when a part is described as “comprising” a certain component, it means that, unless specifically stated otherwise, it does not exclude other components but may include additional components.

[0124] Expressions such as "at least one" modify the entire list of components and do not modify the components of the list individually. For example, "at least one of A, B, and C" and "at least one of A, B, or C" refer to only A, only B, only C, both A and B, both B and C, both A and C, all of A, B, and C, or any combination thereof.

[0125] Additionally, terms such as “...part,” “...module,” etc., as described in this disclosure refer to a unit that processes at least one function or operation, and may be implemented in hardware or software, or a combination of hardware and software.

[0126] Throughout the entire disclosure, when a part is described as being “connected” to another part, this includes not only cases where they are “directly connected” but also cases where they are “electrically connected” with other elements interposed between them. Furthermore, when a part is described as “comprising” a certain component, this means that, unless specifically stated otherwise, it does not exclude other components but may include additional components.

[0127] As used throughout this disclosure, the expression “configured to” may be replaced, depending on the context, with, for example, “suitable for,” “having the capacity to,” “designed to,” “adapted to,” “made to,” or “capable of.” The term “configured to” may not necessarily mean only “specifically designed to” in hardware. Instead, in some situations, the expression “system configured to” may mean that the system is “capable of” together with other devices or components. For example, the phrase “a processor configured (or set) to perform A, B, and C” may mean a dedicated processor for performing said operations (e.g., an embedded processor), or a generic-purpose processor (e.g., a CPU or an application processor) capable of performing said operations by executing one or more software programs stored in memory.

[0128] Artificial intelligence (AI) is a field of computer science and information technology that studies methods to enable computers to perform thinking, learning, and self-development—tasks achievable by human intelligence—and refers to the ability of computers to mimic intelligent human behavior. Furthermore, AI does not exist in isolation but is closely related, directly or indirectly, to many other fields of computer science. Particularly in the modern era, there are very active attempts to introduce AI elements into various sectors of information technology and utilize them to solve problems within those fields.

[0129] Machine learning is a field of artificial intelligence that enables computers to learn without explicit programming. Specifically, machine learning can be defined as a technology that studies and builds systems and algorithms capable of learning, making predictions, and improving performance based on empirical data. Rather than executing strictly defined static program commands, machine learning algorithms adopt an approach of constructing specific models to derive predictions or decisions based on input data.

[0130] Many machine learning algorithms have been developed to address how to classify data in machine learning. Representative examples include Decision Trees, Bayesian Networks, Support Vector Machines (SVMs), and Artificial Neural Networks (ANNs). A Decision Tree is an analytical method that performs classification and prediction by plotting decision rules in a tree structure. A Bayesian Network is a model that represents the probabilistic relationships (conditional independence) between multiple variables in a graph structure. Bayesian Networks are suitable for data mining through unsupervised learning. Support Vector Machines are supervised learning models for pattern recognition and data analysis, primarily used for classification and regression analysis. Artificial Neural Networks model the operating principles of biological neurons and the relationships between them; they are information processing systems in which multiple neurons, referred to as nodes or processing elements, are connected in a layered structure.

[0131] Artificial neural networks are models used in machine learning, serving as statistical learning algorithms in machine learning and cognitive science that draw inspiration from biological neural networks (particularly the brain within the animal central nervous system). Specifically, an artificial neural network can refer to a model in which artificial neurons (nodes), forming a network through the connection of synapses, change the strength of these connections through learning to possess problem-solving capabilities.

[0132] An artificial neural network may include multiple layers, and each layer may include multiple neurons. Additionally, an artificial neural network may include synapses connecting neurons. An artificial neural network can generally be defined by the following three factors: ㉠ connection patterns between neurons of different layers, ㉡ a learning process that updates the weights of the connections, and ㉢ an activation function that generates an output value from a weighted sum of inputs received from the previous layer.

[0133] Artificial neural networks may include, but are not limited to, network models such as DNN (Deep Neural Network), RNN (Recurrent Neural Network), BRDNN (Bidirectional Recurrent Deep Neural Network), MLP (Multilayer Perceptron), and CNN (Convolutional Neural Network).

[0134] Artificial neural networks are classified into single-layer neural networks and multi-layer neural networks depending on the number of layers. A typical single-layer neural network consists of an input layer and an output layer. Additionally, a typical multi-layer neural network consists of an input layer, one or more hidden layers, and an output layer.

[0135] The input layer is a layer that receives external data, and the number of neurons in the input layer is equal to the number of input variables. The hidden layer is located between the input layer and the output layer, receives signals from the input layer, extracts features, and transmits them to the output layer. The output layer receives signals from the hidden layer and outputs an output value based on the received signals. Input signals between neurons are multiplied by their respective connection strengths (weights) and then summed; if this sum is greater than the neuron's threshold, the neuron is activated and outputs the value obtained through the activation function.

[0136] Meanwhile, a deep neural network including multiple hidden layers between the input layer and the output layer can be a representative artificial neural network that implements deep learning, a type of machine learning technology.

[0137] The machine learning workflow consists of a series of processes involving collecting data for learning and validation, modeling, and training the model, and may include the processes of collecting training data, checking and exploring data, data preprocessing and cleaning, modeling, and training.

[0138] 1. Collect Training Data

[0139] Training data applied to the training of the learning model of this specification may be generated using data collected from a plurality of samples. In this specification, at least one different type of training data set may be used to train the learning model, and each training data may further include one or more experimental results used as feature labels. At least a portion of the training data set may be used to train the learning model, and another portion may be used to validate the learned learning model.

[0140] The data used in the graph model of one embodiment of the present invention may have the SMILES (Simplified Molecular-Input Line-Entry System) format, which is commonly used to represent the chemical formula of a molecule as a string. SMILES is a notation that expresses molecular structures in the form of strings, enabling the application of molecular structures to various machine learning and deep learning algorithms. Generally, SMILES can consist of atoms, bonds, rings, aromaticity, and branches. In SMILES notation, each atom is represented by its corresponding element symbol. For example, carbon can be represented as C, nitrogen as N, oxygen as O, and chlorine as Cl, while the hydrogen atom H can be omitted. Bonds are represented by eight symbols: ".", "-", "=", "#", "$", ":", " / ", and " / ". For example, a double bond can be represented as "=", a triple bond as "#", and a quadruple bond as "$". A ring is represented in a molecular structure by breaking a bond at any arbitrary point and numbering the two atoms at that broken point. Aromaticity refers to carbon compounds containing aromatic rings that form a stable structure by bonding in a planar ring shape; these aromatic rings are represented in the same way as the aforementioned rings, but the B, C, N, O, P, and S atoms contained within them are written in lowercase. Molecular branches are indicated by parentheses. The first atom inside the parentheses and the first atom after the parentheses end can be connected to the same atom. Ambiguity can arise because the same molecular structure can have SMILES representations written in different ways. Tools such as the RDKit library can be utilized to resolve this ambiguity.By removing duplicate compounds and unclear structural forms from the collected dataset, a dataset for the final graphing of molecules can be obtained. This dataset of SMILES representation can be represented as an adjacency matrix or an adjacency list so as to be expressed in a graph format represented by nodes and edges. The adjacency matrix and the adjacency list represent the connectivity relationships of the graph as a two-dimensional array and a list, respectively.

[0141] Data used for text embedding in one embodiment of the present invention may include a text description of a crystal structure. In one embodiment, the text description data may be obtained through a Robocrystallographer package that generates a text description similar to the way an actual crystallographer analyzes a structure. When generating a text description of a crystal structure, the Robocrystallographer package indicates symmetry, local environment, and extended connectivity, and this package may include utilities for identifying molecule names, component orientation, heterostructure information, etc. For example, in one embodiment, the Robocrystallographer used can output text such as "SnO2 is rutile structured and crystallizes in the tetragonal P4_2 / mnm space group. The structure is three-dimensional. Sn(1) is bonded to six equivalent O(1) atoms to form a mixture of edge and corner-sharing SnO6 octahedra. The corner-sharing octahedral tilt angles are 51°. All Sn(1)-O(1) bond lengths are 2.09Å. O(1) is bonded in a trigonal planar geometry to three equivalent Sn(1) atoms." when SnO2 is given as input.These text descriptions may include extensive information, including global characteristics (e.g., space groups and crystal types), local details (e.g., bond lengths and coordination environments), and semi-global characteristics (e.g., connectivity and structural arrangements).

[0142] 2. Data Inspection and Exploration

[0143] Once training data for training a learning model is collected, the collected training data can be examined and explored regarding its structure, noise data, and data cleaning methods for machine learning applications.

[0144] This stage of data inspection and exploration is called Exploratory Data Analysis (EDA), which can be described as the process of observing and understanding collected data from various angles. Before training the data, independent variables, dependent variables, variable types, and data types are examined using visualizations such as graphs and statistical tests, allowing the characteristics of the data and inherent structural relationships to be identified in advance. Through this EDA, examining the distribution and values ​​of the data enables a better understanding of the phenomena represented by the data and the discovery of potential problems. Furthermore, by examining the data from various angles, diverse patterns that might not have been identified during the problem definition stage can be discovered, allowing for the modification of existing hypotheses or the formulation of new ones. Exploratory data analysis can broadly encompass the process of searching for data outliers and analyzing the relationships between data attributes.

[0145] The process of detecting outliers involves verifying whether the data contains them and can include sampling, statistical, and visualization methods. Sampling methods involve drawing random samples from the data to identify overall trends and anomalies in the data values. Statistical methods may utilize summary statistics, such as the mean, median, and mode to identify the center of the data, or range and variance to check the dispersion. Visualization methods utilize probability density functions, histograms, dot plots, word clouds, time series charts, and maps to determine which statistical indicators are appropriate for the individual attributes of the collected data. However, when using statistical indicators, caution should be exercised regarding the use of statistical indicators: while the mean reflects all data values ​​within a set and is therefore affected by outliers, the median uses only the single value in the middle, allowing for representative results even in the presence of outliers.

[0146] The process of analyzing relationships between data attributes involves identifying combinations of attributes within the data that possess meaningful correlations. Relationship analysis can be conducted differently depending on the combination of attributes between qualitative attributes (Categorical Variables; Qualitative), which cannot be expressed numerically but can be arbitrarily quantified, and quantitative attributes (Numeric Variables; Quantitative), which can be quantified. Categorical-categorical relationships can display the number of values ​​corresponding to each pair of attribute values ​​using cross-tabulation tables or mosaic plots; Numeric-categorical relationships can be visually represented by observing statistical values ​​by category (mean, median, etc.) or through box plots; and Numeric-numeric relationships can analyze the association between two attributes using correlation coefficients. It can be confirmed that a correlation coefficient of -1 indicates a negative correlation where the two attributes change in opposite directions, 0 indicates no correlation, and 1 indicates a positive correlation where the two attributes always change in the same direction. The relationship between two attributes with a correlation coefficient can also exhibit various aspects, which can be visually represented using a scatter plot.

[0147] 3. Data Preprocessing and Cleansing

[0148] Data that has completed inspection and exploration undergoes data preprocessing to transform it into a format suitable for machine learning training models. Data preprocessing involves cleaning the data and converting it into a form that the model can understand; it generally includes handling missing data, outlier removal, data scaling, categorical data encoding, feature selection and extraction, and data transformation. The detailed processes of data preprocessing may be performed in whole or in part selectively, and a separate machine learning model may be used for this purpose.

[0149] Handling Missing Data is the process of handling missing values ​​when they exist in the data; these values ​​can be displayed as NaN (Not a Number) or empty, or deleted. Filling in or deleting missing values ​​improves data completeness, and values ​​such as the mean, median, or mode may be used when filling in missing values.

[0150] Outlier removal is the process of eliminating outliers, which are values ​​that deviate from typical data patterns. Since outliers can degrade model performance, they must be removed or replaced; this involves identifying outliers and deleting the corresponding rows or columns or replacing them with other values.

[0151] Data scaling is the process of adjusting the size of data; through data scaling, the range of the data is adjusted, which can improve model performance or accelerate convergence. Data scaling allows data characteristics to be aligned within a similar range, and generally, standardization and normalization can be applied. Standardization is a method of transforming data into a distribution with a mean of 0 and a standard deviation of 1; it is primarily performed using the mean and standard deviation, and the standardized value z is It can be denoted as (where x is the original value, μ is the mean, and σ is the standard deviation). Normalization is a method of transforming the range of data to [0,1] or [-1,1], primarily using minimum and maximum values ​​to transform the data, and the normalized value x norm silver It can be expressed as (x is the original value, x min is the minimum value, x max is the maximum value).

[0152] Categorical Data Encoding is the process of converting categorical variables, which are represented as string or integer values ​​and cannot be directly input into a model, into a numeric type that can be input. Generally, one-hot encoding or label encoding can be used to convert categorical variables into numeric types.

[0153] Feature selection and extraction is intended to improve the performance of a model by selecting the most useful features for model training or extracting new features. Through this process, the complexity of the model can be reduced and overfitting can be prevented.

[0154] Data transformation involves converting data to extract new information or enable a model to understand it better, and may include the tokenization of text data or the preprocessing of image data. Through data transformation, model performance can be improved by extracting useful features from original data or converting data into an appropriate format.

[0155] Through data preprocessing as described above, it is possible to achieve the effects of improving the performance and ensuring the stability of machine learning models.

[0156] Meanwhile, when training a learning model according to one embodiment of the present invention, a process of preprocessing information written in natural language and a process of training a large-scale language model based on the preprocessed data may be performed.

[0157] 3-1. Text Preprocessing for Large-Scale Language Models

[0158] If the collected data has not been preprocessed according to the requirements, tokenization, cleaning, and normalization can be performed to suit the intended use of the data.

[0159] Tokenization refers to the process of dividing given data into units called tokens, and these token units can generally be defined as meaningful units. Tokenization can broadly include word tokenization and sentence tokenization.

[0160] Tokenization refers to the process of dividing given data into units called tokens, and these token units can generally be defined as meaningful units. Tokenization can broadly include word tokenization and sentence tokenization.

[0161] Word tokenization refers to the case where the standard for tokens is a word; here, a word can include not only individual words but also phrases or meaningful strings. Word tokenization means separating words based on spaces or punctuation marks, such as periods, commas, question marks, semicolons, and exclamation marks. However, since removing all punctuation or special characters during the tokenization process can cause tokens to lose their meaning, precise algorithms may be required. For instance, if a word itself contains punctuation or uses special characters with meaning, simply removing them may not be sufficient. Therefore, tokenization rules such as Penn Treebank Tokenization rules may be applied during the process.

[0162] Sentence tokenization refers to the process of dividing text into sentence units. Typically, if data is unrefined, the corpus is not organized into sentences, so sentence tokenization may be necessary to suit the intended use. Various rules for this sentence tokenization can be defined depending on the language used and how special characters are utilized within the corpus.

[0163] The process of classifying tokens according to their purpose is called tokenization, and before and after tokenization, text data undergoes cleaning and normalization tailored to its intended use. Cleaning involves removing noise data, while normalization involves consolidating words with different representations into a single word.

[0164] Cleansing is sometimes performed prior to tokenization to exclude elements that interfere with the process, but it can also be repeatedly conducted after tokenization to remove noise that remains. The noise data removed during cleansing consists of meaningless characters; methods for eliminating unnecessary words include stopword removal, as well as removing infrequent and short words.

[0165] Normalization tasks include the consolidation of words with different spellings and case consolidation based on rules. Case consolidation is a normalization method that can reduce the number of words in English-speaking languages; since uppercase letters are used only in specific situations, such as at the beginning of a sentence, and most text is written in lowercase, case consolidation can mostly be accomplished through the conversion of uppercase letters to lowercase.

[0166] To process natural language in computing systems, a preprocessing step of converting text into numerical values ​​is required; for this purpose, each word in the text is mapped to a unique integer. This mapping process can utilize techniques such as integer encoding, padding, and one-hot encoding.

[0167] Integer encoding is a method of assigning integers to words. It involves creating a vocabulary sorted by frequency and assigning integers sequentially from lowest to highest frequency. Integer encoding performs sentence tokenization on text data containing multiple sentences, and simultaneously conducts word tokenization through cleaning and normalization processes. During this process, words are converted to lowercase to standardize the word count, and words can be removed based on stop words or word length. Through this, words can be recorded as keys and their frequencies as values. Integer encoding is performed by sorting words within the text in order of frequency and assigning integers to the words with the highest frequencies.

[0168] Padding is a process used to arbitrarily equalize the lengths of sentences of different lengths within a text. Computing systems can perform parallel operations by grouping sentences of equal length into a single matrix. In other words, to perform parallel operations, the lengths of sentences can be equalized by arbitrarily filling the integer encoding results of sentences of different lengths within the text with '0's. That is, the longest sentence is identified from the set of integer-encoded words, and "0"s can be added to the integer matrix corresponding to the length of that longest sentence. The computing system can proceed with parallel processing by recognizing sentences of equal length as a single matrix, and in this process, the "0" words, which are perceived as meaningless, can be ignored. Adjusting the size (shape) of data by filling it with specific values ​​in this manner is called padding, and when the number "0" is used to adjust length, it is referred to as zero padding.

[0169] One-hot encoding is a vector representation method in which the size of the word set is used as the dimension of the vector, and a value of 1 is assigned to the index of the word to be represented and 0 to other indices; the vector represented in this way is called a one-hot vector. One-hot encoding consists of integer encoding and index assignment processes. After integer encoding is performed to assign a unique integer to each word, the unique integer of the word to be represented is considered as the index, and a "1" is assigned to that position, while a "0" is assigned to the index positions of other words. However, one-hot encoding has the disadvantage that the required space for storing vectors increases (increase in vector dimension) as the number of words increases, and it is impossible to verify similarity between words. To address these drawbacks, techniques that vectorize in a multi-dimensional space by reflecting the latent meaning of words are available. These include count-based vectorization methods such as LSA (Latent Semantic Analysis); prediction-based vectorization methods such as NNLM, RNNLM, Word2Vec, and FastText; and the GloVe method, which uses both count-based and prediction-based approaches.

[0170] Meanwhile, in order for a computer to understand and process text, it must be appropriately converted into numbers. Since the performance of natural language processing varies significantly depending on how words are represented, many techniques have been proposed to quantify words. Currently, word embedding, which vectorizes each word through artificial neural network learning, is the most widely used method.

[0171] Word embedding is a method of representing words as vectors, converting words into dense representations. The result derived through the word embedding process is called a dense vector or embedding vector. Word embedding methodologies such as LSA, Word2Vec, FastText, and Glove have been proposed.

[0172] 4. Modeling and Training

[0173] Artificial neural networks can be trained using training data. Here, training refers to the process of determining the parameters of an artificial neural network using training data to achieve objectives such as classifying, regressing, or clustering input data. Typical examples of artificial neural network parameters include weights assigned to synapses or biases applied to neurons.

[0174] An artificial neural network trained on training data can classify or cluster input data according to the patterns of the input data. Meanwhile, an artificial neural network trained using training data may be referred to as a trained model in this specification.

[0175] The following explains the learning methods of artificial neural networks. The learning methods of artificial neural networks can be broadly classified into supervised learning, unsupervised learning, semi-supervised learning, and reinforcement learning.

[0176] Supervised learning is a method of machine learning designed to infer a function from training data. Among these inferred functions, those that output continuous values ​​are called regression, while those that predict and output the class of an input vector are called classification.

[0177] In supervised learning, an artificial neural network is trained with labels for the training data. Here, a label refers to the correct answer (or result value) that the artificial neural network must infer when training data is input into the artificial neural network. In this specification, the correct answer (or result value) that the artificial neural network must infer when training data is input is referred to as a label or labeling data. Furthermore, in this specification, setting labels for the training data to train the artificial neural network is referred to as labeling the training data. In this case, the training data and the corresponding labels constitute a single training set, and can be input to the artificial neural network in the form of a training set.

[0178] Meanwhile, training data represents multiple features, and labeling the training data implies that labels are attached to the features represented by the training data. In this case, the training data can represent the features of the input object in the form of a vector. An artificial neural network can infer a function regarding the association between the training data and the labeled data by utilizing the training data and the labeled data. Furthermore, the parameters of the artificial neural network can be determined (optimized) through the evaluation of the function inferred by the network.

[0179] Unsupervised learning is a type of machine learning in which no labels are provided for the training data. Specifically, unsupervised learning may be a learning method in which an artificial neural network is trained to find and classify patterns within the training data itself, rather than the relationship between the training data and the corresponding labels. Examples of unsupervised learning include clustering or Independent Component Analysis. In this specification, the term 'clustering' may be used interchangeably with the term 'clustering'.

[0180] Examples of artificial neural networks that utilize unsupervised learning include Generative Adversarial Networks (GANs) and Autoencoders (AEs).

[0181] Generative Adversarial Networks (GANs) are machine learning methods in which two distinct artificial intelligence models—a generator and a discriminator—compete to improve performance. In this context, the generator is a model that creates new data, capable of generating new data based on original data. The discriminator, on the other hand, is a model that recognizes data patterns, performing the role of distinguishing whether input data is original data or new data generated by the generator. Furthermore, the generator learns by receiving input data that failed to deceive the discriminator, while the discriminator learns by receiving input data that was deceived by the generator. Consequently, the generator can evolve to deceive the discriminator as effectively as possible, and the discriminator can evolve to better distinguish between original data and data generated by the generator.

[0182] An autoencoder is a neural network that aims to reproduce the input itself as an output. An autoencoder includes an input layer, at least one hidden layer, and an output layer. In this case, since the number of nodes in the hidden layer is less than the number of nodes in the input layer, the dimensionality of the data is reduced, and accordingly, compression or encoding is performed. Additionally, the data output from the hidden layer enters the output layer. In this case, since the number of nodes in the output layer is greater than the number of nodes in the hidden layer, the dimensionality of the data is increased, and accordingly, decompression or decoding is performed.

[0183] Meanwhile, an autoencoder represents input data as hidden layer data by adjusting the connection strengths of neurons through learning. In the hidden layer, information is represented with fewer neurons than in the input layer, and the fact that input data can be reproduced as output implies that the hidden layer has discovered and represented hidden patterns from the input data.

[0184] Semi-supervised learning is a type of machine learning that refers to a learning method utilizing both labeled and unlabeled training data. One technique within semi-supervised learning involves inferring labels from unlabeled training data and then performing learning using those inferred labels; this method can be particularly useful when the cost of labeling is high.

[0185] Reinforcement learning is a theory that states that if an agent is provided with an environment where it can determine the best action to take at every moment, it can find the optimal path through experience alone, without relying on data. Reinforcement learning is primarily executed via a Markov Decision Process (MDP). To explain the MDP, first, an environment is provided containing the information necessary for the agent to take its next action; second, the agent's behavior within that environment is defined; third, rewards are determined for success and penalties for failure; and fourth, the optimal policy is derived through repeated experience until future rewards reach their peak.

[0186] The structure of an artificial neural network is determined by the configuration of the model, activation function, loss function or cost function, learning algorithm, optimization algorithm, etc., and hyperparameters are set in advance before learning, and model parameters are set through learning thereafter, so the content can be determined.

[0187] For example, factors determining the structure of an artificial neural network may include the number of hidden layers, the number of hidden nodes included in each hidden layer, the input feature vector, the target feature vector, etc.

[0188] Hyperparameters include various parameters that must be initially set for training, such as the initial values ​​of model parameters. Model parameters, on the other hand, include various parameters intended to be determined through training. For example, hyperparameters may include initial values ​​for inter-node weights, initial values ​​for inter-node bias, mini-batch size, number of training iterations, and learning rate. Model parameters may include inter-node weights and inter-node bias.

[0189] A loss function can be used as an indicator (criterion) to determine optimal model parameters during the learning process of an artificial neural network. In an artificial neural network, learning refers to the process of manipulating model parameters to reduce the loss function, and the objective of learning can be viewed as determining model parameters that minimize the loss function. The loss function can primarily be the Mean Squared Error (MSE) or the Cross Entropy Error (CEE), but the present invention is not limited thereto. The Cross Entropy Error can be used when the correct label is one-hot encoded. One-hot encoding is an encoding method in which the correct label value is set to 1 only for neurons corresponding to the correct answer, and the correct label value is set to 0 for neurons that are not the correct answer.

[0190] In machine learning or deep learning, learning optimization algorithms can be used to minimize the loss function, and learning optimization algorithms include Gradient Descent (GD), Stochastic Gradient Descent (SGD), Momentum, Nesterov Accelerate Gradient (NAG), Adagrad, AdaDelta, RMSProp, Adam, Nadam, etc.

[0191] Gradient Descent is a technique that adjusts model parameters in a direction that reduces the loss function value by considering the gradient of the loss function from the current state. The direction in which model parameters are adjusted is called the step direction, and the magnitude of the adjustment is called the step size. In this context, the step size can refer to the learning rate. Gradient Descent obtains the gradient by taking the partial derivative of the loss function with respect to each model parameter, and updates the model parameters by changing them in the direction of the obtained gradient by the learning rate.

[0192] Stochastic Gradient Descent is a technique that divides training data into mini-batches and performs gradient descent on each mini-batch to increase the frequency of gradient descent.

[0193] Adagrad, AdaDelta, and RMSProp are techniques that improve optimization accuracy in SGD by adjusting the step size. In SGD, Momentum and NAG are techniques that improve optimization accuracy by adjusting the step direction. Adam is a technique that improves optimization accuracy by combining Momentum and RMSProp to adjust both the step size and the step direction. Nadam is a technique that improves optimization accuracy by combining NAG and RMSProp to adjust both the step size and the step direction.

[0194] The learning speed and accuracy of artificial neural networks are characterized by being heavily dependent on hyperparameters, as well as the network structure and the type of learning optimization algorithm. Therefore, to obtain a good learning model, it is important to set appropriate hyperparameters in addition to determining a suitable network structure and learning algorithm.

[0195] Typically, hyperparameters are experimentally set to various values ​​while training the artificial neural network, and then set to the optimal value that provides stable training speed and accuracy based on the training results.

[0196] FIG. 1 is a schematic diagram of an electronic device according to one embodiment of the present invention, FIG. 2 is a schematic diagram of a molecular data compression system according to the first embodiment of the present invention, FIG. 3 is a schematic diagram showing a state in which a maximum common substructure (MCS) is identified in the adjacency matrix of two molecules being merged, FIG. 4 is a schematic diagram showing an adjacency matrix aligned based on the maximum common substructure, and FIG. 5 is a schematic diagram for explaining the process of merging two adjacency matrices to generate an adjacency matrix of a new macromolecule. FIG. 6 is a schematic diagram illustrating the process of rearranging a merged adjacency matrix to satisfy the valence rule, FIG. 7 is a schematic diagram illustrating the structure of a macromolecule composed of two molecules after the merger is completed and the state in which originating molecule identification information is tagged on each atom of the macromolecule, FIG. 8 is a schematic diagram illustrating the compression of a chemical space composed of nine molecules into a single macromolecule by applying the first embodiment of the present invention, FIG. 9 is a schematic diagram of a molecular data compression method according to the first embodiment of the present invention, and FIG. 10 is a schematic diagram of a molecular compression search service system utilizing a molecular data compression system according to the second embodiment of the present invention. FIG. 11 is a schematic diagram of a molecular information response system according to the fourth embodiment of the present invention, FIG. 12 is a schematic diagram of a molecular information response method according to the fourth embodiment of the present invention, FIG. 13 is a schematic diagram showing information about an input molecule and a molecule having an MCS according to the fourth embodiment of the present invention, FIG. 14 is a schematic diagram of a novel crystal structure prediction system according to the fifth embodiment of the present invention, FIG. 15 is a schematic diagram of a novel crystal structure prediction method according to the fifth embodiment of the present invention, and FIG. 16 is for an exemplary on-premise full-stack structure.

[0197] As illustrated in FIG. 1, an electronic device (100) according to embodiments of the present invention may include a processor (110), memory (120), a communication unit (130), and an input / output unit (140). The electronic device (100) is a basic configuration for performing a computing environment, and the electronic device (100) may be implemented with some other components additionally or substantially in other embodiments, implemented as a single or multiple entity, or implemented as only some of the disclosed configurations. Internal or external components of the electronic device (100), or at least some of the components, may transmit or receive data or signals by being connected to each other through a BUS, GPIO (General Purpose Input / Output), SPI (Serial Peripheral Interface), or MIPI (Mobile Industry Processor Interface), etc.

[0198] The processor (110) may mean a set of one or more processors unless the context clearly indicates otherwise, and can control components of the processor (110) and the electronic device (100) by running software (e.g., instructions, programs, etc.) stored in memory (120). Additionally, the processor (110) can perform various operations such as computation, processing, data generation or processing, and can read data from memory (120) or store it in memory (120). The processor (110) may be composed of at least one core and may include a processor for data analysis, machine learning (ML), or deep learning (DL), such as a Central Processing Unit (CPU), a General Purpose Graphics Processing Unit (GPGPU), or a Tensor Processing Unit (TPU). The processor (110) can read software stored in memory (120) and perform data processing for machine learning (or deep learning) according to the present invention. According to one embodiment of the present disclosure, the processor (110) can perform operations for training a neural network. The processor (110) can perform operations for training a neural network, such as processing input data for training in deep learning, extracting features from input data, calculating errors, and updating the weights of the neural network using backpropagation. At least one of the CPU, GPGPU, and TPU of the processor (110) can process the training of the neural network model. For example, the CPU and GPU can together process the training of the neural network model and data classification using the neural network model. In addition, in one embodiment of the present disclosure, at least one processor (110) of the electronic device (100) can be used together to process the training of the neural network model and data classification using the neural network model.

[0199] Memory (120) is intended to store various data, and the data may include software (e.g., instructions, programs, etc.) which is acquired, processed, or used by at least one component of the electronic device (100). Unless otherwise clearly expressed in the context, memory (120) may mean a set of one or more memories and may include at least one type of storage medium among flash memory type, hard disk type, multimedia card micro type, card type memory (e.g., SD or XD memory, etc.), RAM, SRAM (Static Random Access Memory), ROM, EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory), magnetic memory, magnetic disk, optical disk, and web storage that performs storage functions on the internet. The instruction, program, or software stored in the memory (120) may be used to refer to an operating system, an application, or middleware that provides various functions to an application to enable the application to utilize the components of the electronic device (100) for controlling the components of the electronic device (100). In one embodiment, when the processor (110) performs a specific operation, the memory (120) may store instructions that are performed by the processor (110) and correspond to the specific operation.

[0200] The communication unit (130) performs wireless or wired communication between the electronic device (100) and another device (e.g., a user terminal or another server), and the communication unit (130) may use wireless communication systems according to methods such as eMBB, URLLC, MMTC, LTE, LTE-A, NR, UMTS, GSM, CDMA, WCDMA, TDMA, FDMA, OFDMA, SCFDMA, WiBro, WiFi, Bluetooth, NFC, GPS, or GNSS. In addition, the communication unit (130) can use various wired communication systems such as USB, HDMI, RS-232 (Recommended Standard-232), POTS (Plain Old Telephone Service), Public Switched Telephone Network (PSTN), xDSL (x Digital Subscriber Line), RADSL (Rate Adaptive DSL), MDSL (Multi Rate DSL), VDSL (Very High Speed ​​DSL), UADSL (Universal Asymmetric DSL), HDSL (High Bit Rate DSL), and Local Area Network (LAN). In one embodiment of the present invention, the communication unit (130) can be configured regardless of the mode of communication, such as wired or wireless, and can be configured with various communication networks such as a Personal Area Network (PAN) and a Wide Area Network (WAN). In addition, the communication network may be the known World Wide Web (WWW), and may also utilize wireless transmission technologies used for short-range communication, such as Infrared Data Association (IrDA) or Bluetooth.

[0201] An electronic device (100) of one embodiment of the present invention may further include an input / output unit (140). The input / output unit (140) may be configured to be divided into an input unit and an output unit, but alternatively, the input / output unit (140) may have an integrated configuration. The input unit may be configured in various ways as a means of data input. For example, the input unit may be configured to receive user input. The input unit may be configured to receive user input from a user terminal. Here, "receiving input" may mean receiving an input signal (or selection signal) corresponding to the user's input based on input made by the user through the input unit configuration provided in the user terminal. The input unit may also be named a user interface module. The input unit may include a touch screen, a computer mouse, a keyboard, a keypad, a touchpad, a trackball, a joystick, a voice recognition module, or other similar devices. However, the present invention does not limit the type of input unit. Furthermore, in the present invention, the input unit does not necessarily refer to a hardware means, but can be understood as a channel (AI chatbot, prompt) for receiving input from a user. Here, user input may include documents, text, images (or videos), etc. Next, the output unit may output information through an output unit configuration (e.g., a display unit, a touch screen, etc.) provided in a user terminal or computing device. The output unit does not necessarily refer to a hardware means, but can be understood as a channel for outputting results to the user.

[0202] An electronic device (100) according to an embodiment of the present invention may execute software that configures a molecular data compression system or a molecular data compression method. Additionally, an electronic device (100) according to an embodiment of the present invention may execute software that configures a molecular information response system or a molecular information response method. Additionally, an electronic device (100) according to an embodiment of the present invention may execute software that configures a novel crystal structure prediction system or a novel crystal structure prediction method.

[0203] As illustrated in FIG. 2, a molecular data compression system (200) according to the first embodiment of the present invention may include a preprocessing unit (210), a molecular compression unit (220), a storage unit (230), and a search engine (240). Here, the storage unit (230) stores original molecular data and compressed macromolecular graph data and may be configured as a macro database.

[0204] The preprocessing unit (210) may be an artificial intelligence-based processing module that converts molecular data to be compressed or query molecular data to be searched into a molecular graph form that the system can process. In one embodiment of the present invention, the molecular data compression system (200) may convert molecular data of a material to be compressed or searched, which is loaded via user input or stored in the storage unit (230), into a small number of large molecular graphs and store them. The molecular data may be in a form that expresses specific atoms and bonds within the molecule, for example, in the form of SMARTS (SMILES Arbitrary Target Specification) or SMILES (Simplified Molecular Input Line Entry System).

[0205] SMARTS is an extension of SMILES, which represents molecular structures as strings, and can be used to define groups of molecules that share specific chemical characteristics. In other words, SMARTS can define patterns by combining symbolic attributes representing atoms and bonds; for example, [OH] in SMARTS can correspond to any molecule containing a hydroxyl group (-OH), such as methanol, ethanol, and phenol. In SMARTS atomic notation, element symbols can be general element symbols such as C, N, and O; aromatic atoms can be lowercase letters (e.g., lowercase c is aromatic carbon); and the wildcard "*" can be used to represent any atom. Atomic attributes can be specified within square brackets []; for example, [#6] represents atomic number 6 (carbon), [H] represents the number of hydrogen atoms (e.g., [CH3] is a methyl group), [R] represents an atom in a ring, [!R] represents an atom not in a ring, and [+1] or [-1] represents an electric charge. Additionally, logical operators ",", "&", and "!" can be used. For example, [C,N] means carbon or nitrogen, [C&H2] means carbon with two hydrogen atoms, and [!C] can mean any atom that is not carbon. Also, in SMARTS bonding notation, "-" can mean a single bond, "=" can mean a double bond, "#" can mean a triple bond, ":" can mean an aromatic bond, and "~" can mean any type of bond.

[0206] SMILES is a notation that represents molecular structures as strings, enabling their application to various machine learning and deep learning algorithms. Generally, SMILES can consist of atoms, bonds, rings, aromaticity, and branches. In SMILES notation, each atom is represented by its corresponding element symbol. For example, carbon can be represented as C, nitrogen as N, oxygen as O, and chlorine as Cl, while the hydrogen atom H can be omitted. Bonds are represented by eight symbols: ".", "-", "=", "#", "$", ":", " / ", and " / ". For instance, a double bond can be represented by "=", a triple bond by "#", and a quadruple bond by "$". Rings are represented by breaking a bond at any point in the molecular structure and numbering the two atoms at that broken point. Aromaticity refers to carbon compounds containing an aromatic ring that has a stable structure formed by bonding in a planar ring shape. This aromatic ring is represented in the same way as the aforementioned ring, but the B, C, N, O, P, and S atoms included within it are indicated in lowercase. Branches of the molecule are indicated by parentheses. The first atom inside the parentheses and the first atom after the parentheses end can be connected to the same atom.

[0207] The preprocessing unit (210) can convert molecular data in the form of SMARTS or SMILES into a molecular graph structure so that the system can recognize the molecular data input in the form of such strings. The preprocessing unit (210) can convert the strings into a molecular graph structure by reading the strings of the molecular data in order and forming a molecular pattern map. That is, the preprocessing unit (210) can generate a molecular graph corresponding to the molecular data by interpreting the strings according to sequential parsing rules for the molecular data strings and adding nodes and edges corresponding to the strings to memory accordingly. The molecular graph structure generated in this way can be represented as an adjacency matrix or an adjacency list, and the adjacency matrix and the adjacency list represent the connection relationships of the graph as a two-dimensional array and a list, respectively. In one embodiment of the present invention, the RDKit library provided by Python may be used to convert string-based molecular data into a molecular graph structure, but is not limited thereto.

[0208] Information about molecular data extracted from the preprocessing unit (210) is converted into a graph data structure in which atoms are nodes and the distance between atoms or the bond between atoms is an edge, and this can be stored in memory in the structure of a two-dimensional adjacency matrix with reference to FIG. 3.

[0209] The molecular compression unit (220) compresses and converts a set of individual molecules based on artificial intelligence into a giant molecule structure. The giant molecule structure converted through the molecular compression unit (220) can represent the structural information of multiple molecules in a superposition manner, and in the giant molecule structure (giant molecule graph), each atom (node) may include metadata (tag) that identifies which original molecules it originated from.

[0210] To this end, the molecular compression unit (220) of one embodiment of the present invention may include a common substructure search module (221), an adjacent matrix merging module (222), an valence verification module (223), and an atomic tagging module (224).

[0211] The common substructure search module (221) is intended to search for a common substructure in the adjacency matrix of a molecular graph after molecular data input by a user or loaded from a storage unit (230) is processed in the form of a molecular graph by a preprocessing unit (210). With reference to FIG. 3, a common substructure can be searched in the adjacency matrix of two molecular graphs. With reference to FIG. 3, a common benzene ring can be searched as a common substructure as a subgraph that is the largest connection common to chlorobenzene and phenetol. To this end, a Maximum Common Substructure (MCS) search algorithm that searches for the maximum substructure between two molecules can be applied. A maximum common substructure search algorithm of one embodiment of the present invention attempts all possible combinations of atomic pairs of two molecules and compares the nodes and edges of the first graph of the first molecule with the nodes and edges of the second graph of the second molecule to identify one or more sets of substructures common to both graphs and determines the substructure with the largest size as the maximum common substructure (MCS). That is, in one embodiment of the present invention, a common substructure can be identified when the nodes of the first graph and the nodes of the second graph represent the same element and the types of chemical bonds (edges) with neighboring nodes connected to each of the two nodes are the same (input molecular data is a SMILES structure). Alternatively, in another embodiment of the present invention, when comparing the nodes or edges of the first graph with the nodes or edges of the second graph, the query attributes of the two nodes or two edges are compared, and the most specific common attribute satisfying both query attributes can be derived as the common substructure.(Input molecular data is a SMARTS structure) That is, when the input molecular data is a SMARTS structure, the nodes and edges of the molecular graph processed in the preprocessing unit (210) may include one or more query properties that define the characteristics of atoms or bonds. In the embodiments, the search algorithm may expand the common substructure starting from all possible pairs of nodes of the two graphs, and if expansion is not possible, return to the previous step to search for another path.

[0212] For example, when two input molecular data are ethanol (CCO) and propanoic acid (CCC(=O)O), the common substructure search module (221) can perform a search by comparing atomic pairs of the two molecules for each molecular graph converted through the preprocessing unit (210).

[0213] First, the oxygen (O) of ethanol and the single-bonded oxygen (-O) in the carboxylic acid (-COOH) group of propanoic acid can be paired and compared. As a result of comparing the carbons (CO) connected to each of the two oxygens, the element type "carbon" and the bond type "single bond" match, so CO can be one of the candidates for the common substructure. Next, the subsequent carbons CCO connected to each of the carbons of the selected common substructure CO can be paired and compared. Since the CCO being compared matches both the element type and the bond type in the two molecules, it can be a candidate for the common substructure. If the oxygen (O) of ethanol and the carbonyl oxygen (=O) of propanoic acid are paired and compared, the bond types with the carbons are different (ethanol has a single bond, while propanoic acid has a double bond); therefore, this pathway is treated as a failure, and the next pathway can be explored. As a result of performing this process on two input molecules, the most common substructure of the two input molecule data can be determined to be CCO (a structure in which oxygen is bonded to an ethyl skeleton).

[0214] Meanwhile, a similar search process can be performed when the input molecular data is in the form of SMARTS. However, SMARTS is a search condition (query property) representing the characteristics of the molecule, and the two input molecular data can be converted into a query molecular graph having the search condition as an attribute through the preprocessing unit (210). For example, nodes can be converted into conditions such as "is_carbon", "is_aliphatic", and edges can be converted into conditions such as "is_any_bond", "is_single_bond". In the two graphs of the input molecular data, ethanol [#6]~[#6]-[O] and propanoic acid [C]-[C](=[O])-[O], conditions can be compared by pairing nodes. First, when the oxygen [O] of the two input molecules is paired with the single-bond oxygen -[O], the conditions match, and the carbon [#6] and [C] connected to each oxygen can be compared. The common condition for all carbons [#6] and the aliphatic carbon [C] is [C], and since both molecules have a single bond "-", it can be determined that all conditions match. Therefore, [C]-[O] can be a candidate for the common substructure. Subsequently, the next carbon [#6] and [C] connected to the carbons of [C]-[O] can be paired and compared; the common condition is [C], and regarding bonds, between ~ (all bonds) and - (single bonds), the common condition can be derived as the single bond "-". After the search for all molecular structures is complete, the largest maximum common substructure satisfying all conditions can be derived as [C]-[C]-[O]. In other words, the maximum common substructure can be determined as "a structure in which two aliphatic carbons are connected by a single bond, and one of those carbons is again connected to oxygen by a single bond."

[0215] As illustrated in FIG. 3, the maximum common substructure of chlorobenzene and phenethol can be derived through an algorithm that searches for the maximum common substructure (shaded portion of the adjacency matrix).

[0216] The adjacency matrix merging module (222) can merge the two adjacency matrices after rearranging the exact matching parts in each adjacency matrix of the two input molecular data. Referring to FIG. 4, in the two molecular graphs, the submatrix corresponding to the maximum common substructure (MCS) can be aligned so that it is located at the top-left of the adjacency matrix. That is, the rows and columns of the submatrix corresponding to the maximum common substructure determined by the common substructure search module (221) can be aligned to be sent to the top-left of each adjacency matrix. Subsequently, referring to FIG. 5, the adjacency matrix merging module (222) merges the two aligned adjacency matrices into a single matrix. At this time, the common part (submatrix), which is the exact matching part of the two matrices, is retained as is, and the different parts (partially matching parts) are all accommodated to create a merged adjacency matrix. That is, the adjacency matrix merging module (222) creates a single integrated adjacency matrix by keeping the common parts of the two matrices as they are and expanding the rows and columns corresponding to the non-common parts, which may be similar to the union operation of two graphs.

[0217] The valence verification module (223) can verify the integrated adjacency matrix according to the valence rule within the merged integrated adjacency matrix. In the merging process of one embodiment, the most important thing may be to create a chemically valid molecule. The graph merged on the computer may be a chemically unstable or impossible structure. Therefore, the sum of each row (or column) of the integrated adjacency matrix is ​​calculated to determine the total number of bonds (degree) of each atom, and it is verified whether this value exceeds the allowable valence of the corresponding element. That is, it can be verified whether the valence rule of each atom (e.g., carbon has a maximum of 4 bonds) is satisfied (verifying whether the rule of filling the outermost shell with 8 electrons to achieve a stable electron configuration according to the valence rule is satisfied). Referring to FIG. 6, in the state immediately after merging, the number of bonds of a specific carbon atom in the integrated adjacency matrix becomes 5, which violates the valence rule. In this case, the bonds can be rearranged to adjust the number of bonds of all atoms so that they do not exceed the maximum allowable limit. For example, if the number of carbon bonds exceeds 4, this problem can be solved by attempting rearrangements, such as adjusting the bond positions of the non-common parts. If, during the verification process of atoms included in a submatrix corresponding to the most common substructure (MCS), the valence rule cannot be satisfied through any rearrangement, it is determined that the MCS cannot be merged, and other MCS candidates can be searched or the atoms can be processed by classifying them as unmergeable pairs.

[0218] The atomic tagging module (224) can generate and store a set of original molecule identifiers as additional attributes for each atom (node) object constituting the graph for a combined adjacency matrix (macromolecule graph) of macromolecules that has been merged and verified and confirmed to be valid. That is, the set of original molecule identifiers can be tagged with identification information indicating which original molecule each atom constituting the macromolecule originated from.

[0219] As illustrated in FIG. 7, two molecules can be merged into a single macromolecule by sharing a maximum common substructure (MCS), and each atom (node) can be tagged with an identifier corresponding to the original molecule, for example, molecule 1 as "1" and molecule 2 as "2". Referring to FIG. 7, identifiers (1, 2) tagged to a single atom (node) indicate that the corresponding atom exists in both molecule 1 and molecule 2, and identifier (1) can identify that the corresponding atom exists only in molecule 1, and identifier (2) can identify that the corresponding atom exists only in molecule 2. These identifiers are stored by creating a separate set of original molecule identifiers, and this set can be implemented as a data structure known in the field of computing devices. For example, the set of original molecule identifiers can be implemented as an efficient data structure such as a HashSet or a Bit Vector. For example, when dealing with 1 billion molecules, a vector of 1 billion bits in length can be used to determine whether each atom belongs to a specific molecule.

[0220] By utilizing the molecular data compression system (200) of the first embodiment of the present invention having the configuration as described above, and by repeatedly performing the process described above on numerous molecules in the chemical space with reference to FIG. 8, the entire chemical space can be represented by a small number of macromolecules.

[0221] Meanwhile, the molecular data compression system (200) of the first embodiment of the present invention can perform the function of a service platform that receives a query substructure as query molecular data from a user, searches for the corresponding query substructure within a macromolecular graph to derive a matching molecular list, and outputs it to the user. To this end, the molecular data compression system (200) of the first embodiment of the present invention may further include a search engine (240).

[0222] The search engine (240) may include an input / output interface (241) that receives a query substructure as query input data from a user, and a query substructure search module (242) that searches for the query substructure within a macromolecular graph and calculates the intersection of tag information to derive a matched final list of molecules. The search engine (240) may provide the searched list of molecules and optionally output additional analysis functions to the user, such as predicting the physicochemical properties of each molecule or visualizing the 3D structure.

[0223] The input / output interface (241) may be configured as an input / output unit (140) of one embodiment, or may be configured in the form of an AI chatbot capable of performing input / output conversations with a user. The input / output interface may receive input from the user a query substructure, such as a molecular formula of a SMARTS or SMILES expression, which is query input data that the user wishes to search for in the chemical space within the database.

[0224] The query substructure search module (242) receives a query substructure expressed in a standard format such as SMARTS or SMILES from the input / output interface (241), converts the query substructure in the preprocessing unit (210), and then searches for a matching region, which is a set of atoms and bonds matching the query substructure, within a pre-generated macromolecular graph stored in the database. That is, when the query substructure search module (242) receives the query substructure in SMARTS format (e.g., [#6]-c1ccccc1-O-[#6]) or SMILES format (e.g., COc1ccc(C)cc1), it transmits this query to the preprocessing unit (210) to convert it into a graph structure (query graph) that the system can process. Subsequently, the query substructure search module (242) can perform a maximum common substructure (MCS) search between the query graph and the stored macromolecular graph using the common substructure search module (221). At this time, since the number of macromolecular graphs is significantly smaller than the number of original molecular graphs, the search (comparison) process can be completed very quickly. Subsequently, for each matching region found, the query substructure search module (242) can recognize all original molecular identifier set tags constituting the region and derive the intersection of these sets. For example, if the matching region between the query graph and the macromolecular graph consists of atoms A, B, and C, and their respective identification tags are Tags(A)={1,2,5}, Tags(B)={1,2,8}, and Tags(C)={1,2,3,5}, then their intersection can be derived as {1,2}. That is, the derived intersection {1,2} can be confirmed to perfectly contain both original molecule 1 and original molecule 2 atoms A, B, and C and the bonds between them, i.e., the entire query substructure.Subsequently, the search engine (240) can output to the user via the input / output interface (241) a list of original molecules of the intersection as the result finally derived, that is, as a molecule containing all the substructures of the query. If the intersection is an empty set, it may mean that the matching area is merely a combination of pieces of multiple molecules that coincidentally take on a form similar to the query structure, and that the structure does not exist within a single molecule.

[0225] As illustrated in FIG. 9, a molecular data compression method performed in a molecular data compression system (200) according to a first embodiment of the present invention may include: a step of converting a plurality of original molecular data into respective molecular graphs (S100); a step of selecting a first molecular graph and a second molecular graph among the molecular graphs and searching for the maximum common substructure between the two graphs (S200); a step of merging the first molecular graph and the second molecular graph based on the maximum common substructure to create a single integrated molecular graph (S300); a step of verifying whether each atom constituting the integrated molecular graph satisfies a valence rule (S400); and a step of tagging identifier information to identify the original molecule from which each node originated at each node of the integrated molecular graph after verification (S500).

[0226] In the step (S100) of converting multiple original molecular data into individual molecular graphs, multiple original molecular data to be compressed or query molecular data that the user wishes to search for is received as input. At this time, the molecular data may be in the form of strings such as SMILES (Simplified Molecular Input Line Entry System) or SMARTS (SMILES Arbitrary Target Specification). The preprocessing unit (210) sequentially parses the input molecular data in string form and converts it into a graph data structure that the system can process. In this graph, each atom becomes a node, and the bonds between atoms become edges. The converted molecular graph can be stored in the storage unit (230) in the form of an adjacency matrix.

[0227] In the step (S200) of selecting a first molecular graph and a second molecular graph among the molecular graphs to explore the maximum common substructure between the two graphs, two of the transformed molecular graphs are selected to explore the largest subgraph common to both graphs, i.e., the Maximum Common Substructure (MCS). This process proceeds by comparing all possible atomic pairs of the two molecules. For example, in the case of a SMILES-based molecular graph, if two nodes represent the same element and the connected edges (types of chemical bonds) are identical, they can be identified as a common structure. In the case of a SMARTS-based query molecular graph, the MCS can be determined by comparing the query attributes of two nodes or edges and deriving the most specific common attribute that satisfies both attributes.

[0228] In the step (S300) of merging the first molecular graph and the second molecular graph based on the greatest common substructure to create a single integrated molecular graph, the rows and columns (sub-matrices) corresponding to the MCS in the adjacency matrix corresponding to each molecular graph are rearranged to move to the top-left of the matrix. Then, the two rearranged adjacency matrices are merged into a single integrated adjacency matrix. At this time, the perfectly matching MCS parts in the two matrices are retained as they are, while the rows and columns corresponding to the different non-common parts are expanded to create a single large molecular graph. This may be similar to the union operation of the two graphs.

[0229] In the step (S400) of verifying whether the number of bonds of each atom constituting the integrated molecular graph satisfies the valence rule, the chemical validity of the merged macromolecular graph can be verified. Since the merged graph on the computer may be a chemically unstable structure, the validity is verified based on the valence rule. The total number of bonds of each atom is determined by calculating the sum of each row (or column) of the integrated adjacency matrix, and it is checked whether this value exceeds the allowable valence of the element (e.g., carbon is 4). If an atom is found to violate the valence rule, it is adjusted to satisfy the rule through rearrangement, such as adjusting the bond positions of the non-common parts. If the rule cannot be satisfied by any rearrangement, it is determined that merging is impossible with that MCS combination, and other MCS candidates can be searched or treated as an unmerged pair.

[0230] In the step (S500) of tagging identifier information to identify the original molecule from which each node originated at each node of the verified integrated molecule graph, an identifier (ID) indicating which original molecule the atom originated from can be tagged as metadata at each atom (node) constituting the generated macromolecule graph. For example, if a specific atom existed in common with original molecule 1 and molecule 2, the atom may be tagged with a set of identifiers such as {1, 2}.

[0231] By repeatedly performing each step of the aforementioned compression method on all molecules within the chemical space, a vast amount of molecular data can ultimately be represented as a small number of macromolecular graphs.

[0232] As illustrated in FIG. 10, a molecular compression search service system (300) utilizing a molecular data compression system (200) according to a second embodiment of the present invention may include a user computing device (310) and a server computing system (320). The molecular compression search service system (300) may provide a service to the user computing device (310) that compresses input molecules connected via a service environment (e.g., an internet site) to generate macromolecules or search for query substructures within macromolecules. This service system may provide a cloud-based solution that supports individual researchers, research groups, or companies in efficiently managing and searching their own vast chemical datasets at ultra-high speeds. That is, the user can compress and store their own molecular data in their own independent space and search for desired substructures immediately when needed.

[0233] The user computing device (310) is a client terminal for receiving input from a user for multiple molecular data or query substructure data to be searched from macromolecules to build a macromolecule database, uploading it to a server computing system (320), and receiving results regarding the success or failure of generating a macromolecule graph and whether a query substructure exists in the macromolecule graph. The user computing device (310) may include any type of computing device capable of internet access, such as a smartphone, tablet PC, or desktop computer. That is, through the user computing device (310), the user can upload their molecular data file, command the execution of a molecular compression service, input a query substructure to be searched, and check the final analysis results.

[0234] The server computing system (320) includes high-performance processors such as a central processing unit (CPU) and a graphics processing unit (GPU), and large-capacity memory (database), and can mount and execute a molecular data compression system (200) according to one embodiment of the present invention. The server computing system (320) can allocate an independent database space to each user accessing through the user computing device (310) to store large molecular graphs generated for each user.

[0235] The molecular compression search service system (300) according to the second embodiment of the present invention can provide a personalized molecular space compression and DB construction service and a user-customized substructure search service to the user.

[0236] In a personalized molecular space compression and DB construction service, when a user uploads a vast molecular dataset (such as SMILES or SMARTS files) or directly inputs multiple molecular data through a user computing device, the preprocessing unit (210) converts the string data of the molecular data into a standard molecular graph (adjacency matrix) form that a computer can understand. Subsequently, through the common substructure search module (221) of the molecular compression unit (220), two molecular graphs can be selected from the dataset or input molecular data, and the Maximum Common Substructure (MCS), which is the largest chemical framework shared by the two structures, can be searched. Once the largest common substructure is found, the adjacency matrix merging module (222) merges these two molecular graphs into one centered on this common structure. Through this process, beyond simply combining data, a larger and more complex integrated molecular graph containing information from both molecules can be generated. Subsequently, through the valence verification module (223), all atoms in the merged graph can be verified and adjusted in real time to ensure that they do not violate basic valence rules. Macromolecules (integrated molecular graphs) that pass this verification can be recognized as having a chemically valid structure. Finally, each atom (node) of the verified integrated molecular graph can be assigned a unique identifier (tag) through an atomic tagging module (224). This tag may record information about which of the original molecules from which the atom originated. Through these iterative compression, merging, verification, and tagging processes, numerous molecules in the input dataset or input molecular data can finally be compressed into a small number of macromolecule graphs containing all information and stored in a database. Through this configuration, the user can systematically integrate and manage their own chemical space (macromolecular data).

[0237] In a user-customized substructure search service, when a specific chemical structure that the user wishes to search for is input into the user computing device (310), this search request is transmitted to the server’s search engine (240). The search engine’s query substructure search module (242) converts the query substructure into a standard graph form and can quickly search for a region matching the query structure within a macromolecular graph stored in a database assigned to the user. After a structurally matching region is found, tag information recorded on all atoms constituting that region can be verified. By calculating the intersection of the verified tag information, original molecules that fully contain the entire query substructure can be identified, and information about those original molecules can be output to the user computing device. Through this configuration, the search for the molecule’s substructure is performed within a highly compressed macromolecular graph rather than comparing millions of molecules one by one as in conventional methods, thereby dramatically improving the search speed. This allows for a significant reduction in the time required to screen candidate substances in new drug development, new material research, etc.

[0238] The third embodiment of the present invention can obtain the maximum common substructure in advance by comparing strings between original molecular data in string form prior to converting the input original molecular data into a molecular graph. Since the components of the third embodiment are identical to those of the embodiments described above, a detailed description thereof will be omitted.

[0239] In the third embodiment, the common substructure search module (221) can search for maximum common substructures (MCS) by directly analyzing strings in the form of SMILES (Simplified Molecular Input Line Entry System) or SMARTS (SMILES Arbitrary Target Specification), which are the original data, before converting the molecular data into a graph. The common substructure search module (221) can search for MSCs between the input original molecular data or MSCs between the input original molecular data and molecules stored in the database.

[0240] The system of the third embodiment receives SMILES strings of two molecules to be merged. For example, when chlorobenzene (c1ccccc1Cl) and phenetol (c1ccccc1OCC) as shown in FIG. 3 are input, the molecular compression unit (220) can search for a substring that is common to both strings. That is, the molecular compression unit (220) can use a string comparison algorithm to identify the longest substring that is common to both strings, c1ccccc1 (aromatic ring portion).

[0241] Next, optionally, the molecular compression unit (220) can verify whether the identified c1ccccc1 is a valid chemical fragment through a chemiformatics library such as RDKit. If the verification result is found to be a valid structure, the identified c1ccccc1 can be finally determined as the maximum common substructure (MCS) of the two molecules.

[0242] Once the MCS is determined through string analysis in this way, the system can transmit this information to the adjacency matrix merging module (222). The molecular compression unit (220) can rearrange the adjacency matrix of each molecule based on c1ccccc1 corresponding to the MCS, and generate an integrated molecular graph by extending the remaining parts not included in the MCS (Cl of chlorobenzene and OCC of phenetol) into non-common parts.

[0243] Subsequently, the valence verification module (223) verifies whether each atom of the merged graph satisfies the valence rule, and can perform the same subsequent step of tagging original molecule identification information through the atomic tagging module (224) on each node where verification is complete.

[0244] This method of first analyzing the strings of the original molecular data can significantly improve the compression efficiency and speed of large-scale molecular databases by shortening or omitting the complex isomorphism search process for the entire graph structure.

[0245] As illustrated in FIG. 11, a molecular information response system (400) according to the fourth embodiment of the present invention may include a user computing device (410), a server computing system (430), a database (450), and a computation module (470). This molecular information response system (400) may be connected to communicate via a service environment (e.g., an internet site) to provide a service to the user computing device (410) for compressing molecules input by the user to generate macromolecules or for exploring query substructures within macromolecules. This response system may provide a cloud-based solution that supports individual researchers, research groups, or companies in efficiently managing and searching their own vast chemical datasets at ultra-high speeds. That is, the user can compress and store their own molecular data in their own independent space, immediately search for molecules containing desired substructures when needed, and receive a rapid response regarding the generated macromolecules or the discovered molecules.

[0246] The user computing device (410) is a client terminal for receiving input from a user regarding multiple molecular data or query molecular data to be searched from macromolecules to build a macromolecule database, uploading it to a server computing system (430), and receiving results regarding the success or failure of generating a macromolecule graph and whether a query substructure of the query molecular data exists in the macromolecule graph. The user computing device (410) may include any type of computing device capable of connecting to the internet and running a client application or receiving services from a webpage, such as a smartphone, tablet PC, or desktop computer. That is, the user can upload their molecular data file through the user computing device (410), command the execution of a molecular compression service, input a query substructure to be searched, and check the final analysis results.

[0247] The server computing system (430) includes high-performance processors such as a central processing unit (CPU) and a graphics processing unit (GPU), memory, etc., and can receive requests from a user computing device (410) and communicate with a database (450) and a computation module (470) to coordinate and execute the entire workflow. Additionally, the server computing system (430) can independently allocate database (450) space to each user accessing through the user computing device (410). Furthermore, the server computing system (430) can configure an interactive input / output interface (411) with the user computing device (410). For example, in the fourth embodiment, an AI chatbot capable of receiving molecular data, natural language input, selection input, etc. from a user through the user computing device (410) can be utilized as the interactive input / output interface (411). In the fourth embodiment of the present invention, the server computing system (430) can receive various commands and data from the user computing device (410) through the interactive input / output interface (411), and can output the results of the input to the user computing device (410) through an AI chatbot. For example, the AI ​​chatbot may output a macromolecule containing the molecule input by the user, output a macromolecule having a common substructure with the input molecule, output the result after merging the input molecule and the macromolecule having a common substructure, or output a list of molecules having a common substructure with the input molecule. Additionally, the AI ​​chatbot may output the predicted results of the properties (physical properties) of the molecules found to have a common substructure with the input molecule, the SMILES representation of the molecules, the 2D molecular structure diagram of the molecules, and a detailed description of the molecules.

[0248] The database (450) can function as a data repository optimized to store large-scale molecular data for each user and to enable rapid retrieval. That is, the molecular information response system (400) according to the fourth embodiment of the present invention can provide the user with personalized molecular space compression and DB construction services and user-customized infrastructure exploration services, etc., through the user-specific database (450).

[0249] The computation module (470) is intended to perform functions such as preprocessing of molecules input through a user computing device (410), searching for molecules or macromolecules within a database (450) that are identical to or have a common substructure identical to the input molecule, merging macromolecules, and processing information about molecules found having a common substructure. This computation module (470) may be composed of computing resources specialized for parallel computation (e.g., a GPU cluster). The computation module (470) of this embodiment may include a preprocessing unit (471), a molecule search unit (472), a molecule compression unit (473), and a molecule information generation unit (477). The computation module (470) will be described in more detail below.

[0250] The molecular information response system (400) of the fourth embodiment of the present invention having the configuration as described above can provide a molecular space compression service, a molecular search service, and a molecular information provision service to the user.

[0251] In the molecular space compression service, when a user uploads a vast molecular dataset (SMILES) or directly inputs multiple molecular data through a user computing device (410), the preprocessing unit (471) converts the string data of the molecular data into a standard molecular graph (adjacency matrix) form that the computer can understand. Subsequently, through the molecular compression unit (473), two molecular graphs are selected from the dataset or input molecular data, and the Maximum Common Substructure (MCS), which is the largest chemical framework shared by the two structures, can be explored. Once the largest common substructure is found, the two molecular graphs are merged into one centered on this common substructure through the adjacency matrix merging module (474). Subsequently, through the valence verification module (475), all atoms in the merged graph can be verified in real time and adjusted to ensure they do not violate basic valence rules. A macromolecule (integrated molecular graph) that passes this verification can be recognized as a chemically valid structure. Finally, atomic tagging is applied to each atom (node) of the validated integrated molecular graph. A unique identifier (tag) can be assigned through the module (476). This tag may record information about which of the original molecules from which the corresponding atom originated. Through this iterative process of compression, merging, verification, and tagging, numerous molecules in the input dataset or input molecular data can be finally compressed into a few macromolecular graphs containing all information and stored in a database. Through this process, beyond simply combining data, a larger and more complex integrated molecular graph containing information from both molecules can be generated, and through this configuration, the user can systematically integrate and manage their own chemical space (macromolecular data).

[0252] In a molecular search service, when a specific chemical structure (molecule or substructure of a molecular query) that a user wishes to search for is input into a user computing device (410), this search request is transmitted to a molecular search unit (472) of a server. The molecular search unit (472) converts the molecule or substructure of the query into a standard graph form and can quickly search for a region matching the query structure within a single molecule graph or a macromolecular graph stored in a database assigned to the user. When a structurally matching region is found in the macromolecular graph, tag information recorded on all atoms constituting that region can be verified. By calculating the intersection of the verified tag information, original molecules that fully contain the entire substructure of the query can be identified, and information about those original molecules can be output to the user computing device. Through this configuration, the search for the substructure of a molecule is performed within a highly compressed macromolecular graph rather than comparing millions of molecules one by one as in conventional methods, thereby dramatically improving the search speed. This allows for a significant reduction in the time required to screen candidate substances in new drug development, new material research, etc.

[0253] The molecular information provision service provides detailed information, such as physical properties, molecular representations, and descriptions of molecules discovered through a user-customized molecular search service. Specifically, the molecular information provision service uses multiple molecules discovered by matching the query molecule or substructure entered by the user as input data for an artificial intelligence model to output results predicting the physical properties of the discovered molecules, or to provide the discovered molecules to the user by outputting them in SMILES representations, etc. In addition, it may create and output a molecular description explaining the discovered molecules, or create and output a 2D molecular structure diagram representing the molecules as 2D images based on the adjacency matrix (molecular graph) of the molecules.

[0254] As described above, the computation module (470) of the molecular information response system (400) for services for molecular search, molecular compression, and molecular information provision may include a preprocessing unit (471), a molecular search unit (472), a molecular compression unit (473), and a molecular information generation unit (477).

[0255] The preprocessing unit (471) may be a processing module that converts molecular data to be compressed or query molecular data to be searched into a molecular graph form that the system can process. In one embodiment of the present invention, the molecular information response system (400) may convert molecular data input through user input into a form that a computer system can understand. At this time, the molecular data input by the user may be in a form that represents specific atoms and bonds within the molecule, for example, molecular data in the form of SMILES (Simplified Molecular Input Line Entry System).

[0256] SMILES is a notation that represents molecular structures as strings, enabling their application to various machine learning and deep learning algorithms. Generally, SMILES can consist of atoms, bonds, rings, aromaticity, and branches. In SMILES notation, each atom is represented by its corresponding element symbol. For example, carbon can be represented as C, nitrogen as N, oxygen as O, and chlorine as Cl, while the hydrogen atom H can be omitted. Bonds are represented by eight symbols: ".", "-", "=", "#", "$", ":", " / ", and " / ". For instance, a double bond can be represented by "=", a triple bond by "#", and a quadruple bond by "$". Rings are represented by breaking a bond at any point in the molecular structure and numbering the two atoms at that broken point. Aromaticity refers to carbon compounds containing an aromatic ring that has a stable structure formed by bonding in a planar ring shape. This aromatic ring is represented in the same way as the aforementioned ring, but the B, C, N, O, P, and S atoms included within it are indicated in lowercase. Branches of the molecule are indicated by parentheses. The first atom inside the parentheses and the first atom after the parentheses end can be connected to the same atom.

[0257] The preprocessing unit (471) can convert molecular data in the form of SMILES into a molecular graph structure so that the system can recognize the molecular data input in the form of such strings. The preprocessing unit (471) can convert the strings into a molecular graph structure by reading the strings of the molecular data in order and forming a molecular pattern map. That is, the preprocessing unit (471) can generate a molecular graph corresponding to the molecular data by interpreting the strings according to sequential parsing rules for the molecular data strings and adding nodes and edges corresponding to the strings to memory accordingly. The molecular graph structure generated in this way can be represented as an adjacency matrix or an adjacency list, and the adjacency matrix and the adjacency list represent the connection relationships of the graph as a two-dimensional array and a list, respectively. In one embodiment of the present invention, the RDKit library provided by Python may be used to convert string-based molecular data into a molecular graph structure, but is not limited thereto.

[0258] Information about molecular data extracted from the preprocessing unit (471) is converted into a graph data structure in which atoms are nodes and the distance between atoms or the bond between atoms is an edge, and this can be stored in memory in the structure of a two-dimensional adjacency matrix with reference to FIG. 3.

[0259] The molecular search unit (472) is for searching for a common substructure between the molecular graphs of the input molecular data converted in the preprocessing unit (471) or between the molecular graphs of the input molecular data and the molecular graphs (single molecules or macromolecules) loaded from the database (450).

[0260] The molecular search unit (472) can search for a common substructure between two molecular graphs and calculate the intersection of the tag information of the molecular graphs to derive a matched final list of molecules. That is, the molecular search unit (472) can search for a common substructure between the adjacency matrix of an input molecular graph input by a user and the adjacency matrix of a single molecular graph (a molecular graph of a single molecule or a molecular graph of a macromolecule) loaded from the database (450).

[0261] With reference to FIG. 3, a common substructure can be searched in the adjacency matrix of two molecular graphs. With reference to FIG. 3, a common benzene ring can be searched as the maximum common substructure as the substructure that is the largest connection existing in common between the adjacency matrix of an input molecular graph, e.g., chlorobenzene (the first graph), and the adjacency matrix of a single molecular graph, e.g., phenetol (the second graph), loaded from the database (450). To this end, a Maximum Common Substructure (MCS) search algorithm for searching the maximum substructure between two molecules can be applied. The Maximum Common Substructure search algorithm of the fourth embodiment of the present invention attempts all possible combinations of atomic pairs of the two molecules and compares the nodes and edges of the first graph of the first molecule with the nodes and edges of the second graph of the second molecule to identify one or more sets of substructures existing in common in the two graphs and determines the substructure with the largest size as the Maximum Common Substructure (MCS). That is, in the fourth embodiment of the present invention, a node of the first graph and a node of the second graph represent the same element, and if the type of chemical bond (edge) with neighboring nodes connected to each of the two nodes is the same, they can be identified as having a common substructure. In the fourth embodiment, the MCS search algorithm can expand the common substructure starting from all possible pairs of nodes of the two graphs, and if expansion is impossible, it can return to the previous step and search for another path. Additionally, in the fourth embodiment, if the molecular search unit (472) determines that there is no common substructure between the molecular graph loaded from the database (450) and the input molecular graph, it can load the next molecular graph from the database (450) to search for the MCS. Additionally, in the fourth embodiment, the molecular search unit (472) can search for the MCS between two input molecular graphs input by the user.Additionally, in the fourth embodiment, the molecular search unit (472) can search for molecules having an input molecular graph and an MCS among all molecules (single molecules or macromolecules) stored in the database (450). That is, the molecular search unit (472) can search for multiple molecular graphs having an input molecular graph and an MCS in the database (450) and output the results.

[0262] As an example, in the MCS search algorithm, when one input molecular graph is ethanol (CCO) and one molecular graph loaded from the database (450) is propanoic acid (CCC(=O)O), the molecular search unit (472) can perform a search by comparing pairs of atoms of the two molecules for each molecular graph. First, the oxygen (O) of ethanol and the single bond oxygen (-O) in the carboxylic acid (-COOH) group of propanoic acid can be compared in pairs. As a result of comparing the carbons (CO) connected to each of the two oxygens, the element type "carbon" and the bond type "single bond" match, so CO can be one of the candidates for the common substructure. Next, the next carbons CCO connected to each of the carbons of the selected common substructure CO can be compared in pairs. The CCO being compared can be a candidate for the common substructure as both the element type and the bond type match in the two molecules. If the oxygen (O) of ethanol and the carbonyl oxygen (=O) of propanoic acid are paired and compared, the types of bonds with carbon are different (ethanol has a single bond, and propanoic acid has a double bond), so this pathway is treated as a failure and the next pathway can be explored. As a result of performing this process on two input molecules, the most common substructure of the two input molecule data can be determined to be CCO (a structure in which oxygen is bonded to an ethyl skeleton).

[0263] As shown in FIG. 3, the maximum common substructure (MCS) of chlorobenzene and phenetol (shaded portion of the adjacency matrix) can be derived through an algorithm for searching the maximum common substructure (MCS).

[0264] Subsequently, the molecular search unit (472) can recognize all original molecular identifier set tags constituting the area for the searched maximum common substructure (matching area) when the searched molecular graph is a macromolecular graph composed of at least two or more molecules merged, and derive the intersection of these sets. For example, if the matching area between the input molecular graph (query graph) and the macromolecular graph is composed of atoms A, B, and C and their respective identification tags are Tags(A)={1,2,5}, Tags(B)={1,2,8}, and Tags(C)={1,2,3,5}, then their intersection can be derived as {1,2}. That is, the derived intersection {1,2} can indicate that original molecule 1 and original molecule 2 both contain a common substructure consisting of atoms A, B, and C and the combinations between them. Subsequently, the molecular search unit (472) can output to the user through the interactive input / output interface (411) a list of molecules of the intersection that are the final derived result, that is, molecules that include all common substructures. If the intersection is an empty set, it may mean that the matching area is merely a combination of pieces of several molecules that happen to have a shape similar to the query structure, and that the structure does not exist within a single molecule.

[0265] That is, the molecular search unit (472) outputs the single molecular graph as a result when the input molecular graph matches a single molecular graph, and when the input molecular graph matches a macromolecule graph, it analyzes the intersection of the identification tags of the matching area and outputs the molecular graph of the searched matching area as a result if it is not an empty set.

[0266] The molecular compression unit (473) compresses and converts a set of individual molecules into a giant molecule structure. The giant molecule structure converted through the molecular compression unit (473) can represent the structural information of multiple molecules in a superposition manner, and in the giant molecule structure (giant molecule graph), each atom (node) may include metadata (tags) that identify which original molecules it originated from.

[0267] To this end, the molecular compression unit (473) of the fourth embodiment of the present invention may include an adjacent matrix merging module (474), an valence verification module (475), and an atomic tagging module (476).

[0268] The adjacency matrix merging module (474) can merge the two adjacency matrices after rearranging the exact matching parts in each adjacency matrix of the two molecular data. Referring to FIG. 4, in the two molecular graphs, the submatrix corresponding to the maximum common substructure (MCS) can be aligned so that it is located at the top-left of the adjacency matrix. That is, the rows and columns of the submatrix corresponding to the maximum common substructure determined by the molecular search unit (472) can be aligned to be sent to the top-left of each adjacency matrix. Subsequently, referring to FIG. 5, the adjacency matrix merging module (474) merges the two aligned adjacency matrices into a single matrix. At this time, the common part (submatrix), which is the exact matching part of the two matrices, is retained as is, and the different parts (partially matching parts) are all accommodated to create a merged adjacency matrix. That is, the adjacency matrix merging module (474) creates a single integrated adjacency matrix by keeping the common parts of the two matrices as they are and expanding the rows and columns corresponding to the non-common parts, which may be similar to the union operation of two graphs.

[0269] The valence verification module (475) can verify the integrated adjacency matrix according to the valence rule within the merged integrated adjacency matrix. In the merging process of one embodiment, the most important thing may be to create a chemically valid molecule. The graph merged on the computer may be a chemically unstable or impossible structure. Therefore, the sum of each row (or column) of the integrated adjacency matrix is ​​calculated to determine the total number of bonds (degree) of each atom, and it is verified whether this value exceeds the allowable valence of the corresponding element. That is, it can be verified whether the valence rule of each atom (e.g., carbon has a maximum of 4 bonds) is satisfied (verifying whether the rule of filling the outermost shell with 8 electrons to achieve a stable electron configuration according to the valence rule is satisfied). Referring to FIG. 6, in the state immediately after merging, the number of bonds of a specific carbon atom in the integrated adjacency matrix becomes 5, which violates the valence rule. In this case, the bonds can be rearranged to adjust the number of bonds of all atoms so that they do not exceed the maximum allowable limit. For example, if the number of carbon bonds exceeds 4, this problem can be solved by attempting rearrangement, such as adjusting the bond positions of the non-common parts. If, during the verification process of atoms included in a submatrix corresponding to the maximum common substructure (MCS), the atoms cannot satisfy the rules through any rearrangement, it is determined that merging is impossible with that MCS, and other MCS candidates are searched or classified as unmergable pairs, and the result of unmergability can be output to the user through the interactive input / output interface (411) of the server computing system (430).

[0270] The atomic tagging module (476) can generate and store a set of original molecule identifiers as additional attributes for each atom (node) object constituting the graph for a combined adjacency matrix (macromolecule graph) of macromolecules that has been merged and verified and confirmed to be valid. That is, the set of original molecule identifiers can be tagged with identification information indicating which original molecule each atom constituting the macromolecule originated from.

[0271] As illustrated in FIG. 7, two molecules can be merged into a single macromolecule by sharing a maximum common substructure (MCS), and each atom (node) can be tagged with an identifier corresponding to the original molecule, for example, molecule 1 as "1" and molecule 2 as "2". Referring to FIG. 7, identifiers (1, 2) tagged to a single atom (node) indicate that the corresponding atom exists in both molecule 1 and molecule 2, and identifier (1) can identify that the corresponding atom exists only in molecule 1, and identifier (2) can identify that the corresponding atom exists only in molecule 2. These identifiers are stored by creating a separate set of original molecule identifiers, and this set can be implemented as a data structure known in the field of computing devices. For example, the set of original molecule identifiers can be implemented as an efficient data structure such as a HashSet or a Bit Vector. For example, when dealing with 1 billion molecules, a vector of 1 billion bits in length can be used to determine whether each atom belongs to a specific molecule.

[0272] The molecular information generation unit (477) is intended to output various information about the molecular graph searched by the molecular search unit (472) and provide it to the user. In one embodiment, the molecular information generation unit (477) may include a physical property prediction module (478), a description generation module (479), and an image generation module (480).

[0273] The physical property prediction module (478) receives a molecular graph as input and predicts various physical and chemical properties of the molecule. In one embodiment of the present invention, a Graph Neural Network (GNN) model capable of predicting the properties of the entire molecule by synthesizing the relationships (local information) between each atom constituting the molecule and its neighboring atoms may be utilized. When the GNN-based physical property prediction module (478) of one embodiment receives a molecular graph and a request for physical property prediction from a server computing system (430), it loads a pre-trained GNN model onto a GPU and returns an attribute value (physical property value) predicted based on the molecular graph. To this end, the physical property prediction module (478) of one embodiment may be configured to include an embedding layer, a graph neural network layer, a pooling layer, and an output layer. The embedding layer may receive a molecular graph in the form of an adjacency matrix and convert the information into a numeric vector. That is, the embedding layer converts categorical information, such as the type of each atom in the molecular graph (C, N, O, etc.) and the number of valence electrons, into high-dimensional continuous numeric vectors by referring to an embedding table that the model has pre-learned. Atoms are represented as 64-dimensional or 128-dimensional vectors, and unique vector values ​​corresponding to each atom type can be stored in the form of a lookup table. In addition, the embedding layer can also convert the type of chemical bond between atoms (single, double, triple, aromatic) into a unique numeric vector. Based on the embedding vectors of the molecular graph converted in this way, the physical property prediction module (478) can predict physical properties. The graph neural network layer can pass the embedding vectors of the molecular graph through multiple neural network layers. In each layer of the graph neural network layer, the atom in the molecular graph can update its state by exchanging information (message passing) with neighboring atoms using pre-learned weights. The pooling layer can merge the vectors of all atoms in the molecular graph that have passed through the graph neural network layer into one.Through this, a single representative graph embedding, which is a single representative vector representing the entire molecule, can be generated. The output layer is intended to predict the physical properties of the molecule using the generated single representative vector. The output layer is composed of a Multi-Layer Perceptron (MLP), and when predicting continuous values ​​such as the solubility or boiling point of the molecule, the output layer may be composed of a single neural network, and when predicting categories such as toxicity, the output layer may be composed of multiple neural networks and a softmax function. Using the physical property prediction module (478) of such an embodiment, specific physical properties of the molecule can be predicted based on local interactions between atoms of the molecule graph and integrated information of the entire molecule, and can be output to the user through an interactive user interface.

[0274] The description generation module (479) is intended to receive a molecular graph as input and generate a specific natural language description of the molecule, including the structural features of the molecule, the role of each functional group, the meaning of physical property values, and known pharmaceutical or industrial uses. In one embodiment, the description generation module (479) may utilize a Large Language Model (LLM) that has been pre-trained on a large molecular dataset. The input data of the description generation module (479) in one embodiment may include a SMILES representation (SMILES of the molecular graph) which is a standard string (identifier) ​​of the molecule, and a system prompt to improve the performance of this language model, such as, "You are an organic chemist. Based on the following information, please explain this molecule in detail so that an undergraduate student can understand it." In addition, the input data of the description generation module (479) may further include information on the major functional groups of the molecule searched by the preprocessing unit (471) or the molecule search unit (472), or the major physical property values ​​of the molecule predicted by the physical property prediction module (478). That is, the description generation module (479) receives inputs such as standard strings (SMILES) for the molecule, system prompts, major functional groups of the molecule such as "Carboxylic Acid, Benzene Ring," and physical property values ​​of the molecule such as "Predicted LogP: 2.5, Predicted Toxicity: Low," and based on this, it can generate a very detailed and accurate natural language description by synthesizing the structural features of the searched molecule, the role of each functional group, the meaning of the physical property values, and known pharmaceutical or industrial uses. In addition, the description generation module (479) may generate additional context by searching in real-time for the latest papers, reports, patent information, etc., related to molecular information on the molecule graph.(Retrieval Augmented Generation; RAG; Retrieval Augmented Generation) That is, the explanation generation module (479) can dramatically improve the depth and up-to-dateness of the molecular-related explanations generated by further utilizing RAG technology.

[0275] The image generation module (480) is intended to generate a 2D image in the format of SVG (Scalable Vector Graphics) or PNG, i.e., a 2D molecular structure diagram, based on node (atom) and edge (bond) information of the molecular graph. After receiving the molecular graph, the image generation module (480) can calculate the 2D coordinates of the nodes through rule-based optimization that standardizes bond lengths and angles, generates and arranges ring structures, and minimizes overlap between atoms. The image generation module (480) of one embodiment may be implemented with RDKit, but is not limited thereto. The image generation module (480) of one embodiment may also visualize specific functional groups or explored sub-structural regions of the molecular graph, i.e., MCS parts, by highlighting them in a different color. The 2D molecular structure diagram of the molecular structure generated through the image generation module (480) of one embodiment may be rendered into a high-quality 2D image file (PNG, SVG) and then output to be provided to the user.

[0276] As illustrated in FIG. 12, the molecular information response method according to the molecular information response system (400) of the fourth embodiment of the present invention, as described above, is intended to efficiently search for molecules having a Maximum Common Substructure (MCS) with molecular data input by a user in a database, merge the two molecules to create a macromolecule, and provide various information about the searched or created molecules to the user.

[0277] The molecular information response method of the fourth embodiment may include: a step of receiving molecular data from a user computing device and converting it into an input molecular graph (S1100); a step of searching a database for a molecular graph having the input molecular graph and a maximum common substructure (MCS) (S1200); a step of generating a macromolecular graph by merging the input molecular graph and the searched molecular graph based on the maximum common substructure when a molecular graph is found in the search step (S1300); and a step of generating information about the molecular graph found in the search step and outputting it to the user computing device (S1400).

[0278] In the step (S1100) of receiving molecular data from a user computing device and converting it into an input molecular graph, the molecular data input from the user computing device (410) is in the form of a standardized string such as SMILES. The input SMILES string can be converted into an input molecular graph by the preprocessing unit (471) of the system. This conversion process is carried out according to the sequential parsing rules of SMILES. For example, alphabets such as 'C', 'O', and 'N' represent atoms, symbols such as '-', '=', and '#' represent single, double, and triple bonds, respectively, parentheses '()' represent branches, and numbers such as '1' and '2' represent the beginning and end of rings. The preprocessing unit (471) interprets these rules to generate a graph data structure composed of atoms (nodes) and bonds (edges), and this molecular graph can serve as basic data for a computer to understand the topological structure of the molecule and perform operations.

[0279] In the step (S1200) of searching a database for a molecule graph having a maximum common substructure (MCS) with an input molecule graph, the molecule search unit (472) can search a database (450) for a molecule graph having a maximum common substructure (MCS) with a previously generated input molecule graph. The MCS refers to the largest substructure that two molecules have in common, and this can serve as a key criterion for determining the structural similarity between two molecules. If a macromolecular graph is already stored in the database (450), the search process is performed more efficiently. Each atom in the macromolecular graph has identifier information (tags) attached to it, indicating which original molecule the atom originated from. Therefore, when a part having an MCS with the input molecule graph (query substructure) is searched in the macromolecular graph, all original molecules containing the query substructure can be quickly identified by calculating the intersection of tag information of the atoms constituting the MCS. This enables a much faster search than the method of comparing numerous molecules one by one.

[0280] In the step (S1300) of generating a macromolecular graph by merging the input molecular graph and the discovered molecular graph based on the maximum common substructure when a molecular graph is discovered in the search step, the molecular compression unit (473) can generate a single macromolecular graph by merging the input molecular graph and the discovered molecular graph when a molecule having an MCS is successfully discovered in the previous step. The merging process can be carried out as follows. First, the order of atoms is rearranged so that the submatrix corresponding to the MCS in the adjacency matrix of each of the two molecular graphs is located at the top left of the matrix. Then, the two adjacency matrices are merged based on the MCS portion to generate a single integrated adjacency matrix (alignment and merging). Next, it can be verified whether all atoms in the merged integrated adjacency matrix are chemically valid, that is, whether they satisfy the valency rule. For example, carbon (C) atoms can have 4 bonds, and oxygen (O) atoms can have 2 bonds. If, during the merging process, the number of bonds of a specific atom exceeds the allowed valence, it is determined that a chemically stable merger is impossible with the MCS, and a result indicating that the merger is impossible can be output to the user (valence verification). Once valence verification is successfully completed, original molecule identifier information can be tagged to each atom of the generated macromolecule graph. Referring to FIG. 8, this tag can clearly distinguish whether each atom is included in the input molecule, in an existing molecule in the database (450), or in which molecule of the macromolecule it is included. This tagging information can be used very importantly to later trace back the original molecules containing specific substructures within the macromolecule.

[0281] In the step (S1400) of generating information about a molecular graph discovered in the search step and outputting it to a user computing device, the molecular information generation unit (477) can generate various additional information about the molecular graph discovered in the search step (S1200) or generated in the macromolecular graph generation step (S1300) and output it to the user computing device (410). Here, with reference to FIG. 13, the additional information may include text descriptions and SMILES representations, 2D molecular structure diagrams, detailed descriptions related to the molecule, predicted physical properties related to the molecule, etc. The text descriptions and SMILES representations are the most basic information, consisting of simple text descriptions of the discovered molecule or SMILES representations indicating the molecular structure. The 2D molecular structure diagram can be generated and output by the image generation module (480) based on the adjacency matrix information of the molecular graph. At this time, the MCS, which is a common part with the input molecule, can be highlighted with a different color or thickness to help the user intuitively understand the structural relationship between the two molecules. The description generation module (479) can generate a very detailed and professional natural language description of a molecule by utilizing a large-scale language model (LLM). This module receives inputs such as the SMILES representation of the molecule, information on major functional groups, and predicted physical property values, and can provide a detailed description at a level that even an undergraduate can understand by synthesizing the structural features of the molecule, the role of each functional group, the meaning of the physical property values, and known medical or industrial uses. The physical property prediction module (478) can predict the physicochemical properties of the molecule (e.g., solubility, boiling point, toxicity, etc.) directly from the molecular graph structure by utilizing an artificial intelligence model such as a graph neural network (GNN) and output them to the user.

[0282] As illustrated in FIG. 14, a novel crystal structure prediction system (500) according to the fifth embodiment of the present invention may include a preprocessing unit (510), a molecular candidate generation unit (520), a molecular compression unit (530), a molecular transformation unit (540), a molecular structure adjustment unit (550), and a stability ranking unit (560). Candidate molecular crystal structures generated by the system may be stored in a database.

[0283] The preprocessing unit (510) may be a processing module that converts input molecular data, which is input for predicting a new crystal structure, into a molecular graph form that the system can process. In the fifth embodiment of the present invention, the system can convert molecular data input through user input into a form that a computer system can understand. At this time, the molecular data input by the user may be in a form that expresses specific atoms and bonds within the molecule, for example, molecular data in the form of SMILES (Simplified Molecular Input Line Entry System).

[0284] SMILES is a notation that represents molecular structures as strings, enabling their application to various machine learning and deep learning algorithms. Generally, SMILES can consist of atoms, bonds, rings, aromaticity, and branches. In SMILES notation, each atom is represented by its corresponding element symbol. For example, carbon can be represented as C, nitrogen as N, oxygen as O, and chlorine as Cl, while the hydrogen atom H can be omitted. Bonds are represented by eight symbols: ".", "-", "=", "#", "$", ":", " / ", and " / ". For instance, a double bond can be represented by "=", a triple bond by "#", and a quadruple bond by "$". Rings are represented by breaking a bond at any point in the molecular structure and numbering the two atoms at that broken point. Aromaticity refers to carbon compounds containing an aromatic ring that has a stable structure formed by bonding in a planar ring shape. This aromatic ring is represented in the same way as the aforementioned ring, but the B, C, N, O, P, and S atoms included within it are indicated in lowercase. Branches of the molecule are indicated by parentheses. The first atom inside the parentheses and the first atom after the parentheses end can be connected to the same atom.

[0285] The preprocessing unit (510) can convert molecular data in the form of SMILES into a molecular graph structure so that the system can recognize the molecular data input in the form of such strings. The preprocessing unit (510) can convert the strings into a molecular graph structure by reading the strings of the molecular data in order and forming a molecular pattern map. That is, the preprocessing unit (510) can generate a molecular graph corresponding to the molecular data by interpreting the strings according to sequential parsing rules for the molecular data strings and adding nodes and edges corresponding to the strings to memory accordingly. The molecular graph structure generated in this way can be represented as an adjacency matrix or an adjacency list, and the adjacency matrix and the adjacency list represent the connection relationships of the graph as a two-dimensional array and a list, respectively. In one embodiment of the present invention, the RDKit library provided by Python may be used to convert string-based molecular data into a molecular graph structure, but is not limited thereto.

[0286] Information about molecular data extracted from the preprocessing unit (510) is converted into a graph data structure in which atoms are nodes and the distance between atoms or the bond between atoms is an edge, and this can be stored in memory in the structure of a two-dimensional adjacency matrix with reference to FIG. 3.

[0287] The molecular candidate generation unit (520) is intended to generate a plurality of similar molecular candidate groups based on a 2D molecular graph processed by the preprocessing unit (510). That is, the molecular candidate generation unit (520) can generate molecular candidates that are structurally different in some ways from the input molecular graph but have a similar chemical nature. In the fifth embodiment, the molecular candidate generation unit (520) can generate similar molecular candidate groups by dividing the input molecular graph into a scaffold, which is a core framework, and a functional group (R-group), and then substituting various pre-prepared chemical functional groups (e.g., methyl group, hydroxyl group, benzene ring, etc.) with the functional groups of the input molecular graph. To do this, the molecular candidate generation unit (520) can use RDKit, an open-source library for Python.

[0288] Meanwhile, the molecule candidate generation unit (520) may generate a group of similar molecule candidates by utilizing a large-scale language model (LLM). The molecule candidate generation unit (520) can generate multiple groups of similar molecule candidates by inputting the SMILES representation of the input molecule graph into a large-scale language model (LLM) that has been pre-trained with SMILES strings, which are strings of molecular structures, and by inputting "randomly generate molecules similar to the following molecule" as a system prompt. For example, the large-scale language model can understand the input SMILES structure of aspirin "CC(=O)Oc1ccccc1C(=O)O" and perform paraphrasing operations such as changing one atom (C -> N), modifying one functional group, or altering the ring structure. Through this, a list of SMILES strings of new molecules that are structurally similar to aspirin but have subtle differences can be output. The SMILES of the similar molecule candidate group generated in this way can be converted into a molecule graph through the preprocessing unit (510) and stored in a database.

[0289] The molecular compression unit (530) compresses and converts a set of individual molecules into a giant molecule structure. The giant molecule structure converted through the molecular compression unit (530) can represent the structural information of multiple molecules in a superposition manner, and in the giant molecule structure (giant molecule graph), each atom (node) may include metadata (tags) that identify which original molecules it originated from.

[0290] To this end, the molecular compression unit (530) of the fifth embodiment of the present invention may include a common substructure search module (531), an adjacent matrix merging module (532), an valence verification module (533), and an atomic tagging module (534).

[0291] The common substructure search module (531) is for searching for a common substructure in the adjacency matrix of a molecular graph for molecular data input by a user and molecular data of a group of molecular candidates generated by the molecular candidate generation unit (520) and stored in a database.

[0292] With reference to FIGS. 3 and 4, a common substructure can be searched in the adjacency matrix of two molecular graphs. As the largest connection subgraph common to chlorobenzene and phenetol, a common benzene ring can be searched as a common substructure. To this end, a Maximum Common Substructure (MCS) search algorithm that searches for the maximum substructure between the two molecules can be applied. The Maximum Common Substructure search algorithm of one embodiment of the present invention attempts all possible combinations of atomic pairs of the two molecules and compares the nodes and edges of the first graph of the first molecule with the nodes and edges of the second graph of the second molecule to identify one or more sets of substructures common to the two graphs and determine the substructure with the largest size as the Maximum Common Substructure (MCS). That is, in the fifth embodiment of the present invention, a common substructure can be identified when the nodes of the first graph and the nodes of the second graph represent the same element, and the types of chemical bonds (edges) with neighboring nodes connected to each of the two nodes are the same. In the embodiment, the MCS search algorithm expands the common substructure starting from all possible pairs of nodes in the two graphs, and if expansion is not possible, it can return to the previous step to explore other paths.

[0293] Additionally, in the fifth embodiment, if the common substructure search module (531) determines that no common substructure exists between two molecular graphs, it can load the next molecular graph from the database to search for the MCS. As an example, if the two input molecular data are ethanol (CCO) and propanoic acid (CCC(=O)O), the common substructure search module (531) can perform a search for each molecular graph by comparing atomic pairs of the two molecules. First, the oxygen (O) of ethanol and the single bond oxygen (-O) in the carboxylic acid (-COOH) group of propanoic acid can be compared in pairs. As a result of comparing the carbons (CO) connected to each of the two oxygens, the element type "carbon" and the bond type "single bond" match, so CO can be one of the candidates for the common substructure. Next, the next carbons CCO connected to each of the carbons of the selected common substructure CO can be compared in pairs. CCO, which is the subject of comparison, can be a candidate for a common substructure as both the elemental type and the bond type match in the two molecules. If the oxygen (O) of ethanol and the carbonyl oxygen (=O) of propanoic acid are paired and compared, the bond types with carbon are different (ethanol has a single bond, while propanoic acid has a double bond), so this pathway is treated as a failure, and the next pathway can be explored. As a result of performing this process on two input molecules, the most common substructure of the two input molecule data can be determined to be CCO (a structure in which oxygen is bonded to an ethyl skeleton).

[0294] As illustrated in FIGS. 3 and 4, the maximum common substructure of chlorobenzene and phenetol (shaded portion of the adjacency matrix) can be derived through an algorithm that searches for the maximum common substructure.

[0295] The adjacency matrix merging module (532) can merge the two adjacency matrices after rearranging the exact matching parts in each adjacency matrix of the two input molecular data. Referring to FIGS. 3 and 4, in the two molecular graphs, the submatrix corresponding to the maximum common substructure (MCS) can be aligned so that it is located at the top-left of the adjacency matrix. That is, the rows and columns of the submatrix corresponding to the maximum common substructure determined by the common substructure search module (531) can be aligned to be sent to the top-left of each adjacency matrix. Subsequently, the adjacency matrix merging module (532) merges the two aligned adjacency matrices into a single matrix. At this time, the common part (submatrix), which is the exact matching part of the two matrices, is retained as is, and the different parts (partially matching parts) are all accommodated to create the merged adjacency matrix. That is, the adjacency matrix merging module (532) creates a single integrated adjacency matrix by keeping the common parts of the two matrices as they are and expanding the rows and columns corresponding to the non-common parts, which may be similar to the union operation of two graphs.

[0296] The valence verification module (533) can verify the integrated adjacency matrix according to the valence rule within the merged integrated adjacency matrix. The most important aspect of the merging process may be the creation of a chemically valid molecule. A graph merged on a computer may be a chemically unstable or impossible structure. Therefore, the sum of each row (or column) of the integrated adjacency matrix is ​​calculated to determine the total number of bonds (degree) of each atom, and it is verified whether this value exceeds the allowable valence of the corresponding element. That is, it can be verified whether the valence rule of each atom (e.g., carbon has a maximum of 4 bonds) is satisfied (verifying whether the rule of filling the outermost shell with 8 electrons to achieve a stable electron configuration according to the valence rule is satisfied). Referring to FIG. 6, in the state immediately after merging, the number of bonds of a specific carbon atom in the integrated adjacency matrix becomes 5, which violates the valence rule. In this case, the bonds can be rearranged to adjust the number of bonds of all atoms so that they do not exceed the maximum allowable limit. For example, if the number of carbon bonds exceeds 4, this problem can be solved by attempting rearrangements, such as adjusting the bond positions of the non-common parts. If, during the verification process of atoms included in a submatrix corresponding to the most common substructure (MCS), the valence rule cannot be satisfied through any rearrangement, it is determined that the MCS cannot be merged, and other MCS candidates can be searched for or classified as unmergeable pairs.

[0297] The atomic tagging module (534) can generate and store a set of original molecule identifiers as additional attributes for each atom (node) object constituting the graph for a combined adjacency matrix (macromolecule graph) of a macromolecule that has been merged and verified and confirmed to be valid. That is, the set of original molecule identifiers can be tagged with identification information indicating which original molecule each atom constituting the macromolecule originated from.

[0298] As illustrated in FIG. 7, two molecules can be merged into a single macromolecule by sharing a maximum common substructure (MCS), and each atom (node) can be tagged with an identifier corresponding to the original molecule, for example, molecule 1 as "1" and molecule 2 as "2". Referring to FIG. 6, identifiers (1, 2) tagged to a single atom (node) indicate that the corresponding atom exists in both molecule 1 and molecule 2, and identifier (1) can identify that the corresponding atom exists only in molecule 1, and identifier (2) can identify that the corresponding atom exists only in molecule 2. These identifiers are stored by creating a separate set of original molecule identifiers, and this set can be implemented as a data structure known in the field of computing devices. For example, the set of original molecule identifiers can be implemented as an efficient data structure such as a HashSet or a Bit Vector. For example, when dealing with 1 billion molecules, a vector of 1 billion bits in length can be used to determine whether each atom belongs to a specific molecule.

[0299] By utilizing the novel crystal structure prediction system (500) of the fifth embodiment of the present invention having the configuration as described above, and by repeatedly performing the process described above on numerous molecules in the chemical space with reference to FIG. 8, the entire chemical space can be represented by a small number of macromolecules.

[0300] The molecular transformation unit (540) is intended to convert the molecular graph of a plurality of similar molecular candidate groups generated by the molecular candidate generation unit (520) and the macromolecular graph compressed by the molecular compression unit (530) into 3D spatial coordinates (molecular crystal structure). That is, based on the information of the 2D molecular graph, it can be converted into a possible 3D conformer by considering chemical bond lengths, angles, dihedral angles, etc. That is, the molecular transformation unit (540) can generate a 3D structure by extracting an atomic list using atoms constituting the adjacency matrix of the molecular graph, assembling bonding relationships between the atoms of the molecule using the adjacency matrix information to generate an arbitrary molecular skeleton, and adding hydrogen atoms to the arbitrary molecular skeleton thus generated. The molecular transformation unit (540) can generate a 3D molecular structure by extracting 3D coordinates per atom based on the generated 3D structure. In an embodiment of the present invention, the molecular transformation unit (540) can generate a 3D molecular structure in an XYZ format having 3D molecular structure information. The XYZ format includes the three-dimensional atomic coordinates of the molecule, and the XYZ format is composed of the total number of atoms constituting the molecule, atomic symbols, and the xyz coordinates of the atoms, and can be primarily utilized for input / output of computational chemistry programs or for visualization of molecular structures. Meanwhile, the molecular transformation unit (540) of one embodiment may perform a transformation of the molecular graph by focusing on common molecules containing the core framework MCS, targeting the generated macromolecule graph. That is, instead of performing a 3D structure transformation for each individual candidate molecular graph in the database, the molecular transformation unit (540) may generate a 3D molecular structure by focusing on individual molecules that share the MCS. In this way, by performing a 3D structure transformation on individual molecules that share the MCS within the macromolecule, the speed of the entire process can be improved. In the embodiment of the present invention, the molecular transformation unit (540) used the Python RDKit library, but is not limited thereto.

[0301] Molecular candidate structures of a single molecule or a macromolecule built in the database through the configuration described above can be transferred to the molecular structure adjustment unit (550).

[0302] The molecular structure adjustment unit (550) is intended to perform structural optimization by adjusting the atomic positions and lattice parameters of a molecular candidate structure. In one embodiment, the molecular structure adjustment unit (550) can adjust the positions of atoms and the shape and size (lattice parameters) of a unit cell for a plurality of molecular candidate structures. Lattice parameters are six numbers that determine the type of crystal structure (e.g., cubic, tetragonal, etc., seven crystal systems) and are factors that affect physical properties such as the density, hardness, melting point, and electrical conductivity of the material. The molecular structure adjustment unit (550) can adjust the generated molecular candidate structures by changing the lattice parameter values ​​and the positions of molecules (or atoms) within the unit cell so that the candidate structures can have an energetically stable state. For example, the molecular structure adjustment unit (550) can minimize energy by finely adjusting the atomic positions and lattice until the force applied to the atoms becomes less than or equal to a specific threshold value (0.01 eV / A). That is, the molecular structure adjustment unit (550) can repeatedly perform an "energy calculation process" that predicts the lattice energy value of a candidate molecular structure (candidate crystal structure) and a "position adjustment process" that moves the corresponding atom according to the direction and amount of force each atom of the candidate crystal structure is receiving. For example, when the molecular structure adjustment unit (550) derives information such as "atom A is receiving a force to the right and atom B is receiving a force downward" (energy calculation process), it can move atom A to the right and atom B downward (position adjustment process) and then predict the lattice energy value again. The molecular structure adjustment unit (550) can repeat this process multiple times, and can repeat it until a stable state is reached where the force acting on all atoms is close to zero and the atoms no longer want to move. That is, the molecular structure adjustment unit (550) can make the candidate crystal structure have a thermodynamically stable and optimized crystal structure state.Meanwhile, the molecular structure adjustment unit (550) of the embodiment may reflect the MCS information of the macromolecule when adjusting the structure of the candidate crystal structure. That is, the molecular structure adjustment unit (550) may adjust the molecular crystal structure by completely fixing the atomic coordinates of the MCS portion and adjusting only the surrounding functional groups, or by applying an energy penalty so that the MCS atoms do not deviate significantly from their original positions.

[0303] In one embodiment, the molecular structure adjustment unit (550) may use a Universal Model for Atoms (UMA) model pre-trained with a large-scale molecular crystal dataset. In one embodiment, the UMA model may be pre-trained with the OMC25 dataset, which contains over 25 million molecular crystal structure data generated from 50,000 different compounds, and each data contains energy, force, and stress tensor information calculated at the DFT level including dispersion forces. By adjusting molecular candidate structures using a UMA model pre-trained with such a dataset, it is possible to improve accuracy and speed by replacing existing high-cost quantum computation (DFT; Density Functional Theory) or low-accuracy classical force fields. The UMA model is a universal model built based on an equivariant graph neural network called the eSEN architecture. The eSEN architecture includes a graph neural network (GNN) that recognizes molecules or crystals using a graph structure representing atoms as nodes and interactions between atoms as edges, and can possess equivariance characteristics that allow the model to consistently predict physical properties even with rotations or transformations in 3D space. This eSEN architecture incorporates 3D spatial symmetry into the model, enabling physically valid predictions; for example, the energy values ​​calculated by the model may not change even if the molecule is rotated. As this UMA model is pre-trained with a vast amount of Density Functional Theory (DFT) computational data for tens of thousands of diverse molecular crystal structures, it can be a Machine Learning Interatomic Potential (MLIP) model that can be applied without additional fine-tuning for specific molecules.

[0304] The stability ranking unit (560) can determine the ranking based on molecular stability by calculating the lattice energy for all candidate crystal structures (molecular candidate structures) after the molecular structure adjustment for all candidate crystal structures (molecular candidate structures) is completed. The stability ranking unit (560) can determine the ranking in order of lowest energy after the energies of all molecular candidate structures are calculated. That is, the molecular crystal structure having the lowest energy can be the candidate crystal structure (polymorph) most likely to be experimentally discovered.

[0305] Meanwhile, the stability ranking unit (560) may optionally perform additional free energy calculations to evaluate stability under realistic conditions such as room temperature or atmospheric pressure. In one embodiment, the free energy calculation process may target candidate crystal structures with high stability and low lattice energy. For example, the free energy calculation may be performed by sampling 10 structures starting from those with low lattice energy. In one embodiment, thanks to the computational efficiency of the UMA model, the calculation of phonon dispersion can be easily performed for multiple candidate crystal structures in the low energy region. That is, for multiple candidate crystal structures, the vibration free energy according to temperature can be calculated based on phonon dispersion, which is information on the types and frequencies of all vibrations that the crystal may have. By summing the vibration free energy calculated in this way to the static lattice energy of the corresponding crystal structure, the Gibbs Free Energy can be calculated. The stability ranking unit (560) may determine the ranking of the candidate crystal structures in order of lowest Gibbs Free Energy. That is, the stability ranking unit (560) can determine a crystal structure with high thermodynamic stability under actual conditions (room temperature, atmospheric pressure) as a candidate by determining the ranking based on Gibbs free energy.

[0306] A novel crystal structure prediction system (500) of one embodiment having the configuration described above can derive crystal structures having low lattice energy or thermodynamically stable higher crystal structures as final prediction results.

[0307] As illustrated in FIG. 15, a novel crystal structure prediction method performed in a novel crystal structure prediction system (500) according to the fifth embodiment of the present invention may include: receiving input molecular data (S2100); generating a plurality of similar molecular candidate data similar to the input molecular data (S2200); merging at least a portion of the similar molecular candidate data based on a common substructure to generate a macromolecular graph (S2300); converting the similar molecular candidate data and the macromolecular graph into a molecular crystal structure (S2400); calculating the lattice energy of the molecular crystal structure and adjusting it into an energetically stabilized crystal structure (S2500); and further calculating the lattice energy of the adjusted molecular crystal structure to determine the stability ranking of the molecular crystal structure (S2600).

[0308] The step of receiving input molecular data (S2100) can receive input molecular data from a user through an input / output unit (140). The data input at this step is input for predicting a new crystal structure, and can be converted into a form that a computer system can understand by a preprocessing unit (510), which is a processing module that converts the input molecular data into a molecular graph form that the system can process. At this time, the molecular data input by the user may be in a form that represents specific atoms and bonds within the molecule, for example, in the form of SMILES (Simplified Molecular Input Line Entry System). The preprocessing unit (510) can convert the molecular data in the form of SMILES into a molecular graph structure so that the system can recognize the molecular data input in this string form. The preprocessing unit (510) can convert the string into a molecular graph structure by reading the string of molecular data in order to form a molecular pattern map. That is, the preprocessing unit (510) can generate a molecular graph corresponding to the molecular data by interpreting the string according to sequential parsing rules for the molecular data string and adding nodes and edges corresponding to the string to memory. The molecular graph structure generated in this way can be stored in a database as an adjacency matrix.

[0309] The step (S2200) of generating multiple similar molecule candidate data similar to the input molecule data can generate multiple similar molecule candidate groups based on a 2D molecule graph processed in the preprocessing unit (510). The molecule candidate generation unit (520) can generate molecule candidates that are structurally different in some ways from the input molecule graph but have a similar chemical nature. The molecule candidate generation unit (520) can generate similar molecule candidate groups by dividing the input molecule graph into a scaffold, which is a core framework, and a functional group (R-group), and then substituting various pre-prepared chemical functional groups (e.g., methyl group, hydroxyl group, benzene ring, etc.) with the functional groups of the input molecule graph. Alternatively, the molecule candidate generation unit (520) may generate similar molecule candidate groups by utilizing a large-scale language model (LLM). The molecule candidate generation unit (520) can generate multiple similar molecule candidate groups by inputting a SMILES representation of an input molecule graph into a large-scale language model (LLM) that has been pre-trained with SMILES strings, which are strings of molecular structures. The similar molecule candidate groups generated in this way can be stored in a database in the form of an adjacency matrix.

[0310] The step (S2300) of generating a macromolecule graph by merging at least a portion of similar molecule candidate data based on a common substructure can convert a set of individual molecules into a macromolecule structure by compressing it. The macromolecule structure converted through the molecule compression unit (530) can represent the structural information of multiple molecules by overlapping them, and in the macromolecule structure (macromolecule graph), each atom (node) can include metadata (tag) identifying which original molecules it originated from.

[0311] The step (S2400) of converting similar molecule candidate data and macromolecular graphs into a molecular crystal structure can convert the molecular graph of a plurality of similar molecule candidate groups generated by the molecular candidate generation unit (520) and the macromolecular graph compressed by the molecular compression unit (530) into 3D spatial coordinates (molecular crystal structure). That is, based on the information of the 2D molecular graph, it can be converted into a possible 3D conformer by considering chemical bond lengths, angles, dihedral angles, etc. That is, the molecular transformation unit (540) can generate a 3D structure by extracting an atomic list using atoms constituting the adjacency matrix of the molecular graph, assembling bonding relationships with atoms of the molecule using the adjacency matrix information to generate an arbitrary molecular skeleton, and adding hydrogen atoms to the arbitrary molecular skeleton thus generated. The molecular transformation unit (540) can generate a 3D molecular structure by extracting 3D coordinates per atom based on the generated 3D structure. In an embodiment of the present invention, the molecular transformation unit (540) can generate a 3D molecular structure in an XYZ format having 3D molecular structure information. Meanwhile, the molecular transformation unit (540) of one embodiment may perform a transformation of the molecular graph by focusing on common molecules containing the core framework MCS, targeting the generated macromolecule graph. That is, instead of performing a 3D structure transformation for each individual candidate molecular graph in the database, the molecular transformation unit (540) may generate a 3D molecular structure by focusing on individual molecules that share the MCS. In this way, by performing a 3D structure transformation on individual molecules that share the MCS in the macromolecule, the speed of the entire process can be improved.

[0312] The step (S2500) of calculating the lattice energy of a molecular crystal structure and adjusting it into an energetically stabilized crystal structure can perform structural optimization by adjusting the atomic positions and lattice parameters of the molecular crystal structure. The molecular structure adjustment unit (550) can adjust the positions of atoms and the shape and size (lattice parameters) of the unit cell for a plurality of molecular candidate structures. That is, the molecular structure adjustment unit (550) can adjust the generated molecular candidate crystal structure by changing the lattice parameter values ​​and the positions of molecules (or atoms) within the unit cell so that the candidate crystal structure can have an energetically stable state. The molecular structure adjustment unit (550) can repeat this process multiple times, and can repeat it until a stable state is reached where the force acting on all atoms is close to zero and the atoms no longer want to move. That is, the molecular structure adjustment unit (550) can make the candidate crystal structure have a thermodynamically stable and optimized crystal structure state. Meanwhile, the molecular structure adjustment unit (550) of the embodiment may reflect the MCS information of the macromolecule when adjusting the structure of the candidate crystal structure. That is, the molecular structure adjustment unit (550) can adjust the molecular crystal structure by completely fixing the atomic coordinates of the MCS portion and adjusting only the surrounding functional groups, or by applying an energy penalty so that the MCS atoms do not deviate significantly from their original positions.

[0313] The step (S2600) of determining the stability ranking of molecular crystal structures by additionally calculating the lattice energy of the adjusted molecular crystal structures can determine the ranking based on molecular stability by calculating the lattice energy for all candidate crystal structures (molecular candidate structures) after the molecular structure adjustment for all candidate crystal structures (molecular candidate structures) is completed. The stability ranking unit (560) can determine the ranking in order of lowest energy after the energies of all molecular candidate structures are calculated. That is, the molecular crystal structure having the lowest energy can be the candidate crystal structure (polymorph) most likely to be experimentally discovered. Meanwhile, the stability ranking unit (560) can optionally perform additional Gibbs free energy calculations to evaluate stability under realistic conditions such as room temperature or atmospheric pressure. The stability ranking unit (560) can determine the ranking of candidate crystal structures in order of lowest Gibbs free energy. That is, as the stability ranking unit (560) determines the ranking based on Gibbs free energy, crystal structures with high thermodynamic stability under actual conditions (room temperature, atmospheric pressure) can be determined as candidates.

[0314] The integrated molecular analysis and crystal structure prediction system according to the 6th embodiment of the present invention has the function of providing basic molecular information through an interactive interface for a molecule input by a user and predicting the most stable three-dimensional crystal structure that the molecule may have.

[0315] The integrated molecular analysis and crystal structure prediction system according to the present embodiment may be configured to include a user computing device, a server computing system, a database, and an integrated computation module.

[0316] A user computing device is a client terminal used to input SMILES (Simplified Molecular Input Line Entry System) data or natural language queries regarding molecules to be analyzed, and to visually verify the final analysis results.

[0317] The server computing system provides a conversational input / output interface, which is implemented in the form of an AI chatbot to receive user input and output processing results in the form of intuitive messages or reports.

[0318] The integrated computation module is a core computation module that performs molecular preprocessing, search, compression, information generation, and crystal structure prediction in conjunction with a server computing system, and may functionally include a preprocessing unit, an integrated search and compression unit, a molecular information generation unit, and a crystal structure prediction unit.

[0319] The preprocessor converts molecular data input from a user computing device into a molecular graph in a format that the system can process. In this case, the input data may be a string in the form of SMILES, and the preprocessor can parse it to convert it into an adjacency matrix-based molecular graph structure where atoms are nodes and bonds are edges.

[0320] The integrated search and compression unit searches for the Maximum Common Substructure (MCS) between the input molecular graph and existing molecules (single molecules or macromolecules) stored in the database, and can efficiently manage molecules based on this. Specifically, the integrated search and compression unit can generate a macromolecule graph by aligning the adjacency matrices of the two molecular graphs so that the MCS is located at the top-left and then merging them. During this process, the valence verification module verifies whether the merged structure is chemically valid, and identifiers indicating which original molecule each atom originated from can be tagged and stored in the database. This compression method can serve as a foundation for improving processing efficiency by reducing redundant calculations on the common structure (MCS) during the crystal structure prediction described later.

[0321] The molecular information generation unit can generate basic molecular analysis information in response to a user's query. The molecular information generation unit may include a property prediction module that predicts physicochemical properties such as solubility and toxicity of an input molecule using a Graph Neural Network (GNN) model, a description generation module that generates natural language descriptions of the structural features and uses of the molecule using a Large Language Model (LLM), and an image generation module that generates visual 2D molecular structure diagrams based on molecular graphs. The description generation module may also provide descriptions reflecting the latest papers or patent information by utilizing Search Augmented Generation (RAG) technology.

[0322] The crystal structure prediction unit can predict and optimize 3D crystal structures when a user requests in-depth analysis or when input data is determined to be a novel material. Specifically, the crystal structure prediction unit may include a molecular candidate generation module, a molecular transformation module, a molecular structure adjustment module, and a stability ranking module. First, the molecular candidate generation module can generate multiple structurally similar molecular candidate groups by substituting the functional groups (R-groups) of the input molecule or by utilizing an LLM pre-trained with SMILES strings. Next, the molecular transformation module can transform the 2D molecular graph information into a 3D molecular structure with 3D spatial coordinates (XYZ format) by considering bond lengths, angles, dihedral angles, etc. At this stage, the speed of the overall process can be improved by performing 3D transformation by focusing on regions sharing MCS within the macromolecule. Subsequently, the molecular structure adjustment module searches for energetically stable states by fine-tuning atomic positions and lattice parameters for the generated 3D molecular candidate structures. To this end, a pre-trained Universal Model for Atoms (UMA) model based on an Equitransform Graph Neural Network (eSEN) architecture may be used. This model calculates the forces applied to atoms and lattice energies, and can iteratively optimize the structure until the force falls below a specific threshold. Finally, the stability ranking module calculates the lattice energies of the optimized candidate crystal structures to determine the first ranking. Furthermore, for the top candidates, the vibrational free energy based on phonon dispersion is additionally calculated and added to the lattice energy to calculate the Gibbs free energy, thereby finally determining the actual stability ranking under room temperature and atmospheric pressure conditions.

[0323] Finally, the server computing system can integrate text descriptions, predicted physical properties, and 2D structural diagrams generated by the molecular information generation unit, as well as optimal crystal structure images and lattice energy values ​​derived from the crystal structure prediction unit, and provide them to the user through an interactive input / output interface. This allows the user to perform everything from molecular information retrieval to advanced crystal structure prediction on a single platform.

[0324] Meanwhile, one embodiment of the present invention may be implemented as an Application Specific Integrated Circuit (ASIC) manufactured to suit specific application fields and special functions of devices.

[0325] Custom integrated circuits are also referred to as custom semiconductors. Unlike standard semiconductors, which have fixed specifications and can be applied to any electronic product or application as long as certain requirements are met, custom semiconductors are used for specific products or functions and are integrated circuits manufactured by semiconductor companies to meet specific orders. In other words, custom semiconductors are designed and manufactured to perform only the functions necessary for a specific device or feature. Custom semiconductors are broadly classified according to their design method into Full Custom ICs, which design and manufacture circuits from scratch to meet user requirements, and Semi-Custom ICs, which design and manufacture circuits using parts of a standardized design.

[0326] Application-specific semiconductors are primarily used in communication systems, high-performance computing systems, consumer electronics, automobiles, industrial automation, medical devices, the military, and the aerospace industry; recently, they are being applied to AI semiconductors that execute the large-scale computations required for AI implementation with high performance and power efficiency.

[0327] Application-specific semiconductors (ASICs) are used as core components in communication systems, such as network routers, switches, and modems, performing data packet processing, protocol conversion, and signal processing to provide high throughput and low latency. In high-performance computing systems, ASICs serve as key components for high-speed and parallel processing, while in consumer electronics—including digital cameras, smartphones, tablets, and game consoles—ASICs provide high-performance and low-power solutions required to perform specific functions. In the automotive industry, ASICs are used to control various electronic systems within vehicles, and in industrial automation systems, they provide solutions for high-precision control and high-performance processing.

[0328] An application-specific integrated circuit to which an embodiment of the present invention is applied includes a memory in which an individual memory interface (I / F) is implemented, and may include a plurality of function blocks that request memory access. Each function block may be a Direct Memory Access (DMA) function block, a processor, a video processor, a cache controller, a decompression block, or a data path block. The basic configuration of the application-specific integrated circuit may include a transistor that amplifies or switches an electrical signal, a logic gate which is a circuit that performs a logical function by combining transistors, a memory cell that stores data, an analog circuit which is a circuit that processes continuous voltage or current by combining transistors, and an Intellectual Property Core (IP Core) such as a microprocessor, DSP, or graphics core that is pre-designed to perform a specific function.

[0329] The ASIC may include an individual memory I / F that interfaces with individual memory and an embedded memory I / F that interfaces with embedded memory. The individual memory I / F is connected to each function block to receive memory access signals (e.g., control signals, address signals, and data signals) and, based on these input signals, can generate signals to control the individual memory. The embedded memory I / F is connected to each function block to receive memory access signals (e.g., control signals, address signals, and data signals) and, based on these input signals, can generate modified memory access signals to control the embedded memory. The individual memory I / F and the embedded memory I / F are designed within the memory control block of the ASIC to provide a memory control structure that can be flexibly applied to both the individual memory and the embedded memory.

[0330] Additionally, an application-specific integrated circuit (ASIC) for an artificial neural network (ANN) is composed of multiple neurons arranged in an array and multiple synapse circuits, each neuron being composed of a register, a microprocessor, and at least one input, and each synapse circuit being configured to include memory for storing synapse weights. Here, each neuron of the ASIC may be connected to at least one other neuron through one of the multiple synapse circuits.

[0331] Although the present disclosure has been described as generally being implementable by a computing device, a person skilled in the art will be well aware that the present disclosure may be implemented in combination with computer-executable instructions and / or other program modules that can be executed on one or more computers and / or as a combination of hardware and software.

[0332] Those skilled in the art of the present disclosure will understand that information and signals may be represented using any various different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced in the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.

[0333] Those skilled in the art will understand that the various exemplary logic blocks, modules, processors, means, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented by electronic hardware, various forms of programs or design code (referred to herein as software for convenience), or a combination of all such. To clearly illustrate this interoperability between hardware and software, various exemplary components, blocks, modules, circuits, and steps have been generally described above in relation to their functions. Whether such functions are implemented as hardware or software depends on the design constraints imposed on the specific application and the overall system. Those skilled in the art may implement the functions described in various ways for each specific application, but such implementation decisions should not be interpreted as being outside the scope of this disclosure.

[0334] The various embodiments presented herein may be implemented as methods, devices, or articles manufactured using standard programming and / or engineering techniques. The term "article manufactured" includes a computer program, a carrier, or a medium accessible from any computer-readable storage device. For example, computer-readable storage media include, but are not limited to, magnetic storage devices (e.g., hard disks, floppy disks, magnetic strips, etc.), optical discs (e.g., CDs, DVDs, etc.), smart cards, and flash memory devices (e.g., EEPROMs, cards, sticks, key drives, etc.). Additionally, the various storage media presented herein include one or more devices and / or other machine-readable media for storing information.

[0335] It should be understood that the specific order or hierarchy of steps in the presented processes is an example of exemplary approaches. It should be understood that the specific order or hierarchy of steps in the processes may be rearranged within the scope of this disclosure based on design priorities. The appended method claims provide elements of various steps in a sample order, but do not imply being limited to the specific order or hierarchy presented.

[0336] Description of the presented embodiments is provided so that a person skilled in the art may use or practice the present disclosure. Various modifications to these embodiments will be apparent to a person skilled in the art, and the general principles defined herein may be applied to other embodiments without departing from the scope of the present disclosure. Thus, the present disclosure is not limited to the embodiments presented herein, but should be interpreted in the broadest possible scope consistent with the principles and novel features presented herein.

Claims

1. As a system, At least one memory for storing instructions; and It includes at least one processor that executes the above instructions to perform an operation, The operation performed by executing the instruction by at least one processor is, The operation of receiving or generating multiple molecular data or molecular graphs; An operation to identify or explore the maximum common substructure between the plurality of molecular data or molecular graphs; and The operation of generating a macromolecular graph or an integrated molecular graph by merging the plurality of molecular data or molecular graphs to share the identified maximum common substructure as nodes or edges; System.

2. In Claim 1, The operation of generating the above macromolecular graph or integrated molecular graph comprises aligning the submatrix corresponding to the identified maximum common substructure so that it is located at the top-left of the adjacency matrix of each molecular graph, and merging the aligned adjacency matrices to generate a single integrated adjacency matrix. System.

3. In Claim 1, The above operation further includes an operation of verifying whether each atom constituting the generated macromolecular graph or integrated molecular graph satisfies the chemical valence rule. System.

4. In Claim 3, The above operation further includes the operation of tagging identifier information to each node of the graph where the verification is completed, for identifying the original molecular data from which the node originated. System.

5. In Claim 1, Using the above macromolecular graph or integrated molecular graph to perform at least one of compressing a molecular database, providing molecular information responses to user queries, or predicting novel crystal structures, System.

6. In Claim 1, The above system performs molecular compression, and the operation is, A preprocessing operation in which at least one artificial intelligence model converts each of a plurality of original molecular data into a molecular graph; and A molecular compression operation comprising: an operation in which at least one artificial intelligence model searches for the maximum common substructure between a first molecular graph and a second molecular graph among the molecular graphs; an operation in which the at least one artificial intelligence model merges the first and second molecular graphs based on the searched maximum common substructure to generate an integrated molecular graph; an operation in which the at least one artificial intelligence model verifies whether each atom constituting the integrated molecular graph satisfies the valence rule; and an operation in which the at least one artificial intelligence model tags identifier information to each node of the integrated molecular graph for which the verification is completed, to identify the original molecule from which the node originated. System.

7. In Claim 6, The above preprocessing operation is, Converting the original molecular data, which is a string in the form of SMILES or SMARTS, into the molecular graph in the form of an adjacency matrix, System.

8. In Claim 6, The above molecular compression operation is, When the above original molecular data is in the form of SMARTS, the query attribute of a node or edge of the first molecular graph is compared with the query attribute of a node or edge of the second molecular graph to derive a common attribute that satisfies both query attributes as the maximum common substructure. System.

9. In Claim 8, The above molecular compression operation is, Starting from all possible pairs of nodes in the two graphs, it expands the common substructure, and if expansion is impossible, it returns to the previous step to explore other paths. System.

10. In Claim 6, The above molecular compression operation is, When the above original molecular data is in the form of SMILES, if the nodes of the first graph and the nodes of the second graph represent the same element and the types of chemical bonds with neighboring nodes connected to each of the two nodes are the same, they are identified as having a common substructure. System.

11. In Claim 10, The above molecular compression operation is, Starting from all possible pairs of nodes in the two graphs, it expands the common substructure, and if expansion is impossible, it returns to the previous step to explore other paths. System.

12. In Claim 6, The above molecular compression operation is, After rearranging the submatrix corresponding to the maximum common substructure in the adjacency matrix corresponding to each of the first and second molecular graphs, the two rearranged adjacency matrices are merged to generate the integrated molecular graph. System.

13. In Claim 12, The rearrangement of the above submatrix is, Moving the rows and columns of the submatrix corresponding to the maximum common substructure to the top-left of each adjacent matrix, System.

14. In Claim 6, Verifying whether the above valence rule is satisfied is, Calculating the sum of each row or column of the adjacency matrix corresponding to the above integrated molecular graph to determine the total number of bonds for each atom, and verifying whether the value exceeds the allowed valence for each element, System.

15. In Claim 6, The above molecular compression operation is, When an atom that does not satisfy the valence rule is found during the above verification, the bonds within the integrated molecular graph are rearranged to adjust them to satisfy the valence rule. System.

16. In Claim 15, The above molecular compression operation is, When an atom that does not satisfy the valence rule is found during the above verification, the bonding positions of the non-common parts within the integrated molecular graph are adjusted and rearranged to satisfy the valence rule. System.

17. In Claim 16, The above molecular compression operation is, If, after the above rearrangement, the above valence rule cannot be satisfied, it is determined that the merging of the above greatest common substructure-based is impossible. System.

18. In Claim 6, A search operation further comprising: receiving a query substructure from a user, searching for a matching region matching the query substructure within the integrated molecular graph stored in memory, and calculating the intersection of identifier information tagged on the nodes constituting the searched matching region to derive an original molecular list including the query substructure; System.

19. In claim 1, an application-specific integrated circuit for predicting material properties, comprising a functional block including information, a memory in which instructions are stored, and at least one processor requesting access to said memory, The memory converts each of the plurality of original molecular data into a molecular graph, selects a first molecular graph and a second molecular graph among the molecular graphs to search for the maximum common substructure between the two graphs, merges the first molecular graph and the second molecular graph based on the searched maximum common substructure to generate a single integrated molecular graph, verifies whether each valence constituting the integrated molecular graph satisfies the valence rule, tags identifier information to identify the original molecule from which each node originated at each node of the integrated molecular graph after the verification is completed, receives a query substructure input from a user, searches for a matching region within the tagged integrated molecular graph that matches the query substructure, calculates the intersection of the identifier information tagged at the nodes constituting the searched matching region to derive a list of original molecules including the query substructure and outputs it to the user. Custom Integrated Circuit.

20. In Claim 1, The above operation is, The method includes: receiving multiple original molecular data as strings and having at least one artificial intelligence model analyze the strings; having at least one artificial intelligence model search for the largest chemically valid structure among substrings common to two strings as the maximum common substructure; and having at least one artificial intelligence model convert each of the original molecular data into a molecular graph. The above-mentioned at least one artificial intelligence model performs the following operations for molecular compression: merging the molecular graphs based on the searched maximum common substructure to generate an integrated molecular graph; verifying whether each atom constituting the integrated molecular graph satisfies the valence rule; and tagging each node of the verified integrated molecular graph with identifier information to identify the original molecule from which the node originated. System.

21. In claim 20, The above molecular compression operation is, Verify whether the above-analyzed common substrings form a valid chemical structure, and determine the largest structure among the structures that pass the verification as the maximum common substructure. System.

22. In claim 20, The above preprocessing operation is, Converting the above original molecular data into the above molecular graph in the form of an adjacency matrix, System.

23. In claim 20, The above molecular compression operation is, After rearranging the submatrix corresponding to the maximum common substructure in the adjacency matrix corresponding to each of the above molecular graphs, the two rearranged adjacency matrices are merged to generate the integrated molecular graph. System.

24. In claim 20, A search operation further comprising: receiving a query substructure from a user, searching for a matching region matching the query substructure within the integrated molecular graph stored in memory, and calculating the intersection of identifier information tagged on the nodes constituting the searched matching region to derive an original molecular list including the query substructure; System.

25. In Claim 1, The above system performs a molecular information response, and the operation is, A preprocessing operation in which the above-mentioned at least one artificial intelligence model generates an input molecular graph corresponding to molecular data input from a user computing device; and A computational operation comprising: a molecular search operation in which at least one artificial intelligence model searches a database for a molecular graph having the input molecular graph and the maximum common substructure (MCS); and a molecular compression operation in which at least one artificial intelligence model merges the input molecular graph and the searched molecular graph based on the maximum common substructure to generate a macromolecular graph. System.

26. In Claim 25, The above operation is, Further including a molecular information generation operation that generates information about the molecular graph explored in the above molecular search operation, System.

27. In Claim 26, The above molecular information generation operation is, A description generation operation that generates a natural language description for the above-mentioned explored molecular graph, System.

28. In Claim 27, The above-described generation operation is, Converting the above-mentioned molecular graph into a SMILES representation and outputting it, System.

29. In Claim 27, The above-described generation operation is, Generating the natural language description by utilizing a large-scale language model (LLM) to receive the SMILES representation of the aforementioned explored molecular graph, system prompts, key functional group information, and predicted key physical property values ​​as input. System.

30. In Claim 27, The above-described generation operation is, Searching for information related to the above-mentioned molecular graph using Search Augmented Generation (RAG) technology, and generating the above-mentioned natural language description based on the above-mentioned search information, System.

31. In Claim 26, The above molecular information generation operation is, Includes an image generation operation that generates a 2D molecular structure map based on the adjacency matrix of the above-mentioned molecular graph, System.

32. In Claim 31, The above image generation operation is, Highlighting and indicating the portion corresponding to the maximum common substructure in the above 2D molecular structure diagram, System.

33. In Claim 26, The above molecular information generation operation is, A property prediction operation that predicts the properties of the molecular graph explored above using a graph neural network (GNN) model, comprising System.

34. In Claim 25, The above molecular compression operation is, An valence verification operation that verifies whether all atoms in a merged macromolecular graph satisfy the valence rule; and an atomic tagging operation that tags original molecular identifier information to each atom of the macromolecular graph verified above; System.

35. In Claim 25, A further comprising an AI chatbot-based conversational input / output interface that receives molecular data or natural language input from a user, transmits it to the above-mentioned computational operation, and outputs the processing result to the user. System.

36. In Claim 1, The above system performs the prediction of a new crystal structure, and the operation is, A preprocessing operation in which molecular data is received from a user and at least one artificial intelligence model converts it into a molecular graph form; A molecular candidate generation operation in which at least one artificial intelligence model generates a plurality of similar molecule candidates structurally similar to the molecular graph transformed in the preprocessing operation; A molecular compression operation in which at least one artificial intelligence model merges at least some of the generated similar molecule candidates based on a common substructure to generate a macromolecular graph; A molecular transformation operation that transforms the aforementioned similar molecule candidates and the aforementioned macromolecular graphs into a three-dimensional molecular crystal structure by at least one artificial intelligence model; A molecular structure adjustment operation in which at least one artificial intelligence model adjusts the atomic positions and lattice parameters of the molecular crystal structure to generate an energetically stabilized crystal structure; and A stability ranking operation comprising at least one artificial intelligence model calculating the lattice energy of the molecular crystal structure adjusted to determine the stability ranking; System.

37. In Claim 36, The above preprocessing operation is, Converting molecular data input as a string in SMILES format into a molecular graph structure in the form of an adjacency matrix where atoms are nodes and bonds between atoms are edges, System.

38. In Claim 36, The above molecular candidate generation operation is, Separating the input molecular graph into scaffolds and functional groups, and generating similar molecule candidates by substituting the said functional groups with other pre-prepared chemical functional groups, System.

39. In Claim 36, The above molecular candidate generation operation is, Generating multiple SMILES strings having structures similar to input molecular data using a large-scale language model pre-trained with SMILES strings of molecular structures, System.

40. In Claim 36, The above molecular compression operation is, A common substructure search operation for searching for the maximum common substructure among multiple molecular graphs; an adjacency matrix merging operation for rearranging and merging the adjacency matrices of each molecular graph based on the maximum common substructure to generate an integrated adjacency matrix; a valence verification operation for verifying whether each atom of the integrated adjacency matrix satisfies a valence rule; and an atomic tagging operation for tagging each atom of the integrated adjacency matrix with an identifier indicating which original molecule it originated from; comprising System.

41. In claim 40, The above atomic tagging operation tags all of the multiple original molecule identifiers to the node when each node of the macromolecular graph exists in common with multiple original molecules. System.

42. In Claim 36, The above molecular transformation operation is, Converting a molecular graph into a 3D conformer by considering bond length, angle, and dihedral angle information of the molecular graph, and outputting in an XYZ format including the 3D coordinates of each atom, System.

43. In Claim 36, The above molecular structure adjustment action is, Using a pre-trained machine learning interatomic potential model, reducing lattice energy by iteratively adjusting atomic positions and lattice parameters until the force applied to atoms within a molecular crystal structure falls below a specific threshold, System.

44. In Claim 43, The above machine learning interatomic potential model is, A graph neural network-based Universal Model for Atoms (UMA) model having isotransformability that can consistently predict physical properties even with rotations and transformations in 3D space, System.

45. In Claim 36, The above stability ranking operation is, Determining the first order of priority based on the lattice energy of the tuned molecular crystal structures, System.

46. ​​In Claim 45, The above stability ranking operation is, Calculating phonon dispersion for top candidate crystal structures with low lattice energy in the above first ranking to calculate vibrational free energy as a function of temperature, summing the vibrational free energy with the lattice energy to calculate Gibbs free energy, and then determining the final ranking in order of lowest Gibbs free energy. System.

47. As a computerized molecular data processing method, A step of identifying the maximum common substructure (MCS) between multiple input molecular data or molecular graphs; and A step comprising merging the plurality of molecular data or molecular graphs to share the identified maximum common substructure as nodes or edges to generate a macromolecular graph or an integrated molecular graph; method.

48. In Claim 47, The above method is, A step of converting each of the multiple original molecular data into a molecular graph; A step of selecting a first molecular graph and a second molecular graph among the above molecular graphs to explore the maximum common substructure between the two graphs; A step of generating a single integrated molecular graph by merging the first molecular graph and the second molecular graph based on the maximum common substructure found above; A step of verifying whether each atom constituting the above integrated molecular graph satisfies the valence rule; and A step comprising: tagging identifier information to each node of the integrated molecular graph verified above to identify the original molecule from which each node originated; method.

49. In claim 48, The above-mentioned integrated molecular graph generation step is, The method comprises: a step of rearranging the submatrix corresponding to the maximum common substructure in the adjacency matrix corresponding to each of the first and second molecular graphs; and a step of merging the two rearranged adjacency matrices. method.

50. In claim 48, The above valence rule verification step is, Calculating the sum of each row or column of the adjacency matrix of the above integrated molecular graph to determine the total number of bonds for each atom, and checking whether the value of the number of bonds exceeds the allowed valence for each element, method.

51. In claim 48, Step of receiving the query substructure from the user; A step of searching for a matching region within the tagged integrated molecular graph that matches the substructure of the query; and The method further comprises the step of deriving an original molecular list including the query substructure by calculating the intersection of identifier information tagged on the nodes constituting the searched matching area. method.

52. In Claim 51, The above matching area search step is, Converting the input query substructure into a query graph, and searching for the matching region through maximum common substructure search between the query graph and the integrated molecular graph, method.

53. In Claim 47, The above method is, A step of receiving molecular data from a user computing device and converting it into an input molecular graph; A step of searching a database for a molecular graph having the maximum common substructure (MCS) with the input molecular graph above; and A step comprising, when a molecular graph is explored in the above exploration step, merging the input molecular graph and the explored molecular graph based on the maximum common substructure to generate a macromolecular graph; method.

54. In Claim 53, The method further comprises the step of generating information about the molecular graph explored in the above-mentioned exploration step and outputting it to a user computing device. method.

55. In Claim 54, The above output step is, A step comprising generating and outputting a text description for the above-mentioned explored molecular graph; method.

56. In Claim 54, The above output step is, A step comprising converting the above-mentioned explored molecular graph into a SMILES representation and outputting it; method.

57. In Claim 54, The above output step is, A step comprising: generating and outputting a 2D molecular structure diagram based on the adjacency matrix of the molecular graph explored above; method.

58. In Claim 54, The above output step is, A step comprising: generating and outputting a detailed description of the explored molecular graph using a large-scale language model (LLM); method.

59. In Claim 54, The above output step is, A step comprising: using the above-mentioned explored molecular graph as input to a graph neural network (GNN) model to predict the physical properties of the molecule and outputting the prediction result; method.

60. In Claim 53, The above search step is, If the above-mentioned explored molecular graph is a macromolecular graph, the method further comprises the step of identifying original molecules containing the query substructure by calculating the intersection of tag information of atoms constituting the maximum common substructure. method.

61. In Claim 53, The above macromolecular graph generation step is, The method comprises the step of aligning the adjacency matrices of two molecular graphs such that the submatrix corresponding to the maximum common substructure is located at the top left, and then merging the two adjacency matrices to generate an integrated adjacency matrix. method.

62. In Claim 61, The above macromolecular graph generation step is, A step further comprising verifying whether each atom of the above integrated adjacency matrix satisfies the valence rule; method.

63. In Claim 62, In the above verification step, A step comprising, if the atom cannot satisfy the rule, determining that merging is impossible with the corresponding greatest common substructure and outputting a result of non-merging to the user; method.

64. In Claim 61, The above macromolecular graph generation step is, A method further comprising the step of tagging each atom of the macromolecular graph generated above with identifier information to identify the original molecule from which the atom originated. method.

65. In Claim 47, The above method is, Step of receiving input molecular data; A step of generating a plurality of similar molecule candidate data similar to the above input molecule data; A step of generating a macromolecular graph by merging at least a portion of the above-mentioned similar molecule candidate data based on a common substructure; A step of converting the above-mentioned similar molecule candidate data and the above-mentioned macromolecular graph into a molecular crystal structure; A step of calculating the lattice energy of the above molecular crystal structure and adjusting it into an energetically stabilized crystal structure; and A step comprising determining the stability ranking of the molecular crystal structure by additionally calculating the lattice energy of the adjusted molecular crystal structure. method.

66. In Claim 65, The step of generating the above-mentioned similar molecule candidate data is, Generating new structurally similar molecules by substituting functional groups bound to the scaffold of input molecular data with other functional groups, or generating a list of SMILES strings of new structurally similar molecules by inputting the SMILES representation of the input molecular data into a large-scale language model pre-trained with SMILES strings. method.

67. In Claim 65, The step of generating the above macromolecular graph is, Identifying the largest subgraph common to multiple similar molecule candidate data using a maximum common substructure search algorithm, method.

68. In Claim 67, The step of generating the above macromolecular graph is, Aligning the submatrix corresponding to the identified maximum common substructure so that it is positioned at the top-left of each molecule's adjacency matrix, and merging the two aligned adjacency matrices into a single integrated adjacency matrix by maintaining the common parts and expanding the non-common parts. method.

69. In Claim 68, The step of generating the above macromolecular graph is, Verifying whether each atom of the above-mentioned merged integrated adjacency matrix exceeds an allowable valence, and tagging each atom of the verified macromolecular graph with the original molecular identifier, method.

70. In Claim 65, The step of converting to the above molecular crystal structure is, Generating a 3D molecular crystal structure in the XYZ format including 3D atomic coordinates, considering chemical bond lengths, angles, etc. based on 2D molecular graph information, method.

71. In claim 65, The step of adjusting to the above crystal structure is, A process of calculating the force and lattice energy applied to each atom within a molecular crystal structure, and a process of shifting atomic positions and lattice parameters according to the calculated force, which are repeated until the force acting on all atoms becomes below a preset threshold value. method.

72. In Claim 71, The step of adjusting to the above crystal structure is, Calculating the lattice energy and force using a UMA model pre-trained on a large-scale molecular crystal dataset, method.

73. In Claim 65, The step of determining the above stability ranking is, Calculating the lattice energies of adjusted molecular crystal structures to determine rankings in order of lowest energy, calculating vibrational free energies based on phonon dispersion for top-ranked candidates with low energy, and calculating Gibbs free energy by summing the vibrational free energies to the lattice energies to re-determine the stability rankings under actual conditions. method.