LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de...

100
LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática SISTEMA DE BÚSQUEDAS EN ADN UTILIZANDO MINERÍA DE TEXTOPRESENTADA POR: Mg. ROBERT ANTONIO, ROMERO FLORES JULIACA – PERÚ 2012

Transcript of LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de...

Page 1: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

LOGO

UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ

Escuela de Postgrado Maestría en Ingeniería de Sistemas

Mención Informática

“SISTEMA DE BÚSQUEDAS EN ADN UTILIZANDO MINERÍA DE TEXTO”

PRESENTADA POR:Mg. ROBERT ANTONIO, ROMERO FLORES

JULIACA – PERÚ2012

Page 2: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

RESUMEN La presente tesis ilustra el desarrollo de un

Sistema de Búsquedas en ADN al que se le ha denominado GAdn, aplicación del campo de la Bio Informática el mismo que ha sido desarrollado utilizando tecnología web y pretende difundir está área de investigación en nuestra región.

El ADN (Acido Desoxiribonucleíco) es el componente biológico encargado de la transmisión genética de las especies (color de la piel, ojos, estatura, etc.) así como la transmisión de enfermedades hereditarias entender las características en el funcionamiento del ADN es un tema que actualmente tiene ocupada a la Ciencia debido a las bondades que podría aportar a la ciencia en el campo de la Ingeniería Genética como control de enfermedades y mejoramiento genético.

Page 3: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

RESUMEN

Para realizar búsquedas de patrones en ADN se ha utilizado la minería de texto y una serie de algoritmos textuales como son: Boyer Moore, Knuth Morris Pratt y Aho Corasick en cuanto se refiere a la búsqueda exacta de patrones, en cuanto a la mutación o similitud del patrón se ha implementado los algoritmos de Levenshtein y Smith Waterman.

El desarrollo del Sistema de Búsquedas en ADN tuvo por finalidad demostrar la viabilidad de desarrollar un software utilizando tecnología portable bajo una plataforma web de manera que el sistema pueda ser escalable y expandible para otras aplicaciones futuras como motores de búsqueda textuales y así impulsar el desarrollo de estas aplicaciones tecnológicas en nuestra región.

Page 4: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

INTRODUCCIÓN

Capítulo 1. trata sobre el planteamiento del problema, donde se justifica del por qué se

realiza la presente investigación y se formulan los respectivos problemas: general y específicos, los objetivos de la investigación: general y específicos.

Capítulo 2. aborda sobre el marco teórico y conceptual de la investigación; considerando los

antecedentes de investigación, se enfatizando temas como algoritmos de búsqueda textuales, metodología de desarrollo de software extrema (XP) y genética; así mismo, se consideran como antecedentes de la investigación importantes trabajos que incluyen el análisis de secuencias en ADN a nivel internacional, también incluye las hipótesis de la tesis así como la operacionalización de variables.

Capítulo 3. Está referido a la conceptualización de los modelos de los sistemas y

subsistemas identificados en los proyectos de mejoramiento de riego durante las diferentes fases que conforman el proyecto: elaboración de estudios, construcción de obras y gestión para sistemas de riego, como resultado de este capítulo se tienen los diagramas causa efecto del sistema de producción.

Page 5: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

INTRODUCCIÓN

Capítulo 4. desarrolla los resultados y discusión en el cual se detalla el desarrollo del

sistema de búsquedas en ADN (GAdn) utilizando la metodología de desarrollo de software extrema (XP) mediante sus fases del juego de planificación, diseño, codificación y pruebas.

Conclusiones y Recomendaciones. Anexos.

Page 6: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

CAPÍTULO IEL PROBLEMA

Page 7: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

1.1 ANÁLISIS DE LA SITUACIÓN PROBLEMÁTICA.

El ADN (Acido Desoxiribonucleíco) es el componente biológico encargado de la transmisión genética de las especies (color de la piel, ojos, estatura, etc.) así como la transmisión de enfermedades hereditarias entender las características en el funcionamiento del ADN es un tema que actualmente tiene ocupada a la Ciencia .

EL ADN está conformada por cuatro bases nitrogenadas: Adenina (A), Guanina(G), Citosina(C) y Timina (T) y presenta una estructura de dos bandas en un doble hélice que si se representará a escala de 01 mm esta cadena llegaría al cielo, la estructura computacional para la representación de ADN se hace mediante archivos de texto (un archivo de texto para cada cromosoma) Estos archivos contienen la secuencia de nucleótidos. Cada nucleótido se representa con una letra A para Adenina, C para Citosina, G para Guananina y T para Timina, la representación genera cadenas de texto de gran tamaño que pueden llegar a tener un tamaño medido incluso en Gb (Giga bytes) por tanto la búsqueda y análisis de las características mediante procedimientos manuales sería un proceso tedioso que involucraría la asignación de varias personas con una alta tasa de ocurrencia de errores.

Page 8: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

1.1. ANÁLISIS DE LA SITUACIÓN PROBLEMÁTICA

Utilizando diversas técnicas de minería de texto permitirá realizar la clasificación y diversos análisis de las secuencias de ADN como mutación, indización, etc.

Page 9: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

1.2. PLANTEAMIENTO DEL PROBLEMA.

¿En qué medida la Implementación de un Sistema de Búsquedas de ADN utilizando minería de texto influye en la realización de búsquedas de secuencias genéticas en ADN?

Page 10: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

1.2.1 PLANTEAMIENTO DE PROBLEMAS ESPECÍFICOS

¿Qué grado de satisfacción de requerimientos tiene el Sistema de Búsquedas en ADN?

  ¿Qué nivel de complejidad tiene el Sistema de Búsquedas en ADN?  ¿El Sistema de Búsquedas en ADN tiene un nivel de usabilidad

adecuado?  ¿Cuál es el tiempo requerido para el mantenimiento del Sistema

de Búsquedas en ADN?  ¿Qué nivel de portabilidad tiene el Sistema de Búsquedas en ADN?

Page 11: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

1.3. JUSTIFICACIÓN DE LA INVESTIGACIÓN

La representación computacional de los nucleótidos: Nucleótidos (A), Citosina (C), Guanina (G) y Timina (T) en un archivo de texto para cada cromosoma, para que se puedan realizar de manera eficiente búsquedas de repeticiones se debe implementar un sistema automatizado utilizando herramientas computacionales.

