AMBER Archive (2005)

Subject: AMBER: Re: ask for your help: parallel on mm_pbsa

From: FyD (fyd_at_u-picardie.fr)
Date: Sat Mar 26 2005 - 11:09:23 CST


> I have a problem to trouble you about do parallel MM_pbsa job
> with following link, you give us a method to do this parallel job.But how to
> modify the cooresponding line for executing sander in parallel. with file
> should be modified, mm_pbsa.pl, mm_pbsa_statistics.pl or other file.
>
> thank you in advance!
>
> >I think you can modify the code by modifying the corresponding line for
> >executing sander in parallel. I did it some times ago and it worked... It is
> >unfortunately not possible for nmode since I think it does not work in
> >parallel, regards,
>
> http://amber.ch.ic.ac.uk/archive/200503/0276.html
> http://amber.ch.ic.ac.uk/archive/200503/0278.html

Please do not ask me directly but send your questions to the amber mailing since
I know Eric Hu (eric.y.hu_at_gmail.com) made it also working.

Anyway, here is the email I sent him:
> Is it possible that you tell me how you did it? Thanks.

I am not a programmer: It means if I can do it, it means it is quite simple to
do...

1) 'head -35 mm_pbsa.pl' gives you the modules used by mm_pbsa.pl
use lib ("$ENV{AMBERHOME}/src/mm_pbsa");
use mm_pbsa_global qw(@GC_PAR);
use mm_pbsa_util qw(init_data final_clean_up);
use mm_pbsa_readinput qw(read_input check_sanity);
use mm_pbsa_createinput qw(create_input);
use mm_pbsa_createcoords qw(create_coords);
use mm_pbsa_calceneent qw(calc_energy_entropy);
use mm_pbsa_statistics qw(calc_stat);

Each module is located in $AMBERHOME/src/mm_pbsa with the .pm extension...

cd $AMBERHOME/src/mm_pbsa
'grep sander *.pm' tells you where the word 'sander' is used.

In 'mm_pbsa_util.pm' you have the name of the 'sander' variable, I guess:
  else{
    $amberexe = $ENV{"AMBERHOME"};
    $amberexe .= "/exe";
    print " Presuming executables of amber suite to be in $amberexe\n";
  }
  $r_pro->{"SANDER"} = "$amberexe" . "/" . "sander"; # ! Here I guess
  $r_pro->{"PBSA"} = "$amberexe" . "/" . "pbsa";
  $r_pro->{"NMODE"} = "$amberexe" . "/" . "nmode";
  $r_pro->{"AMBPDB"} = "$amberexe" . "/" . "ambpdb";
  $r_pro->{"MS"} = "$amberexe" . "/" . "molsurf";
  $r_pro->{"MAKE_CRD"} = "$amberexe" . "/" . "make_crd_hg";
}

Locate the corresponding command which execute sander in the modules...
And, then if you use a PBS script with:
set NPROC = 8
setenv AMBERHOME /usr/people/your-login/amber8
set EXE = /usr/people/your-login/amber8/exe/sander

just replace 'sander' in mmpbsa.pl (or its corresponding variable) by 'mpirun
-np $NPROC $EXE'

And it should work...

  F.-Y. Dupradeau
DMAG EA 3901 & Faculte de Pharmacie, Amiens, France
The Scripps Research Institute, La Jolla, CA, USA
       --
http://www.u-picardie.fr/labo/lbpd/FyD.htm
-----------------------------------------------------------------------
The AMBER Mail Reflector
To post, send mail to amber_at_scripps.edu
To unsubscribe, send "unsubscribe amber" to majordomo_at_scripps.edu