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

Tamaño: px
Comenzar la demostración a partir de la página:

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

Transcripción

1 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

2

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

4

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

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

7 Resumen: La genética es uno de los campos de más rápido crecimiento en la comunidad científica. Uno de los problemas que se tiene en este campo es el reto de la comprensión del genoma humano. Los centros de investigación genética proporcionan vistas de la información referente a las secuencias genéticas almacenadas en sus bases de datos. Utilizado técnicas de modelado conceptual provenientes de la Ingeniería de Software se pueden desarrollar herramientas para ayudar a una mayor comprensión del genoma humano. De acuerdo con esto, se ha desarrollado un esquema conceptual del genoma humano y su correspondiente base de datos. El genoma humano contiene aproximadamente 30,000 genes y obtener los datos de cada gen correspondientes a nuestro esquema conceptual de las vistas de las bases de datos genéticas es un problema computacional. En esta tesis se describe una metodología que consiste en la extracción de datos de las vistas de las bases de datos genéticas de forma automática para cargar la base de datos generada a partir de nuestro esquema conceptual del genoma humano. Tomamos a las bases de datos del NCBI (National Center for Biotechnology Information) como fuente, y se desarrolló la herramienta de carga correspondiente mediante la aplicación de nuestra metodología. Abstract: The genetics is one of the fastest growing fields in the scientific community. One of the problems in this field is challenge of the understanding of the human genome. The genetic research centers provide views of the information regarding the genetic sequences stored in their databases. The conceptual modeling techniques from software engineering can be used to develop tools and help researchers to gain a greater understanding of the human genome. Agree with this, has developed a conceptual model of the human genome and its corresponding database is created. The human genome contains approximately 30,000 genes and obtain data from each gene corresponding to our conceptual scheme of the views of genetic databases is a computational problem. This thesis describes a methodology for extracting data from the view of genetic databases to automatically load the database generated from our conceptual scheme of the human genome. We at the NCBI databases (National Center for Biotechnology Information) as a source, and developed the corresponding load tool by applying our methodology.

8 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 Antecedentes Planteamiento del problema Objetivo Estado del arte Producto resultado y beneficios Alcances y limitaciones Capítulo 2: Marco teórico Bases de datos heterogéneas Herramientas de extracción, transformación y carga (ETL Tools) Genética Biotecnología Bioinformática El ADN como soporte de la información genética Los cromosomas Gen Las proteínas ARN mensajero El código genético Análisis de una prueba de ADN i

9 2.13 National Center for Biotechnology Information (NCBI) Análisis de las fuentes del NCBI Clasificación general de las bases de datos de Entrez Las herramientas del NCBI Módelo conceptual del genoma humano Modelo ER simplificado de la base de datos Capítulo 3: Solución propuesta Solución propuesta Análisis de los módulos a desarrollar Capítulo 4: Implementación de la solución Diseño e implementación de los módulos del sistema Descripción de la interfaz al usuario Capítulo 5: Plan experimental Resultados de la ejecución del plan experimental Análisis de resultados Capítulo 6: Conclusiones y trabajos futuros Conclusiones Aportaciones Trabajos futuros 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 NF Anexo F Glosario de términos y siglas Referencias ii

10 Listado de figuras Figura 1 Modelo de Watson y Crick[ADN08] Figura 2 Trascripción de ADN[ADN08] Figura 3 Los cromosomas[adn08] Figura 4 Diversas estructuras de proteínas[adn08] Figura 5 ARN mensajero[adn08] Figura 6 Clasificación de las base de datos en Entrez Global Query Figura 7 Procedimiento para dar soporte a la base de datos genoma Figura 8 Metodología para el desarrollo de módulos de carga y actualización Figura 9 Relación entre las tablas de la base de datos genoma y los servicios web del NCBI Figura 10 Proceso de recuperación de datos mediante los servicios web del NCBI Figura 11 Interface principal Figura 12 Interface para configurar la conexión con la base de datos Figura 13 Interface para la administración de la lista de genes Figura 14 Error de conexión con la base de datos genoma Figura 15 Prueba de conexión correcta con la base de datos genoma Figura 16 Mensaje de obtención del identificador del NCBI Figura 17 Lista con un elemento Figura 18 Agregando un elemento invalido a la lista de genes Figura 19 Elemento eliminado de la lista de genes Figura 20 Lista generada con 10 genes Figura 21 Comprobación de los 10 genes insertados mediante Entrez NCBI Figura 22 Lista generada con 20 genes Figura 23 Comprobación de los 20 genes insertados mediante Entrez NCBI Figura 24 Carga del gen NF Figura 25 Cargando 10 genes en la base de datos genoma Figura 26 Comprobación de la inserción de 10 genes en la base de datos genoma Figura 27 Cargando 20 genes en la base de datos genoma Figura 28 Comprobación de la inserción de 20 genes en la base de datos genoma iii

11 Figura 29 Análisis de las pruebas de carga de datos Figura 30 Administración de la conexión con la base de datos genoma Figura 31 Agregando un elemento a la lista de genes Figura 32 Cargando gen NF Figura 33 Comprobación de la inserción de los datos en la tabla "GENE" Figura 34 Comprobación de la inserción de los datos en la tabla "ALLELE" Figura 35 Comprobación de la inserción de los datos en la tabla "SEGMENT" Figura 36 Comprobación de la inserción de los datos en la tabla "SPLICED_TRANSCRIPT" 136 Figura 37 Comprobación de la inserción de los datos en la tabla "ELEMENT_TRANSCRIPT" Figura 38 Comprobación de la inserción de los datos en la tabla "PRODUCES" Figura 39 Comprobación de la inserción de los datos en la tabla "BIBLIOGRAPHY_REFERENCE" Figura 40 Comprobación de la inserción de los datos en la tabla "BIBLIOGRAPHY_DATABANK" Listado de diagramas Diagrama 1 Vista Gene-Mutation[VIRRUETA09] Diagrama 2 Vista Transcrption[VIRRUETA09] Diagrama 3 Vista Genome[VIRRUETA09] Diagrama 4 Caso de uso 1 (CU 1) nivel Diagrama 5 Caso de uso1.1 (CU 1.1) nivel Diagrama 6 Caso de uso 1.2 (CU 1.2) nivel Diagrama 7 Caso de uso 1.3 (CU 1.3) nivel Diagrama 8 Diagrama de secuencia 1 Administrar lista de genes Diagrama 9 Diagrama de secuencia 2 Extracción y transformación de los datos del NCBI Diagrama 10 Diagrama de secuencia 3 carga de datos en la base de datos genoma Diagrama 11 Diagrama de despliegue del sistema ETL Diagrama 12 Arquitectura de clases del módulo adminsitrar lista de genes Diagrama 13 Arquitectura de clases del módulo de extracción-transformación iv

12 Diagrama 14 Arquitectura de clases del módulo de carga Diagrama 15 Arquitectura ETL para la base de datos genoma Diagrama 16 Arquitectura para consultas en lenguaje natural sobre la literatura contenida en la base de datos genoma Diagrama 17 Vista de las arquitecturas de carga y consultas literarias Listado de tablas Tabla 1 Bases de datos en el NCBI... 9 Tabla 2 caso 1: Actualizaciones de las bases de datos del NCBI Tabla 3 Base de datos de BIOBASE Tabla 4 Herramientas ETL en el ETL survey Tabla 5 Otras herremientas ETL (Opensource) Tabla 6 Comparativa de trabajos relacionados Tabla 7 Código genético Tabla 8 Tablas anexadas al modelo entidad relación de la base de datos genoma Tabla 9 Identificación de los datos extraídos de los servicios web y el formato en el que se deben transformar Tabla 10 Resultados de las pruebas de carga de datos Tabla 11 Escenarios para el caso de uso "Cargar lista de genes" Tabla 12 Escenarios para el caso de uso Administrar lista de genes Tabla 13 Escenarios para el caso de uso Obtener identificador del gen en el NCBI para la vista Transcription Tabla 14 Escenarios del caso de uso Obtener datos de cada gen de la lista de la fuente NCBI Tabla 15 Escenarios para el caso de uso Cargar datos de cada gen de la lista Tabla 16 Tareas a desarrollar para preparar y aplicar las pruebas Tabla 17 Requisitos de Hardware para las pruebas Tabla 18 Requisitos de Software para las pruebas v

13 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

14 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

15 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

16 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

17 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 Dr. Juan Carlos Casamayor Rodenas Dra. Matilde Celma Giménez Profesora Dra. Mariángeles Pastor Cubillo Dra. Laura Mota Herranz Ing. Aremy Olaya Virrueta Gordillo (estudiante de maestría) Luis Eduardo Eraso Shattka (estudiante de maestría) Lic. Veronica Burriel Coll (estudiante de maestría) Dr. Manuel Pérez Alonso (especialidad en genética) Dra. Ana M. Levin Chucrel (especialidad en genética) Director Prof. Titular de universidad Prof. Titular de universidad Prof. Titular de universidad Prof. Titular de universidad Investigadora Colaborador Colaboradora Colaborador 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

18 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

19 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

