Parallel computing for genome sequence processing

Brief Bioinform. 2021 Sep 2;22(5):bbab070. doi: 10.1093/bib/bbab070.

Abstract

The rapid increase of genome data brought by gene sequencing technologies poses a massive challenge to data processing. To solve the problems caused by enormous data and complex computing requirements, researchers have proposed many methods and tools which can be divided into three types: big data storage, efficient algorithm design and parallel computing. The purpose of this review is to investigate popular parallel programming technologies for genome sequence processing. Three common parallel computing models are introduced according to their hardware architectures, and each of which is classified into two or three types and is further analyzed with their features. Then, the parallel computing for genome sequence processing is discussed with four common applications: genome sequence alignment, single nucleotide polymorphism calling, genome sequence preprocessing, and pattern detection and searching. For each kind of application, its background is firstly introduced, and then a list of tools or algorithms are summarized in the aspects of principle, hardware platform and computing efficiency. The programming model of each hardware and application provides a reference for researchers to choose high-performance computing tools. Finally, we discuss the limitations and future trends of parallel computing technologies.

Keywords: cluster computing; genome sequence processing; heterogeneous computing; multi-core computing; parallel computing.

Publication types

  • Research Support, Non-U.S. Gov't
  • Review

MeSH terms

  • Algorithms
  • Base Sequence / genetics
  • Chromosome Mapping / methods
  • Electronic Data Processing / methods*
  • Genome, Human*
  • Genomics / methods*
  • High-Throughput Nucleotide Sequencing / methods
  • Humans
  • Information Storage and Retrieval
  • Polymorphism, Single Nucleotide*
  • Sequence Alignment / methods*
  • Software
  • Whole Genome Sequencing / methods