Você está na página 1de 26

GROMACS (4.5.

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


[GROMACS: Beginners Tutorial (Portuguese-Brazil)]

1
- Tutorial Introdutório GROMACS – Ricardo O. S. Soares 2012

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


[GROMACS: Beginners Tutorial (Portuguese-Brazil)]

(Dez/2013)

Versão 1.6
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

rsoares@fcfrp.usp.br

2
- Tutorial Introdutório GROMACS – Ricardo O. S. Soares 2012

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 Prof. Dr. David van der Spoel pelo convite e pela oportunidade.
Dúvidas e sugestões: não hesite em me escrever!

Versão GROMACS Utilizada. Neste tutorial utilizamos a versão 4.5.5, ou seja, os comandos e
procedimentos aqui são compatíveis com as mais novas versões do pacote. Atenção, partir da
versão 4.6, o sistema de instalação mudou completamente, sendo agora utilizado o cmake
(http://www.cmake.org/) para tanto, isso será tratado na próxima versão do tutorial.

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. Dinâmica molecular não é um assunto trivial, é
altamente recomendável ler sobre ela. Pesquise na internet sobre o assunto, leia o manual do
GROMACS, procure livros sobre o assunto.

Dificuldade do Tutorial. É muito importante que o usuário possua fidelidade em seguir os


passos, para maior eficiência. A priori 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.

3
- Tutorial Introdutório GROMACS – Ricardo O. S. Soares 2012

Dicas gerais:

- Sempre leia o manual oficial, ele tem informações muito importantes sobre a dinâmica
molecular e o funcionamento do GROMACS (em inglês:
http://www.gromacs.org/Documentation/Manual).

- 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? Você pode fazer uma pesquisa geral na
internet (http://www.google.com/); pesquisar nos arquivos de dúvidas de usuários do GROMACS
(http://www.gromacs.org/Support/Mailing_Lists) e ainda se inscrever e enviar suas próprias dúvidas,
mas cuidado, provavelmente sua dúvida já foi respondida em algum momento, procure nos arquivos
antes!

- O console (ou terminal) do Linux (aqui usaremos UBUNTU) é uma janela que aceita comandos
de texto e oferece uma interface poderosa. Se você estiver começando a trabalhar no Linux,
habitue-se a utilizá-lo sempre (para simulações numéricas ele pode ser até 10x mais rápido que
o concorrente pago). Procure em seu sistema como você pode 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 -la
Copiar 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.

Tutorial GROMACS

4
- Tutorial Introdutório GROMACS – Ricardo O. S. Soares 2012

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. Atenção: a configuração de sistemas operacionais varia
bastante, então problemas particulares podem aparecer para você. Nesse caso siga as
instruções originais de instalação em http://www.gromacs.org/Downloads/Installation_Instructions

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).

(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

5
- Tutorial Introdutório GROMACS – Ricardo O. S. Soares 2012

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) MPI:

GROMACS suporta multi-processamento2,3. Até pouco tempo era


necessário a instalação de do MPI, no entanto, após as versões 4.5,
este passo se tornou obsoleto, e portanto podemos avançar para o
próximo item.

(III) Biblioteca FFTW:

Esta biblioteca é 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 GROMACS4. Neste tutorial sugerimos a versão FFTW 3.3
atualmente, a qual pode ser obtida no endereço:

http://www.fftw.org/fftw-3.3.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

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 multi-processamento é aquele que utiliza mais de um processador. Então em uma máquina Quad Core, é
possível o processamento por quatro núcleos. Isso aumenta sensivelmente 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).
4
Os próprios desenvolvedores do GROMACS aconselham a utilização da livraria externa FFTW.

6
- Tutorial Introdutório GROMACS – Ricardo O. S. Soares 2012

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 foram descompactados


os arquivos e digite no console:

./configure --enable-float --enable-threads −−prefix=/dir/de/instalação


(aguarde o processamento...)

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, é só manter a última parte do
comando acima (“--prefix=/...”).

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

make
(aguarde o processamento...)
Agora a instalação:

Agora a instalação:

make install
(aguarde o processamento...)

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

7
- Tutorial Introdutório GROMACS – Ricardo O. S. Soares 2012

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 (4.5.5)5:

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

Após a extração dos arquivos comprimidos, é hora da configuração. 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 (não importa em qual diretório você esteja):

Para sistemas shell tcsh:

setenv CPPFLAGS -I/home/computador/fftw/include


setenv LDFLAGS -L/home/computador/fftw/lib

Para sistemas shell bash:

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

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.

Agora acesse o diretório em que GROMACS foi descompactado e entre:

./configure --enable-mpi −−prefix=/dir/de/instalação


(aguarde o processamento...)

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 3 do fftw é só adicionar
o comando “--with-fft=fftw3” na mesma linha.

5
Fique atento novas versões saem quase que constantemente. Acompanhe as atualizações no site oficial, seção
de downloads. Para detalhes sobre as versões 4.x.x, leia a referência 17.

8
- Tutorial Introdutório GROMACS – Ricardo O. S. Soares 2012

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, mantenha o comando “--prefix=/...”, caso
contrário, remova essa parte e deixe o programa ser instalado na raiz (recomendado).

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.

make distclean
(aguarde o processamento)

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

make
(aguarde
Finalmente, o processamento
para concluir a instalação,– ová tomar um café)
último

Então:

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

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

make links
(aguarde o processamento)

Tudo pronto! Agora vamos ao ponto principal deste tutorial.

9
- Tutorial Introdutório GROMACS – Ricardo O. S. Soares 2012

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/).

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)

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

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: VMD
(http://www.ks.uiuc.edu/Research/vmd/), PyMol (http://pymol.sourceforge.net/), DeepView -
SwissPDBViewer (http://spdbv.vital-it.ch/), Rasmol (http://www.umass.edu/microbio/rasmol/),
entre outros.

10
- Tutorial Introdutório GROMACS – Ricardo O. S. Soares 2012

minimizacao.mdp  pasta
“minimizacao”
minimizacao.mdp *  pasta “adicionar_ions”

restricao.mdp  pasta “restricao”

dinamica.mdp  pasta “dinamica”

*Faça uma cópia

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:

------minimizacao.mdp------
define = -DFLEXIBLE (Define a flexibilidade do soluto)
constraints = none (Tipo de restrição)
integrator = steep (Tipo de integrador, aqui o “steepest descent”)
nsteps = 200 (Número de passos)
nstlist = 10 (Frequência de atualização da lista de vizinhos, em passos)
rlist = 1.0 (Raio de corte para vizinhos de baixo alcance)
coulombtype = pme (Esquema de tratamento de forças Coulombianas)
rcoulomb = 1.0 (Raio de corte Coulomb)
vdw-type = cut-off (Esquema de tratamento Van der Waals, aqui “cut-off”)
rvdw = 1.0 (Raio de corte para Lennard-Jones ou Potencial de Buckingham)
nstenergy = 500 (Frequê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)
---------------------------

6
Para maiores explicações, favor referir-se ao manual GROMACS.
http://www.gromacs.org/Documentation/Manual

11
- Tutorial Introdutório GROMACS – Ricardo O. S. Soares 2012

---------------restricao.mdp-----------------
define = -DPOSRES (Define a flexibilidade/mobilidade do soluto, aqui restrita)
constraints = all-bonds (Constrições em todas as ligações)
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”, tempo para passo de integração, em ps)
nstlist = 10 (Frequência de atualização da lista de vizinhos, em passos)
nstxout = 100 (Frequência a escrever a trajetória em arquivo)
nstvout = 100 (Frequência a escrever as velocidades em arquivo)
nstxtcout = 100 (Frequência a escrever as coordenadas em arquivo)
nstenergy = 100 (Frequência a escrever as energias em arquivo)
rlist = 1.0 (Raio de corte para vizinhos de baixo alcance)
coulombtype = pme (Esquema de tratamento de forças Coulombianas)
rcoulomb = 1.0 (Raio de corte Coulomb, em nm)
rvdw = 1.0 (Raio de corte para Lennard-Jones)
Tcoupl = v-rescale (Tipo de termostato, aqui usamos o “berendsen modificado”)
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 da proteína e do resto do sistema - em Kelvin)
energygrps = Protein SOL (Monitoramento de Energia)
Pcoupl = Parrinello-Rahman (Barostato de Parrinello-Rahman)
tau_p = 1.0 (Valor de Tau, no termostato de Berendsen, quando ligado)
compressibility = 4.5e-5 (Compressibilidade da água a 1 ATM e 300k, unidade em bar-1)
ref_p = 1.0 (Referencial para o barostato)
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)

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

