UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO
Adaptacin de la Transformada de Burrows Wheeler para la
Bsqueda de patrones en secuencias de ADN
Nombre Estudiante 1:
Brayan Rimayhuaman Grajeda
Cdigo Estudiante 1: 140986
Nombre Estudiante 2:
Jeanfranco David Farfan Escobedo
Cdigo Estudiante 2: 120885
Nombre Estudiante 3:
Kevin Davalos Vilca
Cdigo Estudiante 3: 081318
Bajo la asesora de:
Mgt. Julio Cesar Carbajal Luna
Per, Agosto de 2016
Escuela Profesional de Ingeniera Informtica y de Sistemas
Facultad de Ingeniera Elctrica, Electrnica, Informtica y Mecnica
Universidad Nacional de San Antonio Abad del Cusco
ndice
Contenido
Resumen ....................................................................................................................................................... 2
Antecedentes o esbozo del estado del arte ................................................................................................. 2
Problema de investigacion ........................................................................................................................ 3
Jutificacion ................................................................................................. Error! Marcador no definido.
Objetivos ........................................................................................................ Error! Marcador no definido.
Objetivos generales ................................................................................... Error! Marcador no definido.
Objetivos especficos ................................................................................. Error! Marcador no definido.
Hipotesis ........................................................................................................ Error! Marcador no definido.
Alcances y Limitaciones ................................................................................. Error! Marcador no definido.
Alcances ........................................................................................................................................................ 6
Limitaciones .............................................................................................................................................. 6
Esbozos del Marco teorico a Desarrollar ............................................... Error! Marcador no definido.
Transformada de Burrows-Wheeler ...................................................... Error! Marcador no definido.
Bsqueda de Patrones .......................................................................................................................... 9
Secuencias de ADN ................................................................................................................................. 10
Metodologa ............................................................................................. Error! Marcador no definido.1
Resultados Esperados a Priori ................................................................................................................ 11
Contribuciones Originales Esperadas...................................................................................................... 12
Impacto Social Esperado ......................................................................................................................... 12
Indice del Proyecto Tentativo de Investigacion ........................................... Error! Marcador no definido.2
Cronograma de Actividades ................................................................................................................... 13
Presupuesto ........................................................................................................................................ 13
1
1. Resumen
Un tpico importante en el anlisis de secuencias biolgicas es la bsqueda de patrones en el
ADN. Desde el punto de vista internacional, nacional y regional, podemos decir que el problema
que aqu se resuelve es de gran relevancia social, ya que se trata de un problema biolgico e
informtico que nos puede proporcionar informacin muy til sobre la solucionar del problema
de la bsqueda de patrones en secuencias de ADN en un tiempo de ejecucin ptimo. Para
obtener mayor compresin planteamos aplicar la bsqueda de patrones utilizando la
Transformada de Burrows Wheeler en secuencias de [Link] aporte contribuir con el
desarrollo y futuras investigacin en el campo de la bioinformtica.
2. ANTECEDENTES O ESBOZO DEL ESTADO DEL ARTE
La bsqueda de patrones en secuencias de ADN es un problema muy frecuente en la actualidad
en la bioinformtica. Es por eso que existen diversos mtodos para solucionar el problema.
El algoritmo KTreeMotif, desarrollado por M. Sc. Chan en 2016, resuelve el problema
implementando una nueva estructura de datos para almacenar y recorrer las subcadenas de
una manera ms sistemtica y rpida que el recorrido secuencial que suele usarse; tambin
hace una simplificacin de la funcin de distancia entre dos secuencias para el caso especfico
de la bsqueda de patrones frecuentes. El algoritmo adolece en el tiempo de respuesta pero el
objetivo de la propuesta es ofrecer una alternativa ms a la solucin del problema, al
corroborar que los resultados que fueron obtenidos iguales por distintos algoritmos y por esa
propuesta son ms fiables de ser los correctos.
El algoritmo Knuth-Morris-Pratt, elaborado por Donald Knuth y Vaughan Pratt y de modo
independiente por James H. Morris en 1977, trata de localizar la posicin de comienzo de una
cadena, dentro de otra. El algoritmo precalcula una tabla de saltos que despus al examinar
entre si las cadenas se utiliza para hacer saltos cuando se localiza un fallo.
El algoritmo de Boyer-Moore, desarrollado por Bob Boyer y J Strother Moore en 1977,
preprocesa la cadena objetivo que est siendo buscada, pero no en la cadena en que se busca.
El tiempo de ejecucin del algoritmo Boyer-Moore, aunque es lineal en el tamao de la cadena
siendo buscada, puede tener un factor significativamente ms bajo que muchos otros
algoritmos de bsqueda: no necesita comprobar cada carcter de la cadena que es buscada,
puesto que salta algunos de ellos. Generalmente el algoritmo es ms rpido cuanto ms grande
es la clave que es buscada, usa la informacin conseguida desde un intento para descartar
tantas posiciones del texto como sean posibles en donde la cadena no coincida.
2
El algoritmo de bsqueda de cadenas AhoCorasick, inventado por Alfred V. Aho y Margaret J.
Corasick en 1975, busca elementos (patrones) de un conjunto finito de cadenas dentro de un
texto. Una de las ventajas que presenta es que realiza la bsqueda de todos los patrones de
forma simultnea. Si se considera el tamao del alfabeto al cual pertenecen los patrones como
constante, entonces la complejidad temporal del algoritmo es lineal en cuanto a la suma de las
longitudes de los patrones ms la longitud del texto. Si se quieren conocer todas las ocurrencias
de forma explcita, al orden del algoritmo hay que sumarle la cantidad de ocurrencias, adems
si se buscan todas las ocurrencias, entonces puede haber un nmero cuadrtico de ellas si cada
subcadena es una ocurrencia.
El algoritmo Karp- Rabin enunciado por Michael Oser Rabin y Richard Manning Karp en 1987, se
basa en tratar cada uno de los grupos de m caracteres del texto (siendo m el nmero de
smbolos del patrn) del texto como un ndice de una tabla de valores hash (tabla de
dispersin), de manera que si la funcin hash de los m caracteres del texto coincide con la del
patrn es posible que hayamos encontrado un acierto. Para verificar hay que comparar el texto
con el patrn, ya que la funcin hash elegida puede presentar colisiones.
El algoritmo Commentz-Walter, inventado por Beate Commentz-Walter en 1995, al igual que el
algoritmo AhoCorasick puede buscar en varios patrones a la vez. Combina ideas del algoritmo
de Aho-Corasick con el algoritmo rpido de Boyer-Moore. Para un texto de longitud n y
longitud mxima patrn de m, el tiempo de ejecucin del peor caso es O(mn), aunque el caso
promedio es a menudo mucho mejor.
3. PROBLEMA DE INVESTIGACIN
Por qu es importante solucionar el problema de la bsqueda de patrones en secuencias de
ADN en un tiempo de ejecucin ptimo?
Desde el punto de vista internacional, nacional y regional, podemos decir que el problema que
aqu se resuelve es de gran relevancia social, ya que se trata de un problema biolgico que nos
puede proporcionar informacin muy til sobre el origen de los seres vivos, su complejidad y su
evolucin, y es bien conocido que este tipo de problemas despiertan cada vez un mayor inters
en los investigadores internacionales, nacionales y tambin de nuestra regin.
Los recientes avances tecnolgicos en diversas reas han permitido recolectar grandes
colecciones de datos, que luego tienen que ser procesados. Una de estas reas es la
bioinformtica, donde se analizan cada vez ms y mayores colecciones de secuencias de ADN.
Dado que secuencias de ADN relacionadas son altamente similares, por ejemplo dos genomas
humanos son muy parecidos, las colecciones pueden ser tratadas como un gran texto que
contiene cadenas altamente similares.
3
Desde el punto de vista biolgico debido a que en este proyecto hemos aplicado los algoritmos
implementados y las estrategias paralelas diseadas para la resolucin de un problema
biolgico real de gran importancia, el Problema la bsqueda de patrones en secuencias de ADN
, que an no ha sido resuelto de forma eficiente. Por lo tanto, optimizar representa un avance
importante en nuestro afn por conocer los misterios biolgicos que rodean a nuestro genoma
y el de las dems especies.
Desde el punto de vista cientfico, el trabajo presentado representa un avance y profundizacin
en la utilizacin de algoritmos que generalmente se aplican para resolver problemas complejos
de optimizacin. El trabajo tambin presenta numerosos estudios internos del funcionamiento
de los algoritmos diseados que nos permiten conocer mejor cmo opera cada uno y as poder
aplicarlo o adaptarlo mejor al problema que queramos resolver.
El tamao de las bases de datos que contienen informacin gentica (ADN) seguir creciendo y
la bsqueda de patrones seguir siendo una tarea necesaria para el anlisis de informacin
biolgica.
La habilidad de reconocer patrones puede ser usada por un sistema de clasificacin, el cual
acta en un dominio de elementos, determinando a cual grupo pertenece cada elemento.
La adaptacin y desarrollo de la transformada de Burrows wheeler permite la optimizacin en
tiempo y resultados de las aplicaciones desarrolladas, lo cual es de suma importancia para el
problema que se aborda en este proyecto y en general para cualquier problema de
optimizacin.
En el presente trabajo se desarroll una descripcin de las diferentes tcnicas que ayudan a
solucionar el problema de la bsqueda de patrones en secuencias de ADN, tambin se describi
como utilizar la transformada de Burrows Wheeler para solucionar el problema de la bsqueda
de patrones en secuencias de ADN. Adems, se describieron los primeros resultados que se
presenten obtener aplicado la Transformada de Burrows Wheeler.
4
4. JUSTIFICACIN
El presente trabajo es conveniente en el contexto actual de la bioinformtica donde la
necesidad de bsqueda de patrones en secuencias de ADN es cada vez mayor debido a la gran
cantidad de datos disponible.
Los beneficiarios de este este trabajo son las investigadores, estudiantes, docentes implicadas
en el rea de la bioinformtica as como personas involucradas en las ciencias de las
computacin de modo que pueden tener una solucin ms al problema de la bsqueda de
patrones en secuencias de ADN.
La solucin planteada en este trabajo tambin tiene implicaciones en una amplia gama de
problemas prcticos de la realidad como procesadores de texto, programas de bsqueda en
catlogos de bibliotecas, revistas electrnicas, directorios telefnicos, enciclopedias
electrnicas, bsquedas en bases de datos de secuencias de ADN o ARN, etc.
Con este trabajo se consigue generar nuevos estudios en la bioinformtica utilizando la idea de
bsqueda de patrones con la transformada de Burrows-Wheeler. Adems se espera tener un
impacto en la bioinformtica.
La repercusin del trabajo se da en la optimizacin de bsqueda de patrones en diferentes
contextos como la bioinformtica, las ciencias de la computacin y otras disciplinas de inters.
5. OBJETIVOS
5.1. Objetivo General.
Aplicar la bsqueda de patrones utilizando la Transformada de Burrows Wheeler en secuencias
de ADN.
5.2. Objetivos Especficos.
Entender el funcionamiento de la transformada de Burrows Wheeler para la
bsqueda de patrones en secuencias de ADN.
Realizar un anlisis en cada etapa de la aplicacin de la transformada de
Burrows Wheeler en la bsqueda de patrones en secuencias de ADN.
Sealar los resultados deseados cuando se aplique la transformada de Burrows
Wheeler en la bsqueda de patrones en secuencias de ADN.
5
6. HIPOTESIS
Los algoritmos que realizan bsqueda de patrones en secuencias de ADN tienen tiempos
de ejecucin no tan eficiente. Creemos que el problema estriba en la estructura de datos en el
que suelen realizar la bsqueda. Por tanto creemos que adaptando la estructura de datos que
resulta de la transformada de BurrowsWheeler se optimizar el tiempo de ejecucin de la
bsqueda de patrones, adems de mejorar el espacio de almacenamiento de las secuencias de
ADN.
7. ALCANCES Y LIMITACIONES
7.1. ALCANCES
El presente estudio determinar un algoritmo de bsqueda de patrones en
secuencias de ADN mediante la adaptacin de la transformada de Burrows
Wheeler, para los profesionales en el rea de la bioinformtica y ciencias de la
computacin.
El trabajo abarca nicamente la bsqueda de patrones en secuencias de ADN.
Los aspectos puntuales que comprende el trabajo estn referidos a la bsqueda
exacta de patrones. No se contemplar la bsqueda aproximada.
7.2. LIMITACIONES
Limitaciones en actividades:
La recopilacin de informacin necesaria para las secuencias de ADN no ser en
gran magnitud para las pruebas del algoritmo.
Los aspectos relacionados a los componentes de hardware no sern desarrollados
en el trabajo.
Limitaciones en recursos:
El alto costo de herramientas especializadas para el procesamiento de la
secuenciacin de ADN.
El alto costo de las fuentes de informacin autentificadas (revistas electrnicas, libro
y otros).
Limitaciones en tiempo:
El perodo de tiempo de recoleccin de la informacin de secuencias de ADN para
las pruebas del algoritmo comprende un mes de duracin.
6
8. Esbozo del marco terico a desarrollar
8.1 Transformada de Burrows-Wheeler.
La transformada de Burrows-Wheeler se aplica sobre un bloque de texto = 1 2 1
donde los pertenecen a un alfabeto . Adems, para indicar el fin del texto se usa un
carcter especial, por ejemplo $, que debe ser lexicogrficamente menor a todos los
caracteres en . Para transformar se realizan rotaciones consecutivas del texto, donde
cada rotacin define una secuencia (comenzando con 1 = $), definidas como la Figura 01
muestra:
M. Burrows and D. Wheeler. A block sorting lossless data compression algorithm. In Technical
Report 124, Digital Equipment Corporation, 1994
Figura 01. Rotaciones de un Bloque de texto
Luego se debe ordenar de forma lexicogrfica las secuencias de caracteres 1 , , generadas.
Con esto se obtiene una matriz donde la primera columna, , corresponde a los caracteres
del texto ordenados de forma lexicogrfica y la ltima columna, , corresponde a la
transformada de Burrows-Wheeler sobre , es decir = .
M. Burrows and D. Wheeler. A block sorting lossless data compression algorithm. In Technical
Report 124, Digital Equipment Corporation, 1994
7
En la Figura 02 se presenta el siguiente ejemplo: Para el texto = , muestra
todos los pasos que se siguieron para obtener la transformada de Burrows-Wheeler. La matriz
(a) muestra todas las rotaciones consecutivas que se realizan sobre el texto, y la matriz (b)
corresponde a la matriz (a) ordenada de forma lexicogrfica por filas. La ltima columna de la
matriz (b) corresponde a .
(a) (b)
Figura 02. Pasos que se siguieron para obtener la transformada de Burrows-Wheeler
En la Figura 03 se presenta la forma de realizar una bsqueda una vez obtenida la transformada
de Burrows Wheeler, tomando como patron a buscar abraca$
M. Burrows and D. Wheeler. A block sorting lossless data compression algorithm. In Technical
Report 124, Digital Equipment Corporation, 1994
Figura 03. Bsqueda de un patrn.
8
8.2. Bsqueda de Patrones
En ciencias de la computacin, bsqueda de patrones es el acto de comprobacin de
una determinada secuencia de fichas para la presencia de los componentes de algn
patrn. Los patrones generalmente tienen la forma de secuencias o estructuras de rbol.
Usos de coincidencia de patrones incluyen la salida de los lugares (en su caso) de un
patrn dentro de una secuencia de tokens, a la salida de algn componente del patrn
emparejado, y sustituir el patrn coincidente con alguna otra secuencia de tokens (es
decir, buscar y reemplazar).
Patrones de secuencia (por ejemplo, una cadena de texto) se describen a menudo el uso
de expresiones regulares y combinados utilizando tcnicas tales como retrocesos.
Jrmy Barbay, Meng He, J. Ian Munro, and Srinivasa Rao Satti. Succinct indexes for strings,
binary relations and multilabeled trees. ACM Transactions on Algorithms (TALG), 7(4), 2011
En la Figura 04 se presenta la aplicacin de la bsqueda de patrones en una determinada
secuencia, siendo P (patrn) y T (texto).
Jrmy Barbay, Meng He, J. Ian Munro, and Srinivasa Rao Satti. Succinct indexes for strings,
binary relations and multilabeled trees. ACM Transactions on Algorithms (TALG), 7(4), 2011
Figura 04. Ejemplo de la bsqueda de patrones.
9
8.3. Secuencias de ADN.
Una secuencia de ADN o secuencia gentica es una sucesin de letras representando
la estructura primaria de unamolcula real o hipottica de ADN o banda, con la capacidad
de transportar informacin.
J. Barbay, F. Claude, and G. Navarro. Compact rich-functional binary relation representations.
In Proc. 9th Latin American Symposium on Theoretical Informatics (LATIN 2010), LNCS 6034,
2010
Las posibles letras son A, C, G, y T, que simbolizan las cuatro subunidades
de nucletidos de una banda ADN - adenina, citosina, guanina, timina, que son bases
covalentemente ligadas a cadenas fosfricas. En el tpico caso, las secuencias se
presentan pegadas unas a las otras, sin espacios, como en la secuencia AAAGTCTGAC,
yendo de 5' a 3' de izq. a derecha.
J. Barbay, F. Claude, and G. Navarro. Compact rich-functional binary relation representations.
In Proc. 9th Latin American Symposium on Theoretical Informatics (LATIN 2010), LNCS 6034,
2010
Una sucesin de cualquier nmero de nucletidos mayor a cuatro es pasible de llamarse
una secuencia. En relacin a su funcin biolgica, que puede depender del contexto. En
la Figura 05 se presenta un Electroferograma de un secuenciador automatizado
mostrando parte de una secuencia de ADN.
J. Barbay, F. Claude, and G. Navarro. Compact rich-functional binary relation representations.
In Proc. 9th Latin American Symposium on Theoretical Informatics (LATIN 2010), LNCS 6034,
2010
10
Figura 05. Electroferograma de un secuenciador automatizado mostrando parte de una
secuencia de ADN.
9. Metodologa
Utilizando los conceptos de la Transformada de Burrows Wheeler se puede realizar una
bsqueda de un determinado patrn en una secuencia de ADN.
Primero, se realizara la transformada de Burrows Wheeler, con el objetivo de
obtener la transformada y a su vez la compresin del patrn deseado.
Segundo, se realizar la bsqueda del patrn en la transformada de Burrows
Wheeler.
Por ltimo, se obtiene el obtiene como salida el patron deseado en la secuencia de
ADN.
Comparando nuestro mtodo con el algoritmo Naive, nuestro mtodo sera superior en
trminos de bsqueda de patrones.
10. Resultados a priori esperados
Debido a que el tamao de las bases de datos de secuencias de ADN seguir
creciendo esperamos implantar un nuevo mtodo para que la bsqueda de
patrones de ADN dentro de ella sea mucho ms ptima que otros algoritmos
existentes.
Se espera que el algoritmo que se desarrolla en este trabajo sea una herramienta
til en para la bsqueda de patrones.
Se espera poder establecer una estructura de almacenamiento de secuencias de
ADN en bases de datos de gran tamao y luego reducir los tiempos de
bsqueda de patrones en secuencias de ADN comparado a otros algoritmos de
bsqueda.
11
11. Contribuciones originales esperadas
Las aportaciones originales de este trabajo son las siguientes:
Conceptualizacin de la transformada de Burrows Wheeler como herramienta para abordar el
problema de la bsqueda de patrones en secuencias de ADN, permitiendo as un mejor
rendimiento frente a otros algoritmos inmersos en el problema.
Caracterizacin de la estrategia de la transformada de Burrows Wheeler aplicada a la bsqueda
de patrones en secuencias de ADN.
12. IMPACTO SOCIAL ESPERADO
La rpida y espectacular evolucin de la Bioinformtica est necesitando cada vez de mtodos
ptimos para las soluciones a sus problemas.
El presente trabajo intenta contribuir en herramientas de bsqueda de patrones en el anlisis
de secuencias de ADN en el rea de la Bioinformtica. El algoritmo que se plantea intenta
aportar soluciones ptimas en los diversos problemas, tal como el alineamiento mltiple de
secuencias, la secuenciacin correcta de cadenas de ADN y el ensamblaje de secuencias.
Como impacto indirecto se espera la aplicacin del algoritmo en soluciones de mltiples
problemas de las Ciencias de la Computacin, ya que los diferentes retos de las Ciencias de la
Computacin exigen tambin soluciones a problemas relacionados a la Bioinformtica.
13. INDICE TENTATIVO DEL PROYECTO DE INVESTIGACIN
FORMULACIN DEL TTULO.
ANTECEDENTES, PLANTEAMIENTO DEL PROBLEMA, JUSTIFICACION
Y OBJETIVOS.
HIPOTESIS, ALCANCES Y LIMITACIONES, METODOLOGIA.
RESUMEN, CONTRIBUCIONES, IMPACTO SOCIAL, INDICE TENTAIVO,
CRONOGRAMA, PRESUPUESTO, REFERENCIAS.
12
14. CRONOGRAMA DE ACTIVIDADES
15. PRESUPUESTO
Componentes Costo S/. Fuente financiera
Gpu(GeForce GTX 1070) S/.4500.00 Vicerrectorado de
Investigacin
13