GROMACS (http://www.gromacs.org) es uno de los principales paquetes de software para la simulación de macromoléculas biológicas. Su objetivo es realizar la simulación de sistemas grandes y biológicamente relevantes, centrándose en ser eficiente y flexible para permitir la investigación de un número de sistemas diferentes (ver los ejemplos proporcionados más abajo en la página). El programa ha sido utilizado por grupos de investigación de todo el mundo, con varios centenares de publicaciones basadas directa o indirectamente en él publicadas durante los últimos años (véase la figura siguiente para los resultados de una búsqueda del uso del programa en Scopus).
Licencia
GROMACS es software libre; puede redistribuirlo y/o modificarlo bajo los términos de la GNU Lesser General Public License
publicada por la Free Software Foundation; ya sea la versión 2.1 de la Licencia, o (a su elección) cualquier versión posterior.
GROMACS se distribuye con la esperanza de que sea útil, pero SIN NINGUNA GARANTÍA; ni siquiera la garantía implícita de COMERCIABILIDAD o ADECUACIÓN A UN PROPÓSITO PARTICULAR.
Vea la Licencia Pública General Menor de GNU para más detalles. El texto completo de la licencia se puede encontrar aquí.
Participación en Bioexcel
GROMACS es parte del impulso de Bioexcel para proporcionar el marco para la simulación de cualquier sistema biomolecular, a través del desarrollo de herramientas que son a la vez eficientes en la simulación de sistemas biológicamente relevantes, mientras que también da la flexibilidad para ser aplicado a diferentes casos de uso a través de la capacidad de ampliar rápidamente la funcionalidad. La capacidad de GROMACS para simular sistemas arbitrariamente grandes hace posible combinar el conocimiento proporcionado por los otros programas involucrados en el programa para obtener una mejor comprensión de los sistemas que se estudian.
Desarrollos posteriores como parte de Bioexcel
El objetivo es ampliar las capacidades existentes de GROMACS a través de la provisión de un marco API que otros programas pueden utilizar para interactuar con el motor de simulación principal. Esto permitirá ampliar aún más el posible uso a sistemas más relevantes desde el punto de vista biológico y químico, ya que otros programas podrán interconectarse directamente con las eficientes rutinas centrales utilizadas para las simulaciones.
Además, tanto los socios de KTH como los de MPG contribuirán a mejorar el rendimiento, la escalabilidad, la calidad y la usabilidad tanto de GROMACS como de otros códigos de simulación:
- Aseguramiento de la calidad, pruebas unitarias y una biblioteca general para el modelado biomolecular.
GROMACS se convertirá en una biblioteca C++ basada en módulos de última generación con pruebas unitarias completas y documentación actualizada para el usuario &desarrollador de todos los módulos. El proyecto se está moviendo a una configuración profesional de control de calidad mediante la introducción de una estricta revisión de código (incluyendo de los principales desarrolladores) y la integración continua automática donde todos los parches se compilan y la unidad de prueba en una amplia gama de hardware y compiladores para QA-aprobar cada uno de los cambios, y para que sea posible para cualquier sitio de instalación para garantizar la calidad de su instalación compilada. - Heterogeneidad paralela.
Desarrollaremos una nueva implementación de paralelización heterogénea en la que todos los recursos de CPU, aceleradores y comunicaciones disponibles se utilicen en paralelo en cada nodo a través del multithreading explícito y el balanceo de carga multinivel, así como un nuevo soporte para los aceleradores OpenCL y Xeon Phi además de CUDA. - Técnicas de ensemble eficientes.
Algunas de las aproximaciones más potentes hoy en día se basan en el uso de cientos o miles de simulaciones para técnicas de muestreo de ensemble como los modelos de estado de Markov o los cálculos de energía libre. Haremos que estos enfoques sean accesibles a los usuarios en general mediante la plena integración de nuestro marco Copernicus para la simulación de conjuntos con GROMACS (Pronk et al. 2011). Esto hará posible formular problemas de muestreo de alto nivel y de cálculo de energía libre como problemas de computación de caja negra que pueden emplear cientos de miles de procesadores internamente. Esto es especialmente importante para las aplicaciones de cribado de energía libre de alto rendimiento. En particular, el marco no se limita a GROMACS, sino que puede utilizarse con cualquier código. - Para facilitar el intercambio de datos con otras aplicaciones y permitir una simulación de alto rendimiento totalmente automatizada, estamos desarrollando formatos de datos públicos para describir moléculas con XML, formatos de trayectoria altamente comprimidos que admiten hashes y firmas digitales para garantizar la integridad de los datos, y nuevas herramientas para crear automáticamente descripciones de interacción (topologías) para pequeñas moléculas arbitrarias utilizadas, por ejemplo, como compuestos de fármacos dirigidos a un objetivo.p. ej. como compuestos de fármacos dirigidos a una serie de campos de fuerza diferentes como CHARMM, GAFF u OPLS-AA (Lundborg & Lindahl 2014).
- Algunas de las aplicaciones potenciales más prometedoras del cálculo de la energía libre incluyen la predicción de los experimentos de exploración de aminoácidos o cómo deben alterarse las moléculas pequeñas para mejorar la unión. En la actualidad, esto se ve obstaculizado por el requisito de calcular energías libres absolutas para grandes cambios (lo que provoca grandes errores estadísticos), o diseñar manualmente topologías en las que los residuos o los fármacos se transforman directamente en moléculas relacionadas. Como parte de BioExcel, haremos que los cálculos de energía libre sean aplicables en estos entornos de alto rendimiento desarrollando e integrando nuevos módulos para transformar automáticamente cualquier aminoácido en otros, y convertir automáticamente los compuestos de fármacos en derivados relacionados manteniendo la perturbación lo más pequeña posible. En combinación con la generación automática de topologías y la simulación de conjuntos, esto convertirá las simulaciones moleculares en una herramienta que puede examinar la estabilidad molecular y de unión en 24-48 horas, con grandes implicaciones para el uso del diseño de fármacos en la industria farmacéutica.
Infraestructura de desarrollo
Para garantizar la corrección del código del programa y, por tanto, de los resultados de la simulación, y para impulsar el desarrollo mediante contribuciones tanto internas como externas, empleamos las mejores prácticas asociadas al desarrollo de software moderno:
- El control de versiones y revisiones del código fuente se realiza mediante el uso de git como sistema de control de versiones, con el repositorio de GROMACS disponible para la comprobación del código fuente utilizando
git clone git://gitlab.com/gromacs/gromacs.git
o mediante la navegación en https://github.com/gromacs/gromacs. git permite un control de versiones eficiente al mismo tiempo que permite las contribuciones y el desarrollo de desarrolladores de todo el mundo.
- El código de GROMACS se revisa manual y automáticamente utilizando GitLab, asegurando que las nuevas contribuciones y los cambios en la base de código existente pasen la inspección de varios desarrolladores principales antes de ser incluidos en la distribución principal. El servidor de revisión de código de GROMCAS puede ser alcanzado en https://gitlab.com/gromacs/gromacs.
- Las pruebas de integración continuas se realizan en cada cambio antes y después de la inclusión en la rama principal mediante el uso de GitLab CI. Esto asegura que cada cambio no sólo pasa una serie de pruebas sobre la portabilidad antes de ser incluido, sino también que ningún cambio introducirá errores a través de pruebas exhaustivas de la funcionalidad existente. Las pruebas de GROMACS también se ejecutan utilizando GitLab.
- Las partes nuevas y existentes del programa se prueban ampliamente utilizando nuestra infraestructura de pruebas unitarias y de regresión integrada en nuestro sistema de revisión de código y CI.
- Los estándares de documentación se hacen cumplir mediante el uso de Doxygen (doxygen.org) como herramienta estándar para documentar las funciones e incluirlas en el manual de referencia del programa.
- Utilizamos el sistema de seguimiento de incidencias integrado en GitLab, y se pueden abrir incidencias en el gestor de incidencias de GROMACS para poder identificar los errores del programa y trabajar conjuntamente con usuarios y desarrolladores en su corrección.
Actividades de formación y soporte
Proporcionamos varias formas de que tanto los usuarios como los potenciales desarrolladores de GROMACS se pongan en contacto con nosotros para plantear sus preguntas sobre aplicaciones y modificaciones.
- Las preguntas generales sobre el uso de GROMACS para simular sistemas pueden y deben plantearse en el foro de GROMACS.
- Las preguntas relacionadas con el desarrollo de GROMACS y la implementación de nuevas funcionalidades deben hacerse en la lista de correo de desarrolladores. Este es también el lugar para obtener más información sobre las nuevas y próximas características de las futuras versiones.
Descripción del software
La simulación de macromoléculas biológicas ha pasado de ser un método de mecánica estadística de nicho a una de las herramientas de investigación biofísica más ampliamente aplicadas, y se utiliza mucho más allá de la química teórica. Los superordenadores son ahora tan importantes como las centrifugadoras o los tubos de ensayo en química. Como demostró el premio Nobel de Química de 2013, la dinámica molecular basada en la mecánica estadística permite simular los movimientos de los átomos en entornos realistas a temperatura ambiente, para sistemas que van desde la química de materiales hasta las proteínas, el ADN, el ARN y las membranas que contienen millones de átomos. El algoritmo fundamental de la dinámica molecular evalúa las fuerzas en todos los átomos de un sistema y actualiza las velocidades y posiciones de los átomos según las ecuaciones de movimiento de Newton. Este esquema de integración numérica se itera durante miles de millones de pasos y genera una serie de muestras que describen el conjunto termodinámico del sistema. Este es el verdadero punto fuerte de la técnica, ya que predice los experimentos: puede describir con precisión cómo se mueven moléculas como las proteínas, pero también permite calcular las energías libres que describen las reacciones químicas, por ejemplo, la energía libre de unión de un compuesto farmacológico candidato en el sitio activo de una proteína o cómo un ligando estabilizará una conformación concreta para abrir o cerrar un canal iónico. Dado que el cálculo de fuerzas es necesario para un gran número de algoritmos, varios otros paquetes utilizan conjuntos de herramientas de simulación molecular como bibliotecas para evaluar las energías, por ejemplo en el acoplamiento o cuando se refinan las estructuras con restricciones experimentales como los datos de rayos X, RMN o Cryo-EM.
Este desarrollo no habría sido posible sin los importantes esfuerzos de investigación en algoritmos de simulación, optimización y paralelización. La aparición de paquetes estandarizados para la modelización molecular, como GROMACS, NAMD, AMBER y CHARMM, ha sido fundamental, ya que han contribuido a mercantilizar la investigación en simulación, poniendo las técnicas a disposición de los investigadores de aplicaciones de ciencias de la vida que no son especialistas en el desarrollo de simulaciones. Todos estos paquetes tienen puntos fuertes y perfiles complementarios: el campo ha pasado de la competencia histórica a un amplio intercambio de ideas. GROMACS es uno de los paquetes de software científico más utilizados en el mundo, con unas 20.000 citas en total (Hess et al. 2008, Pronk et al. 2013); es la mayor aplicación de software libre y de código abierto en la investigación biomolecular, y el único de los principales paquetes de simulación de dinámica molecular cuyo desarrollo se lidera en Europa.
El proyecto GROMACS comenzó en 1995 como uno de los primeros códigos de simulación en paralelo de la historia, el equipo de desarrollo internacional está liderado por el socio KTH, y el proyecto está fuertemente centrado en la eficiencia y la generalidad de la simulación. Es el único paquete que admite todos los campos de fuerza habituales y cuenta con una amplia gama de algoritmos de simulación. Esto, combinado con una licencia muy liberal (y favorable para las empresas), es probablemente un factor importante por el que se utiliza como biblioteca de simulación, minimización y evaluación de la energía en otras aplicaciones, por ejemplo, en bioinformática o en proyectos de computación distribuida como Folding@Home. El código es portable a una amplia gama de plataformas (incluyendo las embebidas), incluye kernels de ensamblaje ajustados manualmente para una docena de conjuntos de instrucciones de arquitecturas diferentes y soporte de aceleradores tanto para GPUs Nvidia con CUDA, GPUs AMD con OpenCL y procesadores Xeon Phi de forma nativa. El paquete utiliza la descomposición de dominios del territorio neutro y la paralelización multinivel de última generación para permitir el escalado tanto a decenas de miles de nodos en superordenadores como la computación eficiente de alto rendimiento con aceleradores (Pall et al. 2014).
GROMACS ya puede utilizar miles de núcleos y cientos de aceleradores de forma eficiente en paralelo, incluso para un único sistema bastante pequeño. Cuando se añade la paralelización a nivel de conjunto con Copernicus, el escalado total del problema se extiende otros dos órdenes de magnitud.
La simulación de dinámica molecular en general, y GROMACS en particular, ha hecho posible el estudio de sistemas biomoleculares grandes y complejos, como las membranas y las proteínas de membrana, y la exploración de detalles atómicos que no son accesibles a ningún método experimental. Las simulaciones moleculares proporcionaron algunos de los primeros modelos de alta resolución de los estados de reposo de los canales iónicos basados en estructuras de rayos X de canales abiertos (Vargas et al. 2012), y fueron fundamentales para modelar conformaciones intermedias transitorias durante las transiciones estructurales de las proteínas de membrana (Henrion et al. 2012). GROMACS también se utilizó para predecir el primer reconocimiento molecular específico de los lípidos por parte de las proteínas de membrana (Contreras et al. 2012) y para las simulaciones que identificaron sitios de unión potenciadores e inhibidores separados en los canales iónicos activados por ligando de nuestro sistema nervioso (Murail et al. 2012), resultados que ahora utilizan varios grupos en los intentos de diseñar mejores fármacos.