20 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 Gene Ontology (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 pág. 8

21 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, Nucleotide 71,707,561 OMIM 19,986 UniGene 3,540,230 PubMed 19,027,565 RefSeq 3,960, Seleccione una base de daros e introduzca el valor de búsqueda: all[filter] 14 Dato adquirido de pág. 9

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

23 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: Herramientas E-Utilitites Gene Ontology Artículo: Pruebas personales de ADN y el mito de la medicina personalizada Artículos relacionados con el uso de base de datos genéticas o biomoleculares Análisis de las herramientas de extracción, transformación y carga (ETL por sus siglas en ingles) Conclusiones sobre el estado del arte 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

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

25 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 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 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: pág. 13

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

27 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 La proteómica puede definirse como la genómica funcional a nivel de proteínas, pág. 15

28 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 quimioinformá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

29 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 ( 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

30 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 ( 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

31 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

32 Capítulo 1: Antecedentes 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 Informatica - Demo 6 Elixir Repertoire 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 ETL Solutions Ltd. - Demo 14 Data Manager/Decision 8.2 IBM Cognos - Demo Stream 15 Clover ETL 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 pág. 20

33 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 Conclusiones sobre el estado del arte E-Utilities proporciona un marco de trabajo de servicios web para acceder a las base de datos del NCBI. GO trata de estandarizar los términos utilizados en genética. GO no trata de modelar estructuralmente el genoma sino las relaciones entre los términos que son establecidos por los investigadores conforme se van utilizando. Las pruebas personales de ADN muestran que no todos los análisis de ADN son sustentados científicamente. En el caso del los datos contenidos en el NCBI todos están citados en artículos de revistas científicas (de acuerdo con los requisitos para introducir nuevos datos en el NCBI) y además son analizados por el NCBI staff. La API de BioJava proporciona un marco de trabajo interesante para el desarrollo de aplicaciones en Java, ésta API pueden ser utilizada en trabajos futuros. Cabe mencionar que cada herramienta ha sido producto de un trabajo específico así como las herramientas que se intentan desarrollar con la metodología de esta tesis, donde cada nueva fuente que se integre a la base de datos implica la extensión o generación de una nueva herramienta. Tabla 6 Comparativa de trabajos relacionados Proyectos Bases de datos integradas Unidad de integración Tipo de datos integrados Finalidad de la integración PEDRo 4 Microarrays Por experimento Proteínicos y de GO Análisis proteínicos Fatiscan 7 Biomoleculares 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

34 Capítulo 1: Antecedentes 3 Microarray informáticos, y de literatura BioImage 2 Microscopía Por experimento Datos de microscopía electrónica tridimensional y Proteínicos BMD 1 Repositorio Por experimento Secuencias, gráficos y datos de alta dimensión Esembl n Biomoleculares (DAS) Genoma por especie Biomoleculares y de literatura BioExtrac 4 Biomoleculares Por experimento Biomoleculares, 1 Microarray microarrays, workflows y de literatura Propuesta de 3 Biomoleculares Por gen Biomoleculares en Tesis general y de literatura desarrollo de fármacos anti cáncer para generar hipótesis comprobables experimentalmente Almacenar y manejar imágenes de microscopia multidimensional de especímenes biológicos Almacenar y manejar imágenes de microscopia multidimensional de especímenes biológicos Anotar, analizar y desplegar genomas Análisis virtuales utilizando diversas bases de datos y guardarlos en wokflows. Repositorio para análisis genómicos En la tabla 6, las herramientas generadas en PEDRo, FatiScan, CYCLONET, BioImage y BMD tratan de integrar datos relacionados con cada experimento, es decir, por cada experimento se hace una integración, se realizan anotaciones y se almacenan en una base de datos. El proyecto Ensembl tiene la particularidad de integrar la información sobre los genomas de diferentes especies. El servidor de BioExtract, es una herramienta útil, que integra diversas fuentes disponibles a través de internet. Es muy útil para trabajos de análisis espeificos, pero no está diseñada para análisis de genomas completos. En este trabajo se busca generar herramientas que integren toda la información disponible en base a un modelo conceptual del genoma humano, mediante la metodología propuesta. Los datos obtenidos por cada herramienta desarrollada son almacenados en la base de datos genoma, la cual pretende ser un repositorio unificado que permitirá a los biólogos llevar a cabo análisis genéticos de genomas completos. pág. 22

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

36 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: pág. 24

37 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

38 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

39 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 ARN mensajero El código genético Análisis de una prueba de ADN National Center for Biotechnology Information (NCBI) Análisis de las fuentes del NCBI Clasificación general de las bases de datos de Entrez Las herramientas del NCBI Modelo conceptual del genoma humano Modelo simplificado ER de la base de datos. pág. 27

40 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: Sistema de bases de datos distribuido DDBS (Distributed database system), consiste en una sencilla base de datos lógica que es distribuida físicamente. A pesar de la fragmentación física de los datos, un DDBS soporta un modelo de datos y lenguaje de consulta sencillos, con un esquema integrando todo lo que el DDBS contiene. pág. 28

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

42 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

43 Capítulo 2: Marco teórico o o Datos OK: Entregar datos a la siguiente etapa (Carga). 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

44 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

45 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

46 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

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

48 Capítulo 2: Marco teórico con más de 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

49 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

50 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

51 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

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

53 Capítulo 2: Marco teórico 1ª posición (extremo 5') Tabla 7 Código genético U C A G 3ª posición (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

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

55 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, Protein, Genome, Structure, y SNPs. El resto de las bases de datos son: Taxonomy, Gene, UniGene, HomoloGene, Conserved Domains, 3D Domains, UniSTS, PopSet, GEO Profiles, GEO Datasets, PubChem Bio-Assay, PubChem Compound, PubChem Substance, Cancer Chromosomes, Probe, MeSH, Journals y NLM Catalog. En la barra de herramientas se encuentran enlaces a páginas web populares del NCBI, PubMed, Human Genome, Map Viewer, y BLAST. También hay un enlace a la base de datos GenBank, lo que lleva a la base de datos de Nucleotide ftp://ftp.ncbi.nih.gov/snp/database/b124/mssql/schema/erd_dbsnp.pdf pág. 43

56 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

57 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 Protein Data Bank (PDB) (secuencias a partir de estructuras resueltas). Genome Database La base de datos del genoma proporciona vistas de una variedad de genomas, cromosomas completos, mapas de secuencia con 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

58 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

59 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

60 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 Chromosome Aberrations in Cancer, the NCI Recurrent Chromosome Aberrations in Cancer, y la base de datos de NCI and NCBI SKY/M-FISH & CGH. Los datos de Cariotipo, SKY / M-FISH, CGH se pueden buscar simultáneamente. Búsquedas para demostrar la similitud citogenética y clínica en relación con los distintos niveles de especificidad. dbgap La base de datos de genotipo y fenotipo (dbgap) archiva y distribuye los resultados de los estudios que han investigado la interacción del genotipo y fenotipo. Estos estudios incluyen todos los estudios asociados con el genoma, secuenciación médica, ensayos de diagnóstico molecular, así como la asociación entre el genotipo y los rasgos no clínicos. PubChem Compound La base de datos PubChem Compound contiene la información descrita de químicos validados proporcionados para describir sustancias en la base de datos de PubChem Substance. PubChem Substance La base de datos PubChem Substance contiene las descripciones de las muestras químicas, de una variedad de fuentes, y enlaces a las citas en PubMed, estructuras 3D de proteínas y los resultados filtrados biológicos que están disponibles en PubChem BioAssay. 39 DataSets: conjunto de datos, grupo de datos pág. 48

61 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

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

63 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 interactuar 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 consecutivamente por el NCBI a cada secuencia procesada pág. 51

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

65 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

66 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

67 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

68 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

69 2.18 Modelo ER simplificado de la base de datos Capítulo 2: Marco teórico 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 LOG_INSERT LOGIN Atributos TYPE_LOAD (varchar), ID_DATABANK (varchar), DB_NAME (varchar), ID_GENE (varchar), ID_GENE_DB (varchar), DATE_LOAD (date). 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 pág. 57

70 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

71 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 BD m BD 2 BD 1 Proceso de recuperación, extracción y transformación Datos Carga actualización de datos genoma 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

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

73 Capítulo 3: Solución propuesta continuación se describen los resultados de aplicar las primeras 5 etapas al caso de estudio del NCBI. Etapa 1: Análisis del esquema conceptual del genoma humano y del modelo ER de la base de datos contra el esquema de los datos contenidos en las bases 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 resultado 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 las 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

74 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

75 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 obtenidos en efetchseq. En la figura 10 se muestra un esquema general 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, para 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

76 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 <LOG> (gene) Símbolo del gen Filtro <ID_LOAD/> <ID_DATABANK/> <ID_GENE/> <ID_GENE_DB/> <DB_NAME/> <TYPE_LOAD/> </LOG> Identificador del gen (geneid) --- efetchgene geneid GENE <GENE> <ID_GENE/> <OFFICIAL_SYMBOL/> <OFFICIAL_NAME/> <SUMMARY/> <CHROMOSOME/> <LOCUS/> </GENE> ALLELE <ALLELE> <ID_GENE/> <ALLELE_NUM/> <START_POSITION/> <END_POSITION/> <STRAND/> </ALLELE> Identificador de la secuencia de referencia (gi) --- Identificador de la secuencia de ARN (gi) --- efetchseq gi SEGMENT (secuencia de referencia) <SEGMENT> <ID_GENE/> <ALLELE_NUM/> <SEGMENT_NUM/> <START_POSITION/> <END_POSITION/> <SECUENCE/> <TRANS_UNIT_NUM/> <TYPE/> </SEGMENT> SPLICED_TRANSCRIPT (secuencia de ARN) < SPLICED_TRANSCRIPT> <ID_GENE/> pág. 64

77 Capítulo 3: Solución propuesta ELEMENT_TRANSCRIPT (secuencia del Exón o Intrón) Identificador de la secuencia del exón (gi) Identificador de la referencia (pmid) <ALLELE_NUM/> < SPLICED_TRANSCRIPT_NUM/> <SEQUENCE/> <TYPE/> </ SPLICED_TRANSCRIPT> < ELEMENT_TRANSCRIPT> <ID_GENE/> <ALLELE_NUM/> <SEGMENT_NUM/> <ELEMENT_TYPE/> <ELEMENT_NUM/> <START_POSITION/> <END_POSITION/> </ ELEMENT_TRANSCRIPT> efetchpubmed pmid BIBLIOGRAPHY_REFERENCE < BIBLIOGRAPHY_REFERENCE> <ID_BIB_REF/> <TITLE/> <ABSTRACT/> <PUBLICATION/> <AUTHORS/> < BIBLIOGRAPHY_REFERENCE/> BIBLIOGRAPHY_DATABANK <BIBLIOGRAPHY_DATABANK> <BID_DATABAK_NAME/> <ID_BIB_REF/> <URL/> </BIBLIOGRAPHY_DATABANK> REFERENCE_GENE < REFERENCE_GENE> <ID_GENE/> <ID_BIB_REF/> </ REFERENCE_GENE> REFERENCE_ALLELE < REFERENCE_ALLELE> <ID_GENE/> <ALLELE_NUM/> <ID_BIB_REF/> </ REFERENCE_ALLELE> REFERENCE_SEGMENT < REFERENCE_SEGMENT> <ID_GENE/> <ALLELE_NUM/> <SEGMENT_NUM/> <ID_BIB_REF/> </ REFERENCE_SEGMENT> pág. 65

78 Capítulo 3: Solución propuesta REFERENCE_SPLICED _TRANSCRIPT <REFERENCE_SPLICED_TRANSCRIPT> <ID_GENE/> <ALLELE_NUM/> <SPLICED_TRANSCRIPT_NUM/> <ID_BIB_REF/> </REFERENCE_SPLICED_TRANSCRIPT> Etapa 5: Análisis de estrategias de carga o actualización. En esta etapa se identifican los métodos para insertar en cada tabla de la base de datos genoma, también se pueden generar nuevos métodos compuestos utilizando métodos genéricos en el caso de inserción en varias tablas. Para cargar los datos en la base de datos genoma se implementó un procedimiento llamado UPSERT, que se utiliza para cargar o actualizar los datos en la base de datos. El tamaño del dato más grande es el que corresponde a la secuencia de nucleótidos, este dato de tipo BLOB no puede ser cargado de forma normal, por lo que se requiere utilizar un procedimiento almacenado. A continuación se muestran dos ejemplos: el primero para cargar una tabla con datos de tamaño normal y el segundo para cargar datos de tipo BLOB. Método para cargar el vector ALLELE public void LoadALLELE(string id_gene, int allele_num, int start_position, int end_position, string strand){ try { int nrecord = 0; string source = " + 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ág. 66

79 Capítulo 3: Solución propuesta sql_srt = "INSERT INTO allele VALUES ('" + id_gene + "', " + allele_num + ", " + start_position + ", " + end_position + ", '" + strand + "')"; cmd.commandtext = sql_srt; nrecord = cmd.executenonquery(); System.Console.WriteLine("Se inserto " + nrecord + " registro\r\n\r\n"); } // Cerrar conección conn.close(); } } catch (Exception e_sql) { // Hacer algo con la excepción aquí... System.Console.WriteLine(e_sql.ToString()); } } Método para cargar el vector SEGMENT public void LoadSEGMENT(string id_gene, int allele_num, int segment_num, int start_position, int end_position, string sequence, int trans_unit_num, string type){ try { byte[] clobbyte = Encoding.Unicode.GetBytes(sequence); string source = " + this.servername + ";" + "uid = " + this.uid + ";" + "password = " + this.password; using (OracleConnection conn = new OracleConnection(source)) { // Abrir la conección conn.open(); // Hacer algo útil string sql_srt = "SELECT id_gene FROM segment WHERE id_gene='" + id_gene + "' and allele_num=" + allele_num + " and segment_num=" + segment_num; OracleCommand cmd = new OracleCommand(sql_srt, conn); OracleDataReader reader = cmd.executereader(); reader.read(); if (reader.hasrows) { OracleTransaction transaction = conn.begintransaction(); OracleCommand oraclecommand = new OracleCommand("UPDATE_SEGMENT_SEQUENCE", conn, transaction); oraclecommand.commandtype = CommandType.StoredProcedure; OracleType.Number); OracleType.Number); OracleParameter p1 = new OracleParameter("p_id_gene", OracleType.VarChar); p1.direction = ParameterDirection.Input; p1.value = id_gene; OracleParameter p2 = new OracleParameter("p_allele_num", OracleType.Number); p2.direction = ParameterDirection.Input; p2.value = allele_num; OracleParameter p3 = new OracleParameter("p_segment_num", OracleType.Number); p3.direction = ParameterDirection.Input; p3.value = segment_num; OracleParameter p4 = new OracleParameter("p_start_position", p4.direction = ParameterDirection.Input; p4.value = start_position; OracleParameter p5 = new OracleParameter("p_end_position", p5.direction = ParameterDirection.Input; p5.value = end_position; pág. 67

80 Capítulo 3: Solución propuesta OracleType.Number); OracleParameter p6 = new OracleParameter("p_trans_unit_num", p6.direction = ParameterDirection.Input; p6.value = trans_unit_num; OracleParameter p7 = new OracleParameter("p_type", OracleType.VarChar); p7.direction = ParameterDirection.Input; p7.value = type; OracleParameter p8 = new OracleParameter("cur_OUT", OracleType.Cursor); p8.direction = ParameterDirection.Output; oraclecommand.parameters.add(p1); oraclecommand.parameters.add(p2); oraclecommand.parameters.add(p3); oraclecommand.parameters.add(p4); oraclecommand.parameters.add(p5); oraclecommand.parameters.add(p6); oraclecommand.parameters.add(p7); oraclecommand.parameters.add(p8); OracleDataReader odr = oraclecommand.executereader(); odr.read(); OracleLob clobcolumn = odr.getoraclelob(0); clobcolumn.write(clobbyte, 0, 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; OracleType.Number); OracleType.Number); OracleType.Number); OracleParameter p1 = new OracleParameter("p_id_gene", OracleType.VarChar); p1.direction = ParameterDirection.Input; p1.value = id_gene; OracleParameter p2 = new OracleParameter("p_allele_num", OracleType.Number); p2.direction = ParameterDirection.Input; p2.value = allele_num; OracleParameter p3 = new OracleParameter("p_segment_num", OracleType.Number); p3.direction = ParameterDirection.Input; p3.value = segment_num; OracleParameter p4 = new OracleParameter("p_start_position", p4.direction = ParameterDirection.Input; p4.value = start_position; OracleParameter p5 = new OracleParameter("p_end_position", p5.direction = ParameterDirection.Input; p5.value = end_position; OracleParameter p6 = new OracleParameter("p_trans_unit_num", p6.direction = ParameterDirection.Input; p6.value = trans_unit_num; OracleParameter p7 = new OracleParameter("p_type", OracleType.VarChar); p7.direction = ParameterDirection.Input; p7.value = type; OracleParameter p8 = new OracleParameter("cur_OUT", OracleType.Cursor); p8.direction = ParameterDirection.Output; oraclecommand.parameters.add(p1); pág. 68

81 Capítulo 3: Solución propuesta oraclecommand.parameters.add(p2); oraclecommand.parameters.add(p3); oraclecommand.parameters.add(p4); oraclecommand.parameters.add(p5); oraclecommand.parameters.add(p6); oraclecommand.parameters.add(p7); oraclecommand.parameters.add(p8); OracleDataReader odr = oraclecommand.executereader(); odr.read(); OracleLob clobcolumn = odr.getoraclelob(0); clobcolumn.write(clobbyte, 0, 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()); } } 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) VALUES ( p_id_gene, p_allele_num, p_segment_num, p_start_position, p_end_position, EMPTY_CLOB(), p_trans_unit_num, p_type); OPEN cur_out FOR SELECT sequence FROM SEGMENT WHERE id_gene = p_id_gene AND allele_num = p_allele_num ANd segment_num = p_segment_num AND trans_unit_num = p_trans_unit_num FOR UPDATE; END INSERT_SEGMENT_SEQUENCE; Procedimiento almacenado para la actualización en la tabla SEQUENCE create or replace PROCEDURE UPDATE_SEGMENT_SEQUENCE ( p_id_gene IN VARCHAR2, p_allele_num IN NUMBER, p_segment_num IN NUMBER, p_start_position IN NUMBER, p_end_position IN NUMBER, p_trans_unit_num IN NUMBER, p_type IN VARCHAR2 pág. 69

82 Capítulo 3: Solución propuesta, cur_out OUT SYS_REFCURSOR) AS BEGIN UPDATE "SEGMENT" SET start_position = p_start_position, end_position = p_end_position, type = p_type 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; OPEN cur_out FOR SELECT sequence FROM SEGMENT 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 FOR UPDATE; END UPDATE_SEGMENT_SEQUENCE; Con la información obtenida a través de las primeras 5 etapas se puede proceder a la etapa 6 la cual está descrita en el tema 3.2 y continúa en el capítulo 4 de esta tesis. 3.2 Análisis de los módulos a desarrollar A continuación se muestra el análisis del sistema de carga para la base de datos genoma, cabe mencionar que cada uno de los casos de uso representa a los módulos que se desarrollaron. Los diagramas de caso de uso se basaron en la descripción de los diagramas UML en [KIMMEL05], así como en base a la práctica y observaciones del director de tesis, obteniendo buenas técnicas de modelado. En el diagrama 4 se muestran los casos de uso que describen las actividades principales a realizar por el sistema de cargar. Los especialistas en genómica describieron el sistema de carga de la siguiente manera: Un sistema que les permitiera cargar una lista de genes en una base de datos. La información correspondiente a cada gen se encuentra en diversas bases de datos heterogéneas. Para acceder a la información los especialistas en genómica utilizan las aplicaciones Web para interactuar con las bases de datos. Se requiere cargar las bases de datos del NCBI. pág. 70

83 Capítulo 3: Solución propuesta En el diagrama 4 se muestran los casos de uso del sistema de carga para la base de datos genoma. También se muestran las dependencias que existen entre estos casos de uso y sus actores. El Usuario depende del CU 1 Cargar lista de genes, el CU 1 incluye el CU 1.1 administrar lista de genes, el CU 1.2 obtener los datos de cada gen de la lista de la fuente NCBI y el CU 1.3 cargar datos de cada gen de la lista. El CU 1.1 se relaciona con la interfaz SOAP para Entrez Utilities y con la base de datos genoma. El CU 1.2 se relaciona con la interfaz SOAP para Entrez Utilities y el CU 1.3 se relaciona con la base de datos genoma. uc CU1 niv el 0 CU 1.1 Administrar lista de genes CU 1. Cargar lista de genes «include» «include» CU 1.2 Obtener los datos de cada gen de la lista de la fuente NCBI Interface SOAP para Entrez Utilities Usuario «include» CU 1.3 Cargar datos de cada gen de la lista Base de Datos Genoma Diagrama 4 Caso de uso 1 (CU 1) nivel 0 En la tabla 11Tabla 11 del anexo A, se describen los escenarios para el caso de uso Cargar lista de genes. En el diagrama 5 se muestran los casos de uso Administrar lista de genes para la carga de datos en la base de datos genoma. También se muestran las dependencias que existen entre estos casos de uso y sus actores. pág. 71

84 Capítulo 3: Solución propuesta El módulo Administra lista de genes incluye el CU 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. uc CU1.1 niv el 1 Interface SOAP para Entrez Utilities EUtils CU 1.1 Administrar lista de genes «include» CU Obtener el identificador del gen en el NCBI para Trascription View BD genoma Diagrama 5 Caso de uso1.1 (CU 1.1) nivel 1 En la tabla 12 del anexo A, se describen los escenarios para el caso de uso Administrar lista de genes, y en la tabla 13 del anexo A, se describen los escenarios para el caso de uso Obtener identificador del gen en el NCBI para Transcription View. En el diagrama 6 se muestran los casos de uso del módulo Obtener datos de cada gen de la lista de la fuente NCBI. También se muestran las dependencias que existen entre estos casos de uso y sus actores. El módulo Obtener datos de cada gen de la lista de la fuente NCBI es extendido mediante el CU Extraer los vectores del NCBI y el CU Transformar los vectores de NCBI a vectores de Trasncription View. El CU se relaciona con los servicios web: efetchgene, efetchseq y efetchpubmed de la interfaz SOAP para Entrez Utilities. pág. 72

85 Capítulo 3: Solución propuesta uc CU1.2 niv el 1 Interface SOAP para Entrez Utilities CU Extraer los vectores de NCBI efetchgene CU 1.2 Obtener datos de cada gen de la lista de la fuente NCBI «extend» «extend» CU Transformar los v ectores de NCBI a v ectores de Transcription View efetchseq efetchpubmed Diagrama 6 Caso de uso 1.2 (CU 1.2) nivel 1 En la tabla 14 del anexo A, se describen los escenarios para el caso de uso Obtener datos de cada gen de la lista de la fuente NCBI. En el diagrama 7 se muestran los casos de uso del módulo Cargar datos de cada gen de la lista. para la base de datos genoma. También se muestran las dependencias que existen entre estos casos de uso y sus actores. El módulo Cargar datos de cada gen de la lista. Es extendido mediante el CU Cargar datos de genes en Transcription View el cual se relaciona con la base de datos genoma. uc CU1.3 nivel 1 CU 1.3 Cargar datos de cada gen de la lista «extend» CU Cargar datos de genes en Transcription View BD genoma Diagrama 7 Caso de uso 1.3 (CU 1.3) nivel 1 En la tabla 15 del anexo A, se describen los escenarios para el caso de uso Cargar datos de cada gen de la lista. pág. 73

86 Capítulo 4: Implementación de la solución Mediante la realización de las primeras 5 etapas de la metodología propuesta, se obtienen los requisitos necesarios para desarrollar la herramienta de carga automática de la vista Transcription de la base de datos genoma. En este capítulo se describe la implementación de los módulos de la herramienta diseñada mediante nuestra metodología, haciendo uso de diagramas de secuencia, despliegue y de clases aplicando dos patrones de diseño (Composite y Strategy). También se describe la interfaz al usuario para acceder a cada uno de los módulos implementados. El capítulo se encuentra organizado en los siguientes subtemas: 4.1 Diseño e implementación de los módulos del sistema. 4.2 Descripción de la interface al usuario. pág. 74

87 Capítulo 4: Implementación de la solución 4.1 Diseño e implementación de los módulos del sistema El desarrollo de los siguientes diagramas, durante la fase de diseño, permite una mejor comprensión de los procesos de administración de la lista de genes (diagrama 8), extracción y transformación (diagrama 9) y finalmente el de carga (diagrama 10). Los diagramas se basan en la descripción de los diagramas de secuencia en [KIMMEL05]. sd DS 1 Usuario Solicita administrar lista() Módulo de Carga de lista de genes Módulo Administrar lista de genes Módulo obtener el identificador del gen en el NCBI para Trascription View Interface SOAP Entrez Utilities Base de datos genoma opt [Nueva Lista] Solicita crear lista() :Lista Crea lista() [Abrir Lista] solicita abrir lista() :Lista Abre lista() opt [Agregar elemento] Introduce el nombre 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 alt [IF existe Gen] Buscar gen en la base de datos genoma(string) :Vector [Eliminar elemento] Solicita eliminar elemento de la lista(string) :boolean Elimina elemento de la lista(string) :boolean opt [Guardar lista] Solicita guardar lista() Guarda lista(lista, path) Diagrama 8 Diagrama de secuencia 1 Administrar lista de genes pág. 75

88 Capítulo 4: Implementación de la solución sd DS 2 Usuario Módulo de Carga de lista de genes Módulo extraer datos de la fuente NCBI Modulo transformar vectores NCBI a Transcription View Interface SOAP Entrez Utilities Solicita cargar lista a la base de datos() loop [fuente del gen=ncbi] Extraer cada gen correspondiente a la fuente NCBI y transformar a Transcriptionn View() Extraer vector de eutils() Transformar vector de eutils a principal de gene() loop [hasta referencias=0] Extraer vector de efetchpubmed() Transformar vector de efetchpubmed a Referencia() Extraer vector de efecthseq() Transformar vector de efetchseq a Secuencia principal() loop [hasta referencias=0] Extraer vector de efetchpubmed() Transformar vector de efetchpubmed a Referencia() loop [hasta ARNs=0] Extraer vector de efecthseq() Transformar vector efetchseq a ARN() loop [hasta referencias=0] Extraer vector de efetchpubmed() Transformar vector de efetchpubmed a Referencia() loop [hasta exones=0] Transformar vector efetchseq a Exon() loop [hasta intrones=0] Transformar vector efetchseq a Intron() Desplegar informacion del gen extraida correctamente() Diagrama 9 Diagrama de secuencia 2 Extracción y transformación de los datos del NCBI pág. 76

89 Capítulo 4: Implementación de la solución sd DS 3 Módulo de Carga de lista de genes Modulo Cargar datos de cada gen de la lista Cargar Transcription View Módulo cargar base de datos genoma Base de datos genoma Cargar datos del gen extraido() opt [Cargar en Transcription view] Cargar datos del gen en Transcription view() Cargar vector Principal de gene() Cargar vectror LOG() Cargar vector GENE() loop [hasta referencias=0] Cargar vector BIBLIOGRAPHY_REFERENCE() Cargar vector REFERENCE_GENE() Cargar vector Secuencia principal() Cargar vector ALLELE() loop [hasta referencias=0] Cargar vector BIBLIOGRAPHY_REFERENCE() Cargar vector REFERENCE_ALLELE() Cargar vector TRANSCRIPTION_UNIT() Cargar vector SEGMENT() loop [hasta referencias=0] Cargar vector BIBLIOGRAPHY_REFERENCE() Cargar vector REFERENCE_SEGMENT() loop [hasta ARNs=0] Cargar vector ARN() Cargar vector SPLICED_TRANSCRIPT() loop [hasta referencias=0] Cargar vector BIBLIOGRAPHY_REFERENCE() Cargar vector REFERENCE_SPLICED_TRANSCRIPT() Cargar vector PRIMARY_TRANSCRIPT() loop [hasta exones=0] Cargar vector Exon() Cargar vector ELEMENT_TRANSCRPT() Cargar vector PRODUCES() loop [hasta Intrones=0] Cargar vector Intron() Cargar vector ELEMENT_TRANSCRPT() Cargar vector PRODUCES() Desplegar informacion del gen cargada correctamente() Diagrama 10 Diagrama de secuencia 3 carga de datos en la base de datos genoma pág. 77

90 Capítulo 4: Implementación de la solución 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. deployment DD PC Usuario Serv idor de Base de Datos Sistema ETL «VPN» Conección Oracle «datastore» genoma Usuario «access» Administrar Lista Transformacion de datos Carga de datos NCBI Lista de genes Extraccion de datos «SOAP» «interface» Interface SOAP Entrez Utilities «HTTP» EfetchPubmed EUtils EFetchGene EFetchSeq Diagrama 11 Diagrama de despliegue del sistema ETL La arquitectura de clases de la implementación fue desarrollada utilizando principalmente los siguientes patrones de diseño: Composite (compuesto): Combina objetos de estructura de árbol para representar estructuras de parte-todo. Permite que los clientes traten de manera uniforme a los objetos individuales y a los compuestos. Strategy (estrategia): Define una familia de algoritmos, encapsula cada uno de ellos y los hace intercambiables, permite que un algoritmo varíe independientemente de los clientes que lo usan. Al utilizar estos patrones de diseño se busca que esta implementación sea fácilmente matenible, extensible y además da muchas posibilidades para la variación de los métodos de extracción-transformación y los métodos de carga. En el diagrama 12se muestra la arquitectura del módulo administrar lista de genes (CListManager). En el diagrama 13 se muestra la arquitectura del módulo de extracción (AStrgyExtrac)-transformación (AStrgyTransform). En el diagrama 14 se muestra la arquitectura del módulo cargar datos a la base de datos (AStrgyLoadToDatabase). pág. 78

91 Capítulo 4: Implementación de la solución class DC 1 CListManager + NewList() : void + OpenList() : void + SaveList() : void + AddElement() : void + DeleteElement() : void AElementList + GetElement() : void + GetError() : void CNCBIElementTranscriptionView - ServerName: String - UID: String - Password: String COtherElemenOtherView + GetElement() : void + GetElement() : void + GetGeneID() : void + SearchLOG() : void + GetServerData() : void + SetServerData() : void Diagrama 12 Arquitectura de clases del módulo adminsitrar lista de genes class DC 2 AStrgyExtrac + Execute() : void + GetError() : void AStrgyTransform + Execute() : void + GetError() : void ANCBITranscriotionView + Execute() : void ATransformNCBIToTranscriptionView + Execute() : void CEntezUtilitiesTranscriptionView + Execute() : void + ExtractEFechtGeneVector() : void + ExtractEFechtPubmedVector() : void + ExtractEFechtSeqVector() : void CEntrezUtilitiesToTranscriptionView + Execute() : void + TransformEFGeneToPGene() : void + TransformEFSeqToAllele() : void + TransformEFSeqToSegment() : void + TransformEFSeqToARN() : void + TransformEFSeqToExonsAndIntrons() : void + TransformEFPubmedToReferenceGene() : void + TransformEFPubmedToReferenceAllele() : void + TransformEFPubmedToReferenceSegment() : void + TransformEFPubmedToReferenceARN() : void Diagrama 13 Arquitectura de clases del módulo de extracción-transformación pág. 79

92 Capítulo 4: Implementación de la solución class DC 3 AStrgyLoadToDatabase + Execute() : void + GetError() : void ALoadTranscriptionView + Execute() : void ALoadGeneMutationView + Execute() : void CLoadTranscriptionView - IntermediateStructureXMLPath: String - ServerName: String - UID: String - Password: String + Execute() : void + InitialLoad() : void + LoadLOG() : void + LoadGENE() : void + LoadALLELE() : void + LoadSEGMENT() : void + LoadSPLICED_TRANSCRIPT() : void + LoadELEMENTS_TRANSCRIPT() : void + UpdateLOG() : void + SetServerData() : void + GetServerData() : void CLoadGeneMutationView + Execute() : void - ServerName: String - UID: String - Password: String CLoadGenomaDatabase + Execute() : void + SearchLOG() : void + SearchGENE() : void + SearchALLELE() : void + SearchSEGMENT() : void + SearchTRANSCRIPTION_UNIT() : void + SearchSPLICED_TRANSCRIPT() : void + SearchELEMENT_TRANSCRIPT() : void + SearchPRIMARY_TRANSCRIPT() : void + LoadLOG() : void + LoadALLELE() : void + LoadSEGMENT() : void + LoadGENE() : void + LoadSPLICED_TRANSCRIPT() : void + LoadTRANSCRIPTION_UNIT() : void + LoadPRIMARY_TRANSCRIPT() : void + LoadELEMENT_TRANSCRIPT() : void + LoadPRODUCES() : void + LoadBIBLIOGRAPHY_REFERENCE() : void + LoadREFERENCE_ALLELE() : void + LoadREFERENCE_SEGMENT() : void + LoadREFERENCE_SPLICED_TRANSCRIPT() : void + LoadREFERENCE_GENE() : void + GetServerData() : void + SetServerData() : void Diagrama 14 Arquitectura de clases del módulo de carga pág. 80

93 4.2 Descripción de la interfaz al usuario Capítulo 4: Implementación de la solución Para acceder a la implementación de cada uno de los módulos se realizó la interface que se observa en la figura 11, donde el botón Configurar conexión permite el acceso a la interface para configurar la conexión, el botón Administrar lista de genes permite a la interface para acceder a las funcionalidades del módulo CListManager y finalmente el botón Cargar datos que permite el acceso a la ejecución del módulo de carga automática de datos (AStrgyEtrac y AStrgyLoadToDatabase). Además se cuenta con una terminal de salida la cual informa brevemente sobre la información de los genes que han sido cargados en la base de datos la cual cuenta con el botón Limpiar para dejar la terminal en blanco. También cuenta con una barra de tareas la cual informa al usuario sobre el porcentaje de carga del gen que se está cargando. Figura 11 Interface principal En la figura 12 se muestra la interface de configuración para realizar la conexión con la base de datos genoma, donde el usuario los parámetros de Servidor, Usuario y Contraseña. pág. 81

94 Capítulo 4: Implementación de la solución Figura 12 Interface para configurar la conexión con la base de datos En la figura 13 se muestra la interface para administrar la lista de genes. En esta interface se tiene el botón Nueva para crear una nueva lista en blanco, también permite mediante el botón Abrir una nueva lista de genes, guardada previamente; la lista puede ser abierta o agregada a la existente. Una vez generada, la lista puede ser guardada mediante el botón Guardar como, o también mediante el botón Aceptar dejando la lista por default. El botón Cerrar se utiliza para cerrar la interface sin guardar cambios. Figura 13 Interface para la administración de la lista de genes usuario. En el anexo E se muestra como ejemplo la carga del gen NF1 utilizando las interfaces al pág. 82

95 Capítulo 5: Plan experimental Para realizar el plan experimental se diseño un plan de puebas siguiendo el estándar 829 de la IEEE [IEEE829]. Dicho plan se titula ETLNCBIGD y se encuentra en el anexo B. En este capítulo se describen y analizan los resultados obtenidos de caca caso de prueba descrito del plan de pruebas ETLNCBIGD. El capítulo se encuentra organizado en los siguientes subtemas: 5.1 Resultados de la ejecución del plan experimental. 5.2 Análisis de resultados. pág. 83

96 Capítulo 5: Plan experimental 5.1 Resultados de la ejecución del plan experimental El plan de pruebas se titula ETLNCBIGD y se encuentra en el anexo B. Se realizó siguiendo el estándar 829 de la IEEE [IEEE829].En esta sección se muestran los resultados obtenidos en cada caso de prueba realizado. Descripción del identificador: ETL: Extract, Transform, and Load NCBI: National Center for Biotechnology Information. GD: Genoma Database La siguiente lista define las características probadas: Conexión con el servidor de la base de datos genoma. Se verificó el correcto funcionamiento del módulo que configura la conexión con el servidor mediante la inserción de datos de conexión validos e inválidos. Generación de la lista de genes: Se verificó la generación de una lista de genes con su respectivo identificador en el NCBI identificándolos a través de la aplicación Web Entrez del NCBI estableciendo que los datos extraídos fueron correctos. Carga de los datos: se verificó la carga de datos correcta en la base de datos mediante SQLDeveloper y se validaron los valores mediante la consulta manual en la base de datos de Entrez Gene, estableciendo que los datos se cargaron correctamente. Cada miembro del grupo tiene acceso a una versión propia de la base de datos genoma. Se utilizaron los datos del autor de esta tesis para realizar las pruebas de conexión y en general establecer la conexión con la base de datos. Conforme al diseño de la herramienta solo se requiere del servicio Web EUtils en el módulo administrar lista de genes, para obtener el identificador del gen en el NCBI y para realizar la carga los servicios web de efetchgene, efetchseq y efetchpubmed. Para validar que los índices de los elementos de la lista son correctos, se mostrará la captura de pantalla de una búsqueda de los elementos en la base de datos Gene. Las tablas correspondientes a la vista transcripción son: GEN, BIBLIOGRAPHY_REFERENCE, BIBLIOGRAPHY_DATABANK, REFERENCE_GENE, pág. 84

97 Capítulo 5: Plan experimental ALLELE, REFERENCE_ALLELE, TRANSCRIPTION_UNIT, SEGMENT, REFERENCE_SEGMENT, SPLICED_TRANSCRIPT, REFERENCE_SPLICED_TRANSCRIPT. Para comprobar la carga correcta de un gen se mostrará una captura de la tabla principal GENE. Para verificar los datos cargados en la fuente se mostrará una captura de pantalla de una búsqueda de los genes en la base de datos Gene. En el caso de prueba ETLNCBIGD se mostrará la relación entre los datos cargados y los de la fuente, debido a que se trata de la carga de un solo gen. CASO DE PRUEBA (1) ETLNCBIGD 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). OBSERVACIONES: Figura 14 Error de conexión con la base de datos genoma La aplicación tardó aproximadamente 2 segundos en mostrar el mensaje de error. pág. 85

98 Capítulo 5: Plan experimental CASO DE PRUEBA (2) ETLNCBIGD 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). OBSERVACIONES: Figura 15 Prueba de conexión correcta con la base de datos genoma La aplicación tardó aproximadamente 1 segundo en mostrar el mensaje. pág. 86

99 Capítulo 5: Plan experimental CASO DE PRUEBA (3) ETLNCBIGD Agregar un nuevo elemento valido a la lista de genes. DESCRIPCIÓN: Verificar que se agrega un elemento validó a la lista de genes y su correspondiente identificador en el NCBI). La prueba se efectuará en un entorno con un equipo de cómputo (PC) con conexión a Internet, una conexión VPN a la UPV y el servicio Web de EUtils. RESULTADO: La lista de genes ahora muestra un nuevo elemento (figura 16 y 17). Figura 16 Mensaje de obtención del identificador del NCBI OBSERVACIONES: Figura 17 Lista con un elemento La aplicación tardó aproximadamente 2 segundos en agregar el elemento a la lista. pág. 87

