单细胞转录组数据分析入门-3-Seurat 对象详解和常用命令
Seurat 对象的数据结构是一个 **S4 对象**,它整合了单细胞 RNA 测序的原始数据、样本信息、分析结果等多种数据。
什么是 S4 对象
**S4 对象**是 R 语言中的一种高级面向对象编程机制,用于更复杂的对象和数据结构。相比于基础的列表(如 R 的 S3 对象),S4 对象具有更严格的规则,包括:
- **明确的类定义**:每个 S4 对象的结构通过 `setClass` 定义,包含字段(slots)和类型限制。
- **字段和方法**:通过 `@` 操作符访问字段,例如`object@field`。
- **验证机制**:对象创建时会验证字段和数据类型是否符合定义。
Seurat 对象的基本组成
以下是一个典型的 Seurat 对象:
Seurat 对象的结构详解
assays
`assays` 是 Seurat 对象的核心,存储了基因表达矩阵以及其他相关数据。本例中,有一个名为 `RNA` 的 Assay。 `RNA` 的详细结构如下:
- `layers`:存储多个层的数据。
- `counts.GSE150703` 和 `counts.GSE173079` 是未归一化的原始计数矩阵,存储为稀疏矩阵格式(`dgCMatrix`)。
- `i` 和 `p`:稀疏矩阵的内部索引,用于高效存储。
- `Dim`:矩阵的行(基因)和列(细胞)维度。
- `x`:非零元素的值。
- `data.GSE150703` 和 `data.GSE173079` 是归一化后的基因表达矩阵。
- `scale.data`:标准化后的矩阵,常用于降维和聚类分析。
- `cells` 和 `features`:记录细胞和基因的相关信息。
- `meta.data`:Assay 层级的元数据,包含变量基因的均值、方差等信息。
- `key`:标记该 Assay 的前缀键,用于识别它的数据。
meta.data
这是一个数据框,存储与每个细胞相关的元信息。
- 示例中的字段:
- `orig.ident`:样本来源。
- `nCount_RNA`:每个细胞的总 RNA 计数。
- `nFeature_RNA`:每个细胞检测到的基因数。
- `percent_mito`:线粒体基因的比例,通常用于质量控制。
- `percent_ribo`:核糖体基因占比,通常用于质量控制。
- `percent_hb`:血红蛋白基因占比,通常用于质量控制。
active.assay
表示当前活跃的 Assay,本例中是 `RNA`。它控制 Seurat 函数操作的数据来源。
active.ident
每个细胞当前的分类标签,是一个因子型向量。在本例中,包含 8 个分组(如 `NORM`、`OIR`),这些分组可以用于下游分析和绘图。
graphs
存储细胞之间的图结构,支持聚类和邻近分析。本例中,`graphs` 列表为空,表明暂未进行此类分析。
neighbors
存储细胞间邻居信息,通常由最近邻算法计算得出,用于降维和聚类。本例中,`neighbors` 列表为空。
reductions
存储降维结果。本例中有一个 PCA(主成分分析)结果:
- `cell.embeddings`:细胞在 PCA 空间中的坐标。
- `feature.loadings`:基因对主成分的贡献。
- `stdev`:每个主成分的标准差。 这些数据用于可视化(如`DimPlot`)和聚类。
images
存储空间转录组学数据的图像信息。本例中为空,表明未涉及空间转录组学分析。
project.name
Seurat 对象的项目名称,本例为 `SeuratProject`。可用于标记和区分不同的数据集。
misc
存储用户自定义的信息。本例中为空,可用于存储额外的分析结果或注释。
version
记录 Seurat 包的版本号,本例为 `5.0.2`。这有助于保证分析结果的可重复性和兼容性。
commands
记录分析过程中执行的主要命令及其参数。例如:
- `NormalizeData.RNA`:记录归一化步骤,使用了 `LogNormalize` 方法。
- `FindVariableFeatures.RNA`:记录高变基因筛选过程,选择了 2000 个基因。
- `ScaleData.RNA` 和 `RunPCA.RNA`:记录了标准化和 PCA 的参数。 这些信息便于追踪分析流程和复现结果。
tools
存储插件或扩展分析的结果。本例中为空。
基于本例的分析提示
- `meta.data` 是质量控制的重要部分,可通过筛选 `nFeature_RNA` 和 `percent_mito` 等字段过滤低质量细胞。
- `reductions` 的 PCA 结果是降维和聚类的基础,可以使用 `DimPlot` 进行可视化。
- `commands` 记录了关键分析步骤,便于复现和审查。
Loading...



