学术源论文发表咨询网 公告: 首页 - 网站声明 - 在线投稿 - 发表流程 - 联系我们 - 加入收藏
医学期刊
建筑期刊
教育综合
计算机类
教育期刊
新闻体育
学报刊物
水利/档案
核心期刊
农业/牧业
科技期刊
音乐/美术
工业期刊
煤炭/电力
经济期刊
其他刊物
您当前的位置:首页 > 其他类论文写作指导 > 正文
医学论文发表--虚拟化环境中生物信息处理的性能和扩展行为
发布时间:2021-07-26 11:09:53  来源:  【 】   浏览:

医学论文发表--虚拟化环境中生物信息处理的性能和扩展行为,提高对计算资源有效利用的认识

· 马克西米利安·哈努塞克

· 费利克斯·巴图施

· 延斯·克鲁格

· 发布时间: 2021年7月20日

抽象

目前大量的生物数据使得有必要使用基于复杂和高效算法的工具和应用程序,这些算法是在生物信息学领域开发的。此外,为了在合理的时间内取得成果,必须获得高性能计算资源。为了加快应用速度并尽可能高效地利用可用的计算资源,软件开发人员使用并行化机制,如多读。生物信息学中的许多可用工具提供多重读取功能,但更多的计算能力并不总是有帮助的。在这项研究中,我们调查了生物信息学中知名应用的行为,以及它们在缩放、不同虚拟环境和不同数据集方面的表现,以及我们的基准工具套件BOOTABLE。工具套件包括工具 BBMap、Bowtie2、BWA、天鹅绒、IDBA、SPAdes、粘结欧米茄、MAFFT、新浪和格罗马克斯。此外,我们还使用机器学习框架 TensorFlow 添加了应用程序。机器学习不是生物信息学的直接部分,而是应用于许多生物学问题,特别是在医疗图像(X射线照片)方面。上述工具在两种不同的虚拟环境中进行了分析,一种是基于 OpenStack 云软件的虚拟机器环境,另一种是基于 Docker 环境。获得的性能值被比较为裸机设置和彼此之间。研究表明,与裸机环境相比,使用过的虚拟环境产生的开销在7%到25%之间。缩放测量显示,一些分析的工具不会从使用大量计算资源中获益,而另一些工具则表现出几乎线性的缩放行为。这项研究的结果已尽可能得到推广,应该有助于用户找到最佳资源进行分析。此外,这些结果为资源提供商尽可能有效地处理其资源以及提高用户社区对计算资源有效使用的认识提供了有价值的信息。

作者摘要

生物数据的分析越来越多地利用计算资源,否则根本不可能。除了计算机集群等经典的高性能计算资源外,云计算技术及其在生物学和生物信息学领域的应用在过去几年中也显著增加。随着云计算的普及,虚拟化技术也越来越多地被应用。然而,计算资源并非无休止地可用,因此应尽可能高效地使用。为了支持多读应用的有效开发,我们开发了基准工具套件BOOTABLE,并用它来研究不同生物信息学工具的缩放行为,使用不同的计算环境(虚拟化和裸机)覆盖广泛的应用领域。我们的研究表明,并非每个工具都受益于数量增加的 CPU 内核,而且并非所有工具都可以看到线性缩放特性。通过这项研究,我们希望提高对计算资源负责任使用的认识。使用越来越多的资源并不总是更好、更快。有时,检查工具或应用程序是否能够使用更大的资源是有帮助的。

引文:哈努塞克 M、 巴图施 F、 Kräger J (2021) 虚拟化环境中生物信息处理的性能和扩展行为,为高效使用计算资源创造意识。PLoS 计算生物 17 (7): e1009244.https://doi.org/10.1371/journal.pcbi.1009244医学论文发表--

编辑:克里斯托斯·乌祖尼斯,塞佩里,希腊

收到:2020年11月4日:接受:2021年7月2日:已发布:2021年7月20日

版权所有:2021年©哈努塞克等人。这是一个开放访问文章,根据《知识共享归属许可证》的条款分发,允许在任何媒体上不受限制地使用、分发和复制,前提是原始作者和来源得到记分。

