Reference-guided genome sequencing
By using a reference guide device to probabilistically match and preprocess sample reads with a reference genome, the high memory and computational costs of existing technologies are solved, achieving high efficiency and scalability in genome sequencing.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-07-01
- Publication Date
- 2026-03-17
Smart Images

Figure CN114730617B_ABST
Abstract
Description
[0001] Cross-references to related applications
[0002] This application relates to co-pending U.S. Application 16 / 820,711 (Attorney’s File No. WDA-4726-US), filed March 17, 2020, entitled “DEVICES AND METHODS FORLOCATING A SAMPLE READ IN A REFERENCE GENOME,” the entire contents of which are incorporated herein by reference. This application also relates to co-pending U.S. Application 16 / 822,010 (Attorney’s File No. WDA-4725-US), filed March 18, 2020, entitled “REFERENCE-GUIDED GENOME SEQUENCING,” the entire contents of which are incorporated herein by reference. Background Technology
[0003] Current limitations in DNA (deoxyribonucleic acid) sample processing result in sample reads, or portions of the sample genome, having often unknown locations within the sample genome. For de novo sequencing without a reference genome, where sample reads are compared to each other to locate them within the sample genome, the sample reads are typically analyzed as a single large set. This requires significant storage resources and high computational costs to compare the sample reads within the large set to determine their location within the sample genome. Such conventional de novo sequencing methods are not scalable relative to the massive amounts of data that genome sequencing requires. More specifically, conventional de novo sequencing methods typically store a large set of sample reads in shared storage such as expensive 2TB DRAM. Since the number of computational cores that can be connected to the shared DRAM via independent high-bandwidth channels is limited (e.g., at most 24 cores), this arrangement limits the number of independent computational threads available for de novo sequencing (e.g., at most 128 computational threads).
[0004] Reference alignment sequencing, which uses a reference genome to locate reads within a sample genome, typically involves searching the entire reference genome for each read to locate it. This type of reference alignment sequencing also requires significant memory resources to store the entire reference genome and incurs high computational costs to compare each read with the complete reference genome. Conventional methods of reference alignment sequencing also have limited scalability. More specifically, conventional methods randomly group reads into groups processed by corresponding computational threads. However, each computational thread typically requires large dedicated memory, such as 16GB of DRAM, to store the entire reference genome. In other technologies, the reference genome can be stored in a single shared 16GB of DRAM, but as noted above for conventional de novo sequencing, this shared memory arrangement limits the number of cores and computational threads that can access the shared memory. Therefore, improvements in computational cost, memory resources, and scalability are needed in genome sequencing. Attached Figure Description
[0005] The features and advantages of the embodiments of this disclosure will become more apparent from the detailed description below, taken in conjunction with the accompanying drawings. The drawings and associated description are provided to illustrate embodiments of this disclosure and not to limit the scope of the claims.
[0006] Figure 1 It is a block diagram of a system for genome sequencing according to one or more implementation schemes.
[0007] Figure 2 The following are illustrated according to one or more implementation schemes. Figure 1 An example of multiple unit groups in the reference boot device of the system.
[0008] Figure 3 An example of de novo genome sequencing according to one or more implementation schemes is shown.
[0009] Figure 4 It is a flowchart of a de novo genome sequencing process according to one or more implementation schemes.
[0010] Figure 5 An example of reference alignment genome sequencing according to one or more implementation schemes is shown.
[0011] Figure 6 It is a flowchart of a reference alignment genome sequencing process based on one or more implementation schemes. Detailed Implementation
[0012] Numerous specific details are set forth in the following detailed description in order to provide a thorough understanding of this disclosure. However, it will be apparent to those skilled in the art that various embodiments disclosed may be practiced without some of these specific details. In other instances, well-known structures and techniques have not been shown in detail to avoid unnecessarily obscuring the various embodiments.
[0013] System Example
[0014] Figure 1 This is a block diagram of a system 100 for genome sequencing according to one or more embodiments, the system including hosts 1011 to 101 N and reference boot device 102. Host 101 communicates with reference boot device 102 to receive from reference boot device 102 corresponding sample groups 111 to 112 including sample reads that have been classified by reference boot device 102. N In other specific implementations, instead, host 101 may receive an indication or data structure that indicates which sample reads from the sample read pool are obtained from the shared memory for further processing by the respective host 101.
[0015] In the specific implementation of reference alignment sequencing performed by host 101, host 101 may also receive optional reference partitions 121 to 122 corresponding to probabilistic locations determined for sample reads. N This includes a portion of a reference genome (such as the human reference genome H38). Optional reference partitions 121 to 122... N It can be received from device 102 or from another device, such as from a shared storage device storing a complete reference genome. See below for reference. Figure 5 and Figure 6 In more detail, host 101 may use optional reference partitions 121 to 122. N By comparing the sample reads in sample group 11 with the associated reference partition 12, the sample reads in the corresponding sample group 11 are aligned into overlapping segments or overlapping groups.
[0016] In the specific implementation of de novo sequencing performed by host 101, host 101 may not receive optional reference partitions 121 to 122. N In this specific implementation of de novo sequencing, the host 101 compares the sample reads in sample group 11 with other sample reads in the sample group to align the corresponding sample reads in sample group 11 into overlapping fragments or contigs.
[0017] For ease of description, exemplary embodiments of this disclosure will be described in the context of DNA sequencing. However, embodiments of this disclosure are not limited to DNA sequencing and are generally applicable to any nucleic acid-based sequencing, including RNA (ribonucleic acid) sequencing.
[0018] Figure 1 The sample read segment in the example may initially be generated by one or more hosts 101 or by... Figure 1 Another device, not shown, is provided to reference guiding device 102 to determine the probabilistic location of a sample read within a reference genome stored in one or more arrays 104 of device 102. In some embodiments, a reading device that generates the sample read, such as an Illumina device (from Illumina, Inc., San Diego, California) or a nanopore device, may provide the sample read to reference guiding device 102. In other embodiments, host 101 or one or more of another devices may provide reference guiding device 102 with a sample substring from the sample read to determine the probabilistic location of the sample read within the reference genome. For its part, device 102 may provide host 101 with an index 10 stored in memory 108 of device 102, which indicates the probabilistic location of the sample read based on a sample substring compared to a reference genome stored in one or more arrays 104 of device 102. Examples of device 102 and methods for probabilistically locating sample reads within a reference genome using device 102 are provided in the related co-pending application 16 / 820,711, which is incorporated herein by reference.
[0019] Host 101 may include, for example, a computer, such as a desktop or server, a smart storage device, or other processing node, which may use processor 109 to implement genome sequencing algorithms, such as seed and expansion algorithms for exact matching and / or computationally more complex algorithms for approximate matching of sample reads in the genome, such as the Burrows-Wheeler algorithm or the Smith-Waterman algorithm. As discussed in more detail below, device 102 may be used to preprocess sample reads into sample sets 11 prior to de novo or reference alignment sequencing. In this respect, the probabilistic location provided by reference guiding device 102 can replace or improve the efficiency of algorithms originally executed by processor 109 of host 101 in terms of memory resources and computational costs. Furthermore, and as described below... Figures 3 to 6 In more detail, the probabilistic location of sample reads provided by device 102 and the classification of sample reads into sample groups 11 can allow for improved scalability of genome sequencing, thereby reducing the cost and time of performing de novo or reference alignment genome sequencing.
[0020] like Figure 1As shown, each host 101 includes a processor 109 and a memory 112 that stores the sample group 11 and optionally the reference partition 12. The processor 109 may include, for example, a central processing unit (CPU), a microprocessor (MPU), or a microcontroller (MCU). The processor 109 may also be part of a system-on-a-chip (SoC).
[0021] The host 101's memory 112 may include, for example, volatile RAM such as DRAM, non-volatile RAM, storage class memory (SCM), or other solid-state memory. The memory 112 may be accessed by the processor 109 to store and retrieve data used by the processor 109. In this regard, the data stored in the memory 112 may include instructions loaded from applications executed by the processor 109 and / or data used in executing such applications.
[0022] Although the description herein generally refers to solid-state memory, it should be understood that solid-state memory can include one or more of a variety of memory devices, such as flash memory integrated circuits, chalcogenide RAM (C-RAM), phase-change memory (PC-RAM or PRAM), programmable metallized cell RAM (PMC-RAM or PMCm), Ovonic unified memory (OUM), resistive RAM (RRAM), NAND memory (e.g., single-cell (SLC) memory, multi-cell (MLC) memory (i.e., two or more layers) or any combination thereof), NOR memory, EEPROM, ferroelectric memory (FeRAM), magnetoresistive RAM (MRAM), other discrete non-volatile memory (NVM) chips or any combination thereof.
[0023] In some embodiments, the reference guide device 102 may include, for example, one or more application-specific integrated circuits (ASICs) or field-programmable gate arrays (FPGAs) for generating an index 10 indicating the probabilistic position of a sample substring sequence from a sample read relative to a reference genome. The probabilistic position of the sample substring sequence may provide the host 101 or other devices storing multiple sample reads with the probabilistic position from which the sample read sequence was obtained. As described above, in some embodiments, one or more of the host 101 or another device may provide the reference guide device 102 with the current sample substring sequence to be loaded into one or more arrays 104 of device 102. In other embodiments, one or more of the host 101 or another device may provide the reference guide device 102 with sample reads, and the reference guide device 102 may determine from the sample reads the sample substring sequence to be loaded into one or more arrays 104 for comparison with a reference genome.
[0024] Host 101 and device 102 may or may not be physically co-located. For example, in some embodiments, host 101 and device 102 may communicate via a network, such as by using a local area network (LAN) or wide area network (WAN), such as the Internet, or a data bus or data network structure. Furthermore, those skilled in the art will understand that other embodiments of system 100 may include multiple devices 102 for providing probabilistic locations of sample read segments. In some embodiments, one or more hosts 101 and one or more devices 102 are integrated into a single device.
[0025] like Figure 1 As illustrated in the example, device 102 includes one or more arrays 104 of units. As used herein, a unit generally refers to a memory location for storing one or more values representing one or more nucleotides (referred to as bases in this disclosure). In some embodiments, one or more arrays 104 may include units that also include logic for performing one or more operations on the values stored in the unit. In such examples, each unit in one or more arrays may store a reference value representing a reference base from a reference genome and a sample value representing a base from a sample substring sequence. A unit may perform one or more operations to output a value that can be used by circuitry 106 or circuitry of one or more arrays 104 to determine whether a group of units in the one or more arrays 104 stores a reference sequence that matches a substring sequence stored in the group of units. In some embodiments, one or more arrays 104 may include one or more pulsating arrays loaded with reference values representing reference bases from a reference genome, and sample values representing bases from a sample substring sequence may be loaded into units for comparison with the reference values before the sample values are passed to the next unit in another group of units of one or more arrays 104.
[0026] In other embodiments, one or more arrays 104 may include solid-state memory cells that may not perform operations to determine whether values stored in the cells match. For example, in some embodiments, circuitry 106 may determine whether values stored in each cell match. As another variation, one or more arrays 104 may each store a reference value representing a reference base or a sample value representing a sample base. In such embodiments, cells storing reference values may be paired with cells storing sample values for comparison of reference and sample bases. In other embodiments, cells in one or more arrays 104 may include circuit elements such as registers, latches, or flip-flops.
[0027] The circuitry 106 of device 102 may include, for example, hardwired logic, analog circuitry, and / or combinations thereof. In other embodiments, circuitry 106 may include one or more ASICs, microcontrollers, digital signal processors (DSPs), FPGAs, and / or combinations thereof. In some embodiments, circuitry 106 may include one or more SoCs that can be combined with memory 108. As discussed in more detail below, and as discussed in related application 16 / 820,711, circuitry 106 may be configured to identify one or more cell groups in array 104 where a reference sequence stored therein matches a current substring sequence stored in a cell group.
[0028] More specifically, for each unit group in one or more arrays 104, a reference sequence of reference bases from a reference genome may be stored in that unit group. The reference sequence corresponds to the order of the units in the corresponding unit group. Each unit group is configured to store a reference sequence representing a portion of the reference genome that partially overlaps with at least one other portion of the reference genome represented by one or more other reference sequences stored in one or more other unit groups. (See below for reference...) Figure 2 An example of storing such overlapping reference sequences in an array is discussed in more detail.
[0029] Furthermore, each cell group in one or more arrays 104 can be configured to store the same current substring sequence corresponding to the order of the respective cell group. As described above, circuit 106 is configured to identify cell groups in one or more arrays 104 whose stored current substring sequence matches a reference sequence stored in the cell group. In some embodiments, circuit 106 can identify cell groups with matching sequences based on the value output from the cell after performing at least one logical operation (such as one or more XNOR and AND operations). Although XNOR and AND are mentioned as examples, those skilled in the art will recognize that the same result can be achieved in other embodiments with different combinations of logic. In other embodiments, circuit 106 can identify cell groups with matching sequences based on the value output from the cell after multiplying a reference value representing a reference base and a sample value representing a sample base. Additionally, in some embodiments, circuit 106 can perform all operations on the values stored in the cell, rather than performing some operations by the cell itself.
[0030] The memory 108 of device 102 may include, for example, volatile memory, such as DRAM, for storing index 10. In other specific embodiments, memory 108 may include non-volatile memory, such as MRAM. Figure 1As shown, memory 108 stores index 10, which can be used to determine the probabilistic location of a sample read within a reference genome represented by overlapping reference sequences loaded into or stored in one or more arrays 104. In some embodiments, index 10 may include a data structure, such as a bitmap or other data structure, indicating an index or location in the reference genome corresponding to a unit group identified as a stored matching sequence. Circuit 106 may update index 10 for different sample substring sequences in each unit group loaded into one or more arrays 104. In some embodiments, circuit 106 may indicate the average position of substring sequences with multiple matching unit groups in index 10. In other embodiments, for a particular substring sequence, only the first matching unit group or some matching unit groups may be used, or for substring sequences with more than a single unit group of stored matching sequences, circuit 106 may not update index 10 at all.
[0031] Furthermore, some implementations may not use indexes or other data structures to indicate the location of cell groups with matching sequences. For example, in some implementations, circuit 106 may directly output data indicating cell groups with matching sequences to host 101, or it may directly output sample reads that have been classified into a specific sample group 11. In this regard, device 102 or another device in system 100 may perform the classification of sample reads into group 11 for host 101.
[0032] As will be understood by those skilled in the art from this disclosure, other specific implementations may include those related to... Figure 1 The examples of system 100 show different numbers or arrangements of components. For example, other embodiments may combine device 102 with another device, such as a hardware accelerator (e.g., a graphics processing unit (GPU)) configured to classify sample reads into sample groups 11, or may include different numbers of devices 102, or include dedicated devices for classifying sample reads into sample groups 11. As mentioned above, other embodiments of system 100 may include shared memory for temporarily storing multiple sample reads or portions of multiple sample reads before classifying multiple sample reads into sample groups 11. In other embodiments, device 102 may receive sample reads generated by a reading device, such as an Illumina or nanopore device, that detects bases within a DNA sample.
[0033] Figure 2 Examples of multiple unit groups in a reference boot device 102 according to one or more embodiments are shown. Figure 2 As shown in the example, array 104 includes cell groups 1101 to 110. L-19 .although Figure 2 Unit groups 1101 to 110 in L-19While shown as columns, other embodiments may include units not physically arranged as columns. In some embodiments, array 104 may replace a defective unit from a unit group with another unit from a spare unit pool located in a different part of the same array or in a different array. In embodiments where each unit group stores overlapping reference sequences that have been shifted by one reference base relative to the previous unit group, L may be equal to the full length of the reference genome, such as 3.2 billion unit groups or unit columns, as in the case of the complete human genome H38. Conversely, other embodiments may store overlapping reference sequences that have been shifted by a different number of reference bases (e.g., shifted by two reference bases), making fewer unit groups or columns required, which allows for a smaller size for array 104. However, shifting overlap by more than one reference base may come at the cost of a reduced likelihood of finding a substring sequence match.
[0034] like Figure 2 As shown in the example, each unit group 110 stores reference values (e.g., R1, R2, R3, etc.) representing reference bases and sample values (S1, S2, S3, etc.) representing sample bases. For example, in the case of DNA sequencing, since there are four possible bases: adenine (A), guanine (G), cytosine (C), and thymine (T), each reference value and each sample value can be represented by two bits. When each unit group 110 stores the same sample sequence with sample values S1 to S20, each unit group 110 stores different partially overlapping reference sequences that are shifted by one reference base relative to the reference sequences stored in adjacent unit groups. For example, unit group 1101 stores a first reference sequence with reference values R1 to R20, while unit group 1102 stores a second reference sequence with reference values R2 to R21. In other embodiments, with Figure 2 Compared to the example shown, the shift offset and the resulting overlap can be different between cell groups.
[0035] The arrangement of partially overlapping reference sequences and substring sequences in array 104 typically allows for efficient localization of the probabilistic location of sample reads within the reference genome. Furthermore, the reference sequence only needs to be loaded into or stored in array 104 once. Iterative loading or storage of different substring sequences from the sample reads then provides the probabilistic location of the sample reads within the reference genome, which can be used by host 101 to intelligently classify the sample reads into read groups for more efficient de novo or reference alignment sequencing, as described below. Figures 3 to 6 The exemplary process discussed herein. In this regard, different specific implementations may use a first type of cell (such as a ROM or NAND flash memory cell) to store the reference sequence and a second type of cell (such as an MRAM cell) to store the substring sequence, which is more suitable for repeated rewriting with better write endurance.
[0036] exist Figure 2 The example uses a substring sequence length of 20, including sample values S1 to S20. As discussed in more detail in the related co-pending application 16 / 820,711, the length of the substring sequence corresponding to the number of units in a unit group or column can be selected based on the expected uniqueness of the substring sequence relative to the number of units within the reference genome and the operations required to identify the unit group or column storing the matching sequence.
[0037] Exemplary process
[0038] Figure 3 Examples of de novo sequencing according to one or more implementation schemes are shown. Figure 3 As shown, in preprocessing 114, multiple sample reads 13 are compared with a reference genome 14 using a reference guide device 102 to classify the multiple reads into smaller sample groups 111 to 112. N Each sample group 11 includes sample reads from multiple sample reads 13, which correspond to a portion of the reference genome 14 based on a probabilistic location of the sample read within the reference genome 14 (such as H38). The sample reads in each group can then be aligned with other sample reads in the same sample group 11 to form contigs 1 to N or overlapping DNA fragments corresponding to sample groups 111 to 112. N Alignment of sample reads can be performed by comparing them with other sample reads in the same sample group 11 using one or more algorithms, such as seed and expansion algorithms known in the art for performing de novo sequencing. Each contig is then assembled to form corresponding assemblies 1 to N, which can then be mapped to chromosomes to complete genome sequencing.
[0039] The de novo sequencing portion shown outside of preprocessing 114 can be performed independently by the host 101, which improves the scalability and efficiency of de novo sequencing compared to conventional de novo sequencing where all sample reads can be stored in a single shared memory. Figure 3 In the example, classifying multiple sample reads 13 into sample groups 11 allows the sample reads to be stored in N memories (such as DRAM), which is smaller than the single memory used in conventional de novo sequencing to store all sample reads. As mentioned above, the number of computational cores that can be connected to a large shared memory (such as 2TB DRAM) via independent high-bandwidth channels is limited (e.g., at most 24 cores), which limits the number of independent computational threads available for assembling and mapping sample reads into the sequenced genome (e.g., at most 128 computational threads).
[0040] on the other hand, Figure 3The arrangement shown improves scalability by allowing each smaller memory storing a corresponding sample group to be accessed by a maximum number of independent high-bandwidth channels, resulting in a larger total number of processing cores and independent computation threads, compared to a conventional arrangement where multiple sample reads are stored in a single shared memory. Furthermore, the efficiency of assembling and mapping sample reads is improved by probabilistically locating them. Sample reads can also be partitioned almost equally among sample groups, such as within 10% of each other, to distribute workloads across host 101 and improve parallelization.
[0041] For example, if multiple reads 13 include X = 200,000 long reads (e.g., reads from nanopore devices resulting in 5,000 bases per sample read), then each sample group 11 can include 200 sample reads, where N = 1,000 sample groups 11. The size required to store the sample reads in each shared memory of the sample groups 11 is then reduced by a factor of N, resulting in a lower overall cost for 1,000 smaller memories compared to a single large memory. Each sample group 11 can then be accessed by Y = 24 processing cores. The resulting parallelization increases the total number of cores available for assembling sample reads from 24 in the conventional example of a single shared memory to 24,000 cores in the example of 1,000 memories storing the corresponding sample groups 11.
[0042] Figure 4 It is a flowchart of a de novo genome sequencing process according to one or more implementation schemes. Figure 4 The process can be performed by, for example, a system 100 including a reference boot device 102 and a host 101.
[0043] In box 402, for multiple sample reads (e.g., Figure 3 For each of the multiple sample reads 13), the substring sequence from the sample read is compared with a representative reference genome (e.g., Figure 3 The comparison involves comparing reference sequences of different parts of the reference genome (14) in the reference genome. In some specific implementations, the comparison may include identifying multiple units (e.g., Figure 1 The comparison value of each cell group in one or more arrays 104) represents the comparison result of the substring sequence stored in the cell group with the reference sequence stored in the cell group.
[0044] The substring sequence comprises a continuous base sequence from the sample read. The substring sequence may be randomly selected by one or more hosts 101 or by device 102. In other embodiments, the substring sequence may be selected such that it is distributed throughout the sample read. As discussed in the related co-pending application 16 / 820,711, substring sequences of length between 17 and 25 bases can provide a sufficient number of unique matches (i.e., matches at only one location within the reference genome) for most substring sequences to locate the substring sequence within the reference genome, such as H38. Substring lengths shorter than 17 bases will require a larger number of substring sequences from the sample read to determine the probabilistic location of the sample read within the reference genome. In the case of reference genome H38, where the substring length is shorter than 15 bases, it is possible that almost no unique matches within the reference genome can be identified for any of the attempted substring sequences.
[0045] On the other hand, substring lengths greater than 25 bases result in additional storage costs for one or more cells in array 104 of device 102, and greater computational costs due to the increased operations required to find matching sequences, while the number of unique matches is barely improved. As a result, the above-discussed... Figure 2 The example uses a substring length of 20 bases, which means Figure 2 Each unit group 110 in the array comprises a predetermined number of 20 units. Those skilled in the art will understand from this disclosure that, for other examples, different substring lengths or different predetermined numbers of units in each unit group of the device 102 may be preferred, such as when using a different reference genome or a portion of a reference genome, as in cases such as medical diagnosis or genetic screening targeting a condition associated with a specific portion of the reference genome. Furthermore, different trade-offs between computational cost, unit number, and accuracy in terms of a larger number of unique matches may also affect the number of units used in each unit group of one or more arrays 104.
[0046] In box 404, one or more reference sequences are identified for each sample read that match one or more compared substring sequences from that sample read. In identifying matching reference sequences, one or more unit groups 110 in arrays 104 of device 102 can be identified as storing reference sequences representing a portion of a reference genome, as described above. Figure 2The example of array 104 is discussed. In some embodiments, identification may be performed by device 102 using logic gates, such as, for example, through a combination of XNOR and AND gates of one or more cells in array 104 and / or circuitry 106 of device 102. In other embodiments, identification of a matching reference sequence or a group of cells storing a matching reference sequence may be performed by performing calculations using stored reference values and sample values for bases, such as by using the inner product or dot product of these values. An example of identifying a reference sequence that matches a substring sequence loaded or stored in one or more arrays 104 is provided in the related common pending application 16 / 820,711.
[0047] In box 406, system 100 determines the probabilistic location of a sample read within a reference genome for each sample read based on one or more identified reference sequences that match one or more compared substring sequences. In this regard, a first set of matching units in one or more arrays 104 of device 102 can be used as the location for each substring sequence, or alternatively, assuming some substring sequences result in multiple sets of matching units, multiple sets of matching units can be used as possible locations for the substring sequences. In some cases, due to errors in the substring sequences, such as read errors caused by the reading device or mutations in the sample read, there may not be a matching location for the substring sequence. The location of the sample read determined by circuit 106 or host 101 in box 406 can be probabilistic in the sense that multiple possible locations can be identified for different substring sequences from the sample read, and that consistency or statistics derived from matching locations can be used to probabilistically locate the sample read within the reference genome.
[0048] In one example, the average of all positions across all matching unit groups of all substring sequences is used to identify the most probable location of the sample read within the reference genome. In another example, only one position from each substring sequence with a matching unit group is used in the average. In yet another example, the probabilistic location of the sample read can be determined by identifying the furthest interval position within the reference genome corresponding to the matching unit group of the substring sequence. In other examples, one or more outlier positions relative to a set of matching positions may be discarded when determining the probabilistic location of the sample read within the reference genome.
[0049] In block 408, device 102 or one or more hosts 101 classify multiple sample reads into multiple sample groups based on the probabilistic location of the determined corresponding sample reads. Each sample group may include approximately the same number of sample reads (e.g., within 10% of each other) to distribute the workload of assembling and mapping sample reads more evenly among hosts 101. In some embodiments, index 10 or a portion of a data structure may be provided by device 102 to hosts 101 to indicate a set of sample reads to be processed by hosts 101 as sample group 11. In such embodiments, each host 101 may then retrieve the sample read corresponding to the assigned sample group 11 from shared memory. In other embodiments, device 102 may provide each host 101 with sample reads that have been probabilistically located within the sample group 11 assigned to that host. In yet another embodiment, sample reads of the assigned sample group may be retrieved from another host 101.
[0050] In box 410, each sample group 11 is stored in a separate memory. In some implementations, each host 101 may include its own memory, such as memory 112 for storing its assigned sample group 11. As mentioned above, using a large amount of memory distributed among hosts 101 is generally cheaper than storing all multiple sample reads in a single large memory (such as 2TB DRAM). Furthermore, each memory can be accessed locally by the processor 109 of host 101, allowing a larger number of computing threads to operate in parallel simultaneously throughout system 100. This can provide faster sequencing or assembly of sample reads.
[0051] In box 412, the reads in each sample group are compared by comparing the reads in the sample group with other reads in the sample group. The comparison in box 412 can be completed faster than the random comparison of reads from a large number of reads in conventional de novo sequencing, because there are fewer reads in each localization sample group and there is a greater possibility of read overlap due to the preprocessing performed in boxes 402 to 408 above.
[0052] As will be understood by one of ordinary skill in the art upon reference to this disclosure, Figure 4 The order of the boxes shown may differ in other specific implementations. For example, boxes 402 to 406 may be repeated in the iterative order of the sample reads before proceeding to box 408 to classify multiple sample reads.
[0053] although Figure 4 The genome sequencing was performed de novo, but unlike the reference alignment sequencing, Figure 4The method utilizes a novel reference-guided genome sequencing technique to preprocess or classify sample reads into groups of probabilistically located reads, thereby improving the efficiency, cost, and scalability of de novo sequencing. The exemplary process discussed below for reference alignment sequencing also preprocesses or classifies multiple sample reads into groups of probabilistically located reads to improve the efficiency, cost, and scalability of reference alignment sequencing. Furthermore, the following reference... Figure 5 and Figure 6 The discussed reference alignment sequencing example further provides partitions of the reference genome for reference alignment sequencing.
[0054] Figure 5 An example of reference alignment genome sequencing according to one or more implementation schemes is shown. Figure 5 As shown, similar to the discussion above. Figure 3 In the example of de novo sequencing, during preprocessing 116, multiple sample reads 13 are compared with a reference genome 14 using a reference guide device 102 to classify the multiple sample reads into smaller sample groups 111 to 112. N However, with Figure 3 The examples of de novo sequencing in China are different. Figure 5 Reference alignment sequencing also includes dividing the reference genome into 14 reference partitions, from reference partition 121 to 122. N These reference partitions correspond to sample groups 111 to 111 in preprocessing 116. N A defined probabilistic location is associated. In some specific implementations, each reference partition 12 may be stored in the same memory as the associated sample group 11 (e.g., Figure 1 The sample group 11 and the associated reference partition 12 are stored in memory 112. In other embodiments, the sample group 11 and the associated reference partition 12 may be stored in different memories.
[0055] By referencing partitions 121 to 12 N Each of them is stored in Figure 5 In different storage locations, where it is unknown which parts of the reference genome include randomly grouped sample reads, storing the entire reference genome 14 at each host 101 would require less storage for randomly grouped sample reads. Preprocessing 116 classifies the sample reads 13 into probabilistically located sample groups 111 to 112. N This allows for the association of portions of the reference genome with specific sample groups 11, and the reference genome 14 can be partitioned into smaller reference partitions 12.
[0056] In some specific implementations, if a sample read with a probabilistic location does not exist within a portion of the reference genome, that portion of the reference genome may be discarded or not used for reference partitions 121 to 122. NThis can occur in any of the following situations. Such cases may arise, for example, from medical diagnoses or genetic screenings that may involve only a specific portion of the reference genome. In such cases, the efficiency of reference alignment sequencing in terms of processing resources, storage resources, and time is further improved by the fact that it is not necessary to store and perform a comparison with the complete reference genome.
[0057] exist Figure 5 In the example, based on the probabilistic location of sample reads within the reference genome 14, each sample group 11 includes approximately the same number of sample reads 13 from multiple sample reads 13 (e.g., within 10% of each other) from the reference partition 12 corresponding to the reference genome 14 (such as H38). The sample reads in each sample group 11 are then aligned with other sample reads in the same sample group 11 to form contigs 1 to N or overlapping DNA fragments corresponding to sample groups 111 to 112. N Alignment of sample reads in sample group 11 can be performed by comparing them with the located reference partition 12 using one or more algorithms, such as seed and expansion algorithms known in the art for performing reference alignment sequencing. Each contig is then assembled to form the corresponding assemblies 1 to N, which can then be mapped to chromosomes to complete the sequencing of the sample genome.
[0058] Furthermore, compared to conventional reference alignment sequencing where the entire reference genome can be stored in a single shared memory (e.g., 16GB DRAM), using multiple memories to store portions of the reference genome for reference alignment sequencing improves the scalability and efficiency of reference alignment sequencing. As mentioned above, the number of computational cores that can be connected to such shared memories via independent high-bandwidth channels is limited (e.g., up to 24 cores), which restricts the number of independent computational threads available for assembling and mapping sample reads into the sequenced genome (e.g., up to 128 computational threads).
[0059] on the other hand, Figure 5 The arrangement shown improves scalability, allowing each smaller memory storing the corresponding reference partition 12 to be accessed by a maximum number of independent high-bandwidth channels, compared to a conventional arrangement where the entire reference genome can be stored in a single shared memory. This results in a larger total number of processing cores and independent computing threads. Furthermore, the efficiency of assembling and mapping sample reads is improved by probabilistically locating them.
[0060] Figure 6 It is a flowchart of a reference alignment genome sequencing process based on one or more implementation schemes. Figure 4 The process can be performed by, for example, a system 100 including a reference boot device 102 and a host 101.
[0061] In box 602, for multiple sample reads (e.g., Figure 3 For each of the multiple sample reads 13), the substring sequence from the sample read is compared with a representative reference genome (e.g., Figure 5 The reference sequence is compared to different portions of the reference genome 14. The substring sequence comprises a continuous base sequence from the sample read. The substring sequence may be randomly selected by one or more hosts 101 or by device 102. In other embodiments, the substring sequence may be selected such that it is distributed throughout the entire sample read. As discussed in the related co-pending application 16 / 820,711, and as stated above, substring sequences of 17 to 25 bases in length can provide a sufficient number of unique matches (i.e., matches at only one location within the reference genome) for most substring sequences to locate the substring sequence within the reference genome, such as H38.
[0062] Those skilled in the art will understand from this disclosure that, for other examples, different substring lengths or different predetermined numbers of units in each unit group in device 102 may be preferred, such as when using different reference genomes or portions of reference genomes, as in cases such as medical diagnosis or screening for genetic conditions associated with a specific portion of the reference genome. Furthermore, different trade-offs between computational cost, the number of units in one or more arrays 104 of device 102, and accuracy in terms of a larger number of unique matches may also affect the number of units used for each unit group in one or more arrays 104.
[0063] In box 604, for each sample read, one or more reference sequences are identified that match one or more compared substring sequences obtained from the sample read. In identifying matching reference sequences, unit groups 110 in one or more arrays 104 of device 102 can be identified as storing reference sequences representing a portion of a reference genome, as described above. Figure 2 The example of array 104 is discussed. In some embodiments, identification may be performed by device 102 using logic gates, such as, for example, through a combination of XNOR and AND gates of one or more cells in array 104 and / or circuitry 106 of device 102. In other embodiments, identification of a matching reference sequence or a group of cells storing a matching reference sequence may be performed by performing calculations using stored reference values and sample values for bases, such as by using the inner product or dot product of these values.
[0064] In box 606, system 100 determines the probabilistic location of each sample read within a reference genome based on one or more reference sequences that match one or more compared substring sequences. A first set of matching units in one or more arrays 104 of device 102 can be used as the location of each substring sequence, or alternatively, assuming some substring sequences result in multiple sets of matching units, multiple sets of matching units can be used as possible locations of the substring sequences. In some cases, the substring sequence may not have any matching reference sequences. The location of the sample read determined in box 606 by circuitry 106 or host 101 of device 102 can be probabilistic in the sense that multiple possible locations can be identified for different substring sequences from the sample read, and that consistency or statistics derived from matching locations can be used to probabilistically locate the sample read within the reference genome.
[0065] In one example, the average of all positions across all matching unit groups of all substring sequences is used to identify the most probable location of the sample read within the reference genome. In another example, only one position from each substring sequence with a matching unit group is used in the average. In yet another example, the probabilistic location of the sample read can be determined by identifying the furthest interval position within the reference genome corresponding to the matching unit group of the substring sequence. In other examples, one or more outlier positions relative to a set of matching positions may be discarded when determining the probabilistic location of the sample read within the reference genome.
[0066] In box 608, device 102 or one or more hosts 101 partition the reference genome for reference alignment sequencing based on probabilistic locations determined for corresponding sample reads in box 606. The size of the partitions of the reference genome can vary based on the distribution of locations determined for the sample reads. For example, the size of the partitions can be based on the number of sample reads located in the partition, such that each partition is associated with a sample group having approximately the same number of sample reads, such as by each reference partition or sample group having within 10% of the number of sample reads in other reference partitions or sample groups. In other embodiments, the reference genome can be partitioned equally, and larger variations in the number of sample reads between sample groups can be allowed.
[0067] In this regard, if a sample read at a probabilistic location is not present in some portion of the reference genome, that portion of the reference genome can be discarded or not assigned to a sample set. Such situations can arise, for example, from medical diagnoses or screenings that may only involve specific portions of the reference genome. In such cases, the efficiency of reference alignment sequencing in terms of processing resources, storage resources, and time is further improved by the fact that it is not necessary to store and perform comparisons with the complete reference genome.
[0068] In box 610, different partitions of the reference genome are stored in different memories, such as memory 112 of host 101. Each host 101 may receive a portion of the reference genome from device 102 or from another device (such as shared memory in system 100 where the reference genome is stored). (See above reference...) Figure 5 The discussion suggests that storing the location partitions of the reference genome in different memories allows for parallel processing by a larger number of processing cores, rather than storing the entire reference genome in multiple larger memories, which would be the case if the sample reads were randomly grouped.
[0069] In block 612, device 102 or one or more hosts 101 classify multiple sample reads into multiple sample groups based on the probabilistic location of the determined corresponding sample reads. The sample reads can be classified such that each sample group includes approximately the same number of sample reads (e.g., within 10% of the sample group with the most sample reads). In some embodiments, index 10 or part of a data structure may be provided by device 102 to host 101 to indicate a set of sample reads to be processed by host 101 as sample group 11. In such embodiments, each host 101 can then retrieve the sample reads corresponding to the assigned sample group 11 from shared memory. In other embodiments, device 102 may provide each host 101 with sample reads that have been probabilistically located within the sample group 11 assigned to that host 101. In yet another embodiment, sample reads of the assigned sample group can be retrieved from another host 101.
[0070] In box 614, different partitions of the reference genome are associated with corresponding sample groups based on the probabilistic locations of sample reads within the sample groups. As mentioned above, the size of the partitions of the reference genome can vary based on the distribution of probabilistic locations determined for sample reads within the sample groups. In this respect, the size of the partitions can be based on the number of sample reads located within the partition, such that each partition is associated with approximately an equal number of sample reads. In other embodiments, the partitions of the reference genome can be divided equally, regardless of the distribution of sample reads within the sample groups.
[0071] In box 616, each sample group 11 is stored in a different memory, which may be the same as or different from the memory used in box 610 to store the relevant partition of the reference genome. In some specific implementations, each host 101 may include its own memory, such as... Figure 1The memory 112 stores the corresponding associated sample groups 11 and reference genome partitions 12. As mentioned above, using a larger number of memories distributed among the host 101 is generally cheaper than storing all multiple sample reads in a single large memory (such as 2TB DRAM). Furthermore, each memory is accessible by the processor 109 of the host 101, allowing a larger number of computational threads to operate in parallel simultaneously. This provides for faster sequencing or assembly of sample reads.
[0072] In box 618, sample reads in each sample group are aligned by comparing the sample reads in the sample group with the associated partitions of the reference genome of the sample group. The comparisons in box 618 can be performed faster, such as comparing sample reads with the complete reference genome in conventional techniques for reference alignment sequencing, because fewer comparisons are required to locate the sample reads in the sample group due to the smaller size of the reference genome partitions. Furthermore, storing smaller partitions of the reference genome in more memory promotes greater scalability, allowing more computational threads to access partitions of the reference genome stored in different memories.
[0073] As will be understood by one of ordinary skill in the art upon reference to this disclosure, Figure 6 The order of the boxes shown may differ in other specific implementations. For example, the partitioning of the reference genome in box 608 may occur after the multiple sample reads are classified into multiple sample groups in box 612. Alternatively, each sample group may be stored in a different memory in box 616 before the different partitions of the reference genome are stored in different memories in box 610. Furthermore, boxes 602 through 606 may be repeated in the iterative order of the sample reads before proceeding to the partitioning of the reference genome in box 408.
[0074] As described above, the aforementioned reference guidance devices and methods typically allow sample reads to be probabilistically located within the reference genome. This can improve the efficiency of de novo and reference alignment sequencing by pre-grouping sample reads based on their location within the reference genome for further sequencing. In the case of de novo sequencing, this improves scalability and efficiency by allowing more computational threads to access multiple localized groups of sample reads in smaller memory, compared to conventional methods that use large and expensive memory to access all sample reads with a smaller number of computational threads. In the case of reference alignment sequencing, localized groups of sample reads allow smaller and statistically more relevant portions of the reference genome to be stored in smaller and cheaper memory for each localized group, compared to conventional reference alignment sequencing that can use one or significantly fewer shared memories (each storing the complete reference genome), while also allowing more computational threads to access these multiple smaller memories to improve scalability.
[0075] Other implementation plans
[0076] Those skilled in the art will recognize that the various exemplary logic blocks, modules, and processes described in conjunction with the examples disclosed herein can be implemented as electronic hardware, software, or a combination of both. Furthermore, the aforementioned processes can be embodied in a computer-readable medium that enables a processor, controller, or other circuitry to perform or implement certain functions.
[0077] To clearly illustrate this interchangeability between hardware and software, various exemplary components, blocks, and modules have been generally described above in terms of their functionality. Whether this functionality is implemented in hardware or software depends on the specific application and the design constraints imposed on the system as a whole. Those skilled in the art can implement the described functionality in different ways for each specific application, but such implementation decisions should not be construed as departing from the scope of this disclosure.
[0078] The various exemplary logic blocks, cells, modules, and circuits described in conjunction with the examples disclosed herein can be implemented or executed using a general-purpose processor, GPU, DSP, ASIC, FPGA, or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. The general-purpose processor can be a microprocessor, but alternatively, the processor can be any conventional processor, controller, microcontroller, or state machine. The processor or controller circuitry can also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, multiple microprocessors, a SoC, one or more microprocessors incorporating a DSP core, or any other such configuration.
[0079] The activities of the methods or processes described in conjunction with the examples disclosed herein may be directly embodied in hardware, in a software module executed by processor or controller circuitry, or a combination of both. The steps of the method or algorithm may also be performed in an order alternative to the order provided in the examples. The software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, removable media, optical media, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor or controller circuitry such that the processor or controller circuitry can read information from and write information to the storage medium. Alternatively, the storage medium may be an integral part of the processor or controller circuitry. The processor or controller circuitry and the storage medium may reside in an ASIC or SoC.
[0080] The foregoing description of exemplary embodiments of this disclosure is provided to enable any person skilled in the art to make or use embodiments of this disclosure. Various modifications to these examples will be apparent to those skilled in the art, and the principles disclosed herein can be applied to other examples without departing from the scope of this disclosure. The embodiments described are to be considered merely exemplary and not restrictive in all respects. Furthermore, the language used in the following claims in the form of "at least one of A and B" should be understood to mean "only A, only B, or both A and B".
Claims
1. A method of processing a plurality of sample reads for genomic sequencing, the method comprising: for each sample read in the plurality of sample reads: comparing substring sequences from the sample read to reference sequences representing different portions of a reference genome; identifying one or more reference sequences that match one or more of the compared substring sequences; and determining a probabilistic position of the sample read within the reference genome based on the one or more identified reference sequences that match the one or more compared substring sequences; and classifying the plurality of sample reads into a plurality of sample groups based at least in part on the determined probabilistic positions of the respective sample reads; and wherein comparing substring sequences from the sample read to reference sequences further comprises: storing the substring sequences in a plurality of cell groups one substring sequence at a time, wherein each cell group in the plurality of cell groups further stores a reference sequence that partially overlaps another reference sequence stored in at least one other cell group in the plurality of cell groups; and wherein each cell group stores a different partially overlapping reference sequence that is shifted by one reference base with respect to the reference sequence stored in an adjacent cell group.
2. The method of claim 1, further comprising storing each sample group in the plurality of sample groups in a different memory.
3. The method of claim 1, wherein each sample group in the plurality of sample groups comprises approximately the same number of sample reads.
4. The method of claim 1, further comprising aligning sample reads in each sample group in the plurality of sample groups by comparing sample reads in a sample group to other sample reads in the sample group.
5. The method of claim 1, further comprising aligning sample reads in a respective sample group in the plurality of sample groups using a different processor.
6. The method of claim 1, wherein classifying the plurality of sample reads into the plurality of sample groups is performed prior to executing at least one of an exact match algorithm and an approximate match algorithm for genomic sequencing.
7. The method of claim 1, wherein comparing substring sequences from the sample read to reference sequences further comprises: identifying cell groups in the plurality of cell groups in which the stored reference sequences match the substring sequences stored in the cell groups.
8. The method of claim 1, further comprising using the plurality of sample groups for de novo genomic sequencing.
9. A method of operating a system for processing a plurality of sample reads for genomic sequencing, the method comprising: for each sample read in the plurality of sample reads: comparing substring sequences from the sample read to reference sequences representing different portions of a reference genome, the comparing comprising: storing the substring sequences in a plurality of cell groups of the system one substring sequence at a time, wherein each cell group further stores a reference sequence that partially overlaps another reference sequence stored in at least one other cell group; and identifying one or more of the plurality of cell groups in which the stored reference sequence matches the substring sequence stored in the cell group; and determining a probabilistic location of the sample read within the reference genome based on the one or more identified cell groups; and classifying the plurality of sample reads into a plurality of sample groups based at least in part on the determined probabilistic location of the respective sample reads; and wherein each cell group stores a different partially overlapping reference sequence that is shifted by one reference base relative to the reference sequence stored in an adjacent cell group.
10. The method of claim 9, further comprising storing each of the plurality of sample groups in a different memory of the system.
11. The method of claim 9, wherein each of the plurality of sample groups comprises substantially the same number of sample reads.
12. The method of claim 9, further comprising: determining, for each stored substring sequence, a comparison value for each of the plurality of cell groups, the comparison value representing a comparison of the stored substring sequence to the reference sequence stored in the cell group.
13. The method of claim 9, further comprising aligning sample reads in each of the plurality of sample groups by comparing sample reads in a sample group to other sample reads in the sample group.
14. The method of claim 9, wherein the plurality of sample reads are classified into the plurality of sample groups prior to performing at least one of an exact match algorithm and an approximate match algorithm for genomic sequencing.
15. The method of claim 9, further comprising using a different processor of the system to align sample reads in a respective one of the plurality of sample groups.
16. The method of claim 9, further comprising using the plurality of sample groups for de novo genomic sequencing.
17. A system for processing a plurality of sample reads for genomic sequencing, the system comprising: a plurality of cell groups; circuitry configured to: for each sample read of the plurality of sample reads: store substring sequences from the sample read, one substring sequence at a time, in the plurality of cell groups for comparison to reference sequences representing different portions of a reference genome, wherein each cell group of the plurality of cell groups also stores a reference sequence that partially overlaps another reference sequence stored in at least one other cell group of the plurality of cell groups; identify one or more of the plurality of cell groups in which the stored reference sequence matches the substring sequence stored in the cell group; and determine a probabilistic location of the sample read within the reference genome based at least in part on the one or more identified cell groups; and at least one processor configured to classify the plurality of sample reads into a plurality of sample groups based on the determined probabilistic location of the respective sample reads; and wherein each cell group stores a different partially overlapping reference sequence that is shifted by one reference base relative to the reference sequence stored in an adjacent cell group. 18. The system of claim 17, further comprising a plurality of memories each configured to store a respective sample group of the plurality of sample groups.
19. The system of claim 17, wherein each sample group of the plurality of sample groups comprises substantially the same number of sample reads.
20. The system of claim 17, further comprising a plurality of processors, wherein different processors of the plurality of processors are configured to align sample reads in a respective sample group of the plurality of sample groups by comparing sample reads in the sample group to other sample reads in the sample group.
Citation Information
Patent Citations
Reference-guided genome sequencing
US20210295946A1
Devices and methods for locating a sample read in a reference genome
US20210295949A1
System and method for aligning genome sequence
US20140121991A1