alineamiento de múltiples secuencias de aminoácidos usando

19
53 SISTEMAS & TELEMÁTICA Fecha de recepción: 15-12-2004 Fecha de aceptación: 01-04-2005 ABSTRACT This article describes a genetic algo- rithm and its implementation that it allows the alignment of multiple se- quences of amino acids by means of re- locations that simulate the gaps inser- tion (holes) and actions of recombina- tion to obtain higher scores in the align- ment. Such scores are obtained by means of the method of the sum of even, in which there are considered all the possible combinations of amino ac- ids in each column of the alignment and they are qualified being based on the punctuations of the matrix BLO- SUM62. KEY WORDS Bioinformatics, Genetic Algorithms, Genomics, Multiple Sequence Align- ment. Alineamiento de múltiples secuencias de aminoácidos usando algoritmos genéticos Luis Felipe Solanilla [email protected] Carlos Arturo Gómez Teshima Teshima82@ yahoo.com Luis Eduardo Múnera lemunera@ icesi.edu.co RESUMEN El presente artículo describe un algorit- mo genético y su implementación, que permite el alineamiento de múltiples secuencias de aminoácidos mediante re- acomodaciones que simulan la inserción de gaps (huecos) y acciones de recombi- nación para obtener puntajes más altos en el alineamiento. Tales puntajes se obtienen mediante el método de la suma de pares, en el cual se consideran todas las posibles combinaciones de aminoáci- dos en cada columna del alineamiento y se califican basándose en las puntuacio- nes de la matriz BLOSUM62. PALABRAS CLAVE Bioinformática, Algoritmos Genéti- cos, Genómica, Alineamiento de Múl- tiples Secuencias. Clasificación Colciencias: A

Upload: others

Post on 28-Jun-2022

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Alineamiento de múltiples secuencias de aminoácidos usando

53SISTEMAS& TELEMÁTICA

Fecha de recepción: 15-12-2004 Fecha de aceptación: 01-04-2005

ABSTRACTThis article describes a genetic algo-rithm and its implementation that itallows the alignment of multiple se-quences of amino acids by means of re-locations that simulate the gaps inser-tion (holes) and actions of recombina-tion to obtain higher scores in the align-ment. Such scores are obtained bymeans of the method of the sum ofeven, in which there are considered allthe possible combinations of amino ac-ids in each column of the alignmentand they are qualified being based onthe punctuations of the matrix BLO-SUM62.

KEY WORDSBioinformatics, Genetic Algorithms,Genomics, Multiple Sequence Align-ment.

Alineamiento de múltiples secuenciasde aminoácidos usando algoritmos

genéticos

Luis Felipe [email protected]

Carlos Arturo Gómez TeshimaTeshima82@ yahoo.com

Luis Eduardo Múneralemunera@ icesi.edu.co

RESUMENEl presente artículo describe un algorit-mo genético y su implementación, quepermite el alineamiento de múltiplessecuencias de aminoácidos mediante re-acomodaciones que simulan la inserciónde gaps (huecos) y acciones de recombi-nación para obtener puntajes más altosen el alineamiento. Tales puntajes seobtienen mediante el método de la sumade pares, en el cual se consideran todaslas posibles combinaciones de aminoáci-dos en cada columna del alineamiento yse califican basándose en las puntuacio-nes de la matriz BLOSUM62.

PALABRAS CLAVEBioinformática, Algoritmos Genéti-cos, Genómica, Alineamiento de Múl-tiples Secuencias.

Clasificación Colciencias: A

Page 2: Alineamiento de múltiples secuencias de aminoácidos usando

54 SISTEMAS& TELEMÁTICA

1. INTRODUCCIÓNDesde el principio de los años noven-ta muchas entidades gubernamenta-les y privadas han analizado el geno-ma de varias especies, tales como le-vaduras, bacterias, ratones y otros se-res (incluyendo el humano). Duranteestos esfuerzos de colaboración se hangenerado cantidades de informaciónque se recogen y se almacenan engrandes bases de datos, la mayoría delas cuales son públicas y accesiblesdesde cualquier parte del mundo.

De la misma forma, cuando se va aintroducir una nueva cadena de ami-noácidos, se debe comparar primerola secuencia de componentes con to-das las existentes, para poder clasifi-carla. Sin embargo, el manejo de taltipo de clasificación no se puede ha-cer a mano debido a la gran cantidadde información que se manipula y lascomplicadas formas de comparacióny asociación que se han creado a me-dida que pasa el tiempo. Por tal mo-tivo se han creado diversos progra-mas que facilitan esta tarea.

Una de las importantes contribucio-nes de la biología molecular al análi-sis evolutivo es el descubrimiento deque las secuencias de ADN de dife-rentes organismos se encuentran amenudo relacionadas. Aquí, genes si-milares son conservados a través dediferentes especies divergentes, amenudo desempeñando una funciónsimilar o incluso idéntica, y en otrasocasiones queda reacomodándosepara desempeñar una función altera-da a través de las fuerzas de la selec-ción natural. A través de alineamien-to múltiple de estas secuencias, lospatrones de secuencia que han sidosujeto de alteración pueden ser ana-lizados.

El alineamiento de múltiples secuen-cias (AMS) de un conjunto de secuen-cias puede también ser visto como lahistoria evolutiva de las secuencias.Así, si las secuencias en el AMS sealinean muy bien, parecería que hansido recientemente derivadas de unancestro común. En contraste, ungrupo de secuencias pobremente ali-neadas comparten un relación evolu-tiva distante y compleja. La tarea dealinear un conjunto de secuencias,algunas más relacionadas que otras,es idéntica a descubrir las relacionesevolutivas entre las secuencias.

