cenidet

Centro Nacional de Investigación y Desarrollo Tecnológico

Departamento de Ciencias Computacionales

TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS 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 Ing . 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

Cuernavaca, Morelos, México. 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 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 . 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 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.

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

i

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 ...... 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

ii

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 iii

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 iv

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

v

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. 1

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. 2

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. 3

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.

pág. 4

Capítulo 1: Antecedentes

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

pág. 5

Capítulo 1: Antecedentes 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.

pág. 6

Capítulo 1: Antecedentes

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´s 1 (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 pág. 7

Capítulo 1: Antecedentes

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 • BIOBASE 3 • MutDB 4 • European Bioinformatics Institute (EBI) 5 • (GO) 6 • DNA Data Bank of Japan (DDBJ) 7 • Database of Genomic Variants 8 • The Human Genome Variation database of Genotype-to-Phenotype information (HGVbaseG2P) 9 • GENATLAS 10

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/ pág. 8

Capítulo 1: Antecedentes 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 ASN1 11 y GenBank 12 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 registros 13 Gene 5,068,947 GenBank 82,853,685 14 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 pág. 9

Capítulo 1: Antecedentes

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 Bases de Datos para la actualización (Servicios web) 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 registros 15 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 pág. 10

Capítulo 1: Antecedentes

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:

pág. 11

Capítulo 1: Antecedentes

• 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

pág. 12

Capítulo 1: Antecedentes 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 siguientes 16 :

• 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” 17 e 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.

16 De 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/ pág. 13

Capítulo 1: Antecedentes

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

pág. 14

Capítulo 1: Antecedentes 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ómica 19 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 pág. 15

Capítulo 1: Antecedentes 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

pág. 16

Capítulo 1: Antecedentes 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

pág. 17

Capítulo 1: Antecedentes 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.

pág. 18

Capítulo 1: Antecedentes

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 translacional 20 . 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 pág. 19

Capítulo 1: Antecedentes

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 11gR1 Oracle - Libre descarga (OWB) 2 Data Integrator & Services XI 3.0 Business Objects, SAP - Demo 3 IBM Information Server 8.1 IBM - Demo (Datastage) 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 10 Microsoft - Trial Software Services 9 Talend Open Studio 3.1 Talend X versión OpenSource 10 DataFlow Manager 6.5 Pitney Bowes Business - Demo Insight 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 8.2 IBM Cognos - Demo Stream 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 pág. 20

Capítulo 1: Antecedentes

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 Unidad de Tipo de datos Finalidad de la integradas integración integrados integración PEDRo 4 – Microarrays Por experimento Proteínicos y de GO Análisis proteínicos Fatiscan 7 – Biomoleculares Por conjunto de Biomoleculares y de Análisis funcionales de 3 – GO experimentos en GO experimentos en microarrays microarrays CYCLONET 3 – Biomoleculares Por experimento Mircroarray, quimio- Analizar datos en el pág. 21

Capítulo 1: Antecedentes

3 – Microarray informáticos, y de desarrollo de fármacos literatura anti cáncer para generar hipótesis comprobables experimentalmente BioImage 2 – Microscopía Por experimento Datos de microscopía Almacenar y manejar electrónica imágenes de microscopia tridimensional y multidimensional de Proteínicos especímenes biológicos BMD 1 – Repositorio Por experimento Secuencias, gráficos Almacenar y manejar y datos de alta imágenes de microscopia dimensión multidimensional de especímenes biológicos Esembl n – Biomoleculares Genoma por especie Biomoleculares y de Anotar, analizar y (DAS) literatura desplegar genomas BioExtrac 4 – Biomoleculares Por experimento Biomoleculares, Análisis virtuales 1 – Microarray microarrays, utilizando diversas bases workflows y de de datos y guardarlos en literatura wokflows. Propuesta de 3 – Biomoleculares Por gen Biomoleculares en Repositorio para análisis Tesis general y de literatura 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.

pág. 22

Capítulo 1: Antecedentes

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 Java 22 . 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 pág. 23

Capítulo 1: Antecedentes

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 artesanales 23 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 mundial 24 . 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 grandes 25 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 pág. 24

Capítulo 1: Antecedentes

• 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 .

pág. 25

Capítulo 1: Antecedentes

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. 26

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.

pág. 27

Capítulo 2: Marco teórico

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:

Sis tema 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.

pág. 28

Capítulo 2: Marco teórico

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 pág. 29

Capítulo 2: Marco teórico 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: pág. 30

Capítulo 2: Marco teórico

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 pág. 31

Capítulo 2: Marco teórico 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.

pág. 32

Capítulo 2: Marco teórico

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

pág. 33

Capítulo 2: Marco teórico 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 Figura 1 Modelo de Watson y 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.

pág. 34

Capítulo 2: Marco teórico

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 Figura 2 letras. Trascripción de ADN [ADN08] 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 pág. 35

Capítulo 2: Marco teórico 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.

pág. 36

Capítulo 2: Marco teórico

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.

pág. 37

Capítulo 2: Marco teórico

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 Figura 5 ARN mensajero[ADN08] 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

pág. 38

Capítulo 2: Marco teórico 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.

pág. 39

Capítulo 2: Marco teórico

• 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.

pág. 40

Capítulo 2: Marco teórico

Tabla 7 Código genético 1ª posición U C A G 3ª posición (extremo 5') (extremo 3')

U Phe Ser Tyr Cys U Phe Ser Tyr Cys C Leu Ser STOP STOP A Leu Ser STOP Trp G

C Leu Pro His Arg U Leu Pro His Arg C Leu Pro Gln Arg A Leu Pro Gln Arg G

A Ile Thr Asn Ser U Ile Thr Asn Ser C Ile Thr Lys Arg A Met Thr Lys Arg G

G Val Ala Asp Gly U Val Ala Asp Gly C Val Ala Glu Gly A Val Ala Glu Gly 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.

pág. 41

Capítulo 2: Marco teórico

2.12 Análisis de una prueba de ADN

El análisis de una prueba de AND 28 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 mundo 29 .

28 De la visita la laboratorio genético de Sistemas Genomicos. La secuenciación de un genoma entero está en investigación. 29 Del Sitio oficial de NCBI http://www.ncbi.nlm.nih.gov/ pág. 42

Capítulo 2: Marco teórico

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 Site 31 .

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 ER 32 así como la documentación del esquema 33 de la base de datos de SNP para llevar a cabo su implementación de forma local 34 .

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, , 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 , 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 pág. 43

Capítulo 2: Marco teórico

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 Go 35 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 pág. 44

Capítulo 2: Marco teórico

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 traducidas 36 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 (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 contigs 37 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. pág. 45

Capítulo 2: Marco teórico

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 pág. 46

Capítulo 2: Marco teórico

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 ).

pág. 47

Capítulo 2: Marco teórico

GEO Datasets Esta base de datos almacena la expresión de genes comisariados y molecular abundancia de DataSets 39 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 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 pág. 48

Capítulo 2: Marco teórico

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.

pág. 49

Capítulo 2: Marco teórico

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 Map 40 , 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 pág. 50

Capítulo 2: Marco teórico

En la figura 6 las bases de datos que se tomaron en cuenta para proveer de información al modelo se encuentran marcadas con una estrella.

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

2.16 Las herramientas del NCBI

El NCBI proporciona herramientas avanzadas para interact uar con la plataforma Entrez [EUTILITIES09] las cuales se dividen en dos partes:

Herramientas Web

• Batch Entrez : Sube un archivo de GI 41 o números de acceso para recuperar secuencias. • PubMed Batch Citation Matcher : envía información de citas a Entrez y recuperar IDs de PubMed para vincular citas desplegadas u otras aplicaciones. • Advanced Entrez Searching : técnicas de búsqueda avanzada para la Web Entrez.

41 Números GI: son una serie de dígitos que son asignados cons ecutivamente por el NCBI a cada secuencia procesada pág. 51

Capítulo 2: Marco teórico

• 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 SOAP 42 . 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) pág. 52

