Biological information analysis method, system and device and nonvolatile storage medium
By obtaining installation packages and licenses for bioinformatic analysis applications from the application market, establishing a bioinformatic analysis process, solving the problem of low analysis efficiency in the existing technology, and achieving efficient bioinformatic analysis process management and reuse.
Patent Information
- Application Number
- CN202311810349.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-25
- Publication Date
- 2025-06-27
Smart Images

Figure CN120215948A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of data processing, and in particular, to a biological information analysis method, system, device and non-volatile storage medium. Background Art
[0002] In the related art, when a user needs to analyze biological information to be analyzed, the common technical means is for the user to manually write a script on the local system and form an analysis process to analyze the biological information to be analyzed. The problem with this method is that writing a script requires a high programming ability of the user, and the written script can usually only be used in the current analysis process, with low reusability. As a result, a large amount of manpower is required to analyze the biological information to be analyzed in the related art, and the efficiency is low.
[0003] In view of the above problems, no effective solution has been proposed yet. Summary of the Invention
[0004] Embodiments of the present application provide a biological information analysis method, system, device and non-volatile storage medium, so as to at least solve the technical problems of excessive manpower consumption and low analysis efficiency caused by the method of manually writing a script component analysis process in the related art.
[0005] According to one aspect of the embodiments of the present application, a biological information analysis method is provided, including: obtaining an installation package and a license of a first biological information analysis application from an application market, where the installation package includes an application environment and workflow encapsulation call code of the first biological information analysis application; establishing a biological information analysis process, where the target biological information analysis applications in the biological information analysis process include the first biological information analysis application obtained from the application market and a second biological information analysis application established locally; determining whether the biological information analysis process meets the execution conditions according to the license, and analyzing the biological information to be analyzed using the biological information analysis process when it is confirmed that the execution conditions are met.
[0006] Optionally, the step of establishing a biological information analysis process includes: determining the input data and output data of each target biological information analysis application, and determining the input-output relationship between each target biological information analysis application according to the input data and output data; determining the association relationship between each target biological information analysis application; determining the biological information analysis process according to the association relationship and the workflow encapsulation call code of each target biological information analysis application.
[0007] Optionally, the steps of determining the association relationships between the respective target biological information analysis applications include: determining the input data and output data of the respective target biological information analysis applications, and determining the input-output relationships between the respective target biological information analysis applications based on the input data and output data; determining the association relationships between the respective target applications based on the input-output relationships; or determining the association relationships between the respective target biological information analysis applications based on the licenses of the respective target biological information analysis applications.
[0008] Optionally, the steps of determining the association relationships between the respective target biological information analysis applications based on the input-output relationships include: determining the license information of the respective target biological information analysis applications, where the license information includes the available status of the respective target biological information analysis applications; determining the association relationships between the respective target biological information analysis applications based on the license information and the input-output relationships of the respective target biological information analysis applications.
[0009] Optionally, the available status of the target biological information analysis application includes at least one of the following: the number of samples that the target biological information analysis application can analyze, the amount of data that the target biological information analysis application can be used to analyze samples, the processor core hours and storage resources consumed by the target biological information analysis application when analyzing samples.
[0010] Optionally, the steps of determining the association relationships between the respective target biological information analysis applications based on the license information and the input-output relationships of the respective target biological information analysis applications include: determining a second target biological information analysis application corresponding to a first target biological information analysis application based on the input-output relationship, where the first target biological information analysis application is any target biological information analysis application selected by the target object, and the second target biological information analysis application is a target biological information analysis application whose input data is the output data of the first target biological information analysis application; in the case where multiple second target biological information analysis applications are determined, determining the license information of the respective second target biological information analysis applications, and determining whether the respective second target biological information analysis applications are available based on the license information; presenting the respective available second target biological information analysis applications to the target object, and determining the downstream target biological information analysis application of the first target biological information analysis application from the respective available second target biological information analysis applications in response to the selection operation of the target object; determining the association relationships between the respective target biological information analysis applications based on the downstream target biological information analysis applications of the respective target biological information analysis applications.
[0011] Optionally, after determining the steps of the biological information analysis process according to the association relationship and the workflow encapsulation call code of each target biological information analysis application, the biological information analysis method further includes: setting the off-machine data of the target sequencer as a system variable; responding to an operation instruction of a target object to determine the access position of the system variable in the biological information process; and adding the system variable to the biological information process according to the access position.
[0012] Optionally, the biological information analysis method further includes: obtaining a compressed package of the running environment of the second biological information analysis application uploaded to the target page, and application description information of the second biological information analysis application input to the target page; determining a license for the second biological information analysis application, where the license is used to determine whether the second biological information analysis application is available; generating a compressed package of the second biological information analysis application according to the running environment compressed package, the application description information, and the license, and uploading the compressed package of the second biological information analysis application to the application market.
[0013] Optionally, the application description information includes at least one of the following: input parameters, result file types, required running memory and number of processors, and application type of the second biological information analysis application.
[0014] According to another aspect of the embodiments of the present application, there is also provided a biological information analysis system, including an application market and a client. The application market is used to provide an installation package of a biological information analysis application, where the installation package includes an application environment and a workflow encapsulation call code of the biological information analysis application; and receiving a compressed package of the second biological information analysis application uploaded by the client. The client is used to obtain an installation package and a license of the first biological information analysis application from the application market, where the installation package includes an application environment and a workflow encapsulation call code of the first biological information analysis application; establish a biological information analysis process, where the target biological information analysis application in the biological information analysis process includes the first biological information analysis application obtained from the application market and the second biological information analysis application established locally; determine whether the biological information analysis process meets the execution conditions according to the license, and analyze the biological information to be analyzed using the biological information analysis process when it is confirmed that the execution conditions are met.
[0015] According to another aspect of the embodiments of the present application, there is also provided a biological information analysis device, including: a download module, configured to obtain an installation package of a first biological information analysis application from an application market, where the installation package includes an application environment and a workflow encapsulation call code of the first biological information analysis application; an analysis module, configured to establish a biological information analysis process, where the target biological information analysis application in the biological information analysis process includes the first biological information analysis application obtained from the application market and a second biological information analysis application established locally; and a running module, configured to determine whether the biological information analysis process meets the execution conditions according to a license, and analyze the biological information to be analyzed using the biological information analysis process when it is confirmed that the execution conditions are met.
[0016] According to another aspect of the embodiments of the present application, there is also provided a non-volatile storage medium storing a program, where when the program runs, it controls a device where the non-volatile storage medium is located to execute a biological information analysis method.
[0017] According to another aspect of the embodiments of the present application, there is also provided an electronic device, including: a memory and a processor, where the processor is configured to run a program stored in the memory, and when the program runs, it executes a biological information analysis method.
[0018] In the embodiments of the present application, an installation package and a license of a first biological information analysis application are obtained from an application market, where the installation package includes an application environment and a workflow encapsulation call code of the first biological information analysis application; a biological information analysis process is established, where the target biological information analysis application in the biological information analysis process includes the first biological information analysis application obtained from the application market and a second biological information analysis application established locally; it is determined whether the biological information analysis process meets the execution conditions according to the license, and when it is confirmed that the execution conditions are met, the biological information analysis process is used to analyze the biological information to be analyzed. By obtaining an installation package containing the application environment and the workflow encapsulation call code of the first biological information analysis application from the application market to install the biological information analysis application, and establishing a biological analysis process based on the first biological information analysis application and the second biological information analysis application established locally, the purpose of efficiently establishing a biological information analysis process is achieved, thereby realizing the technical effect of efficiently analyzing biological information, and further solving the technical problems of excessive manpower consumption and low analysis efficiency caused by the method of manually writing script components to analyze the process in the related art. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] The drawings described herein are used to provide a further understanding of the present application, and constitute a part of the present application. The illustrative embodiments and descriptions thereof of the present application are used to explain the present application, and do not constitute an improper limitation to the present application. In the drawings:
[0020] Figure 1 It is a schematic structural diagram of a biological information analysis system provided according to an embodiment of the present application;
[0021] Figure 2 It is a schematic flowchart of a biological information analysis method provided according to an embodiment of the present application;
[0022] Figure 3 It is a schematic diagram of the process of constructing a biological information analysis process provided according to an embodiment of the present application;
[0023] Figure 4 It is a schematic diagram of the process of license generation and parsing provided according to an embodiment of the present application;
[0024] Figure 5 It is a schematic flowchart of the process of verifying a license provided according to an embodiment of the present application;
[0025] Figure 6 It is a schematic page diagram of a reference sequence management page provided according to an embodiment of the present application;
[0026] Figure 7 It is a schematic page diagram of a biological information analysis process resource configuration page provided according to an embodiment of the present application;
[0027] Figure 8 It is a schematic flowchart of a process of customizing an analysis report provided according to an embodiment of the present application;
[0028] Figure 9 It is a schematic diagram of a custom tool page provided according to an embodiment of the present application;
[0029] Figure 10 It is a schematic structural diagram of a biological information analysis device provided according to an embodiment of the present application;
[0030] Figure 11 It is a schematic structural diagram of a computer terminal (mobile terminal) provided according to an embodiment of the present application. Detailed implementation manners
[0031] In order to enable those skilled in the art to better understand the solution of the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present application.
[0032] It should be noted that the terms "first", "second", etc. in the description, claims and above-mentioned drawings of this application are used to distinguish similar objects, and do not necessarily need to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged under appropriate circumstances, so that the embodiments of this application described here can be implemented in an order other than those illustrated or described here. In addition, the terms "comprising" and "having" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device comprising a series of steps or units does not necessarily have to be limited to those steps or units clearly listed, but may include other steps or units not clearly listed or inherent to these processes, methods, products or devices.
[0033] Currently, with the continuous reduction of sequencing costs, the demand for bioinformatics analysis is increasing day by day. The traditional bioinformatics analysis process is to manually write scripts and build analysis processes in a local system (such as a Linux system). The problem with this method is that it requires a relatively high programming ability for users, and the written scripts are usually not reusable.
[0034] The related art also provides a way to share bioinformatics analysis tools by using cloud technology. However, the problem with this method is that data needs to be uploaded to the cloud, resulting in relatively low security. And it is impossible to achieve linkage with local sequencers. When using the method of directly downloading application programs to the local to build an analysis process, due to the problem that different client application environments are not considered in the related art, there is a probability that the downloaded application programs cannot be directly used. In addition, when there are a large number of downloaded application programs, how to arrange each application program to obtain an analysis process also poses a relatively high requirement for the personal ability of users.
[0035] In addition, in the related art, bioinformatics software is installed on the server, resulting in high compilation difficulty and great difficulty in cross-platform export for custom applications. Moreover, in the related art, the user-defined process cannot connect to the local sequencer, resulting in independent operation between the bioinformatics process and the sequencer, with relatively low work efficiency. And in the related art, licenses are not used to manage the bioinformatics application process, which does not meet the requirements of application security and commerciality.
[0036] To solve the above problems, relevant solutions are provided in the embodiments of this application, which are described in detail below.
[0037] According to the embodiments of this application, a method embodiment of a bioinformatics analysis method is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. And although the logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that here.
[0038] Figure 1 is a schematic structural diagram of the bioinformatics analysis system provided by the embodiments of the present application. This system can be used to execute the bioinformatics analysis method provided by the embodiments of the present application. As Figure 1 shown, this system includes: an application market 10 and a client 12.
[0039] Specifically, the application market 10 is used to provide installation packages of bioinformatics analysis applications. Among them, the installation package includes the application environment and workflow encapsulation call codes of the bioinformatics analysis applications; and receive the compressed packages of the second bioinformatics analysis applications uploaded by the client 12. The client 12 is used to obtain the installation package of the first bioinformatics analysis application from the application market 10. Among them, the installation package includes the application environment and workflow encapsulation call codes of the first bioinformatics analysis application; determine the input data and output data of each first bioinformatics analysis application, and determine the input-output relationship between each first bioinformatics analysis application according to the input data and output data; determine the association relationship between each first bioinformatics analysis application according to the input-output relationship; determine the bioinformatics analysis process according to the association relationship and the workflow encapsulation call codes of each first bioinformatics analysis application, and analyze the bioinformatics to be analyzed using the bioinformatics analysis process.
[0040] It should be noted that one application market 10 can correspond to multiple clients 12 and provide installation packages for multiple clients 12 at the same time.
[0041] In some embodiments of the present application, as Figure 1 shown, the application market 10 supports functions such as application listing, label classification, application introduction, license generation, etc. The local client supports functions such as application installation, license installation, license usage record, parameter version management, analysis management, reference sequence management, custom tools, custom processes, developer platforms, etc. In addition, the client 12 also provides a container management platform (docker) to facilitate the management and invocation of application programs running in different containers.
[0042] It can be seen that the application market 10 provided by the present application can provide a variety of bioinformatics analysis applications and make them available for users to download. Developers can upload the developed bioinformatics analysis applications to the application market 10 to achieve the integration of bioinformatics analysis applications. In addition, in the application market 10, in order to avoid the situation that the bioinformatics analysis applications cannot run properly due to different local environments in the client 12, the installation packages of the bioinformatics analysis applications provided to customers also include containers for providing the basic environment of the applications, as well as the workflow encapsulation and call codes of the application programs. This not only ensures that the bioinformatics analysis applications provided to users can cover various needs of users, but also solves the installation and compilation problems of bioinformatics software in the client 12 with different operating environments, which is equivalent to achieving the normal installation and compilation of bioinformatics software in the client 12 with various operating environments.
[0043] In some embodiments of the present application, the above-mentioned client 12 can be a web version client running on a local device, and users can purchase and install bioinformatics analysis applications through a web page.
[0044] Under the above-mentioned operating environment, an embodiment of the present application provides a bioinformatics analysis method, as Figure 2 shown, the method includes the following steps:
[0045] Step S202, obtain the installation package and license of the first bioinformatics analysis application from the application market, where the installation package includes the application environment and workflow encapsulation and call codes of the first bioinformatics analysis application;
[0046] In the technical solution provided in step S202, the above-mentioned application environment can be a docker container encapsulating the basic operating environment of the first bioinformatics analysis application. The above-mentioned workflow encapsulation and call codes can be written in the workflow language WDL and the scheduling analysis of the application can be implemented through the CROMWELL engine. In addition, in order to further improve the processing speed and achieve the processing of a large amount of data, the first bioinformatics analysis application can be run on a local high-performance cluster.
[0047] By using docker scheduling to run the application during operation and packaging the application base in the docker image, the feature that docker can run across platforms is fully utilized, and the incompatibility problem of bioinformatics analysis applications on different platforms is solved.
[0048] Step S204, establish a bioinformatics analysis process, where the target bioinformatics analysis application in the bioinformatics analysis process includes the first bioinformatics analysis application obtained from the application market and the second bioinformatics analysis application established locally;
[0049] Specifically, the steps of establishing a bioinformatics analysis process include: determining the input data and output data of each of the target bioinformatics analysis applications, and determining the input-output relationships between each of the target bioinformatics analysis applications based on the input data and the output data; determining the association relationships between each of the target bioinformatics analysis applications; and determining the bioinformatics analysis process based on the association relationships and the workflow encapsulation call codes of each of the target bioinformatics analysis applications.
[0050] In the technical solution provided in step S204, a custom process module may be set in the local client. This module can obtain all the custom tools in the current client and the relevant information of the downloaded target bioinformatics analysis applications, including determining the input data and output data of each first bioinformatics analysis application and the downloaded first bioinformatics analysis applications, and determining the input-output relationships between different target bioinformatics analysis applications based on the input data and the output data. Among them, the input-output relationship includes which custom tools or target bioinformatics analysis applications can output the input data of each custom tool or target bioinformatics analysis application, and which custom tools or target bioinformatics analysis applications can receive the output data of each custom tool or target bioinformatics analysis application.
[0051] In some embodiments of the present application, in addition to determining the association relationship according to the input-output relationship, the input-output relationship between the target bioinformatics analysis applications can also be determined by application tags. Specifically, the first bioinformatics analysis applications downloaded in the application market all have corresponding application tags, and the first bioinformatics analysis applications with the same tags are generally considered to have an association relationship.
[0052] As an optional implementation manner, the steps of determining the association relationships between each of the target bioinformatics analysis applications according to the input-output relationship include: determining the license information of each of the target bioinformatics analysis applications, where the license information includes the available status of each of the target bioinformatics analysis applications; and determining the association relationships between each of the target bioinformatics analysis applications based on the license information and the input-output relationship of each of the target bioinformatics analysis applications.
[0053] Specifically, such as Figure 3As shown in the figure, when constructing a bioinformatics analysis process, the user can use a drag-and-drop method to associate target bioinformatics analysis applications with an association relationship. This drag-and-drop method does not require the user to program when constructing the process, greatly simplifying the work of process construction. In addition, when the client responds to the user's operations such as dragging and selecting to construct a bioinformatics analysis process, the custom process module can recommend downstream applications based on the input-output relationship of the target bioinformatics analysis application and the information of the application label, helping the user find the desired application. The application label is used to indicate the application type of the target bioinformatics analysis application and briefly describe the function of the target bioinformatics analysis application.
[0054] In addition, the user can also double-click on the tool to set the default value of the tool parameters, or pull out the parameters as the parameters entered during operation.
[0055] In some embodiments of the present application, as Figure 4 shown, when the user purchases the first bioinformatics analysis application, the user will upload the machine code generated based on the server hardware serial number. After that, the application market will fill in the machine code in the preset purchase order template, then place an order to purchase the first bioinformatics analysis application, and generate license information. After that, when the user downloads and installs the first bioinformatics analysis application, the user will synchronously obtain the license of the first bioinformatics analysis application and decode the license after the download and installation are completed.
[0056] As an optional implementation method, the steps of determining the association relationship between each target bioinformatics analysis application according to the license information and input-output relationship of each target bioinformatics analysis application include: determining a second target bioinformatics analysis application corresponding to the first target bioinformatics analysis application according to the input-output relationship, where the first target bioinformatics analysis application is any target bioinformatics analysis application selected by the target object, and the second target bioinformatics analysis application is a target bioinformatics analysis application whose input data is the output data of the first target bioinformatics analysis application; in the case of determining multiple second target bioinformatics analysis applications, determining the license information of each second target bioinformatics analysis application, and determining whether each second target bioinformatics analysis application is available according to the license information; displaying each available second target bioinformatics analysis application to the target object, and determining the downstream target bioinformatics analysis application of the first target bioinformatics analysis application from each available second target bioinformatics analysis application in response to the selection operation of the target object; determining the association relationship between each target bioinformatics analysis application according to the downstream target bioinformatics analysis application of each target bioinformatics analysis application.
[0057] Specifically, in the embodiments of the present application, a method for protecting the revenue of the provider of the first bioinformatics analysis application by license counting is further provided. Before determining the bioinformatics analysis process and analyzing the bioinformatics to be analyzed using the bioinformatics analysis process, the licenses of each first bioinformatics analysis application can be verified, and their usage information can be recorded. The purpose of verifying the license is to determine whether the current first bioinformatics analysis application is available and to predict whether it can remain available throughout the current analysis process. In this way, by verifying the licenses of each first bioinformatics analysis application, when recommending downstream applications to users, only the currently available first bioinformatics analysis applications can be recommended, and the available surplus of each first bioinformatics analysis application can be determined according to the license, and the recommended first bioinformatics analysis applications can be recommended in descending order of the available surplus.
[0058] In some embodiments of the present application, the available status of the target bioinformatics analysis application includes at least one of the following: the number of samples that the target bioinformatics analysis application can analyze, the amount of data that the target bioinformatics analysis application can be used to analyze samples, the processor core time and storage resources consumed by the target bioinformatics analysis application when analyzing samples, where the processor core time and storage resources refer to the CPU resources and memory resources that the bioinformatics analysis application needs to consume when running. The bioinformatics analysis application will apply for resources from the server according to the preset resources before starting the analysis, and will only continue to execute the analysis process when the computing resources provided by the current server meet the analysis resource requirements of the application. Different applications have different analysis resource requirements. When verifying the license of the target bioinformatics analysis application, the number of samples that the target bioinformatics analysis application can analyze, or the available data volume, the consumed CPU core time and storage resources, etc. can be determined according to the verification result, and it can be estimated whether each target bioinformatics analysis application can remain available throughout the current analysis process according to the bioinformatics to be analyzed. The above available surplus includes the number of samples that the current target bioinformatics analysis application can still analyze without recharging and renewing the license, or the amount of data that can still be used to analyze samples, the CPU core time and storage resources that can be consumed during the process of analyzing samples, etc.
[0059] Step 206, determine whether the bioinformatics analysis process meets the execution conditions according to the license, and analyze the bioinformatics to be analyzed using the bioinformatics analysis process when it is confirmed that the execution conditions are met.
[0060] In the technical solution provided in step S206, the process of verifying the license is as Figure 5 shown, including the following steps:
[0061] Step S502, obtain the license information of the first bioinformatics analysis application;
[0062] Step S504: Determine whether the available margin for the application of the target biological information is sufficient according to the license information;
[0063] Step S506: When the available margin is insufficient, send a prompt message to the target object to recharge or renew the first biological information analysis application.
[0064] In some embodiments of the present application, after the step of encapsulating the call code to determine the biological information analysis process based on the association relationship and the workflows of each target biological information analysis application, the off-machine data of the target sequencer can also be added to the biological information analysis process to achieve fully automatic analysis of biological information. The specific steps are as follows: Set the off-machine data of the target sequencer as a system variable; Respond to the operation instruction of the target object to determine the access position of the system variable in the biological information process; According to the access position, add the system variable to the biological information process.
[0065] Specifically, in the embodiments of the present application, the off-machine data of the sequencer can be input into the biological information analysis process as a variable, so as to realize the information docking between the biological information analysis process and the sequencer. In addition, after connecting the biological information analysis process, the analysis result file can also be selected, and the selected result file can be used as the final analysis result to be retained and displayed, thus avoiding the long-term storage of intermediate analysis files and effectively improving the storage utilization rate. In some embodiments of the present application, the result visualization display function can also be used to display the result file. Specifically, the result display report can be arranged in a drag-and-drop manner, and the arranged report template is bound to the output result of the biological information analysis process. Finally, after the analysis is completed, the result file is automatically captured according to the result type and the report is displayed.
[0066] In addition, by inputting the off-machine data of the sequencer into the biological information analysis process as a variable, the analysis process can be automatically triggered after the sequencer uploads the data, thus realizing the fully automatic analysis of the off-machine data of the sequencer and improving the analysis efficiency.
[0067] In some embodiments of the present application, a reference genome can also be provided to facilitate the biological information analysis process to analyze the biological information to be analyzed. Specifically, the genome, reference library, transcript and other files of each species on the server can be uniformly built and managed in the application market and provided for the client to use. In this way, one-time library building can be reused, which is more convenient for each biological information analysis process to use. The management configuration page of the reference genome is as Figure 6 shown. As can be seen from Figure 6 , the user can select the corresponding template through the page, fill in the software for which the library needs to be built and then submit. After the submission is successful, the reference genome can be used as a public resource by each biological information analysis process.
[0068] In some embodiments of the present application, the user can also reflect the parameters of the biological information analysis process through the analysis management module in the local client, and perform resource configuration, priority configuration, analysis record configuration, log viewing, etc. of the process. Thus, the tracking of the logs and parameters of each analysis, as well as the configuration of functions such as task start, pause, cancellation, and restart of the analysis task, are realized. Among them, the priority configuration refers to the priority of the execution and submission of different analysis tasks. Through priority configuration, the queuing analysis of some urgent tasks can be realized.
[0069] The pages for resource configuration, priority configuration, and analysis record configuration of the process are as Figure 7 shown.
[0070] In some embodiments of the present application, the user can also customize the analysis results output by the biological information analysis process. Specifically, as Figure 8 shown, the user can mark the result file type and complete the custom report by dragging and arranging the display order. After the analysis step is completed, the corresponding result file will be structurally read automatically according to the marked result file type and rendered into a web report in the arranged order. After the process configuration is correct, the user can click to save. Then, the background of the client will merge the parameters of all tools in the process into the process parameters, and the corresponding analysis parameters can be configured through parameter version management.
[0071] As an optional implementation manner, the user can also write a biological information analysis application by himself / herself and upload it to the application market, including the following steps: obtaining the running environment compressed package of the second biological information analysis application uploaded to the target page, and the application description information of the second biological information analysis application input to the target page; determining the license of the second biological information analysis application, where the license is used to determine whether the second biological information analysis application is available; generating a compressed package of the second biological information analysis application based on the running environment compressed package, the application description information, and the license, and uploading the compressed package of the second biological information analysis application to the application market.
[0072] In some embodiments of the present application, the application description information includes at least one of the following: input parameters, result file type, required running memory and number of processors, and application type of the second biological information analysis application.
[0073] Specifically, the user can enter the developer platform through the target page and directly write code in various programming languages in the developer platform to obtain the second biological information analysis application, such as python or R code, etc. In addition, projects such as jupyter can also be used to establish a developer platform in the web page.
[0074] As an alternative implementation, as Figure 9 shown, the user can implement a custom bioinformatics analysis tool on the target page and upload the bioinformatics analysis tool to the application market. The user can upload the running environment docker package of the custom bioinformatics analysis tool or application on the target page, define input parameters, define result files, the amount of running memory and CPU, classification and tags, application description and other information to complete the configuration of the custom tool.
[0075] By obtaining the installation package and license of the first bioinformatics analysis application from the application market, where the installation package includes the application environment and workflow encapsulation call code of the first bioinformatics analysis application; establishing a bioinformatics analysis process, where the target bioinformatics analysis application in the bioinformatics analysis process includes the first bioinformatics analysis application obtained from the application market and the second bioinformatics analysis application established locally; determining whether the bioinformatics analysis process meets the execution conditions according to the license, and in the case of confirming that it meets the execution conditions, analyzing the bioinformatics to be analyzed by using the bioinformatics analysis process. By obtaining the installation package containing the application environment and workflow encapsulation call code of the first bioinformatics analysis application from the application market to install the bioinformatics analysis application, and establishing a bioanalysis process according to the first bioinformatics analysis application and the second bioinformatics analysis application established locally, the purpose of efficiently establishing a bioinformatics analysis process is achieved, thus realizing the technical effect of efficiently analyzing bioinformatics, and further solving the technical problems of excessive manpower consumption and low analysis efficiency caused by the method of manually writing script components to analyze the process in the related technology.
[0076] The embodiment of the present application provides a bioinformatics analysis device. Figure 10 is the structural schematic diagram of the device, as Figure 10 shown, the device includes: a download module 100, configured to obtain the installation package of the first bioinformatics analysis application from the application market, where the installation package includes the application environment and workflow encapsulation call code of the first bioinformatics analysis application; an analysis module 102, configured to establish a bioinformatics analysis process, where the target bioinformatics analysis application in the bioinformatics analysis process includes the first bioinformatics analysis application obtained from the application market and the second bioinformatics analysis application established locally; a running module 104, configured to determine whether the bioinformatics analysis process meets the execution conditions according to the license, and in the case of confirming that it meets the execution conditions, analyze the bioinformatics to be analyzed by using the bioinformatics analysis process.
[0077] In some embodiments of the present application, the steps for the analysis module 102 to establish a biological information analysis process include: determining the input data and output data of each target biological information analysis application, and determining the input-output relationship between each target biological information analysis application based on the input data and output data; determining the association relationship between each target biological information analysis application; and determining the biological information analysis process based on the association relationship and the workflow encapsulation call code of each target biological information analysis application.
[0078] In some embodiments of the present application, the steps for the analysis module 102 to determine the association relationship between each target biological information analysis application include: determining the input data and output data of each target biological information analysis application, and determining the input-output relationship between each target biological information analysis application based on the input data and output data; determining the association relationship between each target application based on the input-output relationship; or determining the association relationship between each target biological information analysis application based on the licenses of each target biological information analysis application.
[0079] In some embodiments of the present application, the steps for the analysis module 102 to determine the association relationship between each target biological information analysis application based on the input-output relationship include: determining the license information of each target biological information analysis application, where the license information includes the available status of each target biological information analysis application; and determining the association relationship between each target biological information analysis application based on the license information and the input-output relationship of each target biological information analysis application.
[0080] In some embodiments of the present application, the steps for the analysis module 102 to determine the association relationship between each target biological information analysis application based on the license information and the input-output relationship of each target biological information analysis application include: determining a second target biological information analysis application corresponding to a first target biological information analysis application based on the input-output relationship, where the first target biological information analysis application is any target biological information analysis application selected by the target object, and the second target biological information analysis application is a target biological information analysis application whose input data is the output data of the first target biological information analysis application; in the case of determining multiple second target biological information analysis applications, determining the license information of each second target biological information analysis application, and determining whether each second target biological information analysis application is available based on the license information; presenting each available second target biological information analysis application to the target object, and determining the downstream target biological information analysis application of the first target biological information analysis application from each available second target biological information analysis application in response to the selection operation of the target object;
[0081] Determining the association relationship between each target biological information analysis application based on the downstream target biological information analysis application of each target biological information analysis application.
[0082] In some embodiments of the present application, the available states of the target bioinformatics analysis application include at least one of the following: the number of samples that the target bioinformatics analysis application can analyze, the amount of data that the target bioinformatics analysis application can use to analyze samples, the processor core hours and storage resources consumed by the target bioinformatics analysis application when analyzing samples.
[0083] In some embodiments of the present application, after determining the steps of the bioinformatics analysis process according to the association relationship and the call code encapsulated for each target bioinformatics analysis application's workflow, the bioinformatics analysis device is further configured to: set the off-line data of the target sequencer as a system variable; respond to an operation instruction of a target object, and determine the access position of the system variable in the bioinformatics process; and add the system variable to the bioinformatics process according to the access position.
[0084] In some embodiments of the present application, the bioinformatics analysis device is further configured to: obtain a compressed package of the operating environment of the second bioinformatics analysis application uploaded to the target page, and the application description information of the second bioinformatics analysis application input to the target page; determine the license of the second bioinformatics analysis application, where the license is used to determine whether the second bioinformatics analysis application is available; generate a compressed package of the second bioinformatics analysis application according to the compressed package of the operating environment, the application description information, and the license, and upload the compressed package of the second bioinformatics analysis application to the application market.
[0085] In some embodiments of the present application, the application description information includes at least one of the following: input parameters, result file types, required operating memory and number of processors, and the application type of the second bioinformatics analysis application.
[0086] It should be noted that each module in the above bioinformatics analysis device may be a program module (for example, a set of program instructions for implementing a specific function), or a hardware module. For the latter, it may be presented in the following forms, but not limited to this: the manifestation form of each of the above modules is a processor, or the functions of each of the above modules are implemented by a processor.
[0087] An embodiment of the present application further provides a non-volatile storage medium. A program is stored in the non-volatile storage medium. When the program runs, it controls the device where the non-volatile storage medium is located to execute the following biological information analysis method: obtain the installation package and license of the first biological information analysis application from the application market, where the installation package includes the application environment and workflow encapsulation call code of the first biological information analysis application; establish a biological information analysis process, where the target biological information analysis application in the biological information analysis process includes the first biological information analysis application obtained from the application market and the second biological information analysis application established locally; determine whether the biological information analysis process meets the execution conditions according to the license, and analyze the biological information to be analyzed using the biological information analysis process when it is confirmed that the execution conditions are met.
[0088] The method embodiment provided by the embodiment of the present application can be executed on a mobile terminal, a computer terminal or a similar computing device. Figure 11 The hardware structure block diagram of a computer terminal (or mobile device) for implementing the biological information analysis method is shown. As Figure 11 shown, the computer terminal 11 (or mobile device 11) may include one or more (shown as 11, 10,..., 112n in the figure) processors 112 (the processor 112 may include, but is not limited to, a processing device such as a microprocessor MCU or a programmable logic device FPGA), a memory 114 for storing data, and a transmission module 116 for communication functions. In addition, it may further include: a display, an input / output interface (I / O interface), a universal serial bus (USB) port (which may be included as one of the ports of the BUS bus), a network interface, a power supply, and / or a camera. Those of ordinary skill in the art can understand that Figure 11 the structure shown is only schematic and does not limit the structure of the above-mentioned electronic device. For example, the computer terminal 11 may further include more or fewer components than Figure 11 shown, or have a different configuration from Figure 11 shown.
[0089] It should be noted that the above one or more processors 112 and / or other data processing circuits are generally referred to as "data processing circuits" in this article. The data processing circuit may be fully or partially embodied as software, hardware, firmware, or any combination thereof. In addition, the data processing circuit may be a single independent processing module, or fully or partially incorporated into any one of the other elements in the computer terminal 11 (or mobile device). As involved in the embodiment of the present application, the data processing circuit is used for processor control (such as the selection of a variable resistor terminal path connected to an interface).
[0090] The memory 114 can be used to store software programs and modules of application software, such as the program instructions / data storage device corresponding to the biological information analysis method in the embodiments of the present application. The processor 112 executes various functional applications and data processing by running the software programs and modules stored in the memory 114, that is, implements the above-mentioned biological information analysis method. The memory 114 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memories. In some instances, the memory 114 may further include a memory remotely disposed relative to the processor 112, and these remote memories can be connected to the computer terminal 11 through a network. Examples of the above-mentioned network include but are not limited to the Internet, enterprise intranet, local area network, mobile communication network, and combinations thereof.
[0091] The transmission device 116 is used to receive or send data via a network. Specific examples of the above-mentioned network may include the wireless network provided by the communication provider of the computer terminal 11. In one instance, the transmission device 116 includes a network adapter (Network Interface Controller, NIC), which can be connected to other network devices through a base station and thus can communicate with the Internet. In one instance, the transmission device 116 can be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.
[0092] The display can be, for example, a touch-screen liquid crystal display (LCD), which enables the user to interact with the user interface of the computer terminal 11 (or mobile device).
[0093] In the above embodiments of the present application, the descriptions of the various embodiments have their own emphases. For the parts not detailed in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0094] In several embodiments provided by the present application, it should be understood that the disclosed technical content can be implemented in other ways. Among them, the device embodiments described above are merely illustrative. For example, the division of the units can be a logical function division, and there may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed coupling or direct coupling or communication connection to each other can be through some interfaces, and the indirect coupling or communication connection of units or modules can be in an electrical or other form.
[0095] The unit described as a separation component may or may not be physically separated. The component shown as a unit may or may not be a physical unit, that is, it may be located in one place or may be distributed over multiple units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0096] In addition, each functional unit in various embodiments of the present application can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
[0097] If the above-mentioned integrated unit 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 such an understanding, the technical solution of the present application, in essence, or the part that contributes to the related technology, or all or part of this technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in various embodiments of the present application. The foregoing storage medium includes: USB flash drive, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), mobile hard disk, magnetic disk, or optical disc and other various media that can store program codes.
[0098] The above is only the preferred embodiment of the present application. It should be noted that for those of ordinary skill in the art, without departing from the principle of the present application, several improvements and refinements can be made, and these improvements and refinements should also be regarded as the protection scope of the present application.
Claims
1. A biological information analysis method, characterized in that, Including: Obtain the installation package and license of the first bioinformatics analysis application from the application market, where the installation package includes the application environment and workflow encapsulation call code of the first bioinformatics analysis application; Establish a bioinformatics analysis process, where the target bioinformatics analysis applications in the bioinformatics analysis process include the first bioinformatics analysis application obtained from the application market and the second bioinformatics analysis application established locally; Determine whether the bioinformatics analysis process meets the execution conditions according to the license, and analyze the bioinformatics to be analyzed using the bioinformatics analysis process when it is confirmed that the execution conditions are met.
2. The bioinformatics analysis method according to claim 1, wherein The step of establishing the bioinformatics analysis process includes: Determine the input data and output data of each of the target bioinformatics analysis applications, and determine the input-output relationship between each of the target bioinformatics analysis applications according to the input data and the output data; Determine the association relationship between each of the target bioinformatics analysis applications; Determine the bioinformatics analysis process according to the association relationship and the workflow encapsulation call code of each of the target bioinformatics analysis applications.
3. The bioinformatics analysis method according to claim 2, characterized in that, The step of determining the association relationship between each of the target bioinformatics analysis applications includes: Determine the input data and output data of each of the target bioinformatics analysis applications, and determine the input-output relationship between each of the target bioinformatics analysis applications according to the input data and the output data; determine the association relationship between each of the target applications according to the input-output relationship; or, Determine the association relationship between each of the target bioinformatics analysis applications according to the application labels of each of the target bioinformatics analysis applications.
4. The bioinformatics analysis method according to claim 3, wherein The step of determining the association relationship between each of the target bioinformatics analysis applications according to the input-output relationship includes: Determine the license information of each of the target bioinformatics analysis applications, where the license information includes the available status of each of the target bioinformatics analysis applications; Determine the association relationship between each of the target bioinformatics analysis applications according to the license information of each of the target bioinformatics analysis applications and the input-output relationship.
5. The bioinformatics analysis method according to claim 4, wherein The available status of the target bioinformatics analysis application includes at least one of the following: the number of samples that the target bioinformatics analysis application can analyze, the amount of data that the target bioinformatics analysis application can be used to analyze samples, the processor core time and storage resources consumed by the target bioinformatics analysis application when analyzing samples.
6. The bioinformatics analysis method according to claim 3, wherein The step of determining the association relationship between each of the target bioinformatics analysis applications according to the license information of each of the target bioinformatics analysis applications and the input-output relationship includes: Determine a second target biological information analysis application corresponding to the first target biological information analysis application according to the input-output relationship, where the first target biological information analysis application is any of the target biological information analysis applications selected by the target object, and the second target biological information analysis application is a target biological information analysis application whose input data is the output data of the first target biological information analysis application; In the case where multiple second target biological information analysis applications are determined, determine the license information of each second target biological information analysis application, and determine whether each second target biological information analysis application is available according to the license information; Display each available second target biological information analysis application to the target object, and determine the downstream target biological information analysis application of the first target biological information analysis application from each available second target biological information analysis application in response to the selection operation of the target object; Determine the association relationship between each target biological information analysis application according to the downstream target biological information analysis application of each target biological information analysis application.
7. The bioinformatics analysis method according to claim 2, wherein After the step of determining the biological information analysis process according to the association relationship and the workflow encapsulation call code of each target biological information analysis application, the biological information analysis method further includes: Set the off-machine data of the target sequencer as a system variable; In response to the operation instruction of the target object, determine the access position of the system variable in the biological information process; Add the system variable to the biological information process according to the access position.
8. The bioinformatics analysis method according to claim 1, characterized in that The biological information analysis method further includes: Obtain the runtime environment compressed package of the second biological information analysis application uploaded to the target page, and the application description information of the second biological information analysis application input to the target page; Determine the license of the second biological information analysis application, where the license is used to determine whether the second biological information analysis application is available; Generate a compressed package of the second biological information analysis application according to the runtime environment compressed package, the application description information and the license, and upload the compressed package of the second biological information analysis application to the application market.
9. The bioinformatics analysis method according to claim 8, wherein The application description information includes at least one of the following: input parameters, result file types, required runtime memory and number of processors, and the application type of the second biological information analysis application.
10. A biological information analysis system, characterized in that, Includes an application market and a client, where The application market is used to provide installation packages of biological information analysis applications, where the installation packages include the application environments and workflow encapsulation call codes of the biological information analysis applications; and receive the compressed packages of the second biological information analysis applications uploaded by the client; The client is used to obtain the installation package and license of the first bioinformatics analysis application from the application market. The installation package includes the application environment and workflow encapsulation call code of the first bioinformatics analysis application; establish a bioinformatics analysis process, where the target bioinformatics analysis applications in the bioinformatics analysis process include the first bioinformatics analysis application obtained from the application market and the second bioinformatics analysis application established locally; determine whether the bioinformatics analysis process meets the execution conditions according to the license, and analyze the bioinformatics to be analyzed using the bioinformatics analysis process when it is confirmed that the execution conditions are met.
11. A biological information analysis device, characterized in that, It includes: A download module, which is used to obtain the installation package of the first bioinformatics analysis application from the application market. The installation package includes the application environment and workflow encapsulation call code of the first bioinformatics analysis application; An analysis module, which is used to establish a bioinformatics analysis process, where the target bioinformatics analysis applications in the bioinformatics analysis process include the first bioinformatics analysis application obtained from the application market and the second bioinformatics analysis application established locally; A running module, which is used to determine whether the bioinformatics analysis process meets the execution conditions according to the license, and analyze the bioinformatics to be analyzed using the bioinformatics analysis process when it is confirmed that the execution conditions are met.
12. A non-volatile storage medium, characterized in that, A program is stored in the non-volatile storage medium. When the program runs, it controls the device where the non-volatile storage medium is located to execute the bioinformatics analysis method according to any one of claims 1 to 9.
13. An electronic device, characterized in that, It includes: A memory and a processor. The processor is used to run the program stored in the memory. When the program runs, it executes the bioinformatics analysis method according to any one of claims 1 to 9.