Al igual que con el alineamiento depares de secuencias, la dificultad enalinear un grupo de secuencias varíaconsiderablemente con la similaridadde las secuencias. Por un lado, si lacantidad de variaciones en las secuen-cias es mínima, es relativamente sen-cillo alinearlas, aun sin la asistenciade un programa de computador. Porotro lado, si la cantidad de variacio-nes es grande, podría ser muy difícilencontrar un alineamiento óptimo delas secuencias porque muchas combi-naciones de sustituciones, insercionesy eliminaciones, cada una predicien-do un alineamiento diferente, son po-sibles.

Para la construcción de los AMS exis-ten varios enfoques. El primero, enel que se busca encontrar el alinea-miento óptimo agotando todas lasposibilidades existentes, pero si setiene en cuenta el número de posibi-lidades del que se habla se puede in-tuir que no será aplicable a un nú-mero relativamente grande de cade-nas. Es así como este enfoque se usacomo máximo en el alineamiento deseis secuencias, las que a su vez de-ben ser relativamente cortas. El se-

Page 3: Alineamiento de múltiples secuencias de aminoácidos usando

55SISTEMAS& TELEMÁTICA

gundo es el de los métodos progresi-vos en los que se aplica el primer en-foque a las secuencias más relaciona-das y posteriormente se van agregan-do poco a poco secuencias menos re-lacionadas al alineamiento. Dentro deeste segundo enfoque encontramosimportantes representantes comoClustalw y Pileup. Este segundo en-foque tiene un problema importantey es la dependencia del resultado delos métodos en los primeros AMS delas primeras secuencias junto con elhecho de que a medida que se agre-gan las secuencias menos relaciona-das, se pasa de un alineamiento par-cial con muy buenos parciales a unAMS en el que en cada inserción pro-voca una propagación de errores entodo el alineamiento. Un tercer enfo-que es el de los métodos iterativos enel que lo que se busca es lograr mejo-rar poco a poco el puntaje general delalineamiento. Esto se logra reali-neando repetidamente subgrupos delas secuencias y luego alineando esossubgrupos en un alineamiento global

con todas las secuencias. La selecciónde los subgrupos se puede realizarseparando una o dos secuencias delresto, realizando un estudio del ár-bol filogenético o ejecutando una se-lección aleatoria. Dentro de este en-foque se encuentran algoritmos comoMultAlin, DIALIGN, HMM (HiddenMarkov Models) y los Algoritmos Ge-néticos, que son los que acaparan elinterés de este trabajo.1

2. CONCEPTOS BÁSICOS

2.1 NucleótidoCompuesto químico formado por launión de una molécula de ácido fos-fórico, un azúcar de cinco átomos decarbono y una base nitrogenada de-rivada de la purina o la pirimidina.Los nucleótidos son las unidadesconstituyentes de los ácidos nucleicos.También se encuentran libres en lascélulas y forman parte de ciertascoenzimas. La Tabla 1 muestra el có-digo usado para expresar las basesnucleótidas.3

Símbolo Significado ExplicaciónG G GuaninaA A AdeninaT T TiaminaC C CitosinaR A o G PurinaY C o T PirimidinaM A o C AminoK G o T KetoS C o G Interacción fuerteW A o T Interacción débilH A, C o T H sigue a G en el alfabetoB C, G o T B sigue a A en el alfabetoV A, C o G no T (no U) V sigue a U en el alfabetoD A, G o T no C D sigue a C en el alfabetoN A, C, G o T Cualquier base

Tabla 1. Código de bases nucleótidas.

Page 4: Alineamiento de múltiples secuencias de aminoácidos usando

56 SISTEMAS& TELEMÁTICA

2.2 AminoácidosCompuestos orgánicos que contienenun grupo amino (8NH2) y un grupocarboxilo (8COOH). Veinte de estoscompuestos son los constituyentes delas proteínas. La Tabla 2 presenta elcódigo estándar usado para represen-tar los aminoácidos.3

2.3 Alineamiento de secuenciasComparación lineal de secuenciasaminoacídicas (o ácidos nucleicos) enla que se introducen inserciones parahacer que posiciones equivalentes ensecuencias adyacentes se sitúen en elregistro correcto. Los alineamientosson la base de los métodos de análi-sis de secuencias. La Figura 1 mues-tra un ejemplo de lo que es un ali-neamiento con Gaps (Huecos).2

Existen dos tipos de alineamientos:

• Global: El alineamiento globalson las posibles coincidencias exis-tentes a lo largo de toda la secuen-cia del aminoácido o nucleótido.Tratando siempre de encontrar elmayor número de coincidenciasposibles (ver Figura 2).

• Local: Un alineamiento local sehace en pequeñas fracciones de lacadena original en donde existenregiones idénticas o de alta simi-laridad. La prioridad dentro deeste tipo de alineamiento es en-contrar esas regiones locales an-tes que encontrar coincidenciasentre cadenas vecinas o pares deaminoácidos (ver Figura 3).

