Automated Variant Analysis Model Version Switching for Genomic Analysis Applications

JP2025504332A5Pending Publication Date: 2025-10-03ILLUMINA INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024539692
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-09-26
Filing Date
2022-09-30
Publication Date
2025-10-03

Smart Images

  • Figure 00000052_0000
    Figure 00000052_0000
  • Figure 00000052_0001
    Figure 00000052_0001
  • Figure 00000052_0002
    Figure 00000052_0002
Patent Text Reader

Abstract

The present disclosure describes a method, a non-transitory computer-readable medium, and a system that can flexibly and efficiently change the version of a variant analysis model for different genome analysis applications. For example, the disclosed system can determine a particular version of a variant analysis model indicated by a genome analysis application, and can update a genome analysis device (e.g., FPGA, CPU) by installing the indicated version of the variant analysis model. The disclosed system can further execute the genome analysis application to analyze nucleotide base calls utilizing the version of the variant analysis model indicated by the genome analysis application.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] (CROSS REFERENCE TO RELATED APPLICATIONS) This application claims the benefit of and priority to U.S. Patent Application No. 17 / 935,497, filed September 26, 2022, which claims priority to U.S. Provisional Patent Application No. 63 / 294,693, filed December 29, 2021. The aforementioned applications are incorporated herein by reference in their entireties. [Background technology]

[0002] In recent years, biotechnology companies and computer science institutions have improved hardware and software for generating diagnostics and performing other genomic analyses on nucleotide sequences of genomic samples. Some existing nucleotide base sequencing platforms and / or sequencing data analysis software (collectively, hereinafter, existing sequencing systems) generate nucleotide base calls from nucleotide reads of sample nucleotide sequences and / or perform genomic analyses on nucleotide base calls for various purposes. For example, existing sequencing systems may run sequencing analysis applications for diagnosis (or for some other purposes) to screen nucleotide sequences for certain genetic conditions by detecting certain genetic markers within the nucleotide base calls (e.g., variant calls) of the sample sequences.

[0003] Despite recent advances, existing sequencing systems continue to exhibit many shortcomings or disadvantages. For example, many existing sequencing systems strictly implement a particular version of a genome analysis model and are unable to change the version of the genome analysis model without rendering other software applications incompatible with different versions of the model. In particular, existing systems often utilize a genome analysis model in the form of a probabilistic model or some type of machine learning model (e.g., neural network) to perform genome analysis on nucleotide sequences. In many cases, the genome analysis models of these existing systems have a rigid architecture that is incompatible with a particular genome analysis application (e.g., to implement a different analysis application and / or perform a different diagnosis) without modifying or retraining the model. Such modification or retraining can be computationally expensive and time consuming. As a result, some existing systems experience compatibility issues and are unable to execute certain sequencing, secondary, and / or tertiary analysis applications that require specific model architectures and capabilities to implement.

[0004] Due at least in part to their inflexible nature, some existing sequencing systems also exhibit inefficiencies and slow performance. For example, existing systems often require updating or rewriting the genome analysis application to achieve compatibility with available hardware and software. Where an existing sequencing system is capable of running multiple different genome analysis applications in conjunction with a genome analysis model, the task of updating or rewriting the genome analysis application to match the genome analysis model often results in slow execution requiring delays of days, weeks, or more, and sometimes renders the genome analysis application inoperable because a different version of the genome analysis application cannot be installed. For example, some existing sequencing systems require the client device to enter computer code command lines to change or update the version of the genome analysis model, which can often only be done with root access. Indeed, rather than quickly adapting on the fly to available architectures, existing systems may require a time-intensive process of retraining the model architecture and / or reprogramming all or part of the application before analysis for nucleotide base calls can even begin. Summary of the Invention

[0005] The present disclosure describes methods, non-transitory computer-readable media, and systems that can flexibly and efficiently switch between versions of a variant analysis model for the specific requirements of a genome analysis application. For example, the disclosed system can determine a particular version of a variant analysis model indicated by a genome analysis application and can update a genome analysis device by installing the indicated version of the variant analysis model. As described below, the genome analysis device can take the form of a field programmable gate array (FPGA) or other device that operates in conjunction with the variant analysis model to perform secondary and / or tertiary analysis of nucleotide base calls. In some cases, the disclosed system utilizes a container orchestration engine to implement the genome analysis application and automatically (e.g., without installation-specific user input) install the required version of the variant analysis model. The disclosed system can further execute the genome analysis application to analyze nucleotide base calls utilizing the version of the variant analysis model indicated by the genome analysis application and installed on the genome analysis device. [Brief description of the drawings]

[0006] The detailed description refers to the drawings, which are briefly described below. [Figure 1] 1 illustrates a block diagram of a system environment including a model switching system in accordance with one or more embodiments. [Diagram 2] 1 illustrates an overview of a model switching system that identifies and installs a designated version of a variant analysis model for running a genomic analysis application, according to one or more embodiments. [Diagram 3]1 illustrates an example flow of a model switching system that utilizes a container orchestration engine to install an indicated version of a variant analysis model, in accordance with one or more embodiments. [Figure 4] 1 illustrates an example flow of a model switching system for installing a version of a variant analysis model on a genomic analysis device, according to one or more embodiments. [Diagram 5] 1 illustrates an example flow of a model switching system that installs different versions of a variant analysis model for different workflow pods, in accordance with one or more embodiments. [Figure 6] 1 illustrates an example architecture diagram of a model switching system in relation to an overall sequencing environment, in accordance with one or more embodiments. [Figure 7] 1 illustrates a flowchart of a series of actions for identifying and installing a indicated version of a variant analysis model for running a genomic analysis application, according to one or more embodiments. [Figure 8] 1 illustrates a block diagram of an exemplary computing device for implementing one or more embodiments of the present disclosure. [Figure 9] FIG. 1 illustrates a block diagram of an exemplary optical system for image-based genomic sequencing, in accordance with one or more embodiments. [Figure 10] 1 illustrates an exemplary imaging device for image-based genomic sequencing, according to one or more embodiments. [Figure 11] FIG. 1 illustrates an exemplary diagram for performing image-based genomic sequencing, according to one or more embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0007] The present disclosure describes an embodiment of a model switching system that updates a genomic analysis device by installing an indicated version of a variant analysis model required or otherwise indicated by a genomic analysis application. In a real-world scenario, a genomic analysis application often requires collaboration with or operation on a genomic analysis device, such as a field programmable gate array (FPGA) or central processing unit (CPU), to perform its sequencing, secondary analysis, and / or tertiary analysis functions. As a result, a genomic analysis application often requires or calls specific functions of a variant analysis model installed on a genomic analysis device, and a specific (e.g., older or newer) version of the variant analysis model includes different functions (and different modifications to existing functions). Thus, the model switching system may analyze an application specification (e.g., a workflow pod specification) that defines parameters for a genomic analysis application to determine an indicated version of the variant analysis model (e.g., a version required to run the genomic analysis application).

[0008] Based on the determination of the indicated version of the variant analysis model, the model switching system may further install the indicated version on the genomic analysis device. In some cases, the model switching system replaces a previously installed version of the variant analysis model, while in other cases, the model switching system installs the indicated version in addition to one or more previously installed versions. The model switching system may further execute a genomic analysis application to analyze nucleotide base calls utilizing the indicated version of the variant analysis model.

[0009] As just mentioned, in certain implementations, the model switching system identifies a genomic analysis application for analyzing nucleotide base calls determined for a sample nucleotide sequence. For example, the model switching system identifies a genomic analysis application that performs a particular diagnostic (e.g., for detecting markers for a genetic condition) or some other sequencing task or secondary or tertiary analysis on the nucleotide base calls. In addition, the model switching system may determine compatibility requirements for the genomic analysis application, including an indicated version of a variant analysis model for executing the genomic analysis application. For example, the model switching system analyzes an application specification (e.g., a workflow pod specification) that defines parameters for the genomic analysis application, including an indicated version of a variant analysis model required to perform one or more functions of the genomic analysis application.

[0010] Based on the determination of the indicated version of the variant analysis model, the model switching system may further install the indicated version on a genome analysis device, such as an FPGA or CPU, that implements various components or functions of the variant analysis model and / or genome analysis application. For example, the model switching system may update the genome analysis device to install the indicated version of the variant analysis model to be compatible with the genome analysis application. In some embodiments, the genome analysis device may be configured to execute only a single version of the variant analysis model installed at a time (e.g., where the genome analysis device is an FPGA whose hardware may only operate according to its programming). Thus, in these or other embodiments, the model switching system may install the indicated version of the variant analysis model to replace a previously installed version. In certain embodiments, the genome analysis device may be capable of including multiple versions of the variant analysis model at once, and thus the model switching system may install the indicated version for a particular genome analysis application while retaining one or more previously installed versions on the genome analysis device.

[0011] As further described above, the model switching system may also execute a genomic analysis application. In particular, the model switching system may execute a genomic analysis application to perform a particular diagnosis or some other analysis on the nucleotide base calls on the sample nucleotide sequence. To execute the genomic analysis application, the model switching system may utilize a designated version of the variant analysis model installed on the genomic analysis device. Indeed, in some cases, the model switching system executes one or more functions of the genomic analysis application that utilizes the genomic analysis device (having a designated version of the variant analysis model) and / or executes one or more functions that utilize data (e.g., sequencing data, such as nucleotide base calls) in a particular format generated by the designated version of the variant analysis model.

[0012] As alluded to above, embodiments of the model switching system provide several advantages, benefits, and / or improvements over existing sequencing systems. For example, in some embodiments, the model switching system utilizes or implements new functionality not found in existing sequencing systems. Specifically, the model switching system may automatically identify and install a designated version of a variant analysis model specific to an individual genomic analysis application or workflow pod. In contrast, existing sequencing systems cannot automatically adapt to applications that require different versions of a variant analysis model. Indeed, some existing sequencing systems instead require a client device to enter computer code command lines to change or update the version of the variant analysis model. Such commands often require root access, and many client devices or end users do not have root access for variant analysis models.

[0013] Taking advantage of this new functionality not found in existing sequencing systems, in some embodiments, the model switching system is more flexible than many existing sequencing systems. Many existing systems are limited to specific versions of genome analysis models and cannot automatically adapt to install new or different versions, whereas the model switching system can automatically update (e.g., application by application) the version of the variant analysis model installed on the genome analysis device. In fact, the model switching system utilizes a flexible architecture including a container orchestration engine, which facilitates greater adaptability to update the hardware and / or software components of the genome analysis device for running genome analysis applications. As a result, the model switching system can further prevent or overcome some compatibility issues common in existing sequencing systems that cannot run certain applications due to limitations of their variant analysis models or the computing devices that run such variant analysis models.

[0014] The model switching system may further exhibit improved flexibility in adapting to different genomic analysis applications. In particular, the model switching system may determine the application-specific (or pod-specific) version of the variant analysis model indicated by each application (or workflow pod) to be executed sequentially. The model switching system may further implement an automated process that does not require installation-specific user input to iteratively: i) determine the indicated version of the variant analysis model for each application (or workflow pod), ii) install with the indicated version for the particular application (or workflow pod), iii) execute the application utilizing the indicated version, and iv) repeat the process of steps i)-iii) for subsequent applications (or workflow pods), and update the version of the variant analysis model on the genomic analysis device as necessary.

[0015] Due at least in part to the increased flexibility, in certain embodiments, the model switching system also improves computational efficiency and speed over existing sequencing systems. For example, rather than wasting computational resources such as processing power and memory when modifying or retraining the model architecture, as required by some existing sequencing systems, the model switching system utilizes a container orchestration engine that facilitates rapid automatic updates and installation of model versions. Along these lines, the model switching system further improves speed over existing sequencing systems by preventing or avoiding the need to constantly modify or retrain the model architecture (or wait for another party with root access to implement an update to install a compatible version of the variant analysis model). Indeed, the model switching system exhibits high-speed performance in automatically (e.g., without specific user input to determine the model version) and seamlessly determine the indicated version of the variant analysis model, and automatically (e.g., without specific user input for installation or version switching) and seamlessly install the indicated version on the genome analysis device. In some implementations, the process of identifying

[0016] As suggested by the above discussion, the present disclosure utilizes various terms to describe the features and advantages of the model switching system. Further details regarding the meaning of these terms as used in the present disclosure are provided below. For example, the term "sample nucleotide sequence" or "sample sequence" as used in the present disclosure refers to a sequence of nucleotides isolated or extracted from a sample organism (or a copy of such an isolated or extracted sequence). In particular, the sample nucleotide sequence is isolated or extracted from a sample organism and includes a segment of a nucleic acid polymer composed of nitrogenous heterocyclic bases. For example, the sample nucleotide sequence can include a segment of deoxyribonucleic acid (DNA), ribonucleic acid (RNA), or other polymeric forms of nucleic acid or chimeric or hybrid forms of nucleic acid as described below. More specifically, in some cases, the sample nucleotide sequence is one found in a sample prepared or isolated by the kit and received by the sequencing device.

[0017] As further used herein, the term "sequencing data" refers to data or information regarding nucleotide sequences for one or more genomic samples. For example, sequencing data can include data generated by a sequencing device and / or a variant analysis model. In some cases, sequencing data includes nucleotide reads, nucleotide base calls, and / or sequencing metrics associated with sample nucleotide sequences. In one or more embodiments, the sequencing data is specific to a particular nucleotide sequence and is generated using the proprietary methods and processes of the genome analysis platform including the variant analysis model implemented by the genome sequence processing device.

[0018] Relatedly, the term "nucleotide base call" (or sometimes simply "call") refers to the determination or prediction of a particular nucleotide base (or nucleotide base pair) for a genomic coordinate or oligonucleotide of a sample genome during a sequencing cycle. In particular, a nucleotide base call can refer to (i) a determination or prediction of the type of nucleotide base incorporated within an oligonucleotide on a nucleotide sample slide (e.g., a read-based nucleotide base call), or (ii) a determination or prediction of the type of nucleotide base present at a genomic coordinate or region in a sample genome, including a variant or non-variant call in a digital output file. In some cases, for a nucleotide read, a nucleotide base call includes a nucleotide base determination or prediction based on an intensity value resulting from a fluorescently tagged nucleotide added to an oligonucleotide on a nucleotide sample slide (e.g., in a well of a flow cell). Alternatively, a nucleic acid base call includes a nucleotide base determination or prediction to a chromatogram peak or current change resulting from a nucleotide passing through a nanopore of a nucleotide sample slide. In contrast, a nucleotide base call can also include an initial or final prediction of a nucleotide base at a genomic coordinate of a sample genome for a variant call file or other base call output file based on a nucleotide read corresponding to the genomic coordinate. Thus, a nucleotide base call can include a genomic coordinate and a base call corresponding to a reference genome, such as an indication of a variant or non-variant at a particular position corresponding to a reference genome. In practice, a nucleotide base call can refer to a variant call, including but not limited to a single nucleotide polymorphism (SNP), an insertion or deletion (indel), or a base call that is part of a structural variant. By using a nucleotide base call, a sequencing system determines the sequence of a nucleic acid polymer.For example, single nucleotide base calls can include adenine, cytosine, guanine, or thymine calls (abbreviated as A, C, G, T) for DNA, or uracil (instead of thymine) (abbreviated as U) for RNA.

[0019] As used herein, the term "sequencing metric" refers to a quantitative measurement or score that indicates the degree to which an individual nucleotide base call (or a sequence of nucleotide base calls) aligns, compares, or quantifies with respect to a genomic coordinate or genomic region of a reference genome, with respect to a nucleotide base call from a nucleotide read, or with respect to genomic sequencing or genomic structure. For example, a sequencing metric includes a quantitative measurement or score that indicates (i) the degree to which an individual nucleotide base call aligns, maps, or covers a genomic coordinate or reference base of a reference genome, (ii) the degree to which a nucleotide base call compares with a reference or alternative nucleotide read in terms of mapping, mismatches, base call quality, or other raw sequencing metrics, or (iii) the degree to which a genomic coordinate or region corresponding to a nucleotide base call demonstrates mappability, repeat base call content, DNA structure, or other generalized metrics.

[0020] Relatedly, as used herein, the term "nucleotide read" (or sometimes simply "read") refers to an estimated sequence of one or more nucleotide bases (or nucleotide base pairs) from all or a portion of a sample nucleotide sequence. In particular, a nucleotide read includes a sequence of determined or predicted nucleotide base calls for a nucleotide fragment (or a group of monoclonal nucleotide fragments) from a sequencing library corresponding to a genomic sample. For example, a model switching system determines a nucleotide read by generating nucleotide base calls for nucleotide bases that have passed through a nanopore of a nucleotide sample slide, that have been determined via fluorescent tagging, or that have been determined from a well in a flow cell.

[0021] As described, in some embodiments, the model switching system utilizes a variant analysis model to generate nucleotide base calls for genomic coordinates and / or perform other analyses related to nucleotide base calls. As used herein, the term "variant analysis model" refers to a model that includes an algorithm or set of algorithms for analyzing data (e.g., base call data) for a sample nucleotide sequence. In some cases, the variant analysis model is a probabilistic model that generates sequencing data from nucleotide reads of a sample nucleotide sequence, including nucleotide base calls (e.g., variant calls) and associated metrics (e.g., base call quality metrics). For example, in some cases, the variant analysis model refers to a Bayesian probability model that generates variant calls based on nucleotide reads of a sample nucleotide sequence. Such models can include models for secondary analysis performed by a server running variant calling software to align nucleotide reads of a sample with a reference genome, determine genetic variants of the sample based on the aligned nucleotide reads with respect to the reference genome, and determine one or more of a quality metric, an allele frequency metric, or other sequencing metric. The variant analysis model may also include multiple components, including, but not limited to, different software applications or components for mapping and alignment, sorting, overlap marking, calculation of read pile-up depth, and variant calling. In some cases, the variant analysis model refers to the ILLUMINA DRAGEN model for variant calling functions and mapping and alignment functions.

