Genome sequencing selection system

By performing quality control of sequencing data in the NGS system, filtering low-quality readings and extracting high-quality readings, the problems of data inaccuracy and noise in the NGS system are solved, and the efficiency of data processing and storage is improved.

CN119905142APending Publication Date: 2025-04-29QUEST DIAGNOSTICS INVESTMENTS INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411902093.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2018-10-17
Filing Date
2019-10-16
Publication Date
2025-04-29

AI Technical Summary

Technical Problem

The existing new generation sequencing system (NGS) is prone to introduce errors during sample preparation, resulting in inaccuracy and noise of sequencing data, which in turn affects the efficiency of data processing and storage.

Method used

By implementing the measurement of the read-by-read error rate and read quality of sequencing data in a data processing system, and filtering or excluding low-quality reads, high-quality reads are extracted, providing detailed measurements and statistical analysis.

Benefits of technology

Reduces the need for processing and storage, reduces the computational time spent on data that may provide inaccurate results, and improves the accuracy and efficiency of sequencing data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119905142A_ABST
    Figure CN119905142A_ABST
Patent Text Reader

Abstract

Systems and methods discussed herein may compute sequencing statistics, such as the coverage depth of sequencing data. The solution can determine variation frequencies and identify clinically relevant variations. The solution can read the BAM and VCF input files as well as the Phond zoom quality score. The present solution can select relatively high quality reads based on the quality score, and can calculate reference and alternative allele counts for SNPs, insertions and deletions (INDEL), and structural variations.
Need to check novelty before this filing date? Find Prior Art

Description

This application is a divisional application of the Chinese patent application with application number 201980068946.2 (application date: 2019 / 10 / 16, invention name: Genome sequencing selection system). CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims priority to and the benefit of U.S. Provisional Patent Application No. 62 / 766,432, filed on October 17, 2018, entitled “GENOMICSEQUENCING SELECTION SYSTEM,” which is incorporated herein by reference in its entirety for all purposes. Background Art

[0002] Genome sequencing systems including next generation sequencing (NGS) systems (sometimes referred to as massively parallel sequencing systems or similar terms) can generate a large amount of sequencing data of variable quality. Specifically, in many implementations, the NGS system can segment the genome into multiple small fragments. These small fragments can be sequenced in parallel, which reduces the processing requirements relative to sequencing the entire genome as a whole, and can then be reorganized to produce a full sequence. Sequence metrics can be calculated for sequencing data.

[0003] Compared with the first generation sequencing technology (such as Sanger sequencing), NGS system provides faster and cheaper sequencing. However, NGS system suffers from inaccuracies or noise caused by errors in the recognition of base sequences or base calls or errors introduced during sample preparation. The error rate in base reading can be 10% or more, sometimes up to 25% or more. In view of the large amount of data that can be obtained by NGS system in a short time, even moderate error rates may result in data with tens of thousands or even millions of incorrect base pairs. Summary of the invention

[0004] The systems and methods disclosed herein provide measures of error rates and read quality on a read-by-read basis, and in some implementations can filter or exclude low-quality reads or extract high-quality reads and provide detailed metrics. This can reduce processing requirements compared to analyzing an entire data set that includes low-quality or erroneous data, and can increase the computational speed of determining sequence metrics by reducing the amount of computational time spent on data that may provide inaccurate results. In many implementations, these systems and methods can also reduce memory and bandwidth consumption relative to processing or transmitting data sets with high error rates.

[0005] In some implementations, the solution can calculate sequencing statistics, such as coverage depth. The solution can determine read statistics (such as, variation frequency) and identify clinically relevant variations. The solution can read BAM and VCF input files and Phred scaling quality scores. The solution can select relatively high-quality reads based on the quality scores, and can calculate reference and alternative allele counts for single nucleotide polymorphisms (SNPs), insertions and deletions (INDELs) and structural variations. The solution can calculate sequencing metrics for different chains to measure chain bias. The solution can also determine the minimum, maximum and mean depth for each region of sequence data.

[0006] According to at least one aspect of the present disclosure, a method for filtering sequencing data may include receiving, by a data processing system, data that may include a plurality of gene sequences. Each of the plurality of gene sequences may include an indication of a chromosome, an indication of a position, a base value, and a quality score. The method may include selecting, by the data processing system, a subset of the plurality of gene sequences. Each of the gene sequences in the subset of the plurality of gene sequences may have an indication of the same chromosome. The method may include filtering, by the data processing system, gene sequences including base values ​​having a quality score above a predetermined threshold from the subset of the plurality of gene sequences. The method may include determining, by the data processing system, an aggregate count for each position of the filtered gene sequence. The method may include determining, by the data processing system, an alternative base count for each position of the filtered gene sequence. The method may include generating, by the data processing system, an identification of a gene sequence variation based on a ratio of an alternative base count for each position to an aggregate count for each position exceeding a threshold.

[0007] In some implementations, the method may include determining a replacement count of a missing sequence in a filtered subset of the plurality of gene sequences, wherein the base value has a quality score above the predetermined threshold. The missing sequence may begin at an index adjacent to the position.

[0008] The method may include determining an alternative count of an insertion sequence in a filtered subset of the plurality of gene sequences, wherein the base value has a quality score above the predetermined threshold. The method may include further determining an alternative count of the insertion sequence by identifying an alternative sequence match. The method may include identifying structural variation in the filtered plurality of gene sequences.

