Post

[논문] The shaky foundations of simulating single-cell RNA sequencing data(2)

The shaky foundations of simulating single-cell RNA sequencing data

[논문] The shaky foundations of simulating single-cell RNA sequencing data(2)

The shaky foundations of simulating single-cell RNA sequencing data

Discussion


  • 시뮬레이터 평가로 gene/cell/global summary 기준으로 비교, 전체 성능 순위화
    • ZINB-WaVE는 거의 모든 평가에서 좋은 성능
  • 시뮬레이터와 벤치마킹의 신뢰성 문제
    • 벤치마크 평가를 위해 ground trurh가 필요한데, 실험적으로 정답을 확보하기 어려운 경우를 위해 유연하고 신뢰성 있는 시뮬레이션 프레임워크 개발 필수적
  • 시뮬레이터를 사용한 분석의 한계
    • 대부분 시뮬레이터는 단일 그룹(한 개의 클러스터/배치)만 생성 가능.
    • 실제 데이터와 비교 시 클러스터링 결과 왜곡, summary redundancy 존재
    • 품질 평가 도구(scater, countsimQC) 활용의 부족. 시뮬레이터를 개발하거나 사용할 때 참조 데이터와 비교한 요약 리포트가 함께 제공되면 신뢰도 향상
    • 클러스터링의 경우 시뮬레이션 기반 평가에서는 과대평가
    • 성능 외 고려할 요소
      • splatter는 사용하기 쉽고 문서화가 잘 되어있으나 다른 시뮬레이터는 성능은 좋더라도 사용성이 낮고 파라미터 해석이 어려움
  • 목적별로 중요한 summary 지표를 정의하고, 평가 리포트를 표준화할 필요성
  • trajectory 기반 시뮬레이터도 존재하기에 trajectory 관련 신뢰성 확보 필요(해당 연구는 type n, b, k로 시뮬레이터들을 분류)
  • 향후 유연하고 해석 가능한 시뮬레이터 필요

Conclusions


  • 현재 시뮬레이터들의 한계
    • 표현할 수 있는 데이터 복잡성 수준에 제한이 있음
    • 유전자 발현 차이를 만들기 위해 사용자의 인위적 입력에 의존함
    • 시뮬레이터가 얼마나 현실적인 데이터 특성을 반영할 수 있느냐에 따라, 다른 분석 도구들을 평가하는 데 적합한 정도도 달라짐
  • 시뮬레이션 기반 벤치마크 연구 결과는 사용하는 시뮬레이터에 따라 달라지며 시뮬레이터의 성능이 높다고 해서 integration이나 클러스터링 방법의 평가 결과의 신뢰도가 높지 않음
  • 어떤 품질 지표(summary)를 어떻게 선택하느냐가 평가 결과에 영향을 미침
    • scRNA-seq 데이터 구조를 충실하게 반영할 수 있는 summary의 종류, 개수, 중요도를 정의하는 연구 필요

Methods


Reference datasets

  • 데이터의 출처는 GitHub, GEO(혹은 GSE, Gene Expression Omnibus), Biocunductor의 ExperimentHub
  • raw 데이터는 R에서 사용되는 SingleCellExperiment 클래스 형식으로 변환, 그 외는 대부분 전처리 없이 사용

    1

  • 참조 데이터는 최소한의 필터링만 수행
    • 세포 수가 너무 적은 클러스터/배치 제거 및 감지율이 낮거나 total count가 적은 유전자/세포 제거
    • 다양한 부분 집합(subset) 샘플링해 배치/클러스터 수 제어

    2

Simulation methods

  • 대부분 기본 설정값을 사용. 저자가 제시한 권장사항이 있다면 그에 따라 설정
  • 각 시뮬레이션 방법의 모델 구조와 병렬처리 지원 여부에 대한 간략한 개요

    3

  • 파라미터 추정과 시뮬레이션 실행에 사용된 실제 인자

Quality control summaries

