K-MER-based methods for assembling polynucleotide sequences

By applying global optimal procedures and reference guidance on k-mer graph generation orientation on acyclic k-mer graph, the problem of difficult assembly of DNA sequencing in the repetitive or homologous regions in the prior art is solved, achieving more efficient and accurate DNA sequencing.

CN119404254AInactive Publication Date: 2025-02-07ILLUMINA INC
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
CN202480003032.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-03-10
Filing Date
2024-03-07
Publication Date
2025-02-07
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

Existing DNA sequencing technologies are difficult to accurately assemble when dealing with highly repetitive or homologous regions, making it difficult to interpret a small portion of the genome, and large-scale DNA sequencing methods are costly and time-consuming.

Method used

The global optimal procedure is used to determine the heaviest path of edge weights on the acyclic k-mer graph, and the greedy path extraction method is improved. The orientation is generated by reference to the guided k-mer graph to assemble the nucleotide sequence of the polynucleotide.

Benefits of technology

Improves the accuracy and efficiency of DNA sequencing, especially in assembly of highly repetitive or homologous regions, reducing costs and time expenditures.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119404254A_ABST
    Figure CN119404254A_ABST
Patent Text Reader

Abstract

A method and system for polynucleotide sequencing and sequence assembly using a k-mer graph method is disclosed. The method may include receiving a sample comprising a nucleic acid sequence, segmenting the sample into a plurality of shorter sequences, and aligning the shorter sequences to a reference genome to identify k-mer sequences. The system may include a processor, a memory, and a storage device configured to store the reference genome and the sample. The processor may be configured to perform steps of the method, including aligning the shorter sequence to a reference genome.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to U.S. Provisional Application No. 63 / 489,606, filed on March 10, 2023, the contents of which are incorporated herein by reference in their entirety. Technical Field

[0003] The present disclosure relates to DNA sequencing and sequence assembly. More specifically, the present disclosure relates to a nucleotide sequence assembly method by assembling many small sequences using the k-mer method. Background Art

[0004] Identifying disease-causing mutations in DNA has been a long-standing goal of genetic medicine. Genomic variants can be small changes in a patient's DNA sequence or larger deletions and duplications. Existing sequencing technologies are relatively good at detecting single nucleotide polymorphisms ("SNPs") and short insertions / deletions ("indels") because these individual mutations retain the context of nearby sequences. Some diseases are caused by more extensive mutations, such as α-thalassemia, which is caused by whole-gene deletions of HBA1 and HBA2. Next-generation sequencing "NGS," developed over the past decade, is increasingly able to confidently identify differences between a patient's genome and a reference genome. NGS refers to a diverse collection of post-Sanger sequencing technologies, including sequencing by synthesis, sequencing by ligation, ion semiconductor sequencing, and others.

[0005] NGS is already the most widely adopted technology for human whole genome sequencing (WGS), providing an accurate, scalable, and cost-effective solution described in more than 300,000 scientific publications. However, a small portion of the genome remains difficult to map due to highly repetitive or homologous regions. Standard short-read sequencing provides accurate base-level sequences to provide short-range information, but may perform poorly in providing long-range information. NGS technology and assembly methods are designed to address this edge case and accelerate access to the remaining approximately 5% of genetic regions that are currently difficult to map.

[0006] In addition, although NGS methods are widely used in large-scale DNA sequencing projects, such methods can be expensive and time-consuming. An alternative assembly method can consider short substrings of fixed length k, called k-mers. The k-mer method for assembly involves segmenting the sample into multiple shorter sequences and aligning the shorter sequences with the reference genome to identify k-mer series that are gradually getting longer. Summary of the invention

[0007] One aspect of the present disclosure relates to sequencing methods and systems for producing high-quality assemblies. For example, some embodiments can produce acyclic k-mer graphs. Some embodiments apply global optimal procedures to determine the heaviest path of edge weights on acyclic k-mer graphs. Such embodiments can improve traditional methods that rely on greedy path extraction to assemble k-mer graphs or even rely on greedy path extraction with review, because greedy procedures may fail to find a global optimal solution because the procedure focuses on local information rather than all available data. The choice made by the greedy procedure to a path on the k-mer graph may depend on the choice made by the greedy procedure upstream, which can compound errors and lead to lower confidence in the assembly. On the one hand, in the case where the k-mer graph cannot be optimally assembled by using the optimal solution of its sub-problem, a global optimal procedure can be applied. The method and system of the present disclosure can improve the greedy method by finding one or more global optimal assemblies in terms of the highest score of the explanation input reads in each subset of the unaligned reads to be assembled.

[0008] In some embodiments, the k-mer of the reference guide may be oriented relative to the representative reference sequence segment. Embodiments may also include generating an oriented k-mer graph using the reference guide and the k-mer of the read. In some embodiments, the k-mer of the read of the genomic data may be sequentially added to the k-mer graph. Embodiments may also include determining a polynucleotide sequence using the oriented k-mer graph.

[0009] Embodiments of the present disclosure may utilize mutated read sequences, and such methods and systems may include generating aligned mutated read sequences and genetic reference sequence segments. Embodiments of the present disclosure may also use cluster files and any associated data. In some embodiments, cluster files may include read sequences and assignments of read sequences to clusters. In some embodiments, cluster files may include more than one million read sequences. In some embodiments, the generated alignment sequences may include greater than 100 subgraphs. In some embodiments, information about the orientation of at least some reads of genomic data may include information about the relative orientation of overlapping sequences of read pairs. In some embodiments, the read lengths of genomic data range from 25bp to 300bp.

[0010] Embodiments of the present disclosure may also include methods for generating reference guidance with reference sequence segments as k-mers using BAM files and data structures. In some embodiments, the method may include generating a k-mer graph using the reference guidance and the k-mer of the read segment. In some embodiments, the method may involve a sequencing experiment using only acyclic k-mer graphs. Additionally or in an alternative, in some embodiments, the method may be able to advantageously generate acyclic k-mer graphs at a significantly higher rate. The significantly higher rate of generating acyclic k-mer graphs may be a rate that does not require or provide the benefit of filtering sequences from acyclic k-mer graphs. In some embodiments, the method may include using a global optimal procedure to determine the heaviest path in the k-mer graph.

[0011] Some embodiments relate to a method for assembling a nucleotide sequence of a polynucleotide from read pairs, comprising: providing a flow cell comprising a cluster of read pairs, wherein each read pair comprises two sequence reads, and the two sequence reads are in opposite orientations with respect to each other; mapping a plurality of read pairs to a reference guide of the polynucleotide; orienting the sequence reads in each read pair to be in the same orientation as the reference guide of the polynucleotide; generating at least one k-mer graph comprising nodes and edges from the oriented sequence reads, wherein each node of the at least one k-mer graph corresponds to a read pair from a single cluster, and each edge has a weight corresponding to the number of identical sequence reads in the cluster; and assembling the nucleotide sequence of the polynucleotide by tracing a plurality of acyclic paths through the at least one k-mer graph.

[0012] Another embodiment relates to a system for analyzing polynucleotide sequences, the system having a machine-readable memory and a processor configured to execute machine-readable instructions that, when executed by the processor, cause the system to perform the steps described above and herein.

[0013] Another embodiment is a non-transitory computer-readable medium storing a polynucleotide sequence analysis program including instructions that, when executed by a processor, cause a polynucleotide sequencing apparatus to perform the steps described above and herein. BRIEF DESCRIPTION OF THE DRAWINGS

[0014] By referring to the following detailed description and accompanying drawings, the features of the examples of the present disclosure will become apparent, wherein like reference numerals correspond to similar but possibly not identical parts. For the sake of brevity, reference numerals or features having previously described functions may or may not be described in conjunction with other drawings in which they appear.

[0015] Figure 1 is a flow chart illustrating the process of sequencing a reference genome by inputting polynucleotide cluster data into a k-mer assembly system and outputting an assembled sequence data file.

[0016] Figure 2 An embodiment of a system including a memory including a cluster assembly process module is depicted. DETAILED DESCRIPTION

[0017] All patents, applications, published applications, and other publications mentioned herein are incorporated herein by reference in their entirety. If a term or phrase is used herein in a manner that is contrary to or inconsistent with the definition set forth in the patents, applications, published applications, and other publications incorporated herein by reference, the use herein prevails over the definition incorporated herein by reference.

[0018] The following description and examples illustrate embodiments of the present invention in detail. Those skilled in the art will recognize that the scope of the present invention encompasses many variations and modifications of the present invention. Therefore, the description of the preferred embodiments should not be considered as limiting the scope of the present invention.

[0019] Overview

[0020] Embodiments relate to systems and methods for effectively determining the sequence of relatively long nucleic acid molecules by segmenting nucleic acid molecules into relatively short fragments, sequencing those fragments to determine sequencing reads, and then assembling sequencing reads to determine the final sequence of long nucleic acid molecules. Generally speaking, sequencing reads (also referred to as "reads") refer to the inferred sequence of nucleotide bases in nucleic acid molecules. Sequencing reads can be any suitable length, such as a length of about or more than about 20 nt, 30 nt, 36 nt, 40 nt, 50 nt, 75 nt, 100 nt, 150 nt, 200 nt, 250 nt, 300 nt, 400 nt, 500 nt or longer. In some embodiments, the length of sequencing reads is less than 200 nt, 150 nt, 100 nt, 75 nt or shorter. Sequencing reads can be "paired", which means that they are derived from different ends of nucleic acid fragments. Paired reads may have inserted unknown sequences or overlap each other. In some cases, sequencing reads are contigs or consensus sequences assembled from separate overlapping reads. Sequencing reads can be analyzed according to component k-mers. Generally speaking, "k-mer" refers to a subsequence of a given length k that constitutes a sequencing read. For example, the sequence "AGCTCT" can be divided into 3 nucleotide subsequences "AGC", "GCT", "CTC", and "TCT". In this example, each of these subsequences is a k-mer, where k=3. K-mers can be overlapping or non-overlapping.

[0021] The sequence comparison may include one or more comparison steps in which one or more k-mers of the sequencing reads are compared to k-mers of one or more reference sequences (also referred to as "references" for short). In some embodiments, the length of the k-mer is about or more than about 3 nt, 4 nt, 5 nt, 6 nt, 7 nt, 8 nt, 9 nt, 10 nt, 11 nt, 12 nt, 13 nt, 14 nt, 15 nt, 16 nt, 17 nt, 18 nt, 19 nt, 20 nt, 25 nt, 30 nt, 35 nt, 40 nt, 45 nt, 50 nt, 75 nt, 100 nt or longer. In some embodiments, the length of the k-mer is about or less than about 30 nt, 25 nt, 20 nt, 15 nt, 10 nt or shorter. The length of the k-mer can be in the range of 3 nt to 13 nt, 5 nt to 25 nt, 7 nt to 99 nt or 3 nt to 99 nt. The length of the k-mer analyzed at each step can vary. For example, the first comparison can compare the k-mer in the sequencing read and the reference sequence with a length of 21 nt, while the second comparison can compare the k-mer in the sequencing read and the reference sequence with a length of 7 nt. For any given sequence in the comparison step, the k-mer analyzed can be overlapping (such as in a sliding window) and can have the same or different lengths. Although k-mer is generally referred to as being made of nucleic acid sequences in this article, it should be recognized that k-mer can also cover polypeptide sequences, including comparisons of k-mers consisting of amino acids.

[0022] Reference sequence can include any sequence to which sequencing reads are compared. Typically, reference sequence is associated with some known features, such as conditions of sample origin, classification groups, specific species, expression profiles, specific genes, associated phenotypes such as possible disease progression, drug resistance or pathogenicity, increased or reduced disease tendency or other characteristics. Typically, reference sequence is only one of many such reference sequences in a sequence database. Various databases containing various types of reference sequences can be obtained, one or more of which can be used as reference databases alone or in various combinations. The database can include many species and sequence types, such as NR, UniProt, SwissProt, TrEMBL or UniRef90. The database can include sequences of specific species from multiple species, such as those sequences for taxonomic classification of species (such as bacteria).

[0023] The database may contain multiple sequences from a single species, such as a human genome, a human transcriptome, a model organism (such as a mouse genome, a yeast transcriptome, or a C.elegans proteome), or a disease vector (such as bats, ticks, or mosquitoes, and other domestic and wild animals). In some embodiments, the reference database contains sequences of human transcripts. The reference sequences in the database may include DNA sequences, RNA sequences, or protein sequences. The reference sequences in the database may include sequences from multiple taxa. In some cases, the reference sequences are from a reference individual or a reference sample source. Examples of reference individual genomes are, for example, maternal genomes, paternal genomes, or genomes of non-cancerous tissue samples.

