KR20220080172A - 핵산 보안 및 인증 - Google Patents

핵산 보안 및 인증 Download PDF

Info

Publication number
KR20220080172A
KR20220080172A KR1020227015875A KR20227015875A KR20220080172A KR 20220080172 A KR20220080172 A KR 20220080172A KR 1020227015875 A KR1020227015875 A KR 1020227015875A KR 20227015875 A KR20227015875 A KR 20227015875A KR 20220080172 A KR20220080172 A KR 20220080172A
Authority
KR
South Korea
Prior art keywords
nucleic acid
library
identifier
information
identifiers
Prior art date
Application number
KR1020227015875A
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 KR20220080172A publication Critical patent/KR20220080172A/ko

Links

Images

Classifications

    • 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
    • C12Q1/6869Methods for sequencing
    • CCHEMISTRY; METALLURGY
    • C12BIOCHEMISTRY; BEER; SPIRITS; WINE; VINEGAR; MICROBIOLOGY; ENZYMOLOGY; MUTATION OR GENETIC ENGINEERING
    • C12NMICROORGANISMS OR ENZYMES; COMPOSITIONS THEREOF; PROPAGATING, PRESERVING, OR MAINTAINING MICROORGANISMS; MUTATION OR GENETIC ENGINEERING; CULTURE MEDIA
    • C12N15/00Mutation or genetic engineering; DNA or RNA concerning genetic engineering, vectors, e.g. plasmids, or their isolation, preparation or purification; Use of hosts therefor
    • C12N15/09Recombinant DNA-technology
    • C12N15/10Processes for the isolation, preparation or purification of DNA or RNA
    • C12N15/1034Isolating an individual clone by screening libraries
    • C12N15/1065Preparation or screening of tagged libraries, e.g. tagged microorganisms by STM-mutagenesis, tagged polynucleotides, gene tags
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/002Biomolecular computers, i.e. using biomolecules, proteins, cells
    • 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
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • 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
    • C12Q2563/00Nucleic acid detection characterized by the use of physical, structural and functional properties
    • C12Q2563/179Nucleic acid detection characterized by the use of physical, structural and functional properties the label being a nucleic acid
    • 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
    • C12Q2565/00Nucleic acid analysis characterised by mode or means of detection
    • C12Q2565/50Detection characterised by immobilisation to a surface
    • C12Q2565/514Detection characterised by immobilisation to a surface characterised by the use of the arrayed oligonucleotides as identifier tags, e.g. universal addressable array, anti-tag or tag complement array