Código de 1 letra Código de letras AminoácidoA Ala AlaninaC Cys CysteínaD Asp Ácido aspárticoE Glu Ácido glutámicoF Phe PhenylalaninaG Gly GlicinaH His HistidinaI Ile IsoleucinaK Lys LysinaL Leu LeucinaM Met MethioninaN Asn AsparaginaP Pro ProlinaQ Gln GlutaminaR Arg ArgininaS Ser SerinaT Thr ThreoninaV Val ValinaW Trp TryptophanX Xxx Aminoácido no determinadoY Tyr TyrosinaZ Glx Glutamina u otro glutámico

Tabla 2. Código estándar de aminoácidos.

Page 5: Alineamiento de múltiples secuencias de aminoácidos usando

57SISTEMAS& TELEMÁTICA

2.4 Puntuación del alineamientoLos valores matriciales (Tabla 3) sebasan en las sustituciones de aminoá-cido observadas en un gran conjuntode aproximadamente 2.000 bloques(patrones de aminoácido). Estos blo-

ques fueron localizados en una basede datos de secuencias de proteínasque representaban más de 500 fami-lias de proteínas relacionadas y queactuaban como identificadores deesas familias.1

Secuencia A A G C D E V I G

Secuencia B A G E Y C D I I G

Figura 1. Ejemplo de alineamiento con GAPS.

Figura 2. Ejemplo de un alineamiento global.

L G P S S K Q T G K G S - S R I W D N

L N - I T K S A G K G A I M R L G D A

Figura 3. Ejemplo de un alineamiento local.

T G K G - - - - - - --

- - - - - - --

-�-� -� -� -� -� -�-�

-�-� -� -� -� -� -�-� A G K G

Tabla 3. Matriz Blosum62.

Page 6: Alineamiento de múltiples secuencias de aminoácidos usando

58 SISTEMAS& TELEMÁTICA

2.5. Algoritmos genéticosLos algoritmos genéticos usan unaanalogía directa con el comporta-miento natural. Trabajan con unapoblación de individuos, cada uno delos cuales representa una soluciónfactible a un problema dado. A cadaindividuo se le asigna un valor o pun-tuación (fitness), relacionado con labondad de dicha solución. En la na-turaleza esto equivaldría al grado deefectividad de un organismo paracompetir por unos determinados re-cursos. Cuanto mayor sea la adapta-ción de un individuo al problema,mayor será la probabilidad de que elmismo sea seleccionado para repro-ducirse, cruzando (crossover) su ma-terial genético con otro individuo se-leccionado de igual forma. Este cruceproducirá nuevos individuos, descen-dientes de los anteriores, los cualescomparten algunas de las caracterís-ticas de sus padres. Cuanto menorsea la adaptación de un individuomenor será la probabilidad de que seaseleccionado para la reproducción, ypor tanto de que su material genéti-co se propague en sucesivas genera-ciones. De esta manera se produceuna nueva población de posibles so-luciones, la cual reemplaza a la ante-rior y verifica la interesante propie-dad de que contiene una mayor pro-porción de buenas características encomparación con la población ante-rior. Así, a lo largo de las generacio-nes las buenas características se pro-pagan a través de la población. Favo-reciendo el cruce de los individuosmejor adaptados, se van explorandolas áreas más prometedoras del es-pacio de búsqueda. Si el algoritmo ge-nético ha sido bien diseñado, la po-blación convergerá hacia una soluciónóptima del problema. Partiendo de lo

anterior, un algoritmo genético con-siste en lo siguiente: hallar de quéparámetros depende el problema, co-dificarlos en un cromosoma, definirla función de fitness y posteriormen-te aplicar los métodos de la evolución:selección y reproducción sexual conintercambio de información y altera-ciones que generan diversidad. Losalgoritmos genéticos están inspiradosen la naturaleza, en la evolución delas especies.4

Los algoritmos genéticos requierenque el conjunto se codifique en un cro-mosoma. Cada cromosoma tiene va-rios genes, que corresponden a sen-dos parámetros del problema. Parapoder trabajar con estos genes en elordenador es necesario codificarlos enuna cadena, es decir, una secuenciade símbolos (números o letras) quegeneralmente va a estar compuestade 0s y 1s. Tras haber definido la co-dificación de las variables el algorit-mo genético procede de la siguienteforma:

1. Evaluar la puntuación (fitness) decada uno de los individuos.

2. Permitir a cada uno de los indivi-duos reproducirse según su pun-tuación.

3. Emparejar los individuos de lanueva población, haciendo queintercambien material genético, yque alguno de los bits de un gense vea alterado debido a una mu-tación espontánea.

Cada uno de los pasos enunciadosconsiste en una actuación sobre lascadenas de bits, es decir, la aplicaciónde un operador a una cadena bina-ria. Se les denominan, por razonesobvias, operadores genéticos, y haytres principales: selección, crossover

Page 7: Alineamiento de múltiples secuencias de aminoácidos usando

59SISTEMAS& TELEMÁTICA

o recombinación y mutación; todosestos operadores serán explicados acontinuación.

Un algoritmo genético debe tambiéndefinir una serie de parámetros quese deben definir para su funciona-miento.

1. Tamaño de la población: Debeser suficiente para garantizar ladiversidad de las soluciones, y,además, tiene que crecer más omenos con el número de bits delcromosoma, aunque nadie haaclarado cómo tiene que hacerlo.Por supuesto, depende tambiéndel ordenador en el que se estéejecutando.

2. Condición de terminación: Lomás habitual es que la condiciónde terminación sea la convergen-cia del algoritmo genético o un nú-mero prefijado de generaciones.

