如何优化一个传统分析方法还发了14分

Benchmarking principal component analysis for large-scale single-cell RNA-sequencing大规模单细胞RNA测序的基准主成分分析

一. 研究背景

单细胞RNA测序(scRNA-seq)技术的出现使许多类型的细胞异质性检查成为可能。例如,由各种组织组成的细胞亚群,稀有细胞和干细胞壁,与细胞周期进程有关的连续基因表达变化,空间坐标, 许多scRNA-seq研究已经捕获了分化成熟度的差异。由于细胞异质性的测量高度依赖于同时测量的细胞数量,因此已经开发了各种各样的大规模scRNA测序技术,包括那些使用细胞分选设备的技术,Fludigm C1 ,基于液滴的技术和ingle-cell组合索引 RNA测序(Sci-RNA-seq)。主成分分析(PCA)是一种适用于许多情况的常用UML算法。尽管其用途广泛,但仍有很多原因导致不清楚如何对大规模scRNA-seq进行PCA。

而主成分分析(PCA)是分析单细胞RNA序列的基本方法(scRNA-seq)数据集,但是对于大规模的scRNA-seq数据集,计算时间长且消耗大量内存,而一些快速PCA算法可能会忽略一些重要的差异基因表达模式。因此,需要一些快速且高效存储的PCA算法,实际的计算时间和存储效率在很大程度上取决于特定的实现,包括编程语言,加载输入文件的方法以及数据格式。在本研究中,作者检查了用于大型scRNA-seq数据集的快速且内存高效的PCA算法的实用性。

二. 分析流程

三. 结果解读

作者先回顾了一下现有的PCA算法及其实现(图1),图1是对这项工作中的基准测试概述。

图1a. 这项工作的示意图

图1b. 使用实际数据集进行基准测试的评估指标

图1c. 使用综合数据集进行基准测试的评估指标

1. 审查PCA算法和实现

PCA被广泛用于数据可视化,数据质量控制,特征选择,去噪,插补,批量确认和删除效应,细胞周期效应的确认和估计,稀有细胞类型检测,细胞类型和细胞状态相似性搜索,伪时间推断, 空间重建和其他非线性降维,聚类方法的输入等,并节省内存空间。各种各样的scRNA-seq数据分析工具都包括PCA作为内部功能,或者利用PC分数作为下游分析的输入。

作者回顾了现有的PCA算法和实现,并将算法分为六类,即基于相似度转换(SimT),基于下采样(DS),基于奇异值分解(SVD)基于更新(SU) ,基于Krylov子空间(Krylov),基于梯度下降(GD)和基于随机投影(Rand)。作者列出了21种PCA实施方案(包含10种算法),表1总结了已审查的PCA实施与scRNA-seq研究的对应关系。

表1. scRNA-seq研究中PCA实施的用例

2. 真实数据集

考虑到在有限的时间,计算资源和人力下评估的大量方法之间的权衡,作者选择了真实数据集进行基准测试。最新的scRNA-seq方法分为两个类别,即全长scRNA-seq方法和具有特定细胞解离和细胞/分子条形码技术的高通量scRNA-seq方法,例如基于液滴的和分离的池实验。因为通过后一种技术增加了用scRNA-seq测量的细胞数量,所以作者选择了以下四种通过这种技术生成的数据集:人外周血单核细胞(PBMC),人胰腺细胞(Pancreas),小鼠脑和脊髓 (BrainSpinalCord),以及来自皮层,海马和心室区的小鼠细胞(Brain)(表2)。

表2. 用于基准测试的真实数据集

3. PCA算法的准确性

在这里,作者通过使用四个实际数据集来评估各种PCA算法的准确性。为了分析PBMC和Pancreas数据集,作者将prcomp的结果设置为黄金标准, 将其他实现与该结果进行比较(1b和图2)。

需要说明的是,对于Brain-SpinalCord和Brain数据集分析,LAPACK的完整SVD在计算上很困难。当无法定义基本事实时,作者将方法相互比较。因此,作者只是使用几种不同的标准(例如特征值的大小和聚类精度)相互比较了方法的结果。

