pyPaSWAS: Python-based multi-core CPU and GPU sequence alignment

Sven Warris, N Roshan N Timal, Marcel Kempenaar, Arne M Poortinga, Henri van de Geest, Ana L Varbanescu, Jan-Peter Nap

Research output: Contribution to journalArticleAcademicpeer-review

Abstract

BACKGROUND: Our previously published CUDA-only application PaSWAS for Smith-Waterman (SW) sequence alignment of any type of sequence on NVIDIA-based GPUs is platform-specific and therefore adopted less than could be. The OpenCL language is supported more widely and allows use on a variety of hardware platforms. Moreover, there is a need to promote the adoption of parallel computing in bioinformatics by making its use and extension more simple through more and better application of high-level languages commonly used in bioinformatics, such as Python.

RESULTS: The novel application pyPaSWAS presents the parallel SW sequence alignment code fully packed in Python. It is a generic SW implementation running on several hardware platforms with multi-core systems and/or GPUs that provides accurate sequence alignments that also can be inspected for alignment details. Additionally, pyPaSWAS support the affine gap penalty. Python libraries are used for automated system configuration, I/O and logging. This way, the Python environment will stimulate further extension and use of pyPaSWAS.

CONCLUSIONS: pyPaSWAS presents an easy Python-based environment for accurate and retrievable parallel SW sequence alignments on GPUs and multi-core systems. The strategy of integrating Python with high-performance parallel compute languages to create a developer- and user-friendly environment should be considered for other computationally intensive bioinformatics algorithms.

Original languageEnglish
Article numbere0190279
Number of pages9
JournalPLOS one
Volume13
Issue number1
DOIs
Publication statusPublished - 1 Jan 2018

    Fingerprint

Keywords

  • bioinformatics
  • software development
  • performance analysis

Cite this

Warris, S., Timal, N. R. N., Kempenaar, M., Poortinga, A. M., van de Geest, H., Varbanescu, A. L., & Nap, J-P. (2018). pyPaSWAS: Python-based multi-core CPU and GPU sequence alignment. PLOS one, 13(1), [e0190279]. https://doi.org/10.1371/journal.pone.0190279