Difference between revisions of "Molecular Dynamics Simulations"

From Bioinformatikpedia
m (Preparation)
m
 
(13 intermediate revisions by 2 users not shown)
Line 1: Line 1:
  +
<sup>by [[User:Greil|Robert Greil]] and [[User:Landerer|Cedric Landerer]]</sup>
  +
==Selection of the mutations==
  +
  +
We decided to simulate mutations 8a and 8b, because they are at the same position but only 8a is liable for 80 percent of all hemochromatosis cases.
  +
  +
To fulfill all steps of the [[Task_8_-_Molecular_Dynamics_Simulations| tutorial]] correctly, we created a simple python script, which batch processes all steps and writes log files to double check every step.
  +
  +
All steps were done for the wildtype, mutation 8a and mutation 8b.
  +
 
==Preparation==
 
==Preparation==
* We extracted all crystal water but, there was no crystal water included.
+
* We tried to extract all of the crystal water of our pdb, but because there was nothing included we skipped this step.
** cmd: <code>repairPDB 1a6z.pdb -ssw 15t >ssw.tmp</code>
+
** cmd: <code>repairPDB ID.pdb -ssw 15t >ssw.tmp</code>
* Extracting the pure protein
+
* Afterwards the pure protein was extracted.
** cmd: <code>repairPDB 1a6z.pdb -nosol >1a6z_clean.pdb</code>
+
** cmd: <code>repairPDB ID.pdb -nosol >ID_clean.pdb</code>
  +
* All missing sidechains were corrected due the help of SCWRL.
* Complete missing side chains
 
** cmd: <code>scwrl -i 1a6z_clean.pdb -s 1a6z_low.txt -o 1a6z_clean_complete.pdb > out.log</code>
+
** cmd: <code>scwrl -i ID_clean.pdb -s ID_low.txt -o ID_clean_complete.pdb > out.log</code>
  +
* All H-atoms are being removed.
* Removing all H-Atoms
 
** cmd: <code>repairPDB 1a6z_clean_complete.pdb -noh >1a6z_final.pdb</code>
+
** cmd: <code>repairPDB ID_clean_complete.pdb -noh >ID_final.pdb</code>
 
* Because there was no crystal water in the origin pdb included, we had nothing to concatenate.
 
* Because there was no crystal water in the origin pdb included, we had nothing to concatenate.
   
 
'''Creation of the gromac files'''
 
'''Creation of the gromac files'''
* cmd: <code>pdb2gmx -f 1a6z_final.pdb -o 1a6z_final.gro -p 1a6z_final.top -water tip3p -ff amber03 -vsite hydrogens</code>
+
* cmd: <code>pdb2gmx -f ID.pdb -o ID.gro -p ID.top -water tip3p -ff amber03 -vsite hydrogens</code>
* Then a box around our protein was added
+
* Then a box around our protein was added.
** cmd: <code>editconf -f 1a6z_final.gro -o 1a6z_final_box.gro -bt dodecahedron -d 1.0</code><br>
+
** cmd: <code>editconf -f ID.gro -o ID_box.gro -bt dodecahedron -d 1.0</code><br>
 
* The box was afterwards filled with water
 
* The box was afterwards filled with water
** cmd: <code>genbox -cp 1a6z_final_box.gro -cs spc216.gro -p 1a6z_final.top -o 1a6z_final_box_water.gro</code>
+
** cmd: <code>genbox -cp ID_box.gro -cs spc216.gro -p ID.top -o ID_water.gro</code>
   
 
* Now we create the .tpr file for further use with genion
 
* Now we create the .tpr file for further use with genion
** cmd: <code>grompp -v -f first.mdp -c 1a6z_final_box_water.gro -p 1a6z_final.top -o 1a6z_final_box_water.tpr</code>
+
** cmd: <code>grompp -v -f ../first.mdp -c ID_water.gro -p ID.top -o ID_water.tpr</code>
   
 
'''Genion'''
 
'''Genion'''
* cmd: <code>genion -s 1a6z_final_box_water.tpr -o 1a6z_solv.pdb -conc 0.1 -neutral -pname NA+ -nname CL- > genion_log.txt</code>
+
* cmd: <code>genion -s ID_water.tpr -o ID_solv.pdb -conc 0.1 -neutral -pname NA+ -nname CL- > genion_log.txt</code>
* Now we counted the added ions. ION is set to NA+ and CL- to get the number of added ions. For CL- genion added 41 and for NA+ genion added 52 ions.
+
* Now we counted the added ions. ION is set to NA+ and CL- to get the number of added ions. For CL- genion added X and for NA+ genion added Y ions.
   
* Next we edit the SOL entry in the .top file. Here we found a SOL entry of 21363 which we changed to 21363-52-41=21270 and added two new entrys, NA with the value 52 and CL with the value 41.
+
* Next we edit the SOL entry in the .top file. Here we found a SOL entry of Z from which we changed to Z=(Z-X-Y) and added two new entries, NA with the value Y and CL with the value X.
   
* After adding the new water, we checked for an overlap with the crystal water but as we had no crystal water in our file, we assumed to have no overlap. And as we found no REMARK tag in the new file, we should have no overlap
+
* After adding the new water, we checked for an overlap with the crystal water but as we had no crystal water in our file, we assumed to have no overlap. And as we found an REMARK 0 tag in the new file, we should have no overlap
** cmd: <code>repairPDB 1a6z_solv.pdb -cleansol > 1a6z_solv2.pdb</code>
+
** cmd: <code>repairPDB ID_solv.pdb -cleansol > ID_solv2.pdb</code>
   
 
*In this step we added restrains to disable very fast vibrations such as seen for hydrogen atoms to reduce the simulation time.
 
*In this step we added restrains to disable very fast vibrations such as seen for hydrogen atoms to reduce the simulation time.
** cmd: <code>genrestr -f 1a6z_solv2.pdb -o 1a6z.itp</code>
+
** cmd: <code>genrestr -f ID_solv2.pdb -o ID.itp</code>
   
 
==Minimization solvent and system==
 
==Minimization solvent and system==
 
* We first created a new .tpr file.
 
* We first created a new .tpr file.
** cmd: <code>grompp -v -f second.mdp -c 1a6z_solv.pdb -p 1a6z_final_ion.top -o 1a6z_solv_min.tpr</code>
+
** cmd: <code>grompp -v -f ../minSolvent.mdp -c ID_solv2.pdb -p ID.top -o ID_solv_min.tpr</code>
  +
* Afterwards we minimized the solvent.
* But if we used the pdb-file created with the last repairPDB call which should check for overlaping water, we get an error which tells us that the number of coordinates in the pdb file does not match the number of coordinates in the top-file. Therefore we used the pdb-file which was not "repaired".
 
  +
** cmd: <code>mpirun -np 8 mdrun_mpi -v -deffnm ID_solv_min.tpr -c ID_solv_min.pdb"</code>.
* Afterwards we minimised the solvent.
 
** cmd: <code>mpirun -np 4 mdrun_mpi -v -deffnm 1a6z_solv_min.tpr -c 1a6z_solv_min.pdb</code>.
 
 
* To minimise the solvent and the protein sidechains and to create a new .tpr file.
 
* To minimise the solvent and the protein sidechains and to create a new .tpr file.
** cmd: <code>genrestr -f 1a6z_solv_min.pdb -o 1a6z_min.itp</code>
+
** cmd: <code>genrestr -f ID_solv_min.pdb -o ID.itp</code>
 
* To prepare a new .tpr file.
 
* To prepare a new .tpr file.
** cmd: <code>grompp -v -f second.mdp -c 1a6z_solv_min.pdb -p 1a6z_final_ion.top -o 1a6z_solv_min2.tpr</code>
+
** cmd: <code>grompp -v -f ../minSolvent.mdp -c ID_solv_min.pdb -p ID.top -o ID_solv_min2.tpr</code>
 
* At last we minimised the total system
 
* At last we minimised the total system
** cmd: <code>mpirun -np 4 mdrun_mpi -v -deffnm 1a6z_solv_min2.tpr -c 1a6z_solv_min2.pdb</code>
+
** cmd: <code>mpirun -np 8 mdrun_mpi -v -deffnm ID_solv_min2.tpr -c ID_solv_min2.pdb</code>
   
 
==Equilibration of system==
 
==Equilibration of system==
  +
* First we created a new .tpr file.
* First we created a new .tpr file using <code>grompp -v -f nvt.mdp -c 1a6z_solv_min2.pdb -p 1a6z_final_ion.top -o 1a6z_nvt.tpr</code> and then started rhe mdrun with <code>mpirun -np 4 mdrun_mpi -v -deffnm 1a6z_nvt.tpr -c 1a6z_nvt.pdb</code>.
 
  +
** cmd: <code>grompp -v -f ../nvt.mdp -c ID_solv_min2.pdb -p ID.top -o ID_nvt.tpr</code>
* The second step was to create a new .tpr file for pressure coupling by <code>grompp -v -f <npt.mdp> -c <file_nvt.gro> -p <file.top> -o <file_npt.tpr></code>. But to get an adepted .gro file, we had to use pdb2gmx a second time with <code>pdb2gmx -f <input.pdb> -o <output.gro> -p <output.top> -water tip3p -ff amber03 -vsite hydrogens</code>. For startinf the mdrun we used again the command <code>mpirun -np 4 mdrun_mpi -v -deffnm 1a6z_nvt.tpr -c 1a6z_nvt.pdb</code>
 
  +
* Secondly we started the mdrun.
  +
** cmd: <code>mpirun -np 8 mdrun_mpi -v -deffnm ID_nvt.tpr</code>.
  +
* The third step was to create a new .tpr file for pressure coupling.
  +
** cmd: <code>grompp -v -f ../npt.mdp -c ID_nvt.tpr.gro -p ID.top -o ID_npt.tpr</code>
  +
* For starting the mdrun we used again the command.
  +
** cmd: <code>mpirun -np 8 mdrun_mpi -v -deffnm ID_npt.tpr</code>
   
 
==Production run==
 
==Production run==
  +
* The final production run to produce all necessary files was done by two commands.
*<code>grompp -v -f <md.mdp> -c <file_npt.gro> -p <file.top> -o <file_md.tpr></code>. To get the new .gro file we again used pdb2gmx.
 
  +
** cmd: <code>grompp -v -f ../md.mdp -c ID_npt.tpr.gro -p ID.top -o ID_md.tpr</code>
  +
** cmd: <code>mkdir _final_ID && cp ../md.mdp _final_ID/md.mdp && cp ID_npt.tpr.gro _final_ID/ID_npt.tpr.gro && cp ID.top _final_ID/ID.top && cp ID_md.tpr _final_ID/ID_md.tpr</code>
  +
* Afterwards, these files were submitted to the LRZ cluster for the simulation run. (But these runs were really buggy and crashed very very often or took sometimes forever to finish...)
  +
  +
==Production run==
  +
* The final production run to produce all necessary files was done by two commands.
  +
** cmd: <code>grompp -v -f ../md.mdp -c ID_npt.tpr.gro -p ID.top -o ID_md.tpr</code>
  +
** cmd: <code>mkdir _final_ID && cp ../md.mdp _final_ID/md.mdp && cp ID_npt.tpr.gro _final_ID/ID_npt.tpr.gro && cp ID.top _final_ID/ID.top && cp ID_md.tpr _final_ID/ID_md.tpr</code>
  +
* Afterwards, these files were submitted to the LRZ cluster for the simulation run. (But these runs were really buggy and crashed very very often or took sometimes forever to finish...)
  +
  +
===Scripts===
  +
We used the following scripts to run the simulations.
  +
  +
*Wildtype:
  +
<code>
  +
#!/bin/bash
  +
#$-o $HOME/t08_1a6z/mdrun_ref.LOG -j y
  +
#$-N Hemo_ref
  +
#$-S /bin/bash
  +
#$-M x@y.z
  +
#$-m abe
  +
#$-l h_rt=32:00:00
  +
#$-l march=x86_64
  +
#$-pe mpi_32 32
  +
. /etc/profile
  +
cd $HOME/t08_1a6z
  +
module load gromacs/4.5
  +
module load mkl/10.2
  +
mpiexec -n $NSLOTS mdrun_mpi -v -deffnm $HOME/t08_1a6z/ref_md.tpr
  +
</code>
  +
  +
*Mutation 8a [C282Y]:
  +
<code>
  +
#!/bin/bash
  +
#$-o $HOME/t08_1a6z/mdrun_282a.LOG -j y
  +
#$-N Hemo_282a
  +
#$-S /bin/bash
  +
#$-M x@y.z
  +
#$-m abe
  +
#$-l h_rt=32:00:00
  +
#$-l march=x86_64
  +
#$-pe mpi_32 32
  +
. /etc/profile
  +
cd $HOME/t08_1a6z
  +
module load gromacs/4.5
  +
module load mkl/10.2
  +
mpiexec -n $NSLOTS mdrun_mpi -v -deffnm $HOME/t08_1a6z/282a_md.tpr
  +
</code>
  +
  +
*Mutation 8b [C282S]:
  +
<code>
  +
#!/bin/bash
  +
#$-o $HOME/t08_1a6z/mdrun_282b.LOG -j y
  +
#$-N Hemo_282b
  +
#$-S /bin/bash
  +
#$-M x@y.z
  +
#$-m abe
  +
#$-l h_rt=32:00:00
  +
#$-l march=x86_64
  +
#$-pe mpi_32 32
  +
. /etc/profile
  +
cd $HOME/t08_1a6z
  +
module load gromacs/4.5
  +
module load mkl/10.2
  +
mpiexec -n $NSLOTS mdrun_mpi -v -deffnm $HOME/t08_1a6z/282b_md.tpr
  +
</code>
  +
  +
== References ==
  +
<references />
   
  +
[[Category : Hemochromatosis]]
==Results==
 

Latest revision as of 13:11, 30 August 2011

by Robert Greil and Cedric Landerer

Selection of the mutations

We decided to simulate mutations 8a and 8b, because they are at the same position but only 8a is liable for 80 percent of all hemochromatosis cases.

To fulfill all steps of the tutorial correctly, we created a simple python script, which batch processes all steps and writes log files to double check every step.

All steps were done for the wildtype, mutation 8a and mutation 8b.

Preparation

  • We tried to extract all of the crystal water of our pdb, but because there was nothing included we skipped this step.
    • cmd: repairPDB ID.pdb -ssw 15t >ssw.tmp
  • Afterwards the pure protein was extracted.
    • cmd: repairPDB ID.pdb -nosol >ID_clean.pdb
  • All missing sidechains were corrected due the help of SCWRL.
    • cmd: scwrl -i ID_clean.pdb -s ID_low.txt -o ID_clean_complete.pdb > out.log
  • All H-atoms are being removed.
    • cmd: repairPDB ID_clean_complete.pdb -noh >ID_final.pdb
  • Because there was no crystal water in the origin pdb included, we had nothing to concatenate.

Creation of the gromac files

  • cmd: pdb2gmx -f ID.pdb -o ID.gro -p ID.top -water tip3p -ff amber03 -vsite hydrogens
  • Then a box around our protein was added.
    • cmd: editconf -f ID.gro -o ID_box.gro -bt dodecahedron -d 1.0
  • The box was afterwards filled with water
    • cmd: genbox -cp ID_box.gro -cs spc216.gro -p ID.top -o ID_water.gro
  • Now we create the .tpr file for further use with genion
    • cmd: grompp -v -f ../first.mdp -c ID_water.gro -p ID.top -o ID_water.tpr

Genion

  • cmd: genion -s ID_water.tpr -o ID_solv.pdb -conc 0.1 -neutral -pname NA+ -nname CL- > genion_log.txt
  • Now we counted the added ions. ION is set to NA+ and CL- to get the number of added ions. For CL- genion added X and for NA+ genion added Y ions.
  • Next we edit the SOL entry in the .top file. Here we found a SOL entry of Z from which we changed to Z=(Z-X-Y) and added two new entries, NA with the value Y and CL with the value X.
  • After adding the new water, we checked for an overlap with the crystal water but as we had no crystal water in our file, we assumed to have no overlap. And as we found an REMARK 0 tag in the new file, we should have no overlap
    • cmd: repairPDB ID_solv.pdb -cleansol > ID_solv2.pdb
  • In this step we added restrains to disable very fast vibrations such as seen for hydrogen atoms to reduce the simulation time.
    • cmd: genrestr -f ID_solv2.pdb -o ID.itp

