Method and system for sequence deconvolution

By deconvolving sequencing data using the improved LCS algorithm, the problem of low efficiency in manual identification of nucleic acid constructs is solved, and rapid and accurate identification of nucleic acid constructs is achieved.

CN122397083APending Publication Date: 2026-07-14SANOFI SA(FR)

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
SANOFI SA(FR)
Filing Date
2024-12-13
Publication Date
2026-07-14

AI Technical Summary

Technical Problem

In protein engineering, it is impractical to manually identify and characterize a large number of nucleic acid constructs. Efficient parallel analysis and deconvolution methods are needed to identify nucleic acid constructs corresponding to engineered proteins.

Method used

An improved Longest Common Substring (LCS) algorithm, called the Maximum Common Subsequence (MCS) algorithm, is adopted. By comparing the sequenced read with the reference sequence, a threshold and parameters are introduced, and deconvolution is performed on a multi-core workstation using a multi-threaded method.

Benefits of technology

It improves analysis speed and efficiency, reduces false positives and false negatives, and can identify a large number of nucleic acid constructs in a short time, thus improving the accuracy of matching.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122397083A_ABST
    Figure CN122397083A_ABST
Patent Text Reader

Abstract

In a first aspect, the disclosure provides a method of identifying polynucleotide molecules distributed among a plurality of partitions, the method comprising: providing a plurality of sequencing read data; providing a plurality of reference sequences; comparing each of the plurality of sequencing read data to each of the plurality of reference sequences using an algorithm; generating a score for each of the sequencing read data based on the comparison of each of the plurality of sequencing read data to each of the plurality of reference sequences; and assigning a polynucleotide molecule to each of the plurality of sequencing read data based on the score for each of the sequencing read data, thereby identifying each polynucleotide molecule in each of the plurality of partitions.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to computational analysis of sequencing data generated from nucleic acid constructs encoding engineered proteins. More specifically, this disclosure relates to methods for deconvolution of sequencing data from mixed samples, and to related apparatus and processor-executable instructions for providing related computer-readable media for methods of deconvolution of sequencing data. Background Technology

[0002] In protein engineering workflows, a vast design space is queried and explored. These discovery activities may involve high-throughput and batch cloning technologies for expressing engineered proteins, which is the process of generating large and diverse libraries of protein therapeutics. These technologies require the explicit and efficient identification of nucleic acid constructs corresponding to the types of engineered proteins.

[0003] Cloning processes can generate massive amounts of data, such as tens of thousands of nucleic acid constructs encoding engineered proteins. Manually identifying and characterizing such a large number of nucleic acid constructs is impractical. Therefore, methods and systems are needed for parallel analysis and deconvolution of sequencing data generated from large numbers of nucleic acid constructs encoding engineered proteins. Summary of the Invention

[0004] The method disclosed in this paper is at least in part based on an improved Longest Common Substring (LCS) algorithm that introduces additional thresholds and parameters. This improved LCS algorithm, referred to as the Maximum Common Subsequence (MCS) algorithm, is used to deconvolve sequencing data generated from large numbers of nucleic acid constructs encoding engineered proteins by assigning sequencing reads to reference sequences. The method disclosed in this paper offers several advantages over previously available methods. First, it is faster and more computationally efficient, resulting in a quantitative improvement in runtime. Second, it reduces the number of false positives and false negatives and produces more explicit matches per analysis compared to previously available methods. A third advantage of the method is its use of a multi-threaded approach, distributing individual sequencing reads across different CPU cores, thereby improving performance, especially when executed on dedicated multi-core workstations. A sequencing read can be compared in parallel with many references via MCS, rather than sequentially.

[0005] In a first aspect, this disclosure provides methods for identifying polynucleotide molecules distributed in multiple partitions, the methods comprising: obtaining multiple sequencing reads; obtaining multiple reference sequences; comparing each of the multiple sequencing reads with each of the multiple reference sequences using an algorithm; generating a score for each of the multiple sequencing reads based on the comparison with each of the multiple reference sequences; and assigning a polynucleotide molecule to each of the multiple sequencing reads based on the score of each of the multiple sequencing reads, thereby identifying each polynucleotide molecule in each of the multiple partitions. In some embodiments, each of the multiple reference sequences corresponds to a desired sequence identity of the polynucleotide molecule. In some embodiments, providing the multiple sequencing reads includes sequencing each of the polynucleotide molecules. In some embodiments, the multiple partitions are wells in a multi-well plate.

[0006] In some embodiments, these polynucleotide molecules are DNA constructs. In some embodiments, each of these DNA constructs encodes a protein. In some embodiments, each of these DNA constructs is assembled in vitro. In some embodiments, each of these DNA constructs is assembled in vivo in an organism. In some embodiments, the organism is a bacterium. In some embodiments, the organism is a fungus.

[0007] In some embodiments, each of the plurality of proteins is a wild-type protein or an engineered protein. In some embodiments, each of the plurality of reference sequences is designed to correspond to each of the plurality of wild-type or engineered proteins. In some embodiments, the algorithm is a longest common substring (LCS) algorithm. In some embodiments, the algorithm is a modified LCS algorithm. In some embodiments, the algorithm is a maximum common subsequence (MCS) algorithm. In some embodiments, the score of each of these sequencing reads is a longest match score. In some embodiments, if the score of one of the plurality of sequencing reads exceeds a predetermined threshold, a polynucleotide molecule is assigned to that sequencing read. In some embodiments, at least 10,000 polynucleotide molecules are identified within five hours.

