INSTITUTO POLIT´ECNICO NACIONAL
CENTRO DE INVESTIGACI ´ON EN COMPUTACI ´ON
DISE ˜NO DE UN CIRCUITO BUSCADOR DE SECUENCIAS GEN´ETICAS
TESIS
QUE PARA OBTENER EL GRADO DE
MAESTRO EN CIENCIAS DE LA COMPUTACI ´ON
PRESENTA
ERIK HERN ´ANDEZ P´EREZ
DIRECTOR DE LA TESIS
DR. ALFONSO GUTIERREZ ALDANA
M´exico D.F. Agosto,2010
A mi familia.
Agradecimientos
A mis padres, Guadalupe P´erez y Rafael Hern´andez, por todo su apoyo y cari˜no.
A mis hermanos Rafa, Juan, Daniel, Vero, Marco, Lul´u, Ale y Andr´es, de quienes he aprendido a vivir y de la vida. Al Instituto Polit´ecnico Nacional en cuyas aulas encontr´e conocimiento. Al Centro de Investigaci´on en C´omputo por darme la opor- tunidad de ser mejor. Al Dr. Alfonso Guti´errez Aldana por su gu´ıa en esta aventura.
Al profesor V´ıctor Majarrez por su contribuci´on a mi educaci´on. Y a todas aquellas personas que me han ayudado, guiado, motivado y compartido conmigo un poco de su tiempo, experiencia y conocimiento. Gracias.
Resumen
Se estudiaron y se reportan en este documento varios conceptos b´asicos de Bio- log´ıa que contextualizan al tema de estudio de esta tesis. En particular el trabajo est´a enmarcado dentro de la disciplina conocida como Bioinform´atica de la cual se trataron y describen, conceptos y problemas fundamentales. El documento expone informaci´on sobre los bancos de datos que almacenan secuencias gen´eticas; as´ı co- mo la forma de obtener los elementos e informaci´on de dichas secuencias.
Se reporta, en definiciones y ejemplos, las bases para la comparaci´on de secuen- cias gen´eticas de ADN. As´ı como una breve descripci´on de algunos de los algoritmos empleados para la b´usqueda de secuencias similares. De los algoritmos estudiados y comparados se selecciono al algoritmo BLAST, elecci´on justificada por la amplia aceptaci´on con la que cuenta en la actualidad el algoritmo. El algoritmo BLAST es expuesto con detalle en el cuerpo del escrito.
En el documento se describen algunos trabajos relacionados al tema de es- tudio, varios de los cuales fueron concluidos en a˜nos recientes. El trabajo trata sobre el dise´ no de un circuito para la b´usqueda de secuencias gen´eticas similares.
El circuito implementa al algoritmo BLAST, y su funcionamiento se simul´o y prob´o sa´-tisfactoriamente en VHDL. La intensi´on es que el dise˜no pueda imple- mentarse varias veces en un dispositivo de l´ogica programable para poder ejecutar b´usquedas de similitud en paralelo entre secuencias gen´eticas.
El trabajo propone un esquema para almacenar, segmentar y organizar los archivos de las secuencias gen´eticas; elementos que se probaron satisfactoriamente y se detallan en este documento. Se plantea que las piezas propuestas (circuito, esquema de almacenamiento, segmentaci´on y organizaci´on) funcionen en conjunto en un sistema independiente a otro sistema de comput´o; principio que diferencia al trabajo de los realizado hasta el momento. La independencia planteada para el dise˜no supone un ahorro en costos y espacio, as´ı como la privacidad de las b´usquedas realizadas.
Se propone el uso del puerto USB para llevar a cabo la comunicaci´on entre una memoria secundaria y el dispositivo de l´ogica programable que implemente al dise˜no realizado. En el presente documento se expone informaci´on elemental sobre el puerto USB; y se describe el dise˜no e implementaci´on de una tarjeta (comple- mentada con una aplicaci´on en software) usada para familiarizarse con el proceso de enumeraci´on del bus USB (actividad que identifica y asigna una direcci´on ´unica a un dispositivo conectado al bus USB). Los datos arrojados por la tarjeta se com- probaron satisfactoriamente, comparando los resultados obtenidos con los de un analizador de protocolo USB comercial.
Abstract
Were studied and reported in this document several basic concepts of biology that contextualize the subject matter of this thesis. In particular the work is part of the discipline known as Bioinformatics from which were discuss and describe, concepts and problems fundamental. The document provides information about databases that store genetic sequences as well as how to get the data and informa- tion of such sequences.
We report on definitions and examples, the bases for comparing genetic se- quences of DNA. And a brief description of some of the algorithms used to search for similar sequences. Of the algorithms studied and compared BLAST algorithm was selected, choice justified by the wide acceptance which has currently the algo- rithm. The BLAST algorithm is explained in detail in the body of document.
The document describes some work related to the subject of study, several of which were completed in recent years. The work deals with the design of a circuit for finding similar sequences. The circuit implements the BLAST algorithm, and its functionality was simulated and tested successfully in VHDL. The intention is that design can be implemented several times in a programmable logic device to run searches in parallel of similarity between sequences.
The work proposes a scheme to store, divide and organize files of genetic se- quences, elements that were tested successfully and are detailed in this document.
It is suggested that proposal parts (circuit, scheme to store, divide and organize files) work together on an independent system to other computer system, a prin- ciple that distinguishes this work from others. The proposal independence for the design supposed saves cost and space, as well as the privacy of searches.
In this document presents basic information on the USB port and describes the design and implementation of a card (supplemented by a software application) used to become familiar with the USB bus enumeration process (activity that identifies and assigns unique addresses to devices attached to a bus USB)of l isting the USB bus (activity that identifies and assigns a unique address a device connected to the USB bus). The data collected from the card were successfully verified by comparing the results with those of a commercial protocol USB analyzer.
´Indice general
Dedicatoria I
Agradecimientos II
Resumen III
Abstract V
´Indice. X
´Indice de figuras. XV
´Indice de tablas. XVII
Glosario XVIII
1. Introducci´on 1
1.1. Organizaci´on del trabajo. . . 6
1.2. Definici´on del problema. . . 7
1.3. Planteamiento. . . 8
1.4. Objetivos. . . 8
1.4.1. Objetivo General. . . 9
1.4.2. Objetivos Espec´ıficos. . . 9
1.5. Antecedentes. . . 9
1.6. Justificaci´on. . . 19
2. Marco Te´orico. 21
2.1. El ADN y las Prote´ınas. . . 21
2.2. Homolog´ıa. . . 27
2.3. Bioinform´atica. . . 30
2.4. Bases de datos. . . 32
2.5. Alineamiento de Secuencias. . . 35
2.6. BLAST. . . 43
3. Dise˜no. 48 3.1. Esquema general. . . 48
3.2. Consideraciones. . . 49
3.2.1. Selecci´on del algoritmo. . . 49
3.2.2. Selecci´on del microcontrolador. . . 51
3.2.3. Planteamiento de paralelismo. . . 51
3.2.4. Manejo de las secuencias. . . 52
3.3. Esquema de almacenamiento. . . 55
3.3.1. Codificaci´on de los archivos fasta. . . 56
3.3.2. Segmentaci´on de los archivos fasta. . . 57
3.3.3. Estructura de los directorios. . . 58
3.4. Bloque de Procesamiento BLAST. . . 61
3.4.1. Pasos generales. . . 61
3.4.2. Descripcion de los objetivos de la entidades. . . 62
3.4.3. Flujo de datos. . . 63
3.4.4. Procedimiento General. . . 64
3.4.5. Reloj. . . 68
3.4.6. Bloques de memoria. . . 68
3.4.7. Apertura y almacenamiento. . . 69
3.4.8. B´usqueda de hit s. . . 73
3.4.9. Extensi´on de hit. . . 76
3.4.10. Evaluaci´on de los alineamientos. . . 80
3.5. Casos complementarios. . . 81
3.5.1. Terminaci´on de la secuencia consulta. . . 81
3.5.2. Terminaci´on del proceso de extensi´on. . . 82
3.5.3. Terminaci´on de las secuencias a la izquierda y derecha. . . . 82
4. Pruebas y resultados. 84 4.1. Simulaci´on del esquema de almacenamiento. . . 84
4.2. Pruebas y resultados. . . 85
4.2.1. Simulaci´on de apertura y almacenamiento. . . 87
4.2.2. Simulaci´on del proceso de b´usqueda de hit s. Parte 1 (puntos del uno al cuatro). . . 89
4.2.3. Simulaci´on del proceso de b´usqueda de hit s. Parte 2 (puntos de cinco y seis). . . 91
4.2.4. Simulaci´on del proceso de extensi´on de hit. . . 93
4.2.5. Simulaci´on de la evaluaci´on de alineamiento. . . 96
4.3. Tarjetas USB. . . 98
4.3.1. Tarjeta de monitoreo. . . 98
4.3.2. Analizador USB . . . 107
4.3.3. Validaci´on de resultados. . . 108
4.3.4. Tarjeta OTG. . . 109
5. Conclusiones. 113 5.1. Discusi´on. . . 113
5.2. Conclusiones. . . 115
5.3. Aportaciones. . . 116
5.4. Trabajo futuro. . . 117
Bibliograf´ıa 126 A. Comparaci´on de archivos. 127 B. Bus Serial Universal. 138 C. Obtenci´on de secuencias gen´eticas. 143 D. C´odigo VHDL. 145 D.1. Entidad Micro (E0). . . 145
D.2. Entidad Reloj (E1). . . 153
D.3. Entidad Distribuidor (E2). . . 154
D.4. Entidad AdmSc (E3). . . 159
D.5. Entidad AdmSj (E4). . . 169
D.6. Entidad Buscador (E5). . . 179
D.7. Entidad Extensor (E6). . . 183
D.8. Entidad Alineador (E7). . . 187
´Indice de figuras
1.1. Crecimiento sostenido de la cantidad de datos almacenados en el
EMBL . . . 5
1.2. Gr´afica de costo-rendimiento de la tecnolog´ıa de FPGAs. . . 14
1.3. Algoritmo TreeBLAST. . . 15
1.4. Indexaci´on de las secuencias gen´eticas de acuerdo a Liu X. . . 16
1.5. Crecimiento de los proyectos genoma completos, e incompletos. . . . 19
2.1. Estructura de la mol´ecula de ADN. . . 23
2.2. C´elula, cromosomas y ADN. . . 25
2.3. Transiciones del material gen´etico. . . 26
2.4. Homolog´ıa. . . 29
2.5. ´Arbol filogen´etico molecular de la vida. . . 30
2.6. Bioinform´atica hoy y en el futuro. . . 32
2.7. Registro del GenBank. . . 35
2.8. Alineamiento Global y Local . . . 42
2.9. Ubicaci´on de un hit en una secuencia sujeto. . . 44
2.10. Ejemplo BLAST. . . 45
2.11. Evalucaci´on del par´ametro S. . . 46
2.12. Diagrama de flujo del algoritmo BLAST. . . 47
3.1. Esquema general de la arquitectura propuesta. . . 49
3.2. Planteamiento de paralelismo. . . 52
3.3. Archivo de salida en la identificaci´on y conteo de las palabras que
ocurren en una secuencia gen´etica. . . 53
3.4. Ocurrencia m´axima de una palabra en cada segmento del genoma de la bacteria Escherichia Coli Se11. . . 54
3.5. Segmentaci´on y codificaci´on de un archivo fasta. . . 57
3.6. Planteamiento de paralelismo sobre el esquema de segmentaci´on. . . 58
3.7. El directorio admBio. . . 59
3.8. Organizaci´on de los directorios esquema (Esq) en subdirectorios en- trada (Ent). . . 60
3.9. Esquema de almacenamiento. . . 61
3.10. Flujo de datos. . . 63
3.11. Diagrama general del proceso que inicializa la b´usqueda. . . 64
3.12. Diagrama general del proceso de b´usqueda. . . 65
3.13. Descrici´on del Buscador. . . 65
3.14. Descripci´on del proceso de extensi´on. . . 66
3.15. Datos enviados al Alineador. . . 67
3.16. Diagrama a bloques. . . 67
3.17. Se˜nales de reloj. . . 68
3.18. Bloque de memoria. . . 68
3.19. Entidad Distribuidor. . . 69
3.20. Entidades y buses que participan en el proceso de apertura y alma- cenamiento. . . 70
3.21. Proceso de adquisici´on y almacenamiento secuencias (parte 1). . . . 71
3.22. Proceso de adquisici´on y almacenamiento secuencias (parte 2). . . . 71
3.23. Terminaci´on de la lectura de los archivos. . . 72
3.24. Diagrama de tiempo del amacenamiento de los datos. . . 73
3.25. Entidades y buses que participan en el proceso de b´usqueda de hit s. 73 3.26. Se˜nales para el comienzo del proceso de b´usqueda de hits. . . 74
3.27. Transmisi´on de los elementos de la secuencia a la entidad Buscador. 74 3.28. Se detiene de la actividad de la entidad AdmSc durante el proceso de b´usqueda de hit s. . . 75
3.29. Comparaci´on, corrimiento y definici´on de una nueva palabra. . . 75
3.30. Terminaci´on de la b´usqueda de un W-mer y el comienzo de una
nueva b´usqueda. . . 76
3.31. Entidades y buses que participan en la proceso de extensi´on. . . 77
3.32. Inicio del proceso de extensi´on de un hit. . . 78
3.33. Las tareas del Extensor durante el proceso de extensi´on. . . 78
3.34. Comportamiento de las entidades durante el proceso de extensi´on en los diferentes ciclos de reloj. . . 79
3.35. Los datos de un alineamiento son compartidos por las entidades AdmSc, AdmSj, Extensor y Distribuidor. . . 80
3.36. Se˜nales de terminaci´on de un alineamiento. . . 81
3.37. Terminaci´on de la exploraci´on. . . 81
3.38. Terminaci´on del proceso de extensi´on. . . 82
3.39. Terminaci´on de la secuencia consulta a la derecha. . . 83
3.40. Terminaci´on de la secuencia consulta a la izquierda. . . 83
4.1. Implementaci´on del esquema de almacenamiento propuesto, a ma- nera de simulaci´on. . . 84
4.2. Alineamiento de prueba. . . 85
4.3. Diagrama del dise˜no propuesto. . . 86
4.4. Archivo MinCn.txt. . . 87
4.5. Simulaci´on del proceso de apertura de archivos y almacenamiento de las secuencias gen´eticas. . . 88
4.6. Simulaci´on del proceso de b´usqueda de hit s. . . 90
4.7. Simulaci´on del proceso de b´usqueda de hit s (segunda parte). . . 92
4.8. Simulaci´on del proceso de extensi´on hit. . . 94
4.9. Simulaci´on del proceso de evaluaci´on de alineamiento. . . 97
4.10. Diagrama del hardware del ejemplo TB055 de Microchip. . . 98
4.11. Modificaciones hechas al ejemplo TB055. . . 99
4.12. Hardwere agregado al ejemplo TB055. . . 101
4.13. Comunicaci´on serial. . . 102
4.14. Interfaz desarrollada para la tarjeta de monitoreo. . . 103
4.15. Archivo resultante del monitoreo. . . 104
4.16. Tarjeta desarrollada basada en el ejemplo TB055. . . 105
4.17. Configuraci´on del PIC18F4550. . . 106
4.18. USBTrancer. . . 107
4.19. Secuencia de inicio reset, suspensi´on, reset. . . 108
4.20. Fin del proceso de enumeraci´on en ambos archivos. . . 109
4.21. Dise˜no de una tarjeta OTG. . . 111
4.22. Par´ametros usados en la configuraci´on del PIC24FJ256GB108. . . . 112
5.1. Propuesta basada en el trabajo de Sostiriades E. & Dollas A. [22]. . 114
5.2. Uso de varias l´ıneas para la transmisi´on de letras. . . 115
A.1. Inicio del proceso de enumeraci´on. . . 128
A.2. Primera solicitud del descriptor del dispositivo. . . 128
A.3. Solicitud de direcci´on dentro del bus USB. . . 129
A.4. Segunda solicitud del descriptor del dispositivo. . . 129
A.5. Descripci´on del primer descriptor de configuraci´on. . . 130
A.6. Primer descriptor de configuraci´on. . . 131
A.7. Descripci´on del primer descriptor de cadena. . . 132
A.8. Primer descriptor de cadena. . . 132
A.9. Continuaci´on del primer descriptor de cadena. . . 133
A.10.Descripci´on del segundo descriptor de cadena. . . 133
A.11.Segundo descriptor de cadena. . . 134
A.12.Continuaci´on del segundo descriptor de cadena. . . 134
A.13.Tercer descriptor de dispositivo. . . 135
A.14.Segunda solicitud del descriptor de configuraci´on. . . 135
A.15.Continuaci´on solicitud del segundo descriptor de configuraci´on. . . . 136
A.16.Establecimiento de la configuraci´on. . . 136
A.17.Stall. . . 137
A.18.Fin del proceso de enumeraci´on. . . 137
B.1. Topolog´ıa de estrellas escalonadas. . . 139
B.2. Transferencia, transacci´on y paquete. . . 141
B.3. Transferencias, Transacciones, Paquetes y Marcos. . . 141
C.1. Sitio Web del NCBI. . . 143
C.2. Registros de Escherichia coli se11. . . 144
C.3. Formatos de descarga de una secuencia. . . 144
´Indice de tablas
1.1. Ejemplo del algoritmo de Smith y Waterman. . . 11
1.2. Porcentajes de tiempo consumido en diversas etapas de BLAST. . . 16
1.3. Caracter´ısticas t´ecnicas de implementaciones BLAST en CR. . . 18
2.1. Tabla comparativa entre las c´elulas procari´oticas y eucari´oticas. . . 22
2.2. C´odigo gen´etico. . . 27
2.3. Tama˜no de algunas entidades gen´eticas. . . 28
2.4. Algunos tipos de bases de datos en bioinform´atica. . . 33
2.5. Principales bancos de nucle´otidos en el mundo. . . 34
2.6. Campos de un registro del GenBank. . . 34
2.7. Notaci´on de pesos. . . 41
2.8. Ejemplo de w-mers. . . 44
3.1. Caracter´ısticas de algunos algoritmos para la b´usqueda de similitud entre secuencias. . . 50
3.2. Tabla comparativa entre algoritmos. . . 51
3.3. Frecuencia de ocurrencia de palabras de doce letras. . . 54
3.4. Codificaci´on binaria de las letras que representan a un nucle´otido. . 56
3.5. Entidades que constituyen al dise˜no propuesto. . . 62
4.1. Secuencias utilizadas en la simulaci´on del comportamiento del BPB. 85 4.2. Se˜nales involucradas en el proceso de apertura de archivos y alma- cenamiento de las secuencias gen´eticas. . . 87
4.3. Pasos en la apertura de archivos de las secuencias gen´eticas. . . 88
4.4. Se˜nales y buses involucrados en los primero cuatro puntos de el proceso de b´usqueda. . . 89 4.5. Primero cuatro pasos del proceso de b´usqueda de hits. . . 90 4.6. Se˜nales y buses involucrados en los dos puntos finales de el proceso
de b´usqueda de un hit. . . 91 4.7. ´Ultimos pasos del proceso de b´usqueda de hits. . . 92 4.8. Se˜nales y buses involucrados en el proceso de extensi´on de un hit. . 93 4.9. Pasos del proceso de extensi´on. . . 95 4.10. Buses usados para transmitir la informaci´on del alineamiento. . . . 96 4.11. Instrucciones para la identificaci´on de secciones del c´odigo fuente
original. . . 100 4.12. Instrucciones para la se˜nal de dato presente. . . 101 4.13. C´odigo de prueba para el PIC24FJ256GB108. . . 110
Glosario.
Alineamiento de secuencias. Comparaci´on lineal de secuencias de amino´aci- dos, o bien de nucle´otidos, en la que se introducen operaciones de inserci´on, supresi´on y sustituci´on; para lograr que en posiciones equivalentes haya coin- cidencia entre los elementos de una secuencia y otra.
Amino´acidos (aa). Bloque de construcci´on fundamental de las prote´ınas.
Arbol filogen´´ etico. Representaci´on gr´afica de las posibles relaciones evolutivas entre grupos de organismos.
Bacteria. Organismo unicelular procari´otico sin n´ucleo diferenciado.
Base. Uno de los componentes de los nucle´otidos y ´acidos nucleicos. En condi- ciones naturales, en el ADN se encuentran cuatro bases diferentes (las puri- nas adenina(A) y guanina (G), y las pirimidinas citosina (C) y timina (T)).
En el RNA, uracilo (U) sustituye a T [63].
Bioinform´atica. Uso y organizaci´on de la informaci´on de inter´es biol´ogico. En particular, los relacionados con la organizaci´on de bases de datos biomole- culares (particularmente secuencias de ADN), que implican la utilizaci´on de computadoras para su an´alisis, e integran informaci´on procedente de fuentes biol´ogicas dispares [63].
Biorreactor. Tanque en el que c´elulas, extractos celulares o enzimas llevan a cabo una reacci´on biol´ogica. Generalmente hace referencia a los recipientes de fermentaci´on para c´elulas o microorganismos [63].
C´elula. Nivel b´asico de organizaci´on estructural de los organismos complejos. Las c´elulas eucari´oticas constan de un n´ucleo (con cromosomas) y un citoplasma provisto de la maquinaria adecuada para la s´ıntesis de prote´ınas, rodeado de una membrana. Las c´elulas procari´oticas carecen de n´ucleo [63].
ADN. Abr. de ´acido desoxirribonucleico. El ADN constituye el material gen´etico de la mayor´ıa de los organismos y org´anulos que se conocen; normalmente se encuentra formando una doble h´elice, aunque algunos genomas virales contienen ADN de una sola cadena y otras, RNA de una o doble cadena [63].
Doble H´elice. Enrollamiento de las dos hebras de la mol´ecula de ADN, a seme- janza de una escalera de caracol, donde los pares de bases forman los escalones y los esqueletos de az´ucar-fosfato, los pasamanos de cada lado [63].
Gen. Es la unidad f´ısica fundamental de la herencia. Es una secuencia ordenada de nucle´otidos localizados en una posici´on concreta en un cromosoma particular que codifican un producto funcional espec´ıfico.
Genoma. Es todo el material gen´etico de los cromosomas de cierto organismo; su tama˜no suele darse como su n´umero total de pares de bases.
Gen´omica. Rama de la biolog´ıa que se encarga del estudio de los genomas. A diferencia de la gen´etica cl´asica que a partir de un fenotipo, generalmente mutante, busca el o los genes responsables de dicho fenotipo, la gen´omica tiene como objetivo predecir la funci´on de los genes a partir de su secuencia.
Herencia. Parecido entre individuos que se relacionan por ascendencia; trans- misi´on de caracteres de los progenitores a su descendencia [63].
Homolog´ıa. Grado de identidad entre individuos o caracteres. Grado de identidad de las secuencias (de nucle´otidos o amino´acidos) entre diferentes mol´eculas de ADN o polip´eptidos [63].
Hom´ologo. Del mismo origen, o con la misma funci´on o estructura evolutiva.
Referidas a ADN y a prote´ınas: con secuencias id´enticas, o casi id´enticas de nucle´otidos y amino´acidos, respectivamente [63].
Mutaci´on. Es cualquier cambio en una secuencia de ADN
Mutaci´on Silenciosa. Es una sustituci´on nucleot´ıdica que no da lugar a una sustituci´on en el producto traducido, debido a la redundancia del c´odigo gen´etico.
N´ucleo Celular. El n´ucleo contiene la mayor parte del material qu´ımico fun- damental (´acido desoxirribonucleico), que lleva la informaci´on gen´etica. Los elementos que constituyen el n´ucleo celular son: la membrana celular, el nu- cleoplasma, los nucleolos y los cromosomas.
Organismo Modificado Gen´eticamente (OMG). Organismo transformado por la inserci´on de uno o m´as transgenes [63].
Org´anulo. Regi´on especializada, situada dentro de una c´elula y rodeada por una membrana, que desempe˜na determinadas funciones en la vida de la c´elula.
Ejemplo de org´anulos es la mitocondria [63].
Ort´ologos. Son prote´ınas hom´ologas que realizan la misma funci´on en especies diferentes.
Par Bases (pb). Cualquiera de los apareamientos posibles entre bases en hebras opuestas de ADN o RNA. La adenina (A) se empareja con la timina (T) en el ADN, o con el uracilo (U) en el ARN; y la guanina(G) se empareja con la citosina (C).
Par´alogas. Prote´ınas homologas que realizan funciones diferentes pero relacionadas en un organismo.
P´eptido. Dos o m´as amino´acidos unidos covalentemente por enlaces pept´ıdicos.
Pol´ımero. Compuesto formado por la ligadura qu´ımica de varias mol´eculas de la misma clase o de clases estrechamente afines.
Polip´eptido. Cadena de amino´acidos unidos por enlaces pepticos.
Prote´ına. Mol´ecula compuesta de una o m´as cadenas de amino´acidos en un orden espec´ıfico; el orden est´a determinado por la secuencia b´asica de nucle´otidos en
el gen que codifica la prote´ına. Las prote´ınas son necesarias para la estructura, funci´on y regulaci´on de las c´elulas, tejidos y ´organos, teniendo cada prote´ına un papel espec´ıfico.
Proyectos Genoma. Iniciativas (a menudo de colaboraci´on internacional) para mapear y secuenciar los genomas completos de ciertos organismos.
Replicaci´on del ADN. Proceso por el que el ADN se copia.
RNA. ´Acido ribonucleico, constituye el material gen´etico de algunos virus y, de forma m´as general, es la mol´ecula, derivada del ADN por transcripci´on, que transporta la informaci´on (RNA mensajero), suministra la estructura sub- celular (RNA ribosomal), transporta los amino´acidos (RNA de transferencia) o facilita su propia modificaci´on bioqu´ımica o la de otras mol´eculas de RNA.
Secuencia. Orden lineal de nucle´otidos en las mol´eculas de ADN y RNA (o de amino´acidos en prote´ınas). El objetivo de la secuenciaci´on de un genoma es determinar el orden lineal de todos los nucle´otidos del ADN nuclear de un organismo [63].
Secuencia codificante (CDS). Regi´on del ADN o RNA cuya secuencia deter- mina la secuencia de amino´acidos de una prote´ına.
S´ıntesis de Prote´ınas. Producci´on de una prote´ına a partir de sus amino´acidos constitutivos de acuerdo con la secuencia del ADN del gen que la codifica.
Transg´en. Secuencia gen´etica aislada que se utiliza para transformar un organis- mo. A menudo, pero no siempre, el transg´en proviene de una especie distinta a la del receptor [63].
Unicelular. Tejidos, ´organos u organismos que constan de una sola c´elula.
Virus. Part´ıcula infecciosa compuesta por una c´apsula de prote´ına y un centro de
´
acido nucleico (ADN o RNA), que depende de un organismo anfitri´on para su replicaci´on [63].
Xilosa. Tipo de az´ucar encontrada en materias vegetales: madera, paja, etc.
Cap´ıtulo 1
Introducci´ on
La cantidad y calidad de los datos de la secuenciaci´on del material gen´etico, en amino´acidos y nucle´otidos, ha permitido a las ciencias biol´ologicas, tradicional- mente vistas como ciencias basadas en la observaci´on, contar con herramientas de an´alisis que les permitan usar herramientas matem´aticas y de c´omputo en su es- tudio, de tal forma que Augen J. en [1] sugiere una eventual migraci´on del estudio de la biolog´ıa de los organismos vivos in vivo (la vida en su ambiente natural) al estudio in vitro (experimentaci´on de laboratorio) y finalmente al estudio in silicon (experimentaci´on por medio de simulaci´on en equipo de c´omputo). La actual dis- posici´on del material gen´etico, en secuencias de unidades bien definidas, pone a los sistemas de c´omputo en posibilidad de participar en el replanteamiento de nuestra interacci´on con el medio ambiente, y en el esfuerzo por comprender la propia na- turaleza humana sobre la ´ındole de las enfermedades y los procesos que subyacen en ellas [2].
La cadena de eventos que nos ha puesto ante el reto de proponer tecnolog´ıa que aporte al uso, an´alisis y compresi´on de los datos obtenidos, comienza con la identificaci´on de la mol´ecula de ´acido desoxirribonucleico (ADN) como el material gen´etico, portador de las caracter´ısticas hereditarias de los individuos. As´ı como la descripci´on de la estructura y composici´on qu´ımica de la mol´ecula de ADN.
CAP´ITULO 1. INTRODUCCI ´ON
Continuando en las recientes d´ecadas con el desarrollo y depuraci´on de t´ecnicas y metodolog´ıas que hacen posible la obtenci´on, r´apida y confiable de la secuencia de todo el material gen´etico de un organismos (genomas)1. Lo que ha revolucionado la capacidad de percibir a los sistemas biol´ogicos a escala molecular, donde la vi- da presenta una notable uniformidad. Ya que, todo organismo vivo usa el mismo material gen´etico, interpreta las instrucciones gen´eticas con el mismo c´odigo, y los procesos de s´ıntesis y expresi´on gen´etica son sustancialmente similares [3].
Sin embargo, no s´olo el conocimiento del material gen´etico motiva un esfuer- zo por integrarse al auge de la actual investigaci´on biol´ogica. Los avances de la biolog´ıa molecular y el descubrimiento de la gen´omica y la ingenier´ıa gen´etica, permiten hoy alterar la estructura de lo vivo, de crear nuevas especies vegetales, animales y, al final la posibilidad de transformar al ser mismo del hombre (cuerpo humano)[5]; de modo tal, que hoy se cuenta con la tecnolog´ıa y conocimientos para la adquisici´on, manejo y transferencia del ADN, lo que tiende a modificar la forma de procurarnos salud, de producir alimentos y generar energ´ıa.
Con la adquisici´on del genoma humano, un conjunto de tendencias se han comenzado a aglutinar en un nuevo enfoque medico, denominado medicina gen´omi- ca, la cual pretende aplicar el conocimiento generado por el Proyecto del Genoma Humano (PGH), en el mejoramiento de la salud mediante el estudio sistem´atico de variantes de secuencias entre distintos individuos [5]. Se espera que la secuen- cia de nuestros genes y su manipulaci´on permitan corregir disfunciones graves del organismo, cambiando de ser necesario, la informaci´on gen´etica de las c´elulas.
Por otro lado, la tecnolog´ıa para la transferencia de ADN ha permitido el desa- rrollo de organismos transg´enicos o modificados gen´eticamente (OMG)2. Los cuales han sido utilizados en el estudio de las funciones de los genes, como biorreactores industriales de biol´ogicos para consumo humano (prote´ınas y hormonas de impor-
1Por ejemplo, a finales del 2008 se reportaban, por dos grupos de cient´ıficos diferentes, la secuenciaci´on del genoma del ser humano en ocho semanas [4]. El Proyecto del Genoma Humano con un objetivo similar, tomo m´as de una d´ecada.
2La transferencia de material gen´etico permite alterar las caracter´ısticas originales o naturales de un organismo.
CAP´ITULO 1. INTRODUCCI ´ON
tancia m´edica3), en el desarrollo de ´organos para transplantes humanos que no pre- senten problemas de rechazo (de acuerdo a [5] al citar el documento [6]) as´ı como en la experimentaci´on cient´ıfica4; quiz´as una de las repercusiones m´as importantes de los organismos transg´enicos, est´a en el ´area agr´ıcola-pecuaria donde se realiza una intensa investigaci´on en el mejoramiento de la calidad y cantidad5 de los alimentos.
En el caso de la agricultura la manipulaci´on gen´etica se ha enfocado princi- palmente, en el aumento de las propiedades alimentarias, en la disminuci´on de p´erdidas ocasionadas por plagas y enfermedades y la reducci´on de los costos de producci´on. Un ejemplo relevante, debido a su impacto social, es la introducci´on de tres genes for´aneos en plantas de arroz, lo que ha hecho posible la producci´on de βcaroteno (pro-vitamina A) en la semilla de este cereal. Este arroz transg´enico permitir´ıa disminuir el riesgo de ceguera que puede provocar la carencia de vita- mina A 6 en los ni˜nos de Asia ([10] cita [11] al respecto). Los cultivos de plantas trasng´enicas se han incrementado con los a˜nos de manera significativa7, as´ı como las ganancias reportadas8.
En materia energ´etica, ante el creciente uso de etanol9 como combustible alter-
3Se ha tenido resultados alentadores en la producci´on de 50 prote´ınas de consumo humano en la leche de conejas, cerdas y cabras transg´enicas, con un costo 50 veces menor al de los m´etodos tradicionales [7]
4En Gran Breta˜na en el 2005 el n´umero de animales modificados gen´eticamente usados en procedimientos cient´ıficos representaba el 33 % de todos los procesos conducidos en animales [8].
5Por ejemplo el salm´on transg´enico crece entre un 20 y 30 % m´as que los individuos normales (reportado en [9] y citado por [7]).
6El βcaroteno puede ser transformado en el cuerpo humano en vitamina A.
7De acuerdo al reporte ISAAA brief 36 [13] en 1996 se contaba con 1.66 millones de hect´areas cosechadas con caracter´ısticas modificadas gen´eticamente; cantidad que de manera continua se ha incrementado y para el 2005 el ´area global plantada reportada alcanza cerca de las 87.2 millones de hect´areas. Las cuales se distribuyen principalmente en cuatro cultivos comerciales:
soya (62 %), ma´ız (22 %), algod´on (11 %) y canola (5 %). La lista de pa´ıses que se reportan con un mayor n´umero de hect´areas con cultivos GM en el 2005, es encabezada por Estados Unidos (con un 55 %: 47.4 millones de ha. del global total) y Argentina (con 19 %: 16.93 millones de ha del global total); seguidos por Canad´a, Brasil y China.
8El rendimiento global reportado en 2005 de las cosechas modificadas gen´eticamente es de 5,027 millones de d´olares y de un acumulado de 24,244 millones de d´olares desd´e 1996 al 2005.
9En Estado Unidos en 1980 se reportaba una producci´on de etanol de 175 millones de galones y para el 2008 la cifra ascend´ıa a cerca de 9,000 millones de galones; lo cual lo coloca como el mayor productos de etanol seguido por Brasil (con 6,472.2 millones de galones) y la Uni´on Europea (con 733.6 millones de galones) [14].
CAP´ITULO 1. INTRODUCCI ´ON
no a los combustibles f´osiles, existen trabajos enfocados a la modificaci´on gen´etica de bacterias para que generen dicha sustancia, como un producto de su proceso metab´olico. Un ejemplo de los trabajos al respecto fue el realizado por Lonnie Ingram, profesor de microbiolog´ıa de la Universidad de Florida, y su equipo de investigaci´on quienes modificaron gen´eticamente bacterias Echerichia Coli para producir etanol. Debido a los resultados alcanzados la bacteria modificada fue ob- jeto de derechos de exclusividad por una compa˜n´ıa privada [12]. Si bien el uso de etanol como combustible es un tema todav´ıa en discusi´on, ya que compite con el espacio y recursos destinados a la producci´on de alimentos10 de consumo humano, por otro lado es una realidad que el conocimiento del material gen´etico que poseen los organismos vivos ofrece nuevas posibilidades para la soluci´on de diversas pro- blem´aticas humanas.
Desde finales del siglo pasado gracias al empuje del PGH, que buscaba la secuen- ciaci´on del genoma de la propia especie y otros organismos, el flujo de datos11se ha incrementado de forma significativa a˜no tras a˜no (ver figura 1.1). Este constante flujo de datos e informaci´on, as´ı como la demanda de acceso a los mismos por parte de la comunidad cient´ıfica, propiciaron una estrecha colaboraci´on entre las ciencias biol´ogicas y de c´omputo, lo cual condujo a la formaci´on de la disciplina cono- cida como Bioinform´atica. Inicialmente enfocada en la construcci´on de las bases de datos, as´ı como en la implementaci´on de los medios de acceso a las mismas.
Hoy tiene como principal desaf´ıo la racionalizaci´on de los datos de las secuencias gen´eticas y el dise˜no de herramientas de an´alisis que permitan convertir tales datos en conocimiento bioqu´ımico y biof´ısico, as´ı como obtener informaci´on estructural, funcional y evolutiva codificada en el lenguaje de las secuencias gen´eticas [15].
De tal modo, la obtenci´on de las secuencias gen´eticas es s´olo un primer paso de una lista de tareas que incluyen: la localizaci´on de los genes en la secuencia, saber qu´e prote´ına o prote´ınas est´an codificadas por cada uno de ellos, as´ı como en qu´e momento se expresan, y la determinaci´on de relaciones evolutivas. Por otro
10En [13] se advierte tambi´en de factores nocivos de la combusti´on del etanol, de los cuales se hace hincapi´e en el incremento que provoca en los niveles de ozono y la producci´on de cancer´ıgenos.
11En general como dato, a largo del presente documento, se har´a referencia a la base nitrogenada que caracteriza a un nucle´otido.
CAP´ITULO 1. INTRODUCCI ´ON
lado se debe tener en cuenta que el an´alisis aislado de las secuencias gen´eticas no permite entender c´omo trabajan las c´elulas, c´omo las c´elulas forman organismos, o que es lo que pasa cuando una c´elula se enferma [17].
Figura 1.1: Registro del crecimiento de la base de datos del Laboratorio de Bio- log´ıa Molecular Europeo (EMBL). Actualmente tiene un total de 240, 080, 366, 226 nucle´otidos registrados (gr´afica tomada [16]).
El an´alisis de secuencias gen´eticas se basa en la detecci´on de secuencias hom´olo- gas, es decir, de secuencias que comparten un ancestro evolutivo com´un. Actual- mente la b´usqueda de secuencias hom´ologas es una tarea rutinaria para el bi´ologo molecular y ha sido uno de los primeros problemas abordados por la Bioinform´atica.
Los m´etodos desarrollados en el ´area se basan en la comparaci´on de los elementos de una secuencia con otra; an´alisis que si bien provee evidencia de la existencia de homolog´ıa, no es suficiente en el establecimiento de la misma [18]. En el campo de la computaci´on el problema de buscar secuencias homologas consiste en encontrar secuencias que sean similares de acuerdo a una m´etrica de distancia. Sin embargo, aunque el planteamiento es simple, la dificultad de este problema radica en que el tama˜no tanto de los bancos de datos (ver figura 1.1) como el de la secuencia
1.1. ORGANIZACI ´ON DEL TRABAJO. CAP´ITULO 1. INTRODUCCI ´ON
a localizar, dentro de una o m´as de bases secuencias gen´eticas, crecen de forma significativa cada a˜no.
Se han desarrollado como en ninguna otra ´area de la bioinform´atica, a lo largo de m´as de 30 a˜nos y siendo aun tema de estudio [18], diversos algoritmos para la b´usqueda de homolog´ıa; t´ecnicas de programaci´on din´amica (en [19] y [20] por ejem- plo) y heur´ısticas han sido mayormente usadas en el tema. Actualmente BLAST [21] (Basic Local Alignment Search Tool), un algoritmo heur´ıstico, domina esta ´area ya que los tres principales bancos de nucle´otidos en el mundo, el GenBank12, The EMBL Nucleotide Sequence Database13 y ADN Data Bank of Japan (DDBJ)14, lo implementan en sus portales WEB en aplicaciones disponibles de forma gratuita.
Y de acuerdo a [18] s´olo la aplicaci´on BLAST del NCBI recibe alrededor de 140,000 consultas al d´ıa (2004).
Sin embargo, no s´olo mediante software se ha pretendido atacar el problema de la b´usqueda de homolog´ıa; tambi´en se han hecho propuestas en hardware re- configurable que pretenden acelerar los tiempos de b´usqueda, explotando que los pasos de algunos algoritmos pueden manejarse de forma paralela. Las primeras propuestas a principios de la d´ecada de 1990 estaban enfocadas a los algoritmos basados en t´ecnicas de programaci´on din´amica, y s´olo a inicios de este siglo de acuerdo a [22] se han hecho algunas aproximaciones acad´emicas por implementar el algoritmo BLAST en hardware.
1.1. Organizaci´ on del trabajo.
El presente trabajo esta organizado en cinco cap´ıtulos cuyo contenido breve- mente se menciona a continuaci´on.
12Con sede en el Centro Nacional para la Informaci´on Biotecnol´ogica (NCBI) en los Estados Unidos (www.ncbi.nlm.nih.gov).
13Con sede en el Instituto Bioinform´atico Europeo (EBI) en el Reino Unido (www.ebi.ac.uk)
14Con sede en el Instituto Nacional de Gen´etica en Mishima, Jap´on (www.ddbj.nig.ac.jp).
1.2. DEFINICI ´ON DEL PROBLEMA. CAP´ITULO 1. INTRODUCCI ´ON
En el cap´ıtulo uno, se aborda los temas generales que enmarcan a la tesis, tales como, los antecedentes, la justificaci´on y la definici´on del problema cient´ıfico;
as´ı como los objetivos, en lo general y en lo particular.
En el cap´ıtulo dos se presenta el marco te´orico en el cual se desarroll´o la tesis.
Se abordan algunos conceptos biol´ogicos, se hace una somera descripci´on de la Bioinform´atica, as´ı como de las bases de datos donde se almacena la informaci´on de las secuencias gen´eticas. Tambi´en se realizan una serie de definiciones para ex- plicar en que consiste el alineamiento de secuencias y se finaliza con la descripci´on del algoritmo BLAST usado en la b´usqueda de secuencias similares.
En el cap´ıtulo tres describe el dise˜no del Circuito Buscador de Secuencias Gen´eticas propuesto para la implementaci´on en c´omputo reconfigurable del algo- ritmo BLAST; as´ı como un esquema de almacenamiento para los archivos de datos.
En el cap´ıtulo cuatro se mencionan las pruebas hechas y los resultados obtenidos del dise˜no propuesto.
En el cap´ıtulo cinco se presentan las conclusiones del trabajo, as´ı como la exposici´on del trabajo futuro. Tambi´en se plantea una discusi´on de la conveniencia de BLAST en c´omputo reconfigurable.
El resto del documento contiene las referencias bibliogr´aficas consultadas; as´ı co- mo anexos que contienen el c´odigo fuente de los programas realizados; la descripci´on de los s ´mbolos utilizados en los diagramas de flujo y la descripci´on del procedimien- to realizado para obtener las secuencias gen´eticas en archivos Fasta.
1.2. Definici´ on del problema.
Actualmente la b´usqueda de secuencias hom´ologas es una tarea rutinaria para el bi´ologo molecular interesado en establecer relaciones gen´eticas funcionales y evolutivas entre especies. Computacionalmente el problema de buscar secuencias hom´ologas consiste en encontrar secuencias que sean similares de acuerdo a una
1.3. PLANTEAMIENTO. CAP´ITULO 1. INTRODUCCI ´ON
m´etrica de distancia. Sin embargo, aunque el planteamiento es simple, la dificultad de este problema radica en que la cantidad de secuencias g´eneticas secuenciadas, y por ende de datos, crece de forma significativa cada a˜no.
1.3. Planteamiento.
Considerando que:
La mayor´ıa de los algoritmos usados para establecer relaciones de homolog´ıa, consisten de operaciones b´asicas: sumas, restas, multiplicaciones y divisiones de unas cuantas cifras de precisi´on.
Que los microprocesadores secuenciales modernos de estaciones de c´omputo personales estan sobrados realizando s´olo operacione b´asicas (operaciones de adici´on, multiplicaci´on y comparaci´on.).
El elevado costo de agrupar, administrar y ubicar varias m´aquinas de c´omputo personal para el procesamiento en paralelo.
Y dada la falta de privacida que involucra el uso de las herramientas de los sitios web de los bancos de datos.
Se plantea el uso de c´omputo reconfigurable para llevar a cabo simultanea- mente las operaciones b´asicas de un algoritmo, o bien ejecutar simultaneamente varias copias de un algoritmo. Y con esto ahorrar en espacio y costos al tener en un s´olo dispositivo el equivalente a varias m´aquinas operando en conjunto. Dicho dispositivo, en un laboratorio, permitir´ıa la privacidad de las b´usquedas para el establecimiento de relaciones de homolog´ıa. La privacidad de una investigacion en la actulidad reviste especial importancia dada la competencia por recursos y patentes.
1.4. Objetivos.
En este apartado se enuncian el objetivo general del presente trabajo, as´ı como sus objetivos particulares.
1.5. ANTECEDENTES. CAP´ITULO 1. INTRODUCCI ´ON
1.4.1. Objetivo General.
Seleccionar un algoritmo de b´usqueda de secuencias gen´eticas, de entre los que se usan para establecer relaciones de homolog´ıa, y dise˜nar un sistema capaz de ejecutar dicho algoritmo.
1.4.2. Objetivos Espec´ıficos.
De forma particular el desarrollo de la tesis tiene los siguientes objetivos.
† Estudiar diversos algoritmos de b´usqueda de similitud entre secuencias gen´eticas de nucle´otidos.
† Dise˜nar una alternativa de ejecuci´on en paralelo de uno de los algoritmos estudiados.
† Simular en VHDL el dise˜no propuesto.
† Dise˜nar una representaci´on conveniente de los archivos de datos para su procesamiento mediante un microprocesador.
† Dise˜nar un esquema para el almacenamiento y organizaci´on de las secuencias gen´eticas.
1.5. Antecedentes.
A partir de la d´ecada de 1970 se desarrollaron algoritmos para la identificaci´on de secuencias hom´ologas. El primer trabajo de importancia reconocida es el de Needleman y Wunch [19] en el cual se describe el procedimiento para evaluar un alineamiento global, esto es, considerando la similitud en toda la extensi´on de las secuencias. Por otro lado, a principios de la d´ecada de 1980 Smith y Waterman [21]
publican su trabajo para el alineamiento local donde se buscan regiones de simili- tud entre las secuencias que se comparan. Ambos algoritmos se basan en t´ecnicas de programaci´on din´amica. Proceden ubicando los elementos de las secuencias a comparar como encabezados de renglones y columnas de una matriz (ver tabla 1.1- a). Las celdas obtienen sus valores a partir de expresiones sencillas (compuestas de
1.5. ANTECEDENTES. CAP´ITULO 1. INTRODUCCI ´ON
operaciones b´asicas: sumas, restas, comparaciones, multiplicaciones y divisiones), por ejemplo, en el caso del algoritmo de Smith y Waterman dadas las secuencias V = v1v2. . . vn y W = w1w2. . . wm y la matriz Hi,j con 0 ≤ i ≤ n y 0 ≤ j ≤ m; se define la siguiente expresi´on para establecer el valor de cada celda:
Hi,j = max
Hi−1,j−1+ s(vi, wj)
max{Hi−k,j− Dk} donde k ≥ 1 max{Hi,j−l− Dl} donde l ≥ 1 0
donde:
s(vi, wj) =
1 si vi = wj
−13 si vi 6= wj
Dk = 1 + 1 3∗ k
Dl= 1 + 1 3 ∗ l
El algoritmo de Smith y Waterman contin´ua, una vez establecidos los valores de todas las celdas, localizando la celda con el mayor valor. De donde avanza de celda en celda, en direcci´on de la esquina superior izquierda de la matriz, eligiendo de entre sus tres vecinos (izquierdo, superior o el superior izquierdo) el de mayor valor. El camino establecido (ver tabla 1.1) permite alinear la regi´on de mayor similitud entre las secuencias que se comparan. Este mecanismo es parecido en los primeros algoritmos para el alineamiento y b´usqueda de secuencias similares;
los cuales se caracterizaban por basarse en t´ecnicas de programaci´on din´amica y por una complejidad de O(nm) en tiempo y memoria15 [23],[24],[25]. Hay algunas variantes que se pueden aplicar a estos algoritmos para reducir su complejidad;
en [18] y [23] se describen sencillos procedimientos para reducir la complejidad en memoria a O(min(n, m)), por ejemplo.
15n y m son las longitudes de las secuencias, como en el caso del ejemplo descrito.
1.5. ANTECEDENTES. CAP´ITULO 1. INTRODUCCI ´ON
Tabla 1.1:a) Matriz usada en algoritmo de Smith y Waterman dadas las secuencias V = aatgccattgacgg y W = cagcctcgcttag. b) El alineamiento local resultante de acuerdo al algoritmo de Smith y Waterman (en la matriz est´an marcados en negritas el camino de valores que se sigui´o para el establecimiento del alineamiento).
W c a g c c t c g c t t a g
V 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 a 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 a 0.0 0.0 1.0 0.7 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 0.7 t 0.0 0.0 0.0 0.7 0.3 0.0 1.0 0.0 0.0 0.0 1.0 1.0 0.0 0.7 g 0.0 0.0 0.0 1.0 0.3 0.0 0.0 0.7 1.0 0.0 0.0 0.7 0.7 1.0 c 0.0 1.0 0.0 0.0 2.0 1.3 0.3 1.0 0.3 2.0 0.7 0.3 0.3 0.3 c 0.0 1.0 0.7 0.0 1.0 3.0 1.7 1.3 1.0 1.3 1.7 0.3 0.0 0.0 a 0.0 0.0 2.0 0.7 0.3 1.7 2.7 1.3 1.0 0.7 1.0 1.3 1.3 0.0 t 0.0 0.0 0.7 1.7 0.3 1.3 2.7 2.3 1.0 0.7 1.7 2.0 1.0 1.0 t 0.0 0.0 0.3 0.3 1.3 1.0 2.3 2.3 2.0 0.7 1.7 2.7 1.7 1.0 g 0.0 0.0 0.0 1.3 0.0 1.0 1.0 2.0 3.3 2.0 1.7 1.3 2.3 2.7 a 0.0 0.0 1.0 0.0 1.0 0.3 0.7 0.7 2.0 3.0 1.7 1.3 2.3 2.0 c 0.0 1.0 0.0 0.7 1.0 2.0 0.7 1.7 1.7 3.0 2.7 1.3 1.0 2.0 g 0.0 0.0 0.7 1.0 0.3 0.7 1.7 0.3 2.7 1.7 2.7 2.3 1.0 2.0 g 0.0 0.0 0.0 1.7 0.7 0.3 0.3 1.3 1.3 2.3 1.3 2.3 2.0 2.0
(a) g c c a t t g g c c - t c g
(b)
Los algoritmos de Needleman y Wunch, y de Smith y Waterman son lentos dado el tama˜no de las secuencias gen´eticas. Por ello, a finales de la d´ecada de 1980 y principios de la d´ecada de 1990 se propusieron algunos m´etodos heur´ısticos que sacrificaban sensibilidad por velocidad. Mediante la reducci´on del espacio de b´usqueda los algoritmos heur´ısticos logran una mayor velocidad que la de los al- goritmos de b´usqueda exhaustiva; sin embargo, tal reducci´on puede ocasionar que un alineamiento importante se pierda.
Entre los primeros algoritmos heur´ısticos propuestos se encuentra BLAST el cual en la actualidad goza de una amplia aceptaci´on y popularidad (con 140 000
1.5. ANTECEDENTES. CAP´ITULO 1. INTRODUCCI ´ON
consultas diarias al servidor BLAST del NCBI en 2004 [26]); aunque no es la solu- ci´on m´as r´apida, ni la m´as sensible [18], [27]. BLAST16 trabaja en primer lugar listando secciones, de la secuencia consulta, de k-letras17 consecutivas referidas en la bibliograf´ıa como w-mers o semillas (seeds). Posteriormente busca ocurrencias id´enticas de cada semilla dentro de una secuencia gen´etica de inter´es, ocurrencias denominas hit. Para finalmente extender los hits a ambos lados, comparando letra a letra una secuencia gen´etica de inter´es y la secuencia consulta a partir de la semilla que origin´o un hit. El algoritmo define una serie de par´ametros para determinar el fin de la extensi´on de un hit y la posible existencia de un alineamiento importante en la identificaci´on de homolog´ıa.
Mientras BLAST ostenta el t´ıtulo del algoritmo m´as popular en la b´usqueda de homolog´ıa, PatternHunter (2001) [28] es considerado el algoritmo heur´ıstico m´as r´apido y cuya sensibilidad se acerca a la del algoritmo de Smith y Waterman [18]. A groso modo PatternHunter tiene una estructura similar a BLAST, ya que tambi´en emplea el esquema de semillas, hit y extensi´on. Sin embargo, por mencionar s´olo una diferencia entre ambas propuestas, en el algoritmo de PatternHunter las semil- las no son definidas como secciones de k-letras consecutivas; m´as bien se define un patr´on donde se especifican las posiciones donde es relevante la igualdad de letras.
Por ejemplo dado el patr´on 1110111 (donde 1 obliga a la igualdad entre las letras comparadas y 0 representa que las letras pueden o no coincidir) la comparaci´on entre las secuencias ACTGCCT y ACTTCCT permitir´ıan establecer un hit al igual que la comparaci´on entre las secuencias ACTTCCT y ACTTCCT (que ser´ıa el caso de BLAST). Este sencillo cambio permite a PatternHunter mayor sensibilidad que la presente en BLAST. Otra diferencia importante entre BLAST y PatternHunter consiste en que el primero es de libre distribuci´on18 mientras que
16BLAST es un conjunto de programas que incluye a BLASTN para el alineamiento de se- cuencias de nucle´otidos (otros programas de este conjunto son BLASTP, BLASTX, TBLASTN, TBLASTX). El presente trabajo se enfoca al uso de secuencias gen´eticas de nucle´otidos; por lo que se hace uso, en lo sucesivo, de los t´erminos BLAST y BLASTN de forma indistinta.
17En [18] se da un intervalo para esta variable que va de 9 a 11 letras para el caso de ADN mientras en [29] se menciona un minino de 7 letras y en [21] se usan 12 letras.
18En la p´agina ftp://ftp.ncbi.nlm.nih.gov/blast/executables/LATEST/ del NCBI puede descargarse libremente una aplicaci´on de BLAST, y en ftp://ftp.ncbi.nlm.nih.gov/toolbox/
ncbi_tools/ el c´odigo fuente (enlaces verificados el 14 de enero del 2009).
1.5. ANTECEDENTES. CAP´ITULO 1. INTRODUCCI ´ON
PatternHunter requiere de una licencia para su uso comercial [28].
BLAST, desde su publicaci´on en 1990, ha continuado desarroll´andose comer- cial y acad´emicamente; actualmente el NCBI distribuye su aplicaci´on de BLAST en la versi´on 2.2.19. Otros algoritmos heur´ısticos desarrollados durante las ´ulti- mas d´ecadas para la identificaci´on de homolog´ıa son: FASTA (Lipman y Pearson, 1985), MUMmer (Delcher et al., 1999), QUASAR (Burkhardt et al., 1999), RE- Puter (Kurtz y Schleiermacher, 1999) y SENSEI (States, 2000) [28].
Los algoritmos desarrollados, principalmente BLAST y el algoritmo de Smith y Waterman, han sido objeto de diferentes implementaciones acad´emicas y com- erciales19, en computadoras personales y clusters20, y en hardware de prop´osito espec´ıfico y de c´omputo reconfigurable (CR). De a cuerdo a Sostiriades E. en [22]
algunos trabajos realizados usando CR en la implementaci´on del algoritmo de Smith y Waterman son: la plataforma Splash2 por Hoang et al. [30],[31] desarrol- lada a principios de la d´ecada de 1990, el trabajo Puttergowdat K. et al. [32] en 2003 y recientemente en 2005 el trabajo de Oliver T. et. al. [33].
Mientras el servidor de BLAST del NCBI accesible v´ıa WEB en 2004 estaba implementado en un sistema de alrededor de 200 m´aquinas que en su mayor´ıa con- taban con dos CPUs y operaban bajo LINUX [26]. Para el ´ambito del presente trabajo son de particular importancia las implementaciones de BLAST mediante c´omputo reconfigurable21; las cuales de acuerdo a Sostiriades E. et al. en [22] y a Herlbordt M. et al. en [25], han sido pocas en el ´area acad´emica.
De entre los primeros trabajos, se puede citar el proyecto RC-BLAST de Muriki K. et al. [27] realizado en 2005, donde, a grandes rasgos, el trabajo de los autores consisti´o en identificar, del c´odigo abierto del NCBI de BLAST, las funciones que consum´ıan m´as tiempo durante la ejecuci´on; para posteriormente implementar en una tarjeta FPGA con bus PCI una soluci´on alternativa. Los autores denominaron
19Por ejemplo, la aplicaci´on de BLAST de Time Logic [34].
20Por ejemplo, la aplicaci´on TurboBLAST [34] citada por [28].
21En [31] usan tambi´en la denominaci´on de l´ogica reconfigurable.
1.5. ANTECEDENTES. CAP´ITULO 1. INTRODUCCI ´ON
a la plataforma de hardware usada para la implementaci´on de su dise˜no como Adaptable Computing Engine (o AceIIcard). Y a pesar de reportar un desempe˜no por debajo a la aplicaci´on en software, corriendo bajo las mismas condiciones, las conclusiones a las que llegaron los autores son alentadoras, al destacar la tendencia en el incremento del rendimiento y la disminuci´on de los precios de la tecnolog´ıa de FPGAs (ver figura 1.2). En este trabajo los autores mencionan, entre los factores del bajo desempe˜no de su aplicaci´on, el cuello de botella que se genera en el uso del bus PCI para la obtenci´on de los datos de la base de datos almacenada en el disco duro.
Figura 1.2: En la gr´afica se puede apreciar la tendencia a la baja de los precios y el incre- mento significativo de algunas caracter´ısticas de la tecnolog´ıa de FPGAs (gr´afica tomada de [27]).
Herlbordt M. et al. [25] en 2006 proponen un par de algoritmos que emulan, del algoritmo BLAST, las fases de b´usqueda de hits y la extensi´on de los mismos.
Tales algoritmos son denominados TreeBLAST y ServerBLAST, y son implementa- dos en dos tarjetas FPGA diferentes (ver tabla 1.2). La intenci´on de los algoritmos es permitir que conforme se explore la base de datos (ya sea de amino´acidos o nucle´otidos) se pueda realizar la evaluaci´on de similitud con la secuencia consulta.
En el algoritmo TreeBLAST todos los elementos de la secuencia consulta son almacenados en un arreglo lineal y los elementos de la secuencia gen´etica de inter´es pasan en un flujo que permite comparar los elementos de una y otra secuencia. La estructura de ´arbol se usa para ahorrar ciclos de reloj en la evaluaci´on de similitud entre las secuencias, que de acuerdo al flujo de los elementos de la base de datos se vayan alineando con la secuencia consulta (ver figura 1.3). Los resultados reporta-
1.5. ANTECEDENTES. CAP´ITULO 1. INTRODUCCI ´ON
dos en este trabajo est´an por encima de la aplicaci´on en software de BLAST del NCBI para una PC e incluso por encima del servidor WEB de BLAST del NCBI.
Figura 1.3: La estructura del
´
arbol propuesta en [25] para la evaluaci´on de similitud entre el flujo de los elementos de la secuen- cia sujeto (amino´acidos en este ejemplo) y la secuencia consulta (imagen toma de [25]).
A diferencia del modelo anterior, en el que la secuencia gen´etica de inter´es es vista como un flujo de letras, en el trabajo de Liu X. et al. en [35] y [36] se realiza una indexaci´on de las secuencias gen´eticas que pretende agilizar la ubicaci´on de los hits a costa de un mayor consumo de memoria. Por lo que utilizan, en su propues- ta, memoria tipo FLASH-NAND que ofrece (de acuerdo a los autores) un menor costo y dificultades t´ecnicas que la tecnolog´ıa de memoria SRAM y SDRAM. La indexaci´on realizada consiste en guardar en una tabla la posici´on de palabras de tres letras (en el caso de amino´acidos) juntos con una secci´on vecina (ver figura 1.4).
En general el manejo de las secuencias g´eneticas en los trabajos revisados, sobre BLAST en el c´omputo reconfigurable, toma uno de los dos enfoques mencionados.
As´ı en [22], [27] y [39] la base de datos es un flujo; mientras que en [35] y [36], se usa una indexaci´on. Otra caracter´ıstica sobresaliente de las implementaciones realizadas es que la mayor´ıa ([22], [27], [25], [35] y [36]) son tarjetas PCI que se montan en la arquitectura de una computadora personal (PC). Quiz´as por ello, al contar con los recursos de las PCs actuales, en ninguno de los trabajos revisados
1.5. ANTECEDENTES. CAP´ITULO 1. INTRODUCCI ´ON
se propone o se menciona alg´un esquema particular para el almacenamiento de los datos.
Figura 1.4: Indexaci´on de una secuencia gen´etica de amino´acidos (figura tomada de [36]), donde se almacenan tanto la posi- ci´on de una palabra como su vecindad.
Algunos documentos como [27] y [37] reportan la b´usqueda de hits como la parte del algoritmo BLAST que consume m´as tiempo, un 80 % de todo el proce- so (ver tabla 1.2). Por lo cual, las aplicaciones tienen como prioridad agilizar la b´usqueda y extensi´on de los hits en alineamientos significativos, y en este sentido muchos de los trabajos realizados son aceleradores (o tarjetas aceleradoras) de una parte del algoritmo BLAST.
Tabla 1.2: La tabla muestra en porcentaje el tiempo de acuerdo al tama˜no de la se- cuencia consulta de las etapas descritas en [37] para el algoritmo BLAST (la tabla fue tomada de [37] y etiquetada de acuerdo a la terminolog´ıa usada en el presente trabajo).
Tama˜no de la B´usqueda de hits Extensi´on sin Extensi´on con
secuencia consulta huecos huecos
10K 86.53 % 13.24 % 0.23 %
100K 83.35 % 16.57 % 0.08 %
1000K 85.29 % 14.68 % 0.03 %
A diferencia del sistema RC-BLAST reportado en [27], el trabajo de Herlbordt M. et al. en [25] (con el algoritmo TREEBLAST), el trabajo de Krishnamurth P.
et al. en [37] (con el sistema Mercury), as´ı como el de Liu X. et al. en [35],[36]
(con la combinaci´on tecnol´ogica FPGA/FLASH) y el de Sostiriades E. et al. en
1.5. ANTECEDENTES. CAP´ITULO 1. INTRODUCCI ´ON
[22] (con sus sistema TUC) reportan velocidades superiores a la aplicaci´on software de c´omputo personal de BLAST del NCBI. Incluso algunos de ellos, reportan un desempe˜no superior al Servidor BLAST del NCBI (que como se ha mencionado es un sistema, que en 2004 contaba con alrededor de 200 m´aquinas).
En el Sistema TUC (Technical University of Crete) publicado en 2007 [22] se hacen algunas comparaciones con algunos de los trabajos hasta el momento citados.
Y de acuerdos a los autores TUC su propuesta es aproximadamente 5.85 veces m´as r´apida que el Sistema Mercury [37] y 74 veces m´as r´apida que TreeBLAST [25].
Aunado al desarrollo acad´emico, existen algunas propuestas comerciales como la de TimeLogic [34] y la de mitrionics [38] que publican rendimientos sobresalientes, sin embargo, no ofrecen mayores detalles de las implementaciones que realizan por lo que no hay forma de profundizar m´as en sus propuestas.
Para terminar esta secci´on se elabor´o la tabla 1.3 que sintetiza algunas carac- ter´ısticas t´ecnicas de los trabajos brevemente mencionados.
1.5.ANTECEDENTES.CAP´ITULO1.INTRODUCCI
Tabla 1.3: Caracter´ısticas t´ecnicas de algunos desarrollos que implementan BLAST en c´omputo reconfigurable.
BLAST Conjunto de Tama˜no de Tarjeta Transferencia Transferencia A˜no
Tarjeta NCBI programas FPGA PC la consulta PCI DD-FPGA Memoria
BLAST (caracteres) - FPGA
Sistema NE BLASTN Xilinx Pentium 4 a 2.8 GHz NE No 400MB/sec NE 2004
Mercury [39] con 1 GB de RAM
RC-BLAST 2.2.6 Tarjeta con dos FPGAs M´aquina con
AcerIIcad BLASTN Xilinx 4085XLA y dos arquitectura Intel i386 NE Si NE NE 2005
[27] bloques de SRAM cada SO: Linux Red 9.0
uno de 1MB
Algoritmo 2.2.13 BLASTP Tarjeta Xilinx Virtex-II Dell con procesador Alrededor Si 55MB/seg 320 2006
TreeBLAST BLASTN PRO XC2VP70-5FPGA Xeon a 2.8 GHz y de 1200(aa) MB/sec
[25] y XC4VLX160 2GB de memoria,
DD IDE de 150 GB y manejador NTFS.
SO: Windows XP.
Tecnolog´ıa NE TBLASTN Tarjeta Xilinx Virtex Pc 3 GHz 300 a 5000 Si NE 640 2007
FPGA/FLASH II PRO XCV2VP30 SO: NE (nc) MB/seg
[35], [36] y dos XC3S1000 (FLASH-)
La tajeta incluye 64 GB de memoria
FLASH.
Sistema TUC 2.2.15 BLASTN Virtex II PRO Pentium 4 a 3.0GHz 200,000 Si NE NE 2007
[22] BLASTP V2P30 y un HT con 512 MB en
BLASTX Power-PC. RAM.
TBLASTN SO: Windows XP.
TBLASTX
SO-Sistema operativo. NE- No espeicificado. aa-amino´acidos. nc-nucle´otidos
18
1.6. JUSTIFICACI ´ON. CAP´ITULO 1. INTRODUCCI ´ON
1.6. Justificaci´ on.
Ya desde la antesala del Proyecto del Genoma Humano hab´ıa inter´es por parte del sector industrial por desarrollar tecnolog´ıa, principalmente en el ´area m´edica, que hiciera uso de los resultados de la secuenciaci´on de material gen´etico, y es que, como se ha venido mencionando desde los primeros p´arrafos de este trabajo, existen expectativas importantes y resultados alentadores, en cuanto los alcances y benefi- cios del conocimiento de las reglas y de los medios de control codificados en el ADN.
Un punto importante en el estado actual de los datos obtenidos en las ´ultimas d´ecadas es la confiabilidad en los m´etodos utilizados para su obtenci´on; as´ı como la cantidad de los mismos, que como ya se ha mencionado son de proporciones considerables (ver figura 1.1). Sin embargo, la cantidad actual parece que con- tinuar´a creciendo de forma significativa ya que los proyectos de secuenciaci´on en proceso sobrepasan a los proyectos completados (ver figura 1.5). Tan solo el NCBI tiene, a la fecha, un total de 2,677 proyectos genoma de los cuales s´olo 858, menos de la mitad, han sido completados [40].
Figura 1.5:
Crecimiento de los proyectos genoma com- pletos, e incompletos en los ´ultimos a˜nos (figura tomada del portal Genomes Online Database [41])
Cualquier c´alculo sobre la cantidad de datos que se obtendr´an en los pr´oximos a˜nos de la secuenciaci´on de material gen´etico, posiblemente fallar´ıa, si se tiene pre- sente que a finales de 2008 dos grupos diferentes de cient´ıficos logr´o secuenciar el
1.6. JUSTIFICACI ´ON. CAP´ITULO 1. INTRODUCCI ´ON
genoma de una persona en ochos semanas [4]; muy por debajo de los quince a˜nos destinados originalmente al PGH [40]. Por lo que no parece aventurado imaginarse un historial cl´ınico que contenga el genoma individual de cada persona. As´ı que es cuestionable si las actuales soluciones en la b´usqueda de similitud entre secuencias, por ejemplo, resultar´an efectivas en algunos a˜nos m´as, o si se han explotado todas las opciones para obtener mayores rendimientos.
Como se ha mencionado existen diferentes algoritmos enfocados a la b´usque- da de similitud entre secuencias. El algoritmo de Smith y Waterman, tiene la propiedad de establecer el alineamiento o alineamientos ´optimos. En el caso en que se quiera localizar el alineamiento ´optimo entre una secuencia consulta de 14 × 103 pb (pares de bases) y la secuencia de la bacteria E.Coli (que consta de alrededor de 4×106 pb). Es necesar´ıa una matriz de 14×103×4×106, es decir, de 56×109celdas;
y suponiendo que para cada celda se requieran dos bytes, en una implementaci´on computacional, el consumo de memoria ser´ıa de 112 × 109 bytes (aprox. 104 Gb).
Si bien, es cierto que una aplicaci´on no har´ıa una representaci´on completa de la matriz y que existen mecanismos para disminuir la complejidad; el alineamiento o alineamiento ´optimo que se obtendr´ıa como salida, no siempre es lo ´unico deseable ya que el objetivo final es establecer relaciones de homolog´ıa y no s´olo de similitud.
En este sentido BLAST es una opci´on m´as atractiva ya que proporciona varios alineamientos (que pueden o no incluir al alineamiento o alineamientos ´optimos) resultantes, y no un ´optimo de similitud.
Los trabajos revisados son en su mayor´ıa tarjetas PCI (ver tabla 1.3) que se incrustan en la arquitectura de una computadora personal (PC), haci´endose de los recursos en software y hardware, as´ı como, de los medios de interacci´on con el usuario propios de la PC. Sin embargo, cabe cuestionar cual es la limitante a una implementaci´on aut´onoma; y en este sentido, la presente propuesta explora una opci´on diferente a las arquitecturas estudiadas ya que pretende ser la base para una implementaci´on independiente a una PC. Por ello se experiment´o con la forma en que los datos de las secuencias gen´eticas pueden ser almacenados y transmitidos.