Capítulo 2: Marco teórico

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.

pág. 53

Capítulo 2: Marco teórico

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.

pág. 54

Capítulo 2: Marco teórico

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 .

pág. 55

Capítulo 2: Marco teórico

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. Diagrama 3 Vista Genome [VIRRUETA09]

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.

pág. 56

Capítulo 2: Marco teórico

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 HGNC 43 . 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. 57

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.

pág. 58

Capítulo 3: Solución propuesta

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.

Prototipo Proceso de recuperación, Carga|actualización extracción y genoma BD m BD 2 BD 1 Datos de datos transformación

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

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.

pág. 59

Capítulo 3: Solución propuesta

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 .

1

2

3

4

5

6

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 pág. 60

Capítulo 3: Solución propuesta continuación se desc riben 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 del modelo ER de la base de datos contra el esquema de los d atos contenidos en las base s de datos del NCBI.

Se identificaron 12 vectores para cargar en la base de datos genoma , donde cada vector corresponde a un registro de una tabla. Para acceder a las bases de datos del NCBI se utilizan los servicios web de Entrez , cada uno de estos servicios da como resul tado una vista que contiene datos relacionados con uno o varios vectores a cargar de la base de datos genoma . Cada vista obtenida de los servicios web corresponde a un vector a recuperar (ver figura 9 ).

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

 Etapa 2: Análisis de las herramientas disponibles para el acceso a las bases de datos del NCBI . En esta etapa se identifican las herramientas disponible para el acceso a las bases

pág. 61

Capítulo 3: Solución propuesta

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_

pág. 62

Capítulo 3: Solución propuesta

TRANSCRIPT. Además 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 servicio web eFetchPubmed , utilizando los identificadores obte nidos en eFetchSeq . En la figura 10 se muestra un esquema ge ne ral del proceso de recuperación de datos mediante los servicios web del NCBI .

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

 Etapa 4: Identificació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 a transformarlos a los vectores que se requieren cargar en la base de datos genoma .

En la tabla 9 se muestra el servicio Web , los datos necesarios para recuperar la información , los vectores (tablas) correspondientes a los datos que necesitan ser extraídos y el 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 recuperación.

pág. 63

Capítulo 3: Solución propuesta

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 LOG (gene )  Símbolo del gen  Filtro Identificador del gen (geneid) --- eFetchGene  geneid GENE

ALLELE Identificador de la secuencia de --- referencia (gi)

Identificador de la secuencia de --- ARN (gi) eFetchSeq  gi SEGMENT (secuencia de referencia) SPLICED_TRANSCRIPT < SPLICED_TRANSCRIPT> (secuencia de ARN) pág. 64

Capítulo 3: Solución propuesta

< SPLICED_TRANSCRIPT_NUM/> ELEMENT_TRANSCRIPT < ELEMENT_TRANSCRIPT> (secuencia del Exón o Intrón) Identificador de la secuencia del --- exón (gi)

