Parallel Cache Efficient Algorithm and Implementation of Needleman-Wunsch Global Sequence Alignment

An approach allowing us to improve the locality of a parallel Needleman-Wunsch (NW) global sequence alignment algorithm is proposed. The original NW algorithm works with an arbitrary gap penalty function and examines all possible gap lengths. To compute the score of an element of an NW array, cells gap symbols are looked back over entire row and column as well as one adjacent cell. We modified the NW algorithm so to read cells only with the row-major order by means of forming a copy of the transposed scoring array. The loop skewing technique is used to generate parallel code. A formal parallel NW algorithm is presented. Experimental results demonstrate super-linear speed-up factor of the accelerated code due to considerable increasing code locality on a studied modern multi-core platform.

[1]  S. B. Needleman,et al.  A general method applicable to the search for similarities in the amino acid sequence of two proteins. , 1970, Journal of molecular biology.

[2]  Uday Bondhugula,et al.  A practical automatic polyhedral parallelizer and locality optimizer , 2008, PLDI '08.

[3]  Marek Palkowski,et al.  Perfectly Nested Loop Tiling Transformations Based on the Transitive Closure of the Program Dependence Graph , 2014, ACS.

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

[5]  Michael Wolfe,et al.  Loops skewing: The wavefront method revisited , 1986, International Journal of Parallel Programming.

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

[7]  Sartaj Sahni,et al.  Cache and energy efficient algorithms for Nussinov’s RNA Folding , 2017, BMC Bioinformatics.

[8]  Ming Ouyang,et al.  Accelerating the Nussinov RNA folding algorithm with CUDA/GPU , 2010, The 10th IEEE International Symposium on Signal Processing and Information Technology.

[9]  Sartaj Sahni,et al.  Cache and energy efficient alignment of very long sequences , 2015, 2015 IEEE 5th International Conference on Computational Advances in Bio and Medical Sciences (ICCABS).

[10]  Nuno Roma,et al.  A Parallel Programming Framework for Multi-core DNA Sequence Alignment , 2010, 2010 International Conference on Complex, Intelligent and Software Intensive Systems.

[11]  Sartaj Sahni,et al.  Multicore and GPU algorithms for Nussinov RNA folding , 2014, BMC Bioinformatics.

[12]  Marek Palkowski,et al.  TRACO: An automatic loop nest parallelizer for numerical applications , 2015, 2015 Federated Conference on Computer Science and Information Systems (FedCSIS).

[13]  D. Lipman,et al.  Rapid and sensitive protein similarity searches. , 1985, Science.