Molecular fragment-based molecule generation method
The molecular creation method employs a reinforced learning model to generate molecules by customizing the learning process based on user-defined attachment sites and candidate molecular fragments, addressing the limitations of existing deep learning models and enhancing the likelihood of successful synthesis.
Patent Information
- Application Number
- PCT/KR2024/015841
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-11-01
- Filing Date
- 2024-10-18
- Publication Date
- 2025-05-08
AI Technical Summary
Existing deep learning-based molecular creation models are often guided by learning data, making it difficult to reflect researchers' intentions accurately, and the molecules produced have a low possibility of synthesis.
A molecular creation method using a reinforced learning model that customizes the learning process based on user-defined attachment sites and candidate molecular fragments, allowing for dynamic configuration of the action space in each step of the molecular generation process.
The method enables the generation of practical molecules optimized for specific projects by allowing users to curate molecular fragment databases and specify attachment conditions, thereby increasing the likelihood of successful synthesis.
Smart Images

Figure KR2024015841_08052025_PF_FP_ABST
Abstract
Description
Molecular fragment-based molecular generation method
[0001] The present invention relates to a method for generating molecules based on molecular fragments, and more particularly, to a method for generating molecules based on molecular fragments using reinforcement learning.
[0002] Fragment-Based Drug Design (FBDD) is a method for discovering effective drug candidates using relatively small and simple chemical molecular fragments as starting points.
[0003] Computer-aided drug design (CADD) is a technology that utilizes computers to identify and optimize drug candidates. Recently, research is actively underway to apply deep learning technology to molecular generation.
[0004] However, deep learning-based generative models are largely supervised learning-based and are therefore highly influenced by training data. Consequently, it's difficult to clearly reflect the researcher's intentions. In particular, materials generated using reinforcement learning have low synthetic potential, making them difficult to utilize in practice.
[0005]
[0006] Korean Patent No. 10-2461338 (publication date: October 31, 2022) discloses a method for optimizing a leading material using reinforcement learning and a device therefor.
[0007] The present disclosure addresses the problem of customizing a reinforcement learning model to suit a user's purpose and providing the generated results.
[0008] Meanwhile, the technical task to be achieved by the present disclosure is not limited to the technical task mentioned above, and may include various technical tasks within a scope obvious to a person skilled in the art from the contents described below.
[0009] A method for generating a molecule based on a molecular fragment, performed by a computing device for solving the above-described task, comprises the steps of: obtaining an initial molecular structure; obtaining one or more attachment sites to which a molecular fragment will be attached from the initial molecular structure; and generating a new molecule based on candidate molecular fragments to be attached to the one or more attachment sites of the initial molecular structure using a reinforcement learning model, wherein the reinforcement learning model can utilize an action space based on the one or more attachment sites and the candidate molecular fragments.
[0010] In one embodiment, the one or more attachment sites and the candidate molecular fragments that form the basis of the action space are determined for each user based on a molecular fragment database, and the molecular fragment database may include information on locations that can be attached to molecules for each molecular fragment.
[0011] In one embodiment, the action space can be dynamically configured at each step of an episode of reinforcement learning.
[0012] In one embodiment, the action of each step of the reinforcement learning episode may include an action regarding which candidate molecular fragment to attach to which attachment site.
[0013] In one embodiment, the action space may be dynamically constructed at each step of the reinforcement learning episode based on the candidate molecule fragments determined by the one or more attachment sites and preset attachment conditions.
[0014] In one embodiment, the preset attachment conditions include step setting conditions for a specific attachment site or characteristic restriction information of molecular fragments for a specific attachment site.
[0015] May include at least one of:
[0016] In one embodiment, the step setting conditions for the specific attachment site may include a sequence setting condition for steps to be performed for the specific attachment site.
[0017] In one embodiment, the characteristic restriction information of the molecular fragments may include restriction information on the molecular weight of the molecular fragments, restriction information on the ring format of the molecular fragments, restriction information on whether the molecular fragments correspond to a linker, or restriction information on the number of connection sites of the molecular fragments.
[0018] May include at least one of:
[0019] In one embodiment, the step of obtaining the initial molecular structure may include at least one of a step of obtaining the initial molecular structure based on a seed molecular structure input by a user and a step of obtaining the initial molecular structure based on a randomly generated or selected molecular structure.
[0020] In one embodiment, the step of obtaining one or more attachment sites may include the step of obtaining an atom selected by the user as an attachment site.
[0021] In one embodiment, the method further comprises a step of assigning an identification number to each atom of the initial molecular structure to distinguish the atoms, and the step of obtaining the one or more attachment sites may comprise a step of obtaining an identification number selected by the user as an attachment site.
[0022] A computer program stored in a computer-readable storage medium for solving the above-described problem, wherein the computer program, when executed on one or more processors, performs the following operations for generating a molecule based on a molecular fragment, the operations including: obtaining an initial molecular structure; obtaining one or more attachment sites to which a molecular fragment will be attached from the initial molecular structure; and generating a new molecule based on candidate molecular fragments to be attached to the one or more attachment sites of the initial molecular structure using a reinforcement learning model, wherein the reinforcement learning model can utilize an action space based on the one or more attachment sites and the candidate molecular fragments.
[0023] A computing device for solving the above-described task, comprising at least one processor and a memory, wherein the at least one processor is configured to obtain an initial molecular structure, obtain one or more attachment sites to which a molecular fragment will be attached from the initial molecular structure, and generate a new molecule based on candidate molecular fragments to be attached to the one or more attachment sites of the initial molecular structure by utilizing a reinforcement learning model, wherein the reinforcement learning model can utilize an action space based on the one or more attachment sites and the candidate molecular fragments.
[0024] The molecular fragment-based molecule generation method of the present disclosure allows for customizing a reinforcement learning model to suit the user's purpose and providing the generated results, effectively generating practical molecules. In other words, molecules optimized for each project can be generated.
[0025] Additionally, users can curate attachment sites for each molecule fragment to construct a database of molecule fragments used in training a reinforcement learning model, thereby effectively generating molecules with high synthesizability.
[0026] Meanwhile, the effects of the present disclosure are not limited to the effects mentioned above, and various effects may be included within a range apparent to those skilled in the art from the contents described below.
[0027] FIG. 1 is a block diagram of a computing device performing operations according to one embodiment of the present disclosure.
[0028] FIG. 2 is a schematic diagram illustrating a neural network according to one embodiment of the present disclosure.
[0029] FIG. 3 is a flowchart illustrating a molecular fragment-based molecule generation method according to one embodiment of the present disclosure.
[0030] FIG. 4 is a diagram for explaining an operation method of a reinforcement learning model according to one embodiment of the present disclosure.
[0031] FIGS. 5 to 7 are drawings showing screens displaying a user interface according to one embodiment of the present invention.
[0032] FIG. 8 is a simplified, general schematic diagram of an exemplary computing environment in which embodiments of the present disclosure may be implemented.
[0033] Various embodiments are now described with reference to the drawings. In this disclosure, various descriptions are provided to facilitate understanding of the present disclosure. However, it will be apparent that these embodiments can be practiced without these specific descriptions.
[0034] The terms "component," "module," "system," and the like, as used herein, refer to computer-related entities, hardware, firmware, software, a combination of software and hardware, or an execution of software. For example, a component may be, but is not limited to, a procedure running on a processor, a processor, an object, a thread of execution, a program, and / or a computer. For example, both an application running on a computing device and the computing device may be a component. One or more components may reside within a processor and / or a thread of execution. A component may be localized within a single computer. A component may be distributed between two or more computers. Furthermore, these components may execute from various computer-readable media having various data structures stored therein. Components may communicate via local and / or remote processes, for example, by signals comprising one or more data packets (e.g., data from one component interacting with another component in a local system, a distributed system, and / or data transmitted to another system via a network such as the Internet via signals).
[0035] Furthermore, the term "or" is intended to mean an inclusive "or" rather than an exclusive "or." That is, unless otherwise specified or clear from context, "X utilizes A or B" is intended to mean one of its natural inclusive permutations. That is, if X utilizes A; X utilizes B; or X utilizes both A and B, "X utilizes A or B" can apply to any of these cases.
[0036] Additionally, the terms "comprises" and / or "comprising" should be understood to imply the presence of the features and / or components. However, it should be understood that the terms "comprises" and / or "comprising" do not exclude the presence or addition of one or more other features, components, and / or groups thereof. Furthermore, unless otherwise specified or clear from context to refer to the singular form, the singular in the present disclosure and claims should generally be construed to mean "one or more."
[0037] And, the term "at least one of A or B" should be interpreted to mean "if it includes only A", "if it includes only B", or "if it is combined in the composition of A and B".
[0038] Those skilled in the art should further appreciate that the various illustrative logical blocks, configurations, modules, circuits, means, logics, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate the interchangeability of hardware and software, various illustrative components, blocks, configurations, means, logics, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application. However, such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.
[0039] The description of the disclosed embodiments is provided to enable a person skilled in the art to make or use the present disclosure. Various modifications to these embodiments will be apparent to those skilled in the art. 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 set forth herein. The present disclosure is to be construed in the widest scope consistent with the principles and novel features disclosed herein.
[0040]
[0041] FIG. 1 is a block diagram of a computing device performing operations according to one embodiment of the present disclosure.
[0042] The configuration of the computing device (100) illustrated in FIG. 1 is merely a simplified example. In one embodiment of the present disclosure, the computing device (100) may include other configurations for performing the computing environment of the computing device (100), and only some of the disclosed configurations may constitute the computing device (100).
[0043] A computing device (100) may include a processor (110), memory (130), and network unit (150).
[0044] The processor (110) may be configured with one or more cores, and may include a processor for data analysis and deep learning, such as a central processing unit (CPU), a general purpose graphics processing unit (GPGPU), and a tensor processing unit (TPU) of a computing device. The processor (110) may read a computer program stored in the memory (130) and perform data processing for machine learning according to an embodiment of the present disclosure. According to an embodiment of the present disclosure, the processor (110) may perform operations for learning a neural network model. The processor (110) may perform calculations for learning a neural network model, such as processing input data for learning in deep learning (DL), extracting features from input data, calculating errors, and updating weights of a neural network model using backpropagation. At least one of the CPU, GPGPU, and TPU of the processor (110) may process learning of the neural network model. For example, a CPU and a GPGPU can work together to train a neural network model and classify data using the neural network model. Furthermore, in one embodiment of the present disclosure, processors of multiple computing devices can be used together to train a neural network model and classify data using the neural network model. Furthermore, a computer program executed on a computing device according to one embodiment of the present disclosure may be a CPU, GPGPU, or TPU executable program.
[0045]
[0046] A computing device (100) according to one embodiment of the present disclosure may provide a molecular generation model that generates molecular structures using molecular fragments as units. A molecular fragment may refer to a small, simple chemical structure within a complex molecule or drug structure. Typically, a molecular fragment has a low molecular weight and may be composed of a limited number of bonds and atoms. In other words, a molecular fragment may refer to a molecule composed of two or more atoms and may correspond to a substructure of a compound.
[0047] Molecular fragments can be defined in various ways. For example, molecular fragments can be defined using criteria such as BRICS (Breaking Retrosynthetically Interesting Chemical Substructures), RECAP (Retrosynthetic Combinatorial Analysis Procedure), and Bemis-Murcko.
[0048] According to one embodiment of the present disclosure, a molecular fragment database may include information on sites where attachment to molecules is possible for each molecular fragment. When attaching a molecular fragment to a molecule, the sites where actual synthesis is possible may be limited for each molecular fragment. Therefore, a molecular fragment database may be constructed by including sites where attachment to molecules is possible for each molecular fragment.
[0049] According to embodiments, a user may select frequently used molecular fragments for a desired purpose and construct a molecular fragment database by curating possible attachment sites on the molecule for each selected molecular fragment.
[0050] Therefore, the computing device (100) can generate molecules with high synthesis potential.
[0051]
[0052] Additionally, the user can directly specify the attachment conditions of the candidate molecular fragments through the user interface. For example, the user can input at least one of an initial molecular structure, one or more attachment sites to which the molecular fragments will be attached in the initial molecular structure, and an attachment condition of the molecular fragments to be attached to the attachment sites through the user interface. Accordingly, the computing device (100) can train a reinforcement learning model that matches the user's intended generation intent and provide the generated result. Since the reinforcement learning model can be customized to suit the user's purpose, it has the effect of generating practical molecules. In other words, rather than a molecule that generally performs well, a molecule optimized for each project can be generated.
[0053] Reinforcement learning is a type of learning method that trains an artificial neural network model based on the rewards generated for the actions selected by the artificial neural network model, enabling the model to determine better actions based on the input state. Reinforcement learning can be understood as a "trial and error learning method" in that rewards are given for decisions (i.e., actions). The reward given to the artificial neural network model during reinforcement learning can be the accumulated reward of multiple actions. Reinforcement learning creates an artificial neural network model that maximizes the reward itself, or return (the sum of rewards), by considering various states and rewards for actions through learning.
[0054] In the present disclosure, a “reinforcement learning model” may mean a molecular fragment-based molecular generation model utilizing reinforcement learning.
[0055] In this disclosure, an "agent" is a subject that determines actions and can learn an optimal policy for determining which actions to take in a given state. The "environment" can return results that consider the agent's actions. For example, a state may represent a molecular structure currently being created, the environment may generate the next molecular structure, and the agent may learn an optimal policy for generating the next state.
[0056] In the present disclosure, the "action space" may refer to a set of all possible actions that an agent can select. For example, the action space may be configured differently according to a user's request for each attachment site of an initial molecular structure. Specifically, a pool of molecular fragments available for use at each step may be determined based on the attachment site of the initial molecular structure and the attachment conditions of the molecular fragments to be attached to the attachment site. The molecular fragment pool may refer to a set of molecular fragments available for generating a specific molecule. The action space may vary depending on the molecular fragment pool. Therefore, the action space may be configured differently for each step. Each action in the action space may refer to which attachment site of the molecular structure currently being generated and which molecular fragment is attached.
[0057] Q-learning is a value-based reinforcement learning algorithm that finds an optimal policy by estimating the Q-value, the expected cumulative reward for choosing a specific action in a given state. Q-learning typically uses a table-like Q-function in a small state space. However, as the state and action spaces grow, Q-learning requires significant memory to store the Q-values and exploration time, the time it takes for the agent to explore the environment.
[0058] DQL (Deep Q-learning) is an algorithm that approximates the Q-function as a nonlinear function using deep learning and learns the optimal policy through this.
[0059] Deep Q-Network (DQN) is an extension of DQL, introducing a target network to improve learning stability. The Q-network can estimate the Q-value of each possible action from a given state. The agent passes its current state to the Q-network, which then retrieves the Q-value for each possible action. From among multiple possible actions, the agent can select the action with the highest Q-value.
[0060] An agent can store samples (s, a, r, s') in a replay memory, where s represents the current state, a represents the action taken in the current state s, r represents the reward received after taking action a, and s' represents the next state after taking action a.
[0061] The agent can randomly sample mini-batches from the replay memory at regular intervals (e.g., every few steps). The target network can be used to compute a target Q-value for each sample. The randomly sampled experience can be used to train the Q-network and update its weights. The target network can be periodically updated with the Q-network weights.
[0062] A reinforcement learning model according to an embodiment of the present disclosure can operate using the above-described DQN algorithm. However, the algorithm applied to the reinforcement learning model of the present disclosure is not limited thereto, and various types of reinforcement learning algorithms such as Prioritized Experience Replay (PER), Soft Actor-Critic (SAC), Deep Deterministic Policy Gradient (DDPG), and Proximal Policy Optimization (PPO) can be applied.
[0063]
[0064] According to one embodiment of the present disclosure, the memory (130) can store any form of information generated or determined by the processor (110) and any form of information received by the network unit (150).
[0065] According to one embodiment of the present disclosure, the memory (130) may include at least one type of storage medium among a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (e.g., SD or XD memory, etc.), a random access memory (RAM), a static random access memory (SRAM), a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), a programmable read-only memory (PROM), a magnetic memory, a magnetic disk, and an optical disk. The computing device (100) may also operate in relation to web storage that performs the storage function of the memory (130) on the internet. The description of the above-described memory is merely an example, and the present disclosure is not limited thereto.
[0066] The network unit (150) according to one embodiment of the present disclosure can use various wired communication systems such as a 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 a local area network (LAN).
[0067] In addition, the proposed network unit (150) according to one embodiment of the present disclosure can use various wireless communication systems such as CDMA (Code Division Multi Access), TDMA (Time Division Multi Access), FDMA (Frequency Division Multi Access), OFDMA (Orthogonal Frequency Division Multi Access), SC-FDMA (Single Carrier-FDMA) and other systems.
[0068] In one embodiment, the network unit (150) may be configured regardless of the communication mode, such as wired or wireless, and may be configured as various communication networks, such as a personal area network (PAN) and a wide area network (WAN). In addition, the network may be the well-known World Wide Web (WWW), and may also utilize a wireless transmission technology used for short-distance communication, such as infrared (IrDA) or Bluetooth. The technologies described in the present disclosure may be used not only in the networks mentioned above but also in other networks.
[0069]
[0070] FIG. 2 is a schematic diagram illustrating a neural network according to one embodiment of the present disclosure.
[0071] Throughout this disclosure, the terms "neural network," "neural network model," and "neural network" may be used interchangeably. A neural network may be comprised of a set of interconnected computational units, generally referred to as nodes. These nodes may also be referred to as neurons. A neural network comprises at least one node. The nodes (or neurons) comprising the neural network may be interconnected by one or more links.
[0072] At this time, within the neural network model, one or more nodes connected through links can relatively form a relationship between input nodes and output nodes. The concept of input nodes and output nodes is relative, and any node in an output node relationship with respect to one node can also be in an input node relationship with respect to another node, and vice versa. As described above, the relationship between input nodes and output nodes can be created based on links. One or more output nodes can be connected to one input node through links, and vice versa.
[0073] In a relationship between input nodes and output nodes connected through a single link, the data of the output node can have its value determined based on the data input to the input node. Here, the link interconnecting the input nodes and the output nodes can have a weight (in this case, parameters and weights can be used with the same meaning throughout the present disclosure). The weight can be variable and can be varied by a user or an algorithm so that the neural network model can perform a desired function. For example, when one or more input nodes are interconnected to one output node through respective links, the output node can determine the output node value based on the values input to the input nodes connected to the output node and the weights set for the links corresponding to the respective input nodes.
[0074] As described above, a neural network is a network in which one or more nodes are interconnected through one or more links, forming input and output node relationships within the network. The characteristics of a neural network can be determined based on the number of nodes and links within the network, the relationships between the nodes and links, and the weights assigned to each link. For example, if two neural networks have the same number of nodes and links but different weight values for the links, the two neural networks can be perceived as different from each other.
[0075] A neural network can be composed of a set of one or more nodes. A subset of the nodes comprising the neural network can form a layer. Some of the nodes comprising the neural network can form a layer based on their distances from the initial input node. For example, a set of nodes that are n distances from the initial input node can form layer n. The distance from the initial input node can be defined by the minimum number of links that must be traversed to reach the node from the initial input node. However, this definition of a layer is arbitrary for illustrative purposes, and the layer order within a neural network can be defined in a different way than described above. For example, a layer of nodes can be defined by its distance from the final output node.
[0076] An initial input node may refer to one or more nodes within a neural network into which data is directly input without going through links with other nodes. Alternatively, within a neural network, it may refer to nodes that do not have other input nodes connected by links in the relationship between nodes based on links. Similarly, a final output node may refer to one or more nodes within a neural network that do not have output nodes in their relationship with other nodes. Furthermore, a hidden node may refer to nodes that constitute a neural network other than the initial input node and the final output node.
[0077] A neural network according to one embodiment of the present disclosure may be a neural network in which the number of nodes in an input layer may be the same as the number of nodes in an output layer, and the number of nodes decreases and then increases as it progresses from the input layer to the hidden layer. In addition, a neural network according to another embodiment of the present disclosure may be a neural network in which the number of nodes in an input layer may be less than the number of nodes in an output layer, and the number of nodes decreases as it progresses from the input layer to the hidden layer. In addition, a neural network according to another embodiment of the present disclosure may be a neural network in which the number of nodes in an input layer may be greater than the number of nodes in an output layer, and the number of nodes increases as it progresses from the input layer to the hidden layer. A neural network according to another embodiment of the present disclosure may be a neural network in a combined form of the neural networks described above.
[0078] A deep neural network (DNN) can refer to a neural network that includes multiple hidden layers in addition to input and output layers. Using a deep neural network, one can identify latent structures in data. That is, one can identify latent structures in photos, text, videos, voices, and music (e.g., what objects are in a photo, what the content and emotion of a text are, what the content and emotion of a voice are, etc.). A deep neural network can include a convolutional neural network (CNN), a recurrent neural network (RNN), an autoencoder, a restricted Boltzmann machine (RBM), a deep belief network (DBN), a Q network, a U network, a Siamese network, a Generative Adversarial Network (GAN), and the like. The description of the above-described deep neural network is merely an example, and the present disclosure is not limited thereto.
[0079] In one embodiment of the present disclosure, the network function may include an autoencoder. An autoencoder may be a type of artificial neural network that outputs output data similar to input data. The autoencoder may include at least one hidden layer, and an odd number of hidden layers may be arranged between input and output layers. The number of nodes in each layer may be reduced from the number of nodes in the input layer to an intermediate layer called a bottleneck layer (encoding), and then expanded symmetrically from the bottleneck layer to the output layer (symmetrical to the input layer). The autoencoder may perform nonlinear dimensionality reduction. The number of input layers and output layers may correspond to the dimensionality after preprocessing of the input data. In the autoencoder structure, the number of nodes in the hidden layer included in the encoder may have a structure in which the number of nodes decreases as it moves away from the input layer. The number of nodes in the bottleneck layer (the layer with the fewest nodes between the encoder and decoder) may be kept above a certain number (e.g., more than half of the input layer), as too few nodes may not transmit enough information.
[0080] A neural network model including a neural network can be trained using at least one of supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning. Training a neural network model can be a process of applying knowledge to the neural network model to perform a specific action.
[0081] Neural network models can be trained to minimize output errors. Training involves repeatedly inputting training data into the neural network model, calculating the neural network model output and target error for the training data, and backpropagating the neural network model error from the output layer toward the input layer to update the weights of each node in the neural network model to reduce the error. In supervised learning, training data with the correct answer labeled for each training data is used (i.e., labeled training data). In unsupervised learning, the correct answer may not be labeled for each training data. For example, in supervised learning for data classification, the training data may be data in which each training data category is labeled. Labeled training data is input to the neural network model, and the error can be calculated by comparing the output (category) of the neural network model with the training data labels. In another example, in unsupervised learning for data classification, the error can be calculated by comparing the input training data with the neural network model output. The calculated error is backpropagated in the neural network model in the backward direction (i.e., from the output layer to the input layer), and the connection weights of each node in each layer of the neural network model can be updated according to the backpropagation. The amount of change in the connection weights of each node to be updated can be determined by the learning rate. The calculation of the neural network model for the input data and the backpropagation of the error can constitute an epoch. The learning rate can be applied differently depending on the number of iterations of the epoch of the neural network model. For example, a high learning rate can be used in the early stage of training a neural network model so that the neural network model quickly achieves a certain level of performance, thereby increasing efficiency, and a low learning rate can be used in the later stage of training to increase accuracy.
[0082] In neural network model training, the training data can typically be a subset of the actual data (i.e., the data to be processed using the trained neural network model). Therefore, there may be epochs where the error on the training data decreases but the error on the actual data increases. Overfitting is a phenomenon where the error on the actual data increases due to excessive training on the training data. For example, a neural network model trained on yellow cats may fail to recognize cats of any color other than yellow, which could be a form of overfitting. Overfitting can increase the error in machine learning algorithms. Various optimization methods can be used to prevent overfitting. These methods include increasing the training data, regularization, dropout (inactivating some nodes in the network during the learning process), and batch normalization.
[0083]
[0084] FIG. 3 is a flowchart illustrating a molecular fragment-based molecule generation method according to one embodiment of the present disclosure.
[0085] Referring to FIG. 3, the processor may acquire an initial molecular structure (S110). According to embodiments, the initial molecular structure may be acquired based on a seed molecular structure input by a user. According to embodiments, the initial molecular structure may be acquired based on a molecular fragment designated as being usable as a seed among molecular fragments in a molecular fragment database, or may be acquired based on a molecular structure randomly selected by constructing a molecular fragment database for use as a seed.
[0086] The initial molecular structure can be expressed in the form of a string using a sequence-based representation modeling method. For example, the initial molecular structure of the present disclosure can be expressed in the form of a SMILES (Simplified Molecular Input Line Entry System) string, which is a sequence-based representation modeling method. However, the representation modeling method of the present disclosure is not limited thereto, and not only sequence-based methods such as InChI (International Chemical Identifier), InChIKey, and IUPAC (International Union of Pure and Applied Chemistry) names, but also graph-based methods can be used, and can also be expressed in the form of a two-dimensional or three-dimensional structural formula.
[0087] According to embodiments, the processor may assign an identification number to each atom of the acquired initial molecular structure. The identification number may be a number used to distinguish atoms within the initial molecular structure. An image of the initial molecular structure and the identification number may be displayed to the user through a user interface.
[0088] The processor may acquire one or more attachment sites to which molecular fragments will be attached from the initial molecular structure (S120). In some embodiments, acquiring the attachment sites may mean acquiring atoms selected by the user as attachment sites. If the processor assigns an identification number to each atom of the initial molecular structure, acquiring the attachment sites may mean acquiring the identification number selected by the user as the attachment site.
[0089] The processor can utilize a reinforcement learning model to generate a new molecule based on candidate molecule fragments to be attached to one or more attachment sites of the initial molecule structure (S130).
[0090] If the user inputs attachment conditions for molecular fragments, the candidate molecular fragments may be determined based on molecular fragments that meet the attachment conditions in the molecular fragment database. If the user does not input any attachment conditions, the candidate molecular fragments may be determined based on the entire molecular fragment database.
[0091] The reinforcement learning model can generate the novel molecule by utilizing an action space based on the one or more attachment sites and the candidate molecule fragments.
[0092] The molecular fragment database of the present disclosure may be a database constructed by a user by curating positions that can be attached to molecules by molecular fragment.
[0093] According to embodiments, the molecular fragment database of the present disclosure may be a database constructed by selecting molecular fragments frequently used for a user's intended purpose and curating positions that can be attached to molecules for each selected molecular fragment.
[0094]
[0095] According to one embodiment of the present disclosure, the molecular fragment database used for training a reinforcement learning model can include information on the attachment sites for each molecular fragment, thereby enabling the model to generate molecules with high synthesis potential. Furthermore, since the user can directly designate at least one of the initial molecular structure, one or more attachment sites to which the molecular fragments will be attached, and the attachment conditions of the molecular fragments, the processor can train the reinforcement learning model and provide the generated results in accordance with the user's intended purpose. Since the reinforcement learning model can be customized to suit the user's purpose, practical molecules can be generated. In other words, molecules optimized for each individual project can be generated, rather than molecules that perform well universally.
[0096] According to one embodiment of the present disclosure, a reinforcement learning model can generate a new molecular structure by taking an action of attaching a molecular fragment to a molecular structure currently being generated. However, the action for generating a new molecular structure in the reinforcement learning model of the present disclosure is not limited thereto, and a new molecular structure can also be generated by taking actions such as replacing a specific atom or group of atoms in the molecular structure with another atom or group of atoms (atom replacement), or replacing a specific chemical ring in the molecular structure with another ring or structure (ring replacement). The user can select one of various types of actions for generating a molecular structure, such as molecular fragment attachment, atom replacement, and ring replacement.
[0097]
[0098]
[0099] FIG. 4 is a diagram for explaining an operation method of a reinforcement learning model according to one embodiment of the present disclosure.
[0100] Referring to FIG. 4, the processor can obtain an initial molecular structure (MOL_t). The state (S_t) refers to a molecule currently being generated, and the obtained initial molecular structure can be given as the state (S_t).
[0101] The processor can obtain at least one of attachment sites (R1, R21, R22, R3) to which a molecular fragment will be attached from an initial molecular structure (MOL_t) and attachment conditions of molecular fragments to be attached to the attachment sites. If there is an attachment condition of a molecular fragment input by a user, candidate molecular fragments can be determined based on molecular fragments that meet the attachment condition in a molecular fragment database. If the user does not input any attachment condition, the candidate molecular fragments can be determined based on the entire molecular fragment database.
[0102] The processor can construct an action space based on one or more attachment sites (R1, R21, R22, R3) and candidate molecular fragments. Specifically, the pool of molecular fragments available for use at each step can be determined based on the attachment sites of the initial molecular structure and the attachment conditions of the molecular fragments to be attached to the attachment sites. Accordingly, the action space can be constructed differently for each step. Each action in the action space can indicate which candidate molecular fragment is attached to which attachment site of the molecular structure currently being generated.
[0103] For example, a user can set a condition such that a molecular fragment containing two rings is attached to a first attachment site (R1) in the initial molecular structure in the first step, and a molecular fragment without rings is attached to the same first attachment site (R1) in the second step.
[0104] In this case, the molecular fragment pools may be determined differently in the first and second steps, and the action space may also be configured differently according to the user's request. For example, in the first step, the molecular fragment pool may be determined as the first to sixth molecular fragments (F1-F6), and in the second step, the molecular fragment pool may be determined as the seventh to tenth molecular fragments.
[0105] According to one embodiment of the present disclosure, the action space can be dynamically configured at each step of an episode of reinforcement learning. That is, the action space that can be configured at each step in reinforcement learning can be configured differently.
[0106] The processor can generate a new molecule (MOL_t+1) based on candidate molecule fragments (F1-F6) to be attached to one or more attachment sites (R1, R21, R22, R3) of an initial molecule structure (MOL_t) by utilizing a reinforcement learning model. The reinforcement learning model can generate the new molecule (MOL_t+1) by utilizing an action space based on one or more attachment sites (R1, R21, R22, R3) and the candidate molecule fragments (F1-F6).
[0107] In an embodiment where a user sets a condition such that a molecular fragment including two rings is attached to a first attachment site (R1) of an initial molecular structure in a first step, and sets a condition such that a molecular fragment without rings is attached to the same attachment site (R1) in a second step, the processor can take an action to attach the first molecular fragment (F1) to the first attachment site (R1) of the initial molecular structure (MOL_t) using an action space based on the first candidate molecular fragments (F1-F6) in the first step, thereby generating a next molecular structure (MOL_t+1). The processor can take an action to attach the eighth molecular fragment to the first molecular fragment (F1) of the next molecular structure (MOL_t+1) using an action space based on the second candidate molecular fragments (e.g., the seventh to tenth molecular fragments) in the second step, thereby generating a new molecule.
[0108] Specifically, when a reinforcement learning model operates with the DQN algorithm, the Q-network can estimate the Q-value of each possible action in a given state. The agent can transmit the current state to the Q-network and obtain the Q-value of each possible action from the Q-network. The agent can select the action that maximizes the Q-value among multiple possible actions. For example, in the first step, the agent can select the action (A_t) of attaching the first molecular fragment (F1) to the first attachment site (R1) of the initial molecular structure (MOL_t).
[0109] The environment can generate the next molecular structure (MOL_t+1) in response to the action selected by the agent. The environment can return a new state (S_t+1) and a reward (R_t+1) to the agent as a result of the action selected by the agent. In the second step, the agent can select an action that attaches the 8th molecular fragment to the 1st molecular fragment (F1) of the next molecular structure (MOL_t+1).
[0110] The reward (R_t+1) can be calculated using a biological or cheminformatics indicator associated with the molecule. For example, the indicator can include at least one of drug-target binding affinity, ADMET score, docking score, target molecule similarity, drug-protein interaction (DTI) score, target molecule properties, and molecular dynamics analysis score.
[0111] Drug-target binding affinity can refer to the strength of interaction between a drug and a target protein, which is directly measured using experimental methods such as isothermal titration calorimetry (ITC) or surface plasmon resonance (SPR).
[0112] ADMET stands for Absorption, Distribution, Metabolism, Excretion, and Toxicity. In drug discovery and development, ADMET can refer to a set of characteristics that assess the properties of a drug, particularly how it behaves in the human body. The processor can individually score each of Absorption, Distribution, Metabolism, Excretion, and Toxicity and apply these scores to determine a reward (R_t+1).
[0113] Molecular docking predicts the ligand-protein complex structure by modeling the interactions between a ligand and a protein at the atomic level. The docking score can represent the interaction energy between a drug and its target protein, calculated through molecular docking simulation.
[0114] Target molecule similarity is a measure of how similar a given molecule is to the target molecule. Target molecule similarity helps identify compounds with similar properties or effects.
[0115] A DTI score can be a measurement of the predicted strength or probability of an interaction between a drug and a target protein. Examples include IC50 (half-inhibitory concentration), EC50 (half-maximal effective concentration), and Kd (dissociation constant).
[0116] A target molecular characteristic may refer to a molecular characteristic targeted by a molecule to be generated. The molecular characteristic may include at least one of chemical, physical, and biological characteristics of the molecule.
[0117] Molecular dynamics (MD) is a methodology for simulating the dynamic properties of molecules.
[0118] Since docking studies and molecular dynamics analyses, which are essential for most drug design processes, are utilized as compensation, it has the effect of effectively reducing the time required for new drug design.
[0119] An agent can store samples (s, a, r, s') in its replay memory, where s represents the current state, a represents the action taken in the current state s, r represents the reward received after taking action a, and s' represents the next state after taking action a.
[0120] In the present disclosure, at each step of an episode of reinforcement learning, a molecular fragment may be attached to an attachment site of a currently generated molecular structure, or additional molecular fragments may be attached to the attached molecular fragment. An episode may be completed when all steps for at least one attachment site of the initial molecular structure are performed, and a reinforcement learning model may be trained such that the reward for each step and / or episode is maximized.
[0121]
[0122] FIGS. 5 to 7 are drawings showing screens displaying a user interface according to one embodiment of the present invention.
[0123] Referring to FIG. 5, the processor can provide a user interface for training a reinforcement learning model through a display screen (200).
[0124] A user can input information about the initial molecular structure through a user interface. First, the user can input whether a seed molecule to be used as a starting point exists through a first selection field (210). If a seed molecule to be used as a starting point exists, the user can select an indication (with seed) indicating the presence of the seed molecule through the first selection field (210). In the present disclosure, the indication may refer to various types of controls, such as check boxes and radio buttons, among UI elements that allow the user to select one or more options.
[0125] The user can input an initial molecular structure to be used as a starting point through the first input field (230). The user can input the initial molecular structure in the form of a SMILES string, but is not limited thereto, and can input the initial molecular structure in various notations, such as sequence-based methods such as InChI, InChIKey, and IUPAC names, graph-based methods, and two-dimensional or three-dimensional structural formulas.
[0126] When information on the initial molecular structure is input, the processor may display an image of the initial molecular structure on the first display screen (240) based on the information. According to embodiments, the processor may assign an identification number to each atom of the acquired initial molecular structure and display the image of the initial molecular structure and the identification number on the first display screen (240).
[0127] According to embodiments, if there is no seed molecule to be used as a starting point, the user may select an indication (without seed) indicating that no seed molecule exists via the first selection field (210).
[0128]
[0129] Referring to FIG. 6, the processor can provide a user interface for training a reinforcement learning model through a display screen (300).
[0130] A user can input, through a user interface, whether or not the attachment site to which the molecular fragment will be attached is specified in the initial molecular structure. First, if the attachment site to which the molecular fragment will be attached is specified in the initial molecular structure, the user can select an indication (user-defined) indicating that the attachment site is specified through the second selection field (310). If the attachment site to which the molecular fragment will be attached is not specified in the initial molecular structure, the user can select an indication (random) indicating that the attachment site is not specified through the second selection field (310).
[0131] The user can input information corresponding to the attachment site (320) and the attachment condition (330) of the molecular fragment through the corresponding fields in at least one row (340) of the table displayed through the display screen (300).
[0132] For example, if the attachment site to which the molecular fragment will be attached is specified in the initial molecular structure, the user can input an identification number corresponding to the attachment site through the attachment site field (320). If the attachment site to which the molecular fragment will be attached is not specified in the initial molecular structure, but the attachment conditions for the molecular fragment are determined, the user can specify the order of the episodes through the attachment site field (320).
[0133] The attachment conditions (330) of molecular fragments may refer to conditions that a user specifies regarding which molecular fragments are attached to which attachment sites and in what order. The attachment conditions (330) of molecular fragments may include step order (331), which is a step setting condition for a specific attachment site, and characteristic restriction information (332-335) of molecular fragments for the specific attachment site.
[0134] Step order (331) may mean a condition for setting the order of steps to be performed for a specific attachment site.
[0135] The characteristic restriction information of the molecular fragments may include at least one of molecular weight (332), ring format (333), linker (334), and number of connection sites (335). Although not shown in FIG. 6, the characteristic restriction information of the molecular fragments may further include at least one of total number of atoms, connection availability, number of halogen atoms, acidity-base, number of heavy atoms, H-donor, H-acceptor, number of rotational bonds, number of rigid bonds, and flexibility.
[0136] Molecular weight (332) may mean limiting information on the molecular weight of molecular fragments. For example, molecular weight (332) may mean the maximum molecular weight of molecular fragments.
[0137] Ring format (333) may refer to restriction information on the ring format of molecular fragments. Restriction information on the ring format may include the number of rings included in the molecular fragment, the number of atoms constituting the ring, the shape of the ring (single ring, fused ring, spiro ring, bridged ring), whether it is aromatic, etc.
[0138]
[0139] A linker (334) may indicate restriction information regarding whether a molecular fragment corresponds to a linker. For example, a linker (334) may be information indicating whether the molecular fragment is a molecular fragment commonly used as a connector connecting two or more molecular fragments.
[0140] The number of connection sites (335) may refer to information about the number of connection sites of molecular fragments. Specifically, the connection sites of molecular fragments include positions that can be attached to the molecule and positions that can be attached to other molecular fragments, and the number of connection sites (335) may refer to the number of connection sites assigned to each molecular fragment.
[0141] The user can input at least one piece of information from the attachment site (320), step sequence (331), molecular weight (332), ring format (333), linker (334), and number of linkage sites (335) through the user interface.
[0142] The processor can obtain the attachment site (320) and the attachment condition (330) of the molecular fragment input by the user through the user interface. The processor can determine candidate molecular fragments based on molecular fragments that meet the attachment condition (330) of the obtained molecular fragments in the molecular fragment database. The action space can be dynamically configured at each step of the reinforcement learning episode based on the attachment site (320) and the attachment condition (330) of the molecular fragment.
[0143] For example, a user can specify attachment conditions such that a molecular fragment having two rings is attached first at a specific attachment site of an initial molecular structure, and a molecular fragment without a ring is attached second. In this case, the user can input the attachment site (320) as '8' (see 240 in FIG. 5), the step number (331) as '1', and the ring format number (333) as '2' in each field of the first row, and input the attachment site (320) as '8', the step number (331) as '2', and the ring format number (333) as '0' in each field of the second row.
[0144] In addition, if the attachment site to which the molecular fragment is to be attached is not specified in the initial molecular structure, the user may input the attachment site (320) as '1', the step number (331) as '1', and the ring format number (333) as '2' in each field of the first row, and input the attachment site (320) as '2', the step number (331) as '1', and the ring format number (333) as '0' in each field of the second row. In this case, since the processor recognizes the number of the attachment site (320) as the order of the episodes, a first molecular fragment having two rings may be attached to a first atom randomly selected from the initial molecular structure, and a second molecular fragment having no ring may be attached to a second atom different from the first atom.
[0145] If there is no seed molecule to be used as a starting point or there is no attachment condition (330), the processor can train the reinforcement learning model using the entire data of the molecule fragment database.
[0146] As described above, the attachment condition (330) may refer to a condition that the user specifies to which molecular fragments are attached to a specific attachment site and in what order. The pool of molecular fragments available for each step of reinforcement learning may be determined based on the user-specified conditions. Depending on the pool of molecular fragments, the action space available for each step of reinforcement learning may be configured differently. Accordingly, the action space may be dynamically configured for each step of an episode of reinforcement learning based on one or more attachment sites of the initial molecular structure and candidate molecular fragments determined by preset attachment conditions.
[0147]
[0148] Referring to FIG. 7, the processor can provide a user interface for training a reinforcement learning model through a display screen (400).
[0149] A user can input information related to the reward of a reinforcement learning model through a user interface. First, a biological or cheminformatics indicator related to a molecule can be selected as a reward through a third selection field (410). For example, if drug-target binding affinity, ADMET score, docking score, target molecule similarity, drug-protein interaction (DTI) score, and docking score among target molecules are to be used as a reward, the user can select docking through the third selection field (410).
[0150] The processor can obtain docking information, which is information related to a reward selected by the user, through the user interface.
[0151] To obtain a docking score, a user may upload data to be used to obtain a docking score through the upload field (430), or the user may obtain a docking score by having the processor perform a docking simulation in real time without uploading the data.
[0152]
[0153] The molecular fragment-based molecular generation method of the present disclosure can be utilized in various embodiments. For example, if a seed is not present, the method of the present disclosure can be utilized to generate a seed scaffold using carbon as a starting point. If a seed is present, the method of the present disclosure can be utilized to build a database based on basic molecular fragments and utilize the database to generate hit candidates. If a hit compound is present, the method of the present disclosure can be utilized to build a database based on complex molecular fragments and utilize the database to generate a lead compound. A basic molecular fragment refers to a chemical unit or part with a simple structure, and a complex molecular fragment refers to a complex structure formed by combining multiple basic molecular fragments. Furthermore, in all cases, if a reference drug is present, the similarity between the reference drug and the generated molecule can be used as compensation.
[0154]
[0155] According to one embodiment of the present disclosure, a computer-readable medium storing a data structure is disclosed.
[0156] A data structure can refer to the organization, management, and storage of data to enable efficient access and modification. A data structure can refer to the organization of data to solve a specific problem (e.g., data retrieval, data storage, or data modification in the shortest possible time). A data structure can also be defined as the physical or logical relationships between data elements designed to support specific data processing functions. The logical relationships between data elements can include connections between user-defined data elements. The physical relationships between data elements can include actual relationships between data elements physically stored on a computer-readable storage medium (e.g., persistent storage). Specifically, a data structure can include a collection of data, relationships between data, and functions or commands applicable to the data. An effectively designed data structure allows a computing device to perform operations while minimizing the use of its resources. Specifically, a computing device can improve the efficiency of operations, reading, inserting, deleting, comparing, exchanging, and searching through an effectively designed data structure.
[0157] Data structures can be categorized as linear or nonlinear, depending on their form. A linear data structure can be a structure in which only one data item is linked to the next. Linear data structures can include lists, stacks, queues, and deques. A list can refer to a series of data sets with an internal order. Lists can also include linked lists. A linked list is a data structure in which data is linked in a single line, each item having a pointer. In a linked list, a pointer can contain information about the next or previous item. Linked lists can be expressed as singly linked lists, doubly linked lists, or circular linked lists, depending on their form. A stack can be a data listing structure with limited data access. A stack can be a linear data structure in which data operations (e.g., insertion or deletion) can only be performed at one end of the data structure. Data stored in a stack can be a Last-in-First-out (LIFO) data structure. A queue is a data structure with limited access to data. Unlike a stack, it can be a first-in, first-out (FIFO) data structure, with later data being retrieved later. A deck can be a data structure that can process data at both ends.
[0158] A nonlinear data structure can be a structure in which multiple data are connected behind a single data. Nonlinear data structures can include graph data structures. A graph data structure can be defined by vertices and edges, and an edge can include a line connecting two different vertices. A graph data structure can include a tree data structure. A tree data structure can be a data structure in which there is only one path connecting two different vertices among multiple vertices included in the tree. In other words, it can be a data structure that does not form a loop in a graph data structure.
[0159] A data structure may include a neural network model. The data structure including the neural network model may be stored on a computer-readable medium. The data structure including the neural network model may include preprocessed data for processing by the neural network model, data input to the neural network model, weights of the neural network model, hyperparameters of the neural network model, data obtained from the neural network model, activation functions associated with each node or layer of the neural network model, loss functions for learning the neural network model, etc. The data structure including the neural network model may include any of the components among the components disclosed above. That is, the data structure including the neural network model may be configured to include all or any combination of the following: preprocessed data for processing by the neural network model, data input to the neural network model, weights of the neural network model, hyperparameters of the neural network model, data obtained from the neural network model, activation functions associated with each node or layer of the neural network model, loss functions for learning the neural network model, etc. In addition to the above-described components, the data structure including the neural network model may include any other information that determines the characteristics of the neural network model. Additionally, the data structure may include any form of data used or generated in the computational process of the neural network model, and is not limited to the aforementioned. The computer-readable medium may include a computer-readable recording medium and / or a computer-readable transmission medium. The neural network model may be composed of a set of interconnected computational units, which may generally be referred to as nodes. These nodes may also be referred to as neurons. The neural network model is composed of at least one node.
[0160] The data structure may include data input to a neural network model. The data structure including the data input to the neural network model may be stored on a computer-readable medium. The data input to the neural network model may include training data input during the training process of the neural network model and / or input data input to the neural network model after training has been completed. The data input to the neural network model may include data that has undergone preprocessing and / or data that is the target of preprocessing. Preprocessing may include a data processing process for inputting data to the neural network model. Accordingly, the data structure may include data that is the target of preprocessing and data generated by the preprocessing. The above-described data structure is merely an example, and the present disclosure is not limited thereto.
[0161] The data structure may include weights of a neural network model. (In the present disclosure, the terms "weight" and "parameter" may be used interchangeably.) The data structure including the weights of the neural network model may be stored in a computer-readable medium. The neural network model may include a plurality of weights. The weights may be variable and may be varied by a user or an algorithm so that the neural network model can perform a desired function. For example, when one or more input nodes are interconnected to one output node by respective links, the output node may determine a data value output from the output node based on values input to the input nodes connected to the output node and weights set for links corresponding to each input node. The above-described data structure is merely an example, and the present disclosure is not limited thereto.
[0162] By way of example and not limitation, the weights may include weights that vary during the training process of the neural network model and / or weights that have completed training of the neural network model. The weights that vary during the training process of the neural network model may include weights at the start of an epoch and / or weights that vary during the epoch. The weights that have completed training of the neural network model may include weights that have completed an epoch. Accordingly, a data structure including the weights of the neural network model may include a data structure including weights that vary during the training process of the neural network model and / or weights that have completed training of the neural network model. Therefore, the above-described weights and / or combinations of each weight are included in the data structure including the weights of the neural network model. The above-described data structures are merely examples and the present disclosure is not limited thereto.
[0163] A data structure including the weights of a neural network model can be stored in a computer-readable storage medium (e.g., memory, hard disk) after going through a serialization process. Serialization can be a process of converting a data structure into a form that can be stored on the same or a different computing device and later reconstructed and used. A computing device can serialize the data structure to transmit and receive data over a network. The data structure including the weights of a serialized neural network model can be reconstructed on the same or a different computing device through deserialization. The data structure including the weights of a neural network model is not limited to serialization. Furthermore, the data structure including the weights of a neural network model can include a data structure that increases computational efficiency while minimizing the use of computing device resources (e.g., a B-Tree, a Trie, an m-way search tree, an AVL tree, a Red-Black Tree in nonlinear data structures). The foregoing is merely an example, and the present disclosure is not limited thereto.
[0164] The data structure may include hyperparameters of a neural network model. Furthermore, the data structure including the hyperparameters of the neural network model may be stored on a computer-readable medium. The hyperparameters may be variables that can be varied by the user. The hyperparameters may include, for example, a learning rate, a cost function, a loss function, the number of epoch iterations, weight initialization (e.g., setting a range of weight values to be subject to weight initialization), and the number of hidden units (e.g., the number of hidden layers, the number of nodes in the hidden layer). The above-described data structure is merely an example, and the present disclosure is not limited thereto.
[0165]
[0166] FIG. 8 is a simplified, general schematic diagram of an exemplary computing environment in which embodiments of the present disclosure may be implemented.
[0167] Although the present disclosure has been described above as being generally implemented by a computing device, those skilled in the art will appreciate that the present disclosure may also be implemented in combination with computer-executable instructions and / or other program modules that may be executed on one or more computers and / or as a combination of hardware and software.
[0168] Generally, program modules include routines, programs, components, data structures, and the like that perform particular tasks or implement particular abstract data types. Furthermore, those skilled in the art will appreciate that the methods of the present disclosure can be implemented with other computer system configurations, including single-processor or multiprocessor computer systems, minicomputers, mainframe computers, as well as personal computers, handheld computing devices, microprocessor-based or programmable consumer electronics, and the like, each of which may be operatively connected to one or more associated devices.
[0169] The described embodiments of the present disclosure can be practiced in a distributed computing environment, where certain tasks are performed by remote processing devices that are connected through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
[0170] Computers typically include a variety of computer-readable media. Computer-readable media can be any media that can be accessed by a computer, and includes both volatile and nonvolatile media, transitory and non-transitory media, removable and non-removable media. By way of example, and not limitation, computer-readable media can include computer-readable storage media and computer-readable transmission media. Computer-readable storage media includes both volatile and nonvolatile media, transitory and non-transitory media, removable and non-removable media implemented in any method or technology for storing information such as computer-readable instructions, data structures, program modules, or other data. Computer-readable storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital video disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be accessed by a computer and used to store the desired information.
[0171] Computer-readable transmission media typically includes any information delivery media that embodies computer-readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism. The term modulated data signal means a signal that has one or more of its characteristics set or changed so as to encode information in the signal. By way of example, and not limitation, computer-readable transmission media includes wired media, such as a wired network or direct-wired connection, and wireless media, such as acoustic, RF, infrared, or other wireless media. Combinations of any of the above are also intended to be included within the scope of computer-readable transmission media.
[0172] An exemplary environment for implementing various aspects of the present disclosure is illustrated, including a computer (1102), which includes a processing unit (1104), system memory (1106), and a system bus (1108). The system bus (1108) connects system components, including but not limited to the system memory (1106), to the processing unit (1104). The processing unit (1104) may be any of a variety of commercially available processors. Dual processors and other multiprocessor architectures may also be utilized as the processing unit (1104).
[0173] The system bus (1108) may be any of several types of bus structures that may be additionally interconnected to a memory bus, a peripheral bus, and a local bus using any of a variety of commercial bus architectures. The system memory (1106) includes read-only memory (ROM) (1110) and random access memory (RAM) (1112). A basic input / output system (BIOS) is stored in non-volatile memory (1110), such as ROM, EPROM, or EEPROM, and includes basic routines that help transfer information between components within the computer (1102), such as during start-up. The RAM (1112) may include high-speed RAM, such as static RAM, for caching data.
[0174] The computer (1102) includes an internal hard disk drive (HDD) (1114) (e.g., EIDE, SATA) - which may be configured for external use within a suitable chassis (not shown), a magnetic floppy disk drive (FDD) (1116) (e.g., for reading from or writing to a removable diskette (1118)), and an optical disk drive (1120) (e.g., for reading from or writing to a CD-ROM disk (1122) or other high-capacity optical media such as a DVD). The hard disk drive (1114), the magnetic disk drive (1116), and the optical disk drive (1120) may be connected to the system bus (1108) by a hard disk drive interface (1124), a magnetic disk drive interface (1126), and an optical drive interface (1128), respectively. The interface (1124) for implementing an external drive includes at least one or both of Universal Serial Bus (USB) and IEEE 1394 interface technologies.
[0175] These drives and their associated computer-readable media provide non-volatile storage of data, data structures, computer-executable instructions, and the like. In the case of the computer (1102), the drives and media correspond to storing any data in a suitable digital format. While the description of computer-readable media above refers to HDDs, removable magnetic disks, and removable optical media such as CDs or DVDs, those of ordinary skill in the art will appreciate that other types of computer-readable media, such as zip drives, magnetic cassettes, flash memory cards, cartridges, and the like, may also be used in the exemplary operating environment, and that any such media may contain computer-executable instructions for performing the methods of the present disclosure.
[0176] A number of program modules, including an operating system (1130), one or more application programs (1132), other program modules (1134), and program data (1136), may be stored in the drive and RAM (1112). All or portions of the operating system, applications, modules, and / or data may be cached in RAM (1112). It will be appreciated that the present disclosure may be implemented in various commercially available operating systems or combinations of operating systems.
[0177] A user may enter commands and information into the computer (1102) via one or more wired / wireless input devices, such as a keyboard (1138) and a pointing device such as a mouse (1140). Other input devices (not shown) may include a microphone, an IR remote control, a joystick, a game pad, a stylus pen, a touch screen, and the like. These and other input devices are often connected to the processing unit (1104) via an input device interface (1142) that is connected to the system bus (1108), but may be connected by other interfaces such as a parallel port, an IEEE 1394 serial port, a game port, a USB port, an IR interface, and the like.
[0178] A monitor (1144) or other type of display device is also connected to the system bus (1108) via an interface, such as a video adapter (1146). In addition to the monitor (1144), the computer typically includes other peripheral output devices (not shown), such as speakers, a printer, and so on.
[0179] The computer (1102) may operate in a networked environment using logical connections to one or more remote computers, such as remote computer(s) (1148), via wired and / or wireless communications. The remote computer(s) (1148) may be a workstation, a computing device computer, a router, a personal computer, a portable computer, a microprocessor-based entertainment device, a peer device, or other conventional network node, and generally include many or all of the components described for the computer (1102), although for simplicity, only the memory storage device (1150) is shown. The logical connections shown include wired / wireless connections to a local area network (LAN) (1152) and / or a larger network, such as a wide area network (WAN) (1154). Such LAN and WAN networking environments are common in offices and companies and facilitate enterprise-wide computer networks, such as intranets, all of which may be connected to a worldwide computer network, such as the Internet.
[0180] When used in a LAN networking environment, the computer (1102) is connected to a local network (1152) via a wired and / or wireless communication network interface or adapter (1156). The adapter (1156) may facilitate wired or wireless communications to the LAN (1152), which may include a wireless access point installed therein for communicating with the wireless adapter (1156). When used in a WAN networking environment, the computer (1102) may include a modem (1158), be connected to a communications computing device on the WAN (1154), or have other means of establishing communications over the WAN (1154), such as via the Internet. The modem (1158), which may be internal or external and wired or wireless, is connected to the system bus (1108) via a serial port interface (1142). In a networked environment, program modules or portions thereof described for the computer (1102) may be stored in a remote memory / storage device (1150). It will be appreciated that the network connections depicted are exemplary and other means of establishing a communications link between the computers may be used.
[0181] The computer (1102) operates to communicate with any wireless device or object that is arranged and operates via wireless communication, such as a printer, a scanner, a desktop and / or portable computer, a portable data assistant (PDA), a communication satellite, any equipment or location associated with a radio-detectable tag, and a telephone. This includes at least Wi-Fi and Bluetooth wireless technologies. Accordingly, the communication may be a predefined structure as in a conventional network, or may simply be an ad hoc communication between at least two devices.
[0182] Wi-Fi (Wireless Fidelity) enables connections to the Internet and other devices without wires. Wi-Fi is a wireless technology that allows devices, such as computers, to send and receive data anywhere within the coverage area of a base station, both indoors and outdoors, similar to cell phones. Wi-Fi networks use wireless technologies called IEEE 802.11 (a, b, g, etc.) to provide secure, reliable, and high-speed wireless connections. Wi-Fi can be used to connect computers to each other, to the Internet, and to wired networks (using IEEE 802.3 or Ethernet). Wi-Fi networks can operate in the unlicensed 2.4 and 5 GHz radio bands, at data rates of, for example, 11 Mbps (802.11a) or 54 Mbps (802.11b), or in products that include both bands (dual-band).
[0183] Those skilled in the art will appreciate that information and signals may be represented using any of a variety of different technologies and techniques. For example, the data, instructions, commands, information, signals, bits, symbols, and chips 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.
[0184] Those skilled in the art will appreciate that the various illustrative logical blocks, modules, processors, means, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, various forms of programs or design code (referred to herein, for convenience, as software), or a combination of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Those skilled in the art may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.
[0185] The various embodiments presented herein can be implemented as a method, apparatus, or article of manufacture using standard programming and / or engineering techniques. The term article of manufacture includes a computer program, carrier, or media 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 disks (e.g., CDs, DVDs, etc.), smart cards, and flash memory devices (e.g., EEPROMs, cards, sticks, key drives, etc.). Furthermore, various storage media presented herein include one or more devices and / or other machine-readable media for storing information.
[0186] It should be understood that the specific order or hierarchy of steps in the presented processes is merely 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 the present disclosure based on design priorities. The appended method claims provide elements of various steps in a sample order, but are not intended to be limited to the specific order or hierarchy presented.
[0187] The description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present disclosure. Various modifications to these embodiments will be readily apparent to those 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. Therefore, the present disclosure is not intended to be limited to the embodiments disclosed herein, but is to be construed in the broadest scope consistent with the principles and novel features disclosed herein.
[0188] As described above, the relevant contents have been described in the best form for carrying out the invention.
Claims
1. A method for generating molecules based on molecular fragments, performed by a computing device, Step of obtaining the initial molecular structure; obtaining one or more attachment sites to which molecular fragments will be attached in the initial molecular structure; and A step of generating a new molecule based on candidate molecule fragments to be attached to the one or more attachment sites of the initial molecular structure by utilizing a reinforcement learning model; Including, The above reinforcement learning model utilizes an action space based on the one or more attachment sites and the candidate molecule fragments. method.
2. In paragraph 1, The one or more attachment sites and the candidate molecular fragments that form the basis of the above action space are determined for each user based on a molecular fragment database, The above molecular fragment database contains information on the position at which each molecular fragment can be attached to a molecule. method.
3. In paragraph 1, The above action space is dynamically configured at each step of an episode of reinforcement learning. method.
4. In paragraph 3, The action of each step of the above reinforcement learning episode includes an action regarding which candidate molecular fragment to attach to which attachment site. method.
5. In paragraph 3, The above action space is, Dynamically configured at each step of the reinforcement learning episode based on the candidate molecule fragments determined by the one or more attachment sites and the preset attachment conditions, method.
6. In paragraph 5, The above preset attachment conditions are: Step setting conditions for a specific attachment site; or Information on the restriction of molecular fragments to specific attachment sites Containing at least one of, method.
7. In paragraph 6, The step setting conditions for the above specific attachment site are: Including the sequence setting conditions for the steps to be performed for the above specific attachment site, method.
8. In paragraph 6, The characteristic restriction information of the above molecular fragments is, Limit information on the molecular weight of the above molecular fragments; Restriction information on the ring format of the above molecular fragments; Restriction information as to whether the above molecular fragments correspond to a linker; or Limit information on the number of linkage sites of the above molecular fragments Containing at least one of, method.
9. In paragraph 1, The step of obtaining the above initial molecular structure is: A step of obtaining the initial molecular structure based on a seed molecular structure input by a user; or A step of obtaining the initial molecular structure based on a randomly generated or selected molecular structure; Containing at least one of, method.
10. In paragraph 1, The step of obtaining one or more attachment sites is: comprising a step of obtaining an atom selected by the user as an attachment site; method.
11. In paragraph 10, The above method, A step of assigning an identification number to each atom of the initial molecular structure to distinguish the atoms. Including more, The step of obtaining one or more attachment sites is: A step of obtaining an identification number selected as an attachment site by the user including, method.
12. A computer program stored in a computer-readable storage medium, wherein the computer program, when executed on one or more processors, performs the following operations for generating a molecule based on a molecule fragment, wherein the operations are: The act of obtaining an initial molecular structure; The act of obtaining one or more attachment sites to which molecular fragments will be attached in the initial molecular structure; and An operation of generating a new molecule based on candidate molecular fragments to be attached to one or more attachment sites of the initial molecular structure by utilizing a reinforcement learning model. Including, The above reinforcement learning model utilizes an action space based on the one or more attachment sites and the candidate molecule fragments. A computer program stored on a computer-readable storage medium.
13. As a computing device, at least one processor; and memory Including, At least one processor, Obtain the initial molecular structure, In the above initial molecular structure, one or more attachment sites to which molecular fragments are attached are obtained, configured to generate a new molecule based on candidate molecule fragments to be attached to said one or more attachment sites of said initial molecular structure by utilizing a reinforcement learning model; The above reinforcement learning model utilizes an action space based on the one or more attachment sites and the candidate molecule fragments. Computing device.
Citation Information
Patent Citations
Modular electronics connecting assembly for replacing electronics in client satellites
KR1020240084964A
Molecular design using reinforcement learning
US20210090690A1
Designing a molecule and determining a route to its synthesis
US20220406412A1
System and method for learning to generate chemical compounds with desired properties
US20230050627A1
Drug molecule intelligent generation method based on reinforcement learning and docking
WO2023279436A1