[0024] Examples of reference individuals or sample sources are human genomes, mouse genomes, or genomes of bacteria, archaea, viruses, phages, fungi, and parasites of specific serotypes, genovars, strains, variants, or other characteristic types. The database may contain polymorphic reference sequences containing one or more mutations relative to a known polynucleotide sequence. Such polymorphic reference sequences may be different alleles found in a population, such as SNPs, indels, microdeletions, microexpansions, common rearrangements, genetic recombination, or prophage insertion sites, and may contain information about their relative abundance compared to non-polymorphic sequences. Polymorphic reference sequences may also be artificially generated from reference sequences stored in a database, such as by changing one or more (including all) positions in a reference genome so that multiple possible mutations that are not in the actual reference database are represented for comparison. The reference sequence database may contain reference sequences of one or more of a variety of different taxonomic groups, including but not limited to bacteria, archaea, vesicle algae, viruses, fungi, plants, fish, amphibians, reptiles, birds, mammals, and humans. In some cases, the database of reference sequences is composed of sequences from one or more reference individuals or reference sample sources (e.g., 10, 100, 1000, 10000, 100000, 1000000 or more), and each reference sequence in the database is associated with its corresponding individual or sample source. In some embodiments, based on sequence comparison, unknown samples can be identified as originating from individuals or sample sources represented in the reference database.

[0025] In some embodiments, before comparison, each reference sequence in the database of reference sequences is associated with a k-mer weight as a measure of the likelihood that a particular k-mer within the reference sequence is derived from the reference sequence. Calculating the k-mer weight may include comparing the reference sequence in the database to other reference sequences in the database, such as by one or more methods described herein. The k-mer value thus associated with the sequence in the database can then be used to determine the k-mer weight of the k-mer within the sequencing read.

[0026] The set of k-mer with or without assigned weight can be used for many tasks in bioinformatics analysis, and many of them are configured to count k-mer as pre-processing step. Although k-mer can be used for the pre-processing of data, such as in the taxonomy classification system, k-mer is also used for assembly and graph construction as described herein. For example, in typical de Bruijn graph construction, graph will have node and edge, wherein node is oligonucleotide sequence, and edge means that two oligonucleotides are identical to each other and overlap, except the first base of the first k-mer and the last base of the next one (for given k-mer, respectively left and right (k-1)-mer in the graph). Therefore, edge means that the k-mer at a specific node can be expanded by a single base and generate another k-mer connected to another node in the graph. The support amount to the edge of the k-mer graph can be used for providing guidance when graph assembly and deciding to take what path to construct specific K+1 length sequence by many nodes of the k-mer graph.

[0027] Some embodiments provide for extracting overlapping groups with specific k-mer counts from a weighted de Bruijn graph. In some embodiments, the weight of an edge can be calculated by counting the reads that exactly match the sequence implied by the edge. As an example, if only one read has a specific edge k-mer, the edge will have a weight of 1. However, if five reads have the specific k-mer, the edge will have a weight of 5, and so on. Therefore, the edge of the graph with the highest number of read pairs containing exact matches to the k-mer corresponding to the edge will have a higher weight than another edge of the graph with a lower number of read pairs containing exact matches to the k-mer corresponding to the edge.

[0028] In some embodiments, the guide sequence copied from the reference genome is not counted when the corresponding edge weight is assigned, so the edge weight as described herein can be derived from the actual sequence reads entering the assembly process. In some embodiments, the node weight (k-mer count) can be associated with each k-mer from the graph. In some embodiments, a weighted graph can be constructed directly from the original input sequence without pre-counting. In some embodiments, the canonical graph can include each k-mer in its two forms (forward and reverse complement). In some embodiments, a similar data structure can be modeled by storing only one k-mer and implicitly modeling another.

[0029] In general, the k-mer in the read is compared with the reference sequence and includes counting the k-mer matched in the read and the reference sequence. The stringency of the identification match can vary. For example, the match can be an exact match, in which the nucleotide sequence of the k-mer from the read is identical to the nucleotide sequence of the k-mer from the reference. Alternatively, the match can be an incomplete match, in which 1, 2, 3, 4, 5, 10 or more mismatches are allowed. In addition to counting the match, the weight of each k-mer can be calculated by counting how many times a specific k-mer occurs in a specific reference sequence, how many times a specific k-mer occurs in a group of sequences comprising a reference sequence, and how many times a specific k-mer occurs in all reference sequences in a reference sequence database. In one embodiment, the k-mer weight is calculated according to the following formula, which calculates the k-mer weight as a measure of the possibility that a specific k-mer (Ki) is derived from a reference sequence (refi), as follows:

[0030] KW〖ref〗 i (K i )=((C ref (K i )) / (C db (K i ))) / ((C db (K i )) / (total k-mer count))

[0031] (Equation 1)

[0032] C means return K i C ref (K i ) indicates K in a specific reference i Count of. C db (K i ) indicates the K in the database i The weight provides a relative, database-specific measure of the likelihood that the k-mer is derived from a particular reference. Before comparing the sequencing reads to the reference sequence, the k-mer weight (or a measure of the likelihood that the k-mer is derived from a given reference sequence) can be calculated for each k-mer in the database and the reference sequence. In some examples, by replacing C in the above equation with ref (K i ) is defined as returning the K i The k-mer weights are calculated as a function of the total counts of the k-mer to determine the likelihood that the k-mer originated from a particular taxon.

[0033] One aspect of the present disclosure relates to introducing artificial mutations before sequencing, which help classify reads into assembly clusters that need to be assembled. For the purpose of this specification, the difference between "sequencing clusters" and "assembly clusters" is emphasized. "Sequencing clusters" can refer to a group of DNA fragments produced by amplifying a single DNA fragment, such as a "spot" internal bridge on a flow cell, which generally produces a single read pair. "Assembly clusters" can refer to clusters of reads that share mutations and are inferred to be derived from the same mutation template. "Assembly clusters" can also generally refer to any cluster of reads that are inferred to be related. For example, some assembly clustering processes use single-link clusters to construct transitive closures of sequences with similarities exceeding a specific threshold.

[0034] In some embodiments, artificial mutations can provide an assembly clustering method to subset the assembly process until part of the total polynucleotide assembly process. In some embodiments, the assembly cluster can correspond to a single molecule of a moderate length relative to the whole genome alone. In some embodiments, artificial mutations can provide fingerprints to type certain short reads into corresponding assembly clusters. In some embodiments, artificial mutations can help assemble short reads into longer reads / overlaps, which can be more easily mapped to a reference genome. For example, two read pairs can share sequences with some artificial mutations, which can enable unique identification or grouping of reads belonging to a single original molecule.

[0035] In some embodiments, the artificially mutated template is segmented into smaller fragments (e.g., paired end inserts) that are sequenced. The resulting sequence can be decomposed into (overlapping) k-mers, where the length k is significantly less than the length of the sequencing read. In some embodiments, the disclosed method can use 150 bp sequencing reads, and use k=21, or 31 or 41 or 51 or 81. Other specific implementations for achieving assembly clusters that need to be assembled are also contemplated.

[0036] As described above, embodiments of the present disclosure relate to systems and methods for determining the sequence of a target nucleic acid sequence in the following manner: a short segment of the target sequence is sequenced, and then the short segment is assembled into a final target sequence by a k-mer mapping process. In some embodiments, sequence reads are assembled by comparison with a reference genome. In some embodiments, the target sequence can be artificially mutated to contain a mutant sequence ("mut" sequence), which helps to assemble the short reads into longer reads / overlaps, which can then be more easily mapped to the reference genome because the resulting reads are longer. In some embodiments, only DNA mutations. In some embodiments, fragments of the genome can be mutated before sequencing.

[0037] In such embodiments, the template sequence is randomly mutated and then segmented into multiple shorter sequences of length "k", referred to as "k-mer" throughout the disclosure. The nucleotide sequences of these k-mer sequences are then determined using, for example, next generation sequencing ("NGS") technology, which can be used to quickly and simultaneously sequence multiple relatively short nucleotide sequences. In some embodiments, the NGS technology first produces a sequencing cluster of oligonucleotide sequences on a flow cell, which is then read by an NGS system, such as those manufactured by Illumina, Inc. (San Diego, CA). During the reading process, each sequencing cluster can be used to read the bound oligonucleotide sequence in a forward or reverse orientation, so that a pair of reads corresponding to the 5'-3' and 3'-5' orientations of the sequenced oligonucleotides is determined. The reads are then sent to the system, as described below, to generate a k-mer graph, which can be used to assemble the sequenced oligonucleotide reads into a determined nucleotide sequence.

[0038] For example, a long target polynucleotide (such as a fragment of a genomic sequence) can be artificially mutated using a process as described in PCT Publication WO 2021 / 064365, which is incorporated herein by reference in its entirety. The mutated target polynucleotide is then segmented, and each individual fragment is bound to a flow cell and amplified to generate a sequencing cluster, but then each sequencing cluster containing a portion of the mutated target polynucleotide can be identified and considered to correspond to an assembled cluster. The nucleotide sequence of the forward and reverse strand pairs within each assembled cluster can then be determined using NGS technology.

[0039] One aspect of the present disclosure relates to creating a k-mer graph of all k-mer sequences from a set of reads in an assembly cluster. By using a reference guide sequence, sequence reads can be initially assigned to positions along a putative reference guide polynucleotide. Each set of paired reads and reference guides can then be passed to a k-mer assembler system, which uses paired reads and reference guides containing potential adjacent k-mer sequences to construct a k-mer graph of k-mer sequences from a sequencing run. Since each sequencing fragment can have a pair of reads, each read in a different orientation, the system can determine which orientation in the read pair matches the orientation of the reference guide sequence. Based on this information, the system can use the orientation information to provide all sequence data from a specific assembly cluster in the same orientation as the reference guide, as discussed in more detail below. It should be recognized that if some k-mer sizes do not produce graphs with satisfactory predetermined characteristics (e.g., graphs containing loops or too many non-unique k-mers), multiple k-mer graphs with different k-mer sizes can be constructed. Once a satisfactory k-mer graph has been constructed for a particular k-mer size, the highest scoring path extraction process can be applied to assemble a long template from all the k-mer graph data, which can then be output to a results file, as described in more detail below.

[0040] One embodiment includes determining the highest scoring path through a k-mer graph so as to assemble a target polynucleotide sequence from a k-mer. This can be achieved by first finding the best forward path through the k-mer graph. Each k-mer graph comprises nodes and edges. A node may comprise a set of read pairs determined from each sequencing cluster sequenced on a flow cell. An edge is used to imply that two k-mers in two adjacent nodes are identical to each other, except for the first base of one k-mer and the last base of the next k-mer. An edge implies that the k-mer associated at a particular node has a sequence, and the adjacent nodes are the same k-mer sequence, which has been extended by a single base to produce another k-mer corresponding to an adjacent node in the k-mer graph.

[0041] In one embodiment, the count of reads in the assembly cluster that exactly matches the sequence implied by the edge can be calculated as the weight of the edge. Therefore, the edge derived from the assembly cluster with a greater number of read pairs with the same sequence will have a greater edge weight than the edge in the assembly cluster with fewer identical read pairs. Once the k-mer assembly system calculates a set of non-cyclic paths from the first node forward to the final node, the system can calculate the highest-scoring reverse path to determine the best fit for the assembled target sequence from each k-mer. By starting from the final node in each path, and then choosing to move backward through the path by selecting the node with the highest weight, the k-mer assembly system assembles the nucleotide sequence corresponding to the highest-scoring path. In some embodiments, the disclosed methods and systems can adopt a dynamic programming method, which can allow the highest-scoring path to be determined without calculating the total score of all possible paths. The dynamic programming method further described herein allows the entire problem to be divided into segments, each of which can be more simply calculated or otherwise solved.

[0042] In one aspect, the target sequence is a relatively long template read from the assay.Some embodiments of the present disclosure enable determination of contiguous long read sequences with an N50 of 6kb-7kb and a read length greater than 5kb, 10kb, 20kb, 30kb, 40kb, 50kb or greater.