[0022] As mentioned, in some embodiments, the model switching system utilizes a container orchestration engine to orchestrate the execution of the genomic analysis application. As used herein, the term "container orchestration engine" refers to a software engine or platform for automating the deployment, scaling, and management of containerized software services and applications. For example, the container orchestration engine can include a software application having a microservices architecture that executes individual workflow containers as part of a genomic analysis application (e.g., a sequencing diagnostic workflow). The container orchestration engine can treat each container separately to perform separate functions (e.g., containerized tasks) that can be piecewise compartmentalized and added or removed from the workflow.

[0023] Relatedly, the term "workflow container" (or sometimes simply "container") refers to a unit of software that packages code (and all its dependencies) for portable deployment. For example, a workflow container includes a compartmentalized or containerized, operable, portable, executable body of code that performs a particular function or task. In some cases, a workflow container is executable to perform a function or task (e.g., a process or thread) to generate a particular output (e.g., a final output or an intermediate output that feeds another container) from pieces of sequencing data. A model switching system may treat workflow containers separately and isolate some containers differently than others to allow and / or prevent access to sequencing data in a particular, coordinated manner (e.g., within one or more workflow data sources). In some cases, a container refers to a NEXTFLOW container and / or a KUBERNETES container.

[0024] Relatedly, the term "workflow pod" may refer to a deployable unit of software within a container orchestration engine that includes a group of one or more workflow containers. In some cases, a workflow pod is the smallest deployable unit or unit of software that a container orchestration engine can execute. Within a workflow pod, the constituent containers may share common computing resources, such as a common network and / or storage location and processing equipment (e.g., a genomic analysis equipment). In some cases, a workflow pod is part of a genomic analysis application.

[0025] As mentioned, in some embodiments, the model switching system determines the indicated version of the variant analysis model for executing the genomic analysis application. As used herein, the term "genomic analysis application" can refer to a package of custom workflow content that can be deployed by the model switching system and includes workflow definitions, containerized tasks, custom user interfaces, custom microservices, and / or reference data. A genomic analysis application can include or define a workflow or collection of tasks or functions that are organized and orchestrated together to generate a set of diagnostic outputs from sequencing data for a sample nucleotide sequence. For example, a workflow of a genomic analysis application can include any number of tasks that provide any number of functions that can include secondary analysis, tertiary analysis, custom QC logic, reporting, or other desired functionality. In some cases, multiple entities can develop a single genomic analysis application that can be deployed locally (e.g., at an edge server) or in the cloud. A genomic analysis application can have a specific structure or file type (e.g., tape archive or "TAR" file) that defines the workflow and other application data. In some embodiments, a genomic analysis application is a single deployable unit that can be installed on a system that is completely disconnected from the Internet. Application packages can be signed to ensure authenticity and validity, and can be uploaded to the server via a UI portal (eg, using a browser).

[0026] As noted, in some embodiments, the model switching system installs the indicated version of the variant analysis model on the genome analysis device. As used herein, the term "genomic analysis device" may refer to a processing device that executes the functions or tasks of the variant analysis model or genome analysis application to perform analysis on the sequencing data, such as nucleotide base calling. For example, the genome analysis device may utilize the variant analysis model to execute all or a portion of the genome analysis application to perform diagnostic analysis or some other analysis on the sequencing data. In some cases, the genome analysis device may include a computational hardware device, such as an FPGA, that includes an array of programmable logic blocks for performing functions according to a hardware description language (HDL). As another example, the genome analysis device may include programmable circuitry for executing instructions that make up a software application or program, such as a genome analysis application. In some embodiments, the genome analysis device operates on a server separate from the sequencing device or instrument. In these or other embodiments, the genome analysis device is housed on a server that shares a local network with the sequencing device.

[0027] The following paragraphs describe the model switching system with reference to example diagrams depicting example embodiments and implementations. For example, FIG. 1 illustrates a schematic diagram of a system environment (or "environment") 100 in which a model switching system 108 operates according to one or more embodiments. As shown, the environment 100 includes one or more local server devices 102 connected to a client device 110, a remote (e.g., cloud) server device 120, and a sequencing device 114 via a network 116. While FIG. 1 illustrates one embodiment of the model switching system 108, this disclosure below describes alternative embodiments and configurations.

[0028] 1, local server device 102, client device 110, server device 120, and sequencing device 114 may communicate with each other via network 116. Network 116 includes any suitable network with which computing devices may communicate. Exemplary networks are discussed in additional detail below with respect to FIG.

[0029] As illustrated by FIG. 1, the sequencing device 114 includes a device for sequencing nucleic acid polymers. In some embodiments, the sequencing device 114 utilizes computer-implemented methods and systems (described herein) either directly or indirectly on the sequencing device 114 to analyze nucleic acid segments or oligonucleotides extracted from a sample to generate nucleotide reads or other data. More specifically, the sequencing device 114 receives and analyzes nucleic acid sequences extracted from a sample in a nucleotide sample slide (e.g., a flow cell). In one or more embodiments, the sequencing device 114 utilizes sequencing-by-synthesis (SBS) to sequence nucleic acid polymers into nucleotide reads. In addition to or as an alternative to communicating via the network 116, in some embodiments the sequencing device 114 bypasses the network 116 and communicates directly with the local server device 102 and / or the client device 110. Indeed, in some embodiments, the sequencing device 114 and the local server device 102 share a local network (e.g., housed on the same or different servers), as indicated by the dashed boxes, while the client device 110 does not share a local network, but instead communicates via network 116.

[0030] As further illustrated by FIG. 1, the local server device 102 may generate, receive, analyze, store, and transmit digital data, such as data for executing genomic analysis applications to determine nucleotide base calls, sequence nucleic acid polymers, and / or analyze nucleotide sequences (e.g., perform diagnostics on nucleotide sequences). As illustrated in FIG. 1, the sequencing device 114 may transmit call data from the sequencing device 114 (and the local server device 102 may receive call data). The local server device 102 may also communicate with the client device 110. In particular, the local server device 102 may transmit to the client device 110 data including variant call files or data including nucleotide base calls, sequencing metrics, error data, diagnostic information, or other information indicative of results generated by executing the genomic analysis application.

[0031] In some embodiments, the server device 102 comprises a local server device located at or near the same physical location as the sequencing device 114. Indeed, in some embodiments, the server device 102 and the sequencing device 114 are integrated into the same computing device, as indicated by the dotted line around the local server device 102 and the sequencing device 114.

[0032] Rather than being located locally with the sequencing device 114, in some embodiments the local server device 102 comprises a distributed collection of servers, where the local server device 102 includes several server devices distributed across the network 116 and located at the same or different physical locations. As suggested, in some cases the local server device 102 houses the genomic analysis platform 104. The local server device 102 may also include a content server, an application server, a communication server, a web hosting server, or another type of server.

[0033] As further shown in FIG. 1 , the local server device 102 can include a genomic analysis platform 104 for generating and analyzing sequencing data. In general, the genomic analysis platform 104 includes a genomic analysis device 106, such as an FPGA or CPU, that houses and executes a variant analysis model 107. In practice, the variant analysis model 107 can generate and / or analyze sequencing data, such as nucleotide base calls and / or sequencing metrics received from the sequencing device 114, to determine a nucleotide base sequence for a nucleic acid polymer. For example, the variant analysis model 107 can receive raw data from the sequencing device 114 and determine a nucleotide base sequence for a nucleic acid segment. In some embodiments, the variant analysis model 107 determines a nucleotide base sequence in a DNA and / or RNA segment or oligonucleotide. In addition to processing and determining a sequence for a nucleic acid polymer, the variant analysis model 107 also generates a variant call file indicating one or more nucleotide base calls and / or variant calls for one or more genomic coordinates.

[0034] Additionally, in one or some embodiments, the genomic analysis platform 104 includes a model switching system 108. As just described, the model switching system 108 determines a version of the variant analysis model 107 and installs it on the genomic analyzer 106. For example, the model switching system 108 determines that a previously installed version of the variant analysis model 107 is incompatible with the genomic analysis application and updates the genomic analyzer 106 to include a compatible version. In some cases, the model switching system 108 determines an indicated version of the variant analysis model 107 from the genomic analysis application and installs the indicated version on the genomic analyzer 106.

[0035] In practice, in some embodiments, the model switching system 108 identifies or receives the genomic analysis application 112. For example, the model switching system 108 receives the genomic analysis application 112 via upload on a web interface through the network 116. The genomic analysis application 112 may include several workflow pods for performing tasks or functions related to sequencing data (e.g., for diagnosis). In practice, the model switching system 108 may execute the genomic analysis application 112 by utilizing an installed version of the variant analysis model 107 (on the genomic analysis device 106) to analyze the sequencing data to generate or determine various diagnostic or other types of genomic analyses, such as nucleotide base calls and / or sequencing metrics (e.g., from the sequencing device 114 or the variant analysis model 107). For example, the model switching system 108 performs diagnostic analyses of the sequencing data on the sample nucleotide sequences. In some cases, the model switching system 108 performs diagnostic analyses to diagnose or determine a propensity for one or more diseases or genetic conditions.

[0036] As further illustrated in FIG. 1 , the client device 110 can generate, store, receive, and transmit digital data. In particular, the client device 110 can receive sequencing metrics from the sequencing device 114. In addition, the client device 110 can communicate with the local server device 102 to receive results of the genome analysis application and / or variant call files including nucleotide base calls and / or other metrics such as call quality, genotype indicators, and genotype quality. Thus, the client device 110 can present or display information about the nucleotide base calls in a graphical user interface to a user associated with the client device 110. In addition, the client device 110 can generate and provide (e.g., upload via the network 116) a genome analysis application 112 that includes one or more workflow pods for performing analysis of the sequencing data. Indeed, the client device 110 can receive user interactions via a graphical user interface to select and arrange or organize workflow containers for generating the genome analysis application 112. The client device 110 can also receive the results of the genomic analysis application 112 from the local server device 102 and can display the results in a graphical user interface.

[0037] 1 may include various types of client devices. For example, in some embodiments, client device 110 includes a non-mobile device, such as a desktop computer or server, or other type of client device. In yet other embodiments, client device 110 includes a mobile device, such as a laptop, tablet, cell phone, or smartphone. Further details regarding client device 110 are discussed below with respect to FIG. 8.

[0038] As mentioned, the client device 110 includes a genomic analysis application 112. The genomic analysis application 112 can be a web application or a native application (e.g., a mobile application, a desktop application) stored and executed on the client device 110. The genomic analysis application 112 can include instructions that (when executed) cause the client device 110 to receive data from the model switching system 108 and present data from a variant call file for display at the client device 110. Additionally, the genomic analysis application 112 can instruct the client device 110 to display visualizations of workflow pods / containers arranged within the genomic analysis application 112 and / or the external sequencing diagnostic workflow, as well as diagnostic results received from a server device upon execution of the genomic analysis application 112.

[0039] In some embodiments, the model switching system 108 may be located on the client device 110 or on the sequencing device 114 as part of the genomic analysis application 112. Thus, in some embodiments, the model switching system 108 is implemented (e.g., fully or partially located) on the client device 110. In still other embodiments, the model switching system 108 is implemented by one or more other components of the environment 100, such as the sequencing device 114. In particular, the model switching system 108 can be implemented in a variety of different ways across the local server device 102, the server device 120, the network 116, the client device 110, and the sequencing device 114. For example, the model switching system 108 can be downloaded from the local server device 102 and / or the server device 120 to the client device 110 and / or the sequencing device 114, with all or a portion of the functionality of the model switching system 108 being implemented on the respective devices in the environment 100.

[0040] As further illustrated in FIG. 1 , the environment 100 includes a database 118. The database 118 can store information such as genomic analysis applications, application results, variant call files, sample nucleotide sequences, and sequencing data such as nucleotide reads, nucleotide base calls, variant calls, and sequencing metrics. In some embodiments, the local server device 102, the client device 110, and / or the sequencing device 114 communicate (e.g., via the network 116) with the database 118 to store and / or access information such as genomic analysis applications, application results, variant call files, sample nucleotide sequences, and sequencing data such as nucleotide reads, nucleotide base calls, variant calls, and sequencing metrics. In some cases, the database 118 also stores one or more models, such as different versions of the variant analysis model 107.

[0041] Additionally, environment 100 includes a server device 120. In some embodiments, server device 120 may generate, receive, analyze, store, and transmit digital data, such as data for executing a genomic analysis application to determine nucleotide base calls, sequence a nucleic acid polymer, and / or analyze a nucleotide sequence (e.g., perform a diagnosis on a nucleotide sequence). In some cases, sequencing device 114 may transmit call data from sequencing device 114 (and server device 120 may receive call data). Server device 120 may also communicate with client device 110. In particular, server device 120 may transmit to client device 110 data including variant call files, or data including nucleotide base calls, sequencing metrics, error data, diagnostic information, or other information indicative of results generated by executing a genomic analysis application. As shown, server device 120 may house variant analysis model 107. In some embodiments, server device 120 additionally or alternatively houses one or more components of genomic analysis platform 104 (operating in conjunction with other components on local server device 102). Furthermore, server device 120 may include a content server, an application server, a communication server, a web hosting server, or another type of server.

[0042] 1 illustrates components of environment 100 communicating over network 116, in certain implementations, components of environment 100 may also communicate directly with one another, bypassing network 116. For example, as discussed above, in some implementations, client device 110 may communicate directly with sequencing device 114. Additionally, in some embodiments, client device 110 communicates directly with model switching system 108. Furthermore, model switching system 108 may access one or more databases housed on or accessed by local server device 102 or server device 120 or elsewhere within environment 100.

[0043] As noted, in certain described embodiments, the model switching system 108 installs an indicated version of a variant analysis model for executing a genomic analysis application. In particular, the model switching system 108 identifies an indicated version for a genomic analysis application and installs that version on the genomic analysis device. Figure 2 illustrates an exemplary overview of identifying and installing an indicated version of a variant analysis model for executing a genomic analysis application, according to one or more embodiments. Additional details regarding the individual operations described in connection with Figure 2 are then provided with reference to subsequent figures.

[0044] 2, the model switching system 108 performs operation 202 to identify a genomic analysis application. In particular, the model switching system 108 identifies a genomic analysis application (e.g., genomic analysis application 112) for analyzing sequencing data, such as nucleotide base calls or sequencing metrics, as part of a diagnostic process or for some other purpose. In some cases, the model switching system 108 receives the genomic analysis application from a client device 110 or from a server in communication with the client device 110 (e.g., via network 116). For example, the model switching system 108 (or genomic analysis platform 104) provides a web interface whereby the client device 110 generates and uploads a genomic analysis application, such as genomic analysis application 112.

[0045] As further illustrated in FIG. 2 , the model switching system 108 performs operation 204 to determine an indicated version of a variant analysis model (e.g., variant analysis model 107) from a genomic analysis application. In particular, the model switching system 108 determines a version of a variant analysis model indicated by the genomic analysis application and / or required to run or perform one of the genomic analysis applications or functions thereof. In some cases, the model switching system 108 determines the indicated version by analyzing an application specification that defines one or more parameters for running the genomic analysis application. For example, the model switching system 108 identifies a version label within the application specification that indicates a version of a variant analysis model that is required or preferred to run the genomic analysis application.

[0046] For example, an application specification may refer to metadata or software code that accompanies or is part of a genomic analysis application and defines application parameters (e.g., using labels). Such application parameters may include the version of a variant analysis model required to run the application (or a particular workflow pod within the application), computing resources such as a genomic analysis device required and / or accessible by the application, definitions for workflow pods / containers, or other application-specific (or pod-specific) information. A single genomic analysis application may include one or more application specifications, and a single application specification may define parameters for the entire application or for a set of one or more workflow pods within the application (while other application specifications define parameters for other workflow pods).

[0047] As further illustrated in FIG. 2, in some embodiments, the model switching system 108 performs operation 206 to determine an available version of the variant analysis model. More specifically, based on the determination of the indicated version of the variant analysis model for executing the genomic analysis application, the model switching system 108 determines whether the indicated version is available. For example, the model switching system 108 utilizes a variant analysis model manager (e.g., a specific container associated with a container orchestration engine implemented by the model switching system 108 or the genomic analysis platform 104) to access a repository of versions of the variant analysis model (e.g., in the database 118). Thus, in some embodiments, the model switching system 108 determines an available version of the variant analysis model stored in the repository. The model switching system 108 may further compare the stored version to the indicated version for the genomic analysis application.

[0048] Additionally, as shown in FIG. 2, the model switching system 108 performs operation 208 to install the indicated version of the variant analysis model. In some embodiments, the model switching system 108 performs operation 208 in response to performing operation 206. In other embodiments, the model switching system 108 performs operation 208 in response to performing operation 204 (e.g., without performing operation 206). The model switching system 108 installs the indicated version to achieve compatibility for running a genomic analysis application. For example, the model switching system 108 updates a genomic analysis device (e.g., a device that houses a single version of the variant analysis model at a time, or a device that houses multiple versions of the variant analysis model at a time) by installing the indicated version of the variant analysis model. In some cases, the model switching system 108 replaces a previously installed version of the variant analysis model with the indicated version (e.g., such that the indicated version is housed on the genomic analysis device in place of the previous version), while in other cases, the model switching system 108 installs the indicated version in addition to one or more previously installed versions.

