61 research outputs found
FPGA Hardware Acceleration of a Phylogenetic Tree Reconstruction with Maximum Parsimony Algorithm
In this paper, we present an FPGA hardware implementation for a phylogenetic tree reconstruction with a maximum parsimony algorithm. We base our approach on a particular stochastic local search algorithm that uses the Progressive Neighborhood and the Indirect Calculation of Tree Lengths method. This method is widely used for the acceleration of the phylogenetic tree reconstruction algorithm in software. In our implementation, we define a tree structure and accelerate the search by parallel and pipeline processing. We show results for eight real-world biological datasets. We compare execution times against our previous hardware approach, and TNT, the fastest available parsimony program, which is also accelerated by the Indirect Calculation of Tree Lengths method. Acceleration rates between 34 to 45 per rearrangement, and 2 to 6 for the whole search, are obtained against our previous hardware approach. Acceleration rates between 2 to 36 per rearrangement, and 18 to 112 for the whole search, are obtained against TNT
FPGAăçšăăæçŻçŽæłă«ăăéČć系由æščæ§çŻăąă«ăŽăȘășă ăźé«éć
çæłąć€§ćŠ (University of Tsukuba)201
Decomposing Genomics Algorithms: Core Computations for Accelerating Genomics
Technological advances in genomic analyses and computing sciences has led to a burst in genomics data. With those advances, there has also been parallel growth in dedicated accelerators for specific genomic analyses. However, biologists are in need of a reconfigurable machine that can allow them to perform multiple analyses without needing to go for dedicated compute platforms for each analysis. This work addresses the first steps in the design of such a reconfigurable machine. We hypothesize that this machine design can consist of some accelerators of computations common across various genomic analyses. This work studies a subset of genomic analyses and identifies such core computations. We further investigate the possibility of further accelerating through a deeper analysis of the computation primitives.National Science Foundation (NSF CNS 13-37732); Infosys; IBM Faculty Award; Office of the Vice Chancellor for Research, University of Illinois at Urbana-ChampaignOpe
Inference of Many-Taxon Phylogenies
Phylogenetic trees are tree topologies that represent the evolutionary history of a set of organisms. In this thesis, we address computational challenges related to the analysis of large-scale datasets with Maximum Likelihood based phylogenetic inference. We have approached this using different strategies: reduction of memory requirements, reduction of running time, and reduction of man-hours
High performance bioinformatics and computational biology on general-purpose graphics processing units
Bioinformatics and Computational Biology (BCB) is a relatively new
multidisciplinary field which brings together many aspects of the fields of
biology, computer science, statistics, and engineering. Bioinformatics extracts
useful information from biological data and makes these more intuitive and
understandable by applying principles of information sciences, while
computational biology harnesses computational approaches and technologies
to answer biological questions conveniently. Recent years have seen an
explosion of the size of biological data at a rate which outpaces the rate of
increases in the computational power of mainstream computer technologies,
namely general purpose processors (GPPs). The aim of this thesis is to explore
the use of off-the-shelf Graphics Processing Unit (GPU) technology in the high
performance and efficient implementation of BCB applications in order to meet
the demands of biological data increases at affordable cost.
The thesis presents detailed design and implementations of GPU solutions for
a number of BCB algorithms in two widely used BCB applications, namely
biological sequence alignment and phylogenetic analysis. Biological sequence
alignment can be used to determine the potential information about a newly
discovered biological sequence from other well-known sequences through
similarity comparison. On the other hand, phylogenetic analysis is concerned
with the investigation of the evolution and relationships among organisms,
and has many uses in the fields of system biology and comparative genomics.
In molecular-based phylogenetic analysis, the relationship between species is
estimated by inferring the common history of their genes and then
phylogenetic trees are constructed to illustrate evolutionary relationships
among genes and organisms. However, both biological sequence alignment
and phylogenetic analysis are computationally expensive applications as their computing and memory requirements grow polynomially or even worse with
the size of sequence databases.
The thesis firstly presents a multi-threaded parallel design of the Smith-
Waterman (SW) algorithm alongside an implementation on NVIDIA GPUs. A
novel technique is put forward to solve the restriction on the length of the
query sequence in previous GPU-based implementations of the SW algorithm.
Based on this implementation, the difference between two main task
parallelization approaches (Inter-task and Intra-task parallelization) is
presented. The resulting GPU implementation matches the speed of existing
GPU implementations while providing more flexibility, i.e. flexible length of
sequences in real world applications. It also outperforms an equivalent GPPbased
implementation by 15x-20x. After this, the thesis presents the first
reported multi-threaded design and GPU implementation of the Gapped
BLAST with Two-Hit method algorithm, which is widely used for aligning
biological sequences heuristically. This achieved up to 3x speed-up
improvements compared to the most optimised GPP implementations.
The thesis then presents a multi-threaded design and GPU implementation of
a Neighbor-Joining (NJ)-based method for phylogenetic tree construction and
multiple sequence alignment (MSA). This achieves 8x-20x speed up compared
to an equivalent GPP implementation based on the widely used ClustalW
software. The NJ method however only gives one possible tree which strongly
depends on the evolutionary model used. A more advanced method uses
maximum likelihood (ML) for scoring phylogenies with Markov Chain Monte
Carlo (MCMC)-based Bayesian inference. The latter was the subject of another
multi-threaded design and GPU implementation presented in this thesis,
which achieved 4x-8x speed up compared to an equivalent GPP
implementation based on the widely used MrBayes software.
Finally, the thesis presents a general evaluation of the designs and
implementations achieved in this work as a step towards the evaluation of
GPU technology in BCB computing, in the context of other computer technologies including GPPs and Field Programmable Gate Arrays (FPGA)
technology
Models, Optimizations, and Tools for Large-Scale Phylogenetic Inference, Handling Sequence Uncertainty, and Taxonomic Validation
Das Konzept der Evolution ist in der modernen Biologie von zentraler Bedeutung.
Deswegen liefert die Phylogenetik, die Lehre ĂŒber die Verwandschaften und Abstam-
mung von Organismen bzw. Spezies, entscheidende Hinweise zur EntschlĂŒsselung
einer Vielzahl biologischer Prozesse. Phylogenetische StammbÀume sind einerseits
fĂŒr die Grundlagenforschung wichtig, da sie in Studien ĂŒber die Diversifizierung und
Umweltanpassung einzelner Organismengruppen (z.B. Insekten oder Vögel) bis hin
zu der groĂen Herausforderung, die Entstehung und Entwicklung aller Lebensfor-
men in einem umfassenden evolutionÀren Baum darzustellen (der sog. Tree of Life)
Anwendung finden. Andererseits werden phylogenetische Methoden auch in prax-
isnahen Anwendungen eingesetzt, um beispielsweise die Verbreitungsdynamik von
HIV-Infektionen oder, die HeterogenitÀt der Krebszellen eines Tumors, zu verstehen.
Den aktuellen Stand der Technik in der Stammbaumrekonstruktion stellen Meth-
oden Maximum Likelihood (ML) und Bayesâsche Inferenz (BI) dar, welche auf der
Analyse molekularer Sequenzendaten (DNA und Proteine) anhand probabilistis-
cher Evolutionsmodelle basieren. Diese Methoden weisen eine hohe Laufzeitkom-
plexitÀt auf (N P -schwer), welche die Entwicklung effizienter Heuristiken unabding-
bar macht. Hinzu kommt, dass die Berechnung der Zielfunktion (sog. Phylogenetic
Likelihood Function, PLF) neben einem hohen Speicherverbrauch auch eine Vielzahl
an Gleitkommaarithmetik-Operationen erfordert und somit extrem rechenaufwendig
ist.
Die neuesten Entwicklungen im Bereich der DNA-Sequenzierung (Next Gener-
ation Sequencing, NGS) steigern kontinuierlich den Durchsatz und senken zugleich
die Sequenzierungskosten um ein Vielfaches. FĂŒr die Phylogenetik hat dies zur
Folge, dass die Dimensionen der zu analysierenden DatensĂ€tze alle 2â3 Jahre, um
eine Grössenordnung zunhemen. War es bisher ĂŒblich, einige Dutzend bis Hun-
derte Spezies anhand einzelner bzw. weniger Gene zu analysieren (SequenzlÀnge:
1â10 Kilobasen), stellen derzeit Studien mit Tausenden Sequenzen oder Genen keine
Seltenheit mehr dar. In den nĂ€chsten 1â2 Jahren ist zu erwarten, dass die Anal-
ysen Tausender bis Zehntausender vollstÀndiger Genome bzw. Transkriptome (Se-
quenzlĂ€nge: 1â100 Megabasen und mehr) anstehen. Um diesen Aufgaben gewachsen
zu sein, mĂŒssen die bestehenden Methoden weiterentwickelt und optimiert werden,
um vor allem Höchstleistungsrechner sowie neue Hardware-Architekturen optimal
nutzen zu können.
AuĂerdem fĂŒhrt die sich beschleunigende Speicherung von Sequenzen in öffentli-
chen Datenbanken wie NCBI GenBank (und ihren Derivaten) dazu, dass eine hohe
QualitÀt der Sequenzannotierungen (z. B. Organismus- bzw. Speziesname, tax-
onomische Klassifikation, Name eines Gens usw.) nicht zwangslÀufig gewÀhrleistet
ist. Das hÀngt unter anderem auch damit zusammen, dass eine zeitnahe Korrektur
durch entsprechende Experten nicht mehr möglich ist, solange ihnen keine adÀquaten
Software-Tools zur VerfĂŒgung stehen.
In dieser Doktroarbeit leisten wir mehrere BeitrÀge zur BewÀltigung der oben
genannten Herausforderungen.
Erstens haben wir ExaML, eine dedizierte Software zur ML-basierten Stamm-
baumrekonstruktion fĂŒr Höchstleistungsrechner, auf den Intel Xeon Phi Hardware-
beschleuniger portiert. Der Xeon Phi bietet im Vergleich zu klassischen x86 CPUs
eine höhere Rechenleistung, die allerdings nur anhand architekturspezifischer Op-
timierungen vollstÀndig genutzt werden kann. Aus diesem Grund haben wir zum
einen die PLF-Berechnung fĂŒr die 512-bit-Vektoreinheit des Xeon Phi umstrukturi-
ert und optimiert. Zum anderen haben wir die in ExaML bereits vorhandene reine
MPI-Parallelisierung durch eine hybride MPI/OpenMP-Lösung ersetzt. Diese hy-
bride Lösung weist eine wesentlich bessere Skalierbarkeit fĂŒr eine hohe Zahl von
Kernen bzw. Threads innerhalb eines Rechenknotens auf (>100 HW-Threads fĂŒr
Xeon Phi).
Des Weiteren haben wir eine neue Software zur ML-Baumrekonstruktion na-
mens RAxML-NG entwickelt. Diese implementiert, bis auf kleinere Anpassungen, zwar
denselben Suchalgorithmus wie das weit verbreitete Programm RAxML, bietet aber
gegenĂŒber RAxML mehrere Vorteile: (a) dank den sorgfĂ€ltigen Optimierungen der
PLF-Berechnung ist es gelungen, die Laufzeiten um den Faktor 2 bis 3 zu reduzieren
(b) die Skalierbarkeit auf extrem groĂen EingabedatensĂ€tzen wurde verbessert, in-
dem ineffiziente topologische Operationen eliminiert bzw. optimiert wurden, (c) die
bisher nur in ExaML verfĂŒgbaren, fĂŒr groĂe DatensĂ€tze relevanten Funktionen wie
Checkpointing sowie ein dedizierter Datenverteilungsalgorithmus wurden nachimple-
mentiert (d) dem Benutzer steht eine gröĂere Auswahl an statistischen DNA-Evo-
lutionsmodellen zur VerfĂŒgung, die zudem flexibler kombiniert und parametrisiert
werden können (e) die Weiterentwicklung der Software wird aufgrund der modularen
Architektur wesentlich erleichtert (die Funktionen zur PLF-Berechnung wurden in
eine gesonderte Bibliothek ausgeglidert).
Als nÀchstes haben wir untersucht, wie sich Sequenzierungsfehler auf die Genau-
igkeit phylogenetischr Stammbaumrekonstruktionen auswirken. Wir modifizieren
den RAxML bzw. RAxML-NG Code dahingehend, dass sowohl die explizite Angabe von
Fehlerwahrscheinlichkeiten als auch die automatische SchÀtzung von Fehlerraten
mittels der ML-Methode möglich ist. Unsere Simulationen zeigen: (a) Wenn die
Fehler gleichverteilt sind, kann die Fehlerrate direkt aus den Sequenzdaten geschÀtzt
werden. (b) Ab einer Fehlerrate von ca. 1% liefert die Baumrekonstruktion unter
BerĂŒcksichtigung des Fehlermodells genauere Ergebnisse als die klassische Methode,
welche die Eingabe als fehlerfrei annimmt.
Ein weiterer Beitrag im Rahmen dieser Arbeit ist die Software-Pipeline SATIVA
zur rechnergestĂŒtzten Identifizierung und Korrektur fehlerhafter taxonomischer An-
notierungen in groĂen Sequenzendatenbanken. Der Algorithmus funktioniert wie
folgt: fĂŒr jede Sequenz wird die Platzierung im Stammbaum mit dem höchst-
möglichen Likelihood-Wert ermittelt und anschlieĂend geprĂŒft, ob diese mit der
vorgegeben taxonomischen Klassifikation ĂŒbereinstimmt. Ist dies nicht der Fall,
wird also eine Sequenz beispielsweise innerhalb einer anderen Gattung platziert,
wird die Sequenz als falsch annotiert gemeldet, und es wird eine entsprechende
Umklassifizierung vorgeschlagen. Auf simulierten DatensĂ€tzen mit zufĂ€llig eingefĂŒg-
ten Fehlern, erreichte unsere Pipeline eine hohe Identifikationsquote (>90%) sowie
Genauigkeit (>95%). Zur Evaluierung anhand empirischer Daten, haben wir vier
öffentliche rRNA Datenbanken untersucht, welche zur Klassifizierung von Bakterien
hÀufig als Referenz benutzt werden. Dabei haben wir je nach Datenbank 0.2% bis
2.5% aller Sequenzen als potenzielle Fehlannotierungen identifiziert
Research And Application Of Parallel Computing Algorithms For Statistical Phylogenetic Inference
Estimating the evolutionary history of organisms, phylogenetic inference, is a
critical step in many analyses involving biological sequence data such as DNA.
The likelihood calculations at the heart of the most effective methods for
statistical phylogenetic analyses are extremely computationally intensive, and
hence these analyses become a bottleneck in many studies. Recent progress in
computer hardware, specifically the increase in pervasiveness of highly
parallel, many-core processors has created opportunities for new approaches to
computationally intensive methods, such as those in phylogenetic inference.
We have developed an open source library, BEAGLE, which uses parallel
computing methods to greatly accelerate statistical phylogenetic inference,
for both maximum likelihood and Bayesian approaches. BEAGLE defines a uniform
application programming interface and includes a collection of efficient
implementations that use NVIDIA CUDA, OpenCL, and C++ threading frameworks
for evaluating likelihoods under a wide variety of evolutionary models, on
GPUs as well as on multi-core CPUs. BEAGLE employs a number of different
parallelization techniques for phylogenetic inference, at different
granularity levels and for distinct processor architectures. On CUDA and
OpenCL devices, the library enables concurrent computation of site likelihoods,
data subsets, and independent subtrees. The general design features of the
library also provide a model for software development using parallel computing
frameworks that is applicable to other domains.
BEAGLE has been integrated with some of the leading programs in the field,
such as MrBayes and BEAST, and is used in a diverse range of evolutionary
studies, including those of disease causing viruses. The library can provide
significant performance gains, with the exact increase in performance
depending on the specific properties of the data set, evolutionary model, and
hardware. In general, nucleotide analyses are accelerated on the order of
10-fold and codon analyses on the order of 100-fold
- âŠ