Al realizar entrevistas con docentes de las Facultades de Agronomía y Medicina Veterinaria y Zootecnia de la Universidad Nacional del Altiplano se resalta que la región de Puno tiene especies de plantas como la quinua y especies animales como la Alpaca cuya riqueza genética está almacenada en Bancos de Germoplasma y cuya información no se encuentra automatizada, por tanto con el presente proyecto de investigación se brindará una herramienta importante a los expertos para realizar búsquedas y la correspondiente clasificación y análisis del ADN de estas importantes especies nativas además de aportar soluciones tecnológicas de origen regional que cuenten con un adecuado soporte, la presente investigación puede aplicarse en estudios posteriores para reconocimiento de imágenes, motores de búsquedas, etc.

Page 12: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

1.3. JUSTIFICACIÓN DE LA INVESTIGACIÓN

Page 13: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

1.4. OBJETIVOS DE LA INVESTIGACIÓN

1.4.1. Objetivo General.

Desarrollar un sistema de búsquedas de secuencias genéticas en ADN utilizando minería de texto.

1.4.2. Objetivos Específicos.  Lograr un adecuado grado de satisfacción de requerimientos en el

desarrollo del Sistema de Búsquedas en ADN.

Determinar el nivel de complejidad e integridad del Sistema de Búsquedas en ADN.

Desarrollar el Sistema de Búsquedas de manera que tenga un nivel de usabilidad adecuado.

Page 14: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

Desarrollar el Sistema de Búsquedas de forma tal que permitan su adecuado mantenimiento.

Desarrollar el Sistema de Búsquedas en ADN de manera que sea portable.

Page 15: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

CAPÍTULO IIMARCO TEÓRICO CONCEPTUAL

Page 16: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

2.1. ANTECEDENTES DE LA INVESTIGACIÓN

2.1.1. “Búsqueda de Repeticiones de ADN” Roberto A. Pava - Universidad Nacional de Colombia.

El autor selecciona el cromosoma 21 del genoma humano pues considera que fue uno de los que presentó el secuenciamiento más completo.

Roberto Pava como resultado de su investigación desarrolló un programa que procesa todo un genoma y emite un reporte del estado del secuenciamiento del genoma, el formato de los archivos leídos por el programa está en formato FASTA y muestra la cantidad de nucleótidos en el archivo del cromosoma procesado.

Page 17: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

2.1. ANTECEDENTES DE LA INVESTIGACIÓN

2.1.2.“Una Nota Introductoria a La Clasificación Estadística De Poblaciones Basada En El Adn” Ana Reynoso , Javier García Fronti - Universidad de Buenos Aires.

Los autores de la presente investigación relizan una comparación entre la propuesta de los autores Lewontin(1992) quien postula: “que los seres humanos de diferentes razas tienen diferencias genéticas ínfimas por lo que no tiene sentido pensar en una clasificación de la humanidad basada en ADN” situación que Edwards (2003) señalando que aunque las diferencias sean mínimas, son suficientes para clasificar los individuos en grupos. Mientras Lewontin se atiene a realizar únicamente un Análisis de Varianza para testear diferencias entre grupos.

Page 18: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

2.1. ANTECEDENTES DE LA INVESTIGACIÓN

2.1.3. “Algoritmo de Programación Dinámica para Segmentación en Texto Lineal” P. Fragkou, V. Petridis y. Kehagias.

Los autores de la presente investigación abordan el problema de recuperación de información en segmentación de texto. La meta es dividir el texto en segmentos homogéneos, de tal forma que cada segmento concuerda con un sujeto en particular mientras segmentos continuos coinciden con sujetos diferentes. El algoritmo que presentan consultas que pueden que pueden ser realizadas de grandes bases de datos de una gran base de datos de texto sin formatear.

En las conclusiones a las que llegan los autores mencionan: “el rendimiento del algoritmo es muy satisfactorio y para el futuro planean aplicar el algoritmo propuesto a un amplio espectro de tareas de textos grandes”.

Page 19: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

2.2. BASES TEÓRICAS

2.2.1. Ácido Desoxirribonucleíco (ADN).

El ácido desoxirribonucleico (ADN y también DNA, del inglés Deoxyribo Nucleic Acid), se define como: “un tipo de ácido nucleico, una macromolécula que forma parte de todas las células y contiene la información genética usada en el desarrollo y el funcionamiento de los organismos vivos conocidos y de algunos virus, siendo el responsable de su transmisión hereditaria” (Micklos, Freyer, 2003, p. 50).

Page 20: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

2.2. BASES TEÓRICAS

La molécula de ADN está compuesta por la misma cantidad de adenina(A) y timina(T) así como de citosina(C) y guanina (G). (la relación de A:T y C:G es igual a 1).

Debido a su carácter de doble hélice la longitud del ADN se expresa en pares de bases (pb), donde cada par de base ocupa:

- 1kb: 1000pb.- 1Mb: 1000Kb: 1.000.000pb.- 1Gb: 1000Mb: 1.000.000Kb: 1.000.000.000 pb

Page 21: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

2.2. BASE TEÓRICA

2.2.2. Genética.

Etimológicamente genética provienen del término griego “genéticos” derivado de "genetive" traducido es génesis u "origen" , la genética podemos conceptualizarla como: “una disciplina de la biología es la ciencia que estudia la herencia y sus variaciones en organismos vivos” (Posada, 2009, p. 27), las idea fundamental que seres vivos heredan propiedades de sus padres ha sido utilizado desde tiempos prehistóricos para mejorar cultivos de plantas y en la crianza de animales a través de procesos de selección; sin embargo la ciencia moderna de genética que investiga el proceso de herencia recién inicia con el trabajo de Gregor Mendel en la década de los 90 aunque nunca entendió las bases físicas de la herencia, Mendel sólo observaba “que los organismos heredaban características a través de unidades discretas de herencia a los que denomino genes” (Nickoloff, 2001, p. 41) .

Page 22: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

2.2. BASE TEÓRICA.

2.2.3. Algoritmos de Búsquedas Textuales.

Los textos son un tema central en sistemas de “algoritmos textuales” o también conocido como "procesamiento de palabras", los algoritmos textuales proveen funcionalidades para la manipulación de texto. Tales sistemas usualmente procesan objetos que son de gran tamaño, por ejemplo un libro puede contener tranquilamente un millón de caracteres. Los algoritmos textuales se utilizan en muchas áreas de la Ciencia. Muchos editores de texto y lenguajes de programación tienen utilidades para procesamiento de texto. En biología los algoritmos textuales se utilizan en el campo de secuencias moleculares.

