seurat使用笔记(数据处理、PCA、聚类)

本文详细记录了使用R语言中的Seurat包进行单细胞RNA-seq数据的处理流程,包括数据读取、质控、标准化、PCA分析、细胞聚类以及差异基因分析等步骤,旨在帮助理解单细胞数据分析的基本方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、数据前处理

#保持好习惯,先清空一下环境,设置保存路径
rm(list = ls())
setwd("")

1.数据读取

载入包

#载入程辑包
#multtest包安装tips,
#install.packages("BioManager")
#BiocManager::install("multtest"),
##如果出现显示R版本不符的error不要着急换R版本,直接打开R软件选择就近的镜像安装。
library(multtest)
library(Seurat)
library(dplyr)
library(patchwork)
library(R.utils)

导入数据

 CreateSeuratObject用于创建Seurat对象

pbmc.data <- Read10X(data.dir = "hg19")
#Load the PBMC dataset,创建Seurat对象,counts为读取的源文件,project为Seurat对象想保存的文件名,
#可以加上限定条件:min.cells为组织中分离的最少细胞数,min.features为一个细胞中测出的最少的基因数量
pbmc <- CreateSeuratObject(counts = pbmc.data, project = "pbmc3k", min.cells = 3, min.features = 200)
#查看pbmc中细胞数量的3个方法
pbmc
## An object of class Seurat 
## 13714 features across 2700 samples within 1 assay ,细胞数量是2700个
## Active assay: RNA (13714 features, 0 variable features)
ncol(pbmc)
## [1] 2700
ncol(pbmc.data)

2.进行质控

我们提到单细胞数据质控的时候,⼀般是指细胞的过滤,其实是从⼀个barcode X gene矩阵中过滤掉⼀部分不是细胞的barcode,如细胞碎⽚,双细胞,死细胞等。这三类barcode的特征可以通过其对应的基因表达情况来描述:nCount(总基因表达数)、nFeature(总基因数)、
percent.HB(红细胞基因表达⽐例)、percent.MT(线粒体基因表达⽐例)
。nCount和nFeature过⾼可能是双细胞,过低可能是细胞碎⽚。percent.HB刻画红细胞⽐例,percent.MT刻画细胞状态,值过⾼可能是濒临死亡的细胞

PercentageFeatureSet 函数是根据counts总数相除算的打分:该基因集的counts总和/所有基因的counts总和。

    基因集占的百分比 = 分子 / 分母 * 100;
分子:  指定基因的 counts种总和,在这次分析中是指细胞的线粒体基因转录本数

分母: 从 meta.data 获取 nCount_RNA 列,就是每个cell中所有基因的 counts总和

这个函数的意思是,每个细胞的线粒体的基因数/细胞总基因数的百分比,将作为一列数据加到pbmc的metadata中,这一列的列名为“percent.mt"

#进行质控,计算每个细胞的线粒体基因转录本数的百分比(%),使用[[ ]] 操作符存放到metadata中;
#分析的时候要确认好物种,如果是小鼠的,要用mt
pbmc[["percent.mt"]] <- PercentageFeatureSet(pbmc, pattern = "^MT-") 
#在创建对象 CreateSeuratObject() 的过程中,会自动计算细胞中独特基因与总基因数目,可以在目标对象中找到
head(pbmc@meta.data,5)

                 orig.ident nCount_RNA nFeature_RNA percent.mt
AAACATACAACCAC-1     pbmc3k       2419          779  3.0177759
AAACATTGAGCTAC-1     pbmc3k       4903         1352  3.7935958
AAACATTGATCAGC-1     pbmc3k       3147         1129  0.8897363
AAACCGTGCTTCCG-1     pbmc3k       2639          960  1.7430845
AAACCGTGTATGCG-1     pbmc3k        980          521  1.2244898

3.质控结果的可视化

目的:通过可视化质控结果,进一步去掉低质量的数据

(1)小提琴图,将pbmc中的meta@data中的3个指标成图

#(1)将QC结果展示为小提琴图,features中的名称加引号,ncol=3表示图形分三列展示
VlnPlot(pbmc, features = c("nFeature_RNA", "nCount_RNA", "percent.mt"), ncol = 3)

### Seurat 聚类颜色设置与自定义方法 在生物信息学单细胞数据分析中,Seurat 是一款广泛应用于单细胞 RNA 测序 (scRNA-seq) 数据处理的强大工具。对于聚类结果的颜色表示,Seurat 提供了灵活的方式来进行定制化配置。 #### 自定义聚类颜色方案 为了实现对 Seurat 对象中各个簇的可视化效果调整,可以利用 `Idents` 函数来指定新的身份标签,并通过 `SetIdent` 或者直接修改元数据的方式来更改这些标签对应的显示色彩。具体来说: - 使用 `palette()` 来创建一组预设好的调色板; - 应用 `DimPlot` 绘制降维图时可通过参数 `group.by="ident"` 和 `cols=your_palette_vector` 设置各组别的颜色; ```r library(Seurat) # 创建一个含所需颜色向量的对象 custom_colors <- c("#FF0000", "#00FF00", "#0000FF") # 将新颜色应用到现有的 Seurat object 上 DefaultAssay(object) <- "RNA" object <- SetAllIdent(object, id = "seurat_clusters") # 如果之前已经设置了 cluster ID 可省略此步 options(repr.plot.width=8, repr.plot.height=6) p1 <- DimPlot(object, reduction = "umap", group.by = "seurat_clusters", cols = custom_colors, label=T)+ggtitle("Custom Cluster Colors UMAP Plot") print(p1) ``` 上述代码片段展示了如何为UMAP图表中的不同集群分配特定的颜色[^1]。 #### 解读颜色含义 当观察由 Seurat 产生的任何类型的散点分布图(如 t-SNE、PCA 或 UMAP),默认情况下每个点代表一个单独的单元格,而相同颜色则意味着属于同一个已识别群体内的成员。如果进行了手动注释,则可以根据先前建立的标准解释这些分类背后的生物学意义——比如某种特殊的免疫表型或是发育阶段等特征。此外,在某些场景下还可以借助外部数据库查询特异性标记基因表达情况进一步辅助理解所见模式背后的原因[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值