A method for developing a software platform for analyzing third-generation gene sequencing data
By developing a software platform for analyzing gene sequencing data and calling multiple application software for gene sequencing data analysis, the defects of second-generation gene sequencing technology in detecting complex structural variants of chromosomes and repeated amplifications of long genome fragments are solved, and more accurate gene sequencing data analysis and diagnosis are achieved.
Patent Information
- Application Number
- CN202411151508.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-21
- Publication Date
- 2025-04-18
- Estimated Expiration
- 2044-08-21
AI Technical Summary
The existing second-generation gene sequencing technology has significant defects in detecting complex structural variants of chromosomes and repeated amplifications of long genome fragments, resulting in about 40% of children's genetic epilepsy failing to obtain ideal diagnostic results.
Develop a software platform for analyzing gene sequencing data. Through command line tools, multiple application software are called to conduct analysis of gene sequencing data, including sequence alignment, quality detection, point mutation detection, chromosomal structure variation detection, mobile element detection and variant annotation.
It realizes one-stop gene sequencing data analysis, improves the biological application and clinical application of three generations of gene sequencing technology, and can more accurately detect human genome mutations.
Smart Images

Figure CN119292575B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of bioinformatics, and in particular to a method and system for developing a software platform for analyzing gene sequencing data, a host machine, and a storage medium. Background Art
[0002] With the development of genomics and data science, the application of next-generation sequencing technology in the diagnosis and treatment of human Mendelian diseases has become relatively widespread. Genetic testing methods based on second-generation sequencing WGS (Whole Genome Sequencing) and WES (Whole Exome Sequencing) have brought great progress in clinical typing diagnosis and precision treatment. However, due to the relatively short read length of second-generation sequencing, such as 50-300bp (base pairs), this brings a series of limitations. For example, it has significant defects in the detection of complex structural variations of chromosomes and the number of long-fragment repeat amplifications of the genome, which are actually important pathogenic factors. Therefore, using the second-generation whole genome sequencing technology, taking childhood genetic epilepsy as an example, about 40% of cases cannot get ideal diagnostic results.
[0003] The third-generation gene detection technology based on nanopore overcomes the limitations of the short read length of the second-generation sequencing technology. Its average single read length can reach 5kb (kilobytes), and in theory it can even reach more than 20kb. Therefore, the third-generation sequencing has significant technical advantages in the application of human whole genome sequencing. The third-generation sequencing technology has been widely used in the biological research of small genome organisms such as bacteria and fungi. However, due to the long sequence of the human genome, which can reach 3 billion bp, it is very difficult to perform data analysis, variation detection, and variation annotation on the whole genome. In recent years, as key technical problems have been gradually solved, scholars at home and abroad have published a series of variation detection software, which can be used for the detection and annotation of point mutations or structural variations, the detection of tandem repeat amplification numbers, and the detection of genomic mobile elements. However, there is no public software at home and abroad that can comprehensively detect the human whole genome variation that clinicians and scientific researchers are more concerned about. Therefore, how to develop a software platform for analyzing gene sequencing data and realize one-stop gene sequencing data analysis has become a technical problem that needs to be solved urgently. Summary of the invention
[0004] In view of the above problems, this application is proposed to provide a method and system for developing a software platform for analyzing gene sequencing data, a host machine, and a storage medium that overcome the above problems or at least partially solve the above problems. The technical solution is as follows:
[0005] In a first aspect, a method for developing a software platform for analyzing gene sequencing data is provided, which is applied to a host machine, and the method comprises:
[0006] The initial basic image is constructed based on the docker file created by miniconda; wherein the miniconda contains the package manager and Python environment of the application software; the docker file is a text file containing several instructions that tell Docker how to build an initial basic image; the Docker runs on the host machine and is an open source application container engine that packages the software package and operating environment of the application software into the container created by the image, and then publishes and deploys it to the machine that supports the Docker;
[0007] Downloading source codes of multiple application software for analyzing gene sequencing data, and compiling the source codes of the multiple application software to obtain software packages of the multiple application software;
[0008] Start a container created based on the initial base image, mount a data volume to synchronize software packages of multiple application software into the container, and submit the container containing the software packages of multiple application software as the first image;
[0009] Starting a container created based on the first image, copying an environment configuration file of a package manager of the application software to the container created based on the first image, and creating a virtual environment according to the environment configuration file. After the virtual environment is created, submitting the container containing the virtual environment as a second image;
[0010] Start a container created based on the second image, write a command line tool for calling multiple application software using Python in the container created based on the second image, and submit the container containing the command line tool as a third image;
[0011] Based on the third image, a software platform for analyzing gene sequencing data is deployed on the machine supporting the Docker. The software platform calls multiple application software through command line tools to analyze the gene sequencing data.
[0012] In one possible implementation, the multiple application software for analyzing gene sequencing data include: a first software for performing sequence alignment, a second software for performing sequencing quality detection, a third software for performing point mutation detection, a fourth software for performing chromosome structural variation detection, a fifth software for performing mobile element detection, and a sixth software for performing structural variation annotation.
[0013] In a possible implementation, the construction of the initial base image based on the Docker file created based on miniconda includes:
[0014] Create a docker file containing the miniconda environment;
[0015] Execute the docker file to build an initial base image; wherein the initial base image includes a miniconda environment, which is used as a basic environment for developing and deploying Python applications.
[0016] In a possible implementation, the fourth software for detecting chromosome structural variation includes three types, which may be referred to as the first fourth software, the second fourth software and the third fourth software;
[0017] The method of starting a container created based on the second image, using Python to write a command line tool for calling multiple application software in the container created based on the second image, and submitting the container including the command line tool as a third image includes:
[0018] Starting a container created based on the second image, in the container created based on the second image, using Python to write a command line tool for calling multiple application software, and using Python to write a first analysis tool for analyzing chromosome structural variation detection results of the first fourth software and the second fourth software, and using Python to write a second analysis tool for analyzing chromosome structural variation detection results of the first fourth software, the second fourth software, and the third fourth software;
[0019] The container including the command line tool, the first analysis tool, and the second analysis tool is submitted as a third image.
[0020] In a possible implementation, the first analysis tool takes an intersection of the chromosome structural variation detection results of the first fourth software and the second fourth software to obtain a first intersection result; and then, performs chromosome structural variation analysis based on the first intersection result;
[0021] The second analysis tool takes the intersection of the chromosome structural variation detection results of the first fourth software, the second fourth software and the third fourth software to obtain a second intersection result; and then, performs chromosome structural variation analysis based on the second intersection result.
[0022] In a possible implementation, the first analysis tool deletes invalid genotypes in the chromosome structural variation detection results of the first fourth software and the second fourth software according to the genotype, then takes the intersection of the chromosome structural variation detection results of the first fourth software and the second fourth software with the invalid genotype deleted, to obtain a third intersection result; then, in combination with the structural variation annotation result obtained by the sixth software, deletes the results of the third intersection whose gene frequency is greater than a preset frequency threshold and is a benign structural variation, to obtain a fourth result; then, deletes the results whose structural variation length is less than a preset base number threshold in the fourth result, to obtain a fifth result; and performs chromosome structural variation analysis based on the fifth result;
[0023] The second analysis tool deletes invalid genotypes in the chromosome structural variation detection results of the first fourth software, the second fourth software and the third fourth software according to the genotype, and then takes the intersection of the chromosome structural variation detection results of the first fourth software, the second fourth software and the third fourth software with the invalid genotypes deleted to obtain a sixth intersection result; then, in combination with the structural variation annotation result obtained by the sixth software, delete the results of the sixth intersection result whose gene frequency is greater than a preset frequency threshold and is a benign structural variation, to obtain a seventh result; then, delete the results whose structural variation length is less than a preset base number threshold in the seventh result, to obtain an eighth result; and perform chromosome structural variation analysis based on the eighth result.
[0024] In a possible implementation, after starting a container created based on the second image, in the container created based on the second image, using Python to write a command line tool for calling multiple application software, using Python to write a first analysis tool for analyzing chromosome structural variation detection results of the first fourth software and the second fourth software, and using Python to write a second analysis tool for analyzing chromosome structural variation detection results of the first fourth software, the second fourth software, and the third fourth software, the method further includes:
[0025] A third analysis tool is written in Python to perform dynamic mutation search based on pre-configured bed interval files of multiple clinically relevant dynamic mutations, and analyze the dynamic mutation situation according to the search results; and
[0026] A fourth analysis tool was written in Python to perform tandem repeat retrieval based on a pre-configured bed interval file of tandem amplification of the whole human genome, and to analyze the tandem repeat amplification situation based on the retrieval results;
[0027] Submit the container containing the command line tool, the first analysis tool, and the second analysis tool as the third image, including:
[0028] The container including the command line tool, the first analysis tool, the second analysis tool, the third analysis tool, and the fourth analysis tool is submitted as a third image.
[0029] In a second aspect, a development system of a software platform for analyzing gene sequencing data is provided, which is applied to a host machine, and the system comprises:
[0030] A construction unit is used to build an initial basic image based on a docker file created by miniconda; wherein the miniconda includes a package manager and a Python environment for application software; the docker file is a text file including several instructions, which tell Docker how to build an initial basic image; the Docker runs on a host machine and is an open source application container engine, which packages the software package and operating environment of the application software into a container created by the image, and then publishes and deploys it to a machine that supports the Docker;
[0031] A download compilation unit is used to download source codes of multiple application software for analyzing gene sequencing data, and compile the source codes of the multiple application software to obtain software packages of the multiple application software;
[0032] A first submission unit is used to start a container created based on the initial base image, mount a data volume to synchronize software packages of multiple application software into the container, and submit the container containing the software packages of multiple application software as a first image;
[0033] A second submission unit is used to start a container created based on the first image, copy an environment configuration file of a package manager of the application software to the container created based on the first image, create a virtual environment according to the environment configuration file, and after the virtual environment is created, submit the container including the virtual environment as a second image;
[0034] A third submission unit is used to start a container created based on the second image, write a command line tool for calling multiple application software in Python in the container created based on the second image, and submit the container including the command line tool as a third image;
[0035] The deployment unit is used to deploy a software platform for analyzing gene sequencing data on a machine supporting the Docker based on the third image, wherein the software platform calls multiple application software through a command line tool to analyze the gene sequencing data.
[0036] In a third aspect, a host machine is provided, comprising a processor and a memory, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute any of the above-described methods for developing a software platform for analyzing genetic sequencing data.
[0037] In a fourth aspect, a storage medium is provided, wherein the storage medium stores a computer program, wherein the computer program is configured to execute any of the above-mentioned methods for developing a software platform for analyzing gene sequencing data when running.
[0038] Through the above technical scheme, the embodiments of the present application provide a method and system for developing a software platform for analyzing gene sequencing data, a host machine and a storage medium. The software platform developed by this method can call multiple application software through command line tools to analyze gene sequencing data, and can achieve a one-stop solution to the key steps of data analysis after the third-generation gene sequencing data is offline, thereby improving the biological and clinical applications of the third-generation gene sequencing technology. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in describing the embodiments of the present application are briefly introduced below.
[0040] Figure 1 A flowchart of a method for developing a software platform for analyzing gene sequencing data provided by an embodiment of the present application is shown;
[0041] Figure 2 A structural diagram of a development system for a software platform for analyzing gene sequencing data provided by an embodiment of the present application is shown;
[0042] Figure 3 A structural diagram of a host machine provided in an embodiment of the present application is shown. DETAILED DESCRIPTION
[0043] The exemplary embodiments of the present application will be described in more detail below with reference to the accompanying drawings. Although the exemplary embodiments of the present application are shown in the accompanying drawings, it should be understood that the present application can be implemented in various forms and should not be limited by the embodiments set forth herein. On the contrary, these embodiments are provided in order to enable a more thorough understanding of the present application and to fully convey the scope of the present application to those skilled in the art.
[0044] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that such use is interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the term "including" and its variants are to be interpreted as open-ended terms meaning "including but not limited to".
[0045] In order to solve the above technical problems, the present application embodiment provides a method for developing a software platform for analyzing gene sequencing data, which can be applied to a host machine. The gene sequencing data here is mainly third-generation gene sequencing data, such as Figure 1 As shown, the method for developing a software platform for analyzing gene sequencing data may include the following steps S101 to S106:
[0046] Step S101, constructing an initial basic image based on the docker file created by miniconda; wherein the miniconda includes a package manager and a Python environment for application software; the docker file is a text file including several instructions, which tell Docker how to construct an initial basic image; the Docker runs on a host machine and is an open source application container engine, which packages the software package and operating environment of the application software into a container created by the image, and then publishes and deploys it to a machine that supports the Docker;
[0047] Step S102, downloading source codes of multiple application software for analyzing gene sequencing data, and compiling the source codes of the multiple application software to obtain software packages of the multiple application software;
[0048] Step S103, starting a container created based on the initial base image, mounting a data volume to synchronize software packages of multiple application software into the container, and submitting the container containing the software packages of multiple application software as a first image;
[0049] Step S104, starting the container created based on the first image, copying the environment configuration file of the package manager of the application software to the container created based on the first image, and creating a virtual environment according to the environment configuration file. After the virtual environment is created, submitting the container including the virtual environment as the second image;
[0050] Step S105, starting a container created based on the second image, in the container created based on the second image, using Python to write a command line tool for calling multiple application software, and submitting the container including the command line tool as a third image;
[0051] Step S106: Based on the third image, a software platform for analyzing gene sequencing data is deployed on the machine supporting the Docker, and the software platform calls multiple application software through a command line tool to analyze the gene sequencing data.
[0052] In the above example, miniconda is a lightweight Anaconda distribution, which is an open source distribution for data science and machine learning in Python and R. Python is a widely used high-level programming language designed to emphasize code readability, with a syntax that allows programmers to express ideas with fewer lines of code and high maintainability. R is a programming language and software environment that is primarily used for statistical computing and graphical representation.
[0053] Miniconda mainly includes a package manager, Python environment and some basic software packages, which allows users to install the required software packages and environments on demand when needed, unlike the Anaconda distribution which pre-installs a large number of software packages, which makes miniconda more flexible and allows users to customize the installation according to their needs. The software platform developed in this embodiment can call multiple application software through command line tools to analyze gene sequencing data, and can achieve a one-stop solution to the key steps of data analysis after the third-generation gene sequencing data is offline, thereby improving the biological and clinical applications of the third-generation gene sequencing technology.
[0054] In the embodiment of the present application, a possible implementation method is provided. In the above step S101, an initial base image is constructed based on the docker file created by miniconda, which may specifically include the following steps A1 and A2:
[0055] Step A1, create a docker file containing the miniconda environment;
[0056] Step A2, execute the docker file to build an initial basic image; wherein the initial basic image includes a miniconda environment, which is used as a basic environment for developing and deploying Python applications.
[0057] In this step, you can use a command such as docker build to execute the docker file. Here, docker build is a command in Docker that is used to build a Docker image. It requires a text file called docker file as input. The docker file contains the instructions and configuration information required to build the image. When the docker build command is run, Docker will read the instructions in the docker file and execute them to build a usable Docker image, which is the initial base image here.
[0058] In this embodiment, the constructed initial base image includes a miniconda environment, which can be used as a quick start template for developing and deploying Python applications, thereby accelerating the development and deployment process.
[0059] A possible implementation method is provided in an embodiment of the present application. The multiple application software for analyzing gene sequencing data mentioned in step S102 above may include a first software for sequence alignment, a second software for sequencing quality detection, a third software for point mutation detection, a fourth software for chromosome structural variation detection, a fifth software for mobile element detection, a sixth software for structural variation annotation, and the like. This embodiment does not limit this.
[0060] In an embodiment of the present application, a possible implementation method is provided, and the fourth software for detecting chromosome structural variation may include three types, which may be referred to as the first fourth software, the second fourth software and the third fourth software; that is, the first fourth software, the second fourth software and the third fourth software may be used to detect chromosome structural variation respectively;
[0061] In the above step S105, a container created based on the second image is started. In the container created based on the second image, a command line tool for calling multiple application software is written in Python, and the container including the command line tool is submitted as a third image. Specifically, the following steps B1 and B2 may be included:
[0062] Step B1, starting a container created based on the second image, in the container created based on the second image, using Python to write a command line tool for calling multiple application software, and using Python to write a first analysis tool for analyzing the chromosome structural variation detection results of the first fourth software and the second fourth software, and using Python to write a second analysis tool for analyzing the chromosome structural variation detection results of the first fourth software, the second fourth software, and the third fourth software;
[0063] Step B2: submitting the container including the command line tool, the first analysis tool, and the second analysis tool as a third image.
[0064] In this embodiment, command line tools and analysis tools written in Python can automate complex tasks, reduce manual operations, and improve efficiency; and multiple application software and analysis tools are integrated in the same container, which facilitates collaborative work and data exchange between different tools; in addition, through the first analysis tool and the second analysis tool, the chromosome structural variation detection results of different software can be comprehensively analyzed, which improves the depth and breadth of the analysis and improves the accuracy of the chromosome structural variation detection results.
[0065] In an embodiment of the present application, a possible implementation method is provided, wherein the first analysis tool takes an intersection of the chromosome structural variation detection results of the first fourth software and the second fourth software to obtain a first intersection result; and then, the chromosome structural variation is analyzed based on the first intersection result;
[0066] The second analysis tool takes the intersection of the chromosome structural variation detection results of the first fourth software, the second fourth software and the third fourth software to obtain a second intersection result; and then, performs chromosome structural variation analysis based on the second intersection result.
[0067] In this embodiment, the first analysis tool takes the intersection of the chromosome structural variation detection results of the first fourth software and the second fourth software to obtain a first intersection result. This can increase the confirmation and accuracy of the variation data by cross-analyzing the results of the two software and extracting common variation information; and performing analysis of chromosome structural variation based on the first intersection result helps to gain a deeper understanding of the characteristics and patterns of genome structural variation, providing a basis for further data interpretation and application.
[0068] The second analysis tool takes the intersection of the chromosome structural variation detection results of the first fourth software, the second fourth software and the third fourth software to obtain a second intersection result, which further increases the ability to confirm and verify the results of multiple software and improves the credibility of the variation data; and the analysis of chromosome structural variation based on the second intersection result helps to integrate the results of multiple software, deeply understand the characteristics of variation type, variation location and other aspects, and provide more comprehensive and accurate analysis and application results.
[0069] The present application provides a possible implementation method and a high-confidence structural variation identification method, which performs fine screening on the identified structural variation results. The main screening methods are as follows:
[0070] (1) Genotype, for example, 0 / 0, 1 / 0, and 1 / 1 are considered valid genotypes, and the rest are invalid genotypes and are removed;
[0071] (2) Use text processing tools to take the intersection of two software and the intersection of three software;
[0072] (3) obviously benign structural variants with excessively high gene frequencies in the population are removed;
[0073] (4) Mutations that do not reach the structural variation length threshold are removed.
[0074] Specifically, the first analysis tool deletes invalid genotypes in the chromosome structural variation detection results of the first fourth software and the second fourth software according to the genotype, then takes the intersection of the chromosome structural variation detection results of the first fourth software and the second fourth software from which the invalid genotypes are deleted, to obtain a third intersection result; then, in combination with the structural variation annotation result obtained by the sixth software, deletes the results of the third intersection result whose gene frequency is greater than a preset frequency threshold and is a benign structural variation, to obtain a fourth result; then, deletes the results whose structural variation length is less than a preset base number threshold in the fourth result, to obtain a fifth result; and performs chromosome structural variation analysis based on the fifth result;
[0075] The second analysis tool deletes invalid genotypes in the chromosome structural variation detection results of the first fourth software, the second fourth software and the third fourth software according to the genotype, and then takes the intersection of the chromosome structural variation detection results of the first fourth software, the second fourth software and the third fourth software with the invalid genotypes deleted to obtain a sixth intersection result; then, in combination with the structural variation annotation result obtained by the sixth software, delete the results of the sixth intersection result whose gene frequency is greater than a preset frequency threshold and is a benign structural variation, to obtain a seventh result; then, delete the results whose structural variation length is less than a preset base number threshold in the seventh result, to obtain an eighth result; and perform chromosome structural variation analysis based on the eighth result.
[0076] In the above embodiment, the preset frequency threshold can be determined according to actual needs, and this embodiment does not limit this; the preset base number threshold can also be determined according to actual needs, such as the preset base number threshold is 50bp, etc., and this embodiment does not limit this.
[0077] A possible implementation method is provided in an embodiment of the present application. In the above step B1, a container created based on the second image is started. In the container created based on the second image, a command line tool for calling multiple application software is written in Python, and a first analysis tool for analyzing the chromosome structural variation detection results of the first fourth software and the second fourth software is written in Python, and a second analysis tool for analyzing the chromosome structural variation detection results of the first fourth software, the second fourth software and the third fourth software is written in Python. After that, the following steps C1 and C2 may be further included:
[0078] Step C1, using Python to write a third analysis tool for performing dynamic mutation search based on a pre-configured bed interval file of multiple clinically relevant dynamic mutations, and analyzing the dynamic mutation situation according to the search results; and
[0079] Step C2, using Python to write a fourth analysis tool for performing tandem repeat retrieval based on a pre-configured bed interval file of tandem amplification of the whole human genome, and analyzing the tandem repeat amplification situation according to the retrieval results;
[0080] The above step B2 submits the container including the command line tool, the first analysis tool and the second analysis tool as the third image, which may specifically include the following steps C3:
[0081] Step C3: submitting the container including the command line tool, the first analysis tool, the second analysis tool, the third analysis tool and the fourth analysis tool as a third image.
[0082] In bioinformatics, a bed interval file is a file format used to describe genomic intervals. This format is usually used to represent specific regions in the genome, such as genes, transcripts, regulatory regions, or variants. The bed interval file provides a standardized way to store and share this interval information. In this embodiment, the bed interval file can contain the following columns:
[0083] Chromosome: refers to the chromosome where the genomic interval is located. For example, humans have 23 pairs of chromosomes, numbered from 1 to 22, plus chromosomes X and Y.
[0084] Start (starting position): indicates the starting point of the genomic interval, usually the coordinate position starting from 0 based on the chromosome length;
[0085] End (end position): indicates the end point of the genomic interval. Usually, the value of the end position is greater than the start position.
[0086] Motif: In genomics, it can refer to a conserved pattern or sequence in a DNA sequence that is associated with a specific biological function, such as a transcription factor binding site.
[0087] Gene Name: The name of the gene in or near the interval. The gene name is a symbol or name used to uniquely identify a gene.
[0088] Normal Repeats: refers to the repetitive sequences found in the genome, which are related to the regulation or structure of genes;
[0089] Disorders: related disease names;
[0090] Inheritance: describes how a gene or disease is inherited, such as autosomal dominant, autosomal recessive, X-linked, etc.
[0091] This embodiment can solve the key steps of data analysis after the third-generation gene sequencing data is offline in a one-stop manner, including sequence alignment, quality analysis, structural variation and point mutation detection, dynamic mutation detection, mobile element detection and variation annotation, thereby improving the biological and clinical applications of third-generation sequencing technology.
[0092] The above introduces Figure 1 There are multiple implementation methods for each link of the illustrated embodiment. The following will further illustrate the method for developing a software platform for analyzing gene sequencing data in the embodiment of the present application through specific embodiments.
[0093] The third generation sequencing technology is a more advanced bioinformatics technology with a wide range of applications and is expected to improve the diagnosis rate of human Mendelian diseases. The software platform developed in this application embodiment is called NanoNavigator, which can solve the key steps of data analysis after the third generation sequencing data is offline, including sequence alignment, quality analysis, structural variation and point mutation detection, dynamic mutation detection, mobile element detection and variation annotation. In particular, the self-developed algorithm is used to systematically detect dynamic mutations in the whole genome, which can be divided into different functions for clinical and scientific research purposes, and the whole genome structural variation is screened with high confidence.
[0094] First, the overall development process is as follows:
[0095] 1) Build the initial base image based on the docker file created by miniconda;
[0096] 2) Download and compile the required software in advance, synchronize it to the container through the data volume, and submit the container as a new image;
[0097] 3) Use miniconda and the provided yml file to download the required virtual environment and submit the container as a new image. The yml file here is used to define the software packages and their versions required for a virtual environment;
[0098] 4) Write the NanoNavigator program based on Python, so that it can call all software in one stop, and can also select different modes according to user needs.
[0099] Secondly, the development process of chromosome structural variation detection result processing is as follows:
[0100] 1. Stable structural variation identification method: Based on the identification results of three open source software, a text processing method was used to take the intersection of two software and the intersection of three software, respectively, to conduct a preliminary screening of the results. The screening process was mainly based on sequencing quality and the differences in identification lengths of different software.
[0101] 2. The high-confidence structural variation identification method can be referred to the previous introduction and will not be repeated here.
[0102] 3. The bed interval files of 55 clinically relevant dynamic mutations were configured by ourselves for clinically relevant dynamic mutation detection; the bed interval files of human whole genome tandem amplification were configured by ourselves for scientific research related dynamic mutation detection, and then tandem repeats were retrieved.
[0103] Here, the bed interval files of 55 clinically relevant dynamic mutations and the bed interval files of whole genome tandem amplification are configured. The specific method can be as follows:
[0104] First, we searched the Pubmed database, which provides abstracts and citation information of life science and biomedical literature, for relevant literature; we searched the UCSC database, which provides visualization and analysis tools for genome sequence data, for relevant coordinates and data; we searched the Online Mendelian Inheritance in Man (OMIM) database for related diseases; secondly, we sorted and summarized them and converted them into bed format.
[0105] Next, the software platform operates as follows:
[0106] All functions are implemented in one stop: the input is the location of the fastq file, the fastq file name, the location of the reference genome, the reference genome file name, the desired output directory, the patient's gender, and the standardized name of the patient's phenotype;
[0107] (1) Use the open source minimap2 software (i.e., the first software) to perform sequence alignment, with the input being a fastq file and the output being a bam file; use the open source samtools software by default to perform indexing and sorting, generating bam.bai and sorted.bam;
[0108] (2) using the open source PanDepth software (i.e., the second software) to perform sequencing quality detection; the input is a bam file and the output is a sequencing quality assessment;
[0109] (3) using the open source clair3 software (i.e., the third software) to detect point mutations; the input is a bam file, and the output is point mutation identification;
[0110] (4) Using the open source structural variation software sniffles2 (i.e., the first fourth software), svim (i.e., the second fourth software), and cutesv (i.e., the third fourth software) to detect chromosome structural variation, and using the developed algorithm to merge, screen the high-confidence structural variation results, and obtain higher-confidence structural variation results; the input is a bam file, and the output is a vcf file, which is the chromosome structural variation;
[0111] (5) Perform dynamic mutation search for clinical or scientific research based on self-configured bed files; the input is bam file and the output is vcf file, which is the dynamic mutation situation;
[0112] (6) Using the open source TLDR software (i.e., the fifth software) to perform mobile component detection; the input is a bam file, and the output is the mobile component identification result;
[0113] (7) Use the open source svanna software (i.e., the sixth software) to perform structural variation annotation, with the input being a vcf file and the output being the structural variation annotation results.
[0114] In the above example, the fastq file is a text file format used to store DNA or RNA sequence data and their corresponding quality scores generated by high-throughput sequencing technology. The fastq file usually contains the following four basic parts:
[0115] Sequence header line: For example, it starts with the @ character, followed by the sequence description information, which may include the sequence name, index sequence, etc.
[0116] Sequence line: contains the actual nucleotide sequence, each character in the sequence represents a nucleotide;
[0117] Plus line: usually contains a plus sign followed by the same descriptive information as the sequence header line;
[0118] Quality score line: Contains quality scores corresponding to each nucleotide in the sequence line. These scores are usually expressed as ASCII characters and are used to quantify the accuracy of each nucleotide identification.
[0119] The bam file is a commonly used file format in bioinformatics. Its full name is "Binary Alignment / Map format". It is a compressed binary version of SAM (Sequence Alignment / Map format) and is designed for storing alignment results of high-throughput sequencing data. sorted.bam is the sorted bam file, and bam.bai is the corresponding index file, which makes the bam file more suitable for efficient data analysis and access.
[0120] The vcf file is a text file format used to store genomic variation information. The data part of the vcf file has a fixed column format, and each row represents a variation site. It can usually include the following columns:
[0121] CHROM: chromosome name;
[0122] POS: the position of the variant site on the chromosome;
[0123] ID: unique identifier of the variant;
[0124] REF: reference allele, i.e., base sequence compared with the reference genome;
[0125] ALT: alternative allele, i.e., a sequence that differs from the reference allele;
[0126] QUAL: quality score of the variant, indicating the reliability of the variant;
[0127] FILTER: whether the variant passes the quality control criteria;
[0128] INFO: Provides additional information about the variant, such as variant type, gene association, etc.
[0129] The vcf file may also contain annotation columns, which provide additional biological information about the variation, such as functional impact prediction, population frequency, etc., which is not limited in this embodiment.
[0130] It should be noted that the size of the sequence number of each step in the above embodiment does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiment of the present application. In practical applications, all the above possible implementation methods can be combined in any way to form possible embodiments of the present application, which will not be described one by one here.
[0131] Based on the methods for developing a software platform for analyzing gene sequencing data provided in the above embodiments, and based on the same inventive concept, an embodiment of the present application also provides a system for developing a software platform for analyzing gene sequencing data.
[0132] Figure 2 1 is a structural diagram of a development system for a software platform for analyzing gene sequencing data provided in an embodiment of the present application. Figure 2 As shown, the development system of the software platform for analyzing gene sequencing data is applied to a host machine, and specifically may include a construction unit 210, a download and compilation unit 220, a first submission unit 230, a second submission unit 240, a third submission unit 250 and a deployment unit 260.
[0133] The construction unit 210 is used to construct an initial basic image based on the docker file created by miniconda; wherein the miniconda includes a package manager and a Python environment for application software; the docker file is a text file including several instructions, which tell Docker how to build an initial basic image; the Docker runs on a host machine and is an open source application container engine, which packages the software package and the operating environment of the application software into a container created by the image, and then publishes and deploys it to a machine that supports the Docker;
[0134] A download compiling unit 220 is used to download source codes of multiple application software for analyzing gene sequencing data, and compile the source codes of the multiple application software to obtain software packages of the multiple application software;
[0135] The first submitting unit 230 is used to start a container created based on the initial base image, mount a data volume to synchronize the software packages of multiple application software into the container, and submit the container containing the software packages of multiple application software as a first image;
[0136] The second submitting unit 240 is used to start the container created based on the first image, copy the environment configuration file of the package manager of the application software to the container created based on the first image, and create a virtual environment according to the environment configuration file. After the virtual environment is created, the container including the virtual environment is submitted as the second image;
[0137] The third submitting unit 250 is used to start a container created based on the second image, write a command line tool for calling multiple application software in Python in the container created based on the second image, and submit the container including the command line tool as a third image;
[0138] The deployment unit 260 is used to deploy a software platform for analyzing gene sequencing data on the machine supporting the Docker based on the third image, and the software platform calls multiple application software through a command line tool to analyze the gene sequencing data.
[0139] A possible implementation method is provided in an embodiment of the present application, and the multiple application software for analyzing gene sequencing data include: a first software for performing sequence alignment, a second software for performing sequencing quality detection, a third software for performing point mutation detection, a fourth software for performing chromosome structural variation detection, a fifth software for performing mobile element detection, and a sixth software for performing structural variation annotation.
[0140] A possible implementation method is provided in an embodiment of the present application, wherein the construction unit 210 is further configured to:
[0141] Create a docker file containing the miniconda environment;
[0142] Execute the docker file to build an initial base image; wherein the initial base image includes a miniconda environment, which is used as a basic environment for developing and deploying Python applications.
[0143] In an embodiment of the present application, a possible implementation method is provided. The fourth software for detecting chromosome structural variation includes three types, which may be referred to as the first fourth software, the second fourth software and the third fourth software; the third submitting unit 250 is further used for:
[0144] Starting a container created based on the second image, in the container created based on the second image, using Python to write a command line tool for calling multiple application software, and using Python to write a first analysis tool for analyzing chromosome structural variation detection results of the first fourth software and the second fourth software, and using Python to write a second analysis tool for analyzing chromosome structural variation detection results of the first fourth software, the second fourth software, and the third fourth software;
[0145] The container including the command line tool, the first analysis tool, and the second analysis tool is submitted as a third image.
[0146] In an embodiment of the present application, a possible implementation method is provided, wherein the first analysis tool takes an intersection of the chromosome structural variation detection results of the first fourth software and the second fourth software to obtain a first intersection result; and then, the chromosome structural variation is analyzed based on the first intersection result;
[0147] The second analysis tool takes the intersection of the chromosome structural variation detection results of the first fourth software, the second fourth software and the third fourth software to obtain a second intersection result; and then, performs chromosome structural variation analysis based on the second intersection result.
[0148] In an embodiment of the present application, a possible implementation method is provided, wherein the first analysis tool deletes invalid genotypes in the chromosome structural variation detection results of the first fourth software and the second fourth software according to the genotype, then takes the intersection of the chromosome structural variation detection results of the first fourth software and the second fourth software from which the invalid genotypes are deleted, to obtain a third intersection result; then, in combination with the structural variation annotation result obtained by the sixth software, deletes the results of the third intersection result whose gene frequency is greater than a preset frequency threshold and is a benign structural variation, to obtain a fourth result; then, deletes the results whose structural variation length is less than a preset base number threshold in the fourth result, to obtain a fifth result; and performs chromosome structural variation analysis based on the fifth result;
[0149] The second analysis tool deletes invalid genotypes in the chromosome structural variation detection results of the first fourth software, the second fourth software and the third fourth software according to the genotype, and then takes the intersection of the chromosome structural variation detection results of the first fourth software, the second fourth software and the third fourth software with the invalid genotypes deleted to obtain a sixth intersection result; then, in combination with the structural variation annotation result obtained by the sixth software, delete the results of the sixth intersection result whose gene frequency is greater than a preset frequency threshold and is a benign structural variation, to obtain a seventh result; then, delete the results whose structural variation length is less than a preset base number threshold in the seventh result, to obtain an eighth result; and perform chromosome structural variation analysis based on the eighth result.
[0150] A possible implementation manner is provided in an embodiment of the present application, wherein the third submitting unit 250 is further configured to:
[0151] The container created based on the second image is started, and in the container created based on the second image, a command line tool for calling multiple application software is written in Python, and a first analysis tool for analyzing the chromosome structural variation detection results of the first fourth software and the second fourth software is written in Python, and a second analysis tool for analyzing the chromosome structural variation detection results of the first fourth software, the second fourth software and the third fourth software is written in Python, and then a third analysis tool is written in Python for performing dynamic mutation search based on a pre-configured bed interval file of multiple clinically relevant dynamic mutations, and analyzing the dynamic mutation situation according to the search result; and
[0152] A fourth analysis tool was written in Python to perform tandem repeat retrieval based on a pre-configured bed interval file of tandem amplification of the whole human genome, and to analyze the tandem repeat amplification situation based on the retrieval results;
[0153] The container including the command line tool, the first analysis tool, the second analysis tool, the third analysis tool, and the fourth analysis tool is submitted as a third image.
[0154] Based on the same inventive concept, an embodiment of the present application also provides a host machine, including a processor and a memory, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the method for developing a software platform for analyzing genetic sequencing data of any one of the above embodiments.
[0155] In an exemplary embodiment, a host machine is provided, such as Figure 3 As shown, Figure 3 The host machine 300 shown includes: a processor 301 and a memory 303. The processor 301 and the memory 303 are connected, such as through a bus 302. Optionally, the host machine 300 may also include a transceiver 304. It should be noted that in actual applications, the transceiver 304 is not limited to one, and the structure of the host machine 300 does not constitute a limitation on the embodiments of the present application.
[0156] Processor 301 may be a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof. It may implement or execute various exemplary logic blocks, modules and circuits described in conjunction with the disclosure of this application. Processor 301 may also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc.
[0157] The bus 302 may include a path to transmit information between the above components. The bus 302 may be a PCI (Peripheral Component Interconnect) bus or an EISA (Extended Industry Standard Architecture) bus. The bus 302 may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 3 Only one thick line is used in the diagram, but this does not mean that there is only one bus or only one type of bus.
[0158] The memory 303 can be a ROM (Read Only Memory) or other types of static storage devices that can store static information and instructions, a RAM (Random Access Memory) or other types of dynamic storage devices that can store information and instructions, or an EEPROM (Electrically Erasable Programmable Read Only Memory), a CD-ROM (Compact Disc Read Only Memory) or other optical disk storage, optical disk storage (including compressed optical disk, laser disk, optical disk, digital versatile disk, Blu-ray disk, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store the desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited to these.
[0159] The memory 303 is used to store the computer program code for executing the solution of the present application, and the execution is controlled by the processor 301. The processor 301 is used to execute the computer program code stored in the memory 303 to implement the contents shown in the above method embodiment.
[0160] Among them, the host machine includes but is not limited to: mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), vehicle-mounted terminals (such as vehicle-mounted navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. Figure 3 The host machine shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.
[0161] Based on the same inventive concept, an embodiment of the present application further provides a storage medium, in which a computer program is stored, wherein the computer program is configured to execute, when running, a method for developing a software platform for analyzing gene sequencing data in any of the above embodiments.
[0162] Those skilled in the art can clearly understand that the specific working processes of the systems, devices, and modules described above can refer to the corresponding processes in the aforementioned method embodiments, and for the sake of brevity, they are not further described here.
[0163] Those skilled in the art can understand that the technical solution of the present application can be essentially or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, which includes a number of program instructions, so that a host machine (such as a personal computer, a server, or a network device, etc.) executes all or part of the steps of the method described in each embodiment of the present application when running the program instructions. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk, etc., various media that can store program codes.
[0164] Alternatively, all or part of the steps of implementing the aforementioned method embodiments may be accomplished by hardware associated with program instructions (such as a host machine of a personal computer, a server, or a network device, etc.), and the program instructions may be stored in a computer-readable storage medium. When the program instructions are executed by a processor of the host machine, the host machine executes all or part of the steps of the method described in the embodiments of the present application.
[0165] The above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that within the spirit and principles of the present application, they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not deviate from the protection scope of the present application.
Claims
1. A method for developing a software platform for analyzing third-generation gene sequencing data, applied to a host machine, the software platform can solve the key steps of data analysis after the third-generation gene sequencing data is offline, including sequence alignment, quality analysis, structural variation and point mutation detection, dynamic mutation detection, mobile element detection and variation annotation, characterized in that: The method comprises: The initial basic image is constructed based on the docker file created by miniconda; wherein the miniconda contains the package manager and Python environment of the application software; the docker file is a text file containing several instructions that tell Docker how to build an initial basic image; the Docker runs on the host machine and is an open source application container engine that packages the software package and operating environment of the application software into the container created by the image, and then publishes and deploys it to the machine that supports the Docker; Downloading source codes of multiple application software for analyzing third-generation gene sequencing data, and compiling the source codes of the multiple application software to obtain software packages of multiple application software; wherein the multiple application software for analyzing third-generation gene sequencing data include: a first software for performing sequence alignment, a second software for performing sequencing quality detection, a third software for performing point mutation detection, a fourth software for performing chromosome structural variation detection, a fifth software for performing mobile element detection, and a sixth software for performing structural variation annotation; Start a container created based on the initial base image, mount a data volume to synchronize software packages of multiple application software into the container, and submit the container containing the software packages of multiple application software as the first image; Starting a container created based on the first image, copying an environment configuration file of a package manager of the application software to the container created based on the first image, and creating a virtual environment according to the environment configuration file. After the virtual environment is created, submitting the container containing the virtual environment as a second image; Start a container created based on the second image, write a command line tool for calling multiple application software using Python in the container created based on the second image, and submit the container containing the command line tool as a third image; Based on the third image, a software platform for analyzing the third-generation gene sequencing data is deployed on the machine supporting the Docker, and the software platform calls multiple application software through a command line tool to analyze the third-generation gene sequencing data; The fourth software for detecting chromosome structural variation includes three types, which may be referred to as the first fourth software, the second fourth software and the third fourth software; The method of starting a container created based on the second image, using Python to write a command line tool for calling multiple application software in the container created based on the second image, and submitting the container including the command line tool as a third image includes: Starting a container created based on the second image, in the container created based on the second image, using Python to write a command line tool for calling multiple application software, and using Python to write a first analysis tool for analyzing chromosome structural variation detection results of the first fourth software and the second fourth software, and using Python to write a second analysis tool for analyzing chromosome structural variation detection results of the first fourth software, the second fourth software, and the third fourth software; A third analysis tool is written in Python to perform dynamic mutation search based on pre-configured bed interval files of multiple clinically relevant dynamic mutations, and analyze the dynamic mutation situation according to the search results; and A fourth analysis tool was written in Python to perform tandem repeat retrieval based on a pre-configured bed interval file of tandem amplification of the whole human genome, and to analyze the tandem repeat amplification situation based on the retrieval results; The container including the command line tool, the first analysis tool, the second analysis tool, the third analysis tool, and the fourth analysis tool is submitted as a third image.
2. The method according to claim 1, characterized in that The construction of the initial base image based on the docker file created by miniconda includes: Create a docker file containing the miniconda environment; Execute the docker file to build an initial base image; wherein the initial base image includes a miniconda environment, which is used as a basic environment for developing and deploying Python applications.
3. The method according to claim 1, characterized in that The first analysis tool takes an intersection of the chromosome structural variation detection results of the first fourth software and the second fourth software to obtain a first intersection result; and then, performs chromosome structural variation analysis based on the first intersection result; The second analysis tool takes the intersection of the chromosome structural variation detection results of the first fourth software, the second fourth software and the third fourth software to obtain a second intersection result; and then, performs chromosome structural variation analysis based on the second intersection result.
4. The method according to claim 1, characterized in that The first analysis tool deletes invalid genotypes in the chromosome structural variation detection results of the first fourth software and the second fourth software according to the genotype, and then takes the intersection of the chromosome structural variation detection results of the first fourth software and the second fourth software from which the invalid genotypes have been deleted to obtain a third intersection result; and then, in combination with the structural variation annotation results obtained by the sixth software, deletes the results of the third intersection that have gene frequencies greater than a preset frequency threshold and are benign structural variations to obtain a fourth result; Then, the results in the fourth result whose structural variation length is less than the preset base number threshold are deleted to obtain a fifth result; Based on the fifth result, the chromosome structural variation analysis is performed; The second analysis tool deletes invalid genotypes in the chromosome structural variation detection results of the first fourth software, the second fourth software and the third fourth software according to the genotype, and then takes the intersection of the chromosome structural variation detection results of the first fourth software, the second fourth software and the third fourth software from which the invalid genotypes have been deleted to obtain a sixth intersection result; Then, the structural variation annotation results obtained by the sixth software are combined, and the results of the sixth intersection results whose gene frequency is greater than the preset frequency threshold and is a benign structural variation are deleted to obtain the seventh result; Then, the results in the seventh result whose structural variation length is less than the preset base number threshold are deleted to obtain the eighth result; Based on the eighth result, analysis of chromosome structural variation was performed.
5. A software platform development system for analyzing third-generation gene sequencing data, applied to a host machine, which can solve the key steps of data analysis after the third-generation gene sequencing data is offline, including sequence alignment, quality analysis, structural variation and point mutation detection, dynamic mutation detection, mobile element detection and variation annotation, characterized in that: The system comprises: A construction unit is used to build an initial basic image based on a docker file created by miniconda; wherein the miniconda includes a package manager and a Python environment for application software; the docker file is a text file including several instructions, which tell Docker how to build an initial basic image; the Docker runs on a host machine and is an open source application container engine, which packages the software package and operating environment of the application software into a container created by the image, and then publishes and deploys it to a machine that supports the Docker; A download compilation unit is used to download source codes of multiple application software for analyzing third-generation gene sequencing data, and compile the source codes of the multiple application software to obtain software packages of multiple application software; wherein the multiple application software for analyzing third-generation gene sequencing data include: a first software for sequence alignment, a second software for sequencing quality detection, a third software for point mutation detection, a fourth software for chromosome structural variation detection, a fifth software for mobile element detection, and a sixth software for structural variation annotation; A first submission unit is used to start a container created based on the initial base image, mount a data volume to synchronize software packages of multiple application software into the container, and submit the container containing the software packages of multiple application software as a first image; A second submission unit is used to start a container created based on the first image, copy an environment configuration file of a package manager of the application software to the container created based on the first image, create a virtual environment according to the environment configuration file, and after the virtual environment is created, submit the container including the virtual environment as a second image; A third submission unit is used to start a container created based on the second image, write a command line tool for calling multiple application software in Python in the container created based on the second image, and submit the container including the command line tool as a third image; A deployment unit, configured to deploy a software platform for analyzing third-generation gene sequencing data on a machine supporting the Docker based on a third image, wherein the software platform calls multiple application software through a command line tool to analyze the third-generation gene sequencing data; The fourth software for detecting chromosome structural variation includes three types, which may be referred to as the first fourth software, the second fourth software and the third fourth software; The third submission unit is further used for: Starting a container created based on the second image, in the container created based on the second image, using Python to write a command line tool for calling multiple application software, and using Python to write a first analysis tool for analyzing chromosome structural variation detection results of the first fourth software and the second fourth software, and using Python to write a second analysis tool for analyzing chromosome structural variation detection results of the first fourth software, the second fourth software, and the third fourth software; A third analysis tool is written in Python to perform dynamic mutation search based on pre-configured bed interval files of multiple clinically relevant dynamic mutations, and analyze the dynamic mutation situation according to the search results; and A fourth analysis tool was written in Python to perform tandem repeat retrieval based on a pre-configured bed interval file of tandem amplification of the whole human genome, and to analyze the tandem repeat amplification situation based on the retrieval results; The container including the command line tool, the first analysis tool, the second analysis tool, the third analysis tool, and the fourth analysis tool is submitted as a third image.
6. A host machine, characterized in that: It comprises a processor and a memory, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the method for developing a software platform for analyzing third-generation gene sequencing data as described in any one of claims 1 to 4.
7. A storage medium, characterized in that: The storage medium stores a computer program, wherein the computer program is configured to execute the method for developing a software platform for analyzing third-generation gene sequencing data according to any one of claims 1 to 4 when running.
Citation Information
Patent Citations
Application of Docker technology in high-throughput sequencing data analysis
CN107590365A