El problema textual básico es conocido como (Crochemore, 1994, p. 75) “reconocimiento de patrones” el que es utilizado para acceder información en cadenas de texto, reconocimiento de patrones en este sentido son: “los algoritmos de ordenación o a las operaciones aritméticas básicas para lograr recuperar información”.

Page 23: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

El problema de reconocimiento de cadenas puede ser ampliado a (Crochemore, 1994, p. 86):

La estructura de los segmentos de un texto. Compresión de datos. Problemas de aproximación. Búsquedas de regularidades. Aplicaciones a imágenes de dos dimensiones. Extensiones a árboles. Implementaciones óptimas en tiempo y espacio. Implementaciones paralelas óptimas.

Page 24: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.
Page 25: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

2.2. BASE TEÓRICA

2.2.4. Aplicación de Algoritmos Textuales en Genética.

. “El descubrimiento de técnicas de secuenciamiento hace 15 años ha permitido una rápida acumulación de secuencias de datos (mas de 10 millones de secuencias de nucleótidos). Desde la recolección de secuencias hasta el análisis implican muchos algoritmos textuales. Sin embargo sólo los algoritmos más rápidos pueden ser utilizados debido a la enorme cantidad de datos.

Page 26: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

2.2. BASE TEÓRICA

2.2.5. Minería de Texto.

“se refiere al proceso de lograr información de alta calidad a partir de textos, la información de alta calidad por lo general se logra a través del descubrimiento de patrones y modas lo cual se conoce como aprendizaje estadístico de patrones. La minería de texto involucra el proceso de estructurar el texto de entrada (usualmente clasificar añadiendo algunas características lingüísticas y remover otras y posteriormente insertar la información en una base de datos), descubrir patrones dentro de los datos estructurados y finalmente evaluar e interpretar los resultados” (Jackson, 2007, p. 115).

• Categorización de texto.• Agrupación de texto.• Extracción de conceptos y entidades.• Producción de taxonomías granulares.• Análisis de sentimientos.• Resúmenes de documentos.• Modelamiento Entidad – Relación.

Page 27: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

2.2. BASE TEÓRICA

2.2.6. Ingeniería de Software.

“Ingeniería de software es la disciplina o área de la informática que ofrece métodos y técnicas para desarrollar y mantener software de calidad” (Pressman, 2007, p. 12).

Page 28: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

2.2. BASE TEÓRICA

2.2.7. Metodología de programación extrema.

La programación extrema o eXtreme Programming (XP) es una metodología de desarrollo de software ágil presentada por Kent Beck autor del primer libro sobre programación extrema titulado: “Programación Extrema Explicada: Abrazando el cambio” (Extreme Programming Explained: Embrace Change) (Beck Kent, 2004, p.1)

La programación extrema es la metodología ágil de desarrollo de software más utilizada debido a las destacadas innovaciones e incremento en la productividad en la industria de software, esta metodología se diferencia de las metodologías de software tradicionales pues pone énfasis en la entrega de resultados (prototipos) más que en otros procesos como la documentación del software.

Page 29: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

Kent Beck conceptualiza la programación extrema de la siguiente forma: "La programación extrema comúnmente conocida como XP, es una disciplina del negocios de desarrollo de software que se enfoca en todo el equipo en común, metas razonables usando los valores y principios de la programación extrema, los equipos aplican apropiadamente practicas de XP en sus propios contextos, la práctica de XP es escogida por su valor para incrementar la creatividad humana, dar un mejor trato a los programadores, la programación extrema produce software de calidad y un ambiente sostenible" (Beck Kent, 2004, p.18)

Flexibilidad

Calidad

Alta

Alta

Baja

Baja

Code/Fix

Prototipeo

Entregas por Escenarios

Cascada

RUP

XP

Steward Baird (Bair, 2002, p.21)

Page 30: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

2.2.7.1. Características Fundamentales de la Programación Extrema.

• Desarrollo iterativo e incremental.• Pruebas unitarias continuas, frecuentemente repetidas y

automatizadas.• Programación en parejas.• Frecuente integración del equipo de programación con el cliente o

usuario. • Corrección de todos los errores antes de añadir nueva

funcionalidad.• Refactorización del código.• Propiedad del código compartida.• Simplicidad en el código.

Page 31: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

2.2.7.2. Principios de la Programación Extrema.• Humanidad.• Economía.• Beneficio mutuo.• Similitud.• Mejora continua.• Diversidad.• Reflexión.• Flujo.• Oportunidades.• Redundancia.• Fracaso.• Calidad.• Pasos de Bebé.• Responsabilidad Aceptada.

Page 32: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

2.2.7.3. Prácticas de la Programación Extrema.• El juego de la planificación.• Pequeñas Entregas.• Metáfora.• Diseño simple.• Pruebas.• Refactorización.• Programación por parejas.• Propiedad colectiva.• Integración continua.• Cuarenta horas semanales.• Cliente en casa.• Estándares de codificación.

Page 33: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

2.2.7.5. Valores de la Programación Extrema.• Simplicidad.• Comunicación.• Retroalimentación.• Coraje.• Respeto.

Page 34: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

2.2.7.7. Fases de Desarrollo

FasesPrincipio

Planificación El juego de la planificaciónEntregas pequeñasMetáfora

Diseño Diseño simple.Codificación Refactorización.

Programación en paresPropiedad colectivaIntegración continuaSemanas de 40 horasCliente in situEstándares de programación

Pruebas Pruebas.

Page 35: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

2.3. BASE TEÓRICA. 2.2.9. Árboles de Sufijos. En Computación un árbol de sufijos es una estructura de datos que

presenta los sufijos de una cadena de manera que permite realizar diferentes operaciones sobre cadenas (Baeza & Gonnet, 2007, p.78).

El árbol de sufijos para una cadena S es un árbol cuyos bordes están etiquetados con cadenas de tal forma que cada sufijo de S corresponde a exactamente una camino desde la raíz del árbol a la hoja es denominado un árbol radix (usualmente llamados árboles patricia) para los sufijos de S.

BANANA$

0

245

13

A NA

NA$NA

NA$$

$ $

Page 36: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

2.3. MARCO CONCEPTUAL

SECUENCIAS ALU

“Son las secuencias móviles más abundantes del genoma humano. Derivan probablemente del gen 7SL ARN, que forma parte del complejo ribosomal. La aparición de las secuencias ALU se sitúa hace aproximadamente 65 millones de años, coincidiendo con el origen y expansión de los primates. Inserciones con esta secuencia han sido vinculadas con varias enfermedades heredables en humanos, incluyendo varias formas de cáncer. El estudio de las secuencias ALU es útil para investigar la diversidad del patrimonio genético de las poblaciones humanas y la evolución del orden primates” (Micklos, 2003, p. 34).