[0008] On the other hand, this disclosure provides a system for identifying polynucleotide molecules distributed in multiple partitions, the system comprising: a data storage device configured to receive multiple sequencing reads and multiple reference sequences; and a computing device communicatively connected to the data storage device, the computing device being configured to: compare each of the multiple sequencing reads with each of the multiple reference sequences using an algorithm; generate a score for each of the multiple sequencing reads based on the comparisons with each of the multiple reference sequences; and assign a polynucleotide molecule to each of the multiple sequencing reads based on the score of each of the multiple sequencing reads, thereby identifying each polynucleotide molecule in each of the multiple partitions. In some embodiments, each of the multiple reference sequences corresponds to an expected sequence identity of the polynucleotide molecule. In some embodiments, providing the multiple sequencing reads includes sequencing each of the polynucleotide molecules. In some embodiments, the multiple partitions are wells in a multi-well plate.

[0009] In some embodiments, these polynucleotide molecules are DNA constructs. In some embodiments, each of these DNA constructs encodes a protein. In some embodiments, each of these DNA constructs is assembled in vitro. In some embodiments, each of these DNA constructs is assembled in vivo in an organism. In some embodiments, the organism is a bacterium. In some embodiments, the organism is a fungus.

[0010] In some embodiments, each of the plurality of proteins is a wild-type protein or an engineered protein. In some embodiments, each of the plurality of reference sequences is designed to correspond to each of the plurality of wild-type or engineered proteins. In some embodiments, the algorithm is a longest common substring (LCS) algorithm. In some embodiments, the algorithm is a modified LCS algorithm. In some embodiments, the algorithm is a maximum common subsequence (MCS) algorithm. In some embodiments, the score of each of these sequencing reads is a longest match score. In some embodiments, if the score of one of the plurality of sequencing reads exceeds a predetermined threshold, a polynucleotide molecule is assigned to that sequencing read. In some embodiments, at least 10,000 polynucleotide molecules are identified within five hours.

[0011] Unless otherwise defined, 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 invention pertains. This document describes the methods and materials used in this invention; other suitable methods and materials known in the art may also be used. These materials, methods, and examples are illustrative only and are not intended to be limiting. All publications, patent applications, patents, sequences, database entries, and other references mentioned herein are incorporated herein by reference in their entirety. In the event of any conflict, this specification (including definitions) shall prevail.

[0012] Other features and advantages of the invention will become apparent from the following detailed description, accompanying drawings, and claims. Attached Figure Description

[0013] This patent or application document contains at least one drawing in color. Upon request and payment of the necessary fees, the Patent Office will provide a copy of this patent or patent application publication with the color drawing.

[0014] Figure 1 An overview of the workflow of an embodiment of the disclosed method is shown.

[0015] Figure 2A This is a schematic diagram of multiple porous plates that can be iteratively processed according to the methods and systems disclosed herein.

[0016] Figure 2B This is a schematic diagram of a multiwell plate, where each well contains approximately one unique nucleic acid construct.

[0017] Figure 2C This is a schematic diagram of the comparison steps of the method and system disclosed in this paper, in which each sequencing read is compared with each of a plurality of reference sequences according to the longest common substring (LCS) algorithm.

[0018] Figure 3A This is a schematic diagram of a possible scenario for this method, in which, after applying the LCS algorithm, a given sequencing read may share a common substring of equal length with more than one reference sequence.

[0019] Figure 3B This is a schematic diagram of a possible scenario for this method, in which, after applying the LCS algorithm, the first sequencing read may have a common substring with the first reference sequence, and this common substring is the same as the common substring shared by the second sequencing read and the second reference sequence.

[0020] Figure 3CThis is a schematic diagram of a possible scenario for this method. In this scenario, after applying the LCS algorithm, a sequencing read may not share a common substring with any reference sequence, or the longest common substring may be shorter than a predetermined threshold, making the hit insignificant.

[0021] Figure 4A A flowchart and decision tree illustrating the steps of the methods disclosed herein are shown.

[0022] Figure 4B A decision tree is shown, which provides rules and guidelines for prioritizing results after applying the methods disclosed herein.

[0023] Figure 5 This is a diagram of a computer system component that can be used to implement a method for deconvolution of sequencing data generated from a large number of nucleic acid constructs encoding engineered proteins. Detailed Implementation

[0024] Methods of assigning sequencing reads to sequencing reactions

[0025] This disclosure provides methods and systems for analyzing and deconvolving sequencing data generated from nucleic acid constructs encoding engineered proteins. In some embodiments, the methods and systems provided herein include identifying polynucleotide molecules distributed across multiple partitions by comparing each of a plurality of sequencing reads with each of a plurality of provided reference sequences. Figure 1 An overview of the workflow of embodiments of the methods and systems disclosed herein is shown. In an embodiment of method 100, multiple sequencing reads are provided (102), and multiple reference sequences are provided (104). Each of the multiple sequencing reads is compared with each of the multiple reference sequences using an algorithm (106). In some embodiments, the algorithm is an improved version of the Longest Common Substring (LCS) algorithm (hereinafter referred to as Maximum Common Subsequence (MCS)). Based on the comparison of each of the multiple sequencing reads with each of the multiple reference sequences, a score is generated for each of the sequencing reads (108). Finally, based on the score of each of the sequencing reads, a polynucleotide molecule is assigned to each of the multiple sequencing reads, thereby identifying each polynucleotide molecule in each of the multiple partitions (110).