[0043] Certain embodiments of sequencing double-stranded polynucleotides using nanopores and / or certain embodiments of analyzing or organizing signals associated with k-mer polynucleotides can be utilized using the systems or methods disclosed in U.S. Provisional Patent Application Serial No. 63 / 247,155 filed on September 22, 2021 and U.S. Patent Application Serial No. 17 / 224,496 published as US2021 / 0313009 on October 7, 2021, the disclosures of which are incorporated herein by reference in their entirety. Although some advantages of the present disclosure relate to short read sequencing, the assembly clusters and other methods of the present disclosure are also contemplated for application to long read sequencing.

[0044] definition

[0045] All technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs, unless specifically defined otherwise.

[0046] As used herein, the singular forms "a," "an," "and," and "the" include plural referents unless the context clearly dictates otherwise. Thus, for example, reference to "a sequence" may include a plurality of such sequences, and so forth.

[0047] The terms include, comprise, contain and various forms of these terms are synonymous with each other and are intended to be equally broad. In addition, unless explicitly stated to the contrary, examples that include or have one or more elements with a particular property may include additional elements, whether or not the additional elements have that property.

[0048] As used herein, "nucleobase" is a heterocyclic base such as adenine, guanine, cytosine, thymine, uracil, inosine, xanthine, hypoxanthine, or a heterocyclic derivative, analog or tautomer thereof. Nucleobases may be naturally occurring or synthetic. Non-limiting examples of nucleobases are adenine, guanine, thymine, cytosine, uracil, xanthine, hypoxanthine, 8-azapurine, purine substituted by methyl or bromine at position 8, 9-oxo-N6-methyladenine, 2-aminoadenine, 7-deazaxanthine, 7-deazaguanine, 7-deaza-adenine, N4-ethanolylcytosine, 2,6-diaminopurine, N6-ethanolyl-2,6-diaminopurine, 5-methylcytosine pyrimidine, 5-(C3-C6)-alkynylcytosine, 5-fluorouracil, 5-bromouracil, thiouracil, pseudoisocytosine, 2-hydroxy-5-methyl-4-triazolopyridine, isocytosine, isoguanine, inosine, 7,8-dimethylalloxazine, 6-dihydrothymine, 5,6-dihydrouracil, 4-methyl-indole, ethanoladenine, and U.S. Patent Nos. 5,432,272 and 6,150,510, PCT Application No. WO 92 / 002258, WO 93 / 10820, WO 94 / 22892 and WO 94 / 24144, and non-naturally occurring nucleobases described in Fasman ("Practical Handbook of Biochemistry and Molecular Biology", pages 385-394, 1989, CRC Press, Boca Raton, Lo), all of which are incorporated herein by reference in their entirety.

[0049] As used herein, the term "nucleotide" is intended to mean a molecule comprising a sugar and at least one phosphate group, and in some examples, a nucleobase. Nucleotides lacking a nucleobase may be referred to as "abasic". In some embodiments, a "nucleotide" comprises a nitrogenous heterocyclic base, a sugar, and one or more phosphate groups. A nucleotide is a monomeric unit of a nucleic acid sequence. Examples of nucleotides include, for example, ribonucleotides or deoxyribonucleotides. In ribonucleotides (RNA), the sugar is ribose, and in deoxyribonucleotides (DNA), the sugar is deoxyribose, i.e., a sugar lacking a hydroxyl group present at the 2' position in the ribose. The nitrogenous heterocyclic base may be a purine base or a pyrimidine base. Purine bases include adenine (A) and guanine (G) and their modified derivatives or analogs. Pyrimidine bases include cytosine (C), thymine (T) and uracil (U) and their modified derivatives or analogs. The C-1 atom of the deoxyribose is bonded to the N-1 of a pyrimidine or the N-9 of a purine. The phosphate group may be in the form of a monophosphate, a diphosphate or a triphosphate. These nucleotides are natural nucleotides, but it should be further understood that non-natural nucleotides, modified nucleotides or analogs of the aforementioned nucleotides may also be used.

[0050] Examples of nucleotides may include deoxyribonucleotides, modified deoxyribonucleotides, ribonucleotides, modified ribonucleotides, peptide nucleotides, modified peptide nucleotides, modified phosphate sugar backbone nucleotides, and mixtures thereof. Examples of nucleotides include adenosine monophosphate (AMP), adenosine diphosphate (ADP), adenosine triphosphate (ATP), thymidine monophosphate (TMP), thymidine diphosphate (TDP), thymidine triphosphate (TTP), cytidine monophosphate (CMP), cytidine diphosphate (CDP), cytidine triphosphate (CTP), guanosine monophosphate (GMP), guanosine diphosphate (GDP), guanosine triphosphate (GTP), uridine monophosphate (UMP), uridine diphosphate (UDP), uridine triphosphate (UTP), deoxyadenosine monophosphate (dAMP ), deoxyadenosine diphosphate (dADP), deoxyadenosine triphosphate (dATP), deoxythymidine monophosphate (dTMP), deoxythymidine diphosphate (dTDP), deoxythymidine triphosphate (dTTP), deoxycytidine diphosphate (dCDP), deoxycytidine triphosphate (dCTP), deoxyguanosine monophosphate (dGMP), deoxyguanosine diphosphate (dGDP), deoxyguanosine triphosphate (dGTP), deoxyuridine monophosphate (dUMP), deoxyuridine diphosphate (dUDP), and deoxyuridine triphosphate (dUTP).

[0051] Examples of nucleotides may also be intended to encompass any nucleotide analogs, which are nucleotides comprising a type of modified nucleobase, sugar, backbone, and / or phosphate moiety compared to naturally occurring nucleotides. Nucleotide analogs may also be referred to as "modified nucleic acids". Exemplary modified nucleobases include inosine, xanthine (xathanine), hypoxanthine, isocytosine, isoguanine, 2-aminopurine, 5-methylcytosine, 5-hydroxymethylcytosine, 2-aminoadenine, 6-methyladenine, 6-methylguanine, 2-propylguanine, 2-propyladenine, 2-thiouracil, 2-thiothymine, 2-thiocytosine, 15-halouracil, 15-halocytosine, 5-propynyluracil, 5-propynylcytosine, 6-azouracil, In some embodiments, the nucleotide analogs of the present invention can be substituted with 5'- 5'- pyrimidine, 6-azocytosine, 6-azothymine, 5-uracil, 4-thiouracil, 8-halogenated adenine or guanine, 8-aminoadenine or guanine, 8-thiol adenine or guanine, 8-sulfanyl adenine or guanine, 8-hydroxyadenine or guanine, 5-halogenated uracil or cytosine, 7-methylguanine, 7-methyladenine, 8-azaguanine, 8-azaadenine, 7-deazaguanine, 7-deazaadenine, 3-deazaguanine, 3-deazaadenine, etc. As known in the art, some nucleotide analogs cannot be incorporated into polynucleotides, for example, nucleotide analogs such as 5'-phosphosulfate adenosine. Nucleotide can include any suitable number of phosphates, for example, three, four, five, six or more than six phosphates. Nucleotide analogs also include locked nucleic acid (LNA), peptide nucleic acid (PNA), and 5-hydroxybutyne-2'-deoxyuridine ("Super T").

[0052] In some embodiments, the term "modification" as used herein is intended to refer not only to chemical modifications of nucleic acids, but also to changes in nucleic acid conformation or composition, interactions of reagents with nucleic acids (e.g., binding to nucleic acids), and other disturbances associated with nucleic acids. Thus, the location or position of a modification is the locus (e.g., a single nucleotide or multiple continuous or non-continuous nucleotides) at which such modification occurs within a nucleic acid. For a double-stranded template, such a modification may occur in a strand complementary to a nascent strand synthesized by a polymerase processing the template, or may occur in a displaced strand. For example, the modified nucleotides can include 5-methylcytosine, N6-methyladenosine, N3-methyladenosine, N7-methylguanosine, 5-hydroxymethylcytosine, pseudouridine, thiouridine, isoguanosine, isocytosine, dihydrouridine, quercetin, wyosine, inosine, triazole, diaminopurine, β-D-glucopyranosyloxymethyluracil (also known as β-D-glucosyl-HOMedU, β-glucosyl-hydroxymethyluracil, "dJ" or "base J"), 8-oxoguanosine, and 2'-O-methyl derivatives of adenosine, cytidine, guanosine, and uridine.Modified DNA and RNA bases are further described in, for example, Narayan P et al. (1987) Mol Cell Biol 7(4):1572-5; Horowitz S et al. (1984) Proc Natl Acad Sci USA 81(18):5667-71; "RNA's Outfits: The nucleic acid has dozens of chemical costumes," (2009) C&EN; 87(36):65-68; Kriaucionis et al. (2009) Science 324(5929):929-30; and Tahiliani et al. (2009) Science 324(5929):930-35; Matray et al. (1999) Nature 399(6737):704-8; Ooi et al. (2008) Cell 133:1145-8; Petersson et al. (2005) J Am Chem Soc. 127(5):1424-30; Johnson et al. (2004) 32(6):1937-41; Kimoto et al. (2007) Nucleic Acids Res. 35(16):5360-9; Ahle et al. (2005) Nucleic Acids Res 33(10):3176; Krueger et al., Curr Opinions in Chem Biology 2007, 11(6):588); Krueger et al. (2009) Chemistry & Biology 16(3):242; McCullough et al. (1999) Annual Rev of Biochem 68:255; Liu et al. (2003) Science 302(5646):868-71; Limbach et al. (1994) Nucl. Acids Res.22(12):2183-2196; Wyatt et al. (1953) Biochem.J.55:774-782; Josse et al. (1962) J.Biol.Chem.237:1968-1976; Lariviere et al. (2004) J.Biol.Chem.279:34715-34720; and International Application Publication No. WO / 2009 / 037473, the disclosures of which are incorporated herein by reference in their entirety.

[0053] Modifications can also include the presence of unnatural base pairs in the nucleic acid, including but not limited to hydroxypyridone and pyridopurine homo- and hetero-base pairs, pyridine-2,6-dicarboxylates and pyridine metal-base pairs, pyridine-2,6-dicarboxamides and pyridine metal-base pairs, metal-mediated pyrimidine base pairs T-Hg(II)-T and C-Ag(I)-C, and metal-homo-base pairs of 2,6-bis(ethylthiomethyl)pyridine nucleobase Spy, as well as alkyne, enamine, alcohol, imidazole, guanidine and pyridyl substitutions on purine or pyrimidine bases (Wettig et al. (2003) J Inorg Biochem 94:94-99; Clever et al. (2005) Angew Chem Int Ed 117:7370-7374; Schlegel et al. (2009) Org Biomol Chem 7(3):476-82; Zimmerman et al. (2004) Bioorg Chem 32(1):13-25; Yanagida et al. (2007) Nucleic Acids Symp Ser(Oxf)51:179-80; Zimmerman (2002) J Am Chem Soc 124(46):13684-5; Buncel et al. (1985) Inorg Biochem 25:61-73; Ono et al. (2004) Angew Chem 43:4300-4302; Lee et al. (1993) Biochem Cell Biol 71:162-168; Loakes et al. (2009), Chem Commun 4619-4631; and Seo et al. (2009) J Am Chem Soc 131:3246-3252, the disclosures of which are incorporated herein by reference in their entirety). Other types of modifications include, for example, nicks, missing bases (e.g., apurinic or apyridine site), ribonucleosides (or modified ribonucleosides) within deoxyribonucleoside-based nucleic acids, deoxyribonucleosides (or modified deoxyribonucleosides) within ribonucleoside-based nucleic acids, pyrimidine dimers (e.g., thymine dimers or cyclobutane pyrimidine dimers), cisplatin crosslinks, oxidative damage, hydrolytic damage, other methylated bases, large DNA or RNA base adducts, photochemical reaction products, interstrand crosslink products, mismatched bases, and other types of nucleic acid "damage". Modified nucleotides can be caused by exposing DNA to radiation (e.g., UV), carcinogenic chemicals, cross-linking agents (e.g., formaldehyde), certain enzymes (e.g., nickases, glycosylases, exonucleases, methylases, other nucleases, glucosyltransferases, etc.), viruses, toxins and other chemicals, thermal damage, etc.

