单细胞数据用Harmony算法进行批次矫正

Harmony

整合单细胞RNAseq数据进行批校正和后续分析

System requirements

Harmony必须在R版本3.4以上运行,支持 Linux, OS X, and Windows 平台。

Installation

老方法

library(devtools)
install_github("immunogenomics/harmony")

安装过程可能包括从源代码编译C ++代码,因此可能需要几分钟。

Usage

Quick Start

PCA matrix

Harmony算法迭代地校正PCA嵌入。要直接输入您自己的低维嵌入,请设置do_pca = FALSE。 Harmary与一个小的数据集打包在一起。

library(harmony)
my_harmony_embeddings <- HarmonyMatrix(my_pca_embeddings, meta_data, "dataset", do_pca=FALSE)
Normalized gene matrix

也可以在库大小归一化的表达式计数的稀疏矩阵上运行Harmony。Harmony将扩展这些计数,运行PCA,最后执行整合。

library(harmony)
my_harmony_embeddings <- HarmonyMatrix(normalized_counts, meta_data, "dataset")
Seurat

您可以在Seurat工作流程中运行Harmony。 您只需要对代码进行两项更改。

1、使用RunHarmony()函数运行Harmony
2、在下游分析中,使用Harmony嵌入代替PCA。
egs:
seuratObj <- RunHarmony(seuratObj, "dataset")
seuratObj <- RunUMAP(seuratObj, reduction = "harmony")

也就是说用RunHarmony的方法代替PCA。

Harmony with two or more covariates

和谐可以整合多个协变量。 为此,请指定要积分的向量协变量。(就是去除批次效应)

my_harmony_embeddings <- HarmonyMatrix(my_pca_embeddings, meta_data, c("dataset", "donor", "batch_id"), do_pca=FALSE)

Do the same with your Seurat object:

seuratObject <- RunHarmony(seuratObject, c("dataset", "donor", "batch_id"))

这个方法跟Seurat根据样本去除批次效应有点类似

你可能感兴趣的:(单细胞数据用Harmony算法进行批次矫正)