[0009] In some implementations, the alternative base count can be determined based on the structural variation identified in the plurality of gene sequences.Determining the aggregate count can include counting matches of each gene sequence in the filtered subset of the plurality of gene sequences to the CIGAR string.

[0010] In some implementations, determining the aggregate count may include counting deletions, insertions, reference skips, soft clips, or hard clips in each of the filtered subsets of the plurality of gene sequences. The method may include calculating at least one of a mean read coverage, a maximum read coverage, or a maximum read coverage of the filtered plurality of gene sequences based on the aggregate count and the alternative base count.

[0011] In some implementations, the method may include calculating the strand bias of the plurality of gene sequences based on the aggregation counts and the alternative base counts.

[0012] According to at least one aspect of the present disclosure, a system for filtering sequencing data may include a data processing system. The system may receive data that may include a plurality of gene sequences. Each of the plurality of gene sequences may include an indication of a chromosome, an indication of a position, a base value, and a quality score. The system may select a subset of the plurality of gene sequences. Each of the plurality of gene sequences in the subset may have an indication of the same chromosome. The system may filter gene sequences from the subset of the plurality of gene sequences in which the base value has a quality score higher than a predetermined threshold. The system may determine an aggregate count for each position of the filtered subset of the plurality of gene sequences, wherein the base value has a quality score higher than the predetermined threshold. The system may determine an alternative base count for each position of the filtered plurality of gene sequences, wherein the base value has a quality score higher than the predetermined threshold. The system may identify a gene sequence variation based on a ratio of an alternative base count for each position to an aggregate count for each position, and may generate an identifier for the gene sequence variation.

[0013] In some implementations, the system may determine a substitution count for a deletion sequence in the subset of the plurality of gene sequences, wherein the base value has a quality score above the predetermined threshold. The system may determine a substitution count for an insertion sequence in a filtered subset of the plurality of gene sequences, wherein the base value has a quality score above the predetermined threshold.

[0014] In some implementations, the system can determine the substitution count of the insertion sequence by identifying substitution sequence matches.The system can identify structural variations in the plurality of gene sequences.

[0015] The system may determine the aggregate count by counting matches of each gene sequence in the filtered subset of the plurality of gene sequences to the CIGAR string. The system may determine the aggregate count by counting deletions, insertions, reference jumps, soft cuts, or hard cuts in each gene sequence in the subset of the plurality of gene sequences.

[0016] The system can calculate at least one of the mean read coverage, the maximum read coverage, or the maximum read coverage of the multiple gene sequences based on the aggregate counts and the alternative base counts. The system can calculate the strand bias of the multiple gene sequences based on the aggregate counts and the alternative base counts.

[0017] The foregoing general description and the following description of the drawings and detailed description are exemplary and explanatory, and are intended to provide further explanation of the invention claimed. Other objects, advantages and novel features will be apparent to those skilled in the art from the following brief description of the drawings and detailed description. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] The drawings are not intended to be drawn to scale. The same reference numbers and names in the various drawings indicate the same elements. For clarity, not every component may be labeled in every drawing. In the drawings:

[0019] Figure 1 A block diagram showing an example system for calculating NGS read depth statistics.

[0020] Figure 2 Demonstrated the use of Figure 1 A block diagram of an example method by which the system presented in FIG. 1 determines a coverage metric for sequencing data.

[0021] Figure 3 An example sequence listing for a given chromosome is shown.

[0022] Figure 4 A block diagram of an example computer system is presented. DETAILED DESCRIPTION

[0023] The various concepts introduced above and discussed in more detail below can be implemented in any of numerous ways, as the concepts described are not limited to any particular implementation. Examples of specific implementations and applications are provided primarily for illustrative purposes.

[0024] The solution can calculate sequencing statistics, such as coverage depth. The solution can determine the frequency of variation and identify clinically relevant variations based on the frequency of variation. The solution can read BAM and VCF input files and Phred scaling quality scores. The solution can select relatively high-quality reads from the input files based on quality scores, and can calculate reference and alternative allele counts for SNP, insertion and deletion (INDEL) and structural variations. The solution can calculate sequencing metrics for different chains to measure chain bias. The solution can also determine the minimum, maximum and mean depth for each region of sequence data. The solution can use quality scores to select and analyze only relatively high-quality reads, which can increase the calculation speed of determining sequence metrics by reducing the amount of calculation time spent on data that may provide inaccurate results.

[0025] Figure 1 A block diagram of an example system 100 for calculating NGS read depth statistics is shown. The system 100 can include a sequencing system 102. The sequencing system 102 can include a data parser 110 that reads a data file 114 from a data repository 116. The data parser 110 can load the data into a buffer 106. The sequencing system 102 can include a reporting engine 104, a filtering engine 108, and an analysis engine 112. The system 100 can include an NGS sequencer 118 that can provide the data file 114 to the sequencing system 102.

[0026] System 100 may include sequencing system 102. Sequencing system 102 may include at least one server or computer having at least one processor. For example, sequencing system 102 may include multiple servers located in at least one data center or server farm, or sequencing system 102 may be a desktop computer. The processor may include a microprocessor, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), other dedicated logic circuits, or a combination thereof. Sequencing system 102 may be as described with respect to Figure 4 The data processing system described herein. For example, the sequencing system 102 may include one or more processors and memory. The sequencing system 102 may include a user interface (e.g., a graphical user interface) that is presented and displayed to a user via a display coupled to the sequencing system 102. One or more input / output (I / O) devices may be coupled to the sequencing system 102.

