Technische Universit¨At M¨Unchen, Universit¨Atsbibliothek, 2004
Total Page:16
File Type:pdf, Size:1020Kb
TECHNISCHE UNIVERSITAT¨ MUNCHEN¨ Lehrstuhl f¨urRechnertechnik und Rechnerorganisation / Parallelrechnerarchitektur Algorithms and Computer Architectures for Evolutionary Bioinformatics Nikolaos Ch. Alachiotis Vollst¨andiger Abdruck der von der Fakult¨at f¨ur Informatik der Technischen Universit¨at M¨unchen zur Erlangung des akademischen Grades eines Doktors der Naturwissenschaften (Dr. rer. nat.) genehmigten Dissertation. Vorsitzender: Prof. B. Rost (IN) Pr¨uferder Dissertation: 1. Prof. A. Stamatakis (TUM Junior Fellow) 2. Prof. A. Bode (IN) 3. Prof. A. Dollas (TU Kreta) Die Dissertation wurde am .......... bei der Technischen Universit¨atM¨unchen eingereicht und durch die Fakult¨atf¨urInformatik am .......... angenommen. Algorithms and Computer Architectures for Evolutionary Bioinformatics Nikolaos Ch. Alachiotis Abstract Many algorithms in the field of evolutionary Bioinformatics have excessive computational re- quirements. This holds not only because of the continuous accumulation of molecular sequence data, which is driven by significant advances in wet-lab sequencing technologies, but it is also due to the high computational demands of the employed kernels. This dissertation presents new reconfigurable architectures to accelerate parsimony- and likelihood-based phylogenetic tree reconstruction, as well as effective techniques to speed up the execution of a phylogeny-aware alignment kernel on general-purpose graphics processing units. It also introduces a novel technique to conduct efficient phylogenetic tree searches on alignments with missing data. In addition, a highly optimized software implementation for the ! statistic, which is used to detect complete selective sweeps in population genetic data using linkage-disequilibrium patterns of single nucleotide polymorphisms in multiple sequence alignments, is described and made available. Acknowledgments Many people have contributed to the success of this work. I am particularly grateful to Dr. Alexandros Stamatakis who has been supporting me since my undergraduate studies, and spent a great effort on supervising my work. I would also like to thank Prof. Dr. Arndt Bode for co-supervising my thesis and Prof. Apostolos Dollas for being part of my PhD committee. I am extremely grateful to all my colleagues in the Exelixis lab (Simon A. Berger, Pavlos Pavlidis, Fernando Izquierdo, Andre J. Aberer, Jiajie Zhang, Solon Pissis, Kassian Kobert, and Tomas Flouris), who offered advice and support when it was needed. Finally, I want to thank my parents and my sister who have been particularly supportive during my time in Germany. My position was funded under the auspices of the Emmy-Noether program by the German Science Foundation (DFG, STA 860/2). Contents 1 Introduction 1 1.1 Motivation . 1 1.2 Scientific contribution . 3 1.3 Structure of the thesis . 4 2 Phylogenetic Tree Inference 7 2.1 Introduction . 7 2.2 Sequence alignment . 10 2.2.1 Pairwise alignment . 10 2.2.2 Multiple sequence alignment . 12 2.3 Evolutionary relationships . 13 2.3.1 Phylogenetic trees . 13 2.3.2 Problem complexity . 16 2.4 Phylogenetic inference methods . 17 2.4.1 Maximum parsimony . 17 2.4.2 Maximum likelihood . 18 2.4.3 Bayesian inference . 26 2.5 State-of-the-art software tools . 27 3 FPGA and GPU Architectures 31 3.1 Introduction . 31 3.2 Field-Programmable Gate Array (FPGA) . 32 3.2.1 Configurable Logic Block (CLB) . 33 3.2.2 Specialized blocks and soft IP cores . 36 3.2.3 Design flow . 36 3.2.4 HDL-based design entry . 38 3.3 Graphics Processing Unit (GPU) . 39 3.3.1 Architecture of a GPU . 40 3.3.2 OpenCL programming model . 43 X CONTENTS 4 Parsimony Reconfigurable System 45 4.1 Introduction . 45 4.2 Parsimony kernel . 46 4.3 Reconfigurable architecture . 48 4.3.1 Processing unit . 48 4.3.2 Pipelined datapath . 50 4.3.3 Population counter . 51 4.4 Implementation . 52 4.4.1 Verification . 52 4.4.2 Prototype system . 52 4.4.3 Performance . 53 4.5 Summary . 54 5 Likelihood Reconfigurable Architectures 55 5.1 Introduction . 55 5.2 1st generation architecture . 57 5.2.1 Design . 57 5.2.2 Operation . 60 5.2.3 Experimental setup and results . 61 5.3 2nd generation architecture . 63 5.3.1 Pruning unit . 65 5.3.2 Pipelined datapath . 67 5.3.3 Evaluation and performance . 68 5.4 3rd generation architecture . 70 5.4.1 Co-processor design . 71 5.4.2 Evaluation and performance . 74 5.5 4th generation architecture . 75 5.5.1 Likelihood core . 76 5.5.2 Scaling unit . 77 5.5.3 Architecture overview . 78 5.5.4 Host-side management . 79 5.5.5 System overview . 81 5.5.6 Verification and performance . 82 5.6 Summary . 83 6 Phylogeny-aware Short Read Alignment Acceleration 85 6.1 Introduction . 85 6.2 PArsimony-based Phylogeny-Aware short Read Alignment (PaPaRa) . 87 6.3 Reconfigurable system . 89 6.3.1 Score Processing Unit (SPU) . 89 CONTENTS XI 6.3.2 Implementation and verification . 92 6.3.3 System overview . 93 6.3.4 Performance . 95 6.4 SIMD implementation . 97 6.4.1 Inter-reference memory organization . 97 6.4.2 Vector intrinsics . 98 6.5 SIMT implementation . 99 6.5.1 Inter-task parallelization . 99 6.5.2 Block-based matrix calculation . 100 6.5.3 Loop unrolling . 102 6.5.4 Data compression . 102 6.5.5 OpenCL application . 103 6.5.6 Performance . 104 6.6 Hybrid CPU-GPU approach . 106 6.6.1 System overview . 106 6.6.2 Performance . 107 6.7 Summary . 108 7 Tree Searches on Phylogenomic Alignments with Missing Data 111 7.1 Introduction . 111 7.2 Underlying concept . 112 7.3 Static-mesh approach . 114 7.3.1 Data structure for per-gene meshes . 115 7.3.2 Traversal of a fixed tree . 116 7.4 Dynamic-mesh approach . 117 7.4.1 Subtree pruning . 117 7.4.2 Subtree regrafting . 119 7.5 Experimental evaluation . 121 7.5.1 Implementation . 121 7.5.2 Datasets . 123 7.5.3 Results . 123 7.6 Summary . 125 8 Selective Sweep Detection in.