Facilitating the safe execution of external workflows for genomic sequencing diagnostics
The diagnostic workflow system addresses inflexibility, security vulnerabilities, and inefficiencies in existing genomic data processing by using a container orchestration engine to securely and efficiently execute external workflows, ensuring data integrity and compliance with regulatory standards.
Patent Information
- Application Number
- JP2024538182
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-09-26
- Filing Date
- 2022-09-30
- Publication Date
- 2025-02-04
- Estimated Expiration
- 2042-09-30
AI Technical Summary
Existing diagnostic systems are inflexible, vulnerable to security breaches, and inefficient in processing genomic data, often failing to meet regulatory standards due to limitations in integrating external diagnostic applications and inadequate resource management.
A diagnostic workflow system that utilizes a container orchestration engine to execute external array diagnosis workflows securely and efficiently by separating workflow containers, managing computing resources, and ensuring data integrity and compliance with regulatory standards.
The system enhances flexibility, security, and computational efficiency, allowing secure execution of external diagnostic workflows while maintaining data integrity and compliance with standards like IVD, thereby improving diagnostic capabilities.
Smart Images

Figure 2025503497000001_ABST
Abstract
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,476, filed September 26, 2022, which claims priority to U.S. Provisional Patent Application No. 63 / 293,587, filed December 23, 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 diagnoses for nucleotide sequences of genomic samples. In particular, some existing diagnostic platforms generate nucleotide base calls from nucleotide reads of a sample nucleotide sequence and / or perform diagnoses on the nucleotide base calls for various purposes. For example, existing diagnostic systems perform diagnostic applications (e.g., cancer screening assays) to screen nucleotide sequences for cancer by detecting specific genetic markers within the nucleotide base calls of the sample sequence. Some existing diagnostic systems perform other diagnoses as well, such as genetic tests for other genetic conditions (or propensities to develop genetic conditions) or to determine other genetic traits.
[0003] Despite these recent advances, existing diagnostic systems continue to exhibit many shortcomings or disadvantages. For example, many conventional diagnostic systems are rigidly fixed to a specific set of internal diagnostic applications that are limited in scope and usefulness. In fact, many conventional systems can only perform genomic diagnosis using applications that are specifically designed for and installed on the system. Thus, in cases where a bioinformatics practitioner requires a specific diagnostic analysis of a nucleotide sequence, existing systems may not be able to provide the required analytical data if a platform-specific diagnostic application for the analysis has not yet been written and / or installed in the system.
[0004] Apart from being inflexible, some conventional diagnostic systems exhibit coding or network vulnerabilities that compromise or expose private or confidential genetic data. In particular, for existing systems that attempt to facilitate the integration of external diagnostic applications, these systems often compromise the security of the sequencing data (and other information) in exchange for the flexibility to allow external workflows (including internal and / or external applications) to access the sequencing data to perform a diagnosis. Indeed, some conventional systems are vulnerable to harmful external diagnostic workflows that maliciously or inadvertently damage or corrupt the sequencing data for nucleotide base calls and / or the sequencing data associated with other diagnostic applications. As a result, many of these existing diagnostic systems are unable to meet one or more diagnostic standards required by various regulatory agencies (e.g., in vitro diagnostic standards set by the U.S. Food and Drug Administration).
[0005] Additionally, some conventional diagnostic systems are inefficient. More specifically, existing systems often consume computing resources inefficiently when executing genomic diagnostic workflows. For example, some existing systems do not include internal programming or other considerations for computing resource management, and instead flood available processors and memory with numerous (concurrent) requests and instructions for the many processes involved in generating diagnostic data (often resulting in backlogs and slowdowns). Thus, such existing systems are slow to generate diagnostic results required for diagnostic workflows, or fail to generate results completely, instead resulting in calculation errors. Summary of the Invention
[0006] The present disclosure describes embodiments of methods, non-transitory computer-readable media, and systems that can flexibly, securely, and efficiently facilitate the execution of external workflows for diagnostic analysis of nucleotide sequencing data. For example, the disclosed systems can utilize a container orchestration engine to enable an external system (e.g., a third-party system) to generate and implement a workflow for analyzing sequencing data (e.g., sequencing data generated by a sequencing device and / or a variant analysis model). In some cases, the disclosed systems generate sequencing data, such as nucleotide base calls, and further utilize a container orchestration engine to implement a diagnostic workflow for analyzing the sequencing data. For example, the disclosed systems can utilize a container orchestration engine to identify workflow containers that piecewise define individual functions of a workflow. In some such cases, the disclosed systems can require the container orchestration engine to perform an external sequencing diagnostic workflow outside of a workflow for a variant analysis model and implement the external sequencing diagnostic workflow in a workflow container. In executing individual workflow containers, the disclosed system can also isolate the workflow containers to prevent access to or corruption of sequencing data or other workflow data. [Brief description of the drawings]
[0007] The detailed description refers to the drawings, which are briefly described below. [Figure 1] FIG. 1 illustrates a block diagram of a sequencing system including a diagnostic workflow system, in accordance with one or more embodiments. [Diagram 2] 1 illustrates an overview of executing an external sequencing diagnostic workflow, according to one or more embodiments. [Diagram 3]1 illustrates an example flow for executing an external sequencing diagnostic workflow on sequencing data utilizing a container orchestration engine, in accordance with one or more embodiments. [Figure 4] 1 illustrates an example depiction of security permissions that a diagnostic workflow system assigns to a workflow container of an external sequencing diagnostic workflow, in accordance with one or more embodiments. [Diagram 5] 1 illustrates utilizing a container orchestration engine to schedule the execution of workflow containers, in accordance with one or more embodiments. [Figure 6] 1 illustrates an example flow for determining whether a diagnostic application is compatible with an execution mode of a container orchestration engine, according to one or more embodiments. [Figure 7] FIG. 1 illustrates an exemplary architecture diagram of a diagnostic workflow system in relation to an overall sequencing environment, in accordance with one or more embodiments. [Figure 8] 1 illustrates a flowchart of a series of operations for performing an external sequencing diagnostic workflow in accordance with one or more embodiments. [Figure 9] 1 illustrates a block diagram of an exemplary computing device for implementing one or more embodiments of the present disclosure. [Figure 10] FIG. 1 illustrates a block diagram of an exemplary optical system for image-based genomic sequencing, in accordance with one or more embodiments. [Figure 11] 1 illustrates an exemplary imaging device for image-based genomic sequencing, according to one or more embodiments. [Figure 12] FIG. 1 illustrates an exemplary diagram for performing image-based genomic sequencing, according to one or more embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0008] The present disclosure describes an embodiment of a diagnostic workflow system that facilitates the execution of an external workflow for diagnostic analysis of nucleotide sequencing data. In particular, the diagnostic workflow system can identify or generate sequencing data, such as nucleotide reads and nucleotide base calls for a sample nucleotide sequence. In addition, the diagnostic workflow system can perform different diagnostics on the sequencing data from either an internal workflow or an external workflow (including a sequencing diagnostic application) to analyze the sequencing data. In some cases, the diagnostic workflow system implements a diagnostic workflow designed to analyze the sequencing data to identify genetic markers for a particular disease or genetic trait of the sample. In certain embodiments, the diagnostic workflow is requested and / or implemented internally (e.g., not from a third-party device outside the server of the diagnostic workflow system). In other embodiments, the diagnostic workflow system requires the implementation of an external sequencing diagnostic workflow that includes an application that fits into the diagnostic workflow system and / or an application that is supplied from outside (e.g., from an external system or another system) of a native variant analysis model. Nonetheless, when implementing external sequencing diagnostic workflows, the diagnostic workflow system can utilize a container orchestration engine to maintain data security and integrity by isolating or siloing individual workflow containers for performing individual functions of the workflow without exposing the sequencing data.
[0009] As just described, in certain implementations, the diagnostic workflow system requests that a diagnostic analysis be performed on a genome sequence using an external sequencing diagnostic workflow. For example, the diagnostic workflow system requests that a server implement an external sequencing diagnostic workflow that is not part of a set of internal workflows for a variant analysis model and is developed by an external entity. As a further example, in some cases, the diagnostic workflow system receives a request from a client device associated with the external system to process sequencing data to perform a diagnostic analysis (e.g., for a disease or genetic condition). To facilitate external system access to internally generated sequencing data, the diagnostic workflow system can utilize a container orchestration engine designed to separate and implement individual workflow containers. In particular, the diagnostic workflow system can apply a container orchestration engine that allows a server or other computing device to access the diagnostic workflow system's services and sequencing data for tasks of an external sequencing diagnostic workflow, with granular control of how the sequencing data is utilized in each individual process.
[0010] As described, the diagnostic workflow system can utilize a container orchestration engine housed on a server device that executes the variant analysis model and is located on a local network with the genome sequence processing device. Within the closed environment of the server device, including the container orchestration engine and / or the variant analysis model, and the local connection to the genome sequence processing device, the diagnostic workflow system can securely perform sequencing diagnosis, perform analysis protocols, and even allow external applications to access the diagnostic results without risk of corruption or exposure of the sequencing data. For example, the diagnostic workflow system can provide access permissions to the sequencing data (or other data) on a basis specifically tailored for individual workflow containers (in relation to different types of data) to perform diagnosis, including external sequencing diagnostic workflows from external applications. Depending on the execution mode of the container orchestration engine, the diagnostic workflow system can identify compatible diagnostic applications that meet the security and analysis standards set by regulatory bodies for in vitro diagnostics (IVDs) (e.g., standards set by the U.S. Food and Drug Administration or some other agency). The diagnostic workflow system can similarly identify compatible diagnostic applications for investigational use only (IUO) and research use only (RUO) analyses.
[0011] In some embodiments, the diagnostic workflow system schedules or allocates computing resources to execute a diagnostic workflow, such as an external sequencing diagnostic workflow. For example, the diagnostic workflow system utilizes a container orchestration engine to allocate computing resources, such as processing power and memory, to execute the processes of individual workflow containers. In particular, the diagnostic workflow system can communicate with a genome sequence processing device, such as a field programmable gate array (FPGA) or a central processing unit (CPU), designed and programmed to execute functions for the diagnostic workflow. In some cases, the genome sequence processing device can execute a limited number of processes (e.g., one) at a time. As a result, the diagnostic workflow system utilizes the resource allocation capabilities of the container orchestration engine to schedule the execution of the workflow containers of the external sequencing diagnostic workflow according to the available computing resources (e.g., execute one after the other as the processes are completed for each container).
[0012] As alluded to above, embodiments of the diagnostic workflow system provide several advantages, benefits, and / or improvements over existing diagnostic systems. For example, in some embodiments, the diagnostic workflow system is more flexible than many existing diagnostic systems. While many existing systems are limited to implementing system-specific internal diagnostic applications and workflows to perform diagnosis of genomic sequencing data, the diagnostic workflow system can facilitate the execution of external (e.g., third-party) sequencing diagnostic applications and workflows. Specifically, the diagnostic workflow system can utilize a container orchestration engine to enable receipt of an external sequencing diagnostic workflow (e.g., via upload) and execute the external sequencing diagnostic workflow to perform diagnostic analysis on the nucleotide base calls (or other sequencing data) of the sample nucleotide sequences (as instructed by an external, non-locally networked system). In some embodiments, the diagnostic workflow system can even flexibly execute the external sequencing diagnostic workflow during (or after) the sequencing process to generate nucleotide base calls of the sample nucleotide sequences (unlike conventional systems).
[0013] In addition to increased flexibility, in some embodiments, the diagnostic workflow system improves data security compared to conventional diagnostic systems. Although some conventional systems may attempt to facilitate diagnostic analysis from external applications, these conventional systems risk exposure and corruption of sequencing data or code for the diagnostic application when implementing a workflow external (or non-native) to variant analysis models or other internal applications used for diagnosis. Indeed, existing diagnostic systems lack a mechanism or model for securely running third-party or other external applications on a computing device that runs a software application configured for genetic diagnosis.
[0014] In contrast, the diagnostic workflow system maintains the security and integrity of the sequencing data even when implementing an external sequencing diagnostic workflow from a source outside the secure local network of the diagnostic workflow system. Unlike existing diagnostic systems that may expose the genetic information of a sample, for example, the diagnostic workflow system utilizes a container orchestration engine that isolates individual workflow containers that define the process of the external sequencing diagnostic workflow, preventing unwanted or even accidental exposure to sensitive sequencing data or other genetic information. By executing the workflow container for the external sequencing diagnostic workflow by itself and configuring targeted security permissions for the external sequencing diagnostic workflow, the diagnostic workflow system encodes the secure execution of the external sequencing diagnostic workflow without accessing the internal metrics for the sequencing run software or variant analysis model. In fact, unlike existing diagnostic systems, the diagnostic workflow system goes beyond standard encryption by protecting the external sequencing diagnostic workflow in a separate container and granting targeted security permissions (e.g., read-only permissions) to such containers to prevent the external sequencing diagnostic workflow from corrupting the code or internal metrics of the application for sequencing run or variant analysis. As a result of its improved security and analytical protocols, the diagnostic workflow system is able to meet various standards for IVDs (unlike some conventional systems).
[0015] Furthermore, in some embodiments, the diagnostic workflow system improves computational efficiency over existing diagnostic systems by orchestrating workflows to execute using limited resources of an FPGA or CPU. For example, rather than flooding available processors and other computing resources with excessive processing demands for diagnostic workflows, as in some existing systems, the diagnostic workflow system can utilize a container orchestration engine to intelligently allocate computing resources for executing individual workflow containers. Specifically, the diagnostic workflow system can utilize a container orchestration engine to specify iterative or sequential processing of each workflow container (coordinated with or after processing of sequencing data) via a genome sequence processing device such as an FPGA or CPU. Thus, the diagnostic workflow system can prevent backlogs and / or slowdowns that commonly occur in conventional systems when executing diagnostic workflows on sequencing data.
[0016] As suggested by the foregoing discussion, the present disclosure utilizes various terms to describe the features and advantages of the diagnostic workflow 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] In certain embodiments, the sequencing data is stored or located on one or more workflow data sources. The term "workflow data source" refers to a network storage location or repository for storing one or more types of sequencing data. For example, a workflow data source can include locations specific to a particular type of sequencing data, such as an input directory, an output directory, or an application directory. Within the input directory, the sequencing data can include data from a sample nucleotide sequence written or generated by a variant analysis model (e.g., nucleotide base calls). Within the output directory, the sequencing data can include output information (e.g., diagnostic results) written or generated by a container orchestration engine implementing the workflow. Within the application directory, the sequencing data can include a definition of a diagnostic application and / or diagnostic workflow (e.g., an external sequencing diagnostic workflow), including instructions for inputs, outputs, and other execution information for performing a diagnosis.
[0019] 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 base call corresponding to a genomic coordinate and 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 base call that is part of a single nucleotide polymorphism (SNP), an insertion or deletion (indel), or 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.
[0020] 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 external genomic sequencing or genomic structure. For example, sequencing metrics include quantitative measurements or scores that indicate (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, repetitive base call content, DNA structure, or other generalized metrics.
[0021] Relatedly, as used herein, the term "nucleotide read" (or sometimes simply "read") refers to a deduced 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 diagnostic workflow 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.
[0022] As described, in some embodiments, the diagnostic workflow system utilizes a variant analysis model to generate nucleotide base calls for genomic coordinates. 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 a model can include a model 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.
[0023] As described, in some embodiments, the diagnostic workflow system utilizes a container orchestration engine to orchestrate the execution of the external sequencing diagnostic workflow. As used herein, the term "container orchestration engine" refers to an application 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 diagnostic workflow (e.g., an external 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.
[0024] 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 diagnostic workflow 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.
[0025] Additionally, as used herein, the term "sequencing diagnostic workflow" refers to a collection of tasks or functions organized and orchestrated together to generate a set of diagnostic outputs from sequencing data for a sample nucleotide sequence. For example, a sequencing diagnostic workflow may include any number of tasks that provide any number of functions that may include secondary analysis, tertiary analysis, custom QC logic, reporting, or other desired functionality. In some cases, multiple entities may develop a single workflow that may be deployed locally (e.g., at an edge server) or in the cloud.
[0026] An "external sequencing diagnostic workflow" refers to a sequencing diagnostic workflow that is external to a genome analysis software platform or to one or more applications from a larger genome analysis software platform. For example, an external sequencing diagnostic workflow includes a sequencing diagnostic workflow that is not native to (or integrated as part of) a software (or another software application or set of software applications) for a variant analysis model that is used for diagnosis and follows a standardized genetic diagnosis protocol. In some cases, the diagnostic workflow system receives or identifies an external sequencing diagnostic workflow from a third-party system that does not share a local network with the server device that hosts the diagnostic workflow system (e.g., with the container orchestration engine and / or the variant analysis model). An external sequencing diagnostic workflow can refer to a newly generated workflow or a modified version of an existing workflow defined by an external device operated by an external entity (e.g., an entity that is not part of the diagnostic workflow system). In some cases, an external sequencing diagnostic workflow can refer to an add-on software for a diagnostic workflow system that is adaptable to plug into a variant analysis model for performing secondary and / or tertiary analysis of nucleotide base calls.
[0027] The external sequencing diagnostic workflow can be part of or defined by a diagnostic application (e.g., an external diagnostic application). A "diagnostic application" can refer to a package of custom workflow content that is deployable by a diagnostic workflow system and includes workflow definitions, containerized tasks, custom user interfaces, custom microservices, and / or reference data. A diagnostic application can have a specific structure or file type (e.g., a tape archive or "TAR" file) that defines the workflow and other application data. In some embodiments, a diagnostic application is a single deployable unit that can be installed on a system that is completely disconnected from the Internet. The application package can be signed to ensure authenticity and validity. The package can be uploaded to the server via a UI portal (e.g., using a browser). In some cases, the external sequencing diagnostic workflow is part of an external diagnostic application that is generated by (and received from) an external (e.g., third-party) system.
[0028] The following paragraphs describe the diagnostic workflow system with reference to example diagrams depicting example embodiments and implementations. For example, Figure 1 illustrates a schematic diagram of a system environment (or "environment") 100 in which a diagnostic workflow system 106 operates according to one or more implementations. As shown, the environment 100 includes one or more server devices 102 connected to client devices 108 and sequencing devices 114 via a network 112. While Figure 1 illustrates one embodiment of the diagnostic workflow system 106, the disclosure below describes alternative embodiments and configurations.
[0029] 1, server device 102, client device 108, and sequencing device 114 may communicate with each other via network 112. Network 112 may include any suitable network over which computing devices may communicate. Exemplary networks are discussed in additional detail below with respect to FIG.
[0030] 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 SBS to sequence the nucleic acid polymer into nucleotide reads. In addition to or as an alternative to communicating via the network 112, in some embodiments the sequencing device 114 bypasses the network 112 and communicates directly with the server device 102 and / or the client device 108. Indeed, in some embodiments, the sequencing device 114 and the server device 102 share a local network (e.g., housed on the same or different servers), as indicated by the dashed box, while the client device 108 does not share a local network, but instead communicates via network 112.
[0031] As further illustrated by FIG. 1, the server device 102 may generate, receive, analyze, store, and transmit digital data, such as data for determining nucleotide base calls, sequencing nucleic acid polymers, and / or performing diagnostics on nucleotide sequences. As illustrated in FIG. 1, the sequencing device 114 may transmit call data from the sequencing device 114 (and the server device 102 may receive call data). The server device 102 may also communicate with the client device 108. In particular, the server device 102 may transmit data to the client device 108, including variant call files or other information indicative of nucleotide base calls, sequencing metrics, error data, diagnostic information, or other metrics associated with the nucleotide base calls.
[0032] In some embodiments, the service device 102 includes 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 server device 102 and the sequencing device 114.
[0033] Rather than being located locally with the sequencing device 114, in some embodiments, the server device 102 comprises a distributed collection of servers, where the server device 102 is distributed across the network 112 and includes several server devices located in the same or different physical locations. As suggested, in some cases, the server device 102 houses the genomic analysis platform 104. The server device 102 may also include a content server, an application server, a communication server, a web hosting server, or another type of server.
[0034] As further shown in FIG. 1 , the server device 102 can include a genomic analysis platform 104 for generating and analyzing sequencing data. Generally, the genomic analysis platform 104 includes a variant analysis model 107 that generates and / or analyzes call data, such as sequencing metrics, received from a sequencing device 114 to determine a nucleotide base sequence of 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. Furthermore, in some embodiments, the genomic analysis platform 104 includes a diagnostic workflow system 106.
[0035] As just described and illustrated in FIG. 1 , the diagnostic workflow system 106 analyzes sequencing data, such as call data and / or sequencing metrics (e.g., from the sequencing device 114 or variant analysis model 107), to generate or determine various diagnoses. For example, the diagnostic workflow system 106 performs diagnostic analyses of the sequencing data on the sample nucleotide sequences. In some cases, the diagnostic workflow system 106 performs diagnostic analyses to diagnose or determine a propensity for one or more diseases or genetic conditions. In effect, the diagnostic workflow system 106 executes an external sequencing diagnostic workflow (as received from the client device 108) to perform a diagnosis on the sequencing data and determine the likelihood of manifesting a genetic condition or trait.
[0036] As further illustrated and shown in FIG. 1, the client device 108 can generate, store, receive, and transmit digital data. In particular, the client device 108 can receive sequencing metrics from the sequencing device 114. In addition, the client device 108 can communicate with the server device 102 to receive a variant call file including nucleotide base calls and / or other metrics such as call quality, genotype index, and genotype quality. Thus, the client device 108 can present or display information about the nucleotide base calls in a graphical user interface to a user associated with the client device 108. In addition, the client device 108 can generate and provide (e.g., upload via the network 112) an external sequencing diagnostic workflow including one or more workflow containers for performing diagnostic analysis of the sequencing data. Indeed, the client device 108 can receive user interaction to select and arrange or organize workflow containers for the external sequencing diagnostic workflow via a graphical user interface. The client device 108 can also receive diagnostic results from the server device 102 and display the diagnostic results in a graphical user interface.
[0037] The client devices 108 illustrated in FIG. 1 can include various types of client devices. For example, in some embodiments, the client devices 108 include non-mobile devices, such as desktop computers or servers, or other types of client devices. In yet other embodiments, the client devices 108 include mobile devices, such as laptops, tablets, cell phones, or smartphones. Further details regarding the client devices 108 are discussed below with respect to FIG. 9.
[0038] As further illustrated in FIG. 1 , the client device 108 includes a sequencing application 110. The sequencing application 110 can be a web application or a native application (e.g., a mobile application, a desktop application) stored and executed on the client device 108. The sequencing application 110 can include instructions that (when executed) cause the client device 108 to receive data from the diagnostic workflow system 106 and present data from a variant call file for display on the client device 108. Additionally, the sequencing application 110 can instruct the client device 108 to display visualizations of the external sequencing diagnostic workflow and / or workflow containers sequenced within the external sequencing diagnostic workflow, as well as diagnostic results received from the server device upon execution of the external sequencing diagnostic workflow.
[0039] As further illustrated in FIG. 1 , the diagnostic workflow system 106 may be located on the client device 108 or on the sequencing device 114 as part of the sequencing application 110. Thus, in some embodiments, the diagnostic workflow system 106 is implemented (e.g., fully or partially located) on the client device 108. In yet other embodiments, the diagnostic workflow system 106 is implemented by one or more other components of the environment 100, such as the sequencing device 114. In particular, the diagnostic workflow system 106 can be implemented in a variety of different ways across the server device 102, the network 112, the client device 108, and the sequencing device 114. For example, the diagnostic workflow system 106 can be downloaded from the server device 102 to the client device 108 and / or the sequencing device 114, with all or a portion of the functionality of the diagnostic workflow system 106 being implemented on the respective devices in the environment 100.
[0040] As further illustrated in FIG. 1 , the environment 100 includes a database 116. The database 116 can store information such as external sequencing diagnostic workflows, diagnostic 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 server device 102, the client device 108, and / or the sequencing device 114 communicate (e.g., via the network 112) with the database 116 to store and / or access information such as external sequencing diagnostic workflows, diagnostic 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 116 also stores one or more models, such as variant analysis model 107.
[0041] 1 illustrates components of environment 100 communicating over network 112, in certain implementations, components of environment 100 may also communicate directly with one another, bypassing network 112. For example, as discussed above, in some implementations, client device 108 may communicate directly with sequencing device 114. Additionally, in some embodiments, client device 108 communicates directly with diagnostic workflow system 106. Furthermore, diagnostic workflow system 106 may access one or more databases housed on or accessed by server device 102 or elsewhere in environment 100.
[0042] As described, in certain described embodiments, the diagnostic workflow system 106 executes an external sequencing diagnostic workflow. In particular, the diagnostic workflow system 106 executes an external sequencing diagnostic workflow generated by an external system or an external device operated by an external system, such as a third-party system or device (e.g., client device 108), to perform diagnostic analysis of the sequencing data. Figure 2 illustrates an exemplary overview of executing an external sequencing diagnostic workflow, according to one or more embodiments. Figure 2 provides a general overview of executing an external sequencing diagnostic workflow, with additional details regarding various operations being provided subsequently with reference to subsequent figures.
[0043] As illustrated in FIG. 2, the diagnostic workflow system 106 performs operation 202 to receive an external sequencing diagnostic workflow. More specifically, the diagnostic workflow system 106 receives an external sequencing diagnostic workflow generated by an external system. In some embodiments, the diagnostic workflow system 106 receives the external sequencing diagnostic workflow directly from an external device, such as the client device 108. In other embodiments, the diagnostic workflow system 106 receives the external sequencing diagnostic workflow from a different server (e.g., a web hosting server) that communicates with the client device 108 by hosting a website to which the client device 108 uploads the external sequencing diagnostic workflow.
[0044] In practice, the diagnostic workflow system 106 receives the external sequencing diagnostic workflow from a web hosting server, which receives the external sequencing diagnostic workflow as an upload (as part of an application). In some embodiments, the web hosting server is part of the diagnostic workflow system 106, while in other embodiments, the web hosting server is external to the diagnostic workflow system 106. Thus, in some cases, the diagnostic workflow system 106 receives the external sequencing diagnostic workflow, while in other cases, the external sequencing diagnostic workflow is already downloaded or otherwise included as part of the diagnostic workflow system 106.
[0045] As further illustrated in FIG. 2, the diagnostic workflow system 106 performs operation 204 to identify sequencing metrics. In particular, the diagnostic workflow system 106 identifies sequencing data, such as nucleotide base calls and / or sequencing metrics, associated with one or more sample nucleotide sequences. In some cases, the diagnostic workflow system 106 utilizes a variant analysis model (e.g., variant analysis model 107) to generate the sequencing data, while in other cases, the diagnostic workflow system 106 receives the sequencing data from another server that hosts the variant analysis model. In certain embodiments, the diagnostic workflow system 106 identifies sequencing data specific to a particular sample.
[0046] Additionally, the diagnostic workflow system 106 performs operation 206 to execute an external sequencing diagnostic workflow. Specifically, the diagnostic workflow system 106 executes an external sequencing diagnostic workflow by executing a set of workflow containers that constitute the external sequencing diagnostic workflow. For example, the diagnostic workflow system 106 executes an external sequencing diagnostic workflow generated by an external system and / or uploaded by an external device (e.g., the client device 108). In some cases, the diagnostic workflow system 106 receives the external sequencing diagnostic workflow from a server that directly receives the external sequencing diagnostic workflow via upload and relays the external sequencing diagnostic workflow to a server (e.g., the server device 102) of the diagnostic workflow system 106.
[0047] In fact, the diagnostic workflow system 106 executes an external sequencing diagnostic workflow generated by an external system operated by an external entity. In particular, the diagnostic workflow system 106 facilitates or enables the generation and / or sequencing of an external sequencing diagnostic workflow via an external device (e.g., a client device 108). For example, an external device may sequence or organize individual workflow containers to perform discretized functions or tasks as part of performing a particular diagnostic test on a sample nucleotide sequence. In some embodiments, the workflow containers are predefined or pregenerated by the diagnostic workflow system 106 and stored for use (by the external system) in sequencing an external sequencing diagnostic workflow. In other embodiments, the diagnostic workflow system 106 facilitates the generation of entirely new workflow containers by an external system.
[0048] In some cases, the external sequencing diagnostic workflow is part of an external application. For example, the diagnostic workflow system 106 can execute an external sequencing diagnostic workflow defined by an application. The application can include a workflow including a custom user interface, reference data, and various composition containers as defined by an external system. The diagnostic workflow system 106 can implement the external application to execute the external sequencing diagnostic workflow and can provide diagnostic results via a web user interface (e.g., a custom interface defined by the application).
[0049] In certain embodiments, the external application is a modified version of an internal application that has been pre-generated and stored within the diagnostic workflow system 106 (e.g., pre-approved to comply with one or more standardized genetic diagnostic protocols, such as IVD, or to comply with other analytical protocols, such as IUO or RUO). The diagnostic workflow system 106 can receive or identify modified versions of internal applications that have been modified or generated by an external system. Indeed, the external system may modify an internal application to change, add, and / or remove one or more workflow containers within the workflow. For example, if a stored internal application includes a workflow that performs a diagnosis on a particular nucleotide base call to identify a particular genetic condition (e.g., a TSO500 screening assay designed to detect a particular cancer marker), the external system can modify the application (thereby generating an external application) to analyze a different nucleotide base call and / or to process other sequencing data in a slightly different manner.
[0050] To execute the external sequencing diagnostic workflow, the diagnostic workflow system 106 requests the container orchestration engine to implement the external sequencing diagnostic workflow for performing diagnostic analysis on the nucleotide base call for the sample nucleotide sequence. More specifically, the diagnostic workflow system 106 requests the container orchestration engine to implement the external sequencing diagnostic workflow according to its sequence defined in the external diagnostic application. For example, the diagnostic workflow system 106 utilizes the container orchestration engine to execute the individual workflow containers arranged in the external sequencing diagnostic workflow to perform diagnostic analysis of the sample nucleotide sequence.
[0051] As shown, in some embodiments, the diagnostic workflow system 106 performs operation 206 to execute an external sequencing diagnostic workflow after identifying sequencing data (as performed by the variant analysis model 107) or after sequencing is completed. For example, the diagnostic workflow system 106 executes an external sequencing diagnostic workflow after variant analysis performed by the variant analysis model 107 identifies or generates nucleotide base calls for a sample nucleotide sequence. For example, in some embodiments, the diagnostic workflow system 106 detects completion of sequencing analysis by the variant analysis model 107, which automatically triggers execution of the external sequencing diagnostic workflow.
[0052] In other embodiments, the diagnostic workflow system 106 performs operation 206 to execute an external sequencing diagnostic workflow during variant analysis or while the variant analysis model 107 is generating nucleotide base calls. More specifically, the diagnostic workflow system 106 communicates with or utilizes the variant analysis model 107 while also executing (e.g., simultaneously or in parallel) an external sequencing diagnostic workflow via a container orchestration engine. For example, the diagnostic workflow system 106 generates specific nucleotide base calls required by a particular workflow container of the external sequencing diagnostic workflow, and as the variant analysis model 107 is generating other nucleotide base calls, the diagnostic workflow system 106 executes those parts of the external sequencing diagnostic workflow that are executable based on the nucleotide base calls available at that time. As sequencing progresses, the diagnostic workflow system 106 continues to execute the external sequencing diagnostic workflow until a complete diagnostic analysis is completed based on a complete set of nucleotide base calls from the variant analysis model 107.
[0053] As further illustrated in FIG. 2, the diagnostic workflow system 106 performs operation 208 to provide a diagnostic workflow result. In particular, the diagnostic workflow system 106 provides the diagnostic workflow result generated as a result or product of an external sequencing diagnostic workflow. In some cases, the diagnostic workflow system 106 provides the diagnostic workflow result to a web hosting server for relaying to an external system operated by an external entity. In other cases, the diagnostic workflow system 106 provides the diagnostic workflow result directly to the external system (e.g., via the client device 108). For example, the diagnostic workflow system 106 provides the diagnostic workflow result for display via the client device 108 in a graphical user interface.
[0054] As described above, in certain described embodiments, the diagnostic workflow system 106 executes external sequencing diagnostic workflows generated by systems (one or more server hosts) external to the diagnostic workflow system 106. In particular, the diagnostic workflow system 106 facilitates external systems to generate and execute custom sequencing diagnostic workflows to leverage their own sequencing data, such as nucleotide base calls, generated by internal variant analysis models (e.g., variant analysis model 107) for their own diagnostic purposes, without risking exposure or corruption of the sequencing data. Figure 3 illustrates an exemplary flow for executing an external sequencing diagnostic workflow on internal sequencing data in a secure environment, according to one or more embodiments.
[0055] As illustrated in FIG. 3, the diagnostic workflow system 106 utilizes a container orchestration engine 318 to execute an external sequencing diagnostic workflow 310. Specifically, the diagnostic workflow system 106 executes the external sequencing diagnostic workflow 310 to perform diagnostic analysis on nucleotide base calls 306 generated by the sequencing device 302. Indeed, as shown, the sequencing device 302 analyzes the sample nucleotide sequence to generate nucleotide base calls 306 for the sample sequence (e.g., via sequencing by synthesis, or "SBS"). The sequencing device 302 then provides the nucleotide base calls 306 to a variant analysis model 314 (hosting device), which then generates variant calls 316 from the nucleotide base calls 306.
[0056] In practice, the variant analysis model 314 generates variant calls 316 from nucleotide base calls 306 and / or other sequencing data, such as sequencing metrics. For example, in some cases, the sequencer 302 generates sequencing data, such as nucleotide base calls 306 and sequencing metrics, from a sample nucleotide sequence. The diagnostic workflow system 106 can access or otherwise utilize the sequencing data (including nucleotide base calls 306) as a basis for performing tertiary analyses or additional diagnostics (e.g., via the container orchestration engine 318).
[0057] As shown, the diagnostic workflow system 106 utilizes a container orchestration engine 318 to perform additional diagnostic or tertiary analysis on the variant calls 316 (based on the nucleotide base calls 306 and other sequencing data at the corresponding genomic coordinates). For example, the diagnostic workflow system 106 utilizes the container orchestration engine 318 to execute a sequencing diagnostic workflow, such as the external sequencing diagnostic workflow 310. In one or more embodiments, the container orchestration engine 318 and the variant analysis model 314 are located on a shared network 312, such as a local area network, to keep the variant calls 316 and other sequencing data in a closed environment (e.g., for additional data security). In practice, the diagnostic workflow system 106 communicates with both the variant analysis model 314 and the container orchestration engine 318 via the shared network 312, with the variant analysis model 314 located on one server device and the container orchestration engine 318 located on a different server device within the shared network 312.
[0058] In certain implementations, the diagnostic workflow system 106 implements an external sequencing diagnostic workflow 310 that is generated or modified by an external system (e.g., a third-party system). In some cases, an external system refers to a system that is outside the shared network 312 or that is otherwise operated by an external (e.g., third-party) entity separate from the genomic analysis platform 104. In these or other cases, a client device 304 (e.g., client device 108) is associated with (e.g., a part of) the external system. In some embodiments, the client device 304 generates or sequences the external sequencing diagnostic workflow 310 as part of an external application 308.
[0059] Along these lines, the external application 308 includes a definition of an external sequencing diagnostic workflow 310 along with metadata such as workflow resource data (e.g., genome), docker images containing software dependencies (e.g., variant analysis model 314), and the name and version of the external application 308, as well as how the external application 308 interfaces with the sequencing device 302 (e.g., compatible index adapter kits and library preparation kits), and how the diagnostic analysis may be configured and what parameters may be specified (e.g., by the client device 304). The client device 304 either arranges a workflow container for the external sequencing diagnostic workflow 310 from scratch or modifies an existing arrangement of the workflow container (e.g., as part of a workflow or application already installed on the genome analysis platform 104) to generate an external sequencing diagnostic workflow 310 for performing a particular diagnosis.
[0060] For example, the diagnostic workflow system 106 provides access via a web interface to one or more internal sequencing diagnostic workflows (or applications) that conform to one or more standardized genetic diagnostic protocols or other analytical protocols. The diagnostic workflow system 106 further facilitates changes or modifications to the sequencing diagnostic workflows by adding, deleting, or modifying the definition of one or more workflow containers within the workflows (thereby generating an external sequencing diagnostic workflow). In addition, the diagnostic workflow system 106 facilitates generating entirely new external sequencing diagnostic workflows by sequencing available workflow containers and / or by generating or defining new workflow containers.
[0061] As shown, in one or more embodiments, the diagnostic workflow system 106 receives the external sequencing diagnostic workflow 310 from the client device 304 (e.g., as part of the external application 308). In other embodiments, the diagnostic workflow system 106 receives the external sequencing diagnostic workflow 310 from another server that communicates with the client device 304. The diagnostic workflow system 106 further imports the external sequencing diagnostic workflow 310 into the container orchestration engine 318 to execute the external sequencing diagnostic workflow 310 and generate diagnostic workflow results 326. In effect, the diagnostic workflow system 106 processes the variant calls 316 (or nucleotide base calls 306 and / or other sequencing data) according to the workflow container defined in the external sequencing diagnostic workflow 310 and executes the external sequencing diagnostic workflow 310 internally without further communication to or from the external system.
[0062] In some embodiments, the diagnostic workflow system 106 executes an external sequencing diagnostic workflow 310 to perform diagnostic analysis on the nucleotide base calls 306 (and other sequencing data) and / or variant calls 316. In some cases, the diagnostic workflow system 106 receives instructions (e.g., via a user interface presented on the client device 304) to perform a sequencing run. In response to the instructions, the diagnostic workflow system 106 utilizes the sequencing device 302 to generate nucleotide base calls 306 from the sample nucleotide sequence, and further utilizes the variant analysis model 314 to generate variant calls 316 from the nucleotide base calls 306. In some embodiments, the diagnostic workflow system 106 receives the nucleotide base calls 306 (and other sequencing data) from the sequencing device 302 operating on a separate server. In these or other embodiments, the diagnostic workflow system 106 receives the variant calls 316 from the variant analysis model 314 operating on a separate server. The diagnostic workflow system 106 further performs diagnostic analyses of the external sequencing diagnostic workflow 310 either during or after the sequencing run.
[0063] As shown, the diagnostic workflow system 106 executes the external sequencing diagnostic workflow 310 via a workflow execution service 320 of the container orchestration engine 318. In particular, the diagnostic workflow system 106 utilizes a particular workflow container of the container orchestration engine 318, referred to as the workflow execution service 320, which triggers the execution of the external sequencing diagnostic workflow 310. For example, the workflow execution service 320 triggers the execution by detecting that sequencing is complete (e.g., the sequencing device 302 has completed generating nucleotide base calls 306 and / or the variant analysis model 314 has completed generating variant calls 316 from the nucleotide base calls 306) or by receiving post-defined parameters for the execution of the external sequencing diagnostic workflow 310 (e.g., via a user interface presented on the client device 304).
[0064] In some cases, the post defines parameters for implementing the external sequencing diagnostic workflow 310, such as inputs, outputs, memory allocation, and / or required version of the variant analysis model 314 compatible with the external sequencing diagnostic workflow 310. In some cases, the post includes the location of the workflow definition file (e.g., in the application directory), the location of the workflow resource file (e.g., in the application directory), the location of the sequencing input directory (e.g., the execution folder), the location of the output directory, and any user configuration parameters for the workflow. Indeed, based on the post, the diagnostic workflow system 106 can provide a number of functions for executing the external sequencing diagnostic workflow 310, including (i) containerized task execution, (ii) task orchestration, (iii) input and output management for individual workflow containers of tasks and the entire workflow, (iv) variant analysis model (DRAGEN) acceleration, (v) automated workflow execution (e.g., sequencing to diagnostics without user interaction), (vi) system resource management (e.g., scheduling of tasks for workflow containers based on CPU, RAM, storage, and FPGA resources), and (vii) workflow status.
[0065] The diagnostic workflow system 106 provides additional security in preventing exposure or corruption of sequencing data, such as nucleotide base calls 306 and / or variant calls 316. In effect, the diagnostic workflow system 106 separates or silos the individual workflow containers of the external sequencing diagnostic workflow 310 to limit the workflow data sources they can access. As shown, the diagnostic workflow system 106 grants only limited access to the sequencing data to a particular workflow container and does not grant access to other workflow containers. For example, the container orchestration engine 318 utilizes the workflow main container 322 as an overall process that orchestrates the execution of additional workflow containers, such as the workflow container 324 that constitutes the majority of the functionality for the external sequencing diagnostic workflow 310. As depicted, the diagnostic workflow system 106 grants limited access to the workflow main container 322 and does not grant sequencing data access to the workflow container 324 (and other task-specific workflow containers). By compartmentalizing the workflow containers and controlling data access in this manner while still performing detailed diagnosis on the sequencing data, the diagnostic workflow system 106 provides data security and protocol compliance for a variety of standardized genetic diagnostic protocols, such as IVD, or other standardized analytical (e.g., non-diagnostic) protocols, such as IUO and RUO. Further details regarding the data-specific separation of workflow containers are provided below with reference to FIG.
[0066] In another embodiment, the diagnostic workflow system 106 facilitates an integrated runtime between the cloud and the edge. In particular, the diagnostic workflow system 106 can enable an external system to initiate execution via the variant analysis model 314 and provide an external sequencing diagnostic workflow for implementation by the container orchestration engine 318. In some cases, the diagnostic workflow system 106 can execute the external sequencing diagnostic workflow (e.g., the external sequencing diagnostic workflow 310) utilizing an edge server device or a distributed cloud server with approximately the same runtime.
[0067] In addition, the diagnostic workflow system 106 provides portability, e.g., the ability to deploy components of the external sequencing diagnostic workflow or the entire solution on different servers as well as the sequencing device (e.g., the sequencing device 302). Indeed, in some cases, the container orchestration engine 318 orchestrates the execution of different workflow containers across different components, such as the sequencing device 302, the variant analysis model 314, and / or various server devices. For example, some workflow containers of the external sequencing diagnostic workflow 310 are executed by a first server device, while other workflow containers are executed by another server device or the sequencing device 302. Thus, the diagnostic workflow system 106 facilitates unified activation of workflows between cloud servers and edge servers. Thus, once a workflow container performs a task and writes an output, the diagnostic workflow system 106 can utilize the container orchestration engine 318 to access the output (e.g., write once, run everywhere) to execute another workflow container elsewhere in the environment.
[0068] As described above, in certain embodiments, the diagnostic workflow system 106 isolates individual workflow containers of an external sequencing diagnostic workflow to protect the sequencing data. In particular, the diagnostic workflow system 106 determines which workflow containers of an external sequencing diagnostic workflow are permitted to access which workflow data sources for read and / or write permissions. Figure 4 illustrates an example depiction of the permissions that the diagnostic workflow system 106 assigns to particular workflow containers, in accordance with one or more embodiments.
[0069] 4, the diagnostic workflow system 106 isolates individual workflow containers within a set of workflow containers 402 of an external sequencing diagnostic workflow (e.g., the external sequencing diagnostic workflow 310). For example, the diagnostic workflow system 106 specifies specific permissions for each of the workflow containers 402 to read from and / or write to specific workflow data sources 414. Thus, each granular task performed as part of the external sequencing diagnostic workflow can access only data in the specified or permitted workflow data sources.
[0070] In fact, the diagnostic workflow system 106 can specify workflow data sources 414 that store different types of workflow data and can activate access to one source while preventing access to another source for a given workflow container. In some cases, the diagnostic workflow system 106 mounts a workflow data source 414 as read-only for one or more workflow containers while mounting it as read-write for other workflow containers. By selectively specifying data access for each of the workflow containers 402, the diagnostic workflow system 106 reduces the exposure of the sequencing data. As a result, the diagnostic workflow system 106 can prevent data corruption or other harmful effects that could otherwise result from exposing the sequencing data to a potentially harmful sequencing diagnostic workflow.
[0071] As shown, the diagnostic workflow system 106 can implement the variant analysis model 404 (e.g., variant analysis model 314) as a workflow container (or group of workflow containers). Indeed, the variant analysis model 404 may not necessarily be part of a container orchestration engine (e.g., container orchestration engine 318), although the container orchestration engine 318 and the genome analysis platform 104 housing the variant analysis model 404 may nevertheless utilize a workflow container for individual tasks. As shown in FIG. 4, the diagnostic workflow system 106 allows the variant analysis model 404 to both read and write to each of the workflow data sources 414, i.e., the input directory 416, the output directory 418, and the application directory 420.
[0072] Generally, the input directory 416 stores run folders, sample sheets, sample mappings, and other sequencing related files including sequencing data such as nucleotide base calls 306, variant calls 316 (e.g., variant call files or fields), and sequencing metrics generated by the sequencer 302 and / or variant analysis model 404. The output directory 418 stores information such as diagnostic workflow results and intermediate outputs generated by workflow containers and input to other workflow containers. In addition, the application directory 420 stores application specific files such as workflow definitions, including input specifications, output specifications, memory allocations, compatibility metrics (e.g., indicating compatible versions of variant analysis model 404), and definitions of various workflow containers to be included as part of an external sequencing diagnostic workflow.
[0073] As illustrated in FIG. 4, the diagnostic workflow system 106 separates the application programming interface (API) 406. Specifically, the diagnostic workflow system 106 grants the workflow execution service API 406 read-only permission for each of the workflow data sources 414, including the input directory 416, the output directory 418, and the application directory 420. In some cases, the workflow execution service API 406 can provide access to and invoke various workflow containers. For example, the workflow execution service API 406 can initiate the execution of an external sequencing diagnostic workflow based on a post provided by a client device (e.g., the client device 304).
[0074] In addition, the diagnostic workflow system 106 isolates the workflow execution service worker 408 (e.g., the workflow execution service 320). Specifically, the diagnostic workflow system 106 allows the workflow execution service worker 408 to read only from both the input directory 416 and the application directory 420. The diagnostic workflow system 106 further allows the workflow execution service worker 408 to read and write to the output directory 418. In fact, the workflow execution service worker 408 orchestrates an implementation of an additional workflow container for the external sequencing diagnostic workflow, and further writes the diagnostic workflow results to the output directory 418.
[0075] Additionally, the diagnostic workflow system 106 isolates the workflow main container 410. Specifically, similar to the workflow execution service worker 408, the diagnostic workflow system 106 allows the workflow main container 410 to read only from the input directory 416 and the application directory 420. The diagnostic workflow system 106 further allows the workflow main container 410 to read and write to the output directory 418.
[0076] 4, the diagnostic workflow system 106 isolates the workflow worker container 412 (e.g., workflow container 324). Specifically, like the workflow execution service worker 408 and the workflow main container 410, the diagnostic workflow system 106 allows the workflow worker container 412 to read only from the input directory 416 and the application directory 420. The diagnostic workflow system 106 further allows the workflow worker container 412 to read and write to the output directory 418.
[0077] As described above, in certain embodiments, the diagnostic workflow system 106 utilizes a container orchestration engine to orchestrate the execution of workflow containers (e.g., for individual tasks). In particular, the diagnostic workflow system 106 utilizes a container orchestration engine to schedule available computing resources to perform the tasks of the workflow containers. FIG. 5 illustrates utilizing a container orchestration engine to schedule the execution of workflow containers in accordance with one or more embodiments.
[0078] As illustrated in Figure 5, the diagnostic workflow system 106 utilizes a container orchestration engine 502 (e.g., container orchestration engine 318) to execute a workflow container of a sequencing diagnostic workflow (e.g., external sequencing diagnostic workflow 310). In particular, the container orchestration engine 502 orchestrates the performance of workflow container A 504, workflow container B 506, and workflow container C 508 with a genome sequence processing device (e.g., FPGA, or CPU). The depiction of Figure 5 is an example, and in some cases, the container orchestration engine 502 orchestrates the performance of different workflow containers across different servers or devices with different available resources, where some may utilize CPUs and others may utilize FPGAs (or other computing processors).
[0079] In scheduling the performance of workflow containers, the container orchestration engine 502 determines the available computing resources (e.g., FPGAs, such as DRAGEN FPGAs, or CPUs) of the genome sequencing processor 510. The available resources can vary over time as the genome sequencing processor 510 performs different tasks, either from the container orchestration engine 502 or from another source. Thus, the diagnostic workflow system 106 utilizes the container orchestration engine 502 to perform adaptive and elastic resource allocation and scale with available resources, such as CPU, RAM, FPGA resources, variant analysis model (DRAGEN) accelerators, and a number of available worker nodes.
[0080] As shown, the container orchestration engine 502 communicates with the genome sequencing processor 510 to perform container A execution 512, which executes workflow container A 504. Indeed, the container orchestration engine 502 provides workflow container A 504 based on determining that the genome sequencing processor 510 has available computing resources, such as available worker nodes, available RAM, available processing power, and / or available FPGA processing power. The genome sequencing processor 510 then performs container A execution 512. In some embodiments, container A execution 512 generates intermediate container outputs that the diagnostic workflow system 106 stores in a network location (e.g., input directory 416, output directory 418, or application directory 420) for use as input for subsequent workflow containers.
[0081] 5, the container orchestration engine 502 provides workflow container B 506 and workflow container C 508 for execution by the genome sequencing processor 510. In effect, the container orchestration engine 502 determines or detects when container A execution 512 is complete, and then provides workflow container B 506 when the genome sequencing processor 510 is available. The genome sequencing processor 510 then performs container B execution 514.
[0082] In some cases, the genome sequence processor 510 is an FPGA that executes processes serially (e.g., cannot execute multiple workflow containers simultaneously). For example, the genome sequence processor 510 implements a variant analysis model (e.g., variant analysis model 404) to generate nucleotide base calls and other sequencing data by performing operations in sequence. Thus, in some cases, the genome sequence processor 510 is busy performing an operation and cannot perform another operation until the operation is completed. Thus, the container orchestration engine 502 schedules the resources of the genome sequence processor 510 to perform the tasks of the workflow containers based on availability.
[0083] In some embodiments, the genome sequencing processor 510 performs other tasks not related to the sequencing diagnostic workflow (or for another sequencing diagnostic workflow). Thus, the container orchestration engine 502 orchestrates the execution of the workflow containers 504-508 based on the availability of the genome sequencing processor 510. As shown, the genome sequencing processor 510 performs other process execution 516 (not related to the sequencing diagnostic workflow) after container B execution 514 and before container C execution. In fact, the container orchestration engine 502 determines that the genome sequencing processor 510 is available once the other process execution 516 is completed, and provides the workflow container C 508 to the genome sequencing processor 510 for execution. The genome sequencing processor 510 then performs container C execution 518.
[0084] The container orchestration engine 502 continues to orchestrate the performance of workflow containers for a sequencing diagnostic workflow (e.g., an external sequencing diagnostic workflow) until it is completed. For example, the container orchestration engine 502 utilizes the genome sequence processing device 510 and / or other processor devices to execute various workflow containers (in the appropriate order defined by the workflow) until all workflow containers are executed. The container orchestration engine 502 further generates diagnostic workflow results from the overall workflow. The diagnostic workflow system 106 can provide the results for display in a user interface on a client device (e.g., client device 304). By scheduling resource allocation to execute workflow containers, the diagnostic workflow system 106 (through the container orchestration engine 502) can efficiently utilize computing resources by reducing downtime and preventing duplicate processes (especially for FPGA or other series-oriented devices) to reduce crashes and slowdowns.
[0085] As described above, in certain embodiments, the diagnostic workflow system 106 determines the execution mode of the container orchestration engine. In particular, the diagnostic workflow system 106 determines the execution mode based on a standardized genetic diagnostic protocol that the container orchestration engine is intended to satisfy when executing a particular workflow (e.g., an external sequencing diagnostic workflow). Figure 6 illustrates an example flow for determining or identifying diagnostic applications that are compatible (and / or incompatible) with the execution mode of a container orchestration engine, according to one or more embodiments.
[0086] As illustrated in FIG. 6, the diagnostic workflow system 106 utilizes a container orchestration engine 602 to execute diagnostic workflows that include various workflow containers, such as workflow container 608. Indeed, as described, the container orchestration engine 602 utilizes a workflow execution service 604 and a workflow main container 606 to trigger and facilitate the execution of the workflow. In some embodiments, the external sequencing diagnostic workflow (or its parent application) specifies a particular execution mode 610 for the container orchestration engine 602. For example, the workflow indicates a standardized genetic diagnostic protocol, such as IVD, or another standardized analytical protocol, such as IUO or RUO, with which the container orchestration engine 602 must comply when executing the workflow.
[0087] Based on detecting or determining the execution mode 610 for the container orchestration engine 602, the diagnostic workflow system 106 identifies a set of compatible diagnostic applications 612. For example, the diagnostic workflow system 106 identifies diagnostic applications or workflows that have been approved by a particular regulatory agency (e.g., FDA) to meet a standardized genetic diagnostic protocol, such as IVD. The diagnostic workflow system 106 further filters out or prevents access to other diagnostic applications that do not meet the standardized genetic diagnostic protocol (e.g., applications that meet a lower bar, such as IUO or RUO, but not IVD). As another example, the diagnostic workflow system 106 identifies analytical applications that (at least) meet a lower bar, such as IUO or RUO, but prevents access to other applications or workflows that do not, including applications that meet a higher bar. Thus, the diagnostic workflow system 106 ensures that only compatible diagnostic applications 612 that are compatible with the execution mode 610 are available for a particular sequencing run. As shown, the diagnostic workflow system 106 determines that application A 614 and application C 618 are compatible with the execution mode 610 of the container orchestration engine 602 , while application B 616 is not compatible with the execution mode 610 .
[0088] The diagnostic workflow system 106 further grants or allows access to compatible diagnostic applications 612. For example, the diagnostic workflow system 106 grants access to a client device (e.g., client device 304) to select and apply (e.g., by presenting via a user interface) one or more applications or workflows to a sequencing run executed in execution mode 610. In some cases, the diagnostic workflow system 106 grants access for the container orchestration engine 602 to execute all or a portion of one or more (e.g., of a particular workflow container therein) of the compatible diagnostic applications 612. For example, as part of the execution of an external sequencing diagnostic workflow, the diagnostic workflow system 106 may access only applications that comply with a standardized genetic diagnostic protocol. In some cases, the diagnostic workflow system 106 grants access to individual workflow containers within a compatible diagnostic application 612 for application or adaptation to an external sequencing diagnostic workflow implemented by the container orchestration engine 602.
[0089] As described above, in certain embodiments, the diagnostic workflow system 106 utilizes containers and pods to execute external workflows associated with nucleotide reads and base calls of sample sequences. In particular, the diagnostic workflow system 106 can analyze sequencing data via a diagnostic workflow to identify genetic markers or genetic traits represented within a genomic sample. Figure 7 illustrates an exemplary diagram of the components, applications, devices, and containers of a system architecture (e.g., installed on a local server device) involved in implementing an external diagnostic workflow, according to one or more embodiments.
[0090] 7, the diagnostic workflow system 106 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 a local server (e.g., variant analysis model 107 on server device 102). For example, the diagnostic workflow system 106 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 and other sequencing data for the nucleotide bases of the genomic sample.
[0091] Based on the information from the BSSH RUO and / or LIMS, the diagnostic workflow system 106 performs real-time analysis ("RTA") of the sample. More specifically, the diagnostic workflow system 106 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 diagnostic workflow system 106 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 fact, 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.
[0092] To organize or plan a sequencing run for an RTA, the diagnostic workflow system 106 provides control software (e.g., including a user interface) for planning or scheduling a sequencing run for a particular sample. In fact, the diagnostic workflow system 106 provides control software and a user interface for planning one or more sequencing runs, for example, to test a genomic sample for particular genetic markers according to planning parameters. For example, the control software allows a user to specify parameters for a sequencing run and / or test for particular markers. As shown, the diagnostic workflow system 106 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.
[0093] In some cases, the diagnostic workflow system 106 facilitates local planning for a sequencing run, where the planning software (e.g., control software) is hosted by a local server device, such as a local edge server. In these or other cases, the diagnostic workflow system 106 facilitates cloud planning for a sequencing run, where the planning software (e.g., control software) is hosted on a cloud server rather than a local server. 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., server device 102). Thus, (i) the diagnostic workflow system 106 can be executed locally on a local server device located at or near the sequencing device 114, or remotely on a cloud-based server device, in combination with (ii) the variant analysis model 107 executed locally on a local server device located at or near the sequencing device 114, or remotely on a cloud-based server device.
[0094] As further illustrated in FIG. 7, the system architecture 700 of the diagnostic workflow system 106 includes or communicates with containers or systems associated with one or more core services. Indeed, as shown, the diagnostic workflow system 106 includes the services of the system architecture 700. To manage or orchestrate the various services of the system architecture 700, the system architecture 700 includes a container orchestration engine 701 (e.g., K3S or Kubernetes) to manage and implement various pods and containers associated with performing genomic analysis via a diagnostic workflow as described herein. As described, the diagnostic workflow system 106 utilizes the container orchestration engine 701 to orchestrate or orchestrate the diagnostic workflow to analyze genomic sequences for base calling, variant calling (e.g., as indicated by the application of a third-party system). The container orchestration engine 701 includes pods and containers to perform other functions as well, including user management, application management, run management, variant analysis model management, instrument management, data copying, and audit logging.
[0095] For example, the system architecture 700 includes a user management service 702 that includes a set of one or more user management pods or containers. The user management service 702 performs various processes or functions to provide a single sign-on ("SSO") experience system-wide. Specifically, the user management service 702 can include one or more containers or pods that include or access user information for a third party system to determine a diagnostic workflow (e.g., from one of the third party systems) for analyzing a genome sequence, including, for example, user settings or preferences for executing the diagnostic workflow. Based on the determination of the diagnostic workflow and / or user settings, the user management service 702 can communicate with other services of the system architecture 700 to initiate the execution of a diagnostic workflow and analyze a genome sequence accordingly.
[0096] In addition, the system architecture 700 includes or utilizes an application management service 704 that communicates with the container orchestration engine 701. For example, the application management service 704 manages application package installation for a diagnostic workflow. In some cases, the application management service 704 further includes a resource manager. The resource manager can access or utilize genomic analysis device resources as specified by the application specification and / or as part of the diagnostic workflow. In particular, the resource manager identifies a resource label for accessing a specified resource, such as an FPGA or a CPU, as a schedulable resource for access via the container orchestration engine. Indeed, in some cases, the application management service 704 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 diagnostic workflow of 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).
[0097] As further shown, the system architecture 700 includes or utilizes a run management and orchestration service 706. In particular, the run management and orchestration service 706 includes one or more containers or pods for facilitating and executing genomic analysis through diagnostic workflows, such as a sequencing run, a primary analysis, a secondary analysis, or a tertiary analysis. In effect, the run management and orchestration service 706 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 706 communicates with a workflow engine 714 to execute a custom diagnostic 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 706 further includes code for communicating with a data copy service 712 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 local network attached storage ("NAS"), server message block ("SMB"), or common internet file system ("CIFS").
[0098] In addition, the system architecture 700 includes a variant analysis model management service 708. In particular, the variant analysis model management service 708 includes one or more containers or pods for managing variant analysis models (e.g., variant analysis models 107) for performing genomic analysis. For example, the variant analysis model management service 708 implements a specific diagnostic workflow using a variant analysis model to detect genetic markers for a certain condition in a sample genome sequence. In addition, the variant analysis model management service 708 manages model peripherals such as licensing, self-testing, and version certification for variant analysis models.
[0099] As further illustrated in FIG. 7, the system architecture 700 includes an equipment management service 710. In one or more embodiments, the equipment management service 710 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 710 manages the sequencing instruments and / or the variant analysis model instruments to pair compatible instruments with a indicated version of the variant analysis model (or vice versa). The system architecture 700 further includes an audit logging service 716 for monitoring and logging the performance of the instruments, the variant analysis model components, and / or the containers in the application workflow. For example, the audit logging service 716 detects and logs errors or other audit information associated with the system architecture 700.
[0100] As alluded to above in the description of FIG. 1 and elsewhere, using the system architecture 700 illustrated in FIG. 7, the diagnostic workflow system 106 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 diagnostic workflow system 106 can run locally on the local server device or remotely on a cloud-based server device as part of planning software that plans resources based on user input for sequencing runs or other assays, and the variant analysis model 107 can similarly run locally on the local server device or remotely on a cloud-based server device to analyze BCL data and determine variant calls or other metrics.
[0101] Referring now to FIG. 8, this figure illustrates an example flow chart of a series of operations for executing an external sequencing diagnostic workflow utilizing a container orchestration engine, according to one or more embodiments. Although FIG. 8 illustrates operations according to one embodiment, alternative embodiments may omit, add, rearrange, and / or modify any of the operations depicted in FIG. 8. The operations of FIG. 8 may be performed as part of a method. Alternatively, a non-transitory computer-readable storage medium may include instructions that, when executed by one or more processors, cause a computing device to perform the operations depicted in FIG. 8. In a further embodiment, a system includes 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. 8.
[0102] 8, the series of operations 800 includes an operation of identifying nucleotide base calls 802. In particular, operation 802 can include identifying nucleotide base calls generated by a variant analysis model for a sample nucleotide sequence.
[0103] Additionally, the series of operations 800 includes an operation 804 of requesting that the container orchestration engine implement an external sequencing diagnostic workflow. In particular, operation 804 can include requesting that the container orchestration engine associated with the variant analysis model implement an external sequencing diagnostic workflow for performing diagnostic analysis on nucleotide base calls for the sample nucleotide sequence. For example, operation 804 can involve implementing an external sequencing diagnostic workflow identified from an external application that is separate from the container orchestration engine and the variant analysis model.
[0104] 8, the series of operations 800 includes an operation of identifying one or more workflow containers 806. In particular, operation 806 can include identifying one or more workflow containers associated with respective functions of the external sequencing diagnostic workflow.
[0105] Further, the set of operations 800 includes an operation 808 of executing an external sequencing diagnostic workflow using one or more workflow containers. In particular, operation 808 can include executing the external sequencing diagnostic workflow by utilizing a container orchestration engine to implement one or more workflow containers. For example, operation 808 can involve executing the external sequencing diagnostic workflow after variant analysis by the variant analysis model generates nucleotide base calls for the sample nucleotide sequence or during variant analysis by the variant analysis model. In some cases, operation 808 can involve selectively preventing one or more workflow containers from accessing sequencing data of the sample nucleotide sequence while executing the external sequencing diagnostic workflow. In these or other cases, operation 808 can involve utilizing a container orchestration engine located on a server device that hosts the variant analysis model. In fact, operation 808 can involve executing an external sequencing diagnostic workflow generated by an external system separate from the container orchestration engine and the variant analysis model.
[0106] In some embodiments, the series of operations 800 includes determining a diagnostic execution mode that corresponds to a standardized genetic diagnostic protocol. The series of operations 800 can also include granting the client device access to only diagnostic applications that are compatible with the diagnostic execution mode. In certain cases, the series of operations 800 includes receiving an external sequencing diagnostic workflow generated by an external device operated by an external entity.
[0107] The set of operations 800 may include operations for controlling access to different workflow data sources for one or more workflow containers to prevent access to the sequencing data. For example, the set of operations 800 may include an operation for preventing one of the one or more workflow containers from accessing the sequencing data of the sample nucleotide sequences. Preventing the workflow container from accessing the sequencing data of the sample nucleotide sequences may involve preventing the workflow container from accessing one or more workflow data sources including an input directory, an output directory, and an application directory.
[0108] The series of operations 800 may also include receiving an indication of a label defining a version of the variant analysis model and a memory allocation to utilize for executing the external sequencing diagnostic workflow. Additionally, the series of operations 800 may include specifying a plurality of workflow data sources storing different types of workflow data. Furthermore, the series of operations 800 may include activating access to a first workflow data source of the plurality of workflow data sources for a workflow container from among the one or more workflow containers while preventing access to other workflow data sources of the plurality of workflow data sources. The series of operations 800 may include mounting the plurality of workflow data sources as read-only for the one or more workflow containers. In some embodiments, the series of operations 800 includes triggering execution of the external sequencing diagnostic workflow by receiving, via the container orchestration engine, post definition parameters for implementing the external sequencing diagnostic workflow.
[0109] In some embodiments, the series of operations 800 includes operations to satisfy one or more standardized genetic diagnostic protocols while also executing the external sequencing diagnostic workflow by encoding a workflow execution application that grants the external sequencing diagnostic workflow read-only access to sequencing data associated with nucleotide base calls of a sample nucleotide sequence during execution of the external sequencing diagnostic workflow.
[0110] 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 in 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.
[0111] 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.
[0112] SBS can utilize nucleotide monomers with terminator moieties or nucleotide monomers that lack any terminator moieties. 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).
[0113] 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).
[0114] A preferred embodiment includes the technique of pyrosequencing, which detects the release of inorganic pyrophosphate (Ppi) when a specific nucleotide is incorporated into the 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. Patent Nos. 6,210,891, 6,258,568, and 6,274,320, the disclosures of which are incorporated herein by reference in their entirety). In pyrosequencing, released Ppis can be detected by their immediate conversion to adenosine triphosphate (ATP) by ATP sulfurase, and the level of ATP generated is detected via luciferase-generated photons. The nucleic acids to be sequenced can be bound to features in an 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.
[0115] In another exemplary type of SBS, cycle sequencing is accomplished 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.
[0116] 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 incorporating 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.
[0117] 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 a reversible terminator that uses a small amount of 3' allyl group to block extension, but can be easily unblocked by brief treatment with a palladium catalyst. The fluorophore was attached to the group via a photocleavable linker that can be easily cleaved by exposure to long-wavelength UV light for 30 seconds. 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.
[0118] 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.
[0119] 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).
[0120] 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.
[0121] 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.
[0122] 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 J. A. Golovchenko, "DNA molecules and architecture in solid-state nanopore microscopy." 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 variation in the electrical conductance of the pore. (U.S. Pat. No. 7,001,792; Soni, GV and Meller, "Progress Towards Ultrafast DNA Sequencing Using Solid-Phase 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. and Ghadiri, MR, "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 an image according to the exemplary processing of optical and other images described herein.
[0123] 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 / 0109082, 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 concentration," 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 nanostructures," 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.
[0124] 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 U.S. Patent Application Publication Nos. 2009 / 0026082(A1), 2009 / 0127589(A1), 2010 / 0137143(A1), or 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.
[0125] 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.
[0126] 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.
[0127] 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 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.
[0128] 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.
[0129] 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.
[0130] 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 forensic samples 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.
[0131] The components of the diagnostic workflow system 106 may include software, hardware, or both. For example, the components of the diagnostic workflow system 106 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., client device 108). When executed by one or more processors, the computer-executable instructions of the diagnostic workflow system 106 may cause the computing device to perform the bubble detection methods described herein. Alternatively, the components of the diagnostic workflow system 106 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 diagnostic workflow system 106 may include a combination of computer-executable instructions and hardware.
[0132] Further, the components of the diagnostic workflow system 106 that perform the functions described herein with respect to the diagnostic workflow system 106 may be implemented, for example, as part of a stand-alone 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, the components of the diagnostic workflow system 106 may be implemented as part of a stand-alone application on a personal computing device or a mobile device. Additionally or alternatively, the components of the diagnostic workflow system 106 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.
[0133] 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.
[0134] 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.
[0135] Non-transitory computer-readable storage media (devices) include RAM, ROM, EEPROM, CD-ROM, (e.g., RAM-based) solid-state drives (SSD), 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.
[0136] 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.
[0137] 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.
[0138] 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.
[0139] 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.
[0140] 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.
[0141] 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.
[0142] FIG. 9 illustrates a block diagram of a computing device 900 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 the computing device 900, may implement the diagnostic workflow system 106 and the genomic analysis platform 104. As illustrated by FIG. 9, the computing device 900 may include a processor 902, a memory 904, a storage device 906, an I / O interface 908, and a communication interface 910, which may be communicatively coupled by a communication infrastructure 912. In certain embodiments, the computing device 900 may include fewer or more components than those illustrated in FIG. 9. The following paragraphs describe in more detail the components of the computing device 900 illustrated in FIG. 9.
[0143] In one or more embodiments, the processor 902 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 902 may retrieve (or fetch) instructions from an internal register, an internal cache, memory 904, or a storage device 906, decode them, and execute them. The memory 904 may be a volatile or non-volatile memory used to store data, metadata, and programs for execution by the processor. The storage device 906 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.
[0144] The I / O interface 908 enables a user to provide input to, receive output from, and otherwise transfer data to and receive data from the computing device 900. The I / O interface 908 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 908 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 908 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.
[0145] Communications interface 910 may include hardware, software, or both. In any case, communications interface 910 may provide one or more interfaces for communications (e.g., packet-based communications, etc.) between computing device 900 and one or more other computing devices or networks. By way of example and not limitation, communications interface 910 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.
[0146] Additionally, the communication interface 910 may facilitate communication with various types of wired or wireless networks. The communication interface 910 may also facilitate communication using various communication protocols. The communication infrastructure 912 may also include hardware, software, or both that couples the components of the computing device 900 to one another. For example, the communication interface 910 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.
[0147] 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.
[0148] 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 performed 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 to be embraced within their scope.
[0149] 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.
[0150] 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 that supports 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 that are suitable to be 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.
[0151] 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.
[0152] 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 coded optical identification element similar or identical to that described in pending U.S. patent application Ser. No. 10 / 661,234, filed Sep. 12, 2003, entitled "Diffraction Grating Based Optical Identification Element," 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.
[0153] 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.
[0154] As an 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.
[0155] 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.
[0156] 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 Nos. 2005 / 0042648, 2005 / 0079510, 2005 / 0130173, and WO 05 / 010145, in connection with various sequencing techniques, each of which is incorporated herein by reference.
[0157] 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.
[0158] 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 called 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.
[0159] Further examples of commercially available microarrays that can be used are, for example, Affymetrix® GeneChip® microarrays, or microarrays described, for example, in 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,741, 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.
[0160] 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.
[0161] 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.
[0162] 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.
[0163] 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.
[0164] 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.
[0165] FIG. 10 illustrates a block diagram of an optical system 1000 formed according to one embodiment. By way of example only, the optical system 1000 may be a sampler imaging device that images a sample of interest for analysis. In other embodiments, the optical system 1000 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 1000 includes an optical assembly 1006, an object holder 1002 for supporting an object 1010 near a focal plane FP of the optical assembly 1006, and a stage controller 1015 configured to move the object holder 1002 laterally (along an X-axis and / or a Y-axis extending into the page) or vertically / heightwise along a Z-axis. The optical system 1000 may also include a system controller or computing system 1020 operably coupled to the optical assembly 1006, the stage controller 1015, and / or the object holder 1002.
[0166] In certain embodiments, the optical system 1000 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.
[0167] As shown, the optical assembly 1006 is configured to direct input light to an object 1010 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 1010 and / or the output light may be light emitted from the object 1010. To direct the input light, the optical assembly 1006 may include at least one reference light source 1012 and at least one excitation light source 1014 that direct light, such as a light beam having a predetermined wavelength, through one or more optical components of the optical assembly 1006. The optical assembly 1006 may include various optical components, including a conjugate lens 1018, to direct the input light to the object 1010 and the output light to the detector.
[0168] In an exemplary embodiment, the absolute wavelength light source 1012 may be used by a distance measurement system or a focus control system (or focusing mechanism) of the optical system 1000, and the excitation light source 1014 may be used to excite biological or chemical substances in the object 1010 if the object 1010 includes a biological or chemical sample. The excitation light source 1014 may be arranged to illuminate a bottom surface of the object 1010, such as in TIRF imaging, or may be arranged to illuminate a top surface of the object 1010, such as in epifluorescence imaging. As shown in FIG. 10, the conjugate lens 1018 directs the input light to a focal region 1022 that is in a focal plane FP. The lens 1018 has an optical axis 1024 and is positioned a working distance WD1 away from the object 1010 measured along the optical axis 1024. The stage controller 1015 may move the object 1010 in the Z direction to adjust the working distance WD1, for example, so that a portion of the object 1010 is in the focal region 1022.
[0169] To determine whether the object 1010 is in focus (i.e., sufficiently within the focal region 1022 or focal plane FP), the optical assembly 1006 is configured to direct at least one pair of light beams to the focal region 1022 where the object 1010 is approximately located. The object 1010 reflects the light beams. More specifically, an outer surface of the object 1010 or an interface within the object 1010 reflects the light beams. The reflected light beams then return to and propagate through the lens 1018. As shown, each light beam has an optical path that includes a portion that has not yet been reflected by the object 1010 and a portion that has been reflected by the object 1010. The portions of the optical path before reflection are designated as incident light beams 1030A and 1032A and are indicated by arrows pointing in a direction toward the object 1010. The portions of the optical path that have been reflected by the object 1010 are designated as reflected light beams 1030B and 1032B and are indicated by arrows pointing in a direction away from the object 1010. For illustrative purposes, light beams 1030A, 1030B, 1032A, and 1032B are shown as having different optical paths within lens 1018 and near object 1010. However, in an illustrative embodiment, light beams 1030A and 1032B are configured to counter-propagate and have the same or substantially overlapping optical paths within lens 1018 and near object 1010, and light beams 1030B and 1032A are configured to counter-propagate and have the same or substantially overlapping optical paths within lens 1018 and near object 1010.
[0170] In the embodiment shown in FIG. 10, the light beams 1030A, 1030B, 1032A, and 1032B pass through the same lens used for imaging. In an alternative embodiment, the 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, the lens 1018 is dedicated to passing the beams 1030A, 1030B, 1032A, and 1032B for distance measurement or focus determination, and a separate lens (not shown) is used to image the object 1010. 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.
[0171] The reflected light beams 1030B and 1032B propagate through the lens 1018 and may be optionally further directed by other optical components of the optical assembly 1006. As shown, the reflected light beams 1030B and 1032B are detected by at least one focus detector 1044. In the illustrated embodiment, both the reflected light beams 1030B and 1032B are detected by a single focus detector 1044. 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 separating the beam spots from the reflected light beams 1030B and 1032B incident on the focus detector 1044 (i.e., a separation distance). The relative separation RS1 may be used to determine the degree of focus of the optical system 1000 with respect to the object 1010. However, in an alternative embodiment, each reflected light beam 1030B and 1032B may be detected by a separate corresponding focus detector 1044, and the relative separation RS1 may be determined based on the position of the beam spot on the corresponding focus detector 1044.
[0172] If the object 1010 is not in sufficient focus, the computing system 1020 may operate the stage controller 1015 to move the object holder 1002 to a desired position. Alternatively or in addition to moving the object holder 1002, the optical assembly 1006 may be moved in the Z direction and / or along the XY plane.
[0173] For example, if the object 1010 is located above the focal plane FP (or focal region 1022), the object 1010 may be relatively moved toward the focal plane FP by a distance ΔZ1, and if the object 1010 is located below the focal plane FP (or focal region 1022), the object 1010 may be relatively moved toward the focal plane FP by a distance ΔZ2. In some embodiments, the optical system 1000 may replace the lens 1018 with another lens 1018 or other optical component to move the focal region 1022 of the optical assembly 1006.
[0174] The examples described above and in FIG. 10 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 1010 and the lens 1018. In such an embodiment, the focus detector 1044 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 1010 and the lens 1018. 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.
[0175] In an exemplary embodiment, during operation, the excitation light source 1014 directs input light (not shown) to the object 1010 to excite the fluorescently labeled biological or chemical agent. The biological or chemical agent label provides an optical signal 1040 (also referred to as an emission) having a predetermined wavelength. The optical signal 1040 is received by the lens 1018 and then directed by other optical components of the optical assembly 1006 to at least one object detector 1042. Although the illustrated embodiment shows only one object detector 1042, the object detector 1042 may comprise multiple detectors. For example, the object detector 1042 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 1006 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.
[0176] The object detector 1042 communicates object data regarding the detected optical signal 1040 to the computing system 1020. The computing system 1020 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 1010. The image may then be analyzed by a user of the computing system and / or optical system 1000. 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 1040 may include light reflected by an encoded particulate, such as the holographically encoded optical identification elements described above.
[0177] In some embodiments, a single detector may provide both functions as described above with respect to object detector 1042 and focus detector 1044. For example, a single detector may detect reflected light beams 1030B and 1032B as well as light signal 1040.
[0178] The optical system 1000 may include a user interface 1025 for interacting with a user through the computing system 1020. For example, the user interface 1025 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.
[0179] The computing system 1020 may include, among other things, an object analysis module 1050 and a focus control module 1052. The focus control module 1052 is configured to receive focus data obtained by the focus detector 1044. The focus data may include signals representative of the beam spots incident on the focus detector 1044. 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 1000 on the object 1010 may then be determined based on the relative separation. In certain embodiments, a working distance WD1 between the object 1010 and the lens 1018 may be determined. Similarly, the object analysis module 1050 may receive the object data obtained by the object detector 1042. The object analysis module may process or analyze the object data to generate an image of the object.
[0180] Additionally, the controller system 1020 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 exemplary and thus are not intended to limit the definition and / or meaning of the term system controller. In an exemplary implementation, the computing system 1020 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 the optical system 1000.
[0181] The set of instructions may include various commands that instruct the optical system 1000 to perform a particular protocol. For example, the set of instructions may include various commands to perform an assay and image the object 1010 or to determine a surface profile of the object 1010. 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.
[0182] As described above, the excitation light source 1014 generates excitation light that is directed toward the object 1010. The excitation light source 1014 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 1010, such as a group of columns and rows of the object 1010. Alternatively, the excitation light may illuminate one or more entire regions of the object 1010 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 1010 generates a light signal 1040, which may include emission generated in response to illumination of a label within the object 1010 and / or light reflected or refracted by the optical substrate of the object 1010. Alternatively, the optical signal 1040 may be generated without illumination, based entirely on the luminescent properties of substances within the object 1010 (eg, radioactive or chemiluminescent moieties within the object).
[0183] The object detector 1042 and the focus detector 1044 may be, for example, a photodiode or a camera. In some embodiments herein, the detectors 1042 and 1044 may 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 may optionally have more or less than 1 million pixels, for example, a 4 megapixel camera may 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 may 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 certain embodiments, the CCD camera / TIRF laser can collect about 6400 images to interrogate 1600 tiles (as images are optionally taken in four 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 four 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, imaging speed can be improved. For example, with a 20 MHz camera read rate and resolved clusters 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).
[0184] 11 is a perspective view of a specimen imaging apparatus 1100 formed in accordance with one embodiment. As shown, the specimen imaging apparatus 1100 includes an imager base 1102 that supports a stage 1104 having a specimen holder 1106 thereon. The specimen holder 1106 is configured to support one or more optical substrates 1108 during an imaging session. The optical substrate 1108 is illustrated in FIG. 11 as a flow cell. However, other specimens may be used.
[0185] The specimen imaging device 1100 also includes a housing 1110 (shown in phantom) and a support 1112 that supports the housing 1110. The housing 1110 can enclose at least a portion of an optical assembly 1114 therein. The optical assembly 1114 can include a focusing assembly 1116 and a sample detection assembly 1130. For example, the focusing assembly 1116 can include an autofocus line scan camera that receives the reflected light beam to determine the focus of the sample imaging device 1100. The specimen imaging device 1100 can also include a filter wheel 1122 and an alignment mirror 1124 that directs light toward a sample detector 1132, shown in FIG. 11 as a K4 camera.
[0186] FIG. 12 illustrates an implementation of a sequencing system 1210 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 1212 that receives and processes biological samples. A sample source 1214 provides a sample 1216, 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 synthetic molecules. In many cases, the molecules include DNA, RNA, or other molecules with base pairs, the sequences of which may define genes and variants that have a particular function of the final subject.
[0187] The sample 1216 is introduced to a sample / library preparation system 1218, which may isolate, disrupt, and otherwise prepare the sample for analysis. The resulting library contains the molecules of interest at a length that facilitates a sequencing operation. The resulting library is then provided to an instrument 1212 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.
[0188] In the implementation illustrated in FIG. 12, the instrument includes a flow cell or array 1220 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 1220 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.
[0189] In this instrument, the flow cell 1220 is mounted on a movable stage 1222 that can be moved in one or more directions, as indicated in this implementation by reference number 1224. The flow cell 1220 can be provided in the form of a removable and replaceable cartridge that can interface with ports on the movable stage 1222 or other components of the system, for example, to allow reagents and other fluids to be delivered to or from the flow cell 1220. The stage is associated with an optical detection system 1226 that can direct radiation or light 1228 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 1226 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 1226 and stage 1222 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).
[0190] 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 1226 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).
[0191] 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 1226 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 identifiable 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.
[0192] In the illustrated implementation, the reagent 1230 is drawn or aspirated into the flow cell via a valve 1232. 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. 12). The valve 1232 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 1234 to the flow cell 1220. An outlet or effluent flow path 1236 directs the used reagent from the flow cell. In the illustrated implementation, a pump 1238 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 1240 downstream of the pump 1238 allows for the appropriate directing of the used reagent to a disposal container or receptacle 1242.
[0193] 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. 12, the control / monitoring system 1244 includes a control system 1246 and a data acquisition and analysis system 1248. 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 1250 (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 1248 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 1252, 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. 12, an external network or system 1254 may be coupled to and cooperate with the instrument, e.g., for analysis, control, monitoring, maintenance, and other operations.
[0194] It should be noted that while a single flow cell and fluid path, and a single optical detection system 1226 are illustrated in FIG. 12, 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 comprises: identifying nucleotide base calls generated by the variant analysis model for the sample nucleotide sequence; requesting that a container orchestration engine associated with the variant analysis model implement an external sequencing diagnostic workflow for performing a diagnostic analysis on the nucleotide base calls for the sample nucleotide sequence; identifying one or more workflow containers associated with respective functions of the external sequencing diagnostic workflow; and executing the external sequencing diagnostic workflow by utilizing the container orchestration engine to implement the one or more workflow containers.
2. 2. The system of claim 1, further comprising instructions that, when executed by the at least one processor, cause the system to implement the identified external sequencing diagnostic workflow from an external application that is separate from the container orchestration engine and the variant analysis model.
3. When executed by the at least one processor, the system comprises: determining a diagnostic execution mode corresponding to a standardized genetic diagnostic protocol; 2. The system of claim 1, further comprising instructions for granting client devices access to only diagnostic applications compatible with the diagnostic execution mode.
4. 2. The system of claim 1, further comprising instructions that, when executed by the at least one processor, cause the system to execute the external sequencing diagnostic workflow after variant analysis by the variant analysis model generates the nucleotide base calls for the sample nucleotide sequence or during the variant analysis by the variant analysis model.
5. 2. The system of claim 1, further comprising instructions that, when executed by the at least one processor, cause the system to selectively prevent the one or more workflow containers from accessing sequencing data of the sample nucleotide sequence while executing the external sequencing diagnostic workflow.
6. 2. The system of claim 1, further comprising instructions that, when executed by the at least one processor, cause the system to execute the external sequencing diagnostic workflow by utilizing the container orchestration engine located on a server device that hosts the variant analysis model.
7. 10. The system of claim 1, further comprising instructions that, when executed by the at least one processor, cause the system to receive the external sequencing diagnostic workflow generated by an external device operated by an external entity.
8. 1. A computer-implemented method, comprising: identifying nucleotide base calls generated by the variant analysis model for the sample nucleotide sequence; requesting that a container orchestration engine associated with the variant analysis model implement an external sequencing diagnostic workflow for performing a diagnostic analysis on the nucleotide base calls for the sample nucleotide sequence; identifying one or more workflow containers associated with respective functions of the external sequencing diagnostic workflow; and executing the external sequencing diagnostic workflow by utilizing the container orchestration engine to implement the one or more workflow containers according to an orchestrated allocation of computing resources.
9. The computer-implemented method of claim 8 , further comprising controlling access to different workflow data sources for the one or more workflow containers to prevent access to sequencing data.
10. 10. The computer-implemented method of claim 8, further comprising receiving an indication of a label defining a version of the variant analysis model and a memory allocation to utilize for executing the external sequencing diagnostic workflow.
11. Specifying a plurality of workflow data sources storing different types of workflow data; 10. The computer-implemented method of claim 8, further comprising: activating access to a first workflow data source of the plurality of workflow data sources for a workflow container from among the one or more workflow containers, while preventing access to other workflow data sources of the plurality of workflow data sources.
12. The computer-implemented method of claim 8 , further comprising mounting a plurality of workflow data sources as read-only for the one or more workflow containers.
13. 10. The computer-implemented method of claim 8, further comprising executing the external sequencing diagnostic workflow after variant analysis by the variant analysis model generates the nucleotide base calls for the sample nucleotide sequence.
14. 10. The computer-implemented method of claim 8, further comprising executing the external sequencing diagnostic workflow during variant analysis by the variant analysis model.
15. A non-transitory computer-readable medium that, when executed by at least one processor, causes a computing device to: identifying nucleotide base calls generated by the variant analysis model for the sample nucleotide sequence; requesting that a container orchestration engine associated with the variant analysis model implement an external sequencing diagnostic workflow for performing a diagnostic analysis on the nucleotide base calls for the sample nucleotide sequence; identifying one or more workflow containers associated with respective functions of the external sequencing diagnostic workflow; and executing the external sequencing diagnostic workflow by utilizing the container orchestration engine to implement the one or more workflow containers according to an orchestrated allocation of computing resources.
16. 16. The non-transitory computer-readable medium of claim 15, further comprising instructions that, when executed by the at least one processor, cause the computing device to satisfy one or more standardized genetic diagnostic protocols while also executing the external sequencing diagnostic workflow by encoding a workflow execution application that grants the external sequencing diagnostic workflow read-only access to sequencing data associated with the nucleotide base calls of the sample nucleotide sequence during execution of the external sequencing diagnostic workflow.
17. 16. The non-transitory computer-readable medium of claim 15, further comprising instructions that, when executed by the at least one processor, cause the computing device to execute the external sequencing diagnostic workflow generated by an external system separate from the container orchestration engine and the variant analysis model.
18. 16. The non-transitory computer-readable medium of claim 15, further comprising instructions that, when executed by the at least one processor, cause the computing device to prevent a workflow container of the one or more workflow containers from accessing sequencing data of the sample nucleotide sequence.
19. 20. The non-transitory computer-readable medium of claim 18, further comprising instructions that, when executed by the at least one processor, cause the computing device to prevent the workflow container from accessing the sequencing data by preventing the workflow container from accessing one or more workflow data sources including an input directory, an output directory, and an application directory.
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 computing device to trigger execution of the external sequencing diagnostic workflow by receiving, via the container orchestration engine, post-defined parameters for implementing the external sequencing diagnostic workflow.
Citation Information
Patent Citations
Managing user information - source prioritization
US20150347690A1
Managing user information - authorization masking
US20150347784A1