Top Banner
GROMACS: Tutorial para iniciantes (em Português-BR) [GROMACS: Beginners Tutorial (Portuguese-Brazil)]
29
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: GROMACS-Tutorial(Portuguese_BR)v.1.2

1

GROMACS: Tutorial para iniciantes (em Português-BR)

[GROMACS: Beginners Tutorial (Portuguese-Brazil)]

Page 2: GROMACS-Tutorial(Portuguese_BR)v.1.2

2

- Tutorial Introdutório GROMACS -

GROMACS: Tutorial para iniciantes (em Português-BR)

[GROMACS: Beginners Tutorial (Portuguese-Brazil)]

(Jan/2010)

Versão 1.2

Ricardo O. S. Soares , MsC.Group of Biological Physics, Dept. of Physics & Chemistry, Pharmaceutics Sciences Faculty from Ribeirão Preto - University of São Paulo.

Av. do Café, S/N - ZIP:14040-903 - Ribeirão Preto, São Paulo, Brazil - Phone: +55 1636024840.

http://lattes.cnpq.br/0777038258459931

[email protected], [email protected]

Page 3: GROMACS-Tutorial(Portuguese_BR)v.1.2

3

- Tutorial Introdutório GROMACS -

Considerações Gerais

Motivação do Tutorial. Este tutorial vem com o objetivo de introduzir passo a passo uma simulação simples de dinâmica molecular em proteínas utilizando o pacote de programas GROMACS. Inicialmente elaborado para auxiliar estudantes iniciantes nesse campo em nosso laboratório, este tutorial em português foi adaptado para atender as necessidades de um público mais geral. Agradeço o Dr. David van der Spoel pelo convite e pela oportunidade.

Versão GROMACS Utilizada. Neste tutorial utilizamos a versão 3.3.3, imediatamente anterior à versão 4.0. Esta última versão contém algumas inovações, porém ainda não se conhecem eventuais bugs que possam emergir, por isso é desejável aguardarmos um pouco mais.

Para quem serve esse tutorial (Pré Requisitos). Este manual serve para estudantes de graduação ou pós graduação que não possuam noção alguma sobre a dinâmica molecular, em especial no funcionamento do pacote GROMACS. O usuário deve estar habituado com conceitos básicos da computação. Habilidade básica em Linux é desejável, porém o tutorial traz algumas dicas e uma tabela básica de comandos que podem ajudar aqueles que nunca trabalharam com esse sistema operacional.

Dificuldade do Tutorial. É muito importante que o usuário possua fidelidade em seguir os passos, para maior eficiência. Não é recomendado substituir uma proteína por outra (neste tutorial), visto que as cargas, número de aminoácidos etc mudam, muitas vezes radicalmente, o que pode alterar drasticamente os resultados finais. Este texto foi escrito pensando como um aluno que nunca teve contato com a área, então acredito que não existam grandes dificuldades.

Atualização do Tutorial. O tutorial tentará manter-se atualizado, no entanto, caso algum link apresentado aqui não funcione, por favor, escreva no e-mail de contato (página anterior), para atualização.

Page 4: GROMACS-Tutorial(Portuguese_BR)v.1.2

4

- Tutorial Introdutório GROMACS -

Dicas gerais:

- Sempre leia o manual oficial, ele tem informações muito importantes sobre a dinâmica molecular e o funcionamento do GROMACS.

- Ainda não se tem notícia de um tutorial que consegue esclarecer completamente o usuário, dúvidas sempre existirão. O que fazer nesses casos? www.google.com

- O console (ou terminal) é uma janela que aceita comandos de texto e oferece uma interface poderosa. Se você estiver começando a trabalhar noLinux, habitue-se a utilizá-lo sempre. Procure em seu sistema como você acessá-lo.

Lista de Comandos básicos no console do Linux:

Acessar diretório .........................................................................cd “nome do diretório”Criar diretório .........................................................................mkdir “nome do diretório”Remover diretório.................................................................... rm –r “nome do diretório”Remover arquivo ........................................................................rm “nome do arquivo”Visualizar nome de arquivos no diretório, em lista ............................................... ls -lktCopiar arquivo .........................cp “nome do arquivo” “/caminho_da_pasta_alvo”Mover arquivo ......................... mv “nome do arquivo” “/caminho_da_pasta_alvo”Renomear arquivo ............................................mv “nome do arquivo” “novo nome”Descompactar arquivos tar.gz ................................................. tar zxvf “arquivo.tar.gz”Modo superusuário ................................................su “password” ou sudo “password”

Dica: utilize a função da tecla “tab” de completar os nomes de arquivos e comandos no console do Linux, isso traz mais dinâmica à interface. Exemplificando, se você digitar a chamada do programa “grompp”, digitando apenas “grom” e pressionando a tecla “tab” o console completa o resto para você. Isso é particularmente útil para arquivos de nome longo, como 1TSK_273K_langevin01.gro.

Page 5: GROMACS-Tutorial(Portuguese_BR)v.1.2

5

- Tutorial Introdutório GROMACS -

Tutorial GROMACS

1.0 Configuração do Sistema

Apesar de existirem maneiras de se obter versões do GROMACS para o sistema operacional Windows®, com ênfase não se recomenda o uso destas, pois o código do programa já vem pronto para ser compilado em Linux™, com todas as otimizações necessárias para se obter um melhor desempenho. Além do mais, vários dos pré-requisitos são também otimizados para Linux, além do qual por si só oferece plataforma para processamento muito mais rápido que o outro sistema operacional. Por esta e outras razões, optamos pela elaboração de um tutorial direcionado para Linux.

1.0.1 Downloads e criação de pastas

Apresento aqui duas alternativas: o usuário pode optar por baixar (download) as pastas com os arquivos já prontos, concentrando-se apenas na simulação em si; ou seguir os passos iniciais do tutorial para a criação desses arquivos. A primeira opção é mais rápida, porém a segunda é mais informativa e altamente recomendada, visto que explica vários dos fundamentos da parametrização da simulação.

1.1 Pré-requisitos

