Multi-instance GPU-based system for mining new drug candidate materials

By designing a new drug candidate substance mining system based on multi-instance graphics processors, the problem that existing systems are difficult to manage data sharing between GPU resources and tools is solved, and a more efficient new drug candidate substance mining process is achieved.

CN119836663AActive Publication Date: 2025-04-15CALICI CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202380064563.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-12-18
Filing Date
2023-12-21
Publication Date
2025-04-15
Estimated Expiration
2043-12-21

AI Technical Summary

Technical Problem

It is difficult for existing new drug candidate substance mining systems to manage GPU resources carefully, and it is difficult to share data and manage unifiedly among tools.

Method used

A new drug candidate substance mining system based on multi-instance graphics processor (Multi-Instance GPU) is designed. Through the project management module, simulation management module, simulation setting module and simulation process management module, users can customize GPU resources and manage graphics processors through docker containers.

Benefits of technology

The meticulous management of the new drug candidate substance mining system has been realized, the data sharing and unified management capabilities between tools have been improved, and the process of mining new drug candidate substance mining has been optimized.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119836663A_ABST
    Figure CN119836663A_ABST
Patent Text Reader

Abstract

The new drug candidate material mining system may include: an item management module that generates an item to which a task for performing mining of a new drug candidate material can be added; the simulation management module is used for generating simulation expected by a user on the generated project; and a simulation setting module that sets a simulation flow for the simulation received from a user by using a canvas region, a protein structure data input region including one or more objects that can be dragged and dropped to the canvas region and that can be changed to nodes, and a simulation setting region that sets the simulation flow for the simulation received from the user, the protein structure data input region including one or more objects that can be dragged and dropped to the canvas region and that can be changed to nodes. The simulation setting area comprises a task module selection area; the simulation process management module is used for managing information of nodes which can be arranged before or after in the setting of the simulation process; and the simulation running module is used for dividing GPU resources according to each node and distributing the GPU resources so as to manage and run tasks forming the simulation process.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a system for mining new drug candidate substances, and more particularly, to a system based on a multi-instance graphics processor (Multi-Instance GPU) for mining new drug candidate substances. Background Art

[0002] The discovery of new drug candidate substances is equivalent to the initial stage of new drug development, and the protein structure-based In Silico screening method is attracting much attention. In Silico screening based on protein structure is a method of identifying potential new drug candidates from a compound database based on the three-dimensional structure of the protein to which the new drug candidate substances can be connected. In Silico means computer programming in computer simulation experiments or virtual experiments. In Silico screening based on protein structure can be used to simulate the interaction between proteins and compounds to predict the binding force of compounds. Compared with ligand-based screening, which relies on known ligands because it searches for compounds similar to known ligands and has limitations in finding completely new chemical structures, In Silico screening based on protein structure can not only find compounds that accurately match the active sites of proteins, but can also be used to explore compounds with new chemical spaces.

[0003] For the mining of new drug candidate substances as described above, there is an increasing demand for integrating libraries with billions of compounds with big data analysis technology and artificial intelligence technology to use multiple analysis tools in parallel. In order to meet the above needs, various software are set up and run in research laboratories of research institutions such as pharmaceutical companies or universities. As an example, the European Molecular Biology Laboratory (EMBL) develops various tools required for bioinformatics for download or provides simple web applications.

[0004] However, this tool has the following disadvantages: it is provided in a way that does not require the creation of an account and is difficult to use by pharmaceutical companies that require security, it is difficult to share data between the provided tools, and since these tools are divided into multiple installation systems such as Windows, Mac, and Linux, it is difficult to achieve unified management of data. Against this background, data analysis tools such as KNIME (Konstanz Information Miner) have emerged, which are dedicated to visualizing data processing in the form of a flowchart. However, since most of these data analysis tools are setup-based, have poor accessibility, and are not specific to new drug mining, it takes a lot of effort and time to directly use them for the mining of new drug candidate substances. Summary of the invention

[0005] Technical issues A technical problem to be solved by the present invention is to provide a new drug candidate mining system that can manage the graphics processing unit (GPU) resources to be used in a user-customized and detailed manner when mining new drug candidate substances.

[0006] Technical Solution According to one embodiment, a new drug candidate substance mining system, which is implemented as a platform that provides users with functions or services required for mining new drug candidate substances in the form of network services, may include: a project management module that generates projects to which tasks for performing new drug candidate substance mining can be added; a simulation management module that generates simulations desired by users on the generated projects; a simulation setting module that sets a simulation process for the simulation received from a user by utilizing a canvas area, a protein structure data input area, and a simulation setting area, wherein the protein structure data input area includes one or more objects that can be dragged and dropped into the canvas area and changed into nodes, and the simulation setting area includes a task module selection area; a simulation process management module that manages information on nodes that can be placed before or after in the settings of the simulation process; and a simulation running module that divides and allocates graphics processor resources according to each of the nodes to manage and run tasks for running the simulation process.

[0007] In some embodiments, the simulation operation module includes: a task management module, which uses a task queue to schedule the execution of the task; and a graphics processor management module, which uses a docker container to manage the graphics processor based on a multi-instance graphics processor (Multi-Instance GPU), and uses a virtual graphics processor generated based on the graphics processor to run the task scheduled by the task management module.

[0008] In some embodiments, the new drug candidate substance mining system may further include a task providing module, which provides the task stored in the form of the docker container to the simulation operation module.

[0009] In some embodiments, the task providing module assigns the first to fifth tasks to the docker container and provides them to the simulation operation module, wherein the first task automatically searches for the best docking site in the target protein structure; the second task predicts the amino acid sequence as the protein tertiary structure; the third task analyzes and arranges the actual binding energy (kcal / mol) and provides it to the user; the fourth task compares and analyzes the selected ligands by converting kcal / mol to Kd / Ki (μM); and the fifth task receives the chemical structure formula of the ligand and predicts absorption, distribution, metabolism, excretion and toxicity.

[0010] In some embodiments, the new drug candidate substance mining system displays a first user interface and a second user interface on a screen, wherein the first user interface receives from a user the number of threads to be used to run the task on a virtual graphics processor, and the second user interface shows the number of tokens required to run the task that should be paid by the user according to the increase or decrease in the number of threads.

[0011] In some embodiments, the new drug candidate substance mining system can display a screen providing a list of virtual graphics processors to the user, and the list can display a name that can identify the virtual graphics processor, information related to the task module that can use the virtual graphics processor, and the maximum capacity (maxcapacity) supported by the virtual graphics processor.

[0012] In some embodiments, the new drug candidate substance mining system can display a first screen providing a list of servers to the user. The list displayed on the first screen can display a name that can identify the server, information related to the virtual graphics processor used by the server, port information used to connect to the server, the total capacity supported by the server, the capacity currently available in the server, and whether the server is usable.

[0013] In some embodiments, the new drug candidate substance mining system can display to the user a second screen that provides a list of the virtual graphics processors used by the server, and the list on the second screen can display a name that can identify the server, graphics processor ID information for the virtual graphics processor used by the server, type information of the virtual graphics processor used by the server, the maximum capacity supported by the virtual graphics processor, the currently available capacity in the virtual graphics processor, and whether the virtual graphics processor is available.

[0014] In some embodiments, the new drug candidate substance mining system can display a first screen providing a list of task queues to the user, and the list on the first screen can display position information of the task inserted into the task queue, URL information that can be connected to the task, information on whether the task inserted into the task queue is released or not, the name of the task inserted into the task queue, the ID of the task, and information on the number of threads used to run the task.

[0015] In some embodiments, it is determined whether the task inserted into the task queue is executable or not, and the task is executed if it is determined to be executable. The executable or not can be determined as follows: the capacity occupied when the task is executed is compared with the capacity currently available in the virtual graphics processor, and when the capacity occupied when the task is executed does not exceed the capacity currently available in the virtual graphics processor, it is determined to be executable; when the capacity occupied when the task is executed exceeds the capacity currently available in the virtual graphics processor, it is determined to be not executable.

[0016] In some embodiments, the system for mining new drug candidate substances may display a second screen to the user, wherein the second screen provides a list including information related to capacity blocked in the execution of the tasks scheduled in the task queue.

[0017] In some embodiments, the protein structure data input area includes one or more objects related to the function of uploading protein structure data, and the one or more objects may include an object that is dragged and dropped to the canvas area and converted into one of the first node to the fourth node, wherein the first node has the function of receiving protein structure data in the form of a protein database (PDB: Protein Data Bank) file from the user, the second node has the function of receiving protein structure data in the form of a protein database code from the user, the third node has the function of receiving protein structure data in the form of a protein sequence file from the user, and the fourth node has the function of receiving protein structure data in the form of a protein sequence from the user.

