Dans cet article, nous allons présenter le concept de simulations de dynamique moléculaire et exécuter un exemple de base en utilisant GROMACS sur la plateforme de cloud computing de Qarnot.
Les simulations de dynamique moléculaire sont des méthodes de calcul visant à émuler le comportement des atomes et des molécules dans le temps et l'espace, et par là même à étudier le comportement du système global qu'ils constituent. Ces méthodes sont principalement utilisées en physique chimique, en science des matériaux et en biophysique. Elles servent à tester des modèles d'interactions entre atomes, molécules et macromolécules (telles que les protéines, les acides nucléiques, etc.), qui sont des phénomènes qui ne peuvent pas être observés directement. Elles permettent ainsi d'affiner les modèles et de mieux comprendre les fonctions des molécules dans leur système biologique.
Les systèmes moléculaires sont généralement composés d'un très grand nombre de particules, de sorte qu'il est calculatoirement impossible (computationally intractable) d'étudier leur dynamique de manière analytique. Les méthodes numériques sont néanmoins particulièrement adaptées pour gérer cette complexité. Les simulations de dynamique moléculaire consistent à appliquer de manière itérative les équations du mouvement à chaque particule avec une discrétisation temporelle. Pour chaque itération, l'accélération de la particule est calculée à l'aide de sa masse et des forces qui lui sont appliquées selon le champ de force (force field) donné. Avec la position et la vitesse antérieures de la particule, sa nouvelle position est déterminée après un petit pas de temps (time step). De cette manière, en partant d'une configuration donnée, les trajectoires de toutes les particules sont calculées sur la durée de la simulation.
Les simulations de dynamique moléculaire sont généralement divisées dans les étapes suivantes :
La quantité de calculs nécessaires pour effectuer une simulation de dynamique moléculaire dépend des paramètres suivants :
Ces paramètres doivent être choisis avec soin pour obtenir des résultats exploitables :
Par conséquent, les simulations de dynamique moléculaire peuvent nécessiter plusieurs jours-CPU à années-CPU de temps de calcul. Il y a un compromis à atteindre entre la complexité du modèle et les besoins en puissance de calcul.
Lors d'une simulation de dynamique moléculaire classique, la tâche la plus gourmande en CPU est l'évaluation de l'énergie de toutes les particules à chaque itération. Les algorithmes parallèles permettent de distribuer la charge. Par exemple, la méthode de décomposition de domaine distribue des sous-domaines du système pour qu'ils soient calculés séparément par des cœurs travaillant en parallèle. Cela peut réduire considérablement le temps de calcul.
Cette section s'appuie sur le Tutoriel GROMACS : Lysozyme dans l'eau de Justin Lemkul pour présenter l'utilisation de la dynamique moléculaire sur Qarnot. Nous allons considérer une protéine de lysozyme dans une boîte d'eau et analyser la dynamique de ce système. Les lysozymes sont des protéines trouvées par exemple dans le blanc d'œuf ou les sécrétions comme les larmes, la salive, le lait et le mucus. Elles jouent également un rôle dans le système immunitaire.
La simulation du lysozyme sera exécutée avec GROMACS. C'est l'un des progiciels de dynamique moléculaire les plus rapides et les plus populaires. Il est gratuit et open-source et peut fonctionner sur des unités centrales de traitement (CPU) et des unités de traitement graphique (GPU).
Les fichiers suivants sont nécessaires pour exécuter ce cas d'utilisation :
ions.mdp
: paramètres pour générer une description atomique du systèmeminim.mdp
: paramètres pour détendre le système (minimisation d'énergie)nvt.mdp
: paramètres pour stabiliser la température du système (simulation NVT)npt.mdp
: paramètres pour stabiliser la pression du système (simulation NPT)md.mdp
: paramètres pour exécuter la simulation MD
1aki.pdb
: fichier de structure de la protéine (lysozyme de blanc d'œuf) provenant de la banque de données de protéines RCSB
run_md.sh
: instructions GROMACS pour exécuter la simulation (voir ci-dessous)Vous pouvez télécharger tous les fichiers en une seule fois ici. Une fois que vous avez téléchargé le fichier de structure (1aki.pdb
), vous pouvez le rendre à l'aide d'un programme de visualisation tel que VMD, Chimera ou PyMOL.
Le script suivant exécute la simulation : run_md.sh
. Pour plus de détails sur ce script et sur la meilleure façon d'utiliser GROMACS, veuillez consulter le tutoriel de Justin Lemkul.
La plateforme cloud de Qarnot fournit une puissance de calcul à la demande qui peut réduire le temps d'exécution d'une simulation de dynamique moléculaire.
La première étape pour utiliser la plateforme de Qarnot est de créer un compte Qarnot. Ensuite, récupérez votre fichier de configuration personnel qarnot.conf
à partir de la section Jeton d'accès de votre compte Qarnot. Suivez ces étapes pour configurer un environnement virtuel Python et installer le SDK Python de Qarnot.
Pour lancer la simulation du cas d'utilisation sur Qarnot, décompressez l'archive lysozyme-in-water.zip
et renommez le dossier contenant les fichiers en input
. Ensuite, copiez-collez le script suivant et enregistrez-le à côté de votre dossier input
et de votre fichier de configuration qarnot.conf
. gromacs.py
Votre répertoire de travail devrait ressembler à ceci :
input/
1aki.pdb
ions.mdp
md.mdp
minim.mdp
npt.mdp
nvt.mdp
run_md.sh
qarnot.conf
gromacs.py
Une fois l'environnement prêt, exécutez python3 gromacs.py
depuis un terminal pour lancer le calcul sur Qarnot (cela peut prendre jusqu'à 1 heure).
À tout moment, la tâche peut être surveillée depuis le terminal ou depuis notre plateforme. Une fois la tâche terminée, tous les fichiers de sortie seront automatiquement téléchargés sur votre ordinateur local dans un dossier output
. Vous pouvez par exemple ouvrir le fichier md_0_1.gro
pour rendre le résultat final à l'aide d'un programme de visualisation tel que VMD ou avec un visualiseur de fichiers .gro
en ligne tel que Groview.
Pour plus d'informations sur la manière d'analyser les résultats de cette simulation, consultez la partie Analyse du tutoriel de Justin Lemkul.
Les simulations de dynamique moléculaire sont essentielles pour élargir notre compréhension des systèmes biologiques au niveau microscopique. Mais elles sont inévitablement très exigeantes en puissance de calcul. Si vous ne disposez pas de ressources de calcul suffisantes pour répondre à vos besoins, l'utilisation d'une plateforme de cloud computing pourrait être la solution. Nous avons vu comment exécuter une simulation de dynamique moléculaire avec GROMACS sur la plateforme de cloud computing haute performance de Qarnot. Cependant, comme la plateforme de Qarnot est basée sur la conteneurisation, vous pourriez utiliser un autre logiciel de votre choix pour exécuter un calcul. Vous pouvez trouver sur le blog la liste des payloads déjà pris en charge dans la section Documentation. Vous pouvez également utiliser une de vos propres images Docker ou une image provenant d'un dépôt public sur Docker Hub. Si vous avez des questions, n'hésitez pas à consulter la documentation de Qarnot ou à nous contacter à qlab@qarnot.com.