Para se obter máximo desempenho do GROMACS, é necessária a instalação de alguns aplicativos adicionais antes do procedimento principal.Essa seção descreve passo a passo as etapas dessa preparação inicial. É importante ressaltar que a instalação é a mesma para computadores multi core, e sistemas 32 ou 64 bits. Caso haja algum problema de permissão para acessar pastas ou modificar arquivos, utilize no terminal o comando “sudo chmod 777 ‘nome do arquivo/ou pasta’” para torná-lo (a) acessível (cuidado com arquivos de sistema!).

Atenção: Antes de começar, certifique-se que você instalará tudo em áreas de livre acesso do Linux, ou, preferencialmente nas pastas default como super usuário (requer senha).

Page 6: GROMACS-Tutorial(Portuguese_BR)v.1.2

6

- Tutorial Introdutório GROMACS -

(I) Compiladores:

Para compilar o código fonte GROMACS (veja na seção 1.2 como proceder para obtê-lo) devemos primeiramente possuir os subsídios para transformá-lo em um aplicativo executável, ou seja, precisamos de compiladores. Neste caso, são necessários compiladores C/C++ e FORTRAN, os quais se encontram na maioria dos casos já instalados em distribuições Linux mais recentes. Via de regra, apenas o primeiro compilador é necessário, mas o segundo - em conjunto com o primeiro – se faz desejável pela otimização de loops internos do GROMACS, aumentando a velocidade geral das simulações1. Usuários de Linux (K)Ubuntu podem baixar, se necessário, os compiladores g++ (necessário para a instalação do passo II) e g77 através dos comandos “sudo apt-get install g++” e “sudo apt-get install g77” para a tarefa ou de maneira mais visual pelo aplicativo de instalação automática “Synaptic ou Adept Package Manager”, encontrados no Ubuntu/Kubuntu.

(II) LAM/MPI:

Se o usuário desejar que o programa funcione através de processamento em paralelo2,3 (altamente recomendável), ele pode obter os códigos fonte livres através do endereço:

ftp://ftp.gromacs.org/pub/prerequisite_software/lam-7.0.6.tar.gz

1 Para notificar-se se você já possui o g77, vá ao console, digite “g7” e tecle “TAB”. Caso o console complete “g7” para “g77”, tudo bem, caso contrário ele está ausente do sistema. O mesmo procedimento serve para o “g+”.2 O processamento em paralelo é um processamento que utiliza mais de um processador. Então em uma máquina Dual Core, é possível o processamento por dois núcleos. Isso aumenta dramaticamente a velocidade da simulação.3 Para descobrir quantos processadores existem em seu computador, digite no terminal: “grep processor /proc/cpuinfo”. Atenção que a contagem inicia-se no zero, ou seja um dual core terá processador 0 e processador 1 (dois, portanto).

Page 7: GROMACS-Tutorial(Portuguese_BR)v.1.2

7

- Tutorial Introdutório GROMACS -

Após descompactar o arquivo em uma pasta de sua preferência, entre nesta e através do console digite e entre:

Caso queira, você pode escolher o diretório de instalação com o comando “--prefix”. É possível também a escolha de seus compiladores preferidos, respectivamente para C (CC), C++ (CXX) e/ou FORTRAN (FC), com o comando abaixo:

Prossiga com:

Agora a instalação propriamente dita:

Tudo pronto. Qualquer eventual problema relacionado com essa instalação é só acessar os fóruns dehttp://www.lam-mpi.org.

(III) Biblioteca FFTW:

Esta livraria é responsável pelas rotinas de transformadas de Fourier no programa principal. Não é obrigatória, porém é gratuita, mais robusta e mais rápida que a versão distribuída e já incorporada ao código do

./configure(aguarde o processamento...)

./configure CC=cc CXX=g++ FC=f77 prefix=/diretorio/de/instalação(aguarde o processamento...)

make(aguarde o processamento...)

make install(aguarde o processamento...)

Page 8: GROMACS-Tutorial(Portuguese_BR)v.1.2

8

- Tutorial Introdutório GROMACS -

GROMACS4. Neste tutorial sugerimos a versão FFTW 3.2.2atualmente, a qual pode ser obtida no endereço:

ftp://ftp.fftw.org/pub/fftw/fftw-3.2.2.tar.gz

Para a configuração manual deste pacote é interessante procedermos com as versões simples e dupla precisão, mas você pode escolher apenas uma, a de sua preferência. Existem muitas discussões sobre vantagens e desvantagens entre os dois tipos de precisão. De forma simplificada, a precisão simples é mais rápida e menos refinada; características estas contrárias da dupla precisão. Para uma discussão mais aprofundada sobre o assunto, visite os fóruns (mailing list) de http://www.gromacs.org.

Primeiramente, é necessário que você possua a biblioteca “libc6-dev”, que trabalha juntamente com o compilador C. Novamente, esta biblioteca pode ser obtida pelo Synaptic ou Adept nos sistemas Linux (K)Ubuntu, ou pelo console.

Para precisão simples, vá ao diretório onde foramdescompactados os arquivos e digite no console:

Caso escolha a precisão dupla, digite o mesmo comando acima, exceto o “--enable-float”.

Atenção, para precisão simples: se você utiliza computador plataforma i686 ou x86-64, adicione ao fim do comando acima “--enable-sse”; se você utiliza Pentium4, Xeon ou x86-64, adicione “--enable-sse2”.Caso você não tenha conhecimento da arquitetura do sistema, utilize no console o comando “uname -m” para descobrir. Mais uma vez, recomenda-se a instalação do diretório default, mas caso deseje mudar o endereço, é

4 Os próprios desenvolvedores do GROMACS aconselham a utilização da livraria externa FFTW.

./configure --enable-float --enable-threads prefix=/dir/de/instalação(aguarde o processamento...)

Page 9: GROMACS-Tutorial(Portuguese_BR)v.1.2

9

- Tutorial Introdutório GROMACS -

só manter a última parte do comando acima (“--prefix=/...”).

Prosseguindo com a instalação, construa o arquivo:

Agora a instalação:

Agora a instalação:

Agora, os preparativos estão prontos. Hora da instalação do GROMACS.

1.2 Instalação do GROMACS

Primeiramente é necessário a obtenção do código fonte, dessa forma, acesse o link abaixo para a versão mais atual no momento (3.3.3)5:

ftp://ftp.gromacs.org/pub/gromacs/gromacs-3.3.3.tar.gz