[0018] In some embodiments, the task module selection area includes one or more objects related to the function of performing a specific task involving new drug candidate mining based on uploaded protein structure data, and one or more of the objects are dragged and dropped to the canvas area, and may include an object converted into one of the fifth to eighth nodes, wherein the fifth node has the function of searching for the best docking site in the target protein structure, the sixth node has the function of predicting the amino acid sequence as the tertiary structure of the protein, the seventh node has the function of analyzing and arranging the actual binding energy (kcal / mol) and providing it to the user, and the eighth node has the function of converting kcal / mol into Kd / Ki (μM) for comparative analysis of the selected ligands.

[0019] In some embodiments, the nodes that may be before the fifth node may include the first node, the second node, the third node, the fourth node, and the sixth node, and the nodes that may be after the fifth node may include the seventh node.

[0020] In some embodiments, the nodes that may be before the sixth node may include the third node, the fourth node, and the sixth node, and the nodes that may be after the sixth node may include the fifth node.

[0021] In some embodiments, the node that may be before the seventh node may include the fifth node, and the node that may be after the seventh node may include the eighth node.

[0022] In some embodiments, node connection shapes are displayed in the nodes arranged in the canvas area, and when the user is in a state of clicking the node connection shape displayed on the right side of a node, the node connection shape displayed on the left side of the connectable node in other nodes can show a change in color or shape.

[0023] In some embodiments, the simulation process management module may manage information for determining whether the nodes are connectable through metadata.

[0024] Effects of the Invention According to the embodiment, an optimized new drug candidate substance mining function and user interface are provided, which improves the point that the specific tasks related to new drug candidate substance mining are provided as separate tools with low mutual compatibility and difficult to share data and manage data in a unified manner, and can easily manage the simulation process by generating, changing and deleting nodes. In addition, in order to implement the simulation process as described above, the GPU resources to be used can be carefully managed in a user-customized manner. BRIEF DESCRIPTION OF THE DRAWINGS

[0025] Figure 1 FIG. 4 is a block diagram showing a system for mining new drug candidate substances according to an embodiment.

[0026] Figures 2 to 6 FIG. 1 is a diagram showing an exemplary screen of a system for mining new drug candidate substances according to an embodiment.

[0027] Figure 7 FIG. 1 is a diagram showing a simulation setting example of a new drug candidate substance mining system according to an embodiment.

[0028] Figure 8 FIG. 4 is a block diagram showing a system for mining new drug candidate substances according to an embodiment.

[0029] Figures 9 and 10 FIG. 1 is a diagram showing a specific example of a new drug candidate substance mining system according to an embodiment.

[0030] Figures 11 to 14 FIG. 1 is a diagram showing a specific example of a new drug candidate substance mining system according to an embodiment.

[0031] Figures 15 to 22 FIG. 1 is a diagram showing a specific example of a new drug candidate substance mining system according to an embodiment.

[0032] Fig.23 is a block diagram for illustrating a computing device according to an embodiment. DETAILED DESCRIPTION

[0033] The embodiments of the present invention are described in detail below with reference to the accompanying drawings so that a person with general knowledge in the technical field to which the present invention belongs can easily implement it. However, the present invention can be implemented in many different forms and is not limited to the embodiments described here. In addition, in order to clearly illustrate the present invention, parts not related to the description are omitted in the drawings, and similar parts are given similar reference numerals throughout the specification.

[0034] Throughout the specification and claims, when it is mentioned that a part “includes” a certain constituent element, unless there is any special description to the contrary, it means that other constituent elements may also be included, rather than excluding other constituent elements.

[0035] In addition, the terms "unit", "device" and "module" recorded in the specification may represent a unit capable of processing at least one function or operation described in this specification, which may be implemented by hardware, software or a combination of hardware and software.

[0036] Figure 1 FIG. 4 is a block diagram showing a system for mining new drug candidate substances according to an embodiment.

[0037] According to an embodiment, the new drug candidate mining system 1 can be implemented as a platform that provides users with the functions or services required for mining new drug candidate substances in the form of network services. Specifically, in order to allow biologists who have specific ideas for new drug development to use in silico screening methods, the new drug candidate mining system 1 can provide users with the following diverse functions or services: detecting and removing errors in protein structure files without knowledge of other fields, or effectively detecting enzyme active sites (EAPDC: Enzymatically Active Pocket for Docking Calculation) in protein structures for docking and providing them to users, or providing users with the ranking of candidate substances in real time based on docking binding energy during a period of long-term docking simulation, or using two stages to predict docking binding energy to improve reliability, or even performing verification of the mined candidate substances through association with verification companies, etc.

[0038] The new drug candidate mining system 1 can provide the same functions or services to users in various environments using a network interface. Specifically, for example, a certain user can receive services from the new drug candidate mining system 1 using a mobile device such as a smart phone or a tablet computer running a mobile operating system, another user can receive services from the new drug candidate mining system 1 using a laptop computer running a Windows operating system, and other users can receive services from the new drug candidate mining system 1 using a desktop computer running a Linux operating system. That is, the new drug candidate mining system 1, as a platform implemented through network services, enables users in different environments to calculate In Silico candidate substances using artificial intelligence neural networks, and provides a variety of functions or services required for preclinical experiments on new drug candidate substances to be used in the same way, thereby improving compatibility and user convenience, and solving various problems that need to be improved in In Silico calculations that were previously performed through terminals on Linux.

[0039] Reference Figure 1 According to an embodiment, the new drug candidate substance mining system 1 may include a project management module 10 , a simulation management module 12 , a simulation setting module 14 and a simulation process management module 16 .

[0040] The project management module 10 can generate a project that can add a series of operations for performing new drug candidate substance mining, and can display the generated project to the user through a display device of a computing device driving the new drug candidate substance mining system 1 .

[0041] In some embodiments, the project management module 10 can perform project name encryption. In the case of a project with project name encryption enabled, the project management module 10 can display the unencrypted original project name to the user who generated the project and the user with permission to use the project, and display the encrypted project name to the user who does not have permission to use the project. Since there may be a risk that the project name contains keywords that need to maintain security as keywords related to new drug candidate mining, by preventing the project name from being directly exposed to users who are not involved in the same project, security can be improved in the new drug candidate substance mining system 1 used by multiple users. Enabling or disabling project name encryption can be set not only by changing the option when generating the project, but also by changing the option after the project is generated.

[0042] In some embodiments, the project management module 10 can support project joining through an invitation code. For example, in the case where a user generates a project, the user can send the invitation code to another user, and the other user who receives the invitation code can participate in the project by entering the invitation code. That is, users can participate in projects generated by others through invitation codes. Accordingly, users with knowledge in various fields that are different from each other can be supported to participate in a project to perform mining of new drug candidate substances. In addition, the project management module 10 can support the setting of permissions for project members. For example, the project management module 10 can grant management permissions to specific members among the members. Of course, the project management module 10 can also support users to leave the project regardless of which project they participate in.

[0043] The simulation management module 12 can generate a simulation desired by the user on the project generated by the project management module 10. One simulation can include multiple task modules with detailed functions for performing new drug candidate mining, and one project can include multiple simulations. After generating a simulation, the user can upload protein structure data for executing multiple task modules.

[0044] The simulation setting module 14 can display the simulation setting area 140 to the user by driving the display device of the computing device of the new drug candidate substance mining system 1 when the user selects one or more simulations managed by the simulation management module 12. In the simulation setting area 140, the user can arrange and connect multiple task modules based on graphic calculations, thereby setting the simulation process to perform the simulation desired by the user. In particular, the simulation setting area 140 can be arranged so that the user can grasp at a glance the function of uploading protein structure data and the task module for performing specific tasks related to new drug candidate substance mining based on the uploaded protein structure data. By the above-mentioned structure, it is possible to improve the point that the specific tasks related to new drug candidate substance mining in the past were provided as separate tools with low mutual compatibility and it was difficult to share data and uniformly manage data. The simulation setting area 140 may include a protein structure data input area 142, a task module selection area 144, and a canvas area 146.

[0045] The protein structure data input area 142 may include one or more objects that can be dragged and dropped to the canvas area 146. For example, the protein structure data input area 142 may include first to fourth objects. The first object may be dragged and dropped to the canvas area 146 and converted into a first node, which may receive protein structure data in the form of a protein database (PDB: Protein Data Bank) file from a user. The second object may be dragged and dropped to the canvas area 146 and converted into a second node, which may receive protein structure data in the form of a PDB code from a user. The third object may be dragged and dropped to the canvas area 146 and converted into a third node, which may receive protein structure data in the form of a protein sequence file from a user. The fourth object may be dragged and dropped to the canvas area 146 and converted into a fourth node, which may receive protein structure data in the form of a protein sequence from a user.

