BulkAligner: A novel sequence alignment algorithm based on graph theory and Trinity

Junsu Lee, Yunku Yeu, Hongchan Roh, Youngmi Yoon, Sanghyun Park

Research output: Contribution to journalArticlepeer-review

5 Citations (Scopus)

Abstract

Sequence alignment is a widely-used tool in genomics. With the development of next generation sequencing (NGS) technology, the production of sequence read data has recently increased. A number of read alignment algorithms for handling NGS data have been developed. However, these algorithms suffer from a trade-off between the throughput and alignment quality, due to the large computational costs for processing repeat reads. Conversely, alignment algorithms with distributed systems such as Hadoop and Trinity can obtain a better throughput than existing algorithms on single machine without compromising the alignment quality. In this paper, we suggest BulkAligner, a novel sequence alignment algorithm on the graph-based in-memory distributed system Trinity. We covert the original reference sequence into graph form and perform sequence alignment by finding the longest paths on the graph. Our experimental results show that BulkAligner has at least an 1.8× and up to 57× better throughput with the same, or higher quality than existing algorithms with Hadoop. We analyze the scalability and show that we can obtain a better throughput by simply adding machines.

Original languageEnglish
Pages (from-to)120-133
Number of pages14
JournalInformation sciences
Volume303
DOIs
Publication statusPublished - 2015 May 10

Bibliographical note

Publisher Copyright:
© 2015 Elsevier Inc. All rights reserved.

All Science Journal Classification (ASJC) codes

  • Software
  • Control and Systems Engineering
  • Theoretical Computer Science
  • Computer Science Applications
  • Information Systems and Management
  • Artificial Intelligence

Fingerprint

Dive into the research topics of 'BulkAligner: A novel sequence alignment algorithm based on graph theory and Trinity'. Together they form a unique fingerprint.

Cite this