转自公众号《单细胞天地》系列文章
标准流程
Read10X
CreateSeuratObject
PercentageFeatureSet
subset
NormalizeData
FindVariableFeatures
ScaleData#这一步骤在下游分析中具有同等的权重,因此高度表达的基因不会占主导地位
RunPCA
JackStraw
ScoreJackStraw
ElbowPlot
FindNeighbors
FindClusters
RunUMAP
FindAllMarkers
RenameIdents#亚群重命名
合并数据集
merge(x,y=,add.cell.ids=c(),project="")
基于标准化数据的合并
NormalizeData之后
merge函数添加merge.data = TRUE参数
整合分析
对两个或两个以上单细胞数据集的整合分析提出了独特的挑战。特别是,在标准工作流下,识别存在于多个数据集中的基因可能存在问题。Seurat v4 包括一组方法,以匹配(或"对齐")跨数据集共同的基因。这些方法首先识别处于匹配生物状态的交叉数据集对("锚点"),既可用于纠正数据集之间的技术差异(即批次效应校正),又可用于对整个实验条件进行比较scRNA-seq分析。
先NormalizaData、FindVariableFeatures再
FindIntegrationAnchors
IntegrateData
之后设置DefaultAssay为integrated
再进行ScaleData、RunPCA、RunnUMAP、FindNeighbors、FindClusters
识别保守的细胞类型标记
为了识别在各条件下保守的细胞类型标记基因,我们提供该功能。该功能为每个数据集执行基因表达检测,并使用 MetaDE R 包中的元分析方法组合 p 值
整合之后的差异分析,使用原先的data。DefaultAssay修改为RNA
FindConservedMarkers
参数的功能可用于查看跨条件下的保守细胞类型标记,显示表示任何给定基因在群中的表达水平和细胞百分比。
识别不同条件的差异基因
分完Idents之后FindMarkers
使用SCTransform整合数据
改进的整合方法
- 通过SCTransform()单独(而不是在整合之前)实现数据集标准化
- 我们使用 3,000 个或更多基因来进行sctransform 下游分析。
- 在识别锚点之前运行该功能PrepSCTIntegration()
- 运行FindIntegrationAnchors()和IntegrateData()时,设置参数normalization.method为SCT
- 当运行基于 sctransform 的工作流(包括整合)时,不运行该功能ScaleData()
对每个数据集进行SCTransform
SelectIntegrationFeatures 3000
PrepSCTIntegration
FindIntegrationAnchors
IntegrateData
RunPCA
RunUMAP
交互技巧
选择特定类型细胞取子集
WhichCells
计算群内的平均基因表达
AverageExpression
常用命令
数据可视化方法
marker基因可视化
RidgePlot
VlnPlot
FeaturePlot
DotPlot
DoHeatmap
FeaturePlot新增功能
可设置最大最小值的阈值;两个基因的热图(blend);分组显示;
将主题应用于绘图
Seurat所有绘图功能默认情况下返回基于 ggplot2 的绘图
交互式(新功能,可探索)
细胞周期评分和回归分析
基于传统细胞周期相关marker计算细胞周期得分,并在预处理过程中将这些分数从数据中回归,以消除 scRNA-seq 数据中细胞周期异质性的影响
分配细胞周期得分CellCycleScoring()
我们根据每个细胞的G2 / M和S期marker的表达为其分配分数。这些marker集合在表达水平上应该是反相关的,不表达它们的细胞可能不会循环并处于G1期。
回归细胞周期得分ScaleData()
从数据中消除(“回归”)这种异质性。对于每个基因,Seurat计算模拟基因表达与S和G2M细胞周期得分之间的关系。该模拟的残差表示“校正后的”表达矩阵,可在下游用于降维分析。
可选工作流
上面的过程将删除与细胞周期相关的所有信号。在某些情况下,我们发现这会对下游分析产生负面影响,尤其是在分化过程中(如鼠类造血),在此过程中干细胞处于静止状态,分化的细胞正在增殖(反之亦然)。在这种情况下,将所有细胞周期效应消除,也会使干细胞和祖细胞之间的区别变得模糊。
作为替代方案,我们建议消除G2M和S期评分之间的差异。这意味着分离非循环细胞和循环细胞的信号将保留,但是增殖细胞之间的细胞周期差异(通常是不感兴趣的)将被从数据中剔除。
差异基因表达
降维
使用SCTransform
(1)单个命令替换了NormalizeData(),ScaleData(),FindVariableFeatures()
(2)能够得到log后较清晰的生物学差异。
(3)最新版本还支持使用glmGamPoi包,这大大提高了运行的速度。它可以通过指定sctransformmethod=glmGamPoi来调用。