A GPU Parallel Computing Method, Device, System and Medium for Molecular Similarity

By performing parallel calculations on the GPU, calculating the center of mass of the compound and transforming it, the problem of slow 3D Gaussian superposition calculation speed in the prior art is solved, and a fast and efficient molecular similarity search is achieved.

CN114520022BActive Publication Date: 2025-06-10SHENZHEN CLOUD SOFTWARE CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210144227.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-02-17
Publication Date
2025-06-10
Estimated Expiration
2042-02-17

AI Technical Summary

Technical Problem

The prior art is slow in 3D Gaussian superposition similarity calculation, which is difficult to meet the fast search needs of large-scale compound databases.

Method used

Using GPU parallel computing technology, by calculating the center of mass of the compound and performing translation and rotation transformation, the GPU's multi-computing points are used for parallel computing to achieve rapid calculation of 3D Gaussian superposition.

Benefits of technology

It significantly improves the speed of 3D Gaussian superposition similarity calculation, shortens the query time in virtual filtering, and improves the success rate and efficiency of searches.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114520022B_ABST
    Figure CN114520022B_ABST
Patent Text Reader

Abstract

The present invention discloses a GPU parallel computing method, device, system and medium for molecular similarity. The method includes the following steps: inputting a query compound; calculating the centroid of the query compound; performing translation and / or rotation transformation on the query compound based on the centroid; performing parallel computing through a GPU, and using both the query compound before and after the transformation as starting search points to compare with the molecular compounds in the molecular library; filtering according to the calculation results of the comparison, and outputting the molecular compounds similar to the query compound.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of computer-aided drug research and development, and specifically to a method, device, system and medium for GPU parallel computing of molecular similarity. Background Art

[0002] Drug research and development is characterized by large investment, high risk and long cycle. Usually, the research and development cycle of a drug is more than 10 years, and the research and development investment is hundreds of millions of US dollars, and it shows an increasing trend year by year. Drug screening is a key link in drug discovery, and high-throughput virtual drug screening can greatly reduce the screening time and cost, which is of great significance for accelerating drug research and development. The mutual matching and quantitative comparison of the three-dimensional shapes and pharmacophores (atomic groups with specific properties in molecules) of two molecules are the main methods in drug design. Molecular volume is related to shape, and shape determines the physical and chemical properties of molecules, and these properties determine the biological activity of molecules.

[0003] Molecular shape comparison is a common technology: it is used to identify the spatial characteristics between two or more molecules, and it is a commonly used metric in ligand-based compound discovery work. Among them, in 3D shape similarity search, the best-performing algorithm is "Gaussian superposition based on atomic centers". In the software package of OpenEye Scientific Software, ROCS applies the "Gaussian superposition based on atomic centers" algorithm for similarity calculation. However, even with the use of Gaussian optimization technology, ROCS still takes a long time to complete the calculation when scanning a large compound database.

[0004] Therefore, developing a fast and highly successful molecular shape comparison method has become a difficult problem that needs to be solved urgently. Summary of the Invention

[0005] The object of the present invention is to provide a method, device, system and medium for GPU parallel computing of molecular similarity, which is used to improve the calculation speed of 3D Gaussian superposition similarity, shorten the time required for large-scale compound similarity search, and at the same time improve the success rate and efficiency of the search by adding preprocessing.

[0006] The technical solutions adopted by the present invention to solve the above technical problems are as follows:

[0007] A method for GPU parallel computing of molecular similarity includes the following steps:

[0008] Input a query compound;

[0009] Calculate the centroid of the query compound;

[0010] Perform translation and / or rotation transformation on the query compound based on the centroid;

[0011] Parallel computing is performed through the GPU, and both the query compound before and after transformation are used as the starting search points to compare with the molecular compounds in the molecular library;

[0012] Filter according to the calculation results of the comparison, and output the molecular compounds similar to the query compound.

[0013] In one embodiment, the input query compound includes:

[0014] The three-dimensional structure information of the input query compound, and the three-dimensional structure information includes the type and coordinate values of each atom in the query compound;

[0015] The volume of the query compound is represented by a Gaussian function.

[0016] In one embodiment, the calculation of the centroid of the query compound includes the following steps:

[0017] Based on the three-dimensional structure information of the query compound, calculate the centroid of the query compound;

[0018] And perform SVD decomposition to calculate the 3D rotation matrix.

[0019] In one embodiment, the translation and / or rotation transformation of the query compound based on the centroid includes the following steps:

[0020] Perform translation and / or rotation transformation on the query compound;

[0021] Record the translation and / or rotation transformation of the query compound through a set of quadruple data.

[0022] In one embodiment, the parallel computing through the GPU, and both the query compound before and after transformation are used as the starting search points to compare with the molecular compounds in the molecular library includes the following steps:

[0023] Load the Gaussian function of the query compound and the quadruple recording the compound displacement into the GPU memory;

[0024] Multiple computing points of the GPU run the optimization algorithm to calculate the 3D Gaussian superposition between the query compound and the molecular compounds in the molecular library.

[0025] In one embodiment, the optimization algorithm is BFGS and the gradient descent method.

[0026] Another embodiment of the present invention also provides a GPU parallel computing molecular similarity device, and the device includes:

[0027] A molecular input module for inputting a query compound;

[0028] A centroid calculation module for calculating the centroid of the query compound;

[0029] A molecular transformation module for performing translation and / or rotation transformation on a query compound based on the centroid;

[0030] A molecular comparison module for performing parallel computing through a GPU to compare the query compounds before and after transformation with the molecular compounds in the molecular library by using both of them as starting search points;

[0031] A result output module for filtering according to the calculation results of the comparison and outputting the molecular compounds similar to the query compound.

[0032] Another embodiment of the present invention further provides a GPU parallel computing molecular similarity system, the system includes at least one processor; and,

[0033] A memory communicatively connected to the at least one processor; wherein,

[0034] The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the above-mentioned GPU parallel computing molecular similarity method.

[0035] Another embodiment of the present invention further provides a non-volatile computer-readable storage medium, the non-volatile computer-readable storage medium stores computer-executable instructions, and when the computer-executable instructions are executed by one or more processors, the one or more processors can execute the above-mentioned GPU parallel computing molecular similarity method.

[0036] Advantageous effects: A GPU parallel computing molecular similarity method, device, system and medium of the present invention utilize the advantages of GPU parallel computing to implement Gaussian superposition calculation of 3D similarity on the GPU. Compared with the implementation based on the CPU, the speed is increased by an order of magnitude, and the query time of 3D similarity in virtual screening is shortened. In the process of calculating Gaussian superposition, we calculate the overlap function and its gradient transformation coordinates, optimize molecular overlap, and perform parallel computing. At the same time, in order to find the global optimal superposition faster, the compound is translated and rotated to serve as the starting search point. This enables better finding of the global optimum during GPU calculation; the final calculation results are generated according to the similarity threshold of interest to the user, and there is a significant improvement in calculation speed compared with the prior art.

[0037] Other features and advantages of the invention will be set forth in the following description, and in part will be obvious from the description, or may be learned by practice of the invention. The objectives and other advantages of the invention may be realized and attained by the structure particularly pointed out in the written description and claims hereof as well as the appended drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0038] The present invention will be described in detail below with reference to the accompanying drawings to make the above advantages of the present invention more clear.

[0039] Figure 1 It is a flowchart of a method for GPU parallel computing of molecular similarity according to the present invention.

[0040] Figure 2 Schematic diagram of functional modules of an embodiment of a device for GPU parallel computing of molecular similarity according to the present invention;

[0041] Figure 3 Schematic diagram of the hardware structure of an embodiment of a device for GPU parallel computing of molecular similarity according to the present invention. Detailed implementation manners

