01. 벌크 RNA 시퀀싱이란
벌크 RNA 시퀀싱(bulk RNA sequencing, bulk RNA-seq)은 조직(tissue) 샘플이나 세포 집단에서 RNA를 한꺼번에 추출해 유전자별 양을 측정하는 실험 방법입니다. 조직 조각이나 정제한 세포 집단을 입력받아 FASTQ read를 만들고, 분석을 거쳐 gene × sample 발현 행렬을 출력합니다.
이 수업의 질문: 여러 세포의 RNA를 함께 읽으면 어떤 표가 만들어지고, 그 표로 무엇을 말할 수 있는가?
결과부터 보면 샘플 하나가 표의 한 열이다
섹션 제목: “결과부터 보면 샘플 하나가 표의 한 열이다”대장 조직에서 정상 샘플 두 개와 종양 샘플 두 개를 측정했다고 가정해 봅시다. 아래 값은 설명을 위한 가상 raw count입니다.
| gene | normal_1 | normal_2 | tumor_1 | tumor_2 |
|---|---|---|---|---|
| EPCAM | 820 | 760 | 2,430 | 2,180 |
| CD3D | 310 | 410 | 520 | 610 |
| COL1A1 | 190 | 240 | 1,340 | 1,120 |
행은 유전자, 열은 생물학적 샘플, 값은 그 유전자에 배정된 fragment 수입니다. 시퀀싱 깊이와 RNA 구성의 영향을 보정한 뒤 정상군과 종양군을 비교하면 어떤 유전자의 발현이 일관되게 달라졌는지 검정할 수 있습니다.
tumor_1 열 안에는 암세포, 면역세포, 섬유아세포 등 조직 샘플에 있던 여러 세포의 RNA가 함께 들어 있습니다. 따라서 COL1A1 count가 높아도 암세포가 직접 발현을 늘렸는지, COL1A1을 많이 만드는 섬유아세포가 늘었는지는 이 표만으로 구분할 수 없습니다.
이름에 들어 있는 세 단어를 구분해 읽는다
섹션 제목: “이름에 들어 있는 세 단어를 구분해 읽는다”| 단어 | 뜻 | 데이터에서 보존되는 단위 |
|---|---|---|
| bulk | 여러 세포의 RNA를 한 용기에 모음 | 조직 샘플 또는 정제한 세포 집단 |
| RNA | 포획 시점에 존재한 전사체를 측정 | 유전자·전사체의 상대적 양 |
| sequencing | cDNA 조각을 read로 표본 추출 | 염기서열과 글자별 품질 |
벌크를 흔히 “조직의 평균 발현”이라고 부르지만, 모든 세포의 값을 똑같이 가중한 산술 평균은 아닙니다. 세포 수, 세포마다 가진 RNA 양, 추출 효율이 섞인 pooled signal입니다. RNA를 많이 가진 세포 종류가 결과에 더 크게 기여할 수 있습니다.
조직 샘플이 count 행렬이 되는 과정
섹션 제목: “조직 샘플이 count 행렬이 되는 과정”1. 조직 샘플에서 RNA를 추출한다
섹션 제목: “1. 조직 샘플에서 RNA를 추출한다”조직 샘플을 풀고 DNA, 단백질과 불순물을 제거해 RNA pool을 얻습니다. 이때 세포별 출처와 원래 위치 정보는 사라집니다. mRNA를 선택하는 poly(A) selection이나 rRNA를 제거하는 방식에 따라 최종 library에 남는 RNA 종류도 달라집니다.
2. RNA를 cDNA library로 바꾼다
섹션 제목: “2. RNA를 cDNA library로 바꾼다”RNA는 불안정하고 일반적인 short-read 시퀀서는 DNA를 읽습니다. 역전사로 RNA의 DNA 사본인 cDNA(complementary DNA)를 만들고, 짧은 fragment로 나눈 뒤 양 끝에 adapter를 붙입니다. 이 fragment 묶음이 cDNA library입니다.
tissue = collect_sample()rna_pool = extract_rna(tissue) # 여러 세포의 RNA가 합쳐진 상태cdna_pool = reverse_transcribe(rna_pool)library = add_adapters(fragment(cdna_pool))
assert library.is_compatible_with("sequencer")이 코드는 실험을 실행하는 코드가 아니라 단계 사이의 자료형 변화를 나타낸 의사코드입니다.
3. 시퀀싱해 FASTQ를 만든다
섹션 제목: “3. 시퀀싱해 FASTQ를 만든다”시퀀서는 library fragment의 염기서열을 읽고 염기별 품질 점수와 함께 FASTQ에 기록합니다. 샘플마다 index를 붙이면 여러 library를 함께 읽은 뒤 index를 기준으로 FASTQ를 다시 나눌 수 있습니다.
4. read를 유전자별 count로 모은다
섹션 제목: “4. read를 유전자별 count로 모은다”FASTQ read의 품질을 확인하고 reference genome에 정렬한 뒤, GTF annotation을 이용해 유전자에 배정합니다. 샘플별 count 열을 합치면 처음 본 gene × sample 행렬이 됩니다.
| 단계 | 입력 | 출력 |
|---|---|---|
| 실험 | 조직 샘플 또는 세포 집단 | cDNA library |
| 시퀀싱 | cDNA library | FASTQ |
| 정렬·정량 | FASTQ, reference genome, GTF | 샘플별 gene count |
| 통계 분석 | count matrix, sample metadata | 발현 차이와 불확실성 |
무엇을 답할 수 있는가
섹션 제목: “무엇을 답할 수 있는가”- 한 샘플에서 어떤 유전자가 많이 또는 적게 발현되는가?
- 반복 샘플이 있는 두 조건에서 어떤 유전자가 일관되게 달라지는가?
- library 제작법과 read 구조가 지원한다면 어떤 transcript나 splice junction이 관측되는가?
조건 차이를 검정하려면 각 조건의 독립적인 biological replicate가 필요합니다. 같은 library를 여러 번 읽는 technical replicate는 시퀀싱 변동을 줄일 수 있지만 사람이나 샘플 사이의 생물학적 변동을 대신하지 못합니다.
무엇은 count 행렬만으로 결론 낼 수 없는가
섹션 제목: “무엇은 count 행렬만으로 결론 낼 수 없는가”- 어느 세포 종류가 RNA를 만들었는가?
- RNA 증가가 단백질 증가로 이어졌는가?
- 관찰된 발현 차이가 질환의 원인인가, 결과인가?
- 표본 채취와 세포 구성 차이를 제거해도 같은 효과가 남는가?
세포 출처가 핵심이면 싱글셀 RNA 시퀀싱을 고려합니다. 단백질, 공간 위치와 인과관계는 각각 추가 측정과 실험 설계가 필요합니다.
🧩 스플라이싱과 아이소폼: pre-mRNA에서 인트론이 잘려 나가고 엑손이 이어져 성숙 mRNA가 됩니다. 서로 다른 엑손 조합은 같은 유전자에서 다른 아이소폼을 만들 수 있습니다. 이 때문에 RNA read 정렬에는 splice junction을 처리하는 방법이 필요합니다.
벌크 RNA-seq는 조직 샘플이나 세포 집단의 RNA를 함께 추출해 시퀀싱하고, 유전자별 count를 샘플 단위로 모으는 방법입니다. 핵심 결과물은 gene × sample 행렬입니다. 조건 사이의 샘플 수준 발현 차이는 비교할 수 있지만, 혼합 뒤에는 세포별 출처와 위치를 복원할 수 없습니다.
다음 라이브러리에서 FASTQ까지에서는 cDNA fragment를 시퀀서가 어떻게 읽고 품질 점수와 함께 기록하는지 살펴봅니다.
- RNA-seq를 이용한 전사체 정량: Mortazavi et al., Nature Methods (2008)
- RNA-seq 실험과 분석 모범 사례: Conesa et al., Genome Biology (2016)
- 정상 조직의 bulk 발현 레퍼런스: GTEx Consortium, Nature Genetics (2013)