Systems and methods for grouping and collapsing sequencing reads

JP7920244B2Active Publication Date: 2026-09-14ILLUMINA INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2024166246
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2018-10-31
Filing Date
2024-09-25
Publication Date
2026-09-14
Estimated Expiration
2039-10-29

AI Technical Summary

Benefits of technology

【0009】 本明細書に記載される主題の1またはこれより多くの実行の詳細は、添付の図面および以下の説明に示される。他の特長、局面、および利点は、説明、図面、および請求項から明らかになる。この要旨も以下の詳細な説明も、本発明の主題の範囲を規定することも限定することも主張しない。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007920244000005
    Figure 0007920244000005
  • Figure 0007920244000006
    Figure 0007920244000006
  • Figure 0007920244000007
    Figure 0007920244000007
Patent Text Reader

Abstract

To provide systems and methods for collapsing sequencing reads and identifying similar sequencing reads.SOLUTION: A method includes: generating a plurality of first identifier subsequences from a first identifier sequence of each nucleotide sequencing read; generating a first signature for the nucleotide sequencing read by applying hashing to the plurality of first identifier subsequences; assigning the nucleotide sequencing read to a first particular bin of a first data structure on the basis of the first signature; and determining a nucleotide sequence for each first particular bin of the first data structure with one or more nucleotide sequencing reads assigned thereto.SELECTED DRAWING: Figure 7
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Cross-reference to Related Applications This application claims priority based on U.S. Provisional Application No. 62 / 753,786 filed on October 31, 2018, the entire content of which is incorporated herein by reference.

[0002] Copyright Notice A portion of the disclosure of this patent document contains material subject to copyright protection. The copyright owner has no objection to the reproduction of this patent document or its disclosure by any person, since this patent document or the disclosure of the patent is included in the patent files and records of the Patent and Trademark Office; otherwise, the copyright owner reserves all copyright rights whatsoever.

[0003] Background field The present disclosure generally relates to the field of processing nucleotide sequencing data, and more particularly to collapsing nucleotide sequencing data using locality-sensitive hashing.

Background Art

[0004] Description of Related Art Read collapsing is a computational method for identifying nucleotide sequencing reads output from a sequencing system as originating from deoxyribonucleic acid (DNA) molecules of the same source. The sequencing system can be a next-generation sequencing (NGS) system, such as a NextSeq instrument from Illumina, Inc. (San Diego, Calif.). Read collapsing can involve using statistical methods to reduce spurious errors found in these read sets. In silico error reduction resulting from read collapsing can be useful for applications in next-generation sequencing (NGS), such as detection of variants with ultra-low allele fractions, and for enabling enhanced variant calling specificity for clinical applications.

Summary of the Invention

[0005] Abstract A system and method for collapsing sequencing reads and identifying similar nucleotide sequences in a plurality of different sequencing reads are disclosed herein. In one embodiment, the system includes a non-temporary memory configured to store a runnable instruction and a first hash data structure for storing nucleotide sequencing reads in a plurality of bins. The system may also include, in order to perform a method encompassing: a hardware processor programmed by the executable instructions above; the step of receiving a plurality of nucleotide sequencing reads (e.g., nucleotide sequencing read 1 of paired-end sequencing reads); with respect to each nucleotide sequencing read: the step of generating a plurality of first identifier subsequences from the first identifier sequence of the nucleotide sequencing read; the step of generating a first signature relating to the nucleotide sequencing read by applying hashing to the plurality of first identifier subsequences; and the step of assigning the nucleotide sequencing read to at least one first specific bin of the first hash data structure based on the first signature; and the step of determining the nucleotide sequence relating to each first specific bin of the first hash data structure together with the assigned one or more nucleotide sequencing reads.

[0006] Another embodiment of the present invention is a computer-based method comprising the steps of: receiving a plurality of nucleotide sequencing reads (e.g., nucleotide sequencing reads); with respect to each nucleotide sequencing read: generating a plurality of first identifier subsequences from the first identifier sequence of the nucleotide sequencing read; generating a first signature relating to the nucleotide sequencing read by applying hashing to the plurality of first identifier subsequences; assigning the nucleotide sequencing read to a first specific bin of a first data structure based on the first signature; and determining the nucleotide sequence relating to each first specific bin of the first data structure together with the assigned one or more nucleotide sequencing reads.

[0007] Another embodiment includes a system and method for identifying similar nucleotide sequencing reads. In one example, the system includes: non-temporary memory configured to store: executable instructions, a first hash data structure and a second hash data structure for storing multiple pairs of sequencing reads; and a hardware processor programmed by the executable instructions to perform a method comprising: receiving pairs of first query nucleotide sequencing reads and second query nucleotide sequencing reads; and generating multiple first query identifier subsequences and multiple second query identifier subsequences from the first query nucleotide sequencing reads and the second query nucleotide sequencing reads, respectively. The first and second query nucleotide sequencing reads may be reads of pairs of paired-end sequencing reads. The above method comprises the steps of generating a first query signature and a second query signature for the first nucleotide sequencing read and the second nucleotide sequencing read by applying hashing to the plurality of first query identifier subsequences and the plurality of second query identifier subsequences, respectively; and generating one or more first stored pairs and one or more second stored pairs from the first hash data structure and the second hash data structure, respectively, the first query signature and the second A step of retrieving using a query signature, wherein each of the first pair and the second pair comprises a first stored nucleotide sequencing read and a second stored nucleotide sequencing read; and a step of determining each pair of the first stored nucleotide sequencing read and the second stored nucleotide sequencing read present in both the first stored pair and the second stored pair as a first sequencing read and a second sequencing read similar to the first query sequencing read and the second query sequencing read, respectively.

[0008] Another embodiment involves the steps of: receiving a pair of a first query nucleotide sequencing read and a second query nucleotide sequencing read; generating a plurality of first query identifier subsequences and a plurality of second query identifier subsequences from the first query nucleotide sequencing read and the second query nucleotide sequencing read, respectively; generating a first query signature and a second query signature relating to the first nucleotide sequencing read and the second nucleotide sequencing read, respectively; and A computer-based method comprising the steps of: generating by applying hashing to a ripple identifier subsequence; retrieving one or more first stored pairs from a first hash data structure; and storing a plurality of pairs of sequencing reads using the first query signature and the second query signature, wherein each of the first pairs includes a first stored nucleotide sequencing read and a second stored nucleotide sequencing read similar to the first query nucleotide sequencing read and the second query nucleotide sequencing read.

[0009] Details of one or more executions of the subject matter described herein are shown in the accompanying drawings and the following description. Other features, aspects, and advantages will become apparent from the description, drawings, and claims. Neither this summary nor the following detailed description claims to define or limit the scope of the subject matter of the invention. [Brief explanation of the drawing]