[0042] In order to make the objectives, technical solutions and effects of the present invention clearer and more definite, the present invention will be further described in detail below. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention.

[0043] As Figure 1-2 shown, a method for GPU parallel computing of molecular similarity includes the following steps:

[0044] S100. Input a query compound;

[0045] Extract from a database or custom-build, input the compound to be queried, extract feature points based on the queried compound, and generate a retrieval formula.

[0046] S200. Calculate the centroid of the query compound;

[0047] When calculating the 3D Gaussian superposition between the query compound and the compounds in the library, in order to ensure the accuracy of the calculation and improve the calculation speed, the query compound will be adjusted. For the convenience of calculation and comparison, the centroid of the query compound is selected as the calibration point.

[0048] S300. Perform translation and / or rotation transformation on the query compound based on the centroid;

[0049] Perform displacement transformation on the query compound based on the centroid in order to find the global optimal superposition faster when calculating the Gaussian superposition.

[0050] S400. Perform parallel computing through the GPU, and use both the query compound before and after the transformation as the starting search points to compare with the molecular compounds in the molecular library;

[0051] The core of the GPU is good at completing tasks with simple control logic, focusing on computing and parallelism. Compared with the CPU, the GPU has a large amount of computing power. When querying a compound for comparison with the molecular compounds in the molecular library, taking advantage of the parallel computing of the GPU, both the query compound before and after transformation are used as the starting search points to compare with the molecular compounds in the molecular library, greatly improving the efficiency of calculating the 3D Gaussian superposition between the query compound and the compounds in the library and shortening the retrieval time; and by using the parallel computing of the GPU and performing translational and / or rotational transformations on the query compound, the success rate of calculating the 3D Gaussian superposition is improved.

[0052] S500. Filter according to the calculation results of the comparison and output the molecular compounds similar to the query compound. According to the comparison results between the query compound and the molecular compounds in the molecular library, calculate the Tanimoto 3D similarity based on the 3D Gaussian superposition and output the molecular compounds similar to the query compound from the molecular library.

[0053] In one embodiment, the input query compound includes:

[0054] The three-dimensional structure information of the input query compound, where the three-dimensional structure information includes the type and coordinate values of each atom in the query compound; obtaining the corresponding van der Waals radius according to the type of each atom in the query compound, converting the three-dimensional structure information into a set of Gaussian spheres representing each atom in the query compound, where the radius of each Gaussian sphere is the same as the van der Waals radius of the corresponding atom, and the position of each Gaussian sphere is the same as the coordinate of the corresponding atom;

[0055] Represent the volume of the query compound through a Gaussian function.

[0056] In one embodiment, the steps for calculating the centroid of the query compound include:

[0057] Based on the three-dimensional structure information of the query compound, calculate the centroid of the query compound;

[0058] And perform SVD decomposition to calculate the 3D rotation matrix.

[0059] Compared with the atomic center, the centroid plays an important role in the subsequent transformation of the query compound. Based on the three-dimensional structure information of the molecule, calculate the centroid of the query compound. In order to reduce the interference of other data and the volume of data calculation, after finding the centroid of the query compound, perform SVD decomposition to calculate the 3D rotation matrix.

[0060] In one embodiment, the steps for performing translational and / or rotational transformations on the query compound based on the centroid include:

[0061] Perform translational and / or rotational transformations on the query compound;

[0062] Query the translational and / or rotational transformations of a compound through a set of quadruple data records.

[0063] In three-dimensional space, any coordinate system can be represented by a 4*4 transformation matrix, where the upper-left 3*3 matrix represents the rotation matrix, and the first three elements in the fourth column represent the x, y, and z coordinates.

[0064] The most common representation of a quadruple is: q = s + xi + yj + zk, where s, x, y, z ∈ R. For an arbitrary vector, we can represent it by its length and its direction. Similar to the rotation of a vector, we can also represent the rotation of a quadruple by a quadruple q = [cosθ, sinθv].

