• Nenhum resultado encontrado

Algoritmo para Busca de Subestruturas Maximais

No documento Análise de estruturas de proteínas (páginas 113-117)

As restri¸c˜oes das rela¸c˜oes entre pares de vetores est˜ao expressas atrav´es das arestas, presentes nos grafos apenas se os crit´erios referentes ao ˆangulo, c´odigo e distˆancias entre vetores satisfazem `aqueles estabelecidos pelo o usu´ario. As arestas s˜ao usadas na deter- mina¸c˜ao do grau dos v´ertices e no procedimento de otimiza¸c˜ao realizado atrav´es do teste de adjacˆencia.

5.5 ALGORITMO PARA BUSCA DE SUBESTRUTURAS MAXIMAIS

Nesta se¸c˜ao, uma abordagem para a busca de subestruturas maximais comuns em um grupo de prote´ınas ´e apresentada. A busca por subestruturas maximais em um conjunto de prote´ınas pode revelar rela¸c˜oes, estruturais e funcionais, desconhecidas pre- viamente, auxiliando na constru¸c˜ao de filogenias de prote´ınas bem como na classifica¸c˜ao das prote´ınas em fam´ılias, as quais compartilham motivos e dobramentos similares.

Uma dificuldade que surge na classifica¸c˜ao de prote´ınas ´e que estas s˜ao compostas por dom´ınios globulares, cuja identifica¸c˜ao e delineamento ´e um processo dif´ıcil e freq¨uente- mente subjetivo.

Os dom´ınios podem ser definidos como um dobramento compacto, local e semi- independente. Eles podem ter uma fun¸c˜ao pr´opria dentro de uma prote´ına, raz˜ao pela qual as prote´ınas s˜ao divididas em dom´ınios discretos antes de serem classificadas. Em- bora de f´acil identifica¸c˜ao manual, a automatiza¸c˜ao do processo de identifica¸c˜ao n˜ao ´e uma tarefa simples. Diferentes algoritmos vˆem sendo propostos, os quais recaem em diferentes conjuntos de regras para definir a estrutura de um dom´ınio, tais como, compacticidade, ´area de superf´ıcie, mapa de contatos entre res´ıduos e hidrofobicidade [Hadley and Jones, 1999].

A busca por subestruturas comuns a grupo de prote´ınas surge como uma op¸c˜ao na identifica¸c˜ao de dom´ınios, sendo esta mais uma motiva¸c˜ao para o desenvolvimento da abordagem aqui apresentada.

No m´etodo aqui proposto, as prote´ınas s˜ao representadas segundo o grafo especifi- cado na Se¸c˜ao 5.3. Ou seja, no grafo os v´ertices representam os elementos de estrutura secund´aria, com seu respectivos tipos e normas da representa¸c˜ao vetorial, e as arestas representam diferentes tipos de relacionamentos entre estes elementos, quais sejam, os ˆangulos, codifica¸c˜ao Lesk, distˆancia entre os pontos m´edios dos vetores e distˆancia entre as retas que cont´em os vetores. Al´em disso, as posi¸c˜oes inicial e final dos elementos de estrutura secund´aria na cadeia polipept´ıdica tamb´em s˜ao armazenadas.

Utilizando tal representa¸c˜ao, o problema da busca por subestruturas maximais comuns a um grupo de prote´ınas foi reduzido ao problema da Busca por um Subgrafo Maximal.

5.5 algoritmo para busca de subestruturas maximais 98

A busca por um subgrafo maximal ´e uma importante generaliza¸c˜ao do problema de isomorfismo de grafos, o qual generaliza tamb´em a busca por subgrafos isomorfos. Tal problema, fundamental em Teoria dos Grafos, tamb´em ´e NP-completo [Valiente, 2002].

O m´etodo desenvolvido para determinar subestruturas comuns baseou-se num algo- ritmo cl´assico para a busca por subgrafos maximais, o qual foi proposto por McGre- gor [McGregor, 1982]. O algoritmo, originalmente desenvolvido para comparar pares de grafos, foi adaptado para incluir as restri¸c˜oes concernentes `a representa¸c˜ao utilizada e permitir a compara¸c˜ao m´ultipla de estruturas.