[0054] As used herein, the term "polynucleotide" refers to a molecule comprising a sequence of nucleotides bound to each other. A polynucleotide is a non-limiting example of a polymer. Examples of polynucleotides include deoxyribonucleic acid (DNA), ribonucleic acid (RNA), and their analogs, such as locked nucleic acid (LNA) and peptide nucleic acid (PNA). A polynucleotide can be a single-stranded sequence of nucleotides, such as RNA or single-stranded DNA; a double-stranded sequence of nucleotides, such as double-stranded DNA; or a mixture of single-stranded and double-stranded sequences of nucleotides can be included. Double-stranded DNA (dsDNA) includes genomic DNA, as well as PCR and amplification products. Single-stranded DNA (ssDNA) can be converted to dsDNA and vice versa. A polynucleotide may include non-naturally occurring DNA, such as enantiomeric DNA, LNA, or PNA. The precise sequence of nucleotides in a polynucleotide may be known or unknown. The following are examples of polynucleotides: a gene or gene fragment (e.g., a probe, a primer, an expressed sequence tag (EST) or a serial analysis of gene expression (SAGE) tag), genomic DNA, a genomic DNA fragment, an exon, an intron, messenger RNA (mRNA), transfer RNA, ribosomal RNA, a ribozyme, cDNA, a recombinant polynucleotide, a synthetic polynucleotide, a branched polynucleotide, a plasmid, a vector, an isolated DNA of any sequence, an isolated RNA of any sequence, a nucleic acid probe, a primer, or an amplified copy of any of the foregoing.

[0055] The terms "oligonucleotide" and "polynucleotide" are used interchangeably herein. Unless specifically indicated otherwise, the different terms are not intended to represent any specific differences in size, sequence, or other properties. For clarity of description, the terms can be used to distinguish one polynucleotide species from another polynucleotide species when describing a particular method or composition that includes several polynucleotide species.

[0056] The terms "nucleic acid" and "polynucleotide" are used interchangeably and refer to deoxyribonucleotides or ribonucleotide polymers in single-stranded or double-stranded form, and unless otherwise limited, known analogs of natural nucleotides that hybridize to nucleic acids in a manner similar to naturally occurring nucleotides are encompassed, such as peptide nucleic acids (PNA) and thiophosphate DNA. Unless otherwise specified, a specific nucleic acid sequence includes its complementary sequence. Nucleotides include, but are not limited to, ATP, dATP, CTP, dCTP, GTP, dGTP, UTP, TTP, dUTP, 5-methyl-CTP, 5-methyl-dCTP, ITP, dITP, 2-amino-adenosine-TP, 2-amino-deoxyadenosine-TP, 2-thiothymidine triphosphate, pyrrolopyrimidine triphosphate and 2-thiocytidine, as well as α-thiotriphosphates of all of the above substances, and 2'-O-methyl-ribonucleotide triphosphates of all of the above bases. Modified bases include, but are not limited to, 5-Br-UTP, 5-Br-dUTP, 5-F-UTP, 5-F-dUTP, 5-propynyl dCTP, and 5-propynyl-dUTP.

[0057] As used herein, the term "primer" is defined as a polynucleotide to which nucleotides can be added by free 3'OH groups. Primers may include 3' blocking groups that can inhibit polymerization until the blocking groups are removed. Primers may include modifications at the 5' end to allow coupling reactions or to couple the primer to another part. Primers may include one or more parts, such as 8-oxo-G, which may be cleaved under suitable conditions (such as UV light, chemistry, enzymes, etc.). Primer length may be the length of any suitable number of bases, and may include any suitable combination of natural and non-natural nucleotides. Target polynucleotides may include "amplification adapters" or more simply "adapters", which may hybridize with primers (having sequences complementary to primers), and may be amplified to generate complementary replication polynucleotides by adding nucleotides to the free 3'OH groups of primers.

[0058] As used herein, the term "double-stranded" when used with reference to a polynucleotide is intended to mean that all or substantially all of the nucleotides in the polynucleotide are hydrogen bonded to corresponding nucleotides in a complementary polynucleotide. A double-stranded polynucleotide may also be referred to as a "duplex."

[0059] As used herein, the term "single-stranded" when used with reference to a polynucleotide means that substantially none of the nucleotides in the polynucleotide are hydrogen bonded to corresponding nucleotides in a complementary polynucleotide.

[0060] As used herein, the term "target polynucleotide" is intended to mean a polynucleotide that is the purpose of an analysis or action, and may also be referred to using terms such as "library polynucleotide", "template polynucleotide" or "library template". The analysis or action includes subjecting the polynucleotide to amplification, sequencing, and / or other procedures. The target polynucleotide may include a nucleotide sequence other than the target sequence to be analyzed. For example, the target polynucleotide may include one or more adapters, including an amplification adapter that acts as a primer binding site, and the amplification adapter flanks the target polynucleotide sequence to be analyzed. In a specific example, the target polynucleotide may have sequences that are different from each other, but may have a first adapter and a second adapter that are identical to each other. Two adapters that may be located on the flanks of a specific target polynucleotide sequence may have sequences that are identical to each other, or sequences that are complementary to each other, or the two adapters may have different sequences. Therefore, the species in a plurality of target polynucleotides may include a region of known sequence that is located on the flanks of an unknown sequence region that will be evaluated by, for example, sequencing (e.g., SBS). In some examples, the target polynucleotide carries an amplification adapter at a single end, and such adapters may be located at the 3' end or the 5' end of the target polynucleotide. The target polynucleotide may be used without any adaptors, in which case the primer binding sequence may be derived directly from a sequence found in the target polynucleotide.

[0061] For example, the template polynucleotide chain can be any sample to be sequenced, and can be composed of DNA, RNA or its analogs (e.g., peptide nucleic acids). The source of the template (or target) polynucleotide chain can be genomic DNA, messenger RNA or other nucleic acids from natural sources. In some cases, the template polynucleotide chain derived from such sources can be amplified before use. Any amplification technique in various known amplification techniques can be used, including but not limited to polymerase chain reaction (PCR), rolling circle amplification (RCA), multiple displacement amplification (MDA) or random primer amplification (RPA). It should be understood that it is optional for the template polynucleotide chain to be amplified before use. Thus, the template polynucleotide chain will not be amplified before use in some examples. Template / target polynucleotide chains can optionally be derived from a synthetic library. Synthetic nucleic acids can have natural DNA or RNA compositions, or can be analogs thereof.

[0062] Biological samples from which the template polynucleotide chain can be derived include, for example, those from mammals such as rodents, mice, rats, rabbits, guinea pigs, ungulates, horses, sheep, pigs, goats, cows, cats, dogs, primates, humans or non-human primates; plants such as Arabidopsis thaliana, corn, sorghum, oats, wheat, rice, canola or soybeans; algae such as Chlamydomonas reinhardtii; nematodes such as Caenorhabditis elegans; insects such as Drosophilamelanogaster, mosquitoes, fruit flies, bees or spiders; fish such as zebrafish; reptiles; amphibians such as frogs or Xenopus laevis; Dictyostelium discoideum; fungi such as Pneumocystis carinii. carinii), Takifugu rubripes, yeast, Saccharamoyces cerevisiae or Schizosaccharomyces pombe; or Plasmodium falciparum. The template polynucleotide chain 48 can also be derived from prokaryotes, such as bacteria, Escherichia coli, staphylococci or Mycoplasma pneumoniae; Archaea; viruses, such as hepatitis C virus, Ebola virus or human immunodeficiency virus; or viroids. The template polynucleotide chain can be derived from a homogenous culture or population of the above-mentioned organisms, or alternatively from a collection of several different organisms, such as in a community or ecosystem.

[0063] In addition, the template polynucleotide chain may not be derived from a natural source, but can be synthesized using known techniques. For example, gene expression probes or genotyping probes can be synthesized and used in the examples described herein.

[0064] In some examples, the template polynucleotide chain can be obtained as a fragment of one or more larger nucleic acids. Fragmentation can be carried out using any of the various techniques known in the art, including, for example, atomization, ultrasonic treatment, chemical cleavage, enzymatic cleavage, or physical shearing. Fragmentation may also be due to the use of a specific amplification technique, which produces an amplicon by only copying a part of a larger nucleic acid chain. For example, the size of the fragment produced by PCR amplification is limited by the length of the nucleotide sequence between the positions of the flanking primers hybridized on the original template during amplification. The length of the template polynucleotide chain can be represented according to the number of nucleotides, or represented according to metric lengths (e.g., nanometers).

[0065] The population of template / target polynucleotide chains or their amplicon may have an average chain length that is desired or suitable for a particular sequencing device. For example, the average chain length may be less than about 100,000 nucleotides, about 50,000 nucleotides, about 10,000 nucleotides, about 5,000 nucleotides, about 1,000 nucleotides, about 500 nucleotides, about 100 nucleotides, or about 50 nucleotides. Alternatively or additionally, the average chain length may be greater than about 10 nucleotides, about 50 nucleotides, about 100 nucleotides, about 500 nucleotides, about 1,000 nucleotides, about 5,000 nucleotides, about 10,000 nucleotides, about 50,000 nucleotides, or about 100,000 nucleotides. Alternatively or additionally, the average chain length may be greater than about 10,000 nucleotides, about 50,000 nucleotides, about 100,000 nucleotides, about 500,000 nucleotides, about 1,000,000 nucleotides, about 5,000,000 nucleotides, about 10,000,000 nucleotides, about 50,000,000 nucleotides, or about 100,000,000 nucleotides. Alternatively or in addition, the average chain length may be greater than about 10,000,000 nucleotides, about 50,000,000 nucleotides, about 100,000,000 nucleotides, about 500,000,000 nucleotides, about 1,000,000,000 nucleotides, about 5,000,000,000 nucleotides, about 10,000,000,000 nucleotides, about 50,000,000,000 nucleotides, or about 100,000,000,000 nucleotides. The average chain length of a population of target polynucleotide chains or an amplicon thereof may be within a range between the above maximum and minimum values.

[0066] In some cases, the colony of template / target polynucleotide chain can be produced under conditions, or otherwise configured to have the maximum length of its components. For example, the maximum length of the component can be less than about 100,000 nucleotides, about 50,000 nucleotides, about 10,000 nucleotides, about 5,000 nucleotides, about 1,000 nucleotides, about 500 nucleotides, about 100 nucleotides, or about 50 nucleotides. For example, the maximum length of the component can be less than about 100,000,000 nucleotides, about 50,000,000 nucleotides, about 10,000,000 nucleotides, about 5,000,000 nucleotides, about 1,000,000 nucleotides, about 500,000 nucleotides, about 100,000 nucleotides or about 50,000 nucleotides. For example, the maximum length of a building block can be less than about 100,000,000,000 nucleotides, about 50,000,000,000 nucleotides, about 10,000,000,000 nucleotides, about 5,000,000,000 nucleotides, about 1,000,000,000 nucleotides, about 500,000,000 nucleotides, about 100,000,000 nucleotides, or about 50,000,000 nucleotides. Alternatively or in addition, a population of template polynucleotide chains or amplicons thereof can be generated under conditions or otherwise configured to have a minimum length of its building blocks. For example, the minimum length of a building block can be greater than about 10 nucleotides, about 50 nucleotides, about 100 nucleotides, about 500 nucleotides, about 1,000 nucleotides, about 5,000 nucleotides, about 10,000 nucleotides, about 50,000 nucleotides, or about 100,000 nucleotides. For example, the minimum length of a building block can be greater than about 10,000 nucleotides, about 50,000 nucleotides, about 100,000 nucleotides, about 500,000 nucleotides, about 1,000,000 nucleotides, about 5,000,000 nucleotides, about 10,000,000 nucleotides, about 50,000,000 nucleotides, or about 100,000,000 nucleotides. For example, the minimum length of the building block can be greater than about 10,000,000 nucleotides, about 50,000,000 nucleotides, about 100,000,000 nucleotides, about 500,000,000 nucleotides, about 1,000,000,000 nucleotides, about 5,000,000,000 nucleotides, about 10,000,000,000 nucleotides, about 50,000,000,000 nucleotides, or about 100,000,000,000 nucleotides. The maximum chain length and minimum chain length of the template polynucleotide chain in the population can be within the range between the above maximum and minimum values.

[0067] As used herein, the term "read" or "sequence read" refers to the raw sequence from a sequencing machine. A read can consist of multiple segments. For sequencing data, reads are indexed in the order in which they are sequenced. In DNA sequencing, a read is an inferred sequence of base pairs (or base pair probabilities) corresponding to all or part of a single DNA fragment. A typical sequencing experiment involves fragmenting a genome into millions of molecules, size-selecting them and connecting them to adapters. This group of fragments is called a sequencing library, which is sequenced to produce a group of reads.