[0065] When calculating the 3D Gaussian superposition between the query compound and the compounds in the library, in order to find the optimal solution, the query compound is often adjusted. In this embodiment, GPU is used for parallel computing, making full use of the advantages of high computing power and parallel computing of GPU. During retrieval, the query compound is first subjected to displacement transformation, and a set of quadruples is used to record the rotation vector of the query compound; and by using the advantage of GPU parallel computing, both the query compound before and after transformation are used as search starting points to compare with the molecular compounds in the molecular library, improving the success rate and efficiency of the search.

[0066] In one embodiment, the parallel computing through GPU and comparing both the query compounds before and after transformation with the molecular compounds in the molecular library as the starting search points includes the following steps:

[0067] Load the Gaussian function of the query compound and the quadruples recording the compound displacement into the GPU memory;

[0068] In order to improve the success rate and efficiency of the search, making full use of the advantages of high computing power and parallel computing of GPU, both the query compounds before and after transformation are used as search starting points.

[0069] Multiple computing points of the GPU run the optimization algorithm to calculate the 3D Gaussian superposition between the query compound and the molecular compounds in the molecular library.

[0070] Taking both the query compounds before and after transformation as search starting points, simultaneously calculate the 3D Gaussian superposition with the compounds in the library, calculate the overlap function and its gradient transformation coordinates, and optimize the molecular overlap.

[0071] The advantages of parallel computing are mainly reflected in two aspects. On the one hand, the query compound can be overlapped and compared with multiple different compounds in the molecular library, improving the efficiency. On the other hand, the query compound can be overlapped and compared with the same compound in the molecular library in different forms, accelerating the speed of finding the optimal solution while improving the accuracy.

[0072] In one embodiment, the optimization algorithm is BFGS and the gradient descent method.

[0073] In the process of calculating the Gaussian superposition, we calculate the overlap function and its gradient transformation coordinates, optimize the molecular overlap, and use the BFGS algorithm that supports parallel computing. The Newton method is a method for approximately solving equations in the real number field and the complex number field. The method uses the first few terms of the Taylor series of the function f(x) to find the root of the equation f(x) = 0. The biggest feature of the Newton method lies in its very fast convergence speed.

[0074] The gradient descent method is the earliest, simplest, and most commonly used optimization method. The gradient descent method is easy to implement. When the objective function is a convex function, the solution of the gradient descent method is the global solution. Generally, its solution does not guarantee to be the global optimal solution, and the speed of the gradient descent method is not necessarily the fastest. The optimization idea of the gradient descent method is to use the negative gradient direction of the current position as the search direction. Since this direction is the fastest descent direction at the current position, it is also called the "steepest descent method". The closer the steepest descent method is to the target value, the smaller the step size and the slower the progress.

[0075] Based on the above technical solutions, taking advantage of the parallel computing of the GPU, the Gaussian superposition calculation of 3D similarity is implemented on the GPU. Compared with the implementation based on the CPU, the speed has been increased by an order of magnitude, shortening the query time of 3D similarity in virtual screening. In the process of calculating the Gaussian superposition, we calculate the overlap function and its gradient transformation coordinates, optimize the molecular overlap, and use the BFGS algorithm that supports parallel computing. At the same time, in order to enable BFGS to find the global optimal superposition faster, the compound is translated and rotated as the starting search point of BFGS. This enables better finding of the global optimum in GPU computing; the final calculation result is generated according to the similarity threshold of interest to the user. The practical results prove that the method implemented by the parallel GPU has a huge improvement in computing speed compared with the OpenEye ROCS CPU implementation.

[0076] Another embodiment of the present invention further provides a GPU parallel computing molecular similarity device, and the device includes:

[0077] A molecular input module for inputting a query compound;

[0078] A centroid calculation module for calculating the centroid of the query compound;

[0079] A molecular transformation module for translating and / or rotating the query compound based on the centroid;

[0080] A molecular comparison module, which is used to perform parallel computing through a GPU, and use the query compounds before and after transformation as starting search points to compare with the molecular compounds in the molecular library;

