Full text
1 Escuela de Ingeniería Informática - ULPGC Memoria del Trabajo de Fin de Título de Carrera de Adaptación al Grado de Ingeniería en Informática de la Universidad de Las Palmas de Gran Canaria TÍTULO Identificación de regiones del ADN con baja frecuencia de lectura AUTOR Deyán Fabricio Guacarán Sabogal TUTORES Antonio Tugores Cester. Jefe de Servicio Unidad de Investigación del Complejo Hospitalario Universitario Insular – Materno Infantil. Francisca Quintana Domínguez. Profesora Titular de Universidad del Departamento de Informática y Sistemas de la Universidad de Las Palmas de Gran Canaria. FECHA Julio de 2014
2 Escuela de Ingeniería Informática - ULPGC Contenido 1. Agradecimientos. ............................................................................................................. 4 2. Resumen del Trabajo Fin de Grado. .............................................................................. 6 3. Introducción. ..................................................................................................................... 7 3.1 Aplicaciones Médicas. ....................................................................................................... 10 4. Estado Actual y Objetivos. .......................................................................................... 13 5. Flujo de Análisis y búsqueda de variantes en el ADN. ....................................... 15 5.1 Preparación de hipótesis o suposición. ....................................................................... 15 5.2 Obtención del ADN. ............................................................................................................ 16 5.3 Secuenciación del ADN. .................................................................................................... 16 5.4 Alineamientos de las Secuencias. .................................................................................. 17 5.5 Localización de variantes. ............................................................................................... 21 5.6 Anotación de variantes..................................................................................................... 22 5.7 Filtrado. ................................................................................................................................. 23 6. Desarrollo de la aplicación. ....................................................................................... 25 6.1 PLANIFICACIÓN................................................................................................................... 25 6.1.1 Metodología de Trabajo. .................................................................................................................25 6.1.2 Plataformas de desarrollo. ............................................................................................................27 6.1.3 Recursos. ................................................................................................................................................28 6.2 DESARROLLO. ...................................................................................................................... 29 6.2.1 Objetivos. ...............................................................................................................................................32 6.2.2 Requisitos Funcionales ...................................................................................................................34 6.3 RESULTADOS ....................................................................................................................... 38 6.3.1 Depths .....................................................................................................................................................39 6.3.2 Intersection ...........................................................................................................................................42 6.3.3 Statistical Results ...............................................................................................................................42 6.3.4 Caso Práctico ........................................................................................................................................44 7. Conclusiones y Trabajos Futuros. ............................................................................ 47 8. Aportaciones. ................................................................................................................. 49 9. Competencias Cubiertas. ............................................................................................ 50 9.1 CII01 .............................................................................................................................................................50 9.2 CII02 .............................................................................................................................................................50 9.3 CII04 .............................................................................................................................................................51 9.4 CII08 .............................................................................................................................................................51 9.5 CII018 ..........................................................................................................................................................52 9.6 TFG01 ..........................................................................................................................................................52 10. Normativa y Legislación. .......................................................................................... 54 10.1 Ley de Protección de datos. .......................................................................................... 54 10.2 Leyes sobre Seguridad. .................................................................................................. 54 11. Manual de Usuario y Software................................................................................ 56 11.1 Acceso a la aplicación. .................................................................................................... 56 11.2 Proceso “Depths”. ............................................................................................................ 56 11.3 Proceso “Comparison”. .................................................................................................. 60 11.4 Proceso “Statitiscal Results”......................................................................................... 63 12. Fuentes de información. ........................................................................................... 66 13. Anexo 1: Formato de ficheros. ................................................................................ 68
3 Escuela de Ingeniería Informática - ULPGC 14. Anexo 2: Herramientas Adicionales. .................................................................... 72 15. Glosario. ......................................................................................................................... 78
4 Escuela de Ingeniería Informática - ULPGC 1. Agradecimientos. Quiero dar las gracias a todas las personas que han participado en el desarrollo de este Trabajo Fin de Grado: A mi tutor Antonio Tugores, por enseñarme y compartir sus conocimientos, ya que sin él no hubiera sido posible redactar esta memoria. Por otro lado a mi tutora, Francisca Quintana, por darme la oportunidad de participar en este proyecto, darme todo su apoyo y ayudarme en la divulgación y rectificación de dicha memoria. A mi compañero y amigo Pascual, por haberme ayudado durante el transcurso del desarrollo del proyecto y compartir sus conocimientos conmigo. Sin él, no hubiera sido posible la finalización del mismo. Este Trabajo Fin de Grado también le pertenece a él. A todos las personas pertenecientes a UICHUIMI (Juan Carlos, Paloma, C ristina, Teresa…), por los momentos buenos que hemos pasado y que me han ayudo a realizar este proyecto de forma más amena y agradable. A todos mis compañeros de clase y amigos (David, Dalia, Xerach, Francisco, Aythami, Cynthia, Román, Aitor Cardona, Aitor Hernández, Cristián, Natalia, Pablo, Reynier…), ya que con ellos he compartido y vivido momentos muy bonitos durante toda mi carrera y he aprendido mucho de cada uno de ellos. A mis amigos que he tenido el placer de conocerlos este año (Helena, Alba, Ylenia, Patricsua, Adrián, Allende, Borja, Carlos, Patricia, Elena, Jezabel, Pablo, Vicente,…) y que me han dado m omentos muy di vertidos y alegres durante todos estos meses. Todos ellos también forman parte de este proyecto. A todos mis profesores de la Universidad, a ellos les debo mis conocimientos y cualidades adquiridas en todos estos años de mi carrera. A toda mi familia y a Jesús, por haberme dado su apoyo en todos los momentos de mi vida universitaria. Sin ellos, no habría sido posible llegar hasta donde he llegado y ser la persona que soy en estos momentos de mi vida. A mi segunda familia, porque los considero como tal, por todo el apoyo incondicional que me han dado y por estar ahí para mostrarme todo
5 Escuela de Ingeniería Informática - ULPGC su apoyo en todos los momentos de mi vida en estos años. En especial también a mis abuelos por darme todos sus buenos consejos y de ellos he aprendido los valores de la vida y que hay que seguir adelante superando todas las adversidades que nos ponga la vida. A Rita, una persona muy especial en mi vida, por haberme dado todo su apoyo para seguir adelante y disfrutar y sufrir cada uno de los momentos durante mi paso en la vida universitaria. Gracias por estar ahí siempre que lo he necesitado, sin ti esto tampoco sería posible. Tú también formas parte de cada una de estas líneas de este proyecto. Y en especial, a mi madre, gracias por todos los esfuerzos que has puesto en mí y por darme la oportunidad de estudiar lo que he querido. Sin ti, no llegaría a donde he llegado ni tendría la oportunidad de escribirte estas líneas para ti. Por estar ahí en todos mis momentos tanto buenos como difíciles que he pasado en mi vida, y que por ti he aprendido que hay que luchar y seguir para adelante en todas las barreras que nos pongan. Gracias por todos tus consejos. Muchas Gracias a todos. Deyán Fabricio Guacarán Sabogal
6 Escuela de Ingeniería Informática - ULPGC 2. Resumen del Trabajo Fin de Grado. El ADN es un polímero i que contiene la mayor parte de la información necesaria para el desarrollo y funcionamiento de todos los organismos vivos conocidos. La información está fraccionada en diferentes segmentos, los genes, que contienen variables que son individuales y que determinan las características de cada persona. Entre ellas, hay dos que son de especial importancia para la atención sanitaria: la susceptibilidad genética de padecer una enfermedad y la capacidad de responder de forma diferencial a un medicamento, denominado farmacogenética ii . Poder identificar dichas variantes puede ayudar a comprender la enfermedad e individualizar el tratamiento del paciente respectivamente. Para conocer estas variantes debemos conocer la secuencia de ADN de los genes implicados en las patologías o en las características farmacogenéticas para un individuo determinado, un proceso denominado secuenciación. La secuenciación completa del genoma, por su complejidad, está todavía lejos de encontrar un hueco entre las aplicaciones médicas de uso rutinario. Sin embargo, existen técnicas para seleccionar y secuenciar el exoma, que es la parte del genoma que contienen los exones, fracciones de los genes que contienen la información necesaria para la fabricación de las proteínas. El exoma supone aproximadamente un 2% del total del genoma, y su secuenciación se realiza en la Unidad de Investigación del Complejo Hospitalario Materno Infantil (UICHUIMI) para identificar la causa de enfermedades raras y de origen genético. La secuenciación de exoma cubre la mayor parte de los exones del genoma, pero no detecta algunas regiones, lo que imposibilita la detección de variantes en ellas. Este hecho crea una incertidumbre diagnóstica, lo que limita el poder de esta herramienta para la detección de mutaciones patogénicas iii , ya que genes clínicamente relevantes pueden haberse quedado sin analizar por un defecto experimental. Por ello, necesitamos saber con precisión qué regiones exómicas han quedado fuera del análisis. Así, el objetivo principal del Trabajo Fin de Grado es la creación de una herramienta informática que permita al personal clínico, sin conocimientos informáticos la detección de regiones del exoma con poca cobertura de secuenciación, es decir, regiones del ADN con una frecuencia de lectura baja comparándolo con respecto al genoma de referencia (ADN estándar).
7 Escuela de Ingeniería Informática - ULPGC 3. Introducción. El ácido desoxirribonucleico (ADN) es un ácido nucleico que contiene la información genética de los organismos vivos y es responsable de su almacenamiento y transmisión hereditaria. La totalidad de la información genética que posee un organismo o una especie en particular se denomina genoma, es decir, un conjunto de genes donde están almacenadas las claves para la diferenciación de las células que forman los diferentes tejidos y órganos de un individuo. El genoma codifica una serie de características o rasgos observables de un organismo, como su morfología, desarrollo, propiedades bioquímicas, fisiología y comportamiento. A todas estas características la denominamos fenotipo, y a toda la información genética, el genotipo. El ADN está estructurado, como observamos en la Figura 3.1, por dos largas cadenas complementarias de nucleótidos unidas entre sí formando una doble hélice. Las dos cadenas de nucleótidos que constituyen una molécula de ADN, se mantienen unidas entre sí porque se forman enlaces entre las bases nitrogenadas iv de ambas cadenas que quedan enfrentadas. Esta configuración le aporta estabilidad a la molécula de ADN. Las cuatro bases nitrogenadas que se encuentran en el ADN son la Adenina (A), Timina (T), Citosina (C) y Guanina (G). La unión de las bases se realiza mediante puentes de hidrógeno, y este apareamiento está condicionado químicamente de forma que la Adenina se complementa con la Timina y la Guanina con la Citosina. Figura 3.1
8 Escuela de Ingeniería Informática - ULPGC En el ser humano, las células somáticas v poseen 46 cadenas de ADN, llamados cromosomas vi , distribuidos en 23 parejas. Cada par está formado por un cromosoma de origen materno y otro paterno. Veintidós de estas parejas tienen la misma estructura y el tamaño, es decir, son homólogos. Pero el sexo de la persona está determinado por el último par de cromosomas, los cromosomas sexuales. La mujer contiene dos cromosomas X, mientras que el hombre contiene un cromosoma X y otro Y (es decir, cromosomas heterólogos). Las células germinales contienen la mitad de la información, que resulta de la recombinación de los cromosomas paterno y materno para originar cromosomas únicos responsable de la herencia. El genoma humano contiene aproximadamente entre 20.000 y 25.000 genes. Se consideran genes las regiones del genoma que codifican para proteínas, esto es, las regiones que se transcriben para generar ARN mensajeros que luego se traducen en proteínas en los ribosomas. De media, los genes tienen un tamaño de 3.000 nucleótidos o bases. Teniendo en cuenta que el total del genoma asciende a 3.164,7 millones de bases, la suma de todos los genes representa un 2% del genoma humano. Por tanto, el 98% del genoma humano es ADN-no codificante, o lo que es lo mismo, no contiene información relevante para la síntesis de proteínas.[2] La estructura de los genes contiene, además, elementos que participan en la regulación de su expresión como los promotores vii y potenciadores viii de la transcripción. La estructura intrón-exón de los genes fue descubierta en 1977 (podemos observar dicha estructura en la Figura 3.2). [2] Estructuras que diferencian a Eucariotas de Procariotas ix . Un intrón es una región del ADN que debe ser eliminada del transcrito de ARN antes de que salga del núcleo y sea traducido. Los exones representan las secciones en la versión final del ARNm que se unen entre sí durante el proceso de splicing (también llamado corte y empalme) y, por tanto, se traducirán finalmente en proteínas.
9 Escuela de Ingeniería Informática - ULPGC Figura 3.2 La expresión génica, encargada de la síntesis de proteínas a partir de los genes, comprende por dos etapas: fase de transcripción y la fase de traducción. En la fase de transcripción consiste en que a partir de un fragmento del ADN es transcrito por ARN polimerasa (ARNP) en un ARN nuclear que, tras el procedimiento (splicing), se convierte en mensajero (ARNm). En la fase de traducción se genera la proteína a partir del ARNm y está comprendida por tres subfases: iniciación de la síntesis proteica, elongación de la cadena polipeptídica y finalización de la síntesis de las proteínas. Podemos observar estas dos etapas en las siguientes imágenes Figura 3.3 y Figura 3.4 respectivamente.¡Error! No se encuentra el origen de la referencia. Figura 3.3
16 Escuela de Ingeniería Informática - ULPGC Figura 5.1 Una vez establecidas una o varias hipótesis, podremos decidir qué segmentos del ADN se van a secuenciar y realizar diferentes comparaciones de los resultados obtenidos. En la Unidad de Investigación se trabaja con tres tipos de hipótesis: homocigotos, dominantes recesivos y uno o más genes candidatos (variantes). 5.2 Obtención del ADN. En esta fase se les extrae a los pacientes que queremos investigar una pequeña muestra de sangre con una cantidad aproximada de 10 mililitros, de la que se extrae el material genético de las células blancas según el método de precipitación fraccionada de Miller.[3] 5.3 Secuenciación del ADN. Una vez obtenidas las muestras de ADN, son enviadas al Instituto de Genómica de Pekín (Beijing Genomics Institute – BGI) para que se encarguen de realizar la secuenciación por el método NGS.[4] En este instituto se realiza el proceso de fragmentación del ADN en diferentes fracciones de aproximadamente 150 pares de bases. Con
17 Escuela de Ingeniería Informática - ULPGC diferentes métodos físico-químicos se ejecuta una separación de las fracciones que no forman parte del exoma y contiene una calidad menor. Mediante el sist ema “Illumina HiSeq 2000” las fracciones restantes correspondientes a una calidad positiva se secuencian en una dirección y su inversa, obteniéndose información de las dos cadenas del ADN.[5] Este sistema de secuenciación no sólo ofrece unos resultados sin precedentes y de bajo coste, sino también una experiencia de usuario avanzada. Con dicha tecnología supera las deficiencias de las técnicas de secuenciación tradicionales como de alto coste en mano de obra y materiales. Los métodos alternativos de preparación de muestras permiten una amplia gama de aplicaciones incluyendo la expresión génica, pequeño descubrimiento de ARN o las interacciones proteína-ácido nucleico. Los resultados obtenidos se guardan en diferentes archivos informatizados en el que incluyen una sucesión de secuencias con sus correspondientes valores de calidad. Esta información está almacenada en dos archivos en formato “.FASTQ”, en el cual cada uno de ellos contiene las secuencias de una de las dos direcciones del ADN(5’ y 3’). Para saber como está estructurado estos ficheros basta con irnos al final de la memoria a l anexo “Formato de los ficheros”. 5.4 Alineamientos de las Secuencias. Los archivos recibidos de la secuenciación normalmente contienen 30 millones de secuencias con longitudes de aproximadamente de 90 pares de bases, por lo que almacena unos 3 mil millones en su totalidad. El problema que existe es que la información que aporta estos ficheros no determina en qué posiciones se encuentran las secuencias, por lo que se lleva a cabo el proceso de alineamiento para ordenar cada secuencia en su posición exacta o aproximada. Para llevar a cabo este proceso se utiliza un genoma de referencia, en el cual se hace las comparaciones con cada una de las secuencias recibidas. Los objetivos al hacer la comparación de dos o más secuencias son: Determinar (y cuantificar) el grado de similitud que hay entre ellas. Determinar si existe algún tipo de relación entre ellas o si el parecido es simplemente fruto de la casualidad.
18 Escuela de Ingeniería Informática - ULPGC Detectar la presencia de motivos estructurales y/o funcionales conservados. Construir árboles filogenéticos xiii que reflejen sus relaciones evolutivas. Realizar el alineamiento de las secuencias requiere un gasto muy alto tanto en computación como en memoria, por lo que utilizar métodos habituales se hace inviable. Para ello se emplea diferentes algoritmos que contribuyan a una mejor eficiencia del proceso en vez de una mayor eficacia. Existen dos tipos de algoritmos que pueden solucionar esta cuestión: algoritmos en función de una tabla hash y algoritmos basados en árboles sufijo/prefijo. En función del número de secuencias que se comparan podemos distinguir: Alineamiento de dos secuencias: se comparan dos secuencias utilizando diversos métodos como, por ejemplo, la matriz de puntos (dot-plot), algoritmos de programación dinámica (NeedlemanWunsch o SmithWaterman) o algoritmos heurísticos (FAST, BLAST). Alineamiento de múltiples secuencias: se comparan más de dos secuencias. Para ello se pueden utilizar diversos programas basados en algoritmos heurísticos como, por ejemplo, CLUSTALW. Para el método de alineamiento de dos secuencias las técnicas más conocidas para realizar este proceso son: Alineamiento global: Es especialmente útil cuando las secuencias se parecen bastante, tienen una longitud similar y los dominios conservados se encuentran en el mismo orden. Abarca la totalidad de las secuencias comparadas, es decir, intenta alinear todos y cada uno de los residuos de las dos secuencias. Este tipo de alineamiento nos permitirá determinar si las secuencias son homólogas o no, si pertenecen a una misma familia o construir un árbol filogenético. Para este proceso se utiliza el algoritmo de Needleman-Wunsch. Alineamiento local: Es el más utilizado y resulta especialmente útil cuando se comparan secuencias muy divergentes, de igual o distinta longitud, pero que pueden contener una o más regiones conservadas con similitud local. Las regiones conservadas suelen
19 Escuela de Ingeniería Informática - ULPGC corresponder a dominios estructurales o funcionales que resultan cruciales para el mantenimiento de la estructura y/o función de la molécula. Para este procedimiento se emplea el algoritmo de Smith – Waterman. Alineamiento semiglobal: Es especialmente útil cuando se comparan secuencias de longitud muy distinta o secuencias en las que el final de una se solapa con el inicio de otra. Permite (1) detectar regiones de solapamiento que nos permitan ensamblar contigs a partir de fragmentos más pequeños, (2) comparar EST (expressed sequence tags) con ADN genómico para así poder distinguir los exones de los intrones y determinar la estructura del gen, y (3) descubrir patrones en una secuencia mucho más larga. Para este proceso se utiliza el algoritmo de Smith – Waterman ya que no aplica penalizaciones ni al inicio ni al final de la secuencia más larga. Figura 5.2 Para el método de alineamiento de múltiples secuencias las técnicas más utilizadas para realizar este proceso son: Programación dinámica: La técnica de programación dinámica es teóricamente aplicable a cualquier número de secuencias; sin embargo, y puesto que es computacionalmente costosa tanto en tiempo como en memoria, raramente se usa en su forma más básica para más de tres o cuatro secuencias. Métodos progresivos: Los métodos progresivos, jerárquicos, o por árbol, generan un alineamiento múltiple de secuencias alineando primero las secuencias más similares, para ir añadiendo sucesivamente al alineamiento secuencias o grupos menos relacionados, hasta que el conjunto problema completo ha sido incorporado a la solución. Métodos iterativos: Los métodos iterativos intentan mejorar el punto débil de los métodos progresivos: su fuerte dependencia de la precisión de los alineamientos de los emparejamientos iniciales. Los métodos iterativos optimizan una función objetivo basada en un
20 Escuela de Ingeniería Informática - ULPGC método seleccionado de puntuación de alineamiento mediante la asignación de un alineamiento global inicial y el posterior realineamiento de subconjuntos de secuencias. Primeramente sabemos que tenemos un genoma de referencia que posee aproximadamente 3x10^9 nucleótidos. Como sabemos, las cadenas aisladas del ADN (muestras) se envían a Beijing Genome Institute para que ellos se encarguen de la secuenciación por NGS. Una vez recibida la fragmentación de dicho ADN en millones de trozos entr e 150 y 200 pares (en ficheros informáticos en formato “.fastq), hacemos una comparación de cada secuencia con el genoma de referencia en el que se obtiene diferentes lecturas (DP) en todas las posiciones. Estas lecturas se guardan en el fichero de alineamiento (.bam) además de información adicional (cromosoma, calidad del mapeo, longitud de la secuencia…). Med iante la herramienta desarrollada, podremos recorrer todas esas lecturas y obtener las regiones determinadas por el umbral introducido por el usuario. Como hemos visto existen diferentes programas de alineamiento de secuencias, sin embargo, en UICHUIMI se utiliza uno en concreto llamado BWA. Describiremos a continuación este tipo de software. Burrows – Wheeler Aligner BWA es un paquete de software para el mapeo de secuencias pequeñas contra un genoma de referencia, como por ejemplo el genoma humano. Dicho software se compone de tres algoritmos: BWA-backtrack, BWA-SW y BWA-MEM. El primer algoritmo está diseñado para la secuencia de Illumina en el cual lee hasta 100 pares de bases, mientras que las dos restantes están diseñadas para las secuencias más largas que oscilan entre 70 y 1 millón de pares de bases. BWA-MEM y BWA-SW comparten características similares, como por ejemplo el soporte de lecturas largas y alineamientos de rupturas, pero BWA-MEM, por lo general se recomienda para consultas de alta calidad, ya que es más rápido y preciso. BWA-MEM también ofrece un mayor rendimiento que BWA-BackTrack para lecturas Illumina de 70 a 100 pares de bases. BWA-back está principalmente diseñado para las tasas de error de secuenciación por debajo del 2%. Aunque los usuarios pueden tolerar más errores a través de líneas de comandos, su rendimiento se degrada rápidamente. Hay que tener en cuentas que para lecturas Illumina, bwa-
21 Escuela de Ingeniería Informática - ULPGC backtrack puede opcionalmente suprimir bases de baja calidad del alelo 3’ antes de la alineación y por lo tanto es capaz de alinear más lecturas con una alta tasa de error en la cola, que es una postura típica de Illumina. BWA-SW y BWA-MEM toleran más errores con alineamientos más largos. Las simulaciones sugieren que pueden funcionar bien con un error del 2% para una alineación de 100 pares de bases, el error de 3% para una de 200 pb (pares de bases), 5% para 500 pb y 10% para 1000 pb o más.[8] El resultado de los algoritmos BWA está en formato “.SAM”, adecuado para la búsqueda de las variantes. 5.5 Localización de variantes. Una vez hemos hecho el alineamiento de las secuencias, en esta fase iremos desde el principio hasta el final del genoma de referencia comparándolo con el exoma reconstruido, para así ir identificando en qué posiciones es diferente. Este proceso es el más complicado de todos, ya que en cada posición normalmente se encuentra varias lecturas alineadas y hay que saber que existen variantes en las que sobra o falta un fragmento. Para ello antes de realizar el proceso de localización de variantes, se hace un refinamiento a los alineamientos. Para realizar este proceso se emplea un sistema llamado Genome Analysis Toolkit. Por otra parte existe una herramienta llamada Picard en el cual éste se encarga de realizar una eliminación de lecturas repetidas que no agregan información, analizar coberturas de profundidad y recalibrar los valores de calidad. Con todas estas funcionalidades ayudan a facilitar la detección de Indels xiv .[9] [10] A continuación observamos en la siguiente Figura 5.3 como se ubican las secuencias en un fichero en formato “.SAM”: Ref : TCGTAATCACGACA seq1: --GTAAACAC---- seq2: TCGTAAACACG--- sep3: ---TAAACACGA-- seq4: -CGTAATCACG--- Figura 5.3 En esta imagen podemos observar como en la posición 7 de la referencia hay una Timina, sin embargo, en tres de las cuatro secuencias a
22 Escuela de Ingeniería Informática - ULPGC comparar vemos que hay una Adenina. Con esto podemos llegar a la hipótesis de que puede haber una variante en dicha posición, pero también cabe destacar que hay que tener en cuenta algunos puntos de vista. Sabemos que a cada una de las lecturas le corresponde un valor de calidad, por lo que podemos a llegar a plantearnos que este resultado puede ser debido a un error del aparato de secuenciamiento. También puede haber sido un fallo en el programa de alineamiento, ya que cada uno de los alineamientos le corresponde un valor de bondad. El objetivo es utilizar un programa que localice el mayor número de variantes verídicas posibles. En este caso la búsqueda de variantes es más fácil ya que sabemos que existen variantes por la inexistencia de una o más bases, por una repetición de un fragmento de cadena o por la inclusión de una cadena. 5.6 Anotación de variantes. En esta fase obtenemos un fichero con miles de variantes, en el cual nuestro objetivo es identificar unas cuantas entre todas ellas. Para ello debemos hacer una serie de filtros con respecto a unas ciertas normas. La información sobre la ubicación de las variantes es pobre ya que sólo indica la posición en la que se ha producido la variante, por lo que es
23 Escuela de Ingeniería Informática - ULPGC necesaria agregar más información sobre ello. Los campos más frecuentes que se añaden son: Localización: Indica que codón pertenece al genoma de referencia y qué codón pertenece la variante. Sinonimia: Las variantes son sinónimas cuando no representan un cambio en el aminoácido que codifica el codón donde se encuentra. Peligro: Dentro de las variantes que no son sinónimas, se hallan también las toleradas y peligrosas, dependiendo del cambio de las variantes. Frecuencia: Repetición de la variante en las distintas bases de datos. Habitualmente están clasificadas por regiones, por lo que se puede saber en qué partes del mundo son más usuales o no. Conocimiento: Base de datos e información donde se encuentra la variante, y así nos informa de hasta qué punto es conocida la variante. Aunque existen herramientas de anotación que permiten ejecutarse de forma local, es más recomendable realizarla en los servicios web ya que los resultados estarán actualizados. 5.7 Filtrado. Esta etapa es la más importante ya que en la anterior fase de localización de variantes, se identifican una media de 150.000 variantes. La finalidad de esta fase es hacer un filtrado de las variantes que pueden ser sospechosas de causar una enfermedad. Para ello se hace un filtrado por el método por frecuencias, en el cual se suprimen las variantes que contengan una frecuencia muy alta, ya que se consideran que con dicha frecuencia perjudicaría a muchas personas. Por otra parte, también se suprimen las variantes con lecturas menores que 10,
24 Escuela de Ingeniería Informática - ULPGC que tengan valores de calidad por debajo de 50 y que no sean la opción más evidente. Por último se clasifican las variantes según el tipo de hipótesis que se trate (homocigotos, dominante recesivo o uno o más variantes). También se pueden buscar variantes comunes entre diferentes pacientes sobre una misma enfermedad.
25 Escuela de Ingeniería Informática - ULPGC 6. Desarrollo de la aplicación. En esta etapa describiremos todo el proceso en la creación de la aplicación sobre la identificación de regiones de baja frecuencia de lectura en el ADN, desde la planificación del trabajo hasta la implementación de la herramienta. Se ha decidido que la aplicación sea llamada MIST (Missing Sequencing Tools). 6.1 PLANIFICACIÓN. En este capítulo hablaremos sobre la metodología de trabajo que se va a utilizar, las diferentes plataformas usadas y los requisitos asignados para el desarrollo. 6.1.1 Metodología de Trabajo. Para el desarrollo del módulo de software de identificación de regiones pobres en el ADN se ha utilizado como procedimiento de trabajo la metodología de desarrollo ágil. Este método basado en el desarrollo iterativo e incremental, donde los requisitos y soluciones evolucionan mediante la colaboración de grupos auto organizado y multidisciplinario. Cada iteración del ciclo de vida incluye: planificación, análisis de requisitos, diseño, codificación, revisión y documentación. Una iteración no debe agregar demasiada funcionalidad, sino que el objetivo es tener una especie de “dem o” a l final de cada iteración. Con esto permite al cliente probar y utilizar la versión ya desarrollada. Por ello se puede realizar los cambios en los requisitos desde el principio del desarrollo. La finalidad es que los desarrolladores tengan una facilidad en los cambios del software a la hora de añadir o suprimir requisitos, y así no haya duración entre la iteración actual y la siguiente. En el 2001 se creo un manifiesto ágil con la finalidad de descubrir mejores formas mejores de desarrollar software para nuestra propia experiencia, y no sólo para reducir el tiempo de desarrollo sino para mejorar también la eficiencia. Estos son los 4 puntos del manifiesto ágil: Individuos e interacciones sobre procesos y herramientas. Software funcionando sobre documentación extensiva. Colaboración con el cliente sobre negociación contractual.
32 Escuela de Ingeniería Informática - ULPGC Figura 6.3 En dicha imagen podremos ver que la información está estructurada además de la cabecera, con los siguientes campos: @SQ: Identificador. SN: Nombre del cromosoma. LN: Número de pares de bases que contiene dicho cromosoma. 6.2.1 Objetivos. En este capítulo describiremos los diversos objetivos que necesitan los usuarios en UICHUIMI y sus diferentes características. El desarrollo de estos objetivos se darán por correctos cuando sean validados por el/los clientes. A continuación mostraremos estos objetivos:
33 Escuela de Ingeniería Informática - ULPGC Objetivo 1 Localización de regiones pobres Versión 1.0 Autores Deyán F. Guacarán Sabogal Antonio Tugores Cester Descripción La herramienta debe permitir hacer una búsqueda de regiones con lecturas de baja frecuencia, determinada por un umbral introducido por el usuario. Además debe realizar una comparación con las regiones de los exones de los humanos. Importancia Muy Alta Estado Validado Tabla 6.1: Objetivo 1 Objetivo 2 Intersección entre regiones pobres. Versión 1.0 Autores Deyán F. Guacarán Sabogal Antonio Tugores Cester Descripción La herramienta debe permitir hacer una intersección de las regiones con baja frecuencia de lectura entre múltiples pacientes. Importancia Muy Alta Estado Validado Tabla 6.2: Objetivo 2 Objetivo 3 Resultados Estadísticos Versión 1.0 Autores Deyán F. Guacarán Sabogal Antonio Tugores Cester Descripción La herramienta debe permitir extraer resultados estadísticos de los ficheros tanto de las regiones con baja frecuencia de lectura como en la intersección entre múltiples pacientes. Importancia Alta Estado Validado Tabla 6.3: Objetivo 3
34 Escuela de Ingeniería Informática - ULPGC 6.2.2 Requisitos Funcionales Los requisitos funcionales son aquellos que definen una función del sistema de software o sus componentes, con la finalidad de que los usuarios logren sus objetivos. Requisito Funcional 1 Progreso Versión 1.0 Autores Deyán F. Guacarán Sabogal Descripción La herramienta deberá mostrar el progreso de ejecución mediante una barra de progreso. Importancia Alta Estado Validado Tabla 6.4: Requisito Funcional 1 6.2.2.1 Casos de Uso En este capítulo hablaremos sobre los casos de uso, aquellos que realizan una descripción de los pasos o las actividades que deberán realizarse para llevar a cabo algún proceso. Antes de explicar los casos de uso, señalamos el actor que interactúa con la aplicación. Actor 1 Usuario Versión 1.0 Autores Deyán F. Guacarán Sabogal Descripción El actor representa a toda entidad externa al sistema que guarda una relación con éste y que le demanda una funcionalidad. Tabla 6.5: Actor 1 1 A continuación mostraremos todos los casos de uso que intervienen en el programa y sus relaciones, por lo que para ello realizaremos un esquema en UML. Lo podemos observar en la siguiente Figura 6.4:
35 Escuela de Ingeniería Informática - ULPGC Figura 6.4 Una vez especificados los casos de uso que el programa contiene, procederemos a hacer una descripción del flujo de acciones de cada uno de ellos. Para ello también haremos capturas de pantalla de cómo está organizado todos ellos. Caso de Uso 1 Localización de regiones pobres Versión 1.0 Autores Deyán F. Guacarán Sabogal Actor Principal Usuario Descripción El usuario localiza las regiones con una frecuencia de lectura baja. Precondición Que ha ya un fichero en formato “.bam” correspondiente al alineamiento de las secuencias de un determinado paciente. Flujo 1. El usuario selecciona el fichero en formato “.BAM” como fichero de entrada. 2. El usuario selecciona el fichero de referencia de los exones de los humanos como fichero también de entrada. 3. El usuario introduce el umbral de lecturas. 4. El usuario guarda el fichero de salida en la ubicación que desee. 5. El usuario pulsa el b otón “Start”. 6. El sistema muestra el progreso de ejecución mediante la barra de progreso. 7. El sistema muestra un panel de la consola con los cálculos que se están realizando en ese momento. Tabla 6.6: Caso de Uso 1
36 Escuela de Ingeniería Informática - ULPGC A continuación veremos una ilustración del caso de uso “Localización de regiones pobres” mediante la Figura 6.5, en el cual podremos ver el proceso de ejecución de búsqueda de regiones con baja frecuencia. Para ello hemos puesto de ejemplo un umbral de 10, es decir, regiones que tengan lecturas de cero a nueve: Figura 6.5 Caso de Uso 2 Intersección entre regiones pobres Versión 1.0 Autores Deyán F. Guacarán Sabogal Actor Principal Usuario Descripción El usuario realiza la intersección de regiones pobres entre múltiples pacientes.
37 Escuela de Ingeniería Informática - ULPGC Precondición Que haya disponible como mínimo dos o más ficheros de diferentes pacientes con sus correspondientes regiones pobres. Flujo 1. El usuario selecciona una lista de ficheros de los diferentes pacientes con regiones pobres como ficheros de entrada. 2. El usuario guarda el fichero de salida en la ubicación que desee. 3. El usuario pulsa el b otón “Start”. Tabla 6.7: Caso de Uso 2 A continuación mostraremos una ilustración de cómo está estructurado el caso de uso “Intersección entre regiones pobres” mediante la Figura 6.6: Figura 6.6 Caso de Uso 3 Resultados Estadísticos Versión 1.0 Autores Deyán F. Guacarán Sabogal Actor Principal Usuario Descripción El usuario obtiene diferentes resultados estadísticos tanto para la intersección de regiones pobres de
38 Escuela de Ingeniería Informática - ULPGC múltiples pacientes como también para pacientes individuales. Precondición Que haya disponible ficheros con regiones con baja frecuencia de lectura de diferentes pacientes o la intersección entre ellos. Flujo 1. El usuario selecciona el fichero para obtener los resultados estadísticos como fichero de entrada. 2. El usuario guarda el fichero de salida en la ubicación que desee. 3. El usuario pulsa el b otón “Star t”. Tabla 6.8: Caso de Uso 3 A continuación mostraremos una ilustración de cómo está estructurado el caso de uso “Resultados Estadísticos” mediante la Figura 6.7: Figura 6.7 6.3 RESULTADOS En este capítulo hablaremos sobre los diferentes resultados que generan la aplicación sobre la localización de regiones con baja frecuencia de lecturas, además de otras funciones adicionales como los resultados estadísticos de dichos resultados generados.
39 Escuela de Ingeniería Informática - ULPGC 6.3.1 Depths En esta fase hablaremos sobre el fichero que se genera al realizar el cálculo del número de lecturas de todos los cromosomas. Durante el proceso se extraen las regiones con respecto al umbral introducido por el usuario. Una vez obtenido dichas regiones pobres, se realiza una comparación con las regiones del genoma de referencia de los “homo sapiens” para saber en que zonas son afectadas. A continuación vemos una ilustración de un fichero generado de un determinado paciente al realizar la ejecución en la Figura 6.8 y explicaremos cada uno de los campos: Chrom: Nombre del cromosoma. En nuestros ficheros irán del cromosoma 1 al cromosoma Y. Exon_Start: Comienzo de la posición de la región del exón. Exon_End: Final de la posición de la región del exón. Poor_Start: Comienzo de la posición de la región pobre. Poor_End: Final de la posición de la región pobre. Gene_ID: El identificador estable para el gen. Gene_Name: Nombre del gen. Exon_Number: Posición del exón en la transcripción. Exon_ID: El identificador estable para el exón. Transcript_Name: El nombre de la transcripción. Transcript_Info: Información de la transcipción. Gene_Biotype: El biotipo de este gen. Match: La zona del exón que resulta afectada. Pueden ser de cuatro opciones: left, right, inside y overlap. Hablaremos sobre ello a continuación. Figura 6.8
40 Escuela de Ingeniería Informática - ULPGC En el primer caso, puede ocurrir que la zona que esté afectada sea una parte izquierda de la región del exón. Podemos ver un caso en la siguiente ilustración (Figura 6.9): Figura 6.9 En el segundo caso, puede ocurrir que la zona que esté afectada sea una parte derecha de la región del exón. Podemos observar un caso en la siguiente ilustración (Figura 6.10): Figura 6.10 En el tercer caso, puede ocurrir que la zona afectada se encuentre dentro de la región del exón. Podemos ver un caso en la siguiente ilustración (Figura 6.11):
41 Escuela de Ingeniería Informática - ULPGC Figura 6.11 En el último caso, puede darse la opción de que la zona afectada sea su totalidad ya que la región con baja de frecuencia de lectura sea de más tamaño que la región del genoma de referencia. Podemos ver el caso en la siguiente ilustración (Figura 6.12): Figura 6.12
48 Escuela de Ingeniería Informática - ULPGC en la cobertura 100x que no encontramos en los pacientes con tasa de cobertura 50x. La otra conclusión que hemos llegado es que al hacer una comparación estadística a nivel tanto de genes como de exones que codifican proteínas, podemos analizar que existe una mejora al hacer una cobertura de 100x con respecto al 50x. Secuenciar con una profundidad de 100x es mucho mejor que con la de 50x, ya que la cobertura de encontrar genes codificantes mal secuenciados es mucho mayor, por lo que la rentabilidad en cuánto a coste monetario sería más beneficiosa secuenciar directamente con una profundidad mucho mayor (100x). Es obvio que con MIST (Missing Sequencing Tools) solo hemos hurgado una pequeña parte de algo más grande. La búsqueda de regiones en el ADN que son sospechosos de haber sido mal secuenciados representa un logro científico y tecnológico para la sanidad. Poder con dicha tecnología descubrir regiones causantes de originar una posible enfermedad, o averiguar si el individuo es más o menos susceptible de un determinado medicamento constituye un gran avance en el tratamiento médico, y supone tanto un beneficio económico bastante grande como preciso que los sistemas actuales. Aun así, todavía quedan cosas por hacer en el flujo de trabajo de la localización de regiones mal secuenciadas en el ADN. A continuación exponemos unas cuantas: Optimización y mejora de la herramienta MIST de localización de regiones del ADN con baja frecuencia de lectura. Añadir la herramienta desarrollada al software general DNAnalytics como módulo adicional. Implementar, o encontrar nuevos algoritmos para la búsqueda de identificación de regiones mal secuenciadas en el ADN. Reducir el tiempo de procesamiento de los resultados obtenidos, adaptando la herramienta en máquinas más potentes. Encontrar y estudiar otras herramientas ya desarrolladas similares a nuestro programa, con el fin de realizar una comparación sobre éste.
49 Escuela de Ingeniería Informática - ULPGC 8. Aportaciones. En este capítulo hablaremos de las diferentes aportaciones que presenta nuestro Trabajo Fin de Grado. Con la implementación de la aplicación hemos avanzado considerablemente en muchos factores muy importantes. En primer lugar, dicha aplicación (MIST) aporta saber qué zonas del exoma han sido mal secuenciadas. Por ello si, por ejemplo, un 90 % ha sido de las regiones han sido bien secuenciadas el programa detecta qué zonas del 10 % restante no lo han sido. Con esto nos podemos ahorrarnos tiempo y recursos (ya que reduce el número de exones a secuenciar por Sanger). Por otra parte, en cuánto al factor científico-médico, buscar qué zonas han sido mal secuenciadas es de vital importancia ya que existen regiones que pueden causar enfermedades o incluso la muerte del paciente. Así que las detecciones de estos posibles genes candidatos, permite conocer qué variantes son sospechosas de causar riesgos de salud o nuevas variantes que no han sido descubiertas hasta ahora. Además esta aplicación reduce, claramente, la posibilidad de error por parte de los empleados de la Unidad de Investigación, ya que no sólo se evalúan los resultados obtenidos sino que el experto puede realizar sus comparaciones con los datos suyos llegando así a conclusiones más óptimas. En la actualidad, no existe este método informatizado y que cubra esta necesidad. Con el desarrollo de esta aplicación, conseguimos que los profesionales de dicho sector se encuentren con una herramienta sencilla, intuitiva y útil que agilizará y mejorará las investigaciones para este tipo de estudios.
50 Escuela de Ingeniería Informática - ULPGC 9. Competencias Cubiertas. Para la realización y evaluación de este trabajo fin de grado, se requiere de una serie de competencias, de las cuales enumeraremos y justificaremos las siguientes: 9.1 CII01 Capacidad para diseñar, desarrollar, seleccionar y evaluar aplicaciones y sistemas informáticos, asegurando su fiabilidad, seguridad y calidad, conforme a principios éticos y a la legislación y normativa vigente. 1. Se han diseñado, desarrollado, seleccionado y evaluado aplicaciones y sistemas informáticos ya que se ha tenido que hacer un estudio previamente sobre como sería la obtención de las regiones con baja frecuencia de lectura en el genoma de referencia. 2. Se ha desarrollado una aplicación con la capacidad de automatizar dicha búsqueda, incluyendo las diferentes pruebas tanto de fiabilidad y seguridad como las de calidad, considerando las diferentes normas vigentes. 3. En dicha memoria podemos ver que hemos incluido los apartados “Estado Actual y O bjetivos” y “Recursos” (en el apartado de “Planificación” ), con el fin de cubrir por completo dicha competencia. 9.2 CII02 Capacidad para planificar, concebir, desplegar y dirigir proyectos, servicios y sistemas informáticos en todos los ámbitos, liderando su puesta en marcha y su mejora continua y valorando su impacto económico y social. 1. Para la realización de este proyecto de dicha magnitud, tener una planificación es imprescindible para alcanzar los plazos establecidos del mismo. 2. Si se alcanza satisfactoriamente la presentación del proyecto, ratifica que la competencia ha sido cubierta.
51 Escuela de Ingeniería Informática - ULPGC 3. Cabe destacar que dicho proyecto aunque esté en un proceso de investigación y experimentación, puede tener en un futuro un importante impacto y valor económico. Esto es así, porque dicha herramienta proporciona un ahorro tanto de tiempo como económico muy considerable para los investigadores. 9.3 CII04 Capacidad para elaborar el pliego de condiciones técnicas de una instalación informática que cumpla los estándares y normativas vigentes. Para una acertada utilización de la herramienta desarrollada se ha planteado las siguientes condiciones técnicas: 1. La implementación del módulo de software debe tener una serie de requisitos para llevar a cabo la instalación del mismo: Fiabilidad. Comportamiento constante. Buena calidad del software. Que sea seguro. 2. La intención es que dicha herramienta sea utilizada de forma global para los investigadores quieran hacer uso de ella. En un principio la aplicación se ha planteado en el idioma español, pero cabe la posibilidad de ampliarla a otro idioma si es necesario. 3. En el caso de que fuera necesario realizar diferentes correcciones a dicha herramienta, el proceso de pruebas no debería de afectar a la actividad del mismo. Es preciso analizar y comprobar el funcionamiento antes de efectuar la difusión del producto. 9.4 CII08 Capacidad para analizar, diseñar, construir y mantener aplicaciones de forma robusta, segura y eficiente, eligiendo el paradigma y los lenguajes de programación más adecuados. 1. Como hemos dicho en la anterior competencia, la aplicación debe contener una serie de requisitos para que sea robusta, segura y eficiente.
52 Escuela de Ingeniería Informática - ULPGC 2. Para la implementación de la aplicación, es recomendable que se tome como paradigma la orientación a objetos y que dicho lenguaje sea también imperativo. 3. La portabilidad es técnicamente difícil de lograr, por ello se ha utilizado como lenguaje de desarrollo Java ya que actúa independientemente de la plataforma que estemos trabajando. 9.5 CII018 Conocimiento de la normativa y la regulación de la informática en los ámbitos nacional, europeo e internacional. Actualmente las leyes que están puestas en diferentes países guiadas a proteger la utilización desmedida o/e ilegal de la información obtenida y tratado en equipos informáticos. Desde hace varias años, la mayoría de los países en el ámbito europeo e internacional, han intentado crear/ejecutar leyes relacionados con el acceso ilegal a los sistemas informáticos o el mantenimiento indebido de estos accesos, la propagación de virus u otros métodos para adquirir información ilegal. Todos estos enfoques en países occidentales son muy parecidos a los europeos, ya que el objetivo también es proteger la información que puede ser adquirida de forma ilícita mediante diferentes métodos como la comunicación segura o que la transferencia información sea de lo más confidencial posible. 9.6 TFG01 Ejercicio original a realizar individualmente y presentar y defender ante un tribunal universitario, consistente en un proyecto en el ámbito de las tecnologías específicas de la Ingeniería en Informática de naturaleza profesional en el que se sinteticen e integren las competencias adquiridas en las enseñanzas. Esta competencia ha sido totalmente cubierta en la presente memoria sobre este Trabajo Fin de Grado, en el cual también se ha desarrollado la aplicación a la que se hace mención.
53 Escuela de Ingeniería Informática - ULPGC Para ello hemos hecho previamente un estudio sobre el desarrollo del mismo, desde la planificación e implementación de la herramienta hasta los resultados obtenidos al realizar la ejecución de los diferentes algoritmos desarrollados. Todos estos aspectos pertenecen, evidentemente, a ámbitos de las tecnologías específicas de la Ingeniería en Informática.
54 Escuela de Ingeniería Informática - ULPGC 10. Normativa y Legislación. A continuación se incluirá la legislación vigente que afecta a este Trabajo Fin de Grado en materia de seguridad informática: 10.1 Ley de Protección de datos. En este apartado explicaremos las razones por las cuales esta ley es importante en nuestro proyecto. Una de las principales razones por la que se utiliza esta ley es que la aplicación realiza sus procesos a partir de unos ficheros relacionados con el alineamiento del ADN. Estos ficheros vienen originalmente de muestras de sangre extraída en determinados pacientes, por lo que es de vital importancia proteger cualquier información concerniente a dichas personas identificadas. Además durante la implementación de la aplicación, hacemos operaciones y procedimientos técnicos los cuales nos permiten la recogida, elaboración y modificación de los datos. En nuestro caso, estos datos de carácter personal recogidos en pacientes, sólo podrán ser usados para finalidades relacionadas con las investigaciones biomédicas. Por otro lado, el tratamiento de dichos datos requerirá del consentimiento inequívoco del afectado, salvo que la ley disponga otra cosa. 10.2 Leyes sobre Seguridad. En este apartado hablaremos sobre los diferentes aspectos relacionados con la seguridad que necesita la aplicación desarrollada en este Trabajo Fin de Grado. Para ello enumeramos las siguientes consideraciones a tener en cuenta: 1. La información de los archivos que vayamos a tratar relacionado con determinados pacientes sean de total confidencialidad. 2. Con la posibilidad de que la información en dicho archivos sufra peligro de confidencialidad e integridad en los datos, los equipos informáticos donde vayamos a instalar la aplicación deberán tener un sistema de protección.
55 Escuela de Ingeniería Informática - ULPGC 3. Generalmente las amenazas internas pueden ser más serias que las externas, ya aquellas personas dentro la investigación conocen la red y saben cómo es su funcionamiento, ubicación de la información, datos de interés, etc. Por ello es necesario realizar copias de seguridad, e incluso, si es necesario sistemas de respaldo remoto que permitan mantener la información en dos ubicaciones de forma asíncrona. 4. Aunque en nuestros equipos informáticos tienen el sistema operativo Linux, los virus son uno de los medios más tradicionales de ataque a los sistemas y a la información que los sostienen. Para poder evitar su contagio se deben vigilar los equipos y los medios de accesos a ellos, principalmente la red.
56 Escuela de Ingeniería Informática - ULPGC 11. Manual de Usuario y Software. En este apartado exponemos un sencillo manual de usuario sobre la aplicación desarrollada para los usuarios correspondientes tanto al personal clínico como a los usuarios externos. Para facilitar la interpretación del funcionamiento del mismo, mostraremos varios ejemplos mediante capturas de pantalla. 11.1 Acceso a la aplicación. 1. Haga clic dos veces sobre el archivo llamado “MIST” o selecciónelo y pulse la tecla “Ent er”. 2. A continuación se abrirá la interfaz del programa en el cual está compuesta por tres pestañas superiores: “Depths”, “Comparison” y “Statistical Results”. 11.2 Proceso “Depths”. El proceso que realiza es la localización de regiones del ADN con lecturas por debajo del límite que hemos introducido en el campo numérico “Threshold”. 1. Hacer clic en la pestaña “Depths”. Se ofrecerá la interfaz:
57 Escuela de Ingeniería Informática - ULPGC 2. Dicha interfaz está compuesta por dos secci ones: “Input” y “Output”. 3. Hacer clic en el botón “Browse…” correspondiente a “File BAM” para elegir el fichero de alineamiento del ADN. 4. MIST sólo permite elegir ficheros c on extensión “.BAM”. 5. Hace clic en el botón “Browse…” correspondiente al “File Exons” (Base de datos de exones).
64 Escuela de Ingeniería Informática - ULPGC 2. Hacer clic en el botón “Browse…” correspondiente al campo “File” para elegir el fichero al que queremos realizar el tratamiento. 3. En la sección “Output” hacer clic en el botón “Browse…”, para seleccionar la ubicación del archivo dónde queremos guardar nuestros resultados. El archivo lo podem os generar del tipo “.txt” o “.tsv” (Tab Separated V alues). 4. Hacer clic en el botón “Start” para ejecutar el proceso del programa. 5. El pr ograma mostrará un mensaje de error al pulsar el b otón “Start” en el caso de que no se haya realizado ninguna de las anteriores instrucciones.
65 Escuela de Ingeniería Informática - ULPGC 6. Una vez que el proceso de la aplicación haya terminado, podemos volver a cerrar la aplicación o directamente pasar a otra pestaña.
66 Escuela de Ingeniería Informática - ULPGC 12. Fuentes de información. [1] U.S. DOE Human Genome Project. [2] Peter J. Russell. Genetics. 4ª. Ed. Harper Collins, 1996. [3] Miller SA, Dykes DD y Polesky HF. “A sim ple salting out procedure for extra cting DNA from human nucleated cells”. En: Nucleic Acids Research 16.3 (feb. de 1988), pág. 1215. [4] About BGI. URL: www.genomics.cn [5] Illumina HiSeq 2000. URL: http://www.genomics.cn/en/navigation/show_navigation?nid=4145 [6] An Introduction to Next-Generation Sequencing Technology. URL: http://res.illumina.com/documents/products/illumina_sequencing_introd uction.pdf [7] Miller SA, Dykes DD y Polesky HF. “A sim ple salting out procedure for extra cting DNA from human nucleated cells”. En: Nucleic Acids Research 16.3 (feb. de 1988), pág. 1215. [8] Burrows-Wheeler Aligner. URL: http://bio-bwa.sourceforge.net/ [9] McKenna A y col. “ The Genome Analysis Toolkit: a MapReduce framework for analyzing next-generation DNA seque ncing data”. En: Genome Res. 20. (sep. de 2010), pa gs. 1297-1303. [10] Picard. URL: http://picard.sourceforge.net/ [11] Working with BAM Files. URL: http://www.ncbi.nlm.nih.gov/tools/gbench/tutorial6/ [12] BamView. URL: http://bamview.sourceforge.net/ [13] Samtools. URL: http://samtools.sourceforge.net/ [14] Li H. et al. The Sequence Alignment/Map format and SAMtools. Bioinformatics. 2009 Aug 15; 25(16):2078-9. [15] The Variant Call Format and VCFtools, Petr Danecek, Adam Auton, Goncalo Abecasis, Cornelis A. Albers, Eric Banks, Mark A. DePristo, Robert Handsaker, Gerton Lunter, Gabor Marth, Stephen T. Sherry, Gilean McVean, Richard Durbin and 1000 Genomes Project Analysis Group, Bioinformatics, 2011. [16] Danecek P. et al. The variant call format and VCFtools. Bioinformatics. 2011 Aug 1; 27(15):2156-8.
67 Escuela de Ingeniería Informática - ULPGC [17] Fernando García-Alcalde, Konstantin Okonechnikov, José Carbonell, Luis M. Cruz, Stefan Götz, Sonia Tarazona, Joaquín Dopazo, Thomas F. Meyer, and Ana Conesa "Qualimap: evaluating next-generation sequencing alignment data." Bioinformatics 28, no. 20 (2012): 2678-2679. [18] Xosé M. Fernández-Suárez and Michael K. Schuster Using the Ensembl Genome Server to Browse Genomic Sequence Data. UNIT 1.15 in Current Protocols in Bioinformatics, Jun 2010. www.ncbi.nlm.nih.gov/pubmed/20521244 [19] Blast. Altschul S.F., Gish W., Millwe W., Myers E.W. and Lipman D.J. (1990) Basic local alignment search tool. J. Mol. Biol. 215: 403-410. [20] Paul Flicek, M. Ridwan Amode, Daniel Barrell, Kathryn Beal, Konstantinos Billis, Simon Brent, Denise Carvalho-Silva, Peter Clapham, Guy Coates, Stephen Fitzgerald, Laurent Gil, Carlos García Girón, Leo Gordon, Thibaut Hourlier, Sarah Hunt, Nathan Johnson, Thomas Juettemann, Andreas K. Kähäri, Stephen Keenan, Eugene Kulesha, Fergal J. Martin, Thomas Maurel, William M. McLaren, Daniel N. Murphy, Rishi Nag, Bert Overduin, Miguel Pignatelli, Bethan Pritchard, Emily Pritchard, Harpreet S. Riat, Magali Ruffier, Daniel Sheppard, Kieron Taylor, Anja Thormann, Stephen J. Trevanion, Alessandro Vullo, Steven P. Wilder, Mark Wilson, Amonida Zadissa, Bronwen L. Aken, Ewan Birney, Fiona Cunningham, Jennifer Harrow, Javier Herrero, Tim J.P. Hubbard, Rhoda Kinsella, Matthieu Muffato, Anne Parker, Giulietta Spudich, Andy Yates, Daniel R. Zerbino, and Stephen M.J. Searle Ensembl 2014 Nucleic Acids Research 2014 42 Database issue:D749-D755. doi: 10.1093/nar/gkt1196
68 Escuela de Ingeniería Informática - ULPGC 13. Anexo 1: Formato de ficheros. FASTQ En la siguiente Figura 1.1 observamos como está estructurado los primeras líneas de un f ichero “.fastq”. La primera línea es el identificador (comenzando por @), después del cual viene la secuencia. La línea que comienza con + suele contener otra vez el mismo identificador, aunque se puede omitir para ahorrar espacio en disco. Al final viene una serie de caracteres que representan la calidad, un carácter por cada letra de la secuencia. Para que la cadena de valores de calidad tenga la misma longitud que la secuencia, se codifica el número convirtiéndolo en un carácter ascii. Para evitar caracteres ascii que no se pueden desplegar en pantalla, se suele agregar 33 al número de calidad antes de codificarlo. Figura 1.1 VCF En las siguientes Figuras 1.2 y 1.3 podemos observar como está estructurado un archivo de variantes de forma to “.VCF” [15] :
69 Escuela de Ingeniería Informática - ULPGC Figura 1.2 En esta primera imagen observamos las primeras líneas del archivo “.vcf”, en el cual nos expone una información (meta-información) de cómo será el contenido y la estructura que tendrá dicho fichero. Esta metainformación es inc luida después de la cadena “##” y debe ser formada por “clave = valor”. En estas primeras líneas encontramos los siguientes campos asociados a sus valores: Fileformat: Este campo siempre es requerido y debe ser la primera línea del fichero. Informa del número de la versión del fichero de las variantes. Info: Este campo puede ser de varios tipos: entero, real, flag, carácter y cadena. Ta mbién contiene un campo “Number” que es de tipo entero en el cuál se describe el número de valores que puede ser incluido con el camp o “Info”. Filter: Este campo informa de los filtros que se han aplicado a los datos. Format: Este campo indica los diferentes campos del Genotipo que se van a exponer. Contig: Es un conjunto de lecturas contiguas que están relacionadas entre sí mediante la superposición de secuencias. Al igual que con las secuencias cromosómicas es muy recomendable que la cabecera incluya etiquetas que d escriben los “contigs” que hacen referencia al fichero “. vcf”. El formato es idéntico a la de una secu encia de referencia, pero con una etiqueta URL adicional que indica dónde puede ser encontrado la secuencia.
70 Escuela de Ingeniería Informática - ULPGC En la Figura 5.6 vemos como está estructurado las líneas de los datos del fichero. Está formado por 8 campos (además de 2 campos más que son opcionales), en el cuál todas sus líneas están delimitados por tabuladores. Los valores perdidos están especificados por un “.”. A continuación explicaremos cada uno de los campos que está estructurado dichas líneas: CHROM (cromosoma): Contiene un identificador a partir del genoma de referencia o una cadena ID entre corchetes que apunta a un “contig” en el archivo de ensamblado. Todas las entradas para un específico cromosoma deben formar un bloque contiguo en el VCF. POS: La posición de referencia, con la primera base que tiene la posición 1. Las posiciones son ordenadas numéricamente, en orden creciente, dentro de cada secuencia de referencia CHROM. Se permite tener múltiples registros con el mismo punto de venta. Los telómeros xvii son indicados usando las posiciones 0 o N+, dónde N es la longitud del correspondiente cromosoma o contig. ID: Identificador de la variante. Si se trata de una variante de tipo “dbSNP” se incita a utilizar el/los número/s rs. Sin identificador debería estar presente en más de un registro de datos. Si no existiera ninguna identificación posible, se le asigna el valor perdido por defecto. REF (base de referencia): Cada base debe ser uno de A, C, G, T, N. Se permiten múltiples bases. El valor en el campo POS se refiere a la posición de la primera base de la cadena. Para inserciones y deleciones en los que tanto REF o uno de los alelos de ALT deberían de otro modo ser vacíos/nulos, las cadenas REF y ALT deben incluir la base antes del evento (debe reflejarse en el Figura 1.3
71 Escuela de Ingeniería Informática - ULPGC campo POS), a menos que el evento se produzca en la posición 1 en el contig en cuyo caso se debe incluir la base después del evento. ALT (base alternativa): Las opciones son cadenas de bases formadas por las bases A, C, G, T, N o un identificador ID o una cadena alternativa llamada “breakend”. Si no hay alelos alternativos, entonces se debe usar el valor perdido. QUAL: En campo se utiliza para asignar un valor de calidad con respecto al campo ALT. Las puntuaciones altas indican llamadas de alta confianza. FILTER: Este campo tendrá el valor “PASS” si la posición ha pasado todos los filtros, es decir, si se ha realizado una llamada a esta posición. De lo contrario, si no se ha pasado todos los filtros, se hace una lista separados por “;” de los filtros que han sido frustrados. INFO: En este campo se añade información adicional si se requi ere. Está codificado como una seri e separada por “;” con el formato “clave = valor”.
72 Escuela de Ingeniería Informática - ULPGC 14. Anexo 2: Herramientas Adicionales. Existen herramientas adicionales para ser utilizadas en el tratamiento de ficheros específicos, aunque no están relacionadas con alguna fase en particular en el flujo de análisis del ADN. Una de las herramientas que son imprescindibles para el tratamiento con el ADN es el conjunto de paquetes Samtools/Picard. Estos dos paquetes se encargan de la manipulación de los ficheros en formato SAM y su correspondiente binario BAM, referente al alineamiento de secuencias. Samtools Es un conjunto de utilidades que manipulan los alineamientos en el formato de BAM. Importa y exporta a partir del formato SAM (Sequence Alignment / Map), la no clasificación, la fusión y la indexación, y permite recuperar lecturas en cualquier región con rapidez. [14] Samtools está diseñado para trabajar en “stream” (lectura continua). Considera un archivo de entrada "-" como la entrada estándar (stdin) y un archivo de salida "-" como la salida estándar (stdout). Varios comandos de se pueden combinar con “pipes” xviii de Unix. Samtools siempre alerta de las salidas y los mensajes de error a la salida de error estándar (stderr). También es capaz de abrir un BAM (no SAM) de archivos en un FTP remoto o servidor HTTP si el nombre de archivo de BAM comienza con "ftp://" o "http://". Samtools comprueba el directorio de trabajo actual para el archivo de índice y se descargará el índice sobre la ausencia. No recupera el archivo de alineación entero, a menos que le pidamos que lo haga. Una vez instalada la herramienta, podremos visualizar este tipo de ficheros de alineamiento de secuencias. Dicha herramienta posee diferentes opciones que vamos a ver a continuación: samtools view: Extrae o imprime todo o parte de los alineamientos en el formato SAM o BAM. Si no se especifica ninguna región, se imprimirán todas las regiones; de lo contrario sólo alineamientos superpuestos de las regiones especificadas serán mostradas. Un alineamiento se puede administrar varias veces si es la superposición de varias regiones.
73 Escuela de Ingeniería Informática - ULPGC samtools sort: Ordena alineamientos por las coordenadas del extremo izquierdo. samtools index: Indexa el alineamiento ordenado para acceso a leatorio rápido. Genera un fichero en formato “.BAI”. samtools idxstats: Recupera e imprime estadísticas en el fichero índice. La salida está delimitado por tabuladores con cada línea que consiste en nombre de la secuencia de referencia, longitud de la secuencia, lecturas mapeadas y lecturas no mapeadas. samtools merge: Combina múltiples alineamientos ordenados. La listas de referencias de cabecera de todos los archivos de BAM de entrada, y los @SQ cabeceras, si los hay, todos deben referirse al mismo conjunto de secuencias de referencia. samtools faidx: Indexa la secuencia de referencia en el formato FASTA o extrae una subsecuencia de la secuencia de referencia indexada. Si no se especifica ninguna región, “faidx” indexará el archivo y crea <ref.fasta> en el disco. Si las regiones son especificadas, las subsecuencias se recuperarán y se imprimen por la salida estándar en el formato FASTA. El archivo de entrada puede ser comprimido en el formato RAZF. samtools mpileup: Genera BCF o “pileup” xix para uno varios archivos de BAM. Los registros de alineamiento son agrupados por identificadores de muestra en @RG líneas de cabecera. Si los identificadores se encuentran ausentes, cada archivo de entrada se considera una muestra. Samtools tviews: Visor de alineamiento de texto (basado en la biblioteca ncurses). Otra herramienta que explicaremos a continuación se llama “VCFTools” diseñado para la manipulación de ficheros VCF. VCFTools Es un paquete de programas diseñados para trabajar con archivos VCF, como los generados por el Proyecto 1000 genomas. El objetivo de