research

Diseño y desarrollo de una extensión de NEO4J para la gestión de cadenas de ADN

Abstract

Desde hace un tiempo, dadas las recientes investigaciones, se han comenzado a generar una gran cantidad de datos biológicos que requieren ser tratados y guardados. Existen varias aplicaciones que trabajan con este tipo de datos, pero no un ecosistema que implemente operaciones con estos datos y a partir del cual se puedan crear las aplicaciones que se necesiten. El objetivo de este Trabajo de Fin de Grado es la construcción de varias operaciones individuales que trabajen con datos biológicos, como son cadenas de ADN y proteínas, sobre un sistema que soporte guardar tanto estos datos biológicos ya nombrados como los resultados de las distintas operaciones individuales. Para ello hemos decidido usar una base de datos basada en grafos Neo4j y sobre esta base de datos implementar extensiones a los algoritmos de Smith Waterman, para el alineamiento de cadenas, el algoritmo de síntesis de proteínas y el algoritmo probabilístico basado en el algoritmo de Chou Fasman, para la predicción de la estructura secundaria de las proteínas. Además se ha probado la eficacia de estas implementaciones ejecutando varias peticiones sobre la base de datos Neo4j y midiendo los tiempos así como obteniendo el esquema de ejecución de varias peticiones. Gracias a estas pruebas hemos concluido que el tiempo que tardan las peticiones que ejecutan los tres procedimientos es razonable y que, las búsquedas en la base de datos sólo serán eficientes si no se realizan peticiones de todos los datos, por lo tanto en las peticiones de búsqueda que se realicen desde otras aplicaciones se deberán filtrar los nodos. Finalmente se ha desarrollado una aplicación de prueba que realiza llamadas a los distintos procedimientos de la base de datos, para después enseñarlos a modo de demo de la potencia del producto creado.Lately, due to some investigations, a great quantity of biological data is being generated, and all of that data requires being treated and stocked properly. There are several applications that work with this kind of data but there is not an ecosystem that implements operations with this kind of data and from which all the applications needed can be created. The goal of this Bachelor Thesis is to build several individual operations that work with biological data, as DNA and protein sequences, on a system that endures saving all the biological data that we named before and the results of the different individual transactions. So we decided to use a graph database Neo4j and to add to the database the functionality of several extensions such as the Smith Waterman algorithm, for the sequence alignment, the protein synthesis algorithm and the probabilistic algorithm based on the Chou Fasman algorithm, for the protein second structure prediction. Furthermore, we have tested the effectiveness of these implementations by executing several queries on the Neo4j database and measuring the times and obtaining the execution plan of several requests. Thanks to those tests, we have concluded that the time the requests delays to execute the three procedures is reasonable and that the searches on the database will only be efficient if we don’t ask for a huge amount of data, therefore on the search queries that are made from other applications some nodes should be filtered. Finally, we have developed a test application that makes calls to the different procedures of the database, and then show them as a demo of the power of the created product

    Similar works

    Full text

    thumbnail-image

    Available Versions