[0081] A result output module, which is used to filter according to the calculation results of the comparison and output the molecular compounds similar to the query compound.

[0082] Another embodiment of the present invention provides a three-dimensional model generation system, as Figure 3 shown. The system 50 includes:

[0083] One or more processors 510 and a memory 520. Figure 3 Taking one processor 510 as an example for introduction, the processor 510 and the memory 520 can be connected through a bus or other means. Figure 3 Taking the connection through the bus as an example.

[0084] The processor 510 is used to complete various control logics of the system 50. It can be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a single-chip microcomputer, an ARM (Acorn RISC Machine), or other programmable logic devices, discrete gate or transistor logic, discrete hardware components, or any combination of these components. Additionally, the processor 510 can also be any traditional processor, microprocessor, or state machine. The processor 510 can also be implemented as a combination of computing devices. For example, a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors combined with a DSP and / or any other such configuration.

[0085] The memory 520, as a non-volatile computer-readable storage medium, can be used to store non-volatile software programs, non-volatile computer-executable programs, and modules, such as the program instructions corresponding to the GPU parallel computing molecular similarity method in the embodiments of the present invention. The processor 510 executes various functional applications and data processing of the system 50 by running the non-volatile software programs, instructions, and units stored in the memory 520, that is, implementing the GPU parallel computing molecular similarity method in the above method embodiments.

[0086] The memory 520 may include a program storage area and a data storage area. The program storage area may store an operating system and application programs required for at least one function. The data storage area may store data created according to the use of the system 50 and the like. In addition, the memory 520 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one magnetic disk storage device, a flash memory device, or other non-volatile solid-state storage devices. In some embodiments, the memory 520 may optionally include a memory remotely disposed relative to the processor 510, and these remote memories may be connected to the system 50 through a network. Examples of the above network include but are not limited to the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0087] One or more units are stored in the memory 520 and, when executed by one or more processors 510, perform the GPU parallel computing molecular similarity method in any of the above method embodiments. For example, perform the method steps S100 to S400 described above. Figure 1 in the method.

[0088] An embodiment of the present invention provides a non-volatile computer-readable storage medium. The computer-readable storage medium stores computer-executable instructions, and the computer-executable instructions are executed by one or more processors. For example, perform the method steps S100 to S500 described above. Figure 1 in the method.

[0089] By way of example, non-volatile storage media can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable ROM (EEPROM), or flash memory. Volatile memory can include random access memory (RAM) as an external cache memory. By way of illustration and not limitation, RAM can be obtained in many forms such as synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), and direct Rambus RAM (DRRAM). The disclosed memory components or memories of the operating environment described herein are intended to include one or more of these and / or any other suitable types of memories.

[0090] Another embodiment of the present invention provides a computer program product. The computer program product includes a computer program stored on a non-volatile computer-readable storage medium. The computer program includes program instructions that, when executed by a processor, cause the processor to perform the GPU parallel computing molecular similarity method of the above method embodiment. For example, perform the method steps described above.Figure 1 The method steps S100 to S400 in

[0091] In summary, the present invention discloses a GPU parallel computing molecular similarity method, device, system and medium. While lightweighting the skeleton model, the method also binds the skeleton model with the skin model, and provides tools such as skeleton fine-tuning, action fine-tuning, and skin fine-tuning to create natural and smooth three-dimensional virtual objects, strictly controlling the volume and transmission amount of data, greatly reducing the loading waiting time and the program's budget, and finally saving the file as a general-purpose file, which is applicable to different three-dimensional model application platforms and has strong versatility.

[0092] The embodiments described above are merely illustrative. The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed to multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0093] Through the description of the above embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus a general-purpose hardware platform, and of course, it can also be implemented by hardware. Based on such an understanding, the essence of the above technical solution or the part that contributes to the related technology can be embodied in the form of a software product. This computer software product can exist in a computer-readable storage medium, such as ROM / RAM, floppy disk, optical disc, etc., and includes several instructions for causing a computer electronic device (which can be a personal computer, a server, or a network electronic device, etc.) to execute the methods of each embodiment or some parts of the embodiments.