[0027] The sequencing system 102 may include a data repository 116. The data repository 116 may include one or more local or distributed databases. The data repository 116 may include a computer data storage device or memory, and may store one or more data files 114. The data repository 116 may include non-volatile memory, such as, one or more hard disk drives (HDD) or other magnetic or optical storage media, one or more solid-state drives (SSD) (such as, flash drives or other solid-state storage media), one or more hybrid magnetic and solid-state drives, one or more virtual storage volumes (such as, cloud storage), or a combination thereof.

[0028] The sequencing system 102 may store one or more data files 114 in a data repository 116. Each of the data files 114 may include a plurality of genetic sequence data. The genetic sequence data may include an indication of a chromosome, an indication of a position, a base value, and a quality score.

[0029] The data file 114 may be a data file in a variation call format (VCF), a sequence alignment map (SAM) format, or a binary sequence alignment map (BAM) format, among other file data file formats used in bioinformatics. For example, the data file 114 may include text data or binary data. In some implementations, the data file 114 may include a string of sequencing data. In some implementations, the data file 114 may include sequencing data that identifies the difference between a reference sequence and a sample sequence.

[0030] For example, the VCF file format can be used to store sequence variations. The VCF file format can be used to store single nucleotide polymorphisms (SNPs), short (e.g., less than 10 base pairs) insertions and deletions, and large structural variations. The VCF file format (and other file formats) can include a header segment and a body segment. The header segment can include metadata that further describes the data within the body of the VCF file format. The body of the VCF file format can include multiple columns. Each row can indicate a variation. The column can identify the chromosome on which the variation is called; the position of the variation in the sequence; the identifier of the variation; the reference base value of the position; the alternative base value of the position (e.g., which base is read at the position in addition to the reference base); a score; and a flag indicating which one of the variations in a given filter set is passed.

[0031] The sequencing system 102 may include an NGS sequencer 118. The NGS sequencer 118 may generate a data file 114. The system 100 may include a plurality of NGS sequencers 118. The NGS sequencer 118 may be provided with a sample, and the NGS sequencer 118 generates sequencing data from the sample. The NGS sequencer 118 may save the data in one of the above-mentioned file formats. In some implementations, the NGS sequencer 118 may transmit the data file 114 to the sequencing system 102 via a network. In some implementations, the NGS sequencer 118 may transmit the data file 114 to an intermediate device, such as a cloud-based storage device or a removable hard drive. The data file 114 may be transferred from the intermediate device to the sequencing system 102.

[0032] The sequencing system 102 may include a data parser 110. The data parser 110 may be any script, file, program, application, instruction set, or computer executable code configured to enable a computing device on which the data parser 110 is executed to read and extract data from a data repository 116. The data parser 110 may read a data file 114 from the data repository 116. In some implementations, the data file 114 may be stored in a compressed format in the data repository 116. The data parser 110 may decompress the data file 114 before extracting sequencing data from the data file 114. The data parser 110 may read the data file 114 from the data repository 116, which may be stored on a hard drive of the sequencing system 102. The data parser 110 may load the data file 114 and store the data from the data file 114 in the buffer 106.

[0033] In some implementations, the data parser 110 may load one or more data files 114 into the buffer 106. The data parser 110 may parse or process the data before the data parser 110 loads the data into the buffer 106. For example, the data parser 110 may parse the body of a VCF file format into one or more dictionaries or other file structure formats.

[0034] The sequencing system 102 may include a buffer 106. The buffer may be stored in a random access memory (RAM) or other cache memory. The buffer may be stored on a volatile memory. In some implementations, reading and writing to the buffer 106 may be faster than reading or writing to the data repository 116. The data parser 110 may load the data file 114 into the buffer 106 to reduce the number of reads and writes performed on the data repository 116, thereby increasing the overall computational speed of the sequencing system 102.

[0035] The sequencing system 102 may include a filtering engine 108. The filtering engine 108 may be any script, file, program, application, instruction set, or computer executable code configured to enable a computing device on which the filtering engine 108 is executed to select a variation from the sequencing data loaded into the buffer 106. As described above, each variation may include a score. The score may be a quality score. The quality score may be a Phred quality score. The quality score may be an indication of the quality of the base identified during the sequencing process. For example, the quality score may be an indication of the likelihood that a base at a given position is correctly identified and is not a sequencing error.

[0036] The filtering engine 108 can select only variants with quality scores above a predetermined threshold. For example, the filtering engine 108 can discard variants with quality scores below a predetermined threshold from the buffer 106 or from further analysis. In some implementations, the filtering engine 108 does not use any variants with a Phred quality score less than 60, less than 50, less than 40, less than 30, or less than 20. In some implementations, the quality score can be based on the average read per base in the sequencing data. For example, the quality score threshold can be initially set to 30, and if the average read per base is higher than 100, the quality score threshold can be lowered.

[0037] The sequencing system 102 may include an analysis engine 112. The analysis engine 112 may be any script, file, program, application, set of instructions, or computer executable code configured to enable a computing device on which the analysis engine 112 is executed to calculate sequencing statistics.

[0038] The analysis engine 112 can calculate the alternative base frequency at each of the positions (P) indicated in the data file 114. The alternative base frequency can be based on the counts of all reads at a given position. For example, the analysis engine 112 can determine the number of times each base appears at each position in the gene sequence (or portion thereof), which can be referred to as the ALT base count for the given base. The analysis engine 112 can determine the aggregate count for each position in the gene sequence (or portion thereof). In some implementations, when determining the ALT base count and the aggregate base count, the analysis engine 112 can only include or count bases with quality scores above a predetermined threshold.