Após a extração dos arquivos comprimidos, é hora da configuração. Acesse o diretório em que GROMACS foi descompactado e entre:

O segundo termo é necessário em nosso tutorial, pois pretendemos executar o programa em paralelo, obtendo assim maior velocidade. Para precisão dupla, adicione o comando ao fim da linha “--disable-float”. Caso deseje utilizar a versão 2 do fftw (lembre-se que aqui utilizamos a 3), é só adicionar o comando “--with-fft=fftw2” na mesma linha.

5 Fique atento para as versões 4.x. Elas prometem ser muito mais eficientes e inovadoras, porém ainda (por enquanto) um pouco instáveis. Para detalhes, leia a referência 17. Esta versão do guia de instalação provavelmente não servirá perfeitamente para esta versão (para as versões 4.x, baixe a versão apropriada de tutorial em Wiki-GROMACS)

make(aguarde o processamento...)

make install(aguarde o processamento...)

./configure --enable-mpi prefix=/dir/de/instalação(aguarde o processamento...)

Page 10: GROMACS-Tutorial(Portuguese_BR)v.1.2

10

- Tutorial Introdutório GROMACS -

Novamente fique atento para o diretório de instalação. Caso queira escolher um, no caso de não ser possível o acesso de administrador, mantenhao comando “--prefix=/...”, caso contrário, remova essa parte e deixe o programa ser instalado na raiz (recomendado).

Antes do próximo passo, é valido nos atentarmos a uma situação que pode vir a ocorrer. O sistema procura a instalação do FFTW nas pastas /usr/local/include e /usr/local/lib. Se você instalou o FFTW sem a opção de escolher o local de instalação, é muito provável que eles estejam no endereço procurado e não haja problemas. Caso contrário, se você escolheu um diretório para instalação, como por exemplo “/home/computador/fftw”, então é necessário os comandos de exportação abaixo:

Para sistemas shell tcsh:

Para sistemas shell bash:

Não se preocupe caso você não saiba qual é seu tipo de “shell”, se por exemplo você digitar um desses comandos “bash” em sistema “tsch”, ele não funcionará, nesse caso, troque o comando.

Se neste ponto você se arrependeu de algum comando ou se equivocou na parte de configuração do GROMACS, é só digitar o comando abaixo e digitar novamente o comando de configuração com os parâmetros desejados.

Estamos quase finalizando a instalação. Agora mais um passo: a compilação. Para isso simplesmente digite:

Finalmente, para concluir a instalação, o último

setenv CPPFLAGS -I/home/computador/fftw/include setenv LDFLAGS -L/home/computador/fftw/lib

export CPPFLAGS=-I/home/computador/fftw/include export LDFLAGS=-L/home/computador/fftw/lib

make distclean(aguarde o processamento)

make(aguarde o processamento – vá tomar um café)

Page 11: GROMACS-Tutorial(Portuguese_BR)v.1.2

11

- Tutorial Introdutório GROMACS -

Então:

Para atribuir os programas do pacote aos atalhos, construa os links com o comando:

Tudo pronto! Agora vamos ao ponto principal deste tutorial.

2.0 Simulação de proteínas solvatadas por Dinâmica Molecular (em 10 passos)

1º Passo : Criando as pastas

Vamos primeiramente criar pastas que acomodarão os arquivos necessários de forma organizada (caso você tenha optado por não baixar as pastas). Lembrando que é importante copiar os nomes de forma idêntica aos apresentados aqui (sem acentos), crie uma pasta geral para você trabalhar e colocar seus arquivos e subpastas; nomeie-a “Tutorial”. Em seguida dentro desta, crie 5 pastas: “adicionar_ions”, “minimizacao”, “restricao”, “dinamica” e “dados”.

2º Passo: Obtendo o modelo protéico

