바이오 대표

[scRNAseq 논문] 싱글셀 batch integration “A benchmark of batch-effect correction methods for single-cell RNA sequencing data” 2020 본문

논문

[scRNAseq 논문] 싱글셀 batch integration “A benchmark of batch-effect correction methods for single-cell RNA sequencing data” 2020

바이오 대표 2023. 2. 26. 09:49

 

Abstract

해당 논문에서는 현존하는 14개의 batch correction 방법들을 비교분석한 결과를 다음과 같은 3개의 카테고리에서 보여준다. [1] computational runtime, [2] 큰 데이터셋을 다루는 능력치 [3] 순수 cell type 을 잘 보존하면서 batch correction 을 하는지. 결론적으로는 Harmony, LIGER, Seurat 3 을 추천한다.

 

Introduction

현재 single cell 데이터 batch correction 에 주로 사용되는 알고리즘들을 소개한다.

  • MNNs (Haghverdi et al.)
    • 합치고 싶은 2개의 데이터에서 mutual nearest neighbors (MNNs) 를 계산한다. 그리고 해당 MNNs (list of paired cells)를 이용하여 translation vector 값을 계산할 수 있는데 이는 나중에 두 데이터셋의 shared space 에 align 하기 위한 vector 값이다.
      • 장점: normalized gene expression matrix 값을 얻을 수 있다.
      • 단점: computational demands → PCA 상에서 MNNs 을 구하는 fastMNN 같은 방법으로 보안가능하다.
  • CCA (Satija lab, Seurat)
    • CCA (canocial correlation analysis) 을 이용하여 차원축소를 하고 subspace 에 데이터를 project 하고 각 CCA subspace 에서 MNNs (anchor) 을 계산할 수 있다.
  • Harmony
    • PCA로 차원 축소을 하고 PCA space 에서 iteratively batch correction을 진행한다. 각 iteration 마다, 알고리즘은 다른 batch 에서의 비슷한 cell들을 모으면서, 각 클러스터에서는 batch를 최대화한다. 그리고 각 셀마다의 correction factor 을 계산한다.
  • LIGER
    • 데이터셋들의 차이는 모두 technical vriation 이라는 전제하에 진행되는 알고리즘이다.
  • Deep Neural Network
    • 각 batch 의 distribution의 차이를 가장 작게하도록 residual neural network 훈련한다. (Shaham et al.)
    • scGEN, VAE를 reference 데이터로 훈련하고 진행한다. (Lotfollahi et al.)
    실험은 10개의 데이터셋를 이용하여 5개의 시나리오/평가에서 비교분석 진행되었다.

 

Results

실험: batch correction 이 downstream analysis 에 얼마나 영향을 끼치는지 알아내기 위함

평가기준: cell type seperation을 유지하며서 batch integration을 잘 하는지

    • DEGs - F score 이용
    • Batch correction 평가: t-SNE, UMAP, kBET (k-nearest neighbor batch-effect test), LISI (local inverse Simpson’s index), ASW (average silhouette width), ARI (adjusted rand index)평가법 설명
  • “kBET“ - 이미 지정된 nearest neighbors 개수를 이용하여 local level 에서의 batch mixing 계산 즉, local batch distribution 평가이다. local distribution의 일정부분이 global batch label ratio 에서 벗어난다 (rejection rates)는 뜻은 좋은 batch mixing 을 의미한다.
  • “ASW metric” - batch mixing 과 preserving cell type purity 평가한다. 1-ASW_batch vs ASW_cell_type plot 에서 값이 높을수록 better performance.⇒ rank sum
  • “ARI” - ASW와 비슷한데, k-means clustering 을 이용해서 먼저 cluter label을 구하고 추후 batch label 과 cell type label 와 비교하여 ARI_batch, ARI_cell_type을 계산한다.
  • “LISI” - preselected perplexity에 의해 선정된 local neighbors를 이용한 local cell type distribution(cLISI) or batch distribution(iLISI) 평가법이다. [0,1]

 

  • 실험 데이터: 다양한 cell types 10 개

 

  • 시나리오 5개:
    1. 다른 scRNAseq 프로토콜에서 나온 같은 cell types 을 가진 데이터셋 - 2 datasets ([2], [5])
    2. 다른 cell types 을 가진 데이터셋 - 4 different datasets ([1], [6], [7], [10])
    3. 2 개 이상의 batch - 1 dataset from 5 batches using 4 scRNAseq tech ([4])
    4. big datasets - ([8], [9])
    5. simulated data - Splatter 를 이용하영 drop-out rate 다르게 조절

 

 

시나리오별 결과

** top 툴로 뽑힌 친구들은 rank sum 을 이용한 결과이다.**

시나리오 1 (같은 cell types, 다른 tech)

1.1 Mouse Cell Atlas (Dataset 2)  - Harmony, Seurat 3 or MNN correct

  •  

iLISI(local batch mixing) scMerge, LIGER

kBET(batch mixing) Harmony

ASW(batch and cell type) Seurat3 Harmony

ARI(batch and cell purity) Harmony

 

 

1.2 PBMC (Dataset 5) - Harmony, Seurat 3. LIGER

  • 하지만 이들은 CD4/CD8 이나 CD14/FCGR3A 구분 실패 (scGEN, LIGER, MMD-ResNet 조금 성공)

 

 

시나리오 2 (다른 cell types 포함) → LIGER (harmony)추천

