160
Centro Nacional Departa TESIS DE CIENC Recuperación y Proce Información Clasifica Con J Ing. en Siste como Maestría en D Dr. Ju Dra. M Dr. H Cuernavaca, Morelos, México. cenidet de Investigación y Desarrollo T amento de Ciencias Computacionale E MAESTRÍA EN CIENCIA CIAS DE LA COMPUTACIÓ esamiento de Datos Genómicos ada en una Base de Datos Basad nceptual del Genoma Humano presentada por José Luis Rodríguez Pliego emas Computacionales por el I. T. de Cu o requisito para la obtención del grado de: n Ciencias en Ciencias de la Computa Director de tesis: Dr. Hugo Estrada Esquivel Co-Directores de tesis: Dr. Javier Ortiz Hernández Dr. José Antonio Zarate Marceleño Jurado: uan Gabriel González Serna – Presidente . Azucena Montes Rendón – Secretario MC. Mario Guillen Rodríguez – Vocal Hugo Estrada Esquivel – Vocal Suplente Tecnológico es AS EN ÓN para la Carga de da en un Modelo uautla ación Diciembre de 2009

TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Centro Nacional de Investigación y Desarrollo TecnológicoDepartamento de Ciencias Computacionales

TESIS DE MAESTRÍA EN CIENCIASCIENCIAS

Recuperación y Procesamiento de Datos Genómicos para la Carga de Información Clasificada en una Base de Datos Basada en un Modelo

Conceptual del Genoma Humano

José Luis Rodríguez PliegoIng. en Sistemas

como requisito para la obtención del grado de:

Maestría en Ciencias en

Dr. José Antonio

Dr. Juan Gabriel González Serna Dra. Azucena Montes Rendón

MC. Mario Guillen Rodríguez Dr. Hugo Estrada Esquivel

Cuernavaca, Morelos, México.

cenidet Centro Nacional de Investigación y Desarrollo Tecnológico

Departamento de Ciencias Computacionales

TESIS DE MAESTRÍA EN CIENCIASCIENCIAS DE LA COMPUTACIÓN

Recuperación y Procesamiento de Datos Genómicos para la Carga de Información Clasificada en una Base de Datos Basada en un Modelo

Conceptual del Genoma Humano

presentada por

José Luis Rodríguez Pliego . en Sistemas Computacionales por el I. T. de Cuautla

como requisito para la obtención del grado de:

Maestría en Ciencias en Ciencias de la Computación

Director de tesis: Dr. Hugo Estrada Esquivel

Co-Directores de tesis: Dr. Javier Ortiz Hernández

Dr. José Antonio Zarate Marceleño

Jurado: Dr. Juan Gabriel González Serna – Presidente Dra. Azucena Montes Rendón – Secretario

MC. Mario Guillen Rodríguez – Vocal Dr. Hugo Estrada Esquivel – Vocal Suplente

Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales

TESIS DE MAESTRÍA EN CIENCIAS EN DE LA COMPUTACIÓN

Recuperación y Procesamiento de Datos Genómicos para la Carga de Información Clasificada en una Base de Datos Basada en un Modelo

Computacionales por el I. T. de Cuautla

Ciencias de la Computación

Diciembre de 2009

Page 2: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …
Page 3: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Dedicatoria

A Dios, para él sea todo el honor y toda la gloria.

A mis padres:

J. Isabel Rodríguez Alcantar y María Magdalena Pliego Luna, como mínima

retribución de todo lo que me han dado.

A mis hermanos:

Juan, Miguel y Marisol, porque este triunfo también es de toda nuestra familia.

A mi amada:

Guadalupe Ariana Sánchez González, por apoyarme siempre en todo momento aun

en los más difíciles.

Page 4: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …
Page 5: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Agradecimientos

Dad gracias en todo, porque esta es la voluntad de Dios para con vosotros en Cristo Jesús

1 Ts 5.18

A mis padres, mis hermanos y mi amada, por apoyarme siempre, por preocuparse por mí, por sus

oraciones, por toda la energía invertida en mí persona. También a mí cuñada Lety y mí cuñado

Luis así como a mis sobrinos Marcos y Antonio. Sin ustedes no lo hubiera logrado.

Al Centro Nacional de Investigación y Desarrollo Tecnológico por haberme permitido

pertenecer a su comunidad estudiantil y realizar así mis estudios de maestría.

Al Consejo Nacional de Ciencia y Tecnología por la beca para manutención y la beca

mixta otorgada para la realización de mi estancia en la Universidad Politécnica de Valencia,

España.

A la Universidad Politécnica de Valencia, España, por haberme permitido realizar una

estancia, formando parte importante del desarrollo de mis estudios de maestría.

A mis directores de tesis: el Dr. Hugo Estrada Esquivel, Dr. José Antonio Zarate

Marceleño, Dr. Javier Ortiz Hernández (CENIDET) por la asesoría brindada, por la paciencia que

me tuvieron, por el buen trato y sobre todo por brindarme su amistad.

A mis revisores de tesis: Dr. Azucena Montes Rendón, Dr. Juan Gabriel González Serna,

MC. Mario Guillen Rodríguez, por el tiempo que dedicaron a este proyecto, por sus

recomendaciones y valiosas aportaciones.

Al Dr. Oscar Pastor López por haberme asesorado, por su paciencia, por el buen trato y

sobre todo por brindarme su amistad, durante mi estancia en la Universidad Politécnica de

Valencia, España.

Al grupo de Modelado Conceptual del Genoma Humano del Centro de Investigación

ProS en la Universidad Politécnica de Valencia, España: Oscar, Ana, Manuel, JC, Mati, Laura,

Mariángeles, Aremy, Luis y Vero. Por haberme aceptado para realizar una estancia de

investigación y haber compartido con migo sus conocimientos, sus valiosas aportaciones y sobre

todo por su amistad.

Page 6: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

A mis familiares, mis tíos: Ernesto, Conchita, Manuel, Juana, Josefa, Aurelio, Donato y

Elvia; a mis primos: Román, Hugo, René, Dulce y todos los demás. Gracias por su apoyo y

comprensión. A mi gran familia en Cristo, gracias sus ánimos y oraciones.

A mis compañeros de generación de SD: Israel, Omar, Christian, Rubí, Yanet e Itzel por

la grata convivencia, nunca olvidare las desveladas y anécdotas que pasamos juntos.

A mis compañeros de generación de IS e IA: Sergio, Oscar, Francisco, Alejandro,

Miriam, Luis, Maribel, Daniel, Lázaro, Oscar Siordia, Daniela, Cynthya, Isabel y Luisa, por

brindarme su amistad, Dios les bendiga.

A todos aquellos, amigos y familiares que no podría mencionar en este pequeño espacio,

a todas las personas que hicieron posible este proyecto, les deseo bendiciones y gracias a todos.

Page 7: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Resumen:

La genética es uno de los campos de más rápido crecimiento en la comunidad científica. Uno de

los problemas que se tiene en este campo es el reto de la comprensión del genoma humano. Los

centros de investigación genética proporcionan vistas de la información referente a las

secuencias genéticas almacenadas en sus bases de datos. Utilizado técnicas de modelado

conceptual provenientes de la Ingeniería de Software se pueden desarrollar herramientas para

ayudar a una mayor comprensión del genoma humano. De acuerdo con esto, se ha desarrollado

un esquema conceptual del genoma humano y su correspondiente base de datos. El genoma

humano contiene aproximadamente 30,000 genes y obtener los datos de cada gen

correspondientes a nuestro esquema conceptual de las vistas de las bases de datos genéticas es un

problema computacional. En esta tesis se describe una metodología que consiste en la extracción

de datos de las vistas de las bases de datos genéticas de forma automática para cargar la base de

datos generada a partir de nuestro esquema conceptual del genoma humano. Tomamos a las

bases de datos del NCBI (National Center for Biotechnology Information) como fuente, y se

desarrolló la herramienta de carga correspondiente mediante la aplicación de nuestra

metodología.

Abstract:

The genetics is one of the fastest growing fields in the scientific community. One of the

problems in this field is challenge of the understanding of the human genome. The genetic

research centers provide views of the information regarding the genetic sequences stored in their

databases. The conceptual modeling techniques from software engineering can be used to

develop tools and help researchers to gain a greater understanding of the human genome. Agree

with this, has developed a conceptual model of the human genome and its corresponding

database is created. The human genome contains approximately 30,000 genes and obtain data

from each gene corresponding to our conceptual scheme of the views of genetic databases is a

computational problem. This thesis describes a methodology for extracting data from the view of

genetic databases to automatically load the database generated from our conceptual scheme of

the human genome. We at the NCBI databases (National Center for Biotechnology Information)

as a source, and developed the corresponding load tool by applying our methodology.

Page 8: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

i

Tabla de contenido Tabla de contenido ........................................................................................................................ i

Listado de figuras ....................................................................................................................... iii

Listado de diagramas .................................................................................................................. iv

Listado de tablas .......................................................................................................................... v

Introducción ................................................................................................................................. 1

Capítulo 1: Antecedentes ................................................................................................................ 4

1.1 Antecedentes .................................................................................................................... 5

1.2 Planteamiento del problema ............................................................................................. 7

1.3 Objetivo .......................................................................................................................... 11

1.4 Estado del arte ................................................................................................................ 11

1.5 Producto resultado y beneficios ..................................................................................... 23

1.6 Alcances y limitaciones .................................................................................................. 25

Capítulo 2: Marco teórico ............................................................................................................. 27

2.1 Bases de datos heterogéneas .......................................................................................... 28

2.2 Herramientas de extracción, transformación y carga (ETL Tools) ................................. 29

2.3 Genética .......................................................................................................................... 32

2.4 Biotecnología ................................................................................................................. 33

2.5 Bioinformática ................................................................................................................ 33

2.6 El ADN como soporte de la información genética ......................................................... 34

2.7 Los cromosomas ............................................................................................................. 35

2.8 Gen ................................................................................................................................. 36

2.9 Las proteínas .................................................................................................................. 37

2.10 ARN mensajero ............................................................................................................... 38

2.11 El código genético .......................................................................................................... 40

2.12 Análisis de una prueba de ADN...................................................................................... 42

Page 9: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

ii

2.13 National Center for Biotechnology Information (NCBI) ............................................... 42

2.14 Análisis de las fuentes del NCBI .................................................................................... 43

2.15 Clasificación general de las bases de datos de Entrez .................................................... 50

2.16 Las herramientas del NCBI ............................................................................................ 51

2.17 Módelo conceptual del genoma humano ........................................................................ 52

2.18 Modelo ER simplificado de la base de datos.................................................................. 57

Capítulo 3: Solución propuesta ..................................................................................................... 58

3.1 Solución propuesta ......................................................................................................... 59

3.2 Análisis de los módulos a desarrollar ............................................................................. 70

Capítulo 4: Implementación de la solución .................................................................................. 74

4.1 Diseño e implementación de los módulos del sistema ................................................... 75

4.2 Descripción de la interfaz al usuario .............................................................................. 81

Capítulo 5: Plan experimental ....................................................................................................... 83

5.1 Resultados de la ejecución del plan experimental .......................................................... 84

5.2 Análisis de resultados ..................................................................................................... 96

Capítulo 6: Conclusiones y trabajos futuros ............................................................................... 104

6.1 Conclusiones ................................................................................................................ 105

6.2 Aportaciones................................................................................................................. 106

6.3 Trabajos futuros............................................................................................................ 107

Anexo A Escenarios de los casos de uso .................................................................................... 108

Anexo B Plan de pruebas ETLNCBIGD ..................................................................................... 115

Anexo C Diagrama entidad-relación de la vista Transcription de la base de datos genoma...... 127

Anexo D Videos ilustrativos sobre nociones de genética ........................................................... 130

Anexo E Ejemplo de la carga del gen NF1 ................................................................................. 132

Anexo F Glosario de términos y siglas ....................................................................................... 138

Referencias .............................................................................................................................. 143

Page 10: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

iii

Listado de figuras

Figura 1 Modelo de Watson y Crick[ADN08] .............................................................................. 34

Figura 2 Trascripción de ADN[ADN08] ....................................................................................... 35

Figura 3 Los cromosomas[ADN08].............................................................................................. 36

Figura 4 Diversas estructuras de proteínas[ADN08] .................................................................... 38

Figura 5 ARN mensajero[ADN08] ................................................................................................ 38

Figura 6 Clasificación de las base de datos en Entrez Global Query ........................................... 51

Figura 7 Procedimiento para dar soporte a la base de datos genoma ........................................... 59

Figura 8 Metodología para el desarrollo de módulos de carga y actualización ............................ 60

Figura 9 Relación entre las tablas de la base de datos genoma y los servicios web del NCBI ..... 61

Figura 10 Proceso de recuperación de datos mediante los servicios web del NCBI ..................... 63

Figura 11 Interface principal ......................................................................................................... 81

Figura 12 Interface para configurar la conexión con la base de datos .......................................... 82

Figura 13 Interface para la administración de la lista de genes .................................................... 82

Figura 14 Error de conexión con la base de datos genoma........................................................... 85

Figura 15 Prueba de conexión correcta con la base de datos genoma .......................................... 86

Figura 16 Mensaje de obtención del identificador del NCBI ........................................................ 87

Figura 17 Lista con un elemento ................................................................................................... 87

Figura 18 Agregando un elemento invalido a la lista de genes .................................................... 88

Figura 19 Elemento eliminado de la lista de genes....................................................................... 88

Figura 20 Lista generada con 10 genes ......................................................................................... 89

Figura 21 Comprobación de los 10 genes insertados mediante Entrez NCBI .............................. 90

Figura 22 Lista generada con 20 genes ......................................................................................... 91

Figura 23 Comprobación de los 20 genes insertados mediante Entrez NCBI .............................. 91

Figura 24 Carga del gen NF1 ........................................................................................................ 92

Figura 25 Cargando 10 genes en la base de datos genoma ........................................................... 93

Figura 26 Comprobación de la inserción de 10 genes en la base de datos genoma ..................... 94

Figura 27 Cargando 20 genes en la base de datos genoma ........................................................... 95

Figura 28 Comprobación de la inserción de 20 genes en la base de datos genoma ..................... 95

Page 11: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

iv

Figura 29 Análisis de las pruebas de carga de datos ..................................................................... 97

Figura 30 Administración de la conexión con la base de datos genoma .................................... 133

Figura 31 Agregando un elemento a la lista de genes ................................................................ 134

Figura 32 Cargando gen NF1 ...................................................................................................... 135

Figura 33 Comprobación de la inserción de los datos en la tabla "GENE" ................................ 136

Figura 34 Comprobación de la inserción de los datos en la tabla "ALLELE" ........................... 136

Figura 35 Comprobación de la inserción de los datos en la tabla "SEGMENT"........................ 136

Figura 36 Comprobación de la inserción de los datos en la tabla "SPLICED_TRANSCRIPT" 136

Figura 37 Comprobación de la inserción de los datos en la tabla "ELEMENT_TRANSCRIPT"

..................................................................................................................................................... 136

Figura 38 Comprobación de la inserción de los datos en la tabla "PRODUCES"...................... 137

Figura 39 Comprobación de la inserción de los datos en la tabla

"BIBLIOGRAPHY_REFERENCE" ........................................................................................... 137

Figura 40 Comprobación de la inserción de los datos en la tabla

"BIBLIOGRAPHY_DATABANK" ........................................................................................... 137

Listado de diagramas

Diagrama 1 Vista Gene-Mutation[VIRRUETA09] ...................................................................... 53

Diagrama 2 Vista Transcrption[VIRRUETA09].......................................................................... 55

Diagrama 3 Vista Genome[VIRRUETA09] ................................................................................. 56

Diagrama 4 Caso de uso 1 (CU 1) nivel 0 .................................................................................... 71

Diagrama 5 Caso de uso1.1 (CU 1.1) nivel 1 ............................................................................... 72

Diagrama 6 Caso de uso 1.2 (CU 1.2) nivel 1 .............................................................................. 73

Diagrama 7 Caso de uso 1.3 (CU 1.3) nivel 1 .............................................................................. 73

Diagrama 8 Diagrama de secuencia 1 Administrar lista de genes ................................................ 75

Diagrama 9 Diagrama de secuencia 2 Extracción y transformación de los datos del NCBI ........ 76

Diagrama 10 Diagrama de secuencia 3 carga de datos en la base de datos genoma .................... 77

Diagrama 11 Diagrama de despliegue del sistema ETL ............................................................... 78

Diagrama 12 Arquitectura de clases del módulo adminsitrar lista de genes ................................ 79

Diagrama 13 Arquitectura de clases del módulo de extracción-transformación .......................... 79

Page 12: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

v

Diagrama 14 Arquitectura de clases del módulo de carga ............................................................ 80

Diagrama 15 Arquitectura ETL para la base de datos genoma ................................................... 100

Diagrama 16 Arquitectura para consultas en lenguaje natural sobre la literatura contenida en la

base de datos genoma.................................................................................................................. 102

Diagrama 17 Vista de las arquitecturas de carga y consultas literarias ...................................... 103

Listado de tablas

Tabla 1 Bases de datos en el NCBI ................................................................................................. 9

Tabla 2 caso 1: Actualizaciones de las bases de datos del NCBI .................................................. 10

Tabla 3 Base de datos de BIOBASE .............................................................................................. 10

Tabla 4 Herramientas ETL en el ETL survey 2009 ....................................................................... 20

Tabla 5 Otras herremientas ETL (Opensource) ............................................................................ 21

Tabla 6 Comparativa de trabajos relacionados ............................................................................. 21

Tabla 7 Código genético ............................................................................................................... 41

Tabla 8 Tablas anexadas al modelo entidad relación de la base de datos genoma ....................... 57

Tabla 9 Identificación de los datos extraídos de los servicios web y el formato en el que se deben

transformar .................................................................................................................................... 64

Tabla 10 Resultados de las pruebas de carga de datos.................................................................. 96

Tabla 11 Escenarios para el caso de uso "Cargar lista de genes" ............................................... 109

Tabla 12 Escenarios para el caso de uso “Administrar lista de genes” ...................................... 110

Tabla 13 Escenarios para el caso de uso “Obtener identificador del gen en el NCBI para la vista

Transcription” ............................................................................................................................. 111

Tabla 14 Escenarios del caso de uso “Obtener datos de cada gen de la lista de la fuente NCBI”

..................................................................................................................................................... 112

Tabla 15 Escenarios para el caso de uso “Cargar datos de cada gen de la lista” ........................ 113

Tabla 16 Tareas a desarrollar para preparar y aplicar las pruebas .............................................. 117

Tabla 17 Requisitos de Hardware para las pruebas .................................................................... 118

Tabla 18 Requisitos de Software para las pruebas...................................................................... 118

Page 13: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

pág. 1

Introducción

El trabajo expuesto en esta tesis se desarrolla en la intersección entre las ciencias genéticas y las

ciencias de la computación. Por una parte tenemos a la genética que es el campo de ciencia que

estudia la forma en la cual los rasgos de una generación se heredan a la próxima [RODDEN05].

Aunque parezca una idea simple, la genética afecta todo sobre cada cosa viviente sobre tierra.

Por otra parte tenemos a las ciencias de la computación que son aquellas que abarcan el estudio

de las bases teóricas de la información y la computación y su aplicación en sistemas

computacionales.

Sin embargo este trabajo se ubica más hacia las ciencias de la computación llevando a

cabo la investigación sobre la recuperación y procesamiento de los datos genómicos que se

encuentran publicados en diversos sitios. Uno de esos sitios es el NCBI (National Center for

Biotechnology Information).

Esta tesis se realiza una investigación sobre la recuperación de datos correspondientes a

secuencias de ADN (Ácido desoxirribonucleico) y ARN (Ácido ribonucleico), las cuales se

encuentran involucradas en el proceso de la transcripción de los genes que corresponden al

genoma humano.

Debido a la particularidad del dominio en el que se realizó este trabajo, parte de la

investigación incluye comprender los términos necesarios para entender e identificar las

estructuras de datos, además de analizar cómo se encuentra organizada la información, en

relación a la estructura en la cual se quiere almacenar los datos genéticos.

Para ayudar a una mayor comprensión del genoma humano se han utilizado técnicas de

modelado conceptual provenientes de la Ingeniería de Software. Acorde con esto se ha

desarrollado un esquema conceptual del genoma humano y su correspondiente base de datos.

Este modelo conceptual ha sido desarrollado por el Centro de Investigación ProS en la

Universidad Politécnica de Valencia, España (UPV).

Utilizando como punto de partida el aporte realizado en la UPV y las diversas

herramientas tecnológicas utilizadas el área de sistemas distribuidos, se desarrolló una

Page 14: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

pág. 2

metodología para el desarrollo de módulos de carga y actualización de datos relacionados al

esquema conceptual del genoma humano, para demostrar esta metodología se desarrolló un

prototipo que implementó un módulo de carga para la recuperación y extracción de datos de las

bases de datos del NCBI, las cuales contienen datos correspondientes a la vista Transcription del

esquema conceptual del genoma humano.

Organización del documento

Capítulo 1 Antecedentes: En este capítulo se sientan las bases para el desarrollo y sustentación

del trabajo de tesis. El capítulo se encuentra organizado en los siguientes subtemas: 1.1

Antecedentes, 1.2 Planteamiento del problema, 1.3 Objetivo, 1.4 Estado del arte, 1.5 Producto

resultado y beneficios, y 1.6 Alcances y limitaciones.

Capítulo 2 Marco teórico: En este capítulo se abordan 16 subtemas en los cuales se

abarcan temas relacionados con base de datos, genética, el modelo conceptual del genoma

humano y el modelo entidad relación de la base de datos genoma. El capítulo se encuentra

organizado en los siguientes subtemas: 2.1, Bases de datos heterogéneas, 2.2 Herramientas de

extracción, transformación y carga (ETL Tools), 2.3 Genética, 2.4 Biotecnología, 2.5

Bioinformática, 2.6 El ADN como soporte de la información genética, 2.7 Los cromosomas, 2.8

Gen, 2.9 Las proteínas, 2.10 ARN mensajero, 2.11 El código genético, 2.12 Análisis de una

prueba de ADN, 2.13 National Center for Biotechnology Information (NCBI), 2.14 Análisis de

las fuentes del NCBI, 2.15 Clasificación general de las bases de datos de Entrez, 2.16 Las

herramientas del NCBI, 2.17 Modelo conceptual del genoma humano y 2.18 Modelo

simplificado ER de la base de datos.

Capítulo 3 Solución propuesta: En este capítulo se describe la solución propuesta al

problema de la integración de datos que se requiere para hacer de la base de datos genoma un

repositorio universal. El capítulo se encuentra organizado en los siguientes subtemas: 3.1

Solución propuesta y 3.2 Análisis de los módulos a desarrollar.

Capítulo 4 Implementación de la solución: En este capítulo se describe la implementación

de los módulos de la herramienta diseñada mediante nuestra metodología, haciendo uso de

técnicas utilizadas en ingeniería de software. El capítulo se encuentra organizado en los

Page 15: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

pág. 3

siguientes subtemas: 4.1 Diseño e implementación de los módulos del sistema y 4.2 Descripción

de la interface al usuario.

Capítulo 5 Plan experimental: En este capítulo se describen y analizan los resultados

obtenidos de caca caso de prueba descrito del plan de pruebas ETLNCBIGD. El capítulo se

encuentra organizado en los siguientes subtemas: 5.1 Resultados de la ejecución del plan

experimental y 5.2 Análisis de los resultados.

Capítulo 6 Conclusiones y trabajos futuros: En este capítulo se describen las conclusiones

de este trabajo, así como las aportaciones y trabajos futuros. El capítulo se encuentra organizado

en los siguientes subtemas: 6.1 Conclusiones, 6.2 Aportaciones, 6.3 Trabajos futuros.

Los anexos agregados al final de esta tesis, se encuentran organizados de la siguiente

forma: Anexo A Escenarios de los casos de uso, Anexo B Plan de pruebas ETLNCBIGD, Anexo

C Diagrama entidad-relación de la vista Transcription de la base de datos genoma, Anexo D

Videos ilustrativos sobre nociones de genética, Anexo E, Ejemplo de la carga del gen NF1,

Anexo F Glosario de términos y siglas, y finalmente las referencias.

Page 16: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

pág. 4

Capítulo 1: Antecedentes

En este capítulo se describen y se definen las bases para el desarrollo y sustentación del trabajo

de tesis. El capítulo se encuentra organizado en los siguientes subtemas:

1.1 Antecedentes.

1.2 Planteamiento del problema.

1.3 Objetivo,

1.4 Estado del arte.

1.5 Resultados y beneficios.

1.6 Alcances y limitaciones.

Page 17: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 1: Antecedentes

pág. 5

1.1 Antecedentes

Modelado Conceptual del Genoma Humano.

El modelo que se implementa en la base de datos genoma es el resultado de una investigación del

grupo de Modelado Conceptual del Genoma Humano del Centro de Investigación ProS en la

Universidad Politécnica de Valencia, España. Los participantes en este grupo son los siguientes:

Dr. Óscar Pastor López Director

Dr. Juan Carlos Casamayor Rodenas Prof. Titular de universidad

Dra. Matilde Celma Giménez Profesora Prof. Titular de universidad

Dra. Mariángeles Pastor Cubillo Prof. Titular de universidad

Dra. Laura Mota Herranz Prof. Titular de universidad

Ing. Aremy Olaya Virrueta Gordillo (estudiante de maestría) Investigadora

Luis Eduardo Eraso Shattka (estudiante de maestría) Colaborador

Lic. Veronica Burriel Coll (estudiante de maestría) Colaboradora

Dr. Manuel Pérez Alonso (especialidad en genética) Colaborador

Dra. Ana M. Levin Chucrel (especialidad en genética) Colaboradora

A continuación se presentan los artículos que han servido de base para la definición de este tema

de tesis. Cabe mencionar que estos artículos son producto del trabajo del Grupo Genoma de la

UPV.

Artículo: Conceptual Modeling meets the Human Genome

En [ADN08] se menciona cómo el modelado conceptual y los métodos más avanzados de

ingeniería de software orientados a la calidad han facilitado el diseño y desarrollo de sistemas de

información. Asimismo, plantea mirando hacia el futuro, que el dominio de la bioinformática en

general y la comprensión del genoma humano en particular, son casos en donde curiosamente el

enfoque del modelado conceptual no ha sido completamente explotado.

Los dos principales problemas por los que no ha sido explotado ampliamente son los

siguientes: En primer lugar, prácticamente todo lo que se sabe acerca de los genomas y la

Page 18: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 1: Antecedentes

pág. 6

expresión del genoma ha sido descubierto a través de un enfoque de la investigación científica,

en el cual se ha privilegiado el aprendizaje a partir de "hechos" acerca de los genomas, más que

acerca de los "por qué" se produce aquello descubierto. Es decir la falta de comprensión

conceptual. En segundo lugar, la comprensión requiere de definiciones precisas, y con

frecuencia, aparecen en la literatura científica descripciones o aportaciones poco formales

incluso vagas, asociadas a conceptos muy básicos de la bioinformática.

La percepción de los biólogos del rol científico de la computación es el de un Ingeniero

que tiene que proveer de más poder de cómputo para analizas más y más grandes cantidades de

información. Sin embargo, consideramos nosotros, que en lugar de ello, un científico de la

computación debe percibirse como un modelador conceptual de la realidad, en este caso un

modelador de cómo funciona la vida.

En [ADN08] se introducen algunos conceptos básicos del genoma para mostrar la gran

complejidad asociada con el objetivo del modelado de cualquier genoma en general, y para

establecer que se habla en particular del genoma humano, limitándose al concepto de gen.

Finalmente se propone un esquema conceptual para representar los componentes principales que

más permitan comprender la estructura del genoma humano.

Artículo: Enforcig Conceptual Modeling to Improve the Understanding of Human

Genome

En [VIRRUETA09] los conceptos biológicos más relevantes son debidamente abordados a

través de la creación de un esquema conceptual, que nos permitirá comprender mejor el proceso

global que se realiza de una secuencia de ADN a una proteína funcional. A partir del modelo

creado se genera una base de datos. Esta base de datos está destinada a actuar como un

repositorio unificado que permitirá a los biólogos llevar a cabo tareas de recuperación de

información en forma eficiente. En el artículo se muestra el proceso para cargar automáticamente

una cantidad suficiente de datos extraídos de varias fuentes de datos biológicos, junto con las

estrategias para que la explotación de esta base de datos sea más eficiente y eficaz.

Page 19: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 1: Antecedentes

pág. 7

1.2 Planteamiento del problema

Descripción del problema

El modelo conceptual del genoma humano desarrollado en la Universidad Politécnica de

Valencia, el cual es implementado en una base de datos llamada genoma considera la

recuperación de información que se puede localizar en diversas bases de datos heterogéneas, lo

cual implica la utilización de tecnologías específicas para el acceso a cada una de las base de

datos. La base de datos genoma está destinada a actuar como un repositorio unificado y se

requiere desarrollar herramientas de carga y actualización que permitan la recuperación de los

registros o vistas de las bases de datos fuentes para extraer solo los datos correspondientes al

esquema conceptual. Actualmente este proceso requiere de mucho esfuerzo debido a que se

realiza la carga de forma manual. La carga manual implica que el usuario accede a los datos por

medio de la interfaz web del NCBI, donde el usuario copia los datos mediante el comando

(Ctrl+C) para después pegarlos en la interfaz SQL Developer y cargar los datos en la base de

datos genoma.

En este punto consideremos importante mencionar que el aporte de esta tesis radica en el

uso de mecanismos propios de las ciencias computacionales, y específicamente de las bases de

datos para la resolución de un problema que tiene su dominio fuera de las ciencias

computacionales, como es el caso del genoma. De esta forma se logra el objetivo de las ciencias

computacionales de ser un mecanismo que se interelaciona con el resto de las ciencias.

Descripción de la complejidad del problema

El tamaño del genoma humano es de aproximadamente 3,000,000,000 pares de bases. En el

genoma humano se encuentran de 25,000 a 30,000 genes[RODDEN05]. La cantidad de

información que se requiere analizar para obtener un reporte completo del genoma de una

persona, se incrementa al tener que analizar las SNP´s1 (variaciones genéticas). Debido a esta

complejidad, para realizar actualmente un estudio genético, primero se identifican los genes a

analizar, debido a que tanto la extracción como la actualización de la información

correspondiente a cada gen de cada base de datos es un problema computacional.

1 Single Nucleotide Polymorphism, SNP por sus siglas en ingles

Page 20: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 1: Antecedentes

pág. 8

Existen diferentes bases de datos contenidas en diversas fuentes, las cuales contienen

información relacionada con el genoma humano. Las principales fuentes de interés con relación a

este trabajo son:

• National Center for Biotechnology Information (NCBI)2

• BIOBASE3

• MutDB4

• European Bioinformatics Institute (EBI)5

• Gene Ontology (GO)6

• DNA Data Bank of Japan (DDBJ)7

• Database of Genomic Variants8

• The Human Genome Variation database of Genotype-to-Phenotype information (HGVbaseG2P)9

• GENATLAS10

Para esta tesis, los colaboradores del Grupo Genoma (especialistas en genética), han

seleccionado la fuente NCBI como el primer caso de estudio. Posteriormente se presenta el

estudio completo de las bases de datos del NCBI, seleccionando sólo las pertinentes. Se

desconoce la estructura de estas base de datos debido a que su acceso es a través de servicios

web, los cuales solo proporcionan vistas de los datos, y además las bases de datos se encuentran

interrelacionadas ya que en una vista se contienen enlaces a otras bases de datos. El esquema

conceptual desarrollado por el Grupo Genoma se divide en 3 vistas principales:

• Genoma

• Transcription

• Gene-Mutation

Por su parte, la base de datos genoma está basada en dos vistas del modelo (Gene-

Mutation y Transcription). Analizar todas las bases de datos relacionadas con cada una de estas