3

  • gene-level의 5개 summary 지표 계산
    1. logCPM의 average
      • logCPM: scater패키지의 calculateCPM 함수로 계산한 CPM(counts per million)을 log1p(log(1+x)) 변환한 값
    2. logCPM의 variance
    3. CV(coefficient of variation): 변이 계수
    4. detection frequency: 0이 아닌 값이 있는 세포의 비율
    5. gene-to-gene correlation
  • cell-level의 6개 summary 지표 계산
    1. library size: 세포별 총 카운트 (read 수)
    2. detection frequency: 해당 세포에서 발현된 유전자의 비율
    3. cell-to-cell correlation: logCPM 기반 세포 간 유사도
    4. cell-to-cell distance: PCA 공간에서 유클리디안 거리
    5. KNN occurrences: 해당 세포가 다른 세포의 K-최근접 이웃으로 몇 번 등장했는지
    6. local density factors (LDF): PCA 공간에서 세포의 주변 밀도를 측정한 상대값 (그룹 구조 파악용)
      • LDF: 그룹 구조(batch 또는 cluster)를 수치적으로 평가하는 데 목적
      • PCA 기반 summary 계산 절차
      1. scran 패키지의 moleGeneVar를 logCPM에 적용
      2. 변이가 큰 유전자 500개(HVGs) 선택(getTopHVGs)
      3. scatercalculatePCA로 첫 50개의 주성분(PCs) 계산
  • type n 이외의 데이터에서는 다음 기준으로 계산
    1. global
    2. batch-level
    3. cluster-level
  • global의 3개 summary 지표 계산
    1. percent variance explained (PVE)
      • PVE: 발현량의 전체 분산에서, 세포가 속한 그룹(배치/클러스터)로 설명되는 비율
    2. cell-specific mixing score (CMS): 세포가 다른 그룹과 얼마나 섞여 있는지 측정
    3. silhouette width: 클러스터의 경계 명확도 (내부 vs 외부 거리 차이)

Evaluation statistics

  • 각 summary 지표에 대해 참조 데이터와 시뮬레이션 데이터 간의 차이 평가 방법
    • Kolmogorov-Smornov(KS) 통계량: stats 패키지의 ks.test() 함수 사용
    • Wasserstein 거리(Earth Mover’s Distance (EMD)): waddRwasserstein_metirc() 함수 사용
  • 2차원 지표 간의 결합 분포를 비교
    • 2차원 KS 통계량: MASS 패키지의 kde2d() 함수 사용
    • 2차원 EMD: emdist 패키지의 emd2d() 함수 사용
    • 2차원 비교는 유전자 수준과 세포 수준 summary 조합 중 의미 있는 것만 사용하며, Global summary와 상관계수 기반 summary는 제외

Runtime evaluation

  • 시뮬레이터의 실행 시간 정량화
    • 각 시뮬레이션 방법과 서브셋 조합에 대해 측정
      1. 파라미터 추정 시간
      2. 데이터 생성(시뮬레이션) 시간

Integration evaluation

  • batch 통합 방법의 평가 방식
  • 데이터 통합(Data Integration): 서로 다른 조건/배치/플랫폼에서 얻은 단일세포 데이터를 하나의 통합된 공간에서 비교/분석 가능하도록 정렬하는 과정
    1. 공간 변환 기반: 차원 축소된 표현 공간에서 서로 다른 배치 데이터를 정렬(PCA, Harmony, fastMNN, CCA 등)
    2. 표현학습 기반: VAE, autoencoder 등 딥러닝 기반 표현 학습(scVI, totalVI 등)
    3. 유전자 수준 정규화: Raw count에서 배치별로 보정(ComBat, limma)
  • 사용된 통합 분석 방법(additional file1의 sec 5.1 참고)
    • ComBat
    • Harmony
    • fastMNN, mnnCorrect
    • limma
    • Seurat