Agora precisamos obter a estrutura protéica a qual participará da simulação. Para isso vá para o depósito oficial de arquivos de estrutura de proteínas na internet, o RCSC-PDB (Research Collaboratory for Structural Bioinformatics –Protein Data Bank), mais conhecido simplesmente como PDB (http://www.pdb.org/).

make install(aguarde o processamento – outro café...)

make links(aguarde o processamento)

Page 12: GROMACS-Tutorial(Portuguese_BR)v.1.2

12

- Tutorial Introdutório GROMACS -

Aqui utilizaremos a proteína TS-Kappa. Localize a barra de busca e digite “1TSK”. Abrindo a página correspondente, clique no ícone “Download PDB file” (Fig. 2.1)

Uma vez em posse de “1tsk.pdb”, você pode visualizá-lo para ter mais intimidade com este tipo de arquivo. Para isso é obviamente necessário algum programa de visualização como o PyMol (http://pymol.sourceforge.net/), DeepView-SwissPDBViewer (http://spdbv.vital-it.ch/), Rasmol (http://www.umass.edu/microbio/rasmol/) , VMD (http://www.ks.uiuc.edu/Research/vmd/), entre outros.

3º Passo:

Com o arquivo “1tsk.pdb” salvo na pasta “Tutorial”, agora devemos criar três arquivos essenciais, os quais guardam os valores dos parâmetros desejados para a simulação.Crie primeiro três arquivos de texto vazios. Em seguida copie o conteúdo de cada quadro abaixo (com exceção das explicações de cada linha entre parênteses, de cor cinza)6 em cada arquivo separadamente, produzindo assim três tipos diferentes. Nomeie cada arquivo de acordo com o cabeçalho do conteúdo copiado: “minimizacao.txt”, “restricao.txt” e “dinamica.txt”. Agora mude a extensão dos arquivos de “.txt” para “.mdp”. Finalmente, mova os arquivos às pastas assinaladas da maneira indicada na tabela abaixo:

6 Para maiores explicações, favor referir-se ao manual gromacs. ftp://ftp.gromacs.org/pub/manual/manual-3.3.pdf

Figura 2.1. Download da proteína 1TSK no site do PDB.

Page 13: GROMACS-Tutorial(Portuguese_BR)v.1.2

13

- Tutorial Introdutório GROMACS -

minimizacao.mdp à pasta “minimizacao” minimizacao.mdp * à pasta “adicionar_ions”restricao.mdp à pasta “restricao”dinamica.mdp à pasta “dinamica”

*Faça uma cópia

------minimizacao.mdp------cpp = /usr/bin/cpp (Localização do pré processador C)

define = -DFLEXIBLE (Define a flexibilidade do soluto)

contraints = none (Tipo de restrição)

integrator = steep (Tipo de integrador, aqui o “steepest descent”)

nsteps = 200 (Número de passos)

nstlist = 10 (Freqüência de atualização da lista de vizinhos, em passos)

rlist = 1.0 (Raio de corte para vizinhos de baixo alcance)

coulombtype = pme (Eletrostática de Coulomb, aqui escolhemos a “Fast Particle-Mesh Ewald”)

rcoulomb = 1.0 (Raio de corte Coulomb)

vdw-type = cut-off (Tipo de energia Van der Waals, aqui “cut-off”)

rvdw = 1.0 (Raio de corte para Lennard-Jones ou Potencial de Buckingham)

nstenergy = 500 (Freqüência a escrever as energias no arquivo)

emtol = 1000.0 (valor máximo para a convergência de energia, em kJ.Mol-1.nm-1)

emstep = 0.01 (passo inicial, em nm)

---------------------------

Page 14: GROMACS-Tutorial(Portuguese_BR)v.1.2

14

- Tutorial Introdutório GROMACS -

---------------restricao.mdp-----------------cpp = /usr/bin/cpp (Localização do pré processador C)

define = -DPOSRES (Define a flexibilidade/mobilidade do soluto, aqui restrita)

contraints = all-bonds (Tipo de restrição)

integrator = md (Tipo de integrador, aqui o “md”)

nsteps = 50000 (Número de passos: nsteps X dt = Tempo da simulação em ps)

dt = 0.002 (“Time-Step”, para integração, em ps)

nstlist = 10 (Freqüência de atualização da lista de vizinhos, em passos)

nstxout = 100 (Frequencia a escrever a trajetória em arquivo)

nstvout = 100 (Frequencia a escrever as velocidades em arquivo)

nstxtcout = 100 (Frequencia a escrever as coordenadas em arquivo)

nstenergy = 100 (Frequencia a escrever as energias em arquivo)

rlist = 1.0 (Raio de corte para vizinhos de baixo alcance)

coulombtype = pme (Eletrostática de Coulomb, aqui escolhemos a “Fast ParticleMesh Ewald”)

rcoulomb = 1.0 (Raio de corte Coulomb, em nm)

rvdw = 1.0 (Raio de corte para Lennard-Jones ou Potencial deBuckingham)

Tcoupl = Berendsen (Tipo de temperatura, aqui usamos o “berendsen”)

tc-grps = protein non-protein (grupos separados ao banho de temperatura)

tau-t = 0.1 0.1 (Constante de tempo para a temperatura)

ref-t = 298 298 (Temperatura, em Kelvin)

energygrps = Protein SOL (Monitoramento de Energia)

Pcoupl = no (Barostato, desligado)

tau_p = 0.5 (Valor de Tau, no termostato de Berendsen)

compressibility = 4.5e-5 (Compressibilidade da água a 1 ATM e 300k, unidade em bar-1)

ref_p = 1.0 (Referencial para o barostato de Berendsen)

gen_vel = yes (Gerar velocidades iniciais por distribuição de Maxwell)

gen_temp = 298.0 (Temperatura inicial, em Kelvin)

gen_seed = 116247 (Semente do número aleatório inicial)

-------------------------------------------

Page 15: GROMACS-Tutorial(Portuguese_BR)v.1.2

15

- Tutorial Introdutório GROMACS -

Importante: No manual do GROMACS existe cada um desses parâmetros bem detalhados (em inglês)

4º Passo: Convertendo o arquivo .pdb em topologia .gro

Agora vamos efetivamente começar a trabalhar com os programas do GROMACS!

O programa pdb2gmx (Protein Data Bank to GROMACS), como o nome já diz, transforma arquivos .pdb em arquivos GROMACS com a extensão .gro, as quais são apropriadas para a dinâmica molecular neste pacote específico. Esteprograma, excluindo-se mdrun, é o que mais solicita os arquivos de campo de força, sendo distribuídos em conjunto com GROMACS os seguintes:

---------------dinamica.mdp-----------------cpp = /usr/bin/cpp (Localização do pré processador C)

define = -DFLEXIBLE (Define a flexibilidade/mobilidade do soluto, aqui livre)

contraints = all-bonds (Tipo de restrição)

integrator = md (Tipo de integrador, aqui o “md”)

nsteps = 500000 (Número de passos. nsteps X dt = Tempo da simulação em ps)

dt = 0.002 (“Time-Step”, para integração)

nstxout = 100 (Frequencia a escrever a trajetória em arquivo)

nstvout = 100 (Frequencia a escrever as velocidades em arquivo)

nstxtcout = 100 (Frequencia a escrever as coordenadas em arquivo)

nstenergy = 500 (Frequencia a escrever as energias em arquivo)

nstlist = 10 (Freqüência de atualização da lista de vizinhos, em passos)

rlist = 1.0 (Raio de corte para vizinhos de baixo alcance)

coulombtype = pme (Eletrostática de Coulomb, aqui escolhemos a “Fast ParticleMesh Ewald”)

rcoulomb = 1.0 (Raio de corte Coulomb)

vdw-type = cut-off (Tipo de energia Van der Waals, aqui “cut-off”)

rvdw = 1.0 (Raio de corte para Lennard-Jones ou Potencial deBuckingham)

Tcoupl = Berendsen (Tipo de temperatura, aqui usamos o “berendsen”)

tc-grps = protein non-protein (grupos separados ao banho de temperatura)

tau-t = 0.1 0.1 (Constante de tempo para a temperatura)

ref-t = 298 298 (Temperatura, em Kelvin)

energygrps = Protein SOL (Monitoramento de Energia)

Pcoupl = no (Barostato, desligado)

tau_p = 0.5 (Valor de Tau, no termostato de Berendsen)

compressibility = 4.5e-5 (Compressibilidade da água a 1 ATM e 300k, unidade em bar-1)

ref_p = 1.0 (Referencial para o barostato de Berendsen)

gen_vel = yes (Gerar velocidades iniciais por distribuição de Maxwell)

gen_temp = 298.0 (Temperatura inicial, em Kelvin)

gen_seed = 116247 (Semente do número aleatório inicial)

-------------------------------------------

Page 16: GROMACS-Tutorial(Portuguese_BR)v.1.2

16

- Tutorial Introdutório GROMACS -

O programa é bastante interativo: permite ao usuário escolher a carga (número e posição) dos aminoácidos dissociáveis (Asp, Glu, Cys, Lys ou His), bem como suas possíveis associações com grupos heme (His) ou pontes dissulfeto (Cys-Cys). Pontes de hidrogênio são definidas com base em simples critério geométrico, especificado pelo ângulo hidrogênio-doador-aceptor máximo e distância doador-aceptor (-angle e -dist, respectivamente). No caso de cadeias consecutivas em um único arquivo .pdb, pdb2gmx pode, através da opção –merge, juntar tudo em uma única definição de molécula, o que pode ser útil no manuseio de alguns tipos de arquivos com pontes dissulfeto.

Na conversão, os átomos são rearranjados de acordo com a arquitetura GROMACS. No entanto, os formatos .gro e .g96 não apresentam suporte a identificadores de cadeias, por isso seria útil a utilização de uma entrada .pdbatravés do comando –o.

A movimentação diedral pode ser alterada tanto pela eliminação de hidrogênios e substituição de anéis aromáticos comuns por “virtuais”, quanto pelo aumento da massa dos hidrogênios por um fator de 3 (o que pode também ser feito com a água – deutério/trítio). O aumento da massa dos hidrogênios é compensado pela diminuição da massa de átomos pesados bem fixados por fortes ligações, então a massa total do sistema permanece a mesma.

Através do comando, no diretório “Tutorial” onde está localizado 1TSK.pdb(atente-se para as letras maiúsculas),digite:

pdb2gmx –f 1TSK.pdb –o proteina01.gro –p topologia.top –inter -ignh

oplsaa OPLS-AA/L all-atom force field (2001 aminoacid dihedrals)

G43b1 GROMOS96 43b1 Vacuum Forcefield

G43a1 GROMOS96 43a1 Forcefield

G43a2 GROMOS96 43a2 Forcefield (improved alkane dihedrals)

G45a3 GROMOS96 45a3 Forcefield

G53a5 GROMOS96 53a5 Forcefield

G53a6 GROMOS96 53a6 Forcefield

gmx Gromacs Forcefield (a modified GROMOS87, see manual)

encads Encad all-atom force field, using scaled-down vacuum charges

encadv Encad all-atom force field, using full solvent charges

Page 17: GROMACS-Tutorial(Portuguese_BR)v.1.2

17

- Tutorial Introdutório GROMACS -

Explicando os parâmetros: “-f” sempre significa entrada de dado; “-o” indica o arquivo de saída, ou seja, você pode dar o nome que quiser (aqui nós geramos o “proteina01.gro”); “-p” é a entrada do arquivo de topologia (nesteúnico caso é a saída, pois o estamos gerando); “-inter” permite o usuário escolher manualmente o posicionamento de pontes dissulfeto, campo de força etc; “-ignh”: ignorar átomos de hidrogênio do arquivo .pdb.

O programa irá lhe apresentar algumas opções, aqui vão elas:

• escolha do campo de força: escolha o OPLS-AA/L;• escolha das cargas: lisinas (+1), argininas (+1), NH+(+1), ácido

aspártico (-1), COO-(-1);• escolha das pontes dissulfeto: ligue todas as três, pressione “y” para

isso.

Juntamente com os arquivos “proteina01.gro” e “topologia.top”, também foi gerado o “posre.itp”, o qual inclui-se na topologia da molécula como restrição às moléculas de água a serem adicionadas mais tarde.

5º Passo: Criando a caixa de simulação

Agora precisamos criar um ambiente para abrigar a proteína juntamente com a água (ainda ausente). Para este fim se enquadra o programa editconf. Neste o arquivo de entrada é “proteina01.gro”, o qual será modificado para “proteina02.gro”, agora adicionado da caixa cúbica vazia. Digite o comando abaixo:

editconf é um programa essencial para o propósito de dinâmica molecular de proteínas solvatadas, e como tal, apresenta várias funções. Primeiramente, editconf converte estruturas genéricas aos formatos .gro, .g96 ou .pdb. No entanto, essa conversão pode dar-se ao mesmo tempo em que se

editconf –f proteina01.gro –o proteina02.gro –bt cubic –c –d 1.2

Page 18: GROMACS-Tutorial(Portuguese_BR)v.1.2

18

- Tutorial Introdutório GROMACS -

constrói a caixa de solvatação ao redor da proteína, com os seguintes parâmetros: -box, -d, -angles, -bt, especificando respectivamente três vetores como arestas da caixa, centralizando o sistema (raio de corte, em nanômetros), gerando ângulos dos vértices e finalmente determinando o tipo de caixa triclinic, cubic, dodecahedron ou octahedron. Observe que opções como –bt podem ser conflitantes com funções –box e –angle, já que a variação angular e de arestas é rígida ou inválida em caixas pré determinadas (triclinic, cubic, dodecahedron).

A opção –box requer apenas um valor para uma caixa cúbica, dodecaedro e octaedro truncado. Com –d e uma caixa triclínica o tamanho especificado em –box é utilizado. Com –d e uma caixa cúbica, dodecaédrica ou octaédrica, as dimensões são ajustadas ao diâmetro do sistema, ou seja à maior distância entre átomos, mais duas vezes a distância especificada (no caso, 1.2 nm). Observe a figura 2.2 (o quadrado representa a caixa).

6º Passo: Adicionando água à caixa de simulação

genbox é um aplicativo importante no pacote GROMACS, com ele efetuaremos o preenchimento da caixa contendo uma proteína com moléculas de água. Este processo leva em conta os contatos por raios de van der Waals entre soluto e algumas moléculas de solvente, removendo assim as segundas e evitando um conflito espacial. Essa análise é feita com base nos dados encontrados no arquivo padrão vdwradii.dat;

O modelo de água que utilizaremos é o Simple Point Charge water (SPC), sendo este apontado pelo arquivo da biblioteca spc216.gro. Naturalmente

Figura 2. 2. Exemplificando o distanciamento na caixa cúbica. Em nosso caso, atribuímos d=1.2 nm.

Page 19: GROMACS-Tutorial(Portuguese_BR)v.1.2

19

- Tutorial Introdutório GROMACS -

podemos escolher outros modelos de água que apresentam suporte para esteprograma, sendo incluídos no banco de dados como novas substâncias ou como modificações de outras já existentes, sendo a única restrição para isso é que suas moléculas sejam monoméricas.

Para este passo, digite no console, ainda no diretório principal:

7º Passo: Lidando com possíveis cargas

A presença de aminoácidos e terminais protéicos carregados pode gerar um desequilíbrio na topologia geral da proteína durante a simulação, já que o sistema como um todo, por ser micro canônico (NVE: partículas,volume e energia constantes), necessita ter uma carga resultante igual a zero (neutra). Este programa adiciona cargas contrárias a aquelas geradas durante a conversão do arquivo .pdb (pelo programa pdb2gmx), substituindo uma parte do conjunto (proteína, solvente, aleatoriamente etc.) à escolha do usuário. Em nosso caso, as extremidades C e N da proteína, bem como os aminoácidos carregados positivamente (como lisinas) e outros negativamente (como ác. glutâmicos) geraram carga positiva de +8 e negativa de -3. Isso exige a adição de oito moléculas negativas para a neutralização das cargas positivas e trêspositivas para a neutralização das negativas. Observe que o programa dá a liberdade de substituição, no entanto não é uma boa idéia substituir partes da proteína por estes íons inorgânicos, sendo a melhor opção a troca de 11moléculas (8+3) de solvente (SOL) pelos íons livres, gerando uma carga total neutra no sistema.

Mas antes de procedermos, precisamos comentar sobre o programa grompp, pois ele será necessário agora.

Este é o pré-processador GROMACS (GROMACS PreProcessor). Como o nome diz, ele pré processa um arquivo que irá para a simulação de dinâmica molecular pelo programa mdrun, ou seja, qualquer simulação de dinâmica molecular no GROMACS precisa antes ser parametrizada por este programa.Grompp lê um arquivo de topologia, faz substituições necessárias no que se diz respeito a tipos e configurações moleculares: ângulos e distâncias de ligação podem ser convertidos em restrições (comando -r) por adição de hidrogênios ou átomos pesados. É feita a leitura dos parâmetros a serem utilizados na futura simulação, com correções para uma aceleração resultante se igualar a zero,

genbox –cp proteina02.gro –o proteina03.gro –p topologia.top –cs spc216.gro

Page 20: GROMACS-Tutorial(Portuguese_BR)v.1.2

20

- Tutorial Introdutório GROMACS -

criando um arquivo binário o qual será a base para o mdrun trabalhar. O comando –debug, o programa retorna mais detalhes do que foi feito no processo.

Assim como mdrun, grompp também oferece suporte à paralelização do sistema em múltiplos processadores. O comando –shuffle é fundamental para a tarefa de distribuição automática igualitária de processamento entre os vários nós do cluster; essa parte da simulação pode ser utilizada conjuntamente com –sort, o qual otimiza o processo distribuindo moléculas de acordo com coordenadas do sistema.

No caso de erros ou apenas avisos o programa gera uma pequena saída na tela, alertando o usuário a possíveis correções pré dinâmica molecular.

Este aplicativo oferece suporte ao reinício de uma simulação interrompida por motivos externos ao software, no entanto é tpbconv é mais recomendado nestes casos.

Entre no diretório “adicionar_ions” e digite:

Para manter o número original de átomos no sistema, o prompt do programa vai lhe dar as opções do meio a ser substituído pelos íons neutralizantes a serem introduzidos. A melhor opção para nosso propósito é a remoção de moléculas de água, ou seja, de solvente ( selecione a opção número 12 (SOL)].

8º Passo: Minimização de energia

Este passo é necessário pois rearranja o sistema para promover a remoção de contatos de van der Waals aberrantes originários pelas recém introduzidas moléculas de água e pela rede de ligações de hidrogênio rompidas. Essas variações espaciais podem gerar energias extremas, as quais funcionam como estopins e são liberadas logo no inicio da etapa da dinâmica

grompp –f minimizacao.mdp –o minimizacao.tpr –c ../proteina03.gro –p ../topologia.top

genion –s minimizacao.tpr –o proteina04.gro –p ../topologia.top –np 3 –pname NA+ -nn 8 –nname CL-

Page 21: GROMACS-Tutorial(Portuguese_BR)v.1.2

21

- Tutorial Introdutório GROMACS -

molecular, com alta probabilidade de comprometimento da integridade da estrutura inicial protéica pela ocasional introdução de distorções indesejáveis.

Caso a simulação não convirja para o valor crítico estimulado no arquivo “minimização.mdp”, é só aumentar o valor do parâmetro “emtol”. ...

Entre no diretório “minimização” e digite o comando abaixo:

O pré-processador grompp é necessário para concatenar todos os parâmetros necessários para a simulação em si através da geração de um único arquivo, neste caso o “minimizacao.tpr”. É este arquivo que serve de entrada para o programa principal do pacote GROMACS, o mdrun (responsável pela dinâmica molecular – passo 7).

9º Passo: Dinâmica de restrição

A dinâmica de restrição prepara, neste penúltimo passo, a proteína para a principal simulação. Nesta etapa, a proteína tem seus átomos restringidos, ou seja, seus movimentos ficam limitados enquanto a água é livre para acomodar-se de maneira otimizada ao longo de sua superfície. Fazemos isso porque com a restrição dos movimentos da proteína, a água se organiza em função de um suporte que não varia (na verdade varia, mas muito pouco) e tende a entrar em equilíbrio em seu tempo padrão de relaxamento (~10ps). No entanto, por segurança, é desejável rodarmos a simulação por um tempo de pelo menos uma ordem de magnitude em relação ao valor bioquímico citado (rodaremos nsteps(10000) X dt(0,002) = 20 ps). Para proteínas maiores, recomenda-se um tempo maior, conforme o tamanho da cadeia aumenta.

grompp –f minimizacao.mdp –o minimizacao.tpr –c ../adicionar_ions/proteina04.gro –p ../topologia.top

mdrun –s minimizacao.tpr -v

Page 22: GROMACS-Tutorial(Portuguese_BR)v.1.2

22

- Tutorial Introdutório GROMACS -

Agora vá para o diretório “restricao” e digite:

A porção “–v >&out&” se encarrega de gerar um arquivo “out” que se atualiza constantemente com a previsão de término da simulação. O comando “tail” lê o arquivo “out” e mostra constantemente essa previsão na tela.

10º Passo: Dinâmica Molecular

Finalmente chegamos à parte final do tutorial, aquela que gerará os dados que serão utilizados para nossas análises ulteriores. Mas antes, vamos comentar um pouco sobre este programa central ao pacote GROMACS: o mdrun (Molecular Dynamics Run), o qual é responsável pela dinâmica molecular propriamente dita.

O mdrun é o programa principal do pacote GROMACS. É o motor das simulações de dinâmica molecular, além de ser capacitado a rodar simulações de dinâmica browniana e langevinianas bem como de gradientes conjugados, minimização de energia pelo método da descida oblíqua (mais conhecido como Steepest Descent Energy Minimization) e refinamento de NMR. É importante que a estrutura a entrar em simulação já esteja com sua energia previamente minimizada, para evitar problemas como “explosões” na caixa de hidratação por possíveis contatos próximos demais entre átomos (7º Passo).

Todo o processo desde os arquivos .pdb à conversão ao formato gromos, à confecção da caixa de solvatação, ao preenchimento da mesma etc. foi um caminho de preparação ao mdrun. Este programa lê o arquivo de entrada e distribui a topologia de maneira apropriada ao tipo de simulação, se disponíveis, em processadores paralelos. Primeiramente uma lista de vizinhanças é feita, então as forças começam a serem computadas (com base na temperatura e pressão), globalmente somadas e velocidades e posições são atualizadas. Se necessário, uma “agitação” é feita para se restringir os comprimentos e ângulos das ligações.

grompp –f restricao.mdp –o restrição.tpr –c ../minimizacao/confout.gro –p ../topologia.top

mdrun –s restricao.tpr –v >&out&

tail –f out

Page 23: GROMACS-Tutorial(Portuguese_BR)v.1.2

23

- Tutorial Introdutório GROMACS -

São gerados três arquivos ao fim do processo: a trajetória, o qual contém as coordenadas de todos os átomos ao longo do tempo (portanto as velocidades); a estrutura, guarda as coordenadas e velocidades do último passo; a energia, salva valores de energia, pressão entre outros. Um arquivo de log também é gerado, o qual pode vir a ser útil para fins de arquivamento do processo.

Uma nova realização é possível (pelo comando –rerun) caso haja necessidade. Energias e forças serão recalculadas, busca pela vizinhança será feita em cada passo a menos que –nstlist seja igualado a zero no arquivo de parametrização .mdp. Neste arquivo, podemos também personalizar funções de potenciais para mdrun utilizar. Existem outros potenciais prontos no pacote, tais como os do tipo Lennard Jones com normais Coulomb.

Com a opção –replex, o Replica Exchange Method (método de troca de réplicas) é feito a cada n passos pré determinados, com recomendadas variações de temperatura e semente de gerador de números aleatórios. As velocidades são escaladas e a busca e cálculos de forças vizinhas a todos os átomos são feitos a cada passo.

Sem mais delongas, entre no diretório “dinamica” e digite o seguinte comando:

Tudo pronto, agora é só relaxar e esperar o tempo de simulação, que varia dramaticamente de acordo com cada equipamento. Neste caso que atribuímos nsteps= 500.000 e dt=0,002, a simulação irá até completar seus 1000 ps (ou seja, 1 ns): isso geralmente dura algumas horas em computadores medianos para o ano de 2008.

2.1 Analisando a simulação

Tão importante quanto saber simular trajetórias de proteínas em água por dinâmica molecular é saber como interpretar e apresentar os dados obtidos. Essa seção se propõe a apresentar alguns dos principais programas disponíveis no pacote GROMACS com fins de análise de trajetória.

grompp –f dinamica.mdp –o dinamica.tpr –c ../restricao/confout.gro –p ../topologia.top

mdrun –s dinamica.tpr –v >&out&

tail –f out

Page 24: GROMACS-Tutorial(Portuguese_BR)v.1.2

24

- Tutorial Introdutório GROMACS -

I) RMSD (Root Mean Square Deviation)

Uma das medidas mais comuns para se avaliar a condição da proteína ao longo da trajetória é a quantificação da deformação da estrutura em comparação à referência do ponto inicial. Essa avaliação é feita através do RMSD (Root Mean Square Deviation), e pode ser calculada basicamente de duas maneiras:

- Por ajuste de estruturas (fit). Para cada passo, a proteína é ajustada espacialmente ao modelo inicial, então a seguinte equação é aplicada:

onde ri(t) e ri(o) são respectivamente a posição de um dado átomo no tempo tarbitrário e no tempo inicial t=0. Para este cálculo, utiliza-se no GROMACS o programa g_rms.

- Sem ajuste de estruturas. Com a quantificação do RMSD desta maneira, seu valor tende a ser mais elevado em relação ao método anterior. Neste caso o cálculo é feito por utilização de uma matriz de distância:

onde rij(t) e rij(o) se referem à distância entre os dois átomos i e j respectivamente no tempo t arbitrário e no tempo inicial t=0. Essa medida é feita através do programa g_rmsdist.

Em nossa análise, utilizaremos o primeiro método (no entanto é uma boa idéia o uso de ambos os métodos, com posterior comparação, apenas em nível de aprendizagem). Agora procedamos com o comando (dentro da pasta “dinamica”):

Page 25: GROMACS-Tutorial(Portuguese_BR)v.1.2

25

- Tutorial Introdutório GROMACS -

(Utilize o backbone, opção 4)

O arquivo resultante “rmsd.xvg” deverá ser movido para a pasta “dados” para fins de organização. Este arquivo contém tabelas numéricas com instruções para a confecção de um gráfico. A maneira mais usual para isso é a utilização do programa XMGRACE. Caso não possua este aplicativo, instale-o através do gerenciador de instalação de sua distribuição Linux. Segue abaixo o comando para a leitura da matriz (utilize-o dentro da pasta “dados”):

Dentro do programa, já visualizando o gráfico, acesse as opções e modifique o título, escalas ou qualquer elemento que o agrade. Após este processo, salve o arquivo e o imprima, preferencialmente em arquivo .png (vá em opções de impressão). Observe abaixo um exemplo de um gráfico mostrando o RMSD típico de uma simulação de uma proteína estável.

g_rms –s dinamica.tpr –f traj.xtc –o rmsd.xvg

xmgrace rmsd.xvg

Page 26: GROMACS-Tutorial(Portuguese_BR)v.1.2

26

- Tutorial Introdutório GROMACS -

II) Raio de Giração