[0068] As used herein, the term "join file" refers to information about overlapping read sequences, including the length of the overlap, the number of mutations in the overlap region, and the relative orientation of the overlap (forward or reverse complement). The relative orientation is also called "polarity" and is allowed to take values ​​of 1 (same orientation), -1 (the read overlap is the reverse complement of one of the reads), or 0 (orientation unknown).

[0069] As used herein, the term "guide" refers to a segment of a reference genome.

[0070] As used herein, the term "MUT read" refers to a read with artificial mutations introduced to allow reads from a single template molecule to be grouped together.

[0071] As used herein, the term "INDEL" refers to insertion / deletion.

[0072] As used herein, the term "SNP" refers to single nucleotide polymorphism.

[0073] As used herein, the term "template" refers to a DNA / RNA sequence, a portion of which is sequenced on a sequencing machine or assembled from a raw sequence.

[0074] As used herein, the term "segment" refers to a contiguous sequence or a subsequence.

[0075] As used herein, the term "linear alignment" refers to an alignment of a read to a single reference sequence, which may include insertions, deletions, skips, and clippings, but may not include changes in direction (i.e., one portion of the alignment on the forward strand and another portion of the alignment on the reverse strand). A linear alignment can be represented in a single SAM record.

[0076] As used herein, the term "read alignment" refers to a linear alignment or a chimeric alignment, which is a complete representation of the read alignment.

[0077] As used herein, the term "multiple mappings" refers to situations where the correct placement of a read may be ambiguous, for example due to duplication. In this case, there may be multiple read alignments for the same read. One of these alignments is considered primary. All other alignments have the secondary alignment flag set in the SAM record that represents them. Typically, the SAM records have the same QNAME and the same values ​​for the 0x40 and 0x80 flags. Typically, the alignment designated as primary is the best alignment, but the decision about the primary alignment can vary.

[0078] As used herein, the term "tracing" refers to constructing a sequence of nodes connecting a sequence of edges from a k-mer graph. For example, tracing can refer to a random walk on a k-mer graph that samples potential k-mer sequences. In a k-mer graph, a node can represent a k-mer, and an edge can represent a co-occurrence between a k-mer and an adjacent k-mer, and optionally, an edge direction can represent an ordering of the k-mers. All nodes and edges may or may not be different. Edges may or may not be directed. Tracing can optionally begin by identifying nodes to which no nodes lead, so that those nodes are the beginning of potential paths to be traced.

[0079] As used herein, the term "BAM file" refers to the binary version of a SAM file. A SAM file (.sam) is a tab-delimited text file containing sequence alignment data. These formats are further described online. BAM is the recommended format for IGV, not SAM. Starting with IGV 2.0.11, IUPAC ambiguity codes in BAM files are supported. A binary alignment map (BAM) is comprehensive raw data for genome sequencing; it consists of a lossless, compressed binary representation of a sequence alignment map file. BAM is a compressed binary representation of a SAM (sequence alignment map), a compact and indexable representation of nucleotide sequence alignments. The goal of the index is to quickly retrieve alignments that overlap a specific position without having to traverse all alignments. Before indexing, the BAM must be sorted by reference ID and then the leftmost coordinate. BAM is a compressed BGZF format.

[0080] The structure of a BAM file may include a header portion and an alignment portion.

[0081] [1]Header—The sample name, sample length, and comparison method are included in this section. The comparison section contains the comparisons that are linked to the specific information in the header section.

[0082] [2] Alignment—Read name, read sequence, read quality, alignment information, and custom tags are included in this file. The chromosome, starting coordinates, alignment quality, and match descriptor string are included in the read name. The alignment section includes the following: read group (RG), barcode label (BC), single-end alignment quality (SM), paired-end alignment quality (AS), edit distance label (NM), and amplicon name label (XN)

[0083] The BAM format uses a 0-based coordinate system, while the SAM format uses a 1-based coordinate system. The BAM format can represent a range of [-2 31 ,2 32 ] inside.

[0084] Methods of the present disclosure

[0085] Figure 1 An overview of a guided assembly process 100 according to one embodiment is shown. The process takes input from a cluster .gz file 105 and a subgraph BAM file 110. A cluster .gz file is a compressed file that stores reads and read pairs associated with each cluster from a sequencing run. The rows in the cluster .gz file may have one row per cluster, and each row will have an identifier for each read pair associated with a cluster numbered sequentially from 1 to n. It should be noted that each row may identify all read pairs associated with a cluster, and therefore may have many read pair identifiers for each cluster.

[0086] Subgraph BAM files are coordinate classification BAM files of all reads involved in the files of sequence clusters from the NGS process, as well as their alignments with templates or reference genomes. In one embodiment, the entire NGS sequence run can be subsetted into multiple BAM files, each BAM file containing a portion of the total reads from the sequencing run. This allows the overall k-mer assembly process of assembling millions of clusters by creating subsets of clusters and their associated BAM files (e.g., each BAM file) into hundreds of separate k-mer subgraphs. Subsetting BAM files can facilitate the data processing requirements for managing the entire data set, which can be terabytes or more of data to be managed.

[0087] In some embodiments, the method can be divided into, for example, less than one thousand subgraphs by the overall sequencing problem of millions of clusters and / or sets. In some embodiments, 10 million sets can be divided into any one of the following: 10,000, 5,000, 1,000, 700, 500, 300 and 100 subgraphs. In some embodiments, 5 million sets can be divided into any one of the following: 10,000, 5,000, 1,000, 700, 500, 300 and 100 subgraphs. In some embodiments, 1 million sets can be divided into any one of the following: 10,000, 5,000, 1,000, 700, 500, 300 and 100 subgraphs. The typical size of the entire data set can include billions of reads, and can be 10 billion, 8 billion, 6 billion and 4 billion reads. Such data sets may be close to terabytes in size, and therefore will not be suitable for RAM on commercial hardware. Embodiments of the present disclosure can advantageously subset the assembly size to fit typical computer hardware or optimize the file (contrary to the processing on the processor) of the processing on FGPA hardware. In some embodiments, the input data will be in the same format as a typical BAM or SAM file. Typical input files can include a row of every cluster, and every row can include an identifier. The identifier can be an integer identifier for each read pair from 1 to any larger number N sequential numbering.

[0088] In addition, overlapping similar read pairs can be determined by matching read pairs to each other. This allows the system to create links between overlapping similar read pairs that can be stored in the subgraph link file 114. The subgraph link file stores links between a pair of read pairs. In some embodiments, the read pairs of these links share sequence homology with each other. In some embodiments, the process of artificially mutating the original template sequence leads to identifiable mutations in the pair of read pairs, which helps to determine sequence homology and overlap between read pair groups. Links identify paired read pairs that are similar to each other in terms of overlap, and each read pair can also be specified to overlap with other read pairs. This allows the system to know the nucleic acid orientation of each read pair, because the read pair matches with other similar read pairs. For example, if two read pairs are oriented in the same direction compared to the template, the system can determine that they are positively oriented, and if they are oriented in the opposite direction compared to the template, the system can determine that they are negatively oriented. These orientations can be used later in the assembly process.

[0089] The process 100 then moves to box 118, where read clusters are generated by pulling the sequences of all read pairs involved in a single cluster together into a memory so that they can be sequentially accessed by the system. Therefore, this step collects the sequences of a given cluster in a memory for the system to process later. In an embodiment of the present disclosure, the process can use a standard BAM file to generate read clusters. For example, read clusters can be generated by inputting a cluster file to an assembly system, wherein each row of the cluster file contains one cluster. Each row of the cluster file can include a list of IDs of the read pairs that constitute the cluster. The cluster file can be parsed to create a mapping that associates each read ID with its cluster ID, wherein the ID of a given cluster can be its row number. Each row can be parsed independently, and each read ID that constitutes the row can be stored in the cluster map as a keyword. An example value of a keyword can be the row number of the associated cluster.

[0090] After parsing, a read vector can be created for each cluster. BAM files can be processed using read to cluster ID mapping. In some embodiments, mapping can be used for each record to find the cluster ID associated with the read ID. The read can be pushed into the read vector corresponding to the cluster. The disclosed method can output a vector associating each cluster ID with the vector of reads contained in the cluster.

[0091] Process 100 then moves to box 120, where subgraph link information is used to collect orientation information for each of the read pairs from each cluster. This information can be used to determine whether a given read pair is in the correct orientation with the read pair it is linked to. If orientation information is given to the system, the system can use the orientation information (such as orientation information 114) to help build a k-mer graph of a specific sequence. In some embodiments, cluster read orientations are generated by parsing a binary subgraph link file in a single sequential path, during which a "union-find" data structure is filled. Once the data structure is fully filled, the union-find data structure can record three pieces of information: a) each read pair is assigned to a connected component in the graph, b) the read ID of the representative read of each connected component, which can be the minimum (absolute value) read ID in the component, and c) the orientation of each read in the connected component relative to the representative read.

[0092] In order to construct a joint search data structure, a representative vector can be initialized with a length equal to the maximum read ID. Each element of the representative vector can record two pieces of information: the representative read ID of the connected component to which the read currently belongs, and the orientation (i.e., polarity) relative to the representative. The representative ID of entry i can be initialized to i, and the polarity can be initialized to 1. In an alternative, in the case where the set of read IDs is sparse, the use of an unordered mapping table / hash table can lead to a more memory-efficient implementation. These functions can output a data structure that enables the relative orientation of reads in a cluster to be queried.

[0093] If the orientation of the read is negatively oriented, the system can reorient the sequence data of the read pair so that all linked read pairs associated with the cluster can be oriented in the same direction as the single target sequence being assembled.

[0094] In the next step, the reference genome information from the reference file 116 is used as input into box 124 to generate reference guidance. This allows determination of where read pairs are aligned along the reference genome. This data can be used to estimate which read pairs are likely to be aligned with a particular portion of the reference genome or template. Based on this estimate, some estimated alignments or no estimated alignments of linked read pairs can be determined from each cluster with the reference genome.

[0095] When generating a reference guide for a given cluster, the assembly system can iterate through the associated reads and clusters and infer the correct reference guide based on the mapping position of the reads. The input for generating the reference guide can be a BAM file containing a reference classification mapping of the MUT reads associated with the cluster. This step 124 can iterate through all paired reads from the cluster and use their mapping positions to extract the reference guide for the cluster. For a given read, the reference guide can first be initialized based on the start and end positions of the mapping of the read. Since the input BAM file can be classified by coordinates, when processing subsequent reads, if the two reads are within a given range, the previous reference guide can be extended to take into account the mapping coordinates of the current read. If the two reads are not within a given range, a new reference guide can be initialized for the current read, and the same process can be applied to all reads.

[0096] In some cases, a threshold can be set to exclude reference guides that may be too short, or an insufficient number of reads may cover the reference guide. In some embodiments, the lower threshold can be a reference guide with at least two reads and / or read pairs mapped to the reference guide, where at least one of the two reads must have a strong alignment, such as mapQ>=20. In some embodiments, the lower threshold for the reference guide may also require the reference guide to have a length of at least 250bp. In some embodiments, a lower threshold may be set to exclude reference guides that are less than 500, 400, 300, 200, 100 or fewer nucleotides in length. Such guides can still be extracted by the aforementioned process, but they are not output if they are below the set threshold.

[0097] If orientation information is provided for the reference guide, the orientation of both the read and the reference guide may also be updated accordingly during this step 124. Using the data structures populated during the previous steps, each read of each read pair may be compared and oriented relative to a representative of the cluster and relative to the orientation indicated in the BAM file. For a given read belonging to a given pair, the following formula may be used, where 1 indicates a forward orientation and -1 indicates a reverse orientation:

[0098] orientation[read]=relativeOrientation(pair,representative)*

[0099] (isFirstMate(read)?1:-1)*BAMSign(read), where if the two pairs have the same orientation, then relativeOrientation(pair, representative) returns 1 if the two pairs do not have the same orientation, otherwise it returns - 1, and 0 if its relative orientation is unknown .