100 Capítulo 5: Plan experimental CASO DE PRUEBA (4) ETLNCBIGD Agregar un nuevo elemento inválido a la lista de genes. DESCRIPCIÓN: Verificar que no se agrega un elemento inválido a la lista de genes. La prueba se efectuará en un entorno con un equipo de cómputo (PC) con conexión a Internet, una conexión VPN a la UPV y el servicio Web de EUtils. RESULTADO: La lista de genes no muestra un nuevo elemento (figura 18). Figura 18 Agregando un elemento invalido a la lista de genes OBSERVACIONES: La aplicación tardó aproximadamente 2 segundos en mostrar el mensaje de error. CASO DE PRUEBA (5) ETLNCBIGD Eliminar un elemento de la lista de genes. DESCRIPCIÓN: Verificar que se elimina un elemento de la lista de genes. La prueba se efectuará en un entorno con un equipo de cómputo (PC) con conexión a Internet, una conexión VPN a la UPV y el servicio Web de EUtils. RESULTADO: La lista de genes ahora no muestra el elemento eliminado (figura 19). Figura 19 Elemento eliminado de la lista de genes pág. 88

101 Capítulo 5: Plan experimental OBSERVACIONES: La aplicación tardó aproximadamente 1 segundos en mostrar la lista. CASO DE PRUEBA (6) ETLNCBIGD Generar una lista de 10 elementos. DESCRIPCIÓN: Verificar que se agregan 10 elementos valido a la lista de genes y su correspondiente identificador en el NCBI y observar su tiempo de carga. La prueba se efectuó en un entorno con un equipo de cómputo (PC) con conexión a Internet y una conexión VPN a la UPV y el servicio Web de EUtils. RESULTADO: La lista de genes muestra los 10 elementos que la conforman (figura 20). Figura 20 Lista generada con 10 genes Para comprobar los índices de los genes, estos se buscaron a través del motor de búsqueda de Entrez en el NCBI. Se aplicaron límites de especie y genes conocidos, también se utilizó el siguiente 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 Entrez permite a los usuarios el uso de límites y filtros para realizar búsquedas avanzadas y obtener mejores resultados ( ) pág. 89

102 Capítulo 5: Plan experimental genes encontrados (figura 21). Figura 21 Comprobación de los 10 genes insertados mediante Entrez NCBI OBSERVACIONES: La aplicación tardó aproximadamente 30 segundos en generar la lista. CASO DE PRUEBA (7) ETLNCBIGD 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ág. 90

103 Capítulo 5: Plan experimental Figura 22 Lista generada con 20 genes Para comprobar los índices de los genes se buscaron en a través del motor de búsqueda de Entrez en el NCBI Se aplicaron límites de especie y genes conocidos, también se utilizó el siguiente filtro: Homo Sapiens[Organism] AND NR1I3[Gene Name] OR CD46[Gene Name] OR ST3GAL3[Gene Name] OR PTGER3[Gene Name] OR ENSA[Gene Name] OR MRPL55[Gene Name] OR MUC1[Gene Name] OR OSBPL9[Gene Name] OR MUTYH[Gene Name] OR ADAM15[Gene Name] OR TNFRSF25 [Gene Name] OR CDC2L1 [Gene Name] OR CD1E [Gene Name] OR MIER1 [Gene Name] OR AGL [Gene Name] OR TPM3 [Gene Name] OR PLEKHG5 [Gene Name] OR FCGR3A [Gene Name] OR ESRRG [Gene Name] OR ELAVL4 [Gene Name],dando como resultado 20 genes encontrados (figura 23) Figura 23 Comprobación de los 20 genes insertados mediante Entrez NCBI pág. 91

