This Article 
 Bibliographic References 
 Add to: 
Fast Parallel Markov Clustering in Bioinformatics Using Massively Parallel Computing on GPU with CUDA and ELLPACK-R Sparse Format
May-June 2012 (vol. 9 no. 3)
pp. 679-692
N. A. Hamilton, Inst. for Mol. Biosci., Univ. of Queensland, St. Lucia, QLD, Australia
K. Burrage, Comput. Lab., Oxford Univ., Oxford, UK
A. Bustamam, Dept. of Math., Univ. of Indonesia, Depok, Indonesia
Markov clustering (MCL) is becoming a key algorithm within bioinformatics for determining clusters in networks. However, with increasing vast amount of data on biological networks, performance and scalability issues are becoming a critical limiting factor in applications. Meanwhile, GPU computing, which uses CUDA tool for implementing a massively parallel computing environment in the GPU card, is becoming a very powerful, efficient, and low-cost option to achieve substantial performance gains over CPU approaches. The use of on-chip memory on the GPU is efficiently lowering the latency time, thus, circumventing a major issue in other parallel computing environments, such as MPI. We introduce a very fast Markov clustering algorithm using CUDA (CUDA-MCL) to perform parallel sparse matrix-matrix computations and parallel sparse Markov matrix normalizations, which are at the heart of MCL. We utilized ELLPACK-R sparse format to allow the effective and fine-grain massively parallel processing to cope with the sparse nature of interaction networks data sets in bioinformatics applications. As the results show, CUDA-MCL is significantly faster than the original MCL running on CPU. Thus, large-scale parallel computation on off-the-shelf desktop-machines, that were previously only possible on supercomputing architectures, can significantly change the way bioinformaticians and biologists deal with their data.