[0010] [Figure 1] Figure 1 is a schematic diagram of sequencing read collapse. [Figure 2]Figures 2A–2D show schematic diagrams of read grouping and collapsing based on locality-sensitive hashing. This schematic diagram includes shingling (Figure 2A), minimal hashing (Figure 2B), locality-sensitive hashing (LSH) insertion (Figure 2C), and LSH querying (Figure 2D). Given query sequencing reads (not shown), a minimum hash or signature 232 of the query sequencing read may be generated, and the minimum hash 232 may be divided into two chucks 232a, 232b used to query hash tables 1 and 2 (224a, 224b). The query sequencing reads are similar to, but not identical to, the sequence ACTGGAC 204 stored in hash tables 1 and 2 (224a, 224b). The minimum hash 232 of the above query sequencing read is generated in a manner similar to how the minimum hash 212 is generated for the sequencing read ACTGGAC(204) illustrated in Figures 2A and 2B. Hash table 1(224a) does not contain one of the chucks 232a as the key 212a of the existing bin 228a, so no sequencing read similar to the above query sequencing read is found in hash table 1(224a). Hash table 2(224b) contains one of the chucks 232b as the key 212b of the existing bin 228b, so the above query sequencing read is similar to the sequencing read 204 associated with the existing bin 228b. The sequence ACTGGAC(204) to be stored in the existing bin 228b is then returned as a sequencing read similar to the above query sequencing read. [Figure 3] Figure 3 shows a schematic diagram for generating a virtual universal molecular index (vUMI) for read 1 and read 2 of paired-end sequencing reads. [Figure 4] Figures 4A and 4B show schematic diagrams illustrating the generation of k-mars (Figure 4A) and tiled k-mars (Figure 4B) from a virtual UMI. [Figure 5]Figure 5 shows a flowchart for binning sequencing reads via their sequences and their hashes. Each physical UMI barcode may be selected from one of 120 possible physical UMI barcodes, resulting in 120 × 120 = 14,400 combinations of physical UMI barcodes for each pair of sequencing reads 1 and read 2. In the flowchart, each pair of sequencing reads 1 and read 2 may be assigned to one of the 14,400 UMI bins based on the combination of physical UMI barcodes of the pair. The read collapsing method of this disclosure may be applied to the sequencing reads in each UMI bin. [Figure 6] Figures 6A–6F are illustrative plots showing that read collapsing with locally sensitive hashing and alignment-based read collapsing have similar performance. [Figure 7] Figure 7 is a flowchart illustrating an exemplary method of read collapse using locally sensitive hashing. [Figure 8] Figure 8 is a flowchart illustrating an exemplary method for identifying similar reads using locality-sensitive hashing. [Figure 9] Figure 9 is a block diagram of an illustrative computing system configured to perform read collapse and querying using locality-sensitive hashing. [Modes for carrying out the invention]

[0011] Detailed explanation The following detailed description will refer to the accompanying drawings, which form part thereof. In the drawings, similar symbols will typically identify similar components unless the context otherwise specifies. The detailed description, drawings, and illustrative embodiments described in the claims are not intended to be limiting. Other embodiments may be used, and other modifications may be made without departing from the spirit or scope of the subject matter shown herein. It will be readily apparent that the aspects of this disclosure, as generally described herein and illustrated in the drawings, can be arranged, substituted, combined, separated, and designed in a wide variety of different configurations. All of these configurations are expressly contemplated herein and constitute part of the disclosure herein.

[0012] Overview Read collapsing is a computational method that identifies nucleotide sequencing reads derived from deoxyribonucleic acid (DNA) molecules of the same source and then uses statistical methods to reduce the spurious errors found in these read sets. Referring to Figure 1, given all the duplicate reads 104+r1, 104+r2, 104-r1, and 104-r2 of the same DNA molecule 108 having a positive strand 108a and a negative strand 108b, read collapsing may involve the step of grouping those reads 104+r1, 104+r2, 104-r1, and 104-r2 together. Read collapsing may involve the step of determining the nucleotide sequence of a nucleotide chain (e.g., the sequence of the positive strand 108a of DNA molecule 108) using statistical voting to reduce spurious errors, for example, using simple collapsing. Read collapsing may include a step of predicting the sequence of the original DNA molecule 108 with high fidelity, for example, a step of determining the nucleotide sequence of the DNA molecule 108 from both the sequence of the positive strand 108a and the sequence of the negative strand 108b using double collapsing. The systems and methods disclosed herein may utilize locality-sensitive hashing (LSH) and virtual identifier sequences (vID sequences) for read collapsing.

[0013] Read collapsing can produce high-quality reads. Read collapsing may require that a sample is sequenced along with identifier sequences (ID sequences) 112a, 112b', 112a', 112b. Such identifier sequences are also referred to herein as "physical identifier sequences" (pID sequences). These identifier sequences may be universal molecular index (UMI) barcodes. Such identifier sequences 112a, 112b', 112a', 112b enable increased resolution when distinguishing reads and molecules that may otherwise appear to be very similar, although read collapsing may be performed without such identifier sequences under certain circumstances. Read collapsing can result in in-silica error reduction. Such error reduction can be useful for many applications within next-generation sequencing (NGS).

[0014] One application of this process is the detection of variants that are only present in ultra-low allele fractions (e.g., in circulating tumor DNA (ctDNA)). Another application is enhanced variant calling specificity for clinical applications. Since read collapsing effectively combines all observations of DNA fragment duplicates (e.g., PCR replicates of a DNA fragment) into a single representative, read collapsing has the advantage of significantly reducing the amount of data that needs to be processed downstream. Removing duplicate observations, or reads, can result in a 10-fold or greater reduction in data size.

[0015] Naive read collapsing methods can include exhaustive pairwise sequence comparison, which has a runtime O(n 2 )). O(n 2 ) is intractable for NGS data. For example, approximately 600 million read pairs (6×10 8 ) can be generated from a sample. Exhaustive pairwise sequence comparison can require 3.6×10 17 comparisons. Even at a rate of one comparison per nanosecond, 3.6×10 8It takes seconds (which is approximately equivalent to 4,167 days) to compute the pairwise comparison described above. Even with 56 processing cores, it still takes more than two months to analyze a single sample.

[0016] Conventional read collapsing methods can identify groups of duplicate reads using a combination of alignment position and UMI barcode information. One negative aspect of these read collapsing methods is that they require already aligned and sorted input reads. There are challenges associated with pre-processing aligned and swordled reads before read collapsing. Firstly, conventional read processing requires O(n × log(n)) pre-processing. Aligning n reads may require O(n) runtime. Sort n reads requires O(n × log(n)) runtime. Pre-processing of aligning and sorting n reads requires O(n × log(n)) runtime.

[0017] The entire process of collapsing reads using conventional methods has a lower-bound runtime of O(n×log(n)). This superlinear function means that the runtime increases faster than the input size. As larger volumes of raw sequencing data are generated, the computational cost associated with conventional read collapsing increases faster than the amount of sequencing data being processed. Furthermore, conventional read collapsing is constrained to well-characterized references. When read collapsing is based on nucleotide alignment, its application is limited to uses where high-quality reference sequences are available. This is because such reference sequences are required to enable good alignment and subsequent accurate collapsing. For example, reasonably good alignment may not be available for structural variants, repeat expansions, and repetitive genomic regions. This dependence on alignment makes it difficult to use read collapsing techniques (and UMI techniques) on novel or unknown species, limiting the generality of the error reduction techniques enabled by UMI. Read collapsing can have a great impact in these scenarios, since no high-quality "reference" that helps identify sequencing errors exists there.

[0018] Systems and methods for read collapsing using locality-sensitive hashing (LSH) are disclosed herein. Conventional read collapsing approaches required alignment information, because no good alternative existed for subgrouping reads that already shared a UMI barcode. The LSH-based read collapsing method as disclosed herein addresses this drawback, eliminates the dependence of collapsing on having an alignment, and enables great benefits in terms of algorithmic complexity, as well as general application of read collapsing and related techniques.

[0019] In one embodiment, the LSH-based read collapsing method has no runtime of O(n × log(n)) and does not require well-characterized references. For example, the read collapsing method does not require any alignment information, much less sorted alignments. In one run, the method identifies groups of duplicate reads present in various nucleotide fragments by relying on a physical identifier sequence (pID sequence) (e.g., a physical UMI barcode (pUMI barcode)) and a virtual identifier sequence (vID sequence) (e.g., a virtual UMI barcode (vUMI barcode)). The physical identifier sequence is also referred to herein as an "identifier sequence" (ID sequence). The physical UMI barcode is also referred to herein as a "UMI barcode". A virtual identifier sequence may be a subsequence of a read that acts as a "virtual" identifier sequence to identify a group of duplicate reads. A vUMI barcode may be a subsequence of a read that acts as a "virtual" barcode to identify a group of duplicate reads. A physical identifier sequence or physical UMI barcode may be an identifier sequence or barcode that is appended to a nucleotide fragment during sequencing library preparation.

[0020] In one embodiment, the method groups similar reads together without requiring any reference sequence or thorough sequence comparison. The method may include a step of determining naive grouping of reads into bins defined by a UMI barcode (e.g., physical UMI, virtual UMI, or a combination thereof). The method combines a virtual UMI with a locality-sensitive hash. The method allows reads with similar sequences to be grouped together without their alignment information, and the method decouples the read collapsing process from alignment constraints. The method may include a step of determining similar sequences, which includes checking other sequencing reads in its bin.

