Aviso: para depositar documentos, por favor, inicia sesión e identifícate con tu cuenta de correo institucional de la UCM con el botón MI CUENTA UCM. No emplees la opción AUTENTICACIÓN CON CONTRASEÑA
 

Análisis de secuencias de ADN mediante técnicas basadas en grafos

Citation

Abstract

La realización de este proyecto soluciona la necesidad por parte de los biólogos de contar con una aplicación interactiva, capaz de visualizar múltiples secuencias genómicas de manera compacta. Esta herramienta les facilitará la interpretación de datos complejos con los que trabajan a diario. Para conseguir este objetivo, este proyecto se sustenta en la representación de secuencias genómicas en forma de grafos de secuencia o graph genomes, en lugar de usar una única secuencia de referencia como resumen. La utilización de graph genomes para representar poblaciones o conjuntos de especies enriquece los estudios biológicos al capturar la variabilidad presente, en vez de únicamente el valor más frecuente. La utilización de graph genomes en lugar de otras representaciones, como una secuencia lineal de referencia, satisface la necesidad de los biólogos de abordar la complejidad de los datos genómicos. Los genomas pueden ser altamente complejos, con regiones repetitivas o un gran número de duplicaciones, lo que dificulta su representación precisa en una secuencia lineal. Los graph genomes logran capturar estas complejidades al generar múltiples rutas a través del genoma y representar las variantes genéticas existentes. La herramienta de visualización implementada en este trabajo es completamente novedosa, al aportar como valor añadido la interacción del usuario con el graph genome, frente a representaciones estáticas de este grafo desarrolladas por otras plataformas de visualización. De este modo la aplicación permite al usuario cargar los datos propios con los que desee trabajar e interaccionar con un grafo de secuencias generado a partir de ellos. Esta interacción incluye visualizar zonas específicas de regiones (con la función de ampliar y reducir), filtrar por genes los datos, obtener información adicional de estos y seleccionar las secuencias específicas que desee el usuario. Es crucial destacar que el proceso de generar un graph genome a partir de un gran número secuencias genómicas es un proceso complejo y exigente computacionalmente, traduciéndose en tiempo de procesamiento. La aplicación atenúa este problema, permitiendo al usuario descargar el graph genome generado con los datos proporcionados. De este modo, si el usuario desea volver a visualizar los mismos datos, podrá cargarlos de nuevo y el proceso tardará apenas unos segundos. La herramienta es modular y permite incorporar nuevas funcionalidades en el futuro, debido a que está diseñada siguiendo una arquitectura flexible y extensible. Esto facilita la adición y modificación de componentes, sin afectar la funcionalidad existente. Además, se utilizan interfaces bien definidas y mecanismos de comunicación estándar, lo que facilita la integración de nuevas características sin generar conflictos con el código existente. La aplicación está implementada como un servicio web cuyo desarrollo se ha efectuado utilizando la herramienta Django y mayoritariamente está implementada en Python. Cabe destacar el uso de contenedores (en concreto Docker) que permiten el uso de esta herramienta en cualquier máquina sin necesidad de complejas instalaciones.
The realization of this project solves the need for biologists to have an interactive application capable of visualizing multiple genomic sequences compactly. This tool will facilitate the interpretation of complex data they work with on a daily basis. To achieve this goal, this project is based on representing genomic sequences as sequence graphs or graph genomes, instead of using a single reference sequence as a summary. The use of genomic graphs to represent populations or sets of species enriches biological studies by capturing the underlying variability, rather than just the most frequent value. The use of genomic graphs, rather than other representations such as a linear reference sequence, meets the biologists’ need to address the complexity of genomic data. Genomes can be highly complex, with repetitive regions or a large number of duplications, making their accurate representation in a linear sequence challenging. Genomic graphs successfully capture these complexities by generating multiple paths through the genome and representing existing genetic variants. The visualization tool implemented in this work is completely innovative, providing the added value of user interaction with the graph genome, as opposed to static representations of this graph developed by other visualization platforms. Thus, the application allows users to load their data and interact with a graph genome generated from it. This interaction includes visualizing specific regions (zooming function), filtering data by genes, obtaining additional information about them, and selecting specific sequences of interest. It is crucial to highlight that the process of generating a graph genome from a large number of genomic sequences is computationally complex and demanding, resulting in a high processing time. The application mitigates this issue by allowing users to download the generated graph genome with the provided data. Therefore, if the user wishes to visualize the same data again, they can reload it, and the process will take only a few seconds. The tool is modular and allows for the incorporation of new functionalities in the future, as it is designed following a flexible and extensible architecture. This facilitates the addition and modification of components without affecting the existing functionality. Additionally, well-defined interfaces and standard communication mechanisms are used, making it easy to integrate new features without conflicts with the existing code. The application is implemented as a web service developed using the Django framework and mostly implemented in Python. It is worth noting the use of containers (specifically Docker), which enable the use of this tool on any machine without the need for complex installation processes.

Research Projects

Organizational Units

Journal Issue

Description

Trabajo de Fin de Grado en Ingeniería Informática, Facultad de Informática UCM, Departamento de Sistemas Informáticos y Computación, Curso 2022/2023.

Keywords