[0039] The analysis engine 112 can calculate the frequency of alternative bases for insertions and deletions. In some implementations, the length of the insertion or deletion is less than 10 base pairs. For deletions, the analysis engine 112 can determine the ALT count by identifying each deletion of a given length K starting at position P+1. For insertions, the analysis engine 112 can determine the ALT count by counting the number of occurrences of insertions of a given length matching the CIGAR string. For large structural variations, the analysis engine 112 can determine the reference (REF) count, the ALT count, and the aggregate count or total count. The analysis engine 112 can determine the REF count as the number of occurrences of the CIGAR string matching across event boundaries identified by the analysis engine 112. The analysis engine 112 can determine the ALT count as the number of deletions, insertions, reference jumps, soft cuts or hard cuts in the CIGAR across event boundaries. The total count can be the sum of the REF count and the ALT count. Based on statistics and other data determined by the analysis engine 112, the analysis engine 112 can identify clinically relevant variations from common variations.

[0040] The sequencing system 102 may include a reporting engine 104. The reporting engine 104 may be any script, file, program, application, instruction set, or computer executable code configured to enable a computing device on which the reporting engine 104 is executed to generate a report based on data generated by the analysis engine 112. The reporting engine 104 may receive data generated by the analysis engine 112, such as ALT counts, REF counts, and ALT frequencies. The reporting engine 104 may generate a report based on the data. The reporting engine 104 may determine and include coverage frequencies in the report: strand bias; and mean, maximum, and average coverage.

[0041] Figure 2 A block diagram of an example method 200 for determining a coverage metric for sequencing data is shown. The method 200 may include receiving data (block 202). Figure 1 , the sequencing system 102 can receive the data. The sequencing system 102 can receive the data from the NGS sequencer 118, or the sequencing system 102 can retrieve the data from the data repository 116. The sequencing system 102 can receive the data as BAM, VCF, txt, or other file formats that can contain sequencing data. The sequencing system 102 can also receive the Phred scaled quality score of the received data. The data can include multiple gene sequences. The data can indicate the chromosomes, position data, base values ​​at each position of the gene sequence, and the quality scores of the base values. In some implementations, the sequencing system 102 can receive and open the data file. The sequencing system 102 can read the data file into the buffer 106. Reading the data file into the buffer 106 can reduce the number of reads performed on the data repository 116.

[0042] The method 200 may include selecting a gene sequence (block 204). The sequencing system 102 may select one or more gene sequences that belong to the same chromosome. In some implementations, the sequencing system 102 may select one or more gene sequences that also belong to the same general location or the same specific location on the chromosome. For example, the gene sequence may be received in a data file comprising a plurality of columns. One of the plurality of columns may indicate a chromosome of sequence data contained in another column of the data file. The sequencing system 102 may filter the data to select a gene sequence below a predetermined chromosome.

[0043] The method 200 may include determining whether each base value has a quality score above a threshold value (block 206). The sequencing system 102 may identify base values ​​in the sequence data that include base values ​​below a quality threshold value at a given position. The sequencing system 102 may discard the loaded data for a given position where the base value has a quality score below a predetermined threshold value. The sequencing system 102 may save the base values ​​for the given position that have a quality score above the predetermined threshold value to a data structure (such as, to a dictionary of the buffer 106).

[0044] The method 200 may include identifying a type of variation in the sequence data (block 208). The sequencing system 102 may determine whether the variation is a single nucleotide polymorphism (SNP) and proceed to block 210, an insertion or deletion and proceed to block 212, or a large structural variation and proceed to block 226. In some implementations, an insertion or deletion is less than 10 base pairs (bp) and a large structural variation is greater than 10 base pairs.

[0045] If the sequencing system 102 determines that the variation is a SNP, the method 200 may include determining an aggregate count for the position (block 216). Figure 3 , among others, Figure 3 Four sequence listings 300(1)-300(4) (collectively referred to as sequence listings 300) for a given chromosome are shown. Each of the sequence listings 300 may include multiple base pairs 302. Each of the selected sequence listings 300 may overlap with a given base pair position 304. Generally, the position of a base pair 302 may be described by a variable P, where the next base pair 302 has position P+1 and the previous base pair 302 has position P-1. In this example, the data file may indicate that the SNP occurs at base pair position 304, which may be referred to as P. For example, sequence listing 300(1) and sequence listing 300(2) indicate that the base pair at base pair position 304 is G, and sequence listing 300(3) and sequence listing 300(4) indicate that the base pair at base pair position 304 is C. Each base pair 302 at base pair position 304 may have an associated quality score.

[0046] The aggregate count of position P may be the number of sequence lists 300 that include position P having a quality score above a predetermined threshold. Figure 3 In the above example shown in , if base pair 302 in sequence table 300 ( 4 ) at base pair position 304 has a quality score below a predetermined threshold, the aggregation count for base pair position 304 may be 3.

