[go: up one dir, main page]

KR20240131386A - Automatic switching of variant analysis model versions for genomic analysis applications - Google Patents

Automatic switching of variant analysis model versions for genomic analysis applications Download PDF

Info

Publication number
KR20240131386A
KR20240131386A KR1020247025105A KR20247025105A KR20240131386A KR 20240131386 A KR20240131386 A KR 20240131386A KR 1020247025105 A KR1020247025105 A KR 1020247025105A KR 20247025105 A KR20247025105 A KR 20247025105A KR 20240131386 A KR20240131386 A KR 20240131386A
Authority
KR
South Korea
Prior art keywords
version
analysis
analysis model
application
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
KR1020247025105A
Other languages
Korean (ko)
Inventor
섀넌 위트모어
마이클 스무트
Original Assignee
일루미나, 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US17/935,497 external-priority patent/US20230207056A1/en
Application filed by 일루미나, 인코포레이티드 filed Critical 일루미나, 인코포레이티드
Publication of KR20240131386A publication Critical patent/KR20240131386A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B50/00ICT programming tools or database systems specially adapted for bioinformatics
    • G16B50/30Data warehousing; Computing architectures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44536Selecting among different versions
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B20/00ICT specially adapted for functional genomics or proteomics, e.g. genotype-phenotype associations
    • G16B20/20Allele or variant detection, e.g. single nucleotide polymorphism [SNP] detection
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B30/00ICT specially adapted for sequence analysis involving nucleotides or amino acids

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Software Systems (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Biotechnology (AREA)
  • Biophysics (AREA)
  • Evolutionary Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Chemical & Material Sciences (AREA)
  • Analytical Chemistry (AREA)
  • Proteomics, Peptides & Aminoacids (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Genetics & Genomics (AREA)
  • Molecular Biology (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)

Abstract

본 개시내용은 상이한 유전체 분석 애플리케이션에 대한 변이 분석 모델의 버전을 유연하고 효율적으로 변경할 수 있는 방법, 비일시적 컴퓨터 판독가능 매체, 및 시스템을 설명한다. 예를 들어, 개시된 시스템은 유전체 분석 애플리케이션에 의해 표시된 변이 분석 모델의 특정 버전을 결정할 수 있고, 변이 분석 모델의 표시된 버전을 설치함으로써 유전체 분석 디바이스(예를 들어, FPGA, CPU)를 업데이트할 수 있다. 개시된 시스템은 유전체 분석 애플리케이션에 의해 표시된 변이 분석 모델의 버전을 활용하여 뉴클레오티드 염기 호출을 분석하기 위해 유전체 분석 애플리케이션을 추가로 실행할 수 있다.The present disclosure describes a method, a non-transitory computer-readable medium, and a system that can flexibly and efficiently change versions of a variant analysis model for different genome analysis applications. For example, the disclosed system can determine a particular version of a variant analysis model indicated by a genome analysis application, and update a genome analysis device (e.g., an FPGA, a CPU) by installing the indicated version of the variant analysis model. The disclosed system can further execute the genome analysis application to analyze nucleotide base calls utilizing the version of the variant analysis model indicated by the genome analysis application.

Figure pct00001
Figure pct00001

Description

유전체 분석 애플리케이션을 위한 변이 분석 모델 버전 자동 스위칭Automatic switching of variant analysis model versions for genomic analysis applications

관련 출원의 교차 참조Cross-reference to related applications

본 출원은 2021년 12월 29일자로 출원된 미국 임시출원 제63/294,693호의 우선권을 주장하는 2022년 9월 26일자로 출원된 미국 출원 제17/935,497호의 이익 및 우선권을 주장한다. 전술한 출원은 그 전체가 본원에 원용되어 포함된다.This application claims the benefit of and priority to U.S. Provisional Application No. 63/294,693, filed December 29, 2021, which is a continuation-in-part of U.S. Application No. 17/935,497, filed September 26, 2022, which claims priority to U.S. Provisional Application No. 63/294,693, filed December 29, 2021. The foregoing applications are incorporated herein by reference in their entirety.

근년 들어 생명공학 회사와 컴퓨터 과학 기관에서는 유전체 샘플의 뉴클레오티드(nucleotide) 서열에 대한 진단을 생성하고 기타 유전체 분석(genomic analysis)을 수행하기 위한 하드웨어와 소프트웨어를 개선했다. 일부 기존의 뉴클레오티드 염기 서열분석(nucleotide base sequencing) 플랫폼 및/또는 서열분석(sequencing) 데이터 분석 소프트웨어(함께 및 이하, 기존의 서열분석 시스템)는 샘플 뉴클레오티드 서열의 뉴클레오티드 리드(read)로부터 뉴클레오티드 염기 호출(nucleotide base call)을 생성하고/하거나 다양한 목적을 위해 뉴클레오티드 염기 호출에 대한 유전체 분석을 수행한다. 예를 들어, 기존의 서열분석 시스템은 샘플 서열의 뉴클레오티드 염기 호출(예를 들어, 변이 호출) 내의 특정 유전자 마커를 검출함으로써 특정 유전적 상태에 대한 뉴클레오티드 서열을 스크리닝하기 위해 (또는 일부 다른 목적을 위해) 진단용 서열분석 분석 애플리케이션을 실행할 수 있다.In recent years, biotechnology companies and computer science institutions have improved hardware and software for generating diagnostics and performing other genomic analyses on nucleotide sequences of genomic samples. Some existing nucleotide base sequencing platforms and/or sequencing data analysis software (together and hereinafter, existing sequencing systems) generate nucleotide base calls from nucleotide reads of a sample nucleotide sequence and/or perform genomic analyses on the nucleotide base calls for a variety of purposes. For example, an existing sequencing system may implement a diagnostic sequencing analysis application to screen nucleotide sequences for a particular genetic condition (or for some other purpose) by detecting particular genetic markers within the nucleotide base calls of a sample sequence (e.g., mutation calls).

최근의 발전에도 불구하고 기존의 서열분석 시스템은 계속해서 많은 결점 또는 단점을 보이고 있다. 예를 들어, 기존의 많은 서열분석 시스템은 유전체 분석 모델의 특정 버전을 엄격하게 실행하고 다른 소프트웨어 애플리케이션을 모델의 상이한 버전과 호환되지 않도록 렌더링하지 않고는 유전체 분석 모델의 버전을 변경할 수 없다. 자세히 설명하자면, 기존 시스템은 종종 확률 모델 또는 일부 유형의 기계 학습 모델(예를 들어, 신경망)의 형태로 유전체 분석 모델을 활용하여 뉴클레오티드 서열에 대한 유전체 분석을 수행한다. 많은 경우에, 이들 기존 시스템의 유전체 분석 모델은 모델을 수정하거나 재훈련하지 않고 (예를 들어, 상이한 분석 애플리케이션을 구현 및/또는 상이한 진단을 수행하기 위해) 특정 유전체 분석 애플리케이션과 호환되지 않는 엄격한 아키텍처를 갖는다. 이러한 수정 또는 재훈련은 계산적으로 비용이 많이 들고 시간이 많이 소요될 수 있다. 결과적으로, 일부 기존 시스템에서는 호환성 문제가 발생하고, 특정 모델 아키텍처 및 기능을 수행해야 하는 특정 서열분석, 2차 및/또는 3차 분석 애플리케이션을 실행할 수 없다.Despite recent advances, existing sequence analysis systems continue to exhibit many shortcomings or drawbacks. For example, many existing sequence analysis systems are rigidly bound to a particular version of a genome analysis model and cannot change the version of the genome analysis model without rendering other software applications incompatible with different versions of the model. Specifically, existing systems often utilize genome analysis models in the form of probabilistic models or some type of machine learning model (e.g., neural networks) to perform genome analysis on nucleotide sequences. In many cases, the genome analysis models of these existing systems have rigid architectures that are incompatible with specific genome analysis applications without modifying or retraining the models (e.g., to implement different analysis applications and/or perform different diagnostics). Such modification or retraining can be computationally expensive and time-consuming. As a result, some existing systems suffer from compatibility issues and are unable to run specific sequence analysis, secondary, and/or tertiary analysis applications that require specific model architectures and functions.

적어도 부분적으로 유연하지 않은 특성 때문에 일부 기존 서열분석 시스템은 비효율성과 느린 성능을 더욱 나타낸다. 예를 들어, 기존 시스템은 종종 이용가능한 하드웨어 및 소프트웨어와의 호환성을 달성하기 위해 유전체 분석 애플리케이션을 업데이트하거나 재작성해야 한다. 기존의 서열분석 시스템이 유전체 분석 모델과 함께 다수의 상이한 유전체 분석 애플리케이션을 실행할 수 있는 경우, 유전체 분석 모델과 호환되도록 유전체 분석 애플리케이션을 업데이트하거나 재작성하는 작업으로 인해 종종 실행이 느려지고(며칠, 몇 주 또는 그 이상의 지연을 필요로 함), 때때로 유전체 분석 애플리케이션의 상이한 버전이 설치될 수 없기 때문에 유전체 분석 애플리케이션을 작동 불가능하게 만든다. 예를 들어, 일부 기존의 서열분석 시스템은 유전체 분석 모델의 버전을 변경하거나 업데이트하기 위해 컴퓨터 코드 명령줄을 입력하는 클라이언트 디바이스가 필요하며, 이는 종종 루트 액세스로만 수행될 수 있다. 실제로, 이용가능한 아키텍처에 즉석에서 신속하게 적응하기보다는, 기존 시스템은 때때로 뉴클레오티드 염기 호출에 대한 분석이 시작되기도 전에 모델 아키텍처를 재훈련하고/하거나 애플리케이션의 전부 또는 일부를 재프로그래밍하는 시간 집약적인 프로세스를 필요로 한다.Some existing sequence analysis systems exhibit further inefficiencies and slow performance, at least in part because of their inflexible nature. For example, existing systems often require updating or rewriting genome analysis applications to achieve compatibility with available hardware and software. Where existing sequence analysis systems are capable of running multiple different genome analysis applications along with a genome analysis model, updating or rewriting the genome analysis application to be compatible with the genome analysis model often results in slow execution (requiring delays of days, weeks, or more) and sometimes renders the genome analysis application inoperable because different versions of the genome analysis application cannot be installed. For example, some existing sequence analysis systems require a client device to enter computer code command lines to change or update the version of the genome analysis model, which often can only be done with root access. In fact, rather than quickly adapting to available architectures on the fly, existing systems sometimes require a time-intensive process of retraining the model architecture and/or reprogramming all or part of the application before analysis of nucleotide base calls has even begun.

본 개시내용은 유전체 분석 애플리케이션의 특정 요건에 대한 변이 분석 모델의 버전을 유연하고 효율적으로 스위칭할 수 있는 방법, 비일시적 컴퓨터 판독가능 매체, 및 시스템의 실시예를 설명한다. 예를 들어, 개시된 시스템은 유전체 분석 애플리케이션에 의해 표시된 변이 분석 모델의 특정 버전을 결정할 수 있고, 변이 분석 모델의 표시된 버전을 설치함으로써 유전체 분석 디바이스를 업데이트할 수 있다. 후술되는 바와 같이, 유전체 분석 디바이스는 뉴클레오티드 염기 호출의 2차 및/또는 3차 분석을 수행하기 위해 변이 분석 모델과 함께 동작하는 필드 프로그래머블 게이트 어레이(FPGA) 또는 다른 디바이스의 형태를 취할 수 있다. 일부 경우에서, 개시된 시스템은 컨테이너 조정 엔진을 활용하여 유전체 분석 애플리케이션을 구현하고 (예를 들어, 설치와 관련된 사용자 입력 없이) 변이 분석 모델의 필수 버전을 자동으로 설치한다. 개시된 시스템은 유전체 분석 애플리케이션에 의해 표시되고 유전체 분석 디바이스 상에 설치된 변이 분석 모델의 버전을 활용하여 (예를 들어, 특정 진단 또는 일부 다른 분석을 위한) 뉴클레오티드 염기 호출을 분석하기 위해 유전체 분석 애플리케이션을 추가로 실행할 수 있다.The present disclosure describes embodiments of a method, a non-transitory computer-readable medium, and a system that can flexibly and efficiently switch versions of a variant analysis model for specific requirements of a genome analysis application. For example, the disclosed system can determine a specific version of a variant analysis model indicated by a genome analysis application, and update a genome analysis device by installing the indicated version of the variant analysis model. As described below, the genome analysis device can take the form of a field programmable gate array (FPGA) or other device that operates with the variant analysis model to perform secondary and/or tertiary analysis of nucleotide base calls. In some cases, the disclosed system utilizes a container orchestration engine to implement the genome analysis application and automatically installs the required version of the variant analysis model (e.g., without user input related to installation). The disclosed system can further execute the genome analysis application to analyze nucleotide base calls (e.g., for a specific diagnosis or some other analysis) utilizing the version of the variant analysis model indicated by the genome analysis application and installed on the genome analysis device.

상세한 설명은 아래에서 간단하게 설명되는 도면을 참조한다.
도 1은 하나 이상의 실시예에 따른 모델 스위칭 시스템을 포함하는 시스템 환경의 블록도를 예시한다.
도 2는 하나 이상의 실시예에 따른 유전체 분석 애플리케이션을 실행하기 위한 변이 분석 모델의 표시된 버전을 식별하고 설치하는 모델 스위칭 시스템의 개요를 예시한다.
도 3은 하나 이상의 실시예에 따른 컨테이너 조정 엔진을 활용하는 변이 분석 모델의 표시된 버전을 설치하는 모델 스위칭 시스템의 예시적인 흐름을 예시한다.
도 4는 하나 이상의 실시예에 따른 유전체 분석 디바이스 상에 변이 분석 모델의 버전을 설치하는 모델 스위칭 시스템의 예시적인 흐름을 예시한다.
도 5는 하나 이상의 실시예에 따른 상이한 워크플로우 포드에 대한 변이 분석 모델의 상이한 버전을 설치하는 모델 스위칭 시스템의 예시적인 흐름을 예시한다.
도 6은 하나 이상의 실시예에 따른 전체 서열분석 환경과 관련된 모델 스위칭 시스템의 예시적인 아키텍처 다이어그램을 예시한다.
도 7은 하나 이상의 실시예에 따른 유전체 분석 애플리케이션을 실행하기 위한 변이 분석 모델의 표시된 버전을 식별하고 설치하기 위한 일련의 행위의 흐름도를 예시한다.
도 8은 본 개시내용의 하나 이상의 실시예를 구현하기 위한 예시적인 컴퓨팅 디바이스의 블록도를 예시한다.
도 9는 하나 이상의 실시예에 따른 이미지 기반 유전체 서열분석을 위한 예시적인 광학 시스템의 블록도를 예시한다.
도 10은 하나 이상의 실시예에 따른 이미지 기반 유전체 서열분석을 위한 예시적인 이미저(imager)를 예시한다.
도 11은 하나 이상의 실시예에 따른 이미지 기반 유전체 서열분석을 수행하기 위한 예시적인 다이어그램을 예시한다.
For detailed explanation, please refer to the drawings briefly explained below.
FIG. 1 illustrates a block diagram of a system environment including a model switching system according to one or more embodiments.
FIG. 2 illustrates an overview of a model switching system that identifies and installs a displayed version of a variant analysis model for executing a genome analysis application according to one or more embodiments.
FIG. 3 illustrates an exemplary flow of a model switching system that installs a displayed version of a mutation analysis model utilizing a container orchestration engine according to one or more embodiments.
FIG. 4 illustrates an exemplary flow of a model switching system for installing versions of a mutation analysis model on a genome analysis device according to one or more embodiments.
FIG. 5 illustrates an exemplary flow of a model switching system for installing different versions of a mutation analysis model for different workflow pods according to one or more embodiments.
FIG. 6 illustrates an exemplary architecture diagram of a model switching system associated with an overall sequence analysis environment according to one or more embodiments.
FIG. 7 illustrates a flowchart of a series of actions for identifying and installing a displayed version of a variant analysis model for executing a genome analysis application according to one or more embodiments.
FIG. 8 illustrates a block diagram of an exemplary computing device for implementing one or more embodiments of the present disclosure.
FIG. 9 illustrates a block diagram of an exemplary optical system for image-based genome sequencing according to one or more embodiments.
FIG. 10 illustrates an exemplary imager for image-based genome sequencing according to one or more embodiments.
FIG. 11 illustrates an exemplary diagram for performing image-based genome sequencing according to one or more embodiments.

본 개시내용은 유전체 분석 애플리케이션에 의해 요구되거나 달리 표시된 변이 분석 모델의 표시된 버전을 설치함으로써 유전체 분석 디바이스를 업데이트하는 모델 스위칭 시스템의 실시예를 설명한다. 실제 시나리오에서, 유전체 분석 애플리케이션은 종종 서열분석, 2차 분석 및/또는 3차 분석 기능을 실행하기 위해 필드 프로그래머블 게이트 어레이(FPGA) 또는 중앙 처리 장치(CPU)와 같은 유전체 분석 디바이스와의 조정 또는 그에 대한 동작을 필요로 한다. 결과적으로, 유전체 분석 애플리케이션은 종종 유전체 분석 디바이스 상에 설치된 변이 분석 모델의 특정 기능을 요구하거나 호출하는데, 여기서 변이 분석 모델의 특정(예를 들어, 더 오래되거나 더 새로운) 버전은 상이한 기능(및 기존 기능에 대한 상이한 수정)을 포함한다. 따라서, 모델 스위칭 시스템은 변이 분석 모델의 표시된 버전(예를 들어, 유전체 분석 애플리케이션을 실행하는 데 필요한 버전)을 결정하기 위해 유전체 분석 애플리케이션에 대한 파라미터를 정의하는 애플리케이션 사양(예를 들어, 워크플로우 포드 사양)을 분석할 수 있다.The present disclosure describes an embodiment of a model switching system that updates a genome analysis device by installing a indicated version of a variant analysis model that is required or otherwise indicated by a genome analysis application. In a practical scenario, a genome analysis application often requires coordination with or operation of a genome analysis device, such as a field programmable gate array (FPGA) or a central processing unit (CPU), to perform sequence analysis, secondary analysis, and/or tertiary analysis functions. As a result, a genome analysis application often requires or calls upon specific functionality of a variant analysis model installed on the genome analysis device, where specific (e.g., older or newer) versions of the variant analysis model include different functionality (and different modifications to existing functionality). Accordingly, the model switching system may analyze an application specification (e.g., a workflow pod specification) that defines parameters for the genome analysis application to determine a indicated version of the variant analysis model (e.g., a version required to execute the genome analysis application).

변이 분석 모델의 표시된 버전을 결정하는 것에 기초하여, 모델 스위칭 시스템은 표시된 버전을 유전체 분석 디바이스에 추가로 설치할 수 있다. 일부 경우에서, 모델 스위칭 시스템은 변이 분석 모델의 이전에 설치된 버전을 대체하는 반면, 다른 경우에 모델 스위칭 시스템은 하나 이상의 이전에 설치된 버전에 추가하여 표시된 버전을 설치한다. 모델 스위칭 시스템은 변이 분석 모델의 표시된 버전을 활용하여 뉴클레오티드 염기 호출을 분석하기 위해 유전체 분석 애플리케이션을 추가로 실행할 수 있다.Based on determining the indicated version of the variant analysis model, the model switching system can additionally install the indicated version on the genome analysis device. In some cases, the model switching system replaces a previously installed version of the variant analysis model, while in other cases, the model switching system installs the indicated version in addition to one or more previously installed versions. The model switching system can additionally execute a genome analysis application to analyze nucleotide base calling utilizing the indicated version of the variant analysis model.

방금 언급한 바와 같이, 특정 구현예에서, 모델 스위칭 시스템은 샘플 뉴클레오티드 서열에 대해 결정된 뉴클레오티드 염기 호출을 분석하기 위한 유전체 분석 애플리케이션을 식별한다. 예를 들어, 모델 스위칭 시스템은 특정 진단(예를 들어, 유전적 상태에 대한 마커를 검출하기 위해) 또는 일부 다른 서열분석 작업 또는 2차 분석 또는 뉴클레오티드 염기 호출에 대한 3차 분석을 수행하는 유전체 분석 애플리케이션을 식별한다. 또한, 모델 스위칭 시스템은 유전체 분석 애플리케이션을 실행하기 위한 변이 분석 모델의 표시된 버전을 포함하는 유전체 분석 애플리케이션에 대한 호환성 요건을 결정할 수 있다. 예를 들어, 모델 스위칭 시스템은 유전체 분석 애플리케이션의 하나 이상의 기능을 수행하는 데 필요한 변이 분석 모델의 표시된 버전을 포함하여, 유전체 분석 애플리케이션에 대한 파라미터를 정의하는 애플리케이션 사양(예를 들어, 워크플로우 포드 사양)을 분석한다.As just mentioned, in certain implementations, the model switching system identifies a genomic analysis application for analyzing nucleotide base calls determined for a sample nucleotide sequence. For example, the model switching system identifies a genomic analysis application that performs a particular diagnosis (e.g., to detect markers for a genetic condition) or some other sequence analysis task or secondary analysis or tertiary analysis of nucleotide base calls. Additionally, the model switching system can determine compatibility requirements for the genomic analysis application that include a indicated version of a variant analysis model for executing the genomic analysis application. For example, the model switching system analyzes an application specification (e.g., a workflow pod specification) that defines parameters for the genomic analysis application, including an indicated version of a variant analysis model that is necessary to perform one or more functions of the genomic analysis application.

변이 분석 모델의 표시된 버전을 결정하는 것에 기초하여, 모델 스위칭 시스템은 변이 분석 모델 및/또는 유전체 분석 애플리케이션의 다양한 구성요소 또는 기능을 구현하는 FPGA 또는 CPU와 같은 유전체 분석 디바이스 상에 표시된 버전을 추가로 설치할 수 있다. 예를 들어, 모델 스위칭 시스템은 유전체 분석 애플리케이션과 호환되도록 변이 분석 모델의 표시된 버전을 설치하기 위해 유전체 분석 디바이스를 업데이트할 수 있다. 일부 실시예에서, 유전체 분석 디바이스는 한 번에 설치된 변이 분석 모델의 단일 버전만을 실행하도록 구성될 수 있다(예를 들어, 유전체 분석 디바이스는 프로그래밍에 따라서만 동작할 수 있는 하드웨어를 갖춘 FPGA인 경우). 따라서, 이러한 또는 다른 실시예에서, 모델 스위칭 시스템은 이전에 설치된 버전을 대체하기 위해 변이 분석 모델의 표시된 버전을 설치할 수 있다. 특정 실시예에서, 유전체 분석 디바이스는 한 번에 다수의 버전의 변이 분석 모델을 포함할 수 있어서, 모델 스위칭 시스템은 유전체 분석 디바이스 상에 하나 이상의 이전에 설치된 버전을 유지하면서 특정 유전체 분석 애플리케이션에 대해 표시된 버전을 설치할 수 있다.Based on determining the indicated version of the variant analysis model, the model switching system can additionally install the indicated version on a genome analysis device, such as an FPGA or CPU, that implements various components or functions of the variant analysis model and/or the genome analysis application. For example, the model switching system can update the genome analysis device to install the indicated version of the variant analysis model so that it is compatible with the genome analysis application. In some embodiments, the genome analysis device can be configured to execute only a single version of the installed variant analysis model at a time (e.g., if the genome analysis device is an FPGA with hardware that can only operate according to programming). Accordingly, in these or other embodiments, the model switching system can install the indicated version of the variant analysis model to replace a previously installed version. In certain embodiments, the genome analysis device can include multiple versions of the variant analysis model at a time, such that the model switching system can install the indicated version for a particular genome analysis application while maintaining one or more previously installed versions on the genome analysis device.

위에서 추가로 언급된 바와 같이, 모델 스위칭 시스템은 또한 유전체 분석 애플리케이션을 실행할 수 있다. 특히, 모델 스위칭 시스템은 샘플 뉴클레오티드 서열에 대한 뉴클레오티드 염기 호출에 대해 특정 진단 또는 일부 다른 분석을 수행하기 위해 유전체 분석 애플리케이션을 실행할 수 있다. 유전체 분석 애플리케이션을 실행하기 위해, 모델 스위칭 시스템은 유전체 분석 디바이스 상에 설치된 변이 분석 모델의 표시된 버전을 활용할 수 있다. 실제로, 일부 경우에서, 모델 스위칭 시스템은 유전체 분석 디바이스(변이 분석 모델의 표시된 버전과 함께)를 활용하여 유전체 분석 애플리케이션의 하나 이상의 기능을 실행하고/하거나 변이 분석 모델의 표시된 버전에 의해 생성된 특정 포맷의 데이터(예를 들어, 뉴클레오티드 염기 호출과 같은 서열분석 데이터)를 활용하는 하나 이상의 기능을 실행한다.As further noted above, the model switching system can also execute a genome analysis application. In particular, the model switching system can execute a genome analysis application to perform certain diagnostics or some other analysis on nucleotide base calls for a sample nucleotide sequence. To execute the genome analysis application, the model switching system can utilize a displayed version of a variant analysis model installed on the genome analysis device. Indeed, in some cases, the model switching system utilizes the genome analysis device (along with the displayed version of the variant analysis model) to execute one or more functions of the genome analysis application and/or to execute one or more functions that utilize data in a particular format generated by the displayed version of the variant analysis model (e.g., sequence analysis data, such as nucleotide base calls).

위에서 제안된 바와 같이, 모델 스위칭 시스템의 실시예는 기존 서열분석 시스템에 비해 여러 장점, 이익, 및/또는 개선을 제공한다. 예를 들어, 일부 실시예에서, 모델 스위칭 시스템은 기존 서열분석 시스템에서 발견되지 않은 새로운 기능을 활용하거나 구현한다. 구체적으로, 모델 스위칭 시스템은 개별 유전체 분석 애플리케이션 또는 워크플로우 포드와 관련된 변이 분석 모델의 표시된 버전을 자동으로 식별하고 설치할 수 있다. 대조적으로, 기존 서열분석 시스템은 변이 분석 모델의 상이한 버전이 필요한 애플리케이션에 자동으로 적응할 수 없다. 실제로, 일부 기존의 서열분석 시스템은 그 대신 클라이언트 디바이스가 변이 분석 모델의 버전을 변경하거나 업데이트하기 위해 컴퓨터 코드 명령줄을 입력할 것을 요구한다. 이러한 명령은 종종 루트 액세스를 필요로 하는데, 이는 많은 클라이언트 디바이스 또는 최종 사용자에게는 변이 분석 모델에 대해 갖고 있지 않다.As suggested above, embodiments of the model switching system provide several advantages, benefits, and/or improvements over existing sequence analysis systems. For example, in some embodiments, the model switching system utilizes or implements novel functionality not found in existing sequence analysis systems. Specifically, the model switching system can automatically identify and install indicated versions of variant analysis models associated with individual genome analysis applications or workflow pods. In contrast, existing sequence analysis systems cannot automatically adapt to applications that require different versions of variant analysis models. In fact, some existing sequence analysis systems instead require client devices to enter computer code command lines to change or update versions of variant analysis models. Such commands often require root access, which many client devices or end users do not have with respect to the variant analysis models.

기존의 서열분석 시스템에서 발견되지 않는 이러한 새로운 기능을 활용하여, 일부 실시예에서, 모델 스위칭 시스템은 많은 기존의 서열분석 시스템보다 더 유연하다. 많은 기존 시스템은 유전체 분석 모델의 특정 버전으로 제한되고 새로운 또는 상이한 버전을 설치하도록 자동으로 조정할 수 없지만, 모델 스위칭 시스템은 유전체 분석 디바이스 상에 설치된 변이 분석 모델의 버전(예를 들어, 애플리케이션별 기반으로)을 자동으로 업데이트할 수 있다. 실제로, 모델 스위칭 시스템은 유전체 분석 애플리케이션을 실행하기 위한 유전체 분석 디바이스의 하드웨어 및/또는 소프트웨어 구성요소를 업데이트하기 위한 더 큰 적응성을 용이하게 하는 컨테이너 조정 엔진을 포함하는 유연한 아키텍처를 활용한다. 그 결과, 모델 스위칭 시스템은 그들의 변이 분석 모델 또는 이러한 변이 분석 모델을 실행하는 컴퓨팅 디바이스의 한계로 인해 특정 애플리케이션을 실행할 수 없는 기존의 서열분석 시스템에서 만연한 일부 호환성 문제를 추가로 방지하거나 극복할 수 있다.By leveraging these new capabilities not found in existing sequence analysis systems, in some embodiments the model switching system is more flexible than many existing sequence analysis systems. While many existing systems are limited to a particular version of a genome analysis model and cannot automatically adapt to install new or different versions, the model switching system can automatically update the version of a variant analysis model installed on a genome analysis device (e.g., on an application-by-application basis). In fact, the model switching system utilizes a flexible architecture that includes a container orchestration engine that facilitates greater adaptability to update hardware and/or software components of a genome analysis device for executing genome analysis applications. As a result, the model switching system can further avoid or overcome some of the compatibility issues prevalent in existing sequence analysis systems that are unable to execute certain applications due to limitations in their variant analysis models or the computing devices that execute such variant analysis models.

모델 스위칭 시스템은 상이한 유전체 분석 애플리케이션에 적응하는 데 있어 향상된 유연성을 더욱 나타낼 수 있다. 자세히 설명하자면, 모델 스위칭 시스템은 순차적으로 실행될 각자의 애플리케이션(또는 워크플로우 포드)에 의해 표시된 변이 분석 모델의 애플리케이션별(또는 포드별) 버전을 결정할 수 있다. 모델 스위칭 시스템은 설치와 관련된 사용자 입력이 필요 없는 자동화된 프로세스를 반복적으로 추가로 수행할 수 있으며, i) 각각의 애플리케이션(또는 워크플로우 포드)에 대한 변이 분석 모델의 표시된 버전을 결정하고, ii) 특정 애플리케이션(또는 워크플로우 포드)에 대한 표시된 버전으로 설치하고, iii) 표시된 버전을 활용하여 애플리케이션을 실행하고, iv) 후속 애플리케이션(또는 워크플로우 포드)에 대해 단계 i) 내지 단계 iii)의 프로세스를 반복하고, 필요에 따라 유전체 분석 디바이스 상의 변이 분석 모델의 버전을 업데이트할 수 있다.The model switching system may further exhibit enhanced flexibility in adapting to different genome analysis applications. Specifically, the model switching system may determine an application-specific (or pod-specific) version of a variant analysis model indicated by each application (or workflow pod) to be sequentially executed. The model switching system may further repeatedly perform an automated process that does not require any user input regarding installation, i) determining an indicated version of a variant analysis model for each application (or workflow pod), ii) installing the indicated version for a particular application (or workflow pod), iii) executing the application utilizing the indicated version, iv) repeating the process of steps i) through iii) for subsequent applications (or workflow pods), and updating the version of the variant analysis model on the genome analysis device as needed.

증가된 유연성에 적어도 부분적으로 기인하여, 특정 실시예에서, 모델 스위칭 시스템은 기존의 서열분석 시스템에 비해 계산 효율성 및 속도를 또한 향상시킨다. 예를 들어, 일부 기존 서열분석 시스템에 의해 요구되는 바와 같이 모델 아키텍처를 수정하거나 재훈련하는 데 프로세싱 파워 및 메모리와 같은 계산 자원을 낭비하기보다는, 모델 스위칭 시스템은 모델 버전의 신속하고 자동 업데이트 및 설치를 용이하게 하는 컨테이너 조정 엔진을 활용한다. 이러한 라인을 따라, 모델 스위칭 시스템은 모델 아키텍처를 지속적으로 수정하거나 재훈련할 필요성을 방지하거나 회피함으로써(또는 루트 액세스를 갖는 다른 당사자가 변이 분석 모델의 호환 가능한 버전을 설치하기 위한 업데이트를 수행하기를 대기함), 기존의 서열분석 시스템에 비해 속도를 더욱 향상시킨다. 실제로, 모델 스위칭 시스템은, 자동으로(예를 들어, 모델 버전을 결정하기 위한 특정 사용자 입력 없이) 그리고 변이 분석 모델의 표시된 버전을 매끄럽게 결정하고, 자동으로(예를 들어, 설치 또는 버전 스위칭을 위한 특정 사용자 입력 없이) 그리고 유전체 분석 디바이스 상에 표시된 버전을 매끄럽게 설치하는 데 있어서 빠른 성능을 나타낸다. 일부 구현에서, 식별하는 프로세스는At least in part due to the increased flexibility, in certain embodiments the model switching system also improves computational efficiency and speed over existing sequencing systems. For example, rather than wasting computational resources such as processing power and memory to modify or retrain model architectures as required by some existing sequencing systems, the model switching system utilizes a container orchestration engine that facilitates rapid and automatic updating and installation of model versions. Along these lines, the model switching system further improves speed over existing sequencing systems by avoiding or avoiding the need to continually modify or retrain model architectures (or waiting for another party with root access to perform an update to install a compatible version of the variant analysis model). In fact, the model switching system exhibits fast performance in automatically (e.g., without specific user input to determine the model version) and seamlessly determining a displayed version of a variant analysis model, and automatically (e.g., without specific user input to install or switch versions) and seamlessly installing the displayed version on a genome analysis device. In some implementations, the identifying process comprises:

전술한 논의에 의해 제시된 바와 같이, 본 개시내용은 다양한 용어를 활용하여 모델 스위칭 시스템의 특징 및 이점을 설명한다. 이하, 본 개시내용에서 사용되는 이러한 용어의 의미에 관해 추가적인 상세한 설명을 제공한다. 본 개시내용에서 사용되는 예를 들어 "샘플 뉴클레오티드 서열" 또는 "샘플 서열"이라는 용어는 샘플 유기체로부터 단리 또는 추출된 뉴클레오티드 서열(또는 이러한 단리 또는 추출된 서열의 복제본)을 지칭한다. 특히, 샘플 뉴클레오티드 서열은 샘플 유기체로부터 단리 또는 추출된 핵산 중합체(nucleic acid polymer)의 세그먼트를 포함하고, 질소성 이종 고리식 염기로 이루어진다. 예를 들어, 샘플 뉴클레오티드 서열은 데옥시리보핵산(DNA), 리보핵산(RNA), 또는 핵산의 다른 중합체 형태 또는 아래에 언급된 핵산의 키메라 또는 혼성 형태의 세그먼트를 포함할 수 있다. 보다 구체적으로, 일부 경우에서, 샘플 뉴클레오티드 서열은 키트에 의해 제조되거나 단리되고 서열분석 디바이스에 의해 수용된 샘플에서 발견된다.As indicated by the foregoing discussion, the present disclosure utilizes various terms to describe the features and advantages of the model switching system. The following provides additional details regarding the meaning of such terms as used in the present disclosure. For example, the terms "sample nucleotide sequence" or "sample sequence" as used in the present disclosure refer to a nucleotide sequence (or a copy of such an isolated or extracted sequence) isolated or extracted from a sample organism. In particular, the sample nucleotide sequence comprises a segment of a nucleic acid polymer isolated or extracted from a sample organism, and is comprised of nitrogenous heterocyclic bases. For example, the sample nucleotide sequence may comprise segments of deoxyribonucleic acid (DNA), ribonucleic acid (RNA), or other polymeric forms of nucleic acids, or chimeric or hybrid forms of the nucleic acids mentioned below. More specifically, in some cases, the sample nucleotide sequence is found in a sample prepared or isolated by the kit and received by the sequencing device.

본원에서 추가로 사용되는 용어 "서열분석 데이터"는 하나 이상의 유전체 샘플에 대한 뉴클레오티드 서열에 관계된 데이터 또는 정보를 지칭한다. 예를 들어, 서열분석 데이터에는 서열분석 디바이스 및/또는 변이 분석 모델에 의해 생성된 데이터가 포함될 수 있다. 일부 경우에서, 서열분석 데이터에는 뉴클레오티드 리드, 뉴클레오티드 염기 호출, 및/또는 샘플 뉴클레오티드 서열과 연관된 서열분석 측정지표가 포함된다. 하나 이상의 실시예에서, 서열분석 데이터는 특정 뉴클레오티드 서열과 관련되며, 유전체 서열 프로세싱 디바이스에 의해 구현되는 변이 분석 모델을 포함하는 유전체 분석 플랫폼의 특허 방법 및 프로세스를 사용하여 생성된다.The term "sequencing data," as further used herein, refers to data or information relating to a nucleotide sequence for one or more genomic samples. For example, the sequence data may include data generated by a sequence analysis device and/or a variant analysis model. In some cases, the sequence data includes nucleotide reads, nucleotide base calls, and/or sequence metrics associated with the sample nucleotide sequence. In one or more embodiments, the sequence data is associated with a particular nucleotide sequence and is generated using the patented methods and processes of a genomic analysis platform that includes a variant analysis model implemented by a genomic sequence processing device.

이와 관련하여, 용어 "뉴클레오티드 염기 호출"(또는 때에 따라서는 간단히 "호출")이라는 용어는 서열분석 사이클 동안 샘플 유전체의 유전체 좌표 또는 올리고뉴클레오티드에 대한 특정한 뉴클레오티드 염기(또는 뉴클레오티드 염기쌍)의 결정 또는 예측을 지칭한다. 특히, 뉴클레오티드 염기 호출은 (i) 뉴클레오티드-샘플 슬라이드 상의 올리고뉴클레오티드 내에 혼입된 뉴클레오티드 염기의 유형의 결정 또는 예측(예를 들어, 리드-기반 뉴클레오티드 염기 호출), 또는 (ii) 디지털 출력 파일 내의 변이 호출 또는 비변이 호출을 포함하는, 샘플 유전체 내의 유전체 좌표 또는 영역에 존재하는 뉴클레오티드 염기의 유형의 결정 또는 예측을 나타낼 수 있다. 일부 경우에서, 뉴클레오티드 리드에 대해, 뉴클레오티드 염기 호출은 (예를 들어, 플로우 셀의 웰 내) 뉴클레오티드-샘플 슬라이드의 올리고뉴클레오티드에 첨가된 형광 태깅된 뉴클레오티드로부터 기인하는 강도 값에 기초한 뉴클레오티드 염기의 결정 또는 예측을 포함한다. 대안적으로, 뉴클레오티드 염기 호출은 뉴클레오티드-샘플 슬라이드의 나노기공을 통과하는 뉴클레오티드로 인해 발생하는 크로마토그램 피크 또는 전류 변화에 대한 뉴클레오티드 염기의 결정 또는 예측을 포함한다. 이와 대조적으로, 뉴클레오티드 염기 호출은 ― 유전체 좌표에 상응하는 뉴클레오티드 리드에 기초한 ― 변이 호출 파일 또는 기타 염기 호출 출력 파일에 대한 샘플 유전체의 유전체 좌표에서의 뉴클레오티드 염기의 초기 또는 최종 예측을 또한 포함할 수 있다. 이에 따라, 뉴클레오티드 염기 호출은 유전체 좌표에 해당하는 염기 호출 및 기준 유전체에 해당하는 특정 위치에서의 변이 또는 비변이의 표시와 같은 기준 유전체를 포함할 수 있다. 실제로, 뉴클레오티드 염기 호출은 변이 호출을 지칭할 수 있으며, 이는 단일 뉴클레오티드 다형성(SNP), 삽입 또는 결실(삽입-결실), 또는 구조적 변이의 일부인 염기 호출을 포함하나, 이에 제한되지 않는다. 뉴클레오티드 염기 호출을 사용함으로써 서열분석 시스템은 핵산 중합체의 서열을 결정한다. 예를 들어, 단일 뉴클레오티드 염기 호출은 DNA에 대한 아데닌 호출, 시토신 호출, 구아닌 호출, 또는 티민 호출(A, C, G, T로 약칭), 또는 RNA에 대한 (티민 호출 대신) 우라실 호출(U로 약칭)을 포함할 수 있다.In this context, 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 a type of nucleotide base incorporated into an oligonucleotide on a nucleotide-sample slide (e.g., a read-based nucleotide base call), or (ii) a determination or prediction of a type of nucleotide base present at a genomic coordinate or region within a sample genome, including a variant call or non-variant call within a digital output file. In some cases, for a nucleotide read, a nucleotide base call comprises the determination or prediction of a nucleotide base based on intensity values resulting from fluorescently tagged nucleotides added to an oligonucleotide of a nucleotide-sample slide (e.g., within a well of a flow cell). Alternatively, nucleotide base calling comprises the determination or prediction of a nucleotide base for a chromatogram peak or current change resulting from a nucleotide passing through a nanopore of a nucleotide-sample slide. In contrast, nucleotide base calling may also comprise 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 nucleotide reads corresponding to the genomic coordinates. Accordingly, a nucleotide base call may include a reference genome, such as a base call corresponding to the genomic coordinates and an indication of a variant or non-variant at a particular position corresponding to the reference genome. In practice, a nucleotide base call may 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 (insertion-deletion), or a structural variation. By using the nucleotide base call, the sequence analysis system determines the sequence of the nucleic acid polymer. For example, a single nucleotide base call may include an adenine call, a cytosine call, a guanine call, or a thymine call (abbreviated A, C, G, T) for DNA, or a uracil call (abbreviated U) (instead of a thymine call) for RNA.

본원에서 사용되는 용어 "서열분석 측정지표(sequencing metric)"라는 용어는 기준 유전체의 유전체 좌표 또는 유전체 영역에 대해, 뉴클레오티드 리드로부터의 뉴클레오티드 염기 호출에 대해, 또는 유전체 서열분석 또는 유전체 구조에 대해, 개별 뉴클레오티드 염기 호출(또는 뉴클레오티드 염기 호출 서열)이 정렬, 비교, 또는 정량되는 정도를 나타내는 정량적 척도 또는 점수를 지칭한다. 예를 들어, 서열분석 측정지표는 (i) 개별 뉴클레오티드 염기 호출이 기준 유전체의 유전체 좌표 또는 기준 염기를 정렬, 지도화, 또는 커버; (ii) 뉴클레오티드 염기 호출은 지도화, 불일치, 염기 호출 품질, 또는 기타 원시 서열분석 측정지표의 관점에서 기준 또는 대체 뉴클레오티드 리드와 비교; 또는 (iii) 뉴클레오티드 염기 호출에 대응하는 유전체 좌표 또는 영역이 지도화 가능성, 반복적 염기 호출 내용, DNA 구조, 또는 기타 일반화된 측정지표의 정도를 나타내는 정량적 척도 또는 점수를 포함한다.The term "sequencing metric" as used herein refers to a quantitative measure or score that indicates the extent to which an individual nucleotide base call (or a sequence of nucleotide base calls) aligns, compares, or quantifies to a genomic coordinate or genomic region of a reference genome, to a nucleotide base call from a nucleotide read, or to a genome sequence or genome structure. For example, a sequencing metric includes a quantitative measure or score that indicates the extent to which (i) an individual nucleotide base call aligns, maps, or covers a genomic coordinate or a reference base of a reference genome; (ii) a nucleotide base call compares to a reference or alternate nucleotide read in terms of mapping, mismatch, base call quality, or other raw sequencing metrics; or (iii) the extent to which a genomic coordinate or region corresponding to a nucleotide base call has mappability, repetitive base call content, DNA structure, or other generalized metrics.

이와 관련하여, 본원에서 사용되는 용어 "뉴클레오티드 리드"(또는 때에 따라서는 간단히 "리드")는 샘플 뉴클레오티드 서열의 전부 또는 일부로부터의 하나 이상의 뉴클레오티드 염기(또는 뉴클레오티드 염기쌍)의 추론되는 서열을 지칭한다. 특히, 뉴클레오티드 리드는 유전체 샘플에 상응하는 서열분석 라이브러리로부터 뉴클레오티드 단편(또는 단일 클론 뉴클레오티드 단편의 그룹)에 대한 뉴클레오티드 염기 호출의 결정 또는 예측된 서열을 포함한다. 예를 들어, 모델 스위칭 시스템은 뉴클레오티드-샘플 슬라이드의 나노기공을 통과한, 또는 형광 태깅을 통해 결정된, 또는 플로우 셀의 웰로부터 결정된 뉴클레오티드 염기에 대한 뉴클레오티드 염기 호출을 생성함으로써 뉴클레오티드 리드를 결정한다.In this context, the term "nucleotide read" (or sometimes simply "read"), as used herein, refers to an inferred 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 comprises a determined or predicted sequence of a nucleotide base call for a nucleotide fragment (or group of single clone nucleotide fragments) from a sequence analysis library corresponding to a genomic sample. For example, a model switching system determines a nucleotide read by generating nucleotide base calls for nucleotide bases that have passed through nanopores in a nucleotide-sample slide, or that have been determined via fluorescent tagging, or that have been determined from a well in a flow cell.

언급된 바와 같이, 일부 구현예에서, 모델 스위칭 시스템은 유전체 좌표에 대한 뉴클레오티드 염기 호출을 생성하고/하거나 뉴클레오티드 염기 호출과 관련하여 다른 분석을 수행하기 위해 변이 분석 모델을 활용한다. 본원에서 사용되는 용어 "변이 분석 모델"은 샘플 뉴클레오티드 서열에 대한 데이터(예를 들어, 염기 호출 데이터)를 분석하기 위한 알고리즘 또는 알고리즘 세트를 포함하는 모델을 지칭한다. 일부 경우에서, 변이 분석 모델은 뉴클레오티드 염기 호출(예를 들어, 변이 호출) 및 관련 측정지표(예를 들어, 염기 호출 품질 측정지표)를 포함하여 샘플 뉴클레오티드 서열의 뉴클레오티드 리드로부터 서열분석 데이터를 생성하는 확률 모델이다. 예를 들어, 일부 경우에서, 변이 분석 모델은 샘플 뉴클레오티드 서열의 뉴클레오티드 리드에 기초하여 변이 호출을 생성하는 베이지안(Bayesian) 확률 모델을 지칭한다. 이러한 모델에는 샘플의 뉴클레오티드 리드를 기준 유전체와 정렬하기 위해, 기준 유전체에 대하여 정렬된 뉴클레오티드 리드에 기초하여 샘플의 유전적 변이를 결정하기 위해, 그리고 품질 측정지표, 대립 유전자 빈도 측정지표, 또는 기타 서열분석 측정지표 중 하나 이상을 결정하기 위해 변이 호출 소프트웨어를 실행하는 서버에 의해 수행되는 2차 분석 모델이 포함될 수 있다. 변이 분석 모델은 마찬가지로 지도화 및 정렬, 분류(sorting), 중복 마킹, 리드 파일업 깊이 컴퓨팅, 및 변이 호출을 위한 다양한 소프트웨어 애플리케이션 또는 구성요소들 포함하지만 이에 국한되지 않는 복수의 구성요소를 포함할 수 있다. 일부 경우에서, 변이 분석 모델은 변이 호출 기능 및 지도화 및 정렬 기능을 위한 ILLUMINA DRAGEN 모델을 지칭한다.As noted, in some implementations, the model switching system utilizes a variant analysis model to generate nucleotide base calls for genomic coordinates and/or perform other analyses with respect to the nucleotide base calls. The term "variant analysis model," as used herein, refers to a model that includes an algorithm or set of algorithms for analyzing data about a sample nucleotide sequence (e.g., base call data). In some cases, the variant analysis model is a probabilistic model that generates sequence analysis 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 probabilistic model that generates variant calls based on nucleotide reads of a sample nucleotide sequence. Such models may include a secondary analysis model performed by a server running variant calling software to align nucleotide reads of the sample to a reference genome, to determine genetic variation in the sample based on the aligned nucleotide reads to the reference genome, and to determine one or more of a quality metric, an allele frequency metric, or other sequence analysis metrics. The variant analysis model may similarly include a plurality of components including, but not limited to, various software applications or components for mapping and alignment, sorting, duplicate marking, read pileup depth computing, and variant calling. In some cases, the variant analysis model refers to an ILLUMINA DRAGEN model for variant calling functionality and a mapping and alignment functionality.

언급된 바와 같이, 일부 실시예에서, 모델 스위칭 시스템은 유전체 분석 애플리케이션의 실행을 조정하는 데 컨테이너 조정 엔진을 활용한다. 본원에서 사용되는 용어 "컨테이너 조정 엔진"은 컨테이너화된 소프트웨어 서비스 및 애플리케이션의 배포, 스케일링, 및 관리를 자동화하기 위한 소프트웨어 엔진 또는 플랫폼을 지칭한다. 예를 들어, 컨테이너 조정 엔진은 개별 워크플로우 컨테이너를 유전체 분석 애플리케이션(예를 들어, 서열분석 진단 워크플로우)의 일부로서 실행하는 마이크로서비스 아키텍처를 갖는 소프트웨어 애플리케이션을 포함할 수 있다. 컨테이너 조정 엔진은, 조각별로 구획화될 수 있고 워크플로우에 추가 또는 그로부터 제거될 수 있는 개별 기능(예를 들어, 컨테이너화된 작업)을 수행하기 위해 각 컨테이너를 별도로 처리할 수 있다.As noted, in some embodiments, the model switching system utilizes a container orchestration engine to orchestrate execution of the genome analysis application. The term "container orchestration engine" as used herein refers to a software engine or platform for automating the deployment, scaling, and management of containerized software services and applications. For example, the container orchestration engine may comprise a software application having a microservices architecture that executes individual workflow containers as part of a genome analysis application (e.g., a sequence analysis diagnostic workflow). The container orchestration engine may process each container separately to perform individual functions (e.g., containerized jobs) that may be compartmentalized into pieces and added to or removed from the workflow.

이와 관련하여, "워크플로우 컨테이너"(또는 때에 따라서는 간단히 "컨테이너")라는 용어는 휴대 가능한 배포를 위해 코드(및 이의 모든 종속 항목)를 패키지화하는 소프트웨어의 단위를 지칭한다. 예를 들어, 워크플로우 컨테이너에는 특정 기능이나 작업을 수행하는 구획화되거나 컨테이너화된 조작 가능하고 이동 가능하며 실행 가능한 코드 본체가 포함된다. 일부 경우에서, 워크플로우 컨테이너는, 예를 들어, 서열분석 데이터 조각에서 특정 출력(예를 들어, 다른 컨테이너로 공급되는 최종 출력 또는 중간 출력)을 생성하도록 하는, 기능이나 작업(예를 들어, 프로세스 또는 스레드)을 수행하도록 실행 가능하다. 모델 스위칭 시스템은 워크플로우 컨테이너를 개별적으로 처리하여, 일부 컨테이너를 다른 컨테이너와 다르게 격리하여서, 서열분석 데이터로의 액세스를 (예를 들어, 하나 이상의 워크플로우 데이터 소스 내에서) 특정되고 맞춤화된 방식으로 허용하고/하거나 방지할 수 있다. 일부 경우에서, 컨테이너는 NEXTFLOW 컨테이너 및/또는 KUBERNETES 컨테이너를 지칭한다.In this context, the term "workflow container" (or sometimes simply "container") refers to a unit of software that packages code (and all of its dependencies) for portable distribution. For example, a workflow container includes a compartmentalized or containerized body of operable, portable, and executable 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) that, for example, produces a particular output (e.g., a final output or an intermediate output that is fed to another container) from a piece of sequence analysis data. The model switching system may treat workflow containers individually, isolating some containers differently from others to allow and/or prevent access to sequence analysis data (e.g., within one or more workflow data sources) in a specific and customized manner. In some cases, a container refers to a NEXTFLOW container and/or a KUBERNETES container.

이와 관련하여, 용어 "워크플로우 포드"는 하나 이상의 워크플로우 컨테이너의 그룹을 포함하는 컨테이너 조정 엔진 내의 배포 가능한 소프트웨어의 유닛을 지칭할 수 있다. 일부 경우에서, 워크플로우 포드는 컨테이너 조정 엔진이 실행할 수 있는 소프트웨어의 최소 배포 가능 유닛 또는 단위(denomination)이다. 워크플로우 포드 내에서, 구성 컨테이너는 저장장치 위치 및 프로세싱 디바이스(예를 들어, 유전체 분석 디바이스)와 같은 공통 네트워크 및/또는 공통 컴퓨팅 자원을 공유할 수 있다. 일부 경우에서, 워크플로우 포드는 유전체 분석 애플리케이션의 일부이다.In this regard, the term "workflow pod" may refer to a unit of deployable software within a container orchestration engine that comprises a group of one or more workflow containers. In some cases, a workflow pod is the smallest deployable unit or denomination of software that a container orchestration engine can execute. Within a workflow pod, the constituent containers may share common network and/or common compute resources, such as storage locations and processing devices (e.g., genome analysis devices). In some cases, a workflow pod is part of a genome analysis application.

언급된 바와 같이, 일부 실시예에서, 모델 스위칭 시스템은 유전체 분석 애플리케이션을 실행하기 위한 변이 분석 모델의 표시된 버전을 결정한다. 본원에서 사용되는 용어 "유전체 분석 애플리케이션"은 모델 스위칭 시스템에 의해 배포될 수 있는 맞춤형 워크플로우 콘텐츠 패키지를 지칭할 수 있으며, 이는 워크플로우 정의, 컨테이너화된 작업, 맞춤형 사용자 인터페이스, 맞춤형 마이크로서비스, 및/또는 기준 데이터를 포함한다. 유전체 분석 애플리케이션은 샘플 뉴클레오티드 서열에 대한 서열분석 데이터로부터 진단 출력의 세트를 생성하기 위해 함께 조직되고 조정된 작업 또는 기능의 모음 또는 워크플로우를 포함하거나 정의할 수 있다. 예를 들어, 유전체 분석 애플리케이션의 워크플로우는 2차 분석, 3차 분석, 맞춤형 QC 로직, 보고, 또는 기타 원하는 기능을 포함할 수 있는 다양한 기능을 제공하는 다양한 작업을 포함할 수 있다. 일부 경우에서, 여러 엔터티가 로컬(예를 들어, 에지 서버) 또는 클라우드에서 배포할 수 있는 단일 유전체 분석 애플리케이션을 개발할 수 있다. 유전체 분석 애플리케이션은 워크플로우 및 기타 애플리케이션 데이터를 정의하는 특정 구조나 파일 유형(예를 들어, 테이프 아카이브 또는 "TAR" 파일)을 가질 수 있다. 일부 실시예에서, 유전체 분석 애플리케이션은 인터넷과 완전히 단절된 시스템에 설치될 수 있는 단일 배치 가능한 유닛이다. 진정성과 유효성을 보장하기 위해 애플리케이션 패키지에 서명될 수 있다. 패키지는 UI 포털을 통해(예를 들어, 브라우저를 사용해서) 서버에 업로드될 수 있다.As noted, in some embodiments, the model switching system determines a displayed version of a variant analysis model for executing a genome analysis application. The term "genomic analysis application" as used herein may refer to a custom workflow content package that may be deployed by the model switching system, including workflow definitions, containerized jobs, custom user interfaces, custom microservices, and/or reference data. A genome analysis application may include or define a collection or workflow of jobs or functions that are organized and coordinated together to produce a set of diagnostic outputs from sequence analysis data for a sample nucleotide sequence. For example, a workflow of a genome analysis application may include various jobs that provide various functions, which may include secondary analysis, tertiary analysis, custom QC logic, reporting, or other desired functionality. In some cases, multiple entities may develop a single genome analysis application that may be deployed locally (e.g., on an edge server) or in the cloud. A genome analysis application may have a particular structure or file type (e.g., a tape archive or "TAR" file) that defines the workflow and other application data. In some embodiments, the genome analysis 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).

언급된 바와 같이, 일부 실시예에서, 모델 스위칭 시스템은 유전체 분석 디바이스 상에 변이 분석 모델의 표시된 버전을 설치한다. 본원에서 사용되는 용어 "유전체 분석 디바이스"는 뉴클레오티드 염기 호출과 같은 서열분석 데이터에 대한 분석을 수행하기 위해 변이 분석 모델 또는 유전체 분석 애플리케이션의 기능 또는 작업을 실행하는 프로세싱 디바이스를 지칭할 수 있다. 예를 들어, 유전체 분석 디바이스는 서열분석 데이터에 대한 진단 분석 또는 일부 다른 분석을 수행하기 위해 변이 분석 모델을 활용하여 유전체 분석 애플리케이션의 전부 또는 일부를 실행할 수 있다. 일부 경우에서, 유전체 분석 디바이스는 하드웨어 기술 언어(HDL)에 따라 기능을 실행하기 위한 프로그래밍가능 로직 블록의 어레이를 포함하는 FPGA와 같은 계산 하드웨어 디바이스를 포함할 수 있다. 다른 예로서, 유전체 분석 디바이스는 유전체 분석 애플리케이션과 같은 소프트웨어 애플리케이션 또는 프로그램을 구성하는 명령어를 실행하기 위한 프로그래밍가능 회로부를 포함할 수 있다. 일부 실시예에서, 유전체 분석 디바이스는 서열분석 디바이스 또는 기기와 분리된 서버 상에서 동작한다. 이들 또는 다른 실시예에서, 유전체 분석 디바이스는 서열분석 디바이스와 로컬 네트워크를 공유하는 서버 상에 수용된다.As noted, in some embodiments, the model switching system installs a displayed version of a variant analysis model on a genome analysis device. As used herein, the term "genomic analysis device" may refer to a processing device that executes functions or operations of a variant analysis model or a genome analysis application to perform analysis on sequence analysis data, such as nucleotide base calling. For example, the genome analysis device may execute all or part of a genome analysis application utilizing the variant analysis model to perform diagnostic analysis or some other analysis on the sequence analysis data. In some cases, the genome analysis device may include a computational hardware device, such as an FPGA, that includes an array of programmable logic blocks for executing functions according to a hardware description language (HDL). As another example, the genome analysis device may include programmable circuitry for executing instructions that constitute a software application or program, such as a genome analysis application. In some embodiments, the genome analysis device operates on a server separate from the sequence analysis device or instrument. In these or other embodiments, the genome analysis device is housed on a server that shares a local network with the sequence analysis device.

이하의 단락에서는 모델 스위칭 시스템을, 예시적인 실시예 및 구현예를 표현하는 예시적인 도면과 관련하여 설명한다. 예를 들어, 도 1은 하나 이상의 실시예에 따른 모델 스위칭 시스템(108)이 작동하는 시스템 환경(또는 "환경")(100)의 개략도를 예시한다. 예시된 바와 같이, 환경(100)은 네트워크(116)를 통해 클라이언트 디바이스(110), 원격(예를 들어, 클라우드) 서버 디바이스(들)(120), 및 서열분석 디바이스(114)에 연결된 하나 이상의 로컬 서버 디바이스(들)(102)를 포함한다. 도 1은 모델 스위칭 시스템(108)의 일 실시예를 보여주고 있지만, 본 개시내용은 대안적인 실시예 및 구성을 아래에서 설명한다.The following paragraphs describe the model switching system with reference to exemplary embodiments and exemplary drawings representing implementations. For example, FIG. 1 illustrates a schematic diagram of a system environment (or “environment”) (100) in which the model switching system (108) operates according to one or more embodiments. As illustrated, the environment (100) includes one or more local server device(s) (102) connected to a client device (110), a remote (e.g., cloud) server device(s) (120), and a sequence analysis device (114) via a network (116). While FIG. 1 illustrates one embodiment of the model switching system (108), the present disclosure describes alternative embodiments and configurations below.

도 1에 도시된 바와 같이, 로컬 서버 디바이스(들)(102), 클라이언트 디바이스(110), 서버 디바이스(들)(120), 및 서열분석 디바이스(114)는 네트워크(116)를 통해 서로 통신할 수 있다. 네트워크(116)는 컴퓨팅 디바이스가 통신할 수 있는 임의의 적합한 네트워크를 포함한다. 예시적인 네트워크는 도 8과 관련하여 아래에서 추가로 자세히 논의된다.As illustrated in FIG. 1, the local server device(s) (102), the client device (110), the server device(s) (120), and the sequence analysis device (114) may communicate with each other via a network (116). The network (116) includes any suitable network over which the computing devices can communicate. An exemplary network is discussed in further detail below with respect to FIG. 8.

도 1에 나타낸 바와 같이, 서열분석 디바이스(114)는 핵산 중합체를 서열분석하기 위한 디바이스를 포함한다. 일부 실시예에서, 서열분석 디바이스(114)는 샘플로부터 추출된 핵산 세그먼트 또는 올리고뉴클레오티드를 분석하여 서열분석 디바이스(114)에서 직접적으로 또는 간접적으로 (본원에 설명된) 컴퓨터로 구현된 방법 및 시스템을 활용하여 뉴클레오티드 리드 또는 기타 데이터를 생성한다. 보다 구체적으로, 서열분석 디바이스(114)는 뉴클레오티드-샘플 슬라이드(예를 들어, 플로우 셀) 내에서 샘플로부터 추출된 핵산 서열을 수신하여 분석한다. 하나 이상의 실시예에서, 서열분석 디바이스(114)는 합성에 의한 서열분석(SBS: sequencing-by-synthesis)을 활용하여 핵산 중합체를 뉴클레오티드 리드로 서열분석한다. 네트워크(116)를 통한 통신에 추가적으로 또는 대안적으로, 일부 실시예에서, 서열분석 디바이스(114)는 네트워크(116)를 우회하고 로컬 서버 디바이스(들)(102)(및/또는 클라이언트 디바이스(110))와 직접 통신한다. 실제로, 일부 실시예에서, 서열분석 디바이스(114)와 로컬 서버 디바이스(들)(102)는 점선 박스로 표시된 바와 같이 로컬 네트워크(예를 들어, 동일하거나 다른 서버에 수용됨)를 공유하는 반면, 클라이언트 디바이스(110)는 로컬 네트워크를 공유하는 대신에 네트워크(116)를 통해 통신한다.As illustrated in FIG. 1 , the sequencing device (114) comprises a device for sequencing a nucleic acid polymer. In some embodiments, the sequencing device (114) analyzes nucleic acid segments or oligonucleotides extracted from a sample to generate nucleotide reads or other data, either directly or indirectly using computer-implemented methods and systems (described herein) on the sequencing device (114). More specifically, the sequencing device (114) receives and analyzes nucleic acid sequences extracted from a sample within a nucleotide-sample slide (e.g., a flow cell). In one or more embodiments, the sequencing device (114) sequences the nucleic acid polymer into nucleotide reads using sequencing-by-synthesis (SBS). Additionally or alternatively to communicating over a network (116), in some embodiments, the sequencing device (114) bypasses the network (116) and communicates directly with local server device(s) (102) (and/or client device (110)). In fact, in some embodiments, the sequence analysis device (114) and the local server device(s) (102) share a local network (e.g., housed on the same or different servers) as indicated by the dashed box, while the client device (110) communicates over a network (116) instead of sharing a local network.

도 1에 추가로 표시된 바와 같이, 로컬 서버 디바이스(들)(102)는 뉴클레오티드 염기 호출을 결정하고 핵산 중합체를 서열분석하고/하거나 뉴클레오티드 서열을 분석(예를 들어, 진단 수행)하기 위한 유전체 분석 애플리케이션을 실행하기 위한 데이터와 같은 디지털 데이터를 생성, 수신, 분석, 저장, 및 전송할 수 있다. 도 1에 도시된 바와 같이, 서열분석 디바이스(114)는 서열분석 디바이스(114)로부터 호출 데이터를 전송할 수 있다(그리고 로컬 서버 디바이스(들)(102)는 호출 데이터를 수신할 수 있다). 로컬 서버 디바이스(들)(102)는 또한 클라이언트 디바이스(110)와 통신할 수 있다. 특히, 로컬 서버 디바이스(들)(102)는 변이 호출 파일 또는 뉴클레오티드 염기 호출을 나타내는 기타 정보, 서열분석 측정지표, 오류 데이터, 진단 정보, 또는 유전체 분석 애플리케이션 실행에 의해 생성된 결과를 포함하는 데이터를 클라이언트 디바이스(110)로 전송할 수 있다.As further illustrated in FIG. 1 , the local server device(s) (102) can generate, receive, analyze, store, and transmit digital data, such as data for determining nucleotide base calls, sequencing nucleic acid polymers, and/or executing a genome analysis application to analyze (e.g., perform diagnostics) a nucleotide sequence. As illustrated in FIG. 1 , the sequence analysis device (114) can transmit call data from the sequence analysis device (114) (and the local server device(s) (102) can receive the call data). The local server device(s) (102) can also communicate with the client device (110). In particular, the local server device(s) (102) can transmit data to the client device (110) that includes a variant call file or other information indicative of nucleotide base calls, sequence analysis metrics, error data, diagnostic information, or results generated by executing the genome analysis application.

일부 실시예에서, 서버 디바이스(들)(102)는 서열분석 디바이스(114)의 동일한 물리적 위치에 또는 그 근처에 위치하는 로컬 서버 디바이스를 포함한다. 실제로, 일부 실시예에서, 로컬 서버 디바이스(들)(102) 및 서열분석 디바이스(114) 주위에 점선으로 표시된 바와 같이, 서버 디바이스(들)(102)와 서열분석 디바이스(114)는 동일한 컴퓨팅 디바이스에 통합된다.In some embodiments, the server device(s) (102) comprises a local server device located at or near the same physical location as the sequence analysis device (114). Indeed, in some embodiments, the server device(s) (102) and the sequence analysis device (114) are integrated into the same computing device, as indicated by the dotted lines around the local server device(s) (102) and the sequence analysis device (114).

일부 실시예에서는, 로컬 서버 디바이스(들)(102)는 서열분석 디바이스(114)와 함께 로컬로 배치되기보다는, 분산된 서버의 집합을 포함하며, 여기서 로컬 서버 디바이스(들)(102)는 네트워크(116)에 걸쳐 분산되고 동일하거나 상이한 물리적 위치에 위치된 다수의 서버 디바이스를 포함한다. 제안된 바와 같이, 일부 경우에서, 로컬 서버 디바이스(들)(102)는 유전체 분석 플랫폼(104)을 수용한다. 또한, 로컬 서버 디바이스(들)(102)는 콘텐츠 서버, 애플리케이션 서버, 통신 서버, 웹 호스팅 서버, 또는 다른 유형의 서버를 포함할 수 있다.In some embodiments, the local server device(s) (102) comprises a set of distributed servers, rather than being located locally with the sequence analysis device (114), wherein the local server device(s) (102) comprises multiple server devices distributed across the network (116) and located at the same or different physical locations. As suggested, in some cases, the local server device(s) (102) houses the genome analysis platform (104). Additionally, the local server device(s) (102) may include a content server, an application server, a communication server, a web hosting server, or other types of servers.

도 1에 추가로 도시된 바와 같이, 로컬 서버 디바이스(들)(102)는 서열분석 데이터를 생성하고 분석하기 위한 유전체 분석 플랫폼(104)을 포함할 수 있다. 일반적으로, 유전체 분석 플랫폼(104)은 변이 분석 모델(107)을 수용하고 실행하는 FPGA 또는 CPU와 같은 유전체 분석 디바이스(106)를 포함한다. 실제로, 변이 분석 모델(107)은 핵산 중합체에 대한 뉴클레오티드 염기 서열을 결정하기 위해 서열분석 디바이스(114)로부터 수신된 뉴클레오티드 염기 호출 및/또는 서열분석 측정지표와 같은 서열분석 데이터를 생성 및/또는 분석할 수 있다. 예를 들어, 변이 분석 모델(107)은 서열분석 디바이스(114)로부터 원시 데이터를 수신하고 핵산 세그먼트에 대한 뉴클레오티드 염기 서열을 결정할 수 있다. 일부 실시예에서, 변이 분석 모델(107)은 DNA 및/또는 RNA 세그먼트 또는 올리고뉴클레오티드에서 뉴클레오티드 염기의 서열을 결정한다. 또한, 변이 분석 모델(107)은 핵산 중합체에 대한 서열을 처리 및 결정하는 것 외에, 하나 이상의 뉴클레오티드 염기 호출 및/또는 하나 이상의 유전체 좌표에 대한 변이 호출을 나타내는 변이 호출 파일도 생성한다.As further illustrated in FIG. 1, the local server device(s) (102) may include a genome analysis platform (104) for generating and analyzing sequence analysis data. Typically, the genome analysis platform (104) includes a genome analysis device (106), such as an FPGA or CPU, that receives and executes a variant analysis model (107). In practice, the variant analysis model (107) may generate and/or analyze sequence analysis data, such as nucleotide base calls and/or sequence analysis metrics received from the sequence analysis device (114), to determine a nucleotide base sequence for a nucleic acid polymer. For example, the variant analysis model (107) may receive raw data from the sequence analysis device (114) and determine a nucleotide base sequence for a nucleic acid segment. In some embodiments, the variant analysis model (107) determines a sequence of nucleotide bases in a DNA and/or RNA segment or an oligonucleotide. Additionally, in addition to processing and determining a sequence for a nucleic acid polymer, the variant analysis model (107) also generates a variant call file representing one or more nucleotide base calls and/or variant calls for one or more genomic coordinates.

또한, 하나 이상의 실시예에서, 유전체 분석 플랫폼(104)은 모델 스위칭 시스템(108)을 포함한다. 방금 언급한 바와 같이, 모델 스위칭 시스템(108)은 유전체 분석 디바이스(106) 상에 변이 분석 모델(107)의 버전을 결정하고 설치한다. 예를 들어, 모델 스위칭 시스템(108)은 변이 분석 모델(107)의 이전에 설치된 버전이 유전체 분석 애플리케이션과 호환되지 않는다고 결정하고, 호환가능한 버전을 포함하도록 유전체 분석 디바이스(106)를 업데이트한다. 일부 경우에서, 모델 스위칭 시스템(108)은 유전체 분석 애플리케이션으로부터 변이 분석 모델(107)의 표시된 버전을 결정하고 표시된 버전을 유전체 분석 디바이스(106) 상에 설치한다.Additionally, in one or more embodiments, the genome analysis platform (104) includes a model switching system (108). As just mentioned, the model switching system (108) determines and installs a version of a variant analysis model (107) on the genome analysis device (106). For example, the model switching system (108) determines that a previously installed version of the variant analysis model (107) is incompatible with the genome analysis application and updates the genome analysis device (106) to include a compatible version. In some cases, the model switching system (108) determines a displayed version of the variant analysis model (107) from the genome analysis application and installs the displayed version on the genome analysis device (106).

실제로, 일부 실시예에서, 모델 스위칭 시스템(108)은 유전체 분석 애플리케이션(112)을 식별하거나 수신한다. 예를 들어, 모델 스위칭 시스템(108)은 네트워크(116)를 통한 웹 인터페이스 상의 업로드를 통해 유전체 분석 애플리케이션(112)을 수신한다. 유전체 분석 애플리케이션(112)은 (예를 들어, 진단용) 서열분석 데이터와 관련하여 작업 또는 기능을 수행하기 위한 다수의 워크플로우 포드를 포함할 수 있다. 실제로, 모델 스위칭 시스템(108)은 다양한 진단 또는 기타 유형의 유전체 분석을 생성하거나 결정하기 위해 (예를 들어, 서열분석 디바이스(114) 또는 변이 분석 모델(107)로부터의) 뉴클레오티드 염기 호출 및/또는 서열분석 측정지표와 같은 서열분석 데이터를 분석하기 위해 (유전체 분석 디바이스(106) 상의) 변이 분석 모델(107)의 설치된 버전을 활용함으로써 유전체 분석 애플리케이션(112)을 실행할 수 있다. 예를 들어, 모델 스위칭 시스템(108)은 샘플 뉴클레오티드 서열에 대한 서열분석 데이터의 진단 분석을 수행한다. 일부 경우에서, 모델 스위칭 시스템(108)은 하나 이상의 질병 또는 유전적 상태를 진단하거나 그에 대한 성향을 결정하기 위해 진단 분석을 수행한다.In practice, in some embodiments, the model switching system (108) identifies or receives a genome analysis application (112). For example, the model switching system (108) receives the genome analysis application (112) via an upload on a web interface over the network (116). The genome analysis application (112) may include a number of workflow pods for performing tasks or functions in connection with sequence analysis data (e.g., for diagnostic purposes). In practice, the model switching system (108) may execute the genome analysis application (112) by utilizing an installed version of the variant analysis model (107) (on the genome analysis device (106)) to analyze sequence analysis data, such as nucleotide base calls and/or sequence analysis metrics (e.g., from the sequence analysis device (114) or the variant analysis model (107)) to generate or determine various diagnostic or other types of genome analyses. For example, the model switching system (108) performs diagnostic analysis of sequence analysis data for sample nucleotide sequences. In some cases, the model switching system (108) performs diagnostic analysis to diagnose or determine a predisposition to one or more diseases or genetic conditions.

도 1에 추가로 예시된 바와 같이, 클라이언트 디바이스(110)는 디지털 데이터를 생성, 저장, 수신 및 전송할 수 있다. 특히, 클라이언트 디바이스(110)는 서열분석 디바이스(114)로부터 서열분석 측정지표를 수신할 수 있다. 또한, 클라이언트 디바이스(110)는 유전체 분석 애플리케이션의 결과 및/또는 뉴클레오티드 염기 호출 및/또는 예컨대 호출 품질, 유전자형 표시, 및 유전자형 품질과 같은 기타 측정지표를 포함하는 변이 호출 파일을 수신하기 위해 로컬 서버 디바이스(들)(102)와 통신할 수 있다. 이에 따라, 클라이언트 디바이스(110)는 클라이언트 디바이스(110)와 연관된 사용자에게 그래픽 사용자 인터페이스 내에서 뉴클레오티드 염기 호출에 관한 정보를 제시하거나 표시할 수 있다. 또한, 클라이언트 디바이스(110)는 서열분석 데이터의 분석을 수행하기 위한 하나 이상의 워크플로우 포드를 포함하는 유전체 분석 애플리케이션(112)을 생성 및 제공(예를 들어, 네트워크(116)를 통해 업로드)할 수 있다. 실제로, 클라이언트 디바이스(110)는 유전체 분석 애플리케이션(112)을 생성하기 위한 워크플로우 포드 및/또는 컨테이너를 선택하고 배열하거나 구성하는 사용자 상호 작용을 그래픽 사용자 인터페이스를 통해 수신할 수 있다. 클라이언트 디바이스(110)는 또한 로컬 서버 디바이스(들)(102)로부터 유전체 분석 애플리케이션(112)의 결과를 수신할 수 있고 그 결과를 그래픽 사용자 인터페이스 내에 표시할 수 있다.As further illustrated in FIG. 1, the client device (110) can generate, store, receive, and transmit digital data. In particular, the client device (110) can receive sequence analysis metrics from the sequence analysis device (114). In addition, the client device (110) can communicate with the local server device(s) (102) to receive results of the genome analysis application and/or variant call files including nucleotide base calls and/or other metrics such as call quality, genotype representation, and genotype quality. Accordingly, the client device (110) can present or display information about the nucleotide base calls within a graphical user interface to a user associated with the client device (110). In addition, the client device (110) can generate and provide (e.g., upload via a network (116)) a genome analysis application (112) comprising one or more workflow pods for performing analysis of the sequence analysis data. In practice, the client device (110) can receive user interaction via a graphical user interface to select and arrange or configure workflow pods and/or containers for generating the genome analysis application (112). The client device (110) can also receive results of the genome analysis application (112) from local server device(s) (102) and display the results within the graphical user interface.

도 1에 예시된 클라이언트 디바이스(110)는 다양한 유형의 클라이언트 디바이스를 포함할 수 있다. 예를 들어, 일부 실시예에서, 클라이언트 디바이스(110)는 데스크톱 컴퓨터 또는 서버와 같은 비-모바일 디바이스, 또는 기타 유형의 클라이언트 디바이스를 포함한다. 또 다른 실시예에서, 클라이언트 디바이스(110)는 랩톱, 태블릿, 휴대폰, 또는 스마트폰과 같은 모바일 디바이스를 포함한다. 클라이언트 디바이스(110)에 관한 추가 세부 사항은 도 8과 관련하여 아래에서 논의된다.The client device (110) illustrated in FIG. 1 may include various types of client devices. For example, in some embodiments, the client device (110) includes a non-mobile device, such as a desktop computer or a server, or other types of client devices. In yet other embodiments, the client device (110) includes a mobile device, such as a laptop, tablet, cell phone, or smart phone. Additional details regarding the client device (110) are discussed below with respect to FIG. 8.

언급된 바와 같이, 클라이언트 디바이스(110)는 유전체 분석 애플리케이션(112)을 포함한다. 유전체 분석 애플리케이션(112)은 클라이언트 디바이스(110)에 저장되고 실행되는 웹 애플리케이션 또는 네이티브(native) 애플리케이션(예를 들어, 모바일 애플리케이션, 데스크톱 애플리케이션)일 수 있다. 유전체 분석 애플리케이션(112)은(실행될 때) 클라이언트 디바이스(110)로 하여금 모델 스위칭 시스템(108)으로부터 데이터를 수신하고, 변이 호출 파일로부터의 데이터를 클라이언트 디바이스(110)에 표시하기 위해 제시하게 하는 명령어를 포함할 수 있다. 또한, 유전체 분석 애플리케이션(112)은 클라이언트 디바이스(110)에 유전체 분석 애플리케이션(112)을 실행할 때 서버 디바이스(들)에서 받은 진단 결과뿐만 아니라 유전체 분석 애플리케이션(112)의 시각화 및/또는 외부 서열분석 진단 워크플로우 내에 배열하기 위한 워크플로우 포드/컨테이너의 시각화를 표시하도록 지시할 수 있다.As mentioned, the client device (110) includes a genome analysis application (112). The genome analysis application (112) may be a web application or a native application (e.g., a mobile application, a desktop application) that is stored and executed on the client device (110). The genome analysis application (112) may include instructions that cause the client device (110) to receive data from the model switching system (108) and to present data from a variant call file for display on the client device (110). In addition, the genome analysis application (112) may instruct the client device (110) to display, when executing the genome analysis application (112), not only diagnostic results received from the server device(s), but also visualizations of workflow pods/containers for arranging within a visualization and/or external sequence analysis diagnostic workflow of the genome analysis application (112).

일부 실시예에서, 모델 스위칭 시스템(108)은 유전체 분석 애플리케이션(112)의 일부로서 클라이언트 디바이스(110) 상에 또는 서열분석 디바이스(114) 상에 위치할 수 있다. 따라서, 일부 실시예에서, 모델 스위칭 시스템(108)은 클라이언트 디바이스(110)에 의해 (예를 들어, 전체적으로 또는 부분적으로 위치됨으로써) 구현된다. 또 다른 실시예에서, 모델 스위칭 시스템(108)은 환경(100)의 하나 이상의 다른 구성요소, 예컨대 서열분석 디바이스(114)에 의해 구현된다. 특히, 모델 스위칭 시스템(108)은 로컬 서버 디바이스(들)(102), 서버 디바이스(들)(120), 네트워크(116), 클라이언트 디바이스(110), 및 서열분석 디바이스(114)에 걸쳐 다양한 방식으로 구현될 수 있다. 예를 들어, 모델 스위칭 시스템(108)은 로컬 서버 디바이스(들)(102) 및/또는 서버 디바이스(들)(120)로부터 클라이언트 디바이스(110) 및/또는 서열분석 디바이스(114)로 다운로드될 수 있으며, 여기서 모델 스위칭 시스템(108)의 기능의 전부 또는 일부는 환경(100) 내의 각각의 해당 디바이스에서 수행된다.In some embodiments, the model switching system (108) may be located on the client device (110) or on the sequence analysis device (114) as part of the genome analysis application (112). Thus, in some embodiments, the model switching system (108) is implemented (e.g., by being located in whole or in part) by the client device (110). In yet other embodiments, the model switching system (108) is implemented by one or more other components of the environment (100), such as the sequence analysis device (114). In particular, the model switching system (108) may be implemented in various ways across the local server device(s) (102), the server device(s) (120), the network (116), the client device (110), and the sequence analysis device (114). For example, the model switching system (108) can be downloaded from local server device(s) (102) and/or server device(s) (120) to client devices (110) and/or sequence analysis devices (114), where all or part of the functionality of the model switching system (108) is performed on each respective device within the environment (100).

도 1에 추가로 예시된 바와 같이, 환경(100)은 데이터베이스(118)를 포함한다. 데이터베이스(118)는 유전체 분석 애플리케이션, 애플리케이션 결과, 변이 호출 파일, 샘플 뉴클레오티드 서열, 그리고 뉴클레오티드 리드, 뉴클레오티드 염기 호출, 변이 호출 및 서열분석 측정지표와 같은 서열분석 데이터와 같은 정보를 저장할 수 있다. 일부 실시예에서, 로컬 서버 디바이스(들)(102), 클라이언트 디바이스(110), 및/또는 서열분석 디바이스(114)는 데이터베이스(118)와 (예를 들어, 네트워크(116)를 통해) 통신하여 유전체 분석 애플리케이션, 애플리케이션 결과, 변이 호출 파일, 샘플 뉴클레오티드 서열, 및 뉴클레오티드 리드, 뉴클레오티드 염기 호출, 변이 호출, 및 서열분석 측정지표와 같은 서열분석 데이터와 같은 정보를 저장 및/또는 액세스한다. 일부 경우에서, 데이터베이스(118)는 또한 변이 분석 모델(107)의 상이한 버전과 같은 하나 이상의 모델을 저장한다.As further illustrated in FIG. 1 , the environment (100) includes a database (118). The database (118) can store information such as genome analysis applications, application results, variant call files, sample nucleotide sequences, and sequence analysis data such as nucleotide reads, nucleotide base calls, variant calls, and sequence analysis metrics. In some embodiments, the local server device(s) (102), client devices (110), and/or sequence analysis devices (114) communicate with the database (118) (e.g., via a network (116)) to store and/or access information such as genome analysis applications, application results, variant call files, sample nucleotide sequences, and sequence analysis data such as nucleotide reads, nucleotide base calls, variant calls, and sequence analysis metrics. In some cases, the database (118) also stores one or more models, such as different versions of a variant analysis model (107).

추가적으로, 환경(100)은 서버 디바이스(들)(120)를 포함한다. 일부 실시예에서, 서버 디바이스(들)(120)는 뉴클레오티드 염기 호출을 결정하고 핵산 중합체를 서열분석하고/하거나 뉴클레오티드 서열을 분석(예를 들어, 진단 수행)하기 위한 유전체 분석 애플리케이션을 실행하기 위한 데이터와 같은 디지털 데이터를 생성, 수신, 분석, 저장, 및 전송할 수 있다. 일부 경우에서, 서열분석 디바이스(114)는 서열분석 디바이스(114)로부터 호출 데이터를 전송할 수 있다(그리고 서버 디바이스(들)(120)는 호출 데이터를 수신할 수 있다). 서버 디바이스(들)(120)는 또한 클라이언트 디바이스(110)와 통신할 수 있다. 특히, 서버 디바이스(들)(120)는 변이 호출 파일 또는 뉴클레오티드 염기 호출을 나타내는 기타 정보, 서열분석 측정지표, 오류 데이터, 진단 정보, 또는 유전체 분석 애플리케이션 실행에 의해 생성된 결과를 포함하는 데이터를 클라이언트 디바이스(110)로 전송할 수 있다. 도시된 바와 같이, 서버 디바이스(들)(120)는 변이 분석 모델(107)을 수용할 수 있다. 일부 실시예에서, 서버 디바이스(들)(120)는 또한 또는 대안적으로 (로컬 서버 디바이스(들)(102) 상의 다른 구성요소와 함께 작동하는) 유전체 분석 플랫폼(104)의 하나 이상의 구성요소를 수용한다. 또한, 서버 디바이스(들)(120)는 콘텐츠 서버, 애플리케이션 서버, 통신 서버, 웹 호스팅 서버, 또는 다른 유형의 서버를 포함할 수 있다.Additionally, the environment (100) includes server device(s) (120). In some embodiments, the server device(s) (120) can generate, receive, analyze, store, and transmit digital data, such as data for determining nucleotide base calls, sequencing nucleic acid polymers, and/or executing a genome analysis application to analyze (e.g., perform diagnostics) a nucleotide sequence. In some cases, the sequence analysis device (114) can transmit call data from the sequence analysis device (114) (and the server device(s) (120) can receive call data). The server device(s) (120) can also communicate with the client device (110). In particular, the server device(s) (120) can transmit data to the client device (110) that includes a variant call file or other information indicative of nucleotide base calls, sequence analysis metrics, error data, diagnostic information, or results generated by executing a genome analysis application. As illustrated, the server device(s) (120) can accommodate a variant analysis model (107). In some embodiments, the server device(s) (120) also or alternatively accommodates one or more components of a genome analysis platform (104) (operating in conjunction with other components on the local server device(s) (102). Additionally, the server device(s) (120) can include a content server, an application server, a communication server, a web hosting server, or other types of servers.

도 1은 네트워크(116)를 통해 통신하는 환경(100)의 구성요소를 예시하고 있지만, 특정 구현예에서 환경(100)의 구성요소는 또한 네트워크(116)를 우회하여 서로 직접 통신할 수도 있다. 예를 들어, 그리고 앞서 언급한 바와 같이, 일부 구현에서, 클라이언트 디바이스(110)는 서열분석 디바이스(114)와 직접 통신한다. 또한, 일부 실시예에서, 클라이언트 디바이스(110)는 모델 스위칭 시스템(108)과 직접 통신한다. 게다가, 모델 스위칭 시스템(108)은 로컬 서버 디바이스(들)(102) 또는 서버 디바이스(들)(120) 또는 환경(100)의 다른 곳에 수용되거나 이에 의해 액세스되는 하나 이상의 데이터베이스에 액세스할 수 있다.Although FIG. 1 illustrates components of the environment (100) communicating over a network (116), in certain implementations, components of the environment (100) may also communicate directly with each other, bypassing the network (116). For example, and as noted above, in some implementations, the client device (110) communicates directly with the sequence analysis device (114). Additionally, in some embodiments, the client device (110) communicates directly with the model switching system (108). Additionally, the model switching system (108) may access one or more databases housed or accessed by the local server device(s) (102) or server device(s) (120) or elsewhere in the environment (100).

언급된 바와 같이, 특정 설명된 실시예에서, 모델 스위칭 시스템(108)은 유전체 분석 애플리케이션을 실행하기 위한 변이 분석 모델의 표시된 버전을 설치한다. 특히, 모델 스위칭 시스템(108)은 유전체 분석 애플리케이션에 대해 표시된 버전을 식별하고 그 버전을 유전체 분석 디바이스에 설치한다. 도 2는 하나 이상의 실시예에 따른 유전체 분석 애플리케이션을 실행하기 위한 변이 분석 모델의 표시된 버전을 설치하는 예시적인 개요를 예시한다. 도 2와 관련하여 설명된 개별 행위에 관한 추가적인 세부사항은 후속 도면을 참조하여 이후에 제공된다.As noted, in certain described embodiments, the model switching system (108) installs a marked version of a variant analysis model for executing a genome analysis application. In particular, the model switching system (108) identifies a marked version of a genome analysis application and installs that version on a genome analysis device. FIG. 2 illustrates an exemplary overview of installing a marked version of a variant analysis model for executing a genome analysis application according to one or more embodiments. Additional details regarding individual acts described in connection with FIG. 2 are provided hereinafter with reference to the subsequent drawings.

도 2에 예시된 바와 같이, 모델 스위칭 시스템(108)은 유전체 분석 애플리케이션을 식별하기 위한 행위(202)를 수행한다. 특히, 모델 스위칭 시스템(108)은 진단 프로세스의 일부로서 또는 일부 다른 목적을 위해 뉴클레오티드 염기 호출 또는 서열분석 측정지표와 같은 서열분석 데이터를 분석하기 위한 유전체 분석 애플리케이션(예를 들어, 유전체 분석 애플리케이션(112))을 식별한다. 일부 경우에서, 모델 스위칭 시스템(108)은 클라이언트 디바이스(110)로부터 또는 (예를 들어, 네트워크(116)를 통해) 클라이언트 디바이스(110)와 통신하는 서버로부터 유전체 분석 애플리케이션을 수신한다. 예를 들어, 모델 스위칭 시스템(108)(또는 유전체 분석 플랫폼(104))은 웹 인터페이스를 제공하며, 이에 의해 클라이언트 디바이스(110)는 유전체 분석 애플리케이션(112)과 같은 유전체 분석 애플리케이션을 생성하고 업로드한다.As illustrated in FIG. 2 , the model switching system (108) performs an act (202) to identify a genome analysis application. In particular, the model switching system (108) identifies a genome analysis application (e.g., a genome analysis application (112)) for analyzing sequence analysis data, such as nucleotide base calling or sequence analysis metrics, as part of a diagnostic process or for some other purpose. In some cases, the model switching system (108) receives the genome analysis application from a client device (110) or from a server that communicates with the client device (110) (e.g., via a network (116)). For example, the model switching system (108) (or the genome analysis platform (104)) provides a web interface by which the client device (110) generates and uploads a genome analysis application, such as the genome analysis application (112).

도 2에 추가로 예시된 바와 같이, 모델 스위칭 시스템(108)은 유전체 분석 애플리케이션으로부터 변이 분석 모델(예를 들어, 변이 분석 모델(107))의 표시된 버전을 결정하기 위해 행위(204)를 수행한다. 자세히 설명하자면, 모델 스위칭 시스템(108)은 유전체 분석 애플리케이션에 의해 표시되고/되거나 유전체 분석 애플리케이션의 하나 이상의 기능을 실행하거나 수행하는 데 필요한 변이 분석 모델의 버전을 결정한다. 일부 경우에서, 모델 스위칭 시스템(108)은 유전체 분석 애플리케이션을 실행하기 위한 하나 이상의 파라미터를 정의하는 애플리케이션 사양을 분석함으로써 표시된 버전을 결정한다. 예를 들어, 모델 스위칭 시스템(108)은 유전체 분석 애플리케이션을 실행하기 위해 필요하거나 선호되는 변이 분석 모델의 버전을 나타내는 애플리케이션 사양 내의 버전 라벨을 식별한다.As further illustrated in FIG. 2, the model switching system (108) performs an action (204) to determine an indicated version of a variant analysis model (e.g., variant analysis model (107)) from a genome analysis application. Specifically, the model switching system (108) determines a version of a variant analysis model that is indicated by the genome analysis application and/or is required to execute or perform one or more functions of the genome analysis application. In some cases, the model switching system (108) determines the indicated version by analyzing an application specification that defines one or more parameters for executing the genome analysis application. For example, the model switching system (108) identifies a version label within the application specification that indicates a version of a variant analysis model that is required or preferred for executing the genome analysis application.

예를 들어, 애플리케이션 사양은 유전체 분석 애플리케이션에 수반되거나 그 일부이고 (예를 들어, 라벨을 사용하여) 애플리케이션 파라미터를 정의하는 메타데이터 또는 소프트웨어 코드를 지칭할 수 있다. 이러한 애플리케이션 파라미터는 애플리케이션(또는 애플리케이션 내의 특정 워크플로우 포드)을 실행하기 위해 요구되는 변이 분석 모델의 버전, 애플리케이션에 의해 요구되고/되거나 액세스가능한 유전체 분석 디바이스와 같은 컴퓨팅 자원, 워크플로우 포드/컨테이너에 대한 정의, 또는 기타 애플리케이션별(또는 포드별) 정보를 포함할 수 있다. 단일 유전체 분석 애플리케이션은 하나 이상의 애플리케이션 사양을 포함할 수 있으며, 여기서 단일 애플리케이션 사양은 전체 애플리케이션 또는 애플리케이션 내의 하나 이상의 워크플로우 포드 세트에 대한 파라미터를 정의할 수 있다(기타 애플리케이션 사양은 기타 워크플로우 포드에 대한 파라미터를 정의함).For example, an application specification may refer to metadata or software code that accompanies or is part of a genome analysis application and defines application parameters (e.g., using labels). Such application parameters may include versions of variant analysis models required to run the application (or specific workflow pods within the application), computing resources such as genome analysis devices required and/or accessible by the application, definitions of workflow pods/containers, or other application-specific (or pod-specific) information. A single genome analysis application may include one or more application specifications, where a single application specification may define parameters for the entire application or for a set of one or more workflow pods within the application (with other application specifications defining parameters for other workflow pods).

도 2에 추가로 예시된 바와 같이, 일부 실시예에서, 모델 스위칭 시스템(108)은 변이 분석 모델의 이용가능한 버전을 결정하기 위해 행위(206)를 수행한다. 보다 구체적으로, 유전체 분석 애플리케이션을 실행하기 위한 변이 분석 모델의 표시된 버전을 결정하는 것에 기초하여, 모델 스위칭 시스템(108)은 표시된 버전이 이용가능한지 여부를 결정한다. 예를 들어, 모델 스위칭 시스템(108)은 (예를 들어, 데이터베이스(118) 내의) 변이 분석 모델의 버전의 저장소(repository)에 액세스하기 위해 변이 분석 모델 관리자(예를 들어, 모델 스위칭 시스템(108) 또는 유전체 분석 플랫폼(104)에 의해 구현되는 컨테이너 조정 엔진과 연관된 특정 컨테이너)를 활용한다. 일부 실시예에서, 모델 스위칭 시스템(108)은 따라서 저장소 내에 저장된 변이 분석 모델의 이용가능한 버전을 결정한다. 모델 스위칭 시스템(108)은 저장된 버전을 유전체 분석 애플리케이션에 대한 표시된 버전과 추가로 비교할 수 있다.As further illustrated in FIG. 2 , in some embodiments, the model switching system (108) performs act (206) to determine an available version of a variant analysis model. More specifically, based on determining a displayed version of a variant analysis model for executing a genome analysis application, the model switching system (108) determines whether the displayed version is available. For example, the model switching system (108) utilizes a variant analysis model manager (e.g., a particular container associated with a container reconciliation engine implemented by the model switching system (108) or the genome analysis platform (104)) to access a repository of versions of the variant analysis model (e.g., within the database (118). In some embodiments, the model switching system (108) thus determines an available version of the variant analysis model stored within the repository. The model switching system (108) may further compare the stored version with the displayed version for the genome analysis application.

추가적으로, 도 2에 도시된 바와 같이, 모델 스위칭 시스템(108)은 변이 분석 모델의 표시된 버전을 설치하는 행위(208)를 수행한다. 일부 실시예에서, 모델 스위칭 시스템(108)은 행위(206)를 수행하는 것에 응답하여 행위(208)를 수행한다. 다른 실시예에서, 모델 스위칭 시스템(108)은 행위(204)에 응답하여(예를 들어, 행위(206)를 수행하지 않고) 행위(208)를 수행한다. 모델 스위칭 시스템(108)은 유전체 분석 애플리케이션을 실행하기 위한 호환성을 달성하기 위해 표시된 버전을 설치한다. 예를 들어, 모델 스위칭 시스템(108)은 변이 분석 모델의 표시된 버전을 설치함으로써 유전체 분석 디바이스(예를 들어, 한 번에 변이 분석 모델의 단일 버전을 수용하는 디바이스 또는 한 번에 변이 분석 모델의 다수의 버전을 수용하는 디바이스)를 업데이트한다. 일부 경우에서, 모델 스위칭 시스템(108)은 (예를 들어, 표시된 버전이 이전 버전 대신에 유전체 분석 디바이스 상에 수용되도록) 변이 분석 모델의 이전에 설치된 버전을 표시된 버전으로 대체하는 반면, 다른 경우에 모델 스위칭 시스템(108)은 하나 이상의 이전에 설치된 버전에 추가하여 표시된 버전을 설치한다.Additionally, as illustrated in FIG. 2 , the model switching system (108) performs an act (208) of installing a marked version of a variant analysis model. In some embodiments, the model switching system (108) performs act (208) in response to performing act (206). In other embodiments, the model switching system (108) performs act (208) in response to act (204) (e.g., without performing act (206)). The model switching system (108) installs the marked version to achieve compatibility for executing a genome analysis application. For example, the model switching system (108) updates a genome analysis device (e.g., a device that accommodates a single version of a variant analysis model at a time or a device that accommodates multiple versions of a variant analysis model at a time) by installing the marked version of the variant analysis model. In some cases, the model switching system (108) replaces a previously installed version of a variant analysis model with the indicated version (e.g., so that the indicated version is accommodated on the genome analysis device in place of a previous version), while in other cases, the model switching system (108) installs the indicated version in addition to one or more previously installed versions.

특정 실시예에서, 모델 스위칭 시스템(108)은 하나 이상의 행위(204 내지 208)를 자동으로, 즉, 특정 행위 또는 작업을 개시하거나 수행하기 위해 사용자 입력을 요구하거나 수신하지 않고 수행한다. 예를 들어, 모델 스위칭 시스템(108)은 표시된 버전을 식별하는 것을 개시하기 위해 사용자 입력을 요구하거나 수신하지 않고, 유전체 분석 애플리케이션을 식별하거나 수신할 때 변이 분석 모델의 표시된 버전을 자동으로 결정한다. 추가적으로(또는 대안적으로), 모델 스위칭 시스템(108)은 변이 분석 모델의 이용가능한 버전의 결정을 개시하기 위해 사용자 상호작용을 요구하거나 수신하지 않고, 표시된 버전을 결정할 때(또는 유전체 분석 애플리케이션을 식별할 때) 저장소 내의 변이 분석 모델의 이용가능한 버전을 자동으로 결정한다. 추가적으로(또는 대안적으로) 여전히, 모델 스위칭 시스템(108)은 표시된 버전의 설치를 개시하기 위해 사용자 입력을 요구하거나 수신하지 않고, 이용가능한 버전을 결정할 때(또는 표시된 버전을 결정할 때), 변이 분석 모델의 표시된 버전을 자동으로 설치한다.In certain embodiments, the model switching system (108) performs one or more of the actions (204-208) automatically, i.e., without requiring or receiving user input to initiate or perform the particular actions or operations. For example, the model switching system (108) automatically determines a displayed version of a variant analysis model upon identifying or receiving a genome analysis application, without requiring or receiving user input to initiate identifying the displayed version. Additionally (or alternatively), the model switching system (108) automatically determines an available version of a variant analysis model in the repository upon determining the displayed version (or upon identifying the genome analysis application), without requiring or receiving user interaction to initiate determining an available version of the variant analysis model. Additionally (or alternatively) still, the model switching system (108) automatically installs a displayed version of a variant analysis model upon determining an available version (or upon determining a displayed version), without requiring or receiving user input to initiate installation of the displayed version.

도 2에 추가로 예시된 바와 같이, 모델 스위칭 시스템(108)은 유전체 분석 애플리케이션을 실행하기 위한 행위(210)를 수행한다. 특히, 모델 스위칭 시스템(108)은 유전체 분석 디바이스 상에 설치된 변이 분석 모델의 표시된 버전을 활용하여 유전체 분석 애플리케이션의 (워크플로우 포드 및/또는 컨테이너에 의해 정의된 바와 같은) 다양한 기능을 수행한다. 예를 들어, 모델 스위칭 시스템(108)은 유전체 분석 디바이스를 활용하여 유전체 분석 애플리케이션의 특정 양태를 수행(예를 들어, 이에 의해 사용)하기 위한 데이터를 제공하기 위해 변이 분석 모델을 구현한다. 일부 경우에서, 모델 스위칭 시스템(108)은 유전체 분석 애플리케이션의 하나 이상의 양태를 수행하기 위해 유전체 분석 디바이스를 추가로 활용할 수 있다.As further illustrated in FIG. 2, the model switching system (108) performs actions (210) to execute a genome analysis application. In particular, the model switching system (108) utilizes a displayed version of a variant analysis model installed on the genome analysis device to perform various functions (as defined by the workflow pod and/or container) of the genome analysis application. For example, the model switching system (108) implements the variant analysis model to provide data for performing (e.g., for use by) certain aspects of the genome analysis application utilizing the genome analysis device. In some cases, the model switching system (108) may additionally utilize the genome analysis device to perform one or more aspects of the genome analysis application.

유전체 분석 애플리케이션을 실행할 때, 모델 스위칭 시스템(108)은 샘플 뉴클레오티드 서열의 뉴클레오티드 염기 호출(예를 들어, "AATG")과 같은 서열분석 데이터로부터 생성되거나 추정되는 진단 또는 기타 정보를 포함하는 애플리케이션 결과를 결정하거나 생성한다. 특정 실시예에서, 모델 스위칭 시스템(108)은 체외 진단(IVD: in vitro diagnostics)에 대해 규제 기관에서 설정한 보안 및 분석 표준(예를 들어, 미국 식품의약국(FDA) 또는 어떤 다른 기관에서 설정한 표준)을 충족시키는 진단 애플리케이션의 형태로 유전체 분석 애플리케이션을 실행한다. 마찬가지로, 모델 스위칭 시스템(108)은 조사 전용(IUO: investigational use only) 분석 및 연구 전용(RUO: research use only) 분석을 위한 애플리케이션을 실행할 수 있다.When executing a genome analysis application, the model switching system (108) determines or generates application results that include diagnostic or other information generated or inferred from the sequence analysis data, such as nucleotide base calls (e.g., “AATG”) of the sample nucleotide sequence. In certain embodiments, the model switching system (108) executes the genome analysis application in the form of a diagnostic application that meets regulatory security and analysis standards established by a regulatory agency for in vitro diagnostics (IVDs) (e.g., standards established by the U.S. Food and Drug Administration (FDA) or some other agency). Similarly, the model switching system (108) can execute applications for investigational use only (IUO) analyses and research use only (RUO) analyses.

도 2에 추가로 예시된 바와 같이, 모델 스위칭 시스템(108)은 다수의 유전체 분석 애플리케이션에 대해 행위(202 내지 210)를 반복할 수 있다. 자세히 설명하자면, 모델 스위칭 시스템(108)은 (예를 들어, FPGA 또는 CPU와 같은 컴퓨팅 자원을 스케줄링함으로써) 순차적으로 다수의 유전체 분석 애플리케이션을 수행하거나 실행할 수 있다. 실제로, 서열에서의 각각의 애플리케이션에 대해, 모델 스위칭 시스템(108)은 다음 애플리케이션으로 이동하기 전에 행위(202 내지 210)를 수행할 수 있다. 일부 실시예에서, 모델 스위칭 시스템(108)은, 다음 애플리케이션으로 진행하기 위해 사용자 입력을 요구하거나 수신하지 않고 그리고/또는 각각의 연속적인 애플리케이션에 대해 각각의 행위(202 내지 210)를 수행/반복하기 위해 사용자 입력을 요구하거나 수신하지 않고, 한 번에 하나씩, 다수의 애플리케이션을 통해 자동으로 반복한다.As further illustrated in FIG. 2, the model switching system (108) can iterate through the acts (202-210) for multiple genome analysis applications. Specifically, the model switching system (108) can perform or execute the multiple genome analysis applications sequentially (e.g., by scheduling computing resources such as FPGAs or CPUs). In practice, for each application in the sequence, the model switching system (108) can perform acts (202-210) before moving on to the next application. In some embodiments, the model switching system (108) automatically iterates through the multiple applications, one at a time, without requiring or receiving user input to proceed to the next application and/or without requiring or receiving user input to perform/repeat each act (202-210) for each successive application.

언급된 바와 같이, 특정 설명된 실시예에서, 모델 스위칭 시스템(108)은 변이 분석 모델의 버전 사이에서 스위칭하기 위해 특정 컨테이너 조정 엔진을 활용한다. 특히, 모델 스위칭 시스템(108)은 유전체 분석 애플리케이션에 의해 표시된 변이 분석 모델의 버전을 결정하고 표시된 버전을 유전체 분석 디바이스에 설치하기 위해 컨테이너화된 기능을 실행하는 컨테이너 조정 엔진을 활용한다. 도 3은 하나 이상의 실시예에 따른 변이 분석 모델의 버전을 식별하고 설치하기 위해 컨테이너 조정 엔진을 활용하기 위한 예시적인 흐름을 예시한다.As noted, in certain illustrated embodiments, the model switching system (108) utilizes a particular container orchestration engine to switch between versions of a variant analysis model. In particular, the model switching system (108) utilizes a container orchestration engine to determine a version of a variant analysis model indicated by a genome analysis application and to execute a containerized function to install the indicated version on a genome analysis device. FIG. 3 illustrates an exemplary flow for utilizing a container orchestration engine to identify and install a version of a variant analysis model according to one or more embodiments.

도 3에 예시된 바와 같이, 모델 스위칭 시스템(108)은 유전체 분석 애플리케이션(302)(예를 들어, 유전체 분석 애플리케이션(112))을 식별하거나 수신한다. 또한, 모델 스위칭 시스템(108)은 유전체 분석 애플리케이션(302) 내에서 또는 그에 수반되는 애플리케이션 사양(304)을 식별한다. 예를 들어, 모델 스위칭 시스템(108)은 변이 분석 모델의 버전을 지정하는 버전 라벨, 유전체 분석 애플리케이션(302) 내의 워크플로우 컨테이너 또는 워크플로우 포드를 지정하는 컨테이너 라벨, 및 유전체 분석 애플리케이션(302)(예를 들어, 유전체 분석 디바이스)을 실행하기 위한 컴퓨팅 자원을 지정하는 자원 라벨과 같은, 유전체 분석 애플리케이션(302)을 실행하기 위한 파라미터를 정의하는 애플리케이션 사양(304)을 식별한다. 일부 경우에서, 유전체 분석 애플리케이션(302)은 단일 애플리케이션 사양(예를 들어, 애플리케이션 사양(304))을 포함(또는 대응)한다. 다른 경우에, 유전체 분석 애플리케이션(302)은 다수의 애플리케이션 사양을 포함(또는 대응)하며, 각각은 유전체 분석 애플리케이션(302) 내의 하나 이상의 구성 워크플로우 포드에 대한 파라미터를 정의한다.As illustrated in FIG. 3 , the model switching system (108) identifies or receives a genome analysis application (302) (e.g., a genome analysis application (112)). In addition, the model switching system (108) identifies an application specification (304) within or accompanying the genome analysis application (302). For example, the model switching system (108) identifies an application specification (304) that defines parameters for executing the genome analysis application (302), such as a version label that specifies a version of a variant analysis model, a container label that specifies a workflow container or workflow pod within the genome analysis application (302), and a resource label that specifies a computing resource for executing the genome analysis application (302) (e.g., a genome analysis device). In some cases, the genome analysis application (302) includes (or corresponds to) a single application specification (e.g., an application specification (304)). In other cases, the genome analysis application (302) includes (or corresponds to) multiple application specifications, each defining parameters for one or more constituent workflow pods within the genome analysis application (302).

도 3에 추가로 예시된 바와 같이, 모델 스위칭 시스템(108)은 변이 분석 모델의 표시된 버전을 식별하고 설치하는 것을 조정(orchestrate)하거나 조정(coordinate)하기 위해 컨테이너 조정 엔진 API(306)를 활용한다. 예를 들어, 모델 스위칭 시스템(108)은 애플리케이션 사양(304)을 분석하고, 변이 분석 모델의 표시된 버전을 식별하고, 표시된 버전을 설치하고, 표시된 버전을 활용하여 유전체 분석 애플리케이션을 실행하기 위해 다양한 워크플로우 포드 및/또는 워크플로우 컨테이너(워크플로우 포드의 일부임)를 포함하는 컨테이너 조정 엔진 API(306)를 활용한다.As further illustrated in FIG. 3, the model switching system (108) utilizes the container orchestration engine API (306) to orchestrate or coordinate the identification and installation of indicated versions of variant analysis models. For example, the model switching system (108) utilizes the container orchestration engine API (306) comprising various workflow pods and/or workflow containers (which are part of a workflow pod) to analyze the application specification (304), identify indicated versions of variant analysis models, install the indicated versions, and run the genome analysis application utilizing the indicated versions.

일부 경우에서, 컨테이너 조정 엔진 API(306)는 변이 분석 모델의 버전을 설치하기 위한 기능을 포함하는 승인(admission) 제어기를 포함한다. 예를 들어, 승인 제어기는 변이 분석 모델의 표시된 버전을 설치하기 위한 명령어를 제공하기 위해 컨테이너 조정 엔진(또는 모델 스위칭 시스템(108))의 다른 구성요소와 통신할 수 있다. 이들 또는 다른 경우에, 컨테이너 조정 엔진 API(306)는 (예를 들어, 애플리케이션 사양(304)을 수정함으로써) 커스텀 콜백(custom callback)으로 유전체 분석 애플리케이션(302)의 거동을 수정하거나 증강(augment)시키는 돌연변이 승인 웹후크(webhook)를 포함한다. 예를 들어, 돌연변이 승인 웹후크는 애플리케이션 사양(304)을 수정하거나 증강하기 위해 돌연변이 웹후크 제어기(308)에 명령어를 제공하거나 그에 의해 액세스 가능한 명령어를 포함한다.In some cases, the container orchestration engine API (306) includes an admission controller that includes functionality to install a version of a mutation analysis model. For example, the admission controller may communicate with another component of the container orchestration engine (or the model switching system (108)) to provide instructions to install a indicated version of the mutation analysis model. In these or other cases, the container orchestration engine API (306) includes a mutation admission webhook that modifies or augments the behavior of the genome analysis application (302) with a custom callback (e.g., by modifying the application specification (304)). For example, the mutation admission webhook includes instructions that provide instructions to, or are accessible by, the mutation webhook controller (308) to modify or augment the application specification (304).

실제로, 모델 스위칭 시스템(108)은 애플리케이션 사양(304)으로부터 수정된 애플리케이션 사양(310)을 생성하기 위해 (예를 들어, 컨테이너 조정 엔진 내의 워크플로우 포드로서) 돌연변이 웹후크 제어기(308)를 활용한다. 실제로, 돌연변이 웹후크 제어기(308)는 변이 분석 모델의 버전(예를 들어, hostPID 및 hostIPC)에 대한 포드 설정을 포함하도록 애플리케이션 사양(304)을 수정하기 위해 포드 라벨(예를 들어, 변이 분석 모델 버전의 표시)을 키오프(key off)하는 컴퓨터 코드를 포함할 수 있다. 추가적으로, 돌연변이 웹후크 제어기(308)는 초기화 워크플로우 컨테이너의 주입을 실시하기 위한 코드를 포함하며, 이는 포드 라벨에 의해 표시된 모델 버전을 설치하기 위해 변이 분석 모델 관리자(322)에 질의한다. 따라서, 돌연변이 웹후크 제어기(308)는 운영 체제 상에 설치된 변이 분석 모델(107)의 버전이 포드 라벨에 대응하는 포드에서 실행되는 버전과 매칭되는 것을 보장한다.In practice, the model switching system (108) utilizes the mutation webhook controller (308) to generate a modified application specification (310) from the application specification (304) (e.g., as a workflow pod within the container orchestration engine). In practice, the mutation webhook controller (308) may include computer code to key off a pod label (e.g., an indication of a mutation analysis model version) to modify the application specification (304) to include pod settings for a version of a mutation analysis model (e.g., hostPID and hostIPC). Additionally, the mutation webhook controller (308) includes code to effect injection of an initialization workflow container, which queries the mutation analysis model manager (322) to install the model version indicated by the pod label. Thus, the mutation webhook controller (308) ensures that the version of the mutation analysis model (107) installed on the operating system matches the version running on the pod corresponding to the pod label.

예를 들어, 모델 스위칭 시스템(108)은 초기화 워크플로우 컨테이너(도 3에서 "InitContainer"로 표시됨)라고 불리는 특수화된 워크플로우 컨테이너를 포함하도록 수정된 애플리케이션 사양(310)을 생성한다. 실제로, 모델 스위칭 시스템(108)은 초기화 워크플로우 컨테이너를 생성하고 수정된 애플리케이션 사양(310)에 추가한다. 특정 경우에서, 초기화 워크플로우 컨테이너는 모델 스위칭 시스템(108)(또는 유전체 분석 플랫폼(104))의 다른 구성요소(예를 들어, 다른 워크플로우 컨테이너, 디바이스, 또는 네트워크 위치)와 통신하기 위한 명령어를 포함한다. 예를 들어, 모델 스위칭 시스템(108)은 변이 분석 모델의 표시된 버전을 설치하기 위해 변이 분석 모델 관리자와 통신하기 위해 초기화 워크플로우 컨테이너를 활용한다.For example, the model switching system (108) generates a modified application specification (310) to include a specialized workflow container called an initialization workflow container (indicated as “InitContainer” in FIG. 3 ). In practice, the model switching system (108) generates and adds the initialization workflow container to the modified application specification (310). In certain cases, the initialization workflow container includes instructions for communicating with other components of the model switching system (108) (or the genome analysis platform (104)) (e.g., other workflow containers, devices, or network locations). For example, the model switching system (108) utilizes the initialization workflow container to communicate with a variant analysis model manager to install a displayed version of a variant analysis model.

실제로, 모델 스위칭 시스템(108)은 유전체 분석 애플리케이션(302)을 실행하기 위해 필요하거나 선호되는 변이 분석 모델의 버전에 대한 버전 라벨을 수정된 애플리케이션 사양(310)에 추가하기 위해 돌연변이 웹후크 제어기(308)를 활용한다. 모델 스위칭 시스템(108)은 또한, 유전체 분석 애플리케이션(302)을 실행하기 위해 필요하거나 선호되는 FPGA 또는 다른 유전체 분석 디바이스와 같은 자원을 나타내는 자원 라벨을 수정된 애플리케이션 사양(310)에 추가하기 위해 돌연변이 웹후크 제어기(308)를 활용한다.In practice, the model switching system (108) utilizes the mutation webhook controller (308) to add a version label for a version of a mutation analysis model that is required or preferred for executing the genome analysis application (302) to the modified application specification (310). The model switching system (108) also utilizes the mutation webhook controller (308) to add a resource label to the modified application specification (310) that indicates a resource, such as an FPGA or other genome analysis device, that is required or preferred for executing the genome analysis application (302).

따라서, 돌연변이 웹후크 제어기(308)는 수정된 애플리케이션 사양(310) 내에서 자원 라벨을 식별 및/또는 추가함으로써 유전체 분석 디바이스를 식별 및/또는 선택한다. 도시된 바와 같이, 돌연변이 웹후크 제어기(308)는 변이 분석 모델의 표시된 버전을 설치하기 위한 명령어를 제공하기 위해 변이 분석 모델 관리자(322)와 추가로 통신한다. 하나 이상의 구현예에서, 돌연변이 웹후크 제어기(308) 및/또는 변이 분석 모델 관리자(322)는 변이 분석 모델(예를 들어, 서버 디바이스(들)(120) 또는 로컬 서버 디바이스(들)(102))과 동일한 서버 상에 수용된다.Accordingly, the mutation webhook controller (308) identifies and/or selects a genome analysis device by identifying and/or adding a resource label within the modified application specification (310). As illustrated, the mutation webhook controller (308) further communicates with a mutation analysis model manager (322) to provide instructions to install a displayed version of the mutation analysis model. In one or more implementations, the mutation webhook controller (308) and/or the mutation analysis model manager (322) are housed on the same server as the mutation analysis model (e.g., the server device(s) (120) or the local server device(s) (102)).

하나 이상의 실시예에서, 돌연변이 웹후크 제어기(308)는 변이 분석 모델을 요청하는 임의의 유전체 분석 애플리케이션 또는 워크플로우 포드를 식별하거나 검출하고, 변이 분석 모델의 표시된 버전을 설치하기 위한 초기화 컨테이너를 추가함으로써 그의 대응하는 애플리케이션 사양(또는 포드 사양)을 돌연변이시킨다. 일부 실시예에서, 모델 스위칭 시스템(108)은 변이 분석 모델을 요청하는 각각의 개별 유전체 분석 애플리케이션에 대한 수정된 애플리케이션 사양을 생성(돌연변이 웹후크 제어기(308)를 활용함)하고/하거나 변이 분석 모델을 요청하는 각각의 개별 워크플로우 포드에 대한 수정된 포드 사양을 생성한다.In one or more embodiments, the mutation webhook controller (308) identifies or detects any genomics analysis application or workflow pod requesting a mutation analysis model, and mutates its corresponding application specification (or pod specification) by adding an initialization container to install the indicated version of the mutation analysis model. In some embodiments, the model switching system (108) generates a modified application specification (utilizing the mutation webhook controller (308)) for each individual genomics analysis application requesting a mutation analysis model and/or generates a modified pod specification for each individual workflow pod requesting a mutation analysis model.

도 3에 추가로 예시된 바와 같이, 모델 스위칭 시스템(108)은 (수정된 애플리케이션 사양(310)에 의해 지정된 바와 같이) 유전체 분석 디바이스 자원(320)에 액세스하거나 이를 활용하기 위해 자원 관리자(312)를 활용한다. 자세히 설명하자면, 모델 스위칭 시스템(108)은 수정된 애플리케이션 사양(310) 내의 자원 라벨을 식별하고 라벨에서 식별된 자원에 액세스하기 위해 자원 관리자(312)라고 하는 특정 워크플로우 컨테이너를 활용한다. 실제로, 모델 스위칭 시스템(108)은 컨테이너 조정 엔진을 통한 액세스를 위한 스케줄링 가능한 자원으로서 FPGA 또는 CPU와 같은 유전체 분석 디바이스를 정의한다. 따라서, 자원 관리자(312)는 수정된 애플리케이션 사양(310)에 표시된 자원과 연관된 유전체 분석 디바이스 자원(320)(예를 들어, 유전체 분석 디바이스와 통신하고 인터페이싱하는 워크플로우 컨테이너)에 액세스한다. 일부 경우에서, 수정된 애플리케이션 사양(310)은 유전체 분석 애플리케이션(302)(또는 특정 워크플로우 포드)을 실행하기 위한 FPGA 또는 CPU 또는 일부 다른 유전체 분석 디바이스를 나타내고, 따라서 자원 관리자(312)는 유전체 분석 애플리케이션(302)(또는 특정 워크플로우 포드)의 실행을 용이하게 하기 위해 지정된 디바이스(또는 다른 자원)에 액세스하거나 이와 통신한다.As further illustrated in FIG. 3, the model switching system (108) utilizes a resource manager (312) to access or utilize a genome analysis device resource (320) (as specified by the modified application specification (310)). Specifically, the model switching system (108) identifies a resource label within the modified application specification (310) and utilizes a particular workflow container, called the resource manager (312), to access the resource identified in the label. In practice, the model switching system (108) defines a genome analysis device, such as an FPGA or CPU, as a schedulable resource for access via the container orchestration engine. Accordingly, the resource manager (312) accesses a genome analysis device resource (320) associated with the resource indicated in the modified application specification (310) (e.g., a workflow container that communicates with and interfaces with the genome analysis device). In some cases, the modified application specification (310) indicates an FPGA or CPU or some other genomic analysis device for executing the genomic analysis application (302) (or a particular workflow pod), and thus the resource manager (312) accesses or communicates with the designated device (or other resource) to facilitate execution of the genomic analysis application (302) (or a particular workflow pod).

도 3에 추가로 예시된 바와 같이, 모델 스위칭 시스템(108)은 유전체 분석 애플리케이션(302)의 일부로서 워크플로우 포드(314)를 실행한다. 특히, 모델 스위칭 시스템(108)은 수정된 애플리케이션 사양(310)과 연관된 워크플로우 포드(314)를 식별하고 워크플로우 포드(314) 내의 하나 이상의 워크플로우 컨테이너에 대한 기능을 실행한다. 구체적으로, 모델 스위칭 시스템(108)은 워크플로우 초기화 컨테이너(316) 및 워크플로우 컨테이너(318)에 대한 기능을 실행한다. 특정 실시예에서, 모델 스위칭 시스템(108)은 워크플로우 포드(314) 내에서 또는 유전체 분석 애플리케이션(302) 내에서 다른 워크플로우 컨테이너(예를 들어, 워크플로우 컨테이너(318))의 기능을 실행하기 전에 워크플로우 초기화 컨테이너(316)에 의해 정의된 기능을 실행하거나 수행한다.As further illustrated in FIG. 3, the model switching system (108) executes a workflow pod (314) as part of the genome analysis application (302). In particular, the model switching system (108) identifies a workflow pod (314) associated with a modified application specification (310) and executes functions for one or more workflow containers within the workflow pod (314). Specifically, the model switching system (108) executes functions for the workflow initiation container (316) and the workflow container (318). In certain embodiments, the model switching system (108) executes or performs functions defined by the workflow initiation container (316) prior to executing functions of other workflow containers (e.g., the workflow container (318)) within the workflow pod (314) or within the genome analysis application (302).

실제로, 설명된 바와 같이, 모델 스위칭 시스템(108)은 워크플로우 초기화 컨테이너(316)를 생성하고 워크플로우 포드(314)에 추가하여, 요청된 자원(예를 들어, 유전체 분석 디바이스) 상에서 변이 분석 모델의 적절한(예를 들어, 표시된) 버전을 활용하여 워크플로우 컨테이너(318)를 실행하기 위한 워크플로우 포드(314)를 초기화한다. 예를 들어, 도 3에 예시된 예에서, 모델 스위칭 시스템(108)에서, 워크플로우 초기화 컨테이너(316)는 변이 분석 모델 관리자(322)와 통신하여 워크플로우 컨테이너(318)를 실행하기 위한 변이 분석 모델의 버전 3.8.2를 설치한다. 워크플로우 컨테이너(318) 이전에 워크플로우 초기화 컨테이너(316)를 실행함으로써, 모델 스위칭 시스템(108)은 워크플로우 포드(314)가 워크플로우 컨테이너(318)와 같은 구성 컨테이너에 의해 정의된 바와 같은 기능을 수행하기 위해 변이 분석 모델의 적절한 버전을 활용하거나 그에 대한 액세스를 갖는 것을 보장한다.In practice, as described, the model switching system (108) creates a workflow initialization container (316) and adds it to the workflow pod (314) to initialize the workflow pod (314) to execute the workflow container (318) utilizing an appropriate (e.g., indicated) version of the variant analysis model on the requested resource (e.g., the genome analysis device). For example, in the example illustrated in FIG. 3 , in the model switching system (108), the workflow initialization container (316) communicates with the variant analysis model manager (322) to install version 3.8.2 of the variant analysis model for executing the workflow container (318). By executing the workflow initialization container (316) prior to the workflow container (318), the model switching system (108) ensures that the workflow pod (314) utilizes or has access to an appropriate version of the variant analysis model to perform the functions defined by the configuration container, such as the workflow container (318).

방금 언급한 바와 같이, 워크플로우 초기화 컨테이너(316)는 (호스트 운영 체제 상에서 실행되는) 변이 분석 모델 관리자(322)와 통신하여 변이 분석 모델의 표시된 버전을 설치하기 위한 명령어를 제공한다. 실제로, 변이 분석 모델 관리자(322)는 워크플로우 포드(314)(또는 유전체 분석 애플리케이션(302))를 실행하기 위한 변이 분석 모델의 표시된 버전을 표시하거나 달리 결정하는 명령어를 수신한다. 변이 분석 모델 관리자(322)는 표시된 버전이 이용가능한지 여부를 결정하기 위해 변이 분석 모델 버전의 저장소에 추가로 액세스한다. 표시된 버전이 이용가능하다고 결정할 때, 변이 분석 모델 관리자(322)는 표시된 버전을 유전체 분석 디바이스 상에 설치하여, 이전에 설치된 버전을 교체하거나 표시된 버전을 하나 이상의 이전에 설치된 버전에 추가한다. 변이 분석 모델 관리자(322)는 설치 상태를 추가로 모니터링하고, 설치가 완료되면 유전체 분석 애플리케이션(302)(또는 워크플로우 포드(314))의 실행을 시작하기 위해 돌연변이 웹후크 제어기(308) 및/또는 모델 스위칭 시스템(108)의 다른 구성요소에 표시를 제공할 수 있다.As just mentioned, the workflow initiation container (316) communicates with the variant analysis model manager (322) (running on the host operating system) to provide instructions to install a marked version of a variant analysis model. In practice, the variant analysis model manager (322) receives instructions to mark or otherwise determine a marked version of a variant analysis model for executing a workflow pod (314) (or a genome analysis application (302)). The variant analysis model manager (322) further accesses a repository of variant analysis model versions to determine whether the marked version is available. When it determines that the marked version is available, the variant analysis model manager (322) installs the marked version on the genome analysis device, either replacing a previously installed version or adding the marked version to one or more previously installed versions. The mutation analysis model manager (322) may additionally monitor the installation status and provide indications to the mutation webhook controller (308) and/or other components of the model switching system (108) to initiate execution of the genome analysis application (302) (or workflow pod (314)) when the installation is complete.

위에서 언급한 바와 같이, 특정 설명된 실시예에서, 모델 스위칭 시스템(108)은 유전체 분석 애플리케이션에 의해 표시된 변이 분석 모델의 버전을 설치한다. 특히, 모델 스위칭 시스템(108)은 각자의 애플리케이션에 의해 요청된 바와 같이 상이한 유전체 분석 애플리케이션에 대해 상이한 버전을 설치한다. 도 4는 하나 이상의 실시예에 따른 변이 분석 모델의 표시된 버전을 설치하기 위한 예시적인 흐름을 예시한다.As noted above, in certain illustrated embodiments, the model switching system (108) installs versions of variant analysis models indicated by genome analysis applications. In particular, the model switching system (108) installs different versions for different genome analysis applications as requested by their respective applications. FIG. 4 illustrates an exemplary flow for installing indicated versions of variant analysis models according to one or more embodiments.

도 4에 예시된 바와 같이, 모델 스위칭 시스템(108)은 변이 분석 모델 관리자(406)(예를 들어, 변이 분석 모델 관리자(322))를 활용하여 유전체 분석 디바이스(410)(예를 들어, 유전체 분석 디바이스(106)) 상에 변이 분석 모델의 표시된 버전(408)을 설치한다. 설명된 바와 같이, 모델 스위칭 시스템(108)은 변이 분석 모델의 표시된 버전을 결정하고 데이터베이스(402)(예를 들어, 데이터베이스(118)) 내의 변이 분석 모델 버전(404)의 저장소에 액세스한다. 추가적으로, 모델 스위칭 시스템(108)은 변이 분석 모델 관리자(406)를 활용하여 유전체 분석 디바이스(410) 상에 데이터베이스(402)로부터 표시된 버전(408)을 설치한다.As illustrated in FIG. 4, the model switching system (108) utilizes a variant analysis model manager (406) (e.g., a variant analysis model manager (322)) to install a displayed version (408) of a variant analysis model on a genome analysis device (410) (e.g., a genome analysis device (106)). As described, the model switching system (108) determines a displayed version of a variant analysis model and accesses a repository of variant analysis model versions (404) within a database (402) (e.g., a database (118)). Additionally, the model switching system (108) utilizes the variant analysis model manager (406) to install a displayed version (408) from the database (402) on the genome analysis device (410).

일부 경우에서, 데이터베이스(402)는 유전체 분석 디바이스(410) 및/또는 변이 분석 모델에 로컬(예를 들어, 동일한 서버 상에 또는 로컬 네트워크 내에)인 반면, 다른 경우에 데이터베이스(402)는 원격이다(예를 들어, 동일한 서버 상이나 로컬 네트워크 내에 있지 않음). 따라서, 모델 스위칭 시스템(108)은 표시된 버전이 원격 저장소 내에 저장된다고 결정하는 것에 기초하여 표시된 버전(408)을 설치하도록 서버(예를 들어, 유전체 분석 디바이스(410)를 수용하거나 이와 인터페이스하는 서버)에 명령을 제공할 수 있다.In some cases, the database (402) is local to the genome analysis device (410) and/or the variant analysis model (e.g., on the same server or within a local network), while in other cases the database (402) is remote (e.g., not on the same server or within a local network). Accordingly, the model switching system (108) may instruct a server (e.g., a server that houses or interfaces with the genome analysis device (410)) to install the indicated version (408) based on determining that the indicated version is stored within a remote repository.

일부 실시예에서, 변이 분석 모델 관리자(406)는 변이 분석 모델의 이전에 설치된 버전(예를 들어, 이전에 설치된 버전 A(412))을 대체하기 위해 표시된 버전(408)을 설치한다. 예를 들어, 변이 분석 모델 관리자(406)는 표시된 버전(408)이 변이 분석 모델의 이전에 설치된 버전과 상이하다고 결정하고, 따라서 표시된 버전(408)을 설치한다. 특정 경우에, 유전체 분석 디바이스(410)는 한 번에 변이 분석 모델의 단일 버전만을 수용할 수 있다. 따라서, 변이 분석 모델 관리자(406)는 이전에 설치된 버전 A(412)를 표시된 버전(408)으로 대체한다.In some embodiments, the variant analysis model manager (406) installs the indicated version (408) to replace a previously installed version of the variant analysis model (e.g., a previously installed version A (412)). For example, the variant analysis model manager (406) determines that the indicated version (408) is different from a previously installed version of the variant analysis model and therefore installs the indicated version (408). In certain cases, the genome analysis device (410) can only accommodate a single version of a variant analysis model at a time. Accordingly, the variant analysis model manager (406) replaces a previously installed version A (412) with the indicated version (408).

또한, 모델 스위칭 시스템(108)은 유전체 분석 디바이스(410) 상에 변이 분석 모델의 표시된 버전(408)을 구현함으로써 유전체 분석 애플리케이션(또는 유전체 분석 애플리케이션의 워크플로우 포드)을 실행한다. 예를 들어, 모델 스위칭 시스템(108)은 유전체 분석 디바이스(410)가 현재 작업을 수행하고 있는지 여부의 결정과 같은 계산 가용성을 결정한다(여기서 유전체 분석 디바이스(410)는 한 번에 단일 작업으로 제한됨). 계산 가용성에 기초하여, 모델 스위칭 시스템(108)은 즉각적인 실행 또는 나중의 실행을 위해(예를 들어, 모델 스위칭 시스템(108)으로부터 또는 유전체 분석 플랫폼(104)의 일부 다른 구성요소로부터 유전체 분석 디바이스(410)에 대해 큐잉되는 하나 이상의 다른 작업 뒤에 일렬로) 유전체 분석 애플리케이션의 실행을 추가로 스케줄링한다. 실제로, 모델 스위칭 시스템(108)은, 변이 분석 모델의 표시된 버전을 설치하고 표시된 버전을 활용하여 유전체 분석 애플리케이션 또는 워크플로우 포드를 실행하는 것과 같이, 유전체 분석 디바이스(410)를 수반하는 각각의 단계에서 (예를 들어, 변이 분석 모델 관리자(322)를 활용하여) 유전체 분석 디바이스(410)의 계산 가용성을 결정할 수 있다.Additionally, the model switching system (108) executes the genome analysis application (or a workflow pod of the genome analysis application) by implementing a displayed version (408) of the variant analysis model on the genome analysis device (410). For example, the model switching system (108) determines compute availability, such as whether the genome analysis device (410) is currently performing a task (wherein the genome analysis device (410) is limited to a single task at a time). Based on compute availability, the model switching system (108) further schedules execution of the genome analysis application for immediate execution or for a later execution (e.g., in sequence behind one or more other tasks queued to the genome analysis device (410) from the model switching system (108) or from some other component of the genome analysis platform (104). In practice, the model switching system (108) can determine the computational availability of the genome analysis device (410) at each step involving the genome analysis device (410), such as installing a displayed version of a variant analysis model and executing a genome analysis application or workflow pod utilizing the displayed version (e.g., utilizing the variant analysis model manager (322)).

유전체 분석 애플리케이션을 실행할 때, 모델 스위칭 시스템(108)은 유전체 분석 디바이스(410)가 더 이상 점유되지 않고 또 다른 유전체 분석 애플리케이션을 위해 다시 자유롭게 스케줄링된다고 결정할 수 있다. 따라서, 모델 스위칭 시스템(108)은 다른 유전체 분석 애플리케이션을 분석하여 새로운 애플리케이션에 대한 (예를 들어, 애플리케이션 사양에 의해 지정된 바와 같은) 변이 분석 모델의 새로운 표시된 버전을 식별할 수 있다. 모델 스위칭 시스템(108)은 (새로운 표시된 버전이 이용가능한 변이 분석 모델 버전(404) 중에 있다고 결정할 때) 새로운 표시된 버전을 추가로 설치할 수 있고, 새로운 유전체 분석 애플리케이션을 실행할 수 있다. 또한, 모델 스위칭 시스템(108)은 표시된 버전을 식별하고, 표시된 버전을 설치하고, 다수의 유전체 분석 애플리케이션에 대한 유전체 분석 애플리케이션을 순차적으로 실행하는 프로세스를 반복할 수 있다.When executing a genome analysis application, the model switching system (108) may determine that the genome analysis device (410) is no longer occupied and is free to be scheduled again for another genome analysis application. Accordingly, the model switching system (108) may analyze the other genome analysis application to identify a new marked version of a variant analysis model (e.g., as specified by the application specification) for the new application. The model switching system (108) may additionally install the new marked version (when it determines that the new marked version is among the available variant analysis model versions (404)) and execute the new genome analysis application. Additionally, the model switching system (108) may repeat the process of identifying the marked version, installing the marked version, and sequentially executing the genome analysis application for multiple genome analysis applications.

하나 이상의 실시예에서, 유전체 분석 디바이스(410)는 변이 분석 모델의 다수의 버전을 수용(또는 수용하는 데이터베이스와 통신)할 수 있다. 예를 들어, 유전체 분석 디바이스(410)는 로컬로(예를 들어, 공유 서버 디바이스 상에 또는 공유 로컬 네트워크 내에) 또는 클라우드 서버 상에 설치되는 변이 분석 모델 버전의 데이터베이스(예를 들어, 데이터베이스(118))와 인터페이스할 수 있다. 도시된 바와 같이, 유전체 분석 디바이스(410)는 이전에 설치된 버전 B(414) 및 이전에 설치된 버전 C(416)를 포함하는 클라우드 데이터베이스와 인터페이스한다. 일부 경우에서, 유전체 분석 디바이스(410)는 유전체 분석 애플리케이션 내에 정의된 하나 이상의 워크플로우 포드에 대한 기능을 수행하기 위해 이전에 설치된 버전 B(414) 및/또는 이전에 설치된 버전 C(416)에 액세스함으로써 유전체 분석 애플리케이션을 실행할 수 있다. 하나 이상의 경우에서, 유전체 분석 디바이스(410)는 (예를 들어, 상이한 유전체 분석 애플리케이션 또는 워크플로우 포드를 실행하기 위해) 변이 분석 모델의 상이한 설치된 버전 사이에서 교대하도록 클라우드 데이터베이스(또는 로컬 데이터베이스 또는 일부 다른 로컬 메모리)와 인터페이스할 수 있다.In one or more embodiments, the genome analysis device (410) may accommodate (or communicate with a database that accommodates) multiple versions of variant analysis models. For example, the genome analysis device (410) may interface with a database of variant analysis model versions (e.g., database (118)) that is installed locally (e.g., on a shared server device or within a shared local network) or on a cloud server. As illustrated, the genome analysis device (410) interfaces with a cloud database that includes a previously installed version B (414) and a previously installed version C (416). In some cases, the genome analysis device (410) may execute the genome analysis application by accessing the previously installed version B (414) and/or the previously installed version C (416) to perform functions for one or more workflow pods defined within the genome analysis application. In one or more instances, the genome analysis device (410) may interface with a cloud database (or a local database or some other local memory) to alternate between different installed versions of a variant analysis model (e.g., to run different genome analysis applications or workflow pods).

언급된 바와 같이, 특정 실시예에서, 모델 스위칭 시스템(108)은 (예를 들어, 단일 유전체 분석 애플리케이션 내에 또는 상이한 유전체 분석 애플리케이션 내에) 상이한 워크플로우 포드에 대한 변이 분석 모델의 상이한 버전을 설치한다. 특히, 모델 스위칭 시스템(108)은 유전체 분석 애플리케이션 내에서 다수의 워크플로우 포드를 식별할 수 있고, 각자의 워크플로우 포드를 실행하기 위해 변이 분석 모델의 상이한 버전을 정의하는 단일 애플리케이션 사양을 분석할 수 있다. 또는 모델 스위칭 시스템(108)은 개별 워크플로우 포드에 대한 변이 분석 모델 버전을 정의하는 개별 애플리케이션 사양(또는 포드 사양)을 분석할 수 있다. 도 5는 하나 이상의 실시예에 따른 상이한 워크플로우 포드에 대한 변이 분석 모델의 상이한 버전을 설치하기 위한 예시적인 흐름을 예시한다.As noted, in certain embodiments, the model switching system (108) installs different versions of a variant analysis model for different workflow pods (e.g., within a single genome analysis application or within different genome analysis applications). In particular, the model switching system (108) may identify multiple workflow pods within a genome analysis application and may analyze a single application specification that defines different versions of a variant analysis model to execute for each of the workflow pods. Alternatively, the model switching system (108) may analyze individual application specifications (or pod specifications) that define variant analysis model versions for individual workflow pods. FIG. 5 illustrates an exemplary flow for installing different versions of a variant analysis model for different workflow pods according to one or more embodiments.

도 5에 예시된 바와 같이, 모델 스위칭 시스템(108)은 변이 분석 모델의 표시된 버전을 식별하고 표시된 버전을 유전체 분석 디바이스(518)(예를 들어, 유전체 분석 디바이스(410 또는 106)) 상에 설치하기 위해 변이 분석 모델 관리자(516)(예를 들어, 변이 분석 모델 관리자(406 또는 322))를 활용한다. 보다 구체적으로, 모델 스위칭 시스템(108)은 유전체 분석 애플리케이션(502)을 분석하여 워크플로우 포드 A(504), 워크플로우 포드 B(508) 및 워크플로우 포드 C(512)와 같은 복수의 워크플로우 포드를 식별한다. 추가적으로, 모델 스위칭 시스템(108)은 개별 워크플로우 포드(A 내지 C)를 실행하기 위해 각자의 표시된 버전을 지정하거나 정의하는 하나 이상의 애플리케이션 사양(또는 포드 사양)을 식별한다. 특정 경우에, 워크플로우 포드(A 내지 C)는 그들의 각자의 유전체 분석 기능이 변이 분석 모델의 상이한 버전에 속하는 상이한 구성요소 또는 기능을 필요로 하기 때문에 변이 분석 모델의 상이한 버전을 나타낸다.As illustrated in FIG. 5 , the model switching system (108) utilizes the variant analysis model manager (516) (e.g., the variant analysis model manager (406 or 322)) to identify a represented version of a variant analysis model and to install the represented version on a genome analysis device (518) (e.g., the genome analysis device (410 or 106)). More specifically, the model switching system (108) analyzes the genome analysis application (502) to identify a plurality of workflow pods, such as workflow pod A (504), workflow pod B (508), and workflow pod C (512). Additionally, the model switching system (108) identifies one or more application specifications (or pod specifications) that specify or define the respective represented versions for executing the respective workflow pods (A through C). In certain instances, the workflow pods (A through C) represent different versions of the variant analysis model because their respective genome analysis functions require different components or functionality belonging to the different versions of the variant analysis model.

예를 들어, 모델 스위칭 시스템(108)은 워크플로우 포드 A(504)와 연관된 애플리케이션 사양으로부터 표시된 버전 A(506)를 식별한다. 또한, 모델 스위칭 시스템(108)은 워크플로우 포드 B(508)와 연관된 표시된 버전 B(510)를 식별한다. 또한, 모델 스위칭 시스템(108)은 워크플로우 포드 C(512)와 연관된 표시된 버전 C(514)를 식별한다. 하나 이상의 실시예에서, 모델 스위칭 시스템(108)은 변이 분석 모델 버전(522)의 저장소를 포함하거나 저장하는 데이터베이스(520)(예를 들어, 데이터베이스(118))에 액세스한다. 모델 스위칭 시스템(108)은 표시된 버전(A 내지 C)이 변이 분석 모델 버전(522) 내에서 이용가능한지 여부를 결정하기 위해 이용가능한 변이 분석 모델 버전(522)을 표시된 버전(A 내지C)(한번에 모두 또는 순차적으로 한번에 하나씩)과 추가로 비교한다.For example, the model switching system (108) identifies an indicated version A (506) from the application specification associated with workflow pod A (504). Additionally, the model switching system (108) identifies an indicated version B (510) associated with workflow pod B (508). Additionally, the model switching system (108) identifies an indicated version C (514) associated with workflow pod C (512). In one or more embodiments, the model switching system (108) accesses a database (520) (e.g., the database (118)) that contains or stores a repository of variant analysis model versions (522). The model switching system (108) further compares the available variant analysis model versions (522) with the indicated versions (A through C) (all at once or one at a time sequentially) to determine whether the indicated versions (A through C) are available within the variant analysis model versions (522).

일부 실시예에서, 모델 스위칭 시스템(108)은 유전체 분석 디바이스(518)를 통해 실행될 각각의 해당 워크플로우 포드에 대한 표시된 버전을 식별하고 설치하기 위해 반복적이고 순차적인 방식으로 변이 분석 모델 관리자(516)를 추가로 활용한다. 자세히 설명하자면, 모델 스위칭 시스템(108)은 유전체 분석 디바이스(518) 상에 표시된 버전 A(506)를 식별하고 설치하며, 유전체 분석 디바이스(518) 상에 설치된 표시된 버전 A를 활용하여 워크플로우 포드 A(504)를 실행하기 위해 유전체 분석 디바이스(518)를 추가로 활용한다. 워크플로우 포드 A(504)의 실행이 완료되면, 모델 스위칭 시스템(108)은 표시된 버전 B(510)를 식별하고, 변이 분석 모델 버전(522) 중에서 그 가용성을 검증하고, 유전체 분석 디바이스(518) 상에 설치하고, 표시된 버전 B를 활용하여 워크플로우 포드 B(508)를 실행함으로써 워크플로우 포드 B(508)와 연속적으로 계속된다.In some embodiments, the model switching system (108) further utilizes the variant analysis model manager (516) in an iterative and sequential manner to identify and install the indicated version for each corresponding workflow pod to be executed via the genome analysis device (518). Specifically, the model switching system (108) identifies and installs the indicated version A (506) on the genome analysis device (518), and further utilizes the genome analysis device (518) to execute workflow pod A (504) utilizing the indicated version A installed on the genome analysis device (518). Upon completion of execution of workflow pod A (504), the model switching system (108) identifies the indicated version B (510), verifies its availability among the variant analysis model versions (522), installs it on the genome analysis device (518), and executes workflow pod B (508) utilizing the indicated version B, thereby continuing sequentially with workflow pod B (508).

마찬가지로, 모델 스위칭 시스템(108)은 표시된 버전 C(514)를 식별하고, 표시된 버전 C(514)가 변이 분석 모델 버전(522) 내에서 이용가능함을 검증하고, 표시된 버전 C(514)를 유전체 분석 디바이스(518)에 설치하고, 유전체 분석 디바이스(518)에 설치된 표시된 버전 C(514)를 활용하여 표시된 버전 C(514)를 실행함으로써 워크플로우 포드 C(512)에 대한 프로세스를 반복한다. 도시된 바와 같이, 모델 스위칭 시스템(108)은 유전체 분석 애플리케이션(502) 내에서 식별된 임의의 수의 워크플로우 포드(예를 들어, 변이 분석 모델의 상이한 표시된 버전을 지정하는 워크플로우 포드)에 대해 이 프로세스를 반복할 수 있다.Likewise, the model switching system (108) repeats the process for workflow pod C (512) by identifying the indicated version C (514), verifying that the indicated version C (514) is available within the variant analysis model version (522), installing the indicated version C (514) onto the genome analysis device (518), and executing the indicated version C (514) utilizing the indicated version C (514) installed on the genome analysis device (518). As illustrated, the model switching system (108) can repeat this process for any number of workflow pods identified within the genome analysis application (502) (e.g., workflow pods specifying different indicated versions of the variant analysis model).

위에서 언급된 바와 같이, 특정 실시예에서, 모델 스위칭 시스템(108)은 변이 분석 모델의 버전을 결정하고 업데이트하기 위해 컨테이너 및 포드를 활용한다. 특히, 모델 스위칭 시스템(108)은 유전체 분석 애플리케이션에 대한 요건 또는 파라미터에 기초하여 모델 버전을 업데이트할 수 있다. 도 6은 하나 이상의 실시예에 따른 모델 버전을 업데이트하고 애플리케이션을 실행하는 데 관련된 시스템 아키텍처(예를 들어, 로컬 서버 디바이스에 설치된 것)의 구성요소, 애플리케이션, 디바이스, 및 컨테이너의 예시적인 다이어그램을 예시한다.As noted above, in certain embodiments, the model switching system (108) utilizes containers and pods to determine and update versions of variant analysis models. In particular, the model switching system (108) can update model versions based on requirements or parameters for a genome analysis application. FIG. 6 illustrates an exemplary diagram of components of a system architecture (e.g., installed on a local server device), applications, devices, and containers involved in updating model versions and executing applications according to one or more embodiments.

도 6에 예시된 바와 같이, 모델 스위칭 시스템(108)은 서열분석 디바이스(예를 들어, 서열분석 디바이스(114))를 활용하여, 다양한 구성요소 또는 시스템과 통신하고, 로컬 서버 상의 변이 분석 모델(예를 들어, 로컬 서버 디바이스(들)(102) 상의 유전체 분석 디바이스(106))의 버전에 의해 사용되고/되거나 지시된 서열분석 동작을 수행한다. 예를 들어, 모델 스위칭 시스템(108)은 BaseSpace 서열분석 허브("BSSH": BaseSpace Sequencing Hub) 또는 연구 전용("RUO") 클라우드 기반 인터페이스 및 실험실 정보 관리 시스템("LIMS")과 통신하여 유전체 샘플의 뉴클레오티드 염기에 대한 염기 호출을 생성한다.As illustrated in FIG. 6 , the model switching system (108) utilizes a sequence analysis device (e.g., a sequence analysis device (114)) to communicate with various components or systems and perform sequence analysis operations used and/or directed by a version of a variant analysis model on a local server (e.g., a genome analysis device (106) on a local server device(s) (102)). For example, the model switching system (108) communicates with a BaseSpace Sequencing Hub (“BSSH”) or a Research Only Operations (“RUO”) cloud-based interface and laboratory information management system (“LIMS”) to generate base calls for nucleotide bases of a genome sample.

모델 스위칭 시스템(108)은 BSSH RUO 및/또는 LIMS로부터의 정보에 기초하여 샘플의 실시간 분석("RTA")을 수행한다. 보다 구체적으로, 모델 스위칭 시스템(108)은 RTA를 수행하여 서열분석 계획에 따라 유전체 샘플의 뉴클레오티드 염기로부터 염기 호출, 변이 호출, 및/또는 다양한 측정지표를 결정한다. 모델 스위칭 시스템(108)은 RTA에 기초하여, (예를 들어, RTA를 통해) 하나 이상의 서열분석 실행에 의해 생성되고 출력되는 원시 데이터를 포함하는 이진 염기 호출("BCL") 파일을 생성한다. 실제로, BCL 파일은 변이 분석 모델 및/또는 일부 다른 시스템에 의한 해석을 위한 염기 호출, 변이 호출, 및/또는 기타 서열분석 정보를 나타낼 수 있다.The model switching system (108) performs real-time analysis ("RTA") of the sample based on information from the BSSH RUO and/or the LIMS. More specifically, the model switching system (108) performs the RTA to determine base calls, variant calls, and/or various metrics from nucleotide bases of the genomic sample according to a sequence analysis plan. Based on the RTA, the model switching system (108) generates a binary base call ("BCL") file that includes raw data generated and output by one or more sequence analysis runs (e.g., via the RTA). In practice, the BCL file may represent base calls, variant calls, and/or other sequence analysis information for interpretation by the variant analysis model and/or some other system.

RTA의 서열분석 실행을 조직하거나 계획하기 위해, 모델 스위칭 시스템(108)은 특정 샘플에 대한 서열분석 실행을 계획하거나 스케줄링하기 위한 제어 소프트웨어(예를 들어, 사용자 인터페이스를 포함하는 것)를 제공한다. 실제로, 모델 스위칭 시스템(108)은 예를 들어 계획 파라미터에 따라 특정 유전자 마커 또는 유전적 특징에 대한 유전체 샘플을 테스트하기 위한 하나 이상의 서열분석 실행을 계획하기 위한 제어 소프트웨어 및 사용자 인터페이스를 제공한다. 예를 들어, 제어 소프트웨어는 사용자가 서열분석 실행을 위한 파라미터를 지정하고/하거나 특정 마커를 테스트할 수 있게 한다. 도시된 바와 같이, 모델 스위칭 시스템(108)은 서열분석 실행을 계획하기 위해 서열분석 디바이스와 인터페이스하기 위해 서열분석 디바이스용 제어 소프트웨어를 사용자 인터페이스 웹 포털(독립형 웹 브라우저 및 제어 소프트웨어 통합을 포함함)과 통합할 수 있다.To organize or schedule a sequence analysis run of the RTA, the model switching system (108) provides control software (e.g., including a user interface) for planning or scheduling a sequence analysis run for a particular sample. In practice, the model switching system (108) provides control software and a user interface for planning one or more sequence analysis runs for testing genomic samples for particular genetic markers or genetic traits, for example, according to planning parameters. For example, the control software allows a user to specify parameters for a sequence analysis run and/or to test for particular markers. As illustrated, the model switching system (108) can integrate the control software for a sequence analysis device with a user interface web portal (including a standalone web browser and integration of the control software) for interfacing with the sequence analysis device to plan a sequence analysis run.

일부 경우에서, 모델 스위칭 시스템(108)은 계획 소프트웨어(예를 들어, 제어 소프트웨어)가 로컬 에지 서버에 의해 호스팅되는 서열분석 실행을 위한 로컬 계획을 용이하게 한다. 이들 또는 다른 경우에서, 모델 스위칭 시스템(108)은 계획 소프트웨어(예를 들어, 제어 소프트웨어)가 로컬 서버 디바이스(들)(102)가 아닌 클라우드 서버에서 호스팅되는 서열분석 실행을 위한 클라우드 계획을 용이하게 한다. 유사한 방식으로, 변이 분석 모델의 실행은 변이 분석 모델을 호스팅하는 서버가 로컬 서버(예를 들어, 로컬 서버 디바이스(들)(102))인지 클라우드 기반 서버(예를 들어, 서버 디바이스(들)(120))인지 여부에 따라 로컬 기반 또는 클라우드 기반일 수도 있다.In some cases, the model switching system (108) facilitates local planning for sequence analysis executions where the planning software (e.g., control software) is hosted by a local edge server. In these or other cases, the model switching system (108) facilitates cloud planning for sequence analysis executions where the planning software (e.g., control software) is hosted on a cloud server rather than on the local server device(s) (102). In a similar manner, execution of the variant analysis models may be either local-based or cloud-based depending on whether the server hosting the variant analysis models is a local server (e.g., local server device(s) (102)) or a cloud-based server (e.g., server device(s) (120)).

하나 이상의 실시예에서, 모델 스위칭 시스템(108)은 인터넷 또는 광역 네트워크(WAN)에 연결되지 않은 컴퓨팅 디바이스를 갖는 다크 사이트 또는 다른 위치에 대한 변이 분석 모델에 대한 버전 업데이트 또는 버전 스위칭을 용이하게 한다. 예를 들어, 모델 스위칭 시스템(108)은 (i) 1차 분석 시스템, 2차 분석 시스템, 또는 3차 분석 시스템과 같은 유전체 서열분석 시스템이 프라이버시, 보안, 및/또는 다른 목적을 위해 인터넷에 연결되지 않고 (ii) 관련 시스템에 저장된 변이 분석 모델의 다수의 버전을 포함하는 상황을 수용한다. 자세히 설명하자면, 모델 스위칭 시스템(108)은 변이 분석 모델의 버전에 대한 인스톨러(installer)(예를 들어, 컴퓨팅 디바이스 상에 소프트웨어를 설치하기 위한 실행 가능한 디지털 파일)를 다운로드할 수 있고(또는 변이 분석 모델의 다수의 버전에 대한 다수의 인스톨러), 모델 스위칭 시스템(108) 상에(예를 들어, 유전체 분석 디바이스(106) 상에) 인스톨러를 복사하는 것을 용이하게 하는 그래픽 사용자 인터페이스를 생성하고 제공할 수 있다. 구체적으로, 모델 스위칭 시스템(108)은 관련 또는 선택된 모델 버전에 대한 인스톨러를 실행하기 위해 인터넷 또는 WAN 액세스를 요구하지 않고 (예를 들어, 인스톨러를 복사 및/또는 실행하기 위해) 그래픽 사용자 인터페이스를 사용하여 설치 프로세스를 안내할 수 있다. 예를 들어, 모델 스위칭 시스템(108)은 변이 분석 모델의 상이한 버전에 대한 다수의 인스톨러를 제공할 수 있고, 상이한 유전체 분석 애플리케이션의 파라미터 또는 요건에 기초하여 모델 버전 사이의 업데이트 또는 스위칭을 위해 적절한 인스톨러를 자동으로(또는 그래픽 사용자 인터페이스 내의 입력을 통해 수동으로) 선택, 복사, 및/또는 실행할 수 있다.In one or more embodiments, the model switching system (108) facilitates version updates or version switching for variant analysis models for dark sites or other locations that have computing devices that are not connected to the Internet or a wide area network (WAN). For example, the model switching system (108) accommodates situations where (i) a genome sequencing system, such as a primary analysis system, a secondary analysis system, or a tertiary analysis system, is not connected to the Internet for privacy, security, and/or other purposes, and (ii) includes multiple versions of a variant analysis model stored on the relevant system. Specifically, the model switching system (108) can generate and provide a graphical user interface that facilitates downloading an installer (e.g., an executable digital file for installing software on a computing device) for a version of a variant analysis model (or multiple installers for multiple versions of a variant analysis model) and copying the installer onto the model switching system (108) (e.g., onto the genome analysis device (106)). Specifically, the model switching system (108) can guide the installation process using a graphical user interface without requiring Internet or WAN access to execute the installer for the relevant or selected model version (e.g., to copy and/or execute the installer). For example, the model switching system (108) can provide multiple installers for different versions of a variant analysis model, and can automatically (or manually via input within the graphical user interface) select, copy, and/or execute the appropriate installer for updating or switching between model versions based on parameters or requirements of different genomic analysis applications.

도 6에 추가로 예시된 바와 같이, 모델 스위칭 시스템(108)의 시스템 아키텍처(600)는 하나 이상의 핵심 서비스와 연관된 컨테이너 또는 시스템을 포함하거나 이와 통신한다. 실제로, 도시된 바와 같이, 모델 스위칭 시스템(108)은 시스템 아키텍처(600)의 서비스를 포함한다. 모델 스위칭 시스템(108)의 시스템 아키텍처(600)의 다양한 서비스를 관리 또는 조정하기 위해, 시스템 아키텍처(600)는 유전체 분석을 수행하는 것과 연관된 다양한 포드 및 컨테이너를 관리하고 구현하기 위한 컨테이너 조정 엔진(601)(예를 들어, K3S 또는 Kubernetes)을 포함하고/하거나 변이 분석 모델에 대한 모델 버전을 업데이트한다. 설명된 바와 같이, 모델 스위칭 시스템(108)은 (예를 들어, 제3자 시스템의 애플리케이션에 의해 표시된 바와 같이) 변이 분석 모델의 표시된 버전을 식별하고 설치하는 것을 조정(orchestrate)하거나 조정(coordinate)하기 위해 컨테이너 조정 엔진(601)을 활용한다. 모델 스위칭 시스템(108)은 사용자 관리, 애플리케이션 관리, 실행 관리, 변이 분석 모델 관리, 기기 관리, 데이터 복사, 및 감사 로깅을 포함하는 다른 기능도 수행할 수 있다.As further illustrated in FIG. 6 , the system architecture (600) of the model switching system (108) includes or communicates with containers or systems associated with one or more core services. In fact, as illustrated, the model switching system (108) includes services of the system architecture (600). To manage or coordinate the various services of the system architecture (600) of the model switching system (108), the system architecture (600) includes a container orchestration engine (601) (e.g., K3S or Kubernetes) for managing and implementing the various pods and containers associated with performing genomic analysis and/or updating model versions for variant analysis models. As described, the model switching system (108) utilizes the container orchestration engine (601) to orchestrate or coordinate the identification and installation of indicated versions of variant analysis models (e.g., as indicated by applications of third-party systems). The model switching system (108) may also perform other functions including user management, application management, execution management, mutation analysis model management, device management, data copying, and audit logging.

예를 들어, 모델 스위칭 시스템(108)은 애플리케이션 사양을 분석하고, 변이 분석 모델의 표시된 버전을 식별하고, 표시된 버전을 설치하고, 표시된 버전을 활용하여 유전체 분석 애플리케이션을 실행하기 위해 다양한 워크플로우 포드 및/또는 워크플로우 컨테이너(워크플로우 포드의 일부임)를 포함하는 컨테이너 조정 엔진(601)을 활용한다. 일부 경우에서, 컨테이너 조정 엔진(601)은 변이 분석 모델의 버전을 설치하기 위한 기능을 포함하는 승인 제어기를 포함한다. 예를 들어, 승인 제어기는 변이 분석 모델의 표시된 버전을 설치하기 위한 명령어를 제공하기 위해 컨테이너 조정 엔진(601)(또는 모델 스위칭 시스템(108))의 다른 구성요소와 통신할 수 있다.For example, the model switching system (108) utilizes a container orchestration engine (601) that includes various workflow pods and/or workflow containers (that are part of the workflow pods) to analyze application specifications, identify indicated versions of variant analysis models, install the indicated versions, and run genome analysis applications utilizing the indicated versions. In some cases, the container orchestration engine (601) includes an admission controller that includes functionality for installing versions of variant analysis models. For example, the admission controller may communicate with other components of the container orchestration engine (601) (or the model switching system (108)) to provide commands to install indicated versions of variant analysis models.

예를 들어, 시스템 아키텍처(600)는 사용자 관리 서비스(602)(예를 들어, 하나 이상의 사용자 관리 포드 또는 컨테이너의 세트)를 포함한다. 사용자 관리 서비스(602)는 시스템 전반에 걸쳐 싱글 사인온("SSO") 경험을 제공하기 위한 다양한 프로세스 또는 기능을 수행한다. 구체적으로, 사용자 관리 서비스(602)는 예를 들어, 유전체 분석 디바이스 상에 현재 설치된 변이 분석 모델의 버전을 결정하고/하거나 유전체 분석 모델의 필요한 버전을 결정하기 위해 제3자 시스템에 대한 사용자 정보를 포함하거나 액세스하는 하나 이상의 컨테이너 또는 포드를 포함할 수 있다. 설치된 버전 및/또는 필요한 버전의 결정에 기초하여, 사용자 관리 서비스(602)는 시스템 아키텍처(600)의 다른 서비스와 통신하여 필요한 버전과 매칭되는 새로운 버전의 설치, 뿐만 아니라 현재 버전의 제거를 개시할 수 있다.For example, the system architecture (600) includes a user management service (602) (e.g., a set of one or more user management pods or containers). The user management service (602) performs various processes or functions to provide a single sign-on ("SSO") experience across the system. Specifically, the user management service (602) may include one or more containers or pods that contain or access user information for third-party systems, for example, to determine a version of a variant analysis model currently installed on a genome analysis device and/or to determine a required version of a genome analysis model. Based on the determination of the installed version and/or the required version, the user management service (602) may communicate with other services of the system architecture (600) to initiate the installation of a new version that matches the required version, as well as the removal of the current version.

또한, 시스템 아키텍처(600)는 컨테이너 조정 엔진(601)과 통신하는 애플리케이션 관리 서비스(604)를 포함하거나 활용한다. 예를 들어, 애플리케이션 관리 서비스(604)는 버전 업그레이드 및 이전 모델 버전의 제거를 위한 애플리케이션 패키지 설치를 관리한다. 일부 경우에서, 애플리케이션 관리 서비스(604)는 자원 관리자(예를 들어, 자원 관리자(312))를 추가로 포함한다. 설명된 바와 같이, 자원 관리자는 수정된 애플리케이션 사양에 의해 지정된 바와 같이 유전체 분석 디바이스 자원에 액세스하거나 이를 활용할 수 있다. 자세히 설명하자면, 자원 관리자는 FPGA 또는 CPU와 같은 지정된 자원에 액세스하기 위한 자원 레이블을, 컨테이너 조정 엔진을 통해 액세스하기 위한 스케줄 가능한 자원으로서 식별한다. 일부 경우에서, 애플리케이션 관리 서비스(604)는 유전체 분석 애플리케이션(또는 특정 워크플로우 포드)를 실행하기 위한 FPGA 또는 CPU 또는 일부 다른 유전체 분석 디바이스를 나타내는 애플리케이션 사양을 포함(또는 제3자 시스템으로부터 수신)하며, 따라서 자원 관리자는 유전체 분석 애플리케이션(또는 특정 워크플로우 포드)의 실행을 용이하게 하기 위해 지정된 디바이스(또는 다른 자원)에 액세스하거나 그와 통신한다.Additionally, the system architecture (600) includes or utilizes an application management service (604) that communicates with the container orchestration engine (601). For example, the application management service (604) manages application package installations for version upgrades and removal of previous model versions. In some cases, the application management service (604) further includes a resource manager (e.g., resource manager (312)). As described, the resource manager may access or utilize genomic analysis device resources as specified by the modified application specification. Specifically, the resource manager identifies a resource label for accessing a specified resource, such as an FPGA or CPU, as a schedulable resource for access via the container orchestration engine. In some cases, the application management service (604) includes (or receives from a third party system) an application specification that represents an FPGA or CPU or some other genomic analysis device for executing a genomic analysis application (or a particular workflow pod), so that the resource manager accesses or communicates with the designated device (or other resource) to facilitate execution of the genomic analysis application (or a particular workflow pod).

추가로 도시된 바와 같이, 시스템 아키텍처(600)는 실행 관리 및 조정 서비스(606)를 포함하거나 활용한다. 자세히 설명하자면, 실행 관리 및 조정 서비스(606)는 서열분석 실행, 1차 분석, 2차 분석, 또는 3차 분석과 같은 유전체 분석을 용이하게 하고 실행하기 위한 하나 이상의 컨테이너 또는 포드를 포함한다. 실제로, 실행 관리 및 조정 서비스(606)는 변이 분석 모델의 설치된 버전에 따라 서열분석 실행(및/또는 추가 분석)을 실행하기 위한 컴퓨터 코드 또는 명령어를 포함한다. 예를 들어, 실행 관리 및 조정 서비스(606)는 워크플로우 엔진(614)과 통신하여 제3자 시스템과 연관된 애플리케이션(예를 들어, TSO500 애플리케이션과 같은 종양학 분석 애플리케이션, QC 애플리케이션, 또는 다른 애플리케이션)과 같은 애플리케이션에 대한 맞춤형 워크플로우를 실행한다. 실행 관리 및 조정 서비스(606)는 유전체 분석을 수행하거나 로컬 네트워크 연결 저장장치("NAS"), 서버 메시지 블록("SMB"), 또는 공통 인터넷 파일 시스템("CIFS")과 같은 데이터베이스에 저장하기 위해 입력 및 출력 서열분석 데이터를 (예를 들어, 서열분석 디바이스에 의해 생성된 BCL 파일로부터) 복사하기 위해 데이터 복사 서비스(612)와 통신하기 위한 코드를 추가로 포함한다.As further illustrated, the system architecture (600) includes or utilizes an execution management and orchestration service (606). Specifically, the execution management and orchestration service (606) includes one or more containers or pods for facilitating and executing a sequence analysis run, a primary analysis, a secondary analysis, or a tertiary analysis. In practice, the execution management and orchestration service (606) includes computer code or instructions for executing a sequence analysis run (and/or additional analysis) depending on the installed version of the variant analysis model. For example, the execution management and orchestration service (606) communicates with the workflow engine (614) to execute a customized workflow for an application, such as an application associated with a third-party system (e.g., an oncology analysis application such as the TSO500 application, a QC application, or other application). The execution management and orchestration service (606) further includes code for communicating with a data copy service (612) to perform genome analysis or to copy input and output sequence analysis data (e.g., from a BCL file generated by a sequence analysis device) for storage in a database, such as a local network attached storage ("NAS"), server message block ("SMB"), or common internet file system ("CIFS").

또한, 시스템 아키텍처(600)는 변이 분석 모델 관리 서비스(608)를 포함한다. 특히, 변이 분석 모델 관리 서비스(608)는 유전체 분석을 수행하기 위한 변이 분석 모델(예를 들어, 변이 분석 모델(107))을 관리하기 위한 하나 이상의 컨테이너 또는 포드를 포함한다. 예를 들어, 변이 분석 모델 관리 서비스(608)는 샘플 유전체 서열 내의 특정 조건에 대한 유전자 마커를 검출하기 위해 설치된 특정 버전을 구현한다. 또한, 변이 분석 모델 관리 서비스(608)는 변이 분석 모델에 대한 라이센스 취득, 자체 테스트, 버전 인증과 같은 모델 주변 관리를 한다.In addition, the system architecture (600) includes a variant analysis model management service (608). In particular, the variant analysis model management service (608) includes one or more containers or pods for managing a variant analysis model (e.g., a variant analysis model (107)) for performing genome analysis. For example, the variant analysis model management service (608) implements a specific version installed for detecting genetic markers for specific conditions in a sample genome sequence. In addition, the variant analysis model management service (608) performs model peripheral management such as license acquisition, self-testing, and version certification for the variant analysis model.

도 6에 추가로 예시된 바와 같이, 시스템 아키텍처(600)는 기기 관리 서비스(610)를 포함한다. 하나 이상의 실시예에서, 기기 관리 서비스(610)는 서열분석 워크플로우 및/또는 서열분석 후의 유전체 분석 워크플로우의 일부로 사용되는 기기를 페어링하고 모니터링하기 위한 하나 이상의 컨테이너 또는 포드를 포함한다. 예를 들어, 기기 관리 서비스(610)는 서열분석 디바이스의 기기 및/또는 변이 분석 모델을 관리하여 호환 가능한 기기를 변이 분석 모델의 표시된 버전과 짝을 이루게 한다(또는 이와 반대로도 짝을 이루게 한다). 시스템 아키텍처(600)는 기기, 변이 분석 모델의 구성요소, 및/또는 애플리케이션 워크플로우 내의 컨테이너의 성능을 모니터링하고 로깅하기 위한 감사 로깅 서비스(616)를 추가로 포함한다. 예를 들어, 감사 로깅 서비스(616)는 시스템 아키텍처(600)와 연관된 오류 또는 기타 감사 정보를 검출하고 기록한다.As further illustrated in FIG. 6 , the system architecture (600) includes a device management service (610). In one or more embodiments, the device management service (610) includes one or more containers or pods for pairing and monitoring devices used as part of a sequence analysis workflow and/or a post-sequencing genome analysis workflow. For example, the device management service (610) manages devices and/or variant analysis models of sequence analysis devices to pair compatible devices with indicated versions of the variant analysis models (or vice versa). The system architecture (600) further includes an audit logging service (616) for monitoring and logging the performance of the devices, components of the variant analysis models, and/or containers within the application workflow. For example, the audit logging service (616) detects and logs errors or other audit information associated with the system architecture (600).

도 1의 설명에서 위에서 제안한 바와 같이, 도 6에 예시된 시스템 아키텍처(600)를 사용하여, 모델 스위칭 시스템(108)은 에지 서버(예를 들어, 로컬 서버 디바이스(102))에 로컬로 배포되거나, Illumina Connected Analytics("ICA")를 호스팅하는 클라우드 기반 서버 및/또는 Amazon Web Services("AWS")의 클라우드 기반 서버와 같은 클라우드에 배포될 수 있다. 예를 들어, 모델 스위칭 시스템(108)은 서열분석 실행 또는 기타 분석을 위한 사용자 입력에 기초하여 자원을 계획하는 계획 소프트웨어의 일부로서 로컬 서버 디바이스(들)(102) 상에서 로컬로 실행될 수 있고, 변이 분석 모델(107)도 마찬가지로 BCL 데이터를 분석하고 변이 호출 또는 기타 측정지표를 결정하기 위해 로컬 서버 디바이스(들)(102) 상에서 로컬로 실행될 수 있다. 대조적으로, 모델 스위칭 시스템(108)은 계획 소프트웨어의 일부로서 서버 디바이스(들)(120) 상에서 원격으로 실행될 수 있고, 변이 분석 모델(107)은 BCL 데이터를 분석하고 변이 호출을 결정하기 위해 로컬 서버 디바이스(들)(102) 상에서 로컬로 실행될 수 있다.As suggested above in the description of FIG. 1, using the system architecture (600) illustrated in FIG. 6, the model switching system (108) may be deployed locally on an edge server (e.g., a local server device (102)) or in the cloud, such as a cloud-based server hosting Illumina Connected Analytics ("ICA") and/or a cloud-based server of Amazon Web Services ("AWS"). For example, the model switching system (108) may be run locally on the local server device(s) (102) as part of planning software that plans resources based on user input for sequence analysis runs or other analyses, and the variant analysis model (107) may likewise be run locally on the local server device(s) (102) to analyze the BCL data and determine variant calls or other metrics. In contrast, the model switching system (108) can be executed remotely on server device(s) (120) as part of the planning software, and the mutation analysis model (107) can be executed locally on local server device(s) (102) to analyze BCL data and determine mutation calls.

이제 도 7을 참조하면, 이 도면은 하나 이상의 실시예에 따른 유전체 분석 애플리케이션을 실행하기 위한 변이 분석 모델의 표시된 버전을 식별하고 설치하는 일련의 행위의 예시적인 흐름도를 예시한다. 도 7은 일 구현예에 따른 행위를 예시하지만, 대안적인 구현예는 도 7에 도시된 행위 중 임의의 것을 생략, 추가, 재정렬, 및/또는 수정할 수 있다. 도 7의 행위는 방법의 일부로서 수행될 수 있다. 대안적으로, 비일시적 컴퓨터 판독가능 저장 매체는, 하나 이상의 프로세서에 의해 실행될 때 컴퓨팅 디바이스로 하여금 도 7에 도시된 행위를 수행하게 하는 명령어를 포함할 수 있다. 또 다른 실시예에서, 시스템은 적어도 하나의 프로세서, 및 하나 이상의 프로세서에 의해 실행될 때 해당 시스템으로 하여금 도 7의 행위를 수행하게 하는 명령어를 포함하는 비일시적 컴퓨터 판독가능 매체를 포함한다.Referring now to FIG. 7 , that diagram illustrates an exemplary flow diagram of a series of acts for identifying and installing a represented version of a variant analysis model for executing a genome analysis application according to one or more embodiments. While FIG. 7 illustrates the acts according to one embodiment, alternative implementations may omit, add, reorder, and/or modify any of the acts illustrated in FIG. 7 . The acts of FIG. 7 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 acts illustrated in FIG. 7 . In another embodiment, a system includes at least one processor, and a non-transitory computer-readable medium including instructions that, when executed by the one or more processors, cause the system to perform the acts of FIG. 7 .

도 7에 도시된 바와 같이, 일련의 행위(700)는 유전체 분석 애플리케이션을 식별하는 행위(702)를 포함한다. 특히, 행위(702)는 샘플 뉴클레오티드 서열에 대해 결정된 뉴클레오티드 염기 호출을 분석하기 위한 유전체 분석 애플리케이션을 식별하는 것을 포함할 수 있다. 행위(702)는 클라이언트 디바이스로부터 유전체 분석 애플리케이션을 식별하거나 수신하는 것을 수반할 수 있으며, 여기서 클라이언트 디바이스는 유전체 분석 플랫폼으로의 업로드 또는 전송을 위해 유전체 분석 애플리케이션을 배열하거나 생성한다.As illustrated in FIG. 7, the series of acts (700) includes an act of identifying a genome analysis application (702). In particular, the act (702) may include identifying a genome analysis application for analyzing nucleotide base calls determined for a sample nucleotide sequence. The act (702) may involve identifying or receiving a genome analysis application from a client device, wherein the client device arranges or generates the genome analysis application for upload or transmission to a genome analysis platform.

도 7에 또한 도시된 바와 같이, 일련의 행위(700)는 유전체 분석 애플리케이션을 실행하기 위한 변이 분석 모델의 표시된 버전을 결정하는 행위(704)를 포함한다. 특히, 행위(704)는 유전체 분석 애플리케이션에 대한 하나 이상의 파라미터를 정의하는 애플리케이션 사양에 의해 표시된 유전체 분석 애플리케이션을 실행하기 위한 변이 분석 모델의 표시된 버전을 결정하는 것을 포함할 수 있다. 예를 들어, 행위(704)는 변이 분석 모델의 표시된 버전을 지정하는 버전 라벨을 식별하기 위해 애플리케이션 사양을 분석하는 것을 수반할 수 있다. 일부 경우에서, 행위(704)는 변이 분석 모델의 표시된 버전을 지정하는 버전 라벨을 식별하기 위해 애플리케이션 사양을 분석하기 위해 변이 분석 모델 관리자를 활용하는 것을 포함한다.As further illustrated in FIG. 7 , the series of acts (700) includes an act (704) of determining a marked version of a variant analysis model for executing a genome analysis application. In particular, the act (704) may include determining a marked version of a variant analysis model for executing a genome analysis application indicated by an application specification that defines one or more parameters for the genome analysis application. For example, the act (704) may involve analyzing the application specification to identify a version label that specifies a marked version of the variant analysis model. In some cases, the act (704) includes utilizing a variant analysis model manager to analyze the application specification to identify a version label that specifies a marked version of the variant analysis model.

추가적으로, 일련의 행위(700)는 변이 분석 모델의 표시된 버전을 설치하는 행위(706)를 포함한다. 특히, 행위(706)는 변이 분석 모델의 표시된 버전을 결정하는 것에 기초하여, 변이 분석 모델의 이전에 설치된 버전 대신에 실행을 위해 변이 분석 모델의 표시된 버전을 설치하는 것을 포함할 수 있다. 예를 들어, 행위(706)는 유전체 분석을 수행하기 위해 변이 분석 모델의 표시된 버전을 포함하도록 필드 프로그래머블 게이트 어레이를 업데이트하는 것을 수반할 수 있다. 일부 경우에서, 행위(706)는 변이 분석 모델의 이용가능한 버전을 결정하고 이용가능한 버전으로부터 표시된 버전의 설치를 개시하기 위해 변이 분석 모델 관리자를 활용함으로써 변이 분석 모델의 표시된 버전을 자동으로 설치하는 것을 수반한다.Additionally, the series of acts (700) includes an act (706) of installing a marked version of a variant analysis model. In particular, act (706) may include installing the marked version of the variant analysis model for execution in place of a previously installed version of the variant analysis model, based on determining the marked version of the variant analysis model. For example, act (706) may involve updating a field programmable gate array to include the marked version of the variant analysis model for performing genomic analysis. In some cases, act (706) involves automatically installing the marked version of the variant analysis model by utilizing a variant analysis model manager to determine available versions of the variant analysis model and initiate installation of the marked version from the available versions.

하나 이상의 실시예에서, 일련의 행위(700)는 변이 분석 모델의 표시된 버전이 변이 분석 모델의 이전에 설치된 버전과 상이하다고 결정하는 행위를 포함하며, 여기서 변이 분석 모델의 단일 버전만이 한 번에 설치될 수 있다. 이들 또는 다른 실시예에서, 행위(706)는 표시된 버전이 이전에 설치된 버전과 상이하다고 결정하는 것에 기초하는 변이 분석 모델의 표시된 버전을 설치하는 것을 수반할 수 있다. 하나 이상의 경우에, 행위(706)는 변이 분석 모델의 이전에 설치된 버전을 변이 분석 모델의 표시된 버전으로 대체하는 것을 수반한다. 특정 경우에, 행위(706)는, 표시된 버전 및 변이 분석 모델의 이전에 설치된 버전이 시스템의 하나 이상의 서버 상에 설치되도록, 이전에 설치된 버전에 더하여 변이 분석 모델의 표시된 버전을 설치하는 것을 수반한다.In one or more embodiments, the series of acts (700) comprises determining that the indicated version of the variant analysis model is different from a previously installed version of the variant analysis model, wherein only a single version of the variant analysis model can be installed at a time. In these or other embodiments, act (706) may involve installing the indicated version of the variant analysis model based on determining that the indicated version is different from the previously installed version. In one or more cases, act (706) involves replacing the previously installed version of the variant analysis model with the indicated version of the variant analysis model. In certain cases, act (706) involves installing the indicated version of the variant analysis model in addition to the previously installed version, such that the indicated version and the previously installed version of the variant analysis model are installed on one or more servers of the system.

하나 이상의 실시예에서, 행위(706)는 변이 분석 모델의 표시된 버전의 설치를 개시하기 위해 변이 분석 모델에 의해 공유되는 서버 상에 수용된 변이 분석 모델 관리자를 활용하는 것을 수반한다. 행위(706)는 변이 분석 모델의 표시된 버전이 변이 분석 모델의 다수의 버전을 저장하는 원격 저장소 내에 저장된다고 결정하는 것을 수반할 수 있다. 일부 경우에서, 행위(706)는 표시된 버전이 원격 저장소 내에 저장된다고 결정하는 것에 기초하여 변이 분석 모델의 표시된 버전을 설치하라는 명령어를 서버에 제공하는 것을 수반할 수 있다.In one or more embodiments, act (706) involves utilizing a variant analysis model manager hosted on a server shared by the variant analysis model to initiate installation of the indicated version of the variant analysis model. Act (706) may involve determining that the indicated version of the variant analysis model is stored in a remote repository that stores multiple versions of the variant analysis model. In some cases, act (706) may involve providing a command to the server to install the indicated version of the variant analysis model based on determining that the indicated version is stored in the remote repository.

일부 실시예에서, 일련의 행위(700)는 유전체 분석 디바이스 상에 설치된 변이 분석 모델의 표시된 버전이 변이 분석 모델의 이전에 설치된 버전과 상이하다고 결정하는 행위를 포함하고, 유전체 분석 디바이스는 한 번에 변이 분석 모델의 단일 버전을 실행하도록 구성될 수 있다. 행위(706)는 표시된 버전이 이전에 설치된 버전과 상이하다는 결정에 기초하여 유전체 분석 디바이스 상에 변이 분석 모델의 표시된 버전을 설치하는 것을 추가로 수반할 수 있다. 일련의 행위(700)는 또한 유전체 분석 디바이스를 지정하는 애플리케이션 사양 내의 자원 라벨을 식별하기 위해 돌연변이 웹후크 제어기를 활용함으로써 변이 분석 모델의 표시된 버전을 설치하기 위한 위치로서 유전체 분석 디바이스를 선택하는 행위를 포함할 수 있다.In some embodiments, the series of acts (700) includes determining that the indicated version of the variant analysis model installed on the genome analysis device is different from a previously installed version of the variant analysis model, wherein the genome analysis device can be configured to run a single version of the variant analysis model at a time. Act (706) can further involve installing the indicated version of the variant analysis model on the genome analysis device based on the determination that the indicated version is different from the previously installed version. The series of acts (700) can also include selecting the genome analysis device as a location for installing the indicated version of the variant analysis model by utilizing a mutation webhook controller to identify a resource label within an application specification that specifies the genome analysis device.

도 7에 추가로 예시된 바와 같이, 일련의 행위(700)는 변이 분석 모델의 표시된 버전을 활용하여 유전체 분석 애플리케이션을 실행하는 행위(708)를 포함한다. 특히, 행위(708)는 변이 분석 모델의 표시된 버전을 활용하여 뉴클레오티드 염기 호출을 분석하기 위해 유전체 분석 애플리케이션을 실행하는 것을 포함할 수 있다. 일부 실시예에서, 행위(708)는 유전체 분석 애플리케이션을 실행하기 위한 변이 분석 모델을 수용하는 유전체 분석 디바이스의 계산 가용성을 결정하는 것 및 유전체 분석 디바이스의 계산 가용성에 기초하여 유전체 분석 디바이스에 의한 유전체 분석 애플리케이션의 실행을 스케줄링하는 것을 수반한다. 특정 경우에, 일련의 행위(700)는 서열분석 디바이스로부터 뉴클레오티드 염기 호출을 포함하는 서열분석 데이터를 수신하는 행위를 포함한다. 행위(708)는 변이 분석 모델의 표시된 버전을 실행하도록 구성된 필드 프로그래머블 게이트 어레이를 활용하여 뉴클레오티드 염기 호출을 분석하기 위해 유전체 분석 애플리케이션을 실행하는 것을 추가로 수반할 수 있다.As further illustrated in FIG. 7, the series of acts (700) includes executing a genome analysis application utilizing a displayed version of a variant analysis model (708). In particular, the act (708) may include executing the genome analysis application to analyze nucleotide base calls utilizing the displayed version of the variant analysis model. In some embodiments, the act (708) involves determining the computational availability of a genome analysis device that accommodates the variant analysis model for executing the genome analysis application and scheduling execution of the genome analysis application by the genome analysis device based on the computational availability of the genome analysis device. In certain instances, the series of acts (700) includes receiving sequence analysis data including nucleotide base calls from a sequence analysis device. The act (708) may further involve executing the genome analysis application to analyze nucleotide base calls utilizing a field programmable gate array configured to execute the displayed version of the variant analysis model.

하나 이상의 실시예에서, 일련의 행위(700)는 다수의 워크플로우 포드를 식별하는 행위를 포함하고, 다수의 워크플로우 포드 중 2개 이상은 그들의 각자의 기능을 수행하기 위해 변이 분석 모델의 상이한 버전을 지정한다. 이들 또는 다른 실시예에서, 일련의 행위(700)는 다수의 워크플로우 포드 각각을 연속적으로 실행하기 위해 변이 분석 모델의 상이한 버전을 반복적으로 설치하는 행위를 포함한다. 일련의 행위(700)는 변이 분석 모델의 표시된 버전을 식별하고 변이 분석 모델의 표시된 버전의 설치를 초기화하기 위한 명령어를 포함하도록 유전체 분석 애플리케이션에 대한 애플리케이션 사양을 수정하기 위해 돌연변이 웹후크 제어기를 활용하는 행위를 포함할 수 있다. 애플리케이션 사양을 수정하는 것은 변이 분석 모델의 표시된 버전을 설치하기 위해 변이 분석 모델 관리자와 통신하는 애플리케이션 사양에 초기화 워크플로우 컨테이너를 추가하는 것을 포함할 수 있다.In one or more embodiments, the series of acts (700) comprises identifying a plurality of workflow pods, wherein two or more of the plurality of workflow pods specify different versions of the mutation analysis model to perform their respective functions. In these or other embodiments, the series of acts (700) comprises repeatedly installing the different versions of the mutation analysis model for sequential execution of each of the plurality of workflow pods. The series of acts (700) may comprise utilizing a mutation webhook controller to modify an application specification for a genome analysis application to include instructions for identifying the indicated versions of the mutation analysis model and initializing installation of the indicated versions of the mutation analysis model. Modifying the application specification may comprise adding an initialization workflow container to the application specification that communicates with a mutation analysis model manager to install the indicated versions of the mutation analysis model.

특정 실시예에서, 일련의 행위(700)는 샘플 뉴클레오티드 서열에 대해 결정된 뉴클레오티드 염기 호출을 분석하기 위한 다수의 추가 유전체 분석 애플리케이션을 식별하는 행위를 포함하며, 다수의 추가 유전체 분석 애플리케이션 각각은 변이 분석 모델의 상이한 버전을 지정한다. 또한, 일련의 행위(700)는, 다수의 추가 유전체 분석 애플리케이션 중 이전 유전체 분석 애플리케이션으로부터의 버전을 대체하기 위해 다수의 추가 유전체 분석 애플리케이션 중 현재 유전체 분석 애플리케이션에 대한 변이 분석 모델의 버전을 설치하는 것과 현재 유전체 분석 애플리케이션에 대한 변이 분석 모델의 버전을 활용하여 현재 유전체 분석 애플리케이션을 실행하는 것과 같이 반복적으로 다수의 추가 유전체 분석 애플리케이션 각각을 순차적으로 실행하는 행위를 포함할 수 있다.In certain embodiments, the series of acts (700) includes identifying a plurality of additional genomic analysis applications for analyzing nucleotide base calls determined for the sample nucleotide sequence, each of the plurality of additional genomic analysis applications specifying a different version of the variant analysis model. Additionally, the series of acts (700) may include sequentially executing each of the plurality of additional genomic analysis applications, iteratively, such as installing a version of the variant analysis model for a current genomic analysis application among the plurality of additional genomic analysis applications to replace a version from a previous genomic analysis application among the plurality of additional genomic analysis applications, and executing the current genomic analysis application utilizing the version of the variant analysis model for the current genomic analysis application.

본원에 기재된 방법은 다양한 핵산 서열분석 기술과 함께 사용될 수 있다. 특히 적용 가능한 기술은 상대적인 위치가 변경되지 않도록 핵산이 하나의 어레이의 고정된 위치에 부착되고 그 어레이가 반복적으로 이미지화되는 기술이다. 예를 들어, 하나의 뉴클레오티드 염기 유형을 다른 것과 식별하는 데 사용되는 상이한 라벨과 일치하는 서로 다른 색상 채널에서 이미지가 얻어지는 실시예가 특히 적용 가능하다. 일부 실시예에서, 표적 핵산(즉, 핵산 중합체)의 뉴클레오티드 서열을 결정하는 프로세스는 자동화 프로세스일 수 있다. 바람직한 실시예는 합성에 의한 서열분석("SBS") 기술을 포함한다.The methods described herein can be used in conjunction with a variety of nucleic acid sequencing techniques. Particularly applicable techniques are those in which nucleic acids are attached to fixed locations on an array so that their relative positions do not change, and the array is imaged repeatedly. 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 a target nucleic acid (i.e., a nucleic acid polymer) can be an automated process. Preferred embodiments include sequence-by-synthesis ("SBS") techniques.

SBS 기술은 일반적으로 주형 가닥에 대한 뉴클레오티드의 반복적 추가를 통한 신생 핵산 가닥의 효소적 연장을 수반한다. 전통적인 SBS 방법에서, 단일 뉴클레오티드 단량체가 각각의 전달에서 중합효소의 존재 하에 표적 뉴클레오티드에 제공될 수 있다. 그러나, 본원에 기재된 방법에 있어서는, 하나 초과의 유형의 뉴클레오티드 단량체가 전달에서 중합효소의 존재 하에 표적 핵산에 제공될 수 있다.SBS technology generally involves enzymatic elongation of a nascent nucleic acid strand through repeated addition of nucleotides to a template strand. In traditional SBS methods, a single nucleotide monomer may be provided to a target nucleotide in the presence of a polymerase in each delivery. However, in the methods described herein, more than one type of nucleotide monomer may be provided to a target nucleic acid in the presence of a polymerase in a delivery.

SBS는 종결자(terminator) 모이어티(moiety)를 갖는 뉴클레오티드 단량체 또는 임의의 종결자 모이어티가 없는 뉴클레오티드 단량체를 활용할 수 있다. 종결자가 없는 뉴클레오티드 단량체를 활용하는 방법은, 예를 들어, 하기에 더욱 상세히 설명되는 바와 같이, γ-포스페이트 라벨링된 뉴클레오티드를 사용하는 서열분석 및 파이로서열분석(pyrosequencing)을 포함한다. 종결자가 없는 뉴클레오티드 단량체를 사용하는 방법에서, 각 주기에 추가되는 뉴클레오티드의 수는 일반적으로 가변적이며 주형 서열 및 뉴클레오티드 전달 방식에 따라 다르다. 종결자 모이어티를 갖는 뉴클레오티드 단량체를 활용하는 SBS 기술에서, 종결자는 디데옥시뉴클레오티드를 활용하는 전통적인 Sanger 서열분석의 경우와 같이, 사용된 서열분석 조건 하에서 실제로 비가역적일 수 있거나, 종결자는 Solexa(현재, Illumina, Inc.)에 의해 개발된 서열분석 방법의 경우와 같이 가역적일 수 있다.SBS can utilize nucleotide monomers having a terminator moiety or nucleotide monomers lacking any terminator moiety. Methods utilizing nucleotide monomers lacking a terminator include, for example, sequencing and pyrosequencing using γ-phosphate labeled nucleotides, as described in more detail below. In methods utilizing nucleotide monomers lacking a terminator, 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 utilizing nucleotide monomers having a terminator moiety, the terminator may be substantially irreversible under the sequencing conditions employed, as is the case in traditional Sanger sequencing utilizing dideoxynucleotides, or the terminator may be reversible, as is the case in the sequencing methods developed by Solexa (now Illumina, Inc.).

SBS 기술은 라벨 모이어티를 갖는 뉴클레오티드 단량체 또는 라벨 모이어티가 없는 것을 활용할 수 있다. 따라서, 혼입 이벤트는 라벨의 형광과 같은 라벨의 특성; 분자량 또는 전하와 같은 뉴클레오티드 단량체의 특성; 파이로포스페이트의 방출과 같은 뉴클레오티드 혼입의 부산물; 등에 기초하여 검출될 수 있다. 2종 이상의 상이한 뉴클레오티드가 서열분석 시약 중에 존재하는 실시예에서, 상이한 뉴클레오티드는 서로 구별 가능할 수 있거나, 이와 달리, 2개 이상의 상이한 라벨은 사용 중인 검출 기술 하에서는 구별 가능하지 않을 수 있다. 예를 들어, 서열분석 시약에 존재하는 상이한 뉴클레오티드는 상이한 라벨을 가질 수 있으며, Solexa(현재 Illumina, Inc.)에서 개발한 서열분석 방법에 의해 예시된 바와 같이 적절한 광학 장치를 사용하여 구별될 수 있다.SBS technology can utilize nucleotide monomers with or without a label moiety. Accordingly, incorporation events can be detected based on a property of the label, such as fluorescence of the label; a property of the nucleotide monomer, such as molecular weight or charge; a byproduct of nucleotide incorporation, such as release of pyrophosphate; etc. In embodiments where two or more different nucleotides are present in the sequencing reagent, the different nucleotides may be distinguishable from one another, or alternatively, the two or more different labels may not be distinguishable under the detection technology being used. For example, the different nucleotides present in the sequencing reagent may have different labels and be distinguishable using appropriate optical equipment, such as exemplified by the sequencing method developed by Solexa (now Illumina, Inc.).

바람직한 실시예는 파이로서열분석 기술을 포함한다. 파이로서열분석은 특정 뉴클레오티드가 신생 가닥에 혼입될 때 무기 파이로포스페이트(PPi)의 방출을 검출한다(문헌[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]; 미국 특허 제6,210,891호; 미국 특허 제6,258,568호 및 미국 특허 제6,274,320호, 이들의 개시내용 전문이 본원에 참고로 포함됨). 파이로서열분석에서, 방출된 PPi는 ATP 설퍼릴라제(sulfurylase)에 의해 즉시 아데노신 삼인산(ATP: adenosine triphosphate)으로 전환되어(converted) 검출될 수 있으며, 생성된 ATP의 수준은 루시퍼라제-생성 광자를 통해 검출된다. 서열분석될 핵산은 어레이에서의 특징부에 부착될 수 있고, 어레이의 특징에서 뉴클레오티드의 혼입으로 인해 생성되는 화학발광 신호를 캡처하기 위해 어레이가 이미지화될 수 있다. 어레이를 특정 뉴클레오티드 유형(예를 들어, A, T, C 또는 G)으로 처리한 후 이미지를 얻을 수 있다. 각 뉴클레오티드 유형을 추가한 후 얻어진 이미지는 어레이의 특징부가 검출되는 것과 관련하여 상이하다. 이미지의 이러한 차이는 어레이에 있는 특징부의 상이한 서열 내용을 반영한다. 그러나, 각 특징부의 상대적 위치는 이미지에서 변경되지 않은 상태로 유지된다. 이미지는 본원에 설명된 방법을 사용하여 저장, 처리, 및 분석될 수 있다. 예를 들어, 각각의 상이한 뉴클레오티드 유형으로 어레이를 처리한 후 얻어진 이미지는 가역적 종결자 기반 서열분석 방법의 경우에는 서로 다른 검출 채널들에서 얻은 이미지에 대해 본원에 예시된 것과 동일한 방식으로 처리될 수 있다.A preferred embodiment comprises a pyrosequencing technique. Pyrosequencing detects the release of inorganic pyrophosphate (PPi) when specific nucleotides are incorporated into a new 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 No. 6,210,891; U.S. Patent (U.S. Pat. No. 6,258,568 and U.S. Pat. No. 6,274,320, the disclosures of which are incorporated herein by reference in their entireties). In pyrosequencing, the released PPi is immediately converted to adenosine triphosphate (ATP) by ATP sulfurylase, which can be detected, and the level of ATP produced is detected via luciferase-generated photons. The nucleic acids to be sequenced can be attached to features in the array, and the array can be imaged to capture the chemiluminescent signal generated by incorporation of the nucleotides at the features in the array. The array can be imaged after treatment with a particular nucleotide type (e.g., A, T, C, or G). The 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 contents of the features in the array. However, the relative positions of the individual features remain unchanged in the images. The images can be stored, processed, and analyzed using the methods described herein. For example, the images obtained after processing the array with each different nucleotide type can be processed in the same manner as exemplified herein for images obtained from different detection channels in the case of a reversible terminator-based sequencing method.

SBS의 다른 예시적인 유형에서, 사이클 서열분석은, 예를 들어, 개시내용이 본원에 참고로 포함되는 국제공개 WO 04/018497호 및 미국 특허 제7,057,026호에 기재된 바와 같은, 절단 가능한 또는 광표백성 염료 라벨을 포함하는 가역적 종결자 뉴클레오티드의 단계별 부가에 의해 달성된다. 이러한 접근법은 Solexa(현재 Illumina Inc.)에 의해 상업화되고 있으며, 또한 국제공개 WO 91/06678호 및 WO 07/123,744호에 기재되어 있으며, 이들 각각은 본원에 참고로 포함된다. 종결이 역전될 수 있고 형광 라벨이 절단되는 형광 라벨링된 종결자의 가용성은 효율적인 순환 가역 종결(CRT: cyclic reversible termination) 서열분석을 용이하게 한다. 중합효소도 또한 이러한 변형된 뉴클레오티드를 효율적으로 혼입시키고 신장시키도록 공동 조작될 수 있다.In another exemplary type of SBS, cyclic sequencing is accomplished by stepwise addition of reversible terminator nucleotides comprising cleavable or photobleachable dye labels, such as those described in, for example, International Publication No. WO 04/018497 and U.S. Pat. No. 7,057,026, the disclosures of which are herein incorporated by reference. This approach is commercialized by Solexa (now Illumina Inc.), and is also described in International Publication Nos. WO 91/06678 and WO 07/123,744, each of which is herein incorporated by reference. The availability of fluorescently labeled terminators whose termination is reversible and whose fluorescent label is cleaved facilitates efficient cyclic reversible termination (CRT) sequencing. Polymerases can also be co-engineered to efficiently incorporate and extend such modified nucleotides.

바람직하게는 가역적 종결자 기반 서열분석 실시예에서, 라벨은 SBS 반응 조건 하에서 신장(extension)을 실질적으로 저해하지 않는다. 그러나, 검출 라벨은 예를 들어 절단 또는 분해에 의해 제거될 수 있다. 배열된 핵산 특징부에 라벨이 혼입된 후에 이미지가 캡처될 수 있다. 특정 실시예에서, 각각의 사이클은 어레이에 4개의 상이한 뉴클레오티드 유형을 동시에 전달하는 것을 수반하고, 각각의 뉴클레오티드 유형은 스펙트럼적으로 구별되는 라벨을 갖는다. 그런 다음 4개의 이미지를 얻을 수 있고, 그 이미지 각각은 4개의 상이한 라벨 중 하나에 대해 선택적인 검출 채널을 사용한다. 대안적으로, 상이한 뉴클레오티드 유형이 순차적으로 추가될 수 있으며 각 추가 단계 사이에 어레이의 이미지가 얻어질 수 있다. 이러한 실시예에서, 각 이미지는 특정 유형의 뉴클레오티드가 혼입된 핵산 특징부를 나타낼 것이다. 각 특징부의 서열 내용이 상이하기 때문에 상이한 이미지에 상이한 특징부가 있거나 혹은 없다. 그러나 특징부의 상대적 위치는 이미지에서 변경되지 않은 상태로 유지된다. 이러한 가역적 종결자-SBS 방법으로부터 얻어진 이미지는 본원에 기재된 바와 같이 저장, 처리, 및 분석될 수 있다. 이미지 캡처 단계 후, 라벨은 제거될 수 있으며, 후속 뉴클레오티드 추가 및 검출 사이클을 위해 가역적 종결자 모이어티가 제거될 수 있다. 특정 사이클에서 검출된 후 후속 사이클 이전에 라벨이 제거되면 배경 신호와 사이클 사이의 누화(crosstalk)를 줄이는 이점을 제공할 수 있다. 유용한 라벨 및 제거 방법의 예가 하기에 기재된다.Preferably, in a reversible terminator-based sequence analysis embodiment, the label does not substantially inhibit extension under SBS reaction conditions. However, the detection label may be removed, for example, by cleavage or degradation. After the labels are incorporated into the arrayed nucleic acid features, images may be captured. In a particular embodiment, each cycle involves simultaneously delivering four different nucleotide types to the array, each nucleotide type having a spectrally distinct label. Four images may then be acquired, each using a detection channel that is selective for one of the four different labels. Alternatively, the different nucleotide types may be sequentially added, and an image of the array may be acquired between each addition step. In such an embodiment, each image will represent a nucleic acid feature incorporated with a particular type of nucleotide. Different features may be present or absent in different images because the sequence content of each feature is different. However, the relative positions of the features remain unchanged in the images. Images obtained from such a reversible terminator-SBS method may be stored, processed, and analyzed as described herein. After the image capture step, the label can be removed and the reversible terminator moiety can be removed for subsequent nucleotide addition and detection cycles. Removing the label after detection in a particular cycle and before a subsequent cycle can provide the advantage of reducing background signal and crosstalk between cycles. Examples of useful label and removal methods are described below.

특정 실시예에서, 뉴클레오티드 단량체의 일부 또는 전부는 가역적 종결자를 포함할 수 있다. 이러한 실시예에서, 가역적 종결인자/절단 가능한 플루오르는 3' 에스테르 결합을 통해 리보스 모이어티에 연결된 플루오르를 포함할 수 있다(문헌[Metzker, Genome Res. 15:1767-1776 (2005)]에 기재되어 있으며, 이는 본원에 참고로 포함됨). 다른 접근법은 형광 라벨의 절단으로부터 종결자 화학물질을 분리하였다(문헌[Ruparel 외, Proc Natl Acad Sci USA 102: 5932-7 (2005)], 이는 전체 내용이 본원에 참고로 포함됨). Ruparel 등은 연장을 차단하기 위해 작은 3' 알릴 그룹(allyl group)을 사용하지만 팔라듐 촉매로 짧은 처리로 쉽게 차단이 해제될 수 있는 가역적 종결자의 개발을 설명하였다. 형광단은 장파장 UV 광에 30초 노출되면 쉽게 절단될 수 있는 광절단 가능한 링커를 통해 염기에 부착되었다. 따라서, 디설파이드 환원 또는 광절단이 절단 가능한 링커로서 사용될 수 있다. 가역적 종결에 대한 다른 접근법은 dNTP에 부피가 큰 염료를 배치한 후 발생하는 자연 종결을 사용하는 것이다. dNTP에 하전된 부피가 큰 염료의 존재는 입체 및/또는 정전기 장애를 통해 효과적인 종결자로서 작용할 수 있다. 하나의 혼입 이벤트가 있으면 염료가 제거되지 않는 한 추가 혼입이 방지된다. 염료의 절단은 플루오르를 제거하고 효과적으로 종결을 역전시킨다. 변형된 뉴클레오티드의 예는 또한 미국 특허 제7,427,673호 및 미국 특허 제7,057,026호에 기재되어 있으며, 이의 개시내용은 그 전체가 본원에 참고로 포함된다.In certain embodiments, some or all of the nucleotide monomers may comprise a reversible terminator. In such embodiments, the reversible terminator/cleavable fluorophore may comprise a fluorophore linked to the ribose moiety via a 3' ester bond (as described in Metzker, Genome Res. 15:1767-1776 (2005), which is incorporated herein by reference). Another approach has separated the terminator chemistry from the cleavage of the fluorescent label (as described in Ruparel et al., Proc Natl Acad Sci USA 102: 5932-7 (2005), which is incorporated herein by reference in its entirety). Ruparel et al. described the development of reversible terminators that utilize a small 3' allyl group to block extension, but which can be readily deblocked by a brief treatment with a palladium catalyst. The fluorophore is attached to the base via a photocleavable linker that is readily cleaved by exposure to long wavelength UV light for 30 seconds. Thus, disulfide reduction or photocleavage can be used as the cleavable linker. Another approach to reversible termination is to use the spontaneous termination that occurs after 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. Once an incorporation event has occurred, further incorporation is prevented unless the dye is removed. Cleavage of the dye removes the fluorine and effectively reverses the termination. Examples of modified nucleotides are also described in U.S. Pat. No. 7,427,673 and U.S. Pat. No. 7,057,026, the disclosures of which are incorporated herein by reference in their entireties.

본원에서 설명된 방법 및 시스템과 함께 활용될 수 있는 추가의 예시적인 SBS 시스템 및 방법은 미국 특허 출원 공개 제2007/0166705호, 미국 특허 출원 공개 제2006/0188901호, 미국 특허 제7,057,026호, 미국 특허 출원 공개 제2006/0240439호, 미국 특허 출원 공개 제2006/0281109호, PCT 국제공개 WO 05/065814호, 미국 특허 출원 공개 제2005/0100900호, PCT 국제공개 WO 06/064199호, PCT 국제공개 WO 07/010,251호, 미국 특허 출원 공개 제2012/0270305호 및 미국 특허 출원 공개 제2013/0260372호에 기술되어 있으며, 이들의 개시내용은 그 전체가 본원에 참고로 포함된다.Additional exemplary SBS systems and methods that can 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, PCT International Publication No. WO 05/065814, U.S. Patent Application Publication No. 2005/0100900, PCT International Publication No. WO 06/064199, PCT International Publication No. 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.

일부 실시예는 4개 미만의 상이한 라벨을 사용하여 4개의 상이한 뉴클레오티드의 검출을 활용할 수 있다. 예를 들어, SBS는 미국 특허 출원 공개 제2013/0079232호에 포함된 자료에 기술된 방법 및 시스템을 활용하여 수행될 수 있다. 첫 번째 예로서, 한 쌍의 뉴클레오티드 유형은 동일한 파장에서 검출될 수 있지만, 쌍의 한 구성원이 다른 구성원과 비교하여 강도 차이를 기준으로 하거나 쌍의 다른 구성원에 대해 검출된 신호와 비교하여 명백한 신호가 나타나거나 사라지게 하는 쌍 중 한 구성원의 변화(예컨대 화학적 변형, 광화학적 변형 또는 물리적 변형을 통해)를 기준으로 구별된다. 두 번째 예로서, 4개의 상이한 뉴클레오티드 유형 중 3개가 특정 조건 하에서 검출될 수 있는 반면, 네 번째 뉴클레오티드 유형은 이러한 조건 하에서 검출가능한 라벨이 없거나, 이러한 조건 하에서 최소한으로 검출된다(예컨대, 배경 형광으로 인한 최소 검출 등). 핵산으로의 처음 3개의 뉴클레오티드 유형의 혼입은 그들 각자의 신호의 존재에 기초하여 결정될 수 있고 핵산으로의 네 번째 뉴클레오티드 유형의 혼입은 임의의 신호의 부재 또는 최소 검출에 기초하여 결정될 수 있다. 세 번째 예로서, 하나의 뉴클레오티드 유형은 두 개의 상이한 채널에서 검출되는 라벨(들)을 포함할 수 있는 반면, 다른 뉴클레오티드 유형은 하나 이상의 채널에서 검출되지 않는다. 전술한 3개의 예시적인 구성은 상호 배타적인 것으로 간주되지 않으며, 다양한 조합으로 사용될 수 있다. 모든 3개의 예를 조합한 예시적인 실시예는 제1 채널에서 검출되는 제1 뉴클레오티드 유형(예를 들어, 제1 여기 파장에 의해 여기되는 경우 제1 채널에서 검출되는 라벨을 갖는 dATP), 제2 채널에서 검출되는 제2 뉴클레오티드 유형(예를 들어, 제2 여기 파장에 의해 여기되는 경우 제2 채널에서 검출되는 라벨을 갖는 dCTP), 제1 채널 및 제2 채널 둘 다에서 검출되는 제3 뉴클레오티드 유형(예를 들어, 제1 여기 파장 및/또는 제2 여기 파장에 의해 여기되는 경우 두 채널 모두에서 검출되는 적어도 하나의 라벨을 갖는 dTTP) 및 어느 하나의 채널에서도 검출되지 않거나 최소한으로 검출되는 라벨이 결여된 제4 뉴클레오티드 유형(예를 들어, 라벨을 갖지 않는 dGTP)을 사용하는 형광 기반 SBS 방법이다.Some embodiments may utilize detection of four different nucleotides using less than four different labels. For example, SBS may be performed utilizing the methods and systems described in the materials incorporated herein by reference in U.S. Patent Application Publication No. 2013/0079232. In a first example, a pair of nucleotide types may be detected at the same wavelength, but are distinguished based on an intensity difference of one member of the pair relative to the other member, or based on a change (e.g., via chemical modification, photochemical modification, or physical modification) in one member of the pair that causes an apparent signal to appear or disappear relative to the signal detected for the other member of the pair. In a second example, three of the four different nucleotide types may be detected under certain conditions, while the fourth nucleotide type has no detectable label under those conditions, or is minimally detected under those conditions (e.g., minimal detection due to background fluorescence, etc.). The incorporation of the first three nucleotide types into the nucleic acid can be determined based on the presence of their respective signals, and the incorporation of the fourth nucleotide type into the nucleic acid can be determined based on the absence or minimal detection of any signal. As a third example, one nucleotide type can comprise a label(s) that is detected in two different channels, while the other nucleotide type is not detected in one or more channels. The three exemplary configurations described above are not to be considered mutually exclusive, and can be used in various combinations. An exemplary embodiment combining all three examples is a fluorescence-based SBS method using a first nucleotide type detected in a first channel (e.g., dATP having a label detected in the first channel when excited by the first excitation wavelength), a second nucleotide type detected in a second channel (e.g., dCTP having a label detected in the second channel when excited by the second excitation wavelength), a third nucleotide type detected in both the first and second channels (e.g., dTTP having at least one label detected in both channels when excited by the first and/or second excitation wavelengths), and a fourth nucleotide type lacking a label that is not detected or minimally detected in either channel (e.g., dGTP having no label).

또한, 미국 특허 출원 공개 제2013/0079232호에 포함된 자료에 기재된 바와 같이, 단일 채널을 사용하여 서열분석 데이터가 얻어질 수 있다. 이러한 소위 1-염료(one-dye) 서열분석 접근법에서, 첫 번째 뉴클레오티드 유형에 라벨링되어 있지만 첫 번째 이미지가 생성된 후 라벨이 제거되고, 두 번째 뉴클레오티드 유형은 첫 번째 이미지가 생성된 후에만 라벨링된다. 세 번째 뉴클레오티드 유형은 첫 번째 이미지와 두 번째 이미지 모두에서 라벨을 유지하고, 네 번째 뉴클레오티드 유형은 두 이미지 모두에서 라벨링되지 않은 상태로 유지된다.Additionally, sequence analysis data can be obtained using a single channel, as described in the materials included in U.S. Patent Application Publication No. 2013/0079232. In this so-called one-dye sequence analysis approach, a first nucleotide type is labeled but the label is removed after the first image is generated, a second nucleotide type is labeled only after the first image is generated, a third nucleotide type remains labeled in both the first and second images, and a fourth nucleotide type remains unlabeled in both images.

일부 실시예는 결찰 기술에 의한 서열분석을 활용할 수 있다. 이러한 기술은 DNA 리가제를 활용하여 올리고뉴클레오티드를 혼입시키고 이러한 올리고뉴클레오티드의 혼입을 식별한다. 올리고뉴클레오티드는 전형적으로 올리고뉴클레오티드가 혼성화하는 서열에서 특정 뉴클레오티드의 동일성과 상관관계가 있는 상이한 라벨을 갖는다. 다른 SBS 방법과 마찬가지로, 라벨링된 서열분석 시약으로 핵산 특징부 어레이를 처리한 후 이미지를 얻을 수 있다. 각 이미지는 특정 유형의 라벨이 혼입된 핵산 특징부를 나타낸다. 각 특징부의 서열 내용이 다르기 때문에 상이한 특징부가 상이한 이미지에 있거나 없지만, 특징부의 상대적 위치는 이미지에서 변경되지 않은 채로 유지된다. 결찰 기반(ligation-based) 서열분석 방법으로부터 얻어진 이미지는 본원에 기재된 바와 같이 저장, 처리, 및 분석될 수 있다. 본원에 기재된 방법 및 시스템과 함께 활용될 수 있는 예시적인 SBS 시스템 및 방법은 미국 특허 제6,969,488호, 제6,172,218호 및 제6,306,597호에 기술되어 있으며, 이들의 개시내용은 그 전체가 본원에 참고로 포함된다.Some embodiments may utilize sequence analysis by ligation technology. This technology utilizes DNA ligase to incorporate oligonucleotides and identify the incorporation of such oligonucleotides. The oligonucleotides typically have different labels that correlate with the identity of specific nucleotides in the sequence to which the oligonucleotides hybridize. As with other SBS methods, an array of nucleic acid features can be treated with labeled sequencing reagents and then images can be obtained. Each image represents nucleic acid features that have incorporated a particular type of label. Different features may or may not be present in different images because the sequence content of each feature is different, but the relative positions of the features remain unchanged in the images. Images obtained from ligation-based sequencing methods can be stored, processed, and analyzed as described herein. Exemplary SBS systems and methods that can be utilized with the methods and systems described herein are described in U.S. Pat. Nos. 6,969,488, 6,172,218, and 6,306,597, the disclosures of which are incorporated herein by reference in their entireties.

일부 실시예는 나노기공 서열분석을 활용할 수 있다(문헌[Deamer, D. W. & Akeson, M. "Nanopores and nucleic acids: prospects for ultrarapid sequencing." Trends Biotechnol. 18, 147-151 (2000)]; 문헌[Deamer, D. 및 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 configurations in a solid-state nanopore microscope" Nat. Mater. 2:611-615 (2003)], 이들의 개시내용은 전체적으로 본원에 참고로 포함됨). 이러한 실시예에서, 표적 핵산은 나노기공을 통과한다. 나노기공은 α-헤몰리신과 같은 합성 기공 또는 생물학적 막 단백질일 수 있다. 표적 핵산이 나노기공을 통과할 때, 각각의 염기 쌍은 나노기공의 전기 전도도의 변동을 측정함으로써 식별될 수 있다. (미국 특허 제7,001,792호; 문헌[Soni, G.V. & Meller, "A. Progress toward ultrafast DNA sequencing using solid-state nanopores." Clin. Chem. 53, 1996-2001 (2007)]; 문헌[Healy, K. "Nanopore-based single-molecule DNA analysis." Nanomed. 2, 459-481 (2007)]; 문헌[Cockroft, S. L., Chu, J., Amorin, M. & Ghadiri, M. R. "A single-molecule nanopore device detects DNA polymerase activity with single-nucleotide resolution." J. Am. Chem. Soc. 130, 818-820 (2008)], 이들의 개시내용은 전체적으로 본원에 참고로 포함됨). 나노기공 서열분석으로부터 얻어진 데이터는 본원에 기재된 바와 같이 저장, 처리, 및 분석될 수 있다. 특히, 데이터는 본원에 언급된 광학 이미지 및 다른 이미지의 예시적인 처리에 따라 이미지로서 처리될 수 있다.Some embodiments may utilize nanopore sequencing (see, e.g., Deamer, D. W. & 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 configurations in a solid-state nanopore microscope" Nat. Mater. 2:611-615 (2003), the disclosures of which are herein incorporated by reference in their entireties). In such embodiments, the target nucleic acids pass through the nanopore. The nanopore may be a synthetic pore, such as α-hemolysin, or a biological membrane protein. As the target nucleic acid passes through the nanopore, each base pair can be identified by measuring the change in electrical conductance of the nanopore. (U.S. Pat. No. 7,001,792; Soni, G.V. & Meller, "A. Progress toward ultrafast DNA sequencing using solid-state nanopores." Clin. Chem. 53, 1996-2001 (2007); Healy, K. "Nanopore-based single-molecule DNA analysis." Nanomed. 2, 459-481 (2007); Cockroft, S. L., Chu, J., Amorin, M. & Ghadiri, M. R. "A single-molecule nanopore device detects DNA polymerase activity with single-nucleotide resolution." J. Am. Chem. Soc. 130, 818-820 (2008), the disclosures of which are incorporated herein by reference in their entireties). Data obtained from nanopore sequencing can be stored, processed, and analyzed as described herein. In particular, the data may be processed as images according to the exemplary processing of optical images and other images mentioned herein.

일부 실시예는 DNA 중합효소 활성의 실시간 모니터링을 수반하는 방법을 활용할 수 있다. 뉴클레오티드 혼입은, 예를 들어 미국 특허 제7,329,492호 및 제7,211,414호(이들 각각은 본원에 참고로 포함됨)에 기재된 바와 같이 형광단 보유 폴리머라제와 γ-포스페이트 라벨링된 뉴클레오티드 사이의 형광 공명 에너지 전달(FRET) 상호작용을 통해 검출될 수 있거나, 뉴클레오티드 혼입은, 예를 들어 미국 특허 제7,315,019호(이는 본원에 참고로 포함됨)에 기재된 바와 같은 제로-모드 도파관으로 그리고, 예를 들어 미국 특허 제7,405,281호 및 미국 특허 공개 제2008/0107082호(이들 각각은 본원에 참고로 포함됨)에 기재된 바와 같은 형광 뉴클레오티드 유사체 및 조작된 폴리머라제를 사용하여 검출될 수 있다. 조명은 형광 라벨링된 뉴클레오티드의 혼입이 저 백그라운드에서 관찰될 수 있도록 표면 테더링된(surface-tethered) 중합효소 주변의 젭토리터 스케일(zeptoliter-scale)의 부피로 제한될 수 있다(문헌[Levene, M.J. 외 "Zero-mode waveguides for single-molecule analysis at high concentrations." Science 299, 682-686 (2003)]; 문헌[Lundquist, P. M. 외 "Parallel confocal detection of single molecules in real time." Opt. Lett. 33, 1026-1028 (2008)]; 문헌[Korlach, J. 외 "Selective aluminum passivation for targeted immobilization of single DNA polymerase molecules in zero-mode waveguide nano structures." Proc. Natl. Acad. Sci. USA 105, 1176-1181 (2008)], 이들의 개시내용은 전체적으로 본원에 참고로 포함됨). 이러한 방법으로부터 얻어진 이미지는 본원에 기재된 바와 같이 저장, 처리, 및 분석될 수 있다.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 a fluorophore-bearing polymerase and a γ-phosphate labeled nucleotide, for example, as described in U.S. Pat. Nos. 7,329,492 and 7,211,414, each of which is incorporated herein by reference, or nucleotide incorporation may be detected using a zero-mode waveguide, for example, as described in U.S. Pat. No. 7,315,019, which is incorporated herein by reference, and a fluorescent nucleotide analogue and an engineered polymerase, for example, as described in U.S. Pat. No. 7,405,281 and U.S. Patent Publication No. 2008/0107082, which are each 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, M.J. et al. "Zero-mode waveguides for single-molecule analysis at high concentrations." Science 299, 682-686 (2003)); Lundquist, P. M. et al. "Parallel confocal detection of single molecules in real time." Opt. Lett. 33, 1026-1028 (2008)); Korlach, J. et al. "Selective aluminum passivation for targeted immobilization of single DNA polymerase molecules in zero-mode waveguide nano structures." Proc. Natl. Acad. Sci. USA 105, 1176-1181 (2008)], the disclosures of which are incorporated herein by reference in their entirety). Images obtained from such methods can be stored, processed, and analyzed as described herein.

일부 SBS 실시예는 연장 생성물 내로 뉴클레오티드의 혼입 시에 방출되는 양성자의 검출을 포함한다. 예를 들어, 방출된 양성자의 검출에 기반한 서열분석은 Ion Torrent(코네티컷주 길포드 소재, Life Technologies 자회사)로부터 상업적으로 입수 가능한 전기 검출기 및 관련 기술, 또는 미국 특허 출원 공개 제2009/0026082호 A1; 미국 특허 출원 공개 제2009/0127589호 A1; 미국 특허 출원 공개 제2010/0137143호 A1; 또는 미국 특허 출원 공개 제2010/0282617호 A1에 설명된 서열분석 방법 및 시스템을 사용할 수 있으며, 이들 각각은 본원에 참고로 포함된다. 역학적 배제(kinetic exclusion)를 사용하여 표적 핵산을 증폭하기 위한 본원에 제시된 방법은 양성자를 검출하는 데 사용되는 기재에 용이하게 적용될 수 있다. 보다 구체적으로, 본원에 제시된 방법은 양성자를 검출하기 위해 사용되는 앰플리콘의 클론 집단을 제작하는 데 사용될 수 있다.Some SBS embodiments involve detection of a proton released upon incorporation of a nucleotide into an extension product. For example, sequencing based on detection of a released proton can utilize commercially available electrical detectors and related technology from Ion Torrent (Guilford, CT, a Life Technologies subsidiary), or the sequencing methods and systems described in U.S. Patent Application Publication No. 2009/0026082 A1; U.S. Patent Application Publication No. 2009/0127589 A1; U.S. Patent Application Publication No. 2010/0137143 A1; or U.S. Patent Application Publication No. 2010/0282617 A1, each of which is incorporated herein by reference. The methods set forth herein for amplifying a target nucleic acid using kinetic exclusion can readily be applied to devices used to detect protons. More specifically, the methods set forth herein can be used to produce clonal populations of amplicons used to detect protons.

SBS 방법은 멀티플렉스 포맷으로 유리하게 수행되어 다수의 상이한 표적 핵산이 동시에 조작될 수 있다. 특정 실시예에서, 상이한 표적 핵산이 일반적인 반응 용기에서 또는 특정 기질의 표면에서 처리될 수 있다. 이것은 멀티플렉스 방식으로 서열분석 시약의 전달, 미반응 시약의 제거 및 혼입 이벤트의 검출을 편리하게 해준다. 표면 결합된 표적 핵산을 사용한 실시예에서, 표적 핵산은 어레이 포맷으로 존재할 수 있다. 어레이 포맷에서, 표적 핵산은 통상 공간적으로 구별가능한 방식으로 표면에 결합될 수 있다. 표적 핵산은 직접 공유 결합, 비드 또는 다른 입자에 대한 부착 또는 표면에 부착된 중합효소 또는 다른 분자에 대한 결합에 의해 결합될 수 있다. 어레이는 각각의 부위(특징부라고도 지칭됨)에서 표적 핵산의 싱글 카피(single copy)를 포함할 수 있거나, 동일한 서열을 갖는 멀티 카피(multiple copies)가 각각의 부위(site) 또는 특징부에 존재할 수 있다. 멀티 카피는 아래에 더욱 상세하게 기술된 바와 같은 증폭 방법, 예컨대 브릿지 증폭 또는 에멀젼 PCR에 의해 생성될 수 있다.The SBS method is advantageously performed in a multiplex format, allowing multiple different target nucleic acids to be manipulated simultaneously. In certain embodiments, different target nucleic acids can be processed in a common reaction vessel or on the surface of a specific substrate. This facilitates the 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 present in an array format. In an array format, the target nucleic acids can be bound to a surface in a typically spatially distinguishable manner. The target nucleic acids can be bound by direct covalent binding, attachment to a bead or other particle, or binding to a polymerase or other molecule attached to the surface. The array can contain a single copy of the target nucleic acid at each site (also referred to as a feature), or multiple copies having 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, as described in more detail below.

본원에 기재된 방법은 예를 들어, 적어도 약 10개의 특징부/cm2, 100개의 특징부/cm2, 500개의 특징부/cm2, 1,000개의 특징부/cm2, 5,000개의 특징부/cm2, 10,000개의 특징부/cm2, 50,000개의 특징부/cm2, 100,000개의 특징부/cm2, 1,000,000개의 특징부/cm2, 5,000,000개의 특징부/cm2 또는 그 이상을 포함하는, 다양한 밀도 중 임의의 밀도의 특징부를 갖는 어레이를 사용할 수 있다.The methods described herein can use arrays having features at any of a variety of densities, 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.

본원에 제시된 방법의 한 가지 이점은 이들이 병렬로 복수의 표적 핵산의 신속하고 효율적인 검출을 제공한다는 것이다. 따라서, 본 개시내용은 상기에 예시된 것과 같은 당업계에 공지된 기술을 사용하여 핵산을 제조 및 검출할 수 있는 통합 시스템을 제공한다. 따라서, 본 개시내용의 통합 시스템은 증폭 시약 및/또는 서열분석 시약을 하나 이상의 고정된 DNA 단편으로 전달할 수 있는 유체 구성요소를 포함할 수 있으며, 시스템은 펌프, 밸브, 저장소, 유체 라인 등과 같은 구성요소를 포함한다. 플로우 셀은 표적 핵산의 검출을 위한 통합 시스템으로 구성되고/되거나 이에 사용될 수 있다. 예시적인 플로우 셀은, 예를 들어 미국 특허 출원 공개 제2010/0111768 A1호 및 미국 특허 출원 제13/273,666호에 기재되어 있으며, 이들 각각은 본원에 참고로 포함된다. 플로우 셀에 대한 예시로서, 통합 시스템의 유체 구성요소 중 하나 이상이 증폭 방법과 검출 방법에 사용될 수 있다. 핵산 서열분석 구현예를 예로 들면, 통합 시스템의 유체 구성요소 중 하나 이상이 본원에 제시된 증폭 방법과, 위에 예시된 것과 같은 서열분석 방법에서 서열분석 시약의 전달에 사용될 수 있다. 대안적으로, 통합 시스템은 증폭 방법을 수행하고 검출 방법을 수행하기 위한 별개의 유체 시스템을 포함할 수 있다. 증폭된 핵산을 생성하고 또한 핵산의 서열을 결정할 수 있는 통합 서열분석 시스템의 예는, 제한 없이, MiSeqTM 플랫폼(미국 캘리포니아주 샌디에고 소재의 Illumina, Inc.) 및 본원에 참고로 포함된 미국 특허 출원 제13/273,666호에 기재된 디바이스를 포함한다.One advantage of the methods presented herein is that they provide rapid and efficient detection of multiple target nucleic acids in parallel. Accordingly, the present disclosure provides an integrated system capable of producing and detecting nucleic acids using techniques known in the art, such as those exemplified above. Accordingly, the integrated system of the present disclosure can include fluidic components capable of delivering amplification reagents and/or sequencing reagents to one or more immobilized DNA fragments, and the system includes components such as pumps, valves, reservoirs, fluidic lines, and the like. A flow cell can be configured and/or used in an integrated system for detecting target nucleic acids. Exemplary flow cells are described, for example, in U.S. Patent Application Publication No. 2010/0111768 A1 and U.S. Patent Application No. 13/273,666, each of which is incorporated herein by reference. As an example of a flow cell, one or more of the fluidic components of the integrated system can be used in an amplification method and a detection method. For example, in a nucleic acid sequencing implementation, one or more of the fluidic components of the integrated system can be used for the delivery of sequencing reagents in an amplification method as presented herein and a sequencing method as exemplified above. Alternatively, the integrated system can include separate fluidic systems for performing the amplification method and performing the detection method. Examples of integrated sequencing systems that can both generate amplified nucleic acids and determine the sequence of the nucleic acids include, without limitation, the MiSeqTM platform (Illumina, Inc., San Diego, CA) and the devices described in U.S. patent application Ser. No. 13/273,666, which is incorporated herein by reference.

위에 설명된 서열분석 시스템은 서열분석 디바이스에 의해 수용된 샘플에 존재하는 핵산 중합체를 서열분석한다. 본원에 정의된 바와 같이, "샘플" 및 이의 파생어는 가장 넓은 의미로 사용되며, 표적을 포함하는 것으로 의심스러운 임의의 시료, 배양물 등을 포함한다. 일부 실시예에서, 샘플은 DNA, RNA, PNA, LNA, 키메라 또는 혼성 형태의 핵산을 포함한다. 샘플은 하나 이상의 핵산을 함유하는 임의의 생물학적, 임상적, 외과적, 농업적, 대기 또는 수생 기반 시료를 포함할 수 있다. 상기 용어는 또한, 유전체 DNA, 신선 동결 또는 포르말린-고정 파라핀 함몰 핵산 시료와 같은 임의의 단리된 핵산 샘플을 포함한다. 또한, 샘플은 단일 개체, 유전적으로 관련된 구성원으로부터의 핵산 샘플의 수집물, 유전적으로 관련되지 않은 구성원으로부터의 핵산 샘플, 종양 샘플 및 정상 조직 샘플과 같은 단일 개체로부터의 (매칭된) 핵산 샘플, 또는 모체 및 모체 대상으로부터 수득된(obtained) 태아 DNA와 같은 2개의 개별 형태의 유전 물질을 함유하는 단일 소스로부터의 샘플, 또는 식물 또는 동물 DNA를 함유하는 샘플 내 오염성 박테리아 DNA의 존재로부터의 것일 수 있다는 것이 구상된다. 일부 실시예에서, 핵산 물질의 소스는, 예를 들어 전형적으로 신생아 스크리닝에 사용되는 바와 같이, 신생아로부터 수득된 핵산을 포함할 수 있다.The sequence analysis system described above sequences nucleic acid polymers present in a sample received by a sequence analysis 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 hybridized nucleic acids. The sample can include any biological, clinical, surgical, agricultural, atmospheric or aquatic based sample containing 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 may be from a single individual, a collection of nucleic acid samples from genetically related members, nucleic acid samples from genetically unrelated members, (matched) nucleic acid samples from a single individual, such as a tumor sample and a normal tissue sample, or a sample from a single source containing two separate forms of genetic material, such as fetal DNA obtained from a mother and 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 may include nucleic acids obtained from a newborn, for example, as is typically used in newborn screening.

핵산 샘플은 유전체 DNA(gDNA)와 같은 고분자량 물질을 포함할 수 있다. 샘플은 FFPE 또는 보관된 DNA 샘플로부터 수득된 핵산 분자와 같은 저분자량 물질을 포함할 수 있다. 다른 실시예에서, 저분자량 물질은 효소적으로 또는 기계적으로 단편화된 DNA를 포함한다. 샘플은 무세포 순환 DNA를 포함할 수 있다. 일부 실시예에서, 샘플은 생검, 종양, 찰과표본(scraping), 면봉, 혈액, 점액, 소변, 혈장, 정액, 모발, 레이저 캡처 마이크로 절개, 수술 절제, 및 다른 임상 또는 실험실 수득 샘플로부터 수득된 핵산 분자를 포함할 수 있다. 일부 실시예에서, 샘플은 역학, 농업, 법의학 또는 병원성 샘플일 수 있다. 일부 실시예에서, 샘플은 인간 또는 포유류 공급원과 같은 동물로부터 수득된 핵산 분자를 포함할 수 있다. 다른 실시예에서, 샘플은 식물, 박테리아, 바이러스 또는 진균과 같은 비포유류 공급원으로부터 수득된 핵산 분자를 포함할 수 있다. 일부 실시예에서, 핵산 분자의 공급원은 보관되거나 멸종된 샘플 또는 종일 수 있다.The nucleic acid sample may include high molecular weight material, such as genomic DNA (gDNA). The sample may include low molecular weight material, such as nucleic acid molecules obtained from FFPE or archived DNA samples. In other embodiments, the low molecular weight material includes enzymatically or mechanically fragmented DNA. The sample may include cell-free circulating DNA. In some embodiments, the sample may include nucleic acid molecules obtained from biopsies, tumors, scrapings, swabs, blood, mucus, urine, plasma, semen, hair, laser capture microdissections, surgical excisions, and other clinical or laboratory-derived samples. In some embodiments, the sample may be an epidemiological, agricultural, forensic, or pathogenic sample. In some embodiments, the sample may include nucleic acid molecules obtained from an animal, such as a human or mammalian source. In other embodiments, the sample may include nucleic acid molecules obtained from a non-mammalian source, such as a plant, bacteria, virus, or fungus. In some embodiments, the source of the nucleic acid molecules may be an archived or extinct sample or species.

또한, 본원에 개시된 방법 및 조성물은 법의학적 샘플로부터의 분절되고/되거나 단편화된 유전체 DNA와 같은 저품질 핵산 분자를 갖는 핵산 샘플을 증폭시키는 데 유용할 수 있다. 일 실시예에서, 법의학 샘플은 범죄 현장에서 수득한 핵산, 실종자 DNA 데이터베이스에서 수득한 핵산, 법의학 수사와 관련된 실험실에서 수득한 핵산을 포함할 수 있거나 법 집행 기관, 한 명 이상의 군 복무 또는 이러한 직원이 확보한 법의학 샘플을 포함할 수 있다. 핵산 샘플은, 예를 들어 구강용 면봉, 종이, 섬유, 또는 타액, 혈액, 또는 다른 체액으로 침지될 수 있는 다른 기질로부터 유래된, 용해물을 함유하는 조질(crude) DNA 또는 정제된 샘플일 수 있다. 이와 같이, 일부 실시예에서, 핵산 샘플은 유전체 DNA와 같은 DNA의 소량의 또는 단편화된 부분을 포함할 수 있다. 일부 실시예에서, 표적 서열은 혈액, 가래, 혈장, 정액, 소변, 및 혈청을 포함하지만 이들로 제한되지 않는 하나 이상의 체액에 존재할 수 있다. 일부 실시예에서, 표적 서열은 모발, 피부, 조직 샘플, 부검 또는 희생자의 유골로부터 수득될 수 있다. 일부 실시예에서, 하나 이상의 표적 서열을 포함하는 핵산은 사망한 동물 또는 인간으로부터 수득될 수 있다. 일부 실시예에서, 표적 서열은 미생물, 식물 또는 곤충학적 DNA와 같은 비-인간 DNA로부터 수득된 핵산을 포함할 수 있다. 일부 실시예에서, 표적 서열 또는 증폭된 표적 서열은 인간 식별 목적으로 지향된다. 일부 실시예에서, 본 개시내용은 일반적으로 법의학적 샘플의 특성을 식별하기 위한 방법에 관한 것이다. 일부 실시예에서, 본 개시내용은 일반적으로 본원에 개시된 하나 이상의 표적 특이적 프라이머 또는 본원에서 개요가 설명된 프라이머 설계 기준을 사용하여 설계된 하나 이상의 표적 특이적 프라이머를 사용하는 인간 식별 방법에 관한 것이다. 한 실시예에서, 적어도 하나의 표적 서열을 함유하는 법의학적 또는 인간 식별 샘플은 본원에 개시된 표적 특이적 프라이머 중 임의의 하나 이상을 사용하여 또는 본원에 개요가 설명된 프라이머 기준을 사용하여 증폭될 수 있다.In addition, the methods and compositions disclosed herein may be useful for amplifying nucleic acid samples having low-quality nucleic acid molecules, such as fragmented and/or fragmented genomic DNA from a forensic sample. In one embodiment, the forensic sample may include nucleic acids obtained from a crime scene, nucleic acids obtained from a missing persons DNA database, nucleic acids obtained from a laboratory associated with a forensic investigation, or may include forensic samples obtained by law enforcement, one or more members of the military, or personnel thereof. The nucleic acid sample may be crude DNA or purified samples containing lysates, such as those derived from oral swabs, paper, fibers, or other substrates that may be soaked with saliva, blood, or other bodily fluids. As such, in some embodiments, the nucleic acid sample may include small amounts 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 sequences can be obtained from hair, skin, tissue samples, autopsy, or remains of a victim. In some embodiments, the nucleic acids comprising one or more target sequences can be obtained from a deceased animal or human. In some embodiments, the target sequences can include nucleic acids obtained from non-human DNA, such as microbial, plant, or entomological DNA. In some embodiments, the target sequences or amplified target sequences are directed to human identification purposes. In some embodiments, the present disclosure generally relates to methods for identifying a characteristic of a forensic sample. In some embodiments, the present disclosure generally relates to methods for human identification using one or more of the 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 or human identification sample containing at least one target sequence can be amplified using any one or more of the target-specific primers disclosed herein or using the primer design criteria outlined herein.

모델 스위칭 시스템(108)의 구성요소는 소프트웨어, 하드웨어 또는 둘 다를 포함할 수 있다. 예를 들어, 모델 스위칭 시스템(108)의 구성요소는 컴퓨터 판독가능 저장 매체에 저장되고 하나 이상의 컴퓨팅 디바이스(예를 들어, 클라이언트 디바이스(110), 로컬 서버 디바이스(들)(102), 및/또는 서버 디바이스(들)(120))의 프로세서에 의해 실행 가능한 하나 이상의 명령어를 포함할 수 있다. 하나 이상의 프로세서에 의해 실행될 때, 모델 스위칭 시스템(108)의 컴퓨터 실행 가능 명령어는 컴퓨팅 디바이스가 본원에 설명된 거품 검출 방법을 수행하게 할 수 있다. 대안적으로, 모델 스위칭 시스템(108)의 구성요소는 특정 기능 또는 기능의 그룹을 수행하는 특수 목적 프로세싱 디바이스와 같은 하드웨어를 포함할 수 있다. 추가적으로 또는 대안적으로, 모델 스위칭 시스템(108)의 구성요소는 컴퓨터 실행 가능 명령어와 하드웨어의 조합을 포함할 수 있다.The components of the model switching system (108) may include software, hardware, or both. For example, the components of the model switching system (108) may include one or more instructions stored on a computer-readable storage medium and executable by a processor of one or more computing devices (e.g., client device (110), local server device(s) (102), and/or server device(s) (120)). When executed by the one or more processors, the computer-executable instructions of the model switching system (108) may cause the computing devices to perform the bubble detection methods described herein. Alternatively, the components of the model switching system (108) may include hardware, such as a special purpose processing device that performs a particular function or group of functions. Additionally or alternatively, the components of the model switching system (108) may include a combination of computer-executable instructions and hardware.

또한, 모델 스위칭 시스템(108)과 관련하여 본원에 설명된 기능을 수행하는 모델 스위칭 시스템(108)의 구성요소는 예를 들어 독립형 애플리케이션의 일부로서, 애플리케이션의 모듈로서, 애플리케이션용 플러그-인으로서, 기타 애플리케이션에 의해 호출될 수 있는 라이브러리 기능 또는 기능, 및/또는 클라우드 컴퓨팅 모델로서 구현될 수 있다. 따라서, 모델 스위칭 시스템(108)의 구성요소는 개인용 컴퓨팅 디바이스 또는 모바일 디바이스에서 독립형 애플리케이션의 일부로서 구현될 수 있다. 추가적으로 또는 대안적으로, 모델 스위칭 시스템(108)의 구성요소는 Illumina BaseSpace, Illumina DRAGEN 또는 Illumina TruSight 소프트웨어를 포함하지만 이에 제한되지 않는 서열분석 서비스를 제공하는 임의의 애플리케이션에서 구현될 수 있다. "Illumina", "BaseSpace", "DRAGEN" 및 "TruSight"는 미국 및/또는 기타 국가에서 Illumina, Inc.의 등록 상표 또는 상표이다.Additionally, components of the model switching system (108) that perform the functions described herein in connection with the model switching system (108) may be implemented, for example, as part of a standalone application, as a module of an application, as a plug-in for an application, as a library function or function callable by other applications, and/or as a cloud computing model. Thus, components of the model switching system (108) may be implemented as part of a standalone application on a personal computing device or a mobile device. Additionally or alternatively, components of the model switching system (108) may be implemented in any application that provides sequence analysis 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 U.S. and/or other countries.

본 개시내용의 실시예는 아래에서 더 자세히 논의되는 바와 같이, 예를 들어 하나 이상의 프로세서 및 시스템 메모리와 같은 컴퓨터 하드웨어를 포함하는 특수 목적 또는 범용 컴퓨터를 포함하거나 활용할 수 있다. 본 개시내용의 범위 내의 실시예는 또한 컴퓨터 실행 가능 명령어 및/또는 데이터 구조를 전달하거나 저장하기 위한 물리적 및 기타 컴퓨터 판독가능 매체를 포함한다. 특히, 본원에 설명된 방법 중 하나 이상은 비일시적 컴퓨터 판독가능 매체에서 구현되고 하나 이상의 컴퓨팅 디바이스(예를 들어, 본원에 설명된 미디어 콘텐츠 액세스 디바이스 중 임의의 것)에 의해 실행 가능한 명령어로서 적어도 부분적으로 구현될 수 있다. 일반적으로, 프로세서(예를 들어, 마이크로프로세서)는 비일시적 컴퓨터 판독가능 매체(예를 들어, 메모리 등)로부터 명령어를 수신하고 이들 명령어를 실행함으로써 본원에 설명된 방법 중 하나 이상을 포함하는 하나 이상의 방법을 수행한다.Embodiments of the present disclosure may include or utilize special purpose or general purpose computers, including computer hardware such as, for example, 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 methods described herein may be implemented at least in part as instructions embodied in a non-transitory computer-readable medium and executable by one or more computing devices (e.g., any of the media content access devices described herein). Typically, a processor (e.g., a microprocessor) receives instructions from a non-transitory computer-readable medium (e.g., memory, etc.) and executes those instructions to perform one or more methods, including one or more of the methods described herein.

컴퓨터 판독가능 매체는 범용 또는 특수 목적 컴퓨터 시스템에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있다. 컴퓨터 실행 가능 명령어를 저장하는 컴퓨터 판독가능 매체는 비일시적 컴퓨터 판독가능 저장 매체(디바이스)이다. 컴퓨터 실행 가능 명령어를 전달하는 컴퓨터 판독가능 매체는 전송 매체이다. 따라서, 제한이 아닌 예시로서, 본 개시내용의 실시예는 적어도 두 가지의 뚜렷이 상이한 종류의 컴퓨터 판독가능 매체, 즉 비일시적 컴퓨터 판독가능 저장 매체(디바이스)와 전송 매체를 포함할 수 있다.A computer-readable medium can 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 can include at least two distinctly different types of computer-readable media, namely, a non-transitory computer-readable storage medium (device) and a transmission medium.

비일시적 컴퓨터 판독가능 저장 매체(디바이스)는 RAM, ROM, EEPROM, CD-ROM, 솔리드 스테이트 드라이브(SSD)(예: RAM 기반), 플래시 메모리, 상-변화 메모리(PCM: phase-change memory), 기타 유형의 메모리, 기타 광디스크 저장장치, 자기 디스크 저장장치 또는 기타 자기 저장 디바이스, 또는 원하는 프로그램 코드 수단을 컴퓨터 실행 가능한 명령어나 데이터 구조의 형태로 저장하는 데 사용될 수 있고 범용 또는 특수 목적 컴퓨터에 의해 액세스될 수 있는 임의의 기타 매체를 포함한다.Non-transitory computer-readable storage media (devices) include RAM, ROM, EEPROM, CD-ROM, solid-state drives (SSDs) (e.g., RAM-based), 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.

"네트워크"는 컴퓨터 시스템 및/또는 모듈 및/또는 기타 전자 디바이스 간에 전자 데이터의 전송을 가능하게 하는 하나 이상의 데이터 링크로서 정의된다. 정보가 네트워크 또는 다른 통신 연결(유선, 무선 또는 유선과 무선의 조합)을 통해 컴퓨터로 전송되거나 제공될 때, 컴퓨터는 그 연결을 전송 매체로서 적절하게 간주한다. 전송 매체는 컴퓨터 실행 가능 명령어나 데이터 구조의 형태로 원하는 프로그램 코드 수단을 전달하는 데 사용될 수 있고 범용 또는 특수 목적 컴퓨터에 의해 액세스될 수 있는 네트워크 및/또는 데이터 링크를 포함할 수 있다. 상기의 조합이 또한 컴퓨터 판독가능 매체의 범위에 포함되어야 한다.A "network" is defined as one or more data links that enable the transfer 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 other communications connection (whether wired, wireless, or a combination of wired and wireless), the computer considers the connection to be a transmission medium. Transmission media can include networks and/or data links that can be used to convey desired program code means in the form of computer-executable instructions or data structures and can be accessed by general-purpose or special-purpose computers. Combinations of the above should also be included within the scope of computer-readable media.

또한, 다양한 컴퓨터 시스템 구성요소에 도달할 때, 컴퓨터 실행 가능 명령어나 데이터 구조 형태의 프로그램 코드 수단은 전송 매체로부터 비일시적 컴퓨터 판독가능 저장 매체(디바이스)로(또는 그 반대로) 자동으로 전송될 수 있다. 예를 들어, 네트워크 또는 데이터 링크를 통해 수신된 컴퓨터 실행 가능 명령어 또는 데이터 구조는 네트워크 인터페이스 모듈(예를 들어, NIC) 내의 RAM에 버퍼링된 다음, 결국 컴퓨터 시스템 RAM 및/또는 컴퓨터 시스템에서 덜 휘발성의 컴퓨터 저장 매체(디바이스)로 전송될 수 있다. 따라서, 비일시적 컴퓨터 판독가능 저장 매체(디바이스)는 전송 매체를 또한(또는 심지어 주로) 활용하는 컴퓨터 시스템 구성요소에 포함될 수 있다는 것이 이해되어야 한다.Additionally, when reaching various computer system components, the program code means in the form of computer-executable instructions or data structures may be automatically transferred from the transmission medium to a 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 RAM within a network interface module (e.g., a NIC) and then eventually transferred to computer system RAM and/or a less volatile computer storage medium (device) within the computer system. Thus, it should be understood that a non-transitory computer-readable storage medium (device) may be included in a computer system component that also (or even primarily) utilizes a transmission medium.

컴퓨터 실행 가능 명령어는 예를 들어, 프로세서에서 실행될 때 범용 컴퓨터, 특수 목적 컴퓨터 또는 특수 목적 프로세싱 디바이스가 특정 기능 또는 기능의 그룹을 수행하게 하는 명령어 및 데이터를 포함한다. 일부 실시예에서, 컴퓨터 실행 가능 명령어는 범용 컴퓨터에서 실행되어 범용 컴퓨터를 본 개시내용의 요소를 구현하는 특수 목적 컴퓨터로 전환시킨다. 컴퓨터 실행 가능 명령어는 예를 들어 바이너리, 어셈블리 언어와 같은 중간 포맷 명령어, 또는 심지어 소스 코드일 수 있다. 주제가 구조적 특징 및/또는 방법론적 행위와 관련된 언어로 설명되었지만, 첨부된 청구범위에 정의된 주제는 위에서 기술된 특징이나 행위에 반드시 제한되는 것은 아니라는 것이 이해되어야 한다. 오히려, 기술된 특징 및 행위는 청구범위를 구현하는 예시적인 형태로서 개시된다.Computer-executable instructions include, for example, instructions and data that, when executed on a processor, cause a general-purpose computer, a special-purpose computer, or a special-purpose processing device to perform a particular function or group of functions. In some embodiments, the 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. The computer-executable instructions may be, for example, binary, intermediate format instructions such as assembly language, or even source code. Although the subject matter has been described in language relating to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the features or acts described above. Rather, the described features and acts are disclosed as exemplary forms of implementing the claims.

당업자는 본 개시내용이 개인용 컴퓨터, 데스크탑 컴퓨터, 랩탑 컴퓨터, 메시지 프로세서, 휴대용 디바이스, 다중 프로세서 시스템, 마이크로프로세서 기반 또는 프로그래밍 가능한 가전제품, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 휴대폰, PDA, 태블릿, 호출기, 라우터, 스위치 등을 포함하는 다양한 유형의 컴퓨터 시스템 구성을 갖는 네트워크 컴퓨팅 환경에서 실시될 수 있다는 것을 이해할 것이다. 본 개시내용은 또한 네트워크를 통해 (유선 데이터 링크, 무선 데이터 링크에 의해, 또는 유선과 무선 데이터 링크의 조합에 의해) 연결된 로컬 및 원격 컴퓨터 시스템이 모두 작업을 수행하는 분산 시스템 환경에서 실시될 수 있다. 분산 시스템 환경에서 프로그램 모듈은 로컬 및 원격 메모리 저장 디바이스 모두에 위치될 수 있다.Those skilled in the art will appreciate that the present disclosure can be practiced in network computing environments having various 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, cellular phones, PDAs, tablets, pagers, routers, switches, and the like. The present disclosure can also be practiced in distributed systems environments where both local and remote computer systems that are linked through a network (by wired data links, wireless data links, or a combination of wired and wireless data links) perform tasks. In a distributed systems environment, program modules can be located in both local and remote memory storage devices.

본 개시내용의 실시예는 클라우드 컴퓨팅 환경에서도 구현될 수 있다. 본 설명에서 "클라우드 컴퓨팅"은 구성가능한 컴퓨팅 자원의 공유 풀에 대한 주문형 네트워크 액세스를 가능하게 하는 모델로서 정의된다. 예를 들어, 클라우드 컴퓨팅은 구성가능한 컴퓨팅 자원의 공유 풀에 대한 유비쿼터스하고 편리한 주문형 액세스를 제공하기 위해 시장에서 사용될 수 있다. 구성가능한 컴퓨팅 자원의 공유 풀은 가상화를 통해 신속하게 프로비저닝(provisioning)되고, 작은 관리 노력이나 서비스 공급자 상호 작용으로 출시된 다음 그에 따라 확장될 수 있다.Embodiments of the present disclosure may also be implemented in a cloud computing environment. In this description, "cloud computing" is defined as a model that enables on-demand network access to a shared pool of configurable computing resources. For example, cloud computing may be used in the marketplace 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 rapidly provisioned through virtualization, launched with little management effort or service provider interaction, and then scaled accordingly.

클라우드-컴퓨팅 모델은 예를 들어 주문형 셀프 서비스, 광범위한 네트워크 액세스, 자원 풀링, 신속한 탄력성, 측정된 서비스 등과 같은 다양한 특성으로 구성될 수 있다. 클라우드-컴퓨팅 모델은 또한 예를 들어 SaaS(Software as a Service), PaaS(Platform as a Service), IaaS(Infrastructure as a Service)와 같은 다양한 서비스 모델을 노출할 수 있다. 클라우드-컴퓨팅 모델은 또한 프라이빗 클라우드, 커뮤니티 클라우드, 퍼블릭 클라우드, 하이브리드 클라우드 등과 같은 다양한 배포 모델을 사용하여 배포될 수도 있다. 본 설명과 청구범위에서 "클라우드-컴퓨팅 환경"은 클라우드 컴퓨팅이 사용되는 환경이다.A cloud computing model can be comprised of various characteristics, such as on-demand self-service, broad network access, resource pooling, rapid elasticity, metered services, etc. A cloud computing model can also expose various service models, such as Software as a Service (SaaS), Platform as a Service (PaaS), Infrastructure as a Service (IaaS). A cloud computing model can also be deployed using various deployment models, such as private cloud, community cloud, public cloud, hybrid cloud, etc. In this description and claims, a "cloud computing environment" is an environment in which cloud computing is used.

도 8은 위에서 설명된 방법 중 하나 이상을 수행하도록 구성될 수 있는 컴퓨팅 디바이스(800)의 블록도를 예시하는 것이다. 컴퓨팅 디바이스(800)와 같은 하나 이상의 컴퓨팅 디바이스가 모델 스위칭 시스템(108) 및 유전체 분석 플랫폼(104)을 구현할 수 있다는 것을 이해할 것이다. 도 8에 도시된 바와 같이, 컴퓨팅 디바이스(800)는 프로세서(802), 메모리(804), 저장 디바이스(806), I/O 인터페이스(808) 및 통신 인터페이스(810)를 포함할 수 있으며, 이는 통신 인프라(812)를 통해 통신 가능하게 결합될 수 있다. 특정 실시예에서, 컴퓨팅 디바이스(800)는 도 8에 도시된 것보다 더 적거나 더 많은 구성요소를 포함할 수 있다. 다음 단락에서는 도 8에 도시된 컴퓨팅 디바이스(800)의 구성요소를 더 상세하게 설명한다.FIG. 8 illustrates a block diagram of a computing device (800) that may be configured to perform one or more of the methods described above. It will be appreciated that one or more computing devices, such as the computing device (800), may implement the model switching system (108) and the genome analysis platform (104). As illustrated in FIG. 8, the computing device (800) may include a processor (802), a memory (804), a storage device (806), an I/O interface (808), and a communication interface (810), which may be communicatively coupled via a communication infrastructure (812). In certain embodiments, the computing device (800) may include fewer or more components than illustrated in FIG. 8. The components of the computing device (800) illustrated in FIG. 8 are described in more detail in the following paragraphs.

하나 이상의 실시예에서, 프로세서(802)는 컴퓨터 프로그램을 구성하는 명령어와 같은 명령어를 실행하기 위한 하드웨어를 포함한다. 제한이 아닌 예로서, 워크플로우를 동적으로 수정하기 위한 명령어를 실행하기 위해, 프로세서(802)는 내부 레지스터, 내부 캐시, 메모리(804) 또는 저장 디바이스(806)로부터 명령어를 검색(또는 페치(fetch))하고, 이를 디코딩하고 실행할 수 있다. 메모리(804)는 프로세서(들)에 의해 실행하기 위한 데이터, 메타데이터 및 프로그램을 저장하는 데 사용되는 휘발성 또는 비휘발성 메모리일 수 있다. 저장 디바이스(806)는 본원에 설명된 방법을 수행하기 위한 데이터 또는 명령어를 저장하기 위한 하드 디스크, 플래시 디스크 드라이브 또는 기타 디지털 저장 디바이스와 같은 저장장치를 포함한다.In one or more embodiments, the processor (802) includes hardware for executing instructions, such as instructions that constitute a computer program. By way of example, and not limitation, to execute instructions for dynamically modifying a workflow, the processor (802) may retrieve (or fetch) instructions from an internal register, an internal cache, a memory (804), or a storage device (806), decode them, and execute them. The memory (804) may be volatile or nonvolatile memory used to store data, metadata, and programs for execution by the processor(s). The storage device (806) includes a storage device, such as a hard disk, a flash disk drive, or other digital storage device, for storing data or instructions for performing the methods described herein.

I/O 인터페이스(808)는 사용자가 컴퓨팅 디바이스(800)에 입력을 제공하고, 그로부터 출력을 수신하고, 달리 컴퓨팅 디바이스(800)와 데이터를 전송하고 수신할 수 있게 해준다. I/O 인터페이스(808)는 마우스, 키패드 또는 키보드, 터치 스크린, 카메라, 광학 스캐너, 네트워크 인터페이스, 모뎀, 기타 알려진 I/O 디바이스 또는 이러한 I/O 인터페이스의 조합을 포함할 수 있다. I/O 인터페이스(808)는 그래픽 엔진, 디스플레이(예를 들어, 디스플레이 스크린), 하나 이상의 출력 드라이버(예를 들어, 디스플레이 드라이버), 하나 이상의 오디오 스피커 및 하나 이상의 오디오 드라이버를 포함하지만 이에 제한되지 않는, 사용자에게 출력을 제공하기 위한 하나 이상의 디바이스를 포함할 수 있다. 특정 실시예에서, I/O 인터페이스(808)는 사용자에게 제시하기 위해 디스플레이에 그래픽 데이터를 제공하도록 구성된다. 그래픽 데이터는 하나 이상의 그래픽 사용자 인터페이스 및/또는 특정 구현을 제공할 수 있는 임의의 다른 그래픽 콘텐츠를 대표할 수 있다.The I/O interface (808) allows a user to provide input to the computing device (800), receive output therefrom, and otherwise transmit and receive data to and from the computing device (800). The I/O interface (808) may include a mouse, a keypad or keyboard, a touch screen, a camera, an optical scanner, a network interface, a modem, any other known I/O device, or a combination of such I/O interfaces. The I/O interface (808) may include one or more devices for providing output to the 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 certain embodiments, the I/O interface (808) is configured to provide graphical data to the display for presentation to the user. The graphical data may represent one or more graphical user interfaces and/or any other graphical content that can provide a particular implementation.

통신 인터페이스(810)는 하드웨어, 소프트웨어, 또는 둘 다를 포함할 수 있다. 어떤 경우에도, 통신 인터페이스(810)는 컴퓨팅 디바이스(800)와 하나 이상의 다른 컴퓨팅 디바이스 또는 네트워크 사이의 통신(예를 들어 패킷 기반 통신 등)을 위한 하나 이상의 인터페이스를 제공할 수 있다. 제한이 아닌 예로서, 통신 인터페이스(810)는 이더넷 또는 다른 유선 기반 네트워크와 통신하기 위한 네트워크 인터페이스 제어기(NIC) 또는 네트워크 어댑터, 또는 무선 네트워크와 통신하기 위한 무선 NIC(WNIC) 또는 무선 어댑터, 예컨대 WI-FI를 포함할 수 있다.The communication interface (810) may include hardware, software, or both. In any case, the communication interface (810) may provide one or more interfaces for communication (e.g., packet-based communications) between the computing device (800) and one or more other computing devices or networks. By way of example, and not limitation, the communication interface (810) may include a network interface controller (NIC) or network adapter for communicating with an Ethernet or other wired-based network, or a wireless NIC (WNIC) or wireless adapter for communicating with a wireless network, such as WI-FI.

추가적으로, 통신 인터페이스(810)는 다양한 유형의 유선 또는 무선 네트워크와의 통신을 용이하게 할 수 있다. 통신 인터페이스(810)는 또한 다양한 통신 프로토콜을 사용하여 통신을 용이하게 할 수 있다. 통신 인프라(812)는 또한 컴퓨팅 디바이스(800)의 구성요소를 서로 연결하는 하드웨어, 소프트웨어, 또는 둘 다를 포함할 수 있다. 예를 들어, 통신 인터페이스(810)는 하나 이상의 네트워크 및/또는 프로토콜을 사용하여 특정 인프라에 의해 연결된 복수의 컴퓨팅 디바이스가 서로 통신하여 본원에서 설명된 방법의 하나 이상의 양태를 수행 가능하도록 할 수 있다. 예시하자면, 서열분석 방법은 복수의 디바이스(예를 들어, 클라이언트 디바이스, 서열분석 디바이스 및 서버 디바이스(들))가 서열분석 데이터 및 오류 통지와 같은 정보를 교환하도록 허용할 수 있다.Additionally, the communication interface (810) may facilitate communication with various types of wired or wireless networks. The communication interface (810) may also facilitate communication using various communication protocols. The communication infrastructure (812) may also include hardware, software, or both that interconnect components of the computing device (800). For example, the communication interface (810) may utilize one or more networks and/or protocols to enable a plurality of computing devices connected by a particular infrastructure to communicate with each other to perform one or more aspects of the methods described herein. By way of example, a sequence analysis method may allow a plurality of devices (e.g., a client device, a sequence analysis device, and a server device(s)) to exchange information, such as sequence analysis data and error notifications.

전술한 명세서에서는 본 개시내용은 그의 구체적인 예시적 실시예를 참조하여 설명되었다. 본 개시내용(들)의 다양한 실시예 및 양태는 본원에 논의된 세부사항을 참조하여 설명되며, 첨부 도면은 다양한 실시예를 나타낸다. 위의 설명과 도면은 본 개시내용을 예시하는 것이고, 본 개시내용을 제한하는 것으로 해석되어서는 안 된다. 본 개시내용의 다양한 실시예의 완전한 이해를 제공하기 위해 다수의 특정 세부사항이 기술된다.In the foregoing specification, the present disclosure has been described with reference to specific exemplary embodiments thereof. Various embodiments and aspects of the present disclosure(s) 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 set forth in order to provide a thorough understanding of the various embodiments of the present disclosure.

본 개시내용은 그의 사상 또는 본질적인 특성들로부터 벗어남이 없이 다른 특정 형태로 구현될 수 있다. 기술된 실시예는 모든 점에서 단지 제한적이 아닌 예시적인 것으로 고려되어야 한다. 예를 들어, 본원에 설명된 방법은 더 적거나 더 많은 단계/행위로 수행될 수 있거나 단계/행위는 다른 순서로 수행될 수 있다. 또한, 본원에 설명된 단계/행위는 서로 병행하여 또는 동일하거나 유사한 단계/행위의 다른 경우와 병행하여 반복되거나 수행될 수 있다. 따라서, 본 출원의 범위는 전술한 설명보다는 첨부된 청구범위에 의해 표시된다. 청구범위의 등가물의 의미 및 범위 내에 있는 모든 변화는 그 범위 내에 포함되는 것으로 간주된다.The present disclosure may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. The described embodiments are to be considered in all respects merely illustrative and not restrictive. For example, the methods described herein may be performed with fewer or more steps/acts, or the steps/acts may be performed in a different order. Furthermore, the steps/acts described herein may be repeated or performed in parallel with each other or with other instances of the same or similar steps/acts. Accordingly, the scope of the present application is indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be considered to be included within their scope.

본원에서 사용되는 용어 "대상"에는 본원에 설명된 광학 시스템을 사용하여 영상화, 보기, 분석, 검사, 또는 프로파일링하는 데 적합한 모든 것이 포함된다. 단지 예로서, 대상에는 반도체 웨이퍼 또는 칩, 기록 가능한 매체, 샘플, 플로우 셀, 미세입자, 슬라이드, 또는 마이크로어레이가 포함될 수 있다. 대상에는 일반적으로 사용자가 그의 프로파일을 영상화하고, 보고, 분석하고, 검사하고/하거나 결정하기를 원할 수 있는 하나 이상의 표면 및/또는 하나 이상의 경계면을 포함한다. 대상은 웰(well), 피트(pit), 능선(ridge), 범프(bump), 비드(bead) 등과 같은 양각 특징부가 있는 표면이나 경계면을 가질 수 있다.The term "object" as used herein includes anything suitable for imaging, viewing, analyzing, examining, or profiling using 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 on which a user may wish to image, view, analyze, examine, and/or determine a profile. An object may have a surface or interface having relief features such as wells, pits, ridges, bumps, beads, and the like.

"샘플"에 대한 설명에서 위에 나타낸 바와 같이, 샘플은 후속 분석을 위해 영상화되거나 스캔될 수 있다. 특정 실시예에서, 샘플은 관심 대상 생물학적 또는 화학적 물질을 포함할 수 있고, 선택적으로 생물학적 또는 화학적 물질을 지지하는 광학 기판을 포함할 수도 있다. 이와 같이, 샘플은 광학 기판을 포함할 수 있거나 또는 포함하지 않을 수도 있다. 본원에서 사용되는 용어 "생물학적 물질 또는 화학적 물질"은 제한하려는 것이 아니고, 본원에 기재된 광학 시스템을 사용하여 영상화 또는 검사하기에 적합한 다양한 생물학적 또는 화학적 물질을 포함할 수 있다. 예를 들어, 생물학적 또는 화학적 물질은 생체분자, 예를 들어, 뉴클레오시드, 핵산, 폴리뉴클레오티드, 올리고뉴클레오티드, 단백질, 효소, 폴리펩티드, 항체, 항원, 리간드, 수용체, 다당류, 탄수화물, 폴리포스페이트, 나노기공, 세포기관, 지질층, 세포, 조직, 유기체, 및 생물학적으로 활성인 화학적 화합물(들), 예컨대 전술한 종의 유사체 또는 모방체를 포함한다.As indicated above in the description of "sample", the sample may be imaged or scanned for subsequent analysis. In certain embodiments, the sample may comprise a biological or chemical material of interest, and optionally may comprise an optical substrate supporting the biological or chemical material. As such, the sample may or may not comprise an optical substrate. The term "biological material or chemical material" as used herein is not intended to be limiting, and may include a variety of biological or chemical materials suitable for imaging or examination using the optical systems described herein. For example, biological or chemical materials include 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 biologically active chemical compound(s), such as analogs or mimics of the aforementioned species.

생물학적 또는 화학적 물질은 광학 기판에 의해 지지될 수 있다. 본원에서 사용되는 용어 "광학 기판"은 제한하려는 것이 아니고, 생물학적 또는 화학적 물질을 지지하며 생물학적 또는 화학적 물질이 관찰되고, 영상화되고, 및 검사되는 것 중 적어도 하나를 허용하는 다양한 재료를 포함할 수 있다. 예를 들어, 광학 기판은 입사광의 일부를 반사하고 입사광의 일부를 굴절시키는 투명 재료를 포함할 수 있다. 대안적으로, 광학 기판은, 예를 들어, 입사광을 전체적으로 반사시켜 어떠한 빛도 광학 기판을 통해 투과되지 않도록 하는 거울일 수 있다. 일반적으로, 광학 기판은 편평한 표면을 갖는다. 그러나 광학 기판은 웰, 피트, 능선, 범프, 비드 등과 같은 양각 특징부를 갖는 표면을 가질 수 있다.The biological or chemical material may be supported by an optical substrate. The term "optical substrate" as used herein is not intended to be limiting and may include a variety of materials that support the biological or chemical material and allow at least one of the biological or chemical material to be observed, imaged, and examined. For example, the optical substrate may include a transparent material that reflects a portion of incident light and refracts a portion of the incident light. Alternatively, the optical substrate may be a mirror, for example, that entirely reflects incident light so 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 having relief features such as wells, pits, ridges, bumps, beads, and the like.

예시적 구현예에서, 광학 기판은 핵산이 서열분석되는 플로우 채널을 갖는 플로우 셀이다. 그러나, 대안적인 실시예에서, 광학 기판은 하나 이상의 슬라이드, 평면 칩(예컨대, 마이크로어레이에 사용되는 것), 또는 마이크로입자를 포함할 수 있다. 광학 기판이 생물학적 또는 화학적 물질을 지지하는 복수의 미세입자를 포함하는 경우, 미세입자는 슬라이드 또는 홈이 있는 플레이트와 같은 또 다른 광학 기판에 의해 유지될 수 있다. 특정 실시예에서, 광학 기판은 2003년 9월 12일자로 출원된 발명의 명칭이 회절 격자 기반 광학 식별 요소인 계류 중인 미국 특허 출원 제10/661,234호(이는 전체가 본원에 참조로 포함되며 이하에서 더 자세히 설명됨)에 설명된 것과 유사하거나 동일한 회절 격자 기반 인코딩된 광학 식별 요소를 포함한다. 광학 식별 요소를 고정하기 위한 비드 셀 또는 플레이트는, 2003년 9월 12일자로 출원된 발명의 명칭이 "마이크로비드를 조사하기 위해 이를 정렬하는 방법 및 장치"인 계류 중인 미국 특허 출원 제10/661,836호 및 2007년 1월 16일자로 특허 허여된 발명의 명칭이 "하이브리드 랜덤 비드/칩 기반 마이크로어레이"인 미국 특허 제7,164,533호뿐만 아니라, 2004년 9월 13일자로 출원된 발명의 명칭이 "마이크로비드를 조사하기 위해 이를 정렬하는 개선된 방법 및 장치"인 미국 특허 출원 제60/609,583호 및 2004년 9월 17일자로 출원된 발명의 명칭이 "마이크로비드를 조사하기 위해 이를 정렬하는 방법 및 장치"인 미국 특허 출원 제60/1010,910호에 설명된 것과 유사하거나 동일할 수 있으며, 이들은 각각은 그 전체가 본원에 참고로 포함된다.In an exemplary embodiment, the optical substrate is a flow cell having a flow channel through which nucleic acids are sequenced. However, in alternative embodiments, the optical substrate can include one or more slides, flat chips (e.g., as used in microarrays), or microparticles. When the optical substrate includes a plurality of microparticles supporting biological or chemical substances, the microparticles can be supported by another optical substrate, such as a slide or a grooved plate. In certain embodiments, the optical substrate includes a diffraction grating-based encoded optical identification element similar or identical to that described in co-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 is described in more detail below. The bead cells or plates for holding the optical identification elements can be similar or identical to those described in co-pending U.S. patent application Ser. No. 10/661,836, filed Sep. 12, 2003, entitled "Method and Apparatus for Aligning Microbeads for Investigation" and U.S. Pat. No. 7,164,533, issued Jan. 16, 2007, entitled "Hybrid Random Bead/Chip-Based Microarray", as well as U.S. patent application Ser. No. 60/609,583, filed Sep. 13, 2004, entitled "Improved Method and Apparatus for Aligning Microbeads for Investigation" and U.S. patent application Ser. No. 60/1010,910, filed Sep. 17, 2004, entitled "Method and Apparatus for Aligning Microbeads for Investigation", each of which is incorporated herein by reference in its entirety.

본원에서 사용되는 용어 "광학 구성요소" 또는 "초점 구성요소"는 광의 투과에 영향을 미치는 다양한 요소를 포함한다. 광학 구성요소는, 예를 들어, 반사기, 다이크로익(dichroic), 빔 스플리터, 시준기(collimator), 렌즈, 필터, 웨지, 프리즘, 거울 등일 수 있다.The term "optical component" or "focusing component" as used herein includes various elements that affect the transmission of light. The optical components can be, for example, reflectors, dichroics, beam splitters, collimators, lenses, filters, wedges, prisms, mirrors, and the like.

예를 들어, 본원에 기재된 광학 시스템은 2007년 3월 30일자로 출원된 발명의 명칭이 "합성 분석에 의한 서열을 위한 시스템 및 디바이스"인 PCT 출원 PCT/US07/07991호에 기재된 바와 같은 다양한 구성요소 및 조립체를 포함하도록 구성될 수 있고/있거나 2008년 9월 26일자로 출원된 발명의 명칭이 "형광 여기 및 검출 시스템 및 방법"인 PCT 출원 PCT/US2008/077850호에 기재된 바와 같은 다양한 구성요소 및 조립체를 포함하도록 구성될 수 있으며, 이들 모두의 전체 주제는 그 전체가 본원에 참고로 포함된다. 특정 실시예에서, 광학 시스템은 미국 특허 제7,329,860호에 기재된 바와 같은 다양한 구성요소 및 조립체를 포함할 수 있고, 이의 전체 주제는 그 전체가 본원에 참고로 포함된다. 광학 시스템은 또한, 2009년 12월 15일자로 출원된 미국 특허 출원 제12/638,770호에 기재된 바와 같은 다양한 구성요소 및 조립체를 포함할 수 있고, 이의 전체 주제는 그 전체가 본원에 참고로 포함된다.For example, the optical systems described herein can be configured to include various components and assemblies such as those described in PCT Application No. PCT/US07/07991, filed Mar. 30, 2007, entitled "System and Device for Sequencing by Synthetic Analysis" and/or can be configured to include various components and assemblies such as those described in PCT Application No. PCT/US2008/077850, filed Sep. 26, 2008, entitled "Fluorescence Excitation and Detection Systems and Methods", the entire subject matter of all of which is incorporated herein by reference in its entirety. In certain embodiments, the optical systems can include various components and assemblies such as those described in U.S. Pat. No. 7,329,860, the entire 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 Ser. No. 12/638,770, filed December 15, 2009, the entire subject matter of which is incorporated herein by reference in its entirety.

특정 실시예에서, 본원에 설명된 방법 및 광학 시스템은 핵산 서열분석에 사용될 수 있다. 예를 들어, 합성에 의한 서열분석(SBS) 프로토콜이 특히 적용 가능하다. SBS에서, 복수의 형광 라벨링된 변형된 뉴클레오티드는 광학 기판의 표면(예를 들어, 플로우 셀 내의 채널을 적어도 부분적으로 한정하는 표면) 상에 존재하는 증폭된 DNA의 밀집 클러스터(가능하게는, 수백만 개의 클러스터)를 서열분석하는 데 사용된다. 플로우 셀은, 플로우 셀이 적절한 플로우 셀 홀더 내에 배치되는 서열분석을 위한 핵산 샘플을 포함할 수 있다. 서열분석을 위한 샘플은 개별적으로 분해될 수 있도록 서로 분리된 단일 핵산 분자의 형태, 클러스터 또는 기타 특징부 형태의 증폭된 핵산 분자의 집단의 형태, 또는 하나 이상의 핵산 분자에 부착된 비드 형태를 취할 수 있다. 핵산은 미지의 표적 서열에 인접한 올리고뉴클레오티드 프라이머를 포함하도록 제조될 수 있다. 제1 SBS 서열분석 사이클을 개시하기 위하여, 하나 이상의 상이하게 라벨링된 뉴클레오티드 및 DNA 폴리머라제 등이 유체 유동 서브시스템(도시되지 않음)에 의해 플로우 셀 내로/이를 통해 유동될 수 있다. 단일 유형의 뉴클레오티드가 한 번에 첨가될 수 있거나, 또는 서열분석 절차에 사용되는 뉴클레오티드가 가역적 종결 속성을 갖도록 특별히 설계될 수 있어서, 이에 따라, 서열분석 반응의 각각의 사이클이 몇몇 유형의 라벨링된 뉴클레오티드(예컨대, A, C, T, G)의 존재 시에 동시에 발생할 수 있게 한다. 뉴클레오티드는 형광단과 같은 검출가능한 라벨 모이어티를 포함할 수 있다. 4개의 뉴클레오티드가 함께 혼합되는 경우, 중합효소는 혼입할 올바른 염기를 선택할 수 있으며 각 서열은 단일 염기에 의해 확장된다. 하나 이상의 레이저가 핵산을 여기시킬 수 있고, 형광을 유도할 수 있다. 핵산으로부터 방출된 형광은 혼입된 염기의 형광단에 기초하고, 상이한 형광단은 상이한 파장의 방출 광을 방출할 수 있다. 예시적인 서열분석 방법은 예를 들어 문헌[Bentley 외, Nature 456:53-59 (2008)], 국제공개 WO 04/018497호; 미국 특허 제7,057,026호; 국제공개 WO 91/06678호; 국제공개 WO 07/123,744호; 미국 특허 제7,329,492호; 미국 특허 제7,211,414호; 미국 특허 제7,315,019호; 미국 특허 제7,405,281호, 및 미국 특허 출원 공개 제2008/0108082호에 기재되어 있으며, 이들 각각은 본원에 참고로 포함된다.In certain embodiments, the methods and optical systems described herein may be used for nucleic acid sequencing. For example, a sequence-by-synthesis (SBS) protocol is particularly applicable. In SBS, a plurality of fluorescently labeled modified nucleotides are used to sequence dense clusters (potentially 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, wherein the flow cell is positioned within a suitable flow cell holder. The sample for sequencing may take the form of single nucleic acid molecules that are individually resolvable, a population of amplified nucleic acid molecules in the form of clusters or other features, or a bead attached to one or more nucleic acid molecules. The nucleic acids may be prepared to include oligonucleotide primers that are adjacent to 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, so that each cycle of the sequencing reaction can occur simultaneously in the presence of several types of labeled nucleotides (e.g., A, C, T, G). The nucleotides can include a detectable label moiety, such as a fluorophore. When four nucleotides are mixed together, the polymerase can select the correct base to incorporate, and each sequence is extended by a single base. One or more lasers can excite the nucleic acid, inducing fluorescence. The fluorescence emitted from the nucleic acid is based on the fluorophores of the incorporated bases, and different fluorophores can emit light at different wavelengths. Exemplary sequencing methods are described, for example, in the literature [Bentley et al., Nature 456:53-59 (2008)], WO 04/018497; U.S. Pat. No. 7,057,026; International Publication No. WO 91/06678; International Publication No. WO 07/123,744; 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.

본원에 기재된 방법 및 시스템의 사용에 적용 가능한 다른 서열분석 기술은 파이로서열분석, 나노포어 서열분석, 및 결찰에 의한 서열분석이다. 특히 유용한 예시적인 파이로서열분석 기술 및 샘플은 미국 특허 제6,210,891호; 미국 특허 제6,258,568호; 미국 특허 제6,274,320호 및 문헌[Ronaghi, Genome Research 11:3-11 (2001)]에 기재되어 있으며, 이들 각각은 본원에 참고로 포함된다. 또한 유용한 예시적인 나노포어 기술 및 샘플은 문헌[Deamer 외, Acc. Chem. Res. 35:817-825 (2002)]; 문헌[Li 외, Nat. Mater. 2:611-615 (2003)]; 문헌[Soni 외, Clin Chem. 53:1996-2001 (2007)], 문헌[Healy 외, Nanomed. 2:459-481 (2007)] 및 문헌[Cockroft 외, J. am. Chem. Soc. 130:818-820]; 및 미국 특허 제7,001,792호에 기재되어 있으며, 이들 각각은 본원에 참고로 포함된다. 에멀젼 PCR에 의해 생성된 비드를 갖는 기판, 제로 모드 도파관을 갖는 기판, 지질 이중층에서 생물학적 나노기공을 갖는 기판, 합성 나노기공을 갖는 고체 기판, 및 당해 기술 분야에서 알려진 기타의 것과 같은 이러한 시스템에서 임의의 다양한 샘플이 사용될 수 있다. 이러한 샘플은 위에서 인용된 참고 문헌 및 추가로 미국 특허 출원 공개 제2005/0042648호; 미국 특허 출원 공개 제2005/0079510호; 미국 특허 출원 공개 제2005/0130173호; 및 국제공개 05/010145호에서 다양한 서열분석 기술의 맥락에서 설명되며, 이들 각각은 본원에 참고로 포함된다.Other sequencing techniques 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. Pat. No. 6,210,891; U.S. Pat. No. 6,258,568; U.S. Pat. No. 6,274,320, and Ronaghi, Genome Research 11:3-11 (2001), each of which is incorporated herein by reference. Also useful exemplary nanopore techniques and samples are described in Deamer et al., Acc. Chem. 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. Pat. No. 7,001,792, each of which is incorporated herein by reference. Any of a variety of samples may be used in such systems, such as substrates having beads generated by emulsion PCR, substrates having zero mode waveguides, substrates having biological nanopores in lipid bilayers, solid substrates having synthetic nanopores, and others known in the art. Such samples are described in the context of various sequencing techniques in the references cited above and further in U.S. Patent Application Publication Nos. 2005/0042648; U.S. Patent Application Publication No. 2005/0079510; U.S. Patent Application Publication No. 2005/0130173; and WO 05/010145, each of which is incorporated herein by reference.

다른 실시예에서, 본원에 설명된 광학 시스템은 마이크로어레이를 포함하는 샘플의 검출을 위해 활용될 수 있다. 마이크로어레이는 서로 다른 프로브 분자가 상대적 위치에 따라 서로 구별될 수 있도록 하나 이상의 기판에 부착된 서로 다른 프로브 분자의 집단을 포함할 수 있다. 어레이는 각각이 기판 상의 서로 다른 주소 지정 가능한 위치에 위치되는 서로 다른 프로브 분자 또는 프로브 분자의 집단을 포함할 수 있다. 대안적으로, 마이크로어레이는 기판이 부착되는 표면 상의 광학 기판의 위치에 따라 또는 액체 속 기판의 위치에 따라 식별될 수 있는 다른 프로브 분자 또는 프로브 분자의 집단을 각각 보유하는 비드와 같은 별도의 광학 기판을 포함할 수 있다. 별개의 기판이 한 표면에 위치하는 예시적인 어레이는 Illumina®, Inc.(캘리포니아주 샌디에고 소재)에서 입수할 수 있는 Sentrix® 어레이 또는 Sentrix® Beadchip 어레이, 또는 미국 특허 제6,266,459호, 제6,355,431호, 제6,770,441호, 및 제6,859,570호; 및 PCT 국제공개 WO 00/63437호에 기재된 바와 같은, 웰에 비드를 포함하는 기타의 것을 제한 없이 포함하며, 이들 각각은 본원에 참고로 포함된다. 표면 상에 입자를 갖는 다른 어레이는 미국 특허 출원 공개 제2005/0227252호; 국제공개 WO 05/033681호; 및 국제공개 WO 04/024328호에 명시된 것을 포함하며, 이들 각각은 본원에 참고로 포함된다.In another embodiment, the optical system described herein can be utilized for the detection of a sample comprising a microarray. The microarray can include a population of different probe molecules attached to one or more substrates such that the different probe molecules can be distinguished from one another based on their relative positions. The array can include a different probe molecule or population of probe molecules, each located at a different addressable location 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 based on the location of the optical substrate on the surface to which the substrate is attached or based on the location of the substrate in a liquid. Exemplary arrays in which separate substrates are located on a surface include Sentrix® arrays or Sentrix® Beadchip arrays available from Illumina®, Inc. (San Diego, Calif.), or those described in U.S. Pat. Nos. 6,266,459, 6,355,431, 6,770,441, and 6,859,570; and others including beads in wells, as described in PCT International Publication No. WO 00/63437, each of which is incorporated herein by reference. Other arrays having particles on a surface include those described in U.S. Patent Application Publication No. 2005/0227252; International Publication No. WO 05/033681; and International Publication No. WO 04/024328, each of which is incorporated herein by reference.

예를 들어 본원에 기재된 마이크로어레이를 포함하여 당해 기술 분야에 공지된 임의의 다양한 마이크로어레이가 본 발명의 실시예에서 사용될 수 있다. 전형적인 마이크로어레이에는 때로는 특징부라고도 하는 부위가 포함되며, 각각의 부위에는 프로브의 집단이 있다. 각 부위의 프로브의 집단은 일반적으로는 단일 종의 프로브를 갖는 동종이지만, 일부 실시예에서 집단은 각각 이종일 수 있다. 한 어레이의 부위 또는 특징부는 일반적으로 별개로 되어 있고, 서로 공간으로 분리되어 있다. 프로브 부위의 크기 및/또는 부위 사이의 간격은 어레이가 고밀도, 중밀도, 또는 저밀도일 수 있도록 다양할 수 있다. 고밀도 어레이는 약 15μm 미만으로 분리된 부위를 갖는 것으로 특징지어진다. 중밀도 어레이는 약 15 내지 30μm으로 분리된 부위를 갖는 반면, 저밀도 어레이는 30μm 초과로 분리된 부위를 갖는다. 본 발명에서 유용한 어레이는 100μm, 50μm, 10μm, 5μm, 1μm, 또는 0.5μm 미만으로 분리된 부위를 가질 수 있다. 본 발명의 일 실시예의 장치 또는 방법은 상기 밀도 또는 밀도 범위에서 부위를 구별하기에 충분한 해상도로 어레이를 영상화하는 데 사용될 수 있다.Any of a variety of microarrays known in the art, including, for example, the microarrays described herein, can be used in embodiments of the present invention. A typical microarray includes regions, sometimes called features, each of which has a population of probes. The population of probes for each region is typically homogeneous, having a single type of probe, although in some embodiments the populations can be heterogeneous. The regions or features of an array are typically discrete and spatially separated from one another. The size of the probe regions and/or the spacing between the regions can vary, such that the array can be high-density, medium-density, or low-density. A high-density array is characterized as having regions separated by less than about 15 μm. A medium-density array has regions separated by about 15 to 30 μm, while a low-density array has regions separated by more than 30 μm. An array useful in the present invention can have segments separated by less than 100 μm, 50 μm, 10 μm, 5 μm, 1 μm, or 0.5 μm. The device or method of one embodiment of the present invention can be used to image the array with sufficient resolution to distinguish segments within said density or range of densities.

사용될 수 있는 상업적으로 입수 가능한 마이크로어레이의 추가의 예는, 예를 들어, Affymetrix® GeneChip® 마이크로어레이, 또는 예를 들어, 미국 특허 제5,324,633호; 제5,744,305호; 제5,451,683호; 제5,482,867호; 제5,491,074호; 제5,624,711호; 제5,795,716호; 제5,831,070호; 제5,856,101호; 제5,858,659호; 제5,874,219호; 제5,968,740호; 제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호 및 제6,482,591호에 기재된 바와 같이, 때때로 VLSIPS™(Very Large Scale Immobilized Polymer Synthesis) 기술로 지칭되는 기술에 따라 합성된 다른 마이크로어레이를 포함한다(이들 각각은 본원에 참고로 포함됨). 스폿형 마이크로어레이는 또한 본 발명의 일 실시예에 따른 방법에 사용될 수 있다. 예시적인 스폿형 마이크로어레이는 Amersham Biosciences로부터 입수 가능한 CodeLink™ 어레이이다. 유용한 또 다른 마이크로어레이는 Agilent Technologies로부터 입수 가능한 SurePrint™ Technology와 같은 잉크젯 프린팅 방법을 사용하여 제조되는 것이다.Additional examples of commercially available microarrays that may be used include, for example, Affymetrix® GeneChip® microarrays, or microarrays disclosed in, for example, U.S. Patent Nos. 5,324,633; 5,744,305; 5,451,683; 5,482,867; 5,491,074; 5,624,711; 5,795,716; 5,831,070; 5,856,101; 5,858,659; 5,874,219; 5,968,740; 5,974,164; 5,981,185; 5,981,956; 6,025,601; Other microarrays synthesized according to a technique sometimes referred to as Very Large Scale Immobilized Polymer Synthesis (VLSIPS™) technology, as described in U.S. Pat. Nos. 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 may also be used in the methods according to one embodiment of the present invention. An exemplary spotted microarray is a CodeLink™ array available from Amersham Biosciences. Another useful microarray is one manufactured using an inkjet printing method, such as SurePrint™ Technology available from Agilent Technologies.

본원에 기재된 시스템 및 방법은 마이크로어레이와 접촉된 샘플에서 특정 표적 분자의 존재를 검출하는 데 사용될 수 있다. 이는, 예를 들어, 마이크로어레이의 특정 프로브에 대한 라벨링된 표적 분석물의 결합을 기초하여 결정될 수 있거나, 프로브 위치에서 라벨을 통합, 제거, 또는 변경하기 위한 특정 프로브의 표적 의존적 변형으로 인해 결정될 수 있다. 예를 들어, 미국 특허 출원 공개 제2003/0108867호; 제2003/0108900호; 제2003/0170684호; 제2003/0207295호; 또는 제2005/0181394호에 기재된 바와 같이, 마이크로어레이를 사용하여 표적을 식별하거나 특성화하기 위해 여러 분석법 중 임의의 하나가 사용될 수 있다(이들 각각은 본원에 참고로 포함됨).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 may be determined, for example, based on binding of a labeled target analyte to a particular probe of the microarray, or may be determined due to target-dependent modification of a particular probe to incorporate, remove, or change a label at the probe location. Any one of several assays can be used to identify or characterize a target using a microarray, as described, for example, 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.

예를 들어, 마이크로어레이 상에 존재할 때, 본 발명의 실시예에 따라 검출될 수 있는 예시적인 라벨은 발색단; 발광단; 형광단; 광학적으로 인코딩된 나노입자; 회절 격자로 인코딩된 입자; Ru(bpy)32+와 같은 전기화학발광 라벨; 또는 광학 특성에 기초하여 검출될 수 있는 모이어티를 포함하지만, 이에 제한되지 않는다. 유용할 수 있는 형광단은, 예를 들어, 유로피움 및 테르비움, 플루오레세인, 로다민, 테트라메틸로다민, 에오신, 에리스로신, 쿠마린, 메틸-쿠마린, 피렌, 말라카이트 그린, Cy3, Cy5, 스틸벤, 루시퍼 옐로우, Cascade Blue™, 텍사스 레드, 알렉사 염료, 파이코에리신, 보디파이, 및 문헌[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)], 또는 국제공개 WO 98/59066호에 기재된 것과 같은 당해 기술 분야에 알려진 기타의 것을 포함하는 형광 란탄족 착물을 포함한다(이들 각각은 본원에 참고로 포함됨).For example, exemplary labels that may be detected according to embodiments of the present invention when present on a microarray include, but are not limited to, chromophores; luminophores; fluorophores; optically encoded nanoparticles; particles encoded with a diffraction grating; electrochemiluminescent labels such as Ru(bpy) 32+ ; or moieties that may be detected based on their optical properties. Fluorophores that may be useful include, for example, europium and terbium, fluorescein, rhodamine, tetramethylrhodamine, eosin, erythrosine, coumarin, methyl-coumarin, pyrene, malachite green, Cy3, Cy5, stilbene, Lucifer yellow, Cascade Blue™, Texas Red, Alexa dyes, phycoerythrin, bodipy, and the like as described in Haugland, Molecular Probes Handbook , (Eugene, Oreg.) 6th Edition; Fluorescent lanthanide complexes, including those known in the art, such as those described in The Synthegen catalog (Houston, Tex.), Lakowicz, Principles of Fluorescence Spectroscopy, 2nd Ed., Plenum Press New York (1999)], or International Publication No. WO 98/59066, each of which is incorporated herein by reference.

특정 실시예에서, 광학 시스템은, 예를 들어 미국 특허 제7,329,860호(이의 전체 주제는 그 전체가 본원에 참고로 포함됨)에 기재된 바와 같은 예를 들어 라인 스캐닝 실시예에서 시간 지연 적분(TDI: Time Delay Integration)을 하도록 구성될 수 있다. 예를 들어, 광학 조립체는 0.75 NA 렌즈 및 +/- 125 내지 500nm의 초점 정확도를 가질 수 있다. 해상도는 50 내지 100nm일 수 있다. 시스템은 필터링되지 않은 상태에서 초당 1,000 내지 10,000개의 측정값을 얻을 수 있다.In certain embodiments, the optical system can be configured to perform Time Delay Integration (TDI), for example in a line scanning embodiment, as described, for example, in U.S. Patent No. 7,329,860, the entire subject matter of which is incorporated herein by reference in its entirety. For example, the optical assembly can have a 0.75 NA lens and a focus accuracy of +/- 125 to 500 nm. The resolution can be 50 to 100 nm. The system can obtain 1,000 to 10,000 measurements per second in an unfiltered state.

광학 기판에 의해 지지되는 생물학적 또는 화학적 물질을 포함하는 샘플의 검출과 관련하여 실시예가 예시되어 있지만, 본원에 설명된 실시예에 의해 다른 샘플이 분석, 검사, 또는 영상화될 수 있다는 것이 이해될 것이다. 다른 예시적인 샘플은 세포 또는 조직과 같은 생물학적 시료, 컴퓨터 프로세서에 사용되는 것과 같은 전자 칩 등을 포함하지만 이에 국한되지는 않는다. 적용 중 일부의 예에는 현미경 검사, 위성 스캐너, 고해상도 복제, 형광 이미지 획득, 핵산 분석 및 서열분석, DNA 서열분석, 합성에 의한 서열분석, 마이크로어레이의 영상화, 홀로그램으로 인코딩된 미세 입자의 영상화 등이 포함된다.While the embodiments have been illustrated with respect to the detection of samples comprising biological or chemical substances supported by an optical substrate, it will be appreciated that other samples may be analyzed, examined, or imaged by the embodiments described herein. Other exemplary samples include, but are not limited to, biological samples 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 cloning, fluorescence image acquisition, nucleic acid analysis and sequencing, DNA sequencing, sequencing-by-synthesis, imaging of microarrays, imaging of holographically encoded microparticles, and the like.

다른 실시예에서, 광학 시스템은 대상의 특정 특징부나 구조를 결정하기 위해 대상을 검사하도록 구성될 수 있다. 예를 들어, 광학 시스템은 대상(예를 들어, 반도체 칩, 실리콘 웨이퍼)의 표면을 검사하여 표면에 어떤 편차나 결함이 있는지 결정하는 데 사용될 수 있다.In another embodiment, the optical system may be configured to inspect an object to determine specific features or structures 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 any deviations or defects on the surface.

도 9는 일 실시예에 따른 형성된 광학 시스템(900)의 블록도를 예시하는 것이다. 단지 예로서, 광학 시스템(900)은 분석을 위해 관심 대상 샘플을 영상화하는 샘플 이미저(sample imager)일 수 있다. 다른 실시예에서, 광학 시스템(900)은 대상의 표면 프로파일(예를 들어, 지형)을 결정하는 프로파일로미터(profilometer)일 수 있다. 또한, 다양한 다른 유형의 광학 시스템이 본원에 설명된 메커니즘 및 시스템을 사용할 수 있다. 예시된 실시예에서, 광학 시스템(900)은 광학 조립체(906), 광학 조립체(906)의 초점면(FP) 근처의 물체(910)를 지지하기 위한 물체 홀더(902), 및 물체 홀더(902)를 (지면으로 연장되는 X축 및/또는 Y축을 따라) 측면 방향으로 또는 Z축을 따라 수직/고도 방향으로 이동하도록 구성된 스테이지 제어기(915)를 포함한다. 광학 시스템(900)은 또한 광학 조립체(906), 스테이지 제어기(915), 및/또는 물체 홀더(902)에 작동 가능하게 결합된 시스템 제어기 또는 컴퓨팅 시스템(920)을 포함할 수 있다.FIG. 9 illustrates a block diagram of an optical system (900) formed according to one embodiment. By way of example only, the optical system (900) may be a sample imager that images a sample of interest for analysis. In another embodiment, the optical system (900) may be a profilometer that determines a surface profile (e.g., topography) of the object. Additionally, various other types of optical systems may utilize the mechanisms and systems described herein. In the illustrated embodiment, the optical system (900) includes an optical assembly (906), an object holder (902) for supporting an object (910) near a focal plane (FP) of the optical assembly (906), and a stage controller (915) configured to move the object holder (902) laterally (along the X-axis and/or Y-axis extending toward the ground) or vertically/elevationally along the Z-axis. The optical system (900) may also include a system controller or computing system (920) operably coupled to the optical assembly (906), the stage controller (915), and/or the object holder (902).

특정 실시예에서, 광학 시스템(900)은 샘플을 영상화하도록 구성된 샘플 이미저이다. 도시되지는 않았지만, 샘플 이미저는 다양한 분석 프로토콜을 수행하기 위한 다른 하위 시스템 또는 디바이스를 포함할 수 있다. 단지 예로서, 샘플은 플로우 채널을 갖는 플로우 셀을 포함할 수 있다. 샘플 이미저는 유체 네트워크를 통해 플로우 채널에 유체 연통되게 결합된 액체 저장소를 포함하는 유체 제어 시스템을 포함할 수 있다. 샘플 이미저는 또한, 샘플의 온도 및/또는 샘플을 통해 흐르는 유체의 온도를 조절하도록 구성된 가열기/냉각기를 가질 수 있는 온도 제어 시스템을 포함할 수 있다. 온도 제어 시스템은 유체의 온도를 검출하는 센서를 포함할 수 있다.In certain embodiments, the optical system (900) is a sample imager configured to image a sample. Although not shown, the sample imager may include other subsystems or devices for performing various analysis protocols. By way of example only, the sample may include a flow cell having a flow channel. The sample imager may include a fluid control system including a liquid reservoir fluidly coupled to the flow channel via a fluid network. The sample imager may also include a temperature control system that may have a heater/cooler configured to control the temperature of the sample and/or the temperature of a fluid flowing through the sample. The temperature control system may include a sensor that detects the temperature of the fluid.

도시된 바와 같이, 광학 조립체(906)는 입력 광을 물체(910)에 지향시키고, 출력 광을 수광하여 하나 이상의 검출기로 지향시키도록 구성된다. 출력 광은 물체(910)에 의해 반사되거나 굴절된 것 중 적어도 하나인 입력 광일 수 있고, 그리고/또는 출력 광은 물체(910)에서 방출되는 빛일 수 있다. 입력 광을 지향시키기 위해, 광학 조립체(906)는 사전 결정된 파장을 갖는 광빔과 같은 광을 광학 조립체(906)의 하나 이상의 광학 구성요소를 통해 지향시키는 적어도 하나의 기준 광원(912) 및 적어도 하나의 여기 광원(914)을 포함할 수 있다. 광학 조립체(906)는 물체(910)를 향해 입력 광을 지향시키고 검출기(들)를 향해 출력 광을 지향시키기 위한 공액 렌즈(918)를 포함하는 다양한 광학 구성요소를 포함할 수 있다.As illustrated, the optical assembly (906) is configured to direct input light toward the object (910) and to receive and direct output light toward one or more detectors. The output light may be input light that is at least one that is reflected or refracted by the object (910), and/or the output light may be light emitted from the object (910). To direct the input light, the optical assembly (906) may include at least one reference light source (912) and at least one excitation light source (914) that direct light, such as a light beam having a predetermined wavelength, through one or more optical components of the optical assembly (906). The optical assembly (906) may include various optical components, including a conjugate lens (918) for directing the input light toward the object (910) and directing the output light toward the detector(s).

예시적인 실시예에서, 기준 광원(912)은 광학계(900)의 거리 측정 시스템이나 초점 조절 시스템(또는 초점 조정 기구)에 의해 사용될 수 있고, 여기 광원(914)은 물체(910)가 생물학적 또는 화학적 샘플을 포함하는 경우 물체(910)의 생물학적 또는 화학적 물질을 여기시키기 위해 사용될 수 있다. 여기 광원(914)은 TIRF 영상화에서와 같이 물체(910)의 바닥면을 조명하도록 배열될 수 있거나, 에피-형광 영상화에서와 같이 물체(910)의 상부면을 조명하도록 배열될 수 있다. 도 9에 예시된 바와 같이, 공액 렌즈(918)는 입력 광을 초점면(FP) 내에 있는 초점 영역(922)으로 지향시킨다. 렌즈(918)는 광축(924)을 갖고, 광축(924)을 따라 측정된 물체(910)로부터 작동 거리(WD1)만큼 떨어져 위치된다. 스테이지 제어기(915)는, 예를 들어 물체(910)의 일부가 초점 영역(922) 내에 있도록, 작동 거리(WD1)를 조정하기 위해 물체(910)를 Z 방향으로 이동시킬 수 있다.In an exemplary embodiment, a reference light source (912) may be used by a distance measurement system or focus adjustment system (or focus mechanism) of the optical system (900), and an excitation light source (914) may be used to excite biological or chemical substances of the object (910) if the object (910) comprises a biological or chemical sample. The excitation light source (914) may be arranged to illuminate the bottom surface of the object (910), as in TIRF imaging, or may be arranged to illuminate the top surface of the object (910), as in epi-fluorescence imaging. As illustrated in FIG. 9 , a conjugate lens (918) directs input light into a focal region (922) within a focal plane (FP). The lens (918) has an optical axis (924) and is positioned a working distance (WD 1 ) from the object (910) measured along the optical axis (924). The stage controller (915) can move the object (910) in the Z direction to adjust the working distance (WD 1 ), for example, so that a portion of the object (910) is within the focal area (922).

물체(910)가 초점에 있는지(즉, 충분히 초점 영역(922) 또는 초점면(FP) 내에 있는지) 결정하기 위해, 광학 조립체(906)는 물체(910)가 대략 위치하고 있는 초점 영역(922)으로 적어도 한 쌍의 광 빔을 지향시키도록 구성된다. 물체(910)는 광 빔을 반사시킨다. 보다 구체적으로, 물체(910)의 외부 표면 또는 물체(910) 내의 경계면은 광 빔을 반사시킨다. 그러면 반사된 광 빔은 렌즈(918)로 되돌아와 그 렌즈를 통해 전파된다. 도시된 바와 같이, 각각의 광 빔은 물체(910)에 의해 아직 반사되지 않은 부분과 물체(910)에 의해 반사된 부분을 포함하는 광 경로를 갖는다. 반사 전의 광 경로의 부분은 입사 광 빔(930a 및 932a)으로 지정되고, 물체(910) 쪽을 가리키는 화살표로 표시된다. 물체(910)에 의해 반사된 광 경로의 부분은 반사된 광 빔(930b 및 932b)으로 지정되고, 물체(910)로부터 멀어지는 쪽을 가리키는 화살표로 표시된다. 예시를 위해, 광 빔(930a, 930b, 932a, 및 932b)은 렌즈(918) 내에서 그리고 물체(910) 근처에서 서로 다른 광 경로를 갖는 것으로 표시된다. 그러나 예시적인 실시예에서, 광 빔(930a 및 932b)은 반대 방향으로 전파하고, 렌즈(918) 내에서 그리고 물체(910) 근처에서 동일하거나 실질적으로 중첩되는 광 경로를 갖도록 구성되며, 광 빔(930b 및 932a)은 반대 방향으로 전파하고, 렌즈(918) 내에서 그리고 물체(910) 근처에서 동일하거나 실질적으로 중첩되는 광 경로를 갖도록 구성된다.To determine whether an object (910) is in focus (i.e., sufficiently within a focal region (922) or focal plane (FP), the optical assembly (906) is configured to direct at least one pair of optical beams into a focal region (922) where the object (910) is approximately located. The object (910) reflects the optical beams. More specifically, an exterior surface of the object (910) or an interface within the object (910) reflects the optical beams. The reflected optical beams then return to and propagate through the lens (918). As illustrated, each optical beam has an optical path that includes a portion that has not yet been reflected by the object (910) and a portion that has been reflected by the object (910). The portion of the optical path prior to reflection is designated as incident optical beams (930a and 932a) and is indicated by arrows pointing toward the object (910). Portions of the optical paths reflected by the object (910) are designated as reflected optical beams (930b and 932b) and are indicated by arrows pointing away from the object (910). For purposes of illustration, the optical beams (930a, 930b, 932a, and 932b) are shown as having different optical paths within the lens (918) and near the object (910). However, in an exemplary embodiment, the optical beams (930a and 932b) are configured to propagate in opposite directions and have identical or substantially overlapping optical paths within the lens (918) and near the object (910), and the optical beams (930b and 932a) are configured to propagate in opposite directions and have identical or substantially overlapping optical paths within the lens (918) and near the object (910).

도 9에 도시된 실시예에서, 광 빔(930a, 930b, 932a, 및 932b)은 영상화에 사용되는 동일한 렌즈를 통과한다. 대안적인 실시예에서, 거리 측정 또는 초점 결정에 사용되는 광 빔은 영상화에 사용되지 않는 다른 렌즈를 통과할 수 있다. 이 대안적인 실시예에서, 렌즈(918)는 거리 측정 또는 초점 결정을 위해 빔(930a, 930b, 932a, 및 932b)을 통과시키는 전용으로 사용되고, 별도의 렌즈(도시되지 않음)가 물체(910)를 영상화하는 데 사용된다. 유사하게, 초점 결정 및 거리 측정을 위해 본원에 기재된 시스템 및 방법은 영상화 광학 장치와 공유되는 공통 대물 렌즈를 사용하여 발생할 수 있거나, 대안적으로, 본원에 예시된 대물 렌즈는 초점 결정 또는 거리 측정에 전용으로 사용될 수 있다는 것이 이해될 것이다.In the embodiment illustrated in FIG. 9, the light beams (930a, 930b, 932a, and 932b) pass through the same lens used for imaging. In an alternative embodiment, the light beams used for distance measurement or focus determination may pass through a different lens that is not used for imaging. In this alternative embodiment, the lens (918) is dedicated to passing the beams (930a, 930b, 932a, and 932b) through for distance measurement or focus determination, and a separate lens (not shown) is used to image the object (910). Similarly, it will be appreciated that the systems and methods described herein for focus determination and distance measurement may occur using a common objective lens shared with the imaging optics, or alternatively, the objective lens illustrated herein may be dedicated to focus determination or distance measurement.

반사된 광 빔(930b 및 932b)은 렌즈(918)를 통해 전파되고, 선택적으로 광학 조립체(906)의 다른 광학 구성요소에 의해 더욱 지향될 수 있다. 도시된 바와 같이, 반사된 광 빔(930b 및 932b)은 적어도 하나의 초점 검출기(944)에 의해 검출된다. 예시된 실시예에서, 반사된 광 빔(930b 및 932b) 모두가 단일 초점 검출기(944)에 의해 검출된다. 반사된 광 빔은 상대적인 분리(RS1)를 결정하는 데 사용될 수 있다. 예를 들어, 상대적인 분리(RS1)는 초점 검출기(944) 상에 충돌하는 반사 광 빔(930b 및 932b)으로부터 빔 스폿을 분리하는 거리(즉, 분리 거리)로 결정될 수 있다. 상대적인 분리(RS1)는 물체(910)에 대한 광학계(900)의 초점 정도를 결정하는 데 사용될 수 있다. 그러나 대안적인 실시예에서, 각각의 반사된 광 빔(930b 및 932b)은 별개의 대응하는 초점 검출기(944)에 의해 검출될 수 있고, 상대적인 분리(RS1)는 대응하는 초점 검출기(944) 상의 빔 스폿의 위치에 기반하여 결정될 수 있다.The reflected light beams (930b and 932b) propagate through the lens (918) and may optionally be further directed by other optical components of the optical assembly (906). As illustrated, the reflected light beams (930b and 932b) are detected by at least one focus detector (944). In the illustrated embodiment, both reflected light beams (930b and 932b) are detected by a single focus detector (944). The reflected light beams can be used to determine a relative separation (RS 1 ). For example, the relative separation (RS 1 ) can be determined as the distance (i.e., the separation distance) separating the beam spots from the reflected light beams (930b and 932b) impinging on the focus detector (944). The relative separation (RS 1 ) can be used to determine the degree of focus of the optical system (900) with respect to the object (910). However, in an alternative embodiment, each reflected light beam (930b and 932b) can be detected by a separate corresponding focus detector (944), and the relative separation (RS 1 ) can be determined based on the position of the beam spot on the corresponding focus detector (944).

물체(910)가 충분한 초점 정도 내에 있지 않으면, 컴퓨팅 시스템(920)은 물체 홀더(902)를 원하는 위치로 이동시키기 위해 스테이지 제어기(915)를 동작시킬 수 있다. 물체 홀더(902)를 이동시키는 것에 대한 대안으로 또는 그에 추가적으로, 광학 조립체(906)는 Z 방향으로 그리고/또는 XY 평면을 따라 이동될 수 있다.If the object (910) is not within sufficient focus, the computing system (920) may operate the stage controller (915) to move the object holder (902) to a desired position. Alternatively or additionally to moving the object holder (902), the optical assembly (906) may be translated in the Z direction and/or along the XY plane.

예를 들어, 물체(910)가 초점면(FP)(또는 초점 영역(922)) 위에 위치하면 물체(910)는 초점면(FP)을 향해 거리 ΔZ1만큼 상대적으로 이동될 수 있거나, 또는 물체(910)가 초점면(FP)(또는 초점 영역(922)) 아래에 위치하면 물체(910)는 초점면(FP)을 향해 거리 ΔZ2만큼 상대적으로 이동될 수 있다. 일부 실시예에서, 광학 시스템(900)은 광학 조립체(906)의 초점 영역(922)을 이동시키기 위해 렌즈(918)를 다른 렌즈(918) 또는 다른 광학 구성요소로 대체할 수 있다.For example, if the object (910) is positioned above the focal plane (FP) (or focal region (922)), the object (910) can be translated relatively to the focal plane (FP) by a distance ΔZ 1 , or if the object (910) is positioned below the focal plane (FP) (or focal region (922)), the object (910) can be translated relatively to the focal plane (FP) by a distance ΔZ 2 . In some embodiments, the optical system (900) can replace the lens (918) with another lens (918) or other optical component to translate the focal region (922) of the optical assembly (906).

위와 도 9에 제시된 예는 초점을 조절하거나 초점 정도를 결정하기 위한 시스템과 관련하여 제시되었다. 이 시스템은 또한 물체(910)와 렌즈(918) 사이의 작동 거리(WD1)를 결정하는 데 유용하다. 이러한 실시예에서, 초점 검출기(944)는 작동 거리 검출기로 기능할 수 있고, 작동 거리 검출기 상의 빔 스폿을 분리하는 거리는 물체(910)와 렌즈(918) 사이의 작동 거리를 결정하는 데 사용될 수 있다. 서술의 편의를 위해, 초점을 조절하거나 초점 정도를 결정하는 것과 관련하여 시스템 및 방법의 다양한 실시예가 여기에 예시되어 있다. 시스템과 방법은 물체와 렌즈 사이의 작동 거리를 결정하는 데에도 사용될 수 있다는 것이 이해될 것이다. 마찬가지로, 시스템 및 방법은 물체의 표면 프로파일을 결정하는 데에도 사용될 수 있다.The examples presented above and in FIG. 9 are presented in connection with a system for adjusting focus or determining a degree of focus. The system is also useful for determining a working distance (WD 1 ) between an object (910) and a lens (918). In such an embodiment, the focus detector (944) may function as a working distance detector, and the distance separating the beam spots on the working distance detector may be used to determine the working distance between the object (910) and the lens (918). For convenience of description, various embodiments of the system and method are illustrated herein in connection with adjusting focus or determining a degree of focus. It will be appreciated that the system and method may also be used to determine a working distance between an object and a lens. Likewise, the system and method may also be used to determine a surface profile of an object.

예시적인 실시예에서, 동작 중에, 여기 광원(914)은 입력 광(도시되지 않음)을 물체(910)에 지향시켜 형광 라벨링된 생물학적 또는 화학적 물질을 여기시킨다. 생물학적 또는 화학적 물질의 라벨은 사전 결정된 파장(들)을 갖는 광 신호(940)를 제공한다(광 방출이라고도 함). 광 신호(940)는 렌즈(918)에 의해 수신된 다음 광학 조립체(906)의 다른 광학 구성요소에 의해 적어도 하나의 물체 검출기(942)로 지향된다. 예시된 실시예는 하나의 물체 검출기(942)만을 도시하지만, 물체 검출기(942)는 다수의 검출기를 포함할 수 있다. 예를 들어, 물체 검출기(942)는 하나 이상의 광 파장을 검출하도록 구성된 제1 검출기와, 하나 이상의 서로 다른 광 파장을 검출하도록 구성된 제2 검출기를 포함할 수 있다. 광학 조립체(906)는 서로 다른 광 신호를 서로 다른 광 경로를 따라 대응하는 물체 검출기를 향해 지향시키는 렌즈/필터 조립체를 포함할 수 있다. 이러한 광학 시스템은 2007년 3월 30일자로 출원된 발명의 명칭이 "합성 분석에 의한 서열을 위한 시스템 및 디바이스"인 PCT 출원 번호 PCT/US07/07991호 및 2008년 9월 26일자로 출원된 발명의 명칭이 "형광 여기 및 검출 시스템 및 방법"인 PCT 출원 번호 PCT/US2008/077850호에 의해 자세히 설명되어 있으며, 이들 둘의 전체 주제는 그 전체가 본원에 참고로 포함된다.In an exemplary embodiment, during operation, the light source (914) directs input light (not shown) at the object (910) to excite a fluorescently labeled biological or chemical substance. The label of the biological or chemical substance provides an optical signal (940) having a predetermined wavelength(s) (also referred to as an optical emission). The optical signal (940) is received by the lens (918) and then directed by other optical components of the optical assembly (906) to at least one object detector (942). While the illustrated embodiment shows only one object detector (942), the object detector (942) may include multiple detectors. For example, the object detector (942) may include a first detector configured to detect one or more optical wavelengths and a second detector configured to detect one or more different optical wavelengths. The optical assembly (906) may include a lens/filter assembly that directs the different optical signals along different optical paths toward corresponding object detectors. Such optical systems are described in detail in PCT Application No. PCT/US07/07991, filed Mar. 30, 2007, entitled "System and Device for Sequencing by Synthetic Analysis" and PCT Application No. PCT/US2008/077850, filed Sep. 26, 2008, entitled "Fluorescence Excitation and Detection System and Method", the entire subject matter of both of which are incorporated herein by reference in their entireties.

물체 검출기(942)는 검출된 광 신호(940)와 관련된 물체 데이터를 컴퓨팅 시스템(920)으로 전달한다. 그러면 컴퓨팅 시스템(920)은 통신 회선(예를 들어, 인터넷)을 통한 원격 컴퓨팅 시스템을 포함한 컴퓨팅 시스템 또는 다른 사용자에게 데이터를 기록, 처리, 분석, 및/또는 전달할 수 있다. 예를 들어, 물체 데이터는 물체(910)의 이미지(들)를 생성하기 위해 처리되는 영상 데이터를 포함할 수 있다. 그런 다음 이미지는 컴퓨팅 시스템 및/또는 광학 시스템(900)의 사용자에 의해 분석될 수 있다. 다른 실시예에서, 물체 데이터는 생물학적 또는 화학적 물질로부터의 광 방출을 포함할 수 있을 뿐만 아니라, 광학 기판 또는 다른 구성요소에 의해 반사되거나 굴절되는 것 중 적어도 하나인 광도 포함할 수 있다. 예를 들어, 광 신호(940)는 위에서 설명한 홀로그램으로 인코딩된 광학 식별 요소와 같은 인코딩된 미세 입자에 의해 반사된 광을 포함할 수 있다.The object detector (942) transmits object data associated with the detected optical signal (940) to the computing system (920). The computing system (920) can then record, process, analyze, and/or transmit the data to a computing system or other user, including a remote computing system via a communication line (e.g., the Internet). For example, the object data may include image data that is processed to generate image(s) of the object (910). The images can then be analyzed by a user of the computing system and/or the optical system (900). In other embodiments, the object data may include optical emissions from biological or chemical substances, as well as light that is at least one of reflected or refracted by an optical substrate or other component. For example, the optical signal (940) may include light reflected by an encoded microparticle, such as the holographically encoded optical identification element described above.

일부 실시예에서, 단일 검출기가 물체 및 초점 검출기(942 및 944)와 관련하여 위에 설명한 바와 같은 두 기능을 제공할 수 있다. 예를 들어, 단일 검출기가 반사된 광 빔(930b, 932b)과 광 신호(940)도 검출할 수 있다.In some embodiments, a single detector may provide both functions as described above with respect to the object and focus detectors (942 and 944). For example, a single detector may detect both a reflected light beam (930b, 932b) and a light signal (940).

광학 시스템(900)은 컴퓨팅 시스템(920)을 통해 사용자와 상호작용하는 사용자 인터페이스(925)를 포함할 수 있다. 예를 들어, 사용자 인터페이스(925)는 사용자에게 정보를 보여주고 요청하는 디스플레이(도시되지 않음)와, 사용자 입력을 수신하기 위한 사용자 입력 디바이스(도시되지 않음)를 포함할 수 있다.The optical system (900) may include a user interface (925) for interacting with a user via the computing system (920). For example, the user interface (925) may include a display (not shown) for presenting and requesting information to the user, and a user input device (not shown) for receiving user input.

컴퓨팅 시스템(920)은, 무엇보다도 특히, 물체 분석 모듈(950) 및 초점 조절 모듈(952)을 포함할 수 있다. 초점 조절 모듈(952)은 초점 검출기(944)에 의해 획득된 초점 데이터를 수신하도록 구성된다. 초점 데이터는 초점 검출기(944)에 입사하는 빔 스폿을 나타내는 신호를 포함할 수 있다. 데이터는 상대적인 분리(예를 들어, 빔 스폿 사이의 분리 거리)를 결정하기 위해 처리될 수 있다. 그러면 물체(910)에 대한 광학 시스템(900)의 초점 정도가 상대적인 분리에 기반하여 결정될 수 있다. 특정 실시예에서, 물체(910)와 렌즈(918) 사이의 작동 거리(WD1)가 결정될 수 있다. 마찬가지로, 물체 분석 모듈(950)은 물체 검출기(942)에 의해 획득된 물체 데이터를 수신할 수 있다. 물체 분석 모듈은 물체 데이터를 처리 또는 분석하여 물체에 대한 이미지를 생성할 수 있다.The computing system (920) may include, among other things, an object analysis module (950) and a focus adjustment module (952). The focus adjustment module (952) is configured to receive focus data acquired by the focus detector (944). The focus data may include signals representing beam spots incident on the focus detector (944). The data may be processed to determine a relative separation (e.g., a separation distance between the beam spots). The degree of focus of the optical system (900) with respect to the object (910) may then be determined based on the relative separation. In certain embodiments, a working distance (WD 1 ) between the object (910) and the lens (918) may be determined. Similarly, the object analysis module (950) may receive object data acquired by the object detector (942). The object analysis module may process or analyze the object data to generate an image of the object.

또한, 컴퓨팅 시스템(920)은 마이크로컨트롤러, 축소 명령어 세트 컴퓨터(RISC), 특정 용도용 집적 회로(ASIC), 필드 프로그래머블 게이트 어레이(FPGA), 논리 회로, 및 본원에 설명된 기능을 실행할 수 있는 임의의 다른 회로 또는 프로세서를 사용하는 시스템을 포함하여 임의의 프로세서 기반 또는 마이크로프로세서 기반 시스템을 포함할 수 있다. 위의 예는 단지 예시적인 것이어서, 용어 "시스템 제어기"의 정의 및/또는 의미를 어떠한 방식으로든 제한하려는 것이 아니다. 예시적인 실시예에서, 컴퓨팅 시스템(920)은 물체 데이터를 획득하는 것 및 분석하는 것 중 적어도 하나를 위해 하나 이상의 저장 요소, 메모리, 또는 모듈에 저장된 명령어 세트를 실행한다. 저장 요소는 광학 시스템(900) 내의 정보 소스 또는 물리적 메모리 요소의 형태로 있을 수 있다.Additionally, the computing system (920) may include any processor-based or microprocessor-based system, including systems using a microcontroller, a reduced instruction set computer (RISC), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), logic circuits, and any other circuitry or processor capable of performing the functionality described herein. The above examples are merely illustrative and are not intended to limit the definition and/or meaning of the term "system controller" in any way. In an exemplary embodiment, the computing system (920) executes a set of instructions stored in one or more storage elements, memories, or modules for at least one of acquiring and analyzing object data. The storage elements may be in the form of an information source or a physical memory element within the optical system (900).

명령어 세트는 광학 시스템(900)에 특정 프로토콜을 수행하도록 명령하는 다양한 명령을 포함할 수 있다. 예를 들어, 명령어 세트에는 분석을 수행하고 물체(910)를 영상화하기 위한 또는 물체(910)의 표면 프로파일을 결정하기 위한 다양한 명령이 포함될 수 있다. 명령어 세트는 소프트웨어 프로그램의 형태일 수 있다. 본원에서 사용되는 용어 "소프트웨어" 및 "펌웨어"는 상호교환 가능하며, RAM 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 및 비휘발성 RAM(NVRAM) 메모리를 포함한, 컴퓨터에 의한 실행을 위한 메모리에 저장된 임의의 컴퓨터 프로그램을 포함한다. 상기의 메모리 유형은 단지 예시적이며, 따라서 컴퓨터 프로그램의 저장을 위해 사용 가능한 메모리의 유형에 대한 제한이 아니다.The instruction set may include various commands that instruct the optical system (900) to perform a particular protocol. For example, the instruction set may include various commands for performing an analysis and imaging the object (910) or for determining a surface profile of the object (910). The instruction set may be in the form of a software program. The terms "software" and "firmware" as used herein are interchangeable and include any computer program stored in memory for execution by a computer, including RAM memory, ROM memory, EPROM memory, EEPROM memory, and non-volatile RAM (NVRAM) memory. The above types of memory are merely exemplary and are therefore not limiting as to the types of memory that may be used for storing computer programs.

전술한 바와 같이, 여기 광원(914)은 물체(910)로 지향되는 여기광을 생성한다. 여기 광원(914)은 하나 이상의 사전 결정된 여기 파장에서 하나 이상의 레이저 빔을 생성할 수 있다. 광은 물체(910)의 열과 행의 그룹과 같은 물체(910)의 부분을 가로질러 래스터 패턴으로 이동될 수 있다. 대안적으로, 여기광은 물체(910)의 하나 이상의 전체 영역을 한 번에 조명하고, 그 영역을 통해 "스텝 앤 슛" 스캐닝 패턴으로 연속적으로 멈출 수 있다. 예를 들어 미국 특허 제7,329,860호(이의 전체 주제는 그 전체가 본원에 참고로 포함됨)에 기재된 바와 같이 라인 스캐닝도 사용될 수 있다. 물체(910)는 물체(910) 내 라벨의 조명 및/또는 물체(910)의 광학 기판에 의해 반사되거나 굴절된 광에 응답하여 생성된 광 방출을 포함할 수 있는 광 신호(940)를 생성한다. 대안적으로, 광 신호(940)는 물체(910) 내의 물질(예를 들어, 물체의 방사성 또는 화학 발광 성분)의 방출 특성에 전적으로 기반하여 조명 없이도 생성될 수 있다.As described above, the light source (914) here generates excitation light directed at the object (910). The light source (914) here can generate one or more laser beams at one or more predetermined excitation wavelengths. The light can be moved in a raster pattern across portions of the object (910), such as groups of rows and columns of the object (910). Alternatively, the excitation light can illuminate one or more entire regions of the object (910) at one time and then continuously stop through the regions in a “step and shoot” scanning pattern. Line scanning can also be used, as described, for example, in U.S. Pat. No. 7,329,860, the entire subject matter of which is incorporated herein by reference in its entirety. The object (910) generates an optical signal (940) that can include optical emissions generated in response to illumination of a label within the object (910) and/or light reflected or refracted by an optical substrate of the object (910). Alternatively, the optical signal (940) may be generated without illumination based entirely on the emission properties of a material within the object (910) (e.g., a radioactive or chemiluminescent component of the object).

물체 및 초점 검출기(942 및 944)는 예를 들어 포토다이오드 또는 카메라일 수 있다. 본원의 일부 실시예에서, 검출기(942 및 944)는, 20× 배율에서, 선택적으로, 레이저 스폿 크기가 0.5×0.5mm(예를 들어, 정사각형 스폿, 또는 0.5mm 직경의 원, 또는 타원형 스폿 등)인 여기광을 사용하여 타일 당 0.4×0.4mm의 면적을 영상화할 수 있는, 8gm 픽셀의 1002 × 1004 CCD 카메라와 같은 1백만 픽셀 CCD 기반 광학 영상 시스템을 갖는 카메라를 포함할 수 있다. 카메라는 선택적으로 1백만보다 많거나 적은 픽셀을 가질 수 있는데, 예를 들어 4백만 픽셀 카메라가 사용될 수 있다. 많은 실시예에서, 카메라의 판독 속도는 가능한 한 빨라야 하는 것이 바람직하며, 예를 들어 전송 속도가 10 ㎒ 이상, 예를 들어 20 또는 30 ㎒일 수 있다. 픽셀이 많다는 것은 일반적으로 더 넓은 표면적을 의미하므로, 단일 노출에 대해 더 많은 서열분석 반응이나 기타 광학적으로 감지 가능한 이벤트가 동시에 영상화될 수 있다는 것을 의미한다. 특정 실시예에서, CCD 카메라/TIRF 레이저는 약 6400개의 이미지를 수집하여 1600개의 타일을 조사할 수 있다(본원에 설명된 바와 같이 필터, 이색성, 및 검출기의 조합을 사용하여 이미지가 사이클당 4개의 서로 다른 색상으로 선택적으로 수행되기 때문이다). 1백만 픽셀 CCD의 경우, 특정 이미지는, 선택적으로, 약 5,000 내지 50,000개의 무작위 간격으로 배치된 고유한 핵산 클러스터(즉, 플로우 셀 표면의 이미지)를 포함할 수 있다. 4가지 색상에 대해 타일당 2초의 영상화 속도와 타일당 25000개의 클러스터 밀도에서, 본원의 시스템은, 선택적으로, 시간당 약 4,500만 개의 특징을 정량화할 수 있다. 더 빠른 영상화 속도 및 더 높은 클러스터 밀도에서 영상화 속도가 향상될 수 있다. 예를 들어, 카메라의 20 ㎒ 판독 속도와 20픽셀마다 영상 분해된 클러스터의 경우, 판독은 초당 1백만 개의 클러스터가 될 수 있다. 검출기는 예를 들어 미국 특허 제7,329,860호(이의 전체 주제는 그 전체가 본원에 참고로 포함됨)에 기재된 바와 같이 예를 들어 라인 스캐닝 실시예에서 시간 지연 적분(TDI)을 하도록 구성될 수 있다. 다른 유용한 검출기는 단일 칩에 제조된 개별 포토다이오드 활성 영역의 2×2 어레이를 갖는 것과 같은 광학 사분면 포토다이오드 검출기(이의 예는 Pacific Silicon Sensor(캘리포니아주 웨스트레이크 빌리지 소재)에서 입수할 수 있음); 또는 1차원 또는 2차원에서 균일한 저항을 갖는 모놀리식 PIN 포토다이오드를 갖는 것과 같은 위치 감지 검출기(이의 예는 Hamamatsu Photonics, K.K.(일본 하마마츠시 소재)에서 입수할 수 있음)를 포함하지만 이에 국한되지는 않는다.The object and focus detectors (942 and 944) may be, for example, photodiodes or cameras. In some embodiments of the present disclosure, the detectors (942 and 944) may include a camera having a 1 million pixel CCD-based optical imaging system, such as a 1002 x 1004 CCD camera with 8 gm pixels, which can optionally image an area of 0.4 x 0.4 mm per tile using excitation light having a laser spot size of 0.5 x 0.5 mm (e.g., a square spot, or a 0.5 mm diameter circle, or an elliptical spot, etc.) at 20× magnification. The camera optionally can have more or less than 1 million pixels, for example, a 4 million pixel camera can be used. In many embodiments, the readout speed of the camera should be as fast as possible, for example, a data rate of 10 MHz or higher, for example, 20 or 30 MHz. More pixels generally mean more surface area, which means that more sequence reactions or other optically detectable events can be imaged simultaneously in a single exposure. In certain embodiments, a CCD camera/TIRF laser can collect about 6400 images to examine 1600 tiles (since imaging is optionally performed in four different colors per cycle using a combination of filters, dichroics, and detectors as described herein). For a 1 million pixel CCD, a particular image can optionally include about 5,000 to 50,000 randomly spaced unique nucleic acid clusters (i.e., images of the flow cell surface). At an imaging speed of 2 seconds per tile for four colors and a cluster density of 25,000 per tile, the system herein can optionally quantify about 45 million features per hour. Imaging speeds can be improved at faster imaging speeds and higher cluster densities. For example, for a 20 MHz readout rate of the camera and image-resolved clusters every 20 pixels, the readout could be 1 million clusters per second. The detector may be configured for time delay integration (TDI), for example in a line scanning embodiment, as described in U.S. Pat. No. 7,329,860, the entire subject matter of which is incorporated herein by reference in its entirety. Other useful detectors include, but are not limited to, an optical quadrant photodiode detector, such as one having a 2×2 array of individual photodiode active regions fabricated on a single chip, examples of which are available from Pacific Silicon Sensor, Westlake Village, Calif.; or a position-sensitive detector, such as one having a monolithic PIN photodiode having uniform resistance in one or two dimensions, examples of which are available from Hamamatsu Photonics, K.K., Hamamatsu City, Japan.

도 10은 일 실시예에 따른 형성된 샘플 이미저(1000)의 사시도이다. 도시된 바와 같이, 샘플 이미저(1000)는 샘플 홀더(1006)가 있는 스테이지(1004)를 지지하는 이미저 기부(1002)를 포함한다. 샘플 홀더(1006)는 영상화 세션 동안 하나 이상의 광학 기판(1008)을 지지하도록 구성된다. 광학 기판(1008)은 도 10에서는 플로우 셀로 예시되어 있다. 그러나 다른 샘플을 사용할 수도 있다.FIG. 10 is a perspective view of a formed sample imager (1000) according to one embodiment. As depicted, the sample imager (1000) includes an imager base (1002) that supports a stage (1004) having a sample holder (1006). The sample holder (1006) is configured to support one or more optical substrates (1008) during an imaging session. The optical substrates (1008) are illustrated as a flow cell in FIG. 10 , although other sample substrates may be used.

샘플 이미저(1000)는 또한 하우징(1010)(점선으로 예시됨) 및 하우징(1010)을 지지하는 스트럿(1012)을 포함한다. 하우징(1010)은 내부에 광학 조립체(1014)의 적어도 일부를 둘러쌀 수 있다. 광학 조립체(1014)는 초점 조립체(1016) 및 샘플 검출 조립체(1030)를 포함할 수 있다. 예를 들어, 초점 조립체(1016)는 샘플 이미저(1000)의 초점 정도를 결정하기 위해 반사 광 빔을 수광하는 자동 초점 라인 스캔 카메라를 포함할 수 있다. 샘플 이미저(1000)는 또한, 샘플 검출기(1032)를 향해 광을 지향시키는 정렬 거울(1024)(이는 도 10에 K4 카메라로 도시됨); 및 필터 휠(1022)을 포함할 수 있다.The sample imager (1000) also includes a housing (1010) (illustrated in dashed lines) and a strut (1012) supporting the housing (1010). The housing (1010) may enclose at least a portion of an optical assembly (1014) therein. The optical assembly (1014) may include a focus assembly (1016) and a sample detector assembly (1030). For example, the focus assembly (1016) may include an autofocus line scan camera that receives a reflected light beam to determine the focus of the sample imager (1000). The sample imager (1000) may also include an alignment mirror (1024) (illustrated in FIG. 10 as a K4 camera) that directs light toward the sample detector (1032); and a filter wheel (1022).

도 11은 샘플의 구성요소, 구성요소 순서를 결정하고 대략적으로 샘플의 구조를 결정하기 위해 서열분석될 수 있는 분자 샘플을 처리하도록 구성된 서열분석 시스템(1110)의 구현을 예시하는 것이다. 이 시스템은 생물학적 샘플을 수용하고 처리하는 기기(1112)를 포함한다. 샘플 소스(1114)는 많은 경우 조직 샘플을 포함하는 샘플(1116)을 제공한다. 샘플 소스는, 예를 들어, 인간, 동물, 미생물, 식물, 또는 기타 기증자(환경 샘플 포함)와 같은 개인이나 대상체, 또는 서열을 결정하려고 하는 관심 대상 유기 분자를 포함하는 기타 모든 대상체를 포함할 수 있다. 물론, 이 시스템은 합성된 분자를 포함하여 유기체에서 채취한 샘플 이외의 샘플에도 사용될 수 있다. 많은 경우, 분자는 DNA, RNA, 또는 궁극적인 관심 대상인 특정 기능을 갖는 유전자 및 변이를 정의할 수 있는 서열을 갖는 염기쌍을 갖는 기타 분자를 포함할 것이다.FIG. 11 illustrates an implementation of a sequence analysis system (1110) configured to process a molecular sample that can be sequenced to determine the components of the sample, the order of the components, and to roughly determine the structure of the sample. The system includes a device (1112) for receiving and processing a biological sample. A sample source (1114) provides a sample (1116), which in many cases includes a tissue sample. The sample source can include 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 of interest whose sequence is to be determined. Of course, the system can also be used with samples other than those taken from an organism, including synthetic molecules. In many cases, the molecule will include DNA, RNA, or other molecules having base pairs whose sequences define genes and mutations having a particular function that is ultimately of interest.

샘플(1116)은 샘플/라이브러리 준비 시스템(1118)에 도입된다. 이 시스템은 샘플을 분석을 위해 분리, 분해, 및 다른 준비를 할 수 있다. 생성된 라이브러리는 서열분석 작업을 용이하게 하는 길이의 관심 분자를 포함한다. 그 다음, 생성된 라이브러리는 서열분석 작업이 수행되는 기기(1112)에 제공된다. 실제로, 때로는 주형이라고도 하는 라이브러리는 자동 또는 반자동 프로세스에서 시약과 결합된 다음 서열분석 전에 플로우 셀에 도입된다.A sample (1116) is introduced into a sample/library preparation system (1118). This system can separate, digest, and otherwise prepare the sample for analysis. The resulting library comprises molecules of interest of a length that facilitates sequencing. The resulting library is then provided to an instrument (1112) where sequencing is performed. In practice, the library, sometimes 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.

도 11에 예시된 구현예에서, 기기는 샘플 라이브러리를 수용하는 플로우 셀 또는 어레이(1120)를 포함한다. 플로우 셀은, 서열분석 작업 중에 검출할 수 있는 위치 또는 부위에서의 증폭 및 라이브러리의 분자의 부착을 포함하여, 서열분석 화학이 발생하도록 허용하는 하나 이상의 유체 채널을 포함한다. 예를 들어, 플로우 셀/어레이(1120)는 위치 또는 부위에 있는 하나 이상의 표면에 고정된 서열분석 주형을 포함할 수 있다. "플로우 셀"은 마이크로어레이, 나노어레이 등과 같은 패턴화된 어레이를 포함할 수 있다. 실제로, 위치 또는 부위는 지지체의 하나 이상의 표면 상에 규칙적인 반복 패턴, 복잡한 비반복 패턴, 또는 무작위 배열로 배치될 수 있다. 서열분석 화학이 발생할 수 있도록 하기 위해, 플로우 셀은 반응, 플러싱 등에 사용되는 다양한 시약, 완충액, 및 기타 반응 매체를 포함하는 것과 같은 물질의 도입도 허용한다. 물질은 플로우 셀을 통해 흐르며, 개별 부위에서 관심 대상 분자와 접촉할 수 있다.In the embodiment illustrated in FIG. 11, the device includes a flow cell or array (1120) that accommodates a sample library. The flow cell includes one or more fluidic channels that allow sequence chemistry to occur, including amplification and attachment of molecules of the library at locations or sites that can be detected during a sequencing operation. For example, the flow cell/array (1120) may include a sequence template immobilized on one or more surfaces at the locations or sites. The "flow cell" may include a patterned array, such as a microarray, nanoarray, or the like. In practice, the locations or sites may be arranged in a regular repeating pattern, a complex non-repeating pattern, or a random arrangement on one or more surfaces of the support. To allow sequence 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 may flow through the flow cell and contact molecules of interest at individual sites.

기기에서, 플로우 셀(1120)은 이 구현예에서는 도면 부호 1124로 표시된 바와 같이 하나 이상의 방향으로 이동할 수 있는 이동 가능한 스테이지(1122)에 장착된다. 플로우 셀(1120)은, 예를 들어, 시약 및 기타 유체가 플로우 셀(1120)로 또는 플로우 셀로부터 전달될 수 있도록 이동식 스테이지(1122)의 포트 또는 시스템의 다른 구성요소와 인터페이스할 수 있는 제거 가능하고 교체 가능한 카트리지의 형태로 제공될 수 있다. 스테이지는 서열분석 동안 방사선 또는 광(1128)을 플로우 셀로 지향시킬 수 있는 광학 검출 시스템(1126)과 연관된다. 광학 검출 시스템은 플로우 셀의 부위에 배치된 분석물을 검출하기 위해 형광 현미경법과 같은 다양한 방법을 사용할 수 있다. 비제한적인 예로서, 광학 검출 시스템(1126)은 플로우 셀에 개별 부위를 위치시키고 각 부위에 가장 최근에 부착되거나 결합된 뉴클레오티드의 유형을 결정하기 위해 분석될 수 있는 점진적 픽셀화된 이미지 데이터를 생성하기 위해 공초점 라인 스캐닝을 사용할 수 있다. 하나 이상의 방사선 지점이 샘플을 따라 스캔되는 기술 또는 "스텝 앤 슛" 영상화 접근법을 사용하는 기술과 같은 다른 영상화 기술도 적절하게 사용될 수 있다. 광학 검출 시스템(1126) 및 스테이지(1122)는 영역 이미지를 얻는 동안 플로우 셀과 검출 시스템을 정적인 관계로 유지하도록 협력할 수 있거나, 혹은 언급한 바와 같이 플로우 셀은 임의의 적합한 모드(예를 들어, 점 스캐닝, 라인 스캐닝, "스텝 앤 슛" 스캐닝)로 스캔될 수 있다.In the device, the flow cell (1120) is mounted on a movable stage (1122) that can move in one or more directions, as indicated in this embodiment by reference numeral 1124. The flow cell (1120) may be provided in the form of a removable and replaceable cartridge that can interface with ports on the movable stage (1122) or other components of the system, for example, to allow reagents and other fluids to be delivered to or from the flow cell (1120). The stage is associated with an optical detection system (1126) that can direct radiation or light (1128) to the flow cell during sequencing. The optical detection system can use a variety of methods, such as fluorescence microscopy, to detect analytes placed at sites on the flow cell. As a non-limiting example, the optical detection system (1126) can use confocal line scanning to generate progressively pixelated image data that can be analyzed to locate individual sites on the flow cell and determine the type of nucleotide most recently attached or incorporated at each site. Other imaging techniques may also be used, such as techniques in which one or more radiographic points are scanned along the sample or techniques using a “step and shoot” imaging approach. The optical detection system (1126) and stage (1122) may cooperate to maintain the flow cell and detection system in a static relationship while acquiring area images, or as noted, the flow cell may be scanned in any suitable mode (e.g., point scanning, line scanning, “step and shoot” scanning).

영상화를 위해 또는 보다 일반적으로는 부위에서 분자를 검출하기 위해 많은 다양한 기술이 사용될 수 있지만, 현재 고려되는 구현예에서는 형광 태그의 여기를 유발하는 파장에서 공초점 광학 영상화를 사용할 수 있다. 흡수 스펙트럼으로 인해 여기된 태그는 방출 스펙트럼으로 인해 형광 신호를 반환한다. 광학 검출 시스템(1126)은, 이러한 신호를 캡처하고, 신호 방출 부위를 분석할 수 있게 하는 해상도로 픽셀화 이미지 데이터를 처리하고, 그리고 생성된 이미지 데이터(또는 그로부터 파생된 데이터)를 처리하고 저장하도록 구성된다.While many different techniques may be used to image or, more generally, detect molecules at a site, the presently contemplated implementation utilizes confocal optical imaging at a wavelength that excites a fluorescent tag. The excited tag, due to its absorption spectrum, returns a fluorescent signal due to its emission spectrum. The optical detection system (1126) is configured to capture this signal, process the pixelated image data at a resolution that allows analysis of the site of signal emission, and process and store the generated image data (or data derived therefrom).

서열분석 작업에서, 순환 동작 또는 프로세스는 예컨대 단일 뉴클레오티드 또는 올리고뉴클레오티드를 사용하여 반응을 촉진한 다음 후속 주기를 준비하기 위해 플러싱, 영상화, 및 디블로킹을 수행하는 자동화 또는 반자동화 방식으로 구현된다. 서열분석을 위해 준비되고 플로우 셀에 고정된 샘플 라이브러리는 모든 유용한 정보가 라이브러리에서 추출되기 전에 다수의 이러한 주기를 거칠 수 있다. 광학 검출 시스템(1126)은 전자 검출 회로(예를 들어, 카메라 또는 영상 처리 전자 회로 또는 칩)를 사용하여 서열분석 작업의 각 주기 동안 플로우 셀(및 이의 부위)의 스캔으로부터 이미지 데이터를 생성할 수 있다. 그런 다음, 생성된 이미지 데이터를 분석하여 이미지 데이터에서 개별 부위를 찾아서, 그 위치의 이미지 데이터에서 픽셀의 그룹 또는 클러스터로 표시된 바와 같은 특정 위치에서 검출된 그 부위에 존재하는 분자를 예컨대 광의 특정 색상 또는 파장(특정 형광 태그의 특징적인 방출 스펙트럼)을 참조하여 분석하고 특징짓는다. 예를 들어, DNA 또는 RNA 서열분석 애플리케이션에서, 4개의 공통 뉴클레오티드는 구별 가능한 형광 방출 스펙트럼(빛의 파장 또는 파장 범위)으로 표시될 수 있다. 이어서, 각각의 방출 스펙트럼에는 해당 뉴클레오티드에 상응하는 값이 할당될 수 있다. 이 분석을 기반으로 각 부위에 대해 결정된 주기적 값을 추적하면 각 부위에 대해 개별 뉴클레오티드와 이들의 순서가 결정될 수 있다. 그런 다음 이러한 서열을 추가로 처리하여 유전자, 염색체 등을 포함하는 더 긴 세그먼트를 조립할 수 있다. 본 개시내용에서 사용되는 용어 "자동" 및 "반자동"은 일단 동작이 개시되거나 일단 동작을 포함하는 프로세스가 개시되면 인간 상호작용이 거의 또는 전혀 없이 시스템 프로그래밍 또는 구성에 의해 동작이 수행된다는 것을 의미한다.In a sequencing operation, the cyclic operation or process is implemented in an automated or semi-automated manner, for example, by using a single nucleotide or oligonucleotide to initiate a reaction, followed by flushing, imaging, and deblocking to prepare for the next cycle. A sample library prepared for sequencing and fixed to a flow cell may undergo a number of such cycles before all useful information is extracted from the library. An optical detection system (1126) may use electronic detection circuitry (e.g., a camera or image processing electronics or chips) to generate image data from scans of the flow cell (and portions thereof) during each cycle of the sequencing operation. The generated image data is then analyzed to locate individual sites in the image data, and the molecules present at those sites, as represented by groups or clusters of pixels in the image data at those locations, are analyzed and characterized, for example, by reference to a particular color or wavelength of light (a characteristic emission spectrum of a particular fluorescent tag). For example, in a DNA or RNA sequencing application, four common nucleotides may be represented by distinguishable fluorescence emission spectra (wavelengths or wavelength ranges of light). Subsequently, each emission spectrum can be assigned a value corresponding to its nucleotide. Based on this analysis, by tracking the periodic 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. The terms "automatic" and "semiautomatic" as used herein mean that once an operation is initiated or once a process comprising an operation is initiated, the operation is performed by system programming or configuration with little or no human interaction.

예시된 구현예에서, 시약(1130)은 밸브(1132)를 통해 플로우 셀 안으로 흡인되거나 빨아들여진다. 밸브는 시약이 예컨대 피펫이나 시퍼(도 11에는 도시되지 않음)를 통해 저장되는 용기 또는 수용기로부터의 시약에 접근할 수 있다. 밸브(1132)는 수행되는 동작의 미리 정해진 순서에 기반하여 시약을 선택할 수 있게 할 수 있다. 밸브는 시약을 유동 경로(1134)를 통해 플로우 셀(1120)로 안내하기 위한 명령을 추가로 받을 수 있다. 출구 또는 유출물 유동 경로(1136)는 사용된 시약을 플로우 셀로부터 유도한다. 예시된 구현예에서, 펌프(1138)는 시스템을 통해 시약을 이동시키는 역할을 한다. 펌프는 또한 시약이나 기타 유체를 시스템을 통해 측정하는 기능, 공기나 기타 유체를 흡입하는 기능 등과 같은 다른 유용한 기능을 제공할 수 있다. 펌프(1138) 하류의 추가 밸브(1140)는 사용된 시약을 폐기 용기 또는 수용기(1142)로 적절하게 유도할 수 있게 해준다.In the illustrated embodiment, reagents (1130) are aspirated or drawn into the flow cell through a valve (1132). The valve can access reagents from a container or receiver in which the reagents are stored, such as via a pipette or sipper (not shown in FIG. 11 ). The valve (1132) can allow for selection of reagents based on a predetermined sequence of operations to be performed. The valve can additionally be instructed to direct reagents through the flow path (1134) into the flow cell (1120). An outlet or effluent flow path (1136) directs used reagents from the flow cell. In the illustrated embodiment, a pump (1138) serves to move the reagents through the system. The pump may also provide other useful functions, such as metering reagents or other fluids through the system, aspirating air or other fluids, etc. An additional valve (1140) downstream of the pump (1138) allows for appropriate directing of the used reagent to a waste container or receiver (1142).

기기는, 다양한 시스템 구성요소의 동작을 명령하고, 구성요소의 동작을 센서로부터의 피드백을 통해 모니터링하고, 이미지 데이터를 수집하고, 이미지 데이터를 적어도 부분적으로 처리하는 데 도움을 주는 다양한 회로부를 추가로 포함한다. 도 11에 예시된 구현예에서, 제어/감독 시스템(1144)은 제어 시스템(1146)과 데이터 수집 및 분석 시스템(1148)을 포함한다. 두 시스템 모두 하나 이상의 프로세서(예를 들어, 마이크로프로세서, 멀티 코어 프로세서, FPGA, 또는 기타 적합한 처리 회로부와 같은 디지털 처리 회로)와, 예를 들어 하나 이상의 컴퓨터, 프로세서, 또는 기타 유사한 논리 디바이스를 특정 기능을 제공하도록 제어하기 위한 기계-실행 가능 명령어를 저장할 수 있는 관련 메모리 회로부(1150)(예를 들어, 솔리드 스테이트 메모리 디바이스, 동적 메모리 디바이스, 온 및/또는 오프-보드 메모리 디바이스 등)를 포함할 것이다. 특정 용도용 또는 범용 컴퓨터가 적어도 부분적으로 제어 시스템과 데이터 수집 및 분석 시스템을 구성할 수 있다. 제어 시스템은, 예를 들어, 유체 기기, 광학 장치, 스테이지 제어, 및 기기의 다른 유용한 기능에 대한 명령을 처리하도록 구성된(예를 들어, 프로그래밍된) 회로부를 포함할 수 있다. 데이터 수집 및 분석 시스템(1148)은 광학 검출 시스템이나 스테이지, 또는 이들 둘 다의 이동, 주기적 검출을 위한 광 방출, 반환된 신호의 수신 및 처리 등을 명령하기 위해 광학 검출 시스템과 인터페이스한다. 기기는 또한, 기기의 제어 및 모니터링, 샘플 전달, 자동 또는 반자동 서열분석 작업의 실행, 보고서 생성 등을 허용하는 조작자 인터페이스와 같은, 도면 부호(1152)로 표시된 다양한 인터페이스를 포함할 수 있다. 마지막으로, 도 11의 구현예에서, 외부 네트워크 또는 시스템(1154)은, 예를 들어 분석, 제어, 모니터링, 서비스 제공, 및 기타 작업을 위해, 기기에 연결되어 협력할 수 있다.The device further includes various circuitry that assists in directing the operation of various system components, monitoring the operation of the components via feedback from sensors, collecting image data, and at least in part processing the image data. In the exemplary embodiment illustrated in FIG. 11, the control/supervisory system (1144) includes a control system (1146) and a data acquisition and analysis system (1148). Both systems may include one or more processors (e.g., digital processing circuitry such as a microprocessor, a multi-core processor, an FPGA, or other suitable processing circuitry) and associated memory circuitry (1150) (e.g., a solid state memory device, a dynamic memory device, an on- and/or off-board memory device, etc.) that can store machine-executable instructions for controlling one or more computers, processors, or other similar logic devices to provide particular functions. A special purpose or general purpose computer may at least partially comprise the control system and the data acquisition and analysis system. The control system may include circuitry configured (e.g., programmed) to process commands for, for example, the fluidic devices, the optical devices, the stage control, and other useful functions of the device. A data acquisition and analysis system (1148) interfaces with the optical detection system to command movement of the optical detection system or the stage, or both, to emit light for periodic detection, to receive and process the returned signal, etc. The device may also include various interfaces, indicated by reference numeral (1152), such as an operator interface that allows for control and monitoring of the device, sample transfer, execution of automated or semi-automated sequencing operations, report generation, etc. Finally, in the embodiment of FIG. 11, an external network or system (1154) may be connected to and cooperate with the device, for example, for analysis, control, monitoring, providing services, and other tasks.

도 11에는 단일 플로우 셀 및 유체 경로와 단일 광학 검출 시스템(1126)이 예시되어 있지만 일부 기기에서는 두 개 이상의 플로우 셀과 유체 경로가 수용될 수 있다는 점을 유의할 수 있다. 예를 들어, 현재 고려되는 구현예에서는 서열분석 및 처리량을 향상시키기 위해 이러한 2개의 배열이 제공된다. 실제로는 임의의 수의 플로우 셀과 경로가 제공될 수 있다. 이들은 동일하거나 다른 시약 용기, 폐기 용기, 제어 시스템, 이미지 분석 시스템 등을 사용할 수 있다. 다수의 유체 시스템이 제공되는 경우, 다수의 유체 시스템은 개별적으로 제어되거나 조화된 방식으로 제어될 수 있다.Although FIG. 11 illustrates a single flow cell and fluid path and a single optical detection system (1126), it will be noted that some devices may accommodate more than one flow cell and fluid path. For example, the presently contemplated implementation provides two such arrangements to enhance sequencing and throughput. In practice, any number of flow cells and paths may be provided. They may utilize the same or different reagent containers, waste containers, control systems, image analysis systems, etc. Where multiple fluid systems are provided, the multiple fluid systems may be controlled individually or in a coordinated manner.

Claims (20)

시스템으로서,
적어도 하나의 프로세서; 및
비일시적 컴퓨터 판독가능 매체를 포함하고, 상기 비일시적 컴퓨터 판독가능 매체로서, 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 시스템으로 하여금,
샘플 뉴클레오티드 서열에 대해 결정된 뉴클레오티드 염기 호출을 분석하기 위한 유전체 분석 애플리케이션을 식별하고;
상기 유전체 분석 애플리케이션에 대한 하나 이상의 파라미터를 정의하는 애플리케이션 사양에 의해 표시된 상기 유전체 분석 애플리케이션을 실행하기 위한 변이 분석 모델의 표시된 버전을 결정하고;
상기 변이 분석 모델의 상기 표시된 버전을 결정하는 것에 기초하여, 상기 변이 분석 모델의 이전에 설치된 버전 대신에 실행을 위해 상기 변이 분석 모델의 상기 표시된 버전을 설치하고;
상기 변이 분석 모델의 상기 표시된 버전을 활용하여 상기 뉴클레오티드 염기 호출을 분석하기 위해 상기 유전체 분석 애플리케이션을 실행하게 하는 명령어를 포함하는, 시스템.
As a system,
at least one processor; and
A non-transitory computer-readable medium comprising: a computer-readable medium configured to cause the system, when executed by at least one processor, to:
Identifying a genome analysis application for analyzing nucleotide base calls determined for a sample nucleotide sequence;
Determining a version of a variant analysis model for executing said genome analysis application indicated by an application specification defining one or more parameters for said genome analysis application;
Based on determining the indicated version of the mutation analysis model, installing the indicated version of the mutation analysis model for execution instead of a previously installed version of the mutation analysis model;
A system comprising instructions for executing said genome analysis application to analyze said nucleotide base calls utilizing said indicated version of said mutation analysis model.
제1항에 있어서, 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 시스템으로 하여금, 유전체 분석을 수행하기 위해 상기 변이 분석 모델의 상기 표시된 버전을 포함하도록 필드 프로그래머블 게이트 어레이를 업데이트함으로써 상기 변이 분석 모델의 상기 표시된 버전을 설치하게 하는 명령어를 추가로 포함하는, 시스템.A system according to claim 1, further comprising instructions that, when executed by said at least one processor, cause the system to install said indicated version of said variant analysis model by updating a field programmable gate array to include said indicated version of said variant analysis model for performing genome analysis. 제1항에 있어서, 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 시스템으로 하여금, 상기 변이 분석 모델의 이용가능한 버전을 결정하고 상기 이용가능한 버전으로부터 상기 표시된 버전의 설치를 개시하기 위해 변이 분석 모델 관리자를 활용함으로써 상기 변이 분석 모델의 상기 표시된 버전을 자동으로 설치하게 하는 명령어를 추가로 포함하는, 시스템.A system according to claim 1, further comprising instructions that, when executed by said at least one processor, cause the system to automatically install said indicated version of said variant analysis model by utilizing a variant analysis model manager to determine available versions of said variant analysis model and initiate installation of said indicated version from said available versions. 제1항에 있어서, 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 시스템으로 하여금, 상기 변이 분석 모델의 상기 표시된 버전을 지정하는 버전 라벨을 식별하기 위해 상기 애플리케이션 사양을 분석함으로써 상기 유전체 분석 애플리케이션을 실행하기 위한 상기 변이 분석 모델의 상기 표시된 버전을 결정하게 하는 명령어를 추가로 포함하는, 시스템.A system according to claim 1, further comprising instructions that, when executed by said at least one processor, cause the system to determine said indicated version of said variant analysis model for executing said genome analysis application by analyzing said application specification to identify a version label designating said indicated version of said variant analysis model. 제1항에 있어서, 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 시스템으로 하여금,
상기 변이 분석 모델의 상기 표시된 버전이 상기 변이 분석 모델의 상기 이전에 설치된 버전과 상이하다고 결정하고(상기 변이 분석 모델의 단일 버전만이 한 번에 설치될 수 있음);
상기 표시된 버전이 상기 이전에 설치된 버전과 상이하다는 결정에 기초하여 상기 변이 분석 모델의 상기 표시된 버전을 설치하게 하는 명령어를 추가로 포함하는, 시스템.
In the first paragraph, when executed by the at least one processor, the system causes:
determines that the indicated version of the said mutation analysis model is different from the previously installed version of the said mutation analysis model (only a single version of the said mutation analysis model can be installed at a time);
A system further comprising instructions to cause the indicated version of the mutation analysis model to be installed based on a determination that the indicated version is different from the previously installed version.
제1항에 있어서, 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 시스템으로 하여금, 상기 변이 분석 모델의 상기 이전에 설치된 버전을 상기 변이 분석 모델의 상기 표시된 버전으로 대체하게 하는 명령어를 추가로 포함하는, 시스템.A system according to claim 1, further comprising instructions that, when executed by said at least one processor, cause said system to replace said previously installed version of said mutation analysis model with said indicated version of said mutation analysis model. 제1항에 있어서, 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 시스템으로 하여금, 상기 변이 분석 모델의 상기 표시된 버전 및 상기 이전에 설치된 버전이 상기 시스템의 하나 이상의 서버 상에 설치되도록 상기 이전에 설치된 버전에 더하여 상기 변이 분석 모델의 상기 표시된 버전을 설치하게 하는 명령어를 추가로 포함하는, 시스템.A system according to claim 1, further comprising instructions that, when executed by said at least one processor, cause said system to install said indicated version of said mutation analysis model in addition to said previously installed version, such that said indicated version and said previously installed version are installed on one or more servers of said system. 컴퓨터 구현 방법으로서,
샘플 뉴클레오티드 서열에 대해 결정된 뉴클레오티드 염기 호출을 분석하기 위한 유전체 분석 애플리케이션을 식별하는 단계;
상기 유전체 분석 애플리케이션에 대한 하나 이상의 파라미터를 정의하는 애플리케이션 사양에 의해 표시된 상기 유전체 분석 애플리케이션을 실행하기 위한 변이 분석 모델의 표시된 버전을 결정하는 단계;
상기 변이 분석 모델의 상기 표시된 버전을 결정하는 단계에 기초하여, 상기 변이 분석 모델의 이전에 설치된 버전 대신에 실행을 위해 상기 변이 분석 모델의 상기 표시된 버전을 설치하는 단계; 및
상기 변이 분석 모델의 상기 표시된 버전을 활용하여 상기 뉴클레오티드 염기 호출을 분석하기 위해 상기 유전체 분석 애플리케이션을 실행하는 단계를 포함하는, 컴퓨터 구현 방법.
As a computer implementation method,
A step of identifying a genome analysis application for analyzing nucleotide base calls determined for a sample nucleotide sequence;
A step of determining a indicated version of a variant analysis model for executing said genome analysis application indicated by an application specification defining one or more parameters for said genome analysis application;
Based on the step of determining the indicated version of the mutation analysis model, installing the indicated version of the mutation analysis model for execution instead of the previously installed version of the mutation analysis model; and
A computer implemented method comprising the step of executing said genome analysis application to analyze said nucleotide base calls utilizing said indicated version of said mutation analysis model.
제8항에 있어서, 상기 변이 분석 모델의 상기 표시된 버전을 설치하는 단계는 상기 변이 분석 모델의 상기 표시된 버전의 설치를 개시하기 위해 상기 변이 분석 모델에 의해 공유되는 서버 상에 수용된 변이 분석 모델 관리자를 활용하는 단계를 포함하는, 컴퓨터 구현 방법.A computer-implemented method in claim 8, wherein the step of installing the indicated version of the mutation analysis model comprises the step of utilizing a mutation analysis model manager accommodated on a server shared by the mutation analysis model to initiate installation of the indicated version of the mutation analysis model. 제8항에 있어서,
상기 유전체 분석 애플리케이션을 실행하기 위한 상기 변이 분석 모델을 수용하는 유전체 분석 디바이스의 계산 가용성을 결정하는 단계; 및
상기 유전체 분석 디바이스의 상기 계산 가용성에 기초하여 상기 유전체 분석 디바이스에 의한 상기 유전체 분석 애플리케이션의 실행을 스케줄링하는 단계를 추가로 포함하는, 컴퓨터 구현 방법.
In Article 8,
A step of determining the computational availability of a genome analysis device that accommodates the mutation analysis model for executing the genome analysis application; and
A computer-implemented method further comprising the step of scheduling execution of the genome analysis application by the genome analysis device based on the computational availability of the genome analysis device.
제8항에 있어서,
다수의 워크플로우 포드를 식별하는 단계(상기 다수의 워크플로우 포드 중 2개 이상은 그들의 각자의 기능을 수행하기 위해 상기 변이 분석 모델의 상이한 버전을 지정함); 및
상기 다수의 워크플로우 포드 각각을 연속적으로 실행하기 위해 상기 변이 분석 모델의 상기 상이한 버전을 반복적으로 설치하는 단계를 추가로 포함하는, 컴퓨터 구현 방법.
In Article 8,
A step of identifying a plurality of workflow pods, at least two of said plurality of workflow pods specifying different versions of said mutation analysis model to perform their respective functions; and
A computer-implemented method further comprising the step of repeatedly installing said different versions of said mutation analysis model to sequentially execute each of said plurality of workflow pods.
제8항에 있어서, 상기 변이 분석 모델의 상기 표시된 버전을 식별하고 상기 변이 분석 모델의 상기 표시된 버전의 설치를 초기화하기 위한 명령어를 포함하도록 상기 유전체 분석 애플리케이션에 대한 애플리케이션 사양을 수정하기 위해 돌연변이 웹후크 제어기를 활용하는 단계를 추가로 포함하는, 컴퓨터 구현 방법.A computer-implemented method, further comprising the step of utilizing a mutation webhook controller to modify an application specification for the genome analysis application to include instructions for identifying the indicated version of the mutation analysis model and initializing installation of the indicated version of the mutation analysis model. 제12항에 있어서, 상기 애플리케이션 사양을 수정하는 단계는 상기 변이 분석 모델의 상기 표시된 버전을 설치하기 위해 변이 분석 모델 관리자와 통신하는 상기 애플리케이션 사양에 초기화 워크플로우 컨테이너를 추가하는 단계를 포함하는, 컴퓨터 구현 방법.A computer-implemented method in claim 12, wherein the step of modifying the application specification comprises the step of adding an initialization workflow container to the application specification that communicates with a variation analysis model manager to install the indicated version of the variation analysis model. 제8항에 있어서, 상기 유전체 분석 애플리케이션을 실행하기 위해 상기 변이 분석 모델의 상기 표시된 버전을 결정하는 단계는, 상기 변이 분석 모델의 상기 표시된 버전을 지정하는 버전 라벨을 식별하기 위해 상기 애플리케이션 사양을 분석하기 위해 변이 분석 모델 관리자를 활용하는 단계를 포함하는, 컴퓨터 구현 방법.A computer-implemented method in claim 8, wherein the step of determining the indicated version of the variant analysis model to execute the genome analysis application comprises the step of utilizing a variant analysis model manager to analyze the application specifications to identify a version label designating the indicated version of the variant analysis model. 비일시적 컴퓨터 판독가능 매체로서, 적어도 하나의 프로세서에 의해 실행될 때, 시스템으로 하여금,
샘플 뉴클레오티드 서열에 대해 결정된 뉴클레오티드 염기 호출을 분석하기 위한 유전체 분석 애플리케이션을 식별하고;
상기 유전체 분석 애플리케이션에 대한 하나 이상의 파라미터를 정의하는 애플리케이션 사양에 의해 표시된 상기 유전체 분석 애플리케이션을 실행하기 위한 변이 분석 모델의 표시된 버전을 결정하고;
상기 변이 분석 모델의 상기 표시된 버전을 결정하는 것에 기초하여, 상기 변이 분석 모델의 이전에 설치된 버전 대신에 실행을 위해 상기 변이 분석 모델의 상기 표시된 버전을 설치하고;
상기 변이 분석 모델의 상기 표시된 버전을 활용하여 상기 뉴클레오티드 염기 호출을 분석하기 위해 상기 유전체 분석 애플리케이션을 실행하게 하는 명령어를 포함하는, 비일시적 컴퓨터 판독가능 매체.
A non-transitory computer-readable medium, which, when executed by at least one processor, causes a system to:
Identifying a genome analysis application for analyzing nucleotide base calls determined for a sample nucleotide sequence;
Determining a version of a variant analysis model for executing said genome analysis application indicated by an application specification defining one or more parameters for said genome analysis application;
Based on determining the indicated version of the mutation analysis model, installing the indicated version of the mutation analysis model for execution instead of a previously installed version of the mutation analysis model;
A non-transitory computer-readable medium comprising instructions for executing the genome analysis application to analyze the nucleotide base calls utilizing the indicated version of the mutation analysis model.
제15항에 있어서, 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 시스템으로 하여금,
상기 변이 분석 모델의 상기 표시된 버전이 상기 변이 분석 모델의 다수의 버전을 저장하는 원격 저장소 내에 저장된다고 결정하는 단계; 및
상기 표시된 버전이 상기 원격 저장소 내에 저장된다고 결정하는 단계에 기초하여 상기 변이 분석 모델의 상기 표시된 버전을 설치하라는 명령어를 서버에 제공하는 단계에 의해 상기 변이 분석 모델의 상기 표시된 버전을 설치하게 하는 명령어를 추가로 포함하는, 비일시적 컴퓨터 판독가능 매체.
In the 15th paragraph, when executed by the at least one processor, the system causes:
determining that the indicated version of the mutation analysis model is stored in a remote storage that stores multiple versions of the mutation analysis model; and
A non-transitory computer-readable medium further comprising instructions for causing the server to install the indicated version of the variant analysis model based on the step of determining that the indicated version is stored within the remote repository.
제15항에 있어서, 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 시스템으로 하여금,
상기 샘플 뉴클레오티드 서열에 대해 결정된 상기 뉴클레오티드 염기 호출을 분석하기 위한 다수의 추가 유전체 분석 애플리케이션을 식별(상기 다수의 추가 유전체 분석 애플리케이션 각각은 상기 변이 분석 모델의 상이한 버전을 지정함)하게 하는 명령어를 추가로 포함하고; 그리고
반복적으로 상기 다수의 추가 유전체 분석 애플리케이션 각각을 순차적으로 실행하는,
상기 다수의 추가 유전체 분석 애플리케이션 중 이전 유전체 분석 애플리케이션으로부터의 버전을 대체하기 위해 상기 다수의 추가 유전체 분석 애플리케이션 중 현재 유전체 분석 애플리케이션에 대한 상기 변이 분석 모델의 버전을 설치하는 단계; 및
상기 현재 유전체 분석 애플리케이션에 대한 상기 변이 분석 모델의 상기 버전을 활용하여 상기 현재 유전체 분석 애플리케이션을 실행하는 단계를 추가로 포함하는, 비일시적 컴퓨터 판독가능 매체.
In the 15th paragraph, when executed by the at least one processor, the system causes:
Further comprising instructions for identifying a plurality of additional genomic analysis applications for analyzing said nucleotide base calls determined for said sample nucleotide sequence, each of said plurality of additional genomic analysis applications specifying a different version of said variant analysis model; and
sequentially executing each of the above multiple additional genome analysis applications,
installing a version of said variant analysis model for a current genome analysis application among said plurality of additional genome analysis applications to replace a version from a previous genome analysis application among said plurality of additional genome analysis applications; and
A non-transitory computer-readable medium further comprising the step of executing said current genome analysis application utilizing said version of said variant analysis model for said current genome analysis application.
제15항에 있어서, 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 시스템으로 하여금,
서열분석 디바이스로부터 상기 뉴클레오티드 염기 호출을 포함하는 서열분석 데이터를 수신하고;
상기 변이 분석 모델의 상기 표시된 버전을 실행하도록 구성된 필드 프로그래머블 게이트 어레이를 활용하여 상기 뉴클레오티드 염기 호출을 분석하기 위해 상기 유전체 분석 애플리케이션을 실행하게 하는 명령어를 추가로 포함하는, 비일시적 컴퓨터 판독가능 매체.
In the 15th paragraph, when executed by the at least one processor, the system causes:
Receiving sequence analysis data including the nucleotide base calls from a sequence analysis device;
A non-transitory computer-readable medium further comprising instructions for executing said genome analysis application to analyze said nucleotide base calls utilizing a field programmable gate array configured to execute said indicated version of said mutation analysis model.
제15항에 있어서, 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 시스템으로 하여금,
유전체 분석 디바이스 상에 설치된 상기 변이 분석 모델의 상기 표시된 버전이 상기 변이 분석 모델의 상기 이전에 설치된 버전과 상이하다고 결정하고(상기 유전체 분석 디바이스는 한 번에 상기 변이 분석 모델의 단일 버전을 실행하도록 구성될 수 있음);
상기 표시된 버전이 상기 이전에 설치된 버전과 상이하다는 결정에 기초하여 상기 유전체 분석 디바이스 상에 상기 변이 분석 모델의 상기 표시된 버전을 설치하게 하는 명령어를 추가로 포함하는, 비일시적 컴퓨터 판독가능 매체.
In the 15th paragraph, when executed by the at least one processor, the system causes:
determining that the indicated version of the mutation analysis model installed on the genome analysis device is different from the previously installed version of the mutation analysis model (wherein the genome analysis device can be configured to run a single version of the mutation analysis model at a time);
A non-transitory computer-readable medium further comprising instructions for causing the displayed version of the mutation analysis model to be installed on the genome analysis device based on a determination that the displayed version is different from the previously installed version.
제15항에 있어서, 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 시스템으로 하여금, 상기 유전체 분석 디바이스를 지정하는 상기 애플리케이션 사양 내의 자원 라벨을 식별하기 위해 돌연변이 웹후크 제어기를 활용함으로써 상기 변이 분석 모델의 상기 표시된 버전을 설치하기 위한 위치로서 유전체 분석 디바이스를 선택하게 하는 명령어를 추가로 포함하는, 비일시적 컴퓨터 판독가능 매체.A non-transitory computer-readable medium further comprising instructions that, when executed by said at least one processor, cause said system to select a genome analysis device as a location for installing said indicated version of said mutation analysis model by utilizing a mutation webhook controller to identify a resource label within said application specification that specifies said genome analysis device.
KR1020247025105A 2021-12-29 2022-09-30 Automatic switching of variant analysis model versions for genomic analysis applications Pending KR20240131386A (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202163294693P 2021-12-29 2021-12-29
US63/294,693 2021-12-29
US17/935,497 2022-09-26
US17/935,497 US20230207056A1 (en) 2021-12-29 2022-09-26 Automatically switching variant analysis model versions for genomic analysis applications
PCT/US2022/077412 WO2023129764A1 (en) 2021-12-29 2022-09-30 Automatically switching variant analysis model versions for genomic analysis applications

Publications (1)

Publication Number Publication Date
KR20240131386A true KR20240131386A (en) 2024-08-30

Family

ID=83903203

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020247025105A Pending KR20240131386A (en) 2021-12-29 2022-09-30 Automatic switching of variant analysis model versions for genomic analysis applications

Country Status (6)

Country Link
EP (1) EP4457814A1 (en)
JP (1) JP2025504332A (en)
KR (1) KR20240131386A (en)
AU (1) AU2022425440A1 (en)
CA (1) CA3242624A1 (en)
WO (1) WO2023129764A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2025193747A1 (en) * 2024-03-12 2025-09-18 Illumina, Inc. Machine-learning models for ordering and expediting sequencing tasks or corresponding nucleotide-sample slides

Family Cites Families (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5143854A (en) 1989-06-07 1992-09-01 Affymax Technologies N.V. Large scale photolithographic solid phase synthesis of polypeptides and receptor binding screening thereof
US5744101A (en) 1989-06-07 1998-04-28 Affymax Technologies N.V. Photolabile nucleoside protecting groups
CA2044616A1 (en) 1989-10-26 1991-04-27 Roger Y. Tsien Dna sequencing
US5252743A (en) 1989-11-13 1993-10-12 Affymax Technologies N.V. Spatially-addressable immobilization of anti-ligands on surfaces
AU669489B2 (en) 1991-09-18 1996-06-13 Affymax Technologies N.V. Method of synthesizing diverse collections of oligomers
US5324633A (en) 1991-11-22 1994-06-28 Affymax Technologies N.V. Method and apparatus for measuring binding affinity
EP0916396B1 (en) 1991-11-22 2005-04-13 Affymetrix, Inc. (a Delaware Corporation) Combinatorial strategies for polymer synthesis
US5491074A (en) 1993-04-01 1996-02-13 Affymax Technologies Nv Association peptides
US5858659A (en) 1995-11-29 1999-01-12 Affymetrix, Inc. Polymorphism detection
US6090555A (en) 1997-12-11 2000-07-18 Affymetrix, Inc. Scanned image alignment systems and methods
US5578832A (en) 1994-09-02 1996-11-26 Affymetrix, Inc. Method and apparatus for imaging a sample on a device
EP0758403B1 (en) 1994-05-05 1998-06-24 Beckman Instruments, Inc. Oligonucleotide repeat arrays
US5571639A (en) 1994-05-24 1996-11-05 Affymax Technologies N.V. Computer-aided engineering system for design of sequence arrays and lithographic masks
US5846719A (en) 1994-10-13 1998-12-08 Lynx Therapeutics, Inc. Oligonucleotide tags for sorting and identification
US5556752A (en) 1994-10-24 1996-09-17 Affymetrix, Inc. Surface-bound, unimolecular, double-stranded DNA
US5795716A (en) 1994-10-21 1998-08-18 Chee; Mark S. Computer-aided visualization and analysis system for sequence evaluation
US5599695A (en) 1995-02-27 1997-02-04 Affymetrix, Inc. Printing molecular library arrays using deprotection agents solely in the vapor phase
US5750341A (en) 1995-04-17 1998-05-12 Lynx Therapeutics, Inc. DNA sequencing by parallel oligonucleotide extensions
US5624711A (en) 1995-04-27 1997-04-29 Affymax Technologies, N.V. Derivatization of solid supports and methods for oligomer synthesis
US5545531A (en) 1995-06-07 1996-08-13 Affymax Technologies N.V. Methods for making a device for concurrently processing multiple biological chip assays
US5968740A (en) 1995-07-24 1999-10-19 Affymetrix, Inc. Method of Identifying a Base in a Nucleic Acid
US6022963A (en) 1995-12-15 2000-02-08 Affymetrix, Inc. Synthesis of oligonucleotide arrays using photocleavable protecting groups
JP2000512744A (en) 1996-05-16 2000-09-26 アフィメトリックス,インコーポレイテッド System and method for detecting label material
GB9620209D0 (en) 1996-09-27 1996-11-13 Cemu Bioteknik Ab Method of sequencing DNA
WO1998020967A1 (en) 1996-11-14 1998-05-22 Affymetrix, Inc. Chemical amplification for the synthesis of patterned arrays
GB9626815D0 (en) 1996-12-23 1997-02-12 Cemu Bioteknik Ab Method of sequencing DNA
US6327410B1 (en) 1997-03-14 2001-12-04 The Trustees Of Tufts College Target analyte sensors utilizing Microspheres
US6023540A (en) 1997-03-14 2000-02-08 Trustees Of Tufts College Fiber optic sensor with encoded microspheres
EP3034626A1 (en) 1997-04-01 2016-06-22 Illumina Cambridge Limited Method of nucleic acid sequencing
US6969488B2 (en) 1998-05-22 2005-11-29 Solexa, Inc. System and apparatus for sequential processing of analytes
JP2002508664A (en) 1997-06-25 2002-03-19 オーキッド・バイオサイエンシーズ・インコーポレイテッド Method for detecting multiple single nucleotide polymorphisms in a single reaction
DE69838521T2 (en) 1997-07-07 2008-05-21 Medical Research Council Method for increasing the concentration of nucleic acid molecules
WO1999023254A1 (en) 1997-10-31 1999-05-14 Affymetrix, Inc. Expression profiles in adult and fetal organs
US6428752B1 (en) 1998-05-14 2002-08-06 Affymetrix, Inc. Cleaning deposit devices that form microarrays and the like
JP2002502588A (en) 1998-02-06 2002-01-29 アフィメトリックス インコーポレイテッド Quality control methods in the manufacturing process
US20030207295A1 (en) 1999-04-20 2003-11-06 Kevin Gunderson Detection of nucleic acid reactions on bead arrays
US6355431B1 (en) 1999-04-20 2002-03-12 Illumina, Inc. Detection of nucleic acid amplification reactions using bead arrays
US20030108867A1 (en) 1999-04-20 2003-06-12 Chee Mark S Nucleic acid sequencing using microsphere arrays
EP1923471B1 (en) 1999-04-20 2012-12-19 Illumina, Inc. Detection of nucleic acid reactions on bead arrays
US6274320B1 (en) 1999-09-16 2001-08-14 Curagen Corporation Method of sequencing a nucleic acid
US7582420B2 (en) 2001-07-12 2009-09-01 Illumina, Inc. Multiplex nucleic acid reactions
US7611869B2 (en) 2000-02-07 2009-11-03 Illumina, Inc. Multiplexed methylation detection methods
US6770441B2 (en) 2000-02-10 2004-08-03 Illumina, Inc. Array compositions and methods of making same
US7001792B2 (en) 2000-04-24 2006-02-21 Eagle Research & Development, Llc Ultra-fast nucleic acid sequencing device and a method for making and using the same
DE60131194T2 (en) 2000-07-07 2008-08-07 Visigen Biotechnologies, Inc., Bellaire SEQUENCE PROVISION IN REAL TIME
WO2002044425A2 (en) 2000-12-01 2002-06-06 Visigen Biotechnologies, Inc. Enzymatic nucleic acid synthesis: compositions and methods for altering monomer incorporation fidelity
US7057026B2 (en) 2001-12-04 2006-06-06 Solexa Limited Labelled nucleotides
US7164533B2 (en) 2003-01-22 2007-01-16 Cyvera Corporation Hybrid random bead/chip based microarray
US20050227252A1 (en) 2002-08-20 2005-10-13 Moon John A Diffraction grating-based encoded articles for multiplexed experiments
EP2607369B1 (en) 2002-08-23 2015-09-23 Illumina Cambridge Limited Modified nucleotides for polynucleotide sequencing
WO2004024328A1 (en) 2002-09-12 2004-03-25 Cyvera Corporation Method and apparatus for aligning elongated microbeads in order to interrogate the same
CA2513535C (en) 2003-01-29 2012-06-12 454 Corporation Bead emulsion nucleic acid amplification
US20050181394A1 (en) 2003-06-20 2005-08-18 Illumina, Inc. Methods and compositions for whole genome amplification and genotyping
US8048627B2 (en) 2003-07-05 2011-11-01 The Johns Hopkins University Method and compositions for detection and enumeration of genetic variations
GB0321306D0 (en) 2003-09-11 2003-10-15 Solexa Ltd Modified polymerases for improved incorporation of nucleotide analogues
EP1673614A1 (en) 2003-10-01 2006-06-28 CiDra Corporation Optical reader for diffraction grating-based encoded optical identification elements
JP2007525571A (en) 2004-01-07 2007-09-06 ソレクサ リミテッド Modified molecular array
JP2008513782A (en) 2004-09-17 2008-05-01 パシフィック バイオサイエンシーズ オブ カリフォルニア, インコーポレイテッド Apparatus and method for molecular analysis
WO2006064199A1 (en) 2004-12-13 2006-06-22 Solexa Limited Improved method of nucleotide detection
JP4990886B2 (en) 2005-05-10 2012-08-01 ソレックサ リミテッド Improved polymerase
GB0514936D0 (en) 2005-07-20 2005-08-24 Solexa Ltd Preparation of templates for nucleic acid sequencing
US7405281B2 (en) 2005-09-29 2008-07-29 Pacific Biosciences Of California, Inc. Fluorescent nucleotide analogs and uses therefor
US7329860B2 (en) 2005-11-23 2008-02-12 Illumina, Inc. Confocal imaging methods and apparatus
EP3722409A1 (en) 2006-03-31 2020-10-14 Illumina, Inc. Systems and devices for sequence by synthesis analysis
US8343746B2 (en) 2006-10-23 2013-01-01 Pacific Biosciences Of California, Inc. Polymerase enzymes and reagents for enhanced nucleic acid sequencing
JP2008118551A (en) 2006-11-07 2008-05-22 Fujitsu Ltd Mobile communication device
EP3285067B1 (en) 2006-12-14 2022-06-22 Life Technologies Corporation Apparatus for measuring analytes using fet arrays
US8262900B2 (en) 2006-12-14 2012-09-11 Life Technologies Corporation Methods and apparatus for measuring analytes using large scale FET arrays
US8349167B2 (en) 2006-12-14 2013-01-08 Life Technologies Corporation Methods and apparatus for detecting molecular interactions using FET arrays
US20100137143A1 (en) 2008-10-22 2010-06-03 Ion Torrent Systems Incorporated Methods and apparatus for measuring analytes
US8951781B2 (en) 2011-01-10 2015-02-10 Illumina, Inc. Systems, methods, and apparatuses to image a sample for biological or chemical analysis
WO2013042069A1 (en) 2011-09-22 2013-03-28 Ariel-University Research And Development Company, Ltd. Emulsions and methods of making emulsions
CA3104322C (en) 2011-09-23 2023-06-13 Illumina, Inc. Methods and compositions for nucleic acid sequencing
KR102118211B1 (en) 2012-04-03 2020-06-02 일루미나, 인코포레이티드 Integrated optoelectronic read head and fluidic cartridge useful for nucleic acid sequencing
US20170270245A1 (en) * 2016-01-11 2017-09-21 Edico Genome, Corp. Bioinformatics systems, apparatuses, and methods for performing secondary and/or tertiary processing
KR102429021B1 (en) 2017-12-08 2022-08-03 현대자동차 주식회사 Mounting unit

Also Published As

Publication number Publication date
AU2022425440A1 (en) 2024-07-11
CA3242624A1 (en) 2023-07-06
JP2025504332A (en) 2025-02-12
WO2023129764A1 (en) 2023-07-06
EP4457814A1 (en) 2024-11-06

Similar Documents

Publication Publication Date Title
EP4107737B1 (en) Knowledge distillation and gradient pruning-based compression of artificial intelligence-based base caller
US7803609B2 (en) System, method, and product for generating patterned illumination
JP2022532458A (en) Training data generation for artificial intelligence-based sequencing
US11940413B2 (en) Methods and devices for sequencing nucleic acids in smaller batches
US20220301657A1 (en) Tile location and/or cycle based weight set selection for base calling
KR20240131386A (en) Automatic switching of variant analysis model versions for genomic analysis applications
US20230207063A1 (en) Dynamic graphical status summaries for nucelotide sequencing
US20230207056A1 (en) Automatically switching variant analysis model versions for genomic analysis applications
WO2023122363A1 (en) Dynamic graphical status summaries for nucelotide sequencing
AU2022419939B2 (en) Facilitating secure execution of external workflows for genomic sequencing diagnostics
US20230026084A1 (en) Self-learned base caller, trained using organism sequences
CN118489141A (en) Automatically switch variant analysis model versions for genomics analysis applications
CN118414667A (en) Facilitates secure execution of external workflows for genomic sequencing diagnostics
CN117581305A (en) State-based base calling
CN117501372A (en) A self-learning base caller trained using organismal sequences
JP7809733B2 (en) Self-learning base code trained using oligo sequences
CA3224382A1 (en) Self-learned base caller, trained using oligo sequences
CA3183581A1 (en) Tile location and/or cycle based weight set selection for base calling
WO2022197752A1 (en) Tile location and/or cycle based weight set selection for base calling
HK40076748A (en) Knowledge distillation and gradient pruning-based compression of artificial intelligence-based base caller
HK40076748B (en) Knowledge distillation and gradient pruning-based compression of artificial intelligence-based base caller

Legal Events

Date Code Title Description
PA0105 International application

St.27 status event code: A-0-1-A10-A15-nap-PA0105

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

P11 Amendment of application requested

Free format text: ST27 STATUS EVENT CODE: A-2-2-P10-P11-NAP-X000 (AS PROVIDED BY THE NATIONAL OFFICE)

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000