[0049] In certain embodiments, the model switching system 108 performs one or more of operations 204-208 automatically, i.e., without requesting or receiving user input to specifically initiate or perform the operation or task. For example, the model switching system 108 automatically determines the indicated version of the variant analysis model upon identifying or receiving the genomic analysis application without requesting or receiving user input to initiate identification of the indicated version. Additionally (or alternatively), the model switching system 108 automatically determines available versions of the variant analysis model in the repository upon determining the indicated version (or upon identifying the genomic analysis application) without requesting or receiving user interaction to initiate determination of available versions of the variant analysis model. Additionally (or alternatively), the model switching system 108 automatically installs the indicated version of the variant analysis model upon determining the available version (or upon determining the indicated version) without requesting or receiving user input to initiate installing the indicated version.

[0050] As further illustrated in FIG. 2 , the model switching system 108 performs operations 210 to execute a genomic analysis application. In particular, the model switching system 108 utilizes the illustrated version of the variant analysis model installed on the genomic analysis device to perform various functions (defined by workflow pods and / or containers) of the genomic analysis application. For example, the model switching system 108 utilizes the genomic analysis device to implement the variant analysis model and provide data for performing (e.g., used by) certain aspects of the genomic analysis application. In some cases, the model switching system 108 may further utilize the genomic analysis device to perform one or more aspects of the genomic analysis application.

[0051] In executing the genomic analysis application, the model switching system 108 determines or generates an application result that includes diagnostic or other information generated or extrapolated from the sequencing data, such as nucleotide base calls (e.g., "AATG") of the sample nucleotide sequence. In certain embodiments, the model switching system 108 executes the genomic analysis application in the form of a diagnostic application that meets security and analytical standards set by a regulatory body for in vitro diagnostics (IVDs) (e.g., standards set by the U.S. Food and Drug Administration or some other agency). The model switching system 108 may similarly execute applications for investigational use only (IUO) and research use only (RUO) analyses.

[0052] As further illustrated in FIG. 2, the model switching system 108 may repeat operations 202-210 for multiple genomic analysis applications. In particular, the model switching system 108 may perform or execute multiple genomic analysis applications in sequence (e.g., by scheduling computing resources such as FPGAs or CPUs). Indeed, for each application in sequence, the model switching system 108 may perform operations 202-210 before proceeding to the next application. In some embodiments, the model switching system 108 automatically iterates through the multiple applications one by one without requesting or receiving user input to proceed to the next application and / or without requesting or receiving user input to perform / repeat each of the operations 202-210 for each successive application.

[0053] As mentioned, in certain described embodiments, the model switching system 108 utilizes a particular container orchestration engine to switch between versions of a variant analysis model. In particular, the model switching system 108 utilizes a container orchestration engine that executes containerized functions to determine the version of the variant analysis model indicated by the genome analysis application and install the indicated version on the genome analysis device. Figure 3 illustrates an example flow for utilizing a container orchestration engine to identify and install versions of a variant analysis model, according to one or more embodiments.

[0054] As illustrated in FIG. 3 , the model switching system 108 identifies or receives a genomic analysis application 302 (e.g., genomic analysis application 112). In addition, the model switching system 108 identifies an application specification 304 within or associated with the genomic analysis application 302. For example, the model switching system 108 identifies the application specification 304 that defines parameters for executing the genomic analysis application 302, such as a version label that specifies a version of the variant analysis model, a container label that specifies a workflow container or workflow pod within the genomic analysis application 302, and a resource label that specifies a computing resource for executing the genomic analysis application 302 (e.g., a genomic analyzer). In some cases, the genomic analysis application 302 includes (or corresponds to) a single application specification (e.g., application specification 304). In other cases, the genomic analysis application 302 includes (or corresponds to) multiple application specifications, each defining parameters for one or more constituent workflow pods within the genomic analysis application 302.

[0055] 3, the model switching system 108 orchestrates or coordinates identifying and installing the indicated version of the variant analysis model utilizing the container orchestration engine API 306. For example, the model switching system 108 utilizes the container orchestration engine API 306, including various workflow pods and / or workflow containers (which are part of the workflow pods), to analyze the application specification 304, identify the indicated version of the variant analysis model, install the indicated version, and execute the genomic analysis application using the indicated version.

[0056] In some cases, the container orchestration engine API 306 includes an admission controller that includes functionality for installing a version of the variant analysis model. For example, the admission controller may communicate with other components of the container orchestration engine (or the model switching system 108) to provide instructions for installing an indicated version of the variant analysis model. In these or other cases, the container orchestration engine API 306 includes a change admission webhook that uses custom callbacks to modify or extend the behavior of the genomic analysis application 302 (e.g., by modifying the application specification 304). For example, the change admission webhook includes instructions that provide instructions to or are accessible by the change webhook controller 308 to modify or extend the application specification 304.

[0057] In practice, the model switching system 108 utilizes the change webhook controller 308 (e.g., as a workflow pod in a container orchestration engine) to generate a modified application specification 310 from the application specification 304. In practice, the change webhook controller 308 may include computer code that keys off the pod label (e.g., an indication of the variant analysis model version) to modify the application specification 304 to include the pod configuration (e.g., hostPID and hostIPC) for the variant analysis model. Additionally, the change webhook controller 308 includes code that triggers the injection of an initialization workflow container that queries the variant analysis model manager 322 to install the model version indicated by the pod label. Thus, the change webhook controller 308 ensures that the version of the variant analysis model 107 installed on the operating system matches the version running in the pod corresponding to the pod label.

[0058] For example, the model switching system 108 generates the modified application specification 310 to include a specialized workflow container referred to as an initialization workflow container (represented in FIG. 3 as “InitContainer”). In effect, the model switching system 108 generates and adds the initialization workflow container to the modified application specification 310. In certain cases, the initialization workflow container includes instructions for communicating with other components (e.g., other workflow containers, devices, or network locations) of the model switching system 108 (or the genomic analysis platform 104). For example, the model switching system 108 utilizes the initialization workflow container to communicate with the variant analysis model manager and install the indicated version of the variant analysis model.

[0059] In effect, the model switching system 108 utilizes the change webhook controller 308 to add version labels to the modified application specification 310 for versions of the variant analysis model that are required or preferred to run the genomic analysis application 302. The model switching system 108 also utilizes the change webhook controller 308 to add resource labels to the modified application specification 310 that indicate resources, such as an FPGA or another genomic analysis device, that are required or preferred to run the genomic analysis application 302.

[0060] Thus, the modification webhook controller 308 identifies and / or selects the genomic analysis device by identifying and / or adding a resource label in the modified application specification 310. As shown, the modification webhook controller 308 further communicates with the variant analysis model manager 322 to provide instructions for installing the indicated version of the variant analysis model. In one or more implementations, the modification webhook controller 308 and / or the variant analysis model manager 322 are hosted on the same server (e.g., server device 120 or local server device 102) as the variant analysis model.

[0061] In one or more embodiments, the modification webhook controller 308 identifies or detects any genomic analysis application or workflow pod that requests the variant analysis model and modifies its corresponding application specification (or pod specification) by adding an initialization container to install the indicated version of the variant analysis model. In some embodiments, the model switching system 108 generates a modified application specification (with the aid of the modification webhook controller 308) for each genomic analysis application that requests the variant analysis model and / or generates a modified pod specification for each workflow pod that requests the variant analysis model.

[0062] As further illustrated in FIG. 3, the model switching system 108 utilizes a resource manager 312 to access or utilize genome analyzer resources 320 (as specified by the modified application specification 310). In particular, the model switching system 108 utilizes a particular workflow container, referred to as a resource manager 312, to identify resource labels in the modified application specification 310 and access the resources identified in the labels. In effect, the model switching system 108 defines a genome analyzer, such as an FPGA or a CPU, as a schedulable resource for access via a container orchestration engine. Thus, the resource manager 312 accesses genome analyzer resources 320 (e.g., a workflow container that communicates and interacts with the genome analyzer) associated with the resources indicated in the modified application specification 310. In some cases, the modified application specification 310 indicates an FPGA or CPU or some other genomic analysis device for executing the genomic analysis application 302 (or a particular workflow pod), and thus the resource manager 312 accesses or communicates with the specified device (or other resource) to facilitate the execution of the genomic analysis application 302 (or a particular workflow pod).

[0063] 3, the model switching system 108 executes the workflow pods 314 as part of the genomic analysis application 302. In particular, the model switching system 108 identifies the workflow pods 314 associated with the modified application specification 310 and executes the functions for one or more workflow containers in the workflow pods 314. Specifically, the model switching system 108 executes the functions of the workflow initiation container 316 and the workflow container 318. In certain embodiments, the model switching system 108 executes or performs the functions defined by the workflow initiation container 316 before executing the functions of other workflow containers (e.g., workflow container 318) in the workflow pods 314 or in the genomic analysis application 302.

[0064] Indeed, as described, the model switching system 108 generates and adds a workflow initiation container 316 to a workflow pod 314 to initialize the workflow pod 314 to execute the workflow container 318 utilizing an appropriate (e.g., indicated) version of the variant analysis model on the requested resource (e.g., a genomic analyzer). For example, in the example illustrated in FIG. 3, the workflow initiation container 316 of the model switching system 108 communicates with the variant analysis model manager 322 to install version 3.8.2 of the variant analysis model for executing the workflow container 318. By executing the workflow initiation container 316 before the workflow container 318, the model switching system 108 ensures that the workflow pod 314 utilizes or has access to the appropriate version of the variant analysis model to perform the functionality as defined by a configuration container such as the workflow container 318.

[0065] As just mentioned, the workflow initialization container 316 communicates with the variant analysis model manager 322 (running on the host operating system) to provide instructions to install the indicated version of the variant analysis model. In practice, the variant analysis model manager 322 receives instructions indicating the indicated version of the variant analysis model for executing the workflow pod 314 (or the genome analysis application 302) or otherwise determines the indicated version. The variant analysis model manager 322 further accesses a repository of variant analysis model versions to determine whether the indicated version is available. Upon determining that the indicated version is available, the variant analysis model manager 322 installs the indicated version on the genome analysis device, replacing a previously installed version or adding the indicated version to one or more previously installed versions. The variant analysis model manager 322 may further monitor the installation status and provide instructions to the change webhook controller 308 and / or other components of the model switching system 108 to initiate execution of the genome analysis application 302 (or the workflow pod 314) upon completion of the installation.

[0066] As mentioned above, in certain described embodiments, the model switching system 108 installs the version of the variant analysis model indicated by the genomic analysis application. In particular, the model switching system 108 installs different versions for different genomic analysis applications as required by the respective applications. Figure 4 illustrates an example flow for installing an indicated version of a variant analysis model according to one or more embodiments.

[0067] 4, the model switching system 108 utilizes a variant analysis model manager 406 (e.g., variant analysis model manager 322) to install an indicated version 408 of a variant analysis model onto a genomic analyzer 410 (e.g., genomic analyzer 106). As described, the model switching system 108 determines an indicated version of a variant analysis model and accesses a repository of variant analysis model versions 404 in a database 402 (e.g., database 118). Additionally, the model switching system 108 utilizes the variant analysis model manager 406 to install the indicated version 408 from the database 402 onto the genomic analyzer 410.

[0068] In some cases, database 402 is local to genomic analysis device 410 and / or variant analysis models (e.g., on the same server or within a local network), while in other cases database 402 is remote (e.g., not on the same server or within a local network). Thus, model switching system 108 may provide instructions to a server (e.g., a server that houses or interacts with genomic analysis device 410) to install the indicated version 408 based on a determination that the indicated version is stored in a remote repository.

[0069] In some embodiments, the variant analysis model manager 406 installs the indicated version 408 to replace a previously installed version of the variant analysis model (e.g., previously installed version A 412). For example, the variant analysis model manager 406 determines that the indicated version 408 is different from a previously installed version of the variant analysis model, and therefore installs the indicated version 408. In certain cases, the genomic analysis device 410 can only accommodate a single version of the variant analysis model at a time. Thus, the variant analysis model manager 406 replaces the previously installed version A 412 with the indicated version 408.

[0070] In addition, the model switching system 108 executes the genome analysis application (or a workflow pod of the genome analysis application) by implementing the indicated version 408 of the variant analysis model on the genome analyzer 410. For example, the model switching system 108 determines computational availability, such as determining whether the genome analyzer 410 is currently performing a task (if the genome analyzer 410 is limited to a single task at a time). Based on computational availability, the model switching system 108 further schedules the execution of the genome analysis application for either immediate execution or later execution (e.g., behind one or more other tasks queued for the genome analyzer 410 from the model switching system 108 or from some other component of the genome analysis platform 104). Indeed, the model switching system 108 may determine the computational availability of the genome analyzer 410 at each step involving the genome analyzer 410, such as installing the indicated version of the variant analysis model and executing the genome analysis application or workflow pod utilizing the indicated version (e.g., utilizing the variant analysis model manager 322).

[0071] Upon executing the genomic analysis application, the model switching system 108 may determine that the genomic analysis device 410 is no longer occupied and is free to be scheduled again for another genomic analysis application. Thus, the model switching system 108 may analyze the other genomic analysis application to identify a new indicated version of the variant analysis model (e.g., as specified by the application specification) for the new application. The model switching system 108 may further install the new indicated version (upon determining that the new indicated version is among the available variant analysis model versions 404) and execute the new genomic analysis application. Additionally, the model switching system 108 may repeat the process of identifying the indicated version, installing the indicated version, and executing the genomic analysis application for several genomic analysis applications in sequence.

[0072] In one or more embodiments, the genomic analysis device 410 can house (or communicate with a database that houses) multiple versions of a variant analysis model. For example, the genomic analysis device 410 can interact with a database of variant analysis model versions (e.g., database 118) that are installed either locally (e.g., on a shared server device or in a shared local network) or on a cloud server. As shown, the genomic analysis device 410 interacts with a cloud database that includes a previously installed version B 414 and a previously installed version C 416. In some cases, the genomic analysis device 410 can execute a genomic analysis application by accessing the previously installed version B 414 and / or the previously installed version C 416 to perform functions for one or more workflow pods defined within the genomic analysis application. In one or more cases, the genomic analysis device 410 can interact with a cloud database (or a local database or some other local memory) to alternate between different installed versions of the variant analysis model (e.g., to execute different genomic analysis applications or workflow pods).

[0073] As mentioned, in certain embodiments, the model switching system 108 installs different versions of a variant analysis model for different workflow pods (e.g., within a single genomic analysis application or within different genomic analysis applications). In particular, the model switching system 108 may identify several workflow pods within a genomic analysis application and analyze a single application specification that defines different versions of the variant analysis model for executing each workflow pod. Or, the model switching system 108 may analyze individual application specifications (or pod specifications) that define the variant analysis model version for each workflow pod. FIG. 5 illustrates an example flow for installing different versions of a variant analysis model for different workflow pods, according to one or more embodiments.

[0074] As illustrated in FIG. 5, the model switching system 108 utilizes a variant analysis model manager 516 (e.g., variant analysis model manager 406 or 322) to identify a designated version of the variant analysis model and install the designated version on a genome analysis device 518 (e.g., genome analysis device 410 or 106). More specifically, the model switching system 108 analyzes a genome analysis application 502 to identify multiple workflow pods, such as workflow pod A 504, workflow pod B 508, and workflow pod C 512. In addition, the model switching system 108 identifies one or more application specifications (or pod specifications) that specify or define the respective designated versions for executing the respective workflow pods A-C. In a particular case, the workflow pods A-C indicate different versions of the variant analysis model because their respective genome analysis functions require different components or functions that belong to different versions of the variant analysis model.

[0075] For example, the model switching system 108 identifies an indicated version A 506 from the application specification associated with workflow pod A 504. Additionally, the model switching system 108 identifies an indicated version B 510 associated with workflow pod B 508. Furthermore, the model switching system 108 identifies an indicated version C 514 associated with workflow pod C 512. In one or more embodiments, the model switching system 108 accesses a database 520 (e.g., database 118) that includes or stores a repository of variant analysis model versions 522. The model switching system 108 further compares the available variant analysis model versions 522 with the indicated versions A-C (all at a time or one at a time in sequence) to determine whether the indicated versions A-C are available within the variant analysis model version 522.

[0076] In some embodiments, the model switching system 108 further utilizes the variant analysis model manager 516 in an iterative, sequential manner to identify and install the indicated versions for each respective workflow pod as they are executed via the genome analyzer 518. In particular, the model switching system 108 identifies and installs the indicated version A 506 on the genome analyzer 518, and further utilizes the genome analyzer 518 to execute workflow pod A 504 utilizing the indicated version A installed on the genome analyzer 518. Upon completion of execution of workflow pod A 504, the model switching system 108 continues sequentially with workflow pod B 508 by identifying the indicated version B 510, verifying its availability in the variant analysis model version 522, installing it on the genome analyzer 518, and executing workflow pod B 508 utilizing the indicated version B.

[0077] Similarly, the model switching system 108 repeats the process for workflow pod C 512 by identifying the indicated version C 514, verifying that the indicated version C 514 is available within the variant analysis model version 522, installing the indicated version C 514 on the genomic analyzer 518, and executing the indicated version C 514 utilizing the indicated version C 514 installed on the genomic analyzer 518. As shown, the model switching system 108 may repeat this process for any number of workflow pods identified within the genomic analysis application 502 (e.g., workflow pods that specify different indicated versions of the variant analysis model).