Outra medida importante na avaliação do comportamento da estrutura

ao longo do tempo é o raio de giração. Esta análise é responsável pela

verificação da compactação da proteína, a qual aumentará conforme diminui

este índice. O raio de giração é obtido através do programa g_gyrate, que se

utiliza da equação abaixo:

onde ri é a posição do átomo i em relação ao centro de massa Rcm as

molécula e mi é sua respectiva massa.

Para obtermos o gráfico, volte à pasta “dinamica” e digite:

(Selecione o grupo “Protein”)

Uma vez criado o arquivo “raio_giracao.xvg”, mova-o para a pasta de dados e

proceda como para o RMSD. Abaixo um exemplo de um raio de giração

estável.

g_gyrate –s dinamica.tpr –f traj.xtc –o raio_giracao.xvg

Page 27: GROMACS-Tutorial(Portuguese_BR)v.1.2

27

- Tutorial Introdutório GROMACS -

III) Animação

Uma das opções mais divertidas da parte de análise é a de transformar a trajetória em arquivo animado, nos permitindo contemplar a movimentação da proteína de maneira mais intuitiva e visual possível: observando.

Vamos converter os dados de “traj.xtc” para um arquivo de saída com extensão “.pdb”. Essa rotina é realizada pelo programa conversor de formatos (trjconv) através da sintaxe abaixo (digitar dentro do diretório “dinamica”):

