当前位置: 首页 > news >正文

单细胞上游分析实战:从cellranger安装到数据预处理全流程解析

1. 环境准备:从零搭建单细胞分析平台

第一次接触单细胞测序数据分析时,最让人头疼的就是环境配置。记得我刚开始搭建环境时,光是解决各种依赖问题就折腾了整整两天。现在把这些经验总结出来,帮你避开那些坑。

首先需要准备的是conda环境,这是管理生物信息软件的神器。我强烈建议使用清华镜像源,下载速度能快10倍不止。配置方法很简单,在终端依次执行以下命令:

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 yes

创建专属环境时,我习惯用Python 3.9版本,这个版本兼容性最好。执行conda create -n scRNA python=3.9创建环境后,记得用conda activate scRNA激活。这里有个小技巧:把激活命令写入.bashrc文件,这样每次打开终端都会自动进入工作环境。

1.1 核心工具安装指南

sra-tools是下载原始数据的必备工具。安装时很多人会纠结要不要加-c bioconda参数,其实现在清华镜像配置好后,直接conda install sra-tools就能搞定。我曾经测试过,加不加-c参数下载速度差别不大。

cellranger的安装稍微麻烦些。建议先在用户目录下创建biosoft文件夹存放软件,比如mkdir ~/biosoft。从10x Genomics官网下载最新版cellranger后,用tar -xzvf cellranger-x.x.x.tar.gz解压。重点来了:临时添加PATH时,一定要用绝对路径:

export PATH=/path/to/cellranger/bin:$PATH

验证是否成功最可靠的方法是which cellranger,能看到完整路径就说明配置正确。不过这个设置只在当前会话有效,要永久生效需要把这行命令加到.bashrc文件里。

2. 参考基因组下载与配置

参考基因组就像单细胞分析的"地图",选错版本后续分析全完蛋。10x Genomics官方提供了多个版本,新手建议用GRCh38-2020-A这个稳定版。下载命令很简单:

nohup wget "https://cf.10xgenomics.com/supp/cell-exp/refdata-gex-GRCh38-2020-A.tar.gz" > download.log 2>&1 &

这个命令用了nohup和后台运行,适合大文件下载。我一般会开个tmux会话,这样即使断网也不会中断下载。下载完成后记得校验md5值,有次我遇到文件损坏,白白浪费了一天时间。

解压后目录结构应该是这样的:

refdata-gex-GRCh38-2020-A/ ├── genes ├── genome └── transcriptome

2.1 不同物种的注意事项

如果你做的是小鼠分析,需要下载mm10版本。有个坑要注意:10x的参考基因组是经过特殊处理的,不能用UCSC或Ensembl的直接替代。我有次偷懒用了Ensembl的基因组,结果cellranger直接报错退出。

对于植物或特殊物种,10x可能没有现成的参考基因组。这时需要用cellranger mkref命令自己构建,这个过程比较麻烦,需要准备gtf和fasta文件。建议先在小数据上测试通过再处理正式数据。

3. 数据下载实战技巧

以GSE150321数据集为例,分享几种我常用的下载方法。这个数据集包含两个样本(SRR11666954和SRR11666955),适合用来练手。

3.1 直接下载法

最简单粗暴的方法就是用wget直接下:

nohup wget https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR11666954/SRR11666954 > download.log 2>&1 &

但这种方法有个缺点:不知道下载进度。我改进的方法是结合pv命令:

wget https://sra... | pv -bep -s 500M > SRR11666954

3.2 prefetch批量下载

当需要下载几十个样本时,prefetch是更好的选择。先准备SRR_Acc_List.txt文件,然后有三种用法:

第一种最简洁:

cat SRR_Acc_List.txt | while read id; do prefetch --max-size 500G "$id"; done

第二种会打印下载状态:

cat SRR_Acc_List.txt | while read i; do prefetch $i --max-size 500G -O `pwd` && echo "**${i}.sra done**" done

第三种适合超大批量:

prefetch --option-file SRR_Acc_List.txt -O ./ --min-size 0 --max-size 500GB

3.3 kingfisher高效方案

最近发现的kingfisher真是神器,一行命令搞定所有:

kingfisher get --run-identifiers-list SRR_Acc_List.txt -m ena-ascp ena-ftp prefetch --download-threads 10 --check-md5sums 1 > down_srr_list.log 2>&1

这个工具会自动尝试多种下载方式,还能校验文件完整性。我测试过,10线程下载比prefetch快3倍以上。

4. 数据预处理关键步骤

下载的sra文件需要转为fastq格式才能用于cellranger。这里推荐用parallel加速处理:

parallel -j 4 'fastq-dump --split-files --gzip {}' ::: *.sra

这个命令会同时处理4个文件,--split-files参数保证配对末端数据正确拆分,--gzip直接压缩节省空间。

4.1 cellranger计数流程

准备好fastq文件后,核心命令长这样:

cellranger count --id=sample1 \ --transcriptome=refdata-gex-GRCh38-2020-A \ --fastqs=path/to/fastq \ --sample=SRR11666954 \ --localcores=16 \ --localmem=64

几个关键参数:

  • --localcores:设置使用的CPU核数
  • --localmem:限制内存使用(单位GB)
  • --expect-cells:预估细胞数,能提高聚类精度

我曾经遇到一个坑:样本名称不能包含特殊字符,否则会报错。建议只用字母数字和下划线。

4.2 结果解读与质控

运行完成后会生成outs目录,其中最重要的文件是:

  • web_summary.html:可视化报告
  • filtered_feature_bc_matrix:过滤后的表达矩阵
  • metrics_summary.csv:质控指标

要特别关注这几个指标:

  • 中位基因数(Median Genes per Cell):正常2000-3000
  • 测序饱和度(Sequencing Saturation):理想值>50%
  • 比对率(Reads Mapped to Genome):应>80%

如果发现双细胞比例过高(比如>10%),可能需要调整--expect-cells参数重新分析。

http://www.jsqmd.com/news/568989/

相关文章:

  • 30天小白进阶AI大神:收藏这份路线图,免费工具玩转大模型!
  • ZH03B激光粉尘传感器原理与SD_ZH03B库工程实践
  • 用STM32F103+TMC5160做个小玩意:从CubeMX配置到FreeRTOS任务调度,手把手带你玩转电机驱动板
  • 网易云音乐永久直链解析:一键解决音乐链接过期问题的终极指南
  • 2026年评价高的宁波农机硬管总成/不锈钢硬管总成/高压硬管总成/风电硬管总成公司选择推荐 - 品牌宣传支持者
  • 2026年热门的润滑软管总成/汽车软管总成/挖掘机软管总成/液压软管总成源头工厂推荐 - 品牌宣传支持者
  • 感应电机故障检测的 Matlab/Simulink 仿真搭建之旅
  • 从原理到代码:深入解析UniFormer的多头关系聚合器(MHRA)设计
  • 3个核心价值:RisingWave实时流数据处理平台构建企业级监控告警系统
  • 轻量级PDF阅读器SumatraPDF:提升数字阅读效率的全方位指南
  • Hunyuan-MT-7B部署教程:Pixel Language Portal与企业SSO单点登录集成方案
  • 2026年知名的宁波高压软管总成/润滑软管总成/软管总成推荐实力公司 - 品牌宣传支持者
  • **Jest测试驱动开发新范式:从基础到高级实战指南**在现代前端工程化实践中,**单元测试**早已不是“锦
  • 嵌入式开发文档工程化实践与价值
  • 基于Matlab的 变转速时域信号转速提取及阶次分析 将采集的脉冲信号转为转速,并对变转速时域...
  • 百度网盘真实地址提取工具:突破下载限速的开源解决方案
  • 2026年靠谱的多腔热流道/热流道平衡分流板公司选择参考 - 品牌宣传支持者
  • 告别Web限制:用Vue2+Electron 13.x手把手打造一个串口调试桌面工具(附完整源码)
  • 芯片验证方法论精要:从SystemVerilog到UVM的实战指南
  • 赋能合作共赢——建设银行广东省茂名市分行:走进汽车经销商,开展金融知识普及活动
  • Python3.9+Miniconda快速部署指南:告别环境冲突,一键创建专属开发空间
  • 用Xilinx Ego1 FPGA做循迹小车,从单片机思维到Verilog实战的保姆级避坑指南
  • 打造你的私人云游戏服务器:Sunshine完全指南
  • 自动控制原理实战:5个拉普拉斯变换在系统分析中的典型应用案例
  • 从开源PCV项目出发:手把手教你用Qt+PCL+VTK搭建自己的点云处理软件框架
  • 锂电池建模这事挺有意思的。咱们今天直接上硬菜,用遗传算法整活二阶RC等效电路的参数辨识。手头有实测的DST、FUDS这些工况数据,先甩个模型结构图镇楼
  • python基于flask的智能家教预约服务教学平台设计与实现
  • 利用快马平台AI能力,十分钟快速搭建SpringBoot图书管理原型系统
  • TEKLauncher:终极方舟生存进化启动器 - 告别MOD管理噩梦的完整指南
  • 用STM32F103的TIM3实现旋转编码器方向判断:AB相相位差处理的5个关键细节