Landscapes

  • Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Chemical & Material Sciences (AREA)
  • Biophysics (AREA)
  • Genetics & Genomics (AREA)
  • Organic Chemistry (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Biomedical Technology (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Wood Science & Technology (AREA)
  • Zoology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Biotechnology (AREA)
  • Proteomics, Peptides & Aminoacids (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Biochemistry (AREA)
  • Microbiology (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Plant Pathology (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Analytical Chemistry (AREA)
  • Immunology (AREA)
  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)

Abstract

정보를 인코딩하는 핵산(예: 디옥시리보핵산) 분자를 사용하여 보안, 인증, 태그지정 및 추적을 위한 방법 및 시스템이 개시된다. 고유한 핵산 분자는 사전 제작된 단편으로부터 효율적으로 생산되어 암호화되거나 무작위화된 정보를 인코딩하는 핵산 분자의 라이브러리를 신속하게 생성한다. 물리적 객체 또는 아티팩트는 라이브러리로 태그지정되어 객체를 인증하고, 보안 자산 또는 위치에 대한 액세스 권한을 부여하거나, 객체 또는 개체를 추적할 수 있다. 라이브러리에 저장된 정보의 진위 여부를 확인하고 해독하거나 디코딩하기 위해 화학적 방법을 적용할 수 있다.

Description

핵산 보안 및 인증
관련 출원에 대한 상호 참조
본 출원은 2019년 10월 11일에 출원된, "DNA STORAGE FOR SECURITY AND AUTHENTICATION"이라는 명칭의 미국 가특허출원 제 62/914,086에 대한 우선권 및 혜택을 주장하며, 그 전체 내용은 본 발명에 참조로 포함된다.
핵산 디지털 데이터 저장은 자기 테이프 또는 하드 드라이브 저장 시스템보다 더 높은 밀도로 데이터를 저장하면서 장기간 동안 정보를 인코딩하고 저장하기 위한 안정적인 접근 방식이다. 또한 춥고 건조한 조건에서 저장된 핵산 분자에 저장된 디지털 데이터는 60,000년 또는 그 이상까지 검색할 수 있다.
현재의 방법은 서열 내 염기 대 염기 관계가 디지털 정보(예를 들어, 이진 코드)로 직접 번역되도록 디지털 정보(예를 들어, 이진 코드)를 염기별 핵산 서열로 인코딩하는 것에 의존한다. 디지털로 인코딩된 정보의 비트 스트림 또는 바이트로 읽을 수 있는 염기별 서열에 저장된 디지털 데이터의 시퀀싱은 오류가 발생하기 쉽고 비용이 비싼 편이며, 이는 새로운 염기별 핵산 합성 비용이 값비싸기 때문이다. 핵산 디지털 데이터 저장을 수행하는 새로운 방법에 대한 기회는 비용이 덜 들고 상업적으로 구현하기 쉬운 데이터를 인코딩하고 불러오기 위한 접근 방식을 제공할 수 있다.
본 명세서에는 풀 내 고유한 핵산 서열의 존재 또는 부재로 비트 값 정보를 인코딩함으로써 염기별 합성없이 핵산(예를 들어, 데옥시리보핵산, DNA) 분자에서 디지털 정보를 인코딩하는 방법 및 시스템이 제공되며, 고유한 핵산 서열로 비트스트림 내 각 비트 위치를 지정하는 단계, 및 풀 내의 대응하는 고유 핵산 서열의 존재 여부에 의해 해당 위치에서의 비트 값을 지정하는 단계를 포함한다. 이러한 인코딩된 핵산 분자는 민감한 정보를 인코딩하거나 아주 작은 화학적 양의 정보로 아티팩트를 태그지정하는 데 특히 유용하다. 아티팩트를 정보를 인코딩하는 핵산 분자의 양과 연관시킴으로써, 아티팩트가 안전한 인증 또는 아티팩트의 출처 추적에 사용될 수 있도록, 외부 사용자에게 쉽게 명백하지 않은 방식으로 아티팩트가 고유하게 태그지정될 수 있다.
일 양태에서, 추적 또는 인증을 위해 유체를 태그지정하는 방법이 여기에 제공된다. 방법은 디지털 정보를 나타내는 핵산 분자의 라이브러리를 얻는 단계, 및 추적 또는 인증을 위한 태그지정된 유체를 얻도록 핵산 분자의 라이브러리를 포함하는 태그와 유체를 결합하는 단계를 포함한다. 유체에 태그를 지정하는 것은 유체, 그 기원, 제조 날짜 또는 유체의 기타 특성을 고유하게 식별하도록 라이브러리를 설계할 수 있기 때문에, 귀중한 연료 또는 의약품과 같은 유체의 진위를 인증하는 데 유리할 수 있다.
일부 구현에서, 방법은 태그지정된 유체를 샘플링하여 핵산 분자 라이브러리의 적어도 일부를 함유하는 샘플을 얻는 단계를 추가로 포함한다. 샘플링에는 태그 또는 태그지정된 유체에서 면봉을 사용하거나 볼륨을 들어내는 작업이 포함될 수 있다. 일부 구현에서, 방법은 시퀀싱 판독값을 얻기 위해 샘플의 핵산 분자를 시퀀싱하는 단계를 추가로 포함한다. 시퀀싱 판독값은 일치하는 서열의 존재를 결정하기 위해 참조 서열과 비교될 수 있다. 따라서 라이브러리에 의해 인코딩된 정보가 결정될 수 있고 유체가 인증되거나 식별될 수 있다.
유체는 오일, 잉크, 압축 가스 또는 약물 중 어느 하나일 수 있다. 일부 구현에서, 방법은 희석의 양을 결정하기 위해 태깅된 유체 내의 태그의 농도를 측정하는 단계를 더 포함한다. 이 단계는 유체가 변조되었는지 확인하는 데 유용하다.
일부 구현에서, 태그는 태그-별 분자 바코드를 포함한다. 정보는 메시지 또는 통화 값을 포함할 수 있다. 정보는 적어도 1킬로비트의 정보를 포함할 수 있다. 일부 구현들에서, 방법은 태깅된 유체에 액세스함으로써 태깅된 유체 내의 태그가 붕괴되게 하는 단계를 더 포함한다. 일부 구현에서 태그는 2단계 인증 시스템의 일부이다.
일부 구현에서, 라이브러리는 무작위로 생성된다. 일부 구현에서, 라이브러리는 핵산 분자의 풀로부터 핵산 분자의 서브세트를 선택함으로써 생성된다. 일부 구현에서, 정보는 복수의 기호를 포함하고, 각 기호는 라이브러리의 핵산 분자의 별개의 서열로 표시된다. 일부 구현에서, 정보는 인코딩 방식을 통해 핵산 분자의 라이브러리에 의해 표현되고, 여기서 정보는 2개의 가능한 기호 값 중 하나를 갖는 복수의 기호에 매핑되고, 여기서 복수의 기호 중 일 기호는 기호가 2개의 가능한 기호 값의 첫 번째 기호 값을 갖는 경우 라이브러리 내 별개의 핵산 분자의 존재에 의해 표현되고, 기호가 2개의 가능한 기호 값 중 두 번째 기호 값을 갖는 경우 기호는 별개의 핵산 분자의 부재에 의해 표현된다.
또 다른 양태에서, 보안 및 인증에 사용하기 위한 핵산 분자의 라이브러리를 제조하는 방법이 본원에 제공된다. 이 방법은 보안 토큰을 나타내는 핵산 분자의 라이브러리를 획득하는 단계와, 보안 토큰을 나타내는 라이브러리에 화학적 작용을 적용하여 해시된 토큰을 나타내는 핵산 분자의 해시 라이브러리를 얻는 단계를 포함한다. 이 방법은 사전-해시 라이브러리의 서열이 절대 노출되지 않도록 핵산 분자의 라이브러리를 읽기 전에 토큰을 해시하여 보안 토큰의 값을 에어갭(air-gapping)함으로써 기존의 방법보다 유리하다.
일부 구현에서, 화학적 작용은 보안 토큰에 대한 하나 이상의 부울 함수에 영향을 준다. 예를 들어, 하나 이상의 부울 함수는 해시 함수를 보안 토큰에 적용하여 해시 라이브러리가 나타내는 해시 토큰을 얻을 수 있다. 일부 구현에서 해시 라이브러리는 라이브러리의 서브세트이다.
일부 구현에서, 방법은 해시된 라이브러리의 핵산 분자의 적어도 일부를 시퀀싱하여 시퀀싱 판독값을 얻는 단계를 추가로 포함한다. 시퀀싱 판독값은 일치하는 서열의 존재 또는 부재를 결정하기 위해 데이터베이스 또는 순람표와 비교될 수 있다. 방법은 각각 매칭 서열의 존재 또는 부재 결정에 기초하여 보안 자산 또는 위치에 대한 액세스를 승인하거나 거부하는 단계를 더 포함할 수 있다. 예를 들어, 시퀀싱은 고처리량 시퀀싱, 샷건 시퀀싱 또는 나노포어 시퀀싱 중 어느 하나를 포함한다.
일부 구현에서, 방법은 해시된 토큰이 참조 서열과 일치하는 경우 출력 분자를 생성하기 위해 해시된 라이브러리에 추가 화학적 작업을 적용하는 단계, 및 분석을 통해 출력 분자의 존재 또는 부재를 결정하는 단계를 추가로 포함한다. 예를 들어, 분석은 폴리머라제연쇄반응(PCR), 실시간 PCR, 역전사 PCR(RT-PCR), 형광측정법 및 겔 전기영동 중 하나이다. 출력 분자는 해시된 라이브러리의 별개의 핵산 분자일 수 있다. 일부 구현에서, 방법은 출력 분자의 존재에 기초하여 보안 자산 또는 위치에 대한 액세스를 허용하거나 거부하는 단계를 추가로 포함한다. 출력 분자를 생성하기 위해 해시된 토큰을 화학적으로 검증하는 이러한 구현은 해시된 라이브러리의 시퀀싱에 대한 필요성을 제거한다는 점에서 유리하다. 오히려 해시된 라이브러리는 보안 토큰의 신뢰성을 결정하기 위해 시퀀싱보다 저렴하거나 더 빠를 수 있는 추가 화학적 작업을 거친다.
일부 구현에서, 라이브러리는 고유한 분자 바코드를 포함한다. 일부 구현에서, 보안 토큰은 무작위로 생성된 키를 포함한다. 일부 구현에서 보안 토큰은 2단계 인증 시스템의 일부이다. 일부 구현에서, 라이브러리는 아티팩트와 함께 배치되고, 여기서 보안 토큰은 아티팩트에 고유하다. 예를 들어, 아티팩트는 유체이다. 유체는 오일, 잉크, 압축 가스 또는 약물 중 어느 하나일 수 있다. 일부 구현에서, 방법은 희석액의 양을 결정하기 위해 유체 내 라이브러리의 농도를 측정하는 단계를 추가로 포함한다. 또 다른 예로, 아티팩트는 유기체 또는 문서이다. 일부 구현에서 라이브러리는 웰(well), 액적, 반점(spot), 밀봉된 용기, 겔, 현탁액 또는 고체 매트릭스 중 어느 하나에 포함된다. 일부 구현에서 라이브러리는 동결건조된다.
일부 구현에서, 라이브러리는 핵산 분자의 풀로부터 핵산 분자의 서브세트를 선택함으로써 생성된다. 일부 구현에서, 보안 토큰은 복수의 기호를 포함하고, 각 기호는 라이브러리의 핵산 분자의 별개의 서열로 표시된다. 일부 구현에서 라이브러리는 무작위로 생성된다. 일부 구현에서, 보안 토큰은 인코딩 방식을 통해 핵산 분자의 라이브러리에 의해 표현되며, 여기서 보안 토큰은 2개의 가능한 기호 값 중 하나를 갖는 복수의 기호에 매핑되며, 여기서 복수의 기호 중 일 기호는 기호가 2개의 가능한 기호 값 중 첫 번째 기호 값을 갖는 경우 라이브러리 내 별개의 핵산 분자의 존재에 의해 표현되고, 기호가 2개의 기호 값 중 두 번째 기호 값을 갖는 경우 기호는 별개의 핵산 분자의 부재에 의해 표현된다. 일부 구현에서, 보안 토큰은 적어도 1 킬로비트의 정보를 포함한다. 일부 구현에서 보안 토큰은 사용자에게 고유하다.
본 개시내용의 추가적인 측면 및 이점은 본 개시내용의 예시적인 구현만이 도시되고 설명되는 다음의 상세한 설명으로부터 당업자에게 용이하게 명백해질 것이다. 인식되는 바와 같이, 본 개시는 다른 그리고 상이한 구현이 가능하고, 그의 몇몇 세부사항은 개시로부터 벗어남이 없이 다양한 명백한 측면에서 수정될 수 있다. 따라서, 도면 및 설명은 본질적으로 예시적인 것으로 간주되어야 하며 제한적인 것으로 간주되어서는 안 된다.
[참조에 의한 포함]
본 명세서에 언급된 모든 간행물, 특허 및 특허 출원은 각각의 개별 간행물, 특허 또는 특허 출원이 참조로 포함되는 것으로 구체적이고 개별적으로 표시된 것과 동일한 정도로 참조로 여기에 포함된다. 참고로 포함된 간행물 및 특허 또는 특허 출원이 명세서에 포함된 개시 내용과 모순되는 한, 명세서는 그러한 모순되는 자료를 대체 및/또는 우선한다.
본 발명의 신규한 특징은 첨부된 청구범위에서 구체적으로 설명된다. 본 발명의 특징 및 이점에 대한 더 나은 이해는 본 발명의 원리가 활용되는 예시적인 구현을 설명하는 다음의 상세한 설명과 첨부 도면(여기서 또한 "도면" 및 "도")을 참조하여 획득될 것이다, 그 중:
도 1은 예시적인 구현에 따라 핵산 서열에 저장된 디지털 정보를 인코딩, 기입, 액세스, 질의, 판독 및 디코딩하기 위한 프로세스의 개요를 개략적으로 도시한다.
도 2a 및 2b는 객체 또는 식별자(예를 들어, 핵산 분자)를 사용하여 "데이터 앳 어드레스"(data at address)로 지칭되는 디지털 데이터를 인코딩하는 예시적인 방법을 개략적으로 도시한다. 도 2a는 예시적인 구현에 따라 식별자를 생성하기 위해 순위 객체(또는 어드레스 객체)를 바이트-값 객체(또는 데이터 객체)와 결합하는 것을 예시한다. 도 2b는 예시적인 구현에 따른, 순위 객체 및 바이트-값 객체 그 자체가 다른 객체의 조합 연결인 데이터 앳 어드레스 방법의 구현을 도시한다.
도 3a 및 3b는 객체 또는 식별자(예를 들어, 핵산 서열)를 사용하여 디지털 정보를 인코딩하는 예시적인 방법을 개략적으로 도시한다. 도 3a는 예시적인 구현에 따른, 식별자로서 순위 객체를 사용하여 디지털 정보를 인코딩하는 것을 예시한다. 도 3b는 예시적인 구현에 따른, 어드레스 객체 자체가 다른 객체의 조합 연결인 인코딩 방법의 구현을 도시한다.
도 4는 예시적인 구현에 따라, 주어진 크기(윤곽선)의 정보를 저장하도록 구성될 수 있는 평균 개수의 식별자(k, y축) 및 가능한 식별자(C, x-축)의 조합 공간 간의 관계에 대한 로그 공간에서의 윤곽 플롯을 도시한다.
도 5는 예시적인 구현에 따른, 핵산 서열(예를 들어, 데옥시리보핵산)에 정보를 기입하는 방법의 개요를 개략적으로 도시한다.
도 6a 및 6b는 별개의 구성요소(예를 들어, 핵산 서열)를 조합적으로 조립함으로써 식별자(예를 들어, 핵산 분자)를 구성하기 위한 "제품 방식"으로 지칭되는 예시적인 방법을 도시한다. 도 6a는 예시적인 구현에 따른, 제품 방식을 사용하여 구성된 식별자의 아키텍처를 도시한다. 도 6b는 예시적인 구현에 따른, 제품 방식을 사용하여 구성될 수 있는 식별자의 조합 공간의 예를 도시한다.
도 7a 내지 도 7c는 다수의 식별자로부터 다수의 특정 식별자에 접근함으로써 핵산 서열에 저장된 정보의 일부에 접근하기 위한 예시적인 방법의 개요를 개략적으로 도시한다. 도 7a는 예시적인 구현에 따라 폴리머라제 연쇄 반응, 친화성 태그가 지정된 프로브 및 분해 표적화 프로브를 사용하여 특정 구성요소를 포함하는 식별자에 액세스하기 위한 예시적인 방법을 보여준다. 도 7b는 예시적인 구현에 따라, 다중 특정 구성요소를 포함하는 식별자에 접근하기 위해 'OR' 또는 'AND' 작업을 수행하기 위해 폴리머라제 연쇄 반응을 사용하기 위한 예시적인 방법을 보여준다. 도 7c는 예시적인 구현에 따라, 다수의 특정 구성요소를 포함하는 식별자에 액세스하기 위해 'OR' 또는 'AND' 연산을 수행하기 위해 친화성 태그를 사용하기 위한 예시적인 방법을 도시한다.
도 8은 예시적인 구현에 따라, 본 명세서에 제공된 방법을 구현하도록 프로그래밍되거나 그렇지 않으면 구성된 컴퓨터 시스템을 도시한다.
도 9는 예시적인 구현에 따른, 식별자 풀에 정의된 연산을 사용하여 계산을 위해 준비된 2개의 소스 비트스트림 및 범용 식별자 라이브러리의 예를 도시한다.
도 10은 예시적인 구현에 따라, 식별자 라이브러리가 시험관내 계산을 위한 플랫폼으로서 어떻게 사용될 수 있는지를 예시하는 식별자의 풀에 대해 수행되는 논리 연산의 3가지 예에 대한 입력 및 결과를 도시한다.
도 11은 예시적인 구현에 따른, 랜덤 비트 스트링을 생성하는데 사용될 수 있는 엔트로피를 생성하기 위한 예시적인 방법을 도시한다.
도 12a 내지 도 12c는 예시적인 구현에 따른 엔트로피(랜덤 비트 스트링)를 생성 및 저장하기 위한 예시적인 방법을 도시한다.
도 13a 내지 도 13b는 예시적인 구현에 따른, 입력을 사용하여 랜덤 비트 스트링을 구성하고 액세스하기 위한 예시적인 방법을 도시한다.
도 14는 예시적인 구현에 따른, 물리적 DNA 키를 사용하여 아티팩트에 대한 액세스를 보호하고 인증하기 위한 예시적인 방법을 도시한다.
도 15는 예시적인 구현에 따른, 인증을 위한 핵산 라이브러리를 준비하기 위한 방법을 설명하는 흐름도를 도시한다.
도 16은 예시적인 구현에 따른, 추적 또는 인증을 위해 핵산 태그로 유체를 태깅하는 방법을 설명하는 흐름도를 도시한다. 그리고
도 17a 및 17b는 핵산 분자에 인코딩된 데이터를 인코딩, 기록 및 판독하는 예를 도시한다. 도 17a는 예시적인 구현에 따른, 5,856비트의 데이터를 인코딩, 기록 및 판독하는 예를 도시한다. 도 17b는 예시적인 구현에 따른, 62,824비트의 데이터를 인코딩, 기록 및 판독하는 예를 도시한다.
본 발명의 다양한 구현이 여기에서 도시되고 설명되었지만, 그러한 구현이 단지 예로서 제공된다는 것이 당업자에게 명백할 것이다. 많은 변형, 변경 및 대체가 본 발명을 벗어남이 없이 당업자에게 발생할 수 있다. 여기에 설명된 본 발명의 구현에 대한 다양한 대안이 채용될 수 있음을 이해해야 한다.
본 명세서에서 사용되는 용어 "기호"(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개의 뉴클레오티드 염기의 특정 서열, 폴리뉴클레오티드가 RNA인 경우, 아데닌(A); 시토신(C); 구아닌(G), 티민(T) 또는 우라실(U)로 구성된다.
변형된 뉴클레오티드의 예는 디아미노퓨린, 5-플루오로우라실, 5-브로모우라실, 5-클로로우라실, 5-요오도우라실, 하이포크산틴, 크산틴, 4-아세틸시토신, 5-(카르복시히드록실메틸)우라실, 5-카르복시메틸아미노메틸-2-티오우리딘, 5-카르복시메틸아미노메틸우라실, 디히드로우라실, 베타-D-갈락토실퀘오신, 이노신, N6-이소펜테닐아데닌, 1-메틸구아닌, 1-메틸이노신, 2,2-디메틸구아닌, 2-메틸아데닌, 2-메틸구아닌, 3-메틸시토신, -메틸시토신, 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-디아미노푸리네, 등을 포함하나 이에 제한되지는 않는다. 핵산 분자는 또한 염기 모이어티에서(예를 들어, 상보적 뉴클레오티드와 수소 결합을 형성하는 데 전형적으로 이용가능한 하나 이상의 원자 및/또는 일반적으로 상보적 뉴클레오티드와 수소 결합을 형성할 수 없는 하나 이상의 원자에서), 당 모이어티 또는 포스페이트 백본에서 변형될 수 있다. 핵산 분자는 또한 N-히드록시 숙신이미드 에스테르(NHS)와 같은 아민 반응성 부분의 공유 부착을 허용하기 위해 아미노알릴-dUTP(aa-dUTP) 및 아미노헥실아크릴아미드-dCTP(aha-dCTP)와 같은 아민 변형된 기를 함유할 수 있다.
본원에 사용된 용어 "프라이머"는 일반적으로 폴리머라제 연쇄 반응(PCR)과 같은 핵산 합성을 위한 출발점으로 작용하는 핵산 가닥을 지칭한다. 예에서, DNA 샘플의 복제 동안, 복제를 촉매하는 효소는 DNA 샘플에 부착된 프라이머의 3'-말단에서 복제를 시작하고 반대쪽 가닥을 복사한다. 프라이머 디자인에 대한 세부 정보를 포함하여 PCR에 대한 자세한 내용은 화학적 방법 섹션 D를 참조할 수 있다.
본원에 사용된 용어 "폴리머라제" 또는 "폴리머라제 효소"는 일반적으로 폴리머라제 반응을 촉매할 수 있는 임의의 효소를 지칭한다. 폴리머라제의 예에는 핵산 폴리머라제가 포함되지만 이에 국한되지 않는다. 폴리머라제는 자연적으로 발생하거나 합성될 수 있다. 폴리머라제의 예는 Φ29 폴리머라제 또는 이의 유도체이다. 일부 경우에, 전사효소 또는 리가아제(즉, 결합 형성을 촉매하는 효소)가 폴리머라제와 함께 또는 폴리머라제의 대안으로 사용되어 새로운 핵산 서열을 구성한다. 폴리머라제의 예로는 DNA 폴리머라제, RNA 폴리머라제, 열안정성 폴리머라제, 야생형 폴리머라제, 변형 폴리머라제, E. 콜리 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 폴리머라제, Platinum Taq 폴리머라제, Tbr 폴리머라제, Tfl 폴리머라제, Pfutubo 폴리머라제, Pyrobest 폴리머라제, KOD 폴리머라제, Bst 폴리머라제, Sac 폴리머라제, 3'에서 5' 엑소뉴클레아제 활성을 갖는 Klenow 단편 폴리머라제, 및 변형, 변형 제품 및 파생 제품 및 그 유도체들이 있다. PCR과 함께 사용할 수 있는 추가 폴리머라제와, 폴리머라제 특성이 PCR에 미치는 영향에 대한 자세한 내용은 화학적 방법 섹션 D를 참조할 수 있다.
본원에 사용된 용어 "종"은 일반적으로 동일한 서열의 하나 이상의 DNA 분자(들)를 지칭한다. "종"이 복수의 의미로 사용되는 경우, 복수의 종의 모든 종은 별개의 서열을 가지고 있다고 가정할 수 있지만, 때때로 "종" 대신 "고유한 종"을 작성하여 명시적으로 만들 수 있다.
용어 "약" 및 "대략"은 상기 용어 다음에 오는 값의 ±20% 이내를 의미하는 것으로 이해되어야 한다.
이진 코드 형태의 컴퓨터 데이터와 같은 디지털 정보는 기호의 서열 또는 스트링을 포함할 수 있다. 이진 코드는 예를 들어 비트라고 하는 일반적으로 0과 1인 2개의 이진 기호를 갖는 이진수 시스템을 사용하여 텍스트 또는 컴퓨터 프로세서 명령을 인코딩하거나 나타낼 수 있다. 디지털 정보는 비이진 기호의 서열을 포함할 수 있는 비이진 코드의 형태로 표현될 수 있다. 각 인코딩된 기호는 고유한 비트 스트링(또는 "바이트")에 재할당될 수 있으며 고유한 비트 스트링 또는 바이트는 바이트 또는 바이트 스트림의 스트링으로 배열될 수 있다. 주어진 비트에 대한 비트 값은 두 기호(예: 0 또는 1) 중 하나일 수 있다. N 비트의 스트링을 구성할 수 있는 바이트는 총 2N의 고유한 바이트 값을 가질 수 있다. 예를 들어, 8비트로 구성된 바이트는 총 28개 또는 256개의 고유한 바이트 값을 생성할 수 있으며, 256바이트 각각은 바이트로 인코딩할 수 있는 256개의 가능한 개별 기호, 문자 또는 명령어 중 하나에 해당할 수 있다. 원시 데이터(예: 텍스트 파일 및 컴퓨터 명령)는 바이트 또는 바이트 스트림의 스트링으로 표시될 수 있다. Zip 파일 또는 원시 데이터로 구성된 압축 데이터 파일은 바이트 스트림에 저장할 수도 있다. 이러한 파일은 압축된 형식의 바이트 스트림으로 저장한 다음 컴퓨터에서 읽기 전에 원시 데이터로 압축을 해제할 수 있다.
본 개시의 방법 및 시스템은 컴퓨터 데이터 또는 정보를 복수의 식별자로 인코딩하는 데 사용될 수 있으며, 이들 각각은 원래 정보의 하나 이상의 비트를 나타낼 수 있다. 일부 예들에서, 본 개시물의 방법들 및 시스템들은 각각이 원래 정보의 2비트를 나타내는 식별자들을 사용하여 데이터 또는 정보를 인코딩한다.
디지털 정보를 핵산으로 인코딩하는 이전의 방법은 핵산의 염기별 합성에 의존했으며, 이는 비용과 시간이 많이 소요될 수 있다. 대체 방법은 효율성을 개선하고 디지털 정보를 인코딩하기 위한 염기별 핵산 합성에 대한 의존도를 줄임으로써 디지털 정보 저장의 상업적 실행 가능성을 개선하며 모든 새로운 정보 저장 요청에 대해 고유한 핵산 서열의 새로운 합성을 제거할 수 있다.
새로운 방법은 염기별 또는 새로운 핵산 합성(예: 포스포라미다이트 합성)에 의존하는 대신, 구성요소들의 조합적 배열을 포함하는, 복수의 식별자 또는 핵산 서열 내 디지털 정보(가령, 이진 코드)를 인코딩할 수 있다. 이와 같이, 새로운 전략은 정보 저장의 첫 번째 요청에 대해 별개의 핵산 서열(또는 구성요소)의 첫 번째 세트를 생성할 수 있고, 그 후 후속 정보 저장 요청에 대해 동일한 핵산 서열(또는 구성요소)을 재사용할 수 있다. 이러한 접근 방식은 정보-DNA 인코딩 및 쓰기 프로세스에서 핵산 서열의 새로운 합성의 역할을 줄임으로써 DNA 기반 정보 저장 비용을 크게 줄일 수 있다. 더욱이, 각 염기를 연장하는 핵산에 주기적으로 전달하는 것을 사용할 수 있는 포스포라미다이트 화학 또는 주형이 없는 폴리머라제 기반 핵산 연장과 같은 염기별 합성의 구현과 달리, 구성요소로부터 식별자 구성을 이용하여 새로운 정보-DNA로 기입 방법은 순환적 핵산 연장을 꼭 사용할 필요없는 고도로 병렬화 가능한 프로세스이다. 따라서 새로운 방법은 기존 방법에 비해 디지털 정보를 DNA에 기록하는 속도를 높일 수 있다.
정보를 핵산 서열로 인코딩하는 방법이 본원에 기술되어 있다. 정보를 핵산 서열로 인코딩하는 방법은 (a) 정보를 기호 스트링으로 번역하고, (b) 기호 스트링을 복수의 식별자에 매핑하고, (c) 복수의 식별자의 적어도 하나의 서브세트를 포함하는 식별자 라이브러리를 구성하는 단계를 포함할 수 있다. 복수의 식별자 중 개별 식별자는 하나 이상의 구성요소를 포함할 수 있다. 하나 이상의 구성요소의 개별 구성요소는 핵산 서열을 포함할 수 있다. 기호 스트링의 각 위치에 있는 각 기호는 고유한 식별자에 해당할 수 있다. 개별 식별자는 기호 스트링의 개별 위치에 있는 개별 기호에 대응할 수 있다. 또한, 일련의 기호에서 각 위치에 있는 하나의 기호는 식별자가 없는 경우에 해당할 수 있다. 예를 들어, '0'과 '1'의 이진 기호(예: 비트)의 스트링에서 '0'의 각 발생은 식별자의 부재에 해당할 수 있다.
또 다른 양태에서, 본 개시내용은 핵산-기반 컴퓨터 데이터 저장을 위한 방법을 제공한다. 핵산 기반 컴퓨터 데이터 저장 방법은 (a) 컴퓨터 데이터를 수신하는 단계, (b) 컴퓨터 데이터를 인코딩하는 핵산 서열을 포함하는 핵산 분자를 합성하는 단계, 및 (c) 핵산 서열을 갖는 핵산 분자를 저장하는 단계를 포함할 수 있다. 컴퓨터 데이터는 각각의 핵산 분자의 서열이 아니라 합성된 핵산 분자의 적어도 하나의 서브세트에 인코딩될 수 있다.
또 다른 양태에서, 본 개시내용은 핵산 서열에 정보를 기록하고 저장하는 방법을 제공한다. 이 방법은 (a) 정보를 나타내는 가상 식별자 라이브러리를 수신하거나 인코딩하는 단계, (b) 식별자 라이브러리를 물리적으로 구성하는 단계, (c) 식별자 라이브러리의 하나 이상의 물리적 복사본을 하나 이상의 개별 위치에 저장하는 단계를 포함할 수 있다. 식별자 라이브러리의 개별 식별자는 하나 이상의 구성요소를 포함할 수 있다. 하나 이상의 구성요소의 개별 구성요소는 핵산 서열을 포함할 수 있다.
또 다른 양태에서, 본 개시내용은 핵산-기반 컴퓨터 데이터 저장을 위한 방법을 제공한다. 핵산 기반 컴퓨터 데이터 저장 방법은 (a) 컴퓨터 데이터를 수신하는 단계, (b) 컴퓨터 데이터를 인코딩하는 적어도 하나의 핵산 서열을 포함하는 핵산 분자를 합성하는 단계, 및 (c) 적어도 하나의 핵산 서열을 포함하는 핵산 분자를 저장하는 단계를 포함할 수 있다. 핵산 분자의 합성은 염기별 핵산 합성의 부재 하에 있을 수 있다.
또 다른 양태에서, 본 개시내용은 핵산 서열에 정보를 기록하고 저장하는 방법을 제공한다. 핵산 서열에 정보를 기록하고 저장하는 방법은 (a) 정보를 나타내는 가상 식별자 라이브러리를 수신 또는 인코딩하고, (b) 식별자 라이브러리를 물리적으로 구성하고, (c) 하나 이상의 개별 위치에 식별자 라이브러리의 하나 이상의 물리적 복사본을 저장하는 단계를 포함할 수 있다. 식별자 라이브러리의 개별 식별자는 하나 이상의 구성요소를 포함할 수 있다. 하나 이상의 구성요소의 개별 구성요소는 핵산 서열을 포함할 수 있다.
도 1은 정보를 핵산 서열로 인코딩하고, 정보를 핵산 서열에 기록하고, 핵산 서열에 기록된 정보를 판독하고, 판독된 정보를 디코딩하는 개요 프로세스를 예시한다. 디지털 정보 또는 데이터는 하나 이상의 기호 스트링으로 번역될 수 있다. 예를 들어, 기호는 비트이고 각 비트는 '0' 또는 '1'의 값을 가질 수 있다. 각 기호는 해당 기호를 나타내는 객체(예: 식별자)에 매핑되거나 인코딩될 수 있다. 각 기호는 고유한 식별자로 표시될 수 있다. 구별되는 식별자는 구성요소로 구성된 핵산 분자일 수 있다. 구성요소는 핵산 서열일 수 있다. 디지털 정보는 정보에 대응하는 식별자 라이브러리를 생성함으로써 핵산 서열에 기록될 수 있다. 식별자 라이브러리는 디지털 정보의 각 기호에 대응하는 식별자를 물리적으로 구성하여 물리적으로 생성될 수 있다. 디지털 정보의 전체 또는 일부는 한 번에 액세스할 수 있다. 예에서 식별자의 서브세트는 식별자 라이브러리에서 액세스된다. 식별자의 서브세트는 식별자의 순서를 지정하고 식별하여 읽을 수 있다. 식별된 식별자는 디지털 데이터를 디코딩하기 위해 해당 기호과 연관될 수 있다.
도 1의 접근 방식을 사용하여 정보를 인코딩하고 판독하는 방법은, 예를 들어, 비트 스트림을 수신하고 비트 스트림의 각 1비트(비트 값이 '1'인 비트)를 식별자 순위 또는 핵산 인덱스를 사용하여 별개의 핵산 식별자에 매핑하는 것을 포함할 수 있다. 1의 비트 값에 해당하는 식별자의 복사본을 포함하는 핵산 샘플 풀 또는 식별자 라이브러리를 구성한다(그리고 0의 비트 값에 대한 식별자는 제외). 샘플의 판독은 분자 생물학 방법(예: 시퀀싱, 혼성화, PCR 등)을 사용하고, 식별자 라이브러리에 표시되는 식별자를 결정하며, 해당 식별자에 해당하는 비트에 '1'의 비트 값을 그리고 다른 곳에 '0'의 비트 값을 할당하여(각 식별자가 대응하는 원래 비트 스트림의 비트를 식별하기 위해 식별자 순위를 다시 참조), 정보를 원래의 인코딩된 비트 스트림으로 디코딩할 수 있다.
N개의 별개 비트의 스트링을 인코딩하는 것은 가능한 식별자로서 동일한 수의 고유한 핵산 서열을 사용할 수 있다. 정보 인코딩에 대한 이러한 접근 방식은 저장할 각각의 새로운 정보 항목(N 비트 스트링)에 대한 식별자(예: 핵산 분자)의 새로운 합성을 사용할 수 있다. 다른 경우에, 저장할 새로운 정보 항목 각각에 대해 새로 합성하는 식별자(수는 N 이하)의 비용은 일회성 de-novo 합성 및 가능한 모든 식별자의 후속 유지 관리에 의해 감소될 수 있고, 정보의 새로운 항목을 인코딩하는 것은 식별자 라이브러리를 형성하기 위해 사전 합성된(또는 사전 제작된) 식별자를 기계적으로 선택하고 함께 혼합하는 것을 포함할 수 있다. 다른 경우에, (1) 저장할 각각의 새로운 정보 항목에 대해 최대 N개의 식별자를 새로 합성하거나 (2) 저장할 각각의 새로운 정보 항목에 대해 N개의 가능한 식별자를 유지 및 선택하는 비용, 또는 이들의 조합은 다수의 핵산 서열(N 미만, 경우에 따라 N보다 한참 미만)을 합성 및 유지한 다음, 효소 반응을 통해 이들 서열을 수정하여, 저장할 각각의 새로운 정보 항목에 대해 최대 N개의 식별자를 생성함으로써 감소될 수 있다.
식별자는 읽기, 쓰기, 액세스, 복사 및 삭제 작업의 용이성을 위해 합리적으로 설계되고 선택될 수 있다. 식별자는 쓰기 오류, 돌연변이, 성능 저하 및 읽기 오류를 최소화하도록 설계 및 선택될 수 있다. 합성 핵산 라이브러리(예: 식별자 라이브러리)를 포함하는 DNA 서열의 합리적인 설계에 대해서는 화학적 방법 섹션 H를 참조할 수 있다.
도 2a 및 2b는 객체 또는 식별자(예를 들어, 핵산 분자)에서 디지털 데이터를 인코딩하는 "데이터 앳 어드레스"로 지칭되는 예시적인 방법을 개략적으로 도시한다. 도 2a는 비트 스트림을 식별자 라이브러리로 인코딩하는 것을 예시하며, 여기서 개별 식별자는 식별자 순위를 지정하는 단일 구성요소를 바이트 값을 지정하는 단일 구성요소와 연결하거나 조합함으로써 구성된다. 일반적으로 데이터 앳 어드레스 방법(data at address method)은 두 개의 객체를 포함하여 정보를 모듈식으로 인코딩하는 식별자를 사용한다. 하나의 객체는 바이트 값을 식별하는 "바이트 값 객체(또는 "데이터 객체")이고, 하나의 객체는 식별자 순위(또는 오리지널 비트 스트림 내 바이트의 상대적 위치)를 식별하는 "순위 객체"(또는 "어드레스 객체")이다. 도 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는 도 3a 및 3b에 도시되는 인코딩 방법을 이용하여 주어진 오리지널 비트 크기(D, 윤곽선)의 정보를 저장하기 위해 물리적으로 구성될, 가능한 식별자(C, x-축)와 식별자의 평균 수(k, y-축)의 조합 공간 간의 관계를 로그 공간에서 윤곽 플롯으로 보여준다. 이 플롯은 크기 D의 원래 정보가 C 비트 스트링(여기서 C는 D보다 클 수 있음)로 다시 코딩된다고 가정하고, 여기서 비트 수 k는 '1'의 비트 값을 갖는다. 또한, 플롯은 재코딩된 비트열에 대해 정보-핵산 인코딩이 수행되고 비트-값이 '1'인 위치에 대한 식별자가 구성되고 비트-값이 '0'인 위치에 대한 식별자가 구성되지 않는다고 가정한다. 가정에 따르면, 가능한 식별자의 조합 공간은 재코딩된 비트 스트링의 모든 위치를 식별하기 위해 크기 C를 가지며 크기 D의 비트 스트링을 인코딩하는 데 사용되는 식별자의 수는 D = log2(Cchoosek)이며, 여기서 Cchoosek은 C개의 가능성으로부터 순서가 지정되지 않은 k개의 결과를 선택하는 방법의 수에 대한 수학 공식일 수 있다. 따라서, 가능한 식별자의 조합 공간이 주어진 정보 항목의 크기(비트 단위) 이상으로 증가함에 따라, 물리적으로 구성된 식별자의 수가 감소하여 주어진 정보를 저장하는 데 사용될 수 있다.
도 5는 정보를 핵산 서열에 기입하기 위한 개요 방법을 보여준다. 정보를 기록하기 전에 정보는 일련의 기호로 번역되고 복수의 식별자로 인코딩될 수 있다. 정보 기입에는 가능한 식별자를 생성하기 위한 반응 설정이 포함될 수 있다. 구획에 입력을 투입하여 반응을 설정할 수 있다. 입력은 핵산, 구성요소, 주형, 효소 또는 화학 시약을 포함할 수 있다. 구획은 웰, 튜브, 표면 상의 위치, 미세유체 장치의 챔버 또는 에멀젼 내의 액적일 수 있다. 여러 구획에서 여러 반응을 설정할 수 있다. 반응은 프로그래밍된 온도 배양 또는 순환을 통해 식별자를 생성하도록 진행될 수 있다. 반응은 선택적으로 또는 유비쿼터스하게 제거(예: 삭제)될 수 있다. 반응은 또한 선택적으로 또는 유비쿼터스하게 중단, 통합 및 정제되어 하나의 풀에서 해당 식별자를 수집할 수 있다. 여러 식별자 라이브러리의 식별자를 동일한 풀에 수집할 수 있다. 개별 식별자는 그것이 속한 식별자 라이브러리를 식별하기 위한 바코드 또는 태그를 포함할 수 있다. 대안적으로, 또는 이에 더하여, 바코드는 인코딩된 정보에 대한 메타데이터를 포함할 수 있다. 보조 핵산 또는 식별자는 식별자 라이브러리와 함께 식별자 풀에 포함될 수도 있다. 보충 핵산 또는 식별자는 인코딩된 정보에 대한 메타데이터를 포함하거나 인코딩된 정보를 난독화하거나 은폐하는 역할을 할 수 있다.
식별자 순위(예: 핵산 인덱스)는 식별자의 순서를 결정하기 위한 방법 또는 키를 포함할 수 있다. 이 방법은 모든 식별자 및 해당 순위를 가진 순람표(look up table)를 포함할 수 있다. 이 방법은 또한 식별자를 구성하는 모든 구성요소의 순위와 이들 구성요소의 조합을 포함하는 임의의 식별자의 순서를 결정하기 위한 기능을 갖는 순람표를 포함할 수 있다. 이러한 방법은 사전순 정렬이라고 할 수 있으며, 사전의 단어가 알파벳순으로 정렬되는 방식과 유사할 수 있다. 데이터 앳 어드레스 인코딩 방법에서, 식별자 순위(식별자의 순위 객체에 의해 인코딩됨)는 (식별자의 바이트 값 객체에 의해 인코딩되는) 비트 스트림 내 바이트의 위치를 결정하는 데 사용될 수 있다. 대안적인 방법에서, 현재 식별자에 대한 식별자 순위(전체 식별자 자체에 의해 인코딩됨)는 비트 스트림 내에서 '1'의 비트 값의 위치를 결정하는 데 사용될 수 있다.
키는 샘플 내의 식별자(예: 핵산 분자)의 고유한 서브세트에 별개의 바이트를 할당할 수 있다. 예를 들어, 간단한 형식에서, 키는 비트의 위치를 지정하는 고유한 핵산 서열에 바이트의 각 비트를 할당할 수 있으며, 그런 다음 샘플 내 해당 핵산 서열의 존재 또는 부재는 각각 1 또는 0의 비트 값을 지정할 수 있다. 핵산 샘플로부터 인코딩된 정보를 판독하는 것은 시퀀싱, 혼성화 또는 PCR을 포함하는 임의의 수의 분자 생물학 기술을 포함할 수 있다. 일부 구현에서, 인코딩된 데이터세트를 읽는 것은 데이터세트의 일부를 재구성하거나 각 핵산 샘플로부터 전체 인코딩된 데이터세트를 재구성하는 것을 포함할 수 있다. 서열을 읽을 수 있을 때 핵산 인덱스는 고유한 핵산 서열의 존재 또는 부재와 함께 사용될 수 있고 핵산 샘플은 비트 스트림(예: 각각의 비트 스트링, 바이트, 바이트들 또는 바이트 스트링)으로 디코딩될 수 있다.
식별자는 구성요소 핵산 서열을 조합적으로 조립함으로써 구성될 수 있다. 예를 들어, 정보는 정의된 분자 그룹(예: 조합 공간)으로부터 핵산 분자(예: 식별자) 세트를 취함으로써 인코딩될 수 있다. 정의된 분자 그룹의 각각의 가능한 식별자는 층으로 분할될 수 있는 기제작된 구성요소 세트로부터의 핵산 서열(예: 구성요소)의 조립체일 수 있다. 각 개별 식별자는 고정된 순서로 모든 층에서 하나의 구성요소를 연결하여 구성할 수 있다. 예를 들어, M개의 층이 있고 각 층이 n개의 구성요소를 가질 수 있는 경우 최대 C = nM개의 고유 식별자가 구성될 수 있고 최대 2C개의 서로 다른 정보 항목 또는 C 비트가 인코딩 및 저장될 수 있다. 예를 들어 1 메가비트의 정보를 저장하는 데 1 x 106개의 고유 식별자 또는 C = 1 x 106 크기의 조합 공간을 사용할 수 있다. 이 예에서 식별자는 다양한 방식으로 구성된 다양한 구성요소에서 조합될 수 있다. 조립체는 각각 n = 1 x 103개의 구성요소를 포함하는 M = 2개의 사전 제작된 층으로 만들 수 있다. 대안적으로, 조립체는 각각 n = 1 x 102개의 구성요소를 포함하는 M = 3개의 층으로 만들어질 수 있다. 이 예가 설명하는 바와 같이, 더 많은 수의 층을 사용하여 동일한 양의 정보를 인코딩하면 구성요소의 총 수가 더 작아질 수 있다. 적은 수의 전체 구성요소를 사용하는 것이 쓰기 비용 측면에서 유리할 수 있다.
각 층 내의 핵산 서열(예를 들어, 구성요소)은 중간에 고유한(또는 구별되는) 서열 또는 바코드를 포함할 수 있고, 한쪽 말단에는 공통 혼성화 영역이 있고 다른 쪽 말단에는 또 다른 공통 혼성화 영역이 있을 수 있다. 바코드는 층 내의 모든 서열을 고유하게 식별하기에 충분한 수의 뉴클레오티드를 포함할 수 있다. 예를 들어, 일반적으로 바코드 내의 각 염기 위치에 대해 4개의 가능한 뉴클레오티드가 있다. 따라서 3개 염기 바코드는 43 = 64개의 핵산 서열을 고유하게 식별할 수 있다. 바코드는 무작위로 생성되도록 설계될 수 있다. 대안적으로, 바코드는 식별자 또는 시퀀싱의 구성 화학에 복잡성을 일으킬 수 있는 서열을 피하도록 설계될 수 있다. 또한, 바코드는 각각이 다른 바코드로부터 최소 해밍 거리를 가질 수 있도록 설계될 수 있으며, 이에 따라 염기 분해능 돌연변이 또는 판독 오류가 바코드의 적절한 식별을 방해할 수 있는 가능성을 감소시킬 수 있다.
핵산 서열(예를 들어, 구성요소)의 한쪽 말단 상의 혼성화 영역은 각 층에서 상이할 수 있지만, 혼성화 영역은 층 내의 각 구성원에 대해 동일할 수 있다. 인접 층은 구성요소에 서로 상호 작용할 수 있는 상보적인 혼성화 영역이 있는 층이다. 예를 들어, 층 X의 임의의 구성요소는 상보적인 혼성화 영역을 가질 수 있기 때문에 층 Y의 임의의 구성요소에 부착될 수 있다. 반대쪽 말단의 혼성화 영역은 제1 말단의 혼성화 영역과 동일한 목적을 수행할 수 있다. 예를 들어, 층 Y의 구성요소는 한쪽 끝에 있는 층 X의 구성요소와 반대쪽 끝에 있는 층 Z의 구성요소에 부착될 수 있다.
도 6a 및 6b는 고정된 순서로 각 층으로부터 별개의 구성요소(예를 들어, 핵산 서열)를 조합하여 조립함으로써 식별자(예를 들어, 핵산 분자)를 구성하기 위한 "제품 방식"(product scheme)로 지칭되는 예시적인 방법을 도시한다. 도 6a는 제품 방식을 사용하여 구성된 식별자의 아키텍처를 예시한다. 식별자는 각 계층의 단일 구성요소를 고정된 순서로 결합하여 구성할 수 있다. 각각 N개의 구성요소가 있는 M개의 층에 대해 NM개의 가능한 식별자가 있다. 도 6b는 제품 방식을 사용하여 구성될 수 있는 식별자의 조합 공간의 예를 도시한다. 예에서, 조합 공간은 각각 3개의 별개의 구성요소를 포함하는 3개의 층으로부터 생성될 수 있다. 각 계층의 하나의 구성요소가 고정된 순서로 결합될 수 있도록 구성요소들이 결합될 수 있다. 이 조립 방법을 위한 전체 조합 공간은 27개의 가능한 식별자를 포함할 수 있다.
식별자는 2017년 12월 21일에 출원된 "NUCLEIC ACID-BASED DATA STORAGE"이라는 제목의 미국 특허 제10,650,312호(DNA의 디지털 정보 인코딩 설명); 2019년 5월 16일에 출원되고 미국 공개 제 2019/0362814로 공개된 "SYSTEMS FOR NUCLEIC ACID-BASED DATA STORAGE"라는 제목의 미국 출원 제 16/461,774(DNA 기반 데이터 저장을 위한 인코딩 방식 설명); "PRINTER-FINISHER SYSTEM FOR DATA STORAGE IN DNA"라는 명칭의 미국 출원 제 16/414,752(2019년 5월 16일 출원 및 미국 공개 제 2019/0351673으로 공개됨)(인코딩된 DNA의 조립을 위한 프린터 피니셔 시스템 설명); 미국 출원 제: 16/414,758, "COMPOSITIONS AND METHODS FOR NUCLEIC ACID-BASED DATA STORAGE", 2019년 5월 16일 출원 및 미국 공개 제 2020/0193301(DNA 기반 데이터 저장을 위한 고급 조립 방법 설명); "오류 보호 기능이 있는 핵산 기반 데이터 저장 및 판독을 위한 시스템 및 방법"이라는 제목의 미국 출원 제 16/532,077, 2019년 8월 5일 출원 및 미국 공개 제 2020/0185057(데이터 구조 및 오류 보호 및 수정 설명 DNA 인코딩을 위해); 2020년 5월 11일자로 출원된 "DATA STRUCTURES AND OPERATIONS FOR SEARCHING, COMPUTING, AND INDEXING IN DNA-BASED DATA STORAGE"라는 제목의 미국 출원 제 16/872,129(액세스, 순위 및 검색을 위한 데이터 구조 및 작업 설명); 및 2020년 9월 4일자로 출원된 "CHEMICAL METHODS FOR NUCLEIC ACID-BASED DATA STORAGE"라는 제목의 미국 출원 제 17/012,909(암호화된 DNA 조립을 위한 화학적 방법을 설명함)에 설명된 구현 방법 중 임의의 것을 사용하여 구성될 수 있고, 이들 각각은 그 전체가 참고로 본 명세서에 포함된다.
일부 경우에, 가능한 식별자의 조합 공간의 전부 또는 일부는 디지털 정보가 인코딩되거나 기록되기 전에 구성될 수 있으며, 그 다음 기록 프로세스는 이미 존재하는 세트로부터 (정보를 인코딩하는) 식별자를 기계적으로 선택하고 풀링하는 것을 포함할 수 있다. 다른 경우에, 식별자는 데이터 인코딩 또는 쓰기 프로세스의 하나 이상의 단계가 발생한 후에(즉, 정보가 기록됨에 따라) 구성될 수 있다.
바코드는 인코딩될 디지털 정보의 양이 하나의 풀에만 들어갈 수 있는 양을 초과할 때 정보 인덱싱을 용이하게 할 수 있다. 더 긴 비트 스트링 및/또는 다중 바이트를 포함하는 정보는, 도 3에 개시된 접근 방식을 계층화함으로써, 예를 들어 핵산 인덱스를 사용하여 인코딩된 고유한 핵산 서열을 가진 태그를 포함시킴으로써, 인코딩될 수 있다. 정보 카세트 또는 식별자 라이브러리는 주어진 서열에 해당하는 비트 스트림의 구성요소 또는 구성요소들을 나타내는 바코드 또는 태그 외에, 위치 및 비트 값 정보를 제공하는 고유한 핵산 서열을 포함하는 질소성 염기 또는 핵산 서열을 포함할 수 있다. 정보 카세트는 바코드 또는 태그뿐만 아니라 하나 이상의 고유한 핵산 서열을 포함할 수 있다. 정보 카세트의 바코드 또는 태그는 정보 카세트 및 정보 카세트에 포함된 모든 서열에 대한 참조를 제공할 수 있다. 예를 들어, 정보 카세트의 태그 또는 바코드는 비트 스트림의 어느 부분 또는 비트 스팀의 비트 구성요소가 고유 서열에 대한 정보를 인코딩하는지 표시할 수 있다(예: 비트 값 및 비트 위치 정보).
바코드를 사용하면 가능한 식별자의 조합 공간의 크기보다 더 많은 비트 정보가 풀에 인코딩될 수 있다. 예를 들어, 10비트 서열은 2개의 바이트 세트로 분리될 수 있으며, 각 바이트는 5비트로 구성된다. 각 바이트는 5개의 가능한 고유 식별자 세트에 매핑될 수 있다. 처음에, 각 바이트에 대해 생성된 식별자는 동일할 수 있지만 별개의 풀에 보관될 수 있고, 또는, 정보를 읽는 누군가가 특정 핵산 서열이 속한 바이트를 알 수 없을 수 있다. 그러나 각 식별자는 인코딩된 정보가 적용되는 바이트에 해당하는 레이블로 바코드 또는 태그가 지정될 수 있고(예: 바코드 1은 처음 5비트를 제공하기 위해 핵산 풀의 서열에 부착될 수 있고 바코드 2는 두 번째 5비트를 제공하기 위해 핵산 풀의 서열에 부착될 수 있음), 그런 다음 2 바이트에 해당하는 식별자를 하나의 풀(예: "하이퍼 풀" 또는 하나 이상의 식별자 라이브러리)에 결합할 수 있다. 하나 이상의 결합된 식별자 라이브러리의 각 식별자 라이브러리는 주어진 식별자 라이브러리에 속하는 것으로 주어진 식별자를 식별하는 별개의 바코드를 포함할 수 있다.
핵삼 샘플 풀, 하이퍼-풀, 식별자 라이브러리, 식별자 라이브러리 그룹 또는 웰(well) - 핵산 샘플 풀 또는 하이퍼풀을 지님 - 은 복수의 보충 핵산 서열 및 정보 비트에 대응하는 고유 핵산 분자(예: 식별자)를 포함할 수 있다. 보충 핵산 서열은 인코딩된 데이터에 해당하지 않을 수 있다(예: 비트 값에 해당하지 않음). 보충 핵산 샘플은 샘플 풀에 저장된 정보를 마스킹하거나 암호화할 수 있다. 보충 핵산 서열은 생물학적 공급원으로부터 유래되거나 합성적으로 생성될 수 있다. 생물학적 공급원으로부터 유래된 보충 핵산 서열은 무작위로 단편화된 핵산 서열 또는 합리적으로 단편화된 서열을 포함할 수 있다. 생물학적으로 파생된 보충 핵산은, 특히, 합성으로 인코딩된 정보(예: 식별자의 조합 공간)가 자연 유전 정보(가령, 단편화된 게놈)을 닮도록 만들어지는 경우, 합성으로 인코딩된 정보와 함께 자연 유전 정보를 제공함으로써, 샘플 풀 내에서 데이터-함유 핵산을 숨기거나 가릴 수 있다. 예에서 식별자는 생물학적 소스에서 파생되고 보충 핵산은 생물학적 소스에서 파생된다. 샘플 풀에는 여러 세트의 식별자와 보충 핵산 서열이 포함될 수 있다. 각 세트의 식별자 및 보충 핵산 서열은 다른 유기체에서 파생될 수 있다. 예에서, 식별자는 하나 이상의 유기체에서 파생되고 보충 핵산 서열은 단일의 다른 유기체에서 파생된다. 보충 핵산 서열은 또한 하나 이상의 유기체로부터 유래될 수 있고 식별자는 보충 핵산이 유래된 유기체와는 상이한 단일 유기체로부터 유래될 수 있다. 식별자와 보충 핵산 서열은 모두 여러 상이한유기체에서 유래할 수 있다. 보조 핵산 서열과 식별자를 구별하기 위해 키를 사용할 수 있다.
보충 핵산 서열은 기록된 정보에 대한 메타데이터를 저장할 수 있다. 메타데이터는 원래 정보의 소스 및/또는 원래 정보의 의도된 수신자를 결정 및/또는 승인하기 위한 추가 정보를 포함할 수 있다. 메타데이터는 원본 정보의 형식, 원본 정보를 인코딩 및 기록하는 데 사용되는 도구 및 방법, 원본 정보를 식별자에 기록한 날짜 및 시간에 대한 추가 정보를 포함할 수 있다. 메타데이터는 원본 정보의 형식, 원본 정보를 인코딩하고 기록하는 데 사용되는 도구 및 방법, 원본 정보를 핵산 서열에 기록한 날짜 및 시간에 대한 추가 정보를 포함할 수 있다. 메타데이터는 정보를 핵산 서열에 기록한 후 원래 정보에 대해 이루어진 수정에 관한 추가 정보를 포함할 수 있다. 메타데이터는 원래 정보에 대한 주석 또는 외부 정보에 대한 하나 이상의 참조를 포함할 수 있다. 대안으로, 또는 추가적으로, 메타데이터는 식별자에 부착된 하나 이상의 바코드 또는 태그에 저장될 수 있다.
식별자 풀의 식별자는 서로 동일하거나 유사하거나 다른 길이를 가질 수 있다. 보충 핵산 서열은 식별자의 길이보다 작거나, 실질적으로 같거나, 더 긴 길이를 가질 수 있다. 보충 핵산 서열은 1개 염기 이내, 2개 염기 이내, 3개 염기 이내, 4개 염기 이내, 5개 염기 이내, 6개 염기 이내, 7개 염기 이내, 8개 염기 이내, 9개 염기 이내, 10개 염기 이내의, 또는 식별자의 평균 길이보다 더 많은 염기 내의 평균 길이를 가질 수 있다. 예에서, 보충 핵산 서열은 식별자와 동일하거나 실질적으로 동일한 길이이다. 보충 핵산 서열의 농도는 식별자 라이브러리에 있는 식별자의 농도보다 적거나, 실질적으로 같거나 더 클 수 있다. 보충 핵산의 농도는 약 1%, 10%, 20%, 40%, 60%, 80%, 100%, 125%, 150%, 175%, 200%, 1000%, 1x104 %, 1x105 %, 1x106 %, 1x107 %, 1x108 %보다 적거나 동일할 수 있고, 또는 식별자의 농도보다 작다. 보충 핵산의 농도는 식별자의 농도보다 약 1%, 10%, 20%, 40%, 60%, 80%, 100 %, 125%, 150%, 175%, 200%, 1000%, 1x104 %, 1x105 %, 1x106 %, 1x107 %, 1x108 % 보다 클 수 있고 또는 그 이상보다 클 수 있다. 농도가 높을수록 데이터를 난독화하거나 은폐하는 데 도움이 될 수 있다. 예에서, 보충 핵산 서열의 농도는 식별자 풀 내 식별자 농도보다 실질적으로 더 크다(예: 1 x108 % 더 높음).
PCR 기반 방법을 사용하여 식별자 또는 핵산 샘플 풀에 액세스하고 데이터를 복사할 수 있다. 풀 또는 하이퍼 풀의 식별자 옆에 있는 공통 프라이머 결합 사이트를 사용하여 정보를 포함하는 핵산을 쉽게 복사할 수 있다. 대안적으로, 등온 증폭과 같은 다른 핵산 증폭 접근법을 사용하여 샘플 풀 또는 하이퍼풀(예: 식별자 라이브러리)로부터 데이터를 쉽게 복사할 수도 있다. 핵산 증폭에 대한 화학적 방법 섹션 D를 참조할 수 있다. 샘플이 하이퍼 풀을 포함하는 경우, 순방향으로 식별자의 한 쪽 가장자리에서 특정 바코드를 결합하는 프라이머를, 역방향으로 식별자의 반대쪽 가장자리에 있는 공통 서열을 결합하는 다른 프라이머와 함께 사용함으로써, 특정 정보 서브세트(예: 특정 바코드와 관련된 모든 핵산에 액세스하고 이를 불러들일 수 있다. 다양한 판독 방법을 사용하여, 인코딩된 핵산으로부터 정보를 가져올 수 있다. 예를 들어 마이크로어레이(또는 모든 종류의 형광 혼성화), 디지털 PCR, 정량적 PCR(qPCR) 및 다양한 시퀀싱 플랫폼을 추가로 사용하여 인코딩된 서열 및 확장하여 디지털 인코딩된 데이터를 읽을 수 있다.
핵산 분자(예: 식별자)에 저장된 정보에 액세스하는 것은 식별자 라이브러리 또는 식별자 풀에서 비표적 식별자의 일부를 선택적으로 제거함으로써, 또는, 예를 들어, 다수의 식별자 라이브러리의 풀로부터 일 식별자 라이브러리의 모든 식별자를 선택적으로 제거함으로써, 수행될 수 있다. 본 명세서에 사용된 바와 같이, "액세스" 및 "질의"는 상호교환적으로 사용될 수 있다. 데이터 액세스는 식별자 라이브러리 또는 식별자 풀에서 대상 식별자를 선택적으로 캡처하여 수행할 수도 있다. 표적 식별자는 더 큰 정보 항목 내의 관심 데이터에 해당할 수 있다. 식별자 풀은 보충 핵산 분자를 포함할 수 있다. 보충 핵산 분자는 인코딩된 정보에 대한 메타데이터를 포함할 수 있거나 정보에 해당하는 식별자를 암호화하거나 마스킹하는 데 사용될 수 있다. 보조 핵산 분자는 표적 식별자에 액세스하는 동안 추출되거나 추출되지 않을 수 있다. 도 7a 내지 도 7c는 다수의 식별자로부터 다수의 특정 식별자에 접근함으로써 핵산 서열에 저장된 정보의 일부에 접근하기 위한 예시적인 방법의 개요를 개략적으로 도시한다. 도 7a는 폴리머라제 연쇄 반응, 친화성 태그가 붙은 프로브 및 분해 표적화 프로브를 사용하여 특정 구성요소를 포함하는 식별자에 액세스하기 위한 예시적인 방법을 보여준다. PCR 기반 액세스의 경우 식별자 풀(예: 식별자 라이브러리)은 각 말단에 공통 서열, 각 말단에 가변 서열, 또는 각 말단에 공통 서열 또는 가변 서열 중 하나를 갖는 식별자를 포함할 수 있다. 공통 서열 또는 가변 서열은 프라이머 결합 부위일 수 있다. 하나 이상의 프라이머가 식별자 가장자리의 공통 영역 또는 가변 영역에 결합할 수 있다. 프라이머가 결합된 식별자는 PCR에 의해 증폭될 수 있다. 증폭된 식별자는 증폭되지 않은 식별자보다 훨씬 많을 수 있다. 판독하는 동안 증폭된 식별자가 식별될 수 있다. 식별자 라이브러리의 식별자는 해당 라이브러리와 구별되는 한쪽 끝 또는 양쪽 끝에 있는 서열을 포함할 수 있으므로 하나 이상의 식별자 라이브러리 풀 또는 그룹에서 단일 라이브러리에 선택적으로 액세스할 수 있다.
친화성 태그 기반 액세스의 경우 핵산 캡처라고 할 수 있는 프로세스에서 풀의 식별자를 구성하는 구성요소는 하나 이상의 프로브와 상보성을 공유할 수 있다. 하나 이상의 프로브는 액세스할 식별자에 결합하거나 혼성화할 수 있다. 프로브는 친화성 태그를 포함할 수 있다. 친화성 태그는 비드(beads)에 결합하여 비드, 하나 이상의 프로브, 및 하나 이상의 식별자를 포함하는 복합체를 생성할 수 있다. 비드는 자성일 수 있으며 자석과 함께 비드는, 액세스할 식별자를 수집하고 격리할 수 있다. 식별자는 판독 전에 변성 조건(denaturing conditions) 하에서 비드로부터 제거될 수 있다. 대안으로 또는 추가로, 비드는 비표적 식별자를 수집하고, 별도의 용기에 세척하여 판독될 수 있는 풀의 나머지 부분에서 식별자를 격리시킬 수 있다. 선호도 태그는 열에 바인딩될 수 있다. 액세스할 식별자는 캡처를 위해 열에 바인딩될 수 있다. 열 바인딩 식별자는 읽기 전에 열에서 연속적으로 용리(elute)되거나 변성(denature)될 수 있다. 또는, 비표적 식별자가 열에 선택적으로 표적화될 수 있는 반면 표적 식별자는 열을 통해 흐를 수 있다. 표적 식별자에 액세스하는 것은 하나 이상의 프로브를 식별자 풀에 동시에 적용하거나 하나 이상의 프로브를 식별자 풀에 순차적으로 적용하는 것을 포함할 수 있다.
열화 기반 액세스의 경우 풀의 식별자를 구성하는 구성요소는 하나 이상의 열화 대상 프로브와 상보성을 공유할 수 있다. 프로브는 식별자의 고유한 구성요소에 결합하거나 혼성화할 수 있다. 프로브는 엔도뉴클레아제와 같은 분해 효소의 표적이 될 수 있다. 예에서, 하나 이상의 식별자 라이브러리가 결합될 수 있다. 프로브 세트는 식별자 라이브러리 중 하나와 혼성화할 수 있다. 프로브 세트는 RNA를 포함할 수 있고 RNA는 Cas9 효소를 안내할 수 있다. Cas9 효소는 하나 이상의 식별자 라이브러리에 도입될 수 있다. 프로브와 혼성화된 식별자는 Cas9 효소에 의해 분해될 수 있다. 액세스할 식별자는 분해 효소에 의해 분해되지 않을 수 있다. 또 다른 예에서, 식별자는 단일 가닥일 수 있고 식별자 라이브러리는 S1 뉴클레아제와 같은 단일 가닥 특이적 엔도뉴클레아제(들)와 결합될 수 있으며, 이는 액세스되지 않아야 하는 식별자를 선택적으로 분해한다. 접근할 식별자는 단일 가닥 특이적 엔도뉴클레아제(들)에 의한 분해로부터 보호하기 위해 상보적인 식별자 세트와 혼성화될 수 있다. 액세스할 식별자는 크기 선택 크로마토그래피(예: 아가로스 겔 전기영동)와 같은 크기 선택에 의해 분해 산물과 분리될 수 있다. 대안적으로 또는 추가로, 분해되지 않은 식별자는 분해 산물이 증폭되지 않도록 선택적으로 증폭될 수 있다(예: PCR 사용). 비분해 식별자는 비분해 식별자의 각 말단에 혼성화하고 따라서 분해되거나 절단된 식별자의 각 말단에 혼성화하지 않는 프라이머를 사용하여 증폭될 수 있다.
도 7b는 다중 구성요소를 포함하는 식별자에 접근하기 위해 'OR' 또는 'AND' 작업을 수행하기 위해 폴리머라제 연쇄 반응을 사용하는 예시적인 방법을 보여준다. 한 예에서 두 개의 정방향 프라이머가 왼쪽 끝에 있는 고유한 식별자 세트를 결합하는 경우, 오른쪽 끝에 있는 모든 식별자를 바인딩하는 역방향 프라이머와 함께 다중 PCR 반응에서 두 개의 정방향 프라이머를 함께 사용하여 해당 식별자 세트의 합집합의 'OR' 증폭을 수행할 수 있다. 또 다른 예에서, 하나의 정방향 프라이머가 왼쪽 끝에 있는 식별자 세트를 결합하고 하나의 역방향 프라이머가 오른쪽 끝에 있는 식별자 세트를 결합하는 경우 두 세트의 식별자 교차에 대한 'AND' 증폭은 PCR 반응에서 정방향 프라이머와 역방향 프라이머를 프라이머 쌍으로 함께 사용함으로써 실현될 수 있다.
도 7c는 다중 구성요소를 포함하는 식별자에 액세스하기 위해 'OR' 또는 'AND' 연산을 수행하기 위해 친화성 태그를 사용하는 예시적인 방법을 보여준다. 예에서 친화성 프로브 'P1'이 구성요소 'C1'이 있는 모든 식별자를 캡처하고 다른 친화성 프로브 'P2'가 구성요소 'C2'가 있는 모든 식별자를 캡처하는 경우 C1 또는 C2가 있는 모든 식별자 집합은 P1 및 P2를 동시에('OR' 연산에 해당) 사용하여 캡처될 수 있다. 동일한 구성요소 및 프로브가 있는 다른 예에서, C1 및 C2가 있는 모든 식별자 세트는 P1 및 P2를 순차적으로 사용하여 캡처될 수 있다('AND' 연산에 해당).
또 다른 양태에서, 본 개시내용은 핵산 서열에 코딩된 정보를 판독하는 방법을 제공한다. 핵산 서열에 인코딩된 정보를 판독하는 방법은 (a) 식별자 라이브러리 제공, (b) 식별자 라이브러리에 존재하는 식별자 식별, (c) 식별자 라이브러리에 존재하는 식별자로부터 기호 스트링 생성, 및 (d) 기호 스트링에서 정보를 컴파일하는 단계를 포함한다. 식별자 라이브러리는 조합 공간의 복수 식별자의 서브세트를 포함할 수 있다. 식별자의 서브세트의 각 개별 식별자는 기호 스트링의 개별 기호에 해당할 수 있다. 식별자는 하나 이상의 구성요소를 포함할 수 있다. 구성요소는 핵산 서열을 포함할 수 있다.
정보는 여기 다른 곳에서 설명한 대로 하나 이상의 식별자 라이브러리에 기록될 수 있다. 식별자는 여기 다른 곳에서 설명된 방법을 사용하여 구성할 수 있다. 저장된 데이터는 여기 다른 곳에서 설명된 방법을 사용하여 복사 및 액세스할 수 있다.
식별자는 인코딩된 기호의 위치, 인코딩된 기호의 값, 또는 인코딩된 기호의 위치와 값 모두에 관한 정보를 포함할 수 있다. 식별자는 인코딩된 기호의 위치와 관련된 정보를 포함할 수 있고 식별자 라이브러리에서 식별자의 존재 또는 부재는 기호의 값을 나타낼 수 있다. 식별자 라이브러리에 식별자가 있다는 것은 이진 스트링에서 첫 번째 기호 값(예: 첫 번째 비트 값)을 나타낼 수 있고 식별자 라이브러리에 식별자가 없으면 이진 스트링의 두 번째 기호 값(예: 두 번째 비트 값)을 나타낼 수 있다. 이진 시스템에서 식별자 라이브러리에 식별자가 있는지 여부에 따라 비트 값을 기반으로 하면 조합된 식별자 수를 줄일 수 있으므로 쓰기 시간을 줄일 수 있다. 일례로, 식별자의 존재는 매핑된 위치의 비트 값 '1'을 나타낼 수 있고, 식별자의 부재는 매핑된 위치의 비트 값 '0'을 나타낼 수 있다.
한 조각의 정보에 대한 기호(예를 들어, 비트 값)을 생성하는 것은 기호(예를 들어, 비트)이 매핑되거나 인코딩될 수 있는 식별자의 존재 또는 부재를 식별하는 것을 포함할 수 있다. 식별자의 존재 또는 부재를 결정하는 것은 현재 식별자를 시퀀싱하거나 식별자의 존재를 검출하기 위해 혼성화 어레이를 사용하는 것을 포함할 수 있다. 예에서, 인코딩된 서열의 디코딩 및 판독은 시퀀싱 플랫폼을 사용하여 수행될 수 있다. 시퀀싱 플랫폼의 예는 2019년 8월 5일에 출원되고 미국 공개 제 2020/0185057로 공개된 "SYSTEMS AND METHODS FOR STORING AND READING NUCLEIC ACID-BASED DATA WITH ERROR PROTECTION"이라는 제목의 미국 출원 제 16/532,077에 설명되어 있고, 그 전문이 참조로 여기에 포함된다.
예에서, 핵산 인코딩된 데이터를 디코딩하는 것은 Illumina® 시퀀싱과 같은 핵산 가닥의 염기별 시퀀싱에 의해, 또는 모세관 전기영동에 의한 단편화 분석과 같은 특정 핵산 서열의 존재 또는 부재를 나타내는 시퀀싱 기술을 활용함으로써 달성될 수 있다. 시퀀싱은 가역적 종결자를 사용할 수 있다. 시퀀싱은 천연 또는 비천연(예를 들어, 조작된) 뉴클레오티드 또는 뉴클레오티드 유사체의 사용을 활용할 수 있다. 대안적으로 또는 이에 더하여, 핵산 서열의 디코딩은 광학적, 전기화학적 또는 화학적 신호를 생성하는 임의의 방법을 포함하나 이에 제한되지 않는 다양한 분석 기술을 사용하여 수행될 수 있다. 폴리머라제 연쇄 반응(PCR), 디지털 PCR, Sanger 시퀀싱, 고처리량 시퀀싱, 합성에 의한 시퀀싱, 단일 분자 시퀀싱, 결찰에 의한 시퀀싱, RNA-Seq(Illumina), 차세대 시퀀싱, 디지털 유전자 발현(Helicos), 클론 단일 마이크로어레이(Solexa), 샷건 시퀀싱, Maxim-Gilbert 시퀀싱 또는 대규모 병렬 시퀀싱을 포함한, 그러나 이에 제한되지 않는, 다양한 시퀀싱 접근법이 사용될 수 있다.
암호화된 핵산으로부터 정보를 추출하기 위해 다양한 판독 방법이 사용될 수 있다. 예에서, 마이크로어레이(또는 임의의 종류의 형광 혼성화), 디지털 PCR, 정량적 PCR(qPCR) 및 다양한 시퀀싱 플랫폼을 추가로 사용하여 인코딩된 서열 및 확장하여 디지털 인코딩된 데이터를 판독할 수 있다.
식별자 라이브러리는, 정보에 대한 메타데이터를 제공하거나 정보를 암호화 또는 마스킹하거나 메타데이터를 제공하고 정보를 마스킹하는, 보조 핵산 서열을 추가로 포함할 수 있다. 보충 핵산은 식별자의 식별과 동시에 식별될 수 있다. 대안적으로, 보충 핵산은 식별자를 식별하기 전 또는 후에 식별할 수 있다. 예에서, 보충 핵산은 인코딩된 정보를 읽는 동안 식별되지 않는다. 보충 핵산 서열은 식별자와 구별할 수 없을 수 있다. 식별자 인덱스 또는 키를 사용하여 보조 핵산 분자를 식별자와 구별할 수 있다.
데이터 인코딩 및 디코딩의 효율성은 더 적은 수의 핵산 분자의 사용을 가능하게 하기 위해 입력 비트 스트링을 재코딩함으로써 증가될 수 있다. 예를 들어, 인코딩 방법으로 3개의 핵산 분자(예: 식별자)에 매핑될 수 있는 '111' 서브스트링의 발생 빈도가 높은 입력 스트링을 수신한 경우, 핵산 분자의 null 세트에 매핑될 수 있는 '000' 서브스트링으로 다시 코딩될 수 있다. '000'의 대체 입력 서브스트링도 '111'로 다시 코딩될 수 있다. 이 재코딩 방법은 데이터 세트에서 'l'의 수가 줄어들 수 있기 때문에 데이터를 인코딩하는 데 사용되는 핵산 분자의 총량을 줄일 수 있다. 이 예에서, 데이터 세트의 총 크기는 새 매핑 지침을 지정하는 코드북을 수용하기 위해 증가할 수 있다. 인코딩 및 디코딩 효율성을 증가시키는 대안적인 방법은 가변 길이를 줄이기 위해 입력 스트링을 다시 코딩하는 것일 수 있다. 예를 들어 '111'을 '00'으로 다시 코딩하면 데이터 세트의 크기가 줄어들고 데이터 세트 내 '1' 수가 줄어들 수 있다.
핵산 인코딩된 데이터를 디코딩하는 속도 및 효율성은 검출 용이성을 위해 식별자를 구체적으로 설계함으로써 제어(예를 들어, 증가)될 수 있다. 예를 들어, 검출 용이성을 위해 설계된 핵산 서열(예: 식별자)은 광학적, 전기화학적, 화학적 또는 물리적 특성을 기반으로 하여 호출 및 검출하기 쉬운 뉴클레오티드의 대부분을 포함하는 핵산 서열을 포함할 수 있다. 조작된 핵산 서열은 단일 또는 이중 가닥일 수 있다. 조작된 핵산 서열은 핵산 서열의 검출 가능한 특성을 개선하는 합성 또는 비천연 뉴클레오티드를 포함할 수 있다. 조작된 핵산 서열은 모든 천연 뉴클레오티드, 모든 합성 또는 비천연 뉴클레오티드, 또는 천연, 합성 및 비천연 뉴클레오티드의 조합을 포함할 수 있다. 합성 뉴클레오티드는 펩티드 핵산, 잠금 핵산, 글리콜 핵산 및 트레오스 핵산과 같은 뉴클레오티드 유사체를 포함할 수 있다. 비천연 뉴클레오티드는 3-메톡시-2-나프탈기를 함유하는 인공 뉴클레오시드인 dNaM, 및 6-메틸이소퀴놀린-1-티온-2-일기를 함유하는 인공 뉴클레오시드인 d5SICS를 포함할 수 있다. 조작된 핵산 서열은, 향상된 광학 특성과 같은 단일 향상된 특성을 위해 설계될 수 있고, 또는, 설계된 핵산 서열은 향상된 광학 및 전기화학적 특성 또는 향상된 광학 및 화학적 특성과 같은 다중 향상된 특성으로 설계될 수 있다.
조작된 핵산 서열은 핵산 서열의 광학적, 전기화학적, 화학적 또는 물리적 특성을 개선하지 않는 반응성 천연, 합성 및 비천연 뉴클레오티드를 포함할 수 있다. 핵산 서열의 반응성 구성요소는 핵산 서열에 개선된 특성을 부여하는 화학적 모이어티의 첨가를 가능하게 할 수 있다. 각각의 핵산 서열은 단일 화학적 모이어티를 포함할 수 있거나 다중 화학적 모이어티를 포함할 수 있다. 예시적인 화학적 모이어티는 형광성 모이어티, 화학발광성 모이어티, 산성 또는 염기성 모이어티, 소수성 또는 친수성 모이어티, 및 핵산 서열의 산화 상태 또는 반응성을 변경하는 모이어티를 포함할 수 있지만 이에 제한되지 않는다.
시퀀싱 플랫폼은 핵산 서열로 암호화된 정보를 해독하고 판독하기 위해 특별히 설계될 수 있다. 시퀀싱 플랫폼은 단일 또는 이중 가닥 핵산 분자의 시퀀싱 전용일 수 있다. 시퀀싱 플랫폼은 개별 염기(예: 염기별 시퀀싱)를 판독함으로써, 또는, 핵산 분자(예: 식별자) 내에 포함된 전체 핵산 서열(가령, 구성요소)의 존재 또는 부재를 검출함으로써, 핵산 인코딩된 데이터를 디코딩할 수 있다. 시퀀싱 플랫폼에는 무차별 시약의 사용, 판독 길이 증가, 검출 가능한 화학적 모이어티의 추가에 의한 특정 핵산 서열의 검출이 포함될 수 있다. 시퀀싱 중에 무차별 시약(promiscuous reagents)을 더 사용하면 더 빠른 염기 호출을 가능하게 하여 판독 효율을 높일 수 있고, 결과적으로 시퀀싱 시간을 줄일 수 있다. 증가된 판독 길이의 사용은 더 긴 코딩된 핵산 서열이 판독 당 디코딩될 수 있게 할 수 있다. 검출가능한 화학적 모이어티 태그의 추가는 화학적 모이어티의 존재 또는 부재에 의해 핵산 서열의 존재 또는 부재의 검출을 가능하게 할 수 있다. 예를 들어, 정보의 비트를 인코딩하는 각각의 핵산 서열은 독특한 광학, 전기화학적 또는 화학적 신호를 생성하는 화학적 모이어티로 태깅될 수 있다. 고유한 광학적, 전기화학적 또는 화학적 신호의 존재 또는 부재는 '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 또는 친화성 태그가 지정된 프로브 혼성화와 같은 액세스 방법으로 이를 증폭 및/또는 분리할 수 있다. 일부 구현에서 체크섬은 보충 핵산 서열이 아닐 수 있다. 체크섬은 식별자로 표시되도록 정보에 직접 코딩될 수 있다.
데이터 인코딩 및 디코딩에서의 노이즈는 식별자를 회문식으로(palindromically) 구성함으로써, 예를 들어 제품 방식의 단일 구성요소보다는 회문식 구성요소 쌍을 사용함으로써, 감소될 수 있다. 그런 다음 서로 다른 층의 구성요소 쌍을 회문 방식으로 서로 조립할 수 있다(예: 구성요소 X 및 Y에 대해 XY 대신 YXY). 이 회문 방식은 더 많은 수의 층로 확장될 수 있으며(예: XYZ 대신 ZYXYZ) 식별자 간의 잘못된 교차 반응을 감지할 수 있다.
식별자에 추가 핵산 서열을 과량(예: 매우 과량)으로 추가하면 시퀀싱이 인코딩된 식별자를 복구하는 것을 방지할 수 있다. 정보를 디코딩하기 전에 식별자를 보충 핵산 서열에서 보강할 수 있다. 예를 들어, 식별자는 식별자 말단에 특이적인 프라이머를 사용하는 핵산 증폭 반응에 의해 강화될 수 있다. 따라서 식별자 특이적 프라이머 또는 식별자 특이적 프라이머의 서열을 소유한 개체만이 시퀀싱을 통한 복구를 위해 인코딩된 식별자를 풍부하게 할 수 있다. 대안적으로, 또는 이에 더하여, 특정 프라이머를 사용하는 시퀀싱(예: 합성에 의한 시퀀싱)에 의해 샘플 풀을 풍부하게 하지 않고 정보를 디코딩할 수 있다. 두 디코딩 방법 모두에서 디코딩 키가 없거나 식별자의 구성에 대해 아는 것이 없으면 정보를 풍부하게 하거나 디코딩하기 어려울 수 있다. 친화성 태그 기반 프로브를 사용하는 것과 같은 대체 액세스 방법을 사용할 수도 있다.
디지털 정보를 핵산(예: DNA)으로 인코딩하기 위한 시스템은 파일 및 데이터(예: 원시 데이터, 압축된 zip 파일, 정수 데이터 및 기타 형태의 데이터)를 바이트로 변환하기 위한, 그리고 바이트를 핵산의 세그먼트 또는 서열, 일반적으로 DNA로 또는 이들의 조합으로 인코딩하기 위한, 시스템, 방법 및 장치를 포함할 수 있다.
시스템을 사용하여 디지털 데이터를 인코딩하기 위한 방법의 비제한적인 구현은 바이트 스트림의 형태로 디지털 정보를 수신하는 단계를 포함할 수 있다. 바이트 스트림을 개별 바이트로 구문 분석하고, 핵산 인덱스(또는 식별자 순위)를 사용하여 바이트 내의 비트 위치를 매핑하고, 1의 비트 값 또는 0의 비트 값에 해당하는 서열을 식별자로 인코딩한다. 디지털 데이터를 불러오는 단계는 하나 이상의 비트에 매핑되는 핵산(예: 식별자)의 서열을 포함하는 핵산 샘플 또는 핵산 풀을 시퀀싱하는 것, 식별자가 핵산 풀에 존재하는지 확인하기 위해 식별자 순위를 참조하는 것, 및 각 서열에 대한 위치 및 비트 값 정보를 디지털 정보의 서열을 포함하는 바이트로 디코딩하는 것을 포함한다.
핵산 분자로 인코딩 및 기록된 정보를 인코딩, 기록, 복사, 액세스, 판독 및 디코딩하기 위한 시스템은 단일 통합 단위일 수 있거나 전술한 작업 중 하나 이상을 실행하도록 구성된 다중 단위일 수 있다. 정보를 암호화하고 핵산 분자(예: 식별자)에 기록하기 위한 시스템에는 장치와 하나 이상의 컴퓨터 프로세서가 포함될 수 있다. 하나 이상의 컴퓨터 프로세서는 정보를 기호 스트링(예를 들어, 비트 스트링)으로 파싱(parse)하도록 프로그래밍될 수 있다. 컴퓨터 프로세서는 식별자 순위를 생성할 수 있다. 컴퓨터 프로세서는 기호를 둘 이상의 범주로 분류할 수 있다. 하나의 카테고리는 식별자 라이브러리에서 대응하는 식별자의 존재에 의해 표현될 기호를 포함할 수 있고, 다른 카테고리는 식별자 라이브러리에서 대응하는 식별자의 부재에 의해 표현될 기호를 포함할 수 있다. 컴퓨터 프로세서는 식별자 라이브러리에 식별자가 있음을 나타내는 기호에 해당하는 식별자를 조합하도록 장치에 지시할 수 있다. 적합한 시스템은 2019년 5월 16일에 출원되고 미국 공개 제 2019/0351673으로 공개된 "PRINTER-FINISHER SYSTEM FOR DATA STORAGE IN DNA"라는 제목의 미국 출원 제 16/414,752에 설명되어 있다.
장치는 복수의 영역, 섹션 또는 파티션을 포함할 수 있다. 식별자를 조립하기 위한 시약 및 구성요소는 장치의 하나 이상의 영역, 섹션 또는 파티션에 저장될 수 있다. 층은 장치 섹션의 별도 영역에 저장할 수 있다. 층은 하나 이상의 고유한 구성요소를 포함할 수 있다. 한 계층의 구성요소는 다른 계층의 구성요소에 대해 고유할 수 있다. 영역 또는 섹션은 용기를 포함할 수 있고 파티션은 웰을 포함할 수 있다. 각 층은 별도의 용기 또는 파티션에 보관할 수 있다. 각 시약 또는 핵산 서열은 별도의 용기 또는 구획에 보관할 수 있다. 대안으로 또는 추가로 시약을 조합하여 식별자 구성을 위한 마스터 믹스를 형성할 수 있다. 장치는 장치의 한 섹션에서 시약, 구성요소 및 템플릿을 전송하여 다른 섹션에서 결합할 수 있다. 장치는 조립 반응을 완료하기 위한 조건을 제공할 수 있다. 예를 들어, 장치는 가열, 교반 및 반응 진행의 감지를 제공할 수 있다. 구성된 식별자는 바코드, 공통 서열, 가변 서열 또는 태그를 식별자의 하나 이상의 말단에 추가하기 위해 하나 이상의 후속 반응을 겪도록 지시될 수 있다. 그런 다음 식별자는 영역 또는 파티션으로 보내져 식별자 라이브러리를 생성할 수 있다. 하나 이상의 식별자 라이브러리가 장치의 각 영역, 섹션 또는 개별 파티션에 저장될 수 있다. 장치는 압력, 진공 또는 흡입을 사용하여 유체(예: 시약, 구성요소, 템플릿)를 전달할 수 있다.
식별자 라이브러리는 장치에 저장되거나, 별도의 데이터베이스로 이동되거나, 아티팩트를 태깅/추적하기 위한 적절한 구성 또는 컨테이너로 전송될 수 있다. 데이터베이스는 하나 이상의 식별자 라이브러리를 포함할 수 있다. 데이터베이스는 식별자 라이브러리의 장기 저장을 위한 조건(예: 식별자 저하를 줄이기 위한 조건)을 제공할 수 있다. 식별자 라이브러리는 분말, 액체 또는 고체 형태로 저장할 수 있다. 식별자의 수용액은 보다 안정적인 보관을 위해 동결건조될 수 있다. 데이터베이스는 자외선 차단, 온도 감소(예: 냉장 또는 냉동), 분해 화학물질 및 효소로부터 보호를 제공할 수 있다. 데이터베이스로 전송되거나 아티팩트로 기능화되기 전에 식별자 라이브러리는 동결건조되거나 동결될 수 있다. 식별자 라이브러리에는 뉴클레아제를 비활성화하기 위한 에틸렌디아민테트라아세트산(EDTA) 및/또는 핵산 분자의 안정성을 유지하기 위한 완충제가 포함될 수 있다.
데이터베이스는 정보를 식별자에 기록하거나, 정보를 복사하거나, 정보에 액세스하거나, 정보를 읽는 장치에 연결되거나 포함되거나 분리될 수 있다. 식별자 라이브러리의 일부는 복사, 액세스 또는 읽기 전에 데이터베이스에서 제거될 수 있다. 데이터베이스에서 정보를 복사하는 장치는 정보를 기록하는 장치와 같거나 다를 수 있다. 정보를 복사하는 장치는 장치에서 식별자 라이브러리의 부분 표본을 추출하고 해당 부분 표본을 시약 및 구성요소와 결합하여 식별자 라이브러리의 일부 또는 전체를 증폭할 수 있다. 장치는 증폭 반응의 온도, 압력 및 교반을 제어할 수 있다. 장치는 파티션을 포함할 수 있으며 식별자 라이브러리를 포함하는 파티션에서 하나 이상의 증폭 반응이 발생할 수 있다. 장치는 한 번에 둘 이상의 식별자 풀을 복사할 수 있다.
액세스된 데이터가 동일한 장치에서 판독되거나, 액세스된 데이터가 다른 장치로 전송될 수 있다. 판독 장치는 식별자를 검출하고 식별하기 위한 검출 유닛을 포함할 수 있다. 검출 유닛은 시퀀서(sequencer), 혼성화 어레이(hybridization array), 또는 식별자의 존재 또는 부재를 식별하기 위한 기타 유닛의 일부일 수 있다. 시퀀싱 플랫폼은 핵산 서열로 암호화된 정보를 해독하고 판독하기 위해 특별히 설계될 수 있다. 시퀀싱 플랫폼은 단일 또는 이중 가닥 핵산 분자의 시퀀싱 전용일 수 있다. 시퀀싱 플랫폼은 개별 염기(예: 염기별 시퀀싱)를 판독함으로써, 또는, 핵산 분자(예: 식별자)에 포함된 전체 핵산 서열(가령, 구성요소)의 존재 또는 부재를 검출함으로써, 핵산 인코딩 데이터를 디코딩할 수 있다. 대안적으로, 시퀀싱 플랫폼은 Illumina® 시퀀싱 또는 모세관 전기영동에 의한 단편화 분석과 같은 시스템일 수 있다. 대안적으로 또는 이에 더하여, 핵산 서열의 디코딩은 광학, 전기화학적 또는 화학적 신호를 생성하는 임의의 방법을 포함하지만 이에 제한되지 않는, 장치에 의해 구현되는 다양한 분석 기술을 사용하여 수행될 수 있다.
핵산 분자의 정보 저장은 장기 정보 저장, 민감한 정보 저장, 일회성 액세스 코드 저장, 의료 정보 저장을 포함하지만 이에 국한되지 않는 다양한 응용을 가질 수 있다. 예를 들어, 개인의 의료 정보(예: 의료 기록 및 기록)는 핵산 분자에 저장되어 개인이 휴대할 수 있다. 정보는 신체 외부(예: 웨어러블 장치) 또는 신체 내부(예: 피하 캡슐)에 저장될 수 있다. 환자가 진료소나 병원에 입원할 때 장치나 캡슐에서 샘플을 채취하고 핵산 시퀀서를 사용하여 정보를 해독할 수 있다. 핵산 분자로 된 의료 기록의 개인 저장은 컴퓨터 및 클라우드 기반 저장 시스템에 대한 대안을 제공할 수 있다. 핵산 분자에 의료 기록을 개인적으로 저장하면 의료 기록이 해킹되는 사례 또는 확산을 줄일 수 있다. 캡슐 기반 의료 기록 저장에 사용되는 핵산 분자는 인간 게놈 서열에서 파생될 수 있다. 인간 게놈 서열의 사용은 캡슐 손상 및 누출의 경우에 핵산 서열의 면역원성을 감소시킬 수 있다.
본 개시내용은 본 개시내용의 방법을 구현하도록 프로그래밍된 컴퓨터 시스템을 제공한다. 도 8은 디지털 정보를 핵산 서열로 인코딩하고/하거나 핵산 서열로부터 유도된 정보를 판독(예를 들어, 디코딩)하도록 프로그래밍되거나 다르게 구성된 컴퓨터 시스템(801)을 도시한다. 컴퓨터 시스템(801)은, 예를 들어, 인코딩된 비트스트림 또는 바이트 스트림으로부터 주어진 비트 또는 바이트에 대한 비트 값 및 비트 위치 정보와 같은, 본 개시의 인코딩 및 디코딩 절차의 다양한 양태를 조절할 수 있다.
컴퓨터 시스템(801)은 단일 코어 또는 멀티 코어 프로세서, 또는 병렬 처리를 위한 복수의 프로세서일 수 있는 중앙 처리 장치(CPU, 여기에서 "프로세서" 및 "컴퓨터 프로세서"라고도 함)(805)를 포함한다. 컴퓨터 시스템(801)은 또한 메모리 또는 메모리 위치(810)(예를 들어, 랜덤 액세스 메모리, 읽기 전용 메모리, 플래시 메모리), 전자 저장 유닛(815)(예를 들어, 하드 디스크), 하나 이상의 다른 시스템과 통신을 위한 통신 인터페이스(820)(예를 들어, 네트워크 어댑터), 및 캐시, 다른 메모리, 데이터 저장 장치 및/또는 전자 디스플레이 어댑터와 같은 주변 장치(825)를 포함한다. 메모리(810), 저장 유닛(815), 인터페이스(820) 및 주변 장치(825)는 마더보드처럼, 통신 버스(실선)를 통해 CPU(805)와 통신한다. 저장 유닛(815)은 데이터를 저장하기 위한 데이터 저장 유닛(또는 데이터 저장소)일 수 있다. 컴퓨터 시스템(801)은 통신 인터페이스(820)의 도움으로 컴퓨터 네트워크("네트워크")(830)에 작동 가능하게 연결될 수 있다. 네트워크(830)는 인터넷, 인터넷 및/또는 익스트라넷, 또는 인터넷과 통신하는 인트라넷 및/또는 익스트라넷일 수 있다. 네트워크(830)는 일부 경우에 통신 및/또는 데이터 네트워크이다. 네트워크(830)는 클라우드 컴퓨팅과 같은 분산 컴퓨팅을 가능하게 할 수 있는 하나 이상의 컴퓨터 서버를 포함할 수 있다. 네트워크(830)는 일부 경우에 컴퓨터 시스템(801)의 도움으로 피어-투-피어 네트워크를 구현할 수 있으며, 이는 컴퓨터 시스템(801)에 연결된 장치가 클라이언트 또는 서버로 동작하도록 할 수 있다.
CPU(805)는 프로그램 또는 소프트웨어로 구현될 수 있는 일련의 기계 판독 가능 명령을 실행할 수 있다. 명령어는 메모리(810)와 같은 메모리 위치에 저장될 수 있다. 명령어는 CPU(805)로 보내질 수 있고, CPU(805)는 본 발명의 방법을 구현하도록 CPU(805)를 후속적으로 프로그래밍하거나 다르게 구성할 수 있다. CPU(805)에 의해 수행되는 동작의 예는 페치(fetch), 디코딩(decode), 실행(execute) 및 라이트백(writeback)을 포함할 수 있다.
CPU(805)는 집적 회로와 같은 회로의 일부일 수 있다. 시스템(801)의 하나 이상의 다른 구성요소가 회로에 포함될 수 있다. 어떤 경우에는 회로가 ASIC(Application Specific Integrated Circuit)이다.
저장 유닛(815)은 드라이버, 라이브러리 및 저장된 프로그램과 같은 파일을 저장할 수 있다. 저장 유닛(815)은 사용자 데이터, 예를 들어, 사용자 선호도 및 사용자 프로그램을 저장할 수 있다. 일부 경우에 컴퓨터 시스템(801)은 인트라넷 또는 인터넷을 통해 컴퓨터 시스템(801)과 통신하는 원격 서버에 위치하는 것과 같이 컴퓨터 시스템(801) 외부에 있는 하나 이상의 추가 데이터 저장 유닛을 포함할 수 있다.
컴퓨터 시스템(801)은 네트워크(830)를 통해 하나 이상의 원격 컴퓨터 시스템과 통신할 수 있다. 예를 들어, 컴퓨터 시스템(801)은 핵산 서열에서 인코딩되거나 디코딩된 데이터를 분석하는 과정에서 사용자에 의해 사용될 수 있는, 사용자의 원격 컴퓨터 시스템 또는 기타 장치 및 기계(예: 핵산 서열에서 질소성 염기의 순서를 화학적으로 결정하기 위한 시퀀서 또는 기타 시스템)와 통신할 수 있다. 원격 컴퓨터 시스템의 예로는 개인용 컴퓨터(예: 휴대용 PC), 슬레이트 또는 태블릿 PC(예: Apple® iPad, Samsung® Galaxy Tab), 전화기, 스마트폰(예: Apple® iPhone, Android 지원 장치, Blackberry®) 또는 개인 디지털 보조기기가 포함된다. 사용자는 네트워크(830)를 통해 컴퓨터 시스템(801)에 액세스할 수 있다.
여기에 설명된 방법은 예를 들어 메모리(810) 또는 전자 저장 유닛(815)과 같은 컴퓨터 시스템(801)의 전자 저장 위치에 저장된 기계(예: 컴퓨터 프로세서) 실행 코드를 통해 구현될 수 있다. 기계 실행 가능 코드 또는 기계 판독 가능 코드는 소프트웨어의 형태로 제공될 수 있다. 사용하는 동안, 코드는 프로세서(805)에 의해 실행될 수 있다. 어떤 경우에, 코드는 저장 유닛(815)으로부터 검색될 수 있고 프로세서(805)에 의한 준비된 액세스를 위해 메모리(810)에 저장될 수 있다. 어떤 상황에서, 전자 저장 유닛(815) 컴퓨터 시스템(801)은 시퀀싱 머신, 바코드 스캐너, 레티나 스캐너, 지문 스캐너, 키패드 입력 장치, 면봉 장치 및 여기에 설명된 화학적 방법 및 작업 중 임의의 것을 수행하도록 구성된 자동화된 액체 취급 유닛 중 어느 하나에 작동 가능하게 연결될 수 있다. 컴퓨터 시스템(801)은 보안 위치 또는 보증금(deposit)에 대한 물리적 액세스를 잠그고 잠금 해제하도록 구성될 수 있다.
코드는 코드를 실행하도록 구성된 프로세서를 갖는 기계와 함께 사용하기 위해 미리 컴파일되고 구성될 수 있거나 런타임 동안 컴파일될 수 있다. 코드는 미리 컴파일되거나 컴파일된 대로 실행할 수 있도록 선택할 수 있는 프로그래밍 언어로 제공될 수 있다.
컴퓨터 시스템(801)과 같은 여기에 제공된 시스템 및 방법의 양태는 프로그래밍으로 구현될 수 있다. 기술의 다양한 측면은 일반적으로 일종의 기계 판독 가능 매체에 포함되거나 구현되는 기계(또는 프로세서) 실행 코드 및/또는 관련 데이터의 형태인 "제품" 또는 "제조품"으로 간주될 수 있다. 기계 실행 코드는 메모리(예: 읽기 전용 메모리, 랜덤 액세스 메모리, 플래시 메모리) 또는 하드 디스크와 같은 전자 저장 장치에 저장할 수 있다. "저장" 유형 매체는 컴퓨터, 프로세서 등의 유형 메모리 또는 다양한 반도체 메모리, 테이프 드라이브, 디스크 드라이브 등과 같은 관련 모듈의 유형 메모리 중 일부 또는 전부를 포함할 수 있으며, 이는 소프트웨어 프로그래밍을 위해 언제라도 비일시적 저장을 제공할 수 있다. 소프트웨어의 전부 또는 일부는 때때로 인터넷이나 다양한 기타 통신 네트워크를 통해 통신될 수 있다. 예를 들어, 그러한 통신은 한 컴퓨터 또는 프로세서에서 다른 컴퓨터 또는 프로세서로, 예를 들어 관리 서버 또는 호스트 컴퓨터에서 애플리케이션 서버의 컴퓨터 플랫폼으로 소프트웨어의 로딩을 가능하게 할 수 있다. 따라서 소프트웨어 요소를 포함할 수 있는 다른 유형의 미디어에는 유선 및 광학 유선 네트워크 및 다양한 공중 링크를 통해 로컬 장치 간의 물리적 인터페이스 전반에 걸쳐 사용되는 것과 같은 광학, 전기 및 전자기파가 포함된다. 유선 또는 무선 링크, 광 링크 등과 같이 이러한 전파를 전달하는 물리적 요소도 소프트웨어를 포함하는 미디어로 간주될 수 있다. 본 명세서에 사용된 바와 같이, 비일시적 유형의 "저장" 매체로 제한되지 않는 한, 컴퓨터 또는 기계 "판독 가능 매체"와 같은 용어는 실행을 위해 프로세서에 명령을 제공하는 데 참여하는 임의의 매체를 의미한다.
따라서, 컴퓨터 실행 가능 코드와 같은 기계 판독 가능 매체는 유형의 저장 매체, 반송파 매체 또는 물리적 전송 매체를 포함하지만 이에 제한되지 않는 많은 형태를 취할 수 있다. 비휘발성 저장 매체는, 예를 들어, 도면에 도시된 데이터베이스 등을 구현하는 데 사용될 수 있는 것과 같은 임의의 컴퓨터(들)의 임의의 저장 장치와 같은 광학 또는 자기 디스크를 포함한다. 휘발성 저장 매체는 이러한 컴퓨터 플랫폼의 메인 메모리와 같은 동적 메모리를 포함한다. 유형의 전송 매체에는 동축 케이블이 포함된다. 컴퓨터 시스템 내에서 버스를 구성하는 전선을 포함하는 구리선 및 광섬유. 반송파 전송 매체는 전기 또는 전자기 신호, 또는 무선 주파수(RF) 및 적외선(IR) 데이터 통신 중에 생성되는 것과 같은 음향 또는 광파의 형태를 취할 수 있다. 따라서 일반적인 형태의 컴퓨터 판독 가능 매체에는 플로피 디스크, 플렉서블 디스크, 하드 디스크, 자기 테이프, 기타 자기 매체, CD-ROM, DVD 또는 DVD-ROM, 기타 광학 매체, 펀치 카드 용지 테이프, 구멍 패턴이 있는 기타 물리적 저장 매체, RAM, ROM, PROM 및 EPROM, FLASH-EPROM, 기타 메모리 칩 또는 카트리지, 데이터 또는 명령을 전송하는 캐리어 웨이브, 이러한 캐리어를 전송하는 케이블 또는 링크 웨이브 또는 컴퓨터가 프로그래밍 코드 및/또는 데이터를 읽을 수 있는 기타 매체가 포함될 수 있다. 이러한 형태의 컴퓨터 판독 가능 매체 중 다수는 실행을 위해 프로세서에 하나 이상의 명령의 하나 이상의 서열을 전달하는 데 관련될 수 있다.
컴퓨터 시스템(801)은 예를 들어 크로마토그래프, 서열은 물론, DNA 저장 데이터로 인코딩 또는 디코딩될 핵산, 원시 데이터, 파일 및 압축 또는 압축 해제된 zip 파일을 인코딩 도는 디코딩하는 기계 또는 컴퓨터 시스템에 의해 인코딩되거나 판독되는 비트, 바이트 또는 비트 스트림을 포함한, 서열 출력 데이터를 제공하기 위한 사용자 인터페이스(UI)(840)를 포함하는 전자 디스플레이(835)를 포함하거나 이와 통신할 수 있다. UI의 예에는 그래픽 사용자 인터페이스(GUI) 및 웹 기반 사용자 인터페이스가 포함되지만 이에 국한되지 않는다. 본 개시내용의 방법 및 시스템은 하나 이상의 알고리즘을 통해 구현될 수 있다. 알고리즘은 중앙 처리 장치(805)에 의해 실행될 때 소프트웨어를 통해 구현될 수 있다. 알고리즘은 예를 들어 DNA 인덱스 및 원시 데이터 또는 압축 또는 압축 해제된 zip 파일 데이터와 함께 사용되어, 디지털 정보를 인코딩하기 전에 원시 데이터 또는 zip 파일 압축 데이터로부터 디지털 정보를 코딩하기 위한 맞춤형 방법을 결정할 수 있다.
여기에 설명된 시스템 및 방법과 관련된 화학적 방법은 2019년 5월 16일에 출원되고 미국 공개 제 2020/0193301 로 공개된 "COMPOSITIONS AND METHODS FOR NUCLEIC ACID-BASED DATA STORAGE"를 명칭으로 하는 미국특허출원 제16/414,758호; 및 2020년 9월 4일자로 출원된 "CHEMICAL METHODS FOR NUCLEIC ACID-BASED DATA STORAGE"라는 제목의 미국 특허 출원 제17/012,909호에 기재되어 있으며, 이들 각각의 전문이 본원에 참조로 포함된다.
결찰(ligation)은 시퀀싱 어댑터를 핵산 라이브러리에 부착하는 데 사용될 수 있다. 예를 들어, 결찰은 핵산 라이브러리의 각 구성원의 말단에서 공통의 끈적한 말단 또는 스테이플을 사용하여 수행될 수 있다. 핵산의 한쪽 끝에 있는 끈적한 말단 또는 스테이플이 다른 쪽 말단의 것과 구별되는 경우, 시퀀싱 어댑터는 비대칭적으로 결찰될 수 있다. 예를 들어, 순방향 시퀀싱 어댑터는 핵산 라이브러리의 구성원의 한쪽 말단에 연결될 수 있고 역방향 시퀀싱 어댑터는 핵산 라이브러리의 구성원의 다른 말단에 연결될 수 있다. 대안적으로, 무딘 말단 결찰을 사용하여 무딘 말단 이중 가닥 핵산 라이브러리에 어댑터를 부착할 수 있다. 포크 어댑터를 사용하여 양쪽 끝이 동일한 뭉툭한 끝 또는 끈적한 끝(예: A-꼬리)이 있는 핵산 라이브러리에 어댑터를 비대칭으로 부착할 수 있다.
핵산 증폭은 폴리머라제 연쇄 반응 또는 PCR로 실행할 수 있다. PCR에서 핵산의 시작 풀(주형 풀 또는 주형이라고 함)은 폴리머라제, 프라이머(짧은 핵산 프로브), 뉴클레오티드 삼인산염(예: dATP, dTTP, dCTP, dGTP 및 유사체 또는 이의 변이체) 및 베타인, DMSO 및 마그네슘 이온과 같은 추가 보조인자 및 첨가제와 조합될 수 있다. 주형(template)은 단일 가닥 또는 이중 가닥 핵산일 수 있다. 프라이머는 주형 풀의 표적 서열을 보완하고 혼성화화하기 위해 합성적으로 구축된 짧은 핵산 서열일 수 있다. "PCR"은 전형적으로 상기 형태의 반응을 구체적으로 지칭할 수 있지만, 임의의 핵산 증폭 반응을 지칭하기 위해 보다 일반적으로 사용될 수도 있다.
고처리량, 단일 분자 PCR은 서로 간섭할 수 있는 별개의 핵산 풀을 증폭하는 데 유용할 수 있다. 예를 들어, 여러 개의 별개의 핵산이 공통 서열 영역을 공유하는 경우, 이 공통 영역을 따라 핵산 간의 재조합이 PCR 반응 중에 발생할 수 있으며, 그 결과 새로운 재조합 핵산이 생성된다. 단일 분자 PCR은 서로 다른 핵산 서열을 구획화하여 상호 작용하지 않을 수 있으므로 이러한 잠재적 증폭 오류를 방지한다. 단일 분자 PCR은 시퀀싱을 위한 핵산 준비에 특히 유용할 수 있다. 단일 분자 PCR 매트는 템플릿 풀 내 여러 표적의 절대 정량에도 유용하다. 예를 들어, 디지털 PCR(또는 dPCR)은 별개의 단일 분자 PCR 증폭 신호의 빈도를 사용하여 샘플에서 시작 핵산 분자의 수를 추정한다.
PCR의 일부 구현에서, 핵산 그룹은 모든 핵산에 공통적인 프라이머 결합 부위에 대한 프라이머를 사용하여 비차별적으로 증폭될 수 있다. 예를 들어, 프라이머 결합 부위에 대한 프라이머는 풀의 모든 핵산에 인접한다. 합성 핵산 라이브러리는 일반 증폭을 위해 이러한 공통 부위로 생성되거나 조립될 수 있다. 그러나, 일부 구현에서, PCR은 예를 들어 핵산의 상기 표적 서브세트에만 나타나는 프라이머 결합 부위를 갖는 프라이머를 사용함으로써 풀로부터 핵산의 표적 서브세트를 선택적으로 증폭하는 데 사용될 수 있다. 합성 핵산 라이브러리는 관심 있는 잠재적 하위 라이브러리에 속하는 핵산이 보다 일반적인 라이브러리의 하위 라이브러리의 선택적 증폭을 위해 가장자리에서 공통 프라이머 결합 부위를 모두 공유하도록 생성되거나 조립될 수 있다.
친화성 태그가 지정된 핵산은 핵산 캡처를 위한 서열 특이적 프로브로 사용될 수 있다. 프로브는 핵산 풀 내의 표적 서열을 보완하도록 설계될 수 있다. 후속적으로, 프로브는 핵산 풀과 함께 인큐베이션되고 그의 표적에 혼성화될 수 있다.
합성 핵산 라이브러리는 일반적인 핵산 캡처를 위한 공통 프로브 결합 부위로 생성되거나 조립될 수 있다. 이러한 공통 부위는 조립 반응으로부터 완전히 조립되거나 잠재적으로 완전히 조립된 핵산을 선택적으로 포획하여, 부분적으로 조립되거나 잘못 조립된(또는 의도하지 않거나 바람직하지 않은) 부산물을 걸러내는 데 사용될 수 있다. 예를 들어, 조립은 완전히 조립된 핵산 제품만이 각 프로브를 사용하여 일련의 2개의 포획 반응을 통과하는 데 필요한 2개의 필수 프로브 결합 부위를 포함하도록 각 에지 서열 상의 프로브 결합 부위와 핵산을 조립하는 것을 포함할 수 있다. 엄격성을 높이기 위해 조립체의 각 구성요소에 공통 프로브 결합 부위가 포함될 수 있다. 일부 구현에서, 핵산 캡처는 풀로부터 핵산의 표적 서브세트를 선택적으로 캡처하는 데 사용될 수 있다. 예를 들어, 핵산의 상기 표적 서브세트에만 나타나는 결합 부위를 갖는 프로브를 사용함으로써. 합성 핵산 라이브러리는 관심 있는 잠재적 하위 라이브러리에 속하는 핵산이 더 일반적인 라이브러리의 하위 라이브러리의 선택적 캡처를 위해 공통 프로브 결합 부위(하위 라이브러리 내에서 공통이지만 다른 하위 라이브러리와 구별됨)를 모두 공유하도록 생성 또는 조립될 수 있다.
일부 구현에서, 핵산 라이브러리는 예를 들어 보존을 위해 동결건조될 수 있다. 동결건조는 탈수 과정이다. 핵산과 효소 모두 동결건조될 수 있다. 동결건조된 물질은 수명이 더 길 수 있다. 화학적 안정제와 같은 첨가제는 동결건조 과정을 통해 기능성 제품(예: 활성 효소)을 유지하는 데 사용할 수 있다. 수크로스 및 트레할로스와 같은 이당류는 화학적 안정제로 사용될 수 있다.
핵산은 시퀀싱을 용이하게 하도록 설계될 수 있다. 예를 들어, 핵산은 2차 구조, 단일 중합체의 스트레치, 반복적인 서열, GC 함량이 너무 높거나 낮은 서열과 같은 전형적인 서열 분석 합병증을 피하도록 설계될 수 있다. 특정 시퀀서 또는 시퀀싱 방법은 오류가 발생하기 쉽다. 합성 라이브러리(예: 식별자 라이브러리)를 구성하는 핵산 서열(또는 구성요소)은 서로 특정 해밍 거리를 두고 설계될 수 있다. 이런 식으로 염기 분해능 오류가 시퀀싱에서 높은 비율로 발생하더라도 오류를 포함하는 서열의 스트레치는 여전히 가장 가능성이 높은 핵산(또는 구성요소)으로 다시 매핑될 수 있다. 핵산 서열은 적어도 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15개 이상의 염기 돌연변이의 해밍 거리로 설계될 수 있다. 해밍 거리(hamming distance)의 대안적인 거리 측정법을 사용하여 설계된 핵산 사이의 최소 필수 거리를 정의할 수도 있다.
일부 시퀀싱 방법 및 기기는 어댑터 서열 또는 프라이머 결합 부위와 같은 특정 서열을 포함하기 위해 입력 핵산을 요구할 수 있다. 이러한 서열은 "방법 특이적 서열"라고 할 수 있다. 상기 시퀀싱 기구 및 방법에 대한 전형적인 준비 작업 흐름은 방법 특이적 서열을 핵산 라이브러리에 조립하는 것을 포함할 수 있다. 그러나 합성 핵산 라이브러리(예: 식별자 라이브러리)가 특정 기기나 방법으로 시퀀싱된다는 사실을 미리 알고 있는 경우 이러한 방법 특이적 서열을 라이브러리(가령, 식별자 라이브러리)를 포함하는 핵산(예: 구성요소)으로 설계할 수 있다. 예를 들어, 시퀀싱 어댑터는 합성 핵산 라이브러리의 구성원 자체가 개별 핵산 구성요소으로부터 조립되는 경우와 동일한 반응 단계에서 합성 핵산 라이브러리의 구성원에 조립될 수 있다.
핵산은 DNA 손상을 촉진할 수 있는 서열을 피하도록 설계될 수 있다. 예를 들어, 부위 특이적 뉴클레아제에 대한 부위를 포함하는 서열을 피할 수 있다. 다른 예로서, UVB(자외선-B) 광은 인접한 티민이 피리미딘 이량체를 형성하도록 하여 시퀀싱 및 PCR을 억제할 수 있다. 따라서 합성 핵산 라이브러리가 UVB에 노출된 환경에 저장되도록 의도된 경우 인접 티민(즉, TT)을 피하기 위해 핵산 서열을 설계하는 것이 유리할 수 있다.
식별자를 이용한 컴퓨팅 방법
화학적 작용을 사용하여 식별자 라이브러리에 인코딩된 데이터에 대한 계산을 수행하는 것이 가능할 수 있다. 이러한 작업은 전체 아카이브의 서브세트 또는 전체 아카이브에서 병렬 방식으로 수행될 수 있으므로 그렇게 하는 것이 유리할 수 있다. 둘째, 계산은 데이터를 해독하지 않고 시험관 내에서 수행될 수 있으므로 계산을 허용하면서 비밀을 보장할 수 있다. 일 실시예에서, AND, OR, NOT, NAND 등과 같은 부울 논리 연산을 포함하는 계산은 식별자의 존재가 '1'의 비트 값을 인코딩하고 식별자의 부재는 '0'의 비트 값을 인코딩한다.
한 실시양태에서, 모든 식별자는 단일 가닥 핵산 분자로 구성된다(또는 처음에는 이중 가닥 핵산 분자로 생성된 다음 단일 가닥 형태로 분리됨). 단일 가닥 식별자 x의 경우 x의 역보수 식별자를 x*로 나타낸다. 단일 가닥 식별자 집합 S에 대해 S에 있는 각 식별자의 역 보수 집합을 S*로 표시한다. 라이브러리에 있는 모든 가능한 단일 가닥 식별자 집합을 U로 표시하고 역 보수 집합을 U*로 표시한다. 우리는 이러한 집합을 우주와 우주*라고 부릅니다. Us 및 Us*는 두 번째 우주 및 우주* 세트 쌍을 나타냅니다. 이러한 세트의 각 식별자는 화학적 방법으로 표적화되거나 선택될 수 있는 검색 영역으로 알려진 추가 핵산 서열로 보강된다.
주어진 식별자 라이브러리에 대한 계산은 혼성화 및 절단을 포함하는 일련의 화학적 작업에 의해 구현될 수 있다. 이러한 작업의 추상화는 아래에 설명되어 있다. 각 작업은 식별자 풀을 입력으로 사용하여 작업을 수행하고 식별자 풀을 출력으로 반환한다.
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에 할당하는 작업 assign(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) 작업으로 표시된 다음 작업이 지정된 순서로 실행되었다고 가정한다.
1 A = make-single(dsA)
2 A* = make-single*(dsA)
3 B = make-single(dsB)
4 B* = make-single*(dsB)
5 P = get(A, "s")
6 Q = get(B*, "t")
7 A = delete(A, "s")
8 B* = delete(B*, "t")
도 9는 식별자 라이브러리로 계산하기 위한 예시적인 설정을 도시한다. 그림은 추상 트리 데이터 구조(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)는 아래의 연산 서열을 사용하여 구현될 수 있다.
1 R = combine(P, Q*)
2 S = double(R)
3 T = make-single(S)
4 T* = make-single*(S)
5 A = combine(A, T)
6 A* = combine(A, T*)
비트스트림 s 내 비트의 비트별 논리 부정으로 규정되는 연산 not(s)는 아래의 연산 시퀀스를 이용하여 구현될 수 있다:
1 R = get(U*, "s")
2 S = combine(P, R)
3 T = single(S)
4 V = make-single(T)
5 A = combine(A, V)
6 A* = combine(A*, T)
비트스트림 s 및 t에서 비트의 비트 논리 분리로 정의되는 연산 or(s, t)는 아래 연산 서열을 사용하여 구현될 수 있다:
1 R = get(B, "t")
2 A = combine(A, R)
3 A* = combine(A*, Q*)
비트스트림 s 및 t의 비트 결합의 비트 논리 부정으로 정의된 연산 nand(s, t)는 아래의 연산 서열을 사용하여 구현될 수 있다:
1 R = combine(P, Q*)
2 S = single(R)
3 T = make-single(S)
4 T* = make-single*(S)
5 A = combine(A, T)
6 A* = combine(A, T*)
일 실시예에서, 작업 single(X)은 X로부터의 단일 가닥 식별자가 범용 식별자에 혼성화하도록 먼저 X를 Us 또는 Us*와 결합하는 것을 포함할 수 있다. 또한 Us 및 Us*의 범용 식별자에는 특수 검색 영역이 있기 때문에 범용 식별자에 혼성화하는 이러한 분자는 표적 방식으로 액세스할 수 있다.
한 실시양태에서, double(X) 작업은 X의 식별자를 S1 뉴클레아제와 같은 단일 가닥 특이적 뉴클레아제로 처리한 다음 생성된 DNA 풀을 겔에서 실행하여 절단되지 않은 식별자들(따라서 완전히 이중 가닥)만을 분리시키는 단계를 포함할 수 있다.
도 10은 식별자 라이브러리에 의해 인코딩된 비트스트림 "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)의 식별자 라이브러리 표현을 제공하며 추가 계산에 사용될 수 있다.
DNA를 사용한 데이터 무작위화, 암호화 및 인증 방법
DNA를 사용하여 랜덤 비트스트림을 생성하고 저장하는 능력은 암호화 및 조합 알고리즘의 계산에 응용될 수 있다. DES와 같은 많은 암호화 알고리즘은 보안을 보장하기 위해 임의의 비트를 사용해야 한다. AES와 같은 다른 암호화 알고리즘은 암호화 키를 사용해야 한다. 일반적으로 이러한 임의의 비트와 키는 안전한 임의성의 소스를 사용하여 생성된다. 임의의 비트 또는 키의 체계적인 패턴이나 편향이 암호화된 메시지를 공격하고 깨뜨리는 데 악용될 수 있기 때문이다. 또한 암호화에 사용되는 키는 일반적으로 암호 해독을 위해 보관해야 한다. 암호화 방법의 보안 강도는 알고리즘에 사용된 키의 길이에 따라 다르다. 일반적으로 키가 길수록 암호화가 더 강력해진다. 일회용 패드와 같은 방법은 가장 안전한 암호화 방법 중 하나이지만 긴 키 요구 사항으로 인해 응용 프로그램이 제한적이다.
이 문서에 설명된 방법은 길이가 수십, 수백, 수천, 수만 또는 그 이상의 비트일 수 있는 매우 큰 랜덤 키 모음을 생성하고 보관하는 데 사용될 수 있다. 일 구현에서, 각각의 핵산 분자가 하기 설계를 만족시키는 핵산 라이브러리가 생성될 수 있다: 이는 k < n 염기의 가변 영역을 갖는 n 염기의 길이를 갖는다. 가변 영역의 염기는 라이브러리를 구성하는 동안 임의로 선택할 수 있다. 예를 들어, n은 100이고 k는 80일 수 있다. 따라서 크기가 1050인 서로 다른 분자의 라이브러리가 잠재적으로 생성될 수 있다. 예를 들어, 분자 크기가 1000인 이러한 라이브러리의 무작위 샘플은 암호화에 사용될 수 있는 최대 1000비트 무작위 키를 얻기 위해 시퀀싱될 수 있다.
다른 구현에서, 위에서 설명한 핵산 키(키를 나타내는 핵산 분자)는 키 세트의 정렬된 컬렉션을 생성하는 식별자에 부착될 수 있다. 순서가 지정된 키 세트는 암호화 컨텍스트에서 다양한 당사자가 키를 사용하는 순서를 동기화하는 데 사용할 수 있다. 예를 들어, 식별자 라이브러리는 1012개의 고유 식별자를 얻기 위해 제품 체계를 사용하여 조합적으로 구성될 수 있다. 미세유체 방법을 사용하여 각 식별자는 핵산 키와 함께 배치되고 고유 식별자와 무작위 키를 포함하는 핵산 샘플을 형성하도록 조립될 수 있다. 식별자 라이브러리의 식별자는 순서가 지정되어 있기 때문에 이제 키에 순서를 지정하고 지정된 순서로 액세스하고 순서를 지정할 수 있다.
다른 구현에서, 식별자에 부착된 키는 입력 식별자를 랜덤 비트의 스트링에 매핑하는 랜덤 함수를 인스턴스화하는 데 사용될 수 있다. 이러한 랜덤 함수는 해시와 같이 값을 계산하기는 쉽지만 주어진 값에서 반전하기 어려운 함수가 필요한 응용 프로그램에서 유용할 수 있다. 이러한 응용 프로그램에서 각각 고유 식별자로 조합된 키 라이브러리가 임의 기능으로 사용된다. 값이 해시될 때 식별자에 매핑된다. 다음으로, 혼성화 캡처 또는 PCR과 같은 임의 액세스 방법을 사용하여 키 라이브러리에서 식별자에 액세스한다. 식별자는 무작위 염기 서열을 포함하는 키에 첨부된다. 이 키는 순서가 지정되고 비트 스트링으로 변환되며 임의 함수의 출력으로 사용된다.
핵산 분자 라이브러리는 저렴하고 빠르게 복사될 수 있고 소량으로 은밀하게 전송될 수 있기 때문에, 위에서 설명한 바와 같이 생성된 핵산 키 세트는 많은 수의 암호화 키가 지리적으로 함께 배치되지 않은 여러 당사자 간에 안전하고 은밀한 방식으로 주기적으로 배포되어야 하는 상황에서 유용할 수 있다. 또한 키를 매우 오랜 기간 동안 안정적으로 보관할 수 있으므로 암호화된 보관 데이터를 안전하게 저장할 수 있다.
도 11-16은 DNA에 저장된 무작위 또는 암호화된 데이터를 생성, 저장, 액세스 및 사용하기 위한 방법의 구현을 예시한다. DNA는 회색과 검은색 막대 및 기호로 구성된 스트링으로 묘사된다. 각각의 묘사된 DNA는 별개의 종을 나타낸다. "종"은 동일한 서열의 하나 이상의 DNA 분자(들)로 정의된다. "종"이 복수의 의미로 사용되는 경우, 복수의 종의 모든 종은 별개의 서열을 가지고 있다고 가정할 수 있지만, 때로는 "종" 대신 "고유한 종"을 작성하여 명시적으로 나타내기도 한다.
도 11은 DNA와 시퀀서의 큰 조합 공간을 사용하는 엔트로피(또는 랜덤 데이터) 생성기의 예를 도시한다. 이 방법은 시드(seed)라고 하는 DNA 종의 무작위 풀로 시작한다. 시드는 이상적으로는 정의된 조합 DNA 세트의 모든 종의 균일한 분포를 포함해야 한다. 예를 들어 50개 염기(450개 구성원 포함)가 있는 모든 DNA 종이다. 그러나 전체 조합 공간은 모든 구성원이 시드로 나타내기에는 너무 클 수 있으므로 시드가 전체 조합 공간 대신 조합 공간의 임의의 서브세트를 포함하는 것이 허용된다. 시드 종은 가장자리에 공통 서열(검정색 및 밝은 회색 막대)를 가지도록 설계한 다음 중간에 별개의 서열(N…N)를 갖도록 설계할 수 있다. 축퇴 올리고뉴클레오티드 합성 전략을 사용하여 빠르고 저렴한 방식으로 이 시작 시드를 제조할 수 있다. 공통 에지 서열은 PCR을 통한 시드 증폭 또는 특정 판독(또는 시퀀싱) 방법과의 호환성을 가능하게 할 수 있다. 올리고뉴클레오티드 합성을 퇴화시키는 대안으로 조합 DNA 조립체(한 반응에서 다중화됨)를 사용하여 시드를 빠르고 저렴하게 생성할 수도 있다. 시퀀서는 시드에서 종을 무작위로 샘플링하며 무작위 순서로 수행한다. 주어진 시간에 시퀀서가 읽는 종에 불확실성이 있기 때문에 시스템은 엔트로피 생성기로 분류될 수 있으며, 예를 들어 암호화 키로 데이터의 난수 또는 난수 스트림을 생성하는 데 사용될 수 있다.
도 12a는 무작위로 생성된 데이터를 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에 조립될 수 있다. 도 12b는 각각 100개의 랜덤 염기를 함유하는 4종을 포함하는 예시적인 RIL을 나타낸다. 가능한 종의 조합 공간은 4100이므로 RIL에는
Figure pct00001
725비트의 정보가 포함될 수 있다. 도 12c는 또한 각각이 100개의 랜덤 염기를 함유하는 4종을 포함하는 예시적인 RIL을 보여준다. 4100개의 조합 공간에서 선택된 4개의 종의 특정 정렬되지 않은 조합에 정보를 저장하는 대안으로(도 12b에서와 같이), 각 종의 최종 90개의 랜덤 염기는
Figure pct00002
비트의 정보를 저장하기 위해 예약될 수 있고, 처음 10개의 무작위 염기는 4종 각각에 저장된 정보 간의 상대적 순서를 설정하기 위해 예약될 수 있다. 상대적 순서는 4개 염기의 정의된 순서를 기반으로 하는 10개 염기 스트링의 사전식 순서로 정의될 수 있다(영어의 단어가 알파벳 문자의 순서에 따라 정렬되는 방식과 유사). RIL에 정보를 할당하기 위한 이 방법은 도 12b에 설명된 방법보다 이진 스트링에 매핑하는 것이 계산상 더 빠를 수 있다.
이전 도면(도 12a-c)에서, 여러 RIL을 바코드화하고 함께 풀링하는 전략에 대해 논의했다. 그렇게 하면 입력이 바코드 혼성화 프로브(개별 RIL에 액세스하기 위한)에 해당하고 출력이 무작위 데이터 스트링(타겟 RIL에 의해 인코딩됨)에 해당하는 입력-출력 매핑이 생성된다. 이 방법에서 미리 정의된 바코드는 결합된 풀에서 검색하기 위해 무작위 데이터로 조립되는 반면, 도 13a는 바코드(데이터에 액세스하기 위한)가 랜덤 데이터 자체와 함께 랜덤하게 생성되는 랜덤 데이터 스트링과 핵산 프로브 사이의 입력-출력 매핑을 생성하기 위한 다른 방법을 보여준다. 예를 들어, 바코드는 하나 또는 여러 종의 양쪽 가장자리에 나타날 수 있는 한 쌍의 짧은 DNA 서열일 수 있다. 이 구현에서, 가능한 바코드의 조합 공간은 풀의 모든 가능한 종의 총 수에 비해 작을 수 있으므로 각 바코드는 우연히 하나 이상의 종과 연관된다. 예를 들어, 바코드가 종의 무작위 DNA 서열의 각 가장자리에 3개 염기(공통 서열 옆에 있음)인 경우 46 = 4096개의 가능한 바코드가 있으므로 액세스하기 위해 구축될 수 있는 46 = 4096개의 프라이머 쌍이 있다(12비트 입력에 해당). DNA 풀이 약 400K 종을 갖도록 선택되면 각 바코드는 평균적으로 약 100종과 연관될 수 있다. 이 구현에서, RIL은 각 바코드와 관련된 종의 서브세트로 정의된다. 앞의 예에 따라 각 종이 바코드에 사용된 염기(또는 염기서열)를 제외하고 25개의 임의 염기(또는 임의 염기서열)를 포함하는 경우 100종의 RIL과 관련된 바코드는 최대
Figure pct00003
Figure pct00004
의 정보 비트를 포함할 수 있다.
도 13b는 바코드화된 RIL의 풀로부터 저장된 랜덤 데이터를 액세스하고 판독하기 위한 방식의 구현을 나타낸다. 시퀀서(또는 판독기)는 출력을 반환하기 전에 서열 데이터를 조작하는 기능을 더 포함할 수 있다. 예를 들어 해시 함수는 역 화학적 쿼리를 수행하고 입력을 찾기 위해 출력 데이터 스트링을 사용하는 것을 어렵게 만들 수 있다. 이 기능은 예를 들어 입력이 인증에 사용되는 키 또는 자격 증명인 경우 유용할 수 있다.
질의가능한(또는 액세스가능한) 데이터의 랜덤 스트링을 생성하고 저장하는 방법은 암호화 키(랜덤 데이터 스트링에서 생성된)를 생성하고 보관하는 데 특히 유용할 수 있다. 각 입력은 다른 암호화 키에 액세스하는 데 사용할 수 있다. 예를 들어, 각 입력은 개인 아카이브 데이터베이스의 특정 사용자, 시간 범위 및/또는 프로젝트에 해당할 수 있다. 개인 아카이브 데이터베이스의 암호화된 데이터(잠재적으로 매우 많은 양의 데이터에 해당)는 아카이브 서비스 제공자가 기존 매체에 저장하는 반면 암호화 키는 소유자에 의해 DNA에 저장될 수 있다. 또한 특정 입력에 대한 화학적 액세스 프로토콜을 수행하는 데 필요한 잠재적인 대기 시간과 정교함은 해킹에 대한 암호화 방법의 보안 장벽을 높일 수 있다.
도 14는 아티팩트에 대한 액세스를 보호하고 인증하기 위한 예시적인 시스템을 도시한다. 시스템은 가능한 종의 큰 풀에서 가져온 특정 종의 DNA 조합을 포함하는 물리적 키를 필요로 한다. "식별자 키"라고도 하는 종의 표적 조합은 예를 들어 조합 미세유체 채널, 전기습윤 또는 인쇄 장치에 의해 자동으로 생성되거나 피펫팅에 의해 수동으로 생성될 수 있다. 잠금이 내장된 판독기 또는 시퀀서는 일치하는 식별자 키를 확인하고 아티팩트에 대한 액세스를 활성화한다. 또는 판독기가 아티팩트에 대한 액세스를 직접 잠금 해제하는 대신 아티팩트에 액세스하는 데 사용할 수 있는 토큰을 반환하는 자격 증명 토큰 시스템처럼 작동할 수 있다. 토큰은 예를 들어 판독기 내에 내장된 해시 기능에 의해 생성될 수 있으며, 여기서 해시 기능은 판독기로부터 전자적으로 데이터를 읽거나 시퀀싱하는 데 적용된다. 예를 들어, 판독기는 프로세서 판독 가능 매체에서 프로그램의 단계를 실행하도록 구성된 프로세서를 포함하며, 이 단계는 판독 또는 서열 데이터를 입력하고, 데이터에 하나 이상의 수학적 또는 논리적 연산을 적용하고, 해시된 값 또는 해시된 토큰을 출력하는 것을 포함한다.
판독기 내에서 또는 식별자를 시퀀싱한 후 해시 기능을 전자적으로 적용하는 대신, 식별자 라이브러리에 적용된 하나 이상의 반응을 통해 해시 기능을 화학적으로 적용하여 (그 후) 해시된 식별자의 시퀀싱 또는 판독 전에 해시된 라이브러리를 생성할 수 있다. 이 접근 방식은 해시된 식별자만 시퀀싱되거나 판독되므로 식별자에 의해 인코딩된 정보의 더 높은 보안을 위한 에어갭 방식을 나타내므로 원래 식별자 라이브러리의 서열 데이터가 노출되지 않기 때문에 유리하다. 도 15는 보안 및 인증에 사용하기 위한 핵산 분자의 라이브러리를 준비하기 위한 방법(1500)을 설명하는 흐름도를 도시한다. 방법(1500)은 단계 1502 및 1504를 포함한다. 단계 1502는 보안 토큰을 나타내는 핵산 분자의 라이브러리를 획득하는 것을 포함한다. 단계 1504는 해시 토큰을 나타내는 핵산 분자의 해시 라이브러리를 얻기 위해 보안 토큰을 나타내는 라이브러리에 화학적 작용을 적용하는 것을 포함한다.
화학적 작용은 보안 토큰에 대한 하나 이상의 부울 함수에 영향을 미치도록 설계될 수 있다. 예를 들어, 도 9 및 도 10과 관련하여 위에서 설명된 부울 함수는 라이브러리에 적용될 수 있으며 따라서 그것이 나타내는 토큰이다. 이러한 부울 함수는 해시된 토큰을 나타내는 해시된 라이브러리를 얻기 위해 라이브러리에 화학적으로 적용되는 해시 함수를 구성할 수 있다. 해시된 라이브러리는 원래 라이브러리의 서브세트일 수 있으며 서브세트는 라이브러리의 핵산 분자의 일부를 선택하여 결정된다.
일부 구현에서, 방법(1500)은 해시된 라이브러리의 핵산 분자의 적어도 일부를 시퀀싱하여 시퀀싱 판독값을 얻는 단계를 추가로 포함한다. 또한, 방법(1500)은 매칭 서열의 존재 또는 부재를 결정하기 위해 시퀀싱 판독을 데이터베이스 또는 순람표과 비교하는 것을 수반할 수 있다. 시퀀싱 판독에서 일치하는 서열의 존재 여부에 따라 보안 자산 또는 위치에 대한 액세스가 거부될 수 있다. 적합한 유형의 서열에는 Sanger 시퀀싱, 고처리량 시퀀싱, 샷건 시퀀싱 및 나노포어 시퀀싱이 포함된다.
해시된 라이브러리를 시퀀싱하는 대신, 검증 기능을 적용하여 전체 라이브러리를 시퀀싱할 필요 없이 해시된 토큰을 인증할 수 있다. 검증 기능은 해시된 토큰이 참조 서열과 일치하는 경우 출력 분자를 생성하기 위해 해시된 라이브러리에 대한 하나 이상의 추가 화학 작업에 의해 수행된다. 화학적 작업은 도 9 및 10과 관련하여 위에서 설명된 것과 같은 부울 논리를 수행하는 효과를 가질 수 있다. 그런 다음 분석을 사용하여 출력 분자의 존재 여부를 결정한다. 검증 기능의 화학적 작업에는 중첩된 PCR, 표적 특이적 프라이머를 사용한 PCR, 프로브 세트 적용(예: 친화성 태그가 지정된 프로브 또는 분해 표적화 프로브), 또는 해시된 라이브러리의 핵산과 상호작용하는 효소 또는 단백질 적용이 포함될 수 있다. 예를 들어, 검증 기능의 화학적 작업은 프라이머를 해시 라이브러리에 적용함으로써 해시 토큰을 참조 패턴/서열과 비교하는 효과를 가질 수 있다. 여기서 프라이머는 참조 패턴과 일치하는 서열을 갖는 핵산 분자만 혼성화하도록 설계된다. 또 다른 예는 참조 패턴에 상응하는 서열을 갖는 핵산 분자를 표적으로 하는 징크 핑거 뉴클레아제, 전사 활성제-유사 이펙터 뉴클레아제(Talen) 또는 CRISPR 관련 단백질(예: Cas9)을 사용하여 해시 토큰을 비교하거나 평가하는 것을 포함한다. 이러한 단백질은 표적 핵산 분자를 절단하여 단편을 생성할 수 있다. Cas9는 특이적으로 표적 핵산에 상보성을 갖는 가이드 RNA를 사용할 수 있다. 출력 분자는 소분자, 핵산 분자, 특정 서열을 갖는 핵산 분자, 라이브러리의 핵산 중 하나의 핵산 단편, 단백질, 효소, 기능화된 단백질, 태그가 붙은 분자, 또는 단기간에 붕괴하도록 구성된 분자 중 하나일 수 있다. 예를 들어, 출력 분자는 우라실의 티민으로의 메틸화 또는 우라실의 산화적 분해를 통해 분해되는 RNA(예: 라이브러리의 RNA)이며, RNA의 서열을 수정하여 RNA에 제한된 수명의 서열 충실도를 부여한다. .
예를 들어, PCR, 역전사 PCR(RT-PCR), qPCR, 친화성 태깅, 형광측정법 또는 전기영동을 검증 기능을 완료하기 위한 분석으로 사용할 수 있다. 형광 측정은 출력 분자가 형광단으로 태그되거나 태그가 지정될 때 특히 유용할 수 있다. RT-PCR은 RNA보다 화학적으로 더 안정적인 상보적 DNA(cDNA)를 생성하기 위해 출력 분자로 RNA를 분석하는 데 유용하다. 분석(assay)은 출력 분자의 화학적 동일성을 확인하기 위해 또한 또는 대안적으로 사용될 수 있다. 이 방법은 분석 결과를 기반으로 보안 자산 또는 위치에 대한 액세스를 허용하거나 거부하는 단계를 추가로 포함할 수 있다. 이 방법은 분석 결과에 기초하여 라이브러리와 관련된 아티팩트의 진위를 결정하는 단계를 추가로 포함할 수 있다.
일부 구현에서, 라이브러리는 고유한 분자 바코드를 포함한다. 라이브러리는 안정화된 보관을 위해 동결건조될 수 있다. 보안 토큰은 토큰 사용자에게 고유할 수 있다. 보안 토큰은 메시지, 코드워드, 무작위 코드워드/키/스트링, 아이덴티티 또는 통화 값을 인코딩할 수 있다. 토큰은 시스템에 로그인하기 위해 암호를 입력하고 시스템에 대한 액세스를 확인하거나 거부하기 위해 라이브러리가 표시되고, 해시되고, 유효성이 검사되는 이중 요소 인증 시스템의 일부일 수 있다. 라이브러리는 일정 기간 후에 소멸되도록 구성할 수 있다. 예를 들어, 라이브러리는 RNA(예: 라이브러리의 RNA)로, 우라실의 티민으로의 메틸화 또는 우라실의 산화적 분해를 통해 분해되며, RNA의 서열을 수정하여 RNA에 제한된 수명의 서열 충실도를 제공한다.
일부 구현에서, 라이브러리는 아티팩트와 함께 배치되고 보안 토큰은 아티팩트에 고유하다. 예를 들어, 아티팩트는 웰, 액적, 반점, 밀봉된 용기, 젤, 현탁액 또는 고체 매트릭스와 같은 라이브러리를 캡슐화하도록 구성된 용기이다. 다른 적절한 아티팩트에는 유체(예: 액체, 가스, 기름, 잉크, 압축 가스 또는 약물), 유기체, 통화 또는 문서가 포함된다. 아티팩트가 문서인 경우 라이브러리를 포함하는 잉크 또는 스탬프가 문서에 각인된다.
라이브러리는 적어도 약 1킬로비트의 정보를 인코딩할 수 있다. 보안 토큰은 복수의 기호를 포함할 수 있으며, 각 기호는 라이브러리의 핵산 분자의 고유한 서열로 표시된다. 일부 구현에서 라이브러리는 무작위로 생성된다. 예를 들어, 도 11-13과 관련하여 설명된 랜덤 라이브러리들 중 임의의 것이 사용된다. 일부 구현에서, 보안 토큰은 인코딩 방식을 통해 핵산 분자의 라이브러리에 의해 표현되며, 여기서 토큰은 2개의 가능한 기호 값 중 하나를 갖는 복수의 기호에 매핑되고, 여기서 복수의 기호 중 일 기호는, 기호가 2개의 가능한 기호 값 중 제1 기호 값을 갖는 경우 라이브러리 내 별개의 핵산 분자의 존재로 표현되고, 기호가 2개의 가능한 값 중 제2 김호 값을 갖는 경우 개별 핵산 분자의 부재로 표현된다.
DNA로 아티팩트에 태그를 지정하고 개체를 추적하는 방법
용매에 용해된 식별자 라이브러리는 정보로 태그를 지정하기 위해 물리적 아티팩트 내로 또는 그 위에 분사, 확산, 분배 또는 주입될 수 있다. 고체 형태(예: 동결건조)의 식별자 라이브러리는 정보로 태그를 지정하기 위해 물리적 아티팩트에 부착되거나, 정전기로 부착되거나, 화학적으로 결합되거나, 에어로졸화되고 분무될 수 있다. 예를 들어, 고유 식별자 라이브러리를 사용하여 아티팩트 유형의 개별 인스턴스에 태그를 지정할 수 있다. 아티팩트의 식별자 라이브러리 태그는 고유한 바코드 또는 값으로 작동하거나 제품 번호, 제조 또는 배송 날짜, 원산지 위치 또는 아티팩트의 이력(예: 이전 소유자의 거래 목록)과 관련된 기타 정보와 같은 보다 정교한 정보를 포함할 수 있다. 식별자를 사용하여 아티팩트에 태그를 지정하는 주요 이점은 식별자가 감지할 수 없고 내구성이 있으며 방대한 수의 아티팩트 인스턴스에 개별적으로 태그를 지정하는 데 적합하다는 것이다.
물리적 객체는 고유하게 식별 가능한 합성 DNA 샘플로 표시하거나 칠할 수 있다. 가스(예: 압축 공기) 및 액체(예: 잉크 또는 오일)에도 태그를 지정할 수 있으며 이는 기존 방법으로는 불가능하다. 잉크(예: 잉크 카트리지 또는 펜의 잉크)에 고유한 DNA 라이브러리로 태그가 지정되어 문서에 인쇄하거나 기록하는 데 사용되는 경우 해당 문서의 진위는 문서에서 DNA를 면봉으로 채취하고 염기서열을 분석하여 확인할 수 있다. 또한 문서의 자료를 보완하거나 검증하는 은밀한 메시지가 잉크에 포함될 수 있다. 태그는 눈에 띄지 않으며 예를 들어 객체가 특정 물리적 공간을 통해 이동했는지 또는 다른 객체와 상호 작용했는지 식별하는 데 사용할 수 있다. 태그는 또한 정량적이므로 특정 물체가 변조되거나 희석되었는지(액체 또는 기체인 경우) 확인하는 데 사용할 수 있다. 예를 들어 액체에 mL당 1000개의 태그 사본이 태그되어 있지만 나중에 표시되는 경우 mL당 100카피로 회수되면 액체가 희석되었음을 유추할 수 있다. 태그와 바코드를 쉽게 만들고 배포할 수 있다. 여기에는 최대 킬로비트 이상의 정보가 포함될 수 있다. 가능한 식별자의 사전 제작된 조합 공간에서 식별자의 서브세트를 사용하여 만들 수 있다.
식별자 라이브러리는 보안 자산에 대한 액세스 권한을 얻기 위한 토큰으로 쉽게 생성 및 사용할 수 있다. 토큰은 예를 들어 킬로비트의 정보를 인코딩하는 것처럼 작을 수 있지만 여전히 안전하다. 토큰을 나타내는 식별자 라이브러리는 가능한 식별자의 사전 제작된 조합 공간에서 식별자의 서브세트를 가져와 만들 수 있다. 예를 들어, 토큰은 예치 시 소유자에게 제공되고 자산 인출 시 승인될 수 있다. 또는 토큰은 물리적 키처럼 소유자가 생성할 수 있다. 토큰은 물리적 특성으로 인해 전자적 절도나 변조의 대상이 되지 않다. 마찬가지로, 신중한 성격 때문에 토큰을 위조하기 어려울 것이다. 토큰이 전자 형식 또는 읽을 수 있는 형식으로 들어가는 것을 방지하기 위해 화학적 방법을 사용하여 토큰을 해시하거나 유효성을 검사할 수 있다. 해시 함수 또는 검증 함수는 도 9 및 도 10과 관련하여 위에서 설명된 부울 논리 게이트와 같은 화학적 작용을 사용하여 수행될 수 있다. 예를 들어 AND, OR, NOT 및 NAND와 같은 화학 논리 게이트는 해시 함수를 형성하기 위해 함께 구성될 수 있으므로 해시된 토큰의 순서를 지정하여 원래 토큰을 추론하기가 어렵다. 해시된 토큰의 값은 자산에 대한 권한 부여를 결정하기 위해 데이터베이스와 일치할 수 있는 값이다. 해시 기능의 비가역성으로 인해 권한이 없는 당사자가 데이터베이스를 볼 수 있지만 자산의 보안과 권한 있는 당사자의 액세스 능력을 손상시키지 않는다. 추가로 또는 대안적으로, 화학 논리 게이트는 토큰을 구성하는 DNA 분자의 시퀀싱을 요구하지 않고 토큰을 검증할 수 있는 토큰에 대한 검증 기능을 포함할 수 있다. 예를 들어 토큰이 정확한 패턴과 일치하는 경우에만 유효성 검사 기능을 사용하여 특정 출력 식별자를 생성할 수 있다. 상기 식별자의 존재는 예를 들어 실시간 PCR(qPCR), 형광측정법 또는 겔 전기영동과 같은 분석을 사용하여 결정할 수 있다.
도 16은 추적 또는 인증을 위해 유체에 태그를 지정하기 위한 방법(1600)을 설명하는 흐름도를 도시한다. 방법(1600)은 단계(1602) 및 단계(1604)를 포함한다. 단계(1602)는 정보를 나타내는 핵산 분자의 라이브러리를 획득하는 것을 포함한다. 단계(1604)는 추적 또는 인증을 위해 태그가 지정된 유체를 얻기 위해 라이브러리를 포함하는 태그와 유체를 결합하는 것을 포함한다. 예를 들어, 핵산 분자의 라이브러리를 포함하는 태그는 태그된 유체 전체에 대략 균일하게 분산된다.
일부 구현에서, 방법 1600은 태그가 지정된 유체로부터 핵산 분자의 라이브러리를 샘플링하여 샘플을 얻는 단계를 추가로 포함한다. 샘플링에는 태그 또는 태그가 지정된 유체를 면봉으로 닦거나, 태그가 지정된 유체로부터 라이브러리의 적어도 일부를 추출(예: 피펫팅 또는 유체에서 체적 추출)하거나 또는 태그가 지정된 유체로부터 태그를 제거(예: 여과와 같은 분리 과정)하는 것이 수반될 수 있다. 일부 구현에서, 태그는 자기 비드를 더 포함하고, 샘플링은 자기 비드를 통해 태그를 추출하기 위해 유체에 자석을 적용하는 것을 포함한다. 방법(1600)은 핵산 분자의 샘플을 시퀀싱하여 시퀀싱 판독값을 얻는 것을 추가로 포함할 수 있다. 위에서 설명한 모든 시퀀싱 방법을 이 단계에 사용할 수 있다. 시퀀싱 판독은 도 8에 설명된 컴퓨터 네트워크(802)와 같은 컴퓨터 시스템으로 전송될 수 있다. 여기에 설명된 방법에 따르면, 시퀀싱 판독은 정보의 보안을 위해 해시된 데이터를 획득하기 위해 해시 함수를 사용하여 해시될 수 있다.
라이브러리는 적어도 약 1킬로비트의 정보를 인코딩할 수 있다. 정보의 양은 라이브러리 및/또는 유체의 크기에 따라 조정될 수 있다. 일부 구현에서, 태그는 태그 또는 유체에 특이적인 분자 바코드를 포함한다. 핵산 분자의 라이브러리에 의해 인코딩된 정보는 암호화된 메시지와 같은 메시지일 수 있다. 정보는 통화 가치를 나타낼 수 있다. 태그는 이중 인증 시스템의 일부일 수 있다.
일부 구현에서, 유체는 액체, 기체, 오일, 잉크, 압축 기체 또는 약물이다. 방법(1600)은 희석의 양을 결정하기 위해 태깅된 유체 내의 태그의 농도를 측정하는 것을 수반할 수 있다. 일부 구현에서, 태그는 일정 기간 내에 소멸 또는 희석되도록 구성된다. 예를 들어, 태그 또는 유체에 액세스하거나 샘플링할 때 기간이 시작된다. 예를 들어, 태그의 핵산은 우라실의 티민으로의 메틸화 또는 우라실의 산화적 분해를 통해 분해되는 RNA이며, RNA의 서열을 수정하여 RNA에 제한된 수명의 서열 충실도를 제공한다. 대안적으로, 유체는 잠긴 용기 내에 수용되고, 잠긴 용기가 파손될 때, 시약이 유체로 방출되어 태그와 반응한다.
핵산 분자의 라이브러리는 위에서 설명한 정보를 인코딩하는 식별자 라이브러리일 수 있다. 정보는 복수의 기호를 포함하거나 이에 매핑될 수 있으며, 각 기호는 라이브러리의 핵산 분자의 별개의 서열로 표시된다. 일부 구현에서 라이브러리는 더 큰 라이브러리의 서브세트이다. 일부 구현들에서, 라이브러리는 도 11 내지 도 13과 관련하여 위에서 설명된 바와 같이 무작위로 생성된다. 일부 구현에서, 정보는 인코딩 방식을 통해 핵산 분자의 라이브러리에 의해 표현되고, 여기서 정보는 2개의 가능한 기호 값 중 하나를 갖는 복수의 기호에 매핑되고, 여기서 복수의 기호들 중 일 기호는 기호가 2개의 가능한 기호 값의 제1 기호 값을 갖는 경우 라이브러리 내 별개의 핵산 분자의 존재에 의해 표현되고, 기호가 2개의 가능한 기호들 중 제2 기호 값을 갖는 경우 기호는 별개의 핵산 분자의 부재로 표현된다. 예를 들어, 두 가지 가능한 기호 값은 0과 1이고, 값 0을 갖는 기호에 대응하는 핵산 분자는 태그에 없고, 값 1을 갖는 기호에 대응하는 핵산 분자는 태그에 존재한다.
다른 구현에서, 하나 이상의 물리적 위치는 각각 식별자 라이브러리의 고유 식별자로 태그가 지정될 수 있다. 예를 들어, 물리적 사이트 A, B 및 C는 식별자 라이브러리로 어디에나 태그가 지정될 수 있다. 차량, 사람 또는 기타 객체와 같은 개체가 사이트 A를 방문하거나 사이트 A와 접촉하는 경우 의도적이든 아니든 식별자 라이브러리의 샘플을 선택할 수 있다. 나중에 개체에 액세스하면 개체로부터 샘플을 수집하고 화학적으로 처리하고 해독하여 개체가 방문한 사이트를 식별할 수 있다. 개체는 둘 이상의 사이트를 방문할 수 있으며 둘 이상의 샘플을 선택할 수 있다. 식별자 라이브러리가 분리되어 있는 경우 개체가 방문한 일부 또는 전체 사이트를 식별하는 데 유사한 프로세스가 사용될 수 있다. 그러한 체계는 개체의 은밀한 추적에 적용할 수 있다. 이 체계를 사용할 때의 몇 가지 이점은 식별자를 특별히 찾지 않는 한 감지할 수 없고, 생물학적으로 불활성으로 설계될 수 있으며, 방대한 수의 부위 또는 개체에 고유하게 태그를 지정하는 데 사용할 수 있다는 것이다.
다른 구현에서 식별자 라이브러리는 개체에 태그를 지정할 수 있다. 개체는 방문하는 사이트에 주입된 식별자의 샘플을 남길 수 있다. 이러한 샘플을 수집, 처리 및 디코딩하여 사이트를 방문했을 수 있는 개체를 식별할 수 있다.
예 1: DNA 분자에서 하나의 시를 암호화, 기입, 및 판독 .
인코딩될 데이터는 시를 포함하는 텍스트 파일이다. 데이터는 피펫으로 수동으로 인코딩되어 96개 구성요소로 이루어진 두 층의 DNA 구성요소를 함께 혼합하여 중첩 확장 PCR로 구현된 제품 방식을 사용하여 식별자를 구성한다. 첫 번째 층 X는 총 96개의 DNA 구성요소로 구성된다. 두 번째 층 Y도 총 96개의 구성요소로 구성된다. DNA를 작성하기 전에 데이터는 이진법으로 매핑된 다음, 원본 데이터의 61비트로 구성된 모든 인접(인접한 디스조인트) 스트링이 정확히 17비트 값의 1을 가진 96비트 스트링으로 변환되도록, 균일한 가중치 형식으로 다시 코딩된다. 이 균일한 가중치 형식은 자연스러운 오류 검사 특성을 가질 수 있다. 그런 다음 데이터는 96 x 96 테이블로 해시되어 참조 맵을 형성한다.
도 17a의 중간 패널은 시를 복수의 식별자로 인코딩하는 96 x 96 테이블의 2차원 참조 맵을 도시한다. 어두운 점은 '1' 비트 값에 해당하고 흰색 점은 '0' 비트 값에 해당한다. 데이터는 96개 구성요소로 구성된 두 계층을 사용하여 식별자로 인코딩된다. 테이블의 각 X 값과 Y 값에는 구성요소가 할당되고 X, Y 구성요소는 '1' 값으로 각 (X,Y) 좌표에 대해 중첩 확장 PCR을 사용하여 식별자로 조합된다. 각 가능한 (X,Y) 조립체의 존재 여부를 결정하기 위해 식별자 라이브러리를 시퀀싱하여 데이터를 다시 읽는다(예: 디코딩).
도 17a의 우측 패널은 시퀀싱에 의해 결정된 바와 같이 식별자 라이브러리에 존재하는 풍부한 서열의 2차원 히트 맵을 보여준다. 각 픽셀은 해당 X 및 Y 구성요소를 포함하는 분자를 나타내며 해당 픽셀의 회색조 강도는 다른 분자와 비교하여 해당 분자의 상대적 풍부함을 나타냅니다. 식별자는 각 행에서 상위 17개 가장 풍부한(X, Y) 조립체로 간주된다(균일한 가중치 인코딩은 96비트의 각 연속 스트링이 정확히 17개의 '1' 값을 가질 수 있음을 보장하므로 17개의 해당 식별자).
예 2: 62824비트 텍스트 파일 인코딩 .
인코딩될 데이터는 총 62824비트의 세 시편의 텍스트 파일이다. 데이터는 Labcyte Echo® Liquid Handler를 사용하여 인코딩되어, 384개 구성요소의 두 계층으로부터 DNA 구성요소를 함께 혼합하여, 중첩 확장 PCR로 구현된 제품 방식을 사용하여 식별자를 구성한다. 첫 번째 층 X는 총 384개의 DNA 구성요소로 구성된다. 두 번째 층인 Y도 총 384개의 구성요소로 구성된다. DNA를 쓰기 전에 데이터를 이진법으로 매핑한 다음, 가중치('1'의 비트 값 수)를 줄이고 체크섬을 포함하도록 다시 코딩한다. 체크섬은 192비트 데이터의 모든 연속 스트링에 대한 체크섬에 해당하는 식별자가 있도록 설정된다. 재코딩된 데이터의 가중치는 약 10,100으로서, 구성해야 하는 식별자의 수에 해당한다. 그런 다음 데이터는 384 x 384 테이블로 해시되어 참조 맵을 형성할 수 있다.
도 17b의 중간 패널은 텍스트 파일을 복수의 식별자로 인코딩하는 384 x 384 테이블의 2차원 참조 맵을 도시한다. 각 좌표(X,Y)는 위치 X + (Y-1)*192의 데이터 비트에 해당한다. 검은 점은 비트 값 '1'에 해당하고 흰색 점은 비트 값 '0'에 해당한다. 도면 오른쪽의 검은 점은 체크섬이고 도면 위쪽의 검은 점 패턴은 코드북(예: 데이터 디코딩을 위한 사전)이다. 테이블의 각 X 값과 Y 값에는 구성요소가 할당될 수 있으며 X, Y 구성요소는 '1' 값으로 각 (X, Y) 좌표에 대한 중첩 확장 PCR을 사용하여 식별자로 조합된다. 각 가능한 (X, Y) 조립체의 존재 여부를 결정하기 위해 식별자 라이브러리를 시퀀싱하여 데이터를 다시 읽는다(예: 디코딩).
도 17b의 우측 패널은 시퀀싱에 의해 결정된 바와 같이 식별자 라이브러리에 존재하는 풍부한 서열의 2차원 히트 맵을 보여준다. 각 픽셀은 해당 X 및 Y 구성요소를 포함하는 분자를 나타내며 해당 픽셀의 회색조 강도는 다른 분자와 비교하여 해당 분자의 상대적 풍부함을 나타냅니다. 식별자는 각 행에서 상위 S개의 가장 풍부한(X, Y) 조립체로 간주된다. 여기서 각 행의 S는 체크섬 값일 수 있다.
본 발명의 바람직한 구현이 여기에서 도시되고 설명되었지만, 그러한 구현이 단지 예로서 제공된다는 것이 당업자에게 명백할 것이다. 본 발명이 명세서 내에 제공된 특정 예에 의해 제한되는 것으로 의도되지 않는다. 본 발명이 전술한 명세서를 참조하여 설명되었지만, 본 명세서의 구현에 대한 설명 및 예시는 제한적인 의미로 해석되어서는 안 된다. 수많은 변형, 변경 및 대체가 이제 본 발명을 벗어나지 않고 당업자에게 발생할 것이다. 또한, 본 발명의 모든 양태는 다양한 조건 및 변수에 의존하는 본 명세서에 기재된 특정 묘사, 구성 또는 상대적 비율로 제한되지 않는다는 것을 이해해야 한다. 본 명세서에 기술된 본 발명의 구현에 대한 다양한 대안이 본 발명을 실시하는데 이용될 수 있음을 이해해야 한다. 따라서, 본 발명은 그러한 대안, 수정, 변형 또는 균등물도 포함하는 것으로 고려된다. 다음 청구범위는 본 발명의 범위를 정의하고 이러한 청구범위 및 그 균등물의 범위 내의 방법 및 구조는 이에 의해 포함되는 것으로 의도된다.

Claims (46)

  1. 추적 또는 인증을 위해 유체에 태그 지정하는 방법으로서,
    디지털 정보를 나타내는 핵산 분자의 라이브러리를 획득하는 단계; 그리고
    추적 또는 인증을 위한 태그 지정된 유체를 얻기 위해 핵산 분자의 라이브러리를 포함하는 태그와 유체를 결합하는 단계를 포함하는, 태그 지정 방법.
  2. 제1항에 있어서, 핵산 분자 라이브러리의 적어도 일부를 포함하는 샘플을 얻도록 태그지정된 유체를 샘플링하는 단계를 더 포함하는, 태그 지정 방법.
  3. 제2항에 있어서, 상기 샘플링은 태그로부터 또는 태그지정 유체로부터 볼륨을 면봉으로 닦거나 빼내는 것을 포함하는 태그 지정 방법.
  4. 제2항 또는 제3항에 있어서, 시퀀싱 판독값을 얻도록 샘플의 핵산 분자를 시퀀싱하는 단계를 더 포함하는, 태그 지정 방법.
  5. 제4항에 있어서, 일치하는 서열의 존재를 결정하기 위해 시퀀싱 판독값을 참조 서열과 비교하는 단계를 더 포함하는, 태그 지정 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 태그가 태그-별 분자 바코드를 포함하는, 태그 지정 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 상기 정보는 메시지를 포함하는, 태그 지정 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서, 유체가 오일, 잉크, 압축 가스, 또는 약물 중 어느 하나인, 태그 지정 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서, 희석의 양을 결정하기 위해 태그지정된 유체 내의 태그의 농도를 측정하는 단계를 더 포함하는, 태그 지정 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서, 상기 라이브러리가 핵산 분자의 풀로부터 핵산 분자의 서브세트를 선택함으로써 생성되는, 태그 지정 방법.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서, 태그지정된 유체에 액세스하여 태그지정된 유체 내 태그를 붕괴시키는 단계를 더 포함하는, 태그 지정 방법.
  12. 제1항 내지 제11항 중 어느 한 항에 있어서, 상기 태그는 이중-인자 인증 시스템의 일부인, 태그 지정 방법.
  13. 제1항 내지 제12항 중 어느 한 항에 있어서, 상기 정보는 통화 가치를 나타내는, 태그 지정 방법.
  14. 제1항 내지 제13항 중 어느 한 항에 있어서, 정보는 복수의 기호를 포함하고, 각각의 기호는 라이브러리의 핵산 분자의 별개의 서열로 표시되는, 태그 지정 방법.
  15. 제1항 내지 제14항 중 어느 한 항에 있어서, 라이브러리는 무작위로 생성되는, 태그 지정 방법.
  16. 제1항 내지 제15항 중 어느 한 항에 있어서, 정보는 인코딩 방식을 통해 핵산 분자의 라이브러리에 의해 표현되고, 상기 정보는 2개의 가능한 기호 값 중 하나를 갖는 복수의 기호에 매핑되며, 복수의 기호 중 일 기호는 기호가 2개의 가능한 기호 값 중 제1 기호 값을 갖는 경우 라이브러리 내 별개의 핵산 분자의 존재로 표시되고, 기호가 2개의 가능한 기호 값 중 제2 기호 값을 갖는 경우 별개의 핵산 분자의 부재로 표현되는, 태그 지정 방법.
  17. 제1항 내지 제16항 중 어느 한 항에 있어서, 상기 정보는 적어도 1 킬로비트의 정보를 포함하는, 태그 지정 방법.
  18. 보안 및 인증에 사용하기 위한 핵산 분자의 라이브러리를 제조하는 방법으로서,
    보안 토큰을 나타내는 핵산 분자의 라이브러리를 얻는 단계; 그리고
    해시된 토큰을 나타내는 핵산 분자의 해시된 라이브러리를 얻기 위해 보안 토큰을 나타내는 라이브러리에 화학적 작용을 적용하는 단계를 포함하는, 핵산 분자 라이브러리 제조 방법.
  19. 제18항에 있어서, 상기 화학적 작용은 보안 토큰에 대한 하나 이상의 부울 함수에 영향을 미치는, 핵산 분자 라이브러리 제조 방법.
  20. 제19항에 있어서, 상기 하나 이상의 부울 함수는 해시된 라이브러리에 의해 표시되는 해시된 토큰을 획득하도록 해시 함수를 보안 토큰에 적용하는, 핵산 분자 라이브러리 제조 방법.
  21. 제18항 내지 제20항 중 어느 한 항에 있어서,
    시퀀싱 판독값을 얻도록 해시된 라이브러리의 핵산 분자의 적어도 일부를 시퀀싱하는 단계를 더 포함하는, 핵산 분자 라이브러리 제조 방법.
  22. 제21항에 있어서,
    일치하는 서열의 존재 또는 부재를 결정하기 위해 시퀀싱 판독값을 데이터베이스 또는 순람표(look up table)와 비교하는 단계를 더 포함하는, 핵산 분자 라이브러리 제조 방법.
  23. 제22항에 있어서,
    매칭 서열의 존재 또는 부재의 결정에 기초하여 보안 자산 또는 위치에 대한 액세스를 허용하거나 거부하는 단계를 더 포함하는, 핵산 분자 라이브러리 제조 방법.
  24. 제21항 내지 제23항 중 어느 한 항에 있어서, 시퀀싱이 고처리량 시퀀싱, 샷건 시퀀싱, 또는 나노포어 시퀀싱 중 어느 하나를 포함하는, 핵산 분자 라이브러리 제조 방법.
  25. 제18항 내지 제20항 중 어느 한 항에 있어서,
    해시된 토큰이 참조 서열과 일치하는 경우 해시된 라이브러리에 추가 화학적 작업을 적용하여 출력 분자를 생성하는 단계; 그리고
    분석(assay)을 통해 출력 분자의 존재 또는 부재를 결정하는 단계를 더 포함하는, 핵산 분자 라이브러리 제조 방법.
  26. 제25항에 있어서, 상기 분석은 폴리머라제 연쇄 반응(PCR), 실시간 PCR, 역전사 PCR(RT-PCR), 형광측정법 및 겔 전기영동 중 하나인, 핵산 분자 라이브러리 제조 방법.
  27. 제25항 및 제26항 중 어느 한 항에 있어서, 상기 출력 분자가 해시된 라이브러리의 별개의 핵산 분자인, 핵산 분자 라이브러리 제조 방법.
  28. 제25항 내지 제27항 중 어느 한 항에 있어서,
    출력 분자의 존재를 기반으로 보안 자산 또는 위치에 대한 액세스를 허용하거나 거부하는 단계를 더 포함하는, 핵산 분자 라이브러리 제조 방법.
  29. 제18항 내지 제28항 중 어느 한 항에 있어서, 상기 라이브러리가 고유 분자 바코드를 포함하는, 핵산 분자 라이브러리 제조 방법.
  30. 제18항 내지 제29항 중 어느 한 항에 있어서, 상기 보안 토큰은 무작위로 생성된 키를 포함하는, 핵산 분자 라이브러리 제조 방법.
  31. 제18항 내지 제30항 중 어느 한 항에 있어서, 상기 라이브러리가 동결건조되는, 핵산 분자 라이브러리 제조 방법.
  32. 제18항 내지 제31항 중 어느 한 항에 있어서, 상기 라이브러리는 아티팩트와 함께 배치되고, 상기 보안 토큰은 상기 아티팩트에 고유한, 핵산 분자 라이브러리 제조 방법.
  33. 제32항에 있어서, 상기 아티팩트는 유체인, 핵산 분자 라이브러리 제조 방법.
  34. 제33항에 있어서, 유체가 오일, 잉크, 압축 가스, 또는 약물 중 어느 하나인 핵산 분자 라이브러리 제조 방법.
  35. 제33항 및 제34항 중 어느 한 항에 있어서,
    희석액의 양을 결정하기 위해 유체 내 라이브러리의 농도를 측정하는 단계를 더 포함하는, 핵산 분자 라이브러리 제조 방법.
  36. 제32항에 있어서, 상기 아티팩트가 유기체인, 핵산 분자 라이브러리 제조 방법.
  37. 제32항에 있어서, 상기 아티팩트가 문서인, 핵산 분자 라이브러리 제조 방법.
  38. 제18항 내지 제37항 중 어느 한 항에 있어서, 상기 라이브러리가 웰, 액적, 스팟, 밀봉 용기, 겔, 현탁액, 또는 고체 매트릭스 중 어느 하나에 함유되는, 핵산 분자 라이브러리 제조 방법.
  39. 제18항 내지 제38항 중 어느 한 항에 있어서, 상기 라이브러리가 핵산 분자의 풀로부터 핵산 분자의 서브세트를 선택함으로써 생성되는, 핵산 분자 라이브러리 제조 방법.
  40. 제18항 내지 제39항 중 어느 한 항에 있어서, 상기 보안 토큰은 이중 인자 인증 시스템의 일부인, 핵산 분자 라이브러리 제조 방법.
  41. 제18항 내지 제40항 중 어느 한 항에 있어서, 상기 보안 토큰은 복수의 기호를 포함하고, 각각의 기호는 라이브러리의 핵산 분자의 별개의 서열에 의해 표현되는, 핵산 분자 라이브러리 제조 방법.
  42. 제18항 내지 제41항 중 어느 한 항에 있어서, 상기 라이브러리가 무작위로 생성되는, 핵산 분자 라이브러리 제조 방법.
  43. 제18항 내지 제42항 중 어느 한 항에 있어서, 상기 보안 토큰은 인코딩 방식을 통해 핵산 분자의 라이브러리에 의해 표현되고, 상기 보안 토큰은 2개의 가능한 기호 값 중 하나를 갖도록 복수의 기호에 매핑되며, 상기 복수의 기호 중 일 기호는 기호가 2개의 가능한 기호 값 중 제1 기호 값을 갖는 경우 라이브러리 내 별개의 핵산 분자의 존재에 의해 표현되고, 기호가 2개의 가능한 기호 값 중 제2 기호 값을 갖는 경우 상기 기호는 별개의 핵산 분자의 부재에 의해 표현되는, 핵산 분자 라이브러리 제조 방법.
  44. 제18항 내지 제43항 중 어느 한 항에 있어서, 상기 보안 토큰은 적어도 1 킬로비트의 정보를 포함하는, 핵산 분자 라이브러리 제조 방법.
  45. 제18항 내지 제44항 중 어느 한 항에 있어서, 상기 보안 토큰은 사용자에게 고유한, 핵산 분자 라이브러리 제조 방법.
  46. 제18항 내지 제45항 중 어느 한 항에 있어서, 해시된 라이브러리는 라이브러리의 서브세트인, 핵산 분자 라이브러리 제조 방법.
KR1020227015875A 2019-10-11 2020-10-13 핵산 보안 및 인증 KR20220080172A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962914086P 2019-10-11 2019-10-11
US62/914,086 2019-10-11
PCT/US2020/055351 WO2021072398A1 (en) 2019-10-11 2020-10-13 Nucleic acid security and authentication

Publications (1)

Publication Number Publication Date
KR20220080172A true KR20220080172A (ko) 2022-06-14

Family

ID=73198444

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227015875A KR20220080172A (ko) 2019-10-11 2020-10-13 핵산 보안 및 인증

Country Status (7)

Country Link
US (2) US11535842B2 (ko)
EP (1) EP4041920A1 (ko)
JP (1) JP2022551186A (ko)
KR (1) KR20220080172A (ko)
AU (1) AU2020364250A1 (ko)
CA (1) CA3157804A1 (ko)
WO (1) WO2021072398A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4022300A1 (en) 2019-08-27 2022-07-06 President and Fellows of Harvard College Modifying messages stored in mixtures of molecules using thin-layer chromatography
US20230101083A1 (en) * 2021-09-30 2023-03-30 Microsoft Technology Licensing, Llc Anti-counterfeit tags using base ratios of polynucleotides
EP4212653A1 (en) 2022-01-18 2023-07-19 Universität Potsdam Molecular tagging using position-oriented nucleic acid encryption

Family Cites Families (141)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050032048A1 (en) 1988-05-03 2005-02-10 Oxford Gene Technology Limited Analyzing polynucleotide sequences
US6030657A (en) 1994-11-01 2000-02-29 Dna Technologies, Inc. Labeling technique for countering product diversion and product counterfeiting
US5821886A (en) 1996-10-18 1998-10-13 Samsung Electronics Company, Ltd. Variable length code detection in a signal processing system
US6419883B1 (en) 1998-01-16 2002-07-16 University Of Washington Chemical synthesis using solvent microdroplets
EP0970101A2 (en) 1997-03-20 2000-01-12 University Of Washington Solvent for biopolymer synthesis, solvent microdroplets and methods of use
AU6846698A (en) 1997-04-01 1998-10-22 Glaxo Group Limited Method of nucleic acid amplification
US6537747B1 (en) 1998-02-03 2003-03-25 Lucent Technologies Inc. Data transmission using DNA oligomers
US6187537B1 (en) 1998-04-27 2001-02-13 Donald E. Zinn, Jr. Process and apparatus for forming a dry DNA transfer film, a transfer film product formed thereby and an analyzing process using the same
US6458583B1 (en) 1998-09-09 2002-10-01 Agilent Technologies, Inc. Method and apparatus for making nucleic acid arrays
US6309828B1 (en) 1998-11-18 2001-10-30 Agilent Technologies, Inc. Method and apparatus for fabricating replicate arrays of nucleic acid molecules
US6221653B1 (en) 1999-04-27 2001-04-24 Agilent Technologies, Inc. Method of performing array-based hybridization assays using thermal inkjet deposition of sample fluids
US7501245B2 (en) 1999-06-28 2009-03-10 Helicos Biosciences Corp. Methods and apparatuses for analyzing polynucleotide sequences
US6446642B1 (en) 1999-11-22 2002-09-10 Agilent Technologies, Inc. Method and apparatus to clean an inkjet reagent deposition device
KR100917731B1 (ko) 2001-05-11 2009-09-15 파나소닉 주식회사 생체분자 기판 및 그것을 이용한 검사 및 진단의 방법 및장치
WO2003025123A2 (en) 2001-08-28 2003-03-27 Mount Sinai School Of Medecine Dna: a medium for long-term information storage specification
JP2005503813A (ja) 2001-09-25 2005-02-10 独立行政法人理化学研究所 オリゴマー及び/又はポリマーを適用した支持体を含む印刷物、その製造方法、ならびにその配送及び/又は保管方法
US7361310B1 (en) 2001-11-30 2008-04-22 Northwestern University Direct write nanolithographic deposition of nucleic acids from nanoscopic tips
US20030116630A1 (en) 2001-12-21 2003-06-26 Kba-Giori S.A. Encrypted biometric encoded security documents
US6773888B2 (en) 2002-04-08 2004-08-10 Affymetrix, Inc. Photoactivatable silane compounds and methods for their synthesis and use
US7306316B2 (en) 2002-05-29 2007-12-11 Arizona Board Of Regents Nanoscale ink-jet printing
US20040043390A1 (en) 2002-07-18 2004-03-04 Asat Ag Applied Science & Technology Use of nucleotide sequences as carrier of cultural information
US8071168B2 (en) 2002-08-26 2011-12-06 Nanoink, Inc. Micrometric direct-write methods for patterning conductive material and applications to flat panel display repair
US7491422B2 (en) 2002-10-21 2009-02-17 Nanoink, Inc. Direct-write nanolithography method of transporting ink with an elastomeric polymer coated nanoscopic tip to form a structure having internal hollows on a substrate
DE10308931A1 (de) 2003-02-28 2004-09-23 Apibio Sas System und Verfahren zur Synthese von Polymeren
US6943417B2 (en) 2003-05-01 2005-09-13 Clemson University DNA-based memory device and method of reading and writing same
JP2005080523A (ja) 2003-09-05 2005-03-31 Sony Corp 生体遺伝子に導入するdna、遺伝子導入ベクター、細胞、生体遺伝子への情報導入方法、情報処理装置および方法、記録媒体、並びにプログラム
CA2542343C (en) 2003-10-14 2017-05-09 Sachin Ahuja Method and device for partitioning a molecule
US20050239102A1 (en) 2003-10-31 2005-10-27 Verdine Gregory L Nucleic acid binding oligonucleotides
DE102005012567B4 (de) 2005-03-04 2008-09-04 Identif Gmbh Markierungslösung, deren Verwendung und Verfahren zu ihrer Herstellung
US7600840B2 (en) 2005-08-12 2009-10-13 Samsung Electronics Co., Ltd. Device for printing droplet or ink on substrate or paper
EP1933974A1 (en) 2005-10-07 2008-06-25 Koninklijke Philips Electronics N.V. Ink jet device for the controlled positioning of droplets of a substance onto a substrate, method for the controlled positioning of droplets of a substance, and use of an ink jet device
CN101282842B (zh) 2005-10-07 2010-09-01 皇家飞利浦电子股份有限公司 用于将物质小滴受控地定位到基底上的喷墨装置和方法
EP1782886A1 (en) 2005-11-02 2007-05-09 Sony Deutschland GmbH A method of patterning molecules on a substrate using a micro-contact printing process
WO2007060634A1 (en) 2005-11-28 2007-05-31 Koninklijke Philips Electronics N. V. Ink jet device for releasing controllably a plurality of substances onto a substrate, method of discriminating between a plurality of substances and use of an ink jet device
EP1963105A2 (en) 2005-12-22 2008-09-03 Koninklijke Philips Electronics N.V. Ink jet device for the positioning of a substance onto a substrate, method for the positioning of a substance onto a substrate and use of an ink jet device
US20090033690A1 (en) 2006-01-12 2009-02-05 Koninklijke Philips Electronics N.V. Ink jet device and method for releasing a plurality of substances onto a substrate
CN101495654A (zh) 2006-04-19 2009-07-29 阿普里拉股份有限公司 无凝胶珠基测序的试剂、方法和文库
US20100029490A1 (en) 2006-09-21 2010-02-04 Koninklijke Philips Electronics N.V. Ink-jet device and method for producing a biological assay substrate using a printing head and means for accelerated motion
CN101535806A (zh) 2006-10-30 2009-09-16 皇家飞利浦电子股份有限公司 多孔生物测定衬底以及用于生产这种衬底的方法和设备
US20090023607A1 (en) 2007-05-09 2009-01-22 Nanolnk, Inc. Compact nanofabrication apparatus
EP2170501A2 (en) 2007-06-20 2010-04-07 Northwestern University Universal matrix
WO2009011709A1 (en) 2007-07-19 2009-01-22 The Board Of Trustees Of The University Of Illinois High resolution electrohydrodynamic jet printing for manufacturing systems
US8452725B2 (en) 2008-09-03 2013-05-28 Hamid Hatami-Hanza System and method of ontological subject mapping for knowledge processing applications
US9684678B2 (en) 2007-07-26 2017-06-20 Hamid Hatami-Hanza Methods and system for investigation of compositions of ontological subjects
CZ301799B6 (cs) 2007-07-30 2010-06-23 Kencl@Lukáš Zpusob úpravy datové informace v systému
ATE520536T1 (de) 2007-08-20 2011-09-15 Moore Wallace North America Verfahren und vorrichtung für tintenstrahldruck
DE102007057802B3 (de) 2007-11-30 2009-06-10 Geneart Ag Steganographische Einbettung von Informationen in kodierenden Genen
JP5171346B2 (ja) 2008-03-28 2013-03-27 株式会社日立ハイテクノロジーズ 文字列検索システム及び方法
EP2329425B1 (en) 2008-09-10 2013-07-31 DataLase Ltd Multi-coloured codes
JPWO2010029629A1 (ja) 2008-09-11 2012-02-02 長浜バイオラボラトリー株式会社 Dna含有インク組成物
US8769689B2 (en) 2009-04-24 2014-07-01 Hb Gary, Inc. Digital DNA sequence
US8806127B2 (en) 2009-10-26 2014-08-12 Genisyss Llc Data storage device with integrated DNA storage media
US20110269119A1 (en) 2009-10-30 2011-11-03 Synthetic Genomics, Inc. Encoding text into nucleic acid sequences
US8735327B2 (en) 2010-01-07 2014-05-27 Jeansee, Llc Combinatorial DNA taggants and methods of preparation and use thereof
WO2011150168A1 (en) 2010-05-28 2011-12-01 Gen9, Inc. Methods and devices for in situ nucleic acid synthesis
US20110312600A1 (en) 2010-06-17 2011-12-22 Geneasys Pty Ltd Genetic analysis loc with thermal bend actuated pressure pulse valve
US9114399B2 (en) 2010-08-31 2015-08-25 Canon U.S. Life Sciences, Inc. System and method for serial processing of multiple nucleic acid assays
CA3210003A1 (en) * 2010-10-22 2012-04-26 Cold Spring Harbor Laboratory Varietal counting of nucleic acids for obtaining genomic copy number information
US10024796B2 (en) 2010-10-29 2018-07-17 President And Fellows Of Harvard College Nucleic acid nanostructure barcode probes
US20120329561A1 (en) 2010-12-09 2012-12-27 Genomic Arts, LLC System and methods for generating avatars and art
KR101345337B1 (ko) 2011-06-13 2013-12-30 한국생명공학연구원 원자간력 현미경(afm)을 이용한 딥-펜 나노리소그래피에서의 단일 또는 다중팁을 이용한 나노포지셔닝 기판 제조장치 및 제조방법
CN104774757B (zh) 2011-07-20 2017-03-01 加利福尼亚大学董事会 双孔装置
US20150083797A1 (en) 2012-05-09 2015-03-26 Apdn (B.V.I.) Inc. Verification of physical encryption taggants using digital representatives and authentications thereof
KR20150016572A (ko) 2012-06-01 2015-02-12 유럽피안 몰레큘러 바이올로지 래보러토리 Dna 디지털 정보의 고-용량 저장
CN108875312A (zh) 2012-07-19 2018-11-23 哈佛大学校长及研究员协会 利用核酸存储信息的方法
US9266370B2 (en) 2012-10-10 2016-02-23 Apdn (B.V.I) Inc. DNA marking of previously undistinguished items for traceability
US8937564B2 (en) 2013-01-10 2015-01-20 Infinidat Ltd. System, method and non-transitory computer readable medium for compressing genetic information
CA3209385A1 (en) 2013-02-01 2014-08-07 The Regents Of The University Of California Methods for genome assembly and haplotype phasing
WO2014122467A1 (en) 2013-02-06 2014-08-14 Loxbridge Research Llp Systems and methods for early disease detection and real-time disease monitoring
KR102245192B1 (ko) 2013-05-06 2021-04-29 온테라 인크. 나노포어를 이용한 표적 검출
CA2926436A1 (en) 2013-10-07 2015-04-16 Judith Murrah Multimode image and spectral reader
US10027347B2 (en) 2014-03-28 2018-07-17 Thomson Licensing Methods for storing and reading digital data on a set of DNA strands
US10020826B2 (en) 2014-04-02 2018-07-10 International Business Machines Corporation Generating molecular encoding information for data storage
US20150312212A1 (en) 2014-04-24 2015-10-29 David Holmes Holistic embodiment of dna and ipv6
EP2958238A1 (en) 2014-06-17 2015-12-23 Thomson Licensing Method and apparatus for encoding information units in code word sequences avoiding reverse complementarity
KR101788673B1 (ko) 2014-06-24 2017-11-15 싸이퍼롬, 인코퍼레이티드 핵산염기서열 보안 방법, 장치 및 이를 저장한 기록매체
WO2016019078A1 (en) 2014-07-30 2016-02-04 Tufts University Three dimensional printing of bio-ink compositions
WO2016015701A1 (de) 2014-07-31 2016-02-04 Schebo Biotech Ag Vorrichtung zur bioanalytik, deren herstellung und verfahren zum nachweis von bioanalyten mittels der vorrichtung
EP2983297A1 (en) 2014-08-08 2016-02-10 Thomson Licensing Code generation method, code generating apparatus and computer readable storage medium
EP3186392A4 (en) 2014-08-28 2018-04-04 APDN (B.V.I.) Inc. In-field dna extraction, detection and authentication methods and systems therefor
WO2016036969A1 (en) 2014-09-03 2016-03-10 Nantomics, Llc Synthetic genomic variant-based secure transaction devices, systems and methods
WO2016059610A1 (en) 2014-10-18 2016-04-21 Malik Girik A biomolecule based data storage system
EP3215895B1 (de) 2014-11-03 2022-02-23 Universität Osnabrück Verfahren zur durchführung eines kapillar-nanodrucks, feld von tintentropfen und feld von drähten erhältlich nach dem verfahren
WO2016081834A2 (en) 2014-11-20 2016-05-26 Cytonics Corporation Therapeutic variant alpha-2-macroglobulin compositions
US11164661B2 (en) 2015-04-10 2021-11-02 University Of Washington Integrated system for nucleic acid-based storage and retrieval of digital data using keys
US10385387B2 (en) 2015-04-20 2019-08-20 Pacific Biosciences Of California, Inc. Methods for selectively amplifying and tagging nucleic acids
WO2016182814A2 (en) 2015-05-08 2016-11-17 Illumina, Inc. Cationic polymers and method of surface application
US10423341B1 (en) 2015-06-12 2019-09-24 Bahram Ghaffarzadeh Kermani Accurate and efficient DNA-based storage of electronic data
US9898579B2 (en) 2015-06-16 2018-02-20 Microsoft Technology Licensing, Llc Relational DNA operations
EP3322812B1 (en) 2015-07-13 2022-05-18 President and Fellows of Harvard College Methods for retrievable information storage using nucleic acids
CN108698012A (zh) 2015-09-22 2018-10-23 特韦斯特生物科学公司 用于核酸合成的柔性基底
US20170093851A1 (en) 2015-09-30 2017-03-30 Aetna Inc. Biometric authentication system
EP3160049A1 (en) 2015-10-19 2017-04-26 Thomson Licensing Data processing method and device for recovering valid code words from a corrupted code word sequence
US20170136452A1 (en) 2015-11-13 2017-05-18 SoluDot LLC Method for high throughput dispensing of biological samples
US10566077B1 (en) 2015-11-19 2020-02-18 The Board Of Trustees Of The University Of Illinois Re-writable DNA-based digital storage with random access
US10047235B2 (en) 2015-12-08 2018-08-14 Xerox Corporation Encoding liquid ink with a device specific biomarker
US10640822B2 (en) 2016-02-29 2020-05-05 Iridia, Inc. Systems and methods for writing, reading, and controlling data stored in a polymer
WO2017151195A1 (en) 2016-02-29 2017-09-08 The Penn State Research Foundation Nucleic acid molecular diagnosis
US10438662B2 (en) 2016-02-29 2019-10-08 Iridia, Inc. Methods, compositions, and devices for information storage
WO2017184677A1 (en) 2016-04-21 2017-10-26 President And Fellows Of Harvard College Method and system of nanopore-based information encoding
WO2017189914A1 (en) 2016-04-27 2017-11-02 Massachusetts Institute Of Technology Sequence-controlled polymer random access memory storage
DK3452591T3 (da) 2016-05-02 2023-09-18 Encodia Inc Makromolekyleanalyse under anvendelse af nukleinsyrekodning
WO2017190297A1 (zh) 2016-05-04 2017-11-09 深圳华大基因研究院 利用dna存储文本信息的方法、其解码方法及应用
EP3478852B1 (en) 2016-07-01 2020-08-12 Microsoft Technology Licensing, LLC Storage through iterative dna editing
WO2018017131A1 (en) 2016-07-22 2018-01-25 Hewlett-Packard Development Company, L.P. Method of preparing test samples
CA3031415A1 (en) 2016-07-22 2018-01-25 Nucleotrace Pty. Ltd. A method for amplification of nucleic acid sequences
US20190194484A1 (en) 2016-09-08 2019-06-27 Thomas Villwock Methods and systems for authenticating goods using analyte encoded security fluids
KR102217487B1 (ko) 2016-09-21 2021-02-23 트위스트 바이오사이언스 코포레이션 핵산 기반 데이터 저장
US10370246B1 (en) 2016-10-20 2019-08-06 The Board Of Trustees Of The University Of Illinois Portable and low-error DNA-based data storage
WO2018081566A1 (en) 2016-10-28 2018-05-03 Integrated Dna Technologies, Inc. Dna data storage using reusable nucleic acids
US10650312B2 (en) 2016-11-16 2020-05-12 Catalog Technologies, Inc. Nucleic acid-based data storage
KR102534408B1 (ko) 2016-11-16 2023-05-18 카탈로그 테크놀로지스, 인크. 핵산-기반 데이터 저장
US10853244B2 (en) 2016-12-07 2020-12-01 Sandisk Technologies Llc Randomly writable memory device and method of operating thereof
US10417208B2 (en) 2016-12-15 2019-09-17 Sap Se Constant range minimum query
US10984029B2 (en) 2016-12-15 2021-04-20 Sap Se Multi-level directory tree with fixed superblock and block sizes for select operations on bit vectors
WO2018132457A1 (en) 2017-01-10 2018-07-19 Roswell Biotechnologies, Inc. Methods and systems for dna data storage
US10787699B2 (en) 2017-02-08 2020-09-29 Microsoft Technology Licensing, Llc Generating pluralities of primer and payload designs for retrieval of stored nucleotides
CA3052962A1 (en) 2017-02-08 2018-08-16 Essenlix Corp. Digital assay
US10793897B2 (en) 2017-02-08 2020-10-06 Microsoft Technology Licensing, Llc Primer and payload design for retrieval of stored polynucleotides
WO2018148257A1 (en) 2017-02-13 2018-08-16 Thomson Licensing Apparatus, method and system for digital information storage in deoxyribonucleic acid (dna)
US10920274B2 (en) 2017-02-21 2021-02-16 Apdn (B.V.I.) Inc. Nucleic acid coated submicron particles for authentication
CA3054303A1 (en) 2017-02-22 2018-08-30 Twist Bioscience Corporation Nucleic acid based data storage
US10774379B2 (en) 2017-03-15 2020-09-15 Microsoft Technology Licensing, Llc Random access of data encoded by polynucleotides
RU2769652C2 (ru) 2017-05-16 2022-04-04 Албертус Баренд ГЕЛДЕНХЕЙС Обработка мельчайших деталей цифровых данных для анализа культурных артефактов
US11612873B2 (en) 2017-05-31 2023-03-28 Molecular Assemblies, Inc. Homopolymer encoded nucleic acid memory
US10742233B2 (en) 2017-07-11 2020-08-11 Erlich Lab Llc Efficient encoding of data for storage in polymers such as DNA
WO2019046768A1 (en) 2017-08-31 2019-03-07 William Marsh Rice University SYMBOLIC SEQUENCING OF DNA AND RNA BY SEQUENCE CODING
EP3682449A1 (en) 2017-10-27 2020-07-22 ETH Zurich Encoding and decoding information in synthetic dna with cryptographic keys generated based on polymorphic features of nucleic acids
US10940171B2 (en) 2017-11-10 2021-03-09 Massachusetts Institute Of Technology Microbial production of pure single stranded nucleic acids
US10936953B2 (en) 2018-01-04 2021-03-02 Twist Bioscience Corporation DNA-based digital information storage with sidewall electrodes
WO2019178577A1 (en) 2018-03-15 2019-09-19 Twinstrand Biosciences, Inc. Methods and reagents for enrichment of nucleic acid material for sequencing applications and other nucleic acid material interrogations
EP3766077A4 (en) 2018-03-16 2021-12-08 Catalog Technologies, Inc. CHEMICAL PROCESSES FOR DATA STORAGE BASED ON NUCLEIC ACIDS
KR102138864B1 (ko) 2018-04-11 2020-07-28 경희대학교 산학협력단 Dna 디지털 데이터 저장 장치 및 저장 방법, 그리고 디코딩 방법
US11106633B2 (en) * 2018-04-24 2021-08-31 EMC IP Holding Company, LLC DNA-based data center with deduplication capability
KR20210029147A (ko) 2018-05-16 2021-03-15 카탈로그 테크놀로지스, 인크. 핵산-기반 데이터를 저장하기 위한 조성물 및 방법
WO2019246434A1 (en) 2018-06-20 2019-12-26 Brown University Methods of chemical computation
AU2019315604A1 (en) 2018-08-03 2021-03-25 Catolog Technologies, Inc Systems and methods for storing and reading nucleic acid-based data with error protection
GB201821155D0 (en) 2018-12-21 2019-02-06 Oxford Nanopore Tech Ltd Method
US20220064705A1 (en) 2018-12-26 2022-03-03 Bgi Shenzhen Method and device for fixed-point editing of nucleotide sequence with stored data
US10956806B2 (en) 2019-06-10 2021-03-23 International Business Machines Corporation Efficient assembly of oligonucleotides for nucleic acid based data storage
US10917109B1 (en) 2020-03-06 2021-02-09 Centre National De La Recherche Scientifique Methods for storing digital data as, and for transforming digital data into, synthetic DNA

Also Published As

Publication number Publication date
AU2020364250A1 (en) 2022-04-28
US11535842B2 (en) 2022-12-27
EP4041920A1 (en) 2022-08-17
US20210108194A1 (en) 2021-04-15
CA3157804A1 (en) 2021-04-15
US20230295607A1 (en) 2023-09-21
WO2021072398A1 (en) 2021-04-15
JP2022551186A (ja) 2022-12-07

Similar Documents

Publication Publication Date Title
US11379729B2 (en) Nucleic acid-based data storage
US20230376788A1 (en) Nucleic acid-based data storage
US11227219B2 (en) Compositions and methods for nucleic acid-based data storage
US20230295607A1 (en) Nucleic acid security and authentication
KR20200132921A (ko) 핵산-기반 데이터를 저장하기 위한 화학적 방법들
US20230308275A1 (en) Nucleic acid storage for blockchain and non-fungible tokens
KR20230160898A (ko) 고정 소수점 숫자 표현 및 계산 회로
WO2023168085A1 (en) Dna microarrays and component level sequencing for nucleic acid-based data storage and processing
KR20230074153A (ko) 온도 제어 유체 반응 시스템