1.4 Algoritmos Gen´ eticos e sua aplica¸c˜ ao em MSA
1.4.2 Solu¸c˜ oes para MSA com Algoritmos Gen´ eticos
Algoritmos gen´eticos, por serem heur´ısticas para a solu¸c˜ao de problemas de otimiza¸c˜ao, podem ser aplicados ao problema de MSA.
Uma das propostas pioneiras no uso de algoritmos gen´eticos para a solu¸c˜ao de MSA foi feita por Tajima em 1993 [113].
A solu¸c˜ao de Tajima monta a popula¸c˜ao inicial atrav´es da inser¸c˜ao randˆomica de
gaps nas sequˆencias originais, de forma que todas fiquem com o mesmo tamanho. Parte da popula¸c˜ao ´e ent˜ao escolhida para reprodu¸c˜ao atrav´es do m´etodo da roleta. Estes indiv´ıduos podem ser sujeitos a um operador de crossover que seleciona uma coluna em comum em ambos os alinhamentos pais, divide ambos os alinhamentos usando esta coluna como pivˆo e os mescla baseado nos sub-alinhamentos gerados neste processo. Existe
tamb´em um operador de muta¸c˜ao que insere randomicamente novos gaps no alinhamento. Este algoritmo foi desenhado de forma a ser executado de forma paralela em diversas c´elulas de processamento, possuindo uma etapa de troca onde indiv´ıduos hospedados em uma c´elula podem ser trocados com indiv´ıduos de outra a cada gera¸c˜ao.
Uma outra solu¸c˜ao foi proposta por Isokawa e colegas em 1996 [56], cujos cromos- somos, ou seja a representa¸c˜ao das poss´ıveis solu¸c˜oes (no caso o alinhamento), s˜ao ar- mazenados como uma matriz bin´aria com 0’s representado elementos das sequˆencias (no exato n´umero de res´ıduos existentes em cada sequˆencia) e 1’s representando um gap. A popula¸c˜ao inicial ´e gerada randomicamente atrav´es da cria¸c˜ao destas matrizes (respei- tando o n´umero de res´ıduos). Este algoritmo prop˜oe um operador de crossover chamado “window frame” que seleciona randomicamente janelas com um certo n´umero de res´ıduos (0’s) em dois alinhamentos pais e faz a troca destas janelas entre eles. Um operador de muta¸c˜ao chamado “island-shift” tamb´em ´e aplic´avel, onde pequenos trechos iniciados por um gap e terminado por um res´ıduo, ou vice-versa, s˜ao selecionados (0. . . 1 ou 1. . . 0) e estas extremidades s˜ao invertidas.
´
E do mesmo ano do trabalho de Isokawa e colegas a publica¸c˜ao de uma das solu¸c˜oes uti- lizando GA mais conhecidas, o programa SAGA, proposto por Notredame e Higgins [82]. Este programa representa os cromossomos atrav´es dos pr´oprios alinhamentos.
O SAGA possui um grande n´umero de operadores que podem ser aplicados:
• Single Point Crossover - Este operador seleciona uma coluna em um dos alinha- mentos, encontra os mesmos res´ıduos no outro alinhamento e efetua um corte em ambos usando esta referˆencia. Como no segundo alinhamento este corte n˜ao ´e ne- cessariamente vertical, como no primeiro, as lacunas criadas s˜ao preenchidas com
gaps. Ap´os isto o sub-alinhamento `a esquerda do corte de cada um dos alinhamen- tos pais ´e combinado ao sub-alinhamento `a direita do outro, gerando dois novos alinhamentos.
• Uniform Crossover - Como o crossover sobre um ´unico ponto pode, por vezes, ser muito disruptivo, foi criado um segundo operador. Neste, as colunas idˆenticas em ambos os alinhamentos pai s˜ao marcados e os trechos entre elas s˜ao permutados. • Gap Insertion - Este operador divide as sequˆencias do alinhamento em dois blocos,
inserindo um bloco de gaps de mesmo tamanho em cada um deles. Os gaps s˜ao colocados na mesma coluna entre sequˆencias de um mesmo bloco. Para a sele¸c˜ao das sequˆencias de cada bloco ´e criada uma ´arvore filogen´etica estimada que ´e seccionada em algum n´o. Os blocos consistem das sequˆencias (folhas) de cada um dos dois ramos da ´arvore gerados nesta divis˜ao.
1.4. Algoritmos Gen´eticos e sua aplica¸c˜ao em MSA 29
• Block Shuffling - Este conjunto de operadores seleciona um bloco de gaps ou res´ı- duos e o move para a direita ou esquerda. Esta a¸c˜ao pode ser efetuada sobre todo o bloco de gaps, ou dividindo-o verticalmente (por colunas) ou horizontalmente (por sequˆencias), movendo cada parti¸c˜ao em uma dire¸c˜ao diferente. Considerando que estes operadores podem ser estoc´asticos ou determin´ısticos (usando uma estrat´egia de semi hill climbing) existe um conjunto de 16 varia¸c˜oes deste operador implemen- tadas.
• Block Searching - Esta muta¸c˜ao seleciona randomicamente um pequeno bloco (res´ıduos sem gaps) em uma sequˆencia do alinhamento, busca o trecho que melhor se alinha com ele nas outras sequˆencias e tenta realinh´a-las.
• Local Optimal - Este operador seleciona um alinhamento local e tenta rearranjar seus gaps em busca de uma solu¸c˜ao ´otima ou sub-´otima. Isto ´e feito de forma exaustiva ou mediante a aplica¸c˜ao de um algoritmo gen´etico focado no alinhamento local (LAGA).
Considerando que se pode escolher uma estrat´egia estoc´astica ou de semi hill climbing para os operadores de inser¸c˜ao de gaps e de crossover uniforme, chega-se a um n´umero de 22 operadores poss´ıveis. Para decidir quais operadores ser˜ao utilizados ´e adotada uma estrat´egia de dynamic scheduling, onde os operadores s˜ao escolhidos de forma semi- randˆomica, onde a probabilidade de ser utilizado ´e proporcional a qualidade dos indiv´ıduos gerados com ela nas gera¸c˜oes anteriores. Inicialmente todos os operadores possuem a mesma probabilidade de serem utilizados.
O SAGA foi utilizado como plataforma para testes da fun¸c˜ao objetivo COFFEE [84], uma fun¸c˜ao objetivo baseada em consistˆencia e descrita na Se¸c˜ao 1.3.3. Isto evidencia uma outra utilidade de algoritmos gen´eticos para MSA: servir como uma plataforma para teste ou refinamento de estrat´egias, fun¸c˜oes objetivo ou algoritmos de MSA.
Um pesquisa posterior, realizada do Thomsen e Boomsma [121] testou a qualidade de alinhamentos gerados pela aplica¸c˜ao SAGA com diversos parˆametros. Algumas ob- serva¸c˜oes interessantes surgiram nesta pesquisa: primeiramente, o mecanismo de dynamic
scheduling n˜ao apresentou diferen¸ca significativa quando comparada a sele¸c˜ao puramente estoc´astica dos operadores; al´em disto, o uso de operadores de crossover n˜ao afetou de forma significativa os resultados. Isto ´e um indicador que o SAGA foi desenhado com uma complexidade maior que a necess´aria para obter os seus resultados.