[0026] In some embodiments, each of the plurality of nucleic acid constructs is distributed across multiple partitions. In some embodiments, each partition contains approximately one nucleic acid construct. In some embodiments, the partitions are wells of a multi-well plate. In some embodiments, the multi-well plate is a 96-well plate, a 384-well plate, or a 1,536-well plate. In some embodiments, the partitions are partitions within a microfluidic device. In some embodiments, each of the plurality of nucleic acid constructs encodes one of a plurality of proteins. In some embodiments, the plurality of nucleic acid constructs are designed to encode a plurality of engineered proteins. In some embodiments, the plurality of engineered proteins includes variants of wild-type proteins, antibodies, antibody fragments, immunoglobulin single variable domains (ISVDs), monovalent ISVD variants, multispecific ISVD variants, ISVD-antibody fusions, ISVD-Fc fusions, antibody-based drugs, Fc fusion proteins, anticoagulants, blood factors, bone morphogenetic proteins, engineered protein scaffolds, enzymes, growth factors, hormones, interferons, interleukins, thrombolytic agents, cytokines, immune cytokines, and other engineered proteins. In some embodiments, the plurality of proteins are a plurality of engineered proteins or variants thereof.

[0027] In some embodiments, the nucleic acid construct is generated through combinatorial cloning. In some embodiments, the nucleic acid construct is generated through large-scale directed mutagenesis. In some embodiments, the nucleic acid construct is transformed into cells. In some embodiments, the cells are *E. coli* cells. In some embodiments, each well of the multiwell plate contains approximately one *E. coli* colony, wherein each *E. coli* colony carries and expresses a single unique nucleic acid construct, such that each well of the multiwell plate contains approximately one single unique nucleic acid construct.

[0028] The methods and systems disclosed herein can be used to determine which nucleic acid constructs are in which partitions (e.g., in multiple wells of a multi-well plate). The methods and systems disclosed herein can be used to confirm that an expected nucleic acid construct is in the expected partitions (e.g., in multiple wells of a multi-well plate). In some embodiments, a portion of each of the multiple nucleic acid constructs is sequenced. Multiple nucleic acid constructs can be sequenced by any means known in the art. In some embodiments, the nucleic acid constructs are sequenced using next-generation sequencing. In some embodiments, the nucleic acid constructs are sequenced using Sanger sequencing. As used herein, the term “next-generation sequencing (NGS)” refers to a sequencing method that allows for massively parallel sequencing of molecules amplified in a clonal manner and single nucleic acid molecules. Non-limiting examples of NGS include synthetic sequencing using reversible dye terminators and ligation sequencing. In some embodiments, 1, 2, 3, 4, 5, 6, 7, 8, 9, or 10 or more sequencing reads are generated for each of the multiple partitions (e.g., for each of the multiple wells of a multi-well plate). The term “read” refers to a sequence obtained from a portion of a nucleic acid sample. Typically, but not always, a read represents a short sequence of consecutive base pairs in a sample. A read can be symbolically represented by the base pair sequence of a portion of the sample (denoted by A, T, C, or G). Reads can be stored in a storage device and processed appropriately to determine if they match a reference sequence or meet other criteria. Reads can be obtained directly from a sequencing device or indirectly from stored sequence information about the sample. In some cases, a read is a DNA sequence of sufficient length (e.g., at least about 25 bp) that can be used to identify larger sequences or regions (e.g., that can be aligned with and specifically assigned to a nucleic acid construct).

[0029] In some embodiments, the methods disclosed herein include providing a plurality of reference sequences. In some embodiments, the plurality of reference sequences are designed by computer simulation. In some embodiments, the plurality of reference sequences are designed to correspond to a plurality of proteins. In some embodiments, the plurality of reference sequences are designed to correspond to a plurality of engineered proteins encoded by nucleic acid constructs. In some embodiments, the plurality of engineered proteins include variants of wild-type proteins, antibodies, antibody fragments, ISVDs, monovalent ISVD variants, multispecific ISVD variants, ISVD-antibody fusions, ISVD-Fc fusions, antibody-based drugs, Fc fusion proteins, anticoagulants, blood factors, bone morphogenetic proteins, engineered protein scaffolds, enzymes, growth factors, hormones, interferons, interleukins, thrombolytic agents, cytokines, immune cytokines, and other engineered proteins.

[0030] To accommodate a range of primer lengths and sequencing read lengths while maximizing a match with a reference sequence, the method disclosed in this paper utilizes an improved Longest Common Substring (LCS) algorithm. Typically, for two given sequences... and LCS will find the longest common substring. ,in, and Dynamic programming can be used to solve problems related to... The cost is an issue. Compared to heuristic alignment algorithms, LCS is a robust and accurate algorithm, but if... and / or Relatively long sequences (which is typically the case with DNA sequences) are likely to be resource-intensive.

[0031] In some embodiments of the methods disclosed herein, these methods utilize an improved LCS algorithm that introduces a threshold parameter. This threshold parameter defines the minimum sequence length required for the sequencing read and the match with the reference; that is, the improved LCS algorithm requires... Based on empirical findings, it was determined that... These are appropriate parameters for the method disclosed herein, namely, the minimum read length and the matching length. The base pair (BP) is long. Since the LCS algorithm consists of two interleaved loops, where the first loop iterates through... And the second loop iterates through... Therefore, inner loops can reduce Step. The inner loop can be minimized the first time it appears. Start at time, or if no such condition exists. of If the inner loop directly rejects the current comparison operation, then the improved LCS algorithm disclosed in this paper is called the Maximum Common Subsequence (MCS) algorithm.

