Reference-guided genome sequencing

By referring to the guide device, probabilistically locate sample reads and classify them into groups, the problem of high memory and computing costs in the prior art is solved, and the efficiency and scalability of genome sequencing are achieved.

CN114730608BActive Publication Date: 2025-08-26WESTERN DIGITAL TECHNOLOGIES INC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202080081700.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-03-18
Filing Date
2020-07-01
Publication Date
2025-08-26
Estimated Expiration
2040-07-01

AI Technical Summary

Technical Problem

The prior art requires a large amount of memory resources and high computational costs when locating sample reads in the sample genome, and lacks scalability, especially in de novo sequencing and reference alignment sequencing.

Method used

The reference guide device is used to probabilistically locate sample reads, preprocess the sample reads to classify them into groups, and optimize them on memory and computing resources, using indexes and data structures to improve the efficiency and scalability of rescind or reference alignment sequencing.

Benefits of technology

Reduces memory and computational costs, improves the efficiency and scalability of genome sequencing, and reduces the cost and time of sequencing from de novo or reference alignment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114730608B_ABST
    Figure CN114730608B_ABST
Patent Text Reader

Abstract

The present invention provides a method and system for processing multiple sample reads for genome sequencing, the method and system comprising: for each sample read in the multiple sample reads, comparing a substring sequence from the sample read with a reference sequence representing a different portion of a reference genome. Identifying one or more reference sequences that match the one or more 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. Based on the determined probabilistic positions of the corresponding sample reads, the reference genome is divided for reference aligned genome sequencing.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application is related to co-pending U.S. application Ser. No. 16 / 820,711 (Agent Docket No. WDA-4726-US), filed March 17, 2020, and entitled “DEVICES AND METHODS FOR LOCATING A SAMPLE READ IN A REFERENCE GENOME,” the entire contents of which are hereby incorporated by reference. This application also is related to co-pending U.S. application Ser. No. 16 / 821,849 (Agent Docket No. WDA-4724-US), filed March 17, 2020, and entitled “REFERENCE-GUIDED GENOME SEQUENCING,” the entire contents of which are hereby incorporated by reference. Background Art

[0003] The limitation of current DNA (deoxyribonucleic acid) sample processing causes the part of sample read or sample genome to have usually unknown position in sample genome.For not using the de novo sequencing of reference genome when sample reads are compared to each other to locate sample reads in sample genome, sample reads are usually analyzed as a single large group, which requires a large amount of memory resources and high computing cost to compare the sample reads in the large group to each other to determine the position of the sample reads in the sample genome. The conventional method of such de novo sequencing is not scalable relative to the large amount of data that need to be processed by genome sequencing. In more detail, conventional de novo sequencing methods usually store a large group of sample reads in a shared memory such as an expensive 2TB DRAM. Due to the limited number of computing cores that can be connected to shared DRAM by an independent high-bandwidth channel (for example, 24 cores at the most), this arrangement limits the number of independent computing threads that can be used for de novo sequencing (for example, 128 computing threads at the most).

[0004] For the reference alignment sequencing of locating sample reads in the sample genome using a reference genome, a complete reference genome is usually searched for each sample read to locate the sample read in the reference genome. This type of reference alignment sequencing also requires a large amount of memory resources to store the complete reference genome, and requires high computing cost to compare each sample read with the complete reference genome. The conventional method of reference alignment sequencing also has limited scalability. In more detail, the conventional method of reference alignment sequencing can randomly divide sample reads into groups processed by corresponding computing threads. However, each computing thread usually requires a large dedicated memory such as 16GB DRAM to store the entire reference genome. In other technologies, the reference genome can be stored in a single shared 16GB DRAM, but as noted above for conventional de novo sequencing, this shared memory arrangement limits the number of cores and computing threads that can access shared memory. Therefore, it is necessary to improve genome sequencing in terms of computing cost, memory resources and scalability. BRIEF DESCRIPTION OF THE DRAWINGS

[0005] The features and advantages of the embodiments of the present disclosure will become more apparent through the detailed description described below in conjunction with the accompanying drawings. The drawings and the associated descriptions are provided to illustrate the embodiments of the present disclosure rather than to limit the scope of the claimed invention.

[0006] Figure 1 is a block diagram of a system for genome sequencing according to one or more embodiments.

[0007] Figure 2 According to one or more embodiments, Figure 1 An example of a plurality of unit groups in a reference boot device of a system.

[0008] Figure 3 An example of de novo genome sequencing according to one or more embodiments is shown.

[0009] Figure 4 is a flow chart of a de novo genome sequencing process according to one or more embodiments.

[0010] Figure 5 An example of reference aligned genome sequencing is shown according to one or more embodiments.

[0011] Figure 6 is a flow chart of a reference aligned genome sequencing process according to one or more embodiments. DETAILED DESCRIPTION

[0012] In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. However, it will be apparent to those skilled in the art that the various disclosed embodiments 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 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 The host 101 communicates with the reference boot device 102 to receive from the reference boot device 102 corresponding sample groups 111 to 112 including sample read segments that have been classified by the reference boot device 102. N In other specific implementations, instead, the host 101 may receive an indication or data structure indicating which sample reads in the sample read pool are to be obtained from the shared memory for further processing by the respective host 101 .