[0078] As described above, in certain embodiments, the model switching system 108 utilizes containers and pods to determine and update the version of the variant analysis model. In particular, the model switching system 108 may update the model version based on the requirements or parameters of the genomic analysis application. Figure 6 illustrates an example diagram of the components of the system architecture (e.g., installed on a local server device), applications, devices, and containers involved in updating the model version and running the application in accordance with one or more embodiments.

[0079] 6, the model switching system 108 communicates with various components or systems and utilizes a sequencing device (e.g., sequencing device 114) to perform sequencing operations used and / or dictated by a version of the variant analysis model on the local server (e.g., genomic analyzer 106 on local server device 102). For example, the model switching system 108 communicates with a BaseSpace Sequencing Hub ("BSSH") or a cloud-based interface for research use only ("RUO") and laboratory information management system ("LIMS") to generate base calls for nucleotide bases of a genomic sample.

[0080] Based on the information from the BSSH RUO and / or the LIMS, the model switching system 108 performs real-time analysis ("RTA") of the sample. More specifically, the model switching system 108 performs RTA to determine base calls, variant calls, and / or various metrics from the nucleotide bases of the genomic sample according to the sequencing plan. Based on the RTA, the model switching system 108 generates a binary base call ("BCL") file that includes the raw data generated and output by one or more sequencing runs (e.g., via the RTA). In practice, the BCL file can indicate base calls, variant calls, and / or other sequencing information for interpretation by a variant analysis model and / or some other system.

[0081] To organize or plan sequencing runs for the RTA, the model switching system 108 provides control software (e.g., including a user interface) for planning or scheduling sequencing runs for a particular sample. In practice, the model switching system 108 provides control software and a user interface for planning one or more sequencing runs, for example, to test a genomic sample for a particular genetic marker or genetic predisposition according to planning parameters. For example, the control software allows a user to specify parameters for a sequencing run and / or test for a particular marker. As shown, the model switching system 108 can integrate the control software for the sequencing device with a user interface web portal (including a standalone web browser and control software integration) to interface with the sequencing device to plan a sequencing run.

[0082] In some cases, the model switching system 108 facilitates local planning for sequencing runs, where the planning software (e.g., control software) is hosted by a local edge server. In these or other cases, the model switching system 108 facilitates cloud planning for sequencing runs, where the planning software (e.g., control software) is hosted on a cloud server rather than the local server device 102. Similarly, execution of the variant analysis model can be local or cloud-based, depending on whether the server hosting the variant analysis model is a local server (e.g., local server device 102) or a cloud-based server (e.g., server device 120).

[0083] In one or more embodiments, the model switching system 108 facilitates version updates or version switching of variant analysis models in dark locations or other locations using computing devices that are not connected to the Internet or a Wide Area Network (WAN). For example, the model switching system 108 accommodates situations where (i) a genome sequencing system, such as a primary analysis system, a secondary analysis system, or a tertiary analysis system, is not connected to the Internet for privacy, security, and / or other purposes, and (ii) includes multiple versions of a variant analysis model stored on the associated system. In particular, the model switching system 108 may download an installer (e.g., an executable digital file for installing software on a computing device) for a version of a variant analysis model (or multiple installers for multiple versions of a variant analysis model) and may generate and provide a graphical user interface to facilitate copying the installer onto the model switching system 108 (e.g., onto the genome analysis device 106). In particular, the model switching system 108 may guide the installation process using a graphical user interface (e.g., to copy and / or execute an installer) without requiring internet or WAN access to run an installer for the relevant or selected model version. For example, the model switching system 108 may provide multiple installers for different versions of a variant analysis model and may automatically (or manually via inputs in a graphical user interface) select, copy, and / or execute an appropriate installer to update or switch between model versions based on parameters or requirements of different genomic analysis applications.

[0084] As further illustrated in FIG. 6, the system architecture 600 of the model switching system 108 includes or communicates with containers or systems associated with one or more core services. Indeed, as shown, the model switching system 108 includes the services of the system architecture 600. To manage or orchestrate the various services of the system architecture 600 of the model switching system 108, the system architecture 600 includes a container orchestration engine 601 (e.g., K3S or Kubernetes) to manage and implement various pods and containers associated with performing genomic analysis and / or updating model versions for variant analysis models. As described, the model switching system 108 utilizes the container orchestration engine 601 to orchestrate or coordinate identifying and installing indicated versions of various analytical models (e.g., indicated by applications of third-party systems). The model switching system 108 may also perform other functions, including user management, application management, run management, variant analysis model management, equipment management, data copying, and audit logging.

[0085] For example, the model switching system 108 utilizes a container orchestration engine 601 that includes various workflow pods and / or workflow containers (that are part of a workflow pod) to analyze the application specification, identify the indicated version of the variant analysis model, install the indicated version, and execute the genomic analysis application utilizing the indicated version. In some cases, the container orchestration engine 601 includes an admission controller that includes functionality for installing the version of the variant analysis model. For example, the admission controller may communicate with other components of the container orchestration engine 601 (or the model switching system 108) to provide instructions for installing the indicated version of the variant analysis model.

[0086] For example, system architecture 600 includes a user management service 602 (e.g., a set of one or more user management pods or containers). The user management service 602 performs various processes or functions to provide a single sign-on ("SSO") experience system-wide. Specifically, the user management service 602 may include one or more containers or pods that contain or access user information for third-party systems, for example, to determine the version of a variant analysis model currently installed on a genomic analysis device and / or to determine a required version of a genomic analysis model. Based on the determination of the installed and / or required version, the user management service 602 may communicate with other services of system architecture 600 to initiate the installation of a new version that matches the required version and the removal of the current version.

[0087] In addition, the system architecture 600 includes or utilizes an application management service 604 that communicates with the container orchestration engine 601. For example, the application management service 604 manages the installation of application packages for version upgrades and the removal of older model versions. In some cases, the application management service 604 further includes a resource manager (e.g., resource manager 312). As described, the resource manager may access or utilize genomic analysis device resources as specified by the modified application specification. In particular, the resource manager identifies a resource label to access a specified resource, such as an FPGA or a CPU, as a schedulable resource for access via the container orchestration engine. In some cases, the application management service 604 includes (or receives from a third party system) an application specification that indicates an FPGA or a CPU or some other genomic analysis device for executing the genomic analysis application (or a particular workflow pod), and thus the resource manager accesses or communicates with the specified device (or other resource) to facilitate the execution of the genomic analysis application (or a particular workflow pod).

[0088] As further shown, the system architecture 600 includes or utilizes a run management and orchestration service 606. In particular, the run management and orchestration service 606 includes one or more containers or pods for facilitating and executing a genomic analysis, such as a sequencing run, a primary analysis, a secondary analysis, or a tertiary analysis. In effect, the run management and orchestration service 606 includes computer code or instructions for executing a sequencing run (and / or further analysis) according to an installed version of a variant analysis model. For example, the run management and orchestration service 606 communicates with a workflow engine 614 to execute a custom workflow for an application, such as an application associated with a third-party system (e.g., an oncology assay application, such as a TSO500 application, a QC application, or another application). The run management and orchestration service 606 further includes code for communicating with a data copy service 612 to copy input and output sequencing data (e.g., from BCL files generated by the sequencing device) for performing genomic analysis and / or for storage in a database, such as a local network attached storage ("NAS"), server message block ("SMB"), or common internet file system ("CIFS").

[0089] In addition, the system architecture 600 includes a variant analysis model management service 608. In particular, the variant analysis model management service 608 includes one or more containers or pods for managing variant analysis models (e.g., variant analysis model 107) for performing genomic analysis. For example, the variant analysis model management service 608 implements a specific version installed to detect genetic markers for a certain condition in a sample genome sequence. In addition, the variant analysis model management service 608 manages model peripherals such as licensing, self-testing, and version certification for variant analysis models.

[0090] As further illustrated in FIG. 6 , the system architecture 600 includes an equipment management service 610. In one or more embodiments, the equipment management service 610 includes one or more containers or pods for pairing and monitoring equipment used as part of a sequencing workflow and / or post-sequencing genomic analysis workflow. For example, the equipment management service 610 manages the sequencing devices and / or the variant analysis model equipment to pair compatible equipment with a indicated version of the variant analysis model (or vice versa). The system architecture 600 further includes an audit logging service 616 for monitoring and logging the performance of the equipment, the variant analysis model components, and / or the containers in the application workflow. For example, the audit logging service 616 detects and logs errors or other audit information associated with the system architecture 600.

[0091] As alluded to above in the description of FIG. 1, using the system architecture 600 illustrated in FIG. 6, the model switching system 108 can be deployed locally on an edge server (e.g., the local server device 102) or in the cloud, such as on a cloud-based server hosting Illumina Connected Analytics ("ICA") and / or a cloud-based server from Amazon Web Services ("AWS"). For example, the model switching system 108 can run locally on the local server device 102 as part of planning software to plan resources based on user input for a sequencing run or other assay, and the variant analysis model 107 can similarly run locally on the local server device 102 to analyze BCL data and determine variant calls or other metrics. In contrast, the model switching system 108 can run remotely on the server device 120 as part of planning software, and the variant analysis model 107 can run locally on the local server device 102 to analyze BCL data and determine variant calls.

[0092] Referring now to FIG. 7, an exemplary flow chart of a series of operations for identifying and installing a depicted version of a variant analysis model for executing a genomic analysis application is illustrated, according to one or more embodiments. Although FIG. 7 illustrates operations according to one embodiment, alternative embodiments may omit, add, rearrange, and / or modify any of the operations depicted in FIG. 7. The operations of FIG. 7 can be performed as part of a method. Alternatively, a non-transitory computer-readable storage medium can include instructions that, when executed by one or more processors, cause a computing device to perform the operations depicted in FIG. 7. In a further embodiment, a system comprises at least one processor and a non-transitory computer-readable medium including instructions that, when executed by one or more processors, cause the system to perform the operations of FIG. 7.

[0093] 7, the series of operations 700 includes an operation 702 of identifying a genomic analysis application. In particular, operation 702 may include identifying a genomic analysis application for analyzing nucleotide base calls determined for a sample nucleotide sequence. Operation 702 may involve identifying or receiving the genomic analysis application from a client device, which deploys or generates the genomic analysis application for uploading or transfer to a genomic analysis platform.

[0094] 7, the series of operations 700 includes operation 704 of determining an indicated version of the variant analysis model for executing the genomic analysis application. In particular, operation 704 may include determining an indicated version of the variant analysis model for executing the genomic analysis application indicated by an application specification that defines one or more parameters for the genomic analysis application. For example, operation 704 may involve analyzing the application specification to identify a version label that specifies the indicated version of the variant analysis model. In some cases, operation 704 includes utilizing a variant analysis model manager to analyze the application specification to identify a version label that specifies the indicated version of the variant analysis model.

[0095] Additionally, the series of operations 700 includes an operation 706 of installing the indicated version of the variant analysis model. In particular, operation 706 may include installing the indicated version of the variant analysis model for execution in place of a previously installed version of the variant analysis model based on the determination of the indicated version of the variant analysis model. For example, operation 706 may involve updating a field programmable gate array to include the indicated version of the variant analysis model for performing genomic analysis. In some cases, operation 706 involves automatically installing the indicated version of the variant analysis model by utilizing a variant analysis model manager to determine available versions of the variant analysis model and initiate installation of the indicated version from the available versions.

[0096] In one or more embodiments, the series of operations 700 includes an operation of determining that the indicated version of the variant analysis model is different from a previously installed version of the variant analysis model and that only a single version of the variant analysis model may be installed at a time. In these or other embodiments, operation 706 may involve installing the indicated version of the variant analysis model based on a determination that the indicated version is different from the previously installed version. In one or more cases, operation 706 involves replacing the previously installed version of the variant analysis model with the indicated version of the variant analysis model. In certain cases, operation 706 involves installing the indicated version of the variant analysis model in addition to a previously installed version such that the indicated version and the previously installed version of the variant analysis model are installed on one or more servers of the system.

[0097] In one or more embodiments, operation 706 involves initiating installation of the indicated version of the variant analysis model utilizing a variant analysis model manager housed on a server shared by the variant analysis model. Operation 706 may involve determining that the indicated version of the variant analysis model is stored in a remote repository that stores multiple versions of the variant analysis model. In some cases, operation 706 may involve providing instructions to a server to install the indicated version of the variant analysis model based on a determination that the indicated version is stored in the remote repository.

[0098] In some embodiments, the series of operations 700 includes an operation of determining that an indicated version of the variant analysis model installed on the genome analyzer is different from a previously installed version of the variant analysis model, where the genome analyzer may be configured to run a single version of the variant analysis model at a time. Operation 706 may further involve installing the indicated version of the variant analysis model on the genome analyzer based on a determination that the indicated version is different from the previously installed version. The series of operations 700 may also include an operation of selecting the genome analyzer as a location for installing the indicated version of the variant analysis model by utilizing a modification webhook controller to identify a resource label in an application specification that specifies the genome analyzer.

[0099] As further illustrated in FIG. 7, the series of operations 700 includes an operation 708 of executing a genomic analysis application utilizing the indicated version of the variant analysis model. In particular, operation 708 may include executing the genomic analysis application to analyze nucleotide base calls utilizing the indicated version of the variant analysis model. In some embodiments, operation 708 involves determining the computational availability of a genomic analysis device housing the variant analysis model for executing the genomic analysis application, and scheduling execution of the genomic analysis application by the genomic analysis device based on the computational availability of the genomic analysis device. In certain cases, the series of operations 700 includes an operation of receiving sequencing data including nucleotide base calls from a sequencing device. Operation 708 may further involve executing the genomic analysis application to analyze the nucleotide base calls utilizing a field programmable gate array configured to execute the indicated version of the variant analysis model.

[0100] In one or more embodiments, the series of operations 700 includes identifying a plurality of workflow pods, where two or more of the plurality of workflow pods specify different versions of the variant analysis model to perform their respective functions. In these or other embodiments, the series of operations 700 includes iteratively installing different versions of the variant analysis model for sequential execution of each of the plurality of workflow pods. The series of operations 700 may include utilizing a change webhook controller to identify an indicated version of the variant analysis model and modifying an application specification of the genomic analysis application to include instructions for initializing installation of the indicated version of the variant analysis model. Modifying the application specification may include adding an initialization workflow container to the application specification that communicates with the variant analysis model manager to install the indicated version of the variant analysis model.

[0101] In certain embodiments, the series of operations 700 includes an operation of identifying a plurality of additional genomic analysis applications for analyzing nucleotide base calls determined for the sample nucleotide sequence, each of the plurality of additional genomic analysis applications specifying a different version of the variant analysis model. The series of operations 700 may also include an operation of sequentially executing each of the plurality of additional genomic analysis applications by iteratively installing a version of the variant analysis model for a current genomic analysis application of the plurality of additional genomic analysis applications to replace a version from a previous genomic analysis application of the plurality of additional genomic analysis applications, and executing the current genomic analysis application utilizing the version of the variant analysis model for the current genomic analysis application.

[0102] The methods described herein can be used in conjunction with various nucleic acid sequencing techniques. Particularly applicable techniques are those in which the nucleic acids are attached to fixed positions within an array such that their relative positions do not change, and the array is repeatedly imaged. For example, embodiments in which images are obtained in different color channels that correspond to different labels used to distinguish one nucleotide base type from another are particularly applicable. In some embodiments, the process of determining the nucleotide sequence of the target nucleic acid can be an automated process. A preferred embodiment includes sequencing-by-synthesis (SBS) techniques.

[0103] SBS technology generally involves the enzymatic extension of nascent nucleic acid strand by repeated addition of nucleotides to template strand.In the conventional method of SBS, a single nucleotide monomer can be provided to target nucleic acid in the presence of polymerase in each delivery.However, in the method described herein, two or more kinds of nucleotide monomers can be provided to target nucleic acid in the presence of polymerase during delivery.

[0104] SBS can utilize nucleotide monomers with terminator moieties or nucleotide monomers that lack any terminator moiety. Methods that utilize nucleotide monomers that lack terminators include, for example, pyrosequencing and sequencing using γ-phosphate-labeled nucleotides, as described in more detail below. In methods that use nucleotide monomers that do not contain terminators, the number of nucleotides added in each cycle is generally variable and depends on the template sequence and the mode of nucleotide delivery. In SBS techniques that utilize nucleotide monomers with terminator moieties, the terminator can be effectively irreversible under the sequencing conditions used, as in the case of conventional Sanger sequencing that utilizes dideoxynucleotides, or the terminator can be reversible, as in the case of the sequencing method developed by Solexa (now Illumina, Inc.).

[0105] SBS techniques can use nucleotide monomers with or without a label moiety. Thus, incorporation events can be detected based on the properties of the label, such as the fluorescence of the label, the properties of the nucleotide monomer, such as the molecular weight or charge, the by-products of incorporation of the nucleotide, such as the release of pyrophosphate, and the like. In embodiments in which two or more different nucleotides are present in the sequencing reagent, the different nucleotides can be distinguishable from each other, or alternatively, the two or more different labels can be distinguishable under the detection technique used. For example, the different nucleotides present in the sequencing reagent can have different labels, which can be distinguished using appropriate optical systems, as exemplified by the sequencing method developed by Solexa (now Illumina, Inc.).