[0032] To reduce computation time, the size of each read segment was reduced. The size of the collection. For example, before initiating MCS for each read, reject and exclude as many reference sequences as possible, rather than using a complete reference sequence library. A fast sequence pruning procedure can be used to prune the current read to the same length on both sides of the sequence; that is, a predefined number of bases can be pruned from the ends of each read, and it can be determined whether and which references match the pruned sequence. If no reference matches, this pruning method can be repeated to remove additional bases until one or more references are matched, or until the length of the pruned sequence becomes less than a threshold. The resulting subset Used in the following MCS to identify explicit matches.

[0033] In some embodiments, at least 1,000, 2,000, 3,000, 4,000, 5,000, 10,000, 15,000, 20,000, 25,000, 30,000, 35,000, 40,000, 45,000, or 50,000 or more sequencing reads are identified using the methods disclosed herein. In some embodiments, sequencing reads are identified within 15 hours, 14 hours, 13 hours, 12 hours, 11 hours, 10 hours, 9 hours, 8 hours, 7 hours, 6 hours, 5 hours, 4 hours, 3 hours, 2 hours, or 1 hour using the methods disclosed herein. In some embodiments, at least 50,000 sequencing reads are identified within 15 hours. In some embodiments, at least 10,000 sequencing reads are identified within five hours. In some embodiments, at least 7,000 sequencing reads are identified within 3.5 hours. In some embodiments, at least 2,000 sequencing reads are identified within 10 minutes.

[0034] In some embodiments, an algorithm is used to compare each of a plurality of sequencing reads with each of a provided reference sequence. In some embodiments, the algorithm is a pairwise algorithm for comparing sequences. In some embodiments, the algorithm is an improvement on the Longest Common Substring (LCS) algorithm (hereinafter referred to as Maximum Common Subsequence (MCS)). In the context of LCS, the longest common substring of two or more strings (e.g., two or more polynucleotide sequences) is the longest substring that is a substring of all strings in the two or more strings. Figure 2A As shown, the MCS algorithm can be iteratively applied to each porous plate, and as... Figure 2B As shown, the MCS algorithm can be iteratively applied to each well of each perforated plate. Figure 2C As shown, each of the provided sequencing reads is compared iteratively with each of the provided reference sequences. Figure 2C In the example, reference sequence #3 is identified as having a common longest substring with the sequencing read being queried via MCS. In some embodiments, the MCS algorithm is used to compare sequencing reads from multiple sequencing read data with each of the provided reference sequences until a reference sequence with a common longest substring with that sequencing read is identified.

[0035] In some cases, additional parsing steps are required to assign sequencing reads to sequencing reactions, such as assigning a given sequencing read to a well in a multi-well plate. Figure 3AAs shown, after applying the MCS algorithm, a given sequencing read may share a common substring of equal length with more than one reference sequence. Figure 3A In the example, the sequencing read shares a common substring of equal length with reference sequence #2 and reference sequence #3. For example... Figure 3B As shown, after applying the MCS algorithm, the first sequencing read may share a common substring with the first reference sequence, and this common substring is the same as the common substring shared by the second sequencing read and the second reference sequence. Figure 3B In the example, the common substring shared by reference sequence #1 and sequencing read #1 is the same as the substring shared by reference sequence #2 and sequencing read #2. Figure 3C As shown, after applying the MCS algorithm, a sequencing read may not share a common substring with any reference sequence, or the longest common substring may be shorter than a predetermined threshold, making the hit insignificant.

[0036] In some embodiments, additional parsing steps are performed to address these potential problems.

[0037] Figure 4A A flowchart is shown, including the previously described steps of the MCS search. First, each read segment (of the current aperture) is processed independently. As a result of the initial MCS search, each read segment is assigned to a new set of references, which includes all references that best match the current read segment. The algorithm not only retains the reference with the longest match but also those whose matches differ from it by no more than a defined number. All references for each base. Combining distinct subsets into an intersection ( The intersection consists only of references found for each reading segment.

[0038] Figure 4B A decision tree is shown, which provides rules and guidelines for prioritizing results after applying the MCS algorithm to the provided sequencing read data and reference sequences.

[0039] from Figure 4A The intersection obtained by the steps described in the text It is either empty (|R) i |=0), or consists of more than one reference (|R) i |>1), or it contains exactly one reference (|R) i |=1):

[0040] •|R i |=1: The existence of only one common reference across all sets indicates a possibility of a clear match. Here, it is only necessary to check that all reads do indeed overlap and that there are no gaps between them. Gaps may indicate that insertions or deletions were introduced during the cloning process, meaning the molecule is unsuitable for subsequent analysis and cloning methods.

[0041] •|R i |=0: If there is no common reference in the intersection, this indicates an error occurred during cloning or sequencing, and indicates that the current clone is rejected. If only one set has a reference, while other sets do not, it is treated as an exception. If there is exactly one best match within that set, the method will preserve that match and ignore cases where other reads do not match any reference. This could be due to a sequencing error, rather than a defective clone.

[0042] •|R i 1: If there is more than one public reference, then check... The consistency of each reference in the well is checked, and the intersection is narrowed down by rejecting erroneous references. First, the order of reads mapped to the current reference is checked to confirm that the read corresponds to the sequencing primer orientation. Second, read overlap is checked. If at least one or both of these conditions are not met, the reference is rejected. After this iterative check, there is usually still one reference indicating which clone might be present in the current well.

