Serial and parallel implementation of Needleman-Wunsch algorithm

Needleman-Wunsch dynamic programming algorithm measures the similarity of the pairwise sequence and finds the optimal pair given the number of sequences. The task becomes nontrivial as the number of sequences to compare or the length of sequences increases. This research aims to parallelize the computation involved in the algorithm to speed up the performance using CUDA. However, there is a data dependency issue due to the property of a dynamic programming algorithm. As a solution, this research introduces the heterogeneous anti-diagonal approach, which benefits from the interaction between the serial implementation on CPU and the parallel implementation on GPU. We then measure and compare the computation time between the proposed approach and a straightforward serial approach that uses CPU only. Measurements of computation times are performed under the same experimental setup and using various pairwise sequences at different lengths. The experiment showed that the proposed approach outperforms the serial method in terms of computation time by approximately three times. Moreover, the computation time of the proposed heterogeneous anti-diagonal approach increases gradually despite the big increments in sequence length, whereas the computation time of the serial approach grows rapidly.

[1]  Valery Polyanovsky,et al.  Comparative analysis of the quality of a global algorithm and a local algorithm for alignment of two sequences , 2011, Algorithms for Molecular Biology.

[2]  T. R. P. Siriwardena,et al.  Accelerating global sequence alignment using CUDA compatible multi-core GPU , 2010, 2010 Fifth International Conference on Information and Automation for Sustainability.

[3]  Jan-Peter Nap,et al.  pyPaSWAS: Python-based multi-core CPU and GPU sequence alignment , 2018, PloS one.

[4]  Kevin Skadron,et al.  A performance study of general-purpose applications on graphics processors using CUDA , 2008, J. Parallel Distributed Comput..

[5]  Giorgio Valle,et al.  CUDA compatible GPU cards as efficient hardware accelerators for Smith-Waterman sequence alignment , 2008, BMC Bioinformatics.

[6]  Jeffrey S. Vetter,et al.  A Survey of CPU-GPU Heterogeneous Computing Techniques , 2015, ACM Comput. Surv..

[7]  Max Grossman,et al.  Professional CUDA C Programming , 2014 .

[8]  John K. Antonio,et al.  Software support for heterogeneous computing , 1996, CSUR.

[9]  Khoirudin,et al.  GPU APPLICATION IN CUDA MEMORY , 2015 .

[10]  KimChangkyu,et al.  Debunking the 100X GPU vs. CPU myth , 2010 .

[11]  Christus,et al.  A General Method Applicable to the Search for Similarities in the Amino Acid Sequence of Two Proteins , 2022 .

[12]  W. Pearson Searching protein sequence libraries: comparison of the sensitivity and selectivity of the Smith-Waterman and FASTA algorithms. , 1991, Genomics.

[13]  Kim M. Hazelwood,et al.  Where is the data? Why you cannot debate CPU vs. GPU performance without the answer , 2011, (IEEE ISPASS) IEEE INTERNATIONAL SYMPOSIUM ON PERFORMANCE ANALYSIS OF SYSTEMS AND SOFTWARE.

[14]  Jeffrey S. Vetter,et al.  Opportunities for Nonvolatile Memory Systems in Extreme-Scale High-Performance Computing , 2015, Computing in Science & Engineering.

[15]  T. Adiku,et al.  Bioinformatics with basic local alignment search tool (BLAST) and fast alignment (FASTA) , 2014 .

[16]  H. M. Faheem,et al.  Accelerating Pairwise DNA Sequence Alignment using the CUDA Compatible GPU , 2013 .

[17]  Bo Chen,et al.  A New Parallel Method of Smith-Waterman Algorithm on a Heterogeneous Platform , 2010, ICA3PP.

[18]  Tsuyoshi Hamada,et al.  A parameterisable and scalable Smith-Waterman algorithm implementation on CUDA-compatible GPUs , 2009, 2009 IEEE 7th Symposium on Application Specific Processors.

[19]  John E. Stone,et al.  OpenCL: A Parallel Programming Standard for Heterogeneous Computing Systems , 2010, Computing in Science & Engineering.

[20]  Yao Zhang,et al.  Parallel Computing Experiences with CUDA , 2008, IEEE Micro.

[21]  E. Myers,et al.  Basic local alignment search tool. , 1990, Journal of molecular biology.

[22]  M S Waterman,et al.  Identification of common molecular subsequences. , 1981, Journal of molecular biology.

[23]  Ravie Chandren Muniyandi,et al.  Review of GPU implementation to process of RNA sequence on cancer , 2018 .

[24]  Sara El-Metwally,et al.  Next Generation Sequencing Technologies and Challenges in Sequence Assembly , 2014, SpringerBriefs in Systems Biology.

[25]  Zaid Al-Ars,et al.  Correction to: GASAL2: a GPU accelerated sequence alignment library for high-throughput NGS data , 2019, BMC Bioinformatics.

[26]  Che-Lun Hung,et al.  CUDA ClustalW: An efficient parallel algorithm for progressive multiple sequence alignment on Multi-GPUs , 2015, Comput. Biol. Chem..

[27]  S. Begum,et al.  Sequence Alignment , 2018, Beginners Guide to Bioinformatics for High Throughput Sequencing.

[28]  Mahmoud Al-Ayyoub,et al.  Improving the performance of the needleman-wunsch algorithm using parallelization and vectorization techniques , 2017, Multimedia Tools and Applications.

[29]  Mahmoud Al-Ayyoub,et al.  Accelerating Needleman-Wunsch global alignment algorithm with GPUs , 2015, 2015 IEEE/ACS 12th International Conference of Computer Systems and Applications (AICCSA).