[0106] A preferred embodiment includes the pyrosequencing technique, which detects the release of inorganic pyrophosphate (PPi) when a specific nucleotide is incorporated into a nascent strand (Ronaghi, M., Karamohamed, S., Pettersson, B., Uhlen, M. and Nyren, P. (1996) "Real-time DNA sequencing using detection of pyrophosphate release." Analytical Biochemistry 242(1), 84-9; Ronaghi, M. (2001) "Pyrosequencing sheds light on DNA sequencing." Genome Res. 11(1), 3-11; Ronaghi, M., Uhlen, M. and Nyren, P. (1998) "A sequencing method based on real-time pyrophosphate." Science 281(5375),363, U.S. Pat. No. 6,210,891, U.S. Pat. No. 6,258,568 and U.S. Pat. No. 6,274,320, the disclosures of which are incorporated herein by reference in their entireties. In pyrosequencing, the released PPi can be detected by its immediate conversion to adenosine triphosphate (ATP) by ATP sulfurase, and the level of ATP generated is detected via luciferase-generated photons. The nucleic acid to be sequenced can be bound to features in the array, and the array can be imaged to capture chemiluminescent signals generated by incorporation of nucleotides into the features of the array. Images can be obtained after treatment of the array with a particular nucleotide type (e.g., A, T, C, or G). Images obtained after addition of each nucleotide type differ with respect to which features in the array are detected. These differences in the images reflect the different sequence content of the features on the array. However, the relative position of each feature remains unchanged in the image. The images can be stored, processed, and analyzed using the methods described herein.For example, images obtained after treating the array with each different nucleotide type can be processed in the same manner as exemplified herein for images obtained from different detection channels for reversible terminator-based sequencing methods.

[0107] In another exemplary type of SBS, cycle sequencing is achieved by stepwise addition of reversible terminator nucleotides containing cleavable or photobleachable dye labels, for example as described in WO 04 / 018497 and U.S. Pat. No. 7,057,026, the disclosures of which are incorporated by reference. This approach has been commercialized by Solexa (now Illumina Inc.) and is also described in WO 91 / 06678 and WO 07 / 123,744, each of which is incorporated by reference herein. The availability of fluorescently labeled terminators, both of which can be reversed and from which the fluorescent labels are cleaved, facilitates efficient cyclic reversible termination (CRT) sequencing. Polymerases can also be co-engineered to efficiently incorporate and extend from these modified nucleotides.

[0108] Preferably, in reversible terminator-based sequencing embodiments, the label does not substantially inhibit extension under SBS reaction conditions. However, the detection label may be removable, for example, by cleavage or degradation. Images can be taken after incorporation of the label into the arrayed nucleic acid features. In certain embodiments, each cycle involves simultaneous delivery of four different nucleotide types to the array, each nucleotide type having a spectrally distinct label. Four images can then be obtained, each using a detection channel selective for one of the four different labels. Alternatively, different nucleotide types can be added sequentially, and images of the array can be obtained during each addition step. In such embodiments, each image shows nucleic acid features that incorporate a particular type of nucleotide. Different features are present or absent in different images, since the sequence content of each feature is different. However, the relative positions of the features remain unchanged within the images. Images obtained from such reversible terminator-SBS methods can be stored, processed, and analyzed as described herein. Following the image taking step, the label can be removed, and the reversible terminator moiety can be removed for subsequent cycles of nucleotide addition and detection. Removal of the label after detection in a particular cycle and prior to the subsequent cycle has the advantage of reducing background signal and crosstalk between cycles. Examples of useful labeling and removal methods are described below.

[0109] In certain embodiments, some or all of the nucleotide monomers can include reversible terminators. In such embodiments, the reversible terminator / cleavable fluorophore can include a fluorophore attached to the ribose moiety via a 3' ester bond (Metzker, Genome Res. 15:1767-1776 (2005), which is incorporated herein by reference). Other approaches separate the terminator chemistry from the cleavage of the fluorescent label (Ruparel et al., Proc Natl Acad Sci USA 102:5932-7 (2005), which is incorporated herein by reference in its entirety). Ruparel et al. describe the development of reversible terminators that use a small amount of 3' allyl group to block extension, but can be easily deblocked by brief treatment with a palladium catalyst. The fluorophore was attached to the group via a photocleavable linker that can be easily cleaved by 30 seconds of exposure to long wavelength UV light. Thus, either disulfide reduction or photocleavage can be used as a cleavable linker. Another approach to reversible termination is the use of a natural terminus followed by placement of a bulky dye on the dNTP. The presence of a charged bulky dye on the dNTP can act as an effective terminator through steric and / or electrostatic hindrance. The presence of one incorporation event prevents further binding unless the dye is removed. Cleavage of the dye removes the fluor, effectively reversing the terminus. Examples of modified nucleotides are also described in U.S. Pat. Nos. 7,427,673 and 7,057,026, the disclosures of which are incorporated herein by reference in their entireties.

[0110] Additional exemplary SBS systems and methods that may be utilized with the methods and systems described herein are described in U.S. Patent Application Publication No. 2007 / 0166705, U.S. Patent Application Publication No. 2006 / 0188901, U.S. Pat. No. 7,057,026, U.S. Patent Application Publication No. 2006 / 0240439, U.S. Patent Application Publication No. 2006 / 0281109, WO 05 / 065814, U.S. Patent Application Publication No. 2005 / 0100900, WO 06 / 064199, WO 07 / 010,251, U.S. Patent Application Publication No. 2012 / 0270305, and U.S. Patent Application Publication No. 2013 / 0260372, the disclosures of which are incorporated herein by reference in their entireties.

[0111] Some embodiments may utilize detection of four different nucleotides using fewer than four different labels. For example, SBS may be performed using the methods and systems described in incorporated document US Patent Application Publication No. 2013 / 0079232. As a first example, pairs of nucleotide types may be detected at the same wavelength but may be distinguished based on differences in intensity for one member of the pair or based on a change to one member of the pair (e.g., via making a chemical, photochemical, or physical modification) that results in the appearance or disappearance of a distinct signal compared to the signal detected for the other member of the pair. As a second example, three of the four different nucleotide types may be detected under certain conditions, while the fourth nucleotide type may have no detectable label under those conditions or may be minimally detected under those conditions (e.g., minimal detection due to background fluorescence, etc.). Incorporation of the first three nucleotide types into a nucleic acid may be determined based on the presence of their corresponding signals, and incorporation of the fourth nucleotide type into a nucleic acid may be determined based on the absence or minimal detection of any signal. As a third example, one nucleotide type can include a label that is detected in two different channels, while the other nucleotide type is detected in no more than one of the channels. The three exemplary configurations above are not considered mutually exclusive and can be used in various combinations.An exemplary embodiment combining all three examples is a fluorescence-based SBS method that uses a first nucleotide type that is detected in a first channel (e.g., dATP having a label that is detected in the first channel when excited by a first excitation wavelength), a second nucleotide type that is detected in a second channel (e.g., dCTP having a label that is detected in the second channel when excited by a second excitation wavelength), a third nucleotide type that is detected in both the first and second channels (e.g., dTTP having at least one label that is detected in both channels when excited by the first and / or second excitation wavelengths), and a fourth nucleotide type that is not detected in any channel or that is minimally devoid of a label (e.g., unlabeled dGTP).

[0112] Furthermore, as described in incorporated document U.S. Patent Application Publication No. 2013 / 0079232, sequencing data can be obtained using a single channel. In such so-called one-dye sequencing methods, a first nucleotide type is labeled but the label is removed after the first image is generated, and a second nucleotide type is labeled only after the first image is generated. A third nucleotide type retains its label in both the first and second images, and a fourth nucleotide type remains unlabeled in both images.

[0113] Some embodiments may utilize sequencing by ligation techniques. Such techniques utilize DNA ligase to incorporate oligonucleotides and identify the incorporation of such oligonucleotides. The oligonucleotides typically have different labels that correlate with the identity of a particular nucleotide in the sequence to which the oligonucleotide hybridizes. As with other SBS methods, images can be obtained after treating an array of nucleic acid features with labeled sequencing reagents. Each image shows nucleic acid features that incorporate a particular type of label. Because the sequence content of each feature is different, different features are present or absent in different images, but the relative positions of the features remain unchanged within the images. Images obtained from ligation-based sequencing methods can be stored, processed, and analyzed as described herein. Exemplary SBS systems and methods that may be utilized with the methods and systems described herein are described in U.S. Pat. No. 6,969,488, U.S. Pat. No. 6,172,218, and U.S. Pat. No. 6,306,597, the disclosures of which are incorporated herein by reference in their entireties.

[0114] Some embodiments may utilize nanopore sequencing (Deamer, DW & Akeson, M. "Nanopores and nucleic acids: prospects for ultrarapid sequencing." Trends Biotechnol. 18, 147-151 (2000); Deamer, D. and D. Branton, "Characterization of nucleic acids by nanopore analysis." Acc. Chem. Res. 35:817-825 (2002); Li, J., M. Gershow, D. Stein, E. Brandin, and JA Golovchenko, "DNA molecules and configurations in a solid-state nanopore microscope." Nat. Mater. 2:611-615 (2003), the disclosures of which are incorporated herein by reference in their entireties). In such embodiments, the target nucleic acid passes through the nanopore. The nanopore may be a synthetic pore or a biological membrane protein, such as α-hemolysin. As the target nucleic acid passes through the nanopore, each base pair can be identified by measuring the fluctuation in the electrical conductance of the pore. (U.S. Pat. No. 7,001,792; Soni, GV & Meller, "A. Progress toward ultrafast DNA sequencing using solid-state nanopores." Clin. Chem. 53, 1996-2001 (2007); Healy, K. "Nanopore-based single-molecule DNA analysis." Nanomed. 2, 459-481 (2007); Cockroft, SL, Chu, J., Amorin, M. & Ghadiri, MR "A single-molecule nanopore device detects DNA polymerase activity with single-nucleotide resolution." J. Am Chem. Soc. 130, 818-820 (2008), the disclosures of which are incorporated herein by reference in their entireties).Data obtained from nanopore sequencing can be stored, processed, and analyzed as described herein. In particular, the data can be processed as images according to the exemplary processing of optical and other images described herein.

[0115] Some embodiments may utilize methods involving real-time monitoring of DNA polymerase activity. Nucleotide incorporation may be detected via fluorescence resonance energy transfer (FRET) interactions between fluorophore-containing polymerases and γ-phosphate-labeled nucleotides, for example, as described in U.S. Pat. No. 7,329,492 and U.S. Pat. No. 7,211,414, each of which is incorporated herein by reference, or nucleotide incorporation may be detected using zero-mode waveguides, for example, as described in U.S. Pat. No. 7,315,019, each of which is incorporated herein by reference, and fluorescent nucleotide analogs and engineered polymerases, for example, as described in U.S. Pat. No. 7,405,281 and U.S. Patent Application Publication No. 2008 / 0107082, each of which is incorporated herein by reference. Illumination can be restricted to a zeptoliter-scale volume around the surface-tethered polymerase so that incorporation of fluorescently labeled nucleotides can be observed with low background (Levene, MJ et al. "Zero-mode waveguides for single-molecule analysis at high concentrations." Science, 299, 682-686 (2003); Lundquist, PM et al. "Parallel confocal detection of single molecules in real time." Opt. Lett. 33, 1026-1028 (2008); Korlach, J. et al. "Selective aluminum passivation for targeted immobilization of single DNA polymerase molecules in zero-mode waveguide nano structures." Proc. Natl. Acad. Sci. USA 105, 1176-1181 (2008), the disclosures of which are incorporated herein by reference in their entireties).Images resulting from such methods can be stored, processed, and analyzed as described herein.

[0116] Some SBS embodiments include detection of protons released upon incorporation of a nucleotide into an extension product. For example, sequencing based on detection of released protons may use electrical detectors and related technology available from Ion Torrent (Guilford, CT, a subsidiary of Life Technologies), or the sequencing methods and systems described in US Patent Application Publication No. 2009 / 0026082 (A1), US Patent Application Publication No. 2009 / 0127589 (A1), US Patent Application Publication No. 2010 / 0137143 (A1), or US Patent Application Publication No. 2010 / 0282617 (A1), each of which is incorporated herein by reference. The methods described herein for amplifying target nucleic acids using kinetic exclusion can be easily adapted to substrates used to detect protons. More specifically, the methods described herein can be used to generate clonal populations of amplicons used to detect protons.

[0117] The SBS method described above can be advantageously performed in a multiplex format, such that multiple different target nucleic acids are manipulated simultaneously. In certain embodiments, the different target nucleic acids can be processed in a common reaction vessel or on the surface of a particular substrate. This allows for convenient delivery of sequencing reagents, removal of unreacted reagents, and detection of incorporation events in a multiplexed manner. In embodiments using surface-bound target nucleic acids, the target nucleic acids can be in an array format. In an array format, the target nucleic acids can typically be bound to a surface in a spatially distinguishable manner. The target nucleic acids can be bound by direct covalent binding, binding to beads or other particles, or binding to a polymerase or other molecule bound to the surface. The array can include a single copy of the target nucleic acid at each site (also referred to as a feature), or multiple copies with the same sequence can be present at each site or feature. The multiple copies can be generated by amplification methods such as bridge amplification or emulsion PCR, which are described in more detail below.

[0118] The methods described herein can use arrays having any of a variety of densities of features, including, for example, at least about 10 features / cm2, 100 features / cm2, 500 features / cm2, 1,000 features / cm2, 5,000 features / cm2, 10,000 features / cm2, 50,000 features / cm2, 100,000 features / cm2, 1,000,000 features / cm2, 5,000,000 features / cm2, or more.

[0119] An advantage of the methods described herein is that they provide rapid and efficient detection of multiple target nucleic acids in parallel. Thus, the present disclosure provides an integrated system that can prepare and detect nucleic acids using techniques known in the art, such as those exemplified above. Thus, the integrated system of the present disclosure can include fluidic components that can deliver amplification and / or sequencing reagents to one or more immobilized DNA fragments, the system including components such as pumps, valves, reservoirs, fluid lines, etc. A flow cell can be configured and / or used in the integrated system for detecting target nucleic acids. Exemplary flow cells are described, for example, in U.S. Patent Application Publication No. 2010 / 0111768(A1) and U.S. Patent Application No. 13 / 273,666, each of which is incorporated herein by reference. As exemplified for the flow cell, one or more of the fluidic components of the integrated system can be used for amplification and detection methods. Taking the nucleic acid sequencing embodiment as an example, one or more of the fluidic components of the integrated system can be used for delivery of sequencing reagents in the amplification methods described herein and in the sequencing methods as exemplified above. Alternatively, an integrated system may include separate fluidic systems for performing the amplification method and for performing the detection method. Examples of integrated sequencing systems capable of producing amplified nucleic acids and sequencing the nucleic acids include, but are not limited to, the MiSeq™ platform (Illumina, Inc., San Diego, Calif.) and the devices described in U.S. Patent Application No. 13 / 273,666, which is incorporated herein by reference.

[0120] The sequencing system described above sequences the nucleic acid polymers present in the sample received by the sequencing device. As defined herein, "sample" and its derivatives are used in the broadest sense and include any sample, culture, etc. suspected of containing a target. In some embodiments, the sample includes DNA, RNA, PNA, LNA, chimeric or hybrid forms of nucleic acid. A sample can include any biological, clinical, surgical, agricultural, air or water sample that contains one or more nucleic acids. The term also includes any isolated nucleic acid sample, such as genomic DNA, fresh frozen or formalin-fixed paraffin-embedded nucleic acid samples. It is also envisioned that the sample can be derived from a single individual, a collection of nucleic acid samples from genetically related members, nucleic acid samples from genetically unrelated members, nucleic acid samples from a single individual such as a tumor sample and a normal tissue sample (matched), or a sample from a single source containing two different forms of genetic material such as maternal and fetal DNA obtained from a maternal subject, or the presence of contaminating bacterial DNA in a sample containing plant or animal DNA. In some embodiments, the source of nucleic acid material can include nucleic acid obtained from a newborn, for example, as typically used for newborn screening.

[0121] The nucleic acid sample can include high molecular weight material such as genomic DNA (gDNA). The sample can include low molecular weight material such as nucleic acid molecules obtained from FFPE or archived DNA samples. In another embodiment, the low molecular weight material includes enzymatically or mechanically fragmented DNA. The sample can include cell-free circulating DNA. In some embodiments, the sample can include nucleic acid molecules obtained from biopsies, tumors, scrapings, swabs, blood, mucus, urine, plasma, semen, hair, laser capture microdissection, surgical resection, and other clinical or laboratory obtained samples. In some embodiments, the sample can be an epidemiological, agricultural, forensic, or pathogenic sample. In some embodiments, the sample can include nucleic acid molecules obtained from animals, such as human or mammalian sources. In another embodiment, the sample can include nucleic acid molecules obtained from non-mammalian sources, such as plants, bacteria, viruses, or fungi. In some embodiments, the source of the nucleic acid molecule can be an archived or extinct sample or species.

[0122] Additionally, the methods and compositions disclosed herein may be useful for amplifying nucleic acid samples having low quality nucleic acid molecules, such as degraded and / or fragmented genomic DNA from forensic samples. In an embodiment, the forensic sample may include nucleic acid obtained from a crime scene, from a missing persons DNA database, from a laboratory associated with a forensic investigation, or may include a forensic sample obtained by a law enforcement agency, one or more military services, or members thereof. The nucleic acid sample may be crude DNA, including purified samples or lysates, for example, from buccal swabs, paper, cloth, or other substrates that may be impregnated with saliva, blood, or other bodily fluids. Thus, in some embodiments, the nucleic acid sample may include small amounts of DNA or fragmented portions of DNA, such as genomic DNA. In some embodiments, the target sequence may be present in one or more bodily fluids, including, but not limited to, blood, sputum, plasma, semen, urine, and serum. In some embodiments, the target sequence may be obtained from hair, skin, tissue samples, autopsies, or remains of a victim. In some embodiments, the nucleic acid including one or more target sequences may be obtained from a deceased animal or human. In some embodiments, the target sequence may comprise nucleic acid obtained from non-human DNA, such as microbial, plant or entomological DNA. In some embodiments, the target sequence or the amplified target sequence is for human identification. In some embodiments, the disclosure generally relates to a method for identifying features of a forensic sample. In some embodiments, the disclosure generally relates to a human identification method using one or more target specific primers disclosed herein or one or more target specific primers designed using the primer design criteria outlined herein. In one embodiment, a forensic sample or human identification sample comprising at least one target sequence may be amplified using any one or more of the target specific primers disclosed herein or using the primer criteria outlined herein.

[0123] The components of the model switching system 108 may include software, hardware, or both. For example, the components of the model switching system 108 may include one or more instructions stored on a computer-readable storage medium and executable by a processor of one or more computing devices (e.g., the client device 110, the local server device 102, and / or the server device 120). When executed by one or more processors, the computer-executable instructions of the model switching system 108 can cause the computing devices to perform the bubble detection methods described herein. Alternatively, the components of the model switching system 108 may include hardware, such as a dedicated processing device for performing a particular function or group of functions. Additionally or alternatively, the components of the model switching system 108 may include a combination of computer-executable instructions and hardware.

[0124] Further, components of the model switching system 108 that perform the functions described herein with respect to the model switching system 108 may be implemented, for example, as part of a standalone application, as a module of an application, as a plug-in of an application, as a library function that can be called by other applications, and / or as a cloud computing model. Thus, components of the model switching system 108 may be implemented as part of a standalone application on a personal computing device or a mobile device. Additionally or alternatively, components of the model switching system 108 may be implemented in any application that provides sequencing services, including, but not limited to, Illumina BaseSpace, Illumina DRAGEN, or Illumina TruSight software. "Illumina", "BaseSpace", "DRAGEN", and "TruSight" are registered trademarks or trademarks of Illumina, Inc. in the United States and / or other countries.

[0125] Embodiments of the present disclosure may include or utilize special purpose or general purpose computers including, for example, computer hardware such as one or more processors and system memory, as discussed in more detail below. Embodiments within the scope of the present disclosure also include physical and other computer readable media for carrying or storing computer executable instructions and / or data structures. In particular, one or more of the processes described herein may be embodied in a non-transitory computer readable medium and implemented at least in part as instructions executable by one or more computing devices (e.g., any of the media content access devices described herein). In general, a processor (e.g., a microprocessor) receives instructions from a non-transitory computer readable medium (e.g., a memory, etc.) and executes those instructions, thereby performing one or more processes, including one or more of the processes described herein.

[0126] A computer-readable medium may be any available medium that can be accessed by a general-purpose or special-purpose computer system. A computer-readable medium that stores computer-executable instructions is a non-transitory computer-readable storage medium (device). A computer-readable medium that carries computer-executable instructions is a transmission medium. Thus, by way of example and not limitation, embodiments of the present disclosure may include at least two distinctly different kinds of computer-readable media: non-transitory computer-readable storage medium (device) and transmission media.

[0127] Non-transitory computer-readable storage media (devices) include RAM, ROM, EEPROM, CD-ROM, solid state drives (SSD) (e.g., based on RAM), flash memory, phase-change memory (PCM), other types of memory, other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store desired program code means in the form of computer-executable instructions or data structures and that can be accessed by a general-purpose or special-purpose computer.

[0128] A "network" is defined as one or more data links that enable the transport of electronic data between computer systems and / or modules and / or other electronic devices. When information is transferred or provided to a computer over a network or another communications connection (either hardwired, wireless, or a combination of hardwired or wireless), the computer properly recognizes the connection as a transmission medium. A transmission medium may include a network and / or data links that may be used to carry desired program code means in the form of computer-executable instructions or data structures and that may be accessed by a general-purpose or special-purpose computer. Combinations of the above should also be included within the scope of computer-readable media.

[0129] Furthermore, upon reaching various computer system components, program code means in the form of computer executable instructions or data structures may be automatically transferred from the transmission medium to the non-transitory computer readable storage medium (device) (or vice versa). For example, computer executable instructions or data structures received over a network or data link may be buffered in a RAM in a network interface module (e.g., a NIC) and then eventually transferred to the computer system RAM and / or to a less volatile computer storage medium (device) in the computer system. It should therefore be understood that the non-transitory computer readable storage medium (device) may be included in computer system components that also (or even primarily) utilize a transmission medium.

[0130] Computer-executable instructions include, for example, instructions and data that, when executed by a processor, cause a general-purpose computer, a special-purpose computer, or a special-purpose processing device to perform a certain function or group of functions. In some embodiments, computer-executable instructions are executed on a general-purpose computer to transform the general-purpose computer into a special-purpose computer that implements elements of the present disclosure. Computer-executable instructions may be, for example, binaries, intermediate format instructions such as assembly language, or even source code. Although the subject matter has been described in language specific to structural features and / or methodological operations, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the described features or operations described above. Rather, the described features and operations are disclosed as example forms of implementing the claims.

[0131] Those skilled in the art will appreciate that the present disclosure may be implemented in a networked computing environment having many types of computer system configurations, including personal computers, desktop computers, laptop computers, message processors, handheld devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, cell phones, PDAs, tablets, pagers, routers, switches, etc. The present disclosure may also be implemented in a distributed system environment in which both local and remote computer systems, linked through a network (either by hardwired data links, wireless data links, or a combination of hardwired and wireless data links), perform tasks. In a distributed system environment, program modules may be located in both local and remote memory storage devices.

[0132] Embodiments of the present disclosure may also be implemented in a cloud computing environment. In this specification, "cloud computing" is defined as a model for enabling on-demand network access to a shared pool of configurable computing resources. For example, cloud computing may be used in the market to provide ubiquitous and convenient on-demand access to a shared pool of configurable computing resources. The shared pool of configurable computing resources may be quickly configured through virtualization, exposed with low management effort or service provider interaction, and then scaled accordingly.

[0133] The cloud computing model may consist of various characteristics such as, for example, on-demand self-service, wide area network access, resource pooling, rapid elasticity, measured service, etc. The cloud computing model may also expose various service models such as, for example, Software as a Service (SaaS), Platform as a Service (PaaS), and Infrastructure as a Service (IaaS). The cloud computing model may also be deployed using different deployment models such as private cloud, community cloud, public cloud, hybrid cloud, etc. In this specification and claims, a "cloud computing environment" is an environment in which cloud computing is employed.

[0134] FIG. 8 illustrates a block diagram of a computing device 800 that may be configured to perform one or more of the processes described above. It will be understood that one or more computing devices, such as computing device 800, may implement the model switching system 108 and the genomic analysis platform 104. As illustrated by FIG. 8, computing device 800 may include a processor 802, a memory 804, a storage device 806, an I / O interface 808, and a communication interface 810, which may be communicatively coupled by a communication infrastructure 812. In certain embodiments, computing device 800 may include fewer or more components than those illustrated in FIG. 8. The following paragraphs describe in more detail the components of computing device 800 illustrated in FIG. 8.

[0135] In one or more embodiments, the processor 802 includes hardware for executing instructions, such as those that make up a computer program. By way of example and not limitation, to execute instructions for dynamically modifying a workflow, the processor 802 may retrieve (or fetch) instructions from an internal register, an internal cache, memory 804, or a storage device 806, decode them, and execute them. The memory 804 may be a volatile or non-volatile memory used to store data, metadata, and programs for execution by the processor. The storage device 806 includes storage, such as a hard disk, flash disk drive, or other digital storage device, for storing data or instructions for performing the methods described herein.

[0136] The I / O interface 808 enables a user to provide input to, receive output from, and otherwise transfer data to and receive data from the computing device 800. The I / O interface 808 may include a mouse, a keypad or keyboard, a touch screen, a camera, an optical scanner, a network interface, a modem, other known I / O devices, or a combination of such I / O interfaces. The I / O interface 808 may include one or more devices for presenting output to a user, including, but not limited to, a graphics engine, a display (e.g., a display screen), one or more output drivers (e.g., a display driver), one or more audio speakers, and one or more audio drivers. In particular embodiments, the I / O interface 808 is configured to provide graphical data to a display for presentation to a user. The graphical data may represent one or more graphical user interfaces and / or any other graphical content that may be useful in a particular implementation.

[0137] Communications interface 810 may include hardware, software, or both. In any case, communications interface 810 may provide one or more interfaces for communications (e.g., packet-based communications, etc.) between computing device 800 and one or more other computing devices or networks. By way of example and not limitation, communications interface 810 may include a network interface controller (NIC) or network adapter for communicating with an Ethernet or other wired-based network, or a wireless NIC (WNIC) or wireless adapter for communicating with a wireless network such as WI-FI.

[0138] Additionally, the communication interface 810 may facilitate communication with various types of wired or wireless networks. The communication interface 810 may also facilitate communication using various communication protocols. The communication infrastructure 812 may also include hardware, software, or both that couples the components of the computing device 800 to one another. For example, the communication interface 810 uses one or more networks and / or protocols to enable multiple computing devices connected by a particular infrastructure to communicate with one another to enable one or more aspects of the processes described herein to be performed. To illustrate, a sequencing process may enable multiple devices (e.g., a client device, a sequencing device, and a server device) to exchange information such as sequencing data and error notifications.

[0139] In the foregoing specification, the present disclosure has been described with reference to certain exemplary embodiments thereof. Various embodiments and aspects of the present disclosure are described with reference to the details discussed herein, and the accompanying drawings illustrate various embodiments. The above description and drawings are illustrative of the present disclosure and should not be construed as limiting the present disclosure. Numerous specific details are described to provide a thorough understanding of various embodiments of the present disclosure.

[0140] The present disclosure may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects as illustrative only and not restrictive. For example, the methods described herein may be implemented with fewer or more steps / actions, or the steps / actions may be performed in a different order. Additionally, the steps / actions described herein may be repeated or performed in parallel with each other, or with different occurrences of the same or similar steps / actions. The scope of the present application is therefore indicated by the appended claims, rather than by the foregoing description. All changes that come within the meaning and range of equivalency of the claims are intended to be embraced within their scope.

[0141] As used herein, the term "object" includes anything suitable for imaging, viewing, analyzing, inspecting, or profiling with the optical systems described herein. By way of example only, an object may include a semiconductor wafer or chip, a recordable medium, a sample, a flow cell, a microparticle, a slide, or a microarray. An object generally includes one or more surfaces and / or one or more interfaces whose profile a user may wish to image, view, analyze, inspect, and / or determine. An object may have a surface or interface with relief features such as wells, pits, ridges, bumps, beads, etc.

[0142] As indicated above in the description of "sample", the sample may be imaged or scanned for subsequent analysis. In certain embodiments, the sample may include biological or chemical material of interest and, optionally, an optical substrate supporting the biological or chemical material. Thus, the sample may or may not include an optical substrate. As used herein, the term "biological or chemical material" is not intended to be limiting and may include a variety of biological or chemical materials suitable for being imaged or examined with the optical systems described herein. For example, biological or chemical materials include biologically active compounds such as biomolecules, such as nucleosides, nucleic acids, polynucleotides, oligonucleotides, proteins, enzymes, polypeptides, antibodies, antigens, ligands, receptors, polysaccharides, carbohydrates, polyphosphates, nanopores, organelles, lipid layers, cells, tissues, organisms, and analogs or mimetics of the aforementioned species.

[0143] The biological or chemical material may be supported by an optical substrate. As used herein, the term "optical substrate" is not intended to be limiting and may include a variety of materials that support the biological or chemical material and allow the biological or chemical material to be at least one of viewed, imaged, and inspected. For example, the optical substrate may include a transparent material that reflects a portion of the incident light and refracts a portion of the incident light. Alternatively, the optical substrate may be, for example, a mirror that completely reflects the incident light such that no light is transmitted through the optical substrate. Typically, the optical substrate has a flat surface. However, the optical substrate may have a surface with relief features such as wells, pits, ridges, bumps, beads, and the like.

[0144] In an exemplary embodiment, the optical substrate is a flow cell having a flow path through which the nucleic acid is sequenced. However, in alternative embodiments, the optical substrate may include one or more slides, planar chips (such as those used in microarrays), or microparticles. In cases where the optical substrate includes a plurality of microparticles supporting biological or chemical substances, the microparticles may be held by another optical substrate, such as a slide or grooved plate. In certain embodiments, the optical substrate includes a diffraction grating-based coding optical identification element similar or identical to that described in pending U.S. patent application Ser. No. 10 / 661,234, entitled "Diffraction Grating Based Optical Identification Element," filed Sep. 12, 2003, which is incorporated herein by reference in its entirety and discussed in more detail below. Bead cells or plates for holding optical identification elements are disclosed in pending U.S. patent application Ser. No. 10 / 661,836, entitled "Method and Apparatus for Aligning Microbeads in Order to Interrogate the Same," filed Sep. 12, 2003, and U.S. Patent No. 7,164,533, entitled "Hybrid Random Bead / Chip Based Microarray," issued Jan. 16, 2007, as well as U.S. patent application Ser. No. 60 / 609,583, entitled "Improved Method and Apparatus for Aligning Microbeads in Order to Interrogate the Same," filed Sep. 13, 2004, and U.S. Patent Application Ser. No. 60 / 609,583, entitled "Method and Apparatus for Aligning Microbeads in Order to Interrogate the Same," filed Sep. 17, 2004, and U.S. Patent Application Ser. No. 60 / 1010,910, entitled "Method and Method for Producing and Implementing a Novel Fluorescent Light-Emitting Diode (Fluorescent Light-Emitting Diode)," each of which is incorporated herein by reference in its entirety.

[0145] As used herein, the terms "optical component" or "focus component" include various elements that affect the transmission of light. Optical components can be, for example, reflectors, polarizers, beam splitters, collimators, lenses, filters, wedges, prisms, mirrors, etc.

[0146] By way of example, the optical systems described herein may be constructed to include various components and assemblies as described in PCT Application No. PCT / US07 / 07991, entitled "System and Devices for Sequence by Synthesis Analysis," filed March 30, 2007, and / or to include various components and assemblies as described in PCT Application No. PCT / US2008 / 077850, entitled "Fluorescence Excitation and Detection System and Method," filed September 26, 2008, the complete subject matter of both of which are incorporated herein by reference in their entireties. In certain embodiments, the optical system may include various components and assemblies as described in U.S. Patent No. 7,329,860, the complete subject matter of which is incorporated herein by reference in its entirety. The optical system may also include various components and assemblies as described in U.S. Patent Application No. 12 / 638,770, filed December 15, 2009, the complete subject matter of which is incorporated herein by reference in its entirety.

[0147] In certain embodiments, the methods and optical systems described herein may be used to sequence nucleic acids. For example, sequencing by synthesis (SBS) protocols are particularly applicable. In SBS, multiple fluorescently labeled nucleotides are used to sequence high-density clusters (perhaps millions of clusters) of amplified DNA present on a surface of an optical substrate (e.g., a surface that at least partially defines a channel in a flow cell). The flow cell may contain a nucleic acid sample for sequencing, where the flow cell is placed in a suitable flow cell holder. The sample for sequencing may take the form of single nucleic acid molecules separated from each other so as to be individually resolvable, an amplified population of nucleic acid molecules in the form of clusters or other features, or beads attached to one or more molecules of nucleic acid. The nucleic acid may be prepared to include oligonucleotide primers flanking an unknown target sequence. To initiate a first SBS sequencing cycle, one or more differently labeled nucleotides and a DNA polymerase, etc., may be flowed into / through the flow cell by a fluid flow subsystem (not shown). A single type of nucleotide can be added at a time, or the nucleotides used in the sequencing procedure can be specifically designed to have reversible termination properties, thus allowing each cycle of the sequencing reaction to occur simultaneously in the presence of several types of labeled nucleotides (e.g., A, C, T, G). The nucleotides can contain detectable labeling moieties, such as fluorophores. When four nucleotides are mixed together, the polymerase can select and incorporate the correct base, and each sequence is extended by a single base. One or more lasers can excite the nucleic acid and induce fluorescence. The fluorescence emitted from the nucleic acid is based on the fluorophore of the incorporated base, and different fluorophores can emit different wavelengths of emission.Exemplary sequencing methods are described, for example, in Bentley et al., Nature 456:53-59 (2008), WO 04 / 018497, U.S. Patent No. 7,057,026, WO 91 / 06678, WO 07 / 123744, U.S. Patent No. 7,329,492, U.S. Patent No. 7,211,414, U.S. Patent No. 7,315,019, U.S. Patent No. 7,405,281, and U.S. Patent Application Publication No. 2008 / 0108082, each of which is incorporated herein by reference.

[0148] Other sequencing techniques that are applicable to the use of the methods and systems described herein are pyrosequencing, nanopore sequencing, and sequencing by ligation.Particularly useful exemplary pyrosequencing techniques and samples are described in U.S. Patent No. 6,210,891, U.S. Patent No. 6,258,568, U.S. Patent No. 6,274,320, and Ronaghi, Genome Research 11:3-11 (2001), each of which is incorporated herein by reference. Exemplary nanopore techniques and samples that are also useful are described in Deamer et al., Acc. Res. 35:817-825 (2002), Li et al., Nat. Mater. 2:611-615 (2003), Soni et al., Clin Chem. 53:1996-2001 (2007) Healy et al., Nanomed. 2:459-481 (2007) and Cockroft et al., J. am. Chem. Soc. 130:818-820, and U.S. Patent No. 7,001,792, each of which is incorporated herein by reference. These systems can use any of a variety of samples, such as substrates with beads generated by emulsion PCR, substrates with zero-mode waveguides, substrates with biological nanopores in lipid bilayers, solid substrates with synthetic nanopores, and others known in the art. Such samples are described in the above cited references, and further in U.S. Patent Application Publication No. 2005 / 0042648, U.S. Patent Application Publication No. 2005 / 0079510, U.S. Patent Application Publication No. 2005 / 0130173, and WO 05 / 010145, with reference to various sequencing techniques, each of which is incorporated herein by reference.

[0149] In other embodiments, the optical systems described herein can be utilized for the detection of samples that include microarrays. Microarrays can include a population of different probe molecules that are attached to one or more substrates such that the different probe molecules can be distinguished from one another according to their relative positions. The array can include different probe molecules or populations of probe molecules that are each located at different addressable positions on the substrate. Alternatively, the microarray can include separate optical substrates such as beads, each carrying a different probe molecule or population of probe molecules, that can be identified according to the position of the optical substrate on the surface to which the substrate is attached, or according to the position of the substrate in a liquid. Exemplary arrays in which separate substrates are located on a surface include, but are not limited to, Sentrix® Arrays or Sentrix® BeadChip Arrays available from Illumina®, Inc. (San Diego, Calif.), or others that include beads in wells as described in U.S. Patent Nos. 6,266,459, 6,355,431, 6,770,441, and 6,859,570, and WO 00 / 63437, each of which is incorporated herein by reference. Other arrays that have particles on a surface include those described in U.S. Patent Application Publication Nos. 2005 / 0227252, WO 05 / 033681, and WO 04 / 024328, each of which is incorporated herein by reference.

[0150] Any of a variety of microarrays known in the art, including those described herein, can be used in embodiments of the invention. A typical microarray contains sites, sometimes referred to as features, each having a population of probes. The population of probes at each site is typically homogenous, having a single type of probe, although in some embodiments, the populations can each be heterogeneous. The sites or features of an array are typically distinct and separated with a space between them. The size of the features and / or the spacing between the sites can vary such that an array can be high density, medium density, or low density. High density arrays are characterized by having sites separated by less than about 15 μm. Medium density arrays have sites separated by about 15-30 μm, while low density arrays have sites separated by more than 30 μm. Arrays useful in the invention can have sites separated by less than 100 μm, 50 μm, 10 μm, 5 μm, 1 μm, or 0.5 μm. The apparatus or methods of embodiments of the present invention can be used to image arrays with sufficient resolution to distinguish sites at the above densities or density ranges.

[0151] Further examples of commercially available microarrays that can be used include, for example, Affymetrix® GeneChip® microarrays, or microarrays such as those described in, for example, U.S. Pat. Nos. 5,324,633, 5,744,305, 5,451,683, 5,482,867, 5,491,074, 5,624,711, 5,795,716, 5,831,070, 5,856,101, 5,858,659, 5,874,219, 5,968,740, and the like. Nos. 5,974,164, 5,981,185, 5,981,956, 6,025,601, 6,033,860, 6,090,555, 6,136,269, 6,022,963, 6,083,697, 6,291,183, 6,309,831, 6,416,949, 6,428,752, and 6,482,591, each of which is incorporated herein by reference. Spotted microarrays can also be used in the methods or systems according to embodiments of the present invention. An exemplary spotted microarray is the CodeLink™ Array available from Amersham Biosciences. Another useful microarray is one manufactured using inkjet printing techniques, such as the SurePrint™ Technology available from Agilent Technologies.

[0152] The systems and methods described herein can be used to detect the presence of a particular target molecule in a sample contacted with a microarray. This can be determined, for example, based on the binding of a labeled target analyte to a particular probe of the microarray, or due to target-dependent modification of a particular probe to incorporate, remove, or change a label at the probe position. Any one of a variety of assays can be used to identify or characterize a target using a microarray, for example, as described in U.S. Patent Application Publication Nos. 2003 / 0108867, 2003 / 0108900, 2003 / 0170684, 2003 / 0207295, or 2005 / 0181394, each of which is incorporated herein by reference.

[0153] Exemplary labels that can be detected according to embodiments of the present invention include, for example, chromophores, luminophores, fluorophores, optically encoded nanoparticles, grating encoded particles, Ru(bpy), 32+Fluorophores that may be useful include, but are not limited to, electrochemiluminescent labels, such as, for example, fluorescent lanthanide complexes, including those of europium and terbium, fluorescein, rhodamine, tetramethylrhodamine, eosin, erythrosine, coumarin, methyl-coumarin, pyrene, Malacite green, Cy3, Cy5, stilbene, Lucifer Yellow, Cascade Blue™, Texas Red, Alexa dyes, phycoerythrin, bodipy, and others known in the art, such as those described in Haugland, Molecular Probes Handbook, (Eugene, Oreg.) 6th Edition, The Synthegen catalog (Houston, Tex.), Lakowicz, Principles of Fluorescence Spectroscopy, 2nd Ed., Plenum Press New York (1999), or WO 98 / 59066, each of which is incorporated herein by reference.

[0154] In certain embodiments, the optical system may be configured for Time Delay Integration (TDI), e.g., in a line scan embodiment, as described in U.S. Patent No. 7,329,860, the complete subject matter of which is incorporated herein by reference in its entirety. By way of example, the optical assembly may have a 0.75 NA lens and a focus accuracy of + / - 125-500 nm. The resolution may be 50-100 nm. The system may be capable of obtaining 1,000-10,000 unfiltered measurements / second.

[0155] Although the embodiments are illustrated with respect to detection of a sample containing biological or chemical material supported by an optical substrate, it will be understood that other samples can be analyzed, examined, or imaged by the embodiments described herein. Other exemplary samples include, but are not limited to, biological specimens such as cells or tissues, electronic chips such as those used in computer processors, and the like. Some examples of applications include microscopy, satellite scanners, high resolution reprography, fluorescence image acquisition, analysis and sequencing of nucleic acids, DNA sequencing, sequencing by synthesis, imaging of microarrays, imaging of holographically encoded microparticles, and the like.

[0156] In other embodiments, the optical system may be configured to inspect an object to determine a particular feature or structure of the object. For example, the optical system may be used to inspect a surface of an object (e.g., a semiconductor chip, a silicon wafer) to determine if there are deviations or defects on the surface.

[0157] FIG. 9 illustrates a block diagram of an optical system 900 formed according to one embodiment. By way of example only, the optical system 900 may be a sampler imager that images a sample of interest for analysis. In other embodiments, the optical system 900 may be a profilometer that determines a surface profile (e.g., topography) of an object. Additionally, various other types of optical systems may use the mechanisms and systems described herein. In the illustrated embodiment, the optical system 900 includes an optical assembly 906, an object holder 902 for supporting an object 910 near a focal plane FP of the optical assembly 906, and a stage controller 915 configured to move the object holder 902 laterally (along an X-axis and / or a Y-axis extending into the page) or vertically / heightwise along a Z-axis. The optical system 900 may also include a system controller or computing system 920 operably coupled to the optical assembly 906, the stage controller 915, and / or the object holder 902.

[0158] In certain embodiments, the optical system 900 is a sample imaging device configured to image a sample. Although not shown, the sample imaging device may include other subsystems or devices for performing various assay protocols. By way of example only, the sample may include a flow cell having a flow path. The sample imaging device may include a fluid control system including a liquid reservoir fluidly coupled to the flow path through a fluid network. The sample imaging device may also include a temperature control system, which may have a heater / cooler configured to regulate the temperature of the sample and / or the fluid flowing through the sample. The temperature control system may include a sensor to detect the temperature of the fluid.

[0159] As shown, the optical assembly 906 is configured to direct input light to an object 910 and receive and direct output light to one or more detectors. The output light may be input light that has been at least one of reflected and refracted by the object 910 and / or the output light may be light emitted from the object 910. To direct the input light, the optical assembly 906 may include at least one reference light source 912 and at least one excitation light source 914 that direct light, such as a light beam having a predetermined wavelength, through one or more optical components of the optical assembly 906. The optical assembly 906 may include various optical components, including a conjugate lens 918, to direct the input light to the object 910 and the output light to the detectors.

[0160] In an exemplary embodiment, the absolute wavelength light source 912 may be used by a distance measurement system or a focus control system (or focusing mechanism) of the optical system 900, and the excitation light source 914 may be used to excite biological or chemical substances in the object 910 if the object 910 includes a biological or chemical sample. The excitation light source 914 may be arranged to illuminate a bottom surface of the object 910, such as in TIRF imaging, or may be arranged to illuminate a top surface of the object 910, such as in epifluorescence imaging. As shown in FIG. 9, the conjugate lens 918 directs the input light to a focal region 922 that is in a focal plane FP. The lens 918 has an optical axis 924 and is positioned a working distance WD1 away from the object 910 measured along the optical axis 924. The stage controller 915 may move the object 910 in the Z direction to adjust the working distance WD1, for example, so that a portion of the object 910 is in the focal region 922.

[0161] To determine whether the object 910 is in focus (i.e., sufficiently within the focal region 922 or focal plane FP), the optical assembly 906 is configured to direct at least one pair of light beams to the focal region 922 where the object 910 is approximately located. The object 910 reflects the light beams. More specifically, an outer surface of the object 910 or an interface within the object 910 reflects the light beams. The reflected light beams then return to and propagate through the lens 918. As shown, each light beam has an optical path that includes a portion that has not yet been reflected by the object 910 and a portion that has been reflected by the object 910. The portions of the optical path before reflection are designated as incident light beams 930A and 932A and are indicated by arrows pointing in a direction toward the object 910. The portions of the optical path that have been reflected by the object 910 are designated as reflected light beams 930B and 932B and are indicated by arrows pointing in a direction away from the object 910. For illustrative purposes, light beams 930A, 930B, 932A, and 932B are shown as having different optical paths within lens 918 and near object 910. However, in an illustrative embodiment, light beams 930A and 932B are configured to counter-propagate and have the same or substantially overlapping optical paths within lens 918 and near object 910, and light beams 930B and 932A are configured to counter-propagate and have the same or substantially overlapping optical paths within lens 918 and near object 910.

[0162] In the embodiment shown in FIG. 9, light beams 930A, 930B, 932A, and 932B pass through the same lens used for imaging. In an alternative embodiment, light beams used for distance measurement or focus determination can pass through a different lens that is not used for imaging. In this alternative embodiment, lens 918 is dedicated to passing beams 930A, 930B, 932A, and 932B for distance measurement or focus determination, and a separate lens (not shown) is used to image object 910. Similarly, it will be understood that the systems and methods described herein for focus determination and distance measurement can occur using a common objective lens shared with the imaging optics, or alternatively, the objective lens illustrated herein can be dedicated for focus determination or distance measurement.

[0163] The reflected light beams 930B and 932B propagate through a lens 918 and may be optionally further directed by other optical components of the optical assembly 906. As shown, the reflected light beams 930B and 932B are detected by at least one focus detector 944. In the illustrated embodiment, both reflected light beams 930B and 932B are detected by a single focus detector 944. The reflected light beams may be used to determine a relative separation RS1. For example, the relative separation RS1 may be determined by a distance (i.e., a separation distance) that separates the beam spots from the reflected light beams 930B and 932B incident on the focus detector 944. The relative separation RS1 may be used to determine the degree of focus of the optical system 900 with respect to the object 910. However, in an alternative embodiment, each reflected light beam 930B and 932B may be detected by a separate corresponding focus detector 944, and the relative separation RS1 may be determined based on the position of the beam spots on the corresponding focus detector 944.

[0164] If the object 910 is not in sufficient focus, the computing system 920 may operate the stage controller 915 to move the object holder 902 to a desired position. Alternatively or in addition to moving the object holder 902, the optical assembly 906 may be moved in the Z direction and / or along the XY plane.

[0165] For example, if the object 910 is located above the focal plane FP (or focal region 922), the object 910 may be relatively moved toward the focal plane FP by a distance ΔZ1, and if the object 910 is located below the focal plane FP (or focal region 922), the object 910 may be relatively moved toward the focal plane FP by a distance ΔZ2. In some embodiments, the optical system 900 may replace the lens 918 with another lens 918 or other optical component to move the focal region 922 of the optical assembly 906.

[0166] The examples described above and in FIG. 9 are presented with respect to a system for controlling focus or determining focus. The system is also useful for determining a working distance WD1 between the object 910 and the lens 918. In such an embodiment, the focus detector 944 can function as a working distance detector, and the distance separating the beam spots on the working distance detector can be used to determine the working distance between the object 910 and the lens 918. For ease of description, various embodiments of the system and method are illustrated herein with respect to controlling focus or determining focus. It will be understood that the system and method can also be used to determine the working distance between the object and the lens. Similarly, the system and method can also be used to determine the surface profile of the object.

[0167] In an exemplary embodiment, during operation, the excitation light source 914 directs input light (not shown) to the object 910 to excite the fluorescently labeled biological or chemical agent. The biological or chemical agent label provides an optical signal 940 (also referred to as an emission) having a predetermined wavelength. The optical signal 940 is received by the lens 918 and then directed by other optical components of the optical assembly 906 to at least one object detector 942. Although the illustrated embodiment shows only one object detector 942, the object detector 942 may comprise multiple detectors. For example, the object detector 942 may include a first detector configured to detect one or more wavelengths of light and a second detector configured to detect one or more different wavelengths of light. The optical assembly 906 may include a lens / filter assembly that directs different optical signals along different optical paths to corresponding object detectors. Such optical systems are described in further detail in PCT Application No. PCT / US 07 / 07991, filed March 30, 2007, entitled "System and Devices for Sequence by Synthesis Analysis," and PCT Application No. PCT / US2008 / 077850, filed September 26, 2008, entitled "Fluorescence Excitation and Detection System and Method," the complete subject matter of both of which are incorporated herein by reference in their entireties.

[0168] The object detector 942 communicates object data regarding the detected optical signal 940 to the computing system 920. The computing system 920 may then record, process, analyze, and / or communicate the data to other users or computing systems, including remote computing systems, over communication lines (e.g., the Internet). As an example, the object data may include imaging data that is processed to generate an image of the object 910. The image may then be analyzed by a user of the computing system and / or the optical system 900. In other embodiments, the object data may include light emitted from biological or chemical substances, as well as light reflected and / or refracted by an optical substrate or other component. For example, the optical signal 940 may include light reflected by an encoded particulate, such as the holographically encoded optical identification elements described above.

[0169] In some embodiments, a single detector may provide both functions as described above with respect to object detector 942 and focus detector 944. For example, a single detector may detect reflected light beams 930B and 932B as well as light signal 940.

[0170] The optical system 900 may include a user interface 925 for interacting with a user through the computing system 920. For example, the user interface 925 may include a display (not shown) for presenting and requesting information from a user and a user input device (not shown) for receiving user input.

[0171] The computing system 920 may include, among other things, an object analysis module 950 and a focus control module 952. The focus control module 952 is configured to receive focus data obtained by the focus detector 944. The focus data may include signals representative of the beam spots incident on the focus detector 944. The data may be processed to determine a relative separation (e.g., a separation distance between the beam spots). The degree of focus of the optical system 900 on the object 910 may then be determined based on the relative separation. In certain embodiments, a working distance WD1 between the object 910 and the lens 918 may be determined. Similarly, the object analysis module 950 may receive the object data obtained by the object detector 942. The object analysis module may process or analyze the object data to generate an image of the object.

[0172] Additionally, computing system 920 may include any processor-based or microprocessor-based system, including systems using microcontrollers, reduced instruction set computers (RISC), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), logic circuits, and any other circuits or processors capable of performing the functions described herein. The above examples are merely illustrative and thus are not intended to limit the definition and / or meaning of the term system controller. In an exemplary implementation, computing system 920 executes a set of instructions stored in one or more storage elements, memories, or modules to at least one of acquire and analyze object data. The storage elements may be in the form of information sources or physical memory elements within optical system 900.