Identificador de la referencia --- (pmid) eFetchPubmed  pmid BIBLIOGRAPHY_REFERENCE < BIBLIOGRAPHY_REFERENCE> <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> </p><p> pág. 65 </p><p>Capítulo 3: Solución propuesta </p><p>REFERENCE_SPLICED <REFERENCE_SPLICED_TRANSCRIPT> _TRANSCRIPT <ID_GENE/> <ALLELE_NUM/> <SPLICED_TRANSCRIPT_NUM/> <ID_BIB_REF/> </REFERENCE_SPLICED_TRANSCRIPT> </p><p> 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. </p><p>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 . </p><p>Método para cargar el vector ALLELE </p><p> 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_gene='" + 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 { </p><p> pág. 66 </p><p>Capítulo 3: Solución propuesta </p><p> 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()); } } </p><p>Método para cargar el vector SEGMENT </p><p> 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); </p><p> string source = @"server = " + this .ServerName + ";" + "uid = " + this .UID + ";" + "password = " + this .Password; using (OracleConnection conn = new OracleConnection (source)) { // Abrir la conección conn.Open(); </p><p>// 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; </p><p>OracleCommand cmd = new OracleCommand (sql_srt, conn); OracleDataReader reader = cmd.ExecuteReader(); reader.Read(); </p><p> if (reader.HasRows) { OracleTransaction transaction = conn.BeginTransaction(); OracleCommand oracleCommand = new OracleCommand ("UPDATE_SEGMENT_SEQUENCE" , conn, transaction); oracleCommand.CommandType = CommandType .StoredProcedure; </p><p>OracleParameter p1 = new OracleParameter ("p_id_gene" , OracleType .VarChar); p1.Direction = ParameterDirection .Input; p1.Value = id_gene; </p><p>OracleParameter p2 = new OracleParameter ("p_allele_num" , OracleType .Number); p2.Direction = ParameterDirection .Input; p2.Value = allele_num; </p><p>OracleParameter p3 = new OracleParameter ("p_segment_num" , OracleType .Number); p3.Direction = ParameterDirection .Input; p3.Value = segment_num; </p><p>OracleParameter p4 = new OracleParameter ("p_start_position" , OracleType .Number); p4.Direction = ParameterDirection .Input; p4.Value = start_position; </p><p>OracleParameter p5 = new OracleParameter ("p_end_position" , OracleType .Number); p5.Direction = ParameterDirection .Input; p5.Value = end_position; pág. 67 </p><p>Capítulo 3: Solución propuesta </p><p>OracleParameter p6 = new OracleParameter ("p_trans_unit_num" , OracleType .Number); p6.Direction = ParameterDirection .Input; p6.Value = trans_unit_num; </p><p>OracleParameter p7 = new OracleParameter ("p_type" , OracleType .VarChar); p7.Direction = ParameterDirection .Input; p7.Value = type; </p><p>OracleParameter p8 = new OracleParameter ("cur_OUT" , OracleType .Cursor); p8.Direction = ParameterDirection .Output; </p><p> 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); </p><p>OracleDataReader odr = oracleCommand.ExecuteReader(); odr.Read(); </p><p>OracleLob clobColumn = odr.GetOracleLob(0); clobColumn.Write(clobByte, 0, clobByte.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; </p><p>OracleParameter p1 = new OracleParameter ("p_id_gene" , OracleType.VarChar); p1.Direction = ParameterDirection .Input; p1.Value = id_gene; </p><p>OracleParameter p2 = new OracleParameter ("p_allele_num" , OracleType .Number); p2.Direction = ParameterDirection .Input; p2.Value = allele_num; </p><p>OracleParameter p3 = new OracleParameter ("p_segment_num" , OracleType .Number); p3.Direction = ParameterDirection .Input; p3.Value = segment_num; </p><p>OracleParameter p4 = new OracleParameter ("p_start_position" , OracleType .Number); p4.Direction = ParameterDirection .Input; p4.Value = start_position; </p><p>OracleParameter p5 = new OracleParameter ("p_end_position" , OracleType .Number); p5.Direction = ParameterDirection .Input; p5.Value = end_position; </p><p>OracleParameter p6 = new OracleParameter ("p_trans_unit_num" , OracleType .Number); p6.Direction = ParameterDirection .Input; p6.Value = trans_unit_num; </p><p>OracleParameter p7 = new OracleParameter ("p_type" , OracleType .VarChar); p7.Direction = ParameterDirection .Input; p7.Value = type; </p><p>OracleParameter p8 = new OracleParameter ("cur_OUT" , OracleType .Cursor); p8.Direction = ParameterDirection .Output; </p><p> oracleCommand.Parameters.Add(p1); pág. 68 </p><p>Capítulo 3: Solución propuesta </p><p> 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); </p><p>OracleDataReader odr = oracleCommand.ExecuteReader(); odr.Read(); </p><p>OracleLob clobColumn = odr.GetOracleLob(0); clobColumn.Write(clobByte, 0, clobByte.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()); } } </p><p>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, segment_num, start_position, end_position, sequence, trans_unit_num, type) </p><p>VALUES ( p_id_gene, p_allele_num, p_segment_num, p_start_position, p_end_position, EMPTY_CLOB(), p_trans_unit_num, p_type); </p><p>OPEN cur_OUT FOR </p><p>SELECT sequence </p><p>FROM SEGMENT </p><p>WHERE id_gene = p_id_gene AND allele_num = p_allele_num ANd segment_num = p_segment_num AND trans_unit_num = p_trans_unit_num </p><p>FOR UPDATE; END INSERT_SEGMENT_SEQUENCE; </p><p>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 pág. 69 </p><p>Capítulo 3: Solución propuesta </p><p>, cur_OUT OUT SYS_REFCURSOR) AS BEGIN UPDATE "SEGMENT" SET start_position = p_start_position, end_position = p_end_position, type = p_type </p><p>WHERE id_gene = p_id_gene AND allele_num = p_allele_num ANd segment_num = p_segment_num AND trans_unit_num = p_trans_unit_num; </p><p>OPEN cur_OUT FOR </p><p>SELECT sequence </p><p>FROM SEGMENT </p><p>WHERE id_gene = p_id_gene AND allele_num = p_allele_num ANd segment_num = p_segment_num AND trans_unit_num = p_trans_unit_num </p><p>FOR UPDATE; END UPDATE_SEGMENT_SEQUENCE; </p><p>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. </p><p>3.2 Análisis de los módulos a desarrollar </p><p>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. </p><p>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. </p><p>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: </p><p>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. </p><p> pág. 70 </p><p>Capítulo 3: Solución propuesta </p><p>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. </p><p>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. </p><p> uc CU1 niv el 0</p><p>CU 1.1 Administrar lista de genes</p><p>«include» Interface SOAP para Entrez Utilities</p><p>«include» CU 1.2 Obtener los datos de CU 1. Cargar lista de cada gen de la lista de la genes fuente NCBI</p><p>Usuario «include»</p><p>Base de Datos Genoma CU 1.3 Cargar datos de cada gen de la lista</p><p>Diagrama 4 Caso de uso 1 (CU 1) nivel 0 </p><p>En la tabla 11Tabla 11 del anexo A, se describen los escenarios para el caso de uso “Cargar lista de genes ”. </p><p>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. </p><p> pág. 71 </p><p>Capítulo 3: Solución propuesta </p><p>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 . </p><p> uc CU1.1 niv el 1</p><p>Interface SOAP para Entrez Utilities</p><p>EUtils CU 1.1.1 Obtener el CU 1.1 Administrar identificador del gen en el lista de genes «include» NCBI para Trascription View</p><p>BD genoma</p><p>Diagrama 5 Caso de uso1.1 (CU 1.1) nivel 1 </p><p>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”. </p><p>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. </p><p>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 . </p><p> pág. 72 </p><p>Capítulo 3: Solución propuesta </p><p> uc CU1.2 niv el 1</p><p>Interface SOAP para Entrez Utilities</p><p>CU 1.2.1 Extraer los v ectores de NCBI eFetchGene</p><p>«extend» CU 1.2 Obtener datos de cada gen de la lista de la fuente NCBI</p><p>«extend» CU 1.2.2 Transformar los eFetchSeq v ectores de NCBI a v ectores de Transcription View</p><p> eFetchPubmed</p><p>Diagrama 6 Caso de uso 1.2 (CU 1.2) nivel 1 </p><p>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 ”. </p><p>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. </p><p>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 . </p><p> uc CU1.3 nivel 1</p><p>CU 1.3.1 Cargar datos de genes en CU 1.3 Cargar datos de cada gen Transcription View de la lista «extend» BD genoma</p><p>Diagrama 7 Caso de uso 1.3 (CU 1.3) nivel 1 </p><p>En la tabla 15 del anexo A, se describen los escenarios para el caso de uso “Cargar datos de cada gen de la lista”. </p><p> pág. 73 </p><p>Capítulo 4: Implementación de la solución </p><p>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 . </p><p>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: </p><p>4.1 Diseño e implementación de los módulos del sistema. 4.2 Descripción de la interface al usuario. </p><p> pág. 74 </p><p>Capítulo 4: Implementación de la solución </p><p>4.1 Diseño e implementación de los módulos del sistema </p><p>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]. </p><p> sd DS 1</p><p>Módulo Administrar Módulo obtener el identificador lista de genes del gen en el NCBI para Trascription View Usuario Módulo de Carga Interface SOAP Entrez Base de datos de lista de genes Utilities genoma Solicita administrar lista()</p><p> opt [Nueva Lista]</p><p>Solicita crear lista() :Lista</p><p>Crea lista()</p><p>[Abrir Lista]</p><p> solicita abrir lista() :Lista</p><p>Abre lista()</p><p> opt Introduce el nombre [Agregar elemento] del elemento gen que desea agregar a la lista(String) Inserta elemento de la lista(String) Buscar ID de elemento en el NCBI(String) :String Extraer indice del elemento gen del NCBI(String) :vector</p><p> alt Buscar gen en la base de datos genoma(String) :Vector [IF existe Gen]</p><p>[Eliminar elemento] Solicita eliminar elemento de la lista(String) :boolean Elimina elemento de la lista(String) :boolean</p><p> opt [Guardar lista] Solicita guardar lista()</p><p>Guarda lista(lista, path)</p><p>Diagrama 8 Diagrama de secuencia 1 Administrar lista de genes </p><p> pág. 75 </p><p>Capítulo 4: Implementación de la solución sd DS 2</p><p>Módulo extraer datos de Modulo transformar la fuente NCBI vectores NCBI a Transcription View Usuario Módulo de Carga Interface SOAP Entrez de lista de genes Utilities</p><p>Solicita cargar lista a la base de datos()</p><p> loop [fuente del gen=NCBI] Extraer cada gen correspondiente a la fuente NCBI y transformar a Transcriptionn View()</p><p>Extraer vector de eUtils()</p><p>Transformar vector de eUtils a principal de gene()</p><p> loop Extraer vector de eFetchPubmed() [hasta referencias=0] Transformar vector de eFetchPubmed a Referencia()</p><p>Extraer vector de eFecthSeq()</p><p>Transformar vector de eFetchSeq a Secuencia principal()</p><p> loop Extraer vector de eFetchPubmed() [hasta referencias=0] Transformar vector de eFetchPubmed a Referencia()</p><p> loop Extraer vector de eFecthSeq() [hasta ARNs=0] Transformar vector eFetchSeq a ARN()</p><p> loop Extraer vector de eFetchPubmed() [hasta referencias=0] Transformar vector de eFetchPubmed a Referencia()</p><p> loop Transformar vector eFetchSeq a Exon() [hasta exones=0]</p><p> loop Transformar vector eFetchSeq a Intron() [hasta intrones=0]</p><p>Desplegar informacion del gen extraida correctamente()</p><p>Diagrama 9 Diagrama de secuencia 2 Extracción y transformación de los datos del NCBI </p><p> pág. 76 </p><p>Capítulo 4: Implementación de la solución sd DS 3</p><p>Modulo Cargar Cargar Módulo cargar datos de cada Transcription base de datos gen de la lista View genoma Módulo de Carga Base de datos de lista de genes genoma</p><p>Cargar datos del gen extraido()</p><p> opt Cargar datos del gen en [Cargar en Transcription view] Transcription view()</p><p>Cargar vector Principal de gene() Cargar vectror LOG()</p><p>Cargar vector GENE()</p><p> loop Cargar vector [hasta referencias=0] BIBLIOGRAPHY_REFERENCE()</p><p>Cargar vector REFERENCE_GENE()</p><p>Cargar vector Secuencia principal() Cargar vector ALLELE()</p><p> loop Cargar vector [hasta referencias=0] BIBLIOGRAPHY_REFERENCE()</p><p>Cargar vector REFERENCE_ALLELE()</p><p>Cargar vector TRANSCRIPTION_UNIT()</p><p>Cargar vector SEGMENT()</p><p> loop Cargar vector [hasta referencias=0] BIBLIOGRAPHY_REFERENCE()</p><p>Cargar vector REFERENCE_SEGMENT()</p><p> loop Cargar vector ARN() Cargar vector [hasta ARNs=0] SPLICED_TRANSCRIPT()</p><p> loop Cargar vector [hasta referencias=0] BIBLIOGRAPHY_REFERENCE()</p><p>Cargar vector REFERENCE_SPLICED_TRANSCRIPT()</p><p>Cargar vector PRIMARY_TRANSCRIPT()</p><p> loop [hasta exones=0] Cargar vector Exon() Cargar vector ELEMENT_TRANSCRPT()</p><p>Cargar vector PRODUCES()</p><p> loop Cargar vector Intron() [hasta Intrones=0] Cargar vector ELEMENT_TRANSCRPT()</p><p>Cargar vector PRODUCES()</p><p>Desplegar informacion del gen cargada correctamente()</p><p>Diagrama 10 Diagrama de secuencia 3 carga de datos en la base de datos genoma </p><p> pág. 77 </p><p>Capítulo 4: Implementación de la solución </p><p>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 . </p><p> deployment DD</p><p>PC Usuario Serv idor de Base de Datos</p><p>«VPN» Sistema ETL «datastore» Conección Oracle genoma</p><p>Administrar Lista Transformacion de Carga de datos datos «access» Usuario NCBI</p><p>«interface» Interface SOAP Entrez Utilities Lista de genes Extraccion de «SOAP» datos</p><p>«HTTP» EfetchPubmed</p><p>EUtils EFetchGene EFetchSeq</p><p>Diagrama 11 Diagrama de despliegue del sistema ETL </p><p>La arquitectura de clases de la implementación fue desarrollada utilizando principalmente los siguientes patrones de diseño: </p><p>• 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. </p><p>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 ). pág. 78 </p><p>Capítulo 4: Implementación de la solución </p><p> class DC 1</p><p>CListManager</p><p>+ NewList() : void + OpenList() : void + SaveList() : void + AddElement() : void + DeleteElement() : void</p><p>AElementList</p><p>+ GetElement() : void + GetError() : void</p><p>CNCBIElementTranscriptionView COtherElemenOtherView</p><p>- ServerName: String + GetElement() : void - UID: String - Password: String</p><p>+ GetElement() : void + GetGeneID() : void + SearchLOG() : void + GetServerData() : void + SetServerData() : void</p><p>Diagrama 12 Arquitectura de clases del módulo adminsitrar lista de genes </p><p> class DC 2</p><p>AStrgyExtrac AStrgyTransform</p><p>+ Execute() : void + Execute() : void + GetError() : void + GetError() : void</p><p>ANCBITranscriotionView ATransformNCBIToTranscriptionView</p><p>+ Execute() : void + Execute() : void</p><p>CEntezUtilitiesTranscriptionView CEntrezUtilitiesToTranscriptionView</p><p>+ Execute() : void + Execute() : void + ExtractEFechtGeneVector() : void + TransformEFGeneToPGene() : void + ExtractEFechtPubmedVector() : void + TransformEFSeqToAllele() : void + ExtractEFechtSeqVector() : void + TransformEFSeqToSegment() : void + TransformEFSeqToARN() : void + TransformEFSeqToExonsAndIntrons() : void + TransformEFPubmedToReferenceGene() : void + TransformEFPubmedToReferenceAllele() : void + TransformEFPubmedToReferenceSegment() : void + TransformEFPubmedToReferenceARN() : void</p><p>Diagrama 13 Arquitectura de clases del módulo de extracción-transformación </p><p> pág. 79 </p><p>Capítulo 4: Implementación de la solución class DC 3</p><p>AStrgyLoadToDatabase</p><p>+ Execute() : void + GetError() : void</p><p>ALoadTranscriptionView ALoadGeneMutationView</p><p>+ Execute() : void + Execute() : void</p><p>CLoadTranscriptionView CLoadGeneMutationView</p><p>- IntermediateStructureXMLPath: String + Execute() : void - ServerName: String - UID: String - Password: String</p><p>+ Execute() : void + InitialLoad() : void CLoadGenomaDatabase + LoadLOG() : void + LoadGENE() : void - ServerName: String + LoadALLELE() : void - UID: String + LoadSEGMENT() : void - Password: String + LoadSPLICED_TRANSCRIPT() : void + LoadELEMENTS_TRANSCRIPT() : void + Execute() : void + UpdateLOG() : void + SearchLOG() : void + SetServerData() : void + SearchGENE() : void + GetServerData() : 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</p><p>Diagrama 14 Arquitectura de clases del módulo de carga </p><p> pág. 80 </p><p>Capítulo 4: Implementación de la solución </p><p>4.2 Descripción de la interfaz al usuario </p><p>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 ). </p><p>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. </p><p>Figura 11 Interface principal </p><p>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 . </p><p> pág. 81 </p><p>Capítulo 4: Implementación de la solución </p><p>Figura 12 Interface para configurar la conexión con la base de datos </p><p>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. </p><p>Figura 13 Interface para la administración de la lista de genes </p><p>En el anexo E se muestra como ejemplo la carga del gen NF1 utilizando las interfaces al usuario. </p><p> pág. 82 </p><p>Capítulo 5: Plan experimental </p><p>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. </p><p>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: </p><p>5.1 Resultados de la ejecución del plan experimental. 5.2 Análisis de resultados. </p><p> pág. 83 </p><p>Capítulo 5: Plan experimental </p><p>5.1 Resultados de la ejecución del plan experimental </p><p>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. </p><p>Descripción del identificador: </p><p>ETL : Extract, Transform, and Load NCBI: National Center for Biotechnology Information. GD: Genoma Database La siguiente lista define las características probadas: </p><p> 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. </p><p>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. </p><p>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 . </p><p>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 . </p><p>Las tablas correspondientes a la vista transcripción son: GEN, BIBLIOGRAPHY_REFERENCE, BIBLIOGRAPHY_DATABANK, REFERENCE_GENE, </p><p> pág. 84 </p><p>Capítulo 5: Plan experimental </p><p>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 . </p><p>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. </p><p>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). </p><p>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. </p><p> pág. 85 </p><p>Capítulo 5: Plan experimental </p><p>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). </p><p>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. </p><p> pág. 86 </p><p>Capítulo 5: Plan experimental </p><p>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). </p><p>Figura 16 Mensaje de obtención del identificador del NCBI </p><p>Figura 17 Lista con un elemento OBSERVACIONES: La aplicación tardó aproximadamente 2 segundos en agregar el elemento a la lista. </p><p> pág. 87 </p><p>Capítulo 5: Plan experimental </p><p>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). </p><p>Figura 18 Agregando un elemento invalido a la lista de genes </p><p>OBSERVACIONES: La aplicación tardó aproximadamente 2 segundos en mostrar el mensaje de error. </p><p>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). </p><p>Figura 19 Elemento eliminado de la lista de genes </p><p> pág. 88 </p><p>Capítulo 5: Plan experimental </p><p>OBSERVACIONES: La aplicación tardó aproximadamente 1 segundos en mostrar la lista. </p><p>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). </p><p>Figura 20 Lista generada con 10 genes </p><p>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 filtro 44 : 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 </p><p>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 ) pág. 89 </p><p>Capítulo 5: Plan experimental genes encontrados ( figura 21 ). </p><p>Figura 21 Comprobación de los 10 genes insertados mediante Entrez NCBI </p><p>OBSERVACIONES: La aplicación tardó aproximadamente 30 segundos en generar la lista. </p><p>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. </p><p> pág. 90 </p><p>Capítulo 5: Plan experimental </p><p>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)</p><p>Figura 23 Comprobación de los 20 genes insertados mediante Entrez NCBI </p><p> pág. 91 </p><p>Capítulo 5: Plan experimental </p><p>OBSERVACIONES: La aplicación tardó aproximadamente 1 minuto en generar la lista. </p><p>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). </p><p>Figura 24 Carga del gen NF1 </p><p> pág. 92 </p><p>Capítulo 5: Plan experimental </p><p>OBSERVACIONES: La aplicación tardó aproximadamente 1 minutos en cargar el gen. </p><p>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). </p><p>Figura 25 Cargando 10 genes en la base de datos genoma </p><p> pág. 93 </p><p>Capítulo 5: Plan experimental </p><p>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. </p><p>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). </p><p> pág. 94 </p><p>Capítulo 5: Plan experimental </p><p>Figura 27 Cargando 20 genes en la base de datos genoma </p><p>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. </p><p> pág. 95 </p><p>Capítulo 5: Plan experimental </p><p>5.2 Análisis de resultados </p><p>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. </p><p>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. </p><p>Tabla 10 Resultados de las pruebas de carga de datos Número de genes a Tiempo promedio de Tiempo promedio de Tiempo promedio de cargar carga con un ancho de carga con un ancho de carga con un ancho de banda de 512 Kbps banda de 1 Mbps 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 </p><p>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. </p><p> pág. 96 </p><p>Capítulo 5: Plan experimental </p><p>Figura 29 Análisis de las pruebas de carga de datos </p><p>Si observamos la gráfica de la figura 29, podemos observar que se llegar á a un punto en el cual, el aumento del ancho de banda no representar á un aumento significa tivo en el tiempo de la carga, por lo que se propone para t rabajos futuros optimizar los métodos de extracción, transformación y de carga. </p><p>Arquitecturas propuestas como resultado del trabajo de investigación </p><p>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 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 de datos genoma . Esta metodología utiliza técnicas de ETL adaptadas a las necesidades de la base de datos genoma . </p><p>Dada la característica evolutiva de dicha base de datos y el límite de tiempo para el desarrollo de este trabajo de investigación , se proponen una arquitectura dinámica que de soporte integral a la base de datos genoma , utilizando nuestra metodología para el diseño de nuevos módulos de carga y apr ovechando la experiencia adquirida para el desarrollo de nuevos módulos. </p><p> pág. 97 </p><p>Capítulo 5: Plan experimental </p><p>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. </p><p>Arquitectura ETL para la base de datos genoma </p><p>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: </p><p>• 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 </p><p> pág. 98 </p><p>Capítulo 5: Plan experimental </p><p> 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. </p><p> pág. 99 </p><p>Capítulo 5: Plan experimental </p><p> act Arquitectura ETL para genoma</p><p>«datastore» «datastore» «datastore» «datastore» NCBI HGMD MutDB Other´s Sources</p><p>Update Trigger Source Extract XSD Reference Engine Engine XSD Reference Generate Engine 2</p><p>XML Source XML Reference Genome Load «datastore» Engine DB Genome 1</p><p>User DB administrator</p><p>XML Transformation Engine</p><p>XSLT Generation 1 Engine</p><p>2</p><p>XSLT Source-Reference</p><p>Diagrama 15 Arquitectura ETL para la base de datos genoma </p><p>Arquitectura para consultas en lenguaje natural sobre la literatura contenida en la base de datos genoma </p><p>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. </p><p>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 </p><p> pág. 100 </p><p>Capítulo 5: Plan experimental a un módulo esencial dentro de la arquitectura. A continuación se describe cada uno de los módulos de la arquitectura: </p><p>• 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. </p><p> pág. 101 </p><p>Capítulo 5: Plan experimental </p><p> act Arquitectura LN para genoma</p><p>«datastore» DB Genome</p><p>Ontology Engine</p><p>«datastore» Ontology Repository</p><p>SPARQL Query Engine The Stanford Parser</p><p>User literature query </p><p>Diagrama 16 Arquitectura para consultas en lenguaje natural sobre la literatura contenida en la base de datos genoma </p><p>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 ). </p><p> pág. 102 </p><p>Capítulo 5: Plan experimental act Arquitecturas para genoma</p><p>«datastore» «datastore» «datastore» «datastore» NCBI HGMD MutDB Other´s Sources</p><p>Update Trigger Source Extract XSD Reference Engine Engine XSD Reference Generate Engine 2</p><p>XML Source XML Reference Genome Load «datastore» Engine DB Genome 1</p><p>User DB administrator</p><p>Ontology Engine</p><p>XML Transformation Engine</p><p>XSLT Generation 1 Engine «datastore» Ontology Repository 2</p><p>XSLT Source-Reference</p><p>SPARQL Query Engine The Stanford Parser</p><p>User literature query </p><p>Diagrama 17 Vista de las arquitecturas de carga y consultas literarias </p><p> pág. 103 </p><p>Capítulo 6: Conclusiones y trabajos futuros </p><p>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: </p><p>6.1 Conclusiones. 6.2 Aportaciones. 6.3 Trabajos futuros. </p><p> pág. 104 </p><p>Capítulo 6: Conclusiones y trabajos futuros </p><p>6.1 Conclusiones </p><p>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. </p><p>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. </p><p>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 . </p><p>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. </p><p>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 </p><p> pág. 105 </p><p>Capítulo 6: Conclusiones y trabajos futuros 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 . </p><p>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. </p><p>6.2 Aportaciones </p><p>• 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. </p><p> pág. 106 </p><p>Capítulo 6: Conclusiones y trabajos futuros </p><p>• 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. </p><p>6.3 Trabajos futuros </p><p>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. </p><p>• 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><p> pág. 107 </p><p>Anexo A Escenarios de los casos de uso </p><p>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. </p><p> pág. 108 </p><p>Anexo A Escenarios de los casos de uso </p><p>Tabla 11 Escenarios para el caso de uso "Cargar lista de genes" ID: CU 1 Nombre del Caso de Cargar lista de genes. Uso: Autor: Rodríguez Pliego José Última Rodríguez Pliego José Luis Modificación: Luis Fecha de creación: 1-Abril-2009 Fecha de la última 17 -Julio -2009 modificación: 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 1. El módulo cargar lista de genes recibe la solicitud del usuario de generar principal: 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 pág. 109 </p><p>Anexo A Escenarios de los casos de uso </p><p> 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 . </p><p>Tabla 12 Escenarios para el caso de uso “Administrar lista de genes” ID: CU 1.1 Nombre del Caso de Administrar lista de genes. Uso: Autor: Rodríguez Pliego José Última Rodríguez Pliego José Luis Modificación: Luis Fecha de creación: 1-Abril-2009 Fecha de la última 17 -Julio -2009 modificación: 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 1. El módulo administrar lista de genes crea una lista nueva de genes. principal: 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 1. El módulo administrar lista de genes abre una lista de genes existente. alterno 1: 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. </p><p> pág. 110 </p><p>Anexo A Escenarios de los casos de uso </p><p>3. El módulo administrar lista de genes inf orma 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. </p><p>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 Obtener identificador del gen en el NCBI para Transcription View . Uso: Autor: Rodríguez Pliego José Última Rodríguez Pliego José Luis Modificación: Luis Fecha de creación: 05 -Junio -2009 Fecha de la última 17 -Julio -2009 modificación: 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 valid o de la fuente NCBI . Escenario de éxito 1. El módulo obtener identificador del gen en el NCBI para Transcription principal: 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 </p><p> pág. 111 </p><p>Anexo A Escenarios de los casos de uso </p><p> 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. </p><p>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 Obtener datos de cada gen de la lista de la fuente NCBI . Uso: Autor: Rodríguez Pliego José Última Rodríguez Pliego José Luis Modificación: Luis Fecha de creación: 1-Abril-2009 Fecha de la última 17 -Julio -2009 modificación: 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 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. principal: 2. El módulo obtener datos de cada gen de la lista de la fuente NCBI extrae pág. 112 </p><p>Anexo A Escenarios de los casos de uso </p><p> 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. </p><p>Tabla 15 Escenarios para el caso de uso “Cargar datos de cada gen de la lista” ID: CU 1.3 Nombre del Caso de Cargar datos de cada gen de la lista. Uso: Autor: Rodríguez Pliego José Última Rodríguez Pliego José Luis Modificación: Luis Fecha de 05 -Junio -2009 Fecha de la última 17 -Julio -2009 modificación: 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 1. El módulo cargar datos de cada gen de la lista recibe cada vector de cada gen. principal: 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, pág. 113 </p><p>Anexo A Escenarios de los casos de uso </p><p>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 car gar 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><p> pág. 114 </p><p>Anexo B Plan de pruebas ETLNCBIGD </p><p>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]. </p><p> pág. 115 </p><p>Anexo B Plan de pruebas ETLNCBIGD </p><p>Plan de pruebas ETLNCBIGD </p><p>Descripción del identificador: </p><p>ETL: Extract, Transform, and Load </p><p>NCBI: National Center for Biotechnology Information. </p><p>GD: Genoma Database </p><p>Introducción </p><p>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. </p><p>ETLNCBIGD consiste en tres módulos principales: </p><p>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 </p><p>La hipótesis nula a probar es la siguiente: </p><p>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. </p><p>La hipótesis alterna es: </p><p>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. </p><p>Aparte de este punto 1 de introducción, el presente documento contiene los siguientes puntos: </p><p>2. Descripción del plan 3. Casos de Prueba 4. Procedimientos de Pruebas. 5. Resultado de Pruebas </p><p> pág. 116 </p><p>Anexo B Plan de pruebas ETLNCBIGD </p><p>2. Descripción del Plan </p><p>2.1. Características a ser probadas </p><p>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. </p><p>2.2. Características excluidas de las pruebas </p><p> 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: </p><p>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. </p><p>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. </p><p>2.4 Criterio pasa/ no pasa de casos de prueba. </p><p>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. </p><p>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. </p><p>2.5. Criterios de suspensión y requerimientos de reanudación. </p><p>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. </p><p>2.6. Tareas de pruebas. </p><p>Las tareas a desarrollar para preparar y aplicar las pruebas (tabla 16) </p><p>Tabla 16 Tareas a desarrollar para preparar y aplicar las pruebas Tarea Precedente Habilidades especiales Responsabilidades 1. Preparación del plan de Terminación Conocimiento sobre la metodología propuesta Autor de esta tesis pruebas. del análisis y en esta tesis, la herramienta desarrollada y del diseño de IEEE Std. 829. ETLNCBIGD pág. 117 </p><p>Anexo B Plan de pruebas ETLNCBIGD </p><p>2. Preparación del diseño Tarea 1 Conocimiento sobre la estructura de Autor de esta tesis de pruebas. ETLNCBIGD , sus clases y métodos la interfaz al usuario y del IEEE Std. 829. 3. Preparación de los Tarea 2 Conocimiento básico de genética y de la Autor de esta tesis casos de prueba. interfaz al usuario de la herramienta. 4. Aplicación de pruebas. Tarea 3 Conocimiento del entorno y de la interfaz al Autor de esta tesis usuario para su ejecución. 5. Resolver los incidentes Tarea 4 Conocimiento del lenguaje de programación Autor de esta tesis de pruebas. C# , de los servicios web, de herramientas ETL , de base de datos. 6. Evaluación de Tarea 4 Conocimiento de las preguntas de Autor de esta tesis resultados. Tarea 5 investigación, la hipótesis de prueba, y los objetivos de esta tesis. </p><p>2.7. Liberación de pruebas. </p><p>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. </p><p>2.8. Requisitos ambientales. </p><p>Las características y propiedades físicas (tabla 17) y lógicas (tabla 18) requeridas para el ambiente de pruebas, son las siguientes: </p><p>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 </p><p>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 </p><p> pág. 118 </p><p>Anexo B Plan de pruebas ETLNCBIGD </p><p>2.9 Responsabilidades. </p><p>Toda la responsabilidad de las pruebas recae en el autor de la tesis. </p><p>2.10 Riesgos y contingencias. </p><p> 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. </p><p>3.1 Características a probar </p><p>La siguiente lista define las características a ser probadas: </p><p> 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 </p><p>ETLNCBIGD-101 Pruebas de conexión con el servidor de la base de datos genoma. </p><p>ETLNCBIGD-101-001 Probar conexión con la base de datos genoma utilizando datos inválidos. </p><p>ETLNCBIGD-101-002 Probar conexión con la base de datos genoma utilizando datos validos. </p><p>3.3 Pruebas de generación de la lista de genes </p><p>ETLNCBIGD-201 Pruebas de generación de la lista de genes. </p><p>ETLNCBIGD-201-001 Agregar un nuevo elemento valido a la lista de genes. </p><p>ETLNCBIGD-201-002 Agregar un nuevo elemento invalido a la lista de genes. </p><p>ETLNCBIGD-201-003 Eliminar un elemento de la lista de genes. </p><p>ETLNCBIGD-201-004 Generar una lista de 10 elementos. </p><p> pág. 119 </p><p>Anexo B Plan de pruebas ETLNCBIGD </p><p>ETLNCBIGD-201-005 Generar una lista de 20 elementos. </p><p>3.4 Pruebas para la carga de los datos. </p><p>ETLNCBIGD -301-Pruebas para la carga de los datos. </p><p>ETLNCBIGD-301-001 Cargar una lista de un elemento. </p><p>ETLNCBIGD-301-002 Cargar una lista de 10 elementos. </p><p>ETLNCBIGD-301-003 Cargar una lista de 20 elementos. </p><p>4. Procedimiento de Pruebas </p><p>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. </p><p>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. </p><p>En general, los casos de prueba dentro de un grupo de pruebas deberán ejecutarse en el orden de su descripción. </p><p>4.1 ETLNCBIGD-101 Pruebas de conexión con el servidor de la base de datos genoma. </p><p>4.1.1 Propósito </p><p>Verificar que el módulo configurar conexión con el servidor de la base de datos funcione correctamente. </p><p>4.1.2 Entorno de prueba. </p><p>Para la ejecución de los casos de prueba contenidos en este grupo se utilizarán los siguientes elementos: </p><p>• 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 . </p><p>4.1.3.1 Propósito </p><p>Verificar que los datos inválidos no permiten establecer una conexión con el servidor de la base de datos genoma. </p><p> pág. 120 </p><p>Anexo B Plan de pruebas ETLNCBIGD </p><p>4.1.3.2 Entorno de prueba. </p><p>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 . </p><p>4.1.3.3 Proceso </p><p>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. </p><p>4.1.3.4 Resultado esperado. </p><p>Un mensaje en pantalla que indique el error generado debido a los datos inválidos. </p><p>4.1.4 ETLNCBIGD-101-001 Probar conexión con la base de datos genoma utilizando datos validos . </p><p>4.1.4.1Propósito </p><p>Verificar que los datos validos permiten establecer una conexión con el servidor de la base de datos genoma. </p><p>4.1.4.2 Entorno de prueba. </p><p>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 . </p><p>4.1.4.3. Proceso </p><p>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. </p><p>Un mensaje en pantalla que indique que la prueba de conexión es correcta debido al uso de datos validos. </p><p>4.2 ETLNCBIGD-201 Pruebas de generación de la lista de genes </p><p>4.2.1 Propósito </p><p>Verificar que el módulo administrar lista de genes funcione correctamente. </p><p> pág. 121 </p><p>Anexo B Plan de pruebas ETLNCBIGD </p><p>4.2.2 Entorno de prueba. </p><p>Para la ejecución de los casos de prueba contenidos en este grupo se utilizarán los siguientes elementos: </p><p>• PC con conexión a Internet. • Conexión VPN a la UPV . • Servicio Web EUtils . </p><p>4.2.3 ETLNCBIGD-201-001 Agregar un nuevo elemento valido a la lista de genes. </p><p>4.2.3.1 Propósito </p><p>Verificar que se agrega un elemento valido a la lista de genes y su correspondiente identificador en el NCBI . </p><p>4.2.3.2 Entorno de prueba. </p><p>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 . </p><p>4.2.3.3 Proceso </p><p>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. </p><p>La lista de genes ahora muestra un nuevo elemento. </p><p>4.2.4 ETLNCBIGD-201-002 Agregar un nuevo elemento inválido a la lista de genes. </p><p>4.2.4.1 Propósito </p><p>Verificar que no se agrega un elemento inválido a la lista de genes. </p><p>4.2.4.2 Entorno de prueba. </p><p>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 . </p><p>4.2.4.3 Proceso </p><p>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. </p><p> pág. 122 </p><p>Anexo B Plan de pruebas ETLNCBIGD </p><p>4.2.4.4 Resultado esperado. </p><p>La lista de genes no muestra un nuevo elemento. </p><p>4.2.5 ETLNCBIGD-201-003 Eliminar un elemento de la lista de genes. </p><p>4.2.5.1 Propósito </p><p>Verificar que se elimina un elemento de la lista de genes. </p><p>4.2.5.2 Entorno de prueba. </p><p>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 . </p><p>4.2.5.3 Proceso </p><p>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. </p><p>La lista de genes ahora no muestra el elemento eliminado. </p><p>4.2.6 ETLNCBIGD-201-004 Generar una lista de 10 elementos. </p><p>4.2.6.1 Propósito </p><p>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. </p><p>4.2.6.2 Entorno de prueba. </p><p>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 . </p><p>4.2.6.3 Proceso </p><p>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. </p><p>La lista de genes muestra los 10 elementos que la conforman. </p><p> pág. 123 </p><p>Anexo B Plan de pruebas ETLNCBIGD </p><p>4.2.7 ETLNCBIGD-201-005 Generar una lista de 20 elementos. </p><p>4.2.7.1 Propósito </p><p>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. </p><p>4.2.7.2 Entorno de prueba. </p><p>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 . </p><p>4.2.7.3 Proceso </p><p>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. </p><p>4.2.7.4 Resultado esperado. </p><p>La lista de genes muestra los 20 elementos que la conforman. </p><p>4.3 ETLNCBIGD-301-Pruebas para la carga de los datos. </p><p>4.3.1 Propósito </p><p>Verificar que el módulo cargar datos en la base de datos genoma funcione correctamente. </p><p>4.3.2 Entorno de prueba. </p><p>Para la ejecución de los casos de prueba contenidos en este grupo se utilizarán los siguientes elementos: </p><p>• 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. </p><p>4.3.3.1 Propósito </p><p>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. </p><p> pág. 124 </p><p>Anexo B Plan de pruebas ETLNCBIGD </p><p>4.3.3.2 Entorno de prueba. </p><p>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 . </p><p>4.3.3.3 Proceso </p><p>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. </p><p>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><p>4.3.4 ETLNCBIGD-301-003 Cargar una lista de 10 elementos. </p><p>4.3.4.1 Propósito </p><p>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. </p><p>4.3.4.2 Entorno de prueba. </p><p>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 . </p><p>4.3.4.3 Proceso </p><p>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 . </p><p> pág. 125 </p><p>Anexo B Plan de pruebas ETLNCBIGD </p><p>4.3.4.4 Resultado esperado. </p><p>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><p>4.3.5 ETLNCBIGD-301-003 Cargar una lista de 20 elementos. </p><p>4.3.5.1 Propósito </p><p>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. </p><p>4.3.5.2 Entorno de prueba. </p><p>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 . </p><p>4.3.5.3 Proceso </p><p>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. </p><p>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><p> pág. 126 </p><p>Anexo C Diagrama entidad-relación de la vista Transcription de la base de datos genoma </p><p>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. </p><p> pág. 127 </p><p>Anexo C Diagrama entidad-relación de la vista Transcription de la base de datos genoma </p><p>A GENE id_symbol : string(10) GENE DATA BANK id_HUGO: integer(10) IDENT. official_name: string(1000) id_gene : string(10) summary: string(1000) id_data_bank : string(10) chromosome: integer(2) Id_gene_db: string(20) locus: string(30)</p><p>DATA BANK ALLELE id_data_bank : string(10) name: string(100) id_gene : string(10) description: string(1000) allele_num : integer(10) ALLELE DATA BANK start_position: integer(15) IDENT. end_position: integer(15) id_gene : string(10) strand: {minus, plus} allele_num : integer(10) id_data_bank : string(10) Id_allele_db: string(20)</p><p>TRANSCRIPTION UNIT B id_gene : string(10) allele_num : integer(10) trans_unit_num : integer(10)</p><p>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) 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</p><p>PRIMARY TRANSCRIPT id_gene : string(10) allele_num : integer(10) segment_num : integer(10) sequence : clob</p><p>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) C REFERENCE_ALLELE REFERENCE_GENE end_position: integer(15) id_gene : string(10) id_gene : string(10) sequence : clob allele_num : integer(10) id_bib_ref : integer(10) id_bib_ref : integer(10)</p><p>PRODUCES BIBLIOGRAPHY REFERENCE id_gene : string(10) BIBLIOGRAPHY DATA BANK id_bib_ref : integer(10) allele_num : integer(10) bib_data_bank_name : string(100) title: string(1000) segment_num : integer(10) id_bib_ref : integer(10) abstract: clob element_num : integer(10) url: url publication: string(1000) spliced_transcript_num : integer(10) authors: string(1000) REFERENCE_SEGMENT id_gene : string(10) allele_num : integer(10) segment_num : integer(10) SPLICED TRANSCRIPT id_bib_ref : integer(10) id_gene : string(10) REFERENCE_SPLICED TRANS. allele_num : integer(10) spliced_transcript_num : integer(10) id_gene : string(10) type: {mRNA, others} allele_num : integer(10) sequence : clob spliced_transcript_num : integer(10) id_bib_ref : integer(10)</p><p> pág. 128 </p><p>Anexo C Diagrama entidad-relación de la vista Transcription de la base de datos genoma </p><p>Restricciones externas: </p><p>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><p> pág. 129 </p><p>Anexo D Videos ilustrativos sobre nociones de genética </p><p>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. </p><p> pág. 130 </p><p>Anexo D Videos ilustrativos sobre nociones de genética </p><p>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><p> pág. 131 </p><p>Anexo E Ejemplo de la carga del gen NF1 </p><p>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. </p><p> pág. 132 </p><p>Anexo E Ejemplo de la carga del gen NF1 </p><p>ETL para la carga de datos del NCBI a Genoma Database </p><p>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 . </p><p>La administración de la conexión permite al usuario cambiar los atributos de conexión con la base de datos genoma (figura 30). </p><p>Figura 30 Administración de la conexión con la base de datos genoma </p><p>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. </p><p> pág. 133 </p><p>Anexo E Ejemplo de la carga del gen NF1 </p><p>Figura 31 Agregando un elemento a la lista de genes </p><p>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). </p><p> pág. 134 </p><p>Anexo E Ejemplo de la carga del gen NF1 </p><p>Figura 32 Cargando gen NF1 </p><p>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. </p><p> pág. 135 </p><p>Anexo E Ejemplo de la carga del gen NF1 </p><p>Figura 33 Comprobación de la inserción de los datos en la tabla "GENE" </p><p>Figura 34 Comprobación de la inserción de los datos en la tabla "ALLELE" </p><p>Figura 35 Comprobación de la inserción de los datos en la tabla "SEGMENT" </p><p>Figura 36 Comprobación de la inserción de los datos en la tabla "SPLICED_TRANSCRIPT" </p><p>Figura 37 Comprobación de la inserción de los datos en la tabla "ELEMENT_TRANSCRIPT" </p><p> pág. 136 </p><p>Anexo E Ejemplo de la carga del gen NF1 </p><p>Figura 38 Comprobación de la inserción de los datos en la tabla "PRODUCES" </p><p>Figura 39 Comprobación de la inserción de los datos en la tabla "BIBLIOGRAPHY_REFERENCE" </p><p>Figura 40 Comprobación de la inserción de los datos en la tabla "BIBLIOGRAPHY_DATABANK" </p><p> pág. 137 </p><p>Anexo F Glosario de términos y siglas </p><p>En este anexo se muestra el glosario de términos y siglas correspondiente a este documento de tesis. </p><p> pág. 138 </p><p>Anexo F Glosario de términos y siglas </p><p>A continuación se presentan algunos términos y siglas utilizados en esta tesis. 45 </p><p>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 n ucleó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. </p><p>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 pág. 139 </p><p>Anexo F Glosario de términos y siglas </p><p>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 r eú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 ) </p><p> pág. 140 </p><p>Anexo F Glosario de términos y siglas </p><p>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) </p><p>Pro S 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. </p><p> pág. 141 </p><p>Anexo F Glosario de términos y siglas </p><p>SNP Single Nucleotide Polymorphism (SNP por sus siglas en ingles) T Sí mbolo oficial de l a Timina Transcripción Biosíntesis de una molécula de ARN por polimerización de nucleótidos genética 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 ) </p><p> pág. 142 </p><p>Referencias </p><p>Referencias </p><p>[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 </p><p>[ALTSCHUL90] Altschul SF, Gish W, Miller W, Myers EW, Lipman DJ. , Basic Local Alignment Search Tool. , J Mol Biol , 1990 </p><p>[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 </p><p>[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 </p><p>[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 </p><p>[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 </p><p>[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 </p><p> pág. 143 </p><p>Referencias </p><p>[EFETCH] National Center for Biotechno logy 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 </p><p>[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 </p><p>[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 </p><p>[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 </p><p>[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 </p><p>[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 </p><p>[FILETO03] Fileto Renato, Bauzer Medeiros Claudia, A Survey on Information Systems Interoperability, Technical Report –IC-03-030, Diciembre 2003 </p><p>[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 </p><p>[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 </p><p> pág. 144 </p><p>Referencias </p><p>[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 </p><p>[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 </p><p>[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 </p><p>[KIMBALL02] Ralph Kimball, Margy Ross, The Data Warehouse Toolkit, John Wiley and Sons, Inc., 2002, ISBN 0-471-20024-7 </p><p>[KIMBALL04] Ralph Kimball, Joe Caserta, The Data Warehouse, ETL Toolkit, Wiley Publishing, Inc., 2004, eISBN: 0-764-57923-1 </p><p>[KIMMEL05] Paul Kimme l, Uml Demystified, Mcgraw -Hill Osborne Media, 2005, ISBN -13: 978-0072261820 </p><p>[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 </p><p> pág. 145 </p><p>Referencias </p><p>[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 </p><p>[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 </p><p>[PASTOR08] Oscar Pastor, Conceptual Modeling meets the Human Genome, Springer Berlin / Heidelberg, Noviembre 2008, ISBN: 978-3-540-87876-6 </p><p>[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 </p><p>[PRLIC08] Prli ć, A., BioJava: an Open -Source Framework for Bioinformatics, Published by Oxford University Press, Agosto 2008 </p><p>[RODDEN05] Tara Rodden Robinson , Genetics For Dummies®, Wiley Publishing, Inc., 2005, ISBN-13: 978-0-7645-9554-7, ISBN-10: 0-7645-9554-7 </p><p>[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 </p><p> pág. 146 </p><p>Referencias </p><p>[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 </p><p>[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 </p><p>[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 </p><p>[STEPHE NS 06 ] 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 </p><p>[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 </p><p>[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 </p><p>[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 </p><p>[ZHONG07] Weiwei Zhong y Paul W. Sternberg, Automated data integration for developmental biological research, Development, 2007 </p><p> pág. 147 </p><p>Referencias </p><p> pág. 148 </p> </div> </article> </div> </div> </div> <script type="text/javascript" async crossorigin="anonymous" src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8519364510543070"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js" crossorigin="anonymous" referrerpolicy="no-referrer"></script> <script> var docId = 'a09e43e6ced13e10917c3c6450af7781'; var endPage = 1; var totalPage = 160; var pfLoading = false; window.addEventListener('scroll', function () { if (pfLoading) return; var $now = $('.article-imgview .pf').eq(endPage - 1); if (document.documentElement.scrollTop + $(window).height() > $now.offset().top) { pfLoading = true; endPage++; if (endPage > totalPage) return; var imgEle = new Image(); var imgsrc = "//data.docslib.org/img/a09e43e6ced13e10917c3c6450af7781-" + endPage + (endPage > 3 ? ".jpg" : ".webp"); imgEle.src = imgsrc; var $imgLoad = $('<div class="pf" id="pf' + endPage + '"><img src="/loading.gif"></div>'); $('.article-imgview').append($imgLoad); imgEle.addEventListener('load', function () { $imgLoad.find('img').attr('src', imgsrc); pfLoading = false }); if (endPage < 7) { adcall('pf' + endPage); } } }, { passive: true }); </script> <script> var sc_project = 11552861; var sc_invisible = 1; var sc_security = "b956b151"; </script> <script src="https://www.statcounter.com/counter/counter.js" async></script> </html>