12
- Tutorial Introdutório GROMACS – Ricardo O. S. Soares 2012

---------------dinamica.mdp-----------------
define = -DFLEXIBLE (Define a flexibilidade/mobilidade do soluto, aqui livre)
constraints = all-bonds (onde serão aplicadas as constrições)
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”, tempo para passo de integração)
nstxout = 1000 (Frequência a escrever a trajetória em arquivo)
nstvout = 1000 (Frequência a escrever as velocidades em arquivo)
nstxtcout = 1000 (Frequência a escrever as coordenadas em arquivo)
nstenergy = 5000 (Frequência a escrever as energias em arquivo)
nstlist = 10 (Frequência de atualização da lista de vizinhos, em passos)
rlist = 1.0 (Raio de corte para vizinhos de baixo alcance)
coulombtype = pme (Esquema de tratamento de forças Coulombianas)
rcoulomb = 1.0 (Raio de corte para o tratamento de forças de Coulomb)
vdw-type = cut-off (Esquema de tratamento Van der Waals, aqui “cut-off”)
rvdw = 1.0 (Raio de corte para Lennard-Jones)
Tcoupl = nose-hoover (Controle de temperatura, aqui usamos o Nosé-Hoover)
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 de Parrinello-Rahman)
tau_p = 0.5 (Valor de Tau, no termostato)
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)
-------------------------------------------

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. Este programa, excluindo-se mdrun, é o que mais
solicita os arquivos de campo de força, sendo distribuídos em conjunto com GROMACS
atualmente os seguintes:

13
- Tutorial Introdutório GROMACS – Ricardo O. S. Soares 2012

1: AMBER03 force field (Duan et al., J. Comp. Chem. 24, 1999-2012, 2003)
2: AMBER94 force field (Cornell et al., JACS 117, 5179-5197, 1995)
3: AMBER96 force field (Kollman et al., Acc. Chem. Res. 29, 461-469, 1996)
4: AMBER99 force field (Wang et al., J. Comp. Chem. 21, 1049-1074, 2000)
5: AMBER99SB force field (Hornak et al., Proteins 65, 712-725, 2006)
6: AMBER99SB-ILDN force field (Lindorff-Larsen et al., Proteins 78, 1950-58,
2010)
7: AMBERGS force field (Garcia & Sanbonmatsu, PNAS 99, 2782-2787, 2002)
8: CHARMM27 all-atom force field (with CMAP) - version 2.0beta
9: GROMOS96 43a1 force field
10: GROMOS96 43a2 force field (improved alkane dihedrals)
11: GROMOS96 45a3 force field (Schuler JCC 2001 22 1205)
12: GROMOS96 53a5 force field (JCC 2004 vol 25 pag 1656)
13: GROMOS96 53a6 force field (JCC 2004 vol 25 pag 1656)
14: OPLS-AA/L all-atom force field (2001 aminoacid dihedrals)
15: [DEPRECATED] Encad all-atom force field, using full solvent charges
16: [DEPRECATED] Encad all-atom force field, using scaled-down vacuum charges
17: [DEPRECATED] Gromacs force field (see manual)
18: [DEPRECATED] Gromacs force field with hydrogens for NMR

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 .pdb atravé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

14
- Tutorial Introdutório GROMACS – Ricardo O. S. Soares 2012

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 (digite 14);


 na escolha do tipo de modelo de água, escolha a TIP4P, digitando “1”;
 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 –f proteina01.gro –o proteina02.gro –bt cubic –c –d 1.2

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 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).

15
- Tutorial Introdutório GROMACS – Ricardo O. S. Soares 2012

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).

Figura 2. 2. Exemplificando o distanciamento


na caixa cúbica. Em nosso caso, atribuímos
d=1.2 nm.

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 podemos escolher outros
modelos de água que apresentam suporte para este programa, 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:

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


tip4p.gro

16
- Tutorial Introdutório GROMACS – Ricardo O. S. Soares 2012

7º Passo: Alcançando a eletroneutralidade do sistema

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ês positivas 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 11 molé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, 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.

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:

17
- Tutorial Introdutório GROMACS – Ricardo O. S. Soares 2012

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


../topologia.top

genion –s minimizacao.tpr –o proteina04.gro –p ../topologia.top –pname NA


-nname CL –neutral –conc 0.15

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
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:

grompp –f minimizacao.mdp –o minimizacao.tpr –c


../adicionar_ions/proteina04.gro –p ../topologia.top

mdrun –s minimizacao.tpr -v

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).

18
- Tutorial Introdutório GROMACS – Ricardo O. S. Soares 2012

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.

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

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


../topologia.top

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

tail –f out

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 –f out” lê o final do
arquivo “out” e mostra constantemente essa previsão na tela (para sair, digite CTRL+C ou
CTRL+Z). Ao fim da simulação, obteremos o confout.gro, que corresponde à estrutura
resultante da restrição.

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

19
- Tutorial Introdutório GROMACS – Ricardo O. S. Soares 2012

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.

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.

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

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


../topologia.top

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

tail –f out

Tudo pronto, agora é só 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 deve durar menos que uma hora
em um computador mediano para o ano de 2012.

20
- Tutorial Introdutório GROMACS – Ricardo O. S. Soares 2012

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.

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:

𝑁 1/2
1 2
𝑅𝑀𝑆𝐷 = 𝑟𝑖 𝑡 − 𝑟𝑖 0
𝑁
𝑖

