[ad_1]
Bắt đầu với PLUMED
Cài đặt:
Nói thật nhé, điều này hơi khó chịu một chút, nó cần được vá vào công cụ MD của bạn. Nếu bạn không quan tâm đến GROMACS làm công cụ MD của mình, đây là liên kết đến trang chính có lông vũ vì bạn phải tự cài đặt:
Nếu không, đây là cách cài đặt cả hai và vá chúng đúng cách. Thực hiện theo tất cả các lệnh này nếu bạn không có lệnh nào nhưng bỏ qua cài đặt GROMACS nếu bạn đã cài đặt và đang hoạt động. Các lệnh này phải được thực hiện từng lệnh một trong terminal/dòng lệnh của bạn.
#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
Bạn sẽ thấy tôi đã chọn phiên bản gromacs cũ hơn; điều này chỉ nhằm mục đích giúp chúng tôi có cơ hội tránh được những lỗi không mong muốn trong các bài viết này, bạn hoàn toàn có thể sử dụng phiên bản mới hơn tùy ý, chỉ cần đảm bảo rằng nó tương thích với PLUMED.
Cấu hình cơ bản:
- Tạo tệp đầu vào PLUMED để xác định các biến tập thể (CV) mô tả các bậc tự do quan trọng của hệ thống.
Đây là một tệp ví dụ. Tôi sẽ đi sâu hơn vào một số tùy chọn lạ mắt hơn trong Phần 3 của loạt bài viết này, nhưng bây giờ chúng ta sẽ bắt đầu bằng cách xem xét trạng thái cấu hình của một tập hợp các nguyên tử bằng cách sử dụng khoảng cách và độ xoắn làm CV của chúng ta. Các CV tiềm năng khác bao gồm khoảng cách giữa các nguyên tử, góc, dihedral hoặc các hàm phức tạp hơn.
# 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
Các bình luận trong khối mã đó phải đủ chi tiết để bạn có thể hiểu cơ bản mọi thứ đang diễn ra, nhưng tôi sẽ đề cập đến tất cả những điều này trong bài viết 3 và chúng ta thậm chí sẽ đi sâu hơn vào các hàm phức tạp!
Dù sao đi nữa, sau khi bạn có tệp đầu vào này (thường có tên là plumed.dat) và tệp .tpr cần thiết để chạy MD bằng GROMACS (xem tài liệu gmx grompp để tạo tệp đó), bạn có thể chạy mô phỏng metadynamics bằng cách vào thư mục làm việc và nhập vào dòng lệnh:
gmx mdrun -s topol.tpr -plumed plumed.dat
Cả PLUMED và GROMACS đều chấp nhận các đối số bổ sung. Tôi sẽ xem xét một số đối số hữu ích hơn cho cả hai trong Phần 3 của loạt bài viết này cùng với một số tập lệnh tôi đã viết cho các lần chạy nâng cao hơn và bạn có thể xem tài liệu hướng dẫn cho bất kỳ tập lệnh nào khác.
Sau khi mô phỏng, sử dụng các công cụ phân tích của PLUMED để tái tạo bề mặt năng lượng tự do và xác định các trạng thái bán ổn định và các con đường chuyển tiếp có liên quan. Phổ biến nhất là sử dụng PLUMED sum_hills
công cụ để tái tạo bề mặt năng lượng tự do.
Bạn có thể xem bề mặt năng lượng tự do (FES) sau lệnh đó bằng cách sử dụng mã python này để biết giá trị của một CV liên quan đến CV kia như thế nào.
import matplotlib.pyplot as plt
import numpy as np
import plumed
from matplotlib import cm, ticker# Configure font
plt.rc('font', weight='regular', dimension=14)
# Learn knowledge from PLUMED output
knowledge = plumed.read_as_pandas("/path/to/COLVAR")
# Extract and reshape knowledge for contour plot
# Regulate the reshape parameters as wanted, They need to multiply to the
# variety of bins and be as shut to one another as attainable
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='ok')
# Plot crammed 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()
Đầu ra sẽ trông tương tự như biểu đồ địa hình mà tôi đã đăng trước đó (tôi không thể cho bạn biết FES của bạn trông như thế nào vì bạn có quyền tự do lựa chọn hệ thống của riêng mình).
Bạn cũng nên trực quan hóa kết quả bằng phần mềm trực quan hóa phổ biến như VMD để hiểu rõ hơn về hành vi phân tử ở trạng thái năng lượng thấp và bán ổn định.
Phần kết luận
Metadynamics, được hỗ trợ bởi PLUMED, cung cấp một khuôn khổ mạnh mẽ để khám phá các hệ thống phân tử phức tạp. Bằng cách lấy mẫu hiệu quả bối cảnh năng lượng tự do, chúng ta có thể khám phá ra các cơ chế ẩn trong các hệ thống phân tử mà không thể đạt được thông qua MD truyền thống do các hạn chế về tính toán.
Cho dù bạn là người mới bắt đầu hay là nhà nghiên cứu có kinh nghiệm, việc thành thạo PLUMED có thể nâng cao đáng kể bộ công cụ hóa học tính toán của bạn, vì vậy đừng quên xem hai bài viết sắp tới của tôi để giúp bạn chuyển từ người mới bắt đầu thành chuyên gia!
Bài viết 2 sẽ tiết lộ các khái niệm toán học đằng sau việc thêm các thành phần siêu động lực học vào công cụ MD và Bài viết 3 sẽ giới thiệu cho bạn các kỹ thuật nâng cao trong siêu động lực học như siêu động lực học nhiều walker, cô đọng hơn 2 biến thành định dạng dễ đọc, sử dụng siêu động lực học trên các cụm hiệu suất cao và các kỹ thuật phân tích chuyên sâu hơn để trực quan hóa và phân tích định lượng kết quả hệ thống của bạn (với nhiều mã mẫu).
[ad_2]
Source link