Centro Nacional Departa TESIS DE CIENC Recuperación y Proce Información Clasifica Con J Ing. en Siste como Maestría en D Dr. Ju Dra. M Dr. H Cuernavaca, Morelos, México. cenidet de Investigación y Desarrollo T amento de Ciencias Computacionale E MAESTRÍA EN CIENCIA CIAS DE LA COMPUTACIÓ esamiento de Datos Genómicos ada en una Base de Datos Basad nceptual del Genoma Humano presentada por José Luis Rodríguez Pliego emas Computacionales por el I. T. de Cu o requisito para la obtención del grado de: n Ciencias en Ciencias de la Computa Director de tesis: Dr. Hugo Estrada Esquivel Co-Directores de tesis: Dr. Javier Ortiz Hernández Dr. José Antonio Zarate Marceleño Jurado: uan Gabriel González Serna – Presidente . Azucena Montes Rendón – Secretario MC. Mario Guillen Rodríguez – Vocal Hugo Estrada Esquivel – Vocal Suplente Tecnológico es AS EN ÓN para la Carga de da en un Modelo uautla ación Diciembre de 2009
160
Embed
TESIS DE MAESTRÍA EN CIENCIAS EN CIENCIAS DE LA ... - …
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Centro Nacional de Investigación y Desarrollo TecnológicoDepartamento de Ciencias Computacionales
TESIS DE MAESTRÍA EN CIENCIASCIENCIAS
Recuperación y Procesamiento de Datos Genómicos para la Carga de Información Clasificada en una Base de Datos Basada en un Modelo
Conceptual del Genoma Humano
José Luis Rodríguez PliegoIng. en Sistemas
como requisito para la obtención del grado de:
Maestría en Ciencias en
Dr. José Antonio
Dr. Juan Gabriel González Serna Dra. Azucena Montes Rendón
MC. Mario Guillen Rodríguez Dr. Hugo Estrada Esquivel
Cuernavaca, Morelos, México.
cenidet Centro Nacional de Investigación y Desarrollo Tecnológico
Departamento de Ciencias Computacionales
TESIS DE MAESTRÍA EN CIENCIASCIENCIAS DE LA COMPUTACIÓN
Recuperación y Procesamiento de Datos Genómicos para la Carga de Información Clasificada en una Base de Datos Basada en un Modelo
Conceptual del Genoma Humano
presentada por
José Luis Rodríguez Pliego . en Sistemas Computacionales por el I. T. de Cuautla
como requisito para la obtención del grado de:
Maestría en Ciencias en Ciencias de la Computación
Director de tesis: Dr. Hugo Estrada Esquivel
Co-Directores de tesis: Dr. Javier Ortiz Hernández
Dr. José Antonio Zarate Marceleño
Jurado: Dr. Juan Gabriel González Serna – Presidente Dra. Azucena Montes Rendón – Secretario
MC. Mario Guillen Rodríguez – Vocal Dr. Hugo Estrada Esquivel – Vocal Suplente
Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ciencias Computacionales
TESIS DE MAESTRÍA EN CIENCIAS EN DE LA COMPUTACIÓN
Recuperación y Procesamiento de Datos Genómicos para la Carga de Información Clasificada en una Base de Datos Basada en un Modelo
Computacionales por el I. T. de Cuautla
Ciencias de la Computación
Diciembre de 2009
Dedicatoria
A Dios, para él sea todo el honor y toda la gloria.
A mis padres:
J. Isabel Rodríguez Alcantar y María Magdalena Pliego Luna, como mínima
retribución de todo lo que me han dado.
A mis hermanos:
Juan, Miguel y Marisol, porque este triunfo también es de toda nuestra familia.
A mi amada:
Guadalupe Ariana Sánchez González, por apoyarme siempre en todo momento aun
en los más difíciles.
Agradecimientos
Dad gracias en todo, porque esta es la voluntad de Dios para con vosotros en Cristo Jesús
1 Ts 5.18
A mis padres, mis hermanos y mi amada, por apoyarme siempre, por preocuparse por mí, por sus
oraciones, por toda la energía invertida en mí persona. También a mí cuñada Lety y mí cuñado
Luis así como a mis sobrinos Marcos y Antonio. Sin ustedes no lo hubiera logrado.
Al Centro Nacional de Investigación y Desarrollo Tecnológico por haberme permitido
pertenecer a su comunidad estudiantil y realizar así mis estudios de maestría.
Al Consejo Nacional de Ciencia y Tecnología por la beca para manutención y la beca
mixta otorgada para la realización de mi estancia en la Universidad Politécnica de Valencia,
España.
A la Universidad Politécnica de Valencia, España, por haberme permitido realizar una
estancia, formando parte importante del desarrollo de mis estudios de maestría.
A mis directores de tesis: el Dr. Hugo Estrada Esquivel, Dr. José Antonio Zarate
Marceleño, Dr. Javier Ortiz Hernández (CENIDET) por la asesoría brindada, por la paciencia que
me tuvieron, por el buen trato y sobre todo por brindarme su amistad.
A mis revisores de tesis: Dr. Azucena Montes Rendón, Dr. Juan Gabriel González Serna,
MC. Mario Guillen Rodríguez, por el tiempo que dedicaron a este proyecto, por sus
recomendaciones y valiosas aportaciones.
Al Dr. Oscar Pastor López por haberme asesorado, por su paciencia, por el buen trato y
sobre todo por brindarme su amistad, durante mi estancia en la Universidad Politécnica de
Valencia, España.
Al grupo de Modelado Conceptual del Genoma Humano del Centro de Investigación
ProS en la Universidad Politécnica de Valencia, España: Oscar, Ana, Manuel, JC, Mati, Laura,
Mariángeles, Aremy, Luis y Vero. Por haberme aceptado para realizar una estancia de
investigación y haber compartido con migo sus conocimientos, sus valiosas aportaciones y sobre
todo por su amistad.
A mis familiares, mis tíos: Ernesto, Conchita, Manuel, Juana, Josefa, Aurelio, Donato y
Elvia; a mis primos: Román, Hugo, René, Dulce y todos los demás. Gracias por su apoyo y
comprensión. A mi gran familia en Cristo, gracias sus ánimos y oraciones.
A mis compañeros de generación de SD: Israel, Omar, Christian, Rubí, Yanet e Itzel por
la grata convivencia, nunca olvidare las desveladas y anécdotas que pasamos juntos.
A mis compañeros de generación de IS e IA: Sergio, Oscar, Francisco, Alejandro,
Miriam, Luis, Maribel, Daniel, Lázaro, Oscar Siordia, Daniela, Cynthya, Isabel y Luisa, por
brindarme su amistad, Dios les bendiga.
A todos aquellos, amigos y familiares que no podría mencionar en este pequeño espacio,
a todas las personas que hicieron posible este proyecto, les deseo bendiciones y gracias a todos.
Resumen:
La genética es uno de los campos de más rápido crecimiento en la comunidad científica. Uno de
los problemas que se tiene en este campo es el reto de la comprensión del genoma humano. Los
centros de investigación genética proporcionan vistas de la información referente a las
secuencias genéticas almacenadas en sus bases de datos. Utilizado técnicas de modelado
conceptual provenientes de la Ingeniería de Software se pueden desarrollar herramientas para
ayudar a una mayor comprensión del genoma humano. De acuerdo con esto, se ha desarrollado
un esquema conceptual del genoma humano y su correspondiente base de datos. El genoma
humano contiene aproximadamente 30,000 genes y obtener los datos de cada gen
correspondientes a nuestro esquema conceptual de las vistas de las bases de datos genéticas es un
problema computacional. En esta tesis se describe una metodología que consiste en la extracción
de datos de las vistas de las bases de datos genéticas de forma automática para cargar la base de
datos generada a partir de nuestro esquema conceptual del genoma humano. Tomamos a las
bases de datos del NCBI (National Center for Biotechnology Information) como fuente, y se
desarrolló la herramienta de carga correspondiente mediante la aplicación de nuestra
metodología.
Abstract:
The genetics is one of the fastest growing fields in the scientific community. One of the
problems in this field is challenge of the understanding of the human genome. The genetic
research centers provide views of the information regarding the genetic sequences stored in their
databases. The conceptual modeling techniques from software engineering can be used to
develop tools and help researchers to gain a greater understanding of the human genome. Agree
with this, has developed a conceptual model of the human genome and its corresponding
database is created. The human genome contains approximately 30,000 genes and obtain data
from each gene corresponding to our conceptual scheme of the views of genetic databases is a
computational problem. This thesis describes a methodology for extracting data from the view of
genetic databases to automatically load the database generated from our conceptual scheme of
the human genome. We at the NCBI databases (National Center for Biotechnology Information)
as a source, and developed the corresponding load tool by applying our methodology.
i
Tabla de contenido Tabla de contenido ........................................................................................................................ i
Listado de figuras ....................................................................................................................... iii
Listado de diagramas .................................................................................................................. iv
Listado de tablas .......................................................................................................................... v
vistas del esquema conceptual implica la complejidad de desarrollar las herramientas adecuadas
para cada una de esas bases datos.
Para observar la complejidad del problema, a continuación se muestran dos casos de
estudio, el primero para cargar datos a la vista Transcription y el segundo para la vista Gene-
Mutation.
Caso de estudio 1: bases de datos del NCB I
NCBI establece los enlaces a las bases de datos que se publican en su sitio web, lleva a cabo la
investigación en biología computacional, desarrolla herramientas de software para el análisis de
los datos relativos al genoma, y difunde información biomédica para la mejor comprensión de
los procesos moleculares que afectan a la salud humana y enfermedad. Al ser NCBI un
organismo totalmente abierto, nos proporciona las herramientas necesarias para acceder a su
información desde servicios web y archivos planos en formato ASN1.
El acceso a las bases de datos de NCBI es a través de servicios web, que dan como
resultado vistas de las bases de datos fuentes. El sitio FTP proporciona los archivos en formato
ASN111 y GenBank12 de las bases de datos fuentes y sus actualizaciones correspondientes. Las
actualizaciones son diarias, semanales, mensuales y anualmente, dependiendo de la base de datos
genómica. El conjunto de bases de datos que se han seleccionado inicialmente por los
especialistas en genética del Grupo Genoma son las siguientes:
Tabla 1 Bases de datos en el NCBI
Base de Datos Número de registros13
Gene 5,068,947
GenBank 82,853,68514
Nucleotide 71,707,561
OMIM 19,986
UniGene 3,540,230
PubMed 19,027,565
RefSeq 3,960,072
11 http://www.ncbi.nlm.nih.gov/Sitemap/Summary/asn1.html 12 http://www.ncbi.nlm.nih.gov/collab/FT/ 13 http://www.ncbi.nlm.nih.gov/sites/entrez Seleccione una base de daros e introduzca el valor de búsqueda: all[filter] 14 Dato adquirido de http://www.ncbi.nlm.nih.gov/Genbank/index.html
Capítulo 1: Antecedentes
pág. 10
En la tabla 2 se listan algunas de las bases de datos que pueden ser accedidas mediante el
servicio web de Entrez y la disponibilidad de sus archivos de actualización correspondientes a
través del sitio ftp del NCBI.
Tabla 2 caso 1: Actualizaciones de las bases de datos del NCBI
Base de Datos para la carga
(Servicios web)
Bases de Datos para la actualización
Archivos en ANS1 y GenBank
Gene Archivo de actualización de Gen
GenBank Archivo de actualización de GenBank
Nucleotide ---
OMIM --
UniGene --
PubMed Archivo de actualización de PubMed
RefSeq Archivo de actualización de RefSeq
Caso de estudio 2: BIOBASE - HGMD
Este caso es muy particular ya que esta fuente pertenece a BIOBASE el principal proveedor de
contenidos de bases de datos biológicos, conocimientos y herramientas de software de análisis
para la industria de las ciencias de la vida. La Human Gene Mutation Database (HGMD) de
BIOBASE es una base de datos comercial. El número de registros de HGMD está en la tabla 3.
Tabla 3 Base de datos de BIOBASE
Base de Datos Número de registros15
HGMD versión Académica 61,826
HGMD versión Profesional 83,729
Esta base de datos tiene también un acceso libre limitado, disponible solo para
investigadores, instituciones académicas y organismos no lucrativos. Los datos de mutaciones
están disponibles en este sitio web luego de 2 años y medio de su inclusión inicial. La versión
profesional (HGMD Professional) provee además herramientas avanzadas de búsqueda e
información adicional específica de genes y mutaciones ausente en la versión pública. La versión
profesional de HGMD se actualiza cada tres meses. Su acceso es a través de servicios web.
15 http://www.hgmd.cf.ac.uk/ac/index.php
Capítulo 1: Antecedentes
pág. 11
1.3 Objetivo
El objetivo de esta tesis es establecer una metodología para el desarrollo de módulos de carga y
actualización de datos relacionados al esquema conceptual del genoma humano, para esto se
planteó el desarrollo de un prototipo de una herramienta que implemente un módulo de carga
para la recuperación y extracción de datos de las bases de datos del NCBI que contienen datos
correspondientes a la vista Transcription del esquema conceptual del genoma humano, el cual
fue desarrollado por el Grupo Genoma de la Universidad Politécnica de Valencia.
1.4 Estado del arte
Dentro del estado del arte se contemplan ciertos tópicos relacionados con el tema de tesis, los
cuales son abordados individualmente y al final se presentan las conclusiones sobre éstos. En
general los tópicos que se abordan son:
1.4.1 Herramientas E-Utilitites.
1.4.2 Gene Ontology.
1.4.3 Artículo: Pruebas personales de ADN y el mito de la medicina personalizada.
1.4.4 Artículos relacionados con el uso de base de datos genéticas o biomoleculares.
1.4.5 Análisis de las herramientas de extracción, transformación y carga (ETL por sus
siglas en ingles).
1.4.6 Conclusiones sobre el estado del arte
1.4.1 E-Utilities
E-Utilities [SAYERS04] es un conjunto de herramientas de programación proporcionadas por
NCBI que facilitan el acceso a los datos de Entrez fuera de la interfaz web de consulta ordinaria
y puede ser útil para la guardar los resultados de las búsquedas realizadas, para su uso futuro.
E-Utilities proporciona los siguientes servicios:
Capítulo 1: Antecedentes
pág. 12
• Einfo: Ofrece índice del campo de términos, la última actualización, y enlaces disponibles para cada base de datos.
• ESearch: Busca y recupera identificadores primary IDs (para su uso en EFetch, ELink, y ESummary), traducciones de términos y, opcionalmente, mantiene los resultados para uso futuro en el entorno del usuario.
• EPost: Envía un archivo que contiene una lista de números de identificación primary IDs para uso futuro en el entorno del usuario para usarse con estrategias de búsqueda posteriores.
• ESummary: Obtiene un resumen de cada registro a partir de una lista de identificadores primary IDs o desde el entorno del usuario.
• EFetch: Recupera registros en el formato requerido de una lista de uno o más números de identificación primaria ID o desde el entorno del usuario.
• ELink: Comprueba la existencia de un enlace externo o vínculo de artículos relacionados mediante una lista de uno o más números de identificación primary IDs. Recupera primary IDs y la relevancia de las puntuaciones de enlaces a las bases de datos de Entrez o artículos conexos; crea un hipervínculo LinkOut al principal proveedor de servicios mediante una ID y base de datos especifica, o lista las URLs de LinkOut y los atributos de múltiples identificaciones IDs.
• EGQuery: Proporciona el recuento en XML de una base de datos de Entrez para una sola búsqueda usando Global Query.
• ESpell: Recupera sugerencias ortográficas.
1.4.2 Gene Ontology
El proyecto Gene Ontology (GO por sus siglas en ingles) [GOC00] es un esfuerzo de
colaboración para hacer frente a la necesidad de coherencia de las descripciones de los productos
de genes en diferentes bases de datos. Los colaboradores GO están desarrollando tres estructuras
o vocabularios controlados (ontologías) que describen los productos de genes en términos de sus
procesos biológicos, componentes celulares y funciones moleculares en un formato
independiente. Hay tres tareas distinguibles en este esfuerzo: en primer lugar, escribir y mantener
las ontologías, en segundo lugar, hacer enlaces cruzados entre las ontologías, los genes y
productos génicos en colaboración con las bases de datos, y en tercer lugar, desarrollar
herramientas que faciliten la creación, el mantenimiento y el uso de ontologías.
El uso de términos GO por varias bases de datos facilita la colaboración, con consultas
uniformes a través de ellas. Los vocabularios controlados están estructurados de modo que se
Capítulo 1: Antecedentes
pág. 13
pueden realizar consultas en diferentes niveles: por ejemplo, puede utilizar GO para encontrar
todos los productos de genes en el genoma del ratón que están implicados en la transducción de
señales, o se puede acercar a todos los receptores de tirosina quinasas. Esta estructura también
permite hacer anotaciones para asignar propiedades a los productos de genes en diferentes
niveles, dependiendo de cuánto se sabe acerca de un producto génico.
Los dominios soportados por GO son los siguientes16:
GO sirve para estandarizar los términos y que todos los profesionales de ciencias génicas
puedan entenderse. Cabe destacar que GO no es una norma dictada que obliga a una
nomenclatura común a través de bases de datos. Los grupos involucrados en GO participan a
causa de su propio interés y cooperan para llegar a un consenso.
1.4.3 Artículo: Pruebas personales de ADN y el mito de la medicina personalizada
En [ETCG08] se presenta un informe acerca de las pruebas personales que realizan ciertas
empresas para vender productos genéticos, según el informe, las empresas que realizan estas
pruebas no cuentan con una base científica solida que compruebe la eficacia y utilidad de la
medicina “genéticamente informada”17e individualizada como pilar de la salud y la longevidad.
Sin embargo, las pruebas de ADN en el terreno avanzan rápidamente. Los laboratorios que
realizan las pruebas genéticas con una base científica solida marcan la pauta en el análisis con
fines de obtener la mayor eficacia y calidad en las pruebas.
Este informe hace notar la importancia que tienen las clausulas del contrato de
consentimiento al momento de proporcionar las muestras genéticas.
16De http://wiki.geneontology.org/index.php/GO_FAQ 17 Frase del Dr. Russ Altman, del Departamento de Bioingeniería de la Universidad de Stanford, en una clase por Internet facilitada por Google: “Opportunities for Pharmacogenomics and Personalizad Medicine”, 22 de febrero de 2006, en Internet: http://thepersonalgenome.com/2006/02/russ_altman_tal/
Capítulo 1: Antecedentes
pág. 14
En este informe se presenta un cuadro que brinda una muestra de empresas que realizan
pruebas genéticas personales, con información de cada compañía y su plan comercial para el
ADN del cliente.
1.4.4 Artículos relacionados con el uso de base de datos genéticas o
biomoleculares
Artículo: Automated data integration for developmental biological research
En [ZHONG07] se menciona que en la actualidad estamos en una época de explotación a gran
escala de datos-genómicos, donde un reto importante para los biólogos desarrolladores es cómo
extraer pistas importantes de estos datos a disposición del público en beneficio del estudio de los
genes y cómo utilizar estas pistas para mejorar nuestra comprensión del desarrollo a nivel de
sistemas. En [ZHONG07] se muestran varios estudios que han demostrado con éxito nuevos
enfoques de preguntas clásicas de desarrollo, mediante la integración computacional de diversos
conjuntos de datos de todo el genoma. Tales enfoques informáticos han mostrado un gran
potencial para facilitar la investigación.
The BioJava project
En [PRLIC08] se presenta el proyecto BioJava el cual fue concebido en 1999 por Thomas Down
y Matthew Pocock como una interfaz de programación de aplicaciones (API) para simplificar el
desarrollo de software bioinformático mediante Java. Desde entonces ha evolucionado hasta
convertirse en un framework completo con módulos para realizar muchas tareas comunes de la
bioinformática. El objetivo de BioJava es facilitar la reutilización de código y para proporcionar
implementaciones estándar que son fáciles de vincular a los scripts externos y aplicaciones.
BioJava es un proyecto de código abierto que es desarrollado por voluntarios y
coordinado por el Open Bioinformatics Foundation (OBF). Todo el código se distribuye bajo la
licencia LGPL y puede ser libremente utilizados y reutilizados en cualquier forma. BioJava es un
Capítulo 1: Antecedentes
pág. 15
proyecto maduro y ha sido empleado en una serie de aplicaciones en el mundo real y más de 50
estudios publicados. La lista de estos se puede encontrar en el sitio web BioJava.18.
Las 10 APIS más utilizadas BioJava son las siguientes: (1) alfabetos de nucleótidos y
y manipulación de I/O, (6) secuencia de manipulación, (7) algoritmos genéticos, (8)
distribuciones estadísticas, (9) las interfaces gráficas de usuario y (10) serialización a las bases
de datos.
Artículo: From genes to functional classes in the study of biological systems
En [SHAHROUR07] se presenta FatiScan, un programa basado en la Web el cual implementa un
umbral de pruebas independientes para la interpretación de experimentos a gran escala que no
dependen de la pre-selección de los genes sobre la base de la aplicación de múltiples pruebas
independientes para cada gen. En este trabajo los métodos independientes de los datos originales
para el enriquecimiento del conjunto de genes y el diseño experimental constituyen una
alternativa prometedora para los perfiles funcionales de experimentos de escala genómica.
PEDRo: A database for storing, searching and disseminating experimental
proteomics data.
En [PATON04] se menciona que la proteómica19 está evolucionando rápidamente en un alto
rendimiento de tecnología, en el que los estudios sustanciales y sistemáticos se llevan a cabo
sobre muestras procedentes de una amplia gama de condiciones fisiológicas, de desarrollo o
patológicas. Los mapas de referencia 2D gels son ampliamente distribuidos. Sin embargo, no hay
todavía una representación estándar oficialmente aceptada para apoyar el intercambio de datos de
proteómicos, y la difusión de conjuntos de datos proteómicos.
En [PATON04] se describe el diseño, la aplicación y el uso de un repositorio de datos
proteómicos experimentales (Proteome Experimental Data Repository PEDRo), lo que hace
18 http://www.ohloh.net/projects/biojava 19 La proteómica puede definirse como la genómica funcional a nivel de proteínas, http://es.wikipedia.org/wiki/Prote%C3%B3mica
Capítulo 1: Antecedentes
pág. 16
disponible un conjunto de datos proteómicos completo para la navegación, la búsqueda y
descarga. Esto también sirve para ampliar el debate sobre el nivel de detalle en el que los datos
proteómicos deben ser capturados, el tipo de facilidades que deberían proporcionar los sistemas
de gestión de datos proteómicos, y las técnicas por las que estas facilidades pueden estar
disponibles.
La base de datos PEDRo proporciona acceso a una amplia colección de descripciones de
conjuntos de datos experimentales en la proteómica. No sólo son interesantes estos conjuntos de
datos en sí mismos, sino que también proporcionan un útil principio de validación del modelo de
datos de PEDRo, que ha servido como punto de partida para la actividad de normalización en
curso a través de la iniciativa de normas del Proteoma de la Organización del Proteoma
Humano.
PEDRo hace un amplio uso de XML para capturar, transmitir, almacenar y buscar datos
proteómicos.
Cyclonet—an integrated database on cell cycle regulation and carcinogénesis
En [SHARIPOV07] se desarrollo una base de datos para integrar información sobre la regulación
del ciclo celular en los mamíferos, en los estados normales y patológicos (base de datos
Cyclonet). Cyclonet integra los datos obtenidos por las ciencias proteínicas y de la quimio-
informática sobre la base del enfoque de sistemas biológicos. Cyclonet es un recurso
especializado, que permite a los investigadores trabajar en el campo del descubrimiento de
fármacos contra el cáncer para analizar la riqueza de información disponible actualmente de
forma sistemática. Cyclonet contiene información sobre genes y moléculas relevantes, diagramas
y modelos de la regulación del ciclo celular y los resultados de su simulación.
Tesis: Integration of biological data: systems, infrastructures and programmable
tools
En [CHAGOYEN05] se menciona que la integración de información biológica tiene diversas
caras y, por tanto, diferentes enfoques y soluciones. Presenta los pasos dados para solventar la
carencia de infraestructuras para la gestión y almacenamiento de datos estructurales obtenidos
Capítulo 1: Antecedentes
pág. 17
mediante microscopía electrónica tridimensional, articulados alrededor de dos proyectos
científicos de ámbito internacional: el primero es la conceptualización en la base de datos
BioImage (integrando información de distintas técnicas microscópicas) y la creación de EMD
(Electron Microscopy Database) en el European Bionformatics Institute (integrando información
de estructuras macromoleculares).
Ensembl 2009
En [HUBBARD08] se presenta la última versión del proyecto Ensembl
(http://www.ensembl.org), el cual es un amplio sistema de información del genoma con un
conjunto integrado de anotación del genoma, bases de datos, y otra información para cordados,
modelos de organismos seleccionados y vectores genómicos de enfermedades. En la última
liberación 51 (noviembre de 2008), Ensembl soporta plenamente 45 especies, y soporta
preliminarmente otras tres especies. Las nuevas especies en el año pasado incluyen orangutanes
y otros seis bajo la cobertura de los genomas de mamíferos. Las novedades principales y mejoras
a Ensembl desde su informe anterior incluye un gran rediseño de su sitio web; la generación de
alineaciones de genomas múltiples y secuencias ancestrales utilizando la nueva tubería Enredo-
Pecan-Ortheus y el desarrollo de nuestra infraestructura de software, en particular para apoyar el
proyecto Ensembl Genomas.
BioExtract Server – An Integrated Workflowenabling System to Access and
Analyze Heterogeneous, Distributed Biomolecular Data
En [LUSHBOUGH08] se menciona como en la actualidad muchas de las investigaciones
virtuales de la bioinformática necesitan tener acceso a múltiples fuentes de datos distribuidas y
herramientas analíticas. Las fuentes de datos requeridas pueden incluir grandes repositorios de
datos públicos, bases de datos de la comunidad, y bases de datos de proyectos para su uso en una
investigación de dominio especifico. Diferentes fuentes de datos con frecuencia utilizan distintos
lenguajes de consulta y devuelven los resultados en formatos únicos, por lo que los
investigadores dependen de un número reducido de fuentes de datos primarios o familiarizarse
con los lenguajes de consulta y formatos. Del mismo modo, las herramientas analíticas asociadas
Capítulo 1: Antecedentes
pág. 18
a menudo requieren formatos de entrada para producir resultados concretos y singulares que
hacen que sea difícil de utilizar la salida de una herramienta como entrada a otra.
El servidor de BioExtract (http://bioextract.org) es una aplicación de integración de datos
basada en internet diseñada para consolidar, analizar y mostrar datos a partir de una mezcla de
bases de datos heterogéneas biomoleculares. Las operaciones básicas del servidor BioExtract
permiten a los investigadores, a través de navegadores web, especificar las fuentes de datos,
flexibilidad en las consultas a las fuentes de datos, aplicar herramientas de análisis, los conjuntos
de resultados de descarga, y almacenar los resultados de las consultas para su posterior
reutilización. Cuando el investigador trabaja con el sistema, sus "pasos" se guardan en el
historial. En cualquier momento, estos pasos pueden ser conservados a largo plazo como un flujo
de trabajo tan sólo aportando un nombre de flujo de trabajo y la descripción.
Aggregation of bioinformatics data using Semantic Web technology
En [STEPHENS06] se describe a la integración de datos biomédicos distintos como un desafío
para los esfuerzos en el descubrimiento de fármacos. Las tecnologías de Web Semántica
proporcionan la capacidad de obtener más fácilmente los datos agregados y se pueden utilizar
para mejorar la eficiencia en el descubrimiento de fármacos. En este documento se describe una
implementación de una infraestructura de Web Semántica que utiliza la escalabilidad del Modelo
de Datos Oracle RDF como repositorio y Seamark Navigator para navegar y buscar los datos.
En el documento se presenta un caso de ejemplo que identifica biomarcadores de genes de
interés y utiliza la infraestructura de Web Semántica para anotar los datos.
La integración de datos biomédicos en el descubrimiento de fármacos ha demostrado ser
un desafío de amplio rango. Las promesas de la tecnología de Web Semántica tienen la capacidad
para agregar con más facilidad esos datos, mejorando así la eficiencia del descubrimiento de
fármacos. La infraestructura de Web Semántica desplegada permitido integrar a diversos
conjuntos de datos de muchas ciencias de la vida. El Modelo de Datos Oracle RDF provee un
entorno seguro, escalable y altamente disponible para la gestión de los datos. Seamark Navigator
proporciona un entorno eficaz mediante el cual se exploran las relaciones entre los datos y los
detalles en áreas de interés.
Capítulo 1: Antecedentes
pág. 19
Advancing translational research with the Semantic Web
En [CHEUNG07] se menciona que la falta de datos estructurados de manera uniforme
relacionados con el dominio de la biomédica es un obstáculo importante para la investigación
translacional20. La Web Semántica es una extensión de la actual Web que permite la navegación y
el uso significativo de recursos digitales mediante procesos automáticos. Esta se basa en
formatos comunes que apoyan la agregación y la integración de los datos extraídos de diversas
fuentes. En este trabajo se construyeron una variedad de tecnologías sobre esta base, junto una
amplia gama de datos biomédicos través de la identificación de apoyo, la representación y el
razonamiento. La Web Semántica del Health Care and Life Sciences Interest Group (HCLSIG),
creada en el marco de la World Wide Web Consortium, fue lanzada para explorar la aplicación de
estas tecnologías en una variedad de áreas.
En [CHEUNG07] se presenta un escenario que muestra el valor que puede aportar el
entorno de la información de la Web Semántica para ayudar a investigadores de la neurociencia.
Se ilustra en un informe sobre varios proyectos por parte de los miembros de la HCLSIG, en la
gama de tecnologías de Web Semántica que tienen aplicaciones en los ámbitos de la
biomedicina.
En el artículo se concluye que las herramientas actuales y las normas ya son suficientes
para implementar componentes funcionales. Por otra parte, estas tecnologías son jóvenes.
Todavía existen lagunas en las normas y en las implementaciones, además la adopción está
limitada por los típicos problemas con los principios de la tecnología, tales como la necesidad de
una masa crucial de profesionales y una base instalada que implica un mayor esfuerzo con forme
se amplía esta tecnología. Sin embargo, el potencial de las fuentes de conocimiento
interoperables para la biomedicina, en la escala de la World Wide Web, amerita la continuación
de los trabajos.
20 que se define como el movimiento de los descubrimientos en la investigación básica a la aplicación a nivel clínico
Capítulo 1: Antecedentes
pág. 20
1.4.5 Herramientas ETL
Las herramientas de Extraction, Trasnformation and Load (ETL tools por sus siglas en ingles)
son la base de los Data warehouse. En el ETL tool survey 2009 se analizaron las siguientes
herramientas (en orden aleatorio)21, usando 80 criterios de evaluación. Utilizamos esta lista para
analizar algunas de las herramientas de ETL. Se busco la disponibilidad de la herramienta para
evaluación, si son OpenSource y la plataforma en que están desarrolladas. Las herramientas
OpenSource utilizan Java como plataforma principal de desarrollo (ver tabla 4).
Tabla 4 Herramientas ETL en el ETL survey 2009
No List of ETL Tools Versión ETL Vendors OpenSource Disponibilidad
1 Oracle Warehouse Builder (OWB)
11gR1 Oracle - Libre descarga
2 Data Integrator & Services XI 3.0 Business Objects, SAP - Demo
3 IBM Information Server (Datastage)
8.1 IBM - Demo
4 Integration Studio 4.2 SAS Institute - Demo
5 PowerCenter 8.5.1 Informatica - Demo
6 Elixir Repertoire 7.2.2 Elixir - Trial Software
7 Data Migrator 7.6 Information Builders - Demo
8 SQL Server Integration Services
10 Microsoft - Trial Software
9 Talend Open Studio 3.1 Talend X versión OpenSource
10 DataFlow Manager 6.5 Pitney Bowes Business Insight
- Demo
11 Data Integrator 8.12 Pervasive - Demo
12 Transformation Server 5.4 IBM DataMirror - Demo
• Actualmente se puede secuenciar el ADN y analizar unos genes específicos, pero no es
posible realizar un análisis completo de un genoma, debido a las cantidades ingentes de
información. Es necesario contar con una base de datos que este desarrollada en base a un
modelo conceptual del genoma humano, donde se establezcan las relaciones entre las
características de los genes, con el cual poder desarrollar herramientas que permitan a los
científicos genéticos realizar un mejor análisis del genoma humano. Actualmente los
análisis son artesanales23 y aunque existen herramientas para estudiar los genes y sus
productos de forma particular, no se disponen de herramientas que integren toda la
información disponible para el análisis de un genoma humano completo.
• Se trabajaba con bases de datos heterogéneas de diversas organizaciones de relevancia a
nivel mundial24. Esto hace que el dominio de estudio del proyecto es mucho más grande,
de mayor relevancia y de actualidad.
• Las bases de datos son grandes25 y la información está sustentada científicamente.
Extraer la información de aproximadamente 30,000 genes se convierte en un problema de
computo.
• El mercado mundial de las pruebas genéticas personales tiene un valor aproximado a los
$730 millones de dólares, y cada año crece un 20%26.
• Se desconoce la estructura real de las bases de datos con acceso a través de servicios web ya que solo proporcionan vistas a través de las consultas a los servicios web; se utilizan servicios web para acceder a las bases de batos del NCBI, es decir, sólo se conoce una estructura parcial e interrelacionada con vistas de otros servicios web. Esta complejidad justifica el desarrollar una herramienta de extracción, transformación y carga propia.
23 Se analiza gen por gen en cada base de datos genómica que contiene información sobre ese gen. 24 NCBI agrupa las bases de datos, pero no les da soporte, cada base de datos es una aportación de algún organismo o institución. 25 De 20,000 a 83,000,000 de registros (ver Tabla 1) 26 La estimación proviene de Piper Jaffray & Co., citado en Matthew Herper y Robert Langreth, “Will You Get Cancer?” Forbes.com, 18 de junio de 2007, en Internet: http://www.forbes.com/free_forbes/2007/0618/052_2.html
Capítulo 1: Antecedentes
pág. 25
• El caso del desarrollo de herramientas ETL para el NCBI no es el único, ya que se
contempla que en un futuro puedan utilizarse otras fuentes como HGMD de BIOBASE,
MutDB y cualquier base de datos que contenga información relevante al esquema
conceptual. Consideramos que esta necesidad justifica el desarrollo de una metodología
que sirva de guía en el desarrollo de nuevas herramientas de ETL para la base de datos
genoma.
Beneficios:
• Apoyar en el desarrollo de nuevas aplicaciones de análisis del genoma humano.
• Obtener una metodología para el desarrollo de herramientas que se integren como
módulos a un sistema que de soporte de carga y actualización de la base de datos
genoma.
• Contar con una primera herramienta de carga de datos a la base de datos genoma,
aportando con esto las bases para desarrollos de más aplicaciones.
• Obtener una arquitectura dinámica para dar soporte de carga y actualización a la base de
datos genoma.
1.6 Alcances y limitaciones
Alcances
• Diseñar una metodología para el desarrollo de módulos de carga y actualización para la
base de datos genoma.
• Diseñar e implementar el prototipo de un módulo para la carga de datos en la base de
datos genoma correspondientes a la vista del esquema conceptual Transcription mediante
la recuperación y extracción de datos del NCBI.
Capítulo 1: Antecedentes
pág. 26
Limitaciones
• La carga de los datos es la que corresponde a la vista del esquema conceptual
Transcripción.
• La unidad de trabajo es el gen, primero se cargará un gen y luego una lista de genes
seleccionados por los biólogos especialistas en genómica.
• La fuente que agrupa a las bases de datos es el NCBI.
• El método de acceso a los datos será el proporcionado por el NCBI.
• Desarrollo del prototipo de carga en Microsoft Visual Studio 2005 utilizando el lenguaje
de programación C#.
• La experimentación abarca solamente la funcionalidad relacionada a la carga de genes.
pág. 27
Capítulo 2: Marco teórico
La forma en que organizamos nuestra información siempre es un tema de amplio interés, en
cualquier área de la vida de los seres humanos, en particular en las ciencias computacionales,
donde es objeto de estudio e investigación. La genética es una ciencia que está avanzando a
pasos agigantados y a su vez requiere de nuevas herramientas para proveer de mayor poder
computacional a los experimentos realizados por los investigadores. Es necesario contar con el
conocimiento básico para poder llegar a comprender la complejidad de los términos aplicados en
la genética y en la integración de información. El capítulo se encuentra organizado en los
siguientes subtemas:
2.1 Bases de datos heterogéneas.
2.2 Herramientas de extracción, transformación y carga (ETL Tools).
2.3 Genética.
2.4 Biotecnología.
2.5 Bioinformática.
2.6 El ADN como soporte de la información genética.
2.7 Los cromosomas.
2.8 Gen.
2.9 Las proteínas.
2.10 ARN mensajero.
2.11 El código genético.
2.12 Análisis de una prueba de ADN.
2.13 National Center for Biotechnology Information (NCBI).
2.14 Análisis de las fuentes del NCBI.
2.15 Clasificación general de las bases de datos de Entrez.
2.16 Las herramientas del NCBI.
2.17 Modelo conceptual del genoma humano.
2.18 Modelo simplificado ER de la base de datos.
Capítulo 2: Marco teórico
pág. 28
2.1 Bases de datos heterogéneas Los sistemas de bases de datos heterogéneos HDBS (Heterogeneous Database Systems) son
paquetes de software que integran varios sistemas de bases de datos preexistentes comúnmente
llamados componentes, en donde el mismo componente puede participar en varios HDBS’s y los
componentes pueden ser desarrollados independientemente y sin considerar una integración
subsecuente. Los HDBS’s pueden ser caracterizados usando tres conceptos clave:
heterogeneidad, distribución y autonomía. La heterogeneidad de un HDBS depende del número y
gravedad de las discrepancias entre las bases de datos que lo constituyen, con respecto a sus
esquemas, modelos de datos, lenguajes de consulta, capacidad de administración de
transacciones, DBMS, hardware, sistemas operativos y protocolos de comunicación. Las
discrepancias pueden aparecer en cualquier nivel de abstracción (instancias de datos, esquema,
modelo de datos) [FILETO03].
La heterogeneidad puede ser reflejada en la representación de los datos o en su manera de
interpretarlos. Por distribución se refiere a la localización de los componentes HDBS. En
principio, la distribución es ortogonal a la heterogeneidad. Un sistema distribuido puede
involucrar diferentes plataformas de hardware, software y de comunicación. La autonomía se
refiere a la libertad de los componentes HDBS para definir y administrar sus bases de datos. La
necesidad de mantener la autonomía y la demanda de compartir datos son a menudo
requerimientos que entran en conflicto. La integración de diferentes bases de datos no puede
bloquear completamente la capacidad de cada componente de base de datos para administrar sus
datos sin la interferencia del administrador general HDBS.
Existen varias opciones para la implementación de HDBSs, con variaciones en el grado
de acoplamiento entre los componentes de base de datos y ofreciendo diferentes compensaciones
entre cooperación y autonomía, estos sistemas se clasifican como sigue:
Sistema de bases de datos distribuido DDBS (Distributed database system), consiste en
una sencilla base de datos lógica que es distribuida físicamente. A pesar de la fragmentación
física de los datos, un DDBS soporta un modelo de datos y lenguaje de consulta sencillos, con un
esquema integrando todo lo que el DDBS contiene.
Capítulo 2: Marco teórico
pág. 29
Sistema de bases de datos federado FDBS (Federated database system), es un sistema de
base de datos distribuido que permite componentes heterogéneos con diferentes modelos de
datos, lenguajes de consulta y esquemas.
Sistema multi-base de datos MDBS (Multidatabase system), es una colección de bases de
datos débilmente acopladas. Las propiedades clave de un MDBS son la autonomía de las bases de
datos participantes y la ausencia de un esquema global integrado.
2.2 Herramientas de extracción, transformación y carga
(ETL Tools)
Los sistemas de Extraction, Transformation and Load (ETL por sus siglas en ingles), son la base
de los Data Warehouse. Un sistema ETL bien diseñado extrae los datos de los sistemas fuente,
cumpliendo con la calidad de los datos y las normas de coherencia, adaptando los datos por
separado a fin de que las fuentes se puedan utilizar juntas y, por último, entregar los datos en un
formato de presentación listo para que los desarrolladores de aplicaciones puedan crear
aplicaciones y los usuarios finales puedan tomar decisiones.27
En [KIMBALL02] y [KIMBALL04] se describen las actividades de extracción,
transformación y carga, entre otras características de las herramientas usadas en Data
Warehouse.
Extracción
La extracción de los datos desde el origen es la primera parte del proceso ETL. La mayoría de los
proyectos de almacenamiento de datos fusionan los datos provenientes de diferentes sistemas de
origen (fuentes). Cada sistema separado puede usar una organización diferente de los datos o
formatos distintos. Los formatos de las fuentes normalmente se encuentran en bases de datos
relacionales o ficheros planos, pero pueden incluir bases de datos no relacionales u otras
Estas restricciones y triggers (si están bien definidos) contribuyen a que se garantice la calidad
de los datos en el proceso ETL, y deben ser tenidos en cuenta.
El caso de estudio más sencillo para el uso de herramientas ETL es donde se conoce la
estructura de la base de datos fuente, los casos más complejos son aquellos en los cuales se
desconoce su estructura. En el caso del NCBI no se conoce la estructura de la base de datos y
Capítulo 2: Marco teórico
pág. 32
además la extracción de los datos involucra la interrelación de otras bases de datos. Un factor
muy importante es la capacidad de la herramienta de extraer datos desde los servicios web
implementado las API s generadas a partir de los archivos WSDL de los servicios web utilizando
C#, ya que, en el caso del NCBI las API s se generan usando Java, C#, Visual Basic y Microsoft
SOAP Toolkit 3.0, y se tuvieron errores al generar las API s con Java. La gran mayoría de las
herramientas ETL se basa en la plataforma Java para la generación de las API s. Se tiene acceso
limitado a las herramientas propietarias que podrían utilizarse en el caso de la extracción de
datos del NCBI, ya que todas las herramientas propietarias proporcionan demos de sus productos
en las cuales no se incluye el soporte para servicios web.
2.3 Genética
La genética es el campo de ciencia que estudia la forma en la cual los rasgos de una generación
se heredan a la próxima [RODDEN05]. Aunque parezca una idea simple, la genética afecta todo
sobre cada cosa viviente sobre tierra. Los genes de un organismo (fragmentos de ADN), son las
unidades fundamentales de la herencia.
La genética es dividida en cuatro subdivisiones muy importantes en general:
• Genética clásica: describe cómo los rasgos (las características físicas) son pasados de una generación a otra.
• Genética molecular: el estudio de las estructuras químicas y físicas de ADN, su primo ARN, y proteínas.
• Genética de población: toma parte de la genética Mendeliana (es decir la genética de familias individuales) y la maximiza para observar el maquillaje genético de grupos más grandes.
• Genética cuantitativa: Un campo muy matemático, examina las relaciones entre genes y sus rasgos codificados.
Capítulo 2: Marco teórico
pág. 33
2.4 Biotecnología
La biotecnología es la técnica que utiliza células vivas, cultivo de tejidos o moléculas derivadas
de un organismo para obtener o modificar un producto, mejorar una planta o animal o desarrollar
un microorganismo para utilizarlo con un propósito específico [BIOTECH08]. Según esta
definición, la fabricación, entre otros, de pan y cerveza que se basa en el empleo de células de
levadura es un proceso biotecnológico. La diferencia aportada por la biotecnología moderna es
que actualmente el hombre no sólo sabe cómo usar las células u organismos que le ofrece la
naturaleza, sino que ha aprendido a modificarlos y manipularlos en función de sus necesidades.
La definición más extendida del término biotecnología es el uso de organismos vivos (o
parte de los mismos) para producir fármacos, alimentos u otros productos. La Biotecnología más
ancestral comienza con la fermentación hasta alcanzar a la más reciente, las técnicas de
Molecular Imaging, que permiten visualizar en tiempo real la expresión de genes en células de
rata.
2.5 Bioinformática
La bioinformática [BIOINF08] es la herramienta por excelencia. La secuenciación del genoma
humano ha originado cantidades ingentes de información que debe ser procesada para poder ser
usada convenientemente. Los datos son generados primordialmente por tres vías: in vivo, in vitro
e in silico. Ya sea de la experimentación animal, o del tubo de ensayo o mediante la simulación
de sistemas vivos con ordenadores, los datos obtenidos deben ser analizarlos posteriormente. Es
imprescindible encontrar la manera de almacenarlos para poder recuperarlos y distribuirlos
cuando se requieran. En todas las fases anteriores, la informática juega un papel decisivo para
poder transformar los datos en información y ésta en conocimiento.
La definición más aceptada de la bioinformática es "disciplina científica que se interesa
por todos los aspectos relacionados con la adquisición, almacenamiento, procesamiento,
distribución, análisis e interpretación de información biológica, mediante la aplicación de
técnicas y herramientas de las matemáticas, de la biología y de la informática, con el propósito
Capítulo 2: Marco teórico
pág. 34
de comprender el significado biológico de una gran variedad de datos". La Bioinformática
comprende tres subespecialidades:
• Bioinformática en sentido estricto. La investigación y desarrollo de la infraestructura y sistemas de información y comunicaciones que requiere la biología moderna. (Redes y bases de datos para el genoma, estaciones de trabajo para procesamiento de imágenes)
• Biología Molecular Computacional. La computación que se aplica al entendimiento de cuestiones biológicas básicas, mediante la modelización y simulación. (Sistemas de Vida Artificial, algoritmos genéticos, redes de neuronas artificiales)
• Biocomputación. El desarrollo y utilización de sistemas computacionales basados en modelos y materiales biológicos. (Biochips, biosensores, computación basada en ADN). Los computadores basados en ADN se están empleando para la secuenciación masiva y el trazado de diversas enfermedades, explotando su característica de procesamiento paralelo implícito.
2.6 El ADN como soporte de la información genética
En [ADN08] se dice que el descubrimiento en 1953, de la
estructura de la molécula de ADN (ácido
desoxirribonucleico) por James Watson y Francis Crick
dio origen a la biotecnología moderna, tal como la
conocemos actualmente. Por estudios anteriores al
descubrimiento de Watson y Crick ya se sabía que el ADN
almacena la información genética (la herencia) en todos
los seres vivos. También se sabía que este ADN estaba
formado por la combinación de unas moléculas más
pequeñas llamadas nucleótidos. Los nucleótidos a su vez
constan de un azúcar (la desoxirribosa), un fosfato y una
de las cuatro bases siguientes: la adenina, guanina, citosina y timina o abreviadamente A, G, C,
T. Igualmente era conocido que, aunque la proporción de estos nucleótidos era distinta en cada
molécula de ADN, siempre el número de A es era igual al de T es y el número de C es era igual al
de G es.
Figura 1 Modelo de Watson y
Capítulo 2: Marco teórico
pág. 35
Watson y Crick, utilizando éstos y otros datos, descubrieron que la
molécula de ADN está formada por dos largos filamentos (siendo cada
uno de ellos una cadena de nucleótidos) que se enrollan entre sí dando
lugar a una doble hélice parecida a una escalera de caracol. La parte
lateral o "barandilla" de la escalera está formada por azúcares
(desoxirribosa) y fosfatos y los peldaños son pares de bases. En esta
estructura siempre la adenina se empareja con la timina (A-T, T-A) y la
citosina se empareja con la guanina (C-G, G-C) y sólo se permiten estos
emparejamientos. El tipo de nucleótidos y el orden -denominado
secuencia- en que se disponen estas moléculas es la manera cómo se
escribe la información genética, utilizando una especie de alfabeto de 4
letras.
La molécula de ADN tiene la capacidad de desdoblarse pudiendo
servir como molde para dar lugar a otra molécula idéntica, y así es como pasa la información
genética de padres a hijos. La clave de como esto ocurre reside en la complementariedad de las
bases que hace que la adenina se empareje sólo con la timina y la citosina sólo con la guanina.
En general, una célula tiene una maquinaria muy sofisticada que permite hacer copias muy
precisas de la molécula de ADN, incluso existen diversos sistemas de reparación. No obstante, en
ocasiones se producen fallos. Cuando esto ocurre se dice que ha tenido lugar una mutación (es
decir, un error genético) y si es suficientemente importante puede llegar a cambiar la
información que llevaba la molécula de ADN.
2.7 Los cromosomas
Si todo el ADN contenido en el núcleo de las células humanas se hallase estirado llegaría a medir
hasta 1,8 metros, es decir, unas 300.000 veces más que el diámetro del núcleo. Para evitar este
problema el ADN está altamente plegado formando unas estructuras denominadas cromosomas.
El genoma humano está constituido por 23 pares de cromosomas. Cada cromosoma es una única
molécula de ADN que a su vez está formado por millares de nucleótidos. Si se escribiera en el
alfabeto de 4 letras toda la información genética que contiene una célula humana llenaría un libro
Figura 2
Trascripción de
ADN[ADN08]
Capítulo 2: Marco teórico
pág. 36
con más de 500.000 páginas. Por lo tanto, las tres características que permiten a la molécula de
ADN ser la depositaria de la información genética de un organismo son: que la molécula de ADN
contiene información basada en el orden y composición de los nucleótidos que la forman; que es
capaz de pasar esta información de generación en generación gracias a que cada cadena puede
servir como molde para fabricar su complementaria; y que es flexible, lo que permite que pueda
almacenarse toda la información que requiere un ser vivo para ser como es y realizar sus
funciones en un espacio tan pequeño como el interior de las células [ADN08].
Figura 3 Los cromosomas[ADN08]
2.8 Gen
La definición de gen (gene) en general se define como una secuencia de nucleótidos que se
encuentra en un lugar determinado de un cromosoma determinado y que lleva la información
para fabricar una cadena de aminoácidos (aunque también hay genes que llevan la información
para fabricar moléculas de ARN con actividad propia como los ARN que forman parte de los
ribosomas) [GLOS08].
La definición más actual de gen en [ENCODE07] y [MARK08] es la siguiente:
Un gen es una unión de secuencias genómicas que codifican un conjunto coherente de
El código genético se caracteriza por ser universal, es decir, la equivalencia entre tripletes
de nucleótidos y aminoácidos la usan todos los organismos conocidos desde las bacterias a los
mamíferos, entre ellos, el hombre. La universalidad del código genético permite, por ejemplo,
que si se introduce un gen humano en una bacteria ésta pueda interpretar la información
almacenada en dicho gen fabricando la misma proteína que fabricaría una célula humana. Es esta
unidad bioquímica de los seres vivos lo que ha facilitado el desarrollo de la moderna
biotecnología, que utiliza ciertos microorganismos como si fueran mini factorías para replicar los
ácidos nucleídos que nos interesen e incluso que produzcan proteínas humanas.
Capítulo 2: Marco teórico
pág. 42
2.12 Análisis de una prueba de ADN
El análisis de una prueba de AND28 solicitada por un medico certificado, solo contempla la
solicitud del análisis de ciertos genes que se relacionan con el padecimiento del paciente.
El proceso de análisis del genoma humano en un laboratorio es muy complejo pero para
fines prácticos lo podemos sintetizar en las siguientes fases:
1. Solicitud de ciertos genes a analizar 2. Extracción de ADN 3. Identificación y extracción de genes 4. Secuenciación del gen o ADN 5. Análisis de los Genes. Este análisis en la actualidad se hace gen por gen 6. Resultados
Los resultados son solo sobre los genes específicos que se requerían analizar por parte del
médico certificado.
2.13 National Center for Biotechnology Information (NCBI)
El difunto senador de los Estados Unidos Claude Pepper reconoció la importancia de los
métodos informáticos en el tratamiento de la información para la realización de la investigación
biomédica y patrocinó la legislación que creó el Centro Nacional de Información sobre
Biotecnología (NCBI por sus siglas en ingles) el 4 de noviembre de 1988, como una división de
la Librería Nacional de Medicina (NLM por sus siglas en ingles) parte del Instituto Nacional de
la Salud(NIH por sus siglas en ingles). NLM fue elegido por su experiencia en la creación y
mantenimiento de bases de datos biomédicas, y porque como parte del NIH, se podría establecer
un programa de investigación intramural en la biología molecular computacional. Los
componentes de la investigación colectiva del NIH forman la mayor instalación de investigación
biomédica en el mundo29.
28 De la visita la laboratorio genético de Sistemas Genomicos. La secuenciación de un genoma entero está en investigación. 29Del Sitio oficial de NCBI http://www.ncbi.nlm.nih.gov/
Capítulo 2: Marco teórico
pág. 43
2.14 Análisis de las fuentes del NCBI
A continuación se muestra una breve descripción de cada una de las bases de datos que pueden
explorarse a través del motor de búsqueda de Entrez (Entrez Global Query)30 y su clasificación
de acuerdo con el NCBI Map Site31.
La información ha sido recopilada del manual de Entrez [ENTREZ06] y del Manual de
NCBI [NCBI02]. Se describe la página principal Entrez Global Query y cada una de las bases de
datos. El manual describe una clasificación de las bases de datos que no es muy clara, por lo que
se ha clasificado a las bases de datos de acuerdo con el NCBI Map Site para tener una vista
global de las bases de datos y así ubicarlas con forme a su contenido. Se ha omitiendo el
subconjunto de las bases de datos que pueden ser utilizadas como filtro para las consultas.
Cabe mencionar que de estas bases de datos se ha encontrado explícitamente dentro del
sitio del NCBI el modelo ER32 así como la documentación del esquema33 de la base de datos de
SNP para llevar a cabo su implementación de forma local34.
Las bases de datos en Entrez
La página de Entrez es la página principal del motor de búsqueda de bases de datos Entrez
Global Query. Todo el grupo de las bases de datos de Entrez en esta página está organizado
como bases de datos de literatura en la parte superior incluidos en PubMed, PubMed Central
Journals, Books, OMIM y OMIA. La búsqueda del sitio NCBI también está lista para hacer las
búsquedas en Entrez. Las bases de datos de secuencias incluyen: Nucleotide, Protein, Genome,
Structure, y SNPs. El resto de las bases de datos son: Taxonomy, Gene, UniGene, HomoloGene,
Bio-Assay, PubChem Compound, PubChem Substance, Cancer Chromosomes, Probe, MeSH,
Journals y NLM Catalog. En la barra de herramientas se encuentran enlaces a páginas web
populares del NCBI, PubMed, Human Genome, Map Viewer, y BLAST. También hay un enlace a
la base de datos GenBank, lo que lleva a la base de datos de Nucleotide. 30 http://www.ncbi.nlm.nih.gov/gquery/gquery.fcgi 31 http://www.ncbi.nlm.nih.gov/Sitemap/index.html 32 ftp://ftp.ncbi.nih.gov/snp/database/b124/mssql/schema/erd_dbSNP.pdf 33 http://www.ncbi.nlm.nih.gov/projects/SNP/docsum/docsum_doc.html 34 http://www.ncbi.nlm.nih.gov/books/bv.fcgi?rid=handbook.section.ch5.ch5-s6
Capítulo 2: Marco teórico
pág. 44
Mediante el uso de Entrez Global Query, se realiza una búsqueda a través de todas las
bases de datos de Entrez mediante la introducción de un simple término de búsqueda o una frase
en la caja de consulta "Search across databases". Seleccione el botón Go35 para ejecutar la
búsqueda, o pulse el botón Enter del teclado. El botón CLEAR borra los términos de búsqueda en
el cuadro de consulta, se utilizan para iniciar una nueva búsqueda. Los resultados encontrados en
cada base de datos se muestran en Entrez Global Query. Haga clic en el número de resultados o
en el nombre de base de datos adyacente para llegar a los resultados específicos.
Umbrella Nucleotide Database (Nucleotide)
La base de datos actual de nucleótidos de NCBI, puede explorarse también en sus tres
componentes de bases de datos: "EST" (que contiene secuencias EST), "GSS” (que contiene las
secuencias GSS) y "CoreNucleotide" (que comprende el resto de las secuencias de nucleótidos).
Su división en componentes permite la búsqueda más rápida y resultados más específicos para
los registros que contienen las secuencias de nucleótidos. Cuando se realiza una búsqueda en la
base de datos Nucleotide, los resultados de búsqueda de Entrez también se muestran para los tres
componentes de bases de datos de nucleótidos sobre la de búsqueda estadística. Los
componentes de las bases de datos de nucleótidos contienen todos los datos de las secuencias de
GenBank, EMBL, y DDBJ, miembros del International Collaboration of Sequence Databases.
Como ejemplo del formato de los resultados retornados de una búsqueda de Entrez
Nucleotide, considere la posibilidad de una simple búsqueda usando una consulta de “mouse
[organism]” . Esta búsqueda se limitara a retornar los registros que contengan “mouse” en el
campo “organism”. Los resultados se muestran con enlaces a la división de datos en la división
EST de GenBank, la división GSS de GenBank, y el subconjunto CoreNucleotide. Los usuarios
pueden seleccionar los resultados de datos de interés de los nucleótidos específicos haciendo clic
en el vínculo del resultado apropiado.
Un nuevo componente de bases de datos es abarcado dentro del esquema de vinculación
de Entrez y enlaces dentro y entre las bases de datos pueden ser seleccionados como de
costumbre de las distintas bases de datos. Las Estrategias de búsqueda más populares, tales como
“Limits”, “Preview/Index”, History, Clipboard, Details y MyNCBI se puede utilizar en cada base
de datos.
35 GO hace referencia a un termino de Gene Ontology
Capítulo 2: Marco teórico
pág. 45
La búsqueda de campos especializados están disponibles para cada nuevo componente de
la base de datos de Nucleótide y se puede ver en los respectivos campos de búsqueda indexados
en la sección "Add Term(s) to Query or View Index:" de la ficha “Preview/Index” para cada uno.
Los nuevos campos disponibles para la base de datos componente “EST” incluyen EST ID, EST
Name, y Library. Dentro de la base de datos componente GSS, los nuevos campos incluyen GSS
ID, GSS Name, Library Class, y Library Name. CoreNucleotide contiene los mismos 23 campos
de búsqueda, como la tradicional base de datos de nucleótidos.
El resto de todas las funcionalidades de Entrez, tales como Clipboard donde las
búsquedas se pueden guardar temporalmente y MyNCBI donde la búsqueda se puede guardar
indefinidamente ejecutando intervalos seleccionados por el usuario. Las páginas Details y
History están disponibles para los distintos conjuntos de búsqueda. Para ver los detalles de la
búsqueda, la base de datos de interés debe estar seleccionada al realizar una búsqueda desde la
página principal de Nucleótide.
Las patentes de las secuencias se han incorporado a través de acuerdos con U.S. Patent
and Trademark Office (USPTO) y la colaboración internacional a través de bases de datos de
otras oficinas de patentes internacionales. Umbrella Nucleotide database incluye también
registros Reference Sequence (RefSeq). Los registros de RefSeq son un conjunto de secuencias no
redundante custodiado por NCBI.
Protein Database
La base de datos Protein contiene datos de la secuencia de las regiones codificantes traducidas36
provenientes de secuencias de ADN en GenBank, EMBL, y DDBJ así como también secuencias
enviadas de Protein Information Resource (PIR), SWISS-PROT, Protein Research Foundation
(PRF), y Protein Data Bank (PDB) (secuencias a partir de estructuras resueltas).
Genome Database
La base de datos del genoma proporciona vistas de una variedad de genomas, cromosomas
completos, mapas de secuencia con contigs37 y mapas genéticos y físicos integrados.
36 En nuestro modelo del genoma, a esto lo hemos llamado Transcribed Sequence 37 Conjunto de clones que representan una región continúa del genoma.
Capítulo 2: Marco teórico
pág. 46
Structure Database
La base de datos Structure o Molecular Modeling Database (MMDB) contiene los datos
experimentales de determinaciones cristalográficas y estructura NMR. Los datos de MMDB se
obtienen a partir de Protein Data Bank (PDB). El NCBI ha enlazado los datos estructurales a la
información bibliográfica, las bases de datos de secuencias, así como a la taxonomía de NCBI. Se
usa Cn3D, el visor de estructuras 3D de NCBI, para facilitar la visualización interactiva de
estructuras moleculares de Entrez.
3D Domains
3D Domains contiene los dominios de la proteína de la bases de datos Structure de Entrez.
Conserved Domains
Conserved Domains es una base de datos de dominios de proteínas. Las bases de datos fuente de
Conserved Domains son Pfam, Smart, y COG.
UniSTS
UniSTS es una vista unificada, no redundante, de los sitios etiquetados de secuencia (Sequence
Tagged Sites STS). UniSTS integra datos de marcado y mapeo de una variedad de recursos
públicos. Las fuentes de datos que incluye son dbSTS, RHdb, GDB, diversos mapas humanos
LOGIN NAME (varchar), MAIL (varchar), ROL (varchar)
Con esta tabla se lleva un registro de todos los genes cargados en la base de datos genoma, la cual puede ser utilizada para el control de cargas y actualizaciones.
oracleCommand.Parameters.Add(p2 ); oracleCommand.Parameters.Add(p3 ); oracleCommand.Parameters.Add(p4 ); oracleCommand.Parameters.Add(p5 ); oracleCommand.Parameters.Add(p6 ); oracleCommand.Parameters.Add(p7 ); oracleCommand.Parameters.Add(p8 ); OracleDataReader odr = oracleCommand.ExecuteReader(); odr.Read(); OracleLob clobColumn = odr.GetOracleLob(0); clobColumn.Write(clobByte, 0, c lobByte.Length); transaction.Commit(); System. Console .WriteLine( "Registro de la tabla segment insertado\r\n" ); } // Cerrar conección conn.Close(); } } catch ( Exception e_sql) { // Hacer algo con la excepción aquí... System. Console .WriteLine(e_sql.ToString()); } }
Procedimiento almacenado para la Inserción en la tabla SEGMENT
create or replace PROCEDURE INSERT_SEGMENT_SEQUENCE ( p_id_gene IN VARCHAR2 , p_allele_num IN NUMBER , p_segment_num IN NUMBER , p_start_position IN NUMBER , p_end_position IN NUMBER , p_trans_unit_num IN NUMBER , p_type IN VARCHAR2 , cur_OUT OUT SYS_REFCURSOR) AS BEGIN INSERT INTO SEGMENT( id_gene, allele_num, segmen t_num, start_position, end_position, sequence, trans_unit_num, type) VALUES ( p_id_gene, p_allele_num, p_segment_num, p_start_position, p_end_position, EMPTY_CLOB(), p_trans_unit_num, p_type); OPEN cur_OUT FOR SELECT sequence FROM SEGMENT WHERE id_gene = p_id_gene AND allele_num = p_alle le_num ANd segment_num = p_segment_num AND trans_unit_num = p_trans_unit_num FOR UPDATE; END INSERT_SEGMENT_SEQUENCE;
Procedimiento almacenado para la actualización en la tabla SEQUENCE
create or replace PROCEDURE UPDATE_SEGMENT_SEQUENCE ( p_id_gene IN VARCHAR2 , p_allele_num IN NUMBER , p_segment_num IN NUMBER , p_start_position IN NUMBER , p_end_position IN NUMBER , p_trans_unit_num IN NUMBER , p_type IN VARCHAR2
Capítulo 3: Solución propuesta
pág. 70
, cur_OUT OUT SYS_REFCURSOR) AS BEGIN UPDATE "SEGMENT" SET start_position = p_start_po sition, end_position = p_end_position, type = p_type WHERE id_gene = p_id_gene AND allele_num = p_alle le_num ANd segment_num = p_segment_num AND trans_unit_num = p_trans_unit_num; OPEN cur_OUT FOR SELECT sequence FROM SEGMENT WHERE id_gene = p_id_gene AND allele_num = p_alle le_num ANd segment_num = p_segment_num AND trans_unit_num = p_trans_unit_num FOR UPDATE; END UPDATE_SEGMENT_SEQUENCE;
Con la información obtenida a través de las primeras 5 etapas se puede proceder a la
etapa 6 la cual está descrita en el tema 3.2 y continúa en el capítulo 4 de esta tesis.
3.2 Análisis de los módulos a desarrollar
A continuación se muestra el análisis del sistema de carga para la base de datos genoma, cabe
mencionar que cada uno de los casos de uso representa a los módulos que se desarrollaron.
Los diagramas de caso de uso se basaron en la descripción de los diagramas UML en
[KIMMEL05], así como en base a la práctica y observaciones del director de tesis, obteniendo
buenas técnicas de modelado.
En el diagrama 4 se muestran los casos de uso que describen las actividades principales a
realizar por el sistema de cargar. Los especialistas en genómica describieron el sistema de carga
de la siguiente manera:
Un sistema que les permitiera cargar una lista de genes en una base de datos. La
información correspondiente a cada gen se encuentra en diversas bases de datos heterogéneas.
Para acceder a la información los especialistas en genómica utilizan las aplicaciones Web para
interactuar con las bases de datos. Se requiere cargar las bases de datos del NCBI.
Capítulo 3: Solución propuesta
pág. 71
En el diagrama 4 se muestran los casos de uso del sistema de carga para la base de datos
genoma. También se muestran las dependencias que existen entre estos casos de uso y sus
actores.
El Usuario depende del CU 1 Cargar lista de genes, el CU 1 incluye el CU 1.1
administrar lista de genes, el CU 1.2 obtener los datos de cada gen de la lista de la fuente NCBI y
el CU 1.3 cargar datos de cada gen de la lista. El CU 1.1 se relaciona con la interfaz SOAP para
Entrez Utilities y con la base de datos genoma. El CU 1.2 se relaciona con la interfaz SOAP para
Entrez Utilities y el CU 1.3 se relaciona con la base de datos genoma.
Diagrama 4 Caso de uso 1 (CU 1) nivel 0
En la tabla 11Tabla 11 del anexo A, se describen los escenarios para el caso de uso
“Cargar lista de genes”.
En el diagrama 5 se muestran los casos de uso “Administrar lista de genes” para la carga
de datos en la base de datos genoma. También se muestran las dependencias que existen entre
estos casos de uso y sus actores.
uc CU1 nivel 0
Base de Datos Genoma
Interface SOAP para Entrez Utilities
Usuario
CU 1.1 Administrar lista de genes
CU 1.2 Obtener los datos de cada gen de la lista de la
fuente NCBI
CU 1.3 Cargar datos de cada gen de la lista
CU 1. Cargar lista de genes
«include»
«include»
«include»
Capítulo 3: Solución propuesta
pág. 72
El módulo “Administra lista de genes” incluye el CU 1.1.1 “Obtener identificador del gen
en el NCBI para Transcription View” el cual se relaciona con el servicio Web EUtils de la
interfaz SOAP para Entrez Utilities y con la base de datos genoma.
Diagrama 5 Caso de uso1.1 (CU 1.1) nivel 1
En la tabla 12 del anexo A, se describen los escenarios para el caso de uso “Administrar
lista de genes”, y en la tabla 13 del anexo A, se describen los escenarios para el caso de uso
“Obtener identificador del gen en el NCBI para Transcription View”.
En el diagrama 6 se muestran los casos de uso del módulo “Obtener datos de cada gen de
la lista de la fuente NCBI”. También se muestran las dependencias que existen entre estos casos
de uso y sus actores.
El módulo “Obtener datos de cada gen de la lista de la fuente NCBI” es extendido
mediante el CU 1.2.1 “Extraer los vectores del NCBI” y el CU 1.2.2 “Transformar los vectores
de NCBI a vectores de Trasncription View”. El CU 1.2.1 se relaciona con los servicios web:
eFetchGene, eFetchSeq y eFetchPubmed de la interfaz SOAP para Entrez Utilities.
uc CU1.1 nivel 1
Interface SOAP paraEntrez Uti li ties
EUtils
BD genoma
CU 1.1 Administrar lista de genes
CU 1.1.1 Obtener el identificador del gen en el
NCBI para Trascription View«include»
Capítulo 3: Solución propuesta
pág. 73
Diagrama 6 Caso de uso 1.2 (CU 1.2) nivel 1
En la tabla 14 del anexo A, se describen los escenarios para el caso de uso “Obtener datos
de cada gen de la lista de la fuente NCBI”.
En el diagrama 7 se muestran los casos de uso del módulo “Cargar datos de cada gen de
la lista.” para la base de datos genoma. También se muestran las dependencias que existen entre
estos casos de uso y sus actores.
El módulo “Cargar datos de cada gen de la lista.” Es extendido mediante el CU 1.3.1
“Cargar datos de genes en Transcription View” el cual se relaciona con la base de datos genoma.
Diagrama 7 Caso de uso 1.3 (CU 1.3) nivel 1
En la tabla 15 del anexo A, se describen los escenarios para el caso de uso “Cargar datos
de cada gen de la lista”.
uc CU1.2 nivel 1
Interface SOAP para Entrez Uti li ties
CU 1.2 Obtener datos de cada gen de la lista de la
fuente NCBI
eFetchGene
eFetchSeq
eFetchPubmed
CU 1.2.1 Extraer los vectores de NCBI
CU 1.2.2 Transformar los v ectores de NCBI a v ectores
de Transcription View
«extend»
«extend»
uc CU1.3 nivel 1
CU 1.3 Cargar datos de cada gen de la lista
BD genoma
CU 1.3.1 Cargar datos de genes en Transcription View
«extend»
pág. 74
Capítulo 4: Implementación de la solución
Mediante la realización de las primeras 5 etapas de la metodología propuesta, se obtienen los
requisitos necesarios para desarrollar la herramienta de carga automática de la vista
Transcription de la base de datos genoma.
En este capítulo se describe la implementación de los módulos de la herramienta diseñada
mediante nuestra metodología, haciendo uso de diagramas de secuencia, despliegue y de clases
aplicando dos patrones de diseño (Composite y Strategy). También se describe la interfaz al
usuario para acceder a cada uno de los módulos implementados. El capítulo se encuentra
organizado en los siguientes subtemas:
4.1 Diseño e implementación de los módulos del sistema.
4.2 Descripción de la interface al usuario.
Capítulo 4: Implementación de la solución
pág. 75
4.1 Diseño e implementación de los módulos del sistema
El desarrollo de los siguientes diagramas, durante la fase de diseño, permite una mejor
comprensión de los procesos de administración de la lista de genes (diagrama 8), extracción y
transformación (diagrama 9) y finalmente el de carga (diagrama 10). Los diagramas se basan en
la descripción de los diagramas de secuencia en [KIMMEL05].
Diagrama 8 Diagrama de secuencia 1 Administrar lista de genes
sd DS 1
Usuario Interface SOAP EntrezUtili ties
Módulo Administrarl ista de genes
Base de datos genoma
Módulo de Carga de l ista de genes
Módulo obtener el identi ficadordel gen en el NCBI para
Trascription View
alt
[IF existe Gen]
opt
[Nueva Lista]
[Abrir Lista]
opt
[Agregar elemento]
[Eliminar elemento]
opt
[Guardar lista]
Solici taadministrar lista()
Solici ta crearlista() :Lista
Crea l ista()
sol icita abrir l ista() :Lista
Abre lista()
Introduce el nombredel elemento genque desea agregar ala lista(String) Inserta elemento
de la l ista(String)
Buscar ID de elemento enel NCBI(String) :String
Extraer indice del elementogen del NCBI(String) :vector
Buscar gen en la base de datos genoma(String) :Vector
Solici ta eliminar elementode la lista(String) :boolean
Elimina elemento de lal ista(String) :boolean
Sol icita guardar l ista()
Guarda lista(lista, path)
Capítulo 4: Implementación de la solución
pág. 76
Diagrama 9 Diagrama de secuencia 2 Extracción y transformación de los datos del NCBI
sd DS 2
Usuario Interface SOAP EntrezUtil ities
Módulo de Carga de l ista de genes
Módulo extraer datos dela fuente NCBI
Modulo transformarvectores NCBI a
Transcription View
loop
[fuente del gen=NCBI]
loop
[hasta referencias=0]
loop
[hasta referencias=0]
loop
[hasta ARNs=0]
loop
[hasta referencias=0]
loop
[hasta exones=0]
loop
[hasta intrones=0]
Solici ta cargar l ista ala base de datos()
Extraer cada gen correspondientea la fuente NCBI y transformar aTranscriptionn View()
Extraer vector de eUti ls()
Transformar vector deeUtils a principal de gene()
Extraer vector de eFetchPubmed()
Transformar vector de eFetchPubmed aReferencia()
Extraer vector de eFecthSeq()
Transformar vector de eFetchSeq aSecuencia principal()
Extraer vector de eFetchPubmed()
Transformar vector de eFetchPubmed aReferencia()
Extraer vector de eFecthSeq()
Transformar vector eFetchSeq aARN()
Extraer vector de eFetchPubmed()
Transformar vector de eFetchPubmed aReferencia()
Transformar vector eFetchSeq a Exon()
Transformar vector eFetchSeq a Intron()
Desplegar informaciondel gen extraidacorrectamente()
Capítulo 4: Implementación de la solución
pág. 77
Diagrama 10 Diagrama de secuencia 3 carga de datos en la base de datos genoma
Para acceder a la implementación de cada uno de los módulos se realizó la interface que se
observa en la figura 11, donde el botón Configurar conexión permite el acceso a la interface para
configurar la conexión, el botón Administrar lista de genes permite a la interface para acceder a
las funcionalidades del módulo CListManager y finalmente el botón Cargar datos que permite el
acceso a la ejecución del módulo de carga automática de datos (AStrgyEtrac y
AStrgyLoadToDatabase).
Además se cuenta con una terminal de salida la cual informa brevemente sobre la
información de los genes que han sido cargados en la base de datos la cual cuenta con el botón
Limpiar para dejar la terminal en blanco. También cuenta con una barra de tareas la cual informa
al usuario sobre el porcentaje de carga del gen que se está cargando.
Figura 11 Interface principal
En la figura 12 se muestra la interface de configuración para realizar la conexión con la
base de datos genoma, donde el usuario los parámetros de Servidor, Usuario y Contraseña.
Capítulo 4: Implementación de la solución
pág. 82
Figura 12 Interface para configurar la conexión con la base de datos
En la figura 13 se muestra la interface para administrar la lista de genes. En esta interface
se tiene el botón Nueva para crear una nueva lista en blanco, también permite mediante el botón
Abrir una nueva lista de genes, guardada previamente; la lista puede ser abierta o agregada a la
existente. Una vez generada, la lista puede ser guardada mediante el botón Guardar como, o
también mediante el botón Aceptar dejando la lista por default. El botón Cerrar se utiliza para
cerrar la interface sin guardar cambios.
Figura 13 Interface para la administración de la lista de genes
En el anexo E se muestra como ejemplo la carga del gen NF1 utilizando las interfaces al
usuario.
pág. 83
Capítulo 5: Plan experimental
Para realizar el plan experimental se diseño un plan de puebas siguiendo el estándar 829 de la
IEEE [IEEE829]. Dicho plan se titula ETLNCBIGD y se encuentra en el anexo B.
En este capítulo se describen y analizan los resultados obtenidos de caca caso de prueba
descrito del plan de pruebas ETLNCBIGD. El capítulo se encuentra organizado en los siguientes
subtemas:
5.1 Resultados de la ejecución del plan experimental.
5.2 Análisis de resultados.
Capítulo 5: Plan experimental
pág. 84
5.1 Resultados de la ejecución del plan experimental
El plan de pruebas se titula ETLNCBIGD y se encuentra en el anexo B. Se realizó siguiendo el
estándar 829 de la IEEE [IEEE829].En esta sección se muestran los resultados obtenidos en cada
caso de prueba realizado.
Descripción del identificador:
ETL: Extract, Transform, and Load
NCBI: National Center for Biotechnology Information.
GD: Genoma Database
La siguiente lista define las características probadas:
� Conexión con el servidor de la base de datos genoma. Se verificó el correcto funcionamiento del módulo que configura la conexión con el servidor mediante la inserción de datos de conexión validos e inválidos.
� Generación de la lista de genes: Se verificó la generación de una lista de genes con su respectivo identificador en el NCBI identificándolos a través de la aplicación Web Entrez del NCBI estableciendo que los datos extraídos fueron correctos.
� Carga de los datos: se verificó la carga de datos correcta en la base de datos mediante SQLDeveloper y se validaron los valores mediante la consulta manual en la base de datos de Entrez Gene, estableciendo que los datos se cargaron correctamente.
Cada miembro del grupo tiene acceso a una versión propia de la base de datos genoma.
Se utilizaron los datos del autor de esta tesis para realizar las pruebas de conexión y en general
establecer la conexión con la base de datos.
Conforme al diseño de la herramienta solo se requiere del servicio Web EUtils en el
módulo administrar lista de genes, para obtener el identificador del gen en el NCBI y para
realizar la carga los servicios web de eFetchGene, eFetchSeq y eFetchPubmed.
Para validar que los índices de los elementos de la lista son correctos, se mostrará la
captura de pantalla de una búsqueda de los elementos en la base de datos Gene.
Las tablas correspondientes a la vista transcripción son: GEN,
Para comprobar la carga correcta de un gen se mostrará una captura de la tabla principal GENE.
Para verificar los datos cargados en la fuente se mostrará una captura de pantalla de una
búsqueda de los genes en la base de datos Gene.
En el caso de prueba ETLNCBIGD-301-001 se mostrará la relación entre los datos
cargados y los de la fuente, debido a que se trata de la carga de un solo gen.
CASO DE PRUEBA (1)
ETLNCBIGD-101-001 Probar conexión con la base de datos genoma utilizando datos inválidos.
DESCRIPCIÓN: Verificar que los datos inválidos no permiten establecer una conexión con el servidor de
la base de datos genoma. La prueba se efectuó en un entorno con un equipo de cómputo (PC) con
conexión a Internet y una conexión VPN a la UPV.
RESULTADO:
La aplicación mostró un mensaje en pantalla que indicaba el error generado debido a los datos inválidos
(figura 14).
Figura 14 Error de conexión con la base de datos genoma
OBSERVACIONES:
La aplicación tardó aproximadamente 2 segundos en mostrar el mensaje de error.
Capítulo 5: Plan experimental
pág. 86
CASO DE PRUEBA (2)
ETLNCBIGD-101-002 Probar conexión con la base de datos genoma utilizando datos validos.
DESCRIPCIÓN: Verificar que los datos validos permiten establecer una conexión con el servidor de la
base de datos genoma. La prueba se efectuó en un entorno con un equipo de cómputo (PC) con conexión
a Internet y una conexión VPN a la UPV.
RESULTADO:
La aplicación mostró un mensaje en pantalla que indique que la prueba de conexión es correcta debido al
uso de datos validos (figura 15).
Figura 15 Prueba de conexión correcta con la base de datos genoma
OBSERVACIONES:
La aplicación tardó aproximadamente 1 segundo en mostrar el mensaje.
Capítulo 5: Plan experimental
pág. 87
CASO DE PRUEBA (3)
ETLNCBIGD-201-001 Agregar un nuevo elemento valido a la lista de genes.
DESCRIPCIÓN: Verificar que se agrega un elemento validó a la lista de genes y su correspondiente
identificador en el NCBI). La prueba se efectuará en un entorno con un equipo de cómputo (PC) con
conexión a Internet, una conexión VPN a la UPV y el servicio Web de EUtils.
RESULTADO:
La lista de genes ahora muestra un nuevo elemento (figura 16 y 17).
Figura 16 Mensaje de obtención del identificador del NCBI
Figura 17 Lista con un elemento
OBSERVACIONES:
La aplicación tardó aproximadamente 2 segundos en agregar el elemento a la lista.
Capítulo 5: Plan experimental
pág. 88
CASO DE PRUEBA (4)
ETLNCBIGD-201-002 Agregar un nuevo elemento inválido a la lista de genes.
DESCRIPCIÓN: Verificar que no se agrega un elemento inválido a la lista de genes. La prueba se
efectuará en un entorno con un equipo de cómputo (PC) con conexión a Internet, una conexión VPN a la
UPV y el servicio Web de EUtils.
RESULTADO:
La lista de genes no muestra un nuevo elemento (figura 18).
Figura 18 Agregando un elemento invalido a la lista de genes
OBSERVACIONES:
La aplicación tardó aproximadamente 2 segundos en mostrar el mensaje de error.
CASO DE PRUEBA (5)
ETLNCBIGD-201-003 Eliminar un elemento de la lista de genes.
DESCRIPCIÓN: Verificar que se elimina un elemento de la lista de genes. La prueba se efectuará en un
entorno con un equipo de cómputo (PC) con conexión a Internet, una conexión VPN a la UPV y el
servicio Web de EUtils.
RESULTADO:
La lista de genes ahora no muestra el elemento eliminado (figura 19).
Figura 19 Elemento eliminado de la lista de genes
Capítulo 5: Plan experimental
pág. 89
OBSERVACIONES:
La aplicación tardó aproximadamente 1 segundos en mostrar la lista.
CASO DE PRUEBA (6)
ETLNCBIGD-201-004 Generar una lista de 10 elementos.
DESCRIPCIÓN: Verificar que se agregan 10 elementos valido a la lista de genes y su correspondiente
identificador en el NCBI y observar su tiempo de carga. La prueba se efectuó en un entorno con un equipo
de cómputo (PC) con conexión a Internet y una conexión VPN a la UPV y el servicio Web de EUtils.
RESULTADO:
La lista de genes muestra los 10 elementos que la conforman (figura 20).
Figura 20 Lista generada con 10 genes
Para comprobar los índices de los genes, estos se buscaron a través del motor de búsqueda de Entrez en el
NCBI. Se aplicaron límites de especie y genes conocidos, también se utilizó el siguiente filtro44 : Homo
Sapiens[Organism] AND NR1I3[Gene Name] OR CD46[Gene Name] OR ST3GAL3[Gene Name] OR
PTGER3[Gene Name] OR ENSA[Gene Name] OR MRPL55[Gene Name] OR MUC1[Gene Name] OR
OSBPL9[Gene Name] OR MUTYH[Gene Name] OR ADAM15[Gene Name], dando como resultado 10
44 Entrez permite a los usuarios el uso de límites y filtros para realizar búsquedas avanzadas y obtener mejores resultados (http://www.ncbi.nlm.nih.gov/bookshelf/br.fcgi?book=helpentrez&part=EntrezHelp )
Capítulo 5: Plan experimental
pág. 90
genes encontrados (figura 21).
Figura 21 Comprobación de los 10 genes insertados mediante Entrez NCBI
OBSERVACIONES:
La aplicación tardó aproximadamente 30 segundos en generar la lista.
CASO DE PRUEBA (7)
ETLNCBIGD-201-005 Generar una lista de 20 elementos.
DESCRIPCIÓN: Verificar que se agregan 20 elementos validos a la lista de genes y su correspondiente
identificador en el NCBI y observar su tiempo de carga. La prueba se efectuó en un entorno con un equipo
de cómputo (PC) con conexión a Internet y una conexión VPN a la UPV y el servicio Web de EUtils.
RESULTADO:
La lista de genes muestra los 20 elementos que la conforman, los diez anteriores más otros diez, en la
figura 22 se muestra el último de los genes agregados (ADAM15) más otros 10 nuevos genes agregados a
la lista.
Capítulo 5: Plan experimental
pág. 91
Figura 22 Lista generada con 20 genes
Para comprobar los índices de los genes se buscaron en a través del motor de búsqueda de Entrez en el
NCBI Se aplicaron límites de especie y genes conocidos, también se utilizó el siguiente filtro: Homo
Sapiens[Organism] AND NR1I3[Gene Name] OR CD46[Gene Name] OR ST3GAL3[Gene Name] OR
PTGER3[Gene Name] OR ENSA[Gene Name] OR MRPL55[Gene Name] OR MUC1[Gene Name] OR
OSBPL9[Gene Name] OR MUTYH[Gene Name] OR ADAM15[Gene Name] OR TNFRSF25 [Gene
Name] OR CDC2L1 [Gene Name] OR CD1E [Gene Name] OR MIER1 [Gene Name] OR AGL [Gene
Name] OR TPM3 [Gene Name] OR PLEKHG5 [Gene Name] OR FCGR3A [Gene Name] OR ESRRG
[Gene Name] OR ELAVL4 [Gene Name] ,dando como resultado 20 genes encontrados (figura 23)
Figura 23 Comprobación de los 20 genes insertados mediante Entrez NCBI
Capítulo 5: Plan experimental
pág. 92
OBSERVACIONES:
La aplicación tardó aproximadamente 1 minuto en generar la lista.
CASO DE PRUEBA (8)
ETLNCBIGD-301-001 Cargar una lista de un elemento.
DESCRIPCIÓN: Validar el proceso automático de carga de los datos en la base de datos genoma
mediante la comparación de los resultados del proceso de extracción, transformación y carga de los datos
con los de la fuente correspondiente. La prueba se efectuará en un entorno con un equipo de cómputo
(PC) con conexión a Internet, una conexión VPN a la UPV y los servicios web de eFetchGene, eFetchSeq
y eFetchPubmed.
RESULTADO:
La carga correcta de los datos correspondientes al gen en la vista Transcription de la base de datos
genoma (figura 24).
Figura 24 Carga del gen NF1
Capítulo 5: Plan experimental
pág. 93
OBSERVACIONES:
La aplicación tardó aproximadamente 1 minutos en cargar el gen.
CASO DE PRUEBA (9)
ETLNCBIGD-301-002 Cargar una lista de 10 elementos.
DESCRIPCIÓN: Validar el proceso automático de carga de los datos correspondientes a 10 genes en la
base de datos genoma mediante la comparación de los datos cargados con los de la fuente
correspondiente. Y observar el tiempo de carga. La prueba se efectuará en un entorno con un equipo de
cómputo (PC) con conexión a Internet, una conexión VPN a la UPV y los servicios web de eFetchGene,
eFetchSeq y eFetchPubmed.
RESULTADO:
La carga correcta de los datos correspondientes al gen en la vista Transcription de la base de datos
genoma (figura 25 y 26).
Figura 25 Cargando 10 genes en la base de datos genoma
Capítulo 5: Plan experimental
pág. 94
Figura 26 Comprobación de la inserción de 10 genes en la base de datos genoma
OBSERVACIONES:
La aplicación tardó aproximadamente 6 minutos en cargar la lista.
CASO DE PRUEBA (10)
ETLNCBIGD-301-003 Cargar una lista de 20 elementos.
DESCRIPCIÓN: Validar el proceso automático de carga de los datos correspondientes a 20 genes en la
base de datos genoma mediante la comparación de los datos cargados con los de la fuente correspondiente
y observar el tiempo de carga. La prueba se efectuará en un entorno con un equipo de cómputo (PC) con
conexión a Internet, una conexión VPN a la UPV y los servicios web de eFetchGene, eFetchSeq y
eFetchPubmed.
RESULTADO:
La carga correcta de los datos correspondientes al gen en la vista Transcription de la base de datos
genoma y el tiempo de ejecución (figura 27 y 28).
Capítulo 5: Plan experimental
pág. 95
Figura 27 Cargando 20 genes en la base de datos genoma
Figura 28 Comprobación de la inserción de 20 genes en la base de datos genoma
OBSERVACIONES:
La aplicación tardó aproximadamente 10 minutos en cargar la lista.
Capítulo 5: Plan experimental
pág. 96
5.2 Análisis de resultados
Los resultados de las pruebas de conexión con el servidor de la base de datos genoma y las
pruebas de generación de la lista de genes, las cuales fueron realizadas principalmente para
demostrar la funcionalidad de la aplicación, realizadas de acuerdo con el plan de pruebas
(Anexo B). Las pruebas mencionadas anteriormente son previas a inicializar el proceso de carga
automático y los resultados fueron satisfactorios.
Las pruebas correspondientes a la carga de los datos, fueron realizadas satisfactoriamente.
Uno de los factores importantes realizados en las pruebas fue el tiempo de carga de la lista de
genes, para observar en una forma más amplia el desempeño de las pruebas de carga se
realizaron dichas pruebas 5 veces cambiando el factor de ancho de banda, para observar el
desempeño de las mismas. Dichas pruebas se muestran en la tabla 10.
Tabla 10 Resultados de las pruebas de carga de datos
Número de genes a
cargar
Tiempo promedio de
carga con un ancho de
banda de 512 Kbps
Tiempo promedio de
carga con un ancho de
banda de 1 Mbps
Tiempo promedio de
carga con un ancho de
banda de 2 Mbps
1 1.9 1.5 1.1
10 10.2 8.3 6.3
20 18.8 15.2 11.1
Con este análisis podemos concluir que es recomendable contar con un ancho de banda
superior a 1 Mbps para obtener mejores resultados y que con forme se aumente el ancho de
banda el tiempo de carga es menor.
Figura
Si observamos la gráfica
el cual, el aumento del ancho de banda no representar
la carga, por lo que se propone para t
transformación y de carga.
Arquitecturas propuestas
La integración de bases de datos distribuidas es un campo de enorme relevancia debido a la
importancia de almacenar y compartir datos en la comunidad científica. Particularmente en el
área de la biología molecular, se está pasando por una etapa de explosión en
desarrollo de herramientas que permitan analizar muy grandes cantidades de información.
este trabajo se propone una metodología para la generación de un prototipo de carga para la base
de datos genoma. Esta metodología utiliza técnicas de
base de datos genoma.
Dada la característica evolutiva de dicha
desarrollo de este trabajo de investigación
integral a la base de datos genoma
módulos de carga y aprovechando la experiencia adquirida para el desarrollo de nuevos módulos.
Capítulo 5: Plan
pág. 97
Figura 29 Análisis de las pruebas de carga de datos
fica de la figura 29, podemos observar que se llegar
del ancho de banda no representará un aumento significa
lo que se propone para trabajos futuros optimizar los métodos de extracción,
como resultado del trabajo de investigación
La integración de bases de datos distribuidas es un campo de enorme relevancia debido a la
almacenar y compartir datos en la comunidad científica. Particularmente en el
área de la biología molecular, se está pasando por una etapa de explosión en
desarrollo de herramientas que permitan analizar muy grandes cantidades de información.
este trabajo se propone una metodología para la generación de un prototipo de carga para la base
. Esta metodología utiliza técnicas de ETL adaptadas a las necesidades de la
Dada la característica evolutiva de dicha base de datos y el límite
desarrollo de este trabajo de investigación, se proponen una arquitectura dinámica que de soporte
genoma, utilizando nuestra metodología para el diseño de nuevos
ovechando la experiencia adquirida para el desarrollo de nuevos módulos.
Capítulo 5: Plan experimental
podemos observar que se llegará a un punto en
un aumento significativo en el tiempo de
rabajos futuros optimizar los métodos de extracción,
como resultado del trabajo de investigación
La integración de bases de datos distribuidas es un campo de enorme relevancia debido a la
almacenar y compartir datos en la comunidad científica. Particularmente en el
área de la biología molecular, se está pasando por una etapa de explosión en I+D para el
desarrollo de herramientas que permitan analizar muy grandes cantidades de información. En
este trabajo se propone una metodología para la generación de un prototipo de carga para la base
adaptadas a las necesidades de la
límite de tiempo para el
una arquitectura dinámica que de soporte
, utilizando nuestra metodología para el diseño de nuevos
ovechando la experiencia adquirida para el desarrollo de nuevos módulos.
Capítulo 5: Plan experimental
pág. 98
A demás de otra arquitectura para consultas en lenguaje natural (LN) sobre la literatura contenida
en la base de datos genoma. Ambas arquitecturas se describen a continuación.
Arquitectura ETL para la base de datos genoma
La arquitectura dinámica para el soporte de carga que se muestra en el diagrama 15, se presenta
mediante un diagrama de actividad, en donde cada actividad corresponde a un módulo con
actividades propias que en conjunto forman la arquitectura. A continuación se describe cada uno
de los módulos de la arquitectura:
• Source Extract Engine: se encarga de extraer los datos de las bases de datos y da como
resultado un archivo XML, que contiene un conjunto o subconjunto de los datos
contenidos en la fuente relacionados con un subconjunto de la base de datos genoma. Los
subconjuntos pueden ser tablas, vistas o cualquier parte a la que corresponden los datos
extraídos. Para desarrollar este módulo se puede tomar como referencia el módulo de
extracción-transformación desarrollado con nuestra metodología.
• Update Trigger Engine: se encarga de ejecutar automáticamente el módulo Source
Extract Engine cuando detecte alguna actualización en las bases de datos de las fuentes,
por lo que debe contar con un sistema de monitoreo que active las actualizaciones,
además de llevar el control de las mismas.
• XSLT Generation Engine: se encarga de generar un archivo XSLT para realizar la
transformación del modelo de datos entregado por el módulo Source Extract Engine a su
parte correspondiente del modelo de datos de la base de datos genoma. Para generar el
archivo XSLT primero se deben procesar los XSD o DTD de ambos (fuente y destino),
para generar el archivo de transformación correspondiente. Será capaz de enviar una
notificación al módulo XML Transformation Engine para especificar los archivos que se
utilizan para cierta transformación.
• XSD Reference Generate Engine: genera un archivo XSD o DTD donde se especifique el
modelo del subconjunto de la base de datos que corresponde a cada uno de los archivos
XML obtenidos del módulo Source Extract Engine. El subconjunto puede ser desde una
Capítulo 5: Plan experimental
pág. 99
tabla, una vista de la base de datos o cierta parte que se requiera cargar de la base de
datos genoma.
• XML Transformation Engine: se encarga de realizar la transformación de los datos
contenidos en el archivo XML entregado por el módulo Source Extract Engine, mediante
el archivo XSLT generado en el módulo XSLT Generation Engine, dando como resultado
un archivo XML que contiene los datos necesarios para cargar en la base de datos
genoma.
• Genome Load Engine: se encarga de cargar el archivo XML generado por el módulo XML
Transformation Engine en la base de datos genoma. De acuerdo con el diseño de
ETL[KIMBALL04] es recomendable especificar un lenguaje que ayude a cargar de
manera eficiente los datos. Si se declara el lenguaje, este debe ser tomado en cuenta a la
hora de generar el XSD o DTD, en donde especifica el modelo de datos a cargar o a la
hora de generar el XSLT. Para el desarrollo de este módulo se puede tomar como
referencia el módulo de carga desarrollado con nuestra metodología.
Capítulo 5: Plan experimental
pág. 100
Diagrama 15 Arquitectura ETL para la base de datos genoma
Arquitectura para consultas en lenguaje natural sobre la literatura contenida en la
base de datos genoma
Actualmente una de las necesidades que tienen los científicos durante sus investigaciones (en la
biología molecular ó genética) es la disposición de la información, especialmente al buscar entre
miles de artículos relacionados con un tema específico. Debido a esta necesidad se propone
como trabajo futuro una arquitectura para agregar las funcionalidades de búsqueda en los textos
literario, mediante técnicas utilizadas para el tratamiento del Lenguaje Natural (LN), que existen
actualmente, como búsquedas por sinónimos, palabras cercanas, variantes, etc.
En el diagrama 16 se presenta mediante un diagrama de actividad la arquitectura para
consultas sobre la literatura contenida en la base de datos genoma, donde cada actividad equivale
act Arquitectura ETL para genoma
Sou
rce
s
Source ExtractEngine
Update TriggerEngine
XML Source XML Reference
XSLT Source-Reference
XSLT GenerationEngine
XML TransformationEngine
Genome LoadEngine
«datastore»NCBI
«datastore»HGMD
«datastore»MutDB
«datastore»Other´s
XSD ReferenceGenerate Engine
«datastore»DB Genome
User DB administrator
1
1
2
XSD Reference
2
Capítulo 5: Plan experimental
pág. 101
a un módulo esencial dentro de la arquitectura. A continuación se describe cada uno de los
módulos de la arquitectura:
• Ontology Engine: realiza un procesamiento del resumen de cada artículo contenido en la
base de datos genoma para generar una ontología con metadatos que permitan realizar
búsquedas utilizando técnicas de la web semántica. Cada una ontología generada es
almacenada en un repositorio de ontologías.
• SPARQL Query Engine: transforma una consulta realizada por el usuario sobre la
literatura de la base de datos, con la ayuda del Stanford Parser, a una consulta en el
lenguaje SPARQL para poder ejecutarla sobre el repositorio de ontologías y obtener los
artículos que contienen esa información.
• The Stanford Parser: ayuda al módulo SPARQL Query Engine en el procesamiento de la
consulta introducida por el usuario. Cabe mencionar que puede usarse otro parser si es
requerido.
Capítulo 5: Plan experimental
pág. 102
Diagrama 16 Arquitectura para consultas en lenguaje natural sobre la literatura contenida en la
base de datos genoma
En el diagrama 17 podemos observar cómo interactúan ambas arquitecturas con la base
de datos genoma. Estas arquitecturas son el resultado de la colaboración entre el Departamento
de Sistemas Distribuidos (DSD) del Centro Nacional de Investigación y Desarrollo Tecnológico
(CENIDET) y el del Centro de Investigación en Métodos de Producción Software (PROS) de la
Universidad Politécnica de Valencia (UPV).
act Arquitectura LN para genoma
«datastore»DB Genome
OntologyEngine
SPARQL QueryEngine
«datastore»Ontology
Repository
User literature query
The StanfordParser
Capítulo 5: Plan experimental
pág. 103
Diagrama 17 Vista de las arquitecturas de carga y consultas literarias
act Arquitecturas para genoma
Sou
rce
s
Source ExtractEngine
Update TriggerEngine
XML Source XML Reference
XSLT Source-Reference
XSLT GenerationEngine
XML TransformationEngine
Genome LoadEngine
«datastore»NCBI
«datastore»HGMD
«datastore»MutDB
«datastore»Other´s
XSD ReferenceGenerate Engine
«datastore»DB Genome
OntologyEngine
SPARQL QueryEngine
«datastore»Ontology
Repository
User DB administrator
User literature query
1
1
2
XSD Reference
The StanfordParser
2
pág. 104
Capítulo 6: Conclusiones y trabajos futuros
En este capítulo se describen las conclusiones de este trabajo, así como las aportaciones y
trabajos futuros. El capítulo se encuentra organizado en los siguientes subtemas:
6.1 Conclusiones.
6.2 Aportaciones.
6.3 Trabajos futuros.
Capítulo 6: Conclusiones y trabajos futuros
pág. 105
6.1 Conclusiones
El trabajo realizado formó parte de un amplio proyecto multidisciplinario para el estudio del
genoma humano que actualmente lleva a cabo el grupo de Modelado Conceptual del Genoma
Humano del Centro de Investigación ProS en la Universidad Politécnica de Valencia, España.
Este grupo busca implementar, a partir de técnicas de modelado conceptual y de métodos
avanzados de ingeniería de software orientados a la calidad, el diseño y desarrollo de sistemas de
información en el dominio de la genética.
Un elemento fundamental de este proyecto es el desarrollo de una base de datos
denominada genoma la cual se constituye en un repositorio unificado que recupera información
desde diversas bases de datos heterogéneas con datos e información del genoma.
En este trabajo de tesis se desarrolló una metodología, que incluye una herramienta para
la carga y actualización de registros o vistas de las bases de datos fuentes para extraer sólo los
datos correspondientes al esquema conceptual de la base de datos genoma, la cual abre la
posibilidad de extender o generar nuevos módulos de carga que se puedan requerir en el futuro.
A partir de los casos de prueba descritos en el capítulo 5, se desmostró la viabilidad de esta
metodología, proveyendo a la base de datos genoma con un primer soporte de carga para la vista
Transcription.
Para la integración de los datos requeridos por la base de datos genoma, se aplicaron
técnicas de ETL, las cuales son empleadas para el diseño de aplicaciones Data Warehouse, donde
la mayor complejidad se presenta cuando es requerida la extracción de datos a partir de fuentes
heterogéneas. En nuestro caso, aunado a esta complejidad, y dado que el acceso a las bases de
datos del NCBI es través de servicios Web, fue necesario desarrollar técnicas específicas para
recuperar las vistas y procesarlas para extraer los datos requeridos, antes de realizar la carga.
Se propone como trabajo futuro una arquitectura dinámica, que permita adaptarse a
nuevos cambios evolutivos en la estructura de la base de datos genoma, mediante la
reconfiguración de los esquemas de transformación y carga que se encuentran basados en XML.
Además de otra arquitectura para el soporte de consultas utilizando tencicas para el tratamiento
Capítulo 6: Conclusiones y trabajos futuros
pág. 106
del lenguaje natural sobre la literatura contenida en la base de datos, con el objetivo de facilitar la
investigación a los científicos que interactúen con la base de datos genoma.
Se constituyó una plataforma de conocimientos básicos, en genómica, bioinformática y
en bases de datos en biología molecular, los cuales son totalmente nuevos en el Departamento de
Ciencias Computacionales del CENIDET, y pueden posibilitar el desarrollo de nuevos trabajos
en este campo.
6.2 Aportaciones
• Un análisis sobre la estructura y mecanismos de acceso a las bases de datos del NCBI, así
como de otros centros de investigación como el EBI y HGMD, los cuales permiten
principalmente el acceso a las bases de datos a través de servicios web.
• Un análisis sobre las bases de datos del NCBI junto con una clasificación donde se
identifican las bases de datos que contienen información relevante a la base de datos
genoma.
• Una metodología para la administración de listas de genes, la extracción-transformación
de los datos de la fuente y la carga en la base de datos genoma.
• Un Prototipo para la para la extracción de datos del NCBI a través de servicios web para
la carga de datos automática en la base de datos genoma.
• Un Análisis sobre de herramientas ETL utilizadas en el diseño de Data Warehouse, donde
se observo principalmente la característica de lenguaje de implementación y el soporte
para integrar datos provenientes de servicios web.
• Una propuesta de arquitectura dinámica para la carga de datos en la base de datos
genoma.
• Una propuesta de arquitectura para consultas en lenguaje natural sobre la literatura
contenida en la base de datos genoma.
• Se realizaron valiosas aportaciones en la elaboración del articulo “Enforcig Conceptual
Modeling to Improve the Understanding of Human Genome”, donde se cita una mención
del autor de esta tesis en la sección de agradecimientos.
Capítulo 6: Conclusiones y trabajos futuros
pág. 107
• Se realizaron valiosas aportaciones en la elaboración del articulo “Enforcig Conceptual
Modeling to Improve the Understanding of Human Genome”, publicado en el Data
Integration in the Life Siences WorkShop (DILS) 2009, Manchester, UK, 2009. Donde se
cita al autor de esta tesis en la sección de agradecimientos.
• El material obtenido de esta investigación permitió la redacción del artículo: “Recovery,
Processing and Loading of Genomic data From Heterogeneous Databases into a Database
Based on a Conceptual Model of the Human Genome”, J. L. Rodríguez, J. Ortiz, H.
Estrada, O. Pastor, to submit to: 2nd International Workshop on Software Engineering in
Health Care, An ICSE 2010 Workshop, Cape Town, South Africa, May 3-4 2010.
6.3 Trabajos futuros
Se propone como trabajos futuros el desarrollo de las dos arquitecturas propuestas en la
sección 5.2 Análisis de resultados del capítulo 5 Plan experimental. A continuación se
mencionan los módulos que correspondientes a dichas arquitecturas.
• Arquitectura dinámica para la carga de datos en la base de datos genoma.
o Source Extract Engine.
o Update Trigger Engine.
o XSLT Generation Engine.
o XSD Reference Generate Engine.
o XML Transformation Engine.
o Genome Load Engine.
• Arquitectura para consultas en lenguaje natural sobre la literatura contenida en la base de
datos genoma.
o Ontology Engine.
o SPARQL Query Engine.
o The Stanford Parser.
pág. 108
Anexo A Escenarios de los casos de uso
En este anexo se muestran las tablas en las que se describen los escenarios para los casos de uso
mencionados en el capítulo 3.
Anexo A Escenarios de los casos de uso
pág. 109
Tabla 11 Escenarios para el caso de uso "Cargar lista de genes"
ID: CU 1 Nombre del Caso de Uso:
Cargar lista de genes.
Autor: Rodríguez Pliego José Luis
Última Modificación:
Rodríguez Pliego José Luis
Fecha de creación: 1-Abril-2009 Fecha de la última modificación:
17-Julio-2009
Actores: Usuario
Description: Se encarga de obtener los datos de una lista de genes y almacenarlos en la base de datos genoma.
Precondiciones: Conexión estable a Internet. Conexión estable con la base de datos genoma. Servicios web de Entrez Utilities están disponibles
Pos condiciones: Datos almacenados correctamente en la base de datos genoma.
Escenario de éxito principal:
1. El módulo cargar lista de genes recibe la solicitud del usuario de generar una lista de genes mediante el apoyo del caso de uso 1.1.
2. El módulo cargar lista de genes recibe la solicitud del usuario de iniciar la obtención de los datos de la fuente NCBI mediante el apoyo del caso de uso 1.2.
3. El módulo cargar lista de genes informa al usuario acerca del estado actual del proceso en ejecución: obteniendo datos del gen y tipo de dato (vectores).
4. El módulo cargar lista de genes inicia el proceso de carga de los datos en la base de datos genoma mediante el apoyo del caso de uso 1.3.
5. El módulo de cargar lista de genes informa al usuario acerca del estado actual del proceso en ejecución: guardando datos del gen y tipo de dato (vectores).
6. El módulo de cargar lista de genes informa al usuario acerca del estado actual del proceso en ejecución: carga finalizada.
Escenario de fracaso 1: 1. El módulo cargar lista de genes recibe la solicitud del usuario de generar una lista de genes mediante el apoyo del caso de uso 1.1.
2. El módulo de cargar lista de genes no atiende correctamente la solicitud del usuario debido a un error generado en el caso de uso 1.1.
3. El módulo de cargar lista de genes muestra al usuario el error generado por el caso de uso 1.1.
Escenario de fracas 2: 1. El módulo cargar lista de genes recibe la solicitud del usuario de obtener los datos de cada gen de la lista de la fuente NCBI mediante el apoyo del caso de uso 1.2.
2. El módulo cargar lista de genes no atiende correctamente la solicitud del usuario debido a un error generado en el caso de uso 1.2.
3. El módulo de cargar lista de genes muestra al usuario el error generado por el caso de uso 1.2.
Escenario de fracaso 3: 1. El módulo cargar lista de genes inicia proceso de carga de los datos en la
Anexo A Escenarios de los casos de uso
pág. 110
base de datos genoma mediante el apoyo del caso de uso 1.3. 2. El módulo cargar lista de genes no atiende correctamente la solicitud del
usuario debido a un error generado en el caso de uso 1.3. 3. El módulo cargar lista de genes muestra al usuario el error generado por
el caso de uso 1.3.
Prioridad: Alta.
Suposiciones: Se supone que se tiene acceso a Internet.
Tabla 12 Escenarios para el caso de uso “Administrar lista de genes”
ID: CU 1.1 Nombre del Caso de Uso:
Administrar lista de genes.
Autor: Rodríguez Pliego José Luis
Última Modificación:
Rodríguez Pliego José Luis
Fecha de creación: 1-Abril-2009 Fecha de la última modificación:
17-Julio-2009
Actores: CU 1
Descripción: Se encarga de crear y llenar una lista de genes con identificadores válidos.
Precondiciones: Conexión estable a Internet. Conexión estable con la base de datos genoma.
Poscondiciones: Lista de genes válidos con su respectivo identificador.
Escenario de éxito principal:
1. El módulo administrar lista de genes crea una lista nueva de genes. 2. El módulo administrar lista de genes llena la lista de genes con los datos
obtenidos mediante el apoyo del caso de uso 1.1.1. 3. El módulo administrar lista de genes permite al usuario guardar la lista
de genes. 4. El módulo administrar lista de genes guarda la lista de genes en un
dispositivo de almacenamiento secundario. 5. El módulo administrar lista de genes informa al usuario de que la lista de
genes ha sido guardada correctamente.
Escenario de éxito alterno 1:
1. El módulo administrar lista de genes abre una lista de genes existente. 2. El módulo administrar lista de genes permite al usuario modificar la lista
de genes con los datos obtenidos mediante el apoyo del caso de uso 1.1.1. 3. El módulo administrar lista de genes permite al usuario guardar la lista
de genes. 4. El módulo administrar lista de genes guarda la lista de genes en un
dispositivo de almacenamiento secundario. 5. El módulo administrar lista de genes informa al usuario que la lista de
genes ha sido guardada correctamente.
Escenario de fracaso 1:
1. El módulo administrar lista de genes crea una lista nueva de genes. 2. El módulo administrar lista de genes no puede llenar la lista de genes con
los datos obtenidos mediante el apoyo del caso de uso 1.1.1.
Anexo A Escenarios de los casos de uso
pág. 111
3. El módulo administrar lista de genes informa al usuario que la lista no puede ser llenada.
Escenario de fracaso 2:
1. El módulo administrar lista de genes no puede abrir una lista de genes existente.
2. El módulo administrar lista de genes informa al usuario que la lista de genes ha sido no puede se puede abrir.
Escenario de fracaso 3:
1. El módulo administrar lista de genes crea o abre una lista de genes. 2. El módulo administrar lista de genes permite al usuario llenar o
modificar la lista de genes con los datos obtenidos mediante el apoyo del caso de uso 1.1.1.
3. El módulo administrar lista de genes permite al usuario guardar la lista de genes.
4. El módulo administrar lista de genes no puede guardar la lista de genes en un dispositivo de almacenamiento.
5. El módulo administrar lista de genes informa al usuario que la lista de genes no se puedo guardar.
Prioridad: Alta.
Suposiciones: Se supone que hay memoria suficiente en la PC cliente. Se supone que hay una lista de genes existente en la PC cliente.
Tabla 13 Escenarios para el caso de uso “Obtener identificador del gen en el NCBI para la vista
Transcription”
ID: CU 1.1.1 Nombre del Caso de Uso:
Obtener identificador del gen en el NCBI para Transcription View.
Autor: Rodríguez Pliego José Luis
Última Modificación:
Rodríguez Pliego José Luis
Fecha de creación: 05-Junio-2009 Fecha de la última modificación:
17-Julio-2009
Actores: CU 1.1 Servicio Web EUtils de la interface SOAP para Entrez Utilities Base de datos genoma
Descripción: Se encarga de obtener y validar cada elemento de la lista de genes.
Precondiciones: Conexión estable a Internet. Interface SOAP para Entrez Utilities disponible. Acceso a la base de datos genoma disponible.
Poscondiciones: Se obtiene el identificador del gen valido de la fuente NCBI.
Escenario de éxito principal:
1. El módulo obtener identificador del gen en el NCBI para Transcription View extrae el identificador del gen mediante el servicio Web Eutils de la interface SOAP para Entrez Utilities.
2. Si extrae el identificador del gen, el módulo obtener identificador del gen en el NCBI para Transcription View verifica los datos del gen obtenido
Anexo A Escenarios de los casos de uso
pág. 112
en la tabla LOG de la base de datos genoma. 3. El módulo obtener identificador del gen en el NCBI para Transcription
View devuelve un elemento validado al caso de uso 1.1.
Escenario de fracaso 1:
1. El módulo obtener identificador del gen en el NCBI para Transcription View solicita datos de un gen al servicio Eutils de la interface SOAP para Entrez Utilities.
2. El módulo obtener identificador del gen en el NCBI para Transcription View no recibe respuesta del servicio servicio Eutils de la interface SOAP para Entrez Utilities.
3. El módulo obtener identificador del gen en el NCBI para Transcription View informa al usuario que el servicio no está disponible.
Escenario de fracaso 2:
1. El módulo obtener identificador del gen en el NCBI para Transcription View solicita datos de un gen al servicio Eutils de la interface SOAP para Entrez Utilities.
2. El módulo obtener identificador del gen en el NCBI para Transcription View no puede verificar que los datos del gen obtenido no se encuentren en la base de datos genoma.
3. El módulo obtener identificador del gen en el NCBI para Transcription View informa al usuario que la base de datos genoma no está disponible.
Prioridad: Alta.
Suposiciones: Se supone que se tiene acceso a la base de datos genoma. Se supone que el servicio Web de Eutils está disponible.
Tabla 14 Escenarios del caso de uso “Obtener datos de cada gen de la lista de la fuente NCBI”
ID: CU 1.2
Nombre del Caso de
Uso:
Obtener datos de cada gen de la lista de la fuente NCBI.
Autor: Rodríguez Pliego José
Luis
Última
Modificación:
Rodríguez Pliego José
Luis
Fecha de creación: 1-Abril-2009 Fecha de la última modificación:
17-Julio-2009
Actores: CU 1
Descripción: Se encarga de obtener los datos de una lista de genes y almacenarlos en la base de datos genoma.
Precondiciones: Conexión estable a Internet.
Lista de genes con identificadores
Interface SOAP para Entrez Utilities disponible.
Poscondiciones: Datos de referencia de cada gen recuperados correctamente.
Escenario de éxito
principal:
1. El módulo obtener datos de cada gen de la lista de la fuente NCBI lee los datos de referencia de cada gen de la lista.
2. El módulo obtener datos de cada gen de la lista de la fuente NCBI extrae
Anexo A Escenarios de los casos de uso
pág. 113
la información correspondiente de cada gen de la interface SOAP para Entrez Utilities mediante el caso de uso 1.2.1.
3. El módulo obtener datos de cada gen de la lista de la fuente NCBI transforma los datos de tipo Transcription View en los vectores principal gene, secuencia principal, ARN, exón_intron y referencia mediante el caso de uso 1.2.2.
4. El módulo obtener datos de cada gen de la lista de la fuente NCBI informa sobre la información obtenida al caso de uso 1.
Escenario de fracaso 1: 1. El módulo obtener datos de cada gen de la lista de la fuente NCBI lee los datos de referencia de cada gen de la lista.
2. El módulo obtener datos de cada gen de la lista de la fuente NCBI no puede obtener la información solicitada la Interface SOAP para Entrez Utilities mediante el caso de uso 1.2.1.
3. El módulo obtener datos de cada gen de la lista de la fuente NCBI devuelve la información del error al caso de uso 1.
Prioridad: Alta.
Suposiciones: Se supone que se tiene acceso a internet.
Se supone que los servicios web de Eutils están disponibles.
Se supone que hay memoria suficiente en la PC cliente.
Tabla 15 Escenarios para el caso de uso “Cargar datos de cada gen de la lista”
ID: CU 1.3
Nombre del Caso de
Uso:
Cargar datos de cada gen de la lista.
Autor: Rodríguez Pliego José
Luis
Última
Modificación:
Rodríguez Pliego José
Luis
Fecha de 05-Junio-2009 Fecha de la última modificación:
17-Julio-2009
Actores: CU 1
Base de datos genoma.
Descripción: Se encarga de almacenar la información referente a cada gen de la lista en la base de datos genoma.
Precondiciones: Conexión estable a Internet.
Base de datos genoma. Datos extraídos y transformados de cada gen.
Poscondiciones: Datos almacenados correctamente en la base de datos genoma.
Escenario de éxito
principal:
1. El módulo cargar datos de cada gen de la lista recibe cada vector de cada gen.
2. El módulo cargar datos de cada gen de la lista carga cada vector de cada gen en la base de datos genoma correspondiente a Transcription View (LOG, GEN, BIBLIOGRAPHY_REFERENCE, REFERENCE_GENE, ALLELE, REFERENCE_ALLELE, TRANSCRIPTION_UNIT,
Anexo A Escenarios de los casos de uso
pág. 114
SEGMENT, REFERENCE_SEGMENT, SPLICED_TRANSCRIPT, REFERENCE_SPLICED_TRANSCRIPT) mediante el caso de uso 1.3.1.
3. El módulo cargar datos de cada gen de la lista devuelve la confirmación de que la inserción se realizó correctamente.
Escenario de fracaso 1: 1. El módulo cargar datos de cada gen de la lista recibe cada dato de referencia de cada gen.
2. El módulo cargar datos de cada gen de la lista no puede agregar cada dato de referencia de cada gen en la base de datos Genoma.
3. El módulo cargar datos de cada gen de la lista devuelve un mensaje de error de inserción en la base de datos al caso de uso 1.
Prioridad: Alta.
Suposiciones: Se supone que se tiene acceso a la base de datos genoma.
pág. 115
Anexo B Plan de pruebas ETLNCBIGD
En este anexo se describe el documento del plan de pruebas diseñado para evaluar la herramienta
desarrollada mediante la metodología propuesta, el cual se realizó siguiendo el estándar 829 de la
IEEE [IEEE829].
Anexo B Plan de pruebas ETLNCBIGD
pág. 116
Plan de pruebas ETLNCBIGD
Descripción del identificador:
ETL: Extract, Transform, and Load
NCBI: National Center for Biotechnology Information.
GD: Genoma Database
Introducción
Este documento define el plan de pruebas basado en el estándar IEEE 829 para pruebas de software, que permitirá verificar la funcionalidad de la ETLNCBIGD que es una herramienta para la carga automática de la vista Transcription de la bases de datos genoma mediante una lista de genes. ETLNCBIGD fue desarrollada utilizando la metodología propuesta en esta tesis.
ETLNCBIGD consiste en tres módulos principales:
1. Administrar lista de genes: Tiene como objetivo obtener una lista de genes con sus respectivos identificadores.
2. Extracción (NCBI)-Transformación (vista Transcription): Tiene como objetivo enviar en una trama los datos con la información necesaria para realizar una solicitud al servidor, así como interpretar la trama de respuesta del servidor.
3. Carga en la vista Trasncription: Tiene como objetivo cargar los datos extraídos y transformados de las bases de datos del NCBI a la base de datos genoma
La hipótesis nula a probar es la siguiente:
No se puede automatizar la carga de datos de una base de datos basada en un modelo conceptual del genoma humano, a partir de bases de datos heterogéneas.
La hipótesis alterna es:
Se puede automatizar la carga de datos de una base de datos basada en un modelo conceptual del genoma humano, a partir de bases de datos heterogéneas.
Aparte de este punto 1 de introducción, el presente documento contiene los siguientes puntos:
2. Descripción del plan 3. Casos de Prueba 4. Procedimientos de Pruebas. 5. Resultado de Pruebas
Anexo B Plan de pruebas ETLNCBIGD
pág. 117
2. Descripción del Plan
2.1. Características a ser probadas
El presente plan de pruebas contiene la descripción de los casos de prueba definidos con el fin de validar y verificar que la herramienta generada por la metodología propuesta cumple con los requisitos para cargas automáticas de la base de datos genoma mediante una lista de genes.
2.2. Características excluidas de las pruebas
� No se dará prioridad al diseño de interfaz de las aplicaciones que se utilicen para probar la herramienta de carga.
� Habrá casos en que falte información en la fuente, reflejándose en la base de datos. La herramienta no asegura la carga completa de todos los campos de las tablas relacionadas.
� No se probaran individualmente los módulos de extracción transformación y carga por separado, ya que estos módulos realizan actividades automáticas.
2.3. Enfoque:
Debido a que las mediciones son principalmente de funcionalidad, la herramienta se probará ejecutando las funciones permitidas al usuario. Las cuales serán solicitudes del usuario que ejecutan funcionalidades principales para realizar la carga en la base de datos.
Ya que se trata de una herramienta de carga automática las funcionalidades principales a probar son la generación de una lista de genes y la ejecución del proceso automático de carga.
2.4 Criterio pasa/ no pasa de casos de prueba.
En la descripción de los casos de prueba, se detallarán los resultados esperados para cada uno de los casos. Se considerará que una prueba ha pasado con éxito cuando los resultados esperados coincidan con los descritos en el caso de prueba.
En caso de no coincidencia, se analizarán las causas y se harán las modificaciones necesarias hasta que se cumplan con los resultados esperados.
2.5. Criterios de suspensión y requerimientos de reanudación.
En ningún caso se suspenderán definitivamente las pruebas. Cada vez que se presente que el caso no pasa una prueba, inmediatamente se procederá a evaluar y corregir el error, permaneciendo en la prueba de este caso hasta que ya no se presenten dificultades con él.
2.6. Tareas de pruebas.
Las tareas a desarrollar para preparar y aplicar las pruebas (tabla 16)
Tabla 16 Tareas a desarrollar para preparar y aplicar las pruebas
Tarea Precedente Habilidades especiales Responsabilidades 1. Preparación del plan de pruebas.
Terminación del análisis y diseño de ETLNCBIGD
Conocimiento sobre la metodología propuesta en esta tesis, la herramienta desarrollada y del IEEE Std. 829.
Autor de esta tesis
Anexo B Plan de pruebas ETLNCBIGD
pág. 118
2. Preparación del diseño de pruebas.
Tarea 1 Conocimiento sobre la estructura de ETLNCBIGD, sus clases y métodos la interfaz al usuario y del IEEE Std. 829.
Autor de esta tesis
3. Preparación de los casos de prueba.
Tarea 2 Conocimiento básico de genética y de la interfaz al usuario de la herramienta.
Autor de esta tesis
4. Aplicación de pruebas. Tarea 3 Conocimiento del entorno y de la interfaz al usuario para su ejecución.
Autor de esta tesis
5. Resolver los incidentes de pruebas.
Tarea 4 Conocimiento del lenguaje de programación C#, de los servicios web, de herramientas ETL, de base de datos.
Autor de esta tesis
6. Evaluación de resultados.
Tarea 4 Tarea 5
Conocimiento de las preguntas de investigación, la hipótesis de prueba, y los objetivos de esta tesis.
Autor de esta tesis
2.7. Liberación de pruebas.
La entrada especificada y la salida esperada en cada caso de prueba, serán suficientes para la comprobación del objetivo alcanzado y por lo tanto para la aceptación de las pruebas.
2.8. Requisitos ambientales.
Las características y propiedades físicas (tabla 17) y lógicas (tabla 18) requeridas para el ambiente de pruebas, son las siguientes:
Tabla 17 Requisitos de Hardware para las pruebas
Equipo Descripción PC de Escritorio Procesador Intel P4 o superior.
512M de memoria RAM o superior. 80G en Disco duro. Windows XP
Servidor Procesador Intel P4 o superior. 2GB de memoria RAM o superior. Cuota de 50G en Disco duro. Windows XP
Infraestructura de Red Banda ancha de 512 MBits o superior con acceso a Internet
Tabla 18 Requisitos de Software para las pruebas
Herramientas Interfaz SOAP para Entrez Utilities
- EUtils - eFetchGene - eFetchSeq - eFetchPubmed
Conexión VPN a la UPV Microsoft .NET Framework 3.5 SP1 Oracle 9i
Anexo B Plan de pruebas ETLNCBIGD
pág. 119
2.9 Responsabilidades.
Toda la responsabilidad de las pruebas recae en el autor de la tesis.
2.10 Riesgos y contingencias.
� Falta de tiempo: El tiempo es un factor importante que genera incertidumbre a la hora de aplicar las pruebas, por lo que se tomarán como mínimo 10 casos de prueba, si el tiempo lo permite se extenderán las pruebas a otros casos, principalmente hacia la carga de listas de genes más grandes.
� Todas las fallas que se pudieran presentar en el transcurso del desarrollo de las pruebas deberán ir resolviéndose de manera iterativa por el responsable de esta tesis, hasta que la falla no produzca más.
3. Casos de Pruebas.
3.1 Características a probar
La siguiente lista define las características a ser probadas:
� Conexión con el servidor de la base de datos genoma. Se verificara el funcionamiento del módulo que configura la conexión con el servidor mediante la inserción de datos de conexión validos e inválidos.
� Generación de la lista de genes: Se verificara la generación de una lista de genes con su respectivo identificador en el NCBI identificándolos a través de la aplicación Web Entrez del NCBI para que los datos extraídos sean correctos.
� Carga de los datos: se verificara la carga en el servidor mediante SQLDeveloper y se validaran los valores mediante la consulta manual en la base de datos de Entrez Gene, indicando que los datos se han cargado correctamente.
3.2 Conexión con el servidor de la base de datos genoma
ETLNCBIGD-101 Pruebas de conexión con el servidor de la base de datos genoma.
ETLNCBIGD-101-001 Probar conexión con la base de datos genoma utilizando datos inválidos.
ETLNCBIGD-101-002 Probar conexión con la base de datos genoma utilizando datos validos.
3.3 Pruebas de generación de la lista de genes
ETLNCBIGD-201 Pruebas de generación de la lista de genes.
ETLNCBIGD-201-001 Agregar un nuevo elemento valido a la lista de genes.
ETLNCBIGD-201-002 Agregar un nuevo elemento invalido a la lista de genes.
ETLNCBIGD-201-003 Eliminar un elemento de la lista de genes.
ETLNCBIGD-201-004 Generar una lista de 10 elementos.
Anexo B Plan de pruebas ETLNCBIGD
pág. 120
ETLNCBIGD-201-005 Generar una lista de 20 elementos.
3.4 Pruebas para la carga de los datos.
ETLNCBIGD -301-Pruebas para la carga de los datos.
ETLNCBIGD-301-001 Cargar una lista de un elemento.
ETLNCBIGD-301-002 Cargar una lista de 10 elementos.
ETLNCBIGD-301-003 Cargar una lista de 20 elementos.
4. Procedimiento de Pruebas
Este capítulo contiene la descripción de los procedimientos de pruebas correspondientes a los distintos casos de prueba que conforman el presente plan de pruebas. Los distintos casos de pruebas se encuentran organizados en grupos de pruebas cuyo objetivo es validar y verificar una determinada funcionalidad de la herramienta de carga. Cada uno de los casos de pruebas está dirigido a la validación y verificación de una funcionalidad.
Para cada uno de los grupos de pruebas se describe el propósito del grupo de pruebas, el entorno de prueba necesario, los distintos conjuntos de pruebas que lo conforman. Para cada uno de los casos de prueba se describe el propósito del caso, el entorno necesario para la ejecución del caso, el procedimiento de la prueba y los resultados esperados.
En general, los casos de prueba dentro de un grupo de pruebas deberán ejecutarse en el orden de su descripción.
4.1 ETLNCBIGD-101 Pruebas de conexión con el servidor de la base de datos genoma.
4.1.1 Propósito
Verificar que el módulo configurar conexión con el servidor de la base de datos funcione correctamente.
4.1.2 Entorno de prueba.
Para la ejecución de los casos de prueba contenidos en este grupo se utilizarán los siguientes elementos:
• PC con conexión a Internet. • Conexión VPN a la UPV.
4.1.3 ETLNCBIGD-101-001 Probar conexión con la base de datos genoma utilizando datos inválidos.
4.1.3.1 Propósito
Verificar que los datos inválidos no permiten establecer una conexión con el servidor de la base de datos genoma.
Anexo B Plan de pruebas ETLNCBIGD
pág. 121
4.1.3.2 Entorno de prueba.
La prueba se efectuará en un entorno con un equipo de cómputo (PC) con conexión a Internet y una conexión VPN a la UPV.
4.1.3.3 Proceso
1. Ejecutar la herramienta de carga 2. Ejecutar la función de configurar conexión con la base de datos 3. Introducir datos inválidos en los campos que establecen los parámetros de conexión
correspondientes. 4. Ejecutar la funcionalidad de probar conexión.
4.1.3.4 Resultado esperado.
Un mensaje en pantalla que indique el error generado debido a los datos inválidos.
4.1.4 ETLNCBIGD-101-001 Probar conexión con la base de datos genoma utilizando datos validos.
4.1.4.1Propósito
Verificar que los datos validos permiten establecer una conexión con el servidor de la base de datos genoma.
4.1.4.2 Entorno de prueba.
La prueba se efectuará en un entorno con un equipo de cómputo (PC) con conexión a Internet y una conexión VPN a la UPV.
4.1.4.3. Proceso
1. Ejecutar la herramienta de carga 2. Ejecutar la función de configurar conexión con la base de datos 3. Introducir datos validos en los campos que establecen los parámetros de conexión
correspondientes. 4. Ejecutar la funcionalidad de probar conexión.
4.1.4.4 Resultado esperado.
Un mensaje en pantalla que indique que la prueba de conexión es correcta debido al uso de datos validos.
4.2 ETLNCBIGD-201 Pruebas de generación de la lista de genes
4.2.1 Propósito
Verificar que el módulo administrar lista de genes funcione correctamente.
Anexo B Plan de pruebas ETLNCBIGD
pág. 122
4.2.2 Entorno de prueba.
Para la ejecución de los casos de prueba contenidos en este grupo se utilizarán los siguientes elementos:
• PC con conexión a Internet. • Conexión VPN a la UPV.
• Servicio Web EUtils.
4.2.3 ETLNCBIGD-201-001 Agregar un nuevo elemento valido a la lista de genes.
4.2.3.1 Propósito
Verificar que se agrega un elemento valido a la lista de genes y su correspondiente identificador en el NCBI.
4.2.3.2 Entorno de prueba.
La prueba se efectuará en un entorno con un equipo de cómputo (PC) con conexión a Internet, una conexión VPN a la UPV y el servicio Web de EUtils.
4.2.3.3 Proceso
1. Ejecutar la herramienta de carga 2. Ejecutar la función de administrar lista de genes. 3. Introducir nombre de gen valido para agregar a la lista de genes. 4. Ejecutar la funcionalidad de agregar nuevo elemento.
4.2.3.4 Resultado esperado.
La lista de genes ahora muestra un nuevo elemento.
4.2.4 ETLNCBIGD-201-002 Agregar un nuevo elemento inválido a la lista de genes.
4.2.4.1 Propósito
Verificar que no se agrega un elemento inválido a la lista de genes.
4.2.4.2 Entorno de prueba.
La prueba se efectuará en un entorno con un equipo de cómputo (PC) con conexión a Internet, una conexión VPN a la UPV y el servicio Web de EUtils.
4.2.4.3 Proceso
1. Ejecutar la herramienta de carga 2. Ejecutar la función de administrar lista de genes. 3. Introducir nombre de gen inválido para agregar a la lista de genes. 4. Ejecutar la funcionalidad de agregar nuevo elemento.
Anexo B Plan de pruebas ETLNCBIGD
pág. 123
4.2.4.4 Resultado esperado.
La lista de genes no muestra un nuevo elemento.
4.2.5 ETLNCBIGD-201-003 Eliminar un elemento de la lista de genes.
4.2.5.1 Propósito
Verificar que se elimina un elemento de la lista de genes.
4.2.5.2 Entorno de prueba.
La prueba se efectuará en un entorno con un equipo de cómputo (PC) con conexión a Internet, una conexión VPN a la UPV y el servicio Web de EUtils.
4.2.5.3 Proceso
1. Ejecutar la herramienta de carga 2. Ejecutar la función de administrar lista de genes. 3. Seleccionar el elemento a eliminar de la lista de genes. 4. Teclear la tecla suprimir.
4.2.5.4 Resultado esperado.
La lista de genes ahora no muestra el elemento eliminado.
4.2.6 ETLNCBIGD-201-004 Generar una lista de 10 elementos.
4.2.6.1 Propósito
Verificar que se agregan 10 elementos valido a la lista de genes y su correspondiente identificador en el NCBI. Con la finalidad de observar su tiempo de carga.
4.2.6.2 Entorno de prueba.
La prueba se efectuará en un entorno con un equipo de cómputo (PC) con conexión a Internet, una conexión VPN a la UPV y los servicios web de eFetchGene, eFetchSeq y eFetchPubmed.
4.2.6.3 Proceso
1. Ejecutar la herramienta de carga 2. Ejecutar la función de administrar lista de genes. 3. Introducir nombre de gen valido para agregar a la lista de genes. 4. Ejecutar la funcionalidad de agregar nuevo elemento. 5. Repetir los pasos 3 y 4 10 veces.
4.2.6.4 Resultado esperado.
La lista de genes muestra los 10 elementos que la conforman.
Anexo B Plan de pruebas ETLNCBIGD
pág. 124
4.2.7 ETLNCBIGD-201-005 Generar una lista de 20 elementos.
4.2.7.1 Propósito
Verificar que se agregan 20 elementos validos a la lista de genes y su correspondiente identificador en el NCBI. Con la finalidad de observar su tiempo de carga.
4.2.7.2 Entorno de prueba.
La prueba se efectuará en un entorno con un equipo de cómputo (PC) con conexión a Internet, una conexión VPN a la UPV y los servicios web de eFetchGene, eFetchSeq y eFetchPubmed.
4.2.7.3 Proceso
1. Ejecutar la herramienta de carga 2. Ejecutar la función de administrar lista de genes. 3. Introducir nombre de gen valido para agregar a la lista de genes. 4. Ejecutar la funcionalidad de agregar nuevo elemento. 5. Repetir los pasos 3 y 4 20 veces.
4.2.7.4 Resultado esperado.
La lista de genes muestra los 20 elementos que la conforman.
4.3 ETLNCBIGD-301-Pruebas para la carga de los datos.
4.3.1 Propósito
Verificar que el módulo cargar datos en la base de datos genoma funcione correctamente.
4.3.2 Entorno de prueba.
Para la ejecución de los casos de prueba contenidos en este grupo se utilizarán los siguientes elementos:
• PC con conexión a Internet. • Conexión VPN a la UPV.
• Servicios web de eFetchGene, eFetchSeq y eFetchPubmed. 4.3.3 ETLNCBIGD-301-001 Cargar una lista de un elemento.
4.3.3.1 Propósito
Validar el proceso automático de carga de los datos en la base de datos genoma mediante la comparación de los resultados del proceso de extracción, transformación y carga de los datos con los de la fuente correspondiente.
Anexo B Plan de pruebas ETLNCBIGD
pág. 125
4.3.3.2 Entorno de prueba.
La prueba se efectuará en un entorno con un equipo de cómputo (PC) con conexión a Internet, una conexión VPN a la UPV y los servicios web de eFetchGene, eFetchSeq y eFetchPubmed.
4.3.3.3 Proceso
1. Ejecutar la herramienta de carga 2. Ejecutar la función de administrar lista de genes. 3. Introducir nombre de gen valido para agregar a la lista de genes. 4. Ejecutar la funcionalidad de agregar nuevo elemento. 5. Guardar la lista de genes. 6. Ejecutar la función de cargar datos. 7. Verificar la inserción del registro correspondiente en la tabla principal GENE. 8. Verificar la correspondencia de los datos en la base de datos de Gene del NCBI.
4.3.3.4 Resultado esperado.
La carga correcta de los datos correspondientes al gen en la vista Transcription de la base de datos genoma y el tiempo de ejecución.
4.3.4 ETLNCBIGD-301-003 Cargar una lista de 10 elementos.
4.3.4.1 Propósito
Validar el proceso automático de carga de los datos correspondientes a 10 genes en la base de datos genoma mediante la comparación de los datos cargados con los de la fuente correspondiente y observar el tiempo de carga.
4.3.4.2 Entorno de prueba.
La prueba se efectuará en un entorno con un equipo de cómputo (PC) con conexión a Internet, una conexión VPN a la UPV y los servicios web de eFetchGene, eFetchSeq y eFetchPubmed.
4.3.4.3 Proceso
1. Ejecutar la herramienta de carga 2. Ejecutar la función de administrar lista de genes. 3. Introducir nombre de gen valido para agregar a la lista de genes. 4. Ejecutar la funcionalidad de agregar nuevo elemento. 5. Repetir los pasos 3 y 4 10 veces. 6. Guardar la lista de genes. 7. Ejecutar la función de cargar datos. 8. Verificar la inserción del registro correspondiente en la tabla principal GENE. 9. Verificar la correspondencia de los datos en la base de datos de Gene del NCBI.
Anexo B Plan de pruebas ETLNCBIGD
pág. 126
4.3.4.4 Resultado esperado.
La carga correcta de los datos correspondientes al gen en la vista Transcription de la base de datos genoma y el tiempo de ejecución.
4.3.5 ETLNCBIGD-301-003 Cargar una lista de 20 elementos.
4.3.5.1 Propósito
Validar el proceso automático de carga de los datos correspondientes a 20 genes en la base de datos genoma mediante la comparación de los datos cargados con los de la fuente correspondiente y observar el tiempo de carga.
4.3.5.2 Entorno de prueba.
La prueba se efectuará en un entorno con un equipo de cómputo (PC) con conexión a Internet, una conexión VPN a la UPV y los servicios web de eFetchGene, eFetchSeq y eFetchPubmed.
4.3.5.3 Proceso
1. Ejecutar la herramienta de carga 2. Ejecutar la función de administrar lista de genes. 3. Introducir nombre de gen valido para agregar a la lista de genes. 4. Ejecutar la funcionalidad de agregar nuevo elemento. 5. Repetir los pasos 3 y 4, 20 veces. 6. Guardar la lista de genes. 7. Ejecutar la función de cargar datos. 8. Verificar la inserción del registro correspondiente en la tabla principal GENE. 9. Verificar la correspondencia de los datos en la base de datos de Gene del NCBI.
4.3.5.4 Resultado esperado.
La carga correcta de los datos correspondientes al gen en la vista Transcription de la base de datos genoma y el tiempo de ejecución.
pág. 127
Anexo C Diagrama entidad-relación de la
vista Transcription de la base de datos
genoma
En este anexo se muestra el diagrama entidad-relación correspondiente a la vista Transcription
de la base de datos genoma, Copyright ProS, Universidad Politécnica de Valencia.
Anexo C Diagrama entidad-relación de la vista Transcription de la base de datos genoma
Anexo C Diagrama entidad-relación de la vista Transcription de la base de datos genoma
pág. 129
Restricciones externas:
1. Si una tupla de “SEGMENT” tiene en el atributo “type” el valor “regulator sequence”, entonces el atributo “trans_unit_num” es nulo
2. Si una tupla de “SEGMENT” se le hace referencia desde alguna tupla de “REGULATES”, entonces el valor del atributo “type” de esa tupla ha de ser “regulator sequence”
3. El atributo “sequence” de “SEGMENT” es derivado a partir del los atributos “start_position” y “end_position” de “SEGMENT” y del atributo “sequence” de “ALLELE”, ya que la secuencia del segmento es una subcadena, determinada por la posición inicial y final, de la secuencia alélica.
4. El valor del atributo “start_position” de todos las tuplas de “SEGMENT” asociadas a una misma tupla de “TRANSCRIPTION_UNIT” es idéntico y mayor en 1 al valor del atributo “end_position” de la tupla de “PROMOTOR” asociada a esa misma tupla de “TRANSCRIPTION_UNIT”, caso de existir.
5. Una tupla de “PRIMARY TRANSCRIPT” hace referencia a una tupla de “SEGMENT” cuyo valor en “type” es “transcribed sequence”.
6. El atributo “sequence” de “ELEMENT TRANSCRIPT” es derivado a partir de sus atributos “start_position” y “end_position” y del atributo “sequence” de la tupla de “TRANSCRIBED SEQUENCE”, ya que su valor resulta ser la subcadena indicada por estas posiciones.
7. Las tuplas de “ELEMENT TRANSCRIPT” a las que se hacen referencia desde “PRODUCES” tienen el valor “exon” en el atributo “type”
8. Todas las tuplas de “ELEMENT TRANSCRIPT” asociadas a una tupla de “SPLICED TRANSCRIPT” a través de “PRODUCES” hacen referencia a una misma tupla de “PRIMARY TRANSCRIPT PATH”
9. En todo tupla de “ALLELIC VARIANT”, tiene valor el atributo “specialization_mutant” sólo si el valor del atributo “specialization_effect” es “mutant”.
pág. 130
Anexo D Videos ilustrativos sobre nociones
de genética
En este anexo se citan algunos links en los cuales encontrara videos ilustrativos que pueden ayudar al lector a comprender mejor los procesos biológicos que se llevan a cabo dentro de las células eucariotas.
Anexo D Videos ilustrativos sobre nociones de genética
pág. 131
A continuación se muestran videos ilustrativos para una mayor comprensión del funcionamiento
de la célula, del proceso de transcripción y síntesis de proteínas.
• Las células eucariotas 1.1 http://www.youtube.com/watch?v=hBTImxRZrDM&NR=1
• Función de los ribosomas 1.2 http://www.youtube.com/watch?v=ssBi01I0X-E
• From RNA to Protein Synthesis 1.3 http://www.youtube.com/watch?v=NJxobgkPEAo&feature=related