[0046] The task module selection area 144 may also include one or more objects that can be dragged and dropped to the canvas area 146. For example, the task module selection area 144 may include the fifth object to the eighth object. The fifth object may be dragged and dropped to the canvas area 146 and converted into a fifth node, which may perform the task of searching for the best docking site in the target protein structure. In particular, the fifth node may use an artificial intelligence language model based on natural language processing (NLP) to automatically search for active sites in the target protein and generate the best docking grid box. In addition, the fifth node may automatically modify various errors that may exist in the protein structure file (i.e., PDB file). That is, the fifth node automatically performs the following tasks: detecting and removing anisotropic B-factors in PDB files, detecting alternative conformations in amino acid residue segments and modifying them to non-alternative conformations, detecting unusual amino acids in amino acid residue segments and modifying them to 20 kinds of unspecific amino acids. The sixth object can be dragged and dropped to the canvas area 146 and converted to the sixth node, which can predict the amino acid sequence as a protein tertiary structure. The seventh object can be dragged and dropped to the canvas area 146 and converted to the seventh node, which can analyze the actual binding energy (kcal / mol), and arrange them in the order of the best binding energy and provide them to the user. That is, the seventh node can perform a grid-based In Silico docking based on the input protein structure, use the Larmarckian Genetic Algorithm (LGA) to determine the chemical pose, and can use the empirical scoring function to calculate the binding energy. The eighth object can be dragged and dropped to the canvas area 146 and converted to the eighth node, and the eighth node can select the desired ligand and convert kcal / mol to Kd / Ki (μM) to perform comparative analysis. That is, the eighth node can use a CNN artificial intelligence model to predict Kd / Ki values ​​in μM units, wherein the CNN artificial intelligence model is trained on protein-ligand structures and Kd / Ki / IC50 values.

[0047] The first to eighth objects as described above can be converted into the first to eighth nodes respectively by dragging and dropping them to the canvas area 146, and the user can freely arrange the first to eighth nodes in the canvas area 146 according to the desired operation order according to the purpose and environment of the simulation. In addition, the user can set the connection relationship between the first to eighth nodes arranged in the canvas area 146 by edges. The user can generate a new drug candidate substance mining simulation in a manner of arranging nodes and connecting the edges between the nodes. In addition, in a simulation process where the complexity increases with the increase of nodes placed in the canvas area 146 and the increase of edges between nodes, the user can clearly and easily manage the information input for the protein structure data by generating, changing and deleting nodes.

[0048] In some embodiments, the simulation setting area 140 may further include an external module providing area 148. The external module providing area 148 may include a ninth node that is dragged and dropped to the canvas area 146 and converted into a node having any function provided from outside the new drug candidate substance mining system 1. Accordingly, functions provided by other systems that are connected and operated with the new drug candidate substance mining system 1 can be easily included in the simulation by setting nodes in the canvas area 146.

[0049] As described above, the user can drag the desired object in the protein structure data input area 142, the task module selection area 144, and the external module providing area 148 while clicking it, and place it on the canvas area 146 to arrange and freely move the nodes. In some embodiments, the nodes arranged in the canvas area 146 can be displayed with node connection shapes. When the user is in a state of clicking the node connection shape displayed on the right side of a certain node, the color or shape of the node connection shape displayed on the left side of the connectable node in other nodes can be changed. The user cannot set a connection to the node whose color of the node connection shape displayed on the left side of other nodes has not changed, but can only set a connection to the node whose color of the node connection shape displayed on the left side has changed. Accordingly, the user can prevent the generation of an erroneous simulation process in advance by whether the color of the node connection shape changes, without knowing whether a causal relationship can be generated between each node.

[0050] The information used to determine whether the nodes can be connected can be managed by the simulation process management module 16. The simulation process management module 16 can manage the information of the nodes that can be in front or behind in the simulation setting, and can use a separate data structure such as metadata as needed. In addition, in the case where the information of the nodes that can be in front or behind is changed, the simulation process management module 16 can also update the information by reflecting the situation in the metadata.

[0051] When the user clicks on the node connection shape displayed on the right side of a node and wants to connect to another node whose node connection shape displayed on the left side has changed color, the user can click on the node connection shape of a node and then click on the node connection shape of another node to connect, or can drag the node connection shape of a node to the node connection shape of another node while still clicking on it to connect. If the connection is completed, a connection line will be displayed between the nodes, and the connection between the nodes can be released by clicking on the × displayed on the connection line.

[0052] If the objects included in the task module selection area 144 are converted into nodes on the canvas area 146, a run button may be generated in the node. The user may click the run button to execute the task of the node. Before the task starts, the number of tokens required to execute the task may be displayed, and the task may be executed while the tokens are deducted after the user's confirmation. If the task is completed, the run button is changed to a result button, and a download button may be additionally generated. The user may click the result button to view the task execution result, and may click the download button to download the task execution result.

[0053] As described above, when mining new drug candidate substances, a simulation process that conforms to the development of the optimal compound can be generated while setting the connection relationship of nodes having various functions. In addition, even if a function is added inside the new drug candidate substance mining system 1 or a new function is added externally, a node corresponding to the added function can be generated, thereby easily setting the connection relationship with the existing nodes.

[0054] Figures 2 to 6 FIG. 1 is a diagram showing an exemplary screen of a system for mining new drug candidate substances according to an embodiment.

[0055] Reference Figure 2, the simulation setting area 140 may include a protein structure data input area 142, a task module selection area 144, a canvas area 146, and an external module providing area 148. As shown in the figure, the protein structure data input area 142 may include one or more objects associated with the function of uploading protein structure data, the task module selection area 144 may include one or more objects related to specific tasks involving new drug candidate substance mining performed based on the uploaded protein structure data, and the external module providing area 148 may include one or more objects associated with any function provided from the outside. Such objects can be dragged and dropped by the user to the canvas area 146 and converted into nodes, and the nodes are connected by edges to form a graph, and the graph can represent the simulation process. Of course, the number or type of objects included in the task module selection area 144, the canvas area 146, and the external module providing area 148 shown in the figure are exemplified for the purpose of illustrating the implementation method, and the scope of the present invention is not limited to the illustrated content.

[0056] Reference Figure 3 , the protein structure data input area 142 may include a first object 1420, a second object 1421, a third object 1422, and a fourth object 1423. The first object 1420 represented by "PDB File Upload" is associated with a function of receiving protein structure data in the form of a PDB file, and the second object 1421 represented by "PDB Code Input" is associated with a function of receiving protein structure data in the form of a PDB code. The third object 1422 represented by "Protein Sequence File (Fasta)" is associated with a function of receiving protein structure data in the form of a protein sequence file, and the fourth object 1423 represented by "Protein Sequence (File)" is associated with a function of receiving protein structure data in the form of a protein sequence.

[0057] In addition, the task module selection area 144 may include a fifth object 1440, a sixth object 1441, a seventh object 1442, and an eighth object 1443. The fifth object 1440 represented by "PocketFinder" is associated with a function of automatically searching for an optimal docking site, and the sixth object 1441 represented by "CaliciFold" is associated with a function of predicting an amino acid sequence as a protein tertiary structure. The seventh object 1442 represented by "AI-Dock" is associated with a function of analyzing actual binding energy (kcal / mol) and automatically arranging it in an optimal order, and the eighth object 1443 represented by "DeepCalici" is associated with a function of converting kcal / mol to Kd / Ki (μM) and performing comparative analysis.

[0058] In some embodiments, the fifth object 1440 detects and removes anisotropic B-factors from the PDB file in the protein structure data file input by the user, detects alternative conformations in the amino acid residue segment and modifies them to non-alternative conformations, and detects unusual amino acids in the amino acid residue segment and modifies them to 20 kinds of unspecific amino acids. For example, when docking simulation is performed in the case where the anisotropic B-factor is not removed from the PDB file, an error may occur that the PDB file format cannot be recognized or the PDB file cannot be read. When docking simulation is performed in the case where alternative conformations or unusual amino acids exist in the amino acid residue segment, an error may occur due to unknown amino acids, thereby reducing the accuracy of the In Silico screening method or increasing the failure rate of candidate substance mining. By automatically processing the error-generating factors as described above, not only can the inefficiency and inaccuracy that may occur due to manual modification of PDB files by users be prevented and collaboration with structural biologists be omitted, but the process of preprocessing PDB files can also be automatically processed internally in a way that users cannot detect, thereby providing users with an environment that allows them to focus only on mining new drug candidate substances. In addition, in some embodiments, the fifth object 1440 can perform modifications on missing residues in the protein structure of the PDB file. Specifically, missing residues are detected by checking the intervals between residues in the protein structure of the PDB file. When missing residues are found, a protein amino acid sequence suitable for filling in the missing residues is obtained by searching the sequence database. In the protein amino acid sequence obtained as described above, the missing residues can be automatically filled in. Accordingly, subsequent tasks can be performed based on error-free protein structure files that have removed errors that may occur in the simulation.