[0047] The method 200 may include determining an alternative (ALT) count for a position (block 218). The sequencing system 102 may determine an ALT count for each base pair (e.g., C, G, G, and T). The ALT count for each base pair position 304 may be an aggregate count or number of occurrences of the base pair at the base pair position 304. The sequencing system 102 may include in the ALT count only base pairs 302 having a quality score above a predetermined threshold. For example, and see Figure 3 , the sequencing system 102 can determine that the ALT count of the G at base pair position 304 is 2 and the ALT count of the C at base pair position 304 is 1. The ALT count of the C at base pair position 304 is not 2 because, as discussed above, in this example, base pair 302 at base pair position 304 in sequence listing 300(4) has a quality score below a predetermined quality score threshold and is not considered in the calculations made by the sequencing system 102.

[0048] If at block 208, the sequencing system 102 determines that the variation type is an insertion or deletion, the method 200 may continue to block 212. The method 200 may include determining an aggregate count for each position (block 220). As described with respect to blocks 216 and 218, when determining the aggregate count for each position, the sequencing system 102 may count only base pairs having a quality score above a predetermined threshold.

[0049] Method 200 may include determining an ALT count (block 222). For a deletion, an ALT count may be determined for the position P+1. For example, the ALT count may be the number of deletions with a deletion length K at the CIGAR position P+1. For an insertion, the ALT count may be the number of reads with a length L at the CIGAR start position P+1 and a count of alternative sequence matches that match the base pair read at P+1.

[0050] If at block 208, the sequencing system 102 determines that the variation type is a structural variation, the method 200 can continue to block 226. The method 200 can then include determining a reference (REF) count (block 228). In determining the REF count, the sequencing system 102 can count only base pair reads having a quality score above a predetermined threshold. A structural variation can span an event boundary that starts at an event start in the gene sequence and ends at an event end in the gene sequence. The sequencing system 102 can determine the REF count as the number of reads that match on the event boundary in the CIGAR.

[0051] The method 200 may include determining an ALT count (block 230). When the variation type is a structural variation, the sequencing system 102 may determine the ALT count as the occurrence of a deletion, insertion, reference jump, soft cut, or hard cut across an event boundary in the CIGAR.

[0052] The method 200 may include determining an aggregate count (block 232). When the variation type is a structural variation, the sequencing system 102 may sum the REF count with the ALT count to determine the aggregate count.

[0053] The method 200 may include determining a gene sequence metric (block 234). The gene sequence metric may include determining an ALT frequency. The sequencing system 102 may determine the ALT frequency as the ALT count divided by the aggregate count of the position. In some implementations, the gene sequence metric may include determining a mean, maximum, minimum, or average coverage depth for the sequence. The sequencing metric may include determining a count of each nucleotide count and an insertion and deletion count for each base. Also refer to Figure 3 , the sequencing system 102 can determine the mean, maximum, or average coverage or read depth for each base pair 302 on each sequence list 300. The sequencing system 102 can count only base pairs 302 with quality scores above a predetermined threshold. In some implementations, the sequencing system 102 can identify each strand count to identify strand bias. The sequencing system 102 can also identify clinically relevant variants by identifying alternative calls occurring at a predetermined ALT frequency at a base pair position.

[0054] In some implementations, the method 200 may include the sequencing system 102 transmitting the genetic sequence metrics to a client device. For example, the sequencing system 102 may transmit the genetic sequence metrics to a laptop or other computing device of a user. In some implementations, the sequencing system 102 may operate as a component of a computing device (e.g., a laptop) of a user, and the sequencing system 102 may present or display the genetic sequence metrics to the user.

[0055] Figure 4A block diagram of an example computer system 400 is shown. The computer system or computing device 400 may include or be used to implement the system 100 or its components, such as the sequencing system 102. For example, the data parser 110, the analysis engine 112, the reporting engine 104, and the filtering engine 108 may be components stored on the main memory 415. The computing system 400 includes a bus 405 or other communication component for transmitting information and a processor 410 or processing circuit coupled to the bus 405 for processing information. The computing system 400 may also include one or more processors 410 or processing circuits coupled to the bus for processing information. The computing system 400 also includes a main memory 415 (such as a random access memory (RAM) or other dynamic storage device) coupled to the bus 405 for storing information and instructions to be executed by the processor 410. The main memory 415 may be or include a data repository 116. The main memory 415 may also be used to store location information, temporary variables, or other intermediate information during the execution of instructions by the processor 410. The computing system 400 may further include a read-only memory (ROM) 420 or other static storage device coupled to the bus 405 for storing static information and instructions for the processor 410. A storage device 425, such as a solid-state device, a magnetic disk, or an optical disk, may be coupled to the bus 405 to persistently store information and instructions. The storage device 425 may include or be part of the data repository 116.

[0056] Computing system 400 may be coupled to a display 435 (such as a liquid crystal display or an active matrix display) via bus 405 for displaying information to a user. An input device 430 (such as a keyboard including alphanumeric and other keys) may be coupled to bus 405 for communicating information and command selections to processor 410. Input device 430 may include a touch screen display 435. Input device 430 may also include a cursor control (such as a mouse, trackball, or cursor direction keys) for communicating direction information and command selections to processor 410 and for controlling cursor movement on display 435. For example, display 435 may be a display of sequencing system 102 or Figure 1 part of other components.

[0057] The processes, systems, and methods described herein can be implemented by the computing system 400 in response to the processor 410 executing the instruction arrangement contained in the main memory 415. Such instructions can be read into the main memory 415 from another computer-readable medium (such as, storage device 425). The execution of the instruction arrangement contained in the main memory 415 causes the computing system 400 to perform the illustrative processes described herein. One or more processors in a multi-processing arrangement can also be used to execute the instructions contained in the main memory 415. Hard-wired circuitry can be used in place of or in combination with software instructions and the systems and methods described herein. The systems and methods described herein are not limited to any specific combination of hardware circuitry and software.