[0043] based on Figures 4A to 4B The decision rules described in the paper can reduce the number of false positives and false negatives and increase the number of explicit matches per analysis compared to previously available methods.

[0044] Computer implementation of the method

[0045] Figure 5 This is a diagram of the components of a computer system 500, which can be used to implement methods and systems for analyzing and deconvolutionalizing sequencing data generated from nucleic acid constructs encoding engineered proteins. The systems and methods disclosed herein are faster and have lower computational overhead than previously available methods. In some embodiments, the methods disclosed herein are implemented on a RAM-based system. In some embodiments, the methods disclosed herein are implemented in parallel on multiple CPUs. In some embodiments, a reference sequence is provided in FASTA format, for example, as a .fasta file. In some embodiments, the reference sequence provided as a .fasta file is loaded into the system in batches from a hard disk at once. In some embodiments, sequencing read data is provided in FASTA format, for example, as a .fasta file. In some embodiments, a control file is provided in TXT format, for example, as a .txt file. In some embodiments, an algorithm is used to compare the sequencing read data provided as a .fasta file with the reference sequence in parallel using multiple CPUs. In some embodiments, the algorithm is a longest common substring algorithm. In some embodiments, the algorithm is an improved longest common substring algorithm.

[0046] Computing device 500 is intended to represent various forms of digital computers (such as laptops, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframes, and other suitable computers). Computing device 550 is intended to represent various forms of mobile devices (such as personal digital assistants, mobile phones, smartphones, and other similar computing devices). Additionally, computing device 500 or 550 may include a Universal Serial Bus (USB) flash drive. The USB flash drive may store an operating system and other applications. The USB flash drive may include input / output components, such as a wireless transmitter or USB connector that can be plugged into a USB port of another computing device. The components shown herein, their connections and relationships, and their functions are intended to be exemplary only and are not intended to limit the implementation of the methods and compositions described and / or claimed in this document.

[0047] Computing device 500 includes a processor 502, a memory 504, a storage device 506, a high-speed interface 508 connected to the memory 504 and a high-speed expansion port 510, and a low-speed interface 512 connected to a low-speed bus 514 and the storage device 506. The various components 502, 504, 506, 508, 510, and 512 are interconnected using multiple buses and may be mounted on a shared motherboard or otherwise, as appropriate. The processor 502 can process instructions executed within the computing device 500 (including instructions stored in the memory 504 or on the storage device 506) to display graphical information for a GUI on an external input / output device, such as a display 516 coupled to the high-speed interface 508. In other embodiments, multiple processors and / or multiple buses, as well as multiple memories and multiple memory types, may be used as appropriate. Furthermore, multiple computing devices 500 may be connected, each providing the necessary operational portion (e.g., as a server library, blade server group, or multiple processor systems).

[0048] Memory 504 stores information within computing device 500. In one embodiment, memory 504 is one or more volatile memory cells. In another embodiment, memory 504 is one or more non-volatile memory cells. Memory 504 may also be another form of computer-readable medium (such as a magnetic disk or optical disk).

[0049] Storage device 506 provides large-capacity storage for computing device 500. In one embodiment, storage device 506 may be or contain computer-readable media, such as floppy disk devices, hard disk devices, optical disk devices, magnetic tape devices, flash memory or other similar solid-state storage devices or device arrays (including storage area networks or other configured devices). The computer program product may be tangibly embodied in an information carrier. The computer program product may also contain instructions that, when executed, perform one or more methods, such as those described above. The information carrier is a computer-readable medium or a machine-readable medium (such as memory 504, storage device 506, or memory on processor 502).

[0050] High-speed controller 508 manages bandwidth-intensive operations of computing device 500, while low-speed controller 512 manages less bandwidth-intensive operations. This functional allocation is merely an example. In one embodiment, high-speed controller 508 is coupled to memory 504, display 516 (e.g., via a graphics processor or accelerator), and high-speed expansion port 510 which can accept various expansion cards (not shown). In this embodiment, low-speed controller 512 is coupled to storage device 506 and low-speed expansion port 514. The low-speed expansion port, which may include various communication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet), can be coupled to one or more input / output devices (such as keyboards, clicking devices, microphone / speaker combos, scanners, or networking devices (such as switches or routers)) via, for example, a network adapter. Computing device 500 can be implemented in a variety of different forms, as shown in the figures. For example, it can be implemented as a standard server 520, or multiple times as a group of such servers. It can also be implemented as part of a rack-mount server system 524. Furthermore, it can be implemented in a personal computer such as laptop computer 522. Alternatively, components from computing device 500 may be combined with other components in mobile device (not shown) (e.g., device 550). Each such device may contain one or more of computing devices 500, 550, and the entire system may consist of multiple computing devices 500, 550 communicating with each other.

[0051] The computing device 500 can be implemented in a variety of different forms, as shown in the figure. For example, it can be implemented as a standard server 520, or as a group of such servers multiple times. It can also be implemented as part of a rack server system 524. Furthermore, it can be implemented in a personal computer such as a laptop computer 522. Alternatively, components from the computing device 500 can be combined with other components in a mobile device (not shown) (such as device 550). Each such device can contain one or more of the computing devices 500, 550, and the entire system can consist of multiple computing devices 500, 550 communicating with each other.