[0059] The fifth object 1440 can detect the enzymatically active pocket for docking calculation (EAPDC) from the protein structure file and determine the docking calculation site. Specifically, the fifth object 1440 can predict the docking site (ie, EAPDC) in the target protein structure using an artificial intelligence language model. Specifically, the fifth object 1440 calculates the depth value of the pocket based on the solvent accessible surface (SAS: Solvent Accessible Surface) of the target protein surface, generates a gradient class activation map (Gradient Class Activation Map) of amino acids that contribute to the process of predicting the activity of the target protein, and considers the depth value of the pocket and the value of the amino acid with high contribution in the gradient class activation map. The site with a high impact on the activity of the target protein can be determined as the docking calculation site. Here, the gradient class activation map can be extracted from a graph convolutional network (GCN: Graph Convolutional Network) trained using an Enzyme Commission number (EC number: Enzyme Commission number) or a Gene Ontology number (GO number: Gene Ontology number) implemented by an embedding layer of a natural language processing model. Furthermore, the natural language processing model implemented by the embedding layer may be a transformer natural language processing model.

[0060] Meanwhile, the external module providing area 148 includes a ninth object 1480 , and the ninth object 1480 denoted by “CRO-Order” is associated with a function of transmitting a verification request for a candidate substance desired by a user to a verification company server.

[0061] like Figure 3 As shown, for example, the user can drag and drop the first object 1420 represented by "PDB file upload" to the canvas area 146, and it can be converted into a node N31 accordingly. Node N31 may include a button for executing the function of receiving the protein structure data in the form of a PDB file. In addition, node N31 can also display the relevant information such as the identification of the node, the task execution state, etc. In addition, node N31 can also include a button that can delete itself. As shown in the example of node N31, the second object 1421 to the ninth object 1480 can be dragged and dropped to the canvas area 146 and converted into a node that displays its unique buttons, information, etc.

[0062] like Figure 4As shown, the user can drag and drop the second object 1421 represented by "PDB code input" to the canvas area 146, thereby converting it into a node N41. Node N41 may include a button for executing a function of receiving protein structure data in the form of a PDB code. Next, the user can drag and drop the fifth object 1440 represented by "PocketFinder" to the canvas area 146, thereby converting it into a node N42. Node N42 may include a button for executing a function of automatically searching for the best docking site.

[0063] like Figure 5 As shown, node connection shapes can be displayed at the nodes arranged in the canvas area 146. Specifically, a node connection shape CS1 can be displayed on the right side of the node N51, and a node connection shape CS2 can be displayed on the left side of the node N52. When the user is in a state of clicking on the node connection shape CS1 displayed on the right side of a certain node N51, the color or shape of the node connection shape CS1 displayed on the left side of the connectable node N52 in other nodes can be changed. The user cannot set a connection to a node whose color of the node connection shape displayed on the left side of other nodes has not been changed, but can only set a connection to a node whose color of the node connection shape displayed on the left side has been changed. When the user is in a state of clicking on the node connection shape CS1 displayed on the right side of a certain node N51, the change of the color or shape of the node connection shape CS1 displayed on the left side of the connectable node N52 in other nodes can be determined based on the information provided from the simulation process management module 16 for the node that can be in front or behind.

[0064] like Figure 6 As shown, when the node connection shape CS1 displayed on the right side of a certain node N61 is clicked, if you want to connect to another node N62 whose color of the node connection shape CS2 displayed on the left side has been changed, you can connect by clicking the node connection shape CS1 of a certain node N61 and then clicking the node connection shape CS2 of another node N62, or you can connect by dragging the node connection shape CS1 of a certain node N61 to the node connection shape CS2 of another node N62 while clicking it. If the connection is ended, a connection line is displayed between the nodes, and if you click the × displayed on the connection line, the connection between the nodes can be released.

[0065] Figure 7 FIG. 1 is a diagram showing a simulation setting example of a new drug candidate substance mining system according to an embodiment.

[0066] Reference Figure 7, in an example of generating a certain simulation process, nodes N71 to N74 are shown. The node connection shape on the right side of node N71 that receives protein structure data in the form of PDB code is edge-connected to the node connection shape on the left side of node N72 that automatically searches for the best docking site, the node connection shape on the right side of node N72 is edge-connected to the node connection shape on the left side of node N73 that analyzes actual binding energy (kcal / mol) and automatically sorts, and the node connection shape on the right side of node N73 is edge-connected to the node connection shape on the left side of node N74 that performs comparative analysis by converting kcal / mol to Kd / Ki (μM). As mentioned above, the user cannot set a connection to a node whose node connection shape displayed on the left side has not changed color among other nodes, but can only set a connection to a node whose node connection shape displayed on the left side has changed color, so in the mining of new drug candidate substances, the user does not need to consider whether the nodes can be placed before or after each other, thereby increasing convenience.

[0067] In some embodiments, information for a node that may be preceding or following may be predetermined as follows.

[0068] [Table 1]

[0069] The nodes that may be before the node "PocketFinder" that automatically searches for the best docking site may include the node "PDB file upload" that receives protein structure data in the form of PDB files, the node "PDB code input" that receives protein structure data in the form of PDB codes, the node "Protein sequence file (Fasta)" that receives protein structure data in the form of protein sequence files, the node "Protein sequence (Text)" that receives protein structure data in the form of protein sequences, and the node "CaliciFold" that predicts amino acid sequences as protein tertiary structures, and the subsequent nodes may include the node "AI-Dock" that automatically sorts by analyzing actual binding energy (kcal / mol). The nodes that may be before the node "CaliciFold" that automatically searches for the best docking site may include the node "Protein sequence file (Fasta)" that receives protein structure data in the form of protein sequence files, the node "Protein sequence (Text)" that receives protein structure data in the form of protein sequences, and the subsequent nodes may include the node "PocketFinder" that automatically searches for the best docking site.

[0070] The node that may be before the node "AI-Dock" that analyzes actual binding energy (kcal / mol) and automatically sorts may include a node "PocketFinder" that automatically searches for the best docking site, and the node that may be after may include a node "DeepCalici" that performs comparative analysis by converting kcal / mol into Kd / Ki (μM).

[0071] A node that may be preceding the node "DeepCalici" that performs comparative analysis by converting kcal / mol into Kd / Ki (μM) may include a node "AI-Dock" that analyzes actual binding energy (kcal / mol) and automatically sorts.

[0072] The information of the node that can be in front or behind as described above can be managed by the simulation process management module 16, and a separate data structure such as metadata can be used as needed. In addition, in the case where the information of the node that can be in front or behind is changed, the simulation process management module 16 can also update the information by reflecting the situation in the metadata. As described above, when mining new drug candidate substances, a simulation process that conforms to the development of the optimal compound can be generated while setting the connection relationship of the nodes with various functions.

[0073] According to the existing simulation method, in order to perform complex simulations for new drug candidate substances that need to be tried many times in various ways, a lot of effort, time and cost are required, and it is difficult to set a satisfactory simulation. The simulation setting method based on graphical calculation described by the embodiment improves the existing method, as illustrated, it can intuitively and easily generate and manage complex simulation processes, while providing flexibility and convenience that is easy to change. In addition, it is also possible to actually execute highly complex and complex simulation processes.

[0074] Figure 8 FIG. 4 is a block diagram showing a system for mining new drug candidate substances according to an embodiment.

[0075] Reference Figure 8 According to an embodiment, the new drug candidate substance mining system 1 may include a simulation operation module 20, a task providing module 22, a docker container providing module 24, and a graphics processing unit (GPU) 28. A virtual GPU (GPU instance) 26 may be generated based on the GPU 28.

[0076] The simulation execution module 20 may manage and execute tasks constituting the simulation process based on the simulation process set by the user and provided from the simulation setting module 14. The simulation execution module 20 may include a task management module 201, a task queue 202, and a GPU management module 203.