104 Capítulo 5: Plan experimental OBSERVACIONES: La aplicación tardó aproximadamente 1 minuto en generar la lista. CASO DE PRUEBA (8) ETLNCBIGD Cargar una lista de un elemento. DESCRIPCIÓN: Validar el proceso automático de carga de los datos en la base de datos genoma mediante la comparación de los resultados del proceso de extracción, transformación y carga de los datos con los de la fuente correspondiente. La prueba se efectuará en un entorno con un equipo de cómputo (PC) con conexión a Internet, una conexión VPN a la UPV y los servicios web de efetchgene, efetchseq y efetchpubmed. RESULTADO: La carga correcta de los datos correspondientes al gen en la vista Transcription de la base de datos genoma (figura 24). Figura 24 Carga del gen NF1 pág. 92

105 Capítulo 5: Plan experimental OBSERVACIONES: La aplicación tardó aproximadamente 1 minutos en cargar el gen. CASO DE PRUEBA (9) ETLNCBIGD Cargar una lista de 10 elementos. DESCRIPCIÓN: Validar el proceso automático de carga de los datos correspondientes a 10 genes en la base de datos genoma mediante la comparación de los datos cargados con los de la fuente correspondiente. Y observar el tiempo de carga. La prueba se efectuará en un entorno con un equipo de cómputo (PC) con conexión a Internet, una conexión VPN a la UPV y los servicios web de efetchgene, efetchseq y efetchpubmed. RESULTADO: La carga correcta de los datos correspondientes al gen en la vista Transcription de la base de datos genoma (figura 25 y 26). Figura 25 Cargando 10 genes en la base de datos genoma pág. 93

106 Capítulo 5: Plan experimental Figura 26 Comprobación de la inserción de 10 genes en la base de datos genoma OBSERVACIONES: La aplicación tardó aproximadamente 6 minutos en cargar la lista. CASO DE PRUEBA (10) ETLNCBIGD 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ág. 94

107 Capítulo 5: Plan experimental Figura 27 Cargando 20 genes en la base de datos genoma Figura 28 Comprobación de la inserción de 20 genes en la base de datos genoma OBSERVACIONES: La aplicación tardó aproximadamente 10 minutos en cargar la lista. pág. 95

108 Capítulo 5: Plan experimental 5.2 Análisis de resultados Los resultados de las pruebas de conexión con el servidor de la base de datos genoma y las pruebas de generación de la lista de genes, las cuales fueron realizadas principalmente para demostrar la funcionalidad de la aplicación, realizadas de acuerdo con el plan de pruebas (Anexo B). Las pruebas mencionadas anteriormente son previas a inicializar el proceso de carga automático y los resultados fueron satisfactorios. Las pruebas correspondientes a la carga de los datos, fueron realizadas satisfactoriamente. Uno de los factores importantes realizados en las pruebas fue el tiempo de carga de la lista de genes, para observar en una forma más amplia el desempeño de las pruebas de carga se realizaron dichas pruebas 5 veces cambiando el factor de ancho de banda, para observar el desempeño de las mismas. Dichas pruebas se muestran en la tabla 10. Tabla 10 Resultados de las pruebas de carga de datos Número de genes a cargar Tiempo promedio de carga con un ancho de banda de 512 Kbps Tiempo promedio de carga con un ancho de banda de 1 Mbps Tiempo promedio de carga con un ancho de banda de 2 Mbps 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ág. 96

109 Capítulo 5: Plan experimental Figura 29 Análisis de las pruebas de carga de datos 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 significativo en el tiempo de la carga, por lo que se propone para trabajos futuros optimizar los métodos de extracción, transformación y de carga. Arquitecturas propuestas como resultado del trabajo de investigación 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. 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 aprovechando la experiencia adquirida para el desarrollo de nuevos módulos. pág. 97

110 Capítulo 5: Plan experimental A demás de otra arquitectura para consultas en lenguaje natural (LN) sobre la literatura contenida en la base de datos genoma. Ambas arquitecturas se describen a continuación. Arquitectura ETL para la base de datos genoma La arquitectura dinámica para el soporte de carga que se muestra en el diagrama 15, se presenta mediante un diagrama de actividad, en donde cada actividad corresponde a un módulo con actividades propias que en conjunto forman la arquitectura. A continuación se describe cada uno de los módulos de la arquitectura: Source Extract Engine: se encarga de extraer los datos de las bases de datos y da como resultado un archivo XML, que contiene un conjunto o subconjunto de los datos contenidos en la fuente relacionados con un subconjunto de la base de datos genoma. Los subconjuntos pueden ser tablas, vistas o cualquier parte a la que corresponden los datos extraídos. Para desarrollar este módulo se puede tomar como referencia el módulo de extracción-transformación desarrollado con nuestra metodología. Update Trigger Engine: se encarga de ejecutar automáticamente el módulo Source Extract Engine cuando detecte alguna actualización en las bases de datos de las fuentes, por lo que debe contar con un sistema de monitoreo que active las actualizaciones, además de llevar el control de las mismas. XSLT Generation Engine: se encarga de generar un archivo XSLT para realizar la transformación del modelo de datos entregado por el módulo Source Extract Engine a su parte correspondiente del modelo de datos de la base de datos genoma. Para generar el archivo XSLT primero se deben procesar los XSD o DTD de ambos (fuente y destino), para generar el archivo de transformación correspondiente. Será capaz de enviar una notificación al módulo XML Transformation Engine para especificar los archivos que se utilizan para cierta transformación. XSD Reference Generate Engine: genera un archivo XSD o DTD donde se especifique el modelo del subconjunto de la base de datos que corresponde a cada uno de los archivos XML obtenidos del módulo Source Extract Engine. El subconjunto puede ser desde una pág. 98

111 Capítulo 5: Plan experimental 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ág. 99

112 Capítulo 5: Plan experimental act Arquitectura ETL para genoma Sources «datastore» NCBI «datastore» HGMD «datastore» MutDB «datastore» Other s Update Trigger Engine Source Extract Engine 2 XSD Reference XSD Reference Generate Engine 1 XML Source XML Reference Genome Load Engine «datastore» DB Genome User DB administrator XML Transformation Engine 1 XSLT Generation Engine 2 XSLT Source-Reference Diagrama 15 Arquitectura ETL para la base de datos genoma Arquitectura para consultas en lenguaje natural sobre la literatura contenida en la base de datos genoma Actualmente una de las necesidades que tienen los científicos durante sus investigaciones (en la biología molecular ó genética) es la disposición de la información, especialmente al buscar entre miles de artículos relacionados con un tema específico. Debido a esta necesidad se propone como trabajo futuro una arquitectura para agregar las funcionalidades de búsqueda en los textos literario, mediante técnicas utilizadas para el tratamiento del Lenguaje Natural (LN), que existen actualmente, como búsquedas por sinónimos, palabras cercanas, variantes, etc. En el diagrama 16 se presenta mediante un diagrama de actividad la arquitectura para consultas sobre la literatura contenida en la base de datos genoma, donde cada actividad equivale pág. 100

113 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: 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ág. 101

114 Capítulo 5: Plan experimental act Arquitectura LN para genoma «datastore» DB Genome Ontology Engine «datastore» Ontology Repository SPARQL Query Engine The Stanford Parser User literature query Diagrama 16 Arquitectura para consultas en lenguaje natural sobre la literatura contenida en la base de datos genoma En el diagrama 17 podemos observar cómo interactúan ambas arquitecturas con la base de datos genoma. Estas arquitecturas son el resultado de la colaboración entre el Departamento de Sistemas Distribuidos (DSD) del Centro Nacional de Investigación y Desarrollo Tecnológico (CENIDET) y el del Centro de Investigación en Métodos de Producción Software (PROS) de la Universidad Politécnica de Valencia (UPV). pág. 102

115 Capítulo 5: Plan experimental act Arquitecturas para genoma Sources «datastore» NCBI «datastore» HGMD «datastore» MutDB «datastore» Other s Update Trigger Engine Source Extract Engine 2 XSD Reference XSD Reference Generate Engine 1 XML Source XML Reference Genome Load Engine «datastore» DB Genome User DB administrator Ontology Engine XML Transformation Engine 1 2 XSLT Generation Engine «datastore» Ontology Repository XSLT Source-Reference SPARQL Query Engine The Stanford Parser User literature query Diagrama 17 Vista de las arquitecturas de carga y consultas literarias pág. 103

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

117 Capítulo 6: Conclusiones y trabajos futuros 6.1 Conclusiones El trabajo realizado formó parte de un amplio proyecto multidisciplinario para el estudio del genoma humano que actualmente lleva a cabo el grupo de Modelado Conceptual del Genoma Humano del Centro de Investigación ProS en la Universidad Politécnica de Valencia, España. Este grupo busca implementar, a partir de técnicas de modelado conceptual y de métodos avanzados de ingeniería de software orientados a la calidad, el diseño y desarrollo de sistemas de información en el dominio de la genética. Un elemento fundamental de este proyecto es el desarrollo de una base de datos denominada genoma la cual se constituye en un repositorio unificado que recupera información desde diversas bases de datos heterogéneas con datos e información del genoma. En este trabajo de tesis se desarrolló una metodología, que incluye una herramienta para la carga y actualización de registros o vistas de las bases de datos fuentes para extraer sólo los datos correspondientes al esquema conceptual de la base de datos genoma, la cual abre la posibilidad de extender o generar nuevos módulos de carga que se puedan requerir en el futuro. A partir de los casos de prueba descritos en el capítulo 5, se desmostró la viabilidad de esta metodología, proveyendo a la base de datos genoma con un primer soporte de carga para la vista Transcription. Para la integración de los datos requeridos por la base de datos genoma, se aplicaron técnicas de ETL, las cuales son empleadas para el diseño de aplicaciones Data Warehouse, donde la mayor complejidad se presenta cuando es requerida la extracción de datos a partir de fuentes heterogéneas. En nuestro caso, aunado a esta complejidad, y dado que el acceso a las bases de datos del NCBI es través de servicios Web, fue necesario desarrollar técnicas específicas para recuperar las vistas y procesarlas para extraer los datos requeridos, antes de realizar la carga. Se propone como trabajo futuro una arquitectura dinámica, que permita adaptarse a nuevos cambios evolutivos en la estructura de la base de datos genoma, mediante la reconfiguración de los esquemas de transformación y carga que se encuentran basados en XML. Además de otra arquitectura para el soporte de consultas utilizando tencicas para el tratamiento pág. 105

118 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. Se constituyó una plataforma de conocimientos básicos, en genómica, bioinformática y en bases de datos en biología molecular, los cuales son totalmente nuevos en el Departamento de Ciencias Computacionales del CENIDET, y pueden posibilitar el desarrollo de nuevos trabajos en este campo. 6.2 Aportaciones Un análisis sobre la estructura y mecanismos de acceso a las bases de datos del NCBI, así como de otros centros de investigación como el EBI y HGMD, los cuales permiten principalmente el acceso a las bases de datos a través de servicios web. Un análisis sobre las bases de datos del NCBI junto con una clasificación donde se identifican las bases de datos que contienen información relevante a la base de datos genoma. Una metodología para la administración de listas de genes, la extracción-transformación de los datos de la fuente y la carga en la base de datos genoma. Un Prototipo para la para la extracción de datos del NCBI a través de servicios web para la carga de datos automática en la base de datos genoma. Un Análisis sobre de herramientas ETL utilizadas en el diseño de Data Warehouse, donde se observo principalmente la característica de lenguaje de implementación y el soporte para integrar datos provenientes de servicios web. Una propuesta de arquitectura dinámica para la carga de datos en la base de datos genoma. Una propuesta de arquitectura para consultas en lenguaje natural sobre la literatura contenida en la base de datos genoma. Se realizaron valiosas aportaciones en la elaboración del articulo Enforcig Conceptual Modeling to Improve the Understanding of Human Genome, donde se cita una mención del autor de esta tesis en la sección de agradecimientos. pág. 106

119 Capítulo 6: Conclusiones y trabajos futuros 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, 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 Trabajos futuros Se propone como trabajos futuros el desarrollo de las dos arquitecturas propuestas en la sección 5.2 Análisis de resultados del capítulo 5 Plan experimental. A continuación se mencionan los módulos que correspondientes a dichas arquitecturas. Arquitectura dinámica para la carga de datos en la base de datos genoma. o Source Extract Engine. o Update Trigger Engine. o XSLT Generation Engine. o XSD Reference Generate Engine. o XML Transformation Engine. o Genome Load Engine. Arquitectura para consultas en lenguaje natural sobre la literatura contenida en la base de datos genoma. o Ontology Engine. o SPARQL Query Engine. o The Stanford Parser. pág. 107

120 Anexo A Escenarios de los casos de uso En este anexo se muestran las tablas en las que se describen los escenarios para los casos de uso mencionados en el capítulo 3. pág. 108

121 pág. 109 Anexo A Escenarios de los casos de uso 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é Luis Última Modificación: Fecha de creación: 1-Abril-2009 Fecha de la última modificación: Actores: Usuario Description: Precondiciones: Pos condiciones: Escenario de éxito principal: Escenario de fracaso 1: Escenario de fracas 2: Escenario de fracaso 3: Rodríguez Pliego José Luis 17-Julio-2009 Se encarga de obtener los datos de una lista de genes y almacenarlos en la base de datos genoma. Conexión estable a Internet. Conexión estable con la base de datos genoma. Servicios web de Entrez Utilities están disponibles Datos almacenados correctamente en la base de datos genoma. 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 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 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 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. 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 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 El módulo de cargar lista de genes muestra al usuario el error generado por el caso de uso 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 El módulo cargar lista de genes no atiende correctamente la solicitud del usuario debido a un error generado en el caso de uso El módulo de cargar lista de genes muestra al usuario el error generado por el caso de uso El módulo cargar lista de genes inicia proceso de carga de los datos en la

122 Anexo A Escenarios de los casos de uso Prioridad: Suposiciones: base de datos genoma mediante el apoyo del caso de uso El módulo cargar lista de genes no atiende correctamente la solicitud del usuario debido a un error generado en el caso de uso El módulo cargar lista de genes muestra al usuario el error generado por el caso de uso 1.3. Alta. Se supone que se tiene acceso a Internet. Tabla 12 Escenarios para el caso de uso Administrar lista de genes ID: CU 1.1 Nombre del Caso de Administrar lista de genes. Uso: Autor: Rodríguez Pliego José Luis Última Modificación: Rodríguez Pliego José Luis Fecha de creación: 1-Abril-2009 Fecha de la última 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 principal: 1. El módulo administrar lista de genes crea una lista nueva de genes. 2. El módulo administrar lista de genes llena la lista de genes con los datos obtenidos mediante el apoyo del caso de uso El módulo administrar lista de genes permite al usuario guardar la lista de genes. 4. El módulo administrar lista de genes guarda la lista de genes en un dispositivo de almacenamiento secundario. 5. El módulo administrar lista de genes informa al usuario de que la lista de genes ha sido guardada correctamente. Escenario de éxito alterno 1: Escenario de fracaso 1: 1. El módulo administrar lista de genes abre una lista de genes existente. 2. El módulo administrar lista de genes permite al usuario modificar la lista de genes con los datos obtenidos mediante el apoyo del caso de uso 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. 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 pág. 110

123 Anexo A Escenarios de los casos de uso 3. El módulo administrar lista de genes informa al usuario que la lista no puede ser llenada. Escenario de fracaso 2: 1. El módulo administrar lista de genes no puede abrir una lista de genes existente. 2. El módulo administrar lista de genes informa al usuario que la lista de genes ha sido no puede se puede abrir. Escenario de fracaso 3: 1. El módulo administrar lista de genes crea o abre una lista de genes. 2. El módulo administrar lista de genes permite al usuario llenar o modificar la lista de genes con los datos obtenidos mediante el apoyo del caso de uso El módulo administrar lista de genes permite al usuario guardar la lista de genes. 4. El módulo administrar lista de genes no puede guardar la lista de genes en un dispositivo de almacenamiento. 5. El módulo administrar lista de genes informa al usuario que la lista de genes no se puedo guardar. Prioridad: Alta. Suposiciones: Se supone que hay memoria suficiente en la PC cliente. Se supone que hay una lista de genes existente en la PC cliente. Tabla 13 Escenarios para el caso de uso Obtener identificador del gen en el NCBI para la vista Transcription ID: CU Nombre del Caso de Obtener identificador del gen en el NCBI para Transcription View. Uso: Autor: Rodríguez Pliego José Luis Última Modificación: Rodríguez Pliego José Luis Fecha de creación: 05-Junio-2009 Fecha de la última 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 valido de la fuente NCBI. Escenario de éxito principal: 1. El módulo obtener identificador del gen en el NCBI para Transcription View extrae el identificador del gen mediante el servicio Web Eutils de la interface SOAP para Entrez Utilities. 2. Si extrae el identificador del gen, el módulo obtener identificador del gen en el NCBI para Transcription View verifica los datos del gen obtenido pág. 111