3. Evaluación y selección: Duran-te la evaluación se decodifica elgen, convirtiéndose en una seriede parámetros de un problema, sehalla la solución del problema apartir de esos parámetros, y se leda una puntuación a esa soluciónen función de lo cerca que esté dela mejor solución. A esta puntua-ción se le llama fitness. El fitnessdetermina siempre los cromoso-mas que se van a reproducir, yaquellos que se van a eliminar,pero hay varias formas de consi-derarlo para seleccionar la pobla-ción de la siguiente generación:

a. Usar el orden, o rango, y hacerdepender la probabilidad de per-manencia o evaluación de la posi-ción en el orden.

b. En algunos casos, el fitness no esuna sola cantidad, sino diversos

números, que tienen diferenteconsideración. Basta con que talfitness forme un orden parcial, esdecir, que se puedan comparar dosindividuos y decir cuál de ellos esmejor. Esto suele suceder cuandose necesitan optimizar varios ob-jetivos.

Una vez evaluado el fitness se tieneque crear la nueva población tenien-do en cuenta que los buenos rasgosde los mejores se transmitan a esta.Para ello hay que seleccionar una se-rie de individuos encargados de tanardua tarea. Y esta selección, y la con-siguiente reproducción, se puedenhacer de tres formas principales:

1. Basado en el rango: En este es-quema se mantiene un porcenta-je de la población, generalmentela mayoría, para la siguiente ge-neración. Se coloca toda la pobla-ción por orden de fitness, y los Mmenos dignos son eliminados ysustituidos por la descendencia dealguno de los M mejores con al-gún otro individuo de la población.A este esquema se le pueden apli-car otros criterios; por ejemplo, secrea la descendencia de uno de lospaladines/amazonas, y esta sus-tituye al más parecido entre losperdedores. Esto se denominacrowding, y fue introducido porDeJong. También es posible quecuando nazca una nueva criaturase seleccionen k individuos de lapoblación, y se elimina al másparecido a la nueva criatura. Unavariante de éste es el muestreadoestocástico universal, que trata deevitar que los individuos con másfitness copen la población; en vezde dar la vuelta a una ruleta conuna ranura, da la vuelta a la ru-

Page 8: Alineamiento de múltiples secuencias de aminoácidos usando

60 SISTEMAS& TELEMÁTICA

leta con N ranuras, tantas comola población; de esta forma la dis-tribución estadística de descen-dientes en la nueva población esmás parecida a la real.

2. Rueda de ruleta: Se crea un poolgenético formado por cromosomasde la generación actual, en unacantidad proporcional a su fitness(ver Figura 4). Si la proporciónhace que un individuo domine lapoblación, se le aplica alguna ope-ración de escalado. Dentro de estepool se cogen parejas aleatorias decromosomas y se emparejan, sinimportar incluso que sean del mis-mo progenitor (para eso estánotros operadores, como la muta-ción). Hay otras variantes: porejemplo, en la nueva generaciónse puede incluir el mejor represen-tante de la generación actual. Eneste caso se denomina método eli-tista.

3. Selección de torneo: Se escogealeatoriamente un número T deindividuos de la población, y elque tiene puntuación mayor sereproduce, sustituyendo su des-cendencia al que tiene menor pun-tuación.

4. Proceso de crossover: Consisteen el intercambio de material ge-nético entre dos cromosomas (aveces más, como el operador or-gía.). El crossover es el principaloperador genético, hasta el puntoque se puede decir que no es unalgoritmo genético si no tiene cros-sover, y, sin embargo, puede serloperfectamente sin mutación, se-gún descubrió Holland. El teore-ma de los esquemas confía en élpara hallar la mejor solución a unproblema, combinando solucionesparciales. Para aplicar el crosso-ver, entrecruzamiento o recombi-nación, se escogen aleatoriamen-te dos miembros de la población.Esta selección puede emparejarincluso a dos descendientes de losmismos padres sin que ello repre-sente en sí un problema, lo que sepuede garantizar con este “inces-to” es la perpetuación de un indi-viduo con buena puntuación. Porotro lado, si esto sucede demasia-do a menudo, puede crear proble-mas: toda la población puede apa-recer dominada por los descen-dientes de algún gen, que, ade-más, puede tener caracteres no

Chromosome 1

Chromosome 2

Chromosome 3

Chromosome 4

Figura 4 Probabilidad de cada cromosoma de ser escogido para la siguiente ge-nerac ión .

Probabilidad de ser escogido para la reproduccion

Page 9: Alineamiento de múltiples secuencias de aminoácidos usando

61SISTEMAS& TELEMÁTICA

deseados. Lo anterior se suele de-nominar en otros métodos de op-timización como atranque en unmínimo local, y es uno de los prin-cipales problemas con los que seenfrentan los que aplican algorit-mos genéticos.5

En cuanto al teorema de los esque-mas, se basa en la noción de bloquesde construcción. Una buena solucióna un problema está constituida porunos buenos bloques. El crossover esel encargado de mezclar bloques bue-nos que se encuentren en los diver-sos progenitores, y que serán los queden a los mismos una buena puntua-ción. La presión selectiva se encargade que sólo los buenos bloques se per-

petúen, y poco a poco vayan forman-do una buena solución. El teorema delos esquemas viene a decir que la can-tidad de buenos bloques se va incre-mentando con el tiempo de ejecuciónde un algoritmo genético, y es el re-sultado teórico más importante enalgoritmos genéticos.

