简介
单细胞测序技术是近十年最伟大的科学进展之一,其涵盖多方面的内容。scRNA-seq想必大家都较为熟悉,但是scATAC-seq出现在大家印象中的次数并不多,但是这种现象并不是否定了scATAC的重要性,而是有几个原因造成:1.相较于转录组测序,scATAC测序难度较高,在没有多年积累的高水准实验室之外是很难完成的,很多一般的测序公司也很少开展这种项目;2.很多课题开展都是研究某一种细胞的功能,这样bulk ATAC就能完成,没有必要测scATAC。但是同scRNAseq一样,高质量的scATAC数据,可以帮助我们鉴定特殊细胞亚群的调控机制,其价值也是十分重要的。今天Immugent就来和大家聊一下scATAC数据分析的工具,同出自Satija实验室Seurat的姊妹包--Signac.
Signac被开发出来已经有段时日了,网上也有很多教程。小编之所以重新拾起来说一下是因为对应的文章在上个月发表在了nature methods(IF:28.55)杂志上,这篇文章系统的总结了这个包的功能,而且配套的教程也更新了,之前的很多函数都不能使用了,所以Immugent决定来一波update。
下面小编以这篇文章为主要内容来解读一下Signac包的功能。
主要功能介绍
在Signac之前已经有很多各式各样分析scATAC的软件了,下图列举了它们之间功能的对比情况。其中功能最强大的一个软件是ArchR,但是这个包特别难安装,而且因为版本的问题,无法在4.1版本的R上使用。这个包虽然功能较为齐全,但使用起来非常笨重,小编之前研究了很久这个包,最后决定还是放弃了。
Signac包的流程相对简洁,和Seurat包类似,是由相应的函数构成。在处理数据中最大的区别是seurat读入的是基因表达计数矩阵;而Signac读入矩阵中的每一行代表一个基因组区域(“peak region”)而不是基因,其表示开放的染色质区域,矩阵中的每个值代表在每个峰内映射的每个条形码(即细胞)的Tn5切割位点的数量。
Signac能够端到端分析scATAC数据,包括peak calling, quantification, quality control, dimension reduction, clustering, integration with single-cell gene expression datasets, DNA motif analysis and interactive visualization,基本上就是bulk ATAC能做的分析Signac都可以做。
简要流程
文章中示例数据是来自10x的PBMC样本,和转录组流程一样,scATAC数据处理的第一步也是需要质控:主要根据DNA accessibility assay和TSS enrichment score;接下来就是使用Seurat包进行标准化处理和SCT转换,分细胞亚群;到这里流程就遇到了一个瓶颈问题,和scRNAseq类似,scATAC测序深度也不足,这样对基因的检测能力不强。因此,对scATAC数据的细胞亚群注释多依赖于和scRNAseq结合来鉴定,而且一般都是scRNA和scATAC同时进行才更有意义。
但是值得一提的是10x官方在今年年初就已经推测了多种组合的单细胞多模态试剂盒,理论上我们已经可以同时测一个细胞的转录组和ATAC了;此外,还可以对同一细胞表面蛋白进行定量,如果联合膜蛋白的信息和ATAC将会更准确的对细胞亚群进行定义。
Signac可以和MACS2做到无缝衔接,后者是如今peak calling最常用的软件。进一步对找出的peak进行差异分析可以找到在细胞亚群见哪些基因的开发程度存在差异,联合转录组的信息将会更准确的找到具有潜在重要调节功能的基因,如MS4A1在B细胞群中的开放程度较高;
对细胞因子,还可以进行footprinting分析。转录因子结合到开放染色质导致 Tn5 无法剪切该区域,会在覆盖度高的开放区域(Peak)中出现小范围的覆盖度下降,因此这个下降的小区域称为 TF footprint;通过这种分析我们可以得知在某些细胞亚群中发挥功能的细胞因子。
Signac主要的功能就介绍到这,具体的流程介绍可以去官网(https://satijalab.org/signac/articles/overview.html)查看,下面给出Signac包的安装代码,小伙伴们赶紧操练起来吧!
Signac requires that Bioconductor is installed:
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install()setRepositories(ind=1:2)
To install the latest release of Signac from CRAN:
install.packages("Signac")
To release the latest develop version from GitHub
if (!requireNamespace("remotes", quietly = TRUE))
install.packages("remotes")remotes::install_github("timoast/signac", ref = "develop")
抛出疑问
本来小编是想着先解读这篇文章写一个功能介绍的推文,后面再出一系列实操教程,但是现实是残酷的,小编在跑Signac流程中遇到了很多问题。与scRNAseq数据处理不同,scATAC对基因组注释的版本要求很高,很容易出现各种基因组注释问题,欢迎有相关经验或者有scATAC数据分析的小伙伴通过私信联系小编哦。