2 http://www.ncbi.nlm.nih.gov/ 3 http://www.hgmd.cf.ac.uk/ac/index.php 4 http://mutdb.org/cgi-bin/mutdb.pl?about=true 5 http://www.ebi.ac.uk/ 6 http://www.geneontology.org/ 7 http://www.ddbj.nig.ac.jp/Welcome.html.en 8 http://projects.tcag.ca/variation/ 9 http://www.hgvbaseg2p.org/index 10 http://genatlas.medecine.univ-paris5.fr/

Page 21: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 1: Antecedentes

pág. 9

vistas del esquema conceptual implica la complejidad de desarrollar las herramientas adecuadas

para cada una de esas bases datos.

Para observar la complejidad del problema, a continuación se muestran dos casos de

estudio, el primero para cargar datos a la vista Transcription y el segundo para la vista Gene-

Mutation.

Caso de estudio 1: bases de datos del NCB I

NCBI establece los enlaces a las bases de datos que se publican en su sitio web, lleva a cabo la

investigación en biología computacional, desarrolla herramientas de software para el análisis de

los datos relativos al genoma, y difunde información biomédica para la mejor comprensión de

los procesos moleculares que afectan a la salud humana y enfermedad. Al ser NCBI un

organismo totalmente abierto, nos proporciona las herramientas necesarias para acceder a su

información desde servicios web y archivos planos en formato ASN1.

El acceso a las bases de datos de NCBI es a través de servicios web, que dan como

resultado vistas de las bases de datos fuentes. El sitio FTP proporciona los archivos en formato

ASN111 y GenBank12 de las bases de datos fuentes y sus actualizaciones correspondientes. Las

actualizaciones son diarias, semanales, mensuales y anualmente, dependiendo de la base de datos

genómica. El conjunto de bases de datos que se han seleccionado inicialmente por los

especialistas en genética del Grupo Genoma son las siguientes:

Tabla 1 Bases de datos en el NCBI

Base de Datos Número de registros13

Gene 5,068,947

GenBank 82,853,68514

Nucleotide 71,707,561

OMIM 19,986

UniGene 3,540,230

PubMed 19,027,565

RefSeq 3,960,072

11 http://www.ncbi.nlm.nih.gov/Sitemap/Summary/asn1.html 12 http://www.ncbi.nlm.nih.gov/collab/FT/ 13 http://www.ncbi.nlm.nih.gov/sites/entrez Seleccione una base de daros e introduzca el valor de búsqueda: all[filter] 14 Dato adquirido de http://www.ncbi.nlm.nih.gov/Genbank/index.html

Page 22: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 1: Antecedentes

pág. 10

En la tabla 2 se listan algunas de las bases de datos que pueden ser accedidas mediante el

servicio web de Entrez y la disponibilidad de sus archivos de actualización correspondientes a

través del sitio ftp del NCBI.

Tabla 2 caso 1: Actualizaciones de las bases de datos del NCBI

Base de Datos para la carga

(Servicios web)

Bases de Datos para la actualización

Archivos en ANS1 y GenBank

Gene Archivo de actualización de Gen

GenBank Archivo de actualización de GenBank

Nucleotide ---

OMIM --

UniGene --

PubMed Archivo de actualización de PubMed

RefSeq Archivo de actualización de RefSeq

Caso de estudio 2: BIOBASE - HGMD

Este caso es muy particular ya que esta fuente pertenece a BIOBASE el principal proveedor de

contenidos de bases de datos biológicos, conocimientos y herramientas de software de análisis

para la industria de las ciencias de la vida. La Human Gene Mutation Database (HGMD) de

BIOBASE es una base de datos comercial. El número de registros de HGMD está en la tabla 3.

Tabla 3 Base de datos de BIOBASE

Base de Datos Número de registros15

HGMD versión Académica 61,826

HGMD versión Profesional 83,729

Esta base de datos tiene también un acceso libre limitado, disponible solo para

investigadores, instituciones académicas y organismos no lucrativos. Los datos de mutaciones

están disponibles en este sitio web luego de 2 años y medio de su inclusión inicial. La versión

profesional (HGMD Professional) provee además herramientas avanzadas de búsqueda e

información adicional específica de genes y mutaciones ausente en la versión pública. La versión

profesional de HGMD se actualiza cada tres meses. Su acceso es a través de servicios web.

15 http://www.hgmd.cf.ac.uk/ac/index.php

Page 23: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 1: Antecedentes

pág. 11

1.3 Objetivo

El objetivo de esta tesis es establecer una metodología para el desarrollo de módulos de carga y

actualización de datos relacionados al esquema conceptual del genoma humano, para esto se

planteó el desarrollo de un prototipo de una herramienta que implemente un módulo de carga

para la recuperación y extracción de datos de las bases de datos del NCBI que contienen datos

correspondientes a la vista Transcription del esquema conceptual del genoma humano, el cual

fue desarrollado por el Grupo Genoma de la Universidad Politécnica de Valencia.

1.4 Estado del arte

Dentro del estado del arte se contemplan ciertos tópicos relacionados con el tema de tesis, los

cuales son abordados individualmente y al final se presentan las conclusiones sobre éstos. En

general los tópicos que se abordan son:

1.4.1 Herramientas E-Utilitites.

1.4.2 Gene Ontology.

1.4.3 Artículo: Pruebas personales de ADN y el mito de la medicina personalizada.

1.4.4 Artículos relacionados con el uso de base de datos genéticas o biomoleculares.

1.4.5 Análisis de las herramientas de extracción, transformación y carga (ETL por sus

siglas en ingles).

1.4.6 Conclusiones sobre el estado del arte

1.4.1 E-Utilities

E-Utilities [SAYERS04] es un conjunto de herramientas de programación proporcionadas por

NCBI que facilitan el acceso a los datos de Entrez fuera de la interfaz web de consulta ordinaria

y puede ser útil para la guardar los resultados de las búsquedas realizadas, para su uso futuro.

E-Utilities proporciona los siguientes servicios:

Page 24: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 1: Antecedentes

pág. 12

• Einfo: Ofrece índice del campo de términos, la última actualización, y enlaces disponibles para cada base de datos.

• ESearch: Busca y recupera identificadores primary IDs (para su uso en EFetch, ELink, y ESummary), traducciones de términos y, opcionalmente, mantiene los resultados para uso futuro en el entorno del usuario.

• EPost: Envía un archivo que contiene una lista de números de identificación primary IDs para uso futuro en el entorno del usuario para usarse con estrategias de búsqueda posteriores.

• ESummary: Obtiene un resumen de cada registro a partir de una lista de identificadores primary IDs o desde el entorno del usuario.

• EFetch: Recupera registros en el formato requerido de una lista de uno o más números de identificación primaria ID o desde el entorno del usuario.

• ELink: Comprueba la existencia de un enlace externo o vínculo de artículos relacionados mediante una lista de uno o más números de identificación primary IDs. Recupera primary IDs y la relevancia de las puntuaciones de enlaces a las bases de datos de Entrez o artículos conexos; crea un hipervínculo LinkOut al principal proveedor de servicios mediante una ID y base de datos especifica, o lista las URLs de LinkOut y los atributos de múltiples identificaciones IDs.

• EGQuery: Proporciona el recuento en XML de una base de datos de Entrez para una sola búsqueda usando Global Query.

• ESpell: Recupera sugerencias ortográficas.

1.4.2 Gene Ontology

El proyecto Gene Ontology (GO por sus siglas en ingles) [GOC00] es un esfuerzo de

colaboración para hacer frente a la necesidad de coherencia de las descripciones de los productos

de genes en diferentes bases de datos. Los colaboradores GO están desarrollando tres estructuras

o vocabularios controlados (ontologías) que describen los productos de genes en términos de sus

procesos biológicos, componentes celulares y funciones moleculares en un formato

independiente. Hay tres tareas distinguibles en este esfuerzo: en primer lugar, escribir y mantener

las ontologías, en segundo lugar, hacer enlaces cruzados entre las ontologías, los genes y

productos génicos en colaboración con las bases de datos, y en tercer lugar, desarrollar

herramientas que faciliten la creación, el mantenimiento y el uso de ontologías.

El uso de términos GO por varias bases de datos facilita la colaboración, con consultas

uniformes a través de ellas. Los vocabularios controlados están estructurados de modo que se

Page 25: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 1: Antecedentes

pág. 13

pueden realizar consultas en diferentes niveles: por ejemplo, puede utilizar GO para encontrar

todos los productos de genes en el genoma del ratón que están implicados en la transducción de

señales, o se puede acercar a todos los receptores de tirosina quinasas. Esta estructura también

permite hacer anotaciones para asignar propiedades a los productos de genes en diferentes

niveles, dependiendo de cuánto se sabe acerca de un producto génico.

Los dominios soportados por GO son los siguientes16:

• Procesos biológicos • Componentes celulares • Procesos Moleculares

GO sirve para estandarizar los términos y que todos los profesionales de ciencias génicas

puedan entenderse. Cabe destacar que GO no es una norma dictada que obliga a una

nomenclatura común a través de bases de datos. Los grupos involucrados en GO participan a

causa de su propio interés y cooperan para llegar a un consenso.

1.4.3 Artículo: Pruebas personales de ADN y el mito de la medicina personalizada

En [ETCG08] se presenta un informe acerca de las pruebas personales que realizan ciertas

empresas para vender productos genéticos, según el informe, las empresas que realizan estas

pruebas no cuentan con una base científica solida que compruebe la eficacia y utilidad de la

medicina “genéticamente informada”17e individualizada como pilar de la salud y la longevidad.

Sin embargo, las pruebas de ADN en el terreno avanzan rápidamente. Los laboratorios que

realizan las pruebas genéticas con una base científica solida marcan la pauta en el análisis con

fines de obtener la mayor eficacia y calidad en las pruebas.

Este informe hace notar la importancia que tienen las clausulas del contrato de

consentimiento al momento de proporcionar las muestras genéticas.

16De http://wiki.geneontology.org/index.php/GO_FAQ 17 Frase del Dr. Russ Altman, del Departamento de Bioingeniería de la Universidad de Stanford, en una clase por Internet facilitada por Google: “Opportunities for Pharmacogenomics and Personalizad Medicine”, 22 de febrero de 2006, en Internet: http://thepersonalgenome.com/2006/02/russ_altman_tal/

Page 26: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 1: Antecedentes

pág. 14

En este informe se presenta un cuadro que brinda una muestra de empresas que realizan

pruebas genéticas personales, con información de cada compañía y su plan comercial para el

ADN del cliente.

1.4.4 Artículos relacionados con el uso de base de datos genéticas o

biomoleculares

Artículo: Automated data integration for developmental biological research

En [ZHONG07] se menciona que en la actualidad estamos en una época de explotación a gran

escala de datos-genómicos, donde un reto importante para los biólogos desarrolladores es cómo

extraer pistas importantes de estos datos a disposición del público en beneficio del estudio de los

genes y cómo utilizar estas pistas para mejorar nuestra comprensión del desarrollo a nivel de

sistemas. En [ZHONG07] se muestran varios estudios que han demostrado con éxito nuevos

enfoques de preguntas clásicas de desarrollo, mediante la integración computacional de diversos

conjuntos de datos de todo el genoma. Tales enfoques informáticos han mostrado un gran

potencial para facilitar la investigación.

The BioJava project

En [PRLIC08] se presenta el proyecto BioJava el cual fue concebido en 1999 por Thomas Down

y Matthew Pocock como una interfaz de programación de aplicaciones (API) para simplificar el

desarrollo de software bioinformático mediante Java. Desde entonces ha evolucionado hasta

convertirse en un framework completo con módulos para realizar muchas tareas comunes de la

bioinformática. El objetivo de BioJava es facilitar la reutilización de código y para proporcionar

implementaciones estándar que son fáciles de vincular a los scripts externos y aplicaciones.

BioJava es un proyecto de código abierto que es desarrollado por voluntarios y

coordinado por el Open Bioinformatics Foundation (OBF). Todo el código se distribuye bajo la

licencia LGPL y puede ser libremente utilizados y reutilizados en cualquier forma. BioJava es un

Page 27: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 1: Antecedentes

pág. 15

proyecto maduro y ha sido empleado en una serie de aplicaciones en el mundo real y más de 50

estudios publicados. La lista de estos se puede encontrar en el sitio web BioJava.18.

Las 10 APIS más utilizadas BioJava son las siguientes: (1) alfabetos de nucleótidos y

aminoácidos, (2) analizador BLAST, (3) secuencia I/O, (4) programación dinámica, (5) estructura

y manipulación de I/O, (6) secuencia de manipulación, (7) algoritmos genéticos, (8)

distribuciones estadísticas, (9) las interfaces gráficas de usuario y (10) serialización a las bases

de datos.

Artículo: From genes to functional classes in the study of biological systems

En [SHAHROUR07] se presenta FatiScan, un programa basado en la Web el cual implementa un

umbral de pruebas independientes para la interpretación de experimentos a gran escala que no

dependen de la pre-selección de los genes sobre la base de la aplicación de múltiples pruebas

independientes para cada gen. En este trabajo los métodos independientes de los datos originales

para el enriquecimiento del conjunto de genes y el diseño experimental constituyen una

alternativa prometedora para los perfiles funcionales de experimentos de escala genómica.

PEDRo: A database for storing, searching and disseminating experimental

proteomics data.

En [PATON04] se menciona que la proteómica19 está evolucionando rápidamente en un alto

rendimiento de tecnología, en el que los estudios sustanciales y sistemáticos se llevan a cabo

sobre muestras procedentes de una amplia gama de condiciones fisiológicas, de desarrollo o

patológicas. Los mapas de referencia 2D gels son ampliamente distribuidos. Sin embargo, no hay

todavía una representación estándar oficialmente aceptada para apoyar el intercambio de datos de

proteómicos, y la difusión de conjuntos de datos proteómicos.

En [PATON04] se describe el diseño, la aplicación y el uso de un repositorio de datos

proteómicos experimentales (Proteome Experimental Data Repository PEDRo), lo que hace

18 http://www.ohloh.net/projects/biojava 19 La proteómica puede definirse como la genómica funcional a nivel de proteínas, http://es.wikipedia.org/wiki/Prote%C3%B3mica

Page 28: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 1: Antecedentes

pág. 16

disponible un conjunto de datos proteómicos completo para la navegación, la búsqueda y

descarga. Esto también sirve para ampliar el debate sobre el nivel de detalle en el que los datos

proteómicos deben ser capturados, el tipo de facilidades que deberían proporcionar los sistemas

de gestión de datos proteómicos, y las técnicas por las que estas facilidades pueden estar

disponibles.

La base de datos PEDRo proporciona acceso a una amplia colección de descripciones de

conjuntos de datos experimentales en la proteómica. No sólo son interesantes estos conjuntos de

datos en sí mismos, sino que también proporcionan un útil principio de validación del modelo de

datos de PEDRo, que ha servido como punto de partida para la actividad de normalización en

curso a través de la iniciativa de normas del Proteoma de la Organización del Proteoma

Humano.

PEDRo hace un amplio uso de XML para capturar, transmitir, almacenar y buscar datos

proteómicos.

Cyclonet—an integrated database on cell cycle regulation and carcinogénesis

En [SHARIPOV07] se desarrollo una base de datos para integrar información sobre la regulación

del ciclo celular en los mamíferos, en los estados normales y patológicos (base de datos

Cyclonet). Cyclonet integra los datos obtenidos por las ciencias proteínicas y de la quimio-

informática sobre la base del enfoque de sistemas biológicos. Cyclonet es un recurso

especializado, que permite a los investigadores trabajar en el campo del descubrimiento de

fármacos contra el cáncer para analizar la riqueza de información disponible actualmente de

forma sistemática. Cyclonet contiene información sobre genes y moléculas relevantes, diagramas

y modelos de la regulación del ciclo celular y los resultados de su simulación.

Tesis: Integration of biological data: systems, infrastructures and programmable

tools

En [CHAGOYEN05] se menciona que la integración de información biológica tiene diversas

caras y, por tanto, diferentes enfoques y soluciones. Presenta los pasos dados para solventar la

carencia de infraestructuras para la gestión y almacenamiento de datos estructurales obtenidos

Page 29: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 1: Antecedentes

pág. 17

mediante microscopía electrónica tridimensional, articulados alrededor de dos proyectos

científicos de ámbito internacional: el primero es la conceptualización en la base de datos

BioImage (integrando información de distintas técnicas microscópicas) y la creación de EMD

(Electron Microscopy Database) en el European Bionformatics Institute (integrando información

de estructuras macromoleculares).

Ensembl 2009

En [HUBBARD08] se presenta la última versión del proyecto Ensembl