数据可用性:用于生成此研究结果的所有数据均在 GitHub 存储库中公开,名称为"可启动"[https://github.com/MaximilianHanussek/BOOTABLE]。所有使用的工具和数据集均作为焦油存档[https://s3.denbi.uni-tuebingen.de/max/BOOTABLE.tar]在 Web 服务器上公开。

资金:这项工作得到了图宾根大学曾特鲁姆分校高性能和云计算组的支持,提供包括 JK 职位在内的整体环境, 巴登-符腾堡州通过bwHPC资助FB和德国研究基金会(DFG)的地位[https://www.dfg.de]通过赠款没有国际科技37/935-1 FUGG资金计算资源。这里介绍的部分工作也通过MBF资助的项目得到支持。NBI (031 A 534A)[https://www.bmbf.de]提供云计算硬件和 MH 的位置。资助者在研究设计、数据收集和分析、出版决定或编写手稿方面没有作用。

竞争利益:作者宣称不存在相互竞争的利益。

这是一篇PLOS计算生物学基准论文。

介绍

今天的测序技术变得越来越复杂,在大多数区域(基因组学、蛋白质组学、代谢学)中产生关于太平间和小动物规模的越来越大的数据。为了大规模地分析如此巨大的数据,生物信息学家开发的先进算法和应用在回答潜在的生物学问题方面变得越来越重要。智能算法及其高效实现是其中的一部分。另一部分是分析大量数据所需的资源。生物信息学中的算法主要尝试解决 NP-硬性问题[1]。此问题类型显示其运行时间随着输入大小的增加而呈指数级增长。为了解决这样的问题或找到足够的近似,需要大量的计算资源。除了测序分析领域之外,还有更多主题将从更大的计算资源中获益,如分子对接、分子动态模拟,或者,目前最有趣的主题之一,即机器学习。几乎在任何地方都需要轻松访问高性能计算资源。亚马逊、谷歌或微软等商业计算云提供商可以访问此类资源[2]4] 。例如,学术云提供商是 de.NBI云[5],bwCloud[6],或像螺旋星云[7]这样的混合云。无论首选哪个提供商,甚至是自己的解决方案,计算资源都是有价值的,这些资源通常与其他资源共享。因此,必须有效地利用,以尽量减少花费的时间和成本。要有效地使用所提供的资源,应用程序也必须高效。有些应用程序可以受益于多个 CPU 内核,由于其基础算法或实现,其他则不然。因此,用户和资源提供商最好事先知道,有多少资源(如 CPU 内核、内存和存储)能够最有效地进行计算。现在只有超级计算机中心要求提前进行较小的缩放研究,以查看给定应用程序是否按预期执行并利用应用资源。特此讨论的可扩展性是一个因素,另一个因素是越来越多的虚拟化技术,特别是由于计算云的提供增加。这种计算云通常提供对虚拟机的访问,而不是直接访问硬件,例如高性能计算 (HPC) 集群。这会对使用过的工具和应用程序产生什么样的影响?医学论文发表--

在这项研究中,我们重点研究了缩放、不同虚拟化环境的影响以及数据集对广泛使用的生物信息学应用的影响等问题。首先,本文介绍了可扩展性和虚拟化技术一词,然后是相关工作部分,并介绍了测量方式,包括对所用应用和数据集的简要解释。主要部分描述了收集的结果,如何解释和概括这些结果。工作结束时将总结和展望未来的工作。

可扩展性

一般情况下,可扩展性可以定义为一个术语,它描述了系统通过向初始系统[8]添加额外资源,在减少或稳定的时间内处理越来越多的工作、对象或元素的能力。更具体的部分是软件可扩展性。软件可扩展性是生物信息学应用和软件的一个重要主题,因为基础算法主要处理二次时间复杂性的问题,甚至更糟的问题通常属于 NP-完成类或 NP-Hard 问题(非确定性多时间)[9]。这些问题大多存在于生物信息学的每个领域,如多个序列对齐、蛋白质折叠预测或植物基因重建[10]。因此,大多数软件开发人员尝试使用不同的并行化策略来缩短执行时间,比如从一开始就在具有共享内存的单台计算机上使用多个内核和处理器。另一种方法是使用连接到具有分布式内存的计算集群的多个计算节点。此外,现代编程模型和实现,如MapReduce方法,由谷歌[11],或阿帕奇火花[12]已经发明,特别是大数据分析的主题,使计算在合理的时间[13]可行。

从上述所有这些有趣的策略中,我们专注于使用具有共享内存的单个计算节点的多个内核(也称为多读取)的平行化策略。多读取作为编程和执行模型的概念可以解释如下,单个过程开始,作为父过程,并进一步能够生成线程。这些线程可以独立于其他线程执行,从而实现平行化。在具有单个内核的系统上,线程将通过在所有运行线程上切片和分配可用的 CPU 时间来处理。在具有多核架构的更现代的计算系统中,可以在现有 CPU 内核上分配运行线程,以便每个线程专用于自己的 CPU 内核,因此没有必要切片和共享可用的 CPU 时间。多读取支持是大多数可用编程语言(Java、Python、C、C++)的一部分,为标准化线程接口实现提供 API(应用程序编程接口)。广泛使用的 API 是 POSIX 线程 (阅读)[14]和开放式多处理 (打开MP)[15]。在性能方面,这些已经相互比较。选定的用例是蛋白质次生结构的预测[16]。此扩展研究中的大多数生物信息学工具都使用 Pthreads 或 OpenMP 来实现多读取,表 1中概述了这一点。

表1。可启动的基准应用程序,包括其一般类别、版本,使用多读 API 和 GCC 编译器版本,而已经编译的二进制文件用于 SPAdes BBMap 和 SINA。

通过 Python 点安装的天龙流。对于在编程语言 Java 中实现的 BBMap,找不到有关已使用的多读 API 的注释。医学论文发表--

https://doi.org/10.1371/journal.pcbi.1009244.t001

虚拟化技术

虚拟化可分为两个主要概念,基于超视图的虚拟化和基于容器的虚拟化[17]。这两种方法都可以说明为不同的层,从底部的硬件层到顶部的应用层。比较在图1中说明。

图1。基于超视线器和基于容器的虚拟化的比较。

超视线和基于容器的虚拟化的示意图说明。主机操作系统顶部的容器技术概念显示在右侧,而超视器技术则显示在左侧。

https://doi.org/10.1371/journal.pcbi.1009244.g001

以下小节更详细地解释了这两种技术,并展示了知名代表。

基于超视器的虚拟化。

基于超视网的虚拟化软件的知名示例是 VMware[18]、Xen[19]或 KVM(基于内核的虚拟机器)[20]。KVM 是开源环境中使用最多的选项。它被广泛使用,直接集成到上游的Linux内核,并与livirt虚拟化平台一起,云操作软件OpenStack[21,22]使用的标准组合。此外,KVM 支持硬件辅助虚拟化,需要配备英特尔 VT-x[23]或 AMD-V[24]等硬件扩展的处理器。基于超视面的虚拟机的一个一般方面是创建一个完整的虚拟机器,配备自己的访客操作系统(访客操作系统)和内核。其中,位于访客操作系统和主机操作系统 (主机操作系统) 之间的超视层可翻译说明,从而实现虚拟化。

集装箱技术。

与基于超视面的虚拟化方法相比,基于容器的方法是更轻量级的虚拟化[17]。现在最有名的代表是多克[25]和奇点[26]。容器虚拟化的轻度来自主机操作系统的使用,无需使用中间超视层和完全独立的来宾操作系统,并且没有自己的内核。如果没有这些限制因素,就有可能启动与全虚拟机相比的更多应用程序,因为所需的资源更少。但是,保存超遮阳板层和使用主机操作系统本身有一些缺点。在容器中运行的操作系统需要与主机操作系统配合。关于带有基于 Linux 的操作系统的 Docker 容器,在窗口主机系统上存在一些例外,但此处没有进一步详细说明[27]。集装箱的另一个问题是安全问题。由于容器虚拟化方法或多或少地直接使用主机操作系统,因此可以通过容器访问它,这可能导致容器内的权限冲突或特权升级。例如,在 Docker 容器内,用户可以获得根权限,但如果在容器内安装其主机系统的目录,则不应访问该目录,则可以编辑或删除该目录,因为用户在容器内具有正确的权限[28]。随着时间的推移,已经实施了机制来禁止这种行为,但码头工人的daemon仍然作为根过程运行,并始终可能是一个潜在的风险。相反,奇异性特别设计用于运行,例如在 HPC 环境中,用户通常根本不获得特权访问权限。与 Docker 不同的是,奇点不需要具有根特权的戴蒙过程。单点容器的运行用户 ID 与主机系统相同,因此在容器内外具有相同的权限。此外,容器是一种轻量级的解决方案,可保护专门的运行时间环境,可用于更轻松地分发软件或增加科学工作流程的可重复性[29]。医学论文发表--

相关工作

由于可用的 HPC 资源的增加,特别是在生物信息学领域,工具的可扩展性变得越来越重要。在我们的文献搜索中,我们发现许多论文涉及质量方面,涉及各种工具的结果,大多位于阅读组装和序列对齐工具[30-32]领域。即使通过对文献的详尽搜索,我们也未能找到许多比较研究,仅关注生物信息学中多面体应用的扩展行为,甚至部分关注。讨论实际使用案例的论文数量甚至更低,因为许多论文正在从更理论的角度讨论可能的扩展策略。

杨等人(13岁)提出了一篇更理论性论文的一个例子,考虑了在合理时间内处理大数据分析的不同方法。Yang 等人介绍了术语可扩展性,还提供了有关不同计算基础结构的一节,如集群计算、网格计算和云计算,通过添加更多资源或使用 GPU 等特殊硬件来缩短所需的运行时间。杨等人使用 MapReduce 或 Apache Spark 编程模型提出了不同的方法,以便更有效地处理大数据分析。

一个更实际的重点工作是詹加和切鲁库里[33]的论文。Cherukuri等人比较了纳诺波雷数据上的OLC(重叠布局共识)方法的最佳性能方面的不同de novo装配工具。这项工作比较了天鹅绒、ABYSS、Celera 和 SSAKE 的组装商,这些质量指标(如产生的连续数、N50 值或连续体的总长度)通过改变读数来进行比较。完整的输入数据集分为 25%、50% 和 75% 的完整数据集,以测量读数对上述组装商的影响。本研究还包含有关墙时和内存使用情况的测量,也与不同数量的输入读取有关,这些读数很有趣,以便估计进一步使用的运行时间和内存要求。但不幸的是,没有说明性能测量的硬件类型。

Lenis 和 Senar[34]的工作是少数使用不同内存分配策略查看各种序列对齐工具的多重读取行为的作品之一。他们的论文解释了现代计算架构的外观,以及不同的内存分配如何影响使用 NUMA(非统一内存访问)架构的工具的性能。此外,Lenis 等人比较了不同的内存分配策略,如本地分配和交错,但也比较了两个不同的硬件制造商(英特尔、AMD),以及提供给不同对齐工具的线程数量。涵盖的应用程序还包括 Bowtie2,这也用于我们的研究。

由于我们找不到关于文献中多读工具缩放行为的更多比较研究,我们扩大了搜索范围,至少找到了相关基准工具本身的研究。扩展搜索揭示了一些已经发表的工作的更多信息,涵盖了我们工作的相同方面,但不是针对基准集中的每一个应用程序。

对于机器学习框架 TensorFlow 及其应用,有很多论文可用,因为机器学习是目前非常热门的话题。一个例子是拉米雷斯-加尔加洛等人的论文[35]。本文描述了最先进的 HPC 集群及其在硬件(不同处理器架构)以及软件(算术库)中的配置如何影响缩放和运行时间行为。工作的一部分涉及节点内评估。在这部分,拉米雷斯-加尔加洛等人比较了三个不同测试集群(MareNostrum4、Power9、Dibona)上TensorFlow图像识别工作流的缩放行为,但仅在整个集群的一个节点上。三个不同的集群也反映了不同的 CPU 架构,MareNostrum4 基于英特尔 Xeon 处理器,而 Power9 使用 IBM Power9 处理器,迪博纳集群运行 ARM 处理器。第一部分使用 AlexNet 模型讨论不同集群节点的线程行为。线程大小选择为两个电源,从一个线程开始,最多 64 个线程。根据使用过的集群节点类型和用于 x86 架构和 ARM 性能库的 MKL 等二手算术库,对批次大小进行了进一步修改。在后一部分,Ramirez-Gargallo等人将节点内结果的硬件和软件的最佳组合转移到多个节点,这里将不详细描述。与我们的研究不同的是,其他CNN(进化神经网络)培训模型,已经使用(亚历克斯网和ResNet50)。与拉米雷斯-加加洛等人的进一步区别是,我们的工作包括以 1 为增量的不同寻常的螺纹大小,范围从 1 到 36 以平滑缩放行为的曲线,并考虑两个插座服务器系统,例如每个 CPU 配备 14 个内核,因此 7 个内核的分区可能有意义。医学论文发表--

另一个具有足够量缩放出版物的工具是分子动力学软件 GROMACS(用于化学模拟的格罗宁根机器)。在 Hess 等人的著作中[36]三个不同的数据集,其粒子大小不同,用于超级粘液上的 GROMACS。本文的目标是找到节点编号和线程编号的最佳变体,实现每个挂钟时间的模拟纳秒的最高性能。整个基准设置都详细描述了,包括数据集及其选择的原因。本文主要侧重于节点间平行化,而不是节点内平行。

对于考虑的两种装配工具,SPAdes 和 IDBA,我们无法找到一个缩放研究,我们可以将此工作进行比较。对于 IDBA,通过我们的文献搜索,无法找到任何有关墙时间或线程编号的研究。斯帕德斯也观察到了类似的结果。大多数研究,如原始论文[37],都在研究结果的质量,而不是计算效率。与T-Coffee[39]相比,Clustal Omega 也是如此,其中只发现提及前身 ClustalW[38]或 Clustal 欧米茄的文件,但未改变 Clustal 欧米茄的线程编号。

另一个可能影响可扩展性的因素是使用不同的虚拟化方法。在整个文献搜索过程中,收集了评估完全虚拟化、准虚拟化和容器技术(40-42)不同组合的不同性能的文件。他们中的大多数在技术层面上进行了比较分析,如阿兰戈等人的工作[41]。它比较了不同的容器化技术,也与裸机性能有关,侧重于CPU性能等参数,用HPL(高性能 Linpack)、网络吞吐量、磁盘读写性能以及内存使用度测量等参数进行测量。从2019年起,一本相当新的《拉琴科等人》[42]出版,又向前迈进了一步。在研究中,他们还比较了完全虚拟化环境(KVM、Xen)和Docker之间的技术性能参数,但也包括机器学习(K-手段、物流回归)、图形处理问题(如单源最短路径和 SQL 查询)的特定基准应用。

与这里提出的研究最相似的工作是埃斯特拉达等人[22]。埃斯特拉达等人比较了不同的虚拟化技术,还包括与LXC容器的集装箱化。与前面提到的作品相比,性能测量是在应用级别上完成的。序列对齐器 BWA 和 Novoalign 用作基准应用程序,以涵盖真实世界示例。基准是在启用 CPU 固定装置和禁用 CPU 固定下进行的,因为某些工具可以从中受益。这项工作提供了一个洞察力,如何以不同的方式虚拟化可以影响现实世界中的应用,特别是在生物信息学领域。

方法

导言部分所述,我们使用我们自己的基准工具套件BOOTABLE [43]来测量不同生物信息学应用程序在定义明确的软件环境中的缩放行为。BOOTABLE中包含的工具和数据集在下面详细描述了。

系统环境

我们总共使用了三种不同的计算环境,但都使用相同的基础硬件。我们直接在嵌入在 OpenStack 云中的虚拟机器 (VM) 中的服务器 (裸金属) 上执行每个基准,这是 de.NBI云[5],以及虚拟机内可启动的码头化版本。OpenStack 云软件用于启动和管理虚拟机器,但对 VM 本身没有直接影响,所有其他虚拟化管理软件都应该一样好。Docker 被选为主要使用的容器技术之一,尤其是在生物信息学社区。硬件包括一个两个插座服务器系统,配备英特尔Xeon Gold 6140"天湖"CPU,每个系统有18个内核, 总共有36个CPU内核,基本时钟速率为2.3 GHz。 已禁用超线程,物理CPU内核与虚拟CPU内核的比例为1:1,这意味着,每个虚拟内核都被映射为一个物理内核。此外,系统硬件提供 1.5 TB 的 RAM 和容量为 480 GB 的本地 SSD。对于所有三种环境,第 7 版中的 CentOS 已用作操作系统。虚拟机器环境使用 QEMU-KVM 作为虚拟化软件,而 Docker 已用于版本 1.13.1 和叠加 2 作为存储驱动程序。BOOTABLE的码头化版本是从多克档案中创建的,类似于可启动安装脚本。从 Dockerfile 中,Docker 图像已构建在与执行基准相同的服务器类型上。对于缩放基准,图像已从 Docker Hub 中拉出并作为交互式容器运行,无需任何进一步调整。

启动

我们的基准工具套件BOOTABLE已初步开发,以便让资源提供商在生物信息处理工作负载方面探索和评估其硬件。但我们并没有就此止步,并扩展了BOOTABLE,使其成为应用程序开发人员的宝贵工具。有了丰富的输出,开发人员可以获得有关工具资源消耗和扩展行为的概述或详细见解,我们将重点放在这项工作中。BOOTABLE具有许多功能,如涵盖多个环境的简单安装过程。它可以通过提供的安装脚本安装,该脚本负责处理所需的工具和数据集以及提供的 Ansible[44]行动手册。此外,BOOTABLE可作为码头和奇点图像提供,但也可作为 QCOW2 格式的虚拟机器图像提供。基准执行保持简单,但仍提供足够的配置参数。用户可以在不同数据集(大小和复杂性不同)和涵盖生物信息学一般部分等的多样化工具集之间进行选择。进一步可以请求所选工具应使用的线程数,就像表示重复相同基准的复制品数量以获得更准确的结果一样,减少异常值的影响,例如,某些工具使用随机数作为起点。本文中我们关注的另一个功能是缩放模式。如果选择缩放选项,则使用一个内核、四分之一、一半和所有可用的 CPU 内核执行所需的工具。我们修改了常规执行脚本,以捕获从一个到最大、按步骤逐个增加的所有可能的线程数量。修改后的脚本也可在医学论文发表--(https://github.com/MaximilianHanussek/BOOTABLE/tree/master/mods下)下使用。基准运行完成后,提供具有不同指标的不同测量结果。这些随后用于创建更人性化的报告。如果执行了缩放基准,则创建特定图形以说明所选工具的行为。在这项研究中,基准由BOOTABLE执行,每个CPU核心运行使用五个复制品,所有可用的预定义数据集(短,中,长),以及所有可用的工具。在即将推出的工具部分和表1 和表 2中更详细地解释了所用的工具。这同样适用于可用的数据集,这些数据集在数据集部分和表 3中对此进行深入描述。

表2。已使用的基准工具列表。

算法列简要描述了使用的算法,以便相互比较(* 没有平行)。

https://doi.org/10.1371/journal.pcbi.1009244.t002

表3。可启动的基准数据集,其大小为兆字节,CIFAR-10 的序列或图像数,或项目列中 ADH 的原子数。

https://doi.org/10.1371/journal.pcbi.1009244.t003

工具

BOOTABLE中的应用涵盖生物信息学或生命科学的不同应用领域,如序列组装、(多)序列对齐、分子动力学和机器学习。表1表2表示完整的列举,表2侧重于算法。

工具选择。

这些工具是根据不同的标准选择的。首先,工具必须在其实施的大多数部分使用多读取,以执行缩放研究。此外,工具在执行、实施和算法方面都应有充分的记录。此外,所选工具应尽可能减少依赖性,如所需的工具或数据集。当然,它应该是相对流行和免费的学术用途,许多用户能够从这项研究的结果获利。在整个文献搜索和通信到用户的de.NBI云,已选定以下子节中解释的工具。不幸的是,其他流行的工具不能被考虑,因为它们不符合某些标准。例如,多个序列对齐工具 MUSCLE[45]不支持多重读取。T-COFFEE[46]也不能考虑,因为访问数据库是必要的。我们不声称所选工具的完整性。但是,据我们所知,所选工具应涵盖广泛的应用领域和用户。

在序列组装工具类别中,Velvet、IDBA 和 SPAdes 被选为符合多读取标准的工具,这些工具都有充分的记录和直接的安装。此外,所有人都在使用 de Bruijn 图形的一般概念,但具有不同的变体,因此可能有兴趣相互比较。Velvet 之所以选择,是因为生成的工作量,因为实现的很大一部分是单线程的,但有些部件是多读的。IDBA 被选为没有文章可用于检查缩放性能,同样适用于 SPAdes。此外,选择 SPAdes 是因为它使用更多的 RAM,这很有趣地观察较大的数据集和 RAM 使用对缩放行为的影响。

序列对齐的类别由 BBMap、Bowtie2 和 BWA 工具涵盖,它们都是众所周知的,尤其是 Bowtie2 和 BWA。两者都使用类似的方法来调整其指数结构和对齐步骤。这使得它们相互比较和BBMap(使用不同的方法)变得有趣。

Clustal 欧米茄、MAFFT 和 SINA 的工具被选为多个序列对齐工具的代表。特别是欧米茄和MAFFT拥有庞大的用户群。两种工具的实现方法相似,因此比较可能很有趣。与新浪,一个专门研究rRNA序列的工具,被选中来涵盖这个特定的主题。

关于分子动力学的话题,我们决定选择GROMACS。GROMACS 广泛使用,免费提供,有据可查,我们非常熟悉。当然还有其他工具可用,如 CHARMM(HARvard 大分子力学的化学)[47]或琥珀[48],它们也有一个庞大的社区,也将是一个有效的选择。医学论文发表--

对于人工智能领域,特别是机器学习领域,TensorFlow 框架和 CIFAR-10 应用程序被选为 TensorFlow 是主要使用的框架之一,CIFAR-10 应用图像识别可应用于医疗图像。当然,还有其他广泛使用的框架,例如PyTorch[49]。

以下显示了工具及其应用区域的简要说明。

序列组件。

序列组装是一种从测序器生成的读取中重建基因组的方法。基因组或序列组装工具利用了收集的读数相互重叠的事实。在第一步中,小读数被组装到较大的碎片中,称为连续体。此外,为了建造脚手架,孔器可以相互连接。最后,所有部件都可以合并以重建整个输入序列[50]。

天鹅绒。天鹅绒[51]是一个使用德布鲁因图形结构来组装基于 k - mers 的给定读数的磁体组装器。

从时间和内存复杂性来看,Velvet 的主要瓶颈是图形构造步骤,这取决于输入大小、读数和所选k,因为这些参数定义了节点的数量。另一个因素是基础数据的复杂性。更复杂的数据导致一个更复杂的图形,这需要更长的运行时间。复杂性主要包括示例中的参数覆盖范围、误差率和重复次数。

伊德巴-乌德。IDBA-UD 是另一种广泛的装配工具,用于应用基于 de Bruijn 图形数据结构的元基因组和单细胞测序数据,该数据显示了高度不均匀的深度[52],使用配对端读数和基于不同 k-mer 长度的迭次方法。

关于运行时间和复杂性,IDBA-UD 算法类似于天鹅绒。输入大小越大,输入数据的复杂性越大,复杂程度越高,因此运行时间越高。

斯帕德斯.SPAdes(圣彼得堡基因组组装器),由班克维奇等人开发[37],是另一种属于组装工具类别的工具。SPAdes 还使用德布鲁因图形结构和 k -mers 的概念。但是,k-mers仅用于构建多尺寸的德布鲁因图。之后,执行通用图形理论操作。最后构建了配对装配图[53]的凝结边缘表示,读数映射回创建的连续体。

班克维奇等人使用纠正错误 ECOLI-SC 读取集进行了性能基准测试。结果表明,算法的前两个步骤占用了大部分时间。特别是处理图形构造的第一个使用总执行时间的大部分,因为 SPAdes 迭代在不同ks 列表上迭代,每次迭代需要几乎相同的时间量。一般来说,它适用,作为输入数据的读数越高,图形包含的节点数越高,运行时间越长。对执行时间有影响的其他参数是图形的纠结性,可以通过执行错误前校正(例如使用 BayesHammer[54]来减少该参数。

序列对齐。

序列对齐可以定义为使用参考序列并与其他序列与参考序列匹配(对齐)的程序。此方法使在参考序列的特定区域找到相似性成为可能,例如[55]中,这些相似性可以进一步用于查找功能或进化相关性。

BBMap.BBMap (Bestus 生物信息学地图)[56]是一种拼接感知对齐工具,专为 DNA 和 RNA 测序产生的小读和长读而设计。BBMap 使用基于 k-mers 的滑动窗口方法创建索引结构。对齐基于使用三胞胎,持有可能命中[57]的信息。

空间和时间复杂性取决于参考序列的基数和所选的 k-mer 大小。对对齐步骤而言,重要的是读数及其基数。此外,k-mer的大小也很重要。k-mers 越小,映射就越敏感,但所需的时间和空间越多。

鲍蒂2.Bowtie2 是广泛使用的读取对齐工具 Bowtie[58]的继任者。该工具以"布伦斯-惠勒-变换[59]"的基础实施命名。Bowtie2 使用全文本分钟大小索引 (FM-Index)[60],以尽可能快地处理大量测序读数。Bowtie2 使用布伦斯 - 惠勒系列来寻找有前途的候选人, 从中开始动态编程对齐方法。最后构建了序列对齐映射 (SAM)。

不同步骤的运行时间显示,创建索引结构的第一步是计算上最昂贵的步骤。但是,一旦计算了指数结构,就可以重新用于后续的对齐。由于 FM-Index 具有有利的数据结构,因此可以快速执行对齐。测速变量再次是输入数据的大小,用于索引构建参考基因组的基数,用于对齐步骤的读数。使用动态编程方法进行最终对齐,导致N是参考序列长度和M要对齐的序列长度的时间复杂性。

布瓦.BWA(布伦斯惠勒对齐器)是一个软件包,由不同的对齐算法[61]组成。此工作侧重于 BWA-MEM(布伦斯惠勒对齐器-最大精确匹配)算法,因为它是使用 BWA[62]时的首选算法。作为 Bowtie2,BWA 正在使用调频指数来构建参考序列的指数结构。初始种子对齐通过搜索 SMEM(超最大精确匹配)[63]来完成,然后是用于对齐扩展的芬隙-间隙-惩罚动态编程方法。一般的时间和空间复杂性可以在原始出版物[61]中找到。

多个序列对齐 (MSA)。

多个序列对齐处理与对齐序列对齐类似的问题,但与其仅比较两个序列,不如将多个序列(三个或更多)相互比较。要比较的序列可以包括核苷酸或氨基酸。这种对齐的结果可用于在样本之间找到同源,以便随后进行植物学分析。[64]。

克卢斯塔尔欧米茄。Clustal 欧米茄[65, 66]是一种用于在大量中对齐多个序列的工具。Clustal 欧米茄使用导树方法 (mBed 算法),结合二分 k 手段算法[67]以成对顺序距离进行聚类。之后,使用 HHalign[68]构建了配置文件对齐。

运行时间复杂性和内存使用表明,Clustal 欧米茄可从多种方式减少运行时间和内存。mBed 算法用于对比距离计算,从N是序列数到 序列数的复杂性。复杂性的降低不是全部,而只是使用(日志N)来实现的)2所有可用的序列。此外,记忆足迹相当低,避免了全距离矩阵。对于第二部分的复杂性观察,重要的是配置文件对齐步骤。它可以表示为依赖于N的函数、序列数、轮廓长度L和导引树的形状。通常的 MSA 需要N − 1 配置文件配置文件对齐。因此,对齐次数会随着序列数量和运行时间的线性增加。序列长度的增加也会增加配置文件序列的长度,因为 HMM(隐藏马尔科夫模型)矩阵需要L的倍数1× L2,导致时间复杂性的二次增量。导引树的形状有助于整个运行时间,平衡树可以比不平衡的链式树更快地穿过。此外,使用 OpenMP 库[69]对对齐距离计算和对齐匹配状态计算实施多读减时。

配置文件与长度 L对齐的空间复杂性可以通过术语 8 × 6 × L表示1× L2,其中8个是字节中双变量所需的空间,6是HHalign创建的矩阵数量。医学论文发表--

马夫特.MAFFT 是一个使用快速傅立育 (FFT) 方法的多序列对齐程序。该软件最初发布于2002年[70],此后一直在开发中。MAFFT 使用导引树 (UPGMA) 的概念,通过组对组对齐创建初始 MSA,这些对齐在随后的迭代过程中进行改进。

MAFFT的时间复杂性,使用渐进法,表示的长度(L)和数字(N)的输入序列与术语。术语的第一部分与引导树的构建有关,第二部分与组对组对齐有关。空间复杂性指定为[71-74]。

浪 。由格吕克纳等人开发的 SILVA 增量对齐器 (SINA)[75]是一种多序列对齐工具,专门使用 SILVA 项目[76]提供的 rRNA 数据库。新浪的算法使用部分订单对齐[77]和 k-mer 序列搜索[78]的组合。

由于序列选择步骤,在对齐步骤之前,时间和空间复杂性与参考 MSA 的大小脱钩。

分子动力学。

分子动力学涉及原子和分子运动的模拟,因此也涉及它们的身体行为。例如,生物信息学中的一个用例是蛋白质结构预测。

格罗马克斯.GROMACS,用于化学模拟的格罗宁根机器[79]是开源应用领域非常流行的分子动力学工具套件。GROMACS主要用于基于牛顿运动方程的生物分子动力学模拟。理论上,在周期性分子系统中,所有粒子相互作用,但在实践中,短距离相互作用驱动着系统的动力学。GROMACS 使用此假设将系统拆分为不同的领域,将空间相关的非粘结交互考虑在内。域分解方法使计算并行,甚至进一步将特定任务卸载到图形处理单元 (GPU) 成为可能。

为了加快对联静电和范德瓦尔斯相互作用的模拟,GROMACS 使用粒子网格 Ewald 方法,处理转化为 Fourier 空间的远程静电相互作用。通过这种方法,时间复杂性可以从N是粒子数量的地方降低到[80]。

机器学习。

机器学习是研究中一个即将或已经很热门的话题,但与生物信息学没有紧密的联系。当然,也有生物学问题,可以利用机器学习算法和方法。可能的数据将是医疗图像(X射线照片)或其他临床相关数据在个人医学的主题。一般来说,机器学习可以描述为基于适当的培训集或未知数据改进统计模型的算法集合。

滕索弗洛.TensorFlow[81]是实现机器学习算法的最广泛使用的开源框架之一。在这项工作中,TensorFlow 用于基于 CIFAR-10 培训模型应用程序[82]和相关的 CIFAR-10 数据集构建卷积神经网络 (CNN) 模型,用于图像识别。生成模型的目的是将图像正确分类为飞机、汽车、鸟类、猫、鹿、狗、青蛙、马、船和卡车。图像为 RGB 类型,尺寸为 32x32 像素。创建的模型建立在多层架构上,包括交替卷积和非线性。最终分类由软磁分类器执行。医学论文发表--

CNN 培训和测试程序的时间复杂性受六种不同参数、卷积层的索引、此类层(深度)、滤镜(宽度)数量及其空间大小(长度)、输入通道数和输出特征图的空间大小的影响,其中卷积层的数量和应用的滤镜数量主要贡献于总运行时间[83]。

数据

使用的基准数据集是手工挑选的,并附带可启动。根据运行时间选择不同的数据集,以提供相当短的基准运行到更长的运行的可能性。使用的数据集是真正的科学数据集,不是人为创建的。所提供的数据集列表显示在表 3中,然后显示表 4,列出按运行时类别(短、中、长)分组的数据集。一般来说,较短的运行过程与包含比中运行数据集包含的序列数量较少的数据集一起执行,中间数据集包含的序列比用于长跑的数据集少。除了使用全人类基因组数据集(GRCh38)的长跑,它有相当少的序列,但这些是非常长的,也反映在其大圆盘大小。由于所用工具的运行时间在很大程度上取决于输入大小(序列数或基数数),因此可以通过数据集大小调节运行时间。对于工具,GROMACS 和 CIFAR-10 始终使用相同的数据集,但运行时间会根据不同的步幅大小进行调整。但是,一般而言,不能排除关于其输入大小的较小数据集,由于其固有的复杂性,其运行时间可能比较大的数据集更长。在以下各种数据集中,按应用区域分组详细介绍。

表4。分配给BOOTABLE的根据工具和数据集参数(短、中、长)的基准数据集。

https://doi.org/10.1371/journal.pcbi.1009244.t004

参考文献 。为了使用 Bowtie2、BWA 或 BBMap 来对齐序列,必须首先构建参考基因组的指数结构。此步骤的计算成本很高,取决于参考序列的输入大小。对于Bowtie2和BBMap来说,三个数据集中最大的一个(类别长)是完整的人类基因组(GRCh38_full_analysis_set_plus_decoy_hla.fa,ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/technical/reference/),取自1000个基因组计划[84]。 对于中短类别,使用数据集DRR001012.fastq (ftp://ftp.sra.ebi.ac.uk/vol1/fastq/DRR001/DRR001012/), DRR001025.fastq(ftp://ftp.sra.ebi.ac.uk/vol1/fastq/DRR001/DRR001025/)。这些资料取自欧洲生物信息学研究所 (EBI) 主办的序列读取存档[85]。对于 BWA,使用了相同的数据集,但直接提供了指数结构,因为 BWA 的指数创建不是多面体的,只会不断有助于缩放结果。对于Bowtie2_align相同的数据集用于短期和中间类别,但针对不同的引用,生成不同类型的运行时间。

大会。天鹅绒、IDBA-UD 和 SPAdes 的集成组装应用程序使用四个不同的数据集,全部从 1000 基因组计划中提取。最大的一个是所有三种工具使用的数据集ERR2510006.filt.fastq (ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00110/)。由于数据集ERR016155.filt.fastq (ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00125/)与 IDBA-UD 的数据集ERR015528.filt.fastq (ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00106/)的不兼容性, 特别为此添加了 SRR741411.filt.fastq (ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00099/)ERR016155.filt.fastq用于两种类型,即短距离和中段分类运行,因为经验丰富的运行时间适合这两个类别。ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/phase3/data/HG00125/

MSA.Clustal 欧米茄和 MAFFT 的 MSA 数据集取自 NCBI 托管的根班克存储库[86]。即使对不同的运行时间类别进行了较长时间的研究,也找不到完全适合的匹配数据集。因此,原始数据集wgs。ANCA.1.fsa_aa (ftp://ftp.ncbi.nlm.nih.gov/genbank/wgs/A/wgs.ANCA.1.fsa_aa.gz) 被采取和前 32, 71 和 96 序列用作输入类别短, 中和长。还采取了谨慎的措施,以保持文件结构完好无损。对于新浪,使用不同的数据集,因为新浪是专门的rRNA序列。作为参考索引,使用由 SILVA rRNA 数据库项目提供的 138.1 版小子单元 (SSU) 参考 NR 99 的建议数据集。由于这是唯一使用的参考数据集,因此事先计算了指数结构,因为对总缩放结果的贡献将是恒定的。对于新浪的对齐基准,从DADA2项目(10.5281/zenodo.2541239)中获取了两个数据集(类别中(https://zenodo.org/record/2541239/files/RefSeq-RDP16S_v2_May2018.fa.gz)和长(https://zenodo.org/record/2541239/files/GTDB_bac-arc_ssu_r86.fa.gz)。属于"短"(https://zenodo.org/record/803376/files/OE-38_R1.fastq.gz)类别的数据集取自果园项目[87]

格罗马克斯.作为GROMACS的数据集,也由开发者提出,在立方箱内嵌入水中的酒精脱氢酶的一部分(https://ftp.gromacs.org/pub/benchmarks/)。为了产生更长的运行时间,步数从 10,000(短)、30,000(中间)增加到 50,000(长期基准运行)。

机器学习。对于 CIFAR-10 模型生成应用程序,使用 CIFAR-10 数据集。该数据集由加拿大高级研究所提供,是与机器学习和图像识别(https://www.cs.toronto.edu/~kriz/cifar.html)相关的标准图像集之一。它由 60,000 张彩色图像组成,大小为 32x32 像素,分为 10 个类,每类 6,000 张图像。CIFAR-10 数据集用于所有运行时类别。运行时间通过使用过的步数 1,000、2,500 和 5,000 控制。

结果

性能测量分为两部分。第一部分涵盖指定工具的平均墙面时间,而第二部分则显示缩放行为结果。

虚拟环境的性能测量

评估了不同环境的性能,测量了从执行开始到结束每个工具的墙面时间。墙面时间也用于评估缩放性能。措施的选择应尽可能好和直观地反映结果。从用户的角度来看,最有可能的问题是,获得结果需要多长时间?墙时间将是最有趣和简单的单位之一。由于数字和结果的质量会溢出,因此会选择相关结果和平均值。在以下测量中,Bowtie2 构建应用程序的测量被忽略,因为指数结构的创建涉及随机起点,这可能导致在墙面时间上出现较大的差异。为了使所有数据集和环境的结果更具可比性,如果不注意,则忽略测量结果。此外,我们体验到,并非所有 CPU 核心数字都可以与 GROMACS 一起使用,原因在讨论和分析部分讨论,并且失败的运行也被排除在特定 CPU 配置的性能测量之外,因为其计算的百分比值将导致开销结果的偏差。医学论文发表--

首先感兴趣的是根据不同大小的数据集(短、中、长)确定不同环境(裸金属、VM、Docker)的开销。为了深入了解这一点,我们将原始的墙时值转换为百分比值,其中部分值显示在表 5 中。每个计算环境和数据集的最终开销值以表 6的形式显示,并计算如下。首先,每个工具在裸机环境和虚拟计算环境 (VM 或 Docker) 之间的特定数据集和核心配置的相对开销是根据原始的墙时间值计算的。之后,计算所有工具中每个核心配置的平均百分比,以获取每个核心配置的开销统计数据。最后,将每个核心百分比的平均值按核心配置的数量进行汇总和除以,不包括特殊 CPU 配置未运行的 GROMACS 基准。这是针对所有环境,结合不同的 CPU 核心配置完成的。

表6。所有使用过的 VM 和 Docker 运行的 CPU 核心编号的平均开销,以及直接在裸金属上运行一个 Docker 的运行。

间接费用数字与以百分比表示的裸金属基准相关,包括使用的数据集。

https://doi.org/10.1371/journal.pcbi.1009244.t006

最终结果表明,VM 级的虚拟化平均导致开销约 7% 到 10%,与作为参考的裸金属值相关。关于 Docker,与裸机值相比,开销甚至高于 VM 的 15% 到 24%。我们还可以看到,所用数据集在大小和复杂性上的增加,导致几乎相同的开销结果,偏差在 3% 左右。如果原始时间值被说明为堆叠条图(如图 2中所示),则会显示有关已使用的 CPU 数字的更多详细信息。一个具体细节是裸机单核性能的墙面值。值低于虚拟环境值。例如,使用中间数据集,VM 的单个核心性能降低了约 13%,这意味着与裸机相比,VM 内部的基准工作量需要多 13% 的时间。但随着内核数量的增加,VM 环境的开销值会降低到平均值。对于 VM 内的 Docker 环境,开销几乎保持不变,在大约 20% 到 25% 的范围内,在所有三个数据集类别中,均未观察到值下降的行为。

· 下载:

图 2.虚拟化环境的墙时比较。

CPU 核心数字比较基于长数据集的不同计算环境的墙面时间总结,作为堆叠条形图呈现。堆叠部件需要被视为对它下已经存在的部分的补充。红色条代表裸金属环境的结果,使用 Docker 容器在 VM 和蓝色中绿色增加时间。标有星的条形表示 CPU 核心编号,GROMACS 不允许在该数字中启动模拟。

https://doi.org/10.1371/journal.pcbi.1009244.g002

仔细观察 VM 环境和 Docker 结果之间的差异,发现一些案例,其中虚拟环境的测量墙时间低于裸金属环境。还发生了,Docker 环境所需的时间比在虚拟计算机上运行的时间要少。这些病例已观察到所有数据集,但它偶尔发生不同的工具和不同的核心配置在2%的范围内与一些罕见的离群值10%至12%,大多与Clustal欧米茄有关。此外,为了完整性,还采用了裸金属上的Docker短数据集基准。结果表明,裸金属环境与Docker在裸金属环境上的墙时差异可与VM环境之一相比。BOOTABLE Docker 容器的运行表现与 VM 环境的行为相同,开销值约为 7%。

缩放行为

在本节中,焦点将转移到不同工具的缩放行为上。为了以表格格式可视化已发现的结果,工具的缩放行为被归入三类之一,是的,它缩放,否不缩放和部分,如果行为不能分为一个类别是或否。结果在第7表中说明。

表7。按扩展结果对所用应用进行分类,分为与长数据集相关的三个不同类别之一"是、否"和"部分"。

长数据集还表示数据集的短和中。类别是意味着,应用程序规模与所用内核的数量一满意。类别否表示不缩放。部分意味着,对于某些数量的 CPU 内核,应用比例对其他不适用的量表表示满意。

https://doi.org/10.1371/journal.pcbi.1009244.t007

为了获得直接的印象,如果一个工具缩放,理想情况下线性使用额外的CPU内核与否,我们决定创建缩放图,使用对数x和y轴。在以下图中,将呈现在裸金属环境中的长数据集的缩放图。不同环境的缩放图图彼此没有显著差异。这同样适用于不同的数据集,它们仅在测量的墙时间尺度上有所不同。首先查看序列对齐工具的缩放图(图3),显示bowtie2_build(左上)的扩散行为。特别是对于数量较高的 CPU 内核,值是交替的。讨论和分析部分对此行为进行了解释。对于bowtie2_align(右上图),显示一个近乎完美的线性图,该图指向对齐过程的线性行为。对于中短数据集,缩放不是完全线性的,但仍然令人满意。对于使用 MEM 算法的 BWA,除了使用 36 个内核的最后一个核心配置外,还显示大部分线性行为,显示非同寻常的墙时增加。以前对齐工具的线性行为也适用于第三个对齐工具 BBMap(左下角)。缩放接近线性,但对短数据集可用内核的最大数量的改进较少。一般来说,序列对齐类别的所有选定工具都显示出足够的缩放性能。

· 原始图像

图 3.缩放图1-4。

图,表示Bowtie2_build(左上)、Bowtie2_align(右上)、BBMap(左下)和 BWA(右下)的缩放行为,使用长数据集中五个副本的平均值。两个轴都对数缩放,使线性行为光学可见。x 轴上的值表示已使用的核心数,而 y 轴在几秒钟内显示测量的墙时间。请注意,不同缩放图的 y 轴涵盖测量墙面时间的不同范围。除曲线外,灰色区域的边框还显示测量的最小和最大墙时值。

https://doi.org/10.1371/journal.pcbi.1009244.g003

组件的结果表明在图4。de novo组装者天鹅绒被分成两个执行步骤,并被视为两个独立的工具(天鹅绒,天鹅绒)。在第一个外观 Velveth 显示一个相当分散的行为, 上下, 但最低和最高测量的墙时间值的范围是在 1 秒范围内, 因此几乎恒定, 根据使用的 CPU 内核.天鹅绒表现出与天鹅绒相似的行为,但在最低值和最大值之间大约为 10%。图 4的左下角图显示了装配工具 IDBA 的缩放结果。在开始时,墙时间几乎线性地扩展有关使用的 CPU 内核,直到 16 个内核。之后,值停滞不前,图形平整。随着核心数的增加,对 36 个内核的最大数目,墙时值甚至会增加。装配类别的最后一个工具是 SPAdes。缩放图显示在右下角。与其他装配工具(天鹅绒、IDBA-UD)相比,SPAdes 的运行时间最高。该图显示了一个几乎线性的缩放行为,从 17 个内核开始,两个内核的轻微凸起和光平整。

 

下载:

图4。缩放图5-8。

图,显示长数据集的天鹅绒(左上)、天鹅绒(右上)、IDBA-UD(左下)和 SPAdes(右下)的缩放行为。x 轴表示在 1 到 36 范围内使用的内核数量。y 轴在几秒钟内显示平均墙时值,范围不同,具体取决于工具。两个轴都按比例对数缩放,使线性行为可见。除了缩放图外,以灰色表示区域边界,还说明了五次运行的最小值和最大值。

https://doi.org/10.1371/journal.pcbi.1009244.g004

MSA 工具的缩放行为在图 5中说明。左边的图显示了克卢斯塔尔欧米茄的行为。它揭示了关于缩放的相反观点。仅使用一个内核,就实现了最低的墙时值。使用 CPU 内核越多,墙时值就越高。与上次配置,使用36个内核,总墙面时间值几乎翻了一番。MAFFT 显示的缩放行为与粘结欧米茄不同。多达8个内核,它几乎线性扩展,较小的向上和向下。除了 8 个内核的数量外,墙时间值会停滞并略有交替。专门研究 rRNA 的工具 SINA 显示一种非常线性的缩放行为(图 5右侧的图形),对于更高数量的 CPU 内核,墙时值的递减值略小。

· 下载:

图 5.缩放图9-11。

图使用长数据集说明了 Clustal 欧米茄(左)、MAFFT(中)和新浪(右)的缩放行为。x 轴值在 1 到 36 之间,表示已使用的核心数量。y 轴在几秒钟内显示平均墙时值。y 轴的范围因工具而异。两个轴都是对数,使线性行为可见。为了指示已执行的五个运行的最小和最大墙时间值,已插入一个灰色区域,其边界表示最低和最高测量值。

https://doi.org/10.1371/journal.pcbi.1009244.g005

第四系列缩放图(见图6)显示了CIFAR-10天线流应用程序和GROMACS的缩放行为。TensorFlow 应用程序几乎线性,十个内核后有一个轻弯,末端具有非常轻的扁平效果。对于分子动力学模拟工具 GROMACS,可以观察到 CPU 核心数字 17、19、22、23、26、29、31、33 和 34 的奇怪行为。对于其他 CPU 内核数,该图表显示了关于较低 CPU 核心数字的测量值的常规行为。讨论和分析部分澄清了此行为的原因。医学论文发表--

图6。缩放图12-13。

使用长数据集显示天梭流应用程序 CIFAR-10(左)和 GROMACS(右)的缩放图。使用过的内核数量在 x 轴上表示,而 y 轴显示平均测量的墙时,根据工具的不同范围。x 轴和 y 轴按日数进行缩放,使线性缩放行为可见。灰色区域的边框说明了每个使用的核心的最小和最大测量值,但几乎看不到,因为只测量了与不同复制品的微小偏差。

https://doi.org/10.1371/journal.pcbi.1009244.g006

在下面的讨论和分析部分,可以找到观察到的缩放行为的进一步解释和讨论。

讨论和分析

分析和讨论部分分为两部分。每个部分都讨论发现的结果,并解释观察到的行为。

虚拟环境比较

获得的结果表明,不同的虚拟化环境对测量的墙面时间的影响几乎如预期的那样。裸机设置性能最佳,之后是 VM 基准,最后是 Docker 环境。由于虚拟化所需的超视层 (KVM) 为环境增加了额外的抽象层,因此观察到性能损失,因此预计会出现此情况。与裸机设置的性能相比,VM 环境的所有数据集的开销可指定大约 7% 到 10%。与 VM 设置相比,使用 Docker 的基准性能更差,因此也比裸机性能差。在所有数据集中,与裸金属值相比,开销超过 15%。VM 和 Docker 环境之间的开销相当高,在 VM 性能之上大约为 8% 到 15%。由于 Docker 容器在 VM 内的超遮阳板层顶部运行,因此预计性能会进一步下降。性能损失可以由两个原因来解释。除了 Docker 引擎的附加虚拟化层外,已执行容器的已使用文件系统还负责光性能损失。我们使用了推荐的叠加2驱动程序,但仍然存在一些开销。与 VM 环境相比,这似乎也是开销较大的原因。使用 TensorFlow 框架创建的 CIFAR-10 应用程序是显示由附加层创建的额外开销的一个很好的示例。TensorFlow 大多以 C 书写,因此会进行大量系统调用。由于系统呼叫数量众多,通过 TensorFlow 框架执行的计算也花费了大量时间进行这些系统呼叫。在熊金属环境中执行,系统呼叫速度比 VM 或容器内更快,因为无需将系统呼叫从访客操作系统转换为主机和回调。根据 CIFAR-10 工具的测量墙时间值,这可能导致开销为 25% 到 30%。此外,GROMACS 提供了支持这一假设的证据,这些证据显示了类似的系统呼叫行为,如 CIFAR-10 工具以及关于不同执行环境的类似开销结果。

直接在裸金属上运行的多克化版本BOOTABLE的附加基准运行表明,墙时已接近 VM 环境的测量值。Docker 在裸机实例中的表现没有在短数据集中之外进行评估,因为出于安全原因,几乎没有任何主要的基础设施运营商允许此类设置。但对于较小的基础设施,它可能感兴趣,因此已考虑了这种情况。

此外,我们预计会看到有关不同数据集的工具的不同行为。当然,更大、更复杂的数据集显示墙时增加,但除此之外,我们只识别了一些关于 Clustal Omega 缩放行为的奇怪行为,这在即将发布的缩放行为部分进行了讨论。

缩放行为

在调查了各种缩放图之后,我们看不到通过不同的执行环境触发的缩放行为的任何影响。这同样适用于不同的数据集,这些数据集对缩放性能的影响也不小或很小。IDBA-UD 观察到唯一的差异,该数据集为长数据集中较高的 CPU 核心数字生成一个平面图,而不是用于中短数据集的上升图。所有执行环境中都可以看到此行为。

Bowtie2 构建工具的缩放性能看起来不会缩放,但仔细查看原始的墙时数据就会发现一些波动。用于生成缩放图的值是每个 CPU 核心配置的五个基准运行的平均值。五个复制品中有些显示墙面时间明显缩短,但其他复制品的墙面时间要短得多。原因是,Bowtie2 根据随机数生成器种子选择随机起点。根据生成的随机数,运行时间可能会因因素而增加 2 或 2.5。这当然会影响计算的平均值。如果只计算最低值,忽略离群值,图形将显示几乎线性缩放行为。相反,Bowtie2 对齐器显示了一个近乎完美的线性缩放行为,每个 CPU 内核几乎将测量的墙时减半。序列对齐工具类别、BBMap 和 BWA 的其他工具也是如此。对于 BWA 来说,壁时间的增加,已经看到使用 36 个内核,这可能与操作系统过程有关,这些操作系统过程也需要一些 CPU 时间。总的来说,由于两个序列的对齐是生物信息学中众所周知和研究的问题,因此这些结果是意料之中的,可以通过动态编程方法有效地解决。此方法适用,因为问题可分为较小的子问题(部分对齐),可以独立处理。这样可以有效地在可用的 CPU 内核上分配负载。

生物信息学中一个更复杂的问题是多个序列的对齐,包括应用 Clustal 欧米茄、MAFFT 和新浪。Clustal 欧米茄提供了一个多读选项,但在我们的研究中,我们使用单个内核观察到了最佳性能。此外,图 5中提供的图表显示,使用过的 CPU 内核数量增加,其值几乎持续增加。结果也无法与天鹅绒相比,其中多个计算内核的使用不会导致显著加速。就 Clustal Omega 而言,它会导致运行时间翻倍,使用 35 或 36 个内核比较一个内核的最佳性能值与最差值。也没有甜蜜点,壁时间将首先减少,在特定数量的内核将增加之后。如果切换到 Clustal Omega 的冗长模式,输出显示,参与时间最长的是渐进式对齐步骤,如果使用具有少量序列的数据集,则似乎受到多个内核的使用负面影响。从 Clustal 欧米茄的文档中,我们可以看到,计算对联距离和 HMM 建筑程序部分的程序是平行的。我们可以批准,这些部件受益于额外的核心,但随后的渐进式对齐步骤否定了已实现的收益。为了验证我们的假设,即小尺寸的数据集是导致的开销,我们在完整的 ANCA.1 数据集上执行了额外的测试。我们可以从提供的输出中收集的第一个信息是,仅从多个 100 多个序列中,mBed 算法用于计算对联距离。第二个发现是,使用单个 CPU 内核在完整数据集中(1258 个序列)上的测试运行时间比使用最多 36 个内核的相同数据集需要两倍的时间。但是,仅使用 19 个内核可带来更好的性能,这似乎是本案中的亮点。使用更多的 CPU 内核并没有导致测量的墙时间进一步缩短,相反,数字略有增加。完整的缩放图显示在图 7中。MSA 类别的第二个代表是 MAFFT。观察到的行为一方面可能是由使用的算法本身引起的,另一方面可能是由实现引起的。两者都可能导致可扩展性限制为 8 个 CPU 内核。与克卢斯塔欧米茄和MAFFT相比,第三个MSA工具新浪的缩放效果非常好。原因可能是不同的设置和参考索引的使用,这将使新浪处于序列对齐类别和多个序列对齐类别之间。

下载:

图 7.用于更大的 Clustal 欧米茄数据集的缩放图。

使用完整的 ANCA.1 数据集显示 Clustal 欧米茄缩放行为的其他缩放图。x 轴表示已使用内核的数量,其中 y 轴在几秒钟内说明测量的墙时间。由于对数 x 和 y 轴,可显示线性缩放性能。灰色区域的边框显示从多个副本中测量的最小和最大墙时间。

https://doi.org/10.1371/journal.pcbi.1009244.g007

对于三个de novo装配工具中的两个,观察到的缩放性能相当差。虽然 Velvet 提供多读取,但大多数计算不平行,因此大部分工作负载使用单个内核完成。有了这些知识,缩放图显示一些弥漫的性能值波动并不奇怪,而是在一个相当小的范围内。因此,如果使用多个内核,则不会产生太大的差异。第二个非新组件工具是 IDBA-UD。它还提供多读取和性能测量显示,它利用了算法大多数部分的并行化。如果使用超过 16 个 CPU 内核,则缩放行为的确定更改,让我们假设已实现的平行化程序在某种程度上仅限于此数字,或者由于算法而无法改进并行化。据我们所知,算法似乎没有理由不使用超过 16 个计算内核,因此限制因素可能是已实现的并行化程序。

与所有其他基准应用相比,属于de novo装配工具类别的第三个工具 SPAdes 在de novo装配工具中标尺最大,但还表现出良好的缩放性能。在开始时,运行时间几乎减半通过加倍的内核,但这种行为停止从8到16个内核的步骤。但是,在裸机的长数据集中观察到,每个核心的运行时间仍然可以减少 2% 到 3%。性能仍有提高,对于本研究中其他装配工具未显示的更高 CPU 核心数字也是如此。一般来说,SPAdes 显示高墙时值。这可以通过算法的设计来解释,该算法在不同大小的 k-mers 上进行重复。由于 SPAdes 使用不同长度的 k-mers 来优化装配,因此每个步骤需要几乎相同的时间。减少k的数量或范围将导致较低的墙时间。由于我们没有对结果的质量进行任何评估,因此我们把选择的 k的决定留给了 SPAdes。医学论文发表--

TensorFlow 或更精确的 CIFAR-10 应用程序显示的缩放行为大多如预期的那样。由于中间计算不相互依赖,培训工作量可以很容易地划分。此外,滕索流框架还调整为高性能。尽管如此,在开始的时候,墙时间值几乎减半。使用十多个内核后,此行为停止。运行时间仍在减少,但不如以前强劲。此行为显示在所有环境中和所有应用步骤的数量上。到目前为止,我们未能找到一个合理的解释,这种行为,但由于这已经观察到独立于环境和应用步骤的大小,我们假设,在TensorFlow或CIFAR-10代码级别的东西可能是一个原因。

最明显的行为显示格罗马克斯。最多使用 16 个 CPU 内核,一切都很好,运行时间几乎减少了一半,将内核数量增加一倍,从而具有良好的缩放性能。不幸的是,存在不一致之处,中断了线性趋势,该趋势是由大约一秒的测量运行时间造成的,这意味着 GROMACS 没有启动模拟。日志文件显示,由于由此产生的域分解,选择的 CPU 内核数量无法应用于当前分子。这种行为的原因是,GROMACS 开发人员在性能调整方面投入了大量精力。核心部分是内置域分解算法,用于动态负载平衡。为了不超出这项工作的范围,特意作了以下解释,但作了非常简短和简单的解释。更新版本的原始论文[88][89]中可以找到更详细的描述。分子,或更精确的模拟框,被分成不同的细胞。这些细胞需要相互通信,基于粘结和非粘结交互的截止径。这意味着,如果单元格 0 是起点,则将检查该单元,其他单元格正在与单元格 0 相互作用,并且需要与它通信。这些交互定义了模拟负载如何分布在处理器上。在我们的研究中观察到的行为可以解释为,所有失败的CPU核心配置本身都是较大的质数,如29或由较大的质数(如34(2倍17)组成。根据分子系统的不同,这种为线程数选择的质数可以以非常锋利和薄的细胞结束,从而产生问题,正确模拟相互作用。因此,GROMACS 执行检查,如果所选的线程编号是否合适。如果没有,模拟将在开始时停止,导致测量的一秒钟的墙时间。对于本研究中使用的其他分子系统,这可能会发生变化,非工作 CPU 核心配置可以工作。但是,GROMACS 的新版本不再使用充电组的概念。它们已被使用包含粒子相互作用的 Verlet 缓冲器(或更精确的粒子群)替换为对列表,这些粒子集群由两个维的空间网格和第三维的空间绑定构建而成。结果保持不变,使用质数作为螺纹数字可导致非常薄和锋利的细胞或具有太多相互作用的非常大的细胞,无法有效模拟。

概 化

在整个工作中,讨论了不同应用、数据集和执行环境的缩放行为的几个方面,包括不同环境的可能开销。首先,所呈现的结果适用于选定的工具、数据集和环境。但是,对于具体发现,可以作出一般性陈述。查看不同的数据集和由此产生的运行时间,未注意到有关缩放行为的更改。因此,数据集的大小似乎对工具的多重读取能力没有影响,假设工具的行为与输入大小相同,这与 Clustal Omega 相同,仅在通过某个输入大小阈值时才会激活算法的某些部分。但总的来说,数据集对缩放行为没有影响,这似乎是正确的。有了这些知识,就可以先对较小的数据集进行绩效评估,并在较大的数据集上节省时间。可以作出同样的声明,与不同的环境有关。似乎对缩放行为没有影响,但当然,由其他层产生的开销将永远存在。另一个可以传输到其他工具和应用程序的结果是有关使用编程语言和相应实现的结果。正如环境比较部分所述,对于 CIFAR-10 TensorFlow 应用程序和 GROMACS,与其他工具相比,裸金属环境和虚拟环境之间的性能差异相当大,因为两种工具的实现都基于编程语言 (C 或C++),这些语言能够有效地将其指令映射到机器指令中。如果中间有一个或多个翻译层,此好处将丢失。此外,可以概括这一结果。工具与机器指令的实现越近,如果使用虚拟环境,特别是单核性能,性能损失就越高。

基于算法或数据结构的通用语句更加困难。算法用于解决给定问题或查找大致解决方案。所选工具类别要解决的问题不同。对于序列对齐类别,所有工具都表现出愉快的缩放行为。CIFAR-10 应用程序和格罗马克斯也是如此。所有这些问题的所有根本问题都可以很好地平行,特别是序列对齐的类别。对于多个序列对齐类别,它看起来也不同,也对于装配工具。在这两个类别中,工具都难以显示接近线性的缩放性能。这表明,由于问题的性质,平价化是很难实现的。即使使用类似的数据结构,也可用于选定的装配工具(天鹅绒、IDBA、SPAdes)。对于天鹅绒,只有已实现算法的一小部分是平行的。对于 IDBA 来说,多个内核的好处止步于 16 个内核,而 SPAdes 则表现出令人满意的缩放行为。仅基于数据结构,不能得出一般结论,仍取决于算法和实现。使用类似的算法(如 Bowtie2、BWA、MAFFT 和 Clustal 欧米茄)对工具的观察表明,可以得出一些一般假设。两对工具在缩放特性方面都表现相似,尤其是 Bowtie2 和 BWA 在算法和数据结构方面非常接近。因此,工具的行为可能相同,但最终仍取决于实现。

结论和未来工作

测试工具在不同的运行时间环境中以及关于不同数据集的运行方式几乎与预期一样。根据收集的结果,可以说虚拟环境会导致开销,不容忽视。它需要从工具到工具来决定,如果宝贵的灵活性使它值得失去一些性能。与更抽象的设计中实现的工具相比,旨在利用裸机硬件功能的工具可能会经历更强的性能损失。因此,它需要从应用程序到应用程序来决定生成的开销是否可接受,但是否与灵活性的增益有关,或者相反。Paralell 化是加快流程的好方法,但不幸的是,并不是每个测试工具都通过多读取、具有更多 CPU 内核的缩放提供平行化。这在很大程度上取决于根本问题,能否有效地将其分为较小的子问题。正如我们的研究表明的,多读图书馆的实施可能会产生进一步的强烈限制。因此,算法和实现必须很好地结合在一起。

这项研究的一个结果是,产生Bowtie2参考基因组指数结构所需的时间可能会有很大差异。由于参考索引结构通常只构建一次,大多数用户可能甚至不会注意到。相反,Bowtie2在这项研究中也进行了双向对齐程序,显示了一种近乎完美的缩放行为,因此利用了多个 CPU 内核。其他序列对齐工具、BBMap 和 BWA 也是如此。其他工具(如 Velvet)似乎无法从多个可用内核中获得优势,或仅限于 IDBA-UD 等支持号码。由于其他工具(如 SPAdes)使用类似的数据结构比例,因此由于实现,似乎存在限制。如前所述,除 Clustal 欧米茄外,使用过的工具大多不受所选数据集的影响。对于 Clustal 欧米茄来说,序列的数量可以有所作为,但更大的数据集应该受益于多个内核的使用,正如附加基准运行所示。已被证明是强大且非常可扩展的工具是 TensorFlow、特别是 CIFAR-10 应用程序和 GROMACS。这两种工具的可扩展性主要得益于将主要问题与较小的子问题明确脱钩,这是实现高可扩展性的基本要求。

对于未来,我们计划通过更多的应用来扩展BOOTABLE,并涵盖更多的研究领域。特别是生物信息学领域的 GPU 加速工具主题似乎有望获得更深入的见解,无论 GPU 是否有意义,也涉及虚拟环境和扩展效果。此外,我们希望添加更多的数据集,并就可对不同工具产生影响的数据集类型提供更多建议,如 Clustal Omega 所见。最后,我们计划建立一个公共数据库,其中包含已经标杆化的工具,并就其合理资源使用提出建议,并不断添加新结果,使用户和资源提供商的寿命轻松一些。它并不总是越快乐。

确认

作者感谢沃尔克·卢茨在计算任务的传导和结果分析过程中的想法和宝贵投入。此外,我们要感谢约翰内斯·沃纳关于工具和数据集的建议。

引用

00001. 1.巴德尔·达、李Y、李T.比奥珀夫:评估生物信息学应用高性能计算机架构的基准套件。在:2005年IEEE工作量定性国际专题讨论会的议事录中,IISWC-2005年:2005.

00002. 2.亚马逊河。亚马逊弹性计算云(亚马逊EC2);2008. https://aws.amazon.com.

00003. 3.谷歌。谷歌云计算、托管服务和 API;2017. https://cloud.google.com.

00004. 4.微软。微软蔚蓝云计算平台;服务;2019. https://azure.microsoft.com.

00005. 5.德国的陶赫A,迪莱米A.生物信息学:走向国家级基础设施。生物信息学简报。2019;20(2):370–374.医学论文发表--

· 查看文章

· 谷歌学者

00006. 6.舒尔茨 Jc.奥伯勒贡根 · 祖尔 · 斯特龙 · 艾纳 · 费德伦 · 因弗拉斯特鲁克图尔 · 阿姆 · 贝斯皮尔 · 冯 · 布云。在: 冯苏乔多莱茨 D, 舒尔茨 Jc, 伦德采 J, 编辑.库珀·冯·雷琴森特伦柏林, 波士顿: 德格鲁伊特;2016. 提供自: https://www.degruyter.com/view/books/9783110459753/9783110459753-019/9783110459753-019.xml.

00007. 7.梅吉诺FHB,琼斯R,库恰尔奇克K.螺旋星云和欧洲核子研究中心:利用商业云的共生方法。物理杂志:会议系列。2014;513(3):032067.

· 查看文章

· 谷歌学者

00008. 8.邦迪 AB. 可扩展性的特点及其对性能的影响。2000;

· 查看文章

· 谷歌学者

00009. 9.伯曼 P, 达斯古普塔 B, 考我的。生物信息学测试集问题的紧密近似结果。计算机和系统科学杂志。2005;

· 查看文章

· 谷歌学者

00010. 10.巴德尔达。计算生物学和高性能计算。2004;

· 查看文章

· 谷歌学者

00011. 11.院长 J, 格马瓦特 S. 地图还击: 大集群上的简化数据处理。ACM 的通信。2008;

· 查看文章

· 谷歌学者

00012. 12.扎哈里亚 M, 乔杜里 M, 富兰克林 Mj 。火花:带工作套装的集群计算。热云。2010;.

· 查看文章

· 谷歌学者

00013. 13.杨 A ,特鲁普 M ,何 JWK 。大数据生物信息学软件的可扩展性和验证性。计算和结构生物技术杂志。2017;15:379–386.

· 查看文章

· 谷歌学者

00014. 24M布滕霍夫博士编程与POSIX线程。艾迪森-韦斯利专业;1997.

00015. 15.沙阿, 公牛 M. 开放。在: 2006年ACM/IEE超级计算会议的议事录,SC'06;2006.

00016. 16.中W、阿尔通G、天X.并行蛋白二次结构预测方案采用Ptread和 OpenMP超线程技术。超级计算杂志。2007;

· 查看文章

· 谷歌学者

00017. 17.莫拉比托 R, 基尔曼 J, 科穆 M. 超视器与轻量级虚拟化: 性能比较。在: 程序 - 2015 IEEE 云工程国际会议, IC2E 2015;2015.

00018. 18.软件。了解完全虚拟化、准虚拟化和硬件辅助;2007. https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/techpaper/VMware_paravirtualization.pdf.

00019. 19.巴勒姆 P , 德拉戈维奇 B , 弗雷泽 K. Xen 和虚拟化艺术。在: 操作系统审查 (ACM);2003.

00020. 20.阿里 S. 虚拟化与 Kvm 。在: 实用的 Linux 基础设施:2015.

00021. 21.打开堆栈;访问于 2021 年 1 月 27 日。https://www.openstack.org.

00022. 12M埃斯特拉达 Zj, 斯蒂芬斯 Z, 帕姆 C.虚拟环境中序列对齐软件的性能评估。在: 程序 - 第14届 IEEE/ACM 集群、云和网格计算国际研讨会,CCGrid 2014;2014.

00023. 23.扎巴尔贾雷吉 M. 硬件辅助虚拟化英特尔虚拟化技术。未发表的学生论文。2008;.

00024. 24.高级微设备公司 AMD-V 嵌套寻呼;2008. http://developer.amd.com/wordpress/media/2012/10/NPT-WP-1

00025. 25.安德森·多克2015;

00026. 26.库尔策通用汽车,索查特五世,鲍尔兆瓦。奇点:用于计算移动性的科学容器。一号2017;下午:28494014

· 查看文章

· 酒吧/国家比

· 谷歌学者

00027. 27.特恩布尔 J.码头工人书:集装箱化是新的虚拟化。老化。2014;

00028. 28.布伊 T. 码头安全分析。CoRR. 2015;abs/1501.02967.医学论文发表--

· 查看文章

· 谷歌学者

00029. 29.巴图施 F、 哈努塞克 M、 克鲁格 J. 高性能和云计算的可重复科学工作流程。在: 2019 第 19 届 IEEE/ACM 集群、云和网格计算国际研讨会 (CCGRID):2019. p. 161–164.

00030. 30.克拉克 K, 杨 Y, 马什 R. 比较分析德诺沃转录组件组装。科学中国生命科学。2013;下午:23393031

· 查看文章

· 酒吧/国家比

· 谷歌学者

00031. 31.杨 Y ,史密斯 SA 。优化植物经济学的短读RNA-seq数据的无序组装。BMC基因组学。2013;下午:23672450

· 查看文章

· 酒吧/国家比

· 谷歌学者

00032. 32.鲁法洛 M, 拉弗拉姆博伊斯 T, 科尤特克 M. 下一代测序读对齐算法的比较分析。生物信息学。2011;下午:21856737

· 查看文章

· 酒吧/国家比

· 谷歌学者

00033. 33.切鲁库里 Y, Janga Sc. 纳诺波雷数据的无组件算法基准显示 OLC 方法的最佳性能。BMC基因组学。2016;17 (S7):507.

· 查看文章

· 谷歌学者

00034. 34.莱尼斯 J, 塞纳尔 · 马NUMA 架构上序列对齐器的数据和内存分配策略的性能比较。集群计算。2017;

· 查看文章

· 谷歌学者

00035. 35.拉米雷斯-加尔加洛 G, 加西亚-加苏拉 M, 曼托瓦尼 F. 滕索弗流在最先进的 HPC 集群: 机器学习使用案例.在: 程序 - 第19届 IEEE/ACM 集群、云和网格计算国际研讨会,CCGrid 2019;2019.

00036. 36.库茨纳 C, 阿波斯托洛夫 R, 黑斯 B. 缩放的 Gromacs 4.6 分子动力学代码在超级粘合物。在: 平行计算的进步;2014.

00037. 37.班克维奇A,努尔克S.斯帕德斯:一种新的基因组组装算法及其对单细胞测序的应用。计算生物学杂志。2012;下午:22506599

· 查看文章

· 酒吧/国家比

· 谷歌学者

00038. 38.柴丘普 K, 基蒂托恩昆 S, 通西玛 S. M. Mt - Clustalw: 多读多个序列对齐。在: 第 20 届 IEEE 国际平行和分布式处理研讨会。IE:2006. p. 8-pp.

00039. 39.Orobitg M、 吉拉多 F、 核心 F. 基于生物信息学一致性的多个序列对齐工具的高性能计算改进。并行计算。2015;42:18–34.

· 查看文章

· 谷歌学者

00040. 40.泽维尔MG,内维斯MV,罗西FD。高性能计算环境基于容器的虚拟化绩效评估。在: 2013年第21届欧洲微米国际会议的平行、分布式和基于网络的处理会议,PDP 2013;2013.

00041. 41.阿兰戈 C, 德纳特 R, 萨纳布里亚 J. 高性能计算环境基于容器的虚拟化的性能评估。阿尔西夫预印阿尔西夫:170910140。2017;.

00042. 42.拉琴科GI,阿拉萨姆ABA,切尔尼赫AN.大数据处理中的虚拟化方法比较分析。超级计算前沿和创新。2019;

· 查看文章

· 谷歌学者

00043. 43.哈努塞克 M, 巴图施 F, 克鲁格 J. 可启动: 生物信息学基准工具套件的应用程序和硬件.下一代计算机系统。2020;

· 查看文章

· 谷歌学者

00044. 44.吴 P ,奥特 T ,莫里 J. 安西布尔。2017;

00045. 45.埃德加·RC肌肉:多序列对齐,精度高,吞吐量高。核酸研究。2004;下午:15034147医学论文发表--

· 查看文章

· 酒吧/国家比

· 谷歌学者

00046. 46.诺雷达姆 C, 希金斯 Dg, 赫林加 J. T - 咖啡: 快速和准确的多个序列对齐的新方法。分子生物学杂志。2000;下午:10964570

· 查看文章

· 酒吧/国家比

· 谷歌学者

00047. 47.布鲁克斯 Br, 布鲁克斯 Cl, 麦克雷尔广告。 魅力: 生物分子模拟程序。计算化学杂志。2009;下午:19444816

· 查看文章

· 酒吧/国家比

· 谷歌学者

00048. 48.D 一个案子, K · 贝尔方, 我 Y 本 · 沙洛姆。琥珀色;2020. https://ambermd.org.

00049. 49.帕斯克 A, 格罗斯 S, 马萨 F. 皮托奇: 一个势在必行的风格, 高性能的深度学习图书馆。阿尔西夫:191201703。2019;.

00050. 50.克雷格·文特尔 J,亚当斯·梅德人类基因组的序列。科学。2001;

· 查看文章

· 谷歌学者

00051. 51.泽比诺博士, 伯尼 E. 天鹅绒: 使用德布鲁因图表进行德诺沃短读装配的算法。基因组研究。2008;下午:18349386

· 查看文章

· 酒吧/国家比

· 谷歌学者

00052. 52.彭 Y ,梁 HCM 。IDBA-UD:单细胞和元基因组测序数据的无声调组装器,深度极不均匀。生物信息学。2012;

· 查看文章

· 谷歌学者

00053. 53.梅德韦杰夫 P, 帕姆 S, 柴森 M. 配对德布鲁因图表: 将伴侣对信息纳入基因组组装器的新方法。内容:计算机科学讲座(包括人工智能子系列讲座笔记和生物信息学讲座笔记):2011.

00054. 54.尼科连科·西、科罗别尼科夫·艾、阿列克谢耶夫·马。贝叶斯哈默:贝叶斯聚类,用于单细胞测序中的误差校正。BMC基因组学。2013;下午:23368723

· 查看文章

· 酒吧/国家比

· 谷歌学者

00055. 55.DW 山。生物信息学-序列和基因组分析。化学信息与建模杂志。2013;

· 查看文章

· 谷歌学者

00056. 56.布什内尔 B. Bbmap;2015. https://sourceforge.net/projects/bbmap/.

00057. 57.玛丽·朗阅读RNA-塞克映茂图;2015. http://bib.irb.hr/datoteka/773708.Josip_Maric_diplomski.pdf.

00058. 58.朗米德 B, 萨尔茨伯格 Sl. 快速加读与鲍蒂 2 对齐。自然方法。2012;下午:22388286

· 查看文章

· 酒吧/国家比

· 谷歌学者

00059. 59.李 H , 德宾 R. 快速准确的长读对齐与布伦斯 - 惠勒转换。生物信息学。2010;下午:20080505

· 查看文章

· 酒吧/国家比

· 谷歌学者

00060. 60.费拉吉纳 P, 曼齐尼 G. 机会主义数据结构与应用程序。2002;

· 查看文章

· 谷歌学者

00061. 61.李 H, 德宾 R. 快速准确的短读对齐与布伦斯 - 惠勒转换。生物信息学。2009;下午:19451168

· 查看文章

· 酒吧/国家比

· 谷歌学者

00062. 62.李 H. 对齐序列读取、克隆序列和与 BWA-MEM 的组装连续体。阿尔西夫预印阿尔西夫13033997。2013;.

00063. 63.李 H. 探索单样本 snp 和英德尔调用全基因组 de novo 组装。生物信息学。2012;下午:22569178

· 查看文章

· 酒吧/国家比

· 谷歌学者

00064. 54M巴沃诺 P, 迪克斯特拉 M, 皮罗瓦诺 W. 多个序列对齐。在:分子生物学的方法:2017.医学论文发表--

· 查看文章

· 谷歌学者

00065. 65.西弗斯 F, 希金斯 Dg 。克卢斯塔尔欧米茄。生物信息学的当前议定书。2014;下午:25501942

· 查看文章

· 酒吧/国家比

· 谷歌学者

00066. 66.西弗斯 F, 希金斯 Dg 。粘贴欧米茄,非常大数量的序列的精确对齐。在:分子生物学的方法:2014. p. 105-116.提供自: http://link.springer.com/10.1007/978-1-62703-646-7_6.下午:24170397

· 查看文章

· 酒吧/国家比

· 谷歌学者

00067. 67.亚瑟 D, 瓦西尔维茨基 S. k 手段 +: 小心播种的好处。第十八届ACM-SIAM离散算法年度研讨会的会议。2007;.

00068. 68.通过 HMM-HMM 比较检测出 Söding J. 蛋白质同源性。生物信息学。2005;下午:15531603

· 查看文章

· 酒吧/国家比

· 谷歌学者

00069. 69.筛子F,威尔姆A,迪宁D.快速,可扩展的一代高品质蛋白质多序列对齐使用Clustal欧米茄。分子系统生物学。2011;下午:21988835

· 查看文章

· 酒吧/国家比

· 谷歌学者

00070. 70.卡托 K, 米萨瓦 K, 库马基。MAFFT:基于快速傅立诺转换的快速多序列对齐的新方法。核酸研究。2002;下午:12136088

· 查看文章

· 酒吧/国家比

· 谷歌学者

00071. 71.卡托 K, 库马 Ki, 托 H. 马夫特版本 5: 提高多个序列对齐的精度。核酸研究。2005;

· 查看文章

· 谷歌学者

00072. 72.卡托 K, 托赫MAFFT 多序列对齐计划的最新发展。生物信息学简报。2008;下午:18372315

· 查看文章

· 酒吧/国家比

· 谷歌学者

00073. 73.卡托 K, 托 H. MAFFT 多个序列对齐程序的平行化。生物信息学。2010;26(15):1899–1900.

· 查看文章

· 谷歌学者

00074. 74.Katoh K, 斯坦德利 Dm. Mafft 多个序列对齐软件版本 7: 性能和可用性的改进。分子生物学与进化。2013;下午:23329690

· 查看文章

· 酒吧/国家比

· 谷歌学者

00075. 75.普鲁塞 E, 佩普利斯 J, 格吕克纳 Fo. 新浪: 精确的高通量多个序列对齐核糖核酸RNA基因。生物信息学。2012;下午:22556368

· 查看文章

· 酒吧/国家比

· 谷歌学者

00076. 76.夸斯特 C, 普鲁塞 E, 耶尔马兹 P.席尔瓦核糖核化基因数据库项目:改进数据处理和基于 Web 的工具。核酸研究。2013;下午:23193283

· 查看文章医学论文发表--

· 酒吧/国家比

· 谷歌学者

00077. 77.李 C, 格拉索 C, 沙洛 Mf 。使用部分顺序图进行多个序列对齐。生物信息学。2002;下午:11934745

· 查看文章

· 酒吧/国家比

· 谷歌学者

00078. 78.路德维希W,斯特伦克O,韦斯特拉姆。ARB:序列数据的软件环境。核酸研究。2004;下午:14985472

· 查看文章

· 酒吧/国家比

· 谷歌学者

00079. 79.亚伯拉罕MJ,默托拉T.格罗马克斯:高性能分子模拟通过多层次并行从笔记本电脑到超级计算机。软件X.2015;

· 查看文章

· 谷歌学者

00080. 80.达登 T, 约克 D, 佩德森 L. 粒子网格埃瓦尔德: 一个 N 日志 (N) 方法为埃瓦尔德总和在大系统。化学物理杂志。1993;

· 查看文章

· 谷歌学者

00081. 81.谷歌研究。天梭流:在异构系统上进行大规模机器学习。谷歌研究。2015;

00082. 82.西法尔-10;访问时间:2020年2月11日。https://www.tensorflow.org/tutorials/images/cnn.

00083. 83.何K,孙J.卷积神经网络在有限的时间成本。内容:IEEE计算机学会计算机视觉与模式识别会议进程:2015.

00084. 84.自动 A, 萨尔塞多 T.1000个基因组计划。在:评估复杂特征的罕见变异:基因研究的设计和分析:2015.

00085. 85.莱诺宁 R, 苏加瓦拉 H, 顺威 M.序列读取存档。核酸研究。2011;

· 查看文章

· 谷歌学者

00086. 86.赛耶斯 · 埃夫, 卡瓦诺 M, 克拉克 · 根班克核酸研究。2019;下午:30365038

· 查看文章

· 酒吧/国家比

· 谷歌学者

00087. 87.伯恩斯坦 Hc, 布里斯劳恩 Cj, 达娜 K. 初级和异营养素生产力与超盐垫中的多体多样性有关。2017;

· 查看文章

· 谷歌学者

00088. 88.赫斯 B , 库茨纳 C , 范德斯波尔。GROMACS 4:用于高效、负载平衡和可扩展分子仿真的算法。化学理论与计算杂志。2008;下午:26620784

· 查看文章

· 酒吧/国家比

· 谷歌学者

00089. 89.佩尔 S, 赫斯 B.用于计算 SIMD 架构上的对交互的灵活算法。计算机物理通信。2013;

· 查看文章

· 谷歌学者

 
上一篇:《食品安全质量检测学报》杂志期刊论文发表

下一篇:《读与写》杂志论文发表-初中足球课"以赛代练"
咨询方式

 ---->>学术源论文咨询发表网
 ---->>咨询QQ:854727998 
 ---->>电话:
   
13889158687(微信同号)

 ---->>邮箱:lunwen133@163.com
投稿写明所投期刊,3日内回复.五日未回复可电话咨询。

工作时间:8:00-17:00   周六值班、周日休息,国家法定假日休息

学术焦点 更多>>

《健康必读》省级医学月刊 当月发
《医药前沿》国家级医学月刊 ISS
《中国健康月刊》国家医学月刊-是
《才智》省级教育类月刊-CN22-13
《商情教育经济研究》省级教育类月
《考试周刊》省级教育类月刊/国内
《科教导刊》省级教育类旬刊 ISS
《文艺生活》省级教育类月刊 ISS
学术推荐 更多>>

《中小学电教

     《中小学电教》:省教育厅主管,省电教馆主办。国内统一刊号:C

《文艺生活》

     《文艺生活》杂志是经中华人民共和国新闻出版总署批准,由湖南省

《黑龙江科技

     《黑龙江科技信息》杂志是经国家科技部和国家新闻出版总署批准在
首页   -   关于我们   -   联系我们   -   发表流程   -   网站声明   -   在线投稿   -   友情链接

咨询电话 13889158687(微信同号)  QQ咨询:854727998


投稿邮箱:lunwen133@163.com
学术源论文发表咨询网 www.xueshuyuang.com  备案号:
闽ICP备2021001903号-2
版权所有  学术源论文发表咨询网