[1] S.V. Dongen, "Graph Clustering via a Discrete Uncoupling Process," SIAM J. Matrix Analysis and Applications, vol. 30, no. 1, pp. 121-141, 2008.
[2] A. Enright, S. van Dongen, and C. Ouzounis, "An Efficient Algorithms for Large Scale Protein Families," Nucleic Acids Research, vol. 30, pp. 1575-1584, 2002.
[3] T. Harlow, J. Gogarten, and M. Ragan, "A Hybrid Clustering Approach to Recognize of Protein Families in 114 Microbial Genomes," BMC Bioinformatics, vol. 5, article 45, 2004.
[4] S. Wong and M.A. Ragan, "MACHOS: Markov Clusters of Homologous Subsequences," Bioinformatics, vol. 24, no. 13, pp. i77-i85, 2008.
[5] S. Brohée and J. van Helden, "Evaluation of Clustering Algorithms for Protein-Protein Interaction Networks," BMC Bioinformatics, vol. 7, article 488, 2006.
[6] R. Sharan, I. Ulitsky, and R. Shamir, "Network-Based Prediction of Protein Function," Molecular System Biology, vol. 3, article 88, 2007.
[7] J. Vlasblom and S.J. Wodak, "Markov Clustering versus Affinity Propagation for the Partitioning of Protein Interaction Graphs," BMC Bioinformatics, vol. 10, article 99, 99, Sept. 2009.
[8] A. Bustamam, M.S. Sehgal, N. Hamilton, S. Wong, M.A. Ragan, and K. Burrage, "An Efficient Parallel Implementation of Markov Clustering Algorithm for Large-Scale Protein-Protein Interaction Networks that Uses MPI," Proc. Fifth IMT-GT Int'l Conf. Math., Statistics, and their Applications (ICMSA), pp. 94-101, June 2009.
[9] NVIDIA. CUDA zone, _home.html , 2009.
[10] S.A. Manavski and G. Valle, "CUDA Compatible GPU Cards as Efficient Hardware Accelerators for Smith-Waterman Sequence Alignment," BMC Bioinformatics, vol. 9, no. Suppl. 2, article S10, S2S10, 2008.
[11] S. Jung, "Parallelized Pairwise Sequence Alignment Using CUDA on Multiple GPUs," BMC Bioinformatics, vol. 10, no. Suppl. 7, article A3, S7A3, 2009.
[12] W. Liu, B. Schmidt, G. Voss, A. Schroder, and W. Muller-Wittig, "Bio-Sequence Database Scanning on a GPU," Proc. 20th Int'l Conf. Parallel and Distributed Processing (IPDPS '06) http://www. , 2006.
[13] M.A. Suchard and A. Rambaut, "Many-Core Algorithms for Statistical Phylogenetics," Bioinformatics, vol. 15, no. 11, pp. 1370-1376, Apr. 2009.
[14] R. Hussong, B. Gregorius, A. Tholey, and A. Hildebrandt, "Highly Accelerated Feature Detection in Proteomics Data Sets Using Modern Graphics Processing Units," Bioinformatics, vol. 25, no. 15, pp. 1937-1943, 2009.
[15] M.S. Friedrichs, P. Eastman, V. Vishal, M. Houston, S. Legrand, A.L. Beberg, D.L. Ensign, C.M. Bruns, and V.S. Pande, "Accelerating Molecular Dynamic Simulation on Graphics Processing Units," J. Computational Chemistry, vol. 30, no. 6, pp. 864-872, 2009.
[16] J.W. Pitera, "Current Developments in and Importance of High-Performance Computing in Drug Discovery," Current Opinion in Drug Discovery and Development, vol. 12, no. 3, pp. 388-396, cd-1002727.pdf, 2009.
[17] C. Boyd, "Data-Parallel Computing," ACM Queue, vol. 6, no. 2, pp. 30-39, 2008.
[18] T.P. Chen and Y.-K. Chen, "Challenges and Opportunities of Obtaining Performance from Multi-Core CPUs and Many-Core GPUs," IEEE Int'l Conf. Acoustics, Speech, and Signal Processing, pp. 613-616, 2009.
[19] K. Fatahalian and M. Houston, "GPUs: A Closer Look," ACM Queue, vol. 6, no. 2, pp. 18-28, 2008.
[20] D.B. Kirk, W. mei, and W. Hwu, Programming Massively Parallel Processors: A Hands-on Approach, first ed., John Wiley & Sons Ltd, 2010.
[21] H. Sutter and J. Larus, "Software and the Concurrency Revolution," Queue, vol. 3, no. 7, pp. 54-62, 2005.
[22] NVIDIA Coorporation, NVIDIA CUDA Programming Guide, Version 3.1.1, July 2010.
[23] NVIDIA Coorporation, NVIDIA CUDA Programming Guide, Version 2.3.1, Aug. 2009.
[24] J. Nickolls and W.J. Dally, "The GPU Computing Era," IEEE Micro, vol. 30, no. 2, pp. 56-69, Mar./Apr. 2010.
[25] J. Nickolls, I. Buck, M. Garland, and K. Skadron, "Scalable Parallel Programming with CUDA," ACM Queue, vol. 6, no. 2, pp. 40-53, 2008.
[26] Y. Liu, B. Schmidt, and D.L. Maskell, "MSA-CUDA: Multiple Sequence Alignment on Graphics Processing Units with CUDA," Proc. IEEE Int'l Conf. Application-Specific System, Architecture and Processors (ASAP), pp. 121-128, 2009.
[27] E. Lindholm, J. Nickolls, S. Oberman, and J. Montrym, "NVIDIA Tesla: A Unified Graphics and Computing Architecture," IEEE Micro, vol. 28, no. 2, pp. 39-55, Mar./Apr. 2008.
[28] T. Galitski, "Molecular Networks in Model Systems," Ann. Rev. of Genomics Human Genetics, vol. 5, pp. 177-187, 2004.
[29] C. Stark, B. Breitkreutz, T. Reguly, L. Boucher, A. Breitkreutz, and M. Tyers, "Biogrid: A General Repository for Interaction Data Sets," Nucleic Acids Research, vol. 34, pp. D535-D539, 2006.
[30] B. Schwikowski, P. Uetz, and S. Fields, "A Network of Protein-Protein Interactions in Yeast," Nature Biotechnology, vol. 18, pp. 1257-1281, 2000.
[31] A. Thomas, R. Cannings, N. Monk, and C. Cannings, "On the Structure of Protein-Protein Interaction Networks," Biochemical Soc. Trans., vol. 31, pp. 1491-1496, 2003.
[32] C. Lin, Y.-R. Cho, W.-C. Hwang, P. Pei, and A. Zhang, "Clustering Methods in a Protein Protein Interaction Network," Knowledge Discovery in Bioinformatics: Techniques, Methods, and Applications, X. Hu and Y. Pan, eds., chapter 16, pp. 319-355, Wiley-Interscience, 2007.
[33] S. Altschul, W. Gish, W. Miller, E. Myres, and D. Lipman, "Basic Local Alignment Search Tool," J. Molecular Biology, vol. 215, pp. 403-410, 1990.
[34] T. Smith and M. Waterman, "Identification of Common Molecular Subsequences," J. Molecular Biology, vol. 147, pp. 195-197, 1981.
[35] W. Pearson, "Searching Protein Sequence Libraries: Comparison of the Sensitivity and Selectivity of the Smith-Waterman and Fasta Algorithms," Genomics, vol. 11, pp. 635-650, 1991.
[36] X. Huang et al., "A Space-Efficient Algorithm for Local Similarities," Computer Applications in the Biosciences, vol. 6, pp. 373-381, 1990.
[37] Y. Saad, "Sparsekit: A Basic Tool Kit for Sparse Matrix Computations," technical report, Version 2, Computer Science Dept., Univ. of Minnesota, 1994.
[38] F. Vázquez, E. Garzón, J. Martínez, and J. Fernández, "Accelerating Sparse Matrix Vector Product with GPUs," Proc. Ninth Int'l Conf. Computational and Math. Methods in Science and Eng. (CMMSE), 2009.
[39] N. Bell and M. Garlandy, "Efficient Sparse Matrix-Vector Multiplication on CUDA," Technical Report NVR-2008-004, NVIDIA Coorporation, Dec. 2008.
[40] F. Vázquez, G. Ortega, J. Fernández, and E. Garzón, "Improving the Performance of the Sparse Matrix Vector Product with GPUs," Proc. 10th IEEE Int'l Conf. Computer and Information Technology (CIT '10), 2010.
[41] T.S.K. Prasad et al., "Human Protein Reference Database—2009 Update," Nucleic Acids Research, vol. 37, pp. D767-D772, 2009.
[42] S. Peri et al., "Development of Human Protein Reference Database as an Initial Platform for Approaching Systems Biology in Humans," Genome Research, vol. 13, pp. 2363-2371, 2003.

