Calculs d'énergie gratuits sur la plateforme Rescale

Modèle de blog 49

flux de travail2
Au sein de l’industrie des sciences de la vie, l’une des méthodes de simulation les plus importantes pour développer un nouveau médicament est la perturbation de l’énergie libre (FEP), qui est une méthode particulière dans la classe des calculs d’énergie libre. En termes simplifiés, l'objectif des calculs d'énergie libre est de calculer la différence d'énergie libre entre deux états chimiques différents A et B en transformant alchimiquement l'état A en état B au cours de plusieurs états chimiques non physiques intermédiaires, notés lambda. Il existe plusieurs méthodes disponibles pour calculer les énergies libres, notamment la croissance lente, l'intégration thermodynamique (TI) et la perturbation de l'énergie libre (FEP) ; La raison pour laquelle FEP est devenu une méthode populaire pour calculer les énergies libres est due à ses propriétés d'évolutivité inhérentes qui le rendent particulièrement adapté à un fonctionnement dans un environnement hautes performances. Il existe d'excellentes ressources en ligne qui couvrent théorie des calculs d'énergie libre, je n'entrerai donc pas dans plus de détails ici, si ce n'est pour dire que le fait que les fenêtres lambda soient indépendantes les unes des autres nous permet d'exécuter plusieurs simulations en parallèle. Concrètement, cela signifie que nous pouvons utiliser la plateforme Rescale pour créer un cluster de calcul et diviser le travail de calcul de l'énergie libre en M simulations indépendantes, chacune avec une valeur de lambda donnée. Pour augmenter l'efficacité de l'échantillonnage, nous pouvons également coupler ces simulations indépendantes à l'aide d'une méthode appelée Échange de répliques hamiltoniennes si le progiciel que nous choisissons d'utiliser prend en charge cette méthode.
Pour démontrer à quel point il est facile d'exécuter ces simulations sur Rescale, je prendrai un exemple d'Alchemistry.org pour l'énergie absolue sans solvatation de l'éthanol calculée à l'aide de GROMACS. Dans cet exemple, le modèle a déjà été construit et équilibré pour nous, nous n'avons donc rien d'autre à faire en ce qui concerne la construction du modèle. Le fichier de topologie Ethanol.top contient les définitions des molécules tandis que le fichier de coordonnées Ethanol.gro contient les coordonnées tridimensionnelles équilibrées des atomes impliqués dans le système. Nous utiliserons ces deux fichiers tels quels, sans autres modifications. De plus, le fichier de configuration d'entrée d'exécution Ethanol.mdp comprend une section pour les paramètres nécessaires au calcul de l'énergie libre à l'aide de FEP.

; Paramètres d'énergie libre free-energy = yes ; Quel état intermédiaire simulons-nous ? init-lambda-state = X ; Quelles sont les valeurs de lambda aux états intermédiaires ? coul-lambdas = 0.0 0.2 0.5 1.0 1.0 1.0 1.0 1.0 1.0 vdw-lambdas = 0.0 0.0 0.0 0.0 0.2 0.4 0.6 0.8 1.0 ; Cela garantit que nous imprimons les différences de hamiltoniens entre tous les États, et pas seulement les États voisins calc-lambda-neighbours = -1 ; On fait des énergies libres avec la molécule d'éthanol seule couple-moltype = Ethanol

D'après les paramètres donnés dans ce fichier, on voit que neuf états intermédiaires ont été définis en utilisant le 'coul-lambdas' et 'vdw-lambdas' mots clés. Un état intermédiaire lamdba donné est référencé comme un (coul-lambdasi, vdw_lambdasi) paire; par conséquent, les longueurs de chacun de ces tableaux doivent être les mêmes, sinon une erreur se produira. Nous exécuterons neuf simulations distinctes, une pour chaque état intermédiaire défini ci-dessus. La valeur lambda spécifique pour une simulation donnée est spécifiée avec le 'état-init-lambda' mot-clé et est un entier compris entre 0 et 8. Le seul travail que nous devons faire est d'écrire un script simple qui générera le fichier de configuration d'entrée pour chacune des valeurs lambda ; cela peut être fait directement dans Rescale lors de la configuration d'une nouvelle tâche, ce qui est discuté plus en détail ci-dessous.
Quelques commentaires peuvent être utiles sur les autres mots-clés donnés dans le fichier de configuration. Premièrement la 'énergie libre = oui' Le mot-clé indique au moteur de simulation que nous effectuons un calcul d'énergie libre, et le 'couple-moltype = éthanol' Le mot-clé précise que la molécule d'éthanol est le seul objet qui sera transformé. Dans ce cas, en raison de la façon dont la molécule d'éthanol est définie dans le fichier de topologie, la molécule entière est transformée d'une molécule pleinement interagissante en une particule fantôme qui n'interagit plus avec le reste du système. Deuxièmement, le 'calc-lambda-voisins = -1' Le mot-clé indique à GROMACS de calculer la différence d'énergie entre l'état intermédiaire de référence et tous les autres états intermédiaires. Ce mot-clé doit être défini de cette manière pour pouvoir effectuer la Méthode d'analyse du ratio d'acceptation de Bennett multi-états.
Dans ce contexte, configurons et exécutons cet exemple de calcul sur Rescale. Tout d’abord, téléchargez les trois fichiers d’entrée. Je les ai regroupés avec les trois fichiers dans le répertoire de niveau supérieur pour plus de simplicité.
Capture d'écran à 2015 09-21-9.28.57 AM
Ensuite, cliquez sur Paramètres du logiciel et sélectionnez Gromacs. Choisissez la version 5.0 (MPICH, Single Precision, AVX2) et écrivez le script de commande comme indiqué dans la capture d'écran ci-dessous pour exécuter les calculs. Ce script boucle sur les valeurs lambda de 0 à 8, générant un nouveau fichier de configuration d'entrée d'exécution pour chaque valeur lambda. Le sed La commande remplace le « X » dans le fichier modèle Ethanol.mdp par la valeur correspondante pour lambda et enregistre le nouveau fichier d'entrée avec la valeur lambda incluse dans le nom de fichier, par exemple Ethanol.4.mdp. Ensuite, nous continuons le flux de travail GROMACS normal en appelant grompp_mpi pour générer le fichier de structure d'entrée Ethanol.4.tpr. Enfin, nous donnons la commande pour exécuter la simulation Hamiltonian Replica Exchange :