[0100] This process can be used for unmapped reads, for which some embodiments of the present disclosure may be able to calculate the orientation relative to a representative of the cluster and ensure that the read can be sent to the next step in the pipeline with the correct orientation. A similar procedure can be applied to a reference guide, whose orientation can be calculated based on the orientation of each individual mapped read and a majority vote can be performed on it. If the majority of reads align with a given guide in the opposite orientation, the guide can be reverse complemented and the aligned reads can be reverse complemented accordingly.

[0101] The output of this process can be a vector containing all reference guides associated with clusters that pass the quality threshold, and a stacked vector recording the read event information for each position of each reference guide. A Boolean value can also be returned to indicate whether the cluster should be sent to the k-mer assembler. In the case where the reference guide may be too long, or in the case where the cluster may contain too many reads, this Boolean can be set to false and the cluster may not be sent to the k-mer assembly system. This step 124 can also return the ID, chromosome, and start and end positions of the most supported reference guide for the cluster.

[0102] This reference guidance data can be used for the assembly diagram process later, even if not all link reads can be matched with a specific position along the reference genome. For example, in the process of generating reference guidance, the assembly system can compare the specific reads from the cluster with the position A on the reference genome. Then, the system can compare the link reads from the same cluster with the position B on the same reference genome. If position A and position B are within a short distance of each other, the possibility of the alignment being correct is greater, because the two reads linked to each other should be neighbors on the reference genome. However, if position A and position B are not close to each other, the reads of the two links are less likely to be correctly aligned. For example, if position A and position B are within 5000, 4000, 3000, 2000, 1000, 500 or less bases, the reads of the link can be considered to be correctly aligned with the reference genome. Then the process can be repeated for each read associated with a specific cluster, so that each read can be aligned with the reference genome, and the measure of the degree of correlation of the reads from the cluster with the reference genome can be determined. Generally speaking, it is found that the reads aligned with the reference genome are more, and the system can be more confident that the alignment is correct. If the confidence of the reference guidance with enough evidence is found, specific guidance can be added to the assembly process. The process is repeated for each link set of the reads of each cluster, and the guidance of the sufficient alignments of the multiple reads from the cluster is found to be included in the assembly process. In one embodiment, the mapping / alignment process can be used for filtering sequences based on the confidence score of a given alignment or position. In some embodiments, any method or process known in the art can be used for reads to be aligned with the reference genome.

[0103] Then, at box 126, the reference guides and their aligned, oriented, linked read pairs are input into the graph process. The graph construction process can be a k-mer based construction process, such as outlined in U.S. Patent No. 14,775,252 and U.S. Patent No. 17,165,828, both of which are incorporated herein by reference in their entirety. The input to this graph process step can be a set of reads associated with a cluster and a set of reference guides. A continuous sequence of sufficient quality bases can be extracted from those reference guides and reads to form a subsequence, which is then used to generate a k-mer of a specific length. It should be recognized that the length can be adjusted and, if necessary, the graph construction process can be restarted with multiple different lengths to produce a valid k-mer graph during the graph assembly process.

[0104] K-mers generated from reference guidance can be marked as such for later distinction from k-mers generated by covering reads. In particular embodiments, k-mers derived from reference guidance (e.g., k-mers that do not appear in any reads) may not contribute to the edge weights of the graph. In addition, the uniqueness of k-mers can be tracked in the domain of each subsequence. For example, this may mean that if a particular k-mer appears multiple times in a single subsequence, it may only be considered non-unique. According to some embodiments, a k-mer that appears multiple times in multiple subsequences but once in each individual subsequence will not be considered non-unique.

[0105] In some embodiments, graph construction can start with a k-mer from a reference guide for constructing a backbone of a k-mer graph, which can then be used to guide the assembly of a k-mer graph. Each reference guide can be processed independently, and through a threaded process, k-mers derived from the reference guide can be sequentially added to the k-mer graph. Each k-mer that does not yet exist in the graph therefore introduces a new vertex with zero or more edges connected to the shared k-1mer. Therefore, if a new fork is created, or if an existing path is extended, new vertices and edges can be added, with an initial edge count of zero because the reference guide may not be allowed to contribute to the edge weight. At the end of this step, after all k-mers from the reference guide are added to the graph, all edges of the graph have a weight of 0.

[0106] Furthermore, since multiple reference guides can be provided, the graph obtained after such a first step can have multiple sources and multiple sinks. After all reference guides are processed by the same process, the k-mers derived from the covered reads can be added to the graph, and the edge counts in the graph can be incremented as the reads are threaded through the existing path. If a new fork is created, or if an existing path is extended, new vertices can be added, but the initial edge count can be set to 1.

[0107] If a cycle is created, or if the complexity of the graph is too low, as determined by the % of k-mers that may be non-unique, the construction can be aborted to retry with a different k-mer length, see, e.g., step 127. After a fork, a path can typically only rejoin at a node corresponding to a k-mer that may be in a unique set, which means that only unique k-mers can branch. It should be recognized that a unique k-mer is not necessarily unique in the set of all k-mers, but may be unique in the context of a single subsequence and then join the set of all unique k-mers. In addition, it may not be required that the reference guide k-mer be unique for a successful graph construction at a given k-mer length. The output may be a successful graph with the lowest k-mer length that does contain any cyclic k-mers by construction.

[0108] As described above, the assembly system can use k-mers of different sizes to build a test graph to determine a graph without cycles. In some embodiments, the minimum k-mer that creates an available graph can be selected. In some embodiments, the length of the k-mer can be in the range of 10 nucleotides to 100 nucleotides, but the number of nucleotides per k-mer is considered to be less or more. The k-mer graph comprises nodes and edges. The nodes are oligonucleotide sequences, and the edges imply that the two oligonucleotides are identical to each other, except for example the first base of an oligonucleotide and the last base of the next oligonucleotide. Therefore, such an edge means that the k-mer at a specific node can be extended by a single base to produce another k-mer, which is another node in the k-mer graph.

[0109] An edge in a k-mer graph is an indication of the support for a particular k+1 nucleotide from an oligonucleotide at the associated node in the graph. One feature provided during the disclosed assembly and traversal of the graph is the amount of support a particular edge has in the sequence and read data that make up the graph and assembly problem. In one embodiment, the count of reads that exactly match the sequence implied by the edge can be used to calculate the weight of the edge. By way of example, if there is one read with a particular edge k-mer, the weight of the edge can be set to 1. If there are five reads with a particular edge k-mer, the weight of the edge can be set to 5, and so on.

[0110] In order to determine the reconstruction of the target reference genome, the system can select a single forward pass path through the k-mer graph at box 128. In some embodiments, the method of the present disclosure can use the heaviest path extraction. In some embodiments, a single heaviest path can be calculated, but it is explicitly considered that multiple paths can be extracted (especially in the case of multiple reference guidance). The example function for the heaviest path extraction can be operated as follows by first performing a forward pass path score on the k-mer graph. The weight of each possible path can be defined as the sum of the edge weights of the path, which can be used to determine the heaviest possible forward path. This step can apply dynamic programming forward transfer, resulting in each node knowing the weight of the best (partial) path that terminates at the node and the identification of the edge leading to the node included in the best path to the node (if any). Path extraction is not necessarily limited to starting and stopping at the reference guidance start and end nodes, and the extracted path can therefore start and stop at any node. A single heaviest path can be calculated, but in the case of multiple reference guidance, multiple paths can be extracted, for example, by iteratively finding the heaviest path at each iteration and removing it from the graph. At the end of this step, the node with the heaviest path ending at that node is known; this is the “heaviest path end node.” The disclosed function may output a node of the graph corresponding to the last node of the heaviest path.

[0111] In some embodiments, such a function can assign quality scores to long template bases based on local maximum edge weights, and / or identify and mark bases that are supported only by reference guidance. The disclosed function can output an assembled long template with quality scores assigned to each base.

[0112] The input of these steps 128 or 130 can be the k-mer graph generated during the previous step, and if the graph is constructed successfully, the k-mer graph will not contain cycles. Path extraction can be performed directly on the k-mer graph. The path is not strictly limited to head to tail, and therefore can start and stop at any node. The weight of each path can be defined as the sum of the edge weights of the path. In some embodiments, all graph nodes can be looped, and nodes without incoming edges can be added to the queue. For each node, the best weight and best length value and the backtracking pointer of the previous node indicating the best path associated with the node can be recorded, and the backtracking pointer can be used in the subsequent backtracking step.

[0113] After the queue is initialized, the nodes pushed into the queue can be filled one by one. For each node, if its optimal weight value is strictly greater than the current global optimal weight (initialized to 0) found, the latter's value can be updated according to the value of the node, and the pointer to the node can be recorded as the optimal tail. All outgoing edges of the current node can then be processed, and these outgoing edges can be called sources. Each node that can be reached by following one of those edges can be called a target. If the sum of the optimal weight of the source and the weight of the following edge is strictly greater than the optimal weight of the target, the optimal weight and optimal length value of the target can be set accordingly, and the backtracking pointer of the target is set to the source. Since references may not be allowed to contribute to edge weights, such embodiments can ensure that the head and tail of the path will not contain only reference nodes, and then the resulting long template will not contain only head / tail bases derived from reference guidance.

[0114] If all incoming edges leading to a target have been visited, there will be no additional way to traverse the graph to reach that target. In the same manner as the queue is initialized, targets can be added to the queue so that the same process can be followed to process all nodes of the graph. Ensuring that all incoming edges can be visited before adding a node to the queue will ensure that each node is only processed once. Processing of a single node selected from the queue continues until the queue is empty, at which point an embodiment of the present disclosure will iterate through all nodes of the graph. The output can be a graph node marked as the best tail after all nodes have been processed.

[0115] Process 100 can then determine the heaviest path extraction and backtracking at box 130. The process can start at the last node in the path with the highest edge weight score sum. Starting from the last node in the path, the system moves backward through the path and calculates k-mer to determine the sequence associated with each node when traversing the path. If a node with multiple possible paths into it is reached, the system can select the path with the highest edge weight score to traverse because it moves backward through the path. The system continues to iterate the process backward through the path, moving through the path by selecting the highest weighted edge for each node in the path until the first node is reached. Once the final backtracking path through the k-mer graph is determined, the system can construct the nucleotide sequence of the nodes that make up the path, because each node differs from the previous node in the graph by a single nucleotide.

[0116] As mentioned above, multiple forward paths through k-mer graphs can be extracted, and therefore the backtracking process can be applied to each path in those paths. The input of this backtracking step can be a pointer to a graph node marked as "best tail". "Best tail" can be any tail that the forward transfer extraction process identifies as the beneficial tail end of the path through k-mer graphs. In some embodiments, the best tail can be the local best tail of the best path identified during the forward path extraction. The step comprising 130 performs the backtracking of the heaviest path to generate a long template. Backtracking can be performed from the best tail until the process arrives at a node where the backtracking pointer is not set, thereby indicating the head of the heaviest path.

[0117] For each node traversed in this way, the weight of the edge leading to the current node from the backtracking pointer can be added to the end of the edge weight list. The list can be constrained to contain at most K+1 values, where K is the k-mer size of the graph, so that the quality value is assigned to the assembled long template base based on the local maximum edge weight. For each node, its last base can be pre-added to the result long template, and can be assigned as a quality value, which is a function of the maximum value present in the edge weight list. Given how to construct the list, this embodiment is equivalent to assigning a quality value to each base according to the number of reads supported by the base. Then, if the list contains the maximum allowed number of values, the first element of the list can be removed, and the backtracking process continues with the node pointed to by the backtracking component point. More precisely, each quality value can be calculated using the following formula, where maxEdgeWeight represents the maximum value in the list at a given time, and where 33 is an offset for ASCII encoding: qualityValue=min(maxEdgeWeight>0?20+2*(maxEdgeWeight-1):0,40)+33. The strategy also provides for identification and labeling of bases that may be supported only by reference guidance, assigning them a quality value of zero.

[0118] When the head node (e.g., a node for which a backtracking pointer is not set) is reached, each base can be pre-added to the result long template one by one and can be assigned a quality value, which is the maximum value present in the edge weight list. After processing each base in the same manner as before, the first element of the edge weight list can be removed to maintain the local maximum edge weight logic for quality value assignment. The output can be an assembled long template in which a quality value is assigned to each base.

[0119] One aspect of the present disclosure relates to methods and applications for k-mer graph construction. In some embodiments, the k-mer assembly method may be different from a typical k-mer assembly process. For example, in some embodiments, the guide sequence will be copied from a reference genome and will not be counted when assigning edge weights. In contrast, the edge weights according to some embodiments are attributable to the actual sequence reads that enter the assembly process.