[0052] The computing device 550 includes a processor 552, memory 564, input / output devices (such as a display 554), a communication interface 566, a transceiver 568, and other components. The device 550 may also be equipped with storage devices (such as microdrives or other devices) to provide additional storage. The various components 550, 552, 564, 554, 566, and 568 are interconnected using multiple buses, and several components may be mounted on a shared motherboard or otherwise, as appropriate.

[0053] Processor 552 can execute instructions within computing device 550 (including instructions stored in memory 564). The processor can be implemented as a chipset comprising single and multiple analog and digital processors. Furthermore, the processor can be implemented using any of a variety of architectures. For example, processor 510 can be a CISC (Complex Instruction Set Computer) processor, a RISC (Reduced Instruction Set Computer) processor, or a MISC (Minimum Instruction Set Computer) processor. The processor can provide, for example, coordination with other components of device 550 (such as control of the user interface, applications running by device 550, and wireless communications performed by device 550).

[0054] Processor 552 can communicate with the user via control interface 558 and display interface 556 coupled to display 554. Display 554 can be, for example, a TFT (Thin Film Transistor Liquid Crystal Display) or OLED (Organic Light Emitting Diode) display, or other suitable display technologies. Display interface 556 can contain suitable circuitry for driving display 554 to present graphics and other information to the user. Control interface 558 can receive commands from the user and translate them for submission to processor 552. Additionally, an external interface 562 can be configured to communicate with processor 552, enabling device 550 to perform near-area communication with other devices. External interface 562 can provide, in some embodiments, wired communication, or in others, wireless communication, and multiple interfaces can be used.

[0055] Memory 564 stores information within computing device 550. Memory 564 may be implemented as one or more computer-readable media, one or more volatile memory cells, or one or more non-volatile memory cells. Extended memory 574 may also be provided and connected to device 550 via an extended interface 572, which may include, for example, a SIMM (Single In-line Memory Module) card interface. Such extended memory 574 may provide additional storage space for device 550, or it may also store applications or other information for device 550. In particular, extended memory 574 may include instructions for performing or supplementing the processes described above, and may also include security information. Thus, for example, extended memory 574 may be provided as a security module for device 550 and may be programmed with instructions that allow secure use of device 550. Additionally, secure applications and other information (such as placing identification information on the SIMM card in an unbreakable manner) may be provided via a SIMM card.

[0056] The memory may include, for example, flash memory and / or NVRAM memory, as discussed below. In one embodiment, the computer program product is tangibly embodied in an information carrier. The computer program product includes instructions that, when executed, perform one or more methods, such as those described above. The information carrier is a computer-readable or machine-readable medium, such as memory 564, extended memory 574, or memory on processor 552 that can be received, for example, via transceiver 568 or external interface 562.

[0057] Device 550 can communicate wirelessly via communication interface 566, which may include a digital signal processing circuit system if necessary. Communication interface 566 can provide communication under various modes or protocols, such as GSM voice calls, SMS, EMS, or MMS messaging services, CDMA, TDMA, PDC, WCDMA, CDMA2000, or GPRS. Such communication can occur, for example, via radio frequency transceiver 568. Alternatively, short-range communication can be performed using transceivers such as Bluetooth, Wi-Fi, or others (not shown). Additionally, GPS (Global Positioning System) receiver module 570 can provide further navigation-related and positioning-related wireless data to device 550, which can be used, as appropriate, by applications running on device 550.

[0058] Device 550 can also use audio codec 560 for audible communication, which can receive voice information from a user and convert it into usable digital information. Audio codec 560 can also generate audible sound for the user, such as through a speaker (e.g., in the handheld portion of device 550). Such sound can include sounds from voice telephone calls, recorded sounds (e.g., voice messages, music files, etc.), and sounds generated by applications operating on device 550.

[0059] The computing device 550 can be implemented in several different forms, as shown in the figure. For example, it can be implemented as a cellular phone 580. It can also be implemented as a smartphone 582, a personal digital assistant, or part of another similar mobile device.

[0060] Various implementations of the systems and methods described herein can be achieved through digital electronic circuit systems, integrated circuit systems, specially designed ASICs (Application-Specific Integrated Circuits), computer hardware, firmware, software, and / or combinations of such implementations. These different implementations may include implementations within one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor, which may be coupled for specific or general purposes to receive data and instructions from a storage system, at least one input device, and at least one output device, and to transfer data and instructions to the storage system, at least one input device, and at least one output device.

[0061] These computer programs (also referred to as programs, software, software applications, or code) include machine instructions for a programmable processor and can be implemented in high-level procedural languages ​​and / or object-oriented programming languages, and / or in assembly / machine language. As used herein, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, apparatus, and / or device (e.g., disk, optical disk, memory, programmable logic device (PLD)) used to provide machine instructions and / or data to a programmable processor, including machine-readable media that receive machine instructions as machine-readable signals. The term "machine-readable signal" refers to any signal used to provide machine instructions and / or data to a programmable processor.

[0062] To provide interaction with the user, the systems and techniques described herein can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor for displaying information to the user) and a keyboard and clicking device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including auditory, voice, or tactile input.

[0063] The systems and methods described herein can be implemented in computing systems that include back-end components (e.g., as a data server), middleware components (e.g., an application server), or front-end components (e.g., a client computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and technologies described herein), or any combination of such back-end, middleware, or front-end components. The components of the system can be interconnected via any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include local area networks (“LANs”), wide area networks (“WANs”), and the Internet.