El intercambio genético se puede lle-var a cabo de muchas formas, perohay dos grupos principales.6

1. Crossover n-puntos: Los dos cromo-somas se cortan por n puntos, y elmaterial genético situado entreellos se intercambia. Lo más habi-tual es un crossover de un punto ode dos puntos; en las figuras 5 y 6se ilustra este proceso.

Figura 6. Ejemplo de cruce basado en dos puntos.

1 0 1 0

1 0 1 0

0 0 1 1 1 0

1 1 0

0 0 1 1 0 1 0

0 1 0

0 1 0

1 0 1 0 0 0 1 1 1 0 0 0 1 1 0 1 0 0 1 0

0

0 1 00 0 10 0 1 1

Padres

Descendentes

Figura 5. Ejemplo de cruce basado en punto.

1 0 1 0

Punto de cruce Punto de cruce

Descendentes

Operador de cruce basado en un punto

Padres 1 0 1 0 0 0 1 1 1 0 0 0 1 1 0 1 0 0 1 0

0 0 1 1 0 0 1 1 1 00 1 0 0 1 0

Page 10: Alineamiento de múltiples secuencias de aminoácidos usando

62 SISTEMAS& TELEMÁTICA

2. Crossover uniforme: Se genera unpatrón aleatorio de 1s y 0s, y seintercambian los bits de los doscromosomas que coincidan dondehay un 1 en el patrón. O bien, segenera un número aleatorio paracada bit, y si supera una determi-nada probabilidad se intercambiaese bit entre los dos cromosmas(ver Figura 7).

5. Mutación: En la Evolución, unamutación es un suceso poco comúnque sucede aproximadamente enuna de cada mil replicaciones, yaunque en la mayoría de los casoslas mutaciones son letales, en ge-neral contribuyen a la diversidadgenética de la especie. En un algo-ritmo genético tendrán el mismopapel y la misma baja frecuencia.Una vez establecida la frecuenciade mutación, por ejemplo, uno pormil, se examina cada bit de cadacadena cuando se vaya a crear lanueva criatura a partir de sus pa-dres (normalmente se hace de for-ma simultánea al crossover). Si unnúmero generado aleatoriamenteestá por debajo de esa probabilidad,

se cambiará el bit (es decir, de 0 a 1ó de 1 a 0). Si no, se dejará comoestá. Dependiendo del número deindividuos que haya y del númerode bits por individuo, puede resul-tar que las mutaciones sean extre-madamente raras en una sola ge-neración.

2.6 Resumen deun algoritmo genéticoA modo de resumen se enumeraránlos pasos básicos necesarios para laimplementación de un algoritmo ge-nético.

1. Obtener la población inicial con laque se va a trabajar.

2. Seleccionar los individuos queserán padres de la siguiente ge-neración. Para esto debe existiruna forma de establecer qué tanbuenos son los individuos y tam-bién debe definirse una estrate-gia para escoger a estos indivi-duos.

3. Producir hijos a partir de los pa-dres seleccionados mediante elproceso de cruce.

1 0 0 1 0 0 1Máscara de cruce

1 1 0 1 1 0 1Padre 1

1 0 0 1 1 1 1Descendiente

0 0 0 1 1 1 0Padre 2

Figura 7. Ejemplo de crossover uniforme.

Page 11: Alineamiento de múltiples secuencias de aminoácidos usando

63SISTEMAS& TELEMÁTICA

4. Mutar a algunos de los individuoshijos.

5. Seleccionar los individuos entrepadres e hijos que van a pasar ala siguiente generación.

6. Realizar los procesos 2 - 5 hastaque se ha llegado al número degeneraciones deseadas, en dondecada ejecución de estos pasoscuenta como una generación.

3. APLICACIÓN DE LOSALGORITMOS GENÉTICOSAL ALINEAMIENTODE MÚLTIPLES SECUENCIASDE AMINOÁCIDOSLa idea básica de este método es in-tentar generar varios AMS mediantereacomodaciones que simulan la in-serción de gaps (huecos) y accionesde recombinación durante la replica-ción para obtener puntajes más altospara el AMS. Dada la forma en queopera este algoritmo no se garantizaque el resultado final sea el óptimo oel más alto que se pueda alcanzar.1

El éxito del algoritmo genético pare-ce radicar en los pasos que se tomanen el reacomodamiento de las secuen-

cias, muchos de los cuales simularíancambios ocurridos en el proceso evo-lutivo de la familia de proteínas. Aun-que este algoritmo puede generarAMS para muchas secuencias, el pro-grama es lento para más de veintecadenas. A continuación se explicaránlos pasos del algoritmo, que está ba-sado en la propuesta expuesta en:1

1. Las secuencias son escritas en fi-las, como en una página, exceptoque ellas son acomodadas en ca-denas que miden un 25% más quela longitud original de la secuen-cia. La posición a partir de la quees plasmada la secuencia es alea-toria y los espacios se llenan congaps (-) de modo que los extremosde las nuevas cadenas empaten.Normalmente se crea una pobla-ción de 100 de estos alineamien-tos y lo que obtenemos son los 100primeros posibles alineamientosgenerados por el algoritmo. En lasfiguras 8 y 9 podemos ver un ejem-plo de cómo se parte de un grupode secuencias iniciales y se reali-za un proceso de reacomodaciónen una tabla más grande.

2. Cada alineamiento es calificadousando el método de la suma de