도구/방법설명특징/장점주요 사용 환경
ComBatEmpirical Bayes 기반의 배치 보정 방법. 원래는 microarray/bulk RNA-seq용으로 개발됨.빠르고 간단, 연속형 및 이산형 배치 변수 처리 가능Bulk RNA-seq, scRNA-seq의 pseudobulk에도 사용 가능
HarmonyEmbedding 공간(예: PCA)에서 batch effect를 제거하는 알고리즘. 반복적 군집화 기반.빠르고 scalable. 클러스터 구조를 보존하면서 batch 제거Seurat, Scanpy 등과 함께 사용됨
fastMNN / mnnCorrectMutual Nearest Neighbors(MNN)를 이용한 배치 정렬 방법. fastMNN은 mnnCorrect의 고속 버전.비선형 구조 잘 보존, 여러 배치 간 연속적인 통합 가능scran, batchelor 패키지에서 사용 (R 기반)
limma선형 모델 기반의 분석 패키지. batch 효과도 모델링 가능함.통계적 안정성 높고 다양한 공변량 함께 처리 가능Bulk RNA-seq 중심이지만, scRNA-seq pseudobulk에 사용
Seurat (Integration)Canonical Correlation Analysis (CCA), RPCA 등으로 다양한 방식의 데이터 통합 지원사용 편의성 높음, 시각화와 통합 분석까지 일괄 처리 가능R 기반 single-cell 분석의 대표 툴
  • 방법의 성능 평가
    • CMS(Cell-specific Mixing Score): CellMixS 패키지의 cms()함수 계산
      • CMS ⟶ CMS*: 0.5를 빼서 평균이 0이 되도록 조정
    • LDF 차이(Local Density Factor Difference): ldfDiff()함수 사용
      • LDF ⟶ LDF*: 평균 0, 값의 범위 0 ~ 1로 스케일 조정
    • ⟶ 서로 다른 세포들이 서로 다른 배치 간에 얼마나 잘 섞였는지 평가하는 지표. 값이 0에 가까울수록 잘 섞인 상태
    • 최종 통합 점수(Overall intergration score)는 CMS*와 LDF*를 단순 평균한 값으로 계산
  • 각 배치 내에서 세포 단위 평균 계산, 이후 배치 간 평균 계산

Clustering evaluation

  • 클러스터링(세포 분류) 방법(additional file1의 sec 5.2 참고)
    • CIDR
    • 계층적 클러스터링(HC)
    • 주성분 분석(PCA)을 이용한 k-평균 클러스터링(KM)
    • pcaReduce
    • SC3
    • Seurat
    • TSCAN
    • t-SNE 기반의 KM 클러스터링
방법설명특징/장점주요 알고리즘/기술
CIDRDropout을 고려하여 PCA 기반 거리 계산 후 클러스터링 수행Dropout 보정 내장, 빠르고 정확도 높음PCA + hierarchical clustering
계층적 클러스터링 (HC)데이터 간 유사도 기반으로 트리 형태로 군집화시각화 직관적, 군집 수 지정 없이 시작 가능거리 행렬 + linkage method
PCA + K-평균 (KM)PCA로 차원 축소 후 K-means로 클러스터링 수행계산 빠름, 시각화와 연계 쉬움PCA + K-means
pcaReducePCA를 반복적으로 수행하면서 클러스터 개수를 줄여가는 방식군집 수를 자동으로 줄여가며 구조 탐색Hierarchical PCA-based reduction
SC3여러 클러스터링 결과를 통합하는 consensus clustering 기법안정적이고 정확도 높음, 시각화 지원Multiple distance metrics + consensus
Seurat그래프 기반 Louvain/Leiden 알고리즘을 이용한 클러스터링매우 널리 사용됨, 통합 분석까지 가능SNN graph + Louvain/Leiden
TSCANpseudotime 추정과 클러스터링을 결합한 분석 기법궤적 기반 클러스터링, 시간 흐름 해석 가능MST (Minimum Spanning Tree)
t-SNE + K-평균t-SNE로 시각화한 저차원 공간에서 K-means 클러스터링 수행시각화 직관적, 비선형 구조 반영 가능t-SNE + K-means
  • 적용 가능한 경우 클러스터의 개수는 실제 클러스터 수와 일치하도록 설정
  • 방법의 성능 평가
    • Hungarian 알고리즘(예측된 라벨과 실제 라벨 간 최적 매칭을 찾아서 정확도를 계산): 실제 클러스터 라벨과 예측된 클러스터 라벨 매칭
    • 클러스터 단위의 정밀도(precision), 재현율(recall), F1 score 계산

Availability of data and materials


  • Raw data
    • 10x Genomics
    • ArrayExpress
    • Broad Institute의 Single Cell Portal(SCP)
    • Gene Expression Omnibus(GEO)
  • Zenodo의 R 객체(.rds 파일): 연구 주요 결과 재현(additional file1의 sec 7 참고)
    • 참조 및 시뮬레이션 데이터에 대한 전반적인 품질 관리 요약(glbal and gene- and cell-level QC)
    • 모든 데이터셋과 방법에 대해 계산된 1차 및 2차원 테스트 통계량
    • 클러스터링 및 통합 결과
    • 각 데이터 유형에 대해 1개 데이터셋에 대한 유전자 및 세포 subset별 5회 반복 수행한 runtimes
  • 분석 환경: R v4.1.0 및 Bioconductor v3.13
    • 계산 워크플로우: Snakemake v5.5.0, Python v.3.6.8

presentation


  
This post is licensed under CC BY 4.0 by the author.