Difference between revisions of "Molecular Dynamics Simulations"

From Bioinformatikpedia
(Minimization solvent)
m
 
(29 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 by <code>repairPDB 1a6z.pdb -ssw 15t >ssw.tmp</code> 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.
* Extracting the pure protein by <code>repairPDB 1a6z.pdb -nosol >1a6z_clean.pdb</code>
+
** cmd: <code>repairPDB ID.pdb -ssw 15t >ssw.tmp</code>
  +
* Afterwards the pure protein was extracted.
* Complete missing side chains with <code>scwrl -i 1a6z_clean.pdb -s 1a6z_low.txt -o 1a6z_clean_complete.pdb > out.log</code>
 
* Remove all H-Atoms by <code>repairPDB 1a6z_clean_complete.pdb -noh >1a6z_final.pdb</code>
+
** cmd: <code>repairPDB ID.pdb -nosol >ID_clean.pdb</code>
  +
* All missing sidechains were corrected due the help of SCWRL.
* because there was no crystal water in the origin pdb included, we had nothing to concatenate.
 
  +
** 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.
  +
** 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.
   
 
'''Creation of the gromac files'''
 
'''Creation of the gromac files'''
* <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 by <code>editconf -f 1a6z_final.gro -o 1a6z_final_box.gro -bt dodecahedron -d 1.0</code><br>
+
* Then a box around our protein was added.
and filled this box with water by using <code>genbox -cp 1a6z_final_box.gro -cs spc216.gro -p 1a6z_final.top -o 1a6z_final_box_water.gro</code>
+
** cmd: <code>editconf -f ID.gro -o ID_box.gro -bt dodecahedron -d 1.0</code><br>
  +
* The box was afterwards filled with water
  +
** 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
  +
** cmd: <code>grompp -v -f ../first.mdp -c ID_water.gro -p ID.top -o ID_water.tpr</code>
  +
  +
'''Genion'''
  +
* 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 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: <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.
  +
** cmd: <code>genrestr -f ID_solv2.pdb -o ID.itp</code>
  +
  +
==Minimization solvent and system==
  +
* We first created a new .tpr file.
  +
** 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.
  +
** cmd: <code>mpirun -np 8 mdrun_mpi -v -deffnm ID_solv_min.tpr -c ID_solv_min.pdb"</code>.
  +
* To minimise the solvent and the protein sidechains and to create a new .tpr file.
  +
** cmd: <code>genrestr -f ID_solv_min.pdb -o ID.itp</code>
  +
* To prepare a new .tpr file.
  +
** 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
  +
** cmd: <code>mpirun -np 8 mdrun_mpi -v -deffnm ID_solv_min2.tpr -c ID_solv_min2.pdb</code>
  +
  +
==Equilibration of system==
  +
* First we created a new .tpr file.
  +
** cmd: <code>grompp -v -f ../nvt.mdp -c ID_solv_min2.pdb -p ID.top -o ID_nvt.tpr</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==
  +
* 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...)
  +
  +
==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===
Now we create the .tpr file for further use with genion by <code>grompp -v -f first.mdp -c 1a6z_final_box_water.gro -p 1a6z_final.top -o 1a6z_final_box_water.tpr</code>
 
  +
We used the following scripts to run the simulations.
   
  +
*Wildtype:
'''Genion''' is used with <code>genion -s 1a6z_final_box_water.tpr -o 1a6z_solv.pdb -conc 0.1 -neutral -pname NA+ -nname CL-</code>
 
  +
<code>
Now we counted the added ions by using <code>tr -s ' ' '\n' < out.txt | grep -c 'ION'</code>. 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.
 
  +
#!/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]:
* the Next step was to 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.
 
  +
<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]:
*After adding the new water, we checked for an overlab with the crystal waterby using <code>repairPDB 1a6z_solv.pdb -cleansol > 1a6z_solv2.pdb</code>, but as we had no crystal water in our file, we assumed to have no overlab. And as we found no REMARK tag in the new file, we should have no overlab.
 
  +
<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 ==
*In this step we added restrains to disable very fast vibrations such as seen for hydrogen atoms to reduce the simulation time. The command we used was <code>genrestr -f 1a6z_solv2.pdb -o 1a6z.itp</code>
 
  +
<references />
   
  +
[[Category : Hemochromatosis]]
==Minimization solvent==
 
*We first created a new .tpr file with <code>grompp -v -f second.mdp -c 1a6z_solv.pdb -p 1a6z_final_ion.top -o 1a6z_solv_min.tpr</code>. But if we used the pdb-file created with the last repairPDB call which should check for overlabing 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".
 

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 />