[0173] The set of instructions may include various commands that instruct the optical system 900 to perform a particular protocol. For example, the set of instructions may include various commands to perform an assay and image the object 910 or to determine a surface profile of the object 910. The set of instructions may be in the form of a software program. As used herein, the terms "software" and "firmware" are used interchangeably and include any computer program stored in memory that is executed by a computer, including RAM memory, ROM memory, EPROM memory, EEPROM memory, and non-volatile RAM (NVRAM) memory. The above memory types are exemplary only and thus are not limited to the types of memory that can be used to store a computer program.

[0174] As explained above, the excitation light source 914 generates excitation light that is directed at the object 910. The excitation light source 914 may generate one or more laser beams at one or more predetermined excitation wavelengths. The light may be moved in a raster pattern over a portion of the object 910, such as a group of columns and rows of the object 910. Alternatively, the excitation light may illuminate one or more entire regions of the object 910 at once and stop sequentially through the regions in a "step-and-shoot" scanning pattern. Line scanning may also be used, for example, as described in U.S. Pat. No. 7,329,860, the complete subject matter of which is incorporated herein by reference in its entirety. The object 910 generates an optical signal 940, which may include luminescence generated in response to illumination of a label within the object 910 and / or light reflected or refracted by an optical substrate of the object 910. Alternatively, the optical signal 940 may be generated without illumination, based entirely on the luminescence properties of a substance within the object 910 (e.g., a radioactive or chemiluminescent moiety within the object).