[0120] In the ordinary case, a graph can be constructed where one k-mer is followed by another k-mer, and can be extended from one base to the next base along the next edge, and from another base along the next edge, all the way to the end of the sequence. The graph can be constructed with all the k-mers in the read and a guide to input the graph by generating straight lines of k-mers. However, this assembly method can be complicated in practice for several reasons. Actual graphs are often more complex, with splits where paths may branch in two different directions without returning to each other, and bubbles where paths may fork for a while in a long slightly different sequence and then return.

[0121] To address these issues, some embodiments may proceed by selecting a single path through the graph where the sum of the edge weights on that path is higher or as high as any other possible path through the graph. Edge weights may be used advantageously to generate sequences from k-mer graphs.

[0122] Some embodiments of the present disclosure can use dynamic programming techniques to help assemble.Dynamic programming generally refers to computer programming techniques, wherein the problem is first decomposed into sub-problems, the result is saved, and then the sub-problems are optimized to find an overall solution.Using dynamic programming techniques, some embodiments can start by first identifying that there is no node leading to a node therein, so that those nodes are the beginning of potential paths.Then, it is possible to assemble by tracking from each of those nodes, and set up the sum of edge weights until the node has two possible ways of arriving or two possible ways of leaving.Some embodiments have different bookkeeping methods to sum edge weights.The embodiment can be by finding the best possible score of the node path of the given node being tracked and whether the tracking is from the top or bottom or bottom of the node (that is, with reference to two options for entering the node).

[0123] In some embodiments, the method according to the present disclosure can determine the best partial paths for some subsets of nodes. In some embodiments, the method can use edge weight propagation or forward transfer path scoring techniques to select the best route. Therefore, each node can be associated with the best possible weight for any path to reach the node. The node can then provide information about which immediately preceding node provides the best partial path to that point. Eventually, there will be some nodes that do not have anywhere to continue. Then, a single best score can be calculated and selected from all of these terminal nodes. For example, the single best score can be the heaviest path from the forward transfer scoring.

[0124] In some embodiments, method can use backtracking to produce complete path.Each terminal node, because these nodes have no way to return to different preceding nodes, will only create a single sequence from the k-mer of the node itself.Therefore, if a node has only a way to reach it (that is, enter one of its edges), then the disclosed method can follow an edge to reach the preceding node backward, then operate on this node and try to keep backward.However, if the initial node (non-terminal node) has more than one option to reach it, then each option has the edge weight calculated during the first forward transfer and the associated best score to this node.Therefore, some embodiments can track the best edge backward, and can recurse or iterate on the process of following the best edge backward.The embodiment can proceed until reaching the starting node of this path, and this starting node can be a node where no node enters.

[0125] After recursion, some embodiments will collect all relevant nodes and the associated scoring.Such embodiments can extract sequences from all nodes of the unique path in the k-mer graph.In some embodiments, confidence scores can be assigned to each edge weight and the sum of the edge weights of different traces.Larger edge weight scoring can represent a relatively high confidence in the potential sequence, while low edge weights may be less preferred and provide a relatively low confidence in the potential sequence.In some embodiments, alternative path information can be retained for some or all sequencing processes, and can help find the global optimum.Information including sequence and confidence scores can be provided according to the method disclosed herein, and this information can be used as an assembly sequence output.This information can be referred to as overlapping groups, which are well-known terms in the assembly literature.Overlapping groups can be used as fastQ outputs including sequence data and confidence scores.

[0126] The assembled sequence or contig can then be used as part of the results output at box 134. The sequence can then be output as a compressed fastq file 136.

[0127] It should be appreciated that in some cases, the graph construction process occurring at box 126 may fail to create a usable k-mer graph. For example, the graph may contain only loops, where each path through the graph loops back to itself, so there is no linear path through the graph. In this case, the system can output a set of subgraph files containing data related to the orientation reads for each cluster in the fastq file 138 or the orientation reference guidance for each cluster 140 from the failed graph construction. It should be appreciated that if the graph construction process fails at box 126, the process 100 can move directly to output files 138, 140, and not continue with any of the further processes at boxes 128, 130, 134, or 136.

[0128] Embodiments of the present disclosure may also include systems for analyzing and assembling polynucleotide sequences. Figure 2 is a block diagram of an exemplary computing system 200 that can be used in conjunction with an exemplary sequencing system. Computing system 200 can be configured to determine a DNA sequence by using the sequencing and assembly methods disclosed herein. Figure 2 The general architecture of the depicted computing system 200 includes an arrangement of computer hardware and software components. The computing system 200 may include Figure 2 Those more (or fewer) elements are shown. However, in order to provide an enabling disclosure, it is not necessary to show all of these generally conventional elements.

[0129] As shown, computing system 200 includes processing unit 210, network interface 220, computer readable medium drive 230, input / output device interface 240, display 250 and input device 260, all of which can communicate with each other through communication bus. Network interface 220 can provide connection with one or more networks or computing systems. Therefore, processing unit 210 can receive information and instructions from other computing systems or services via network. Processing unit 210 can also communicate with memory 270, and further provide output information for optional display 250 via input / output device interface 240. Input / output device interface 240 can also accept input from optional input device 260 (such as keyboard, mouse, digital pen, microphone, touch screen, gesture recognition system, voice recognition system, game board, accelerometer, gyroscope or other input device).

[0130] Memory 270 may contain computer program instructions (grouped into modules or components in some embodiments) that processing unit 210 executes to implement one or more embodiments. Memory 270 typically includes RAM, ROM, and / or other persistent, secondary, or non-transitory computer-readable media. Memory 270 may store an operating system 272 that provides computer program instructions for use by processing unit 210 in general management and operation of computing device 200. Memory 270 may also include computer program instructions and other information for implementing aspects of the present disclosure.

[0131] For example, in one embodiment, the memory 270 includes a cluster assembly process module 274 for analyzing and assembling polynucleotide sequences. The cluster assembly process module 274 can perform the methods disclosed herein, including relative to Figure 1 The process described. In addition, the memory 270 may include or communicate with a data repository 290 and / or one or more other data repositories that store one or more inputs, one or more outputs, and / or one or more results (including intermediate results) of determining DNA sequences and providing assembly processes according to the present disclosure. Such data may include, for example, unmutated sequence reads, mutated sequence reads, and reference guidance.

[0132] In some embodiments, the system and method disclosed in the present invention may be related to a method for transferring or distributing certain sequence data analysis features and sequence data storage information to a cloud computing environment or a cloud-based network. User interactions with sequencing data, genomic data, or other types of biological data can be mediated via a central hub that stores and controls access to various interactions with data. In some embodiments, a cloud computing environment can also provide sharing of medical protocols, analytical methods, libraries, sequence data, and distributed processing for sequencing, analysis, and reporting. In some embodiments, a cloud computing environment helps users modify or annotate sequence data. In some embodiments, the system and method can be implemented in a computer browser, on demand, or online.

[0133] In some embodiments, software written to perform the methods as described herein is stored in some form of computer readable media, such as a memory, CD-ROM, DVD-ROM, memory stick, flash drive, hard drive, SSD hard drive, server, mainframe storage system, etc.

[0134] In some embodiments, the method can be written in any programming language in various suitable programming languages, such as compiled languages ​​such as C, C#, C++, Fortran and Java. Other programming languages ​​can be scripting languages, such as Perl, MatLab, SAS, SPSS, Python, Ruby, Pascal, Delphi, R and PHP. In some embodiments, the method is written in C, C#, C++, Fortran, Java, Perl, R, Java or Python. In some embodiments, the method can be a stand-alone application with data input and data display modules. Alternatively, the method can be a computer software product and can include such a class, wherein the distributed object includes an application containing a computing method as described herein.

[0135] In some embodiments, the method can be incorporated into existing data analysis software (such as data analysis software found on a sequencing instrument). Software including the method of computer implementation as described herein is directly installed on a computer system, or is indirectly maintained on a computer readable medium and loaded onto a computer system as needed. In addition, the method can be located on a computer remote from the location where the data is generated, such as software found on a server or the like maintained in another location relative to the location where the data is generated (such as provided by a third-party service provider).

[0136] The measuring instrument, desktop computer, laptop computer or server may include a processor operatively communicating with an accessible memory, and the accessible memory includes instructions for realizing the system and method. In some embodiments, a desktop computer or laptop computer operatively communicates with one or more computer-readable storage media or devices and / or output devices. The measuring instrument, desktop computer and laptop computer can operate under many different computer-based operating languages, such as the operating languages ​​used by the computer system based on Apple or the computer system based on PC. The measuring instrument, desktop computer and / or laptop computer and / or server system can also provide a computer interface for creating or modifying experimental definitions and / or conditions, viewing data results and monitoring experimental processes. In some embodiments, the output device can be a graphical user interface, such as a computer monitor or computer screen, a printer, a handheld device, such as a personal digital assistant (i.e., PDA, Blackberry, iPhone), a tablet computer (e.g., iPAD), a hard disk drive, a server, a memory stick, a flash drive, etc.

[0137] Computer readable storage device or medium can be any device such as server, mainframe, supercomputer, tape system, etc. In some embodiments, storage device can be located at the site of the position of measuring instrument, such as adjacent to or next to measuring instrument. For example, relative to measuring instrument, storage device can be located in the same room, in the same building, in adjacent buildings, on the same floor in a building, on different floors in a building, etc. In some embodiments, storage device can be located outside the measuring instrument site or away from the measuring instrument. For example, relative to measuring instrument, storage device can be located in different parts of a city, different cities, different states, different countries, etc. In the embodiment where storage device is located away from the measuring instrument, communication between one or more of measuring instrument and desktop computer, laptop computer or server is usually connected by the Internet (wirelessly or by access point using network cable). In some embodiments, storage device can be maintained and managed by individuals or entities directly associated with measuring instrument, while in other embodiments, storage device can be maintained and managed by third parties, usually at the location of individuals or entities associated with measuring instrument at the far end. In the embodiment as described herein, output device can be any device for visualizing data.

[0138] The measuring instrument, desktop computer, laptop computer and / or server system itself can be used to store and / or retrieve a computer-implemented software program including a computer code for executing and implementing the computing method as described herein, data used in implementing the computing method, etc. One or more of the measuring instrument, desktop computer, laptop computer and / or server may include one or more computer-readable storage media, which are used to store and / or retrieve a computer-implemented software program including a computer code for executing and implementing the computing method as described herein, data used in implementing the computing method, etc. The computer-readable storage medium may include, but is not limited to, one or more of a hard drive, an SSD hard drive, a CD-ROM drive, a DVD-ROM drive, a floppy disk, a tape, a flash memory stick or card, etc. In addition, a network including the Internet can be a computer-readable storage medium. In some embodiments, a computer-readable storage medium refers to a computing resource storage device that can be accessed by a computer network through a corporate network provided by the Internet or a service provider, rather than, for example, a local desktop computer or laptop computer at a location away from the measuring instrument.

[0139] In some embodiments, computer-readable storage media for storing and / or retrieving computer-implemented software programs containing computer code for performing and implementing computational methods as described herein, data for use in implementing computational methods, etc. are operated and maintained by a service provider that operatively communicates with the assay instrument, desktop computer, laptop computer, and / or server system via an Internet connection or a network connection.

[0140] In some embodiments, the hardware platform for providing a computing environment includes a processor (i.e., a CPU), wherein processor time and memory layout such as a random access memory (i.e., RAM) are system considerations. For example, a smaller computer system provides a cheap, fast processor and a large memory and storage capacity. In some embodiments, a graphics processing unit (GPU) can be used. In some embodiments, the hardware platform for performing a computing method as described herein includes one or more computer systems with one or more processors. In some embodiments, smaller computers are clustered together to create a supercomputer network.

[0141] In some embodiments, the computing methods as described herein are performed on a collection of interconnected or internally connected computer systems (i.e., grid technology) that can run various operating systems in a coordinated manner. For example, the CONDOR framework (University of Wisconsin-Madison) and the systems available through United Devices are examples of coordinating multiple independent computer systems for the purpose of processing large amounts of data. These systems can provide a Perl interface to submit, monitor and manage large sequence analysis jobs on a cluster through serial or parallel configurations.

