Durhamlogo                                                                                                                                        BSIlogo

 

Gromacs Instructions


== Generation of the protein files == The first step that is needed is to convert the pdb file with your protein into the gromacs input files, protein.gro and protein.top: pdb2gmx_d -f protein.pdb -o protein.gro -p protein.top -ignh protein.gro stores the coordinates and atom names while protein.top stores all the information for the force field interactions. If this process produces missing atom errors from the pdb, this can be fixed by editing the pdb with [[http://biop.ox.ac.uk/coot/|coot]]. Draw - sequence viewer - pdbfile allows you to find the sequence then mutating the residue to the same type adds the missing atoms. This process with also tell you if there is any overall charge on the protein, if there is you don't need to worry about it at the moment. After producing these gromacs files you have your initial structure. This structure will likely be under a great deal of strain and simply running from here will probably cause many problems. Therefore the protein should be energy minimised. For this the relevant gromacs binary run file, protein-vacuum.tpr, needs to be created. For this you need a control parameter file, {{:nma-em.mdp|nma-em.mdp}}, and then run the command: grompp_d -v -f nma-em.mdp -c protein.gro -p protein.top -o protein-vacuum.tpr This then allows you to run the minimization on the structure: mdrun_d -v -deffnm protein-vacuum -c protein-vacuum.pdb -s protein-vacuum.tpr This produces the a pdb of the new structure and the trajectory file for the minimisation, protein-vacuum.trr. The final coordinates in the trajectory file are the minimised structure, which is what we want to work with. To copy the final coordinates from the trajectory file, protein-vacuum.trr, to a double precision gromacs coordinate file you need to run: trjconv_d -f protein-vacuum.trr -o protein-vacuum-min.gro -b {last frame} -sep -s protein-vacuum.tpr -ndec 32 Where {last frame} is the number of the last step ran, you can see this in the terminal (or output file) from the energy minimisation run. This will print a series of files (generally 2 if the last frame is the right number) as protein-vacuum-min//x//.gro. Rename the one with the highest number to protein-vacuum-min.gro You now have the minimised structure for gromacs use, protein-vacuum-min.gro, and for viewing, protein-vacuum.pdb. At this point you may have an unbalanced charge, but this does not matter for the normal mode analysis. == Normal Mode Analysis == To perform the normal mode analysis you need to produce a Hessian matrix of all the forces between the atoms. Firstly, a new gromacs binary run file needs to be created with the relevant control parameter file, {{:nma.mdp|nma.mdp}}: grompp_d -v -f nma.mdp -c protein-vacuum-min.gro -p protein.top -o protein-vacuum-nma.tpr This then allows you to run the nma to get the Hessian matrix: mdrun_d -v -s protein-vacuum-nma.tpr -mtx protein-vacumm-nma.mtx This Hessian matrix, protein-vacumm-nma.mtx, now needs to be diagonalised to calculate the eigenvalues and eigenvectors: g_nmeig_d -f protein-vacumm-nma.mtx -s protein-vacuum-min.gro Outputs are eigenvec.trr which contains the eigenvectors (first eigenvector labelled 0 is the minimised coordinates), eigenval.xvg which contain the mass weighted eigenvalues, and eigenfreq.xvg which contains the normal mode frequencies in cm-1. Some of the analysis options can be seen with: g_anaeig_d -h