Page 37: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

2.3. MARCO CONCEPTUAL

Cromosomas.“una estructura organizada de ADN y proteínas que se encuentra en las células, es una pieza simple de ADN enrollado que contiene muchos genes, elementos regulatorios y otra secuencia de nucleótidos, los cromosomas también contienen proteínas de ADN conectadas, que sirven para el mismo ADN y para controlar sus funciones” (Grigorenko, 2001, p. 19). (Grigorenko, 2001).

 Gen“Un gen es una secuencia de nucleótidos organizada en la molécula de ADN, los genes contienen la información necesaria para la síntesis de una macromolécula con función celular especifica normalmente proteínas y también ARNm, ARNr y ARNt. El gen se considera como la unidad de almacenamiento de información genética y unidad de herencia al transmitir esa información a la descendencia, el conjunto de genes de una especie y los cromosomas que los componen se denomina genoma” (Grigorenko, 2001, p. 25).

Page 38: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

2.3. MARCO CONCEPTUAL

Page 39: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

2.3. MARCO CONCEPTUAL

Telómeros.

Se define como: (Grigorenko, 2001, p. 93) “Región final de los cromosomas. Formado por secuencias de ADN repetitivas dispuestas en TANTEM (ADN mini satélite). Secuencias de TTAGGG (T2AG3) repetidas de 0.1 a 20kb”, entre las funciones de los telómeros tenemos:

• Permite la correcta replicación de las moléculas de ADN.• Protege el cromosoma de daños producidos por los sistemas de

reparación del ADN. Evita ser confundido con una cadena de ADN rota.

• Localización de los cromosomas dentro del núcleo.

Page 40: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

2.4. HIPÓTESIS

2.4.1. Hipótesis General.  Es posible desarrollar un Sistema de Búsquedas en ADN utilizando

minería de texto.

2.4.2. Hipótesis Específicas.  El grado de satisfacción de requerimientos en el desarrollo del

Sistema de Búsquedas en ADN es el adecuado. El Sistema de Búsquedas en ADN tiene un nivel de complejidad

adecuado. Se ha desarrollado el Sistema de Búsquedas en ADN con un nivel de

usabilidad adecuado. El grado mantenibilidad del Sistema de Búsquedas en ADN es el

apropiado. El Sistema de Búsquedas en ADN es portable.

Page 41: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

2.5. ANÁLISIS DE VARIABLES E INDICADORES.

VARIABLE

INDEPENDIENTE

DIMENSIONES INDICADORES ITEMS

SISTEMA DE BÚSQUEDAS

Satisfacción de los

Requerimientos

Grado de satisfacción de los requerimientos.

Número de

requerimientos

identificados

Número de

requerimientos

desarrollados

satisfactoriamente

Complejidad del

sistema de Búsquedas

en ADN.

Nivel de complejidad. Número de líneas de

código fuente

Longitud del Programa

(N)

Volumen del Programa

(V)

Page 42: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

2.5. ANÁLISIS DE VARIABLES E INDICADORES.

VARIABLE

INDEPENDIENTE

DIMENSIONES INDICADORES ITEMS

SISTEMA DE BÚSQUEDAS

Usabilidad del Sistema

de Búsquedas en ADN

Nivel de usabilidad del

sistema.

Esfuerzo necesario

para la formación en el

uso del programa.

Facilidad de operación

Mantenibilidad del

Sistema de Búsquedas

en ADN

Grado de

Mantenibilidad del

sistema

Índice de madurez del

software

Portabilidad del

Sistema de Búsquedas

en ADN

Grado de portabilidad

del sistema.

Independencia del

hardware

Independencia del

sistema operativo

Generalidad

Page 43: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

2.5. ANÁLISIS DE VARIABLES E INDICADORES.

VARIABLE

DEPENDIENTE

DIMENSIONES INDICADORES ITEMS

BUSQUEDAS EN ADN Eficiencia. Tiempo de Respuesta Tiempo

Uso de Recursos Cantidad de Recursos

Fiabilidad. Exactitud de las operaciones

Errores Detectados

Page 44: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

CAPÍTULO IIIMÉTODO DE INVESTIGACIÓN

Page 45: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

3.1. MÉTODO DE INVESTIGACIÓN

En la presente investigación se usó el método científico para probar los resultados de la investigación.

Analítico. Sintético. Cuantitativo (variables e indicadores). Cualitativo (interpretación del significado de los resultados).

Page 46: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

3.2. DISEÑO DE LA INVESTIGACIÓN

El diseño para nuestro tema de investigación “Sistema de Búsquedas en ADN” responde a un diseño experimental debido a que el investigador desea comprobar los efectos de una intervención específica, en este caso el investigador tiene un papel activo pues puede provocar cambios en las variables que intervienen en la investigación.

Su diseño más específico es cuasiexperimental pues no se asignan al azar los sujetos que forman parte del grupo de control y experimental, ni son emparejados pues los grupos de trabajo ya están formados es decir ya existen previamente al experimento.

Page 47: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

3.2. DISEÑO DE LA INVESTIGACIÓN

3.2.1. TIPO DE INVESTIGACIÓN.

El tipo de investigación es investigación aplicada pues tienen propósitos prácticos bien definidos es decir se plantea la presente investigación para transformar un determinado sector de la realidad como es el campo de la genética.

  3.2.2. NIVEL DE INVESTIGACIÓN.

El nivel de investigación es experimental pues por su concepción pretendemos responder ¿Cuál es la eficiencia del nuevo Sistema de búsquedas en ADN?, este tipo de investigación se realiza luego de conocer las características del fenómeno o hecho que se investiga, es decir conociendo los factores que han dado origen al problema entonces se le puede dar un tratamiento metodológico.

Page 48: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

 3.3. POBLACIÓN Y MUESTRA

La población está definida para el caso por los usuarios que deben validar la operatividad del sistema, para la presente investigación hemos considerado a los estudiantes de décimo semestre (semestre 2012-I) de la Escuela Profesional de Ciencias Biológicas de la Universidad Nacional del Altiplano, por tanto:

N = 41 Siendo el tamaño de la población pequeño se ha decidido trabajar con el total de la población por tanto el tamaño de la muestra. 

n = 41

Page 49: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

3.4. TÉCNICAS E INSTRUMENTOS DE INVESTIGACIÓN

3.4.1. TRABAJO DE CAMPO.