[0142] One aspect of the present disclosure relates to workflow modules that can be integrated into existing workflows. In some embodiments, the workflow module can be a reference-guided assembly module and can be integrated into an NGS sequence analysis platform, such as DRAGEN from Illumina. TMBio-ID platform. In some embodiments, the workflow module can use cluster information to extract aligned MUT reads and reference sequence segments for each cluster, referred to as reference guides. The set of reads and reference guides for each assembled cluster can be passed to the assembly system to build a k-mer graph for all sequences. If orientation information is provided, the assembly system can use this information to infer the correct orientation of the reads and reference guides. In practice, multiple graphs can be constructed using the assembly system, each with a different k-mer size. In some embodiments, if some k-mer sizes do not produce satisfactory graphs (e.g., graphs containing loops or too many non-unique k-mers), these unsatisfactory graphs can be discarded. In some embodiments, once a satisfactory graph is constructed for a certain k-mer size, the heaviest path extraction procedure is applied to assemble a long template for the associated cluster, which is output to a result file. In some embodiments, if the path extraction fails to produce a long template, the reads and reference guides associated with the cluster can be output to two different files (one for the reads and one for the reference guide), which are then optionally passed to an alternative assembly method. In some embodiments, if all k-mer sizes fail to produce a graph, the reads and reference guides associated with the cluster can be output to two different files (one for the reads and one for the reference guides), which are then optionally passed to an alternative assembly method. In some embodiments, approaches for handling unsatisfactory graphs are discouraged.

[0143] In some embodiments, the k-mer graph assembly system can use cluster information to extract aligned MUT reads and reference guides for each individually assembled cluster. In some embodiments, individually assembled clusters are determined prior to the main assembly process. From those aligned MUT reads and reference guides, a k-mer graph can be constructed. In some embodiments, if the resulting graph contains loops or too many non-unique k-mers, the construction can be aborted, and a larger k-mer size can be started and tested. In some embodiments, after a satisfactory graph is built, a heaviest path extraction procedure can be applied to assemble a long template for the original cluster. In some embodiments, the same procedure can be applied independently to each assembled cluster. If the path extraction fails, or if all k-mer sizes produce unsatisfactory graphs, the reads and reference guides can be written to a separate file that can be passed to a fallback process.

[0144] In some embodiments, the assembler system or method can generate a compressed file as output, such as a gzipped fastq file containing a long template and numbered according to the input subgraph ID. In some embodiments, a method can generate a csv file as output, which has the timing details of the steps in the assembly procedure, numbered according to the input subgraph ID. In some embodiments, a method can generate a gzipped fastq file as output, which contains the reads of the cluster that cannot be assembled using the assembly system, to be passed to the fallback process. In some embodiments, a method can generate a compressed fasta file as output, which contains the reference guidance of the cluster that cannot be assembled with the assembly process, to be passed to the fallback process.

[0145] According to some embodiments of the present disclosure, the embodiments may be part of a computer system. In some embodiments, the system may include a machine-readable memory, a processor and be configured to execute machine-readable instructions that, when executed by the processor, cause the system to perform the steps described herein. The processor may include a k-mer module that includes instructions configured to execute, for example, a method for assembling polynucleotides from k-mer fragments.

[0146] In some examples, the k-mer module can be implemented or executed by a programmed computer designed to perform the functions described herein, such as a processor configured with specific instructions, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic components, discrete hardware components, or any combination thereof. The processor can be a microprocessor, but in an alternative, the processor can be a controller, a microcontroller or a state machine, a combination thereof, etc. The processor or processor group used to perform the methods described herein can be of various types, including programmable devices (e.g., CPLDs and FPGAs) and non-programmable devices (such as gate array ASICs or general-purpose microprocessors).

[0147] The processor may also be implemented as a combination of computing devices, for example, a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors combined with a DSP core, or any other such configuration. For example, the system described herein may be implemented using a discrete memory chip, a portion of the memory in a microprocessor, flash memory, EPROM, or other types of memory. In some examples, a hardware platform for providing a computing environment may be used. The hardware platform may include a processor (e.g., a CPU) and a memory such as a random access memory (RAM). In some embodiments, a graphics processing unit (GPU) may be used. In some embodiments, a hardware platform for executing a computing method as described herein includes one or more computer systems with one or more processors. In some embodiments, smaller computers are clustered together to obtain a supercomputer network. The hardware platform may be specially constructed for the desired purpose, or it may be a general-purpose computer (or computer group) that is selectively activated or reconfigured by a computer program and / or data structure stored in the computer. In some embodiments, the processor group performs some or all of the functionality in a collaborative manner (e.g., via a network or cloud computing) and / or in parallel.

[0148] The elements of the methods or processes described herein may be embodied in a software module executed by a processor. The software module may reside in a RAM memory, a flash memory, a ROM memory, an EPROM memory, an EEPROM memory, a register, a hard disk, a removable disk, a CD-ROM, or any other form of computer-readable storage medium. An exemplary storage medium may be coupled to a processor so that the processor can read information from the storage medium and write information thereto. In an alternative, the storage medium may be integral with the processor. The processor and the storage medium may reside in an ASIC. The software module may include computer executable instructions that cause a hardware processor to execute computer executable instructions.

[0149] Example

[0150] Pseudocode of the implementation of the heaviest path extraction

[0151] In some embodiments, the method can adopt the heaviest path extraction method to select k-mer sequences. Path extraction can be performed directly on the k-mer graph. The path is not strictly limited to head to tail, and therefore can start and stop at any node. The weight of each path can be calculated as the sum of the weights of its edges. In some embodiments, the weight of each path can be calculated as a linear or nonlinear expression of the edge weights. An example of pseudo code according to the present disclosure is performed as follows:

[0152]

[0153] Pseudocode for heaviest path backtracking

[0154] In some embodiments, the method can adopt the heaviest path backtracking extraction method to select k-mer sequences. Optionally, after executing the first heaviest path procedure, path extraction can be performed directly on the k-mer graph. The path can start and stop at any node. The weight of each path can be calculated as the sum of the weights of its edges. In some embodiments, the weight of each path can be calculated as a linear or nonlinear expression of the edge weights. An example of pseudocode according to the present disclosure is performed as follows:

[0155]

[0156] Generating clustered read orientations

[0157] In some embodiments, the methods of the present disclosure generate cluster read orientations; however, if, for example, no link orientation is provided, this step is not necessary and can be skipped. If no orientation data is provided, this step can be skipped in the overall workflow, and any reads can be further added to the graph in the orientation in which the reads appear in the input BAM file.

[0158] In some embodiments, generating cluster read orientations is performed as follows. The binary subgraph link file can be parsed in a single sequential pass, during which a "union lookup" data structure is populated. Once fully populated, the union lookup data structure records three pieces of information:

[0159] [1] Assign each read-segment pair to a connected component in the graph

[0160] [2] The read ID of the representative read of each connected component, which can be the smallest read in the component.

[0161] (absolute value) read segment ID

[0162] [3] The orientation of each read in the connected component relative to the representative read

[0163] To construct the union-find data structure, a "representative vector" may be initialized with a length equal to the maximum read ID. Each element of the representative vector records two pieces of information: the representative read ID of the connected component to which the read currently belongs, and the orientation (i.e., polarity) relative to the representative. The representative ID of entry i may be initialized to i, and the polarity may be initialized to 1.

[0164] In some embodiments, a function such as "find_representative()" can be used to perform a joint search construction procedure. find_representative() takes a query read ID as input and returns a representative ID of a connected component representative and the orientation of the query read relative to the representative read. Such an example can be performed as follows:

[0165]

[0166]

[0167] Finally, find_representative() can be called on each valid read ID to update it to point directly to the component representative read ID, rather than indirectly via another read. This completes the "path compression" part of the union find. Note that in practice, the set of read IDs can be sparse, and in this case, using an unordered_map / hash table can lead to a more memory-efficient implementation.

[0168] The exemplary embodiments described in the detailed description, drawings, and claims are not intended to be limiting. The teachings herein can be applied in a variety of different ways, including, for example, as defined and covered by the claims. It should be clear that the aspects of this article can be embodied in a variety of forms, and any specific structure, function, or both disclosed herein are only representative. Based on the teachings herein, it should be understood by those skilled in the art that the aspects disclosed herein can be implemented independently of any other aspects, and two or more of these aspects can be combined in various ways. For example, a person skilled in the art can use any reasonable number of aspects or combinations thereof set forth herein to implement a system or device, or can practice a method. In addition, in addition to one or more of the aspects set forth herein, or different from one or more of the aspects set forth herein, other structures, functions, or structures and functions can be used to implement such a system or device, or such a method can be practiced. Other embodiments can be utilized, and other changes can be made without departing from the essence or scope of the subject matter presented herein. It will be readily understood that, as generally described herein and as shown in the drawings, the various aspects of the present disclosure can be arranged, substituted, combined, and designed into a variety of different configurations, all of which are expressly covered and become part of the present disclosure. It should be understood that the disclosed embodiments are not limited to the examples described below, as other embodiments may fall within the disclosure and the claims.

Claims

1. A method for assembling a nucleotide sequence of a polynucleotide from read pairs, comprising: providing a flow cell comprising a cluster of read pairs, wherein each read pair comprises two sequence reads, and the two sequence reads are in opposite orientations relative to each other; mapping a plurality of said read pairs to a reference guide for said polynucleotide; orienting the sequence read in each read pair to be in the same orientation as the reference guide of the polynucleotide; generating at least one k-mer graph comprising nodes and edges from the oriented sequence reads, wherein each node of the at least one k-mer graph corresponds to the read pair from a single cluster and each edge has a weight corresponding to the number of identical sequence reads in the cluster; as well as The nucleotide sequence of the polynucleotide is assembled by tracing a plurality of acyclic paths through the at least one k-mer graph.

2. The method of claim 1, wherein assembling the nucleotide sequence of the polynucleotide comprises determining a path through the at least one k-mer graph having the highest sum of edge weights.

3. The method according to claim 1 or 2, wherein assembling the nucleotide sequence of the polynucleotide comprises selecting the acyclic path with the highest sum as the path for assembling the nucleotide sequence. 4 . The method of claim 2 , wherein assembling the nucleotide sequence comprises selecting a final node in each of the acyclic paths through the at least one k-mer graph.

5. The method of claim 4, wherein assembling the nucleotide sequence comprises tracing a reverse path through the at least one k-mer graph starting from a final node. 6 . The method of claim 5 , wherein tracing the reverse path comprises selecting a final node in an acyclic path where the sum of the edge weights along the reverse path is a highest value compared to other reverse paths.

7. according to the method described in any one of claims 1 to 6, wherein the nucleotide sequence of assembling the polynucleotide comprises a global optimal path of edge weights of each acyclic path through the at least one k-mer graph.

8. The method of claim 1, wherein mapping the read pairs comprises providing a cluster file, wherein the cluster file comprises read sequences, and assigning the read sequences to assembly clusters.

9. The method of claim 8, wherein the cluster file comprises more than one million read sequences.

10. The method of claim 1, wherein generating the at least one k-mer graph comprises generating a plurality of k-mer graphs. The method of claim 10 , wherein generating the at least one k-mer graph comprises generating greater than 100 k-mer graphs.

12. The method of claim 1, wherein the paired end lengths of the read pairs range from 25 bp to 10,000 bp.

13. The method of claim 1 or 2, wherein assembling the nucleotide sequence of the polynucleotide comprises tracing a path through an acyclic k-mer graph of the at least one k-mer graph.

14. A system for analyzing a sequence of a polynucleotide, comprising: machine readable storage; as well as A processor configured to execute machine-readable instructions which, when executed by the processor, cause the system to perform the steps of claim 1.

15. A non-transitory computer-readable medium storing a polynucleotide sequence analysis program including instructions, which, when executed by a processor, cause a polynucleotide sequencing apparatus to perform the steps according to claim 1.

Citation Information

Patent Citations

  • Hardware accelerated k-mer graph generation

    US20210313009A1

  • Method for incorporating into a DNA or RNA oligonucleotide using nucleotides bearing heterocyclic bases

    US5432272A

  • Modified oligonucleotides, their preparation and their use

    US6150510A

  • Nuclease resistant, pyrimidine modified oligonucleotides that detect and modulate gene expression

    WO1992002258A1

  • Enhanced triple-helix and double-helix formation with oligomers containing modified pyrimidines

    WO1993010820A1