Erste Schritte mit PLUMED
Set up:
Ich will nicht lügen, das ist ein bisschen nervig, es muss in Ihre MD-Engine eingebunden werden. Wenn Sie nicht an GROMACS als Ihrer MD-Engine interessiert sind, finden Sie hier einen Hyperlink zur Plumed-Hauptseite, da Sie die Set up selbst durchführen müssen:
Ansonsten erfahren Sie hier, wie Sie beide installieren und richtig patchen. Befolgen Sie alle diese Befehle, wenn Sie keines von beiden haben, aber ignorieren Sie die GROMACS-Set up, wenn Sie sie bereits installiert und funktionsfähig haben. Diese Befehle sollten nacheinander in Ihrem Terminal/Ihrer Befehlszeile ausgeführt werden.
#Obtain GROMACS
wget http://ftp.gromacs.org/pub/gromacs/gromacs-2021.2.tar.gz
tar xfz gromacs-2021.2.tar.gz
cd gromacs-2021.2#Set up and supply GROMACS
mkdir construct
cd construct
cmake .. -DGMX_BUILD_OWN_FFTW=ON -DREGRESSIONTEST_DOWNLOAD=ON
make
sudo make set up
supply /usr/native/gromacs/bin/GMXRC
#Obtain PLUMED
wget https://github.com/plumed/plumed2/releases/obtain/v2.7.1/plumed-2.7.1.tgz
tar xfz plumed-2.7.1.tgz
cd plumed-2.7.1
#set up PLUMED
./configure --prefix=/usr/native/plumed
make
sudo make set up
#Patch GROMACS
cd gromacs-2021.2
plumed patch -p
#rebuilld GROMACS
cd construct
cmake .. -DGMX_BUILD_OWN_FFTW=ON -DREGRESSIONTEST_DOWNLOAD=ON -DGMX_PLUMED=on
make
sudo make set up
#Test set up
gmx mdrun -plumed
Sie werden feststellen, dass ich eine ältere Model von Gromacs ausgewählt habe. Dies dient lediglich dazu, dass wir besser absichern können, dass sich in diesen Artikeln keine unvorhergesehenen Fehler einschleichen. Sie können nach eigenem Ermessen gerne eine neuere Model verwenden. Stellen Sie lediglich sicher, dass sie PLUMED-kompatibel ist.
Basiseinstellung:
- Erstellen Sie eine PLUMED-Eingabedatei, um die kollektiven Variablen (CVs) zu definieren, die die wichtigen Freiheitsgrade des Techniques beschreiben.
Hier ist eine Beispieldatei. Ich werde in Teil 3 dieser Artikelserie näher auf einige ausgefallenere Optionen eingehen, aber jetzt beginnen wir damit, den Konformationszustand einer Gruppe von Atomen zu untersuchen, indem wir Distanz und Torsion als unsere CVs verwenden. Andere mögliche CVs sind Distanzen zwischen Atomen, Winkel, Dieder oder komplexere Funktionen.
# Outline collective variables
# Distance between atoms 1 and 10
DISTANCE ATOMS=1,10 LABEL=d1# Dihedral angle involving atoms 4, 6, 8, and 10
TORSION ATOMS=4,6,8,10 LABEL=t1
# Print collective variables to a file
PRINT ARG=d1,t1 FILE=COLVAR STRIDE=100
# Apply metadynamics bias
METAD ...
ARG=d1,t1 # The collective variables to bias
PACE=500 # Add a Gaussian hill each 500 steps
HEIGHT=0.3 # Peak of the Gaussian hill
SIGMA=0.1,0.1 # Width of the Gaussian hill for every CV
FILE=HILLS # File to retailer the hills
BIASFACTOR=10 # Bias issue for well-tempered metadynamics
TEMP=300 # Temperature in Kelvin
... METAD
# Print the bias potential to a file
PRINT ARG=d1,t1,bias FILE=BIAS STRIDE=500
Die Kommentare in diesem Codeblock sollten ausführlich genug sein, um ein grundlegendes Verständnis aller Vorgänge zu vermitteln, aber ich werde in Artikel 3 auf alles eingehen und wir werden uns sogar noch tiefer mit komplexen Funktionen befassen!
Wenn Sie diese Eingabedatei (normalerweise mit dem Namen „plumed.dat“) und die für einen MD-Lauf mit GROMACS erforderliche TPR-Datei haben (Informationen zum Generieren dieser Datei finden Sie in der GMX-Grompp-Dokumentation), können Sie die Metadynamiksimulation ausführen, indem Sie in das Arbeitsverzeichnis gehen und in die Befehlszeile eingeben:
gmx mdrun -s topol.tpr -plumed plumed.dat
Sowohl PLUMED als auch GROMACS akzeptieren zusätzliche Argumente. Ich werde in Teil 3 dieser Artikelserie einige der nützlicheren Argumente für beide durchgehen, zusammen mit einigen der Skripte, die ich für fortgeschrittenere Ausführungen geschrieben habe. Weitere Argumente finden Sie in der Dokumentation.
Nach der Simulation verwenden Sie die Analysewerkzeuge von PLUMED, um die freie Energieoberfläche zu rekonstruieren und relevante metastabile Zustände und Übergangspfade zu identifizieren. Am weitesten verbreitet ist die Verwendung von PLUMEDs sum_hills
Werkzeug zur Rekonstruktion der freien Energieoberfläche.
Sie können sich nach diesem Befehl mit diesem Python-Code die freie Energieoberfläche (FES) ansehen, der Ihnen zeigt, wie sich die Werte eines CV zu den anderen verhalten.
import matplotlib.pyplot as plt
import numpy as np
import plumed
from matplotlib import cm, ticker# Configure font
plt.rc('font', weight='regular', measurement=14)
# Learn knowledge from PLUMED output
knowledge = plumed.read_as_pandas("/path/to/COLVAR")
# Extract and reshape knowledge for contour plot
# Modify the reshape parameters as wanted, They need to multiply to the
# variety of bins and be as shut to one another as doable
d1 = knowledge("d1").values.reshape(-1, 100)
t1 = knowledge("t1").values.reshape(-1, 100)
bias = knowledge("bias").values.reshape(-1, 100)
# Plot contour traces
plt.contour(d1, t1, bias, ranges=np.arange(np.min(bias), np.max(bias), 10), linewidths=0.3, colours='okay')
# Plot stuffed contour
cntr = plt.contourf(d1, t1, bias, ranges=np.arange(0, 100), cmap=cm.jet)
# Add colorbar
plt.colorbar(cntr, label="u0394G (kJ/mol)")
# Set plot limits and labels
plt.xlim(np.min(d1), np.max(d1))
plt.ylim(np.min(t1), np.max(t1))
plt.xlabel("Distance between atoms 1 and 10 (d1) (nm)")
plt.ylabel("Dihedral angle involving atoms 4, 6, 8, and 10 (t1) (levels)")
# Present plot
plt.present()
Die Ausgabe sollte ähnlich wie die topografische Grafik aussehen, die ich zuvor gepostet habe (ich kann Ihnen nicht sagen, wie Ihr FES aussehen wird, da Sie die Freiheit hatten, Ihr eigenes System zu wählen).
Sie sollten die Ergebnisse auch mit gängiger Visualisierungssoftware wie VMD visualisieren, um Einblicke in das Molekülverhalten in Niedrigenergie- und metastabilen Zuständen zu erhalten.
Abschluss
Metadynamics, unterstützt durch PLUMED, bietet einen robusten Rahmen für die Erforschung komplexer molekularer Systeme. Durch effizientes Abtasten der freien Energielandschaft können wir verborgene Mechanismen in molekularen Systemen aufdecken, die aufgrund von Rechenbeschränkungen mit herkömmlicher MD nicht erreicht werden können.
Egal, ob Sie Anfänger oder erfahrener Forscher sind, die Beherrschung von PLUMED kann Ihren Werkzeugkasten in der Computerchemie erheblich erweitern. Vergessen Sie additionally nicht, sich meine beiden nächsten Artikel anzusehen, die Ihnen dabei helfen, vom Anfänger zum Experten zu werden!
Artikel 2 stellt die mathematischen Konzepte hinter dem Hinzufügen von Metadynamikkomponenten zu einer MD-Engine vor und Artikel 3 macht Sie mit fortgeschrittenen Techniken der Metadynamik vertraut, wie etwa der A number of-Walker-Metadynamik, der Zusammenfassung von mehr als 2 Variablen in ein lesbares Format, der Nutzung der Metadynamik auf Hochleistungsclustern und ausführlicheren Analysetechniken zur Visualisierung und quantitativen Analyse Ihrer Systemergebnisse (mit viel Beispielcode).