熟悉我的朋友应该知道,学习一个组学,我一般会从学起,从上游分析到下游,例如为了学习Bulk RNA-seq分析,我会从芯片数据学起,例如:
学习Bulk RNA-seq分析,我会先从FASTQ上游分析学起,顺带学习了Linux和Conda,例如:
有了上面的知识和经验,很快入门了Chip-seq分析:
还是一样,有了上面分析多组学的知识和经验,很快入门了scRNA-seq分析,scRNA-seq我写的太多了,就不一一列举了:
尽管有了大量实战经验,在单细胞上游分析方面我也踩了不少坑,例如:
Visium HD 是10X Genomics在2024年最新推出的空间转录组技术,得益于前期的学习和积累,这个技术一出来我就开始学习了,例如:
然而关于10X HD Visium上游分析流程的学习一直是我的一个小遗憾,搜了一下推文似乎也没有人写过。所以本帖专门对10X HD Visium上游分析的软件部署和流程做一个简要介绍。希望我的学习经验和本帖都能给大家一些参考。
这里主要涉及到的是spaceranger的安装,10官网有详细的步骤(https://www.10xgenomics.com/support/software/space-ranger/downloads):
wget -O spaceranger-3.1.3.tar.gz "https://cf.10xgenomics.com/releases/spatial-exp/spaceranger-3.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官网即可(https://www.10xgenomics.com/support/software/space-ranger/latest),大概流程如下:
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 分析中,我们会将转录本表达的空间位置与组织切片图像进行匹配。但这个自动匹配的过程并不总是完美,有时会出现如下情况:
这时,Loupe Browser 的图像对齐功能就显得尤为重要。
具体来说,在分析 Visium HD 数据时,我们会有两张图像:
我们可以在 Loupe Browser 中:
随后,在重新运行 spaceranger count 时传入该 .json 文件,即可让软件使用预设的组织区域及图像对齐参数,从而实现更精确的空间表达定位。
那么,什么时候应该使用 Loupe Browser 做组织区域选择和对齐呢?
(当然上面的内容我也是借助小C老师生成的。虽然内容本身我有查阅资料交叉验证,如果有说的不对的地方还请各位批评指正。)
得到下游表达矩阵之后,就可以做细胞分割或者标准流程了,例如: