GROMACS チュートリアル 5: タンパク質-リガンド複合体の中国語実践チュートリアル
序文
なぜなら、GROMACS の公式英語チュートリアルと Li Jicun 先生による GROMACS の中国語チュートリアルは初心者にとって非常に不親切で、詳細に説明されていない部分が多く、結果的に困難が多いと感じたからです。あなた自身の成功した実験例をここに記録してください。
前章に引き続き、GROMACS チュートリアル 1 が終了し、基本的な操作は十分に慣れたところで、今回はタンパク質とリガンドの複合体についてのチュートリアルを行います。
提示:以下是本篇文章正文内容,下面案例可供参考
システム環境
これは GROMACS チュートリアル 1 と一致しています。
コンピュータ システム: 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 (1.4構成アボガドロは、ボディの準備中に水素添加が必要な場合に使用されます)
如果环境不会搭的话我会再出一期专门配置环境的,环境配置并不是我们这次教程的重点
这章GROMACS英文教程地址:[GROMACS英文教程地址](http://www.mdtutorials.com/gmx/lysozyme/index.html)
特に重視するのは、
すべてのコマンド操作は作業ディレクトリで実行する必要があります。
1. 前処理段階
我先放英文教程,再说我的。
1.1 タンパク質リガンドの分離と水分除去操作
ダウンロード T4 リゾチーム 3HTB これはタンパク質とリガンドが一緒になったもので、最初のステップは水を除去することです。
pymol を使用して 3HTB を開くと、中央部分がリガンド部分であることがわかります。GROMACS チュートリアル 1 では、VsCode を使用して水を除去しましたが、今日は、pymol を使用して水を除去する別の方法を紹介します。
pymol を使用して 3HTB を開きます。周囲には赤い小さな分子がたくさんありますが、すべて水です。3htb
のアクション (A) オプションをクリックして水の除去を選択し、右下の S をクリックして配列情報を表示します。
処理後、上に配列情報が表示され、水分が除去されていることがわかります。
そして、166以降にJZ4用のリガンドファイルがあることが分かりました。JZ4 をクリックして、それを取り出すことを選択します。
これにより、抽出したJZ4リガンドobj01が生成されるので、
元の3THBタンパク質をターゲットにしてタンパク質以外の部分を削除します。それは、P04 と JZ4 を削除し、タンパク質だけを残すことです。JZ4 が削除されているので、先ほど JZ4 が表示されていた場所が BME になっているので、
P04、P04、BME をクリックした後、マウスを右クリックして削除を選択します。
このようにして、タンパク質ファイルとリガンド ファイルを取得し
、2 つのファイルを別々に保存します。
プロテインファイルとリガンドファイルを作業ディレクトリに順番に保存してください。そして、ファイルにそれぞれ 3thb_myclean.pdb と jz4.pdb という名前を付けて (ファイル名に注意してください。後続の操作はファイル名に対応する必要があります)、
2 つのファイルを取得します。
1.2 JZ4 リガンドを識別する力場を選択する
GROMACS が提供するすべての力場は JZ4 リガンドを認識できないため、推奨の力場を使用する必要があります。2 つの
方法: 1. オンラインで使用する 2. 公式の力場を使用する
1.2.1 オンライン力場解析の使用
1.2.1 のオンライン力場解析の使い方については、ここではあまり説明しませんので、興味のある方はご自身で勉強してみてください。1.2.2では公式に推奨されている方法を中心に説明します。
力場はリガンドを自動的に処理できないため、リガンドの力場パラメーターを取得するにはサードパーティの方法が必要です。ACPYPE オンライン バージョンを使用してリガンドを処理し、jz4.pdb ファイルをアップロードして取得します
。
1.2.2 公式推奨力場CHARMM36を用いた解析
MacKerell lab Web サイトをクリックし、GROMACS を選択します。
力場と対応する py ファイルをダウンロードします。
私は、charmm36_ljpme-jul2022.ff.tgz 力場ファイルを選択しましたが、Python のバージョンは 3.8 なので、cgenff_charmm2gmx_py3_nx2.py スクリプト ファイルを選択しました。
ダウンロードした力場ファイルとPythonファイルを作業ディレクトリに置き、力場ファイルを解凍します。
ダウンロードしたpythonファイルですが、
力場圧縮版を解凍するとフォルダができます。
ここのフォルダーと Python ファイルは作業ディレクトリに配置する必要があります
1.3 プロテイントップファイルの準備
コンソールに入り、作業ディレクトリに入ります。(作業ディレクトリ cmd または conda プロンプトで作業ディレクトリに移動します)
gmx pdb2gmx -f 3HTB_clean.pdb -o 3HTB_processed.gro -ter
ここのファイルは 1.1 で保存したファイルと一致している必要があります。たとえば、先ほど保存したプロテイン ファイルは 3HTB_myclean.pdb という名前なので、実行コードもそれに応じて変更する必要があります。
インストールしたばかりの力場を選択します 1
1 を選択して Enter を押します。
次に、水モデルを選択し、 TIP3P を選択し
、 1 を選択して Enter を押し
ます。次に、端子タイプを選択し、NH3+ を選択し、
1 を選択して Enter を押します
。次に、カルボキシル末端タイプを選択します。 、 COO を選択 -
0 を選択 COO を選択 -
構造ファイルグロトポロジーを生成 ファイル先頭位置制限ファイル itp
タンパク質調製終了
1.4 リガンド用のトップファイルの準備
私たちのフォース フィールドは、公式に推奨されているcharmm36 フォース フィールドを選択し、当然のことながら、フォローアップの CGenFF (公式 CHARMM General Force Field サーバー) を選択しました。ただし、CgenFF を使用する前に、CgenFF を水素化する必要があります。水素化には Avogadro を使用します。Avogadro を使用して開き
ます
。 jz4.pbd ファイル. [水素の追加] を選択し
、選択が完了したら、[ファイル]、[名前を付けて保存] の順に選択して、mol2 形式で保存します。
ファイルをmol2形式で保存し、水素を付加したファイルを取得しますが、
vscode でこのファイルを開くことはできませ
ん、リガンド名はなく、原子情報のみが存在します。それを修正する必要があります。
vscode の作業ディレクトリに新しいファイルを作成し、jz4_h_jz4.mol2 という名前を付け、jz4_h.mol2 ファイルの内容をすべてコピーして貼り付けます。
丸で囲った箇所を変更します (1. ******* をリガンド名 JZ4 に変更します。 2. LIG1 をリガンド名 JZ4 に変更します。) 変更後の
jz4_h_jz4.mol2 ファイルは次のとおりです
。 jz4_h_jz4.mol2 ファイルを保存します。
変更された jz4_h_jz4.mol2 については、 sort_mol2_bonds.pl を使用して結合を変更する必要があります。ファイル情報については、ここをクリックしてください。それをコピーして貼り付けた後、Linux に入り、jz4_h_jz4.mol2 ファイルと変更した名前で sort_mol2_bonds.pl をアップロードします。実行します。 Linuxターミナルで
perl sort_mol2_bonds.pl jz4_h_jz4.mol2 jz4_fix.mol2
ファイル jz4_fix.mol2 を取得し、それを Linux ファイルから Windows の作業ディレクトリに転送します。
このファイルを CgenFF にアップロードします。CgenFF の URL はここをクリック
してください。 ログイン後、上部の uploda 分子を選択して、
結合を変更した mol2 ファイルをアップロードします。
cgenff は mol2 ファイルから str ファイルを生成し、ダウンロードし、vscode で開きます。生成された
str ファイルは、トップ ファイルに対する CgenFF 独自のスコアです。10 未満の場合、cgenff はトップが非常に優れていると判断します。10- 50 を超える場合は使用できません
。cgenff を使用して、独自のタンパク質複合体のリガンド状態を確認できます。
1.5 CgenFF を使用してリガンドトップファイルを生成する
pyスクリプトは
リガンド位置を使用します
python cgenff_charmm2gmx.py JZ4 jz4_fix.mol2 jz4.str charmm36-jul2022.ff
ここでの JZ4 は、1.4 で自分で変更した名前 ******* でなければなりません。対応している必要があります。そうでない場合、gromacs はエラーを報告します。
初めて実行すると、gbk を認識できないことを示すエラーが報告されます。これは Python スクリプトに問題があります。エンコード形式を変更してください。
cgenff_charmm2gmx_py3_nx2.py スクリプト ファイルを開きます。
その中のすべてをf = open(str_filename, 'r')
に変更します。すべてが!に変更されるf = open(str_filename, 'r',encoding='utf-8')
ことに注意してください。!!!f = open(str_filename, 'r')
f = open(str_filename, 'r',encoding='utf-8')
変更後、再度実行すると成功します。
生成されるファイルは以下のとおりです。 トポロジファイル 先頭位置制限ファイル itp
gmx editconf -f jz4_ini.pdb -o jz4.gro
構造体 gro ファイルとトポロジ ファイルを生成します。
1.6 タンパク質とリガンドを結合し、生成された gro ファイルと top ファイルを変更し、複雑なファイルを生成する
1.6.1 gro ファイルを変更する
前の手順で生成された 3HTB_processed.gro (1.3 で生成) とこの手順で生成された jz4.gro の場合、
jz4 を貼り付けて新しい complex.grp を生成する必要があります (最初に 3HTB_processed.gro のコピーをコピーし、次に jz4.gro を追加します)
1.3 で生成された 3HTB_processed.gro は次のように vscode で開かれます。2 行目の 2614 は原子の数を示していることに注意してください。1.5 で生成された jz4.gro は次のように vscode で開かれます。2 行目の 22 は原子の数を示していることに注意してください
。まず 3HTB_processed.gro のコピー
を作成し、 complex_1 .gro という名前を付け、最終行の前に jz4.gro を追加します。変更された complex_1.gro ファイルは次のとおりです。
追加したjz4.groのcomplex_1.groファイルについても、2行目の原子数を変更する必要がありますが、complex_1.groの原子数は、3HTB_processed.groの原子数+ jz4.gro の原子数、つまり 2614+22=2636 は、
complex_1.gro の原子数を 2636 に変更します。
1.6.2 先頭ファイルの変更
1.5 で生成された topol.top および jz4.itp ファイルの場合、
前の環境記述条件に条件 jz4.ptm ファイルを追加します。
生成された topol.top ファイルの水モデルの前にリガンド ファイルを追加し
ます。最後の行
で先頭のファイルを保存する準備は完了です。
2. イオンを加える
2.1 ボックスを定義し、溶媒を追加する
12面体の箱を定義する
gmx editconf -f complex_1.gro -o newbox.gro -bt dodecahedron -d 1.0
生成します。
溶媒を追加します。
gmx solvate -cp newbox.gro -cs spc216.gro -p topol.top -o solv.gro.
前後のトップ ファイルの比較
。SOL 溶媒がさらにあります。
生成します
。理論的には、真ん中にタンパク質がある十二面体、
視覚化にいくつかの問題がありますが、無害です
2.2 イオンプレパレーションの追加
最初のステップでは、タンパク質のトップが生成されると、複合体は 6 つの正電荷を持ちます。最初に
構成 mdp ファイルを生成し、vscode を使用して作業ディレクトリに ions.mdp ファイルを作成します。ここをクリックして、ions.mdpにコピーして貼り付けます。そしてそれを保存します。
gmx grompp -f ions.mdp -c solv.gro -p topol.top -o ions.tpr
生成する
2.3 イオンの追加
公式コードをコピーして直接使用することはできません。対応する力場ファイルの ions.itp に従って、対応するイオンの略語を見つける必要があります。これについては、GROMACS チュートリアル 1 の 3.3 で詳しく説明しました。見て。GROMACS チュートリアル 1
gmx genion -s ions.tpr -o solv_ions.gro -p topol.top -pname NA -nname CL -neutral
Charmm36 力場では、ナトリウム イオンは SOD と呼ばれ、塩化物イオンは CLA と呼ばれるため、コードを次のように変更する必要があります。
gmx genion -s ions.tpr -o solv_ions.gro -p topol.top -pname SOD -nname CLA -neutral
イオンを埋め込むために 15 SOL を選択します。イオンによって置換されるオブジェクトは溶媒である必要があります。生成
します
。先頭のファイルを表示します。Cla イオンが topol ファイルに追加されました
。タンパク質には 6 つの正電荷があるため、6 つの塩化物イオンが存在する必要があります。
pymolで可視化するために追加しました。
clイオンが6個付加されていることが肉眼で確認できます。
3. エネルギーの最小化
設定ファイル em.mdp を準備します。まず、設定 mdp ファイルを生成します。vscode を使用して、作業ディレクトリに em.mdp ファイルを作成します。ここをクリックして、em.mdpにコピー&ペーストして保存します。
gmx grompp -f em.mdp -c solv_ions.gro -p topol.top -o em.tpr
gmx mdrun -v -defnm emを生成します。
生成する
4. リガンドの制限とシステムバランス
4.1 制限複合体
gmx make_ndx -f jz4.gro -o index_jz4.ndx
入力
0 & ! a H*
もう一度入力してください
q
生成する
gmx genrestr -f jz4.gro -n index_jz4.ndx -o posre_jz4.itp -fc 1000 1000 1000
3つ選択してください
先頭ファイルを変更する
gmx make_ndx -f em.gro -o index.ndx
まずタンパク質とリガンドを組み合わせます
。1|13 を選択し
、水とイオンを組み合わせる必要があります
。14|15 を選択して
から、q を選択します。ここで生成される組み合わせは非常に重要です。!!後で使います!!!!!
タンパク質リガンドの組み合わせはProtein_JZ4
と呼ばれ、水イオンの組み合わせはCLA_Waterと呼ばれます。
生成する
4.2 Nvt バランス
4.2.1 NVT バランス設定
構成ファイル nvt.mdp を準備します。まず構成 mdp ファイルを生成します。vscode を使用して、作業ディレクトリに nvt.mdp ファイルを作成します。ここをクリックして、nvt.mdpにコピーして貼り付けて保存します。
公式ドキュメントに記載されているコードをここで直接使用することはできないため、内部の tc-grps を先ほど結合したものに変更する必要があります。タンパク質のリガンドの組み合わせをProtein_JZ4、水イオンの組み合わせをCLA_Water と呼びますので、
変更し
て保存します。
gmx grompp -f nvt.mdp -c em.gro -r em.gro -p topol.top -n index.ndx -o nvt.tpr
生成する
gmx mdrun -v -deffnm nvt
生成する
4.2.2 nvt 描画
gmx energy -f nvt.edr -o temperature.xvg
16 0を選択してください
Python 描画 (具体的なコードは GROMACS チュートリアル 1 で詳しく説明されています。振り返ることができます)
4.3 npt バランス
4.3.1 NPTバランス設定
設定ファイル npt.mdp を準備します。まず、設定 mdp ファイルを生成します。vscode を使用して、作業ディレクトリに npt.mdp ファイルを作成します。ここをクリックして、npt.mdpにコピー&ペーストして保存します。
公式ドキュメントに記載されているコードをここで直接使用することはできないため、内部の tc-grps を先ほど結合したものに変更する必要があります。タンパク質リガンドの組み合わせはProtein_JZ4と呼ばれ、水イオンの組み合わせはCLA_Water
と呼ばれます。
gmx grompp -f npt.mdp -c nvt.gro -t nvt.cpt -r nvt.gro -p topol.top -n index.ndx -o npt.tpr
生成する
gmx mdrun -v -deffnm npt
生成する
4.3.2 NPT 図面
gmx energy -f npt.edr -o pressure.xvg
17 0
Python 描画を選択します
5. 完成品シミュレーション
設定ファイル md.mdp を準備します。まず、設定 mdp ファイルを生成します。vscode を使用して、作業ディレクトリに md.mdp ファイルを作成します。ここをクリックして、npt.mdpにコピー&ペーストして保存します。
公式ドキュメントに記載されているコードをここで直接使用することはできないため、内部の tc-grps を先ほど結合したものに変更する必要があります。タンパク質のリガンドの組み合わせはProtein_JZ4と呼ばれ、水イオンの組み合わせはCLA_Waterと呼ばれます。
gmx grompp -f md.mdp -c npt.gro -t npt.cpt -p topol.top -n index.ndx -o md_0_10.tpr
生成する
gmx mdrun -v -deffnm md_0_1 -nb gpu
gtx1060 は 18:45 から 22:01 まで実行され、4 時間実行されることが予想されます
。
6. 分析
6.1 分析の準備
周期性を排除する
gmx trjconv -s md_0_10.tpr -f md_0_10.xtc -o md_0_10_center.xtc -center -pbc mol -ur compact
オフセットのシステムとして 1 を選択し、
出力には 0 を選択します。
gmx trjconv -s md_0_10.tpr -f md_0_10_center.xtc -o start.pdb -dump 0
生成するには0 を選択してください
。よりスムーズに視覚化するには、回転と平行移動のフィットを実行します。
gmx trjconv -s md_0_10.tpr -f md_0_10_center.xtc -o md_0_10_fit.xtc -fit rot+trans
生成する
6.2 エネルギー分析
構成ファイル ie.mdp を準備します。まず構成 mdp ファイルを生成します。vscode を使用して、作業ディレクトリに ie.mdp ファイルを作成します。ここをクリックして、ie.mdpにコピー&ペーストして保存します。
生成する
gmx grompp -f ie.mdp -c npt.gro -t npt.cpt -p topol.top -n index.ndx -o ie.tpr
生成する
gmx mdrun -v -deffnm ie -rerun md_0_10.xtc -nb cpu
生成する
gmx energy -f ie.edr -o interaction_energy.xvg
これは単なる例であり、短距離レナード・ジョーンズ エネルギー (LJ-SR) や平均短距離クーロン相互作用エネルギー (Coul-SR) など、選択したオプションに応じて異なるプロットが生成されます。
gmx energy -f ie.edr -o LJ_SR.xvg
22 0
エネルギーを -99±7.0 kj/mol として選択します。公式文書に対応して、短距離レナード・ジョーンズ エネルギーは -99.1±7.2 kj/mol です。
gmx energy -f ie.edr -o coul_SR.xvg
セレクト 21 0 の
エネルギーは公式文書に対応して -19±7.8kj/mol 平均短距離クーロン相互作用エネルギーは -20.5±7.4kj/mol
要約する
これが GROMACS チュートリアル 5: タンパク質-リガンド複合体中国語実践チュートリアルのすべての内容です。私の専攻はソフトウェア工学なので、GROMACS は科学研究で使用されることがありますが、私は多くの落とし穴を踏んできました。他の学生も行かないことを願っています。遠く、途中です。どなたでもメッセージを残して、私のコメント欄で議論してください。