单细胞分析(五)——使用Harmony进行数据整合和去批次

这篇具有很好参考价值的文章主要介绍了单细胞分析(五)——使用Harmony进行数据整合和去批次。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

为什么要进行数据去批次

进行样本去批次(batch correction)是单细胞RNA测序数据分析的重要步骤之一。

技术噪声和批次效应: 单细胞RNA测序数据通常具有高度异质性,且在采样、实验操作、反应条件等多个环节中可能引入技术噪声和批次效应。这些因素会对测序数据质量产生影响,从而使得不同批次数据之间存在较大的差异。

批次效应的干扰:不同批次数据之间的差异会掩盖真正的生物学差异,从而影响后续的分析结果。例如,在聚类分析中,如果没有进行批次校正,就很容易把来自不同批次的细胞划分到不同的亚群中

提高可比性和统计功效:去除批次效应可以提高不同实验之间的数据可比性,也可以增加数据之间的统计功效,从而更好地发现生物学上的差异和特点。

因此,为了保证单细胞RNA测序数据的准确性和可靠性,需要对数据进行样本去批次处理。去批次的方法包括Harmony,SeuratV3等,这些方法可以有效地消除批次效应和技术噪声,并提高单细胞RNA测序数据的质量,为后续的数据分析提供更加可靠的基础。

数据分次读入

使用GSE135337这个数据集中的数据进行分析

将数据处理成seurat对象 格式,然后保存后,进行分析比较,直接读入,进行分析。

data1 <- readRDS('./output_data/GSE135337_scobj/BC1.RDS')
data2 <- readRDS('./output_data/GSE135337_scobj/BC2.RDS')
data3 <- readRDS('./output_data/GSE135337_scobj/BC3.RDS')
data4 <- readRDS('./output_data/GSE135337_scobj/BC4.RDS')
data5 <- readRDS('./output_data/GSE135337_scobj/BC5.RDS')
data6 <- readRDS('./output_data/GSE135337_scobj/BC6.RDS')
datan <- readRDS('./output_data/GSE135337_scobj/BCN.RDS')

### 把数据变成list
data <- list(data1, data3, data4, data5, data6, datan)

多个数据整合

Merge 合并数据

### Merge 合并数据
scobj <- merge(x=data[[1]], y = data[-1], project = "scBC")

## 删除所有data前缀的数据,释放空间
rm(list = ls(pattern="data.*"))

数据去批次处理

在去批次处理之前,需要主成分分析降维后的数据,因此还需要把这一部分数据进行统一降维

数据质控

质控过程中seurat对象保存的metadata中,nFeature_RNA, number of Feature, 每个细胞中有多少个基因,nCount_RNA, number of counts, 每个细胞中有多少个counts,percent.mt, 自己增加的列, 每个细胞中线粒体基因的比例

### 3.数据质控

scobj[["percent.mt"]] <- PercentageFeatureSet(scobj, pattern = "^MT-")
#上面的函数进行的操作 scobj@meta.data$percent.mt <- PercentageFeatureSet(scobj, pattern = "^MT-")
### 该操作会在metadata数据里面增加一列叫做percent.mt


### 质控数据可视化,使用VlnPlot函数
VlnPlot(scobj, features = c("nFeature_RNA", "nCount_RNA", "percent.mt"), ncol = 3)


### 正式筛选,筛选的是细胞,最终细胞减少
# 根据具体情况进行筛选阈值的确定
scobj <- subset(scobj, subset = nFeature_RNA > 500 & nFeature_RNA < 6000 & percent.mt < 10)
scobj <- NormalizeData(scobj)
scobj <- FindVariableFeatures(scobj, selection.method = "vst", nfeatures = 2000)
scobj <- ScaleData(scobj, features = rownames(scobj))
scobj <- RunPCA(scobj, features = VariableFeatures(object = scobj),reduction.name = "pca")
ElbowPlot(scobj)

DimPlot(scobj, reduction = "pca")

### 不进行批次矫正
scobj <- RunUMAP(scobj,reduction = "pca", dims = 1:10, reduction.name = "umap_naive")
p1 <- DimPlot(scobj, reduction = "umap_naive",group.by = "orig.ident")

单细胞去除批次效应,生信学习,开发语言,r语言
单细胞去除批次效应,生信学习,开发语言,r语言
单细胞去除批次效应,生信学习,开发语言,r语言

这里降维分析过程中,RunUMAP函数输入的是PCA数据,输出是在reduction中按照所命名的名字进行,也就是reduction.name这个参数

这里再将展示主成分解释方差的内容进行具体化

## 查看数据的复杂程度
ElbowPlot(scobj, reduction = "pca", ndims = 30)
xx <- cumsum(scobj[["pca"]]@stdev^2)
xx <- xx / max(xx)
which(xx > 0.9) # 可以查看多少PCs解释了90%的方差,假设10%的方差来自于噪声,然后就可以选择相应的PCs
ndim = 33 # dims的参数

去批次后数据分析

library(harmony)
scobj <- RunHarmony(scobj,reduction = "pca",group.by.vars = "orig.ident",reduction.save = "harmony")
scobj <- RunUMAP(scobj, reduction = "harmony", dims = 1:30,reduction.name = "umap")

把去批次后的进行样本降维展示

p2 <- DimPlot(scobj, reduction = "umap",group.by = "orig.ident", label = T)