x x x x x x x x

y y y y y y y y

z z z z z z z z

- x x x x x x x x -

y y y y y y y y - -

- - z z z z z z z z

Figura 9. Secuencias reacomodadas.

Figura 8. Secuencias iniciales.

Page 12: Alineamiento de múltiples secuencias de aminoácidos usando

64 SISTEMAS& TELEMÁTICA

pares (se tienen en cuenta todaslas posibles combinaciones deaminoácidos en cada columna delalineamiento) y tomando las pun-tuaciones de la matriz Blosum.

3. Se esogen los 50 mejores alinea-mientos y pasan a la segunda ge-neración sin cambios, a continua-ción se realiza un sorteo para de-terminar cuáles serán los 50 ali-neamientos restantes, siguiendoun proceso similar a sacar cani-cas de una bolsa y en el que mien-tras mayor sea la puntuación delAMS mayor es la probabilidad deser escogido. La segunda mitadpasará por la fase de mutaciónque se explica a continuación.

4. En el proceso de mutación la se-cuencia no debe ser modificada enlas letras que la representan, por-que de lo contrario no sería un ali-neamiento, pero sí son insertadosgaps y son reacomodadas las ca-denas en un intento de obtenermejores puntajes en el AMS. Aun-que existen varias maneras de

manejar la inserción de gaps, ennuestra versión del algoritmo lainserción se hará de manera alea-toria tanto en lo que respecta a laposición de la cadena como a lalongitud del gap. En las figuras10 y 11 se presenta un conjuntode secuencias alineadas antes ydespués de la inserción de gaps enel alineamiento respectivamente.

5. La fase de recombinación se llevaa cabo de la siguiente forma. Apartir de la totalidad de alinea-mientos se seleccionan padresusando el método de selección portorneo en el que son escogidos dosalineamientos al azar y el que ten-ga la mejor puntuación será unode los padres; el proceso se repitepara obtener el segundo alinea-miento padre.

Aleatoriamente se genera un núme-ro que nos va a indicar el punto decorte del primer alineamiento, que esel número del carácter por el que va-mos a realizar el primer corte, comose muestra en las figuras 12 y 13.

- x x x - x x - x x x - -

y y y - y y - y y y - - -

- - z - - z z z - z z z z

- x x x x x x x x -

y y y y y y y y - -

- - z z z z z z z z

Figura 10. Alineamiento con las secuencias reacomodadas.

Figura 11. Alineamiento tras la inserción de gaps en las secuencias.

Page 13: Alineamiento de múltiples secuencias de aminoácidos usando

65SISTEMAS& TELEMÁTICA

Lo que sigue es pegar las partes som-breadas entre sí obteniendo así unnuevo alineamiento que sería el hijo1; de igual forma se pegarían las par-tes no sombreadas creando un hijo 2.Se escoge naturalmente al alinea-miento hijo con mejor puntaje. Porotro lado se pueden buscar escoger losmejores n alineamientos y pasarlosintactos a la siguiente generación o,por el contrario, permitir que todoslos alineamientos de la nueva gene-ración sean producto de la reproduc-ción de dos AMS.

6. A continuación se parte de la nue-va población, como si fuera la ori-ginal, y la llevamos de nuevo alpaso dos. Este proceso se realizageneralmente 100 veces, pero pue-de llegar a ser ejecutado inclusotanto como 1.000 veces.

7. El proceso completo de producir unconjunto de AMS mediante la repli-cación y mutación es repetido mu-chas veces para obtener, así mismo,un gran número de posibles AMS yes escogido el mejor calificado.

4. EJEMPLO DE LA APLICACIÓNDEL ALGORITMOA continuación veremos un ejemplode cómo funciona el algoritmo paso apaso siguiendo el alineamiento detres secuencias.

En primer lugar hay que resaltar queel programa permite parametrizaralgunos valores necesarios para elalineamiento. Estos valores son: eltamaño de la población, el número degeneraciones que se van a producir,el número de gaps que se van a in-sertar en cada cadena en el procesode mutación y el tamaño máximo degap que será insertado en la muta-ción. Para el ejemplo solo se va a tra-bajar con tres cadenas de una longi-tud relativamente corta, se genera-rán la primera y parte de la segundageneración, y el número de gaps ainsertar por mutación será de unoigual al del tamaño máximo del gap.

1. En la Figura 14 se muestran lassecuencias cn las que se va a tra-bajar:

xx-xx-Axx-xxx -xxx-x-A-x-xx-xx-xxx-x-A-x-xx-xx x-x-xx-Axx-x-x-xx-x-xx-Axx-x-x-x xx-xx-Axx-xxxx-xxx-A-x-xxxx x-xxx-x-A-xxxx

Figura 12. Padre 1. Figura 13. Padre 2.

N=5

N D C Q D F F F T Q I K T H I G A Q R P S T N D C Q E F F

A R N D C Q F F F T Q I L K S T

Figura 14. Secuencias iniciales.

Page 14: Alineamiento de múltiples secuencias de aminoácidos usando

66 SISTEMAS& TELEMÁTICA

2. Se calcula el 25% de la longitudde la cadena más larga y eso nosda los espacios extras que se vana usar para mover las cadenas aun lado y al otro; en este caso laholgura es de cuatro y a continua-ción se genera un número aleato-rio entre 0 y 4 para cada cadena yeso determina el desplazamientode la misma. Con los parámetrosanteriores se generan cuatro po-sibles alineamientos, estos sonmostrados en la Figura 15.