[0094] Among other things, conditional language such as "can", "be able to", "may" or "could", unless specifically stated otherwise or otherwise understood within the context in which it is used, generally aims to convey that a particular embodiment can include (while other embodiments do not include) a particular feature, element, and / or operation. Thus, such conditional language generally also aims to imply that the feature, element, and / or operation are needed for one or more embodiments or that one or more embodiments must include logic for determining whether these features, elements, and / or operations are included or will be performed in any particular embodiment with or without input or prompting.

[0095] What has been described herein in this specification and the drawings includes examples capable of providing a method, apparatus, system, and medium for GPU parallel computing of molecular similarity. Of course, it is not possible to describe every conceivable combination of elements and / or methods for the purpose of describing the various features of the present disclosure, but it will be recognized that many additional combinations and permutations of the disclosed features are possible. Thus, it is evident that various modifications can be made to the present disclosure without departing from the scope or spirit thereof. Additionally, or in the alternative, other embodiments of the present disclosure may be apparent from consideration of the specification and drawings and from practice of the present disclosure as presented herein. It is intended that the examples presented in this specification and the drawings be considered in all respects to be illustrative and not restrictive. Although specific terms are employed herein, they are used in a generic and descriptive sense and not for purposes of limitation.

Claims

1. A GPU parallel computing method for molecular similarity, characterized in that, it includes the following steps: Input the three-dimensional structure information of the query compound, where the three-dimensional structure information includes the type and coordinate values of each atom in the query compound, and represent the volume of the query compound through a Gaussian function; Based on the three-dimensional structure information of the query compound, calculate the centroid of the query compound, and perform SVD decomposition to calculate the 3D rotation matrix; Perform translation and / or rotation transformation on the query compound, and record the translation and / or rotation transformation of the query compound through a set of quadruple data; Perform parallel computing through the GPU, load the Gaussian function of the query compound and the quadruple recording the compound displacement into the GPU memory, use the query compound before and after transformation as the starting search points to compare with the molecular compounds in the molecular library, and multiple computing points of the GPU run the optimization algorithm to calculate the 3D Gaussian superposition between the query compound and the molecular compounds in the molecular library; Filter according to the calculation results of the comparison, and output the molecular compounds similar to the query compound.

2. The GPU parallel computing method for molecular similarity according to claim 1, characterized in that, the optimization algorithm is BFGS and the gradient descent method.

3. A GPU parallel computing device for molecular similarity, used to run the GPU parallel computing method for molecular similarity according to any one of claims 1-2, characterized in that, the device includes: A molecular input module for inputting a query compound; A centroid calculation module for calculating the centroid of the query compound; A molecular transformation module for performing translation and / or rotation transformation on the query compound based on the centroid; A molecular comparison module for performing parallel computing through the GPU, and using the query compound before and after transformation as the starting search points to compare with the molecular compounds in the molecular library; A result output module for filtering according to the calculation results of the comparison and outputting the molecular compounds similar to the query compound.

4. A GPU parallel computing system for molecular similarity, characterized in that, the system includes at least one processor; and, A memory communicatively connected to the at least one processor; wherein, the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the GPU parallel computing method for molecular similarity according to any one of claims 1-2.

5. A non-volatile computer-readable storage medium, characterized in that, the non-volatile computer-readable storage medium stores computer-executable instructions, and when the computer-executable instructions are executed by one or more processors, the one or more processors can be enabled to execute the GPU parallel computing method for molecular similarity according to any one of claims 1-2.

Citation Information

Patent Citations

  • Diversity analysis method based on chemical structure with CPU (Central Processing Unit) acceleration

    CN102436545A

  • Shape recognition methods and systems for searching molecular databases

    US20090006395A1