Amino acid multiple sequence alignment method and device, electronic equipment and medium
By using parallel search technology in amino acid multiple sequence alignment, parallel homologous search of dependent amino acid sequence databases is solved, and a more efficient alignment process is achieved.
Patent Information
- Application Number
- CN202311067187.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-23
- Publication Date
- 2025-02-25
AI Technical Summary
In the prior art, the search speed is slow when aligning multiple sequences of amino acids, resulting in a long search time.
By using the first amino acid sequence search tool to perform homologous search on the first amino acid sequence database, and starting to execute instructions that have a dependency relationship with the search results of the first search instruction after the first search instruction is executed and before the execution of at least one first subsequent instruction is completed, a parallel homologous search is performed on the dependent amino acid sequence database.
Parallel search of multiple amino acid sequence databases is realized, the speed of amino acid multiple sequence alignment is improved, and the problem of slow search speed and long search time is solved.
Smart Images

Figure CN119517169A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of bioinformatics, and in particular to a method, device, electronic device and medium for multiple amino acid sequence alignment. Background Art
[0002] Multiple sequence alignment (MSA) refers to obtaining similar amino acid residue sequences by searching, and aligning the amino acid sequences of these proteins with phylogenetic relationships, aligning the same amino acid residues in the sequence. Based on the comparison results of MSA and the structure of homologous known sequences, it can help predict similar protein structures of unknown sequences.
[0003] However, the multiple sequence alignment algorithm in the prior art has the problems of slow search speed and long search time. Summary of the invention
[0004] In view of this, the purpose of the present application is to provide a method, device, electronic device and medium for amino acid multiple sequence alignment to solve the problems of slow search speed and long search time in the prior art when performing amino acid multiple sequence alignment.
[0005] In a first aspect, the present application provides a method for multiple amino acid sequence alignment, comprising:
[0006] For the amino acid sequence to be compared, a first amino acid sequence search tool is used to perform a homology search on a first amino acid sequence database to obtain an independent search result, wherein the first amino acid sequence search tool uses a first process to perform a homology search on the first amino acid sequence database, and the first process includes a first search instruction and at least one first subsequent instruction that are executed sequentially;
[0007] For the amino acid sequence to be compared, a first amino acid sequence search tool is used to perform a homology search on at least one dependent amino acid sequence database to obtain at least one dependent search result corresponding one-to-one to the at least one dependent amino acid sequence database, the first amino acid sequence search tool uses at least one dependent process corresponding one-to-one to the at least one dependent amino acid sequence database to perform a homology search on the dependent amino acid sequence database, at least one instruction in each dependent process has a dependency relationship with the search result of the first search instruction, and the instruction having a dependency relationship with the search result of the first search instruction begins to execute after the first search instruction is executed and before the execution of at least one first subsequent instruction is completed;
[0008] According to the independent search results and the dependent search results, the first amino acid multiple sequence alignment result corresponding to the amino acid sequence to be aligned is determined.
[0009] In a second aspect, the present application also provides an amino acid multiple sequence alignment device, the device comprising:
[0010] A first search module, for performing a homology search on a first amino acid sequence database using a first amino acid sequence search tool for the amino acid sequence to be compared, so as to obtain an independent search result, wherein the first amino acid sequence search tool performs a homology search on the first amino acid sequence database using a first process, wherein the first process includes a first search instruction and at least one first subsequent instruction that are executed sequentially;
[0011] A dependency search module, for performing a homology search on at least one dependent amino acid sequence database using a first amino acid sequence search tool for the amino acid sequence to be compared, so as to obtain at least one dependent search result corresponding one-to-one to the at least one dependent amino acid sequence database, wherein the first amino acid sequence search tool uses at least one dependent process corresponding one-to-one to the at least one dependent amino acid sequence database to perform a homology search on the dependent amino acid sequence database, wherein at least one instruction in each dependent process has a dependency relationship with the search result of the first search instruction, and the instruction having a dependency relationship with the search result of the first search instruction begins to execute after the first search instruction is executed and before the execution of at least one first subsequent instruction is completed;
[0012] The comparison result determination module determines the first amino acid multiple sequence comparison result corresponding to the amino acid sequence to be compared according to the independent search result and the dependent search result.
[0013] In a third aspect, an embodiment of the present application further provides an electronic device, comprising: a processor, a memory and a bus, wherein the memory stores machine-readable instructions executable by the processor, and when the electronic device is running, the processor and the memory communicate via the bus, and when the machine-readable instructions are executed by the processor, the steps of the above-mentioned amino acid multiple sequence alignment method are performed.
[0014] In a fourth aspect, an embodiment of the present application further provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the steps of the amino acid multiple sequence alignment method as described above are executed.
[0015] The embodiments of the present application bring the following beneficial effects:
[0016] An amino acid multiple sequence alignment method, device, electronic device and medium provided in the embodiments of the present application can start executing an instruction that has a dependency on the retrieval result of the first retrieval instruction after the first retrieval instruction is executed and before the execution of at least one first subsequent instruction is completed, and use the instruction to perform a homology search on at least one dependent amino acid sequence data to achieve a parallel search of at least one dependent amino acid sequence data. Compared with the amino acid multiple sequence alignment method in the prior art, the problem of slow search speed and long search time in the prior art when performing amino acid multiple sequence alignment is solved.
[0017] In order to make the above-mentioned objects, features and advantages of the present application more obvious and easy to understand, preferred embodiments are specifically cited below and described in detail with reference to the attached drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the embodiments will be briefly introduced below. It should be understood that the following drawings only show certain embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.
[0019] Figure 1 A flow chart of the amino acid multiple sequence alignment method provided in the embodiments of the present application is shown;
[0020] Figure 2A A schematic diagram showing a flow chart of searching using a first amino acid sequence search tool in the prior art provided in the embodiments of the present application;
[0021] Figure 2B A schematic diagram of a process of performing homology search using a first amino acid sequence search tool provided in an embodiment of the present application is shown;
[0022] Figure 2C Another schematic diagram of a process for performing homology search using a first amino acid sequence search tool provided in an embodiment of the present application is shown;
[0023] Figure 3 A flow chart for determining the final amino acid multiple sequence alignment result provided in the embodiments of the present application is shown;
[0024] Figure 4 A flowchart of performing homology search on a second amino acid sequence database provided in an embodiment of the present application is shown;
[0025] Figure 5 A schematic diagram showing the search process of the second amino acid sequence search tool provided in the embodiment of the present application;
[0026] Figure 6 A flowchart of search processing performed by a working node provided in an embodiment of the present application is shown;
[0027] Figure 7 A schematic diagram showing the structure of an amino acid multiple sequence alignment device provided in an embodiment of the present application is shown;
[0028] Figure 8 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application is shown. DETAILED DESCRIPTION
[0029] To make the purpose, technical scheme and advantages of the embodiments of the present application clearer, the technical scheme in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all of the embodiments. The components of the embodiments of the present application usually described and shown in the drawings here can be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of the present application provided in the drawings is not intended to limit the scope of the application claimed for protection, but merely represents the selected embodiments of the present application. Based on the embodiments of the present application, each other embodiment obtained by those skilled in the art without making creative work belongs to the scope of protection of the present application.
[0030] The present invention provides a method for multiple amino acid sequence alignment to improve the search speed and shorten the search time.
[0031] See also Figure 1 , Figure 1 A flowchart of a multiple amino acid sequence alignment method provided in the present application example. Figure 1 As shown, the amino acid multiple sequence alignment method provided in the embodiments of the present application comprises:
[0032] Step S101: for the amino acid sequence to be compared, a first amino acid sequence search tool is used to perform a homology search on a first amino acid sequence database to obtain independent search results.
[0033] Step S102: for the amino acid sequence to be compared, a first amino acid sequence search tool is used to perform a homology search on at least one dependent amino acid sequence database to obtain at least one dependent search result corresponding one-to-one to the at least one dependent amino acid sequence database.
[0034] Step S103, determining the first amino acid multiple sequence alignment result corresponding to the amino acid sequence to be aligned according to the independent search results and the dependent search results.
[0035] The amino acid sequence to be compared is the amino acid sequence to be subjected to multiple sequence alignment. The results of the multiple sequence alignment can be used as a basis to perform downstream tasks such as structural prediction of the protein whose amino acid sequence is the amino acid sequence to be compared. It is understandable that the more accurate the multiple sequence alignment result is, the more accurate the result of the downstream task will be. Currently, there are multiple amino acid sequence databases of different species, collection and processing methods. In order to improve the accuracy of the multiple sequence alignment results, it is necessary to search in multiple amino acid sequence databases. There are currently a variety of multiple sequence alignment tools, some of which have a faster alignment process and some of which have more accurate alignment results.
[0036] In the embodiment of the present application, a tool that can be used to search multiple amino acid sequence databases is called a first amino acid sequence search tool. The amino acid sequence databases searched by the first amino acid sequence search tool may include at least two of pdb70, bfd, uniref30, uniref90, and Uniprot. After disassembling the search process of the first amino acid sequence search tool, the inventor found that the existing first amino acid sequence search tool does not search in parallel with the multiple amino acid sequence databases it often uses during the search, but searches in series, first searching an amino acid sequence database (the amino acid sequence database searched first may include a wider range of species, such as Uniref30), and after the library is searched and the search results are obtained, other libraries are searched based on the search results of the library, and finally the search results of each library are summarized to obtain the final result.
[0037] Figure 2A A schematic diagram of a search process using a first amino acid sequence search tool in the prior art provided in an embodiment of the present application is shown.
[0038] like Figure 2AAs shown, when using the first amino acid sequence search tool to perform homology search on multiple amino acid sequence data, the first process is first used to perform homology search on the first amino acid sequence database, and the first search instruction and the first subsequent instruction are executed, and the first process ends to obtain an independent search result, and then the independent search result is used to start the third process, and the third search instruction and the third subsequent instruction are executed. The third process ends to obtain the first dependent search result, and the first dependent search result is used to start the fourth process, and the fourth search instruction and the fourth subsequent instruction are executed. The fourth process ends to obtain the second dependent search result. The first amino acid multiple sequence alignment result is obtained according to the independent search result, the first dependent search result, and the second dependent search result. It can be seen that when the prior art uses the first amino acid sequence search tool to perform homology search on multiple amino acid sequence data, the third process can only be started after the first process is executed to obtain the independent search result, and the fourth process can only be started after the third process is executed to obtain the first dependent search result. Each process must be started after the previous process ends, and the total search time is equal to the sum of the search times of all processes.
[0039] In the embodiment of the present application, the amino acid sequence database that is first searched is referred to as the first amino acid sequence database, and the amino acid sequence database that is searched based on the search results of the first amino acid sequence database is referred to as the dependent amino acid sequence database. That is, before step S101 and step S102 are executed, step S100 is also executed: the search process of the first amino acid sequence search tool is parsed to determine the first amino acid sequence database and the dependent amino acid sequence database.
[0040] The independent search result is an amino acid sequence in the first amino acid sequence library whose similarity with the amino acid sequence to be compared is greater than the similarity threshold and / or whose similarity is ranked in the top N; the dependent search result is an amino acid sequence in the dependent amino acid sequence library whose similarity with the amino acid sequence to be compared is greater than the similarity threshold and / or whose similarity is ranked in the top N.
[0041] The search of different amino acid sequence databases can be performed by different processes, and the search process performed by each process includes a retrieval instruction and at least one subsequent instruction. Subsequent instructions may include, for example, multiple instructions such as expansion, comparison, filtering, and result conversion. For example, the first amino acid sequence search tool uses the first process to perform a homology search on the first amino acid sequence database, and the first process includes a first retrieval instruction and at least one first subsequent instruction (the first subsequent instruction includes expansion, comparison, filtering, and result conversion) executed sequentially. It is understandable that the subsequent instruction refers to an instruction executed after the retrieval instruction. The first amino acid sequence search tool uses at least one dependent process corresponding to at least one dependent amino acid sequence database to perform a homology search on the dependent amino acid sequence database, and each dependent process includes multiple instructions executed sequentially.
[0042] The inventors also found that when searching other libraries based on the search results of the first amino acid sequence database, the search of other libraries does not depend on the final result obtained by searching the first amino acid sequence database (i.e., the result obtained after executing the last first subsequent instruction), but only depends on the intermediate result obtained by searching the library. The inventors further found that the intermediate results that different dependent processes depend on are the same, which are all part or all of the search results obtained after executing the first search instruction. The instructions that depend on the intermediate results in different dependent processes may be the same or different. That is, at least one instruction in each dependent process has a dependency relationship with the search result of the first search instruction, and the instructions that have a dependency relationship with the search result of the first search instruction in each dependent process may be the same or different. For example, a dependent process has a dependency relationship with the search result of the first search instruction, and another dependent process has a dependency relationship with the search result of the first search instruction, which is also a search instruction; for another example, a dependent process has a dependency relationship with the search result of the first search instruction, which is a search instruction, and another dependent process has a dependency relationship with the search result of the first search instruction, which is a filtering instruction. That is to say, in step S100, the search process of the first amino acid sequence search tool is analyzed, and not only is it determined which of the databases searched by the first amino acid sequence search tool is the dependent first amino acid sequence database and which is the dependent amino acid sequence database, but it is also determined that among the results obtained by the instructions executed by the first process, the dependent result is the search result of the first search instruction, and it is also determined which instruction in the dependent process has a dependent relationship with the search result of the first search instruction.
[0043] Based on the above findings, in order to further improve the speed of multiple sequence alignment, the embodiment of the present application performs instruction-level parallel search on multiple amino acid sequence libraries. Among the instructions executed by the dependent process, the instructions with a dependency relationship with the retrieval result of the first retrieval instruction are executed after the first retrieval instruction is executed and before at least one first subsequent instruction is executed, without waiting for the first subsequent instruction to be executed. It is understandable that the earlier the instructions with a dependency relationship with the retrieval result of the first retrieval instruction are executed, the more the speed of multiple sequence alignment is improved. Therefore, the instructions with a dependency relationship with the retrieval result of the first retrieval instruction can be executed after the first retrieval instruction is executed and before the first subsequent instruction is executed. In this way, the instructions with a dependency relationship with the retrieval result of the first retrieval instruction and the first subsequent instruction can be executed in parallel. At the same time, since the dependent process and the dependent amino acid sequence database are one-to-one corresponding, multiple dependent processes can be executed in parallel.
[0044] Refer to the following Figure 2B and Figure 2CHere we will introduce in detail the process of homology search using the first amino acid sequence search tool.
[0045] Figure 2B A schematic diagram of a process for performing homology search using a first amino acid sequence search tool provided in an embodiment of the present application is shown.
[0046] Figure 2C Another schematic diagram of a homology search using a first amino acid sequence search tool provided in an embodiment of the present application is shown.
[0047] like Figure 2B and 2C As shown, the first process executes the first search instruction, the first extension instruction, the first comparison instruction, the first filtering instruction and the first result conversion instruction in sequence, and the first search instruction is executed to obtain the search state parameter. The third process (i.e., the first dependent process) executes the third search instruction, the third extension instruction, the third comparison instruction, the third filtering instruction and the third result conversion instruction in sequence, wherein the third search instruction depends on the search result of the first search instruction, then the third search instruction executed in the first dependent process can be executed at the earliest after the first search instruction is executed and before the first subsequent instruction is executed. The fourth process (i.e., the second dependent process) executes the fourth search instruction and the conversion instruction in sequence, the conversion instruction depends on the search result of the first search instruction, and the conversion instruction executed in the second dependent process can be executed at the earliest after the first search instruction is executed and before the first subsequent instruction is executed. It is understandable that the execution of the conversion instruction in the second dependent process must of course be carried out after the execution of the instruction before the conversion instruction in the second dependent process is completed.
[0048] Figure 2B It shows the situation where the instructions of the first dependent process and the second dependent process are executed as early as possible. Figure 2C It shows that the instructions of the first dependent process are executed as early as possible, and the instructions of the second dependent process are executed as early as possible. Figure 2B Even so, Figure 2B and Figure 2C The total execution time is consistent because Figure 2B and Figure 2C In the example, the completion time of the first dependent process determines the overall completion time. As long as the execution end time of each instruction in the second dependent process can be ensured to be earlier than that of the first dependent process, the execution end time of each instruction in the second dependent process will not affect the overall completion time. Therefore, the completion time of each instruction in each process can be further analyzed in step 100 to determine the start time of the instruction in each process.
[0049] In addition, the above-mentioned second dependent process is not only to execute the fourth search instruction and the conversion instruction in sequence, but also to execute the fourth search instruction, the fourth extension instruction, the fourth comparison instruction, the fourth filtering instruction, and the fourth result conversion instruction in sequence, wherein only the fourth filtering instruction may depend on the search result of the first search instruction, and the fourth search instruction, the fourth extension instruction, and the fourth comparison instruction are not dependent on the search result of the first search instruction. Then, the fourth search instruction, the fourth extension instruction, and the fourth comparison instruction in the second dependent process may be executed simultaneously with the first search instruction or before the first search instruction. Then, the fourth filtering instruction executed in the second dependent process may be executed at the earliest after the first search instruction is executed and before the first subsequent instruction is executed. It is understandable that the execution of the fourth filtering instruction in the second dependent process must of course be carried out after the execution of the instruction before the filtering instruction in the second dependent process is completed.
[0050] It is understandable that the retrieval result of the first retrieval instruction may be not only relied upon by other dependent processes, but also relied upon by the first subsequent instruction in the first process. Exemplarily, the retrieval result of the first retrieval instruction may include multiple components, a portion of which is relied upon by the first subsequent instruction in the first process, and a portion of which is relied upon by other dependent processes. For dependent processes, one or more instructions in the dependent process may be dependent on the retrieval result of the first retrieval instruction, for example, the retrieval instruction and one subsequent instruction are dependent on the retrieval result of the first retrieval instruction, and both subsequent instructions are dependent on the retrieval result of the first retrieval instruction. Normally, when determining when an instruction in a dependent process is executed, only the first executed instruction in a dependent process that is dependent on the retrieval result of the first retrieval instruction is considered.
[0051] In step S103, the independent search result is the result obtained by using the first amino acid sequence search tool to perform a homology search on the first amino acid sequence database, and the dependent search result is the result obtained by using the first amino acid sequence search tool to perform a homology search on at least one dependent amino acid sequence database. Both search results are obtained by using the first amino acid sequence search tool to perform a homology search, but the amino acid sequence databases searched are different. The two search results are integrated to obtain the first amino acid multiple sequence alignment result corresponding to the amino acid sequence to be compared. The integration method can be, for example, sorting by similarity, selecting the top N with similarity greater than a threshold and / or the highest as the first amino acid multiple sequence alignment result.
[0052] In the embodiment of the present application, the dependency relationship between the instructions executed by the processes corresponding to each amino acid sequence database is parsed, and the homology search speed is improved by using a method of performing instruction-level parallel search on multiple amino acid sequence libraries with dependency relationships, that is, first using a first amino acid sequence search tool to perform homology search on the first amino acid sequence database, and before obtaining independent search results, using the first amino acid sequence search tool to perform homology search on at least one dependent amino acid sequence database in parallel to improve the search speed. The problem of low search efficiency caused by using a serial search method to perform amino acid sequence search in the existing amino acid sequence search is avoided.
[0053] In an optional embodiment, the search result of the first search instruction includes a search status parameter (profileresult), at least one dependent amino acid sequence database includes a third amino acid sequence database and a fourth amino acid sequence database, at least one dependent process includes a third process and a fourth process, the first amino acid sequence search tool uses the third process to perform a homology search on the third amino acid sequence database, the first amino acid sequence search tool uses the fourth process to perform a homology search on the fourth amino acid sequence database, the third process includes a third search instruction and at least one third subsequent instruction executed sequentially, the fourth process includes a fourth search instruction and at least one fourth subsequent instruction executed sequentially, in the instructions executed by the third process, at least the third search instruction has a dependency relationship with the search result of the first search instruction, and in the instructions executed by the fourth process, at least the fourth subsequent instruction has a dependency relationship with the search result of the first search instruction; step S101 includes: starting the third process after the first search instruction is executed and before the at least one first subsequent instruction is executed, and using the search status parameter as an input for executing the third search instruction in the third process; starting the fourth process and executing the fourth search instruction, and using the search status parameter as an execution parameter of the fourth subsequent instruction in the fourth process after the first search instruction is executed and before the at least one first subsequent instruction is executed.
[0054] It should be noted that the first process, the third process, and the fourth process are only used to illustrate that they are different processes, and do not mean that there must be four or more processes in the running program.
[0055] It is understandable that, of course, there may be a situation where the third process and the fourth process are all search instructions, all subsequent instructions, or all search instructions and subsequent instructions that have a dependency relationship with the search result of the first search instruction, but this embodiment is intended to illustrate that the instructions executed by the third process and the fourth process both include search instructions and subsequent instructions, and the first instruction (i.e., the first instruction executed) that has a dependency relationship with the search result of the first search instruction in the third process is a search instruction (the third process that has a dependency relationship with the search result of the first search instruction must include the search instruction, and may also include subsequent instructions at the same time), and the first instruction (i.e., the first instruction executed) that has a dependency relationship with the search result of the first search instruction in the fourth process is a subsequent instruction. In this embodiment, the search instruction in the third process is called the third search instruction. Since usually a process only includes one search instruction, the third search instruction is also the search instruction that has a dependency relationship with the search result of the first search instruction. There may be one or more subsequent instructions in the fourth process, and the subsequent instruction in the fourth process that has a dependency relationship with the search result of the first search instruction is called the fourth subsequent instruction.
[0056] Here, the search status parameter may refer to a summary search result representing the search status in the first amino acid sequence database obtained after the first search instruction is executed. Searching other databases based on the search status parameter can improve the search efficiency and accuracy.
[0057] Wherein, taking the first amino acid sequence search tool to search the first amino acid sequence database, the third amino acid sequence database, and the fourth amino acid sequence database as an example, the first amino acid sequence database may be Uniref30, the third amino acid sequence database may refer to bfd, and the fourth amino acid sequence database may refer to pdb70. It is understandable that the first amino acid sequence database, the third amino acid sequence database, and the fourth amino acid sequence database are intended to indicate that the three are different databases, and do not mean that the first search tool needs to search more than four databases.
[0058] Since the third search instruction can only be executed by using the search state parameter, the third process can be started after the first search instruction is executed and before the execution of at least one first subsequent instruction is completed, so as to execute the third search instruction by using the search state parameter obtained after the execution of the first search instruction. It should be noted that the third process can be started after the execution of the first search instruction is completed and before the execution of at least one first subsequent instruction is completed, and the third search instruction can be immediately executed by the third process.
[0059] Exemplarily, the fourth process for homology search of the fourth amino acid sequence database can be started at the same time as the first process is started, that is, the start of the fourth process does not depend on the execution result of the first search instruction. After starting the fourth process, the fourth search instruction is first executed (or, the fourth search instruction and other subsequent instructions to be executed before the fourth subsequent instruction are executed), and then the fourth subsequent instruction is executed, which is equivalent to the first search instruction and the fourth search instruction (and other subsequent instructions before the fourth subsequent instruction) being executed simultaneously. It is understandable that the simultaneous here does not refer to absolute synchronization in time. However, since the execution of the fourth subsequent instruction needs to rely on the search state parameter, it is necessary to accurately control the execution end time 1 of the first search instruction and the execution end time 2 of the fourth search instruction (and other subsequent instructions before the fourth subsequent instruction). If the execution end time 1 and the execution end time 2 are not synchronized, it may be necessary to wait for both to be executed to end, so as to obtain the search state parameter, and pass the search state parameter as an execution parameter to the fourth subsequent instruction to start executing the fourth subsequent instruction. Exemplarily, the fourth subsequent instruction may refer to the fourth conversion instruction (for example, the instruction executed by the fourth process at this time includes the search instruction-conversion instruction). Figure 2B 2 illustrates a situation where, when the fourth subsequent instruction is a conversion instruction, the fourth process is started at the same time as the first process or earlier than the first process, and the first dependent process and the second dependent process can be regarded as the third process and the fourth process, respectively.
[0060] In an optional embodiment, the search result of the first search instruction includes a search state parameter, at least one dependent amino acid sequence database includes a third amino acid sequence database and a fourth amino acid sequence database, at least one dependent process includes a third process and a fourth process, the first amino acid sequence search tool uses the third process to perform a homology search on the third amino acid sequence database, and the first amino acid sequence search tool uses the fourth process to perform a homology search on the fourth amino acid sequence database, the third process includes a third search instruction and at least one third subsequent instruction executed sequentially, the fourth process includes a fourth search instruction and at least one fourth subsequent instruction executed sequentially, in the instructions executed by the third process, at least the third search instruction has a dependency relationship with the search result of the first search instruction, and in the instructions executed by the fourth process, at least the fourth subsequent instruction has a dependency relationship with the search result of the first search instruction; step S101 includes: starting the third process after the first search instruction is executed and before the at least one first subsequent instruction is executed, and using the search state parameter as an input for executing the third search instruction in the third process; starting the fourth process after the first search instruction is executed and before the at least one first subsequent instruction is executed, and using the search state parameter as an execution parameter of the fourth subsequent instruction in the fourth process.
[0061] Specifically, the fourth process of performing homology search on the fourth amino acid sequence database may be started after the first search instruction is executed and before at least one first subsequent instruction is executed, that is, the start of the fourth process depends on the completion of the first search instruction. When the first search instruction is executed and the search state parameter is obtained, the fourth process is started. After the fourth process is started, the fourth search instruction and the subsequent instructions before the fourth subsequent instruction are executed immediately, and then the search state parameter is used as the execution parameter of the fourth subsequent instruction in the fourth process. In this way, the third process and the fourth process can be started at the same time after the first search instruction is executed, avoiding the precise control of the execution end time 1 and the execution end time 2. Figure 2C FIG. 4 illustrates a situation in which when the fourth subsequent instruction is a conversion instruction, the fourth process and the third process are both started after the first search instruction of the first process is executed.
[0062] The following is an explanation of the functions of the instructions mentioned above. Retrieval instructions: usually executed before the start of the alignment, using a search algorithm (such as BLAST) to find sequences similar to the input sequence in the amino acid sequence database. Retrieval can help quickly find possible sequence matches as the starting point for subsequent alignments. Extension instructions: In the pre-screening alignment step, short k-mer fragments can be used to establish similarities between sequences. By expanding these preliminary alignments, the accuracy and completeness of the alignment results can be improved to a certain extent. Alignment instructions: It is the core step of multiple sequence alignment, using a specific alignment algorithm (such as iterative alignment algorithm) to align sequences. The alignment algorithm optimizes the alignment model and parameters based on the previous pre-screening alignment results or other information to maximize the accuracy of the alignment. Filtering instructions: After the alignment is completed, the result filtering step is required. Since the alignment may produce some inaccurate or low-quality alignments, these results can be deleted or marked from the final alignment results through filtering operations. Result conversion instructions: This step converts the alignment results into the standard format of multiple sequence alignment for further analysis and interpretation. The generated multiple sequence alignment results can contain information such as the positions of highly similar sequences, fragment insertions and deletions. Conversion instructions: Convert the alignment results to different formats or standards for subsequent analysis and use. Through conversion, the alignment results can be converted from the original alignment format to a commonly used multiple sequence alignment format (such as FASTA, Clustal, etc.), or to other required data types. The converted alignment results can be more conveniently visualized, analyzed, annotated, or integrated with other tools.
[0063] It can be seen that when performing homology search on at least one dependent amino acid sequence database, there is no need to wait for the final independent search result to be obtained before successively starting the third process and the fourth process. The opening of the third process and the fourth process only needs to rely on the intermediate result of the first process, that is, it only needs to rely on the execution result of the first search instruction. This means that after the first search instruction is executed, the third amino acid sequence database and the fourth amino acid sequence database can be searched in parallel. In the case where the completion time of the fourth process affects the overall completion time, the efficiency of the homology search can be further improved.
[0064] Refer to the following Figure 3 To introduce the specific process of determining the final amino acid multiple sequence alignment results. Figure 3 A flow chart for determining the final amino acid multiple sequence alignment result provided in the examples of the present application is shown.
[0065] like Figure 3 As shown, the method also includes: step S104, while using the first amino acid sequence search tool to perform a homology search on the first amino acid sequence database, using the second amino acid sequence search tool to perform a homology search on the second amino acid sequence database to obtain a second amino acid multiple sequence alignment result corresponding to the amino acid sequence to be compared.
[0066] Step S105, determining a final amino acid multiple sequence alignment result corresponding to the amino acid sequence to be aligned according to the first amino acid multiple sequence alignment result and the second amino acid multiple sequence alignment result.
[0067] Among them, the second amino acid sequence search tool uses the second process to perform homology search on the second amino acid sequence database, the search accuracy of the second amino acid sequence search tool is higher than the search accuracy of the first amino acid sequence search tool, and the instructions in the second process are independent of the execution results of the instructions in the first process and the execution results of the instructions in the dependent process.
[0068] It is understandable that, to ensure the accuracy of the comparison, multiple amino acid sequence search tools can be used simultaneously for searching, and the amino acid sequence database searched by the second amino acid sequence search tool and the first amino acid sequence search tool can be the same or different. Exemplarily, the second amino acid sequence database can be the Uniprot database.
[0069] Exemplarily, the second amino acid sequence search tool may refer to a tool with high homology search accuracy and which searches only a single amino acid sequence database, and the search accuracy of the second amino acid sequence search tool is higher than that of the first amino acid sequence search tool.
[0070] Exemplarily, the first amino acid sequence search tool and the second amino acid sequence search tool can be selected from common amino acid sequence search tools such as JackHMMER, HHBlits, and HMMSearch.
[0071] The second process may refer to the process used by the second amino acid sequence search tool when performing a homology search on the second amino acid sequence database, which may be one or more. When there are multiple second processes, one main process may be included. The second process includes a second search instruction and at least one second subsequent instruction, and the second process first executes the second search instruction and then executes at least one second subsequent instruction. The instructions in the second process are independent of the execution results of the instructions in the first process and the execution results of the instructions in the dependent process, that is, the execution of the instructions in the second process is independent of the search results of the first amino acid sequence search tool and does not depend on the intermediate results or final results of the first amino acid sequence search tool.
[0072] In the embodiment of the present application, in order to further improve the speed and accuracy of homology search, parallel search is performed in two dimensions. One dimension is the instruction-level parallel search between the dependent amino acid sequence library and the dependent amino acid sequence database, and the other dimension is the tool-dimensional parallel search using the first amino acid sequence search tool and the second amino acid sequence search tool, which can further improve the accuracy of the search results without increasing the search time.
[0073] Specifically, the amino acid sequence to be compared can be input into a second amino acid sequence search tool, and in response to a start search instruction, a second retrieval instruction and at least one second subsequent instruction are executed to obtain a second amino acid multiple sequence comparison result, and then the first amino acid multiple sequence comparison result and the second amino acid multiple sequence comparison result are combined to determine the final amino acid multiple sequence comparison result.
[0074] After disassembling the existing search process, the inventors found that in the existing homologous sequence search method, the search of different amino acid sequence databases is performed serially, and the total time consumption of the serial homologous sequence search method is the sum of the individual search durations corresponding to the different amino acid sequence databases. After adopting the parallel search method of two dimensions in the embodiment of the present application, the total time consumption of the homology search is equal to the maximum duration of multiple individual search durations corresponding to different amino acid sequence search tools.
[0075] Refer to the following Figure 4 Hereinafter, the specific process of searching the second amino acid sequence database will be introduced. Figure 4 A flowchart of performing homology search on a second amino acid sequence database provided in an embodiment of the present application is shown.
[0076] like Figure 4As shown, step S104 includes: S1041, before or when the search starts, the index file of the second amino acid sequence database is segmented once to obtain the segmentation result. The segmentation result includes the meta information (meta information is used to describe the index file attribute information) of each task block obtained by segmentation (the task block is the sub-index file obtained by segmenting the index file). S1042, according to the meta information of each task block, the database part corresponding to each task block is obtained in parallel, and the database part is searched.
[0077] Specifically, in order to further improve the search speed, the embodiment of the present application has accelerated the processing of the second amino acid sequence search tool itself. Taking the second amino acid sequence search tool as JackHMMER as an example, although JackHMMER itself has been extended by multi-threading and multi-process (Multiple Process Interface, MPI) technology to expand performance, the CPU still cannot be fully effectively utilized in the case of multi-core, and the speed cannot be further improved after the CPU is expanded to eight cores. The problem is that a master node needs to allocate task blocks one by one for all working nodes when each task block is executed. Each time a working node asks for a task block, the master node needs to recalculate the starting address of the next data block, the number of sequences included, and the length and other information, resulting in a large number of working nodes. When the number of master nodes is large, the problem of low efficiency in task block allocation.
[0078] For step S1041, in order to reduce the amount of calculation of the master node and improve the efficiency of task block allocation, the embodiment of the present application performs a one-time segmentation process on the second amino acid sequence database before or when the search starts, and divides the search task into multiple task blocks according to the index file of the second amino acid sequence database, each task block is represented by the meta information corresponding to the task block, and the meta information of each task block records the starting address, length and number of amino acids of the task block. The segmentation process can be performed by the main process or the main thread, and the main process or the main thread can correspond to the main node. Exemplarily, before executing step 1041, a CPU is selected from the multi-core CPU as the main node, that is, the Master node.
[0079] For step S1042, according to the meta information of each task block, the database part corresponding to each task block is obtained in parallel, and the database part is searched. Obtaining and searching the database part can be performed by a work process or a work thread, and the work process or the work thread can correspond to a work node. Exemplarily, before executing step S1042, other CPUs except the main node can be selected as work nodes, that is, Worker nodes. It is understandable that the second process can include all work processes or work threads.
[0080] Refer to the following Figure 5Next, we will introduce the specific process of searching by the second amino acid sequence search tool. Figure 5 A schematic diagram showing the search process of the second amino acid sequence search tool provided in the embodiment of the present application is shown, Figure 5 As shown, step S104 also includes:
[0081] Step S1043: The master node randomly shuffles the meta-information of each task block and rearranges it, and distributes the rearranged meta-information to multiple working nodes in a load-balanced manner.
[0082] In order to ensure load balance among different working nodes and avoid the long-tail effect, the control master node randomly shuffles and rearranges the metadata of each task block, and evenly distributes the rearranged metadata to each working node, so that each working node searches according to the allocated metadata.
[0083] Step S1044: Load the database file of the second amino acid sequence database to the shared storage of multiple working nodes through the master node.
[0084] Exemplarily, step S1044 may be executed before the second amino acid sequence search tool starts searching, or may be executed in response to receiving a database file acquisition request from a working node.
[0085] Exemplarily, the shared storage of the working nodes may be a shared memory.
[0086] The database file corresponding to the second amino acid sequence database is loaded into the shared storage corresponding to the multiple working nodes, so that each working node obtains the target database part from the shared storage and performs a fast search on the target database part.
[0087] Step S104 also includes S1045, where the master node aggregates the search results sent by the multiple working nodes to obtain a second amino acid multiple sequence alignment result. It is understandable that the master node may aggregate once each time it receives a search result corresponding to a piece of meta information sent by a working node.
[0088] Refer to the following Figure 6 This section introduces the specific process of search processing by the working node. Figure 6 A flowchart of search processing performed by a working node provided in an embodiment of the present application is shown.
[0089] like Figure 6 As shown, step S1042 also includes steps S1042a, S1042b, and S1042c. Each working node performs the following processing to execute step S1042, including:
[0090] S1042a, receiving the allocated meta information, and taking the first meta information in the received meta information as the target meta information;
[0091] The received meta information may be arranged in the order in which it is received or in another order.
[0092] S1042b, according to the offset and length included in the target meta information, obtain the target database portion corresponding to the target meta information from the shared storage, search the target database portion to obtain the search result corresponding to the target meta information, and send the search result to the master node;
[0093] S1042c, selecting the next meta-information of the target meta-information from the received meta-information as the target meta-information, and returning to execute steps S1042b and S1042c until all the allocated meta-information is processed;
[0094] Assuming that each working node is assigned the metadata of five task blocks, when each working node searches the database part, it first uses the first metadata of the five metadata as the target metadata, and obtains the corresponding target database part from the shared storage according to the offset and length indicated by the target metadata. The working node searches the target database part to obtain the search result corresponding to the first metadata, and sends the search result to the master node to complete the search of the first task block.
[0095] Then, the next round of search is started, and the second meta-information among the five meta-information is selected as the target meta-information. The above search process is repeated for the new target meta-information to complete the second task block search. This cycle is repeated until the search of the target database parts indicated by all five meta-information is completed.
[0096] It is understandable that the numbering of the steps does not limit the execution order of the steps. For example, the execution order of step S104 may be:
[0097] Step S1041, before or when the search starts, the index file of the second amino acid sequence database is segmented once to obtain segmentation results;
[0098] Step S1043, the master node randomly shuffles the meta information of each task block and rearranges it, and distributes the rearranged meta information to multiple working nodes in a load-balanced manner;
[0099] The working node executes step S1042a, receives the allocated meta information, and uses the first meta information in the received meta information as the target meta information;
[0100] The working node initiates a request to the master node to obtain the database file;
[0101] In response to receiving the first database file acquisition request, executing step S1044, loading the database file of the second amino acid sequence database to the shared storage of the plurality of working nodes through the master node;
[0102] The working node executes step S1042b, obtains the target database portion corresponding to the target meta information from the shared storage according to the offset and length contained in the target meta information, searches the target database portion to obtain the search result corresponding to the target meta information, and sends the search result to the master node;
[0103] The working node executes step S1042c, selects the next meta information of the target meta information from the received meta information as the target meta information, and returns to execute steps S1042b and S1042c until all the assigned meta information is processed;
[0104] While steps S1042b and S1042c are being performed, step S1045 is performed, whereby the master node aggregates the search results sent by the plurality of working nodes to obtain a second amino acid multiple sequence alignment result.
[0105] By accelerating the processing of the second amino acid sequence search tool, the search time for a single amino acid sequence can be reduced linearly with the increase in the number of working nodes. For example, if a traditional second amino acid sequence search tool is used to search a single amino acid sequence of 540 in length in the second amino acid sequence database, the search time is 600 seconds. Even if the number of CPUs is increased, the search time cannot be shortened. However, when the improved second amino acid sequence search tool of the present application is used to search a single amino acid of 540 in length, the search time is only 27 seconds.
[0106] In an optional embodiment, the second amino acid multiple sequence alignment result includes multiple second result amino acid sequences and a similarity score between each second result amino acid sequence and the amino acid sequence to be aligned; based on the first amino acid multiple sequence alignment result and the second amino acid multiple sequence alignment result, a final amino acid multiple sequence alignment result corresponding to the amino acid sequence to be aligned is determined, including: sorting the multiple second result amino acid sequences according to the similarity score, selecting a preset number of second result amino acid sequences at the front as second preferred amino acid sequences; using a preset number of second preferred amino acid sequences as the second amino acid multiple sequence alignment result; and combining the first amino acid multiple sequence alignment result with the second amino acid multiple sequence alignment result as the final amino acid multiple sequence alignment result.
[0107] Specifically, the first amino acid multiple sequence alignment result includes not only multiple first result amino acid sequences, but also a similarity score corresponding to each first result amino acid sequence. The multiple first result amino acid sequences are sorted in descending order of the similarity score, and a preset number of first result amino acid sequences with high rankings are taken as first preferred amino acid sequences. These first preferred amino acid sequences are collectively taken as the first amino acid multiple sequence alignment result in order of ranking.
[0108] Similarly, the second amino acid multiple sequence alignment result includes not only multiple second result amino acid sequences, but also a similarity score corresponding to each second result amino acid sequence. The multiple second result amino acid sequences are sorted in descending order of the similarity score, and a preset number of second result amino acid sequences with high rankings are taken as second preferred amino acid sequences. These second preferred amino acid sequences are collectively taken as the second amino acid multiple sequence alignment result in order of ranking.
[0109] Finally, the first amino acid multiple sequence alignment result and the second amino acid multiple sequence alignment result are combined together to obtain the final amino acid multiple sequence alignment result.
[0110] It is understandable that the acceleration means for the first amino acid sequence search tool and the second amino acid sequence search tool in the embodiments of the present application can be used independently or in combination.
[0111] Based on the same inventive concept, an amino acid multiple sequence alignment device corresponding to the amino acid multiple sequence alignment method is also provided in the embodiments of the present application. Since the principle of solving the problem by the device in the embodiments of the present application is similar to the above-mentioned amino acid multiple sequence alignment method in the embodiments of the present application, the implementation of the device can refer to the implementation of the method, and the repeated parts will not be repeated.
[0112] See also Figure 7 , Figure 7 This is a schematic diagram of the structure of an amino acid multiple sequence alignment device provided in the embodiment of the present application. Figure 7 As shown in , the amino acid multiple sequence alignment device 200 comprises:
[0113] A first search module 201 is used to perform a homology search on a first amino acid sequence database using a first amino acid sequence search tool for the amino acid sequence to be compared, so as to obtain independent search results, wherein the first amino acid sequence search tool performs a homology search on the first amino acid sequence database using a first process, wherein the first process includes a first search instruction and at least one first subsequent instruction that are executed sequentially;
[0114] A dependency search module 202 is used to perform a homology search on at least one dependent amino acid sequence database using a first amino acid sequence search tool for the amino acid sequence to be compared, so as to obtain at least one dependent search result corresponding one-to-one to the at least one dependent amino acid sequence database, wherein the first amino acid sequence search tool uses at least one dependent process corresponding one-to-one to the at least one dependent amino acid sequence database to perform a homology search on the dependent amino acid sequence database, wherein at least one instruction in each dependent process has a dependency relationship with the search result of the first search instruction, and the instruction having a dependency relationship with the search result of the first search instruction starts to be executed after the first search instruction is executed and before the execution of at least one first subsequent instruction is completed;
[0115] The comparison result determination module 203 determines the first amino acid multiple sequence comparison result corresponding to the amino acid sequence to be compared according to the independent search result and the dependent search result.
[0116] See also Figure 8 , Figure 8 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. Figure 8 As shown in , the electronic device 300 includes a processor 310 , a memory 320 and a bus 330 .
[0117] The memory 320 stores machine-readable instructions executable by the processor 310. When the electronic device 300 is running, the processor 310 communicates with the memory 320 via the bus 330. When the machine-readable instructions are executed by the processor 310, the above-mentioned Figure 1 The specific implementation of the steps of the amino acid multiple sequence alignment method in the method embodiment shown can be found in the method embodiment, which will not be repeated here.
[0118] The present application also provides a computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, the computer program can execute the above-mentioned Figure 1 The specific implementation of the steps of the amino acid multiple sequence alignment method in the method embodiment shown can be found in the method embodiment, which will not be repeated here.
[0119] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0120] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. The device embodiments described above are merely schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some communication interfaces, and the indirect coupling or communication connection of devices or units can be electrical, mechanical or other forms.
[0121] 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 on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0122] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0123] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a non-volatile computer-readable storage medium that is executable by a processor. Based on this understanding, the technical solution of the present application can essentially be embodied in the form of a software product, or in other words, the part that contributes to the prior art or the part of the technical solution. The computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0124] Finally, it should be noted that the above-described embodiments are only specific implementation methods of the present application, which are used to illustrate the technical solutions of the present application, rather than to limit them. The protection scope of the present application is not limited thereto. Although the present application is described in detail with reference to the above-mentioned embodiments, ordinary technicians in the field should understand that any technician familiar with the technical field can still modify the technical solutions recorded in the above-mentioned embodiments within the technical scope disclosed in the present application, or can easily think of changes, or make equivalent replacements for some of the technical features therein; and these modifications, changes or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application, and should be included in the protection scope of the present application. Therefore, the protection scope of the present application shall be based on the protection scope of the claims.
Claims
1. A method for multiple amino acid sequence alignment, characterized in that: include: For the amino acid sequence to be compared, a first amino acid sequence search tool is used to perform a homology search on a first amino acid sequence database to obtain an independent search result, wherein the first amino acid sequence search tool uses a first process to perform a homology search on the first amino acid sequence database, and the first process includes a first search instruction and at least one first subsequent instruction that are executed sequentially; For the amino acid sequence to be compared, use the first amino acid sequence search tool to perform homology search on at least one dependent amino acid sequence database to obtain at least one dependent search result corresponding one-to-one to at least one dependent amino acid sequence database, the first amino acid sequence search tool uses at least one dependent process corresponding one-to-one to at least one dependent amino acid sequence database to perform homology search on the dependent amino acid sequence database, at least one instruction in each of the dependent processes has a dependency relationship with the search result of the first search instruction, and the instructions having a dependency relationship with the search result of the first search instruction are executed after the first search instruction is executed and before the execution of at least one of the first subsequent instructions is completed; According to the independent search results and the dependent search results, a first amino acid multiple sequence alignment result corresponding to the amino acid sequence to be aligned is determined.
2. The method according to claim 1, characterized in that The method further comprises: While using the first amino acid sequence search tool to perform homology search on the first amino acid sequence database, using the second amino acid sequence search tool to perform homology search on the second amino acid sequence database to obtain a second amino acid multiple sequence alignment result corresponding to the amino acid sequence to be compared; Determining a final amino acid multiple sequence alignment result corresponding to the amino acid sequence to be aligned according to the first amino acid multiple sequence alignment result and the second amino acid multiple sequence alignment result; Among them, the second amino acid sequence search tool uses a second process to perform homology search on the second amino acid sequence database, the search accuracy of the second amino acid sequence search tool is higher than the search accuracy of the first amino acid sequence search tool, and the instructions in the second process are independent of the execution results of the instructions in the first process and the execution results of the instructions in the dependent process.
3. The method according to claim 1, characterized in that The search result of the first search instruction includes a search status parameter, the at least one dependent amino acid sequence database includes a third amino acid sequence database and a fourth amino acid sequence database, the at least one dependent process includes a third process and a fourth process, the first amino acid sequence search tool uses the third process to perform a homology search on the third amino acid sequence database, and the first amino acid sequence search tool uses the fourth process to perform a homology search on the fourth amino acid sequence database, the third process includes a third search instruction and at least one third subsequent instruction executed sequentially, the fourth process includes a fourth search instruction and at least one fourth subsequent instruction executed sequentially, among the instructions executed by the third process, at least the third search instruction has a dependency relationship with the search result of the first search instruction, and among the instructions executed by the fourth process, at least the fourth subsequent instruction has a dependency relationship with the search result of the first search instruction; Using the first amino acid sequence search tool to perform homology search on at least one dependent amino acid sequence database to obtain at least one dependent search result corresponding to at least one dependent amino acid sequence database, comprising: After the first search instruction is executed and before at least one of the first subsequent instructions is executed, the third process is started, and the search state parameter is used as input for executing the third search instruction in the third process; The fourth process is started and the fourth search instruction is executed. After the first search instruction is executed and before at least one of the first subsequent instructions is executed, the search state parameter is used as an execution parameter of the fourth subsequent instruction in the fourth process.
4. The method according to claim 1, characterized in that: The search result of the first search instruction includes a search status parameter, the at least one dependent amino acid sequence database includes a third amino acid sequence database and a fourth amino acid sequence database, the at least one dependent process includes a third process and a fourth process, the first amino acid sequence search tool uses the third process to perform a homology search on the third amino acid sequence database, and the first amino acid sequence search tool uses the fourth process to perform a homology search on the fourth amino acid sequence database, the third process includes a third search instruction and at least one third subsequent instruction executed sequentially, the fourth process includes a fourth search instruction and at least one fourth subsequent instruction executed sequentially, among the instructions executed by the third process, at least the third search instruction has a dependency relationship with the search result of the first search instruction, and among the instructions executed by the fourth process, at least the fourth subsequent instruction has a dependency relationship with the search result of the first search instruction; Using the first amino acid sequence search tool to perform homology search on at least one dependent amino acid sequence database to obtain at least one dependent search result corresponding to at least one dependent amino acid sequence database, comprising: After the first search instruction is executed and before at least one of the first subsequent instructions is executed, the third process is started, and the search state parameter is used as input for executing the third search instruction in the third process; After the first search instruction is executed and before at least one of the first subsequent instructions is executed, the fourth process is started, and the search state parameter is used as an execution parameter of the fourth subsequent instruction in the fourth process.
5. The method according to claim 2, characterized in that: The method of using a second amino acid sequence search tool to perform a homology search on a second amino acid sequence database to obtain a second amino acid multiple sequence alignment result includes: Before or when the search starts, the index file of the second amino acid sequence database is segmented once to obtain a segmentation result, wherein the segmentation result includes meta information of each task block obtained by the segmentation; According to the meta information of each task block, the database part corresponding to each task block is obtained in parallel, and the database part is searched.
6. The method according to claim 5, characterized in that The method further comprises: The master node randomly shuffles the meta information of each task block and rearranges it, and distributes the rearranged meta information to multiple working nodes in a load-balanced manner; Loading the database file of the second amino acid sequence database to the shared storage of the plurality of working nodes through the master node; Each working node performs the following processing to obtain the database part corresponding to each task block in parallel according to the meta information of each task block, and search the database part: receiving the allocated meta-information, and taking the first meta-information among the received meta-information as the target meta-information; According to the offset and length contained in the target meta information, the target database portion corresponding to the target meta information is obtained from the shared storage, the target database portion is searched to obtain the search result corresponding to the target meta information, and the search result is sent to the master node; Selecting the next meta-information of the target meta-information from the received meta-information as the target meta-information, and returning to execute the step of obtaining the target database portion corresponding to the target meta-information from the shared storage according to the offset and length contained in the target meta-information, until all the allocated meta-information is processed; The search results sent by the multiple working nodes are aggregated by the master node to obtain the second amino acid multiple sequence alignment result.
7. The method according to any one of claims 2, 5 and 6, characterized in that: The second amino acid multiple sequence alignment result includes a plurality of second result amino acid sequences and a similarity score between each second result amino acid sequence and the amino acid sequence to be aligned; Determining a final amino acid multiple sequence alignment result corresponding to the amino acid sequence to be aligned according to the first amino acid multiple sequence alignment result and the second amino acid multiple sequence alignment result comprises: sorting the plurality of second result amino acid sequences according to the similarity scores, and selecting a preset number of second result amino acid sequences that are ranked at the front as second preferred amino acid sequences; Using the preset number of second preferred amino acid sequences as the second amino acid multiple sequence alignment result; The first amino acid multiple sequence alignment result and the second amino acid multiple sequence alignment result are combined together as the final amino acid multiple sequence alignment result.
8. An amino acid multiple sequence alignment device, characterized in that: include: A first search module, for performing a homology search on a first amino acid sequence database using a first amino acid sequence search tool for the amino acid sequence to be compared, to obtain independent search results, wherein the first amino acid sequence search tool performs a homology search on the first amino acid sequence database using a first process, wherein the first process includes a first search instruction and at least one first subsequent instruction that are executed sequentially; A dependency search module, for performing a homology search on at least one dependent amino acid sequence database using the first amino acid sequence search tool for the amino acid sequence to be compared, so as to obtain at least one dependent search result corresponding one-to-one to the at least one dependent amino acid sequence database, wherein the first amino acid sequence search tool uses at least one dependent process corresponding one-to-one to the at least one dependent amino acid sequence database to perform a homology search on the dependent amino acid sequence database, wherein at least one instruction in each of the dependent processes has a dependency relationship with the search result of the first search instruction, and the instructions having a dependency relationship with the search result of the first search instruction are executed after the first search instruction is executed and before the execution of at least one of the first subsequent instructions is completed; The comparison result determination module determines a first amino acid multiple sequence comparison result corresponding to the amino acid sequence to be compared according to the independent search result and the dependent search result.
9. An electronic device, characterized in that: include: A processor, a storage medium and a bus, wherein the storage medium stores machine-readable instructions executable by the processor, and when the electronic device is running, the processor and the storage medium communicate via the bus, and the processor executes the machine-readable instructions to perform the steps of the amino acid multiple sequence alignment method as described in any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the amino acid multiple sequence alignment method according to any one of claims 1 to 7 are performed.