大家好!上一期我们探讨了为什么要做单细胞转录组,揭示了单细胞技术如何打破传统测序的局限,解析细胞异质性的奥秘。本期我们将正式开启实战篇章,手把手教你搭建单细胞分析环境,并准备好测序数据,为后续分析打下坚实基础!
一、工欲善其事,必先利其器:软件安装指南
单细胞数据分析依赖专业的生物信息学工具,以下是几款必装核心软件及其安装方法:
上游分析软件
1. Cell Ranger(10x Genomics官方流程)
-
作用:处理10x Genomics单细胞数据,完成原始序列(FASTQ)到基因表达矩阵的转换。
-
安装步骤:
# 下载安装包(需官网注册后获取下载链接) wget https://cf.10xgenomics.com/releases/cell-exp/cellranger-9.0.1.tar.gz?Expires=1738974489&Key-Pair-Id=APKAI7S6A5RYOXBWRPDA&Signature=VVeJRDheJ19IvquZ-MtHaIyvfEfsfePJKbhn8vxFCqQLjMUntK1LMQrHsVxN5EMLeU-ozzrxYyXng3hloSChYnEfpWmHVpM1vaHNWyBV9vB6JDMm-GojDVmAu6gVTrahV01SjKP9FhwUni6cnkVP9fofwmE3bHc92eVIAijC0AR3DdIMolVVUfj03VOmuTyWQvf5mgAXCGXbRtsEtVHMuAhndWFc8GS9kFKhH~pUfoqLyQAdY8ywEzp3zahxfqvsk~ax0TECq91AeGVqgaoNvbGa-8TIHkeSdfHOtkiQ3P3SnbnS8COlOyCrpB~1P0uMd9rf8Q4EOzRfSuPe3V-rhA__ # 解压并添加环境变量 tar -xzvf cellranger-9.0.1.tar.gz echo 'export PATH=$PATH:/your/path/cellranger-9.0.1' >> ~/.bashrc source ~/.bashrc -
验证安装:
cellranger testrun --id=tiny -
注意:写入环境变量替换路径和足够的存储空间(建议>50GB)。
CellRanger 常用命令如下:
- Cell Ranger mkref 用于构建参考基因组
- Cell Ranger mkfastq 用于将下机数据转换为 fastq,一般不需要
- Cell Ranger count 用于表达定量
- Cell Ranger aggr 用于整合多样本的表达矩阵### 下游分析软件
Seurat 和Scanpy是两个流行的单细胞 RNA 测序(scRNA-seq)分析工具,它们分别基于 R 和 Python 语言开发。两者在功能、性能、可扩展性和用户友好性等方面各有优劣,适合不同的科研需求。下面从几个关键维度对这两个工具进行比较:
| 比较维度 | Seurat | Scanpy |
|---|---|---|
| 编程语言 | R | Python |
| 数据存储与处理 | Seurat 对象,适合小到中等规模的数据集 | AnnData,支持大规模数据集的内存外操作 |
| 计算性能 | 适合中等规模数据集,处理大数据时较慢 | 高效处理大规模数据集,支持稀疏矩阵 |
| 可视化 | 使用 ggplot2 生成丰富的可视化图表,易于定制化 | 基础的可视化,需要配合 matplotlib 等库使用 |
| 社区与生态系统 | 活跃的 R 语言社区,有大量教程和相关 R 包支持 | 基于 Python,易与机器学习库集成,生态系统广泛 |
| 工具集成 | 与 R 包如 Monocle、SingleR 等集成良好 | 与 Python 生态系统和深度学习工具(如 scVI)集成良好 |
| 易用性 | 对 R 用户友好,生物学研究者常用 | 对 Python 用户友好,学习曲线较陡峭,但对高级用户功能强大 |
Seurat 等 R 包
- 作用:数据质控、降维聚类、差异基因分析及可视化等。
- 安装方法(R/RStudio环境):
# Install the remotes package
if (!requireNamespace("remotes", quietly = TRUE)) {
BiocManager::install("remotes")
}
# 基础包
BiocManager::install("dplyr")
BiocManager::install("tidyverse")
BiocManager::install("patchwork")
remotes::install_version("Matrix", version = "1.6-4")
BiocManager::install("irlba")
BiocManager::install("scater")
# Seurat 相关包
BiocManager::install("Seurat")
BiocManager::install("SeuratObject")
BiocManager::install("satijalab/seurat-data")
BiocManager::install('satijalab/seurat-wrappers')
BiocManager::install("satijalab/azimuth")
BiocManager::install('Signac')
BiocManager::install('tidyseurat')
# 其他包
BiocManager::install("chris-mcginnis-ucsf/DoubletFinder")
BiocManager::install("jinworks/CellChat")
devtools::install_github('cole-trapnell-lab/monocle3', ref="develop")
library(tidyverse)
library(patchwork)
library(Seurat)
library(SeuratObject)
library(SeuratData)
library(Azimuth)
library(monocle3)
安装了V5 版本需要再装 V4版本
remotes::install_version("Matrix", version = "1.6-1", lib = '/your/path/Seurat_V4')
remotes::install_version(package = 'Seurat',
version = '4.4.0',
lib = '/your/path/Seurat_V4')
remotes::install_version(package = 'SeuratObject',
version = '4.1.4',
lib = '/your/path/Seurat_V4')
library(Seurat, lib = "/your/path/Seurat_V4/")
library(SeuratObject, lib = "/your/path/Seurat_V4/")
```#### Scanpy(Python版单细胞分析工具)
- **适用场景**:偏好Python的用户,支持大规模数据处理。
- **安装命令**:
```
pip install scanpy
# 可选安装加速库
pip install umap-learn leidenalg
```
* * *
## 二、准备测序数据
### 1. 获取原始数据
- **来源**:公共数据库(如NCBI GEO、国家基因组中心)或实验室测序下机数据。
- **常见格式**:
- - **FASTQ文件**:包含测序序列和碱基质量信息(文件命名通常含`R1`、`R2`)。
- **参考基因组**:需与物种和版本匹配(如人类`GRCh38`)。
* * *
### 2. 数据下载与校验(以GEO为例)
使用wget或sratoolkit下载
prefetch SRR1234567 # SRA编号示例 fasterq-dump SRR1234567 --split-files
校验MD5值(确保数据完整性)
md5sum SRR1234567_1.fastq.gz
* * *
### 3. 数据预处理(Cell Ranger流程)
- **配置参考基因组**:
```
cellranger mkref --genome=GRCh38 \
--fasta=GRCh38.fa \
--genes=genes.gtf
```
- **运行分析流程**:
```
cellranger count --id=sample1 \
--transcriptome=GRCh38 \
--fastqs=path/to/fastq \
--sample=Sample1
```
- **输出结果**:`outs/filtered_feature_bc_matrix` 目录下的基因表达矩阵(后续分析的核心输入)。
* * *
## 三、避坑指南:常见问题与解决方案
1. **依赖缺失**:安装前确保系统已安装`zlib`、`glibc`等库,推荐使用`conda/mamba`管理环境。
1. **权限问题**:Linux用户注意`sudo`权限及文件读写权限。
1. **存储不足**:单细胞数据庞大,建议预留充足硬盘空间(处理10x数据需>50GB)。
* * *
通过本期内容,你已经迈出了单细胞分析的第一步!
准备好数据和工具后,下一期我们将正式构建seurat对象。
如果你在安装中遇到问题,欢迎留言讨论!