(Selecione a opção 1)

trjconv –s dinamica.tpr –f traj.xtc –o filme.pdb

Page 28: GROMACS-Tutorial(Portuguese_BR)v.1.2

28

- Tutorial Introdutório GROMACS -

Para ver o resultado, utilize qualquer visualizador de proteínas com

suporte a frames múltiplos tais como PyMol ou VMD.

3.0 Considerações Finais

Agora você já tem meios de seguir em frente sozinho. Baixe outras proteínas,

estenda a simulação, rode em paralelo, enfim pense sobre o problema e procure

analisar o que seja adequado às suas necessidades. Este tutorial é introdutório, ele te

guiou até aqui e lhe fez economizar considerável esforço, poupando-lhe encontros

com literatura especializada em contato imaturo, o que só serviria para afugentar a

maioria das pessoas. No entanto, conforme vá progredindo, é imperativo o

acompanhamento de artigos mais específicos e densos, pois só assim você progride

de forma satisfatória para lidar com um campo tão emergente quanto complexo

como a dinâmica molecular.

4.0 Leitura Recomendada

[1] Bekker, H.; Berendsen, H. J. C.; Dijkstra, E. J.; Achterop, S.; van Drunen, R.; van der Spoel, D.; Sijbers, A.; Keegstra, H.; Reitsma, B.; Renardus, M. K.Physics Computing 92(Singapore, 1993). de Groot, R. A.; Nadrchal, J.; eds. World Scientific.