A id´eia b´asica do algoritmo de McGregor ´e efetuar o produto dos grafos envolvidos e reduzir a busca por subgrafos maximais comuns `a busca por cliques maximais no grafo resultante, sendo o produto de dois grafos [Valiente, 2002] definido como segue:

Sejam G1 = (V1, E1) e G2 = (V2, E2) dois grafos. O produto dos grafos G1× G2 ´e o grafo G = (V, E) onde V = V1 × V2 e E = {((vi, wi), (vj, wj)) ∈ V × V | vi 6= vj, wi 6= wj, (vi, vj)∈ E1, (wi, wj)∈ E2}∪{((vi, wi), (vj, wj))∈ V ×V | vi 6= vj, wi 6= wj, (vi, vj)6∈ E1, (wi, wj)6∈ E2}.

Em outras palavras, os v´ertices do grafo produto correspondem a pares ordenados cujos elementos s˜ao os v´ertices dos grafos G1 e G2 e dois v´ertices ser˜ao ligados por uma aresta apenas se os dois v´ertices que comp˜oem as duas tuplas est˜ao ligados nos grafos originais ou se os dois v´ertices que comp˜oem as duas tuplas n˜ao est˜ao ligados nos grafos originais (Figura 5.9). a b c (A) d e f (B) ad ae bd be cd ce af bf cf (AXB)

Figura 5.9. Exemplo de produto de grafos. O produto dos grafos A e B ´e representado no

grafo AXB. As linhas tracejadas indicam arestas entre os pares de v´ertices n˜ao relacionados em A e em B.

Cliques no grafo produto corresponder˜ao a subestruturas comuns [Valiente, 2002], as quais podem ser obtidas decompondo os v´ertices presentes nos cliques de modo a obter o

5.5 algoritmo para busca de subestruturas maximais 99

conjunto de v´ertices que comp˜oem a tupla. Os primeiros v´ertices das tuplas que comp˜oem um clique correspondem a um subgrafo de G1 e os segundos v´ertices correspondem a um subgrafo em G2, sendo tais subgrafos isomorfos.

No exemplo exibido na Figura 5.9, os v´ertices ae, bd e cf formam um clique maximal no grafo produto A× B. Ao decompormos os elementos das t-uplas em v´ertices do grafo A e v´ertices do grafo B, encontramos que A e B s˜ao isomorfos, sendo o mapeamento dos v´ertices correspondentes dado por a→ e, b → d e c → f.

O algoritmo de McGregor foi adaptado de modo a buscar pelo subgrafo maximal comum a um grupo de N grafos. A defini¸c˜ao do produto de dois grafos ´e generalizada para N grafos e, neste caso a busca por cliques maximais ´e efetuada no grafo resultante, sendo o subgrafo maximal aquele que decorre da decomposi¸c˜ao da n-uplas dos v´ertices pertencentes ao clique.

Uma vez que o c´alculo do produto de N grafos leva a uma explos˜ao de complexidade, as restri¸c˜oes da nossa descri¸c˜ao de estruturas de prote´ınas foram utilizadas de modo a viabilizar a utiliza¸c˜ao de tal algoritmo em problemas relativos `a compara¸c˜ao de prote´ınas. Assim, o produto dos grafos correspondentes a um conjunto de N prote´ınas ´e efetuado como segue:

• o produto dos v´ertices envolve apenas v´ertices similares, ou seja, v´ertices corres- pondentes a elementos do mesmo tipo e com tamanhos aproximadamente iguais. Para medir a similaridade entre os tamanhos dos vetores, a m´edia das normas de todos os elementos do conjunto ´e calculada e o v´ertice ser´a aceito apenas se o valor absoluto da diferen¸ca entre a norma de cada elemento e a m´edia do conjunto estiver abaixo de um certo limite;

• as arestas ligar˜ao dois v´ertices apenas se todos os elementos correspondentes que comp˜oem as n-uplas possuem ˆangulos e distˆancias similares ou se tais valores s˜ao dissimilares para todos os elementos.

• A similaridade entre as distˆancias foi calculada de acordo com um procedimento an´alogo ao utilizado nos tamanhos. Ou seja, a m´edia das distˆancias entre os vetores correspondentes pertencentes `as n-uplas ´e calculada e uma aresta s´o ligar´a estas n- uplas caso o valor absoluto da diferen¸ca entre cada distˆancia e a m´edia esteja abaixo de um certo limite, ou se este ´e superado para todos os v´ertices das n-uplas. • A similaridade entre ˆangulos ´e verificada se para todas as combina¸c˜oes de pares de

elementos nas n-uplas analisadas o valor absoluto da diferen¸ca entre os ˆangulos est´a abaixo de um certo limite.

5.5 algoritmo para busca de subestruturas maximais 100

Os limites usados para medir o grau de similaridade entre os tamanhos dos vetores, ˆangulos e distˆancias podem ser definidos pelo usu´ario, sendo introduzido tamb´em um grau de flexibilidade para aceita¸c˜ao dos mesmos, cujo valor default ´e de 20%.

Assim, o algoritmo desenvolvido pode ser resumido nos seguintes passos:

i) Ler o conjunto de prote´ınas;

ii) Obter a representa¸c˜ao das prote´ınas atrav´es dos seus grafos correspondentes;

iii) Construir o grafo produto:

- Selecionar os v´ertices similares: Repita:

Para cada prote´ına selecione um v´ertice do mesmo tipo;

No conjunto de v´ertices obtidos, calcule a m´edia M das normas dos vetores;

Se, para todo v´ertice v do conjunto,|kvk − M| < δ1, aceite o conjunto; At´e que todas as combina¸c˜oes de v´ertices tenham sido percorridas;

- Determinar as arestas que ligam os v´ertices similares:

Sejam dois conjuntos A e B de v´ertices similares:

Para todo par de v´ertices correspondentes (vi, wi), vi ∈ A, wi ∈ B Calcular a m´edia MD das distˆancias entre vi e wi;

Se (|d(vi, wi) − MD| < δ2, para todos os pares (vi, wi)) OU (|d(vi, wi)− MD| > δ2, para todos os pares (vi, wi))

Ent˜ao Se (a diferen¸ca entre os ˆangulos de todos os pares de elementos correspondentes for menor que δ3) OU (a diferen¸ca entre os ˆangulos de todos os pares de elementos correspondentes for maior que δ3)

Ent˜ao Coloque uma aresta entre os conjuntos de v´ertices A e B;

iv) Obter os cliques maximais no grafo resultante;

v) Decompor as n-uplas dos v´ertices pertencentes a cada clique de modo a obter a subestrutura comum em cada prote´ına.

No documento Análise de estruturas de proteínas (páginas 113-117)

Documentos relacionados