[0064] A computing system may include clients and servers. Clients and servers are typically geographically separated and usually interact via a communication network. The client-server relationship is established through computer programs running on the respective computers and having a client-server relationship with each other.

[0065] Several embodiments have been described. However, it should be understood that many changes can be made without departing from the spirit and scope of the invention. Furthermore, the logical flow depicted in the drawings does not require the specific order or sequence shown to achieve the desired results. Additionally, other steps may be provided from the described flow, or steps may be eliminated, and other components may be added to or removed from the described system. Accordingly, other embodiments fall within the scope of the appended claims.

[0066] The embodiments disclosed herein and all functional operations described herein may be implemented in digital electronic circuit systems, or in computer software, firmware, or hardware (including the structures disclosed herein and their structural equivalents), or in a combination of one or more of them. Embodiments of these methods and compositions may be implemented as one or more computer program products, such as one or more modules of computer program instructions encoded on a computer-readable medium for execution by a data processing apparatus or for controlling the operation of a data processing apparatus. The computer-readable medium may be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of substances influencing machine-readable propagation signals, or a combination of one or more of them. The term "data processing apparatus" encompasses all means, devices, and machines for processing data, including, for example, a programmable processor, a computer, or multiple processors or computers. In addition to hardware, the apparatus may also include code that creates an execution environment for the computer program in question, such as code constituting processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them. Propagation signals are artificially generated signals, such as machine-generated electrical, optical, or electromagnetic signals, generated for the purpose of encoding information for transmission to a suitable receiver device.

[0067] Computer programs (also known as programs, software, software applications, scripts, or code) can be written in any programming language, including compiled or interpreted languages, and can be deployed in any form, including as standalone programs or as modules, components, subroutines, or other units suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinating files (e.g., files storing one or more modules, subroutines, or portions of code). A computer program can be deployed to be executed on a single computer or on multiple computers located at a site or distributed across multiple sites and interconnected via a communication network.

[0068] The processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform operations on input data and generate outputs. These processes and logic flows can also be performed by devices, and the devices can be implemented as special-purpose logic circuits, such as FPGAs (Field-Programmable Gate Arrays) or ASICs (Application-Specific Integrated Circuits).

[0069] Processors suitable for executing computer programs include, by way of example only, both general-purpose microprocessors and special-purpose microprocessors, and any one or more processors of any kind of digital computer. Typically, a processor receives instructions and data from read-only memory or random access memory, or both. Essential components of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. Typically, a computer will also include one or more mass storage devices (e.g., disks, magneto-optical disks, or optical disks) for storing data, or operatively coupled to receive data from or transfer data to, or both. However, a computer does not necessarily need to have such devices. Furthermore, a computer can be embedded in another device, such as a tablet computer, mobile phone, personal digital assistant (PDA), mobile audio player, global positioning system (GPS) receiver, etc. Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and memory devices, including, for example, semiconductor memory devices such as EPROM, EEPROM, and flash memory devices; disks such as internal hard drives or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and memory can be supplemented or incorporated into a dedicated logic circuit system.

[0070] To provide user interaction, embodiments of this disclosure can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor for displaying information to the user) and a keyboard and clicking device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide user interaction; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including auditory, voice, or tactile input.

[0071] The embodiments disclosed herein can be implemented in computing systems that include back-end components (e.g., as a data server), middleware components (e.g., an application server), front-end components (e.g., a client computer with a graphical user interface or a web browser through which a user can interact with implementations of the method), or any combination of one or more such back-end, middleware, or front-end components. The components of the system can be interconnected via any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include local area networks (“LANs”) and wide area networks (“WANs”), such as the Internet.

[0072] A computing system may include clients and servers. Clients and servers are typically geographically separated and usually interact via a communication network. The client-server relationship is established through computer programs running on the respective computers and having a client-server relationship with each other.

[0073] While this specification contains numerous details, these should not be construed as limiting the scope of the invention or the scope that may be claimed, but rather as descriptions of features specific to particular embodiments of the invention. Certain features described herein in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, different features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments. Furthermore, although features may be described above as functioning in certain combinations and even initially claimed in this way, one or more features from a claimed combination may be removed from that combination in some cases, and the claimed combination may involve sub-combinations or variations thereof.

[0074] Similarly, although the operations are depicted in a specific order in the accompanying drawings, this should not be construed as requiring that such operations be performed in the specific order shown or in an ordered sequence, or that all the operations shown can be performed to achieve the desired result. In some cases, multitasking and parallel processing may be advantageous. Moreover, the separation of different system components in the above embodiments should not be construed as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.

[0075] In each instance where an HTML file is mentioned, other file types or formats can be substituted. For example, an HTML file can be replaced with XML, JSON, plain text, or other file types. Furthermore, when a table or hash table is mentioned, other data structures (such as spreadsheets, relational databases, or structured files) can be used. Example

[0076] The invention is further illustrated in the following examples, which do not limit the scope of the invention as described in the claims.

[0077] Example 1: Performance Comparison of MCS Methods

[0078] To demonstrate the performance improvement of the methods and systems disclosed herein compared to previously available methods, these methods were executed as test cases and their performance was compared with that of previously available methods. In the first experiment, 73 plates, each comprising 96 wells and each well containing two sequencing reads (5' to 3' and 3' to 5'), were processed using the methods described herein. The method was executed in parallel on a multi-core workstation using up to 48 CPUs. Approximately 14,000 sequencing reads were processed. Each of the sequencing reads was compared to each of 4,489 provided reference sequences, which were designed by computer simulation to correspond to the nucleic acid constructs assigned to the wells of the 73 plates. Processing all 14,000 reads according to the methods disclosed herein took approximately 3.5 hours. Previously available methods took 9 hours.

