Quality Control(QC)는 왜 중요할까?
Single Cell RNA Sequencing은 한 번에 많은 수의 세포를 동시에 관찰할 수 있는 방법입니다. 그러나 실험 과정에서 손상되거나 죽은 세포, 혹은 두 세포가 하나의 Droplet에 잡혀 (Doublet 이라고 보통 말합니다.) 잘못 측정되는 등 여러 이유로 인해 "믿을 수 없는" 세포 정보가 포함될 수 있습니다. 이는 분석 결과를 왜곡하거나 해석을 복잡하게 만들기 때문에, 데이터를 분석하기 전에 QC 단계를 통해 "신뢰할 수 있는 세포(barcode)' 만 선별하는 과정이 필수적입니다.
주요 QC 지표 3가지
1. 세포별 카운트 수(count depth)
- 각 세포 바코드에서 얻은 총 유전자 발현량(UMI 카운트)의 합을 뜻합니다.
- 이상치(Outlier)
- 너무 낮은 값: 세포가 죽었거나(mRNA가 유출), 막이 파괴되어 실제 세포 내 발현량을 정확히 반영하지 못하는 상황일 수 있습니다.
- 너무 높은 값: 두 개 이상의 세포가 하나의 droplet에 같이 잡힌 "doublet"일 가능성이 있습니다.
- 해결: 일반적으로 histogram이나 log scale plot을 이용해 "정상적인" 분포 범위를 찾고, 특정 임계값(threshold)을 설정하여 그 밖의 세포를 제거합니다.
2. 세포별 검출된 유전자 수(number of genes)
- 각 세포에서 탐지된 유전자의 총 개수
- 이상치
- 너무 적은 유전자 수: 세포가 손상되어 있는 경우가 많습니다. (세포질 mRNA가 유출)
- 너무 많은 유전자 수: doublet(또는 multiplet)을 가능성이 큽니다.
- 주의할 점
- 일부 세포는 실제로 기능적 특성에 의해 유전자 발현량이 낮을 수도 있습니다.(예를 들어 휴지기(quiescent) 상태).
- 각 세포의 크기나 상태에 따라서 원래 발현량이 많을 수도 있습니다.(큰 세포)
- 해결: count depth와 함께 종합적으로 판단해야 하며, 한 기준만으로 모든 세포를 걸러내면 정상 세포를 잘못 배제할 수 있으므로 유연하게 적용하는 것이 좋습니다.
3. 미토콘드리아 유전자 비율 (fraction of mitochondrial reads)
- 각 세포에서 미토콘드리아 유전자(mitochondrial genes) 발현이 총 발현량에서 차지하는 비중
- 이걸 왜 고려하냐?
- 미토콘드리아 유전자 발현 비율이 지나치게 높다면, 세포질 mRNA가 거의 유출된 상태(막이 파괴되었거나 죽어가는 세포)일 수 있습니다.
- 정상적인 경우에도 조직이나 세포 유형에 따라 약간의 차이는 있을 수 있습니다.
- 해결: 일반적으로 미토콘드리아 비율이 특정 기준을 넘는 세포는 필터링하여 제거합니다.
왜 '이상치' 세포를 제거할까?
- 죽어가는 세포(dying cell)나 손상된 세포: 막이 뚫려 세포질 mRNA가 빠져나가면, 실제 유전자 발현량을 발현하지 못하기 때문에 분석 결과가 왜곡됩니다.
- doublet 또는 multiplet: 두 개 이상의 세포가 하나의 droplet에 잡힌 경우, 실제로는 전혀 다른 두 세포의 발현 패턴이 뒤섞여 잘못된 하나의 세포로 측정되므로 결과 해석이 어려워집니다. (참고로 doublet 검출 출로 DoubletFinder, DoubletDecon, Scrublet 등이 있습니다.)
결론적으로 QC 지표를 기반으로 이상치 세포를 제거하지 않으면, 후속 분석(clustering, dimension reduction, 마커 유전자 발현 비교 등)에 혼선이 생기게 됩니다.
추가로 고려해야할 것: Ambient RNA(주변 환경 RNA) 오염
실험과정에서 세포가 죽거나 손상되어 방출된 RNA가 주변 용액(ambient)에 퍼져 있다가, 무작위로 다른 droplet에 함께 잡히는 경우가 발생할 수 있습니다. 이렇게 생긴 "거짓 발현치(ambient RNA)"는 실제 해당 세포 유전자 발현과 무관한 잡음(noise)이므로, 세포별 발현을 왜곡할 수 있습니다.
이를 해결하기 위해 여러 소프트웨어 도구들이 있는데 대표적으로 SoupX (R 기반), CellBender (Python 기반)이 있습니다. 이 도구들은 주변 RNA 프로파일을 모델링하고, 실제 세포 발현값에서 해당 값을 보정해줍니다. 또 다른 방법으로는 주변에서 유래된 것으로 추정되는 일부 유전자(특히 높게 검출되는 헴글로빈 등)를 후속 분석에서 제외하거나, 매우 낮은 발현량은 제거하는 방법도 있습니다.
QC 절차 예시
1. Count depth, 유전자 수, 미토콘드리아 유전자의 비율의 분포를 각각 확인합니다.
- Histogram, violin plot, log scale plot 등을 활용합니다.
- 예상되는 정상 분포에서 많이 벗어나는 지점(outlier peak)을 찾고 임계값을 설정합니다.
2. 임계값 설정 시, 여러 지표를 함께 고려합니다.
- 미토콘드리아 비율이 높지만, 실제로 해당 실험 상황에서 그렇다는 보고가 있다면 (예: 호흡 활성도가 높은 세포) 섣불리 제거하지 않도록 주의합니다.
- 세포 크기가 매우 큰 경우, count depth와 유전자 수도 자연스럽게 높아질 수 있습니다.
3. 각 sample별 QC 임계값을 따로 적용합니다.
- sample 간 상태나 조직 특성 차이로 인해 분포 자체가 달라질 수 있기 때문입니다.
4. 데이터 분석(Clustering, UMAP/tSNE 시각화 등) 이후에도 QC를 다시 확인합니다.
- 특정 세포군이 별도로 튀어나와 있거나, 불합리해 보이는 경우 QC 기준을 재조정할 필요가 있습니다.
실험 단계 QC 지표도 확인하자!
- Q30 점수: 시퀀싱 과정에서 Barcode 및 UMI, 실제 mRNA read가 얼마나 높은 품질로 읽혔는지 판단할 수 있는 지표입니다. 일반적으로 60~70% 이상의 Q30 비율을 유지하는 것이 좋습니다.
- alignment 비율: 전사체에서 얼마나 많은 read가 정렬되었는지 확인합니다. 특히 exon 영역에 잘 맵핑되는 비율이 높을수록 데이터 품질이 좋습니다.
- 전제 세포 수 대비 성공적으로 포착된 세포 비율: 실험에서 몇 개의 세포를 넣었는지, 실제로 바코드가 할당된 세포개 몇 개인지를 비교하여 실험 성능을 평가합니다.
마무리: QC는 유연하면서도 반복적으로!
너무 엄격한 QC기준을 적용하면 실제로는 정상인 세포까지 제거할 수 있습니다. 반대로, 너무 관대한 QC 기준을 적용하면 noise나 잘못된 세포가 포함되어 분석 결과를 왜곡합니다. 따라서, 첫 번째 분석에서는 느슨한 기준으로 시작하여 결과를 해석한 뒤, 이상하거나 의심되는 부분이 있다면 다시 QC를 조정하는 "반복적(iterative)" 접근이 중요합니다. 특히 다중의 세포가 섞인 복합 조직일 경우, 각 세포의 특성이 매우 달라 한번의 단순 임계 값으로는 모든 세포를 정확히 가려내기 어렵습니다.
결국 "잘 걸러내되, 너무 많이 버리지 않는 것"이 핵심입니다. 처음부터 완벽한 QC기준을 확정하는 것은 쉽지 않습니다. 분석을 진행하면서 여러 차례 재평가하고 보정해가는 방법을 추천합니다.
Current best practices in single-cell RNA-seq analysis: a tutorial 논문을 바탕으로 내용을 정리했습니다.
'Bioinformatics' 카테고리의 다른 글
Tumor cells, Tumor Microenvironment cells (0) | 2024.09.28 |
---|---|
PCR oligo 디자인은 왜 까다로울까 (0) | 2024.01.21 |
A framework for individualized splice-switching oligonucleotide therapy 논문 리뷰 - Antisense Oligonucleotides (ASO) (0) | 2024.01.21 |