3.4.2. GABINETE.

3.4.3. INSTRUMENTOS DE MEDICIÓN. Entrevistas. Observación. Análisis de contenidos. Estudio de casos.

3.4.4. MATERIALES Y EQUIPOS. Documentación de algoritmos textuales. Manuales de Lenguajes de Programación. Cuestionarios. Guías de Entrevistas. Reportes del Sistema de Búsquedas. Lenguajes de Programación (ANSI C++, JavaScript, Phyton, Java.) Computador.

Page 50: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

3.5. DISEÑO DE CONTRASTACIÓN DE HIPÓTESIS

Según los criterios estadísticos, el valor estándar para el margen de error es del 5% (0.05) equivalente a la tabla T students a 1.65, para los diseños cuasi experimentales tenemos la siguiente fórmula [13]:

c

c

e

e

n

S

n

S

cXXeTc

22

Page 51: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

CAPÍTULO IVRESULTADOS Y DISCUSIÓN

Page 52: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

4.1. FASES DEL DESARROLLO DEL PROYECTO

4.1.1 El Juego de Planificación.

Las responsabilidades durante el escenario de la planificación son:

Cliente.Desarrollador.Responsabilidades del negocios.Responsabilidades técnicas.

Metáfora.

“Sistema de Búsquedas en ADN que permite buscar secuencias de ADN y extraer las principales características como estadísticas de repeticiones y repeticiones en TANDEM”.

Page 53: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

4.1.1.2. Definición de Historias de Usuario

Historia de Usuario

Número 1 Nombre: Búsquedas de Secuencias

Usuario: Estudiante

Modificación de Historia Número: Iteración Asignada: 0

Prioridad en el Negocios: Alta

(Alta / Media /Baja)

Puntos estimados: 10

Riesgo en desarrollo: Baja

(Alta / Media /Baja)

Puntos reales: 10

Descripción:

Debe realizar búsqueda de determinas secuencias de ADN; principalmente

conocidas como satélites, micro satélites y mini satélites; así como la

frecuencia de cada uno en el ADN con longitudes variables. Una

característica importante es verificar las repeticiones en TANDEM.

Observaciones:

Page 54: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

4.1.1.2. Definición de Historias de Usuario

Historia de Usuario

Número 2 Nombre: Comparación de

Secuencias

Usuario: Estudiante

Modificación de Historia

Número:

Iteración Asignada: 0

Prioridad en el Negocios: Alta

(Alta / Media /Baja)

Puntos estimados: 10

Riesgo en desarrollo: Baja

(Alta / Media /Baja)

Puntos reales: 10

Descripción:

El sistema debe determinar la similitud que existe entre dos

secuencias de ADN lo cual se conoce como mutaciones

Observaciones:

Page 55: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

4.1.1.2. Definición de Historias de Usuario

Historia de Usuario

Número 3 Nombre: Visualización de ADN

Usuario: Estudiante

Modificación de Historia Número: Iteración Asignada: 1

Prioridad en el Negocios: Alta

(Alta / Media /Baja)

Puntos estimados: 8

Riesgo en desarrollo: Baja

(Alta / Media /Baja)

Puntos reales: 8

Descripción:

El sistema debe mostrar la secuencia de ADN de manera que se pueda

marcar de manera manual la aparición de sub secuencias que se

determinen como importantes.

Observaciones:

Page 56: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

4.1.1.2. Definición de Historias de Usuario

Historia de Usuario

Número 4 Nombre: Lenguaje de Programación

Usuario: Programador

Modificación de Historia Número: Iteración Asignada: 1

Prioridad en el Negocios: Alta

(Alta / Media /Baja)

Puntos estimados: 10

Riesgo en desarrollo: Baja

(Alta / Media /Baja)

Puntos reales: 10

Descripción:

Para garantizar la eficiencia del sistema y lograr una ventaja comparativa en relación a

otros Sistemas de Búsquedas en ADN se considera la utilización del lenguaje de

programación de nivel intermedio C++.

Observaciones: según recopilación de información al respecto C++ se utiliza para

sistemas de “performance crítico” de forma que pueda extenderse el uso del

programa a otras aplicaciones, C++ al ser orientado a objetos permite garantizar el

“mantenimiento” del sistema.

Page 57: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

4.1.1.2. Definición de Historias de Usuario

Historia de Usuario

Número 5 Nombre: Entorno de usuario web

servidor

Usuario: Programador

Modificación de Historia Número: Iteración Asignada: 1

Prioridad en el Negocios: Alta

(Alta / Media /Baja)

Puntos estimados: 10

Riesgo en desarrollo: Baja

(Alta / Media /Baja)

Puntos reales: 10

Descripción:

Para garantizar una adecuada interfaz de usuario y el mayor acceso a los datos

para mayor cantidad de usuarios se debe desarrollar utilizando tecnología web: cgi

(compilados en C++) y tecnología XAMP (Servidor Web Apache, Gestor de Base de

Datos MySQL y PHP) del lado del servidor.

Observaciones: La decisión de la plataforma también es conducente a lograr la

portabilidad del sistema

Page 58: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

4.1.1.2. Definición de Historias de Usuario

Historia de Usuario

Número 6 Nombre: Entorno de usuario web

Usuario: Programador

Modificación de Historia Número: Iteración Asignada: 1

Prioridad en el Negocios: Alta

(Alta / Media /Baja)

Puntos estimados: 10

Riesgo en desarrollo: Baja

(Alta / Media /Baja)

Puntos reales: 10

Descripción:

Para garantizar una adecuada interfaz de usuario y el óptimo uso de

recursos como tráfico de red y tiempo de ejecución, del lado del cliente

se deben desarrollador rutinas en javascript

Observaciones: La decisión de la plataforma también es conducente a

lograr la “usabilidad” del sistema

Page 59: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

4.1.1.2. Definición de Historias de Usuario

Historia de Usuario

Número 7 Nombre: Optimización de transacciones.

Usuario: Programador

Modificación de Historia Número: Iteración Asignada: 1

Prioridad en el Negocios: Alta

(Alta / Media /Baja)

Puntos estimados: 10

Riesgo en desarrollo: Baja

(Alta / Media /Baja)

Puntos reales: 10

Descripción:

En las múltiples funciones desarrolladas se debe tomar en cuenta técnicas para la

optimización de transacciones a nivel de presentación de datos (

Ejm: paginación), acceso a memoria, rendimiento en bases de datos (optimizar

consultas, índices, etc.)

