SeuratWrappers 开源项目教程
1. 项目介绍
SeuratWrappers 是一个由社区提供的 Seurat 扩展方法集合,由 Satija Lab 在 NYGC 维护。这些方法提供了 Seurat 中尚未包含的功能,并且可以更频繁地更新。SeuratWrappers 的目标是为 Seurat 用户提供更多的工具和方法,以增强其单细胞分析能力。
2. 项目快速启动
安装 SeuratWrappers
首先,确保你已经安装了 remotes
包,然后使用以下命令安装 SeuratWrappers:
install.packages("remotes")
remotes::install_github('satijalab/seurat-wrappers')
加载 SeuratWrappers
安装完成后,你可以通过以下代码加载 SeuratWrappers:
library(SeuratWrappers)
使用示例
以下是一个简单的示例,展示如何使用 SeuratWrappers 中的 RunALRA
方法进行零值保留的插补:
# 创建一个 Seurat 对象
data <- Read10X(data.dir = "path/to/your/data")
seurat_obj <- CreateSeuratObject(counts = data)
# 使用 ALRA 进行插补
seurat_obj <- RunALRA(seurat_obj)
# 查看插补后的数据
head(seurat_obj@assays$RNA@data)
3. 应用案例和最佳实践
案例1:使用 Monocle 3 计算轨迹
SeuratWrappers 提供了与 Monocle 3 的集成,可以用于计算单细胞轨迹。以下是一个简单的示例:
# 加载 Monocle 3
library(monocle3)
# 将 Seurat 对象转换为 Monocle 对象
cds <- as.cell_data_set(seurat_obj)
# 计算轨迹
cds <- cluster_cells(cds)
cds <- learn_graph(cds)
# 可视化轨迹
plot_cells(cds, color_cells_by = "cluster")
案例2:使用 scVelo 估计 RNA 速度
SeuratWrappers 还支持与 scVelo 的集成,用于估计 RNA 速度。以下是一个示例:
# 加载 scVelo
library(scVelo)
# 将 Seurat 对象转换为 AnnData 对象
adata <- Convert(from = seurat_obj, to = "anndata")
# 估计 RNA 速度
scv.tl.velocity(adata)
# 可视化速度
scv.pl.velocity_embedding_stream(adata)
4. 典型生态项目
SeuratWrappers 与其他几个重要的单细胞分析工具和库有紧密的集成,以下是一些典型的生态项目:
- Monocle 3: 用于单细胞轨迹分析。
- scVelo: 用于 RNA 速度估计。
- ALRA: 用于零值保留的插补。
- Harmony: 用于数据集的整合。
这些工具和库与 SeuratWrappers 的集成,使得 Seurat 用户能够更方便地使用这些强大的分析方法。
通过本教程,你应该能够快速上手 SeuratWrappers,并了解如何将其应用于实际的单细胞数据分析中。