124 Anexo A Escenarios de los casos de uso Escenario de fracaso 1: Escenario de fracaso 2: Prioridad: Suposiciones: 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 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. 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. Alta. Se supone que se tiene acceso a la base de datos genoma. Se supone que el servicio Web de Eutils está disponible. Tabla 14 Escenarios del caso de uso Obtener datos de cada gen de la lista de la fuente NCBI ID: CU 1.2 Nombre del Caso de Uso: Autor: Obtener datos de cada gen de la lista de la fuente NCBI. Rodríguez Pliego José Luis pág. 112 Última Modificación: Fecha de creación: 1-Abril-2009 Fecha de la última modificación: Actores: CU 1 Descripción: Precondiciones: Poscondiciones: Escenario de éxito principal: Rodríguez Pliego José Luis 17-Julio-2009 Se encarga de obtener los datos de una lista de genes y almacenarlos en la base de datos genoma. Conexión estable a Internet. Lista de genes con identificadores Interface SOAP para Entrez Utilities disponible. Datos de referencia de cada gen recuperados correctamente. 1. El módulo obtener datos de cada gen de la lista de la fuente NCBI lee los datos de referencia de cada gen de la lista. 2. El módulo obtener datos de cada gen de la lista de la fuente NCBI extrae

125 Anexo A Escenarios de los casos de uso Escenario de fracaso 1: Prioridad: Suposiciones: la información correspondiente de cada gen de la interface SOAP para Entrez Utilities mediante el caso de uso 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 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 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 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. Alta. Se supone que se tiene acceso a internet. Se supone que los servicios web de Eutils están disponibles. Se supone que hay memoria suficiente en la PC cliente. Tabla 15 Escenarios para el caso de uso Cargar datos de cada gen de la lista ID: CU 1.3 Nombre del Caso de Uso: Autor: Cargar datos de cada gen de la lista. Rodríguez Pliego José Luis pág. 113 Última Modificación: Fecha de 05-Junio-2009 Fecha de la última modificación: Actores: CU 1 Descripción: Precondiciones: Poscondiciones: Escenario de éxito principal: Base de datos genoma. Rodríguez Pliego José Luis 17-Julio-2009 Se encarga de almacenar la información referente a cada gen de la lista en la base de datos genoma. Conexión estable a Internet. Base de datos genoma. Datos extraídos y transformados de cada gen. Datos almacenados correctamente en la base de datos genoma. 1. El módulo cargar datos de cada gen de la lista recibe cada vector de cada gen. 2. El módulo cargar datos de cada gen de la lista carga cada vector de cada gen en la base de datos genoma correspondiente a Transcription View (LOG, GEN, BIBLIOGRAPHY_REFERENCE, REFERENCE_GENE, ALLELE, REFERENCE_ALLELE, TRANSCRIPTION_UNIT,

126 Anexo A Escenarios de los casos de uso Escenario de fracaso 1: Prioridad: Suposiciones: SEGMENT, REFERENCE_SEGMENT, SPLICED_TRANSCRIPT, REFERENCE_SPLICED_TRANSCRIPT) mediante el caso de uso El módulo cargar datos de cada gen de la lista devuelve la confirmación de que la inserción se realizó correctamente. 1. El módulo cargar datos de cada gen de la lista recibe cada dato de referencia de cada gen. 2. El módulo cargar datos de cada gen de la lista no puede agregar cada dato de referencia de cada gen en la base de datos Genoma. 3. El módulo cargar datos de cada gen de la lista devuelve un mensaje de error de inserción en la base de datos al caso de uso 1. Alta. Se supone que se tiene acceso a la base de datos genoma. pág. 114

127 Anexo B Plan de pruebas ETLNCBIGD En este anexo se describe el documento del plan de pruebas diseñado para evaluar la herramienta desarrollada mediante la metodología propuesta, el cual se realizó siguiendo el estándar 829 de la IEEE [IEEE829]. pág. 115

128 Anexo B Plan de pruebas ETLNCBIGD Plan de pruebas ETLNCBIGD Descripción del identificador: Introducción ETL: Extract, Transform, and Load NCBI: National Center for Biotechnology Information. GD: Genoma Database Este documento define el plan de pruebas basado en el estándar IEEE 829 para pruebas de software, que permitirá verificar la funcionalidad de la ETLNCBIGD que es una herramienta para la carga automática de la vista Transcription de la bases de datos genoma mediante una lista de genes. ETLNCBIGD fue desarrollada utilizando la metodología propuesta en esta tesis. ETLNCBIGD consiste en tres módulos principales: 1. Administrar lista de genes: Tiene como objetivo obtener una lista de genes con sus respectivos identificadores. 2. Extracción (NCBI)-Transformación (vista Transcription): Tiene como objetivo enviar en una trama los datos con la información necesaria para realizar una solicitud al servidor, así como interpretar la trama de respuesta del servidor. 3. Carga en la vista Trasncription: Tiene como objetivo cargar los datos extraídos y transformados de las bases de datos del NCBI a la base de datos genoma La hipótesis nula a probar es la siguiente: No se puede automatizar la carga de datos de una base de datos basada en un modelo conceptual del genoma humano, a partir de bases de datos heterogéneas. La hipótesis alterna es: Se puede automatizar la carga de datos de una base de datos basada en un modelo conceptual del genoma humano, a partir de bases de datos heterogéneas. Aparte de este punto 1 de introducción, el presente documento contiene los siguientes puntos: 2. Descripción del plan 3. Casos de Prueba 4. Procedimientos de Pruebas. 5. Resultado de Pruebas pág. 116

129 Anexo B Plan de pruebas ETLNCBIGD 2. Descripción del Plan 2.1. Características a ser probadas El presente plan de pruebas contiene la descripción de los casos de prueba definidos con el fin de validar y verificar que la herramienta generada por la metodología propuesta cumple con los requisitos para cargas automáticas de la base de datos genoma mediante una lista de genes Características excluidas de las pruebas No se dará prioridad al diseño de interfaz de las aplicaciones que se utilicen para probar la herramienta de carga. Habrá casos en que falte información en la fuente, reflejándose en la base de datos. La herramienta no asegura la carga completa de todos los campos de las tablas relacionadas. No se probaran individualmente los módulos de extracción transformación y carga por separado, ya que estos módulos realizan actividades automáticas Enfoque: Debido a que las mediciones son principalmente de funcionalidad, la herramienta se probará ejecutando las funciones permitidas al usuario. Las cuales serán solicitudes del usuario que ejecutan funcionalidades principales para realizar la carga en la base de datos. Ya que se trata de una herramienta de carga automática las funcionalidades principales a probar son la generación de una lista de genes y la ejecución del proceso automático de carga. 2.4 Criterio pasa/ no pasa de casos de prueba. En la descripción de los casos de prueba, se detallarán los resultados esperados para cada uno de los casos. Se considerará que una prueba ha pasado con éxito cuando los resultados esperados coincidan con los descritos en el caso de prueba. En caso de no coincidencia, se analizarán las causas y se harán las modificaciones necesarias hasta que se cumplan con los resultados esperados Criterios de suspensión y requerimientos de reanudación. En ningún caso se suspenderán definitivamente las pruebas. Cada vez que se presente que el caso no pasa una prueba, inmediatamente se procederá a evaluar y corregir el error, permaneciendo en la prueba de este caso hasta que ya no se presenten dificultades con él Tareas de pruebas. Las tareas a desarrollar para preparar y aplicar las pruebas (tabla 16) Tabla 16 Tareas a desarrollar para preparar y aplicar las pruebas Tarea Precedente Habilidades especiales Responsabilidades 1. Preparación del plan de Autor de esta tesis pruebas. Terminación del análisis y diseño de ETLNCBIGD Conocimiento sobre la metodología propuesta en esta tesis, la herramienta desarrollada y del IEEE Std pág. 117

130 Anexo B Plan de pruebas ETLNCBIGD 2. Preparación del diseño de pruebas. Tarea 1 Conocimiento sobre la estructura de ETLNCBIGD, sus clases y métodos la interfaz al usuario y del IEEE Std Conocimiento básico de genética y de la interfaz al usuario de la herramienta. 3. Preparación de los Tarea 2 casos de prueba. 4. Aplicación de pruebas. Tarea 3 Conocimiento del entorno y de la interfaz al usuario para su ejecución. 5. Resolver los incidentes Tarea 4 Conocimiento del lenguaje de programación de pruebas. C#, de los servicios web, de herramientas ETL, 6. Evaluación de resultados. Tarea 4 Tarea 5 de base de datos. Conocimiento de las preguntas de investigación, la hipótesis de prueba, y los objetivos de esta tesis. Autor de esta tesis Autor de esta tesis Autor de esta tesis Autor de esta tesis Autor de esta tesis 2.7. Liberación de pruebas. La entrada especificada y la salida esperada en cada caso de prueba, serán suficientes para la comprobación del objetivo alcanzado y por lo tanto para la aceptación de las pruebas Requisitos ambientales. Las características y propiedades físicas (tabla 17) y lógicas (tabla 18) requeridas para el ambiente de pruebas, son las siguientes: Equipo PC de Escritorio Servidor Infraestructura de Red Tabla 17 Requisitos de Hardware para las pruebas Descripción Procesador Intel P4 o superior. 512M de memoria RAM o superior. 80G en Disco duro. Windows XP Procesador Intel P4 o superior. 2GB de memoria RAM o superior. Cuota de 50G en Disco duro. Windows XP Banda ancha de 512 MBits o superior con acceso a Internet Herramientas Tabla 18 Requisitos de Software para las pruebas Interfaz SOAP para Entrez Utilities - EUtils - efetchgene - efetchseq - efetchpubmed Conexión VPN a la UPV Microsoft.NET Framework 3.5 SP1 Oracle 9i pág. 118

131 Anexo B Plan de pruebas ETLNCBIGD 2.9 Responsabilidades. Toda la responsabilidad de las pruebas recae en el autor de la tesis Riesgos y contingencias. Falta de tiempo: El tiempo es un factor importante que genera incertidumbre a la hora de aplicar las pruebas, por lo que se tomarán como mínimo 10 casos de prueba, si el tiempo lo permite se extenderán las pruebas a otros casos, principalmente hacia la carga de listas de genes más grandes. Todas las fallas que se pudieran presentar en el transcurso del desarrollo de las pruebas deberán ir resolviéndose de manera iterativa por el responsable de esta tesis, hasta que la falla no produzca más. 3. Casos de Pruebas. 3.1 Características a probar La siguiente lista define las características a ser probadas: Conexión con el servidor de la base de datos genoma. Se verificara el funcionamiento del módulo que configura la conexión con el servidor mediante la inserción de datos de conexión validos e inválidos. Generación de la lista de genes: Se verificara la generación de una lista de genes con su respectivo identificador en el NCBI identificándolos a través de la aplicación Web Entrez del NCBI para que los datos extraídos sean correctos. Carga de los datos: se verificara la carga en el servidor mediante SQLDeveloper y se validaran los valores mediante la consulta manual en la base de datos de Entrez Gene, indicando que los datos se han cargado correctamente. 3.2 Conexión con el servidor de la base de datos genoma ETLNCBIGD-101 Pruebas de conexión con el servidor de la base de datos genoma. ETLNCBIGD Probar conexión con la base de datos genoma utilizando datos inválidos. ETLNCBIGD Probar conexión con la base de datos genoma utilizando datos validos. 3.3 Pruebas de generación de la lista de genes ETLNCBIGD-201 Pruebas de generación de la lista de genes. ETLNCBIGD Agregar un nuevo elemento valido a la lista de genes. ETLNCBIGD Agregar un nuevo elemento invalido a la lista de genes. ETLNCBIGD Eliminar un elemento de la lista de genes. ETLNCBIGD Generar una lista de 10 elementos. pág. 119

132 ETLNCBIGD Generar una lista de 20 elementos. 3.4 Pruebas para la carga de los datos. ETLNCBIGD -301-Pruebas para la carga de los datos. 4. Procedimiento de Pruebas ETLNCBIGD Cargar una lista de un elemento. ETLNCBIGD Cargar una lista de 10 elementos. ETLNCBIGD Cargar una lista de 20 elementos. Anexo B Plan de pruebas ETLNCBIGD Este capítulo contiene la descripción de los procedimientos de pruebas correspondientes a los distintos casos de prueba que conforman el presente plan de pruebas. Los distintos casos de pruebas se encuentran organizados en grupos de pruebas cuyo objetivo es validar y verificar una determinada funcionalidad de la herramienta de carga. Cada uno de los casos de pruebas está dirigido a la validación y verificación de una funcionalidad. Para cada uno de los grupos de pruebas se describe el propósito del grupo de pruebas, el entorno de prueba necesario, los distintos conjuntos de pruebas que lo conforman. Para cada uno de los casos de prueba se describe el propósito del caso, el entorno necesario para la ejecución del caso, el procedimiento de la prueba y los resultados esperados. En general, los casos de prueba dentro de un grupo de pruebas deberán ejecutarse en el orden de su descripción. 4.1 ETLNCBIGD-101 Pruebas de conexión con el servidor de la base de datos genoma Propósito Verificar que el módulo configurar conexión con el servidor de la base de datos funcione correctamente Entorno de prueba. Para la ejecución de los casos de prueba contenidos en este grupo se utilizarán los siguientes elementos: PC con conexión a Internet. Conexión VPN a la UPV ETLNCBIGD Probar conexión con la base de datos genoma utilizando datos inválidos Propósito Verificar que los datos inválidos no permiten establecer una conexión con el servidor de la base de datos genoma. pág. 120

133 Anexo B Plan de pruebas ETLNCBIGD Entorno de prueba. La prueba se efectuará en un entorno con un equipo de cómputo (PC) con conexión a Internet y una conexión VPN a la UPV Proceso 1. Ejecutar la herramienta de carga 2. Ejecutar la función de configurar conexión con la base de datos 3. Introducir datos inválidos en los campos que establecen los parámetros de conexión correspondientes. 4. Ejecutar la funcionalidad de probar conexión Resultado esperado. Un mensaje en pantalla que indique el error generado debido a los datos inválidos ETLNCBIGD Probar conexión con la base de datos genoma utilizando datos validos Propósito Verificar que los datos validos permiten establecer una conexión con el servidor de la base de datos genoma Entorno de prueba. La prueba se efectuará en un entorno con un equipo de cómputo (PC) con conexión a Internet y una conexión VPN a la UPV Proceso 1. Ejecutar la herramienta de carga 2. Ejecutar la función de configurar conexión con la base de datos 3. Introducir datos validos en los campos que establecen los parámetros de conexión correspondientes. 4. Ejecutar la funcionalidad de probar conexión Resultado esperado. Un mensaje en pantalla que indique que la prueba de conexión es correcta debido al uso de datos validos. 4.2 ETLNCBIGD-201 Pruebas de generación de la lista de genes Propósito Verificar que el módulo administrar lista de genes funcione correctamente. pág. 121

134 Anexo B Plan de pruebas ETLNCBIGD Entorno de prueba. Para la ejecución de los casos de prueba contenidos en este grupo se utilizarán los siguientes elementos: PC con conexión a Internet. Conexión VPN a la UPV. Servicio Web EUtils ETLNCBIGD Agregar un nuevo elemento valido a la lista de genes Propósito Verificar que se agrega un elemento valido a la lista de genes y su correspondiente identificador en el NCBI Entorno de prueba. La prueba se efectuará en un entorno con un equipo de cómputo (PC) con conexión a Internet, una conexión VPN a la UPV y el servicio Web de EUtils Proceso 1. Ejecutar la herramienta de carga 2. Ejecutar la función de administrar lista de genes. 3. Introducir nombre de gen valido para agregar a la lista de genes. 4. Ejecutar la funcionalidad de agregar nuevo elemento Resultado esperado. La lista de genes ahora muestra un nuevo elemento ETLNCBIGD Agregar un nuevo elemento inválido a la lista de genes Propósito Verificar que no se agrega un elemento inválido a la lista de genes Entorno de prueba. La prueba se efectuará en un entorno con un equipo de cómputo (PC) con conexión a Internet, una conexión VPN a la UPV y el servicio Web de EUtils Proceso 1. Ejecutar la herramienta de carga 2. Ejecutar la función de administrar lista de genes. 3. Introducir nombre de gen inválido para agregar a la lista de genes. 4. Ejecutar la funcionalidad de agregar nuevo elemento. pág. 122

