03. 세포와 RNA 분자에 주소 붙이기
RNA를 복사해 만든 DNA인 cDNA를 수천 세포에서 한 용기에 합치기 전에 각 분자에 두 개의 주소를 붙입니다. cell barcode는 어느 세포에서 왔는지, UMI(unique molecular identifier, 고유 분자 식별자)는 그 세포 안의 어느 원래 RNA 분자에서 왔는지 기록합니다. 시퀀서가 읽어 낸 짧은 서열 조각 하나를 read라고 합니다.
이 수업의 질문: 모든 세포의 cDNA를 섞은 뒤에도 read의 세포 출처와 원래 분자 수를 어떻게 복원하는가?
한 방울을 작은 작업 공간으로 쓴다
섹션 제목: “한 방울을 작은 작업 공간으로 쓴다”10x Chromium 같은 droplet 방식은 세포 현탁액과 barcode가 붙은 gel bead를 미세한 방울로 나눕니다. 목표는 방울 하나에 세포 하나와 bead 하나가 들어가는 것입니다. 적은 cDNA를 분석할 수 있을 만큼 늘리는 중합효소연쇄반응(polymerase chain reaction, PCR)을 위해 bead에는 공통 서열도 들어 있습니다.
Bead 표면에는 짧은 DNA 사슬인 oligo가 많이 붙어 있습니다. oligo 하나에는 네 역할을 하는 구간이 이어져 있습니다.
| 부분 | 하는 일 |
|---|---|
| PCR handle | 나중에 cDNA를 복제해 늘리고 시퀀싱할 때 쓰는 공통 서열 |
| cell barcode | 같은 방울에서 나온 cDNA에 공통으로 붙는 세포 주소 |
| UMI | 원래 RNA 분자마다 달라지는 짧은 무작위 식별자 |
| poly(dT) | mRNA 끝의 연속된 A 서열인 poly(A) tail에 결합해 RNA를 cDNA로 복사하기 시작 |
세포막이 방울 안에서 열리면 mRNA가 bead의 poly(dT)에 붙습니다. RNA를 cDNA로 복사하는 역전사가 일어나며 cell barcode와 UMI도 cDNA에 붙습니다. 이 표지가 붙은 뒤에는 여러 방울의 cDNA를 한 용기에 모아도 출처를 다시 나눌 수 있습니다.
세 종류의 barcode를 구분한다
섹션 제목: “세 종류의 barcode를 구분한다”시퀀서가 읽은 서열과 품질 점수를 저장하는 FASTQ 파일에서 barcode라는 말은 서로 다른 주소를 가리킬 수 있습니다. 시퀀싱할 분자 묶음인 library를 여러 개 함께 읽을 때는 sample index가 각 library의 출처를 구분합니다.
| 이름 | 구분하는 대상 | 같은 값이 붙는 범위 |
|---|---|---|
| sample index | 시퀀싱 run 안의 라이브러리 | 같은 샘플 라이브러리의 모든 분자 |
| cell barcode | 한 라이브러리 안의 방울 | 같은 방울에서 포획된 모든 cDNA |
| UMI | 한 세포 안의 원래 RNA 분자 | 그 분자에서 증폭된 read 묶음 |
sample index만 있으면 샘플 A와 B는 나눌 수 있지만 샘플 A 안의 세포끼리는 나눌 수 없습니다. cell barcode가 세포를 나누고, UMI가 한 세포 안의 분자를 나눕니다.
read 수 대신 UMI 수를 세는 이유
섹션 제목: “read 수 대신 UMI 수를 세는 이유”세포 하나의 RNA 양은 매우 적어서 시퀀싱 전에 cDNA를 PCR로 증폭해야 합니다. 그런데 어떤 분자는 열 번 복제되고 다른 분자는 두 번만 복제될 수 있습니다. read 수를 그대로 발현량으로 쓰면 잘 증폭된 분자가 실제보다 많아 보입니다.
그래서 같은 cell barcode + gene + UMI 조합의 read를 한 묶음으로 접습니다. 이 묶음 하나가 count matrix의 값 1에 기여합니다.
CB=C1 gene=CD3D UMI=A7 read 1CB=C1 gene=CD3D UMI=A7 read 2 -> 같은 분자의 PCR 복제CB=C1 gene=CD3D UMI=K2 read 3 -> 별도 원래 분자
결과: cell C1의 CD3D count = 2UMI는 완벽한 일련번호가 아닙니다. 서로 다른 분자가 우연히 같은 UMI를 받을 수 있고, UMI 서열 자체에 시퀀싱 오류가 생길 수 있습니다. 분석 도구는 같은 유전자 안에서 한 염기만 다른 UMI와 read 지지도를 비교해 오류 가능성이 높은 UMI를 보정합니다.
3′ count는 전사체 전체를 읽는 방식이 아니다
섹션 제목: “3′ count는 전사체 전체를 읽는 방식이 아니다”10x 3′ 방식은 mRNA의 poly(A) tail 가까운 부분을 포획해 유전자별 분자 수를 효율적으로 셉니다. 수천 세포를 처리하는 대신 전사체 전체 길이를 고르게 읽지는 않습니다.
따라서 이 데이터는 유전자 수준 발현과 세포 유형 구분에 잘 맞지만, 같은 유전자에서 만들어진 서로 다른 전사체인 isoform이나 엑손 조합이 달라지는 alternative splicing을 정밀하게 비교하는 입력으로는 제한적입니다. 전사체 전체가 필요한 질문에는 Smart-seq2 같은 full-length 방식이 더 맞을 수 있습니다.
cell barcode는 RNA의 세포 출처를, UMI는 증폭 전 원래 RNA 분자를 표시합니다. 같은 세포·유전자·UMI의 PCR read를 하나로 합쳐야 증폭 편향을 줄인 count를 얻을 수 있습니다.
다음 FASTQ에서 세포×유전자 행렬까지에서는 이 주소를 읽어 barcode를 검증하고, cDNA read를 유전자에 배정해 희소 행렬을 만드는 과정을 따라갑니다.
- 10x droplet barcoding 원리: Zheng et al., Nature Communications (2017)
- UMI를 이용한 단일세포 RNA 분자 정량: Islam et al., Nature Methods (2014)
- Cell Ranger의 barcode·UMI 처리: 10x Genomics Cell Ranger gene expression algorithm
- full-length Smart-seq2: Picelli et al., Nature Protocols (2014)