[0175] The object detector 942 and the focus detector 944 can be, for example, photodiodes or cameras. In some embodiments herein, the detectors 942 and 944 can comprise a camera with a 1 megapixel CCD-based optical imaging system, such as a 1002×1004 CCD camera with 8 gm pixels, which can image an area of ​​0.4×0.4 mm per tile, optionally using an excitation light with a laser spot size of 0.5×0.5 mm (e.g., a square spot, or a circle with a diameter of 0.5 mm, or an elliptical spot, etc.) at 20× magnification. The camera can optionally have more or less than 1 million pixels, for example, a 4 megapixel camera can be used. In many embodiments, it is desirable for the read speed of the camera to be as fast as possible, for example, the transfer rate can be 10 MHz or more, for example, 20 or 30 MHz. More pixels generally mean that a larger area of ​​the surface, and therefore more sequencing reactions or other optically detectable events, can be imaged simultaneously for a single exposure. In a particular embodiment, the CCD camera / TIRF laser can collect about 6400 images to interrogate 1600 tiles (as images are optionally taken in 4 different colors per cycle using a combination of filters, dichroics, and detectors as described herein). For a 1 megapixel CCD, a particular image can optionally contain about 5000-50000 randomly spaced unique nucleic acid clusters (i.e., images on the flow cell surface). With an imaging speed of 2 seconds per tile for 4 colors and a density of 25000 clusters per tile, the system herein can optionally quantify about 45 million features per hour. With faster imaging speeds and higher cluster densities, the imaging speed can be improved. For example, with a 20 MHz camera readout speed and a resolved cluster every 20 pixels, the readout can be 1 million clusters per second.The detector can be configured for time delay integration (TDI), for example, in a line scan embodiment, as described in U.S. Patent No. 7,329,860, the complete subject matter of which is incorporated herein by reference in its entirety. Other useful detectors include, but are not limited to, optical quadrant photodiode detectors, such as those having a 2×2 array of individual photodiode active areas fabricated on a single chip, for example, available from Pacific Silicon Sensor (Westlake Village, Calif.), or position sensitive detectors, such as those having monolithic PIN photodiodes with uniform resistance in one or two dimensions, for example, available from Hamamatsu Photonics, KK (Hamamatsu City, Japan).