其中,图2为其他实现与prcomp结果进行比较结果汇总:图2a为作者的文献综述总结了理论性质;图2b为prcomp结果与每个实现相关的属性;图2c通过对真实数据集和综合数据集进行基准测试评估展示性能;图2d为通过一些指标评估的用户友好性。

图2. 其他实现与prcomp结果进行比较

首先,作者对每种PCA算法的结果进行了t随机邻居嵌入(t-SNE)和统一流形逼近和投影(UMAP),并对每种PCA算法的结果进行比较,并比较了原始研究检测到的簇结构的清晰度(图1b和3)。

图3比较t随机邻居嵌入(t-SNE)图。使用经验数据集执行的多个主成分分析(PCA)比较:PBMC(102个细胞),Pancreas (103个细胞),BrainSpinalCord(105个细胞)和Brain数据集(106个细胞)。使用每个PCA实施的结果执行t-SNE。由原始研究确定的一些不同的聚类被错误地合并为单个聚类(红色圆圈聚类)。其中:IncrementalPCA,主要是为了解决单机内存限制的。

图3. 比较t随机邻居嵌入(t-SNE)图

作者还对PCA实施的所有结果执行了Louvain聚类(图1b和图4),ARI值表明,与黄金标准或其他实现相比,下采样和sgd(OnlinePCA.jl)的结果更差。

其中,图4通过Louvain聚类结果的调整后的Rand指数(ARI)评估聚类准确性。针对PBMC(102个细胞),Pancreas (103个细胞),BrainSpinalCord(105个细胞)和Brain数据集(106个细胞)执行了多个主成分分析(PCA),并对PCA结果进行Louvain聚类。对于每个PCA结果,Louvin聚类进行十次,并计算平均值,分类标签与相应的原始论文相同。

图4. 聚类精度比较

接下来,作者对金标准的PC与其他PCA实现方案进行了全面比较(图1b和5a)。因为PC是单位向量,所以当两个PC指向相同或相反方向时,它们的叉积分别为1或− 1。作者进行了PCA优化,为所有比较计算了叉积的绝对值,范围为0到1,并评估了是否准确计算出了对应于较低特征值的较高PC。得出结论:特征向量,加载矢量中,下采样,orthiter / gd / sgd(OnlinePCA.jl)和PCA(dask-ml)都会随着PC尺寸的增加而变得不准确,PCA实施不正确可能会降低加载矢量的准确性。

其中,图5a计算了金标准方法的特征向量与其他主成分分析(PCA)实现的特征向量之间所有组合的叉积的绝对值。该值越接近1(黄色),则两个对应的特征向量彼此越接近。如果两个PCA结果相等但不考虑符号差异,则该图中的矩阵将变为单位矩阵。图5b计算了金标准方法的前500个最大绝对值元素与其他PCA实现的相交元素数量。该值越接近500(黄色),则两个相应的加载向量彼此越接近。如果两个PCA结果相等但不考虑其符号差异,则该图中矩阵的所有对角元素变为500。

图5. 特征向量所有组合,所有加载向量组合的比较

下采样,IncrementalPCA(sklearn)和sgd(OnlinePCA.jl)的特征值的分布也与其他实现不同(图6)。其中,图6a表示PBMCs,图6b表示Pancreas,图6c表示BrainSpincalCord,图6d表示 Brain;x轴表示每个主成分分析(PCA)实现的主要成分,y轴表示对应的特征值。

图6. 四个真实数据集特征值分布比较

4. 计算时间,内存使用率和可伸缩性

作者比较了所有PCA实现的计算时间和内存使用情况(图7)。对于Brain-SpinalCord数据集,降采样本身比大多数PCA实现要快,但是其他预处理步骤速度较慢;对于Brain数据集,下采样变得比大多数PCA实现要慢,并且随着数据矩阵大小的增加,这种趋势很明显,因为下采样基于LAPACK中的完整SVD。

其中,图7a展示了诸如二进制化和规范化之类的预处理步骤的经过时间(橙色条)以及每次PCA计算本身的经过时间(绿色条)。仅当对Brain数据集执行PCA实现时,作者才使用内部的Julia脚本进行预处理。这是因为无法将此数据集作为R语言的data.frame加载到内存空间。图7b展示了每个经验数据集计算的所有主成分分析(PCA)实现的内存使用情况(蓝色条形)。