单细胞去除批次效应,生信学习,开发语言,r语言
可以看出去批次之前,研究项目之间的批次效应是比较明显的,即便是类似的疾病样本,其分开的还是十分明显,去批次后,虽然图看起来没有那么漂亮,但是其说明相似的细胞是聚在一起的。

后续分析

scobj <- FindNeighbors(scobj, reduction = "harmony", dims = 1:30)
### 设置多个resolution选择合适的resolution
scobj <- FindClusters(scobj, resolution = seq(0.2,1.2,0.1))

参考文章

单细胞测序流程(一)简介与数据下载

Integration of datasets using Harmony

https://github.com/immunogenomics/harmony

Detailed Walkthrough of Harmony Algorithm

单细胞转录组高级分析:多样本合并与批次校正文章来源地址https://www.toymoban.com/news/detail-716715.html

到了这里,关于单细胞分析(五)——使用Harmony进行数据整合和去批次的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【生物信息学】单细胞RNA测序数据分析:计算亲和力矩阵(基于距离、皮尔逊相关系数)及绘制热图(Heatmap)

      计算亲和力矩阵,一般按照以下步骤进行: 导入数据:加载单细胞RNA测序数据集。 数据预处理:根据需要对数据进行预处理,例如 基因过滤 、 归一化 等。 计算亲和力:使用合适的算法(例如, 欧几里德距离 、 Pearson相关系数 或其他距离/相似度度量)计算样本之间的

    2024年02月06日
    浏览(47)
  • Seurat | 强烈建议收藏的单细胞分析标准流程(基础质控与过滤)(一)

    作为现在 最火 的 scRNAseq 分析包, Seurat 当之无愧。😘 本期开始我们介绍一下 Seurat 包的用法,先从 基础质控 和 过滤 开始吧。🥳 3.1 读取10X文件 这里我们提供一个转成 gene symbols 的可读文件,如果大家拿到的是 Ensemble ID ,可以用之前介绍的方法进行转换。 3.2 创建Seurat对象

    2024年02月08日
    浏览(63)
  • 单细胞seurat入门—— 从原始数据到表达矩阵

    根据所使用的建库方法,单细胞的RNA序列(也称为读取(reads)或标签(tags))将从转录本的3\\\'端(或5\\\'端)(10X Genomics,CEL-seq2,Drop-seq,inDrops)或全长转录本(Smart-seq)获得。 图片来源: Papalexi E and Satija R. Single-cell RNA sequencing to explore immune cell heterogeneity, Nature Reviews Immu

    2024年02月05日
    浏览(59)
  • 易基因:单细胞DNA甲基化与转录组分析揭示猪生发泡卵母细胞成熟的关键调控机制|项目文章

    大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 在哺乳动物中,窦卵泡内的生发泡(germinal vesicle,GV) 卵母细胞可以保持数月或数年的静止状态。促黄体生成素(luteinizing hormone,LH)激增促进了减数分裂(meiosis)恢复,使卵母细胞获得受精后和早期胚胎发育

    2024年02月14日
    浏览(51)
  • 单细胞注释之坑-通过AddModuleScore注释细胞

    兜兜转转,小编做单细胞转眼又是半年过去了,单细胞注释真的是一到玄学,一查资料很多自动化单细胞注释的工具横空出世,可是小编试了很多很多,发现还是手动注释更加准确,但是手动如何注释呢? 这里我们需要先找到细胞的marker基因,这里以NKT细胞为例,我们知道

    2024年02月12日
    浏览(95)
  • 单细胞分类和预测任务

    对于 分类 和 预测 任务,在生物信息学领域有一些常用的方法和工具可以使用。以下是一些常见的方法和工具: 1. 机器学习方法: 包括支持向量机(Support Vector Machine,SVM)、随机森林(Random Forest)、神经网络(Neural Networks)等。这些方法可以用于分类和预测任务,可以根

    2024年02月13日
    浏览(47)
  • 基于GPT构建单细胞多组学基础模型

    生成式预训练模型在自然语言处理和计算机视觉等各个领域取得了显著的成功。特别是将大规模多样化的数据集与预训练的Transformer相结合,已经成为开发基础模型的一种有前途的方法。文本由单词组成,细胞可以通过基因进行表征。这种类比启发作者探索细胞和基因生物学

    2024年02月13日
    浏览(54)
  • 专栏十:10X单细胞的聚类树绘图

    经常在文章中看到对细胞群进行聚类,以证明两个cluster之间的相关性,这里总结两种绘制这种图的方式和代码,当然我觉得这些五颜六色的颜色可能是后期加的,本帖子只总结画树状图的方法 文章Single-cell analyses implicate ascites in remodeling the ecosystems of primary and metastatic tumors

    2024年02月07日
    浏览(71)
  • 易基因:人类大脑的单细胞DNA甲基化和3D基因组结构|Science

    大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 高通通量表观基因组分析技术可用于阐明大脑中细胞复杂性的基因调控程序。5\\\'-甲基胞嘧啶 (5mCs)是哺乳动物基因组中最常见的修饰碱基,大多数5mCs发生在胞嘧啶-鸟嘌呤二核苷酸(CpGs)上。CG差异甲基化区

    2024年04月17日
    浏览(44)
  • 使用Python进行数据分析——方差分析

    大家好,方差分析可以用来判断几组观察到的数据或者处理的结果是否存在显著差异。本文介绍的方差分析(Analysis of Variance,简称ANOVA)就是用于检验两组或者两组以上样本的均值是否具备显著性差异的一种数理统计方法。 根据影响试验条件的因素个数可以将方差分析分为

    2024年02月15日
    浏览(72)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包