135 Anexo B Plan de pruebas ETLNCBIGD Resultado esperado. La lista de genes no muestra un nuevo elemento ETLNCBIGD Eliminar un elemento de la lista de genes Propósito Verificar que se elimina un elemento de la lista de genes Entorno de prueba. La prueba se efectuará en un entorno con un equipo de cómputo (PC) con conexión a Internet, una conexión VPN a la UPV y el servicio Web de EUtils Proceso 1. Ejecutar la herramienta de carga 2. Ejecutar la función de administrar lista de genes. 3. Seleccionar el elemento a eliminar de la lista de genes. 4. Teclear la tecla suprimir Resultado esperado. La lista de genes ahora no muestra el elemento eliminado ETLNCBIGD Generar una lista de 10 elementos Propósito Verificar que se agregan 10 elementos valido a la lista de genes y su correspondiente identificador en el NCBI. Con la finalidad de observar su tiempo de carga Entorno de prueba. La prueba se efectuará en un entorno con un equipo de cómputo (PC) con conexión a Internet, una conexión VPN a la UPV y los servicios web de efetchgene, efetchseq y efetchpubmed Proceso 1. Ejecutar la herramienta de carga 2. Ejecutar la función de administrar lista de genes. 3. Introducir nombre de gen valido para agregar a la lista de genes. 4. Ejecutar la funcionalidad de agregar nuevo elemento. 5. Repetir los pasos 3 y 4 10 veces Resultado esperado. La lista de genes muestra los 10 elementos que la conforman. pág. 123

136 4.2.7 ETLNCBIGD Generar una lista de 20 elementos Propósito Anexo B Plan de pruebas ETLNCBIGD 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 Entorno de prueba. La prueba se efectuará en un entorno con un equipo de cómputo (PC) con conexión a Internet, una conexión VPN a la UPV y los servicios web de efetchgene, efetchseq y efetchpubmed Proceso 1. Ejecutar la herramienta de carga 2. Ejecutar la función de administrar lista de genes. 3. Introducir nombre de gen valido para agregar a la lista de genes. 4. Ejecutar la funcionalidad de agregar nuevo elemento. 5. Repetir los pasos 3 y 4 20 veces Resultado esperado. La lista de genes muestra los 20 elementos que la conforman. 4.3 ETLNCBIGD-301-Pruebas para la carga de los datos Propósito Verificar que el módulo cargar datos en la base de datos genoma funcione correctamente Entorno de prueba. Para la ejecución de los casos de prueba contenidos en este grupo se utilizarán los siguientes elementos: PC con conexión a Internet. Conexión VPN a la UPV. Servicios web de efetchgene, efetchseq y efetchpubmed ETLNCBIGD Cargar una lista de un elemento Propósito Validar el proceso automático de carga de los datos en la base de datos genoma mediante la comparación de los resultados del proceso de extracción, transformación y carga de los datos con los de la fuente correspondiente. pág. 124

137 Anexo B Plan de pruebas ETLNCBIGD Entorno de prueba. La prueba se efectuará en un entorno con un equipo de cómputo (PC) con conexión a Internet, una conexión VPN a la UPV y los servicios web de efetchgene, efetchseq y efetchpubmed Proceso 1. Ejecutar la herramienta de carga 2. Ejecutar la función de administrar lista de genes. 3. Introducir nombre de gen valido para agregar a la lista de genes. 4. Ejecutar la funcionalidad de agregar nuevo elemento. 5. Guardar la lista de genes. 6. Ejecutar la función de cargar datos. 7. Verificar la inserción del registro correspondiente en la tabla principal GENE. 8. Verificar la correspondencia de los datos en la base de datos de Gene del NCBI Resultado esperado. La carga correcta de los datos correspondientes al gen en la vista Transcription de la base de datos genoma y el tiempo de ejecución ETLNCBIGD Cargar una lista de 10 elementos Propósito Validar el proceso automático de carga de los datos correspondientes a 10 genes en la base de datos genoma mediante la comparación de los datos cargados con los de la fuente correspondiente y observar el tiempo de carga Entorno de prueba. La prueba se efectuará en un entorno con un equipo de cómputo (PC) con conexión a Internet, una conexión VPN a la UPV y los servicios web de efetchgene, efetchseq y efetchpubmed Proceso 1. Ejecutar la herramienta de carga 2. Ejecutar la función de administrar lista de genes. 3. Introducir nombre de gen valido para agregar a la lista de genes. 4. Ejecutar la funcionalidad de agregar nuevo elemento. 5. Repetir los pasos 3 y 4 10 veces. 6. Guardar la lista de genes. 7. Ejecutar la función de cargar datos. 8. Verificar la inserción del registro correspondiente en la tabla principal GENE. 9. Verificar la correspondencia de los datos en la base de datos de Gene del NCBI. pág. 125

138 Anexo B Plan de pruebas ETLNCBIGD Resultado esperado. La carga correcta de los datos correspondientes al gen en la vista Transcription de la base de datos genoma y el tiempo de ejecución ETLNCBIGD Cargar una lista de 20 elementos Propósito Validar el proceso automático de carga de los datos correspondientes a 20 genes en la base de datos genoma mediante la comparación de los datos cargados con los de la fuente correspondiente y observar el tiempo de carga Entorno de prueba. La prueba se efectuará en un entorno con un equipo de cómputo (PC) con conexión a Internet, una conexión VPN a la UPV y los servicios web de efetchgene, efetchseq y efetchpubmed Proceso 1. Ejecutar la herramienta de carga 2. Ejecutar la función de administrar lista de genes. 3. Introducir nombre de gen valido para agregar a la lista de genes. 4. Ejecutar la funcionalidad de agregar nuevo elemento. 5. Repetir los pasos 3 y 4, 20 veces. 6. Guardar la lista de genes. 7. Ejecutar la función de cargar datos. 8. Verificar la inserción del registro correspondiente en la tabla principal GENE. 9. Verificar la correspondencia de los datos en la base de datos de Gene del NCBI Resultado esperado. La carga correcta de los datos correspondientes al gen en la vista Transcription de la base de datos genoma y el tiempo de ejecución. pág. 126

139 Anexo C Diagrama entidad-relación de la vista Transcription de la base de datos genoma En este anexo se muestra el diagrama entidad-relación correspondiente a la vista Transcription de la base de datos genoma, Copyright ProS, Universidad Politécnica de Valencia. pág. 127

140 Anexo C Diagrama entidad-relación de la vista Transcription de la base de datos genoma A GENE DATA BANK IDENT. id_gene: string(10) id_data_bank: string(10) Id_gene_db: string(20) GENE id_symbol: string(10) id_hugo: integer(10) official_name: string(1000) summary: string(1000) chromosome: integer(2) locus: string(30) DATA BANK id_data_bank: string(10) name: string(100) description: string(1000) ALLELE DATA BANK IDENT. id_gene: string(10) allele_num: integer(10) id_data_bank: string(10) Id_allele_db: string(20) ALLELE id_gene: string(10) allele_num: integer(10) start_position: integer(15) end_position: integer(15) strand: {minus, plus} TRANSCRIPTION UNIT id_gene: string(10) allele_num: integer(10) trans_unit_num: integer(10) B SEGMENT id_gene: string(10) allele_num: integer(10) segment_num: integer(10) start_position: integer(15) end_position: integer(15) trans_unit_num: integer(10) type: {promotor, transcribed sequence, terminator, regulator sequence} sequence: clob REGULATES id_gene_tu: string(10) allele_num_tu: integer(10) trans_unit_num: integer(10) id_gene_seg: string(10) allele_num_seg: integer(10) segment_num: integer(10) PRIMARY TRANSCRIPT id_gene: string(10) allele_num: integer(10) segment_num: integer(10) sequence: clob ELEMENT TRASCRIPT C REFERENCE_ALLELE id_gene: string(10) allele_num: integer(10) id_bib_ref: integer(10) REFERENCE_GENE id_gene: string(10) id_bib_ref: integer(10) id_gene: string(10) allele_num: integer(10) segment_num: integer(10) element_num: integer(10) element_type: {exon, intron} star_position: Integer(15) end_position: integer(15) sequence: clob BIBLIOGRAPHY DATA BANK bib_data_bank_name: string(100) id_bib_ref: integer(10) url: url BIBLIOGRAPHY REFERENCE id_bib_ref: integer(10) title: string(1000) abstract: clob publication: string(1000) authors: string(1000) REFERENCE_SEGMENT PRODUCES id_gene: string(10) allele_num: integer(10) segment_num: integer(10) element_num: integer(10) spliced_transcript_num: integer(10) REFERENCE_SPLICED TRANS. id_gene: string(10) allele_num: integer(10) spliced_transcript_num: integer(10) id_bib_ref: integer(10) id_gene: string(10) allele_num: integer(10) segment_num: integer(10) id_bib_ref: integer(10) SPLICED TRANSCRIPT id_gene: string(10) allele_num: integer(10) spliced_transcript_num: integer(10) type: {mrna, others} sequence: clob pág. 128

141 Anexo C Diagrama entidad-relación de la vista Transcription de la base de datos genoma Restricciones externas: 1. Si una tupla de SEGMENT tiene en el atributo type el valor regulator sequence, entonces el atributo trans_unit_num es nulo 2. Si una tupla de SEGMENT se le hace referencia desde alguna tupla de REGULATES, entonces el valor del atributo type de esa tupla ha de ser regulator sequence 3. El atributo sequence de SEGMENT es derivado a partir del los atributos start_position y end_position de SEGMENT y del atributo sequence de ALLELE, ya que la secuencia del segmento es una subcadena, determinada por la posición inicial y final, de la secuencia alélica. 4. El valor del atributo start_position de todos las tuplas de SEGMENT asociadas a una misma tupla de TRANSCRIPTION_UNIT es idéntico y mayor en 1 al valor del atributo end_position de la tupla de PROMOTOR asociada a esa misma tupla de TRANSCRIPTION_UNIT, caso de existir. 5. Una tupla de PRIMARY TRANSCRIPT hace referencia a una tupla de SEGMENT cuyo valor en type es transcribed sequence. 6. El atributo sequence de ELEMENT TRANSCRIPT es derivado a partir de sus atributos start_position y end_position y del atributo sequence de la tupla de TRANSCRIBED SEQUENCE, ya que su valor resulta ser la subcadena indicada por estas posiciones. 7. Las tuplas de ELEMENT TRANSCRIPT a las que se hacen referencia desde PRODUCES tienen el valor exon en el atributo type 8. Todas las tuplas de ELEMENT TRANSCRIPT asociadas a una tupla de SPLICED TRANSCRIPT a través de PRODUCES hacen referencia a una misma tupla de PRIMARY TRANSCRIPT PATH 9. En todo tupla de ALLELIC VARIANT, tiene valor el atributo specialization_mutant sólo si el valor del atributo specialization_effect es mutant. pág. 129

142 Anexo D Videos ilustrativos sobre nociones de genética En este anexo se citan algunos links en los cuales encontrara videos ilustrativos que pueden ayudar al lector a comprender mejor los procesos biológicos que se llevan a cabo dentro de las células eucariotas. pág. 130

143 Anexo D Videos ilustrativos sobre nociones de genética 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 Función de los ribosomas From RNA to Protein Synthesis RNA Animation pág. 131

144 Anexo E Ejemplo de la carga del gen NF1 En este anexo se muestra la interacción con la interfaz al usuario, que permite ejecutar los módulos de Administrar lista de genes, Extracción-transformación y de Carga. Para mostrar la interfaz así como los resultados se muestra un ejemplo de carga para el gen NF1, posteriormente se examina la base de datos genoma mostrando algunos registros cargados. Para ello se muestra a continuación la siguiente herramienta. pág. 132

145 Anexo E Ejemplo de la carga del gen NF1 ETL para la carga de datos del NCBI a Genoma Database ETL_GD está implementado en C# de MS Visual Studio En este prototipo se implementó un módulo adicional para la administración de la configuración de la conexión con la base de datos genoma, así como los módulos diseñados mediante la metodología propuesta: el módulo para la administración de la lista de genes, el módulo de extracción-transformación y el módulo de carga de los datos en la base de datos genoma correspondiente a la vista Transcription. La administración de la conexión permite al usuario cambiar los atributos de conexión con la base de datos genoma (figura 30). Figura 30 Administración de la conexión con la base de datos genoma La administración de la lista de genes permite al usuario llevar el control de los genes que se van a extraer desde las fuentes (NCBI) a través de sus correspondientes interfaces (Interface SOAP para Entrez Utilities). Por ejemplo: se crea una lista nueva y se desea agregar un nuevo gen llamado NF1 de la fuente NCBI, En la figura 31 se muestra el mensaje donde se indica que se encontró el gen en la fuente y se agregará a la lista. pág. 133

146 Anexo E Ejemplo de la carga del gen NF1 Figura 31 Agregando un elemento a la lista de genes Para la extracción/carga de los datos del gen NF1 se hace uso de la lista obtenida a través del módulo Administrar lista de genes. Se hace clic en el botón Cargar datos el cual extrae los datos del gen de la base de datos Gene en un vector (efecthgene), dicho vector se transforma para obtener los vectores correspondientes a la vista Transcription, mediante el uso de vectores intermedios (identificadores de secuencias). Posteriormente se extraen y transforman los datos de las bases de datos Nucleotide (efetchseq) y PubMed (efecthpubmed) correspondientes a la vista Transcription, para ser insertados en la base de datos genoma. Se muestra un resumen de estos vectores en el cuadro de texto Salida (ver figura 32). pág. 134

147 Anexo E Ejemplo de la carga del gen NF1 Figura 32 Cargando gen NF1 Se obtienen el conjunto de los vectores correspondientes a un gen y se insertan en la base de datos genoma. Para confirmar la inserción se utilizó el cliente Oracle SQL Developer. En las tablas principales, mostradas en las figuras de ka 33 a la 40, se observan los registros insertados correspondientes al gen NF1. Para observar la totalidad de las tablas que se cargaron y su descripción ver el Anexo C Diagrama entidad-relación de Transcription View. pág. 135

148 Anexo E Ejemplo de la carga del gen NF1 Figura 33 Comprobación de la inserción de los datos en la tabla "GENE" Figura 34 Comprobación de la inserción de los datos en la tabla "ALLELE" Figura 35 Comprobación de la inserción de los datos en la tabla "SEGMENT" Figura 36 Comprobación de la inserción de los datos en la tabla "SPLICED_TRANSCRIPT" Figura 37 Comprobación de la inserción de los datos en la tabla "ELEMENT_TRANSCRIPT" pág. 136

149 Anexo E Ejemplo de la carga del gen NF1 Figura 38 Comprobación de la inserción de los datos en la tabla "PRODUCES" Figura 39 Comprobación de la inserción de los datos en la tabla "BIBLIOGRAPHY_REFERENCE" Figura 40 Comprobación de la inserción de los datos en la tabla "BIBLIOGRAPHY_DATABANK" pág. 137

"Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios

Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios "Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios Miguel Alfonso Flores Sánchez 1, Fernando Sandoya Sanchez 2 Resumen En el presente artículo se

Más detalles

Introducción. Metadatos

Introducción. Metadatos Introducción La red crece por momentos las necesidades que parecían cubiertas hace relativamente poco tiempo empiezan a quedarse obsoletas. Deben buscarse nuevas soluciones que dinamicen los sistemas de

Más detalles

Capítulo 5. Cliente-Servidor.

Capítulo 5. Cliente-Servidor. Capítulo 5. Cliente-Servidor. 5.1 Introducción En este capítulo hablaremos acerca de la arquitectura Cliente-Servidor, ya que para nuestra aplicación utilizamos ésta arquitectura al convertir en un servidor

Más detalles

Centro de Investigación y Desarrollo en Ingeniería en Sistemas de Información (CIDISI)

Centro de Investigación y Desarrollo en Ingeniería en Sistemas de Información (CIDISI) Centro de Investigación y Desarrollo en Ingeniería en Sistemas de Información (CIDISI) OFERTAS TECNOLÓGICAS 1) GESTIÓN ORGANIZACIONAL Y LOGÍSTICA INTEGRADA: TÉCNICAS Y SISTEMAS DE INFORMACIÓN 2) GESTIÓN

Más detalles

Sistemas de información

Sistemas de información Sistemas de información Es un conjunto integrado de componentes que almacenan, recolectan y procesan datos, para la entrega de la información, el conocimiento y los productos digitales. Las empresas comerciales

Más detalles

Centro Nacional de Referencia de Aplicación de las TIC basadas en fuentes abiertas. Un ejemplo práctico: Plataforma de Archivo electrónico

Centro Nacional de Referencia de Aplicación de las TIC basadas en fuentes abiertas. Un ejemplo práctico: Plataforma de Archivo electrónico Centro Nacional de Referencia de Aplicación de las TIC basadas en fuentes abiertas Un ejemplo práctico: Plataforma de Archivo electrónico Índice 1. Presentación del proyecto 2. Objetivos del proyecto 3.

Más detalles

Elementos requeridos para crearlos (ejemplo: el compilador)

Elementos requeridos para crearlos (ejemplo: el compilador) Generalidades A lo largo del ciclo de vida del proceso de software, los productos de software evolucionan. Desde la concepción del producto y la captura de requisitos inicial hasta la puesta en producción

Más detalles

Capítulo 1 Introducción

Capítulo 1 Introducción Capítulo 1 Introducción Dentro de los muchos campos que abarca la universidad para la investigación científica, se encuentra el de los Sistemas de Información Geográfica (SIG). Para ello, cuenta con el

Más detalles

CURSO COORDINADOR INNOVADOR

CURSO COORDINADOR INNOVADOR CURSO COORDINADOR INNOVADOR PRESENTACIÓN La tarea que el Ministerio de Educación se propone a través de Enlaces, en relación al aseguramiento del adecuado uso de los recursos, con el fin de lograr un impacto