图7. 比较经验数据集的经过时间和最大内存使用量

5. 文件格式与性能之间的关系

在辅助文件中,作者计算了oocPCA_CSV(R,oocRPCA),IncrementalPCA(Python,sklearn)和orthiter / gd / sgd / halko / algorithm971(Julia,OnlinePCA.jl)等核心实现中大脑矩阵的通过次数。在oocPCA_CSV(R,oocRPCA)和IncrementalPCA(Python,sklearn)中,数据矩阵以CSV格式传递给这些函数,在其他核心实现中,首先将数据矩阵二进制化并压缩得到Zstd文件格式。结果显示计算时间与实施的通过次数相关,二进制化和数据压缩大大加快了计算时间。并且,稀疏矩阵的使用可能加快scRNA-seq数据集的计算时间。

6. 用户指南

基于所有基准测试结果以及作者在这项工作中的实施,作者提出了一些用户指南(图8)。考虑到生物信息学研究结合了多种工具来构建用户的特定工作流程,因此编程语言是选择正确的PCA实施方案的重要因素。因此,作者根据语言对PCA实施进行了分类(即R [111],Python [112]和Julia [113];图8,按列)。除了数据矩阵的大小,作者还根据实现加载数据的方式(内存中或内核外)以及输入矩阵格式(密集或稀疏,按行,图8)对实现方式进行了分类。

其中,图8推荐的PCA实现基于书面语言和矩阵大小进行分类,还描述了每个PCA实施的推荐参数(红色)。在这里,作者将数据矩阵的GC值定义为基因数×细胞数。

图8. 用户指南

小结

在这项工作中,作者回顾了现有的快速且高效存储的PCA算法和实现,并评估了它们在大规模scRNA-seq数据集中的实际应用。这项工作提供了四个关键贡献:

  • 首先,作者回顾一下现有的PCA算法及其实现;

  • 其次,作者介绍了使用所选PCA算法和实现的基准测试;

  • 第三,作者为质量控制(QC),过滤和特征选择提供了一些PCA算法和实用程序功能的一些原始实现。所有命令都在快速且高效内存的Julia包中实现;

  • 最后,作者为最终用户和软件开发人员提出准则作者的基准测试表明,以选择合适的PCA实施方案,一些基于Krylov子空间和随机奇异值分解的PCA算法比其他算法更快,内存效率更高且更准确。

(0)