Minimization solvent and system

  • We first created a new .tpr file.
    • cmd: grompp -v -f ../minSolvent.mdp -c ID_solv2.pdb -p ID.top -o ID_solv_min.tpr
  • Afterwards we minimized the solvent.
    • cmd: mpirun -np 8 mdrun_mpi -v -deffnm ID_solv_min.tpr -c ID_solv_min.pdb".
  • To minimise the solvent and the protein sidechains and to create a new .tpr file.
    • cmd: genrestr -f ID_solv_min.pdb -o ID.itp
  • To prepare a new .tpr file.
    • cmd: grompp -v -f ../minSolvent.mdp -c ID_solv_min.pdb -p ID.top -o ID_solv_min2.tpr
  • At last we minimised the total system
    • cmd: mpirun -np 8 mdrun_mpi -v -deffnm ID_solv_min2.tpr -c ID_solv_min2.pdb

Equilibration of system

  • First we created a new .tpr file.
    • cmd: grompp -v -f ../nvt.mdp -c ID_solv_min2.pdb -p ID.top -o ID_nvt.tpr
  • Secondly we started the mdrun.
    • cmd: mpirun -np 8 mdrun_mpi -v -deffnm ID_nvt.tpr.
  • The third step was to create a new .tpr file for pressure coupling.
    • cmd: grompp -v -f ../npt.mdp -c ID_nvt.tpr.gro -p ID.top -o ID_npt.tpr
  • For starting the mdrun we used again the command.
    • cmd: mpirun -np 8 mdrun_mpi -v -deffnm ID_npt.tpr

Production run

  • The final production run to produce all necessary files was done by two commands.
    • cmd: grompp -v -f ../md.mdp -c ID_npt.tpr.gro -p ID.top -o ID_md.tpr
    • cmd: mkdir _final_ID && cp ../md.mdp _final_ID/md.mdp && cp ID_npt.tpr.gro _final_ID/ID_npt.tpr.gro && cp ID.top _final_ID/ID.top && cp ID_md.tpr _final_ID/ID_md.tpr
  • Afterwards, these files were submitted to the LRZ cluster for the simulation run. (But these runs were really buggy and crashed very very often or took sometimes forever to finish...)

Production run

  • The final production run to produce all necessary files was done by two commands.
    • cmd: grompp -v -f ../md.mdp -c ID_npt.tpr.gro -p ID.top -o ID_md.tpr
    • cmd: mkdir _final_ID && cp ../md.mdp _final_ID/md.mdp && cp ID_npt.tpr.gro _final_ID/ID_npt.tpr.gro && cp ID.top _final_ID/ID.top && cp ID_md.tpr _final_ID/ID_md.tpr
  • Afterwards, these files were submitted to the LRZ cluster for the simulation run. (But these runs were really buggy and crashed very very often or took sometimes forever to finish...)

Scripts

We used the following scripts to run the simulations.

  • Wildtype:

#!/bin/bash
#$-o $HOME/t08_1a6z/mdrun_ref.LOG -j y
#$-N Hemo_ref
#$-S /bin/bash
#$-M x@y.z
#$-m abe
#$-l h_rt=32:00:00
#$-l march=x86_64
#$-pe mpi_32 32
. /etc/profile
cd $HOME/t08_1a6z
module load gromacs/4.5
module load mkl/10.2
mpiexec -n $NSLOTS mdrun_mpi -v -deffnm $HOME/t08_1a6z/ref_md.tpr

  • Mutation 8a [C282Y]:

#!/bin/bash
#$-o $HOME/t08_1a6z/mdrun_282a.LOG -j y
#$-N Hemo_282a
#$-S /bin/bash
#$-M x@y.z
#$-m abe
#$-l h_rt=32:00:00
#$-l march=x86_64
#$-pe mpi_32 32
. /etc/profile
cd $HOME/t08_1a6z
module load gromacs/4.5
module load mkl/10.2
mpiexec -n $NSLOTS mdrun_mpi -v -deffnm $HOME/t08_1a6z/282a_md.tpr

  • Mutation 8b [C282S]:

#!/bin/bash
#$-o $HOME/t08_1a6z/mdrun_282b.LOG -j y
#$-N Hemo_282b
#$-S /bin/bash
#$-M x@y.z
#$-m abe
#$-l h_rt=32:00:00
#$-l march=x86_64
#$-pe mpi_32 32
. /etc/profile
cd $HOME/t08_1a6z
module load gromacs/4.5
module load mkl/10.2
mpiexec -n $NSLOTS mdrun_mpi -v -deffnm $HOME/t08_1a6z/282b_md.tpr

References

<references />