1 Integração de Informação Estrutural de Proteínas Carlos Santos, Março 2007 Àrea ACM: J. Computer Applications (J.3 LIFE AND MEDICAL SCIENCES) Este texto apresenta uma abordagem inovadora ao estudo estrutural de proteínas. O objectivo principal foi integrar informação experimental e modelação teórica de uma forma flexível e adaptável à diversidade de dados experimentais disponíveis. Esta abordagem afasta-se das mais tradicionais que tendem a ver o problema da modelação teórica como separado do processamento de dados experimentais. O resultado foi uma aplicação que se mostrou útil na modelação de complexos proteicos e que revela grande potencial na precisão e determinação de estruturas de proteínas. Este documento foca três aspectos do trabalho: um algoritmo para determinação de estruturas proteicas, um algoritmo de modelação de interacções proteína-proteína, e a integração dos algoritmos numa ferramenta prática de utilidade para o estudo estrutural de proteínas. 1. Introdução Este texto resume o trabalho desenvolvido pelo candidato durante o seu doutoramento e pósdoutoramento. Os algoritmos apresentados estão descritos em detalhe na dissertação de doutoramento e em seis artigos nas áreas de programação por restrições e bioquímica. Aplicações a casos reais para modelação de sistemas biológicos estão descritas em mais oito artigos em que o candidato participou, e pelo menos mais dois artigos por investigadores independentes que usaram as ferramentas aqui descritas. As referências a estes artigos estão no curriculim vitae do candidato e no pequeno relatório que acompanha a candidatura para preservar o anonimato do autor. Este documento divide-se em quatro secções. Esta primeira secção descreve o contexto do problema e do trabalho. A segunda secção apresenta o algoritmo desenvolvido para o cálculo e previsão de uma estrutura tridimensional complexa a partir de restrições de distância, ângulos, e grupos rígidos, e o algoritmo de previsão da configuração mais provável para a interacção de duas macro-moléculas. Ambos os algoritmos se baseiam em técnicas de processamento de restrições, e ambos foram aplicados ao estudo de estrutura e interacção de proteínas. A terceira secção foca a implementação e integração destes algoritmos numa aplicação de modelação molecular, com especial ênfase para a facilidade de utilização por parte dos investigadores em 2 bioquímica. Finalmente, a quarta secção conclui o documento com uma apreciação dos resultados e do impacto do trabalho. Salvo indicação contrária, todo o trabalho aqui descrito foi da autoria do candidato. 1.1. Motivação O estudo da estrutura de proteínas e complexos proteicos é um passo fundamental na a compreensão dos processos fisiológicos. Os fenómenos macroscópicos que podemos observar em qualquer ser vivo dependem, em última análise, de processos microscópicos de natureza quimica e física em que as proteínas estão sempre presentes, desempenhando um papel crucial. Mas a motivação para melhorar os métodos de modelação e determinação de estruturas de proteínas não é apenas a curiosidade científica, se bem que esta seja já motivação suficiente para o autor. A bioquímica estrutural tem também muitas aplicações práticas, e que qualquer melhoria no desempenho e nos métodos de investigação pode trazer vantagens concretas e imediatas. A industria farmacêutica depende cada vez mais de conhecimento detalhado acerca das macromoléculas que compõem os sistemas biológicos, entre as quais as proteínas são as mais importantes. Mesmo noutros campos da indústria proteínas desempenham papeis centrais, desde os “glutões” do detergente, às enzimas que dão às “jeans” o “azul que a gente gosta” ou que catalisam a transformação de glicose em frutose na industria alimentar. Os recentes desenvolvimentos na bioquímica e biologia molecular criaram uma nova indústria com um grande crescimento económico, em que o conhecimento é o capital mais importante. A crescente importância do proteómica, o estudo das redes metabólicas formadas pela interacção de enzimas e dos seus reagentes e produtos, também está a aumentar a procura pelo conhecimento da estrutura e função de proteinas. Associada ao progresso constante da genética molecular, antevêm-se aplicações práticas com profundas consequências para várias àreas da industria e da medicina. É neste contexto que a bioinformática tem um papel fundamental e cada vez mais reconhecido, e este trabalho situa-se num ponto fulcral da bioinformática, na junção da proteómica, da espectroescopía, e da genética molecular: a estrutura e interacção de proteínas. 1.2. Contexto científico e tecnológico A função duma proteína é depende da sua composição química e estrutura tridimensional, que são determinadas pela sequência dos aminoácidos que compõem a cadeia proteica. Por sua vez, a sequência de aminoácidos é codificada pelo gene da proteína. Esta relação entre a sequência do gene e a função da proteína é importante pelo ritmo com que as técnicas modernas de genética molecular revelam os genomas dos organismos. Em Março de 20075 a base de dados TrEmbl contém quase quatro milhões de sequências conhecidas. Contraste-se este número com 3 as quarenta e duas mil estruturas conhecidas depositadas no Protein Data Bank (1), o principal repositório de estruturas de proteínas. Esta diferença de duas ordens de grandeza entre sequências conhecidas e estruturas determinadas mostra como a determinação da estrutura tridimensional duma proteína é o factor limitante na elucidação dos seu mecanismo de acção. As técnicas experimentais mais importantes para a determinação de estruturas proteicas são, presentemente, a cristalografia por Raios X e a Ressonância Magnética Nuclear (RMN). A primeira é responsável pela maioria das estruturas conhecidas, e consiste na determinação da distribuição espacial dos átomos numa proteína pelo padrão de difracção gerado por um feixe de Raios X ao incidir num cristal da proteína. Esta técnica exige cristais de qualidade, e a cristalização de proteínas é um processo complexo, incerto, e moroso. A determinação de estruturas de proteínas por RMN é limitada principalmente pelo tamanho da proteína, estando restrita a proteínas de baixo peso molecular. A informação obtida pela ressonância de núcleos atómicos num campo magnético forte, principalmente núcleos de Hidrogénio, traduz-se num conjunto de distâncias e ângulos entre átomos e ligações. Este tipo de informação geométrica é tipicamente processado por algoritmos de optimização. Um exemplo de um algoritmo para processamento de dados de RMN é o DYANA (2), um dos mais usados presentemente. Este consiste fundamentalmente duma minimização partindo de uma estrutura gerada aleatoriamente. Desta forma são reduzidas progressivamente as violações às restrições impostas. As desvantagens deste algoritmo são o enorme espaço de pesquisa que percorre e a propensão para ficar preso em mínimos locais, o que torna necessário o cálculo de um número considerável de estruturas (tipicamente 500-1000) pois apenas uma pequena fracção destas é aceitável. Quando não é possível determinar experimentalmente a estrutura duma proteína, é possível estima-la por comparação com outras quimicamente semelhantes cuja estrutura é conhecida. Este método de modelação por homologia é cada vez mais usado, e é relativamente fiável quando as sequências são suficientemente semelhantes (3). Finalmente, há também um grande esforço para a previsão da estrutura tridimensional de proteínas apenas a partir da sequência de aminoácidos. Há diversas abordagens, mas como exemplos podemos mencionar redes neuronais ou modelos de Markov (4, 5), métodos de computação evolutiva (6), ou o conhecido algoritmo Rosetta (7). Mas apesar da dedicação de um numero considerável de investigadores e de alguns sucessos, em geral esta alternativa é ainda pouco fiável e computacionalmente dispendiosa. A lacuna parece ser na ligação entre os dados experimentais e a previsão teórica, e é essa lacuna que este trabalho pretende preencher. O algoritmo aqui apresentado para determinação e 4 previsão de estruturas de proteínas pretende precisamente guiar a modelação com informação experimental. No caso extremo de se dispor de informação experimental completa das restrições de RMN, o problema reduz-se ao problema clássico de determinação de estruturas por RMN, e neste caso o algoritmo aqui apresentado dá uma solução aproximada em pouco tempo, ganhando apenas em eficiência em relação a outros já existentes. Mas no caso mais comum de a informação disponível ser incompleta, este permite complementar os dados experimentais com previsões teóricas, combinando toda a informação e modelos por meio de técnicas de programação por restrições. Os resultados preliminares indicam que esta é uma abordagem promissora para a determinação de estruturas de proteínas. Outro aspecto importante para compreender o funcionamento das proteínas é a forma como estas interagem. Os complexos formados pela interacção de proteínas revelam a forma como estas actuam nos seus papeis de reguladoras de actividade, transportadoras de protões ou electrões, activadoras ou inibidoras de reacções. A determinação experimental da estrutura destes complexos dinâmicos é extremamente difícil, e das cerca de trinta mil estruturas depositadas no Proten Data Bank apenas cerca de uma centena são de complexos deste tipo, chamados complexos lábeis. Para estimar a estrutura de complexos lábeis a modelação é, por isso, uma abordagem muito importante, e há uma grande diversidade de métodos disponíveis hoje em dia. Alguns exemplos do programa CAPRI de avaliação de métodos de previsão de interacções proteicas (8): ICM, que simula movimentos Brownianos com cálculos detalhados de energia para modelar a aproximação dos dois parceiros (9); BUDDA, com técnicas de tabulação geométrica para comparar rapidamente duas superfícies complementares (10); GAPDOCK, baseado em algoritmos genéticos (11), entre outros. De todos o algoritmo mais usado, na base da maioria dos programas de modelação de complexos proteicos, é o método das matrizes de correlação por transformada rápida de Fourier, desenvolvido por Katchalski-Katzir (12). Mas, na sua maioria, os métodos disponíveis sofrem por não integrarem devidamente os dados experimentais na modelação. Se bem que a determinação completa da estrutura de complexos lábeis seja experimentalmente difícil, é ainda assim possível em muitos casos obter informações relevantes para a modelação do complexo, e vantajoso usa-las para guiar o processo de modelação. O segundo algoritmo apresentado neste trabalho visa modelar complexos lábeis de proteínas integrando informação experimental, também por recurso a técnicas de programação por restrições. 2. Algoritmos Esta secção apresenta dois algoritmos que resolvem dois problemas diferentes, com abordagens diferentes, mas ambos fundamentados em técnicas de processamento de restrições. O primeiro 5 algoritmo foi desenvolvido para modelar a estrutura tridimensional de proteínas, mas os princípios podem ser aplicados à determinação de outras estruturas moleculares (e.g. DNA, RNA) ou mesmo a outros problemas geométricos mais gerais. Em traços gerais, o algoritmo divide-se em duas fases. A primeira é uma fase de construção de uma solução aproximada por técnicas de propagação de restrições e por pesquisa no espaço de alternativas não eliminadas. O resultado final deste processo é um conjunto de volumes tridimensionais, cada um associado a um átomo, especificando uma estrutura aproximada para a proteína. A segunda fase é uma minimização das violações residuais às restrições para optimizar a estrutura final. A complementaridade das duas abordagens – construção e reparação – permite aproveitar as condições de melhor desempenho de cada uma. Este documento foca apenas a primeira fase do algoritmo, visto ser este o contributo mais inovador do método. A fase de minimização recorre a técnicas clássicas de gradientes conjugados e simmulated annealing, pelo que tem menos relevância para este documento. O segundo algoritmo visa prever complexos de macro-moléculas, gerando alternativas, avaliando e ordenando os modelos, e comparando diferentes interacções. A geração de modelos de complexos proteicos é feita em duas fases. Numa primeira fase explora as possíveis configurações de contacto entre os dois parceiros, e filtra este conjunto para reter apenas a pequena fracção de candidatos mais promissores. Estes modelos são avaliados na segunda fase e ordenados de acordo com uma estimativa da probabilidade de representar correctamente o complexo alvo. Tal como no primeiro algoritmo, este documento foca principalmente a fase inicial, pois é nesta fase que o algoritmo é mais inovador. A pesquisa em espaço real optimizada por técnicas de propagação de restrições melhora o desempenho e permite tirar partido de informação experimental de uma forma mais flexível e eficiente que os métodos correntes de modelação de interacções macro-moleculares. 2.1. Modelação de estrutura de uma proteína. Este algoritmo combina processamento de restrições e pesquisa local para determinar a estrutura de uma proteína que respeita um conjunto de restrições. É o recurso a técnicas de programação por restrições que confere ao algoritmo a sua flexibilidade e capacidade de integrar diversas fontes de informação estrutural, e é este aspecto inovador que será focado aqui. Mas é importante salientar que o desempenho do algoritmo se deve à combinação das duas abordagens, pela forma como se complementam. Tipicamente, os algoritmos de optimização são mais demorados quanto maior a distância entre o inicio da pesquisa e o ponto óptimo. Por outro lado, o processo construtivas na programação por restrições em domínios contínuos são computacionalmente mais exigentes quanto mais precisão se exige da solução obtida. A combinação destas duas abordagens evita as fraquezas de cada uma. Obter um modelo 6 aproximado por um método construtivo é computacionalmente pouco dispendioso porque permite processar as restrições usando domínios simplificados, como veremos adiante. E a optimização final é rápida pois o ponto de partida é já muito próximo do óptimo procurado. 2.1.1. Propagação de restrições de distância. Uma das funções deste algoritmo é calcular a estrutura a partir de dados de Ressonância Magnética Nuclear (RMN). Um tratamento detalhado das técnicas de RMN estrutural estaria fora do âmbito deste trabalho, mas uma descrição resumida dos princípios que fundamentam a técnica e dos dados que esta fornece ajuda a compreender o algoritmo. A RMN baseia-se na absorção de radiação electromagnética por átomos como o Hidrogénio quando a amostra está num campo magnético forte. O momento magnético dos núcleos destes átomos orienta-se em presença do campo magnético externo, podendo tomar uma de duas orientações com níveis de energia diferentes. Isto permite à amostra absorver radiação electromagnética quando a frequência corresponde à diferença de energia entre os dois níveis, a chamada frequência de ressonância. Como o campo magnético que afecta um núcleo é a soma do campo magnético aplicado externamente e todos os campos magnéticos gerados na vizinhança do núcleo pelo movimento dos electrões na molécula, a frequência de ressonância depende do ambiente químico em que este se encontra, pelo que é normalmente possível identificar o átomo e distingui-lo de outros na molécula. Ao irradiar a amostra com radiação na frequência de ressonância de um núcleo no estado de energia mais baixo, este absorverá energia da radiação fornecida, passando para o estado de energia mais alto. Por outro lado, um núcleo no estado mais energético estimulado a emitir uma radiação do mesmo comprimento de onda e transitar assim para o nível inferior. A absorção de radiação electromagnética medida será a diferença entre estas absorções e emissões, e por isso depende das probabilidades relativas destas duas transições. Como estas são afectadas pelas oscilações de outros núcleos próximos no espaço, podemos assim obter valores de distância entre núcleos diferentes (efeito Overhauser). Este é o princípio da RMN a duas dimensões, e a Ilustração 1 mostra um espectro obtido por esta técnica. Cada pico indica a variação na absorção medida à frequência de ressonância de um Ilustração 1: Espectro RMN a duas dimensões 7 núcleo de Hidrogénio quando outro núcleo de Hidrogénio é irradiado. A intensidade destes picos cruzados permite-nos calcular limites para a distância entre os dois protões. Esta técnica pode fornecer assim a distância entre estes dois átomos, e um numero suficiente destas distâncias permite determinar a estrutura de uma proteína. No entanto é evidente a complexidade dos espectros obtidos por esta técnica quando aplicada a proteínas (ver Ilustração 1). Por isso a tarefa de atribuir a cada pico o respectivo par de protões não é trivial, e é comum haver ambiguidades na atribuição quando as frequências de ressonância de vários núcleos são semelhantes. Em geral as primeiras tentativas contêm atribuições erradas, ou muito incompletas, e só calculando a estrutura repetidas vezes é que é possível resolver estes problemas. As atribuições provisórias são usadas para calcular uma estrutura, que por sua vez fornece a informação sobre a vizinhança dos átomos que permite corrigir a atribuição. Este carácter iterativo do processo torna particularmente importante a eficiência do cálculo da estrutura a partir das restrições. Para conseguir esta eficiência o algoritmo aqui descrito associa a cada átomo um domínio que representa o volume onde o átomo pode ser colocado. Cada domínio consiste de um paralelepípedo que engloba a região acessível ao átomo (região permitida), e por zero ou mais paralelepípedos contidos no primeiro que indicam sub-regiões deste de onde o átomo tem que ser excluído (região de exclusão). Desta forma, a propagação de restrições de distância é feita através de operações simples com paralelepípedos, tais como extensão e intersecção. Como as faces de todos os blocos são perpendiculares aos eixos das coordenadas, estas operações são extremamente simples e rápidas e preservam a forma paralelepipédica dos blocos. No entanto a simplicidade dos domínios requer uma simplificação das restrições. Uma restrição de distância entre dois pontos tem a forma geral de: Ou seja, a distância entre os pontos (x1, y1, z1) e (z2, y 2, z2) tem que estar entre os valores da e db. Podemos considerar duas restrições diferentes que, como veremos adiante, são propagadas de forma diferente: 8 A restrição Fora especifica que cada ponto tem que estar fora do limite definidos pelo valor de distância e o outro ponto. A restrição Dentro refere-se ao caso oposto, em que a distância entre os pontos tem que ser inferior ao limite especificado. O problema com esta formulação é que estes valores de distância definem esferas, o que tornaria a propagação das restrições computacionalmente dispendiosa. A solução foi reformular as restrições de distância de forma a preservar a geometria paralelepipédica dos domínios, usando uma métrica de primeira ordem para a distância. Assim as distâncias definem cubos em vez de esferas: A Ilustração 2 mostra esta modelação. Note-se que é necessário modelar de forma diferente os dois tipos de restrições para evitar que se exclua soluções do problema. Assim para a restrição Dentro temos o menor cubo que contém a esfera definida pelo valor de distância, mas para a restrição Fora temos que considerar o maior cubo contido nesta esfera. Isto torna as restrições mais permissivas, mas é um preço aceitável porque o objectivo do algoritmo nesta fase é a construção de um modelo aproximado. 9 Ilustração 2: Modelação das restrições de distância como regiões cúbicas. À esquerda uma esfera definida pela distância Euclidiana. Ao centro, o cubo que modela a restrição Dentro, com uma aresta do dobro do valor da distância. À direita o cubo que modela a restrição Fora, que é o maior cubo contido na esfera, e que por isso tem de aresta o dobro da distância dividido pela raiz quadrada de três. Com esta forma de modelar os domínios e as restrições, a propagação é extremamente eficiente. A Ilustração 3 mostra a propagação de uma restrição do tipo Dentro, em que o domínio do átomo A é reduzido ao considerarmos a restrição que força A a estar a menos de d unidades de distância de B. A operação consiste apenas em calcular a vizinhança do domínio de B, que é o seu domínio acrescentado do valor da distância, e intersecta-la com o domínio de A. Ilustração 3: Propagação de uma restrição de distância. O painel da esquerda mostra os domínios de dois àtomos, A e B. Uma restrição de distância obriga os átomos a uma separação máxima de d. O painel central mostra a vizinhança de B, que ie intersectada com o domínio de A para o restringir à região que respeita a restrição de distância Note-se que neste caso considerámos que o domínio de cada átomo é composto apenas pela região permitida. Se o domínio contiver também um conjunto de regiões de exclusão, este conjunto será intersectado com a nova região permitida, garantindo que as regiões de exclusão estão todas contidas no paralelepípedo que define a região permitida. Para propagar as restrições do tipo Fora é preciso considerar a região de onde um átomo tem que ser excluído devido à presença do outro. A forma mais simples de compreender esta 10 operação é imaginar a região acessível do domínio do átomo a ser virada do avesso deslocando as faces do paralelepípedo, como ilustrado no painel central da Ilustração 4. Ilustração 4: Propagação da restrição Fora. O painel da esquerda mostra os domínios A e B. O painel central mostra o calculo da zona de exclusão gerada por B. A intersecção desta com a região acessível do domínio de A gera uma nova região de exclusão em A. Note-se que o valor pelo qual as faces são deslocadas não corresponde ao valor da distância, como acontece no caso das restrições Fora. Pela forma como a métrica de distância é simplificada, o valor a considerar tem que ser o valor de distância dividido pela raiz cúbica de três, para evitar excluir modelos permitidos pelas restrições. Note-se também que se o domínio B fosse maior poderia não formar uma região de exclusão se o valor de distância não fosse suficiente para inverter as posições das faces do paralelepípedo. Isto indicaria que a incerteza na posição do átomo B seria grande demais para se poder eliminar parte do domínio A. 2.1.2. Propagação de grupos rígidos e ângulos de torção. O processamento de restrições de distância permite modelar parte da informação obtida por RMN, mas o objectivo deste algoritmo é ir para além duma técnica específica e permitir uma integração mais genérica de informação estrutural: grupos rígidos e ângulos entre eles. Por grupos rígidos entende-se um conjunto de átomos cuja posição relativa é conhecida mas cuja posição na estrutura da proteína é desconhecida. Tais grupos podem ser fragmentos rígidos de aminoácidos, elementos de estrutura secundária, domínios da proteína cuja estrutura foi determinada por cristalografia ou prevista por homologia, ou outros. Estes grupos de átomos com configuração conhecida estão muitas vezes ligados por uma ligação química que os une como um eixo rígido em torno do qual os grupos podem rodar. Na verdade, este modelo de grupos rígidos unidos por eixos de rotação descreve com exactidão qualquer estrutura molecular, incluindo as proteínas, e é a base da representação de estruturas em algoritmos como o DYANA (2). A restrição que força um conjunto de átomos a manter constantes as suas posições relativas (grupo rígido) é propagada determinando as posições acessíveis a cada átomo posicionando o 11 grupo de forma a que nenhum átomo seja colocado fora do seu domínio. Desta forma pode-se determinar regiões do domínio de cada átomo que não lhe são acessíveis e assim eliminá-las desse domínio. Para compreender este processo, consideremos primeiro os limites impostos pela restrição considerando apenas a translação do grupo, sem rotação. Denotando por wc uma das coordenadas do centro do grupo (x, y, ou z), por wj a mesma coordenada para o átomo j, e por wmax e wmin os limites superior e inferior para essa coordenada dados pelo domínio (do átomo j ou do centro do grupo c), os limites dados pela translação serão: Estas equações dão-nos, para uma orientação fixa do grupo, os limites de translação do grupo em função dos limites dos domínios dos átomos do grupo. Mas isto apenas para uma orientação. Precisamos de calcular estes limites em função da rotação do grupo, pois este também é livre de rodar. Sem perda de generalidade, consideremos que o grupo roda em torno do seu centro, e consideremos os limites para a coordenada Y. Ou seja, o valor (wc-wj) nas equações 1a e 1b corresponde, neste caso, a (yc-y j), que é a coordenada y do centro relativa à coordenada y do átomo, e é função da orientação do grupo. Denotando por ? a rotação em torno do eixo Z, por A a amplitude da projecção no plano XY (perpendicular ao eixo de rotação) da posição do átomo em relação ao centro do grupo, e ? o ângulo do simétrico deste vector, o valor (yc-yj) será dado por: Note-se que é necessário considerar o simétrico do vector porque estamos a considerar a posição do centro em relação ao átomo, e não a posição do átomo em relação ao centro. A Ilustração 5 mostra este procedimento. Na ilustração, ? ’representa o angulo do vector do centro ao átomo, e ? representa o angulo do vector simétrico, ou seja, do átomo ao centro do grupo. 12 Ilustração 5: A posição de um átomo relativa ao centro do grupo em função da orientação do grupo pode ser expressa como uma função sinusóide de amplitude A e fase ? ’. A posição do centro em relação ao átomo é dada por uma curva semelhante, mas com a fase a 180º (? ) Para a coordenada x a curva é semelhante, mudando apenas a fase de 90º. Desta forma é possível calcular os limites de translação do grupo como um todo em função da rotação em torno de um eixo, combinando as equações 1a, 1b, e 2. Os limites para as coordenadas x e y serão dados pelas intersecções das curvas sinosoidais calculadas para os vários átomos para a rotação em torno do eixo Z. A partir dos limites de translação do grupo em função da rotação é possível calcular os limites para os átomos, e assim reduzir, se necessário, os respectivos domínios. É claro que até aqui consideramos apenas a rotação em torno de um eixo (o eixo de coordenadas Z), mas é necessário considerar as rotações em torno dos outros dois eixos, bem como os limites para as coordenadas z. Simplesmente estender as equações a três rotações simultâneas iria tornar as expressões demasiado complexas e fazer perder a eficiência dada pela simplicidade do caso a uma rotação. A solução foi considerar primeiro a rotação em torno do eixo X e determinar com esta os limites para as coordenadas z. Em seguida considerar um conjunto discreto de intervalos para as rotações em torno do eixo X e, para cada um destes intervalos, um conjunto de intervalos para as rotações em torno do eixo Y. Os limites para as coordenadas x e y são então calculados em função da rotação em torno do eixo Z para cada combinação de intervalos de rotação em torno de X e Y. O recurso a conjuntos discretos de intervalos de rotação reduz ligeiramente o poder de propagação da restrição, pois ao considerar intervalos de rotação em torno de X e Y é necessário relaxar os limites calculados para não eliminar soluções correctas. No entanto este preço é compensado pela eficiência de cálculo, principalmente para grupos grandes, pois em geral quanto maior o grupo, menor é o número de orientações compatíveis com os domínios de todos os átomos. As orientações incompatíveis são detectadas logo de inicio quando são determinados 13 os limites das coordenadas z em função da rotação em torno do eixo X, reduzindo o numero de intervalos de rotação a explorar. Ilustração 6: Dois grupos rígidos de àtomos (A e B), unidos pela ligação 1. Note-se que os grupos têm átomos em comum, nomeadamente os átomos que participam na ligação entre os dois grupos. Esta abordagem também permite a extensão do algoritmo a casos de dois ou mais grupos unidos por eixos de rotação, considerando intervalos discretos para as rotações em torno destes eixos. Assim, o conjunto de grupos pode ser considerado como um grupo único para cada combinação de intervalos de rotação em redor das ligações entre os grupos. A Ilustração 6 exemplifica esta situação de dois grupos de átomos unidos por uma ligação química. 2.1.3. Consistência, Enumeração, e Heurísticas Os algoritmos de propagação descritos nas secções anteriores são aplicados repetidamente para manter uma forma de consistência em arco, ou seja, garante-se que quaisquer dois domínios cumprem as restrições na forma como estas são impostas. A manutenção desta forma de consistência em arco é semelhante ao algoritmo AC3 (13): todas as restrições activas são propagadas, e todos os domínios que são reduzidos reactivam as restrições nas quais participam os átomos correspondentes. O processo de propagação é repetido até não haver mais restrições activas para propagar. Existem algoritmos mais eficientes para manter consistência de arco, mas não são adequados a este caso em particular. Em primeiro lugar porque dependem da manutenção de valores de suporte, que são mais adequados a domínios finitos, e em segundo lugar porque a consistência imposta pelas restrições descritas não corresponde exactamente a uma consistência de arco. A forma como estão modeladas as restrições de distância mantêm a consistência apenas nos limites dos domínios, e a restrição de grupos rígidos é propagada como uma restrição global 14 entre todos os átomos do grupo. Como um todo, este algoritmo de processamento de restrições aqui apresentado recorre a um misto de técnicas de propagação de restrições globais, intervalos, e domínios finitos, e não se insere facilmente numa categoria bem delimitada. A forma limitada como as restrições são impostas nos algoritmos descritos anteriormente não permite obter de imediato uma solução para o problema. É assim necessário complementar a propagação das restrições e manutenção de consistência com uma pesquisa das possibilidades de colocação de átomos. Isto e conseguido por um processo de enumeração que consiste em seleccionar um átomo, eliminar metade do seu domínio, e propagar a todos os outros átomos os efeitos desta redução. Esta enumeração é repetida para todos os átomos até que os domínios sejam reduzidos a um tamanho adequado. Sempre que é encontrada uma inconsistência, recuase na arvore de pesquisa, repõe-se o estado anterior à ultima decisão, escolhe-se outra alternativa. Este é algoritmo clássico de pesquisa com backtracking. O problema desta pesquisa é que, tipicamente, temos várias centenas de variáveis, e o domínio de cada variável tem que ser dividido várias vezes até que a estrutura esteja adequadamente definida. Isto faz com que a arvore de pesquisa seja muito grande, com um numero de nós tipicamente de dois elevado a vários milhares, e torna necessário uma boa heurística para guiar a pesquisa. A heurística usada neste momento consiste em seleccionar primeiro os domínios mais pequenos, o que permite antecipar a detecção de inconsistências (fail-first) e reduz o efeito da enumeração, pois elimina partes de domínios pequenos em vez de domínios grandes, deixando a maior parte da redução de domínios a cargo da propagação das restrições. Por outro lado, um domínio que já foi seleccionado só é seleccionado novamente após todos os outros também terem sido seleccionados. Isto evita que o algoritmo se comprometa demasiado com a colocação de um átomo sem explorar primeiro as possibilidades dos outros átomos. A redução dos domínios é feita dividindo o domínio em duas partes ao longo da dimensão maior, e seleccionando primeiro a parte que mais afastada de todos os outros domínios. Apesar de simples, esta heurística revelou ser bem sucedida. Um esforço considerável tem sido feito para a melhorar, com alguns resultados promissores, mas como esse trabalho foi feito por outro investigador não será considerado aqui. O processo de construção do modelo aproximado termina quando os domínios de todos os átomos estão suficientemente reduzidos; tipicamente, é escolhido um valor de 2.5Å como limite para a maior dimensão do domínio, abaixo do qual a posição do átomo é considerada suficientemente especificada. 15 A segunda fase do algoritmo é uma minimização das violações residuais às restrições por pesquisa local. Presentemente, um modelo que representa a proteína como uma série de grupos rígidos unidos por ângulos de torção é ajustado aos domínios gerados na primeira fase. Em seguida, os ângulos de torção são variados de forma a minimizar violações às restrições, seguindo o algoritmo de minimização por gradiente conjugado. Este é o método mais usado para resolver este tipo de problemas estruturais em proteínas, e por isso a intenção é usar para esta fase de ajuste final dos modelos os programas disponíveis comercialmente, fornecendo como ponto de partida o modelo aproximado determinado pelo processamento das restrições. 2.1.4. Resultados experimentais Os algoritmos descritos nas secções anteriores foram publicados em três artigos em publicações da área da programação por restrições. Estes algoritmos foram implementados e testados tanto com dados simulados a partir de estruturas conhecidas, como com dados experimentais de um caso real de determinação de estrutura por RMN, com dados fornecidos pelos investigadores (14). Para o teste com restrições simuladas, o programa de teste gerou uma rede de restrições de distância para cada estrutura. A cada par de átomos pertencentes a aminoácidos diferentes e de distância inferior a 6Å, foi adicionada uma restrição de distância com uma probabilidade de 0.25. Isto simula aproximadamente a proporção de restrições de distância que são determinadas experimentalmente. A Ilustração 7 resume os resultados destes testes. À esquerda podemos ver o desvio quadrático médio (em Å) entre a estrutura calculada e a estrutura conhecida, para cada caso, e à direita o tempo de calculo em segundos, ajustado para um processador Pentium 4 a 1 GHz.. Os resultados mostram que o algoritmo cumpre os objectivos de gerar um modelo próximo do correcto em pouco tempo. Para as estruturas mais acessíveis a determinação por RMN (até cerca de 100 aminoácidos), os tempos de cálculo são inferiores a 20s, o que compara favoravelmente com tempos da ordem de algumas horas que são típicos para os programas comercialmente disponíveis de momento. 16 Deviation Desvio Quadrático from Target Médio Computation Tempo Time 140 25 120 Time (Seconds on 1GHz PC) RMSD (Angstrom) 20 15 10 5 100 80 60 40 20 0 0 0 100 200 300 400 Chain size (number of residues) 0 100 200 300 400 Chain size (number of residues) Ilustração 7: Desvio quadrático médio (à esquerda) entre a estrutura calculada e a estrutura alvo, e tempo de cálculo (à direita) para cada uma das 183 estruturas de teste. Ambos os gráficos estão traçados em função do numero de aminoácidos em cada estrutura. Os circulos a encarnado e verde indicam as estruturas apresentadas na Ilustração 8.. A qualidade dos resultados não está ao nível da qualidade dos modelos produzidos pelos métodos tradicionais, mas o objectivo é fornecer rapidamente um modelo aproximado em vez de calcular a estrutura com rigor. Como este modelo pode ser melhorado usando os métodos já existentes de pesquisa local, obter o máximo de rigor na estrutura final não foi uma prioridade. Os pontos fortes do algoritmo aqui proposto são a rapidez e flexibilidade. A rapidez do cálculo de uma estrutura aproximada importa porque a determinação ou modelação da estrutura de uma proteína é um processo iterativo que exige repetidos testes das restrições a usar, por exemplo quando se tenta atribuir os picos cruzados observados no espectro de RMN aos átomos correspondentes. Durante este processo é muito útil poder calcular rapidamente um modelo aproximado que ajude a corrigir as restrições atribuídas. E a flexibilidade na integração de informação diversa, não só de espectroescopia mas de homologia, previsão de elementos estruturais, e outras, pode ajudar a resolver a estrutura pretendida. Além disso grande parte dos desvios observados neste teste devem-se não a limitações do algoritmo mas sim à geração aleatória de restrições. A Ilustração 8 mostra dois exemplos, marcados a vermelho e a verde na Ilustração 7. À esquerda na Ilustração 8 vemos uma proteína pequena (15) que contem dois longos trechos isolados nas extremidades da cadeia de aminoácidos. As restrições geradas aleatoriamente não são suficientes para determinar a estrutura destas regiões, permitindo modelos que, mesmo sem as violar, diferem significativamente da estrutura alvo. 17 Ilustração 8: Duas estruturas ilustrando o desempenho do algoritmo de processamento de restrições binárias de distância. Em ambas o modelo calculado é representado a encarnado, e a estrutura alvo a azul. À esquerda a estrutura duma proteina de ligação ao DNA (código PDB 1FJL, referência 15), e à direita a 1,3-Beta-Glucanase (código PDB 1GHS, referência 16) No segundo exemplo passa-se o contrário. Como as restrições especificam a estrutura dentro de limites estreitos, o algoritmo consegue um modelo muito aproximado da estrutura real, com um desvio quadrático médio de apenas 6Å para uma estrutura com 304 resíduos, menos de 10% da dimensão da proteína. Estes dois exemplos estão marcados na figura 8-1 como um circulo encarnado e verde, respectivamente. No teste com dados experimentais reais, a estrutura gerada por este método tinha uma qualidade ligeiramente inferior à gerada pelo software usado normalmente em RMN estrutural (3Å d.q.m), mas o tempo de cálculo foi cerca de dez vezes menor. No entanto, foi possível fazer apenas um teste com dados reais, e decorre neste momento uma colaboração com investigadores que trabalham em RMN estrutural de proteínas para obter um conjunto significativo de resultados com dados experimentais. 2.2. Modelação de complexos proteicos O objectivo deste algoritmo é prever a configuração de um complexo de proteínas, que é a estrutura gerada quando duas ou mais proteínas se agregam. Este agregado pode ser uma junção breve como parte de uma reacção química rápida, como nos complexos de transferência electrónica, ou mais duradouro ou mesmo permanente, como no caso dos inibidores enzimáticos ou das proteínas oligoméricas. Estas possibilidades obrigam a que se considere não apenas uma estrutura única para o complexo, mas famílias de estruturas que possam representar o dinamismo da interacção ou locais alternativos de contacto. Estes modelos são gerados em duas fases. Uma primeira fase consiste em pesquisar exaustivamente as possíveis configurações de contacto entre os dois parceiros, retendo apenas uma pequena fracção de candidatos mais promissores. Na segunda fase estes candidatos são 18 avaliados de acordo com a probabilidade estimada de representarem correctamente o complexo alvo. Esta avaliação baseia-se no cálculo de parâmetros relativamente estabelecidos para avaliar os efeitos de exclusão de solvente, interacções electroestáticas ou contactos entre cadeias laterais dos resíduos. Estes valores são agregados por uma rede neuronal treinada com um conjunto de complexos de estrutura conhecida. Apesar desta forma de avaliar os modelos ter alguns aspectos inovadores, a inovação principal deste algoritmo está no uso de técnicas de propagação de restrições durante a primeira fase. 2.2.1. Representação das estruturas. Na primeira fase as proteínas são representadas como matrizes tridimensionais que definem a zona de superfície e a região interna da proteína. Estas grelhas são usadas para estimar a superfície de contacto em cada configuração pela contagem de células representando a superfície de uma proteína que se sobrepõem às suas homólogas na outra proteína. As grelhas definindo a zona central das proteína são usadas para que as proteínas se sobreponham de forma irrealista. A Ilustração 9 mostra as grelhas geradas para uma proteína, mostrando secções de corte em três planos da grelha tridimensional. Ilustração 9 As grelhas tridimensionais que representam a superfície (cinzento) e a região interna (a branco) das formas definidas pelas proteína. O painel da esquerda mostra a proteína sobreposta num corte das grelhas. O painel central mostra apenas as grelhas, em corte, e o painel da direita mostra a região (a preto) de sobreposição das grelhas de superfície, que é a zona de contacto entre as proteínas. Esta abordagem é especialmente adequada à modelação de interacções de proteínas porque, numa primeira aproximação, estas podem ser consideradas relativamente rígidas, de forma constante. Além disso o contacto entre moléculas é mediado por forças de repulsão electroestática. A esta escala a matéria não tem uma fronteira bem definida, e a possibilidade de ajustar a espessura e posicionamento da grelha de superfície permite modelar bem a natureza difusa deste contacto. A grelha de superfície é também colocada ligeiramente fora do raio médio dos átomos da proteína para que a sobreposição das grelhas de superfície de duas proteínas resulte numa distância interatómica realista. Conceptualmente, podemos imaginar que a pesquisa de modelos da estrutura do complexo consiste em deslocar uma grelha em relação a outra, com passos do tamanho de uma célula da 19 grelha (1Å), percorrendo todas as translações possíveis nas três direcções X, Y, e Z, na ordem de N3 possibilidades (sendo N o comprimento da grelha). Isto resultaria num algoritmo de complexidade temporal de O(N6), pois para cada posição relativa é necessário contar as células de sobreposição num volume que é também de ordem N3. A complexidade espacial seria de O(N3), para o armazenamento das grelhas tridimensionais. Na prática, uma representação melhorada das grelhas e a propagação de restrições para reduzir o domínio de pesquisa tornam o algoritmo muito mais eficiente, cerca de O(N4) no tempo e O(N2) no espaço, como se detalha a seguir. A pesquisa pelo espaço de translação tem que ser repetida para cada orientação relativa das duas proteínas, mas o espaço de rotação é dividido em passos fixos de 15º, pelo que isto dá um factor constante de cerca de 6000 repetições da pesquisa por translação e não afecta a complexidade do algoritmo. O tempo aproximado de cálculo em casos reais é de cerca de uma a dez horas num computador pessoal moderno, com aproximadamente dois terços na fase de pesquisa e um terço na fase de avaliação dos modelos seleccionados. 2.2.2. Restringir a pesquisa às regiões de sobreposição de superfície. A codificação adequada das grelhas restringe a pesquisa àquelas posições relativas em que há sobreposição das grelhas de superfície. Isto é conseguido representando cada grelha como listas de intervalos definindo segmentos ao longo do eixo de coordenadas X. Estas listas estão guardadas numa matriz no plano X-Z. A Ilustração 10 mostra em detalhe a representação de duas linhas, representando o corte no plano X-Y para um valor fixo de Z=j. A linha no topo contém apenas células de superfície, e é representada como dois intervalos Sij = [(3;7), (12;18)], onde i é o valor da coordenada Y. A outra linha, mais abaixo, contém células de ambas as grelhas (superfície e interna), e é representada por uma lista de células de superfície Skj = [(2;3), (7;9), (20;21)] e uma lista de células da região interna Ckj = [(4;6), (10;20)]. Y i Sij = [(3;7), (12;18)] k Skj = [(2;3), (7;9), (20;21)] Ckj = [(4;6), (10;20)] 1 5 10 15 20 X Ilustração 10. Mostra a representação das grelhas como segmentos definidos pelos intervalos ao longo do eixo X de coordenadas. As células de superfícies estão desenhadas a cinzento claro e os seus segmentos a negro, as do núcleo a cinzento escuro e os seus segmentos a branco. 20 Esta representação reduz o espaço de memória necessário ao armazenamento das grelhas. Há, em média, cerca de dois segmentos por linha para cada grelha, um número constante e pequeno comparado ao tamanho da grelha. O espaço de memória passa assim de O(N3) para O(N2). Esta representação também conduz naturalmente à pesquisa ao longo do eixo dos X pela comparação de segmentos, em vez de explorar todas as possibilidades de translação ao longo do eixo dos X. Desta forma a pesquisa fica restrita às zonas de sobreposição das regiões de superfície, de número pequeno e constante, reduzindo a complexidade temporal de O(N6) para O(N4). 2.2.3. Pesquisa com eliminação de sobreposição das regiões internas. Uma restrição importante é que as regiões internas das duas proteínas não se sobreponham. Esta restrição é imposta identificando as configurações que resultam nesta sobreposição comparando os segmentos que representam a região interna da proteína, de uma forma análoga à descrita na secção 2.2.2 para os segmentos de superfície. Desta forma reduz-se o domínio das posições relativas possíveis ao longo do eixo X para cada par de coordenadas Y, Z. Uma vez reduzido este domínio é também possível determinar quais os segmentos de superfície que se pode ignorar para por não haver possibilidade de contacto entre estes. A Ilustração 11 esboça o algoritmo de pesquisa. Três variáveis, z, y e x, e os seus domínios respectivos, Dz, Dy, e Dx, representam a translação de B em relação a A. Os domínios inicialmente contêm todas as translações possíveis considerando os limites de A e B (bounds consistency). Se MaxA/MaxB e MinA/MinB são o máximo/mínimo valor das coordenadas Z para as grelhas de superfície de ambas as estruturas, Dz inicialmente contém o intervalo [(MinAMaxB; MaxB-MinA)] (linha 1). O mesmo para Dy and Dx (linhas 3 e 5), mas considerando apenas as partes da estrutura que se podem sobrepôr para aquele valor de translação em Z. Estes domínios podem ser reduzidos pela aplicação de restrições de distância entre pontos nas proteínas, como veremos adiante. Para cada par de valores de translação z e y, é criada a lista CoreSets de segmentos da região interna que estão alinhados nesta posição (linha 6), e do domínio Dx são removidos os valores de translação que resultam em sobreposição das regiões internas. Em seguida é gerada a lista de segmentos de superfície que estão alinhados para os valores z e y de translação, e avaliada a sobreposição para cada valor de translação possível no domínio Dx. 21 1. Dz ? Z_Translations 2. for each z ? Dz do 3. Dy ? Y_Translations(z) 4. for each y ? Dy do 5. Dx ? X_Translations(z,y) 6. CoreSets ? Matching_Core_Segs(z,y,D y) 7. Dx ? RemoveCoreOverlaps(D y) 8. SurfSets ? Matching_Surf_Segs(z,y,X) 9. CountContacts(XT,SurfacePairs ) Ilustração 11. Esboço do algoritmo de pesquisa no espaço de translação. Esta pesquisa é repetida para cada orientação relativa entre as duas proteínas. A comparação dos segmentos tem uma complexidade temporal de O(k2) para cada linha, em que k é o número de segmentos médio por linha por proteína, e uma constante pequena (aproximadamente 2). Desta forma todo o processo de comparação de segmentos e redução dos domínios de translação tem uma complexidade temporal de O(N2), não aumenta a complexidade temporal do algoritmo, e resulta em ganhos significativos de tempo. 2.2.4. Restrições experimentais. Normalmente a modelação de complexos proteicos acompanha um trabalho experimental de investigação que pode fornecer alguns dados acerca da interacção a modelar. No caso geral, esta informação pode ser representada por uma restrição como: Pelo menos K átomos de A estão a menos de R de pelo menos um átomo de B (1) Onde A e B são duas proteínas, e R um valor de distância. Esta restrição permite considerar a incerteza associada à maioria dos dados experimentais. Uma experiência pode sugerir proximidade entre alguns átomos sem dar garantias para todos os átomos, e desta forma pode-se restringir o número de átomos em proximidade sem ter que especificar quais dos vários possíveis. Mas esta restrição pode resultar num grande número de combinações a testar, pelo que a sua propagação pelos domínios das translações (descritos na secção anterior) não é trivial. Como mostra a Ilustração 11, a pesquisa no espaço de translação progride em três ciclos aninhados, Z, Y, e X, do exterior para o interior. Isto permite decompor esta restrição projectando a distância R em cada direcção: Pelo menos K átomos de A estão a menos de R? de pelo menos um átomo de B (2) onde R? é o módulo da diferença de coordenadas no eixo dos Z, Y, ou X. Tem o mesmo valor que R, mas a notação diferente serve para lembrar que não é uma distância Euclideana. A restrição é assim ligeiramente mais fraca, por considerar um cubo de lado 2R em vez de uma esfera de diâmetro 2R, mas isto pode ser corrigido no final eliminando modelos candidatos que 22 violem a restrição como inicialmente formulada. O importante é que desta forma é possível reduzir o domínio de pesquisa, e filtrar os modelos de uma forma muito eficiente. Os detalhes desta propagação são demasiado complexos para este documento resumido, mas, em traços gerais, o procedimento consiste em considerar a vizinhança R? do grupo B projectada na direcção Z, contar o número de átomos do grupo A que podem estar próximos de B para cada valor no domínio Dz (domínio de valores de translação na direção Z, ver secção anterior), eliminar deste domínio todos os valores de translação que não respeitam a restrição. Para cada valor de translação permitido para a direcção Z repetir o processo para o eixo dos Y, e para cada valor no eixo dos Y repetir o processo para a direcção X. Este processo acompanha a estrutura de ciclos aninhados da pesquisa (Ilustração 11), e a complexidade temporal é de O(N3) pelo que a propagação da restrição não aumenta a complexidade global do algoritmo, que é de O(N4). 2.2.5. Comparação com o método da Transformada Rápida de Fourier (TRF) O método mais usado para pesquisar as diferentes configurações para um complexo proteico é o método das matrizes de correlação por transformada rápida de Fourier, desenvolvido por Katchalski-Katzir (12). Este tem a vantagem de uma complexidade temporal de O(N3Log(N)), muito superior à complexidade de O(N6) de uma pesquisa simples pelo espaço tridimensional. No entanto, a complexidade de O(N4) do algoritmo aqui proposto já se aproxima daquela da TRF. Na verdade, aproxima-se o suficiente para que o factor constante de diferença nos tempos de cálculo seja, na prática, mais importante. A comparação dos dois algoritmos baseou-se no tempo publicado para a modelação de um complexo de imunoglobulina usando o ZDock, uma implementação moderna do método de TRF (17), considerando a diferença de desempenho dos computadores usados, e calculando para cada ponto a média do tempo para dez orientações das mesmas proteínas. O tamanho da grelha (N) foi variado alterando a resolução, e os tempos para o método de TRF foram extrapolados a partir dos valores e parâmetros publicados, tendo em atenção que o desempenho máximo desta técnica é para valores de N que sejam potências de 2 (32, 64, 128, ...). O gráfico A (Ilustração 12) mostra o resultado desta experiência. Apesar da complexidade temporal ser um pouco superior, para valores práticos de N o algoritmo aqui proposto é cerca de dez vezes mais rápido que o ZDock. Mais significativa é a diferença no espaço necessário. O método de TRF exige três matrizes tridimensionais com valores de vírgula flutuante, o que dá cerca de 130Mb por grelha para N=256, ou 8Gb no total para N=512. O máximo para a implementação testada do algoritmo aqui proposto, incluindo o código, foi de 15Mb para N=330. De salientar também que no método de TRF cada grelha tem que ser capaz de conter ambas as proteínas, pelo que N é efectivamente o dobro neste método. 23 Ilustração 12. Gráfico comparando o tempo de cálculo do algoritmo aqui proposto (pontos) com o ZDock (linha em escada), que implementa o método de TRF. A outra vantagem do algoritmo aqui proposto é a possibilidade de reduzir o espaço de pesquisa aplicando restrições experimentais, o que o método de TRF não permite por exigir o cálculo da matriz de correlação. Esta redução pode ser de cerca de uma ordem de grandeza, dependendo das restrições impostas. 2.2.6. Resultados em casos reais. Este algoritmo foi testado em diversos casos reais, resultando em oito artigos em publicações internacionais na área da bioquímica em que o candidato participou, e pelo menos mais quatro artigos por investigadores independentes. A implementação deste algoritmo está publicamente disponível, e tem sido usado por investigadores internacionais. Para manter o anonimato do candidato não é possível referir aqui em detalhe estes artigos ou onde obter o software, mas, em traços gerais, alguns dos sistemas biológicos em que este algoritmo foi aplicado incluem complexos de tranferência electrónica (peroxidases, citocromos), enzimas (proteases), e oligómeros. 3. Implementação, integração e visualização. O objectivo deste trabalho foi sempre o de produzir uma ferramenta útil, e não apenas de investigação académica. Por isso houve uma preocupação desde o inicio de desenvolver e implementar os algoritmos em estreita colaboração com os investigadores que iriam utilizar estes métodos. O desenvolvimento de interfaces gráficas, a integração com algoritmos de uso corrente na bioquímica estrutural, e formas de representar conjuntos de dados complexos formam uma parte significativa deste trabalho. Esta secção dá uma visão breve destes aspectos. 24 3.1.1. Cálculo e visualização do campo electrostático. A distribuição de cargas numa proteína é um factor importante na determinação das suas propriedades e da interacção com outras proteínas. Como o campo eléctrico gerado por esta distribuição pode variar conforme as condições da solução, especialmente da força iónica, há uma forma prática de manipular o comportamento da molécula manipulando as condições em que se encontra. Uma das funcionalidades implementadas é o cálculo e representação deste campo eléctrico, e a Ilustração 13 mostra três representações do campo eléctrico gerado por uma proteína. Ilustração 13 Três representações do campo eléctrico à volta do cytochromo C552 de Pseudomonas nautica. O painel da esquerda mostra a intensidade do campo num plano, o do centro linhas isopotenciais e o da direitauma superficie isopotencial A cor azul indica valores positivos, vermelho negativos. As linhas isopotencias foram calculadas a ? 0.1Kcal/mol (solida) and ? 0.01Kcal/mol (pontilhada). 3.1.2. Representação de elementos estruturais. Uma parte importante da análise dos resultados é a representação gráfica das estruturas. Esta informação pode incluir não só as coordenadas dos átomos mas também a identificação de elementos estruturais como domínios, estrutura secundária, e outros, que pode ter que ser feita remotamente, acedendo a serviços disponíveis pela internet. A aplicação desenvolvida automatiza este processo, podendo obter informação acerca de vários elementos estruturais facilmente, bastando ao utilizador premir um botão. Ilustração 14 No painel da esquerda, os dois domínios diferentes da mesma proteína são representados a verde e azul. No painel central, os elementos de estrutura secundária são identificados pela cor e forma. No painel da direita, cores diferentes representam zonas mais (encarnado) ou menos (azul) conservadas na sequência da proteína. 25 A Ilustração 14 ilustra algumas possibilidades: identificação de domínios acedendo à base de dados PFam (18), identificação de elementos de estrutura secundária no servidor DSSPCont (19), e cálculo de zonas conservadas por alinhamento multi-sequência usando os servidores do European Bioinformatics Institute (20). 3.1.3. Representação de modelos de interacção. O algoritmo de modelação de complexos produz milhares de modelos, mesmo depois da triagem inicial. Os modelos são classificados automaticamente, e podem ser representados de acordo com os valores de vários parâmetros calculados que descrevem a interacção, mas ainda assim é necessário que o utilizador avalie e analise as estruturas produzidas. Isto requer um sistema se representação flexível para facilitar a análise de tão grande conjunto de dados. Várias soluções foram implementadas neste sentido. A possibilidade de agrupar modelos em famílias de acordo com uma medida de semelhança dada pelo utilizador, a possibilidade de representar grupos de modelos de forma simplificada, mostrando apenas um centro activo de interesse ou uma esfera no centro geométrico. Interactividade com programas de folha de cálculo, que permite exportar resumos de várias simulações ou importar listas de modelos para representar. Possibilidade de o utilizador classificar os modelos de acordo com distâncias (máximas, mínimas, ou médias) entre grupos de átomos, números de contactos, ou estimativas de vias de transferência electrónica. Ilustração 15 O painel da esquerda mostra vários modelos em que um dos parceiros na interação é representado como uma esfera colocada em relação ao outro parceiro. O painel central mostra duas famílias de modelos, a verde e amarelo, em relação a um dos parceiros (a azul). O painel da direita mostra apenas os grupos prostéticos de uma proteína (no centro) e as posições do grupo prostético de outra em vários modelos. 4. Conclusão. Nesta secção faço uma apreciação mais subjectiva do trabalho que descrevi nas secções anteriores. Deixo por isso a impessoal terceira pessoa e a forma passiva. Pelos algoritmos desenvolvidos, a aplicação produzida e distribuída à comunidade científica, a estreita colaboração durante todo o processo com os investigadores que usam estas ferramentas, e os 26 comentários, questões, e sugestões que recebo regularmente de quem usa o produto deste trabalho, fica-me a impressão de ter conseguido atingir até agora o objectivo de criar ferramentas úteis para integrar informação estrutural no estudo de proteínas. As publicações que resultaram deste trabalho (referidas no curriculum vitae que acompanha este documento) dão um suporte objectivo a esta conclusão, mas subjectivamente é mais importante o contacto directo com quem usa estes algoritmos e métodos. O algoritmo descrito na secção 2 foi o que comecei a desenvolver à menos tempo, e não foi ainda plenamente testado em situações reais. Pude contar com a ajuda de alguns colaboradores que forneceram os dados experimentais, mas o verdadeiro teste irá começar quando o algoritmo for usado durante o processo de determinação de uma estrutura nova. O algoritmo descrito na secção 3 já está mais desenvolvido, e apesar de o sujeitar constantemente a melhorias e afinações, deu provas de ser um método útil, especialmente integrado como está num ambiente de visualização e análise de resultados. O ambiente gráfico foi uma parte fundamental deste trabalho. É uma aplicação de modelação molecular como outras que já existem, mas que serve de base para a implementação de vários algoritmos. Acima de tudo serve de contacto com a comunidade de investigadores que os usam. Muitas ferramentas em bioinformática são desenvolvidas por informáticos com contacto limitado com os bioquímicos, ou por bioquímicos com pouco interesse ou disponibilidade para desenvolver novos algoritmos ou explorar a sua potencialidade dos algoritmos. A minha formação mista e, principalmente, as pessoas com quem tive a sorte de trabalhar, tornaram sempre fácil e natural a integração das duas disciplinas, e penso que foi isso, acima de tudo, que contribuiu para o sucesso deste trabalho. Neste documento descrevi o trabalho que eu desenvolvi, mas em paralelo com o trabalho de desenvolvimento e implementação esteve todo o trabalho de utilização do software. No fundo, o teste mais importante de qualquer algoritmo e implementação: se é prático e útil. Nesse campo tenho muito a agradecer a todos os colegas bioquímicos que ofereceram o seu tempo para identificar erros, sugerir melhorias, pedir funcionalidades, e em geral motivar e guiar o precurso deste trabalho. 5. Referências 1. H.M. Berman, J. Westbrook, Z. Feng, G. Gilliland, T.N. Bhat, H. Weissig, I.N. Shindyalov, P.E. Bourne: The Protein Data Bank. Nucleic Acids Research , 28 pp. 235242 (2000) 27 2. Güntert, P., Mumenthaler, C. & Wüthrich, K. (1997). Torsion angle dynamics for NMR structure calculation with the new program DYANA. J. Mol. Biol. 273, 283-298 3. Chothia C, Lesk AM. 1986. The relation between the divergence of sequence and structure in proteins. EMBO J. 1986 Apr;5(4):823-6. 4. Baldi P, Brunak S.1998. Bioinformatics: the machine learning approach. Dietterich T, editor.MIT Press, 351p. 5. Wang JTL, Shapiro BA, Shasha D.1999. Pattern discovery in biomolecular data. Oxford, 251p. 6. Fogel GB, Corne DW. (editors). 2003. Evolutionary Computation in Bioinformatics. Morgan Kaufmann, 393 p. 7. Simons, K. T., Bonneau, R., Ruczinski, I., Baker, D. (1999). Ab initio protein structure prediction of CASP III targets using ROSETTA Proteins Suppl 3, 171-6 8. Janin J. 2002. Welcome to CAPRI: A Critical Assessment of PRedicted Interactions. Proteins: Structure, Function, and Genetics Volume 47, Issue 3, 2002. Pages: 257 9. Fernandez-Recio J, Totrov M, Abagyan R 2002. Soft protein-protein docking in internal coordinates. Protein Sci. 2002 Feb;11(2):280-91. 10. Schneidman-Duhovny D, Inbar Y, Polak V, Shatsky M, Halperin I, Benyamini H, Barzilai A, Dror O, Haspel N, Nussinov R, Wolfson HJ. 2003. Taking geometry to its edge: fast unbound rigid (and hinge-bent) docking. Proteins. 2003 Jul 1;52(1):107-12. 11. Gardiner EJ, Willett P, Artymiuk PJ. 2001 Protein docking using a genetic algorithm. Proteins. 2001 Jul 1;44(1):44-56. 12. Katchalski-Katzir E, Shariv I, Eisenstein M, Friesem AA, Aflalo C, Vakser IA. 1992 Molecular surface recognition: determination of geometric fit between proteins and their ligands by correlation techniques. Proc Natl Acad Sci U S A. 1992 Mar 15;89(6):2195-9. 13. Mackworth AK. 1977. Consistency in networks of relations. Artificial Intelligence 8, pp88-118 14. Goodfellow BJ, Rusnak F, Moura I, Domke T, Moura JJ. 1998 NMR determination of the global structure of the 113Cd derivative of desulforedoxin: investigation of the hydrogen bonding pattern at the metal center. Protein Sci. 1998 Apr;7(4):928-37. 28 15. Wilson DS, Guenther B, Desplan C, Kuriyan J. 1995. High resolution crystal structure of a paired (Pax) class cooperative homeodomain dimer on DNA.Cell. 1995 Sep 8;82(5):709-19. 16. Varghese JN, Garrett TP, Colman PM, Chen L, Hoj PB, Fincher GB.1994 Threedimensional structures of two plant beta-glucan endohydrolases with distinct substrate specificities.Proc Natl Acad Sci U S A. 1994 Mar 29;91(7):2785-9. 17. Chen R. & Weng Z. 2002 Docking Unbound Proteins Using Shape Complementarity, Desolvation, and Electrostatics, Proteins 47:281-294 18. http://www.sanger.ac.uk/Software/Pfam/ 19. http://cubic.bioc.columbia.edu/services/DSSPcont/ 20. http://www.ebi.ac.uk/