Freie Energieberechnungen auf der Rescale-Plattform

Blogvorlage 49

Workflow2
In der Biowissenschaftsbranche ist die Freie-Energie-Perturbation (FEP), eine spezielle Methode aus der Klasse der Freie-Energie-Berechnungen, eine der wichtigsten Simulationsmethoden für die Entwicklung neuer Medikamente. Vereinfacht ausgedrückt besteht das Ziel von Freie-Energie-Berechnungen darin, die Freie-Energie-Differenz zwischen zwei chemischen Zuständen A und B zu berechnen. Dazu wird der Zustand A im Verlauf mehrerer nicht-physischer chemischer Zwischenzustände (gekennzeichnet mit Lambda) alchimistisch in den Zustand B umgewandelt. Zur Berechnung der freien Energie stehen verschiedene Methoden zur Verfügung, darunter langsames Wachstum, thermodynamische Integration (TI) und die Störung der freien Energie (FEP). FEP ist aufgrund seiner inhärenten Skalierungseigenschaften zu einer beliebten Methode zur Berechnung der freien Energie geworden, die sie besonders für den Einsatz in Hochleistungsumgebungen geeignet macht. Es gibt ausgezeichnete Online-Ressourcen, die die Theorie der freien Energieberechnungen, daher werde ich hier nicht näher darauf eingehen, außer zu erwähnen, dass die Unabhängigkeit der Lambda-Fenster es uns ermöglicht, mehrere Simulationen parallel auszuführen. In der Praxis bedeutet dies, dass wir die Rescale-Plattform verwenden können, um einen Rechencluster zu erstellen und die Berechnung der freien Energie in M unabhängige Simulationen mit jeweils einem bestimmten Lambda-Wert aufzuteilen. Um die Sampling-Effizienz zu erhöhen, können wir diese unabhängigen Simulationen auch mit einer Methode namens Hamiltonscher Replikataustausch wenn das von uns gewählte Softwarepaket diese Methode unterstützt.
Um zu demonstrieren, wie einfach es ist, diese Simulationen auf Rescale auszuführen, werde ich ein Beispiel von Alchemistry.org verwenden für die absolute freie Solvatationsenergie von Ethanol, berechnet mit GROMACSIn diesem Beispiel wurde das Modell bereits erstellt und äquilibriert, sodass wir nichts weiter tun müssen. Die Topologiedatei Ethanol.top enthält die Definitionen der Moleküle, während die Koordinatendatei Ethanol.gro die äquilibrierten 3-D-Koordinaten der am System beteiligten Atome enthält. Wir verwenden beide Dateien unverändert. Darüber hinaus enthält die Eingabekonfigurationsdatei Ethanol.mdp einen Abschnitt für die Einstellungen zur Berechnung der freien Energie mit FEP.

; Freie Energieparameter free-energy = yes ; Welchen Zwischenzustand simulieren wir? init-lambda-state = X ; Was sind die Lambda-Werte in den Zwischenzuständen? 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 ; Dadurch wird sichergestellt, dass wir die Unterschiede in den Hamiltonoperatoren zwischen allen Zuständen und nicht nur den Nachbarzuständen ausgeben calc-lambda-neighbors = -1 ; Wir berechnen die freien Energien nur mit dem Ethanolmolekül couple-moltype = Ethanol

Gemäß den in dieser Datei angegebenen Einstellungen sehen wir, dass neun Zwischenzustände definiert wurden, indem wir „coul-lambdas“ und 'vdw-lambdas' Schlüsselwörter. Ein gegebener Lambda-Zwischenzustand wird als (Coul-Lambdasi, vdw_lambdasi) Paar; daher müssen die Längen dieser Arrays gleich sein, sonst tritt ein Fehler auf. Wir werden neun separate Simulationen durchführen, eine für jeden oben definierten Zwischenzustand. Der spezifische Lambda-Wert für eine bestimmte Simulation wird mit dem 'Init-Lambda-Status' Schlüsselwort und ist eine Ganzzahl zwischen 0 und 8. Die einzige Arbeit, die wir tun müssen, ist, ein einfaches Skript zu schreiben, das die Eingabekonfigurationsdatei für jeden der Lambda-Werte generiert; dies kann direkt in Rescale beim Einrichten eines neuen Jobs erfolgen, was weiter unten erläutert wird.
Zu den weiteren Schlüsselwörtern in der Konfigurationsdatei können einige Anmerkungen hilfreich sein. Zunächst die „Freie Energie = ja“ Schlüsselwort teilt der Simulations-Engine mit, dass wir eine freie Energieberechnung durchführen, und das 'couple-moltype = Ethanol' Das Schlüsselwort gibt an, dass das Ethanolmolekül das einzige Objekt ist, das transformiert wird. In diesem Fall wird das Ethanolmolekül aufgrund der Definition in der Topologiedatei von einem vollständig interagierenden Molekül in ein Geisterteilchen umgewandelt, das nicht mehr mit dem Rest des Systems interagiert. Zweitens: 'calc-lambda-neighbors = -1' Das Schlüsselwort weist GROMACS an, die Energiedifferenz zwischen dem Referenzzwischenzustand und allen anderen Zwischenzuständen zu berechnen. Dieses Schlüsselwort muss so gesetzt werden, um die Methode zur Analyse des Bennett-Akzeptanzverhältnisses in mehreren Staaten.
Vor diesem Hintergrund richten wir diese Beispielberechnung auf Rescale ein und führen sie aus. Laden Sie zunächst die drei Eingabedateien hoch. Der Einfachheit halber habe ich sie zusammen mit allen drei Dateien im obersten Verzeichnis getarnt.
Screen Shot bei 2015 09-21-9.28.57 Uhr
Klicken Sie anschließend auf Softwareeinstellungen und wählen Sie Gromacs. Wählen Sie Version 5.0 (MPICH, Single Precision, AVX2) und schreiben Sie das Befehlsskript wie im Screenshot unten gezeigt, um die Berechnungen auszuführen. Dieses Skript durchläuft die Lambda-Werte von 0 bis 8 und generiert für jeden Lambda-Wert eine neue Run-Input-Konfigurationsdatei. Die Durst Der Befehl ersetzt das 'X' in der Vorlagendatei Ethanol.mdp durch den entsprechenden Wert für Lambda und speichert die neue Eingabedatei mit dem im Dateinamen enthaltenen Lambda-Wert, z. B. Ethanol.4.mdp. Anschließend setzen wir den normalen GROMACS-Workflow fort, indem wir grompp_mpi um die Eingabestrukturdatei Ethanol.4.tpr zu generieren. Abschließend geben wir den Befehl zum Ausführen der Hamiltonian Replica Exchange-Simulation ein:

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