2.1 Human Dendritic cells (Dataset 1) - 2개의 batch 간의 비슷한 cell type 존재 - fastMNN, LIGER, scMerge

  • 보통 batch correction 알고리즘은 최소 하나의 identical cell type shared between batches 를 이용하여 data 를 align 한다. 때문에, shared 되지 않은 subpopulation 이 존재한다면 그리고 그들이 유사하다면 false matching 이 될 수 있다. (ex CD1C/ CD141)

iLISI(local batch mixing) LIGER, Seurat2

kBET(batch mixing) Harmony

ASW(batch and cell type) LIGER

 

 

2.2 Cell line (Dataset 6) - only two cell types, 3 batch - Harmony, Scanorama, scGen 

  • 근데 Harmony UMAP 을 보면 Jurkat cell 이 두개의 cluster 에서 확인된다.

 

2.3 Mouse Retina (Dataset 7) - batch cell types 의 비율이 다름 - LIGER, MNN correct, scMerge

LISI(local batch mixing, cell type purity) LIGER

kBET(batch mixing) scMerge

 

2.4 Mouse Haematopoietic Stem and progenitor cells (Dataset 10) - batch 1 cell types 이 batch 2 의 subset, trajectory 존재 - Harmony, Scanorama, LIGER 

LISI(local batch mixing, cell type purity) LIGER, Seurat 2 or 3

kBET(batch mixing) LIGER, Seurat 2, Harmony

ASW(batch and cell type) Scanorma

ARI scGen

 

시나리오 3 (5 batches) → scGEN (for labeled celltype), Seurat 3, Harmony 추천

3. Human Pancreas (Dataset 4) - Seurat 3, scGen, scMerge

  • For labeled cell type, scGEN recommended
  • For unlabeled, Seurat 3, Harmony recommended

LISI(local batch mixing, cell type purity) Seurat 3

kBET(batch mixing) LIGER, Seurat 3

ASW(batch and cell type) Scanorma

ARI scGen

 

 

시나리오 4 ( > 100,000 cell 갖는 batches ) → LIGER, Seurat 3 추천

4.1 Mouse Brain (Dataset 8) - 2 different techs, cell number uneven - Seurat 3, scGen 

cLISI(cell type purity) LIGER, Seurat 2, Harmony, Seurat 3

kBET, ASW 값은 UMAP 으로 봤을때랑 다르다

ASW(batch and cell type) Harmony

ARI(batch and cell type) scGen, LIGER, Harmony

 

4.2 Human Cell Atlas (Dataset 9) - 2 data from different tissue

** cell annotation 부족해서 mixing 만 진행

  • LIGER, ZINB-WaVE, MMD-ResNet

 

시나리오 5 (DEG 분석 using simulated data via Splatter)

batch integration → corrected gene expression matrix 를 이용하여 downstream 분석 진행 능력 테스트. (psudotime trajectory analysis, DEG analysis) - ComBat, MNN Correct, ZINB-WaVE, scMerge recommanded 

 

 

Discussion

  • batch effect correction
    • Harmony: Senario 1, 2 ok but 큰 데이터셋은 비교적 힘든 것 같다.LIGER: scenario 2, 1, 4 ok
    • Seurat 3: scenario 1, 3, 4 ok
  • Top 3 : Harmony, LIGER, Seurat 3
  • batch corrected data
    • 아쉽게도 실제 데이터로 batch correction 한 다른 시나리오들과 not coincide
  • Top 4: ComBat, MNN Correct, ZINB-WaVE, scMerge

 

Methods

보통 다 HVGs 를 이용해서 하는군. 기회가 되면 좀더 자세히 해봐도 좋을 것 같습니다.

  • Harmony
    • iterative clustering approach
    1. bath를 합치고, PCA 를 이용하여 낮은 차원에 데이터를 project 한다.
    2. iterative 하게 multi-dataset-specific effects를 제거한다.
      1. soft k-means clustering (more flexible, 세포를 여러개의 cluster에 ok) 을 이용하여 세포들을 multiple-dataset clusters 로 그룹핑한다.
      2. cluster 마다 global centroid 계산하고, dataset?마다 centrold 계산.
      3. centroids를 이용하여, 각 데이터셋의 correction factor 계산.
      4. correction
  • LIGER
    • Iterative learning approach
    Integrative non-negative matrix factorization (iNMF)를 이용하여 low-dimensional space를 계산한다. 이때 각 gene 은 2개의 factor set로 표현가능: [1] dataset-specific factors [2] shared factors. Shared factor을 이용하여, similar factor loading pattern을 갖는 세포끼리 연결한 shared factor neighborhood graph를 만들고 이를 이용하여 비슷한 cell types을 확인 할 수 있다. 그리고 linked cluster들을 Louvain community detection을 통해서 구할 수 있다. .. 가장 큰 batch 를 기준으로 해당 factor 을 normalized 하면서 batch correction 가능하다.
  • Seurat 3
    • Data Scale → HVGs → FindIntegrationAnchors → IntegrateData
    1. CCA (canonical correlation analysis) 이용한다. 먼저 batch 간 maximum correlation 을 갖는 유전자들의 linear combination 을 계산하고 해당 vectors을 이용하여 데이터들을 차원숙소할 수 있다. - Seurat 2
    2. normalized 된 CCA subspace에서 batch에 걸쳐 비슷한 cell states 에서의 MNNs (mutual nearest neighbors) or anchor 를 찾는다. (이때, 다른 세포들끼리의 anchors 를 피하기 위해, shared nearest neighbot graph을 이용하여 cell type similarity 를 평가한다고 한다)
    3. Data transformation을 위해, 세포들간의 expression profiles의 차이를 이용하여 correction vector을 계산한다.