单细胞分析(六)——使用seurat进行去批次整合

本文介绍了Seurat在联合分析多个单细胞数据集时的关键步骤,如识别anchors、校正批量效应、选择整合特征以及进行数据整合,强调了整合过程中的内存消耗和速度问题。作者还分享了处理大样本数据时的多线程优化策略。

数据整合概述

对两个或多个单细胞数据集的联合分析带来了独特的挑战。特别是,在标准工作流程下,识别存在于多个数据集中的细胞群可能会有问题。Seurat有包括一组跨数据集match(或“align”)共有细胞群的方法。这些方法首先识别处于匹配生物学状态(“anchors”)的跨数据集细胞对,既可用于校正数据集之间的技术差异(即批量效应校正),也可用于跨实验条件的比较scRNA-seq分析。

整合目的

以下教程旨在向您概述使用 Seurat 积分程序可以对复杂细胞类型进行的比较分析。在这里,我们解决了几个关键目标:

  • 为下游分析创建“整合”的数据分析
  • 识别两个数据集中存在的细胞类型
  • 获取在对照细胞和刺激细胞中都保守的细胞类型标记物
  • 比较数据集以找到细胞类型对刺激的特定反应

构建seurat 对象

seurat官网给出的数据是 SeuratData 内置数据,但是使用 SeuratData 下载会提示相应的问题,也有通过数据连接直接下载。这里我使用个人数据,特点是:已经通过 cellranger 处理了 FASTQ 文件,得到了 feature, barcode, matrix 文件, 如下

上一级文件如下,

层级显示关系如下

然后需要将这些文件统一读入到一个列表中,操作如下

# 创建一个空列表来存储数据块
seu.list <- list()

# 指定文件夹路径
folder_path <- "./HRA000212_raw_feature_bc_matrix"

# 获取文件夹中的文件列表
file_list <- list.files(path = folder_path, full.names = TRUE)

# 遍历文件列表并读入数据
for (file_path in file_list) {
   
   
  # 提取文件名(不包括路径和扩展名)
  file_name <- tools::file_path_sans_ext(basename(file_path))
  file_name <- substr(basename(file_name), 1, 9)
  
  # 读入文件数据(这里假设文件是文本文件)
  data <- Read10X(file_path)
  
  scobj <- CreateSeuratObject(data, project = file_name, min.cells = 3, min.features = 200)
  
  # 将数据添加到列表中,以文件名作为标识
  seu.list[[file_name]] <- scobj
  
  # return(seu.list)
}

# 打印列表中的数据
print(seu.list)

这样就得到了一个list,seu.list,当中把seutat处理过的几个样本都存放到了一起。

这里是引用
这一步就是和seurat官网中的得到列表的操作

# split the dataset into a list of two seurat objects (stim and CTRL)
ifnb.list <- SplitObject(ifnb, split.by = "stim")

之所以得到列表,是因为后续的 FindIntegrationAnchors() 函数使用的是列表读入

读入之后,可以对数据进行标准化、高变基因操作。类似于单个数据处理。这一步可以在这里处理,也可以整合之后再处理,都可。

seu.list <- lapply(X = seu.list, FUN <
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

生信小鹏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值