3. A continuación se saca el puntajede cada alineamiento teniendo encuenta las calificaciones estable-cidas en la matriz Blosum62; seordenan y se escoge la primeramitad que corresponde a la demejores calificaciones y pasa in-

tacta. Se pueden ver en la Figura16 los alineamientos con mayornúmero de coincidencias en estecaso,

4. A continuación la otra mitad delos alineamientos pasa por un pro-ceso de mutación en el que paracada secuencia se escoge aleato-riamente el número, el tamaño yla posición en la que va a ser in-sertado cada uno de los gaps, te-niendo en cuenta, claro está, losparámetros introducidos al pro-grama. La selección de esta se-gunda mitad se lleva a cabo así:

• Primero se establece un rango queva de la menor a la mayor pun-tuación de entre todos los alinea-mientos.

Figura 15. Alineamientos inicales.

- - A R N D C Q F F F T Q I L K S T - -

- - - N D C Q D F F F T Q I K T - - - -

- H I G A Q R P S T N D C Q E F F - - -

A R N D C Q F F F T Q I L K S T - - - -

- N D C Q D F F F T Q I K T - - - - - -

- - - H I G A Q R P S T N D C Q E F F -

- - - - A R N D C Q F F F T Q I L K S T- - N D C Q D F F F T Q I K T - - - - -- - - H I G A Q R P S T N D C Q E F F -

- A R N D C Q F F F T Q I L K S T - - -

N D C Q D F F F T Q I K T - - - - - - -

- H I G A Q R P S T N D C Q E F F - - -

Page 15: Alineamiento de múltiples secuencias de aminoácidos usando

67SISTEMAS& TELEMÁTICA

• Luego se generan números alea-torios dentro de ese rango y seescogen posiciones aleatorias deentre el conjunto de alineamien-tos, se compara el puntaje aleato-rio con el del alineamiento alea-torio; si el puntaje del alineamien-to es mayor o igual, es selecciona-do, de lo contrario se repite el pro-ceso. Con el proceso anterior se

busca darle una mayor probabili-dad a los alineamientos “fuertes”de ser elegidos. La Figura 17muestra el resultado del procesoanterior.

5. Tanto la primera mitad de losmejores como la segunda mitad delos alineamientos mutados se jun-tan y luego son calificados y reor-denados (ver Figura 18).

- - A R N D C Q F F F T Q I L K S T - -- - - N D C Q D F F F T Q I K T - - - -- H I G A Q R P S T N D C Q E F F - - -

A R N D C Q F F F T Q I L K S T - - - -- N D C Q D F F F T Q I K T - - - - - -- - - H I G A Q R P S T N D C Q E F F -

Figura 16. Alineamientos con mayor puntuación.

Figura 18. Alineamientos seleccionados y reordenados.

- - A R N D C Q F F F T Q I L K S T - -- - - N D C Q D F F F T Q I K T - - - -- H I G A Q R P S T N D C Q E F F - - -

- A R N D C Q F F F T - Q I L K S T - -N - D C Q D F - F F T Q I K T - - - - -- H I G A - Q R P S T N D C Q E F F - -

A R N D - C Q F F F T Q I L K S T - - -- N D C Q D F F - F T Q I K T - - - - -- - - H I G A Q R P S T - N D C Q E F F

- - - - A R N D C - Q F F F T Q I L K S T- - N D - C Q D F F F T Q I K T - - - - -- - - H I G A Q R P S T N D C Q E F F - -

Figura 17. Alineamientos tras la inserción de gaps.

A R N D - C Q F F F T Q I L K S T - - -- N D C Q D F F - F T Q I K T - - - - -- - - H I G A Q R P S T - N D C Q E F F

- A R N D C Q F F F T - Q I L K S T - -N - D C Q D F - F F T Q I K T - - - - -- H I G A - Q R P S T N D C Q E F F - -

Page 16: Alineamiento de múltiples secuencias de aminoácidos usando

68 SISTEMAS& TELEMÁTICA

6. Ahora se realiza el proceso de re-producción basado en el método detorneo en el cual selecciono alea-toriamente una pareja de alinea-mientos; aquí el que tenga unamejor calificación va a ser escogi-do como padre. Este proceso serepite n veces (donde n es el ta-maño de la población), ya que cadaiteración va a asegurar obtener unalineamiento para agregar a lanueva población. A continuaciónse va a ver en detalle cómo es elproceso de reproducción. Para talpropósito se va a trabajar con losdos primeros alineamientos de laFigura 19.

7. A partir de estos dos alineamien-tos se genera un número aleato-rio dentro del rango de cero hasta

la longitud de la cadena más cor-ta, ese será el punto de corte. Parael ejemplo el número será 5, estoindica no la posición sino el carác-ter por el que se realizará el corte(ver Figura 20).

8. A continuación se intercambia laprimera parte de la matriz supe-rior con la segunda de la inferiory viceversa y se obtiene algo comolo que muestra la Figura 21 c.

9. A continuación se escoge al hijoque tenga la mejor calificación yes agregado a la nueva genera-ción. El proceso se muestra en laFigura 22

10. Cabe anotar que en el proceso dereproducción se eliminan las co-lumnas llenas de gaps que se en-

Figura 19. Alineamientos escogidos para el proceso de cruce.

Figura 20. Identificación del carácter de corte.

Page 17: Alineamiento de múltiples secuencias de aminoácidos usando

