单细胞RNA速率分析实战:从Cellranger到loom文件生成

张开发
2026/4/15 7:27:43 15 分钟阅读

分享文章

单细胞RNA速率分析实战:从Cellranger到loom文件生成
1. 单细胞RNA速率分析入门指南第一次接触单细胞RNA速率分析时我被这个技术的神奇之处深深吸引。简单来说它就像给细胞装上了时间机器让我们不仅能知道细胞当前的状态还能预测它们未来的发展方向。这种技术在发育生物学、疾病研究和药物开发等领域都有广泛应用。单细胞RNA速率分析的核心是通过比较新生RNA未剪接和成熟RNA已剪接的比例来推断细胞的动态变化趋势。想象一下这就像通过观察工厂里半成品和成品的比例来预测生产线未来的产出情况。整个分析流程大致可以分为三个阶段数据获取与预处理使用Cellranger速率分析使用velocyto结果可视化与解读2. 实验环境搭建与数据准备2.1 创建专用分析环境我强烈建议为单细胞分析创建独立的环境这样可以避免软件版本冲突。以下是我常用的conda环境配置方法# 创建名为scRNA的Python3.9环境 conda create -n scRNA python3.9 conda activate scRNA # 设置清华镜像源加速下载 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ conda config --set show_channel_urls yes2.2 安装Cellranger软件Cellranger是10x Genomics官方提供的单细胞数据分析工具需要从官网下载。我使用的是9.0.0版本安装步骤如下# 解压下载的软件包 tar -xzvf cellranger-9.0.0.tar.gz # 临时添加到环境变量 export PATH/path/to/cellranger-9.0.0/bin:$PATH # 验证安装 which cellranger2.3 下载参考基因组参考基因组的选择至关重要必须与实验物种匹配。我从10x Genomics官网下载了人类参考基因组nohup curl -O https://cf.10xgenomics.com/supp/cell-exp/refdata-gex-GRCh38-2024-A.tar.gz download.log 21 下载完成后记得解压并检查文件完整性。我曾经因为参考基因组不完整浪费了一整天时间分析数据这个教训让我现在每次都会仔细检查。3. 数据下载与预处理实战3.1 高效下载SRA数据公共数据库中的数据下载是个技术活。我测试过多种方法总结出三种高效方案prefetch方法- NCBI官方工具稳定但速度一般cat SRR_Acc_List.txt | while read id; do prefetch --max-size 500G $id; donekingfisher方法- 多线程下载速度更快kingfisher get --run-identifiers-list SRR_Acc_List.txt \ -m ena-ascp ena-ftp prefetch \ --download-threads 10 \ --check-md5sumsascp方法- 企业级传输协议速度最快但配置复杂ascp -QT -l 100m -P 33001 -i ~/.aspera/connect/etc/asperaweb_id_dsa.openssh \ era-faspfasp.sra.ebi.ac.uk:/vol1/fastq/SRR169/065/SRR16931965/SRR16931965_1.fastq.gz .3.2 数据质量控制下载完成后我总会做三件事校验MD5值确保文件完整检查文件大小是否符合预期抽样查看文件内容# MD5校验 md5sum SRR16931961_1.fastq.gz # 文件大小检查 ls -lh *.fastq.gz # 抽样查看 zcat SRR16931961_1.fastq.gz | head -n 83.3 文件重命名与整理10x Genomics对输入文件名有严格要求。这是我常用的重命名脚本# 创建符号链接方式重命名 mkdir -p linked_fastq ls *_1.fastq.gz | while read file; do sample$(basename $file | cut -d _ -f1) ln -sf $(realpath $file) linked_fastq/${sample}_S1_L001_R1_001.fastq.gz done4. Cellranger定量分析详解4.1 运行cellranger count准备好数据后就可以开始正式分析了。这是我的标准分析命令# 设置参考基因组路径 ref/path/to/refdata-gex-GRCh38-2024-A # 设置fastq文件路径 fastqs/path/to/merged_GSM # 样本列表 samples(GSM5688711) for sample in ${samples[]} do nohup cellranger count \ --id$sample \ --transcriptome$ref \ --fastqs$fastqs \ --sample$sample \ --create-bamtrue \ --nosecondary \ --localcores4 \ --localmem30 \ ${sample}.log 21 done4.2 结果解读分析完成后重点检查以下几个文件outs/web_summary.html- 分析质量总览outs/metrics_summary.csv- 关键指标数据outs/filtered_feature_bc_matrix- 过滤后的表达矩阵我曾经遇到过一个样本的测序饱和度不足的问题通过web_summary.html及时发现避免了后续分析的偏差。5. velocyto速率分析实战5.1 创建velocyto环境conda create -n velocyto conda activate velocyto conda install numpy scipy cython numba matplotlib scikit-learn h5py click pip install velocyto5.2 准备注释文件除了参考基因组还需要两个关键文件基因注释文件(.gtf)重复序列注释文件我从GENCODE下载了基本注释文件重复序列注释则从UCSC获取。这部分最容易出问题建议下载后先用少量数据测试。5.3 运行velocyto# 设置参数 ref/path/to/genes.gtf anno/path/to/repeats.gtf input/path/to/GSM5688706/ # 正式运行 nohup velocyto run10x -m $anno $input $ref run_GSM5688706.log 21 运行完成后会生成.loom文件这是后续分析的基础。我第一次运行时因为内存不足失败了后来调整到32GB内存才成功。6. loom文件处理与整合6.1 合并多个loom文件当有多个样本时可以使用loompy合并import loompy files [ GSM5688707.loom, GSM5688708.loom, GSM5688709.loom, GSM5688710.loom, GSM5688711.loom ] loompy.combine(files, GSE188711_loom.loom, keyAccession)6.2 与Seurat数据整合如果需要将velocyto结果与Seurat分析结合可以转换为h5ad格式library(sceasy) library(reticulate) use_condaenv(sceasy) scRNA_V5[[RNA]] - as(scRNA_V5[[RNA]], Assay) convertFormat(scRNA_V5, fromseurat, toanndata, outFileCD4t_final.h5ad)7. 常见问题排查在实际操作中我遇到过不少坑这里分享几个典型问题的解决方法Cellranger内存不足增加--localmem参数建议至少32GBvelocyto运行报错检查注释文件路径和格式是否正确loom文件无法合并确保所有文件的基因名称一致下载速度慢尝试更换下载方法如从prefetch切换到kingfisher记得每次分析都保存完整的日志文件这样出现问题时有据可查。我习惯用nohup记录完整运行过程后期排查非常方便。

更多文章