Massively Parallel Implementation of Sequence Alignment with Basic Local Alignment Search Tool Using Parallel Computing in Java Library

Massively Parallel Implementation of Sequence Alignment with Basic Local Alignment Search Tool Using Parallel Computing in Java Library
复制标题

DOI:
10.1089/cmb.2018.0079
复制
发表时间:
2018-07-13
影响因子:
1.7
通讯作者:
Bala, Piotr
Bala, Piotr
中科院分区:
生物学4区
文献类型:
--
作者:
Nowicki, Marek;Bzhalava, Davit;Bala, Piotr

文献摘要

被引文献

相似文献

BLAST (Basic Local Alignment Search Tool)是研究人员进行序列比对分析的重要算法。国家生物技术信息中心(NCBI)-BLAST应用程序是BLAST算法最流行的实现。它可以在单个多线程节点上运行。然而,随着核苷酸和蛋白质数据量的快速增长,单个节点的数据量不足。开发高性能的计算解决方案,以帮助研究人员以快速和可扩展的方式分析遗传数据变得越来越重要。本文介绍了BLAST算法在高性能计算(HPC)集群和超级计算机上以使用数千个处理器的大规模并行方式执行。利用Java并行计算(PCJ)库实现了输入查询的最佳分割、工作分配和搜索管理。它与未修改的NCBI-BLAST包一起使用,这对用户来说是一个额外的优势。结果应用程序pcj - blast负责读取序列进行比较,将其拆分并启动多个NCBI-BLAST可执行文件。由于I/O性能可能会限制序列分析的性能,因此本文对这个问题进行了研究。结果表明,使用Java和PCJ库可以实现数百个节点的并行序列分析。我们取得了优异的性能和效率,并大大减少了序列分析所需的时间。我们的工作也证明了PCJ库可以作为快速开发可扩展应用程序的有效工具。
Basic Local Alignment Search Tool (BLAST) is an essential algorithm that researchers use for sequence alignment analysis. The National Center for Biotechnology Information (NCBI)-BLAST application is the most popular implementation of the BLAST algorithm. It can run on a single multithreading node. However, the volume of nucleotide and protein data is fast growing, making single node insufficient. It is more and more important to develop high-performance computing solutions, which could help researchers to analyze genetic data in a fast and scalable way. This article presents execution of the BLAST algorithm on high performance computing (HPC) clusters and supercomputers in a massively parallel manner using thousands of processors. The Parallel Computing in Java (PCJ) library has been used to implement the optimal splitting up of the input queries, the work distribution, and search management. It is used with the nonmodified NCBI-BLAST package, which is an additional advantage for the users. The result applicationPCJ-BLASTis responsible for reading sequence for comparison, splitting it up and starting multiple NCBI-BLAST executables. Since I/O performance could limit sequence analysis performance, the article contains an investigation of this problem. The obtained results show that using Java and PCJ library it is possible to perform sequence analysis using hundreds of nodes in parallel. We have achieved excellent performance and efficiency and we have significantly reduced the time required for sequence analysis. Our work also proved that PCJ library could be used as an effective tool for fast development of the scalable applications.