Programación paralela de algoritmos básicos empleados en el análisis filogenético

Fecha

2010-06-29

Autores

Moreira Broche, Jorge Enrique

Título de la revista

ISSN de la revista

Título del volumen

Editor

Universidad Central “Marta Abreu” de Las Villas

Resumen

La existencia de grandes cantidades de información acerca de las secuencias genéticas de varias especies presenta un gran reto para la comunidad científica en su afán de extraer conocimientos de valor de las mismas. Las herramientas disponibles actualmente que permiten el análisis y comparación de estas secuencias, resultan ineficientes cuando se enfrentan a grandes volúmenes de datos debido al alto costo computacional asociado a la mayoría de los algoritmos que se utilizan con este fin. El pronóstico de nuevas mutaciones de influenza, que aborda el grupo de Bioinformática de la UCLV es un ejemplo de estos retos computacionales. Este trabajo propone una implementación paralela en C++ de los algoritmos básicos del análisis filogenético usando el paradigma de paso de mensajes, con el objetivo de lograr una disminución sustancial de sus tiempos de ejecución. Se realizó un análisis de complejidad computacional de los algoritmos mencionados y se aplicaron las técnicas de programación paralela en aquellas etapas en que resultó propicio hacerlo. La aplicación desarrollada fue puesta a prueba en un clúster de 6 computadoras y en una máquina con un procesador de 4 núcleos, comparando su desempeño con el de la implementación en Matlab ya existente y con el de otra implementación secuencial en C++. Para ello se utilizaron dos alineamientos de las secuencias de un gen del virus de la Influenza. Las pruebas realizadas permitieron comprobar la superioridad significativa de la implementación en paralelo frente a sus contrapartes secuenciales en el procesamiento de grandes cantidades de datos.
The existence of large amounts of information about the genetic sequences of several species presents a great challenge to the scientific community in its attempts to extract valuable knowledge from it. The available tools that currently allow the analysis and comparison of these sequences, behave inefficiently when faced to big volumes of data due to the high computational cost associated with most of the algorithms used with this purpose. The prediction of new mutations of influenza, which addresses the Bioinformatics Group at UCLV is an example of this computational challenges. This work proposes a parallel implementation in C++ of the basic algorithms of phylogenetical analysis using the message-passing paradigm, with the objective of a substantial decrease of its execution times. A computational complexity analysis of the above mentioned algorithms was made and parallel programming techniques were applied in those stages in which it resulted propitious. The developed application was tested in a 6 computers cluster and in a computer with a 4 cores processor, comparing its performance with that of the already existent Matlab implementation and another sequential implementation in C++. Two alignments of a gene of the Influenza virus were used with this purpose. The tests carried out proved the significant superiority of the parallel implementation when compared to its sequential counterparts in the processing of large amounts of data.

Descripción

Palabras clave

Análisis Filogenético, Programación Paralela, Bioinformática

Citación