[0077] The task management module 201 can schedule the running of tasks for running the simulation process to be run. Specifically, the task management module 201 can insert the tasks for running the simulation process set by the user into the task queue 202 by dragging and dropping and connecting nodes that represent the task modules based on graphical calculations, or can delete the tasks included in the task queue 202 and use GPU resources to run the tasks deleted from the task queue 202. In some embodiments, the task queue 202 can be implemented as a queue in a first-in-first-out (FIFO) manner, but the scope of the present invention is not limited thereto, and the task queue 202 can also be implemented in various forms using other data structures.

[0078] The GPU management module 203 can manage the GPU 28 and use the GPU 28 to run the tasks scheduled by the task management module 201 by cooperating with the docker container providing module 24. In particular, the GPU management module 203 can assign the task to the GPU instance 26 generated based on the GPU 28 and run the task.

[0079] The task providing module 22 may provide specific tasks for running the simulation process to the simulation running module 20. Specifically, the task providing module 22 may provide the first task 221 to the fifth task 225 for performing new drug candidate mining. The first task 221 is shown as an operation of automatically searching for the best docking site in the target protein structure, and is shown as "PocketFinder". The first task 221 may correspond to a task instance generated by a user dragging and dropping an object displayed as "PocketFinder" in the task module selection area 144 of the simulation setting area 140 into the canvas area 146 and being converted into a node. The second task 222 is shown as an operation of predicting an amino acid sequence as a protein tertiary structure, and is shown as "CaliciFold". The second task 222 may correspond to a task instance generated by a user dragging and dropping an object displayed as "CaliciFold" in the task module selection area 144 of the simulation setting area 140 into the canvas area 146 and being converted into a node. The third task 223 is shown as an operation of analyzing and arranging the actual binding energy (kcal / mol) and providing it to the user, and is shown as "AI-Dock". The third task 223 may correspond to a task instance generated when the object displayed as "AI-Dock" in the task module selection area 144 of the simulation setting area 140 is dragged and dropped by the user to the canvas area 146 and converted into a node. The fourth task 224 is shown as an operation of comparing and analyzing the selected ligand by converting kcal / mol into Kd / Ki (μM). The fourth task 224 may correspond to a task instance generated when the object displayed as "DeepCalici" in the task module selection area 144 of the simulation setting area 140 is dragged and dropped by the user to the canvas area 146 and converted into a node. The fifth task 225 is shown as an operation of receiving the chemical structure formula of the ligand and predicting absorption, distribution, metabolism, excretion and toxicity. The fifth task 225 may correspond to a task instance generated when the object displayed as "ADME-Tox" in the task module selection area 144 of the simulation setting area 140 is dragged and dropped by the user to the canvas area 146 and converted into a node. That is, the task providing module 22 can provide an “instantiated task module” corresponding to an element of a set simulation flow that is dragged and dropped by the user to the canvas area 146 to be actually executed.

[0080] GPU 28 may support Multi-Instance GPU (hereinafter referred to as "MIG") technology. By supporting MIG, a GPU may be divided into multiple independent virtual GPUs, and the multiple virtual GPUs generated thereby may be allocated inherent memory, CUDA (Compute Unified Device Architecture) cores, and other resources, respectively. In some embodiments, a first virtual GPU 261 and a second virtual GPU 262 may be generated based on GPU 28. A value representing capacity may be set in GPU 28. In addition, a value representing capacity may also be set in virtual GPU 26, and a value representing capacity may also be set for each task 221, 222, 223, 224, 225. Here, the value showing the capacity of virtual GPU 26 cannot be greater than the value showing the capacity of GPU 28. In addition, the capacity set for each task 221, 222, 223, 224, 225 may represent the capacity required for running the task.

[0081] The docker container providing module 24 can provide more than one docker container 241, 242, 243, 244. The docker containers 241, 242, 243, 244 can be used to independently allocate virtual GPUs to multiple tasks for performing new drug candidate mining. Since the docker containers 241, 242, 243, 244 run in independent environments, problems occurring in one container 241 will not affect other containers 242, thereby ensuring security and stability. In addition, since the docker containers 241, 242, 243, 244 can run simultaneously, different tasks for performing new drug candidate mining can be processed in parallel, thereby improving scalability.

[0082] A task for performing new drug candidate mining can be assigned to a docker container. For example, the first task 221 of automatically searching for the best docking site in the target protein structure can be assigned to the docker container 241, and the second task 222 of predicting the amino acid sequence as the protein tertiary structure can be assigned to the docker container 242. In addition, the third task 223 of analyzing and arranging the actual binding energy (kcal / mol) and providing it to the user can be assigned to the docker container 243, and the fourth task 224 of comparing and analyzing the selected ligand by converting kcal / mol to Kd / Ki (μM) can be assigned to the docker container 244. And, for example, the docker container 241 assigned with the first task 221 can be run in the first virtual GPU 261, and the docker container 242 assigned with the second task 222 can be run in the second virtual GPU 262.

[0083] The operation process of the new drug candidate substance mining system 1 including the simulation operation module 20, the task providing module 22, the docker container providing module 24 and the GPU 28 can be as follows. The task management module 201 can insert at least one of the first task 221 to the fifth task 225 for mining new drug candidates into the task queue 202 in the simulation process provided by the simulation setting module 14. In some embodiments, the task management module 201 can obtain the "instantiated task module" from the task providing module 22 as an item inserted into the task queue 202, and insert it into the task queue 202. The state of the task inserted into the task queue 202 can be set as a "waiting" state. Then, the task management module 201 can delete the waiting task in the task queue 202 and request the GPU management module 203 to run the corresponding task. The GPU management module 203 can assign the task requested to run to the first virtual GPU 261 or the second virtual GPU 262 to run. The state of the task that has started running can be changed to a "running" state. The GPU management module 203 performs a block process on the virtual GPU that has been assigned a job and is running, to prevent other tasks from being assigned to the virtual GPU that is already running a task, and can change the information showing the available virtual GPUs.

[0084] Figures 9 and 10 FIG. 1 is a diagram showing a specific example of a new drug candidate substance mining system according to an embodiment.

[0085] Reference Fig. 9According to an embodiment, the new drug candidate substance mining system 1 can display a user interface 301 on the screen, and the user interface 301 receives the number of GPUs to be used to run the simulation task for new drug candidate mining from the user. The user interface 301 is displayed as "GPU thread count", and the user can use the "+" button or the "-" button to allow the user to set an integer value. In a MIG-based GPU environment, the value set by the user interface 301 can represent the number of threads equivalent to the unit of data processed in the virtual GPU. For example, a virtual GPU core can be implemented to process more than one thread.

[0086] Meanwhile, the new drug candidate substance mining system 1 according to an embodiment may display a user interface 302 on the screen, where the user interface 302 calculates and displays the number of tokens required by the user to run a simulation task for new drug candidate mining.

[0087] The new drug candidate substance mining system 1 can be implemented in the following manner: for the specific tasks of the simulation for the new drug candidate mining, the tokens that the user needs to pay are deducted, or the tokens can be recharged when the user pays the fees through coupons or various payment methods. In the past, no clear standard has been established for the fees that users need to pay for each specific task of mining new drug candidate substances. Users do not pay according to each specific task, but pay in the form of paying all the fees for mining new drug candidate substances. However, in the new drug candidate mining, since the process of specific tasks varies according to the mining purpose and mining environment, sometimes excessive fees need to be borne regardless of the number and workload of specific tasks actually performed. In addition, it is difficult to reflect the fees paid by users in exceptional circumstances (such as when a task is interrupted on the way to performing a specific task).

[0088] The new drug candidate substance mining system 1 can determine the number of tokens to be deducted according to the specific task used for the new drug candidate substance mining. Specifically, the number of tokens to be deducted can be determined based on various factors of the specific task, such as the type of specific task, the workload of the specific task, the difficulty of the specific task, etc. The number of tokens can be stored in a storage medium or cloud accessible to the computing device in a form readable by the computing device. Users can use tokens based on standards determined according to the specific tasks to be performed. In particular, while setting the connection relationship of nodes with various functions in the new drug candidate substance mining as described above, a simulation process that conforms to the development of the optimal compound can be generated, and users can pay tokens that are applicable to different nodes to use the corresponding nodes, and can also only pay the required tokens for the corresponding nodes used.

[0089] In some embodiments, the number of tokens deducted can be adjusted in a linearly decreasing or nonlinear manner according to the progress of a specific task. Specifically, in the case where a specific amount of tokens is defined in a specific task, the corresponding amount of tokens can be deducted when the corresponding specific task is completed, and when only a part of the corresponding specific task is completed, only a portion of the tokens equivalent to the corresponding amount can be deducted. For example, only tokens equivalent to the number of ligands specified by the user for the desired analysis can be deducted, or only tokens for the workload up to the completion point can be deducted in the event of a user interruption or error during the analysis. Accordingly, the mining of new drug candidate substances usually requires a considerable amount of expenses, and users can divide the expenses according to specific tasks, or only bear a portion of the expenses if the specific task is not completed.