Observaciones: También es conducente a lograr la escalabilidad del sistema

considerando el gran tamaño de los archivos que contienen la información de

ADN.

Page 60: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

4.1.1.2. Planificación

Page 61: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

Plan de Entregas

Historia Esfuerzo Iteración 0 Iteración 1

Búsquedas de

Secuencias

3 X

Comparación de

Secuencias

2 X

Visualización de

ADN

2 X

Page 62: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

4.1.2. DISEÑO

El principio que rige esta fase de XP es el diseño simple, lo cual implica: Ejecutar todas las pruebas. Eliminar código duplicado. Mantener la mínima cantidad de clases y métodos. Instruir a los programadores codificar lo más claramente posible.

El sistema de búsqueda en ADN se desarrolla en base a una arquitectura WEB, utilizando para ello un Servidor WEB (tecnología XAMP) configurado para ejecutar módulos desarrollados en C++, se ha elegido esta tecnología debido a que el presente proyecto posteriormente puede ser modificado y utilizado como motor de búsquedas textuales (tipo Google, Yahoo, etc.).

  De la misma forma se elige el lenguaje de programación ANSI C++ debido a

que es un lenguaje portable, soportado por múltiples arquitecturas de hardware y software y el más rápido junto con el lenguaje de programación C (Anon., 2011) además que aporta características orientadas a objeto.

  La tecnología AJAX se utiliza para ejecutar rutinas de usuario en el cliente

de manera que se aligere el trabajo del servidor con lo cual tenemos una arquitectura cliente – servidor en dos capas.

Page 63: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

+BuscaComponente(entrada adn : char)+ImprimeComponente(entrada com : int)+InsertaComponenteBD(entrada adn : char)

-NumerodeComponentes : int-TotalComponentes[10] : int-TipoComponentes : char

«metaclass»ADN

+AbrirBD() : bool+CerrarBD() : bool+InsertarRegistro() : bool+Actualiza(entrada query : char)+Consulta(entrada query : char) : char+EliminarRegistro() : bool+ImprimeConsulta()+ImprimeConsultaPosicion(entrada pagina : int, entrada registro_mostrar : int)

-Conexion-Resultado-Columna-Servidor : short-BasedeDatos : char-Usuario : char-Contraseña : char

«metaclass»ADN_MySQL

+KnuthMorrisPratt(entrada Archivo : char, entrada Patron : char)+BoyerMoore(entrada archivo : char, entrada patron : char)+Distancia_Levenshtein(entrada archivo : char, entrada patron : char, entrada distancia K : int) : char+MutacionSmithWaterman(entrada archivo1 : char, entrada archivo2 : char)+ConsultaPatronArchivo(entrada archivo : char, entrada patron : char) : int+CreaCadenaInsertaEnc(entrada archivo : char, entrada patron : char) : char+CreaCadenaInsertaDet(entrada archivo : char, entrada patron : char, entrada posicion : int) : char+ActualizaTiempo(entrada archivo : char, entrada patron : char, entrada tiempo : double) : char+CreaCadenaPaginacion(entrada archivo : char, entrada patron : char, entrada posicion : int) : char

-Patrón : char

«metaclass»MineríadeTexto

+SubCadena(entrada cadena : char, entrada pos_ini : int, entrada longitud : int) : char+ConvertiraMinusculas(entrada cadena : char) : char+ConvertirDobleaCadena(entrada cadena : char) : char

-patron : char

Cadena

1

*

Page 64: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

+AñadePalabra(entrada palabra : char)+BuscaPalabra(entrada palabra : char) : bool+EliminaPalabra(entrada palabra : char)

-palabra : charTrie

+MuestraContenido() : char+ActualizaContenido(entrada letra : char)+Marcador()+ActualizaMarcado()+BuscaNodo(entrada letra : char) : Nodo+AñadirNodo(entrada nodo : Nodo)

-contenido : char-marcador : bool-hijos : vector Nodo

Nodo

1

*

Page 65: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

ADN_MySQL

Realizar las conexiones del

CGI con el Servidor de base de

datos MySQL.

Interfaz de las operaciones de

inserción. actualización y

eliminación en las tablas de la

base de datos.

Mostrar el resultado de las

consultas a la BD

Tarjetas Clase, Responsabilidad y Colaboración

Page 66: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

MineriadeTexto

Implementa las funciones de

búsqueda de patrones en los

archivos de texto que

contienen información de ADN.

Verifica si la consulta ya ha

sido realizada con fines de no

duplicar las búsquedas.

Crea las cadenas para

actulizar la base de datos que

serán enviadas a la clase

ADN_MySQL

ADN_MySQL

Tarjetas Clase, Responsabilidad y Colaboración

Page 67: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

ADN

Implementar las funciones

para llevar a cabo conteo

de componetes de ADN

(A,C,G,T,U,R,P,K,N y X) y

similares

Mostrar el resultado de las

consultas a la BD.

ADN_MySQL

Tarjetas Clase, Responsabilidad y Colaboración

Page 68: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

Tarjetas Clase, Responsabilidad y Colaboración

Trie

Implementa el árbol para la

búsqueda mediante el

algoritmo Aho Corasick

Nodo

Implementa las operaciones

sobre nodos del árbol de la

clase Trie, también se utiliza

para la búsqueda mediante el

algoritmo Aho Corasick

Trie

Page 69: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

4.1.2.2. Arquitectura del Sistema.

CLIENTE

FORMULARIO HTML

LIBRERÍAAJAX

MOTOR DE BÚSQUEDA CGI

SERVIDOR WEB APACHE

INTERFAZ DE RESPUESTA

HTML

ARCHIVO DE TEXTO DE ADN

BASE DE DATOS MYSQL

SERVIDOR

Page 70: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

Servidor

Rutina de Conección

Cliente

Rutina de Conección

Interfaz de Consulta

Búsqueda en Archivos textuales

Gestión de Índices

Gestión de Bases de Datos

Diagrama de Despliegue

Page 71: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

4.1.3. Codificación.

La etapa de codificación se basan en los principios enumerados en el Capítulo 3 del presente documento, los estándares de programación son definidos de acuerdo al documento “Estándares de Código para C++” (C++ Coding Standard) (Todd, 2008) y el “Manual de Estilo de Programación” elaborado por Alexander Hristov (Hristov, 1994-2007), los estándares de código y estilo abordan los siguientes temas: Nombres. Documentación. Administración de la complejidad. Clases. Procesos. Formateo. Excepciones. Plantillas (templates). Espacios de nombres (namespaces). Portabilidad. ANSI C++., G++ (compilador C++). Consideraciones especiales.

