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根据样本去除批次效应有点类似