Index Terms:
parallel architectures,bioinformatics,graphics processing units,large-scale systems,Markov processes,supercomputing architectures,fast parallel Markov clustering,bioinformatics,ELLPACK-R sparse format,biological networks,critical limiting factor,GPU computing,CUDA tool,massively parallel computing environment,on-chip memory,fast Markov clustering algorithm,parallel sparse matrix-matrix computations,parallel sparse Markov matrix normalizations,fine-grain massively parallel processing,interaction networks data sets,large-scale parallel computation,off-the-shelf desktop-machines,Graphics processing unit,Proteins,Instruction sets,Bioinformatics,Parallel processing,Multicore processing,Markov processes,bioinformatics.,Markov clustering,graphs and networks,GPU computing,PPI networks,CUDA,ELLPACK-R sparse format,scalable parallel programming,parallelism and concurrency,performance evaluation
N. A. Hamilton, K. Burrage, A. Bustamam, "Fast Parallel Markov Clustering in Bioinformatics Using Massively Parallel Computing on GPU with CUDA and ELLPACK-R Sparse Format," IEEE/ACM Transactions on Computational Biology and Bioinformatics, vol. 9, no. 3, pp. 679-692, May-June 2012, doi:10.1109/TCBB.2011.68
Usage of this product signifies your acceptance of the Terms of Use.