PLoS ONE (Jan 2018)

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

DOI
https://doi.org/10.1371/journal.pone.0190279
Journal volume & issue
Vol. 13, no. 1
p. e0190279

Abstract

Read online

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.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.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.