Biological information analysis method and device, electronic equipment and storage medium
By determining the parallel processing method of target analysis tools and computing resources in bioinformatic analysis, the problem of low data analysis after high-throughput sequencing is solved, and more efficient bioinformatic analysis is achieved.
Patent Information
- Application Number
- CN202311333120.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-10-13
- Publication Date
- 2025-04-15
AI Technical Summary
Data analysis and storage after high-throughput sequencing are inefficient, and the existing technology cannot effectively schedule computing resources, resulting in inefficient bioinformatic analysis.
By determining the target analysis tool based on the received biological information analysis needs, obtaining the sample data collected by the high-throughput sequencer, performing sequencing analysis, determining the concurrency of the parallel processing task based on the parameters of the system resources, and using multiple target computing nodes to call the target analysis tool to process the sequencing results in parallel.
The efficiency of bioinformatics analysis is improved, and computing resources can be used more effectively through parallel processing, which improves the speed and efficiency of data analysis.
Smart Images

Figure CN119832986A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of data analysis technology, specifically to the field of biological information analysis technology, and in particular to a biological information analysis method, device, electronic device and storage medium. Background Art
[0002] With the development of computing power and storage capacity of electronic devices, the implementation cost of gene sequencing technology has gradually decreased, making the implementation scenarios of gene testing gradually richer. At present, high-throughput sequencing has become a technology that has received widespread attention in the field of bioinformatics analysis, but there are still many challenges in data analysis and storage after high-throughput sequencing. At present, after high-throughput sequencing is performed using a sequencer, data analysis is usually performed by users manually setting the data analysis process. And most of the bioinformatics analysis is performed using the command line method, which cannot efficiently schedule computing resources for the biological analysis process, and has the defect of low efficiency of bioinformatics analysis. Summary of the invention
[0003] In view of the above, it is necessary to propose a bioinformatics analysis method, device, electronic device and storage medium to solve the technical problem of low efficiency in performing bioinformatics analysis on a large amount of sample data collected by a high-throughput sequencer.
[0004] The present application provides a bioinformatics analysis method, which includes: determining a target analysis tool according to a received bioinformatics analysis requirement, and obtaining multiple sample data collected by the sequencer; performing sequencing analysis on the multiple sample data to obtain sequencing results corresponding to each sample data; determining a concurrent number of tasks for parallel processing of the sequencing results according to a first parameter of a system resource of the electronic device; determining a target computing node according to the concurrent number of tasks; and using the target computing node to call the target analysis tool to process the sequencing results to obtain bioinformatics analysis results of the multiple sample data.
[0005] In some embodiments, determining the number of concurrent tasks based on a first parameter of preset system resources includes: determining a second parameter of computing resources required to process a sequencing result using the target analysis tool; calculating a ratio of the first parameter to the second parameter, and determining the number of concurrent tasks based on the ratio.
[0006] In some embodiments, the electronic device includes multiple preset computing nodes, and determining the target computing node based on the concurrent number of tasks includes: determining a third parameter of each preset computing node; sorting the multiple preset computing nodes in descending order according to the third parameter; and selecting a preset computing node with a higher order as the target computing node based on the number of concurrent tasks.
[0007] In some embodiments, the use of the target computing node to call the target analysis tool to process the sequencing results to obtain the bioinformatics analysis results of the sample data includes: determining the sequencing results to be processed from the sequencing results according to the number of concurrent tasks; distributing the sequencing results to be processed to the target computing node, wherein each sequencing result to be processed corresponds to a target computing node; calling the target analysis tool through the target computing node to process the sequencing results to be processed to obtain the bioinformatics analysis results of each sample data corresponding to the sequencing results to be processed; and continuing to determine the sequencing results to be processed from the remaining unprocessed sequencing results in the sequencing results until all the sequencing results corresponding to the multiple sample data are processed to obtain the bioinformatics analysis results corresponding to the multiple sample data.
[0008] In some embodiments, determining the target analysis tool according to the received bioinformatics analysis requirements includes: determining the analysis purpose according to the bioinformatics analysis requirements; and matching the corresponding analysis tool from pre-stored analysis tools as the target analysis tool according to the analysis purpose.
[0009] In some embodiments, after determining the target analysis tool, the method further includes: determining configuration parameters in the bioinformatics analysis requirements; configuring the target analysis tool according to the configuration parameters to obtain the configured target analysis tool.
[0010] In some embodiments, the method for obtaining the sample data includes: obtaining a target message from a preset message queue, wherein the target message includes a sample storage path; and determining that the data stored in the sample storage path is the sample data.
[0011] The embodiment of the present application also provides a bioinformatics analysis device, which includes: a determination module, which is used to determine a target analysis tool according to a received bioinformatics analysis requirement; an acquisition module, which is used to acquire multiple sample data collected by a sequencer; a sequencing module, which is used to perform sequencing analysis on the multiple sample data to obtain sequencing results corresponding to each sample data; a concurrency module, which is used to determine the number of concurrent tasks for parallel processing of the sequencing results according to a first parameter of system resources; the concurrency module is also used to determine a target computing node according to the number of concurrent tasks; and an analysis module, which is used to use the target computing node to call the target analysis tool to process the sequencing results to obtain bioinformatics analysis results of the multiple sample data.
[0012] The present application also provides an electronic device, the electronic device comprising:
[0013] A memory storing at least one instruction;
[0014] A processor executes the instructions stored in the memory to implement the biological information analysis method.
[0015] An embodiment of the present application also provides a computer-readable storage medium, in which at least one instruction is stored. The at least one instruction is executed by a processor in an electronic device to implement the bioinformatics analysis method.
[0016] It can be seen from the above technical solutions that the embodiment of the present application can determine the target analysis tool according to the received bioinformatics analysis requirements when performing bioinformatics analysis, and perform sequencing analysis on multiple sample data to obtain sequencing results, and then determine the number of concurrent tasks for parallel processing of the sequencing results according to the first parameter of the available computing resources, and finally use multiple target computing nodes to call the target analysis tool to process the sequencing results in parallel, which can improve the efficiency of bioinformatics analysis. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] Figure 1 This is an application scenario diagram of the bioinformatics analysis method provided in one embodiment of the present application.
[0018] Figure 2 Schematic diagram of a bioinformatics analysis system provided in one embodiment of the present application.
[0019] Figure 3 It is a flow chart of a bioinformatics analysis method provided in one embodiment of the present application.
[0020] Figure 4 It is a flowchart of a method for determining a target analysis tool provided by an embodiment of the present application.
[0021] Figure 5 It is a flowchart of a method for configuring a target analysis tool provided in one embodiment of the present application.
[0022] Figure 6 It is a flowchart of a method for obtaining the sample data provided by an embodiment of the present application.
[0023] Figure 7 This is a flowchart of a method for determining the number of concurrent tasks provided in one embodiment of the present application.
[0024] Figure 8 It is a flowchart of a method for parallel processing of sequencing results provided in one embodiment of the present application.
[0025] Fig. 9 It is a functional module diagram of a biological information analysis device provided in one embodiment of the present application.
[0026] Fig.10 It is a structural schematic diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0027] In order to more clearly understand the purpose, features and advantages of the present application, the present application is described in detail below in conjunction with the accompanying drawings and specific embodiments. It should be noted that, in the absence of conflict, the embodiments of the present application and the features in the embodiments can be combined with each other. In the following description, many specific details are set forth to facilitate a full understanding of the present application, and the embodiments described are only a part of the embodiments of the present application, rather than all of the embodiments.
[0028] In addition, the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Thus, the features defined as "first" and "second" may explicitly or implicitly include one or more of the features. In the description of this application, the meaning of "plurality" is two or more, unless otherwise clearly and specifically defined.
[0029] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those generally understood by those skilled in the art to which the present application belongs. The terms used herein in the specification of the present application are only for the purpose of describing specific embodiments and are not intended to limit the present application. The term "and / or" used herein includes any and all combinations of one or more of the related listed items.
[0030] The embodiment of the present application provides a bioinformatics analysis method, which can be applied to one or more electronic devices. The electronic device is a device that can automatically perform numerical calculations and / or information processing according to pre-set or stored instructions, and its hardware includes but is not limited to a microprocessor, an application specific integrated circuit (Application Specific Integrated Circuit, ASIC), a field-programmable gate array (Field-Programmable Gate Array, FPGA), a digital processor (Digital Signal Processor, DSP), an embedded device, etc.
[0031] An electronic device can be any electronic product that can interact with a customer, such as a personal computer, a tablet computer, a smart phone, a personal digital assistant (PDA), a game console, an interactive network television (IPTV), a smart wearable device, etc.
[0032] The electronic device may also include a network device and / or a client device, wherein the network device includes, but is not limited to, a single network server, a server group consisting of multiple network servers, or a cloud consisting of a large number of hosts or network servers based on cloud computing.
[0033] The network where the electronic device is located includes but is not limited to the Internet, wide area network, metropolitan area network, local area network, virtual private network (VPN), etc.
[0034] like Figure 1 As shown, the bioinformatics analysis method provided in the present application can be applied to an electronic device 100, and the electronic device 100 is communicatively connected to a sequencer 200. The electronic device 100 includes a plurality of computing nodes (e.g., Figure 1 The computing nodes 101, 102, 103, and 104 shown in the figure may be virtual machines with data analysis functions. The sequencer 200 may be a high-throughput sequencer for collecting sample data (e.g., DNA sequence data) of a user, forming a download file according to the sample data, and storing the download file in the memory of the electronic device 100. The download file may be a file corresponding to the sample data collected by the sequencer 200, and the download file is usually stored in FASTQ or FQ format, and the file name suffix includes ".fastq", ".fq" or ".gz", etc. The download file contains the DNA sequence information obtained in the process of collecting the sample data and its corresponding sequencing quality information. When performing bioinformatics analysis, it is usually necessary to pre-process and quality analyze the download file first to ensure the accuracy and reliability of the subsequent analysis results.
[0035] In one embodiment of the present application, when the user needs to perform bioinformatics analysis on multiple sample data collected by the sequencer 200, the user can send the bioinformatics analysis requirement to the electronic device 100 by inputting text or voice, and perform sequencing processing on each sample data respectively to obtain the sequencing results corresponding to each sample data. The electronic device 100 also determines the target analysis tool according to the bioinformatics analysis requirement, and determines multiple target computing nodes from the computing nodes of the electronic device 100, and uses the multiple target computing nodes to call the target analysis tool, and analyzes the sequencing results corresponding to the multiple sample data in a parallel processing manner to obtain the bioinformatics analysis results corresponding to the multiple sample data. For example, if the bioinformatics analysis requirement received by the electronic device 100 is "perform whole genome sequencing on multiple sample data", then the analysis tool with whole genome sequencing function is determined as the target analysis tool; sequencing operations are performed on multiple sample data to obtain sequencing results; and then multiple target nodes are determined from multiple computing nodes, for example, Figure 1The computing nodes 101 and 102 shown in the figure call the target analysis tool with whole genome sequencing function through the computing nodes 101 and 102, process the sequencing results in a parallel processing manner, and obtain the whole genome sequencing results corresponding to each sample data.
[0036] like Figure 2 , which is a schematic diagram of a bioinformatics analysis system provided by an embodiment of the present application. The bioinformatics analysis system 300 runs in the electronic device 100 and is used to analyze multiple sample data collected by the sequencer 200. The bioinformatics analysis system 300 includes a task module 310, a tool module 320, a data module 330, a resource module 340, a project module 350, a permission module 360, and an interface module 370.
[0037] In an embodiment of the present application, the task module 310 is used to create a bioinformatics analysis task according to the bioinformatics analysis requirements, and track the progress of the bioinformatics analysis task, and can also control the start, pause, restart, statistics, etc. of the bioinformatics analysis task. The task module 310 is also used to manage the priority of the bioinformatics analysis task according to the process of the bioinformatics analysis task and / or the corresponding sample data.
[0038] In one embodiment of the present application, the tool module 320 is used to provide different operation schemes for different bioinformatics analysis needs, including: providing users with pre-written applications with bioinformatics analysis functions, so that users can perform bioinformatics analysis on sample data in the user interaction interface of the application by obtaining a certificate; providing users with process design tools so that users can upload customized applications to the bioinformatics analysis system 300; providing users with a coding interface (for example, a notebook) so that users can call pre-stored analysis tools in the bioinformatics analysis system to perform customized analysis on sample data.
[0039] In one embodiment of the present application, the data module 330 is used to implement data management during the bioinformatics analysis process. Specifically, the data module 330 is used to implement data backup, data governance, and file management. When the data module 330 implements data backup, the sequencing results and / or bioinformatics analysis results can be backed up to the memory of the electronic device 100 or the cloud data center connected to the electronic device 100 according to the customized data backup rules; when the data module 330 implements data governance, the sequencing results and / or bioinformatics analysis results can be governed according to the pre-set data governance rules, wherein the data governance operations include compression, deletion, archiving, merging, etc.; when the data module 330 implements file management, it can provide functions such as uploading, browsing, downloading, labeling, and sharing for files, wherein the file can be the offline file corresponding to the sample data collected by the sequencer, and can also be the FASTQ file obtained after sequencing the sample data.
[0040] In an embodiment of the present application, the resource module 340 is used to monitor the available system resources in the electronic device 100 in real time, and is also used to monitor the occupation record of the system resources. Among them, the available resources include computing resources, storage resources, and network resources. For example, the available resources can be available threads, available memory, available network bandwidth, etc. in the electronic device 100.
[0041] In an embodiment of the present application, the project module 350 is used to construct a project according to the bioinformatics analysis requirements, and to manage or back up the project.
[0042] In one embodiment of the present application, the permission module 360 is used to set various permissions of the bioinformatics analysis system 300, including functional permissions, application permissions, data permissions, and project permissions, and the above permissions are used to control the operations performed by users on the bioinformatics analysis system 300. Among them, the functional permissions are used to control the operations of configuring the functions of the bioinformatics analysis system; the application permissions are used to control the operations of calling the target analysis tool during the bioinformatics analysis process; the data permissions are used to control the operations of accessing and modifying sample data to achieve data isolation and ensure data security; the project permissions are used to control the operations of viewing the analysis progress during the bioinformatics analysis process.
[0043] In an embodiment of the present application, the interface module 370 is used to configure a data interface in the biological information analysis system 300. By configuring the data interface, the range of data received by the biological information analysis system 300 can be flexibly set.
[0044] In an embodiment of the present application, the modules in the bioinformatics analysis system 300 cooperate with each other to implement the bioinformatics analysis method, specifically: the task module 310 constructs the bioinformatics analysis task according to the received bioinformatics analysis requirements; the tool module 320 determines the target analysis tool used to perform the bioinformatics analysis task; after obtaining the sample data collected by the sequencer 200 through the interface module 370, the resource module 340 monitors the first parameter of the available resources in the electronic device 100 in real time, and determines the task concurrency number according to the first parameter, and executes multiple bioinformatics analysis tasks in parallel according to the task concurrency number, thereby improving the efficiency of bioinformatics analysis. After obtaining the bioinformatics analysis results, the data module 330 can send the bioinformatics analysis results to the cloud data center or the storage in the electronic device 100 to realize data backup; the project module 350 also backs up the parameters corresponding to the bioinformatics analysis task, so that the corresponding parameters can be reused when the same bioinformatics analysis task is performed on the same sample data later.
[0045] like Figure 3 , is a flow chart of a bioinformatics analysis method provided in an embodiment of the present application. According to different requirements, the order of the steps in the flow chart can be changed, and some steps can be omitted. The bioinformatics analysis method provided in an embodiment of the present application includes the following steps.
[0046] S30, determining a target analysis tool according to the received bioinformatics analysis requirement.
[0047] In one embodiment of the present application, the bioinformatics analysis demand may be a demand for analyzing sample data collected by a sequencer. For example, the data collected by the sequencer is DNA sequence data of a certain species, and the bioinformatics analysis demand may be a demand for sequencing the DNA sequence data. For another example, the bioinformatics analysis demand may also be a demand for graphical display and visual analysis of the DNA sequence data.
[0048] In one embodiment of the present application, the bioinformatics analysis requirement is used to record the purpose of the bioinformatics analysis. For example, when the bioinformatics analysis requirement is a requirement for whole genome sequencing of DNA sequence data, then the purpose of the bioinformatics analysis is whole genome sequencing (WGS); for another example, when the bioinformatics analysis requirement is a requirement for whole exome sequencing of DNA sequence data, then the purpose of the bioinformatics analysis is whole exome sequencing (WES).
[0049] S31, obtaining a plurality of sample data collected by the sequencer.
[0050] In one embodiment of the present application, the sample data collected by the sequencer may be DNA sequence data. The sequencer stores the DNA sequence data as a CAL formatted offline file and stores it in a sample storage path pre-set in the electronic device. Specifically, the CAL offline file contains the following information: instrument information: sequencer model, serial number, run time, etc.; reagent information: reagent name, concentration, dosage, etc.; sample information: sample number, source, quantity, etc.; experimental parameters: PCR amplification parameters, sequencing parameters, etc.; data processing information: data quality score, filtering rules, etc.
[0051] In one embodiment of the present application, after receiving a bioinformatics analysis request, the electronic device can obtain a CAL formatted offline file from the sample storage path, and obtain multiple sample data collected by the sequencer based on the CAL formatted offline file.
[0052] S32, performing sequencing analysis on the multiple sample data to obtain a sequencing result corresponding to each sample data.
[0053] In one embodiment of the present application, during the process of sequencing sample data, the sample data (e.g., DNA sequence data) is separated into multiple short fragments, each of which is labeled with a specific base. The sequencer heats these short fragments to a high temperature so that the double helix structure of the DNA sequence data is unwound, and then reads the DNA sequence data through an electric field or an optical signal, and generates a FASTQ file based on the DNA sequence data, wherein the FASTQ file is used to store the sequencing results corresponding to the sample data.
[0054] In one embodiment of the present application, the specific process of generating a FASTQ file varies depending on the sequencing instrument and the sequencing data. During the sequencing process, the sequencer cuts the DNA sequence into small fragments and then performs PCR amplification. After PCR amplification, each PCR product is combined with a fluorescent marker to form a fluorescent signal. These fluorescent signals are collected and connected to an electronic component to form an electronic signal. This electronic signal is transmitted to a computer and converted into a digital signal. Finally, this digital signal is written into a FASTQ file.
[0055] S33, determining the number of concurrent tasks for processing the sequencing results in parallel according to a first parameter of the system resources of the electronic device.
[0056] In one embodiment of the present application, in order to improve the efficiency of processing sequencing results, the sequencing results of multiple samples can be analyzed by parallel processing. Specifically, the first parameter of the system resources of the electronic device can be determined first, wherein the first parameter can be one or more of the following parameters: the number of available threads, the available memory capacity. Exemplarily, when the system resources of the electronic device include 120 available threads and 64GB of available memory, the first parameter can include one or more of 120 threads and 64GB of memory.
[0057] In one embodiment of the present application, after obtaining the first parameter, the number of concurrent tasks may be determined according to the first parameter, wherein the number of concurrent tasks may be the maximum number of sequencing results processed in parallel.
[0058] S34, determining a target computing node according to the concurrent number of tasks.
[0059] In one embodiment of the present application, the electronic device includes a plurality of pre-stored computing nodes, and the pre-stored computing nodes are used to call the target analysis tool to implement the function of biological information analysis. The pre-stored computing nodes may be virtual machines running in the electronic device.
[0060] In one embodiment of the present application, target computing nodes equal to the number of concurrent tasks can be randomly determined from preset computing nodes according to the number of concurrent tasks. For example, when the number of concurrent tasks is 3 and the number of electronic devices pre-stored in the electronic device is 5, any 3 pre-stored computing nodes can be randomly determined from the 5 pre-stored computing nodes as target computing nodes.
[0061] In one embodiment of the present application, before determining the target computing node, the pre-stored computing nodes may be sorted, and a plurality of pre-stored computing nodes with a higher order may be determined as the target computing nodes. Sorting the pre-stored computing nodes includes: determining a third parameter of each preset computing node; sorting the plurality of preset computing nodes in descending order according to the third parameter; and selecting the preset computing node with a higher order as the target computing node according to the number of concurrent tasks. The third parameter may be the maximum number of threads, the maximum memory capacity, the number of cores, etc. of the preset computing node, which is not limited in the present application.
[0062] Exemplarily, when the preset computing nodes are virtual machines running in an electronic device, and they are virtual machine A, virtual machine B, virtual machine C, virtual machine D, and virtual machine E respectively, if the resource parameter is the maximum number of threads, and the maximum number of threads of virtual machine A is 100, the maximum number of threads of virtual machine B is 200, the maximum number of threads of virtual machine C is 300, the maximum number of threads of virtual machine D is 400, and the maximum number of threads of virtual machine E is 500, when the number of concurrent tasks is 3, the target computing nodes are virtual machine E, virtual machine D, and virtual machine C.
[0063] S35, using the target computing node to call the target analysis tool to process the sequencing result, and obtain the bioinformatics analysis result of the sample data.
[0064] In one embodiment of the present application, in order to process sequencing results in a multi-tasking concurrent manner, after determining the target computing node, each target computing node can be used to call a target analysis tool to process sequencing results corresponding to multiple sample data to improve the efficiency of bioinformatics analysis.
[0065] In one embodiment of the present application, the same number of sequencing results to be processed as the concurrent number of tasks can be determined from the sequencing results corresponding to the multiple sample data, and the target computing node is used to call the target analysis tool to process each sequencing result to be processed, wherein each sequencing result to be processed corresponds to a target computing node. Repeat the above process, and continue to determine the same number of sequencing results to be processed as the concurrent number of tasks from the remaining unprocessed sequencing results, until all the sequencing results corresponding to the multiple sample data are processed, and the bioinformatics analysis results corresponding to the multiple sample data are obtained.
[0066] Exemplarily, when 7 sample data are received by the sequencer, the corresponding sequencing results are 7. When the number of concurrent tasks is 3, the number of target computing nodes is also 3. Then, 3 sequencing results to be processed are first determined from the sequencing results, and the target node is used to call the target tool to process the 3 sequencing results to be processed. The second time, 3 sequencing results to be processed are determined from the 4 unprocessed sequencing results, and the target node is continued to be used to call the target tool to process the 3 sequencing results to be processed determined the second time. At this time, there is 1 unprocessed sequencing result left, and this sequencing result can be used as the sequencing result to be processed, and any target computing node is randomly used to call the target analysis tool to process this sequencing result to be processed, and finally 7 bioinformatics analysis results corresponding to the 7 sample data are obtained.
[0067] It can be seen from the above technical solutions that the embodiment of the present application can determine the target analysis tool according to the received bioinformatics analysis requirements when performing bioinformatics analysis, and perform sequencing analysis on multiple sample data to obtain sequencing results, and then determine the number of concurrent tasks for parallel processing of the sequencing results according to the first parameter of the available computing resources, and finally use multiple target computing nodes to call the target analysis tool to process the sequencing results in parallel, which can improve the efficiency of bioinformatics analysis.
[0068] like Figure 4, is a flow chart of a method for determining a target analysis tool provided in an embodiment of the present application. According to different requirements, the order of the steps in the flow chart can be changed, and some steps can be omitted. The method for determining a target analysis tool provided in an embodiment of the present application includes the following steps.
[0069] S40, determining the analysis purpose according to the bioinformatics analysis requirement.
[0070] In one embodiment of the present application, the bioinformatics analysis demand refers to the data analysis demand input by the user into the electronic device through voice or text, wherein the bioinformatics analysis demand includes information such as the purpose of analysis and the technical route. For example, when the bioinformatics analysis demand is to perform whole genome sequencing on sample data, the corresponding analysis purpose is whole genome sequencing; for another example, when the bioinformatics analysis demand is to perform whole exon sequencing on DNA sequence data, the corresponding analysis purpose is whole exon sequencing; for another example, when the bioinformatics analysis demand is to perform whole genome retesting on sample data, the corresponding analysis purpose is whole genome resequencing.
[0071] S41, matching a corresponding analysis tool from pre-stored analysis tools as the target analysis tool according to the analysis purpose.
[0072] In one embodiment of the present application, the electronic device includes a plurality of pre-stored analysis tools, each of which is used to perform different types of analysis operations on sample data to achieve different analysis purposes. For example, some analysis tools can be used to perform whole genome sequencing on sample data; some analysis tools can be used to perform whole exome sequencing on sample data; and some analysis tools can be used to perform whole genome resequencing on sample data.
[0073] For example, when the purpose of analysis is whole genome sequencing, an analysis tool with a whole genome sequencing function can be determined as a target analysis tool; when the purpose of analysis is whole exome sequencing, an analysis tool with a whole exome sequencing function can be determined as a target analysis tool; when the purpose of analysis is whole genome resequencing, an analysis tool with a whole genome resequencing function can be determined as a target analysis tool.
[0074] like Figure 5 , is a flow chart of a method for configuring a target analysis tool provided in an embodiment of the present application. According to different requirements, the order of the steps in the flow chart can be changed, and some steps can be omitted. The method for configuring a target analysis tool provided in an embodiment of the present application includes the following steps.
[0075] S50, determining configuration parameters in the bioinformatics analysis requirement.
[0076] In one embodiment of the present application, the bioinformatics analysis requirements include configuration parameters, which are used to control the logic of the target analysis tool when processing sequencing results to meet different bioinformatics analysis requirements. For example, the configuration parameters can be used to change the appearance of the target analysis tool, and can also be used to set the environment variables in the target analysis tool to ensure that the target analysis tool can obtain sample data from the pre-stored target path; the configuration parameters can also be used to add new functions to the target analysis tool, adjust the performance of the target analysis tool, or change the default settings in the target analysis tool; the configuration parameters can also be used to determine the version of the target analysis tool to ensure that the version of the target analysis tool meets the bioinformatics analysis requirements, thereby improving the accuracy of the bioinformatics analysis results.
[0077] In one embodiment of the present application, the configuration parameters include: input data parameters, analysis tool parameters, output data parameters, and reference genome parameters. Among them, the input data parameters are used to record the input path of the sample data or the path name of the storage sample data, etc.; the analysis tool parameters are used to record the configuration parameters unique to the target analysis tool; the output data parameters are used to record the output path of the sequencing results; the reference genome parameters are used to record the reference genome data required in the process of bioinformatics analysis: such as the hg38 genome, the hg37 genome, etc.
[0078] S51, configuring the target analysis tool according to the configuration parameters to obtain the configured target analysis tool.
[0079] In one embodiment of the present application, after determining the configuration parameters, the target analysis tool can be configured according to the input data parameters and the output data parameters to ensure that the target analysis tool can obtain the sample data collected by the sequencer and ensure that the output bioinformatics analysis results can be stored in a preset storage path; the target analysis tool can also be configured according to the analysis tool parameters to adjust the performance of the target analysis tool; the reference genome data in the bioinformatics analysis process can also be set according to the reference genome parameters, thereby improving the accuracy of the bioinformatics analysis results.
[0080] In one embodiment of the present application, the sequencer may be a high-throughput sequencer, which may collect a large amount of sample data belonging to different users in a relatively short period of time, and convert the sample data into offline files in CAL format, and store the offline files corresponding to each sample data in a preset sample storage path in the electronic device, so as to facilitate the subsequent orderly sequencing of a large amount of sample data.
[0081] like Figure 6, is a flow chart of a method for obtaining the sample data provided in an embodiment of the present application. According to different requirements, the order of the steps in the flow chart can be changed, and some steps can be omitted. The method for obtaining the sample data provided in an embodiment of the present application includes the following steps.
[0082] S60, obtaining a target message from a preset message queue, wherein the target message includes a sample storage path.
[0083] In one embodiment of the present application, the preset message queue may be a first-in-first-out message queue for storing target messages corresponding to sample data, wherein the target message is used to record the sample storage path corresponding to the sample data. When the download file corresponding to the sample data is stored in the corresponding sample storage path, the electronic device constructs the target message according to the sample storage path and caches the target message in the preset message queue. In this way, in the subsequent sequencing process, the electronic device can determine the target message from the message queue according to the first-in-first-out order, so as to achieve orderly sequencing of a large amount of the sample data.
[0084] Exemplarily, when the preset message queue includes a target message X corresponding to sample data X, a target message Y corresponding to sample data Y, and a target message Z corresponding to sample data Z, and the time when the target messages enter the message queue is, from earliest to latest, target message X, target message Y, and target message Z, then in the subsequent sequencing process, the sample storage path corresponding to sample data X is determined first according to the target message X, and then the corresponding sample storage paths are determined according to other target messages.
[0085] S61: Determine that the data stored in the sample storage path is the sample data.
[0086] In one embodiment of the present application, after determining the corresponding sample storage path according to the target message, the data stored in the sample storage path can be determined as sample data. For example, when the sample storage path is "C:\Program Files\ModifiableWindowsApps", the electronic device can construct a data query instruction based on the sample storage path, and obtain all data under the sample storage path by running the data query instruction.
[0087] like Figure 7 , is a flowchart of a method for determining the number of concurrent tasks provided in an embodiment of the present application. According to different requirements, the order of the steps in the flowchart can be changed, and some steps can be omitted. The method for determining the number of concurrent tasks provided in an embodiment of the present application includes the following steps.
[0088] S70, determining a second parameter of computing resources required for processing a sequencing result using the target analysis tool.
[0089] In an embodiment of the present application, the second parameter may be one or more of the following parameters: the number of threads required for the target analysis tool to process a sequencing result, and the memory capacity required for the target analysis tool to process a sequencing result. For example, when the target analysis tool needs 10 threads to process a sequencing result, the second parameter is 10 threads; when the target analysis tool needs 8G memory to process a sequencing result, the second parameter is 8G; when the target analysis tool needs 12 threads and 10G memory to process a sequencing result, the second parameter is 12 threads and 10G.
[0090] S71, calculate the ratio of the first parameter to the second parameter, and determine the concurrent number of tasks according to the ratio.
[0091] In an embodiment of the present application, the first parameter may be one or more of the following parameters: the number of available threads, the available memory capacity. For example, when the system resources of the electronic device include 120 available threads and 64 GB of available memory, the first parameter may include one or more of 120 threads and 64 GB of memory.
[0092] In one embodiment of the present application, in order to ensure that the resource parameter occupied when processing multiple sequencing results in parallel is less than or equal to the first parameter of the system resource, the ratio of the first parameter to the second parameter can be calculated, and the number of concurrent tasks can be determined according to the ratio. The method for determining the number of concurrent tasks according to the ratio includes: determining the number of concurrent tasks by rounding down the ratio.
[0093] For example, when the first parameter is 120 threads and the second parameter is 10 threads, the ratio is 12, and the number of concurrent tasks is 12, indicating that the system resources available in the electronic device can execute 12 bioinformatics analysis tasks simultaneously; when the first parameter is 64GB and the second parameter is 15GB, the ratio is 4.26, and the integer obtained after rounding down the ratio is 4, then the number of concurrent tasks is 4, indicating that the system resources available in the electronic device can execute 4 bioinformatics analysis tasks simultaneously.
[0094] like Figure 8 As shown, it is a flow chart of the method for parallel processing of the sequencing results provided in an embodiment of the present application. According to different requirements, the order of the steps in the flow chart can be changed, and some steps can be omitted. The method for parallel processing of the sequencing results provided in an embodiment of the present application includes the following steps.
[0095] S80, determining the sequencing results to be processed from the sequencing results according to the number of concurrent tasks.
[0096] In one embodiment of the present application, in order to process sequencing results in a multi-task parallel manner for multiple times to improve the efficiency of bioinformatics analysis, a number of sequencing results to be processed equal to the number of concurrent tasks can be determined from the sequencing results. For example, when the sequencer receives 10 sample data, it corresponds to 10 sequencing results. When the number of concurrent tasks is 3, any 3 of the 10 sequencing results can be determined as sequencing results to be processed.
[0097] S81, distributing the sequencing results to be processed to the target computing nodes, wherein each sequencing result to be processed corresponds to a target computing node.
[0098] In one embodiment of the present application, the electronic device distributes the sequencing results to be processed to the target computing nodes, and each sequencing result to be processed corresponds to a target computing node, so as to ensure that the currently available system resources of the electronic device are maximized, thereby maximizing the efficiency of bioinformatics analysis when system resources are limited.
[0099] S82, calling the target analysis tool through the target computing node to process the sequencing result to be processed, and obtaining a bioinformatics analysis result of each sample data corresponding to the sequencing result to be processed.
[0100] In one embodiment of the present application, after distributing the sequencing results to be processed to the target computing nodes, each target computing node can be used to call a target analysis tool to process the sequencing results to be processed corresponding to the target computing node in a parallel processing manner, thereby improving the efficiency of obtaining bioinformatics analysis results.
[0101] S83, determining whether there are any unprocessed sequencing results. If there are any unprocessed sequencing results, repeating steps S80 to S82; if there are no unprocessed sequencing results, executing step S84.
[0102] In one embodiment of the present application, after obtaining the bioinformatics analysis result of each sample data corresponding to the sequencing result to be processed, it can be determined whether there are still unprocessed sequencing results. If there are still unprocessed sequencing results, steps S80 to S82 can be repeatedly executed to continue to determine the sequencing result to be processed from the remaining unprocessed sequencing results until all the sequencing results corresponding to the multiple sample data are processed and the bioinformatics analysis results corresponding to the multiple sample data are obtained.
[0103] It is understandable that when step S80 is repeatedly executed, the number of sequencing results to be processed may be different from the number of concurrent tasks. For example, when there are 4 sequencing results and the number of concurrent tasks is 3, there is 1 unprocessed sequencing result remaining. At this time, it can be determined that this 1 unprocessed sequencing result is the sequencing result to be processed.
[0104] S84, determining the bioinformatics analysis results corresponding to all sample data.
[0105] See also Fig. 9 , Fig. 9 91 is a functional module diagram of a bioinformatics analysis device provided in an embodiment of the present application. The bioinformatics analysis device 91 includes a determination module 910, an acquisition module 911, a sequencing module 912, a concurrent module 913, and an analysis module 914. The module / unit referred to in the present application refers to a series of computer-readable instruction segments that can be executed by the processor 13 and can complete a fixed function, which is stored in the memory 12. In this embodiment, the functions of each module / unit will be described in detail in subsequent embodiments.
[0106] The determination module 910 is used to determine a target analysis tool according to the received bioinformatics analysis requirement.
[0107] The acquisition module 911 is used to acquire multiple sample data collected by the sequencer.
[0108] The sequencing module 912 is used to perform sequencing analysis on the multiple sample data to obtain a sequencing result corresponding to each sample data.
[0109] The concurrency module 913 is used to determine the concurrency number of tasks for parallel processing of the sequencing results according to a first parameter of system resources.
[0110] The concurrent module 913 is further configured to determine a target computing node according to the concurrent number of tasks.
[0111] The analysis module 914 is used to use the target computing node to call the target analysis tool to process the sequencing result and obtain the bioinformatics analysis result of the sample data.
[0112] In some embodiments, the concurrency module 913 is specifically used to: determine a second parameter of computing resources required to process a sequencing result using the target analysis tool; calculate a ratio of the first parameter to the second parameter, and determine the task concurrency number based on the ratio.
[0113] In some embodiments, the electronic device includes multiple preset computing nodes, and the concurrent module 913 is specifically used to: determine a third parameter of each preset computing node; sort the multiple preset computing nodes in descending order according to the third parameter; and determine the preset computing nodes that are ranked higher and have a number equal to the concurrent number of the task as the target computing nodes.
[0114] In some embodiments, the analysis module 914 is specifically used to: determine a number of to-be-processed sequencing results equal to the concurrent number of the tasks from the sequencing results; distribute the to-be-processed sequencing results to the target computing node, wherein each to-be-processed sequencing result corresponds to a target computing node; call the target analysis tool through the target computing node to process the to-be-processed sequencing results to obtain a bioinformatics analysis result of each sample data corresponding to the to-be-processed sequencing results; continue to determine the to-be-processed sequencing results from the remaining unprocessed sequencing results in the sequencing results until all the sequencing results corresponding to the multiple sample data are processed, and obtain the bioinformatics analysis results corresponding to the multiple sample data.
[0115] In some embodiments, the determination module 910 is specifically used to: determine the analysis purpose according to the bioinformatics analysis requirements; and match the corresponding target analysis tool from pre-stored analysis tools according to the analysis purpose.
[0116] In some embodiments, the determination module 910 is further used to: determine the configuration parameters in the bioinformatics analysis requirements; configure the target analysis tool according to the configuration parameters to obtain the configured target analysis tool.
[0117] In some embodiments, the acquisition module 911 obtains the sample data specifically including: acquiring a target message from a preset message queue, wherein the target message includes a sample storage path; and determining that the data stored in the sample storage path is the sample data.
[0118] It can be seen from the above technical solutions that the embodiment of the present application can determine the target analysis tool according to the received bioinformatics analysis requirements when performing bioinformatics analysis, and perform sequencing analysis on multiple sample data to obtain sequencing results, and then determine the number of concurrent tasks for parallel processing of the sequencing results according to the first parameter of the available computing resources, and finally use multiple target computing nodes to call the target analysis tool to process the sequencing results in parallel, which can improve the efficiency of bioinformatics analysis.
[0119] See also Fig.10 , is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. The electronic device 1 includes a memory 12 and a processor 13. The memory 12 is used to store computer-readable instructions, and the processor 13 is used to execute the computer-readable instructions stored in the memory to implement the bioinformatics analysis method described in any of the above embodiments.
[0120] In an embodiment of the present application, the electronic device 1 further includes a bus, and a computer program stored in the memory 12 and executable on the processor 13, such as a bioinformatics analysis program.
[0121] Fig.10 Only the electronic device 1 having the memory 12 and the processor 13 is shown, and those skilled in the art can understand that Fig.10 The structure shown does not constitute a limitation on the electronic device 1 , and may include fewer or more components than shown in the figure, or combine certain components, or arrange the components differently.
[0122] Combination Figure 3 The memory 12 in the electronic device 1 stores a plurality of computer-readable instructions to implement a bioinformatics analysis method, and the processor 13 can execute the plurality of instructions to implement: determining a target analysis tool according to a received bioinformatics analysis requirement; acquiring a plurality of sample data collected by the sequencer; performing sequencing analysis on the plurality of sample data to obtain a sequencing result corresponding to each sample data; determining a concurrent number of tasks for parallel processing of the sequencing results according to a first parameter of a system resource of the electronic device; determining a target computing node according to the concurrent number of tasks; and using the target computing node to call the target analysis tool to process the sequencing results to obtain bioinformatics analysis results of the plurality of sample data.
[0123] Specifically, the specific implementation method of the processor 13 for the above instructions can refer to Figure 3 The description of the relevant steps in the corresponding embodiments will not be repeated here.
[0124] Those skilled in the art will appreciate that the schematic diagram is merely an example of the electronic device 1 and does not constitute a limitation on the electronic device 1. The electronic device 1 may be a bus structure or a star structure. The electronic device 1 may also include more or less other hardware or software than shown in the diagram, or a different arrangement of components. For example, the electronic device 1 may also include input and output devices, network access devices, etc.
[0125] It should be noted that the electronic device 1 is only an example, and other existing or future electronic products that are suitable for the present application should also be included in the protection scope of the present application and included here by reference.
[0126] Among them, the memory 12 includes at least one type of readable storage medium, and the readable storage medium can be non-volatile or volatile. The readable storage medium includes flash memory, mobile hard disk, multimedia card, card-type memory (for example: SD or DX memory, etc.), magnetic memory, disk, optical disk, etc. In some embodiments, the memory 12 can be an internal storage unit of the electronic device 1, such as a mobile hard disk of the electronic device 1. In other embodiments, the memory 12 can also be an external storage device of the electronic device 1, such as a plug-in mobile hard disk, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) card, a flash card (Flash Card), etc. equipped on the electronic device 1. The memory 12 can not only be used to store application software and various types of data installed in the electronic device 1, such as the code of the bioinformatics analysis program, etc., but also can be used to temporarily store data that has been output or is to be output.
[0127] In some embodiments, the processor 13 may be composed of an integrated circuit, for example, a single packaged integrated circuit, or a plurality of packaged integrated circuits with the same or different functions, including one or more central processing units (CPUs), microprocessors, digital processing chips, graphics processors, and combinations of various control chips. The processor 13 is the control core (Control Unit) of the electronic device 1, and uses various interfaces and lines to connect various components of the entire electronic device 1, and executes or executes programs or modules stored in the memory 12 (for example, executes a bioinformatics analysis program, etc.), and calls data stored in the memory 12 to execute various functions of the electronic device 1 and process data.
[0128] The processor 13 executes the operating system of the electronic device 1 and various installed applications. The processor 13 executes the applications to implement the steps in the above-mentioned embodiments of the bioinformatics analysis method, for example Figure 3 Steps shown.
[0129] Exemplarily, the computer program may be divided into one or more modules / units, which are stored in the memory 12 and executed by the processor 13 to complete the present application. The one or more modules / units may be a series of computer-readable instruction segments capable of completing specific functions, which are used to describe the execution process of the computer program in the electronic device 1. For example, the computer program may be divided into a determination module 910, an acquisition module 911, a sequencing module 912, a concurrent module 913, and an analysis module 914.
[0130] The above-mentioned integrated unit implemented in the form of a software function module can be stored in a computer-readable storage medium. The above-mentioned software function module is stored in a storage medium, including a number of instructions for enabling a computer device (which can be a personal computer, a computer device, or a network device, etc.) or a processor to execute a part of the bioinformatics analysis method described in each embodiment of the present application.
[0131] If the module / unit integrated in the electronic device 1 is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the present application implements all or part of the processes in the above-mentioned embodiment method, and can also instruct the relevant hardware devices to complete through a computer program. The computer program can be stored in a computer-readable storage medium, and when the computer program is executed by the processor, the steps of each of the above-mentioned method embodiments can be implemented.
[0132] The computer program includes computer program code, which may be in source code form, object code form, executable file or some intermediate form, etc. The computer readable medium may include: any entity or device capable of carrying the computer program code, recording medium, USB flash drive, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory and other memory, etc.
[0133] Furthermore, the computer-readable storage medium may mainly include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function, etc.; the data storage area may store data created according to the use of the blockchain node, etc.
[0134] The bus can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus. The bus can be divided into an address bus, a data bus, a control bus, etc. Fig.10 Only one arrow is used in the figure, but it does not mean that there is only one bus or one type of bus. The bus is configured to realize the connection and communication between the memory 12 and at least one processor 13, etc.
[0135] The embodiment of the present application also provides a computer-readable storage medium (not shown), in which computer-readable storage medium is stored computer-readable instructions, and the computer-readable instructions are executed by a processor in an electronic device to implement the bioinformatics analysis method described in any of the above embodiments.
[0136] In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only illustrative, for example, the division of the modules is only a logical function division, and there may be other division methods in actual implementation.
[0137] The modules described as separate components may or may not be physically separated, and the components shown as modules 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 modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0138] In addition, each functional module in each embodiment of the present application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The above integrated unit can be implemented in the form of hardware or in the form of hardware plus software functional modules.
[0139] In addition, it is obvious that the word "comprising" does not exclude other units or steps, and the singular does not exclude the plural. Multiple units or devices stated in the specification can also be implemented by one unit or device through software or hardware. The words first, second, etc. are used to indicate names, and do not indicate any specific order.
[0140] Finally, it should be noted that the above embodiments are only used to illustrate the technical solution of the present application and are not intended to limit it. Although the present application has been described in detail with reference to the preferred embodiments, a person of ordinary skill in the art should understand that the technical solution of the present application may be modified or replaced by equivalents without departing from the spirit and scope of the technical solution of the present application.
Claims
1. A bioinformatics analysis method, applied to electronic equipment, characterized in that: The electronic device is communicatively connected to a sequencer, and the method comprises: Determine a target analysis tool according to the received bioinformatics analysis requirements, and obtain multiple sample data collected by the sequencer; Performing sequencing analysis on the multiple sample data to obtain sequencing results corresponding to each sample data; Determine the number of concurrent tasks for parallel processing of the sequencing results according to a first parameter of the system resources of the electronic device; Determine the target computing node according to the concurrent number of tasks; The target computing node is used to call the target analysis tool to process the sequencing results to obtain bioinformatics analysis results of the multiple sample data.
2. The biological information analysis method according to claim 1, characterized in that: Determining the number of concurrent tasks according to a first parameter of a preset system resource includes: Determine a second parameter of computing resources required to process a sequencing result using the target analysis tool; The ratio of the first parameter to the second parameter is calculated, and the concurrent number of tasks is determined according to the ratio.
3. The biological information analysis method according to claim 1, characterized in that: The electronic device includes a plurality of preset computing nodes, and determining the target computing node according to the concurrent number of tasks includes: Determining a third parameter of each preset computing node; Sorting the plurality of preset computing nodes in descending order according to the third parameter; According to the number of concurrent tasks, a preset computing node with a higher order is selected as the target computing node.
4. The biological information analysis method according to claim 3, characterized in that: The using the target computing node to call the target analysis tool to process the sequencing result to obtain the bioinformatics analysis results of the multiple sample data includes: Determining the sequencing results to be processed from the sequencing results according to the number of concurrent tasks; Distributing the sequencing results to be processed to the target computing nodes, wherein each sequencing result to be processed corresponds to a target computing node; Calling the target analysis tool through the target computing node to process the sequencing result to be processed, and obtaining a bioinformatics analysis result of each sample data corresponding to the sequencing result to be processed; The sequencing results to be processed are continuously determined from the remaining unprocessed sequencing results in the sequencing results until all the sequencing results corresponding to the multiple sample data are processed, thereby obtaining the bioinformatics analysis results corresponding to the multiple sample data.
5. The biological information analysis method according to claim 1, wherein: Determining the target analysis tool according to the received bioinformatics analysis requirements includes: Determine the purpose of analysis according to the bioinformatics analysis requirements; According to the analysis purpose, a corresponding analysis tool is matched from pre-stored analysis tools as the target analysis tool.
6. The biological information analysis method according to claim 1, characterized in that: After determining the target analysis tool, the method further includes: Determining configuration parameters in the bioinformatics analysis requirements; The target analysis tool is configured according to the configuration parameters to obtain the configured target analysis tool.
7. The biological information analysis method according to claim 1, characterized in that: The method for obtaining the sample data includes: Obtaining a target message from a preset message queue, wherein the target message includes a sample storage path; Determine that the data stored in the sample storage path is the sample data.
8. A biological information analysis device, characterized in that: The device comprises: A determination module, used to determine a target analysis tool according to the received bioinformatics analysis requirements; An acquisition module, used to acquire multiple sample data collected by a sequencer; A sequencing module, used to perform sequencing analysis on the multiple sample data to obtain a sequencing result corresponding to each sample data; A concurrency module, used to determine the concurrency number of tasks for parallel processing of the sequencing results according to a first parameter of the system resources; The concurrency module is further used to determine the target computing node according to the concurrent number of tasks; The analysis module is used to use the target computing node to call the target analysis tool to process the sequencing results and obtain the bioinformatics analysis results of the multiple sample data.
9. An electronic device, characterized in that: The electronic device comprises: a memory storing computer-readable instructions; and A processor executes the computer-readable instructions stored in the memory to implement the biological information analysis method according to any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-readable instructions, and when the computer-readable instructions are executed by a processor, the biological information analysis method according to any one of claims 1 to 7 is implemented.