[0090] The user interface 302 may display text titled "Tokens Required" and the number of tokens required for the simulation task. Fig. 9 In the example, the user is setting a simulation task for 2115 ligands and sets "1" in the user interface 301. Therefore, in order to simulate the task (e.g., FDA-approved drug library), the user interface 302 may display that 2115 tokens corresponding to the number of ligands are required. In this case, Fig. 9 The tasks shown in can be performed by one thread.

[0091] Reference Fig.10 , the value of the user interface 301 may be changed to 2. For example, the user may increase the value of the user interface 301 using the "+" button to quickly obtain the result of the simulation task. And the user interface 302 may display that 4,230 tokens are required for 2115 ligands. Fig. 9 In , 1 thread is allocated to perform simulation tasks for 2115 ligands, and in Fig.10 In order to execute the simulation task for 2115 ligands, two threads are allocated and processed, so the task time can be reduced by half.

[0092] As described above, for specific tasks used to mine new drug candidate substances, users can directly decide the amount of GPU usage and pay fees (token payment) based on the required GPU usage, thereby avoiding excessive services and fees. In addition, users are given the option to shorten calculation time and improve processing performance through GPU parallel computing, thus realizing a reasonable fee system.

[0093] Figures 11 to 14 FIG. 1 is a diagram showing a specific example of a new drug candidate substance mining system according to an embodiment.

[0094] Reference Fig.11According to an embodiment of the new drug candidate substance mining system 1, a list of virtual GPUs can be provided to a user (e.g., an administrator) on screen 31. Specifically, the list can display the name of the virtual GPU that can be identified, information related to the task module that can use the corresponding virtual GPU, and the maximum capacity (max capacity) supported by the corresponding virtual GPU. For example, the capacity can be displayed as the maximum capacity (MB) of RAM, or as a value proportional to RAM.

[0095] For example, item 311 in the list is displayed as “NVIDIA A100-Except AIDock”, and “Maximum Capacity” is displayed as 40000. Here, the virtual GPU is identified as the name “NVIDIA A100”, and the task modules that can use the virtual GPU are all task modules except the “AI-Dock” task module, and the maximum capacity supported by the virtual GPU may be 40000. Then, item 312 is displayed as “NVIDIA A100-AIDock Dedicated”, and “Maximum Capacity” is displayed as 40000. Here, the virtual GPU is identified as the name “NVIDIA A100”, and the task module that can use the virtual GPU is only the “AI-Dock” task module, and the maximum capacity supported by the virtual GPU may be 40000. Then, item 313 is displayed as “NVIDIA A100”, and “Maximum Capacity” is displayed as 40000. Here, the virtual GPU is identified as the name “NVIDIA A100”, and the task modules that can use the virtual GPU are not limited, and the maximum capacity supported by the virtual GPU may be 40000.

[0096] If you click an item in the list that displays the name of a virtual GPU, you can move to a page that provides detailed information and allows you to make changes.

[0097] Reference Fig.12 , showing a detailed information page displayed in the case of clicking the item 311. Since the task modules that can use the "NVIDIA A100" are all other task modules except the "AI-Dock" task module, the "Capacity" item includes prep, admet, calici_fold, deep_calici, deep_calici_4dcnn, and deep_calici_resnet3d as task modules.

[0098] prep stands for the task module "PocketFinder" that automatically searches for the best docking site in the target protein structure. The capacity of prep in the virtual GPU memory can be set to 10,000MB. Based on this, up to 4 preps can be run simultaneously in the "NVIDIA A100".

[0099] admet represents the task module "ADME-Tox" that receives the chemical structure of the ligand and predicts absorption, distribution, metabolism, excretion, and toxicity. admet can use the CPU instead of the GPU. Therefore, the capacity occupied by admet can be set to 0MB. Although admet does not use the GPU, admet can only be run on the CPU when the capacity occupied in the "Capacity" item is included as 0MB.

[0100] calici_fold indicates that the task module "CaliciFold" that predicts the amino acid sequence into the protein tertiary structure can use the entire memory of the GPU. Therefore, the capacity occupied by calici_fold in the virtual GPU memory can be set to 40,000MB.

[0101] deep_calici refers to the task module "DeepCalici" that compares and analyzes the selected ligands by converting kcal / mol to Kd / Ki (μM). The capacity occupied by deep_calici in the virtual GPU memory can be set to 20,000MB. Accordingly, "NVIDIA A100" can run up to two deep_calici at the same time.

[0102] deep_calici_4dcnn and deep_calici_resnet3d respectively represent the task module for comparing and analyzing the ligands selected based on the 4D CNN model by converting kcal / mol to Kd / Ki (μM) and the task module for comparing and analyzing the ligands selected based on the ResNet 3D model by converting kcal / mol to Kd / Ki (μM), and the capacity occupied in the memory of the virtual GPU can be set to 12,000MB respectively. Accordingly, up to three deep_calici_4dcnn or three deep_calici_resnet3d can be run simultaneously in the "NVIDIA A100".

[0103] Reference Fig.13 , which shows a detailed information page displayed when clicking the item 312. Since the only task module that can use the "NVIDIAA100" is the "AI-Dock" task module, the "Capacity" item includes only ai_dock as a task module.

[0104] ai_dock stands for the task module "AI-Dock" that analyzes and arranges the actual binding energy (kcal / mol) and provides it to the user. The capacity of ai_dock in the virtual GPU memory can be set to 6,000MB. Based on this, up to 6 ai_docks can be run simultaneously in "NVIDIA A100".

[0105] And, with Fig.12 The related prep, admet, calici_fold, deep_calici, deep_calici_4dcnn and deep_calici_resnet3d described above may not be included in the "capacity" item.

[0106] Reference Fig.14 , showing a detailed information page displayed when clicking the item 313. Since the task modules that can use "NVIDIAA100" are not limited, the "capacity" item includes all of prep, admet, ai_dock, calici_fold, deep_calici, deep_calici_4dcnn, and deep_calici_resnet3d as working modules.

[0107] As described above, due to the mining of new drug candidate substances, information on available virtual GPUs is provided to the user, and the user sets and changes the capacity for specific tasks according to each virtual GPU in consideration of the performance of the corresponding virtual GPU, thereby being able to finely set GPU resources. For example, when considering the performance of a certain virtual GPU, if excessive capacity is allocated to a specific task module, the processing speed of the simulation task may be reduced. In this case, the user (administrator) can solve this problem by allocating the capacity of the task module to a smaller value (for example, changing the capacity value of ai_dock from 8,000 to 6,000).

[0108] Figures 15 to 22 FIG. 1 is a diagram showing a specific example of a new drug candidate substance mining system according to an embodiment.

[0109] Reference Fig.15 In one embodiment, the new drug candidate substance mining system 1 can provide a list of flask servers to the user (e.g., administrator) on screen 32. Here, the flask server is a server driven by the flask network framework, and the task module for new drug candidate substance mining can be stored in the flask server in the form of a docker container. That is, as the specific content for running the simulation process, Figure 8The first task 221 to the fifth task 225 previously described in connection with the task providing module 22 can be stored in the flask server in the form of being allocated to the docker containers 241, 242, 243, 244 set by the docker container providing module 24. Of course, the flask server is only a specific example, and the server storing the task module for mining new drug candidate substances does not necessarily adopt the flask framework, but can also be implemented based on other frameworks. However, in this specification, for the clarity and convenience of the description, the flask server using the flask network framework will be described as a non-restrictive representative specific example.

[0110] The list may display a name that identifies the flask server, information about the virtual GPU used by the flask server, port information used to connect to the flask server, the total capacity supported by the flask server, the capacity currently available in the corresponding flask server, and whether the flask server is usable. Here, if there are more than two virtual GPUs used by the flask server, the total capacity supported by the flask server may be calculated as the sum of the maximum capacities of all GPUs.

[0111] For example, item 321 of the list displays the name of the flask server as "cal-tb01", the "cal-tb01" server can use two "NVIDIA A100", and the port number used to connect to the "cal-tb01" server may be 9999. In addition, the total capacity and the current available capacity supported by the "cal-tb01" server are 80000 and 80000 respectively, and are displayed as currently available.

[0112] If you click on an item in the list that has the name of the flask server displayed, you can move to a page that provides detailed information about the flask server and allows you to modify it.