[0021] The above method can be used to collapse reads from any sample (e.g., DNA or RNA), regardless of the organism from which the sample originates. Furthermore, since hashing is an O(1) constant-time operation and must be performed for a fixed number of hours for each of the n reads, the above method enables read collapse to be performed at an O(n) runtime. For example, hashing must be performed once, twice, three times, or more, for each of the n reads. Such a read collapse runtime reduces the processing time required for the increasingly large sets of data generated by NGS. The O(n) runtime allows for a significant reduction in the runtime complexity of secondary analysis and enables the flexible application of read collapse to any sample.

[0022] In one embodiment, a DNA sequencing instrument may perform the LSH-based read collapsing method disclosed herein. For example, the method may be performed as an on-instrument method for in silico error reduction because it does not require a reference sequence for read collapsing. The method can achieve a significantly reduced error rate for all sequencing reads by leveraging the NGS duplication rate to reduce errors. The method can also significantly reduce the amount of sequencing data that the user must process, thus increasing the accessibility of genomic analysis. The method may be used as an on-sequencer technique to output fewer high-quality reads for the customer and reduce the complexity of downstream analysis.

[0023] In one embodiment, the sequencing reads are either unrelated to the UMI barcode or generated using the UMI barcode. For example, locality-sensitive hashing may be performed on a virtual UMI to group nucleotide reads. As another example, a “tiered” virtual UMI strategy may be used to mimic the binning functionality provided by a physical UMI barcode. The above method may generate two types of virtual UMIs (one used as a mimicry of a physical UMI and the other as a virtual UMI).

[0024] Duplicate marking is a bioinformatics method for reducing bias introduced by PCR. Disclosed herein are systems and methods for grouping similar read sequences together and creating duplicates using localized sensitive hashing.

[0025] Lead collapsing Disclosed herein are systems and methods for read collapsing. In one embodiment, the method uses a virtual identifier (vID) sequence (e.g., a virtual universal molecular index (vUMI)) in conjunction with a locality-sensitive hash to enable grouping of similar reads by reference without performing thorough pairwise comparisons. The virtual identifier sequence (e.g., virtual UMI) of a sequencing read refers to any substring or subsequence within the sequencing read itself, including potentially discontinuous substrings. The virtual identifier sequence is distinct from the physical identifier (pID) sequence. The physical identifier sequence (e.g., physical UMI (pUMI)) refers to an identifier sequence or UMI barcode appended during sequencing library preparation.

[0026] Locality-sensitive hashing (LSH) is a computational method that places "similar" data into the same computational "bin" without performing thorough pairwise comparisons. Data similarity can be calculated using a metric such as Levenshtein distance, Hamming distance, or Jackard distance. We refer to the sequence similarity of reads. The above LSH function can "hash" the virtual UMI associated with each read, and use the result to place each read in the bin on the side of reads with similar virtual UMIs. LSH as applied to sequencing reads as disclosed herein allows sequencing reads with virtual UMIs containing errors to be grouped together based on the virtual UMI. Sequencing techniques often do not produce error-free sequencing reads. Therefore, being able to bin and quickly find similar sequences that may have small variations together is important for performing the read grouping necessary for read collapse. Since small mutations in sequencing reads are often unpredictable, general methods for grouping similar sequencing reads may be more useful than specific methods for grouping similar sequencing reads that assume a particular mutation pattern. In some executions, the error-tolerant properties of the methods disclosed herein begin to act on approximately 20% of the sequencing reads. If left uncorrected, these sequencing reads can significantly impact collapsing accuracy and subsequently appear as excessive false positives in variant calls.