[0058] although Figure 4 An example computing system has been described in the specification, but the subject matter including the operations described in this specification may be implemented in other types of digital electronic circuit systems or in computer software, firmware, or hardware (including the structures disclosed in this specification and their structural equivalents), or a combination of one or more of them.

[0059] The subject matter and operation described in this specification can be implemented in a digital electronic circuit system or in computer software, firmware, or hardware (including the structure disclosed in this specification and its structural equivalent), or a combination of one or more of them. The subject matter described in this specification can be implemented as one or more computer programs, for example, one or more circuits of computer program instructions encoded on one or more computer storage media for execution by a data processing device or for controlling the operation of the data processing device. Alternatively or in addition, the program instructions can be encoded on an artificially generated propagation signal (for example, a machine-generated electrical, optical or electromagnetic signal), which is generated to encode information for transmission to a suitable receiver device for execution by a data processing device. The computer storage medium can be or be included in a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination of one or more of them. When the computer storage medium is not a propagation signal, the computer storage medium can be the source or destination of the computer program instructions encoded in the artificially generated propagation signal. The computer storage medium can also be or be included in one or more separate components or media (for example, multiple CDs, disks or other storage devices). The operations described in this specification may be implemented as operations performed by a data processing apparatus on data stored on one or more computer-readable storage devices or received from other sources.

[0060] The terms "data processing system," "computing device," "component," or "data processing apparatus" encompass various apparatuses, devices, and machines for processing data, including, for example, a programmable processor, a computer, a system on a chip, or multiple or combinations of the foregoing. An apparatus may include a dedicated logic circuit system, such as an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit). In addition to hardware, an apparatus may also include code that creates an execution environment for the computer program in question, such as code that constitutes processor firmware, a protocol stack, a database management system, an operating system, a cross-platform runtime environment, a virtual machine, or a combination of one or more of them. The apparatus and execution environment may implement a variety of different computing model infrastructures, such as web services, distributed computing, and grid computing infrastructures. Components of system 100 may include or share one or more data processing apparatuses, systems, computing devices, or processors.

[0061] A computer program (also referred to as a program, software, software application, app, script, or code) may be written in any form of programming language, including compiled or interpreted, declarative, or procedural, and may be deployed in any form, including as a stand-alone program or as a module, component, subroutine, object, or other unit suitable for use in a computing environment. A computer program may correspond to a file in a file system. A computer program may be stored in a portion of a file that stores other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files storing one or more modules, subroutines, or portions of code). A computer program may be deployed to execute on one computer, or on multiple computers located at one site or distributed across multiple sites and interconnected by a communication network.

[0062] The processes and logic flows described in this specification may be performed by one or more programmable processors executing one or more computer programs (e.g., components of the sequencing system 102) to perform actions by operating on input data and generating outputs. The processes and logic flows may also be performed by, and the apparatus may be implemented as, special purpose logic circuitry (e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit)). Devices suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and memory devices, including, for example, semiconductor memory devices (e.g., EPROM, EEPROM, and flash memory devices), magnetic disks (e.g., internal hard disks or removable disks), magneto-optical disks, and CD ROM and DVD-ROM disks. The processor and memory may be supplemented by or incorporated into special purpose logic circuitry.

[0063] Although operations are depicted in a particular order in the drawings, such operations need not be performed in the particular order shown or in sequential order, and all illustrated operations are not required to be performed. The actions described herein may be performed in a different order.

[0064] Separation of the various system components is not required in all implementations, and the described program components may be included in a single hardware or software product.

[0065] Now that some illustrative implementations have been described, it is apparent that the foregoing is illustrative rather than restrictive and has been presented by way of example. Specifically, although many of the examples presented herein relate to specific combinations of method actions or system elements, these actions and these elements may be combined in other ways to achieve the same purpose. The actions, elements, and features discussed in conjunction with one implementation are not intended to exclude similar effects or implementations in other implementations.

[0066] The words and terms used herein are for descriptive purposes and should not be considered limiting. "Including," "comprising," "having," "containing," "involving," "characterized by," "characterized by," and variations thereof as used herein are intended to encompass the items listed thereafter, their equivalents and additional items, and alternative implementations consisting of the items listed thereafter exclusively. In one implementation, the systems and methods described herein consist of one, more than one, each combination, or all of the described elements, actions, or components.

[0067] As used herein, the terms "about" and "substantially" will be understood by one of ordinary skill in the art and will vary to some extent depending on the context in which it is used. If the use of a term is unclear to one of ordinary skill in the art given the context in which the term is used, "about" will mean up to plus or minus 10% of the particular term in question.

[0068] Any reference to the implementation or element or action of the system and method mentioned in the singular form herein can also cover the implementation including multiple these elements, and any reference to the plural form of any implementation or element or action of this article can also cover the implementation including only a single element. Reference in the singular or plural form is not intended to limit the system or method of the present disclosure, its components, actions, or elements to singular or plural configurations. Reference to any action or element based on any information, action or element can include the implementation where the action or element is based at least in part on any information, action or element.

