GROMACS チュートリアル 1: 水中のリゾチーム 中国語実践チュートリアル

GROMACS チュートリアル 1: 水中のリゾチーム 中国語実践チュートリアル


序文

なぜなら、GROMACS の公式英語チュートリアルと Li Jicun 先生による GROMACS の中国語チュートリアルは初心者にとって非常に不親切で、詳細に説明されていない部分が多く、結果的に困難が多いと感じたからです。あなた自身の成功した実験例をここに記録してください。


システム環境

コンピュータ システム: win11 (ほとんどの操作) Linux: ubuntu22.04 (少数の操作)
我知道gromacs很多在linux上搞,但我就要在windows上搞,windows可以很方便的可视化
Python 環境: 3.6.13
大家还是最好创建一个新的conda环境,我以前就是用的3.11的python结果很多地方报错,最好还是和我用的版本一样
gromacs バージョン: gmx2020.6_AVX2_CUDA_win64
英文官方教程推荐using a GROMACS version in the 2018.x series,别用老的,老的以前不能使用gpu加速,之后处理会非常慢,除非你用超算,但这就不属于个人电脑能处理的,我是希望能在自己的电脑上跑出来
GPU: GTX1060 6G
相当老的甜品级显卡了,不要用AMD的显卡就行
重要なソフトウェア: VSCode
我们很多操作都在用VSCode打开并且修改,必须要有,vscode里也装上gromacs的插件,更好看一点
その他のソフトウェア: pymol3.8 VMD Avogadro (最初の 2 つ 最初の 1 つは視覚化用であり、最後の 1 つはこのチュートリアルには必要ありません)
如果环境不会搭的话我会再出一期专门配置环境的,环境配置并不是我们这次教程的重点


