一文打通10X HD Visium上游:从软件部署到上游分析
熟悉我的朋友应该知道,学习一个组学,我一般会从学起,从上游分析到下游,例如为了学习Bulk RNA-seq分析,我会从芯片数据学起,例如:
- 一文解决80%GEO芯片数据分析
- 同时这个过程学习了基因ID转换,关于基因ID转换,一文就够了
- 差异表达分析以及富集分析等,R语言进行TCGA配对样本差异基因分析
学习Bulk RNA-seq分析,我会先从FASTQ上游分析学起,顺带学习了Linux和Conda,例如:
- Linux随笔(一)入门篇
- Linux随笔(二)“软件管家“ conda
- 91例免疫治疗队列(含生存)转录组上游分析实战
有了上面的知识和经验,很快入门了Chip-seq分析:
- ChIPseq实战分析(一):从fastq到bed
- ChIPseq实战分析(二):HOMER和MEME的motif分析
还是一样,有了上面分析多组学的知识和经验,很快入门了scRNA-seq分析,scRNA-seq我写的太多了,就不一一列举了:
- 一文打通单细胞上游:从软件部署到上游分析
尽管有了大量实战经验,在单细胞上游分析方面我也踩了不少坑,例如:
- 10X单细胞转录组测序数据的 SRA转fastq踩坑那些事
- 10X单细胞上游 | 一个样本对应多个SRR ID怎么办?
Visium HD 是10X Genomics在2024年最新推出的空间转录组技术,得益于前期的学习和积累,这个技术一出来我就开始学习了,例如:
- 全网首发 | Visium HD空转数据开箱测试
- 跟着Seurat官网学Visium HD空转分析(一)标准分析流程
- 跟着Seurat官网学Visium HD空转分析(二)空间组织域识别和反卷积
然而关于10X HD Visium上游分析流程的学习一直是我的一个小遗憾,搜了一下推文似乎也没有人写过。所以本帖专门对10X HD Visium上游分析的软件部署和流程做一个简要介绍。希望我的学习经验和本帖都能给大家一些参考。
一. 10X HD Visium上游分析环境部署
这里主要涉及到的是spaceranger的安装,10官网有详细的步骤():
代码语言:javascript代码运行次数:0运行复制wget -O spaceranger-3.1.3.tar.gz ".1.3.tar.gz?Expires=1743662161&Key-Pair-Id=APKAI7S6A5RYOXBWRPDA&Signature=KsQo6G-WuryCCjpcDDOsk5cWNYIl13C8pTd7u-alfERynAGTTqRWU-4~U7yCgCqDLqwsrZqKYIqtVsqqI1i88xaMhs1V4g6xsSJNDBV9eqCQC9CiaamwK0I5DhH-fbneO0r3mIgmxc9Y5wirRXTYqV-fKVhUoTmfkp90vx1eCjgixiVHQGRDwyDWbhHAzk888d3bDUYliGd-y4x1OCSZQN-cYzzGKrOzPoNWdQXlE~NUv8wIolL6Uj67mAcx0jo1a5BeLhDOhh0yBCQKtwlDU64kKjNCa7dTTk4svIjbyJHB7EM-r79oOdPfn25q~l4xXGu0arOILJgUmCjCkZ1fEQ__"
##解压
tar -xzvf spaceranger-3.1.3.tar.gz
export PATH=~/software_install/spaceranger-3.1.3:$PATH
##绑定邮箱
spaceranger sitecheck > sitecheck.txt
spaceranger upload xxx@xxx.xxx sitecheck.txt
## 我喜欢在10x环境下跑上游
# ln -s ~/software_install/spaceranger-3.1.3/bin/spaceranger ~/miniconda3/envs/10x/bin/
二. 10X HD Visium上游分析的标准流程
这部分也是参考10X官网即可(),大概流程如下:
FASTQ文件的获取,这里跳过了,一般是自测为主的,论文公开的话,我估计要么是不公开的,要么都是缺胳膊少腿的。
spaceranger软件的核心函数就是spaceranger count
了,代码其实很简单,但是理解每一个参数和每一个文件需要花费大量的时间:
spaceranger count --id=hd_count \
--transcriptome=/path/to/refdata-gex-GRCh38-2020-A \
--fastqs=/path/to/fastq \
--probe-set=/path/to/Visium_Human_Transcriptome_Probe_Set_v2.0_GRCh38-2020-A.csv \
--slide=H1-YD7CDZK \
--area=A1 \
--cytaimage=/path/to/CAVG10539_2023-11-16_14-56-24_APPS115_H1-YD7CDZK_A1_S11088.tif \
--image=/path/to/APPS115_11088_rescan_01.btf \
--create-bam=false
如果是两年前的话,需要我们自己查阅,虽然很花费时间和精力,但是能学到很多。
现在的话,有小C老师了,还有Deepseek老师,真的可以节省大量时间:
参数 | 文件类型 | 来源说明 |
---|---|---|
--transcriptome | 参考转录组文件夹(10X格式) | 从10X官网下载 |
--fastqs | 测序数据 FASTQ 文件 | Illumina测序仪输出 |
--probe-set | v2版本的探针CSV文件 | 从10X官网下载 |
--slide | Slide编号 | 样本记录表/玻片标签 |
--area | 玻片区域(A1-D1) | 实验设计决定 |
--cytaimage | 低分辨率组织扫描图像(tif) | CytaScope仪器生成 |
--image | 高分辨率图像(.btf 或 .tif) | Zeiss扫描或原始图像 |
--create-bam | 是否生成 BAM 文件(false 推荐) | 自定义 |
但是AI有一个问题,就是AI多强大取决于用户的知识面多强大,例如,如果我不知道10x visium图片对齐和细胞分割这个概念,AI一般不太会告诉我,甚至即便告诉了我,我也没有概念,不能理解,也无法记住。
拿10x visium图片对齐这个问题举例,这个问题很重要,但是在spaceranger count这个过程是可选的,做与不做取决于用户的目的和数据本身,如果仅仅基于AI跑通了整个spaceranger count流程,囫囵吞枣,虽然可以很快达到目标,但是会遗漏很多的细节。
回到本文的主题,下面讲讲10x visium图片对齐问题:
在 Visium HD 的分析流程中,我们主要涉及两款核心软件:
- Space Ranger:用于在 Linux 命令行中运行,将测序原始数据(FASTQ)转化为空间定位的基因表达矩阵,同时结合显微镜图像进行空间可视化;
- Loupe Browser:可视化工具,适用于 Windows 或 Mac 平台,用于打开 Space Ranger 生成的 .cloupe 文件,帮助进行组织区域选择、图像对齐,以及辅助下游生物学解读。
在 Space Ranger 分析中,我们会将转录本表达的空间位置与组织切片图像进行匹配。但这个自动匹配的过程并不总是完美,有时会出现如下情况:
- 部分组织区域未被自动选中
- 图像背景(HE)与转录本信号前景对不齐
- 组织芯片样本中多个区域希望独立分析
这时,Loupe Browser 的图像对齐功能就显得尤为重要。
具体来说,在分析 Visium HD 数据时,我们会有两张图像:
- CytAssist 图像:与空间转录本定位信息(barcodes)一一对应;
- 高清 HE 图像:通常由显微镜单独扫描,图像质量高,但与转录本坐标存在旋转、翻转、缩放等偏差。
我们可以在 Loupe Browser 中:
- 载入 Space Ranger 生成的 .cloupe 文件
- 叠加 CytAssist 图像与 HE 图像
- 手动进行组织区域选择和图像对齐
- 导出 .json 文件
随后,在重新运行 spaceranger count 时传入该 .json 文件,即可让软件使用预设的组织区域及图像对齐参数,从而实现更精确的空间表达定位。
那么,什么时候应该使用 Loupe Browser 做组织区域选择和对齐呢?
- 默认推荐:直接运行 Space Ranger,无需手动干预(大多数切片已能良好对齐)
- ❗ 必须使用 Loupe Browser 的情况:
- 有组织区域未被自动识别;
- 图像前后景对齐明显偏移;
- 多组织芯片样本中,希望分别提取每个阵列区域进行分析;
- 需要用于发表、公开数据库提交,或精细差异表达分析。
(当然上面的内容我也是借助小C老师生成的。虽然内容本身我有查阅资料交叉验证,如果有说的不对的地方还请各位批评指正。)
得到下游表达矩阵之后,就可以做细胞分割或者标准流程了,例如:
- 全网首发 | Visium HD空转数据开箱测试
- 跟着Seurat官网学Visium HD空转分析(一)标准分析流程
- 跟着Seurat官网学Visium HD空转分析(二)空间组织域识别和反卷积
发布评论