[2] Berendsen, H. J. C.; van der Spoel, D.;van Drunen, R. Comp. Phys. Comm. 91:43–56, 1995.

[3] van der Spoel, D.; Lindahl, E.; Hess, B.;Groenhof, G.; Mark, A. E.; Berendsen, H. J. C.J. Comp. Chem., 26:1701–1718, 2005.

[4]Taft, C. A.; Silva, C. H. T. P. (Org.). Current Methods in Medicinal Chemistry and Biological Physics. Kerala; Research Signpost 2007.

[5] Ozkan, S. B.; Dill, K. A.; Bahar, I. Protein Sci. 11: 1958-1970, 2002.

[6] Scott, W. R. P.; Hünenberger, P. H.; Tironi, I. G.; Mark, A. E.; Billeter, S. R.; Fennen, J.; Torda, A. E.; Huber, T.; Krüger, P.; van Gunsteren, W. F. J. Phys. Chem., A. 103: 3596-3607, 1999.

[7] Kony, D.; Damm, W.; Stoll, S.; van Gunsteren, W. F. J. Comput. Chem., 23: 1416–1429, 2002.

[8] Xu, Z.; Luo, H. H.; Tieleman, D. P. J. Comput. Chem., 28: 689–697, 2007.

[9] Kahn, K. & Bruice, T. C. J. Comput. Chem., 23: 977–996, 2002.

