Desenvolvido pelo Laboratório do Professor Jay Ponder, do Departamento de Química da Universidade de Washington, o Tinker apresenta-se como um pacote completo para mecânica e dinâmica molecular assim como construção de estruturas.
Voltado majoritariamente para biomacromoléculas, uma das maiores vantagens desse software é a capacidade de utilizar qualquer campo de força, incluindo parâmetros que venham a ser desenvolvidos pelo usurário, sendo que os mais comuns como AMBER, CHARMM, OPLS e AMOEBA já são distribuídos como parte do pacote.
O Tinker é um pacote composto por diversos tipos de programas, permitindo uma rotina de execuções flexível ao interesse do usuário. Entre os componentes oferecidos pelo software estão a construção de modelos de proteínas a partir de uma sequência de aminoácidos, busca conformacional, otimização global, e análise da distribuição energética intramolecular.
Sendo esse um programa de mecânica molecular, o formato de input do Tinker exige a especificação do tipo de átomo e da conectividade do mesmo, visto que os parâmetros terão que ser associados aos átomos ou conjuntos de átomos representados.
Cabe ressaltar que os parâmetros dos campos fornecidos pelo pacote original do Tinker, apesar de serem baseados em campos de força comuns como o Charmm e o Amber, são mais genéricos do que os campos de forças originais desses softwares, visto que nos parâmetros destes existem mais tipos de átomos, tornando o cálculo mais específico e, consequentemente, mais preciso.
Um exemplo de input para o campo AMBER99 pode ser observado abaixo:
Pelo input acima é possível observar que um átomo pode corresponder à dois (ou mais) tipos de átomos diferentes, como por exemplo os átomos 4, 20 e 34. Os três correspondem à átomos de oxigênio, entretanto, enquanto o átomo 4 representa um oxigênio de dupla ligação na backbone da proteína, os outros dois representam o oxigênio de uma hidroxila e oxigênio C-terminal, respectivamente.
Para a utilização de qualquer um dos softwares do pacote TINKER, é necessário um arquivo .key que será informado na execução do programa após a tag -k. O arquivo .key consiste na especificação do arquivo do parâmetro que será utilizado (.prm), assim como seu diretório. Nele também pode-se incluir outros parâmetros complementares de acordo com o desejo do usuário.
O jeito mais simples de criar o input (arquivo xyz) para o TINKER é a partir da utilização do software protein ou do software nucleotide, incluídos no pacote. No protein é possível criar sequências de peptídeos e o no nucleotide, sequências de aminoácidos.
Há, entretanto, limitações nesses dois softwares, visto que eles só fornecem as formas mais ordinárias dos peptídeos e nucleotídeos, fazendo com que grupos como metilação e fosforilação tenham que ser acrescentados manualmente.
Para acrescentar grupos manualmente, uma opção é a utilização dos softwares xyzpdb e do pdbxyz, que convertem o arquivo de xyz para pdb e de pdb para xyz respectivamente. Dessa forma, é possível utilizar softwares como o Gaussview para obter as coordenadas xyz dos átomos acrescentados, e, em seguida, converter o arquivo de input novamente para xyz.
Nesse caso, possivelmente alguns tipos de átomos (e em casos mais raros algumas conectividades) deverão ser ajustados manualmente de acordo com a tabela de parâmetros do campo utilizado.
Se o campo utilizado for o MM3, ainda há a opção de utilizar o software Molden (não faz parte do pacote) para produzir o arquivo xyz.
A busca conformacional, feita pelo componente scan do pacote, é uma busca pela superfície de potencial via método de Bassin Hopping. De início, o input é minimizado até atingir algum mínimo local, e então, subsequentemente há a ativação de vários modos normais desse primeiro mínimo que servirão como pontos iniciais para as seguintes minimizações. Sempre que um novo mínimo local é encontrado, ele é adicionado à lista de busca e o procedimento de ativação dos modos normais se repete. Esse procedimento é efetuado até que não haja mais estruturas à lista de busca, o que significa que todos os mínimos locais foram encontrados.
A execução do programa, como todas as outras, pode ser feita pela seguinte linha de comando:
A execução do scan ainda solicita o modo cuja seleção dos ângulos torcionais para rotação será feita. Essa seleção pode ser automática, feita pelo Tinker, ou manual, no qual o usuário escolhe os ângulos que serão rotacionados ou os que serão mantidos estáticos. Também é possível escolher o número de direções no qual o programa fará a busca local e a energia limiar que distingue os mínimos locais.
Essas seleções a serem feitas após o início do programa ainda podem ser acrescentadas diretamente na linha de comando. O cálculo também pode ser posto em background com o uso do caractere & e ter seu output direcionado à algum arquivo de texto:
A busca de um mínimo global para uma biomacromolécula mostra-se um procedimento extremamente complexo. Devido ao elevadíssimo número de graus de liberdade da molécula, a superfície de potencial apresenta-se extremamente acidentada, apresentando numerosos mínimos locais. O método de otimização global fornecido pelo Tinker é o algoritmo de Monte Carlo que se baseia na alteração das coordenadas cartesianas de um átomo ou na mudança de um ângulo torsional seguida do cálculo de energia para cada uma das alterações. Sempre que uma energia mais baixa que a anteriormente encontrada, esse mínimo é adicionado e a mudança aleatória das coordenadas prossegue procurando por novos mínimos.
Uma desvantagem da otimização global de Monte Carlo é a necessidade de determinar quantos passos serão utilizados, sendo um ciclo correspondente à uma alteração nas coordenadas da molécula conforme dito anteriormente. Dessa forma, se o número de passos definido for insuficiente, é possível que o mínimo encontrado não corresponda ao mínimo global, e sim a um dos vários mínimos locais.
Entre as informações solicitadas para a execução do programa estão o número de passos de Monte Carlo, o uso de movimentos cartesianos ou torcionais, a distância (em ângstrons) e o ângulo máximo que cada passo pode avançar na deformação da estrutura, a temperatura a ser considerada e por fim o gradiente RMS, que também podem ser acrescentados no fim da linha de cálculo:
Nessa seção, tentamos levantar alguns dos erros que tivemos durante nossos projetos na execução dos programas do pacote, assim como as soluções que encontramos.
Esse erro é referente à ausência de parametros no arquivo .prm especificado no arquivo .key. Após essa mensagem, o usuário também receberá quais são os parâmetros faltantes.
Infelizmente, não existe solução simples para esse problema. Se os parâmetros não estão no arquivo .prm, é necessário que o usuário adquira esses parâmetros de alguma forma, seja pela literatura ou por cálculos de mecânica quantica. Na literatura é possivel encontrar muitos parâmetros complementares para campos comuns, como o AMBER e o CHARMM, mas, se o desenvolvimento de parâmetros for necessário, recomendamos que o usuário tenha pleno conhecimento do campo de força que está sendo utilizado (sua forma funcional e parametrização), a fim de obter resultados coerentes.
Uma outra abordagem é a aproximação dos parâmetros faltantes para parâmetros que já estão incluidos no campo. Visto que um átomo pode representar mais de um tipo de átomo, eventualmente o parâmetro faltante pode ser aproximado para outro parâmetro já incluído no campo que possui o mesmo átomo, mas não o mesmo tipo de átomo. Cabe ao usuário avaliar se essa substituição é ideal e se há necessidade na alteração de cargas.
Todos os parâmetros faltantes podem ser incluidos no arquivo .key, após a especificação do local do arquivo .prm a ser utilizado.
Durante a execução do monte, existe a possibilidade do TINKER não conseguir trabalhar com o input apresentado, nesse caso, o programa rodará normalmente, mas o output recebido será algo assim:
Nesse caso, o cálculo inical do input está um valor absurdamente baixo e claramente errado. Sendo assim, nenhuma estrutura que for gerada durante dos passos de Monte Carlo apresentará uma energia mais baixa que esta, e a molécula não será otimizada.
Uma abordagem que pode ser testada nessa situação é a utilização do scan para a geração de alguns confôrmeros. Usando os confôrmeros gerados pelo scan como input para o monte pode resolver esse problema.
[1] Mackerell, a D., Jr, Bashford, D., Bellott, M., Dunbrack, R. L., Evanseck, J. D., … Karplus, M. (1998). All-Atom Empirical Potential for Molecular Modeling and Dynamics Studies of Proteins. J Phys Chem B, 102(97), 3586–3616. http://doi.org/10.1021/jp973084f [2] Cornell, W. D., Cieplak, P., Bayly, C. I., Gould, I. R., Merz, K. M., Ferguson, D. M., … Kollman, P. a. (1995). A Second Generation Force Field for the Simulation of Proteins, Nucleic Acids, and Organic Molecules. Journal of the American Chemical Society, 117(19), 5179–5197. http://doi.org/10.1021/ja00124a002 [3] Wang, J., Cieplak, P. and Kollman, P. A. (2000), How well does a restrained electrostatic potential (RESP) model perform in calculating conformational energies of organic and biological molecules?. J. Comput. Chem., 21: 1049–1074. 9doi:10.1002/1096-987X(200009)21:12<1049::AID-JCC3>3.0.CO;2-F [4] Grebner, C., Becker, J., Stepanenko, S. and Engels, B. (2011), Efficiency of tabu-search-based conformational search algorithms. J. Comput. Chem., 32: 2245–2253. doi:10.1002/jcc.21807 [5] Li, Z., & Scheraga, H. a. (1987). Monte Carlo-minimization approach to the multiple-minima problem in protein folding. Proceedings of the National Academy of Sciences of the United States of America, 84(19), 6611–6615. http://doi.0.1073/pnas.84.19.6611