[0069] Any implementation disclosed herein may be combined with any other implementation or embodiment, and references to "implementation," "some implementations," "an implementation," etc. are not necessarily mutually exclusive and are intended to indicate that a particular feature, structure, or characteristic described in conjunction with the implementation may be included in at least one implementation or embodiment. Such terms as used herein do not necessarily all refer to the same implementation. Any implementation may be combined, inclusively or exclusively, with any other implementation in any manner consistent with the aspects and implementations disclosed herein.

[0070]

[0043] Unless explicitly indicated to the contrary, the indefinite articles "a" and "an" as used herein should be understood to mean "at least one".

[0071] References to "or" may be interpreted as inclusive, such that any term described using "or" may indicate any of a single, more than one, and all of the described terms. For example, reference to "at least one of 'A' and 'B'" may include only 'A', only 'B', and both 'A' and 'B'. Such references used in conjunction with "including" or other open-ended terms may include additional items.

[0072] Where a technical feature in the drawings, detailed description or any claim is followed by a reference symbol, the reference symbol has been included to increase the intelligibility of the drawings, detailed description and claims. Therefore, the presence or absence of a reference symbol does not have any limiting effect on the scope of any claim element.

[0073] The systems and methods described herein may be implemented in other specific forms without departing from their characteristics. The foregoing implementations are illustrative rather than limiting of the systems and methods described. The scope of the systems and methods described herein is therefore indicated by the appended claims rather than the foregoing description, and changes within the meaning and range of equivalents of the claims are included therein. In summary, the present invention includes but is not limited to the following items: 1. A method for filtering sequencing data, comprising: Receiving, by a data processing system, data comprising a plurality of gene sequences, wherein each gene sequence in the plurality of gene sequences comprises an indication of a chromosome, an indication of a position, a base value, and a quality score; selecting, by the data processing system, a subset of the plurality of gene sequences, wherein each gene sequence in the subset of the plurality of gene sequences has an indication of a same chromosome; filtering, by the data processing system, from the subset of the plurality of gene sequences, gene sequences including base values ​​having associated quality scores above a predetermined threshold; determining, by the data processing system, an aggregate count for each position of the filtered genetic sequence; determining, by the data processing system, a substitute base count for each position of the filtered gene sequence; An identifier of a genetic sequence variation is generated by the data processing system in response to a ratio of the alternative base count at each position to the aggregate count at each position exceeding a threshold. 2. The method of claim 1 , further comprising determining a replacement count of a deleted sequence in the filtered gene sequence. 3. A method according to claim 2, wherein the missing sequence starts at an index adjacent to the position. 4. The method of claim 1, further comprising determining a replacement count of the insertion sequence in the filtered gene sequence. 5. A method according to item 4, wherein determining the substitution count of the inserted sequence further comprises identifying an alternative sequence match. 6. The method according to claim 1, further comprising identifying structural variations in the multiple gene sequences. 7. The method of claim 6, further comprising determining the alternative base count based on the structural variations identified in the plurality of gene sequences. 8. The method according to item 6, wherein determining the aggregate count further comprises counting the matches between each gene sequence in the filtered gene sequences and the CIGAR string. 9. A method according to item 6, wherein determining the aggregate count further includes counting deletions, insertions, reference jumps, soft cuts or hard cuts in each gene sequence in the subset of the multiple gene sequences. 10. The method according to item 1 further comprises calculating at least one of the mean read coverage, the maximum read coverage or the maximum read coverage of the multiple gene sequences based on the aggregate count and the alternative base count. 11. The method according to claim 1 further comprises calculating the chain bias of the multiple gene sequences based on the aggregation count and the alternative base count. 12. A system for filtering sequencing data, comprising: a processor in communication with the memory device, the processor executing a data parser and a filter engine; The data parser is configured to: receiving data including a plurality of gene sequences from the memory device, wherein each of the plurality of gene sequences includes an indication of a chromosome, an indication of a position, a base value, and a quality score, and selecting a subset of the plurality of gene sequences, wherein each gene sequence in the subset of the plurality of gene sequences has an indication of the same chromosome; and The filtering engine is configured to: filtering gene sequences including base values ​​having associated quality scores above a predetermined threshold from the subset of the plurality of gene sequences, Determine the aggregate count for each position of the filtered gene sequence, determining the alternative base count for each position of the filtered gene sequence, and An identifier for a genetic sequence variation is generated in response to a ratio of the alternative base count at each position to the aggregate count at each position exceeding a threshold. 13. A system according to claim 12, wherein the filtering engine is further configured to determine replacement counts of missing sequences in the filtered genetic sequence. 14. A system according to claim 12, wherein the filtering engine is further configured to determine a substitution count of an insertion sequence in the filtered genetic sequence. 15. A system according to item 14, wherein the filtering engine is further configured to determine the substitution count of the inserted sequence by identifying alternative sequence matches. 16. A system according to claim 12, wherein the filtering engine is further configured to identify structural variations in the multiple gene sequences. 17. A system according to item 16, wherein the filtering engine is further configured to determine the aggregation by counting the matches of each genetic sequence in the filtered genetic sequences with the CIGAR string. 18. A system according to claim 16, wherein the filtering engine is further configured to determine the aggregate count by counting deletions, insertions, reference jumps, soft cuts or hard cuts in each gene sequence in the subset of the multiple gene sequences. 19. A system according to item 12, wherein the filtering engine is further configured to calculate at least one of the mean read coverage, maximum read coverage or maximum read coverage of the multiple gene sequences based on the aggregate count and the alternative base count. 20. A system according to claim 12, wherein the filtering engine is further configured to calculate the chain bias of the multiple gene sequences based on the aggregation count and the alternative base count.