69SISTEMAS& TELEMÁTICA

- - A R N D C Q F F F T Q I L K S T - -- - - N D C Q D F F F T Q I K T - - - -- H I G A Q R P S T N D C Q E F F - - -

a. Padre 1.

- A R N D C Q F F F T - Q I L K S T - -N - D C Q D F - F F T Q I K T - - - - -- H I G A - Q R P S T N D C Q E F F - -

b. Padre 2.

- - A R N D C Q F F F T - Q I L K S T- - - N D C Q D F - F F T Q I K T - -- H I G A Q R P S T N D C Q E F F - -

- A R N D C Q F F F T Q I L K S T -N - D C Q D F F F T Q I K T - - - -- H I G A - Q R P S T N D C Q E F F

Figura 21c. Hijo 1 e hijo 2. Las partes sombreadas corresponden al padre uno,las otras al padre dos.

Figura 22. Escogencia del hijo con menor calificación.

Hijo del alineamiento uno y dos cortado por el quinto carácter.

Hijo del tercer y cuarto alineamiento, cortados por el octavo carácter.

Hijo del segundo y tercer alineamiento cortados por el décimo carácter.

Page 18: Alineamiento de múltiples secuencias de aminoácidos usando

70 SISTEMAS& TELEMÁTICA

cuentran al final de los alinea-mientos. Por otro lado, cuando sehan generado el número de hijossuficientes para cumplir con eltotal de la población, se retornaal paso tres para seguir con el pro-cedimiento hasta completar el nú-mero solicitado de generaciones.Es importante anotar que paraeste ejemplo solo se está trabajan-do con tres secuencias cortas, unapoblación de cuatro y tan solo dosgeneraciones. La idea es que setrabaje con no más de 20 secuen-cias, con una población de 100 in-dividuos y 100 generaciones.

5. CONCLUSIONESTras haber realizado algunas prue-bas con diversos grupos de secuen-cias, se evidenciaron varios aspec-tos que hay que tener en cuentapara obtener buenos resultados coneste algoritmo. Dado que uno de losproblemas de los algoritmos gené-ticos en general es la existencia delos máximos locales, puede ser ne-cesario aplicar el algoritmo variasveces sobre el mismo conjunto de se-cuencias y escoger entre los diferen-tes resultados el mejor. Por otrolado, es necesario jugar un poco conlos parámetros del algoritmo talescomo el número y longitud de gapsque se pueden insertar en las se-cuencias mutadas y el tamaño de lapoblación. Esta variación en los pa-rámetros es muy importante porqueno es lo mismo trabajar con secuen-cias que son muy similares entre sía trabajar con secuencias amplia-mente dispares.

Con las pruebas también se pudodetectar que cuando se está reali-zando la implementación del algo-ritmo, es de vital importancia evi-

tar que las secuencias aumenten detamaño de manera exagerada por-que si no se toman tales precaucio-nes, puede suceder que todos losalineamientos estén llenos de se-cuencias que son en un alto porcen-taje gaps; y si este error se propa-ga, el resultado del algoritmo pue-de ser muy pobre. Por último, es devital importancia ejecutar este al-goritmo en una máquina relativa-mente robusta, especialmente en lamedida en que aumentamos el nú-mero y la longitud de las cadenasque vamos a alinear.

A lo largo de la elaboración de laaplicación se pudo observar una ca-racterística propia de los algoritmosgenéticos y es la gran flexibilidadque brindan. Aunque es cierto queen un principio lo que se busca esrepresentar el problema en térmi-nos de cromosomas codificados queevidencian parte de la rigidez delmodelo, a medida que se exploranlas opciones de desarrollo del algo-ritmo se ve claramente lo que sequiere expresar. El hecho que el al-goritmo propuesto busque lograrque toda la población de cromoso-mas tenga puntajes altos o por elcontrario el enfoque en el que sebusca solamente un gran máximo vamás allá del simple significado ma-temático. Lo que se tiene en frentees un sistema que nos puede mos-trar diferentes soluciones a un pro-blema y es ahí donde la capacidadde interpretar esas propuestas pue-de hacer la diferencia.

6. BIBLIOGRAFÍA1. Mount, David W. Bioinformatics:

sequence and genome analysis,Cold Spring Harbor, 2001.

Page 19: Alineamiento de múltiples secuencias de aminoácidos usando

71SISTEMAS& TELEMÁTICA

2. Lesk, Arthur M. Introduction tobioinformatics, Oxford Universi-ty Press, 2002.

3. Attwood, Teresa K., Parry-Smith,David J. Introducción a la bioin-formática, Prentice Hall, 2002,Madrid.

4. Goldberg, D. E. Genetic algori-thms in search, optimization, andmachine learning. Reading, MA:Addison-Wesley. 1989.

5. http://geneura.ugr.es/~jmerelo/ie/ags.htm

6. http://www.sc.ehu.es/isg/

CURRÍCULOLuis Felipe Solanilla: Bachiller del

Colegio Lacordaire. Estudiantede décimo semestre de Ingenie-ría de Sistemas de la Universi-dad ICESI. Trabajó como moni-tor durante cuatro años en elgrupo Help Desk de la Univer-sidad ICESI.

Luis Eduardo Múnera: Matemáti-co de la Universidad del Valle.Máster y Doctor en Informáticade la Universidad Politécnica deMadrid. Docente-Investigadorde la Universidad ICESI.