Articulo Expoingenieria 2010 4-05-2010

Embed Size (px)

Citation preview

  • 7/22/2019 Articulo Expoingenieria 2010 4-05-2010

    1/5

    IMPLEMENTACIN DE TCNICAS ALGORTMICAS BIOINFORMTICAS ENPROGRAMACIN PARALELA PARA EL ALINEAMIENTO MULTIPLE DE SECUENCIAS

    EFRAN HERNANDO PINZN REYES., M.Sc.UNIVERSIDAD DE SANTANDER

    [email protected]

    MAURICIO MORENO IDARRAGA., Ing.UNIVERSIDAD DE SANTANDER

    [email protected]

    NATHALI ROMERO-ALEAN., M.ScUNIVERSIDAD DE SANTANDER

    [email protected]

    ALVARO MAURICIO FLOREZ ESCOBAR., Ph.DUNIVERSIDAD DE SANTANDER

    [email protected]

    Palabras claves: Bioinformtica, Tcnicas Algortmicas, Programacin Paralela, Alineamiento Mltiple deSecuencias, Clustalw.

    1. INTRODUCCION

    La Bioinformtica es una disciplina emergenteproducto de la fusin de las ciencias biolgicas ylas tecnologas informticas desde hace mediosiglo [1] y fundamentada en el uso deherramientas computacionales como la base parael anlisis y procesamiento de datos. Desde susinicios hasta la actual era postgenmica, estadisciplina ha mejorado en el desarrollo dealgoritmos acoplando las tcnicas moleculares enla medida en que avanza y evoluciona eldesarrollo computacional. Sin embargo, todavaexisten dos limitantes importantes relacionadascon: el tiempo de cmputo (procesamiento yvelocidad en el anlisis de datos) y la pertinenciadel modelo matemtico acorde con el modelo deevolucin molecular.En este artculo se describe la experiencia sobre laimplementacin de tcnicas algortmicas de

    programacin paralela dirigidas al mejoramientoen el procesamiento y anlisis de secuencias.

    2. PLANTEAMIENTO DEL PROBLEMA

    El Laboratorio de Biologa Molecular yBiotecnologa de la Universidad de Santander,adelanta estudios en bioprospeccin donderequiere del soporte bioinformtico, sobre todo enlo relacionado con los anlisis de secuencias y losestudios filogenticos, mediante los cuales se

    pueden identificar grupos microbianos y lasrelaciones genticas entre individuos que mstarde pueden ser aprovechados con fines

    biotecnolgicos .

    Para el desarrollo de los estudios filogenticos, sedesarrollan cinco procedimientoscomputacionales:

    1. Seleccin de las secuencias genmicas deinters.

    2. Alineamiento de secuencias.3. Seleccin del modelo para la

    construccin del rbol filogentico(mtodo de distancia, de estado decarcter o Bayesiano).

    4. Aplicacin de un algoritmo deagrupamiento (UPGMA, neighbor-

    joining).5. Asignacin de confiabilidad (bootstrap).

    De estos procedimientos los que mayor trabajocomputacional requieren son el alineamiento delas secuencias y la construccin del rbol. La

    complejidad aumenta segn el nmero desecuencias involucradas, la dimensin de lassecuencias medidas en nmero de pares de bases yla seleccin del algoritmo de agrupamiento alcual va a ser sometido el anlisis. Estos dos

    procedimientos son en donde los desarrollos deinvestigacin en bioinformtica son ms

    pertinentes.

    1

  • 7/22/2019 Articulo Expoingenieria 2010 4-05-2010

    2/5

    Algunas alternativas algortmicas han mostradoser eficientes en la optimizacin del

    procedimiento de alineamiento mltiple desecuencias. Por tanto, se hace especial nfasis enel algoritmo ClustalW [3] por ser esteampliamente referenciado en la literatura yampliamente difundido en la prctica a travs delas mltiples distribuciones de softwaredesarrollado con este propsito como Mega 4.0y Bioedit [4].

    3. ALINEAMIENTO MULTIPLE DESECUENCIAS

    Los alineamientos mltiples de secuencia sedeben entender como modelos que se usan paracontrastar hiptesis biolgicas [5], que para estecaso se entienden como un requisito previo para

    determinar la homologa (en el sentido evolutivodos secuencias son homlogas si y slo si hanadquirido su estado de un mismo ancestro comn)[6].

    4. TECNICAS ALGORITMICAS

    La exactitud computacional en el anlisismltiple de secuencias es casi imposible. En la

    prctica se usan algoritmos de aproximacin quemaximizan la similitud de las secuencias [7]. Laorientacin metodolgica del desarrolloalgortmico, est centrada en la produccin de

    alineamientos estructuralmente correctos. Paraello suelen usarse combinaciones de programacindinmica y mtodos heursticos que permitenconservar un equilibrio en la generacin demodelos que reflejen con mayor precisin laevidencia biolgica conocida y disminuyen eltiempo de cmputo.

    Un alineamiento mltiple de secuencias para laaplicacin de las tcnicas computacionales se

    puede entender como una matriz. Las filas de lamatriz son las secuencias genmicas o proteicasconformadas por molculas de ADN o protenasrespectivamente provenientes de las especies aestudiar. Cada fila es una especie y las columnascontienen una posicin que representa una basenitrogenada o para el caso de una protena, unaminocido.

    En la medida que el nmero de filas aumenta, esdecir, el nmero de secuencias por alinear, eltiempo de cmputo crece exponencialmente [1].Tambin la complejidad computacional aumenta

    en la medida en que la extensin de las columnasinvolucradas crece, que en el caso del ADNcorresponde al nmero de pares de bases de lassecuencias seleccionadas.

    Los mtodos de alineamiento mltiple msimplementados son: el alineamiento mltiplesimultane y el alineamiento mltiple progresivo[1]. El primero trabaja sobre conjuntos pequeosde secuencias cortas. El segundo puede trabajar demanera eficaz sobre grandes conjuntos de datos.Algunas tcnicas heursticas suelen ser aadidas

    para optimizar el tiempo de cmputo [1].

    El mtodo de alineamiento mltiple progresivo esel ms popular. Este mtodo es usado para laconstruccin de algoritmos de uso constante en lasciencias biolgicas como ClustalW [3], yalgoritmos ms recientes y potentes como Kalign[8]. La galera de las distribuciones software

    como: Multalign, Multal y ClustalX [8], Bioedit,Mega 4.0 [4], permiten la implementacin deestos algoritmos.

    5. CLUSTALW

    El algoritmo ClustalW es ampliamente utilizadoen la elaboracin de alineamientos mltiples y la

    preparacin de rboles filogenticos [10]. Su augese debe a su portabilidad a diferentes sistemasoperativos, su licencia de libre uso, sus mduloseficientes y su rpida capacidad para producir

    resultados [11].

    El algoritmo ClustalW crea un alineamientomltiple global a partir de un grupo de secuencias.Usa el mtodo de alineamiento progresivo de

    pares de bases. En la puesta en marcha delalgoritmo se construye un dendograma, es decir,un rbol de ruta entre las secuencias que sesometen al alineamiento. Este rbol no se puedeconsiderar filogentico y es usado para visualizarel orden en parejas de los alineamientos queoriginan el alineamiento final.

    A continuacin se ejemplifica un alineamiento de10 secuencias de ADN bacteriano usando elsoftware Bioedit que incorpora en elalineamiento el algoritmo ClustalW.

    Paso 1. Seleccin de las secuencias que van aparticipar del alineamiento. Las secuencias seacomodan en forma matricial, una secuenciadespus de la otra, cada fila es una secuencia deADN bacteriana (Figura 1).

    2

  • 7/22/2019 Articulo Expoingenieria 2010 4-05-2010

    3/5

    Figura 1. Seleccin de las secuencias

    Paso 2. Seleccin del algoritmo Clustalw. Elsoftware Bioedit permite dentro de su galera eluso del algoritmo ClustalW, la implementacindel mismo es realizada por la aplicacin (Figura2).

    Figura 2. Seleccin del ClustalW

    Paso 3. Seleccin de las opciones deprocesamiento involucrando elementos para lacreacin del dendograma (Figura 3).

    Figura 3. Seleccin de Opciones

    Paso 4. Generacin del alineamiento (Figura 4).

    Figura 4. Procesamiento del alineamiento

    Paso 5. Vista del alineamiento mltiple realizado.Se puede observar como las columnas buscanconservar la mayor similitud posible en las basesnitrogenadas, existe la introduccin de espacios(gaps) por el algoritmo para la realizacin delalineamiento (Figura 5).

    Figura 5. Resultados del alineamiento

    Estos resultados son usados como insumo para larealizacin de estudios filogenticos. La demoraen el tiempo de procesamiento aumenta enrelacin a las secuencia por alinear se estima que

    para un alineamiento de ms de 100 secuencias de1500 pares de bases el tiempo de procesamientoes de siete horas.

    6. PROGRAMACIN PARALELA

    La optimizacin algortmica ha permitido mejorasen el tiempo de cmputo y en el aumento delgrado de confiabilidad en la correspondencia conlos modelos biolgicos. Sin embargo, el desafocomputacional generado por el gran volumen de

    datos biolgicos a estudiar, es cada vez mayor ydemanda la implementacin de otras tcnicascomputacionales.

    Dentro de las tcnicas computacionalesactualmente diseadas para reducir el costo deoperacin computacional se encuentra el

    paradigma de computacin paralela.

    En programacin paralela, un algoritmo puederedefinirse para que sus procesos se distribuyancomputacionalmente a varios procesadoresdividindose la carga de procesamiento

    computacional y disminuyendo el tiempo decmputo total.

    El Laboratorio de Biologa Molecular yBiotecnologa UDES, mediante la Unidad deBioinformtica, ha incursionado en laimplementacin de algoritmos de alineamientomltiple de secuencias diseados desde el

    paradigma de programacin paralela.

    3

  • 7/22/2019 Articulo Expoingenieria 2010 4-05-2010

    4/5

    Actualmente el Laboratorio implementa elalgoritmo ClustalWmpi que est basado en susimilar Clustalw manteniendo las mismascaractersticas que el original, optimizando eltiempo de ejecucin, ya que fue diseado paraaprovechar infraestructura hardware ms potente.

    6.1 CLUSTALWMPI

    ClustalWmpi paraleliza los tres pasos delalgoritmo ClustalW para reducir el tiempo deejecucin. Estos tres pasos son: alineamiento de

    pares, generacin de arboles guas y la alineacinprogresiva.

    El software se ejecuta en estaciones de trabajotipo clster o en computadoras con procesadoresen paralelo. Para ello se utiliza una librera de

    pasos de mensajes MPI (Message PassingInterface) [12]. El Laboratorio implement el

    algoritmo sobre una arquitectura de cluster,utilizando la distribucin Rock Cluster v 5.2conformada por unFrontendy tres nodos (Figura6).

    Figura 6. Clster implementado

    La implementacin del ClustalWmpi en el clsterfue exitosa tecnolgicamente, la arquitecturafuncion distribuyendo la carga computacionalentre nodos y reduciendo los tiempos de

    procesamiento aproximadamente en ms del 50 %de los que se lograra con un solo procesador [13](Figura 7).

    Figura 7. Optimizacin ClustalWmpi

    Se puede evidenciar como los procesos delineamiento son distribuidos entre el Frontend ylos tres nodos (Figura 8); aunque la carga no sedistribuye homogneamente, se observa que elalineamiento progresa haciendo uso de lainfraestructura Clster.

    Figura 8. Procesando ClustalWmpi leyenda

    7. CONCLUSIONES

    La programacin paralela puede ser unaherramienta importante como parte de uncomponente informtico para la aplicacin ydiseo de algoritmos computacionales necesarios

    para el alineamiento mltiple de secuencias locual reduce los costos de procesamiento entrminos de tiempo. Por tanto, se hace necesariocontinuar con el estudio de tcnicas algortmicas y

    4

  • 7/22/2019 Articulo Expoingenieria 2010 4-05-2010

    5/5

    su adaptacin a la computacin paralela lo cualpermitir aumentar el nmero de secuencias poralinear.

    8. REFERENCIAS

    [1] Franco, M., Cediel, J., Payn, C. 2008. Brevehistoria de la Bioinformtica. Colombia Mdica39:117-120

    [2] Kimura, M. 1980. A simple method forestimating evolutionary rates of base substitutionsthrough comparative studies of nucleotidesequences. Journal Molecular Evolution 16: 111-120.

    [3] Thompson, J.D., Higgins, D.G., Gibson, T.J.1994. CLUSTAL W: improving the sensitivity of

    progressive multiple sequence alignment throughsequence weighting, position-specific gappenalties and weight matrix choice. Nucleic AcidsResearch 22: 4673-4680.

    [4] Tamura K., Dudley, J., Nei M., Kumar, S.2007. MEGA 4: Molecular Evolutionary GeneticsAnalysis (MEGA) software version 4.0.Molecular Biology and Evolution. 24: 1596-1599.

    [5] Attwood T. K., Parry Smith D. J. 2002. En:Introduccin a la Bioinformtica. Prentice Hall.Reino Unido. pgs. 137-149.

    [6] Lerney, P., Salemi, M., A.W. Vandamme.2009. The Phylogenetic Handbook: a practicalapproach to Phylogenetic analysis and hypothesistesting. 2 Ed. Cambridge University Press.Cambridge, UK.

    [7] Notredame, C. 2007. Recent Evolutions ofMultiple Sequence Alignment Algorithms. PLoSComputational Biology 3:1405-1408.

    [8] Lassmann, T., Sonnhammer, E. 2005.Kalign--an accurate and fast multiple sequence

    alignment algorithm. BMC Bioinformatics 6: 298.

    [9] Chakrabarti, S., Bhardwaj, N. 2004.Improvement of alignment accuracy utilizingsequentially conserved motifs. BMCBioinformatics 5: 167.

    [10] Lee Y., Oh Jeongsu, S. 2008. A Simple andFast Web Alignment Tool for Large Amount of

    Sequence Data. Genomics & Informatics 6: 157-159.

    [11] Mansour, A. 2008. ClustalW : WidespreadMultiple sequences alignments program. Journalof Cell and Molecular Biology 7: 81-82.

    [12] Kuo-Bin Li. 2003. ClustalW-MPI: ClustalWanalysis using distributed and parallel computing.Bioinformatics 19: 1585-1586.

    [13] Moreno, M. 2010. Caracterizacin desoftware libre para la implementacin de clustersy comprobacin del funcionamiento de un clsterde alto rendimiento. Trabajo de Grado.Universidad de Santander.

    5