相关推荐

  • 科研 | CURR OPIN BIOTECH:单细胞转录组学方法学和应用综述(1区IF:8.083)

    编译:罗睺,编辑:十九.江舜尧. 原创微文,欢迎转发转载. 导读 单细胞RNA测序(scRNA-seq)是研究脑和中枢神经系统(CNS)中单个细胞转录组的一种有前途的方法.这项技术充当了神经科学,计算 ...

  • 单细胞RNA-seq数据分析最佳实践(上)

    男, 一个长大了才会遇到的帅哥, 稳健,潇洒,大方,靠谱. 一段生信缘,一棵技能树, 一枚大型测序工厂的螺丝钉, 一个随机森林中提灯觅食的津门旅客. 文章信息 Luecken MD, Theis FJ ...

  • 超长综述|单细胞RNA测序研究动脉粥样硬化指南

    编译:刘娟,编辑:十九.江舜尧. 原创微文,欢迎转发转载. 导读 单细胞水平的分子异质性研究技术加深了我们对包括动脉粥样硬化斑块在内的组织中细胞生物多样性的了解.现有的商业化系统能从成千上万个单细胞中 ...

  • scRNA-seq—读入数据详解

    回顾 单细胞RNA-seq分析介绍 单细胞RNA-seq的设计和方法 从原始数据到计数矩阵 差异分析前的准本工作 学习目标 了解如何导入单细胞rna-seq实验的数据. 质量控制 流程 在量化基因表达 ...

  • Cancers 6 |单细胞测序泛癌分析

    实体瘤肿瘤特异性免疫预后特征及其与免疫检查点治疗的关系 首先让我们通过摘要了解下这篇文章的主要内容,为了阐明免疫细胞浸润作为实体肿瘤预后标志的作用,作者分析了四个公开的单细胞RNA-Seq数据集和TC ...

  • scRNA-seq表达矩阵的构建

    书籍翻译 好的书籍是人类进步的阶梯,但有些人却找不到优秀的阶梯,为此我们开设了书籍翻译这个栏目,作为你学习之路的指路明灯:分享国内外优秀书籍,弘扬分享精神,做一个知识的传播者. 希望大家能有所收获! ...

  • 表达量何须以基因为单位

    单细胞转录组下游的降维聚类分群这样的基础操作相信大家应该是都没有问题了,参考前面的例子:人人都能学会的单细胞聚类分群注释  ,只需要你有一个基于基因的表达量矩阵的分析. 对转录组数据(包括单细胞转录组 ...

  • 10X Cell Ranger ATAC 算法概述

    男, 一个长大了才会遇到的帅哥, 稳健,潇洒,大方,靠谱. 一段生信缘,一棵技能树, 一枚大型测序工厂的螺丝钉, 一个随机森林中提灯觅食的津门旅客. ATAC-seq 技术简介 sc-ATAC-seq ...

  • scRNA-seq计算方法的优势和局限性

    文章信息 文献标题:The triumphs and limitations of computational methods for scRNA-seq 发表时间:2020.06.21 发表杂志:N ...

  • 我从Science中,偷学到这个聚类分析技能!真舍不得分享

    大家好,我是风.欢迎来到风风的从零开始单细胞系列.前面我们已经学习了数据下载.构建分析对象和数据质控.如果你的scater出现了一些警告内容,提示函数被替代,那也不用着急.正如其他内容一样,scate ...

  • 综述:高维单细胞RNA测序数据分析工具(中)

    当你的才华还撑不起你的野心时,请潜下心来,脚踏实地,跟着我们慢慢进步.不知不觉在单细胞转录组领域做知识分析也快两年了,通过文献速递这个栏目很幸运聚集了一些小伙伴携手共进,一起成长. 文献速递栏目通过简 ...

  • 单细胞RNA-seq数据分析最佳实践(中)

    男, 一个长大了才会遇到的帅哥, 稳健,潇洒,大方,靠谱. 一段生信缘,一棵技能树, 一枚大型测序工厂的螺丝钉, 一个随机森林中提灯觅食的津门旅客. 文章信息 Luecken MD, Theis FJ ...

  • 单细胞基础视频课程结业考核20题

    转眼间一年时间过去了,我们的全网第一个单细胞基础视频课程也结束了,还有点依依不舍. 不知道大家学的怎么样,我这边看起来线下学徒和实习生都学的挺好的,还有详细的笔记分享,考虑到大部分人是没有机会线下接受 ...

  • 综述 | 沃里克大学Charlotte Rich-Griffin等:单细胞转录组学:植物功能基因组学的高分辨率之路

    编译:卡德加,编辑:十九.江舜尧. 原创微文,欢迎转发转载. 导读 植物功能是单个细胞在不同组织中协同作用的结果.RNA-seq测序技术和组织处理技术的进步使研究者能够捕获单细胞分辨率下的转录变化.单 ...

  • 处理单细胞? Bioconductor就够用了

    最近,bioconductor团队出版了一本电子书,其整合了其网站上关于单细胞的R包并制定了一套常规的分析流程包括分析,可视化,导入导出.不仅如此,前三章还分别教你如何下载使用R,使用biocondu ...

  • 数据处理基础—ggplot2了解一下

    书籍翻译 好的书籍是人类进步的阶梯,但有些人却找不到优秀的阶梯,为此我们开设了书籍翻译这个栏目,作为你学习之路的指路明灯:分享国内外优秀书籍,弘扬分享精神,做一个知识的传播者. 希望大家能有所收获! ...

  • scRNA-seq聚类分析(一)

    回顾 单细胞RNA-seq分析介绍 单细胞RNA-seq的设计和方法 从原始数据到计数矩阵 差异分析前的准备工作 scRNA-seq--读入数据详解 scRNA-seq--质量控制 为什么需要Norm ...