0720096_00000_0000.pdf

Anuncio
UNIVERSIDAD DE LAS PALMAS DE GRAN CANARIA
Máster Oficial en Sistemas Inteligentes y Aplicaciones Numéricas en Ingenierı́a
Trabajo Final de Máster
Sistema de evaluación de variantes genéticas
Pascual Lorente Arencibia
Tutores
José Juan Hernández Cabrera
Antonio Tugores Cester
11 de enero de 2016
Agradecimentos
Quiero agradecer a los tutores Antonio Tugores Cester y José Juan Hernández
Cabrera su ayuda en todo el proceso de este Trabajo.
Gracias a los profesores del máster. Me han enseñado algo más que el contenido de los proyectos docentes.
Gracias a los compañeros de la UICHUMI y del Máster SIANI. El trabajo
siempre se hacer mejor en compañı́a.
Gracias a mi familia por darme un respiro lejos del trabajo.
Gracias a Naira, por aguantarme y apoyarme incondicionalmente.
Resumen
Las variantes genéticas individuales pueden determinar la presencia de enfermedades genéticas de etiologı́a desconocida y su conocimiento puede ayudar
a hacer un diagnóstico precoz e incluso mejorar el tratamiento.
La secuenciación masiva de exoma (NGS), permite conocer un gran número
de variantes por paciente como aproximación sin hipótesis.
Para establecer una relación entre una variante y una patologı́a hay que
evaluar las caracterı́sticas de cada variante y las interacciones que hay entre los
genes relacionados con ambas.
En este trabajo presentamos un programa informático que evalúa cada variante y otorga una puntuación a cada gen afectado según sus interacciones y su
distancia al fenotipo seleccionado para facilitar la tarea de selección de variantes
candidatas.
Índice general
1. Introducción
1
1.1. Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.3. Estructura del ADN . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.4. Variantes genéticas . . . . . . . . . . . . . . . . . . . . . . . . . .
4
1.5. Tecnologı́as de secuenciación
. . . . . . . . . . . . . . . . . . . .
5
1.6. Funciones de los genes . . . . . . . . . . . . . . . . . . . . . . . .
7
1.7. Software actual . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
1.7.1. Phenotype Based Gene Analyzer . . . . . . . . . . . . . .
8
1.7.2. Search Tool for the Retrieval of Interacting Genes/Proteins
9
1.7.3. Sorting Intolerant From Tolerant . . . . . . . . . . . . . .
10
1.7.4. Polymorphism Phenotyping . . . . . . . . . . . . . . . . .
10
1.7.5. Variant Effect Predictor . . . . . . . . . . . . . . . . . . .
11
2. Estado del arte
12
2.1. Big Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
VI
12
Pascual Lorente Arencibia
ÍNDICE GENERAL
2.2. Business Intelligence . . . . . . . . . . . . . . . . . . . . . . . . .
15
2.3. Inteligencia Artificial . . . . . . . . . . . . . . . . . . . . . . . . .
15
2.4. Interfaz de usuario . . . . . . . . . . . . . . . . . . . . . . . . . .
16
3. Desarrollo
19
3.1. Justificación del proyecto . . . . . . . . . . . . . . . . . . . . . .
19
3.2. Recursos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
3.3. Data warehouse . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
3.3.1. HUGO Gene Nomenclature Comitee . . . . . . . . . . . .
21
3.3.2. Online Mendelian Inheritance in Man . . . . . . . . . . .
22
3.3.3. Human Protein Reference Database . . . . . . . . . . . .
22
3.3.4. Biological General Repository for Interaction Datasets . .
23
3.3.5. Mentha . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
3.3.6. The Human Protein Atlas . . . . . . . . . . . . . . . . . .
23
3.4. Evaluación de variantes . . . . . . . . . . . . . . . . . . . . . . .
23
3.5. Entrada de datos . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
3.6. Interfaz de usuario . . . . . . . . . . . . . . . . . . . . . . . . . .
27
3.6.1. Pantalla de fenotipos . . . . . . . . . . . . . . . . . . . . .
27
3.6.2. Pantalla de genes . . . . . . . . . . . . . . . . . . . . . . .
27
4. Resultados
29
5. Conclusiones
32
5.1. Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SIANI — ULPGC
33
VII
Pascual Lorente Arencibia
ÍNDICE GENERAL
A. Obtención de variantes
34
B. Variant Call Format
37
C. Estructura de Poirot
39
D. Consecuencias
41
E. Interacciones
44
SIANI — ULPGC
VIII
Índice de figuras
1.1. Estructura quı́mica del ADN . . . . . . . . . . . . . . . . . . . .
3
1.2. Secuenciación usando el método de Sanger . . . . . . . . . . . . .
6
1.3. Diagrama de red de Phenolyzer . . . . . . . . . . . . . . . . . . .
9
1.4. Afinidad fı́sica de los aminoácidos . . . . . . . . . . . . . . . . . .
11
2.1. Estructura y tablas de un modelo relacional . . . . . . . . . . . .
13
2.2. Sistema experto para diagnóstico . . . . . . . . . . . . . . . . . .
17
3.1. Estructura del data warehouse
. . . . . . . . . . . . . . . . . . .
22
3.2. Grafo de interacciones de Poirot . . . . . . . . . . . . . . . . . .
24
3.3. Pantalla de fenotipos . . . . . . . . . . . . . . . . . . . . . . . . .
28
3.4. Pantalla de genes . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
4.1. Interacciones de los genes más implicados en la hipercolesterolemia 31
C.1. Diagrama de clases . . . . . . . . . . . . . . . . . . . . . . . . . .
40
D.1. Posición de cada variante según su consecuencia . . . . . . . . . .
41
IX
Índice de tablas
1.1. Tabla de codones . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
1.2. Códigos de los aminoácidos . . . . . . . . . . . . . . . . . . . . .
4
2.1. Base de datos en formato tabular . . . . . . . . . . . . . . . . . .
14
3.1. Registros por base de datos . . . . . . . . . . . . . . . . . . . . .
21
3.2. Valor de cada consecuencia . . . . . . . . . . . . . . . . . . . . .
25
3.3. Valor de cada interacción . . . . . . . . . . . . . . . . . . . . . .
26
4.1. Enfermedades de mayor valor . . . . . . . . . . . . . . . . . . . .
30
4.2. Genes implicados en la hipercolesterolemia familiar . . . . . . . .
30
B.1. Columnas del formato VCF. . . . . . . . . . . . . . . . . . . . . .
38
B.2. Ejemplo de fichero VCF. . . . . . . . . . . . . . . . . . . . . . . .
38
X
Capı́tulo 1
Introducción
1.1.
Motivación
El ADN es uno de los descubrimientos más importantes del siglo 20[1]. Esta
molécula es la encargada de determinar la estructura de los seres vivos y dirigir
los procesos naturales que en ellos se realizan.
De entre los múltiples usos que tiene conocer la secuencia genética de un ser
humano, destacamos tres que están implicados en la medicina:
1. Diagnosticar enfermedades antes de que se manifiesten sus sı́ntomas, pudiendo retrasar sus aparición y reducir sus efectos.
2. Mejorar y personalizar los tratamientos: conocer y tratar el origen de una
enfermedad es mejor que tratar los sı́ntomas.
3. Conocer la respuesta de una persona ante ciertos medicamentos, ya que
la forma en que una persona tolera o rechaza un medicamento está determinada por su configuración genética.
Este Trabajo Final de Máster es parte de un proyecto mayor que se desarrolla
en la Unidad de Investigación del Complejo Hospitalario Universitario Insular Materno Infantil (UICHUIMI). Este proyecto quiere mejorar el diagnóstico de
enfermedades genéticas utilizando la secuenciación de exoma de nueva generación para lograr determinar la relación entre variantes y patologı́as. Hasta ahora,
las herramientas desarrolladas en la UICHUIMI permiten alinear las secuencias
1
Pascual Lorente Arencibia
CAPÍTULO 1. INTRODUCCIÓN
de ADN, localizar las variantes genéticas, etiquetarlas y filtrarlas en base a la
información conocida.
1.2.
Objetivos
La UICHUIMI plantea la creación de un software que analice un listado de
variantes genéticas y determine cuáles son más relevantes para una determinada
patologı́a o fenotipo en función de las interacciones entre los genes asociados a
las variantes.
Los objetivos principales del software son:
1. Mostrar un ranking de genes puntuados de 0 a 1 según su relevancia con
una o varias patologı́as y expresiones seleccionadas.
2. Mostrar los genes relacionados y las interacciones entre un gen con al
menos una variante y la patologı́a o expresión escogidos.
1.3.
Estructura del ADN
El genoma humano es una cadena de doble hélice de más de 3 mil millones
de nucleótidos, moléculas orgánicas unidas a través de un enlace de fosfodiéster.
Cada nucleótido se diferencia de los demás por su base nitrogenada, que puede
ser Adenina, Guanina, Citosina o Timina. Las dos hélices son complementarias
y están unidas por las bases nitrogenadas: la Adenina se une a la Timina y la
Guanina a la Citosina.
Cada ser humano tiene dos cadenas de ADN, una heredada del padre y otra
de la madre. Estas cadenas se dividen en 23 cromosomas cada una. 22 de estos
cromosomas son idénticos en forma y longitud, pero no en contenido, mientras
que el último es igual en las mujeres (XX) pero no en los hombres (XY).
Los genes son las regiones del ADN que se traducen en proteı́nas. En total,
se han descubierto entre 22.000 y 25.000 en el ADN humano, que representan
un 2 % del total de su longitud. El conjunto de las regiones donde se localizan
los genes es conocido como el exoma.
SIANI — ULPGC
2
Pascual Lorente Arencibia
CAPÍTULO 1. INTRODUCCIÓN
extremo 5'
O_
NH2
O
O
O
O
extremo 3'
OH
HN
O
O_
O
NH2
O
O
O
HN
O
H2N
O_
O
O
Estructura
de soporte
H2N
O
O
NH
O
O_
O
O
O
H2N
O
O
O
NH
O
NH2
O
OH
extremo 3'
O_
O
_O
extremo 5'
Figura 1.1: Estructura quı́mica del ADN. Imagen de Miguelsierra via Wikimedia
Commons.
Las proteı́nas son generadas en el interior de las células a través de un proceso
conocido como sı́ntesis de proteı́nas[2]. Este proceso tiene dos fases:
1. Fase de activación: El gen es copiado en el núcleo de la célula. La copia
la realiza el ARN polimerasa y va en un ARN mensajero. El ADN no se
encuentra nunca fuera del núcleo.
2. Fase de traducción: El ARN mensajero llega al ribosoma, que traduce
cada triplete de bases nitrogenadas –codón– en un aminoácido en base a la
tabla 1.1, empezando por un codón de inicio y terminando en un codón de
parada. Los aminoácidos forman una cadena tridimensional dando lugar
a una proteı́na.
Las proteı́nas cumplen diversas tareas en el organismo: estructuran y protegen el cuerpo –colágeno, anticuerpos–, regulan y catalizan sus procesos –insulina,
enzimas– o transportan las sustancias de un extremo al otro –hemoglobina–. Todas estas caracterı́sticas son conocidas como el fenotipo.
SIANI — ULPGC
3
Pascual Lorente Arencibia
TTT
TTC
TTA
TTG
CTT
CTC
CTA
CTG
ATT
ATC
ATA
ATG
GTT
GTC
GTA
GTG
F
F
L
L
L
L
L
L
I
I
I
M/start
V
V
V
V
CAPÍTULO 1. INTRODUCCIÓN
Codón aminoácido
TCT S
TAT
TCC S TAC
TCA S TAA
TCG S TAG
CCT P CAT
CCC P CAC
CCA P CAA
CCG P CAG
ACT T AAT
ACC T AAC
ACA T AAA
ACG T AAG
GCT A GAT
GCC A GAC
GCA A GAA
GCG A GAG
Y
Y
stop
stop
H
H
Q
Q
N
N
K
K
D
D
E
W
TGT
TGC
TGA
TGG
CGT
CGC
CGA
CGG
AGT
AGC
AGA
AGG
GGT
GGC
GGA
GGG
C
C
stop
W
R
R
R
R
S
S
N
N
G
G
G
G
Tabla 1.1: Tabla de codones. 64 codones codifican 20 aminoácidos y un codón
de parada. La Metionina funciona también como codón de inicio. Los nombres
de los aminoácidos pueden versen en la tabla 1.2.
A
E
H
L
P
S
W
start
Alanina
Ácido glutámico
Histidina
Leucina
Prolina
Serina
Triptófano
Codón de inicio
C
F
I
M
Q
T
Y
stop
Cisteı́na
Fenilalanina
Isoleucina
Metionina
Glutamina
Treonina
Tirosina
Codón de parada
D
G
K
N
R
V
Ácido aspártico
Glicina
Lisina
Asparagina
Arginina
Valina
Tabla 1.2: Códigos de los aminoácidos
1.4.
Variantes genéticas
El 99,99 % del ADN es igual en todos los seres humanos. El 0.01 % restante
es lo que hace que seamos diferentes. Estas diferencias son conocidas como
variantes y pueden ocurrir en cualquier punto del genoma. Si una variante está
SIANI — ULPGC
4
Pascual Lorente Arencibia
CAPÍTULO 1. INTRODUCCIÓN
presente en un gen o en sus alrededores, puede producir cambios en la proteı́na
generada. Cuando el cambio en la proteı́na tiene efectos negativos sobre el ser
humano –una patologı́a– se etiqueta como mutación y si el efecto es positivo se
denomina ventaja.
Las variantes se clasifican según su tamaño –pequeñas si tienen menos de
1000 pares de bases y grandes si tienen más– y según su morfologı́a[3].
Dentro de las variantes pequeñas encontramos:
Single Nucleotide Polymorphism (SNP) Una base es sustituida por otra,
sin alterar el tamaño de la cadena. Como un codón es definido por tres
bases, es posible que el nuevo codón siga codificando el mismo aminoácido
–variante sinónima–, o que haya un cambio en la secuencia de una proteı́na
–no sinónima–.
Insertion/Deletion (Indel) Una o varias bases son insertadas o eliminadas
de un punto concreto de la cadena. Dependiendo de si la InDel es múltiplo
de 3, o de la posición en el gen en que se encuentra, puede modificar
drásticamente la proteı́na resultante al alterar la pauta de lectura.
Las variantes grandes pueden ser:
Copy Number Variation (CNV) Una alteración en el número de veces que
aparece un fragmento en el ADN. Puede no estar ninguna vez, o estar dos
o más veces consecutivas.
Translocation Un fragmento de un cromosoma se desplaza de posición, en el
mismo o en otro cromosoma.
Inversion Un fragmento de un cromosoma aparece en la misma posición, pero
sus bases están en orden inverso.
1.5.
Tecnologı́as de secuenciación
Para encontrar las variantes del genoma de una persona, hay que secuenciar
su material genético. La secuenciación es el proceso de lectura de la bases nitrogenadas de una cadena de ADN o ARN. Hoy en dı́a se utilizan dos estrategias:
secuenciar poco con mucha calidad o secuenciar mucho con poca calidad.
Sanger[4] En 1977, este bioquı́mico desarrolló un método que permitı́a secuenSIANI — ULPGC
5
Pascual Lorente Arencibia
CAPÍTULO 1. INTRODUCCIÓN
ciar unos cientos de pares de bases (300–1000) en una posición determinada.
Para ello, se sintetizan dos cadenas artificiales de ADN –cebadores– de
unas 17-25 bases de longitud que coinciden con el inicio y el fin del fragmento que se desea secuenciar.
Estos cebadores son necesarios para que una polimerasa de ADN copie las
cadenas complementarias y termine, aleatoriamente, en posiciones A,C,T
o G. Ello se consigue al introducir dideoxinucleótidos (ddATP, ddGTP,
ddCTP, ddTTP) que no permiten elongar la cadena más allá del punto donde se incorporan. Los fragmentos resultantes se separan mediante
electroféresis en acilamida, detectándose mediante un sistema radiactivo
o fluorescente para cada ddNTP.
El resultado es una imagen o gráfica donde es posible leer la secuencia.
Figura 1.2: Secuenciación usando el método de Sanger. Imagen de Abizar via
Wikimedia Commons.
Este método es ideal para variantes conocidas y es el que se utiliza actualmente para el diagnóstico clı́nico de enfermedades genéticas.
Next Generation Sequencing (NGS) No hace referencia a una sola tecnologı́a, sino a muchas que han surgido a raı́z de las mejoras en computación
del siglo XXI[5]. El objetivo de la secuenciación de nueva generación es
determinar la secuencia de la mayor parte del genoma o el exoma de un
individuo.
Para ello se fragmenta el ADN en cientos de miles de trozos, shotgun sequencing, que son asociados a una serie de adaptadores predefinidos. Estos
SIANI — ULPGC
6
Pascual Lorente Arencibia
CAPÍTULO 1. INTRODUCCIÓN
adaptadores capturan muy bien pequeños fragmentos de ADN de entre 40
y 200 pares de bases. Después, estos adaptadores, con los fragmentos de
ADN, se escanean por fluorescencia. La máquina muestra como resultado
decenas de millones de secuencias de entre 40 y 200 pares de bases, sin
especificar su posición en el ADN.
Posteriormente, un ordenador tendrá que alinear estas secuencias como si
montara un puzzle. Si se conoce el genoma de la especie, entonces habrá
una referencia con la que alinear. Si no se conoce, el ADN se reconstruirá
comparando los fragmentos entre sı́ –secuenciación de novo.
El alineamiento añade incertidumbres al exoma o genoma secuenciado,
porque una cadena puede estar alineada con dos o más regiones del ADN,
y porque se permite un cierto grado de libertad para que se alineen las
secuencias que contienen variantes. Además, los fragmentos son demasiado
pequeños como para detectar variantes grandes. El proceso computacional
de alineamiento y búsqueda de variantes se detalla en el apéndice A.
El NGS se está extendiendo cada vez más gracias al abaratamiento de los
costes de secuenciación –un exoma humano cuesta alrededor de $1000– y al
aumento de las prestaciones computacionales. Sin embargo, la secuenciación
por Sanger sigue siendo necesaria para el diagnóstico de enfermedades genéticas
conocidas y la confirmación de las variantes determinadas por NGS.
La secuenciación masiva de exoma permite realizar estudios sin hipótesis
previa en la zona cuyo significado biológico conocemos[6, 7]. Esta estrategia
ha sido utilizada con éxito en algunas pruebas diagnóstico, siendo capaz de
identificar variantes asociadas en, aproximadamente, el 25 % de los pacientes[8,
9, 10, 11].
1.6.
Funciones de los genes
El catálogo del genoma está bastante completo, ya que existen varias estrategias para determinar si una región del ADN es un gen [12]. Una vez se localiza
un gen es posible traducirlo en una cadena de aminoácidos usando la tabla de
codones –tabla 1.1– y ası́ conocer la secuencia de la proteı́na.
Para determinar cuál es la función de una proteı́na existen dos estrategias:
la genética y la experimental. La genética consiste en introducir una mutación
SIANI — ULPGC
7
Pascual Lorente Arencibia
CAPÍTULO 1. INTRODUCCIÓN
en un organismo modelo y comprobar si revela un cambio en una función. La
experimental es similar, pero se realizan en un ensayo in vitro.
Muchas de estas técnicas han sido descubiertas y desarrolladas gracias al
estudio de la Drosophila melanogaster –mosca de la fruta. Este animal posee 4
pares de cromosomas y muchos de sus genes son homólogos a los del ser humano.
Además, tiene un ciclo de vida muy corto, de 15 a 21 dı́as, y se reproduce con
mucha facilidad[13].
1.7.
Software actual
Existen muchos programas que ayudan a establecer la relación entre variante
y patologı́a o entre gen/proteı́na y función. Presentamos algunos de los más
relevantes.
1.7.1.
Phenotype Based Gene Analyzer
Phenotype Based Gene Analyzer (Phenolyzer)[14] es una herramienta que
localiza los genes relacionados con enfermedades o fenotipos basados en palabras
claves.
A Phenolyzer se le pasa un lista de términos de fenotipos y genera una lista
de genes cada uno con un valor de la posibilidad de estar relacionado con alguno
de los fenotipos.
Su algoritmo es sencillo: a través de las palabras clave genera una lista de enfermedades. Después localiza los genes asociados a estas enfermedades y entonces
comienza a buscar relaciones gen a gen para hacer crecer el árbol. Finalmente,
integra toda la información y genera un valor por cada gen.
En la figura 1.3 se puede ver la red de los genes con mayor relación con las
enfermedades hypercholesterolemia y obesity.
Phenolyzer utiliza las siguientes fuentes:
Para enfermedades: Medic disease vocabulary[15] de Comparative Toxicogenomics Database, Disease Ontology[16] de Institute for Genome Sciences
SIANI — ULPGC
8
Pascual Lorente Arencibia
CAPÍTULO 1. INTRODUCCIÓN
Figura 1.3: Diagrama de red de Phenolyzer
y Disease synonyms[17] de Online Mendelian Inheritance in Man.
Para relaciones entre genes y enfermedades: Gene map[17] de Online Mendelian Inheritance in Man (OMIM), Clinical Variant database (ClinVar)[18]
de National Center for Biotechnology Information (NCBI), GeneReviews[19]
de NCBI, Orphanet[20] y the Genome Wide Association Studies[21].
Para las relaciones gen a gen: Human Protein Relation Database (HPRD)[22],
Biosystem[23] de NCBI, Gene Family[24] de Human Genome Organization
(HUGO) Gene Nomenclature Committee y Human Transcription Interaction (HTRI).
1.7.2.
Search Tool for the Retrieval of Interacting Genes/Proteins
Search Tool for the Retrieval of Interacting Genes/Proteins[25] (STRING) es
una base de datos de interacciones entre proteı́nas, tanto conocidas como predichas. Estas interacciones pueden ser directas –fı́sicas– o indirectas –funcionales.
SIANI — ULPGC
9
Pascual Lorente Arencibia
CAPÍTULO 1. INTRODUCCIÓN
STRING establece una puntuación para cada interacción en función de:
Vecindad en el genoma
Fusiones
Coocurrencias en el genoma
Coexpresión
Experimentos
Asociación en bases de datos
Mención en artı́culos
STRING integra datos de estas fuentes para un gran número de organismos, y transfiere información entre estos organismos cuando puede. En estos
momentos contiene 9.643.763 proteı́nas de 2031 organismos.
1.7.3.
Sorting Intolerant From Tolerant
Sorting Intolerant From Tolerant[26] (SIFT) es un software que predice si un
cambio de aminoácido afecta a la función de la proteı́na basándose en secuencias
homólogas –secuencias conservadas en otras especies– y en las propiedades fı́sicoquı́micas–ver figura 1.4– de los aminoácidos. Estas propiedades determinan si
una sustitución de una aminoácido por otro es más o menos drástica en base al
cambio funcional y/o estructural esperado.
SIFT sirve tanto para polimorfismos no sinónimos como para mutaciones
creadas en laboratorio.
1.7.4.
Polymorphism Phenotyping
Polymorphism Phenotyping v2[27] (PolyPhen) es una herramienta que predice el impacto posible de una sustitución de aminoácido en la estructura y
función de una proteı́na humana usando basándose en evidencias fı́sicas y comparativas. Algunas de sus caracterı́sticas son:
Alineamiento de secuencias múltiples de alta calidad
Clasificador probabilı́stico basado en entrenamiento de máquinas
SIANI — ULPGC
10
Pascual Lorente Arencibia
CAPÍTULO 1. INTRODUCCIÓN
Figura 1.4: Afinidad fı́sica de los aminoácidos. Los globos agrupan las sustituciones en teorı́a más conservativas en base a la estructura de y propiedades
fı́sico-quı́micas de las aminoácidos.
Optimizado para datos NGS
1.7.5.
Variant Effect Predictor
Variant Effect Predictor[28] (VEP) es la herramienta de Ensembl para anotar
y predecir el impacto de una variante en un gen, transcrito, secuencia de proteı́na
o región reguladora. Añade más de 30 etiquetas a cada variante, incluyendo el
gen y transcrito, consecuencia de la variante, frecuencia en otras poblaciones o
la predicción SIFT y Polyphen.
SIANI — ULPGC
11
Capı́tulo 2
Estado del arte
En el ámbito de las Ciencias de la Computación se han desarrollado en las
últimas décadas disciplinas y herramientas que resultan muy útiles para el tratamiento de problemas cuya resolución se basa en manipular grandes volúmenes
de datos. A continuación haremos una breve referencia a aquellos que resultan
útiles para el problema que tratamos en este documento.
2.1.
Big Data
Se conoce como Big Data a grandes conjuntos de datos que contiene información relevante. Cuando se tienen bases de datos de distintas fuentes, hay que
tener en cuenta ciertos problemas.
En primer lugar, el Sistema de Gestión de Bases de Datos (SGBD). Tradicionalmente los datos se han almacenado utilizando SGBD relacionales, que
organizan los datos en tablas fuertemente definidas. Son sistemas robustos y con
baja tolerancia a errores, ya que no permiten que un mismo dato se almacene en
dos lugares diferentes. Podemos ver un pequeño ejemplo de modelo relacional
en la figura 2.1.
Sin embargo, con la expansión de internet y la aparición constante de nuevos
datos de distintas fuentes, muchas organizaciones optan por SGBD orientados
a documentos, que almacenan los datos en documentos autodefinidos. Estos
12
Pascual Lorente Arencibia
CAPÍTULO 2. ESTADO DEL ARTE
Estudiantes
Id
Nombre
e1 Andrés Garcı́a
e2 Manuel Gómez
Asignaturas
Id Nombre
a1 Matemáticas
a2 Fı́sica
Estudia
id estudiante id asignatura
e1
a1
e2
a1
e1
a2
e2
a2
Nota
B
C
A
B
Figura 2.1: Estructura y tablas de un modelo relacional
documentos suelen usar la forma clave-valor, de modo que un documento fuera
de sus entorno puede aún ser comprendido.
Código 2.1: Ejemplo de fichero en formato JSON
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
" estudiantes " : [
{ " id " : " e 1 " , " nombre " :
{ " id " : " e 2 " , " nombre " :
],
" asignaturas " : [
{ " id " : " a 1 " , " nombre " :
{ " id " : " a 2 " , " nombre " :
],
" estudia " : [
{
" id_est " : " e 1 " ,
" id_asig " : " a 1 " ,
" nota " : " B "
},{
" id_est " : " e 2 " ,
SIANI — ULPGC
" Andres Garcia " } ,
" Manuel Gomez " } ,
" Matematicas " } ,
" Fisica " } ,
13
Pascual Lorente Arencibia
" id_asig " : " a 1 " ,
" nota " : " C "
17
18
},{
19
" id_est " : " e 1 " ,
" id_asig " : " a 2 " ,
" nota " : " A "
20
21
22
}, {
23
" id_est " : " e 2 " ,
" id_asig " : " a 2 " ,
" nota " : " B "
24
25
26
},
27
]
28
29
CAPÍTULO 2. ESTADO DEL ARTE
}
Cabe destacar que muchas organizaciones a lo largo de internet, independientemente de cómo almacenen sus datos, los publican en forma de una sola
tabla, como en la tabla 2.1.
id est
e1
e2
e1
e2
n est
Andrés Garcı́a
Manuel Gómez
Andrés Garcı́a
Manuel Gómez
id asig
a1
a1
a2
a2
n asig
Matemáticas
Matemáticas
Fı́sica
Fı́sica
nota
B
C
A
B
Tabla 2.1: Base de datos en formato tabular
El segundo problema es el formato de los datos. A menudo, el mismo dato
se almacena de forma diferente en distintas bases de datos. Por ejemplo, las
fechas tienen multitud de formas de representación (dd-mm-aaaa, mm/dd/aaaa,
aaaammdd). Algunos modelos incluso utilizan dos o tres campos diferentes (dı́a,
mes, año). Los números utilizan distinto separador de decimales en inglés –un
punto (7.2)– y en español –una coma (7,2). Los nombres de personas pueden
escribirse en uno o dos campos–nombre y apellido– y dentro del mismo campo
puede escribirse de forma diferente–apellidos, nombre frente a nombre apellidos–
.
Existen herramientas como Pentaho Data Integration[29] que ayudan a unificar bases de datos, definiendo la estructura final y cómo se tiene que procesar
cada recurso.
SIANI — ULPGC
14
Pascual Lorente Arencibia
CAPÍTULO 2. ESTADO DEL ARTE
Al resultado final de la unión de bases de datos se le conoce como data
warehouse[30] y a su creación se le debe dedicar gran parte del tiempo.
2.2.
Business Intelligence
El término Business Intelligence[31] engloba las técnicas para extraer información de un gran conjunto de datos, normalmente un data warehouse, que
sirva como ayuda para la toma de decisiones de una empresa u organización.
Algunas de estas técnicas son:
1. Online analytical processing (OLAP): calcula funciones agregadas a través
de cualquier dimensión en los datos en tiempo real. Por ejemplo, cromosoma → gen → variante es la dimensión de variante. En cada punto de la
dimensión se calcula el valor acumulado, como la cantidad o la suma de
un valor especı́fico.
2. Consultas: Búsquedas especı́ficas entre los datos: ¿cuántas variantes sin
sentido son catalogadas como peligrosas?
3. Informes: Generación de tablas, textos cortos y gráficas que muestran un
estado determinado de los datos.
4. Análisis predictivo: Extrapolar los datos para averiguar cómo se comportará el sistema en el futuro.
En los años 2000, ha aparecido una nueva necesidad de estructurar datos
no estructurados. Debido a la expansión de la web hay accesibles gran cantidad
de datos que no están estructurados como en una base de datos (artı́culos,
blogs, libros...). En eso consiste el sentiment analysis [32]: toma un texto no
estructurado y extrae aquellos datos que pueden ser estructurados. De este modo
se pueden generar nuevos datos para un data warehouse de forma automática.
2.3.
Inteligencia Artificial
De las muchas definiciones que tiene la Inteligencia Artificial hemos escogido
una cita de Bellman[33]:
La automatización de actividades que asociamos con el pensaSIANI — ULPGC
15
Pascual Lorente Arencibia
CAPÍTULO 2. ESTADO DEL ARTE
miento humano.
En efecto, una de las principales actividades de la inteligencia artificial es
hacer que las máquinas piensen como –y no más que– los humanos, con las ventajas que un ordenador presenta: trabaja sin descanso, más rápido y se equivoca
menos.
Una de las ramas de la inteligencia artificial más antiguas y más utilizadas en
medicina son los Sistemas basados en Conocimiento (SBC)[34]. Estos sistemas
imitan el razonamiento de personas expertas en un determinada área, como los
médicos. Se dividen en dos subsistemas: la base de hechos, donde se almacena
el conocimiento del experto, y el motor de inferencia, que determina cómo se
navega a través de ellos.
Las ventajas de los sistemas expertos es que no olvidan, pueden almacenar
el conocimiento de más de un experto y trabajan mucho más rápido.
Normalmente son sistemas que trabajan por evidencias. En la figura 2.2
podemos ver un ejemplo de un sistema experto muy simple para diagnosticar una
enfermedad. Al señalar los sı́ntomas que padece el paciente, las enfermedades
que están relacionadas se van ((iluminando)). Cuanto más ((iluminada)) esté más
puntuación tendrá.
2.4.
Interfaz de usuario
Uno de los aspectos más importantes a la hora de desarrollar un programa
informático es su interfaz de usuario. A través de la interfaz el programa muestra
la información al usuario y el usuario interactúa con el programa.
La interfaz de usuario se debe desarrollar pensando en el usuario y sus necesidades: hay que conocer quién lo va a utilizar y cómo. Hay que situar los
elementos donde el usuario espera que estén. La interfaz debe seguir el mismo patrón para que una vez el usuario ha aprendido a hacer una cosa, pueda
repetirla de memoria[35].
El diseño no tiene porqué ser novedoso, puede imitar interfaces que el usuario
está acostumbrado a utilizar, eso le ahorrará mucho tiempo y esfuerzo y evitará
que se sienta hostil.
SIANI — ULPGC
16
Pascual Lorente Arencibia
CAPÍTULO 2. ESTADO DEL ARTE
Mareo
Fiebre
Vómitos
Gripe
Dolor de cabeza
Cansancio
Anemia
Náuseas
Figura 2.2: Sistema experto para diagnóstico. Al activar los sı́ntomas Cansancio
y Náuseas, se activan ambas enfermedades, pero la que más evidencias tiene es
Anemia.
SIANI — ULPGC
17
Pascual Lorente Arencibia
CAPÍTULO 2. ESTADO DEL ARTE
Si hay demasiados elementos, es necesario crear una jerarquı́a, dejando visibles solo los que el usuario va a necesitar al principio, el resto de elementos
debe pasar a un plano secundario. En 1994, el psicólogo Miller[36] determinó
que el número de elementos que puede abarcar una persona de un solo vistazo
es de 7±2, eso da un máximo de 9 y un mı́nimo de 5. Esta es la cantidad de
elementos que deben de tener los menús y las listas de opciones. Este número
también vale para las pantallas o elementos visuales de la aplicación.
Hay que mantener al usuario informado. Si una acción que realiza tarda
mucho tiempo hay que mostrar una barra de progreso. Si se equivoca en algo,
un mensaje claro que diga en qué se equivocó y cómo puede arreglarlo. En
contraposición, si el usuario ha hecho algo bien, no se debe mostrar un mensaje,
porque eso le distraerá.
SIANI — ULPGC
18
Capı́tulo 3
Desarrollo
3.1.
Justificación del proyecto
Ya hemos visto que existen herramientas que pueden predecir si una variante es peligrosa o no y herramientas que establecen relaciones entre proteı́nas.
Sin embargo, no existe un programa que combine ambos procesos, que no solo
determine la relación entre una variante y una patologı́a, sino que prediga su
efecto.
En este proyecto, vamos a desarrollar un módulo en la aplicación COAT –
Combination and Annotation Tool[37]–, aplicación que permite visualizar, anotar y combinar ficheros VCF –ver apéndice B–. Este módulo, que lleva como
nombre Poirot va a cumplir con los objetivos del Trabajo: establecer la relación
entre variante y patologı́a y mostrar las interacciones intermedias.
3.2.
Recursos
Coat está completamente desarrollada en el lenguaje de programación Java.
La incorporación de nuevos métodos de recorrido de datos y paralelización automática permiten un aumento significativo del rendimiento. La clase Canvas
aporta un lienzo donde se pueden dibujar formas, textos y lı́neas de forma libre. Además, Java es multiplataforma, lo que significa que se puede ejecutar en
19
Pascual Lorente Arencibia
CAPÍTULO 3. DESARROLLO
cualquier máquina que tenga instalada la máquina virtual de Java.
Hemos utilizado una metodologı́a ágil para el desarrollo. En el año 2001
se creó el Manifiesto por el desarrollo ágil [38] con el objeto de mejorar los
resultados en el desarrollo del software, no solo en reducción de tiempo, sino
también en número de proyectos exitosos.
Estas metodologı́as descomponen las tareas en pequeños incrementos de planificación mı́nima, donde cada iteración culmina con una entrega del software,
aunque esté incompleta. Esto significa que todas son modelos iterativos e incrementales.
De este modo, desde muy temprano se puede liberar una versión del software
funcional, aunque no completa, permitiendo al cliente probar y usar lo que ya
se ha implementado. Ası́, se pueden cambiar, añadir o quitar requisitos desde
el principio. Para los desarrolladores es muy fácil añadir pequeños cambios al
software, y no hay que esperar mucho tiempo entre un lanzamiento y el siguiente.
Estas metodologı́as son ideales para proyectos que no tengan los requisitos
claros desde un principio, y que puedan usarse aunque solo funcione parte del
sistema.
Dos de las metodologı́as ágiles más populares son Scrum[39] y Extrem Programming[40] .
En este proyecto, al no existir más que un desarrollador y un cliente, no se
aplicará estrictamente ninguna metodologı́a existente, pero se intentará simular
las caracterı́sticas principales:
Reuniones periódicas: Intentar reunirse a diario o, al menos, semanalmente. Estas reuniones servirán para poner en común los progresos y establecer
el trabajo próximo.
Lanzamientos frecuentes: Lanzar una versión de la aplicación al menos
una vez al mes.
Incrementos progresivos: Cada versión debe suponer una mejora significativa respecto a la anterior.
Modificación ágil de requisitos: Asimilación rápida y positiva de los cambios en los requisitos.
SIANI — ULPGC
20
Pascual Lorente Arencibia
3.3.
CAPÍTULO 3. DESARROLLO
Data warehouse
La tabla 3.1 contiene un resumen de las bases de datos que se han utilizado
para crear el data warehouse de Poirot, ası́ como su tipo. La figura 3.1 muestra
la estructura lógica del mismo. Cada base de datos ha sido descargada desde su
fuente y normalizada con un script. Una vez normalizadas, las del mismo tipo
se han almacenado juntas como una sola.
En general, todas las bases de datos de genes o de interacciones presumen de
crear sus datos de manera manual, con revisiones continuas, por lo que podemos
esperar un alto grado de precisión y pocos errores. En muchos casos, los registros
están respaldados por uno o varios artı́culos cientı́ficos.
Tipo
Gen–patologı́a
Gen–patologı́a
Gen–expresión
Gen–expresión
Gen–gen
Gen–gen
Gen–gen
Gen–gen
Gen–gen
Nombre
Omim
HPRD
HPRD
ProteinAtlas
IntAct
MINT
dip
BioGrid
HPRD
Tamaño
6.968
4.943
112.158
677.170
225.503
61.427
64.586
424.954
39.240
Tabla 3.1: Registros por base de datos
3.3.1.
HUGO Gene Nomenclature Comitee
HUGO Gene Nomenclature Comitee (HGNC)[41] es la autoridad encargada
de establecer el nombre y el sı́mbolo de cada región identificada del ADN, la
mayorı́a genes. Para todas las bases de datos, se usará el sı́mbolo proporcionado
por la HGNC como identificador de cada gen. En caso de que la HGNC no tenga
nombre para un gen en concreto, se usará el que proporcione la base de datos.
Hasta la fecha hay 40.527 entradas.
SIANI — ULPGC
21
Pascual Lorente Arencibia
CAPÍTULO 3. DESARROLLO
Figura 3.1: Estructura del data warehouse
3.3.2.
Online Mendelian Inheritance in Man
OMIM es una base de datos desarrollada y mantenida por la Universidad de Medicina Johns Hopkins, North Baltimore, que identifica el fenotipo
–enfermedad o caracterı́stica fı́sica– de cada gen. Permite descargar los datos o
acceder vı́a REST API. Tiene 15.513 entradas.
3.3.3.
Human Protein Reference Database
Human Protein Reference Database (HPRD)[22] es una base de datos que
indica cómo se expresa cada proteı́na en el cuerpo, por lo general listando en
qué órganos del cuerpo está presente. Está financiada por el Institute of BioInformatics. Su última actualización es del año 2010, pero sus datos todavı́a
son válidos. En total, tiene 112.158 expresiones de genes en fenotipos, 39.240
interacciones entre proteı́nas y 4943 relaciones con patologı́as.
SIANI — ULPGC
22
Pascual Lorente Arencibia
3.3.4.
CAPÍTULO 3. DESARROLLO
Biological General Repository for Interaction Datasets
Biological General Repository for Interaction Datasets (BioGrid)[42] es una
base de datos que se actualiza mensualmente con interacciones tanto fı́sicas como
genéticas entre proteı́nas. Tiene un total de 237.045 registros. Está desarrollado
entre varias universidades de Canadá y posee servicio REST.
3.3.5.
Mentha
Mentha[43] es una base de datos creada por la Universidad de Tor Vergata,
Italia que, aparte de contener interacciones entre proteı́nas, tiene herramientas
online para su visualización. También se alimenta de otras bases de datos. Tiene
registradas 385.857 entradas de distintas bases de datos –BioGrid, Mint, IntAct,
MatrixDB, DIP–.
3.3.6.
The Human Protein Atlas
The Human Protein Atlas (ProteinAtlas)[44] es una base de datos con millones de imágenes en alta resolución que muestran la distribución espacial de las
proteı́nas en 44 tejidos humanos normales, 20 cancerı́genos y 46 lı́neas celulares
humanas. La base de datos ha sido desarrollada de una manera genocéntrica con
la inclusión de todos los genes humanos pronosticados en estudios genómicos.
Las funciones de búsqueda permiten realizar consultas complejas sobre perfiles
de expresión de proteı́nas, clases de proteı́nas y localización de cromosomas.
Esta base de datos también contiene información acerca de la presencia de
secuencias de ARN en cada tejido. De este modo, el ARN puede confirmar o
desmentir la presencia de una proteı́na.
3.4.
Evaluación de variantes
Para determinar cuál es el impacto de una variante sobre una enfermedad,
Poirot crea un grafo formado por la lista de todas las enfermedades y expresiones
que hay en el data warehouse, los genes afectados por al menos una variante, y
SIANI — ULPGC
23
Pascual Lorente Arencibia
CAPÍTULO 3. DESARROLLO
todos los genes haya interconectados entre cualquier enfermedad y variante. Este
grafo es no dirigido –las relaciones no tienen dirección– y cada relación contiene
todas las interacciones que haya entre dos nodos. La figura 3.2 representa el grafo
que utiliza Poirot. El apéndice C muestra el diagrama de clases que representa
el grafo en memoria.
Enfermedad
i1,i2,i3
i1
i1,i2
v1
Gen
Gen
Gen
i1
i1,i2
v1
v2
Gen
v3
Figura 3.2: Grafo de interacciones de Poirot
Poirot agrupa todas las variantes del mismo gen y obtiene una sola puntuación para el gen en base a la ecuación 3.1:
α · max(Pvariante ) + (1 − α) · max(Pvecino )
(3.1)
distancia
donde α es la proporción entre el impacto de las variantes y el impacto de
las relaciones. Cuanto más alto, más se valorarán las variantes y menos las
relaciones. Este factor lo situamos empı́ricamente en el intervalo [0,8-0,9]. Para
el cálculo del vecino máximo, se utilizan solo las interacciones hacia genes con
mayor distancia.
Pgen =
Pvariante es el valor de una variante, que se calcula por su consecuencia más
SIANI — ULPGC
24
Pascual Lorente Arencibia
CAPÍTULO 3. DESARROLLO
grave:
Pvariante = max(Pconsecuencia )
(3.2)
Las variantes modifican la secuencia genética. Dependiendo de dónde se encuentre la variante y cuál sea su forma, puede tener distintas consecuencias.
Cada consecuencia tiene una gravedad y un impacto diferente[45]. Para las consecuencias se han establecido cuatro niveles de impacto: alto, moderado, bajo y
modificador. El apéndice D detalla el listado de consecuencias y su impacto. La
tabla 3.2 indica el valor numérico de cada una.
Consecuencia
Alto
Moderado
Bajo
Modificador
Valor
1,0
0,8
0,4
0,2
Tabla 3.2: Valor de cada consecuencia
Pvecino es el valor de la interacción con mayor impacto multiplicado por el
valor del gen relacionado.
Pvecino = max (Pinteraccion ) · Pgen
(3.3)
Pinteraccion también es un valor en función del tipo. Los principales tipos de
interacción son:
Interacción funcional no necesariamente fı́sica Es el tipo de interacción
más fuerte. Al alterar la cantidad o forma de una proteı́na –mediante una
mutación– se observa un cambio en la función de otra.
Interacción fı́sica no necesariamente funcional Ambas proteı́nas forman
parte de uno o varios complejos fı́sicos. Es decir, están juntas en la misma estructura. Un cambio en una de ellas no tiene por qué afectar al
funcionamiento de la otra.
Colocalización sin interacción conocida Ambas proteı́nas están presentes
en la misma fracción subcelular, pero no existe evidencia de una interacción fı́sica.
Una lista más detallado con los subtipos de relaciones y su impacto está
detallada en el apéndice E. Los valores numéricos asociados están en la tabla
3.3.
SIANI — ULPGC
25
Pascual Lorente Arencibia
CAPÍTULO 3. DESARROLLO
Interacción
Alto
Moderado
Bajo
Valor
0,9
0,6
0,2
Tabla 3.3: Valor de cada interacción
Para calcular la distancia utilizamos un algoritmo de inundación. Partimos
de cada fenotipo –enfermedad o expresión– y lo marcamos como distancia 0.
Luego, a cada uno de los nodos conectados directamente le damos distancia 1.
Ahora repetimos desde los nodos con distancia 1 y marcamos a sus vecinos con
distancia 2, excepto a los que tienen distancia 0 o 1. Ası́ hasta que hayamos
alcanzado todos los nodos.
Si solo queremos saber la distancia a un fenotipo en particular, empezaremos
en ese fenotipo.
Por último, como tanto las enfermedades como las expresiones forman parte
del mismo grafo, es interesante la posibilidad de darles una puntuación. Esto servirá para crear un nuevo ranking con el impacto de cada enfermedad y
expresión.
Pf enotipo = max(Pvecino )
3.5.
(3.4)
Entrada de datos
Lo único que debe introducir el usuario en Poirot es la lista de variantes.
Estas estarán en un fichero VCF que tiene que estar anotado utilizando VEP. En
concreto, de cada variante genética se espera que tenga las siguientes etiquetas:
SYMBOL Nombre del gen donde se encuentra la variante.
SIFTs Valoración de SIFT, un número entre 0 y 1.
CONS Consecuencias de la variante, separadas por comas.
BIO Biotipo del gen.
SIANI — ULPGC
26
Pascual Lorente Arencibia
3.6.
CAPÍTULO 3. DESARROLLO
Interfaz de usuario
Poirot está formado por dos pantallas, la pantalla de fenotipos y la pantalla
de genes.
3.6.1.
Pantalla de fenotipos
La pantalla de fenotipos tiene como objetivo la selección de fenotipos. Para ello, esta pantalla muestra la lista de todos los fenotipos ordenados por su
puntuación. Desde aquı́, se puede navegar por la lista para seleccionar individualmente cada fenotipo, se pueden filtrar por nombre y se pueden mostrar solo
las enfermedades o solo las expresiones.
En la imagen 3.3 se distinguen 5 elementos visuales:
1. A la izquierda una lista para la selección de grupo –TODOS, SELECCIONADOS, ENFERMEDAD, EXPRESIÓN–.
2. Arriba el cuadro de búsqueda que filtra según se va escribiendo.
3. A la derecha arriba la cabecera de la tabla sirve para ordenar por nombre
y puntuación.
4. A la derecha abajo la tabla de fenotipos para seleccionar.
5. Abajo, un botón para pasar a la siguiente pantalla.
3.6.2.
Pantalla de genes
La segunda pantalla es donde más tiempo pasará el usuario. En ella se muestran los genes más probables de afectar a una enfermedad o expresión. Está
formada por los 6 elementos marcados en la figura 3.4:
A la izquierda la tabla de genes: Se pueden ordenar por nombre, distancia
al fenotipo y valor.
A la derecha el elemento principal: el grafo. En él se muestran las relaciones
entre los genes seleccionados y los fenotipos. Los nodos del grafo se pueden
desplazar y seleccionar. Las relaciones se pueden seleccionar.
A la derecha abajo: información de selección. Muestra información acerca
del elemento seleccionado en el grafo. Si se ha seleccionado un gen, se
SIANI — ULPGC
27
Pascual Lorente Arencibia
CAPÍTULO 3. DESARROLLO
Figura 3.3: Pantalla de fenotipos
muestra su nombre completo y su lista de variantes, si se selecciona una
relación, la lista de interacciones.
A la izquierda arriba un botón para volver a la pantalla de fenotipos.
A la izquierda abajo, un botón para actualizar el grafo con los genes
seleccionados.
Figura 3.4: Pantalla de genes
SIANI — ULPGC
28
Capı́tulo 4
Resultados
Para demostrar la eficacia de Poirot hemos elegido un paciente cuya asociación entre variante y enfermedad es conocida. Este paciente padece hipercolesterolemia familiar, una patologı́a sufrida por una mutación en el gen que
codifica para el receptor de las lipoproteı́nas de baja densidad (LDLR). Para
este paciente, siguiendo el método explicado en el apéndice A, hemos obtenido
540.510 variantes, de las cuales 162.051 tienen una frecuencia en la población
inferior a 0,05. En una variante patológica es de esperar que su frecuencia en la
población sea inferior a 1 de cada 20.
Al realizar el análisis Poirot, se alcanza un total de 6941 enfermedades y 573
expresiones. Si buscamos la hipercolesterolemia familiar, la encontramos en la
posición 40 –entre el 1 % con más valoración, tanto en enfermedades como en el
total–, como se puede ver en la tabla 4.1.
La lista de genes candidatos a la hipercolesterolemia se muestra en la tabla
4.2, donde se comprueba que efectivamente es el LDLR el gen con más valoración. Este gen del cromosoma 19 tiene una deleción de tres codones en la posición
11.223.963 provocando una inframe deletion, una consecuencia de impacto alto
(1,0).
La figura 4.1 muestra las interacciones entre los 5 genes más valorados y la
hipercolesterolemia familiar. Se puede ver que hay una relación directa entre
el LDLR y el gen Apolipoprotein B (APOB), un gen que se traduce en una
proteı́na que se adhiere a los lı́pidos y que también presenta hasta tres variantes
29
Pascual Lorente Arencibia
Posición
1
2
3
4
5
Valor
0,909
0,9001392
0,9001392
0,9001392
0,900108
40
41
0,81
0,81
CAPÍTULO 4. RESULTADOS
Enfermedad
Cystinuria
Lymphoma, non-Hodgkin
Hemophagocytic lymphohistiocytosis, familial, 2
Aplastic anemia
Carboxylesterase 1 deficiency
...
Hypercholesterolemia, familial
LDL cholesterol level QTL2
Tabla 4.1: Enfermedades de mayor valor en un paciente con hipercolesterolemia
familiar.
Gen
LDLR
APOB
MAP4
PXDN
INPP5D
Valor
0,847
0,372
0,366
0,320
0,308
Distancia
1
2
2
2
3
Tabla 4.2: Genes implicados en la hipercolesterolemia familiar
de tipo missense.
Con este análisis se demuestra la capacidad de Poirot de relacionar una
enfermedad a los genes y variantes más relevantes en su causalidad.
Por último, para demostrar el potencial de Poirot como herramienta de
diagnóstico, veamos el análisis de la enfermedad que aparece en primer lugar en
la tabla 4.1, la cistinuria, con un valor de 0,909, una enfermedad que provoca
piedras en el riñón.
El miembro 1 de la familia 3 de transportadores de soluto (SLC3A1) tiene
una deleción de tipo splice donor. Esta proteı́na transporta aminoácidos en los
intestinos y riñones y tiene una relación directa con la cistinuria.
SIANI — ULPGC
30
Pascual Lorente Arencibia
CAPÍTULO 4. RESULTADOS
Figura 4.1: Interacciones de los genes más implicados en la hipercolesterolemia.
Cada punto alrededor de un gen representa una variante, cuanto más roja, mayor
impacto tiene.
SIANI — ULPGC
31
Capı́tulo 5
Conclusiones
En este Trabajo de Fin de Máster se ha desarrollado Poirot, un programa
que cumple con los objetivos establecidos:
Muestra un ranking de genes puntuados de 0 a 1 según su relevancia con
la patologı́a o fenotipo.
Muestra las interacciones entre un gen afectado y la patologı́a o fenotipo
escogidos.
Además, como caracterı́stica adicional introducida por el cliente en una de
las últimas iteraciones, se ha implementado un ranking de enfermedades por
paciente. Esto significa, que desde el punto de partida, el usuario puede ver
cuáles son las enfermedades con más probabilidades de estar afectadas por una
variante en el paciente.
Este ranking permite asociar patologı́as a variantes, de gran utilidad para el
barrido de mutaciones en una población y el cribado preimplantacional.
Para poder desarrollar esta aplicación, se ha implementado un módulo que
combina y almacena las distintas bases de datos en un data warehouse local.
32
Pascual Lorente Arencibia
5.1.
CAPÍTULO 5. CONCLUSIONES
Trabajo futuro
Este Trabajo de Fin de Máster ha servido para desarrollar la estructura principal de un programa que evalúa variantes genéticas. A partir de esta estructura
es posible añadir nuevas caracterı́sticas, siempre pensando en el objetivo principal de la UICHUIMI: aplicar la secuenciación de exoma al diagnóstico clı́nico.
Sistema propio de generación de relaciones basado en sentimental analysis,
que consiste en extraer datos estructurados de textos no estructurados. En
las bases de datos que utiliza Poirot cada entrada es escrita a mano por una
persona que lee y procesa un artı́culo cientı́fico. El sentimental analysis
permite automatizar este proceso.
Jerarquı́a de enfermedades: En Poirot se muestran las enfermedades en
un listado con miles de entradas. Serı́a interesante mostrarlas agrupadas
y jerarquizadas.
Sistema de puntuación. Poirot utiliza el sistema de puntuación descrito
en la sección 3.4. Este sistema es bastante rı́gido y no permite al usuario
controlar sus parámetros. Es necesario desarrollar un sistema que no solo
abarque más elementos, sino que esté más parametrizado para otorgar el
control al usuario.
Nuevas relaciones: Existen otros tipos de interacciones no descritos aquı́
que pueden mejorar las relaciones entre los nodos como, por ejemplo, entre
una proteı́na y su función. Esta relación permite relacionar proteı́nas con
la misma función.
Esquema de visualización: El esquema actual de visualización de relaciones
está centrado en los fenotipos. Se muestra en forma de árbol como una
jerarquı́a que admite interacciones cruzadas, pero no en el mismo nivel.
Se pueden explorar nuevas formas de ver las interacciones.
SIANI — ULPGC
33
Apéndice A
Obtención de variantes
A continuación se muestra un ejemplo con comandos simplificados de cómo
se alinean las secuencias y cómo se localizan las variantes. Este proceso es el
que genera los ficheros de variantes que utiliza Poirot.
Los ficheros de entrada son los que contienen las secuencias:
sec-directas.fastq.gz
sec-inversas.fastq.gz
También son necesarios otros ficheros como el genoma de referencia y algunas
bases de datos con variantes de referencia, pero no se incluyen para simplificar
el código.
El primer paso consiste en alinear las secuencias con el genoma de referencia.
bwa a l n s e c −d i r e c t a s . f a s t q . gz > s e c −d i r e c t a s . s a i
bwa a l n s e c −i n v e r s a s . f a s t q . gz > s e c −i n v e r s a s . s a i
bwa sampe s e c −d i r e c t a s . f a s t q . gz s e c −i n v e r s a s . f a s t q . gz \\
s e c −d i r e c t a s . s a i s e c −i n v e r s a s . s a i > \\
a l i n e a m i e n t o s . bam
Aunque en estos momentos se pueden buscar las variantes con respecto al
genoma de referencia, se recomiendo realizar una limpieza y puesta a punto de
este fichero:
34
Pascual Lorente Arencibia
APÉNDICE A. OBTENCIÓN DE VARIANTES
# E l i m i n a r s e c u e n c i a s no a l i n e a d a s
j a v a −j a r CleanSam . j a r \\
INPUT=a l i n e a m i e n t o s . bam \\
OUTPUT=a l n 1 . bam
# Ordenar a l i n e a m i e n t o s
j a v a −j a r SortSam . j a r \\
INPUT=a l n 1 . bam \\
OUTPUT=a l n 2 . bam
# Eliminar r e p e t i d o s
j a v a −j a r MarkDuplicates . j a r \\
INPUT=a l n 2 . bam \\
OUTPUT=a l n 3 . bam
# Estandarizar cabeceras
j a v a −j a r AddOrReplaceReadGroups . j a r \\
INPUT=a l n 3 . bam \\
OUTPUT=a l n 4 . bam
Para reducir falsos positivos, se pueden utilizar dos pasos intermedios: el
realineado y el recalibrado.
# Realinear
j a v a −j a r Gatk . j a r −T R e a l i g n e r T a r g e t C r e a t o r \\
−I a l n 4 . bam \\
−o i n t e r v a l s
j a v a −j a r Gatk . j a r −T I n d e l R e a l i g n e r \\
−I a l n 4 . bam \\
−t a r g e t I n t e r v a l s i n t e r v a l s \\
−o a l n 5 . bam
# Recalibrar
j a v a −j a r Gatk . j a r −T B a s e R e c a l i b r a t o r \\
−I a l n 5 . bam \\
−o r e c a l
j a v a −j a r Gatk . j a r −T PrintReads \\
−I a l n 5 . bam \\
−o a l i n e a m i e n t o s . bam
Ahora sı́ se pueden buscar las variantes con una tasa de falsos positivos más
baja que con los alineamientos iniciales.
SIANI — ULPGC
35
Pascual Lorente Arencibia
APÉNDICE A. OBTENCIÓN DE VARIANTES
j a v a −j a r Gatk . j a r −T H a p l o t y p e C a l l e r \\
−I a l i n e a m i e n t o s . bam \\
−o v a r i a n t e s . v c f
Al final del proceso tendremos un fichero con todas las variantes:
variantes.vcf
SIANI — ULPGC
36
Apéndice B
Variant Call Format
El formato VCF[46] es un formato genérico para almacenar información de
polimorfismos en el ADN, como SNPs, InDels y variantes estructurales, ası́ como
todo tipo de anotaciones. VCF se puede almacenar comprimido y se puede
indexar para acceder rápidamente a variantes en un rango de posiciones.
La cabecera contiene un número arbitrario de lı́neas que comienzan con los
caracteres ## (doble almohadilla). Solo la primera, ##fileformat, y la última,
#CHROM, son obligatorias. Las cabeceras se utilizan para describir de forma
estándar las etiquetas y anotaciones que se utilizan en la sección de datos.
La última lı́nea de la cabecera debe escribirse siempre igual, con los nombres
de las columnas de datos separados por tabulador, a saber:
37
Pascual Lorente Arencibia
CHROM
POS
ID
REF
ALT
QUAL
FILTER
INFO
FORMAT
SAMPLE1
APÉNDICE B. VARIANT CALL FORMAT
Cromosoma
Posición
Identificador único de variante
Alelo de referencia
Lista de variantes, separadas por coma
Valor de calidad
Filtros aplicados
Lista de anotaciones, separadas por ; (punto y coma).
[Opcional] Formato de la siguiente columna, etiquetas
separadas por : (dos puntos)
[Opcional] 1 o más columnas con la información representada en FORMAT para distintas muestras.
Tabla B.1: Columnas del formato VCF.
Ası́ es un fichero VCF.
##fileformat=VCFv4.1
##fileDate=20090805
##source=myImputationProgramV3.1
##phasing=partial
##INFO=<ID=DP,Number=1,Type=Integer,Description="Total Depth))
##FILTER=<ID=s50,Description="Less than 50 % have data))
##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype))
#CHROM POS
ID
REF ALT QUAL FILTER ...
20
14370
rs6054257 G
A
29
PASS
...
20
17330
.
T
A
3
q10
...
20
1110696 rs6040355 A
G,T 67
PASS
...
20
1230237 .
T
.
47
PASS
...
Tabla B.2: Ejemplo de fichero VCF.
SIANI — ULPGC
38
Apéndice C
Estructura de Poirot
A continuación se describen las clases que forman el núcleo de la aplicación.
PearlGraph Representa el grafo completo en memoria. Contiene la totalidad
de enfermedades, expresiones, genes e interacciones.
Pearl Representa un nodo en el PearlGraph. Los tipos de nodos que hay son:
GENE, EXPRESSION, DISEASE.
PearlRelationship Representa una relación entre dos Pearl.
Graph Representa un grafo que se muestra en pantalla. Es un grafo parcial de
un PearlGraph.
GraphNode Representa un nodo en un Graph. Contiene una Pearl, ası́ como
elementos que representan su estado visual: selected, position.
GraphRelationship Representa una relación entre dos GraphNode. Contiene
1 o más PearlRelationship.
GrapFactory A partir de una lista de variantes forma un PearlGraph.
ShortestPath A partir de una Pearl, lista todos los caminos de distancia más
corta entre el nodo y el fenotipo activo–seleccionado– más cercano.
GraphEvaluator Toma un PearlGraph y una lista de fenotipos (Pearl ) y
evalúa cada elemento del grafo en base a los fenotipos. Si no se especifica una lista de fenotipos, los toma todos.
Por simplicidad, solo se muestra el diagrama que representa el grafo en la
39
Pascual Lorente Arencibia
APÉNDICE C. ESTRUCTURA DE POIROT
figura C.1.
Figura C.1: Diagrama de clases que representa cómo se almacenan los nodos
–perlas– en la aplicación.
SIANI — ULPGC
40
Apéndice D
Consecuencias
La figura D.1 muestra el nombre que recibe cada variante según su posición.
A continuación se describe cada una ellas. Se mantiene la descripción en inglés
porque gran parte de los términos no tiene traducción al castellano.
Figura D.1: Posición de cada variante según su consecuencia. Fuente:
www.ensembl.org
Consecuencias de impacto alto (high):
Frameshift variant: A sequence variant which causes a disruption of the
translational reading frame, because the number of nucleotides inserted or
deleted is not a multiple of three.
Stop lost: A sequence variant where at least one base of the terminator
codon (stop) is changed, resulting in an elongated transcript.
41
Pascual Lorente Arencibia
APÉNDICE D. CONSECUENCIAS
Start lost: A codon variant that changes at least one base of the canonical
start codon.
Transcript amplification: A feature amplification of a region containing
a transcript.
Consecuencias de impacto moderado (Moderate):
Inframe insertion: An inframe non synonymous variant that inserts bases into in the coding sequenc
Inframe deletion: An inframe non synonymous variant that deletes bases
from the coding sequenc.
Missense variant: A sequence variant, that changes one or more bases, resulting in a different amino acid sequence but where the length is
preserved.
Protein altering variant: A sequence variant which is predicted to change the protein encoded in the coding sequence.
Regulatory region ablation: A feature ablation whereby the deleted
region includes a regulatory region.
Consecuencias de impacto bajo (Low ):
Splice region variant: A sequence variant in which a change has occurred within the region of the splice site, either within 1-3 bases of the exon
or 3-8 bases of the intron.
Incomplete terminal codon variant: A sequence variant where at least
one base of the final codon of an incompletely annotated transcript is
changed.
Stop retained variant: A sequence variant where at least one base in
the terminator codon is changed, but the terminator remains.
Synonymous variant: A sequence variant where there is no resulting
change to the encoded amino acid.
Consecuencias de impacto modificador (Modifier ):
Coding sequence variant: A sequence variant that changes the coding
sequence.
Mature miRNA variant: A transcript variant located with the sequence
of the mature miRNA.
SIANI — ULPGC
42
Pascual Lorente Arencibia
APÉNDICE D. CONSECUENCIAS
5 prime UTR variant: A UTR variant of the 5’ UTR.
3 prime UTR variant: A UTR variant of the 3’ UTR.
Non coding transcript exon variant: A sequence variant that changes
non-coding exon sequence in a non-coding transcript.
Intron variant: A transcript variant occurring within an intron.
NMD transcript variant: A variant in a transcript that is the target of
NMD.
Non coding transcript variant: A transcript variant of a non coding
RNA gene.
Upstream gene variant: A sequence variant located 5’ of a gene.
Downstream gene variant: A sequence variant located 3’ of a gene.
TFBS ablation: A feature ablation whereby the deleted region includes
a transcription factor binding site.
TFBS amplification: A feature amplification of a region containing a
transcription factor binding site.
TF binding site variant: A sequence variant located within a transcription factor binding site.
Regulatory region amplification: A feature amplification of a region
containing a regulatory region.
Feature elongation: A sequence variant located within a regulatory region.
Regulatory region variant: A sequence variant located within a regulatory region.
Feature truncation: A sequence variant that causes the reduction of a
genomic feature, with regard to the reference sequence.
Intergenic variant: A sequence variant located in the intergenic region,
between genes.
SIANI — ULPGC
43
Apéndice E
Interacciones
Interacción funcional no necesariamente fı́sica (alto):
additive genetic interaction defined by inequality
suppressive genetic interaction defined by inequality
synthetic genetic interaction defined by inequality
genetic inequality
Interacción fı́sica no necesariamente funcional (moderado):
direct interaction
physical association
association
Interacción de colocalización (bajo):
colocalization
44
Bibliografı́a
[1] Watson J y Crick F. A Structure for Deoxyribose Nucleic Acid. Nature,
171:737–738, 1953.
[2] Russell PJ. Genetics. Harper Collins, 4a edición, 1996.
[3] Feuk L, Carson AR y Scherer SW. Structural variation in the human genome. Nat Rev Genet, 7(2):85–97, 2006.
[4] Sanger F y Coulson AR. A rapid method for determining sequences in DNA
by primed synthesis with DNA polymerase. J Mol Biol, 94(3):441–448, 1975.
[5] Shendure J y Ji H. Next-generation DNA sequencing.
26(10):1135–1145, 2008.
Nat Biotech,
[6] Bamshad MJ, Ng SB, Bigham AW, Tabor HK, Emond MJ, Nickerson DA
et al . Exome sequencing as a tool for Mendelian disease gene discovery.
Nat Rev Genet, 12(11):745–755, 2011.
[7] Rabbani B, Tekin M y Mahdieh N. The promise of whole-exome sequencing
in medical genetics. J Hum Genet, 59(1):5–15, 2014.
[8] Cooper DN, Chen JM, Ball EV, Howells K, Mort M, Phillips AD et al .
Genes, mutations, and human inherited disease at the dawn of the age of
personalized genomics. Hum Mutat, 31(6):631–655, 2010.
[9] Lee H, Deignan JL, Dorrani N, Strom SP, Kantarci S, Quintero-Rivera F et
al . Clinical exome sequencing for genetic identification of rare Mendelian
disorders. JAMA, 312(18):1880–1887, 2014.
[10] Yang Y, Muzny DM, Reid JG, Bainbridge MN, Willis A, Ward PA et al.
Clinical whole-exome sequencing for the diagnosis of mendelian disorders.
N Engl J Med, 369:1502–1511, 2013.
45
Pascual Lorente Arencibia
BIBLIOGRAFÍA
[11] Yang Y, Muzny DM, Xia F, Niu Z, Person R, Ding Y et al . Molecular findings among patients referred for clinical whole-exome sequencing. JAMA,
312(18):1870–1879, 2014.
[12] Burge C y Karlin S. Prediction of complete gene structures in human genomic DNA. J. Mol. Biol, 268(1):78–94, 1997.
[13] Lawrence PA. The Making of a Fly. Blackwell Science, 1992.
[14] Wang Genomics Lab. Phenolyzer, Junio 2015. http://phenolyzer.usc.
edu/index.php.
[15] National Institute of Environmental Health Sciences. CTD’s MEDIC disease vocabulary, Junio 2015. http://ctdbase.org/reports/CTD_diseases.
tsv.gz.
[16] Institute for Genome Sciences. Disease Ontology, Junio 2015. http://
disease-ontology.org/downloads.
[17] Johns Hopkins University. Online Mendelian Inheritance in Man, Julio
2015. http://omim.org/downloads.
[18] National Center for Biotechnology Information. ClinVar, Julio 2015. http:
//www.ncbi.nlm.nih.gov/clinvar/.
[19] University of Washington, Seattle. GeneReviews, Julio 2015. http://www.
ncbi.nlm.nih.gov/books/NBK1116/.
[20] INSERM. Orphanet: an online rare disease and orphan drug data base,
Julio 2015. http://www.orpha.net.
[21] National Human Genome Research Institute. A Catalog of Published
Genome-Wide Association Studies, Marzo 2015. http://www.genome.gov/
gwastudies/.
[22] Keshava Prasad TS, Goel R, Kandasamy K, Keerthikumar S, Kumar S,
Mathivanan S et al . Human Protein Reference Database–2009 update. Nucleic acids research, 37:D767–72, 2009. http://www.hprd.org/.
[23] National Center for Biotechnology Information. BioSystems, Marzo 2015.
https://www.ncbi.nlm.nih.gov/biosystems.
[24] European Bioinformatics Institute. HGNC Database, HUGO Gene Nomenclature Committee, Marzo 2015. www.genenames.org.
SIANI — ULPGC
46
Pascual Lorente Arencibia
BIBLIOGRAFÍA
[25] Szklarczyk D, Franceschini A, Wyder S, Forslund K, Heller D, HuertaCepas J eta al . STRING v10: protein-protein interaction networks, integrated over the tree of life. Nucleic acids research, (43):D447–52, 2015.
[26] Prateek K, Steven H y Pauline CN. Predicting the effects of coding nonsynonymous variants on protein function using the SIFT algorithm. Nature
Protocols, (8):1073–1081, 2009.
[27] Adzhubei IA, Schmidt S, Peshkin L, Ramensky VE, Gerasimova A, Bork
P et al . A method and server for predicting damaging missense mutations.
Nature methods, 7(4):248–9, 2010.
[28] McLaren W, Pritchard B, Rios D, Chen Y, Flicek P y Cunningham F.
Deriving the consequences of genomic variants with the Ensembl API and
SNP Effect Predictor. Bioinformatics, 26(16):2069–2070, 2010.
[29] Hitachi Group Company. Data Integration — Pentaho Business Analytics Platform, Diciembre 2015.
http://www.pentaho.com/product/
data-integration.
[30] Devlin B. Data Warehouse: From Architecture to Implementation.
Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1996,
ISBN 0201964252.
[31] Watson HJ y Wixom BH. The Current State of Business Intelligence. Computer, 40(9):96–99, 2007.
[32] Pang B y Lee L. Opinion mining and sentiment analysis. Foundations and
Trends in Information Retrieval, 2008.
[33] Bellman R. Artificial Intelligence: Can Computers Think? Thomson Course Technology, 4a edición, 1978.
[34] James AR, Dana SN y Pearl YW. Diagnostic expert systems based
on a set covering model. International Journal of Man-Machine Studies, 19(5):437–460, 1983. http://www.sciencedirect.com/science/
article/pii/S0020737383800650.
[35] Treehouse. 10 User Interface Design Fundamentals, Agosto 2012. http://
blog.teamtreehouse.com/10-user-interface-design-fundamentals.
[36] Miller GA. The magical number seven, plus or minus two: Some limits on
our capacity for processing information. Psychological Review, (2):343–352,
1994.
SIANI — ULPGC
47
Pascual Lorente Arencibia
BIBLIOGRAFÍA
[37] Unidad de Investigación del Complejo Hospitalario Universitario Insular –
Materno Infantil. COAT – Combiantion and Annotation Tool, Diciembre
2015. https://github.com/uichuimi/Coat.git.
[38] Beedle M, van Bennekum A, Cockburn A, Cunningham W, Fowler M y
Highsmith J. Manifesto for Agile Software Development, Diciembre 2015.
http://www.agilemanifesto.org/.
[39] Beck K y Fowler M. Planning Extreme Programming. Addison-Wesley
Professional, 2001.
[40] Schwaber K. Agile Project Management with Scrum. Microsoft Press, 2004.
[41] HGNC. HUGO Gene Nomenclature Committee, Agosto 2015.
genenames.org.
www.
[42] Chatr-aryamontri A, Breitkreutz BJ, Oughtred R, Boucher L, Heinicke S,
Chen D et al . The BioGRID interaction database: 2015 update. Nucleic
acids research, 43:D470–8, 2015.
[43] Calderone A, Castagnoli L y Cesareni G. mentha: a resource for browsing
integrated protein-interaction networks. Nat Meth, 10:690–691, 2013. http:
//mentha.uniroma2.it.
[44] Ponten F, Jirstrom K y Uhlen M. The Human Protein Atlas–a tool for
pathology. The Journal of pathology, 216(12):387–93, 2008.
[45] Ensembl. Predicted data, Septiembre 2015. http://www.ensembl.org/
info/genome/variation/predicted_data.html#consequences.
[46] Petr D, Adam A, Goncalo A, Cornelis AA, Eric B, Mark AD et al . The
variant call format and VCFtools. Bioinformatics, 27(15):2156–2158, 2011.
SIANI — ULPGC
48
Descargar