Bioinformatics analysis method, device and electronic device based on bioinformatics analysis tool module
By analyzing user requests and calling the biological information analysis tool module based on the main category and sub -category information, it solves the problem that it is difficult to organize and call different programming language tool modules in the existing technology, and realize the efficient biological information analysis process.
Patent Information
- Application Number
- CN202011486331.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-12-16
- Publication Date
- 2025-01-28
- Estimated Expiration
- 2040-12-16
AI Technical Summary
The prior art is difficult to effectively organize and call bioinformation analysis programs written by different programming languages, resulting in difficulties for users in conducting personalized or advanced bioinformation analysis.
By analyzing user requests, determine the type of request, and determine the biological information analysis tool module based on the main category information and sub -category information, use the compiler information to call the module, so as to realize the unified organization and call of different programming language tool modules.
The effective unified management and calls of biological information analysis tool modules written by different programming languages have been achieved, and the user's analysis process is simplified and the analysis efficiency is improved.
Smart Images

Figure CN112596707B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of bioinformatics analysis, and more specifically, to a bioinformatics analysis method, device and electronic device based on a bioinformatics analysis tool module. Background Art
[0002] Bioinformatics analysis requires a variety of bioinformatics analysis programs. Due to the diversity of bioinformatics analysis needs and the limited number of programming languages mastered by each bioinformatics developer, most prefer to use one or two programming languages to write data processing programs, making most bioinformatics analysis processes contain programs written in many types of languages.
[0003] Specifically, bioinformatics analysis programs are mostly written in scripting languages such as Python, Perl, R, and shell, and the bioinformatics analysis process may involve programs written in many different programming languages. These programs are published by different researchers and are optimized for each link. These programs connect upstream and downstream analyses to form a complete bioinformatics analysis process.
[0004] Therefore, if you want to perform personalized or advanced bioinformatics analysis, you need to use multiple different programs. Most of these programs are scattered in various directories, which are inconvenient to find and use, thus causing great difficulties for users' bioinformatics analysis.
[0005] Therefore, it is desirable to provide a solution that can effectively and uniformly organize and call bioinformatics analysis programs written in different programming languages for different directions. Summary of the invention
[0006] In order to solve the above technical problems, the present application is proposed. The embodiments of the present application provide a bioinformatics analysis method, device and electronic device based on a bioinformatics analysis tool module, which parses the user request to determine the type of the user request, determines the bioinformatics analysis tool module to be called based on the main category information and the subcategory information, and calls the bioinformatics analysis tool module using the compiler information, so as to effectively unify the organization and call the bioinformatics analysis tool modules for different directions written in different programming languages. For example: The inventor has developed and organized a tool set involving 3 programming languages, 9 analysis modules (the analysis modules are RNA, DNA, EPI, HIC, Medical, Multiomics, Plot, PRO and Public), and 96 analysis tools, and it is widely used in personalized analysis services.
[0007] According to one aspect of the present application, a bioinformatics analysis method based on a bioinformatics analysis tool module is provided, comprising: receiving a user request; parsing the user request to determine the type of the user request; in response to the user request being a tool call request, determining a main category field and a subcategory field associated with the user request, wherein the main category relates to an analysis type of bioinformatics analysis, and the subcategory relates to an analysis module under each analysis type; based on the main category field and the subcategory field, determining a bioinformatics analysis tool module to be called by using the main category information and the subcategory information of the bioinformatics analysis tool module; and calling the bioinformatics analysis tool module using the compiler information of the bioinformatics analysis tool module.
[0008] In the above bioinformatics analysis method based on bioinformatics analysis tool module, after parsing the user request to determine the type of the user request, the method further comprises: in response to the user request being a tool query request, presenting a bioinformatics analysis tool module associated with the user request.
[0009] In the above-mentioned bioinformatics analysis method based on the bioinformatics analysis tool module, after parsing the user request to determine the type of the user request, it further includes: in response to the user request being a category addition request, adding the bioinformatics analysis tool category specified by the user request to the bioinformatics analysis tool library.
[0010] In the above-mentioned bioinformatics analysis method based on the bioinformatics analysis tool module, after parsing the user request to determine the type of the user request, it further includes: in response to the user request being a tool addition request, adding the bioinformatics analysis tool specified by the user request to the bioinformatics analysis tool library.
[0011] In the above bioinformatics analysis method based on the bioinformatics analysis tool module, after parsing the user request to determine the type of the user request, the method further comprises: in response to the user request being a tool update request, updating the bioinformatics analysis tool specified by the user request into the bioinformatics analysis tool library.
[0012] In the above-mentioned bioinformatics analysis method based on the bioinformatics analysis tool module, parsing the user request to determine the type of the user request includes: parsing the user request to obtain the name of the first field contained in the user request; and determining the type of the user request based on the name of the first field.
[0013] In the above-mentioned bioinformatics analysis method based on the bioinformatics analysis tool module, in response to the user request being a tool call request, determining the main category field and subcategory field associated with the user request includes: in response to the user request being a tool call request, determining whether the user request contains a main category field and / or a subcategory field; in response to the user request not containing both the main category field and the subcategory field, presenting a main category list; receiving a selection of a predetermined main category in the main category list, displaying the categories of subcategories contained in the predetermined main category; and, receiving a selection of a predetermined subcategory in the subcategory list, and determining the predetermined main category and the predetermined subcategory as the main category field and subcategory field associated with the user request.
[0014] In the above-mentioned bioinformatics analysis method based on the bioinformatics analysis tool module, based on the main category field and the subcategory field, determining the bioinformatics analysis tool module to be called by using the main category information and subcategory information of the bioinformatics analysis tool module includes: based on the main category field and the subcategory field, displaying a list of bioinformatics analysis tool modules containing main category information and subcategory information matching the main category field and the subcategory field; and selecting the bioinformatics analysis tool module to be called from the list.
[0015] In the above-mentioned bioinformatics analysis method based on the bioinformatics analysis tool module, it further includes: in response to the user request being a tool calling request, determining whether the user request contains the name of the bioinformatics analysis tool module to be called; and in response to the user request containing the name of the bioinformatics analysis tool module to be called, calling the bioinformatics analysis tool module.
[0016] According to another aspect of the present application, a bioinformatics analysis device based on a bioinformatics analysis tool module is provided, comprising: a receiving unit for receiving a user request; a parsing unit for parsing the user request to determine the type of the user request; a category determination unit for determining a main category field and a subcategory field associated with the user request in response to the user request being a tool call request, wherein the main category relates to an analysis type of bioinformatics analysis, and the subcategory relates to an analysis module under each analysis type; a module determination unit for determining a bioinformatics analysis tool module to be called based on the main category field and the subcategory field by using the main category information and the subcategory information of the bioinformatics analysis tool module; and a calling unit for calling the bioinformatics analysis tool module using the compiler information of the bioinformatics analysis tool module.
[0017] According to another aspect of the present application, an electronic device is provided, comprising: a processor; and a memory, wherein computer program instructions are stored in the memory, and when the computer program instructions are executed by the processor, the processor executes the bioinformatics analysis method based on the bioinformatics analysis tool module as described above.
[0018] According to another aspect of the present application, a computer-readable medium is provided, on which computer program instructions are stored. When the computer program instructions are executed by a processor, the processor executes the bioinformatics analysis method based on the bioinformatics analysis tool module as described above.
[0019] The bioinformatics analysis method, apparatus, and electronic device based on the bioinformatics analysis tool module provided by the embodiments of the present application can parse the user request to determine the type of the user request, determine the bioinformatics analysis tool module to be called based on the main category information and the subcategory information, and call the bioinformatics analysis tool module using the compiler information, thereby effectively and uniformly organizing and calling the bioinformatics analysis tool modules for different directions written in different programming languages. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] By describing the embodiments of the present application in more detail in conjunction with the accompanying drawings, the above and other purposes, features and advantages of the present application will become more apparent. The accompanying drawings are used to provide a further understanding of the embodiments of the present application and constitute a part of the specification. Together with the embodiments of the present application, they are used to explain the present application and do not constitute a limitation of the present application. In the accompanying drawings, the same reference numerals generally represent the same components or steps.
[0021] Figure 1A The diagram shows a schematic diagram of classification and statistics of Hi-C bioinformatics analysis tool modules according to programming languages.
[0022] Figure 1B The diagram shows a schematic diagram of classification and statistics of tool modules for single-cell bioinformatics analysis according to programming languages.
[0023] Figure 2 The figure illustrates a flow chart of a bioinformatics analysis method based on a bioinformatics analysis tool module according to an embodiment of the present application.
[0024] Figure 3 An example of a development directory of a tool module according to an embodiment of the present application is illustrated.
[0025] Figure 4 A schematic diagram illustrating the specific contents of the .ini file of the tool module according to an embodiment of the present application is illustrated.
[0026] Figure 5A schematic diagram illustrating the specific contents of the header file of the .md file of the tool module according to an embodiment of the present application is illustrated.
[0027] Figure 6 A schematic diagram illustrating the specific contents of the body part of the .md file of the tool module according to an embodiment of the present application is illustrated.
[0028] Figure 7 A schematic diagram of presenting all tool modules under a subcategory to a user according to an embodiment of the present application is illustrated.
[0029] Figure 8 The diagram illustrates a schematic diagram of a user directly specifying a specific tool module under a subcategory according to an embodiment of the present application.
[0030] Fig. 9 A schematic diagram of calling a bioinformatics analysis tool module according to an embodiment of the present application is illustrated.
[0031] Fig.10 A schematic diagram showing all bioinformatics analysis tool modules under a certain subcategory according to an embodiment of the present application is illustrated.
[0032] Fig.11 A schematic diagram illustrating example contents of a standard .ini configuration file under a main category directory according to an embodiment of the present application is shown.
[0033] Fig.12 A schematic diagram illustrating a display result of adding a subcategory according to an embodiment of the present application is shown.
[0034] Fig.13 The diagram illustrates a directory structure of software for applying a bioinformatics analysis method based on a bioinformatics analysis tool module according to an embodiment of the present application.
[0035] Fig.14 The diagram shows Fig.13 A schematic diagram showing example contents of a configuration file of the main program of the software is shown.
[0036] Fig.15 The diagram shows Fig.13 A schematic diagram of example results of a dry run of the software is shown.
[0037] Fig.16 The figure illustrates a block diagram of a bioinformation analysis device based on a bioinformation analysis tool module according to an embodiment of the present application.
[0038] Fig.17 A block diagram of an electronic device according to an embodiment of the present application is illustrated. DETAILED DESCRIPTION
[0039] Below, the exemplary embodiments according to the present application will be described in detail with reference to the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all the embodiments of the present application, and it should be understood that the present application is not limited to the exemplary embodiments described here.
[0040] Application Overview
[0041] As mentioned above, in the bioinformatics analysis domain, a variety of bioinformatics analysis programs are needed. In addition, since bioinformatics analysis itself involves scientific exploration of many unknown areas, analysis programs often require innovative algorithms or software to achieve new explorations.
[0042] Specifically, according to the detection target, sample type and experimental library construction and sequencing type, bioinformatics analysis can be divided into many different types of analysis. For example, according to the analysis object, it can be divided into: RNA, DNA, protein, etc. According to the detection purpose of the object, it can also be divided into: transcriptome, proteome, genome resequencing, ChIP sequencing, chromatin accessibility sequencing, single-cell transcriptome, three-dimensional genome, etc. In addition, for each type of analysis, from the initial raw sequencing data to the complete data mining, there are often many steps that are connected in sequence, or parallel analysis aspects. These steps that are connected in sequence or parallel analysis contents can be abstracted into several analysis modules. And because bioinformatics analysis includes the realization of a variety of new requirements, such as the detection of fusion, mutation, copy number variation and structural variation, each analysis module may contain a variety of analysis tools or scripts related to this analysis module.
[0043] Taking Hi-C bioinformatics analysis of three-dimensional genome as an example, its main analysis levels and corresponding tool modules are as follows:
[0044] First, basic analysis includes quality control (tool modules such as fastp and FASTQC), alignment to reference genome (tool modules such as BWA and bowtie2), alignment to restriction fragments (tool modules such as HiC-Pro and HiCUP), and matrix construction (tool modules such as HiC-Pro and HiCUP). In addition, chromatin hierarchical structure analysis includes chromatin compartment analysis (tool modules such as HiTC and cworld), topologically related domain analysis (tool modules such as DomainCall, insulation and arrowhead), and chromatin loop related analysis (tool modules such as juicer and Fit-HiC).
[0045] Moreover, for each analysis level, there is a tool module for visualization, such as hicexplorer and HiTC. Here, visualization is parallel to each analysis level.
[0046] For each analysis level of Hi-C bioinformatics analysis, there is no unified agreement in practice on which language must be used to write the data processing software to achieve which requirement. Also, due to their learning background and other reasons, the developers of different bioinformatics software / packages have limited knowledge of programming languages, or prefer to use a certain programming language. This results in various software packages written in many programming languages at a specific bioinformatics analysis level.
[0047] Figure 1A The figure shows a schematic diagram of classifying and counting the tool modules of Hi-C bioinformatics analysis according to programming languages. Figure 1A As shown in the figure, we can see that there are a large number of tool modules implemented in different programming languages. Moreover, based on the specific tool modules at a certain analysis level, there are also cases where they are written in different languages. For example, for the tool module HiC-Pro, there are different tool modules written in R, python, C++, and shell.
[0048] In addition to Hi-C bioinformatics analysis, there are also a large number of tool modules implemented in different programming languages for other bioinformatics analysis belonging to different analysis categories. For example, Figure 1B The diagram shows a schematic diagram of classification and statistics of tool modules for single-cell bioinformatics analysis according to programming languages.
[0049] Here, the analysis level and tool modules of single-cell bioinformatics analysis can include the tool module seurat (written in R language) for single-cell data quality control, the tool module scrublet (written in python) for single-cell analysis of double-cell identification, the tool module iTALK (written in R language) for single-cell analysis of cell communication, and the tool module scanpy (written in python) for comprehensive processing of single-cell data.
[0050] Therefore, since there are a large number of tool modules written in different programming languages for different bioinformatics analysis functions, and there is currently no solution that can effectively and uniformly organize and call these tool modules, bioinformatics analysis brings a lot of inconvenience.
[0051] Based on this, the basic concept of the present application is to determine the type of user request by parsing the user request, determine the bioinformatics analysis tool module to be called based on the main category information and subcategory information, and call the bioinformatics analysis tool module using compiler information.
[0052] Specifically, the bioinformatics analysis method based on the bioinformatics analysis tool module provided by the present application, the device and the electronic device first receive a user request, then parse the user request to determine the type of the user request, and in response to the user request being a tool call request, determine the main category field and subcategory field associated with the user request, wherein the main category relates to the analysis type of bioinformatics analysis, and the subcategory relates to the analysis module under each analysis type, and then based on the main category field and the subcategory field, determine the bioinformatics analysis tool module to be called by using the main category information and subcategory information of the bioinformatics analysis tool module, and finally call the bioinformatics analysis tool module using the compiler information of the bioinformatics analysis tool module.
[0053] In this way, the bioinformatics analysis method, device and electronic device based on the bioinformatics analysis tool module provided in the present application can organize the tool modules for different bioinformatics analysis functions written in different programming languages into different categories, so that they can be queried and called in a unified manner. At the same time, each tool module can be developed and used separately.
[0054] That is, the bioinformatics analysis method based on the bioinformatics analysis tool module provided in the present application, the device and the electronic device can organize the tool modules written in different programming languages into categories through the main categories corresponding to the analysis types and the subcategories corresponding to the analysis modules under each analysis type, so that the included tool modules can be uniformly queried and called.
[0055] Furthermore, because queries are made through main categories and subcategories and calls are made through compiler information, each tool module itself can be independently developed and used, and people with different programming backgrounds are allowed to develop in different programming languages.
[0056] In addition, the bioinformatics analysis method, device and electronic device based on the bioinformatics analysis tool module provided in the present application can universally organize the tool modules applied to various sample molecules and detection purposes by establishing main categories corresponding to analysis types and subcategories corresponding to analysis modules under each analysis type.
[0057] After introducing the basic principles of the present application, various non-limiting embodiments of the present application will be described in detail with reference to the accompanying drawings.
[0058] Exemplary Methods
[0059] Figure 2 The figure illustrates a flow chart of a bioinformatics analysis method based on a bioinformatics analysis tool module according to an embodiment of the present application.
[0060] like Figure 2As shown, the bioinformatics analysis method based on the bioinformatics analysis tool module according to the embodiment of the present application includes the following steps.
[0061] Step S110, receiving a user request. In the embodiment of the present application, the user request may include various user requests for calling a tool module, for querying a tool module, for adding a category or adding a tool module, which will be described in further detail below. And, for example, the user request may be in the form of an input string, and of course, the user request may also be various forms of requests made through other interactive methods.
[0062] Step S120, parse the user request to determine the type of the user request. That is, by parsing the user request, it is possible to determine the specific function that the user wants to request, such as calling a tool module, querying a tool module, etc. Specifically, when the user request is in the form of an input string, the user request can be determined by parsing each field contained in the user request.
[0063] In one example, the name of the first field contained in the user request is used to specify the type of the user request. For example, if the first field is empty, it indicates that the user request is a request to query a tool module. If the first field is "am", it indicates adding a new tool module category, and so on.
[0064] Therefore, in the bioinformatics analysis method based on the bioinformatics analysis tool module according to the embodiment of the present application, parsing the user request to determine the type of the user request includes: parsing the user request to obtain the name of the first field contained in the user request; and determining the type of the user request based on the name of the first field.
[0065] Step S130, in response to the user request being a tool call request, determining a main category field and a subcategory field associated with the user request, wherein the main category relates to analysis types of bioinformatics analysis, and the subcategory relates to analysis modules under each analysis type.
[0066] As described above, in the bioinformatics analysis method based on the bioinformatics analysis tool module according to the embodiment of the present application, tool modules written in different programming languages are organized into categories through main categories corresponding to analysis types and subcategories corresponding to analysis modules under each analysis type, so as to realize unified query and call of tool modules.
[0067] Specifically, in the embodiments of the present application, the analysis type may depend on the different types of detection targets, sample types and experimental library sequencing. For example, the analysis types of bioinformatics analysis may include transcriptome, proteome, genome resequencing, epigenomics (DNA methylation, chromatin accessibility, chromatin immunoprecipitation), single-cell transcriptome, three-dimensional genome, etc. In addition, each analysis type includes multiple analysis modules, such as data quality control, alignment to reference genome, alignment to enzyme fragments, matrix construction, chromatin compartment analysis, topologically related domain analysis and chromatin loop related analysis, etc. under Hi-C analysis types, or data quality control, dual cell identification, cell communication and data comprehensive processing under single-cell omics types. In addition, each analysis module may include a variety of tool modules and scripts implemented in different programming languages, such as tool modules fastp and FASTQC for quality control, tool modules BWA and bowtie2 for alignment to reference genomes, tool modules HiC-Pro and HiCUP for alignment to enzyme fragments, tool modules HiC-Pro and HiCUP for matrix construction, and the like.
[0068] In an embodiment of the present application, the main category field and subcategory field associated with the user request can be determined directly by parsing the fields contained in the user request. For example, if the user request contains the field "Hi-C, TAD", it can be determined that the main category is "Hi-C" and the subcategory is "TAD".
[0069] Here, those skilled in the art can understand that since the subcategory is a subordinate category of the corresponding main category, the user can automatically determine its main category name by simply specifying the subcategory name. For example, by specifying the subcategory "TAD", the main category can be determined as "Hi-C".
[0070] In addition, when the user request is a tool call request but does not contain a main category field and / or a subcategory field, the main category field and subcategory field associated with the user request may also be determined by the user selecting from a list. For example, a main category list is first presented to the user, and the user selects, and then a subcategory list under the selected main category is displayed, and the user further selects.
[0071] Here, when presenting the main categories and subcategories to the user, in addition to the names of the main categories and the subcategories, a brief description of the main categories and the subcategories may be included in addition or in lieu thereof to facilitate user understanding. For example, "Hi-C" may include a brief description "Hi-C cis-trans analysis", and "TAD" may include a brief description "TAD-class personalized analysis tool".
[0072] That is, in the bioinformatics analysis method based on the bioinformatics analysis tool module according to the embodiment of the present application, in response to the user request being a tool call request, determining the main category field and subcategory field associated with the user request includes: in response to the user request being a tool call request, determining whether the user request contains a main category field and / or a subcategory field; in response to the user request not containing both the main category field and the subcategory field, presenting a main category list; receiving a selection of a predetermined main category in the main category list, displaying the categories of subcategories contained in the predetermined main category; and, receiving a selection of a predetermined subcategory in the subcategory list, and determining the predetermined main category and the predetermined subcategory as the main category field and subcategory field associated with the user request.
[0073] Step S140, based on the main category field and the subcategory field, the bioinformatics analysis tool module to be called is determined by using the main category information and subcategory information of the bioinformatics analysis tool module. That is, in the embodiment of the present application, each specific bioinformatics analysis tool module contains the main category information and the subcategory information, so that it can be organized in different categories according to the main category and the subcategory in the embodiment of the present application, so as to be queried and called by the user request.
[0074] Specifically, Figure 3 FIG. 4 illustrates an example of a development directory of a tool module according to an embodiment of the present application. Figure 3 As shown in the figure, the development directory includes: tool, that is, the basic name of the submitted management path is the name of the tool module, which is argtest in the example; bin, which is a fixed and required directory; the main program, which is located in the bin directory, which is argtest.py in the example, and there is no special requirement for its name; the main program link file, that is, in the example, argtest->argtest.py is a soft link file, which links to the main program under bin, and the name of the link file is the same as the name of the tool module; .ini file, that is, argtest.ini in the example, which is a required file and can be written in the standard ini format, that is, named as the name of the tool module + .ini, and its specific content is as follows Figure 4 Here, Figure 4 The following is a schematic diagram showing the specific contents of the .ini file of the tool module according to an embodiment of the present application. Figure 4 In the example, a tool module is taken as a TAD-type personalized analysis tool for Hi-C cis-trans analysis.
[0075] In addition, if Figure 3As shown, the development directory can also include the description file .md file of the tool module, that is, argtest.md in the example. Usually, the description file is a file in markdown format, named as the name of the tool module + .md. And, unlike the standard markdown, the file needs to have a header file, such as Figure 5 Here, Figure 5 A schematic diagram illustrating the specific contents of the header file of the .md file of the tool module according to an embodiment of the present application is illustrated.
[0076] and, Figure 6 A schematic diagram illustrating the specific contents of the body of the .md file of the tool module according to an embodiment of the present application, which is written in a standard markdown format
[0077] In addition, if you need to insert a picture in the .md file, you can follow Figure 3 The style in the example shown uses a relative path to insert the image, that is, the image is placed in / bin / figure, and the standard relative path format is: . / main category / subcategory / tool module name / bin / figure / image name.
[0078] To facilitate user understanding, in an embodiment of the present application, the description document of the tool module preferably includes the following contents: a description of the main functions of the tool module; examples of using the tool module; an introduction to the parameters of the tool module; a detailed explanation of the parameters of the tool module, including the specific format requirements of the input file if the parameter is a file; an interpretation of the results of the tool module, including an interpretation of a graph and a header description of a table.
[0079] It is worth noting that Figures 3 to 6 The format of the tool module shown in is only an example. Those skilled in the art will understand that in the embodiment of the present application, in addition to the main program, the tool module also needs to include at least main category information and subcategory information for organization for query and calling, and include compiler information for actual calling.
[0080] That is, for example, in the configuration file of the tool module mentioned above, two very critical pieces of information need to be included: 1) the compiler (interpreter) of the tool module, that is, if a tool is written in the perl language, then the perl software is required to execute the script of this tool module, and this needs to be noted in the configuration file; 2) the main category and subcategory to which the tool belongs, which must be noted in the configuration file to facilitate the classification of the tool module scripts.
[0081] Here, the main category information and subcategory information can be used to determine the bioinformatics analysis function that the user wants to perform, and in the embodiment of the present application, the user can further select the specific bioinformatics analysis tool module that he wants to call. For example, this can be achieved by displaying a list to the user and allowing the user to select, such as Figure 7 shown. Figure 7 FIG. 1 is a schematic diagram showing a method of presenting all tool modules under a subcategory to a user according to an embodiment of the present application, wherein module indicates the name of the subcategory, that is, the name of the analysis module. Figure 7 In the figure, cis is the module name, cis_ratio_of_bin and Intra_Ratio_Whole_Genome are tool names.
[0082] That is, in the bioinformatics analysis method based on the bioinformatics analysis tool module according to the embodiment of the present application, based on the main category field and the subcategory field, determining the bioinformatics analysis tool module to be called by using the main category information and subcategory information of the bioinformatics analysis tool module includes: based on the main category field and the subcategory field, displaying a list of bioinformatics analysis tool modules containing main category information and subcategory information matching the main category field and the subcategory field; and selecting the bioinformatics analysis tool module to be called from the list.
[0083] Alternatively, if the user specifies a specific tool module, for example, by inputting the subcategory name and the name of the tool module, the corresponding tool module can be directly determined, such as Figure 8 shown. Figure 8 The diagram illustrates a schematic diagram of a user directly specifying a specific tool module under a subcategory according to an embodiment of the present application, wherein module indicates the name of the subcategory, that is, the name of the analysis module.
[0084] That is, in the above-mentioned bioinformatics analysis method based on the bioinformatics analysis tool module, it further includes: in response to the user request being a tool calling request, determining whether the user request contains the name of the bioinformatics analysis tool module to be called; and in response to the user request containing the name of the bioinformatics analysis tool module to be called, calling the bioinformatics analysis tool module.
[0085] Step S150, calling the bioinformatics analysis tool module using the compiler information of the bioinformatics analysis tool module. As described above, through the compiler information of the tool module, such as python, the compiler of the corresponding language can be used to call the tool module, thereby realizing the bioinformatics analysis function desired by the user.
[0086] For example, in Figures 3 to 6In the example shown, the .ini configuration file in the directory where the tool is located can be found according to the name of the subcategory and the name of the tool module, and the configuration file can be read to obtain the compiler information of the tool module. Then, the main program of the tool module can be executed in a process using the corresponding compiler, such as Fig. 9 shown. Fig. 9 A schematic diagram of calling a bioinformatics analysis tool module according to an embodiment of the present application is illustrated.
[0087] As described above, in the bioinformatics analysis method based on the bioinformatics analysis tool module according to the embodiment of the present application, in addition to realizing the function of calling the bioinformatics analysis tool module, other functions such as tool query, category addition, tool addition, etc. can also be realized, which will be further described in detail below.
[0088] For example, if the user request is a query request for a subcategory under the main category "Hi-C cis-trans analysis", all bioinformatics analysis tool modules under the subcategory can be displayed, such as Fig.10 Here, Fig.10 The diagram shows a schematic diagram of displaying all bioinformatics analysis tool modules under a certain subcategory according to an embodiment of the present application, wherein module indicates the name of the subcategory.
[0089] That is, in the bioinformatics analysis method based on the bioinformatics analysis tool module according to the embodiment of the present application, after parsing the user request to determine the type of the user request, it further includes: in response to the user request being a tool query request, presenting the bioinformatics analysis tool module associated with the user request.
[0090] For example, if the user request is a category adding request, such as the first field of the user request is "am", it may indicate adding a new subcategory. The field "am" may include the name of the new subcategory, and may further include a brief description of the new subcategory, such as "am TAD TAD category personalized analysis tool".
[0091] Through the request to add a category, in an embodiment of the present application, a key-value pair can be added to the module (subcategory) section in a standard .ini configuration file in the directory for the main category, such as a file named cotools.ini, where the "key" is the subcategory name and the "value" is a brief description of the subcategory, such as Fig.11 shown. Fig.11 A schematic diagram illustrating example contents of a standard .ini configuration file under a main category directory according to an embodiment of the present application is shown.
[0092] In this way, after adding the two parameters of the added subcategory name and subcategory brief description to the .ini configuration file as the key-value pairs of the module section, when the .ini file is read, the key-value pairs in the module section can be printed to the screen. As an optional analysis module, the first added "TAD = TAD class personalized analysis tool" will be printed to the screen together with other key values, such as Fig.12 shown. Fig.12 A schematic diagram illustrating a display result of adding a subcategory according to an embodiment of the present application is shown.
[0093] That is, in the bioinformatics analysis method based on the bioinformatics analysis tool module according to the embodiment of the present application, after parsing the user request to determine the type of the user request, it further includes: in response to the user request being a category addition request, adding the bioinformatics analysis tool category specified by the user request to the bioinformatics analysis tool library.
[0094] In addition, if the user wants to add a bioinformatics analysis tool module, the first field of the user request is "at" for adding a new bioinformatics analysis tool module. In addition, the at parameter may contain the directory / path of the tool module to be added, and the files in the directory may follow a fixed format requirement, such as the one in the reference above. Figures 3 to 6 described.
[0095] That is, in the bioinformatics analysis method based on the bioinformatics analysis tool module according to the embodiment of the present application, after parsing the user request to determine the type of the user request, it further includes: in response to the user request being a tool addition request, adding the bioinformatics analysis tool specified by the user request to the bioinformatics analysis tool library.
[0096] In addition, if the user wants to update the bioinformatics analysis tool module, for example, the first field of the user request is "ut" to update the version of a bioinformatics analysis tool. For example, through this request, the folder corresponding to the tool to be updated can be directly copied to the corresponding directory in the bioinformatics analysis tool library.
[0097] That is, in the bioinformatics analysis method based on the bioinformatics analysis tool module according to the embodiment of the present application, after parsing the user request to determine the type of the user request, it further includes: in response to the user request being a tool update request, updating the bioinformatics analysis tool specified by the user request into the bioinformatics analysis tool library.
[0098] Application Examples
[0099] The bioinformatics analysis method based on the bioinformatics analysis tool module according to the embodiment of the present application can be specifically implemented as a specific tool software. For example, the software is named Xtool, and the directory structure of the software is as follows: Fig.13 Here, Fig.13 The diagram illustrates a directory structure of software for applying a bioinformatics analysis method based on a bioinformatics analysis tool module according to an embodiment of the present application.
[0100] like Fig.13 As shown, the software may include two folders, one is bin and the other is module, wherein the bin folder contains the Xtools main program and the Xtools configuration file cotools.ini, and the module folder contains folders for each module (ie, the subcategories as described above).
[0101] The content of cotools.ini is as follows Fig.14 As shown here, Fig.14 The diagram shows Fig.13 A schematic diagram of the example contents of the configuration file of the main program of the software shown. Those skilled in the art will understand that cotools.ini is a standard .ini format configuration file, the software section contains the names of various compilers and their software paths, and the module section contains the names of various modules and their brief introductions.
[0102] In order to make it easier for users to understand the software, you can set it to run on the command line, and the software will print the software's usage help information on the screen. In addition, you can also set the software to read all the key-value pairs in the module section of cotools.ini in the same directory as the software and print them on the screen. The "key" represents the summary of subcategories, which can be used as the command parameter of the software to query all the callable tool modules contained in the corresponding subcategory. Fig.15 The diagram shows Fig.13 A schematic diagram of example results of a dry run of the software is shown.
[0103] The specific use process of this software is the same as described above about the bioinformatics analysis method based on the bioinformatics analysis tool module of the embodiment of the present application. That is, when running Xtool, determine the name of the first parameter of the command input by the user. If there is no parameter, it means that the software is running empty, and the use method of the software and each module (that is, subcategory) and a brief description are displayed. If the first parameter is "at / ut / am", the operation of adding / updating tools or adding modules is performed accordingly. If the first parameter is the name of the subcategory, then continue to judge whether there is a second parameter. If there is no second parameter, then all tool modules contained in this subcategory are displayed. And if there is a second parameter or there are more parameters, then call the tool module specified by the second parameter, and display the result of calling the tool module.
[0104] Exemplary Devices
[0105] Fig.16 The figure illustrates a block diagram of a bioinformation analysis device based on a bioinformation analysis tool module according to an embodiment of the present application.
[0106] like Fig.16 As shown, according to an embodiment of the present application, a bioinformatics analysis device 200 based on a bioinformatics analysis tool module includes: a receiving unit 210, used to receive a user request; a parsing unit 220, used to parse the user request to determine the type of the user request; a category determination unit 230, used to determine a main category field and a subcategory field associated with the user request in response to the user request being a tool call request, wherein the main category relates to an analysis type of bioinformatics analysis, and the subcategory relates to an analysis module under each analysis type; a module determination unit 240, used to determine a bioinformatics analysis tool module to be called based on the main category field and the subcategory field by using the main category information and the subcategory information of the bioinformatics analysis tool module; and a calling unit 250, used to call the bioinformatics analysis tool module using the compiler information of the bioinformatics analysis tool module.
[0107] In one example, the above-mentioned bioinformation analysis device 200 based on bioinformation analysis tool module further includes: a query unit, configured to present a bioinformation analysis tool module associated with the user request in response to the user request being a tool query request.
[0108] In one example, the above-mentioned bioinformatics analysis device 200 based on the bioinformatics analysis tool module further includes: a category adding unit, which is used to add the bioinformatics analysis tool category specified by the user request to the bioinformatics analysis tool library in response to the user request being a category adding request.
[0109] In one example, the above-mentioned bioinformatics analysis device 200 based on the bioinformatics analysis tool module further includes: a tool adding unit, which is used to add the bioinformatics analysis tool specified by the user request to the bioinformatics analysis tool library in response to the user request being a tool adding request.
[0110] In one example, the above-mentioned bioinformatics analysis device 200 based on the bioinformatics analysis tool module further includes: a tool updating unit, for updating the bioinformatics analysis tool specified by the user request into the bioinformatics analysis tool library in response to the user request being a tool update request.
[0111] In one example, in the above-mentioned bioinformatics analysis device 200 based on the bioinformatics analysis tool module, the parsing unit 220 is used to: parse the user request to obtain the name of the first field contained in the user request; and determine the type of the user request based on the name of the first field.
[0112] In one example, in the above-mentioned bioinformatics analysis device 200 based on the bioinformatics analysis tool module, the category determination unit 230 is used to: in response to the user request being a tool call request, determine whether the user request contains a main category field and / or a subcategory field; in response to the user request not containing both the main category field and the subcategory field, present a main category list; receive a selection of a predetermined main category in the main category list, display the categories of subcategories contained in the predetermined main category; and, receive a selection of a predetermined subcategory in the subcategory list, and determine the predetermined main category and the predetermined subcategory as the main category field and the subcategory field associated with the user request.
[0113] In one example, in the above-mentioned bioinformatics analysis device 200 based on the bioinformatics analysis tool module, the module determination unit 240 is used to: based on the main category field and the subcategory field, display a list of bioinformatics analysis tool modules containing main category information and subcategory information matching the main category field and the subcategory field; and select the bioinformatics analysis tool module to be called from the list.
[0114] In one example, in the above-mentioned bioinformatics analysis device 200 based on the bioinformatics analysis tool module, the calling unit 250 is used to: in response to the user request being a tool calling request, determine whether the user request contains the name of the bioinformatics analysis tool module to be called; and, in response to the user request containing the name of the bioinformatics analysis tool module to be called, call the bioinformatics analysis tool module.
[0115] Here, those skilled in the art can understand that the specific functions and operations of the various units and modules in the above-mentioned bioinformatics analysis tool module-based bioinformatics analysis device 200 have been described above with reference to FIGS. 1 to 3. Fig.16 The bioinformatics analysis method based on the bioinformatics analysis tool module has been described in detail, and therefore, its repeated description will be omitted.
[0116] As described above, the bioinformatics analysis device 200 based on the bioinformatics analysis tool module according to the embodiment of the present application can be implemented in various terminal devices, such as a server for providing various bioinformatics analysis services. In one example, the bioinformatics analysis device 200 based on the bioinformatics analysis tool module according to the embodiment of the present application can be integrated into the terminal device as a software module and / or a hardware module. For example, the bioinformatics analysis device 200 based on the bioinformatics analysis tool module can be a software module in the operating system of the terminal device, or can be an application developed for the terminal device; of course, the bioinformatics analysis device 200 based on the bioinformatics analysis tool module can also be one of the many hardware modules of the terminal device.
[0117] Alternatively, in another example, the bioinformatics analysis device 200 based on the bioinformatics analysis tool module and the terminal device may also be separate devices, and the bioinformatics analysis device 200 based on the bioinformatics analysis tool module may be connected to the terminal device via a wired and / or wireless network and transmit interactive information in accordance with an agreed data format.
[0118] Exemplary Electronic Devices
[0119] Below, reference Fig.17 To describe an electronic device according to an embodiment of the present application.
[0120] Fig.17 A block diagram of an electronic device according to an embodiment of the present application is illustrated.
[0121] like Fig.17 As shown, the electronic device 10 includes one or more processors 11 and a memory 12 .
[0122] The processor 11 may be a central processing unit (CPU) or other forms of processing units having data processing capabilities and / or instruction execution capabilities, and may control other components in the electronic device 10 to perform desired functions.
[0123] The memory 12 may include one or more computer program products, and the computer program product may include various forms of computer-readable storage media, such as volatile memory and / or non-volatile memory. The volatile memory may include, for example, random access memory (RAM) and / or cache memory (cache), etc. The non-volatile memory may include, for example, read-only memory (ROM), hard disk, flash memory, etc. One or more computer program instructions may be stored on the computer-readable storage medium, and the processor 11 may run the program instructions to implement the bioinformatics analysis method based on the bioinformatics analysis tool module of each embodiment of the present application described above and / or other desired functions. Various contents such as main category name, subcategory name, tool module main program, etc. may also be stored in the computer-readable storage medium.
[0124] In one example, the electronic device 10 may further include: an input device 13 and an output device 14, and these components are interconnected via a bus system and / or other forms of connection mechanisms (not shown).
[0125] The input device 13 may include, for example, a keyboard, a mouse, etc.
[0126] The output device 14 can output various information to the outside, including the calling result of the tool module, etc. The output device 14 can include, for example, a display, a speaker, a printer, a communication network and a remote output device connected thereto, etc.
[0127] Of course, to simplify, Fig.17 Only some of the components related to the present application in the electronic device 10 are shown, and components such as a bus, an input / output interface, etc. are omitted. In addition, according to specific application situations, the electronic device 10 may also include any other appropriate components.
[0128] Exemplary computer program products and computer-readable storage media
[0129] In addition to the above-mentioned methods and devices, an embodiment of the present application may also be a computer program product, which includes computer program instructions, which, when executed by a processor, enable the processor to execute the steps of the bioinformatics analysis method based on the bioinformatics analysis tool module according to various embodiments of the present application described in the above-mentioned "Exemplary Method" section of this specification.
[0130] The computer program product may be written in any combination of one or more programming languages to write program codes for performing the operations of the embodiments of the present application, including object-oriented programming languages, such as Java, C++, etc., and conventional procedural programming languages, such as "C" language or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as an independent software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server.
[0131] In addition, an embodiment of the present application may also be a computer-readable storage medium having computer program instructions stored thereon, which, when executed by a processor, enables the processor to execute the steps of the bioinformatics analysis method based on the bioinformatics analysis tool module according to various embodiments of the present application described in the above “Exemplary Method” section of this specification.
[0132] The computer readable storage medium can adopt any combination of one or more readable media. The readable medium can be a readable signal medium or a readable storage medium. The readable storage medium can include, for example, but is not limited to, a system, device or device of electricity, magnetism, light, electromagnetic, infrared, or semiconductor, or any combination of the above. More specific examples (non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.
[0133] The basic principles of the present application are described above in conjunction with specific embodiments. However, it should be noted that the advantages, strengths, effects, etc. mentioned in the present application are only examples and not limitations, and it cannot be considered that these advantages, strengths, effects, etc. are required by each embodiment of the present application. In addition, the specific details disclosed above are only for the purpose of illustration and ease of understanding, not for limitation, and the above details do not limit the present application to being implemented by adopting the above specific details.
[0134] The block diagrams of the devices, apparatuses, equipment, and systems involved in this application are only illustrative examples and are not intended to require or imply that they must be connected, arranged, and configured in the manner shown in the block diagram. As will be appreciated by those skilled in the art, these devices, apparatuses, equipment, and systems can be connected, arranged, and configured in any manner. Words such as "including", "comprising", "having", etc. are open words, referring to "including but not limited to", and can be used interchangeably with them. The words "or" and "and" used here refer to the words "and / or" and can be used interchangeably with them, unless the context clearly indicates otherwise. The words "such as" used here refer to the phrase "such as but not limited to", and can be used interchangeably with them.
[0135] It should also be noted that in the apparatus, device and method of the present application, each component or each step can be decomposed and / or recombined. Such decomposition and / or recombination should be regarded as equivalent solutions of the present application.
[0136] The above description of the disclosed aspects is provided to enable any person skilled in the art to make or use the present application. Various modifications to these aspects will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other aspects without departing from the scope of the present application. Therefore, the present application is not intended to be limited to the aspects shown herein, but rather to the widest scope consistent with the principles and novel features disclosed herein.
[0137] The above description has been given for the purpose of illustration and description. In addition, this description is not intended to limit the embodiments of the present application to the forms disclosed herein. Although multiple example aspects and embodiments have been discussed above, those skilled in the art will recognize certain variations, modifications, changes, additions and sub-combinations thereof.
Claims
1. A bioinformatics analysis method based on a bioinformatics analysis tool module, comprising: Receive user requests; Parsing a user request to determine the type of the user request; In response to the user request being a tool call request, determining a main category field and a subcategory field associated with the user request, wherein the main category relates to an analysis type of bioinformatics analysis, and the subcategory relates to an analysis module under each analysis type; the analysis types are divided according to detection targets, sample types, and / or types of experimental library construction and sequencing; each of the analysis modules corresponds to an analysis content in each analysis type, and the analysis module includes an analysis tool and / or a script; Based on the main category field and the subcategory field, determining a bioinformation analysis tool module to be called by using the main category information and the subcategory information of the bioinformation analysis tool module; and The bioinformatics analysis tool module is called using the compiler information of the bioinformatics analysis tool module.
2. The bioinformatics analysis method based on the bioinformatics analysis tool module according to claim 1, wherein: After parsing the user request to determine the type of the user request, further comprising: In response to the user request being a tool query request, presenting a bioinformation analysis tool module associated with the user request.
3. The bioinformatics analysis method based on the bioinformatics analysis tool module according to claim 1, wherein: After parsing the user request to determine the type of the user request, further comprising: In response to the user request being a category adding request, the biological information analysis tool category specified by the user request is added to the biological information analysis tool library.
4. The bioinformatics analysis method based on the bioinformatics analysis tool module according to claim 1, wherein: After parsing the user request to determine the type of the user request, further comprising: In response to the user request being a tool adding request, the bioinformation analysis tool specified by the user request is added to the bioinformation analysis tool library.
5. The bioinformatics analysis method based on the bioinformatics analysis tool module according to claim 1, wherein: After parsing the user request to determine the type of the user request, further comprising: In response to the user request being a tool update request, the bioinformation analysis tool specified by the user request is updated into the bioinformation analysis tool library.
6. The bioinformatics analysis method based on the bioinformatics analysis tool module according to claim 1, wherein: Parsing a user request to determine the type of the user request includes: Parsing the user request to obtain the name of the first field contained in the user request; and The type of the user request is determined based on the name of the first field.
7. The bioinformatics analysis method based on the bioinformatics analysis tool module according to claim 1, wherein: In response to the user request being a tool call request, determining a main category field and a subcategory field associated with the user request includes: In response to the user request being a tool call request, determining whether the user request includes a main category field and / or a subcategory field; In response to the user request not including both a main category field and a subcategory field, presenting a main category list; receiving a selection of a predetermined main category in the main category list, and displaying categories of subcategories contained in the predetermined main category; and A selection of a predetermined subcategory in the subcategory list is received, and the predetermined main category and the predetermined subcategory are determined as a main category field and a subcategory field associated with the user request.
8. The bioinformatics analysis method based on the bioinformatics analysis tool module according to claim 1, wherein: Based on the main category field and the subcategory field, determining the bioinformation analysis tool module to be called by using the main category information and the subcategory information of the bioinformation analysis tool module comprises: Based on the main category field and the subcategory field, displaying a list of bioinformation analysis tool modules including main category information and subcategory information matching the main category field and the subcategory field; and Select the bioinformatics analysis tool module to be called from the list.
9. The bioinformatics analysis method based on the bioinformatics analysis tool module according to claim 1, further comprising: In response to the user request being a tool calling request, determining whether the user request includes the name of a bioinformatics analysis tool module to be called; as well as In response to the user request including the name of the biological information analysis tool module to be called, the biological information analysis tool module is called.
10. A bioinformatics analysis device based on a bioinformatics analysis tool module, comprising: A receiving unit, used for receiving a user request; A parsing unit, configured to parse a user request to determine a type of the user request; a category determination unit, configured to determine a main category field and a subcategory field associated with the user request in response to the user request being a tool call request, wherein the main category relates to an analysis category of biological information analysis, and the subcategory relates to an analysis module under each analysis category; A module determining unit, configured to determine a bioinformation analysis tool module to be called based on the main category field and the subcategory field by using the main category information and the subcategory information of the bioinformation analysis tool module; and The calling unit is used to call the bioinformation analysis tool module using the compiler information of the bioinformation analysis tool module.
11. An electronic device, comprising: processor; as well as A memory, in which computer program instructions are stored, and when the computer program instructions are executed by the processor, the processor executes the bioinformatics analysis method based on the bioinformatics analysis tool module according to any one of claims 1 to 9.
Citation Information
Patent Citations
Cloud platform-based bio-information analysis system
CN107239675A
Bioinformatics systems, apparatuses, and methods for performing secondary and / or tertiary processing
CN110121747A