Seurat对象

📅 2026/7/22 23:55:52 👁️ 阅读次数 📝 编程学习
Seurat对象

## 深入理解 Seurat 的图层(Layers)系统

Seurat对象的图层概念确实容易混淆,让我用直观的方式解释清楚。

---

## 1. 什么是图层(Layers)?

Seurat对象内部存储数据的方式像是一个**多层蛋糕**:

```
Seurat对象
    ├── 原始层 (counts)    ← 原始UMI计数(整数)
    ├── 数据层 (data)      ← 标准化后的表达(小数)
    ├── 缩放层 (scale.data) ← Z-score标准化(用于PCA)
    └── 其他自定义层...
```

### 每个"层"都是矩阵
- **行** = 基因
- **列** = 细胞
- 但**存储在不同层中**,内容不同

---

## 2. 详细对比三个层

### (1) counts 层 - 原始数据
```r
counts <- LayerData(obj, layer = "counts")
```
**这是最原始的数据**:
```r
# 示例:3个基因 × 4个细胞
        细胞1  细胞2  细胞3  细胞4
Egr2      0      5      0      2
Col1a1    3      1      0      4
Dcn       0      2      8 &n