全网最详细Seurat v5 流程复现(拿来即用)


前言

本文是基于seurat v5版本的教程复现,主要依据来源于官网seurat v5建议大家有时间的话可以去官网进行详细阅读学习!


一、Seurat V4和 Seurat V5的比较

优势:

  1. 更强大的预处理算法:Seurat v5引入了新的预处理算法,如CellBender和SCTransform,它们在去除噪音和批次效应方面表现更好。这些算法可以提高数据的质量和准确性。
  2. 更好的集成分析能力:Seurat v5提供了新的集成分析框架,能够更好地将多个数据集进行整合和比较。这种集成分析能够更准确地识别细胞类型和状态的差异。
  3. 多模态数据分析:Seurat v5支持多模态数据的分析,如融合RNA和蛋白质表达数据的分析。这使得研究人员能够更全面地研究单细胞数据,揭示不同数据模态之间的相互作用。
  4. 更丰富的可视化工具:Seurat v5提供了新的可视化工具,如可视化互作网络图和互动式数据探索工具。这些工具使得结果的可视化更加方便和直观。

劣势:

  1. 学习曲线较陡:Seurat v5相较于Seurat v4在功能上有所扩展,因此需要花费一些时间学习和适应新版本的功能和使用方法。
  2. 需要更高的计算资源:由于Seurat v5提供了更多的功能和分析选项,因此可能需要更高的计算资源(如计算能力和内存),以处理更大规模的数据集和更复杂的分析任务。

总之,seurat版本更新之后的效果又好有坏,大家可以自行选择使用哪个版本,不过市面上的很多资源都是基于seurat v4的,但是seurat v5也有其优势,下面则是seurat v5的标准化过程,与seurat有很多相似之处,可供借鉴和参考!

二、标准化流程

1.引入库

代码如下(示例):

# 主要用于做单细胞分析的各种函数
library(Seurat)
# 主要与批次效应有关
library(harmony)
# 广泛使用的数据分析和可视化的工具集
library(tidyverse)
# 是一个功能强大的R绘图包
library(ggplot2)
# 增强绘图和图形组合的包
library(cowplot)
# 用于数据的操作和处理,管道,过滤,排序等
library(dplyr)
# 用于组合多个图形
library(patchwork)
# 用于文件的处理
library(R.utils)

2.设置默认工作路径

代码如下(示例):

setwd('G:/diversity_intergration')

3.批量读取单细胞数据

代码如下(示例):

# 使用list.files函数列出文件夹中的所有文件
dir_name <- list.files('data/')
dir_name

# 创建一个空的list对象来存储转化之后的seurat对象
scRNAlist <- list()
for (i in 1:length(dir_name)){
   
  counts <- Read10X(data.dir = paste('G:/diversity_intergration/data/',dir_name[i],sep = ''))
  # 使用createseuratobject来创建seurat对象,使用counts矩阵,设置样本名为目录名
  scRNAlist[[i]] <- CreateSeuratObject(counts = counts,
                                       project = strsplit(dir_name[i],'_')[[1]][2],
                                       min.cells = 3,
                                       min.features = 200)  
}
scRNAlist # 查看样本信息

4.批量计算每个样本的线粒体和红细胞的比例(质控 — 线粒体,红细胞,核糖体)

代码如下(示例):

# 注意如果是小鼠为 '^mt-'  人为 '^MT-'
# 如果是小鼠的话,将49-53行改为sc[['HB_percent']] <- PercentageFeatureSet(sc,pattern = "^Hb[^(p)]")
for (i in 1:length(scRNAlist)){
   
  sc <- scRNAlist[[i]] # 获取scRNAlist中的第i个seurat对象
  # 计算线粒体的比例
  sc[['mt_percent']] <- PercentageFeatureSet(sc,pattern = '^MT-')
  # 计算红细胞的比例
  HB_genes <- c("HBA1","HBA2","HBB","HBD","HBE1","HBG1","HBG2","HBM","HBQ1","HBZ") # 定义红细胞的基因列表
  HB_m <- match(HB_genes,rownames(sc@assays$RNA)) # 在seurat对象的RNA数据中有红细胞基因的索引位置
  HB_genes <- rownames(sc@assays$RNA)[HB_m] # 获取匹配到的红细胞基因的行名
  HB_genes <- HB_genes[!is.na(HB_genes)] 
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

莘薪

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

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

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

打赏作者

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

抵扣说明:

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

余额充值