Claims

1. A method for identifying a variation in a gene sequence, comprising: Receiving, by one or more processors, data corresponding to a plurality of gene sequences, wherein the data for each gene sequence in the plurality of gene sequences comprises an indication of a chromosome, an indication of a base pair position, a base value for each of the base pair positions, and a quality score for the base value; selecting, by the one or more processors, from the data of each of the plurality of gene sequences, a first subset of gene sequences having an indication of a same chromosome; filtering, by the one or more processors, the first subset to obtain a second subset comprising genetic sequences having base values ​​with associated quality scores above a determined threshold; identifying, by the one or more processors, at least one type of variation in a second subset of the genetic sequences; determining, by the one or more processors, an aggregate count and an alternative count for each position in a second subset of the genetic sequences for the at least one variation type; generating, by the one or more processors, a metric representing a variation frequency based on the aggregate count and the alternative base count for each position in the second subset of the genetic sequences; and The metric is used, by the one or more processors, to identify one or more genetic sequence variations of at least one variation type in a second subset of the genetic sequences.

2. The method of claim 1, wherein the at least one variation type comprises a single nucleotide polymorphism (SNP), wherein determining the aggregate count and the alternative count further comprises determining the aggregate count and the alternative count for each SNP position in a second subset of the gene sequence.

3. The method of claim 2, wherein the at least one variation type comprises insertions and / or deletions (INDELs), wherein determining the aggregate count and the alternative count further comprises determining the aggregate count and the alternative count for each INDEL position in the second subset of the gene sequence.

4. The method of claim 3, wherein determining the alternative base counts of the INDEL positions further comprises determining an alternative count of at least one of a deleted sequence and / or an inserted sequence in the second subset of the gene sequences.

5. The method according to claim 3, wherein: Determining the substitution count for the insertion sequence further comprises identifying an alternative sequence match for the INDEL position.

6. The method of claim 1 , wherein the at least one variation type comprises a structural variation, wherein determining an aggregate count and an alternative count further comprises determining a reference count of the structural variation at a structural variation boundary in the second subset of the gene sequences, an alternative base count of the structural variation boundary in the second subset of the gene sequences, and an aggregate count of the structural variation boundary in the second subset of the gene sequences.

7. The method of claim 6, wherein determining the alternative base count further comprises determining the alternative base count based on structural variations identified in the second subset of the gene sequences.

8. The method of claim 6, wherein determining the aggregate count of the structural variations further comprises counting matches to the CIGAR string for each of the second subset of genetic sequences.

9. The method of claim 1, wherein generating the metric further comprises generating one or more genetic sequence metrics, including at least one of a mean read coverage, a maximum read coverage, or a maximum read coverage of a second genetic sequence subset.

10. The method of claim 1, further comprising storing, by one or more processors, an identifier of one or more genetic sequence variations using a data file.

11. A system for identifying variations in a gene sequence, comprising: One or more processors coupled to the memory, the processors configured to: receiving data corresponding to a plurality of gene sequences, wherein the data for each of the plurality of gene sequences comprises an indication of a chromosome, an indication of a base pair position, a base value for each of the base pair positions, and a quality score for the base value selecting a first subset of gene sequences having an indication of the same chromosome from the data of each gene sequence in the plurality of gene sequences, filtering the first subset to obtain a second subset comprising gene sequences having base values ​​with associated quality scores above a determined threshold; identifying at least one type of variation in a second subset of the gene sequences; determining, for the at least one variation type, an aggregate count and an alternative count for each position in a second subset of the genetic sequences; generating a metric representing variation frequency based on the aggregate count and the alternative base count at each position in the second subset of the gene sequences; and The metric is used to identify one or more genetic sequence variations in at least one variation type in a second subset of the genetic sequences.

12. The system of claim 11, wherein the at least one variation type comprises a single nucleotide polymorphism (SNP), wherein the one or more processors are configured to determine an aggregate count and an alternative count for each SNP position in a second subset of the genetic sequence.

13. The system of claim 11, wherein the at least one variation type comprises insertions and / or deletions (INDELs), wherein the one or more processors are configured to determine the aggregate count and alternative count for each INDEL position in the second subset of the genetic sequence.

14. The system of claim 13, wherein the one or more processors are configured to determine a substitution count for at least one of a deleted sequence and / or an inserted sequence in the second subset of the genetic sequences.

15. The system of claim 12, wherein the one or more processors are configured to determine an alternative count for the insertion sequence by identifying an alternative sequence match for the INDEL position.

16. The system of claim 11, wherein the at least one variation type comprises a structural variation, wherein the one or more processors are configured to determine a reference count of the structural variation at the structural variation boundaries in the second subset of the genetic sequences, an alternative base count of the structural variation boundaries in the second subset of the genetic sequences, and an aggregate count of the structural variation boundaries in the second subset of the genetic sequences.

17. The system of claim 16, wherein the one or more processors are configured to determine alternative base counts based on structural variations identified in the second subset of genetic sequences.

18. The system of claim 16, wherein the one or more processors are configured to count matches of each of the second subset of genetic sequences to a CIGAR string.

19. The system of claim 11, wherein the one or more processors are configured to generate one or more genetic sequence metrics, including at least one of mean read coverage, maximum read coverage, or maximum read coverage for the second genetic sequence subset.

20. The system of claim 11, wherein the one or more processors are configured to store the identification of one or more genetic sequence variations using a data file.