[en] Parallel and High Performance Computing (HPC) has gained attention in the last years as a mean to accelerate several kind of computationally expensive applications. Bioinformatics is one of the fields that benefits from this acceleration, since it demands a high computational power to analyse the biological data obtained from experiments. Due to the cost reductions related to obtaining biological data, more and more tools are able to extract conclusions out of this data are coming out, with capabilities to visualize, analyse and extract, but they come with high execution times and computational requirements. In particular, methylation analysis is one of the bioinformatics fields that fits into this description, since this process is associated to different biological functions, and abnormal methylation levels can indicate the presence of certain diseases. For instance, the existence of regions with different methylation levels is a common characteristic for several types of cancer. Therefore, discovering differentially methylated regions is an important research field in genomics, as it can help to anticipate the risk to suffer from some diseases. Nevertheless, the high computational cost associated to the discovery of differentially methylated regions prevents its application to large-scale datasets. Hence, a much faster application is required to further progress in this research field. During this bachelor's thesis an optimized version of RADMeth, a tool for the identification of differentially methylated regions based on beta-binomial regression, has been developed and arranged to take advantage of the features of HPC systems. The different optimization techniques implemented were developed by applying a workload distribution among the processing elements using domain decomposition and by keeping in mind the typical architecture of HPC systems composed of several nodes (each of the nodes being a multicore system) so the novel tool takes advantage of both levels by a hybrid MPI/OpenMP implementation. This way execution time was significantly reduced, Performance was tested on a cluster composed of 16 nodes, with 64 GB of memory and 16 cores per node (256 nodes in total). Obtained results were very satisfactory, obtaining speedups up to 194x.

[es] La computación paralela y de altas prestaciones (HPC por sus siglas en inglés) está ganando atención en los últimos años como medio para acelerar varios tipos de aplicaciones con un coste computacional elevado. Una de las disciplinas que se beneficia de esto es la bioinformática, que requiere una gran potencia computacional para analizar los datos de experimentos biológicos. Debido a la reducción de costes asociados a la obtención de datos biológicos, más y más herramientas capaces de visualizar, analizar y extraer conclusiones de estos datos salen a la luz, pero vienen con elevados tiempos de ejecución y requisitos computacionales. Concretamente uno de los campos que cumple estas características es el análisis de la metilación, ya que este proceso está asociado con diferentes funciones biológicas y niveles raros de metilación pueden ser un indicativo de la presencia de enfermedades. Por ejemplo, la existencia de regiones con diferentes niveles de metilación es una característica presente en muchos tipos de cáncer. Por tanto, el descubrimiento de regiones con diferentes niveles de metilación es un importante campo de investigación. Sin embargo, llevar a cabo este análisis sobre grandes cantidades de datos es un proceso computacionalmente costoso, por lo que se requiere de una herramienta mucho más rápida para prograsar en este campo de investigación. En este trabajo se ha desarrollado una optimización de RADMeth, una herramienta que identifica regiones diferencialmente metiladas basada en regresión beta-binomial, adaptándola para aprovechar las ventajas de los sistemas HPC. Las paralelizaciones implementadas fueron desarrolladas aplicando una distribución de la carga de trabajo entre los elementos de procesado usando descomposición de dominio y teniendo en cuenta que los sistemas HPC suelen ser sistemas multinodo con nodos multinucleo, por lo que la nueva herramienta aprovecha las ventajas de ambos con una aproximación híbrida basada en MPI Y OpenMP. De esta forma se consiguió reducir el tiempo de cómputo de forma significativa. Las pruebas de rendimiento se realizaron en un cluster, con 16 nodos y 64 GB de memoria y 16 núcleos por nodo (256 núcleos en total). Los resultados obtenidos fueron muy satisfactorios, consiguiendo aceleraciones de hasta 194x.