BioExcel – Centre d’excellence pour le calcul de la recherche biomoléculaire

GROMACS (http://www.gromacs.org) est l’un des principaux logiciels pour la simulation des macromolécules biologiques. Il vise à effectuer la simulation de grands systèmes biologiquement pertinents, en mettant l’accent à la fois sur l’efficacité et la flexibilité pour permettre la recherche d’un certain nombre de systèmes différents (voir les exemples fournis plus bas dans la page). Le programme a été utilisé par des groupes de recherche tout autour du globe, avec plusieurs centaines de publications étant basées directement ou indirectement sur lui publiées au cours des dernières années (voir la Figure ci-dessous pour les résultats d’une recherche de l’utilisation du programme dans Scopus).

Résultat d’une recherche pour le terme « GROMACS » dans la base de données Scopus, montrant l’augmentation de l’utilisation au cours du passé.

Licence

GROMACS est un logiciel libre ; vous pouvez le redistribuer et/ou le modifier selon les termes de la GNU Lesser General Public License
telle que publiée par la Free Software Foundation ; soit la version 2.1 de la licence, soit (à votre choix) toute version ultérieure.

GROMACS est distribué dans l’espoir qu’il sera utile, mais SANS AUCUNE GARANTIE ; sans même la garantie implicite de COMMERCIALISATION ou d’ADÉQUATION À UN USAGE PARTICULIER.

Voir la licence publique générale amoindrie de GNU pour plus de détails. Le texte complet de la licence peut être trouvé ici.

Involvement in Bioexcel

GROMACS fait partie de la volonté de Bioexcel de fournir le cadre pour la simulation de tout système biomoléculaire, par le développement d’outils qui sont à la fois efficaces dans la simulation de systèmes biologiquement pertinents, tout en donnant la flexibilité d’être appliqué à différents cas d’utilisation par la capacité d’étendre rapidement la fonctionnalité. La capacité de GROMACS à simuler des systèmes arbitrairement grands permet de combiner les connaissances fournies par les autres programmes impliqués dans le programme pour obtenir une meilleure compréhension des systèmes étudiés.

Plus de développements dans le cadre de Bioexcel

L’objectif est d’étendre les capacités existantes de GROMACS en fournissant un cadre API que d’autres programmes peuvent utiliser pour s’interfacer avec le moteur de simulation principal. Cela permettra d’étendre davantage l’utilisation possible à des systèmes plus pertinents sur le plan biologique et chimique, car d’autres programmes pourront s’interfacer directement avec les routines de base efficaces utilisées pour les simulations.

En outre, les partenaires du KTH et du MPG contribueront à améliorer les performances, l’évolutivité, la qualité et la convivialité tant pour GROMACS que pour d’autres codes de simulation :

  • AQ, tests unitaires et une bibliothèque générale pour la modélisation biomoléculaire.
    GROMACS sera transformé en une bibliothèque C++ de pointe basée sur des modules, avec des tests unitaires complets et une documentation utilisateur &développeur actualisée pour tous les modules. Le projet passe à une configuration d’assurance qualité professionnelle en introduisant une revue de code stricte (y compris de la part des principaux développeurs) et une intégration continue automatique où tous les correctifs sont compilés et testés unitairement sur une large gamme de matériel et de compilateurs pour approuver la qualité de chaque changement, et pour permettre à tout site d’installation de garantir la qualité de leur installation compilée.
  • Parallélisation hétérogène.
    Nous développerons une nouvelle implémentation de parallélisation hétérogène où toutes les ressources disponibles de CPU, d’accélérateur et de communication sont utilisées en parallèle sur chaque nœud par le biais d’un multithreading explicite et d’un équilibrage de charge à plusieurs niveaux, ainsi qu’un nouveau support pour OpenCL et les accélérateurs Xeon Phi en plus de CUDA.
  • Techniques d’ensemble efficaces.
    Certaines des approches les plus puissantes aujourd’hui sont basées sur l’utilisation de centaines ou de milliers de simulations pour les techniques d’échantillonnage d’ensemble telles que les modèles d’état de Markov ou les calculs d’énergie libre. Nous rendrons ces approches accessibles aux utilisateurs en général en intégrant pleinement notre cadre Copernicus pour la simulation d’ensemble à GROMACS (Pronk et al. 2011). Il sera ainsi possible de formuler les problèmes d’échantillonnage de haut niveau et de calcul de l’énergie libre comme des problèmes de calcul de type boîte noire pouvant employer des centaines de milliers de processeurs en interne. Ceci est particulièrement important pour les applications de criblage d’énergie libre à haut débit. Notamment, le cadre n’est pas limité à GROMACS, mais il peut être utilisé avec n’importe quel code.
  • Pour faciliter l’échange de données avec d’autres applications, et pour permettre une simulation à haut débit entièrement automatisée, nous développons des formats de données publics pour décrire les molécules avec XML, des formats de trajectoire hautement compressés qui supportent des hachages et des signatures numériques pour garantir l’intégrité des données, et de nouveaux outils pour créer automatiquement des descriptions d’interaction (topologies) pour des petites molécules arbitraires utilisées par ex.par exemple comme composés médicamenteux ciblant un certain nombre de champs de force différents tels que CHARMM, GAFF ou OPLS-AA (Lundborg & Lindahl 2014).
  • Certaines des applications potentielles les plus prometteuses du calcul de l’énergie libre comprennent la prédiction des expériences de balayage des acides aminés ou la façon dont les petites molécules doivent être modifiées pour améliorer la liaison. Actuellement, cela est entravé par la nécessité soit de calculer les énergies libres absolues pour les grands changements (ce qui entraîne de grandes erreurs statistiques), soit de concevoir manuellement des topologies où les résidus ou les médicaments sont morpés directement dans des molécules connexes. Dans le cadre de BioExcel, nous rendrons les calculs d’énergie libre applicables dans ces contextes à haut débit en développant et en intégrant de nouveaux modules pour transformer automatiquement n’importe quel acide aminé en d’autres, et transformer automatiquement des composés médicamenteux en dérivés apparentés tout en maintenant la perturbation aussi faible que possible. En combinaison avec la génération automatique de topologie et la simulation d’ensemble, cela fera des simulations moléculaires un outil capable de cribler la stabilité moléculaire et de liaison en 24-48h, avec de grandes implications pour l’utilisation de la conception de médicaments dans l’industrie pharmaceutique.

Infrastructure de développement

Pour assurer à la fois l’exactitude du code du programme et donc des résultats de simulation, et pour conduire le développement par des contibutions internes et externes, nous employons les meilleures pratiques associées au développement moderne de logiciels :

  • Le contrôle de version et de révision du code source est assuré par l’utilisation de git comme système de contrôle de version, le dépôt GROMACS étant disponible pour vérifier le code source en utilisant
    git clone git://gitlab.com/gromacs/gromacs.git

    ou en le parcourant à https://github.com/gromacs/gromacs. git permet un contrôle de version efficace en même temps qu’il permet des contributions et des développements de la part de développeurs du monde entier.

  • Le code GROMACS est revu manuellement et automatiquement en utilisant GitLab, assurant que les nouvelles contributions et les changements à la base de code existante passent l’inspection de plusieurs développeurs principaux avant d’être inclus dans la distribution principale. Le serveur de révision du code GROMCAS est joignable à https://gitlab.com/gromacs/gromacs.
  • Des tests d’intégration continus sont effectués sur chaque changement avant et après l’inclusion dans la branche principale grâce à l’utilisation de GitLab CI. Cela permet de s’assurer que chaque changement passe non seulement un certain nombre de tests de portabilité avant d’être inclus, mais aussi qu’aucun changement n’introduira d’erreurs grâce à des tests approfondis de la fonctionnalité existante. Les tests GROMACS sont également exécutés à l’aide de GitLab.
  • Les parties nouvelles et existantes du programme sont testées de manière extensive à l’aide de notre infrastructure de tests unitaires et de régression intégrée à notre système de revue de code et de CI.
  • Les normes de documentation sont appliquées par l’utilisation de Doxygen (doxygen.org) comme outil standard pour documenter les fonctions et les inclure dans le manuel de référence du programme.
  • Nous utilisons le système de suivi des problèmes intégré à GitLab, et des problèmes peuvent être ouverts sur le suivi des problèmes de GROMACS pour nous permettre d’identifier les erreurs du programme et de travailler ensemble avec les utilisateurs et les développeurs pour les corriger.

Activités de formation et de soutien

Nous fournissons plusieurs moyens à la fois aux utilisateurs et aux développeurs potentiels de GROMACS d’entrer en contact avec nous pour poser leurs questions concernant les applications et les modifications.

  • Les questions générales concernant l’utilisation de GROMACS pour la simulation de systèmes peuvent et doivent être posées sur le forum GROMACS.
  • Les questions concernant le développement de GROMACS et l’implémentation de nouvelles fonctionnalités doivent être posées sur la liste de diffusion des développeurs. C’est également l’endroit pour obtenir plus d’informations sur les nouvelles et prochaines fonctionnalités pour les futures versions.

Description du logiciel

La simulation des macromolécules biologiques a évolué d’une méthode de mécanique statistique de niche à l’un des outils de recherche biophysique les plus largement appliqués, et est utilisée bien au-delà de la chimie théorique. Les superordinateurs sont désormais aussi importants que les centrifugeuses ou les tubes à essai en chimie. Comme en témoigne le prix Nobel de chimie 2013, la dynamique moléculaire basée sur la mécanique statistique permet de simuler les mouvements des atomes dans des environnements réalistes à température ambiante, pour des systèmes allant de la chimie des matériaux aux protéines, à l’ADN, à l’ARN et aux membranes contenant des millions d’atomes. L’algorithme fondamental de la dynamique moléculaire évalue les forces sur tous les atomes d’un système et actualise les vitesses et les positions des atomes selon les équations du mouvement de Newton. Ce schéma d’intégration numérique est itéré pendant des milliards de pas, et il génère une série d’échantillons qui décrivent l’ensemble thermodynamique du système. C’est là la véritable force de la technique, car elle permet de prédire les expériences : elle peut décrire avec précision le mouvement de molécules telles que les protéines, mais elle permet également de calculer les énergies libres qui décrivent les réactions chimiques, par exemple l’énergie libre de liaison d’un composé médicamenteux candidat dans le site actif d’une protéine ou la manière dont un ligand va stabiliser une conformation particulière pour ouvrir ou fermer un canal ionique. Comme le calcul des forces est nécessaire pour un grand nombre d’algorithmes, plusieurs autres paquets utilisent des boîtes à outils de simulation moléculaire comme bibliothèques pour évaluer les énergies, par exemple dans le docking ou lors du raffinement des structures avec des contraintes expérimentales telles que des données de rayons X, de RMN ou de Cryo-EM.gromacs scaling

Ce développement n’aurait pas été possible sans d’importants efforts de recherche dans les algorithmes de simulation, l’optimisation et la parallélisation. L’émergence de paquets standardisés pour la modélisation moléculaire, tels que GROMACS, NAMD, AMBER et CHARMM, a été essentielle car elle a contribué à banaliser la recherche en simulation, en mettant les techniques à la disposition des chercheurs en applications des sciences de la vie qui ne sont pas des spécialistes du développement de simulations. Tous ces progiciels ont des points forts et des profils complémentaires – le domaine est passé d’une concurrence historique à un vaste partage d’idées. GROMACS est l’un des logiciels scientifiques les plus utilisés au monde, avec environ 20 000 citations au total (Hess et al. 2008, Pronk et al. 2013) ; c’est le plus grand logiciel libre et l’application open source dans la recherche biomoléculaire, et le seul des principaux logiciels de simulation de dynamique moléculaire dont le développement est dirigé en Europe.

Le projet GROMACS a commencé en 1995 comme l’un des tout premiers codes de simulation parallèle, l’équipe de développement internationale est dirigée par le partenaire KTH, et le projet est fortement axé sur l’efficacité et la généralité de la simulation. Le projet est fortement axé sur l’efficacité et la généralité de la simulation. C’est le seul logiciel qui supporte tous les champs de force courants et il dispose d’une très large gamme d’algorithmes de simulation. Ceci, combiné à une licence très libérale (et favorable aux entreprises), est probablement un facteur majeur pour lequel il est utilisé comme bibliothèque de simulation, de minimisation et d’évaluation de l’énergie par plusieurs autres applications, par exemple en bioinformatique ou dans des projets de calcul distribué tels que Folding@Home. Le code est portable sur une très large gamme de plates-formes (y compris les plates-formes embarquées), il inclut des noyaux d’assemblage réglés manuellement pour une douzaine de jeux d’instructions d’architectures différentes et un support d’accélérateur pour les GPU Nvidia avec CUDA, les GPU AMD avec OpenCL et les processeurs Xeon Phi en natif. Le paquet utilise la décomposition de domaine de territoire neutre de pointe et la parallélisation multi-niveaux pour permettre la mise à l’échelle à la fois à des dizaines de milliers de nœuds sur les superordinateurs et le calcul efficace à haut débit avec des accélérateurs (Pall et al. 2014).

GROMACS peut déjà utiliser des milliers de cœurs et des centaines d’accélérateurs efficacement en parallèle, même pour un seul système assez petit. Lorsqu’on ajoute la parallélisation au niveau de l’ensemble avec Copernicus, la mise à l’échelle totale du problème s’étend encore de deux ordres de grandeur.

La simulation de la dynamique moléculaire en général, et GROMACS en particulier, a permis d’étudier des systèmes biomoléculaires vastes et complexes tels que les membranes et les protéines membranaires et de sonder des détails atomiques qui ne sont accessibles à aucune méthode expérimentale. Les simulations moléculaires ont fourni certains des premiers modèles à haute résolution des états de repos des canaux ioniques basés sur les structures aux rayons X des canaux ouverts (Vargas et al. 2012), et elles ont été essentielles pour modéliser les conformations intermédiaires transitoires pendant les transitions structurelles des protéines membranaires (Henrion et al. 2012). GROMACS a également été utilisé pour prédire la première reconnaissance moléculaire spécifique des lipides par les protéines membranaires (Contreras et al. 2012) et pour les simulations qui ont permis d’identifier des sites de liaison distincts, potentialisateurs et inhibiteurs, dans les canaux ioniques à ligands de notre système nerveux (Murail et al. 2012) – des résultats qui sont maintenant utilisés par plusieurs groupes pour tenter de concevoir de meilleurs médicaments.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.