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
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.
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.
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.
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.
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
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
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
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
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
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
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
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.
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.
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
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.
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
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/
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
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
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:
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
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/
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
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
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
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
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.
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
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
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
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.
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
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
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.
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.
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.
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.
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
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:
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
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.
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
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
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]
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.
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.
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]
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.
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.
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.
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/
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
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
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.
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
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).
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
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.
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
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
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)
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.
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.
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.
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]
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
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.
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
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
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
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_
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
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/>
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>
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 {
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;
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 );
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
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.
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»
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»
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»
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.
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)
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()
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()
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»
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
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
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.
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.
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.
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,
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.
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.
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.
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
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 )
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.
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
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
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
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).
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.
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.
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.
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
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.
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
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.
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
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
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.
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
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.
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.
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.
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
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.
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
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
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,
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.
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].
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
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
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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”.
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.
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
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.
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.
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).
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.
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"
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"
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.
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
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)
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.
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)
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
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
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
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
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
Top Related