Page 29: GROMACS-Tutorial(Portuguese_BR)v.1.2

2

- Tutorial Introdutório GROMACS -

[10] Wensink, E. J. W.; Hoffmann, A. C.; van Maaren, P. J.; van der Spoel, D. J. Chem. Phys., 119: 7308-7317, 2003.

[11] Suardiaz, R.; Maestre, M.; Suárez, E.; Pérez, C. J. Mol. Struct., 778: 21–25, 2006.

[12] Martin, M. Fluid Phase Equilibria, 248: 50–55, 2006.

[13] Pérez, S.; Imberty, A.; Engelsen, S. B.; Gruza, J.; Mazeau, K.; Jimenez-Barbero, J.; Poveda, A.; Espinosa, J. F.; van Eyck, B. P.; Johnson, G.; French, A. D.; Louise, M. L.; Kouwijzer, C. E.; Grootenuis, P. D. J.; Bernardi, A.; Raimondi, L.; Senderowitz, H.; Durier, V.;

Vergoten, G.; Rasmussen, K. Carbohydrate Research 314: 141–155, 1998.

[14] Kaminski, G. & Jorgensen, W. L. J. Phys. Chem., 100: 18010-18013, 1996.

[15] Chen, B.; Martin, M. G.; Siepmann, J. I. J. Phys. Chem. B, 102: 2578-2586, 1998.

[16] Allen, M.P.; Tildesley, D.J. Computer Simulation of Liquids. Clarendon Press, Oxford, 1987.

[17] Hess, B.; Kutzner, C.; van der Spoel, D.; Lindahl, E. J. Chem. Theory Comput., 4:435-447, 2008.