Determinação da Estrutura de Proteínas através de

Transcrição

Determinação da Estrutura de Proteínas através de
Universidade Nova de Lisboa
Faculdade de Ciências e Tecnologia
Departamento de Informática
Determinação da Estrutura de Proteínas através de
Programação por Restrições
Por:
Ludwig Krippahl
Dissertação apresentada na Faculdade de Ciências
e Tecnologia da Universidade Nova de Lisboa para
a obtenção do grau de Mestre em Inteligência
Artificial Aplicada.
Orientador Científico:
Professor Doutor Pedro Barahona
Lisboa, 1999
2
3
à Lena, pelas restrições que lhe impus durante este trabalho.
4
5
Agradecimentos
Agradeço antes de mais a ajuda do meu professor e orientador Pedro Barahona, e a sua paciência em
ensinar informática a um químico. Ao Brian Goodfellow e à Anjos Macedo agradeço a ajuda com os
dados e a técnica de RMN, e ao Nuno Palma o seu apoio e as indicações que me permitiram traduzir
para Português alguns termos que normalmente uso em Inglês. Pelas traduções eventualmente menos
felizes, assumo plena responsabilidade.
Este trabalho foi financiado em parte pela bolsa BM / 17904 / 98 do programa PRAXIS da Fundação
para a Ciência e Tecnologia
A figura 1.12 foi cedida por Brian Goodfellow.
A figura 1.8 foi criada com o programa RasMol, por R.Sayle
As imagens na figura 2.6 são propriedade de Land of Marbles, e foram usadas com autorização dos
proprietários.
As figuras 1.2, 1.3, 1.5, 1.6, 1.7, 1.9, 1.10, 2.1, 3.1, 3.15, 3.16, 3.17, 3.18, 3.19 e 3.20 foram criadas
com o programa CyberMol por Ludwig Krippahl e Nuno Palma.
6
7
Sumário
Nesta dissertação proponho uma abordagem baseada em técnicas de programação por restrições para
determinar estruturas de proteínas a partir de restrições de distância obtidas por Ressonância Magnética Nuclear (RMN). O primeiro capítulo é uma breve introdução à estrutura de proteínas. No segundo
capítulo descrevo o método proposto, que consiste essencialmente numa redução do espaço de possibilidades por técnicas de processamento de restrições, seguido por uma minimização. No terceiro capítulo mostro os resultados obtidos e um teste de comparação do desempenho do método com DYANA
("Dynamics algorithm for NMR applications” [17]), uma aplicação comercial baseada em técnicas de
minimização. Neste teste o tempo de cálculo para o DYANA foi de mais de seis horas, enquanto
método aqui proposto obteve resultados semelhantes em 8 minutos. Neste trabalho concluo que a aplicação de técnicas de Programação por Restrições podem reduzir significativamente o tempo de cálculo
para estes problemas
8
9
Abstract
In this dissertation I propose a constraint-based approach to determining protein structures compatible
with distance constraints obtained from Nuclear Magnetic Resonance (NMR) data. In the first chapter
I give a brief introduction to protein structure. The second chapter describes the method proposed,
which consists essentially of a constraint based reduction of the possibilities, followed by a local
search with an optimisation algorithm. In the third chapter, I show the results obtained, and compare
the performance of the algorithm with DYANA ("Dynamics algorithm for NMR applications” [17]) an
existing commercial application based on simulated annealing. In this test case, computation time for
DYANA was more than six hours, whereas the method proposed here produced similar results in 8
minutes. I conclude that the application of Constraint Programming techniques can greatly reduce
computation time in solving these distance constraint systems.
10
11
Índice
Introdução ...............................................................................................................................13
1. Estrutura de Proteínas ....................................................................................................15
1.1 Ligação Covalente........................................................................................................................ 15
1.2 Estrutura Primária ........................................................................................................................ 16
1.3 Estrutura Secundária. ................................................................................................................... 20
1.4 Estrutura Terciária........................................................................................................................ 22
1.5 Estrutura Quaternária ................................................................................................................... 23
1.6 Outros Elementos Estruturais....................................................................................................... 24
1.7 Quiralidade................................................................................................................................... 25
1.8 Ressonância Magnética Nuclear .................................................................................................. 25
2. Método .................................................................................................................................30
2.1 Modelação do Problema............................................................................................................... 30
2.2 Técnicas de Consistência ............................................................................................................. 32
2.3 Adaptação do Modelo .................................................................................................................. 40
2.4 Enumeração.................................................................................................................................. 46
2.5 Retrocesso .................................................................................................................................... 48
2.6 Minimização................................................................................................................................. 49
2.7 Verificação da Quiralidade........................................................................................................... 49
2.8 Discussão do Método ................................................................................................................... 50
3. Resultados ...........................................................................................................................52
3.1 Estrutura de Teste......................................................................................................................... 52
3.2 Representação dos Domínios ....................................................................................................... 54
3.3 Heurística de Enumeração............................................................................................................ 55
3.4 Sobreposição de Átomos.............................................................................................................. 59
3.5 Dependência das Restrições......................................................................................................... 61
3.6 Dimensão Final dos Domínios ..................................................................................................... 64
3.6 Desempenho................................................................................................................................. 66
3.7 Comparação com DYANA .......................................................................................................... 67
3.7 Outras Estruturas Testadas........................................................................................................... 70
4. Conclusão ............................................................................................................................76
Glossário ..................................................................................................................................78
Bibliografia..............................................................................................................................80
Apêndice A: Quadros .............................................................................................................84
12
13
Introdução
“A programação por restrições representa uma das melhores
aproximações que a informática já fez ao Cálice Sagrado da
programação: o utilizador expõe o problema, o computador resolve-o”
Eugene C. Freuder, CONSTRAINTS, Abril 1997
A Programação por Restrições (Constraint Programming) é um dos campos mais promissores na
informática moderna. A combinação de uma filosofia declarativa, eficiência e uma vasta aplicabilidade tornam estas técnicas uma ferramenta poderosa para a resolução de inúmeros problemas.
Com origem nos anos sessenta (6), as técnicas de Programação por Restrições evoluíram de soluções
para problemas específicos para um paradigma geral sobre a forma de resolver uma grande classe de
problemas. Determinantes para a concepção moderna de Programação por Restrições foram os trabalhos de Gallaire, Jaffar e Lassez (13, 22 em 6) em meados dos anos oitenta, que salientaram os muitos
elementos comuns entre a Programação em Lógica e a Programação por Restrições. Desde então a
formalização dos problemas de uma forma declarativa tem sido uma das ideias chave da Programação
por Restrições.
Esta noção não impede, no entanto, que as restrições sejam resolvidas de uma forma imperativa. O
recurso a linguagens imperativas, mesmo que apenas a baixo nível, é evidentemente inevitável. O importante neste conceito é que o utilizador possa expor o problema de forma declarativa. No trabalho
aqui descrito, como veremos adiante, foi precisamente esta a abordagem: a resolução das restrições foi
escrita numa linguagem imperativa (Object Pascal) mas a definição do problema a resolver consiste
apenas numa lista que declara as restrições a respeitar.
Outra noção fundamental na Programação por Restrições é a consistência entre valores de variáveis.
Uma restrição pode ser vista como um conjunto de combinações admissíveis para os valores das variáveis envolvidas. Os valores possíveis para cada variável dependem assim dos valores que outras
variáveis tomem. Garantindo a consistência entre os valores de grupos de variáveis consegue-se reduzir muito o espaço de pesquisa a percorrer para encontrar soluções admissíveis.
Nesta dissertação irei descrever o estudo de aplicabilidade destas técnicas à determinação de estruturas
de proteínas por Ressonância Magnética Nuclear (RMN). A motivação base para a procura de uma
forma mais eficiente de determinar a estrutura de proteínas não é apenas a curiosidade científica (excepto na opinião muito pessoal do autor). O campo da bioquímica estrutural tem muitas aplicações
práticas, em que qualquer melhoria no desempenho pode trazer muitas vantagens concretas e imediatas.
14
A industria farmacêutica moderna está cada vez mais dependente do conhecimento detalhado da
estrutura das macro-moléculas que formam os sistemas biológicos, entre as quais as proteínas se destacam pela sua importância. Em muitos campos da indústria proteínas desempenham papeis de grande
importância, 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 tem o potencial de se converter rapidamente em
dinheiro.
Em muitos casos a determinação estrutural de proteínas é o factor limitante na elucidação destes sistemas, pois é um processo demorado e muito exigente.
A tese que aqui defendo, suportada pelos resultados obtidos ao longo do trabalho, é que a aplicação de
técnicas de Programação por Restrições resulta num aumento significativo na eficiência, em relação
aos métodos até agora usados. Os métodos presentemente disponíveis assentam principalmente em
algoritmos de minimização. Um exemplo é a aplicação DYANA (17), neste momento a mais usada
para a resolução destes problemas na Faculdade de Ciências e Tecnologia. O algoritmo base desta
aplicação é o método de minimização simuilated annealing, 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. Esta última torna necessário o cálculo de um número considerável de
estruturas (tipicamente 500) pois apenas uma pequena fracção destas é aceitável.
Nesta dissertação começarei por introduzir, no primeiro capítulo, as noções básicas de estrutura de
proteínas que são relevantes a este trabalho. No segundo capítulo o problema será formalizado como
um problema de processamento de restrições, e serão expostos os algoritmos usados para o resolver.
Os resultados obtidos e a parametrização do programa serão apresentados no terceiro capítulo. No
quarto e último capítulo serão discutidas as vantagens e limitações do presente método, bem como alguns desenvolvimentos já planeados para o futuro.
15
1. Estrutura de Proteínas
Staudinger
salientou
que
“as
macro-moléculas
possuem
propriedades que não podem ser previstas a partir das propriedades
das suas unidades constituintes”... Aparentemente o único obstáculo
para compreender a natureza da vida é a sua fantástica
complexidade. A Informática dá nos a esperança que um dia
possamos vencer também esta dificuldade
H.A. Krebs, Persp. Biol. Med., 1971
Desde muito cedo na história da química que as proteínas têm atraído a atenção dos investigadores (3).
Em algumas substancias orgânicas observaram a intrigante propriedade de solidificar com o calor,
algo contrário à maioria, que normalmente derrete quando aquecida. Em 1777 Pierre Maquer chamoulhes substâncias albuminosas, de albumen, o nome em latim para a clara do ovo, que partilha esta propriedade com outras então conhecidas (caseína do leite, globulina do sangue, etc...).
Em 1839 o químico holandês Gerardus Mulder determinou a fórmula química C40H62O12N10 como
sendo comum a todas as substâncias albuminosas. Ele propôs que todas estas substâncias se formavam
a partir de moléculas com esta composição, e chamou a este grupo proteína.
A palavra proteína deriva da palavra grega protos, significando “primeiro” ou “mais importante”.
Apesar de mais tarde se descobrir que a hipótese de Mulder não era correcta, o nome persistiu e é de
certa forma apropriado, pois apesar de constituírem apenas cerca de 20% da massa orgânica nos seres
vivos (15), são a mais versátil classe de compostos orgânicos. Os papéis que desempenham nos sistemas biológicos são muito diversos; catálise de reacções, transporte, suporte e movimento, resposta
imunitária, entre outros (33).
Neste capítulo irei descrever os elementos estruturais das proteínas, e a forma como a Ressonância
Magnética Nuclear nos permite elucidar estas estruturas. As técnicas de análise estrutural por Ressonância Magnética Nuclear podem ser aplicadas ao estudo de uma vasta gama de compostos orgânicos,
mas irei focar apenas o caso das proteínas, por ser o relevante para este trabalho.
1.1 Ligação Covalente
Uma molécula é um conjunto de átomos unidos por ligações covalentes. A ligação covalente é formada, numa descrição muito simplificada, quando dois átomos partilham electrões. Os electrões deixam
de ocupar orbitais atómicas (centradas no núcleo de um único átomo) para ocupar orbitais moleculares
(dispersas por vários átomos), ligando assim os átomos envolvidos. Estas orbitais moleculares têm
mínimos de energia em geometrias bem definidas, tendendo a forçar os átomos da molécula a formar
estruturas semi-rígidas. No entanto as ligações podem sofrer algumas distorções, sendo estas:
16
•
Compressão e Extensão quando varia o comprimento da ligação química.
•
Flexão quando varia o ângulo formado por duas ligações com um átomo em comum.
•
Torção quando varia o ângulo entre uma ligação e o plano definido pelas duas ligações consecutivas (ângulo diedro)
A Figura 1.1 ilustra estas variações na geometria duma molécula.
Compressão/Extensão
Torção
Flexão
Figura 1.1
Possíveis distorções à geometria de ligações covalentes.
As ligações covalentes são resistentes a distorções de Compressão, Extensão e Flexão, e por isso a
amplitude destas é, em geral, pequena. Muitas ligações têm uma liberdade significativa de Torção. As
ligações Carbono-Carbono e Carbono-Azoto em cada aminoácido (ver 1.2 Estrutura Primária adiante)
são um exemplo de ligações com grande liberdade de Torção, o que permite uma enorme diversidade
nas estruturas de proteínas.
1.2 Estrutura Primária
Cada proteína é formada por uma ou mais cadeias de aminoácidos, que são pequenas moléculas orgânicas contendo um grupo ácido (ácido carboxilico: COOH) e um grupo amina (NH2). Estes dois grupos estão ligados a um átomo de carbono que é designado como Cα (Carbono alfa). Esta região formada pelo grupo amina, o grupo carboxilico e Carbono alfa é comum a todos os aminoácidos que participam na formação de proteínas. Aminoácidos diferentes distingem-se pelo grupo de átomos ligado
ao Cα. Este grupo, formando a restante estrutura do aminoácido é designado por cadeia lateral.
Em solução aquosa, em condições fisiológicas, os grupos amina e ácido carboxilico encontram-se
normalmente na forma ionizada. O grupo ácido carboxilico (COOH) tende a ceder um ião H+ para a
água. Assim em solução este grupo encontra-se tipicamente na forma de carboxilato (COO-). O grupo
amina tende a ligar-se a um ião H+ em solução, e por isso em solução estará tipicamente na forma
17
NH3+. A associação/dissociação de iões H+ está dependente da concentração destes em solução, ou
seja, do pH da solução1, mas esta descrição é correcta na maioria dos casos em condições fisiológicas.
A Figura 1.2 mostra a estrutura de três aminoácidos (Glicina, Leucina e Tirosina) nestas condições,
salientando os grupos amina e ácido carboxilico aqui referidos. Como se pode ver nesta figura, uma
parte da estrutura é comum a todos os aminoácidos, e apenas as cadeias laterais distinguem os aminoácidos.
Glicina
Carboxilo
Leucina
Amina
Carboxilo
Cα
Tirosina
Amina
Cα
Carboxilo
Cα
Amina
C
N
O
Cadeias Laterais
H
Figura 1.2
Estrutura de três aminoácidos em solução. Os grupos ácido carboxilico e amina estão marcados em cada aminoácido, bem como o Carbono alfa. Estes formam a estrutura comum a todos os aminoácidos e compõem a cadeia
principal da proteína. Na região inferior estão representadas as cadeias laterais que distinguem os diferentes
aminoácidos.
Em sistemas biológicos já foram encontrados mais de 300 aminoácidos, mas regra geral as proteínas
contém apenas 20 aminoácidos diferentes (15). Por isso iremos apenas considerar estes 20 aminoácidos mais comuns. No entanto todos os algoritmos aqui descritos (ver 2. Método, página 30) podem ser
aplicados a proteínas com aminoácidos menos comuns ou mesmo outras moléculas (ver 1.6 Outros
Elementos Estruturais, página 24).
A Tabela 1.1 mostra os nomes destes aminoácidos, bem como as abreviaturas e os símbolos normalmente usados para os identificar. Neste documento serão utilizadas as abreviaturas de três letras para
referir os aminoácidos específicos.
A importância dos aminoácidos nos sistemas biológicos vem da capacidade que os grupos amina e
ácido carboxilico têm de formar uma ligação entre o Carbono do grupo carboxilico e o Azoto do grupo
amina.. Esta ligação é chamada ligação peptídica.
1
O valor de pH é o simétrico do logaritmo da concentração de iões H+.
18
Nome
Abreviatura
Símbolo
Ácido Aspártico
Asp
D
Ácido Glutâmico
Glu
E
Alanina
Ala
A
Arginina
Arg
R
Aspargina
Asn
N
Cisteína
Cys
C
Fenilalanina
Phe
F
Glicina
Gly
G
Glutamina
Gln
Q
Histidina
His
H
Isoleucina
Ile
I
Leucina
Leu
L
Lisina
Lys
K
Metionina
Met
M
Prolina
Pro
P
Serina
Ser
S
Tirosina
Tyr
Y
Treonina
Thr
T
Triptofano
Trp
W
Valina
Val
V
Tabela 1.1
Nomes, abreviaturas e símbolos para os 20 aminoácidos mais comuns (15,33).
O nome deriva de peptós, palavra grega para digestão, pois esta é a ligação quebrada na digestão de
proteínas. A Figura 1.3 ilustra a formação duma ligação peptídica entre uma Cisteina e uma Histidina.
Em condições fisiológicas a reacção é mais complexa do que a Figura 1.3 indica, não só pelo estado
ionizado dos grupos que reagem (ver acima) mas também porque estas reacções são catalisadas por
outras proteínas.
A Figura 1.3 mostra também (ilustração inferior) os dois aminoácidos ligados pela ligação peptídica.
Pode-se notar aqui uma sequência contínua formada pelos átomos Carbono do grupo ácido carboxilico, Carbono alfa e Azoto do grupo amina de cada aminoácido. Este padrão ...-C-Cα-N-C-Cα-N-...
repete-se por toda a cadeia de aminoácidos, e é designado como cadeia principal da proteína (backbone). Estes átomos estão marcados na Figura 1.3 (ilustração inferior). Esta propriedade permite a
agregação de aminoácidos em longas cadeias, contendo centenas ou milhares de átomos.
19
Amina
Carboxilo
Água
C
Cisteina
Histidina
N
O
C
N
Cα
C
N
Cα
H
S
Ligação
Peptídica
Figura 1.3
Formação da ligação peptídica entre Cisteína e Histidina. No topo está esquematizada a reacção de ligação entre
os dois aminoácidos. A figura abaixo representa a estrutura molecular formada pelos dois aminoácidos ligados
pela ligação peptídica.
A estrutura primária é a sequência de aminoácidos nas cadeias que formam a proteína. Na estrutura
primária incluí-se tipicamente também a informação sobre pontes de dissulfureto, mas estes elementos
estruturais serão focados mais adiante (ver 1.6 Outros Elementos Estruturais, página 24).
A assimetria da ligação peptídica e dos aminoácidos faz com que um dos extremos da cadeia contenha
sempre um grupo amina, e o outro um grupo ácido carboxilico. Por convenção, o aminoácido no extremo com o grupo amina livre é considerado o primeiro aminoácido. Esta convenção reflecte a ordem
pela qual os aminoácidos são adicionados na síntese das cadeias em sistemas biológicos.
A informação sobre a sequência primária das proteínas está contida no ADN (Ácido Desoxirribonucleico), que constitui o material genético dos seres vivos2.
A síntese de proteínas nas células processa-se em duas fases. Em primeiro lugar a sequência da zona
do ADN que codifica a proteína é replicada em ARN (Ácido Ribonucleico), num processo chamado
transcrição. Na segunda fase, a tradução, as cadeias de aminoácidos que formam a proteína são sintetizadas a partir do ARN. O ADN contém apenas 4 bases diferentes: Adenina, Guanina, Citosina, e
Timina. O ARN contém também Adenina, Guanina, e Citosina., mas contém Uracilo em vez de Timi2
O genoma de alguns vírus é composto por Ácido Ribonucleico (ARN)
20
Timina.. Como as proteínas contém 20 aminoácidos diferentes, cada aminoácido é codificado por
uma sequência de três bases, como se mostra na Tabela 1.2 (24).
Primeira Base
Segunda Base
U
C
A
G
U
UUU
UUC
UUA
UUG
Phe
Phe
Leu
Leu
UCU
UCC
UCA
UCG
Ala
Ala
Ala
Ala
UAU
UAC
UAA
UGA
Tyr
Tyr
Fim
Fim
UGU
UGC
UAG
UGG
Cys
Cys
Fim
Trp
C
CUU
CUC
CUA
CUG
Leu
Leu
Leu
Leu
CCU
CCC
CCA
CCG
Thr
Thr
Thr
Thr
CAU
CAC
CAA
CGA
His
His
Gln
Gln
CGU
CGC
CAG
CGG
Arg
Arg
Arg
Arg
A
AUU
AUC
AUA
AUG
Ile
Ile
Ile
Met
ACU
ACC
ACA
ACG
Pro
Pro
Pro
Pro
AAU
AAC
AAA
AGA
Asn
Asn
Lys
Lys
AGU
AGC
AAG
AGG
Ser
Ser
Arg
Arg
G
GUU
GUC
GUA
GUG
Val
Val
Val
Val
GCU
GCC
GCA
GCG
Ser
Ser
Ser
Ser
GAU
GAC
GAA
GGA
Asp
Asp
Glu
Glu
GGU
GGC
GAG
GGG
Gly
Gly
Gly
Gly
Tabela 1.2
Correspondência entre as sequências dos tripletos no ARN e os aminoácidos que estes codificam.
Hoje em dia existem assim duas abordagens possíveis para determinar a estrutura primária de uma
proteína:
•
A degradação química controlada das cadeias de aminoácidos permite a determinação directa da
sequência (degradação de Edman, 33).
•
A sequenciação do ADN/ARN que codifica a proteína permite determinar indirectamente a sequência desta.
A combinação destes dois métodos permitiu a determinação das estrutura primárias de muitas proteínas. Presentemente o número de estruturas primárias conhecidas aproxima-se de 100.000.
1.3 Estrutura Secundária.
O termo estrutura secundária refere-se ao conjunto de estruturas locais, estáveis, e que são elementos
comuns à maioria das proteínas (33). Por estas razões, é possível prever , com alguma confiança, estes
elementos estruturais, pelo que serão potencialmente uma importante fonte de informação acerca da
estrutura da proteína.
21
Apesar de a ligação peptídica ser uma ligação rígida, as ligações adjacentes Carbono-Carbono e
Carbono-Azoto (ver Figura 1.3) tem grande
liberdade
de
Torção
(ver
1.1
Ligação
...Ala-Leu-Ala-Met-Glu-Glu-Leu-His-Lys...
Covalente), permitindo à cadeia peptídica uma
grande variabilidade estrutural.
Essencialmente existem três elementos da estrutura secundária: hélice-α, folha-β e dobra-β.
Estas
estruturas
são
estabilizadas
pela
Figura 1.4
Na hélice-α as pontes de Hidrogénio ligam cada
aminoácido ao aminoácido quatro posições à frente na
sequência da cadeia.
formação de pontes de hidrogénio (ver 1.6 Outros
Elementos
Estruturais,
página
24)
entre
átomos
N
pertencentes à cadeia principal da proteína. São estruturas
O
estáveis e que podem ser previstas com alguma confiança
a partir da estrutura primária.
H
A hélice-α é uma espiral formada por pontes de
Ponte de
Hidrogénio
hidrogénio entre os átomos de Hidrogénio covalentemente
ligados aos átomos de Azoto, os átomos de Oxigénio
(grupo carbonilo) do aminoácido situado a quatro posições
à frente na sequência primária. A Figura 1.4 mostra
esquematicamente estas ligações. A Figura 1.5 mostra a
estrutura tridimensional da hélice-α. Nesta figura apenas
os átomos que participam na formação das pontes
Hidrogénio estão representados.
Figura 1.5
Hélice-α. Os átomos de Carbono e as
cadeias laterais não estão representados
para melhor claridade.
Ácido
Carboxilico
Amina
Amina
C
N
O
H
Cadeia Lateral
Ácido
Carboxilico
Figura 1.6
Folha-β. Nesta figura as cadeias laterais são representadas apenas por um átomo. Os terminais Amina
e Ácido Carboxilico estão identificados, ilustrando a orientação anti-paralela das cadeias.
22
A folha-β é formada por dois ou mais segmentos de cadeia
numa orientação paralela ou anti-paralela. Isto significa que
as cadeias estão paralelas, mas podem orientar-se no mesmo
sentido ou em sentidos opostos, ficando o extremo do grupo
C
amina de uma cadeia no sentido do grupo ácido carboxilico
da outra.
N
O
A Figura 1.6 mostra a estrutura de uma folha-β anti-paralela
H
formada por duas cadeias. Neste caso as pontes de
Hidrogénio são formadas entre aminoácidos que podem estar
Figura 1.7
Dobra-β. A ponte de Hidrogénio que
liga um aminoácido ao aminoácido três
posições adiante na sequência estabiliza
esta estrutura.
distantes na sequência, ou mesmo pertencerem a diferentes
cadeias.
O terceiro elemento da estrutura secundária é a dobra-β. Esta
estrutura forma uma curva apertada na cadeia da proteína, estabilizada pela presença de uma ponte de
Hidrogénio entre o Oxigénio do grupo Carbonilo de um aminoácido (este é o resultante do grupo ácido
carboxilico após a formação da ligação peptídica, como ilustrado na Figura 1.3, página 19) com um
átomo de Hidrogénio ligado ao Azoto do aminoácido três posições adiante na sequência. A Figura 1.7
ilustra este elemento da estrutura secundária.
Os elementos de estrutura secundária, pela sua estabilidade, conferem grande estabilidade estrutural às
proteínas. De certa forma pode-se dizer que sustentam a estrutura tridimensional da proteína. No entanto, as proteínas contêm também regiões que não participam na formação destas estruturas, e por
isso são potencialmente mais flexíveis. Este misto de rigidez e flexibilidade permite que as proteínas
possam ter uma vasta gama de formas, e mesmo mudar significativamente de forma por interacção
com outras moléculas. No entanto, as possibilidades quase ilimitadas de combinação destas estruturas
tornam a previsão da forma tridimensional uma tarefa muito complexa e de momento pouco fiável.
1.4 Estrutura Terciária
O termo Estrutura Terciária refere-se, formalmente, à relação espacial entre aminoácidos distantes na
sequência (33). Na prática, a fronteira entre estrutura secundária e terciária não é muito nítida (por
exemplo, uma folha-β contém relações espaciais entre aminoácidos distantes na sequência), mas podemos conceber a estrutura terciária como a forma tridimensional que uma cadeia de aminoácidos
toma, incluindo normalmente vários elementos de estrutura secundária.
A Figura 1.8 ilustra a estrutura terciária da quimotripsina (27). Esta representação salienta os diferentes elementos de estrutura secundária presentes na proteína. As setas amarelas representam as folhas-β,
indicando o sentido de cada segmento de cadeia. A vermelho estão representadas as hélices-α, com a
23
Figura 1.8
Representação estereoscópica da estrutura ternária da Quimotripsina. Os elementos da estrutura secundária estão representados com diferentes cores: Vermelho para hélices-α, amarelo para folhas-β e
azul para as dobras-β.
α, com a sua característica forma em espiral. As dobras-β estão representadas a azul, sendo os
segmentos a branco regiões sem estrutura secundária definida. A estrutura terciária é assim
determinada pela relação espacial entre todos estes elementos. O objectivo deste trabalho é a
determinação desta relação espacial entre átomos a partir de restrições às distâncias entre estes. Estas
restrições podem ser determinadas experimentalmente, como veremos adiante.
1.5 Estrutura Quaternária
Em muitos casos uma proteína é composta por mais que uma cadeia de aminoácidos. Nestas proteínas
Figura 1.9
Estrutura quaternária de duas proteínas. À direita a protease do vírus da imunodeficiência
humana, à esquerda a hemoglobina humana. As diferentes cadeias de aminoácidos estão
representadas em cores diferentes.
24
a relação espacial entre as várias cadeias é chamada estrutura quaternária. Na prática, as dificuldades à
determinação da estrutura quaternária são muito semelhantes ao caso da estrutura terciária, e no
âmbito deste trabalho não foi feita uma distinção explícita entre os dois casos. A Figura 1.9 mostra a
estrutura quaternária de duas proteínas: a protease do vírus da immunodeficiência humana (34) e a
hemoglobina humana(12).
1.6 Outros Elementos Estruturais
Nas secções anteriores mencionei alguns elementos que contribuem para a formação ou estabilização
das várias estruturas nas proteínas. Nesta secção irei detalhar um pouco mais três destes elementos
(33).
Pontes de Hidrogénio: As pontes de Hidrogénio formam-se entre dois átomos que partilham entre si
um átomo de Hidrogénio. Um exemplo é o dos grupos NH e CO na dobra-β. Neste caso o átomo de
Hidrogénio está fracamente ligado ao Azoto, podendo ser partilhado com o átomo de Oxigénio. Esta
partilha de ligações com o Hidrogénio força os átomos de Azoto e Oxigénio a aproximarem-se, efectivamente ligando-os. Neste caso o Azoto é o átomo dador, pois está covalentemente ligado ao Hidrogénio, e o Oxigénio é o receptor. Nas proteínas as pontes de Hidrogénio formam-se tipicamente entre
átomos de Azoto ou Oxigénio. Esta ligação é cerca de vinte vezes mais fraca do que as ligações covalentes, mas mesmo assim desempenha um papel importante na determinação da estrutura da proteína
devido ao seu elevado número, formando redes extensas em toda a proteína.
Pontes de Dissulfureto: A Cisteína é um aminoácido contendo um átomo de Enxofre que tem a capacapacidade de formar uma ligação covalente com o
Enxofre de outra Cisteína (ver Figura 1.3, página 13).
Esta ligação covalente entre os dois átomos de enxofre é
chamada
ponte
de
Dissulfureto,
permite
ligar
C
covalentemente duas cadeias de aminoácidos, ou uma
N
cadeia em regiões distantes na estrutura primária.
O
Fe
Grupos Prostéticos: Muitas proteínas contém mais que
aminoácidos. No caso da hemoglobina, por exemplo, é
um hemo contendo um átomo de Ferro (ilustrado na
Figura 1.10) que desempenha o papel crucial no transporte do Oxigénio. Nestes casos a estrutura química
Figura 1.10
Hemo da Hemoglobina humana. Os átomos de
Hidrogénio não estão representados
destes grupos deve ser considerada na determinação da
estrutura da proteína, bem como as suas ligações às
cadeias de aminoácidos que a formam.
25
1.7 Quiralidade
A quiralidade não é propriamente um elemento estrutural, mas sim uma característica de uma estrutura. A quiralidade foi definida por Kelvin (33) como:
"Eu designo qualquer figura geométrica, ou conjunto de pontos, como quiral, e digo que tem quiralidade, se a sua imagem num espelho plano, em condições ideais, não pode ser sobreposta de forma a
coincidir com o original."
Um exemplo de uma estrutura quiral é a mão. A mão direita é idêntica à imagem no espelho da mão
esquerda e vice-versa, mas ambas diferem da sua própria imagem no espelho. O termo quiral deriva
precisamente de cheir, palavra grega para mão.
Em geral, moléculas complexas como as proteínas, são quirais, ou seja, a imagem no espelho é diferente da estrutura. Além disso, normalmente partes da estrutura também têm quiralidade. Um exemplo
são os centros quirais nos aminoácidos, que conferem a estes últimos duas formas possíveis, designadas R e S (de rectus e sinister, latim para direita e esquerda). Em sistemas biológicos existe em geral
apenas uma das duas formas possíveis para cada aminoácido. As hélices-α, outro exemplo de uma
estrutura quiral dentro da proteína, também só existem em seres vivos numa das duas formas possíveis.
Não é necessária para este trabalho uma abordagem detalhada deste tema. O importante a ter em conta
é que as proteínas são estruturas quirais, por isso diferentes da sua imagem no espelho, mas em que
apenas uma das formas tem realidade biológica. Este factor é importante porque um conjunto de distâncias, mesmo que suficiente para determinar completamente a estrutura duma proteína, terá sempre
no mínimo duas soluções, uma das quais é a imagem do espelho da solução correcta. Mais adiante (2.7
adiante (2.7 Verificação da Quiralidade, Página 49)
irei referir como este problema foi resolvido.
Menor Energia α
1.8 Ressonância Magnética Nuclear
Um tratamento detalhado das técnicas de RMN estrutural estaria fora do âmbito desta dissertação. No
entanto, penso que é importante dar uma visão geral
Maior Energia β
dos princípios que permitem obter experimentalmente
as restrições necessárias para definir a estrutura de
uma proteína (14,4).
Muitos núcleos atómicos são dipolos magnéticos. O
mais importante destes, em bioquímica estrutural, é o
núcleo do Hidrogénio, composto apenas por um pro-
Campo Externo
Figura 1.11
Possíveis orientações para o vector de momento
magnético de um protão na presença de um campo externo.
26
protão.
Quando em presença de um campo magnético externo, o vector de momento magnético do protão
pode tomar uma de duas orientações, como mostrado na Figura 1.11. Para compreender este fenómeno
é preciso considerar que o protão está sujeito às leis da mecânica quântica. Por isso a sua energia está
quantizada, não podendo tomar valores arbitrários, o que apenas permite que este adopte uma de duas
orientações possíveis em relação ao eixo definido pelo vector do campo magnético externo (convencionarei este eixo como sendo o eixo z do sistema de coordenadas). Se a componente z do vector de
momento linear tiver o mesmo sentido que o campo magnético externo, o protão encontra-se num
nível de energia inferior (α). No caso oposto encontra-se no nível superior (β) devido à interacção
desfavorável com o campo magnético externo.
Além disto, pelo princípio de incerteza de Heisenberg, as componentes x, y, e z do vector de momento
magnético do protão não podem ser todas determinadas simultaneamente. A componente z é fixa pela
sua relação com a energia do sistema devido à presença do campo magnético externo, e por isso as
componentes x e y (no plano perpendicular ao vector do campo magnético externo) são indetermináveis.
Numa perspectiva clássica, podemos imaginar que o vector de momento magnético do protão gira em
torno do eixo formado pelo vector do campo magnético externo, descrevendo um cone no espaço,
como representado pela Figura 1.11. As componentes x e y do vector de momento magnético do protão estão assim a oscilar no plano perpendicular ao vector do campo magnético externo. Se aplicarmos
um outro campo magnético oscilatório com a mesma frequência e que oscile neste plano, este estará
em ressonância com as componentes x e y do vector de momento magnético do protão. Isto é conseguido irradiando a amostra com ondas de radiofrequência, cuja componente magnética oscila à frequência desejada.
Esta frequência de ressonância depende da diferença energética entre o nível α e o nível β, ou seja, da
magnitude do campo magnético no ponto onde o protão se encontra. Por sua vez o campo magnético
sentido pelo protão é resultado não só do campo magnético aplicado externamente mas também do
campo magnético gerado na vizinhança do protão pelo movimento dos electrões na molécula. Como
consequência a frequência de ressonância de um protão depende do ambiente químico em que este se
encontra, pelo que é normalmente possível identificar um protão e distingui-lo de outros na molécula.
Ao irradiar a amostra com radiação na frequência de ressonância, um protão no estado de energia mais
baixo (α na Figura 1.11) absorverá energia da radiação fornecida, passando para o estado de energia
mais alto. Por outro lado, um protão no estado mais energético (β na Figura 1.11) será estimulado a
emitir uma radiação do mesmo comprimento de onda e transitar assim para o nível inferior.
27
Se as populações nos estados α e β forem idênticas, nenhum efeito será observável. Felizmente existem muitos campos magnéticos oscilatórios, gerados pela oscilação térmica dos átomos da proteína,
cuja interacção com o protão permitem a transição entre estes dois níveis mesmo na ausência de radiação electromagnética externa. As populações no nível α e β encontram-se assim num equilíbrio térmico em que o nível α é mais populado que o nível β, e por isso é detectável uma absorção de radiação
na frequência de ressonância de cada protão.
Se a probabilidade de um protão transitar do nível β para o nível α for alterada, o equilíbrio entre as
duas populações será alterado, e a absorção total medida será diferente. É possível conseguir isto experimentalmente porque a oscilação de um protão irradiado na sua frequência de ressonância pode alterar
a probabilidade de transição dos protões na vizinhança; este é o efeito de Overhauser. Como as frequências de ressonância são geralmente diferentes para protões em posições diferentes, é possível
simultaneamente irradiar um protão e medir a absorção de outro protão.
Este é o princípio da RMN a duas dimensões,
e a Figura 1.12 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 protão quando outro
protão é 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 informação necessária
para determinar a estrutura de uma proteína.
No entanto é evidente a complexidade dos
espectros obtidos por esta técnica quando
aplicada a proteínas. Por isso a tarefa de atribuir a cada pico o respectivo par de protões
está longe de ser trivial. Os átomos e os ami-
Figura 1.12
Espectro de NMR Bidimensional (Derivado de Níquel da Rubredoxina).
noácidos a que pertencem são identificados
identificados por padrões característicos. No entanto é comum haver ambiguidade na atribuição, como
por exemplo quando a proteína contém vários aminoácidos do mesmo tipo, caso em que pode ser
difícil distingui-los. Em geral as primeiras tentativas contêm atribuições erradas, ou muito
incompletas, e só tentando calcular 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.
28
29
30
2. Método
"Tudo deve ser feito tão simples quanto possível, mas não mais."
Albert Einstein
Para qualquer algoritmo existe um nível óptimo de complexidade. Tanto algoritmos demasiado complexos como demasiado simplificados sofrem degradação no desempenho e na qualidade dos resultados. A ideia central no desenvolvimento deste método foi precisamente tentar encontrar esse valor óptimo.
Assim, diversas simplificações foram feitas, nomeadamente a nível da modelação das restrições de
distância e da representação dos domínios. Outras simplificações, como a redução do problema a domínios finitos, pareceram à partida atraentes por terem sido usadas nem problemas relacionados, como
análise teórica de estruturas de proteínas (5), ou na atribuição de picos cruzados em NMR multidimensional (23,36). No entanto os resultados favoráveis obtidos com o presente método indicam que tal
simplificação é provavelmente excessiva no caso da determinação de estruturas.
A comparação de apenas dois métodos; a aplicação comercial DYANA (17) e o algoritmo aqui proposto, não permite concluir que este último está próximo do óptimo de desempenho. É evidente que
muitas alternativas ficam ainda por explorar. Este método é assim apenas um primeiro passo, mas que
cumpre já o objectivo de mostrar que as técnicas de programação por restrições são apropriadas para a
resolução deste problema.
2.1 Modelação do Problema
A informação acerca da estrutura a calcular é modelada pelo conjunto das
restrições de distância entre átomos e das variáveis de domínio representando as posições dos átomos que são consistentes com estas restrições
(2.3 Adaptação do Modelo, página 40). No modelo são considerados
todos os átomos excepto os átomos de Hidrogénio. Apesar de a informação de RNM a duas dimensões fornecer restrições às distâncias entre átomos 1H, estas são facilmente convertidas em restrições de distância entre
os átomos covalentemente ligados aos 1H, porque cada átomo de Hidrogénio está ligado a um e só um átomo. Isto permite reduzir para cerca de
metade o número de variáveis a considerar.
Figura 2.1
Algumas restrições
distância deduzidas
estrutura da Lisina.
de
da
De momento estão implementadas três fontes de restrições. A primeira é a
informação da estrutura primária (1.2 Estrutura Primária, Página16) da proteína. O conhecimento das
estruturas dos vários aminoácidos permite criar uma rede de restrições de distância entre pares de
31
átomos em qualquer um dos 20 aminoácidos. Estas restrições estão ilustradas na Figura 2.1. Como as
ligações químicas possuem alguma flexibilidade e algumas permitem a rotação em torno da ligação,
estas restrições de distância não representarão um valor único mas sim um intervalo de valores permitidos para a distância entre os átomos. Mais adiante (2.3 Adaptação do Modelo, Página 40) descreverei
como as restrições são implementadas para permitir esta modelação. Apesar de estas restrições constituírem cerca de metade das restrições usadas no cálculo de uma estrutura, não são por si só suficientes
para determinar o enrolamento da cadeia de aminoácidos, pois são restrições apenas dentro de aminoácidos e entre aminoácidos próximos na estrutura primária. Além disso são em grande parte restrições redundantes, pois o sistema de restrições gerado pela estrutura química de um aminoácido contém uma restrição para cada par de átomos diferentes no aminoácido. O uso de restrições redundantes
aumenta o desempenho na resolução do sistema pois permite a eliminação mais rápida de soluções
impossíveis quando não se garante uma consistência total (11). Esta é certamente uma técnica a
explorar de futuro, na sequência do trabalho aqui apresentado.
A segunda fonte de restrições é a informação de Ressonância Magnética Nuclear. A intensidade dos
picos cruzados permite estimar uma distância média entre os 1H em ressonância, que por sua vez permite criar um intervalo de distâncias permitidas entre os átomos ligados a estes átomos de Hidrogénio
(os átomos de Hidrogénio, como referido acima, não são incluídos no modelo). Estas restrições afectam muitas vezes aminoácidos em posições distantes na sequência da proteína, fornecendo por isso a
informação necessária para a determinação das estruturas de ordem superior (secundária, terciária e
quaternária, ver Estrutura de Proteínas, Página 15).
A terceira fonte de restrições é a própria estrutura a calcular. Obviamente, esta informação só pode ser
usada para testar o método, pois a estrutura tem que ser conhecida à partida. No entanto é extremamente simples medir numa estrutura as distâncias que se quer considerar e criar a partir destas as restrições necessárias. Este processo permite testar o método em qualquer uma das muitas estruturas disponíveis (normalmente determinadas por cristalografia de Raios X), sem exigir o acesso a dados experimentais de NMR. Além disto permitiu evitar inicialmente problemas de ambiguidade na atribuição
dos picos cruzados e de parametrização da conversão de distâncias entre 1H em restrições sobre os
átomos covalentemente ligados a estes. Sendo o objectivo principal deste trabalho estudar a aplicabilidade das técnicas de processamento de restrições à determinação de estruturas, foi bastante útil nesta
fase poder adiar a resolução destas pequenas dificuldades, avançando primeiro com o trabalho prioritário.
O sistema a resolver consiste assim num conjunto de variáveis correspondentes às posições dos átomos, e cujos valores se quer determinar, e um conjunto de restrições binárias (i.e. relações entre pares
de variáveis) de distância. Estas restrições permitem uma gama de valores e não apenas um valor único para a distância entre os dois átomos. A forma mais intuitiva de as modelar será como uma conjun-
32
conjunção de duas restrições: distância superior ou igual a um valor e distância inferior ou igual a
outro valor.
Relativamente a um átomo, um outro átomo terá que estar Fora de uma esfera com raio igual à distância mínima permitida pela restrição, e simultaneamente Dentro de outra esfera de raio igual à distância
máxima permitida. Esta será a designação usada para estas duas restrições, definidas analiticamente
como:
Dentro
( x1 − x 2 ) 2 + ( y1 − y 2 ) 2 + ( z1 − z 2 ) 2 ≤ k
Equação 2.1
Fora
( x1 − x2 ) 2 + ( y1 − y2 )2 + ( z1 − z2 )2 ≥ k
Equação 2.2
Estas restrições são suficientes para modelar toda a informação estrutural disponível à excepção da
quiralidade (1.7 Quiralidade, Página 25), que é considerada só após o cálculo da estrutura.
2.2 Técnicas de Consistência
O objectivo do método é gerar uma estrutura que respeite as restrições impostas. Essencialmente o
problema consiste em encontrar, num universo de inúmeras combinações de posições de átomos,
aquelas que cumprem o objectivo. Esta pesquisa pode ser imaginada como a exploração de uma
árvore. Cada ramificação corresponde à atribuição de valores a uma variável, com cada ramo
correspondendo a um valor específico para esta variável. Esta atribuição designa-se por enumeração,
sendo a solução final obtida quando todas as variáveis estão enumeradas. Como em cada ramificação é
escolhido um valor para uma variável, este momento no processo de procura é chamado ponto de
escolha. Durante a pesquisa vários pontos de escolha são criados, e possivelmente a execução terá que
retroceder a alguns destes para modificar a escolha feita.
A Figura 2.2 exemplifica esta pesquisa para o problema de colocar duas moedas de forma a que o número indicando o valor não seja visível. No inicio é desconhecida a posição de qualquer uma das
moedas. Na primeira ramificação é determinada a posição de uma moeda, e cada ramo corresponde a
um dos dois possíveis estados em que a moeda pode estar (enumeração). Para cada um destes, a
segunda moeda é enumerada. No total temos 22 possibilidades, que são examinadas uma a uma. Sempre que uma possibilidade incorrecta é descoberta, a pesquisa retrocede para a ramificação anterior,
escolhendo o ramo seguinte. Os números na Figura 2.2 indicam uma possível ordem de pesquisa, e as
letras indicam a ordem dos pontos de escolha gerados. Por exemplo, para passar da situação 2 para a
situação 3 é necessário retroceder até ao ponto de escolha B. Após todas as escolhas em B terem sido
exploradas, a execução retorna a A, onde será tomada a escolha 4, alternativa a 1.
33
2
?
B
3
1
?
?
A
5
?
C
4
6
Figura 2.2
Árvore de pesquisa para o problema de posicionar duas moedas de forma a que os números não sejam visíveis.
As setas azuis indicam o caminho na enumeração para a solução correcta.
Se em vez de duas moedas tivéssemos quatro dados de seis faces, teríamos 64 possibilidades. Generalizando, o número total de possibilidades será igual ao produto para todas as variáveis do número de
valores que cada variável pode tomar, ou seja uma complexidade para o pior caso de O(an), em que n
representa o número de variáveis e a a cardinalidade do domínio. É fácil ver que esta explosão combinatória faz com que na prática uma pesquisa ingénua não seja viável.
Para melhorar a eficiência podemos usar melhor a informação fornecida pelas restrições. Em vez de
usar as restrições apenas para testar as soluções enumeradas, a pesquisa pode ser guiada mantendo a
consistência das enumerações. No exemplo das moedas, temos uma restrição que impede que uma
face com o número esteja voltada para cima. Assim, na primeira ramificação da árvore de pesquisa
podemos logo eliminar o ramo superior (ver Figura 2.2), pois sabemos que nenhuma solução nesse
ramo poderá respeitar esta restrição. Se conseguirmos manter uma consistência completa com as restrições impostas, a árvore de pesquisa fica reduzida apenas às soluções que respeitam as restrições (o
caminho a azul na Figura 2.2). Mesmo que a consistência seja parcial podemos reduzir drasticamente
o número de hipóteses a enumerar, e por isso o tempo de pesquisa.
Em geral, o problema de satisfação de restrições é NP-completo. NP porque é possível para uma máquina não determinista resolver o problema em tempo polinomial, pois o número de operações
necessárias para verificar se uma solução está correcta é polinomial em relação aos dados do problema; mais formalmente, existe um polinómio p(n) que, para cada valor n da dimensão do problema, é
superior ao número de operações necessárias para determinar se uma solução é válida ou não (25).
NP-completo porque nenhum problema da classe NP pode ser mais difícil de resolver que um que o
problema de satisfação de restrições mais um factor polinomial; formalmente, um problema A é NPcompleto se e só se A for NP e para qualquer problema B∈NP exista uma função f calculável em
tempo polinomial tal que x∈B se e só se f(x)∈A. Este facto é importante, porque se algum algoritmo
resolver o problema geral de satisfação de restrições em tempo polinomial, todos os problemas NP são
34
problemas NP são de facto problemas P, ou seja, poderão ser resolvidos deterministicamente em
tempo polinomial.
A distinção entre P e NP merece ser clarificada; um problema ser NP quer dizer que, dada uma potencial solução, esta pode ser confirmada ou rejeitada em tempo polinomial. Isto nada diz acerca de como
encontrar a solução correcta. Como mostra o exemplo das moedas, o número de soluções potenciais
cresce exponencialmente com o número de variáveis, e mesmo que consigamos determinar em tempo
polinomial se as restrições são violadas, se enumerarmos todas as hipóteses podemos demorar um
tempo exponencial até encontrar a solução correcta. Se seleccionarmos as soluções de uma forma não
determinista, é possível acertar rapidamente na solução correcta, e assim resolver o problema em
tempo polinomial. Mas, se bem que possível, tal é em geral demasiado improvável.
O ideal seria conseguir um algoritmo determinista que garantisse que a solução correcta era encontrada em tempo polinomial. Tais algoritmos existem para alguns problemas NP. Por exemplo, virar todas
as moedas com o número para baixo é um algoritmo determinista que resolve o problema da Figura
da Figura 2.2 em tempo polinomial. No entanto este problema não é
NP completo, e por isso este algoritmo não terá sucesso idêntico no
caso geral. Desconhece-se ainda se é possível resolver todos os
A
B
problemas da classe NP de uma forma determinista em tempo
polinomial. No entanto, como vimos para o exemplo da Figura 2.2,
em muitos casos podemos resolver o problema em tempo útil de
uma forma determinista, se durante a pesquisa for mantida a
A≠B
A
consistência entre os valores das variáveis. Neste exemplo simples a
B ≠A
B
posição de cada moeda está restrita de uma forma independente da
Figura 2.3
posição da outra. Neste caso para garantir a consistência do sistema
Consistência de nó (grafo superior), no caso em que as moedas
não podem ter o número visível,
e de arco (grafo inferior), para o
caso que as faces visíveis têm
que ser diferentes.
basta considerar cada moeda individualmente. A isto chama-se
consistência de nó, em que cada variável é considerada
isoladamente quando eliminamos valores possíveis do seu domínio.
O nome deriva da representação do sistema de variáveis e restrições
como um grafo, em que os nós são as variáveis e os arcos são as
restrições. Temos também assim a noção de consistência de arco,
em que duas variáveis unidas por uma restrição são consideradas em
conjunto. Se, neste caso das moedas, a restrição fosse que não
poderiam ter a mesma face voltada para cima, só poderíamos cortar
Figura 2.4
ramos da árvore de pesquisa referentes à enumeração da segunda
Grafo representando o problema
das 3 moedas em posições diferentes. Cada arco representa uma
restrição, e cada elipse representa
uma moeda, com os dois valores
possíveis à partida.
moeda, e dependendo do valor da primeira. A Figura 2.3 ilustra os
dois tipos de restrições e consistência.
É importante não confundir, quando as restrições unem variáveis
35
duas a duas, a noção de consistência de arco (em que duas variáveis são consideradas) com consistência global. Vamos supor que temos três moedas, e queremos colocá-las de forma a que não haja duas
moedas com a mesma face voltada para cima. Tal problema é obviamente impossível. No entanto a
consistência de arco não permite chegar imediatamente a este resultado; só após enumerar a primeira
moeda, é que a consistência de arco permite remover essa orientação dos domínios das outras duas
moedas, e concluir a inconsistência (pois as duas restantes moedas teriam que ter a mesma orientação).
Nesse caso faltaria ainda escolher o outro valor possível para a primeira moeda, o que daria eventualmente o mesmo resultado. Só então é que o se poderia concluir que o problema não tem solução. A
Figura 2.4 representa o grafo deste problema.
Esta conclusão seria imediata se considerássemos as três moedas em simultâneo. Desta forma seria
logo evidente que três moedas com dois estados cada uma não podem estar todas em estados diferentes. Como este exemplo demonstra, mesmo um sistema em que as restrições se referem apenas a pares
de variáveis pode ser necessário considerar mais que duas variáveis em simultâneo para garantir uma
consistência completa. Isto é importante para o método que aqui proponho, no qual como veremos
adiante as restrições são modeladas como distâncias entre pares de átomos.
Se três variáveis são consideradas em simultâneo trata-se de consistência de caminho. Esta progressão
no número de variáveis consideradas simultaneamente quando se impõe consistência pode se estender
para qualquer valor. Por exemplo, se quisermos colocar sete dados de seis faces todos com uma face
diferente para cima, a consistência de caminho não garante consistência global, exigindo uma longa
pesquisa pela arvore. Para concluir que o problema é impossível seria necessário considerar as sete
variáveis em simultâneo. Podemos assim falar de consistência-k, em que k é o número de variáveis
consideradas quando a consistência é imposta. A consistência de nó será assim k=1, consistência de
arco k=2, e a consistência de caminho para k=3.
A manutenção de consistência k é tão mais exigente em termos computacionais quanto maior for k. A
complexidade temporal da consistência de nó é linear com a cardinalidade dos domínios (a) e o número de variáveis (n), ou seja O(an). No caso da consistência de arco, a complexidade temporal máxima é
de O(a3e) para o algoritmo AC-3 (26), em que e representa o número de restrições binárias no sistema.
Outros algoritmos para manter a consistência de arco têm desempenhos melhores; O(a2e) para o AC-4
(29) e AC-5 (20). O algoritmo AC-6 (9), se bem que com uma complexidade temporal idêntica no pior
dos casos, têm em média um desempenho melhor. Quanto à consistência de caminho, os algoritmos
PC-1 e PC-2 (26) tem complexidades no pior dos casos de respectivamente O(n5a5) e O(n3a5) em que n
representa o número de variáveis. O algoritmo PC-3 tem uma complexidade temporal O(n3a3) (29),
mas a sua complexidade espacial é também O(n3a3), o que para casos com um número significativo de
variáveis e valores pode ser proibitivo.
Geralmente não é garantida uma consistência completa, mas sim apenas consistência parcial, o que
torna necessária uma enumeração de muitas alternativas e o retrocesso na pesquisa sempre que são
36
descobertas enumerações inconsistentes. A manutenção de consistência permite reduzir a complexidade da pesquisa, que como vimos seria de O(an), para O(a’n nk), em que a’ é a cardinalidade dos domínios após redução por imposição de consistência. Como a’ é menor que a, consegue-se uma redução
no tempo de pesquisa, mas a um preço nk, em que n é o número de variáveis e k o nível de consistência. Por isso a consistência de arco é a mais usada na prática; os custos de manter uma consistência de
ordem maior, em geral, não são compensados pela redução na pesquisa.
Neste trabalho foi usada uma versão modificada do algoritmo AC-3 (26), mostrado na Figura 2.5 em
pseudo código. Este algoritmo é menos eficiente que as alternativas mais recentes. No entanto, trata-se
de um algoritmo geral, aplicável a qualquer domínio, ao passo que os algoritmos posteriores de
consistência de arco ganham eficiência especializando-se em problemas de domínios finitos. Recentemente foi criado um paradigma que sistematiza vários algoritmos de propagação de restrições (1). O
AC-3 foi o mais evoluído dos algoritmos de consistência de arco que foi possível incluir neste paradigma, precisamente pelo seu carácter geral. Como se discute adiante, foi escolhida uma modelação
por domínios contínuos, pelo que não foi possível tomar partido das técnicas dos algoritmos mais recentes.
procedimento REVER(Vi,Vj)
REMOVE <- falso;
para cada X em Di
se não existe Y in Dj tal que (X,Y) é consistente,
então
remover X de Di;
REMOVE <- verdadeiro;
fimse;
fimpara;
devolve REMOVE;
fim REVER
procedimento AC-3
Q <- {(Vi,Vj) em arcos(G),i≠j};
enquanto não Q vazio
selecciona e remove qualquer arco (Vk,Vm) de Q;
se REVER(Vk,Vm) então
Q <- Q união {(Vi,Vk) tal que (Vi,Vk) em arcos(G),i≠k,i≠m}
fimse
fimenquanto
fim AC-3
Figura 2.5
Representação em pseudo código do algoritmo AC-3
Este algoritmo é composto por um procedimento REVER, que elimina os valores do domínio de uma
variável Vi que não têm suporte na variável Vj. Este procedimento é chamado para todos os pares de
variáveis relacionadas por uma restrição (i.e. unidas por um arco pertencente ao grafo G). Quando o
procedimento REVER é chamado, o arco correspondente ao par seleccionado é removido da lista de
arcos a processar. Se o domínio de uma variável é alterado pelo procedimento REVER, todos os arcos
pertencentes a G e que tocam essa variável são adicionados à lista de arcos a processar. O procedimento termina quando esta lista estiver vazia.
37
Recapitulando, podemos reduzir a enumeração de soluções forçando durante a pesquisa alguma consistência com as restrições impostas. No entanto não é prático manter uma consistência completa, e
por isso muitas das escolhas feitas durante a enumeração podem resultar em inconsistência, exigindo
que se retroceda e altere uma escolha feita anteriormente. Assim torna-se também importante ter uma
boa heurística de enumeração, ou seja, um conjunto de regras de preferência que aumente a probabilidade de escolher o caminho certo quando existem várias hipóteses.
Para ilustrar isto, consideremos o problema de colocar três berlindes em três orifícios, como ilustrado
na Figura 2.6. As restrições impostas são que apenas um berlinde tem pode ocupar cada orifício, e que
o berlinde tem que caber no orifício. Consideremos que apenas é mantida consistência de arco da para
a primeira restrição (i.e. entre pares de berlindes, que têm que ocupar posições diferentes), e não se
mantém a consistência de nó para a segunda restrição (i.e. o berlinde tem que caber no orifício).
Figura 2.6
Enumeração para o problema de colocar 3 berlindes em três orifícios. O berlinde amarelo é colocado no primeiro
orifício. Por consistência de arco, este orifício não está disponível para o berlinde rosa, que é colocado no segundo orifício. Por fim o berlinde verde só pode ser colocado num orifício no qual não cabe.
Como se pode ver na Figura 2.6, o primeiro berlinde é colocado no primeiro orifício. Impondo consistência de arco à primeira restrição (posições diferentes), o segundo berlinde só poderá ser colocado em
um dos dois orifícios restantes, sendo colocado no segundo. Finalmente, o terceiro berlinde pode apenas ser colocado no terceiro orifício, mas ao completar a enumeração desta hipótese é verificada a violação da segunda restrição (o berlinde tem que caber no orifício), cuja consistência não foi mantida.
Assim torna-se necessário retroceder para explorar hipóteses alternativas. Mas retroceder um passo,
até à colocação do segundo berlinde, não é suficiente. De facto o erro foi feito logo na primeira opção,
quando o berlinde mais pequeno foi colocado no orifício maior.
38
Em situações reais pode ser muito grande o número de retrocessos e tentativas falhadas até que o erro
seja resolvido, pois este pode ter sido feito muito antes da inconsistência ser detectada. Por isso é muito importante ter uma heurística de escolha que minimize a probabilidade de erro e que cometa os
erros tanto quanto possível próximo da detecção das inconsistências. Para este exemplo, a heurística
de colocar cada berlinde no menor orifício em que este caiba resolveria este problema. É de salientar
que este exemplo simples não é realista, pois não haveria razão para não impor a consistência da
segunda restrição. A ideia importante é que, se não é garantida a consistência completa, é vantajoso
ordenar as enumerações de forma a encontrar o menor número de falhas.
Existem dois tipos de escolha durante a enumeração; qual a variável a enumerar, e qual o valor a atribuir-lhe. A ordenação das variáveis e dos valores pode ser estática, se for determinada no início da
execução, ou dinâmica, se depender do estado da pesquisa durante a execução (7). A heurística de falha primeiro é a mais comum para ordenação das variáveis. Baseia-se no principio que se detectará
uma falha mais cedo enumerando as variáveis com menores domínios. Parece contraditório procurar
uma falha, mas se uma solução parcial é incorrecta, é preferível detectá-lo antecipadamente, evitando
uma busca infrutífera nesse ramo da árvore. Outras heurísticas também têm o mesmo objectivo, como
escolher a variável que participa no maior número de restrições, ou que tem mais restrições com variáveis já enumeradas. Em todas estas heurísticas a ideia base é de tentar resolver primeiro os casos mais
difíceis, o que resulta numa redução média da profundidade dos ramos da árvore de pesquisa.
Quanto à ordenação dos valores, o efeito é ordenar os ramos explorados. Evidentemente nos casos em
que não existem soluções ou nos casos em que se quer enumerar todas as soluções a ordenação de valores é irrelevante. Mas de outra forma, uma ordenação ideal de valores pode produzir uma solução
sem necessidade de retrocesso. Neste caso a ideia base é a do sucede primeiro, ou seja, queremos
escolher o valor com maior probabilidade de ser o correcto. Isto pode ser conseguido, como no caso
do algoritmo AC-4, contando o suporte que cada valor tem e escolhendo o valor mais suportado. Em
alternativa, pode-se escolher o valor que simplificará ao máximo o problema a resolver.
No trabalho aqui apresentado, como veremos adiante (3.3 Heurística de Enumeração, página 55), foi
usada uma ordenação de variáveis por falha primeiro e uma ordenação de valores por sucede primeiro.
Todos os exemplos apresentados até agora referem-se a problemas em que as variáveis podem tomar
valores dentro de um domínio finito. Nestes casos manter a consistência consiste em retirar do domínio de uma variável aqueles valores que levariam necessariamente a uma violação das restrições. No
exemplo da Figura 2.6, ao colocar o primeiro berlinde, os domínios do segundo e do terceiro deixam
de conter o orifício ocupado. No entanto o problema que pretendo resolver não é necessariamente um
problema de domínios finitos. O objectivo é determinar a posição de cada átomo, e esta pode tomar
qualquer valor real, tendo assim um número infinito de valores possíveis.
39
Este problema poderia ter sido resolvido de duas formas. Uma opção seria considerar que cada átomo
ocuparia uma posição numa grelha tridimensional, resolvendo assim o problema com técnicas de domínios finitos. No entanto, mesmo usando uma grelha relativamente grosseira de por exemplo 0.5Å
para converter as posições em domínios finitos, teria cerca de 100 valores possíveis para cada coordenada. É fácil ver que com um número tão elevado de restrições e variáveis (na ordem dos milhares), o
problema seria na prática impossível de resolver. Mesmo com algoritmos de consistência como o AC6 ou o PC-3 a complexidade é respectivamente quadrática e cúbica com a cardinalidade dos domínios.
Optei por isso pela forma alternativa; considerar os domínios como contínuos, e neste caso não é viável remover do domínio das variáveis valores pontuais pois o domínio não é enumerável. O ponto de
partida para a representação dos domínios é a consistência de limite (bound consistency, 19).
Para exemplificar esta representação, consideremos o problema (Figura 2.7) de encontrar os valores
para duas variáveis reais X e Y de forma a que se respeite as duas restrições; X é metade de Y e Y é
igual a X. Supondo que se sabe à partida que a solução em ambos os casos se encontra no intervalo [10; 10], podemos restringir X ao intervalo [-5; 5], pois os valores de X não podem ultrapassar metade
dos de Y. Podemos então restringir Y ao mesmo intervalo, pois Y tem que ser igual a X. Segundo este
conceito, para efeitos de consistência são apenas testados os limites do intervalo de valores que forma
o domínio de uma variável. No entanto, para o problema específico que aqui pretendo resolver, é possível estender esta representação de forma a poder remover valores dentro do domínio. Essa represenrepresentação, baseada na consistência de limite mas
-10
X
0
-10
mais poderosa, será descrita na próxima secção.
Y
Este exemplo, além de ilustrar o conceito de consistên-
X = Y/2
Y=X
cia de limite, mostra também uma dificuldade em satisfazer restrições em domínios contínuos. O processo de
X = Y/2
Y=X
redução de domínios será repetido num ciclo infinito,
pois se bem estes reduzidos para metade a cada passo,
Figura 2.7
Redução progressiva dos domínios de X e
Y por imposição de consistência de limite.
nunca se chegará ao valor exacto que é solução do problema (ambas as variáveis iguais a zero). Em geral é
impossível obter em tempo finito valores exactos para
exactos para problemas em domínios reais. É por isso necessário fixar inicialmente um limite para a
precisão da solução obtida, para que o algoritmo pare em tempo finito quando este limite for atingido.
Outro problema desta opção é não poder recorrer aos algoritmos mais avançados de consistência PC-3
e AC-4, 5 e 6, pois estes baseiam-se na tabulação e contagem de valores suportados pelas restrições, e
no caso de domínios contínuos esta técnica não é aplicável. Foi necessário optar entre uma consistência de arco como o AC-3 e consistência de caminho como o algoritmo PC-2. O algoritmo AC-3 tem
uma complexidade temporal O(a3e), que é linear com o número de restrições, o que é vantajoso devido
40
vantajoso devido ao elevado número de restrições nos problemas que pretendo resolver. A
complexidade cúbica com a cardinalidade dos domínios não à partida um problema grave, pois a
cardinalidade efectiva, na prática, dependerá da precisão desejada, e por isso poderá ser controlada.
Uma consistência mais completa, como a consistência de caminho do algoritmo PC-2, não foi tentada
pois a sua complexidade de O(n3a5), sendo cúbica com o número de variáveis, é uma grande
desvantagem para estes problemas.
A concepção do método foi determinada por todas estas considerações. Em suma, sendo inviável
manter consistência completa, torna-se necessária uma pesquisa pelas possibilidades que a consistência parcial não elimina à partida. Esta pesquisa terá que ser guiada por uma heurística apropriada que
reduza o impacto das escolhas erradas na enumeração. Considerando os domínios como contínuos, o
processo de satisfação das restrições terá que ser interrompido quando todas as variáveis estiverem
restritas a intervalos aceitáveis, visto que não se podem obter valores exactos em tempo finito. Por último, o elevado número de variáveis e restrições nestes problemas limita o critério de consistência
usado a uma consistência de arco. A consistência de nó neste caso não tem qualquer utilidade devido à
natureza do problema, e critérios de consistência mais completos, se bem que possivelmente
vantajosos em subconjuntos de variáveis, dificilmente poderão ser aplicados em geral.
2.3 Adaptação do Modelo
Esta secção descreve os vários problemas de modelação e as soluções implementadas. Nomeadamente,
a escolha das variáveis, a modelação das restrições e domínios, e os métodos de propagação das restrições.
2.3.1 As variáveis usadas
Para resolver a estrutura é necessário determinar as coordenadas de cada átomo. Apesar da posição de
cada átomo estar definida por três variáveis (x, y e z), a modelação destas como variáveis separadas é
problemática, pois a restrição Fora é uma disjunção de três restrições sobre estas três variáveis
(Equação 2.2). Garantindo apenas consistência de arco não é possível propagar estas restrições, pois
em geral é possível encontrar suporte para todos os valores do domínio de cada variável. A Figura 2.8
ilustra melhor este problema num espaço bidimensional, em que um átomo cujo domínio abrange a
região a azul tem que ser excluído da proximidade do átomo na posição (x1, y1). Nenhum valor pode
ser removido dos domínios das variáveis x2 e y2.
41
y2
x1 , y1
a
b
c
x2
Figura 2.8
O átomo 1 no ponto (x1, y1) excluí, por uma restrição Fora, o átomo 2 da região marcada a rosa. Os domínios
das variáveis x2 e y2 abrangem a zona marcada a azul. Podemos ver que para qualquer valor (a, b ou c) de x2
existem valores possíveis para y2, sendo impossível reduzir o domínio de x2 impondo consistência de arco.
Como o recíproco também se verifica, também não é possível reduzir o domínio de y2. No entanto é evidente que
a zona marcada a branco devia ser removida do domínio do átomo 2.
Para resolver este problema as variáveis consideradas não são cada uma das três coordenadas de um
átomo, mas o ponto P(x, y, z) que representa a posição no espaço do centro geométrico do átomo.
2.3.2 Restrições e Domínios das Variáveis
Um outro problema é a propagação de restrições que definem volumes esféricos. O domínio de um
átomo sujeito a duas ou mais restrições Dentro será a intersecção das esferas definidas por estas restrições. No entanto, o cálculo e a representação destas intersecções, usando as restrições tal como definidas anteriormente (Equação 2.1 e Equação 2.2), é computacionalmente muito exigente. Por isso a
noção de distância foi simplificada, substituindo a distância Euclidiana, e definindo as restrições
como:
Dentro
max(| x1 − x2 | + | y1 − y2 | + | z1 − z2 |) ≤ k
Equação 2.3
Fora
| x1 − x2 |≥ αk ∨ | y1 − y2 |≥ αk ∨ | z1 − z2 |≥ αk
α= 1
3
Equação 2.4
A restrição Dentro será assim o cubo que contém a esfera de raio k e centro (x1, y1, z1), a restrição
Fora será o cubo contido nesta esfera. É necessário o parâmetro α para garantir que a restrição Fora
simplificada não excluí valores possíveis.
42
A Figura 2.9 ilustra esta simplificação para o caso a duas dimensões (note-se que a duas dimensões o
parâmetro α é igual a 1/√2).
Restrição
Dentro
Restrição
Fora
Distância
Euclidiana
Figura 2.9
Esta figura mostra, em duas dimensões, a diferença entre a definição Euclidiana de distância e a definição mais
simples usada. Note-se que a restrição Dentro contém o círculo definido pela distância Euclidiana e a restrição
Fora tem está contida neste.
Devido a esta simplificação, os domínios não são intersecções de esferas mas sim de paralelepípedos.
Como uma intersecção de paralelepípedos é também um paralelepípedo, evita-se o aumento na complexidade da representação e do cálculo dos domínios.
Como vimos atrás a noção de consistência de limite não permite remover valores no interior do domínio. Por isso é necessário estender a representação do domínio.
43
Região
Excluída
Região
Permitida
Figura 2.10
O domínio da posição de um átomo é representado por um conjunto de paralelepípedos definindo duas regiões.
A região Permitida, representada por um paralelepípedo, e a região Excluída, representada por zero ou mais paralelepípedos.
Assim, o domínio de uma variável de posição de um átomo será representado por um conjunto de um
ou mais paralelepípedos. Um paralelepípedo define a região onde o centro geométrico do átomo se
pode encontrar de forma a verificar todas as restrições Dentro que lhe foram impostas, e será
designado
z
região
Permitida.
Os
restantes
paralelepípedos definem a região onde o centro
Vértice
Maior
geométrico do átomo não pode estar por ter sido
y
excluído devido a restrições Fora. Esta região será
designada região Excluída, e é composta por zero ou
mais paralelepípedos, sem sobreposições e contidos na
0
região Permitida. Desta forma é possível remover
regiões internas ao domínio, o que não seria possível
x
Vértice
Menor
Figura 2.11
Representação de um paralelepípedo pelos
vértices Maior e Menor. Também estão
representados os três semi-eixos positivos
das coordenadas x, y e z.
apenas por consistência de limite.
Cada paralelepípedo é definido por dois pontos, correspondendo a dois vértices opostos do paralelepípedo. O
vértice Menor é o vértice com o menor valor nas três
coordenadas. O vértice Maior é o vértice oposto, com o
maior valor em cada uma das coordenadas. Esta repre-
coordenadas. Esta representação simplifica significativamente as operações de intersecção de
paralelepípedos, como se descreve adiante. A Figura 2.11 ilustra esta representação.
2.3.3 Propagação das Restrições
44
Cada tipo de restrição (Fora e Dentro) é propagado de forma diferente. As restrições do tipo Dentro
são propagadas por operações de intersecção entre paralelepípedos. A região Permitida de um átomo
A será a intersecção da sua região Permitida com a vizinhança da região Permitida do átomo B. A
vizinhança de B é o paralelepípedo que define a região Permitida de B, aumentado em todas as direcções de uma distância igual á distância que define a restrição (k na Equação 2.3). A vizinhança de B
define assim a região onde o átomo A pode estar sem violar a restrição Dentro que o relaciona com B,
como ilustra a Figura 2.12.
Após esta intersecção, todos os paralelepípedos que definem a região Excluída do átomo A são
intersectados com a nova região Permitida deste. Esta operação simplifica a região Excluída,
removendo quaisquer paralelepípedos desnecessários.
A intersecção de paralelepípedos é simples de calcular. O paralelepípedo resultante da intersecção terá
no vértice Menor (ver Figura 2.11) o valor máximo de cada coordenada dos vértices Menores dos
paralelepípedos a intersectar. O vértice Maior terá como coordenadas os valores mínimos das
coordenadas dos vértices Maiores. Se paralelepípedo resultante tiver no vértice Menor uma
coordenada com valor superior á correspondente no
vértice Menor, então a intersecção é vazia. Esta
Máximo dos
vértices Menores
operação está ilustrada na Figura 2.13 para o caso
semelhante a duas dimensões.
Mínimo dos
vértices Maiores
Uma restrição do tipo Fora é propagada acrescentando
ao conjunto de paralelepípedos que define a região ExIntersecção
cluída de um átomo A a zona de exclusão do átomo B.
A zona de exclusão de B é um paralelepípedo calculado
calculado a partir da
zona Permitida de B,
Região
Permitida
subtraindo
k
ao
Figura 2.13
Intersecção de dois rectângulos. O caso
tridimensional com paralelepípedos é
idêntico.
cada
coordenada do vértice Maior e somando a cada coordenada do
vértice Menor o valor de distância correspondente à restrição (αk na
Vizinhança
Figura 2.12
Cálculo da vizinhança de um
domínio
à
distância
k
(representação bidimensional).
Equação 2.4), gerando respectivamente os vértices Menor e Maior
da zona de exclusão. Mais uma vez, se o vértice Menor desta tiver
uma ou mais coordenadas com um valor superior à coordenada
respectiva no vértice Maior, a zona de exclusão é nula. A Figura
2.14 ilustra esta operação.
45
Uma vez adicionada a zona de exclusão de B à região
Zona de
Exclusão
Excluída de A, esta última é processada para garantir que
os paralelepípedos que a definem não se intersectam.
Região
Permitida
Esta é a operação mais complexa na propagação das restrições, mas facilita a determinação da falha na pesquisa
αk
da solução quando o volume da região Excluída iguala
ou ultrapassa o volume da região Permitida, e simplifica
a representação da zona Excluída reduzindo o número de
αk
paralelepípedos necessários para a representar. Isto é
conseguido com um processo iterativo em que primeiro
Figura 2.14
um bloco da zona excluída é expandido em todas as di-
Cálculo da zona de exclusão
de um domínio à distância αk
(representação bidimensional).
recções até ter a dimensão máxima possível enquanto
completamente contido na zona Excluída. Em seguida
este novo paralelepípedo é subtraído à zona Excluída. O
subtraído à zona Excluída. O processo é repetido até a zona Excluída estar vazia. A zona Excluída
simplificada é o conjunto destes paralelepípedos expandidos. A Figura 2.15 resume a propagação das
restrições Dentro e Fora.
Restrição Dentro
Domínio Original
de A
Novo
Domínio
de A
Restrição Fora
Região Permitida
de A
Região
Excluída
de A
Vizinhança de B
Adição à
Região
Excluída
de A
Zona de
Exclusão
de B
Figura 2.15
Propagação dos dois tipos de restrição. Para a restrição Dentro o domínio do átomo A é reduzido intersectando a
região Permitida deste com a vizinhança de B. No caso da restrição Fora a zona de exclusão de B intersectada
com a região Permitida de A é adicionada à região Excluída de A. Note-se são desprezadas as regiões onde a
região de exclusão de B intersecta com os paralelepípedos da região Excluída de A.
A propagação das restrições é feita de forma a garantir a consistência de arco. Isto é conseguido propagando as restrições de cada variável sempre que o domínio dessa variável é alterado. A Figura 2.16
mostra em pseudo código o algoritmo usado. Este é uma adaptação do AC-3, em que foi alterado o
procedimento REVER e a inicialização da lista de arcos Q.
46
procedimento REVER(Vi,Vj)
REMOVE <- falso;
propagar restrição(j,i);
se mudou Di então REMOVE <- verdadeiro;
devolve REMOVE;
fim REVER
procedimento AC-3
Q <- {(Vi,Vj) em arcos(G),i≠j, Dj alterado};
enquanto não Q vazio
selecciona e remove qualquer arco (Vk,Vm) de Q;
se REVER(Vk,Vm) então
Q <- Q união {(Vi,Vk) tal que (Vi,Vk) em arcos(G),i≠k,i≠m}
fimse
fimenquanto
fim AC-3
Figura 2.16
Representação em pseudo código do algoritmo utilizado para manter consistência. Este algoritmo é baseado no
AC-3 (26), mostrado na Figura 2.5.
No procedimento REVER já não são testados e removidos individualmente os valores do domínio que
não são suportados. Em substituição, é propagada a restrição de Vj em Vi da forma descrita acima,
conforme a restrição é Dentro ou Fora. Se o domínio Di sofre alteração devido a esta propagação, todos os arcos de restrições que partem de Vi são adicionados à lista Q.
A inicialização da lista Q incluí apenas os arcos de variáveis cujo domínio foi alterado, quer por enumeração quer na fase de inicialização do cálculo, como se descreve na secção seguinte.
A consistência de arco é mantida para todas as restrições colocadas explicitamente no grafo. Existe,
num entanto, um restrição que não é tratada explicitamente; a impossibilidade de colocar dois átomos
na mesma posição. O modelo que proponho usa exclusivamente restrições binárias, e a forma de processar esta restrição no modelo é convertê-la numa rede de restrições Fora unindo todos os pares de
átomos. O problema é que isto gera um número demasiado grande de restrições (da ordem do quadrado das variáveis) pelo que não é viável tratá-las explicitamente. Por isso estas restrições são propagadas apenas na enumeração de cada variável, não sendo mantida a consistência de arco para este caso.
2.4 Enumeração
Visto não ser mantida uma consistência completa, é necessário explorar as possibilidades de colocação
dos átomos. Esta exploração pode ser vista como uma pesquisa por uma árvore, em que cada nó corresponde à enumeração de uma variável (ver 2.2 Técnicas de Consistência). Como o domínio das
posições dos átomos não é discreto, não será dado um valor exacto à variável enumerada como no
exemplo da Figura 2.2. Se assim fosse, cada nó teria um número infinito de nós descendentes, o que
tornaria a pesquisa impossível. A enumeração consiste por isso em reduzir o domínio das variáveis até
se atingir a precisão desejada.
47
Em geral, quanto maior for a redução do domínio da variável em cada passo da enumeração, maior o
número de nós descendentes. Por outro lado, quanto menor for a redução do domínio, maior a profundidade da árvore de pesquisa para um dado valor de precisão final (ver Figura 2.17). Se não recorresse
à propagação das restrições, seria preferível reduzir a profundidade da árvore, o que reduziria o número de nós visitados. Mas como em cada nó são propagadas as consequências da respectiva redução do
domínio, quanto maior a profundidade da árvore maior é a capacidade de corte desta propagação.
Assim, optei por dividir o domínio de cada variável em duas partes iguais em cada passo de enumeração.
Figura 2.17
Para atingir a mesma precisão final, dividir o domínio em quatro partes (árvore da esquerda) gera mais descendentes por nó do que dividindo em duas partes (árvore da direita), mas produz uma árvore menos profunda.
O ciclo de enumeração consiste em:
1. Selecção de um átomo de acordo com a heurística de falha primeiro
2. Redução do domínio a metade. A metade é seleccionada de acordo com o princípio de
sucede primeiro.
3. Propagação das consequências da redução de domínio
Da selecção e redução de domínio excluem-se todos os átomos cuja posição esteja definida com a precisão desejada. Também se exclui provisoriamente qualquer átomo que tenha sido seleccionado para
enumeração num ciclo anterior, até que todos os átomos sejam seleccionados. Desta forma a selecção
para enumeração é feita em regime de rotatividade.
Assim o primeiro passo na enumeração consiste em seleccionar o átomo cujo domínio tenha o menor
volume, pois este corresponde á variável mais problemática. Isto corresponde á heurística de falha
primeiro, em que se tenta ordenar as variáveis de forma a detectar a falha o mais cedo possível.
O domínio é então dividido ao meio por um plano de corte perpendicular ao maior comprimento do
paralelepípedo que define a região Permitida. O novo domínio será uma a metade com menor sobreposição com domínios de outros átomos. Este é o princípio de sucede primeiro, pois este novo domínio terá menor probabilidade de causar violações de restrições.
Após esta redução do domínio de um átomo, as restrições são propagadas como descrito na secção
anterior até atingir um novo ponto fixo.
48
A razão para seguir um regime de rotatividade na enumeração é discutida adiante (3.3 Heurística de
Enumeração, página 55), mas a ideia fundamental é que ao seleccionar o átomo com menor domínio e
em seguida reduzir o domínio para metade, é quase certo que esse seja o átomo seleccionado em seguida. Isto equivale na prática a atribuir ao átomo imediatamente um domínio com a dimensão final
desejada, que foi uma opção rejeitada por reduzir os efeitos da propagação de restrições. Assim todos
os domínios são reduzidos uma vez antes que qualquer domínio seja seleccionado pela segunda vez.
A enumeração é aplicada apenas aos átomos cujo domínio não esteja suficientemente reduzido. Qualquer átomo cujo domínio se possa incluir num paralelepípedo de dimensões predefinidas (tipicamente
de 2.5Å, ver 3.6 Dimensão Final dos Domínios, página 64) considera-se completamente enumerado e
é por isso excluído deste processo.
A escolha do novo domínio também é discutida em mais detalhe adiante (3.3 Heurística de
Enumeração, página 55). A heurística implementada consiste em somar os volumes da intersecção da
região Permitida do átomo a enumerar com as regiões Permitidas dos outros átomos. É escolhida a
metade candidata cujo volume total seja inferior, reduzindo desta forma a probabilidade de dois
átomos serem colocados no mesmo volume.
Como descrito na secção anterior, uma vez seleccionado o novo domínio é propagada uma restrição
Fora a todos os átomos com os quais não exista já uma restrição Fora explícita. Trata-se aqui de uma
situação de compromisso; é importante propagar para todos os átomos a informação que um átomo já
está a ocupar um determinado volume. No entanto é demasiado dispendioso garantir consistência de
arco neste caso, e por isso estas restrições só são propagadas no passo de enumeração de cada átomo.
Finalmente, o átomo enumerado é marcado como alterado, e a lista de arcos Q no algoritmo de
consistência (Figura 2.16) é inicializada com todas as restrições em que este esteja envolvido.
2.5 Retrocesso
Como a consistência de arco não garante a consistência completa do sistema, a enumeração é falível.
Uma falha é descoberta sempre que o domínio de um átomo fica vazio, indicando que é impossível
colocar esse átomo respeitando as restrições e os domínios dos outros átomos. Assumindo que o sistema tem uma solução, isto indica que foi feita uma escolha errada durante a enumeração. É necessário
retroceder (Backtracking) na enumeração para corrigir esta decisão.
O retrocesso é feito repondo todos os valores dos domínios na altura da última enumeração. A última
enumeração é então repetida escolhendo a metade alternativa do domínio, que foi rejeitada da primeira
vez (como exposto em 2.4 Enumeração, a enumeração consiste em dividir o domínio em duas partes e
escolher uma para o novo domínio). Se um novo retrocesso é necessário e ambas as metades do domínio nesta enumeração foram testadas, então o retrocesso prossegue até uma enumeração anterior em
que ainda haja uma região alternativa para testar.
49
Se este retrocesso prossegue para além da primeira enumeração feita, o sistema é considerado impossível, pois nenhuma escolha permite a colocação de todos os átomos.
Se a qualquer momento não houver átomos para enumerar (por terem todos domínios de dimensões
inferiores ao mínimo predeterminado) o processo de enumeração é considerado completo e bem sucedido.
2.6 Minimização
Mesmo após terminada a enumeração, a posição de cada átomo ainda não está complemente determinada, sendo definida pelo domínio da respectiva variável de posição. Para obter uma estrutura definida, cada átomo é colocado no ponto central do seu domínio, e em seguida as posições de todos os
átomos são alteradas para minimizar a diferença entre a distância entre todos os pares de átomos unidos por restrições e a distância esperada para esses átomos. Esta distância esperada é o valor médio do
intervalo de distância definido por cada par de restrições Fora e Dentro.
Para isto foi usado o algoritmo de minimização multidimensional de Powell (como descrito em 30).
Este algoritmo consiste em minimizar cada variável (cada coordenada de cada átomo) independentemente das outras, percorrendo todas as variáveis. Este ciclo é repetido até que a diferença entre duas
estruturas consecutivas seja suficientemente pequena. A Figura 2.18 mostra em pseudo código o algoritmo de minimização.
procedimento MINIMIZA
repete
SOMA <- 0
para todos atomos Ai
para todas coordenadas Cj
C <- MINIMO(Cj, j)
SOMA <- SOMA + (C-Cj)^2
Cj <- C
fimpara
fimpara
ate SOMA < PRECISAO
fim MINIMIZA
Figura 2.18
Representação em pseudo código do algoritmo de minimização
A função MINIMO devolve o valor da coordenada Cj, ao longo da direcção j do vector de coordenadas, que minimiza as diferenças entre as distâncias ideais e as medidas para todas as restrições. Esta
função MINIMO é uma minimização linear pelo método da bissecção pela razão de ouro (30, Golden
Section Search in One Dimension, página 397).
50
2.7 Verificação da Quiralidade
A distância entre dois pontos numa estrutura é igual à distância entre as imagens desses pontos num
espelho. Assim, existem no mínimo duas soluções para um sistema possível de restrições de distância,
em que uma solução é a imagem espelhada da outra. Como já foi mencionado (ver 1.7 Quiralidade,
Página 25) apenas uma destas é desejável no caso de estruturas de proteínas.
Nesta fase de desenvolvimento e avaliação do método, a selecção entre as duas soluções foi sempre
feita por comparação com a estrutura alvo. A partir da solução produzida, a solução alternativa foi
criada invertendo o sinal de uma das coordenadas para cada átomo, e a solução mais semelhante à
solução alvo foi guardada. Este processo tem o mérito de ser extremamente simples de implementar, e
não distorce os resultados porque se uma estrutura for muito semelhante à estrutura alvo (o que aconteceu na maioria dos casos) a outra é forçosamente muito diferente, não havendo por isso o perigo de
estar artificialmente a melhorar os relutados obtidos com uma escolha tendenciosa.
Para uma futura aplicação a um caso real, este processo não poderá ser utilizado (não se conhece a
estrutura alvo). A solução neste caso será a análise da quiralidade dos centros quirais dos aminoácidos
ou de estruturas secundárias como as Hélices-α (ver 1.3 Estrutura Secundária., Página 20), que só
existem em sistemas biológicos numa das duas formas possíveis.
2.8 Discussão do Método
Nesta secção irei expor algumas das limitações e características inovadoras do método. Uma limitação
importante é o critério de consistência usado (2.2 Técnicas de Consistência), especialmente para o
caso particular da restrição que os átomos não se podem sobrepor. A modelação desta restrição como
uma rede de restrições Fora gera um número demasiado grande de restrições, pelo que nem é viável
manter a consistência de arco para este caso. No entanto é potencialmente viável garantir uma consistência mais completa. Este tipo de situação é conhecido como "todos diferentes" (all different). Uma
restrição que imponha que todas as variáveis sejam diferentes têm propriedades que podem ser exploradas de forma a melhorar a eficiência. O predicado Diffn (8) é exemplo de um algoritmo para garantir
que um conjunto de blocos tridimensionais pode ser acomodado num espaço limitado. O problema
para a implementação de um sistema semelhante neste trabalho é que estes algoritmos operam invariavelmente em domínios finitos, e tornam-se impraticáveis em domínios com cardinalidade muito elevada ou em problemas com muitas variáveis. A determinação de estruturas de proteínas é um problema precisamente com estas características e por isso, até à preparação deste documento, ainda não foi
explorada a implementação desta restrição global.
Outra limitação da presente implementação é o algoritmo de minimização. O problema principal é que
este algoritmo minimiza todas as restrições da mesma forma. No entanto as restrições associadas a
51
ligações covalentes são extremamente rígidas, e deviam ser tratadas como tal. O resultado é que este
algoritmo produz soluções com alguma distorção nas ligações químicas.
Por fim, uma potencial fraqueza do método é a heurística de ordenação de valores, descrita em 2.4
Enumeração, que dá prioridade, na divisão dos domínios, à metade que mais se afasta dos outros átomos. O maior defeito desta heurística é assumir que todos os átomos que ficarão próximos na estrutura
final têm no modelo uma restrição Dentro. Se assim for, ao maximizar a distância entre eles dentro
dos limites das restrições impostas, não se incorre em qualquer erro, pois estas restrições não permitem que os átomos se afastem demasiado. Mas em casos reais um grande número destas restrições
pode não estar incluída no modelo, o que em teoria é problemático. No entanto os testes feitos ao
método até ao momento indicam que na prática esta heurística é apropriada nos casos reais (ver 3.5
Dependência das Restrições, página 61, e 3.7 Outras Estruturas Testadas, página 70).
Este método tem duas características inovadoras. Em primeiro lugar, a sua natureza mista, que combina um algoritmo construtivo, utilizando técnicas de processamento de restrições, com um algoritmo
reparativo, a minimização final. Isto permite colmatar duas dificuldades complementares nestas técnicas; tipicamente, a maior dificuldade dos algoritmos construtivos em domínios contínuos será obter
soluções com grande precisão, enquanto que o problema nos algoritmos reparativos é essencialmente a
pesquisa pelo espaço de possibilidades. O método que proponho consiste numa redução inicial do
espaço de procura, seguida por uma minimização que aproveita esta informação como ponto de partida. Como descrevo no próximo capítulo (3.7 Comparação com DYANA, página 67), esta combinação
melhora consideravelmente o desempenho.
A outra inovação é a representação dos domínios, como descrito em 2.3 Adaptação do Modelo. Está
descrita na literatura uma representação alternativa para problemas em domínios contínuos (31). Nesta, um domínio é representado por uma árvore em que cada nó corresponde a um cubo (no caso tridimensional), e pode ter até oito descendentes, correspondendo cada um destes a um octante deste cubo.
Por isto esta forma de representar um domínio designa-se por Octree (Quadtree para o caso bidimensional). Como cada um dos descendentes corresponde por sua vez também a um cubo, esta representação permite, em teoria, uma precisão arbitrária, dependendo apenas da profundidade da árvore (as
regiões pertencentes ao domínio são aquelas representadas pelos nós folha).
A vantagem desta representação é a sua flexibilidade, pois permite representar qualquer forma no
espaço. No entanto, o seu carácter genérico não permite tomar partido de certas características do
domínio. No caso deste trabalho, devido às simplificações feitas às restrições de distância (ver 2.3
Adaptação do Modelo) o domínio pode ser representado exclusivamente por paralelepípedos. Desta
forma a representação é muito mais simples que pelo método das Octrees. Este assunto é discutido em
mais detalhe na secção 3.2 Representação dos Domínios (página 54).
52
3. Resultados
"Resultados! Homem, tenho imensos resultados. Já sei de milhares
de coisas que não funcionam."
Thomas A. Edison
A fase inicial deste trabalho foi essencialmente uma exploração de hipóteses alternativas, a grande
maioria das quais foi rejeitada antes mesmo do método estar delineado. Uma análise exaustiva desses
"rascunhos" não seria útil. Mas durante a fase intermédia em que o algoritmo implementado já conseguia resolver algumas estruturas, foi necessário optar entre várias alternativas como heurísticas de
enumeração ou valores de parâmetros. Este capítulo mostrará algumas das alternativas exploradas,
justificando as escolhas feitas com os resultados obtidos, e uma análise do desempenho do método
como descrito no capítulo anterior.
3.1 Estrutura de Teste
Para a maioria dos testes apresentados neste capítulo, a estrutura escolhida foi a cadeia de aminoácidos
de um monómero da Dessulforedoxina. Esta proteína bacteriana (Dessulfovibrio gigas) reunia três
vantagens. A estrutura é conhecida, determinada quer por cristalografia Raios-X (2) quer por
Ressonância Magnética Nuclear (16). É uma proteína pequena, o que facilitou a execução de múltiplos
testes, e é uma estrutura com a qual estou familiarizado, o que permitiu em muitas situações uma
rápida avaliação qualitativa dos resultados.
Cada monómero contem um grupo prostético (ver 1.6 Outros Elementos Estruturais, Página 24), que é
neste caso um átomo de Ferro. A presente implementação não modela ainda qualquer grupo prostético,
e por isso este átomo foi ignorado, considerando assim no modelo apenas a cadeia de aminoácidos de
um monómero.
Também foram ignorados os átomos de Hidrogénio, como descrito em 2.1 Modelação do Problema
(Página 30). A estrutura usada para teste consiste assim numa cadeia de 36 aminoácidos, com 261
átomos. A Figura 3.1 ilustra a estrutura da Dessulforedoxina e o monómero usado para teste.
As restrições usadas foram no total 4950 (2475 restrições Fora e 2475 restrições Dentro), sendo:
2404 restrições obtidas da estrutura conhecida de cada aminoácido.
1273 restrições Dentro entre todos os pares de átomos na estrutura que na proteína estão ligados a
átomos de Hidrogénio e que se encontram a uma distância inferior a 6Å. Este processo simula as restrições fornecidas por RMN num caso ideal, em que a interacção dos átomos de Hidrogénio permitia
detectar a proximidade destes. Num caso real a distância obtida entre átomos de Hidrogénio seria fa-
53
seria facilmente convertida numa distância máxima entre os átomos a que estes estão ligados, pois
cada átomo de Hidrogénio pode ligar-se apenas a um átomo. O valor de distância para cada uma destas
restrições é de 120% da distância medida na estrutura de Raios-X, previamente conhecida. Esta
margem adicional de 20% simula a incerteza na conversão da intensidade do pico cruzado em
distância.
1273 restrições Fora associadas às restrições Dentro obtidas por simulação dos dados de RMN. Devido à incerteza nos valores de distância obtidos na prática por RMN, seria em princípio arriscado impor
restrições de distância mínima com base nos dados experimentais. Por isso na presente implementação
estas restrições são consideradas como uma imposição explicita da restrição que os átomos não se
podem sobrepor, e não se considera assim que derivem directamente dos dados experimentais. A
justificação para impor explicitamente estas restrições é que os átomos com restrições Dentro terão,
em princípio, mais propensão para se sobrepor, pois estas restrições vão obrigar o algoritmo a manter
estes átomos em proximidade. No entanto, é importante salientar que os resultados com esta estrutura
de teste não suportam esta hipótese (ver 3.4 Sobreposição de Átomos). É possível que a heurística de
enumeração seja suficiente para resolver este potencial problema, pelo que a incorporação destas restrições será algo a estudar em mais detalhe no futuro. Para além disto, é teoricamente possível usar a
informação experimental para obter valores mínimos de distância e não apenas valores máximos. Se
na prática isto for viável, estas restrições virão também directamente dos dados experimentais.
Figura 3.1
À esquerda a estrutura da Dessulforedoxina. Os dois monómeros, na realidade idênticos, estão representados a
verde e azul. Cada monómero contém um átomo de Ferro, representado a vermelho. À direita a estrutura de teste, que consiste num monómero sem os átomos de Hidrogénio e sem o Ferro prostético. Esta estrutura contêm
261 átomos. A escala indicada é em Ångstrom.
54
Salvo especificação em contrário, todos os resultados apresentados foram calculados num processador
Pentium a 133MHz.
3.2 Representação dos Domínios
Como já foi mencionado (2.8 Discussão do Método, página 50), foi considerada uma forma alternativa
de representar os domínios das variáveis, utilizando as técnicas de Octrees (31) em vez da representação escolhida, por conjuntos de paralelepípedos. A diferença de desempenho entre estas alternativas
depende principalmente da complexidade das representações dos domínios das variáveis. Quanto mais
complexos estes forem, mais demoradas as operações de propagação de restrições.
Antes de apresentar as razões que me levaram a optar pela representação usada, descreverei primeiro
esta técnica de representação de domínios em árvore para o caso a duas dimensões (Quadtrees). Cada
nó da árvore representa uma quadrado no plano, e cada nó pode ter até quatro nós descendentes, correspondendo aos quatro quadrantes do quadrado. Å Figura 3.2 mostra a representação por este método
de uma região elíptica. Como se pode ver, é possível aproximar a uma precisão arbitrária qualquer região aumentando a árvore.
Figura 3.2
Três representações em árvore do domínio representado a laranja. O nó raiz corresponde ao quadrado maior. Os
nós a cinzento representam o domínio. Da esquerda para a direita aumenta a precisão da representação.
Esta capacidade de representar qualquer domínio com precisão arbitrária é por vezes muito importante, mas acarreta um custo na complexidade da representação. Como podemos ver na figura, para representar a região rectangular que contêm a elipse (árvore da direita) é necessária uma árvore com três
níveis e seis nós. Mesmo para representar uma região rectangular o problema poderia ser idêntico no
caso (muito provável) que a fronteira da região não coincidisse exactamente com as fronteiras entre as
regiões correspondentes aos nós.
Uma estimativa da complexidade da árvore necessária para representar os domínios das posições dos
átomos foi feita medindo as variações de volume destes domínios. Usando a estrutura de teste foi
55
gerado o histograma mostrado na Figura 3.3. Cada classe representa uma gama de volumes, e este gráfico mostra o número variações de volume dos domínios das variáveis para cada classe. Os valores
numéricos das classes são o logaritmo de base 8 dos volumes correspondentes, criando assim uma
divisão logarítmica de classes. Isto parece uma representação estranha, mas justifica-se se considerarmos que cada nó numa Octree tem um volume oito vezes menor que o nó anterior. Assim cada classe
no gráfico da Figura 3.3 representa um nível numa Octree, assumindo para simplificar que as divisões
de volumes seriam todas cúbicas, caso ideal para uma Octree. Esta premissa não é realista, mas dá nos
uma medida para a complexidade mínima da árvore que seria necessária para manter a mesma precisão que o método aqui implementado (2.3 Adaptação do Modelo, página 40).
A unidade usada foi a resolução da representação por paralelepípedos, por isso a classe 0 corresponde
a um volume de 10-6Å3, e cada classe seguinte a um volume 8 vezes maior que a classe anterior. No
entanto este valor é irrelevante, apenas determinando a posição do gráfico no eixo das abcissas.
Numero de ocorrências
10000
1000
100
10
1
0
1
2
3
4
5
6
7
8
9
10
11
12
13
Variação de Volume (Log 8)
Figura 3.3
Histograma da variação no volume dos domínios pela propagação de restrições. A escala das abcissas é logarítmica de base 8. Quadro A.1, Página 84
O que é relevante é a gama de valores que a variação de volume pode tomar, abrangendo 11 classes,
ou seja, 11 níveis de uma hipotética Octree com capacidade de representar esta gama de variações. Se
cada nó desta Octree tivesse apenas 2 nós filhos (de um máximo de 8), a representação teria 2048 nós.
É certo que nem todas as árvores usadas necessitariam de 11 níveis, mas a representação que proponho
para este método necessita em média de apenas 2 paralelepípedos por domínio, e é extremamente provável que o recurso a Octrees gerasse representações mais complexas. Por isso estes resultados dão
bastante confiança que, para este problema, a representação por paralelepípedos é uma escolha
apropriada.
56
3.3 Heurística de Enumeração
Como já foi descrito (ver 2.4 Enumeração, Página 46), para enumeração é seleccionado primeiro o
átomo com o domínio mais reduzido. Em seguida o domínio deste é dividido em duas partes semelhantes, e uma é seleccionada para ser o novo domínio. Nesta secção descreverei alguns dos resultados
que ajudaram a implementar as duas heurísticas; sucede primeiro para a ordenação de valores e falha
primeiro para a ordenação das variáveis.
3.3.1 Ordenação dos Valores
Se bem que a conceito de sucede primeiro seja de aplicação geral, a implementação da heurística de
escolha entre as duas partes do domínio seria forçosamente específica deste problema de determinação
de estruturas moleculares. Duas alternativas foram consideradas; ou escolher apenas pela ordem pela
qual as duas partes eram geradas, ou escolher em primeiro lugar a parte do domínio que menos ocupada por domínios de outros átomos.
A primeira alternativa consistia simplesmente em separar o domínio em dois domínios e escolher o
primeiro destes. Se eventualmente isto resultasse num sistema impossível, quando o programa voltasse
a esta escolha por retrocesso (ver 2.5 Retrocesso, Página 48) o segundo seria então escolhido. A ordem
de escolha, nesta alternativa, é irrelevante. Esta seria uma heurística por defeito caso nenhuma outra
heurística melhorasse consistentemente o desempenho.
Na segunda alternativa são somados os volumes das regiões Permitidas (ver 2.3 Adaptação do
Modelo, página 40) dos domínios de outras variáveis que intersectam cada uma das duas partes do
domínio da variável seleccionada, e é escolhida a parte cujo volume total das intersecções seja menor.
Isto tende a afastar os domínios dos átomos, colmatando de certa forma a deficiente propagação da
restrição implícita que proíbe as sobreposições. Tal como no caso alternativo, se a execução voltar por
retrocesso a esta escolha, a outra parte do domínio será então escolhida. Esta é uma implementação
específica para este problema da heurística de sucede primeiro, pois a região com menor probabilidade
de causar violações é a menos ocupada. Isto deve-se à propagação tardia das restrições Fora, que só
podem ser propagadas quando o domínio está suficientemente reduzido para gerar zonas de exclusão.
Ao manter os átomos afastados evita-se que, mais tarde, surjam conflitos que forcem o retrocesso.
A Figura 3.4 mostra o tempo medido para estruturas de tamanho variável entre 2 e 32 aminoácidos.
Estas estruturas foram geradas usando a parte inicial (terminal amina) da estrutura de teste (ver 3.1
Estrutura de Teste). Dois efeitos contribuem para a diferença de desempenho entre as duas heurísticas.
Para estruturas maiores, neste caso acima dos 32 aminoácidos, a heurística de escolha pela ordem de
geração resulta facilmente em enumerações inconsistentes, e o número excessivo de retrocessos impede, na prática, a resolução.
57
Para estruturas menores isto não é um problema, pois existem menos átomos e menos restrições; para
os casos com menos de 32 aminoácidos não houve diferença significativa entre o número de retrocessos. Neste caso o que reduz o desempenho da heurística de escolha por ordem de geração é o aumento
no número de paralelepípedos necessários para descrever os domínios. Evidentemente, a heurística de
escolher as regiões mais afastadas de outros domínios reduz substancialmente a propagação das restri-
Tempo (s)
ções Fora, o que por sua vez resulta em domínios formados por um número menor de paralelepípedos,
200
180
160
140
120
100
80
60
40
20
0
Escolha por ordem de geração
Escolha por sobreposição
de domínios
2
7
12
17
22
27
32
Numero de Aminoácidos
Figura 3.4
Este gráfico mostra o tempo de cálculo em função do número de aminoácidos para cada heurística. A diferença
no desempenho acentua-se com o aumento no tamanho da estrutura.
Quadro A.2, Página 84
A Figura 3.5 mostra como a heurística por ordem de geração produz invariavelmente um número maior de paralelepípedos por domínio.
Numero de Paralelepípedos
18
16
Escolha por ordem de geração
14
12
10
8
6
Escolha por sobreposição
de domínios
4
2
0
2
7
12
17
22
Numero de Aminoácidos
27
32
58
Figura 3.5
Este gráfico mostra o número médio de paralelepípedos nos domínios em função do tamanho da estrutura para as
duas heurísticas de enumeração. Quadro A.3, Página 85
A razão para esta diferença é os átomos ficarem em média mais afastados, tanto quanto as restrições
Dentro o permitem, no caso da escolha por sobreposição de domínios. Desta forma a propagação de
restrições Fora é menos frequente, o que reduz em média a dimensão das regiões Excluídas dos domínios. O tempo de cálculo é reduzido não só porque as restrições Fora tem que ser propagadas menos
vezes, mas também porque quanto mais simples forem os domínios mais rápida é a propagação das
restrições.
3.3.2 Ordenação das Variáveis
A escolha da variável mais restrita (first fail) é uma heurística clássica bem documentada na literatura
(32, 19), aplicável na generalidade dos problemas. Por isso as variáveis são escolhidas de acordo com
esta heurística. A implementação desta heurística consiste em seleccionar para enumeração a variável
com o menor domínio. No entanto esta enumeração é feita em regime de rotatividade, em que todos as
variáveis são enumeradas uma vez antes que qualquer variável seja enumerada segunda vez (ver 2.4
Enumeração, Página 46). As duas opções seriam assim a enumeração sequencial por falha primeiro,
em que seria permitido enumerar o mesmo átomo várias vezes consecutivas, ou uma enumeração por
rotatividade, em que um átomo enumerado ficaria excluído da enumeração até que todos os outros fossem enumerados uma vez. A Figura 3.6 mostra a comparação do desempenho das duas heurísticas
alternativas, em ambos os casos escolhendo na enumeração a parte do domínio menos ocupada por
domínios de outros átomos. O teste foi feito apenas para estruturas até 14 aminoácidos porque para
200
180
160
140
120
100
80
60
40
20
0
Enumeração
sequencial
Enumeração por
rotatividade
2
10
18
Numero de Aminoácidos
26
Numero de Paralelepípedos
Tempo (s)
tamanhos superiores uma enumeração sequencial demorava demasiado tempo.
45
40
35
30
25
20
15
10
Enumeração
sequencial
Enumeração por
rotatividade
5
0
2
10
18
26
Numero de Aminoácidos
Figura 3.6
Gráficos do tempo e número médio de paralelepípedos nos domínios em função do tamanho da estrutura para as
duas heurísticas de selecção de átomos para enumeração. Quadro A.4, Página 85
59
O tempo de cálculo para a enumeração sequencial é maior devido ao grande aumento na complexidade
dos domínios. Quando um átomo é enumerado o seu domínio diminui para metade, tornando muito
provável que esse átomo seja seleccionado diversas vezes consecutivas. Desta forma o domínio de um
átomo é drasticamente reduzido enquanto os domínios de outros átomos, na sua maioria, praticamente
constantes. As restrições Fora no átomo a ser enumerado são então propagadas a muitos outros átomos, aumentando o número de paralelepípedos que define a zona Excluída destes.
Na enumeração por rotatividade todos os domínios já estão significativamente reduzidos quando as
restrições Fora começam a ser propagadas. Assim muitos domínios já não intersectam com a zona de
exclusão do átomo enumerado, o que limita muito o aumento na complexidade dos domínios.
3.4 Sobreposição de Átomos
Numa estrutura molecular os átomos não se podem sobrepor. A heurística de escolha de domínios na
enumeração tem aqui um papel importante, tendendo a afastar os átomos o máximo permitido pelas
restrições como vimos em 3.3 Heurística de Enumeração. Também importante é o conjunto de restrições Fora que se incluem no modelo. Grande parte destas surge da informação estrutural dos vários
aminoácidos, disponível a priori, que permite que todos os átomos pertencentes ao mesmo aminoácido
estejam relacionados por restrições Fora e Dentro. Os valores de distância para estas restrições são
função da estrutura dos diferentes aminoácidos.
As restantes restrições Fora são impostas explicitamente associadas às restrições Dentro obtidas por
RMN (neste caso a partir de estruturas conhecidas, simulando os dados que poderiam ser obtidos por
RMN, como descrito em 3.1 Estrutura de Teste) ou de uma forma não explícita entre todos os átomos
que não estejam relacionados por qualquer restrição. Estas restrições têm a função exclusiva de impedir a sobreposição dos átomos que nem estão ligados covalentemente nem pertencem ao mesmo aminoácido, e os valores de distância para estas restrições são um parâmetro que tem que ser ajustado.
Nesta secção mostrarei os resultados que levaram à escolha de um valor de 1.5Å para a distância (αk
na Equação 2.4, Pág. 41) para este conjunto de restrições Fora. Os valores de distância para as
restantes restrições Fora foram obtidos directamente das estruturas dos aminoácidos e não foram
ajustados.
60
700
600
Tempo (s)
500
400
300
200
100
0
0
0.5
1
1.5
2
Distância (Angstrom)
2.5
3
Figura 3.7
Gráfico do tempo de cálculo para diferentes valores de distância para as restrições Fora impostas. Quadro A.5,
Página 86.
No modelo foi assumido o mesmo valor de distância para todas estas restrições Fora impostas para
impedir a sobreposição de átomos. Usando a estrutura de teste descrita atrás (3.1 Estrutura de Teste)
foi resolvido o sistema de restrições com diferentes valores de distância. A Figura 3.7 mostra o tempo
de cálculo em função do valor de distância.
Como se pode ver, o tempo de cálculo aumenta lentamente aproximadamente até um valor de cerca de
2Å, a partir do qual o aumento é mais acentuado.
Também foram avaliadas as soluções obtidas, comparando-as com a estrutura alvo. A diferença entre
estruturas de macro-moléculas é normalmente medida pela raíz quadrada da média dos quadrados das
distâncias (RMQD, em Inglês RMSD Root Mean Square Deviation) entre átomos equivalentes quando
as estruturas são sobrepostas. Se as estruturas forem exactamente iguais, as distâncias entre átomos
equivalentes serão todas nulas, e por isso o valor da RMQD será também nulo. Regra geral para
proteínas duas estruturas são consideradas bastante semelhantes se o valor de RMQD obtido para os
átomos Carbono e Azoto da cadeia principal da proteína (ver 1.2 Estrutura Primária, Página 16). A
Figura 3.8 mostra a qualidade das soluções obtidas em função do valor de distância para as restrições
em causa.
61
3.5
RMQD (Angstrom)
3.0
2.5
2.0
1.5
1.0
0.5
0.0
0
0.5
1
1.5
2
Distância (Angstrom)
2.5
3
Figura 3.8
Gráfico da Raíz da Média do Quadrado da Distância (RMQD) entre a cadeia principal da estrutura alvo e a solução calculada em função da distância para as restrições Fora impostas. Quadro A.5, Página 86.
A qualidade das soluções é óptima para valores até 1.5Å, e significativamente pior para valores superiores (se bem que com uma dependência algo errática). Para valores superiores a 1.5Å o modelo começa afastar-se da realidade química. Impor uma restrição de distância mínima entre os núcleos dos
átomos com um valor muito elevado vai inevitavelmente distorcer o modelo, pelo que é fácil compreender esta perda de qualidade para estes valores.
Mais complexo é o que se passa a valores inferiores. Os resultados apresentados na Figura 3.8 parecem indicar que este parâmetro é irrelevante para valores abaixo de 1.5Å. No entanto a qualidade das
soluções nesta gama de valores deve-se à abundância de restrições. Nestas condições a heurística de
redução de domínio usada na enumeração (ver 2.4 Enumeração, Página 46) e a minimização após a
resolução das restrições bastam para evitar sobreposições entre átomos. No entanto trata-se de uma
situação ideal que infelizmente não é representativa da realidade. É quase certo que numa aplicação
prática deste método o conjunto de restrições não contenha todas as restrições potencialmente detectáveis por RMN. Por isso o valor escolhido para parametrizar estas restrições foi de 1.5Å, por ser o valor
que torna o modelo menos dependente da abundância de restrições e por estar de acordo com a
realidade química.
Como descrito atrás (3.1 Estrutura de Teste), algumas destas restrições são impostas explicitamente
associadas a restrições Dentro obtidas por RMN (ou, neste caso, por simulação). Intuitivamente, átomos unidos por restrições Dentro terão maior probabilidade de sobreposição, e desta forma a restrição
Fora de 1.5Å é imposta explicitamente para contrariar esta tendência. No entanto, nesta estrutura de
teste, nenhuma diferença prática foi detectada entre impor ou não explicitamente estas restrições. É
possível que a heurística de enumeração e a optimização consigam resolver este problema sem que
isto seja necessário, mas no presente método decidi manter esta imposição explícita porque o reduzido
62
reduzido custo associado (cerca de 3% do tempo total, sendo menos de metade do número total de
restrições Fora. Ver adiante 3.6 Desempenho) é, a meu ver, compensado pela possibilidade deste
procedimento ser vantajoso em geral. Afinal, o efeito deste procedimento foi até ao momento testado
em apenas uma estrutura, o que não permite concluir com confiança que será inútil também em outros
casos.
3.5 Dependência das Restrições
A simulação de restrições experimentais (3.1 Estrutura de Teste) é útil para a parametrização do método, mas é essencial que o método seja capaz de lidar com sistemas em que o número de restrições entre átomos não ligados seja mais reduzido, pois são essas as condições que se observam na prática.
A Figura 3.9 mostra a qualidade das soluções obtidas quando algumas restrições foram removidas aleatoriamente. Cada restrição foi removida com uma probabilidade variável entre 10% e 80%, em múltiplos de 10%. O cálculo da estrutura foi repetido dez vezes para cada valor de probabilidade (para um
total de 80 pontos no gráfico), pois de cada vez diferentes restrições eram rejeitadas, e o número de
restrições rejeitadas também variava ligeiramente.
RMQD (Angstrom)
8
7
6
5
4
3
2
1
0
0%
20%
40%
60%
80%
100%
Restrições Removidas
Figura 3.9
Gráfico da Raíz da Média do Quadrado da Distância (RMQD) entre a cadeia principal da estrutura alvo e a solução calculada em função da fracção de restrições removidas. Quadro A.6, Página 86.
Como o gráfico mostra, a qualidade das soluções obtidas é muito sensível à remoção de algumas restrições críticas (pois mesmo removendo apenas 10% das restrições muitas soluções têm uma qualidade
inaceitável, com valores de RMQD significativamente superiores a 1Å), mas pouco sensível à remoção de alguns conjuntos grandes de restrições (mesmo para valores de 70% de restrições removidas,
algumas soluções tinham valores de RMQD próximos de 1Å).
63
Este resultado é compreensível, pois é natural que alguns conjuntos de restrições tenham um papel
crucial para definir a estrutura. Se for retirada alguma destas restrições a qualidade do resultado é inferior. À primeira vista é um resultado desanimador, pois sabemos que na prática não são conhecidas
todas as restrições que a RMN potencialmente fornece. Numa aplicação real uma fracção considerável
seria excluída à partida por limitações experimentais. Se esta exclusão for aleatória o resultado pode
ser desastroso. Mas esta condição não é inteiramente realista, pois a intensidade dos picos cruzados
(ver 1.8 Ressonância Magnética Nuclear, Página 25) é dependente da distância, sendo maior quanto
menor for a distância entre os átomos. Regra geral, podemos assumir que uma restrição terá mais
probabilidade de ser detectada experimentalmente quanto mais intenso for o pico cruzado obtido no
espectro de RMN, ou seja, quanto menor for a distância.
Isto significa que a exclusão de restrições que se espera na prática não é completamente aleatória. Se
bem que parcialmente aleatória, o factor mais importante para determinar se a restrição é detectada
será a distância entre os átomos. Para testar esta hipótese as restrições obtidas experimentalmente para
o dímero da Dessulforedoxina (16, dados cedidos por Brian Goodfellow) foram comparadas com as
restrições simuladas como descrito atrás (3.1 Estrutura de Teste). Chamo a atenção para o facto desta
estrutura ser diferente da estrutura de teste (trata-se do dímero, com as duas cadeias de aminoácidos), e
o número total de restrições ser maior.
Número de Restrições
1800
1600
Simulação
1400
Experimental
1200
1000
800
600
400
200
0
<3
3a4
4a5
5a6
Distâncias das restrições (Angstrom)
Figura 3.10
Histograma com o número de restrições obtidas por simulação e experimentalmente para quatro gamas de distância. Quadro A.7, Página 87.
A Figura 3.10 mostra esta comparação. Foram consideradas apenas restrições com distâncias até 6Å
de acordo com o método de simulação descrito em 3.1 Estrutura de Teste.
64
RMQD (Angstrom)
6
5
4
3
2
1
0
0%
20%
40%
60%
80%
100%
Restrições Removidas
Figura 3.11
Variação da qualidade da solução obtida em função da fracção de restrições removidas. Quadro A.8, Página 87.
Este resultado confirma a hipótese que as restrições de menor distância são na sua maioria detectáveis
experimentalmente. É por isso mais adequado simular uma situação real removendo restrições em função dos seus valores de distância do que duma forma aleatória. A Figura 3.11 mostra a variação na
qualidade da solução obtida em função da fracção de restrições removidas. Neste caso para cada ponto
foram removidas as restrições com distância superior a um valor de corte, aumentando-se a fracção
removida reduzindo o valor de corte.
Uma simulação mais realista consiste em retirar as restrições aleatoriamente, mas com uma probabilidade dependente da distância da restrição, reproduzindo a proporção verificada experimentalmente
RMDQ(A)
como se mostra na Figura 3.10.
10
9
8
7
6
5
4
3
2
1
0
Esperado experimentalmente
+ Desvio Padrão
Média
- Desvio Padrão
0%
20%
40%
60%
Restrições removidas
80%
100%
65
Figura 3.12
Qualidade da solução obtida em função da fracção de restrições usadas. Indica-se a média e a média a mais e a
menos um desvio padrão para os dez valores calculados a cada ponto. Quadro A.9, Página 87.
No gráfico mostra-se também a proporção de restrições disponíveis experimentalmente (16% das obtidas por simulação). Este pequeno número de restrições, quando seleccionadas aleatoriamente, gera
soluções de fraca qualidade. No entanto é de salientar que as restrições produzidas experimentalmente
não são aleatórias, pois a atribuição dos picos é revista até ser possível gerar uma estrutura suficientemente restrita. Além disso, apenas foram consideradas no modelo restrições entre átomos a menos de
6Å de distância (ver 3.1 Estrutura de Teste). Isto é uma aproximação apropriada para a maioria das
restrições, pois como mostra a Figura 3.11 as restrições entre átomos mais distantes são apenas uma
pequena fracção. Mas mesmo um número pequeno de restrições entre átomos a mais de 6Å de distância pode ser importante para restringir a estrutura. Por estas razões (por não ser aleatória a selecção e
por não se restringirem a restrições com menos de 6Å), as restrições de origem experimental podem
definir adequadamente a estrutura, como se mostra adiante (3.7 Outras Estruturas Testadas).
3.6 Dimensão Final dos Domínios
Como foi descrito anteriormente (ver 2.4 Enumeração, Página 46) a fase de processamento de restrições é terminada quando todos os domínios dos átomos têm uma dimensão suficientemente pequena,
sendo em seguida o resultado optimizado por minimização. O valor deste parâmetro (dimensão final
do domínio) determina o tempo de cálculo tanto para a fase de processamento de restrições, pois quanto menor for este valor mais prolongada será esta fase, como a fase de optimização, pois quanto maior
o valor mais longe de um mínimo local estará a estrutura a minimizar.
A parametrização deste valor será assim um compromisso entre os tempos de cálculo nas duas fases
(processamento de restrições e optimização), de forma a que o tempo total seja minimizado.
Um outro factor a considerar é a qualidade das soluções obtidas. Se a fase de propagação de restrições
for terminada prematuramente, ou seja, se este parâmetro de dimensão final tiver um valor muito elevado, a solução fornecida para optimização pode estar demasiado longe da estrutura correcta para que
o algoritmo de optimização consiga gerar uma estrutura aceitável. A Figura 3.13 mostra a variação do
tempo de cálculo e da qualidade da estrutura obtida em função deste parâmetro.
66
120
4.5
4.0
3.5
Tempo (s)
80
3.0
2.5
60
2.0
40
1.5
RMDQ (A)
RMDQ (A)
Tempo (s)
100
1.0
20
0.5
0
0.0
5.0
4.5
4.0
3.5
3.0
2.5
2.0
1.5
1.0
Diâmetro Final (A)
Figura 3.13
Variação da qualidade da solução obtida e do tempo total de cálculo em função da dimensão final dos domínios na fase de processamento de restrições. O gráfico mostra os resultados para três valores de distância para
as restrições Fora impostas para evitar sobreposição atómica. Quadro A.10, página 88.
O tempo de cálculo diminui, em geral, sempre que a dimensão final dos domínios é aumentada, mas a
partir de um valor de aproximadamente 3Å a qualidade da solução obtida é variável. O valor óptimo
para este parâmetro seria ligeiramente superior a 3Å, valor para o tempo de cálculo é menor para a
zona em que as soluções são de qualidade aceitável.
Esta análise foi feita apenas com uma estrutura, e é por isso arriscado generalizar estes resultados. Assim o valor escolhido foi 2.5Å. Isto aumenta a confiança nos resultados para o caso geral, apenas com
um custo acrescido de cerca de 15% do tempo de cálculo em relação ao valor de 3Å.
Uma parametrização mais rigorosa exigiria naturalmente a repetição desta análise para várias estruturas. No entanto a prioridade é aperfeiçoar o algoritmo de optimização, e só depois se justifica uma
determinação mais cuidada deste valor, pois este está dependente do algoritmo de minimização.
3.6 Desempenho
O tempo despendido nas várias operações durante o cálculo da estrutura teste foi determinado interrompendo a execução a cada 100ms e registando a fase corrente do programa. Como a periodicidade
desta interrupção e o tempo de execução em cada operação são ligeiramente variáveis (devido à execução concorrente de rotinas do sistema operativo), foi calculada a média para quatro execuções do
programa. A Figura 3.14 mostra esquematicamente a proporção do tempo de cálculo das fases principais em relação ao tempo total.
67
Escolha de
Domínio
Propagação Fora
não explícita
Partição do
Domínio
Optimização
Retrocesso
Propagação
Dentro
Propagação Fora
Tempo Total, incluindo representação gráfica da dimensão dos domínios e do progresso do cálculo,
gestão de memória e acesso a ficheiros.
Figura 3.14
Proporção do tempo de cálculo para várias fases em relação ao tempo total de 69.3 segundos. Para maior detalhe
ver Quadro A.11, página 88.
A característica mais saliente é a proporção total das várias fases de cálculo ser relativamente pequena
(cerca de metade do tempo total). Isto deve-se em parte aos processos como representação gráfica do
progresso, registo de estatísticas como as mostradas neste capítulo e as próprias rotinas de interrupção
e contagem do tempo despendido. Todos estes processos são supérfluos para o cálculo de estruturas,
estando apenas presentes nesta fase para auxiliar a avaliação do programa.
Pode-se ver também que o tempo despendido na optimização é muito reduzido (2.5%), o que indica
que este algoritmo pode ainda ser substancialmente melhorado sem perigo de aumentar significativamente o tempo total de cálculo.
A propagação das restrições Fora que não estão explicitamente incluídas no sistema de restrições (ver
3.4 Sobreposição de Átomos), é feita apenas na fase de enumeração, e ainda assim requer uma fracção
significativa do tempo de cálculo. Estas restrições foram propagadas em média, para esta estrutura (ver
3.1 Estrutura de Teste), 237 vezes para cada enumeração, um número próximo do total de 261 átomos
na estrutura. As restrições Fora explicitamente impostas no problema foram propagadas aproximadamente 9 vezes para cada átomo (total de 2475 restrições fora explícitas para 261 átomos). Assim, se
estas restrições não explícitas fossem propagadas da mesma forma que as restrições Fora explícitas, o
tempo de cálculo destas restrições seria cerca de 25 vezes maior que o presente tempo de cálculo para
as restrições Fora explícitas (são 237 propagações por átomo em vez de apenas 9) o que iria triplicar o
tempo total de cálculo. Além disso o tempo de propagação destas restrições não explícitas aumenta
numa progressão quadrática com o número de átomos, pois o número destas restrições por átomo é
aproximadamente igual ao número total de átomos. Assim estas restrições não são impostas explicitamente, mas sim propagadas apenas na enumeração de cada átomo.
Por último, é aparente que a fase de enumeração é responsável por uma fracção significativa, semelhante ao tempo total de propagação de restrições. Isto deve-se em parte à propagação das restrições
Fora não explícitas durante a enumeração e à escolha do novo domínio, mas cerca de metade do tempo de enumeração e oucupado a guardar o estado corrente de todos os átomos caso seja necessário re-
68
necessário repetir esta enumeração devido a um eventual retrocesso. Guardar simplesmente os
domínios de todos os átomos implicaria um uso excessivo de memória, pois tipicamente serão
guardados centenas de pontos de escolha (313 para o caso da estrutura de teste). Nesta implementação
o presente ponto de escolha é comparado com o anterior, e o ponto de escolha anterior é modificado
de forma a guardar apenas as diferenças entre o anterior e o presente, pois essa informação é suficiente
para reconstruir o estado do sistema a cada ponto de escolha. Desta forma o uso de memória é
reduzido para aproximadamente 5%, (1.1Mb para o cálculo da estrutura de teste usando este
processo), com um custo aceitável em tempo de execução (cerca de 5 segundos, 7% do tempo total,
para a estrutura de teste).
3.7 Comparação com DYANA
O método aqui proposto foi comparado com DYANA (17), a aplicação comercial usada de momento
no Departamento de Química da Faculdade de Ciências e Tecnologia para o cálculo de estruturas de
proteínas a partir de restrições de RMN. O método base desta aplicação é minimizar as violações às
restrições impostas. Uma estrutura inicial gerada aleatoriamente é minimizada por simulated
annealing, alterando iterativamente os ângulos de torção (ver 1.1 Ligação Covalente, Página 15) das
ligações químicas com liberdade de rotação. Estas são fundamentalmente as ligações C-C e C-N dos
átomos de cada aminoácido que formam a cadeia principal da proteína (a ligação peptídica entre
aminoácidos é considerada rígida. Ver 1.2 Estrutura Primária, Página 16), e algumas ligações nas
cadeias laterais de certos aminoácidos. Todos os outros ângulos de torção, todos os ângulos de flexão e
todos os comprimentos de ligação são considerados fixos, tendo cada aminoácido em média cerca de
três graus de liberdade.
Este método tem alguma tendência de convergir para mínimos locais distantes da estrutura que minimiza globalmente as violações às restrições impostas. Por isso numa aplicação típica 500 estruturas
são calculadas, sendo guardadas as 15 melhores (com valores menores para a violação das restrições).
Para comparar o desempenho do método aqui proposto com DYANA foi fornecida a este último a lista
de restrições (1273 restrições) obtidas simulando os dados ideais de RMN para a estrutura de teste (ver
3.1 Estrutura de Teste). Foram calculadas 500 estruturas com o programa DYANA, sendo guardadas
as 15 melhores.
Para produzir 15 estruturas com o método aqui proposto foi feito um retrocesso abrangendo entre 30%
e 70% dos pontos de escolha após o cálculo de cada estrutura, prosseguindo a enumeração e optimização do ponto de escolha resultante. O número exacto de pontos de escolha recuados durante este retrocesso foi escolhido aleatoriamente. Desta forma conseguiu-se uma amostragem do espaço de soluções
possíveis.
69
A Figura 3.15 mostra a comparação dos resultados obtidos. As estruturas calculadas com o programa
DYANA têm uma qualidade ligeiramente superior e abrangem um maior espaço de possibilidades
para as restrições impostas.
A diferença na qualidade das estruturas não é muito acentuada, como mostra o Quadro 3.1. Quando
comparadas com a estrutura alvo, as soluções mais parecidas têm valores muito semelhantes de
RMQD, e em ambos os casos inferiores a 1Å. Esta pequena diferença deve-se ao algoritmo de optimização usado no método aqui proposto. Este algoritmo é muito menos sofisticado que o DYANA, pois
não faz qualquer distinção entre restrições associadas a ligações químicas rígidas e restrições de distância entre átomos não ligados.
É mais acentuada a diferença na amostragem de soluções compatíveis com as restrições impostas. No
Quadro 3.1 pode se ver também que em média as soluções geradas pelo DYANA diferem entre si quase duas vezes mais que as soluções geradas pelo método aqui proposto. A principal causa desta deficiência é o algoritmo de minimização. Por um lado, tratando-se de uma minimização ‘gananciosa’, o
algoritmo converge para o mínimo local mais próximo, sem explorar outras alternativas.. Por outro
lado, a optimização é feita no sentidos de que todos os valores de distância estejam o mais próximo
possível dos valores médios para cada par de átomos unidos por uma restrição, o que vai forçar a convergência para um conjunto muito restrito de soluções.
Raiz da Média do Quadrado da Distância (RMQD) em Å
Melhor
DYANA
P.R.
Para a Estrutura Alvo
Média
Desvio Padrão
Dentro do Conjunto de Soluções
Média
Desvio Padrão
0.8
1.04
0.16
0.86
0.30
0.9
1.20
0.19
0.52
0.26
Quadro 3.1
Comparação dos resultados obtidos pelo programa DYANA com os obtidos pelo método de Programação por
Restrições (P.R.) aqui proposto. Os valores referem-se aos átomos da cadeia principal proteico.
Outro factor importante pode ser a forma implementada para gerar várias soluções, ou seja, retroceder
um número aleatório de pontos de escolha. É possível que esta não permita gerar soluções suficientemente diversas para explorar o espaço de estruturas consistentes com as restrições.
70
Estrutura Alvo
Estruturas obtidas com o método
proposto
Estruturas obtidas com DYANA
Figura 3.15
Comparação dos resultados obtidos pelo programa DYANA com os obtidos pelo método aqui proposto. No topo
é mostrada a estrutura alvo, de onde foram retiradas as restrições usadas. Nas figuras inferiores as estruturas calculadas são mostradas a azul, sobrepostas à estrutura alvo em cinzento.
A qualidade das soluções obtidas pelos dois métodos é também muito semelhante no que respeita à
violação das restrições impostas. Nas estruturas finais algumas restrições são violadas, se bem que a
magnitude das violações é desprezável. A Figura 3.16 mostra o número e a magnitude das violações às
restrições para os conjuntos de 15 soluções geradas. Como se pode ver todas as violações são significativamente inferiores a 1Å, que corresponde ao diâmetro de um átomo de Hidrogénio e a cerca de
metade do diâmetro de um átomo de Carbono, e por isso tratam-se de violações insignificantes à escala das estruturas proteicas .
Estes resultados reforçam a hipótese que a menor qualidade das soluções em relação ao DYANA
deve-se a uma deficiência do algoritmo de optimização implementado, pois aparentemente a componente de processamento de restrições é capaz de gerar estruturas adequadas.
A vantagem do método de Programação por Restrições é a grande eficiência com que soluções aproximadas podem ser geradas. As soluções obtidas pelo método aqui proposto, incluindo optimização,
fora calculadas em 8 minutos num PC com um processador Pentium a 133 MHz, enquanto que o cálculo no DYANA demorou mais de 6 horas num computador O2 com um processador R5000. Considerando a diferença de desempenho entre os computadores usados, o método aqui proposto representa
um aumento de cerca de cem vezes na velocidade de cálculo.
71
10000
P.R. - 8%
DYANA - 17%
1000
100
10
1
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Violação em Angstrom
Figura 3.16
Número de restrições violadas nas 15 soluções geradas em cada método em função da magnitude da violação
para os dois métodos (Programação por Restrições e DYANA). Note-se a escala logarítmica nas ordenadas. Indica-se também para cada método a percentagem total de restrições violadas.
3.7 Outras Estruturas Testadas
O método proposto neste trabalho foi também testado em três outras estruturas, com conjuntos de restrições obtidos em cada caso simulando as restrições potencialmente obtidas por RMN (ver 3.1
Estrutura de Teste). Além disso também foi feito um teste calculando a estrutura dimérica da
Dessulforedoxina a partir de restrições obtidas experimentalmente por RMN (16).
A Figura 3.17 mostra o resultado obtido para o cálculo da estrutura do Citocromo C de cavalo. As
restrições usadas foram obtidas a partir da estrutura conhecida da proteína (10), do modo descrito
anteriormente (ver 3.1 Estrutura de Teste). Nesta figura encontram-se representadas as 15 estruturas
geradas, a estrutura alvo e o grupo prostético desta proteína (ver 1.6 Outros Elementos Estruturais,
página 24). É de salientar que os grupos prostéticos não estão modelados na presente versão do
método, e por isso foi apenas considerada a cadeia de aminoácidos da proteína. Esta falha no modelo
degradou certamente a qualidade das estruturas obtidas, dado o papel estrutural importante que este
grupo tem na proteína.
72
Figura 3.17
Estruturas obtidas para o Citocromo C de cavalo (a azul) comparadas com a estrutura alvo (a cinzento). O grupo
prostético (hemo) está representado a vermelho. Qualidade média 6.8Å RMQD.
A Figura 3.18 mostra as 15 soluções obtidas para a estrutura de um inibidor proteico da Tripsina,
comparadas com a estrutura alvo conhecida (28). As restrições usadas foram obtidas a partir desta última.
Figura 3.18
Estruturas obtidas para o inibidor da Tripsina (a azul) comparadas com a estrutura alvo (a cinzento). Qualidade
média de 2.8Å RMQD.
73
Figura 3.19
Estruturas obtidas para o inibidor da Tripsina Pancreática (a azul) comparadas com a estrutura alvo (a cinzento).
Qualidade média de 3.9Å RMQD.
A Figura 3.19 mostra os resultados obtidos para outro inibidor proteico da Tripsina (Inibidor da Tripsina Pancreática Humana, 18) comparados com a estrutura alvo conhecida. De salientar neste caso a
região terminal da estrutura, à direita na figura, onde naturalmente as restrições são insuficientes para
que a estrutura seja correctamente determinada.
Figura 3.20
Estruturas obtidas para o dímero da Desulforedoxina (a azul) comparadas com a estrutura alvo (a cinzento). Qualidade média de 3.6 Å RMQD.
74
A Figura 3.20 mostra os resultados obtidos para o dímero da Desulforedoxina, comparados com a estrutura alvo conhecida (2). As restrições usadas para este teste foram obtidas experimentalmente por
RMN (16, dados cedidos pelo autor).
Para este teste foi necessário ignorar algumas restrições porque, na prática, alguns grupos de átomos
não são distinguíveis. Isto exige que o modelo inclua pseudo átomos imaginários no centro geométrico
destes grupos (solução adoptada no DYANA) ou que as restrições seja aplicadas, com modificação, a
todos os átomos do grupo. O presente modelo ainda não inclui estas características, o que certamente
afectou o resultado.
Nestes resultados é evidente que a qualidade das soluções obtidas é inferior ao caso da estrutura de
teste. Isto deve-se à incapacidade do algoritmo de optimização para minimizar satisfatoriamente
estruturas de maiores dimensões.
Como já foi descrito (ver 2.6 Minimização, página 49) este algoritmo simples minimiza todas as restrições indiscriminadamente. Desta forma a importante informação estrutural dada pela rigidez da
maioria das ligações químicas não é utilizada, não só aumentando muito o tempo de cálculo pelo
excessivo número de graus de liberdade, mas também gerando estruturas distorcidas por permitir
distorções irrealistas.
Citocromo C
Inibidor Tripsina
Número de Átomos
Número de Restrições
Tempo Total
Tempo de Processamento de Restrições
Inibidor Tripsina (Pancreático)
Tempo de Optimização
Desulforedoxina
Figura 3.21
Comparação entre as várias estruturas testadas. O número de restrições, o número de átomos e o tempo encontram-se a escalas diferentes, mas a mesma escala é usada para todos os tempos e entre os vários casos. Quadro
A.12, página 88.
É de notar que a proporção da fase de optimização nestes casos é sempre superior ao caso do cálculo
de uma única estrutura, como visto na Figura 3.14. O cálculo de múltiplas estruturas é feito por um
75
retrocesso parcial (entre 30% e 70% dos pontos de escolha), o que faz com que o tempo de processamento de restrições seja menor para as estruturas a partir da primeira.
Apesar de não ser satisfatória a qualidade das soluções geradas pelo método como presentemente implementado, estes resultados mostram que a programação por restrições permite gerar rapidamente
soluções aproximadas. Isto permite reduzir o espaço de pesquisa para o algoritmo de optimização, tornando desnecessária a geração de centenas de estruturas como no caso de um método que recorra apenas à optimização como o DYANA.
76
77
4. Conclusão
"A previsão é difícil, especialmente do futuro."
Niels Bohr
Penso que este trabalho cumpriu o objectivo, mostrando que a aplicação de técnicas de programação
por restrições pode aumentar significativamente o desempenho no cálculo de estruturas a partir de restrições de distância. No que respeita ao caso particular da determinação de estruturas proteicas por
RMN, será necessário um estudo mais aprofundado para poder garantir que o método aqui apresentado
é de facto superior aos métodos correntemente usados. Os resultados obtidos são promissores, indicando um aumento de cerca de cem vezes na velocidade de cálculo, mas dois pontos importantes ficaram em aberto.
Em primeiro lugar, as estruturas obtidas pelo método como implementado até ao momento são de qualidade inferior. O presente algoritmo de minimização não distingue as restrições provenientes da RMN
das restrições associadas às ligações covalentes. Sendo estas últimas muito mais rígidas que as primeiras, a minimização indiscriminada gera estruturas com distorções inaceitáveis. No entanto este problema será quase certamente de resolução trivial, requerendo apenas uma minimização que modele
estas características estruturais do problema.
Em segundo lugar há a salientar a falta de testes com sistemas impossíveis. Este é um ponto importante porque na prática a atribuição das restrições obtidas por NMR é um processo iterativo de tentativa e
erro, o que implica que o sistema de cálculo das estruturas seja capaz de gerar uma solução mesmo
que as restrições sejam incompatíveis. Esta solução será necessariamente errada, contendo violações
às restrições impostas, mas é indispensável para avaliar e rever as atribuições. Apesar de não ter testado esta situação, penso que o método que aqui proponho é suficientemente robusto para resolver estes
casos. Um método exclusivamente construtivo como os métodos de programação por restrições não
poderia dar qualquer solução neste caso, exigindo que o problema das atribuições erradas fosse resolvido de outra forma. No entanto o método aqui proposto é misto, e os algoritmos reparativos, como a
minimização na fase final, não têm dificuldade em gerar soluções parcialmente incorrectas. Por isso
estou proponho que este será também um problema de resolução fácil, exigindo apenas que a fase
construtiva de processamento das restrições seja interrompida se uma solução consistente não for
gerada dentro de um período pré estabelecido. Visto que o número de retrocessos (2.5 Retrocesso, página 48) foi sempre inferior a dez nos casos testados, penso que a imposição de um limite de cem ou
mil retrocessos pode distinguir com confiança os casos em que existem atribuições incompatíveis, e
este número de retrocessos não é suficiente para causar um impacto significativo no tempo de cálculo.
No que respeita ao uso de técnicas de processamento de restrições, existem ainda opções por explorar.
Como mencionei anteriormente (2.2 Técnicas de Consistência, página 32), nestes problemas não deve
78
ser vantajoso, em geral, aplicar critérios de consistência de ordem superior à consistência em arco.
Mas possivelmente haverá vantagem em aplicá-los de uma forma localizada. Por exemplo, o ângulo
entre duas ligações será uma restrição envolvendo três átomos. Esta restrição terciária é modelada
como uma rede de restrições binárias, e parte da informação não é usada se for mantida apenas a consistência de arco. Uma solução possível seria aplicar um critério de consistência mais completo a esse
grupo de átomos. O mesmo conceito pode ser estendido a ângulos diedros (quatro átomos), a centros
quirais ou elementos de estrutura secundária (que podem conter um número variável de átomos).
A implementação de técnicas de propagação de restrições globais também poderá ser útil para impedir
a sobreposição de átomos. No presente método, a restrição que átomos não se podem sobrepor é
propagada de uma forma muito incompleta (2.3 Adaptação do Modelo, página 40) porque a rede de
restrições binárias que a modelam é demasiado extensa para manter sequer consistência de arco. Mas
esta é um exemplo clássico de uma restrição global, e possivelmente pode ser propagada de uma
forma mais eficiente.
Penso que o método aqui apresentado é uma boa base para o cálculo e previsão de estruturas moleculares. Uma aplicação quase imediata será ao processamento de dados experimentais de RMN estrutural
de proteínas. Num âmbito mais geral, penso que terá também uma aplicação em previsão e determinação de estruturas de macro-moléculas. A flexibilidade do método base permite uma adaptação a outros
dados de análise estrutural, e permite o aproveitamento de informação mais teórica, como modelação
por homologia ou previsão de estruturas locais. A simplicidade com que o método permite integrar
informação experimental e previsão teórica poderá resultar numa contribuição significativa para a análise estrutural de macro-moléculas. Será este o sentido em que este trabalho irá continuar; após o aperfeiçoamento para o caso da resolução de estruturas proteicas por RMN, o objectivo será alargar a base
de informação usada e o âmbito da aplicação do método.
Se bem que a previsão, especialmente do futuro, seja difícil, penso que é promissora a aplicação de
técnicas de programação por restrições ao problema da análise estrutural de macro-moléculas.
79
Glossário
Cadeia Principal: Sequência de átomos formada pelos grupos Carboxilo e Amina de cada aminoácido, unidos pelo Carbono-α, e unidos entre si pela ligação peptídica.
Consistência de limite: Noção de consistência em que apenas são testados os limites do intervalo de
valores possíveis.
Consistência-k: Critério de consistência que elimina os valores dos domínios das variáveis que não
são suportados quando são consideradas k variáveis em simultâneo.
Domínio: Conjunto de valores que uma variável pode tomar.
Efeito de Overhauser: Influência de um núcleo em ressonância na absorção de outro núcleo vizinho.
Enumeração: Processo de escolha do valor para as variáveis. No caso de problemas em domínios
contínuos consiste geralmente em reduzir o domínio das variáveis.
Falha primeiro: Heurística de escolha da variável a enumerar. Segundo esta heurística é escolhida a
variável com o menor domínio, o que tende a antecipar a detecção de falhas.
Não determinista: Algoritmo em que as decisões são tomadas de forma imprevisível ou aleatória.
PC: Personal Computer. Computador pessoal.
Picos cruzados: Designação dos picos nos espectros de RMN a duas dimensões, obtidos para um par
de frequências.
Ponto de escolha: Instante da execução em que o domínio de uma variável é restrito rejeitando valores que são suportados pelo critério de consistência. No caso de falha a execução terá que voltar ao
ponto de escolha para optar pelos valores rejeitados.
Ressonância: Oscilação do vector de momento magnético de um núcleo em fase com a frequência da
radiação incidente.
RMN: Ressonância Magnética Nuclear. Técnica de espectroscopia baseada na detecção de transições
de um núcleo atómico com momento magnético não nulo imerso num campo magnético.
RMQD: Raiz Média do Quadrado da Distância entre os átomos correspondentes de duas estruturas
moleculares. O valor mínimo, obtido sobrepondo o melhor possível as duas estruturas, é usado como
medida da diferença entre as estruturas.
Sucede primeiro: Heurística de ordenação de valores a atribuir a uma variável. Consiste em seleccionar primeiro os valores com menor probabilidade de falha.
80
81
Bibliografia
1. Apt, K, The Rough Guide to Constraint Propagation, 1999, Lecture Notes in Computer Science,
1713, 1-23.
2. Archer M, Huber R, Tavares P, Moura I, Moura JJ, Carrondo MA, Sieker LC, LeGall J, Romao
MJ (1995). Crystal structure of desulforedoxin from Desulfovibrio gigas determined at 1.8 A resolution: a novel non-heme iron protein structure. J Mol Biol 1995 Sep 1;251(5):690-702
3. Asimov, I (1987)., Asimov’s new guide to science, Penguin Books.
4. Atkins, P. (1990), Physical Chemistry, 4ª ed., Oxford
5. Backofen, R, Constraint Techniques for Solving the Protein Structure Prediction Problem, CP98,
Lecture Notes in Computer Science 1520, Springer-Verlag, 72-86
6. Barták, R., Constraint Programming: In Pursuit of the Holy Grail, Proceedings of WDS99 (invited lecture), Prague, June 1999
7. Barták, R., On-Line Guide to Constraint Programming, 1998,
http://kti.ms.mff.cuni.cz/~bartak/constraints/index.html
8. Beldiceanu, N., Contejean, E., Introducing Global Constraints in CHIP. Mathl. Comp. Modelling,
Vol 20, No. 12, 97-123, 1994
9. Bessiére, C., Arc-consistency and arc consistency again. Artificial Intelligence, 65 (1994) 179-190
10. Bushnell, G. W., Louie, G. V., Brayer, G. D.High-Resolution Three-Dimensional Structure of
Horse Heart Cytochrome C. J.Mol.Biol. 214 pp. 585, 1990
11. Cheng, B., Choi, K., Lee, J., Wu, J., Increasing Constraint Propagation by Redundant Modeling:
an Experience Report. Constraints, V. 4, 167, 1999
12. Fermi, G., Perutz, M.F.,Shaanan, B.,Fourme, R., (1984) The Crystal Structure of Human Deoxyhaemoglobin at 1.74 Angströms Resolution, J.Mol.Biol., V. 175, 159
13. Gallaire, H., Logic Programming: Further Developments IEEE Symposium on Logic Programming, Boston, 1985
14. Gil, V., Geraldes, C., (1987) Ressonância Magnética Nuclear, Fundamentos, Métodos e Aplicações, Fundação Calouste Gulbenkian.
15. Gonçalves Ferreira, F.A., Nutrição Humana, 2ªEd., Fundação Calouste Gulbenkian, 1994
82
16. Goodfellow B:J, Rusnak F., Moura I., Domke T., Moura J.J.G., NMR determination of the global
structure of the 113Cd derivative of Desulforedoxin: Investigation of the Hydrogen bonding pattern at the metal center, Protein Sc.7, 928-937 (1998)
17. 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.
18. Hecht, Szardenings, Collins, Shomburg, Three-dimensional structure of the complexes between
bovine chymotrypsinogen *A and two recombinant variants of human pancreatic secretory trypsin
inhibitor (*Kazal-Type), J. Mol. Biol., V.220, 711, 1991
19. Hentenryck, P., Constraint Satisfaction in Logic Programming, MIT Press, 1989
20. Hentenryck, P., Deville, Y., Teng, C. A generic arc-consistency algorithm and it specializations,
Artificial Intelligence 57 (1992) 291-321
21. Homer, S., Selman, A., Complexity Theory, ftp://ftp.cs.buffalo.edu/pub/tech-reports/91-04.ps.Z
22. Jaffar, J. & Lassez, J. Constraint Logic Programming ACM Symposium on Principles of Programming Languages, 1987
23. Leishman, S., Gray, PMD and Fothergill, JE, ASSASSIN: A Constraint Based Assignment System
for Protein 2D Nuclear Magnetic Resonance, Applications and Innovations in Expert Systems II,
(Proceedings of Expert Systems 94, Cambridge), ed. R.Milne and A.Montgomery, 263-280, December 1994
24. Lewin, B., Genes V, Oxford, 1994
25. Lopez-Ortiz, A., Cmputational Theory FAQ, University of New Brunswick, Canada.
http://www.cs.unb.ca/~alopez-o/comp-faq/faq.html
26. Mackworth, A., Freuder, E., The Complexity of Some Polynomial Network Constraint Satisfaction
Problems, Artificial Intelligence 25 (1985) 65-74
27. Marquart M.,Walter J.,Deisenhofer, J, Bode W.,Huber R.(1983) The Geometry of the Reactive Site
and of the Peptide Groups in Trypsin, Trypsinogen and its Complexes with Inhibitors, Acta Crystallogr., Sect. B, V. 39, 480
28. Marquart, Walter, Deisenhofer, Bode, Huber, The geometry of the reactive site and of the peptide
groups in trypsin, trypsinogen and its complexes with inhibitors, Acta Crystallogr., Sect. B, V.39,
480, 1983
83
29. Mohr, R., Henderson, T., Arc and Path Consistency Revisited, Artificial Intelligence 28 (1986)
225-233
30. Press, Vetterling, Teukolsky, Flannery, Numerical Recipes in C 2nd ed, Cambrige Univ. Press
1994
31. Sam-Haroud, D., Faltings, B., Consistency Techniques for Continuous Constraints, Constraints, V.
1, 85, 1996
32. SICStus Prolog User's Manual Swedish Institute of Computer Science, November 1997
33. Stryer. L, Biochemistry, 3ªEd., International Student Edition,. 1988
34. Tong, L.,Pav, S., Pargellis, C., DO, F., D.Lamarre, Aderson, P.C., (1993), Crystal Structure of
Human Immunodeficiency Virus (HIV) Type 2 Protease in Complex with a Reduced Amide Inhibitor and Comparison with HIV-1 Protease Structures, Proc. Nat. Acad. Sci. USA, V. 90, 8387
35. Tsang, E., Foundations of Constraint Satisfacition, Academic Press, 1993
36. Zimmerman, D.E., Kulikowski C.A., Montelione G.T., A constraint reasoning system for automating sequence-specific resonance assignments from multidimensional protein NMR spectra. Ismb
1993;1:447-55
84
85
Apêndice A: Quadros
Classe
0
1
2
3
4
5
6
7
8
9
10
11
12
13
Número
0
0
6
33
164
710
1192
1589
2976
4274
5616
1740
68
0
Quadro A.1
Dados para o gráfico da Figura 3.3, Página 55
Aminoácidos
2
4
6
8
10
12
14
16
18
20
22
24
26
28
30
32
34
36
Tempo (Segundos) para cada heurística
Ordem de Geração
Sobreposição de Domínios
0.8
0.5
2.6
1.7
6.9
3.8
16.0
7.5
19.3
10.4
29.5
13.6
43.3
17.7
49.5
19.6
56.7
24.9
68.6
33.6
89.8
36.9
109.6
38.6
134.4
38.2
199.5
42.2
265.6
43.8
268.7
54.8
64.6
912.6
70.4
256.9
Quadro A.2
Dados para o gráfico da Figura 3.4, Página 57. Valores a negrito indicam execuções interrompidas.
86
Média de paralelepípedos por domínio para a heurística:
Aminoácidos
2
4
6
8
10
12
14
16
18
20
22
24
26
28
30
32
34
36
Ordem de Geração
1.9
2.6
5.5
7.2
6.0
7.5
9.7
9.2
7.9
7.3
8.5
10.5
12.5
15.8
17.2
17.4
19.4
8.2
Sobreposição de Domínios
1.5
1.9
1.7
2.3
2.0
1.9
2.4
2.0
1.9
2.1
2.2
2.1
2.1
1.8
1.8
2.8
2.0
2.0
Quadro A.3
Dados para o gráfico da Figura 3.5 , Página 57. Valores a negrito indicam
execuções interrompidas.
Aminoácidos
2
4
6
8
10
12
14
16
18
20
22
24
26
28
Por rotatividade
Tempo(s) Nº Paral.
0.5
1.5
1.7
1.9
3.8
1.7
7.5
2.3
10.4
2.0
13.6
1.9
17.7
2.4
19.6
2.0
24.9
1.9
33.6
2.1
36.9
2.2
38.6
2.1
38.2
2.1
42.2
1.8
Em Série
Tempo (s) Nº Paral.
0.5
2.0
2.5
4.4
4.9
5.5
18.0
10.9
23.9
13.1
38.1
15.0
90.1
20.3
121.2
20.4
201.1
26.9
593.9
40.6
399.4
31.0
274.6
21.4
332.1
25.3
602.4
32.1
Quadro A.4
Dados para o gráfico da Figura 3.6, Página 58.
87
Distância (Å)
0.0
0.2
0.4
0.6
0.8
1.0
1.2
1.4
1.6
1.8
2.0
2.2
2.4
2.6
2.8
Tempo(s)
50
52
52
52
52
56
62
67
72
76
95
117
255
246
658
RMQD (Å)
0.9
0.9
0.9
0.9
0.9
0.9
0.9
0.9
0.9
1.1
1.1
1.9
0.9
2.3
2.9
Quadro A.5
Dados para o gráfico da Figura 3.7, Página 59 e para o
gráfico da Figura 3.8, Página 60
Probabilidade de remoção
10%
20%
30%
40%
RMQD (Å)
Removidas
RMQD (Å)
Removidas
RMQD (Å)
Removidas
RMQD (Å)
Removidas
1.05
1.49
1.68
2.13
2.15
2.43
3.66
4.29
4.43
4.94
9%
10%
10%
9%
10%
11%
10%
11%
9%
10%
0.82
1.15
1.18
2.22
2.36
2.66
2.83
3.28
4.61
7.59
21%
21%
19%
19%
21%
20%
19%
20%
21%
21%
1.36
1.73
1.77
1.91
2.01
2.16
2.38
2.40
3.47
4.34
30%
28%
30%
30%
29%
32%
30%
28%
29%
30%
1.54
1.62
1.76
2.07
2.65
3.05
3.63
3.67
3.83
5.13
40%
43%
40%
43%
39%
40%
42%
39%
39%
39%
Probabilidade de remoção
50%
60%
70%
80%
RMQD (Å)
Removidas
RMQD (Å)
Removidas
RMQD (Å)
Removidas
RMQD (Å)
Removidas
1.51
1.77
1.85
2.08
2.24
2.29
3.01
3.34
3.71
4.39
50%
50%
52%
50%
50%
49%
50%
52%
50%
50%
1.74
1.92
2.01
2.73
2.88
3.12
3.33
3.56
3.65
4.44
62%
60%
59%
60%
59%
59%
60%
60%
60%
60%
1.67
1.81
2.94
2.94
3.09
3.22
3.86
4.35
5.20
5.35
71%
71%
71%
73%
71%
71%
70%
68%
71%
69%
3.03
3.07
3.12
3.77
3.79
3.84
3.87
4.88
4.95
5.04
78%
81%
80%
79%
79%
79%
79%
83%
80%
79%
Quadro A.6
Dados para o gráfico da Figura 3.9, Página 62
88
Distância (A)
Simulação
<3
3a4
4a5
5a6
Experimental
90
326
1030
1642
86
185
149
96
Quadro A.7
Dados para o gráfico da Figura 3.10, Página 63.
Restrições
Removidas
RMQD
0%
11%
20%
29%
37%
45%
51%
60%
68%
74%
79%
83%
85%
87%
90%
0.9
2.1
1.5
1.5
2.6
1.6
1.9
3.5
3.8
3.4
3.2
3.2
5.1
5.2
7.3
Quadro A.8
Valores da RMQD (em Ångstrom) para o gráfico da Figura
3.11, Página 63.
Restrições
Removidas
0%
5%
10%
15%
20%
25%
30%
35%
40%
45%
50%
Média
RMQD (Å)
Desvio Padrão
1.2
2.0
3.2
2.9
2.7
3.1
2.5
3.0
3.6
3.7
3.3
0.0
0.7
1.7
1.4
1.1
0.9
1.0
1.0
1.4
1.2
1.0
Restrições
Removidas
Média
55%
60%
65%
70%
75%
80%
85%
90%
95%
100%
4.2
3.8
3.9
3.8
4.6
4.2
4.4
6.1
12.7
38.0
RMQD (Å)
Desvio Padrão
Quadro A.9
Valores da RMQD (em Ångstrom) para o gráfico da Figura
3.12, Página64.
0.8
0.9
1.2
1.2
0.8
0.8
0.8
1.4
4.9
0.0
89
Dimensão Final (Å)
5.0
4.9
4.8
4.7
4.6
4.5
4.4
4.3
4.2
4.1
4.0
3.9
3.8
3.7
3.6
3.5
3.4
3.3
RMQD (Å)
1.49
1.50
1.50
1.48
1.52
1.52
0.71
3.48
3.57
3.59
4.04
4.13
3.90
4.01
4.26
3.78
3.90
3.91
Tempo (s) Dimensão Final (Å)
41.7
3.2
43.0
3.1
43.3
3.0
43.0
2.9
44.0
2.8
42.8
2.7
43.2
2.6
43.9
2.5
49.0
2.4
44.1
2.3
44.6
2.2
48.1
2.1
48.1
2.0
49.2
1.9
45.9
1.8
46.1
1.7
49.9
1.6
46.9
1.5
RMQD (Å) Tempo (s)
0.93
46.7
1.03
47.8
0.93
48.9
0.99
65.2
1.02
66.1
0.98
66.8
0.96
68.4
0.92
69.3
0.98
72.1
0.92
75.6
0.97
76.0
0.94
80.4
1.00
79.4
0.98
83.6
0.94
87.0
0.94
90.5
0.93
92.2
0.94
96.8
Quadro A.10
Valores de RMQD (em Ångstrom) e tempo (em segundos) para o gráfico da Figura 3.13, página
65.
Partição
Tempo (s)
Fracção
Tempo (s)
Fracção
10.3
14.9%
Simplificação
de Dominio
0.1
0.2%
Propagação
não explícita
3.6
5.2%
Retrocesso
Escolha de
Domínio
1.6
2.3%
Minimização
Propagação Fora
8.6
12.4%
Outros
Propagação
Dentro
9.9
14.3%
Total
0.1
0.1%
1.8
2.5%
33.4
48.1%
69.3
Quadro A.11
Proporções e tempos (em segundos) para as várias fases de cálculo apresentadas na Figura
3.14, página 66.
Tempo (Segundos) para 15 soluções
Processamento de
Optimização
Total
Restrições
Citocromo C
2289
413
3187
Inibidor
733
196
1114
Inibidor (Pancreático)
782
185
1154
Desulforedoxina
958
171
1305
Átomos
826
443
457
522
Restrições
18238
9098
9904
6440
Quadro A.12
Tempos de cálculo (em segundos), número de átomos e de restrições para os casos apresentados
na Figura 3.21, página73.

Documentos relacionados