Page 72: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

4.1.3.1. Diseño e Implementación de Pruebas.

Pruebas sobre las funciones miembro de la clase ADN_MySQL. El listado de las pruebas es el siguiente cuyo diseño se muestra en el anexo C:

Evalua_AbrirBD Evalua_CerrarBD. Evalua_InsertarRegistro. Evalua_Actualiza. Evalua_Consulta. Evalua_EliminarRegistro. Evalua_ImprimeConsultaPosicion.

Page 73: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

4.1.3.2. Implementación de los Módulos.

g++ archivo.c libmysql.a –o archiv.cgi

Page 74: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

Pantalla Principal del Sistema de Búsquedas en ADN

Page 75: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

Resultados de la Búsqueda del Patrón

Page 76: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

Reporte de Apariciones en Tandem de la Secuencia CATG

Page 77: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

Resultados de los Componentes del Cromosoma 4

Page 78: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

Búsquedas de Múltiples Secuencias Utilizando el Algortimo Aho Corasick

Page 79: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

Resultado de Múltiples Búsquedas Utilizando el Algoritmo de Aho Corasick

Page 80: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

Búsqueda de Expresiones Regulares Utilizando el Algoritmo de Aho Corasick

Page 81: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

Resultado de Búsquedas de Expresiones Regulares Utilizando el Algoritmo Aho Corasick

Page 82: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

Alineación de Secuencias de ADN Utilizando el Algoritmo Smith Waterman

Page 83: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

Resultados de Alineación de Secuencias Utilizando el Algoritmo Smith Waterman

Page 84: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

Información de los patrones de búsqueda insertados en MySQL

Page 85: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

Implementación de Clases

class ADN_MySQL{// Tipos de Mysql.h

MYSQL *conexion; MYSQL_RES *R; MYSQL_ROW COL; // Variables String para conexion, opcionales char *servidor; //"localhost" por defecto char *usuario; // = "root"; usuario por defecto char *clave; // = "********"; contraseña char *db; // = "unap"; base de datospublic:

ADN_MySQL();~ADN_MySQL();

//realiza una consulta añadiendo los resultados a *Rvoid Consulta(char *query);

//Actualiza según el query enviadovoid Actualiza(char *query); void ImprimeConsulta();void ImprimeConsultaPosicion(char *patron, char *archivo, char *tip_bus, int k,int pagina, int registrom, int total_registros);int NumeroRegistros();void InsertaRegistros(string tabla, char *valores);void EliminaPatronPosicion();

};//fin implementación de la clase

Page 86: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

Implementación de Clases

class MineriadeTexto : public ADN_MySQL{char *patron;

//utilizado para preprocesamiento en busquedas KnuthMorissPrattint siguienteKMP[256];Cadena oCadena;

public:MineriadeTexto(char *patron_recibido);int BoyerMooreTodos(char *archivo, char* texto, char* patron, int long_texto, int long_patron);int BoyerMoorePrimero(char* texto, char* patron, int long_texto, int long_patron);void KnuthMorrisPrattPreproceso(char* patron);int KnuthMorrisPrattTodos(char *archivo, char* texto, char* patron);

Page 87: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

class Nodo {public: Nodo() { Contenido = ' '; Marcador = false; } ~Nodo() {} char MuestraContenido() { return Contenido; } void ActualizaContenido(char c) { Contenido = c; } bool MuestraMarcador() { return Marcador; } void ActualizaMarcador() { Marcador = true; } Nodo* EncontrarNodo(char c);

Nodo* EncontrarNodoExpresion(char c); void AnadirNodo(Nodo* hijo) { Hijos.push_back(hijo); } vector<Nodo*> RetornaHijos() { return Hijos; } private: char Contenido; bool Marcador; vector<Nodo*> Hijos;};

Implementación de Clases

Page 88: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

Implementación de Clases

class Trie {public: Trie(); ~Trie(); void AnadePalabra(string palabra); bool BuscaPalabra(string palabra);

int BuscaPalabraBuf(string palabra, int inicio);int BuscaPalabraBuffer(char *palabra, int inicio, int long_palabra);int BuscaPalabraBufferExpresion(char *palabra, int inicio, int long_palabra);

void EliminaPalabra(string palabra);

private: Nodo* root;};//fin clase Trie

Page 89: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

4.1.4. Pruebas

Búsquedas en ADN

Código: P001 Historia de usuario

Búsqueda de Secuencias(01):

Nombre: Prueba de Búsquedas en ADN

Descripción: Determinar si el conteo de componentes y búsqueda de patrones se realiza

satisfactoriamente y estos deben ser almacenados adecuadamente.

Condiciones de ejecución: en entorno web con el cgi compilado de C++, los datos deben ser subidos

a memoria para fines de eficiencia.

Entrada / Pasos de ejecución:

Ingreso de parámetros archivo, patrón, tipo de búsqueda (Boyer Moore, Knuth Morris Prat y Aho

Corasick).

Si la búsqueda ya existe (archivo, patrón) no realizarla nuevamente solo mostrar los datos

Búsqueda utilizando punteros.

Inserción de los datos en tablas MySQL

Resultado Esperado:

Numero de componentes, posiciones de los patrones dentro del archivo, existencia de repeticiones

en TANDEM, datos correctamente insertados en la Base de Datos.

Evaluación de la prueba: Prueba desarrollada satisfactoriamente mostrando gran eficiencia en el

resultado de los datos

Page 90: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

4.1.4. PruebasBúsquedas en ADN

Código: P002 Historia de usuario

Comparación de Secuencias(02):

Nombre: Prueba de Comparación de Secuencias en ADN

Descripción: Determinar la existencia de cadenas similares a una distancia k y la similitud

entre dos archivos de ADN.

Condiciones de ejecución: en entorno web con el cgi compilado de C++, los datos deben ser

subidos a memoria para fines de eficiencia.

Entrada / Pasos de ejecución:

Ingreso de parámetros archivo, patrón, tipo de búsqueda, distancia K (Levenshtein).

Ingreso de parámetros archivo1, archivo2 (Smith Waterman).

Si la búsqueda ya existe (archivo, patrón) no realizarla nuevamente solo mostrar los datos

Búsqueda utilizando punteros.

Inserción de los datos en tablas MySQL

Resultado Esperado:

Patrones que son similares al original en una distancia k

Distancia entre el archivo1 y archivo2

Datos correctamente insertados en la Base de Datos.

Evaluación de la prueba: Prueba desarrollada satisfactoriamente mostrando gran eficiencia

en el resultado de los datos

Page 91: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

4.1.4. PruebasVisualización

Código: P003 Historia de usuario

Visualización(03):

Nombre: Prueba de Visualización de Reportes en ADN

Descripción: Mostrar en el navegador el reporte de los resultados de las búsquedas

ejecutadas en otros módulos.

Condiciones de ejecución: en entorno web con el cgi compilado de C++, los datos deben

ser presentados usando técnicas de paginación para optimizar el tráfico en la red.

La interfaz debe ser amigable e intuitiva

Entrada / Pasos de ejecución:

Ingreso de parámetros archivo, patrón, tipo de búsqueda, distancia K, tabla.

Ejecución de la consulta según parámetros.

Impresión de los datos por página y número de registros.

Impresión de comandos de navegación para indicar el número de página a consultar.

El usuario puede insertar anotaciones en los registros de su elección.

Resultado Esperado:

Reporte “impreso” en la interfaz web

Evaluación de la prueba: Prueba desarrollada satisfactoriamente mostrando gran

eficiencia en el resultado de los datos

Page 92: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

CONCLUSIONES

Ha sido factible desarrollar el sistema de búsquedas de secuencias genéticas en ADN utilizando minería de texto, para lo cual se ha utilizado la metodología de desarrollo de software programación extrema, las múltiples fases de desarrollo se muestran en la Capítulo 4 de la presente Tesis, lo cual también se confirma con la prueba de hipótesis desarrollada en el anexo A en el cual se confirma la Hipótesis Alternativa que indica que los promedios de los tiempos de respuesta experimentales utilizando el sistema desarrollado (GAdn) son menores que los promedios de los tiempos de respuesta de control .

Todos los requerimiento identificados en la sección 4.1 mediante historias de usuario han sido desarrollados mostrando resultados satisfactorios en la fase de pruebas, los requerimientos funcionales y no funcionales en total son 7 y los 7 han sido desarrollados.

Page 93: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

CONCLUSIONES

El número de líneas de código del Sistemas de Búsquedas en ADN es de 3701 en el lenguaje de programación C++, según los expertos un software ha logrado un grado de complejidad adecuado a partir de las 1000 líneas de código.