[0027] In one embodiment, similar sequencing reads can be identified based on virtual UMIs generated from sequencing reads by sorting the virtual UMIs, for example, lexicographically. A read collapsing method based on sorting virtual UMIs does not need to account for variations in the virtual UMIs and may have a runtime complexity of O(n × log(n)). In another embodiment, similar sequencing reads can be identified using naive criterion hashing along with virtual UMIs. A read collapsing method based on naive criterion hashing may have similar performance to an LSH-based read collapsing method. Such a read collapsing method does not have the property that errors do not affect the whole. In one embodiment, similar sequencing reads can be identified by clustering the UMIs associated with the sequencing reads. A clustering-based read collapsing method can handle slightly mismatched virtual UMI barcodes, but has a runtime complexity of O(n 2 This requires pairwise comparison, which is significantly worse than the O(n × log(n)) runtime of conventional read collapsing methods and the O(n) runtime of LSH-based read collapsing methods.

[0028] LSH is a probabilistic data process. In LSH, the probability of placing similar read data in the same bin is high. The probability of similar data not being in the same bin is small, but not zero. The likelihood of similar data not being in the same bin, or different data being in the same bin, may be small. In one embodiment, LSH is designed to minimize the probability of placing similar read data in the same bin. In one embodiment, the above LSH-based read collapsing method may be configured to perform maximum recall and alignment-based checks on each item (typically fewer than 5 items) in each bin.

[0029] Locally sensitive hash applied to an array Locality-sensitive hashing (LSH) involves passing each data fragment (e.g., a virtual UMI of the data) through a "hash" function, and the result is used to place that data into a bin. With LSH, similar data will be placed in the same (or nearby) bin, allowing for very fast queries on similar data. LSH-based read collapsing may include roofing, minimal hashing, and locality-sensitive hashing. Roofing involves organizing the input data into overlapping sets or shingles of length k. Minimizing hashing involves passing each "shingle" through a set of hash functions to generate a fingerprint or signature of the data. Locality-sensitive hashing involves using the above fingerprint to place the data into "bins" such that similar data share a similar binning scheme. For example, a sequencing decision read may be organized into a subsequence of length k of the sequencing decision read. Each subsequence may pass through a hash function to generate a signature of the sequencing decision read. The above signature may be used to place the above sequencing reads into one or more bins such that similar sequencing reads share similar or identical signatures.

[0030] Figures 2A–2D show schematic diagrams of locally sensitive hash-based read grouping and collapsing, including roof-to-roof aligning (Figure 2A), minimal hashing (Figure 2B), localized sensitive hash (LSH) insertion (Figure 2C), and LSH querying (Figure 2D). Roof-to-roof aligning involves moving a k-base sliding window in increments of m base pairs, thus organizing a virtual UMI204 into k-mar "singles" 208a–208d (Figure 2A). For example, a 4-base sliding window can be moved in increments of 1 base pair to organize a virtual UMI204 into a 4-mar single. Figure 2A shows four singles of the sequence. The first single is GGAC (208a), the second single is TGGA (208b), the third single is CTGG (208c), and the fourth single is ACTG (208d).

[0031] Minimally hashing involves generating a hash "signature" 212 for a single k marset by passing the set through several hash functions 216 and employing the minhash. Figure 2B illustrates that a set of four singles, GGAC, TGGA, CTGG, and ACTG, can be passed through eight hash functions 216 to generate eight output elements 220a to 220d for each single, respectively. The number of hash functions can be 8, 16, 32, 64, 128, 256, 512, 1024, or more. The minimum number of corresponding elements in the hash output 220a to 220d can be used to calculate the minimum minhash 212. The Jackard distance of the minhash is an approximation of the true Jackard distance. The more hash functions used, the better the approximation.

[0032] Referring here to Figure 2C, the sequencing read 204 can be inserted into hash tables 224a and 224b based on the minimum hash 212, or subsequences 212a and 212b of the minimum hash 212 calculated from the sequencing read 204. Figure 2C illustrates that the sequencing read 204 can be inserted into hash tables 224a and 224b based on subsequences 212a and 212b of the minimum hash 212. The LSH insertion of the sequencing read 204 consumes the hash "signature" 212, which is then divided into chunks or subsequences 212a and 212b. These chunks 212a and 212b are then used as keys in hash tables 224a and 224b, in particular in bins 228a and 228b of hash tables 224a and 224b. This partitioning and hashing scheme is tunable with respect to the "wideness" of the bins and to higher-order recall or higher-order singularity. As shown in Figure 2C, the same sequencing read 204 is placed in two different bins in two different hash tables 224a, 224b. Two sequencing reads can be considered similar insofar as they share or are stored in one or more bins.

[0033] Figure 2D illustrates that a query sequencing read is determined using LSH to determine whether it is similar to or identical to a sequencing read stored in a hash table. Given a query sequencing read, the system passes the query sequencing read through minimal hashing and queries all hash tables for the minimum hash. The signature 232 of the query sequence may be split into two chunks 232a and 232b, which are queried against all hash tables 224a and 224b. Since hash table 2(224b) contains one of the chunks 232b as the key 212b of an existing bin 228b, the query sequence is similar to or identical to the sequencing read 204 associated with (e.g., stored in) an existing bin 228b.

[0034] Locally sensitive hash applied to an array A virtual UMI is a subsequence of the sequencing read itself. The virtual UMI can extend to the entire nucleotide read and may be a contiguous or non-contiguous subsequence. For example, the virtual UMI of a sequencing read may be 25 base pairs (bps) from the 5' end of the sequencing read. Figure 3 shows a schematic diagram for generating virtual universal molecular indexes (vUMIs) for paired-end sequencing reads read 1 (R1) and read 2 (R2). Paired-end sequencing reads 1 304r1 and 2 304r2, corresponding to the plus or minus strand of the sequenced DNA fragment 308, can be processed to generate virtual UMIs 312r1 and 312r2.

[0035] Figures 4A and 4B show schematic diagrams for generating k-mars (Figure 4A) and tiled k-mars (Figure 4B) from a virtual UMI. The Jackard similarity of two sets of k-mars is the number of k-mars that both sets contain. The Jackard similarity of two identical virtual UMIs can be 7 / 7 if seven k-mars 412 are generated with respect to the above virtual UMI. As illustrated in Figure 4A, the Jackard similarity of identical virtual UMI 404i except for insertions in virtual UMIs 404 and 408 can be 2 / 12 because all k-mars 412a or 3' of the above insertion that may contain insertion 408 are affected. The use of overlapping k-mars across virtual UMIs allows for better tolerance of insertions and deletions. As illustrated in Figure 4B, using the same insertions illustrated in Figure 4A, the Jackard similarity of the same virtual UMI 404i, excluding virtual UMI 404 and insertion 408, is still high at 14 / 18 when 16 k-mars 412 are generated with respect to virtual UMI 404, 404i. The above Jackard similarity remains extremely high because only k-mar 412a containing insertion 408 is affected by insertion 408. The greater the similarity after arranging them in a roof-like fashion, the more similar the MinHash signatures become, which then help to add altered sequences in the same LSH bin.

[0036] In one embodiment, LSH itself does not directly store or index groups of reads to be collapsed. Rather, LSH assists in finding similar reads for a given query read. Once similar reads are found, they are stored in a conventional hash table where the key is the "centroid" read that initially started the group. In other words, the LSH data structure above contains the same "keys" as the conventional hash table described above (and the two are updated in sync). Here, these "keys" are reads that act as "group anchors" to which other reads are assigned if they are similar. LSH enables incoming reads to quickly find the above keys / anchors that may match. As a result, thorough checking or comparison is not required. The actual group or sequence determination reads may be stored in a conventional hash table.

[0037] Alignment Score Check Alignment score checks may be performed after checking LSH bins for similar sequences. The above alignment score check ensures that dissimilar virtual UMIs are not considered disequivalent or similar. A minimum alignment score for virtual UMIs may be required for virtual UMIs to be considered equal. When performing alignment checks for LSH matches, the best match may be used to determine that the alignment score exceeds a threshold (i.e., with the highest alignment score). More mismatches (e.g., single nucleotide variants (SNVs) as well as insertions and deletions (indels)) reduce the alignment score. "Sliding" the alignment reduces the number of matches, which in turn reduces the number of acceptable mismatches. In one embodiment, a whole alignment of virtual UMIs may be performed, which may be costly to calculate.

[0038] Double-bin LSH structure for vUMI matching The two virtual UMIs from each read pair are either "independent" barcodes or independent measures of identity for the same DNA fragment. False positives can be reduced by maintaining two separate LSH data structures for each virtual UMI. The chance of unintended mismatches is lower because fewer MinHash signatures are placed in each bin. By cross-referencing the results of the two independent queries, most remaining false positive hits can be eliminated without losing accurate hits.

[0039] A separate LSH data structure can be used for a virtual UMI on read 1 and / or read 2. The LSH can be configured for very high callbacks with suboptimal singularity. To improve singularity, an intersection between two orthogonal queries can be employed to improve singularity without a significant impact on sensitivity. Separating the virtual UMI from read 1 and read 2 also improves singularity in more repeatable regions.

[0040] In one embodiment, there may be 64 hashes for each k-mer. Read 1 has a minHash signature of 64 elements, and Read 2 has a minHash signature of 64 elements. The pair of Read 1 and Read 2 can be stored in two hash tables of a dual-bin LSH structure, based on the minHash signatures of Read 1 and Read 2, respectively. The minHash signature of Read 1 can be split into subsequences, and as a result, the pair of Read 1 and Read 2 can be stored in multiple bins of one hash table and multiple bins of the other hash table. The number of hashes can differ depending on the execution (e.g., 8, 64, 256, 1024, and more). More hashes can be used for more accurate data structure performance at the expense of a slightly slower runtime, and fewer hashes can be used for slightly less accurate data structure performance at the expense of a faster runtime. Every k-mer is hashed the same number of times, whether it's 64 times, 8 times, or n times, to ensure that the minhash signature is of a consistent size.

[0041] In one embodiment, read 1 and read 2 are considered atomic and inseparable units, each atomic unit referenced by both a virtual UMI MinHash signature from read 1 and a virtual UMI MinHash signature from read 2 (vUMI 1 and vUMI 2). Within each hash table, the MinHash signature can be divided into parts such that the atomic read 1 / read 2 pair is stored in a number of bins, once for each chuck of the signature.

[0042] An example pseudocode for a double-bin LSH structure is shown below.

number

[0043] An exemplary pseudocode demonstrating the use of a double-bin LSH structure in LSH is shown below. By inserting a pair of virtual UMIs that are not stored in the double-bin LSH structure, similar virtual UMIs can be found by future queries. Essentially, a new "seed" is created for families that can be matched next time.

number

[0044] Double-bin LSH structure for vUMI matching Figure 5 shows a flowchart of the binning of sequencing reads through their sequences and their hashes. The binning process illustrated in Figure 5 is parallelizable, which can result in linear acceleration with thousands of threads. The illustrated binning process requires intermediate caching with minimal memory usage. Each physical UMI barcode can be selected from one of 120 possible physical UMI barcodes, resulting in 120 × 120 = 14,400 combinations of physical UMI barcodes, and each pair of sequencing reads 1 and 2 can have one of these 14,400 combinations of physical UMI barcodes. LSH can be applied in parallel to each pair of physical UMIs and the associated sequencing reads.

[0045] Simple collapsing refers to the collapse of all sequences that share the same physical + virtual UMI pair formation in the same order. Since these sequences have their barcodes in the same order, this indicates that these sequences originated not only from the same DNA molecule but also from the same strand of that DNA molecule. In simple collapsing, every read in a group / family has the same first UMI, the same second UMI, the same first virtual UMI, and the same second virtual UMI. Many reads may satisfy this condition, in which case they are all considered to be reads originating from the same strand of the same molecule.

[0046] Double collapsing can occur after simple collapsing. In double collapsing, given a collapsed read pair, an attempt is made to find another simple molecule with the same physical and virtual UMI pair formation in reverse order – this is analogous to finding the opposite strand of that same DNA molecule. If such a double match is found, double collapsing occurs.

[0047] Since double collapsing follows simple collapsing, all chain-specific duplications are removed by simple collapsing. In double collapsing, already collapsed reads from the opposite chain originating from the same molecule are found. For example, given a collapsed read pair with a first UMI x, a second UMI y, a first virtual UMI a, and a second virtual UMI b, double collapsing would look for the above opposite chain read pair whose first UMI is y, its second UMI is x, its first virtual UMI is b, and its second virtual UMI is a. The reverse complement of the above opposite chain read pair may not be necessary due to the semantics of how reads are reported in output files such as "fastq" files. This two-layered single-strand, then cross-strand collapse enables several advanced variant calling techniques in downstream analysis.

[0048] result The read collapsing results between the conventional alignment-based method and the LSH / virtual UMI-based method described above were found to be comparable in both respects, both at the level of alignment summary metrics and with respect to variant calling (e.g., structural variant calling and small variant calling). Other items in the bin may be checked to find similar nucleotide sequences. The virtual UMI-based method disclosed herein can therefore be used to collapse sequencing reads for variant calling.

[0049] Figures 6A–6F are illustrative plots showing that read collapsing with localized sensitive hashing and alignment-based read collapsing have similar performance on NextSeq® (Illumina, Inc. (San Diego, CA)) performed on formalin-fixed paraffin-embedded (FFPE) samples. Figure 6A shows very similar target region applicability rates generated by alignment-based read collapsing and LSH-based read collapsing (also referred herein as “fastq-based collapsing” or “fastq read collapsing”). Figure 6B shows noise AF to determine the percentage of genomic loci, which has non-reference evidence and is an indicator of small variant calling performance. LSH-based read collapsing had similar error detection and correction capabilities to alignment collapsing. Figure 6C shows the percentage of reads with non-linear alignment, which is an indicator of SV calling performance. LSH-based read collapsing generated fewer (~7%) chimeric reads. The fewer chimeric reads generated suggest that LSH-based read collapsing can generalize more to noisy reads and therefore produce cleaner alignments. Figure 6D shows tumor mutation burden (TMB), which determines the number of mutations per megabase. This figure shows that small variant calls matched very well. LSH-based read collapsing has no problem separating mutation-carrying reads from "wild-type" reads, even without genomic guidance. Figure 6E shows microsatellite instability, which determines mutations in highly repetitive regions of the genome. Highly repetitive regions are difficult to handle due to their low sequence complexity / specificity. LSH-based read collapsing worked even in such low-complexity regions. Figure 6F shows that LSH-based read collapsing worked well even in regions with variable copy numbers.Table 1 shows that fusion calls exhibited a unique characteristic where they dramatically improved with LSH-based read collapsing, as predicted in these samples. The above fusion call results suggest improved handling of nonlinear reads.

[0050] Table 2 shows the improvement in fusion call specificity, NovaSeq TM (Illumina, Inc.) This shows that it does not negatively affect run recall. Table 1. False positives in fusion calls [Table 1] Table 2. Fusion Call Recall [Table 2]

[0051] Overall, these data indicate that LSH-based read collapsing conveniently rivals alignment-based collapsing and matches or surpasses existing performance in summary-level metrics and variant calls.

[0052] Lead collapsing method Figure 7 is a flowchart illustrating an exemplary method 700 of read collapsing using locality-sensitive hashing. Method 700 may be embedded in a set of executable program instructions stored in a computer-readable medium (e.g., one or more disk drives) of a computing system. For example, computing system 900 shown in Figure 9 and described in more detail below may execute a set of executable program instructions to perform Method 700. When Method 700 is initiated, the executable program instructions may be loaded into memory (e.g., RAM) and executed by one or more processors of computing system 900. Although Method 700 is described with respect to computing system 900 shown in Figure 9, the description is illustrative and not intended to be limiting. In some embodiments, Method 700 or parts thereof may be performed in series or in parallel by multiple computing systems. Computing system 900 may include a first hash data structure (e.g., a hash table) for sorting nucleotide sequencing reads in multiple bins.

[0053] After Method 700 begins in block 704, Method 700 proceeds to block 708, where the computing system receives a plurality of first nucleotide sequencing reads. The plurality of first nucleotide sequencing reads may be associated with the same physical identifier sequence. The plurality of first nucleotide sequencing reads may be associated with any physical identifier sequence.

[0054] Method 700 proceeds from block 708 to block 712, where the computing system generates a plurality of first identifier subsequences from the first identifier sequence of each first nucleotide sequencing read. The generation of the plurality of first identifier subsequences may include generating a plurality of k-mers from the first identifier sequence of the sequencing read. The subsequences may include nucleotide insertions, nucleotide deletions, nucleotide substitutions, or combinations thereof. Two consecutive first identifier subsequences may overlap. For example, the two consecutive first identifier subsequences may overlap by k-1 nucleotides. For example, the plurality of first identifier subsequences may include a plurality of 4-mers, where the first identifier sequence contains approximately 25 nucleotides. The first identifier sequence may be a subsequence of the sequencing read 1. The subsequences may be consecutive subsequences of the sequencing read 1. The subsequences may be discontinuous subsequences of the sequencing read 1.

[0055] After generating a first identifier subsequence in block 712, method 700 proceeds to block 716, where the computing system generates a first signature relating to a first nucleotide sequencing read by applying hashing to the plurality of first identifier subsequences. The first signature may match the key of a first specific bin in the first hash data structure. The first signature and the key of a first specific bin in the first hash data structure may be identical.

[0056] The step of generating the first signature described above may include the step of determining a plurality of hashes relating to each first identifier subsequence. The step of generating the first signature described above may include the step of determining each first element of the first signature described above from the corresponding hashes of the plurality of first identifier subsequences. Each first element of the first signature described above may be the minimum of the corresponding hashes of the plurality of first identifier subsequences. Each first element of the first signature described above may be the minimum, average, middle, or maximum of the corresponding hashes of the plurality of first identifier subsequences.

[0057] The above method proceeds from block 716 to block 720, where the computing system assigns the first nucleotide sequencing read to at least one first specific bin of the first hash data structure based on the first signature. In one embodiment, the step of assigning the first nucleotide sequencing read includes the steps of determining a plurality of subsequences of the first signature from the first signature of the first nucleotide sequencing read; and assigning the first nucleotide sequencing read to a first specific bin of each of the plurality of first hash data structures based on the subsequences of the first signature. In another embodiment, the step of assigning the first nucleotide sequencing read includes the steps of determining a plurality of subsequences of the first signature from the first signature of the first nucleotide sequencing read; and assigning the first nucleotide sequencing read to a plurality of first specific bins of the first hash data structure based on the plurality of subsequences of the first signature. Method 700 terminates at block 728.

[0058] In one example, the first specific bin is a bin present in the first hash data structure, where the alignment scores of the signatures of the first nucleotide sequencing read and another first nucleotide sequencing read assigned to the first specific bin of the first hash data structure are above the alignment score threshold. In another example, the first specific bin is a bin present in the first hash data structure, where the highest alignment score of the signatures of the first nucleotide sequencing read and any first nucleotide sequencing read assigned to the first specific bin of the first hash data structure is above the alignment score threshold. In yet another example, the first specific bin is a new bin in the first hash data structure, where the alignment scores of the signatures of the first nucleotide sequencing read and any first nucleotide sequencing read assigned to any bin present in the first hash data structure are below the alignment score threshold.

[0059] After the first nucleotide sequencing reads are assigned to the first specific bin in block 720, method 700 proceeds to block 724, where the computing system determines the nucleotide sequence for each first specific bin of the first hash data structure, together with the assigned one or more first nucleotide sequencing reads. The step of determining the nucleotide sequence may include the step of determining a consensus sequence for the one or more first nucleotide sequencing reads assigned to the first specific bin. The step of determining the consensus sequence may include determining the most frequent first nucleotide sequencing read assigned to the first specific bin as the consensus sequence for the first specific bin. The consensus sequence may contain the most frequent nucleotide base with respect to each corresponding position of the first nucleotide sequencing reads assigned to the first specific bin. The step of determining the consensus sequence may include the step of determining the first nucleotide sequencing read having the highest quality score assigned to the first specific bin as the consensus sequence for the first specific bin. The highest quality score may be determined based on the quality score of each base on the first nucleotide sequencing read having the highest quality score. The step of determining the nucleotide sequence may include the step of selecting the sequences of one or more first nucleotide sequencing reads assigned to the first specific bin as the representative sequence for the first specific bin. The step of determining the nucleotide sequence may include the step of determining that the alignment scores of two of the one or more first nucleotide sequencing reads assigned to the first specific bin exceed an alignment score threshold.

[0060] Paired-end sequence determination reads Each first nucleotide sequencing read may be associated with a second nucleotide sequencing read. The first and second nucleotide sequencing reads may form a paired-end nucleotide sequencing read. The computing system may determine a plurality of second identifier subsequences from the second identifier sequence of the second nucleotide sequencing read; and determine a second signature of the second nucleotide sequencing read by applying hashing to the plurality of second identifier subsequences.

[0061] The step of assigning the first nucleotide sequencing read may vary depending on the execution. For example, the step of assigning the first nucleotide sequencing read may include assigning a pair of sequencing reads, including the first nucleotide sequencing read and the second nucleotide sequencing read, to a first specific bin of the first hash data structure based on the first signature. As another example, the step of assigning the first nucleotide sequencing read may include assigning the second nucleotide sequencing read to a second specific bin of the first hash data structure based on the second signature. As yet another example, the step of assigning the first nucleotide sequencing read may include assigning a pair of sequencing reads, including the first nucleotide sequencing read and the second nucleotide sequencing read, to a second specific bin of the second hash data structure based on the second signature.

[0062] As an example, the step of assigning the first nucleotide sequencing read includes assigning the pair of sequencing reads, including the first nucleotide sequencing read, to a first specific bin of the first hash data structure and a second specific bin of the second data structure, respectively, based on a plurality of subsequences of the first signature of the first nucleotide sequencing read and a plurality of subsequences of the second signature of the second nucleotide sequencing read. The computing system may store the first data structure and the second data structure, respectively, to store the bin keys of the first hash data structure and the bin keys of the second hash data structure. The step of assigning the above pair of sequencing reads may include the steps of determining that the first signature and the second signature are to be stored in the first data structure and the second data structure; and assigning the above pair of sequencing reads to a first specific bin of the first hash data structure and a second specific bin of the second hash data structure, respectively, using the first stored key and the second stored key. The alignment score of the pair of sequencing reads, including the first sequencing read associated with the first stored key and the second sequencing read associated with the second stored key, exceeds the alignment score threshold.

[0063] The steps of assigning the above pair of sequence determination reads include: determining one or more first keys of the first hash data structure stored in the first data structure and associated with the first signature; determining one or more second keys of the second hash data structure stored in the second data structure and associated with the second signature; and assigning a pair including a first sequence determination read associated with a first stored key and a second sequence determination read associated with a second stored key to any first sequence determination read associated with a first stored key. The process may include the steps of determining, together with the pair of sequence determination reads, that any pair including a key and a second sequence determination read associated with an arbitrary second stored key has the best alignment score; and assigning the pair of sequence determination reads to a first specific bin of the first hash data structure and a second specific bin of the second hash data structure, respectively, together with the best alignment score, using the first stored key and the second stored key associated with the pair of the first and second sequence determination reads. The first sequence determination read associated with the first stored key may have the best alignment score of any first sequence determination read associated with a first stored key together with the first signature. The second sequence determination read associated with the second stored key may have the best alignment score of any second sequence determination read associated with a second stored key together with the second signature.

[0064] Lead identification Figure 8 is a flowchart illustrating an exemplary method 800 for identifying similar reads using locality-sensitive hashing. Method 800 may be embedded in a set of executable program instructions stored in a computer-readable medium (e.g., one or more disk drives) of a computing system. For example, computing system 900 shown in Figure 9 and described in more detail below may execute a set of executable program instructions to perform Method 800. When Method 800 is initiated, the executable program instructions may be loaded into memory (e.g., RAM) and executed by one or more processors of computing system 900. Although Method 800 is described in relation to computing system 900 shown in Figure 9, the description is illustrative and not intended to be limiting. In some embodiments, Method 800 or parts thereof may be performed in series or in parallel by multiple computing systems. The computing systems may store a first hash data structure and a second hash data structure to store multiple pairs of sequence determination reads.

[0065] Each pair of sequencing reads may include a first nucleotide sequencing read and a second nucleotide sequencing read, where each pair of sequencing reads is assigned to one of a plurality of first bins of the first hash data structure based on the first signature of the pair's first nucleotide sequencing read generated by hashing the first identifier subsequence of the first identifier sequence of the first nucleotide sequencing read. Each pair of sequencing reads may be assigned to one of a plurality of second bins of the second hash data structure based on the second signature of the pair's second nucleotide sequencing read generated by hashing the second identifier sequence of the second nucleotide sequencing read.

[0066] After Method 800 begins in block 804, Method 800 proceeds to block 808, where the computing system receives a pair of a first query nucleotide sequencer read and a second query nucleotide sequencer read. Method 800 proceeds from block 808 to block 812, where the computing system generates a plurality of first query identifier subsequences and a plurality of second query identifier subsequences from the first query nucleotide sequencer read and the second query nucleotide sequencer read, respectively. After generating the query identifier subsequences in block 812, Method 800 proceeds to block 816, where the computing system generates a first query signature and a second query signature for the first nucleotide sequencer read and the second nucleotide sequencer read by applying hashing to the plurality of first query identifier subsequences and the plurality of second query identifier subsequences, respectively. The above computing system may perform processes in blocks 808 to 816, as described with reference to blocks 708 to 716 shown with reference to Figure 7.

[0067] After block 816, the method may include orthogonal queries. For example, the method proceeds from block 816 to block 820, where the computing system retrieves one or more first stored pairs and one or more second stored pairs from the first hash data structure and the second hash data structure using the first query signature and the second query signature, respectively. Here, each of the first pair and the second pair includes a first stored nucleotide sequencing read and a second stored nucleotide sequencing read. After retrieving pairs of sequencing reads in block 820, the method proceeds to block 824, where the computing system determines each pair of first stored nucleotide sequencing reads and second stored nucleotide sequencing reads present in both the first stored pair and the second stored pair as sequencing read 1 and sequencing read 2, to be similar to query sequencing read 1 and query sequencing read 2. Method 800 terminates at block 828.

[0068] Each pair of sequencing reads may be associated with a first identifier sequence and a second identifier sequence. The computing system may determine that the first identifier sequence and the second identifier sequence of the first pair of sequencing reads, and the second identifier sequence and the first identifier sequence of the second pair of sequencing reads, are identical; and may determine the nucleotide sequences of the first pair of sequencing reads and the second pair of sequencing reads.

[0069] In one embodiment, Method 800 may include the step of receiving a first query nucleotide sequencing read in block 808. The step of receiving the first query nucleotide sequencing read may include the step of receiving a pair of the first query nucleotide sequencing read and the second query nucleotide sequencing read. Method 800 may include the step of generating a plurality of first query identifier subsequences from the first query nucleotide sequencing read in block 812. The step of generating a plurality of first query identifier subsequences may include the step of generating a plurality of second query identifier subsequences from the second nucleotide sequencing read. Method 800 may include the step of generating a first query signature relating to the first nucleotide sequencing read by applying hashing to the plurality of first query identifier subsequences in block 816. The step of generating the first query signature may include the step of generating a second query signature for the second nucleotide sequencing read by applying hashing to the plurality of second query identifier subsequences. Method 800 may include the step of using the first query signature in block 820 to retrieve one or more first stored nucleotide sequencing reads from the first hash data structure. Each of the first stored nucleotide sequencing reads may be similar to the first query nucleotide sequencing read. The step of retrieving one or more first stored nucleotide sequencing reads may include the steps of retrieving one or more first stored pairs from the first hash data structure, and storing a plurality of pairs of sequencing reads using the first query signature and the second query signature. Each of the first pairs described above may include a first stored nucleotide sequencing read and a second stored nucleotide sequencing read, respectively, similar to the first query nucleotide sequencing read and the second query nucleotide sequencing read.

[0070] Execution environment Figure 9 shows a general structure of an exemplary computing device 900 configured to run the metabolites, annotations, and gene integration systems disclosed herein. The general structure of computing device 900 shown in Figure 9 includes the arrangement of computer hardware and software components. Computing device 900 may include more (or fewer) elements than those shown in Figure 9. However, it is not necessary for all of these generally conventional elements to be shown to provide possible disclosures. As illustrated, computing device 900 includes a processing unit 940, a network interface 945, a computer-readable media drive 950, an input / output device interface 955, a display 960, and an input device 965, all of which may communicate with each other by a communication bus. The network interface 945 may provide connectivity to one or more networks or computing systems. The processing unit 940 may thus receive information and instructions from other computing systems or services via the network. The processing unit 940 may also communicate with and from the memory 970 and may further provide output information to the optional display 960 via the input / output device interface 955. The input / output device interface 955 may also accept input from an optional input device 965 (e.g., a keyboard, mouse, digital pen, microphone, touchscreen, gesture recognition system, voice recognition system, gamepad, accelerometer, gyroscope, or other input device).

[0071] Memory 970 may include computer program instructions (grouped as modules or components in some embodiments) that the processing unit 940 executes to perform one or more embodiments. Memory 970 generally includes RAM, ROM, and / or other persistent, auxiliary, or non-temporary computer-readable media. Memory 970 may store an operating system 972 that provides computer program instructions for use by the processing unit 940 in the general management and operation of the computing device 900. Memory 970 may further include computer program instructions and other information for performing aspects of this disclosure.

[0072] For example, in one embodiment, memory 970 includes a locally sensitive hash-based read collapsing module 974 for collapsing sequencing reads using a locally sensitive hash (e.g., a read collapsing method 700 described with reference to Figure 7). Memory 970 may further or alternatively include a locally sensitive hash query module 976 for identifying similar nucleotide sequencing reads to a query sequencing read (e.g., an identification method 800 described with reference to Figure 8). Furthermore, memory 970 may include or be connected to a data store 990, and / or one or more other data stores for storing data and results relating to read collapsing and / or similar nucleotide sequencing read identification.

[0073] Hardware acceleration In some embodiments, the methods disclosed with respect to grouping and collapsing sequence determination reads are performed in application-specific hardware designed or programmed to compute the methods disclosed more efficiently than a general-purpose computer processor. For example, the processing unit 940 may be a field-programmable gate array (FPGA) or an application-specific integrated circuit (ASIC).

[0074] In one example, the above-mentioned locality-sensitive hash (LSH) operation can be accelerated by an FPGA. In some embodiments, the acceleration of LSH operations by the FPGA may also depend on how close it is to the memory required to build and query the hash table per UMI, and to the memory hand width which is a bottleneck in the software. If the clustering of the UMI associated with the sequence determination read is performed in the FPGA, it may also be beneficial to accelerate the above-mentioned read collapse method within the same hardware.

[0075] In some embodiments, one or more application-specific integrated circuits (ASICs) may be programmed to perform one or more functions of each of the genome analysis modules described herein, or of other computers. The ASICs include integrated circuits comprising one or more programmable logic circuits similar to FPGAs described herein, in that the digital logic gates of the ASIC are programmable using a hardware description language such as VHDL. However, the ASICs differ from FPGAs in that they are programmable only once and, once programmed, cannot be dynamically reconfigured. Furthermore, the aspects of this disclosure are not limited to performing sequencing read grouping and collapsing using FPGAs or ASICs. Alternatively, either the genome analysis module of the processing unit 940, or of other computers, may be performed using one or more central processing units (CPUs), graphics processing units (GPUs), or any combination thereof, performing sequencing read grouping and collapsing through the execution of software instructions.

[0076] In some runs, the use of integrated circuits such as FPGAs, ASICs, CPUs, GPUs, or combinations thereof to perform grouping and collapsing of sequence determination reads may include a single FPGA, a single ASIC, a single CPU, a single GPU, or any combination thereof. Alternatively, or further, the use of integrated circuits such as FPGAs, ASICs, CPUs, GPUs, or combinations thereof to perform grouping and collapsing of sequence determination reads may include multiple FPGAs, multiple ASICs, multiple CPUs, or multiple GPUs, or any combination thereof. The use of additional integrated circuits such as multiple FPGAs to perform grouping and collapsing of sequence determination reads may reduce the amount of time required to perform secondary analysis operations such as mapping, alignment, P-HMM probability calculation, and variant calls. In some runs, the use of FPGAs to perform these secondary analysis operations may reduce the time required to complete these secondary analysis operations from 24 hours (or longer) to as short as 30 minutes (or less). In some runs, the use of multiple FPGAs to perform these secondary analysis operations can result in these operations being completed in as little as five minutes.

[0077] Terminology With regard to substantially any use of plural and / or singular terms herein, a person skilled in the art may interpret them from plural to singular and / or from singular to plural, where appropriate to the circumstances and / or application. The various singular / plural exchanges may be explicitly stated herein for clarity.

[0078] It will be understood by those skilled in the art that, in general, the terms used herein and especially in the appended claims (e.g., in the text of the appended claims) are intended to be "open-loop" terms (e.g., the term "including" should be interpreted as "including but not limited to", the term "having" as "having at least", the term "includes" as "includes but is not limited to", etc.). It will also be understood by those skilled in the art that if a particular number is intended to be introduced in the description of a claim, such intent will be explicitly stated in that claim, and if such statement is not made, such intent does not exist. For example, for the sake of understanding, the following appended claims may include the use of the introductory phrases "at least one" and "one or more" to introduce the description of the claim. However, the use of such phrases should not be interpreted as meaning that the introduction of a claim description by the indefinite article “one, a (a)” or “one, a (an)” means that any particular claim containing such introduced description is limited to embodiments containing only one such description, even if that same claim includes the introductory phrase “one or more” or “at least one” and the indefinite article (e.g., “one, a (a)” or “one, a (an)” should be interpreted as meaning “at least one” or “one or more”); the same applies to the use of the definite article used to introduce a claim description.Furthermore, even if a specific number in an introduced claim is explicitly stated, a person skilled in the art will recognize that such a statement should be interpreted as meaning at least that number (for example, the minimal statement "two recitations" means at least two statements, or two or more statements, even without other modifiers). Furthermore, when a similar convention is used to "at least one of A, B, and C, etc.", such a construction is generally intended to be understood by a person skilled in the art (for example, "a system having at least one of A, B, and C" could include, but is not limited to, a system having only A, only B, only C, A and B together, A and C together, B and C together, and / or A, B and C together). Where a similar convention is used to "at least one of A, B, or C, etc.", such a construction is generally intended to be understood by those skilled in the art (for example, "a system having at least one of A, B, or C" could include, but is not limited to, a system having only A, only B, only C, A and B together, A and C together, B and C together, and / or A, B and C together). It will be further understood by those skilled in the art that substantially any separate word and / or phrase representing two or more alternative terms should be understood to contemplate the possibility of including one of those terms, either or both of those terms, whether in a description, claim, or drawing. For example, the phrase "A or B" is understood to include the possibilities of "A" or "B" or "A and B".

[0079] Furthermore, where any feature or aspect of this disclosure is described in terms of the Markush Group, a person skilled in the art will recognize that this disclosure also describes any individual member or subgroup of any member of that Markush Group.

[0080] As will be understood by those skilled in the art, for any and all purposes (for example, with respect to providing written explanations), all scopes disclosed herein also encompass any and all conceivable subscopes, as well as combinations thereof. Any enumerated scope can be readily recognized as sufficiently described and allowing that same scope to be separated at least equally into 1 / 2, 1 / 3, 1 / 4, 1 / 5, 1 / 10, etc. As a non-restrictive example, each scope considered herein can be readily separated into a lower 1 / 3, a middle 1 / 3, and an upper 1 / 3, etc. Similarly, as will be understood by those skilled in the art, all phrases such as “up to,” “at least,” “greater than,” and “less than” encompass the numbers described and refer to scopes that can subsequently be separated into subscopes as considered above. Finally, as will be understood by those skilled in the art, a scope encompasses each individual member. Thus, for example, a group having 1 to 3 articles refers to a group having 1, 2, or 3 articles. Similarly, a group containing 1 to 5 items refers to a group containing 1, 2, 3, 4, or 5 items, and so on.

[0081] While various aspects and embodiments are disclosed herein, other aspects and embodiments will be apparent to those skilled in the art. The various aspects and embodiments disclosed herein are illustrative and not intended to be limiting, and the true scope and spirit are shown by the following claims.

Claims

1. A computer-based method for determining a nucleotide sequence from a nucleotide sequencing read, wherein the method is: A step of receiving multiple first nucleotide sequencing reads and a second nucleotide sequencing read associated with each first nucleotide sequencing read; Regarding each first nucleotide sequencing read and its associated second nucleotide sequencing read: A step of generating a plurality of first identifier subsequences from the first identifier sequence of the first nucleotide sequencing read, which includes a subsequence of the first identifier sequence; A step of generating a plurality of second identifier subsequences from the second identifier sequence of the second nucleotide sequencing read, which includes a subsequence of the second identifier sequence; A step of determining multiple hashes using multiple hash functions for each first identifier subsequence and second identifier subsequence; A step of generating a first signature for a first nucleotide sequencing read, comprising a plurality of first signature hashes for a plurality of first positions, wherein the first signature hashes are selected from a plurality of hashes determined for the plurality of first identifier subsequences at the first positions; A step of generating a second signature for a second nucleotide sequencing read, comprising a plurality of second signature hashes for a plurality of second positions, wherein the second signature hash is selected from a plurality of hashes determined for the plurality of second identifier subsequences at the second positions; and A step of assigning the first nucleotide sequencing read or the second nucleotide sequencing read to at least one first specific bin of a first hash data structure based on the first signature or the second signature, wherein the keys of the bins of the first hash data structure are stored in a first key data structure, the keys of the bins of the second hash data structure are stored in a second key data structure, and the assignment includes using a first stored key of the first key data structure or a second stored key of the second key data structure; and A step of determining the nucleotide sequence for each first specific bin of the first hash data structure together with one or more assigned first nucleotide sequencing reads. A method of including.

2. The step of assigning the first nucleotide sequencing read is: Determining multiple subsequences of the first signature from the first signature of the first nucleotide sequencing read; and Assigning the first nucleotide sequence read to a first specific bin of each of a plurality of first hash data structures based on the subsequence of the first signature, The method according to claim 1, comprising the above.

3. The step of assigning the first nucleotide sequencing read is: Determining multiple subsequences of the first signature from the first signature of the first nucleotide sequencing read; and Assigning the first nucleotide sequence read to a plurality of first specific bins of the first hash data structure based on the plurality of subsequences of the first signature, The method according to claim 1, comprising the above.

4. The method according to claim 1, wherein the first specific bin is a bin present in the first hash data structure, and the alignment scores of the first nucleotide sequencing read and another first nucleotide sequencing read assigned to the first specific bin of the first hash data structure are above an alignment score threshold.

5. The method according to claim 1, wherein the first specific bin is a bin present in the first hash data structure, and the best alignment score of any first nucleotide sequencing reads assigned to the first specific bin of the first hash data structure is above an alignment score threshold.

6. The method according to claim 1, wherein the first specific bin is a new bin of the first hash data structure, and the alignment scores of the first nucleotide sequencing reads and any first nucleotide sequencing reads assigned to any bins in the first hash data structure are below an alignment score threshold.

7. The method according to claim 1, wherein the first signature matches the key of the first specific bin of the first hash data structure.

8. The method according to claim 1, wherein the first signature and the key of the first specific bin of the first hash data structure are identical.

9. The method according to claim 1, wherein the first nucleotide sequencing read and the associated second nucleotide sequencing read are paired-end nucleotide sequencing reads.

10. The step of assigning the first nucleotide sequencing read is: Assigning a pair of sequencing reads, including a first nucleotide sequencing read and a second nucleotide sequencing read, to at least one first specific bin of the first hash data structure based on a first signature. The method according to claim 1, comprising the above.

11. The step of assigning the first nucleotide sequencing read is: Assigning a second nucleotide sequencing read to at least one second specific bin of the first hash data structure based on a second signature. The method according to claim 1, comprising the above.

12. The step of assigning the first nucleotide sequencing read is: Assigning a pair of sequencing reads, including a first nucleotide sequencing read and a second nucleotide sequencing read, to at least one second specific bin of the second hash data structure based on a second signature. The method according to claim 1, comprising the above.

13. The step of assigning the first nucleotide sequencing read is: Assigning a pair of sequencing reads, including a first nucleotide sequencing read and a second nucleotide sequencing read, to a first specific bin of the first hash data structure and a second specific bin of the second data structure, based on the first signature and the second signature, respectively. The method according to claim 1, comprising the above.

14. The step of assigning the pair of sequence determination reads is: A step of determining the first signature and the second signature stored in the first key data structure and the second key data structure; and Assigning pairs of sequence determination reads to a first specific bin of the first hash data structure and a second specific bin of the second hash data structure, respectively, using the first stored key and the second stored key of the second key data structure. The method according to claim 12, comprising:

15. The method according to claim 14, wherein the alignment score of the pair of sequencing reads exceeds an alignment score threshold.

16. The step of assigning the pair of sequence determination reads is: A step of determining one or more first keys of a first hash data structure associated with a first signature, which are stored in a first key data structure; A step of determining one or more second keys of a second hash data structure associated with a second signature, which are stored in a second key data structure; A step of determining that a pair including a first sequencing read associated with a first stored key and a second sequencing read associated with a second stored key has the best alignment score of the pair of sequencing reads and any pair of first sequencing reads associated with any first stored key and second sequencing reads associated with any second stored key; The process of assigning the pair of sequencing reads to a first specific bin of a first hash data structure and a second specific bin of a second hash data structure, using a first stored key and a second stored key, respectively, associated with the pair of first and second sequencing reads having the highest alignment score. The method according to claim 12, comprising:

17. The method according to claim 16, wherein the first sequence determination read associated with the first stored key has the first signature and the best alignment score of any first sequence determination read associated with the first stored key, and the second sequence determination read associated with the second stored key has the second signature and the best alignment score of any second sequence determination read associated with the second stored key.

18. The method according to claim 1, wherein the step of determining the nucleotide sequence comprises determining the consensus sequence of one or more first nucleotide sequencing reads assigned to a first specific bin.

19. The method according to claim 18, wherein the step of determining the consensus sequence comprises determining a first nucleotide sequencing read having the highest quality score to be assigned to the first specific bin as the consensus sequence for the first specific bin.

20. The method according to claim 1, wherein the step of determining the nucleotide sequence comprises selecting from the sequences of one or more first nucleotide sequencing reads assigned to the first specific bin as a representative sequence of the first specific bin.

21. The method according to claim 1, wherein the step of determining the nucleotide sequence comprises determining that the alignment scores of two of the one or more first nucleotide sequencing reads assigned to the first specific bin are above an alignment score threshold.

22. The method according to claim 1, wherein the plurality of nucleotide sequencing reads are associated with the same physical identifier sequence.

23. The method according to claim 1, wherein the plurality of nucleotide sequencing reads are not associated with a physical identifier sequence.

24. The method according to claim 1, wherein the plurality of first identifier sequences generated from the first identifier sequence of the first nucleotide sequencing read include a contiguous subsequence of the first identifier sequence.

25. The method according to claim 24, wherein two consecutive first identifier subsequences overlap.

26. The method according to claim 1, wherein the plurality of first identifier subsequences include a plurality of k-mers generated from the first identifier sequences of the sequencing read.

27. The method according to claim 1, wherein the first identifier subsequence includes a nucleotide insertion, a nucleotide deletion, a nucleotide substitution, or a combination thereof.

Citation Information

Patent Citations

  • Multi-database log with multi-item transaction support

    US20150379062A1

  • Signature-HASH for multi-sequence files

    WO2018183493A1