mpirun -np 9 mdrun_mpi -multi 9 -ntomp 2 -replex 1000 -nex 100000 -deffnm Éthanol. -dhdl Éthanol.dhdl.

Capture d'écran à 2015 09-21-9.27.39 AM
Nous précisons ici que nous exécuterons 9 processus MPI, un pour chaque simulation à différentes valeurs lambda, en donnant mpirun le -np9 option. Les options après mdrun_mpi configurer le moteur de simulation GROMACS pour exécuter Hamiltonian Replica Exchange sur neuf trajectoires (-multi 9) avec une fréquence d'échange tous les 1000 pas de temps (-réplexe 1000). La -ntomp 2 L'option indique à GROMACS d'attacher 2 threads openmp à chaque processus mpi, nous exécuterons donc un total de 18 threads pour ce calcul. Cela correspond bien aux types de cœurs Onyx qui offrent 18 cœurs par nœud. Avec cette configuration, nous mapperons un thread openmp à chaque cœur physique, ce qui constitue l'utilisation optimale du matériel informatique. Une remarque sur le -ntomp Option de mdrun_mpi, si nous ne disons pas explicitement à GROMACS combien de threads openmp nous voulons, il sondera le processeur pour savoir combien de threads sont disponibles. Lorsque l'hyperthreading est activé sur le processeur, nous aurons deux threads virtuels par cœur physique et GROMACS attribuera par la suite deux threads openmp par cœur physique. Cela dégradera considérablement les performances puisque GROMACS est déjà hautement optimisé pour fonctionner avec un thread par cœur physique. Ainsi, avec -ntomp 2, nous disons explicitement à GROMACS que nous voulons exécuter un total de 18 threads openmp pour ce travail (répartis entre les 9 processus MPI).
Cela nous amène à l'étape suivante, où nous cliquons sur Paramètres matériels, sélectionnons le type de cœur Onyx et choisissons 18 cœurs. Nous sommes maintenant prêts à exécuter les simulations ; une fois que nous avons sélectionné le nombre de cœurs, nous cliquons sur Soumettre pour exécuter le travail. Pour cet article, nous n'entrerons pas dans les détails de la façon de faire l'analyse pour calculer réellement l'énergie libre, nous garderons ce sujet pour un prochain article. Il suffit de dire que les fichiers dont nous aurons besoin pour faire l'analyse finale sont contenus dans les fichiers de sortie .dhdl.xvg.
Capture d'écran à 2015 09-21-9.29.41 AM
Les créateurs de cet exemple d'énergie sans solvatation de l'éthanol recommandent de fonctionner pendant 6 ns de temps de simulation, ce qui m'a pris 3 heures et 21 minutes pour une performance finale de 42 ns/jour. Ceci complète l'exemple de configuration et d'exécution d'un calcul de perturbation d'énergie gratuit à l'aide de GROMACS sur la plateforme Rescale. Nous encourageons les chercheurs de l'industrie pharmaceutique à effectuer leurs calculs d'énergie gratuits sur Rescale. Je serais heureux de vous aider à vous familiariser avec Rescale et j'ai hâte de contribuer à la grande science et de faire progresser l'utilisation et l'impact des calculs d'énergie libre dans le développement de médicaments et au-delà.
Si vous souhaitez exécuter ce travail vous-même, cliquez sur ce lien (vous devrez créer un compte, si vous n'en avez pas déjà un). 
Pour créer un compte, vous pouvez aller sur www.rescale.com/signup.
Si vous avez des questions ou souhaitez plus d'informations, veuillez contacter info@rescale.com.