KR20230160898A - 고정 소수점 숫자 표현 및 계산 회로 - Google Patents

고정 소수점 숫자 표현 및 계산 회로 Download PDF

Info

Publication number
KR20230160898A
KR20230160898A KR1020237036551A KR20237036551A KR20230160898A KR 20230160898 A KR20230160898 A KR 20230160898A KR 1020237036551 A KR1020237036551 A KR 1020237036551A KR 20237036551 A KR20237036551 A KR 20237036551A KR 20230160898 A KR20230160898 A KR 20230160898A
Authority
KR
South Korea
Prior art keywords
nucleic acid
identifier
identifiers
components
sequence
Prior art date
Application number
KR1020237036551A
Other languages
English (en)
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
Application filed by 카탈로그 테크놀로지스, 인크. filed Critical 카탈로그 테크놀로지스, 인크.
Publication of KR20230160898A publication Critical patent/KR20230160898A/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0009RRAM elements whose operation depends upon chemical change
    • G11C13/0014RRAM elements whose operation depends upon chemical change comprising cells based on organic memory material
    • G11C13/0019RRAM elements whose operation depends upon chemical change comprising cells based on organic memory material comprising bio-molecules
    • CCHEMISTRY; METALLURGY
    • C12BIOCHEMISTRY; BEER; SPIRITS; WINE; VINEGAR; MICROBIOLOGY; ENZYMOLOGY; MUTATION OR GENETIC ENGINEERING
    • C12QMEASURING OR TESTING PROCESSES INVOLVING ENZYMES, NUCLEIC ACIDS OR MICROORGANISMS; COMPOSITIONS OR TEST PAPERS THEREFOR; PROCESSES OF PREPARING SUCH COMPOSITIONS; CONDITION-RESPONSIVE CONTROL IN MICROBIOLOGICAL OR ENZYMOLOGICAL PROCESSES
    • C12Q1/00Measuring or testing processes involving enzymes, nucleic acids or microorganisms; Compositions therefor; Processes of preparing such compositions
    • C12Q1/68Measuring or testing processes involving enzymes, nucleic acids or microorganisms; Compositions therefor; Processes of preparing such compositions involving nucleic acids
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/123DNA computing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3088Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing the use of a dictionary, e.g. LZ78

Landscapes

  • Chemical & Material Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Organic Chemistry (AREA)
  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Proteomics, Peptides & Aminoacids (AREA)
  • Wood Science & Technology (AREA)
  • Zoology (AREA)
  • Biophysics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Molecular Biology (AREA)
  • Genetics & Genomics (AREA)
  • Immunology (AREA)
  • Biochemistry (AREA)
  • Microbiology (AREA)
  • Biotechnology (AREA)
  • Analytical Chemistry (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
  • Theoretical Computer Science (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Display Devices Of Pinball Game Machines (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 개시내용은 다양한 방식으로 디지털 정보를 핵산 분자에 저장하기 위한 시스템 및 방법을 제공한다. 디지털 정보는 심볼 스트링으로서 수신될 수 있으며, 심볼 스트링의 각 심볼은 심볼 값 및 심볼 스트링 내의 심볼 위치를 가진다. 제1 식별자 핵산 분자는, M개의 선택된 구성요소 핵산 분자를 하나의 구획에 보관하고 - M개의 선택된 구성요소 핵산 분자는 M개의 상이한 층으로 분리된 개별 구성요소 핵산 분자의 세트로부터 선택됨 - , M개의 선택된 구성요소 핵산 분자를 물리적으로 모음으로써, 형성될 수 있다. 복수의 식별자 핵산 분자가 형성될 수 있으며, 각각은 각자의 심볼 위치에 대응한다. 식별자 핵산 분자는 분말, 액체 또는 고체 형태의 풀에서 형성될 수 있다.

Description

고정 소수점 숫자 표현 및 계산 회로
관련 출원에 대한 상호 참조
본 출원은 2021년 3월 24일에 출원된 미국 가특허출원 번호 63/165,507, 발명의 명칭 "FIXED POINT NUMBER REPRESENTATION AND COMPUTATION CIRCUITS"에 대한 우선권 및 이익을 주장한다.상기 언급된 출원의 전체 내용은 본 명세서에 참고로 포함된다.
핵산 디지털 데이터 저장은 자기 테이프 또는 하드 드라이브 스토리지 시스템보다 더 높은 밀도로 데이터를 저장하여 장기간 정보를 인코딩하고 저장하기 위한 안정적인 접근 방식이다. 또한 춥고 건조한 조건에 저장된 핵산 분자에 저장된 디지털 데이터는 60,000년 이상 동안 검색될 수 있다.
핵산 분자에 저장된 디지털 데이터를 액세스하기 위해 핵산 분자가 시퀀싱될 수 있다. 이처럼 핵산 디지털 데이터 스토리지는 자주 액세스되지 않지만 장기간 저장하거나 보관해야 하는 정보량이 많은 데이터를 저장하는 데 이상적인 방법이 될 수 있다.
현재 방법은 디지털 정보(가령, 이진 코드)를 염기별 핵산 서열로 인코딩하는 것에 의존하여, 서열의 염기 대 염기 관계가 디지털 정보(가령, 이진 코드)로 직접 변환된다. 신규(de novo) 염기별 핵산 합성의 비용이 비쌀 수 있기 때문에 디지털 방식으로 인코딩된 정보의 비트스트림 또는 바이트로 판독될 수 있는 염기별 서열에 저장된 디지털 데이터의 시퀀싱은 오류가 발생하기 쉽고 인코딩하는 데 비용이 많이 들 수 있다. 핵산 디지털 데이터 저장을 수행하는 새로운 방법에 대한 기회가 비용이 덜 들고 상업적으로 구현하기 쉬운 데이터 인코딩 및 검색에 대한 접근 방식을 제공할 수 있다.
본 개시내용은 디지털 정보의 검색 및 액세스의 효율성을 향상시키기 위해 다양한 방식으로 디지털 정보를 핵산 분자에 저장하기 위한 시스템 및 방법을 제공한다. 예를 들어, 구성요소 핵산 분자(가령, 구성요소)가 선택되고 서로 연결(concatenate)되어 식별자 핵산 분자(가령, 식별자)를 형성하며, 각각은 특정 심볼(가령, 비트 또는 비트 시리즈), 또는 심볼 스트링(가령, 비트스트림)에서의 그 심볼의 위치(가령, 순위 또는 주소)에 대응한다. 이러한 구성요소는 디지털 데이터를 표현하기 위한 효율적인 방식을 제공하기 위해 구조적인 방식으로 구성될 수 있다. 예를 들어, 구성요소의 구조는 구성요소 분자가 자체적으로 모아지도록 하거나, 그렇지 않으면 다수의 구성요소 분자가 동일한 구획에 보관되거나 분배된 후에 사전 결정된 순서로 스스로 정렬될 수 있다.
하나의 양태에서, 본 개시내용은 정보를 핵산 서열에 기록하는 방법을 제공한다. 상기 방법은 제1 고정 소수점 숫자를 획득하는 단계를 포함한다. 상기 방법은 성분 핵산 서열의 정렬된 서브세트를 각각 포함하는 식별자 핵산 서열의 조합 공간을 정의하는 성분 핵산 서열의 라이브러리를 획득하는 단계를 포함한다. 상기 방법은 조합 공간에서 식별자 핵산 서열의 제1 서브세트를 제1 서브세트의 식별자 핵산 서열의 수에 대응하는 코드워드 크기를 갖는 제1 코드워드로서 식별하는 단계를 포함한다. 상기 방법은 제1 서브세트의 개별 식별자 핵산 서열을 갖는 하나 이상의 식별자 핵산 분자의 제1 세트를 형성하는 단계 - 코드워드 크기에 대한 제1 세트에 표현된 개별 식별자 핵산 서열의 수의 비가 제1 고정 소수점 숫자를 근사함 - 를 포함한다.
일부 구현예에서, 구성요소 핵산 서열의 라이브러리는 복수의 층을 포함하며, 각각의 층은 구성요소 핵산 서열의 서브세트를 포함한다. 각각의 식별자 핵산 서열은 각 층으로부터의 하나의 구성요소 핵산 서열을 포함할 수 있다.
일부 구현예에서, 상기 제1 고정 소수점 숫자는 값 x를 갖고, 코드워드 크기는 w이고, k개의 식별자 핵산 분자가 상기 제1 세트에 형성되어, 상기 비는 k/w이고, 대략 x와 동일하다. 일부 구현예에서, k/w는 x의 ±20% 이내이다. 일부 구현예에서, 상기 코드워드 크기는 적어도 8이다. 일부 구현예에서, 상기 코드워드 크기는 적어도 256이다. 일부 구현예에서, 상기 코드워드 크기는 적어도 512이다. 일부 구현예에서, 상기 코드워드 크기는 적어도 1024이다.
일부 구현예에서, 상기 방법은 제2 고정 소수점 숫자를 획득하는 단계, 조합 공간에서 식별자 핵산 서열의 제2 서브세트를 제1 코드워드의 코드워드 크기를 갖고 제2 서브세트 내 식별자 핵산 서열의 수에 대응하는 제2 코드워드로서 식별하는 단계, 및 제2 서브세트의 개별 식별자 핵산 서열을 갖는 하나 이상의 식별자 핵산 분자의 제2 세트를 형성하는 단계를 포함한다. 코드워드 크기에 대한 제2 세트의 개별 식별자 핵산 서열의 수의 비가 제2 고정 소수점 숫자를 근사할 수 있다.
일부 구현예에서, 상기 방법은 합 풀(sum pool)을 획득하기 위해 제1 세트와 제2 세트를 풀링하고,스케일된 합 풀을 얻기 위해 풀링된 세트를 희석함으로써,상기 제1 고정 소수점 숫자와 상기 제2 고정 소수점 숫자를 더하는 단계를 포함한다.
일부 구현예에서, 상기 방법은 인수 풀(factor pool)을 얻기 위해 제1 세트와 제2 세트를 풀링하고,곱 풀(product pool)을 얻기 위해 식별자 핵산 분자의 제1 세트 및 제2 세트에 화학적 AND 연산을 적용함으로써,상기 제1 고정 소수점 숫자와 상기 제2 고정 소수점 숫자를 곱하는 단계를 포함한다.
일부 구현예에서, 화학적 AND 연산은 식별자 핵산 분자를 단일-가닥 식별자 핵산 분자로 변환하는 것, 상보적인 식별자 핵산 분자를 혼성화하는 것, 및 완전 혼성화된 이중-가닥 핵산 분자를 선택하여 곱 풀을 획득하는 것을 포함한다.
일부 구현예에서, 선택하는 것은 단일-가닥 핵산 분자를 선택적으로 분해하는 효소 또는 서열 불일치를 갖는 이중-가닥 핵산 분자를 선택적으로 분해하는 효소 중 적어도 하나를 사용하는 것을 포함한다.
일부 구현예에서, 상기 방법은 인수 풀(factor pool)을 얻기 위해 제1 세트와 제2 세트를 풀링하는 것, 및 곱 풀(product pool)을 얻기 위해 식별자 핵산 분자의 제1 세트 및 제2 세트에 화학적 OR 연산을 적용하는 것을 포함한다. 일부 구현예에서, 상기 방법은 제1 세트와 제2 세트를 혼합하는 단계를 포함한다.
일부 구현예에서, 상기 방법은 인수 풀(factor pool)을 얻기 위해 제1 세트와 제2 세트를 풀링하는 것, 및 곱 풀(product pool)을 얻기 위해 식별자 핵산 분자의 제1 세트 및 제2 세트에 화학적 NIMPLY 연산을 적용하는 것을 포함한다. 일부 구현예에서, 화학적 NIMPLY 연산은 식별자 핵산 분자를 단일-가닥 식별자 핵산 분자로 변환하는 것 - 상기 제2 세트의 단일-가닥 식별자 핵산 분자는 친화성 태그를 포함함 - , 제2 세트의 몰 과량의 단일-가닥 식별자 핵산 분자를 제공하는 것, 상보적인 식별자 핵산 분자를 혼성화하는 것, 및 완전 혼성화된 이중-가닥 핵산 분자를 선택함으로써, 친화성 태그에 대한 특이적 포획 메커니즘을 사용해 곱 풀을 획득하는 것을 포함한다.
일부 구현예에서, 상기 방법은 인수 풀(factor pool)을 얻기 위해 제1 세트와 제2 세트를 풀링하는 것, 및 곱 풀(product pool)을 얻기 위해 식별자 핵산 분자의 제1 세트 및 제2 세트에 화학적 NOT 연산을 적용하는 것을 포함한다. 일부 구현예에서, 화학적 NOT 연산은 식별자 핵산 분자를 단일-가닥 식별자 핵산 분자로 변환하는 것 - 상기 제1 세트의 단일-가닥 식별자 핵산 분자는 친화성 태그를 포함함 - , 제1 세트의 몰 과량의 단일-가닥 식별자 핵산 분자를 제공하는 것, 상보적인 식별자 핵산 분자를 혼성화하는 것, 및 완전 혼성화된 이중-가닥 핵산 분자를 선택함으로써, 친화성 태그에 대한 특이적 포획 메커니즘을 사용해 곱 풀을 획득하는 것을 포함한다.
일부 구현예에서, 상기 방법은 인수 풀(factor pool)을 얻기 위해 제1 세트와 제2 세트를 풀링하는 것, 및 곱 풀(product pool)을 얻기 위해 식별자 핵산 분자의 제1 세트 및 제2 세트에 화학적 XOR 연산을 적용하는 것을 포함한다. 일부 구현예에서, 화학적 XOR 연산은 두 개의 NIMPLY 연산을 수행한 후 OR 연산을 수행하는 것을 포함한다.
참조에 의한 포함
본 명세서에 언급된 모든 간행물, 특허 및 특허 출원은 각각의 개별 간행물, 특허 또는 특허 출원이 참조로 포함되도록 구체적이고 개별적으로 표시된 것과 동일한 정도로 참조로서 본 명세서에 포함된다. 참조로 포함된 간행물, 특허 또는 특허 출원이 명세서에 포함된 개시 내용과 모순되는 경우, 본 명세서가 그러한 모순되는 자료를 대체하거나 우선시되도록 의도된다.
본 발명의 신규한 특징은 첨부된 청구범위에서 구체적으로 설명된다. 본 발명의 특징과 장점에 대한 더 나은 이해는 본 발명의 원리가 활용되는 예시적인 실시예를 설명하는 다음의 상세한 설명과 첨부 도면(또한 "도면" 및 "도")을 참조하여 얻어질 것이다.
도 1은 핵산 서열에 저장된 디지털 정보를 인코딩, 기록, 액세스, 쿼리, 판독 및 디코딩하는 프로세스의 개요를 개략적으로 예시한다.
도 2a 및 2b는 객체 또는 식별자(가령, 핵산 분자)를 사용하여 "데이터 앳 어드레스(data at address)"라고 하는 디지털 데이터를 인코딩하는 예시적인 방법을 개략적으로 예시한다. 도 2a는 식별자를 생성하기 위해 순위 객체(또는 주소 객체)를 바이트-값 객체(또는 데이터 객체)와 결합하는 것을 도시한다. 도 2b는 순위 객체와 바이트-값 객체 자체가 타 객체의 조합적 연결인 주소 지정 방법에서의 데이터의 실시예를 도시한다.
도 3a 및 3b는 객체 또는 식별자(가령, 핵산 서열)를 사용하여 디지털 정보를 인코딩하는 예시적인 방법을 개략적으로 예시한다. 도 3a는 식별자로서 순위 객체를 사용하여 디지털 정보를 인코딩하는 것을 도시한다. 도 3b는 주소 객체 자체가 타 객체의 조합적 연결인 인코딩 방법의 실시예를 도시한다.
도 4는 주어진 크기(등고선)의 정보를 저장하기 위해 구성될 수 있는 가능한 식별자의 조합 공간(C, x축)과 평균 식별자 수(k, y축) 사이의 관계의, 로그 공간에서의, 등고선 플롯을 보여준다.
도 5는 핵산 서열(가령, 데옥시리보핵산)에 정보를 기록하기 위한 방법의 개요를 개략적으로 예시한다.
도 6a 및 6b는 개별 구성요소(가령, 핵산 서열)를 조합적으로 조립함으로써 식별자(가령, 핵산 분자)를 구축하기 위한 "곱 방식"라고 하는 예시적인 방법을 예시한다. 도 6a는 곱 방식을 사용하여 구성된 식별자의 아키텍처를 도시한다. 도 6b는 곱 방식을 사용하여 구성될 수 있는 식별자의 조합 공간의 예를 도시한다.
도 7은 구성요소(예를 들어, 핵산 서열)로부터 식별자(예를 들어, 핵산 분자)를 구성하기 위한 중첩 확장 중합효소 연쇄 반응의 사용을 개략적으로 예시한다.
도 8은 구성요소(예를 들어, 핵산 서열)로부터 식별자(예를 들어, 핵산 분자)를 구성하기 위한 점착성 말단 결찰의 사용을 개략적으로 예시한다.
도 9는 구성요소(가령, 핵산 서열)로부터 식별자(가령, 핵산 분자)를 구성하기 위한 재조합효소 조립의 사용을 개략적으로 예시한다.
도 10a 및 10b는 주형 지시 결찰을 보여준다. 도 10a는 구성요소(예를 들어, 핵산 서열)로부터 식별자(예를 들어, 핵산 분자)를 구성하기 위한 주형 지시 결찰의 사용을 개략적으로 예시한다. 도 10b는 하나의 풀링된 주형 지시 결찰 반응에서 6개의 핵산 서열(예를 들어, 성분)로부터 각각 조합적으로 조립된 256개의 개별 핵산 서열의 복제수(풍부함)에 대한 히스토그램을 보여준다.
도 11a - 11g는 순열된 구성요소(가령, 핵산 서열)로 식별자(가령, 핵산 분자)를 구성하기 위한 "순열 방식"으로 불리는 예시적인 방법을 개략적으로 예시한다. 도 11a는 순열 방식을 사용하여 구성된 식별자의 아키텍처를 도시한다. 도 11b는 순열 방식을 사용하여 구성될 수 있는 식별자의 조합 공간의 예를 도시한다. 도 11c는 주형 지시 결찰을 이용한 순열 방식의 예시적인 구현을 보여준다. 도 11d는 도 11c의 구현 방법이 순열 및 반복된 구성요소로 식별자를 구성하도록 수정될 수 있는 방법의 예를 도시한다. 도 11e는 도 11d의 예시적 구현이 핵산 크기 선택으로 제거될 수 있는 원치 않는 부산물을 어떻게 초래할 수 있는지를 보여준다. 도 11f는 순열 및 반복된 구성요소로 식별자를 구성하기 위해 주형 지시 결찰 및 크기 선택을 사용하는 방법의 또 다른 예를 보여준다. 도 11g는 크기 선택이 원치 않는 부산물로부터 특정 식별자를 분리하는 데 실패할 수 있는 경우의 예를 보여준다.
도 12a - 12d는 더 많은 개수 M의 가능한 구성요소 중 임의의 개수 k의 조립된 구성요소(가령, 핵산 서열)를 갖는 식별자(가령, 핵산 분자)를 구성하기 위한 "MchooseK" 방식이라 지칭되는, 예시적 방법을 개략적으로 도시한다. 도 12a는 MchooseK 방식을 사용하여 구성된 식별자의 아키텍처를 도시한다. 도 12b는 MchooseK 방식을 사용하여 구성될 수 있는 식별자의 조합 공간의 예를 도시한다. 도 12c는 주형 지시 결찰을 사용하는 MchooseK 방식의 예시적인 구현을 보여준다. 도 12d는 도 12c의 예시적인 구현예가 핵산 크기 선택으로 제거될 수 있는 원치 않는 부산물을 어떻게 초래할 수 있는지를 보여준다.
도 13a 및 도 13b는 분할된 구성요소로 식별자를 구성하기 위한 "분할 방식"으로 지칭되는 예시적인 방법을 개략적으로 도시한다. 도 13a는 분할 방식을 사용하여 구성될 수 있는 식별자의 조합 공간의 예를 보여준다. 도 13b는 주형 지시 결찰을 사용한 분할 방식의 구현 예를 보여준다.
도 14a 및 도 14b는 다수의 가능한 구성요소로부터의 구성요소의 임의의 스트링으로 구성된 식별자를 구성하기 위한 "제한되지 않은 스트링(unconstrained string)"(또는 USS) 방식으로 지칭되는 예시적인 방법을 개략적으로 나타낸다. 도 14a는 USS 방식을 사용하여 구성될 수 있는 식별자의 조합 공간의 예를 도시한다. 도 14b는 주형 지시 결찰을 사용하는 USS 방식의 예시적인 구현을 보여준다.
도 15a 및 도 15b는 부모 식별자로부터 구성요소를 제거함으로써 식별자를 구성하기 위한 "구성요소 삭제"라고 불리는 예시적인 방법을 개략적으로 예시한다. 도 15a는 구성요소 삭제 방식을 사용하여 구성될 수 있는 식별자의 조합 공간의 예를 도시한다. 도 15b는 이중 가닥 표적화된 절단 및 복구를 사용하는 구성요소 삭제 방식의 예시적인 구현을 보여준다.
도 16은 재조합효소를 모 식별자에 적용함으로써 추가의 식별자가 구성될 수 있는 재조합효소 인식 부위를 갖는 모 식별자를 개략적으로 예시한다.
도 17a - 17c는 더 많은 수의 식별자 중 다수의 특정 식별자를 액세스함으로써 핵산 서열에 저장된 정보의 일부를 액세스하기 위한 예시적 방법의 개요를 개략적으로 도시한다. 도 17a는 특정된 구성요소를 포함하는 식별자를 액세스하기 위해 중합효소 연쇄 반응, 친화성 태깅된 프로브, 및 분해 표적화 프로브를 사용하는 예시적인 방법을 보여준다. 도 17b는 다수의 특정된 구성요소를 포함하는 식별자를 액세스하기 위해 'OR' 또는 'AND' 연산을 수행하기 위해 중합효소 연쇄 반응을 사용하는 방법의 예를 보여준다. 도 17c는 다수의 특정된 구성요소를 포함하는 식별자를 액세스하기 위해 'OR' 또는 'AND' 연산을 수행하기 위해 친화성 태그를 사용하는 예시적인 방법을 도시한다.
도 18a 및 18b는 핵산 분자에 인코딩된 데이터의 인코딩, 기록 및 판독의 예를 보여준다. 도 18a는 5,856 비트의 데이터를 인코딩하고, 기록하고, 판독하는 예를 보여준다. 도 18b는 62,824 비트의 데이터를 인코딩하고, 기록하고, 판독하는 예를 보여준다.
도 19는 본 명세서에 제공된 방법을 구현하도록 프로그래밍되거나 달리 구성된 컴퓨터 시스템을 보여준다.
도 20은 이중 가닥 구성요소의 단일 모 세트로부터의 임의의 두 개의 선택된 이중-가닥 구성요소를 조립하는 예시적인 방식을 도시한다.
도 21은 두 개의 올리고 X와 Y로 만들어진 가능한 점착성 말단 구성요소 구조를 보여준다.
도 22는 다수의 기능적 부분을 갖는 구성요소로부터 식별자를 구축하는 예를 보여준다.
도 23a - 23b는 PCR 기반 랜덤 액세스에 대한 식별자 순위의 효과 예시를 보여준다.
도 24a - 24b는 PCR 기반 랜덤 액세스에 대한 불균일한 구성요소 분포를 갖는 식별자 아키텍처의 예시적인 효과를 보여준다.
도 25는 PCR 기반 랜덤 액세스에 대한 식별자 아키텍처에서의 층 증가의 예시적인 효과를 도시한다.
도 26은 9개 심볼의 알파벳에 대한 다중-빈 위치 인코딩 방식의 예를 보여준다.
도 27은 4-비트 스트링의 9개의 가능한 메시지 중 임의의 것의 인코딩을 가능하게 하는 2개의 식별자의 식별자 라이브러리 및 3개의 빈의 빈 세트를 갖춘 다중-빈 식별자 분포 인코딩 방식의 예를 보여준다.
도 28은 6-비트 스트링의 64개 가능한 메시지 중 임의의 것의 인코딩을 가능하게 하는 2개의 식별자의 라이브러리 및 3개의 빈의 빈 세트를 갖춘 식별자의 재사용을 이용하는 다중-빈 식별자 분포 인코딩 방식의 예를 도시한다.
도 29는 정수 분할을 사용하여 DNA의 정보를 인코딩하는 예를 보여준다.
도 30은 소스 비트스트림을 작성자에 의해 해석될 빌드 프로그램 사양으로 준비하고 변환하기 위한 알고리즘 모듈을 포함하는 인코딩 파이프라인의 예를 보여준다.
도 31은 식별자 라이브러리를 직렬화된 포맷으로 표현하기 위한 데이터 구조의 하나의 실시예를 도시한다.
도 32는 식별자 풀에 정의된 연산을 사용하여 계산하기 위해 준비된 두 개의 소스 비트스트림과 범용 식별자 라이브러리의 예를 보여준다.
도 33은 식별자 라이브러리가 시험관 내(in vitro) 계산을 위한 플랫폼으로서 사용될 수 있는 방법을 설명하는 식별자의 풀에 대해 수행되는 논리 연산의 세 가지 예에 대한 입력 및 결과를 보여준다.
도 34a - 34g는 이미지 파일을 저장하고 이를 다양한 해상도로 읽는 예를 보여준다.
도 35는 랜덤 비트 스트링을 생성하는 데 사용될 수 있는 엔트로피를 생성하기 위한 예시적인 방법을 도시한다.
도 36a - 36c는 엔트로피(랜덤 비트 스트링)를 생성하고 저장하기 위한 예시적인 방법을 보여준다.
도 37a - 37b는 입력을 사용하여 랜덤 비트 스트링을 구성하고 액세스하는 방법의 예를 보여준다.
도 38은 물리적 DNA 키를 사용하여 아티팩트에 대한 액세스를 보호하고 인증하는 예시적인 방법을 보여준다.
도 39는 곱 방식(product scheme)을 사용하여 데이터를 FPN 형식의 DNA로 인코딩하는 예시적인 방법 및 이러한 데이터에 대한 연산의 예의 개요를 개략적으로 도시한다.
도 40은 dsDNA의 뉴클레아제 보호를 사용하는 AND 게이트에 대한 예시적인 메커니즘의 개요를 개략적으로 도시한다.
도 41a는 dsDNA를 사용하는 OR 게이트에 대한 예시적인 메커니즘의 개요를 개략적으로 도시한다. 도 41b는 ssDNA를 사용하는 OR 게이트에 대한 예시적인 메커니즘의 개요를 개략적으로 도시한다.
도 42a는 친화력 태그를 사용하는 NIMPLY 게이트에 대한 예시적인 메커니즘의 개요를 개략적으로 도시한다. B의 몰 과잉이 비오틴 태그와 함께 제공된다. B와 일치하는 A에서의 임의의 식별자가 혼성화되고 B에 의해 제거될 것이다. A에서 살아남은 식별자는 A-NIMPLY-B 반환 산물의 일부이다. 도 42b는 뉴클레아제를 사용하는 NIMPLY 게이트에 대한 예시적인 메커니즘의 개요를 개략적으로 도시한다.
도 43a는 친화성 태그를 사용하는 NOT 게이트에 대한 예시적인 메커니즘의 개요를 개략적으로 도시한다. A의 몰 과잉이 비오틴 태그와 함께 제공된다. A와 일치하는 B에서의 임의의 식별자가 혼성화되어 A에 의해 제거될 것이다. B에서 살아남은 식별자는 NOT-A 반환 산물의 일부이다. 도 43b는 뉴클레아제를 사용하는 NOT 게이트에 대한 예시적인 메커니즘의 개요를 개략적으로 도시한다. A의 몰 과잉이 제공된다. A와 일치하는 B에서의 임의의 식별자가 혼성화되어 A에 의해 제거될 것이다. B에서 살아남은 식별자는 NOT-A 반환 산물의 일부이다.
도 44a-c는 친화성 태그를 사용하는 XOR 게이트에 대한 예시적인 메커니즘의 개요를 개략적으로 도시한다. 도 44a에서, B의 몰 과잉이 비오틴 태그와 함께 제공된다. B와 일치하는 A에서의 임의의 식별자가 혼성화되고 B에 의해 제거될 것이다. A에서 살아남은 식별자는 A-NIMPLY-B 반환 산물의 일부이다. 도 44b에서, A의 몰 과잉이 비오틴 태그와 함께 제공된다. A와 일치하는 B에서의 임의의 식별자가 혼성화되고 A에 의해 제거될 것이다. B에서 살아남은 식별자는 B-NIMPLY-A 반환 산물의 일부이다. 도 44c는 최종 XOR 단계를 예시한다.
본 발명의 다양한 실시예가 본 명세서에 도시되고 설명되었지만, 이러한 실시예는 단지 예로서 제공된다는 것이 통상의 기술자에게 명백할 것이다. 본 발명을 벗어나지 않으면서 통상의 기술자가 다양한 변형, 변화 및 대체를 할 수 있다. 본 명세서에 기술된 본 발명의 실시예에 대한 다양한 대안이 채용될 수 있다는 것이 이해되어야 한다.
본 명세서에서 사용되는 "심볼(symbol)"라는 용어는 일반적으로 디지털 정보의 단위를 나타내는 것을 의미한다. 디지털 정보는 심볼의 스트링으로 분할되거나 번역될 수 있다. 예를 들어, 심볼은 비트일 수 있고 비트는 '0' 또는 '1'의 값을 가질 수 있다.
본 명세서에서 사용된 용어 "개별(distinct)" 또는 "고유한(unique)"은 일반적으로 그룹 내의 다른 객체와 구별될 수 있는 객체를 의미한다. 예를 들어, 개별 또는 고유한 핵산 서열은 임의의 타 핵산 서열과 동일한 서열을 갖지 않는 핵산 서열일 수 있다. 개별 또는 고유한 핵산 분자는 임의의 타 핵산 분자와 동일한 서열을 갖지 않을 수도 있다. 개별, 또는 고유한 핵산 서열 또는 분자는 타 핵산 서열 또는 분자와 유사성의 영역을 공유할 수 있다.
본 명세서에서 사용될 때 용어 "구성요소"는 일반적으로 핵산 서열을 지칭한다. 구성요소는 개별 핵산 서열일 수 있다. 구성요소는 하나 이상의 타 구성요소와 연결되거나 조립되어 다른 핵산 서열 또는 분자를 생성할 수 있다.
본 명세서에서 사용될 때 용어 "층"은 일반적으로 구성요소들의 그룹 또는 풀을 지칭한다. 각 층은 한 층의 구성요소가 다른 층의 구성요소와 상이하도록 개별 구성요소의 세트를 포함할 수 있다. 하나 이상의 층으로부터의 구성요소는 조립되어 하나 이상의 식별자를 생성할 수 있다.
본 명세서에 사용될 때 용어 "식별자"는 일반적으로 더 큰 비트-스트링 내에서 비트-스트링의 위치와 값을 나타내는 핵산 분자 또는 핵산 서열을 지칭한다. 더 일반적으로, 식별자는 심볼의 스트링 내 한 심볼을 나타내거나 대응하는 임의의 객체를 지칭할 수 있다. 일부 실시예에서, 식별자는 하나 또는 다수의 연결된 구성요소를 포함할 수 있다.
본 명세서에 사용될 때 "조합 공간"이라는 용어는 일반적으로 객체, 가령, 구성요소의 시작 세트로부터 생성될 수 있는 가능한 모든 개별 식별자의 세트와 식별자를 형성하기 위해 해당 객체를 수정하는 방법에 대한 허용 가능한 규칙 세트를 지칭한다. 구성요소를 조립하거나 연결함으로써 만들어지는 식별자의 조합 공간의 크기는 구성요소의 층의 수, 각 층에서의 구성요소의 수, 및 식별자를 생성하는 데 사용되는 특정 조립 방법에 따라 달라질 수 있다.
본 명세서에서 사용되는 "식별자 순위"라는 용어는 일반적으로 세트 내 식별자의 순서를 정의하는 관계를 지칭한다.
본 명세서에서 사용될 때 용어 "식별자 라이브러리"는 일반적으로 디지털 정보를 나타내는 심볼 스트링에서의 심볼에 대응하는 식별자의 모음을 지칭한다. 일부 실시예에서, 식별자 라이브러리에 주어진 식별자가 없다는 것은 특정 위치에서의 심볼 값을 나타낼 수 있다. 하나 이상의 식별자 라이브러리는 식별자의 풀, 그룹 또는 세트로 조합될 수 있다. 각 식별자 라이브러리는 식별자 라이브러리를 식별하는 고유한 바코드가 포함할 수 있다.
본 명세서에 사용된 용어 "핵산"은 일반적으로 데옥시리보핵산(DNA), 리보핵산(RNA) 또는 이들의 변이체를 지칭한다. 핵산은 아데노신(A), 시토신(C), 구아닌(G), 티민(T) 및 우라실(U) 또는 이들의 변이체로부터 선택된 하나 이상의 하위단위를 포함할 수 있다. 뉴클레오티드는 A, C, G, T 또는 U 또는 이의 변이체를 포함할 수 있다. 뉴클레오티드는 성장하는 핵산 가닥에 통합될 수 있는 임의의 하위단위를 포함할 수 있다. 이러한 하위단위는 A, C, G, T 또는 U이거나 더 상보적인 A, C, G, T 또는 U 중 하나에 특이적일 수 있거나 퓨린(즉, A 또는 G 또는 이의 변이체) 또는 피리미딘(즉, C, T, 또는 U 또는 이의 변이체)에 상보적일 수 있는 임의의 다른 하위 단위일 수 있다. 일부 예에서, 핵산은 단일 가닥 또는 이중 가닥일 수 있으며, 어떤 경우에는 핵산이 원형이다.
본 명세서에서 사용될 때, 용어 "핵산 분자" 또는 "핵산 서열"은 일반적으로 다양한 길이를 가질 수 있는 뉴클레오티드, 또는 폴리뉴클레오티드의 중합체 형태, 데옥시리보뉴클레오티드(DNA) 또는 리보뉴클레오티드(RNA), 또는 이들의 유사체를 지칭한다. "핵산 서열"이라는 용어는 폴리뉴클레오티드의 알파벳순 표현을 의미할 수 있으며, 대안적으로, 이 용어는 물리적 폴리뉴클레오티드 자체에 적용될 수 있다. 이 알파벳 표현은 중앙 처리 장치가 있는 컴퓨터의 데이터베이스에 입력될 수 있으며 핵산 서열이나 핵산 분자를 심볼 또는 비트로 매핑하여 디지털 정보를 인코딩하는 데 사용할 수 있다. 핵산 서열 또는 올리고뉴클레오티드는 하나 이상의 비표준 뉴클레오티드(들), 뉴클레오티드 유사체(들) 및/또는 변형된 뉴클레오티드를 포함할 수 있다.
본 명세서에 사용될 때 "올리고뉴클레오티드"는 일반적으로 단일 가닥 핵산 서열을 의미하며, 일반적으로 다음의 4개의 뉴클레오티드 염기의 특정 서열로 구성된다: 아데닌(A), 시토신(C), 구아닌(G), 및 티민(T) 또는 폴리뉴클레오티드가 RNA인 경우 우라실(U).
변형된 뉴클레오티드의 비제한적 예로는 디아미노퓨린, 5-플루오로우라실, 5-브로모우라실, 5-클로로우라실, 5-요오도우라실, 히포크산틴, 잔틴, 4-아세틸시토신, 5-(카르복시히드록실메틸)우라실, 5-카르복시메틸아미노메틸-2-티오우리딘, 5-카르복시메틸아미노메틸우라실, 디하이드로우라실, 베타-D-갈락토실퀘오신, 이노신, N6-이소펜테닐아데닌, 1-메틸구아닌, 1-메틸이노신, 2,2-디메틸구아닌, 2-메틸아데닌, 2-메틸구아닌, 3-메틸시토신, 5-메틸시토신, N6-아데닌, 7-메틸구아닌, 5-메틸아미노메틸우라실, 5-메톡시아미노메틸-2-티오우라실, 베타-D-만노실퀘오신, 5'-메톡시카르복시메틸우라실, 5-메톡시우라실, 2-메틸티오-D46-이소펜테닐아데닌, 우라실-5-옥시아세트산(v), 와이부톡소신, 슈도우라실, 쿠오신, 2-티오시토신, 5-메틸-2-티오우라실, 2-티오우라실, 4-티오우라실, 5-메틸우라실, 우라실-5-옥시아세트산 메틸에스테르, 우라실-5-옥시아세트산(v), 5-메틸-2-티오우라실, 3-(3-아미노-3-N-2-카르복시프로필)우라실, (acp3)w, 2,6-디아미노퓨린 등이 있다. 핵산 분자는 또한 염기 모이어티(가령, 일반적으로 상보적 뉴클레오티드와 수소 결합을 형성할 수 있는 하나 이상의 원자 및/또는 일반적으로 상보적 뉴클레오티드와 수소 결합을 형성할 수 없는 하나 이상의 원자), 당 부분 또는 인산염 백본에서 변형될 수 있다. 핵산 분자는 또한 아민 변형 기, 가령, 아미노알릴-dUTP (aa-dUTP) 및 아미노헥실아크릴아미드-dCTP (aha-dCTP)를 함유하여, 아민 반응성 부분, 가령, N-히드록시 숙신이미드 에스테르(NHS)의 공유 부착을 허용할 수 있다.
본 명세서에서 사용될 때 용어 "프라이머(primer)"는 일반적으로 중합효소연쇄반응(PCR)과 같은 핵산 합성의 출발점 역할을 하는 핵산 가닥을 의미한다. 예를 들어, DNA 샘플을 복제하는 동안, 복제를 촉매하는 효소는 DNA 샘플에 부착된 프라이머의 3'-말단에서 복제를 시작하고 반대 가닥을 복제한다. 프라이머 설계에 대한 세부사항을 포함하여 PCR에 대한 자세한 내용은 화학적 방법 섹션 D를 참조할 수 있다.
본 명세서에 사용된 용어 "중합효소" 또는 "중합효소 효소"는 일반적으로 중합효소 반응을 촉매할 수 있는 임의의 효소를 의미한다. 중합효소의 예에는 핵산 중합효소가 포함되지만 이에 국한되지는 않는다. 중합효소는 자연적으로 발생하거나 합성될 수 있다. 예시적인 중합효소는 Φ29 중합효소 또는 이의 유도체이다. 어떤 경우에는 전사효소(transcriptase) 또는 리가아제(즉, 결합 형성을 촉매하는 효소)가 중합효소와 함께 또는 중합효소의 대안으로 사용되어 새로운 핵산 서열을 구성한다. 중합효소의 예에는 DNA 중합효소, RNA 중합효소, 열안정성 중합효소, 야생형 중합효소, 변형된 중합효소, 대장균 DNA 중합효소 I, T7 DNA 중합효소, 박테리오파지 T4 DNA 중합효소 Φ29(phi29) DNA 중합효소, Taq 중합효소, Tth 중합효소, Tli 중합효소, Pfu 중합효소 Pwo 중합효소, VENT 중합효소, DEEPVENT 중합효소, Ex-Taq 중합효소, LA-Taw 중합효소, Sso 중합효소 Poc 중합효소, Pab 중합효소, Mth 중합효소 ES4 중합효소, Tru 중합효소, Tac 중합효소, Tne 중합효소, Tma 중합효소, Tca 중합효소, Tih 중합효소, Tfi 중합효소, 백금 Taq 중합효소, Tbr 중합효소, Tfl 중합효소, Pfutubo 중합효소, Pyrobest 중합효소, KOD 중합효소, Bst 중합효소, Sac 중합효소, 3'에서 5' 엑소뉴클레아제 활성을 갖는 Klenow 단편 중합효소, 및 이의 변형, 수정된 산물 및 파생물이 있다. PCR에 사용할 수 있는 추가 중합효소와 중합효소 특성이 PCR에 어떤 영향을 미칠 수 있는지에 대한 자세한 내용은 화학적 방법 섹션 D를 참조할 수 있다.
본 명세서에 사용될 때 용어 "종"은 일반적으로 동일한 서열의 하나 이상의 DNA 분자(들)을 지칭한다. "종"이 복수 의미로 사용되는 경우, 복수의 종에 포함된 모든 종은 뚜렷한 순서를 가지고 있다고 가정할 수 있지만 이는 때때로 "종" 대신 "개별 종"을 써서 명시적으로 나타낼 수 있다.
"약" 및 "대략"이라는 용어는 상기 용어 다음에 나오는 값의 ±20% 이내를 의미하는 것으로 이해되어야 한다.
이진 코드(binary code) 형태의, 디지털 정보, 가령, 컴퓨터 데이터는 심볼의 시퀀스 또는 스트링을 포함할 수 있다. 이진 코드는 예를 들어 비트라고 불리는 두 개의 이진 심볼, 일반적으로 0과 1을 갖는 이진 수 시스템을 사용하여 텍스트 또는 컴퓨터 프로세서 명령을 인코딩하거나 나타낼 수 있다. 디지털 정보는 비-이진 심볼(non-binary symbol)의 시퀀스를 포함할 수 있는 비-이진 코드의 형태로 표현될 수 있다. 각 인코딩된 심볼은 고유한 비트 스트링(또는 "바이트")에 다시 할당될 수 있으며 고유한 비트 스트링 또는 바이트는 바이트의 스트링 또는 바이트 스트림(byte stream)으로 배열될 수 있다. 주어진 비트에 대한 비트 값은 두 개의 심볼(가령, 0 또는 1) 중 하나일 수 있다. N 비트의 스트링로 구성될 수 있는 바이트는 총 2N개의 고유 바이트-값을 가질 수 있다. 예를 들어, 8비트로 구성된 바이트는 총 28개 또는 256개의 가능한 고유 바이트-값을 생성할 수 있으며, 256개의 바이트 각각은 바이트로 인코딩될 수 있는 256개의 가능한 개별 심볼, 문자 또는 명령 중 하나에 대응할 수 있다. 미가공 데이터(가령, 텍스트 파일 및 컴퓨터 명령)는 바이트의 스트링 또는 바이트 스트림으로 표현될 수 있다. 미가공 데이터로 구성된 집(zip) 파일 또는 압축 데이터 파일은 바이트 스트림으로도 저장될 수 있으며,이들 파일은 압축 형식의 바이트 스트림으로 저장된 다음 컴퓨터에서 읽기 전에 미가공 데이터로 압축해제될 수 있다.
본 개시 내용의 방법 및 시스템은 복수의 식별자로 컴퓨터 데이터 또는 정보를 인코딩하는 데 사용될 수 있으며, 이들 각각은 원본 정보의 하나 이상의 비트를 나타낼 수 있다. 일부 예에서, 본 개시의 방법 및 시스템은 각각 원본 정보의 2비트를 나타내는 식별자를 사용하여 데이터 또는 정보를 인코딩한다.
디지털 정보를 핵산으로 인코딩하는 이전 방법은 비용이 많이 들고 시간이 많이 소요될 수 있는 핵산의 염기별 합성에 의존해 왔다. 대체 방법은 디지털 정보를 인코딩하기 위한 염기별 핵산 합성에 대한 의존도를 줄임으로써 효율성을 향상시키고, 디지털 정보 저장의 상업적 생존 가능성을 향상시키며, 모든 새로운 정보 저장 요청에 대해 개별 핵산 서열의 신규(de dovo) 합성을 제거할 수 있다.
새로운 방법은 복수의 식별자, 또는 핵산 서열에서 염기별 또는 신규(de-novo) 핵산 합성(가령, 포스포르아미다이트 합성)을 의존하는 대신 구성요소의 조합 배열을 포함하는 디지털 정보(가령, 이진 코드)를 인코딩할 수 있다. 따라서, 새로운 전략은 정보 저장의 첫 번째 요청에 대해 개별 핵산 서열(또는 구성요소)의 제1 세트를 생성할 수 있으며, 이후 후속 정보 저장 요청에 대해 동일한 핵산 서열(또는 구성요소)을 재사용할 수 있다. 이들 접근 방식은 정보를 DNA로 인코딩하고 기록하는 과정에서 핵산 서열의 신규 합성 역할을 줄임으로써 DNA-기반 정보 저장 비용을 크게 줄일 수 있다. 더욱이, 각 염기를 각 신장 핵산에 주기적으로 전달할 수 있는 염기별 합성, 가령, 포스포라미다이트 화학 기반 또는 주형이 없는 중합효소 기반 핵산 신장과 달리, 정보를 DNA로 변환하는 새로운 방법은 구성요소의 식별자 구성을 사용하여 작성하는 것은 주기적 핵산 신장을 반드시 사용하지 않는 고도로 병렬화 가능한 프로세스이다. 따라서 새로운 방법은 기존 방법에 비해 디지털 정보를 DNA에 기록하는 속도를 높일 수 있다.
핵산 서열(들)에 정보를 인코딩하고 기록하는 방법
한 양태에서, 본 개시내용은 정보를 핵산 서열로 인코딩하는 방법을 제공한다. 정보를 핵산 서열로 인코딩하기 위한 방법은 (a) 정보를 심볼의 스트링으로 번역하는 단계, (b) 심볼의 스트링을 복수의 식별자에 매핑하는 단계, 및 (c) 적어도 복수의 식별자의 서브세트를 포함하는 식별자 라이브러리를 구성하는 단계를 포함할 수 있다. 복수의 식별자 중 개별 식별자는 하나 이상의 구성요소를 포함할 수 있다. 하나 이상의 구성요소 중 개별 구성요소는 핵산 서열을 포함할 수 있다. 심볼의 스트링 내 각 위치에 있는 각 심볼이 개별 식별자에 대응할 수 있다. 개별 식별자는 심볼의 스트링의 개별 위치에 있는 개별 심볼에 대응할 수 있다. 또한, 심볼의 스트링 내 각 위치에 있는 하나의 심볼이 식별자가 없음에 대응할 수 있다. 예를 들어, '0'과 '1'의 이진 심볼(가령, 비트)의 스트링에서 '0'의 각 발생은 식별자가 없음에 대응할 수 있다.
다른 양태에서, 본 개시내용은 핵산 기반 컴퓨터 데이터 저장 방법을 제공한다. 핵산 기반 컴퓨터 데이터 저장 방법은 (a) 컴퓨터 데이터를 수신하는 단계, (b) 컴퓨터 데이터를 인코딩하는 핵산 서열을 포함하는 핵산 분자를 합성하는 단계, 및 (c) 핵산 서열을 갖는 핵산 분자를 저장하는 단계를 포함할 수 있다. 컴퓨터 데이터는 각각의 핵산 분자의 서열이 아니라 적어도 합성된 핵산 분자의 서브세트에 인코딩될 수 있다.
또 다른 양태에서, 본 개시내용은 핵산 서열에 정보를 작성하고 저장하는 방법을 제공한다. 방법은 (a) 정보를 나타내는 가상 식별자 라이브러리를 수신 또는 인코딩하는 단계, (b) 식별자 라이브러리를 물리적으로 구성하는 단계, 및 (c) 하나 이상의 별도 위치에 식별자 라이브러리의 하나 이상의 물리적 사본을 저장하는 단계를 포함할 수 있다. 식별자 라이브러리의 개별 식별자는 하나 이상의 구성요소를 포함할 수 있다. 하나 이상의 구성요소 중 개별 구성요소는 핵산 서열을 포함할 수 있다.
다른 양태에서, 본 개시내용은 핵산 기반 컴퓨터 데이터 저장 방법을 제공한다. 핵산 기반 컴퓨터 데이터 저장 방법은 (a) 컴퓨터 데이터를 수신하는 단계, (b) 컴퓨터 데이터를 인코딩하는 적어도 하나의 핵산 서열을 포함하는 핵산 분자를 합성하는 단계, 및 (c) 적어도 하나의 핵산 서열을 포함하는 핵산 분자를 저장하는 단계를 포함할 수 있다. 핵산 분자의 합성은 염기별 핵산 합성이 없을 수 있다.
또 다른 양태에서, 본 개시내용은 핵산 서열에 정보를 기록하고 저장하기 위한 방법을 제공한다. 핵산 서열에 정보를 기록하고 저장하기 위한 방법은 (a) 정보를 나타내는 가상 식별자 라이브러리를 수신 또는 인코딩하는 단계, (b) 식별자 라이브러리를 물리적으로 구성하는 단계, 및 (c) 하나 이상의 별도 위치에 식별자 라이브러리의 하나 이상의 물리적 사본을 저장하는 단계를 포함할 수 있다. 식별자 라이브러리의 개별 식별자는 하나 이상의 구성요소를 포함할 수 있다. 하나 이상의 구성요소 중 개별 구성요소는 핵산 서열을 포함할 수 있다.
또 다른 양태에서, 본 개시내용은 디지털 정보를 핵산 서열에 저장하기 위한 방법을 제공하며, 상기 방법은 (a) 디지털 정보를 심볼의 스트링으로서 수신하는 단계 - 심볼의 스트링 내 각 심볼은 심볼 값 및 심볼의 스트링 내의 심볼 위치를 가짐 - , (b) 다음에 의해 제1 식별자 핵산 서열을 형성하는 단계 - (1) M개의 상이한 층으로 분리되는 개별 구성요소 핵산 서열의 세트로부터, M개의 층 각각으로부터의 하나씩의 구성요소 핵산 서열을 선택하는 것, (2) M개의 선택된 구성요소 핵산 서열을 하나의 구획에 보관하는 것, (3) (2)의 M개의 선택된 구성요소 핵산 서열을 물리적으로 조립하여, 제1 및 제2 층으로부터의 구성요소 핵산 서열이 식별자 핵산 서열의 제1 및 제2 말단 서열에 대응하며, 제3 층 내 구성요소 핵산 서열이 식별자 핵산 서열의 제3 서열에 대응하여, 제1 식별자 핵산 서열의 M개의 층의 물리적 순서를 정의하도록, 제1 및 제2 말단 서열 및 상기 제1 말단 서열과 상기 제2 말단 서열 사이에 위치하는 제3 서열을 갖는 제1 식별자 핵산 서열을 형성함 - , (c) 복수의 추가 식별자 핵산 서열을 형성하는 단계 - 추가 식별자 핵산 서열 각각은 (1) 제1 및 제2말단 서열 및 상기 제1 말단 서열과 상기 제2 말단 서열 사이에 위치한 제3 서열을 가지며, (2) 각자의 심볼 위치에 대응하며, 적어도 하나의 추가 식별자 핵산 서열의 제1 말단 서열, 제2 말단 서열, 및 제3 서열이 (b)에서의 제1 식별자 핵산 서열의 타깃 서열과 동일하여, 프로브가 심볼의 스트링 내 연속 심볼 위치를 갖는 각자의 심볼에 대응하는 적어도 두 개의 식별자 핵산 서열을 선택할 수 있게 함 - , 및 (d) (b) 및 (c)의 식별자 핵산 서열을 분말, 액체, 또는 고체 형태를 갖는 풀에 수집하는 단계를 포함하는, 방법.
또 다른 양태에서, 본 개시내용은 디지털 정보를 핵산 서열에 저장하기 위한 방법을 제공하며, 상기 방법은, (a) 디지털 정보를 심볼의 스트링으로서 수신하는 단계 - 심볼의 스트링 내 각 심볼은 심볼 값 및 심볼의 스트링 내의 심볼 위치를 가지며, 디지털 정보는 벡터의 모음에 의해 나타내어지는 이미지 데이터를 포함함 - , (b) M개의 선택된 구성요소 핵산 서열을 하나의 구획에 예치함으로써 제1 식별자 핵산 서열을 형성하는 단계 - M개의 선택된 구성요소 핵산 서열은 M개의 상이한 층으로 분리된 개별 구성요소 핵산 서열의 세트로부터 선택됨 - , (c) 복수의 식별자 핵산 서열을 형성하는 단계 - 추가 식별자 핵산 서열 각각은 제1 및 제2말단 서열 및 상기 제1 말단 서열과 상기 제2 말단 서열 사이에 위치한 제3 서열을 가지며, 각자의 심볼 위치에 대응하며, 적어도 하나의 추가 식별자 핵산 서열의 제1 말단 서열, 제2 말단 서열, 및 제3 서열이 (b)에서의 제1 식별자 핵산 서열의 타깃 서열과 동일하여, 단일 프로브가 심볼의 스트링 내 관련 심볼 위치를 갖는 각자의 심볼에 대응하는 적어도 두 개의 식별자 핵산 서열을 선택할 수 있게 함 - , 및 (d) (b) 및 (c)의 식별자 핵산 서열을 분말, 액체, 또는 고체 형태를 갖는 풀에 수집하는 단계 - 이미지 데이터를 핵산 서열로 저장함으로써 랜덤 액세스 방식을 사용해 픽셀의 임의의 이웃이 색상 값을 질의 받을 수 있음 - 를 포함하는, 방법.
또 다른 양태에서, 본 개시내용은 디지털 정보를 핵산 서열에 저장하기 위한 방법을 제공하며, 상기 방법은, (a) 디지털 정보를 심볼의 스트링으로서 수신하는 단계 - 심볼의 스트링 내 각 심볼은 심볼 값 및 심볼의 스트링 내의 심볼 위치를 가짐 - , (b) M개의 선택된 구성요소 핵산 서열을 하나의 구획에 보관함으로써 제1 식별자 핵산 서열을 형성하는 단계 - M개의 선택된 구성요소 핵산 서열은 M개의 상이한 층으로 분리된 개별 구성요소 핵산 서열의 세트로부터 선택됨 - , (c) 복수의 식별자 핵산 서열을 물리적으로 조립하는 단계 - 추가 식별자 핵산 서열 각각은 제1 및 제2말단 서열 및 상기 제1 말단 서열과 상기 제2 말단 서열 사이에 위치한 제3 서열을 가지며, 각자의 심볼 위치에 대응하며, 적어도 하나의 추가 식별자 핵산 서열의 제1 말단 서열, 제2 말단 서열, 및 제3 서열이 (b)에서의 제1 식별자 핵산 서열의 타깃 서열과 동일하여, 단일 프로브가 심볼의 스트링 내 관련 심볼 위치를 갖는 각자의 심볼에 대응하는 적어도 두 개의 식별자 핵산 서열을 선택할 수 있게 함 - , 및 (d) (b) 및 (c)의 식별자 핵산 서열을 분말, 액체, 또는 고체 형태를 갖는 풀에 수집하는 단계를 포함하는, 방법.
또 다른 양태에서, 본 개시내용은 디지털 정보를 핵산 서열에 저장하기 위한 방법을 제공하며, 상기 방법은, (a) 디지털 정보를 심볼의 스트링으로서 수신하는 단계 - 심볼의 스트링 내 각 심볼은 심볼 값 및 심볼의 스트링 내의 심볼 위치를 가짐 - , (b) 심볼의 스트링을 고정된 길이보다 크지 않은 크기의 하나 이상의 블록으로 나누는 단계, (c) M개의 선택된 구성요소 핵산 서열을 하나의 구획에 보관함으로써 제1 식별자 핵산 서열을 형성하는 단계 - M개의 선택된 구성요소 핵산 서열은 M개의 상이한 층으로 분리된 개별 구성요소 핵산 서열의 세트로부터 선택됨 - , (d) 복수의 식별자 핵산 서열을 물리적으로 조립하는 단계 - 추가 식별자 핵산 서열 각각은 제1 및 제2말단 서열 및 상기 제1 말단 서열과 상기 제2 말단 서열 사이에 위치한 제3 서열을 가지며, 각자의 심볼 위치에 대응하며, 적어도 하나의 추가 식별자 핵산 서열의 제1 말단 서열, 제2 말단 서열, 및 제3 서열이 (b)에서의 제1 식별자 핵산 서열의 타깃 서열과 동일하여, 단일 프로브가 심볼의 스트링 내 관련 심볼 위치를 갖는 각자의 심볼에 대응하는 적어도 두 개의 식별자 핵산 서열을 선택할 수 있게 함 - , 및 (e) (b) 및 (c)의 식별자 핵산 서열을 분말, 액체, 또는 고체 형태를 갖는 풀에 수집하는 단계를 포함하는, 방법.
또 다른 양태에서, 본 개시내용은 디지털 정보를 핵산 서열에 저장하기 위한 방법을 제공하며, 상기 방법은, (a) 디지털 정보를 심볼의 스트링으로서 수신하는 단계 - 심볼의 스트링 내 각 심볼은 심볼 값 및 심볼의 스트링 내의 심볼 위치를 가짐 - , (b) M개의 선택된 구성요소 핵산 서열을 하나의 구획에 보관함으로써 제1 식별자 핵산 서열을 형성하는 단계 - M개의 선택된 구성요소 핵산 서열은 M개의 상이한 층으로 분리된 개별 구성요소 핵산 서열의 세트로부터 선택됨 - , (c) 복수의 식별자 핵산 서열을 물리적으로 조립하는 단계 - 추가 식별자 핵산 서열 각각은 제1 및 제2말단 서열 및 상기 제1 말단 서열과 상기 제2 말단 서열 사이에 위치한 제3 서열을 가지며, 각자의 심볼 위치에 대응하며, 적어도 하나의 추가 식별자 핵산 서열의 제1 말단 서열, 제2 말단 서열, 및 제3 서열이 (b)에서의 제1 식별자 핵산 서열의 타깃 서열과 동일하여, 단일 프로브가 심볼의 스트링 내 관련 심볼 위치를 갖는 각자의 심볼에 대응하는 적어도 두 개의 식별자 핵산 서열을 선택할 수 있게 함 - , (d) (b) 및 (c)의 식별자 핵산 서열을 분말, 액체, 또는 고체 형태를 갖는 풀에 수집하는 단계, 및 (e) (d)의 식별자 핵산 서열을 사용하여 심볼의 스트링에 대한 부울 논리 연산, 가령, AND, OR, NOT 또는 NAND을 포함하는 계산을 수행하여 핵산 분자의 새로운 풀을 생성하는 단계를 포함하는, 방법.
또 다른 양태에서, 본 개시내용은 디지털 정보를 핵산 서열에 저장하기 위한 방법을 제공하며, 상기 방법은, (a) 디지털 정보를 심볼의 스트링으로서 수신하는 단계 - 심볼의 스트링 내 각 심볼은 심볼 값 및 심볼의 스트링 내의 심볼 위치를 가짐 - , (b) 다음에 의해 제1 식별자 핵산 서열을 형성하는 단계 - (1) M개의 상이한 층으로 분리되는 개별 구성요소 핵산 서열의 세트로부터 M개의 층 각각으로부터의 하나씩의 구성요소 핵산 서열을 선택하는 것, (2) M개의 선택된 구성요소 핵산 서열을 하나의 구획으로 보관하는 것 - , (c) 복수의 식별자 핵산 서열을 물리적으로 조립하는 단계 - 추가 식별자 핵산 서열 각각은 제1 및 제2말단 서열 및 상기 제1 말단 서열과 상기 제2 말단 서열 사이에 위치한 제3 서열을 가지며, 각자의 심볼 위치에 대응하며, 적어도 하나의 추가 식별자 핵산 서열의 제1 말단 서열, 제2 말단 서열, 및 제3 서열이 (b)에서의 제1 식별자 핵산 서열의 타깃 서열과 동일하여, 단일 프로브가 심볼의 스트링 내 관련 심볼 위치를 갖는 각자의 심볼에 대응하는 적어도 두 개의 식별자 핵산 서열을 선택할 수 있게 함 - , 및 (d) (b) 및 (c)의 식별자 핵산 서열을 분말, 액체, 또는 고체 형태를 갖는 풀에 수집하는 단계를 포함하는, 방법.
또 다른 양태에서, 본 개시내용은 디지털 정보를 핵산 서열에 저장하기 위한 방법을 제공하며, 상기 방법은, (a) 디지털 정보를 심볼의 스트링으로서 수신하는 단계 - 심볼의 스트링 내 각 심볼은 심볼 값 및 심볼의 스트링 내의 심볼 위치를 가짐 - , (b) 다음에 의해 제1 식별자 핵산 서열을 형성하는 단계 - (1) M개의 상이한 층으로 분리되는 개별 구성요소 핵산 서열의 세트로부터 M개의 층 각각으로부터의 하나씩의 구성요소 핵산 서열을 선택하는 것, (2) M개의 선택된 구성요소 핵산 서열을 하나의 구획으로 보관하는 것 - , (3) (2)의 M개의 선택된 구성요소 핵산 서열을 물리적으로 조립하여 특정된 구성요소를 포함하는 제1 식별자 핵산 서열을 형성하는 것 - 특정된 구성요소는 적어도 하나의 표적 서열을 포함하여 특정된 구성요소를 함유하는 식별자의 액세스를 가능하게 함 - , (c) 각각 특정된 구성요소를 갖는 복수의 추가 식별자 핵산 서열을 물리적으로 조립하는 단계 - 특정된 구성요소는 (b)의 제1 식별자 핵산 서열의 적어도 하나의 표적 서열을 포함함으로써, 프로브가 심볼의 스트링 내 연속 심볼 위치를 갖는 각자의 심볼에 대응하는 적어도 두 개의 식별자 핵산 서열을 선택할 수 있게 함 - , 및 (d) (b) 및 (c)의 식별자 핵산 서열을 분말, 액체, 또는 고체 형태를 갖는 풀에 수집하는 단계를 포함하는, 방법.
도 1은 정보를 핵산 서열로 인코딩하고, 정보를 핵산 서열에 기록하고, 핵산 서열에 기록된 정보를 판독하고, 판독된 정보를 디코딩하는 개요 프로세스를 도시한다. 디지털 정보 또는 데이터는 심볼의 하나 이상의 스트링로 변환될 수 있다. 예시에서, 심볼은 비트이고 각 비트는 '0' 또는 '1'의 값을 가질 수 있다. 각 심볼은 해당 심볼을 나타내는 객체(가령, 식별자)에 매핑되거나 인코딩될 수 있다. 각 심볼은 개별 식별자로 나타내어질 수 있다. 개별 식별자는 구성요소로 구성된 핵산 분자일 수 있다. 구성요소는 핵산 서열일 수 있다. 디지털 정보는 정보에 대응하는 식별자 라이브러리를 생성함으로써 핵산 서열에 기록될 수 있다. 식별자 라이브러리는 디지털 정보의 각 심볼에 대응하는 식별자를 물리적으로 구성함으로써 물리적으로 생성될 수 있다. 디지털 정보의 전부 또는 일부가 한 번에 액세스될 수 있다. 예를 들어, 식별자의 서브세트가 식별자 라이브러리로부터 액세스된다. 식별자의 서브세트는 식별자를 시퀀싱하고 식별함으로써 판독될 수 있다. 식별된 식별자는 해당 심볼과 연관되어 디지털 데이터를 디코딩할 수 있다.
도 1의 접근 방식을 사용하여 정보를 인코딩하고 판독하기 위한 방법은 예를 들어, 비트 스트림을 수신하고 식별자 순위 또는 핵산 인덱스를 사용하여 비트 스트림의 각 1비트(비트 값이 '1'인 비트)를 개별 핵산 식별자에 매핑하는 것을 포함할 수 있다. 비트 값 1에 대응하는 식별자의 복사본을 포함하는(비트 값 0에 대한 식별자는 제외) 핵산 샘플 풀 또는 식별자 라이브러리를 구축한다. 샘플을 판독하는 것은 분자 생물학적 방법(가령, 시퀀싱, 혼성화, PCR 등)을 사용하고, 어떤 식별자가 식별자 라이브러리에 표현되는지 결정하고, 해당 식별자에 대응하는 비트에 '1'의 비트 값을 할당하고, 그 밖의 다른 곳에 '0'의 비트 값을 할당함으로써(각 식별자가 대응하는 원본 비트스트림의 비트를 식별하기 위해 식별자 순위를 다시 참조함) 정보를 본래의 인코딩된 비트 스트림으로 디코딩하는 것을 포함할 수 있다.
N개의 개별 비트의 스트링을 인코딩하면 동일한 수의 고유한 핵산 서열을 가능한 식별자로 사용할 수 있다. 정보 인코딩에 대한 이러한 접근 방식은 저장할 각각의 새로운 정보 항목(N 비트의 스트링)에 대한 식별자(가령, 핵산 분자)의 신규 합성을 사용할 수 있다. 다른 경우에서, 저장할 각각의 새로운 정보에 대한 식별자(N개 이하)를 새로 합성하는 비용은 일회성 신규 합성 및 가능한 모든 식별자의 후속 유지 관리를 통해 감소되어, 새로운 정보를 인코딩하는 것이 사전-합성된(또는 사전-제조된) 식별자를 기계적으로 선택 및 혼합하여 식별자 라이브러리를 형성하는 것을 포함할 수 있다. 다른 경우, (1) 저장할 각각의 새로운 정보에 대한 최대 N개의 식별자의 신규 합성 또는 (2) 저장할 각각의 새로운 정보에 대한 N개의 가능한 식별자로부터의 유지 및 선택, 또는 임의의 조합의 비용 모두가, 다수(N개 미만, 및 일부 경우 N개 훨씬 미만)의 핵산 서열을 합성하고 유지한 다음 효소 작용을 통해 이들 서열을 수정하여 저장할 각각의 새로운 정보에 대한 최대의 N개의 식별자를 생성함으로써, 감소될 수 있다.
식별자는 판독, 기록, 액세스, 복사 및 삭제 작업의 용이성을 위해 합리적으로 설계되고 선택될 수 있다. 식별자는 기록 오류, 돌연변이, 성능 저하 및 읽기 오류를 최소화하도록 설계되고 선택될 수 있다. 합성 핵산 라이브러리(가령, 식별자 라이브러리)를 포함하는 DNA 서열의 합리적인 설계에 대해서는 화학적 방법 섹션 H를 참조할 수 있다.
도 2a 및 2b는 객체 또는 식별자(가령, 핵산 분자)에 디지털 데이터를 인코딩하는 "데이터 앳 어드레스(data at address)"라고 하는 예시적인 방법을 개략적으로 도시한다. 도 2a는 바이트-값을 특정하는 단일 구성요소와 식별자 순위를 특정하는 단일 구성요소를 연결하거나 조립함으로써 개별 식별자가 구성되는 식별자 라이브러리로 비트 스트림을 인코딩하는 것을 도시한다. 일반적으로, 데이터 앳 어드레스 방법은 다음의 두 개의 객체를 포함함으로써 정보를 모듈식으로 인코딩하는 식별자를 사용한다: 하나의 객체, 즉, 바이트-값을 식별하는 "바이트-값 객체"(또는 "데이터 객체") 및 하나의 객체, 즉, 식별자 순위(또는 원본 비트-스트림 내 바이트의 상대 위치)를 식별하는 "순위 객체"(또는 "주소 객체"). 도 2b는 데이터 앳 어드레스 방법의 예시를 도시하며, 여기서, 각각의 순위 객체가 구성요소의 세트로부터 조합적으로 구성될 수 있으며 각각의 바이트-값 객체가 구성요소의 세트로부터 조합적으로 구성될 수 있다. 순위 및 바이트-값 객체의 이러한 조합 구성에 의해, 객체가 단일 구성요소만로부터 만들어진 경우(도 2a)보다 더 많은 정보가 식별자에 기록될 수 있다.
도 3a 및 3b는 객체 또는 식별자(예를 들어, 핵산 서열)의 디지털 정보를 인코딩하는 또 다른 예시적인 방법을 개략적으로 도시한다. 도 3a는 비트 스트림을 식별자 라이브러리로 인코딩하는 것을 도시하며, 여기서 식별자는 식별자 순위를 특정하는 단일 구성요소로부터 구성된다. 특정 순위(또는 주소)에 식별자가 있으면 비트 값 '1'을 지정하고 특정 순위(또는 주소)에 식별자가 없으면 비트 값 '0'을 지정한다. 이러한 유형의 인코딩은 순위(원본 비트 스트림 내 비트의 상대 위치)만 인코딩하는 식별자를 사용할 수 있으며 식별자 라이브러리에서 해당 식별자의 존재 여부를 사용하여 '1' 또는 '0의 비트 값을 각각 인코딩할 수 있다. 정보를 판독하고 디코딩하는 것은 식별자 라이브러리에 존재하는 식별자를 식별하는 것, 비트 값 '1'을 대응하는 순위에 할당하는 것, 비트 값 '0'을 그 외 다른 곳에 할당하는 것 등을 포함할 수 있다. 도 3b는 각각의 가능한 조합 구성이 순위를 특정하도록 각 식별자가 구성요소의 세트로부터 조합적으로 구성될 수 있는 예시적인 인코딩 방법을 도시한다. 이러한 조합 구성은 식별자가 단일 구성요소만으로 만들어진 경우(가령, 도 3a)보다 더 많은 정보가 식별자에 기록될 수 있도록 한다. 예를 들어, 구성요소 세트는 5개의 개별 구성요소를 포함할 수 있다. 5개의 개별 구성요소는 조립되어 10개의 개별 식별자를 생성할 수 있으며, 각각은 5개의 구성요소 중 2개를 포함한다. 10개의 개별 식별자는 각각 비트스트림 내 비트의 위치에 대응하는 순위(또는 주소)를 가질 수 있다. 식별자 라이브러리는 비트-값 '1'의 위치에 대응하는 10개의 가능한 식별자의 서브세트를 포함하고, 길이가 10인 비트 스트림 내 비트-값 '0'의 위치에 대응하는 10개의 가능한 식별자의 서브세트를 배제할 수 있다.
도 4는 가능한 식별자의 조합 공간(C, x축)과 도 3a 및 도 3b에 도시된 인코딩 방법을 사용하여 비트 단위의 주어진 원래 크기의 정보(D, 등고선)를 저장하도록 물리적으로 구성될 식별자의 평균 개수(k, y축) 사이의 관계를 로그 공간으로 나타낸 등고선 플롯을 보여준다. 이 플롯은 크기 D의 원본 정보가 C 비트의 스트링(C는 D보다 클 수 있음)으로 재코딩되되, 여기서 비트 수 k는 '1'의 비트 값을 가짐을 가정한다. 또한, 플롯은 정보-핵산 인코딩이 재코딩된 비트 스트링에 대해 수행되며 비트-값이 '1'인 위치에 대한 식별자가 구성되고 비트-값이 '0'인 위치에 대한 식별자가 구성되지 않음을 가정한다. 가정에 따르면, 가능한 식별자의 조합 공간은 재코딩된 비트 스트링의 모든 위치를 식별하기 위한 크기 C를 가지며, 크기 D의 비트 스트링을 인코딩하는 데 사용되는 식별자의 개수는 D = log 2 (Cchoosek)이도록 정해지며, 여기서, Cchoosek 은 C개의 가능성 중에서 k개의 정렬되지 않은 결과를 선택하는 방법의 수에 대한 수학 공식일 수 있다. 따라서 가능한 식별자의 조합 공간이 주어진 정보의 크기(비트 단위) 이상으로 증가함에 따라, 감소하는 수의 물리적으로 구성된 식별자가 주어진 정보를 저장하는 데 사용될 수 있다.
도 5는 정보를 핵산 서열에 기록하는 개략적 방법을 보여준다. 정보를 기록하기 전에 정보는 심볼의 스트링으로 변환되고 복수의 식별자로 인코딩될 수 있다. 정보를 기록하는 것은 가능한 식별자를 생성하기 위한 반응을 설정하는 것을 포함할 수 있다. 입력을 한 구획에 보관함으로써 반응이 설정될 수 있다. 입력은 핵산, 구성요소, 주형, 효소 또는 화학적 시약을 포함할 수 있다. 구획은 웰, 튜브, 표면 상의 위치, 미세유체 장치 내 챔버, 또는 에멀젼 내의 액적일 수 있다. 다중 구획에서 다수의 반응이 설정될 수 있다. 프로그래밍된 온도 배양 또는 순환을 통해 반응이 진행되어 식별자를 생성할 수 있다. 반응은 선택적으로 또는 편재적으로 제거(가령, 삭제)될 수 있다. 반응은 하나의 풀에서 식별자를 수집하기 위해 선택적으로 또는 편재적으로 중단되고, 통합되고, 정제될 수도 있다. 다수의 식별자 라이브러리로부터의 식별자가 동일한 풀에 수집될 수 있다. 개별 식별자는 자신이 속한 식별자 라이브러리를 식별하는 바코드나 태그를 포함할 수 있다. 대안으로 또는 추가로, 바코드는 인코딩된 정보에 대한 메타데이터를 포함할 수 있다. 보충 핵산 또는 식별자가 식별자 라이브러리와 함께 식별자 풀에 포함될 수도 있다. 보충 핵산 또는 식별자는 인코딩된 정보에 대한 메타데이터를 포함하거나 인코딩된 정보를 난독화하거나 숨기는 역할을 할 수 있다.
식별자 순위(가령, 핵산 인덱스)는 식별자의 순서를 결정하기 위한 방법 또는 키를 포함할 수 있다. 상기 방법은 모든 식별자 및 이들의 대응하는 순위가 있는 룩업 테이블을 포함할 수 있다. 방법은 또한 식별자를 구성하는 모든 구성요소의 순위를 갖는 검색 테이블 및 이러한 구성요소의 조합을 포함하는 임의의 식별자의 순서를 결정하기 위한 기능을 포함할 수 있다. 이러한 방법은 사전순 정렬이라고 할 수 있으며 사전의 단어를 알파벳순으로 정렬하는 방식과 유사할 수 있다. 데이터 앳 어드레스 인코딩 방법에서 식별자 순위(식별자의 순위 객체에 의해 인코딩됨)는 비트 스트림 내에서의 바이트(식별자의 바이트 값 개체에 의해 인코딩됨)의 위치를 결정하는 데 사용될 수 있다. 다른 방법으로, 현재 식별자에 대한 식별자 순위(전체 식별자 자체에 의해 인코딩됨)를 사용하여 비트스트림 내에서 비트값 '1'의 위치를 결정할 수 있다.
키는 샘플 내 식별자(가령, 핵산 분자)의 고유한 서브세트에 개별 바이트를 할당할 수 있다. 예를 들어, 간단한 형태에서, 키는 비트의 위치를 특정하는 고유한 핵산 서열에 바이트의 각 비트를 할당할 수 있으며, 그런 다음 샘플 내 해당 핵산 서열의 존재 여부에 따라 각각 1 또는 0의 비트-값을 특정할 수 있다. 핵산 샘플로부터의 인코딩된 정보를 판독하는 것은 시퀀싱, 혼성화 또는 PCR을 포함하는 다양한 분자 생물학 기술을 포함할 수 있다. 일부 실시예에서, 인코딩된 데이터세트를 판독하는 것은 데이터세트의 일부를 재구성하거나 각 핵산 샘플로부터 전체 인코딩된 데이터세트를 재구성하는 것을 포함할 수 있다. 서열이 판독될 수 있는 경우, 고유한 핵산 서열의 존재 또는 부재와 함께 핵산 인덱스가 사용될 수 있으며 핵산 샘플은 비트 스트림(가령, 각 비트 스트링, 바이트, 바이트 또는 바이트 스트링)으로 디코딩될 수 있다.
식별자는 구성요소 핵산 서열을 조합적으로 조립함으로써 구성될 수 있다. 예를 들어, 정보는 정의된 분자 그룹(가령, 조합 공간)으로부터 핵산 분자(가령, 식별자)의 세트를 취함으로써 인코딩될 수 있다. 정의된 분자 그룹의 각각의 가능한 식별자는 층으로 분할될 수 있는 구성요소의 사전 제작된 세트로부터의 핵산 서열(가령, 구성요소)의 조립체일 수 있다. 각 개별 식별자는 모든 층으로부터의 하나의 구성요소를 고정된 순서로 연결함으로써 구성될 수 있다. 예를 들어, M개의 층이 있고 각 층이 n개의 구성요소를 가질 수 있는 경우, 최대 C = n M 개의 고유 식별자가 구성될 수 있으며 최대 2 C 개의 상이한 정보 또는 C 비트가 인코딩되고 저장될 수 있다. 예를 들어 메가비트 정보를 저장하려면 1 x 106개의 개별 식별자 또는 C = 1 x 106 크기의 조합 공간을 사용할 수 있다. 이 예의 식별자는 다양한 방식으로 구성된 다양한 구성요소로부터 조립될 수 있다. 조립체는 각각 n = 1 x 103개의 구성요소를 포함하는 M = 2개의 사전 제작된 층으로부터 만들어질 수 있다. 대안으로, 조립체는 각각 n = 1 x 102개의 구성요소를 포함하는 M = 3개의 층으로부터 만들어질 수 있다. 일부 구현예에서, 조립체는 M=2, M=3, M=4, M=5 또는 그 이상의 층으로 만들어질 수 있다. 이 예에서 알 수 있듯이, 더 많은 수의 층을 사용하여 동일한 양의 정보를 인코딩하면 전체 구성요소의 수가 더 작아질 수 있다. 전체 구성요소의 수를 적게 사용하는 것이 기록 비용 측면에서 유리할 수 있다.
하나의 예에서, 각각 x 및 y 구성요소(가령, 핵산 서열)를 각각 갖는 고유한 핵산 서열 또는 층, X 및 Y의 두 세트로 시작할 수 있다. X로부터의 각 핵산 서열은 Y로부터의 각 핵산 서열로 조립될 수 있다. 두 개의 세트에 유지되는 핵산 서열의 총 수는 x와 y의 합일 수 있지만, 생성될 수 있는 핵산 분자, 따라서 가능한 식별자의 총 수가 x와 y의 곱일 수 있다. X로부터의 서열이 임의의 순서로 Y의 서열에 조립될 수 있는 경우 훨씬 더 많은 핵산 서열(가령, 식별자)이 생성될 수 있다. 예를 들어, 생성된 핵산 서열(가령, 식별자)의 수는 조립 순서가 프로그래밍 가능한 경우 x와 y의 곱의 두 배가 될 수 있다. 생성될 수 있는 모든 가능한 핵산 서열 세트는 XY로 지칭될 수 있다. XY의 고유한 핵산 서열의 조립된 단위 순서는 개별 5' 및 3' 말단을 가진 핵산을 사용하여 제어될 수 있으며, 제한 분해, 결찰, 중합효소 연쇄 반응(PCR) 및 시퀀싱은 서열의 개별 5' 및 3' 말단에 대해 발생할 수 있다. 이러한 접근 방식은 조립 산물의 조합 및 순서로 정보를 인코딩함으로써 N개의 개별 비트를 인코딩하는 데 사용되는 핵산 서열(가령, 구성요소)의 총 수를 줄일 수 있다. 예를 들어, 100 비트의 정보를 인코딩하기 위해, 10개의 개별 핵산 분자(가령, 구성요소)의 두 개의 층을 고정된 순서로 조립하여 10*10 또는 100개의 개별 핵산 분자(가령, 식별자)를 생성할 수 있거나, 5개의 개별 핵산 분자(가령, 구성요소)의 하나의 층과 10개의 개별 핵산 분자(가령, 구성요소)의 또 다른 층이 임의의 순서로 조립되어 100개의 개별 핵산 분자(가령, 식별자)를 생성할 수 있다.
각 층 내의 핵산 서열(예를 들어, 구성요소)은 중앙에 고유한(또는 개별) 서열 또는 바코드, 한쪽 말단에 공통 혼성화 영역, 또 다른 다른 말단에 또 다른 공통 혼성화 영역을 포함할 수 있다. 바코드는 층 내의 모든 서열을 고유하게 식별하기에 충분한 수의 뉴클레오티드를 포함할 수 있다. 예를 들어, 바코드 내의 각 염기 위치에 대해 일반적으로 4개의 가능한 뉴클레오티드가 있다. 따라서 3개 염기 바코드는 43 = 64개의 핵산 서열을 고유하게 식별할 수 있다. 바코드는 랜덤하게 생성되도록 설계될 수 있다. 대안으로, 바코드는 식별자 구성 화학 또는 시퀀싱에 복잡함을 야기할 수 있는 서열을 방지하도록 설계될 수 있다. 추가적으로, 바코드는 각각이 다른 바코드로부터 최소 해밍 거리를 가질 수 있도록 설계될 수 있으며, 이로써 염기 분해능 돌연변이 또는 판독 오류가 바코드의 적절한 식별을 방해할 가능성을 줄일 수 있다. DNA 서열의 합리적인 설계에 대해서는 화학적 방법 섹션 H를 참조할 수 있다.
핵산 서열(예를 들어, 구성요소)의 하나의 말단에 있는 혼성화 영역은 각 층마다 상이할 수 있지만, 혼성화 영역은 층 내의 각 구성원에 대해 동일할 수 있다. 인접한 층은 서로 상호 작용할 수 있도록 구성요소에 상보적인 혼성화 영역이 있는 층이다. 예를 들어, 층 X로부터의 모든 구성요소는 상보적인 혼성화 영역을 가질 수 있으므로 층 Y로부터의 임의의 구성요소에 부착될 수 있다. 반대편 말단의 혼성화 영역은 제1 말단의 혼성화 영역과 동일한 목적을 수행할 수 있다. 예를 들어, 층 Y로부터의 임의의 구성요소는 한쪽 말단 상의 층 X의 임의의 구성요소에 부착되고 반대쪽 말단 상의 층 Z의 임의의 구성요소에 부착될 수 있다.
도 6a 및 6b는 각각의 층으로부터 개별 구성요소(가령, 핵산 서열)를 고정된 순서로 조합적으로 조립함으로써 식별자(가령, 핵산 분자)를 구축하기 위한 "곱 방식"이라고 하는 예시적인 방법을 예시한다. 도 6a는 곱 방식을 사용하여 구성된 식별자의 아키텍처를 도시한다. 각 층으로부터의 단일 구성요소를 고정된 순서로 조합함으로써 식별자가 구성될 수 있다. 각각 N개의 구성요소를 포함하는 M개의 층에 대해 N M 개의 가능한 식별자가 있다. 도 6b는 곱 방식을 사용해 구성될 수 있는 식별자의 조합 공간의 예를 도시한다. 예를 들어, 조합 공간은 각각 3개의 개별 구성요소를 포함하는 3개의 층으로부터 생성될 수 있다. 구성요소는 각 층으로부터의 하나씩의 구성요소가 고정된 순서로 결합될 수 있도록 결합될 수 있다. 이 조립 방법의 전체 조합 공간은 27개의 가능한 식별자로 구성될 수 있다.
도 7-10은 곱 방식(도 6 참조)을 구현하기 위한 화학적 방법을 예시한다. 도 7-10에 도시된 방법은, 둘 이상의 개별 구성요소를 고정된 방식으로 조립하기 위한 임의의 다른 방법과 함께, 사용되어 임의의 하나 이상의 식별자를 식별자 라이브러리를 생성할 수 있다. 식별자는 본 명세서에 개시된 방법 또는 시스템 동안 임의의 시점에서, 도 7-10에서 기재된 구현 방법 중 임의의 것을 사용해 구성될 수 있다. 어떤 경우에는, 디지털 정보가 인코딩되거나 기록되기 전에 가능한 식별자의 조합 공간의 전체 또는 일부가 구성될 수 있으며, 그런 다음 기록 프로세스는 기존 세트로부터의 (정보를 인코딩하는) 식별자를 기계적으로 선택하고 풀링하는 것을 포함할 수 있다. 다른 경우에, 식별자는 데이터 인코딩 또는 기록 프로세스의 하나 이상의 단계가 발생한 후에(즉, 정보가 기록되는 동안) 구성될 수 있다.
효소 반응은 상이한 층 또는 세트로부터의 구성요소를 조립하는 데 사용될 수 있다. 각 층의 구성요소(가령, 핵산 서열)가 인접한 층의 구성요소에 대한 특정 혼성화 또는 부착 영역을 갖기 때문에 조립은 원 포트 반응으로 발생할 수 있다. 예를 들어, 층 X로부터의 핵산 서열(가령, 구성요소) X1, 층 Y로부터의 핵산 서열 Y1, 및 층 Z로부터의 핵산 서열 Z1은 조립된 핵산 분자(예를 들어, 식별자) X1Y1Z1을 형성할 수 있다. 추가로, 다수의 핵산 분자(예를 들어, 식별자)는 각 층으로부터의 다수의 핵산 서열을 포함함으로써 하나의 반응으로 조립될 수 있다. 예를 들어, 이전 예시의 원 포트 반응에 Y1과 Y2를 모두 포함하면 두 개의 조립된 생성물(가령, 식별자) X1Y1Z1 및 X1Y2Z1이 생성될 수 있다. 이 반응 다중화는 물리적으로 구성된 복수의 식별자에 대한 기록 시간을 단축하는데 사용될 수 있다. 조립 효율성과 관련된 DNA 서열의 합리적인 설계에 대한 자세한 내용은 화학적 방법 섹션 H를 참조할 수 있다. 핵산 서열의 조립은 약 1일, 12시간, 10시간, 9시간, 8시간, 7시간, 6시간, 5시간, 4시간, 3시간, 2시간 또는 1시간 이하의 기간에 수행될 수 있다. 인코딩된 데이터의 정확도는 적어도 약 90%, 95%, 96%, 97%, 98%, 99% 이상일 수 있다.
식별자는 도 7에 예시된 바와 같이 OEPCR(overlap Extension Polymerase Chain Reaction)을 사용하는 곱 방식에 따라 구성될 수 있다. 각 층의 각 구성요소는 인접 층으로부터의 구성요소의 서열 말단 상에 공통 혼성화 영역과 상동성 및/또는 상보적일 수 있는 서열 말단 상의 공통 혼성화 영역을 갖는 이중 가닥 또는 단일 가닥(도면에 도시됨) 해산 서열을 포함할 수 있다. 개별 식별자는 구성요소 X1 - XA를 포함하는 층 X(또는 층 1)로부터의 하나의 구성요소(가령, 고유 서열), Y1 - YA을 포함하는 층 Y(또는 층 2)로부터의 두 번째 구성요소(가령, 고유 서열), 및 Z1 - ZB를 포함하는 층 Z(또는 층 3)으로부터의 세 번째 구성요소(가령, 고유 서열)를 연결함으로써 구성될 수 있다. 층 X로부터의 구성요소는 층 Y로부터의 구성요소 상의 3' 말단과 상보성을 공유하는 3' 말단을 가질 수 있다. 따라서 층 X와 Y의 단일 가닥 구성요소는 3' 말단에서 함께 어닐링될 수 있으며 PCR을 사용하여 이중 가닥 핵산 분자를 생성하도록 확장될 수 있다. 생성된 이중 가닥 핵산 분자는 용융되어 층 Z로부터의 구성요소의 3' 말단과 상보성을 공유하는 3' 말단을 생성할 수 있다. 층 Z로부터의 구성요소는 생성된 핵산 분자와 어닐링될 수 있으며 고정된 순서로 층 X, Y, 및 Z로부터의 단일 구성요소를 포함하는 고유 식별자를 생성하도록 확장될 수 있다. OEPCR에 대한 화학적 방법 섹션 A를 참조할 수 있다. DNA 크기 선택(가령, 겔 추출, 화학적 방법 섹션 E 참조) 또는 최외각 층 측면에 있는 프라이머를 사용한 중합효소 연쇄 반응(PCR)(화학적 방법 섹션 D 참조)가 구현되어 반응에서 형성될 수 있는 다른 부산물로부터 완전히 조립된 식별자 산물을 분리시킬 수 있다. 두 개의 최외각 층 각각에 대해 하나씩, 두 개의 프로브를 사용한 순차적 핵산 포획이 또한 구현되어 반응에서 형성될 수 있는 다른 부산물로부터 완전히 조립된 식별자 산물을 분리시킬 수 있다(화학적 방법 섹션 F 참조).
식별자는 도 8에 도시된 바와 같이 점착성 말단 결찰을 사용하여 곱 방식에 따라 조립될 수 있다. 단일 가닥 3' 오버행을 갖는 이중 가닥 구성요소(가령, 이중 가닥 DNA(dsDNA))를 각각 포함하는 3개의 층이 사용되어 개별 식별자를 조립할 수 있다. 예를 들어, 식별자는 구성요소 X1 - XA를 포함하는 층 X(또는 층 1)로부터의 하나의 구성요소, Y1 - YB를 포함하는 층 Y(또는 층 2)의 두 번째 구성요소, 및 Z1 - ZC를 포함하는 층 Z(또는 층 3)으로부터의 세 번째 구성요소를 포함한다. 층 X로부터의 구성요소를 층 Y로부터의 구성요소와 결합하기 위해, 층 X의 구성요소는 도 8의 a로 라벨링되는 공통 3' 오버행을 포함할 수 있고, 층 Y의 구성요소가 공통적인, 상보적 3' 오버행인 a*를 포함할 수 있다. 층 Y로부터의 구성요소를 층 Z로부터의 구성요소와 결합하기 위해, 층 Y의 요소는 도 8의 b로 라벨링된 공통 3' 오버행을 포함할 수 있고, 층 Z의 요소는 공통의 상보적인 3' 오버행인 b*를 포함할 수 있다. 층 X의 구성요소의 3' 오버행은 층 Y 구성요소의 3' 말단에 상보적일 수 있고 층 Y 구성요소의 다른 3' 오버행은 층 Z 구성요소의 3' 말단에 상보적일 수 있어 구성요소가 혼성화되고 결찰될 수 있다. 따라서 층 X로부터의 구성요소는 층 X 또는 층 Z의 다른 구성요소와 혼성화될 수 없으며 마찬가지로 층 Y의 구성요소는 층 Y의 다른 요소와 혼성화될 수 없다. 또한 층 Y로부터의 단일 구성요소는 완전한 식별자의 형성을 보장하면서 층 X의 단일 구성요소 및 층 Z의 단일 구성요소로 결찰될 수 있다. 점착성 말단 결찰에 대해서는 화학적 방법 섹션 B를 참조할 수 있다. DNA 크기 선택(가령, 겔 추출, 화학적 방법 섹션 E 참조) 또는 최외각 층 측면에 있는 프라이머를 사용한 중합효소 연쇄 반응(PCR)(화학적 방법 섹션 D 참조)가 구현되어 반응에서 형성될 수 있는 다른 부산물로부터 식별자 산물을 분리시킬 수 있다. 두 개의 최외각 층 각각에 대해 하나씩, 두 개의 프로브를 사용한 순차적 핵산 포획이 또한 구현되어 반응에서 형성될 수 있는 다른 부산물로부터 식별자 산물을 분리시킬 수 있다(화학적 방법 섹션 F 참조).
점착성 말단 결찰을 위한 점착성 말단은 각 층의 구성요소를 제한 엔도뉴클레아제로 처리하여 생성될 수 있다(제한 효소 반응에 대한 자세한 내용은 화학적 방법 섹션 C 참조). 일부 실시예에서, 다수의 층의 구성요소는 구성요소의 하나의 "부모" 세트로부터 생성될 수 있다. 예를 들어, 이중 가닥 구성요소의 단일 모 세트가 각 말단 상의 상보적인 제한 부위(가령, BamHI 및 BglII에 대한 제한 부위)를 가질 수 있는 실시예가 있다. 조립을 위해 임의의 2개 구성요소가 선택될 수 있고, 하나 또는 다른 상보적 제한 효소(가령, BglII 또는 BamHI)로 개별적으로 소화되어 함께 결찰될 수 있는 상보적인 점착성 말단을 생성하여 불활성 흉터를 도출할 수 있다. 생성물 핵산 서열은 각 말단에 상보적 제한 부위(예를 들어, 5' 말단 상의 BamHI 및 3' 말단 상의 BglII)를 포함할 수 있고, 동일한 프로세스에 따라 모 세트로부터의 또 다른 성분에 추가로 결찰될 수 있다. 이 프로세스는 무한정 순환될 수 있다(도 20). 모가 N개의 구성요소를 포함하는 경우, 각 주기는 곱 방식에 N개의 구성요소의 추가 층을 추가하는 것과 동일할 수 있다.
세트 X(가령, dsDNA의 세트 1)의 요소와 세트 Y(가령, dsDNA의 세트 2)의 요소를 포함하는 핵산의 서열을 구성하기 위해 결찰을 사용하는 방법은 이중 가닥 서열의 2개 이상의 풀(가령, dsDNA의 세트 1 및 dsDNA의 세트 2)을 얻거나 구성하는 단계를 포함할 수 있으며, 제1 세트(가령, dsDNA의 세트 1)는 점착성 말단(가령, a)을 포함하고 제2 세트(가령, dsDNA의 세트 2)는 제1 세트의 점착성 말단에 상보적인 점착성 말단(가령, a*)을 포함한다. 제1 세트(가령, dsDNA의 세트 1)로부터의 임의의 DNA와 제2 세트(가령, dsDNA의 세트 2)로부터의 DNA의 임의의 서브세트가 조합되고 조립된 다음, 함께 결찰되어 제1 세트로부터의 요소와 제2 세트로부터의 요소를 갖는 단일 이중 가닥 DNA를 형성할 수 있다.
식별자는 도 9에 도시된 바와 같이 부위 특정적 재조합을 사용하여 곱 방식에 따라 조립될 수 있다. 식별자는 세 가지 상이한 층으로부터의 구성요소를 조립함으로써 구성될 수 있다. 층 X(또는 층 1)의 구성요소는 분자의 하나의 측 상에 attBx 재조합효소 부위가 있는 이중 가닥 분자를 포함할 수 있고, 층 Y(또는 층 2)로부터의 구성요소는 하나의 측 상에 attPx 재조합효소 부위가 있는 이중 가닥 분자를 포함할 수 있으며, 층 Z(또는 층 3)의 구성요소는 분자의 하나의 측 상의 attPy 재조합효소 부위를 포함할 수 있다. 한 쌍 내의 attB 및 attP 부위는 아래 첨자로 표시된 바와 같이 해당하는 재조합 효소의 존재 하에서 재조합될 수 있다. 층 X로부터의 하나의 구성요소가 층 Y로부터의 하나의 구성요소와 연관되고, 층 Y로부터의 하나의 구성요소가 층 Z로부터의 하나의 구성요소와 연관되도록 각각의 층으로부터의 하나씩의 구성요소가 조합될 수 있다. 하나 이상의 재조합효소의 적용이 구성요소를 재조합하여 정렬된 구성요소를 포함하는 이중 가닥 식별자를 생성할 수 있다. DNA 크기 선택(가령, 젤 추출) 또는 최외곽 층 측면에 있는 프라이머를 사용한 PCR이 구현되어 반응에서 형성될 수 있는 다른 부산물로부터 식별자 산물을 분리시킬 수 있다. 일반적으로 다중 직교 attB 및 attP 쌍이 사용될 수 있으며, 각 쌍은 추가 층으로부터의 구성요소를 조립하는 데 사용될 수 있다. 큰 세린 계열의 재조합효소의 경우, 재조합효소당 최대 6개의 직교 attB 및 attP 쌍이 생성될 수 있으며, 다수의 직교 재조합효소도 구현될 수 있다. 예를 들어, 12개의 직교 attB 및 attP 쌍, 즉 BxbI 및 PhiC31과 같은 두 개의 큰 세린 재조합효소 각각으로부터의 6개의 직교 쌍을 사용하여 13개의 층이 조립될 수 있다. attB와 attP 쌍의 직교성은 한 쌍의 attB 사이트가 다른 쌍의 attP 사이트와 반응하지 않도록 보장한다. 이를 통해 서로 다른 층의 구성요소를 고정된 순서로 조립할 수 있다. 재조합효소 매개 재조합 반응은 구현된 재조합효소 시스템에 따라 가역적이거나 비가역적일 수 있다. 예를 들어, 큰 세린 재조합효소 계열은 고에너지 보조인자를 필요로 하지 않고 비가역적 재조합 반응을 촉매하는 반면, 티로신 재조합효소 계열은 가역적 반응을 촉매한다.
식별자는 도 10a에 도시된 바와 같이 주형 지정 결찰(TDL)을 사용하는 곱 방식에 따라 구성될 수 있다. 주형 지정 결찰은 "주형" 또는 "스테이플"이라고 불리는 단일 가닥 핵산 서열을 활용하여 구성요소의 정렬된 결찰을 촉진하여 식별자를 형성할 수 있다. 주형은 인접 층으로부터의 구성요소에 동시에 혼성화되어 리가아제가 이를 결찰하는 동안 서로 인접하게 유지한다(3' 말단 대 5' 말단). 도 10a의 예에서 단일 가닥 구성요소의 3개 층 또는 세트가 결합된다. 서열 a*에 상보적인, 3' 말단에서 공통 서열 a를 공유하는 구성요소의 제1 층(예를 들어, 층 X 또는 층 1), 서열 b* 및 c*에 상보적인 공통 시퀀스 b 및 c를 각각 5' 및 3' 말단에서 공유하는 구성요소의 두 번째 층(가령, 층 Y 또는 층 2), 서열 d*에 상보적일 수 있는 5' 말단에서 공통 서열 d를 공유하는 구성요소의 세 번째 층(예를 들어, 층 Z 또는 층 3), 및 서열 a*b*(5'에서 3')를 포함하는 첫 번째 스테이플과 서열 c*d*('5에서 3')를 포함하는 두 번째 스테이플을 갖는 두 개의 주형 또는 "스테이플"의 세트. 이 예에서, 각 층의 하나 이상의 구성요소가 선택되어 스테이플과의 반응으로 혼합될 수 있으며, 이는 상보적 어닐링에 의해 정의된 순서로 각 층으로부터의 하나씩의 구성요소를 결찰하여 식별자를 형성하는 것을 촉진할 수 있다. TDL에 대해서는 화학적 방법 섹션 B를 참조할 수 있다. DNA 크기 선택(가령, 겔 추출, 화학적 방법 섹션 E 참조) 또는 최외각 층 측면에 있는 프라이머를 사용한 중합효소 연쇄 반응(PCR)(화학적 방법 섹션 D 참조)가 구현되어 반응에서 형성될 수 있는 다른 부산물로부터 식별자 산물을 분리시킬 수 있다. 두 개의 최외각 층 각각에 대해 하나씩, 두 개의 프로브를 사용한 순차적 핵산 포획이 또한 구현되어 반응에서 형성될 수 있는 다른 부산물로부터 식별자 산물을 분리시킬 수 있다(화학적 방법 섹션 F 참조).
도 10b는 6층 TDL로 각각 조립된 256개의 개별 핵산 서열의 복제수(풍부함)에 대한 히스토그램을 보여준다. 외곽 층(첫 번째 및 마지막 층)에는 각각 하나의 구성요소가 있고 각 내부 층(나머지 4개의 4개 층)에는 4개의 구성요소가 있다. 각 외곽 층 구성요소는 10 염기 혼성화 영역을 포함하여 28개 염기였다. 각각의 내부 층 구성요소는 5' 말단 상의 10 염기 공통 혼성화 영역, 10 염기 가변(바코드) 영역, 및 3' 말단 상의 10 염기 공통 혼성화 영역을 포함하는 30개 염기였다. 3개의 주형 가닥 각각의 길이는 20개 염기였다. 모든 256개의 개별 서열은 모든 구성요소와 주형, T4 폴리뉴클레오티드 키나제(구성요소 인산화용), 및 T4 리가아제, ATP 및 기타 적절한 반응 시약을 포함하는 하나의 반응으로 다중 방식으로 조립되었다. 반응물이 37도에서 30분 동안 배양된 후 실온에서 1시간 동안 배양됐다. PCR을 통해 반응 생성물에 시퀀싱 어댑터(sequencing adapter)가 추가되었고 Illumina MiSeq 장비를 사용하여 생성물이 시퀀싱됐다. 192910개의 총 조립된 서열 리드 중 각각의 개별 조립된 서열의 상대적 복제수가 나타난다. 이 방법의 다른 실시예는 이중 가닥 구성요소를 사용할 수 있으며, 여기서 구성요소는 초기에 용융되어 스테이플에 어닐링될 수 있는 단일 가닥 버전을 형성할 수 있다. 이 방법의 또 다른 실시예 또는 파생예(즉, TDL)가 곱 방식에서 달성될 수 있는 것보다 더 복잡한 식별자의 조합 공간을 구성하는 데 사용될 수 있다.
식별자는 골든 게이트 조립체, 깁슨 조립체 및 리가아제 순환 반응 조립체를 포함한 다양한 기타 화학적 구현을 사용하여 제품 체계에 따라 구성될 수 있다.
도 11a 및 11b는 순열된 구성요소(가령, 핵산 서열)로 식별자(가령, 핵산 분자)를 구성하기 위한 "순열 방식"으로 불리는 예시적인 방법을 개략적으로 예시한다. 도 11a는 순열 방식을 사용하여 구성된 식별자의 아키텍처를 도시한다. 각 층으로부터의 단일 구성요소를 프로그램 가능한 순서로 조합함으로써 식별자가 구성될 수 있다. 도 11b는 순열 방식을 사용하여 구성될 수 있는 식별자의 조합 공간의 예를 도시한다. 예를 들어, 크기 6의 조합 공간은 각각 하나의 개별 구성요소를 포함하는 3개의 층으로부터 생성될 수 있다. 구성요소는 임의의 순서로든 연결될 수 있다. 일반적으로, 각각 N개의 구성요소를 갖는 M개의 층를 사용하면 순열 방식을 통해 총 N M M!개의의 조합 공간이 가능해진다.
도 11c는 주형 지정 결찰(TDL, 화학적 방법 섹션 B 참조)을 사용한 순열 방식의 예시적인 구현을 도시한다. 여러 층으로부터의 구성요소는 가장자리 스캐폴드(scaffold)라고도 하는 고정된 왼쪽 말단과 오른쪽 말단 구성요소 사이에 조립된다. 이들 가장자리 스캐폴드는 조합 공간의 모든 식별자에 대해 동일하므로 구현을 위한 반응 마스터 믹스의 일부로 추가될 수 있다. 상이한 층으로부터의 구성요소가 반응의 식별자에 통합되는 순서가 반응을 위해 선택된 주형에 따라 달라지도록 임의의 두 층 또는 스캐폴드 사이의 임의의 가능한 접합에 대한 주형 또는 스테이플이 존재한다. M개의 층에 대한 임의의 가능한 층 순열을 가능하게 하기 위해, 모든 가능한 접합(스캐폴드와의 접합 포함)에 대해 M 2 +2M개의 개별 선택 가능한 스테이플이 있을 수 있다. 이들 주형 중 M개(회색으로 음영 처리됨)는 층과 그 자체 사이의 접합을 형성하며 본 명세서에 설명된 순열 조립의 목적을 위해 제외될 수 있다. 그러나, 이들을 포함시키면 도 11d-g에 예시된 바와 같이 반복 구성요소를 포함하는 식별자로 더 큰 조합 공간을 가능하게 할 수 있다. DNA 크기 선택(가령, 겔 추출, 화학적 방법 섹션 E 참조) 또는 최외각 층 측면에 있는 프라이머를 사용한 중합효소 연쇄 반응(PCR)(화학적 방법 섹션 D 참조)가 구현되어 반응에서 형성될 수 있는 다른 부산물로부터 식별자 산물을 분리시킬 수 있다. 두 개의 최외각 층 각각에 대해 하나씩, 두 개의 프로브를 사용한 순차적 핵산 포획이 또한 구현되어 반응에서 형성될 수 있는 다른 부산물로부터 식별자 산물을 분리시킬 수 있다(화학적 방법 섹션 F 참조).
도 11d-g는 반복되는 구성요소를 갖는 식별자의 특정 인스턴스를 포함하도록 순열 방식이 어떻게 확장될 수 있는지에 대한 예시적인 방법을 도시한다. 도 11d는 도 11c의 구현 형태가 순열 및 반복 구성요소와 함께 어떻게 사용될 수 있는지에 대한 예를 도시한다. 예를 들어, 식별자는 두 개의 개별 구성요소로부터 조립된 총 세 개의 구성요소를 포함할 수 있다. 이 예에서, 층의 구성요소가 식별자에 여러 번 나타날 수 있다. 동일한 구성요소의 인접 연결은 동일한 구성요소, 가령, 도면에서 a*b*(5'에서 3') 스테이플의 3' 말단과 5' 말단 모두에 대해 인접한 상보적 혼성화 영역이 있는 스테이플을 사용하여 달성할 수 있다. 일반적으로 M개의 층에 대해, M개의 이러한 스테이플이 있다. 이러한 구현에 반복된 구성요소를 통합하면 도 11e에 도시된 바와 같이, 가장자리 스캐폴드 사이에 조립되는 길이가 2개를 초과하는(즉, 1개, 2개, 3개, 4개 이상의 구성요소를 포함하는) 핵산 서열을 생성할 수 있다. 도 11e는 도 11d의 예시적인 구현 방법이 식별자 외에 가장자리 스캐폴드들 사이에 조립되는 비표적 핵산 서열을 도출할 수 있다. 적절한 식별자가 가장자리 상의 동일한 프라이머 결합 부위를 공유하기 때문에 PCR에 의해 비표적 핵산 서열로부터 분리될 수 없다. 그러나 이 예에서는, (가령, 모든 구성요소가 동일한 길이를 갖는 경우) 각각의 조립된 핵산 서열이 고유한 길이를 갖도록 설계될 수 있기 때문에, DNA 크기 선택(예를 들어, 겔 추출을 사용하여)이 구현되어 비표적 서열로부터 표적 식별자(가령, 위에서 두 번째 서열)를 분리할 수 있다. 크기 선택에 대해서는 화학적 방법 섹션 E를 참조할 수 있다. 도 11f는 반복된 구성요소로 식별자를 구성하는 것이 동일한 반응에서 가장자리 서열은 동일하지만 길이가 다른 다중 핵산 서열을 생성할 수 있는 또 다른 예를 보여준다. 이 방법에서는 교대 패턴으로 한 층의 구성요소를 다른 층의 구성요소와 조립하는 주형이 사용될 수 있다. 도 11e에 도시된 방법을 이용할 때, 크기 선택은 설계된 길이의 식별자를 선택하는 데 사용될 수 있다. 도 11g는 반복된 구성요소로 식별자를 구성하는 것이 동일한 가장자리 서열을 갖고 일부 핵산 서열(예를 들어 위에서 세 번째와 네 번째, 위에서 여섯 번째와 일곱 번째)에 대해 동일한 길이를 갖는 다중 핵산 서열을 생성할 수 있는 예를 보여준다. 이 예에서, PCR 및 DNA 크기 선택이 구현되더라도, 다른 하나를 구성하지 않고 하나를 구성하는 것이 불가능할 수 있으므로 동일한 길이를 공유하는 핵산 서열은 둘 다 개별 식별자에서 제외될 수 있다.
도 12a - 12d는 더 많은 개수 M의 가능한 구성요소 중 임의의 개수 k의 조립된 구성요소(가령, 핵산 서열)를 갖는 식별자(가령, 핵산 분자)를 구성하기 위한 "MchooseK" 방식이라 지칭되는, 예시적 방법을 개략적으로 도시한다. 도 12a는 MchooseK 방식을 사용하여 구성된 식별자의 아키텍처를 도시한다. 이 방법을 사용하면 모든 층의 임의의 서브세트에 있는 각 층에서 하나의 구성요소를 조립함으로써 식별자가 구성된다(가령, M개의 가능한 층 중 k 층에서 구성요소 선택). 도 12b는 MchooseK 방식을 사용하여 구성될 수 있는 식별자의 조합 공간의 예를 도시한다. 이 조립 방식에서 조합 공간은 M개의 층, 층당 N개의 구성요소, 및 k개의 구성요소의 식별자 길이에 대한 N K MchooseK 가능한 식별자를 포함할 수 있다. 예를 들어, 각각 하나의 구성요소를 포함하는 5개의 층이 있는 경우, 각각 2개의 구성요소를 포함하는 최대 10개의 개별 식별자가 조립될 수 있다.
MchooseK 방식은 도 12c에 도시된 바와 같이 주형 지정 결찰(화학적 방법 섹션 B 참조)을 사용하여 구현될 수 있다. 순열 방식(도 11c)에 대한 TDL 구현과 마찬가지로, 이 예의 구성요소는 반응 마스터 믹스에 포함될 수도 있고 포함되지 않을 수도 있는 가장자리 스캐폴드 사이에 조립된다. 구성요소는 M개의 층, 예를 들어 2에서 M까지 미리 정의된 순위를 갖는 M = 4개의 층으로 분할될 수 있으며, 여기서 왼쪽 가장자리 스캐폴드는 순위 1일 수 있고 오른쪽 가장자리 스캐폴드는 순위 M+1일 수 있다. 주형은 각각 낮은 순위에서 높은 순위로 임의의 두 구성요소의 3'에서 5' 연결을 위한 핵산 서열을 포함한다. 이러한 주형이 ((M+1) 2 +M+1)/2개 있다. 개별 층으로부터 임의의 K 구성요소의 개별 식별자가 결찰 반응에서 선택된 성분을 순위 순서로 가장자리 스캐폴드와 함께 K 성분을 가져오는 데 사용되는 상응하는 K+1 스테이플과 결합함으로써 구성될 수 있다. 이러한 반응 설정은 가장자리 스캐폴드 사이의 표적 식별자에 해당하는 핵산 서열을 생성할 수 있다. 대안으로, 모든 주형을 포함하는 반응 혼합물을 선택된 구성요소와 결합하여 표적 식별자를 조립할 수 있다. 이 대안적인 방법은 도 12d에 예시된 바와 같이 동일한 가장자리 서열을 갖지만 길이가 개별적인(모든 성분 길이가 동일한 경우) 다양한 핵산 서열을 생성할 수 있다. 12D. 표적 식별자(하단)는 크기별로 부산물 핵산 서열로부터 분리될 수 있다. 핵산 크기 선택에 대해서는 화학적 방법 섹션 E를 참조할 수 있다.
도 13a 및 도 13b는 분할된 구성요소로 식별자를 구성하기 위한 "분할 방식"으로 지칭되는 예시적인 방법을 개략적으로 예시한다. 도 13a는 분할 방식을 사용하여 구성될 수 있는 식별자의 조합 공간의 예를 보여준다. 개별 식별자는 서로 다른 층의 두 구성요소 사이에 파티션(특별히 분류된 구성요소)을 선택적으로 배치하여 고정된 순서로 각 층의 하나의 구성요소를 조립하여 구성될 수 있다. 예를 들어, 구성요소의 세트는 하나의 파티션 구성요소와 각각 하나의 구성요소를 포함하는 4개의 층으로 구성될 수 있다. 각 층으로부터의 구성요소는 고정된 순서로 조합될 수 있으며 단일 파티션 구성요소는 층들 사이의 다양한 위치에서 조립될 수 있다. 이 조합 공간의 식별자는 파티션 구성요소를 포함하지 않고, 첫 번째와 두 번째 층의 구성요소들 사이의 파티션 구성요소, 두 번째와 세 번째 층의 구성요소들 사이의 파티션 등을 포함하여 8개의 가능한 식별자의 조합 공간을 만들 수 있다. 일반적으로, 각각 N개의 구성요소를 갖는 M개의 층과 p개의 파티션 구성요소를 사용하면 구성될 수 있는 N K (p+1) M-1 개의 가능한 식별자가 있다. 이 방법은 다양한 길이의 식별자를 생성할 수 있다.
도 13b는 주형 지정 결찰을 사용하는 파티션 방식의 구현 예를 보여준다(화학적 방법 섹션 B 참조). 주형은 고정된 순서로 M개의 층 각각으로부터의 하나씩 성분을 함께 결찰하기 위한 핵산 서열을 포함한다. 각 파티션 구성요소에 대해, 파티션 구성요소가 임의의 인접한 두 층으로부터의 구성요소들 사이에 결찰할 수 있도록 하는 추가 주형 쌍이 존재한다. 예를 들어 하나의 쌍에서의 하나의 주형(가령, 서열 g*b*(5'에서 3') 포함)이 층 1의 3' 말단(서열 b 포함)을 분할 구성요소의 5' 말단(서열 q 포함)으로 결찰할 수 있도록 그리고 상기 쌍에서의 제2 주형(가령, 서열 c*h* (5' 에서 3') 포함)이 분할 구성요소의 3' 말단(서열 h 포함)을 층 2의 5' 말단(서열 c 포함)으로 결찰할 수 있도록 주형 쌍이 이뤄진다. 인접한 층의 임의의 두 구성요소들 사이에 파티션을 삽입하기 위해, 해당 층을 함께 결찰하기 위한 표준 주형이 반응에서 제외될 수 있으며 해당 위치에서 파티션을 결찰하기 위한 주형 쌍을 반응에서 선택할 수 있다. 현재 예에서, 층 1과 층 2 사이의 파티션 구성요소를 표적으로 하는 것은 주형 c*b*(5'에서 3')보다 주형 쌍 c*h*(5'에서 3') 및 g*b*(5'에서 3')를 사용하여 반응을 선택할 수 있다. 구성요소는 반응 혼합물에 포함될 수 있는 가장자리 스캐폴드들 사이에 조립될 수 있다(각각 첫 번째 및 M번째 층에 결찰하기 위한 해당 주형과 함께). 일반적으로 총 약 M-1+2*p*(M-1)개의 선택 가능한 주형이 M개 층과 p개 파티션 구성요소에 대해 이 방법에 사용될 수 있다. 이러한 파티셔닝 방식의 구현은 동일한 가장자리 서열을 갖지만 길이가 다른 반응에서 다양한 핵산 서열을 생성할 수 있다. 표적 식별자는 DNA 크기 선택을 통해 부산물 핵산 서열로부터 분리될 수 있다. 구체적으로, 정확히 M개의 층 성분을 갖는 정확히 하나의 핵산 서열 생성물이 있을 수 있다. 층 구성요소가 파티션 구성요소에 비해 충분히 크게 설계되면, 전역 크기 선택 영역을 정의함으로써, 식별자(그리고 비표적 부산물 중 아무것도 없음)가 식별자 내 구성요소의 특정 파티셔닝에 무관하게 선택될 수 있음으로써, 다수의 반응으로부터의 다수의 파티셔닝된 식별자가 동일한 크기 선택 단계에서 분리될 수 있다. 핵산 크기 선택에 대해서는 화학적 방법 섹션 E를 참조할 수 있다.
도 14a 및 도 14b는 다수의 가능한 구성요소로부터의 구성요소의 임의의 스트링으로 구성된 식별자를 구성하기 위한 "제한되지 않은 스트링(unconstrained string)"(또는 USS) 방식으로 지칭되는 예시적인 방법을 개략적으로 나타낸다. 도 14a는 제한되지 않은 스트링 방식을 사용하여 구성될 수 있는 3-구성요소(또는 4-스캐폴드) 길이 식별자의 조합 공간의 예를 보여준다. 제한되지 않은 스트링 방식은 하나 이상의 층에서 각각 가져온 하나 이상의 개별 구성요소를 사용하여 길이가 K 구성요소인 개별 식별자를 구성하며, 여기서 각 개별 구성요소는 식별자의 K 구성요소 위치 중 하나에 나타날 수 있다(반복 허용). 예를 들어, 각각 하나의 구성요소를 포함하는 두 개의 층에 대해, 8개의 가능한 3-구성요소 길이 식별자가 있다. 일반적으로, 각각 하나씩의 구성요소를 가진 M개의 층에는 길이 K 구성요소의 MK개의 가능한 식별자가 있다. 도 14b는 주형 지정 결찰을 사용하여 제한되지 않은 스트링 방식의 구현 예를 보여준다(화학적 방법 섹션 B 참조). 이 방법에서는 K+1 단일 가닥 및 정렬된 스캐폴드 DNA 구성요소(2개의 가장자리 스캐폴드 및 K-1 내부 스캐폴드 포함)가 반응 혼합물에 존재한다. 개별 식별자는 인접한 스캐폴드의 모든 쌍 사이에 연결된 단일 구성요소를 포함한다. 예를 들어, 스캐폴드 A와 B 사이에 결찰된 구성요소, 스캐폴드 C와 D 사이에 결찰된 구성요소 등 모든 K개의 인접한 스캐폴드 접합부가 구성요소에 의해 점유될 때까지 계속된다. 반응에서는, 상이한 층으로부터의 선택된 구성요소가 선택된 스테이플 쌍과 함께 스캐폴드에 도입되어 적절한 스캐폴드에 조립되도록 지시한다. 예를 들어, 스테이플 a*L* (5' to 3') 및 A*b* (5' to 3') 쌍은 5' 말단 영역 'a' 및 3' 말단 영역 'b'이 있는 층 1 구성요소에게 L과 A 스캐폴드 사이에 결찰할 것을 지정한다. 일반적으로 M개의 층과 K+1개의 스캐폴드의 경우, 2*M*K개의 선택 가능 스테이플이 사용되어 길이 K의 임의의 USS 식별자를 구성할 수 있다. 구성요소를 5' 말단 상의 스캐폴드에 연결하는 스테이플이 동일한 구성요소를 3' 말단 상의 스캐폴드에 연결하는 스테이플로부터 분리되어 있기 때문에, 핵산 부산물이 동일한 가장자리 스캐폴드와의 반응에서 표적 식별자로서 형성될 수 있지만, K개 미만의 구성요소(K+1개 미만의 스캐폴드) 또는 K개 초과의 구성요소(K+1개 초과의 스캐폴드)가 포함되어 있다. 표적 식별자는 정확히 K개의 구성요소(K+1개의 스캐폴드)로 형성될 수 있으므로 모든 구성요소의 길이가 동일하도록 설계되고 모든 스캐폴드의 길이가 동일하도록 설계된 경우 DNA 크기 선택과 같은 기술을 통해 선택할 수 있다. 핵산 크기 선택에 대해서는 화학적 방법 섹션 E를 참조할 수 있다. 층당 하나의 구성요소가 있을 수 있는 제한되지 않는 스트링 방식의 특정 구현예에서, 해당 구성요소는 (1) 식별 바코드, (2) 스캐폴드로의 5' 말단의 스테이플-매개 결찰을 위한 혼성화 영역, 및 (3) 스캐폴드로의 3' 말단의 스테이플 매개 결찰에 대한 혼성화 영역에 대한 3가지 모든 역할을 수행하는 단일 개별 핵산 서열만을 포함한다.
도 14b에 도시된 내부 스캐폴드는 구성요소로의 스캐폴드의 스테이플 매개 5' 결찰 및 또 다른(반드시 개별적인 것은 아닌) 구성요소로의 스캐폴드의 스테이플 매개 3' 결찰 모두에 대해 동일한 혼성화 서열을 사용하도록 설계될 수 있다. 따라서 도 14b에 도시된 1-스캐폴드, 2-스테이플 적층 혼성화 이벤트는 스캐폴드와 각 스테이플 사이에서 발생하여 5' 구성요소 결찰 및 3' 구성요소 결찰을 모두 가능하게 하는 통계적 앞뒤 혼성화 이벤트를 나타낸다. 제한되지 않는 스트링 방식의 다른 구현예에서, 스캐폴드는 2개의 연결된 혼성화 영역, 즉 스테이플 매개 3' 결찰을 위한 개별 3' 혼성화 영역과 스테이플 매개 5' 결찰을 위한 개별 5' 혼성화 영역으로 설계될 수 있다.
도 15a 및 15b는 모 식별자로부터 핵산 서열(또는 구성요소)을 삭제함으로써 식별자를 구성하기 위한 "구성요소 삭제 방식"으로 지칭되는 예시적인 방법을 개략적으로 예시한다. 도 15a는 구성요소 삭제 방식을 사용하여 구성될 수 있는 가능한 식별자의 조합 공간의 예를 보여준다. 이 예에서 부모 식별자는 여러 구성요소로 구성될 수 있다. 부모 식별자는 약 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, 50개 이상의 구성요소를 포함할 수 있다. 개별 식별자는 N개의 가능한 구성요소에서 임의의 수의 구성요소를 선택적으로 삭제하여, 크기 2 N 의 "전체" 조합 공간을 생성하거나, N개의 가능한 구성요소에서 고정된 개수인 K개의 구성요소를 삭제하여 크기 NchooseK "NchooseK"를 생성함으로써 구성될 수 있다. 3개의 구성요소가 있는 모 식별자가 있는 예에서, 전체 조합 공간은 8이 될 수 있고 3choose2 조합 공간은 3이 될 수 있다.
도 15b는 이중 가닥 표적화 절단 및 복구(DSTCR)를 사용하는 구성요소 삭제 방식의 예시적인 구현을 보여준다. 모 서열은 뉴클레아제 특이적 표적 부위(길이가 4개 이하의 염기일 수 있음) 옆에 있는 구성요소를 포함하는 단일 가닥 DNA 기질일 수 있으며, 여기서 모 서열은 표적 부위에 대응하는 하나 이상의 이중 가닥 특이적 뉴클레아제와 함께 배양될 수 있다. 개별 구성요소는 모체의 구성요소 DNA(및 인접 뉴클레아제 부위)에 결합하는 상보적인 단일 가닥 DNA(또는 절단 주형)를 사용하여 삭제의 표적이 될 수 있으며, 따라서 뉴클레아제에 의해 양쪽 말단 모두에서 절단될 수 있는 모체에 안정한 이중 가닥 서열을 형성한다. 또 다른 단일 가닥 DNA(또는 복구 주형)는 부모의 분리된 말단(구성요소 서열이 그 사이에 있었던 것)에 혼성화하고 결찰을 위해 직접적으로 또는 대체 서열에 의해 연결되도록 함으로써 부모에는 더 이상 활성 뉴클레아제 표적 사이트가 포함되어 있지 않는다. 우리는 이 방법을 "이중 가닥 표적 절단"(DSTC)이라고 한다. 크기 선택은 특정 개수의 삭제된 구성요소가 있는 식별자를 선택하는 데 사용될 수 있다. 핵산 크기 선택에 대해서는 화학적 방법 섹션 E를 참조할 수 있다.
대안으로 또는 추가로, 모 식별자는 두 개의 구성요소가 동일한 서열의 측면에 위치하지 않도록 스페이서 서열에 의해 분리된 구성요소를 포함하는 이중 또는 단일 가닥 핵산 기질일 수 있다. 모 식별자는 Cas9 뉴클레아제와 함께 배양될 수 있다. 개별 구성요소는 구성요소의 가장자리에 결합하고 측면 부위에서 Cas9 매개 절단을 가능하게 하는 가이드 리보핵산(절단 주형)을 사용하여 삭제 대상이 될 수 있다. 단일 가닥 핵산(복구 주형)은 모 식별자의 분리된 말단(가령, 구성요소 서열이 있었던 말단 사이)에 혼성화하여 결찰을 위해 이들을 하나로 모을 수 있다. 결찰은 직접적으로 수행되거나 대체 서열로 말단을 연결하여 모체의 결찰된 서열이 더 이상 Cas9의 표적이 될 수 있는 스페이서 서열을 포함하지 않도록 할 수 있다. 우리는 이 방법을 "서열 특이적 표적 절단 및 복구" 또는 "SSTCR"이라고 부른다.
식별자는 DSTCR의 파생물을 사용하여 상위 식별자에 구성요소를 삽입하여 구성할 수 있다. 모 식별자는 뉴클레아제 특이적 표적 부위(길이가 4개 이하의 염기일 수 있음)를 포함하는 단일 가닥 핵산 기질일 수 있으며, 각각은 별개의 핵산 서열 내에 내장되어 있다. 모 식별자는 표적 부위에 해당하는 하나 이상의 이중 가닥 특이적 뉴클레아제와 함께 배양될 수 있다. 모 식별자의 개별 표적 부위는 표적 부위와 모 식별자의 별개의 주변 핵산 서열에 결합하여 이중 가닥 부위를 형성하는 상보적인 단일 가닥 핵산(절단 주형)을 사용하여 성분 삽입을 위해 표적화될 수 있다. 이중 가닥 부위는 뉴클레아제에 의해 절단될 수 있다. 또 다른 단일 가닥 핵산(복구 주형)은 모 식별자의 분리된 말단에 혼성화하여 결찰을 위해 이들을 하나로 모을 수 있으며, 구성요소 서열에 의해 연결되어 모의 결찰된 서열은 더 이상 활성 뉴클레아제 표적 부위를 포함하지 않는다. 대안으로 SSTCR의 파생물을 사용하여 구성요소를 상위 식별자에 삽입할 수 있다. 모 식별자는 이중 가닥 또는 단일 가닥 핵산일 수 있으며 모 식별자는 Cas9 뉴클레아제와 함께 배양될 수 있다. 모 식별자 상의 개별 부위는 가이드 RNA(절단 주형)를 사용하여 절단의 표적이 될 수 있다. 단일 가닥 핵산(복구 주형)은 모 식별자의 분리된 말단에 혼성화하여 결찰을 위해 함께 모을 수 있으며 구성요소 서열에 의해 연결되어 모 식별자의 결찰된 서열은 더 이상 활성 뉴클레아제 표적 부위를 포함하지 않는다. 크기 선택을 사용하여 특정 수의 구성요소 삽입이 있는 식별자를 선택할 수 있다.
도 16은 재조합효소 인식 부위를 갖는 모 식별자를 개략적으로 예시한다. 다양한 패턴의 인식 부위는 다양한 재조합효소에 의해 인식될 수 있다. 특정 세트의 재조합효소에 대한 모든 인식 부위는 재조합효소가 적용되면 그 사이의 핵산이 제거될 수 있도록 배열된다. 도 16에 도시된 핵산 가닥은 적용되는 재조합효소의 서브세트에 따라 25=32개의 상이한 서열을 채택할 수 있다. 일부 실시예에서, 도 16에 도시된 바와 같이, DNA의 세그먼트를 잘라내고, 이동하고, 반전시키고, 전치시키는 재조합효소를 사용하여 독특한 분자가 생성되어 다른 핵산 분자를 생성할 수 있다. 일반적으로 N개의 재조합효소를 사용하면 부모로부터 2N개의 가능한 식별자가 만들어질 수 있다. 일부 실시예에서, 하나의 재조합효소의 적용이 하류 재조합효소가 적용될 때 발생하는 재조합 사건의 유형에 영향을 미치도록, 상이한 재조합효소로부터의 인식 부위의 다수의 직교 쌍이 중첩 방식으로 모 식별자 상에 배열될 수 있다(본 명세서에 참조로서 포함되는 Roquet et al., Synthetic recombinase-based state machines in living cells, Science 353 (6297): aad8559 (2016)를 참조할 수 있다). 이러한 시스템은 N개의 재조합효소의 모든 정렬, N!에 대해 서로 다른 식별자를 구성할 수 있다. 재조합효소는 Flp 및 Cre와 같은 티로신 계열이거나 PhiC31, BxbI, TP901 또는 A118과 같은 대규모 세린 재조합효소 계열일 수 있다. 큰 세린 재조합효소 계열의 재조합효소를 사용하는 것은 비가역적 재조합을 촉진하고 따라서 다른 재조합효소보다 더 효율적으로 식별자를 생성할 수 있기 때문에 유리할 수 있다.
일부 경우에, 다수의 재조합효소를 별개의 순서로 적용함으로써 단일 핵산 서열이 다수의 별개의 핵산 서열이 되도록 프로그래밍될 수 있다. 대략 ~e1M!개의 개별 핵산 서열은 재조합효소의 수 M이 큰 세린 재조합효소 계열에 대해 7 이하일 수 있는 경우, M 재조합효소를 다른 서브세트 및 이의 순서로 적용함으로써 생성될 수 있다. 재조합효소의 수 M이 7보다 클 수 있는 경우, 생성될 수 있는 서열의 수는 대략 3.9M에 가까우며, 예를 들어, 본 명세서에 참조로서 그 전체가 포함되는 Roquet et al., Synthetic recombinase-based state machines in living cells, Science 353 (6297): aad8559 (2016)을 참조할 수 있다. 하나의 공통 서열에서 다른 DNA 서열을 생산하기 위한 추가 방법에는 CRISPR-Cas, TALENS 및 징크 핑거 뉴클레아제(Zinc Finger Nucleases)와 같은 표적 핵산 편집 효소가 포함될 수 있다. 재조합효소, 표적화된 편집 효소 등에 의해 생성된 서열은 임의의 이전 방법, 예를 들어 본 출원의 임의의 도면 및 개시내용에 개시된 방법과 함께 사용될 수 있다.
인코딩될 정보의 비트스트림이 임의의 단일 핵산 분자에 의해 인코딩될 수 있는 것보다 큰 경우, 정보는 분할되어 핵산 서열 바코드로 인덱싱될 수 있다. 더욱이, N개의 핵산 분자의 세트로부터 크기 k개의 핵산 분자의 임의의 서브세트가 선택되어 log2(Nchoosek) 비트의 정보를 생성할 수 있다. 바코드는 더 긴 비트 스트림을 인코딩하기 위해 크기 k의 서브세트 내의 핵산 분자에 조립될 수 있다. 예를 들어, M개의 바코드가 M*log2(Nchoosek) 비트의 정보를 생성하는 데 사용될 수 있다. 세트에 있는 이용 가능한 핵산 분자의 수 N과 이용 가능한 바코드의 수 M이 주어지면, 정보를 인코딩하기 위해 풀에서 분자의 총 수를 최소화하도록 크기 k = k 0 의 서브세트가 선택될 수 있다. 디지털 정보를 인코딩하기 위한 방법은 비트 스트림을 분할하고 개별 요소를 인코딩하기 위한 단계를 포함할 수 있다. 예를 들어, 6비트를 포함하는 비트 스트림은 각 구성요소가 2비트로 구성되는 3개의 구성요소로 분할될 수 있다. 각각의 2비트 구성요소는 바코드로 정보 카세트를 형성할 수 있으며 함께 그룹화되거나 풀링되어 정보 카세트의 하이퍼 풀을 형성할 수 있다.
바코드는 인코딩할 디지털 정보의 양이 하나의 풀에만 들어갈 수 있는 양을 초과하는 경우 정보 색인화를 용이하게 할 수 있다. 더 긴 비트 스트링 및/또는 다중 바이트를 포함하는 정보는 도 3에 개시된 접근 방식을 층화함으로써, 가령, 핵산 인덱스를 사용해 인코딩된 고유 핵산 서열을 갖는 태그를 포함시킴으로써, 인코딩될 수 있다. 정보 카세트 또는 식별자 라이브러리는 주어진 서열이 해당하는 비트 스트림의 구성요소 또는 구성요소들을 나타내는 바코드 또는 태그 외에 위치 및 비트 값 정보를 제공하는 고유한 핵산 서열을 포함하는 질소 함유 염기 또는 핵산 서열을 포함할 수 있다. 정보 카세트는 하나 이상의 고유한 핵산 서열뿐만 아니라 바코드 또는 태그를 포함할 수 있다. 정보 카세트 상의 바코드 또는 태그는 정보 카세트 및 정보 카세트에 포함된 모든 시퀀스에 대한 참조를 제공할 수 있다. 예를 들어, 정보 카세트 상의 태그 또는 바코드는 고유 시퀀스가 비트 스트림의 어느 부분 또는 비트 스트림의 비트 구성요소에 대한 정보(예를 들어, 비트 값 및 비트 위치 정보)를 인코딩하는지 나타낼 수 있다.
바코드를 사용하면, 가능한 식별자의 조합 공간 크기보다 더 많은 비트 단위의 정보를 풀에 인코딩할 수 있다. 예를 들어, 10비트 시퀀스는 두 개의 바이트 세트로 분리될 수 있으며, 각 바이트는 5비트로 구성된다. 각 바이트는 5개의 가능한 개별 식별자의 세트에 매핑될 수 있다. 초기에, 각 바이트에 대해 생성된 식별자가 동일할 수 있지만 별도의 풀에 보관되거나 정보를 읽는 사람이 특정 핵산 서열이 어느 바이트에 속하는지 알 수 없을 수도 있다. 그러나 각 식별자는 인코딩된 정보가 적용되는 바이트에 대응하는 라벨로 바코드가 지정되거나 태그가 지정될 수 있고(가령, 바코드 1은 처음 5 비트를 제공하기 위해 핵산 풀의 서열에 부착될 수 있고 바코드 2는 두 번째 5 비트를 제공하기 위해 핵산 풀 내 서열에 부착될 수 있음), 그런 다음 2 바이크에 대응하는 식별자가 하나의 풀(가령, "하이퍼-풀" 또는 하나 이상의 식별자 라이브러리)로 조합될 수 있다. 하나 이상의 조합 식별자 라이브러리의 각 식별자 라이브러리는 주어진 식별자를 주어진 식별자 라이브러리에 속하는 것으로 식별하는 개별 바코드를 포함할 수 있다. 식별자 라이브러리 내 각 식별자에 바코드를 추가하기 위한 방법은 PCR, Gibson, 결찰 또는 주어진 바코드(가령, 바코드 1)가 주어진 핵산 샘플 풀에 부착될 수 있게 하는(가령, 바코드 1을 핵산 샘플 풀 1에 부착하고 바코드 2를 핵산 샘플 풀 2에 부착함) 그 밖의 다른 임의의 접근 방식을 사용하는 것을 포함할 수 있다. 하이퍼-풀로부터의 샘플은 시퀀싱 방법으로 판독될 수 있으며, 바코드나 태그를 사용하여 시퀀싱 정보를 파싱할 수 있다. M개의 바코드 세트와 N개의 가능한 식별자(조합 공간)가 있는 식별자 라이브러리와 바코드를 사용하는 방법은 M과 N의 곱과 동일한 길이의 비트 스트림을 인코딩할 수 있다.
일부 실시예에서, 식별자 라이브러리는 웰(well)의 어레이에 저장될 수 있다. 웰의 어레이는 n개의 열과 q개의 행을 갖는 것으로 정의될 수 있으며, 각 웰은 하이퍼-풀에 2개 이상의 식별자 라이브러리를 포함할 수 있다. 각각의 웰에 인코딩된 정보는 각각의 웰에 포함된 정보보다 n x q 더 큰 크기의 하나의 큰 연속 정보를 구성할 수 있다. 웰의 어레이의 웰 중 하나 이상으로부터 분취량을 채취할 수 있으며, 시퀀싱, 혼성화 또는 PCR을 사용하여 인코딩이 판독될 수 있다.
핵산 샘플 풀, 하이퍼-풀, 식별자 라이브러리, 식별자 라이브러리의 그룹, 또는 핵산 샘플 풀이나 하이퍼-풀을 포함하는 웰은 정보 비트에 대응하는 고유한 핵산 분자(가령, 식별자) 및 복수의 보충 핵산 서열을 포함할 수 있다. 보충 핵산 서열은 인코딩된 데이터에 대응하지 않을 수 있다(예를 들어, 비트 값에 대응하지 않음). 보충 핵산 샘플은 샘플 풀에 저장된 정보를 마스킹하거나 인코딩할 수 있다. 보충 핵산 서열은 생물학적 공급원으로부터 유래되거나 합성적으로 생산될 수 있다. 생물학적 공급원으로부터 유래된 보충 핵산 서열은 무작위로 단편화된 핵산 서열 또는 합리적으로 단편화된 서열을 포함할 수 있다. 특히 합성으로 인코딩된 정보(예를 들어, 식별자의 조합 공간)가 자연 유전 정보(예를 들어, 단편화된 게놈)와 닮도록 만들어진 경우, 생물학적으로 유래된 보충 핵산은 합성으로 인코딩된 정보와 함께 천연 유전 정보를 제공함으로써 시료 풀 내의 데이터 포함 핵산을 숨기거나 모호하게 할 수 있다. 하나의 예에서, 식별자는 생물학적 공급원에서 유래되고, 보충 핵산은 생물학적 공급원에서 유래된다. 샘플 풀은 여러 세트의 식별자와 보충 핵산 서열을 포함할 수 있다. 각 식별자 세트와 보충 핵산 서열은 서로 다른 유기체에서 유래될 수 있다. 하나의 예에서, 식별자는 하나 이상의 유기체로부터 유래되고, 보충 핵산 서열은 단일의 상이한 유기체로부터 유래된다. 보충 핵산 서열은 또한 하나 이상의 유기체로부터 유래될 수 있고, 식별자는 보충 핵산이 유래되는 유기체와는 다른 단일 유기체로부터 유래될 수 있다. 식별자와 보충 핵산 서열 둘 다는 다수의 서로 다른 유기체로부터 유래될 수 있다. 식별자를 보충 핵산 서열과 구별하기 위해 키가 사용될 수 있다.
보충 핵산 서열은 기록된 정보에 대한 메타데이터를 저장할 수 있다. 메타데이터는 원본 정보의 출처 및/또는 원본 정보의 의도된 수신자를 결정 및/또는 승인하기 위한 추가 정보를 포함할 수 있다. 메타데이터는 원본 정보의 형식, 원본 정보를 인코딩하고 기록하는 데 사용된 도구 및 방법, 원본 정보를 식별자에 기록한 날짜 및 시간에 대한 추가 정보를 포함할 수 있다. 메타데이터는 원본 정보의 형식, 원본 정보를 인코딩하고 기록하는 데 사용된 도구 및 방법, 원본 정보를 핵산 서열에 기록한 날짜 및 시간에 대한 추가 정보를 포함할 수 있다. 메타데이터는 정보를 핵산 서열에 기록한 후 원래 정보에 적용된 수정에 대한 추가 정보를 포함할 수 있다. 메타데이터는 원본 정보에 대한 주석 또는 외부 정보에 대한 하나 이상의 참조를 포함할 수 있다. 대안으로 또는 추가로, 메타데이터는 식별자에 부착된 하나 이상의 바코드 또는 태그에 저장될 수 있다.
식별자 풀의 식별자는 길이가 서로 동일하거나 유사하거나 다를 수 있다. 보충 핵산 서열은 식별자의 길이보다 작거나, 실질적으로 동일하거나, 더 큰 길이를 가질 수 있다. 보충 핵산 서열은 식별자의 평균 길이의 1개 염기 이내, 2개 염기 이내, 3개 염기 이내, 4개 염기 이내, 5개 염기 이내, 6개 염기 이내, 7개 염기 이내, 8개 염기 이내, 9개 염기 이내, 10개 염기 이내, 또는 그 이상의 염기 이내인 평균 길이를 가질 수 있다. 하나의 예에서, 보충 핵산 서열은 식별자와 길이가 동일하거나 실질적으로 동일합니다. 보충 핵산 서열의 농도는 식별자 라이브러리에 있는 식별자의 농도보다 낮거나, 실질적으로 동일하거나, 높을 수 있다. 보충 핵산의 농도는 식별자의 농도보다 약 1%, 10 %, 20 %, 40 %, 60 %, 80 %, 100, %, 125 %, 150 %, 175 %, 200 %, 1000 %, 1x104 %, 1 x105 %, 1 x106 %, 1 x107 %, 1 x108 % 이하보다 낮거나 동일할 수 있다. 보충 핵산의 농도는 식별자의 농도보다 약 1 %, 10 %, 20 %, 40 %, 60 %, 80 %, 100, %, 125 %, 150 %, 175 %, 200 %, 1000%, 1 x104 %, 1 x105%, 1 x106%, 1 x107%, 1 x108% 이상보다 크거나 동일할 수 있다. 농도가 높을수록 데이터를 난독화하거나 숨기는 데 도움이 될 수 있다. 하나의 예에서, 보충 핵산 서열의 농도는 식별자 풀에 있는 식별자의 농도보다 실질적으로 더 높다(예를 들어, 1 x108 % 더 높음).
핵산 서열에 저장된 데이터를 복사하고 액세스하기 위한 방법
또 다른 양태에서, 본 개시내용은 핵산 서열(들)에 인코딩된 정보를 복사하기 위한 방법을 제공한다. 핵산 서열(들)에 인코딩된 정보를 복사하기 위한 방법은 (a) 식별자 라이브러리를 제공하는 단계 및 (b) 식별자 라이브러리의 하나 이상의 복사본을 구성하는 단계를 포함할 수 있다. 식별자 라이브러리는 더 큰 조합 공간으로부터의 복수의 식별자의 서브세트를 포함할 수 있다. 복수의 식별자의 각각의 개별 식별자는 심볼의 스트링의 개별 심볼에 대응할 수 있다. 식별자는 하나 이상의 구성요소를 포함할 수 있다. 구성요소는 핵산 서열을 포함할 수 있다.
또 다른 양태에서, 본 개시내용은 핵산 서열에 인코딩된 정보를 액세스하기 위한 방법을 제공한다. 핵산 서열에 인코딩된 정보를 액세스하기 위한 방법은 (a) 식별자 라이브러리를 제공하는 단계, 및 (b) 식별자 라이브러리로부터 식별자 라이브러리에 존재하는 식별자의 일부 또는 서브세트를 추출하는 단계를 포함할 수 있다. 식별자 라이브러리는 더 큰 조합 공간으로부터의 복수의 식별자의 서브세트를 포함할 수 있다. 복수의 식별자의 각각의 개별 식별자는 심볼의 스트링의 개별 심볼에 대응할 수 있다. 식별자는 하나 이상의 구성요소를 포함할 수 있다. 구성요소는 핵산 서열을 포함할 수 있다.
정보는 본 명세서의 다른 곳에 설명된 대로 하나 이상의 식별자 라이브러리에 기록될 수 있다. 식별자는 본 명세서의 다른 곳에 설명된 방법을 사용하여 구성될 수 있다. 저장된 데이터는 식별자 라이브러리 또는 하나 이상의 식별자 라이브러리에 개별 식별자의 복제본을 생성하여 복제할 수 있다. 식별자의 일부가 복제될 수도 있고 전체 라이브러리가 복제될 수도 있다. 복제는 식별자 라이브러리의 식별자를 증폭하여 수행할 수 있다. 하나 이상의 식별자 라이브러리가 결합될 때, 단일 식별자 라이브러리 또는 다수의 식별자 라이브러리가 복제될 수 있다. 식별자 라이브러리가 보충 핵산 서열을 포함하는 경우, 보충 핵산 서열은 복제될 수도 있고 복제되지 않을 수도 있다.
식별자 라이브러리의 식별자는 하나 이상의 공통 프라이머 결합 부위를 포함하도록 구성될 수 있다. 하나 이상의 결합 부위는 각 식별자의 가장자리에 위치하거나 각 식별자 전체에 걸쳐 엮일 수 있다. 프라이머 결합 부위는 식별자 라이브러리 특이적 프라이머 쌍 또는 범용 프라이머 쌍이 식별자에 결합하여 증폭되도록 할 수 있다. 식별자 라이브러리 내의 모든 식별자 또는 하나 이상의 식별자 라이브러리에 있는 모든 식별자는 여러 PCR 주기에 의해 여러 번 복제될 수 있다. 전통적인 PCR이 사용되어 식별자를 복제할 수 있으며 식별자는 각 PCR 주기마다 기하급수적으로 복제될 수 있다. 식별자의 복제 수는 PCR 주기마다 기하급수적으로 증가할 수 있다. 선형 PCR은 식별자를 복제하는 데 사용될 수 있으며 식별자는 각 PCR 주기마다 선형적으로 복제될 수 있다. 식별자 복제의 수는 각 PCR 주기에 따라 선형적으로 증가할 수 있다. 식별자는 PCR 증폭 전에 원형 벡터에 결찰될 수 있다. 원 벡터는 식별자 삽입 부위의 각 말단에 바코드를 포함할 수 있다. 식별자 증폭을 위한 PCR 프라이머는 바코드 가장자리가 증폭 산물의 식별자와 함께 포함되도록 벡터에 프라이밍되도록 설계될 수 있다. 증폭 중에, 식별자 간의 재조합으로 인해 각 가장자리에 상관되지 않은 바코드를 포함하는 식별자가 복제될 수 있다. 비상관 바코드는 식별자 판독 시 검출될 수 있다. 비상관 바코드를 포함하는 식별자는 위양성으로 간주될 수 있으며 정보 디코딩 프로세스 중에 무시될 수 있다. 화학적 방법 섹션 D를 참조할 수 있다.
정보는 각 정보 비트를 고유한 핵산 분자에 할당함으로써 인코딩될 수 있다. 예를 들어, 각각 2개의 핵산 서열을 포함하는 3개의 샘플 세트(X, Y 및 Z)는 8개의 고유한 핵산 분자로 조립되어 8비트의 데이터를 인코딩할 수 있다.
N1 = X1Y1Z1
N2 = X1Y1Z2
N3 = X1Y2Z1
N4 = X1Y2Z2
N5 = X2Y1Z1
N6 = X2Y1Z2
N7 = X2Y2Z1
N8 = X2Y2Z2
그런 다음 스트링의 각 비트가 대응하는 핵산 분자에 할당될 수 있다(예를 들어, N1은 첫 번째 비트를 특정할 수 있고, N2는 두 번째 비트를 특정할 수 있으며, N3은 세 번째 비트를 특정할 수 있는 등). 전체 비트 스트링은 '1'의 비트 값에 해당하는 핵산 분자가 조합 또는 풀에 포함되는 핵산 분자의 조합에 할당될 수 있다. 예를 들어, UTF-8 코딩에서 문자 'K'는 4개의 핵산 분자(가령, 앞선 예시에서, X1Y1Z2, X2Y1Z1, X2Y2Z1, 및 X2Y2Z2)의 존재로 인코딩될 수 있는 8비트 스트링 코드 01001011로 표시될 수 있다.
정보는 시퀀싱이나 혼성화 분석을 통해 액세스될 수 있다. 예를 들어, 프라이머 또는 프로브는 핵산 서열의 공통 영역 또는 바코드 영역에 결합하도록 설계될 수 있다. 이는 핵산 분자의 임의 영역의 증폭을 가능하게 할 수 있다. 증폭 산물은 증폭 산물의 서열을 분석하거나 혼성화 분석을 통해 판독할 수 있다. 문자 'K'를 인코딩하는 상기의 예에서, 데이터의 전반부가 관심 대상인 경우 X1 핵산 서열의 바코드 영역에 특이적인 프라이머와 Z 세트의 공통 영역에 결합하는 프라이머가 사용되어 핵산 분자를 증폭시킬 수 있다. 이는 0100을 인코딩할 수 있는 시퀀스 Y1Z2를 반환할 수 있다. Y1 핵산 서열의 바코드 영역에 결합하는 프라이머와 Z 세트의 공통 서열에 결합하는 프라이머를 사용하여 핵산 분자를 추가로 증폭함으로써 해당 데이터의 서브스트링이 액세스될 수 있다. 이는 서브스트링 01을 인코딩하는 Z2 핵산 서열을 반환할 수 있다. 대안으로, 시퀀싱 없이 특정 핵산 서열의 존재 여부를 체크함으로써 데이터가 액세스될 수 있다. 예를 들어, Y2 바코드에 특이적인 프라이머를 사용한 증폭은 Y2 바코드에 대한 증폭 산물을 생성할 수 있지만 Y1 바코드에 대한 증폭 산물은 생성하지 않을 수 있다. Y2 증폭 산물의 존재는 비트 값 '1'을 시그널링할 수 있다. 대안으로, Y2 증폭 산물이 없다는 것은 비트 값 '0'을 시그널링할 수 있다.
PCR 기반 방법이 사용되어 식별자 또는 핵산 샘플 풀의 데이터를 액세스하고 복제할 수 있다. 풀 또는 하이퍼-풀의 식별자 옆에 있는 공통 프라이머 결합 사이트를 사용하면, 정보를 포함하는 핵산이 쉽게 복제될 수 있다. 대안으로, 등온 증폭과 같은 다른 핵산 증폭 접근 방식을 사용하여 샘플 풀 또는 하이퍼-풀(가령, 식별자 라이브러리)에서 데이터를 쉽게 복제할 수도 있다. 핵산 증폭에 대해서는 화학적 방법 섹션 D를 참조할 수 있다. 샘플이 하이퍼-풀을 포함하는 경우 정보의 특정 서브세트(가령, 특정 바코드와 관련된 모든 핵산)은 정방향에서 식별자의 한쪽 가장자리에 특정 바코드와 결합하는 프라이머를, 역방향에서 식별자의 반대쪽 가장자리에 있는 공통 서열과 결합하는 또 다른 프라이머와 함께, 사용함으로써 액세스되고 검색될 수 있다. 다양한 판독 방법이 사용되어 인코딩된 핵산에서 정보를 가져올 수 있다, 예를 들어 마이크로어레이(또는 임의의 유형의 형광 혼성화), 디지털 PCR, 정량적 PCR(qPCR) 및 다양한 시퀀싱 플랫폼이 추가로 사용되어 인코딩된 서열을 판독하고 확장에 의해 디지털로 인코딩된 데이터를 읽을 수 있다.
핵산 분자(가령, 식별자)에 저장된 정보를 액세스하는 것이 식별자 라이브러리 또는 식별자 풀에서 비표적 식별자의 일부를 선택적으로 제거하거나, 예를 들어 다수의 식별자 라이브러리의 풀에서 식별자 라이브러리의 모든 식별자를 선택적으로 제거함으로써 수행될 수 있다. 본 명세서에서 사용될 때, "액세스" 및 "쿼리"는 상호교환적으로 사용될 수 있다. 데이터 액세스는 식별자 라이브러리나 식별자 풀에서 대상 식별자를 선택적으로 캡처하여 수행할 수도 있다. 표적화된 식별자는 더 큰 정보 내의 관심 데이터에 대응할 수 있다. 식별자의 풀은 보충 핵산 분자를 포함할 수 있다. 보충 핵산 분자는 인코딩된 정보에 대한 메타데이터를 포함할 수 있거나 정보에 대응하는 식별자를 인코딩하거나 마스킹하는 데 사용될 수 있다. 보충 핵산 분자는 표적 식별자를 액세스하는 동안 추출될 수도 있고 추출되지 않을 수도 있다. 도 17a - 17c는 더 많은 수의 식별자로부터 다수의 특정 식별자를 액세스함으로써 핵산 서열에 저장된 정보의 일부에 접근하는 예시적인 방법의 개요를 개략적으로 예시한다. 도 17a는 특정된 구성요소를 포함하는 식별자를 액세스하기 위해 중합효소 연쇄 반응, 친화성 태깅된 프로브, 및 분해 표적화 프로브를 사용하는 예시적인 방법을 보여준다. PCR 기반 액세스의 경우, 식별자 풀(가령, 식별자 라이브러리)은 각 말단에 공통 서열, 각 말단에 가변 서열, 또는 각 말단에 공통 서열이나 가변 서열 중 하나를 갖는 식별자를 포함할 수 있다. 공통 서열 또는 가변 서열은 프라이머 결합 부위일 수 있다. 하나 이상의 프라이머가 식별자 가장자리의 공통 또는 가변 영역에 결합할 수 있다. 프라이머가 결합된 식별자는 PCR에 의해 증폭될 수 있다. 증폭된 식별자의 수는 증폭되지 않은 식별자보다 훨씬 더 많을 수 있다. 판독하는 동안 증폭된 식별자가 식별될 수 있다. 식별자 라이브러리로부터의 식별자는 해당 라이브러리와 구별되는 한쪽 또는 양쪽 말단 상의 서열을 포함할 수 있으므로, 단일 라이브러리가 둘 이상의 식별자 라이브러리 그룹이나 풀에서 선택적으로 액세스될 수 있다.
친화성-태그 기반 액세스를 위해, 핵산 포착으로 지칭될 수 있는 프로세스의 경우, 풀의 식별자를 구성하는 구성요소는 하나 이상의 프로브와 상보성을 공유할 수 있다. 하나 이상의 프로브는 액세스될 식별자에 결합하거나 혼성화할 수 있다. 프로브는 친화성 태그를 포함할 수 있다. 친화성 태그는 고체-상 기판, 가령, 막, 웰, 컬럼 또는 비드 상에 포획될 수 있다. 고체상 기질로서 비드를 사용하는 경우, 친화성 태그는 비드에 결합하여 비드, 적어도 하나의 프로브 및 적어도 하나의 식별자를 포함하는 복합체를 생성할 수 있다. 비드는 자석일 수 있으며 자석과 함께 액세스할 식별자를 수집하고 격리할 수 있다. 판독하기 전에 변성 조건 하에서 식별자가 비드에서 제거될 수 있다. 대안으로 또는 추가로, 비드는 비표적 식별자를 수집하고 이를 별도의 용기로 세척하여 판독할 수 있는 풀의 나머지 부분으로부터 분리할 수 있다. 컬럼을 사용할 때 친화성 태그가 컬럼에 결합될 수 있다. 액세스될 식별자는 포착을 위해 컬럼에 결합될 수 있다. 컬럼 경계 식별자는 판독 전에 컬럼으로부터 용출되거나 변성될 수 있다. 대안으로, 비표적 식별자는 선택적으로 컬럼에 표적화될 수 있는 반면 표적 식별자는 컬럼을 통과해 유동할 수 있다. 고체상 기질에 결합된 식별자는 예를 들어 산, 염기, 산화, 환원, 열, 빛, 금속 이온 촉매 작용, 치환 또는 제거 화학과 같은 조건에 노출시킴으로써 또는 효소 절단에 의해 고체상 기질에서 제거될 수 있다. 특정 구현예에서, 액세스될 식별자는 절단 가능한 연결 모이어티를 통해 고체 지지체에 부착될 수 있다. 예를 들어, 고체상 기질은 표적 식별자에 대한 공유 부착을 위한 절단 가능한 링커를 제공하도록 기능화될 수 있다. 링커 모이어티는 길이가 6개 이상의 원자일 수 있다. 일부 구현예에서, 절단 가능한 링커는 TOPS(합성당 2개의 올리고뉴클레오티드) 링커, 아미노 링커, 화학적으로 절단 가능한 링커, 또는 광절단 가능한 링커일 수 있다. 표적화된 식별자를 액세스하는 것은 하나 이상의 프로브를 식별자 풀에 동시에 적용하거나 하나 이상의 프로브를 식별자 풀에 순차적으로 적용하는 것을 포함할 수 있다. 핵산 포획에 대해서는 화학적 방법 섹션 F를 참조할 수 있다.
분해 기반 액세스의 경우, 풀의 식별자를 구성하는 구성요소는 하나 이상의 분해 표적화 프로브와 상보성을 공유할 수 있다. 프로브는 식별자의 개별 구성요소에 결합하거나 혼성화할 수 있다. 프로브는 엔도뉴클레아제와 같은 분해 효소에 대한 표적이 될 수 있다. 예를 들어, 하나 이상의 식별자 라이브러리가 조합될 수 있다. 프로브의 세트는 식별자 라이브러리 중 하나와 혼성화될 수 있다. 프로브의 세트는 RNA를 포함할 수 있고, RNA는 Cas9 효소를 안내할 수 있다. Cas9 효소는 하나 이상의 식별자 라이브러리에 도입될 수 있다. 프로브와 혼성화된 식별자는 Cas9 효소에 의해 분해될 수 있다. 액세스될 식별자는 분해 효소에 의해 분해되지 않을 수 있다. 또 다른 예에서, 식별자는 단일 가닥일 수 있고 식별자 라이브러리는 액세스되지 않는 식별자를 선택적으로 분해하는 S1 뉴클레아제와 같은 단일 가닥 특이적 엔도뉴클레아제(들)와 결합될 수 있다. 액세스될 식별자는 단일 가닥 특이적 엔도뉴클레아제(들)에 의한 분해로부터 보호하기 위해 상보적인 식별자 세트와 혼성화될 수 있다. 액세스할 식별자는 크기 선택 크로마토그래피(가령, 아가로스 겔 전기영동)와 같은 크기 선택을 통해 분해 산물로부터 분리될 수 있다. 대안으로 또는 추가로, 분해되지 않은 식별자는 분해 산물이 증폭되지 않도록 선택적으로 증폭(가령, PCR을 사용하여)될 수 있다. 분해되지 않은 식별자는 분해되지 않은 식별자의 각 말단에 혼성화되므로 분해되거나 절단된 식별자의 각 말단에는 혼성화되지 않는 프라이머를 사용하여 증폭될 수 있다.
도 17b는 다중 구성요소를 포함하는 식별자를 액세스하기 위해 'OR' 또는 'AND' 연산을 수행하기 위해 중합효소 연쇄 반응을 사용하는 예시적인 방법을 보여준다. 예를 들어, 두 개의 정방향 프라이머가 왼쪽 말단 상에 식별자의 개별 세트를 결합하는 경우, 이러한 식별자 세트의 결합에 대한 'OR' 증폭은 오른쪽 말단 상의 모든 식별자를 결합하는 역방향 프라이머를 갖는 다중 PCR 반응에서 두 개의 정방향 프라이머를 함께 사용함으로써 달성될 수 있다. 다른 예에서, 하나의 정방향 프라이머가 왼쪽 말단에 있는 식별자의 세트와 결합하고 하나의 역방향 프라이머가 오른쪽 말단에 있는 식별자 세트와 결합하는 경우, 두 식별자 세트의 교차점에 대한 'AND' 증폭은, PCR 반응에서 정방향 프라이머와 역방향 프라이머를 함께 프라이머 쌍으로 사용함으로써 이뤄질 수 있다.
도 17c는 다중 구성요소를 포함하는 식별자를 액세스하기 위해 'OR' 또는 'AND' 연산을 수행하기 위해 친화성 태그를 사용하는 예시적인 방법을 도시한다. 예를 들어, 친화성 프로브 'P1'이 구성요소 'C1'를 갖는 모든 식별자를 포착하고 다른 친화성 프로브 'P2'가 구성요소 'C2'를 갖는 모든 식별자를 포착하는 경우, C1 또는 C2를 갖는 모든 식별자의 세트는 ('OR' 연산에 대응하는) P1 및 P2을 동시에 사용함으로써 포착될 수 있다. 동일한 구성요소와 프로브를 사용하는 또 다른 예에서 C1 및 C2를 갖는 모든 식별자의 세트는 ('AND' 연산에 대응하는) P1와 P2를 순차적으로 사용함으로써 캡처될 수 있다.
핵산 서열에 저장된 정보를 판독하기 위한 방법
또 다른 양태에서, 본 개시내용은 핵산 서열에 코딩된 정보를 판독하기 위한 방법을 제공한다. 핵산 서열에 인코딩된 정보를 판독하기 위한 방법은 (a) 식별자 라이브러리를 제공하는 단계, (b) 식별자 라이브러리에 존재하는 식별자를 식별하는 단계, (c) 식별자 라이브러리에 존재하는 식별자로부터 심볼의 스트링을 생성하는 단계, 및 (d) 심볼의 스트링로부터의 정보를 컴파일하는 단계를 포함할 수 있다. 식별자 라이브러리는 조합 공간으로부터의 복수의 식별자의 서브세트를 포함할 수 있다. 식별자의 서브세트의 각각의 개별 식별자는 심볼의 스트링의 개별 심볼에 대응할 수 있다. 식별자는 하나 이상의 구성요소를 포함할 수 있다. 구성요소는 핵산 서열을 포함할 수 있다.
정보는 본 명세서의 다른 곳에 설명된 대로 하나 이상의 식별자 라이브러리에 기록될 수 있다. 식별자는 본 명세서의 다른 곳에 설명된 방법을 사용하여 구성될 수 있다. 저장된 데이터는 본 명세서의 다른 곳에서 설명한 임의의 방법을 사용하여 복제되고 액세스될 수 있다.
식별자는 인코딩된 심볼의 위치, 인코딩된 심볼의 값, 또는 인코딩된 심볼의 위치와 값 모두에 관한 정보를 포함할 수 있다. 식별자는 인코딩된 심볼의 위치와 관련된 정보를 포함할 수 있으며 식별자 라이브러리에 식별자가 존재하는지 여부는 심볼의 값을 나타낼 수 있다. 식별자 라이브러리에 식별자가 존재하면 이진 스트링의 첫 번째 심볼 값(가령, 첫 번째 비트 값)을 나타낼 수 있고, 식별자 라이브러리에 식별자가 없으면 이진 스트링의 두 번째 심볼 값(가령, 두 번째 비트 값)을 나타낼 수 있다. 이진 시스템에서, 식별자 라이브러리에서의 식별자 여부를 비트 값의 기반으로 삼는 것은 조립되는 식별자의 수를 감소시킬 수 있으며 쓰기 시간을 감소시킬 수 있다. 예를 들어, 식별자의 존재는 매핑된 위치에서의 비트 값 '1'을 나타낼 수 있고, 식별자의 부재는 매핑된 위치에서 비트 값 '0'을 나타낼 수 있다.
정보에 대한 심볼(가령, 비트 값)을 생성하는 것은 심볼(예를 들어, 비트)이 매핑되거나 인코딩될 수 있는 식별자의 존재 또는 부재를 식별하는 것을 포함할 수 있다. 식별자의 존재 또는 부재를 결정하는 것은 현재의 식별자를 시퀀싱하거나 혼성화 어레이를 사용하여 식별자의 존재를 검출하는 것을 포함할 수 있다. 예에서, 인코딩된 서열을 디코딩하고 판독하는 것은 시퀀싱 플랫폼을 사용하여 수행될 수 있다. 시퀀싱 플랫폼의 예시가 그 전체가 본 명세서에 참조로서 포함되는 2014년08월21일에 출원된 미국 특허 출원 번호 14/465,685이자 2014년12월18일로 공개된 미국 특허 공개 번호 2014-0371100 A1인 발명의 명칭 "METHOD OF NUCLEIC ACID AMPLIFICATION", 2013년05월02일에 출원된 미국 특허 출원 번호 13/886,234이자 2013년09월05일에 공개된 미국 특허 공개 번호 2013-0231254 A1인 발명의 명칭 "METHOD OF NUCLEIC ACID AMPLIFICATION", 및 2009년03월09일에 출원된 미국 특허 출원 번호 12/400,593이자 2009년10월08일에 공개된 미국 특허 번호 US 2009-0253141 A1인 발명의 명칭 "METHODS AND APPARATUSES FOR ANALYZING POLYNUCLEOTIDE SEQUENCES"에 기재되어 있다.
하나의 예에서, 핵산 인코딩 데이터를 디코딩하는 것은 핵산 가닥의 염기별 시퀀싱, 가령, Illumina® 시퀀싱에 의해, 또는 특정 핵산 서열의 존재 또는 부재를 나타내는 시퀀싱 기법, 모세관 전기영동에 의한 단편화 분석을 사용함으로써, 달성될 수 있다. 시퀀싱은 가역적 종결자의 사용을 채용할 수 있다. 시퀀싱은 자연 또는 비자연(예를 들어 조작된) 뉴클레오티드 또는 뉴클레오티드 유사체의 사용을 채용할 수 있다. 대안으로 또는 추가로, 핵산 서열의 디코딩은 광학적, 전기화학적, 화학적 신호를 생성하는 임의의 방법을 포함하지만 이에 제한되지 않는 다양한 분석 기술을 사용하여 수행될 수 있다. 다양한 시퀀싱 방식, 비제한적 예를 들면, 중합효소 연쇄반응(PCR), 디지털 PCR, Sanger 서열분석, 고처리량 서열분석, 합성별 서열분석, 단일 분자 서열분석, 결찰별 서열분석, RNA-Seq(Illumina), 차세대 시퀀싱, 디지털 유전자 발현(Helicos), Clonal Single MicroArray(Solexa), 샷건 시퀀싱, Maxim-Gilbert 시퀀싱 또는 대규모 병렬 시퀀싱이 사용될 수 있다.
다양한 판독 방법이 사용되어 인코딩된 핵산에서 정보를 가져올 수 있다. 예를 들어, 마이크로어레이(또는 모든 종류의 형광 혼성화), 디지털 PCR, 정량적 PCR(qPCR) 및 다양한 시퀀싱 플랫폼이 추가로 사용되어 인코딩된 서열을 판독하고 더 나아가 디지털로 인코딩된 데이터를 판독할 수 있다.
식별자 라이브러리는 정보에 관한 메타데이터를 제공하거나, 정보를 인코딩하거나 마스킹하거나, 메타데이터를 제공하고 정보를 마스킹하는 보충 핵산 서열을 추가로 포함할 수 있다. 보충 핵산은 식별자 식별과 동시에 식별될 수 있다. 대안으로, 보충 핵산은 식별자를 식별하기 전이나 후에 식별될 수 있다. 예를 들어, 인코딩된 정보를 읽는 동안 보충 핵산은 식별되지 않는다. 보충 핵산 서열은 식별자와 구별되지 않을 수 있다. 식별자 인덱스 또는 키가 사용되어 식별자와 보충 핵산 분자를 구별할 수 있다.
입력 비트 스트링을 다시 코딩하여 더 적은 수의 핵산 분자를 사용함으로써 데이터 인코딩 및 디코딩의 효율성을 높일 수 있다. 예를 들어, 인코딩 방법에 의해 3개의 핵산 분자(가령, 식별자)에 매핑될 수 있는 높은 발생률의 '111' 서브스트링을 갖는 입력 스트링이 수신되면, 핵산 분자의 널 세트에 매핑될 수 있는 '000' 서브스트링에 레코딩될 수 있다. '000'의 대체 입력 서브스트링은 '111'로 다시 코딩될 수도 있다. 이 레코딩 방법은 데이터세트의 'l' 수가 감소할 수 있으므로 데이터를 인코딩하는 데 사용되는 핵산 분자의 총량을 줄일 수 있다. 이 예에서, 새로운 매핑 지침을 지정하는 코드북을 수용하기 위해 데이터 세트의 전체 크기가 증가될 수 있다. 인코딩 및 디코딩 효율성을 높이는 또 다른 방법은 입력 스트링을 다시 코딩하여 가변 길이를 줄이는 것일 수 있다. 예를 들어, '111'은 '00'으로 다시 코딩될 수 있으며, 이는 데이터세트의 크기를 축소하고 데이터세트 내 숫자 '1'를 줄일 수 있다.
핵산 인코딩된 데이터를 디코딩하는 속도 및 효율성은 검출 용이성을 위해 식별자를 구체적으로 설계함으로써 제어(가령, 증가)될 수 있다. 예를 들어, 검출 용이성을 위해 설계된 핵산 서열(가령, 식별자)에는 광학적, 전기화학적, 화학적 또는 물리적 특성을 기반으로 호출 및 검출이 더 쉬운 뉴클레오티드의 대부분을 포함하는 핵산 서열이 포함될 수 있다. 조작된 핵산 서열은 단일 가닥 또는 이중 가닥일 수 있다. 조작된 핵산 서열은 핵산 서열의 검출가능한 특성을 개선하는 합성 또는 비천연 뉴클레오티드를 포함할 수 있다. 조작된 핵산 서열은 모든 천연 뉴클레오티드, 모든 합성 또는 비천연 뉴클레오티드, 또는 천연, 합성 및 비천연 뉴클레오티드의 조합을 포함할 수 있다. 합성 뉴클레오티드에는 펩타이드 핵산, 잠금 핵산, 글리콜 핵산 및 트레오스 핵산과 같은 뉴클레오티드 유사체가 포함될 수 있다. 비천연 뉴클레오티드에는 3-메톡시-2-나프탈기를 함유한 인공 뉴클레오시드인 dNaM 및 6-메틸이소퀴놀린-1-티온-2-일 기를 함유한 인공 뉴클레오시드인 d5SICS가 포함될 수 있다. 조작된 핵산 서열은 강화된 광학 특성과 같은 단일 강화 특성을 위해 설계될 수 있거나, 설계된 핵산 서열은 강화된 광학적 및 전기화학적 특성 또는 강화된 광학적 및 화학적 특성과 같은 다중 강화된 특성으로 설계될 수 있다. DNA 설계에 대한 화학적 방법 섹션 H를 참조할 수 있다.
조작된 핵산 서열은 핵산 서열의 광학적, 전기화학적, 화학적 또는 물리적 특성을 개선하지 않는 반응성 천연, 합성 및 비천연 뉴클레오티드를 포함할 수 있다. 핵산 서열의 반응성 구성요소는 핵산 서열에 개선된 특성을 부여하는 화학적 모이어티의 첨가를 가능하게 할 수 있다. 각각의 핵산 서열은 단일 화학적 모이어티를 포함할 수 있거나 다수의 화학적 모이어티를 포함할 수 있다. 예시적인 화학적 모이어티에는 형광성 모이어티, 화학발광성 모이어티, 산성 또는 염기성 모이어티, 소수성 또는 친수성 모이어티, 및 핵산 서열의 산화 상태 또는 반응성을 변경하는 모이어티가 포함될 수 있으나 이에 제한되지는 않는다.
시퀀싱 플랫폼은 핵산 서열로 인코딩된 정보를 디코딩하고 판독하기 위해 특별히 설계될 수 있다. 시퀀싱 플랫폼은 단일 또는 이중 가닥 핵산 분자의 시퀀싱 전용일 수 있다. 시퀀싱 플랫폼은 개별 염기를 판독함으로써(가령, 염기별 시퀀싱) 또는 핵산 분자(가령 식별자) 내에 포함된 전체 핵산 서열(가령, 구성요소)의 존재 또는 부재를 검출함으로써 핵산 인코딩된 데이터를 디코딩할 수 있다. 시퀀싱 플랫폼은 무차별적 시약(promiscuous reagent)의 사용, 리드 길이의 증가, 및 검출 가능한 화학적 부분의 추가에 의한 특정 핵산 서열의 검출을 포함할 수 있다. 시퀀싱 중에 더 무차별적 시약을 사용하면 더 빠른 염기 콜링을 활성화하여 판독 효율성을 높일 수 있으며 결과적으로 시퀀싱 시간이 줄어들 수 있다. 증가된 리드 길이의 사용은 인코딩된 핵산의 더 긴 서열이 리드당 디코딩되게 할 수 있다. 검출가능한 화학적 모이어티 태그의 첨가는 화학적 부분의 존재 또는 부재에 의해 핵산 서열의 존재 또는 부재의 검출을 가능하게 할 수 있다. 예를 들어, 정보의 비트를 인코딩하는 각 핵산 서열은 고유한 광학적, 전기화학적 또는 화학적 신호를 생성하는 화학적 모이어티로 태깅될 수 있다. 해당 고유한 광학적, 전기화학적 또는 화학적 신호의 존재 여부는 '0' 또는 '1' 비트 값을 나타낼 수 있다. 핵산 서열은 단일 화학적 모이어티 또는 다중 화학적 모이어티를 포함할 수 있다. 화학적 부분은 데이터를 인코딩하기 위해 핵산 서열을 사용하기 전에 핵산 서열에 추가될 수 있다. 대안으로 또는 추가로, 화학적 모이어티는 데이터를 인코딩한 후, 그러나 데이터를 디코딩하기 전에 핵산 서열에 추가될 수 있다. 화학적 부분 태그는 핵산 서열에 직접 추가될 수 있거나, 핵산 서열은 합성 또는 비천연 뉴클레오티드 앵커를 포함할 수 있고 화학적 모이어티 태그는 해당 앵커에 추가될 수 있다.
인코딩 및 디코딩 오류를 최소화하거나 감지하기 위해 고유 코드가 적용될 수 있다. 인코딩 및 디코딩 오류는 위음성(가령, 무작위 샘플링에 포함되지 않은 핵산 분자 또는 식별자)으로 인해 발생할 수 있다. 오류 검출 코드의 예는 식별자 라이브러리에 포함된 연속 가능한 식별자 세트의 식별자 수를 계산하는 체크섬 시퀀스일 수 있다. 식별자 라이브러리를 읽는 동안 체크섬은 연속된 식별자 집합에서 검색할 것으로 예상되는 식별자 수를 나타낼 수 있으며, 예상 개수가 충족될 때까지 읽기를 위해 식별자를 계속 샘플링할 수 있다. 일부 실시예에서, 체크섬 시퀀스는 R개의 식별자의 모든 연속 세트에 대해 포함될 수 있으며, 여기서 R은 크기가 동일하거나 1, 2, 5, 10, 50, 100, 200, 500 또는 1000보다 크거나 1000, 500, 200, 100, 50, 10, 5 또는 2보다 작을 수 있다. R의 값이 작을수록 오류 검출 성능이 향상된다. 일부 실시예에서, 체크섬은 보충 핵산 서열일 수 있다. 예를 들어, 7개의 핵산 서열(가령, 구성요소)을 포함하는 세트는 두 그룹, 즉, 곱 방식에 의한 식별자를 구성하기 위한 핵산 서열(층 X의 구성요소 X1-X3 및 층 Y의 Y1-Y3) 및 보충 체크섬에 대한 핵산 서열(X4-X7 및 Y4-Y7)로 나뉠 수 있다. 체크섬 서열(X4-X7)은 층 X의 0개, 1개, 2개 또는 3개의 서열이 층 Y의 각 구성원과 조립되는지 여부를 나타낼 수 있다. 대안으로, 체크섬 서열(Y4-Y7)은 층 Y의 0개, 1개, 2개 또는 3개의 서열이 층 X의 각 구성원과 조립되는지 여부를 나타낼 수 있다. 이 예에서는, 식별자 {X1Y1, X1Y3, X2Y1, X2Y2, X2Y3}를 갖는 원본 식별자 라이브러리가 체크섬을 포함하도록 보충되어 다음 풀이 될 수 있다: {X1Y1, X1Y3, X2Y1, X2Y2, X2Y3, X1Y6, X2Y7, X3Y4, X6Y1, X5Y2, X6Y3}. 체크섬 서열은 오류 정정을 위해서도 사용될 수 있다. 예를 들어, 상기의 데이터세트에 X1Y1이 없고 X1Y6 및 X6Y1이 있으면 X1Y1 핵산 분자가 데이터세트에 없다는 추론이 가능해진다. 체크섬 서열은 식별자 라이브러리의 샘플링 또는 식별자 라이브러리의 액세스된 부분에서 식별자가 누락되었는지 여부를 나타낼 수 있다. 체크섬 서열이 누락된 경우 PCR 또는 친화성 태깅된 프로브 혼성화와 같은 액세스 방법을 통해 이를 증폭 및/또는 분리할 수 있다. 일부 실시예에서, 체크섬은 보충 핵산 서열이 아닐 수도 있다. 체크섬은 식별자로 표현되도록 정보에 직접 코딩될 수 있다.
예를 들어, 곱 방식에서 단일 구성요소가 아닌 구성요소의 회문 쌍을 사용하여 식별자를 회문식으로 구성하면 데이터 인코딩 및 디코딩의 노이즈가 줄어들 수 있다. 그런 다음, 상이한 층의 구성요소 쌍은 회문 방식(가령, 구성요소 X 및 Y에 대해 XY 대신 YXY)으로 서로 조립될 수 있다. 이 회문 방법은 더 많은 수의 층(가령, XYZ 대신 ZYXYZ)으로 확장될 수 있으며 식별자 간의 잘못된 교차 반응을 감지할 수 있다.
식별자에 과잉(예를 들어, 엄청난 과잉)의 보충 핵산 서열을 추가하면 시퀀싱이 인코딩된 식별자를 복구하는 것을 방지할 수 있다. 정보를 디코딩하기 전에, 식별자는 보충 핵산 서열로부터 강화될 수 있다. 예를 들어, 식별자 말단에 특이적인 프라이머를 사용하는 핵산 증폭 반응에 의해 식별자가 강화될 수 있다. 대안으로, 또는 추가로, 특정 프라이머를 사용하는 시퀀싱(가령, 합성에 의한 시퀀싱)을 통해 샘플 풀을 강화하지 않고도 정보를 디코딩할 수 있다. 두 가지 디코딩 방법 모두 디코딩 키가 없거나 식별자 구성에 대해 알지 못하면 정보를 강화하거나 디코딩하는 것이 어려울 수 있다. 친화성 태그 기반 프로브를 사용하는 것과 같은 대체 접근 방법도 사용될 수 있다.
이진 서열 데이터 인코딩 시스템
디지털 정보를 핵산(가령, DNA)으로 인코딩하기 위한 시스템은 파일 및 데이터(가령, 미가공 데이터, 압축된 집(zip) 파일, 정수 데이터 및 그 밖의 다른 형태의 데이터)를 바이트로 변환하고 상기 바이트를 핵산, 일반적으로, DNA, 또는 이의 조합의 세그먼트 또는 서열로 인코딩하기 위한 시스템, 방법, 및 장치를 포함할 수 있다.
하나의 양태에서, 본 개시내용은 핵산을 사용하여 이진 서열 데이터를 인코딩하기 위한 시스템을 제공한다. 핵산을 사용하여 이진 서열 데이터를 인코딩하기 위한 시스템은 장치 및 하나 이상의 컴퓨터 프로세서를 포함할 수 있다. 장치는 식별자 라이브러리를 구성하도록 구성될 수 있다. 하나 이상의 컴퓨터 프로세서는 (i) 정보를 심볼의 스트링으로 변환하고, (ii) 심볼의 스트링을 복수의 식별자에 매핑하며, (iii) 복수의 식별자의 적어도 서브세트를 포함하는 식별자 라이브러리를 구성하도록 개별적으로 또는 집합적으로 프로그래밍될 수 있다. 복수의 식별자의 개별 식별자는 심볼의 스트링 중 개별 심볼에 대응할 수 있다. 복수의 식별자 중 개별 식별자는 하나 이상의 구성요소를 포함할 수 있다. 하나 이상의 구성요소 중 개별 구성요소는 핵산 서열을 포함할 수 있다.
또 다른 양태에서, 본 개시내용은 핵산을 사용하여 이진 서열 데이터를 판독하기 위한 시스템을 제공한다. 핵산을 사용하여 이진 서열 데이터를 판독하기 위한 시스템은 데이터베이스 및 하나 이상의 컴퓨터 프로세서를 포함할 수 있다. 데이터베이스는 정보를 인코딩하는 식별자 라이브러리를 저장할 수 있다. 하나 이상의 컴퓨터 프로세서는 (i) 식별자 라이브러리의 식별자를 식별하고, (ii) (i)에서 식별된 식별자로부터 복수의 심볼을 생성하며, (iii) 복수의 식별자로부터의 정보를 컴파일하도록 개별적으로 또는 집합적으로 프로그래밍될 수 있다. 식별자 라이브러리는 복수의 식별자의 서브세트를 포함할 수 있다. 복수의 식별자의 각각의 개별 식별자는 심볼의 스트링의 개별 심볼에 대응할 수 있다. 식별자는 하나 이상의 구성요소를 포함할 수 있다. 구성요소는 핵산 서열을 포함할 수 있다.
디지털 데이터를 인코딩하기 위해 시스템을 사용하는 방법의 비제한적인 실시예는 바이트 스트림의 형태로 디지털 정보를 수신하기 위한 단계를 포함할 수 있다. 바이트 스트림을 개별 바이트로 파싱(parsing)하고, 핵산 인덱스(또는 식별자 순위)를 사용하여 바이트 내의 비트 위치를 매핑하고, 비트 값 1 또는 비트 값 0에 대응하는 서열을 식별자로 인코딩하는 단계. 디지털 데이터를 검색하기 위한 단계는 하나 이상의 비트에 매핑되는 핵산 샘플 또는 핵산 서열(가령, 식별자)을 포함하는 핵산 풀을 시퀀싱하고, 식별자 순위를 참조하여 식별자가 핵산 풀에 존재하는지 여부를 확인하고 각각의 서열에 대한 위치 및 비트-값 정보를 디지털 정보의 서열을 포함하는 바이트로 디코딩하는 것을 포함할 수 있다.
핵산 분자에 인코딩 및 기록된 정보를 인코딩, 기록, 복사, 액세스, 판독 및 디코딩하기 위한 시스템은 단일 통합 장치일 수 있거나 앞서 언급한 작업 중 하나 이상을 실행하도록 구성된 다중 장치일 수 있다. 정보를 핵산 분자(가령, 식별자)로 인코딩하고 기록하기 위한 시스템은 장치와 하나 이상의 컴퓨터 프로세서를 포함할 수 있다. 하나 이상의 컴퓨터 프로세서는 정보를 심볼 스트링(예를 들어, 비트 스트링)로 파싱하도록 프로그래밍될 수 있다. 컴퓨터 프로세서는 식별자 순위를 생성할 수 있다. 컴퓨터 프로세서는 심볼을 두 개 이상의 범주로 분류할 수 있다. 하나의 카테고리는 식별자 라이브러리 내 대응하는 식별자가 있음을 나타내는 심볼을 포함하고, 다른 카테고리는 식별자 라이브러리 내 대응 식별자가 없음을 나타내는 심볼을 포함할 수 있다. 컴퓨터 프로세서는 식별자 라이브러리에 식별자가 존재하면 표시될 심볼에 대응하는 식별자를 조립하도록 장치에 지시할 수 있다.
장치는 복수의 영역, 섹션 또는 파티션을 포함할 수 있다. 식별자를 조립하기 위한 시약 및 구성요소는 장치의 하나 이상의 영역, 섹션 또는 파티션에 저장될 수 있다. 층은 장치의 섹션의 별도 영역에 저장될 수 있다. 층은 하나 이상의 고유 구성요소를 포함할 수 있다. 한 층 내 구성요소는 다른 층 내 구성요소와 고유할 수 있다. 영역 또는 섹션은 용기를 포함할 수 있고 파티션은 웰을 포함할 수 있다. 각 층은 별도의 용기 또는 파티션에 저장될 수 있다. 각 시약 또는 핵산 서열은 별도의 용기 또는 파티션에 저장될 수 있다. 대안으로 또는 추가로 시약이 조합되어 식별자 구성을 위한 마스터 믹스를 형성할 수도 있다. 장치는 장치의 한 섹션에서 시약, 구성요소 및 주형을 전달하여 다른 섹션에 결합할 수 있다. 장치는 조립 반응을 완료하기 위한 조건을 제공할 수 있다. 예를 들어, 장치는 가열, 교반 및 반응 진행 검출 기능을 제공할 수 있다. 구성된 식별자는 식별자의 하나 이상의 말단에 바코드, 공통 서열, 가변 서열 또는 태그를 추가하기 위해 하나 이상의 후속 반응을 거치도록 지시될 수 있다. 그런 다음 식별자는 영역이나 파티션으로 전달되어 식별자 라이브러리를 생성할 수 있다. 하나 이상의 식별자 라이브러리가 장치의 각 영역, 섹션 또는 개별 파티션에 저장될 수 있다. 장치는 압력, 진공 또는 흡입을 사용하여 유체(가령, 시약, 구성요소, 주형)를 전달할 수 있다.
식별자 라이브러리는 장치에 저장되거나 별도의 데이터베이스로 이동될 수 있다. 데이터베이스는 하나 이상의 식별자 라이브러리를 포함할 수 있다. 데이터베이스는 식별자 라이브러리의 장기 저장을 위한 조건(가령, 식별자의 품질 저하를 줄이기 위한 조건)을 제공할 수 있다. 식별자 라이브러리는 분말, 액체 또는 고체 형태로 저장될 수 있다. 보다 안정적인 보관을 위해 식별자의 수용액을 동결건조할 수 있다(동결건조에 대한 자세한 내용은 화학적 방법 섹션 G 참조). 대안으로, 식별자는 산소가 없는 상태(가령, 혐기성 보관 조건)에 보관될 수 있다. 데이터베이스는 자외선 보호, 온도 감소(가령, 냉장 또는 냉동), 분해되는 화학물질 및 효소로부터의 보호 기능을 제공할 수 있다. 데이터베이스로 전송되기 전에, 식별자 라이브러리가 동결건조되거나 냉동될 수 있다. 식별자 라이브러리는 뉴클레아제를 불활성화하기 위한 EDTA(에틸렌디아민테트라아세트산) 및/또는 핵산 분자의 안정성을 유지하기 위한 완충제를 포함할 수 있다.
데이터베이스는 정보를 식별자에 기록하거나, 정보를 복사하거나, 정보를 액세스하거나, 정보를 판독하는 장치에 연결되거나, 장치를 포함되거나, 장치로부터 분리될 수 있다. 식별자 라이브러리의 일부는 복사, 액세스 또는 읽기 전에 데이터베이스에서 제거될 수 있다. 데이터베이스로부터의 정보를 복사하는 장치는 정보를 기록하는 장치와 동일하거나 상이할 수 있다. 정보를 복사하는 장치는 장치에서 식별자 라이브러리의 부분표본을 추출하고 해당 부분표본을 시약 및 구성성분과 결합하여 식별자 라이브러리의 일부 또는 전체를 증폭할 수 있다. 장치는 증폭 반응의 온도, 압력 및 교반을 제어할 수 있다. 장치는 파티션을 포함할 수 있으며 식별자 라이브러리를 포함하는 파티션에서 하나 이상의 증폭 반응이 일어날 수 있다. 장치는 한 번에 둘 이상의 식별자 풀을 복사할 수 있다.
복사된 식별자는 복사 장치에서 액세스 장치로 전송될 수 있다. 액세스 장치는 복사 장치와 동일한 장치일 수 있다. 액세스 장치는 별도의 영역, 섹션 또는 파티션을 포함할 수 있다. 액세스 장치는 친화성 태그에 결합된 식별자를 분리하기 위한 하나 이상의 컬럼, 비드 저장소 또는 자기 영역을 가질 수 있다(핵산 포획에 관한 화학적 방법 섹션 F 참조). 대안으로 또는 추가로, 액세스 장치는 하나 이상의 크기 선택 유닛을 가질 수 있다. 크기 선택 유닛은 아가로스 겔 전기영동 또는 핵산 분자의 크기 선택을 위한 임의의 다른 방법을 포함할 수 있다(핵산 크기 선택에 대한 자세한 내용은 화학적 방법 섹션 E 참조). 복사 및 추출은 장치의 동일한 영역 또는 장치의 상이한 영역에서 수행될 수 있다(핵산 증폭에 대해서는 화학적 방법 섹션 D 참조).
액세스된 데이터는 동일한 장치에서 읽힐 수도 있고, 액세스된 데이터가 다른 장치로 전송될 수도 있다. 판독 장치는 식별자를 검출하고 식별하기 위한 검출 유닛을 포함할 수 있다. 검출 유닛은 시퀀서, 혼성화 어레이, 또는 식별자의 존재 또는 부재를 식별하기 위한 그 밖의 다른 유닛의 일부일 수 있다. 시퀀싱 플랫폼은 핵산 서열로 인코딩된 정보를 디코딩하고 판독하기 위해 특별히 설계될 수 있다. 시퀀싱 플랫폼은 단일 또는 이중 가닥 핵산 분자의 시퀀싱 전용일 수 있다. 시퀀싱 플랫폼은 개별 염기를 판독함으로써(가령, 염기별 시퀀싱) 또는 핵산 분자(가령 식별자) 내에 포함된 전체 핵산 서열(가령, 구성요소)의 존재 또는 부재를 검출함으로써 핵산 인코딩된 데이터를 디코딩할 수 있다. 대안으로, 시퀀싱 플랫폼은 Illumina® 시퀀싱 또는 모세관 전기영동에 의한 단편화 분석과 같은 시스템일 수 있다. 대안으로 또는 추가로, 핵산 서열의 디코딩은 장치에 의해 구현되는 다양한 분석 기술을 사용하여 수행될 수 있으며, 여기에는 광학적, 전기화학적 또는 화학적 신호를 생성하는 모든 방법이 포함되지만 이에 국한되지는 않는다.
핵산 분자 내 정보 저장은 장기 정보 저장, 민감한 정보 저장 및 의료 정보 저장을 포함하되 이에 국한되지 않는 다양한 응용 분야를 가질 수 있다. 예를 들어, 개인의 의료 정보(가령, 병력 및 기록)는 핵산 분자에 저장되어 개인에게 전달될 수 있다. 정보는 신체 외부(가령, 웨어러블 장치)에 저장되거나 신체 내부(가령, 피하 캡슐)에 저장될 수 있다. 환자가 진료실이나 병원에 입원하면 장치나 캡슐에서 샘플을 채취하고 핵산 서열 분석기를 사용하여 정보를 해독할 수 있다. 의료 기록을 핵산 분자로 개인별로 저장하는 것은 컴퓨터 및 클라우드 기반 저장 시스템에 대한 대안을 제공할 수 있다. 개인의 의료 기록을 핵산 분자로 저장하면 의료 기록이 해킹당하는 사례나 빈도가 줄어들 수 있다. 의료 기록의 캡슐 기반 저장에 사용되는 핵산 분자는 인간 게놈 서열에서 유래될 수 있다. 인간 게놈 서열의 사용은 캡슐 실패 및 누출의 경우 핵산 서열의 면역원성을 감소시킬 수 있다.
컴퓨터 시스템
본 개시는 본 개시의 방법을 구현하도록 프로그래밍된 컴퓨터 시스템을 제공한다. 도 19는 디지털 정보를 핵산 서열로 인코딩하고/하거나 핵산 서열로부터 유래된 정보를 판독(예를 들어, 디코딩)하도록 프로그래밍되거나 달리 구성된 컴퓨터 시스템(1901)을 도시한다. 컴퓨터 시스템(1901)은 예를 들어 인코딩된 비트스트림 또는 바이트 스트림으로부터 주어진 비트 또는 바이트에 대한 비트 값 및 비트 위치 정보와 같은 본 개시의 인코딩 및 디코딩 절차의 다양한 측면을 조절할 수 있다.
컴퓨터 시스템(1901)은 단일 코어 또는 멀티 코어 프로세서, 또는 병렬 처리를 위한 복수의 프로세서일 수 있는 중앙 처리 장치(CPU, 또한 "프로세서" 및 "컴퓨터 프로세서")(1905)를 포함한다. 컴퓨터 시스템(1901)은 또한 통신을 위한 메모리 또는 메모리 위치(1910)(가령, 랜덤 액세스 메모리, 리드 온리 메모리, 플래시 메모리), 전자 저장 장치(1915)(가령, 하드 디스크), 하나 이상의 다른 시스템과 통신하기 위한 통신 인터페이스(1920)(가령, 네트워크 어댑터), 및 주변 장치(1925), 가령, 캐시, 그 밖의 다른 메모리, 데이터 저장소 및/또는 전자 디스플레이 어댑터를 포함한다. 메모리(1910), 저장 유닛(1915), 인터페이스(1920) 및 주변 장치(1925)는 마더보드와 같은 통신 버스(실선)를 통해 CPU(1905)와 통신한다. 저장 유닛(1915)은 데이터를 저장하기 위한 데이터 저장 유닛(또는 데이터 레포지토리)일 수 있다. 컴퓨터 시스템(1901)은 통신 인터페이스(1920)의 도움으로 컴퓨터 네트워크("네트워크")(1930)에 작동 가능하게 연결될 수 있다. 네트워크(1930)는 인터넷, 인터넷 및/또는 엑스트라넷, 또는 인터넷과 통신하는 인트라넷 및/또는 엑스트라넷일 수 있다. 어떤 경우에는 네트워크(1930)는 통신 및/또는 데이터 네트워크이다. 네트워크(1930)는 분산 컴퓨팅을 가능하게 할 수 있는 하나 이상의 컴퓨터 서버, 가령, 클라우드 컴퓨팅을 포함할 수 있다. 네트워크(1930)는 어떤 경우에는 컴퓨터 시스템(1901)의 도움으로 피어-투-피어 네트워크를 구현할 수 있으며, 이는 컴퓨터 시스템(1901)에 연결된 장치가 클라이언트 또는 서버로 동작할 수 있도록 할 수 있다.
CPU(1905)는 프로그램이나 소프트웨어로 구현될 수 있는 일련의 기계 판독 가능 명령을 실행할 수 있다. 명령은 메모리(1910)와 같은 메모리 위치에 저장될 수 있다. 명령은 CPU(1905)로 전달될 수 있으며, 상기 명령은 본 개시의 방법을 구현하기 위해 CPU(1905)를 후속적으로 프로그래밍하거나 구성할 수 있다. CPU(1905)에 의해 수행되는 작업의 예로는 인출(fetch), 디코딩(decode), 실행(execute) 및 라이트백(writeback)이 포함될 수 있다.
CPU(1905)는 회로, 가령, 집적 회로의 일부일 수 있다. 시스템(1901)의 하나 이상의 다른 구성요소가 회로에 포함될 수 있다. 어떤 경우에는, 회로가 ASIC(주문형 집적 회로)이다.
저장 유닛(1915)은 파일, 가령, 드라이버, 라이브러리, 저장된 프로그램을 저장할 수 있다. 저장 유닛(1915)은 사용자 데이터, 예를 들어, 사용자 선호도, 사용자 프로그램 등을 저장할 수 있다. 일부 경우에 컴퓨터 시스템(1901)은 인트라넷 또는 인터넷을 통해 컴퓨터 시스템(1901)과 통신하는 원격 서버에 위치하는 것과 같이 컴퓨터 시스템(1901) 외부에 있는 하나 이상의 추가 데이터 저장 장치를 포함할 수 있다.
컴퓨터 시스템(1901)은 네트워크(1930)를 통해 하나 이상의 원격 컴퓨터 시스템과 통신할 수 있다. 예를 들어, 컴퓨터 시스템(1901)은 사용자의 원격 컴퓨터 시스템 또는 핵산 서열로 인코딩되거나 디코딩된 데이터를 분석하는 과정에서 사용자가 사용할 수 있는 다른 장치 및/또는 기계(가령, 시퀀서 또는 핵산 서열에서 질소 염기의 순서를 화학적으로 결정하기 위한 다른 시스템)와 통신할 수 있다. 원격 컴퓨터 시스템의 예로는 개인용 컴퓨터(가령, 휴대용 PC), 슬레이트 또는 태블릿 PC(가령, Apple® iPad, Samsung® Galaxy Tab), 전화기, 스마트폰(가령, Apple® iPhone, Android 지원 장치, Blackberry®), 또는 개인 디지털 보조 장치가 있다. 사용자는 네트워크(1930)를 통해 컴퓨터 시스템(1901)을 액세스할 수 있다.
본 명세서에 기재된 방법은 예를 들어 메모리(1910) 또는 전자 저장 장치(1915)와 같은 컴퓨터 시스템(1901)의 전자 저장 위치에 저장된 기계(가령, 컴퓨터 프로세서) 실행 코드를 통해 구현될 수 있다. 기계 실행 가능 코드 또는 기계 판독 가능 코드는 소프트웨어 형태로 제공될 수 있다. 사용 중에 코드는 프로세서(1905)에 의해 실행될 수 있다. 일부 경우에, 코드는 저장 유닛(1915)으로부터 검색되어 프로세서(1905)에 의한 즉시 액세스를 위해 메모리(1910)에 저장될 수 있다. 일부 상황에서는 전자 저장 유닛(1915)이 배제될 수 있으며 기계 실행 가능 명령이 메모리(1910)에 저장된다.
코드는 코드를 실행하도록 조정된 프로세서가 있는 기계와 함께 사용하기 위해 사전 컴파일 및 구성될 수 있거나 런타임 중에 컴파일될 수 있다. 코드는 사전 컴파일된 방식이나 컴파일된 대로 실행되도록 선택할 수 있는 프로그래밍 언어로 제공될 수 있다.
컴퓨터 시스템(1901)과 같이 여기에 제공된 시스템 및 방법의 양태가 프로그래밍으로 구현될 수 있다.  기술의 다양한 측면은 일반적으로 기계(또는 프로세서) 실행 코드 및/또는 기계 판독 가능 매체 유형에 전달되거나 구현되는 관련 데이터 형태의 "제품" 또는 "물품"으로 간주될 수 있다. 기계 실행 가능 코드는 메모리(가령, 리드 온리 메모리, 랜덤 액세스 메모리, 플래시 메모리) 또는 하드 디스크와 같은 전자 저장 장치에 저장될 수 있다. "스토리지" 유형의 미디어는 컴퓨터, 프로세서 등의 유형 메모리 또는 다양한 반도체 메모리, 테이프 드라이브, 디스크 드라이브 등과 같은 관련 모듈의 일부 또는 전부를 포함할 수 있으며, 이는 소프트웨어 프로그래밍을 위한 임의의 때에 비일시적 저장을 제공할 수 있다.  소프트웨어의 전체 또는 일부는 때때로 인터넷이나 기타 다양한 통신 네트워크를 통해 전달될 수 있다.  예를 들어, 이러한 통신을 통해 한 컴퓨터 또는 프로세서에서 다른 컴퓨터 또는 프로세서로, 예를 들어 관리 서버 또는 호스트 컴퓨터에서 애플리케이션 서버의 컴퓨터 플랫폼으로 소프트웨어를 로드할 수 있다.  따라서 소프트웨어 요소를 포함할 수 있는 또 다른 유형의 미디어에는 로컬 장치 간의 물리적 인터페이스, 유선 및 광학 유선 네트워크 및 다양한 무선 링크를 통해 사용되는 것과 같은 광학, 전기 및 전자기파가 포함된다.  유무선 링크, 광 링크 등과 같이 이러한 파동을 전달하는 물리적 요소도 소프트웨어를 담고 있는 미디어로 간주될 수 있다.  본 명세서에 사용될 때, 비일시적, 유형의 "저장" 매체로 제한되지 않는 한, 컴퓨터 또는 기계의 "판독 가능한 매체"와 같은 용어는 실행을 위해 프로세서에 명령을 제공하는 데 참여하는 모든 매체를 의미한다.
따라서, 컴퓨터 실행 가능 코드와 같은 기계 판독 가능 매체는 유형의 저장 매체, 반송파 매체 또는 물리적 전송 매체를 포함하지만 이에 제한되지 않는 다양한 형태를 취할 수 있다.  비휘발성 저장 매체는 예를 들어, 도면에 도시된 데이터베이스 등을 구현하는 데 사용될 수 있는 임의의 컴퓨터(들) 등의 임의의 저장 장치와 같은 광학 또는 자기 디스크를 포함한다.  휘발성 저장 매체는 컴퓨터 플랫폼의 메인 메모리와 같은 동적 메모리를 포함한다.  유형의 전송 매체는 동축 케이블, 컴퓨터 시스템 내의 버스를 구성하는 전선을 포함한 구리선 및 광섬유를 포함한다.  반송파 전송 매체는 전기 또는 전자기 신호, 무선 주파수(RF) 및 적외선(IR) 데이터 통신 중에 생성되는 것과 같은 음향 또는 광파의 형태를 취할 수 있다.  따라서 컴퓨터 판독 가능 매체의 일반적인 형태는 플로피 디스크, 유연한 디스크, 하드 디스크, 자기 테이프, 기타 자기 매체, CD-ROM, DVD 또는 DVD-ROM, 기타 광학 매체, 펀치 카드 용지 등이 포함됩니다. 테이프, 구멍 패턴이 있는 기타 물리적 저장 매체, RAM, ROM, PROM 및 EPROM, FLASH-EPROM, 기타 메모리 칩 또는 카트리지, 데이터 또는 명령을 전송하는 반송파, 그러한 캐리어를 전송하는 케이블 또는 링크 웨이브 또는 컴퓨터가 프로그래밍 코드 및/또는 데이터를 읽을 수 있는 기타 매체를 포함한다.  이러한 형태의 컴퓨터 판독 가능 매체 중 다수는 실행을 위해 하나 이상의 명령의 하나 이상의 시퀀스를 프로세서에 전달하는 것과 관련될 수 있다.
컴퓨터 시스템(1901)은 예를 들어 서열 출력 데이터, 가령, 크로마토그래프, 서열, 및 핵산, 미가공 데이터, 파일 및 압축 또는 압축해제된 집 파일을 DNA 저장된 데이터로 인코딩 또는 디코딩하는 기계 또는 컴퓨터 시스템에 의해 인코딩되거나 판독되는 비트, 바이트, 비트 스트림을 제공하기 위한 사용자 인터페이스(UI)(1940)를 포함하는 전자 디스플레이(1935)를 포함하거나 이와 통신할 수 있다. UI의 예로는 그래픽 사용자 인터페이스(GUI) 및 웹 기반 사용자 인터페이스가 포함되나 이에 국한되지 않는다.
본 개시의 방법 및 시스템은 하나 이상의 알고리즘을 통해 구현될 수 있다. 알고리즘은 중앙 처리 장치(1905)에 의해 실행될 때 소프트웨어를 통해 구현될 수 있다. 예를 들어, 알고리즘은 디지털 정보를 인코딩하기 전에 원시 데이터 또는 집(zip) 파일 압축 데이터로부터 디지털 정보를 코딩하기 위한 맞춤형 방법을 결정하기 위해 DNA 인덱스 및 원시 데이터 또는 집 파일 압축 또는 압축 해제 데이터와 함께 사용될 수 있다.
화학적 방법 섹션
A. 중첩 확장 PCR(OEPCR) 어셈블리
OEPCR에서 중합효소와 dNTP(dATP, dTTP, dCTP, dGTP 또는 이들의 변이체 또는 유사체를 포함하는 데옥시뉴클레오티드 삼인산염)를 포함하는 반응에서 구성요소가 조립된다. 구성요소는 단일 가닥 또는 이중 가닥 핵산일 수 있다. 서로 인접하게 조립될 구성요소는 상보적인 3' 말단, 상보적인 5' 말단, 또는 하나의 구성요소의 5' 말단과 인접한 구성요소의 3' 말단 사이에 상동성을 가질 수 있다. "혼성화 영역"으로 불리는 이들 말단 영역은 OEPCR 동안 구성요소 사이의 혼성화된 접합의 형성을 촉진하기 위한 것이며, 여기서 하나의 입력 구성요소(또는 그 보체)의 3' 말단은 의도된 인접 구성요소(또는 이의 보체)의 3' 말단에 혼성화된다. 이어서, 중합효소 연장에 의해 조립된 이중 가닥 산물이 형성될 수 있다. 이 생성물은 후속 혼성화 및 연장을 통해 더 많은 구성요소로 조립될 수 있다. 도 7은 3개의 핵산을 조립하기 위한 OEPCR의 예시적인 개략도를 예시한다.
일부 실시예에서, OEPCR은 3가지 온도, 즉 용융 온도, 어닐링 온도 및 연장 온도 사이의 순환을 포함할 수 있다. 용융 온도는 이중 가닥 핵산을 단일 가닥 핵산으로 전환할 뿐만 아니라 구성요소 내에서 또는 구성요소들 간에 2차 구조 또는 혼성화의 형성을 제거하기 위한 것이다. 일반적으로 용융 온도는 섭씨 95도 이상으로 높다. 일부 실시예에서 용융 온도는 적어도 섭씨 96, 97, 98, 99, 100, 101, 102, 103, 104 또는 105도 이상일 수 있다. 다른 실시예에서 용융 온도는 최대 섭씨 95, 94, 93, 92, 91 또는 90도일 수 있다. 용융 온도가 높을수록 핵산과 그 2차 구조의 해리가 향상될 수 있지만, 핵산이나 중합효소의 분해와 같은 부작용이 발생할 수도 있다. 용융 온도는 적어도 1, 2, 3, 4, 5초 또는 그 이상, 예를 들어 30초, 1분, 2분 또는 3분 동안 반응에 적용될 수 있다.
어닐링 온도는 의도된 인접 구성요소(또는 그 보체)의 상보적인 3' 말단 사이의 혼성화 형성을 촉진하기 위한 것이다. 일부 실시예에서, 어닐링 온도는 의도된 혼성화된 핵산 형성의 계산된 용융 온도와 일치할 수 있다. 다른 실시예에서, 어닐링 온도는 상기 용융 온도의 10
Figure pct00001
이상 이내일 수 있다. 일부 실시예에서, 어닐링 온도는 섭씨 25, 30, 50, 55, 60, 65, 또는 70도 이상일 수 있다. 용융 온도는 성분들 사이의 의도된 혼성화 영역의 순서에 따라 달라질 수 있다. 더 긴 혼성화 영역은 더 높은 용융 온도를 가지며, 더 높은 구아닌 또는 시토신 뉴클레오티드 함량을 갖는 혼성화 영역은 더 높은 용융 온도를 가질 수 있다. 따라서 특정 어닐링 온도에서 최적으로 조립되도록 의도된 OEPCR 반응용 구성요소를 설계하는 것이 가능할 수 있다. 어닐링 온도는 적어도 1초, 5초, 10초, 15초, 20초, 25초 또는 30초 이상 동안 반응에 적용될 수 있다.
연장 온도는 하나 이상의 중합효소에 의해 촉매되는 혼성화된 3' 말단의 핵산 사슬 연장을 시작하고 촉진하기 위한 것이다. 일부 구현예에서, 연장 온도는 중합효소가 핵산 결합 강도, 연장 속도, 연장 안정성 또는 충실도 측면에서 최적으로 기능하는 온도로 설정될 수 있다. 일부 실시예에서 연장 온도는 적어도 섭씨 30도, 40도, 50도, 60도 또는 70도 이상일 수 있다. 어닐링 온도는 적어도 1초, 5초, 10초, 15초, 20초, 25초, 30초, 40초, 50초 또는 60초 이상 동안 반응에 적용될 수 있다. 권장 연장 시간은 예상 연장의 킬로베이스당 약 15 내지 45초일 수 있다.
OEPCR의 일부 실시예에서, 어닐링 온도와 연장 온도는 동일할 수 있다. 따라서 3단계 온도 사이클 대신 2단계 온도 사이클이 사용될 수 있다. 결합된 어닐링 및 연장 온도의 예로는 섭씨 60, 65 또는 72도가 있다.
일부 실시예에서, OEPCR은 하나의 온도 사이클로 수행될 수 있다. 그러한 실시예는 단 두 개의 구성요소의 의도된 조립을 포함할 수 있다. 다른 실시예에서, OEPCR은 다중 온도 사이클로 수행될 수 있다. OEPCR의 모든 특정 핵산은 하나의 주기에서 최대 하나의 다른 핵산에만 조립될 수 있다. 이는 조립(또는 연장 또는 연장)이 핵산의 3' 말단에서만 발생하고 각 핵산에는 3' 말단이 하나만 있기 때문이다. 따라서 여러 구성요소를 조립하려면 여러 온도 주기가 필요할 수 있다. 예를 들어, 4개의 구성요소를 조립하려면 3회의 온도 사이클이 필요할 수 있다. 6개의 구성요소를 조립하려면 5회의 온도 사이클이 필요할 수 있다. 10개의 구성요소를 조립하려면 9회의 온도 사이클이 필요할 수 있다. 일부 실시예에서, 필요한 최소치보다 더 많은 온도 사이클을 사용하면 조립 효율성이 증가할 수 있다. 예를 들어, 두 개의 구성요소를 조립하기 위해 4개의 온도 사이클을 사용하면 하나의 온도 사이클만 사용하는 것보다 더 많은 산물을 생산할 수 있다. 이는 구성요소의 혼성화 및 신장이 각 사이클의 전체 구성요소 수의 일부에서 발생하는 통계적 이벤트이기 때문이다. 따라서 조립된 구성요소의 전체 비율은 사이클이 증가함에 따라 증가할 수 있다.
온도 순환 고려사항 외에도 OEPCR의 핵산 서열 설계는 서로의 조립 효율에 영향을 미칠 수 있다. 긴 혼성화 영역을 갖는 핵산은 짧은 혼성화 영역을 갖는 핵산에 비해 주어진 어닐링 온도에서 더 효율적으로 혼성화할 수 있다. 이는 더 긴 혼성화 제품이 더 많은 수의 안정적인 염기쌍을 포함하고 따라서 더 짧은 혼성화 제품보다 전체적으로 더 안정적인 혼성화 제품일 수 있기 때문이다. 혼성화 영역은 적어도 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 이상의 염기 길이를 가질 수 있다.
구아닌 또는 시토신 함량이 높은 혼성화 영역은 구아닌 또는 시토신 함량이 낮은 혼성화 영역보다 주어진 온도에서 더 효율적으로 혼성화할 수 있다. 이는 구아닌이 아데닌이 티민과 형성하는 것보다 시토신과 더 안정적인 염기쌍을 형성하기 때문이다. 혼성화 영역은 0%에서 100% 사이의 구아닌 또는 시토신 함량(GC 함량이라고도 함)을 가질 수 있다.
혼성화 영역 길이 및 GC 함량 외에도 OEPCR의 효율성에 영향을 미칠 수 있는 핵산 서열 설계의 더 많은 측면이 있다. 예를 들어, 구성요소 내의 바람직하지 않은 2차 구조의 형성은 의도된 인접 성분과의 혼성화 생성물을 형성하는 능력을 방해할 수 있다. 이러한 2차 구조에는 헤어핀 루프(hairpin loop)가 포함될 수 있다. 핵산에 대한 가능한 2차 구조의 유형과 그 안정성(가령 용융 온도)은 서열을 기반으로 예측될 수 있다. 설계 공간 검색 알고리즘을 사용하여 잠재적으로 억제성인 2차 구조가 있는 서열을 피하면서 효율적인 OEPCR을 위한 적절한 길이와 GC 함량 기준을 충족하는 핵산 서열을 결정할 수 있다. 설계 공간 검색 알고리즘은 유전자 알고리즘, 휴리스틱 검색 알고리즘, 금기 검색과 같은 메타 휴리스틱 검색 전략, 분기 및 경계(branch-and-bound) 검색 알고리즘, 동적 프로그래밍 기반 알고리즘, 제한된 조합 최적화 알고리즘, 경사 하강 기반 알고리즘, 무작위 검색 알고리즘, 또는 이의 조합을 포함할 수 있다.
마찬가지로, 동종이량체(동일한 서열의 핵산 분자와 혼성화하는 핵산 분자) 및 원치 않는 이종이량체(의도된 조립 파트너를 제외하고 다른 핵산 서열과 혼성화하는 핵산 서열)의 형성은 OEPCR을 방해할 수 있다. 핵산 내의 2차 구조와 유사하게, 동종이량체 및 이종이량체의 형성은 계산 방법 및 설계 공간 검색 알고리즘을 사용하여 핵산 설계 중에 예측되고 설명될 수 있다.
더 긴 핵산 서열 또는 더 높은 GC 함량은 OEPCR을 통해 원치 않는 2차 구조, 동종이량체 및 이종이량체의 형성을 증가시킬 수 있다. 따라서, 일부 실시예에서, 더 짧은 핵산 서열 또는 더 낮은 GC 함량의 사용은 더 높은 조립 효율을 초래할 수 있다. 이들 설계 원칙은 보다 효율적인 조립을 위해 긴 혼성화 영역이나 높은 GC 함량을 사용하는 설계 전략에 반대될 수 있다. 따라서, 일부 실시예에서, OEPCR은 높은 GC 함량을 갖는 긴 혼성화 영역을 사용하고 낮은 GC 함량을 갖는 짧은 비혼성화 영역을 사용함으로써 최적화될 수 있다. 핵산의 전체 길이는 적어도 10, 20, 30, 40, 50, 60, 70, 80, 90 또는 100개 염기 또는 그 이상일 수 있다. 일부 실시예에서, 조립 효율이 최적화되는 핵산의 혼성화 영역에 대한 최적의 길이 및 최적의 GC 함량이 있을 수 있다.
OEPCR 반응에서 더 많은 수의 개별 핵산이 예상 조립 효율을 방해할 수 있다. 이는 더 많은 수의 별개의 핵산 서열이 특히 이종이량체 형태로 바람직하지 않은 분자 상호작용에 대한 더 높은 확률을 생성할 수 있기 때문이다. 따라서 다수의 구성요소를 조립하는 OEPCR의 일부 구현예에서, 핵산 서열 제약은 효율적인 조립을 위해 더욱 엄격해질 수 있다.
예상되는 최종 조립 산물을 증폭하기 위한 프라이머가 OEPCR 반응에 포함될 수 있다. 그런 다음 OEPCR 반응은 구성요소 사이에 더 많은 조립체를 생성할 뿐만 아니라 기존 PCR 방식으로 전체 조립된 산물을 기하급수적으로 증폭하여 조립된 제품의 수율을 향상시키기 위해 더 많은 온도 주기로 수행될 수 있다(화학적 방법 섹션 D를 참조할 수 있다).
조립 효율성을 향상시키기 위해 OEPCR 반응에 첨가제가 포함될 수 있다. 예를 들어, 베타인, 디메틸 설폭사이드(DMSO), 비이온성 세제, 포름아미드, 마그네슘, 소 혈청 알부민(BSA) 또는 이들의 조합의 첨가가 있다. 첨가물 함량(부피당 중량)은 적어도 0%, 1%, 5%, 10%, 20% 이상일 수 있다.
OEPCR을 위해 다양한 중합효소가 사용될 수 있다. 중합효소는 자연적으로 발생하거나 합성될 수 있다. 예시적인 중합효소는 Φ29 중합효소 또는 이의 유도체이다. 어떤 경우에는 전사효소(transcriptase) 또는 리가아제(즉, 결합 형성을 촉매하는 효소)가 중합효소와 함께 또는 중합효소의 대안으로 사용되어 새로운 핵산 서열을 구성한다. 중합효소의 예에는 DNA 중합효소, RNA 중합효소, 열안정성 중합효소, 야생형 중합효소, 변형된 중합효소, 대장균 DNA 중합효소 I, T7 DNA 중합효소, 박테리오파지 T4 DNA 중합효소 Φ29(phi29) DNA 중합효소, Taq 중합효소, Tth 중합효소, Tli 중합효소, Pfu 중합효소 Pwo 중합효소, VENT 중합효소, DEEPVENT 중합효소, Ex-Taq 중합효소, LA-Taw 중합효소, Sso 중합효소 Poc 중합효소, Pab 중합효소, Mth 중합효소 ES4 중합효소, Tru 중합효소, Tac 중합효소, Tne 중합효소, Tma 중합효소, Tca 중합효소, Tih 중합효소, Tfi 중합효소, 백금 Taq 중합효소, Tbr 중합효소, Phusion 중합효소, KAPA 중합효소, Q5 중합효소, Tfl 중합효소, Pfutubo 중합효소, Pyrobest 중합효소, KOD 중합효소, Bst 중합효소, Sac 중합효소, 3'에서 5' 엑소뉴클레아제 활성을 갖는 Klenow 단편 중합효소, 및 이의 변형, 수정된 산물 및 파생물이 있다. 상이한 중합효소는 상이한 온도에서 안정적이고 최적으로 기능할 수 있다. 또한, 상이한 중합효소는 상이한 특성을 가지고 있다. 예를 들어, Phusion 중합효소와 같은 일부 중합효소는 3'에서 5' 엑소뉴클레아제 활성을 나타낼 수 있으며, 이는 핵산 신장 동안 더 높은 충실도에 기여할 수 있다. 일부 중합효소는 신장 동안 주요 서열을 대체할 수 있는 반면, 다른 중합효소는 이를 분해하거나 신장을 중단시킬 수 있다. Taq과 같은 일부 중합효소는 핵산 서열의 3' 말단에 아데닌 염기를 포함시킨다. 이 과정을 A-테일링(A-tailing)이라고 하며, 아데닌 염기를 추가하면 의도된 인접 구성요소 간의 설계된 3' 상보성을 방해할 수 있으므로 OEPCR을 억제할 수 있다.
OEPCR은 중합효소 순환 어셈블리(또는 PCA)라고도 한다.
B. 결찰 조립
결찰 조립에서, 하나 이상의 리가아제 효소와 추가 보조인자를 포함하는 반응에서 별도의 핵산이 조립된다. 보조인자에는 아데노신 삼인산염(ATP), 디티오트레이톨(DTT) 또는 마그네슘 이온(Mg2+)이 포함될 수 있다. 결찰(ligation) 동안, 하나의 핵산 가닥의 3'-말단은 다른 핵산 가닥의 5'-말단에 공유적으로 연결되어 조립된 핵산을 형성한다. 결찰 반응의 구성요소는 무딘 말단 이중 가닥 DNA(dsDNA), 단일 가닥 DNA(ssDNA) 또는 부분적으로 혼성화된 단일 가닥 DNA일 수 있다. 핵산의 말단을 하나로 모으는 전략은 리가아제 효소에 대한 생존 기질의 빈도를 증가시켜 리가아제 반응의 효율성을 향상시키는 데 사용될 수 있다. 무딘 말단의 dsDNA 분자는 리가아제 효소가 작용할 수 있는 소수성 스택을 형성하는 경향이 있지만, 핵산을 하나로 모으는 보다 성공적인 전략은 조립하려는 구성요소의 오버행에 대한 상보성을 갖는 5' 또는 3' 단일 가닥 오버행이 있는 핵산 성분을 사용하는 것일 수 있다. 후자의 경우, 염기-염기 혼성화로 인해 보다 안정적인 핵산 이중가닥이 형성될 수 있다.
이중 가닥 핵산의 한쪽 말단에 오버행 가닥이 있는 경우, 동일한 말단 상의 다른 가닥은 "캐비티"로 지칭될 수 있다. 공동부와 돌출부가 함께 "응집성 말단"이라고도 알려진 "점착성 말단"을 형성한다. 점착성 말단은 3' 오버행과 5' 캐비티일 수도 있고, 5' 오버행과 3' 캐비티일 수도 있다. 2개의 의도된 인접한 구성요소들 사이의 점착성 말단은 두 점착성 말단의 오버행이 혼성화되어 각 오버행이 다른 구성요소의 캐비티의 시작 부분에 직접 인접하게 말단되도록 상보성을 갖도록 설계될 수 있다. 이는 리가아제의 작용에 의해 "봉인"(포스포디에스테르 결합을 통해 공유 결합)될 수 있는 "닉(nick)"(이중 가닥 DNA 파손)을 형성한다. 3개의 핵산을 조립하기 위한 점착성 말단 결찰의 예시 도식은 도 8에 나와 있다. 한쪽 가닥이나 다른 쪽 가닥의 닉(nick) 또는 둘 모두가 밀봉될 수 있다. 열역학적으로, 점착성 말단을 형성하는 분자의 상단 및 하단 가닥은 결합된 상태와 해리된 상태 사이를 이동할 수 있으므로 점착성 말단은 일시적인 형성일 수 있다. 그러나 두 구성요소 사이의 점착성 말단 이중 가닥의 한 가닥을 따라 있는 틈이 밀봉되면 반대 가닥의 구성원이 분리되더라도 해당 공유 결합은 그대로 유지된다. 그러면 연결된 가닥은 반대쪽 가닥의 의도된 인접 구성원이 결합할 수 있고 다시 한번 밀봉될 수 있는 틈을 형성할 수 있는 주형이 될 수 있다.
점착성 말단은 하나 이상의 엔도뉴클레아제로 dsDNA를 분해하여 생성될 수 있다. 엔도뉴클레아제(제한 효소라고도 함)는 dsDNA 분자의 한쪽 또는 양쪽 말단에서 특정 부위(제한 부위라고도 함)를 표적으로 삼아 엇갈린 절단(때때로 소화라고도 함)을 생성하여 점착성 말단을 남겨둘 수 있다. 제한 소화에 대해서는 화학적 방법 섹션 C를 참조할 수 있다. 소화는 회문형 오버행(자체 역보체인 서열이 있는 오버행)을 남길 수 있다. 그렇다면 동일한 엔도뉴클레아제로 소화된 두 구성요소는 리가아제와 조립될 수 있는 상보적인 점착성 말단을 형성할 수 있다. 엔도뉴클레아제와 리가아제가 호환되는 경우 동일한 반응에서 소화와 결찰이 함께 발생할 수 있다. 반응은 섭씨 4, 10, 16, 25 또는 37도와 같은 균일한 온도에서 발생할 수 있다. 또는 반응은 섭씨 16도에서 37도 사이와 같이 여러 온도 사이에서 순환될 수 있다. 여러 온도 사이를 순환하면 주기의 여러 부분 동안 소화와 결찰이 각각 최적의 온도에서 진행될 수 있다.
소화와 결찰을 별도의 반응으로 수행하는 것이 유익할 수 있다. 예를 들어, 원하는 리가아제와 원하는 엔도뉴클레아제가 서로 다른 조건에서 최적으로 기능하는 경우이다. 또는 예를 들어 결찰된 산물이 엔도뉴클레아제에 대한 새로운 제한 부위를 형성하는 경우이다. 이러한 경우, 제한 소화를 수행한 후 결찰을 별도로 수행하는 것이 더 나을 수 있으며, 아마도 결찰 전에 제한 효소를 제거하는 것이 더 유리할 수 있다. 핵산은 페놀-클로로포름 추출, 에탄올 침전, 자성 비드 포획 및/또는 실리카막 흡착, 세척 및 용출을 통해 효소로부터 분리될 수 있다. 여러 엔도뉴클레아제가 동일한 반응에 사용될 수 있지만, 엔도뉴클레아제가 서로 간섭하지 않고 유사한 반응 조건에서 기능하도록 주의를 기울여야 한다. 두 개의 엔도뉴클레아제를 사용하면 dsDNA 구성요소의 양쪽 말단에 직교(비상보적) 점착성 말단을 만들 수 있다.
엔도뉴클레아제 소화는 인산화된 5' 말단과 함께 점착성 말단을 남길 것이다. 리가아제는 인산화된 5' 말단에서만 기능할 수 있으며, 인산화되지 않은 5' 말단에서는 기능할 수 없다. 따라서 소화와 결찰 사이에 중간 5' 인산화 단계가 필요하지 않을 수 있다. 점착성 말단 상의 회문 오버행이 있는 소화된 dsDNA 구성요소는 자체적으로 결찰될 수 있다. 자가 결찰을 방지하기 위해 결찰 전에 상기 dsDNA 성분을 탈인산화하는 것이 유익할 수 있다.
다수의 엔도뉴클레아제는 서로 다른 제한 부위를 표적으로 삼을 수 있지만 호환 가능한 오버행(서로의 역보완인 오버행)을 남길 수 있다. 두 개의 이러한 엔도뉴클레아제로 생성된 끈적끈적한 말단의 결찰 생성물은 결찰 부위에 어느 엔도뉴클레아제에 대한 제한 부위도 포함하지 않는 조립된 생성물을 생성할 수 있다. 이러한 엔도뉴클레아제는 반복적인 소화-결찰 주기를 수행하여 단 두 개의 엔도뉴클레아제를 사용하여 여러 구성요소를 프로그래밍 방식으로 조립할 수 있는 바이오브릭 조립과 같은 조립 방법의 기초를 형성한다. 도 20은 호환 가능한 오버행을 갖는 엔도뉴클레아제 BamHI 및 BglII를 사용하는 소화-결찰 주기의 예를 예시한다.
일부 구현예에서, 점착성 말단을 생성하는 데 사용되는 엔도뉴클레아제는 IIS 유형 제한 효소일 수 있다. 이들 효소는 제한 부위에서 특정 방향으로 고정된 수의 염기를 절단하므로 이들이 생성하는 오버행의 서열을 맞춤화할 수 있다. 오버행 서열은 회문식일 필요는 없다. 동일한 유형의 IIS 제한 효소가 사용되어 동일한 반응 또는 여러 반응에서 여러 개의 서로 다른 점착성 말단을 생성할 수 있다. 더욱이, 하나 또는 다중 유형의 IIS 제한 효소를 사용하여 동일한 반응 또는 다중 반응에서 호환 가능한 오버행을 갖는 구성요소를 생성할 수 있다. 유형 IIS 제한 효소에 의해 생성된 두 개의 점착성 말단 사이의 결찰 부위는 새로운 제한 부위를 형성하지 않도록 설계될 수 있다. 또한, 유형 IIS 제한 효소 부위는 dsDNA에 위치하여 제한 효소가 점착성 말단을 갖는 구성요소를 생성할 때 자신의 제한 부위를 절단할 수 있다. 따라서 IIS 제한 효소 유형에서 생성된 여러 구성요소 간의 연결 제품에는 제한 부위가 포함되지 않을 수 있다.
유형 IIS 제한 효소는 리가아제와 함께 반응에서 혼합되어 성분 소화 및 결찰을 함께 수행할 수 있다. 반응 온도는 최적의 소화 및 결찰을 촉진하기 위해 두 개 이상의 값 사이에서 순환될 수 있다. 예를 들어, 소화는 섭씨 37도에서 최적으로 수행될 수 있고, 결찰은 섭씨 16도에서 최적으로 수행될 수 있다. 보다 일반적으로, 반응은 적어도 섭씨 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60 또는 65도 이상의 온도 값 사이에서 순환될 수 있다. 조합된 소화 및 결찰 반응이 사용되어 적어도 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 또는 20개 이상의 구성요소를 조립할 수 있다. 유형 IIS 제한 효소를 활용하여 점착성 말단을 생성하는 조립 반응의 예로는 Golden Gate Assembly(Golden Gate Cloning이라고도 함) 또는 Modular Cloning(MoClo라고도 함)이 있다.
결찰의 일부 실시예에서, 엑소뉴클레아제를 사용하여 점착성 말단을 갖는 구성요소가 생성될 수 있다. 3' 엑소뉴클레아제는 dsDNA의 3' 말단을 츄잉백하여 5' 오버행을 생성하는 데 사용될 수 있다. 마찬가지로, 5' 엑소뉴클레아제가 사용되어 dsDNA의 5' 말단을 츄잉백하여 3' 오버행을 생성할 수 있다. 상이한 엑소뉴클레아제는 상이한 특성을 가질 수 있다. 예를 들어, ssDNA에 작용하는지 여부, 인산화된 또는 비인산화된 5' 말단에 작용하는지 여부, 닉(nick)에서 시작할 수 있는지 여부, 또는 5' 캐비티, 3' 캐비티, 5' 오버행 또는 3' 오버행에서 활동을 시작할 수 있는지 여부에 따라, 엑소뉴클레아제는 뉴클레아제 활성 방향(5'에서 3' 또는 3'에서 5')이 상이할 수 있다. 다양한 유형의 엑소뉴클레아제에는 람다 엑소뉴클레아제, RecJf, 엑소뉴클레아제 III, 엑소뉴클레아제 I, 엑소뉴클레아제 T, 엑소뉴클레아제 V, 엑소뉴클레아제 VIII, 엑소뉴클레아제 VII, 뉴클레아제 BAL_31, T5 엑소뉴클레아제, 및 T7 엑소뉴클레아제가 포함된다.
엑소뉴클레아제는 리가아제와 함께 반응에 사용되어 여러 구성요소를 조립할 수 있다. 반응은 고정된 온도 또는 여러 온도 사이의 주기에서 발생할 수 있으며, 각각은 리가아제 또는 엑소뉴클레아제에 이상적이다. 중합효소는 리가아제 및 5'-to-3' 엑소뉴클레아제와의 조립 반응에 포함될 수 있다. 이러한 반응의 구성요소는 서로 인접하여 조립되도록 의도된 구성요소가 가장자리에서 상동성 서열을 공유하도록 설계될 수 있다. 예를 들어, 구성요소 Y와 조립될 구성요소 X는 5'-z-3' 형태의 3' 가장자리 서열을 가질 수 있고, 구성요소 Y는 5'-z-3' 형태의 5' 각장자리 서열을 가질 수 있고, 여기서 z는 임의의 핵산 서열이다. 우리는 '깁슨 오버랩(gibson overlap)'과 같은 형태의 상동 가장자리 서열을 참조한다. 5' 엑소뉴클레아제는 깁슨 오버랩이 있는 dsDNA 구성요소의 5' 말단을 츄잉백하면서 서로 혼성화되는 호환 가능한 3' 오버행을 생성한다. 그런 다음 혼성화된 3' 말단은 중합효소의 작용에 의해 주형 구성요소의 말단까지 또는 하나의 구성요소의 확장된 3' 오버행이 인접한 구성요소의 5' 캐비티와 만나는 지점까지 확장되어 리가아제에 의해 밀봉될 수 있는 닉을 형성할 수 있다. 중합효소, 리가아제, 및 엑소뉴클레아제가 함께 사용되는 이러한 조립 반응을 종종 "깁슨 조립(Gibson assembly)"이라고 한다. 깁슨 조립은 T5 엑소뉴클레아제, Phusion 중합효소 및 Taq 리가아제를 사용하고 반응물을 섭씨 50도에서 배양함으로써 수행될 수 있다. 상기 경우, 호열성 리가아제인 Taq를 사용하면 반응에서 세 가지 유형의 효소 모두에 적합한 온도인 섭씨 50도에서 반응이 진행될 수 있다.
"깁슨 조립"이라는 용어는 일반적으로 중합효소, 리가아제 및 엑소뉴클레아제를 포함하는 모든 조립 반응을 의미할 수 있다. 깁슨 조립은 적어도 2개, 3개, 4개, 5개, 6개, 7개, 8개, 9개, 10개 이상의 구성요소를 조립하는 데 사용될 수 있다. 깁슨 조립은 1단계, 등온 반응 또는 하나 이상의 온도 배양을 통한 다단계 반응으로 발생할 수 있다. 예를 들어, 깁슨 조립은 최소 30, 40, 50, 60 또는 70도 이하의 온도에서 발생할 수 있다. 깁슨 조립을 위한 배양 시간은 적어도 1, 5, 10, 20, 40 또는 80분일 수 있다.
깁슨 조립 반응은 의도된 인접 구성요소들 사이의 깁슨 중첩이 특정 길이이고 헤어핀, 동종이량체 또는 원치 않는 이종이량체와 같은 바람직하지 않은 혼성화 사건을 피하는 서열과 같은 서열 특징을 가질 때 최적으로 발생할 수 있다. 일반적으로 적어도 20개 베이스의 깁슨 오버랩이 권장된다. 그러나 깁슨 오버랩은 길이가 적어도 1, 2, 3, 5, 10, 20, 30, 40, 50, 60, 100 또는 그 이상의 염기일 수 있다. 깁슨 오버랩의 GC 함량은 0%에서 100% 사이일 수 있다.
깁슨 조립은 일반적으로 5' 엑소뉴클레아제로 설명되지만 반응은 3' 엑소뉴클레아제에서도 발생할 수 있다. 3' 엑소뉴클레아제가 dsDNA 구성요소의 3' 말단을 츄잉백할 때 중합효소는 3' 말단을 확장하여 해당 작용을 방해한다. 이러한 동적 과정은 두 구성요소(깁슨 중첩을 공유함)의 5' 오버행(엑소뉴클레아제에 의해 생성됨)이 혼성화되고 중합효소가 한 구성요소의 3' 말단을 인접 구성요소의 5' 말단과 만날 만큼 충분히 멀리 확장할 때까지 계속될 수 있으며, 따라서 리가아제에 의해 봉인될 수 있는 닉이 남겨질 수 있다.
결찰의 일부 실시예에서, 점착성 말단을 갖는 구성요소는 완전한 상보성을 공유하지 않는 2개의 단일 가닥 핵산 또는 올리고를 함께 혼합함으로써 효소적으로가 아니라 합성적으로 생성될 수 있다. 예를 들어, 두 개의 올리고, 올리고 X와 올리고 Y는 하나 또는 두 올리고 모두를 구성하는 더 큰 염기 스트링의 서브스트링을 형성하는 연속적인 상보 염기 스트링을 따라 완전히 혼성화하도록 설계될 수 있다. 이 상보적인 염기 스트링을 "인덱스 영역"이라고 한다. 인덱스 영역이 올리고 X 전체와 올리고 Y의 5' 말단만을 차지하는 경우, 올리고는 함께 한쪽에는 무딘 말단이 있고 다른 한쪽에는 올리고 Y의 3' 오버행가 있는 점착성 말단이 있는 구성요소를 형성한다( 도 21a). 인덱스 영역이 올리고 X 전체와 올리고 Y의 3' 말단만을 차지하는 경우, 올리고는 함께 한쪽에는 무딘 말단이 있고 다른 쪽에는 올리고 Y의 5' 오버행이 있는 점착성 말단이 있는 구성요소를 형성한다( 도 21b). 인덱스 영역이 올리고 X 전체를 차지하고 올리고 Y의 어느 쪽 말단도 차지하지 않는 경우(인덱스 영역이 올리고 Y의 중간에 내장되어 있음을 의미), 올리고는 함께 한 쪽에 올리고 Y로부터의 3' 오버행이 있는 점착성 말단이 있고 다른 쪽에 올리고 Y로부터의 5' 오버행을 갖는 구성요소를 형성한다(도 21c). 인덱스 영역이 올리고 X의 5' 말단과 올리고 Y의 5' 말단만 차지하는 경우, 올리고는 함께 한 쪽에는 올리고 Y로부터의 3' 오버행이 있는 점착성 말단이 있고 다른 쪽에는 올리고 X로부터의 3' 오버행이 있는 구성요소를 형성한다(도 21d). 인덱스 영역이 올리고 X의 3' 말단과 올리고 Y의 3' 말단만 차지하는 경우, 올리고는 함께 한 쪽에는 올리고 Y로부터의 5' 오버행이 있는 점착성 말단이 있고 다른 쪽에는 올리고 X로부터의 5' 오버행이 있는 구성요소를 형성한다(도 21e). 전술한 예에서, 오버행의 서열은 인덱스 영역 외부의 올리고 서열에 의해 정의된다. 이들 오버행 서열은 결찰을 위해 구성요소가 혼성화되는 영역이기 때문에 혼성화 영역으로 지칭될 수 있다.
점착성 말단 결찰에서 올리고의 인덱스 영역과 혼성화 영역은 구성요소의 적절한 조립을 촉진하도록 설계될 수 있다. 오버행이 긴 구성요소는 오버행이 짧은 구성요소에 비해 주어진 어닐링 온도에서 서로 더 효율적으로 혼성화할 수 있다. 오버행은 적어도 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 30개 이상의 염기 길이를 가질 수 있다.
높은 구아닌 또는 시토신 함량을 포함하는 오버행을 갖는 구성요소는 낮은 구아닌 또는 시토신 함량을 포함하는 오버행을 갖는 구성요소보다 주어진 온도에서 상보적 구성요소에 더 효율적으로 혼성화할 수 있다. 이는 구아닌이 아데닌이 티민과 형성하는 것보다 시토신과 더 안정적인 염기쌍을 형성하기 때문이다. 오버행의 구아닌 또는 시토신 함량(GC 함량이라고도 함)은 0%에서 100% 사이일 수 있다.
오버행 서열과 마찬가지로, 올리고 인덱스 영역의 GC 함량과 길이도 결찰 효율성에 영향을 미칠 수 있다. 각 구성요소의 상단과 하단 가닥을 안정적으로 묶어주면 점착성 말단 구성요소가 더욱 효율적으로 조립될 수 있기 때문이다. 따라서 인덱스 영역은 더 높은 GC 함량, 더 긴 서열 및 더 높은 용융 온도를 촉진하는 그 밖의 다른 특징으로 설계될 수 있다. 그러나 인덱스 영역과 오버행 서열 모두에 대해 올리고 설계에는 결찰 조립체의 효율성에 영향을 미칠 수 있는 더 많은 측면이 있다. 예를 들어, 구성요소 내에 원하지 않는 2차 구조가 형성되면 의도된 인접 구성요소와 조립된 산물을 형성하는 능력이 방해를 받을 수 있다. 이는 인덱스 영역, 오버행 서열 또는 둘 다의 2차 구조로 인해 발생할 수 있다. 이러한 2차 구조에는 헤어핀 루프(hairpin loop)가 포함될 수 있다. 올리고에 대한 가능한 2차 구조의 유형과 그 안정성(가령 용융 온도)은 서열을 기반으로 예측될 수 있다. 설계 공간 검색 알고리즘을 사용하면 잠재적으로 억제할 수 있는 2차 구조가 있는 서열을 피하면서 효과적인 구성요소 형성을 위한 적절한 길이와 GC 함량 기준을 충족하는 올리고 서열을 결정할 수 있다. 설계 공간 검색 알고리즘은 유전자 알고리즘, 휴리스틱 검색 알고리즘, 금기 검색과 같은 메타 휴리스틱 검색 전략, 분기 및 경계(branch-and-bound) 검색 알고리즘, 동적 프로그래밍 기반 알고리즘, 제한된 조합 최적화 알고리즘, 경사 하강 기반 알고리즘, 무작위 검색 알고리즘, 또는 이의 조합을 포함할 수 있다.
마찬가지로, 동종이량체(동일한 서열의 올리고와 혼성화하는 올리고) 및 원치 않는 이종이량체(의도된 조립 파트너를 제외한 다른 올리고와 혼성화하는 올리고)의 형성은 결찰을 방해할 수 있다. 구성요소 내의 2차 구조와 유사하게, 동종이량체 및 이종이량체의 형성은 계산 방법 및 설계 공간 검색 알고리즘을 사용하여 구성요소 설계 중에 예측되고 설명될 수 있다.
올리고 서열이 길거나 GC 함량이 높을수록 결찰 반응 내에서 원치 않는 2차 구조, 동종이량체 및 이종이량체의 형성이 증가할 수 있다. 따라서 일부 실시예에서 더 짧은 올리고 또는 더 낮은 GC 함량을 사용하면 조립 효율성이 더 높아질 수 있다. 이러한 설계 원칙은 보다 효율적인 조립을 위해 긴 올리고 또는 높은 GC 함량을 사용하는 설계 전략에 반대될 수 있다. 따라서, 결찰 조립의 효율성이 최적화되도록 각 구성요소를 구성하는 올리고에 대한 최적의 길이와 최적의 GC 함량이 있을 수 있다. 결찰에 사용되는 올리고의 전체 길이는 적어도 10, 20, 30, 40, 50, 60, 70, 80, 90 또는 100개 염기 또는 그 이상일 수 있다. 결찰에 사용되는 올리고의 전체 GC 함량은 0%에서 100% 사이일 수 있다.
점착성 말단 결찰 외에도, 스테이플(또는 주형 또는 브리지) 가닥을 사용하여 단일 가닥 핵산들 간에 결찰이 발생할 수도 있다. 이 방법은 스테이플 가닥 결찰(SSL), 주형 지정 결찰(TDL) 또는 브리지 가닥 결찰이라고 할 수 있다. 3개의 핵산을 조립하기 위한 TDL의 예시적 개략도는 도 10a에 도시되어 있다. TDL에서는, 두 개의 단일 가닥 핵산이 주형에 인접하게 혼성화되어 리가아제에 의해 밀봉될 수 있는 닉을 형성한다. 점착성 말단 결찰에 대한 동일한 핵산 설계 고려 사항이 TDL에도 적용된다. 주형과 의도된 상보적 핵산 서열 사이의 더 강한 혼성화는 증가된 결찰 효율로 이어질 수 있다. 따라서 주형 양쪽의 혼성화 안정성(또는 용융 온도)을 향상시키는 서열 특징은 결찰 효율을 향상시킬 수 있다. 이러한 특징에는 더 긴 서열 길이와 더 높은 GC 함량이 포함될 수 있다. 주형을 포함한 TDL의 핵산 길이는 적어도 5, 10, 20, 30, 40, 50, 60, 70, 80, 90 또는 100개 염기 또는 그 이상일 수 있다. 주형을 포함한 핵산의 GC 함량은 0%에서 100% 사이일 수 있다.
TDL에서는, 점착성 말단 연결과 마찬가지로 서열 공간 검색 알고리즘이 포함된 핵산 구조 예측 소프트웨어를 사용하여 원치 않는 2차 구조를 피하는 구성요소 및 주형 서열을 설계하는 데 주의를 기울일 수 있다. TDL의 구성요소는 이중 가닥이 아닌 단일 가닥일 수 있으므로 노출된 염기로 인해 원치 않는 2차 구조(점착성 말단 결찰과 비교하여)가 발생할 가능성이 더 높을 수 있다.
TDL은 또한 무딘 말단 dsDNA 구성요소를 사용하여 수행될 수도 있다. 이러한 반응에서, 스테이플 가닥이 두 개의 단일 가닥 핵산을 적절하게 연결하기 위해 스테이플은 먼저 전체 단일 가닥 상보체를 대체하거나 부분적으로 대체해야 할 수 있다. dsDNA 성분과의 TDL 반응을 촉진하기 위해 dsDNA는 초기에 고온에서 배양하여 용융될 수 있다. 그런 다음 반응이 냉각되어 스테이플 가닥이 적절한 핵산 보체에 어닐링될 수 있다. 이 과정은 dsDNA 구성요소에 비해 상대적으로 높은 농도의 주형을 사용하여 훨씬 더 효율적으로 이루어질 수 있으며, 따라서 주형이 결합을 위해 적절한 전체 길이의 ssDNA 보체와 경쟁할 수 있게 된다. 두 개의 ssDNA 가닥이 주형과 리가아제에 의해 조립되면, 조립된 핵산은 반대편 전장 ssDNA 보체에 대한 주형이 될 수 있다. 따라서 무딘 말단 dsDNA와 TDL의 연결은 여러 차례의 용융(더 높은 온도에서 배양) 및 어닐링(낮은 온도에서 배양)을 통해 개선될 수 있다. 이 과정을 리가아제 순환 반응(LCR)이라고 한다. 적절한 용융 및 어닐링 온도는 핵산 서열에 따라 달라진다. 용융 및 어닐링 온도는 적어도 섭씨 4, 10, 20, 20, 30, 40, 50, 60, 70, 80, 90 또는 100도일 수 있다. 온도 사이클의 수는 적어도 1, 5, 10, 15, 20, 15, 30 또는 그 이상일 수 있다.
모든 결찰은 고정 온도 반응 또는 다중 온도 반응에서 수행될 수 있다. 결찰 온도는 적어도 섭씨 0, 4, 10, 20, 20, 30, 40, 50 또는 60도 이상일 수 있다. 리가아제 활성을 위한 최적 온도는 리가아제 유형에 따라 다를 수 있다. 또한, 반응에서 구성요소가 인접하거나 혼성화되는 속도는 해당 핵산 서열에 따라 다를 수 있다. 배양 온도가 높을수록 확산 속도가 빨라지고 구성요소가 일시적으로 인접하거나 혼성화되는 빈도가 높아진다. 그러나 온도가 증가하면 염기쌍 사이의 수소 결합이 파괴되어 인접하거나 혼성화된 구성요소 이중체의 안정성이 감소할 수도 있다. 결찰을 위한 최적의 온도는 조립할 핵산의 수, 해당 핵산의 서열, 리가아제 유형 및 반응 첨가제와 같은 기타 요인에 따라 달라질 수 있다. 예를 들어, 4개 염기의 상보적인 오버행이 있는 두 개의 점착성 말단 구성요소는 T4 리가아제를 사용하는 섭씨 25도보다 T4 리가아제를 사용하는 섭씨 4도에서 더 빠르게 조립될 수 있다. 그러나 25개 염기의 상보적 오버행이 있는 두 개의 점착성 말단 구성요소는 T4 리가아제를 사용하는 섭씨 4도에서보다 T4 리가아제를 사용하는 섭씨 2도에서 더 빠르게 조립될 수 있으며 어떤 온도에서든 4-염기 오버행을 사용하는 결찰보다 더 빠를 수 있다. 결찰의 일부 구현예에서, 리가아제 첨가 전에 어닐링을 위한 구성요소를 가열하고 서서히 냉각시키는 것이 유익할 수 있다.
결찰은 적어도 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20개 이상의 핵산을 조립하는 데 사용될 수 있다. . 결찰 배양 시간은 최대 30초, 1분, 2분, 5분, 10분, 20분, 30분, 1시간 또는 그 이상일 수 있다. 배양 시간이 길수록 결찰 효율성이 향상될 수 있다.
결찰에는 5' 인산화된 말단을 가진 핵산이 필요할 수 있다. 5' 인산화 말단이 없는 핵산 성분은 T4 폴리뉴클레오티드 키나제(또는 T4 PNK)와 같은 폴리뉴클레오티드 키나제와의 반응으로 인산화될 수 있다. ATP, 마그네슘 이온 또는 DTT와 같은 다른 보조 인자가 반응에 존재할 수 있다. 폴리뉴클레오티드 키나제 반응은 섭씨 37도에서 30분 동안 발생할 수 있다. 폴리뉴클레오티드 키나제 반응 온도는 적어도 섭씨 4, 10, 20, 20, 30, 40, 50 또는 60도 이상일 수 있다. 폴리뉴클레오티드 키나제 반응 배양 시간은 최대 1분, 5분, 10분, 20분, 30분, 60분 이상일 수 있다. 대안으로, 핵산 성분은 변형된 5' 인산화를 사용하여 합성적으로(효소적으로 반대되는) 설계되고 제조될 수 있다. 5' 말단에 조립되는 핵산만 인산화가 필요할 수 있다. 예를 들어, TDL의 주형은 조립할 의도가 아니기 때문에 인산화되지 않을 수 있다.
결찰 효율을 향상시키기 위해 결찰 반응에 첨가제가 포함될 수 있다. 예를 들어, 디메틸 설폭사이드(DMSO), 폴리에틸렌 글리콜(PEG), 1,2-프로판디올(1,2-Prd), 글리세롤, Tween-20 또는 이들의 조합이 첨가될 수 있다. PEG6000은 특히 효과적인 결찰 강화제일 수 있다. PEG6000은 군집제(crowding agent) 역할을 하여 결찰 효율성을 높일 수 있다. 예를 들어, PEG6000은 리가아제 반응 용액에서 공간을 차지하고 리가아제와 구성요소를 더 가깝게 만드는 응집된 결절을 형성할 수 있다. 첨가물 함량(부피당 중량)은 적어도 0%, 1%, 5%, 10%, 20% 이상일 수 있다.
결찰에는 다양한 리가아제가 사용될 수 있다. 리가아제는 자연적으로 발생하거나 합성될 수 있다. 리가아제의 예에는 T4 DNA 리가아제, T7 DNA 리가아제, T3 DNA 리가아제, Taq DNA 리가아제, 9oNTM DNA 리가아제, 대장균 DNA 리가아제, 및 SplintR DNA 리가아제가 포함된다. 상이한 리가아제는 다양한 온도에서 안정적이고 최적으로 기능할 수 있다. 예를 들어, Taq DNA 리가아제는 내열성이 있지만 T4 DNA 리가아제는 그렇지 않다. 게다가, 상이한 리가아제는 상이한 특성을 가지고 있다. 예를 들어, T4 DNA 리가아제는 무딘 말단 dsDNA를 결찰할 수 있지만 T7 DNA 리가아제는 그렇지 않을 수 있다.
결찰을 사용하여 서열 분석 어댑터를 핵산 라이브러리에 부착할 수 있다. 예를 들어, 결찰은 핵산 라이브러리의 각 구성원의 말단에 있는 공통 접착 말단 또는 스테이플을 사용하여 수행될 수 있다. 핵산의 한쪽 말단의 점착성 말단이나 스테이플이 다른 쪽 말단의 것과 다른 경우 시퀀싱 어댑터가 비대칭으로 결찰될 수 있다. 예를 들어, 순방향 서열분석 어댑터는 핵산 라이브러리 구성원의 한쪽 말단에 결찰될 수 있고 역방향 서열분석 어댑터는 핵산 라이브러리 구성원의 다른 말단에 결찰될 수 있다. 대안으로, 무딘 말단 결찰을 사용하여 무딘 말단 이중 가닥 핵산 라이브러리에 어댑터를 부착할 수 있다. 포크 어댑터가 각 말단이 동일한 무딘 끝이나 점착성 말단(가령, A-꼬리)이 있는 핵산 라이브러리에 어댑터를 비대칭적으로 연결하는 데 사용할 수 있다.
결찰은 열 불활성화(가령, 65
Figure pct00002
에서 20분 이상 배양), 변성제 첨가 또는 EDTA와 같은 킬레이트제 첨가에 의해 억제될 수 있다.
C. 제한 소화
제한 소화는 제한 엔도뉴클레아제(또는 제한 효소)가 핵산의 동족 제한 부위를 인식하고 이어서 상기 제한 부위를 포함하는 핵산을 절단(또는 소화)하는 반응이다. 유형 I, 유형 II, 유형 III 또는 유형 IV 제한 효소가 제한 소화에 사용될 수 있다. 유형 II 제한 효소는 핵산 분해에 가장 효율적인 제한 효소일 수 있다. 유형 II 제한 효소는 회문형 제한 부위를 인식하고 인식 부위 내의 핵산을 절단할 수 있다. 상기 제한 효소(및 이들의 제한 부위)의 예에는 AatII(GACGTC), AfeI(AGCGCT), ApaI(GGGCCC), DpnI(GATC), EcoRI(GAATTC), NgeI(GCTAGC) 등이 포함됩니다. DpnI 및 AfeI과 같은 일부 제한 효소는 중앙의 제한 부위를 절단하여 무딘 말단의 dsDNA 생성물을 남길 수 있다. EcoRI 및 AatII와 같은 다른 제한 효소는 제한 부위를 중심에서 벗어나서 dsDNA 생성물에 점착성 말단(또는 엇갈린 말단)이 남는다. 일부 제한 효소는 불연속적인 제한 부위를 표적으로 삼을 수 있다. 예를 들어, 제한 효소 AlwNI는 제한 부위 CAGNNNCTG를 인식하며, 여기서 N은 A, T, C 또는 G일 수 있다. 제한 부위의 길이는 적어도 2, 4, 6, 8, 10 또는 그 이상의 염기 길이일 수 있다.
일부 유형 II 제한 효소는 제한 부위 외부의 핵산을 절단한다. 효소는 유형 IIS 또는 유형 IIG 제한 효소로 하위 분류될 수 있다. 상기 효소는 비회문적 제한 부위를 인식할 수 있다. 상기 제한 효소의 예에는 GAAAC를 인식하고 더 하류에 엇갈린 절단 2(동일 가닥) 및 6(반대 가닥) 염기를 생성하는 BbsI이 포함된다. 또 다른 예에는 GGTCTC를 인식하고 더 하류에 엇갈린 절단 1(동일 가닥) 및 5(반대 가닥) 염기를 생성하는 BsaI이 포함된다. 상기 제한효소는 골든 게이트 어셈블리(Golden Gate Assembly) 또는 모듈러 클로닝(MoClo)에 사용될 수 있다. BcgI(유형 IIG 제한 효소)와 같은 일부 제한 효소는 인식 부위의 양쪽 말단에서 엇갈린 절단을 생성할 수 있다. 제한 효소는 인식 부위에서 적어도 1, 5, 10, 15, 20개 또는 그 이상의 염기를 분리하여 핵산을 절단할 수 있다. 상기 제한 효소는 인식 부위 외부에 엇갈린 절단을 생성할 수 있기 때문에 생성되는 핵산 돌출부의 서열은 임의로 설계될 수 있다. 이는 생성된 핵산 돌출부의 서열이 제한 부위의 서열에 결합되는 인식 부위 내에서 엇갈린 절단을 생성하는 제한 효소와 반대이다. 제한 소화에 의해 생성된 핵산 돌출부는 적어도 1, 2, 3, 4, 5, 6, 7, 8개 이상의 염기 길이일 수 있다. 제한효소가 핵산을 절단할 때 생성되는 5' 말단에는 인산염이 포함된다.
하나 이상의 핵산 서열이 제한 분해 반응에 포함될 수 있다. 마찬가지로, 제한 소화 반응에서는 하나 이상의 제한 효소가 함께 사용될 수 있다. 제한 소화물에는 칼륨 이온, 마그네슘 이온, 나트륨 이온, BSA, S-아데노실-L-메티오닌(SAM) 또는 이들의 조합을 포함하는 첨가제 및 보조인자가 포함될 수 있다. 제한 소화 반응은 섭씨 37도에서 1시간 동안 배양될 수 있다. 제한 소화 반응은 섭씨 0, 10, 20, 30, 40, 50 또는 60도 이상의 온도에서 배양될 수 있다. 최적의 소화 온도는 효소에 따라 달라질 수 있다. 제한 분해 반응은 최대 1분, 10분, 30분, 60분, 90분, 120분 이상 동안 배양될 수 있다. 배양 시간이 길어지면 소화가 증가할 수 있다.
D. 핵산 증폭
핵산 증폭은 중합효소 연쇄반응 또는 PCR을 통해 수행될 수 있다. PCR에서, 시작 핵산 풀(주형 풀 또는 주형이라고 함)이 중합효소, 프라이머(짧은 핵산 프로브), 뉴클레오티드 삼인산(가령, dATP, dTTP, dCTP, dGTP 및 이의 유사체 또는 변형체), 및 추가 보조인자 및 첨가제, 가령, 베타인, DMSO 및 마그네슘 이온과 조합될 수 있다. 주형은 단일 가닥 또는 이중 가닥 핵산일 수 있다. 프라이머는 주형 풀의 표적 서열을 보완하고 이에 혼성화하기 위해 합성적으로 구축된 짧은 핵산 서열일 수 있다. 프라이머는 주형 풀에서 표적 서열을 포함하는 각각의 식별자 핵산 서열에 결합하여 표적 서열을 포함하는 식별자 핵산 서열만을 선택할 수 있다. 일반적으로, PCR 반응에는 두 개의 프라이머가 있는데, 하나는 표적 주형의 상단 가닥에 있는 프라이머 결합 부위를 보완하기 위한 것이고, 다른 하나는 첫 번째 결합 부위 하류의 표적 주형의 하단 가닥에 있는 프라이머 결합 부위를 보완하기 위한 것이다. 이들 프라이머가 표적과 결합하는 5'에서3' 방향은 그들 사이의 핵산 서열을 성공적으로 복제하고 기하급수적으로 증폭시키기 위해 서로 마주해야 한다. "PCR"은 전형적으로 상기 형태의 반응을 구체적으로 지칭할 수 있지만, 이는 또한 임의의 핵산 증폭 반응을 지칭하기 위해 보다 일반적으로 사용될 수도 있다.
일부 실시예에서, PCR은 3가지 온도, 즉 용융 온도, 어닐링 온도 및 연장 온도 사이의 순환을 포함할 수 있다. 용융 온도는 이중 가닥 핵산을 단일 가닥 핵산으로 바꾸고 혼성화 생성물 및 2차 구조의 형성을 제거하기 위한 것이다. 일반적으로 용융 온도는 섭씨 95도 이상으로 높다. 일부 실시예에서 용융 온도는 적어도 섭씨 96, 97, 98, 99, 100, 101, 102, 103, 104 또는 105도 이상일 수 있다. 다른 실시예에서 용융 온도는 최대 섭씨 95, 94, 93, 92, 91 또는 90도일 수 있다. 용융 온도가 높을수록 핵산과 그 2차 구조의 해리가 향상되지만, 핵산이나 중합효소의 분해와 같은 부작용이 발생할 수도 있다. 용융 온도는 적어도 1, 2, 3, 4, 5초 또는 그 이상, 예를 들어 30초, 1분, 2분 또는 3분 동안 반응에 적용될 수 있다. 복잡하거나 긴 주형을 사용하는 PCR에는 더 긴 초기 용융 온도 단계가 권장될 수 있다.
어닐링 온도는 프라이머와 표적 주형 사이의 혼성화 형성을 촉진하기 위한 것입니다. 일부 실시예에서, 어닐링 온도는 계산된 프라이머의 용융 온도와 일치할 수 있다. 다른 실시예에서, 어닐링 온도는 상기 용융 온도의 섭씨 10도 이상 이내일 수 있다. 일부 실시예에서, 어닐링 온도는 섭씨 25, 30, 50, 55, 60, 65, 또는 70도 이상일 수 있다. 용융 온도는 프라이머의 순서에 따라 달라질 수 있다. 프라이머가 길수록 녹는점이 더 높을 수 있고, 구아닌 또는 시토신 뉴클레오티드 함량이 높은 프라이머는 녹는점이 더 높을 수 있다. 따라서 특정 어닐링 온도에서 최적으로 조립되도록 의도된 프라이머를 설계하는 것이 가능할 수 있다. 어닐링 온도는 적어도 1초, 5초, 10초, 15초, 20초, 25초 또는 30초 이상 동안 반응에 적용될 수 있다. 어닐링을 보장하기 위해 프라이머 농도는 높거나 포화된 양일 수 있다. 프라이머 농도는 500나노몰(nM)일 수 있다. 프라이머 농도는 최대 1nM, 10nM, 100nM, 1000nM 또는 그 이상일 수 있다.
연장 온도는 하나 이상의 중합효소에 의해 촉매되는 프라이머의 3' 말단 핵산 사슬 연장을 시작하고 촉진하기 위한 것이다. 일부 구현예에서, 연장 온도는 중합효소가 핵산 결합 강도, 연장 속도, 연장 안정성 또는 충실도 측면에서 최적으로 기능하는 온도로 설정될 수 있다. 일부 실시예에서 연장 온도는 적어도 섭씨 30도, 40도, 50도, 60도 또는 70도 이상일 수 있다. 어닐링 온도는 적어도 1초, 5초, 10초, 15초, 20초, 25초, 30초, 40초, 50초 또는 60초 이상 동안 반응에 적용될 수 있다. 권장 연장 시간은 예상 신장의 킬로베이스당 약 15~45초일 수 있다.
PCR의 일부 실시예에서, 어닐링 온도와 연장 온도는 동일할 수 있다. 따라서 3-단계 온도 사이클 대신 2-단계 온도 사이클이 사용될 수 있다. 결합된 어닐링 및 연장 온도의 예로는 섭씨 60, 65 또는 72도가 있다.
일부 실시예에서, PCR은 하나의 온도 사이클로 수행될 수 있다. 이러한 실시예에는 표적화된 단일 가닥 주형 핵산을 이중 가닥 핵산으로 바꾸는 것이 포함될 수 있다. 다른 실시예에서, PCR은 다중 온도 사이클로 수행될 수 있다. PCR이 효율적이라면, 표적 핵산 분자의 수가 각 주기마다 두 배로 증가하여 원래 주형 풀에서 표적 핵산 주형의 수가 기하급수적으로 증가할 것으로 예상된다. PCR의 효율성은 다를 수 있다. 따라서 매 라운드마다 복제되는 표적 핵산의 실제 비율은 100%보다 많거나 적을 수 있다. 각 PCR 주기마다 돌연변이 및 재조합 핵산과 같은 바람직하지 않은 인공물이 도입될 수 있다. 이러한 잠재적인 손상을 줄이기 위해 충실도가 높고 가공성이 높은 중합효소를 사용할 수 있다. 또한 제한된 수의 PCR 주기가 사용될 수 있다. PCR은 최대 1, 5, 10, 15, 20, 25, 30, 35, 40, 45 또는 그 이상의 주기를 포함할 수 있다.
일부 구현예에서, 다수의 개별 표적 핵산 서열이 하나의 PCR에서 함께 증폭될 수 있다. 각 표적 서열이 공통 프라이머 결합 부위를 갖는 경우, 모든 핵산 서열은 동일한 프라이머 세트를 사용하여 증폭될 수 있다. 대안으로, PCR은 각각의 개별 핵산을 표적으로 삼도록 의도된 다수의 프라이머를 포함할 수 있다. 상기 PCR은 멀티플렉스 PCR로 지칭될 수 있다. PCR은 최대 1, 2, 3, 4, 5, 6, 7, 8, 9, 10개 이상의 개별 프라이머를 포함할 수 있다. 여러 개의 개별 핵산 표적을 사용한 PCR에서 각 PCR 주기는 표적 핵산의 상대적 분포를 변경할 수 있다. 예를 들어 균일한 분포가 왜곡되거나 불균일하게 분포될 수 있다. 이러한 잠재적인 손상을 줄이기 위해 최적의 중합효소(가령, 높은 충실도와 서열 견고성을 갖춘)와 최적의 PCR 조건을 사용할 수 있다. 어닐링, 연장 온도 및 시간과 같은 요소가 최적화될 수 있다. 또한 제한된 수의 PCR 주기가 사용될 수 있다.
PCR의 일부 실시예에서, 주형 내 표적 프라이머 결합 부위에 대한 염기 불일치를 갖는 프라이머를 사용하여 표적 서열을 돌연변이화할 수 있다. PCR의 일부 구현예에서, 5' 말단에 추가 서열(오버행으로 알려짐)이 있는 프라이머를 사용하여 표적 핵산에 서열을 부착할 수 있다. 예를 들어, 5' 말단에 서열 분석 어댑터를 포함하는 프라이머를 사용하여 서열 분석을 위한 핵산 라이브러리를 준비 및/또는 증폭할 수 있다. 서열 분석 어댑터를 표적으로 삼는 프라이머가 사용되어 특정 서열 분석 기술을 위한 충분한 농축으로 핵산 라이브러리를 증폭할 수 있다.
일부 실시예에서, 선형-PCR(또는 비대칭-PCR)이 사용되는데, 여기서 프라이머는 주형의 한 가닥(두 가닥 모두가 아님)만을 표적으로 삼는다. 선형 PCR에서는 각 사이클에서 복제된 핵산이 프라이머에 상보적이지 않으므로 프라이머가 이에 결합하지 않는다. 따라서 프라이머는 각 주기마다 원래 표적 주형만 복제하므로 선형(지수적의 반대) 증폭이 이루어집니다. 선형 PCR의 증폭은 기존(지수) PCR만큼 빠르지는 않지만 최대 수율은 더 높을 수 있다. 이론적으로 선형 PCR의 프라이머 농도는 기존 PCR처럼 주기가 증가하고 수율이 증가하는 제한 요인이 되지 않을 수 있다. 선형 후 지수 PCR(또는 LATE-PCR)은 특히 높은 수율이 가능할 수 있는 선형 PCR의 수정된 버전이다.
핵산 증폭의 일부 실시예에서, 용융, 어닐링 및 연장 과정은 단일 온도에서 발생할 수 있다. 이러한 PCR은 등온 PCR로 지칭될 수 있다. 등온 PCR은 프라이머 결합을 위해 완전히 보완된 핵산 가닥을 서로 분리하거나 대체하기 위한 온도 독립적인 방법을 활용할 수 있다. 전략에는 루프 매개 등온 증폭, 가닥 치환 증폭, 헬리카제 의존 증폭, 및 절단 효소(nicking enzyme) 증폭 반응이 포함된다. 등온 핵산 증폭은 최대 섭씨 20, 30, 40, 50, 60 또는 70도 이상의 온도에서 발생할 수 있다.
일부 구현예에서, PCR은 샘플 내 핵산의 양을 정량화하기 위해 형광 프로브 또는 염료를 추가로 포함할 수 있다. 예를 들어, 염료는 이중 가닥 핵산에 삽입될 수 있다. 상기 염료의 예는 SYBR Green이다. 형광 프로브는 또한 형광 단위에 부착된 핵산 서열일 수도 있다. 형광 단위는 표적 핵산에 대한 프로브의 혼성화 및 확장 중합효소 단위로부터의 후속 변형 시 방출될 수 있다. 상기 프로브의 예에는 Taqman 프로브가 포함됩니다. 이러한 프로브는 샘플 내 핵산 농도를 정량화하기 위해 PCR 및 광학 측정 도구(여기 및 검출용)와 함께 사용될 수 있다. 이 과정을 정량적 PCR(qPCR) 또는 실시간 PCR(rtPCR)이라고 할 수 있다.
일부 실시예에서 PCR은 여러 주형 분자의 풀보다는 단일 분자 주형(단일 분자 PCR이라고 할 수 있는 과정)에서 수행될 수 있다. 예를 들어, 에멀젼-PCR(ePCR)은 오일 에멀젼 내의 물방울 내에 단일 핵산 분자를 캡슐화하는 데 사용될 수 있다. 물방울은 PCR 시약도 포함할 수 있으며, 물방울은 PCR에 필요한 온도 사이클링이 가능한 온도 제어 환경에 유지될 수 있다. 이러한 방식으로 여러 자체 포함 PCR 반응이 높은 처리량으로 동시에 발생할 수 있다. 오일 에멀젼의 안정성은 계면활성제를 사용하면 향상될 수 있다. 액적의 이동은 미세유체 채널을 통한 압력으로 제어될 수 있다. 미세유체 장치는 액적 생성, 액적 분할, 액적 병합, 물질 도입 액적 주입 및 액적 배양에 사용될 수 있다. 오일 에멀젼의 물방울 크기는 최소 1피코리터(pL), 10pL, 100pL, 1나노리터(nL), 10nL, 100nL 이상일 수 있다.
일부 실시예에서, 단일 분자 PCR은 고체상 기판에서 수행될 수 있다. 예에는 Illumina 고체상 증폭 방법 또는 그 변형이 포함된다. 주형 풀은 고체상 기판에 노출될 수 있으며, 여기서 고체상 기판은 특정 공간 해상도에서 주형을 고정할 수 있다. 그러면 브리지 증폭이 각 주형의 공간적 인접 내에서 발생할 수 있으며 이에 따라 기판에서 높은 처리량 방식으로 단일 분자가 증폭된다.
처리량이 높은 단일 분자 PCR은 서로 간섭할 수 있는 서로 다른 핵산 풀을 증폭시키는 데 유용할 수 있다. 예를 들어, 여러 개의 서로 다른 핵산이 공통 서열 영역을 공유하는 경우 PCR 반응 중에 이 공통 영역을 따라 핵산 간의 재조합이 발생하여 새로운 재조합 핵산이 생성될 수 있다. 단일 분자 PCR은 서로 다른 핵산 서열을 구획화하여 상호 작용할 수 없으므로 이러한 잠재적인 증폭 오류를 방지한다. 단일 분자 PCR은 서열 분석을 위한 핵산을 준비하는 데 특히 유용할 수 있다. 단일 분자 PCR 매트는 주형 풀 내 여러 표적의 절대 정량화에도 유용하다. 예를 들어, 디지털 PCR(또는 dPCR)은 별개의 단일 분자 PCR 증폭 신호의 빈도를 사용하여 샘플의 시작 핵산 분자 수를 추정한다.
PCR의 일부 구현예에서, 핵산 그룹은 모든 핵산에 공통적인 프라이머 결합 부위에 대한 프라이머를 사용하여 비차별적으로 증폭될 수 있다. 예를 들어, 프라이머 결합 부위에 대한 프라이머는 풀의 모든 핵산 측면에 위치한다. 합성 핵산 라이브러리는 일반 증폭을 위해 이러한 공통 부위를 사용하여 생성되거나 조립될 수 있다. 그러나 일부 구현예에서 PCR은 예를 들어 상기 표적화된 핵산 하위세트에만 나타나는 프라이머 결합 부위가 있는 프라이머를 사용하여 풀에서 표적화된 핵산 하위세트를 선택적으로 증폭하는 데 사용될 수 있다. 합성 핵산 라이브러리는 잠재적인 관심 하위 라이브러리에 속하는 핵산이 더 포괄적인 라이브러리로부터의 서브-라이브러리의 선택적 증폭을 위해 모두 해당 가장자리에서 공통 프라이머 결합 부위(하위 라이브러리 내에서는 공통이지만 다른 하위 라이브러리와는 구별됨)를 공유하도록 생성되거나 조립될 수 있다. 일부 구현예에서, PCR은 부분적으로 조립되거나 잘못 조립된(또는 의도하지 않거나 바람직하지 않은) 부산물로부터 완전히 조립되거나 잠재적으로 완전히 조립된 핵산을 선택적으로 증폭시키기 위해 핵산 조립 반응(가령, 결찰 또는 OEPCR)과 조합될 수 있다. 예를 들어, 조립은 전체 조립된 핵산 제품만이 증폭을 위해 필요한 두 개의 프라이머 결합 부위를 포함하도록 각 가장자리 서열의 프라이머 결합 부위와 핵산을 조립하는 것을 포함할 수 있다. 상기 예에서, 부분적으로 조립된 생성물은 프라이머 결합 부위가 있는 에지 서열 중 어느 것도 포함하지 않거나 하나만 포함할 수 있으므로 증폭되어서는 안 된다. 마찬가지로 잘못-조립된(또는 의도하지 않았거나 바람직하지 않은) 생성물은 잘못된 배향으로 또는 잘못된 염기 양만큼 분리된 가장자리 서열 중 아무 것도 포함하지 않거나, 하나만 포함하거나, 둘 모두를 포함할 수 있다. 따라서 잘못 조립된 생성물은 증폭되거나 잘못된 길이의 제품을 생성하도록 증폭되어서는 안 된다. 후자의 경우 잘못된 길이의 증폭된 잘못 조립된 생성물은 아가로스 겔에서 DNA 전기영동 후 겔 추출과 같은 핵산 크기 선택 방법(화학적 방법 섹션 E 참조)을 통해 정확한 길이의 증폭된 완전히 조립된 산물로부터 분리될 수 있다.
PCR에는 핵산 증폭 효율을 높이기 위해 첨가제가 포함될 수 있다. 예를 들어, 베타인, 디메틸 설폭사이드(DMSO), 비이온성 세제, 포름아미드, 마그네슘, 소 혈청 알부민(BSA) 또는 이들의 조합의 첨가가 있다. 첨가물 함량(부피당 중량)은 적어도 0%, 1%, 5%, 10%, 20% 이상일 수 있다.
PCR에는 다양한 중합효소가 사용될 수 있다. 중합효소는 자연적으로 발생하거나 합성될 수 있다. 예시적인 중합효소는 Φ29 중합효소 또는 이의 유도체이다. 어떤 경우에는 전사효소(transcriptase) 또는 리가아제(즉, 결합 형성을 촉매하는 효소)가 중합효소와 함께 또는 중합효소의 대안으로 사용되어 새로운 핵산 서열을 구성한다. 중합효소의 예에는 DNA 중합효소, RNA 중합효소, 열안정성 중합효소, 야생형 중합효소, 변형된 중합효소, 대장균 DNA 중합효소 I, T7 DNA 중합효소, 박테리오파지 T4 DNA 중합효소 Φ29(phi29) DNA 중합효소, Taq 중합효소, Tth 중합효소, Tli 중합효소, Pfu 중합효소 Pwo 중합효소, VENT 중합효소, DEEPVENT 중합효소, Ex-Taq 중합효소, LA-Taw 중합효소, Sso 중합효소 Poc 중합효소, Pab 중합효소, Mth 중합효소 ES4 중합효소, Tru 중합효소, Tac 중합효소, Tne 중합효소, Tma 중합효소, Tca 중합효소, Tih 중합효소, Tfi 중합효소, 백금 Taq 중합효소, Tbr 중합효소, Phusion 중합효소, KAPA 중합효소, Q5 중합효소, Tfl 중합효소, Pfutubo 중합효소, Pyrobest 중합효소, KOD 중합효소, Bst 중합효소, Sac 중합효소, 3'에서 5' 엑소뉴클레아제 활성을 갖는 Klenow 단편 중합효소, 및 이의 변형, 수정된 산물 및 파생물이 있다. 상이한 중합효소는 상이한 온도에서 안정적이고 최적으로 기능할 수 있다. 또한, 상이한 중합효소는 상이한 특성을 가지고 있다. 예를 들어, Phusion 중합효소와 같은 일부 중합효소는 3'에서 5' 엑소뉴클레아제 활성을 나타낼 수 있으며, 이는 핵산 신장 동안 더 높은 충실도에 기여할 수 있다. 일부 중합효소는 신장 동안 주요 서열을 대체할 수 있는 반면, 다른 중합효소는 이를 분해하거나 신장을 중단시킬 수 있다. Taq과 같은 일부 중합효소는 핵산 서열의 3' 말단에 아데닌 염기를 포함시킨다. 또한 일부 중합효소는 다른 중합효소보다 더 높은 충실도와 진행성을 가질 수 있으며 증폭된 핵산 수율이 최소한의 돌연변이를 갖는 것이 중요하고 개별 핵산의 분포가 증폭 전반에 걸쳐 균일한 분포를 유지하는 것이 중요한 서열 분석 준비와 같은 PCR 응용 분야에 더 적합할 수 있다.
E. 사이즈 선택
특정 크기의 핵산은 크기 선택 기술을 사용하여 샘플에서 선택될 수 있다. 일부 실시예에서, 크기 선택은 겔 전기영동 또는 크로마토그래피를 사용하여 수행될 수 있다. 핵산의 액체 샘플은 고정상 또는 겔(또는 매트릭스)의 한쪽 말단에 로드될 수 있다. 겔의 음극 단자가 핵산 샘플이 로드되는 단자이고 겔의 양극 단자가 반대 단자가 되도록 전압 차이가 겔 전체에 배치될 수 있다. 핵산은 음전하를 띤 인산 골격을 갖고 있기 때문에 겔을 거쳐 양극 말단으로 이동할 수 있다. 핵산의 크기는 겔을 통한 상대적인 이동 속도를 결정할 수 있다. 따라서 다양한 크기의 핵산이 이동하면서 겔에서 분해된다. 전압 차이는 100V 또는 120V일 수 있다. 전압 차이는 최대 50V, 100V, 150V, 200V, 250V 이상일 수 있다. 전압 차이가 클수록 핵산 이동 속도와 크기 분해능이 높아질 수 있다. 그러나 전압 차이가 커지면 핵산이나 겔이 손상될 수도 있다. 더 큰 크기의 핵산을 분리하려면 더 큰 전압 차이가 권장될 수 있다. 일반적인 이주 시간은 15분에서 60분 사이이다. 이주 시간은 최대 10분, 30분, 60분, 90분, 120분 이상일 수 있다. 전압이 높아지는 것과 유사하게 이동 시간이 길어지면 핵산 분해능이 향상될 수 있지만 핵산 손상이 증가할 수 있다. 더 큰 크기의 핵산을 분리하려면 더 긴 이동 시간이 권장될 수 있다. 예를 들어, 250-염기 핵산에서 200-염기 핵산을 분리하는 데에는 120V의 전압 차이와 30분의 이동 시간이면 충분할 수 있다.
겔 또는 매트릭스의 특성이 크기 선택 과정에 영향을 미칠 수 있다. 겔은 일반적으로 TAE(Tris-acetate-EDTA) 또는 TBE(Tris-borate-EDTA)와 같은 전도성 완충액에 분산된 아가로스 또는 폴리아크릴아미드와 같은 고분자 물질을 포함한다. 겔 내 물질(가령, 아가로스 또는 아크릴아미드)의 함량(부피당 중량)은 최대 0.5%, 1%, 2%, 3%, 5%, 10%, 15%, 20%, 25% 또는 그 이상일 수 있다. 함량이 높을수록 이주 속도가 느려질 수 있다. 더 작은 핵산을 분리하려면 더 높은 함량이 바람직할 수 있다. 아가로스 젤은 이중 가닥 DNA(dsDNA)를 해결하는 데 더 좋을 수 있다. 폴리아크릴아미드 젤은 단일 가닥 DNA(ssDNA)를 분석하는 데 더 적합할 수 있다. 바람직한 겔 조성은 핵산 유형 및 크기, 첨가제(가령, 염료, 염색제, 변성 용액 또는 로딩 완충액)의 호환성뿐만 아니라 예상되는 다운스트림 적용(가령, 겔 추출 후 결찰, PCR 또는 시퀀싱)에 따라 달라질 수 있다. 아가로스 젤은 폴리아크릴아미드 젤보다 젤 추출이 더 간단할 수 있다. TAE는 TBE만큼 좋은 전도체는 아니지만 추출 과정에서 붕산염(효소 억제제) 잔여물이 하류 효소 반응을 억제할 수 있기 때문에 겔 추출에 더 나을 수도 있다.
겔은 SDS(나트륨 도데실 황산염) 또는 요소와 같은 변성 용액을 추가로 포함할 수 있다. 예를 들어 SDS는 단백질을 변성시키거나 잠재적으로 결합된 단백질에서 핵산을 분리하는 데 사용될 수 있다. 요소는 DNA의 2차 구조를 변성시키는 데 사용될 수 있다. 예를 들어, 요소는 dsDNA를 ssDNA로 변환할 수 있거나 요소는 접힌 ssDNA(가령, 헤어핀)를 접히지 않은 ssDNA로 변환할 수 있다. ssDNA를 정확하게 분리하기 위해 요소-폴리아크릴아미드 겔(TBE를 추가로 포함)을 사용할 수 있다.
샘플은 다양한 형식의 젤에 통합될 수 있다. 일부 실시예에서 겔은 샘플을 수동으로 로드할 수 있는 웰을 포함할 수 있다. 하나의 겔에는 여러 핵산 샘플을 실행하기 위한 여러 웰이 있을 수 있다. 다른 실시예에서, 겔은 핵산 샘플(들)을 자동으로 로딩하는 미세유체 채널에 부착될 수 있다. 각 겔은 여러 미세유체 채널의 하류에 있을 수도 있고, 겔 자체가 각각 별도의 미세유체 채널을 차지할 수도 있다. 겔의 크기는 핵산 검출(또는 시각화)의 민감도에 영향을 미칠 수 있다. 예를 들어, 미세유체 채널(가령, 바이오분석기 또는 테이프스테이션) 내부의 얇은 젤 또는 젤은 핵산 검출 감도를 향상시킬 수 있다. 핵산 검출 단계는 올바른 크기의 핵산 단편을 선택하고 추출하는 데 중요할 수 있다.
핵산 크기 참조를 위해 래더(ladder)가 겔에 로드될 수 있다. 래더는 핵산 샘플과 비교할 수 있는 다양한 크기의 마커를 포함할 수 있다. 상이한 래더가 상이한 크기 범위 및 분해능을 가질 수 있다. 예를 들어 50 염기 래더가 50, 100, 150, 200, 250, 300, 350, 400, 450, 500, 550 및 600개의 염기에 마커를 가질 수 있다. 상기 래더는 50 내지 600 염기 크기 범위 내의 핵산을 검출하고 선택하는 데 유용할 수 있다. 래더는 시료 내 다양한 크기의 핵산 농도를 추정하기 위한 표준으로도 사용될 수 있다.
겔 전기영동(또는 크로마토그래피) 과정을 촉진하기 위해 핵산 시료와 래더를 로딩 완충액과 혼합할 수 있다. 로딩 완충액에는 핵산 이동을 추적하는 데 도움이 되는 염료와 마커가 포함될 수 있다. 로딩 완충액은 핵산 샘플이 (러닝 완충액에 침지될 수 있는) 샘플 로딩 웰의 바닥에 가라앉도록 하기 위해, 러닝 완충액(가령, TAE 또는 TBE)보다 밀도가 높은 시약(가령, 글리세롤)을 추가로 포함할 수 있다. 로딩 완충액은 SDS 또는 우레아와 같은 변성제를 추가로 포함할 수 있다. 로딩 완충액은 핵산의 안정성을 향상시키기 위한 시약을 추가로 포함할 수 있다. 예를 들어, 로딩 완충액은 뉴클레아제로부터 핵산을 보호하기 위해 EDTA가 포함될 수 있다.
일부 실시예에서 겔은 핵산에 결합하고 다양한 크기의 핵산을 광학적으로 검출하는 데 사용될 수 있는 염료를 포함할 수 있다. 염료는 dsDNA, ssDNA 또는 둘 다에 특이적일 수 있다. 상이한 염료가 상이한 겔 물질과 호환될 수 있다. 일부 염료는 시각화하기 위해 광원(또는 전자기파)의 자극이 필요할 수 있다. 광원은 UV(자외선) 또는 청색광일 수 있다. 일부 실시예에서는 전기영동 전에 겔에 염료를 첨가할 수 있다. 다른 실시예에서, 전기영동 후에 겔에 염료가 추가될 수 있다. 염료의 예로는 EtBr(Ethidium Bromide), SYBR Safe, SYBR Gold, 은 염료, 또는 메틸렌 블루가 있다. 예를 들어, 특정 크기의 dsDNA를 시각화하기 위한 신뢰할 만한 방법은 SYBR Safe 또는 EtBr 염료와 함께 아가로스 TAE 겔을 사용하는 것일 수 있다. 예를 들어, 특정 크기의 ssDNA를 시각화하는 신뢰할 수 있는 방법은 메틸렌 블루 또는 은 염색이 포함된 요소-폴리아크릴아미드 TBE 겔을 사용하는 것일 수 있다.
일부 실시예에서, 겔을 통한 핵산의 이동은 전기영동 이외의 다른 방법에 의해 유도될 수 있다. 예를 들어, 중력, 원심분리, 진공 또는 압력을 사용하여 핵산을 겔을 통해 이동시켜 크기에 따라 분리할 수 있다.
특정 크기의 핵산은 핵산이 포함된 겔 밴드를 잘라내기 위해 칼날이나 면도기를 사용하여 겔에서 추출할 수 있다. 적절한 광학적 검출 기술과 DNA 래더를 사용하여 절단이 특정 밴드에서 정확하게 발생하고 절단을 통해 서로 다른 바람직하지 않은 크기 밴드에 속할 수 있는 핵산을 성공적으로 제외할 수 있다. 겔 밴드는 완충액과 함께 배양되어 용해될 수 있으며, 이에 따라 핵산이 완충 용액으로 방출됩니다. 열이나 물리적인 교반으로 인해 용해 속도가 빨라질 수 있다. 대안으로, 겔 밴드는 겔 용해를 요구하지 않고 DNA가 완충액으로 확산될 수 있을 만큼 충분히 오랫동안 완충액에서 배양될 수 있다. 그런 다음, 예를 들어 흡인 또는 원심분리에 의해 완충액을 남은 고상 겔로부터 분리할 수 있다. 그런 다음 페놀-클로로포름 추출, 에탄올 침전, 자기 비드 포획 및/또는 실리카 막 흡착, 세척 및 용출과 같은 표준 정제 또는 완충액 교환 기술을 사용하여 용액으로부터 핵산을 정제할 수 있다. 이 단계에서는 핵산도 농축될 수 있다.
겔 절제의 대안으로, 특정 크기의 핵산을 겔에서 흘러내려 겔에서 분리할 수 있다. 이동하는 핵산은 겔에 내장되어 있거나 겔 끝에 있는 분지(또는 우물)를 통과할 수 있다. 이동 과정은 특정 크기의 핵산 그룹이 유역에 들어갈 때 샘플이 유역에서 수집되도록 시간을 정하거나 광학적으로 모니터링할 수 있다. 수집은 예를 들어 흡인을 통해 이루어질 수 있다. 그런 다음 페놀-클로로포름 추출, 에탄올 침전, 자기 비드 포획 및/또는 실리카 막 흡착, 세척 및 용출과 같은 표준 정제 또는 완충액 교환 기술을 사용하여 수집된 용액으로부터 핵산을 정제할 수 있다. 이 단계에서는 핵산도 농축될 수 있다.
핵산 크기 선택을 위한 다른 방법에는 질량 분석법 또는 막 기반 여과가 포함될 수 있다. 막 기반 여과의 일부 실시예에서, 핵산은 dsDNA, ssDNA 또는 둘 다에 우선적으로 결합할 수 있는 막(예를 들어 실리카 막)을 통과한다. 막은 적어도 특정 크기의 핵산을 우선적으로 포획하도록 설계될 수 있다. 예를 들어, 막은 20, 30, 40, 50, 70, 90 이상 미만의 염기로 구성된 핵산을 걸러내도록 설계될 수 있다. 상기 막 기반의 크기 선택 기술은 겔 전기영동이나 크로마토그래피만큼 엄격하지 않을 수 있다.
F. 핵산 포획
친화성 태그가 붙은 핵산은 핵산 포획을 위한 서열 특이적 프로브로 사용될 수 있다. 프로브는 핵산 풀 내의 표적 서열을 보완하도록 설계될 수 있다. 이어서, 프로브는 핵산 풀과 함께 배양되고 그 표적에 혼성화될 수 있다. 배양 온도는 혼성화를 촉진하기 위해 프로브의 용융 온도보다 낮을 수 있다. 배양 온도는 프로브의 용융 온도보다 섭씨 5, 10, 15, 20, 25도 이상 낮을 수 있다. 혼성화된 표적은 친화성 태그에 특이적으로 결합하는 고체상 기질에 포획될 수 있다. 고체상 기질은 멤브레인, 웰, 컬럼 또는 비드일 수 있다. 여러 차례 세척하면 표적에서 혼성화되지 않은 모든 핵산이 제거될 수 있다. 세척은 세척 중에 표적 서열의 안정적인 고정을 촉진하기 위해 프로브의 용융 온도보다 낮은 온도에서 발생할 수 있다. 세척 온도는 프로브의 용융 온도보다 섭씨 5, 10, 15, 20, 25도 이상 낮을 수 있다. 최종 용리 단계에서는 고체상 기질뿐만 아니라 친화성 태그가 지정된 프로브로부터 핵산 표적을 회수할 수 있다. 용리 단계는 핵산 표적이 용리 완충액으로 방출되는 것을 촉진하기 위해 프로브의 용융 온도보다 높은 온도에서 발생할 수 있다. 용리 온도는 프로브의 용융 온도보다 섭씨 5, 10, 15, 20, 25도 이상 높을 수 있다.
특정 실시예에서, 고체상 기질에 결합된 올리고뉴클레오티드는 예를 들어 산, 염기, 산화, 환원, 열, 빛, 금속 이온 촉매작용, 치환 또는 제거 화학과 같은 조건에 노출시킴으로써 도는 효소 절단에 의해, 고체상 기질로부터 제거될 수 있다. 특정 구현예에서, 올리고뉴클레오티드는 절단 가능한 연결 모이어티를 통해 고체 지지체에 부착될 수 있다. 예를 들어, 고체 지지체는 표적화된 올리고뉴클레오티드에 대한 공유 부착을 위한 절단 가능한 링커를 제공하도록 기능화될 수 있다. 일부 구현예에서, 링커 모이어티는 6개 이상의 원자 길이를 가질 수 있다. 일부 구현예에서, 절단 가능한 링커는 TOPS(two oligonucleotides per synthesis) 링커, 아미노 링커, 또는 광절단 가능한 링커일 수 있다.
일부 구현예에서, 비오틴은 스트렙타비딘에 의해 고체상 기질에 고정되는 친화성 태그로 사용될 수 있다. 핵산 포획 프로브로 사용하기 위한 비오티닐화된 올리고뉴클레오티드가 설계되고 제조될 수 있다. 올리고뉴클레오티드는 5' 또는 3' 말단에서 비오티닐화될 수 있다. 또한 티민 잔기 내부에서 비오티닐화될 수도 있다. 올리고의 비오틴 증가는 스트렙타비딘 기질에 대한 더 강력한 포획으로 이어질 수 있다. 올리고의 3' 말단에 있는 비오틴은 PCR 중에 올리고가 확장되는 것을 차단할 수 있다. 비오틴 태그는 표준 비오틴의 변형일 수 있다. 예를 들어, 비오틴 변이체는 비오틴-TEG(트리에틸렌글리콜), 이중비오틴, PC 비오틴, 데스티오비오틴-TEG, 및 비오틴 아지드 등이 될 수 있다. 이중 비오틴은 비오틴-스트렙타비딘 친화성을 증가시킬 수 있다. 비오틴-TEG는 비오틴 그룹을 TEG 링커에 의해 분리된 핵산에 부착한다. 이는 비오틴이 핵산 프로브의 기능, 예를 들어 표적에 대한 혼성화를 방해하는 것을 방지할 수 있다. 핵산 비오틴 링커도 프로브에 부착될 수 있다. 핵산 링커는 표적에 혼성화되도록 의도되지 않은 핵산 서열을 포함할 수 있다.
비오틴화된 핵산 프로브는 표적에 얼마나 잘 혼성화할 수 있는지를 고려하여 설계될 수 있다. 더 높게 설계된 용융 온도를 갖는 핵산 프로브는 표적에 더 강하게 혼성화될 수 있다. 더 긴 핵산 프로브뿐만 아니라 더 높은 GC 함량을 갖는 프로브는 증가된 용융 온도로 인해 더 강하게 혼성화될 수 있다. 핵산 프로브의 길이는 적어도 5, 10, 15, 20, 30, 40, 50 또는 100개 염기 또는 그 이상일 수 있다. 핵산 프로브는 0~100% 사이의 GC 함량을 가질 수 있다. 프로브의 녹는 온도가 스트렙타비딘 기질의 온도 허용 오차를 초과하지 않도록 주의해야 한다. 핵산 프로브는 헤어핀, 동종이량체 및 표적을 벗어난 핵산이 있는 이종이량체와 같은 억제성 2차 구조를 방지하도록 설계될 수 있다. 프로브 용융 온도와 표적을 벗어난 결합 사이에는 상충 관계가 있을 수 있다. 용융 온도가 높고 표적외 결합이 낮은 최적의 프로브 길이와 GC 함량이 있을 수 있다. 합성 핵산 라이브러리는 그 핵산이 효율적인 프로브 결합 부위를 포함하도록 설계될 수 있다.
고체상 스트렙타비딘 기질은 자기 비드일 수 있다. 자기 비드는 자기 스트립이나 플레이트를 사용하여 고정될 수 있다. 자기 스트립 또는 플레이트는 용기와 접촉하여 자기 비드를 용기에 고정시킬 수 있다. 반대로, 자기 스트립 또는 플레이트는 용기 벽에서 용액으로 자기 비드를 방출하기 위해 용기에서 제거될 수 있다. 다양한 비드 특성이 적용에 영향을 미칠 수 있다. 비드의 크기는 다양할 수 있다. 예를 들어 비드는 직경이 1~3마이크로미터(um) 사이일 수 있다. 비드의 직경은 최대 1, 2, 3, 4, 5, 10, 15, 20 또는 그 이상의 마이크로미터일 수 있다. 비드 표면은 소수성이거나 친수성일 수 있다. 비드는 차단 단백질, 예를 들어 BSA로 코팅될 수 있다. 사용하기 전에 비드를 세척하거나 차단 용액과 같은 첨가제로 전처리하여 비특이적으로 결합하는 핵산을 방지할 수 있다.
비오티닐화된 프로브는 핵산 샘플 풀과 함께 배양하기 전에 자기 스트렙타비딘 비드에 결합될 수 있다. 이 프로세스를 직접 포획이라고 할 수 있다. 대안으로, 비오티닐화된 프로브는 자성 스트렙타비딘 비드를 첨가하기 전에 핵산 샘플 풀과 함께 배양될 수 있다. 이 프로세스를 간접 포획이라고 할 수 있다. 간접 포획 방법은 목표 수율을 향상시킬 수 있다. 짧은 핵산 프로브는 자기 비드에 결합하는 데 더 짧은 시간이 필요할 수 있다.
핵산 샘플과 핵산 프로브의 최적 배양은 프로브의 용융 온도보다 섭씨 1 내지 10도 이상 낮은 온도에서 발생할 수 있다. 배양 온도는 최대 섭씨 5, 10, 20, 30, 40, 50, 60, 70, 80도 이상일 수 있다. 권장되는 배양 시간은 1시간이다. 배양 시간은 최대 1, 5, 10, 20, 30, 60, 90, 120분 또는 그 이상일 수 있다. 배양 시간이 길수록 포획 효율성이 향상될 수 있다. 비오틴-스트렙타비딘 결합을 허용하기 위해 스트렙타비딘 비드를 첨가한 후 추가로 10분 동안 배양할 수 있다. 이 추가 시간은 최대 1, 5, 10, 20, 30, 60, 90, 120분 또는 그 이상일 수 있다. 배양은 나트륨 이온과 같은 첨가제가 포함된 완충 용액에서 발생할 수 있다.
핵산 풀이 단일 가닥 핵산(이중 가닥과 반대)인 경우 표적에 대한 프로브의 혼성화가 향상될 수 있다. dsDNA 풀에서 ssDNA 풀을 준비하려면 풀에 있는 모든 핵산 서열의 가장자리에 일반적으로 결합하는 하나의 프라이머를 사용하여 선형 PCR을 수행해야 할 수 있다. 핵산 풀이 합성적으로 생성되거나 조립된 경우, 이 공통 프라이머 결합 부위가 합성 설계에 포함될 수 있다. 선형 PCR의 생성물은 ssDNA가 될 것이다. 더 많은 주기의 선형 PCR을 통해 핵산 포획을 위한 더 많은 시작 ssDNA 주형이 생성될 수 있다. PCR의 화학적 방법 섹션 D를 참조할 수 있다.
핵산 프로브가 표적에 혼성화되고 자기 스트렙타비딘 비드에 결합된 후, 비드는 자석에 의해 고정될 수 있으며 여러 차례의 세척이 발생할 수 있다. 비표적 핵산을 제거하는 데는 3 내지 5회 세척이면 충분할 수 있지만, 더 많거나 적은 횟수의 세척이 사용될 수도 있다. 각각의 증분 세척은 비표적 핵산을 추가로 감소시킬 수 있지만 표적 핵산의 수율도 감소시킬 수 있다. 세척 단계 동안 프로브에 대한 표적 핵산의 적절한 혼성화를 촉진하기 위해 낮은 배양 온도가 사용될 수 있다. 섭씨 60, 50, 40, 30, 20, 10 또는 5도 이하의 낮은 온도를 사용할 수 있다. 세척 완충액은 나트륨 이온이 포함된 Tris 완충 용액을 포함할 수 있다.
자기 비드 결합 프로브로부터 혼성화된 표적의 최적 용리는 프로브의 용융 온도와 동일하거나 그보다 높은 온도에서 발생할 수 있다. 온도가 높을수록 표적과 프로브의 분리가 촉진된다. 용리 온도는 최대 섭씨 30, 40, 50, 60, 70, 80 또는 90도 이상일 수 있다. 용리 배양 시간은 최대 1, 2, 5, 10, 30, 60분 이상일 수 있다. 일반적인 배양 시간은 약 5분이지만 배양 시간이 길면 수율이 향상될 수 있다. 용리 완충액은 물이거나 EDTA와 같은 첨가제가 포함된 트리스 완충 용액일 수 있다.
개별 부위의 세트 중 적어도 하나 이상을 함유하는 표적 서열의 핵산 포획은 이들 부위 각각에 대해 다수의 별개의 프로브를 사용하는 하나의 반응으로 수행될 수 있다. 일련의 개별 부위의 모든 구성원을 포함하는 표적 서열의 핵산 포획은 일련의 포획 반응, 즉 특정 부위에 대한 프로브를 사용하여 각 개별 부위에 대한 하나의 반응으로 수행될 수 있다. 일련의 포획 반응 후 표적 수율은 낮을 수 있지만, 포획된 표적은 이후 PCR을 통해 증폭될 수 있다. 핵산 라이브러리가 합성적으로 설계된 경우, 표적은 PCR용 공통 프라이머 결합 부위를 사용하여 설계될 수 있다.
합성 핵산 라이브러리는 일반 핵산 포획을 위한 공통 프로브 결합 부위를 사용하여 생성되거나 조립될 수 있다. 이들 공통 부위는 조립 반응에서 완전히 조립되었거나 잠재적으로 완전히 조립된 핵산을 선택적으로 캡처하여 부분적으로 조립되거나 잘못 조립된(또는 의도하지 않았거나 바람직하지 않은) 부산물을 필터링하는 데 사용될 수 있다. 예를 들어, 조립은 완전히 조립된 핵산 제품만이 각 프로브를 사용하여 일련의 두 가지 포획 반응을 통과하는 데 필요한 필수 두 개의 프로브 결합 부위를 포함하도록 각 모서리 서열에 프로브 결합 부위가 있는 핵산을 조립하는 것을 포함할 수 있다. 상기 예에서, 부분적으로 조립된 제품은 프로브 부위 중 어느 것도 포함하지 않거나 하나만 포함할 수 있으므로 궁극적으로 포획되어서는 안 된다. 마찬가지로 잘못 조립된(또는 의도하지 않았거나 바람직하지 않은) 생성물에는 가장자리 서열이 하나도 없거나 하나만 포함되어 있을 수 있다. 따라서, 상기 잘못 조립된 생성물은 최종적으로 포획되지 않을 수 있다. 엄격함을 높이기 위해 조립체의 각 구성요소에 공통 프로브 결합 부위를 포함할 수 있다. 각 구성요소에 대한 프로브를 사용하는 일련의 후속 핵산 포획 반응에서는 조립 반응의 부산물로부터 완전히 조립된 제품(각 구성요소 포함)만 분리할 수 있다. 후속 PCR은 표적 강화를 향상시킬 수 있으며 후속 크기 선택은 표적 엄격성을 향상시킬 수 있다.
일부 실시예에서, 핵산 포획은 풀로부터 표적화된 핵산 서브세트를 선택적으로 포획하기 위해 사용될 수 있다. 예를 들어, 상기 표적화된 핵산 서브세트에만 나타나는 결합 부위가 있는 프로브를 사용함으로써 가능하다. 합성 핵산 라이브러리는 잠재적인 관심 하위 라이브러리에 속하는 핵산이 더 포괄적인 라이브러리로부터의 서브-라이브러리의 선택적 포획을 위해 공통 프라이머 결합 부위(하위 라이브러리 내에서는 공통이지만 다른 하위 라이브러리와는 구별됨)를 공유하도록 생성되거나 조립될 수 있다.
G. 동결건조
동결건조는 탈수 과정이다. 핵산과 효소 모두 동결건조될 수 있다. 동결건조된 물질은 수명이 더 길 수 있다. 화학적 안정제와 같은 첨가제는 동결건조 공정을 통해 기능성 제품(가령, 활성 효소)을 유지하는 데 사용될 수 있다. 수크로스, 트레할로스 등의 이당류는 화학적 안정제로 사용될 수 있다.
H. DNA 설계
합성 라이브러리(가령, 식별자 라이브러리)를 구축하기 위한 핵산(가령, 구성요소)의 서열은 합성, 서열분석 및 조립 복잡성을 방지하도록 설계될 수 있다. 더욱이, 합성 라이브러리를 구축하는 비용을 줄이고 합성 라이브러리가 저장될 수 있는 수명을 향상시키도록 설계될 수 있다.
핵산은 합성하기 어려울 수 있는 긴 스트링의 단일중합체(또는 반복되는 염기 서열)를 피하도록 설계될 수 있다. 핵산은 길이가 2, 3, 4, 5, 6, 7 이상인 단독중합체를 피하도록 설계될 수 있다. 더욱이, 핵산은 합성 과정을 방해할 수 있는 헤어핀 루프와 같은 2차 구조의 형성을 방지하도록 설계될 수 있다. 예를 들어, 예측 소프트웨어를 사용하여 안정한 2차 구조를 형성하지 않는 핵산 서열을 생성할 수 있다. 합성 라이브러리를 구축하기 위한 핵산이 짧게 설계될 수 있다. 길이가 긴 핵산은 합성하기가 더 어렵고 비용이 많이 들 수 있다. 핵산이 길수록 합성 중에 돌연변이가 발생할 확률이 더 높아질 수도 있다. 핵산(예를 들어, 구성요소)은 최대 5, 10, 15, 20, 25, 30, 40, 50, 60개 이상의 염기일 수 있다.
조립 반응에서 구성요소가 되는 핵산은 조립 반응을 촉진하도록 설계될 수 있다. OEPCR 및 결찰 기반 조립 반응에 대한 핵산 서열 고려 사항에 대한 자세한 내용은 화학적 방법 섹션 A 및 B를 참조할 수 있다. 효율적인 조립 반응에는 일반적으로 인접한 구성요소 간의 혼성화가 포함된다. 잠재적인 표적외 혼성화를 피하면서 이들 표적내 혼성화 사건을 촉진하도록 서열을 설계할 수 있다. 잠금 핵산(LNA)과 같은 핵산 염기 변형을 사용하여 표적 혼성화를 강화할 수 있다. 이들 변형된 핵산은 예를 들어 스테이플 가닥 결찰에서 스테이플로 또는 끈적끈적 가닥 결찰에서 점착성 말단으로 사용될 수 있다. 합성 핵산 라이브러리(또는 식별자 라이브러리)를 구축하는 데 사용될 수 있는 다른 변형된 염기는 2,6-디아미노퓨린, 5-브로모 dU, 데옥시우리딘, 역전된 dT, 역전된 디데옥시-T, 디데옥시-C, 5-메틸 dC, 데옥실노신, Super T, Super G 또는 5-니트로인돌을 포함한다. 핵산은 동일하거나 상이한 변형된 염기 중 하나 또는 여러 개를 포함할 수 있다. 상기 변형된 염기 중 일부는 용융 온도가 더 높은 천연 염기 유사체(가령, 5-메틸 dC 및 2,6-디아미노퓨린)이므로 조립 반응에서 특정 혼성화 사건을 촉진하는 데 유용할 수 있다. 상기 변형된 염기 중 일부는 모든 천연 염기에 결합할 수 있는 범용 염기(가령, 5-니트로인돌)이므로 바람직한 결합 부위 내에 가변 서열을 가질 수 있는 핵산과의 혼성화를 촉진하는 데 유용할 수 있다. 조립 반응에서의 유익한 역할 외에도, 이들 변형된 염기는 핵산 풀 내에서 표적 핵산에 대한 프라이머 및 프로브의 특이적 결합을 촉진할 수 있으므로 프라이머(가령, PCR용) 및 프로브(가령, 핵산 포획용)에 유용할 수 있다. 핵산 증폭(또는 PCR) 및 핵산 포획에 관한 추가 핵산 설계 고려 사항은 화학적 방법 섹션 D 및 F를 참조할 수 있다.
핵산은 서열분석을 용이하게 하도록 설계될 수 있다. 예를 들어, 핵산은 2차 구조, 단독중합체의 연장, 반복 서열 및 GC 함량이 너무 높거나 낮은 서열과 같은 일반적인 서열 분석 문제를 방지하도록 설계될 수 있다. 특정 시퀀서 또는 시퀀싱 방법에는 오류가 발생할 수 있다. 합성 라이브러리(예를 들어, 식별자 라이브러리)를 구성하는 핵산 서열(또는 구성요소)은 서로 특정 해밍 거리를 갖도록 설계될 수 있다. 이러한 방식으로, 염기 분해능 오류가 시퀀싱에서 높은 비율로 발생하는 경우에도 오류가 포함된 서열의 범위는 여전히 가장 가능성이 높은 핵산(또는 구성요소)에 다시 매핑될 수 있다. 핵산 서열은 적어도 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15개 이상의 염기 돌연변이의 해밍 거리로 설계될 수 있다. 해밍 거리로부터의 대체 거리 측정법을 사용하여 설계된 핵산 사이의 최소 필수 거리를 정의할 수도 있다.
일부 시퀀싱 방법 및 장비에서는 어댑터 서열이나 프라이머 결합 부위와 같은 특정 서열을 포함하는 입력 핵산이 필요할 수 있다. 이들 서열은 "방법-특이적 서열"로 지칭될 수 있다. 상기 시퀀싱 기기 및 방법에 대한 일반적인 준비 작업 흐름에는 방법별 서열을 핵산 라이브러리에 조립하는 작업이 포함될 수 있다. 그러나 합성 핵산 라이브러리(가령, 식별자 라이브러리)가 특정 기기 또는 방법을 사용하여 서열 분석될 것이라는 것이 미리 알려진 경우, 이러한 방법별 서열은 라이브러리(가령, 식별자 라이브러리)를 포함하는 핵산(가령, 구성요소)으로 설계될 수 있다. 예를 들어, 서열분석 어댑터는 합성 핵산 라이브러리의 구성원이 개별 핵산 성분으로부터 조립될 때와 동일한 반응 단계에서 합성 핵산 라이브러리의 구성원에 조립될 수 있다.
핵산은 DNA 손상을 촉진할 수 있는 서열을 방지하도록 설계될 수 있다. 예를 들어, 부위 특이적 뉴클레아제 부위를 포함하는 서열이 회피될 수 있다. 또 다른 예로서, UVB(자외선-B) 광은 인접한 티민이 피리미딘 이량체를 형성하게 하여 서열분석 및 PCR을 억제할 수 있다. 따라서 합성 핵산 라이브러리를 UVB에 노출된 환경에 보관하려는 경우 인접한 티민(즉, TT)을 피하도록 핵산 서열을 설계하는 것이 유리할 수 있다.
화학적 방법 섹션에 포함된 모든 정보는 여기에 설명된 기술, 방법, 프로토콜, 시스템 및 프로세스를 지원하고 활성화하기 위한 것이다.
아지드-알킨 변형이 있는 구성요소로부터 식별자를 조립하는 방법
2개 이상의 핵산 구성요소를 함께 결찰하여 화학적 및/또는 생물학적 결찰 방법을 사용하여 식별자를 생성할 수 있다. 일부 구현예에서, 효소 결찰과 같은 생물학적 방법에 비해 "클릭 화학"과 같은 화학적 결찰 방법에는 이점이 있을 수 있다.
클릭 화학 또는 CuAAC(Copper-Catalyzed Azide-Alkyne Cycloaddition)는 Huisgen 1,3-쌍극성 고리 첨가 반응의 변형이다. 이 반응에서 알킨과 아지드 그룹이 반응하여 트리아졸 포스포디에스테르 모방물을 형성할 수 있다. 현재 방법은 Cu(I) 이온을 사용하여 이 반응의 특이성, 속도 및 수율을 높인다. 반응은 약 1분의 반응 완료 시간을 보고하는 일부 알킨으로 인해 빠를 수 있다. 반응 시간은 30, 60, 90, 120, 150 또는 180초 이상이 될 수 있다. 반응은 또한 강력하여 넓은 pH 범위에 대한 내성을 나타낼 수도 있다.
클릭 화학을 사용한 화학적 결찰은 주형(또는 스테이플 또는 부목) 올리고뉴클레오티드의 도움으로 두 개의 단일 가닥 핵산 성분 사이에서 발생할 수 있다. 대안으로, 공통적으로 상보적 오버행(또는 점착성 말단)가 있는 경우 이중 가닥 핵산 구성요소 사이에 화학적 결찰이 발생할 수도 있다. 클릭 화학을 이용한 화학적 결찰은 전술된 곱 방식(도 6), 순열 방식(도 11), MchooseK 방식(도 12), 파티션 방식(도 13) 또는 제한되지 않은 스트링 방식(도 14)에 따라 식별자를 구성하는 데 사용될 수 있다.
클릭 화학을 사용하여 구성요소들을 결찰하려면 한 구성요소가 하나 이상의 알킨 기를 갖고 다른 구성요소가 하나 이상의 아지드 기를 가져야 한다. 한 구성요소의 3' 말단이 다른 구성요소의 5' 말단에 결찰되도록 상보적 변형이 인접한 구성요소에 위치하는 한 어느 변형이든 하나의 핵산 구성요소의 5' 또는 3' 말단에 위치할 수 있다.
여러 가지 다른 유형의 알킨-아지드 결합이 클릭 화학에 사용될 수 있다. PCR과 같은 분자 생물학 방법과 호환되는 알킨-아지드 연결은 식별자 생성에 특히 적합할 수 있다. 특정 식별자 풀이 하나 이상의 알킨-아지드 결합을 포함하는 경우, 식별자는 PCR을 사용하여 자연 형태(염기 사이의 포스포디에스테르 결합 포함)로 복사될 수 있다.
다중 부분 구성요소에서 식별자를 조립하는 방법
식별자를 구성하는 구성요소는 서로 다른 기능을 가진 두 개 이상의 부분으로 나누어질 수 있다. 예를 들어, 각 구성요소는 두 부분으로 구성될 수 있는데, 하나는 데이터 액세스를 위해 핵산 프로브에 혼성화하기 위한 긴 부분이고, 다른 하나는 시퀀싱 판독을 위한 짧은 부분이다. 두 부분은 서로 분리되어 각 가장자리의 식별자에 조립되도록 의도될 수 있으므로 최종 식별자 생성물은 기능적으로 서로 다른 두 개의 영역을 가진다. 한 쪽의 한 영역은 화학적 액세스를 위한 것이고 다른 쪽의 한 영역은 시퀀싱을 위한 것이다.
도 22는 식별자의 점착성 말단 결찰 조립에 대한 이 개념의 예시 개략도를 제공하며, 여기서 각 층의 구성요소는 곱 방식에 따라 함께 모인다. 첫 번째 층은 결합된 2-부분 구성요소로 식별자 조립 프로세스를 핵화하고, 후속 층은 양쪽 가장자리에서 식별자로 조립되는 연결되지 않은 2-부분 구성요소로 구성된다. 점착성 말단 위의 심볼은 각자의 순서를 나타낸다. 상이한 심볼이 있는 점착성 말단들이 직교한다. 심볼 옆의 별표는 역 보체(reverse complement)를 나타낸다. 예를 들어, 'a'와 'a*'는 서로 역보체이므로 결찰 중에 혼성화하여 생성물을 형성한다.
기본 편집기를 사용하여 식별자를 구축하는 방법
염기 편집기가 사용되어 모 식별자 내의 특정 유전자좌에 위치한 염기를 프로그래밍 방식으로 돌연변이시켜 새로운 식별자를 구성할 수 있다. 하나의 실시예에서, 염기 편집기는 시스토신(C)을 우라실(U)로 전환시키는 시티딘 데아미나제에 융합된 dCas9 단백질일 수 있다. 모 식별자는 가이드 RNA(gRNA)가 결합하기 위한 여러 직교 표적 유전자좌로 설계될 수 있다. 표적 유전자좌에는 해당 유전자좌에 결합된 dCas9-디아미나제의 활성 범위 내에 하나 이상의 시토신이 포함될 수 있다. 활성 범위는 유전자좌 내의 1, 2, 3, 4, 5, 6개 이상의 염기일 수 있다. dCas9-디아미나제 및 특정 유전자좌에 대한 gRNA의 서브세트과 함께 모 식별자를 후속 배양하면 각 표적 유전자좌에서 하나 이상의 시스토신에서 우라실로의 돌연변이가 발생할 수 있다. 또한, DNA 중합효소는 우라실을 티민으로 인식하므로, 돌연변이된 식별자에 대해 PCR을 수행하면 상보적인 돌연변이(구아닌에서 아데닌으로)가 발생할 수도 있다. N개의 직교 표적 유전자좌를 갖는 부모 식별자는 dCas9-데아미나제 및 N개의 gRNA의 다양한 서브세트(각각 부모의 개별 유전자좌를 표적으로 함)을 적용하여 2N개의 개별 딸 식별자 서열로 프로그래밍 방식으로 변환될 수 있다. 따라서 이 체계에서 구성된 가능한 식별자의 조합 공간은 N개의 gRNA 입력에 대한 N 비트의 정보를 저장할 수 있다.
일부 구현예에서, 모 서열의 임의의 주어진 표적 유전자좌는 증가된 돌연변이 효율을 촉진하기 위해 상부 및 하부 가닥 모두에 표적화된 시토신을 함유할 수 있다. 또한 효율적인 gRNA 타겟팅이 발생하려면 각 유전자좌가 PAM 사이트에 인접해야 합니다. 그러나 PAM 서열은 다양한 조작된 Cas9 변이체의 사용에 따라 달라질 수 있다.
dCas9-데아미나제 융합체는 두 개의 융합된 단백질 사이에 링커 서열을 포함할 수 있다. 효율적인 표적화 돌연변이를 위한 최적의 링커 길이는 16개 아미노산 길이일 수 있다. 링커 길이는 적어도 0, 1, 5, 10, 15, 20, 25개 이상의 아미노산 길이일 수 있다. 여러 시티딘 탈아미노효소 중 하나를 사용할 수 있다. 시티딘 데아미나제의 예로는 APOBEC1, AID, CDA1 또는 APOBEC3G가 있다. dCas9 대신 활성 Cas9 니카제를 사용할 수 있지만 식별자 구성 반응에도 DNA 복구 효소를 포함해야 할 수도 있다.
염기 편집기를 사용하여 식별자를 구성하는 또 다른 구현예에서, dCas9에 융합된 아데닌 데아미나제(dCas9에 융합된 시티딘 데아미나제와 반대이거나 이에 추가하여)를 사용하여 gRNA에 의해 액세스될 수 있는 모 식별자의 정의된 유전자좌에서 아데닌을 이노신으로 돌연변이시킬 수 있다. 이노신은 DNA 중합효소에 의해 구아닌으로 해석된다. 따라서 염기 편집 유전자좌의 PCR은 반대 가닥의 시토신에 대한 상보적인 티민 돌연변이를 초래할 수 있다.
DNA에 저장된 정보를 삭제하는 방법
핵산을 사용하여 저장된 데이터를 안정적으로 삭제(또는 삭제)하는 기능은 보안, 개인 정보 보호 및 규제상의 이유로 유익할 수 있다. 데이터 삭제에는 핵산 내의 공유 결합을 끊거나, 핵산을 비가역적으로 변형하여 서열 분석 능력을 방해하거나, 되돌릴 수 없는 방식으로 캡슐화 또는 흡착하거나, 더 많은 핵산 또는 기타 물질을 추가하여 원래의 핵산 모음을 읽을 수 없게 하거나 또는 읽기가 불가능하게 하는 것이 포함될 수 있다. 이러한 방법은 선택적 또는 비선택적 방식으로 수행될 수 있다. 선택 프로세스는 삭제 프로세스와 별개일 수 있다. 예를 들어, 식별자 라이브러리로 시작하여 서열 특정 프로브를 사용하여 삭제할 식별자의 서브세트을 풀다운할 수 있다. 또 다른 예로서, 크기 또는 질량 대 전하 비율에 의한 선별 식별자의 정제는 다른 선택적 또는 비선택적 삭제 방법과 함께 수행될 수 있다.
라이브러리에서 핵산을 삭제하는 선택적 방법에는 삭제를 위한 핵산 서브세트을 풀다운하기 위한 서열 특이적 프로브의 사용, 하나 이상의 표적 서열을 포함하는 선별된 핵산을 절단하기 위한 CRISPR 기반 방법의 사용, 크기 또는 질량 대 전하 비율에 따라 핵산을 선택하는 정제 기술이 포함된다.
정보를 인코딩하는 핵산을 라이브러리에서 삭제하는 비선택적 방법에는 초음파 처리, 오토클레이빙, 표백제, 염기, 산, 에티듐 브로마이드 또는 기타 DNA 변형제 처리, 방사선 조사(가령, 자외선 사용), 연소 및 비특이적 뉴클라아제 분해(시험관 내 또는 생체 내), 가령, DNase I를 이용한 것이 포함된다. 난독화, 은닉화, 핵산의 액세스나 시퀀싱을 물리적으로 보호하기 위해 다른 방법이 사용될 수도 있다. 방법에는 캡슐화, 희석, 원래 핵산을 난독화하기 위한 무작위 핵산 추가, 및 핵산의 다운스트림 서열분석을 방지하는 다른 제제의 추가가 포함될 수 있다. 한 실시예에서, 핵산에 저장된 데이터는 오류가 발생하기 쉬운 중합효소, 예를 들어 교정 기능이 부족한 중합효소에 의한 증폭으로 인해 난독화될 수 있다.
정의된 가치 기간을 가진 핵산에 저장된 데이터의 경우 특정 시점에 데이터를 자동으로 삭제하는 방법을 사용하는 것이 유리할 수 있다. 예를 들어, 필수 규제 기간 이후 데이터가 삭제되도록 예약될 수 있다. 또 다른 예로, 데이터가 전송 중이고 제 시간에 목적지에 도달하지 못한 경우 데이터가 삭제되도록 예약될 수 있다. 한 실시예에서, 핵산의 계획된 결실은 정의된 속도로 또는 특정 시점에 즉시 작용하는 분해제의 사용을 수반할 수 있다. 다른 실시예에서, 핵산의 예정된 삭제는 시간이 지남에 따라 분해되는 핵산 캡슐 또는 보호 케이스의 사용을 포함할 수 있다. 다른 실시예에서, 핵산은 다양한 속도의 분해를 촉진하기 위해 다양한 온도나 환경에서 보관될 수 있다. 예를 들어 분해 속도를 높이기 위해 고온이나 높은 습도를 사용한다. 다른 실시예에서, 핵산은 더 빠른 분해를 위해 덜 안정한 형태로 전환될 수 있다. 예를 들어, DNA는 덜 안정한 RNA로 전환될 수 있다.
핵산 결실의 확인은 서열분석, PCR 또는 정량적 PCR을 통해 달성될 수 있다.
효율적인 랜덤 액세스를 위한 식별자 설계 및 순위 지정 방법
본 명세서에 설명된 시스템 및 방법은 인코딩되고 저장된 정보로부터 임의의 비트 분포의 효율적인 랜덤 액세스 검색을 허용한다. 라이브러리에 있는 식별자의 표적화된 서브세트를 증폭하기 위해 가장자리 층(또는 끝 서열)에 사용되는 구성요소별 프라이머와 함께 데이터가 저장되면 인코딩된 정보의 일부를 효율적으로 검색할 수 있다. 효율적인 액세스는 저장된 데이터로부터 선택된 정보 부분을 검색하는 데 필요한 PCR 단계 수를 줄이는 것이 포함될 수 있다. 예를 들어, 여기에 설명된 방법을 사용하여 저장된 데이터 세트에서 식별자는 L/2 미만의 순차적 PCR 단계로 액세스될 수 있으며, 여기서 L은 식별자를 포함하는 층의 수이다. 식별자 아키텍처와 식별자 순위 시스템은 식별자 풀의 무작위 액세스 속성에 영향을 미친다. 식별자의 순위는 식별자가 나타내는 비트의 위치에 대응한다. 식별자 순위는 전략적으로 정의될 수 있는 각 층에 나타날 수 있는 가능한 각 구성요소의 순서로부터 사전식으로 결정될 수 있다. 예를 들어, 식별자의 가장자리에 있는 층에는 식별자 중간에 있는 층보다 더 높은 우선순위가 할당될 수 있으므로 랜덤 액세스(가령, 식별자의 가장자리 층를 바인딩하는 PCR 프라이머 사용)가 인코딩된 비트의 연속 또는 관련 스트레치에 대응하는 연속 순위를 갖는 식별자를 반환할 것이다. "우선순위"가 높을수록 액세스 심도가 낮아진다, 가령, 우선순위가 높은 요소는 우선순위가 낮은 요소보다 액세스하기 쉽다.
식별자 아키텍처 및 식별자 순위 시스템은 식별자 풀에서 식별자의 특정 서브세트에 대한 무작위 액세스를 허용한다. 일부 구현에서, 식별자 풀의 각 식별자 핵산 서열은 심볼 스트링 내의 심볼 값 및 심볼 위치에 대응한다. 또한, 풀 내의 식별자 핵산 서열의 존재 또는 부재는 심볼 스트링 내의 대응하는 각각의 심볼 위치의 심볼 값을 나타낼 수 있다.
특정 구현에서, 인접한 심볼 위치를 갖는 심볼은 유사한 디지털 정보를 인코딩한다. 본 명세서에 사용된 유사한 디지털 정보에는 동일한 구조의 데이터(즉, 이미지 데이터 또는 이진 코드 스트링)가 포함될 수 있다. 유사한 디지털 정보는 해당 정보에 포함된 데이터를 의미할 수도 있다. 예를 들어, 빨간색의 특정 강도로 인코딩된 모든 이미지 데이터 위치는 인접한 심볼 위치에서 함께 그룹화될 수 있다. 대안으로, 연속적인 심볼 위치를 갖는 심볼은 유사한 디지털 정보를 인코딩하지 않을 수도 있다. 예를 들어, 연속적인 심볼 위치는 x 좌표, y 좌표, 강도 값 또는 강도 값 범위와 같은 데이터(즉, 이미지 데이터)의 다양한 특징에 대응할 수 있다. 도 23은 3개 층 A, B, C의 곱 방식에 의해 생성된 식별자의 예를 보여주는데, 여기서 각 층은 2개의 구성요소 1과 2를 가진다. 3개의 층 A, B, C 각각의 구성요소가 해당 순서로 조립된다. 각 식별자의 순위는 각 층에 특정 순서를 할당한 다음 각 층 내의 각 구성요소에 특정 순서를 할당하고 식별자를 사전순으로 정렬하여 결정될 수 있다. 도 23a는 물리적 식별자에서 층이 정렬되는 것과 동일한 방식으로 층의 사전순 정렬을 정의함으로써 얻은 결과 순위를 보여준다. 식별자 풀(가령, 구성요소 A1 및 구성요소 C1)을 결합하는 프라이머를 사용하여 PCR 반응으로 이러한 식별자 풀을 쿼리하는 경우 액세스된 식별자는 비연속적인 순위를 가지므로, 한 번의 PCR 반응으로 연속적인 비트 스트링을 랜덤 액세스하는 것을 불가능하게 만들 수 있다. 본 명세서에 설명된 특정 구현에서, 식별자(예를 들어, 구성요소 A1 및 구성요소 C1)의 가장자리는 "말단 서열" 또는 "말단 분자"로 지칭된다. 그러나 연속된 스트레치 내의 비트는 종종 관련 정보를 인코딩하므로 연속된 비트 스트레치(연속적으로 순위가 매겨진 식별자로 표시됨)에 무작위로 액세스하는 것이 이상적이다. 연속적인 비트 스트레치 내의 각 비트는 프로브를 사용하여 애세스되어 복수의 식별자 핵산 서열 중 각 식별자 핵산 서열의 표적 말단 서열에 혼성화되어 연속적인 심볼 위치를 갖는 각각의 심볼에 대응하는 식별자 핵산 서열을 선택할 수 있다. 도 23b는 식별자의 가장자리(또는 말단 서열)를 결합하는 프라이머를 사용하는 한 번의 PCR 반응으로 인접한 비트 스트레치의 질의를 가능하게 하기 위해 층 A, B 및 C의 사전편찬 순서가 어떻게 변경될 수 있는지를 보여준다. 전략은 층의 물리적 순서와 동일한 사전식 층 순서를 사용하지 않는 것이다. 대신, 식별자의 가장자리(또는 말단 서열)에 있는 층에 더 높은 우선 순위의 사전 편찬 순서를 할당하고 식별자 중간에 있는 층에 더 낮은 우선 순위를 할당하는 것이 전략이다.
조합 공간의 기본이 되는 분할 방식의 구성요소 분포는 PCR 반응에서 액세스할 수 있는 심볼 수에 영향을 미칠 수 있다. 도 24는 3개 층 A, B, C의 곱 방식에 의해 생성된 식별자의 예를 보여주며, 여기서 층 전체에 걸쳐 구성요소가 균일하지 않게 분포된다. 구체적으로 두 층에는 두 개의 구성요소 1과 2가 있고, 한 층에는 세 개의 구성요소 1, 2, 3이 있다. 앞서 언급한 식별자 순위 원칙에 따르면, 물리적 순서는 A, B, C이지만 층의 사전 편찬 순서는 A, C, B 순이다. 예를 들어, 식별자의 가장자리에 있는 층에는 식별자 중간에 있는 층보다 더 높은 우선순위가 할당될 수 있으므로 랜덤 액세스(가령, 식별자의 가장자리 층을 결합하는 PCR 프라이머 사용)가 인코딩된 비트의 연속 또는 관련 스트레치에 대응하는 연속 순위를 갖는 식별자를 반환할 것이다. 구체적으로, 특정 식별자 핵산 서열의 첫 번째 및 두 번째 말단 서열은 인접한 비트 스트레치에 대응하는 다중 식별자 핵산 서열 사이에서 공유된다. 도 24a는 더 많은 구성요소가 식별자의 중간 층(들)에 배치될 때 PCR 쿼리(각각 가장자리 구성요소(또는 말단 서열)를 결합하는 프라이머를 사용)로 인해 액세스된 식별자의 더 큰 풀이 생성될 수 있음을 보여준다. 이에 따라 한 번에 더 많은 비트에 액세스할 수 있다. 도 24b는 더 많은 구성요소가 식별자의 가장자리 층(또는 말단 서열(들))에 배치될 때 등가 PCR 쿼리로 인해 액세스된 식별자의 풀이 더 작아질 수 있음을 보여준다. 이에 따라 비트는 더 높은 해상도로 액세스될 수 있다.
식별자 구성을 위한 곱 방식의 층의 수는 PCR 쿼리당 액세스할 수 있는 심볼 수에도 영향을 미칠 수 있다. 도 25는 5개 층(A, B, C, D, E)의 곱 방식에 의해 생성된 식별자의 예를 보여주며, 여기서 각 층은 2개의 구성요소(1과 2)를 가진다. 앞서 언급한 식별자 순위 원칙에 더해 층의 사전 편찬 순서는 최외부 층(A 및 E)에 가장 높은 우선순위를 할당하고, 두 번째에서 최외부 층(B 및 D)에 다음으로 높은 우선순위를, 중간 층(층 C)에 가장 낮은 우선순위를 할당한다. 본 명세서에서 사용된 바와 같이, 우선순위는 데이터 액세스의 깊이(또는 레벨)를 나타내며, 높은 우선순위는 얕은 깊이에 대응되고 낮은 우선순위는 깊은 깊이에 대응됩니다. 예를 들어, 책 모음에서 책(즉, 층 A 및 E)에 대한 액세스는 가장 높은 우선순위로 간주되고, 책 내의 한 챕터(즉, 층 B 및 D)에 대한 액세스는 다음으로 가장 높은 우선순위로 간주되며, 책의 챕터 내 단락(즉, 층 C)에 대한 액세스는 가장 낮은 우선순위로 간주된다. 더 많은 층이 있는 경우 층의 사전순 정렬은 이러한 방식으로 계속되므로 연속적이거나 관련된 비트 스트레치를 검색하는 데 더 적은 PCR 쿼리를 사용할 수 있다. 최외부 층(A1 및 E1)의 구성요소와 관련된 모든 식별자는 한 번의 PCR 반응으로 쿼리될 수 있다. 그런 다음 두 번째에서 가장 바깥쪽 층(B1 및 D1)의 구성요소를 결합하는 프라이머를 사용하는 추가 PCR 반응을 통해 더 높은 해상도(즉, 더 낮은 우선 순위 또는 더 깊은) 쿼리를 수행할 수 있다. 식별자 아키텍처에 더 많은 층이 있는 경우 순차 PCR 반응은 이러한 방식으로 계속되어 더 높은 해상도의 쿼리를 얻을 수 있다. 그러나 두 가지 순차 PCR 반응을 사용하여 A1, B1, D1 및 E1의 4개 구성요소와 관련된 모든 식별자를 쿼리하는 대신 사용할 수 있다. (특히 구성요소가 충분히 짧은 서열을 갖도록 설계된 경우) PCR 프라이머가 A1-B1과 E1-D1을 함께 결합하도록 설계될 수 있지만 그 자체로는 어느 구성요소도 결합하지 않아 결과 PCR 쿼리가 A1과 E1에 이어 B1과 D1이 순차적으로 PCR 쿼리된 것과 동일한 식별자이다.
DNA 및 다중 저장소를 사용하여 정보를 인코딩하는 방법
정보는 "다중 빈 방식"을 사용하여 DNA 식별자로 인코딩될 수 있다. 이러한 방식의 한 구현에서, b개의 빈(bin)이 있으며, 각각은 식별자의 서로소 집합을 유지한다. 각각의 빈은 라벨 또는 빈 라벨로 지칭될 수 있는 고유 비트 심볼로 라벨링된다. l 비트의 비트스트림은 "워드"로 분할되며, 각각의 워드는 길이 비트를 가진다. 임의의 워드 w는 빈 라벨일 수 있다.
구체적으로, 다중 빈 방식은 "다중 빈 위치 인코딩 방식"일 수 있다. 이 다중 빈 방식에서, 비트스트림에서 각 워드 w의 위치를 나타내기 위해 고유 식별자가 구성되고 라벨 w가 있는 고유 빈에 배치된다. 이 방식의 다중 빈 구현에서는 l 비트의 정보를 인코딩하기 위해 식별자가 생성되고, 각 비트는 정확히 하나의 빈에 존재하는 정확히 하나의 식별자로 인코딩된다. 우리는 이것을 "다중 빈 위치 인코딩 방식"이라고 지칭한다.
앞서 설명한 다중 빈 위치 인코딩 방식이 다음의 예를 통해 설명될 수 있다. 구두점을 포함하여 영어 알파벳의 고유한 심볼로 레이블이 지정된 35개의 빈을 고려할 수 있다. 영어 텍스트 단락의 인코딩은 다음과 같은 방식으로 수행된다. 각 심볼 x에 대해 x의 모든 발생은 단락에서 식별된다. 정수 주소는 텍스트의 각 문자에 오름차순으로 번호를 매겨 획득된다. 특정 심볼 x의 주소에 해당하는 모든 식별자가 생성되어 x라는 레이블이 붙은 단일 저장소에 수집된다. 따라서 x가 발생하는 텍스트의 모든 위치는 x라는 레이블이 붙은 저장소의 식별자로 표시된다.
도 26은 다중 빈 위치 인코딩 방식의 예를 도시하며, 여기서 심볼 스트림의 각 유형의 심볼 위치는 해당 유형의 심볼에 대해 예약된 빈에 기록된다. 도면은 1로 라벨링된 "" 문구의 예를 보여준다. 이 예에서는 9가지 유형의 심볼 "A", "B", "C", "D", "E", "F", "G", "H", 및 ""(공백을 나타냄)로 구성된 9개의 문자 알파벳을 가정한다. 이 알파벳의 각 심볼에는 해당 심볼에 해당하고 해당 심볼로 이름이 지정된 고유한 빈이 할당된다. 예를 들어 비어 있는 빈 "D"는 라벨 7로 표시된다. 예를 들어, 빈 "F"의 라벨은 라벨 6으로 나타난다. 인코딩될 문구는 알파벳의 심볼로 구분되고 라벨 3에 표시된 대로 식별자 라이브러리와 일대일 대응으로 매핑된다. 심볼이 나타날 때마다 해당 심볼에 대해 예약된 저장소에 해당 식별자가 추가된다. 예를 들어, 빈 A에는 인코딩할 문구("A BEACH CAF
Figure pct00009
", 강조 추가)에 "A" 심볼이 3번 나타나기 때문에 3개의 식별자(라벨 4)가 포함되어 있다. 더욱이, 빈 "A"에 있는 세 개의 식별자는 해당 심볼이 나타나는 위치를 표시한다. 문자 "B"와 "G"가 매핑된 문구("")에 나타나지 않기 때문에 저장소 "D"와 "G"는 비어 있다.
다중 빈 방식의 또 다른 구현에서, l 비트의 비트스트림은 1, 2, ??, b로 라벨링된 b개의 빈에 대한 식별자 배포에서 암시적으로 인코딩된다. 이 방식에서, 길이가 l 비트인 모든 비트스트림 세트와 b개의 빈으로의 모든 d개의 식별자 분포 세트 사이에 매핑이 설계된다. b개의 빈에 대한 d 식별자의 분포는 정수 라벨의 벡터 (b 1 , b 2 , ..., b d )여서 0 ≤ b i < b이며: 각각의 비음성 정수 b i 가 i번째 식별자에 할당된 고유 빈의 라벨이다. 할당된 각각의 빈 라벨은 b개의 가능한 라벨 중에서 자유롭게 선택될 수 있으므로 b d 개의 가능한 분포가 있다.
도 27은 정보 인코딩을 위한 식별자 분포의 사용에 기초한 다중 빈 방식의 예를 도시한다. 도 27은 두 개의 식별자(1로 라벨링됨)로 구성된 식별자 라이브러리와 세 개의 명명된 빈(0, 1, 2)으로 구성된 빈 컬렉션의 예를 보여준다. 반의 각 행(각 행은 명명된 세 개의 빈 0, 1, 2로 구성됨)은 세 개의 빈으로 분할된 두 식별자의 분포 예를 보여준다. 표(6으로 라벨링됨)는 고정되어 있지만 각 분포에 매핑된 임의의 비트스트림을 보여준다. 예를 들어, 3개의 빈으로 구성된 네 번째 행(5로 라벨링됨)은 두 개의 식별자가 1로 명명된 빈에 배치되고 0 및 2 빈은 비어 있는 분포를 보여준다. 이 분포는 비트스트림 0011에 임의로 매핑된다. 마찬가지로, 3개 빈의 두 번째 행은 두 식별자가 0과 1로 명명된 빈에 배치되고 세 번째 빈은 비어 있는 분포를 보여준다. 이 분포는 비트스트림 0001(3으로 라벨링됨)에 매핑된다. 다음 행은 1이라는 이름의 빈이 비어 있는 분포를 보여준다. 이는 비트스트림 0010에 대응한다. 그러한 비트스트림이 주어지면 해당 분포가 구성되고 보존된다. 이러한 방식으로, 충분한 수의 빈과 식별자를 사용하여 이 다중 빈 식별자 배포 방식을 사용하여 임의의 비트스트림을 인코딩할 수 있다.
다중 빈 방식의 다른 실시예에서, 식별자는 하나보다 많은 빈에 존재할 수 있다. 이 방식에서, l 비트의 비트스트림이 1, 2, ..., b로 라벨링된 빈에 대한 식별자 배포에서 암묵적으로 인코딩된다. 이 방식에서 각 빈에는 식별자의 서브세트가 포함되어 있다. 따라서, 이 방식에서, 길이가 l 비트인 모든 비트스트림의 세트와 모든 식별자 서브세트의 세트 중 모든 b-서브세트의 세트 간 매핑이 설계된다. b-서브세트는 b개의 원소를 포함하는 세트를 의미한다. 예를 들어, 조합 공간에 총 d개의 식별자가 있는 경우, 모든 식별자 서브세트의 세트는 2d개의 세트를 포함하며, D로 표시된다. 이 방식은 길이 l의 모든 비트스트림과 b개의 세트를 포함하는 D의 임의의 서브세트 간 매핑을 사용하며, 보다 크지 않는 길이의 비트스트림을 인코딩할 수 있다. 또 다른 실시예에서, 각 빈은 개별 서브세트를 포함하며, 이 경우, 방식은 길이가 보다 크지 않은 비트스트림을 인코딩할 수 있다.
도 28은 정보를 인코딩하기 위한 식별자 분포의 사용에 기초한 다중 빈 방식의 예를 도시하며, 여기서 식별자는 하나보다 많은 빈에 나타날 수 있다. 우리는 이 방식을 재사용이 가능한 식별자 분포(Identifier Distributions with Reuse)라고 부른다. 도 28은 두 개의 식별자(8과 9로 라벨링됨)의 식별자 라이브러리와 세 개의 빈(빈 0, 1, 2)과 관련된 예를 보여준다. 2개의 식별자와 3개의 빈은 6개의 비트(b0b1b2b3b4b5, 여기서 각 bx는 비트스트림 내 단일 비트에 대응하고 x는 비트스트림의 각 비트 위치를 나타 냄)를 코딩하는 데 사용된다. 도면의 상단에는 각각 비트 b0b1(4로 라벨링됨), b2b3 및 b4b5에 해당하는 가능한 식별자의 서브세트가 나와 있다. 식별자의 서브세트는 임의의 빈에 포함될 수 있다. 따라서 3개의 빈의 각각의 빈은 4개의 옵션, 즉 식별자 없음, 단일 식별자(8로 라벨링됨), 다른 식별자(9로 라벨링됨), 또는 두 식별자 모두(8 및 9)를 포함할 수 있다. 이 예에는 세 개의 빈이 포함되어 있으므로 각 서브세트는 각 행(라벨 2)에 세 번씩 표시된다. 세 개의 빈 각각은 정확히 하나의 서브세트를 포함할 수 있지만 모든 서브세트 트리플이 허용된다. 이는 서브세트들을 연결하는 선(라벨 3)으로 표시되는데, 즉, 왼쪽에서 오른쪽으로의 각 경로는 세 개의 저장소에 포함될 서브세트의 모음에 대응한다. 각 식별자 분포는 표(7로 라벨링)에 표시된 것처럼 특정 비트스트림에 매핑된다. 하나의 실시예에서, 비트스트림은 각 빈에 대해 서브세트를 00, 01, 10 및 11로 명명함으로써 추론될 수 있다. 따라서 예를 들어 라벨 5로 표시된 분포는 세 개의 빈 각각에 빈 식별자 서브세트를 포함하도록 선택하고 이 서브세트의 이름은 00이므로 비트스트림 000000에 대응한다. 마찬가지로, 라벨 6에 표시된 분포는 비트스트림 010110에 대응할 것인데, 왜냐하면 이 분포는 빈 0에 서브세트 01, 빈 1에 서브세트 01, 빈 2에 서브세트 10을 포함하도록 선택했기 때문이다. 도면은 64개의 가능한 분포 중 몇 가지 예를 더 보여준다(도면의 점선 항목으로 표시됨).
다중 빈 인코딩 방식은 데이터의 보안 보관에 응용할 수 있는데, 왜냐하면 이러한 방식으로 인코딩된 데이터를 디코딩하려면 모든 빈에 대한 액세스 및 디코딩이 필요할 수 있기 때문이다. 예를 들어, 다중 빈 인코딩된 식별자 라이브러리를 소스 비트스트림에 다시 매핑하기 위해, 다중 빈 방식이 비트스트림을 일반적으로 빈의 적절한 서브세트로부터 소스 비트스트림의 임의의 유의미한 서브스트링을 디코딩하는 것을 가능하게 하지 않는 다중 빈의 식별자의 개별 분포에 매핑하므로 각 빈에 존재하는 식별자 세트를 얻는 것이 필요할 수 있다.
다른 실시예에서, 소스 비트스트림은 다수의 직교 식별자 라이브러리를 사용하는 다중 빈 방식을 사용하여 인코딩될 수 있다. 결과적인 다중 빈 라이브러리는 일부 최소 카디널리티의 빈의 임의의 서브세트로부터의 디코딩을 가능하게 하는 방식으로 조합될 수 있다. 예를 들어, 소스 비트스트림은 5개의 직교 라이브러리와 각각 3개의 빈을 사용하여 인코딩될 수 있다. 결과적인 15개의 빈은 3개의 빈의 임의의 서브세트로부터 비트스트림의 디코딩을 가능하게 하는 방식으로 결합될 수 있다. 실제로, 빈은 물리적 위치, 가령, 튜브, 웰 또는 기판 상의 스팟일 수 있다.
일부 실시예에서, 빈은 물리적 위치, 가령, 튜브, 웰, 또는 기판 상의 스팟일 수 있다. 다른 실시예에서 빈은 특정 바코드 시퀀스와 같이 컬렉션의 모든 식별자에 의해 공유되는 보다 추상적인 연관일 수 있다.
DNA 및 정수 파티셔닝을 통한 정보 인코딩 방법
우리는 DNA의 무작위 서열을 파티셔닝할 때 정보를 저장하는 인코딩 전략을 지칭하기 위해 "정수 분할" 방법이라는 용어를 사용한다. 도 29는 5 단계로 요약된 정수 분할 방법의 실시예를 도시한다. DNA는 회색 또는 검정색 막대와 심볼로 구성된 스트링으로 표시된다. 묘사된 각각의 DNA는 별개의 종을 나타낸다. "종"은 동일한 서열의 하나 이상의 DNA 분자(들)로 정의된다. "종"이 복수 의미로 사용되는 경우, 복수의 종에 포함된 모든 종은 개별 서열을 가지고 있다고 가정할 수 있지만 이는 때때로 "종" 대신 "개별 종"을 써서 명시적으로 나타낼 수 있다.
방법 실시예의 단계 1에서, 각각 "카운트"라고 하는 매우 많은 수의 종의 풀로 시작한다. 카운트는 가장자리(검은색과 밝은 회색 막대)에 공통 서열이 있고 중간(N??N)에 개별 서열이 있도록 설계될 수 있다. 축퇴성 올리고뉴클레오티드 합성 전략을 사용하여 이러한 시작 카운트 풀을 신속하고 저렴한 방식으로 제조할 수 있다. 단계 2에서 카운트가 빈(단계 2에 있는 직사각형)으로 분할된다. 어떤 카운트가 어떤 빈으로 분할되는지는 중요하지 않으며, 중요한 것은 각 빈으로 분할되는 카운트 수이다. 따라서 시작 풀에서 무작위로 단일 카운트를 샘플링한 다음 이를 특정 빈(가령, 단계 2에 있는 5개 빈 중 하나)에 할당하여 분할이 발생할 수 있다. 작은 액적에서 단일 카운트가 풀로부터 샘플링될 수 있다. 빈은 반응 용기이다. 예를 들어, 빈은 기판 상의 미세유체 채널 또는 위치 내 챔버일 수 있다. 카운트는 미세유체 장치를 통해 챔버에 할당되거나 인쇄를 통해 기판의 위치에 할당될 수 있다. 각 빈은 바코드라고 하는 개별 DNA 종을 포함한다. 바코드는 가장자리(밝은 회색 막대와 어두운 회색 막대) 상의 공통 서열 및 각각의 빈을 식별하는 중앙의 개별 서열(B0, B1, B2, B3, B4, ....)을 갖도록 설계될 수 있다. 단계 3에서, 바코드의 공통 가장자리 서열이 카운트의 공통 가장자리 서열로 조립된다. 예를 들어, 바코드의 공통 가장자리 서열은 점착성 말단 결찰 또는 깁슨 조립을 통해 조립되도록 구성될 수 있다. 단계 4에서 각 빈으로부터의 조립된 DNA 분자가 단계 5로 지시되는 저장을 위해 최종 풀로 통합된다. 최종 풀에서의 종은 카운트가 각 빈에 어떻게 파티셔닝되었는지에 대한 모든 정보를 포함한다. 이 정보는 시퀀싱을 통해 복구될 수 있다. 주어진 예에서, 시퀀싱 데이터는 9개의 카운트가 5개의 빈으로 파티셔닝되어 첫 번째 빈(B0)이 2개의 카운트를 갖고, 두 번째 빈(B1)이 3개의 카운트를 가지며, 세 번째 빈(B2)이 1개의 카운트를 가지며, 네 번째 빈(B3)은 1개의 카운트를 가지며, 다섯 번째 빈(B4)은 2개의 카운트를 가짐을 의미할 수 있다. 이는 정수 "9"를 "구성"으로 알려진 정렬된 합계 "2+3+1+1+2"로 수학적으로 다시 쓰는 것과 같다. 이 방법의 파라미터가 항상 총 9개의 카운트와 5개의 빈을 갖도록 고정된 경우, 13choose4개의 가능한 조성이 있으므로 이 예에 기록된 특정 구성에는 log2(13choose4) 비트의 정보가 포함된다. 이 프로세스의 어느 시점에서든 저장되는 정보를 방해하지 않고 각 종의 여러 복사본이 존재하거나 생성될 수 있다(가령, PCR을 사용하여). 이를 통해 분해를 방지하고 시퀀싱을 용이하게 하기 위해 최종 풀을 증폭할 수 있다.
일반적으로, 정수 파티션 시스템이 n개의 분할된 카운트 및 k개의 빈의 고정 파라미터 값을 갖는 경우, 방법은 log 2 [(n+k-1)choose(k-1)] 비트의 정보를 저장하도록 구현될 수 있다. 수학적으로, 정보는 시스템의 "약한 구성"의 수를 측정한다고 말한다. 그러나 이는 각 저장소의 바코드 순서를 알고 있는 경우에만 해당된다. 각 빈의 바코드 시퀀스를 알 수 없는 경우(가령, 바코드 자체가 무작위 시퀀스인 경우) 방법은 를 저장하도록 구현될 수 있으며, 이때 Pj(n)은 n을 정확히 j 부분으로 분할한 수이다.
DNA에 정보를 인코딩하기 위한 데이터 파이프라인 설계 방법
DNA에 기록될 입력 비트스트림은 "코덱"으로 약칭되는 컴퓨터 인코딩-디코딩 파이프라인에 의해 처리된다. 도 30은 코덱의 예시적인 인코딩 부분의 상위 레벨 블록도를 도시한다. 소스 비트스트림과 이를 DNA에 기록하라는 요청을 수신하면 코덱은 소스 비트스트림을 블록 크기라고 알려진 고정 길이보다 크지 않은 크기의 하나 이상의 블록으로 나눈다. 코덱은 소스 비트스트림(즉, 심볼 스트링), 처리 요건 및 비트스트림 콘텐츠(즉, 디지털 정보)의 의도된 적용을 기반으로 적절한 블록 크기를 결정한다. 예를 들어, 100 Gbit 비트스트림은 각각 길이가 1Gbit인 100개의 블록, 또는 각각 길이가 100Mbit인 1000개의 블록으로 분할되거나 다른 방식으로 분할될 수 있다.
코덱은 하나 이상의 해싱 알고리즘을 사용하여 각 블록의 해시를 계산할 수 있다. 해시 및 기타 메타데이터(가령, 블록 길이, 블록 주소)를 블록에 추가할 수 있다.
코덱은 하나 이상의 에러 검출 및 정정 알고리즘을 각 블록에 적용하고 하나 이상의 에러 보호 바이트를 계산할 수 있다. 그런 다음 코덱은 원본 블록을 에러 보호 정보와 결합하여 에러 보호 블록을 얻을 수 있다. 예를 들어, 코덱은 블록의 비트에 콘볼루션 코딩을 적용하고 블록의 바이트 청크에 리드 솔로몬 또는 삭제 코딩을 적용하며 블록의 각 청크에 리드 솔로몬 또는 삭제 오류 방지 바이트를 추가할 수 있다. 코덱은 각 블록에 에러 보호 메타데이터를 추가할 수 있다.
에러 보호 정보를 계산할 때 코덱은 에러 보호 계산을 수행하기 위해 특정 대수 필드 크기를 선택할 수 있다. 필드 크기는 소스 워드 길이를 나타낼 수 있으며, 이는 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 64 또는 128비트와 같은 임의의 비트 수일 수 있다. 소스 단어는 소스 비트스트림을 구성하는 연속된 비트 스트링(고정 길이)이다. 코덱은 계산 복잡성과 에러 보호 고려 사항을 기반으로 특정 필드 크기와 단어 길이를 선택할 수 있다. 예를 들어, 8비트 단어 길이는 계산상 효율적일 수 있지만 16비트 단어 길이는 더 나은 에러 보호 기능을 제공할 수 있다. 코덱은 하나 이상의 목적 함수에 기초하여 최적의 파라미터 값 세트를 식별하기 위해 검색 알고리즘을 사용할 수 있다. 예를 들어, 코덱은 기록기 하드웨어 시스템 내의 독립적인 반응 구획의 수, 파라미터 값의 특정 구성, 일부 다른 기능 또는 기능의 일부 조합 하에서 비트스트림을 인코딩하는 데 필요한 고유 식별자의 수를 비용 함수로서 사용할 수 있다.
코덱은 쓰기 또는 읽기 성능을 향상시키기 위해 에러 보호 블록에 또 다른 인코딩 단계를 추가로 적용할 수 있다. 코덱은 에러 보호 블록의 각 단어를 새로운 코드워드에 매핑할 수 있다. 코덱은 검색 알고리즘을 사용하여 특정 속성 집합을 가진 코드워드 집합을 생성할 수 있다. 예를 들어, 코덱은 가변 길이이거나 동일한 고정 개수의 "1" 비트 값을 갖는 코드워드, 서로 지정된 해밍 거리를 갖는 코드워드, 또는 이러한 특징의 일부 조합을 생성할 수 있다. 코덱은 최상의 코드워드 길이, 가중치, 해밍 거리 또는 코드워드의 기타 특징을 결정할 때 소스 워드 길이, 기록기 하드웨어 속도 및 사용 가능한 전체 구성요소 수를 포함하는 일련의 파라미터를 사용할 수 있다. 코덱은 이러한 코드워드와 함께 에러 검출 또는 정정 정보의 또 다른 층을 포함할 수 있다. 예를 들어, 코덱은 정확히 k개의 "1" 비트 값을 갖는 길이 n의 코드워드를 생성할 수 있으며, 여기서 높은 비트 또는 낮은 비트로 알려진 비트 중 2개가 패리티 비트 역할을 하는데, 패리티 비트가 1일 때 높은 비트가 설정되며, 그렇지 않으면 낮은 비트가 설정된다. 이러한 에러 보호 비트의 하나 이상의 쌍은 코드워드의 다양한 부분을 보호할 수 있다.
코덱은 인코딩 또는 디코딩 중에 최적화된 화학적 조건을 보장하기 위해 특정 코드워드 세트를 선택할 수 있다. 예를 들어, 코덱은 기록기 시스템의 각 반응 구획에 고정되고 동일한 수의 식별자가 조립되고 각 구획 내에서 그리고 구획 전체에 걸쳐 거의 동일한 농도로 조립되도록 고정 가중치의 코드워드를 생성할 수 있다. 코덱은 각 반응 구획이 동일한 수의 식별자를 조립하고 정수개의 코드워드를 인코딩하도록 코드워드 길이 및 분할 방식을 선택할 수 있다.
코덱은 여러 세트의 식별자를 사용하여 소스 비트스트림의 일부 또는 모든 비트를 인코딩하도록 선택할 수 있다. 식별자는 직교 식별자 라이브러리에서 나오거나 동일한 식별자 라이브러리에 속할 수 있다. 식별자는 소스 비트스트림 또는 소스 비트스트림으로부터의 비트 조합을 인코딩할 수 있다. 코덱은 비트 조합을 인코딩하는 여러 식별자 세트를 사용하여 모든 비트를 안정적으로 디코딩하는 데 필요한 샘플 크기를 줄일 수 있다.
코덱은 각 소스 블록에 대해 하나 이상의 출력 블록을 생성할 수 있다. 출력 블록은 목록 또는 트리를 포함하는 다른 유형의 데이터 구조로 조립될 식별자 세트를 설명할 수 있다. 코덱은 장치에 지정된 식별자를 조합하도록 명령하는 하나 이상의 커맨드 파일을 생성할 수 있다. 예를 들어 코덱은 구성요소가 포함된 잉크를 사용하여 액체 처리 로봇이나 잉크젯 프린터를 제어하는 명령 파일을 생성할 수 있다. 코덱은 장치와 통신하고 장치의 정보를 기반으로 블록 파일을 최적화할 수 있다. 예를 들어, 장치는 어셈블리 조립 에러율을 보고할 수 있으며 코덱은 에러 보호 성능이 더 높은 새 블록 파일을 생성할 수 있다. 코덱은 블록 파일이나 명령을 파일로 전송하거나 네트워크를 통해 전송할 수 있다. 코덱은 하나 이상의 컴퓨터에서 계산 프로세스를 실행할 수 있다.
정보 작성기에게 지시를 특정하는 방법
우리는 식별자 라이브러리를 구축하는 모든 시스템을 "작성기"라고 지칭한다. 예를 들어, 작성기의 일부 실시예는 인쇄 기반 방법을 사용하여 식별자 구성을 위한 구성요소를 함께 배치할 수 있다. 인쇄 기반 방법은 각각 하나 이상의 핵산 분자를 기판에 인쇄할 수 있는 하나 이상의 인쇄헤드의 사용을 포함할 수 있다.
조립할 식별자 라이브러리가 특정되고 사양 파일의 세트를 통해 작성기로 전송된다. 블록 데이터 파일은 작성기가 생성할 식별자 세트를 특정한다. 블록 데이터 파일은 데이터 압축 알고리즘을 이용하여 압축될 수 있다. 블록을 구성하는 식별자는 트리, 트리, 리스트, 비트맵 등 직렬화된 데이터 구조의 형태로 지정될 수 있지만 이에 국한되지는 않는다.
예를 들어, 곱 방식을 사용하여 생성될 식별자 라이브러리는 구성요소 라이브러리 파티션 방식(구성요소가 식별자 아키텍처의 층들로 분할되는 방식), 및 각각의 층에서 사용될 가능한 구성요소의 명칭의 목록을 포함하는 블록 메타데이터 파일로 특정될 수 있다. 블록 데이터 파일에는 트리의 루트에서 리프까지의 각 경로가 식별자를 나타내고 경로를 따라 있는 각 노드가 그 식별자의 층에서 사용될 구성요소 명칭을 특정하는 직렬화된 트리 데이터 구조로 구성되어 생성될 식별자가 포함될 수 있다. 블록 데이터 파일은 루트부터 시작하여 각 노드의 왼쪽 자식 노드를 방문하고 노드 자체를 방문한 다음 오른쪽 자식 노드를 방문하는 순서로 트리를 순회함으로써 이 트리의 직렬화로 구성될 수 있다.
도 31은 식별자 라이브러리를 표현하기 위한 데이터 구조 및 직렬화의 실시예를 예시한다. 일부 비트스트림을 인코딩하는 식별자 라이브러리가 나타난다(라벨 11). 트리 루트에서 리프까지의 각 경로는 단일 식별자를 나타내며, 식별자의 구성요소는 경로를 따라 만나는 노드의 명칭으로 특정된다. 라벨 6은 주로 구성요소 명칭과 구분 심볼로 구성된 데이터 구조의 직렬화된 표현을 보여준다. 직렬화된 형식은 생성자별 파티션 구성표(라벨 5)의 사양으로 시작된다. 이 경우 생성물 구성은 각 층에 3, 2, 3, 5개의 구성요소를 포함하는 4개의 층으로 사용된다. 직렬화의 나머지 항목은 1로 표시된 것과 같은 데이터 구조의 경로를 스케치한다. 직렬화에서 4로 표시된 세그먼트는 트리의 루트에서 시작하여 첫 번째 층의 노드 0, 두 번째 층의 노드 0, 세 번째 층의 노드 0, 마지막 층의 리프 0으로 내려가는 경로를 스케치한다. 파티션 방식은 4개의 층을 갖기 때문에 알고리즘은 이 단계에서 완전한 식별자가 출력될 수 있다고 추론한다. 보다 일반적으로 이 직렬화 세그먼트(7로 라벨링)는 최종 층의 모든 대체 구성요소를 특정한다. 특정 층의 식별자 라이브러리에 포함될 모든 대안이 나열될 때 이 상태를 표시하기 위해 구분 심볼(이 예에서는 마침표)가 직렬화에 포함된다. 그러면 트리의 경로(3으로 표시)에 표시된 대로 알고리즘이 층 위로 올라가도록 트리거된다. 직렬화에서 구성요소 식별자의 다음 세그먼트(16으로 라벨링)는 다음 식별자 집합을 설명한다. 이러한 방식으로, 전체 식별자 라이브러리는 컴팩트한 방식으로 플랫 직렬 파일로 표현될 수 있다.
식별자를 사용한 계산 방법
화학적 연산을 사용하여 식별자 라이브러리에 인코딩된 데이터에 대한 계산을 수행하는 것이 가능할 수 있다. 이러한 작업은 전체 아카이브의 서브세트 또는 전체 아카이브에서 병렬 방식으로 수행될 수 있으므로 그렇게 하는 것이 유리할 수 있다. 추가로, 계산은 데이터를 디코딩하지 않고 시험관 내에서 수행될 수 있으므로 계산을 허용하면서 비밀성을 보장할 수 있다. 일부 구현에서, AND, OR, NOT, NAND 등과 같은 부울 논리 연산을 포함하는 계산은 각 비트 위치를 나타내는 식별자를 사용하여 인코딩된 비트스트림에서 수행되며, 여기서 식별자의 존재는 '1'의 비트 값을 인코딩하고 식별자가 없으면 비트 값 '0'을 인코딩한다.
일부 구현예에서, 모든 식별자는 단일 가닥 핵산 분자로 구성된다(또는 처음에는 이중 가닥 핵산 분자로 구성되었다가 단일 가닥 형태로 분리됨). 임의의 단일 가닥 식별자 x의 경우 식별자는 x*에 의한 x의 역보체로 표시된다. 임의의 단일 가닥 식별자 S 세트에 대해 S에 있는 각 식별자의 역보체 세트를 S*로 표시한다. 라이브러리에 있는 모든 가능한 단일 가닥 식별자 집합을 U로 표시하고, 역보체 집합을 U*로 표시한다. 우리는 이러한 집합을 유니버스와 유니버스*라고 부른다. U s U s *는 유니버스와 유니버스* 세트의 두 번째 쌍을 나타내며, 이러한 세트의 각 식별자는 화학적 방법으로 표적화하거나 선택할 수 있는 검색 영역으로 알려진 추가 핵산 서열로 강화된다.
주어진 식별자 라이브러리에 대한 계산은 혼성화 및 절단을 포함하는 일련의 화학적 작업에 의해 구현될 수 있다. 이러한 작업의 추상화는 아래에 설명되어 있다. 각 작업은 식별자 풀을 입력으로 사용하여 작업을 수행하고 식별자 풀을 출력으로 반환한다.
도입 예로서, 아래 표와 같이 제1 라이브러리(L1)와 제2 라이브러리(L2)는 각각 8비트를 포함할 수 있다. 두 라이브러리 간의 비트별 "OR" 연산과 두 라이브러리 간의 비트별 "AND" 연산 결과도 표시된다. 화학적 단계에 의해 수행되는 이러한 작업(및 추가 작업)의 세부 사항은 아래에서 더 자세히 설명된다.
표 1
각 라이브러리의 각 비트는 심볼 위치를 포함하는 식별자로 인코딩된다. 심볼 위치에 대한 식별자가 없으면 0을 나타내고 심볼 위치에 대한 식별자가 있으면 1을 나타낸다. 이 예에서 라이브러리의 식별자는 이중 가닥이다.
두 라이브러리 L1 및 L2에서 OR 연산을 수행하려면 두 라이브러리 풀이 결합된다.  두 라이브러리의 식별자는 OR 작업을 위해 이중 가닥 상태로 남아 있을 수 있다.  OR 연산은 L1 또는 L2에 1이 있는지 여부를 나타내기 때문에 두 풀의 조합은 완전히 결정된 OR 연산 출력이다(위의 OR 열에 표시된 대로).  동일한 심볼 위치에 대해 최대 2배의 식별자 복사본(원래 라이브러리에 비해)이 있으며 이는 여전히 해당 심볼 위치(즉, 심볼 위치 b5)에 1이 있음을 나타낸다.  일부 구현에서, 이중 가닥 식별자는 변성되어 2개의 단일 가닥(즉, 각각의 이중 가닥 식별자에 대해 하나의 센스 또는 "양성" 가닥과 하나의 안티센스 또는 "음성" 가닥)을 생성할 수 있다. 우리는 결과적인 두 개의 상보적인 단일 가닥을 "양성" 및 "음성" 가닥이라고 부른다.  일부 구현에서, 라이브러리의 하위 섹션이 선택될 수 있고, OR 연산이 수행될 수 있으며, OR 연산의 결과는 기존 라이브러리 중 하나 또는 둘 다의 기존 비트 값을 대체할 수 있다.
두 개의 라이브러리 L1 및 L2에 대해 AND 연산을 수행하기 위해 이중 가닥 식별자를 먼저 변성하여 두 개의 단일 가닥(즉, 각 이중 가닥 식별자에 대해 하나의 센스 가닥과 하나의 안티센스 가닥)을 생성한다. 다시 한번, 우리는 결과적인 두 개의 상보적인 단일 가닥을 "양성" 및 "음성" 가닥이라고 부른다. 양성 가닥과 음성 가닥은 별도의 풀로 분리된다. 실제로 이는 양성 또는 음성 가닥에 대해 친화성 태그가 지정된 프로브를 사용하여 달성할 수 있다(핵산 포획에 대한 화학적 방법 섹션 F 참조). 식별자는 이러한 목적을 위해 공통 프로브 대상을 포함하도록 설계될 수 있다. 그런 다음 첫 번째 라이브러리의 이중 가닥 식별자의 양성 가닥(가령, 센스 가닥)과 두 번째 라이브러리의 이중 가닥 식별자의 음성 가닥(가령, 안티센스 가닥)이 함께 풀링되어 상보적 단일 가닥이 혼성화된다.  두 라이브러리(가령, 위 표에 표시된 L1 및 L2)에 기존 식별자가 있다고 가정하면, 결과적인 조합 풀은 혼성화가 발생한 후 DNA의 단일 가닥과 DNA의 이중 가닥의 조합을 갖게 된다.  완전 이중 가닥 식별자는 해당 식별자가 첫 번째 라이브러리 L1과 두 번째 라이브러리 L2 모두에 존재했음을 나타낸다. 풀에서 완전히 이중 가닥 식별자를 선택하여 AND 연산 출력을 생성할 수 있다. 예를 들어, 단일 가닥 식별자는 단일 가닥 식별자(및 부분적으로 단일 가닥)를 작은 단위로 절단하기 위해 S1 뉴클레아제 또는 녹두 뉴클레아제와 같은 단일 가닥 특이적 뉴클레아제를 사용하여 선택적으로 제거될 수 있다.  절단으로부터 보호되는 완전한 이중 가닥 식별자는 화학적 방법 섹션 F에 설명된 핵산 포획 기술 또는 화학적 방법 섹션 E에 설명된 크기 선택 기술과 같은 기술을 사용하여 분리될 수 있다. 예를 들어, 완전히 보완된 이중 가닥 DNA만이 특정 길이로 실행되도록 핵산 풀을 크로마토그래피 젤에서 실행할 수 있다. 결합된 풀 출력은 위 표의 AND 열로 표시된다.  이러한 AND 및 OR 연산을 수행하는 데 필요한 단계에 대한 세부 정보 및 추가 예는 아래에 설명되어 있다.  
본 명세서에 설명된 랜덤 액세스 방법은 라이브러리의 일부를 추출하는 데 사용될 수 있다. 예를 들어, 라이브러리의 서브섹션은 무작위 액세스를 통해 추출될 수 있다. 서브섹션에는 논리 연산(가령, OR 또는 AND)이 적용될 수 있다. 일부 구현에서는 결과적인 식별자 집합이 라이브러리 내 서브섹션의 원래 값을 대체할 수 있다.
Single(X) 작업은 식별자 풀(이중 가닥 및/또는 단일 가닥)을 가져와 단일 가닥 핵산 식별자만 반환한다(모든 이중 가닥 식별자 제거). double(X) 작업은 식별자 풀(이중 가닥 및/또는 단일 가닥)을 가져와 이중 가닥 식별자만 반환한다(모든 단일 가닥 식별자 제거). make-single(X) 및 make-single*(X) 작업은 모든 이중 가닥 핵산 식별자를 단일 가닥 형태로 변환한다. (별표가 있는 버전은 음극 가닥을 반환하고 별표가 없는 버전은 양극 가닥을 반환한다.) get(X, q) 작업은 쿼리 q와 일치하는 모든 식별자의 풀을 반환한다. q = "all"인 경우 쿼리는 모든 식별자와 일치하고 작동한다. delete(X, q) 작업은 쿼리 q를 만족하는 모든 식별자(이중 가닥 또는 단일 가닥)를 삭제한다. 쿼리는 앞서 설명한 대로 랜덤 액세스를 통해 구현될 수 있다. Combine(P, Q) 작업은 P 또는 Q의 모든 식별자를 포함하는 풀을 반환한다. Y의 결과를 변수 이름 X에 할당하는 할당(X, Y) 작업을 정의한다. 간결하게 하기 위해 이 작업을 X = Y 형식으로도 표시한다. 할당 작업은 "오염" 문제 없이 변수를 재사용할 수 있는 이상적인 조건에서 실행된다고 가정한다.
후속편에서, 우리는 길이 l의 비트스트림 a와 b가 각각 이중 가닥 식별자 라이브러리 dsA와 dsB에 기록되었으며, 일부 부분-비트스트림 s = a i ?? a j t = b i ?? b j 에 대한 계산에 관심이 있으며, 계산 결과는 부분-비트스트림 s에 저장된다. 즉, initialize(dsA, dsB, s, t) 작업으로 표시되는 다음 작업이 처음에 지정된 순서로 실행되었다고 가정한다.
도 32는 식별자 라이브러리를 사용한 컴퓨팅을 위한 예시적인 설정을 도시한다. 도면은 추상 트리 데이터 구조(4로 라벨링)로 그려진 식별자의 조합 공간 예시를 보여준다. 이 예에서 트리의 각 수준은 두 구성요소(2로 라벨링) 중에서 선택한다. 트리 루트의 각 경로는 고유 식별자(라벨 3의 예 참조)에 해당하며 순서(또는 순위)를 결정한다. 라벨 4는 단일 가닥 범용 식별자 라이브러리를 보여준다. 라벨 5는 예를 들어 "a"라고 불리는 특정 비트스트림을 인코딩하는 단일 가닥 식별자 라이브러리를 보여준다. 라벨 7은 7비트로 구성된 "s"라고 불리는 "a"의 하위 비트스트림을 보여준다. 마찬가지로, 라벨 10은 동일한 길이의 비트스트림 "b"의 하위 비트스트림 "t"를 보여준다. initialize(dsA, dsB, s, t) 를 계산하기 위한 초기화 절차에 설명된 대로 계산할 하위 비트스트림은 풀 P 및 Q(각각 6과 9로 표시됨)에서 사용 가능하고 계산할 준비가 되어 있다.
비트스트림 s와 t의 비트의 비트별 논리 결합으로 정의된 연산 and(s, t) 는 아래 연산 시퀀스를 사용하여 구현될 수 있다.
비트스트림 s의 비트에 대한 비트별 논리적 부정으로 정의된 연산 not(s) 는 아래 연산 시퀀스를 사용하여 구현될 수 있다.
비트스트림 s와 t에 있는 비트의 비트별 논리적 분리로 정의된 연산 or(s, t) 는 아래 연산 시퀀스를 사용하여 구현될 수 있다:
일부 구현예에서, or(s,t) 연산은 풀에서 dsA와 dsB를 결합하여 or(s,t) 연산의 출력로 지칭될 수 있는 식별자의 조합을 생성하는 것을 포함할 수 있다.
비트스트림 s와 t의 비트 결합에 대한 비트별 논리 부정으로 정의된 연산 nand(s, t) 는 아래 연산 시퀀스를 사용하여 구현될 수 있다.
하나의 실시예에서, single(X) 연산은 X로부터의 단일 가닥 식별자가 범용 식별자에 혼성화되도록 먼저 X를 U s 또는 U s * 와 조합하는 것을 포함할 수 있다. 더욱이, U s U s *의 범용 식별자는 특별한 검색 영역을 갖기 때문에, 범용 식별자에 혼성화되는 이러한 분자는 표적화된 방식으로 액세스될 수 있다.
하나의 실시예에서, double(X) 연산은 X의 식별자를 S1 뉴클레아제와 같은 단일 가닥 특정 뉴클레아제로 처리한 다음 생성된 DNA 풀을 겔에서 실행하여 절단되지 않은 식별자만 분리하는 것을 포함할 수 있다(따라서 완전히 이중 가닥이 된다).
도 33은 식별자 라이브러리에 의해 인코딩된 비트스트림 "s" 및 "t"에 대해 논리 연산이 어떻게 수행될 수 있는지의 예를 도시한다. 이 도면에서, 계산 중인 풀을 보완하는 범용 라이브러리(14로 라벨링)를 사용한다. AND/NAND라고 라벨링된 컬럼은 비트스트림 "s"와 "t"(각각 5와 7로 라벨링됨)의 결합을 계산할 수 있는 방법을 보여준다. 올바른 범용 라이브러리(U 또는 U*)를 사용하여 풀이 리포맷팅되었다고 가정한다. 두 개의 풀이 결합되면 상보적인 단일 가닥 식별자가 혼성화되어 표시된 대로 이중 식별자를 형성한다(가령, 라벨 9). 결과적인 풀(10으로 라벨링)의 이중 가닥 식별자 컬렉션은 AND 계산의 결과를 인코딩한다: 이중 가닥 제품을 분리하면 and(s, t) 의 식별자 라이브러리 표현이 제공된다. 대안으로, 단일 가닥 생성물을 분리하면 nand(s, t) 의 식별자 라이브러리 표현이 제공된다. OR라고 라벨링된 열은 비트스트림 "s"와 "t"의 분리를 계산하는 방법을 보여준다. "s"와 "t"를 나타내는 식별자를 포함하는 풀이 결합되면 결과 라이브러리에는 or(s, t) 의 표현이 포함된다. NOT로 라벨링된 열은 비트스트림 "s"의 부정을 계산하는 방법을 보여준다. 여기서, 비트스트림 "s"를 나타내는 단일 가닥 식별자 라이브러리는 상보적인 범용 식별자 라이브러리(라벨 15)와 조합된다. 결과(19로 라벨링됨)로서, 형성된 모든 이중 가닥 제품(가령, 18로 라벨링됨)은 "s"에서 "1" 비트를 나타내며 폐기될 수 있다. 나머지 단일 가닥 제품(가령, 17로 라벨링됨)은 "s"의 "0" 비트를 나타내므로 not(s)의 "1" 비트에 대응한다. 이러한 단일 가닥 제품은 not(s)의 식별자 라이브러리 표현을 제공하며 추가 계산에 사용될 수 있다.
이미지 데이터를 인코딩하고 판독하는 방법
식별자 라이브러리는 인코딩된 비트스트림의 내용에 독립적이지만, 큰 크기와 자연스러운 장기적 사회적 가치로 인해 이미지 데이터를 보관하는 데 특히 유용할 수 있다. 따라서, 그러한 데이터를 위해 특별히 설계된 인코딩 방식 및 포맷을 사용하여 이미지 데이터를 인코딩하는 것이 유용할 수 있다. "이미지 데이터"는 묵시적 또는 명시적으로 어떤 차원의 벡터 집합으로 제시되고 지역성 속성을 갖는 데이터를 지칭한다: 제시된 벡터는 그들 사이의 거리에 대한 개념을 갖고 서로 가까운 벡터를 쿼리하고 연산하며, 또는 함께 해석된다. 예를 들어, 사진 이미지에서 각 픽셀은 픽셀의 위치와 해당 색상 값을 설명하는 벡터이며, 인근 픽셀은 일반적으로 사진에서 하나 이상의 객체 영역을 형성하므로 유닛으로서 해석되고 작동될 가능성이 높다.
한 구현예에서, 이미지는 원본 다차원 이미지의 벡터가 공간 채우기 곡선과 같은 수학적 함수에 의해 정의된 선형 순서로 정렬되는 이미지 인코딩 방식을 사용하여 식별자 라이브러리에 매핑된다. 제시된 벡터의 일부 또는 모든 차원에 따른 가능한 값은 구성요소 라이브러리의 특정 구성요소에 매핑될 수 있으며 벡터의 일부 또는 모든 차원은 식별자 구성을 위한 곱 방식 내의 층에 매핑될 수 있다. 우리는 이것을 네이티브 이미지 인코딩이라고 부른다. 예를 들어, 그레이스케일 이미지의 폭 x 픽셀과 높이 y 픽셀이 식별자를 구성하기 위한 곱 방식에 매핑될 수 있으며, 여기서, 제1 층의 구성요소가 픽셀의 x-좌표를 나타내고, 제2 층의 구성요소가 픽셀의 y-좌표를 나타내며, 제3 층의 구성요소가 픽셀의 그레이스케일 강도를 나타낸다. 예를 들어, RGB 색상 이미지는 빨간색, 파란색 및 녹색 색상 채널 각각에 대해 하나씩 세 개의 직교 식별자 라이브러리를 사용하여 유사하게 표현될 수 있다. 다른 실시예에서, 색상-채도-값과 같은 다른 대체 색상 모델이 유사하게 표현될 수 있다. 다른 실시예에서, 픽셀의 위치를 지정하는 좌표는 제3 층의 구성요소가 각각 강도 값을 지정하는 대신 각각 강도를 지정하는 비트열의 비트 위치를 나타내는 경우를 제외하고 위에서 설명된 대로 표현될 수 있으며, 여기서 각 구성요소에 대한 식별자의 존재 여부는 각각 '1' 또는 '0' 값을 특정한다. 예를 들어, 전자의 실시예에서 제3 층은 특정 픽셀의 각 구성요소가 256개의 가능한 강도 값 중 1개를 특정하는 256개의 구성요소를 포함할 수 있고, 후자의 실시예에서 제3 층은 8개의 구성요소를 포함할 수 있으며, 여기서 이러한 구성요소의 각 서브세트는 특정 픽셀에서 256개의 가능한 강도 값 중 1개를 특정한다.
일부 구현에서는 일부 또는 모든 구성요소가 값 범위와 연관된다. 예를 들어, 색상 값 층(제3 층)의 구성요소는 해당 색상 채널의 색상 값 간격을 나타내도록 정의될 수 있다. 예를 들어, 레드 채널 식별자의 세 번째 층의 각 구성요소는 특정 레드 색상 값이 아닌 ±10 포인트의 레드 색상 값 범위에 매핑될 수 있다.
일부 구현에서, 이미지가 위에서 정의된 대로 인코딩되면 이미지의 임의의 데카르트 섹션(픽셀의 이웃)은 PCR 또는 혼성화 캡처와 같이 이전에 설명된 랜덤 액세스 방식을 사용하여 색상 값에 대해 쿼리될 수 있다. 더욱이, 인코딩 방식이 제3 층의 각 구성요소가 강도 값을 지정하도록 하는 것이라면, 임의의 색상 값은 랜덤 액세스 방식을 사용하여 연관된 픽셀 좌표에 대해 쿼리될 수 있다.
일부 구현예에서, 네이티브 이미지 인코딩으로 인코딩된 이미지는 복수의 해상도로 디코딩될 수 있다. 예를 들어, 대략 3xy 식별자를 사용하여 RGB 색상 모델로 인코딩된 x 픽셀 너비와 y 픽셀 높이의 이미지는 절반의 식별자 중 균일하게 무작위인 서브세트를 샘플링함으로써 원래 해상도의 절반으로 디코딩될 수 있다. 원본 이미지의 콘텐츠는 이미지 처리 및 보간 기술을 사용하여 샘플링된 식별자로부터 더 낮은 해상도로 재구성될 수 있다. 이미지를 디코딩하는 데 더 작은 샘플이 사용되므로 디코딩 비용과 시간이 줄어든다.
일부 구현에서, 다수의 이미지의 저해상도 디코딩 및 이미지 처리는 아카이브에서 관심 있는 이미지 또는 이미지 섹션을 식별하는 데 사용될 수 있다. 이어서 이러한 이미지 또는 이미지 섹션의 고해상도 디코딩이 이어질 수 있다. 이 기능 세트는 예를 들어 특정 시각적 기능을 찾고 있는 대규모 감시 이미지 아카이브를 분석하는 데 유용할 수 있다. 다른 응용 분야에서는 비디오 아카이브가 정적 이미지 프레임의 대규모 아카이브로 처리될 수 있다. 이 응용분야에서는 랜덤 액세스 및 저해상도 디코딩을 통해 관심 있는 프레임을 식별할 수 있다. 그런 다음 주변 프레임을 더 높은 해상도로 디코딩하여 관심 있는 비디오 세그먼트를 재구성할 수 있다. 이러한 방식으로 대용량 이미지나 비디오 아카이브를 수세기 동안 고밀도로 저장하고 동시에 저렴한 비용으로 쿼리할 수 있다.
다음은 이미지 데이터 저장 및 다중 해상도 판독의 예를 설명한다. 압축되지 않은 이미지 파일은 각 식별자 또는 각 식별자의 인접한 그룹이 이미지의 픽셀을 나타내도록 식별자로 인코딩될 수 있다. 예를 들어, 이미지가 각 비트가 두 가지 색상(가령, 흰색 또는 검정색) 중 하나를 가질 수 있는 픽셀인 비트맵으로 저장되면 비트맵의 각 비트는 식별자로 표시될 수 있으며 존재 여부는 해당 식별자는 각각 하나의 색상 또는 다른 색상을 나타낼 수 있다. 이미지를 다시 읽으려면 식별자 라이브러리가 무작위로 샘플링될 수 있다(표준 차세대 시퀀싱 기술에서 예상하는 것처럼). 이미지의 다시 읽기 해상도는 읽기의 샘플 크기를 정의하여 지정할 수 있다. 따라서 이미지의 저해상도 버전은 고해상도 버전보다 저렴한 비용으로 다시 읽을 수 있다. 이는 이미지를 다시 읽는 목적에 미세한 이미지 세부정보가 필요하지 않을 때 유용할 수 있다. 대안으로, 이미지의 저해상도 버전 또는 여러 이미지를 검사하여 더 높은 해상도에서 쿼리(액세스)할 위치를 결정할 수 있다.
다중 해상도 제어 다시 읽기의 이러한 원리를 추가로 입증하기 위해 비트맵으로 저장된 개의 예시 이미지(도 34)를 고려한다. 도 34a의 원본 이미지는 1476800 픽셀(1300x1136 픽셀)이며, 각각은 비트(흰색 또는 검정색)로 저장된다. 우리는 각 비트가 식별자이고 이미지가 검은색 픽셀에 대해서만 식별자를 구축하여 인코딩된 경우 어떤 일이 발생하는지 시뮬레이션한다. 이를 위해서는 131820개의 식별자가 필요하다. 도 34b는 전체 식별자 수(샘플 크기 1318200)의 10배에 대한 시뮬레이션 샘플링의 결과 이미지를 보여준다. 원본 이미지와 디테일이 비슷하다. 도 34c는 총 식별자 수(샘플 크기 131820)에 해당하는 숫자를 시뮬레이션하여 샘플링한 결과 이미지를 보여준다. 도 34d는 총 식별자 수(13182 샘플 크기)보다 10배 적은 식별자의 시뮬레이션된 샘플링으로부터 얻은 결과 이미지를 보여준다. 검은색 픽셀이 너무 희박하기 때문에 이미지를 시각화하기가 어렵다. 원본을 다시 만드는 데 도움이 되도록 각 어두운 픽셀의 크기를 증폭할 수 있다. 도 34e는 각각의 검정색 픽셀이 25픽셀로 증폭된 것을 제외하고는 동일한 이미지를 보여준다. 이 해상도에서는 원본 이미지의 일부 세부 사항, 예, 털 가닥이 손실될 수 있다. 그러나 눈과 코와 같은 더 거친 세부 사항은 여전히 볼 수 있다. 도 34f는 전체 식별자 수(1318 샘플 크기)보다 100배 적은 식별자의 시뮬레이션된 샘플링으로부터 얻은 결과 이미지를 보여준다. 검은색 픽셀이 너무 희박하기 때문에 이미지를 시각화하기가 어렵다. 이번에도 원본을 다시 만드는 데 도움이 되도록 각각의 어두운 픽셀의 크기를 증폭할 수 있다. 도 34g는 각 검정색 픽셀이 25픽셀로 증폭된 것을 제외하고는 동일한 이미지를 보여준다. 원본 이미지의 많은 세부 사항이 손실되었을 수 있지만 이미지에는 강아지의 모양과 색상 패턴에 대한 일부 세부 정보가 여전히 표시된다.
이미지의 각 픽셀에 세 가지 이상의 가능한 색상이 있는 경우에도 동등한 다중 해상도 다시 읽기가 수행될 수 있다. 예를 들어, 각 픽셀이 2개가 아닌 256개의 가능한 색상을 갖는 경우 각 픽셀은 8개의 식별자의 서브세트로 표시될 수 있다. 각 픽셀이 3개의 색상 채널, 가령, RGB, 각각 256개의 가능한 강도를 갖는 경우 이미지는 각 채널에 해당하는 3개의 직교 식별자 라이브러리와 함께 저장될 수 있다.
DNA를 이용한 데이터 랜덤화, 암호화 및 인증 방법
DNA를 사용하여 랜덤 비트스트림을 생성하고 저장하는 능력은 암호화 및 조합 알고리즘의 계산에 응용될 수 있다. DES(Data Encryption Standard)와 같은 많은 암호화 알고리즘에서는 보안을 보장하기 위해 랜덤 비트를 사용해야 한다. AES(Advanced Encryption Standard)와 같은 다른 암호화 알고리즘에는 암호화 키를 사용해야 한다. 일반적으로, 이들 랜덤 비트 및 키는 안전한 랜덤화 소스를 사용하여 생성되는데, 이는 랜덤 비트 또는 키의 체계적 패턴이나 편향이 암호화된 메시지를 공격하고 해독하는 데 악용될 수 있기 때문이다. 또한 암호화에 사용되는 키는 일반적으로 해독을 위해 보관해야 한다. 암호화 방법의 보안 강도는 알고리즘에 사용되는 키의 길이에 따라 달라지는데, 일반적으로 키가 길수록 암호화가 더 강력해진다. 일회용 패드와 같은 방법은 가장 안전한 암호화 방법 중 하나이지만 키 요구 사항이 길기 때문에 적용이 제한된다.
이 문서에 설명된 방법은 길이가 수십, 수백, 수천, 수만 또는 그 이상의 비트일 수 있는 매우 큰 임의 키 컬렉션을 생성하고 보관하는 데 사용될 수 있다. 한 실시예에서, 각각의 핵산 분자가 다음 설계를 만족하는 핵산 라이브러리가 생성될 수 있다: 이는 k < n 염기의 가변 영역과 함께 n 염기의 길이를 가진다. 가변 영역의 염기는 라이브러리를 구축하는 동안 랜덤으로 선택할 수 있다. 예를 들어, n은 100이고 k는 80일 수 있으며, 따라서 크기가 1050인 다양한 분자의 라이브러리가 잠재적으로 생성될 수 있다. 예를 들어, 1000개 분자 크기의 라이브러리의 무작위 샘플은 암호화에 사용될 수 있는 최대 1000비트 무작위 키를 얻기 위해 시퀀싱될 수 있다.
또 다른 실시예에서, 앞서 설명한 핵산 키(키를 나타내는 핵산 분자)는 키 세트의 정렬된 컬렉션을 생성하는 식별자에 첨부될 수 있다. 순서가 지정된 키 세트는 암호화 컨텍스트에서 다양한 당사자가 키를 사용하는 순서를 동기화하는 데 사용될 수 있다. 예를 들어, 식별자 라이브러리는 1012개의 고유 식별자를 얻기 위해 제품 체계를 사용하여 조합적으로 구성될 수 있다. 미세유체 방법을 사용하여 각 식별자를 핵산 키와 함께 배치하고 조립하여 고유 식별자와 무작위 키를 포함하는 핵산 샘플을 형성할 수 있다. 식별자 라이브러리의 식별자는 순서가 지정되어 있으므로 이제 키를 지정된 순서대로 정렬하고 액세스하고 순서를 지정할 수 있다.
일부 구현에서, 식별자에 첨부된 키는 입력 식별자를 랜덤 비트의 스트링에 매핑하는 랜덤 함수를 인스턴스화하는 데 사용될 수 있다. 이러한 랜덤 함수는 해싱과 같이 값을 계산하기는 쉽지만 주어진 값에서 반전시키기는 어려운 함수가 필요한 적용 분야에 유용할 수 있다. 이러한 적용 분야에서는 각각 고유 식별자로 조합된 키 라이브러리가 랜덤 함수로 사용된다. 값이 해싱되어야 할 때 이는 식별자에 매핑된다. 다음으로, 혼성화 캡처 또는 PCR과 같은 무작위 액세스 방법을 사용하여 키 라이브러리에서 식별자에 액세스한다. 식별자는 무작위 염기 시퀀스로 구성된 키에 첨부된다. 이 키는 순서가 지정되어 비트 스트링으로 변환되며 무작위 함수의 출력으로 사용된다.
핵산 분자 라이브러리는 저렴하고 빠르게 복사될 수 있고, 소량으로 은밀하게 운반될 수 있기 때문에, 위에서 설명한 대로 생성된 핵산 키 세트는 대량의 암호화 키를 지리적으로 모여 있지 않는 다수의 당사자 간에 안전하고 은밀한 방식으로 주기적으로 배포해야 하는 상황에서 유용할 수 있다. 또한 키는 매우 오랜 기간 동안 안정적으로 보관되므로 암호화된 보관 데이터를 안전하게 저장할 수 있다.
도 35-38은 DNA에 저장된 랜덤 또는 암호화된 데이터를 생성, 저장, 액세스 및 사용하는 방법의 실시예를 도시한다. DNA는 회색, 검정색 막대와 심볼로 구성된 스트링으로 표시된다. 묘사된 각각의 DNA는 개별 종을 나타낸다. "종"은 동일한 서열의 하나 이상의 DNA 분자(들)로 정의된다. "종"이 복수 의미로 사용되는 경우, 복수의 종에 포함된 모든 종은 개별 순서를 가지고 있다고 가정할 수 있지만, 때로는 "종" 대신 "개별 종"이라고 표기하여 이를 명시적으로 나타낸다.
도 35는 DNA의 큰 조합 공간과 시퀀서를 사용하는 엔트로피(또는 무작위 데이터) 생성기의 예를 묘사한다. 이 방법은 종자라고 불리는 DNA 종의 무작위 풀로 시작된다. 시드는 정의된 조합 DNA 세트의 모든 종, 가령, 50개의 염기(450개 구성원을 가짐)이 있는 모든 DNA 종의 균일한 분포가 이상적으로 포함되어야 한다. 그러나 전체 조합 공간은 모든 구성원이 시드에 표시되기에는 너무 클 수 있으므로 시드에 전체 조합 공간 대신 조합 공간의 무작위 서브세트이 포함되는 것이 허용된다. 시드 종은 가장자리(검은색 및 연한 회색 막대)에 공통 서열이 있고 중간(N??N)에 별개의 서열이 있도록 설계될 수 있다. 축퇴성 올리고뉴클레오티드 합성 전략을 사용하여 이러한 시작 시드를 신속하고 저렴한 방식으로 제조할 수 있다. 공통 가장자리 서열은 PCR을 통해 시드의 증폭을 가능하게 하거나 특정 판독(또는 시퀀싱) 방법과의 호환성을 가능하게 할 수 있다. 축퇴성 올리고뉴클레오티드 합성의 대안으로, 조합 DNA 조립(1회 반응으로 다중화)을 사용하여 신속하고 저렴하게 시드를 생성할 수도 있다. 시퀀서는 종자에서 종을 무작위로 샘플링하며 무작위 순서로 수행한다. 주어진 시간에 시퀀서가 읽는 종에는 불확실성이 있기 때문에 시스템은 엔트로피 생성기로 분류될 수 있으며, 예를 들어 암호화 키와 같은 난수 또는 데이터의 랜덤 스트림을 생성하는 데 사용될 수 있다.
도 36a는 랜덤하게 생성된 데이터를 DNA에 저장하는 방법의 예시적인 개략도를 예시한다. 이는 (1) 시드라고 불리는 DNA 종의 대규모 무작위 풀로 시작된다. 시드는 정의된 조합 DNA 세트의 모든 종, 가령, 50개의 염기(450개 구성원을 가짐)이 있는 모든 DNA 종의 균일한 분포가 이상적으로 포함되어야 한다. 그러나 전체 조합 공간은 모든 구성원이 시드에 표시되기에는 너무 클 수 있으므로 시드에 조합 공간의 랜덤 서브세트가 포함되는 것이 허용된다. 시드는 축퇴성 올리고뉴클레오티드 합성 또는 조합 DNA 조립으로부터 그 자체로 생성될 수 있다. (2) 랜덤 데이터(또는 엔트로피)는 시드에 있는 종의 무작위 서브세트를 취하여 생성된다. 예를 들어, 이는 시드 용액의 비례적, 부분적 부피를 취함으로써 달성될 수 있다. 예를 들어, 시드 용액이 마이크로리터(uL)당 약 100만 종으로 구성된 경우 시드 용액(잘 혼합됐다고 가정)에서 1나노리터(nL) 분취량을 취하여 약 1,000개의 종의 랜덤 서브세트가 선택될 수 있다. 대안으로, 시드 용액의 분취량을 나노기공 막을 통해 흐르게 하고 막을 통과하는 종만을 수집함으로써 서브세트가 선택될 수 있다. 막을 통과하는 종의 수를 계산하는 것은 나노기공 사이의 전압 차이를 측정하여 달성할 수 있다. 이 프로세스는 원하는 수의 시그니처(가령, 100, 1000, 10000개 이상의 종 시그니처)가 검출될 때까지 계속될 수 있다. 또 다른 대체 방법으로는 단일 종을 작은 방울로 분리할 수 있다(가령, 오일 에멀젼 사용). 단일 종을 갖는 작은 액적은 형광 시그니처에 의해 검출되고 일련의 미세유체 채널에 의해 수집 챔버로 분류될 수 있다. (3) 선택된 각 종을 식별자로 참조할 수 있으며, 나아가 "랜덤 식별자 라이브러리" 또는 RIL로 선택된 종의 전체 서브세트를 참조할 수도 있다. RIL의 정보를 안정화하고 분해로부터 보호하기 위해 RIL은 종의 말단에 있는 공통 서열에 결합하는 PCR 프라이머를 사용하여 증폭될 수 있다. RIL의 식별자(따라서 내부에 저장된 데이터)를 결정하기 위해 RIL의 순서가 지정될 수 있다. 실제 식별자는 정의된 노이즈 임계값보다 강화된 샘플의 종에 의해 정의될 수 있다. (4) RIL에 포함된 데이터가 결정되면 추가 오류 검사 및 오류 수정 종류가 RIL에 추가될 수 있다. 예를 들어, 예상되는 식별자 수(가령, 체크섬 또는 패리티 검사)에 대한 정보가 포함된 "정수 DNA"가 RIL에 추가될 수 있다. 정수 DNA를 통해 모든 정보를 복구하기 위해 RIL의 서열을 얼마나 깊게 배열해야 하는지 알 수 있다.
RIL은 고유한 DNA 태그로 바코드가 표시될 수 있다. 그런 다음 여러 바코드 RIL을 함께 모아서 특정 RIL에 고유한 DNA 태그에 대한 혼성화 분석(또는 PCR)을 통해 개별적으로 접근할 수 있다. 독특한 DNA 태그는 조합적으로 조립되거나 합성된 후 해당 RIL에 조립될 수 있다. 도 36b는 각각 100개의 랜덤 염기를 함유하는 4개의 종을 포함하는 예시적인 RIL을 보여준다. 가능한 종의 조합 공간은 4100이므로 RIL은
의 정보 비트를 포함할 수 있다. 도 36c는 또한 각각 100개의 무작위 염기를 함유하는 4개의 종을 포함하는 예시적인 RIL을 보여준다. 4100개의 조합 공간(도 36b에서와 같이)에서 선택된 4개 종의 특정 비순차적 조합에 정보를 저장하는 대신, 각 종의 최종 90개의 랜덤 염기가 정보 비트를 저장하기 위해 예약될 수 있으며, 처음 10개의 랜덤 염기는 4개 종 각각에 저장된 정보 간의 상대적 순서를 설정하기 위해 예약될 수 있다. 상대 순서는 정의된 4개 염기 순서에 기초하여 10개 염기 스트링의 사전식 순서로 정의될 수 있다(영어 단어가 알파벳 문자 순서에 따라 정렬되는 방식과 유사함). RIL에 정보를 할당하는 이 방법은 도 36b에 설명된 방법보다 이진 스트링에 매핑하는 데 계산적으로 더 빠를 수 있다.
이전 도면(도 36)에서는 여러 RIL을 바코드화하고 함께 풀링하는 전략에 대해 논의한다. 이를 통해 입력이 (개별 RIL에 액세스하기 위한) 바코드 혼성화 프로브에 대응하고 출력이 랜덤 데이터 스트링(대상 RIL에 의해 인코딩됨)에 대응하는 입력-출력 매핑이 생성된다. 반면, 이 방법에서는 미리 정의된 바코드가 조합된 풀에서 검색되기 위해 랜덤 데이터로 조립되는데, 도 37a는 (데이터를 액세스하기 위한) 바코드가 랜덤 데이터 자체와 함께 랜덤하게 생성되는 랜덤 데이터 스트링과 핵산 프로브 사이의 입출력 매핑을 생성하는 다양한 방법을 보여준다. 예를 들어, 바코드는 하나 또는 여러 종의 양쪽 가장자리에 나타날 수 있는 한 쌍의 짧은 DNA 서열일 수 있다. 이 실시예에서, 가능한 바코드의 조합 공간은 각 바코드가 우연히 하나 이상의 종과 연관되도록 풀의 모든 가능한 종의 총 수에 비해 작을 수 있다. 예를 들어, 바코드가 종의 랜덤 DNA 서열의 각 가장자리에 있는 3개의 염기(공통 서열 옆에 위치)인 경우 가능한 바코드는 46 = 4096개이므로 이를 액세스하기 위해 구축될 수 있는 프라이머 쌍은 46 = 4096이다( 12비트 입력에 대응). DNA 풀이 약 400,000종을 갖도록 선택되면 각 바코드는 평균 약 100종과 연관될 수 있다. 이 실시예에서, RIL은 각 바코드와 관련된 종의 서브세트에 의해 정의된다. 이전 예에 따르면, 각 종이 바코드에 사용된 염기(또는 서열) 외에 25개의 랜덤 염기(또는 랜덤 서열)를 포함하는 경우, 100종의 RIL과 연관된 바코드는 최대 비트의 정보를 포함할 수 있다.
도 37b는 바코드 RIL 풀로부터 저장된 랜덤 데이터에 액세스하고 판독하기 위한 방식의 구현을 보여준다. 시퀀서(또는 판독기)는 출력을 반환하기 전에 시퀀스 데이터를 조작하는 기능을 추가로 포함할 수 있다. 예를 들어, 해시 함수는 출력 데이터 스트링을 사용하여 역화학 쿼리를 수행하고 해당 입력을 찾는 것을 어렵게 만들 수 있다. 예를 들어 입력이 인증에 사용되는 키 또는 자격 증명인 경우 이 기능이 유용할 수 있다.
쿼리 가능한(또는 액세스 가능한) 데이터의 랜덤 스트링을 생성하고 저장하는 방법은 (랜덤 데이터 스트링에서 생성된) 암호화 키를 생성하고 보관하는 데 특히 유용할 수 있다. 각 입력은 다른 암호화 키에 액세스하는 데 사용될 수 있다. 예를 들어, 각 입력은 개인 보관 데이터베이스의 특정 사용자, 시간 범위 및/또는 프로젝트에 해당할 수 있다. 개인 보관 데이터베이스의 암호화된 데이터(잠재적으로 매우 많은 양의 데이터에 달함)는 보관 서비스 제공업체에 의해 기존 매체에 저장될 수 있으며, 암호화 키는 소유자에 의해 DNA에 저장될 수 있다. 또한 특정 입력에 대한 화학적 액세스 프로토콜을 수행하는 데 필요한 잠재적인 대기 시간과 정교함으로 인해 해킹에 대한 암호화 방법의 보안 장벽이 높아질 수 있다.
도 38은 아티팩트에 대한 액세스를 보호하고 인증하기 위한 예시적인 시스템을 도시한다. 시스템에는 가능한 종의 큰 풀에서 가져온 DNA 종의 특정 조합으로 구성된 물리적 키가 필요하다. "식별자 키"라고도 하는 종의 표적 조합은 예를 들어 조합 미세유체 채널, 전기습윤 또는 인쇄 장치에 의해 자동으로 생성되거나 피펫팅에 의해 수동으로 생성될 수 있다. 잠금 기능이 내장된 리더 또는 시퀀서는 일치하는 식별자 키를 확인하고 아티팩트에 대한 액세스를 활성화한다. 또는 리더는 아티팩트에 대한 액세스를 직접 잠금 해제하는 대신 아티팩트에 액세스하는 데 사용할 수 있는 토큰을 반환하는 자격 증명 토큰 시스템으로 작동할 수 있다. 토큰은 예를 들어 판독기 내에 내장된 해싱 함수에 의해 생성될 수 있다.
DNA로 개체를 추적하고 개체에 태그를 지정하는 방법
용매에 용해된 식별자 라이브러리는 정보로 태그를 지정하기 위해 물리적 개체에 뿌리거나, 펴거나, 분배하거나, 주입할 수 있다. 예를 들어, 고유 식별자 라이브러리를 사용하여 개체 유형의 개별 인스턴스에 태그를 지정할 수 있다. 개체의 식별자 라이브러리 태그는 고유한 바코드 역할을 할 수도 있고 제품 번호, 제조 또는 배송 날짜, 원산지 위치 또는 개체 이력, 가령, 예를 들어 이전 소유자의 거래 목록과 관련된 기타 정보와 같은 보다 정교한 정보를 포함할 수도 있다. 개체에 태그를 지정하기 위해 식별자를 사용하는 주요 이점은 식별자가 검출될 수 없고 내구성이 있으며 수많은 개체 인스턴스에 개별적으로 태그를 지정하는 데 적합하다는 것이다.
또 다른 실시예에서, 하나 이상의 물리적 위치는 각각 식별자 라이브러리의 고유 식별자로 태그가 지정될 수 있다. 예를 들어, 물리적 사이트 A, B, 및 C에는 식별자 라이브러리가 곳곳에 태그로 지정될 수 있다. 사이트 A를 방문하거나 사이트 A와 접촉하는 개체, 가령, 차량, 사람 또는 기타 개체는 의도적이든 아니든 식별자 라이브러리의 샘플을 선택할 수 있다. 나중에 개체를 액세스하면, 개체에서 샘플을 수집하여 화학적으로 처리하고 디코딩하여 해당 개체가 방문한 위치를 식별할 수 있다. 개체는 두 개 이상의 위치를 방문할 수 있으며 두 개 이상의 샘플을 수집할 수 있다. 식별자 라이브러리가 분리되어 있는 경우 개체가 방문한 위치 중 일부 또는 전체를 식별하는 데 유사한 프로세스가 사용될 수 있다. 이러한 방식은 개체를 은밀하게 추적하는 데 응용될 수 있다. 이 방식을 사용하면 식별자를 특별히 찾지 않는 한 검출될 수 없고 생물학적으로 불활성으로 설계될 수 있으며 수많은 사이트나 개체에 고유하게 태그를 지정하는 데 사용될 수 있다는 이점이 있다.
다른 실시예에서, 식별자 라이브러리는 개체를 태깅할 수 있다. 개체는 자신이 방문하는 사이트에 삽입된 식별자의 샘플을 남길 수 있다. 이러한 샘플은 어떤 개체가 사이트를 방문했는지 식별하기 위해 수집, 처리 및 디코딩될 수 있다.
조합 DNA 조립 방법 및 시스템의 응용
대규모로 정의된 식별자 세트로 구성요소를 조합적으로 조립하기 위해 여기에 설명된 방법 및 시스템은 정보 기술(가령, 데이터 저장, 컴퓨팅 및 암호화)과 관련되어 설명되었다. 그러나 이러한 시스템과 방법은 처리량이 높은 조합 DNA 조립의 모든 응용 분야에 더 일반적으로 사용될 수 있다.
하나의 실시예에서, 우리는 아미노산 사슬을 암호화하는 조합 DNA의 라이브러리를 생성할 수 있다. 이러한 아미노산 사슬은 펩티드 또는 단백질을 나타낼 수 있다. 조립을 위한 DNA 단편은 코돈 서열을 포함할 수 있다. 단편이 조립되는 연결점은 조합 라이브러리의 모든 구성원에 공통되는 기능적으로 또는 구조적으로 비활성 코돈일 수 있다. 대안으로, 단편이 조립되는 접합부는 나중에 처리된 펩티드 사슬로 번역되는 메신저 RNA로부터 최종적으로 제거되는 인트론일 수 있다. 특정 단편은 코돈이 아닐 수 있고 오히려 (다른 조립된 바코드와 결합하여) 각 조합 코돈 스트링에 고유하게 태그를 지정하는 바코드 서열일 수 있다. 조립된 생성물(바코드 + 코돈 스트링)은 함께 모아서 시험관 내 발현 분석을 위해 액적에 캡슐화하거나 함께 모아서 생체 내 발현 분석을 위해 세포로 변환할 수 있다. 분석은 형광 강도에 따라 액적/세포가 빈으로 분류될 수 있도록 형광 출력을 가질 수 있으며, 이어서 각 코돈 스트링을 특정 출력과 연관시킬 목적으로 DNA 바코드의 서열이 결정될 수 있다.
또 다른 실시예에서, 우리는 RNA를 암호화하는 조합 DNA의 라이브러리를 생성할 수 있다. 예를 들어, 조립된 DNA는 마이크로RNA 또는 CRISPR gRNA의 조합을 나타낼 수 있다. 시험관 내 또는 생체 내 풀링된 RNA 발현 분석은 액적 또는 세포, 그리고 어떤 액적 또는 세포가 어떤 RNA 서열을 포함하는지 추적하기 위한 바코드를 사용하여 위에서 설명한 대로 수행될 수 있다. 그러나 출력 자체가 RNA 염기서열 분석 데이터인 경우 일부 풀링된 분석은 물방울이나 세포 외부에서 수행될 수 있다. 이러한 통합 분석의 예로는 RNA 압타머 선별 및 검사(가령, SELEX)가 있다.
다른 실시예에서, 우리는 대사 경로에서 유전자를 암호화하는 조합 DNA의 라이브러리를 생성할 수 있다. 각 DNA 단편에는 유전자 발현 구조가 포함될 수 있다. 단편이 조립되는 접합부는 유전자 사이의 불활성 DNA 서열을 나타낼 수 있다. 시험관 내 또는 생체 내 통합 유전자 경로 발현 분석은 액적 또는 세포, 그리고 어떤 액적 또는 세포가 어떤 유전자 경로를 포함하는지 추적하기 위한 바코드를 사용하여 위에서 설명한 대로 수행될 수 있다.
다른 실시예에서, 우리는 유전자 조절 요소들의 다양한 조합을 갖는 조합 DNA의 라이브러리를 생성할 수 있다. 유전자 조절 요소의 예에는 5' 비번역 영역(UTR), 리보솜 결합 부위(RBS), 인트론, 엑손, 프로모터, 터미네이터 및 전사 인자(TF) 결합 부위가 포함된다. 시험관 내 또는 생체 내 풀링된 유전자 발현 분석은 액적 또는 세포, 그리고 어떤 액적 또는 세포가 어떤 유전자 조절 구성물을 포함하는지 추적하기 위한 바코드를 사용하여 위에서 설명한 대로 수행될 수 있다.
다른 실시예에서, 조합 DNA 앱타머의 라이브러리가 생성될 수 있다. 리간드에 결합하는 DNA 앱타머의 능력을 테스트하기 위해 분석을 수행할 수 있다.
고정 소수점 숫자 표현
본 명세서에는 화학적 계산을 수행하는 기술이 설명되어 있다. 문헌에는 수많은 컴퓨팅 모델이 제시되어 있으며, 그 중 일부는 확장 가능한 방식으로 화학적으로 실현될 수 있다. 화학적으로 실현되지 않은 많은 모델이 확률론적 컴퓨팅에 관한 문헌(가령, 참고문헌 [1, 2, 3, 4]에 표시된 대로)에서 발견된다. 예시적인 모델은 DNA 가닥 변위를 통해 구현된 화학 반응 네트워크 모델이다(예를 들어 참고문헌 [5, 6, 7] 참조). 이 사양에 설명된 인코딩 방식에 모델을 적용하고 기본 병렬성을 활용하는 것이 이 모델에 대한 과제일 수 있다. Thue 시스템[8]을 기반으로 한 상이한 모델은 PCR을 사용하여 구현될 수 있으며 부위 지정 돌연변이 유발은 작은 프로그램[9]에서 시연될 수 있다. 이 모델은 흥미롭지만, 각 산술 연산은 일련의 핵산 재작성 연산으로 변환되어야 하기 때문에 산술 연산과 관련된 계산에는 적합하지 않다. 또한 모델은 이 사양에 설명된 인코딩 또는 제품 구성표와 즉시 호환되지 않는다.
본 명세서에는 본 명세서에 설명된 곱 방식(예를 들어 위의 단락 [0085]-[00121] 참조)을 사용하여 고정 소수점 수(FPN)를 표현하고 이에 대한 산술 연산을 효율적으로 수행하기 위한 시스템 및 방법을 포함하는 기술이 설명되어 있다. 하나의 구현에서, FPN은 가능한 식별자 세트에 존재하는 식별자의 비율을 사용하여 표현된다. 이 형식으로 인코딩된 두 FPN의 곱셈은 예를 들어 혼성화를 통해 구현된 식별자별 논리 AND 연산에 의해 수행될 수 있다. 예를 들어 풀링 및 샘플링 작업을 사용하거나 식별자별 XOR 및 NOT 게이트를 사용하여 두 개 이상의 FPN을 추가할 수 있다.
본 명세서에 다음 특징을 포함하는 계산용 모델이 기재되어 있다: a) 기술은 본 명세서에 기재된 대로 정보를 핵산에 기록하거나 인코딩하는 기술과 함께 사용되는 기본 인코딩 방식인 횡방향 인코딩이 있는 곱 방식과 호환되며, b) 기술을 구현하면 디지털 신호 처리와 같은 응용 분야에서 자주 사용되는 알고리즘에 대한 회로가 상당히 작아지고, c) 기술은 입력 및 중간 데이터의 잡음과 에러에 적응할 수 있고, d) 기술은 논리 게이트를 구현하는 데 사용되는 화학적 방법의 기본 병렬성을 활용하며, e) 기술은 본 명세서에 기재된 바와 같은 식별자의 대규모 조합 공간을 활용한다. 기존 접근 방식은 이러한 기능을 제공하는 계산 모델을 제공하지 않았다.
본 명세서에 기재된 접근 방식에는 몇 가지 장점이 있다. 본 명세서에 기재된 FPN 형식으로 표현된 유리수는 일반적인 연산에 필요한 계산 회로의 크기를 감소시킨다. 예를 들어, 두 개의 FPN을 곱하려면 단일 AND 게이트가 필요한 반면, 위치 번호 시스템(PNS) 표현과 같은 기존의 압축 표현에는 입력 숫자의 크기에 선형인(가령, 비례하는) 개수의 게이트가 필요하다. 게이트 수의 이러한 감소는 단일 곱셈 연산을 위해 수행되는 화학적 단계의 수를 줄여 길고 복잡한 계산을 가능하게 하고/하거나 더 효율적으로 만든다. 게이트 수를 줄이면 대규모 데이터 세트에 대한 계산을 실행하는 데 필요한 에너지가 크게 줄어들 수도 있다. 본 명세서에 기재된 계산 게이트는 이론적으로 무제한의 병렬성을 제공하는데, 게이트에 대한 FPN 입력의 각 세트는 자체 별도의 화학적 논리 게이트에 의해 작동될 수 있다. 이러한 수준의 병렬화는 넓은 영역, 통신 및 에너지 사용 공간 없이는 기존 전자 컴퓨팅을 포함한 다른 컴퓨팅 방식으로는 불가능하다. 대조적으로, 핵산(가령, DNA)은 작은 물리적 공간을 차지하며 계산 가능한 메모리 층으로 데이터를 읽지 않고도 일부, 대부분 또는 모든 계산이 현장에서 수행될 수 있다. 일부 구현예에서는 FPN을 통한 계산이 대략적일 수 있지만 잡음과 에러에 강할 수 있다. 본 명세서에 설명된 예시적인 게이트는 훈련 및 추론 애플리케이션을 제공하는 데 유용할 수 있는 임의의 다항식 함수를 실현하기 위해 결합될 수 있다.
식별자를 구성하고, 데이터를 식별자에게 매핑하며, 프로브를 사용해 특정된 식별자 세트를 액세스하고, 식별자를 판독하기 위한 기법이 미국 특허 번호 10,650,312, 발명의 명칭 "NUCLEIC ACID-BASED DATA STORAGE", 출원일, 2017년12월21일 (DNA에 디지털 정보를 인코딩하는 것을 기술함); 미국 특허 출원 번호 16/461,774, 발명의 명칭 "SYSTEMS FOR NUCLEIC ACID-BASED DATA STORAGE", 출원일 2019년05월16일 및 공개 번호 2019/0362814 (DNA-기반 데이터 저장을 위한 인코딩 방식을 기술함); 미국 특허 출원 번호 16/414,758, 발명의 명칭 "COMPOSITIONS AND METHODS FOR NUCLEIC ACID-BASED DATA STORAGE", 출원일 2019년05월16일; 미국 특허 출원 번호 16/532,077, 발명의 명칭 "SYSTEMS AND METHODS FOR STORING AND READING NUCLEIC ACID-BASED DATA WITH ERROR PROTECTION", 출원일 2019년08월05일 (DNA 인코딩을 위한 데이터 구조 및 에러 보호 및 정정을 기술함); 및 미국 특허 출원 번호 16/872,129, 발명의 명칭 "DATA STRUCTURES AND OPERATIONS FOR SEARCHING, COMPUTING, AND INDEXING IN DNA-BASED DATA STORAGE", 출원일 2020년05월11일 (액세스, 순위화 및 검색을 위한 데이터 구조 및 연산을 기술함)에 기재되어 있으며, 이들은 그 전체가 본 명세서에 참조로서 포함된다.
본 명세서에서는 고정 소수점 연산 기술에 대해 설명한다. 일부 구현예에서, 곱 방식을 사용하여 FPN을 나타내기 위해, 코드워드는 길이 를 가지며 양의 정수인 것으로 정의된다. 그런 다음 임의의 FPN 개의 식별자를 생성함으로써, 이도록 표현될 수 있다(가령, x의 ±30% 이내, x의 ±25% 이내, x의 ±20% 이내, x의 ±15% 이내, x의 ±10% 이내, x의 ±5% 이내). 일부 구현예에서, 음수 FPN에 대한 간격의 일부를 예약하고 양수 FPN에 대한 간격의 또 다른 서로소 부분을 예약함으로써 음수와 양수 모두 표현될 수 있다[1]. 본 명세서에 설명된 바와 같이, 예를 들어 위의 단락 [0085]-[00121] 및 예를 들어 도 39에 도시된 바와 같이, 이러한 다수의 코드워드는 하나 이상의 조합 공간에 기록될 수 있으며, 이에 따라 FPN의 대규모 데이터세트를 인코딩할 수 있다. 도 39는 이 개념을 예시한다. 도 39a는 곱 방식을 사용하여 이 라이브러리로 생성될 수 있는 구성요소 라이브러리 및 조합 공간을 보여준다. 도 39b는 두 개의 유리수 0.5와 0.875를 FPN 포맷으로 인코딩한 예를 보여준다. 이 예에서, 코드워드 길이는 조합 공간에서 2개의 FPN을 표현할 수 있는 8개의 식별자로 정의된다. 이 예에서, 코드워드 내 가능한 식별자의 개수(8)에 대한 존재하는 식별자(4)의 비가 0.5이기 때문에 숫자 0.5가 코드워드의 8개의 가능한 식별자 중 순위 1, 3, 4 및 6의 4개의 식별자를 나타낸다. 0.5의 이 표현은 고유하지 않으며 70개의 가능한 표현 중 어느 것도 유효하다. 그러나 고정밀 성능 계산을 가능하게 하기 위해 코드워드에서 생성될 식별자가 다른 코드워드에 대해 선택된 식별자의 순위와 상관되지 않도록 선택되는 표현이 구현될 수 있다. 일부 구현예에서, 코드워드에서 FPN을 인코딩하기 위해 생성된 특정 식별자는 균일하게 랜덤으로 선택된다. 이 방식에서 두 개의 FPN 인코딩 코드워드의 식별자별 AND 연산은 식별자가 두 입력 코드워드 모두에 존재하는 경우에만 식별자가 존재하는 새로운 코드워드를 나타낸다. AND 게이트의 출력에 식별자가 존재할 확률은 두 개의 입력 코드워드 각각에 식별자가 존재할 확률의 곱이다. (입력 FPN을 인코딩하는 식별자가 상관되지 않고 독립적인 방식으로 선택된 경우에만 이는 사실이다.) 두 개의 입력 코드워드 각각에 식별자가 존재할 확률은 코드워드에 의해 인코딩된 FPN과 동일한데, 왜냐하면 FPN은 코드워드에 가능한 식별자의 총 개수에 존재하는 식별자의 비율로 인코딩되기 때문이다. 이러한 방식으로 두 입력 FPN의 AND는 입력 FPN의 곱을 나타내는 새로운 FPN을 생성한다.
본 명세서에는 본 명세서에 설명된 인코딩 및 컴퓨팅 방식을 사용하여 구현될 수 있는 계산(논리) 게이트가 설명되어 있다. 하나 이상의 식별자 라이브러리에서 곱 방식을 사용하여 인코딩된 데이터는 하나 이상의 논리 게이트를 포함하는 하나 이상의 회로를 사용하는 계산에 사용될 수 있다. 각 게이트는 하나 이상의 식별자 라이브러리를 입력으로 사용하고 일련의 화학적 작업을 통해 하나 이상의 출력 라이브러리를 생성한다. 도 39c는 2개의 FPN(0.5 및 0.3)이 16개의 식별자의 코드워드 길이를 갖는 2개의 피연산자 라이브러리에 표현되는 예를 도시한다. 2개의 입력 식별자별 논리 AND 게이트가 라이브러리에 적용되어 도 39d에 도시된 출력 라이브러리를 획득한다. 출력 라이브러리에는 가능한 식별자 16개 중 3개가 포함되어 있으므로 올바른 값인 0.15에 가까운 FPN 3/16=0.1875를 인코딩한다. 입력과 동일한 범위로 스케일링된 두 피연산자의 합인 스케일링된 덧셈은 많은 응용 분야에서 유용한 연산이며 간단한 물리적 연산을 사용하여 구현할 수 있다. 스케일링된 합의 경우 두 개의 입력 라이브러리를 함께 풀링하여 합계를 얻은 다음 희석하여 합계를 스케일한다. 도 39e는 왼쪽에 0.5와 0.3을 인코딩한 라이브러리를 풀링한 결과, 오른쪽에 풀링된 라이브러리로부터 샘플링한 최종 결과를 보여준다. 결과 출력 라이브러리에는 정답 0.4에 가까운 FPN 0.375를 인코딩하는 6/16 식별자가 포함되어 있다. FPN 표현 및 계산의 정밀도는 더 큰 코드워드 길이, 가령, 256 또는 512 또는 1024의 코드워드 길이를 사용하여 향상될 수 있다.
일부 구현예에서 곱셈과 덧셈을 넘어 FPN을 사용한 컴퓨팅에는 다른 많은 작업이 필요할 수 있다. 이는 예를 들어, 식별자 라이브러리에서 인코딩된 FPN에 대해 계산하는 데 사용될 수 있는 핵산 논리 게이트를 구현하기 위한 예시적인 방법을 설명하는 단락 [00334]-[00350]에 설명된 바와 같이 논리 게이트 세트를 사용하여 실현될 수 있다. 논리 게이트를 구현하기 위한 추가적인 또는 대안적인 방법이 본 명세서에 설명되어 있다.
본 명세서에 설명된 기술을 사용하여 구현된 AND 게이트의 예가 도 40에 도시되어 있다. 예시 AND 게이트는 두 개의 식별자 라이브러리를 사용하여 두 라이브러리에 모두 있는 식별자를 포함하고 두 입력 라이브러리에 없는 식별자를 제외하는 하나의 출력 식별자 라이브러리를 생성한다. 일부 구현예에서, 이 게이트는 입력 라이브러리를 상보적 핵산, 예를 들어 단일 가닥 DNA(ssDNA) 형태로 변환하고, ssDNA 라이브러리를 함께 혼성화하여 이중 가닥(dsDNA) 식별자를 생성하고, 혼합물에 존재하는 완벽하게 일치하는 dsDNA 핵산을 선택함으로써 출력 라이브러리를 생성함으로써 실현될 수 있다. dsDNA의 선택은 엑소뉴클레아제 I, 엑소뉴클레아제 T, 엑소뉴클레아제 VII, 녹두 엑소뉴클레아제, 뉴클레아제 P1, 뉴클레아제 S1, RecJF, 이들의 변종 또는 기타 적합한 효소와 같은 ssDNA 특이적 뉴클레아제를 사용하여 달성할 수 있다. 불일치가 포함된 dsDNA는 T7 엔도뉴클레아제 I, T4 엔도뉴클레아제 VII, CEL I, CEL II, 엔도뉴클레아제 V, 이들의 변종 또는 기타 적합한 효소와 같은 불일치 인식 엔도뉴클레아제를 사용하여 분해될 수 있다.
본 명세서에 설명된 기술을 사용하여 구현된 OR 게이트의 예가 도 41에 도시되어 있다. 예제 OR 게이트는 두 개의 식별자 라이브러리를 입력으로 사용하고 입력 라이브러리 중 하나에 존재하는 식별자를 포함하는 출력 라이브러리를 생성한다. 일부 구현에서는 풀링된 입력 라이브러리를 혼합하여 이 게이트를 실현할 수 있다. 라이브러리는 dsDNA(도 41a), 둘 다 ssDNA(도 41b), 또는 dsDNA와 ssDNA의 혼합일 수 있으며, 어느 형태든 업스트림 입력에서 이용 가능하거나 편리하거나 다운스트림 사용에 필요한 형태일 수 있다.
본 명세서에 기재된 기술을 사용하여 구현된 NIMPLY 게이트의 예가 도 42에 나와 있다. NOT IMPLY 게이트라고도 알려진 NIMPLY 게이트의 예는 두 개의 라이브러리 A와 B를 입력으로 사용하고 라이브러리 A에는 있지만 라이브러리 B에는 없는 식별자만 포함하는 라이브러리를 출력으로 생성한다. (즉, B에 라이브러리 A에 없는 식별자가 있는 경우 해당 식별자는 반환 값에 존재하지 않는다.)
일부 구현에서(예를 들어, 도 42a에 도시된 바와 같이), 라이브러리 A의 식별자는 단일 가닥 DNA로 제공된다. 단지 예시로서, 라이브러리 A는 구체적으로 "상부 가닥"으로 제공된다. 친화성 태그를 포함하는 "하단 가닥" 분자 형태의 라이브러리 B는 라이브러리 A로부터의 임의의 일치하는 식별자를 '미끼 유도'하기 위해 혼성화 반응에서 몰 과잉으로 제공된다. 라이브러리 B에도 있는 라이브러리 A의 모든 식별자는 라이브러리 B의 미끼와 혼성화될 것이다. 그 후, 모든 라이브러리 B 식별자(단일 가닥 분자와 라이브러리 A 분자에 결합된 식별자 모두 포함)는 존재하는 모든 라이브러리 B 분자에 적용된 친화성 태그에 대한 특정 캡처 메커니즘을 사용하여 제거될 수 있으며, A 라이브러리에는 있지만 B 라이브러리에는 없다.
일부 구현에서(예를 들어, 도 42b에 도시된 바와 같이), 예시적인 라이브러리 A 및 라이브러리 B는 각각 상단 및 하단 가닥 분자로 제공된다. 이 메커니즘의 파트 1에서는 라이브러리 A와 몰 과량의 라이브러리 B를 혼성화하여 이중 가닥 복합체가 형성된다. 그런 다음 이중 가닥 특이적 DNA 뉴클레아제를 사용하여(예: dsDNA 제거) 단일 가닥 DNA만 남긴다. 이 예제 메커니즘의 파트 2에서는 라이브러리 A에 상보적이고 라이브러리 B에 상보적이지 않은 핵산 "보호 프로브"가 적용된다. 그런 다음 단일 가닥 특이적 DNA 뉴클레아제를 사용하여 보호 프로브에 의해 보호된 라이브러리 A의 가닥만 남긴다.
본 명세서에 기재된 기술을 사용하여 구현된 NOT 게이트의 예가 도 43에 도시되어 있다. NOT 게이트의 예는 라이브러리 A를 입력으로 사용하고 다른 라이브러리 B를 게이트 파라미터로 사용하여 B에는 있지만 A에는 없는 식별자를 포함하는 출력 라이브러리를 생성한다.
일부 구현에서(예를 들어, 도 43a에 도시된 바와 같이), 라이브러리 B로부터의 가능한 모든 식별자는 단일 가닥 DNA로 제공된다. 단지 예시로서, 라이브러리 B가 구체적으로 하단 가닥으로 제공된다. 친화성 태그를 포함하는 최상위 가닥 분자 형태의 라이브러리 A는 라이브러리 B의 일치하는 식별자를 유인하기 위해 혼성화 반응에서 몰 과잉으로 제공된다. 라이브러리 A에도 있는 라이브러리 B의 모든 식별자는 라이브러리 A의 미끼와 혼성화될 것이다. 그 후, 모든 라이브러리 A 식별자(단일 가닥 분자와 라이브러리 B 분자에 결합된 식별자 모두 포함)는 모든 존재하는 라이브러리 A 분자에 적용된 친화성 태그에 대한 특정 포획 메커니즘을 사용하여 제거될 수 있으며, B 라이브러리는 있지만 A 라이브러리에는 없는 식별자를 버릴 것이다. 따라서 결과적인 DNA 풀은 라이브러리 A에 있는 정보의 반대인 "NOT" 게이트의 반환 값을 형성한다.
일부 구현에서(예를 들어, 도 43b에 도시된 바와 같이), 예시적인 라이브러리 A 및 라이브러리 B는 각각 상단 및 하단 가닥 분자로 제공된다. 이 메커니즘의 파트 1에서는 라이브러리 B를 몰 과잉의 라이브러리 A에 혼성화하여 이중 가닥 복합체를 형성한다. 그런 다음 이중 가닥 특이적 DNA 뉴클레아제를 사용하여 단일 가닥 DNA만 남긴다. 이 메커니즘의 파트 2에서는 라이브러리 A에 상보적이지 않고 라이브러리 B에 상보적인 "보호 프로브"가 적용된다. 그런 다음 단일 가닥 특이적 DNA 뉴클레아제가 사용되어 보호된 라이브러리 B의 가닥만 남긴다.
본 명세서에 기재된 기술을 사용하여 구현된 XOR 게이트의 예가 도 44에 도시되어 있다. 예시적 XOR 게이트는 두 개의 라이브러리를 입력으로 사용하고 두 입력 라이브러리 모두가 아닌 입력 라이브러리 중 하나에 존재하는 식별자를 포함하는 출력 라이브러리를 생성한다. 일부 구현예에서, 게이트는 반환된 DNA의 가닥 여부(strandedness)와 무관한 예를 들어 도 42b에 도시된 바와 같이 2개의 반대되는 NIMPLY 뉴클레아제 게이트 및 이에 뒤 따르는 도 41b에 도시된 바와 같은 유사한 OR 게이트를 사용할 수 있다. 일부 구현에서(예를 들어, 도 44a-c에 도시된 바와 같이), 게이트는 반환된 DNA의 가닥 여부와 무관한, 도 42b에 도시된 두 개의 반대되는 NIMPLY 친화성 게이트 및 이에 뒤 따르는 도 41b에 도시된 OR 게이트를 사용한다.
위에서 설명한 예시적인 게이트는 이중 가닥 핵산(가령, dsDNA) 및/또는 단일 가닥 핵산(가령 ssDNA), 예를 들어 특정 상단 또는 하단 가닥을 활용할 수 있다. 이러한 형식은 예를 들어 ssDNA에서 dsDNA로 변환될 수 있다. 예를 들어, ssDNA의 경우 하나 또는 다른 가닥에 특이적인 혼성화에 이어 일치하는 가닥을 풀다운하는 방법을 사용할 수 있다. 예를 들어, dsDNA의 경우 dsDNA를 생성하기 위해 ssDNA 또는 dsDNA인 템플릿의 PCR을 사용할 수 있다.
[1] B. R. Gaines, "Stochastic Computing," Proc. of the Spring Joint Computer Conference, pp. 149-156, 1967.
[2] B. D. Brown and H. C. Card, "Stochastic neural computation I: computational elements," IEEE Transactions on Computers, vol. 50, no. 9, pp. 891-905, 2001.
[3] J. von Neumann, "Probabilistic logics and the synthesis of reliable organisms from unreliable components," Automata Studies, 1956.
[4] A. Alaghi and J. P. Hayes, "Survey of stochastic computing," ACM Transactions on Embedded Computing Systems, vol. 12, no. 2S, 2013.
[5] D. Soloveichik, G. Seeling and E. Winfree, "DNA as a universal substrate for chemical kinetics," Proc. of the National Academy of Sciences, vol. 107, no. 12, pp. 5393-5398, 2010.
[6] B. Wang, C. Thachuk, A. D. Ellington, E. Winfree and D. Soloveichik, "Effective design principles for leakless strand displacement systems," Proc. of the National Academy of Sciences, vol. 115, no. 52, pp. E12182-E12191, 2018.
[7] K. M. Cherry and L. Qian, "Scaling up molecular pattern recognition with DNA-based winner-take-all neural networks," Nature, vol. 559, pp. 370-376, 2018.
[8] A. Salomaa and G. Rozenberg, "Handbook of formal languages: word, language, grammar," 1997.
[9] A. Currin, K. Korovin, M. Ababi, K. Roper, D. B. Kell, P. J. Day and R. D. King, "Computing exponentially faster: implementing a non-deterministic universal Turing machine using DNA," J. of the Royal Society, vol. 128, no. 14, 2017.
예시
예시 1: DNA 분자에 하나의 시를 인코딩, 기록 및 판독하기
인코딩될 데이터는 시가 포함된 텍스트 파일이다. 데이터는 피펫을 사용하여 수동으로 인코딩되어 96개 구성요소로 구성된 두 개의 층으로부터의 DNA 구성요소를 함께 혼합하여 중첩 확장 PCR로 구현된 곱 방식을 사용해 식별자를 구성한다. 제1 층인 X는 총 96개의 DNA 구성요소를 포함한다. 제2 층인 Y도 총 96개의 구성요소를 포함한다. DNA를 기록 전에, 데이터는 이진수로 매핑된 다음 원본 데이터의 61비트로 구성된 모든 연속(인접한 분리) 스트링이 정확히 17비트 값이 1인 96비트 스트링으로 변환되는 균일한 가중치 형식으로 다시 코딩된다. 이 균일한 가중치 형식은 자연스러운 에러 체크 특성을 가질 수 있다. 그런 다음 데이터는 참조 맵을 형성하기 위해 96 x 96 테이블로 해시된다.
도 18a의 중앙 패널은 시를 복수의 식별자로 인코딩하는 96 x 96 테이블의 2차원 참조 맵을 보여준다. 어두운 점은 '1' 비트 값에 해당하고 흰색 점은 '0' 비트 값에 대응한다. 데이터는 96개 구성요소로 구성된 두 개의 층을 사용하여 식별자로 인코딩된다. 테이블의 각 X 값과 Y 값에는 구성요소가 할당되고 X 및 Y 구성요소는 '1' 값을 갖는 각 (X,Y) 좌표에 대한 중첩 확장 PCR을 사용하여 식별자로 조립된다. 가능한 각 (X,Y) 조립체의 존재 여부를 결정하기 위해 식별자 라이브러리를 시퀀싱하여 데이터를 다시 읽어(가령 디코딩) 사용했다.
도 18a의 오른쪽 패널은 시퀀싱에 의해 결정된 식별자 라이브러리에 존재하는 서열의 존재비에 대한 2차원 히트 맵을 보여준다. 각 픽셀은 해당 X 및 Y 구성요소로 구성된 분자를 나타내며 해당 픽셀의 그레이스케일 강도는 다른 분자와 비교하여 해당 분자의 상대적 풍부함을 나타냅니다. 식별자는 각 행에서 가장 풍부한 상위 17개(X, Y) 조립체로 간주된다(균일한 가중치 인코딩은 96비트의 각 연속 스트링이 정확히 17개의 '1' 값을 가질 수 있으므로 17개의 해당 식별자를 가질 수 있음을 보장하기 때문이다).
예시 2: 62824 비트 텍스트파일을 인코딩하기.
인코딩될 데이터는 총 62824 비트에 달하는 3개의 시로 구성된 텍스트 파일이다. 데이터는 Labcyte Echo® Liquid Handler를 사용하여 인코딩되어 384개 구성요소로 구성된 두 개의 층의 DNA 구성요소를 함께 혼합하여 중첩 확장 PCR로 구현된 제품 체계를 사용하여 식별자를 구성한다. 제1 층인 X는 총 384개의 DNA 구성요소를 포함한다. 제2 층인 Y도 총 384개의 구성요소를 포함한다. DNA를 쓰기 전에 데이터를 이진수로 매핑한 후 다시 코딩하여 가중치(비트 값 수 '1')를 줄이고 체크섬을 포함시킨다. 체크섬은 192 비트 데이터의 모든 연속 스트링에 대한 체크섬에 해당하는 식별자가 있도록 설정된다. 재코딩된 데이터의 가중치는 약 10,100으로, 구성될 식별자의 개수에 대응한다. 그런 다음 데이터는 참조 맵을 형성하기 위해 384 x 384 테이블로 해시될 수 있다.
도 18b의 중앙 패널은 텍스트 파일을 복수의 식별자로 인코딩하는 384 x 384 테이블의 2차원 참조 맵을 보여준다. 각 좌표 (X,Y)는 X + (Y-1)*192 위치의 데이터 비트에 대응한다. 검은색 점은 비트값 '1'에 해당하고 흰색 점은 비트값 '0'에 대응한다. 도면의 오른쪽 상의 검은 점은 체크섬이고, 도면의 위쪽의 검은 점 패턴은 코드북(가령, 데이터 디코딩을 위한 사전)이다. 테이블의 각 X 값과 Y 값에는 구성요소가 할당될 수 있으며 X 및 Y 구성요소는 '1' 값을 갖는 각 (X, Y) 좌표에 대한 오버랩 확장 PCR을 사용하여 식별자로 조립된다. 가능한 각 (X, Y) 조립체의 존재 여부를 결정하기 위해 식별자 라이브러리를 시퀀싱하여 데이터가 다시 판독(가령, 디코딩) 되었다.
도 18b의 오른쪽 패널은 시퀀싱에 의해 결정된 식별자 라이브러리에 존재하는 서열의 존재비에 대한 2차원 히트 맵을 보여준다. 각 픽셀은 해당 X 및 Y 구성요소로 구성된 분자를 나타내며 해당 픽셀의 그레이스케일 강도는 다른 분자와 비교하여 해당 분자의 상대적 풍부함을 나타낸다. 식별자는 각 행에서 가장 풍부한 상위 S개(X, Y) 어셈블리로 간주되며 여기서 각 행의 S는 체크섬 값일 수 있다.
디지털 정보를 핵산 분자에 저장하기 위한 방법이 제공되며, 상기 방법은 (a) 디지털 정보를 심볼의 스트링으로서 수신하는 단계 - 심볼의 스트링 내 각 심볼은 심볼 값 및 심볼의 스트링 내의 심볼 위치를 가짐 - , (b) 다음에 의해 제1 식별자 핵산 분자를 형성하는 단계: (1) M개의 상이한 층으로 분리되는 개별 구성요소 핵산 분자의 세트로부터 M개의 층 각각으로부터의 하나씩의 구성요소 핵산 분자를 선택하는 것, (2) M개의 선택된 구성요소 핵산 분자를 하나의 구획으로 보관하는 것 - , (3) (2)의 M개의 선택된 구성요소 핵산 분자를 물리적으로 조립하여, 제1 및 제2 층으로부터의 구성요소 핵산 분자가 식별자 핵산 분자의 제1 및 제2 말단 분자에 대응하며, 제3 층 내 구성요소 핵산 분자가 식별자 핵산 분자의 제3 분자에 대응하여, 제1 식별자 핵산 분자의 M개의 층의 물리적 순서를 정의하도록, 제1 및 제2 말단 분자 및 상기 제1 말단 분자와 상기 제2 말단 분자 사이에 위치하는 제3 문자를 갖는 제1 식별자 핵산 문자를 형성함 - , (c) 복수의 추가 식별자 핵산 분자를 형성하는 단계 - 추가 식별자 핵산 분자 각각은 (1) 제1 및 제2 말단 분자 및 상기 제1 말단 분자와 상기 제2 말단 분자 사이에 위치한 제3 분자를 가지며, (2) 각자의 심볼 위치에 대응하며, 적어도 하나의 추가 식별자 핵산 분자의 제1 말단 분자, 제2 말단 분자, 및 제3 분자가 (b)에서의 제1 식별자 핵산 분자의 타깃 분자와 동일하여, 프로브가 심볼의 스트링 내 연속 심볼 위치를 갖는 각자의 심볼에 대응하는 적어도 두 개의 식별자 핵산 분자를 선택할 수 있게 함 - , 및 (d) (b) 및 (c)의 식별자 핵산 분자를 분말, 액체, 또는 고체 형태를 갖는 풀에 수집하는 단계를 포함하는, 방법.
일부 구현예에서, 식별자 핵산 분자 집단은 동일한 표적 분자를 공유하는 반면, 동일한 풀에 있는 다른 식별자 핵산 분자는 다른 표적 분자를 가질 수 있다. 적어도 하나의 추가 식별자 핵산 분자의 제1 및 제2 말단 분자 중 적어도 하나는 (b)의 제1 식별자 핵산 분자의 표적 분자와 동일할 수 있다. 일부 구현예에서, M개의 선택된 성분 핵산 분자를 물리적으로 조립하는 것은 성분 핵산 분자의 결찰을 포함한다.
일부 구현예에서, 각 층의 성분 핵산 분자는 다른 층의 성분 핵산 분자의 적어도 하나의 점착성 말단에 상보적인 적어도 하나의 점착성 말단을 포함하여, (b)와 (c)의 식별자 핵산 분자의 형성을 위한 점착 말단 결찰을 가능하게 한다. 예를 들어, 각 층(예를 들어, A, B, C) 내의 모든 구성요소는 서로 동일한 접착성 말단을 가질 수 있으며, 층 A의 모든 구성요소 중 하나의 접착성 말단은 층 B의 모든 구성요소의 하나의 접착성 말단과 상보적이다. 더욱이, 층 B의 모든 구성요소의 다른 접착성 말단은 층 C의 모든 구성요소의 하나의 접착성 말단에 상보적일 수 있는 등이다. 일부 구현예에서, (c)의 적어도 하나의 추가 식별자 핵산 분자의 제1 분자는 (b)의 식별자 핵산 분자의 제1 말단 분자와 동일하고, (c)의 적어도 하나의 추가 식별자 핵산 분자의 제2 말단 분자는 (b)의 식별자 핵산 분자의 제2 말단 분자와 동일하다.
일부 구현예에서, 방법은 프로브를 사용하여 제1 식별자 핵산 분자 내의 적어도 일부 식별자 핵산 분자와 복수의 추가 식별자 핵산 분자를 표적 분자에 혼성화하여 연속적인 심볼 위치를 갖는 각각의 심볼에 대응하는 식별자 핵산 분자를 선택하는 단계를 더 포함한다. 인접한 심볼 위치를 갖는 심볼은 서로 인접해 있으며 유사한 이웃에 있기 때문에 유사한 특성을 공유할 수 있다. 따라서, 동일한 프로브를 사용하여 서로 가까이 위치하는 식별자 핵산 분자를 선택하는 것이 바람직할 수 있다. 일부 구현예에서, 방법은 연속 심볼 위치를 갖는 각각의 심볼에 대응하는 적어도 2개의 식별자 핵산 분자를 증폭시키기 위해 단일 PCR 반응을 적용하는 단계를 더 포함한다. 일부 구현에서, 인접한 심볼 위치를 갖는 각각의 심볼에 대응하는 적어도 두 개의 식별자 핵산 분자는 식별자 핵산 분자의 세 번째 분자에 있는 특정 성분 핵산 분자를 표적으로 하는 또 다른 PCR 반응에 의해 추가로 증폭될 수 있다.
일부 구현예에서, 각 층의 구성요소 핵산 분자는 제1 및 제2 말단 영역으로 구성되고, M개 층 중 하나로부터의 각 구성요소 핵산 분자의 제1 말단 영역은 M개 층 중 또 다른 층으로부터의 임의의 구성요소 핵산 분자의 제2 말단 영역에 결합하도록 구성된다. 일부 구현예에서 M은 3보다 크거나 같다. 일부 구현예에서, 심볼 스트링 내의 각 심볼 위치는 대응하는 상이한 식별자 핵산 분자를 가진다. 일부 구현예에서, (b) 및 (c)의 식별자 핵산 분자는 각각의 M개 층으로부터 하나의 성분 핵산 분자를 포함하는 가능한 식별자 핵산 분자의 조합 공간의 서브세트을 나타낸다.
일부 구현예에서, (d)의 풀에서 식별자 핵산 분자의 존재 또는 부재는 심볼의 스트링 내 대응하는 각각의 심볼 위치의 심볼 값을 나타낸다. 예를 들어, 식별자가 있으면 해당 심볼 위치의 심볼 값이 1임을 나타내고, 없으면 심볼 값이 0임을 나타낼 수 있으며, 그 반대일 수도 있다. 일부 구현예에서, 인접한 심볼 위치를 갖는 심볼은 유사한 디지털 정보를 인코딩한다. 일부 구현예에서, M개 층 각각의 구성요소 핵산 분자 수의 분포는 불균일하다. 예를 들어, 한 층은 식별자 핵산 분자를 생성하기 위한 가능한 순열의 수 및/또는 다양성을 조정하기 위해 다른 층보다 더 많은 성분 핵산 분자를 가질 수 있다.
일부 구현예에서, 제3 층이 제1 층 또는 제2 층 중 어느 하나보다 더 많은 구성요소 핵산 분자를 포함할 때, (d)의 풀을 액세스하기 위해 사용된 PCR 쿼리는 제3 층이 제1 층 또는 제2 층보다 더 적은 구성요소 핵산 분자를 포함한 경우보다 액세스된 식별자 핵산 분자의 더 큰 풀을 도출한다.
일부 구현예에서, 제3 층이 제1 층 또는 제2 층 중 어느 하나보다 더 적은 구성요소 핵산 분자를 포함할 때, (d)의 풀을 액세스하기 위해 사용된 PCR 쿼리는 제3 층이 제1 층 또는 제2 층보다 더 많은 구성요소 핵산 분자를 포함한 경우보다 액세스된 식별자 핵산 분자의 더 작은 풀을 도출하고, 액세스된 식별자 핵산 분자의 더 작은 풀은 심볼의 스트링의 심볼로의 더 높은 액세스 분해능에 대응한다.
일부 구현예에서, 제1 층은 가장 높은 우선순위를 갖고, 제2 층은 두 번째로 높은 우선순위를 가지며, 나머지 M-2 층은 제1 말단 분자와 제2 말단 분자 사이에 대응하는 성분 핵산 분자를 가진다. 일부 구현예에서, (d)의 풀은 하나의 PCR 반응에서 제1 및 제2 말단 분자에 특정 성분 핵산 분자를 갖는 풀의 모든 식별자 핵산 분자에 접근하는 데 사용될 수 있다.
하나의 양태에서, 본 개시는 디지털 정보를 핵산 분자에 저장하기 위한 방법을 제공하며, 상기 방법은 (a) 디지털 정보를 심볼의 스트링으로서 수신하는 단계 - 심볼의 스트링 내 각 심볼은 심볼 값 및 심볼의 스트링 내의 심볼 위치를 갖고, 디지털 정보는 벡터의 모음에 의해 나타나는 이미지 데이터를 포함함 - , (b) 다음에 의해 제1 식별자 핵산 분자를 형성하는 단계: (1) M개의 상이한 층으로 분리되는 개별 구성요소 핵산 분자의 세트로부터 M개의 층 각각으로부터의 하나씩의 구성요소 핵산 분자를 선택하는 것, (2) M개의 선택된 구성요소 핵산 분자를 하나의 구획으로 보관하는 것 - , 및 (3) (2)의 M개의 선택된 구성요소 핵산 분자를 물리적으로 조립하여, 제1 및 제2 층으로부터의 구성요소 핵산 분자가 식별자 핵산 분자의 제1 및 제2 말단 분자에 대응하며, 제3 층 내 구성요소 핵산 분자가 식별자 핵산 분자의 제3 분자에 대응하여, 제1 식별자 핵산 분자의 M개의 층의 물리적 순서를 정의하도록, 제1 및 제2 말단 분자 및 상기 제1 말단 분자와 상기 제2 말단 분자 사이에 위치하는 제3 문자를 갖는 제1 식별자 핵산 문자를 형성함 - ,
일부 구현예에서, 상기 방법은 상기 단계(a), (b) M개의 선택된 구성요소 핵산 분자를 하나의 구획에 보관하고 - M개의 선택된 구성요소 핵산 분자는 M개의 상이한 층으로 분리된 개별 구성요소 핵산 분자의 세트로부터 선택됨 - , M개의 선택된 구성요소 핵산 분자를 물리적으로 모음으로써, 제1 식별자 핵산 분자를 형성하는 단계, (c) 복수의 식별자 핵산 분자를 형성하는 단계 - 각각은 각자의 심볼 위치에 대응함 - , 및 (d) (b) 및 (c)의 식별자 핵산 분자를 분말, 액체, 또는 고체 형태를 갖는 풀에 수집하는 단계를 포함하는, 방법.
일부 구현예에서, M개 층 중 적어도 일부는 이미지 데이터의 상이한 특징에 대응한다. 일부 구현예에서, 상이한 특징은 x 좌표, y 좌표, 강도 값 또는 강도 값 범위를 포함한다. 이미지 데이터를 핵산 분자에 저장하면 여기에 설명된 임의의 액세스 방식과 같은 랜덤 액세스 방식을 사용하여 색상 값에 대해 임의의 이웃 픽셀에 대해 쿼리를 허용할 수 있다. 일부 구현예에서, 이미지 데이터를 핵산 분자에 저장하는 것은 이미지 데이터가 이미지 데이터의 원래 해상도의 일부로 디코딩되는 것을 허용한다.
또 다른 양태에서, 본 개시내용은 디지털 정보를 핵산 분자에 저장하기 위한 방법을 제공하며, 상기 방법은, (a) 디지털 정보를 심볼의 스트링으로서 수신하는 단계 - 심볼의 스트링 내 각 심볼은 심볼 값 및 심볼의 스트링 내의 심볼 위치를 가지며, 디지털 정보는 벡터의 모음에 의해 나타내어지는 이미지 데이터를 포함함 - , (b) M개의 선택된 구성요소 핵산 분자를 하나의 구획에 보관함으로써 제1 식별자 핵산 분자를 형성하는 단계 - M개의 선택된 구성요소 핵산 분자는 M개의 상이한 층으로 분리된 개별 구성요소 핵산 분자의 세트로부터 선택됨 - , (c) 복수의 식별자 핵산 분자를 형성하는 단계 - 식별자 핵산 분자 각각은 제1 및 제2 말단 분자 및 상기 제1 말단 분자와 상기 제2 말단 분자 사이에 위치한 제3 분자를 가지며, 각자의 심볼 위치에 대응하며, 적어도 하나의 추가 식별자 핵산 분자의 제1 말단 분자, 제2 말단 분자, 및 제3 분자가 (b)에서의 제1 식별자 핵산 분자의 타깃 분자와 동일하여, 프로브가 심볼의 스트링 내 관련 심볼 위치를 갖는 각자의 심볼에 대응하는 적어도 두 개의 식별자 핵산 분자를 선택할 수 있게 함 - , 및 (d) (b) 및 (c)의 식별자 핵산 분자를 분말, 액체, 또는 고체 형태를 갖는 풀에 수집하는 단계를 포함하는, 방법. 이미지 데이터를 핵산 분자에 저장하면 임의 접근 방식을 사용하여 임의의 이웃 픽셀에서 색상 값을 쿼리할 수 있다.
일부 구현예에서, 이미지 데이터를 핵산 분자에 저장하는 것은 이미지 데이터가 이미지 데이터의 원래 해상도의 분율로 디코딩되는 것을 허용하고, 그 분율로 이미지 데이터를 디코딩하는 것은 관심 프레임을 식별하기 위한 감시 이미지 아카이브 또는 비디오 아카이브에서 특정 시각적 특징을 검색하는 데 사용된다.
또 다른 양태에서, 본 개시내용은 디지털 정보를 핵산 분자에 저장하기 위한 방법을 제공하며, 상기 방법은, (a) 디지털 정보를 심볼의 스트링으로서 수신하는 단계 - 심볼의 스트링 내 각 심볼은 심볼 값 및 심볼의 스트링 내의 심볼 위치를 가짐 - , (b) M개의 선택된 구성요소 핵산 분자를 하나의 구획에 보관하고 - M개의 선택된 구성요소 핵산 분자는 M개의 상이한 층으로 분리된 개별 구성요소 핵산 분자의 세트로부터 선택됨 - , M개의 선택된 구성요소 핵산 분자를 물리적으로 모음으로써, 제1 식별자 핵산 분자를 형성하는 단계, (c) 복수의 식별자 핵산 분자를 형성하는 단계 - 식별자 핵산 분자 각각은 제1 및 제2 말단 분자 및 상기 제1 말단 분자와 상기 제2 말단 분자 사이에 위치한 제3 분자를 가지며, 각자의 심볼 위치에 대응하며, 적어도 하나의 추가 식별자 핵산 분자의 제1 말단 분자, 제2 말단 분자, 및 제3 분자가 (b)에서의 제1 식별자 핵산 분자의 타깃 분자와 동일하여, 프로브가 심볼의 스트링 내 관련 심볼 위치를 갖는 각자의 심볼에 대응하는 적어도 두 개의 식별자 핵산 분자를 선택할 수 있게 하고, M개의 선택된 구성요소 핵산 분자를 물리적으로 조립하여 (b)의 식별자 핵산 분자를 형성하는 것은 클릭 화학을 사용하는 것을 포함함 - , 및 (d) (b) 및 (c)의 식별자 핵산 분자를 분말, 액체, 또는 고체 형태를 갖는 풀에 수집하는 단계를 포함하는, 방법. 디지털 정보를 저장하는 방법의 단계 (c)는 일반적으로 앞서 언급한 바와 같이 제1 및 제2 말단 분자와 제3 분자를 갖는 분자의 형성을 수행하지 않고 각각 심볼 위치에 대응하는 복수의 식별자 핵산 분자를 형성하는 것을 포함할 수 있다.
또 다른 양태에서, 본 개시내용은 디지털 정보를 핵산 분자에 저장하기 위한 방법을 제공하며, 상기 방법은, (a) 디지털 정보를 심볼의 스트링으로서 수신하는 단계 - 심볼의 스트링 내 각 심볼은 심볼 값 및 심볼의 스트링 내의 심볼 위치를 가짐 - , (b) M개의 선택된 구성요소 핵산 분자를 하나의 구획에 보관하고 - M개의 선택된 구성요소 핵산 분자는 M개의 상이한 층으로 분리된 개별 구성요소 핵산 분자의 세트로부터 선택됨 - , 클릭 화학을 사용해 M개의 선택된 구성요소 핵산 분자를 물리적으로 조립함으로써, 제1 식별자 핵산 분자를 형성하는 단계, (c) 복수의 식별자 핵산 분자를 형성하는 단계 - 각각은 각자의 심볼 위치에 대응함 - , 및 (d) (b) 및 (c)의 식별자 핵산 분자를 분말, 액체, 또는 고체 형태를 갖는 풀에 수집하는 단계, 및 (e) 풀에 수집된 데이터를 삭제하는 단계를 포함하는, 방법. 일부 구현예에서, 단계 (c)는 복수의 식별자 핵산 분자를 물리적으로 조립하는 단계 - 식별자 핵산 분자 각각은 제1 및 제2 말단 분자 및 상기 제1 말단 분자와 상기 제2 말단 분자 사이에 위치한 제3 분자를 가지며, 각자의 심볼 위치에 대응하며, 적어도 하나의 추가 식별자 핵산 분자의 제1 말단 분자, 제2 말단 분자, 및 제3 분자가 (b)에서의 제1 식별자 핵산 분자의 타깃 분자와 동일하여, 프로브가 심볼의 스트링 내 관련 심볼 위치를 갖는 각자의 심볼에 대응하는 적어도 두 개의 식별자 핵산 분자를 선택할 수 있게 하고, M개의 선택된 구성요소 핵산 분자를 물리적으로 조립하여 (b)의 식별자 핵산 분자를 형성하는 것은 클릭 화학을 사용하는 것을 포함함 - .
일부 구현예에서, 방법은 데이터를 선택적으로 삭제하기 위해 서열 특이적 프로브를 사용하여 (d)의 풀로부터 식별자 핵산 분자를 풀다운 선택하는 단계를 더 포함한다. 일부 구현예에서, 선별 식별자 핵산 분자는 CRISPR 기반 방법을 사용하여 선택적으로 삭제된다. 일부 구현예에서, 방법은 (d)의 풀에서 식별자 핵산 분자를 난독화하여 데이터에 접근할 수 없게 하거나 판독하기 어렵거나 불가능하게 만들어 데이터를 비선택적으로 삭제하는 단계를 더 포함한다. 일부 구현예에서, 방법은 데이터를 비선택적으로 삭제하기 위해 (d)의 풀로부터 식별자 핵산 분자를 분해하기 위해 초음파 처리, 오토클레이빙, 표백제, 염기, 산, 에티듐 브로마이드 또는 기타 DNA 변형제를 사용한 처리, 방사선 조사, 연소 및 비특이적 뉴클레아제 소화를 사용하는 것을 더 포함한다.
또 다른 양태에서, 본 개시내용은 디지털 정보를 핵산 분자에 저장하기 위한 방법을 제공하며, 상기 방법은, (a) 디지털 정보를 심볼의 스트링으로서 수신하는 단계 - 심볼의 스트링 내 각 심볼은 심볼 값 및 심볼의 스트링 내의 심볼 위치를 가짐 - , (b) 심볼의 스트링을 고정된 길이보다 크지 않은 크기의 하나 이상의 블록으로 나누는 단계, (c) M개의 선택된 구성요소 핵산 분자를 하나의 구획에 보관하고 - M개의 선택된 구성요소 핵산 분자는 M개의 상이한 층으로 분리된 개별 구성요소 핵산 분자의 세트로부터 선택됨 - , M개의 선택된 구성요소 핵산 분자를 물리적으로 모음으로써, 제1 식별자 핵산 분자를 형성하는 단계, (d) 복수의 식별자 핵산 분자를 형성하는 단계 - 각각은 각자의 심볼 위치에 대응함 - , 및 (e) (b) 및 (c)의 식별자 핵산 분자를 분말, 액체, 또는 고체 형태를 갖는 풀에 수집하는 단계를 포함하는, 방법.
일부 구현예에서, 상기 (d)의 복수의 식별자 핵산 분자 각각은 제1 및 제2 말단 분자 및 상기 제1 말단 분자와 상기 제2 말단 분자 사이에 위치한 제3 분자를 가지며, 각자의 심볼 위치에 대응하며, 적어도 하나의 추가 식별자 핵산 분자의 제1 말단 분자, 제2 말단 분자, 및 제3 분자가 (b)에서의 제1 식별자 핵산 분자의 타깃 분자와 동일하여, 프로브가 심볼의 스트링 내 관련 심볼 위치를 갖는 각자의 심볼에 대응하는 적어도 두 개의 식별자 핵산 분자를 선택할 수 있게 한다.
일부 구현예에서, 방법은 심볼 스트링, 처리 요구사항, 또는 디지털 정보의 의도된 적용예에 기초하여 각 블록의 크기를 결정하는 단계를 더 포함한다. 일부 구현예에서, 방법은 각 블록의 해시를 계산하는 단계를 더 포함한다. 일부 구현예에서, 방법은 하나 이상의 에러 검출 및 정정을 각각의 블록에 적용하고 하나 이상의 에러 보호 바이트를 계산하는 단계를 더 포함한다. 일부 구현예에서, 방법은 인코딩 또는 디코딩 동안 화학적 조건을 최적화하는 코드워드 세트에 하나 이상의 블록을 매핑하는 단계를 더 포함한다. 일부 구현예에서, 코드워드 세트는 고정된 수의 식별자 핵산 분자가 기록기 시스템의 각 반응 구획에서 조립되고 각 반응 구획 내에서 그리고 반응 구획 전체에 걸쳐 대략 동일한 농도로 조립되도록 고정된 가중치를 가진다.
하나의 양태에서, 본 개시내용은 핵산 분자에 저장되어 있는 디지털 정보에 대한 계산을 수행하는 방법을 제공한다. 중요한 점은 분자 풀에서 실제 디지털 정보를 읽거나 디코딩하지 않고도 해당 계산을 수행할 수 있다는 것이다. 계산에는 AND, OR, NOT 또는 NAND 연산과 같은 부울 논리 게이트의 조합이 포함될 수 있다. 구체적으로, 본 개시내용은 디지털 정보를 핵산 분자에 저장하기 위한 방법을 제공하며, 상기 방법은, (a) 디지털 정보를 심볼의 스트링으로서 수신하는 단계 - 심볼의 스트링 내 각 심볼은 심볼 값 및 심볼의 스트링 내의 심볼 위치를 가짐 - , (b) M개의 선택된 구성요소 핵산 분자를 하나의 구획에 보관하고 - M개의 선택된 구성요소 핵산 분자는 M개의 상이한 층으로 분리된 개별 구성요소 핵산 분자의 세트로부터 선택됨 - , M개의 선택된 구성요소 핵산 분자를 물리적으로 모음으로써, 제1 식별자 핵산 분자를 형성하는 단계, (c) 복수의 식별자 핵산 분자를 형성하는 단계 - 각각은 각자의 심볼 위치에 대응함 - , 및 (d) (b) 및 (c)의 식별자 핵산 분자를 분말, 액체, 또는 고체 형태를 갖는 풀에 수집하는 단계, 및 (e) (d)의 식별자 핵산 분자를 사용하여 심볼의 스트링에 대한 부울 논리 연산, 가령, AND, OR, NOT 또는 NAND을 포함하는 계산을 수행하여 핵산 분자의 새로운 풀을 생성하는 단계를 포함하는, 방법. 새로운 핵산 분자 풀은 계산 결과 또는 출력을 나타낼 수 있다.
일부 구현예에서, 상기 (c)의 식별자 핵산 분자 각각은 제1 및 제2 말단 분자 및 상기 제1 말단 분자와 상기 제2 말단 분자 사이에 위치한 제3 분자를 가지며, 각자의 심볼 위치에 대응하며, 적어도 하나의 추가 식별자 핵산 분자의 제1 말단 분자, 제2 말단 분자, 및 제3 분자가 (b)에서의 제1 식별자 핵산 분자의 타깃 분자와 동일하여, 프로브가 심볼의 스트링 내 관련 심볼 위치를 갖는 각자의 심볼에 대응하는 적어도 두 개의 식별자 핵산 분자를 선택할 수 있게 한다.
일부 구현예에서, 심볼 스트링 내의 심볼 중 임의의 것을 얻기 위해 식별자 핵산 분자 중 임의의 것을 디코딩하지 않고 (d)의 식별자 핵산 분자 풀에 대해 계산이 수행된다. 일부 구현예에서, 계산 수행에는 혼성화 및 절단을 포함한 일련의 화학적 작업이 포함된다.
일부 구현예에서, (a)의 심볼 스트링은 a로 표시되고 서브-비트스트림 s를 포함하며, (d)의 풀에 있는 복수의 식별자 핵산 분자는 이중 가닥이고 dsA로 표시되며, 방법은 dsB로 표시되고 서브 비트스트림 t를 포함하는 b로 표시되는 또 다른 심볼 스트링을 나타내는 또 다른 복수의 식별자 핵산 분자의 풀을 획득하는 단계를 더 포함하며, 여기서 계산은 dsA 및 dsB에 대한 일련의 단계를 수행함으로써 서브-비트스트림 s 및 t에 대해 수행된다. 일부 구현예에서, dsA 및 dsB에 대한 일련의 단계는 초기화 단계를 수행하는 것을 포함하며, 상기 초기화 단계는 dsA의 이중 가닥 식별자 핵산 분자를 A로 표시된 양성 단일 가닥 형태로 변환하는 단계, dsA의 이중 가닥 식별자 핵산 분자를 A*로 표시된 음성 단일 가닥 형태로 변환하는 단계 - A*는A의 역 보체임 - , dsB의 이중 가닥 식별자 핵산 분자를 B의 양성 단일 가닥 형태로 변환하는 단계, dsB의 이중 가닥 식별자 핵산 분자를 B*으로 표시된 음성 단일 가닥 형태로 변환하는 단계 - B*은 B의 역 보체임 - , s에 대응하는 dsA의 식별자 핵산 분자로서 dsP를 선택하는 단계, s에 대응하는 A의 식별자 핵산 분자로서 P를 선택하는 단계, t에 대응하는 dsB의 식별자 핵산 분자로서 dsQ를 선택하는 단계, 및 t에 대응하는 B*의 식별자 핵산 분자로서 Q*를 선택하는 단계를 포함한다.
일부 구현에서, 계산은 AND 연산이고, dsA 및 dsB에 대한 일련의 단계는 A와 B*를 결합하여 a와 b 사이에 AND 연산을 수행하고, 상보적인 핵산 분자를 혼성화하고, 핵산 분자의 새로운 풀로서의 핵산 분자로서 완전히 상보적인 이중 가닥을 선택하는 것을 더 포함한다. 일부 구현에서, 계산은 OR 연산이고, dsA 및 dsB에 대한 일련의 단계는 PQ*를 결합하여 a와 t 사이에 AND 연산을 수행하고, 상보적인 핵산 분자를 혼성화하고, 핵산 분자의 새로운 풀로서의 핵산 분자로서 완전히 상보적인 이중 가닥을 선택하는 것을 더 포함한다.
일부 구현에서, 완전히 상보적인 핵산 분자를 선택하는 것은 크로마토그래피, 겔 전기영동, 단일 가닥 특이적 엔도뉴클레아제, 단일 가닥 특이적 엑소뉴클레아제, 또는 이들의 조합을 사용하는 것을 포함한다.
일부 구현에서, 계산은 OR 연산이고, dsA와 dsB에 대한 일련의 단계는 dsA와 dsB를 결합하여 a와 b 사이의 OR 연산을 수행하여 새로운 핵산 분자 풀을 생성하는 것을 포함한다. 일부 구현에서, 계산은 OR 연산이고, dsA와 dsB에 대한 일련의 단계는 dsP와 dsQ를 결합하여 s와 t 사이의 OR 연산을 수행하여 새로운 핵산 분자 풀을 생성하는 것을 포함한다.
일부 구현예에서, 방법은 A 또는 dsA를 업데이트하여 핵산 분자의 새로운 풀을 포함함으로써 A 또는 dsA가 작업의 출력을 나타낼 수 있게 하는 단계를 더 포함한다.
또 다른 양태에서, 본 개시내용은 디지털 정보를 핵산 분자에 저장하기 위한 방법을 제공하며, 상기 방법은, (a) 디지털 정보를 심볼의 스트링으로서 수신하는 단계 - 심볼의 스트링 내 각 심볼은 심볼 값 및 심볼의 스트링 내의 심볼 위치를 가짐 - , (b) M개의 선택된 구성요소 핵산 분자를 하나의 구획에 보관하고 - M개의 선택된 구성요소 핵산 분자는 M개의 상이한 층으로 분리된 개별 구성요소 핵산 분자의 세트로부터 선택됨 - , M개의 선택된 구성요소 핵산 분자를 물리적으로 모음으로써, 제1 식별자 핵산 분자를 형성하는 단계, (c) 복수의 식별자 핵산 분자를 형성하는 단계, 및 (c) (b)와 (c)의 식별자 핵산 분자를 개별 빈(bin)으로 파티셔닝하는 단계 - 각 빈은 상이한 심볼 값에 대응함 - 를 포함하는, 방법.
일부 구현예에서, (b)에서 제1 식별자 핵산 분자를 형성하는 것은 다음을 포함한다: (1) M개의 상이한 층으로 분리되는 개별 구성요소 핵산 분자의 세트로부터 M개의 층 각각으로부터의 하나씩의 구성요소 핵산 분자를 선택하는 것, (2) M개의 선택된 구성요소 핵산 분자를 하나의 구획으로 보관하는 것 - , (3) (2)의 M개의 선택된 구성요소 핵산 분자를 물리적으로 조립하여, 제1 및 제2 층으로부터의 구성요소 핵산 분자가 식별자 핵산 분자의 제1 및 제2 말단 분자에 대응하며, 제3 층 내 구성요소 핵산 분자가 식별자 핵산 분자의 제3 분자에 대응하여, 제1 식별자 핵산 분자의 M개의 층의 물리적 순서를 정의하도록, 제1 및 제2 말단 분자 및 상기 제1 말단 분자와 상기 제2 말단 분자 사이에 위치하는 제3 문자를 갖는 제1 식별자 핵산 문자를 형성함 - . 일부 구현예에서, 특정 심볼 값을 갖는 각 심볼의 심볼 위치는 해당 값을 위해 예약된 빈에 기록되며, 빈은 (2)의 구획이다.
또 다른 양태에서, 본 개시내용은 디지털 정보를 핵산 분자에 저장하기 위한 방법을 제공하며, 상기 방법은, (a) 디지털 정보를 심볼의 스트링으로서 수신하는 단계 - 심볼의 스트링 내 각 심볼은 심볼 값 및 심볼의 스트링 내의 심볼 위치를 가짐 - , (b) M개의 선택된 구성요소 핵산 분자를 하나의 구획에 보관하고 - M개의 선택된 구성요소 핵산 분자는 M개의 상이한 층으로 분리된 개별 구성요소 핵산 분자의 세트로부터 선택됨 - , M개의 선택된 구성요소 핵산 분자를 물리적으로 모음으로써, 제1 식별자 핵산 분자를 형성하는 단계, (c) 복수의 식별자 핵산 분자를 형성하는 단계, 및 (c) 복수의 식별자 핵산 분자를 형성하는 단계 - 각각은 각자의 심볼 위치에 대응함 - , 및 (d) (b) 및 (c)의 식별자 핵산 분자를 분말, 액체, 또는 고체 형태를 갖는 풀에 수집하는 단계를 포함하는, 방법.
일부 구현예에서, 상기 단계 (c)는 복수의 식별자 핵산 분자를 형성하는 단계를 포함하며, 식별자 핵산 분자 각각은 제1 및 제2 말단 분자 및 상기 제1 말단 분자와 상기 제2 말단 분자 사이에 위치한 제3 분자를 가지며, 각자의 심볼 위치에 대응하며, 적어도 하나의 추가 식별자 핵산 분자의 제1 말단 분자, 제2 말단 분자, 및 제3 분자가 (b)에서의 제1 식별자 핵산 분자의 타깃 분자와 동일하여, 프로브가 심볼의 스트링 내 관련 심볼 위치를 갖는 각자의 심볼에 대응하는 적어도 두 개의 식별자 핵산 분자를 선택할 수 있게 한다.
일부 구현예에서, M개의 선택된 구성요소 중 개별 구성요소는 다수의 부분을 포함하며, 각 부분은 핵산 분자를 포함하고, 각 부분은 하나 이상의 화학적 방법에 의해 동일한 식별자에 연결된다. 일부 구현예에서, 상기 다수의 부분 각각은 서로 다른 데이터 저장 작업을 위해 별도의 기능적 목적을 제공한다. 일부 구현예에서, 상기 기능적 목적은 서열분석의 용이성 및 핵산 혼성화에 의한 접근의 용이성을 포함한다. 일부 구현예에서, 제1 식별자 핵산 분자를 형성하는 것은 dCas9-데아미나제와 같은 염기 편집기를 적용하여 모 식별자에서 하나 이상의 염기를 프로그램적으로 돌연변이시키는 것을 포함한다.
또 다른 양태에서, 본 개시내용은 디지털 정보를 핵산 분자에 저장하기 위한 방법을 제공하며, 상기 방법은, (a) 디지털 정보를 심볼의 스트링으로서 수신하는 단계 - 심볼의 스트링 내 각 심볼은 심볼 값 및 심볼의 스트링 내의 심볼 위치를 가짐 - , (b) 염기 편집기를 적용하여 모 식별자의 하나 이상의 염기를 프로그램적으로 돌연변이시켜 제1 식별자 핵산 분자를 형성하는 단계, (c) 복수의 식별자 핵산 분자를 형성하는 단계 - 각각의 식별자 핵산 분자는 각자의 심볼 위치에 대응함 - , 및 (d) (b) 및 (c)의 식별자 핵산 분자를 분말, 액체, 또는 고체 형태를 갖는 풀에 수집하는 단계를 포함하는, 방법. 예를 들어, (b)에 적용된 기본 편집기 중 하나는 dCas9-디아미나제이다.
하나의 양태에서, 본 개시내용은 하나 이상의 랜덤 프로세스로부터 생성된 디지털 정보를 핵산 분자에 저장하는 방법을 제공하며, 상기 방법은 다음을 포함한다: (a) 디지털 정보를 심볼의 스트링으로서 수신하는 단계 - 심볼의 스트링 내 각 심볼은 심볼 값 및 심볼의 스트링 내의 심볼 위치를 가짐 - , (b) M개의 선택된 구성요소 핵산 분자를 하나의 구획에 보관하고 - M개의 선택된 구성요소 핵산 분자는 M개의 상이한 층으로 분리된 개별 구성요소 핵산 분자의 세트로부터 선택됨 - , M개의 선택된 구성요소 핵산 분자를 물리적으로 모음으로써, 제1 식별자 핵산 분자를 형성하는 단계, (c) 복수의 식별자 핵산 분자를 형성하는 단계 - 각각은 각자의 심볼 위치에 대응함 - , 및 (d) (b) 및 (c)의 식별자 핵산 분자를 분말, 액체, 또는 고체 형태를 갖는 풀에 수집하는 단계를 포함하는, 방법.
일부 구현에서, 본 개시 내용은 위의 방법 또는 위의 방법 중 임의의 적용 분야를 제공하며, 여기서 적용 분야는 정보의 암호화, 개체의 인증, 또는 무작위화를 포함하는 애플리케이션에서 엔트로피 소스로서의 이의 사용을 포함한다. 일부 구현예에서, 하나 이상의 분리된 식별자 라이브러리의 식별자는 개체 또는 물리적 위치를 고유하게 식별하는 데 사용된다.
하나의 양태에서, 본 개시내용은 다수의 랜덤 DNA 종의 파티션에서 디지털 정보를 인코딩하는 방법을 제공한다.
하나의 양태에서, 본 개시내용은 가능한 DNA 종의 대규모 조합 풀로부터 DNA 종을 무작위로 샘플링하고 시퀀싱함으로써 랜덤 데이터를 생성하는 방법을 제공한다.
하나의 양태에서, 본 개시내용은 가능한 DNA 종의 대규모 조합 풀로부터 DNA 종의 서브세트를 무작위로 샘플링하고 시퀀싱함으로써 랜덤 데이터를 생성하고 저장하는 방법을 제공한다.
일부 구현예에서, DNA 종의 상기 서브세트는 증폭되어 각 종의 다중 복사본을 생성한다. 일부 구현예에서, 에러 체크 및 정정을 위한 핵산 분자가 DNA 종의 상기 서브세트에 추가되어 강력한 향후 판독이 가능해진다. 일부 구현예에서, 상기 DNA 종의 서브세트는 고유한 분자로 바코드화되고 바코드화된 DNA 종 서브세트의 풀에 결합된다. 일부 구현예에서, 상기 바코드화된 DNA 종 서브세트 풀 내의 DNA 종의 특정 서브세트는 PCR 또는 핵산 포획을 위한 입력 핵산 프로브로 접근 가능하다.
하나의 양태에서, 본 개시는 다음을 포함하는 시스템으로 아티팩트를 보안하고 인증하는 방법을 제공한다: (1) 정의된 세트의 DNA 종 서브세트로 구성된 DNA 키, (2) 키를 받아들이고 일치하는 키를 검색하여 해당 아티팩트를 로컬로 잠금 해제하거나 해시된 토큰을 반환하여 다른 곳에서 아티팩트에 액세스하는 DNA 판독기. 일부 구현예에서, 방법은 생물학적 적용을 위해 DNA 단편을 조합적으로 조립하는 단계를 더 포함한다.
또 다른 양태에서, 본 개시내용은 디지털 정보를 핵산 분자에 저장하기 위한 방법을 제공하며, 상기 방법은, (a) 디지털 정보를 심볼의 스트링으로서 수신하는 단계 - 심볼의 스트링 내 각 심볼은 심볼 값 및 심볼의 스트링 내의 심볼 위치를 가짐 - , (b) 다음에 의해 제1 식별자 핵산 분자를 형성하는 단계: (1) M개의 상이한 층으로 분리되는 개별 구성요소 핵산 분자의 세트로부터 M개의 층 각각으로부터의 하나씩의 구성요소 핵산 분자를 선택하는 것, (2) M개의 선택된 구성요소 핵산 분자를 하나의 구획으로 보관하는 것 - , (3) (2)의 M개의 선택된 구성요소 핵산 분자를 물리적으로 조립하여 특정된 구성요소를 포함하는 제1 식별자 핵산 분자를 형성하는 것 - 특정된 구성요소는 적어도 하나의 표적 분자를 포함하여 특정된 구성요소를 함유하는 식별자의 액세스를 가능하게 함 - , (c) 각각 특정된 구성요소를 갖는 복수의 추가 식별자 핵산 분자를 물리적으로 조립하는 단계 - 특정된 구성요소는 (b)의 제1 식별자 핵산 분자의 적어도 하나의 표적 분자를 포함함으로써, 프로브가 심볼의 스트링 내 연속 심볼 위치를 갖는 각자의 심볼에 대응하는 적어도 두 개의 식별자 핵산 분자를 선택할 수 있게 함 - , 및 (d) (b) 및 (c)의 식별자 핵산 분자를 분말, 액체, 또는 고체 형태를 갖는 풀에 수집하는 단계를 포함하는, 방법.
일반적으로, 본 명세서에 설명된 주제 및 기능적 동작의 측면은 본 명세서에 개시된 구조 및 그 구조적 등가물을 포함하는 디지털 전자 회로, 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서 구현될 수 있다. 본 명세서에 설명된 주제의 측면은 하나 이상의 컴퓨터 프로그램 제품, 즉 데이터 처리 장치에 의해 실행되거나 데이터 처리 장치의 동작을 제어하기 위해 컴퓨터 판독 가능 매체에 인코딩된 컴퓨터 프로그램 명령의 하나 이상의 모듈로 구현될 수 있다. 컴퓨터 판독 가능 매체는 기계 판독 가능 저장 장치, 기계 판독 가능 저장 기판, 메모리 장치, 기계 판독 가능 전파 신호에 영향을 미치는 물질의 구성, 또는 이들 중 하나 이상의 조합일 수 있다. "데이터 처리 장치"라는 용어는 예를 들어 프로그래밍 가능한 프로세서, 컴퓨터, 또는 다중 프로세서 또는 컴퓨터를 포함하여 데이터를 처리하기 위한 모든 장치, 장치 및 기계를 포함한다. 장치는 하드웨어 이외에 문제의 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나 또는 그 조합을 구성하는 코드를 포함할 수 있다. 전파된 신호는 인공적으로 생성된 신호, 예를 들어 적절한 수신기 장치로 전송하기 위해 정보를 인코딩하기 위해 생성된 기계 생성 전기, 광학 또는 전자기 신호이다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 응용 프로그램, 스크립트 또는 코드라고도 함)은 컴파일된 언어나 해석된 언어를 포함하여 모든 형태의 프로그래밍 언어로 작성될 수 있으며 임의의 형태로, 가령, 독립형 프로그램 또는 모듈, 구성요소, 서브루틴, 또는 컴퓨팅 환경에서 사용되기에 적합한 그 밖의 다른 유닛으로 배포될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 해당할 수 있다. 프로그램은 다른 프로그램이나 데이터(가령 마크업 언어 문서에 저장된 하나 이상의 스크립트)를 보유하는 파일의 일부, 해당 프로그램 전용 단일 파일 또는 여러 개의 조정된 파일(가령, 하나 이상의 모듈, 하위 프로그램 또는 코드 일부를 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는 한 사이트에 위치하거나 여러 사이트에 걸쳐 분산되고 통신 네트워크로 연결된 여러 컴퓨터에서 실행되도록 배포될 수 있다.
본 명세서에 설명된 프로세스 및 논리 흐름은 입력 데이터에 대해 작동하고 출력을 생성함으로써 기능을 수행하는 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그래밍 가능한 프로세서에 의해 수행될 수 있다. 프로세스 및 논리 흐름은 또한 특수 목적 논리 회로, 예를 들어 FPGA(필드 프로그래밍 가능 게이트 어레이) 또는 ASIC(응용프로그램 특정 집적 회로)에 의해 수행될 수 있고 장치도 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서에는 예를 들어 범용 및 특수 목적 마이크로프로세서, 그리고 모든 종류의 디지털 컴퓨터의 하나 이상의 프로세서가 포함된다. 일반적으로 프로세서는 읽기 전용 메모리나 랜덤 액세스 메모리 또는 둘 다로부터 명령과 데이터를 수신한다. 컴퓨터의 필수 요소는 명령을 수행하는 프로세서와 명령 및 데이터를 저장하는 하나 이상의 메모리 장치이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치, 예를 들어 자기, 광자기 디스크 또는 광 디스크로부터 데이터를 수신하거나 전송하거나 둘 모두를 포함하거나 작동 가능하게 결합될 것이다. 그러나 컴퓨터에 그러한 장치가 있을 필요는 없다.
본 발명의 바람직한 실시예가 본 명세서에 도시되고 설명되었지만, 이러한 실시예는 단지 예로서 제공된다는 것이 통상의 기술자자에게 명백할 것이다. 본 발명은 명세서 내에 제공된 특정 실시예에 의해 제한되도록 의도되지 않는다. 본 발명은 전술한 명세서를 참조하여 설명되었지만, 본 명세서의 실시예의 설명 및 예시는 제한적인 의미로 해석되는 것을 의미하지 않는다. 본 발명을 벗어나지 않으면서 당업자는 다양한 변형, 변화 및 대체를 할 수 있을 것이다. 또한, 본 발명의 모든 측면은 다양한 조건 및 변수에 따라 달라지는 본 명세서에 제시된 특정 묘사, 구성 또는 상대적 비율에 제한되지 않는다는 것이 이해되어야 한다. 본 명세서에 기술된 본 발명의 실시예에 대한 다양한 대안이 본 발명을 실시하는데 채용될 수 있다는 것을 이해해야 한다. 따라서 본 발명은 그러한 대안, 수정, 변형 또는 등가물도 포함해야 한다. 다음의 청구범위는 본 발명의 범위를 정의하고, 이들 청구범위 및 그 등가물 범위 내의 방법 및 구조가 이에 의해 포괄되도록 의도된다. 본 명세서에 인용된 모든 참고문헌은 그 전체가 참고로 포함되어 있으며 본 출원의 일부를 구성한다.

Claims (21)

  1. 정보를 핵산 서열로 기록하기 위한 방법으로서, 상기 방법은,
    제1 고정 소수점 숫자를 획득하는 단계,
    성분 핵산 서열의 정렬된 서브세트를 각각 포함하는 식별자 핵산 서열의 조합 공간을 정의하는 성분 핵산 서열의 라이브러리를 획득하는 단계,
    조합 공간에서 식별자 핵산 서열의 제1 서브세트를 제1 서브세트의 식별자 핵산 서열의 수에 대응하는 코드워드 크기를 갖는 제1 코드워드로서 식별하는 단계,
    제1 서브세트의 개별 식별자 핵산 서열을 갖는 하나 이상의 식별자 핵산 분자의 제1 세트를 형성하는 단계 - 코드워드 크기에 대한 제1 세트에 표현된 개별 식별자 핵산 서열의 수의 비가 제1 고정 소수점 숫자를 근사함 - 를 포함하는, 방법.
  2. 제1항에 있어서, 성분 핵산 서열의 라이브러리는 복수의 층을 포함하고, 각 층은 성분 핵산 서열의 서브세트를 포함하고, 각각의 식별자 핵산 서열은 각 층으로부터의 하나의 성분 핵산 서열을 포함하는, 방법.
  3. 제1항 또는 제2항에 있어서, 상기 제1 고정 소수점 숫자는 값 x를 갖고, 코드워드 크기는 w이고, k개의 식별자 핵산 분자가 상기 제1 세트에 형성되어, 상기 비는 k/w이고, 대략 x와 동일한, 방법.
  4. 제3항에 있어서, k/w는 x의 ±20% 이내인, 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 코드워드 크기는 적어도 8인, 방법.
  6. 제5항에 있어서, 상기 코드워드 크기는 적어도 256인, 방법.
  7. 제6항에 있어서, 상기 코드워드 크기는 적어도 512인, 방법.
  8. 제7항에 있어서, 상기 코드워드 크기는 적어도 1024인, 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서, 상기 방법은,
    제2 고정 소수점 숫자를 획득하는 단계,
    조합 공간에서 식별자 핵산 서열의 제2 서브세트를 제1 코드워드의 코드워드 크기를 갖고 제2 서브세트 내 식별자 핵산 서열의 수에 대응하는 제2 코드워드로서 식별하는 단계, 및
    제2 서브세트의 개별 식별자 핵산 서열을 갖는 하나 이상의 식별자 핵산 분자의 제2 세트를 형성하는 단계 - 코드워드 크기에 대한 제2 세트의 개별 식별자 핵산 서열의 수의 비가 제2 고정 소수점 숫자를 근사함 - 를 더 포함하는, 방법.
  10. 제9항에 있어서, 합 풀(sum pool)을 획득하기 위해 제1 세트와 제2 세트를 풀링하고,
    스케일된 합 풀을 얻기 위해 풀링된 세트를 희석함으로써,
    상기 제1 고정 소수점 숫자와 상기 제2 고정 소수점 숫자를 더하는 단계를 더 포함하는, 방법.
  11. 제9항에 있어서, 인수 풀(factor pool)을 얻기 위해 제1 세트와 제2 세트를 풀링하고,
    곱 풀(product pool)을 얻기 위해 식별자 핵산 분자의 제1 세트 및 제2 세트에 화학적 AND 연산을 적용함으로써,
    상기 제1 고정 소수점 숫자와 상기 제2 고정 소수점 숫자를 곱하는 단계를 더 포함하는, 방법.
  12. 제11항에 있어서, 상기 화학적 AND 연산은,
    식별자 핵산 분자를 단일-가닥 식별자 핵산 분자로 변환하는 단계,
    상보적인 식별자 핵산 분자를 혼성화하는 단계, 및
    완전 혼성화된 이중-가닥 핵산 분자를 선택하여 곱 풀을 획득하는 단계를 포함하는, 방법.
  13. 제12항에 있어서, 선택하는 것은 단일-가닥 핵산 분자를 선택적으로 분해하는 효소 또는 서열 불일치를 갖는 이중-가닥 핵산 분자를 선택적으로 분해하는 효소 중 적어도 하나를 사용하는 것을 포함하는, 방법.
  14. 제9항에 있어서, 상기 방법은,
    합 풀(sum pool)을 획득하기 위해 제1 세트와 제2 세트를 풀링하는 단계, 및
    곱 풀(product pool)을 획득하기 위해 식별자 핵산 분자의 제1 세트 및 제2 세트에 화학적 OR 연산을 적용하는 단계를 더 포함하는, 방법.
  15. 제14항에 있어서, 제1 세트와 제2 세트를 혼합하는 단계를 포함하는, 방법.
  16. 제9항에 있어서, 상기 방법은,
    인수 풀(factor pool)을 획득하기 위해 제1 세트와 제2 세트를 풀링하는 단계, 및
    곱 풀(product pool)을 획득하기 위해 식별자 핵산 분자의 제1 세트 및 제2 세트에 화학적 NIMPLY 연산을 적용하는 단계를 더 포함하는, 방법.
  17. 제16항에 있어서, 상기 화학적 NIMPLY 연산은,
    식별자 핵산 분자를 단일-가닥 식별자 핵산 분자로 변환하는 단계 - 상기 제2 세트의 단일-가닥 식별자 핵산 분자는 친화성 태그를 포함함 - ,
    제2 세트의 몰 과량의 단일-가닥 식별자 핵산 분자를 제공하는 단계,
    상보적인 식별자 핵산 분자를 혼성화하는 단계, 및
    완전 혼성화된 이중-가닥 핵산 분자를 선택함으로써, 친화성 태그에 대한 특이적 포획 메커니즘을 사용해 곱 풀을 획득하는 단계를 포함하는, 방법.
  18. 제9항에 있어서, 상기 방법은,
    인수 풀(factor pool)을 획득하기 위해 제1 세트와 제2 세트를 풀링하는 단계, 및
    곱 풀(product pool)을 획득하기 위해 식별자 핵산 분자의 제1 세트 및 제2 세트에 화학적 NOT 연산을 적용하는 단계를 더 포함하는, 방법.
  19. 제18항에 있어서, 상기 화학적 NOT 연산은,
    식별자 핵산 분자를 단일-가닥 식별자 핵산 분자로 변환하는 단계 - 상기 제2 세트의 단일-가닥 식별자 핵산 분자는 친화성 태그를 포함함 - ,
    제1 세트의 몰 과량의 단일-가닥 식별자 핵산 분자를 제공하는 단계,
    상보적인 식별자 핵산 분자를 혼성화하는 단계, 및
    완전 혼성화된 이중-가닥 핵산 분자를 선택함으로써, 친화성 태그에 대한 특이적 포획 메커니즘을 사용해 곱 풀을 획득하는 단계를 포함하는, 방법.
  20. 제9항에 있어서, 상기 방법은,
    인수 풀(factor pool)을 획득하기 위해 제1 세트와 제2 세트를 풀링하는 단계, 및
    곱 풀(product pool)을 획득하기 위해 식별자 핵산 분자의 제1 세트 및 제2 세트에 화학적 XOR 연산을 적용하는 단계를 더 포함하는, 방법.
  21. 제21항에 있어서, 상기 화학적 XOR 연산은,
    두 개의 NIMPLY 연산을 수행한 후 OR 연산을 수행하는 단계를 포함하는, 방법.
KR1020237036551A 2021-03-24 2022-03-18 고정 소수점 숫자 표현 및 계산 회로 KR20230160898A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163165507P 2021-03-24 2021-03-24
US63/165,507 2021-03-24
PCT/US2022/020949 WO2022203958A1 (en) 2021-03-24 2022-03-18 Fixed point number representation and computation circuits

Publications (1)

Publication Number Publication Date
KR20230160898A true KR20230160898A (ko) 2023-11-24

Family

ID=81386824

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237036551A KR20230160898A (ko) 2021-03-24 2022-03-18 고정 소수점 숫자 표현 및 계산 회로

Country Status (6)

Country Link
EP (1) EP4315336A1 (ko)
JP (1) JP2024514430A (ko)
KR (1) KR20230160898A (ko)
AU (1) AU2022245140A1 (ko)
CA (1) CA3214604A1 (ko)
WO (1) WO2022203958A1 (ko)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5821886A (en) * 1996-10-18 1998-10-13 Samsung Electronics Company, Ltd. Variable length code detection in a signal processing system
AU6846698A (en) 1997-04-01 1998-10-22 Glaxo Group Limited Method of nucleic acid amplification
US7501245B2 (en) 1999-06-28 2009-03-10 Helicos Biosciences Corp. Methods and apparatuses for analyzing polynucleotide sequences
AU2017363146B2 (en) 2016-11-16 2023-11-02 Catalog Technologies, Inc. Systems for nucleic acid-based data storage
US10650312B2 (en) 2016-11-16 2020-05-12 Catalog Technologies, Inc. Nucleic acid-based data storage
US11093865B2 (en) * 2018-06-20 2021-08-17 Brown University Methods of chemical computation
EP3904527A4 (en) * 2018-12-26 2022-08-10 BGI Shenzhen METHOD AND APPARATUS FOR FIXED-POINT EDITING OF A DATA-STORED NUCLEOTIDE SEQUENCE

Also Published As

Publication number Publication date
EP4315336A1 (en) 2024-02-07
CA3214604A1 (en) 2022-09-29
JP2024514430A (ja) 2024-04-02
AU2022245140A1 (en) 2023-09-28
WO2022203958A1 (en) 2022-09-29

Similar Documents

Publication Publication Date Title
US11227219B2 (en) Compositions and methods for nucleic acid-based data storage
US11379729B2 (en) Nucleic acid-based data storage
US20230376788A1 (en) Nucleic acid-based data storage
US12006497B2 (en) Chemical methods for nucleic acid-based data storage
JP2022551186A (ja) 核酸セキュリティーおよび認証
US20230308275A1 (en) Nucleic acid storage for blockchain and non-fungible tokens
KR20230160898A (ko) 고정 소수점 숫자 표현 및 계산 회로
KR20240153382A (ko) 핵산-기반 데이터 저장 및 처리를 위한 dna 마이크로어레이 및 구성요소 수준 시퀀싱
WO2023168085A1 (en) Dna microarrays and component level sequencing for nucleic acid-based data storage and processing
WO2023177864A1 (en) Combinatorial enumeration and search for nucleic acid-based data storage