[0079] In addition to quantitative improvements in runtime, the disclosed method also yields qualitative improvements due to the decision tree and rule-based scheme. It produces fewer false positives and fewer false negatives compared to previously available methods. Previously available methods generated 65 error messages indicating that a clear clone could not be identified for the corresponding well / clone. In contrast, the disclosed method produced only 17 ambiguous clones. Furthermore, the disclosed method provides more information related to the identification of individual clones. For 13,469 clones, the equivalence score (a measure of the length of similar bases between the reference sequence and the corresponding read) is higher than that of previously available methods. In a second experiment, 37 plates, each containing 96 wells with two sequencing reads each, were processed using the method described herein. Approximately 7,100 sequencing reads were processed. Each of the sequencing reads was compared to each of 1,797 provided reference sequences, designed by computer simulation to correspond to the nucleic acid constructs assigned to the wells of the 37 plates. Processing all 7,100 reads according to the method disclosed herein took approximately 1.5 hours. The previously available method took 5.5 hours.

[0080] Previously available methods yielded 82 ambiguous clones—that is, 82 clones that were not assigned to a reference sequence and therefore could not be identified. The method disclosed in this paper yielded only 14 ambiguous clones—that is, 14 clones that were not assigned to a reference sequence and therefore could not be identified. Furthermore, the disclosed method provided higher equivalence scores for 6,342 clones than previously available methods. These results demonstrate that the disclosed method achieves both quantitative and qualitative improvements compared to previously available methods. Other embodiments

[0081] It should be understood that although the invention has been described in conjunction with its detailed description, the foregoing description is intended to illustrate and not limit the scope of the invention, which is defined by the scope of the appended claims. Other aspects, advantages, and modifications are within the scope of the appended claims.

Claims

1. A method for identifying polynucleotide molecules distributed in multiple regions, the method comprising: Obtain multiple sequencing reads; Obtain multiple reference sequences; The algorithm is used to compare each of the multiple sequencing reads with each of the multiple reference sequences; A score is generated for each of the multiple sequencing reads based on a comparison between each of the multiple reference sequences. as well as Based on the score of each of these sequencing reads, a polynucleotide molecule is assigned to each of the plurality of sequencing reads, thereby identifying each polynucleotide molecule in each of the plurality of partitions.

2. A system for identifying polynucleotide molecules distributed in multiple regions, the system comprising: A data storage device configured to receive multiple sequencing reads and multiple reference sequences; A computing device, communicatively connected to the data storage device, is configured to: The algorithm is used to compare each of the multiple sequencing reads with each of the multiple reference sequences; A score is generated for each of the multiple sequencing reads based on a comparison between each of the multiple reference sequences. as well as Based on the score of each of these sequencing reads, a polynucleotide molecule is assigned to each of the plurality of sequencing reads, thereby identifying each polynucleotide molecule in each of the plurality of partitions.

3. The method of claim 1 or the system of claim 2, wherein, Each of these multiple reference sequences corresponds to the expected sequence identity of the polynucleotide molecule.

4. The method as claimed in claim 1 or 3, or the system as claimed in claim 2 or 3, wherein, Providing this multiple sequencing read data includes sequencing each of these polynucleotide molecules.

5. The method as claimed in any one of claims 1 and 3 to 4, or the system as claimed in any one of claims 2 to 4, wherein, These multiple partitions are holes in a perforated plate.

6. The method as claimed in any one of claims 1 and 3 to 5, or the system as claimed in any one of claims 2 to 5, wherein, These polynucleotide molecules are DNA building blocks.

7. The method or system of claim 6, wherein, Each of these DNA constructs encodes one of many proteins.

8. The method or system as described in any one of claims 6 to 7, wherein, Each of these DNA constructs is assembled in vitro.

9. The method or system as claimed in any one of claims 6 to 8, wherein, Each of these DNA constructs is assembled within an organism, optionally a bacterium, or optionally a fungus.

10. The method of any one of claims 1 and 3 to 9 or the system of any one of claims 2 to 9, wherein, Each of these proteins is either a wild-type protein or an engineered protein.

11. The method as claimed in any one of claims 1 and 3 to 10, or the system as claimed in any one of claims 2 to 10, wherein, Each of these multiple reference sequences is designed to correspond to each of a variety of wild-type or engineered proteins.

12. The method as claimed in any one of claims 1 and 3 to 11, or the system as claimed in any one of claims 2 to 11, wherein, The algorithm is the Longest Common Substring (LCS) algorithm, optionally wherein it is an improved LCS algorithm, and further optionally wherein it is the Maximum Common Subsequence (MCS) algorithm.

13. The method as claimed in any one of claims 1 and 3 to 12, or the system as claimed in any one of claims 2 to 12, wherein, The score for each of these sequencing reads is the longest match score.

14. The method as claimed in any one of claims 1 and 3 to 13, or the system as claimed in any one of claims 2 to 13, wherein, If the score of one of the multiple sequencing reads exceeds a predetermined threshold, a polynucleotide molecule will be assigned to that sequencing read.

15. The method as claimed in any one of claims 1 and 3 to 14, or the system as claimed in any one of claims 2 to 14, wherein, At least 10,000 polynucleotide molecules were identified within five hours.