(http://www.ensembl.org), el cual es un amplio sistema de información del genoma con un

conjunto integrado de anotación del genoma, bases de datos, y otra información para cordados,

modelos de organismos seleccionados y vectores genómicos de enfermedades. En la última

liberación 51 (noviembre de 2008), Ensembl soporta plenamente 45 especies, y soporta

preliminarmente otras tres especies. Las nuevas especies en el año pasado incluyen orangutanes

y otros seis bajo la cobertura de los genomas de mamíferos. Las novedades principales y mejoras

a Ensembl desde su informe anterior incluye un gran rediseño de su sitio web; la generación de

alineaciones de genomas múltiples y secuencias ancestrales utilizando la nueva tubería Enredo-

Pecan-Ortheus y el desarrollo de nuestra infraestructura de software, en particular para apoyar el

proyecto Ensembl Genomas.

BioExtract Server – An Integrated Workflowenabling System to Access and

Analyze Heterogeneous, Distributed Biomolecular Data

En [LUSHBOUGH08] se menciona como en la actualidad muchas de las investigaciones

virtuales de la bioinformática necesitan tener acceso a múltiples fuentes de datos distribuidas y

herramientas analíticas. Las fuentes de datos requeridas pueden incluir grandes repositorios de

datos públicos, bases de datos de la comunidad, y bases de datos de proyectos para su uso en una

investigación de dominio especifico. Diferentes fuentes de datos con frecuencia utilizan distintos

lenguajes de consulta y devuelven los resultados en formatos únicos, por lo que los

investigadores dependen de un número reducido de fuentes de datos primarios o familiarizarse

con los lenguajes de consulta y formatos. Del mismo modo, las herramientas analíticas asociadas

Page 30: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 1: Antecedentes

pág. 18

a menudo requieren formatos de entrada para producir resultados concretos y singulares que

hacen que sea difícil de utilizar la salida de una herramienta como entrada a otra.

El servidor de BioExtract (http://bioextract.org) es una aplicación de integración de datos

basada en internet diseñada para consolidar, analizar y mostrar datos a partir de una mezcla de

bases de datos heterogéneas biomoleculares. Las operaciones básicas del servidor BioExtract

permiten a los investigadores, a través de navegadores web, especificar las fuentes de datos,

flexibilidad en las consultas a las fuentes de datos, aplicar herramientas de análisis, los conjuntos

de resultados de descarga, y almacenar los resultados de las consultas para su posterior

reutilización. Cuando el investigador trabaja con el sistema, sus "pasos" se guardan en el

historial. En cualquier momento, estos pasos pueden ser conservados a largo plazo como un flujo

de trabajo tan sólo aportando un nombre de flujo de trabajo y la descripción.

Aggregation of bioinformatics data using Semantic Web technology

En [STEPHENS06] se describe a la integración de datos biomédicos distintos como un desafío

para los esfuerzos en el descubrimiento de fármacos. Las tecnologías de Web Semántica

proporcionan la capacidad de obtener más fácilmente los datos agregados y se pueden utilizar

para mejorar la eficiencia en el descubrimiento de fármacos. En este documento se describe una

implementación de una infraestructura de Web Semántica que utiliza la escalabilidad del Modelo

de Datos Oracle RDF como repositorio y Seamark Navigator para navegar y buscar los datos.

En el documento se presenta un caso de ejemplo que identifica biomarcadores de genes de

interés y utiliza la infraestructura de Web Semántica para anotar los datos.

La integración de datos biomédicos en el descubrimiento de fármacos ha demostrado ser

un desafío de amplio rango. Las promesas de la tecnología de Web Semántica tienen la capacidad

para agregar con más facilidad esos datos, mejorando así la eficiencia del descubrimiento de

fármacos. La infraestructura de Web Semántica desplegada permitido integrar a diversos

conjuntos de datos de muchas ciencias de la vida. El Modelo de Datos Oracle RDF provee un

entorno seguro, escalable y altamente disponible para la gestión de los datos. Seamark Navigator

proporciona un entorno eficaz mediante el cual se exploran las relaciones entre los datos y los

detalles en áreas de interés.

Page 31: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 1: Antecedentes

pág. 19

Advancing translational research with the Semantic Web

En [CHEUNG07] se menciona que la falta de datos estructurados de manera uniforme

relacionados con el dominio de la biomédica es un obstáculo importante para la investigación

translacional20. La Web Semántica es una extensión de la actual Web que permite la navegación y

el uso significativo de recursos digitales mediante procesos automáticos. Esta se basa en

formatos comunes que apoyan la agregación y la integración de los datos extraídos de diversas

fuentes. En este trabajo se construyeron una variedad de tecnologías sobre esta base, junto una

amplia gama de datos biomédicos través de la identificación de apoyo, la representación y el

razonamiento. La Web Semántica del Health Care and Life Sciences Interest Group (HCLSIG),

creada en el marco de la World Wide Web Consortium, fue lanzada para explorar la aplicación de

estas tecnologías en una variedad de áreas.

En [CHEUNG07] se presenta un escenario que muestra el valor que puede aportar el

entorno de la información de la Web Semántica para ayudar a investigadores de la neurociencia.

Se ilustra en un informe sobre varios proyectos por parte de los miembros de la HCLSIG, en la

gama de tecnologías de Web Semántica que tienen aplicaciones en los ámbitos de la

biomedicina.

En el artículo se concluye que las herramientas actuales y las normas ya son suficientes

para implementar componentes funcionales. Por otra parte, estas tecnologías son jóvenes.

Todavía existen lagunas en las normas y en las implementaciones, además la adopción está

limitada por los típicos problemas con los principios de la tecnología, tales como la necesidad de

una masa crucial de profesionales y una base instalada que implica un mayor esfuerzo con forme

se amplía esta tecnología. Sin embargo, el potencial de las fuentes de conocimiento

interoperables para la biomedicina, en la escala de la World Wide Web, amerita la continuación

de los trabajos.

20 que se define como el movimiento de los descubrimientos en la investigación básica a la aplicación a nivel clínico

Page 32: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 1: Antecedentes

pág. 20

1.4.5 Herramientas ETL

Las herramientas de Extraction, Trasnformation and Load (ETL tools por sus siglas en ingles)

son la base de los Data warehouse. En el ETL tool survey 2009 se analizaron las siguientes

herramientas (en orden aleatorio)21, usando 80 criterios de evaluación. Utilizamos esta lista para

analizar algunas de las herramientas de ETL. Se busco la disponibilidad de la herramienta para

evaluación, si son OpenSource y la plataforma en que están desarrolladas. Las herramientas

OpenSource utilizan Java como plataforma principal de desarrollo (ver tabla 4).

Tabla 4 Herramientas ETL en el ETL survey 2009

No List of ETL Tools Versión ETL Vendors OpenSource Disponibilidad

1 Oracle Warehouse Builder (OWB)

11gR1 Oracle - Libre descarga

2 Data Integrator & Services XI 3.0 Business Objects, SAP - Demo

3 IBM Information Server (Datastage)

8.1 IBM - Demo

4 Integration Studio 4.2 SAS Institute - Demo

5 PowerCenter 8.5.1 Informatica - Demo

6 Elixir Repertoire 7.2.2 Elixir - Trial Software

7 Data Migrator 7.6 Information Builders - Demo

8 SQL Server Integration Services

10 Microsoft - Trial Software

9 Talend Open Studio 3.1 Talend X versión OpenSource

10 DataFlow Manager 6.5 Pitney Bowes Business Insight

- Demo

11 Data Integrator 8.12 Pervasive - Demo

12 Transformation Server 5.4 IBM DataMirror - Demo

13 Transformation Manager 5.2.2 ETL Solutions Ltd. - Demo

14 Data Manager/Decision Stream

8.2 IBM Cognos - Demo

15 Clover ETL 2.5.2 Javlin X Trial Software

16 ETL4ALL 4.2 IKAN - Libre descarga de una edición limitada

17 DB2 Warehouse Edition 9.1 IBM - Demo

18 Pentaho Data Integration 3 Pentaho X Trial Software

19 Adeptia Integration Server 4.9 Adeptia - Trial Software

21 http://www.etltool.com/etltoolslist.htm

Page 33: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 1: Antecedentes

pág. 21

En la siguiente tabla se incluyen 4 herramientas más OpenSource. En estas herramientas

se observó su disponibilidad para evaluación y su plataforma de desarrollo (ver tabla 5).

Tabla 5 Otras herremientas ETL (Opensource)

No. Otros OpenSource Versión Disponibilidad Plataforma

20 Apatar 1 Versión limitada Java

21 Jitterbit 3 Versión limitada Java

22 RapidMiner 4.5 Versión limitada Java

23 Scriptella 1 Completa Java

1.4.1 Conclusiones sobre el estado del arte

E-Utilities proporciona un marco de trabajo de servicios web para acceder a las base de

datos del NCBI. GO trata de estandarizar los términos utilizados en genética. GO no trata de

modelar estructuralmente el genoma sino las relaciones entre los términos que son establecidos

por los investigadores conforme se van utilizando.

Las pruebas personales de ADN muestran que no todos los análisis de ADN son

sustentados científicamente. En el caso del los datos contenidos en el NCBI todos están citados

en artículos de revistas científicas (de acuerdo con los requisitos para introducir nuevos datos en

el NCBI) y además son analizados por el NCBI staff.

La API de BioJava proporciona un marco de trabajo interesante para el desarrollo de

aplicaciones en Java, ésta API pueden ser utilizada en trabajos futuros. Cabe mencionar que cada

herramienta ha sido producto de un trabajo específico así como las herramientas que se intentan

desarrollar con la metodología de esta tesis, donde cada nueva fuente que se integre a la base de

datos implica la extensión o generación de una nueva herramienta.

Tabla 6 Comparativa de trabajos relacionados

Proyectos Bases de datos

integradas

Unidad de

integración

Tipo de datos

integrados

Finalidad de la

integración

PEDRo 4 – Microarrays Por experimento Proteínicos y de GO Análisis proteínicos

Fatiscan 7 – Biomoleculares

3 – GO

Por conjunto de

experimentos en

microarrays

Biomoleculares y de

GO

Análisis funcionales de

experimentos en

microarrays

CYCLONET 3 – Biomoleculares Por experimento Mircroarray, quimio- Analizar datos en el

Page 34: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 1: Antecedentes

pág. 22

3 – Microarray informáticos, y de

literatura

desarrollo de fármacos

anti cáncer para generar

hipótesis comprobables

experimentalmente

BioImage 2 – Microscopía Por experimento Datos de microscopía

electrónica

tridimensional y

Proteínicos

Almacenar y manejar

imágenes de microscopia

multidimensional de

especímenes biológicos

BMD 1 – Repositorio Por experimento Secuencias, gráficos

y datos de alta

dimensión

Almacenar y manejar

imágenes de microscopia

multidimensional de

especímenes biológicos

Esembl n – Biomoleculares

(DAS)

Genoma por especie Biomoleculares y de

literatura

Anotar, analizar y

desplegar genomas

BioExtrac 4 – Biomoleculares

1 – Microarray

Por experimento Biomoleculares,

microarrays,

workflows y de

literatura

Análisis virtuales

utilizando diversas bases

de datos y guardarlos en

wokflows.

Propuesta de

Tesis

3 – Biomoleculares Por gen Biomoleculares en

general y de literatura

Repositorio para análisis

genómicos

En la tabla 6, las herramientas generadas en PEDRo, FatiScan, CYCLONET, BioImage y

BMD tratan de integrar datos relacionados con cada experimento, es decir, por cada experimento

se hace una integración, se realizan anotaciones y se almacenan en una base de datos. El

proyecto Ensembl tiene la particularidad de integrar la información sobre los genomas de

diferentes especies.

El servidor de BioExtract, es una herramienta útil, que integra diversas fuentes

disponibles a través de internet. Es muy útil para trabajos de análisis espeificos, pero no está

diseñada para análisis de genomas completos.

En este trabajo se busca generar herramientas que integren toda la información disponible

en base a un modelo conceptual del genoma humano, mediante la metodología propuesta. Los

datos obtenidos por cada herramienta desarrollada son almacenados en la base de datos genoma,

la cual pretende ser un repositorio unificado que permitirá a los biólogos llevar a cabo análisis

genéticos de genomas completos.

Page 35: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 1: Antecedentes

pág. 23

Los trabajos que utilizan herramientas basadas en la Web Semántica proporcionan un

indicio para el desarrollo de aplicaciones futuras, utilizando estas herramientas especialmente

para explotar la base de datos genoma.

En general, se descartó la posibilidad de utilizar alguna herramienta ETL propietaria

debido a que su disponibilidad es muy limitada y los recursos para el desarrollo de este trabajo

son limitados. Las herramientas ETL OpenSource están desarrolladas en Java al igual que la

mayoría de las propietarias. En el análisis de las herramientas del NCBI se detectaron problemas

al trabajar con la plataforma Java22. Se realizó el ejemplo mostrado en [USINGEUAJ] el cual se

desarrolló correctamente, pero al intentar usar el servicio EfetchGene se presentaron errores de

generación de código y compilación. Por lo que se descarto el uso de Java como plataforma de

desarrollo y se selecciono MS Visual C#.

1.5 Producto resultado y beneficios

El producto resultado de este trabajo es una metodología para la carga de datos genómicos y su

correspondiente herramienta que implementa los pasos de la metodología.

La metodología consiste principalmente en analizar las diferentes fuentes de información

que contienen bases de datos genéticas, seleccionar la tecnología de acceso disponible en base a

la forma más eficiente de obtener los datos correspondientes al esquema conceptual del genoma

humano, para finalmente realizar un proceso de carga o actualización de forma automática. La

validación de la metodología se realiza mediante el desarrollo de una herramienta, que

implemente un módulo de carga correspondiente a la a la vista Transcription. Los datos a

recuperar corresponden a los que proveen las vistas de los servicios web del NCBI. Una vez

recuperados los datos de las vistas se extraen solo los datos de cada gen que corresponden a la

vista Transcription.

22 http://eutils.ncbi.nlm.nih.gov/entrez/eutils/soap/v2.0/DOC/esoap_help.html

Page 36: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 1: Antecedentes

pág. 24

Justificación:

• Actualmente se puede secuenciar el ADN y analizar unos genes específicos, pero no es

posible realizar un análisis completo de un genoma, debido a las cantidades ingentes de

información. Es necesario contar con una base de datos que este desarrollada en base a un

modelo conceptual del genoma humano, donde se establezcan las relaciones entre las

características de los genes, con el cual poder desarrollar herramientas que permitan a los

científicos genéticos realizar un mejor análisis del genoma humano. Actualmente los

análisis son artesanales23 y aunque existen herramientas para estudiar los genes y sus

productos de forma particular, no se disponen de herramientas que integren toda la

información disponible para el análisis de un genoma humano completo.

• Se trabajaba con bases de datos heterogéneas de diversas organizaciones de relevancia a

nivel mundial24. Esto hace que el dominio de estudio del proyecto es mucho más grande,

de mayor relevancia y de actualidad.

• Las bases de datos son grandes25 y la información está sustentada científicamente.

Extraer la información de aproximadamente 30,000 genes se convierte en un problema de

computo.

• El mercado mundial de las pruebas genéticas personales tiene un valor aproximado a los

$730 millones de dólares, y cada año crece un 20%26.

• Se desconoce la estructura real de las bases de datos con acceso a través de servicios web ya que solo proporcionan vistas a través de las consultas a los servicios web; se utilizan servicios web para acceder a las bases de batos del NCBI, es decir, sólo se conoce una estructura parcial e interrelacionada con vistas de otros servicios web. Esta complejidad justifica el desarrollar una herramienta de extracción, transformación y carga propia.

23 Se analiza gen por gen en cada base de datos genómica que contiene información sobre ese gen. 24 NCBI agrupa las bases de datos, pero no les da soporte, cada base de datos es una aportación de algún organismo o institución. 25 De 20,000 a 83,000,000 de registros (ver Tabla 1) 26 La estimación proviene de Piper Jaffray & Co., citado en Matthew Herper y Robert Langreth, “Will You Get Cancer?” Forbes.com, 18 de junio de 2007, en Internet: http://www.forbes.com/free_forbes/2007/0618/052_2.html

Page 37: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 1: Antecedentes

pág. 25

• El caso del desarrollo de herramientas ETL para el NCBI no es el único, ya que se

contempla que en un futuro puedan utilizarse otras fuentes como HGMD de BIOBASE,

MutDB y cualquier base de datos que contenga información relevante al esquema

conceptual. Consideramos que esta necesidad justifica el desarrollo de una metodología

que sirva de guía en el desarrollo de nuevas herramientas de ETL para la base de datos

genoma.

Beneficios:

• Apoyar en el desarrollo de nuevas aplicaciones de análisis del genoma humano.

• Obtener una metodología para el desarrollo de herramientas que se integren como

módulos a un sistema que de soporte de carga y actualización de la base de datos

genoma.

• Contar con una primera herramienta de carga de datos a la base de datos genoma,

aportando con esto las bases para desarrollos de más aplicaciones.

• Obtener una arquitectura dinámica para dar soporte de carga y actualización a la base de

datos genoma.

1.6 Alcances y limitaciones

Alcances

• Diseñar una metodología para el desarrollo de módulos de carga y actualización para la

base de datos genoma.

• Diseñar e implementar el prototipo de un módulo para la carga de datos en la base de

datos genoma correspondientes a la vista del esquema conceptual Transcription mediante

la recuperación y extracción de datos del NCBI.

Page 38: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 1: Antecedentes

pág. 26

Limitaciones

• La carga de los datos es la que corresponde a la vista del esquema conceptual

Transcripción.

• La unidad de trabajo es el gen, primero se cargará un gen y luego una lista de genes

seleccionados por los biólogos especialistas en genómica.

• La fuente que agrupa a las bases de datos es el NCBI.

• El método de acceso a los datos será el proporcionado por el NCBI.

• Desarrollo del prototipo de carga en Microsoft Visual Studio 2005 utilizando el lenguaje

de programación C#.

• La experimentación abarca solamente la funcionalidad relacionada a la carga de genes.

Page 39: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

pág. 27

Capítulo 2: Marco teórico

La forma en que organizamos nuestra información siempre es un tema de amplio interés, en

cualquier área de la vida de los seres humanos, en particular en las ciencias computacionales,

donde es objeto de estudio e investigación. La genética es una ciencia que está avanzando a

pasos agigantados y a su vez requiere de nuevas herramientas para proveer de mayor poder

computacional a los experimentos realizados por los investigadores. Es necesario contar con el

conocimiento básico para poder llegar a comprender la complejidad de los términos aplicados en

la genética y en la integración de información. El capítulo se encuentra organizado en los

siguientes subtemas:

2.1 Bases de datos heterogéneas.

2.2 Herramientas de extracción, transformación y carga (ETL Tools).

2.3 Genética.

2.4 Biotecnología.

2.5 Bioinformática.

2.6 El ADN como soporte de la información genética.

2.7 Los cromosomas.

2.8 Gen.

2.9 Las proteínas.

2.10 ARN mensajero.

2.11 El código genético.

2.12 Análisis de una prueba de ADN.

2.13 National Center for Biotechnology Information (NCBI).

2.14 Análisis de las fuentes del NCBI.

2.15 Clasificación general de las bases de datos de Entrez.

2.16 Las herramientas del NCBI.

2.17 Modelo conceptual del genoma humano.

2.18 Modelo simplificado ER de la base de datos.

Page 40: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 2: Marco teórico

pág. 28

2.1 Bases de datos heterogéneas Los sistemas de bases de datos heterogéneos HDBS (Heterogeneous Database Systems) son

paquetes de software que integran varios sistemas de bases de datos preexistentes comúnmente

llamados componentes, en donde el mismo componente puede participar en varios HDBS’s y los

componentes pueden ser desarrollados independientemente y sin considerar una integración

subsecuente. Los HDBS’s pueden ser caracterizados usando tres conceptos clave:

heterogeneidad, distribución y autonomía. La heterogeneidad de un HDBS depende del número y

gravedad de las discrepancias entre las bases de datos que lo constituyen, con respecto a sus

esquemas, modelos de datos, lenguajes de consulta, capacidad de administración de

transacciones, DBMS, hardware, sistemas operativos y protocolos de comunicación. Las

discrepancias pueden aparecer en cualquier nivel de abstracción (instancias de datos, esquema,

modelo de datos) [FILETO03].

La heterogeneidad puede ser reflejada en la representación de los datos o en su manera de

interpretarlos. Por distribución se refiere a la localización de los componentes HDBS. En

principio, la distribución es ortogonal a la heterogeneidad. Un sistema distribuido puede

involucrar diferentes plataformas de hardware, software y de comunicación. La autonomía se

refiere a la libertad de los componentes HDBS para definir y administrar sus bases de datos. La

necesidad de mantener la autonomía y la demanda de compartir datos son a menudo

requerimientos que entran en conflicto. La integración de diferentes bases de datos no puede

bloquear completamente la capacidad de cada componente de base de datos para administrar sus

datos sin la interferencia del administrador general HDBS.

Existen varias opciones para la implementación de HDBSs, con variaciones en el grado

de acoplamiento entre los componentes de base de datos y ofreciendo diferentes compensaciones

entre cooperación y autonomía, estos sistemas se clasifican como sigue:

Sistema de bases de datos distribuido DDBS (Distributed database system), consiste en

una sencilla base de datos lógica que es distribuida físicamente. A pesar de la fragmentación

física de los datos, un DDBS soporta un modelo de datos y lenguaje de consulta sencillos, con un

esquema integrando todo lo que el DDBS contiene.

Page 41: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 2: Marco teórico

pág. 29

Sistema de bases de datos federado FDBS (Federated database system), es un sistema de

base de datos distribuido que permite componentes heterogéneos con diferentes modelos de

datos, lenguajes de consulta y esquemas.

Sistema multi-base de datos MDBS (Multidatabase system), es una colección de bases de

datos débilmente acopladas. Las propiedades clave de un MDBS son la autonomía de las bases de

datos participantes y la ausencia de un esquema global integrado.

2.2 Herramientas de extracción, transformación y carga

(ETL Tools)

Los sistemas de Extraction, Transformation and Load (ETL por sus siglas en ingles), son la base

de los Data Warehouse. Un sistema ETL bien diseñado extrae los datos de los sistemas fuente,

cumpliendo con la calidad de los datos y las normas de coherencia, adaptando los datos por

separado a fin de que las fuentes se puedan utilizar juntas y, por último, entregar los datos en un

formato de presentación listo para que los desarrolladores de aplicaciones puedan crear

aplicaciones y los usuarios finales puedan tomar decisiones.27

En [KIMBALL02] y [KIMBALL04] se describen las actividades de extracción,

transformación y carga, entre otras características de las herramientas usadas en Data

Warehouse.

Extracción

La extracción de los datos desde el origen es la primera parte del proceso ETL. La mayoría de los

proyectos de almacenamiento de datos fusionan los datos provenientes de diferentes sistemas de

origen (fuentes). Cada sistema separado puede usar una organización diferente de los datos o

formatos distintos. Los formatos de las fuentes normalmente se encuentran en bases de datos

relacionales o ficheros planos, pero pueden incluir bases de datos no relacionales u otras

27 http://www.redcientifica.com/oracle/c0001p0005.html

Page 42: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 2: Marco teórico

pág. 30

estructuras diferentes. La extracción convierte los datos a un formato preparado para iniciar el

proceso de transformación.

Una parte intrínseca del proceso de extracción es la de analizar los datos extraídos, de lo

que resulta un chequeo que verifica si los datos cumplen la pauta o estructura que se esperaba; de

no ser así los datos son rechazados.

Un requerimiento importante que se debe exigir a la tarea de extracción es que ésta cause

un impacto mínimo en el sistema origen. Si los datos a extraer son muchos, el sistema de origen

se podría ralentizar e incluso colapsar, provocando que éste no pueda utilizarse con normalidad

para su uso cotidiano. Por esta razón, en sistemas grandes las operaciones de extracción suelen

programarse en horarios o días donde este impacto sea nulo o mínimo.

Transformación

En la fase de transformación aplica una serie de reglas de negocio o funciones sobre los datos

extraídos para convertirlos en los datos que serán cargados. Algunas fuentes de datos requerirán

alguna pequeña manipulación de los datos. No obstante en otros casos puede ser necesario

aplicar algunas de las siguientes transformaciones:

• Seleccionar sólo ciertas columnas para su carga (por ejemplo, que las columnas con

valores nulos no se carguen).

• Traducir códigos (por ejemplo, si la fuente almacena una "1" para Plus y "2" para Minus

pero el destino tiene que guardar "P" para Plus y "M" para Minus).

• Codificar valores libres (por ejemplo, convertir "Plus" en "P" o "Exón" en "E").

• Obtener nuevos valores calculados (por ejemplo, total_venta = cantidad * precio).

• Unir datos de múltiples fuentes (por ejemplo, búsquedas, combinaciones, etc.).

• Calcular totales de múltiples filas de datos (por ejemplo, ventas totales de cada región).

• Generación de campos clave en el destino.

• Transponer o pivotar (girando múltiples columnas en filas o viceversa).

• Dividir una columna en varias (por ejemplo, columna "Nombre: García, Miguel"; pasar a

dos columnas "Nombre: Miguel" y "Apellido: García").

• La aplicación de cualquier forma, simple o compleja, de validación de datos, y la

consiguiente aplicación de la acción que en cada caso se requiera:

Page 43: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 2: Marco teórico

pág. 31

o Datos OK: Entregar datos a la siguiente etapa (Carga).

o Datos erróneos: Ejecutar políticas de tratamiento de excepciones (por ejemplo,

rechazar el registro completo, dar al campo erróneo un valor nulo o un valor

centinela).

Carga

En la fase de carga, los datos de la fase anterior (transformación) son cargados en el sistema de

destino. Dependiendo de los requerimientos de la organización, este proceso puede abarcar una

amplia variedad de acciones diferentes. En algunas bases de datos se sobrescribe la información

antigua con nuevos datos. Los Data Warehouse mantienen un historial de los registros de manera

que se pueda hacer una auditoría de los mismos y disponer de un rastro de toda la historia de un

valor a lo largo del tiempo. Existen dos formas básicas de desarrollar el proceso de carga:

Acumulación simple: La acumulación simple es la más sencilla y común, y consiste en

realizar un resumen de todas las transacciones comprendidas en el período de tiempo

seleccionado y transportar el resultado como una única transacción hacia el Data Warehouse,

almacenando un valor calculado que consistirá típicamente en un sumatorio o un promedio de la

magnitud considerada.

Rolling: El proceso de Rolling por su parte, se aplica en los casos en que se opta por

mantener varios niveles de granularidad. Para ello se almacena información resumida a distintos

niveles, correspondientes a distintas agrupaciones de la unidad de tiempo o diferentes niveles

jerárquicos en alguna o varias de las dimensiones de la magnitud almacenada (por ejemplo,

totales diarios, totales semanales, totales mensuales, etc.).

La fase de carga interactúa directamente con la base de datos de destino. Al realizar esta

operación se aplicarán todas las restricciones y triggers (disparadores) que se hayan definido en

ésta (por ejemplo, valores únicos, integridad referencial, campos obligatorios, rangos de valores).

Estas restricciones y triggers (si están bien definidos) contribuyen a que se garantice la calidad

de los datos en el proceso ETL, y deben ser tenidos en cuenta.

El caso de estudio más sencillo para el uso de herramientas ETL es donde se conoce la

estructura de la base de datos fuente, los casos más complejos son aquellos en los cuales se

desconoce su estructura. En el caso del NCBI no se conoce la estructura de la base de datos y

Page 44: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 2: Marco teórico

pág. 32

además la extracción de los datos involucra la interrelación de otras bases de datos. Un factor

muy importante es la capacidad de la herramienta de extraer datos desde los servicios web

implementado las API s generadas a partir de los archivos WSDL de los servicios web utilizando

C#, ya que, en el caso del NCBI las API s se generan usando Java, C#, Visual Basic y Microsoft

SOAP Toolkit 3.0, y se tuvieron errores al generar las API s con Java. La gran mayoría de las

herramientas ETL se basa en la plataforma Java para la generación de las API s. Se tiene acceso

limitado a las herramientas propietarias que podrían utilizarse en el caso de la extracción de

datos del NCBI, ya que todas las herramientas propietarias proporcionan demos de sus productos

en las cuales no se incluye el soporte para servicios web.

2.3 Genética

La genética es el campo de ciencia que estudia la forma en la cual los rasgos de una generación

se heredan a la próxima [RODDEN05]. Aunque parezca una idea simple, la genética afecta todo

sobre cada cosa viviente sobre tierra. Los genes de un organismo (fragmentos de ADN), son las

unidades fundamentales de la herencia.

La genética es dividida en cuatro subdivisiones muy importantes en general:

• Genética clásica: describe cómo los rasgos (las características físicas) son pasados de una generación a otra.

• Genética molecular: el estudio de las estructuras químicas y físicas de ADN, su primo ARN, y proteínas.

• Genética de población: toma parte de la genética Mendeliana (es decir la genética de familias individuales) y la maximiza para observar el maquillaje genético de grupos más grandes.

• Genética cuantitativa: Un campo muy matemático, examina las relaciones entre genes y sus rasgos codificados.

Page 45: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 2: Marco teórico

pág. 33

2.4 Biotecnología

La biotecnología es la técnica que utiliza células vivas, cultivo de tejidos o moléculas derivadas

de un organismo para obtener o modificar un producto, mejorar una planta o animal o desarrollar

un microorganismo para utilizarlo con un propósito específico [BIOTECH08]. Según esta

definición, la fabricación, entre otros, de pan y cerveza que se basa en el empleo de células de

levadura es un proceso biotecnológico. La diferencia aportada por la biotecnología moderna es

que actualmente el hombre no sólo sabe cómo usar las células u organismos que le ofrece la

naturaleza, sino que ha aprendido a modificarlos y manipularlos en función de sus necesidades.

La definición más extendida del término biotecnología es el uso de organismos vivos (o

parte de los mismos) para producir fármacos, alimentos u otros productos. La Biotecnología más

ancestral comienza con la fermentación hasta alcanzar a la más reciente, las técnicas de

Molecular Imaging, que permiten visualizar en tiempo real la expresión de genes en células de

rata.

2.5 Bioinformática

La bioinformática [BIOINF08] es la herramienta por excelencia. La secuenciación del genoma

humano ha originado cantidades ingentes de información que debe ser procesada para poder ser

usada convenientemente. Los datos son generados primordialmente por tres vías: in vivo, in vitro

e in silico. Ya sea de la experimentación animal, o del tubo de ensayo o mediante la simulación

de sistemas vivos con ordenadores, los datos obtenidos deben ser analizarlos posteriormente. Es

imprescindible encontrar la manera de almacenarlos para poder recuperarlos y distribuirlos

cuando se requieran. En todas las fases anteriores, la informática juega un papel decisivo para

poder transformar los datos en información y ésta en conocimiento.

La definición más aceptada de la bioinformática es "disciplina científica que se interesa

por todos los aspectos relacionados con la adquisición, almacenamiento, procesamiento,

distribución, análisis e interpretación de información biológica, mediante la aplicación de

técnicas y herramientas de las matemáticas, de la biología y de la informática, con el propósito

Page 46: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 2: Marco teórico

pág. 34

de comprender el significado biológico de una gran variedad de datos". La Bioinformática

comprende tres subespecialidades:

• Bioinformática en sentido estricto. La investigación y desarrollo de la infraestructura y sistemas de información y comunicaciones que requiere la biología moderna. (Redes y bases de datos para el genoma, estaciones de trabajo para procesamiento de imágenes)

• Biología Molecular Computacional. La computación que se aplica al entendimiento de cuestiones biológicas básicas, mediante la modelización y simulación. (Sistemas de Vida Artificial, algoritmos genéticos, redes de neuronas artificiales)

• Biocomputación. El desarrollo y utilización de sistemas computacionales basados en modelos y materiales biológicos. (Biochips, biosensores, computación basada en ADN). Los computadores basados en ADN se están empleando para la secuenciación masiva y el trazado de diversas enfermedades, explotando su característica de procesamiento paralelo implícito.

2.6 El ADN como soporte de la información genética

En [ADN08] se dice que el descubrimiento en 1953, de la

estructura de la molécula de ADN (ácido

desoxirribonucleico) por James Watson y Francis Crick

dio origen a la biotecnología moderna, tal como la

conocemos actualmente. Por estudios anteriores al

descubrimiento de Watson y Crick ya se sabía que el ADN

almacena la información genética (la herencia) en todos

los seres vivos. También se sabía que este ADN estaba

formado por la combinación de unas moléculas más

pequeñas llamadas nucleótidos. Los nucleótidos a su vez

constan de un azúcar (la desoxirribosa), un fosfato y una

de las cuatro bases siguientes: la adenina, guanina, citosina y timina o abreviadamente A, G, C,

T. Igualmente era conocido que, aunque la proporción de estos nucleótidos era distinta en cada

molécula de ADN, siempre el número de A es era igual al de T es y el número de C es era igual al

de G es.

Figura 1 Modelo de Watson y

Page 47: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 2: Marco teórico

pág. 35

Watson y Crick, utilizando éstos y otros datos, descubrieron que la

molécula de ADN está formada por dos largos filamentos (siendo cada

uno de ellos una cadena de nucleótidos) que se enrollan entre sí dando

lugar a una doble hélice parecida a una escalera de caracol. La parte

lateral o "barandilla" de la escalera está formada por azúcares

(desoxirribosa) y fosfatos y los peldaños son pares de bases. En esta

estructura siempre la adenina se empareja con la timina (A-T, T-A) y la

citosina se empareja con la guanina (C-G, G-C) y sólo se permiten estos

emparejamientos. El tipo de nucleótidos y el orden -denominado

secuencia- en que se disponen estas moléculas es la manera cómo se

escribe la información genética, utilizando una especie de alfabeto de 4

letras.

La molécula de ADN tiene la capacidad de desdoblarse pudiendo

servir como molde para dar lugar a otra molécula idéntica, y así es como pasa la información

genética de padres a hijos. La clave de como esto ocurre reside en la complementariedad de las

bases que hace que la adenina se empareje sólo con la timina y la citosina sólo con la guanina.

En general, una célula tiene una maquinaria muy sofisticada que permite hacer copias muy

precisas de la molécula de ADN, incluso existen diversos sistemas de reparación. No obstante, en

ocasiones se producen fallos. Cuando esto ocurre se dice que ha tenido lugar una mutación (es

decir, un error genético) y si es suficientemente importante puede llegar a cambiar la

información que llevaba la molécula de ADN.

2.7 Los cromosomas

Si todo el ADN contenido en el núcleo de las células humanas se hallase estirado llegaría a medir

hasta 1,8 metros, es decir, unas 300.000 veces más que el diámetro del núcleo. Para evitar este

problema el ADN está altamente plegado formando unas estructuras denominadas cromosomas.

El genoma humano está constituido por 23 pares de cromosomas. Cada cromosoma es una única

molécula de ADN que a su vez está formado por millares de nucleótidos. Si se escribiera en el

alfabeto de 4 letras toda la información genética que contiene una célula humana llenaría un libro

Figura 2

Trascripción de

ADN[ADN08]

Page 48: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 2: Marco teórico

pág. 36

con más de 500.000 páginas. Por lo tanto, las tres características que permiten a la molécula de

ADN ser la depositaria de la información genética de un organismo son: que la molécula de ADN

contiene información basada en el orden y composición de los nucleótidos que la forman; que es

capaz de pasar esta información de generación en generación gracias a que cada cadena puede

servir como molde para fabricar su complementaria; y que es flexible, lo que permite que pueda

almacenarse toda la información que requiere un ser vivo para ser como es y realizar sus

funciones en un espacio tan pequeño como el interior de las células [ADN08].

Figura 3 Los cromosomas[ADN08]

2.8 Gen

La definición de gen (gene) en general se define como una secuencia de nucleótidos que se

encuentra en un lugar determinado de un cromosoma determinado y que lleva la información

para fabricar una cadena de aminoácidos (aunque también hay genes que llevan la información

para fabricar moléculas de ARN con actividad propia como los ARN que forman parte de los

ribosomas) [GLOS08].

La definición más actual de gen en [ENCODE07] y [MARK08] es la siguiente:

Un gen es una unión de secuencias genómicas que codifican un conjunto coherente de

productos funcionales potencialmente sobrepuestos.

La definición de gen cambia conforme se descubre más conocimiento acerca de cómo se

codifica un segmento de ADN para generar productos funcionales.

Page 49: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 2: Marco teórico

pág. 37

La definición de genoma en es la siguiente:

Genoma (genome): Todo el material genético contenido en los cromosomas de un organismo

particular [GLOS08].

2.9 Las proteínas

En [ADN08] se dice que muchísimos genes se encuentran alineados en un único cromosoma, y

por lo tanto en una única molécula de ADN. En general, se denomina gen al fragmento de ADN

que lleva la información para sintetizar una proteína. Es importante resaltar que si bien el ADN

es donde se almacena la información genética de un organismo, las proteínas son las que

ejecutan dicha información ya que son las moléculas esenciales para todos los aspectos de

estructura y actividad celular. Hay muchas proteínas distintas (ej. la hemoglobina, la queratina

del pelo y las uñas, el colágeno, hormonas como la insulina, los anticuerpos, enzimas, etc.), pero

todas ellas están formadas por la combinación de sólo 20 tipos de unas moléculas más pequeñas

llamadas aminoácidos. Como en el caso del ADN, es la secuencia en la que se disponen dichos

aminoácidos lo que diferencia una proteína de otra pero tan sólo por el hecho de que la secuencia

específica de aminoácidos de una proteína es la que le confiere la forma que esta adopta en el

espacio y que es absolutamente básica para su función. Cuando una proteína pierde su forma

nativa se dice que se desnaturaliza y esta desnaturalización suele conllevar una pérdida de la

actividad de la proteína.

Page 50: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 2: Marco teórico

pág. 38

Figura 4 Diversas estructuras de proteínas[ADN08]

2.10 ARN mensajero

En [ADN08] se menciona que aunque todas las células

de un organismo disponen de la información necesaria

para realizar todas las funciones corporales, cada tipo

de célula se especializa en realizar una función

determinada. Así las células de la piel realizan

funciones distintas que las células del hígado. Esta

diferencia reside en el tipo de proteínas presentes y

necesarias en cada célula. Por lo tanto, cada tipo de

célula se caracteriza por generar, es decir expresar, sólo algunos de los genes de los que dispone

en su genoma. Cuando una célula necesita una proteína debe ir a buscar la información para

fabricarla en su ADN. En el caso de las células eucariotas, el ADN se encuentra en el núcleo de la

Figura 5 ARN mensajero[ADN08]

Page 51: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 2: Marco teórico

pág. 39

célula, en cambio las proteínas que se producen en otra parte de la célula son llamadas

citoplasma.

Es preciso que la célula copie la información contenida en el ADN a una molécula que

actúa como mensajero ya que es capaz de viajar del núcleo al citoplasma. Esta molécula recibe el

nombre de ARN mensajero (ARNm). El proceso de fabricar una molécula de ARNm siguiendo las

instrucciones de una molécula de ADN se denomina transcripción. El ARN, como el ADN, está

formado también por la repetición de 4 nucleótidos, los mismos que forman el ADN excepto que

en lugar de la base timina (T) el ARN tiene uracilo (U).

La molécula de ARN es una única cadena -en lugar de dos como el ADN- y contiene el

azúcar ribosa en lugar de la desoxirribosa que forma el ADN. Estas características hacen la

molécula de ARN más frágil que la molécula de ADN. El ARNm sale del núcleo y es leído en los

ribosomas donde se fabrica la proteína que la célula quería obtener. El proceso de fabricar una

proteína siguiendo las instrucciones almacenadas en el ARNm se llama traducción ya que se pasa

de un lenguaje de 4 letras (los 4 nucleótidos) en que están "escritos" el ADN y el ARN al lenguaje

de 20 letras (los 20 aminoácidos) en que están "escritas" las proteínas.

El dogma central de la biología dice que en los procesos celulares el flujo de información

va de ADN a ARN y de ahí a proteínas. No obstante, este dogma tiene sus excepciones en los

retrovirus. Este tipo de virus se caracteriza porque su información genética no está almacenada

en una molécula de ADN sino en una molécula de ARN y para que estos virus puedan

multiplicarse es necesario que su información genética pase de ARN a ADN. Para ello necesitan

una enzima especial, la transcriptasa inversa.

Uno de los retrovirus más conocidos es el virus de la inmunodeficiencia humana (VIH)

que causa el SIDA. El proceso de fabricación de una proteína puede no finalizar con la formación

de la cadena de aminoácidos y el plegamiento de la proteína en el espacio, sino que algunas

proteínas se someten además a otras modificaciones como la glicosilación, consistente en la

adición de azúcares.

En [RODDEN05] se menciona que existen tres grandes tipos de ARN llevan a cabo el

negocio de expresar el mensaje del ADN. Aunque los tres ARNs funcionan como un equipo

durante la traducción, cada uno lleva a cabo funciones muy específicas.

Page 52: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 2: Marco teórico

pág. 40

• ARNm: Regula cómo los genes se expresan.

• ARNt: lleva los aminoácidos durante la traducción.

• ARNr: Pone los aminoácidos en cadenas.

2.11 El código genético

En [ADN08] se menciona que en los primeros años de la década de los 60, se descifró el código

genético, es decir, la clave que permitía pasar la información del ADN al ARN y luego a las

proteínas. La clave es la siguiente, cada grupo de tres nucleótidos adyacentes codifican a un

aminoácido, estos tripletes de nucleótidos reciben el nombre de codón. Siguiendo con la analogía

del lenguaje, puede decirse que la información genética se escribe en palabras de tres letras

consecutivas que no están separadas por signos de puntuación. Los 4 nucleótidos que forman el

ADN o el ARN si se leen de tres en tres (triplete o codón) pueden especificar hasta 4³=64

aminoácidos distintos y en cambio en las proteínas sólo se encuentran 20 aminoácidos diferentes.

Cuando se descifró el código genético se descubrió que varios tripletes pueden especificar

un mismo aminoácido y que algunos tripletes no representan ningún aminoácido (UAG, UAA,

UGA). Estos últimos tripletes que no representan ningún aminoácido se llaman tripletes sin

sentido o de "terminación" (codón stop) y actúan como señales para indicar que se ha llegado al

final de la síntesis de la cadena de proteína. Otro triplete interesante es el AUG que lleva la

información para el aminoácido metionina. Este triplete se caracteriza por poder ser también una

señal de inicio de la síntesis de la proteína, de manera que todas las proteínas cuando se fabrican

tienen como aminoácido inicial una metionina. Dicha metionina muy a menudo se pierde durante

el proceso de fabricación de la proteína.

Page 53: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 2: Marco teórico

pág. 41

Tabla 7 Código genético

1ª posición

(extremo 5')

U C A G 3ª posición

(extremo 3')

U Phe

Phe

Leu

Leu

Ser

Ser

Ser

Ser

Tyr

Tyr

STOP

STOP

Cys

Cys

STOP

Trp

U

C

A

G

C Leu

Leu

Leu

Leu

Pro

Pro

Pro

Pro

His

His

Gln

Gln

Arg

Arg

Arg

Arg

U

C

A

G

A Ile

Ile

Ile

Met

Thr

Thr

Thr

Thr

Asn

Asn

Lys

Lys

Ser

Ser

Arg

Arg

U

C

A

G

G Val

Val

Val

Val

Ala

Ala

Ala

Ala

Asp

Asp

Glu

Glu

Gly

Gly

Gly

Gly

U

C

A

G

Phe=fenilalanina; Leu=leucina; Ser=serina; Tyr=tirosina; Cys=cisteína; Trp=triptófano; Pro=prolina; His=histidina;

Gln=glutamina; Arg=arginina; Ile=isoleucina; Met=metionina; Thr=treonina; Asn=asparagina; Lys=lisina;

Val=valina; Ala=alanina; Asp=ácido aspártico; Glu=ácido glutámico; Gly=glicina

El código genético se caracteriza por ser universal, es decir, la equivalencia entre tripletes

de nucleótidos y aminoácidos la usan todos los organismos conocidos desde las bacterias a los

mamíferos, entre ellos, el hombre. La universalidad del código genético permite, por ejemplo,

que si se introduce un gen humano en una bacteria ésta pueda interpretar la información

almacenada en dicho gen fabricando la misma proteína que fabricaría una célula humana. Es esta

unidad bioquímica de los seres vivos lo que ha facilitado el desarrollo de la moderna

biotecnología, que utiliza ciertos microorganismos como si fueran mini factorías para replicar los

ácidos nucleídos que nos interesen e incluso que produzcan proteínas humanas.

Page 54: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 2: Marco teórico

pág. 42

2.12 Análisis de una prueba de ADN

El análisis de una prueba de AND28 solicitada por un medico certificado, solo contempla la

solicitud del análisis de ciertos genes que se relacionan con el padecimiento del paciente.

El proceso de análisis del genoma humano en un laboratorio es muy complejo pero para

fines prácticos lo podemos sintetizar en las siguientes fases:

1. Solicitud de ciertos genes a analizar 2. Extracción de ADN 3. Identificación y extracción de genes 4. Secuenciación del gen o ADN 5. Análisis de los Genes. Este análisis en la actualidad se hace gen por gen 6. Resultados

Los resultados son solo sobre los genes específicos que se requerían analizar por parte del

médico certificado.

2.13 National Center for Biotechnology Information (NCBI)

El difunto senador de los Estados Unidos Claude Pepper reconoció la importancia de los

métodos informáticos en el tratamiento de la información para la realización de la investigación

biomédica y patrocinó la legislación que creó el Centro Nacional de Información sobre

Biotecnología (NCBI por sus siglas en ingles) el 4 de noviembre de 1988, como una división de

la Librería Nacional de Medicina (NLM por sus siglas en ingles) parte del Instituto Nacional de

la Salud(NIH por sus siglas en ingles). NLM fue elegido por su experiencia en la creación y

mantenimiento de bases de datos biomédicas, y porque como parte del NIH, se podría establecer

un programa de investigación intramural en la biología molecular computacional. Los

componentes de la investigación colectiva del NIH forman la mayor instalación de investigación

biomédica en el mundo29.

28 De la visita la laboratorio genético de Sistemas Genomicos. La secuenciación de un genoma entero está en investigación. 29Del Sitio oficial de NCBI http://www.ncbi.nlm.nih.gov/

Page 55: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 2: Marco teórico

pág. 43

2.14 Análisis de las fuentes del NCBI

A continuación se muestra una breve descripción de cada una de las bases de datos que pueden

explorarse a través del motor de búsqueda de Entrez (Entrez Global Query)30 y su clasificación

de acuerdo con el NCBI Map Site31.

La información ha sido recopilada del manual de Entrez [ENTREZ06] y del Manual de

NCBI [NCBI02]. Se describe la página principal Entrez Global Query y cada una de las bases de

datos. El manual describe una clasificación de las bases de datos que no es muy clara, por lo que

se ha clasificado a las bases de datos de acuerdo con el NCBI Map Site para tener una vista

global de las bases de datos y así ubicarlas con forme a su contenido. Se ha omitiendo el

subconjunto de las bases de datos que pueden ser utilizadas como filtro para las consultas.

Cabe mencionar que de estas bases de datos se ha encontrado explícitamente dentro del

sitio del NCBI el modelo ER32 así como la documentación del esquema33 de la base de datos de

SNP para llevar a cabo su implementación de forma local34.

Las bases de datos en Entrez

La página de Entrez es la página principal del motor de búsqueda de bases de datos Entrez

Global Query. Todo el grupo de las bases de datos de Entrez en esta página está organizado

como bases de datos de literatura en la parte superior incluidos en PubMed, PubMed Central

Journals, Books, OMIM y OMIA. La búsqueda del sitio NCBI también está lista para hacer las

búsquedas en Entrez. Las bases de datos de secuencias incluyen: Nucleotide, Protein, Genome,

Structure, y SNPs. El resto de las bases de datos son: Taxonomy, Gene, UniGene, HomoloGene,

Conserved Domains, 3D Domains, UniSTS, PopSet, GEO Profiles, GEO Datasets, PubChem

Bio-Assay, PubChem Compound, PubChem Substance, Cancer Chromosomes, Probe, MeSH,

Journals y NLM Catalog. En la barra de herramientas se encuentran enlaces a páginas web

populares del NCBI, PubMed, Human Genome, Map Viewer, y BLAST. También hay un enlace a

la base de datos GenBank, lo que lleva a la base de datos de Nucleotide. 30 http://www.ncbi.nlm.nih.gov/gquery/gquery.fcgi 31 http://www.ncbi.nlm.nih.gov/Sitemap/index.html 32 ftp://ftp.ncbi.nih.gov/snp/database/b124/mssql/schema/erd_dbSNP.pdf 33 http://www.ncbi.nlm.nih.gov/projects/SNP/docsum/docsum_doc.html 34 http://www.ncbi.nlm.nih.gov/books/bv.fcgi?rid=handbook.section.ch5.ch5-s6

Page 56: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 2: Marco teórico

pág. 44

Mediante el uso de Entrez Global Query, se realiza una búsqueda a través de todas las

bases de datos de Entrez mediante la introducción de un simple término de búsqueda o una frase

en la caja de consulta "Search across databases". Seleccione el botón Go35 para ejecutar la

búsqueda, o pulse el botón Enter del teclado. El botón CLEAR borra los términos de búsqueda en

el cuadro de consulta, se utilizan para iniciar una nueva búsqueda. Los resultados encontrados en

cada base de datos se muestran en Entrez Global Query. Haga clic en el número de resultados o

en el nombre de base de datos adyacente para llegar a los resultados específicos.

Umbrella Nucleotide Database (Nucleotide)

La base de datos actual de nucleótidos de NCBI, puede explorarse también en sus tres

componentes de bases de datos: "EST" (que contiene secuencias EST), "GSS” (que contiene las

secuencias GSS) y "CoreNucleotide" (que comprende el resto de las secuencias de nucleótidos).

Su división en componentes permite la búsqueda más rápida y resultados más específicos para

los registros que contienen las secuencias de nucleótidos. Cuando se realiza una búsqueda en la

base de datos Nucleotide, los resultados de búsqueda de Entrez también se muestran para los tres

componentes de bases de datos de nucleótidos sobre la de búsqueda estadística. Los

componentes de las bases de datos de nucleótidos contienen todos los datos de las secuencias de

GenBank, EMBL, y DDBJ, miembros del International Collaboration of Sequence Databases.

Como ejemplo del formato de los resultados retornados de una búsqueda de Entrez

Nucleotide, considere la posibilidad de una simple búsqueda usando una consulta de “mouse

[organism]” . Esta búsqueda se limitara a retornar los registros que contengan “mouse” en el

campo “organism”. Los resultados se muestran con enlaces a la división de datos en la división

EST de GenBank, la división GSS de GenBank, y el subconjunto CoreNucleotide. Los usuarios

pueden seleccionar los resultados de datos de interés de los nucleótidos específicos haciendo clic

en el vínculo del resultado apropiado.

Un nuevo componente de bases de datos es abarcado dentro del esquema de vinculación

de Entrez y enlaces dentro y entre las bases de datos pueden ser seleccionados como de

costumbre de las distintas bases de datos. Las Estrategias de búsqueda más populares, tales como

“Limits”, “Preview/Index”, History, Clipboard, Details y MyNCBI se puede utilizar en cada base

de datos.

35 GO hace referencia a un termino de Gene Ontology

Page 57: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 2: Marco teórico

pág. 45

La búsqueda de campos especializados están disponibles para cada nuevo componente de

la base de datos de Nucleótide y se puede ver en los respectivos campos de búsqueda indexados

en la sección "Add Term(s) to Query or View Index:" de la ficha “Preview/Index” para cada uno.

Los nuevos campos disponibles para la base de datos componente “EST” incluyen EST ID, EST

Name, y Library. Dentro de la base de datos componente GSS, los nuevos campos incluyen GSS

ID, GSS Name, Library Class, y Library Name. CoreNucleotide contiene los mismos 23 campos

de búsqueda, como la tradicional base de datos de nucleótidos.

El resto de todas las funcionalidades de Entrez, tales como Clipboard donde las

búsquedas se pueden guardar temporalmente y MyNCBI donde la búsqueda se puede guardar

indefinidamente ejecutando intervalos seleccionados por el usuario. Las páginas Details y

History están disponibles para los distintos conjuntos de búsqueda. Para ver los detalles de la

búsqueda, la base de datos de interés debe estar seleccionada al realizar una búsqueda desde la

página principal de Nucleótide.

Las patentes de las secuencias se han incorporado a través de acuerdos con U.S. Patent

and Trademark Office (USPTO) y la colaboración internacional a través de bases de datos de

otras oficinas de patentes internacionales. Umbrella Nucleotide database incluye también

registros Reference Sequence (RefSeq). Los registros de RefSeq son un conjunto de secuencias no

redundante custodiado por NCBI.

Protein Database

La base de datos Protein contiene datos de la secuencia de las regiones codificantes traducidas36

provenientes de secuencias de ADN en GenBank, EMBL, y DDBJ así como también secuencias

enviadas de Protein Information Resource (PIR), SWISS-PROT, Protein Research Foundation

(PRF), y Protein Data Bank (PDB) (secuencias a partir de estructuras resueltas).

Genome Database

La base de datos del genoma proporciona vistas de una variedad de genomas, cromosomas

completos, mapas de secuencia con contigs37 y mapas genéticos y físicos integrados.

36 En nuestro modelo del genoma, a esto lo hemos llamado Transcribed Sequence 37 Conjunto de clones que representan una región continúa del genoma.

Page 58: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 2: Marco teórico

pág. 46

Structure Database

La base de datos Structure o Molecular Modeling Database (MMDB) contiene los datos

experimentales de determinaciones cristalográficas y estructura NMR. Los datos de MMDB se

obtienen a partir de Protein Data Bank (PDB). El NCBI ha enlazado los datos estructurales a la

información bibliográfica, las bases de datos de secuencias, así como a la taxonomía de NCBI. Se

usa Cn3D, el visor de estructuras 3D de NCBI, para facilitar la visualización interactiva de

estructuras moleculares de Entrez.

3D Domains

3D Domains contiene los dominios de la proteína de la bases de datos Structure de Entrez.

Conserved Domains

Conserved Domains es una base de datos de dominios de proteínas. Las bases de datos fuente de

Conserved Domains son Pfam, Smart, y COG.

UniSTS

UniSTS es una vista unificada, no redundante, de los sitios etiquetados de secuencia (Sequence

Tagged Sites STS). UniSTS integra datos de marcado y mapeo de una variedad de recursos

públicos. Las fuentes de datos que incluye son dbSTS, RHdb, GDB, diversos mapas humanos

(mapa genético Genethon, mapa genético Marshfield, mapa Whitehead RH, mapa Whitehead

YAC, mapa de Stanford RH, mapa físico NHGRI chr 7 y el mapa físico WashU chrX), y varios

mapas del ratón (mapa Whitehead RH, mapa Whitehead YAC y el mapa del laboratorio Jackson

MGD).

Gene

Gene proporciona un entorno unificado para la consulta de genes definidos por la secuencia y/o

Map Viewer de NCBI. Se pueden hacer consultas sobre los nombres, los símbolos, números de

acceso a la base de datos, las publicaciones, términos GO, número del cromosoma, números

E.C.38 y muchos otros atributos asociados con los genes y los productos que codifican.

38 Identificador designado para la enzima del producto de un gen

Page 59: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 2: Marco teórico

pág. 47

UniGene

UniGene es un sistema experimental para particionar automáticamente secuencias de GenBank

en un conjunto no redundante de grupos orientados a genes. Cada grupo de UniGene contiene

secuencias que representan un único gen así como información relacionada con el tipo de tejido

en el que el gen se ha expresado y el mapa de ubicación.

HomoloGene

HomoloGene es un sistema automatizado para la detección de homólogos entre los conjuntos de

genes eucariotas.

SNP

SNP es una base de datos del repositorio central para ambos casos de: sustituciones una sola base

de nucleótidos y polimorfismos pequeños de inserción y borrado.

PopSet Database

La base de datos PopSet contiene secuencias alineadas presentadas como un conjunto resultante

de una población, filogenética, o un estudio de mutación. Estas alineaciones describen

acontecimientos tales como la evolución y la variación de la población. La base de datos PopSet

contiene los datos de la secuencia de nucleótidos y proteínas.

Taxonomy Database

La base de datos Taxonomy contiene los nombres de todos los organismos que están

representados en las bases de datos genéticas del NCBI por al menos una secuencia de

nucleótidos o proteínas.

GEO Profiles

Esta base de datos almacena la expresión de genes individuales y la abundancia de los perfiles

moleculares ensamblados a partir del repositorio de la Expresión Génica de Omnibus (Gene

Expression Omnibus GEO).

Page 60: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 2: Marco teórico

pág. 48

GEO Datasets

Esta base de datos almacena la expresión de genes comisariados y molecular abundancia de

DataSets39 ensamblados a partir del repositorio de la Expresión Génica de Omnibus (Gene

Expression Omnibus GEO).

GENSAT

El proyecto GENSAT (Gene Expression Nervous System Atlas) tiene por objetivo mapear la

expresión de genes en el sistema nervioso central del ratón, utilizando hibridación in situ y

técnicas de ratón transgénico.

Cáncer Chromosomes

Cancer Chromosomes contiene tres bases de datos de citogenética del cáncer: NCI Mitelman

Database of Chromosome Aberrations in Cancer, the NCI Recurrent Chromosome Aberrations

in Cancer, y la base de datos de NCI and NCBI SKY/M-FISH & CGH. Los datos de Cariotipo,

SKY / M-FISH, CGH se pueden buscar simultáneamente. Búsquedas para demostrar la similitud

citogenética y clínica en relación con los distintos niveles de especificidad.

dbGaP

La base de datos de genotipo y fenotipo (dbGaP) archiva y distribuye los resultados de los

estudios que han investigado la interacción del genotipo y fenotipo. Estos estudios incluyen

todos los estudios asociados con el genoma, secuenciación médica, ensayos de diagnóstico

molecular, así como la asociación entre el genotipo y los rasgos no clínicos.

PubChem Compound

La base de datos PubChem Compound contiene la información descrita de químicos validados

proporcionados para describir sustancias en la base de datos de PubChem Substance.

PubChem Substance

La base de datos PubChem Substance contiene las descripciones de las muestras químicas, de

una variedad de fuentes, y enlaces a las citas en PubMed, estructuras 3D de proteínas y los

resultados filtrados biológicos que están disponibles en PubChem BioAssay.

39 DataSets: conjunto de datos, grupo de datos

Page 61: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 2: Marco teórico

pág. 49

PubChem BioAssay

La base de datos PubChem BioAssay contiene pantallas de bioactividad de las sustancias

químicas descritas en PubChem Substance. Proporciona descripciones de búsqueda de cada

bioensayo, incluyendo descripciones de las condiciones y las lecturas específicas para que el

procedimiento de selección.

PubMed Central

PubMed Central (PMC) es el archivo digital la Biblioteca Nacional de Medicina de los EE.UU.

del diario de la literatura de las ciencias de la vida. El acceso al texto completo de artículos en

PMC es libre, salvo en el caso de que una revista requiera una suscripción para el acceso a los

últimos artículos.

PubMed

PubMed es una base de datos desarrollada por el National Center for Biotechnology Information

(NCBI) y National Library of Medicine (NLM), uno de los institutos de National Institutes of

Health (NIH). La base de datos fue diseñada para facilitar el acceso a las citas (con resúmenes)

de las revistas biomédicas. También se añade una característica de la vinculación para facilitar el

acceso al texto completo de los artículos de las revista en los sitios web de las editoriales

participantes, así como a otros recursos web.

Journals

La base de datos Journals puede ser explorada usando el título de la revista, la abreviatura

MEDLINE, NLM ID, abreviatura ISO o ISSN. La base de datos incluye las revistas en todas las

bases de datos Entrez, por ejemplo, PubMed, Nucleotide, Protein.

MeSH

MeSH (Medical Subject Headings) es el vocabulario controlado de la Biblioteca Nacional de

Medicina de los EE.UU. utilizado para indexar artículos en PubMed. La terminología MeSH

proporciona una manera consistente para recuperar la información que puede utilizar términos

diferentes para los mismos conceptos.

Page 62: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 2: Marco teórico

pág. 50

Bookshelf

Bookshelf tiene una colección de libros biomédicos que están vinculados en Entrez. El NCBI

manual también está disponible en la biblioteca.

OMIM Database

La base de datos de la herencia mendeliana en el hombre en línea OMIN (Online Mendelian

Inheritance in Man) es la un catálogo de genes humanos y los trastornos genéticos.

OMIA Database

La herencia mendeliana en animales en línea OMIA (Online Mendelian Inheritance in Animals)

es una base de datos de los genes, los rasgos y trastornos hereditarios en las especies animales

(excepto los humanos y de ratón) escrito por el profesor Frank Nicholas, de la Universidad de

Sydney, Australia, con la ayuda de muchas personas a través de los años. La base de datos

contiene información textual y referencias, así como enlaces a los registros de OMIM, PubMed,

Gene, y pronto a la base de datos de fenotipo del NCBI.

Probe Database

Probe es un registro público de reactivos de ácido nucleído diseñados para su uso en una amplia

variedad de aplicaciones de la investigación biomédica, junto con información sobre los

distribuidores de los reactivos, sonda de la eficacia, y secuencia semejantes calculadas.

2.15 Clasificación general de las bases de datos de Entrez

De acuerdo con el NCBI Site Map40, las bases de datos que pueden explorarse desde el motor de

búsqueda de Entrez pueden clasificarse en tres partes: Literature Databases, Molecular

Databases y Genomes. De estas clasificaciones Molecular Databases se subdivide en Nucleotide

Sequences, Protein Sequences, Structures, Genes, Gene Expresion y Taxonomy ([PASTOR08],

[ENTREZ06]). El siguiente esquema se muestra las agrupaciones de las bases de datos que

pueden explorarse a través de Entrez Global Query.

40 http://www.ncbi.nlm.nih.gov/Sitemap/index.html

Page 63: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

En la figura 6 las bases

modelo se encuentran marcadas con una estrella.

Figura 6 Clasificación de las base de datos en

2.16 Las herramientas del

El NCBI proporciona herramientas avanzadas para interact

[EUTILITIES09] las cuales se dividen en dos partes:

Herramientas Web

• Batch Entrez: Sube un archivo de

• PubMed Batch Citation Matcher

PubMed para vincular citas desplegadas u otras aplicaciones.

• Advanced Entrez Searching

41 Números GI: son una serie de dígitos que son asignados conssecuencia procesada

Capítulo 2: Marco teórico

pág. 51

as bases de datos que se tomaron en cuenta para proveer de información al

modelo se encuentran marcadas con una estrella.

Clasificación de las base de datos en Entrez Global Query

as herramientas del NCBI

proporciona herramientas avanzadas para interactuar con la plataforma

las cuales se dividen en dos partes:

: Sube un archivo de GI41 o números de acceso para recuperar secuencias.

Citation Matcher: envía información de citas a Entrez

para vincular citas desplegadas u otras aplicaciones.

Advanced Entrez Searching: técnicas de búsqueda avanzada para la

Números GI: son una serie de dígitos que son asignados consecutivamente por el NCBI a cada

Capítulo 2: Marco teórico

para proveer de información al

Entrez Global Query

uar con la plataforma Entrez

o números de acceso para recuperar secuencias.

Entrez y recuperar IDs de

de búsqueda avanzada para la Web Entrez.

ecutivamente por el NCBI a cada

Page 64: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 2: Marco teórico

pág. 52

• My NCBI: incluye correo electrónico automático de búsqueda de actualizaciones y los

filtros para los resultados de búsqueda.

Herramientas para programar

• E-Utilities: Ejecuta consultas a Entrez y descargar datos desde sus propios scripts a través

de la Web.

• Linking to Entrez: Enlaces a páginas específicas de Entrez desde sus propias páginas web

o aplicaciones.

• Entrez Client/Server: Bibliotecas en lenguaje C para incrustar llamadas a Entrez en tus

programas.

De estas herramientas se eligió a los servicios web para Entrez Utilities de NCBI (E-

Utilities) ya que habilita a los desarrolladores el acceso a Entrez Utilities vía SOAP42. Los

servicios web han sido probados con:

• C# y Visual Basic en MS Visual Studio 2005.

• Java (Apache Axis2 versión 1.4).

• MS SOAP Toolkit 3.0 y MS Word Visual Basic.

Los servicios web pueden trabajar con versiones anteriores de Axis (Axis para Java ver.

1.4) y MS Visual Studio (MSVS 2003). Los desarrolladores pueden utilizar otras herramientas y

bibliotecas SOAP para acceder a los servicios web de Entrez Utilities de NCBI.

2.17 Módelo conceptual del genoma humano

El grupo de investigacion del genoma de la UPV ha desarrollado un Módelo Conceptual del

Genoma Humano. El módelo ha pasado por diferentes etapas hasta obtener una versión estable la

cual se publico en [VIRRUETA09] y que es descrito a continuación.

El Módelo Conceptual del Genoma Humano estable está dividido en tres vistas

principales (Gene-Mutation, Transcription y Genome). En los Diagrama 1,Diagrama 2 y

42 Simple Object Access Protocol (SOAP)

Page 65: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 2: Marco teórico

pág. 53

Diagrama 3, donde se muestra cada una de las vistas. En los diagramas, algunas clases aparecen

sin atributos y podrían agruparse, pero se eligió ponerse por separado para desarrollar estas

clases en estudios posteriores. Algunas relaciones que utilizan “0..*” indican la información

puede existir o no en las bases de datos públicas.

Vista Gene-Mutation

En la vista Gene-Mutation se modelaron los conocimientos acerca de los genes, su estructura y

sus variantes alélicas basándose en las diferentes bases de datos públicas. Las entidades

principales en esta vista son la clase Gene y la clase Allele (ver diagrama 1).

Diagrama 1 Vista Gene-Mutation[VIRRUETA09]

La clase Gene modela el concepto genérico de gen independientemente de los ejemplos

de registros en las bases de datos genéticas.

Page 66: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 2: Marco teórico

pág. 54

La clase Allele representa las instancias de un gen genérico y puede ser la clase más

importante del modelo ya que toda la información dependerá de ella. Se pretende que esta clase

represente información relativa e importante acerca de los alelos: bases de datos de alelos, tipos

de alelos (de referencia o variantes). Sus genes genéricos y sus secuencias de ADN junto con la

transcripción del producto final (ARNm).

La clase DataBank representa diferentes bases de datos publicas usadas para cargar la

base de datos. La clase GeneDataBankIdentification representa la identificación de un gen en las

diferentes bases de datos públicas. La clase AlleleDataBankIdentification representa la misma

identificación pero para el alelo.

Las clases Allelic Variant y Reference Type son especializaciones de la clase Allele. Se

clasificaron las variantes alélicas por sus diferentes representaciones y criterios en tres

especializaciones.

G1: representa el rango de la variación, si la variación afecta solo al gen o a parte del

cromosoma.

G2: representa el grado de conocimiento de la variación, si la variación es precisa o

imprecisa.

G3: clasifica las variantes alélicas por sus efectos en el fenotipo y determina si una

variación es Mutant NeutralPolimorphisme o de Unknown Consequence

Vista Transcription

Otra vista importante del modelo es la vista Transcription que modela los componentes básicos

de la síntesis de una proteína (ver diagrama 2).

La clase Primary Transcript representa la copia transcrita del ADN al ARN de la

secuencia (en la clase Transcribed-Sequuence). La clase PrimaryTranscriptPath representa el

modelo del factor de empalme de diferentes particiones de splicing.

La clase Element Transcript tiene como atributo ord_num el cual nos ayudan a identificar

un determinado fragmento de la totalidad de la partición de otros fragmentos. Las entidades

especializadas de Exon e Intron representan los tipos de fragmentos de la partición.

Page 67: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 2: Marco teórico

pág. 55

La clase Spliced Transcript representa la combinación de diferentes exones de un

Primary Transcript. El resultado de estas combinaciones será el ARNm y otros tipos de ARN (las

clases especializadas).

Diagrama 2 Vista Transcrption[VIRRUETA09]

El ARNm contiene secuencias de nucleótidos que podrían codificar una proteína, lo que se

conoce como ORF (Open Reading Frame). La clase ORF tiene un atributo id como

identificación interna y un atributo sequence que almacena la codificación de la secuencia. La

clase Primary Polypeptide describe la estructura primaria de la proteína: la cadena de

aminoácidos obtenidos después de la traducción de un ORF. Esta cadena de aminoácidos sufre

algunas transformaciones químicas y el resultado final es una proteína funcional, que está

representado en el modelo con la clase Protein. Una proteína podría estar formada por uno o

más Primary Polypeptides.

Page 68: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 2: Marco teórico

pág. 56

Vista Genome

La vista Genome presenta un esquema

conceptual de un genoma individual

completo. Esta vista es especialmente

interesante para futuras aplicaciones.

Como tecnologías de secuenciado

paralelo masivo que permitirá en un

futuro próximo la secuenciación

completa de los genomas individuales a

un precio muy bajo.

La clase Research Centre

representa el laboratorio o centro de

investigación donde un genoma humano

especifico ha sido secuenciado. Las

entidades Genome y Chromosome

representan un genoma completo

secuenciado por un centro de

investigación específico. La clase

ChromosomeSegment representa todos

los segmentos que forman un

cromosoma completo.

Se identificaron dos tipos principales de segmentos cromosómicos: los relacionados con

la codificación de los segmentos (representados mediante la clase GenicSegment) y los no

relacionados con la codificación de los segmentos (representados mediante la clase

NonGenicSegment); dos clases son especializadas de la clase NonGenicSegment: la clase

IntergenicRegion la cual representa el espacio entre genes y la clase ChromosomalElement. La

última cuenta con tres entidades especializadas que describen otros elementos de los

cromosomas (Centromere, Telomere and ORI), cuya función es mantener el cromosoma

funcional y no participan en la producción de proteínas.

Diagrama 3 Vista Genome[VIRRUETA09]

Page 69: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 2: Marco teórico

pág. 57

2.18 Modelo ER simplificado de la base de datos

El modelo Entidad Relación (ER) de la base de datos genoma está basado en un modelo

simplificado de la vista Tanscription del modelo conceptual del genoma humano. El modelo

contempla la inserción de genes, secuencias y referencias. El modelo ER esta simplificado y solo

se muestra la parte correspondiente a la vista Transcription.

El modelo esta implementado en Oracle 10g, por el momento el acceso a esta base de

datos se realiza mediante una conexión local o de forma remota mediante una conexión VPN.

En el Anexo C se encuentra el modelo ER de la base de datos genoma, donde el recuadro

A contiene la parte correspondiente a los genes y sus alelos, el recuadro B contiene la parte

correspondiente a las secuencias (Regulates, ARNm, ADN, exones e intrones), el recuadro C

contiene la parte correspondiente a las referencias. A demás se incluyen las restricciones externas

correspondientes al módelo ER.

Adaptaciones del modelo de la base de datos

Se agrego el atributo OFFICIAL_NAME en la tabla GENE, que es el nombre oficial del Gen

asignado por HGNC43. Se agrego atributo STRAND en la tabla ALLELE. STRAND indica que

lado de la escalera de la molécula de ADN es al que pertenece la secuencia si es plus o minus. Se

creó la tabla LOG_INSERT para llevar una bitácora de las inserciones en la base de datos

genoma y LOGIN para llevar un control de los usuarios que pueden interactuar con la base de

datos (puede ser utilizad en trabajos futuros). Estas tablas están definidas en la tabla 8:

Tabla 8 Tablas anexadas al modelo entidad relación de la base de datos genoma

Tabla Atributos

LOG_INSERT TYPE_LOAD (varchar), ID_DATABANK (varchar), DB_NAME (varchar), ID_GENE (varchar), ID_GENE_DB (varchar), DATE_LOAD (date).

LOGIN NAME (varchar), MAIL (varchar), ROL (varchar)

Con esta tabla se lleva un registro de todos los genes cargados en la base de datos genoma, la cual puede ser utilizada para el control de cargas y actualizaciones.

43 http://www.genenames.org/data/hgnc_data.php?hgnc_id=7765

Page 70: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

pág. 58

Capítulo 3: Solución propuesta

En este capítulo se describe la solución propuesta al problema de la integración de datos que se

requiere para hacer de la base de datos genoma un repositorio universal. Existen diversas fuentes

posibles de las cuales se puede extraer informacion para almacenarla en la base de datos genoma.

Es necesario desarrollar una metodoloigiaque para el desarrollo de nuevas herramientas para dar

soporte de carga o actualizacion a la base de datos genoma. El capítulo se encuentra organizado

en los siguientes subtemas:

3.1 Solución propuesta

3.2 Análisis de los módulos a desarrollar.

Page 71: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 3: Solución propuesta

pág. 59

3.1 Solución propuesta

En esta tesis se propone una metodología para contribuir en la solución del problema de carga y

actualización de datos en la base de datos genoma, junto con el desarrollo de los módulos

correspondientes. El procedimiento abstracto de este proceso se muestra en la figura 7.

La metodología consiste en una serie de análisis con el fin de obtener los requerimientos

para el diseño de los módulos de carga y actualización de la base de datos genoma.

• Análisis del esquema conceptual del genoma humano y modelo ER de la base de datos

genoma contra los datos contenidos en las base de datos de la fuente.

• Análisis de las herramientas disponibles para el acceso las base de datos en la fuente

• Análisis del proceso de recuperación de los datos

• Identificación de la estructura de datos y su correspondencia con la estructura de la base

de datos genoma

• Análisis de estrategias de carga/actualización

La metodología tiene como objetivo desarrollar módulos para carga y actualización de la

base de dato genoma a partir de diversas fuentes de datos. Para esto se requiere generar

prototipos de cada base de datos e identificar los patrones, estableciendo una arquitectura que

evolucione conforme se integran nuevas bases de datos con métodos de acceso diferentes o

estructuras diferentes.

Figura 7 Procedimiento para dar soporte a la base de datos genoma

Prototipo

Proceso de recuperación, extracción y

transformación BD1 genoma Datos BD2 BDm

Carga|actualización de datos

Page 72: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 3: Solución propuesta

pág. 60

En la figura 8 se describe el procedimiento para el desarrollo de cada prototipo y los

resultados esperados. Se ha tomado a la fuente NCBI como caso de estudio en la metodología

propuesta para el desarrollo de una herramienta de carga de datos para la base de datos genoma.

Figura 8 Metodología para el desarrollo de módulos de carga y actualización

Uno de los objetivos de la metodología es la identificación de los requerimientos para

desarrollar las herramientas de carga o actualización para una base de datos, los cuales se

obtienen mediante las primeras 5 etapas de la metodología. La etapa 6 se divide en análisis y

diseño, donde se aplican técnicas de ingeniería de software para desarrollar las herramientas. A

1

2

3

4

6

5

Page 73: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

continuación se describen los resultados de aplicar las primeras 5 etapas al caso de estudio del

NCBI.

� Etapa 1: Análisis del esquema conceptual del genoma humano y

base de datos contra el esquema de los d

Se identificaron 12 vectores

corresponde a un registro de una tabla. Para acceder a las bases de datos del

servicios web de Entrez, cada uno de estos

datos relacionados con uno o varios vectores a cargar de la base de datos

obtenida de los servicios web corresponde a un vector a recuperar

Figura 9 Relación entre la

� Etapa 2: Análisis de las herramientas disponibles para el acceso a las bases de datos

NCBI. En esta etapa se identifican las herramientas disponible para el acceso a las bases

Capítulo 3: Solución propuesta

pág. 61

riben los resultados de aplicar las primeras 5 etapas al caso de estudio del

Análisis del esquema conceptual del genoma humano y

base de datos contra el esquema de los datos contenidos en las base

Se identificaron 12 vectores para cargar en la base de datos genoma

corresponde a un registro de una tabla. Para acceder a las bases de datos del

, cada uno de estos servicios da como resultado una vista que contiene

datos relacionados con uno o varios vectores a cargar de la base de datos

obtenida de los servicios web corresponde a un vector a recuperar (ver figura 9

n entre las tablas de la base de datos genoma y los servicios web del

Análisis de las herramientas disponibles para el acceso a las bases de datos

En esta etapa se identifican las herramientas disponible para el acceso a las bases

Capítulo 3: Solución propuesta

riben los resultados de aplicar las primeras 5 etapas al caso de estudio del

Análisis del esquema conceptual del genoma humano y del modelo ER de la

atos contenidos en las bases de datos del NCBI.

genoma, donde cada vector

corresponde a un registro de una tabla. Para acceder a las bases de datos del NCBI se utilizan los

tado una vista que contiene

datos relacionados con uno o varios vectores a cargar de la base de datos genoma. Cada vista

figura 9).

y los servicios web del NCBI

Análisis de las herramientas disponibles para el acceso a las bases de datos del

En esta etapa se identifican las herramientas disponible para el acceso a las bases

Page 74: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 3: Solución propuesta

pág. 62

de datos, por ejemplo: ftp, texto plano, línea de comandos, conexión SQL, servicios web,

etc.

Se utilizan los servicios web de la interfaz Entrez Utilities para el acceso a los datos. Se

seleccionaron los siguientes servicios web de acuerdo con el análisis anterior donde se

identificaron los datos a recuperar.

• EUtils

• eFetchGene

• eFetchSeq

• eFetchPubmed

Se implementaron los servicios web utilizando Java (Apache Axis2) y C# (MS Visual Studio

2005) de los cuales la plataforma Java presentó problemas y se determinó trabajar con C#.

� Etapa 3: Análisis del proceso de recuperación de los datos. En esta etapa se busca

identificar el proceso para la recuperación de los registros, vistas o vectores, que

contienen los datos que se quieren cargar en la base de datos genoma. Cabe mencionar

que, de los datos recuperados, no todos son necesarios.

En el caso del NCBI se identifico el siguiente proceso de recuperación: se inicia con la

obtención del identificador del gen en la base de datos gene utilizando EUtils el símbolo del gen

y el filtro “[Gene Name] AND Homo sapiens [Organism]”.El identificador obtenido es utilizado

en el vector LOG. Una vez obtenido el identificador se recuperan los datos de la base de datos

gene. Dentro de los datos recuperados de la base de datos gene, se tienen los datos

correspondientes a los vectores GEN y ALLELE, además, los datos recuperados contienen los

identificadores de la secuencia de referencia y de las secuencias de ARN correspondientes al gen.

Con los identificadores de la secuencia de referencia y de las secuencias de ARN se

recuperan del servicio web eFetchSeq los datos correspondientes a cada secuencia. Los datos

recuperados mediante eFecthSeq contienen datos relacionados a los vectores

SPLICED_TRANSCRIPT (secuencia de ARN) y SEGMENT (secuencia de referencia). Cabe

mencionar que en el caso de los datos recuperados de una secuencia de ARN, se obtienen los

identificadores de las secuencias de los exones correspondientes al vector ELEMENT_

Page 75: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

TRANSCRIPT. Además se obtienen los identificadores para recuperar los datos las referencias

de la secuencia principal y de

Finalmente se recuperan los datos de las referencias de cada secuencia utilizando el

servicio web eFetchPubmed, utilizando los identificadores obte

10 se muestra un esquema ge

web del NCBI.

Figura 10 Proceso de recuperación de datos mediante los servicios web del

� Etapa 4: Identificación de la estructura de datos y su correspondencia con la estructura de

la base de datos genoma

las vistas (registros o vectores), obtenidas de cada uno de los servicios web, par

transformarlos a los vectores

En la tabla 9 se muestra el servicio

información, los vectores (tablas) correspondientes a los datos

formato en el que deben ser transformados

identificadores no se aplica la transformación ya que son auxiliares en el proceso de

recuperación.

Capítulo 3: Solución propuesta

pág. 63

se obtienen los identificadores para recuperar los datos las referencias

de la secuencia principal y de ARN.

Finalmente se recuperan los datos de las referencias de cada secuencia utilizando el

, utilizando los identificadores obtenidos en eFetchSeq

se muestra un esquema general del proceso de recuperación de datos mediante los servicios

Proceso de recuperación de datos mediante los servicios web del

dentificación de la estructura de datos y su correspondencia con la estructura de

la base de datos genoma. En esta etapa se identifican los datos que se requieren extraer de

las vistas (registros o vectores), obtenidas de cada uno de los servicios web, par

vectores que se requieren cargar en la base de datos

muestra el servicio Web, los datos necesarios para recuperar la

, los vectores (tablas) correspondientes a los datos que necesitan ser

formato en el que deben ser transformados estos datos. Cabe mencionar que en el caso de los

identificadores no se aplica la transformación ya que son auxiliares en el proceso de

Capítulo 3: Solución propuesta

se obtienen los identificadores para recuperar los datos las referencias

Finalmente se recuperan los datos de las referencias de cada secuencia utilizando el

eFetchSeq. En la figura

ral del proceso de recuperación de datos mediante los servicios

Proceso de recuperación de datos mediante los servicios web del NCBI

dentificación de la estructura de datos y su correspondencia con la estructura de

esta etapa se identifican los datos que se requieren extraer de

las vistas (registros o vectores), obtenidas de cada uno de los servicios web, para

que se requieren cargar en la base de datos genoma.

datos necesarios para recuperar la

que necesitan ser extraídos y el

Cabe mencionar que en el caso de los

identificadores no se aplica la transformación ya que son auxiliares en el proceso de

Page 76: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 3: Solución propuesta

pág. 64

Tabla 9 Identificación de los datos extraídos de los servicios web y el formato en el que se deben

transformar

Servicio web Requisitos Datos obtenidos Formato XML

EUtils � Base de datos

(gene)

� Símbolo del gen

� Filtro

LOG <LOG>

<ID_LOAD/>

<ID_DATABANK/>

<ID_GENE/>

<ID_GENE_DB/>

<DB_NAME/>

<TYPE_LOAD/>

</LOG>

Identificador del gen (geneid) ---

eFetchGene � geneid GENE <GENE>

<ID_GENE/>

<OFFICIAL_SYMBOL/>

<OFFICIAL_NAME/>

<SUMMARY/>

<CHROMOSOME/>

<LOCUS/>

</GENE>

ALLELE <ALLELE>

<ID_GENE/>

<ALLELE_NUM/>

<START_POSITION/>

<END_POSITION/>

<STRAND/>

</ALLELE>

Identificador de la secuencia de referencia (gi)

---

Identificador de la secuencia de ARN (gi)

---

eFetchSeq � gi SEGMENT (secuencia de referencia)

<SEGMENT>

<ID_GENE/>

<ALLELE_NUM/>

<SEGMENT_NUM/>

<START_POSITION/>

<END_POSITION/>

<SECUENCE/>

<TRANS_UNIT_NUM/>

<TYPE/>

</SEGMENT>

SPLICED_TRANSCRIPT (secuencia de ARN)

< SPLICED_TRANSCRIPT>

<ID_GENE/>

Page 77: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 3: Solución propuesta

pág. 65

<ALLELE_NUM/>

< SPLICED_TRANSCRIPT_NUM/>

<SEQUENCE/>

<TYPE/>

</ SPLICED_TRANSCRIPT>

ELEMENT_TRANSCRIPT (secuencia del Exón o Intrón)

< ELEMENT_TRANSCRIPT>

<ID_GENE/>

<ALLELE_NUM/>

<SEGMENT_NUM/>

<ELEMENT_TYPE/>

<ELEMENT_NUM/>

<START_POSITION/>

<END_POSITION/>

</ ELEMENT_TRANSCRIPT>

Identificador de la secuencia del exón (gi)

---

Identificador de la referencia (pmid)

---

eFetchPubmed � pmid BIBLIOGRAPHY_REFERENCE < BIBLIOGRAPHY_REFERENCE>

<ID_BIB_REF/>

<TITLE/>

<ABSTRACT/>

<PUBLICATION/>

<AUTHORS/>

< BIBLIOGRAPHY_REFERENCE/>

BIBLIOGRAPHY_DATABANK <BIBLIOGRAPHY_DATABANK>

<BID_DATABAK_NAME/>

<ID_BIB_REF/>

<URL/>

</BIBLIOGRAPHY_DATABANK>

REFERENCE_GENE < REFERENCE_GENE>

<ID_GENE/>

<ID_BIB_REF/>

</ REFERENCE_GENE>

REFERENCE_ALLELE < REFERENCE_ALLELE>

<ID_GENE/>

<ALLELE_NUM/>

<ID_BIB_REF/>

</ REFERENCE_ALLELE>

REFERENCE_SEGMENT < REFERENCE_SEGMENT>

<ID_GENE/>

<ALLELE_NUM/>

<SEGMENT_NUM/>

<ID_BIB_REF/>

</ REFERENCE_SEGMENT>

Page 78: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 3: Solución propuesta

pág. 66

REFERENCE_SPLICED _TRANSCRIPT

<REFERENCE_SPLICED_TRANSCRIPT>

<ID_GENE/>

<ALLELE_NUM/>

<SPLICED_TRANSCRIPT_NUM/>

<ID_BIB_REF/>

</REFERENCE_SPLICED_TRANSCRIPT>

� Etapa 5: Análisis de estrategias de carga o actualización. En esta etapa se identifican los

métodos para insertar en cada tabla de la base de datos genoma, también se pueden

generar nuevos métodos compuestos utilizando métodos genéricos en el caso de inserción

en varias tablas.

Para cargar los datos en la base de datos genoma se implementó un procedimiento

llamado UPSERT, que se utiliza para cargar o actualizar los datos en la base de datos. El tamaño

del dato más grande es el que corresponde a la secuencia de nucleótidos, este dato de tipo BLOB

no puede ser cargado de forma normal, por lo que se requiere utilizar un procedimiento

almacenado. A continuación se muestran dos ejemplos: el primero para cargar una tabla con

datos de tamaño normal y el segundo para cargar datos de tipo BLOB.

Método para cargar el vector ALLELE

public void LoadALLELE( string id_gene, int allele_num, int start_position, int end_position, string strand){ try { int nrecord = 0; string source = @"server = " + this .ServerName + ";" + "uid = " + this .UID + ";" + "password = " + this .Password; using ( OracleConnection conn = new OracleConnection (source)) { // Abrir la conección conn.Open(); string sql_srt = "SELECT id_gene, allele_num FROM allele WHERE id_ge ne='" + id_gene + "' and allele_num=" + allele_num; OracleCommand cmd = new OracleCommand (sql_srt, conn); OracleDataReader reader = cmd.ExecuteReader(); reader.Read(); if (reader.HasRows) { System. Console .WriteLine( "Valor reader count: " + reader.FieldCount + " registro \r\n\r\n" ); sql_srt = "UPDATE allele SET start_position=" + start_position + ", end_position=" + end_position + ", strand='" + strand + "' WHERE id_gene='" + id_gene + "' and allele_num=" + allele_num ; cmd.CommandText = sql_srt; nrecord = cmd.ExecuteNonQuery() ; System. Console .WriteLine( "Se actualizo: " + nrecord + " registro \r\n\r\n" ); } else {

Page 79: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 3: Solución propuesta

pág. 67

sql_srt = "INSERT INTO allele VALUES ('" + id_gene + "', " + allele_num + ", " + start_position + ", " + end_position + ", '" + strand + "')" ; cmd.CommandText = sql_srt; nrecord = cmd.ExecuteNonQuery() ; System. Console .WriteLine( "Se inserto " + nrecord + " registro\r\n\r\n" ); } // Cerrar conección conn.Close(); } } catch ( Exception e_sql) { // Hacer algo con la excepción aquí... System. Console .WriteLine(e_sql.ToString()); } }

Método para cargar el vector SEGMENT

public void LoadSEGMENT(string id_gene, int allele_num, int segment_num, int start_position, int end_position, string sequence, int trans_unit_num, string type){ try { byte [] clobByte = Encoding .Unicode.GetBytes(sequence); string source = @"server = " + this .ServerName + ";" + "uid = " + this .UID + ";" + "password = " + this .Password; using ( OracleConnection conn = new OracleConnection (source)) { // Abrir la conección conn.Open(); // Hacer algo útil string sql_srt = "SELECT id_gene FROM segment WHERE id_gene='" + id_gene + "' and allele_num=" + allele_num + " and segment_num=" + segment_num; OracleCommand cmd = new OracleCommand (sql_srt, conn); OracleDataReader reader = cmd.ExecuteReader(); reader.Read(); if (reader.HasRows) { OracleTransaction transaction = conn.BeginTransaction(); OracleCommand oracleCommand = new OracleCommand ( "UPDATE_SEGMENT_SEQUENCE", conn, transaction); oracleCommand.CommandType = CommandType.StoredProcedure; OracleParameter p1 = new OracleParameter ( "p_id_gene" , OracleType .VarChar); p1.Direction = ParameterDirection .Input; p1.Value = id_gene; OracleParameter p2 = new OracleParameter ( "p_allele_num" , OracleType .Number); p2.Direction = ParameterDirection .Input; p2.Value = allele_num; OracleParameter p3 = new OracleParameter ( "p_segment_num" , OracleType .Number); p3.Direction = ParameterDirection .Input; p3.Value = segment_num; OracleParameter p4 = new OracleParameter ( "p_start_position" , OracleType .Number); p4.Direction = ParameterDirection .Input; p4.Value = start_position; OracleParameter p5 = new OracleParameter ( "p_end_position" , OracleType .Number); p5.Direction = ParameterDirection .Input; p5.Value = end_position;

Page 80: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 3: Solución propuesta

pág. 68

OracleParameter p6 = new OracleParameter ( "p_trans_unit_num" , OracleType .Number); p6.Direction = ParameterDirection .Input; p6.Value = trans_unit_num; OracleParameter p7 = new OracleParameter ( "p_type" , OracleType .VarChar); p7.Direction = ParameterDirection .Input; p7.Value = type; OracleParameter p8 = new OracleParameter ( "cur_OUT" , OracleType .Cursor); p8.Direction = ParameterDirection .Output; oracleCommand.Parameters.Add(p1 ); oracleCommand.Parameters.Add(p2 ); oracleCommand.Parameters.Add(p3 ); oracleCommand.Parameters.Add(p4 ); oracleCommand.Parameters.Add(p5 ); oracleCommand.Parameters.Add(p6 ); oracleCommand.Parameters.Add(p7 ); oracleCommand.Parameters.Add(p8 ); OracleDataReader odr = oracleCommand.ExecuteReader(); odr.Read(); OracleLob clobColumn = odr.GetOracleLob(0); clobColumn.Write(clobByte, 0, c lobByte.Length); transaction.Commit(); System. Console .WriteLine( "Registro de la tabla segment actualizado\r\n" ); } else { OracleTransaction transaction = conn.BeginTransaction(); OracleCommand oracleCommand = new OracleCommand ( "INSERT_SEGMENT_SEQUENCE", conn, transaction); oracleCommand.CommandType = CommandType.StoredProcedure; OracleParameter p1 = new OracleParameter ( "p_id_gene" , OracleType .VarChar); p1.Direction = ParameterDirection .Input; p1.Value = id_gene; OracleParameter p2 = new OracleParameter ( "p_allele_num" , OracleType .Number); p2.Direction = ParameterDirection .Input; p2.Value = allele_num; OracleParameter p3 = new OracleParameter ( "p_segment_num" , OracleType .Number); p3.Direction = ParameterDirection .Input; p3.Value = segment_num; OracleParameter p4 = new OracleParameter ( "p_start_position" , OracleType .Number); p4.Direction = ParameterDirection .Input; p4.Value = start_position; OracleParameter p5 = new OracleParameter ( "p_end_position" , OracleType .Number); p5.Direction = ParameterDirection .Input; p5.Value = end_position; OracleParameter p6 = new OracleParameter ( "p_trans_unit_num" , OracleType .Number); p6.Direction = ParameterDirection .Input; p6.Value = trans_unit_num; OracleParameter p7 = new OracleParameter ( "p_type" , OracleType .VarChar); p7.Direction = ParameterDirection .Input; p7.Value = type; OracleParameter p8 = new OracleParameter ( "cur_OUT" , OracleType .Cursor); p8.Direction = ParameterDirection .Output; oracleCommand.Parameters.Add(p1 );

Page 81: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 3: Solución propuesta

pág. 69

oracleCommand.Parameters.Add(p2 ); oracleCommand.Parameters.Add(p3 ); oracleCommand.Parameters.Add(p4 ); oracleCommand.Parameters.Add(p5 ); oracleCommand.Parameters.Add(p6 ); oracleCommand.Parameters.Add(p7 ); oracleCommand.Parameters.Add(p8 ); OracleDataReader odr = oracleCommand.ExecuteReader(); odr.Read(); OracleLob clobColumn = odr.GetOracleLob(0); clobColumn.Write(clobByte, 0, c lobByte.Length); transaction.Commit(); System. Console .WriteLine( "Registro de la tabla segment insertado\r\n" ); } // Cerrar conección conn.Close(); } } catch ( Exception e_sql) { // Hacer algo con la excepción aquí... System. Console .WriteLine(e_sql.ToString()); } }

Procedimiento almacenado para la Inserción en la tabla SEGMENT

create or replace PROCEDURE INSERT_SEGMENT_SEQUENCE ( p_id_gene IN VARCHAR2 , p_allele_num IN NUMBER , p_segment_num IN NUMBER , p_start_position IN NUMBER , p_end_position IN NUMBER , p_trans_unit_num IN NUMBER , p_type IN VARCHAR2 , cur_OUT OUT SYS_REFCURSOR) AS BEGIN INSERT INTO SEGMENT( id_gene, allele_num, segmen t_num, start_position, end_position, sequence, trans_unit_num, type) VALUES ( p_id_gene, p_allele_num, p_segment_num, p_start_position, p_end_position, EMPTY_CLOB(), p_trans_unit_num, p_type); OPEN cur_OUT FOR SELECT sequence FROM SEGMENT WHERE id_gene = p_id_gene AND allele_num = p_alle le_num ANd segment_num = p_segment_num AND trans_unit_num = p_trans_unit_num FOR UPDATE; END INSERT_SEGMENT_SEQUENCE;

Procedimiento almacenado para la actualización en la tabla SEQUENCE

create or replace PROCEDURE UPDATE_SEGMENT_SEQUENCE ( p_id_gene IN VARCHAR2 , p_allele_num IN NUMBER , p_segment_num IN NUMBER , p_start_position IN NUMBER , p_end_position IN NUMBER , p_trans_unit_num IN NUMBER , p_type IN VARCHAR2

Page 82: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 3: Solución propuesta

pág. 70

, cur_OUT OUT SYS_REFCURSOR) AS BEGIN UPDATE "SEGMENT" SET start_position = p_start_po sition, end_position = p_end_position, type = p_type WHERE id_gene = p_id_gene AND allele_num = p_alle le_num ANd segment_num = p_segment_num AND trans_unit_num = p_trans_unit_num; OPEN cur_OUT FOR SELECT sequence FROM SEGMENT WHERE id_gene = p_id_gene AND allele_num = p_alle le_num ANd segment_num = p_segment_num AND trans_unit_num = p_trans_unit_num FOR UPDATE; END UPDATE_SEGMENT_SEQUENCE;

Con la información obtenida a través de las primeras 5 etapas se puede proceder a la

etapa 6 la cual está descrita en el tema 3.2 y continúa en el capítulo 4 de esta tesis.

3.2 Análisis de los módulos a desarrollar

A continuación se muestra el análisis del sistema de carga para la base de datos genoma, cabe

mencionar que cada uno de los casos de uso representa a los módulos que se desarrollaron.

Los diagramas de caso de uso se basaron en la descripción de los diagramas UML en

[KIMMEL05], así como en base a la práctica y observaciones del director de tesis, obteniendo

buenas técnicas de modelado.

En el diagrama 4 se muestran los casos de uso que describen las actividades principales a

realizar por el sistema de cargar. Los especialistas en genómica describieron el sistema de carga

de la siguiente manera:

Un sistema que les permitiera cargar una lista de genes en una base de datos. La

información correspondiente a cada gen se encuentra en diversas bases de datos heterogéneas.

Para acceder a la información los especialistas en genómica utilizan las aplicaciones Web para

interactuar con las bases de datos. Se requiere cargar las bases de datos del NCBI.

Page 83: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 3: Solución propuesta

pág. 71

En el diagrama 4 se muestran los casos de uso del sistema de carga para la base de datos

genoma. También se muestran las dependencias que existen entre estos casos de uso y sus

actores.

El Usuario depende del CU 1 Cargar lista de genes, el CU 1 incluye el CU 1.1

administrar lista de genes, el CU 1.2 obtener los datos de cada gen de la lista de la fuente NCBI y

el CU 1.3 cargar datos de cada gen de la lista. El CU 1.1 se relaciona con la interfaz SOAP para

Entrez Utilities y con la base de datos genoma. El CU 1.2 se relaciona con la interfaz SOAP para

Entrez Utilities y el CU 1.3 se relaciona con la base de datos genoma.

Diagrama 4 Caso de uso 1 (CU 1) nivel 0

En la tabla 11Tabla 11 del anexo A, se describen los escenarios para el caso de uso

“Cargar lista de genes”.

En el diagrama 5 se muestran los casos de uso “Administrar lista de genes” para la carga

de datos en la base de datos genoma. También se muestran las dependencias que existen entre

estos casos de uso y sus actores.

uc CU1 nivel 0

Base de Datos Genoma

Interface SOAP para Entrez Utilities

Usuario

CU 1.1 Administrar lista de genes

CU 1.2 Obtener los datos de cada gen de la lista de la

fuente NCBI

CU 1.3 Cargar datos de cada gen de la lista

CU 1. Cargar lista de genes

«include»

«include»

«include»

Page 84: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 3: Solución propuesta

pág. 72

El módulo “Administra lista de genes” incluye el CU 1.1.1 “Obtener identificador del gen

en el NCBI para Transcription View” el cual se relaciona con el servicio Web EUtils de la

interfaz SOAP para Entrez Utilities y con la base de datos genoma.

Diagrama 5 Caso de uso1.1 (CU 1.1) nivel 1

En la tabla 12 del anexo A, se describen los escenarios para el caso de uso “Administrar

lista de genes”, y en la tabla 13 del anexo A, se describen los escenarios para el caso de uso

“Obtener identificador del gen en el NCBI para Transcription View”.

En el diagrama 6 se muestran los casos de uso del módulo “Obtener datos de cada gen de

la lista de la fuente NCBI”. También se muestran las dependencias que existen entre estos casos

de uso y sus actores.

El módulo “Obtener datos de cada gen de la lista de la fuente NCBI” es extendido

mediante el CU 1.2.1 “Extraer los vectores del NCBI” y el CU 1.2.2 “Transformar los vectores

de NCBI a vectores de Trasncription View”. El CU 1.2.1 se relaciona con los servicios web:

eFetchGene, eFetchSeq y eFetchPubmed de la interfaz SOAP para Entrez Utilities.

uc CU1.1 nivel 1

Interface SOAP paraEntrez Uti li ties

EUtils

BD genoma

CU 1.1 Administrar lista de genes

CU 1.1.1 Obtener el identificador del gen en el

NCBI para Trascription View«include»

Page 85: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 3: Solución propuesta

pág. 73

Diagrama 6 Caso de uso 1.2 (CU 1.2) nivel 1

En la tabla 14 del anexo A, se describen los escenarios para el caso de uso “Obtener datos

de cada gen de la lista de la fuente NCBI”.

En el diagrama 7 se muestran los casos de uso del módulo “Cargar datos de cada gen de

la lista.” para la base de datos genoma. También se muestran las dependencias que existen entre

estos casos de uso y sus actores.

El módulo “Cargar datos de cada gen de la lista.” Es extendido mediante el CU 1.3.1

“Cargar datos de genes en Transcription View” el cual se relaciona con la base de datos genoma.

Diagrama 7 Caso de uso 1.3 (CU 1.3) nivel 1

En la tabla 15 del anexo A, se describen los escenarios para el caso de uso “Cargar datos

de cada gen de la lista”.

uc CU1.2 nivel 1

Interface SOAP para Entrez Uti li ties

CU 1.2 Obtener datos de cada gen de la lista de la

fuente NCBI

eFetchGene

eFetchSeq

eFetchPubmed

CU 1.2.1 Extraer los vectores de NCBI

CU 1.2.2 Transformar los v ectores de NCBI a v ectores

de Transcription View

«extend»

«extend»

uc CU1.3 nivel 1

CU 1.3 Cargar datos de cada gen de la lista

BD genoma

CU 1.3.1 Cargar datos de genes en Transcription View

«extend»

Page 86: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

pág. 74

Capítulo 4: Implementación de la solución

Mediante la realización de las primeras 5 etapas de la metodología propuesta, se obtienen los

requisitos necesarios para desarrollar la herramienta de carga automática de la vista

Transcription de la base de datos genoma.

En este capítulo se describe la implementación de los módulos de la herramienta diseñada

mediante nuestra metodología, haciendo uso de diagramas de secuencia, despliegue y de clases

aplicando dos patrones de diseño (Composite y Strategy). También se describe la interfaz al

usuario para acceder a cada uno de los módulos implementados. El capítulo se encuentra

organizado en los siguientes subtemas:

4.1 Diseño e implementación de los módulos del sistema.

4.2 Descripción de la interface al usuario.

Page 87: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 4: Implementación de la solución

pág. 75

4.1 Diseño e implementación de los módulos del sistema

El desarrollo de los siguientes diagramas, durante la fase de diseño, permite una mejor

comprensión de los procesos de administración de la lista de genes (diagrama 8), extracción y

transformación (diagrama 9) y finalmente el de carga (diagrama 10). Los diagramas se basan en

la descripción de los diagramas de secuencia en [KIMMEL05].

Diagrama 8 Diagrama de secuencia 1 Administrar lista de genes

sd DS 1

Usuario Interface SOAP EntrezUtili ties

Módulo Administrarl ista de genes

Base de datos genoma

Módulo de Carga de l ista de genes

Módulo obtener el identi ficadordel gen en el NCBI para

Trascription View

alt

[IF existe Gen]

opt

[Nueva Lista]

[Abrir Lista]

opt

[Agregar elemento]

[Eliminar elemento]

opt

[Guardar lista]

Solici taadministrar lista()

Solici ta crearlista() :Lista

Crea l ista()

sol icita abrir l ista() :Lista

Abre lista()

Introduce el nombredel elemento genque desea agregar ala lista(String) Inserta elemento

de la l ista(String)

Buscar ID de elemento enel NCBI(String) :String

Extraer indice del elementogen del NCBI(String) :vector

Buscar gen en la base de datos genoma(String) :Vector

Solici ta eliminar elementode la lista(String) :boolean

Elimina elemento de lal ista(String) :boolean

Sol icita guardar l ista()

Guarda lista(lista, path)

Page 88: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 4: Implementación de la solución

pág. 76

Diagrama 9 Diagrama de secuencia 2 Extracción y transformación de los datos del NCBI

sd DS 2

Usuario Interface SOAP EntrezUtil ities

Módulo de Carga de l ista de genes

Módulo extraer datos dela fuente NCBI

Modulo transformarvectores NCBI a

Transcription View

loop

[fuente del gen=NCBI]

loop

[hasta referencias=0]

loop

[hasta referencias=0]

loop

[hasta ARNs=0]

loop

[hasta referencias=0]

loop

[hasta exones=0]

loop

[hasta intrones=0]

Solici ta cargar l ista ala base de datos()

Extraer cada gen correspondientea la fuente NCBI y transformar aTranscriptionn View()

Extraer vector de eUti ls()

Transformar vector deeUtils a principal de gene()

Extraer vector de eFetchPubmed()

Transformar vector de eFetchPubmed aReferencia()

Extraer vector de eFecthSeq()

Transformar vector de eFetchSeq aSecuencia principal()

Extraer vector de eFetchPubmed()

Transformar vector de eFetchPubmed aReferencia()

Extraer vector de eFecthSeq()

Transformar vector eFetchSeq aARN()

Extraer vector de eFetchPubmed()

Transformar vector de eFetchPubmed aReferencia()

Transformar vector eFetchSeq a Exon()

Transformar vector eFetchSeq a Intron()

Desplegar informaciondel gen extraidacorrectamente()

Page 89: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 4: Implementación de la solución

pág. 77

Diagrama 10 Diagrama de secuencia 3 carga de datos en la base de datos genoma

sd DS 3

Módulo de Carga de lista de genes

CargarTranscription

View

Módulo cargarbase de datos

genomaBase de datos

genoma

Modulo Cargardatos de cadagen de la l ista

opt

[Cargar en Transcription view]

loop

[hasta referencias=0]

loop

[hasta referencias=0]

loop

[hasta referencias=0]

loop

[hasta exones=0]

loop

[hasta referencias=0]

loop

[hasta ARNs=0]

loop

[hasta Intrones=0]

Cargar datos del gen extraido()

Cargar datos del gen enTranscription view()

Cargar vector Principal de gene()

Cargar vectror LOG()

Cargar vector GENE()

Cargar vectorBIBLIOGRAPHY_REFERENCE()

Cargar vectorREFERENCE_GENE()

Cargar vector Secuencia principal()Cargar vector ALLELE()

Cargar vectorBIBLIOGRAPHY_REFERENCE()

Cargar vectorREFERENCE_ALLELE()

Cargar vector TRANSCRIPTION_UNIT()

Cargar vector SEGMENT()

Cargar vectorBIBLIOGRAPHY_REFERENCE()

Cargar vector REFERENCE_SEGMENT()

Cargar vector ARN()Cargar vectorSPLICED_TRANSCRIPT()

Cargar vectorBIBLIOGRAPHY_REFERENCE()

Cargar vectorREFERENCE_SPLICED_TRANSCRIPT()

Cargar vector PRIMARY_TRANSCRIPT()

Cargar vector Exon()

Cargar vector ELEMENT_TRANSCRPT()

Cargar vector PRODUCES()

Cargar vector Intron()

Cargar vector ELEMENT_TRANSCRPT()

Cargar vector PRODUCES()

Desplegar informacion delgen cargadacorrectamente()

Page 90: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 4: Implementación de la solución

pág. 78

En la fase de implementación se diseñaron las clases utilizando los conocimientos de

modelado en [KIMMEL05] y de patrones de diseño en [GAMMA00]. El diagrama 11 se

muestran las relaciones físicas entre los componentes hardware y software en el sistema ETL.

Diagrama 11 Diagrama de despliegue del sistema ETL

La arquitectura de clases de la implementación fue desarrollada utilizando principalmente

los siguientes patrones de diseño:

• Composite (compuesto): Combina objetos de estructura de árbol para representar

estructuras de parte-todo. Permite que los clientes traten de manera uniforme a los objetos

individuales y a los compuestos.

• Strategy (estrategia): Define una familia de algoritmos, encapsula cada uno de ellos y los

hace intercambiables, permite que un algoritmo varíe independientemente de los clientes

que lo usan.

Al utilizar estos patrones de diseño se busca que esta implementación sea fácilmente

matenible, extensible y además da muchas posibilidades para la variación de los métodos de

extracción-transformación y los métodos de carga. En el diagrama 12se muestra la arquitectura

del módulo administrar lista de genes (CListManager). En el diagrama 13 se muestra la

arquitectura del módulo de extracción (AStrgyExtrac)-transformación (AStrgyTransform). En el

diagrama 14 se muestra la arquitectura del módulo cargar datos a la base de datos

(AStrgyLoadToDatabase).

deployment DD

PC Usuario Serv idor de Base de Datos

NCBI

«interface»Interface SOAP Entrez Utilities

EFetchGene EFetchSeq

EfetchPubmed

«datastore»genoma

Sistema ETL

Carga de datos

Extraccion de datos

EUtils

Transformacion de datos

Usuario

Administrar Lista

Lista de genes

«VPN»

«access»

«HTTP»

Conección Oracle

«SOAP»

Page 91: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 4: Implementación de la solución

pág. 79

Diagrama 12 Arquitectura de clases del módulo adminsitrar lista de genes

Diagrama 13 Arquitectura de clases del módulo de extracción-transformación

class DC 1

CListManager

+ NewList() : void+ OpenList() : void+ SaveList() : void+ AddElement() : void+ DeleteElement() : void

AElementList

+ GetElement() : void+ GetError() : void

CNCBIElementTranscriptionView

- ServerName: String- UID: String- Password: String

+ GetElement() : void+ GetGeneID() : void+ SearchLOG() : void+ GetServerData() : void+ SetServerData() : void

COtherElemenOtherView

+ GetElement() : void

class DC 2

AStrgyExtrac

+ Execute() : void+ GetError() : void

ANCBITranscriotionView

+ Execute() : void

CEntezUtilitiesTranscriptionView

+ Execute() : void+ ExtractEFechtGeneVector() : void+ ExtractEFechtPubmedVector() : void+ ExtractEFechtSeqVector() : void

AStrgyTransform

+ Execute() : void+ GetError() : void

ATransformNCBIToTranscriptionView

+ Execute() : void

CEntrezUtilitiesToTranscriptionView

+ Execute() : void+ TransformEFGeneToPGene() : void+ TransformEFSeqToAllele() : void+ TransformEFSeqToSegment() : void+ TransformEFSeqToARN() : void+ TransformEFSeqToExonsAndIntrons() : void+ TransformEFPubmedToReferenceGene() : void+ TransformEFPubmedToReferenceAllele() : void+ TransformEFPubmedToReferenceSegment() : void+ TransformEFPubmedToReferenceARN() : void

Page 92: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 4: Implementación de la solución

pág. 80

Diagrama 14 Arquitectura de clases del módulo de carga

class DC 3

AStrgyLoadToDatabase

+ Execute() : void+ GetError() : void

ALoadTranscriptionView

+ Execute() : void

CLoadTranscriptionView

- IntermediateStructureXMLPath: String- ServerName: String- UID: String- Password: String

+ Execute() : void+ InitialLoad() : void+ LoadLOG() : void+ LoadGENE() : void+ LoadALLELE() : void+ LoadSEGMENT() : void+ LoadSPLICED_TRANSCRIPT() : void+ LoadELEMENTS_TRANSCRIPT() : void+ UpdateLOG() : void+ SetServerData() : void+ GetServerData() : void

ALoadGeneMutationView

+ Execute() : void

CLoadGeneMutationView

+ Execute() : void

CLoadGenomaDatabase

- ServerName: String- UID: String- Password: String

+ Execute() : void+ SearchLOG() : void+ SearchGENE() : void+ SearchALLELE() : void+ SearchSEGMENT() : void+ SearchTRANSCRIPTION_UNIT() : void+ SearchSPLICED_TRANSCRIPT() : void+ SearchELEMENT_TRANSCRIPT() : void+ SearchPRIMARY_TRANSCRIPT() : void+ LoadLOG() : void+ LoadALLELE() : void+ LoadSEGMENT() : void+ LoadGENE() : void+ LoadSPLICED_TRANSCRIPT() : void+ LoadTRANSCRIPTION_UNIT() : void+ LoadPRIMARY_TRANSCRIPT() : void+ LoadELEMENT_TRANSCRIPT() : void+ LoadPRODUCES() : void+ LoadBIBLIOGRAPHY_REFERENCE() : void+ LoadREFERENCE_ALLELE() : void+ LoadREFERENCE_SEGMENT() : void+ LoadREFERENCE_SPLICED_TRANSCRIPT() : void+ LoadREFERENCE_GENE() : void+ GetServerData() : void+ SetServerData() : void

Page 93: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 4: Implementación de la solución

pág. 81

4.2 Descripción de la interfaz al usuario

Para acceder a la implementación de cada uno de los módulos se realizó la interface que se

observa en la figura 11, donde el botón Configurar conexión permite el acceso a la interface para

configurar la conexión, el botón Administrar lista de genes permite a la interface para acceder a

las funcionalidades del módulo CListManager y finalmente el botón Cargar datos que permite el

acceso a la ejecución del módulo de carga automática de datos (AStrgyEtrac y

AStrgyLoadToDatabase).

Además se cuenta con una terminal de salida la cual informa brevemente sobre la

información de los genes que han sido cargados en la base de datos la cual cuenta con el botón

Limpiar para dejar la terminal en blanco. También cuenta con una barra de tareas la cual informa

al usuario sobre el porcentaje de carga del gen que se está cargando.

Figura 11 Interface principal

En la figura 12 se muestra la interface de configuración para realizar la conexión con la

base de datos genoma, donde el usuario los parámetros de Servidor, Usuario y Contraseña.

Page 94: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 4: Implementación de la solución

pág. 82

Figura 12 Interface para configurar la conexión con la base de datos

En la figura 13 se muestra la interface para administrar la lista de genes. En esta interface

se tiene el botón Nueva para crear una nueva lista en blanco, también permite mediante el botón

Abrir una nueva lista de genes, guardada previamente; la lista puede ser abierta o agregada a la

existente. Una vez generada, la lista puede ser guardada mediante el botón Guardar como, o

también mediante el botón Aceptar dejando la lista por default. El botón Cerrar se utiliza para

cerrar la interface sin guardar cambios.

Figura 13 Interface para la administración de la lista de genes

En el anexo E se muestra como ejemplo la carga del gen NF1 utilizando las interfaces al

usuario.

Page 95: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

pág. 83

Capítulo 5: Plan experimental

Para realizar el plan experimental se diseño un plan de puebas siguiendo el estándar 829 de la

IEEE [IEEE829]. Dicho plan se titula ETLNCBIGD y se encuentra en el anexo B.

En este capítulo se describen y analizan los resultados obtenidos de caca caso de prueba

descrito del plan de pruebas ETLNCBIGD. El capítulo se encuentra organizado en los siguientes

subtemas:

5.1 Resultados de la ejecución del plan experimental.

5.2 Análisis de resultados.

Page 96: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 5: Plan experimental

pág. 84

5.1 Resultados de la ejecución del plan experimental

El plan de pruebas se titula ETLNCBIGD y se encuentra en el anexo B. Se realizó siguiendo el

estándar 829 de la IEEE [IEEE829].En esta sección se muestran los resultados obtenidos en cada

caso de prueba realizado.

Descripción del identificador:

ETL: Extract, Transform, and Load

NCBI: National Center for Biotechnology Information.

GD: Genoma Database

La siguiente lista define las características probadas:

� Conexión con el servidor de la base de datos genoma. Se verificó el correcto funcionamiento del módulo que configura la conexión con el servidor mediante la inserción de datos de conexión validos e inválidos.

� Generación de la lista de genes: Se verificó la generación de una lista de genes con su respectivo identificador en el NCBI identificándolos a través de la aplicación Web Entrez del NCBI estableciendo que los datos extraídos fueron correctos.

� Carga de los datos: se verificó la carga de datos correcta en la base de datos mediante SQLDeveloper y se validaron los valores mediante la consulta manual en la base de datos de Entrez Gene, estableciendo que los datos se cargaron correctamente.

Cada miembro del grupo tiene acceso a una versión propia de la base de datos genoma.

Se utilizaron los datos del autor de esta tesis para realizar las pruebas de conexión y en general

establecer la conexión con la base de datos.

Conforme al diseño de la herramienta solo se requiere del servicio Web EUtils en el

módulo administrar lista de genes, para obtener el identificador del gen en el NCBI y para

realizar la carga los servicios web de eFetchGene, eFetchSeq y eFetchPubmed.

Para validar que los índices de los elementos de la lista son correctos, se mostrará la

captura de pantalla de una búsqueda de los elementos en la base de datos Gene.

Las tablas correspondientes a la vista transcripción son: GEN,

BIBLIOGRAPHY_REFERENCE, BIBLIOGRAPHY_DATABANK, REFERENCE_GENE,

Page 97: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 5: Plan experimental

pág. 85

ALLELE, REFERENCE_ALLELE, TRANSCRIPTION_UNIT, SEGMENT,

REFERENCE_SEGMENT, SPLICED_TRANSCRIPT, REFERENCE_SPLICED_TRANSCRIPT.

Para comprobar la carga correcta de un gen se mostrará una captura de la tabla principal GENE.

Para verificar los datos cargados en la fuente se mostrará una captura de pantalla de una

búsqueda de los genes en la base de datos Gene.

En el caso de prueba ETLNCBIGD-301-001 se mostrará la relación entre los datos

cargados y los de la fuente, debido a que se trata de la carga de un solo gen.

CASO DE PRUEBA (1)

ETLNCBIGD-101-001 Probar conexión con la base de datos genoma utilizando datos inválidos.

DESCRIPCIÓN: Verificar que los datos inválidos no permiten establecer una conexión con el servidor de

la base de datos genoma. La prueba se efectuó en un entorno con un equipo de cómputo (PC) con

conexión a Internet y una conexión VPN a la UPV.

RESULTADO:

La aplicación mostró un mensaje en pantalla que indicaba el error generado debido a los datos inválidos

(figura 14).

Figura 14 Error de conexión con la base de datos genoma

OBSERVACIONES:

La aplicación tardó aproximadamente 2 segundos en mostrar el mensaje de error.

Page 98: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 5: Plan experimental

pág. 86

CASO DE PRUEBA (2)

ETLNCBIGD-101-002 Probar conexión con la base de datos genoma utilizando datos validos.

DESCRIPCIÓN: Verificar que los datos validos permiten establecer una conexión con el servidor de la

base de datos genoma. La prueba se efectuó en un entorno con un equipo de cómputo (PC) con conexión

a Internet y una conexión VPN a la UPV.

RESULTADO:

La aplicación mostró un mensaje en pantalla que indique que la prueba de conexión es correcta debido al

uso de datos validos (figura 15).

Figura 15 Prueba de conexión correcta con la base de datos genoma

OBSERVACIONES:

La aplicación tardó aproximadamente 1 segundo en mostrar el mensaje.

Page 99: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 5: Plan experimental

pág. 87

CASO DE PRUEBA (3)

ETLNCBIGD-201-001 Agregar un nuevo elemento valido a la lista de genes.

DESCRIPCIÓN: Verificar que se agrega un elemento validó a la lista de genes y su correspondiente

identificador en el NCBI). La prueba se efectuará en un entorno con un equipo de cómputo (PC) con

conexión a Internet, una conexión VPN a la UPV y el servicio Web de EUtils.

RESULTADO:

La lista de genes ahora muestra un nuevo elemento (figura 16 y 17).

Figura 16 Mensaje de obtención del identificador del NCBI

Figura 17 Lista con un elemento

OBSERVACIONES:

La aplicación tardó aproximadamente 2 segundos en agregar el elemento a la lista.

Page 100: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 5: Plan experimental

pág. 88

CASO DE PRUEBA (4)

ETLNCBIGD-201-002 Agregar un nuevo elemento inválido a la lista de genes.

DESCRIPCIÓN: Verificar que no se agrega un elemento inválido a la lista de genes. La prueba se

efectuará en un entorno con un equipo de cómputo (PC) con conexión a Internet, una conexión VPN a la

UPV y el servicio Web de EUtils.

RESULTADO:

La lista de genes no muestra un nuevo elemento (figura 18).

Figura 18 Agregando un elemento invalido a la lista de genes

OBSERVACIONES:

La aplicación tardó aproximadamente 2 segundos en mostrar el mensaje de error.

CASO DE PRUEBA (5)

ETLNCBIGD-201-003 Eliminar un elemento de la lista de genes.

DESCRIPCIÓN: Verificar que se elimina un elemento de la lista de genes. La prueba se efectuará en un

entorno con un equipo de cómputo (PC) con conexión a Internet, una conexión VPN a la UPV y el

servicio Web de EUtils.

RESULTADO:

La lista de genes ahora no muestra el elemento eliminado (figura 19).

Figura 19 Elemento eliminado de la lista de genes

Page 101: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 5: Plan experimental

pág. 89

OBSERVACIONES:

La aplicación tardó aproximadamente 1 segundos en mostrar la lista.

CASO DE PRUEBA (6)

ETLNCBIGD-201-004 Generar una lista de 10 elementos.

DESCRIPCIÓN: Verificar que se agregan 10 elementos valido a la lista de genes y su correspondiente

identificador en el NCBI y observar su tiempo de carga. La prueba se efectuó en un entorno con un equipo

de cómputo (PC) con conexión a Internet y una conexión VPN a la UPV y el servicio Web de EUtils.

RESULTADO:

La lista de genes muestra los 10 elementos que la conforman (figura 20).

Figura 20 Lista generada con 10 genes

Para comprobar los índices de los genes, estos se buscaron a través del motor de búsqueda de Entrez en el

NCBI. Se aplicaron límites de especie y genes conocidos, también se utilizó el siguiente filtro44 : Homo

Sapiens[Organism] AND NR1I3[Gene Name] OR CD46[Gene Name] OR ST3GAL3[Gene Name] OR

PTGER3[Gene Name] OR ENSA[Gene Name] OR MRPL55[Gene Name] OR MUC1[Gene Name] OR

OSBPL9[Gene Name] OR MUTYH[Gene Name] OR ADAM15[Gene Name], dando como resultado 10

44 Entrez permite a los usuarios el uso de límites y filtros para realizar búsquedas avanzadas y obtener mejores resultados (http://www.ncbi.nlm.nih.gov/bookshelf/br.fcgi?book=helpentrez&part=EntrezHelp )

Page 102: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 5: Plan experimental

pág. 90

genes encontrados (figura 21).

Figura 21 Comprobación de los 10 genes insertados mediante Entrez NCBI

OBSERVACIONES:

La aplicación tardó aproximadamente 30 segundos en generar la lista.

CASO DE PRUEBA (7)

ETLNCBIGD-201-005 Generar una lista de 20 elementos.

DESCRIPCIÓN: Verificar que se agregan 20 elementos validos a la lista de genes y su correspondiente

identificador en el NCBI y observar su tiempo de carga. La prueba se efectuó en un entorno con un equipo

de cómputo (PC) con conexión a Internet y una conexión VPN a la UPV y el servicio Web de EUtils.

RESULTADO:

La lista de genes muestra los 20 elementos que la conforman, los diez anteriores más otros diez, en la

figura 22 se muestra el último de los genes agregados (ADAM15) más otros 10 nuevos genes agregados a

la lista.

Page 103: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 5: Plan experimental

pág. 91

Figura 22 Lista generada con 20 genes

Para comprobar los índices de los genes se buscaron en a través del motor de búsqueda de Entrez en el

NCBI Se aplicaron límites de especie y genes conocidos, también se utilizó el siguiente filtro: Homo

Sapiens[Organism] AND NR1I3[Gene Name] OR CD46[Gene Name] OR ST3GAL3[Gene Name] OR

PTGER3[Gene Name] OR ENSA[Gene Name] OR MRPL55[Gene Name] OR MUC1[Gene Name] OR

OSBPL9[Gene Name] OR MUTYH[Gene Name] OR ADAM15[Gene Name] OR TNFRSF25 [Gene

Name] OR CDC2L1 [Gene Name] OR CD1E [Gene Name] OR MIER1 [Gene Name] OR AGL [Gene

Name] OR TPM3 [Gene Name] OR PLEKHG5 [Gene Name] OR FCGR3A [Gene Name] OR ESRRG

[Gene Name] OR ELAVL4 [Gene Name] ,dando como resultado 20 genes encontrados (figura 23)

Figura 23 Comprobación de los 20 genes insertados mediante Entrez NCBI

Page 104: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 5: Plan experimental

pág. 92

OBSERVACIONES:

La aplicación tardó aproximadamente 1 minuto en generar la lista.

CASO DE PRUEBA (8)

ETLNCBIGD-301-001 Cargar una lista de un elemento.

DESCRIPCIÓN: Validar el proceso automático de carga de los datos en la base de datos genoma

mediante la comparación de los resultados del proceso de extracción, transformación y carga de los datos

con los de la fuente correspondiente. La prueba se efectuará en un entorno con un equipo de cómputo

(PC) con conexión a Internet, una conexión VPN a la UPV y los servicios web de eFetchGene, eFetchSeq

y eFetchPubmed.

RESULTADO:

La carga correcta de los datos correspondientes al gen en la vista Transcription de la base de datos

genoma (figura 24).

Figura 24 Carga del gen NF1

Page 105: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 5: Plan experimental

pág. 93

OBSERVACIONES:

La aplicación tardó aproximadamente 1 minutos en cargar el gen.

CASO DE PRUEBA (9)

ETLNCBIGD-301-002 Cargar una lista de 10 elementos.

DESCRIPCIÓN: Validar el proceso automático de carga de los datos correspondientes a 10 genes en la

base de datos genoma mediante la comparación de los datos cargados con los de la fuente

correspondiente. Y observar el tiempo de carga. La prueba se efectuará en un entorno con un equipo de

cómputo (PC) con conexión a Internet, una conexión VPN a la UPV y los servicios web de eFetchGene,

eFetchSeq y eFetchPubmed.

RESULTADO:

La carga correcta de los datos correspondientes al gen en la vista Transcription de la base de datos

genoma (figura 25 y 26).

Figura 25 Cargando 10 genes en la base de datos genoma

Page 106: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 5: Plan experimental

pág. 94

Figura 26 Comprobación de la inserción de 10 genes en la base de datos genoma

OBSERVACIONES:

La aplicación tardó aproximadamente 6 minutos en cargar la lista.

CASO DE PRUEBA (10)

ETLNCBIGD-301-003 Cargar una lista de 20 elementos.

DESCRIPCIÓN: Validar el proceso automático de carga de los datos correspondientes a 20 genes en la

base de datos genoma mediante la comparación de los datos cargados con los de la fuente correspondiente

y observar el tiempo de carga. La prueba se efectuará en un entorno con un equipo de cómputo (PC) con

conexión a Internet, una conexión VPN a la UPV y los servicios web de eFetchGene, eFetchSeq y

eFetchPubmed.

RESULTADO:

La carga correcta de los datos correspondientes al gen en la vista Transcription de la base de datos

genoma y el tiempo de ejecución (figura 27 y 28).

Page 107: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 5: Plan experimental

pág. 95

Figura 27 Cargando 20 genes en la base de datos genoma

Figura 28 Comprobación de la inserción de 20 genes en la base de datos genoma

OBSERVACIONES:

La aplicación tardó aproximadamente 10 minutos en cargar la lista.

Page 108: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 5: Plan experimental

pág. 96

5.2 Análisis de resultados

Los resultados de las pruebas de conexión con el servidor de la base de datos genoma y las

pruebas de generación de la lista de genes, las cuales fueron realizadas principalmente para

demostrar la funcionalidad de la aplicación, realizadas de acuerdo con el plan de pruebas

(Anexo B). Las pruebas mencionadas anteriormente son previas a inicializar el proceso de carga

automático y los resultados fueron satisfactorios.

Las pruebas correspondientes a la carga de los datos, fueron realizadas satisfactoriamente.

Uno de los factores importantes realizados en las pruebas fue el tiempo de carga de la lista de

genes, para observar en una forma más amplia el desempeño de las pruebas de carga se

realizaron dichas pruebas 5 veces cambiando el factor de ancho de banda, para observar el

desempeño de las mismas. Dichas pruebas se muestran en la tabla 10.

Tabla 10 Resultados de las pruebas de carga de datos

Número de genes a

cargar

Tiempo promedio de

carga con un ancho de

banda de 512 Kbps

Tiempo promedio de

carga con un ancho de

banda de 1 Mbps

Tiempo promedio de

carga con un ancho de

banda de 2 Mbps

1 1.9 1.5 1.1

10 10.2 8.3 6.3

20 18.8 15.2 11.1

Con este análisis podemos concluir que es recomendable contar con un ancho de banda

superior a 1 Mbps para obtener mejores resultados y que con forme se aumente el ancho de

banda el tiempo de carga es menor.

Page 109: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Figura

Si observamos la gráfica

el cual, el aumento del ancho de banda no representar

la carga, por lo que se propone para t

transformación y de carga.

Arquitecturas propuestas

La integración de bases de datos distribuidas es un campo de enorme relevancia debido a la

importancia de almacenar y compartir datos en la comunidad científica. Particularmente en el

área de la biología molecular, se está pasando por una etapa de explosión en

desarrollo de herramientas que permitan analizar muy grandes cantidades de información.

este trabajo se propone una metodología para la generación de un prototipo de carga para la base

de datos genoma. Esta metodología utiliza técnicas de

base de datos genoma.

Dada la característica evolutiva de dicha

desarrollo de este trabajo de investigación

integral a la base de datos genoma

módulos de carga y aprovechando la experiencia adquirida para el desarrollo de nuevos módulos.

Capítulo 5: Plan

pág. 97

Figura 29 Análisis de las pruebas de carga de datos

fica de la figura 29, podemos observar que se llegar

del ancho de banda no representará un aumento significa

lo que se propone para trabajos futuros optimizar los métodos de extracción,

como resultado del trabajo de investigación

La integración de bases de datos distribuidas es un campo de enorme relevancia debido a la

almacenar y compartir datos en la comunidad científica. Particularmente en el

área de la biología molecular, se está pasando por una etapa de explosión en

desarrollo de herramientas que permitan analizar muy grandes cantidades de información.

este trabajo se propone una metodología para la generación de un prototipo de carga para la base

. Esta metodología utiliza técnicas de ETL adaptadas a las necesidades de la

Dada la característica evolutiva de dicha base de datos y el límite

desarrollo de este trabajo de investigación, se proponen una arquitectura dinámica que de soporte

genoma, utilizando nuestra metodología para el diseño de nuevos

ovechando la experiencia adquirida para el desarrollo de nuevos módulos.

Capítulo 5: Plan experimental

podemos observar que se llegará a un punto en

un aumento significativo en el tiempo de

rabajos futuros optimizar los métodos de extracción,

como resultado del trabajo de investigación

La integración de bases de datos distribuidas es un campo de enorme relevancia debido a la

almacenar y compartir datos en la comunidad científica. Particularmente en el

área de la biología molecular, se está pasando por una etapa de explosión en I+D para el

desarrollo de herramientas que permitan analizar muy grandes cantidades de información. En

este trabajo se propone una metodología para la generación de un prototipo de carga para la base

adaptadas a las necesidades de la

límite de tiempo para el

una arquitectura dinámica que de soporte

, utilizando nuestra metodología para el diseño de nuevos

ovechando la experiencia adquirida para el desarrollo de nuevos módulos.

Page 110: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 5: Plan experimental

pág. 98

A demás de otra arquitectura para consultas en lenguaje natural (LN) sobre la literatura contenida

en la base de datos genoma. Ambas arquitecturas se describen a continuación.

Arquitectura ETL para la base de datos genoma

La arquitectura dinámica para el soporte de carga que se muestra en el diagrama 15, se presenta

mediante un diagrama de actividad, en donde cada actividad corresponde a un módulo con

actividades propias que en conjunto forman la arquitectura. A continuación se describe cada uno

de los módulos de la arquitectura:

• Source Extract Engine: se encarga de extraer los datos de las bases de datos y da como

resultado un archivo XML, que contiene un conjunto o subconjunto de los datos

contenidos en la fuente relacionados con un subconjunto de la base de datos genoma. Los

subconjuntos pueden ser tablas, vistas o cualquier parte a la que corresponden los datos

extraídos. Para desarrollar este módulo se puede tomar como referencia el módulo de

extracción-transformación desarrollado con nuestra metodología.

• Update Trigger Engine: se encarga de ejecutar automáticamente el módulo Source

Extract Engine cuando detecte alguna actualización en las bases de datos de las fuentes,

por lo que debe contar con un sistema de monitoreo que active las actualizaciones,

además de llevar el control de las mismas.

• XSLT Generation Engine: se encarga de generar un archivo XSLT para realizar la

transformación del modelo de datos entregado por el módulo Source Extract Engine a su

parte correspondiente del modelo de datos de la base de datos genoma. Para generar el

archivo XSLT primero se deben procesar los XSD o DTD de ambos (fuente y destino),

para generar el archivo de transformación correspondiente. Será capaz de enviar una

notificación al módulo XML Transformation Engine para especificar los archivos que se

utilizan para cierta transformación.

• XSD Reference Generate Engine: genera un archivo XSD o DTD donde se especifique el

modelo del subconjunto de la base de datos que corresponde a cada uno de los archivos

XML obtenidos del módulo Source Extract Engine. El subconjunto puede ser desde una

Page 111: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 5: Plan experimental

pág. 99

tabla, una vista de la base de datos o cierta parte que se requiera cargar de la base de

datos genoma.

• XML Transformation Engine: se encarga de realizar la transformación de los datos

contenidos en el archivo XML entregado por el módulo Source Extract Engine, mediante

el archivo XSLT generado en el módulo XSLT Generation Engine, dando como resultado

un archivo XML que contiene los datos necesarios para cargar en la base de datos

genoma.

• Genome Load Engine: se encarga de cargar el archivo XML generado por el módulo XML

Transformation Engine en la base de datos genoma. De acuerdo con el diseño de

ETL[KIMBALL04] es recomendable especificar un lenguaje que ayude a cargar de

manera eficiente los datos. Si se declara el lenguaje, este debe ser tomado en cuenta a la

hora de generar el XSD o DTD, en donde especifica el modelo de datos a cargar o a la

hora de generar el XSLT. Para el desarrollo de este módulo se puede tomar como

referencia el módulo de carga desarrollado con nuestra metodología.

Page 112: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 5: Plan experimental

pág. 100

Diagrama 15 Arquitectura ETL para la base de datos genoma

Arquitectura para consultas en lenguaje natural sobre la literatura contenida en la

base de datos genoma

Actualmente una de las necesidades que tienen los científicos durante sus investigaciones (en la

biología molecular ó genética) es la disposición de la información, especialmente al buscar entre

miles de artículos relacionados con un tema específico. Debido a esta necesidad se propone

como trabajo futuro una arquitectura para agregar las funcionalidades de búsqueda en los textos

literario, mediante técnicas utilizadas para el tratamiento del Lenguaje Natural (LN), que existen

actualmente, como búsquedas por sinónimos, palabras cercanas, variantes, etc.

En el diagrama 16 se presenta mediante un diagrama de actividad la arquitectura para

consultas sobre la literatura contenida en la base de datos genoma, donde cada actividad equivale

act Arquitectura ETL para genoma

Sou

rce

s

Source ExtractEngine

Update TriggerEngine

XML Source XML Reference

XSLT Source-Reference

XSLT GenerationEngine

XML TransformationEngine

Genome LoadEngine

«datastore»NCBI

«datastore»HGMD

«datastore»MutDB

«datastore»Other´s

XSD ReferenceGenerate Engine

«datastore»DB Genome

User DB administrator

1

1

2

XSD Reference

2

Page 113: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 5: Plan experimental

pág. 101

a un módulo esencial dentro de la arquitectura. A continuación se describe cada uno de los

módulos de la arquitectura:

• Ontology Engine: realiza un procesamiento del resumen de cada artículo contenido en la

base de datos genoma para generar una ontología con metadatos que permitan realizar

búsquedas utilizando técnicas de la web semántica. Cada una ontología generada es

almacenada en un repositorio de ontologías.

• SPARQL Query Engine: transforma una consulta realizada por el usuario sobre la

literatura de la base de datos, con la ayuda del Stanford Parser, a una consulta en el

lenguaje SPARQL para poder ejecutarla sobre el repositorio de ontologías y obtener los

artículos que contienen esa información.

• The Stanford Parser: ayuda al módulo SPARQL Query Engine en el procesamiento de la

consulta introducida por el usuario. Cabe mencionar que puede usarse otro parser si es

requerido.

Page 114: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 5: Plan experimental

pág. 102

Diagrama 16 Arquitectura para consultas en lenguaje natural sobre la literatura contenida en la

base de datos genoma

En el diagrama 17 podemos observar cómo interactúan ambas arquitecturas con la base

de datos genoma. Estas arquitecturas son el resultado de la colaboración entre el Departamento

de Sistemas Distribuidos (DSD) del Centro Nacional de Investigación y Desarrollo Tecnológico

(CENIDET) y el del Centro de Investigación en Métodos de Producción Software (PROS) de la

Universidad Politécnica de Valencia (UPV).

act Arquitectura LN para genoma

«datastore»DB Genome

OntologyEngine

SPARQL QueryEngine

«datastore»Ontology

Repository

User literature query

The StanfordParser

Page 115: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 5: Plan experimental

pág. 103

Diagrama 17 Vista de las arquitecturas de carga y consultas literarias

act Arquitecturas para genoma

Sou

rce

s

Source ExtractEngine

Update TriggerEngine

XML Source XML Reference

XSLT Source-Reference

XSLT GenerationEngine

XML TransformationEngine

Genome LoadEngine

«datastore»NCBI

«datastore»HGMD

«datastore»MutDB

«datastore»Other´s

XSD ReferenceGenerate Engine

«datastore»DB Genome

OntologyEngine

SPARQL QueryEngine

«datastore»Ontology

Repository

User DB administrator

User literature query

1

1

2

XSD Reference

The StanfordParser

2

Page 116: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

pág. 104

Capítulo 6: Conclusiones y trabajos futuros

En este capítulo se describen las conclusiones de este trabajo, así como las aportaciones y

trabajos futuros. El capítulo se encuentra organizado en los siguientes subtemas:

6.1 Conclusiones.

6.2 Aportaciones.

6.3 Trabajos futuros.

Page 117: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 6: Conclusiones y trabajos futuros

pág. 105

6.1 Conclusiones

El trabajo realizado formó parte de un amplio proyecto multidisciplinario para el estudio del

genoma humano que actualmente lleva a cabo el grupo de Modelado Conceptual del Genoma

Humano del Centro de Investigación ProS en la Universidad Politécnica de Valencia, España.

Este grupo busca implementar, a partir de técnicas de modelado conceptual y de métodos

avanzados de ingeniería de software orientados a la calidad, el diseño y desarrollo de sistemas de

información en el dominio de la genética.

Un elemento fundamental de este proyecto es el desarrollo de una base de datos

denominada genoma la cual se constituye en un repositorio unificado que recupera información

desde diversas bases de datos heterogéneas con datos e información del genoma.

En este trabajo de tesis se desarrolló una metodología, que incluye una herramienta para

la carga y actualización de registros o vistas de las bases de datos fuentes para extraer sólo los

datos correspondientes al esquema conceptual de la base de datos genoma, la cual abre la

posibilidad de extender o generar nuevos módulos de carga que se puedan requerir en el futuro.

A partir de los casos de prueba descritos en el capítulo 5, se desmostró la viabilidad de esta

metodología, proveyendo a la base de datos genoma con un primer soporte de carga para la vista

Transcription.

Para la integración de los datos requeridos por la base de datos genoma, se aplicaron

técnicas de ETL, las cuales son empleadas para el diseño de aplicaciones Data Warehouse, donde

la mayor complejidad se presenta cuando es requerida la extracción de datos a partir de fuentes

heterogéneas. En nuestro caso, aunado a esta complejidad, y dado que el acceso a las bases de

datos del NCBI es través de servicios Web, fue necesario desarrollar técnicas específicas para

recuperar las vistas y procesarlas para extraer los datos requeridos, antes de realizar la carga.

Se propone como trabajo futuro una arquitectura dinámica, que permita adaptarse a

nuevos cambios evolutivos en la estructura de la base de datos genoma, mediante la

reconfiguración de los esquemas de transformación y carga que se encuentran basados en XML.

Además de otra arquitectura para el soporte de consultas utilizando tencicas para el tratamiento

Page 118: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 6: Conclusiones y trabajos futuros

pág. 106

del lenguaje natural sobre la literatura contenida en la base de datos, con el objetivo de facilitar la

investigación a los científicos que interactúen con la base de datos genoma.

Se constituyó una plataforma de conocimientos básicos, en genómica, bioinformática y

en bases de datos en biología molecular, los cuales son totalmente nuevos en el Departamento de

Ciencias Computacionales del CENIDET, y pueden posibilitar el desarrollo de nuevos trabajos

en este campo.

6.2 Aportaciones

• Un análisis sobre la estructura y mecanismos de acceso a las bases de datos del NCBI, así

como de otros centros de investigación como el EBI y HGMD, los cuales permiten

principalmente el acceso a las bases de datos a través de servicios web.

• Un análisis sobre las bases de datos del NCBI junto con una clasificación donde se

identifican las bases de datos que contienen información relevante a la base de datos

genoma.

• Una metodología para la administración de listas de genes, la extracción-transformación

de los datos de la fuente y la carga en la base de datos genoma.

• Un Prototipo para la para la extracción de datos del NCBI a través de servicios web para

la carga de datos automática en la base de datos genoma.

• Un Análisis sobre de herramientas ETL utilizadas en el diseño de Data Warehouse, donde

se observo principalmente la característica de lenguaje de implementación y el soporte

para integrar datos provenientes de servicios web.

• Una propuesta de arquitectura dinámica para la carga de datos en la base de datos

genoma.

• Una propuesta de arquitectura para consultas en lenguaje natural sobre la literatura

contenida en la base de datos genoma.

• Se realizaron valiosas aportaciones en la elaboración del articulo “Enforcig Conceptual

Modeling to Improve the Understanding of Human Genome”, donde se cita una mención

del autor de esta tesis en la sección de agradecimientos.

Page 119: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Capítulo 6: Conclusiones y trabajos futuros

pág. 107

• Se realizaron valiosas aportaciones en la elaboración del articulo “Enforcig Conceptual

Modeling to Improve the Understanding of Human Genome”, publicado en el Data

Integration in the Life Siences WorkShop (DILS) 2009, Manchester, UK, 2009. Donde se

cita al autor de esta tesis en la sección de agradecimientos.

• El material obtenido de esta investigación permitió la redacción del artículo: “Recovery,

Processing and Loading of Genomic data From Heterogeneous Databases into a Database

Based on a Conceptual Model of the Human Genome”, J. L. Rodríguez, J. Ortiz, H.

Estrada, O. Pastor, to submit to: 2nd International Workshop on Software Engineering in

Health Care, An ICSE 2010 Workshop, Cape Town, South Africa, May 3-4 2010.

6.3 Trabajos futuros

Se propone como trabajos futuros el desarrollo de las dos arquitecturas propuestas en la

sección 5.2 Análisis de resultados del capítulo 5 Plan experimental. A continuación se

mencionan los módulos que correspondientes a dichas arquitecturas.

• Arquitectura dinámica para la carga de datos en la base de datos genoma.

o Source Extract Engine.

o Update Trigger Engine.

o XSLT Generation Engine.

o XSD Reference Generate Engine.

o XML Transformation Engine.

o Genome Load Engine.

• Arquitectura para consultas en lenguaje natural sobre la literatura contenida en la base de

datos genoma.

o Ontology Engine.

o SPARQL Query Engine.

o The Stanford Parser.

Page 120: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

pág. 108

Anexo A Escenarios de los casos de uso

En este anexo se muestran las tablas en las que se describen los escenarios para los casos de uso

mencionados en el capítulo 3.

Page 121: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Anexo A Escenarios de los casos de uso

pág. 109

Tabla 11 Escenarios para el caso de uso "Cargar lista de genes"

ID: CU 1 Nombre del Caso de Uso:

Cargar lista de genes.

Autor: Rodríguez Pliego José Luis

Última Modificación:

Rodríguez Pliego José Luis

Fecha de creación: 1-Abril-2009 Fecha de la última modificación:

17-Julio-2009

Actores: Usuario

Description: Se encarga de obtener los datos de una lista de genes y almacenarlos en la base de datos genoma.

Precondiciones: Conexión estable a Internet. Conexión estable con la base de datos genoma. Servicios web de Entrez Utilities están disponibles

Pos condiciones: Datos almacenados correctamente en la base de datos genoma.

Escenario de éxito principal:

1. El módulo cargar lista de genes recibe la solicitud del usuario de generar una lista de genes mediante el apoyo del caso de uso 1.1.

2. El módulo cargar lista de genes recibe la solicitud del usuario de iniciar la obtención de los datos de la fuente NCBI mediante el apoyo del caso de uso 1.2.

3. El módulo cargar lista de genes informa al usuario acerca del estado actual del proceso en ejecución: obteniendo datos del gen y tipo de dato (vectores).

4. El módulo cargar lista de genes inicia el proceso de carga de los datos en la base de datos genoma mediante el apoyo del caso de uso 1.3.

5. El módulo de cargar lista de genes informa al usuario acerca del estado actual del proceso en ejecución: guardando datos del gen y tipo de dato (vectores).

6. El módulo de cargar lista de genes informa al usuario acerca del estado actual del proceso en ejecución: carga finalizada.

Escenario de fracaso 1: 1. El módulo cargar lista de genes recibe la solicitud del usuario de generar una lista de genes mediante el apoyo del caso de uso 1.1.

2. El módulo de cargar lista de genes no atiende correctamente la solicitud del usuario debido a un error generado en el caso de uso 1.1.

3. El módulo de cargar lista de genes muestra al usuario el error generado por el caso de uso 1.1.

Escenario de fracas 2: 1. El módulo cargar lista de genes recibe la solicitud del usuario de obtener los datos de cada gen de la lista de la fuente NCBI mediante el apoyo del caso de uso 1.2.

2. El módulo cargar lista de genes no atiende correctamente la solicitud del usuario debido a un error generado en el caso de uso 1.2.

3. El módulo de cargar lista de genes muestra al usuario el error generado por el caso de uso 1.2.

Escenario de fracaso 3: 1. El módulo cargar lista de genes inicia proceso de carga de los datos en la

Page 122: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Anexo A Escenarios de los casos de uso

pág. 110

base de datos genoma mediante el apoyo del caso de uso 1.3. 2. El módulo cargar lista de genes no atiende correctamente la solicitud del

usuario debido a un error generado en el caso de uso 1.3. 3. El módulo cargar lista de genes muestra al usuario el error generado por

el caso de uso 1.3.

Prioridad: Alta.

Suposiciones: Se supone que se tiene acceso a Internet.

Tabla 12 Escenarios para el caso de uso “Administrar lista de genes”

ID: CU 1.1 Nombre del Caso de Uso:

Administrar lista de genes.

Autor: Rodríguez Pliego José Luis

Última Modificación:

Rodríguez Pliego José Luis

Fecha de creación: 1-Abril-2009 Fecha de la última modificación:

17-Julio-2009

Actores: CU 1

Descripción: Se encarga de crear y llenar una lista de genes con identificadores válidos.

Precondiciones: Conexión estable a Internet. Conexión estable con la base de datos genoma.

Poscondiciones: Lista de genes válidos con su respectivo identificador.

Escenario de éxito principal:

1. El módulo administrar lista de genes crea una lista nueva de genes. 2. El módulo administrar lista de genes llena la lista de genes con los datos

obtenidos mediante el apoyo del caso de uso 1.1.1. 3. El módulo administrar lista de genes permite al usuario guardar la lista

de genes. 4. El módulo administrar lista de genes guarda la lista de genes en un

dispositivo de almacenamiento secundario. 5. El módulo administrar lista de genes informa al usuario de que la lista de

genes ha sido guardada correctamente.

Escenario de éxito alterno 1:

1. El módulo administrar lista de genes abre una lista de genes existente. 2. El módulo administrar lista de genes permite al usuario modificar la lista

de genes con los datos obtenidos mediante el apoyo del caso de uso 1.1.1. 3. El módulo administrar lista de genes permite al usuario guardar la lista

de genes. 4. El módulo administrar lista de genes guarda la lista de genes en un

dispositivo de almacenamiento secundario. 5. El módulo administrar lista de genes informa al usuario que la lista de

genes ha sido guardada correctamente.

Escenario de fracaso 1:

1. El módulo administrar lista de genes crea una lista nueva de genes. 2. El módulo administrar lista de genes no puede llenar la lista de genes con

los datos obtenidos mediante el apoyo del caso de uso 1.1.1.

Page 123: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Anexo A Escenarios de los casos de uso

pág. 111

3. El módulo administrar lista de genes informa al usuario que la lista no puede ser llenada.

Escenario de fracaso 2:

1. El módulo administrar lista de genes no puede abrir una lista de genes existente.

2. El módulo administrar lista de genes informa al usuario que la lista de genes ha sido no puede se puede abrir.

Escenario de fracaso 3:

1. El módulo administrar lista de genes crea o abre una lista de genes. 2. El módulo administrar lista de genes permite al usuario llenar o

modificar la lista de genes con los datos obtenidos mediante el apoyo del caso de uso 1.1.1.

3. El módulo administrar lista de genes permite al usuario guardar la lista de genes.

4. El módulo administrar lista de genes no puede guardar la lista de genes en un dispositivo de almacenamiento.

5. El módulo administrar lista de genes informa al usuario que la lista de genes no se puedo guardar.

Prioridad: Alta.

Suposiciones: Se supone que hay memoria suficiente en la PC cliente. Se supone que hay una lista de genes existente en la PC cliente.

Tabla 13 Escenarios para el caso de uso “Obtener identificador del gen en el NCBI para la vista

Transcription”

ID: CU 1.1.1 Nombre del Caso de Uso:

Obtener identificador del gen en el NCBI para Transcription View.

Autor: Rodríguez Pliego José Luis

Última Modificación:

Rodríguez Pliego José Luis

Fecha de creación: 05-Junio-2009 Fecha de la última modificación:

17-Julio-2009

Actores: CU 1.1 Servicio Web EUtils de la interface SOAP para Entrez Utilities Base de datos genoma

Descripción: Se encarga de obtener y validar cada elemento de la lista de genes.

Precondiciones: Conexión estable a Internet. Interface SOAP para Entrez Utilities disponible. Acceso a la base de datos genoma disponible.

Poscondiciones: Se obtiene el identificador del gen valido de la fuente NCBI.

Escenario de éxito principal:

1. El módulo obtener identificador del gen en el NCBI para Transcription View extrae el identificador del gen mediante el servicio Web Eutils de la interface SOAP para Entrez Utilities.

2. Si extrae el identificador del gen, el módulo obtener identificador del gen en el NCBI para Transcription View verifica los datos del gen obtenido

Page 124: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Anexo A Escenarios de los casos de uso

pág. 112

en la tabla LOG de la base de datos genoma. 3. El módulo obtener identificador del gen en el NCBI para Transcription

View devuelve un elemento validado al caso de uso 1.1.

Escenario de fracaso 1:

1. El módulo obtener identificador del gen en el NCBI para Transcription View solicita datos de un gen al servicio Eutils de la interface SOAP para Entrez Utilities.

2. El módulo obtener identificador del gen en el NCBI para Transcription View no recibe respuesta del servicio servicio Eutils de la interface SOAP para Entrez Utilities.

3. El módulo obtener identificador del gen en el NCBI para Transcription View informa al usuario que el servicio no está disponible.

Escenario de fracaso 2:

1. El módulo obtener identificador del gen en el NCBI para Transcription View solicita datos de un gen al servicio Eutils de la interface SOAP para Entrez Utilities.

2. El módulo obtener identificador del gen en el NCBI para Transcription View no puede verificar que los datos del gen obtenido no se encuentren en la base de datos genoma.

3. El módulo obtener identificador del gen en el NCBI para Transcription View informa al usuario que la base de datos genoma no está disponible.

Prioridad: Alta.

Suposiciones: Se supone que se tiene acceso a la base de datos genoma. Se supone que el servicio Web de Eutils está disponible.

Tabla 14 Escenarios del caso de uso “Obtener datos de cada gen de la lista de la fuente NCBI”

ID: CU 1.2

Nombre del Caso de

Uso:

Obtener datos de cada gen de la lista de la fuente NCBI.

Autor: Rodríguez Pliego José

Luis

Última

Modificación:

Rodríguez Pliego José

Luis

Fecha de creación: 1-Abril-2009 Fecha de la última modificación:

17-Julio-2009

Actores: CU 1

Descripción: Se encarga de obtener los datos de una lista de genes y almacenarlos en la base de datos genoma.

Precondiciones: Conexión estable a Internet.

Lista de genes con identificadores

Interface SOAP para Entrez Utilities disponible.

Poscondiciones: Datos de referencia de cada gen recuperados correctamente.

Escenario de éxito

principal:

1. El módulo obtener datos de cada gen de la lista de la fuente NCBI lee los datos de referencia de cada gen de la lista.

2. El módulo obtener datos de cada gen de la lista de la fuente NCBI extrae

Page 125: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Anexo A Escenarios de los casos de uso

pág. 113

la información correspondiente de cada gen de la interface SOAP para Entrez Utilities mediante el caso de uso 1.2.1.

3. El módulo obtener datos de cada gen de la lista de la fuente NCBI transforma los datos de tipo Transcription View en los vectores principal gene, secuencia principal, ARN, exón_intron y referencia mediante el caso de uso 1.2.2.

4. El módulo obtener datos de cada gen de la lista de la fuente NCBI informa sobre la información obtenida al caso de uso 1.

Escenario de fracaso 1: 1. El módulo obtener datos de cada gen de la lista de la fuente NCBI lee los datos de referencia de cada gen de la lista.

2. El módulo obtener datos de cada gen de la lista de la fuente NCBI no puede obtener la información solicitada la Interface SOAP para Entrez Utilities mediante el caso de uso 1.2.1.

3. El módulo obtener datos de cada gen de la lista de la fuente NCBI devuelve la información del error al caso de uso 1.

Prioridad: Alta.

Suposiciones: Se supone que se tiene acceso a internet.

Se supone que los servicios web de Eutils están disponibles.

Se supone que hay memoria suficiente en la PC cliente.

Tabla 15 Escenarios para el caso de uso “Cargar datos de cada gen de la lista”

ID: CU 1.3

Nombre del Caso de

Uso:

Cargar datos de cada gen de la lista.

Autor: Rodríguez Pliego José

Luis

Última

Modificación:

Rodríguez Pliego José

Luis

Fecha de 05-Junio-2009 Fecha de la última modificación:

17-Julio-2009

Actores: CU 1

Base de datos genoma.

Descripción: Se encarga de almacenar la información referente a cada gen de la lista en la base de datos genoma.

Precondiciones: Conexión estable a Internet.

Base de datos genoma. Datos extraídos y transformados de cada gen.

Poscondiciones: Datos almacenados correctamente en la base de datos genoma.

Escenario de éxito

principal:

1. El módulo cargar datos de cada gen de la lista recibe cada vector de cada gen.

2. El módulo cargar datos de cada gen de la lista carga cada vector de cada gen en la base de datos genoma correspondiente a Transcription View (LOG, GEN, BIBLIOGRAPHY_REFERENCE, REFERENCE_GENE, ALLELE, REFERENCE_ALLELE, TRANSCRIPTION_UNIT,

Page 126: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Anexo A Escenarios de los casos de uso

pág. 114

SEGMENT, REFERENCE_SEGMENT, SPLICED_TRANSCRIPT, REFERENCE_SPLICED_TRANSCRIPT) mediante el caso de uso 1.3.1.

3. El módulo cargar datos de cada gen de la lista devuelve la confirmación de que la inserción se realizó correctamente.

Escenario de fracaso 1: 1. El módulo cargar datos de cada gen de la lista recibe cada dato de referencia de cada gen.

2. El módulo cargar datos de cada gen de la lista no puede agregar cada dato de referencia de cada gen en la base de datos Genoma.

3. El módulo cargar datos de cada gen de la lista devuelve un mensaje de error de inserción en la base de datos al caso de uso 1.

Prioridad: Alta.

Suposiciones: Se supone que se tiene acceso a la base de datos genoma.

Page 127: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

pág. 115

Anexo B Plan de pruebas ETLNCBIGD

En este anexo se describe el documento del plan de pruebas diseñado para evaluar la herramienta

desarrollada mediante la metodología propuesta, el cual se realizó siguiendo el estándar 829 de la

IEEE [IEEE829].

Page 128: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Anexo B Plan de pruebas ETLNCBIGD

pág. 116

Plan de pruebas ETLNCBIGD

Descripción del identificador:

ETL: Extract, Transform, and Load

NCBI: National Center for Biotechnology Information.

GD: Genoma Database

Introducción

Este documento define el plan de pruebas basado en el estándar IEEE 829 para pruebas de software, que permitirá verificar la funcionalidad de la ETLNCBIGD que es una herramienta para la carga automática de la vista Transcription de la bases de datos genoma mediante una lista de genes. ETLNCBIGD fue desarrollada utilizando la metodología propuesta en esta tesis.

ETLNCBIGD consiste en tres módulos principales:

1. Administrar lista de genes: Tiene como objetivo obtener una lista de genes con sus respectivos identificadores.

2. Extracción (NCBI)-Transformación (vista Transcription): Tiene como objetivo enviar en una trama los datos con la información necesaria para realizar una solicitud al servidor, así como interpretar la trama de respuesta del servidor.

3. Carga en la vista Trasncription: Tiene como objetivo cargar los datos extraídos y transformados de las bases de datos del NCBI a la base de datos genoma

La hipótesis nula a probar es la siguiente:

No se puede automatizar la carga de datos de una base de datos basada en un modelo conceptual del genoma humano, a partir de bases de datos heterogéneas.

La hipótesis alterna es:

Se puede automatizar la carga de datos de una base de datos basada en un modelo conceptual del genoma humano, a partir de bases de datos heterogéneas.

Aparte de este punto 1 de introducción, el presente documento contiene los siguientes puntos:

2. Descripción del plan 3. Casos de Prueba 4. Procedimientos de Pruebas. 5. Resultado de Pruebas

Page 129: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Anexo B Plan de pruebas ETLNCBIGD

pág. 117

2. Descripción del Plan

2.1. Características a ser probadas

El presente plan de pruebas contiene la descripción de los casos de prueba definidos con el fin de validar y verificar que la herramienta generada por la metodología propuesta cumple con los requisitos para cargas automáticas de la base de datos genoma mediante una lista de genes.

2.2. Características excluidas de las pruebas

� No se dará prioridad al diseño de interfaz de las aplicaciones que se utilicen para probar la herramienta de carga.

� Habrá casos en que falte información en la fuente, reflejándose en la base de datos. La herramienta no asegura la carga completa de todos los campos de las tablas relacionadas.

� No se probaran individualmente los módulos de extracción transformación y carga por separado, ya que estos módulos realizan actividades automáticas.

2.3. Enfoque:

Debido a que las mediciones son principalmente de funcionalidad, la herramienta se probará ejecutando las funciones permitidas al usuario. Las cuales serán solicitudes del usuario que ejecutan funcionalidades principales para realizar la carga en la base de datos.

Ya que se trata de una herramienta de carga automática las funcionalidades principales a probar son la generación de una lista de genes y la ejecución del proceso automático de carga.

2.4 Criterio pasa/ no pasa de casos de prueba.

En la descripción de los casos de prueba, se detallarán los resultados esperados para cada uno de los casos. Se considerará que una prueba ha pasado con éxito cuando los resultados esperados coincidan con los descritos en el caso de prueba.

En caso de no coincidencia, se analizarán las causas y se harán las modificaciones necesarias hasta que se cumplan con los resultados esperados.

2.5. Criterios de suspensión y requerimientos de reanudación.

En ningún caso se suspenderán definitivamente las pruebas. Cada vez que se presente que el caso no pasa una prueba, inmediatamente se procederá a evaluar y corregir el error, permaneciendo en la prueba de este caso hasta que ya no se presenten dificultades con él.

2.6. Tareas de pruebas.

Las tareas a desarrollar para preparar y aplicar las pruebas (tabla 16)

Tabla 16 Tareas a desarrollar para preparar y aplicar las pruebas

Tarea Precedente Habilidades especiales Responsabilidades 1. Preparación del plan de pruebas.

Terminación del análisis y diseño de ETLNCBIGD

Conocimiento sobre la metodología propuesta en esta tesis, la herramienta desarrollada y del IEEE Std. 829.

Autor de esta tesis

Page 130: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Anexo B Plan de pruebas ETLNCBIGD

pág. 118

2. Preparación del diseño de pruebas.

Tarea 1 Conocimiento sobre la estructura de ETLNCBIGD, sus clases y métodos la interfaz al usuario y del IEEE Std. 829.

Autor de esta tesis

3. Preparación de los casos de prueba.

Tarea 2 Conocimiento básico de genética y de la interfaz al usuario de la herramienta.

Autor de esta tesis

4. Aplicación de pruebas. Tarea 3 Conocimiento del entorno y de la interfaz al usuario para su ejecución.

Autor de esta tesis

5. Resolver los incidentes de pruebas.

Tarea 4 Conocimiento del lenguaje de programación C#, de los servicios web, de herramientas ETL, de base de datos.

Autor de esta tesis

6. Evaluación de resultados.

Tarea 4 Tarea 5

Conocimiento de las preguntas de investigación, la hipótesis de prueba, y los objetivos de esta tesis.

Autor de esta tesis

2.7. Liberación de pruebas.

La entrada especificada y la salida esperada en cada caso de prueba, serán suficientes para la comprobación del objetivo alcanzado y por lo tanto para la aceptación de las pruebas.

2.8. Requisitos ambientales.

Las características y propiedades físicas (tabla 17) y lógicas (tabla 18) requeridas para el ambiente de pruebas, son las siguientes:

Tabla 17 Requisitos de Hardware para las pruebas

Equipo Descripción PC de Escritorio Procesador Intel P4 o superior.

512M de memoria RAM o superior. 80G en Disco duro. Windows XP

Servidor Procesador Intel P4 o superior. 2GB de memoria RAM o superior. Cuota de 50G en Disco duro. Windows XP

Infraestructura de Red Banda ancha de 512 MBits o superior con acceso a Internet

Tabla 18 Requisitos de Software para las pruebas

Herramientas Interfaz SOAP para Entrez Utilities

- EUtils - eFetchGene - eFetchSeq - eFetchPubmed

Conexión VPN a la UPV Microsoft .NET Framework 3.5 SP1 Oracle 9i

Page 131: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Anexo B Plan de pruebas ETLNCBIGD

pág. 119

2.9 Responsabilidades.

Toda la responsabilidad de las pruebas recae en el autor de la tesis.

2.10 Riesgos y contingencias.

� Falta de tiempo: El tiempo es un factor importante que genera incertidumbre a la hora de aplicar las pruebas, por lo que se tomarán como mínimo 10 casos de prueba, si el tiempo lo permite se extenderán las pruebas a otros casos, principalmente hacia la carga de listas de genes más grandes.

� Todas las fallas que se pudieran presentar en el transcurso del desarrollo de las pruebas deberán ir resolviéndose de manera iterativa por el responsable de esta tesis, hasta que la falla no produzca más.

3. Casos de Pruebas.

3.1 Características a probar

La siguiente lista define las características a ser probadas:

� Conexión con el servidor de la base de datos genoma. Se verificara el funcionamiento del módulo que configura la conexión con el servidor mediante la inserción de datos de conexión validos e inválidos.

� Generación de la lista de genes: Se verificara la generación de una lista de genes con su respectivo identificador en el NCBI identificándolos a través de la aplicación Web Entrez del NCBI para que los datos extraídos sean correctos.

� Carga de los datos: se verificara la carga en el servidor mediante SQLDeveloper y se validaran los valores mediante la consulta manual en la base de datos de Entrez Gene, indicando que los datos se han cargado correctamente.

3.2 Conexión con el servidor de la base de datos genoma

ETLNCBIGD-101 Pruebas de conexión con el servidor de la base de datos genoma.

ETLNCBIGD-101-001 Probar conexión con la base de datos genoma utilizando datos inválidos.

ETLNCBIGD-101-002 Probar conexión con la base de datos genoma utilizando datos validos.

3.3 Pruebas de generación de la lista de genes

ETLNCBIGD-201 Pruebas de generación de la lista de genes.

ETLNCBIGD-201-001 Agregar un nuevo elemento valido a la lista de genes.

ETLNCBIGD-201-002 Agregar un nuevo elemento invalido a la lista de genes.

ETLNCBIGD-201-003 Eliminar un elemento de la lista de genes.

ETLNCBIGD-201-004 Generar una lista de 10 elementos.

Page 132: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Anexo B Plan de pruebas ETLNCBIGD

pág. 120

ETLNCBIGD-201-005 Generar una lista de 20 elementos.

3.4 Pruebas para la carga de los datos.

ETLNCBIGD -301-Pruebas para la carga de los datos.

ETLNCBIGD-301-001 Cargar una lista de un elemento.

ETLNCBIGD-301-002 Cargar una lista de 10 elementos.

ETLNCBIGD-301-003 Cargar una lista de 20 elementos.

4. Procedimiento de Pruebas

Este capítulo contiene la descripción de los procedimientos de pruebas correspondientes a los distintos casos de prueba que conforman el presente plan de pruebas. Los distintos casos de pruebas se encuentran organizados en grupos de pruebas cuyo objetivo es validar y verificar una determinada funcionalidad de la herramienta de carga. Cada uno de los casos de pruebas está dirigido a la validación y verificación de una funcionalidad.

Para cada uno de los grupos de pruebas se describe el propósito del grupo de pruebas, el entorno de prueba necesario, los distintos conjuntos de pruebas que lo conforman. Para cada uno de los casos de prueba se describe el propósito del caso, el entorno necesario para la ejecución del caso, el procedimiento de la prueba y los resultados esperados.

En general, los casos de prueba dentro de un grupo de pruebas deberán ejecutarse en el orden de su descripción.

4.1 ETLNCBIGD-101 Pruebas de conexión con el servidor de la base de datos genoma.

4.1.1 Propósito

Verificar que el módulo configurar conexión con el servidor de la base de datos funcione correctamente.

4.1.2 Entorno de prueba.

Para la ejecución de los casos de prueba contenidos en este grupo se utilizarán los siguientes elementos:

• PC con conexión a Internet. • Conexión VPN a la UPV.

4.1.3 ETLNCBIGD-101-001 Probar conexión con la base de datos genoma utilizando datos inválidos.

4.1.3.1 Propósito

Verificar que los datos inválidos no permiten establecer una conexión con el servidor de la base de datos genoma.

Page 133: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Anexo B Plan de pruebas ETLNCBIGD

pág. 121

4.1.3.2 Entorno de prueba.

La prueba se efectuará en un entorno con un equipo de cómputo (PC) con conexión a Internet y una conexión VPN a la UPV.

4.1.3.3 Proceso

1. Ejecutar la herramienta de carga 2. Ejecutar la función de configurar conexión con la base de datos 3. Introducir datos inválidos en los campos que establecen los parámetros de conexión

correspondientes. 4. Ejecutar la funcionalidad de probar conexión.

4.1.3.4 Resultado esperado.

Un mensaje en pantalla que indique el error generado debido a los datos inválidos.

4.1.4 ETLNCBIGD-101-001 Probar conexión con la base de datos genoma utilizando datos validos.

4.1.4.1Propósito

Verificar que los datos validos permiten establecer una conexión con el servidor de la base de datos genoma.

4.1.4.2 Entorno de prueba.

La prueba se efectuará en un entorno con un equipo de cómputo (PC) con conexión a Internet y una conexión VPN a la UPV.

4.1.4.3. Proceso

1. Ejecutar la herramienta de carga 2. Ejecutar la función de configurar conexión con la base de datos 3. Introducir datos validos en los campos que establecen los parámetros de conexión

correspondientes. 4. Ejecutar la funcionalidad de probar conexión.

4.1.4.4 Resultado esperado.

Un mensaje en pantalla que indique que la prueba de conexión es correcta debido al uso de datos validos.

4.2 ETLNCBIGD-201 Pruebas de generación de la lista de genes

4.2.1 Propósito

Verificar que el módulo administrar lista de genes funcione correctamente.

Page 134: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Anexo B Plan de pruebas ETLNCBIGD

pág. 122

4.2.2 Entorno de prueba.

Para la ejecución de los casos de prueba contenidos en este grupo se utilizarán los siguientes elementos:

• PC con conexión a Internet. • Conexión VPN a la UPV.

• Servicio Web EUtils.

4.2.3 ETLNCBIGD-201-001 Agregar un nuevo elemento valido a la lista de genes.

4.2.3.1 Propósito

Verificar que se agrega un elemento valido a la lista de genes y su correspondiente identificador en el NCBI.

4.2.3.2 Entorno de prueba.

La prueba se efectuará en un entorno con un equipo de cómputo (PC) con conexión a Internet, una conexión VPN a la UPV y el servicio Web de EUtils.

4.2.3.3 Proceso

1. Ejecutar la herramienta de carga 2. Ejecutar la función de administrar lista de genes. 3. Introducir nombre de gen valido para agregar a la lista de genes. 4. Ejecutar la funcionalidad de agregar nuevo elemento.

4.2.3.4 Resultado esperado.

La lista de genes ahora muestra un nuevo elemento.

4.2.4 ETLNCBIGD-201-002 Agregar un nuevo elemento inválido a la lista de genes.

4.2.4.1 Propósito

Verificar que no se agrega un elemento inválido a la lista de genes.

4.2.4.2 Entorno de prueba.

La prueba se efectuará en un entorno con un equipo de cómputo (PC) con conexión a Internet, una conexión VPN a la UPV y el servicio Web de EUtils.

4.2.4.3 Proceso

1. Ejecutar la herramienta de carga 2. Ejecutar la función de administrar lista de genes. 3. Introducir nombre de gen inválido para agregar a la lista de genes. 4. Ejecutar la funcionalidad de agregar nuevo elemento.

Page 135: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Anexo B Plan de pruebas ETLNCBIGD

pág. 123

4.2.4.4 Resultado esperado.

La lista de genes no muestra un nuevo elemento.

4.2.5 ETLNCBIGD-201-003 Eliminar un elemento de la lista de genes.

4.2.5.1 Propósito

Verificar que se elimina un elemento de la lista de genes.

4.2.5.2 Entorno de prueba.

La prueba se efectuará en un entorno con un equipo de cómputo (PC) con conexión a Internet, una conexión VPN a la UPV y el servicio Web de EUtils.

4.2.5.3 Proceso

1. Ejecutar la herramienta de carga 2. Ejecutar la función de administrar lista de genes. 3. Seleccionar el elemento a eliminar de la lista de genes. 4. Teclear la tecla suprimir.

4.2.5.4 Resultado esperado.

La lista de genes ahora no muestra el elemento eliminado.

4.2.6 ETLNCBIGD-201-004 Generar una lista de 10 elementos.

4.2.6.1 Propósito

Verificar que se agregan 10 elementos valido a la lista de genes y su correspondiente identificador en el NCBI. Con la finalidad de observar su tiempo de carga.

4.2.6.2 Entorno de prueba.

La prueba se efectuará en un entorno con un equipo de cómputo (PC) con conexión a Internet, una conexión VPN a la UPV y los servicios web de eFetchGene, eFetchSeq y eFetchPubmed.

4.2.6.3 Proceso

1. Ejecutar la herramienta de carga 2. Ejecutar la función de administrar lista de genes. 3. Introducir nombre de gen valido para agregar a la lista de genes. 4. Ejecutar la funcionalidad de agregar nuevo elemento. 5. Repetir los pasos 3 y 4 10 veces.

4.2.6.4 Resultado esperado.

La lista de genes muestra los 10 elementos que la conforman.

Page 136: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Anexo B Plan de pruebas ETLNCBIGD

pág. 124

4.2.7 ETLNCBIGD-201-005 Generar una lista de 20 elementos.

4.2.7.1 Propósito

Verificar que se agregan 20 elementos validos a la lista de genes y su correspondiente identificador en el NCBI. Con la finalidad de observar su tiempo de carga.

4.2.7.2 Entorno de prueba.

La prueba se efectuará en un entorno con un equipo de cómputo (PC) con conexión a Internet, una conexión VPN a la UPV y los servicios web de eFetchGene, eFetchSeq y eFetchPubmed.

4.2.7.3 Proceso

1. Ejecutar la herramienta de carga 2. Ejecutar la función de administrar lista de genes. 3. Introducir nombre de gen valido para agregar a la lista de genes. 4. Ejecutar la funcionalidad de agregar nuevo elemento. 5. Repetir los pasos 3 y 4 20 veces.

4.2.7.4 Resultado esperado.

La lista de genes muestra los 20 elementos que la conforman.

4.3 ETLNCBIGD-301-Pruebas para la carga de los datos.

4.3.1 Propósito

Verificar que el módulo cargar datos en la base de datos genoma funcione correctamente.

4.3.2 Entorno de prueba.

Para la ejecución de los casos de prueba contenidos en este grupo se utilizarán los siguientes elementos:

• PC con conexión a Internet. • Conexión VPN a la UPV.

• Servicios web de eFetchGene, eFetchSeq y eFetchPubmed. 4.3.3 ETLNCBIGD-301-001 Cargar una lista de un elemento.

4.3.3.1 Propósito

Validar el proceso automático de carga de los datos en la base de datos genoma mediante la comparación de los resultados del proceso de extracción, transformación y carga de los datos con los de la fuente correspondiente.

Page 137: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Anexo B Plan de pruebas ETLNCBIGD

pág. 125

4.3.3.2 Entorno de prueba.

La prueba se efectuará en un entorno con un equipo de cómputo (PC) con conexión a Internet, una conexión VPN a la UPV y los servicios web de eFetchGene, eFetchSeq y eFetchPubmed.

4.3.3.3 Proceso

1. Ejecutar la herramienta de carga 2. Ejecutar la función de administrar lista de genes. 3. Introducir nombre de gen valido para agregar a la lista de genes. 4. Ejecutar la funcionalidad de agregar nuevo elemento. 5. Guardar la lista de genes. 6. Ejecutar la función de cargar datos. 7. Verificar la inserción del registro correspondiente en la tabla principal GENE. 8. Verificar la correspondencia de los datos en la base de datos de Gene del NCBI.

4.3.3.4 Resultado esperado.

La carga correcta de los datos correspondientes al gen en la vista Transcription de la base de datos genoma y el tiempo de ejecución.

4.3.4 ETLNCBIGD-301-003 Cargar una lista de 10 elementos.

4.3.4.1 Propósito

Validar el proceso automático de carga de los datos correspondientes a 10 genes en la base de datos genoma mediante la comparación de los datos cargados con los de la fuente correspondiente y observar el tiempo de carga.

4.3.4.2 Entorno de prueba.

La prueba se efectuará en un entorno con un equipo de cómputo (PC) con conexión a Internet, una conexión VPN a la UPV y los servicios web de eFetchGene, eFetchSeq y eFetchPubmed.

4.3.4.3 Proceso

1. Ejecutar la herramienta de carga 2. Ejecutar la función de administrar lista de genes. 3. Introducir nombre de gen valido para agregar a la lista de genes. 4. Ejecutar la funcionalidad de agregar nuevo elemento. 5. Repetir los pasos 3 y 4 10 veces. 6. Guardar la lista de genes. 7. Ejecutar la función de cargar datos. 8. Verificar la inserción del registro correspondiente en la tabla principal GENE. 9. Verificar la correspondencia de los datos en la base de datos de Gene del NCBI.

Page 138: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Anexo B Plan de pruebas ETLNCBIGD

pág. 126

4.3.4.4 Resultado esperado.

La carga correcta de los datos correspondientes al gen en la vista Transcription de la base de datos genoma y el tiempo de ejecución.

4.3.5 ETLNCBIGD-301-003 Cargar una lista de 20 elementos.

4.3.5.1 Propósito

Validar el proceso automático de carga de los datos correspondientes a 20 genes en la base de datos genoma mediante la comparación de los datos cargados con los de la fuente correspondiente y observar el tiempo de carga.

4.3.5.2 Entorno de prueba.

La prueba se efectuará en un entorno con un equipo de cómputo (PC) con conexión a Internet, una conexión VPN a la UPV y los servicios web de eFetchGene, eFetchSeq y eFetchPubmed.

4.3.5.3 Proceso

1. Ejecutar la herramienta de carga 2. Ejecutar la función de administrar lista de genes. 3. Introducir nombre de gen valido para agregar a la lista de genes. 4. Ejecutar la funcionalidad de agregar nuevo elemento. 5. Repetir los pasos 3 y 4, 20 veces. 6. Guardar la lista de genes. 7. Ejecutar la función de cargar datos. 8. Verificar la inserción del registro correspondiente en la tabla principal GENE. 9. Verificar la correspondencia de los datos en la base de datos de Gene del NCBI.

4.3.5.4 Resultado esperado.

La carga correcta de los datos correspondientes al gen en la vista Transcription de la base de datos genoma y el tiempo de ejecución.

Page 139: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

pág. 127

Anexo C Diagrama entidad-relación de la

vista Transcription de la base de datos

genoma

En este anexo se muestra el diagrama entidad-relación correspondiente a la vista Transcription

de la base de datos genoma, Copyright ProS, Universidad Politécnica de Valencia.

Page 140: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Anexo C Diagrama entidad-relación de la vista Transcription de la base de datos genoma

pág. 128

GENE

id_symbol : string(10)id_HUGO: integer(10)official_name: string(1000)summary: string(1000)chromosome: integer(2)locus: string(30)

GENE DATA BANK IDENT.

id_gene : string(10)id_data_bank : string(10)Id_gene_db: string(20)

DATA BANK

id_data_bank : string(10)name: string(100)description: string(1000)

ALLELE

id_gene : string(10)allele_num : integer(10)start_position: integer(15)end_position: integer(15)strand: {minus, plus}

ALLELE DATA BANK IDENT.

id_gene : string(10)allele_num : integer(10)id_data_bank : string(10)Id_allele_db: string(20)

TRANSCRIPTION UNIT

id_gene : string(10)allele_num : integer(10)trans_unit_num : integer(10)

SEGMENT

id_gene : string(10)allele_num : integer(10)segment_num : integer(10)start_position: integer(15)end_position: integer(15)trans_unit_num: integer(10)type: {promotor, transcribed

sequence, terminator, regulator sequence}

sequence: clob

REGULATES

id_gene_tu : string(10)allele_num_tu : integer(10)trans_unit_num : integer(10)id_gene_seg : string(10)allele_num_seg : integer(10)segment_num : integer(10)

PRIMARY TRANSCRIPT

id_gene : string(10)allele_num : integer(10)segment_num : integer(10)sequence: clob

ELEMENT TRASCRIPT

id_gene : string(10)allele_num : integer(10)segment_num : integer(10)element_num : integer(10)element_type: {exon, intron}star_position: Integer(15)end_position: integer(15)sequence: clob

SPLICED TRANSCRIPT

id_gene : string(10)allele_num : integer(10)spliced_transcript_num : integer(10)type: {mRNA, others}sequence: clob

PRODUCES

id_gene : string(10)allele_num : integer(10)segment_num : integer(10)element_num : integer(10)spliced_transcript_num : integer(10)

BIBLIOGRAPHY REFERENCE

id_bib_ref : integer(10)title: string(1000)abstract: clobpublication: string(1000)authors: string(1000)

BIBLIOGRAPHY DATA BANK

bib_data_bank_name : string(100)id_bib_ref : integer(10)url: url

REFERENCE_SPLICED TRANS.

id_gene : string(10)allele_num : integer(10)spliced_transcript_num : integer(10)id_bib_ref : integer(10)

REFERENCE_SEGMENT

id_gene : string(10)allele_num : integer(10)segment_num : integer(10)id_bib_ref : integer(10)

REFERENCE_ALLELE

id_gene : string(10)allele_num : integer(10)id_bib_ref : integer(10)

REFERENCE_GENE

id_gene : string(10)id_bib_ref : integer(10)

A

B

C

Page 141: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Anexo C Diagrama entidad-relación de la vista Transcription de la base de datos genoma

pág. 129

Restricciones externas:

1. Si una tupla de “SEGMENT” tiene en el atributo “type” el valor “regulator sequence”, entonces el atributo “trans_unit_num” es nulo

2. Si una tupla de “SEGMENT” se le hace referencia desde alguna tupla de “REGULATES”, entonces el valor del atributo “type” de esa tupla ha de ser “regulator sequence”

3. El atributo “sequence” de “SEGMENT” es derivado a partir del los atributos “start_position” y “end_position” de “SEGMENT” y del atributo “sequence” de “ALLELE”, ya que la secuencia del segmento es una subcadena, determinada por la posición inicial y final, de la secuencia alélica.

4. El valor del atributo “start_position” de todos las tuplas de “SEGMENT” asociadas a una misma tupla de “TRANSCRIPTION_UNIT” es idéntico y mayor en 1 al valor del atributo “end_position” de la tupla de “PROMOTOR” asociada a esa misma tupla de “TRANSCRIPTION_UNIT”, caso de existir.

5. Una tupla de “PRIMARY TRANSCRIPT” hace referencia a una tupla de “SEGMENT” cuyo valor en “type” es “transcribed sequence”.

6. El atributo “sequence” de “ELEMENT TRANSCRIPT” es derivado a partir de sus atributos “start_position” y “end_position” y del atributo “sequence” de la tupla de “TRANSCRIBED SEQUENCE”, ya que su valor resulta ser la subcadena indicada por estas posiciones.

7. Las tuplas de “ELEMENT TRANSCRIPT” a las que se hacen referencia desde “PRODUCES” tienen el valor “exon” en el atributo “type”

8. Todas las tuplas de “ELEMENT TRANSCRIPT” asociadas a una tupla de “SPLICED TRANSCRIPT” a través de “PRODUCES” hacen referencia a una misma tupla de “PRIMARY TRANSCRIPT PATH”

9. En todo tupla de “ALLELIC VARIANT”, tiene valor el atributo “specialization_mutant” sólo si el valor del atributo “specialization_effect” es “mutant”.

Page 142: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

pág. 130

Anexo D Videos ilustrativos sobre nociones

de genética

En este anexo se citan algunos links en los cuales encontrara videos ilustrativos que pueden ayudar al lector a comprender mejor los procesos biológicos que se llevan a cabo dentro de las células eucariotas.

Page 143: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Anexo D Videos ilustrativos sobre nociones de genética

pág. 131

A continuación se muestran videos ilustrativos para una mayor comprensión del funcionamiento

de la célula, del proceso de transcripción y síntesis de proteínas.

• Las células eucariotas 1.1 http://www.youtube.com/watch?v=hBTImxRZrDM&NR=1

• Función de los ribosomas 1.2 http://www.youtube.com/watch?v=ssBi01I0X-E

• From RNA to Protein Synthesis 1.3 http://www.youtube.com/watch?v=NJxobgkPEAo&feature=related

• RNA Animation 1.4 http://www.youtube.com/watch?v=Ml0OqAUzEXU&feature=related

Page 144: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

pág. 132

Anexo E Ejemplo de la carga del gen NF1

En este anexo se muestra la interacción con la interfaz al usuario, que permite ejecutar los

módulos de Administrar lista de genes, Extracción-transformación y de Carga. Para mostrar la

interfaz así como los resultados se muestra un ejemplo de carga para el gen NF1, posteriormente

se examina la base de datos genoma mostrando algunos registros cargados. Para ello se muestra a

continuación la siguiente herramienta.

Page 145: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Anexo E Ejemplo de la carga del gen NF1

pág. 133

ETL para la carga de datos del NCBI a Genoma Database

ETL_GD está implementado en C# de MS Visual Studio 2005. En este prototipo se implementó

un módulo adicional para la administración de la configuración de la conexión con la base de

datos genoma, así como los módulos diseñados mediante la metodología propuesta: el módulo

para la administración de la lista de genes, el módulo de extracción-transformación y el módulo

de carga de los datos en la base de datos genoma correspondiente a la vista Transcription.

La administración de la conexión permite al usuario cambiar los atributos de conexión

con la base de datos genoma (figura 30).

Figura 30 Administración de la conexión con la base de datos genoma

La administración de la lista de genes permite al usuario llevar el control de los genes que

se van a extraer desde las fuentes (NCBI) a través de sus correspondientes interfaces (Interface

SOAP para Entrez Utilities). Por ejemplo: se crea una lista nueva y se desea agregar un nuevo

gen llamado NF1 de la fuente NCBI, En la figura 31 se muestra el mensaje donde se indica que

se encontró el gen en la fuente y se agregará a la lista.

Page 146: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Anexo E Ejemplo de la carga del gen NF1

pág. 134

Figura 31 Agregando un elemento a la lista de genes

Para la extracción/carga de los datos del gen NF1 se hace uso de la lista obtenida a través

del módulo Administrar lista de genes. Se hace clic en el botón Cargar datos el cual extrae los

datos del gen de la base de datos Gene en un vector (eFecthGene), dicho vector se transforma

para obtener los vectores correspondientes a la vista Transcription, mediante el uso de vectores

intermedios (identificadores de secuencias). Posteriormente se extraen y transforman los datos de

las bases de datos Nucleotide (eFetchSeq) y PubMed (eFecthPubmed) correspondientes a la vista

Transcription, para ser insertados en la base de datos genoma. Se muestra un resumen de estos

vectores en el cuadro de texto Salida (ver figura 32).

Page 147: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Anexo E Ejemplo de la carga del gen NF1

pág. 135

Figura 32 Cargando gen NF1

Se obtienen el conjunto de los vectores correspondientes a un gen y se insertan en la base

de datos genoma. Para confirmar la inserción se utilizó el cliente Oracle SQL Developer. En las

tablas principales, mostradas en las figuras de ka 33 a la 40, se observan los registros insertados

correspondientes al gen NF1. Para observar la totalidad de las tablas que se cargaron y su

descripción ver el Anexo C Diagrama entidad-relación de Transcription View.

Page 148: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Anexo E Ejemplo de la carga del gen NF1

pág. 136

Figura 33 Comprobación de la inserción de los datos en la tabla "GENE"

Figura 34 Comprobación de la inserción de los datos en la tabla "ALLELE"

Figura 35 Comprobación de la inserción de los datos en la tabla "SEGMENT"

Figura 36 Comprobación de la inserción de los datos en la tabla "SPLICED_TRANSCRIPT"

Figura 37 Comprobación de la inserción de los datos en la tabla "ELEMENT_TRANSCRIPT"

Page 149: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Anexo E Ejemplo de la carga del gen NF1

pág. 137

Figura 38 Comprobación de la inserción de los datos en la tabla "PRODUCES"

Figura 39 Comprobación de la inserción de los datos en la tabla

"BIBLIOGRAPHY_REFERENCE"

Figura 40 Comprobación de la inserción de los datos en la tabla

"BIBLIOGRAPHY_DATABANK"

Page 150: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

pág. 138

Anexo F Glosario de términos y siglas

En este anexo se muestra el glosario de términos y siglas correspondiente a este documento de

tesis.

Page 151: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Anexo F Glosario de términos y siglas

pág. 139

A continuación se presentan algunos términos y siglas utilizados en esta tesis.45

Termino Descripción

A Símbolo oficial de la Adenina

ADN Ácido nucleído formado por nucleótidos en los que el azúcar es desoxirribosa, y

las bases nitrogenadas son adenina, timina, citosina y guanina. Excepto en los

retrovirus que tienen ARN, el ADN codifica la información para la reproducción y

funcionamiento de las células y para la replicación de la propia molécula de ADN.

Representa la copia de seguridad o depósito de la información genética primaria,

que en las células eucarióticas está confinada en la caja fuerte del núcleo.

ARN Ácido nucleído formado por nucleótidos en los que el azúcar es ribosa, y las bases

nitrogenadas son adenina, uracilo, citosina y guanina. Actúa como intermediario y

complemento de las instrucciones genéticas codificadas en el ADN. Existen varios

tipos diferentes de ARN, relacionados con la síntesis de proteínas: ARN mensajero

(ARNm), ARN ribosómico (ARNr), ARN de transferencia (ARNt) y un ARN

heterogéneo nuclear (ARN Hn). El ARN es normalmente el producto de la

transcripción de un molde de ADN, aunque en los retrovirus el ARN actúa de

plantilla y el ADN de copia.

ARNm ARN mensajero: molécula de ARN que representa una copia en negativo de las

secuencias de aminoácidos de un gen. Las secuencias no codificantes (intrones)

han sido ya extraídas. Con pocas excepciones el ARNm posee una secuencia de

cerca de 200 adeninas (cola de poli A), unida a su extremo 3' que no es codificada

por el ADN.

ARNt El ARN de transferencia o ARNt es un elemento clave en la traducción de la

información que porta el ARN mensajero a una secuencia de proteínas. Por un lado

se une de forma específica a un aminoácido concreto y por otro reconoce un

triplete de nucleótidos que codifica ese aminoácido en el ARN mensajero. En el

proceso de síntesis de proteínas el ARNt es un transductor de información capaz de

pasar de nucleótidos a aminoácidos y que por tanto traduce ARNm a proteína.

45 Definiciones obtenidas de los siguientes glosarios:

• Glosario.net: http://ciencia.glosario.net/biotecnologia • Glosario de medicina molecular: http://www.medmol.es/glosario.cfm • Glosario de términos, Amgen Inc: http://biotec.amgen.es/html/glosario.html • Red científica: http://www.redcientifica.com/oracle

Page 152: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Anexo F Glosario de términos y siglas

pág. 140

BIOBASE Empresa reconocida como el principal proveedor de contenidos de bases de datos

biológicos, conocimientos y herramientas de software de análisis para la industria

de las ciencias de la vida.

Biotecnología La biotecnología es la técnica que utiliza células vivas, cultivo de tejidos o

moléculas derivadas de un organismo para obtener o modificar un producto,

mejorar una planta o animal o desarrollar un microorganismo para utilizarlo con

un propósito específico

BLAST Basic Local Alignment Search Tool (BLAST por sus siglas en ingles). Es un

algoritmo optimizado para la comparación de secuencias, se usa en búsquedas

rápidas en base de datos de secuencias para la localización óptima de alineaciones

a una pregunta. La búsqueda inicial se realiza de una palabra de longitud "W" de al

menos "T" puntuaciones como resultado en comparación con la consulta mediante

la sustitución de una matriz. Las palabras encontradas se extienden en cualquier

dirección en un intento de generar un alineamiento con los resultados excediendo

al umbral de "S". El parámetro "T" determina la velocidad y la sensibilidad de la

búsqueda.

C Símbolo oficial de la Citocina

CENIDET Centro Nacional de Investigación y Desarrollo Tecnológico (CENIDET)

Cromosoma Corpúsculo intracelular alargado que consta de ADN, asociado con proteínas, y

constituido por una serie lineal de unidades funcionales conocidas como genes. La

especie humana tiene 46 cromosomas (23 pares). Su número varía desde el

mínimo de un cromosoma en las obreras de la hormiga Myrmecia pilosula hasta

los 1.260 cromosomas (630 pares) del helecho Ophioglussum recitulatum.

Data warehouse Sistema almacén de datos que reúne la información generada por los distintos

departamentos de una organización. Pretende conseguir que cualquier

departamento pueda acceder a información de cualquiera de los otros mediante un

único medio, así como obligar a que los mismos términos tengan el mismo

significado para todos. Es un almacén de datos históricos, utilizado por una

herramienta OLAP para procesar información, elaborar informes y vistas. También

se define como un conjunto de datos orientados por tema, integrados, variables en

el tiempo y no volátiles que se emplea como apoyo a la toma de decisiones.

http://www.redcientifica.com/oracle/c0001p0005.html

DSIC Departamento de Sistemas Informáticos y Computación (DSIC)

Page 153: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Anexo F Glosario de términos y siglas

pág. 141

ETL Los sistemas de Extraction, Transformation and Load (ETL por sus siglas en

ingles), son la base de los Data warehouse. Un sistema ETL bien diseñado extrae

los datos de los sistemas fuente, cumpliendo con la calidad de los datos y las

normas de la coherencia, adaptando los datos por separado a fin de que las fuentes

se puedan utilizar juntas y, por último, entregar los datos en un formato de

presentación listo para que los desarrolladores de aplicaciones puedan crear

aplicaciones y los usuarios finales puede tomar decisiones.

Exones Secuencias de ADN específicas de genes, que codifican secuencias de aminoácidos

en las proteínas.

G Símbolo oficial de la Guanina

Gen Un gen es una unión de secuencias genómicas que codifican un conjunto

coherente de productos funcionales potencialmente sobrepuestos

Genética La genética es el campo de ciencia que revisa cómo son pasados los rasgos de una

generación al próximo

Genoma Conjunto de todos los genes de un organismo, de todo el patrimonio genético

almacenado en el conjunto de su ADN o de sus cromosomas.

GO Gene Ontology (GO por sus siglas en ingles), es un esfuerzo de colaboración para

hacer frente a la necesidad de coherencia de las descripciones de los productos de

genes en diferentes bases de datos.

HGMD Es una base de datos comercial de BIOBASE llamada Human Gene Mutation

Database (HGMD por sus siglas en ingles)

Intrones Secuencias de ADN que no codifican genes y cuya función es desconocida. El

90% del genoma humano no es codificante.

MutDB Mutation DataBase (MutDB por sus siglas en ingles); el objetivo de MutDB es

anotar los datos de variaciones humanas con información estructural de las

proteínas y otra información funcional relevante, si está disponible. Las

mutaciones son organizadas por genes.

NCBI National Center for Biotechnology Information (NCBI por sus siglas en inglés)

ProS Centro de Investigación en Métodos de Producción Software (PROS)

Proteínas Biomoléculas formadas por macropolímeros de aminoácidos, o

macropolipéptidos. Actúan como enzimas, hormonas y estructuras contráctiles que

atribuyen a los organismos sus propias características de tamaño, potencial

metabólico, color y capacidades físicas.

Page 154: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Anexo F Glosario de términos y siglas

pág. 142

SNP Single Nucleotide Polymorphism (SNP por sus siglas en ingles)

T Símbolo oficial de la Timina

Transcripción

genética

Biosíntesis de una molécula de ARN por polimerización de nucleótidos

complementarios a un ADN patrón. Esta molécula de ARN es un precursor de

ARNm y representa una copia fiel de la secuencia complementaria de ADN de la

que ha sido transcrita. Una secuencia específica situada por delante del gen

(promotor) actúa identificando el sitio de inicio de la transcripción. En el ARN, el

uracilo (U) ocupa las posiciones que la timina (T) tiene en el ADN. Es la copia de

trabajo de determinados segmentos de ADN.

U Símbolo oficial del Uracilo

UPV Universidad Politécnica de Valencia (UPV)

Page 155: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Referencias

pág. 143

Referencias

[ADN08] García Castro Javier, Vicente Martín Fco. Javier, El ADN como soporte de la

información genética, Amgen Inc., consultado en Noviembre 2008 , disponible

en: http://biotec.amgen.es/html/adn.html

[ALTSCHUL90] Altschul SF, Gish W, Miller W, Myers EW, Lipman DJ. , Basic Local Alignment

Search Tool. , J Mol Biol , 1990

[ALTSCHUL97] Altschul SF, Madden TL, Schaffer AA, Zhang J, Zhang Z, Miller W, Lipman DJ. ,

Gapped BLAST and PSI-BLAST: a new generation of protein database search

programs. , Nucleic Acids Research, 1997

[BIOINF08] García Castro Javier, Vicente Martín Fco. Javier, Definición de bioinformatica,

Amgen Inc., consultado en Noviembre 2008 , disponible en:

http://biotec.amgen.es/html/bioinfo.html

[BIOTECH08] García Castro Javier, Vicente Martín Fco. Javier, Definición de biotecnología,

Amgen Inc., consultado en Noviembre 2008 , disponible en:

http://biotec.amgen.es/html/definicion.html

[CHAGOYEN05] Mónica Chagoyen Quiles, Integration of biological data: systems, infrastructures

and programmable tools, Tesis de doctorado, Universidad Autónoma de Madrid,

Escuela Politécnica Superior, 2005

[CHEUNG07] Kei-Hoi Cheung, Alan Ruttenberg, Tim Clark, William Bug, Matthias Samwald,

Olivier Bodenreider, Helen Chen, Donald Doherty, Kerstin Forsberg, Yong Gao,

Vipul Kashyap, June Kinoshita, Joanne Luciano, M Scott Marshall, Chimezie

Ogbuji, Jonathan Rees, Susie Stephens, Gwendolyn T Wong, Elizabeth Wu11,

Davide Zaccagnini, Tonya Hongsermeier, Eric Neumann y Ivan Herman,

Advancing translational research with the Semantic, BioMed Central Ltd., Mayo

2007 , disponible en: http://www.biomedcentral.com/1471-2105/8/S3/S2

Page 156: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Referencias

pág. 144

[EFETCH] National Center for Biotechnology Information (NCBI), U.S. National Library of

Medicine (NLM), EFetch Overview , consultado en Febrero 2009 , disponible en:

http://eutils.ncbi.nlm.nih.gov/entrez/query/static/efetch_help.html

[ENCODE07] The ENCODE Project Consortium, dentification and Analysis of Functional

Elements in 1% of the Human Genome by the Encode Pilot Project, Nature

Publishing Group, Junio 2007

[ENTREZ06] National Center for Biotechnology Information (NCBI), U.S. National Library of

Medicine (NLM), Entrez Help , Junio 2006 , disponible en:

http://www.ncbi.nlm.nih.gov/bookshelf/br.fcgi?book=helpentrez&part=EntrezHelp

[ESEARCH] National Center for Biotechnology Information (NCBI), U.S. National Library of

Medicine (NLM), Esearch , consultado en Febrero 2009 , disponible en:

http://eutils.ncbi.nlm.nih.gov/entrez/query/static/esearch_help.html

[ETCG08] Action Group on Erosion, Technology and Concentration (ETC Group), Informe

especial sobre genómica humana primera parte. Pruebas personales de ADN y el

mito de la medicina personalizada: kits para muestras de saliva, chips SNP y

genómica humana, ETC Group, Marzo 2008

[EUTILITIES09] National Center for Biotechnology Information (NCBI), U.S. National Library of

Medicine (NLM), NCBI Entrez Utilities Web Service , consultado en Enero 2009

, disponible en: http://eutils.ncbi.nlm.nih.gov/entrez/query/static/esoap_help.html

[FILETO03] Fileto Renato, Bauzer Medeiros Claudia, A Survey on Information Systems

Interoperability, Technical Report –IC-03-030, Diciembre 2003

[GAMMA00] Erich Gamma, Richard Helm, Ralph Johnson y John Vlissides, Design Patterns:

Elements of Reusable Object-Oriented Software, Addison-Wesley, 2000, ISBN 0-

201-63361-2

[GLOS08] García Castro Javier, Vicente Martín Fco. Javier, Glosario de términos, Amgen

Inc., consultado en Noviembre 2008 , disponible en:

http://biotec.amgen.es/html/glosario.html#G_G

Page 157: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Referencias

pág. 145

[GOC00] The Gene Ontology Consortium (2000), Gene Ontology: tool for the unification of

biology, Nature Genet, consultado en Noviembre 2008 , disponible en:

http://wiki.geneontology.org/index.php/GO_FAQ

[HUBBARD08] T. J. P. Hubbard, B. L. Aken, S. Ayling, B. Ballester, K. Beal, E. Bragin, S. Brent,

Y. Chen, P. Clapham, L. Clarke, G. Coates, S. Fairley, S. Fitzgerald, J. Fernandez-

Banet, L. Gordon, S. Graf, S. Haider, M. Hammond, R. Holland, K. Howe, A.

Jenkinson, N. Johnson, A. Kahari, D. Keefe, S. Keenan, R. Kinsella, F. Kokocinski,

E. Kulesha, D. Lawson, I. Longden, K. Megy, P. Meidl, B. Overduin, A. Parker, B.

Pritchard, D. Rios, M. Schuster, G. Slater, D. Smedley, W. Spooner, G. Spudich, S.

Trevanion, A. Vilella, J. Vogel, S. White, S. Wilder, A. Zadissa, E. Birney, F.

Cunningham, V. Curwen, R. Durbin, X. M. Fernandez-Suarez, J. Herrero, A.

Kasprzyk, G. Proctor, J. Smith, S. Searle and P. Flicek, Ensembl 2009, Nucleic

Acids Research, Noviembre 2008

[IEEE829] Software Engineering Technical Committee of the IEEE Computer Society. IEEE

Standard for Software Test Documentation. (Revisión de IEEE Std 829-1983), 16

Septiembre 1998. ISBN 0-7381-1444-8 SS94687

[KIMBALL02] Ralph Kimball, Margy Ross, The Data Warehouse Toolkit, John Wiley and Sons,

Inc., 2002, ISBN 0-471-20024-7

[KIMBALL04] Ralph Kimball, Joe Caserta, The Data Warehouse, ETL Toolkit, Wiley Publishing,

Inc., 2004, eISBN: 0-764-57923-1

[KIMMEL05] Paul Kimmel, Uml Demystified, Mcgraw-Hill Osborne Media, 2005, ISBN-13:

978-0072261820

[LUSHBOUGH08] Carol Lushbough, Michael K. Bergman, Carolyn J. Lawrence, Doug Jennewein,

and Volker Brendel, BioExtract Server – An Integrated Workflowenabling System

to Access and Analyze Heterogeneous, Distributed Biomolecular Data, IEEE

TRANSACTIONS ON COMPUTATIONAL BIOLOGY AND

BIOINFORMATICS, MANUSCRIPT ID, Mayo 2008, ISSN: 1545-5963

Page 158: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Referencias

pág. 146

[MARK08] Mark B. Gerstein, Can Bruce, Joel S. Rozowsky, Deyou Zheng, Jiang Du, Jan O.

Korbel, Olof Emanuelsson, Zhengdong D. Zhang, Sherman Weissman and Michael

Snyder, What is a gene, post-ENCODE? History and updated definition, Cold

Spring Harbor Laboratory Press, Mayo 2008

[NCBI02] National Center for Biotechnology Information (NCBI), U.S. National Library of

Medicine (NLM), The NCBI Handbook , Octubre 2002 , disponible en:

http://www.ncbi.nlm.nih.gov/books/bv.fcgi?rid=handbook.TOC&depth=2

[PASTOR08] Oscar Pastor, Conceptual Modeling meets the Human Genome, Springer Berlin /

Heidelberg, Noviembre 2008, ISBN: 978-3-540-87876-6

[PATON04] Norman W Paton, Kevin Garwood, Thomas McLaughlin, Chris Garwood, Scott

Joens, Norman Morrison, Christopher F Taylor, Kathleen Carroll, Caroline Evans,

Zhikang Yin, Alistair JP Brown, Andrew Hesketh, Keith Chater, Anthony D

Whetton, Sarah Hart, David Stead, Lena Hansson, Muriel Mewissen, Peter Ghazal,

Julie Howard, Kathryn S Lilley, Simon J Gaskell, Andy Brass, Simon J Hubbard

and Stephen G Oliver, PEDRo: A database for storing, searching and disseminating

experimental proteomics data, BioMed Central Ltd., Septiembre 2004 , disponible

en: http://www.biomedcentral.com/1471-2164/5/68

[PRLIC08] Prlić, A., BioJava: an Open-Source Framework for Bioinformatics, Published by

Oxford University Press, Agosto 2008

[RODDEN05] Tara Rodden Robinson , Genetics For Dummies®, Wiley Publishing, Inc., 2005,

ISBN-13: 978-0-7645-9554-7, ISBN-10: 0-7645-9554-7

[SAYERS04] Sayers Eric, Wheeler David, Building Customized Data Pipelines Using the Entrez

Programming Utilities (eUtils) , NCBI Short Courses, 2004, consultado en

Noviembre 2008 , disponible en:

http://www.ncbi.nlm.nih.gov/bookshelf/br.fcgi?book=coursework&part=eutils

Page 159: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Referencias

pág. 147

[SCBROWSER] National Center for Biotechnology Information (NCBI), U.S. National Library of

Medicine (NLM), NCBI's WWW Source Code Browser , consultado en Febrero

2009 , disponible en: http://www.ncbi.nlm.nih.gov/IEB/ToolBox/SB/hbr.html

[SHAHROUR07] Fátima Al-Shahrour, Leonardo Arbiza, Hernán Dopazo, Jaime Huerta-Cepas, Pablo

Mínguez, David Montaner and Joaquín Dopazo, From genes to functional classes in

the study of biological systems, BioMed Central, Abril 2007

[SHARIPOV07] Ruslan Sharipov, Fedor Kolpakov, Vladimir Poroikov, Yury Kondrakhin, Alexey

Zakharov, Alexey Lagunin, Luciano Milanesi and Alexander Kel, CYCLONET—

an integrated database on cell cycle regulation and carcinogenesis, Nucleic Acids

Research, 2007

[STEPHENS06] Susie Stephens, David LaVigna, Mike DiLascio, Joanne Luciano, Aggregation of

bioinformatics data using Semantic Web technology, Elsevier Science Publishers B.

V., Septiembre 2006, ISSN:1570-8268 , dispobible en;

http://www.gersteinlab.org/courses/452/09-spring/pdf/Stephens.pdf

[USINGEUAJ] National Center for Biotechnology Information (NCBI), U.S. National Library of

Medicine (NLM), Using Entrez Utilities Web Service with Apache Axis2 for Java ,

consultado en Enero 2009 , disponible en:

http://eutils.ncbi.nlm.nih.gov/entrez/eutils/soap/v2.0/DOC/esoap_java_help.html

[USINGEUMS] National Center for Biotechnology Information (NCBI), U.S. National Library of

Medicine (NLM), Using Entrez Utilities Web Service with C# and MS Visual

Studio 2005 , consultado en Enero 2009 , disponible en:

http://eutils.ncbi.nlm.nih.gov/entrez/eutils/soap/v2.0/DOC/esoap_ms_help.html

[VIRRUETA09] Aremy Virrueta, Oscar Pastor, Ana M. Levin, Juan Carlos Casamayor, Matilde

Celma, Y Luis E. Eraso, Enforcig Conceptual Modeling to Improve the

Understanding of Human Genome, Data Integration in the Life Siences WorkShop

(DILS) 2009, Manchester, UK, 2009

[ZHONG07] Weiwei Zhong y Paul W. Sternberg, Automated data integration for developmental

biological research, Development, 2007

Page 160: TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …

Referencias

pág. 148