 Como se puede observar en el Anexo E el cálculo de la métrica de longitud N es igual 789,105 y el cálculo de volumen V es igual a 519 231,00 que indica el volumen de información en bits requerido para especificar un programa.

  El sistema según las encuestas desarrolladas en cuanto al aspecto

de formación los usuarios han manifestado que el sistema es fácil de aprender en un 95%, en cuanto al entendimiento de las interfaces de entrada y reportes estos se entienden al 100%, en cuanto a la facilidad de uso indican que es 100% fácil de usar, el diseño de la interfaz indican que es adecuada en un 85%; por tanto, se ha logrado desarrollar un sistema con alto grado de usabilidad.

Page 94: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

CONCLUSIONES

La mantenibilidad del sistema según el cálculo de índice de madurez (IMS) es de 73.46% según el anexo G; por tanto, el sistema de búsqueda ha logrado un grado de mantenibilidad adecuado.

En cuanto a la portabilidad, desde el análisis de requerimientos no funcionales se ha elegido herramientas que faciliten que el sistema sea independiente del hardware y software, al respecto para el lenguaje de programación C++ se ha utilizado el compilador MinGw (Minimalist GNU for Windows) que es la versión del compilador g++ para Unix según las referencias el compilador es soportado por 65 plataformas (alpha-dec-osf5.1, amd64-solaris2.10, arm-eabi, avr, Blackfin, DOS, freebsd, etc.) información extraida del portal de GNU. El gestor de Base de Datos MySQL es soportada por 15 plataformas (Oracle Linux, Oracle Solaris, Suse, Debian, Microsoft, etc), esta información ha sido extraida del portal de MySQL.

El servidor web Apache es soportado por 10 sistemas operativos (Unix, FreeBSD, Solaris, Novell, etc.), esta información ha sido extraida del portal de Apache.

Page 95: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

CONCLUSIONES

http://gcc.gnu.org/install/specific.html http://www.mysql.com/support/supportedplatforms/database.html http://www.apache.org

Page 96: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

RECOMENDACIONES

Perú es un país con una importante riqueza biológica; por lo que es importante que esta sea adecuadamente sistematizada utilizando tecnologías de información.

El análisis de secuencias de ADN es importante para comprender el funcionamiento y características de los seres vivos de forma que se pueda desarrollar tecnología para el tratamiento de enfermedades, mejoramiento de productividad, etc.; por lo que se recomienda que más profesionales de ciencias médicas, biológicas, ingeniería de sistemas, computación entre otras profesiones puedan dedicar esfuerzos a este campo de investigación pues ya se cuenta con herramientas como la desarrollada en la presente tesis que hacen más fácil su tratamiento.

En cuanto al desarrollo de software es importante que la calidad de este sea determinada por métricas para cada una de las fases de su desarrollo.

Page 97: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

RECOMENDACIONES

La portabilidad del software es importante para que este pueda ser utilizado en múltiples plataformas de hardware y software sin necesidad de reescribir código y de esta forma se puede desarrollar tecnología propia que pueda ser expandible y escalable como el caso de buscadores de texto (Google, Yahoo, etc.) y así contribuir de manera eficiente con desarrollo tecnológico del país.

Page 98: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

PRUEBA DE HIPÓTESIS

Los criterios para contrastación de hipótesis se han definido en la sección 3.5 de la presente tesis; según los criterios estadísticos, el valor estándar para el margen de error es del 5% (0.05) equivalente a la tabla T students a 1.65, para los diseños cuasi experimentales tenemos la siguiente fórmula:

c

c

e

e

n

S

n

S

cXXeTc

22

cXXe cXXe

•Sean las Hipótesis Nula y Alternativa respectivamente:Ho :

H1 :

Page 99: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

PRUEBA DE HIPÓTESIS

Reemplazando Valores

34

18.403

34

38.118

56.69435.6922

Tc

72.8Tc 72.8Tc

Según la curva de control el Tc Calculado (-8.72) cae en la región de rechazo

Page 100: LOGO UNIVERSIDAD ANDINA NÉSTOR CÁCERES VELÁSQUEZ Escuela de Postgrado Maestría en Ingeniería de Sistemas Mención Informática “ SISTEMA DE BÚSQUEDAS EN.

MUCHAS GRACIAS POR SU ATENCIÓN