Automatic generation method of biological information data analysis process, medium and equipment
通过自动生成生物信息数据分析流程,解决了生物信息数据分析流程的专业性和效率低的问题,实现了用户自动生成分析流程,提高了效率和降低了成本。
Patent Information
- Application Number
- CN202310690482.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-06-12
- Publication Date
- 2024-12-13
AI Technical Summary
The professionalism of the bioinformatics data analysis process has led to the delay of research and clinical work progress, and professionals are trapped in repetitive labor and are difficult to be creative, and ordinary biological and medical workers cannot implement the analysis process on their own.
It provides an automatic generation method for bioinformatics data analysis process. By obtaining user data, providing matching result output modules, detecting and connecting pre- and condition modules, automatically generating analysis processes, reducing labor costs and improving efficiency.
It realizes automatic generation of analysis processes based on user needs, improves the efficiency of bioinformatics data analysis, reduces labor costs, and reduces dependence on professional student personnel.
Smart Images

Figure CN119132423A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of bioinformatics technology, and in particular to a method, medium and device for automatically generating a bioinformatics data analysis process. Background Art
[0002] Since 2007, the second-generation massively parallel sequencing technology has developed extremely rapidly, opening up a new path for humans to have a deeper understanding of many major life science topics such as genetic diseases, cancer, biological evolution, and physiological characteristics. However, the large amount of bioinformatics data, short sequencing length, and sensitivity to repetitive segments and low-quality sequences also bring huge challenges to the corresponding data analysis process. At present, to analyze bioinformatics data, experienced bioinformatics personnel (hereinafter referred to as bioinformatics personnel) need to specially develop corresponding analysis processes and reasonably set various parameters to eliminate noise errors in the data and produce correct results. These results will then need to go through a series of analysis processes to form conclusions such as graphics and tables that can be understood by ordinary biological and medical workers (hereinafter referred to as ordinary biological and medical workers) who do not have a deep bioinformatics knowledge background.
[0003] Due to the professionalism of the bioinformatics data analysis process, its writing, modification and maintenance can only rely on bioinformatics personnel, which can easily hinder related research and clinical work: on the one hand, some research institutions and hospitals do not have the budget to maintain professional bioinformatics personnel, so the relevant data analysis process must cooperate with external institutions, which greatly reduces the response speed and causes research and clinical work progress to be delayed. At the same time, communication barriers can easily cause bioinformatics personnel to be unable to provide appropriate processes and results according to the researchers' ideas; on the other hand, professional bioinformatics personnel are trapped in repetitive work such as maintenance and modification of analysis processes, and it is difficult for them to use their abilities to engage in more creative bioinformatics research.
[0004] In order to solve the above difficulties, in recent years, many institutions have begun to build low-code bioinformatics process development platforms. These platforms can provide analysis methods encapsulated as modules, and can graphically connect these modules in series to form a flowchart. The platform itself then implements the analysis process according to the flowchart and controls the operation of the process and the output results. This type of platform has greatly reduced the workload of bioinformatics personnel in developing and maintaining analysis processes, and has achieved certain results. However, even if a graphical visual method is used to build the analysis process, bioinformatics personnel are still required to add and delete modules. Ordinary biological and medical workers still cannot implement the analysis process according to their own research ideas. Summary of the invention
[0005] In order to solve at least one of the technical problems mentioned in the background technology, the purpose of the present invention is to provide a method, medium and device for automatically generating a bioinformatics data analysis process, which can automatically generate an analysis process according to user needs, improve the analysis efficiency of bioinformatics data, and reduce labor costs.
[0006] To achieve the above object, the present invention provides the following technical solutions: In a first aspect, an embodiment of the present invention provides a method for automatically generating a bioinformatics data analysis process, comprising: S101, obtaining biometric information data provided by a user; S102, providing a result output module that matches the data type according to the data type of the bioinformation data, and providing an output example of each result output module for selection by the user; S103, adding several result output modules selected by the user as target modules to the module library; S104, for each target module, detect whether there is a pre-module; if there are one or more pre-modules, add all pre-modules that are not in the module library to the module library, and connect the added pre-modules to the target module in a front-to-back order; then detect whether there is a conditional module in the target module; if there are one or more conditional modules, add all conditional modules that are not in the module library to the module library, and connect the target module to the added conditional modules respectively; S105, taking the pre-module and conditional module added in S104 as the target module, repeatedly executing S104 until no new pre-module and conditional module are added to the module library, and taking the connected process as the bioinformatics data analysis process.
[0007] Furthermore, the bioinformatics data analysis process is pre-divided into several modules according to the steps. The modules include script files, configuration files and description files, wherein the description files include module names, pre-module names, conditional module names, input channels and output channels.
[0008] Furthermore, in S104, the front-end module also includes data processing time. When the target module has multiple front-end modules, If the data types output by multiple front modules are different, then all the front modules are added to the module library, and the added front modules are connected to the target module in a front-to-back order; If the data types output by multiple front-end modules are the same, the data processing times of the multiple front-end modules are compared, and the front-end module corresponding to the shortest data processing time is selected and added to the module library, and the added front-end module is connected to the target module in a front-to-back order.
[0009] Furthermore, in S104, the conditional module is used to determine whether the data output by the target module can be analyzed in the next step. If the determination result is no, an error instruction is displayed to prompt the user that the data cannot be analyzed in the next step.
[0010] Furthermore, in S104, the step of detecting whether there is a preceding module for each target module includes: Determine whether the name of the target module's predecessor module is NULL; If the name of the predecessor module is not NULL, the target module has a predecessor module; if the name of the predecessor module is NULL, the target module does not have a predecessor module.
[0011] Furthermore, the step of connecting the front modules not in the module library to the target modules respectively includes: The output channel of the front module is connected in series with the input channel of the target module to transmit the data stream of the front module to the target module; Merge the script files and configuration files of the pre-module and the target module respectively.
[0012] Furthermore, in S104, the step of detecting whether there is a conditional module for each target module includes: Determine whether the conditional module name of the target module is NULL; If the conditional module name is not NULL, the target module has a conditional module; if the conditional module name is NULL, the target module does not have a conditional module.
[0013] Furthermore, in S104, the step of connecting the target modules to the conditional modules that are not in the module library respectively includes: The output channel of the target module is connected in series with the input channel of the conditional module to transfer the data stream of the target module to the conditional module; Merge the script files and configuration files of the target module and conditional module respectively.
[0014] In a second aspect, an embodiment of the present invention further provides a computer storage medium having a computer program stored thereon, which, when executed by a processor, implements the method for automatically generating any of the bioinformatics data analysis processes described above.
[0015] In a third aspect, an embodiment of the present invention further provides a terminal device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the method for automatically generating any bioinformatics data analysis process as described above is implemented.
[0016] Compared with the prior art, the beneficial effects of the present invention are: obtaining bioinformatics data provided by a user, providing result output modules matching the data type of the bioinformatics data for the user to select, adding several result output modules selected by the user as target modules to the module library, detecting the pre-module and conditional module of each target module, adding the pre-module and conditional module that are not in the module library to the module library, and connecting them with the target module, and then taking the added pre-module and conditional module as the target module, repeating the above operation until no new pre-module and conditional module are added to the module library, and taking the connected process as the bioinformatics data analysis process. The analysis process can be automatically generated according to the needs of the user, improving the analysis efficiency of bioinformatics data and reducing labor costs. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] Figure 1 A flow chart of a method for automatically generating a biological information data analysis process provided by an embodiment of the present invention; Figure 2 A schematic diagram of a split module provided in an embodiment of the present invention; Figure 3 A schematic diagram of the connection between the front module and the target module provided by the embodiment of the present invention; Figure 4 A schematic diagram of connecting pre-modules and target modules of different data types provided by an embodiment of the present invention; Figure 5 A schematic diagram of connecting a pre-module and a target module of the same data type provided by an embodiment of the present invention; Figure 6 A schematic diagram of the results generated by the bioinformatics data analysis process provided in an embodiment of the present invention. DETAILED DESCRIPTION
[0018] The technical solutions in the embodiments of the present invention are described clearly and completely below. 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 are within the scope of protection of the present invention.
[0019] In order to solve the above problems existing in the prior art, the embodiments of the present invention disclose a method, medium and device for automatically generating a bioinformatics data analysis process, which are described in detail below.
[0020] Embodiment 1: like Figure 1 As shown, Figure 1A flowchart of a method for automatically generating a biological information data analysis process provided by an embodiment of the present invention. The method can be applied to electronic devices such as computers and servers. For ease of description, the electronic device is used as the execution subject below.
[0021] Step S101, obtaining biometric information data provided by a user.
[0022] The user may not have a bioinformatics background, such as ordinary biological and medical workers, and the electronic device obtains the bioinformatics data and grouping information provided by the user.
[0023] The electronic device asks the user questions through a graphical interface to determine the data type of the sequencing data provided by the user. The questions include whether a single sample or multiple samples need to be analyzed, and whether paired analysis or unilateral analysis is needed, which are further divided into four categories: single sample / unilateral analysis, single sample / paired analysis, multiple samples / unilateral analysis, and multiple samples / paired analysis.
[0024] Step S102: providing a result output module that matches the data type according to the data type of the biometric information data, and providing an output example of each result output module for selection by the user.
[0025] The bioinformatics data analysis process is pre-divided into several pre-modules and several result output modules according to the steps. Each pre-module and result output module includes a script file, a configuration file and a description file, wherein the description file includes a module name, a pre-module name, a condition module name, an input channel, and an output channel. The result output module may also include a report template, an output example, and an initial data type.
[0026] like Figure 2 As shown, Figure 2 A schematic diagram of a splitting module provided in an embodiment of the present invention. The sequencing data analysis process is divided into several steps according to the software used, and each step includes a software.
[0027] For each step, write a script file and configuration file to run the software, and provide a description file for the step. The description file contains the module name, pre-module name, condition module name, input channel, output channel, report template, output example, and initial data type of the step. The description file, script file, and configuration file constitute a module for assembling the step into the process.
[0028] Several modules include a result output module, which is used to display output examples after the bioinformatics data analysis process is processed. Figure 2 As shown, Figure 2The module TMB calculation and the module SNV report are the result output modules, which are only used as examples here. In actual situations, there are many kinds of result output modules, and the present invention does not limit this. Step S102 can be subdivided into the following steps: Step S1021, for each result output module, determining whether the initial data type is consistent with the data type of the sequencing data; For each result output module, determine whether it conforms to the data type of the sequencing data based on the initial data type of the description file in the module. For example, if the user provides sequencing data and chooses to perform single sample / single-side analysis on the sequencing data, determine for each result output module whether the initial data type conforms to the single sample / single-side analysis.
[0029] Step S1022: If the data type meets the sequencing data type, an output example of the result output module is displayed for the user to select.
[0030] For example, the computer device determines that the initial data types of five result output modules are consistent with single sample / single-side analysis, and then displays output examples of these five result output modules according to the instruction files in the modules for the user to select.
[0031] Step S103: adding several result output modules selected by the user as target modules into the module library respectively.
[0032] The user browses through these five output examples, selects one or more desired output modules and submits them to the electronic device. The electronic device determines the output module selected by the user as the target module and adds it to the module library. Figure 2 The electronic device adds the module TMB calculation and the module SNV report to the module library.
[0033] Step S104, for each target module, check whether there is a preceding module; if there are one or more preceding modules, add all the preceding modules that are not in the module library to the module library, and connect the added preceding modules to the target module in a front-to-back order; then check whether there is a conditional module in the target module; if there are one or more conditional modules, add all the conditional modules that are not in the module library to the module library, and connect the target module to the added conditional modules respectively.
[0034] For module TMB calculation and module SNV report, it is detected whether there is a preceding module. The number of preceding modules can be one or more. In the embodiment of the present invention, the detection method adopts breadth-first traversal.
[0035] In S104, the step of detecting whether there is a predecessor module for each target module can be subdivided into the following steps: determining whether the predecessor module name of the target module is NULL; if the predecessor module name is not NULL, there is a predecessor module for the target module; if the predecessor module name is NULL, there is no predecessor module for the target module.
[0036] There is a prefix module name in each module description file. If there is no prefix module, the prefix module name is NULL.
[0037] For each detected pre-module, first traverse the module library to check whether it can be found. Here, the module library can use a hash table, and the search method uses hash search. The pre-modules of multiple modules may be repeated, but for the same pre-module, it only needs to be run once in the final generated process, so the repeated pre-modules will not be written into the process. Put the pre-module into the hash table, and check the hash table before adding each pre-module. If the pre-module already exists, it will not be added. In this way, duplicate pre-modules can be eliminated.
[0038] For example, if the predecessor modules of the TMB calculation module and the SNV reporting module are both the same annotation module, then the annotation module will only be written into the process once.
[0039] All the preceding modules that are not in the module library are added to the module library, and the preceding modules that are not in the module library are connected to the target modules in a front-to-back order.
[0040] It was detected that the annotation module was not in the module library, so the annotation module was connected to the TMB calculation module and the SNV reporting module respectively.
[0041] The above-mentioned step of connecting the added front-end module to the target module respectively can be subdivided into the following steps: connecting the output channel of the front-end module in series with the input channel of the target module to transmit the data stream of the front-end module to the target module; merging the script files and configuration files of the front-end module and the target module respectively.
[0042] like Figure 3 As shown, Figure 3 A schematic diagram of the connection between the front module and the target module provided in an embodiment of the present invention. The output channel of the annotation module is connected in series with the input channel of the TMB calculation module, and the output channel of the annotation module is connected in series with the input channel of the SNV reporting module. Each module can have multiple input channels and output channels, so that the data stream processed by the annotation module can flow to both the TMB calculation module and the SNV reporting module.
[0043] Merge the annotation module with the script files and configuration files of the TMB calculation module, and merge the annotation module with the script files and configuration files of the SNV reporting module.
[0044] In S104, the front module also includes data processing time. When the target module has multiple front modules, If the data types output by multiple front modules are different, then all the front modules are added to the module library, and the added front modules are connected to the target module in a front-to-back order; If the data types output by multiple front-end modules are the same, the data processing times of the multiple front-end modules are compared, and the front-end module corresponding to the shortest data processing time is selected and added to the module library, and the added front-end module is connected to the target module in a front-to-back order.
[0045] The description file of the front module also includes data processing time. Since each module is pre-divided according to steps, and each step corresponds to a software, the data processing time of the electronic device for the module can be estimated.
[0046] like Figure 4 As shown, Figure 4 A schematic diagram of connecting front modules and target modules of different data types provided by an embodiment of the present invention. Figure 4 In the example, the data types of the output data of the pre-module B and the pre-module C of the target module A are different, that is, the operation purposes of the pre-module B and the pre-module C for processing the data output by module D are different. For example, the pre-module B is an annotation operation, and the pre-module C is a comparison operation. The purposes of the two are obviously different. For the target module A, the data processing results of the pre-module B and the pre-module C are both necessary. Therefore, the pre-module B and the pre-module C must be added to the module library, and the pre-module B and the pre-module C must be connected to the target module A in the order of front to back.
[0047] like Figure 5 As shown, Figure 5 A schematic diagram of connecting a front module and a target module of the same data type provided by an embodiment of the present invention. Figure 5 In the figure, the data types of the output data of the pre-module B and the pre-module C of the target module A are the same, that is, the operation purposes of the pre-module B and the pre-module C for processing the data output by the module D are the same. For example, the pre-module B and the pre-module C are both annotation operations, but the processing time of the two is different. The processing time of the pre-module B is 15ms, while the processing time of the pre-module C is 2000ms. For the target module A, only one of the data processing results of the pre-module B and the pre-module C needs to be selected. In order to improve the data processing efficiency and reduce the network resource consumption, the pre-module B is obviously preferred. Therefore, the pre-module B is selected to be added to the module library, and the pre-module B and the target module A are connected in the front-to-back order.
[0048] In S104, the step of detecting whether there is a conditional module for each target module can be subdivided into the following steps: determining whether the conditional module name of the target module is NULL; if the conditional module name is not NULL, the conditional module exists in the target module; if the conditional module name is NULL, the conditional module does not exist in the target module.
[0049] Each module description file has a conditional module name. If there is no conditional module, the conditional module name is NULL. The conditional module is used to determine whether the data output by the target module can be analyzed in the next step. If the judgment result is no, an error instruction is displayed to prompt the user that the data cannot be analyzed in the next step.
[0050] Similarly, for each conditional module detected, first traverse the module library to check whether it can be found. The process is the same as that of detecting the pre-module, so it will not be repeated here.
[0051] All conditional modules that are not in the module library are added to the module library, and the added conditional modules are connected to the target modules respectively. For example, if it is detected that the conditional module of the data splitting module is a quality control module, the data splitting module is connected to the quality control module.
[0052] The above-mentioned step of connecting the target module to the added conditional modules respectively can be subdivided into the following steps: connecting the output channel of the target module in series with the input channel of the conditional module to transmit the data stream of the target module to the conditional module; merging the script files and configuration files of the target module and the conditional module respectively.
[0053] The output channel of the data splitting module is connected in series with the input channel of the quality control module, and the data stream processed by the data splitting module can flow to the quality control module. The script files and configuration files of the data splitting module and the quality control module are merged.
[0054] The quality control module is used to determine whether the data processed by the data splitting module meets the requirements and whether the next step of analysis can be carried out. Since the sequencing data will contain sequencing adapter sequences, low-quality reads, sequences with high uncertain base information rates, and sequences that are too short, which will seriously affect the quality of subsequent analysis, the sequencing data will be quality controlled before analysis to ensure the accuracy of subsequent analysis results. If the quality control does not meet the standards, the electronic device will be triggered to issue a command to prompt the user that the process generation has failed.
[0055] Step S105, taking each preceding module and conditional module detected in S104 that is not in the module library as the target module, repeating S104 until no new preceding modules and conditional modules are added to the module library, and taking the connected process as the bioinformatics data analysis process.
[0056] like Figure 4 As shown, Figure 4 A schematic diagram of the bioinformatics data analysis process generation result provided by an embodiment of the present invention. Take each pre-module and conditional module detected in S104 that is not in the module library as the target module, and repeat S104 until all the pre-modules and conditional modules found have been added to the module library, and the number of modules in the module library no longer changes. The connected process is the bioinformatics data analysis process. Automatically generate the analysis process according to the user's needs, improve the analysis efficiency of bioinformatics data, no longer rely on professionals with bioinformatics background, and reduce labor costs.
[0057] Embodiment 2: Corresponding to the embodiment of the method for automatically generating a biological information data analysis process, the embodiment of the present invention further provides a computer storage medium on which a computer program is stored, and when the program is executed by a processor, it implements any of the above-mentioned methods for automatically generating a biological information data analysis process.
[0058] Embodiment three: Corresponding to the embodiment of the method for automatically generating a bioinformatics data analysis process, an embodiment of the present invention also provides a terminal device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, any of the above-mentioned methods for automatically generating a bioinformatics data analysis process is implemented.
[0059] It will be apparent to those skilled in the art that the present invention is not limited to the details of the exemplary embodiments described above and that the present invention can be implemented in other specific forms without departing from the spirit or essential features of the present invention. Therefore, the embodiments should be considered exemplary and non-restrictive in all respects, and the scope of the present invention is defined by the appended claims rather than the above description, and it is intended that all changes falling within the meaning and scope of the equivalent elements of the claims be included in the present invention.
Claims
1. A method for automatically generating a bioinformatics data analysis process. It is characterized in that The following steps are involved: S101, obtaining biometric information data provided by a user; S102, providing a result output module matching the data type according to the data type of the bio-information data, and providing an output example of each result output module for selection by a user; S103, adding several result output modules selected by the user as target modules to the module library; S104, detecting whether there is a preceding module for each target module; If there are one or more pre-modules, all pre-modules not in the module library are added to the module library, and the added pre-modules are respectively connected to the target module in a front-to-back order; then the target module is detected whether there is a conditional module; If there are one or more conditional modules, all conditional modules not in the module library are added to the module library, and the target module is connected to the added conditional modules respectively; S105, taking the pre-module and conditional module added in S104 as the target module, repeatedly executing S104 until no new pre-module and conditional module are added to the module library, and taking the connected process as the bioinformatics data analysis process.
2. The method for automatically generating a biological information data analysis process according to claim 1, It is characterized in that The bioinformatics data analysis process is pre-divided into several pre-modules and several result output modules according to the steps, and each pre-module and result output module includes a script file, a configuration file and a description file, wherein the description file includes a module name, a pre-module name, a condition module name, an input channel, and an output channel.
3. The method for automatically generating a biological information data analysis process according to claim 1, It is characterized in that In S104, the front module also includes data processing time. When the target module has multiple front modules, If the data types output by the plurality of front modules are different, the plurality of front modules are all added to the module library, and the added front modules are connected to the target module in a front-to-back order; If the data types output by the multiple front-end modules are the same, the data processing times of the multiple front-end modules are compared, the front-end module corresponding to the shortest data processing time is selected and added to the module library, and the added front-end module is connected to the target module in a front-to-back order.
4. The method for automatically generating a biological information data analysis process according to claim 1, It is characterized in that In S104, the condition module is used to determine whether the data output by the target module can be analyzed in the next step. If the determination result is no, an error instruction is displayed to prompt the user that the data cannot be analyzed in the next step.
5. The method for automatically generating a biological information data analysis process according to claim 2, It is characterized in that In S104, the step of detecting whether there is a preceding module for each target module includes: Determine whether the name of the target module's predecessor module is NULL; If the name of the predecessor module is not NULL, the target module has a predecessor module; if the name of the predecessor module is NULL, the target module does not have a predecessor module.
6. The method for automatically generating a biological information data analysis process according to claim 2, It is characterized in that In S104, the step of connecting the added pre-modules to the target modules in a front-to-back order respectively includes: The output channel of the front module is connected in series with the input channel of the target module to transmit the data stream of the front module to the target module; Merge the script files and configuration files of the pre-module and the target module respectively.
7. The method for automatically generating a biological information data analysis process according to claim 2, It is characterized in that In S104, the step of detecting whether there is a conditional module for each target module includes: Determine whether the conditional module name of the target module is NULL; If the conditional module name is not NULL, the target module has a conditional module; if the conditional module name is NULL, the target module does not have a conditional module.
8. The method for automatically generating a biological information data analysis process according to claim 2, It is characterized in that In S104, the step of connecting the target modules to the added conditional modules respectively includes: The output channel of the target module is connected in series with the input channel of the conditional module to transfer the data stream of the target module to the conditional module; Merge the script files and configuration files of the target module and conditional module respectively.
9. A computer storage medium having a computer program stored thereon, It is characterized in that When the program is executed by a processor, the method according to any one of claims 1 to 8 is implemented.
10. A terminal device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, It is characterized in that When the processor executes the computer program, the method according to any one of claims 1 to 8 is implemented.
Citation Information
Patent Citations
Visual biological information analysis process framework system
CN112382343A
Engineering consultation management system and method
CN112785276A
Data processing method and device, equipment and medium
CN113010742A
Data association analysis method and device, computer equipment and storage medium
CN113688288A