这章GROMACS英文教程地址:[GROMACS英文教程地址](http://www.mdtutorials.com/gmx/lysozyme/index.html)

特に重視するのは、

すべてのコマンド操作は作業ディレクトリで実行する必要があります。
たとえば、ダウンロードしたファイルはフォルダー D:\Code\ChemCode\Gromacs\test001\resource にあります。
どのコマンド入力方法 (cmd、powershell、または anaconda プロンプト) を使用する場合でも、
コマンドを入力する前に、事前に作業ディレクトリに切り替える必要があります。
ここに画像の説明を挿入します
ここにファイルを置きます。
ここに画像の説明を挿入します
ここをクリックして cmd を入力し
ここに画像の説明を挿入します
、作業ディレクトリに入ります。
ここに画像の説明を挿入します
「win+r」と入力し、「cmd」と入力します。
ここに画像の説明を挿入します
これは作業ディレクトリではありません

cd /d D:\Code\ChemCode\Gromacs\test001\resource

ここに画像の説明を挿入します
作業ディレクトリに切り替えてみましょう。

一部の Python 操作が後で関与するため、conda 環境では anaconda プロンプトを使用することをお勧めします。anaconda プロンプトを開き、必要な Python 環境を作成してアクティブ化します。操作はcmdと同じです。写真は載せません。

1. 前処理段階

我先放英文教程,再说我的。
ここに画像の説明を挿入します

今回は卵白リゾチーム (PDB コード 1AKI) を扱います。必要な 1AKI タンパク質をPCSB PDB
Web サイトからダウンロードする必要があります。1AKI を検索してクリックし、
ここに画像の説明を挿入します
downloadfiles をクリックして
ここに画像の説明を挿入します
PDB 形式をダウンロードします。
1AKI这是单链在下载PDB format无所谓 ,后缀有gz是在linux上使用,如果我们要处理的蛋白质是多链的话,若多链下载时注意使用Biological assembly

1.1 完全な原子または残基

ダウンロードした pdb ファイルに MISSING フィールドがある場合があります。ダウンロードした PDB を vscode で開き、ctrl+f の後に MISSING と入力しますが、MISSING フィールドはありません。ただし、他の pdb ファイルにある可能性があります。そうでない場合は、この手順をスキップしてください。
MISSING フィールドがある場合は
、spdbv を使用してダウンロードした pdb を開きます。
ここに画像の説明を挿入します
ここで使用した 4NRM タンパク質は、
ここに画像の説明を挿入します
開くときに原子が欠落していることを示すメッセージを表示します。
ここに画像の説明を挿入します

ここに画像の説明を挿入します
spdbv は欠落している原子を自動的に補完し、ピンクが完成した原子です。
欠落している残基の場合: 1. 相同性モデリング 2. C 末端に酸素原子を直接追加します (bulid で C 末端酸素の追加をクリックします)。欠落している残基をターゲットにすることをお勧めします
。基本的には 2 番目の方法を使用します。
ここに画像の説明を挿入します
次に、「ファイル」をクリックして「名前を付けて保存」をクリックして、pdb ファイルとして保存します。以降の操作は保存されたファイルに対して実行されます。

1.2 水分子の削除

ここに画像の説明を挿入します
関連コマンド
Linux: grep -v HOH 1aki.pdb > 1AKI_clean.pdb
如果我们在linux上执行,直接在我们的工作目录中打开终端,然后输入这个命令,我解释一下,grep是搜索,-v是反选,搜索1aki.pdb中除了HOH以外的文本把他们输出成1AKI_clean.pdb这个文件,我们如果用windows中无论是cmd命令窗口还是powershell中都无法识别grep,所以我们要在windows中处理
Windows: 手動で処理する必要があります。TER より下の水分子は直接削除されます。vscode を
使用して、ダウンロードした 1aki.pdb ファイルを開きます
ここに画像の説明を挿入します
。コピーして名前を変更します。 pdb が 1aki_clean.pdb を開く
重命名是为了不破坏源文件,注意我们之后的所有操作都是名字和命令符要对应上的
ここに画像の説明を挿入します
と、次のようになります
我这里打开的是1aki.pdb,是为了给你们看一下有HOH的样子,你们操作的时候在1aki_nonHOH.pdb中操作
ここに画像の説明を挿入します
。プルダウンして、終端ビット TER を見つけ、
ここに画像の説明を挿入します
HOH が配置されている行を直接削除します。HOH が配置されている行は削除しないように注意してください。他の場所にもあります。CONECT の前に削除してください。Ctrl+S を押して保存してください。
ここに画像の説明を挿入します

1.3 トップファイルなどの位置制限ファイルの生成

ここに画像の説明を挿入します

gmx pdb2gmx -f 1AKI_clean.pdb -o 1AKI_processed.gro -water spce

ここに画像の説明を挿入します
我这里处理完水后的名字叫1AKI_noHOH.pdb,你换成你们处理完水后的pdb文件名就行
顺便解释一下命令的意思,用1AKI_clean.pdb生成gromacs文件1AKI_processed.gro,并选择相应力场及水模型
その後、トポロジー ファイルを生成する力場を選択します。Amber
ここに画像の説明を挿入します
力場は比較的標準化されています。有機小分子が関与する場合は、Amber 力場が推奨されます。Amber03
の位置と空間の水モデルが使用されます。つまり、対応する数値入力を選択できます。
ここに画像の説明を挿入します
出力が成功すると、合計電荷は 8e と表示されます。生成に成功しました。
これら 3 つのファイルを出力します
ここに画像の説明を挿入します
。Gro。最初のファイルは構造ファイルです。vscode で開くと、他のカテゴリに残基と座標情報が含まれていることがわかります。最後の行はボックスのサイズです。原子情報のみを含む pdb ファイルと比較します。top は、

力場情報と分子タイプを記録するトポロジー ファイルを表します。原子情報には、原子タイプ、原子電荷、原子質量などが含まれます。また、結合パラメータも含まれます
ここに画像の説明を挿入しますここに画像の説明を挿入します
。itp
ここに画像の説明を挿入します
位置制限ファイル, itp は top の一部であり, これには水分子のトポロジ情報も含まれています.
他の分子を追加する場合, 分子のペアのトポロジを最初に追加し、さらに 2 番目の分子の位置制限を追加する必要があります. これが私たちが行うことです5 番目の実験であるタンパク質とリガンドのペアリングでは、リガンド情報を手動で追加する必要があります。
これら 3 つのファイルを生成すると、前処理段階が完了します。

2. ボックスを定義し、溶媒を追加します

2.1 ボックスを定義する

公式チュートリアルに従ってください
ここに画像の説明を挿入します

gmx editconf -f 1AKI_processed.gro -o 1AKI_newbox.gro -c -d 1.0 -bt cubic

用我们生成的gro的结构文件,去生成对应的盒子,cubic是立方体,后面我们也会用到十二面体,-d是设置截断半径,需要在计算效率和计算参数找到一个平衡点,一般为蛋白质自身宽度+一半阶段半径
ここに画像の説明を挿入します
結果
ここに画像の説明を挿入します
このファイルが生成されますここに画像の説明を挿入します

2.2 溶媒を加える

ここに画像の説明を挿入します
溶剤をボックスに追加します

gmx solvate -cp 1AKI_newbox.gro -cs spc216.gro -o 1AKI_solv.gro -p topol.top

ここに画像の説明を挿入します
これらのファイルの合計が生成されました。
ここに画像の説明を挿入します
#topol.top.1#是旧的top文件 topol.top是新的top文件
新しく生成された topol.top を使用して、ステップ 1.3 の後に生成した topol.top ファイルと比較します。
前の top と比較すると、より多くの溶媒分子があります。SOL は溶媒水です。
新しいトポル
古いトポル
溶媒は 10832 個あります。公式チュートリアルですが、私は 10644 しか持っていません。これは邪魔ではありません。2020 年から 2018 年までに使用している gromacs のバージョンに問題がある可能性があります。SOL 番号を手動で変更することは禁止されています。変更しないとエラーが報告されます
。後で!ここに画像の説明を挿入します
生成されたボックスの情報をpymolやvmdで見ると、
ここに画像の説明を挿入します
ボックスの中心にタンパク質があり、溶媒分子がタンパク質を包み込んでいることが分かります。

3. イオンを追加する

ここに画像の説明を挿入します

3.1 mdp パラメータ ファイルを使用して tpr ファイルを生成する

ステップ 1.3 でタンパク質の電荷が 8e になるようにしました。ここに画像の説明を挿入します
これで荷電タンパク質の溶媒系ができました。生きているシステムの正味電荷は 0 であるため、システムに対イオンを追加する必要があります。イオンを追加するツールは次のとおりです。
genion と呼ばれる, genion は指定されたイオンを水分子に置き換えて tpr ファイルを生成します. GROMACS grompp モジュールを使用します. genion がデフォルトで使用する塩は NaCl です. tpr ファイルには系内のすべての原子のパラメータが含まれています
. tpr ファイルの場合、mdp ファイルが必要です。grompp は、.mdp ファイルで指定されたパラメータを座標およびトポロジ情報と組み合わせて、.tpr ファイルを生成します。mdp は、gromacs
全体の中で最も重要なパラメータ ファイルであり、手動で変更する必要があります。個別に調整する必要があるので、 ions.mdp という名前の
新しいファイルを作成します。
(vscode で作業ディレクトリを開くことをお勧めします。その後の操作は作業ディレクトリ内で行われます。) 作業ディレクトリここに画像の説明を挿入します
ここに画像の説明を挿入します
に新しいファイル ions.mdp を作成し、ここをクリック
して、その中のすべてを選択し (ctrl+a)、コピーして貼り付けます。 mdp では、 gro ファイルと mdp を結合して tpr ファイルを生成します
ここに画像の説明を挿入します

gmx grompp -f ions.mdp -c 1AKI_solv.gro -p topol.top -o ions.tpr

ここに画像の説明を挿入します
ここに画像の説明を挿入します

3.2 イオンの添加

このシステムはバイナリ ファイル ions.tpr に原子レベルで記述され、世代に渡され、pname カチオン NA と nname アニオン CL が追加されます。

gmx genion -s ions.tpr -o 1AKI_solv_ions.gro -p topol.top -pname NA -nname CL -neutral

ここに画像の説明を挿入します
ここに画像の説明を挿入します
イオンを埋め込むために SOL の 13 グループを選択します。イオンによって置換されるオブジェクトは溶媒である必要があります。vscode で
ここに画像の説明を挿入します
出力されたトップ ファイルを表示します。8
ここに画像の説明を挿入します
つの正電荷のバランスを取るために 8 CL イオンが追加されます。
視覚化および非表示に pymol を使用します。 CLイオンが8個あることがはっきりとわかります。
ここに画像の説明を挿入します

3.3 イオン添加時の特別な注意事項

针对3.2步特别注意,在不同的立场中,相同离子的名称可能不一样,在amber03力场中钠离子就叫NA,氯离子叫CL,但是在有些立场中,例如charmm36立场中,钠离子依然叫NA,但氯离子叫CLA,查看力场在我们gromacs文件夹下,例如我的gromacs2020.6_GPU中,力场文件就在gmx2020.6_GPU\share\gromacs\top这个文件夹下。
ここに画像の説明を挿入します

ステップ 1.2 で amber03 力場を選択したとき、
ions.itp に対応するイオンの名前が含まれているamber03.ff を開きます
ここに画像の説明を挿入します
。vscode を使用して ions.itp
把他拖到vscode图标里就能打开了
ctrl+f を開き、NA を検索して、 amber03 力場。CL と呼ばれます
ここに画像の説明を挿入します
。charmm36 力場を開くのと同じ方法を使用します。
ここでの塩化物イオンは CLA と呼ばれ、charmm36 のナトリウム イオンは SOD と呼ばれます。
at type才是计算机识别的名称类型ここに画像の説明を挿入します
ここに画像の説明を挿入します

したがって、イオンを追加するときは、フィールド ファイル内の原子名が互いに対応しているかどうかに注意する必要があります。そうでないと、gromacs がエラーを報告します。

4. エネルギーの最小化

ここに画像の説明を挿入します

4.1 mdp 構成ファイルを使用してエネルギーを最小化した tpr ファイルを生成する

エネルギーの最小化により、直接シミュレーション後のシステム崩壊を効果的に回避できます。ここで
、作業ディレクトリに minim.mdp ファイルを作成することをお勧めします。ここをクリックして
すべての内容を選択し (ctrl+a)、コピーして minim.mdp に貼り付け、エネルギー最小化のための tpr ファイル 系内のすべての原子のパラメータ
ここに画像の説明を挿入します

gmx grompp -f minim.mdp -c 1AKI_solv_ions.gro -p topol.top -o em.tpr

ここに画像の説明を挿入します
生成するここに画像の説明を挿入します

4.2 エネルギー最小化処理を行う

gmx mdrun -v -deffnm em

ここに画像の説明を挿入します
ここに画像の説明を挿入します
これらのファイルをエネルギー 1000 未満で生成するには 897 ステップかかりました
ここに画像の説明を挿入します

4.3 最小化プロセスを確認するための画像を作成できます。

gmx energy -f em.edr -o potential.xvg

ここに画像の説明を挿入します
10 0 を選択し
输入10 0 中间有个空格
ここに画像の説明を挿入します
、vscode を使用して生成されたpotential.xvg ファイルを表示します。ここに画像の説明を挿入します
図は Python を使用して作成しました。
注释的地方是有的地方用了n步平均值,这里并没有用到我就注释了
后面所有的图都是那这个改的,改改路径什么的大家自己来咯,要改的地方也就FILE_PATH、START_LINE、plt.plot里label的名称、plt.xlabel、plt.ylabel、plt.title、plt.savefig的名称,大家按照xvg的里面的内容自己改一改^_^

import matplotlib.pyplot as plt
import numpy as np
FILE_PATH = r'D:\Code\ChemCode\Gromacs\test001\resource\potential.xvg'
START_LINE = r'@ s0 legend "Potential"'
plt.rcParams['font.sans-serif'] = 'SimHei'

with open(FILE_PATH, 'r') as file:
    lines = file.readlines()

x_values = []
y_values = []
data_started = False


for line in lines:
    if data_started:
        parts = line.split()
        if len(parts) >= 2:
            x_values.append(float(parts[0]))
            y_values.append(float(parts[1]))
    elif line.startswith(START_LINE):
        data_started = True


plt.figure(figsize=(10, 6))

# plt.xlim(0, max(x_values))
# plt.xticks(np.arange(0, max(x_values)+1, step=20))

plt.plot(x_values, y_values, label='Potential')
plt.xlabel('Time (ps)')
plt.ylabel('(kJ/mol)')
plt.title('GROMACS Energies')
# window_size = 10
# running_average = np.convolve(y_values, np.ones(window_size)/window_size, mode='valid')
# plt.plot(x_values[window_size-1:], running_average, label=f'Running Average ({window_size}-ps window)', color='red')
plt.legend()
plt.grid(True)


plt.savefig('Potential.png', dpi=300, bbox_inches='tight')
plt.show()

出来上がった写真を見てください
ここに画像の説明を挿入します

5. バランスシミュレーション

ここに画像の説明を挿入します

タンパク質の原子の位置を変えずに、溶媒やイオンを緩和するという、系全体の位置拘束シミュレーションを実行します。位置拘束シミュレーションでは、高分子内の原子の位置が制限され (または部分的に固定され)、位置が制限されます。システムの温度と圧力を設定します。温度は nvt で設定し、圧力は npt で設定します。

5.1 NVT シミュレーション

5.1.1 mdp 構成ファイルを使用して nvt tpr ファイルを生成する

または、作業ディレクトリに nvt.mdp ファイルを作成します。ここをクリック
してすべての内容を選択し (ctrl+a)、コピーして nvt.mdp に貼り付けます。
ここに画像の説明を挿入します

gmx grompp -f nvt.mdp -c em.gro -r em.gro -p topol.top -o nvt.tpr

ここに画像の説明を挿入します
生成するここに画像の説明を挿入します

5.1.2 nvt シミュレーションの実行

gmx mdrun -v -deffnm nvt

ここに画像の説明を挿入します
生成する
ここに画像の説明を挿入します

5.1.3 絵を描いてNVTバランスプロセスを表示する

gmx energy -f nvt.edr -o temperature.xvg

ここに画像の説明を挿入します
ここに画像の説明を挿入します
16 0 を選択して図面 xvg
を生成します
ここに画像の説明を挿入します

画图的代码大家按照4.3步和新生成的xvg图像自己改一下吧^_^
这里用到了10ps的平均值,大家要把注释掉的部分加回来
ここに画像の説明を挿入します

5.2 npt バランス

ここに画像の説明を挿入します

5.2.1 mdp 構成ファイルを使用して npt tpr ファイルを生成する

または、作業ディレクトリに npt.mdp ファイルを作成します。ここをクリック
してすべての内容を選択し (ctrl+a)、コピーして npt.mdp に貼り付けます。
ここに画像の説明を挿入します

gmx grompp -f npt.mdp -c nvt.gro -r nvt.gro -t nvt.cpt -p topol.top -o npt.tpr

ここに画像の説明を挿入します

生成するここに画像の説明を挿入します

5.2.2 npt シミュレーションの実行

gmx mdrun -v -deffnm npt

ここに画像の説明を挿入します

生成する
ここに画像の説明を挿入します

5.2.3 絵を描いて NPT バランス調整プロセスを表示する

gmx energy -f npt.edr -o pressure.xvg

ここに画像の説明を挿入しますここに画像の説明を挿入します

生成する18 0 を選択しますここに画像の説明を挿入します

描画xvgには
画图的代码大家按照4.3步和新生成的xvg图像自己改一下吧^_^
这里用到了10ps的平均值,大家要把注释掉的部分加回来
ここに画像の説明を挿入します
密度の画像もあります

gmx energy -f npt.edr -o density.xvg

ここに画像の説明を挿入しますここに画像の説明を挿入します
セレクト 24 0
ドロー
ここに画像の説明を挿入します

6. 完成品シミュレーション

ここに画像の説明を挿入します

6.1 MD用のmdpファイルの設定

または、作業ディレクトリに md.mdp ファイルを作成します。ここをクリック
してすべての内容を選択し (ctrl+a)、コピーして md.mdp に貼り付けます。
ここに画像の説明を挿入します

gmx grompp -f md.mdp -c npt.gro -t npt.cpt -p topol.top -o md_0_1.tpr

ここに画像の説明を挿入します
生成する
ここに画像の説明を挿入します

6.2 MDシミュレーションの開始

本来の目的は GPU でシミュレーションすることなので、後のオプションに -nb gpu を追加します。

gmx mdrun -v -deffnm md_0_1 -nb gpu

ここに画像の説明を挿入します
md.mdp ファイルの nsteps 設定は 50w であるため、私の 1060 では 50w ステップが 10 分で
ここに画像の説明を挿入します
完了すると予想されます。
ここに画像の説明を挿入します

7. 分析結果

ここに画像の説明を挿入します
RMSD 二乗平均平方根偏差: 初期構造からの特定の瞬間における構造の偏差を反映します。
RMSF アミノ酸残基の変動: 経時的な基準位置からの各アミノ酸残基の平均偏差。 高い
RMSF 値は、アミノ酸残基が安定していることを示します。またはグループが比較的強い 柔軟性が大きい、それ以外の場合は柔軟性が低い

7.1 正しい座標

なぜなら、ボックスを作成するとき、一部の原子はボックスの端にあり、半分はボックスの内側、半分はボックスの外側にあります (ボックスの外側ではなく、別のボックスから覗いています。これには PBC 周期境界条件が関係します。可能性があります。もう一度話します)
trjconv を使用して手動で座標を抽出し、周期性を修正または軌道を手動で調整します。また、trjconv を使用してシステムの周期性を排除します。

gmx trjconv -s md_0_1.tpr -f md_0_1.xtc -o md_0_1_noPBC.xtc -pbc mol -center

ここに画像の説明を挿入します
ここに画像の説明を挿入します
オフセットのシステムとして 1 を選択し、
ここに画像の説明を挿入します
出力結果として 0 を選択し、
ここに画像の説明を挿入します
補正後の結果をシミュレートします。
ここに画像の説明を挿入します

7.2 RMSD分析

RMSD xvg ファイルを取得する

gmx rms -s md_0_1.tpr -f md_0_1_noPBC.xtc -o rmsd.xvg -tu ns

ここに画像の説明を挿入します
ここに画像の説明を挿入します
最小二乗フィッティングと RMSD 計算用に 4 つのバックボーンを選択し、
RMSD の xvg ファイルを取得します。
ここに画像の説明を挿入します
結晶構造と相対的な RMSD を取得することもできます。

gmx rms -s em.tpr -f md_0_1_noPBC.xtc -o rmsd_xtal.xvg -tu ns

描画は
ここに画像の説明を挿入します
基本的に0.1nm 1A以下でかなり安定しています。

7.3 Rg 分析

タンパク質の平均二乗回転半径 (Rg) を見ると、その堅さを説明できます。タンパク質が安定した折り畳み状態にある場合、Rg は比較的安定した値になります。タンパク質が折りたたまれていないと、Rg は変化し続けます。

gmx gyrate -s md_0_1.tpr -f md_0_1_noPBC.xtc -o gyrate.xvg

ここに画像の説明を挿入します
選択 1タンパク質の描画
を生成するRg の比較的合理的な安定値から、300K の温度での 1ns のシミュレーションでは、タンパク質が非常に安定した折り畳み状態にあることがわかります。ここに画像の説明を挿入します

ここに画像の説明を挿入します


要約する

これで、卵白リゾチームに関する gromacs チュートリアルの第 1 章が終わりました。私の専攻はソフトウェア エンジニアリングなので、gromacs は科学研究で時々使用されます。私は多くの落とし穴を踏んできました。学生の皆さんが長い回り道をしないことを願っています。第5章や環境構築については、反応が良ければ時間がある時に書きます。

おすすめ

転載: blog.csdn.net/qq_45400167/article/details/133137611