[0015] In an implementation where the host 101 performs reference alignment sequencing, the host 101 may also receive optional reference partitions 121 to 122 corresponding to the probabilistic positions determined for the sample reads. N , which includes a portion of a reference genome (such as human reference genome H38). Optional reference partitions 121 to 12 N The genome may be received from device 102 or from another device, such as from a shared memory storing a complete reference genome. Figure 5 and Figure 6 As discussed in more detail, host 101 may use optional reference partitions 121 to 12 N By comparing the sample reads in the sample group 11 with the associated reference partition 12 , the sample reads in the corresponding sample group 11 are aligned into overlapping fragments or contigs.

[0016] In an implementation where host 101 performs de novo sequencing, host 101 may not receive optional reference partitions 121 to 122. N In such a de novo sequencing implementation, the host 101 aligns the sample reads in the sample group 11 into overlapping fragments or contigs by comparing the sample reads in the sample group 11 with other sample reads in the sample group.

[0017] For ease of description, exemplary embodiments of the present disclosure will be described in the context of DNA sequencing. However, embodiments of the present 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 reads in the example may be initially received by one or more hosts 101 or by Figure 1 Another device, not shown, is provided to the reference guide device 102 to determine the probabilistic position of the sample read within the reference genome stored in one or more arrays 104 of the device 102. In some specific implementations, a reading device that generates the sample read, such as an Illumina device (obtained from Illumina, Inc., San Diego, California) or a nanopore device, can provide the sample read to the reference guide device 102. In other specific implementations, one or more of the host 101 or another device can provide the reference guide device 102 with a sample substring from the sample read for determining the probabilistic position of the sample read within the reference genome. For its part, the device 102 can provide the host 101 with an index 10 stored in a memory 108 of the device 102, which indicates the probabilistic position of the sample read based on the sample substring compared to the reference genome stored in one or more arrays 104 of the device 102. Examples of apparatus 102 and methods of using apparatus 102 to probabilistically locate sample reads within a reference genome are provided in related co-pending application 16 / 820,711, which is incorporated by reference above.

[0019] Host 101 may comprise, 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 a seed and expand algorithm for exact matches and / or a computationally more complex algorithm for approximate matches of sample reads in a genome, such as the Burrows-Wheeler algorithm or the Smith-Waterman algorithm. As discussed in more detail below, device 102 may be used to pre-process sample reads into sample groups 11 prior to de novo or reference alignment sequencing. In this regard, the probabilistic positions provided by reference guide device 102 may replace or improve the efficiency of algorithms otherwise performed by processor 109 of host 101 in terms of memory resources and computational cost. In addition, and as discussed below with reference to Figures 3 to 6 As discussed in more detail, the probabilistic positions of sample reads provided by device 102 and the classification of sample reads into sample groups 11 can allow for increased scalability of genome sequencing, thereby reducing the cost and time of performing de novo or reference-aligned genome sequencing.