[0113] Reference Fig.16, showing the detailed information page displayed when item 321 is clicked. The following user interface can be displayed in the upper part: the IP address and port number that can be connected to the flask server "cal-tb01" and whether the "cal-tb01" server is available are displayed to the user, and a user change function is provided. The following user interface can be displayed in the lower part: the ID of the GPU used by the "cal-tb01" server, the type of the corresponding GPU, whether the corresponding GPU is available, and the deletion of the corresponding GPU are displayed to the user, and a user change function is provided. Here, a virtual GPU "NVIDIA A100" with a GPU ID specified as 0 and a virtual GPU "NVIDIA A100" with a GPU ID specified as 1 are shown.

[0114] Reference Fig.17 According to one embodiment, the new drug candidate substance mining system 1 can provide a list of GPUs used by the flask server to the user (e.g., administrator) on screen 33. The list can display the name that can identify the flask server, the GPU ID information for the GPU used by the corresponding flask server, the type information of the GPU used by the corresponding flask server, the maximum capacity supported by the corresponding GPU, the capacity currently available in the corresponding GPU, and whether the corresponding GPU is available. For example, it can be seen that the server "cal-tb01" uses a virtual GPU "NVIDIA A100" whose GPU ID is specified as 0, the maximum capacity and the current available capacity are 40,000 respectively, and a virtual GPU "NVIDIA A100" whose GPU ID is specified as 1, the maximum capacity and the current available capacity are 40,000 respectively.

[0115] Reference Fig.18 According to an embodiment of the new drug candidate substance mining system 1, a list of task queues 202 can be provided to a user (e.g., an administrator) on screen 34. The list can display position information of tasks inserted into the task queue 202, URL information that can be connected to the corresponding tasks, information on whether the tasks inserted into the task queue 202 are released or not, the names of the tasks inserted into the task queue 202, the IDs of the corresponding tasks, and information on the number of threads used to run the corresponding tasks.

[0116] For example, the task corresponding to position 0 in the task queue 202 has not been run and is in a waiting state, so it has not been released. The name of the task may be "PocketFinder", the ID of the task may be "615", and the number of threads used to run the task may be 1. The task corresponding to position 1 in the task queue 202 has not been run and is in a waiting state, so it has not been released. The name of the task may be "AI-Dock", the ID of the task may be "617", and the number of threads used to run the task may be 4. The task corresponding to position 2 in the task queue 202 has not been run and is in a waiting state, so it has not been released. The name of the task may be "DeepCalici", the ID of the task may be "618", and the number of threads used to run the task may be 1.

[0117] Here, the running order can be determined according to the position in the task queue 202. For example, it can be determined first whether the task corresponding to position 0 is executable. If it is determined to be executable, the task can be run. If the task is run, the task corresponding to position 0 can be displayed as released. If it is determined that the task corresponding to position 0 is not executable, the running of the task corresponding to position 0 can be omitted. In this case, the task corresponding to position 0 may still be displayed as not released.

[0118] Next, it can be determined whether the task corresponding to position 1 is executable. If it is determined to be executable, the task can be executed. If it is determined that the task corresponding to position 1 is not executable, the execution of the task corresponding to position 1 can be omitted. Next, it can be determined whether the task corresponding to position 2 is executable. If it is determined to be executable, the task can be executed. If it is determined that the task corresponding to position 2 is not executable, the execution of the task corresponding to position 2 can be omitted.

[0119] Among them, whether it is executable can be achieved according to the following methods: for example, the capacity occupied when running the corresponding task is compared with the currently available capacity in the GPU. When the capacity occupied when running the corresponding task does not exceed the currently available capacity in the GPU, it is judged as executable; when the capacity occupied when running the corresponding task exceeds the currently available capacity in the GPU, it is judged as not executable.

[0120] For example, in the case where a flask server includes two virtual GPUs, it can be assumed that the current available capacity of the first virtual GPU is 2,000 and the current available capacity of the second virtual GPU is 14,000. Fig.18The illustrated tasks have IDs of "615", "617", and "618". If the name of the task with ID "615" is "PocketFinder", it has position 0 in the task queue 202, the number of threads running is 1, and the capacity occupied by 1 thread is 10,000, then a total capacity of 10,000 may be required to run the task. Then, if the name of the task with ID "617" is "AI-Dock", it has position 1 in the task queue 202, the number of threads running is 4, and the capacity occupied by 1 task is 6,000, then a total capacity of 24,000 may be required to run the task. Then, if the name of the task with ID "618" is "DeepCalici", it has position 2 in the task queue 202, the number of threads running is 1, and the capacity occupied by 1 task is 20,000, then a total capacity of 20,000 may be required to run the task.

[0121] In this case, it can be determined that only the task with ID "615" can be run in the second virtual GPU. If the task is run on the second virtual GPU, the current available capacity of the second virtual GPU will be reduced from 14,000 to 4,000. Since the task is not executed on the first virtual GPU, the current available capacity is the original 2000. In addition, the task with ID "617" and the task with ID "618" will wait in the task queue 202.

[0122] As another example, it can be assumed that the current available capacity of the first virtual GPU is 40,000 and the current available capacity of the second virtual GPU is 40,000. Also, it can be assumed that a task queue 202 is inserted with the following Fig.18 The illustrated tasks have IDs of "615", "617", and "618". As previously described, the tasks with IDs of "615", "617", and "618" may require capacities of 10,000, 24,000, and 20,000, respectively.

[0123] In this case, the task with ID "615" is determined to be able to run in the first virtual GPU, and it runs and occupies 10,000 capacity, so the current available capacity of the first virtual GPU will be reduced to 30,000. Then, the task with ID "617" is determined to be able to run in the first virtual GPU, and it occupies 24,000 capacity, so the current available capacity of the first virtual GPU will be reduced to 6,000. Then, the task with ID "618" is determined to be unable to run in the first virtual GPU, but can run in the second virtual GPU, and it occupies 20,000 capacity, so the current available capacity of the second virtual GPU will be reduced to 20,000. As a result, the current available capacity of the first virtual GPU is 6,000, and the current available capacity of the second virtual GPU is 20,000. In addition, all tasks with IDs "615", "617" and "618" are displayed as being released, and the task queue 202 is empty. Fig.19 The screen 34 showing the list of the task queue 202 after all the tasks with IDs “615”, “617”, and “618” are executed is shown.

[0124] Reference Fig. 20 According to an embodiment, the new drug candidate substance mining system 1 can provide a user (e.g., an administrator) with a list including information related to the capacity blocked in the execution of tasks scheduled in the task queue 202 (i.e., the capacity being used by the task) on screen 35. The list can display the name information of the flask server running the task, the ID information of the GPU executing the task in the flask server, the blocked capacity information that cannot be allocated to other tasks because the executed task is in use, the ID of the corresponding task being executed, and the number of corresponding tasks being executed.

[0125] For example, when there are 4 threads of the task with ID "617" running in the server "cal-tb01", the blocked capacity in the virtual GPU whose GPU ID is designated as 0 may be 24000. In addition, when there is 1 thread of the task with ID "615" running in the server "cal-tb01", the blocked capacity in the virtual GPU whose GPU ID is designated as 0 may be 10000. In addition, when there is one thread of the task with ID "618" running in the server "cal-tb01", the blocked capacity in the virtual GPU whose GPU ID is designated as 1 may be 20000. When the task is completed, the blocked capacity may be released.

[0126] Reference Fig.21, during the execution of the task, you can confirm that the previous Fig.17 In the illustrated screen 33, the currently available capacity of the virtual GPU whose GPU ID is designated as 0 and used by the flask server is reduced from 40,000 to 6,000. In addition, it can be confirmed that the currently available capacity of the virtual GPU whose GPU ID is designated as 1 is reduced from 40,000 to 20,000.

[0127] Reference Fig. 22 During the task execution, you can confirm that Fig.15 The currently available capacity of the flask server in the illustrated screen 32 is reduced from 80,000 to 26,000.

[0128] Fig.23 is a block diagram for illustrating a computing device according to an embodiment.

[0129] Reference Fig.23 The new drug candidate substance mining system according to the embodiment can be implemented using the computing device 50 .

[0130] The computing device 50 may include at least one of a processor 501, a memory 502, a storage device 503, a display device 504, a network interface device 505 for connecting to the network 40 for communicating with other objects, and an input / output interface device 506 for providing a user input interface or a user output interface. Fig.23 As shown in FIG. 5 , the computing device 50 may additionally include any electronic device required to implement the technical concept described in this specification.