Más detalles

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. UNIVERSIDAD DE CARABOBO FACULTAD DE CIENCIA Y TECNOLOGÍA DIRECCION DE EXTENSION COORDINACION DE PASANTIAS Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere. Pasante:

Más detalles

Capítulo 2. Planteamiento del problema. Capítulo 2 Planteamiento del problema

Capítulo 2. Planteamiento del problema. Capítulo 2 Planteamiento del problema Capítulo2 Planteamientodelproblema 38 2.1Antecedentesycontextodelproyecto En lo que respecta a los antecedentes del proyecto, se describe inicialmente el contexto donde se utiliza el producto de software.

Más detalles

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos 2.1. Principios básicos del Modelado de Objetos UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos Hoy en día muchos de los procesos que intervienen en un negocio o empresa y que resuelven

Más detalles

CONCLUISIONES Y RECOMENDACIONES

CONCLUISIONES Y RECOMENDACIONES CONCLUISIONES Y RECOMENDACIONES CONTENIDO 7.1 Verificación de Hipótesis 7.2 Conclusiones 7.3 Recomendaciones Mónica Cecilia Gallegos Varela - 145 - VERIFICACIÓN DE HIPÓTESIS La hipótesis planteada al inicio

Más detalles

MINING SOLUTIONS LIMITADA

MINING SOLUTIONS LIMITADA MINING SOLUTIONS LIMITADA Contenido... 1 Resumen Ejecutivo... 3... 4 Nuestros Servicios... 5 Administración de proyectos... 6 Operación y mantenimiento sobre los Sistema de Manejo de la Información Geológica

Más detalles

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE PRUEBAS DE SOFTWARE La prueba del software es un elemento crítico para la garantía de la calidad del software. El objetivo de la etapa de pruebas es garantizar la calidad del producto desarrollado. Además,

Más detalles

Capitulo 5. Implementación del sistema MDM

Capitulo 5. Implementación del sistema MDM Capitulo 5. Implementación del sistema MDM Una vez que se concluyeron las actividades de análisis y diseño se comenzó la implementación del sistema MDM (Manejador de Documentos de MoProSoft). En este capitulo

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación II MODELOS y HERRAMIENTAS UML 1 1 Modelado de casos de uso (I) Un caso de uso es una técnica de modelado usada para describir lo que debería hacer

Más detalles

activuspaper Text Mining and BI Abstract

activuspaper Text Mining and BI Abstract Text Mining and BI Abstract Los recientes avances en lingüística computacional, así como la tecnología de la información en general, permiten que la inserción de datos no estructurados en una infraestructura

Más detalles

SISTEMAS DE INFORMACIÓN II TEORÍA

SISTEMAS DE INFORMACIÓN II TEORÍA CONTENIDO: EL PROCESO DE DISEÑO DE SISTEMAS DISTRIBUIDOS MANEJANDO LOS DATOS EN LOS SISTEMAS DISTRIBUIDOS DISEÑANDO SISTEMAS PARA REDES DE ÁREA LOCAL DISEÑANDO SISTEMAS PARA ARQUITECTURAS CLIENTE/SERVIDOR

Más detalles

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA Documento de trabajo elaborado para la Red Temática DocenWeb: Red Temática de Docencia en Control mediante Web (DPI2002-11505-E)

Más detalles

Metodología básica de gestión de proyectos. Octubre de 2003

Metodología básica de gestión de proyectos. Octubre de 2003 Metodología básica de gestión de proyectos Octubre de 2003 Dentro de la metodología utilizada en la gestión de proyectos el desarrollo de éstos se estructura en tres fases diferenciadas: Fase de Éjecución

Más detalles

1. Resumen.. 3. 2. Objetivos.. 3. 3. Introducción. 3

1. Resumen.. 3. 2. Objetivos.. 3. 3. Introducción. 3 1 Índice 1. Resumen.. 3 2. Objetivos.. 3 3. Introducción. 3 4. Aplicación web para la gestión de una memoria corporativa: reportes de actividades (proyectos) 4.1 Metodología... 4 4.2 Lenguajes y herramientas

Más detalles

INTRANET DE UNA EMPRESA RESUMEN DEL PROYECTO. PALABRAS CLAVE: Aplicación cliente-servidor, Intranet, Área reservada, Red INTRODUCCIÓN

INTRANET DE UNA EMPRESA RESUMEN DEL PROYECTO. PALABRAS CLAVE: Aplicación cliente-servidor, Intranet, Área reservada, Red INTRODUCCIÓN INTRANET DE UNA EMPRESA Autor: Burgos González, Sergio. Director: Zaforas de Cabo, Juan. Entidad colaboradora: Colegio de Ingenieros del ICAI. RESUMEN DEL PROYECTO El proyecto consiste en el desarrollo

Más detalles

Alumna: Adriana Elizabeth Mendoza Martínez. Grupo: 303. P.S.P. Miriam De La Rosa Díaz. Carrera: PTB. en Informática 3er Semestre.

Alumna: Adriana Elizabeth Mendoza Martínez. Grupo: 303. P.S.P. Miriam De La Rosa Díaz. Carrera: PTB. en Informática 3er Semestre. Alumna: Adriana Elizabeth Mendoza Martínez. Grupo: 303. P.S.P. Miriam De La Rosa Díaz. Carrera: PTB. en Informática 3er Semestre. Tema: Sistemas Subtema: Base de Datos. Materia: Manejo de aplicaciones

Más detalles

AVA-QHSE System. Introducción Características del producto Especificaciones Técnicas

AVA-QHSE System. Introducción Características del producto Especificaciones Técnicas Introducción Características del producto Especificaciones Técnicas Introducción Qué es AVA-QHSESystem? AVA-QHSESystem es una solución completa de apoyo a la gestión y cumplimiento de las normas de Seguridad,

Más detalles

Colección de Tesis Digitales Universidad de las Américas Puebla. Morales Salcedo, Raúl

Colección de Tesis Digitales Universidad de las Américas Puebla. Morales Salcedo, Raúl 1 Colección de Tesis Digitales Universidad de las Américas Puebla Morales Salcedo, Raúl En este último capitulo se hace un recuento de los logros alcanzados durante la elaboración de este proyecto de tesis,

Más detalles

CAPÍTULO 3 Servidor de Modelo de Usuario

CAPÍTULO 3 Servidor de Modelo de Usuario CAPÍTULO 3 Servidor de Modelo de Usuario Para el desarrollo del modelado del estudiante se utilizó el servidor de modelo de usuario desarrollado en la Universidad de las Américas Puebla por Rosa G. Paredes

Más detalles

Capítulo I. Definición del problema y objetivos de la tesis. En la actualidad Internet se ha convertido en una herramienta necesaria para todas

Capítulo I. Definición del problema y objetivos de la tesis. En la actualidad Internet se ha convertido en una herramienta necesaria para todas Capítulo I Definición del problema y objetivos de la tesis 1.1 Introducción En la actualidad Internet se ha convertido en una herramienta necesaria para todas las personas ya que nos permite realizar diferentes

Más detalles

La Pirámide de Solución de TriActive TRICENTER

La Pirámide de Solución de TriActive TRICENTER Información sobre el Producto de TriActive: Página 1 Documento Informativo La Administración de Sistemas Hecha Simple La Pirámide de Solución de TriActive TRICENTER Información sobre las Soluciones de

Más detalles

Windows Server 2012: Identidad y Acceso. Módulo 2: Descripción General de Windows Server 2012 Remote Desktop Services.

Windows Server 2012: Identidad y Acceso. Módulo 2: Descripción General de Windows Server 2012 Remote Desktop Services. Windows Server 2012: Identidad y Acceso Módulo 2: Descripción General de Windows Server 2012 Remote Desktop Services. Manual del Módulo Autor: Andrew J Warren, Content Master Publicado: Septiembre 10 de

Más detalles

Unidad 1. Fundamentos en Gestión de Riesgos

Unidad 1. Fundamentos en Gestión de Riesgos 1.1 Gestión de Proyectos Unidad 1. Fundamentos en Gestión de Riesgos La gestión de proyectos es una disciplina con la cual se integran los procesos propios de la gerencia o administración de proyectos.

Más detalles

Mesa de Ayuda Interna

Mesa de Ayuda Interna Mesa de Ayuda Interna Documento de Construcción Mesa de Ayuda Interna 1 Tabla de Contenido Proceso De Mesa De Ayuda Interna... 2 Diagrama Del Proceso... 3 Modelo De Datos... 4 Entidades Del Sistema...

Más detalles

Manual Operativo SICEWeb

Manual Operativo SICEWeb Manual Operativo SICEWeb Gestión de Expediente Digital Expediente Único de Clientes y Otros 1 Índice Contenido Expediente Único de Clientes y Otros... 1 Índice... 2 MODELO DE GESTIÓN DOCUMENTAL (MGD)...

Más detalles

POLÍTICA DE PRIVACIDAD PARA APLICACIONES MÓVILES GRUPOCOPESA. 1. información que se obtiene la aplicación y su utilización

POLÍTICA DE PRIVACIDAD PARA APLICACIONES MÓVILES GRUPOCOPESA. 1. información que se obtiene la aplicación y su utilización POLÍTICA DE PRIVACIDAD PARA APLICACIONES MÓVILES GRUPOCOPESA Nuestra política de privacidad se aplica al uso de las aplicaciones informáticas de los siguientes medios de comunicación: LaTercera, LaCuarta,

Más detalles

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio).

1 GLOSARIO. Actor: Es un consumidor (usa) del servicio (persona, sistema o servicio). 1 GLOSARIO A continuación se definen, en orden alfabético, los conceptos básicos que se han abordado a lo largo del desarrollo de la metodología para la gestión de requisitos bajo la Arquitectura Orientada

Más detalles

Qué necesito saber para tener mi sitio web en Internet?

Qué necesito saber para tener mi sitio web en Internet? Qué necesito saber para tener mi sitio web en Internet? Introducción Antes es importante tener en cuenta que Es importante considerar lo siguiente: Definir claramente tu actividad en Internet Establecer

Más detalles

www.artologik.com Programa de soporte y gestión de incidencias efectivo y fácil de usar

www.artologik.com Programa de soporte y gestión de incidencias efectivo y fácil de usar Programa de soporte y gestión de incidencias efectivo y fácil de usar Gestión de proyectos Gestión del tiempo Creación de encuestas HelpDesk Herramienta de publicación web Sistema de reservas www.artologik.com

Más detalles

Host. En este texto, entenderemos por host toda máquina - léase computadora. Cuenta. Una cuenta, en general, es un espacio de memoria y de disco que

Host. En este texto, entenderemos por host toda máquina - léase computadora. Cuenta. Una cuenta, en general, es un espacio de memoria y de disco que CONCEPTOS BASICOS. Usuario. Un usuario es toda persona que utilice una computadora. Host. En este texto, entenderemos por host toda máquina - léase computadora - conectada a InterNet. También se les llaman

Más detalles

Información de Producto:

Información de Producto: Windows Server 2008 Foundation La nueva tecnología rentable de Windows Server 2008 Foundation La tecnología confiable y comprobada de Windows Server Foundation proporciona una base para ejecutar las aplicaciones

Más detalles

Administración del conocimiento y aprendizaje organizacional.

Administración del conocimiento y aprendizaje organizacional. Capítulo 2 Administración del conocimiento y aprendizaje organizacional. 2.1 La Importancia Del Aprendizaje En Las Organizaciones El aprendizaje ha sido una de las grandes necesidades básicas del ser humano,

Más detalles

Gestión de Permisos. Bizagi Suite. Copyright 2014 Bizagi

Gestión de Permisos. Bizagi Suite. Copyright 2014 Bizagi Gestión de Permisos Bizagi Suite Gestión de Permisos 1 Tabla de Contenido Gestión de Permisos... 3 Definiciones... 3 Rol... 3 Perfil... 3 Permiso... 3 Módulo... 3 Privilegio... 3 Elementos del Proceso...

Más detalles

ALCANCE Las solicitudes de información del SIIU podrán ser realizadas por los administradores de los diferentes sistemas institucionales

ALCANCE Las solicitudes de información del SIIU podrán ser realizadas por los administradores de los diferentes sistemas institucionales OBJETIVO Brindar un mecanismo a los administradores de sistema que les permita solicitar información del SIIU resguardas en nuestras bases de datos. ALCANCE Las solicitudes de información del SIIU podrán

Más detalles

5.2. PROYECTO RODA. http://roda.ibit.org/index.cfm (6/07/04).

5.2. PROYECTO RODA. http://roda.ibit.org/index.cfm (6/07/04). 5.2. PROYECTO RODA Se trata de un proyecto 1 piloto de demostración tecnológica, cofinanciado por el PROFIT 2003, cuya duración se fijó de Enero 2003 a Marzo de 2004. Los participantes son ROBOTIKER, la

Más detalles

Guía de los cursos. Equipo docente:

Guía de los cursos. Equipo docente: Guía de los cursos Equipo docente: Dra. Bertha Patricia Legorreta Cortés Dr. Eduardo Habacúc López Acevedo Introducción Las organizaciones internacionales, las administraciones públicas y privadas así

Más detalles

Ahorro de energía visualizando páginas Web en dispositivos móviles heterogéneos

Ahorro de energía visualizando páginas Web en dispositivos móviles heterogéneos ROC&C 06 Ahorro de energía visualizando páginas Web en dispositivos móviles heterogéneos Dr. Juan Gabriel González Serna. M.C. Juan Carlos Olivares Rojas. Acapulco, Guerrero, México, 2006. Agenda Introducción

Más detalles

Reducción de riesgos. Reducción de costos. Mejor desempeño.

Reducción de riesgos. Reducción de costos. Mejor desempeño. Reducción de riesgos. Reducción de costos. Mejor desempeño. Servicios para una gestión de compras profesional. Mejor información, mejores decisiones. Gestión total de proveedores (TSMS) Calificación por

Más detalles

Ventajas del software del SIGOB para las instituciones

Ventajas del software del SIGOB para las instituciones Ventajas del software del SIGOB para las instituciones Podemos afirmar que además de la metodología y los enfoques de trabajo que provee el proyecto, el software, eenn ssi i mi issmoo, resulta un gran

Más detalles

I INTRODUCCIÓN. 1.1 Objetivos

I INTRODUCCIÓN. 1.1 Objetivos I INTRODUCCIÓN 1.1 Objetivos En el mundo de la informática, la auditoría no siempre es aplicada en todos las empresas, en algunos de los casos son aplicadas por ser impuestas por alguna entidad reguladora,

Más detalles

Sistema de marketing de proximidad

Sistema de marketing de proximidad Dizan Vasquez Propuesta de proyecto Sistema de marketing de proximidad ACME México Dizan Vasquez Índice general 1. Descripción 3 2. Resúmen ejecutivo 4 2.1. Objetivo.................................................

Más detalles

ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL Facultad de Ingeniera en Electricidad y Computación

ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL Facultad de Ingeniera en Electricidad y Computación ESCUELA SUPERIOR POLITÉCNICA DEL LITORAL Facultad de Ingeniera en Electricidad y Computación Tema: NEGOCIOS EN INTERNET SUBASTATODO.COM Integrantes: Marianas Arias Peña 1 María Teresa Figueroa 2 José Zambrano

Más detalles

GUIA SOBRE LOS REQUISITOS DE LA DOCUMENTACION DE ISO 9000:2000

GUIA SOBRE LOS REQUISITOS DE LA DOCUMENTACION DE ISO 9000:2000 1 INTRODUCCIÓN Dos de los objetivos más importantes en la revisión de la serie de normas ISO 9000 han sido: desarrollar un grupo simple de normas que sean igualmente aplicables a las pequeñas, a las medianas

Más detalles

Novedades. Introducción. Potencia

Novedades. Introducción. Potencia Introducción Basado en el demostrado rendimiento y flexibilidad de la versión 8.5, Crystal Reports 9 presenta una amplia variedad de avanzadas funciones para que el diseño, entrega e integración de informes

Más detalles

Sistemas de Gestión de Documentos Electrónicos de Archivo (SGDEA)

Sistemas de Gestión de Documentos Electrónicos de Archivo (SGDEA) Sistemas de Gestión de Documentos Electrónicos de Archivo (SGDEA) Agenda 1. Introducción 2. Concepto Documento Electrónico 3. A que se le denomina Documento Electrónico 4. Componentes de un Documento Electrónico

Más detalles

http://www.manavell.com info@manavell.com

http://www.manavell.com info@manavell.com http://www.manavell.com info@manavell.com Antes que nada le agradecemos su interés en nuestros servicios. Nuestro interés es poder ayudar a su organización a tener una presencia online segura, profesional

Más detalles

Brindamos asesorías que involucran tecnología y personal calificado, estos hacen de DOCTUM su mejor aliado.

Brindamos asesorías que involucran tecnología y personal calificado, estos hacen de DOCTUM su mejor aliado. SOFTWARE DE GESTÓN Doctum sabe que es necesario entregar servicios que otorguen un valor agregado, sobre todo para la gestión documental de la empresa, lo que reduce los costos asociados a mano de obra

Más detalles

UNIVERSIDAD DE SALAMANCA

