前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Harmony包:整合不同细胞类型的单细胞数据

Harmony包:整合不同细胞类型的单细胞数据

作者头像
作图丫
发布2022-03-29 12:11:21
6.2K0
发布2022-03-29 12:11:21
举报
文章被收录于专栏:作图丫

导语

GUIDE ╲

单细胞RNAseq数据集在不同生物和临床条件下对不同细胞类型进行完整的转录表征。然而,整合分析多种数据集极具挑战性。

背景介绍

今天小编为大家介绍一个整合并标准化多个单细胞数据集的R包Hormony。Hormony包于2020年5月发表在Nature Methods(https://github.com/immunogenomics/harmony)。

R包安装

代码语言:javascript
复制
install.packages("harmony")
#如果需要更新
library(devtools)
install_github("immunogenomics/harmony")
library(harmony)

R包使用

01

单细胞数据

单细胞的公开数据集大多来自于10X website,这里我们以Hormony包自带数据集为例。

代码语言:javascript
复制
data(cell_lines_small)
pca_matrix <- cell_lines_small$scaled_pcs
meta_data <- cell_lines_small$meta_data

我们可以使用以下几种方式作为Hormony包的输入。

02

在主成分分析(PCA)矩阵上运行

Harmony可以采用PCA嵌入矩阵作为输入

代码语言:javascript
复制
harmony_embeddings <- HarmonyMatrix(pca_matrix, meta_data, 'dataset', 
                                    do_pca=FALSE)

输出是校正后的PC嵌入矩阵

代码语言:javascript
复制
dim(harmony_embeddings)
harmony_embeddings[seq_len(5), seq_len(5)]

最后,我们可以返回一个包含所有底层数据结构的对象

代码语言:javascript
复制
Harmony_object <- HarmonyMatrix(pca_matrix, meta_data, 'dataset',
                                     do_pca=FALSE,return_object=TRUE)
dim(harmony_object$Y)
dim(harmony_object$R)
dim(harmony_object$Z_corr) ## 修正 PCA 嵌入
head(harmony_object$O) ##通过聚类共现矩阵进行批处理

03

标准化矩阵输入

我们还可以在library大小的标准化表达式计数的稀疏矩阵上运行Harmony。Harmony将扩展这些计数,运行PCA,最后执行数据整合。

代码语言:javascript
复制
my_harmony_embeddings <- HarmonyMatrix(normalized_counts, meta_data, "dataset")

04

使用Seurat包管道分析

使用Seurat包进行Harmony分析需要有两步修改,首先使用RunHarmony()函数运行Harmony,然后在下游分析中,使用Harmony嵌入而不是先前的PCA嵌入。

代码语言:javascript
复制
seuratObj <- RunHarmony(seuratObj, "dataset")
seuratObj <- RunUMAP(seuratObj, reduction = "harmony")

05

使用MUDAN函数执行Harmony

调用MUDAN包函数可以分析多个单细胞RNA-seq样本实现跨患者、跨时间点和跨批次的细胞类型的联合注释。

代码语言:javascript
复制
require(devtools)
devtools::install_github("JEFworks/MUDAN")

调用MUDAN函数可以快速进行亚群检测和表征,包括基于图的社区检测以识别亚群,稳定性分析以确保转录不同的亚群和差异基因表达和标记选择功能等。

调用MUDAN函数还可以执行多样本聚类,包括保存每个样品中观察到的变化和适用于细胞类型组成不同的样品。

06

整合两个或多个协变量

最后,Harmony包可以整合多个协变量。为此,应该指定要积分的向量协变量。

代码语言:javascript
复制
my_harmony_embeddings <- HarmonyMatrix(
  my_pca_embeddings, meta_data, c("dataset", "donor", "batch_id"),
  do_pca = FALSE
)
#Seurat管道
seuratObject <- RunHarmony(seuratObject, c("dataset", "donor", "batch_id"))

小编总结

Hormony包是一种整合多数据集的算法,以满足无监督单细胞数据联合嵌入的四个关键挑战:扩展到大型数据集,识别广泛群和细粒度亚群,适应复杂实验设计的灵活性,以及跨模式整合数据的能力。如果大家有标准化多个单细胞数据集的需求,那就来试试Hormony包吧!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作图丫 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 调用MUDAN函数可以快速进行亚群检测和表征,包括基于图的社区检测以识别亚群,稳定性分析以确保转录不同的亚群和差异基因表达和标记选择功能等。
  • 调用MUDAN函数还可以执行多样本聚类,包括保存每个样品中观察到的变化和适用于细胞类型组成不同的样品。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档