[0020] like Figure 1As shown, each host 101 includes a processor 109 and a memory 112 that stores a sample set 11 and optionally a 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 memory 112 of the host 101 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 may include one or more of various types of memory devices, such as flash integrated circuits, chalcogenide RAM (C-RAM), phase change memory (PC-RAM or PRAM), programmable metallization cell RAM (PMC-RAM or PMCm), Ovonic unified memory (OUM), resistive RAM (RRAM), NAND memory (e.g., single-level cell (SLC) memory, multi-level 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 implementations, 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 a 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 device storing a plurality of sample reads with the probabilistic position of the sample read from which the sample substring sequence was obtained. As described above, in some implementations, the host 101 or one or more of the other devices may provide the reference guide device 102 with a current sample substring sequence to be loaded into one or more arrays 104 of the device 102. In other implementations, the host 101 or one or more of the other devices 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 the one or more arrays 104 for comparison with the reference genome.

[0024] The host 101 and the device 102 may or may not be physically co-located. For example, in some implementations, the host 101 and the device 102 may communicate via a network, such as by using a local area network (LAN) or a wide area network (WAN), such as the Internet, or a data bus or data network structure. In addition, one of ordinary skill in the art will appreciate that other implementations of the system 100 may include multiple devices 102 for providing probabilistic locations of sample reads. 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 shown in the example of , the device 102 includes one or more arrays 104 of cells. As used herein, a cell 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 specific implementations, one or more arrays 104 may include such a cell that also includes logic for performing one or more operations on the values ​​stored in the cell. In such an example, each cell in the 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. The cell may perform one or more operations to output a value that can be used by circuit 106 or circuits of one or more arrays 104 to determine whether the group of cells in the one or more arrays 104 stores a reference sequence that matches the substring sequence stored in the group of cells. In some specific implementations, one or more arrays 104 may include one or more pulsating arrays, into which reference values ​​representing reference bases from a reference genome are loaded, and sample values ​​representing bases from a sample substring sequence may be loaded into the cell for comparison with the reference value before the sample value is passed to the next cell in another group of cells in the one or more arrays 104.

[0026] In other implementations, one or more arrays 104 may include solid-state memory cells that may not perform operations to determine whether the values ​​stored in the cells match. For example, in some implementations, circuitry 106 may determine whether the 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 implementations, cells storing reference values ​​may be paired with cells storing sample values ​​for comparison of the reference bases with the sample bases. In other implementations, cells in one or more arrays 104 may include circuit elements, such as registers, latches, or flip-flops.

[0027] The circuitry 106 of the device 102 may include, for example, hardwired logic, analog circuitry, and / or a combination thereof. In other implementations, the circuitry 106 may include one or more ASICs, microcontrollers, digital signal processors (DSPs), FPGAs, and / or a combination thereof. In some implementations, the circuitry 106 may include one or more SoCs that may be combined with the memory 108. As discussed in more detail below, and as discussed in related application Ser. No. 16 / 820,711, the circuitry 106 may be configured to identify a cell group in one or more arrays 104 in which a stored reference sequence matches a current substring sequence stored in the cell group.

[0028] In more detail, for each cell group in one or more arrays 104, a reference sequence of reference bases from a reference genome may be stored in the cell group. The reference sequence corresponds to the order of cells in the corresponding cell group. Each cell group is configured to store a reference sequence representing a portion of a 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 cell groups. Figure 2 Examples of storage of such overlapping reference sequences in an array are discussed in more detail.

[0029] In addition, each cell group in one or more arrays 104 can be configured to store the identical current substring sequence corresponding to the order of corresponding cell group.As mentioned above, circuit 106 is configured to identify the cell group that the current substring sequence wherein stored in these multiple cell groups in one or more arrays 104 is matched with the reference sequence stored in the cell group.In some specific implementations, can be based on the value of after performing at least one logical operation (such as one or more XNOR operations and AND operations) from the cell group that identifies the cell group with matching sequence by circuit 106. Although XNOR and AND are mentioned as examples, those skilled in the art will recognize that, can realize identical result by different logical combinations in other embodiments.In other specific implementations, can be based on after the reference value of representative reference base and the sample value of representative sample base are multiplied each other from the value of cell group that carries out the identification of matching sequence by circuit 106.In addition, in some specific implementations, circuit 106 can be performed all operations to the value that is stored in the cell, rather than performing some operations by the cell itself.

[0030] The memory 108 of the device 102 may include, for example, volatile memory, such as DRAM, for storing the index 10. In other implementations, the memory 108 may include non-volatile memory, such as MRAM. Figure 1As shown, the memory 108 stores an index 10, which can be used to determine the probabilistic position 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, the index 10 may include a data structure, such as a bitmap or other data structure, which indicates the index or position in the reference genome corresponding to the unit group identified as a stored matching sequence. The circuit 106 may update the index 10 for different sample substring sequences in each unit group loaded into the one or more arrays 104. In some embodiments, the circuit 106 may indicate the average position of the substring sequence having multiple matching unit groups in the index 10. In other embodiments, for a particular substring sequence, only the first matching unit group or certain matching unit groups may be used, or for substring sequences having more than a single unit group with stored matching sequences, the circuit 106 may not update the index 10 at all.

[0031] Furthermore, some implementations may not use an index or other data structure to indicate the location of groups of cells with matching sequences. For example, in some implementations, circuit 106 may directly output data indicating groups of cells with matching sequences to host 101, or may directly output sample reads that have been classified into a particular sample group 11. In this regard, device 102 or another device in system 100 may perform classification of sample reads into group 11 for host 101.

[0032] As will be understood by those skilled in the art with reference to this disclosure, other implementations may include Figure 1 1. For example, other implementations may combine device 102 with another device, such as a hardware accelerator (e.g., a graphics processing unit (GPU)) configured to sort sample reads into sample groups 11, or may include a different number of devices 102, or include a dedicated device for sorting sample reads into sample groups 11. As described above, other implementations of system 100 may include a shared memory for temporarily storing multiple sample reads or portions of multiple sample reads before sorting the multiple sample reads into sample groups 11. In other implementations, 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 1 shows an example of multiple unit groups in a reference boot device 102 according to one or more embodiments. Figure 2 As shown in the example, the array 104 includes unit groups 1101 to 110 L-19 .although Figure 2 Unit groups 1101 to 110 L-19In some embodiments, array 104 can be arranged as the cell group of row.Be shown as row, but other specific implementations can comprise the cell group that is not arranged as row physically.In some embodiments, array 104 can substitute the defective cell from a cell group with another unit in the spare cell pool in the different parts of the same array or in the different arrays.In the specific implementation of each cell group storage relative to the overlapping reference sequence of a reference base of previous cell group displacement, L can equal the full length of reference genome, such as 3,200,000,000 cell groups or cell rows, as under the situation of complete reference human genome H38.On the contrary, other specific implementations can store the overlapping reference sequence of the reference base (for example, shifted two reference bases) of having shifted different numbers, make and need still less cell group or row, and this allows the size of array 104 still smaller.Yet, overlapping displacement may be cost with the reduction possibility of finding substring sequence coupling more than a reference base.

[0034] like Figure 2 As shown in the example of , each cell group 110 stores a reference value representing a reference base (e.g., R1, R2, R3, etc.) and a sample value representing a sample base (S1, S2, S3, etc.). 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 cell group 110 stores the same sample sequence of sample values ​​S1 to S20, each cell group 110 stores a different partially overlapping reference sequence that is shifted by one reference base relative to the reference sequence stored in the adjacent cell group. For example, cell group 1101 stores a first reference sequence having reference values ​​R1 to R20, and cell group 1102 stores a second reference sequence having reference values ​​R2 to R21. In other embodiments, Figure 2 Compared to the example shown in FIG. 1 , the shift offset and resulting overlap may be different between groups of cells.

[0035] The arrangement of storing partially overlapping reference sequences and substring sequences in array 104 generally allows for efficient positioning of the probabilistic positions of sample reads within the reference genome. Furthermore, the reference sequence only needs to be loaded into array 104 or stored in the array once. Then, iterations of loading or storing different substring sequences from sample reads can provide the probabilistic positions of sample reads within the reference genome, which can be used by host 101 to intelligently classify sample reads into read groups for more efficient de novo or reference alignment sequencing, as described below with reference to Figures 3 to 6 In this regard, different 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 better suited for repeated rewriting with better write endurance.

[0036] exist Figure 2 The substring sequence length used in the example is 20, including sample values ​​S1 to S20. As discussed in more detail in related co-pending application Ser. No. 16 / 820,711, the length of the substring sequence corresponding to the number of cells in a cell group or column can be selected based on the desired uniqueness of the substring sequence relative to the number of cells within the reference genome and the operations required to identify the cell group or column storing the matching sequence.

[0037] Exemplary Process

[0038] Figure 3 An example of de novo sequencing according to one or more embodiments is shown. Figure 3 As shown, in preprocessing 114, a reference guide device 102 is used to compare the plurality of sample reads 13 with the reference genome 14 to classify the plurality of reads into smaller sample groups 111 to 11 N Each sample group 11 includes sample reads from a plurality of sample reads 13 that correspond to a portion of a reference genome 14 (such as H38) based on their probabilistic positions within the reference genome 14. 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 11 N Alignment of the sample reads can be performed by comparing the sample reads to other sample reads in the same sample group 11 using one or more algorithms, such as seed and extend algorithms known in the art for performing de novo sequencing. Each contig is then assembled to form a corresponding assembly 1 to N, which can then be mapped to a chromosome to complete the sequencing of the genome.

[0039] The portion of de novo sequencing 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 in which all sample reads can be stored in a single shared memory. Figure 3 In the example of , classifying the plurality of sample reads 13 into sample groups 11 allows the sample reads to be stored in N memories (such as DRAM), which are smaller than using a single memory to store all sample reads in conventional de novo sequencing. As described above, the number of computing cores that can be connected to a larger 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 computing threads that can be used to assemble and map the sample reads into the sequenced genome (e.g., at most 128 computing threads).

[0040] on the other hand, Figure 3The arrangement shown in

[10] can improve scalability, such that each smaller memory storing a corresponding sample group can 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 in which multiple sample reads are stored in a single shared memory. Furthermore, by probabilistically locating sample reads, the efficiency of assembling and mapping sample reads is improved. Sample reads can also be divided nearly equally between sample groups, such as within 10% of each other, to distribute the workload among hosts 101 and improve parallelization.

[0041] For example, if the plurality of reads 13 includes X = 200,000 long reads (e.g., reads from a nanopore device resulting in 5,000 bases per sample read), each sample group 11 may 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 group 11 is then reduced by a factor of N, resulting in a reduced 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 can increase 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 is a flow chart of a de novo genome sequencing process according to one or more embodiments. Figure 4 The process may be performed by, for example, a system 100 including a reference boot device 102 and a host 101 .

[0043] In block 402, for a plurality of sample reads (e.g., Figure 3 For each sample read in the plurality of sample reads 13), a substring sequence from the sample read is compared with a substring sequence representing a reference genome (e.g., Figure 3 In some implementations, the comparison may include determining multiple groups of cells (e.g., Figure 1 A comparison value for each cell group in one or more arrays 104 in the cell group, the comparison value representing a comparison result between the substring sequence stored in the cell group and the reference sequence stored in the cell group.

[0044] Substring sequence comprises the continuous base sequence from sample read.Substring sequence can be randomly selected by one or more hosts 101 or by equipment 102.In other specific implementations, substring sequence can be selected so that substring sequence is spread over whole sample read.As discussed in related co-pending application 16 / 820,711, the substring sequence of length between 17 and 25 bases can provide enough number of unique matches (that is, only match at one position in reference genome) for most substring sequences, to locate the substring sequence in reference genome such as H38.The substring length shorter than 17 bases will need the substring sequence of larger number from sample read to determine the probabilistic position of sample read in reference genome.In the case of reference genome H38, substring length is shorter than 15 bases, may all cannot identify any unique match in reference genome for the substring sequence of almost all attempts.

[0045] On the other hand, substring lengths greater than 25 bases result in additional storage costs in terms of cells in one or more arrays 104 in device 102 and greater computational costs due to the increased number of operations required to find matching sequences, with little improvement in the number of unique matches. Figure 2 The example uses a substring length of 20 bases, which means Figure 2 Each cell group 110 in the array 104 includes a predetermined number of 20 cells. A person of ordinary skill in the art will understand, with reference to this disclosure, that for other examples, different substring lengths or different predetermined numbers of cells in each cell group in the device 102 may be preferred, such as when different reference genomes or portions of reference genomes are used, as may be the case for medical diagnosis or genetic screening of conditions associated with specific portions of the reference genome. In addition, different trade-offs between computational cost, number of cells, and accuracy in terms of a greater number of unique matches may also affect the number of cells used for each cell group in one or more arrays 104.

[0046] In block 404, one or more reference sequences are identified for each sample read that match one or more compared substring sequences from the sample read. When identifying a matching reference sequence, a cell group 110 in one or more arrays 104 of the device 102 may be identified as storing a reference sequence representing a portion of a reference genome, as described above with respect to Figure 2104 in the example of array 104. In some implementations, identification can be performed by device 102 using logic gates, such as, for example, a combination of XNOR and AND gates of cells in one or more arrays 104 and / or circuitry 106 of device 102. In other implementations, identification of a matching reference sequence or a group of cells storing a matching reference sequence can be performed by performing a calculation using stored reference values ​​and sample values ​​for bases, such as by using an 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 related co-pending application Ser. No. 16 / 820,711.

[0047] In box 406, the system 100 determines a probabilistic position of the sample read within the reference genome for each sample read based on one or more identified reference sequences that match the one or more compared substring sequences. In this regard, the first matching unit group in the one or more arrays 104 of the device 102 can be used as the position of each substring sequence, or alternatively, assuming that some substring sequences result in multiple matching unit groups, multiple matching unit groups can be used as possible positions of the substring sequence. In some cases, due to errors in the substring sequence, such as read errors caused by the reading device or mutations in the sample read, there may not be a matching position for the substring sequence. The position of the sample read determined by the circuit 106 or the host 101 in box 406 can be probabilistic in the following sense: multiple possible positions can be identified for different substring sequences from the sample read, and the consistency or statistics derived from the matching positions can be used to probabilistically locate the sample read within the reference genome.

[0048] In one example, the average value of all positions of all matching unit groups of all substring sequences is used to identify the most likely position of the sample read in the reference genome. In another example, only one position of each substring sequence with the matching unit group is used in the average value. In yet another example, the probabilistic position of the sample read can be determined by identifying the farthest interval position corresponding to the matching unit group of the substring sequence in the reference genome. In other examples, when determining the probabilistic position of the sample read in the reference genome, one or more outlier positions relative to a group of matching positions can be discarded.

[0049] In block 408, the device 102 or one or more hosts 101 classify the plurality of sample reads into a plurality of sample groups based on the determined probabilistic positions of the corresponding sample reads. Each sample group may include approximately the same number of sample reads (e.g., within 10% of each other) to more evenly distribute the workload of assembling and mapping the sample reads among the hosts 101. In some implementations, a portion of an index 10 or data structure may be provided by the device 102 to the host 101 to indicate a set of sample reads to be processed by the host 101 as a sample group 11. In such implementations, each host 101 may then retrieve the sample reads corresponding to the assigned sample group 11 from a shared memory. In other implementations, the 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 implementation, the sample reads of the assigned sample group may be retrieved from another host 101.

[0050] In block 410, each sample group 11 is stored in a different memory. In some implementations, each host 101 may include its own memory, such as memory 112 for storing its assigned sample group 11. As described above, using a large amount of memory distributed between hosts 101 is generally cheaper than storing all multiple sample reads in a single large memory (such as 2TB DRAM). In addition, each memory can be locally accessed by the processor 109 of the host 101 and allows a larger number of computing threads to operate in parallel simultaneously throughout the system 100. This can provide faster sequencing or assembly of sample reads.

[0051] In block 412, the sample reads in each sample group are aligned by comparing the sample reads in the sample group with other sample reads in the sample group. The comparison in block 412 can be completed more quickly than randomly comparing sample reads from a large number of sample reads as in conventional de novo sequencing because there are fewer sample reads in each mapped sample group and there is a greater likelihood of sample read overlap due to the preprocessing performed in blocks 402 to 408 above.

[0052] As will be understood by those of ordinary skill in the art with reference to this disclosure, Figure 4 The order of the blocks shown in FIG4 may be different in other implementations. For example, blocks 402 to 406 may be repeated in an iterative order of the sample reads before proceeding to classifying the plurality of sample reads in block 408.

[0053] although Figure 4 The genome sequencing of the Figure 4The method uses a new technique of reference-guided genome sequencing to pre-process or classify sample reads into groups of probabilistically located sample reads to improve the efficiency, cost, and scalability of de novo sequencing. The exemplary process discussed below for reference-aligned sequencing also pre-processes or classifies multiple sample reads into groups of probabilistically located sample reads to improve the efficiency, cost, and scalability of reference-aligned sequencing. In addition, the following reference Figure 5 and Figure 6 The discussed reference aligned sequencing example further provides partitioning of the reference genome for reference aligned sequencing.

[0054] Figure 5 An example of reference aligned genome sequencing according to one or more embodiments is shown. Figure 5 As shown, similar to the above discussion Figure 3 In the example of de novo sequencing in the example, in preprocessing 116, a plurality of sample reads 13 are compared with a reference genome 14 using a reference guide device 102 to classify the plurality of sample reads into smaller sample groups 111 to 11 N However, with Figure 3 Unlike the example of de novo sequencing in Figure 5 The reference alignment sequencing also includes partitioning the reference genome 14 into reference partitions 121 to 12 N These reference partitions are the same as those in the pre-processing 116 for the corresponding sample groups 111 to 11 N In some implementations, each reference partition 12 may be stored in the same memory as the associated sample group 11 (e.g., Figure 1 In other specific implementations, the sample group 11 and the associated reference partitions 12 may be stored in different memories.

[0055] By dividing the reference partition 121 to 12 N Each of the Figure 5 In the different memories in the reference genome, without knowing which parts of the reference genome include the randomly grouped sample reads, storing the entire reference genome 14 at each host 101 will require less memory for the randomly grouped sample reads. The sample reads 13 are classified into probabilistically located sample groups 111 to 11 N , thereby associating portions of the reference genome with specific sample groups 11 , and partitioning the reference genome 14 into smaller reference partitions 12 .

[0056] In some implementations, if there are no sample reads with probabilistic positions 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. NSuch situations may arise, for example, from medical diagnoses or genetic screenings that may only involve a specific portion of a reference genome. In such cases, the efficiency of reference-aligned sequencing in terms of processing resources, memory resources, and time is further improved by not having to store and perform comparisons with the complete reference genome.

[0057] exist Figure 5 In the example of FIG, each sample group 11 includes approximately the same number of sample reads (e.g., within 10% of each other) from a plurality of sample reads 13 corresponding to a reference partition 12 of the reference genome 14 (such as H38) based on the probabilistic positions of the sample reads within the reference genome 14. 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 11 N Alignment of the sample reads can be performed by comparing the sample reads in the sample set 11 to the mapped reference partitions 12 using one or more algorithms, such as seed and extend algorithms known in the art for performing reference aligned sequencing. Each contig is then assembled to form a corresponding assembly 1 to N, which can then be mapped to a chromosome to complete the sequencing of the sample genome.

[0058] In addition, compared to conventional reference 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 sequencing improves the scalability and efficiency of reference sequencing. As mentioned above, the number of computing cores that can be connected to such shared memories via independent high-bandwidth channels is limited (e.g., at most 24 cores), which limits the number of independent computing threads that can be used to assemble and map sample reads into the sequenced genome (e.g., at most 128 computing threads).

[0059] on the other hand, Figure 5 The arrangement shown in

[0045] can improve scalability, such that each smaller memory storing a corresponding reference partition 12 can be accessed by a maximum number of independent high-bandwidth channels, resulting in a larger total number of processing cores and independent computational threads, compared to a conventional arrangement in which the entire reference genome can be stored in a single shared memory. In addition, by probabilistically locating sample reads, the efficiency of assembling and mapping sample reads is improved.

[0060] Figure 6 is a flow chart of a reference aligned genome sequencing process according to one or more embodiments. Figure 4 The process may be performed by, for example, a system 100 including a reference boot device 102 and a host 101 .

[0061] In block 602, for a plurality of sample reads (e.g., Figure 3 For each sample read in the plurality of sample reads 13), a substring sequence from the sample read is compared with a substring sequence representing a reference genome (e.g., Figure 5 The substring sequence is compared to a reference sequence of different parts of the reference genome 14 in the sample. The substring sequence includes a continuous sequence of bases from the sample read. The substring sequence can be randomly selected by one or more hosts 101 or by the device 102. In other specific implementations, the substring sequence can be selected so that the substring sequence is spread throughout the entire sample read. As discussed in related co-pending application 16 / 820,711, and as described above, substring sequences between 17 and 25 bases in length can provide a sufficient number of unique matches (i.e., matches at only one position within the reference genome) for most substring sequences to locate the substring sequence within a reference genome such as H38.

[0062] Those skilled in the art, with reference to this disclosure, will appreciate that, for other examples, different substring lengths or different predetermined numbers of cells in each cell group in the device 102 may be preferred, such as when using different reference genomes or portions of reference genomes, as may be the case for medical diagnosis or screening of genetic conditions associated with specific portions of the reference genome. Furthermore, different tradeoffs between computational cost, the number of cells in the one or more arrays 104 of the device 102, and accuracy in terms of a greater number of unique matches may also affect the number of cells used for each cell group in the one or more arrays 104.

[0063] In block 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 a matching reference sequence, a cell group 110 in one or more arrays 104 of the device 102 may be identified as storing a reference sequence representing a portion of a reference genome, as described above with respect to Figure 2 In some implementations, identification can be performed by device 102 using logic gates, such as, for example, a combination of XNOR and AND gates of cells in one or more arrays 104 and / or circuitry 106 of device 102. In other implementations, identification of a matching reference sequence or a group of cells storing a matching reference sequence can be performed by performing a calculation using stored reference values ​​and sample values ​​for the bases, such as by using an inner product or a dot product of these values.

[0064] In box 606, the system 100 determines a probabilistic position of each sample read within the reference genome based on one or more reference sequences that match the one or more compared substring sequences. The first matching unit group in the one or more arrays 104 of the device 102 can be used as the position of each substring sequence, or alternatively, assuming that some substring sequences result in multiple matching unit groups, multiple matching unit groups can be used as possible positions of the substring sequence. In some cases, the substring sequence may not have any matching reference sequence. The position of the sample read determined by the circuit 106 of the device 102 or the host 101 in box 606 can be probabilistic in the following sense: multiple possible positions can be identified for different substring sequences from the sample read, and the consistency or statistics derived from the matching positions can be used to probabilistically locate the sample read within the reference genome.

[0065] In one example, the average value of all positions of all matching unit groups of all substring sequences is used to identify the most likely position of the sample read in the reference genome. In another example, only one position of each substring sequence with the matching unit group is used in the average value. In yet another example, the probabilistic position of the sample read can be determined by identifying the farthest interval position corresponding to the matching unit group of the substring sequence in the reference genome. In other examples, when determining the probabilistic position of the sample read in the reference genome, one or more outlier positions relative to a group of matching positions can be discarded.

[0066] In block 608, the device 102 or one or more hosts 101 partitions the reference genome for reference alignment sequencing based on the probabilistic positions determined for the corresponding sample reads in block 606. The sizes of the partitions of the reference genome may vary based on the distribution of the positions determined for the sample reads. For example, the sizes of the partitions may be based on the number of sample reads located in the partitions such that each partition is associated with sample groups having approximately equal numbers of sample reads, such as by each reference partition or sample group having sample reads within 10% of the number of sample reads in the other reference partitions or sample groups. In other embodiments, the partitions of the reference genome may be divided equally, and larger variations in the number of sample reads between sample groups may be allowed.

[0067] In this regard, if there is no sample read with probabilistic position in some parts of the reference genome, then this part of the reference genome can be discarded or not assigned to the sample group. Such situations can be caused by, for example, medical diagnosis or screening that may only relate to a specific part of the reference genome. In such cases, the efficiency of comparison sequencing with reference to processing resources, memory resources and time is further improved by not having to store and carry out comparison with the complete reference genome.

[0068] In block 610, different partitions of the reference genome are stored in different memories, such as in 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 a shared memory in system 100 storing the reference genome. Figure 5 As discussed, storing mapped partitions of the reference genome in different memories allows for parallel processing by a larger number of processing cores without having to store the entire reference genome in multiple larger memories, as would be the case if sample reads were randomly grouped.

[0069] In block 612, the device 102 or one or more hosts 101 classify the plurality of sample reads into a plurality of sample groups based on the determined probabilistic positions of the corresponding sample reads. The sample reads may be classified so that each sample group includes approximately the same number of sample reads (e.g., within 10% of the sample group having the most sample reads). In some implementations, a portion of an index 10 or data structure may be provided by the device 102 to the host 101 to indicate a set of sample reads to be processed by the host 101 as a sample group 11. In such implementations, each host 101 may then retrieve the sample reads corresponding to the assigned sample group 11 from a shared memory. In other implementations, the 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 implementation, the sample reads of the assigned sample group may be retrieved from another host 101.

[0070] In block 614, different partitions of the reference genome are associated with the corresponding sample groups based on the probabilistic positions of the sample reads in the sample groups. As described above, the size of the partitions of the reference genome can vary based on the distribution of the probabilistic positions determined for the sample reads within the sample groups. In this regard, the size of the partitions can be based on the number of sample reads located in the partitions so that each partition is associated with a roughly equal number of sample reads. In other specific implementations, the partitions of the reference genome can be divided equally, without considering the distribution of the sample reads within the sample groups.

[0071] In block 616, each sample group 11 is stored in a different memory, which may be the same or different memory as the memory used to store the associated partition of the reference genome in block 610. In some implementations, each host 101 may include its own memory, such as Figure 1112 in which the corresponding associated sample groups 11 and reference genome partitions 12 are stored. As described above, using a larger number of memories distributed between hosts 101 is generally cheaper than storing all multiple sample reads in a single large memory (such as 2TB DRAM). In addition, each memory can be accessed by the processor 109 of the host 101 and allows a larger number of computing threads to operate in parallel at the same time. This can provide faster sequencing or assembly of sample reads.

[0072] In block 618, the 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 for the sample group. The comparison in block 618 can be completed faster than comparing the sample reads with the complete reference genome in conventional techniques for sequencing by reference alignment, because fewer comparisons are required to locate the sample reads in the sample group due to the smaller size of the partitions of the reference genome. In addition, storing smaller partitions of the reference genome in more memory promotes greater scalability to allow more computing threads to access partitions of the reference genome stored in different memories.

[0073] As will be understood by those of ordinary skill in the art with reference to this disclosure, Figure 6 The order of the boxes shown in FIG6 may be different in other specific implementations. For example, the partitioning of the reference genome in box 608 may occur after the plurality of sample reads are sorted into a plurality of sample groups in box 612. For another example, before storing the different partitions of the reference genome in different memories in box 610, each sample group may be stored in a different memory in box 616. For another example, before proceeding to partitioning the reference genome in box 408, boxes 602 to 606 may be repeated in the order of the iteration of the sample reads.

[0074] As mentioned above, aforementioned reference guide equipment and method generally allow sample reads to be probabilistically positioned within the reference genome.This can be by pre-processing sample reads into groups based on the position of the sample reads in the reference genome for further sequencing to improve the efficiency of de novo sequencing and reference alignment sequencing.In the case of de novo sequencing, compared with the conventional method in which a smaller number of computing threads are used to access all sample reads using a larger and more expensive memory, this can improve scalability and the efficiency of de novo sequencing by allowing more computing threads to access the sample read groups of multiple locations in smaller memories.In the case of reference alignment sequencing, compared with the conventional reference alignment sequencing that can use one or significantly less shared memory (each storing complete reference genome), the sample read groups positioned allow the smaller and statistically more relevant parts of the reference genome to be stored in the smaller and cheaper memory of each positioning group, while also allowing more computing threads to access these multiple smaller memories to improve scalability.

[0075] Other implementation plans

[0076] Those skilled in the art will appreciate that the various illustrative logical blocks, modules, and processes described in conjunction with the examples disclosed herein can be implemented as electronic hardware, software, or a combination of both. In addition, the aforementioned processes can be embodied on a computer-readable medium that enables a processor, controller, or other circuit to perform or implement certain functions.

[0077] To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, and modules have been generally described above in terms of their functionality. Whether this functionality is implemented as hardware or software depends on the specific application and the design constraints imposed on the overall system. Those skilled in the art may implement the described functionality in different ways for each specific application, but such implementation decisions should not be interpreted as causing a departure from the scope of this disclosure.

[0078] The various illustrative logical blocks, units, modules, and circuits described in conjunction with the examples disclosed herein may be implemented or executed with 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. A general-purpose processor may be a microprocessor, but in an alternative embodiment, the processor may be any conventional processor, controller, microcontroller, or state machine. The processor or controller circuit may also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, multiple microprocessors, an SoC, one or more microprocessors in combination with 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 embodied directly in hardware, in software modules executed by a processor or controller circuit, or in a combination of the two. 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 a processor or controller circuit so that the processor or controller circuit can read information from the storage medium and can write information to the storage medium. In an alternative, the storage medium may be an integral part of the processor or controller circuit. The processor or controller circuit and the storage medium may reside in an ASIC or SoC.

[0080] The above description of the exemplary embodiments of the present disclosure is provided to enable any person skilled in the art to make or use the embodiments of the present disclosure. Various modifications to these examples will be apparent to those skilled in the art, and the principles disclosed herein may be applied to other examples without departing from the scope of the present disclosure. The embodiments described are to be considered in all respects as merely illustrative and non-restrictive. In addition, language used in the form of "at least one of A and B" in the following claims should be understood to mean "only A, only B, or both A and B."

Claims

1. A method for processing a plurality of sample reads for genome sequencing, the method comprising: For each sample read in the plurality of sample reads: storing substring sequences from the sample reads one substring sequence at a time in a plurality of bins of the system, and comparing the substring sequences to reference sequences representing different portions of a reference genome; identifying one or more reference sequences that match one or more substring sequences of the compared substring sequences; as well as determining a probabilistic position of the sample read within the reference genome based on one or more identified reference sequences; as well as partitioning the reference genome for reference aligned genome sequencing based at least in part on the probabilistic positions of the sample reads; and Each cell group stores a different partially overlapping reference sequence that is shifted by one reference base relative to the reference sequence stored in the adjacent cell group.

2. The method according to claim 1 further includes storing different partitions of the reference genome in different memories. 3 . The method of claim 1 , further comprising classifying the plurality of sample reads into a plurality of sample groups based on the determined probabilistic positions of the sample reads. The method of claim 3 , further comprising storing each sample group in the plurality of sample groups in a different memory.

5. The method according to claim 3, further comprising: associating different partitions of the reference genome with corresponding sample groups in the plurality of sample groups; as well as The sample reads in each of the plurality of sample groups are aligned by comparing the sample reads to an associated partition of the reference genome. The method of claim 5 , further comprising using different processors to align sample reads in corresponding sample groups in the plurality of sample groups.

7. The method of claim 1, wherein the reference genome is partitioned based on the probabilistic positions of the sample reads before executing at least one of an exact matching algorithm and an approximate matching algorithm for genome sequencing.

8. A method of operating a system for processing a plurality of sample reads for genome sequencing, the method comprising: For each sample read in the plurality of sample reads: Comparing a substring sequence from the sample read to a reference sequence representing a different portion of a reference genome, the comparison comprising: storing the substring sequences one substring sequence at a time in a plurality of cell groups in the system, wherein each cell group also stores a reference sequence that partially overlaps with another reference sequence stored in at least one other cell group; and identifying one or more cell groups 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 position of the sample read within the reference genome based on the one or more identified bin groups; and partitioning the reference genome for reference aligned genome sequencing based at least in part on the determined probabilistic positions of the sample reads; and Each cell group stores a different partially overlapping reference sequence that is shifted by one reference base relative to the reference sequence stored in the adjacent cell group.

9. The method of claim 8, further comprising storing different partitions of the reference genome in different memories of the system. 10 . The method of claim 9 , further comprising classifying the plurality of sample reads into a plurality of sample groups based on the determined probabilistic positions of the sample reads.

11. The method of claim 10, further comprising storing each sample group of the plurality of sample groups in a different memory of the system.

12. The method according to claim 10, further comprising: associating different partitions of the reference genome with corresponding sample groups in the plurality of sample groups; as well as The sample reads in each of the plurality of sample groups are aligned by comparing the sample reads to an associated partition of the reference genome. 13 . The method of claim 12 , further comprising aligning reads of samples in corresponding ones of the plurality of sample groups using different processors of the system.

14. The method of claim 8, wherein the reference genome is partitioned based on the probabilistic positions of the sample reads before executing at least one of an exact matching algorithm and an approximate matching algorithm for genome sequencing.

15. A system for processing a plurality of sample reads for genome sequencing, the system comprising: Multiple unit groups; A circuit, the circuit being configured to: For each sample read in the plurality of sample reads: storing substring sequences from the sample reads one substring sequence at a time in the plurality of bins for comparison with reference sequences representing different portions of a reference genome, wherein each bin in the plurality of bins also stores a reference sequence that partially overlaps with another reference sequence stored in at least one other bin in the plurality of bins; identifying one or more cell groups in the plurality of cell groups in which the stored reference sequence matches the substring sequence stored in the cell group; as well as determining a probabilistic position of the sample read within the reference genome based at least in part on one or more identified bin groups; as well as at least one processor configured to partition the reference genome for reference aligned genome sequencing based on the determined probabilistic positions of the sample reads; and Each cell group stores a different partially overlapping reference sequence that is shifted by one reference base relative to the reference sequence stored in the adjacent cell group.

16. The system of claim 15, further comprising a plurality of memories configured to store different partitions of the reference genome in different ones of the plurality of memories. 17 . The system of claim 15 , wherein the at least one processor is further configured to classify the plurality of sample reads into a plurality of sample groups based on the determined probabilistic positions of the sample reads.

18. The system of claim 17, further comprising a plurality of memories, each of the plurality of memories being configured to store a corresponding sample group of the plurality of sample groups.

19. The system of claim 17, wherein the at least one processor is further configured to: Associating different partitions of the reference genome with corresponding sample groups in the plurality of sample groups; and The sample reads in each of the plurality of sample groups are aligned by comparing the sample reads to an associated partition of the reference genome.

20. The system of claim 19, wherein different ones of the at least one processor align reads of samples in corresponding ones of the plurality of sample groups.

Citation Information

Patent Citations

  • Reference-guided genome sequencing

    US20210292830A1

  • Devices and methods for locating a sample read in a reference genome

    US20210295949A1

  • Reference-guided genomic sequencing

    CN114730617A

  • System and method for aligning genome sequence

    US20140121991A1