Algoritmo 2 Algoritmo ABC.
3.1 CODIFICAÇÃO DOS INDIVÍDUOS
Há dois problemas principais na modelagem de AGs para um dado problema de otimização: como as variáveis do problema serão codificadas e como a qualidade das soluções será avaliada. O primeiro representa o problema da representação cromossô- mica (codificação) e o segundo, o problema da avaliação (função de fitness).
A representação cromossômica tem uma grande influência na dinâmica e eficiência dos AGs (LOPES, 2008). A codificação pode influenciar fortemente não somente o tamanho do espaço de busca, mas também na complexidade do problema, devido à presença de epistasia entre os genes do cromossomo. Para o problema de dobramento, há basicamente três formas de representação (KRASNOGOR et al., 1999; LOPES, 2008): • Coordenadas cartesianas: este método de codificação descreve um dobramento como um vetor de elementos que representa a posição no espaço dos aminoá- cidos da sequência. Geralmente, sua utilização é inadequada para algoritmos baseados em população (como os algoritmos genéticos), pois estruturas idênticas ou semelhantes podem ter coordenadas totalmente diferentes;
• Coordenadas internas: uma dada conformação é representada como um conjunto de movimentos dos aminoácidos em relação ao seu predecessor na cadeia. Esta é a representação mais utilizada em abordagens com algoritmos evolucionários para o PDP, podendo ser classificada em dois tipos:
– Coordenadas absolutas: este tipo de coordenadas é baseado na orientação do eixo da grade onde o dobramento está embutido (bi ou tridimensional). Para a grade tridimensional, este sistema de coordenadas é definido atra- vés do seguinte conjunto: {N,S,L,O,F,T}, correspondendo aos movimentos norte, sul, leste, oeste, para frente e para trás.
– Coordenadas relativas: este tipo define a posição de cada aminoácido da ca- deia em relação ao movimento do seu predecessor. O conjunto de movimen- tos possíveis é: {F,E,D,C,B}, correspondendo a para frente (continuando no mesmo sentido do último movimento realizado), à esquerda, à direita, para cima e para baixo.
• Matriz de distâncias: descreve a estrutura de um dobramento através de uma matriz quadrada que representa a distância entre aminoácidos. Este tipo de re- presentação é raramente utilizado na literatura (PICCOLBONI; MAURI, 1998). Um estudo sobre os tipos de sistema de coordenadas internadas foi realizado por (KRASNOGOR et al., 1999), utilizando vários tipos de grade. Segundo os resultados apresentados neste estudo, a codificação em coordenadas relativas internas pode levar o algoritmo genético a resultados melhores. Com base nisto, foram utilizadas coor- denadas internas relativas neste trabalho. Neste sistema de coordenadas, uma dada conformação da proteína é representada como sendo um conjunto de movimentos so- bre uma treliça cúbica. Assim, a posição de cada aminoácido na cadeia é relativa ao seu predecessor. Conforme mencionado na Seção 2.3.4, no modelo 3DHP-SC os ami- noácidos de uma proteína são representados por um backbone (B) e uma cadeia lateral, hidrofóbica (H) ou polar (P). No espaço tridimensional há cinco movimentos relativos possíveis para o backbone (Esquerda, Frente, Direita, Baixo, Cima) e outros cinco para a cadeia lateral, relativos ao backbone (esquerda, frente, direita, baixo, cima).
Para ilustrar os movimentos na treliça cúbica, as Figuras 12(a) e 12(b) mostram os possíveis movimentos para o backbone e cadeia lateral, respectivamente.
Portanto, a combinação dos possíveis movimentos do backbone e da cadeia lateral leva a 25 possibilidades, representadas pelo conjunto: {Ee, Ef, Ed, Eb, Ec, Fe, Ff, Fd,
(a) (b)
Figura 12: Exemplo de movimentos relativos para backbone (a) e cadeia lateral (b) Fonte: Autoria própria
Fb, Dc, De, Df, Dd, Db, Dc, Be, Bf, Bd, Bb, Bc, Ce, Cf, Cd, Cb, Cc}. Cada elemento deste conjunto é representado como um único símbolo, conforme a Tabela 2, sendo este o alfabeto utilizado para codificar o cromossomo do AG. Os símbolos, por sua vez, são representados na forma binária com 5 bits (número de bits necessário para representar o alfabeto de 25 movimentos, com valores de 0 a 24). Os valores inválidos (valor ≥ 25∧ valor < 225) são substituídos pelo maior valor possível (valor = 24). Considerando o dobramento de uma proteína com n aminoácidos, um cromossomo com n − 1 genes representará o conjunto de movimentos do backbone e da cadeia lateral na treliça.
Tabela 2: Esquema de codificação das coordenadas relativas internas para o PDP.
Movimentos Backbone E F D B C C ad ei a L at er al e 0 5 A F K f 1 6 B G L d 2 7 C H M b 3 8 D I N c 4 9 E J O
O fenótipo, ou seja, a representação do dobramento propriamente dito, pode ser decodificado a partir do genótipo, como apresentado na Figura 13. Em outras pala- vras, a posição dos aminoácidos na treliça cúbica é obtida a partir do cromossomo do indivíduo. A Figura 13 mostra um exemplo de mapeamento genótico→fenótipo para o dobramento de um polipeptídeo fictício. Por questão de clareza, apenas os quatro pri- meiros movimentos estão indicados no cromossomo e no dobramento. O backbone e a cadeia lateral do aminoácido inicial estão indicados também estão indicados na figura. Conforme citado na Seção 2.3.4, as cadeias laterais hidrofóbicas e polares são represen-
Figura 13: Mapeamento genótipo - fenótipo Fonte: Autoria própria
tadas, respectivamente, por esferas vermelhas e azuis. O backbone e as conexões entre aminoácidos são mostrados em cinza.
Para representar a posição dos aminoácidos na treliça cúbica, as coordenadas car- tesianas de cada elemento (backbone e cadeia lateral) são definidas por um vetor (xi,
yi, zi). Este vetor é obtido a partir do movimento relativo do aminoácido atual e da
posição do aminoácido predecessor. Portanto, um procedimento sequencial progres- sivo é necessário, iniciando desde o primeiro backbone, situado na origem do sistema de coordenadas (posição (0, 0, 0)) e com cadeia lateral situada na posição (0, -1, 0).
O pseudo-código do algoritmo de mapeamento genótipo - fenótipo é detalhado de maneira simplificada no Algoritmo 3. O indivíduo é lido e decodificado em um string utilizando o alfabeto apresentado na Tabela 2. No próximo passo é construído o es- paço tridimensional (matriz 3D) onde os elementos serão posicionados. O backbone e a cadeia lateral do primeiro aminoácido são posicionados nas coordenadas (0, 0, 0) e (0, - 1, 0), respectivamente. Após a leitura do cromossomo e posicionamento dos elementos do primeiro aminoácido, a construção do fenótipo é realizada, onde os elementos de cada aminoácido são posicionados no espaço tridimensional. Para cada movimento a ser realizado, quatro passos são efetuados. Primeiro, o sentido do movimento é deter- minado a partir do movimento a ser realizado e do sentido do movimento realizado pelo aminoácido predecessor. Na sequência, as coordenadas do backbone do aminoá- cido são determinadas a partir do sentido do movimento e das coordenadas do ami- noácido predecessor. O próximo passo consite na determinação das coordenadas da cadeia lateral do aminoácido a partir movimento e as coordenadas do backbone. Fi-
nalmente, os elementos do aminoácido são posicionados no espaço tridimensional a partir das suas coordenadas.