[gmx-users] continuation run in parallel with shuffle and, sort option

Chris Neale chris.neale at utoronto.ca
Tue Apr 8 22:01:35 CEST 2008

While the previously posted script seems like a valid approach, the 
usefulness of -sort depends entirely on how long your trajectory is. If 
you only sort once at the beginning, then after <<10ns your waters will 
be mostly redistributed and I think that you will have totally lost the 
benifits of sort. The idea behind my usage of -sort is to commonly 
re-sort the system. You can find details here outlined by the links 
below. However, it's not entirely trivial so you should expect to spend 
some time getting this running.

Download g_desort:

Follow the usage instructions in g_desort -h or take a look at this 
script that iteratively runs gromacs:

--- original message ---


 I was running a DPPC system with 128 DPPC and 3655 water molecules in
16 CPU with -shuffle -sort option. But I am unable to continue the job
in parallel.
I read a lots of posts in mailing list, but could not understand the
proper way, as I don't know the script languages. So whatever is
mentioned in the list, I could not use those properly.
Can anyone explain the procedure in a simpler way such that a poor
scripter like me can follow? The details what I have done are as

1.grompp -f grompp.mdp -c input1.gro -p dppc.top -n index.ndx -np 16
-shuffle -sort
2./opt/lam/gnu/bin/mpirun c0-15 /home/ananya/gromacs/bin/mdrun_mpi -v -nice 0

then I get the output as, say,  topol1.tpr, traj1.trr, confout1.gro,
ener1.edr, deshuf1.ndx

If I follow the mail as I am going to copy here, I can follow upto
step 3.  In step 4, what is shuffled top file? If I undersant
correctly, I have to get that from my original top file, which is
dppc.top for me using that awk script.  But how to use that I did not
understand. Any suggestion is highly appreciated.

 Thanking you,


Make it simple, to use grompp for exact continuation, you need to have
1. mdp file with "gen_vel = no", "unconstrained-start      = yes",
2. shuffled trr (original output)
3. shuffled edr (original output)
4. shuffled top (use below awk script to parse the output from your previous
grompp output which contains the shuffled table) replace the [ molecules ]
section in your top with the output of this script.


  if ($1=="Moltype") {
     for (i=0;i<NF-2;i++) {
        moltype[i] = $(i+2)
     if (begin==1) {
        if($1=="CPU") {
           for (i=0;i<molnum;i++) {
              if ($(3+i)==0) continue
              printf("%s\t%d\n", moltype[i], $(3+i))

5. don't supply -shuffle -sort again to grompp.

Last, the grompp command line like

$pp -np ${ncpu} -c ${type1}-shuf.gro -t ${type1}-shuf.trr -e ${type1} \
    -p ${dirp}/${type} -n ${dirp}/${type} -f ${mdp_file1} \
    -o ${type2}.tpr -po ${type2}-o

More information about the gromacs.org_gmx-users mailing list