[0176] 10 is a perspective view of a specimen imaging apparatus 1000 formed in accordance with one embodiment. As shown, the specimen imaging apparatus 1000 includes an imager base 1002 that supports a stage 1004 having a specimen holder 1006 thereon. The specimen holder 1006 is configured to support one or more optical substrates 1008 during an imaging session. The optical substrate 1008 is illustrated in FIG. 10 as a flow cell. However, other specimens may be used.

[0177] The specimen imaging device 1000 also includes a housing 1010 (shown in phantom) and a support 1012 that supports the housing 1010. The housing 1010 can enclose at least a portion of an optical assembly 1014 therein. The optical assembly 1014 can include a focusing assembly 1016 and a sample detection assembly 1030. For example, the focusing assembly 1016 can include an autofocus line scan camera that receives the reflected light beam to determine the focus of the sample imaging device 1000. The specimen imaging device 1000 can also include a filter wheel 1022 and an alignment mirror 1024 that directs light toward a sample detector 1032, shown in FIG. 10 as a K4 camera.

[0178] FIG. 11 illustrates an implementation of a sequencing system 1110 configured to process molecular samples that may be sequenced to determine their components, component order, and generally the structure of the sample. The system includes an instrument 1112 that receives and processes biological samples. A sample source 1114 provides a sample 1116, which often includes a tissue sample. The sample source may include, for example, an individual or subject, such as a human, animal, microorganism, plant, or other donor (including environmental samples), or any other subject that includes an organic molecule whose sequence is to be determined. Of course, the system may be used with samples other than those taken from an organism, including molecules that have been synthesized. In many cases, the molecules include DNA, RNA, or other molecules that have base pairs, the sequences of which may define genes and variants that have a particular function of the final subject.

[0179] The sample 1116 is introduced to a sample / library preparation system 1118, which may isolate, disrupt, and otherwise prepare the sample for analysis. The resulting library contains molecules of interest at a length that facilitates a sequencing operation. The resulting library is then provided to an instrument 1112 where the sequencing operation is performed. In practice, the library, which may also be referred to as a template, is combined with reagents in an automated or semi-automated process and then introduced into a flow cell prior to sequencing.

[0180] In the implementation illustrated in FIG. 11, the instrument includes a flow cell or array 1120 that accepts a sample library. The flow cell includes one or more fluidic channels that allow sequencing chemistry to occur, including attachment of the molecules of the library and amplification at locations or sites that can be detected during a sequencing operation. For example, the flow cell / array 1120 can include sequencing templates immobilized on one or more surfaces at locations or sites. A "flow cell" can include a patterned array, such as a microarray, nanoarray, etc. In practice, the locations or sites can be arranged in regular repeating patterns, complex non-repeating patterns, or random arrays on one or more surfaces of a support. To allow sequencing chemistry to occur, the flow cell also allows for the introduction of materials, such as various reagents, buffers, and other reaction media, used for reactions, flushing, etc. Materials can flow through the flow cell and contact the molecules of interest at the individual sites.

[0181] In this instrument, the flow cell 1120 is mounted on a movable stage 1122 that can be moved in one or more directions, as indicated in this implementation by reference number 1124. The flow cell 1120 can be provided in the form of a removable and replaceable cartridge that can interface with ports on the movable stage 1122 or other components of the system, for example, to allow reagents and other fluids to be delivered to or from the flow cell 1120. The stage is associated with an optical detection system 1126 that can direct radiation or light 1128 to the flow cell during sequencing. The optical detection system can employ various methods, such as fluorescence microscopy, for detection of analytes disposed at sites on the flow cell. As a non-limiting example, the optical detection system 1126 can employ confocal line scanning to generate progressive pixelated image data that can be analyzed to locate individual sites in the flow cell and to determine the type of nucleotide most recently attached or bound to each site. Other imaging techniques may also be suitably employed, such as techniques in which one or more radiation points are scanned along the sample, or techniques employing "step-and-shoot" imaging techniques. The optical detection system 1126 and stage 1122 may cooperate to maintain the flow cell and detection system in a static relationship while acquiring area images, or, as previously described, the flow cell may be scanned in any suitable mode (e.g., point scanning, line scanning, "step-and-shoot" scanning).

[0182] While many different techniques can be used for imaging, or more generally for detecting molecules at a site, a currently contemplated implementation may utilize confocal optical imaging at wavelengths that cause excitation of fluorescent tags. The tags are excited by their absorption spectrum and return a fluorescent signal by their emission spectrum. The optical detection system 1126 is configured to capture such signals in order to process the pixelated image data at a resolution that allows analysis of the signal emission sites, and to process and store the resulting image data (or data derived therefrom).

[0183] In sequencing operations, cycling operations or processes are implemented in an automated or semi-automated manner, where a reaction is precipitated, for example, with a single nucleotide or oligonucleotide, followed by flushing, imaging, and deblocking in preparation for the subsequent cycle. A sample library prepared for sequencing and immobilized on a flow cell may undergo a number of such cycles before all useful information is extracted from the library. The optical detection system 1126 may generate image data from scanning the flow cell (and its sites) during each cycle of the sequencing operation by use of electronic detection circuitry (e.g., a camera or imaging electronics or chips). The resulting image data may then be analyzed to identify the location of individual sites in the image data, and the molecules present at the sites may be analyzed and characterized, for example, by reference to a particular color or wavelength of light detected at a particular site (the characteristic emission spectrum of a particular fluorescent tag), as indicated by a group or cluster of pixels in the image data at that location. In DNA or RNA sequencing applications, for example, the four common nucleotides may be represented by distinguishable fluorescent emission spectra (wavelengths or wavelength ranges of light). Each emission spectrum may then be assigned a value corresponding to that nucleotide. Based on this analysis, and keeping track of the circularity values ​​determined for each site, individual nucleotides and their order can be determined for each site. These sequences can then be further processed to assemble longer segments including genes, chromosomes, etc. As used in this disclosure, the terms "automated" and "semi-automated" mean that an operation is performed by system programming or configuration with little or no human interaction once an operation or a process that includes an operation is initiated.

[0184] In the illustrated implementation, the reagent 1130 is drawn or aspirated into the flow cell via a valve 1132. The valve may access the reagent from a receptacle or container in which the reagent is stored, such as through a pipette or sipper (not shown in FIG. 11). The valve 1132 may allow for the selection of the reagent based on a defined sequence of operations to be performed. The valve may further receive commands to direct the reagent through a flow path 1134 to the flow cell 1120. An outlet or effluent flow path 1136 directs the used reagent from the flow cell. In the illustrated implementation, a pump 1138 serves to move the reagent through the system. The pump may also perform other useful functions, such as metering the reagent or other fluids through the system, aspirating air or other fluids, etc. An additional valve 1140 downstream of the pump 1138 allows for the appropriate directing of the used reagent to a disposal container or receptacle 1142.

[0185] The instrument further includes various circuits that assist in commanding the operation of various system components, monitoring their operation by feedback from sensors, collecting image data, and at least partially processing the image data. In the implementation illustrated in FIG. 11, the control / monitoring system 1144 includes a control system 1146 and a data acquisition and analysis system 1148. Both systems will include one or more processors (e.g., digital processing circuitry such as a microprocessor, a multi-core processor, an FPGA, or any other suitable processing circuitry) and associated memory circuitry 1150 (e.g., solid-state memory devices, dynamic memory devices, on- and / or off-board memory devices, etc.) that may store machine-executable instructions for, for example, controlling one or more computers, processors, or other similar logic devices to provide a particular functionality. Application-specific or general-purpose computers may at least partially constitute the control system as well as the data acquisition and analysis system. The control system may include circuits configured (e.g., programmed) to process commands for, for example, fluidics, optics, stage control, and any other useful function of the instrument. A data acquisition and analysis system 1148 interfaces with the optical detection system to command movement of the optical detection system or stage or both, emission of light for periodic detection, receiving and processing return signals, etc. The instrument may also include various interfaces, as indicated by reference numeral 1152, such as an operator interface that allows control and monitoring of the instrument, movement of samples, initiation of automated or semi-automated sequencing operations, generation of reports, etc. Finally, in the implementation of FIG. 11, an external network or system 1154 may be coupled to and cooperate with the instrument, e.g., for analysis, control, monitoring, maintenance, and other operations.

[0186] It should be noted that while a single flow cell and fluid path, and a single optical detection system 1126 are illustrated in FIG. 11, in some instruments, two or more flow cells and fluid paths may be accommodated. For example, in currently contemplated implementations, two such arrangements are provided to improve sequencing and throughput. In practice, any number of flow cells and fluid paths may be provided. These may utilize the same or different reagent receptacles, disposal receptacles, control systems, image analysis systems, etc. If provided, multiple fluid systems may be controlled individually or in a coordinated fashion.

Claims

1. 1. A system comprising: at least one processor; When executed by the at least one processor, the system: Identifying a genome analysis application for analyzing nucleotide base calls determined for a sample nucleotide sequence; determining an indicated version of a variant analysis model for executing the genomic analysis application, the indicated version being indicated by an application specification defining one or more parameters for the genomic analysis application; based on the determination of the indicated version of the variant analysis model, installing the indicated version of the variant analysis model for execution in place of a previously installed version of the variant analysis model; a non-transitory computer-readable medium containing instructions for executing the genome analysis application to analyze the nucleotide base calls using the represented version of the variant analysis model.

2. 10. The system of claim 1, further comprising instructions that, when executed by the at least one processor, cause the system to install the indicated version of the variant analysis model by updating a field programmable gate array to include the indicated version of the variant analysis model for performing genomic analysis.

3. 2. The system of claim 1, further comprising instructions that, when executed by the at least one processor, cause the system to automatically install the indicated version of the variant analysis model by utilizing a variant analysis model manager to determine available versions of the variant analysis model, and initiate installation of the indicated version from the available versions.

4. 2. The system of claim 1, further comprising instructions that, when executed by the at least one processor, cause the system to determine the indicated version of the variant analysis model for running the genomic analysis application by analyzing the application specification to identify a version label that specifies the indicated version of the variant analysis model.

5. When executed by the at least one processor, the system: determining that the indicated version of the variant analysis model is different from the previously installed version of the variant analysis model and that only a single version of the variant analysis model may be installed at a time; 10. The system of claim 1, further comprising instructions for installing the indicated version of the variant analysis model based on a determination that the indicated version differs from the previously installed version.

6. 2. The system of claim 1, further comprising instructions that, when executed by the at least one processor, cause the system to replace the previously installed version of the variant analysis model with the indicated version of the variant analysis model.

7. 2. The system of claim 1, further comprising instructions that, when executed by the at least one processor, cause the system to install the indicated version of the variant analysis model in addition to the previously installed version, such that the indicated version and the previously installed version of the variant analysis model are installed on one or more servers of the system.

8. 1. A computer-implemented method comprising: Identifying a genome analysis application for analyzing nucleotide base calls determined for a sample nucleotide sequence; determining an indicated version of a variant analysis model for executing the genomic analysis application as indicated by an application specification defining one or more parameters for the genomic analysis application; and based on the determination of the indicated version of the variant analysis model, installing the indicated version of the variant analysis model for execution in place of a previously installed version of the variant analysis model; running the genome analysis application to analyze the nucleotide base calls utilizing the represented version of the variant analysis model.

9. 10. The computer-implemented method of claim 8, wherein installing the indicated version of the variant analysis model comprises utilizing a variant analysis model manager hosted on a server shared by the variant analysis model to initiate installation of the indicated version of the variant analysis model.

10. determining the computational availability of a genome analysis device housing the variant analysis model for executing the genome analysis application; 10. The computer-implemented method of claim 8, further comprising: scheduling execution of the genome analysis application by the genome analysis device based on the computational availability of the genome analysis device.

11. identifying a plurality of workflow pods, two or more of the plurality of workflow pods specifying different versions of the variant analysis model to perform their respective functions; 10. The computer-implemented method of claim 8, further comprising iteratively installing the different versions of the variant analysis model for successive execution of each of the plurality of workflow pods.

12. 10. The computer-implemented method of claim 8, further comprising utilizing a modification webhook controller to identify the indicated version of the variant analysis model and modify an application specification of the genomic analysis application to include instructions for initializing installation of the indicated version of the variant analysis model.

13. 13. The computer-implemented method of claim 12, wherein modifying the application specification includes adding to the application specification an initialization workflow container that communicates with a variant analysis model manager to install the indicated version of the variant analysis model.

14. 10. The computer-implemented method of claim 8, wherein determining the indicated version of the variant analysis model for executing the genomic analysis application comprises utilizing a variant analysis model manager to analyze the application specification to identify a version label that designates the indicated version of the variant analysis model.

15. A non-transitory computer-readable medium that, when executed by at least one processor, provides a system with: Identifying a genome analysis application for analyzing nucleotide base calls determined for a sample nucleotide sequence; determining an indicated version of a variant analysis model for executing the genomic analysis application, the indicated version being indicated by an application specification defining one or more parameters for the genomic analysis application; based on the determination of the indicated version of the variant analysis model, installing the indicated version of the variant analysis model for execution in place of a previously installed version of the variant analysis model; A non-transitory computer-readable medium comprising instructions for executing the genome analysis application to analyze the nucleotide base calls utilizing the represented version of the variant analysis model.

16. When executed by the at least one processor, the system: determining that the represented version of the variant analysis model is stored in a remote repository that stores multiple versions of the variant analysis model; 16. The non-transitory computer-readable medium of claim 15, further comprising instructions for causing the indicated version of the variant analysis model to be installed by: providing to a server instructions for installing the indicated version of the variant analysis model based on a determination that the indicated version is stored in the remote repository.

17. When executed by the at least one processor, the system: identifying a plurality of additional genomic analysis applications for analyzing the nucleotide base calls determined for the sample nucleotide sequence, each of the plurality of additional genomic analysis applications specifying a different version of the variant analysis model; each of the plurality of additional genomic analysis applications in an iterative manner; installing a version of the variant analysis model for a current genomic analysis application of the plurality of additional genomic analysis applications to replace a version from a previous genomic analysis application of the plurality of additional genomic analysis applications; and executing the current genome analysis application utilizing the version of the variant analysis model for the current genome analysis application.

18. When executed by the at least one processor, the system: receiving sequencing data from a sequencing device, the sequencing data including the nucleotide base calls; 16. The non-transitory computer-readable medium of claim 15, further comprising instructions for executing the genome analysis application to analyze the nucleotide base calls utilizing a field programmable gate array configured to execute the represented version of the variant analysis model.

19. When executed by the at least one processor, the system: determining that the indicated version of the variant analysis model installed on a genomic analysis device that may be configured to run a single version of the variant analysis model at a time is different from the previously installed version of the variant analysis model; 16. The non-transitory computer-readable medium of claim 15, further comprising instructions for causing the indicated version of the variant analysis model to be installed on the genomic analysis device based on a determination that the indicated version differs from the previously installed version.

20. 16. The non-transitory computer-readable medium of claim 15, further comprising instructions that, when executed by the at least one processor, cause the system to select a genomic analysis device as a location for installing the indicated version of the variant analysis model by utilizing a modification webhook controller to identify a resource label in the application specification that specifies the genomic analysis device.