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

Ananya Debnath ananya.iisc at gmail.com
Tue Apr 8 16:42:21 CEST 2008


Hi,

 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
follows

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,
 Regards,
 Ananya.

--------------------------------------------------------------------------------------------------------------------------------------


Hi,

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.

BEGIN {
begin=0
}

{
  if ($1=="Moltype") {
     begin=1
     for (i=0;i<NF-2;i++) {
        moltype[i] = $(i+2)
     }
     molnum=NF-2
  }
  else
  {
     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))
           }
        }
        else
           begin=0
     }
  }
}

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