Covalent bond calculation task allocation method and device, equipment, storage medium and product
By assigning a calculation task group to covalent bonds in biological calculations, using the amino acids corresponding to the target atoms as the division basis and making adjustments, the problem of low efficiency in covalent bond tasks in complex molecular structures is solved, and efficient task allocation is achieved.
Patent Information
- Application Number
- CN202411766790.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-04
- Publication Date
- 2025-03-25
AI Technical Summary
The prior art is not suitable for commercial software that has low efficiency in covalent bond calculation task allocation, especially in complex molecular structures, and has high performance requirements.
By obtaining the covalent bond to be allocated, the target atoms in each covalent bond are determined, and the calculation task group is allocated to the covalent bond according to the amino acid corresponding to the target atom. Finally, it is adjusted according to the allocation results, so that the number of calculation task groups in which each atom is located and the number of covalent bonds in each calculation task group meet the preset threshold.
It improves the success rate and efficiency of covalent bond task division of complex molecular structures, and is suitable for commercial software with high performance requirements.
Smart Images

Figure CN119690666A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of biological computing technology, and in particular to a method, device, equipment, storage medium and product for allocating covalent bond computing tasks. Background Art
[0002] The simulation of biological macromolecules involves the calculation of covalent bonds. This type of calculation task is huge and complex. At present, various fields use dedicated processors to accelerate complex nonlinear mathematical calculations. To improve the calculation efficiency, the coordinated parallelism of multiple processors is also required. The efficiency of parallel computing is restricted by the task balance and communication volume of each computing unit. Good task allocation can significantly reduce the communication time and data transmission volume. Therefore, a well-designed task allocation scheme can meet the system requirements. The processor computing units are connected to each other in a three-dimensional structure, and the simulation space can be divided into equal scales and directly mapped to the computing units, but the communication volume will affect the calculation efficiency. First, in order to shorten the calculation time, the covalent bond calculation task is usually assigned to multiple computing units for parallel calculation at the same time. However, only when all the calculation tasks of each computing unit are completed can the subsequent calculation link be entered, so the task allocation must be both dispersed and balanced. Therefore, the task allocation of covalent bonds is particularly important.
[0003] In the prior art, there are generally two schemes for covalent bond task allocation. The first is average partitioning; the second is to divide covalent bonds into linear covalent bonds and nonlinear covalent bonds. Linear ones are allocated according to the slice division, and nonlinear ones are allocated according to the atomic association. Among them, the first scheme has a higher success rate for molecular structures with a high degree of threading, but its allocation success rate is lower for complex molecular structures with branches; although the second scheme solves the allocation success rate of branched structures to a certain extent, it involves a large amount of calculation and a long running time, and is not suitable for commercial software with high performance requirements. Summary of the invention
[0004] The present invention provides a method, device, equipment, storage medium and product for allocating covalent bond computing tasks, so as to optimize the task allocation of covalent bonds in biological computing.
[0005] According to one aspect of the present invention, a method for allocating covalent bond calculation tasks is provided, comprising:
[0006] Obtaining covalent bonds to be assigned; wherein each of the covalent bonds to be assigned is composed of at least two atoms, and each atom corresponds to an amino acid;
[0007] Determine a target atom in each of the covalent bonds to be assigned, and assign a calculation task group to the covalent bonds to be assigned according to the amino acids corresponding to the target atoms;
[0008] Adjustments are made according to the allocation results so that the number of calculation task groups in which each atom is located does not exceed the first value, and the number of covalent bonds to be allocated in each calculation task group does not exceed the second value.
[0009] Furthermore, after obtaining the covalent bonds to be assigned, the method further includes:
[0010] All the covalent bonds to be assigned are sorted.
[0011] Further, all the covalent bonds to be assigned are sorted, including:
[0012] For each of the covalent bonds to be allocated, determining a unique identifier of an atom contained in the covalent bond to be allocated, and sorting each atom according to the unique identifier of each atom;
[0013] All the covalent bonds to be assigned are sorted in lexicographic order.
[0014] Furthermore, the target atoms are the atoms in the first column after the covalent bonds to be assigned are sorted.
[0015] Further, the covalent bonds to be assigned are assigned calculation task groups according to the amino acids corresponding to the target atoms, including:
[0016] Determining the amino acid to which each of the target atoms belongs;
[0017] If the amino acids to which the target atoms belong are the same, the corresponding covalent bonds to be assigned are assigned to the same calculation task group.
[0018] Further, adjusting according to the allocation result so that the number of calculation task groups for each atom does not exceed the first value, and the number of covalent bonds to be allocated in each calculation task group does not exceed the second value, includes:
[0019] Count the number of computational task groups each atom belongs to;
[0020] For each atom, if the number of the calculation task groups it belongs to exceeds the first value, the calculation task groups are merged;
[0021] The number of the covalent bonds to be allocated in each computing task group is counted. If the number of the covalent bonds to be allocated in each computing task group does not exceed the second value, the adjustment is completed.
[0022] According to another aspect of the present invention, there is provided a covalent bond calculation task allocation device, comprising:
[0023] A module for obtaining covalent bonds to be allocated, used for obtaining covalent bonds to be allocated; wherein each of the covalent bonds to be allocated is composed of at least two atoms, and each atom corresponds to an amino acid;
[0024] A module for allocating covalent bonds to be allocated, used for determining a target atom in each of the covalent bonds to be allocated, and allocating a calculation task group to the covalent bonds to be allocated according to the amino acids corresponding to the target atoms;
[0025] The allocation result adjustment module is used to make adjustments according to the allocation result so that the number of calculation task groups for each atom does not exceed a first value, and the number of covalent bonds to be allocated in each calculation task group does not exceed a second value.
[0026] Optionally, the device further comprises a module for sorting covalent bonds to be allocated, which is used to sort all the covalent bonds to be allocated.
[0027] Optionally, the module for sorting covalent bonds to be assigned is further used for:
[0028] For each of the covalent bonds to be allocated, determining a unique identifier of an atom contained in the covalent bond to be allocated, and sorting each atom according to the unique identifier of each atom;
[0029] All the covalent bonds to be assigned are sorted in lexicographic order.
[0030] Optionally, the target atom is the first column of atoms after sorting of the covalent bonds to be assigned.
[0031] Optionally, the covalent bond allocation module to be allocated is further used for:
[0032] Determining the amino acid to which each of the target atoms belongs;
[0033] If the amino acids to which the target atoms belong are the same, the corresponding covalent bonds to be assigned are assigned to the same calculation task group.
[0034] Optionally, the allocation result adjustment module is further used for:
[0035] Count the number of computational task groups each atom belongs to;
[0036] For each atom, if the number of the calculation task groups it belongs to exceeds the first value, the calculation task groups are merged;
[0037] The number of the covalent bonds to be allocated in each computing task group is counted. If the number of the covalent bonds to be allocated in each computing task group does not exceed the second value, the adjustment is completed.
[0038] According to another aspect of the present invention, an electronic device is provided, the electronic device comprising:
[0039] at least one processor; and
[0040] a memory communicatively connected to the at least one processor; wherein,
[0041] The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the covalent bond calculation task allocation method described in any embodiment of the present invention.
[0042] According to another aspect of the present invention, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the covalent bond calculation task allocation method described in any embodiment of the present invention when executed.
[0043] According to another aspect of the present invention, a computer program product is provided, which includes a computer program / instruction, and when the computer program / instruction is executed by a processor, the steps of the covalent bond calculation task allocation method described in any embodiment of the present invention are implemented.
[0044] The method for allocating covalent bond calculation tasks disclosed in the present invention first obtains the covalent bonds to be allocated; wherein each covalent bond to be allocated is composed of at least two atoms, and each atom corresponds to an amino acid; then a target atom is determined in each covalent bond to be allocated, and a calculation task group is allocated to the covalent bonds to be allocated according to the amino acids corresponding to each target atom; finally, adjustments are made according to the allocation results so that the number of calculation task groups in which each atom is located does not exceed a first value, and the number of covalent bonds to be allocated in each calculation task group does not exceed a second value. The method for allocating covalent bond calculation tasks disclosed in the present invention uses the amino acids corresponding to the target atoms in the covalent bonds to be allocated as the basis for preliminary division of the covalent bonds to be allocated, and sets adjustment rules after preliminary division, which can solve the problem of task division of covalent bonds in complex molecular structures.
[0045] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present invention, nor are they intended to limit the scope of the present invention. Other features of the present invention will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0046] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0047] Figure 1 is a flow chart of a method for allocating covalent bond calculation tasks provided according to Embodiment 1 of the present invention;
[0048] Figure 2 is a flow chart of a method for allocating covalent bond calculation tasks provided according to Embodiment 2 of the present invention;
[0049] Figure 3 is a structural schematic diagram of a covalent bond calculation task allocation device provided according to Embodiment 3 of the present invention;
[0050] Figure 4 It is a structural diagram of an electronic device for implementing the covalent bond calculation task allocation method of the fourth embodiment of the present invention. DETAILED DESCRIPTION
[0051] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.
[0052] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0053] Embodiment 1
[0054] Figure 1 This is a flow chart of a method for assigning covalent bond calculation tasks provided in the first embodiment of the present invention. This embodiment is applicable to the case of assigning tasks to covalent bonds in biological computing. The method can be executed by a covalent bond calculation task assignment device. The covalent bond calculation task assignment device can be implemented in the form of hardware and / or software. The covalent bond calculation task assignment device can be configured in an electronic device. Figure 1 As shown, the method includes:
[0055] S110, obtaining the covalent bonds to be assigned.
[0056] Each covalent bond to be assigned is composed of at least two atoms, and each atom corresponds to an amino acid.
[0057] In biocomputing, a covalent bond refers to a chemical bond formed by two or more atoms through the sharing of electron pairs. A covalent bond is a type of chemical bond, and its essence is the electrical interaction between electrons and two nuclei that occurs with high probability after the overlap of atomic orbitals. Covalent bonds are mainly used to describe the interaction between molecules in biocomputing. For example, the base pairs in the double helix structure of DNA are connected by hydrogen bonds, but the atoms inside the bases are connected by covalent bonds.
[0058] In this embodiment, the covalent bonds to be assigned are covalent bonds used to perform the current biological computing task. Before performing the biological computing task, tasks can be assigned to the covalent bonds to be assigned based on the bond potential association relationship of the covalent bonds to be assigned, combined with mathematical and biological principles.
[0059] S120, determining a target atom in each covalent bond to be assigned, and assigning a calculation task group to the covalent bond to be assigned according to the amino acid corresponding to each target atom.
[0060] In this embodiment, after obtaining the covalent bonds to be assigned, an atom can be determined in each covalent bond to be assigned as a target atom, and then the amino acid chains corresponding to the target atoms are used as the basis for dividing the covalent bonds to be assigned, and a calculation task group is assigned to the covalent bonds to be assigned.
[0061] Preferably, the method for determining the target atom in each covalent bond to be assigned may be to sort the atoms in the covalent bond to be assigned according to a set rule for each covalent bond to be assigned, and then select one of the atoms as the target atom according to the sorting result. For example, the first-ranked atom in each covalent bond to be assigned may be selected as the target atom.
[0062] Furthermore, since the bond potential correlation of the covalent bonds formed between two different amino acid chains is weaker than the bond potential correlation of the covalent bonds formed within the same amino acid chain, the basis for dividing the covalent bonds to be allocated may be whether the target atoms belong to the same amino acid. For example, the covalent bonds to be allocated corresponding to the target atoms belonging to the same amino acid may be allocated to the same calculation task group.
[0063] S130 , making adjustments according to the allocation result so that the number of calculation task groups in which each atom belongs does not exceed the first value, and the number of covalent bonds to be allocated in each calculation task group does not exceed the second value.
[0064] The first value and the second value are respectively preset thresholds, which are used to control the division of calculation tasks of the covalent bonds to be allocated.
[0065] In this embodiment, in order to ensure the balance of task allocation, after allocating calculation task groups for covalent bonds to be allocated according to the amino acids corresponding to each target atom, the number of calculation task groups in which each atom is currently located and the number of covalent bonds to be allocated in each calculation task group can be counted. If the number of calculation task groups in which each atom is located exceeds the first value or the number of covalent bonds to be allocated in each calculation task group exceeds the second value, the current task allocation situation needs to be adjusted.
[0066] Optionally, the allocation result can be adjusted by counting the number of computing task groups that each atom currently belongs to. If the number of computing task groups that each atom belongs to exceeds a first value, the computing task groups can be merged. The principle of merging can be to merge the computing task groups with the least number of covalent bonds based on the number of covalent bonds in the computing task groups.
[0067] Furthermore, after obtaining the covalent bonds to be assigned, it is also possible to: sort all the covalent bonds to be assigned.
[0068] In this embodiment, in order to improve the efficiency of the calculation task group for allocating covalent bonds to be allocated, all covalent bonds to be allocated may be sorted after obtaining the covalent bonds to be allocated, and then the target atoms may be determined in order.
[0069] Optionally, the method for sorting all covalent bonds to be assigned may be: for each covalent bond to be assigned, determining the unique identifier of the atom contained in the covalent bond to be assigned, and sorting each atom according to the unique identifier of each atom; and sorting all covalent bonds to be assigned in dictionary order.
[0070] Specifically, each covalent bond to be assigned contains multiple atoms, and each atom has a corresponding unique identifier (atom id). When sorting the covalent bonds to be assigned, they can be sorted in ascending order according to the atom id of each atom, and then all the covalent bonds to be assigned are put into the same array, and all the covalent bonds to be assigned are sorted in dictionary order.
[0071] Optionally, the target atom is the first column of atoms after sorting of the covalent bonds to be assigned.
[0072] Specifically, after the covalent bonds to be assigned, ie the atoms therein, are sorted, the atoms in the first column after the sorting of the covalent bonds to be assigned can be used as the target atoms corresponding to the covalent bonds to be assigned.
[0073] The covalent bond calculation task allocation method provided by the embodiment of the present invention first obtains the covalent bonds to be allocated; wherein each covalent bond to be allocated is composed of at least two atoms, and each atom corresponds to an amino acid; then a target atom is determined in each covalent bond to be allocated, and a calculation task group is allocated for the covalent bonds to be allocated according to the amino acids corresponding to each target atom; finally, adjustments are made according to the allocation results so that the number of calculation task groups where each atom is located does not exceed the first value, and the number of covalent bonds to be allocated in each calculation task group does not exceed the second value. The covalent bond calculation task allocation method disclosed in the present invention uses the amino acids corresponding to the target atoms in the covalent bonds to be allocated as the basis for preliminary division of the covalent bonds to be allocated, and sets the adjustment rules after the preliminary division, which can solve the problem of task division of covalent bonds in complex molecular structures. In addition, by sorting the covalent bonds to be allocated and the atoms therein, the efficiency of task allocation of covalent bonds can be improved.
[0074] Embodiment 2
[0075] Figure 2 Flow chart of a method for allocating covalent bond calculation tasks provided in Embodiment 2 of the present invention. This embodiment is a refinement of the above embodiment. Figure 2 As shown, the method includes:
[0076] S210, obtaining the covalent bonds to be assigned.
[0077] Each covalent bond to be assigned is composed of at least two atoms, and each atom corresponds to an amino acid.
[0078] In biocomputing, a covalent bond refers to a chemical bond formed by two or more atoms through the sharing of electron pairs. A covalent bond is a type of chemical bond, and its essence is the electrical interaction between electrons and two nuclei that occurs with high probability after the overlap of atomic orbitals. Covalent bonds are mainly used to describe the interaction between molecules in biocomputing. For example, the base pairs in the double helix structure of DNA are connected by hydrogen bonds, but the atoms inside the bases are connected by covalent bonds.
[0079] In this embodiment, the covalent bonds to be assigned are covalent bonds used to perform the current biological computing task. Before performing the biological computing task, tasks can be assigned to the covalent bonds to be assigned based on the bond potential association relationship of the covalent bonds to be assigned, combined with mathematical and biological principles.
[0080] S220. Determine a target atom in each covalent bond to be assigned, and determine the amino acid to which each target atom belongs.
[0081] In this embodiment, each atom in the covalent bond to be assigned has a corresponding amino acid, and the amino acids corresponding to each atom may be the same or different. After obtaining the covalent bonds to be assigned, a target atom may be determined in each covalent bond to be assigned, and the amino acid to which each target atom belongs may be determined.
[0082] Preferably, the method for determining the target atom in the covalent bond to be assigned may be to sort the covalent bonds to be assigned and the atoms therein according to the set rules, and then extract an atom from each covalent bond to be assigned as the target atom according to the sorting result. For example, after sorting the covalent bonds to be assigned and the atoms therein, the atom ranked first in each covalent bond to be assigned may be used as the target atom.
[0083] Furthermore, the amino acid to which each target atom belongs can be determined based on a molecular structure file (GRO file). A GRO file is a file that describes the three-dimensional structure of a molecule or macromolecule, which records the correspondence between each atom and the amino acid. By reading the GRO file, the amino acid to which each target atom belongs can be determined.
[0084] S230. If the amino acids to which the target atoms belong are the same, the corresponding covalent bonds to be assigned are assigned to the same calculation task group.
[0085] In this embodiment, since the bond potential correlation relationship of the covalent bonds formed between two different amino acid chains is weaker than the bond potential correlation relationship of the covalent bonds formed within the same amino acid chain, the basis for dividing the covalent bonds to be assigned can be whether the target atoms belong to the same amino acid, and the covalent bonds to be assigned corresponding to the target atoms belonging to the same amino acid are assigned to the same calculation task group.
[0086] S240, counting the number of computing task groups that each atom belongs to, and for each atom, if the number of computing task groups that the atom belongs to exceeds a first value, merging the computing task groups.
[0087] In this embodiment, after the preliminary division of the covalent bonds to be allocated is completed, in order to ensure the balance of task allocation, adjustments can be made according to the allocation results. The specific adjustment method can be: after counting the number of calculation task groups where each atom currently belongs, traverse all atoms in all covalent bonds to be allocated. If the number of calculation task groups where each atom belongs exceeds the first value, the calculation task groups can be merged. The principle of merging can be that according to the number of covalent bonds in the calculation task groups, the calculation task groups with the least number of covalent bonds are merged.
[0088] S250, counting the number of covalent bonds to be allocated in each computing task group, if the number of covalent bonds to be allocated in each computing task group does not exceed the second value, the adjustment is completed.
[0089] In this embodiment, after traversing each atom in the covalent bonds to be assigned and merging the calculation task groups, it is also necessary to check the number of covalent bonds to be assigned in each calculation task group. If the number of covalent bonds to be assigned in each calculation task group does not exceed the second value, and the number of calculation task groups where each atom is located does not exceed the first value, the check passes, and the current covalent bond assignment result can be used as the final covalent bond calculation task assignment plan.
[0090] The covalent bond calculation task allocation method provided in the embodiment of the present invention uses the amino acids corresponding to the target atoms in the covalent bonds to be allocated as the basis for preliminary division of the covalent bonds to be allocated, and sets adjustment rules after the preliminary division, which can solve the problem of task allocation of covalent bonds in complex molecular structures.
[0091] Embodiment 3
[0092] Figure 3 A schematic diagram of a covalent bond calculation task allocation device provided in Embodiment 3 of the present invention is shown in FIG. Figure 3 As shown, the device includes: a module 310 for obtaining covalent bonds to be allocated, a module 320 for allocating covalent bonds to be allocated, and a module 330 for adjusting allocation results.
[0093] The module 310 for obtaining covalent bonds to be allocated is used to obtain covalent bonds to be allocated.
[0094] Each covalent bond to be assigned is composed of at least two atoms, and each atom corresponds to an amino acid.
[0095] The covalent bond allocation module 320 is used to determine a target atom in each covalent bond to be allocated, and allocate a calculation task group to the covalent bond to be allocated according to the amino acid corresponding to each target atom.
[0096] The allocation result adjustment module 330 is used to make adjustments according to the allocation result so that the number of calculation task groups for each atom does not exceed a first value, and the number of covalent bonds to be allocated in each calculation task group does not exceed a second value.
[0097] Optionally, the device further comprises a to-be-allocated covalent bond sorting module 340 for sorting all to-be-allocated covalent bonds.
[0098] Optionally, the to-be-assigned covalent bond sorting module 340 is further used for:
[0099] For each covalent bond to be assigned, the unique identifier of the atom contained in the covalent bond to be assigned is determined, and each atom is sorted according to the unique identifier of each atom; all the covalent bonds to be assigned are sorted in dictionary order.
[0100] Optionally, the target atom is the first column of atoms after sorting of the covalent bonds to be assigned.
[0101] Optionally, the covalent bond allocation module 320 is further used for:
[0102] Determine the amino acid to which each target atom belongs; if the amino acids to which the target atoms belong are the same, the corresponding covalent bonds to be assigned are assigned to the same calculation task group.
[0103] Optionally, the allocation result adjustment module 330 is further used to:
[0104] The number of calculation task groups to which each atom belongs is counted; for each atom, if the number of calculation task groups to which it belongs exceeds a first value, the calculation task groups are merged; the number of covalent bonds to be assigned in each calculation task group is counted, and if the number of covalent bonds to be assigned in each calculation task group does not exceed a second value, the adjustment is completed.
[0105] The covalent bond calculation task allocation device provided in the embodiment of the present invention can execute the covalent bond calculation task allocation method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.
[0106] Embodiment 4
[0107] Figure 4 A schematic diagram of the structure of an electronic device 10 that can be used to implement an embodiment of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.) and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present invention described and / or required herein.
[0108] like Figure 4 As shown, the electronic device 10 includes at least one processor 11, and a memory connected to the at least one processor 11, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., wherein the memory stores a computer program that can be executed by at least one processor, and the processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or the computer program loaded from the storage unit 18 to the random access memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the electronic device 10 can also be stored. The processor 11, the ROM 12, and the RAM 13 are connected to each other through a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.
[0109] A number of components in the electronic device 10 are connected to the I / O interface 15, including: an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a disk, an optical disk, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.
[0110] The processor 11 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 11 executes the various methods and processes described above, such as a covalent bond calculation task allocation method.
[0111] In some embodiments, the covalent bond calculation task allocation method can be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 18. In some embodiments, part or all of the computer program can be loaded and / or installed on the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps of the covalent bond calculation task allocation described above can be performed. Alternatively, in other embodiments, the processor 11 can be configured to perform the covalent bond calculation task allocation method in any other appropriate manner (for example, by means of firmware).
[0112] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0113] Computer programs for implementing the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that when the computer program is executed by the processor, the functions / operations specified in the flow chart and / or block diagram are implemented. The computer program may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.
[0114] In the context of the present invention, a computer-readable storage medium may be a tangible medium that may contain or store a computer program for use by or in combination with an instruction execution system, device or equipment. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or equipment, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0115] To provide interaction with a user, the systems and techniques described herein may be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or trackball) through which the user can provide input to the electronic device. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).
[0116] The systems and techniques described herein may be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.
[0117] A computing system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The client and server relationship is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services.
[0118] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in the present invention can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solution of the present invention can be achieved, and this document does not limit this.
[0119] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.
Claims
1. A method for allocating covalent bond calculation tasks, characterized in that: include: Obtaining covalent bonds to be assigned; wherein each of the covalent bonds to be assigned is composed of at least two atoms, and each atom corresponds to an amino acid; Determine a target atom in each of the covalent bonds to be assigned, and assign a calculation task group to the covalent bonds to be assigned according to the amino acids corresponding to the target atoms; Adjustments are made according to the allocation results so that the number of calculation task groups in which each atom is located does not exceed the first value, and the number of covalent bonds to be allocated in each calculation task group does not exceed the second value.
2. The method according to claim 1, characterized in that After obtaining the covalent bonds to be assigned, it also includes: All the covalent bonds to be assigned are sorted.
3. The method according to claim 2, characterized in that Sorting all the covalent bonds to be assigned, including: For each of the covalent bonds to be assigned, determining a unique identifier of an atom contained in the covalent bond to be assigned, and sorting each atom according to the unique identifier of each atom; All the covalent bonds to be assigned are sorted in lexicographic order.
4. The method according to claim 2, characterized in that: The target atoms are the atoms in the first column after the covalent bonds to be assigned are sorted.
5. The method according to claim 1, characterized in that Allocating a calculation task group for the covalent bonds to be allocated according to the amino acids corresponding to the target atoms, including: Determining the amino acid to which each of the target atoms belongs; If the amino acids to which the target atoms belong are the same, the corresponding covalent bonds to be assigned are assigned to the same calculation task group.
6. The method according to claim 1, characterized in that Adjusting according to the allocation result so that the number of calculation task groups in which each atom belongs does not exceed the first value, and the number of covalent bonds to be allocated in each calculation task group does not exceed the second value, includes: Count the number of computational task groups each atom belongs to; For each atom, if the number of the calculation task groups it belongs to exceeds the first value, the calculation task groups are merged; The number of the covalent bonds to be allocated in each computing task group is counted. If the number of the covalent bonds to be allocated in each computing task group does not exceed the second value, the adjustment is completed.
7. A covalent bond calculation task allocation device, characterized in that: include: A module for obtaining covalent bonds to be allocated, used for obtaining covalent bonds to be allocated; wherein each of the covalent bonds to be allocated is composed of at least two atoms, and each atom corresponds to an amino acid; A module for allocating covalent bonds to be allocated, used for determining a target atom in each of the covalent bonds to be allocated, and allocating a calculation task group to the covalent bonds to be allocated according to the amino acids corresponding to the target atoms; The allocation result adjustment module is used to make adjustments according to the allocation result so that the number of calculation task groups for each atom does not exceed a first value, and the number of covalent bonds to be allocated in each calculation task group does not exceed a second value.
8. An electronic device, characterized in that: The electronic device comprises: at least one processor; and a memory communicatively connected to the at least one processor; wherein, The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the covalent bond calculation task allocation method according to any one of claims 1 to 6.
9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the covalent bond calculation task allocation method according to any one of claims 1 to 6 when executed.
10. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instructions are executed by a processor, the steps of the covalent bond calculation task allocation method according to any one of claims 1 to 6 are implemented.