Gene sequencing analysis method and apparatus, and storage medium and computer device
Patent Information
- Application Number
- AE20226002677
- Authority / Receiving Office
- AE · AE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-06-23
- Filing Date
- 2022-06-06
- Estimated Expiration
- 2042-06-06
AI Technical Summary
In existing gene sequencing technology, the sequencing stage takes a long time and the transmission efficiency is low, resulting in a slow analysis process.
By obtaining the short sequence data incoming from the sequencing platform in real time, slicing and processing it, and calling the preset package program in the memory for data processing and detection analysis, flow sequencing and analysis are realized, which reduces the waiting and transmission of the entire sequencing result. .
It speeds up the sequencing and analysis process, improves data transmission speed and processing efficiency, reduces I/O congestion and memory consumption, and extends the service life of the equipment.
Smart Images

Figure ABST_ABST
Abstract
Description
Gene sequencing analysis method, device, storage medium and computer equipment
[0001] Priority information
[0002] This application claims priority and benefits of patent application No. 202110698855.6 filed with the State Intellectual Property Office of China on June 23, 2021, and the entire text of which is incorporated herein by reference. Technical Field
[0003] The present invention relates to the field of bioinformatics, and in particular to a gene sequencing analysis method, device, storage medium and computer equipment. Background Art
[0004] Since its invention, DNA sequencing technology has played a vital role in advancing the development of molecular biology. From the early manual sequencing by Frederick Sanger, to the first generation of automated sequencers developed based on Sanger's method, to the current next-generation sequencing platforms, this field has undergone tremendous changes.
[0005] The sequencing process of the next-generation sequencing platform is mainly to add four nucleotides labeled with different fluorescent groups and DNA polymerase to the flow cell channel at the same time in each sequencing cycle, and extend the DNA chain according to the principle of base complementary pairing; then collect fluorescence images, and the base-specific fluorescent labels reveal the newly added nucleotides in this round, thus obtaining the DNA sequence at this position in the template; then, continue to the next round of reaction. After repeating this process multiple times, multiple DNA sequences are obtained. For example, after 50 sequencing cycles, a 50-base DNA sequence will be generated. Because the single sequence obtained by this method is very short, it is called a short sequence.
[0006] As can be seen from the above content, the next-generation sequencing platform needs to perform unified base recognition after the biochemical and imaging runs are completed, and then convert the recognition results into other forms for storage; the stored files are then transferred to the primary storage for data quality control, verification of sample information and machine information, and then secondary storage is used for data archiving; this sequencing stage is time-consuming and has low transmission efficiency, resulting in a slow analysis process.
[0007] Summary of the Invention
[0008] The purpose of the present invention is to solve at least one of the above-mentioned technical defects, especially the technical defects in the prior art that the sequencing stage is time-consuming and the transmission efficiency is low, resulting in a slow analysis process.
[0009] In a first aspect, the present invention provides a gene sequencing analysis method, comprising: obtaining slice data, the slice data being a set of short sequences read after at least one round of sequencing cycle of a sequencing library and being transmitted in real time by a sequencing platform; inputting the slice data into a memory; calling a package program pre-set in the memory to perform data processing and detection analysis on the slice data to obtain corresponding analysis results; wherein the package program is a custom program.
[0010] According to an embodiment of the present invention, the above-mentioned gene sequencing analysis method may further include at least one of the following additional technical features:
[0011] According to an embodiment of the present invention, the step of obtaining slice data includes: determining the slice size; segmenting all unsegmented short sequences currently input to the sequencing platform and read after a single round of sequencing cycle according to the slice size, and using the segmented short sequence set as the slice data.
[0012] According to an embodiment of the present invention, the step of determining the slice size includes: obtaining the idle status of the current CPU; and adjusting the slice size according to the idle status of the current CPU.
[0013] According to an embodiment of the present invention, the encapsulation program includes a data quality control program, a data processing program and a detection and analysis program; the step of calling the encapsulation program pre-set in the memory to perform data processing and detection and analysis on the slice data to obtain the corresponding analysis result includes: calling the data quality control program pre-set in the memory to perform quality control processing on the slice data to obtain a quality control result; calling the data processing program pre-set in the memory to perform data processing on the quality control result to obtain a processing result; calling the detection and analysis program pre-set in the memory to perform detection and analysis on the processing result to obtain a final analysis result.
[0014] According to an embodiment of the present invention, the step of calling the data quality control program pre-set in the memory to perform quality control processing on the slice data includes: calling the data quality control program pre-set in the memory, calculating the position error rate of short sequences in the slice data, counting the base distribution in the slice data, and / or cutting out low-quality bases in the slice data; wherein the low-quality bases are bases whose base quality is lower than a quality threshold.
[0015] According to an embodiment of the present invention, the step of calling the data processing program pre-set in the memory to perform data processing on the quality control results includes: calling the data processing program pre-set in the memory to perform at least one of alignment, sorting, deduplication, and re-alignment on the short sequences in the quality control results.
[0016] According to an embodiment of the present invention, the step of calling the data processing program pre-set in the memory to perform at least one of comparison, sorting, deduplication, and re-alignment on the short sequences in the quality control results includes: calling the data processing program pre-set in the memory to compare the short sequences in the quality control results with the reference genes, and determining the position of the short sequences in the reference genes; determining the position tag of the short sequences based on the position of the short sequences in the reference genes; determining the target thread that is currently idle among the preset threads in the memory; and calling the target thread to perform at least one of sorting, deduplication, and re-alignment on the short sequences with reference to the position tag of the short sequences.
[0017] According to an embodiment of the present invention, the step of calling the detection and analysis program preset in the memory to detect and analyze the processing results includes: calling the detection and analysis program preset in the memory to perform variation detection and interpretation on the processing results.
[0018] In the second aspect of the present invention, the present invention also provides a gene sequencing analysis device, including: a data acquisition module, used to obtain slice data, the slice data is transmitted in real time by the sequencing platform, and is a set of short sequences read after at least one round of sequencing cycle of the sequencing library; a slice transmission module, used to input the slice data into a memory; a processing and analysis module, used to call a pre-set encapsulation program in the memory, perform data processing and detection analysis on the slice data, and obtain corresponding analysis results; wherein, the encapsulation program is a custom program.
[0019] In the third aspect of the present invention, the present invention also provides a storage medium, which stores computer-readable instructions. When the computer-readable instructions are executed by one or more processors, the one or more processors execute the steps of the gene sequencing analysis method described in any one of the above embodiments.
[0020] In the fourth aspect of the present invention, the present invention also provides a computer device, which stores computer-readable instructions. When the computer-readable instructions are executed by one or more processors, the one or more processors execute the steps of the gene sequencing analysis method described in any one of the above embodiments.
[0021] It can be seen from the above technical solutions that the embodiments of the present invention have the following advantages:
[0022] The gene sequencing analysis method, apparatus, storage medium, and computer equipment provided by the present invention first slice and process the short sequence transmitted in real time by the sequencing platform to obtain corresponding slice processing, and then input the slice data into the memory so as to call the package program pre-loaded in the memory to detect and analyze the slice data to obtain the corresponding analysis results; this process does not need to wait for the sequencing platform to complete the sequencing and then transmit the entire sequencing result to the corresponding platform for processing and analysis, but instead obtains the slice data sequenced by the sequencing platform in real time, and performs flow sequencing and analysis on the slice data. Therefore, the present application can speed up the sequencing and analysis process as a whole, and the data during analysis is slice data. Compared with the entire sequencing result, the slice data has a faster transmission speed and takes less time.
[0023] In addition, the analysis process of this application is performed by a pre-set encapsulated program in the memory, and there is no need to transfer the sequencing data to other platforms for processing, which effectively reduces I / O congestion and memory consumption, further improves the machine's operating efficiency, and extends the machine's service life. BRIEF DESCRIPTION OF THE DRAWINGS
[0024] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0025] FIG1 is a schematic diagram of a process for gene sequencing analysis provided by an embodiment of the present invention;
[0026] FIG2 is a schematic diagram of a flow analysis process according to an embodiment of the present invention;
[0027] FIG3 is a schematic diagram of a gene sequencing analysis process according to an embodiment of the present invention;
[0028] FIG4 is a schematic diagram showing the relationship between the sequencing process and time in the gene sequencing analysis process provided by an embodiment of the present invention;
[0029] FIG5 is a schematic structural diagram of a gene sequencing analysis device provided by an embodiment of the present invention;
[0030] FIG6 is a schematic diagram of the internal structure of a computer device provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0031] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of the present invention.
[0032] Sequencing, simply put, converts chemical signals from DNA into digital signals that can be processed by computers. From Frederick Sanger's early manual sequencing, to the first generation of automated sequencers developed based on Sanger's method, to current next-generation sequencing platforms, this field has undergone tremendous changes. Each evolution and breakthrough in sequencing technology has significantly boosted genomic research, disease and medical research, drug development, breeding, and other fields.
[0033] Currently, the sequencing process of the next-generation sequencing platform is mainly to add four nucleotides labeled with different fluorescent groups and DNA polymerase to the flow cell channel at the same time in each sequencing cycle, and extend the DNA chain according to the principle of base complementary pairing; then collect fluorescence images, and the base-specific fluorescent labels reveal the newly added nucleotides in this round, thus obtaining the DNA sequence at this position in the template; then, continue to the next round of reaction. After repeating this process multiple times, multiple DNA sequences are obtained. For example, after 50 sequencing cycles, a 50-base DNA sequence will be generated. Because the single sequence obtained by this method is very short, it is called a short sequence.
[0034] As can be seen from the above content, the next-generation sequencing platform needs to perform unified base recognition after the biochemical and imaging runs are completed, and then convert the recognition results into other forms for storage; the stored files are then transferred to the primary storage for data quality control, verification of sample information and machine information, and then secondary storage is used for data archiving; this sequencing stage is time-consuming and has low transmission efficiency, resulting in a slow analysis process.
[0035] Therefore, the purpose of the present invention is to solve the technical problems in the prior art that the sequencing stage is time-consuming, the transmission efficiency is low, and the analysis process is slow, and specifically proposes the following technical solutions:
[0036] Schematically, as shown in FIG1 , FIG1 is a schematic flow chart of a gene sequencing analysis method provided by an embodiment of the present invention; the present invention provides a gene sequencing analysis method, which specifically includes the following steps:
[0037] S110: Acquire slice data.
[0038] In this step, before performing bioinformatics analysis, it is necessary to obtain the slice data transmitted by the sequencing platform so that corresponding bioinformatics analysis can be performed based on the slice data.
[0039] It is understood that, considering the analysis efficiency and memory usage of the subsequent platform, this application requires slicing the real-time data transmitted by the sequencing platform, and the slice size can be adaptively adjusted according to the idleness of the server. Therefore, the slice data obtained in this application is a collection of short sequences read after at least one round of sequencing cycle of the sequencing library, transmitted in real time by the sequencing platform.
[0040] It should be noted that the slice size can be adaptively adjusted based on the server's idleness. This mainly involves the following situations: if the server is busy, the slice size can be adjusted to a short sequence that can be read after one sequencing cycle; if the server is relatively idle, the slice size can be adjusted to a short sequence that can be read after multiple sequencing cycles. Furthermore, the initial slice can wait for multiple sequencing cycles, such as 10 sequencing cycles before slicing into one slice.
[0041] For example, this application can use a second-generation sequencing platform to obtain slice data. Like Sanger sequencing, next-generation sequencing (NGS) uses a computer to detect the fluorescent signal generated when DNA polymerase catalyzes the incorporation of fluorescently labeled dNTPs into the DNA template during each sequencing cycle. However, unlike Sanger sequencing, which detects a single fragment per unit time, NGS can simultaneously detect signals from thousands of channels, greatly improving efficiency.
[0042] It is understood that the second-generation sequencing platforms here include but are not limited to Illumina (Solexa) sequencing, Roche 454 sequencing, Ion torrent: Proton / PGM sequencing, and SOLiD sequencing.
[0043] The following uses the second-generation sequencing platform as an example to further illustrate how to obtain slice data. Schematically, the second-generation sequencing platform in this application needs to construct a sequencing library before sequencing the sequencing library. The sequencing library refers to a DNA mixture composed of DNA fragments connected to specific DNA adapter sequences at both ends. For example, the genomic DNA is interrupted by ultrasound, and then the two ends of the broken DNA fragments are filled with enzymes, and the adapter sequences are connected with ligase. The connected DNA mixture is called a "library".
[0044] Before sequencing the sequencing library using the second-generation sequencing platform, the sequencing library can also be amplified by PCR. The purpose of PCR amplification is to replicate the weak DNA fragments in the solution to be sequenced several times or even dozens of times, so as to increase their distribution density in the solution to be sequenced so that they can be obtained during sampling.
[0045] During actual sequencing, a neutral solution is added, along with sequencing dNTP primers. Because the 3' end of the dNTP is blocked by an azide group, each sequencing cycle can only extend one base. After a sequencing cycle, a specific chemical reagent is added to cleave the azide group and fluorescent marker, exposing the hydroxyl group at the 3' end, allowing the base sequence to be read.
[0046] In this application, the biochemical and imaging parts of each sequencing cycle in the sequencing process are transferred to the memory in real time for base calling to obtain the corresponding short sequence, and the slice data is output and stored in the memory when the slice size is met.
[0047] For example, the existing second-generation sequencing platform outputs a fastq file after sequencing. A fastq file is a sequence file containing a quality value, where q stands for quality. It is generally used to store raw sequencing data and has an extension of fastq or fq. The following is a common sequence format for fastq files:
[0048] @DJB775P1:248:D0MDGACXX:7:1202:12362:49613
[0049] TGCTTACTCTGCGTTGATACCACTGCTTAGATCGGAAGAGCACACGTCTGAA
[0050] +
[0051] JJJJJIIJJJJJJHIHHHGHFFFFFFCEEEEEDBD? DDDDDDBDDDABDDCA
[0052] @DJB775P1:248:D0MDGACXX:7:1202:12782:49716
[0053] CTCTGCGTTGATACCACTGCTTACTCTGCGTTGATACCACTGCTTAGATCGG
[0054] +
[0055] IIIIIIIIIIIIIIIHHHHHFFFFFFEECCCCBCECCCCCCCCCCCCCCCC
[0056] As can be seen from the above sequence format, every four lines in the fastq file form an independent unit, which we call a read, or a short sequence. The first line begins with '@', and DJB775P1 is the name of this short sequence. The string on the first line is converted based on the status information during sequencing, without any spaces in the middle. It is the unique identifier of each short sequence; the second line is the sequence of the sequencing read, consisting of the five letters A, C, G, T, and N. This is also the DNA sequence we really care about. N represents the bases that cannot be recognized during sequencing; the third line begins with '+'. In the old version of the FASTQ file, the information of the first line is directly repeated, but now generally nothing is added (to save storage space); the fourth line is the quality value of the sequencing read. This is as important as the base information on the second line. It describes the reliability of each sequenced base and is represented by ASCII code.
[0057] In order to improve analysis efficiency, this application divides the sequencing and analysis process into slices and processes them sequentially using a streaming structure, achieving sequencing, encoding, transmission, and analysis at the same time. First, the results obtained from the biochemical and imaging parts of each sequencing cycle in the sequencing process are transferred to the memory for image recognition processing in the basecall process, thereby obtaining multiple short sequences. Then, the slice size is determined according to the idleness of the server. That is, the bases in the second row mentioned above are sliced according to the idleness of the server. If the server is idle, multiple bases are sliced as one slice data. If the server is not idle, a single base is sliced as one slice data. The slice data obtained after the slice is saved in the memory.
[0058] Next, when reading the slice data in the memory for analysis, you can first remove the connector (located at the beginning of the first slice, generally 6-8 bases, the connector data can be used to distinguish different samples and facilitate subsequent output), and then compare the remaining slice data to the human genome. Each base of each new slice data will continuously narrow the range of the read positioning to the human genome, and the comparison position will be more accurate.
[0059] In addition, when performing sequencing and analysis in this application, the platform selected can be a machine that combines sequencing and analysis, or it can be an existing sequencer and analyzer connected through a network to achieve data transmission and operation analysis, and there is no limitation here.
[0060] S120: Inputting the slice data into the memory.
[0061] In this step, after the slice data is obtained through step S110, it can be input into the memory of the synthesizing machine, or it can be input into the memory of the analyzer connected to the sequencer, so that the slice data can be processed and analyzed through the encapsulation program in the memory.
[0062] It is understandable that after the existing sequencer sequences the sequencing library, the sequencing results are generally output as fastq files and stored on the hard disk; when performing alignment analysis, the fastq file is read from the hard disk and then aligned to the human genome (reference.fa); the slice data obtained in this application does not need to be output to the hard disk, but is directly placed in the memory for alignment processing. This method reduces the process of writing to and reading from the hard disk, and reduces I / O consumption.
[0063] It should also be noted that the memory here can be DDR memory. Due to the large size of genetic data and limited server memory, DDR memory is often used. DDR memory transmits data once on both the rising and falling edges of the clock signal, making the data transmission speed of DDR memory twice that of traditional SDRAM. Furthermore, since only the falling edge signal is used, it does not increase energy consumption. As for addressing and control signals, they are the same as traditional SDRAM and are transmitted only on the rising edge of the clock.
[0064] S130: Calling the encapsulation program in the memory to perform data processing and detection analysis on the slice data to obtain analysis results.
[0065] In this step, when processing the slice data, it is necessary to call the encapsulation program pre-set in the memory, perform data processing and detection analysis on the slice data through the encapsulation program, and obtain corresponding analysis results.
[0066] It should be noted that the encapsulated program here refers to software that encapsulates multiple programs into one program, and the encapsulated program is a custom program that can encapsulate multiple different programs into one program according to user needs to perform data processing and detection analysis on slice data.
[0067] Moreover, the encapsulation program here is optimized based on the existing internationally recognized program, with increased memory connection, multi-threading, and the ability to process slice data. When the encapsulation program needs to be used for data processing, the corresponding encapsulation program placed on the disk can be triggered and loaded into the memory as a task process, thereby effectively reducing I / O consumption, reducing read and write time, and improving analysis efficiency.
[0068] For example, before performing inspection and analysis on slice data, it is necessary to perform data processing on it. The data processing process can be implemented through one or more programs, such as a data quality control program, a data processing program, etc., and then a detection and analysis program is connected to perform inspection and analysis on the results of data processing, so that the final analysis results can be more accurate.
[0069] Schematically, as shown in FIG2 , FIG2 is a schematic diagram of the flow analysis process provided by an embodiment of the present invention; in FIG2 , the sequencer can use the biochemical and imaging system to perform biochemical imaging on the sequencing library, and transmit the biochemical imaging image to the central control server in the form of slice transmission. The image is then transmitted to the analytical instrument through the central control server for data processing and detection analysis. The data quality control process involves obtaining samples and machine information from the production information system, as well as slice data sent by the central control server, through the server memory in the data quality control server. The slice data is then subjected to data quality control, archived, and delivered. Finally, the analysis results are stored, thereby realizing the flow analysis process.
[0070] As can be seen from Figure 2, the flow analysis process used in this application slices the short sequence set transmitted by the sequencing platform and hides part of the analysis time in the original sequencing time. The data processing process and the detection and analysis process are connected through memory, which can effectively reduce I / O consumption, reduce read and write time, and improve analysis efficiency.
[0071] The gene sequencing and analysis method provided in the above embodiment first slices the short sequence transmitted by the sequencing platform in real time to obtain corresponding slice processing, and then inputs the slice data into the memory so as to call the package program pre-loaded in the memory to detect and analyze the slice data to obtain the corresponding analysis results; this process does not need to wait for the sequencing platform to complete the sequencing and transmit the entire sequencing result to the corresponding platform for processing and analysis, but instead obtains the slice data sequenced by the sequencing platform in real time, and performs flow sequencing and analysis on the slice data. Therefore, the present application can speed up the sequencing and analysis process as a whole, and the data during analysis is slice data. Compared with the entire sequencing result, the slice data has a faster transmission speed and takes less time.
[0072] In addition, the analysis process of this application is performed by a pre-set encapsulated program in the memory, and there is no need to transfer the sequencing data to other platforms for processing, which effectively reduces I / O congestion and memory consumption, further improves the machine's operating efficiency, and extends the machine's service life.
[0073] The following will further illustrate the gene sequencing analysis method of the present application through multiple examples. As described below, the following examples mainly describe the process of how to obtain slice data.
[0074] In one embodiment, the step of obtaining slice data in step S110 may include:
[0075] S111: Determine the slice size.
[0076] S112: Slice all the short sequences currently input by the sequencing platform and not segmented and read after a single round of sequencing according to the segment size, and use the segmented short sequence set as the segment data.
[0077] In this embodiment, the biochemical and imaging parts of each sequencing cycle in the sequencing process are transferred to the memory in real time for base recognition. After the corresponding short sequence is obtained, the slice size needs to be determined first, and the short sequences that meet the slice size are combined and output as slice data, and the slice data is stored in the memory.
[0078] For example, every m+n cycles (sequencing cycles) is a slice data, where m is the first slice, m>=10, n refers to all subsequent slices, n>=1 and n<=20, and m+n can adaptively adjust the slice size according to the analysis speed.
[0079] Schematically, as shown in Figures 3 and 4, Figure 3 is a schematic diagram of the gene sequencing analysis process provided by an embodiment of the present invention, and Figure 4 is a schematic diagram of the relationship between the sequencing process and time in the gene sequencing analysis process provided by an embodiment of the present invention; It can be seen from Figures 3 and 4 that the present application obtains the slice data after sequencing by the sequencing platform in real time, and performs flow sequencing and analysis on the slice data, thereby speeding up the sequencing and analysis process as a whole, and then completes the variation detection or alignment to the RNA pathogen library, etc., and then performs subsequent annotation, ends the analysis process, and completes the delivery.
[0080] The above embodiment describes the process of how to obtain slice data. The following further describes the step of determining the slice size in the above embodiment.
[0081] In one embodiment, the step of determining the slice size in step S111 may include:
[0082] S1111: Get the current CPU idle status.
[0083] S1112: Adjust the slice size according to the current CPU idleness.
[0084] In this embodiment, when slice data is obtained for detection and analysis, the slice data is a set of short sequences that are transmitted in real time by the sequencing platform and read after performing at least one round of sequencing cycles on gene fragments in the sequencing library.
[0085] The slice size can be adaptively adjusted based on the analysis speed, which can be determined by analyzing the current CPU idleness, which is related to the current memory usage. If the current memory usage is high, it indicates that the memory is not idle, and the analysis speed is slow. The slice size can be adjusted to a short sequence set that can be read after multiple sequencing cycles. If the current memory usage is low, it indicates that the memory is idle, and the analysis speed is fast. The slice size can be adjusted to a short sequence set that can be read after a single sequencing cycle.
[0086] For example, every m+n cycles (sequencing cycles) is a slice of data. The slices after m are automatically controlled, that is, from the second slice to the last slice. The size of slice n is determined by the idleness of the machine. If it is relatively idle, it is transmitted once per cycle, and n=1 at this time; if it is busy, it will be transmitted when n=20.
[0087] It can be understood that according to the comparison principle in this application, the slice data is transmitted to the comparison process for comparison with the human genome, and the comparison range of the slice data is determined. The larger the slice data, the more accurately the comparison range is narrowed.
[0088] The above embodiment further illustrates the step of determining the slice size. The following will describe the encapsulation program and how to call the encapsulation program to perform data processing and detection analysis through an embodiment.
[0089] In one embodiment, the packaging program may include a data quality control program, a data processing program, and a detection and analysis program.
[0090] In step S130, the step of calling the pre-set encapsulation program in the memory to perform data processing and detection analysis on the slice data to obtain corresponding analysis results may include:
[0091] S131: calling the data quality control program preset in the memory to perform quality control processing on the slice data to obtain a quality control result.
[0092] S132: calling a data processing program preset in the memory to perform data processing on the quality control result to obtain a processing result.
[0093] S133: calling the detection and analysis program preset in the memory, performing detection and analysis on the processing result, and obtaining a final analysis result.
[0094] In this embodiment, when processing the slice data, a package program pre-set in the memory can be called to perform data processing and detection analysis on the slice data through the package program to obtain corresponding analysis results.
[0095] The packaged program pre-set in the memory may be a custom program, which may be a combination of multiple programs packaged into one program. For example, the packaged program may include a data quality control program, a data processing program, and a detection and analysis program.
[0096] Among them, the data quality control program is mainly used to perform quality control processing on the slice data and obtain quality control results; the data processing program is mainly used to perform data processing on the quality control results and obtain processing results; and the detection and analysis program is used to perform detection and analysis on the processing results to obtain the final analysis results.
[0097] The above embodiment describes the encapsulation program and how to call the encapsulation program to perform data processing and detection analysis. The following describes in detail how to call the data quality control program to perform quality control processing.
[0098] In one embodiment, the step of calling the data quality control program preset in the memory to perform quality control processing on the slice data in step S131 may include:
[0099] The data quality control program pre-set in the memory is called to calculate the position error rate of short sequences in the slice data, count the base distribution in the slice data, and / or remove low-quality bases in the slice data; wherein the low-quality bases are bases whose base quality is lower than a quality threshold.
[0100] In this embodiment, when performing quality control processing on the slice data, the data quality control program in the encapsulation program can be called to perform the quality control processing.
[0101] Specifically, the data quality control program mainly performs quality control processing on the slice data. The quality control processing process may include calculating the position error rate of short sequences in the slice data, statistically analyzing the base distribution in the slice data, removing low-quality bases in the slice data, and other quality control processing processes applicable to short sequences. The specific selection of one or more quality control processing processes and the tools used in the quality control processing process can be set according to actual conditions.
[0102] For example, when it is necessary to remove low-quality bases in the slice data, a window of a certain length can be slid and the average quality of the bases in the window can be calculated. If it is too low, all bases can be removed directly.
[0103] The above embodiment describes in detail how to call the data quality control program to perform the quality control process. The following embodiment will describe how to call the data processing program to perform the data processing process.
[0104] In one embodiment, the step of calling the pre-set data processing program in the memory to perform data processing on the quality control results in step S132 may include:
[0105] The data processing program pre-set in the memory is called to perform at least one of alignment, sorting, deduplication, and re-alignment on the short sequences in the quality control results.
[0106] In this embodiment, after the slice data is quality controlled, a data processing program pre-set in the memory can be called to align, sort, deduplicate and / or re-align the short sequences in the quality control results after the quality control processing.
[0107] Specifically, although the slice data all come from an ordered genome, after DNA library construction and sequencing, the order relationship between different short sequences in the slice data has been completely lost. Therefore, there is no positional relationship between the two adjacent short sequences in the slice data. They are all short sequences randomly derived from a certain position in the original genome.
[0108] Therefore, after performing quality control processing on the slice data, this application can call the pre-set data processing program in the memory to compare the short sequences in the slice data corresponding to the quality control results with the reference genes of the species one by one, find the position of each short sequence on the reference gene, and then arrange them in order. This process is called the slice data comparison process.
[0109] It should be noted that the reference gene here refers to the genome sequence of the species, that is, the complete genome sequence that has been assembled, and the complete genome sequence is often used as the standard reference for the species.
[0110] After the short sequence alignment is completed, the sorting process can be carried out. The main function of the sorting process is to sort the previously aligned short sequences from small to low in order of position, so that a continuous position relationship is formed between multiple short sequences.
[0111] After the sorting process, the short sequences in the sliced data can also be deduplicated. This deduplication operation mainly removes repeated short sequences in the sliced data, which facilitates subsequent detection and analysis.
[0112] Finally, the re-alignment process of short sequences is mainly to re-correct the areas of potential sequence insertion or sequence deletion found in the above comparison process, so as to make the results of subsequent detection and analysis more accurate.
[0113] It is understandable that the above-mentioned data processing processes of comparison, sorting, deduplication and re-comparison can be selectively set according to actual conditions, and the order can also be set manually, which is not limited here.
[0114] For example, the normal analysis process is alignment, sorting, deduplication, realignment, variation detection, and annotation; the input file for alignment is a fastq file, the output file is a bam file, and the output until re-alignment is a bam file, while the output of variation detection is a vcf file, and the annotation is based on the results of variation detection; when using the gene sequencing analysis method of the present application, if a second-generation sequencing platform is used for sequencing, all second-generation fastq offline data analysis processes must be aligned, and some subsequent processes may be performed, while others may not; if you do not start from the offline data, you can also input a bam file at any stage for subsequent analysis and processing.
[0115] The comparison process of this application will be further explained below. For example, when comparing slice data, this application can compare the bases of the short sequences in the slice data with the whole genome, find the position of each short sequence on the reference gene, and after all the slice data are located at a specific position in the whole genome, integrate the matched comparison information, screen and expand adjacent comparison positions, and allow gaps to exist (i.e., positions that are not matched), so as to obtain a longer sequence chain that is matched to the whole genome.
[0116] Furthermore, in the above comparison process, a dynamic programming algorithm that integrates global and local comparison situations can be used to select the optimal comparison result information, and then output the comparison results of different samples to the memory respectively according to the connector information.
[0117] For example, the commonly used BWA-MEM algorithm primarily uses a seed-and-extend strategy. In the seed phase, BWA performs an exact match of the read's base fragments against the reference and selects read fragments that meet certain match count and length requirements as seeds. The core of this phase of the algorithm is the exact match based on the FM-index. In the extend phase, BWA uses the Smith-Waterman algorithm to extend the seed alignment in both directions on the read and reference (tolerating gaps) to find a global match for the entire read on the reference.
[0118] The above embodiment mainly illustrates how to call a data processing program to perform a data processing process. The specific implementation method of the data processing process will be further described below.
[0119] In one embodiment, the step of calling a data processing program preset in the memory to perform at least one of alignment, sorting, deduplication, and re-alignment on the short sequences in the quality control results may include:
[0120] A11: Call the data processing program preset in the memory to compare the short sequence in the quality control result with the reference gene to determine the position of the short sequence in the reference gene.
[0121] A12: Determine a position tag of the short sequence based on the position of the short sequence in the reference gene.
[0122] A13: Determine a target thread that is currently in an idle state among the preset threads in the memory.
[0123] A14: Referring to the position tag of the short sequence, calling the target thread to perform at least one of sorting, deduplication, and re-alignment on the short sequence.
[0124] In this embodiment, when data processing is performed on the short sequences in the quality control results, a position tag can be added to the aligned short sequences, and then it is determined whether there is an idle thread among the preset threads in the current memory. If so, the thread is used as the target thread, and then the position tag of the short sequence is referred to, and the target thread is called to sort, deduplicate and / or re-align the short sequences, so that the sorting and deduplication are more efficient.
[0125] For example, by calling a data processing program to compare the short sequence in the quality control results with the reference gene, and determining the position tag corresponding to the short sequence based on the position of the short sequence in the reference gene, the target thread can be called to sort and deduplicate the short sequence. For example, when using multiple threads for processing during the sorting process, in order to improve the processing efficiency of the multiple threads, the position tag of the short sequence can be used for sorting, so that the sorting results obtained after the multi-threaded sorting are accurate and the sorting efficiency is higher.
[0126] The above embodiments further illustrate the specific implementation of the data processing process. The following will specifically describe how to call the detection and analysis program to perform detection and analysis on the processing results.
[0127] In one embodiment, the step of calling the detection and analysis program preset in the memory to detect and analyze the processing results in step S133 may include: calling the detection and analysis program preset in the memory to perform variation detection and interpretation on the processing results.
[0128] In this embodiment, one of the goals of performing gene sequencing analysis is to obtain an accurate set of variants in the sample. This accurate set of variants requires confirmation through variant detection and interpretation. Currently, variant detection includes SNPs, indels, CNVs, and SVs. The variant detection process can use algorithms that apply Bayesian inference or the HaplotypeCaller algorithm.
[0129] For example, when using the HaplotypeCaller algorithm for variant detection, the haplotype combinations of the population are first inferred, the probability of each combination is calculated, and then the genotype combination of each sample is inferred based on this information.
[0130] Furthermore, when the present application performs detection and analysis on the processing results, such as performing variation detection, the variation detection process does not need to wait for the completion of the alignment, but can divide the different chromosomes in the whole genome into several regions. When each region accumulates a part of the alignment results, the high mutation region can be found for detection; the subsequent alignment results are added to continuously verify the variation of the existing high mutation region, including mismatches / insertions / deletions, etc.; then the data of the high mutation region is assembled to obtain streamlined haplotype data, and then the hidden Markov model is used to estimate the maximum likelihood estimate of the haplotype, obtain the typing result of each site in the region, and output the variation information.
[0131] It is understood that, to improve the efficiency of the entire bioinformatics analysis, this application does not perform mutation detection on all sites across the entire genome when performing mutation detection on the processed results. Instead, it selects hypervariable regions for detection. The selection of hypervariable regions can be based on the probability of mutation at each site. For example, after calculating the probability of mutation at each site, a predetermined probability threshold can be used to determine whether it is a hypervariable region.
[0132] Moreover, when assembling data from high mutation regions, if there are duplications in the fragment set corresponding to the reference genome, the length of the short fragments will be increased until there are no duplications or the maximum length limit is reached, and the edges obtained by assembly can be assigned weights based on the number of short sequences obtained by comparison.
[0133] Furthermore, after obtaining the variation detection results, the variation detection results can be quality controlled and filtered to further distinguish the good and bad variation detection results.
[0134] The following is a description of the gene sequencing analysis device provided in an embodiment of the present application. The gene sequencing analysis device described below and the gene sequencing analysis method described above can be referenced to each other.
[0135] In one embodiment, as shown in FIG5 , FIG5 is a schematic diagram of the structure of a gene sequencing analysis device provided by an embodiment of the present invention. The present invention also provides a gene sequencing analysis device, including a data acquisition module 210, a slice transmission module 220, and a processing and analysis module 230, which specifically includes the following:
[0136] The data acquisition module 210 is used to acquire slice data, which is a set of short sequences read after at least one round of sequencing cycle of the sequencing library and is transmitted in real time by the sequencing platform.
[0137] The slice transmission module 220 is used to input the slice data into the memory.
[0138] The processing and analysis module 230 is used to call the package program pre-set in the memory to perform data processing and detection analysis on the slice data to obtain corresponding analysis results; wherein the package program is a custom program.
[0139] The gene sequencing and analysis device provided in the above embodiment first slices the short sequence transmitted by the sequencing platform in real time to obtain corresponding slice processing, and then inputs the slice data into the memory so as to call the package program pre-loaded in the memory to detect and analyze the slice data to obtain the corresponding analysis results; this process does not need to wait for the sequencing platform to complete the sequencing and transmit the entire sequencing result to the corresponding platform for processing and analysis, but instead obtains the slice data sequenced by the sequencing platform in real time, and performs flow sequencing and analysis on the slice data. Therefore, the present application can speed up the sequencing and analysis process as a whole, and the data during analysis is slice data. Compared with the entire sequencing result, the slice data has a faster transmission speed and takes less time.
[0140] In addition, the analysis process of this application is performed by a pre-set encapsulated program in the memory, and there is no need to transfer the sequencing data to other platforms for processing, which effectively reduces I / O congestion and memory consumption, further improves the machine's operating efficiency, and extends the machine's service life.
[0141] In one embodiment, the data acquisition module 210 may include:
[0142] The determination module 211 is used to determine the slice size.
[0143] The segmentation module 212 is configured to segment all unsegmented short sequences currently input by the sequencing platform and read after a single sequencing cycle according to the segmentation size, and use the segmented short sequence set as the segmentation data.
[0144] In one embodiment, the determination module 211 may include:
[0145] The memory status acquisition module 2111 is used to obtain the current memory free status.
[0146] The slice adjustment module 2112 is configured to adjust the slice size according to the current free space of the memory.
[0147] In one embodiment, the packaged program in the processing and analysis module 230 may include a data quality control program, a data processing program, and a detection and analysis program.
[0148] The processing and analysis module 230 is configured to call a pre-set encapsulation program in the memory to perform data processing and detection analysis on the slice data to obtain corresponding analysis results, which may include:
[0149] The data quality control module 231 is used to call the data quality control program preset in the memory to perform quality control processing on the slice data to obtain a quality control result.
[0150] The data processing module 232 is used to call the data processing program preset in the memory to perform data processing on the quality control results to obtain processing results.
[0151] The detection and analysis module 233 is used to call the detection and analysis program preset in the memory, perform detection and analysis on the processing result, and obtain the final analysis result.
[0152] In one embodiment, the data quality control module 231 may include:
[0153] The first processing module 2311 is used to call the data quality control program pre-set in the memory, calculate the position error rate of short sequences in the slice data, count the base distribution in the slice data, and / or remove low-quality bases in the slice data; wherein the low-quality bases are bases whose base quality is lower than the quality threshold.
[0154] In one embodiment, the data processing module 232 may include:
[0155] The second processing module 2321 is used to call the data processing program preset in the memory to perform at least one of alignment, sorting, deduplication, and re-alignment on the short sequences in the quality control results.
[0156] In one embodiment, the second processing module 2321 may include:
[0157] The comparison module 310 is used to call the data processing program preset in the memory to compare the short sequence in the quality control result with the reference gene to determine the position of the short sequence in the reference gene.
[0158] The tag determination module 311 is configured to determine a position tag of the short sequence based on the position of the short sequence in the reference gene.
[0159] The thread determination module 312 is configured to determine a target thread that is currently in an idle state among the preset threads in the memory.
[0160] The multi-thread operation module 313 is configured to refer to the position tags of the short sequences and call the target thread to perform at least one of sorting, deduplication, and re-alignment on the short sequences.
[0161] In one embodiment, the detection and analysis module 233 may include:
[0162] The third processing module 2331 is used to call the detection and analysis program preset in the memory to perform variation detection and interpretation on the processing results.
[0163] In one embodiment, the present invention further provides a storage medium storing computer-readable instructions. When the computer-readable instructions are executed by one or more processors, the one or more processors execute the steps of the gene sequencing analysis method described in any one of the above embodiments.
[0164] In one embodiment, the present invention also provides a computer device having computer-readable instructions stored therein. When the computer-readable instructions are executed by one or more processors, the one or more processors execute the steps of the gene sequencing analysis method as described in any one of the above embodiments.
[0165] Schematically, as shown in FIG6 , FIG6 is a schematic diagram of the internal structure of a computer device provided in an embodiment of the present invention. The computer device 300 can be provided as a server. Referring to FIG6 , the computer device 300 includes a processing component 302, which further includes one or more processors, and a memory resource represented by a memory 301 for storing instructions that can be executed by the processing component 302, such as an application. The application stored in the memory 301 can include one or more modules, each of which corresponds to a set of instructions. In addition, the processing component 302 is configured to execute instructions to perform the gene sequencing analysis method of any of the above embodiments.
[0166] The computer device 300 may further include a power supply component 303 configured to perform power management of the computer device 300, a wired or wireless network interface 304 configured to connect the computer device 300 to a network, and an input / output (I / O) interface 305. The computer device 300 may operate based on an operating system stored in the memory 301, such as Windows Server™, Mac OS X™, Unix™, Linux™, Free BSD™, or the like.
[0167] Those skilled in the art will understand that the structure shown in FIG6 is merely a block diagram of a portion of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have a different arrangement of components.
[0168] Finally, it should be noted that, in this document, relational terms such as first and second, etc., are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of additional identical elements in the process, method, article, or device comprising the element.
[0169] The various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The various embodiments can be combined as needed, and the same or similar parts can be referenced to each other.
[0170] The above description of the disclosed embodiments is intended to enable one skilled in the art to implement or use the present application. Various modifications to these embodiments will be readily apparent to one skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present application. Therefore, the present application is not limited to the embodiments shown herein, but is intended to conform to the widest scope consistent with the principles and novel features disclosed herein.
Claims
A gene sequencing analysis method, comprising: acquiring slice data transmitted from a sequencing platform in real time, the slice data being a set of short sequences read after performing at least one cycle of sequencing on a sequencing library; inputting the slice data into a memory; andperforming, by calling an encapsulation program pre-set in the memory, data processing and detection analysis on the slice data, to obtain a corresponding analysis result, wherein the encapsulation program is a custom program;wherein the encapsulation program comprises a data quality control program, a data processing program, and a detection analysis program, and wherein said performing, by calling the encapsulation program pre-set in the memory, the data processing and detection analysis on the slice data, to obtain the corresponding analysis result comprises:performing, by calling the data quality control program pre-set in the memory, quality control processing on the slice data, to obtain a quality control result;performing, by calling the data processing program pre-set in the memory, data processing on the quality control result, to obtain a processing result; and performing, by calling the detection analysis program pre-set in the memory, detection analysis on the processing result, to obtain a final analysis result;wherein said performing, by calling the data processing program pre-set in the memory, the data processing on the quality control result comprises: performing, by calling the data processing program pre-set in the memory, at least one of alignment, ordering, deduplication, re-alignment, and base quality value correction on a short sequence in the quality control result;wherein said performing, by calling the data processing program pre-set in the memory, at least one of alignment, ordering, deduplication, and re-alignment on the short sequence in the quality control result comprises:performing, by calling the data processing program pre-set in the memory, an alignment between the short sequence in the quality control result and a reference gene, to determine a position of the short sequence on the reference gene;determining a position tag of the short sequence based on the position of the short sequence on the reference gene;determining, among pre-set threads in the memory, a target thread that is currently in an idle state; andperforming, by calling the target thread and with reference to the position tag of the short sequence, at least one of ordering, deduplication, and re-alignment of the short sequence.The gene sequencing analysis method according to claim 1, wherein said acquiring the slice data comprises: determining a slice size;slicing, based on the slice size, all unsliced short sequences currently transmitted from the sequencing platform and read after a single cycle of sequencing, a set of the sliced short sequences being used as the slice data.The gene sequencing analysis method according to claim 2, wherein said determining the slice size comprises: acquiring a current central processing unit (CPU) idleness state; andadjusting the slice size based on the current CPU idleness state. The gene sequencing analysis method according to claim 1, wherein said performing, by calling the data quality control program pre-set in the memory, the quality control processing on the slice data comprises: by calling the data quality control program pre-set in the memory, calculating a position error rate of short sequences in the slice data, statistically analyzing a base distribution in the slice data, and removing low-quality bases from the slice data, wherein the low-quality bases are bases with a base quality below a quality threshold.The gene sequencing analysis method according to claim 1, wherein said performing, by calling the detection analysis program pre-set in the memory, the detection analysis on the processing result comprises: performing, by calling the detection analysis program pre-set in the memory, mutation detection and interpretation on the processing result. A gene sequencing analysis apparatus, comprising: a data acquisition module configured to acquire slice data transmitted from a sequencing platform in real time, the slice data being a set of short sequences read after performing at least one cycle of sequencing on a sequencing library;a slice transmission module configured to input the slice data into a memory; anda processing analysis module configured to perform, by calling an encapsulation program pre-set in the memory, data processing and detection analysis on the slice data, to obtain a corresponding analysis result, wherein the encapsulation program is a custom program;wherein the encapsulation program comprises a data quality control program, a data processing program, and a detection analysis program, and wherein the processing analysis module is further configured to: perform, by calling the data quality control program pre-set in the memory, quality control processing on the slice data, to obtain a quality control result;perform, by calling the data processing program pre-set in the memory, data processing on the quality control result, to obtain a processing result; andperform, by calling the detection analysis program pre-set in the memory, detection analysis on the processing result, to obtain a final analysis result;wherein for performing, by calling the data processing program pre-set in the memory, the data processing on the quality control result, the processing analysis module is further configured to: perform, by calling the data processing program pre-set in the memory, at least one of alignment, ordering, deduplication, re-alignment, and base quality value correction on a short sequence in the quality control result;wherein for performing, by calling the data processing program pre-set in the memory, at least one of alignment, ordering, deduplication, and re-alignment on the short sequence in the quality control result, the processing analysis module is further configured to:perform, by calling the data processing program pre-set in the memory, an alignment between the short sequence in the quality control result and a reference gene, to determine a position of the short sequence on the reference gene;determine, a position tag of the short sequence based on the position of the short sequence on the reference gene;determine, among pre-set threads in the memory, a target thread that is currently in an idle state; andperform, by calling the target thread and with reference to the position tag of the short sequence, at least one of ordering, deduplication, and re-alignment of the short sequence. A storage medium, having computer readable instructions stored thereon, wherein the computer readable instructions, when being executed by one or more processors, cause the one or more processors to perform steps of the gene sequencing analysis method according to any one of claims 1 to 5. A computer device, having computer readable instructions stored thereon, wherein the computer readable instructions, when being executed by one or more processors, cause the one or more processors to perform steps of the gene sequencing analysis method according to any one of claims 1 to 5.