[0131] The processor 501 may be implemented by various types such as an application processor (AP), a central processing unit (CPU), a graphics processing unit (GPU), a neural network processing unit (NPU), etc., and may be any electronic device that runs programs or instructions stored in the memory 502 or the storage device 503. In particular, the processor 501 may be configured to implement Figures 1 to 22 The aforementioned functions or methods, and artificial intelligence-specific operations related to the new drug candidate substance mining system according to an embodiment of the present invention can be processed on a GPU or an NPU.

[0132] The memory 502 and the storage device 503 may include various forms of volatile or non-volatile storage media. For example, the memory 502 may include a read-only memory (ROM) or a random access memory (RAM), and the memory 502 may be located inside or outside the processor 501, and may be connected to the processor 501 in various known ways. In addition, examples of the storage device 503 include hard disk drives (HDD: Hard Disk Drives) or solid state drives (SSD: Solid State Drives), etc. The scope of the present invention is not limited to the components listed above for illustration.

[0133] The new drug candidate substance mining system according to the embodiment can be implemented by using a program or software running in the computing device 50 , and such a program or software can be stored in a computer-readable medium.

[0134] In addition, the new drug candidate substance mining system according to the embodiment may be implemented using the hardware of the computing device 50 , or may be implemented by separate hardware that can be electrically connected to the computing device 50 .

[0135] According to the embodiments described so far, an optimized new drug candidate substance mining function and user interface are provided, which improves the previous situation that specific tasks related to new drug candidate substance mining are provided as separate tools with low mutual compatibility and difficult to share data and manage data in a unified manner, and can easily manage simulation processes by generating, changing and deleting nodes. In addition, in order to run the simulation process generated as described above, GPU resources to be used can be carefully managed in a user-customized manner.

[0136] The embodiments of the present invention are described in detail above, but the scope of rights of the present invention is not limited thereto. Using the basic concept of the present invention defined in the claims, various deformation and improvement forms of the present invention by persons with general knowledge in the technical field to which the present invention belongs also fall within the scope of rights of the present invention.

Claims

1. A new drug candidate substance mining system, which is implemented in the form of a platform that provides users with the functions or services required for new drug candidate substance mining in the form of a network service, including: A project management module, which generates a project capable of adding tasks for performing the mining of new drug candidate substances; A simulation management module generates a simulation desired by a user on the generated project; A simulation setting module, which sets a simulation process for the simulation received from a user by using a canvas area, a protein structure data input area, and a simulation setting area, wherein the protein structure data input area includes one or more objects that can be dragged and dropped into the canvas area and changed into nodes, and the simulation setting area includes a task module selection area; A simulation process management module, which manages information of nodes that may be ahead or behind in the setting of the simulation process; and The simulation operation module divides and allocates the graphics processor resources according to each of the nodes to manage and operate the tasks for operating the simulation process.

2. The new drug candidate mining system according to claim 1, wherein: The simulation operation module comprises: A task management module, using a task queue to schedule the execution of the task; and The graphics processor management module manages the graphics processor based on a multi-instance graphics processor (Multi-Instance GPU) by using a docker container, and runs the task scheduled by the task management module by using a virtual graphics processor generated based on the graphics processor.

3. The new drug candidate substance mining system according to claim 2, further comprising: The task providing module provides the task stored in the form of the docker container to the simulation operation module.

4. The new drug candidate mining system according to claim 3, wherein: The task providing module assigns the first task to the fifth task to the docker container and provides them to the simulation operation module, wherein the first task automatically searches for the best docking site in the target protein structure; the second task predicts the amino acid sequence as the protein tertiary structure; the third task analyzes and arranges the actual binding energy (kcal / mol) and provides it to the user; the fourth task compares and analyzes the selected ligand by converting kcal / mol to Kd / Ki (μM); and the fifth task receives the chemical structure formula of the ligand and predicts absorption, distribution, metabolism, excretion and toxicity.

5. The new drug candidate mining system according to claim 1, wherein: The new drug candidate substance mining system displays a first user interface and a second user interface on a screen, The first user interface receives from a user the number of threads to be used to run the task on the virtual graphics processor, The second user interface shows the number of tokens required to run the task that should be paid by the user according to the increase or decrease in the number of threads.

6. The new drug candidate mining system according to claim 1, wherein: The new drug candidate mining system displays a screen providing a list of virtual graphics processors to the user, The list displays a name capable of identifying the virtual graphics processor, information related to a task module that can use the virtual graphics processor, and a maximum capacity supported by the virtual graphics processor.

7. The new drug candidate mining system according to claim 1, wherein: The new drug candidate mining system displays a first screen providing a list of servers to the user, The list displayed on the first screen displays a name that can identify the server, information related to a virtual graphics processor used by the server, port information used to connect to the server, a total capacity supported by the server, a capacity currently available in the server, and whether the server is usable.

8. The new drug candidate mining system according to claim 7, wherein: The new drug candidate mining system displays a second screen providing a list of the virtual graphics processors used by the server to the user, The list on the second screen displays a name that can identify the server, graphics processor ID information for the virtual graphics processor used by the server, type information of the virtual graphics processor used by the server, maximum capacity supported by the virtual graphics processor, currently available capacity in the virtual graphics processor, and whether the virtual graphics processor is available.

9. The new drug candidate mining system according to claim 1, wherein: The new drug candidate substance mining system displays a first screen providing a list of task queues to the user, The list on the first screen displays position information of the task inserted into the task queue, URL information that can be connected to the task, information on whether the task inserted into the task queue is released, the name of the task inserted into the task queue, the ID of the task, and information on the number of threads used to run the task.

10. The new drug candidate mining system according to claim 9, wherein: Determine whether the task inserted into the task queue is executable, and if it is determined to be executable, execute the task. Whether the task is executable is determined in the following manner: the capacity occupied when the task is executed is compared with the currently available capacity in the virtual graphics processor; when the capacity occupied when the task is executed does not exceed the currently available capacity in the virtual graphics processor, the task is determined to be executable; and when the capacity occupied when the task is executed exceeds the currently available capacity in the virtual graphics processor, the task is determined to be inoperable.

11. The new drug candidate mining system according to claim 9, wherein: The new drug candidate substance mining system displays a second screen to the user, the second screen providing a list including information related to capacity blocked in execution of the task scheduled in the task queue.

12. The new drug candidate mining system according to claim 1, wherein: The protein structure data input area includes one or more objects related to the function of uploading protein structure data. One or more of the objects include objects that are dragged and dropped into the canvas area and converted into one of the first to fourth nodes, wherein the first node has a function of receiving protein structure data in the form of a protein database (PDB: Protein Data Bank) file from a user, the second node has a function of receiving protein structure data in the form of a protein database code from a user, the third node has a function of receiving protein structure data in the form of a protein sequence file from a user, and the fourth node has a function of receiving protein structure data in the form of a protein sequence from a user.

13. The new drug candidate mining system according to claim 12, wherein: The task module selection area includes one or more objects related to the function of performing a specific task involving new drug candidate substance mining based on the uploaded protein structure data, One or more objects are dragged and dropped into the canvas area, and include objects converted into one of the fifth to eighth nodes, wherein the fifth node has a function of searching for an optimal docking site in a target protein structure, the sixth node has a function of predicting an amino acid sequence as a protein tertiary structure, the seventh node has a function of analyzing and arranging actual binding energy (kcal / mol) and providing it to a user, and the eighth node has a function of converting kcal / mol into Kd / Ki (μM) to compare and analyze the selected ligands.

14. The new drug candidate mining system according to claim 13, wherein: The nodes that may be before the fifth node include the first node, the second node, the third node, the fourth node, and the sixth node, Nodes that may be subsequent to the fifth node include the seventh node.

15. The new drug candidate mining system according to claim 13, wherein: The nodes that may be before the sixth node include the third node, the fourth node, and the sixth node, Nodes that may be subsequent to the sixth node include the fifth node.

16. The new drug candidate mining system according to claim 13, wherein: The nodes that may be before the seventh node include the fifth node, Nodes that may be subsequent to the seventh node include the eighth node.

17. The new drug candidate mining system according to claim 1, wherein: Node connection shapes are displayed in the nodes arranged in the canvas area. When the user clicks on the node connection shape displayed on the right side of a node, the node connection shape displayed on the left side of the connectable node in other nodes changes color or shape.

18. The new drug candidate mining system according to claim 17, wherein: The simulation process management module manages the information used to determine whether the nodes are connectable or not through metadata management.

Citation Information

Patent Citations

  • Method for excavating new drug candidate targeting nonstructure-structure transition site and apparatus for excavating new drug candidate

    CN110352459A

  • Method for researching osteosarcoma metastasis related gene signature and excavating potential drugs

    CN112216348A

  • Artificial intelligence engine architecture for generating candidate drugs

    US11049590B1