onde ri(t) e ri(o) são respectivamente a posição de um dado átomo no tempo t arbitrá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:
1/2
𝑁 𝑁
1 2
𝑅𝑀𝑆𝐷 = 2 𝑟𝑖𝑗 𝑡 − 𝑟𝑖𝑗 0
𝑁
𝑖=1 𝑗 =1

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.

21
- Tutorial Introdutório GROMACS – Ricardo O. S. Soares 2012

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”):

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

(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”):

xmgrace rmsd.xvg

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 de estrutura
estável.

22
- Tutorial Introdutório GROMACS – Ricardo O. S. Soares 2012

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:

1/2
𝑖 𝑟𝑖2 𝑚𝑖
𝑅𝑔 =
𝑖 𝑚𝑖

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:

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

(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 com média ao redor de 0.8
nanômetros.

23
- Tutorial Introdutório GROMACS – Ricardo O. S. Soares 2012

III) Animação

Uma das opções mais didáticas 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.

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”):

trjconv –s dinamica.tpr –f traj.xtc –o filme.pdb –ur compact –center –pbc


mol

(Selecione a opção 1)

24
- Tutorial Introdutório GROMACS – Ricardo O. S. Soares 2012

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 algumas 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.

25
- Tutorial Introdutório GROMACS – Ricardo O. S. Soares 2012

4.0 Leitura Recomendada

[1] Bekker, H.; Berendsen, H. J. C.; Dijkstra, E. J.; [9] Kahn, K. & Bruice, T. C. J. Comput. Chem., 23:
Achterop, S.; van Drunen, R.; van der Spoel, D.; 977–996, 2002.
Sijbers, A.; Keegstra, H.; Reitsma, B.; Renardus, M.
K.Physics Computing 92 (Singapore, 1993). de Groot, [10] Wensink, E. J. W.; Hoffmann, A. C.; van Maaren,
R. A.; Nadrchal, J.; eds. World Scientific. P. J.; van der Spoel, D. J. Chem. Phys., 119: 7308-
7317, 2003.
[2] Berendsen, H. J. C.; van der Spoel, D.; van
Drunen, R. Comp. Phys. Comm. 91:43–56, 1995. [11] Suardiaz, R.; Maestre, M.; Suárez, E.; Pérez, C. J.
Mol. Struct., 778: 21–25, 2006.
[3] van der Spoel, D.; Lindahl, E.; Hess, B.; Groenhof,
G.; Mark, A. E.; Berendsen, H. J. C. [12] Martin, M. Fluid Phase Equilibria, 248: 50–55,
J. Comp. Chem., 26:1701–1718, 2005. 2006.

[4]Taft, C. A.; Silva, C. H. T. P. (Org.). Current [13] Pérez, S.; Imberty, A.; Engelsen, S. B.; Gruza, J.;
Methods in Medicinal Chemistry and Biological Mazeau, K.; Jimenez-Barbero, J.; Poveda, A.;
Physics. Kerala; Research Signpost 2007. Espinosa, J. F.; van Eyck, B. P.; Johnson, G.; French, A.
D.; Louise, M. L.; Kouwijzer, C. E.; Grootenuis, P. D.
[5] Ozkan, S. B.; Dill, K. A.; Bahar, I. Protein Sci. 11: J.; Bernardi, A.; Raimondi, L.; Senderowitz, H.; Durier,
1958-1970, 2002. V.; Vergoten, G.; Rasmussen, K. Carbohydrate
Research 314: 141–155, 1998.
[6] Scott, W. R. P.; Hünenberger, P. H.; Tironi, I. G.;
Mark, A. E.; Billeter, S. R.; Fennen, J.; Torda, A. E.; [14] Kaminski, G. & Jorgensen, W. L. J. Phys. Chem.,
Huber, T.; Krüger, P.; van Gunsteren, W. F. J. Phys. 100: 18010-18013, 1996.
Chem., A. 103: 3596-3607, 1999.
[15] Chen, B.; Martin, M. G.; Siepmann, J. I. J. Phys.
[7] Kony, D.; Damm, W.; Stoll, S.; van Gunsteren, W. Chem. B, 102: 2578-2586, 1998.
F. J. Comput. Chem., 23: 1416–1429, 2002.
[16] Allen, M.P.; Tildesley, D.J. Computer Simulation
[8] Xu, Z.; Luo, H. H.; Tieleman, D. P. J. Comput. of Liquids. Clarendon Press, Oxford, 1987.
Chem., 28: 689–697, 2007.
[17] Hess, B.; Kutzner, C.; van der Spoel, D.; Lindahl,
E. J. Chem. Theory Comput., 4:435-447, 2008.

26

Você também pode gostar