GROMACS (http://www.gromacs.org) é um dos principais pacotes de software para a simulação de macromoléculas biológicas. O objetivo é realizar a simulação de sistemas grandes e biologicamente relevantes, com foco tanto em ser eficiente quanto flexível para permitir a pesquisa de vários sistemas diferentes (veja os exemplos fornecidos mais abaixo na página). O programa tem sido utilizado por grupos de pesquisa em todo o mundo, com várias centenas de publicações baseadas direta ou indiretamente nele publicadas durante os últimos anos (veja a Figura abaixo para os resultados de uma busca pelo uso do programa no Scopus).
Licença
GROMACS é software livre; você pode redistribuí-lo e/ou modificá-lo sob os termos da Licença Pública Menos Geral GNU
como publicada pela Free Software Foundation; ou a versão 2.1 da Licença, ou (a seu critério) qualquer versão posterior.
GROMACS é distribuído na esperança de ser útil, mas SEM QUALQUER GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou ADEQUAÇÃO A UM PROPÓSITO PARTICULAR.
Veja a Licença Pública Geral Menor GNU para mais detalhes. O texto completo da licença pode ser encontrado aqui.
Involvimento em Bioexcel
GROMACS é parte da unidade Bioexcel para fornecer a estrutura para a simulação de qualquer sistema bio-molecular, através do desenvolvimento de ferramentas que são ambas eficientes na simulação de sistemas biologicamente relevantes, dando também a flexibilidade a ser aplicada a diferentes casos de uso através da capacidade de estender rapidamente a funcionalidade. A capacidade do GROMACS de simular sistemas arbitrariamente grandes torna possível combinar o conhecimento fornecido pelos outros programas envolvidos no programa para obter uma melhor compreensão dos sistemas em estudo.
Outros desenvolvimentos como parte do Bioexcel
O objetivo é ampliar as capacidades existentes do GROMACS através do fornecimento de um framework API que outros programas podem usar para fazer interface com o motor principal de simulação. Isto tornará possível estender o uso possível a sistemas mais relevantes biológica e quimicamente, já que outros programas serão capazes de interagir diretamente com as rotinas centrais eficientes utilizadas para as simulações.
Além disso, ambos os parceiros KTH e MPG contribuirão para melhorar o desempenho, escalabilidade, qualidade e usabilidade tanto para o GROMACS quanto para outros códigos de simulação:
- QA, testes unitários e uma biblioteca geral para modelagem biomolecular.
GROMACS será transformado em uma biblioteca C++ baseada em módulos de última geração com teste unitário completo e usuário atualizado & documentação do desenvolvedor para todos os módulos. O projeto está passando para uma configuração profissional de GQ, introduzindo uma revisão rigorosa do código (incluindo dos desenvolvedores principais) e integração contínua automática onde todos os patches são compilados e testados por unidade em uma ampla gama de hardware e compiladores para GQ-aprovar cada alteração, e para tornar possível que qualquer site de instalação garanta a qualidade de sua instalação compilada. - Paralisação heterogênea.
Desenvolveremos uma nova implementação de paralelização heterogênea onde todos os recursos disponíveis de CPU, acelerador e comunicação são usados em paralelo em cada nó através de multithreading explícito e balanceamento de carga multinível, bem como novo suporte para aceleradores OpenCL e Xeon Phi, além do CUDA. - Técnicas de conjuntos eficientes.
Algumas das abordagens mais poderosas atualmente são baseadas no uso de centenas ou milhares de simulações para técnicas de amostragem de conjuntos, como modelos de estado Markov ou cálculos de energia livre. Vamos tornar estas abordagens acessíveis aos utilizadores em geral, integrando totalmente a nossa estrutura Copernicus para simulação de conjuntos com o GROMACS (Pronk et al. 2011). Isto tornará possível a formulação de problemas de amostragem de alto nível e de cálculo de energia livre como problemas de cálculo de caixa negra que podem empregar centenas de milhares de processadores internamente. Isto é particularmente importante para aplicações de triagem de energia livre de alto rendimento. Notavelmente, o framework não está limitado ao GROMACS, mas pode ser usado com qualquer código. - Para facilitar a troca de dados com outras aplicações, e para permitir a simulação totalmente automatizada de alto rendimento, estamos desenvolvendo formatos de dados públicos para descrever moléculas com XML, formatos de trajetória altamente compactada que suportam hashes e assinaturas digitais para garantir a integridade dos dados, e novas ferramentas para criar automaticamente descrições de interação (topologias) para moléculas pequenas arbitrárias usadas e.g. como compostos de drogas visando um número de diferentes campos de força como CHARMM, GAFF, ou OPLS-AA (Lundborg & Lindahl 2014).
- algumas das mais promissoras aplicações potenciais de cálculo de energia livre incluem a previsão de experimentos de varredura de aminoácidos ou como pequenas moléculas devem ser alteradas para melhorar a ligação. Atualmente, isto é dificultado pela necessidade de calcular energias livres absolutas para grandes mudanças (o que causa grandes erros estatísticos), ou projetar manualmente topologias onde os resíduos ou drogas são misturados diretamente em moléculas relacionadas. Como parte do BioExcel, nós faremos cálculos de energia livre aplicáveis nestas configurações de alto rendimento, desenvolvendo e integrando novos módulos para automaticamente morfar qualquer aminoácido em outros, e automaticamente transformar compostos de drogas em derivados relacionados, mantendo a perturbação tão pequena quanto possível. Em combinação com a geração automática de topologia e simulação de conjunto, isto transformará as simulações moleculares em uma ferramenta capaz de triar a estabilidade molecular e de ligação em 24-48h, com grandes implicações para o uso do design de medicamentos na indústria farmacêutica.
Infra-estrutura de desenvolvimento
Para garantir tanto a correção do código do programa e, portanto, dos resultados da simulação, como para impulsionar o desenvolvimento através de contibuições internas e externas, empregamos as melhores práticas associadas ao desenvolvimento de software moderno:
- O controle de versão e revisão do código fonte é fornecido usando o git como sistema de controle de versão, com o repositório GROMACS disponível para verificar o código fonte usando
git clone git://gitlab.com/gromacs/gromacs.git
ou através da navegação em https://github.com/gromacs/gromacs. O git permite o controle de versão eficiente ao mesmo tempo, assim como permite contribuições e desenvolvimento de desenvolvedores de todo o mundo.
- O código GROMACS é revisado manual e automaticamente usando o GitLab, assegurando que novas contribuições e mudanças na base de código existente passem pela inspeção de vários desenvolvedores centrais antes de serem incluídas na distribuição principal. O servidor de revisão de código GROMCAS pode ser alcançado em https://gitlab.com/gromacs/gromacs.
- Testes contínuos de integração são realizados em cada alteração antes e depois da inclusão no ramo principal através do uso do GitLab CI. Isto assegura que cada alteração não só passa por uma série de testes de portabilidade antes de ser incluída, mas também que nenhuma alteração irá introduzir erros através de testes extensivos da funcionalidade existente. Os testes GROMACS são executados usando também o GitLab.
- Novas e existentes partes do programa são extensivamente testadas usando nossa infra-estrutura de testes de unidade e regressão integrada em nossa revisão de código e sistema CI.
- Padrões de documentação são aplicados através do uso do Doxygen (doxygen.org) como a ferramenta padrão para documentar funções e incluí-las no manual de referência do programa.
- Usamos o sistema de rastreamento de problemas integrado no GitLab, e os problemas podem ser abertos no rastreador de problemas GROMACS para nos permitir identificar erros no programa e trabalhar em conjunto com usuários e desenvolvedores para corrigi-los.
Treinamento e atividades de suporte
Fornecemos várias maneiras tanto dos usuários quanto dos desenvolvedores potenciais do GROMACS para entrar em contato conosco para fazer suas perguntas sobre aplicações e modificações.
- Perguntas gerais sobre o uso do GROMACS para simulação de sistemas podem e devem ser feitas no fórum do GROMACS.
- Questões relativas ao desenvolvimento do GROMACS e à implementação de novas funcionalidades devem ser perguntadas na lista de discussão dos desenvolvedores. Este também é o lugar para obter mais informações sobre novas e futuras funcionalidades para futuras versões.
Descrição de software
Simulação de macromoléculas biológicas evoluiu de um método estatístico-mecânico de nicho para uma das ferramentas de pesquisa biofísica mais amplamente aplicadas, e é usado muito além da química teórica. Os supercomputadores são agora tão importantes como as centrífugas ou tubos de ensaio em química. Conforme demonstrado pelo Prêmio Nobel de Química de 2013, a dinâmica molecular baseada na mecânica estatística torna possível simular os movimentos do atômico em ambientes realistas à temperatura ambiente, para sistemas que vão desde a química de materiais até proteínas, DNA, RNA e membranas contendo milhões de átomos. O algoritmo fundamental da dinâmica molecular avalia forças em todos os átomos de um sistema e actualiza as velocidades e posições dos átomos de acordo com as equações de movimento de Newton. Este esquema de integração numérica é iterado para bilhões de passos, e gera uma série de amostras que descrevem o conjunto termodinâmico do sistema. Esta é a verdadeira força da técnica, uma vez que prevê experiências: pode descrever com precisão como se movem moléculas como as proteínas, mas também permite o cálculo de energias livres que descrevem reacções químicas, por exemplo, a energia livre de ligação de um composto candidato à droga num local activo de proteínas ou como um ligando estabilizará uma determinada conformação para abrir ou fechar um canal iónico. Como o cálculo de forças é necessário para um grande número de algoritmos, vários outros pacotes utilizam conjuntos de ferramentas de simulação molecular como bibliotecas para avaliar energias, por exemplo, em docking ou ao refinar estruturas com restrições experimentais como raios-X, NMR ou dados Cryo-EM.
Este desenvolvimento não teria sido possível sem esforços significativos de pesquisa em algoritmos de simulação, otimização e paralelização. O surgimento de pacotes padronizados para modelagem molecular como GROMACS, NAMD, AMBER e CHARMM tem sido crítico desde que eles têm ajudado na pesquisa de simulação de comoditização, tornando as técnicas disponíveis para pesquisadores de aplicação de ciências da vida que não são especialistas em desenvolvimento de simulação. Todos esses pacotes têm forças e perfis complementares – o campo passou da competição histórica para o compartilhamento extensivo de idéias. O GROMACS é um dos pacotes de software científico mais utilizados no mundo com cerca de 20.000 citações no total (Hess et al. 2008, Pronk et al. 2013); é o maior software livre e aplicação de código aberto na pesquisa biomolecular, e o único dos principais pacotes de simulação de dinâmica molecular onde o desenvolvimento é liderado na Europa.
O projeto GROMACS começou em 1995 como um dos primeiros códigos de simulação paralela de sempre, a equipe internacional de desenvolvimento é liderada pelo parceiro KTH, e o projeto está fortemente focado na eficiência e generalidade da simulação. É o único pacote que suporta todos os campos de força comuns e tem uma gama muito ampla de algoritmos de simulação. Isto combinado com o licenciamento muito liberal (e amigável ao negócio) é provavelmente um fator importante porque é usado como biblioteca de simulação, minimização e avaliação de energia por várias outras aplicações, por exemplo, em bioinformática ou projetos de computação distribuída, como Folding@Home. O código é portátil para uma grande variedade de plataformas (incluindo as incorporadas), inclui kernels de montagem sintonizados manualmente para uma dúzia de conjuntos de instruções de arquitetura diferentes e suporte a aceleradores tanto para GPUs Nvidia com CUDA, GPUs AMD com OpenCL e processadores Xeon Phi nativamente. O pacote usa decomposição de território neutro de última geração e paralelização multinível para permitir escalonamento tanto para dezenas de milhares de nós em supercomputadores quanto para computação eficiente de alta taxa de transferência com aceleradores (Pall et al. 2014).
GROMACS já pode usar milhares de núcleos e centenas de aceleradores de forma eficiente em paralelo, mesmo para um único sistema bem pequeno. Ao adicionar paralelização em nível de conjunto com Copernicus, a escala total do problema estende outras duas ordens de magnitude.
Simulação da dinâmica molecular em geral, e GROMACS em particular, tornou possível o estudo de sistemas biomoleculares grandes e complexos, como membranas e proteínas de membrana e detalhes atômicos de sonda que não são acessíveis a nenhum método experimental. As simulações moleculares forneceram alguns dos primeiros modelos de alta resolução de estados de repouso de canais iônicos baseados em estruturas de raios X de canais abertos (Vargas et al. 2012), e foram fundamentais para modelar conformações intermediárias transientes durante transições estruturais de proteínas de membrana (Henrion et al. 2012). GROMACS também foi utilizado para prever o primeiro reconhecimento molecular específico de lipídios por proteínas de membrana (Contreras et al. 2012) e para as simulações que identificaram locais de ligação potenciadora e inibitória separados nos canais de íons ligado-agregados do nosso sistema nervoso (Murail et al. 2012) – resultados que agora são utilizados por vários grupos na tentativa de projetar melhores drogas.