UNIVERSIDAD DE SALAMANCA UNIVERSIDAD DE SALAMANCA FACULTAD DE CIENCIAS INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS Resumen del trabajo práctico realizado para la superación de la asignatura Proyecto Fin de Carrera. TÍTULO SISTEMA

Más detalles

BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN

BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN 3.3 Aplicaciones Definición de Aplicación (Application). Programa informático que permite a un usuario utilizar una computadora con un fin específico. Las

Más detalles

SISTEMAS DE INFORMACIÓN I TEORÍA

SISTEMAS DE INFORMACIÓN I TEORÍA CONTENIDO: CICLO DE VIDA DE DESARROLLO DE SI FASES GENÉRICAS DEL CICLO DE VIDA DE DESARROLLO DE SI VISIÓN TRADICIONAL DEL CICLO DE VIDA DE DESARROLLO DE SI DE DESARROLLO DE SI: ANÁLISIS Material diseñado

Más detalles

Custodia de Documentos Valorados

Custodia de Documentos Valorados Custodia de Documentos Valorados En el complejo ambiente en que se desarrollan los procesos de negocio actuales, se hace cada vez más necesario garantizar niveles adecuados de seguridad en la manipulación

Más detalles

Maxpho Commerce 11. Gestión CSV. Fecha: 20 Septiembre 2011 Versión : 1.1 Autor: Maxpho Ltd

Maxpho Commerce 11. Gestión CSV. Fecha: 20 Septiembre 2011 Versión : 1.1 Autor: Maxpho Ltd Maxpho Commerce 11 Gestión CSV Fecha: 20 Septiembre 2011 Versión : 1.1 Autor: Maxpho Ltd Índice general 1 - Introducción... 3 1.1 - El archivo CSV... 3 1.2 - Módulo CSV en Maxpho... 3 1.3 - Módulo CSV

Más detalles

Sistemas de Información Geográficos (SIG o GIS)

Sistemas de Información Geográficos (SIG o GIS) Sistemas de Información Geográficos (SIG o GIS) 1) Qué es un SIG GIS? 2) Para qué sirven? 3) Tipos de datos 4) Cómo trabaja? 5) Modelos de datos, Diseño Conceptual 6) GeoDataase (GD) 7) Cómo evaluamos

Más detalles

Centro de Competencias de Integración. Portal del paciente

Centro de Competencias de Integración. Portal del paciente Centro de Competencias de Integración Portal del paciente 1 Tabla de contenidos Introducción y propósito de este documento...2 Motivación...2 Objetivos...3 Desarrollo...3 Servidor web service Proxy...3

Más detalles

Manual del usuario del Módulo de Administración de Privilegios del Sistema Ingresador (MAPSI)

Manual del usuario del Módulo de Administración de Privilegios del Sistema Ingresador (MAPSI) Manual del usuario del Módulo de Administración de Privilegios del Sistema Ingresador (MAPSI) 1. Introducción El presente manual representa una guía rápida que ilustra la utilización del Módulo de Administración

Más detalles

Figure 7-1: Phase A: Architecture Vision

Figure 7-1: Phase A: Architecture Vision Fase A Figure 7-1: Phase A: Architecture Vision Objetivos: Los objetivos de la fase A son: Enfoque: Desarrollar una visión de alto nivel de las capacidades y el valor del negocio para ser entregado como

Más detalles

Aproximación práctica a ITIL. Proyecto VeredaCS. F07.02.01.00.30.r00

Aproximación práctica a ITIL. Proyecto VeredaCS. F07.02.01.00.30.r00 Aproximación práctica a ITIL. Proyecto VeredaCS Introducción En esta presentación pretendemos mostrar una aproximación práctica a la implantación de un modelo de prestación de servicios basado en ITIL

Más detalles

CONSTRUCCIÓN DEL PROCESO MESA DE AYUDA INTERNA. BizAgi Process Modeler

CONSTRUCCIÓN DEL PROCESO MESA DE AYUDA INTERNA. BizAgi Process Modeler CONSTRUCCIÓN DEL PROCESO MESA DE AYUDA INTERNA BizAgi Process Modeler TABLA DE CONTENIDO PROCESO DE MESA DE AYUDA INTERNA... 3 1. DIAGRAMA DEL PROCESO... 4 2. MODELO DE DATOS... 5 ENTIDADES DEL SISTEMA...

Más detalles

Base de datos en Excel

Base de datos en Excel Base de datos en Excel Una base datos es un conjunto de información que ha sido organizado bajo un mismo contexto y se encuentra almacenada y lista para ser utilizada en cualquier momento. Las bases de

Más detalles

POLITICA DE SERVICIOS PARA ESTUDIANTES EN PROGRAMAS EN LÍNEA

POLITICA DE SERVICIOS PARA ESTUDIANTES EN PROGRAMAS EN LÍNEA page 1 of 6 El propósito de este documento es establecer un modelo de servicios para estudiantes aplicable a los alumnos en línea de AU. Éstas políticas se basan en la premisa de que los servicios estudiantiles

Más detalles

M.T.I. Arturo López Saldiña

M.T.I. Arturo López Saldiña M.T.I. Arturo López Saldiña Hoy en día, existen diversas aproximaciones al tema de cómo hacer que las personas trabajen dentro de una organización de manera colaborativa. El problema se vuelve más difícil

Más detalles

Funcionalidades Software SAT GotelGest.Net (Software de Servicio de Asistencia Técnica)

Funcionalidades Software SAT GotelGest.Net (Software de Servicio de Asistencia Técnica) Funcionalidades Software SAT GotelGest.Net (Software de Servicio de Asistencia Técnica) Servinet Sistemas y Comunicación S.L. www.softwaregestionsat.com Última Revisión: Octubre 2014 FUNCIONALIDADES SAT

Más detalles

Quienes Somos? Valor. Estrategia

Quienes Somos? Valor. Estrategia Quienes Somos? STGI nace como la respuesta necesaria al mundo empresarial en consultorías para acceder y gestionar la información, estructurada y no estructurada, con el fin de alcanzar procesos eficientes

Más detalles

La tutoría para la dirección de proyectos de investigación. Darder Mesquida, Antònia antonia.darder@uib.es. Universitat de les Illes Balears.

La tutoría para la dirección de proyectos de investigación. Darder Mesquida, Antònia antonia.darder@uib.es. Universitat de les Illes Balears. La tutoría para la dirección de proyectos de investigación. Resumen Darder Mesquida, Antònia antonia.darder@uib.es Universitat de les Illes Balears. Se presenta un modelo de tutoría docente para la dirección

Más detalles

MANUAL DE USUARIO DE EGROUPWARE MANUAL DE USUARIO EGROUPWARE

MANUAL DE USUARIO DE EGROUPWARE MANUAL DE USUARIO EGROUPWARE MANUAL DE USUARIO EGROUPWARE 1 INDICE Que es egroupware... 3 Inicio de sesión... 4 Aplicaciones de egroupware... 4 Correo electrónico... 5 Calendario... 7 ACL... 9 Administración de proyectos... 10 Libreta

Más detalles

Qué es SPIRO? Características

Qué es SPIRO? Características Qué es SPIRO? Características Tecnología de SPIRO Módulos principales Otros módulos de Spiro Qué es Spiro? Software para la planificación y gestión integral Qué es un Sistema Integrado de Gestión? Se podría

Más detalles

Novedades en Q-flow 3.02

Novedades en Q-flow 3.02 Novedades en Q-flow 3.02 Introducción Uno de los objetivos principales de Q-flow 3.02 es adecuarse a las necesidades de grandes organizaciones. Por eso Q-flow 3.02 tiene una versión Enterprise que incluye

Más detalles

O jeto de apre r ndizaje

O jeto de apre r ndizaje Herramientas de Gestión para Objetos de Aprendizaje. Plataforma AGORA Victor Hugo Menéndez Domínguez Universidad Autónoma de Yucatán, México :: mdoming@uady.mx Manuel Emilio Prieto Méndez Universidad de

Más detalles

Resumen General del Manual de Organización y Funciones

Resumen General del Manual de Organización y Funciones Gerencia de Tecnologías de Información Resumen General del Manual de Organización y Funciones (El Manual de Organización y Funciones fue aprobado por Resolución Administrativa SBS N 354-2011, del 17 de

Más detalles

Enginyeria del Software III

Enginyeria del Software III Enginyeria del Software III Sessió 3. L estàndard ISO/IEC 15504 Antònia Mas Pichaco 1 Introducción El proyecto SPICE representa el mayor marco de colaboración internacional establecido con la finalidad

Más detalles

Proceso: AI2 Adquirir y mantener software aplicativo

Proceso: AI2 Adquirir y mantener software aplicativo Proceso: AI2 Adquirir y mantener software aplicativo Se busca conocer los estándares y métodos utilizados en la adquisición de y mantenimiento del software. Determinar cuál es proceso llevado a cabo para

Más detalles

Componentes de Integración entre Plataformas Información Detallada

Componentes de Integración entre Plataformas Información Detallada Componentes de Integración entre Plataformas Información Detallada Active Directory Integration Integración con el Directorio Activo Active Directory es el servicio de directorio para Windows 2000 Server.

Más detalles

Creación y administración de grupos de dominio

Creación y administración de grupos de dominio Creación y administración de grupos de dominio Contenido Descripción general 1 a los grupos de Windows 2000 2 Tipos y ámbitos de los grupos 5 Grupos integrados y predefinidos en un dominio 7 Estrategia

Más detalles

Docente San Josemariano

Docente San Josemariano Docente San Josemariano Sirva el presente manual como un medio de apoyo y consulta en el manejo del Campus Virtual IESPP SJE y sus múltiples opciones que le permitirá hacer dinámico el proceso de enseñanza-aprendizaje,

Más detalles

CAPITULO IV. HERRAMIENTAS DE CÓDIGO ABIERTO

CAPITULO IV. HERRAMIENTAS DE CÓDIGO ABIERTO CAPITULO IV. HERRAMIENTAS DE CÓDIGO ABIERTO En la actualidad la mayoría de las grandes empresas cuentan con un sin número de servicios que ofrecen a sus trabajadores y clientes. Muchos de estos servicios

Más detalles

INSTRUCTIVO DE ADMINISTRADOR ALFRESCO COMMUNITY 4.2

INSTRUCTIVO DE ADMINISTRADOR ALFRESCO COMMUNITY 4.2 INSTRUCTIVO DE ADMINISTRADOR ALFRESCO COMMUNITY 4.2 Grupo de Innovación y Apropiación de Tecnologías de la Información Archivística Compilador: Pedro Antonio Gómez Guarín INSTRUCTIVO DE ADMINISTRADOR ALFRESCO

Más detalles

SOLUCIÓN HOSPEDADA. Introducción a los modelos de asociación de partners de Microsoft Dynamics CRM

SOLUCIÓN HOSPEDADA. Introducción a los modelos de asociación de partners de Microsoft Dynamics CRM SOLUCIÓN HOSPEDADA Introducción a los modelos de asociación de partners de Microsoft Dynamics CRM Aprovechar el ecosistema de Microsoft para el éxito de CRM hospedado Microsoft Dynamics CRM ofrece a clientes

Más detalles

Workflows? Sí, cuántos quiere?

Workflows? Sí, cuántos quiere? Workflows? Sí, cuántos quiere? 12.11.2006 Servicios Profesionales Danysoft Son notables los beneficios que una organización puede obtener gracias al soporte de procesos de negocios que requieran la intervención

Más detalles

Introducción a los Servicios Web. Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com

Introducción a los Servicios Web. Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com Introducción a los Servicios Web Ing. José Luis Bugarin ILUMINATIC SAC jbugarin@consultorjava.com Servicios Web y Soa En un contexto SOA y los servicios web son una oportunidad de negocios en la actualidad.

Más detalles

ITZOFT, una metodología de desarrollo de sistemas basada en el Proceso Unificado de Rational. Resumen

ITZOFT, una metodología de desarrollo de sistemas basada en el Proceso Unificado de Rational. Resumen ITZOFT, una metodología de desarrollo de sistemas basada en el Proceso Unificado de Rational. Sergio Valero Orea, svalero@utim.edu.mx, UTIM, Izúcar de Matamoros, Puebla. Resumen El desarrollo de sistemas

Más detalles

TECNÓLOGO EN INFORMÁTICA PLAN DE ESTUDIOS

TECNÓLOGO EN INFORMÁTICA PLAN DE ESTUDIOS Administración Nacional de Universidad de la República Educación Pública Facultad de Ingenieria CF Res..0.07 Consejo Directivo Central Consejo Directivo Central Res..05.07 Res. 17.0.07 TECNÓLOGO EN INFORMÁTICA

Más detalles

Educación y capacitación virtual, algo más que una moda

Educación y capacitación virtual, algo más que una moda Éxito Empresarial Publicación No.12 marzo 2004 Educación y capacitación virtual, algo más que una moda I Introducción Últimamente se ha escuchado la posibilidad de realizar nuestra educación formal y capacitación

Más detalles

Windows Server 2012: Infraestructura de Escritorio Virtual

Windows Server 2012: Infraestructura de Escritorio Virtual Windows Server 2012: Infraestructura de Escritorio Virtual Módulo 1: Visión general de Virtualización del Escritorio de Microsoft y la Virtualización del estado de usuario Módulo del Manual Autores: James

Más detalles

Gestión de la Configuración

Gestión de la Configuración Gestión de la ÍNDICE DESCRIPCIÓN Y OBJETIVOS... 1 ESTUDIO DE VIABILIDAD DEL SISTEMA... 2 ACTIVIDAD EVS-GC 1: DEFINICIÓN DE LOS REQUISITOS DE GESTIÓN DE CONFIGURACIÓN... 2 Tarea EVS-GC 1.1: Definición de

Más detalles

Sistema de Mensajería Empresarial para generación Masiva de DTE

Sistema de Mensajería Empresarial para generación Masiva de DTE Sistema de Mensajería Empresarial para generación Masiva de DTE TIPO DE DOCUMENTO: OFERTA TÉCNICA Y COMERCIAL VERSIÓN 1.0, 7 de Mayo de 2008 CONTENIDO 1 INTRODUCCIÓN 4 2 DESCRIPCIÓN DE ARQUITECTURA DE

Más detalles

comunidades de práctica

comunidades de práctica 1. Introducción CoSpace es una plataforma web diseñada para proporcionar un espacio virtual de interacción y colaboración entre formadores en comunidades virtuales. Se originó como resultado de las necesidades

Más detalles

CARACTERISTICAS DEL SISTEMA

CARACTERISTICAS DEL SISTEMA CARACTERISTICAS DEL SISTEMA 1. CONSIDERACIONES GENERALES El Sistema de Gestión Financiera en Línea esta orientada a LA GESTION DEL PRESUPUESTO Y COMPRAS, esto es posible mediante interfaces vía Web, cuya

Más detalles

BASE DE DATOS UNIVERSIDAD DE LOS ANDES FACULTAD DE MEDICINA T.S.U. EN ESTADISTICA DE SALUD CATEDRA DE COMPUTACIÓN II. Comenzar presentación

BASE DE DATOS UNIVERSIDAD DE LOS ANDES FACULTAD DE MEDICINA T.S.U. EN ESTADISTICA DE SALUD CATEDRA DE COMPUTACIÓN II. Comenzar presentación UNIVERSIDAD DE LOS ANDES FACULTAD DE MEDICINA T.S.U. EN ESTADISTICA DE SALUD CATEDRA DE COMPUTACIÓN II BASE DE DATOS Comenzar presentación Base de datos Una base de datos (BD) o banco de datos es un conjunto

Más detalles

UNIVERSIDAD DR. JOSE MATIAS DELGADO Facultad de Economía, Empresas y Negocios

UNIVERSIDAD DR. JOSE MATIAS DELGADO Facultad de Economía, Empresas y Negocios UNIVERSIDAD DR. JOSE MATIAS DELGADO Facultad de Economía, Empresas y Negocios Seminario de Investigación Tesina Elaboración de la estrategia de manejo de clientes (CRM) para la Fidelización en la empresa

Más detalles

DATA WAREHOUSE PARA LA PRESTACIÓN DEL SERVICIO PÚBLICO DE INFORMACIÓN ESTADÍSTICA

DATA WAREHOUSE PARA LA PRESTACIÓN DEL SERVICIO PÚBLICO DE INFORMACIÓN ESTADÍSTICA 147 DATA WAREHOUSE PARA LA PRESTACIÓN DEL SERVICIO PÚBLICO DE INFORMACIÓN ESTADÍSTICA RICARDO LUJÁN SALAZAR INSTITUTO NACIONAL DE ESTADÍSTICA, GEOGRAFÍA E INFORMÁTICA (INEGI) MÉXICO 148 Data warehouse

Más detalles

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y Capítulo VI Conclusiones En este capítulo abordaremos la comparación de las características principales y de las ventajas cada tecnología Web nos ofrece para el desarrollo de ciertas aplicaciones. También

Más detalles

CAPITULO I El Problema

CAPITULO I El Problema CAPITULO I El Problema 1. CAPITULO I EL PROBLEMA. 1.1. PLANTEAMIENTO DEL PROBLEMA. Desde su nacimiento la Facultad de Administración, Finanzas e Informática dispone del departamento de la biblioteca, con

Más detalles