scATAC-seq3:常用工具—SnapATAC简介
引文
之前的推文中,我们简单介绍了scATAC-seq的技术原理和发展历程。从本期推文开始,我们将分享scATAC-seq的常用工具和基本的分析流程。scATAC-seq分析工具当中,比较为人熟知的是ArchR、SnapATAC以及Signac三个R包,本期我们着重对SnapATAC进行介绍。SnapATAC是由加州大学圣地亚哥分校的任兵教授团队开发的工具,这款工具很早就已经推广使用了,不过直到今年才在NC上发表见刊。
任兵教授团队今年除了这篇SnapATAC的正式发表,还有另一篇建立在单细胞Hi-C数据基础上的分析工具SnapHiC在《Nature Methods》上发表。对于SnapATAC这个名字具有一语双关的意思,一方面代表Single Nucleus Analysis Pipeline for ATAC-seq,又可以包含Snapshot of single cell chromatin accessibility 这样的含义。
scATAC-seq的分析难点
由于scATAC-seq对于peak的捕获效率只能达到5%-15%左右,因此对于区分细胞类型的过程来说,scATAC-seq相比于scRNA-seq的分析困难更大。当前针对于scATAC-seq数据集,主要的无监督学习算法有以下几种类型:
1)根据细胞染色质开放区的转录因子motif的位点分布进行聚类,例如chromVAR;
2)通过自然语言处理工具,例如LSA、LDA等方法,将细胞根据染色质开放性的相似程度进行区分;
3)根据序列组装k-mer算法,分析细胞染色质开放性的差异;
4)先基于细胞推测的调控元件计算基因的activity score,再比较细胞之间的差异,例如Cicero。
但是对于这些算法而言,大多都需要通过SVD进行线性降维处理,如果针对细胞数目较大的数据集,则其运算量会非常大,在现行的计算条件下很难进行实现。
SnapATAC的优势
2019年《Genome Biology》曾发表一篇题为《Assessment of computational methods for the analysis of single-cell ATAC-seq data》的文章,对当时的scATAC-seq的分析工具进行了比较系统的评价。
通过比较不同工具的聚类可视化结果,可以看到cisTopic、Cusanovich2018、SnapATAC三种工具的聚类效果明显优于其他的工具。除此以外,针对大数据计算存在的问题,SnapATAC则通过Nyström这种方法,极大地提高了scATAC-seq分析的运算效率和处理大规模数据集的能力。
SnapATAC简介
本期推文我们先简单介绍一下SnapATAC的功能和相较于其他分析工具的特性和差异。
1)SnapATAC的上游分析,作者推荐其团队开发的SnapTools进行处理(SnapATAC也能够处理由Cellranger进行上游处理的结果),而由SnapTools产生的上游处理结果储存在snap格式的文件当中。
2)SnapATAC区分细胞类型主要是通过评估细胞之间的染色质开放性的差异,而每个细胞的染色质开放性是通过二进制向量进行表示的。二进制向量的长度n,表示将基因组切割为n个区间bin。如果对于某区间bin对应向量中的值为1,则表示该区间内含有一个或一个以上的reads;而如果该区间对应向量中的值为0,则表示该区间不含有reads。这个和0-1规划的数学模型非常相似,即1代表开放,0代表不开放。因此bin的大小的选择对结果的影响至关。我们后面会专门讨论这个问题。主要所有细胞之间的染色质开放性差异最终通过Jaccard相似度矩阵的形式进行体现。
3)SnapATAC是通过Nyström这种方法对大规模的数据集进行降维,主要分为两步:首先对细胞中的一部分进行降维,再基于这部分细胞形成的embedding结果,将其他的细胞进行投影。但主要存在的一个问题在于每次抽样不同的细胞,会产生不一样的结果。SnapATAC主要是根据多次结果,进行整合出一个能够实现高度重现的结果。
4)SnapATAC的细胞类型定义主要支持的途径有以下三种:通过accessibility score根据marker gene进行定义、通过整合scRNA-seq的数据集进行定义、根据过去已有数据的定义结果进行监督学习。
总结
本期推文我们主要对SnapATAC这种工具进行了简单的介绍。其实针对scATAC-seq数据分析的工具,最关键的两个问题是分析准确度和计算效率如何能够提高。在下一篇推文当中,我们将具体介绍SnapATAC的分析流程和分析中遇到的相关问题。