Screen Shot bei 2015 09-21-9.27.39 Uhr
Hier geben wir an, dass wir 9 MPI-Prozesse ausführen werden, einen für jede Simulation mit unterschiedlichen Lambda-Werten, indem wir mpirun die -np 9 Option. Die Optionen nach mdrun_mpi Konfigurieren Sie die GROMACS-Simulations-Engine, um Hamiltonian Replica Exchange auf neun Trajektorien auszuführen (-multi 9) mit einer Austauschfrequenz alle 1000 Zeitschritte (-replex 1000). Die -ntomp 2 Die Option weist GROMACS an, jedem MPI-Prozess zwei OpenMP-Threads zuzuordnen, sodass wir für diese Berechnung insgesamt 2 Threads ausführen. Dies passt gut zu den Onyx-Kerntypen, die 18 Kerne pro Knoten bieten. Mit diesem Setup ordnen wir jedem physischen Kern einen OpenMP-Thread zu, was die optimale Nutzung der Rechenhardware ermöglicht. Ein Hinweis zur -ntomp Option zu mdrun_mpiWenn wir GROMACS nicht explizit mitteilen, wie viele OpenMP-Threads wir benötigen, prüft es den Prozessor, um herauszufinden, wie viele Threads verfügbar sind. Wenn Hyperthreading auf dem Prozessor aktiviert ist, haben wir zwei virtuelle Threads pro physischem Kern, und GROMACS weist anschließend zwei OpenMP-Threads pro physischem Kern zu. Dies beeinträchtigt die Leistung erheblich, da GROMACS bereits für die Ausführung mit einem Thread pro physischem Kern optimiert ist. Daher mit -ntomp 2, teilen wir GROMACS ausdrücklich mit, dass wir für diesen Job insgesamt 18 OpenMP-Threads ausführen möchten (aufgeteilt auf die 9 MPI-Prozesse).
Dies bringt uns zum nächsten Schritt. Klicken Sie auf „Hardwareeinstellungen“, wählen Sie den Onyx-Kerntyp und legen Sie 18 Kerne fest. Nun können wir die Simulationen ausführen. Nachdem wir die Anzahl der Kerne ausgewählt haben, klicken Sie auf „Senden“, um den Job auszuführen. In diesem Beitrag gehen wir nicht näher auf die Analyse zur Berechnung der freien Energie ein. Dieses Thema wird für einen späteren Beitrag aufgehoben. Die für die endgültige Analyse benötigten Dateien sind in den .dhdl.xvg-Ausgabedateien enthalten.
Screen Shot bei 2015 09-21-9.29.41 Uhr
Die Entwickler dieses Beispiels zur freien Energie der Ethanollösung empfehlen eine Simulationszeit von 6 ns. Ich benötigte dafür 3 Stunden und 21 Minuten und erreichte eine Leistung von 42 ns/Tag. Damit ist das Beispiel für die Einrichtung und Durchführung einer Berechnung der Störung der freien Energie mit GROMACS auf der Rescale-Plattform abgeschlossen. Wir empfehlen Forschern in der Pharmaindustrie, ihre Berechnungen der freien Energie mit Rescale durchzuführen. Ich unterstütze Sie gerne dabei, sich mit Rescale vertraut zu machen, und freue mich darauf, zu großartiger Wissenschaft beizutragen und den Nutzen und die Wirkung von Berechnungen der freien Energie in der Arzneimittelentwicklung und darüber hinaus zu fördern.
Wenn Sie diesen Job selbst ausführen möchten, Klicken Sie auf diesen Link (Sie müssen ein Konto erstellen, falls Sie noch keins haben). 
Um ein Konto zu erstellen, gehen Sie zu www.rescale.com/signup.
Wenn Sie Fragen haben oder weitere Informationen wünschen, wenden Sie sich bitte an info@rescale.com.