Re: [AMBER] Energetic analysis with MMPBSA.py considering just one molecule ?

From: Jason Swails <jason.swails.gmail.com>
Date: Fri, 30 Sep 2011 15:27:36 -0400

2011/9/30 Marek Maly <marek.maly.ujep.cz>

> Hi Jason,
>
> Thanks a lot ! The problem is solved and MMPBSA.MPI works perfectly !
>
> I would like to ask you about "saltcon" GB parameter. I am doing
> simulations under
> 0.15 M of NaCl. Is it in your opinion this concentration still acceptable
> for GB,
> or is better to go on 0.1 to be still in safe range regarding
> assumptions/approximations
> in GB theory ?
>

0.15 seems safe, I'm not sure. GB is fast enough that you could try
different values and see if it really makes a difference.


>
>
> I am also curious why usage of sander ( use_sander=1 ) causes so
> significant slowdown comparing
> to case when mmpbsa_py_energy is used ( use_sander=0 ) .
>

I think this is because sander calculates the energy twice for some reason
(an "initial" call and then one on the first step, perhaps). In any case,
we've found that using the nab program gives ~2x speedup for both GB and
PB. I haven't done my own code investigation to find out where this is
being done, I just took it on faith based on what someone (I've forgotten
who at this point) told me. We suggest *not* setting use_sander=1 unless
you absolutely have to (for instance, if you're using chamber prmtops, or
some of the GB models not implemented in nab, or QM/MM-GBSA).

HTH,
Jason


> Thanks once again !
>
> Best wishes,
>
> Marek
>
>
>
>
>
> Dne Fri, 30 Sep 2011 07:10:47 +0200 Jason Swails <jason.swails.gmail.com>
> napsal/-a:
>
> > Hi,
> >
> > MMPBSA.py.MPI is built when you build AmberTools 1.5 in parallel, not
> > Amber
> > 11. Thus, running "make parallel" in $AMBERHOME/AmberTools/src after
> > running ./configure -mpi gnu is what you need to do. (You could also go
> > to
> > the $AMBERHOME/AmberTools/src/mmpbsa_py directory and run the "make
> > parallel" command -- it should build it for you).
> >
> > About the errors you're seeing -- this is a sign that your environment
> > variables or something may be out of whack. I suggest trying to
> > recompile
> > AmberTools 1.5 in serial, then in parallel.
> >
> > HTH,
> > Jason
> >
> > 2011/9/29 Marek Maly <marek.maly.ujep.cz>
> >
> >> Hi Jason,
> >> thanks for a prompt reply !
> >>
> >> Regarding #1 I tried your suggestion and it works perfectly !
> >>
> >> Regarding #2 I didn't find MMPBSA.MPI in $AMBERHOME/bin nor
> >>
> >> MMPBSA.py.MPI which I suppose to be located in
> >> $AMBERHOME/AmberTools/src/mmpbsa_py
> >> where I found MMPBSA.py script. Then I found in Amber11 manual :
> >>
> >>
> >>
> -------------------------------------------------------------------------------------
> >> 10.3.3.2 Parallel (MPI) version
> >> This version is installed with Amber during the parallel install. The
> >> python package mpi4py is included with the MMPBSA.py source code and
> >> must
> >> be successfully installed in order to run the MPI version of MMPBSA
> >> ......
> >>
> >>
> >>
> --------------------------------------------------------------------------------------
> >>
> >> So I successfully installed also parallel version (./configure -mpi gnu)
> >> of Amber11 ( having before just serial one in combination with
> >> AmberTools1.5 just for analyses of MD trajectories calculated with
> >> pmemd.CUDA on separate CUDA WorkStations. ), but unfortunately situation
> >> didn.t change i.e. no MMPBSA.MPI appeared in $AMBERHOME/bin. So I went
> >> to
> >> $AMBERHOME/AmberTools/src/mmpbsa_py and tried "make install"
> >> after this I have obtained plethora of errors please see below. I would
> >> be
> >> really grateful for any helpful suggestion ! Anyway that "forking"
> >> parallel approach from mm_pbsa.pl might be fully sufficient and useful
> >> alternative for those who don.t care about parallel Amber11
> >> installation or even don.t care about MPI on their machine or they have
> >> simply problem to install these things.
> >> For those might be parallelization of MMPBSA jobs although limited to
> >> given node sufficient solution.
> >> But there are for sure much more important development tasks in the
> >> queue
> >> I guess :))
> >>
> >> Thanks in advance for your help !
> >>
> >>
> >> Best wishes,
> >>
> >> Marek
> >>
> >>
> >> mmaly.node25 ~/_applications/amber11_node25/AmberTools/src/mmpbsa_py $
> >> make install
> >> make: Warning: File `../config.h' has modification time 8.3e+03 s in the
> >> future
> >> /bin/bash setup.sh
> >> Using AmberTools' python
> >> /home/mmaly/_applications/amber11_node25/bin/nab -o mmpbsa_py_nabnmode
> >> mmpbsa_entropy.nab
> >> /home/mmaly/_applications/amber11/lib/arpack.a(dsaupd.o): In function
> >> `dsaupd_':
> >> dsaupd.f:(.text+0x11d): undefined reference to
> >> `_gfortran_compare_string'
> >> dsaupd.f:(.text+0x5f9): undefined reference to `_gfortran_st_write'
> >> dsaupd.f:(.text+0x601): undefined reference to `_gfortran_st_write_done'
> >> dsaupd.f:(.text+0x64d): undefined reference to `_gfortran_st_write'
> >> dsaupd.f:(.text+0x65f): undefined reference to
> >> `_gfortran_transfer_integer'
> >> dsaupd.f:(.text+0x671): undefined reference to
> >> `_gfortran_transfer_integer'
> >> dsaupd.f:(.text+0x683): undefined reference to
> >> `_gfortran_transfer_integer'
> >> dsaupd.f:(.text+0x695): undefined reference to
> >> `_gfortran_transfer_integer'
> >> dsaupd.f:(.text+0x6a7): undefined reference to
> >> `_gfortran_transfer_integer'
> >>
> >>
> /home/mmaly/_applications/amber11/lib/arpack.a(dsaupd.o):dsaupd.f:(.text+0x6b9):
> >> more undefined references to `_gfortran_transfer_integer' follow
> >> /home/mmaly/_applications/amber11/lib/arpack.a(dsaupd.o): In function
> >> `dsaupd_':
> >> dsaupd.f:(.text+0x6cb): undefined reference to `_gfortran_transfer_real'
> >> dsaupd.f:(.text+0x6dd): undefined reference to `_gfortran_transfer_real'
> >> dsaupd.f:(.text+0x6ef): undefined reference to `_gfortran_transfer_real'
> >> dsaupd.f:(.text+0x701): undefined reference to `_gfortran_transfer_real'
> >> dsaupd.f:(.text+0x713): undefined reference to `_gfortran_transfer_real'
> >>
> >>
> /home/mmaly/_applications/amber11/lib/arpack.a(dsaupd.o):dsaupd.f:(.text+0x725):
> >> more undefined references to `_gfortran_transfer_real' follow
> >> /home/mmaly/_applications/amber11/lib/arpack.a(dsaupd.o): In function
> >> `dsaupd_':
> >> dsaupd.f:(.text+0x787): undefined reference to `_gfortran_st_write_done'
> >> dsaupd.f:(.text+0x7a3): undefined reference to
> >> `_gfortran_compare_string'
> >> dsaupd.f:(.text+0x7c2): undefined reference to
> >> `_gfortran_compare_string'
> >> dsaupd.f:(.text+0x7e1): undefined reference to
> >> `_gfortran_compare_string'
> >> dsaupd.f:(.text+0x800): undefined reference to
> >> `_gfortran_compare_string'
> >> dsaupd.f:(.text+0x857): undefined reference to
> >> `_gfortran_compare_string'
> >>
> >>
> /home/mmaly/_applications/amber11/lib/arpack.a(dseupd.o):dseupd.f:(.text+0x110):
> >> more undefined references to `_gfortran_compare_string' follow
> >> /home/mmaly/_applications/amber11/lib/arpack.a(dseupd.o): In function
> >> `dseupd_':
> >> dseupd.f:(.text+0xb6d): undefined reference to `_gfortran_copy_string'
> >> dseupd.f:(.text+0xb8e): undefined reference to `_gfortran_copy_string'
> >> dseupd.f:(.text+0xc38): undefined reference to `_gfortran_copy_string'
> >> dseupd.f:(.text+0xc59): undefined reference to `_gfortran_copy_string'
> >> dseupd.f:(.text+0xcc2): undefined reference to
> >> `_gfortran_compare_string'
> >> dseupd.f:(.text+0xd60): undefined reference to
> >> `_gfortran_compare_string'
> >> dseupd.f:(.text+0xe23): undefined reference to
> >> `_gfortran_compare_string'
> >> dseupd.f:(.text+0xf6d): undefined reference to
> >> `_gfortran_compare_string'
> >> dseupd.f:(.text+0xf91): undefined reference to
> >> `_gfortran_compare_string'
> >>
> >>
> /home/mmaly/_applications/amber11/lib/arpack.a(dseupd.o):dseupd.f:(.text+0xfb5):
> >> more undefined references to `_gfortran_compare_string' follow
> >> /home/mmaly/_applications/amber11/lib/arpack.a(ivout.o): In function
> >> `ivout_':
> >> ivout.f:(.text+0xb7): undefined reference to `_gfortran_st_write'
> >> ivout.f:(.text+0xc6): undefined reference to
> >> `_gfortran_transfer_character'
> >> ivout.f:(.text+0xd3): undefined reference to
> >> `_gfortran_transfer_character'
> >> ivout.f:(.text+0xdb): undefined reference to `_gfortran_st_write_done'
> >> ivout.f:(.text+0x134): undefined reference to `_gfortran_st_write_done'
> >> ivout.f:(.text+0x19b): undefined reference to `_gfortran_st_write'
> >> ivout.f:(.text+0x1b0): undefined reference to
> >> `_gfortran_transfer_integer'
> >> ivout.f:(.text+0x1c5): undefined reference to
> >> `_gfortran_transfer_integer'
> >> ivout.f:(.text+0x1f7): undefined reference to
> >> `_gfortran_transfer_integer'
> >> ivout.f:(.text+0x239): undefined reference to `_gfortran_st_write'
> >> ivout.f:(.text+0x241): undefined reference to `_gfortran_st_write_done'
> >> ivout.f:(.text+0x2aa): undefined reference to `_gfortran_st_write_done'
> >> ivout.f:(.text+0x311): undefined reference to `_gfortran_st_write'
> >> ivout.f:(.text+0x326): undefined reference to
> >> `_gfortran_transfer_integer'
> >> ivout.f:(.text+0x33b): undefined reference to
> >> `_gfortran_transfer_integer'
> >> ivout.f:(.text+0x373): undefined reference to
> >> `_gfortran_transfer_integer'
> >> ivout.f:(.text+0x3ca): undefined reference to `_gfortran_st_write_done'
> >> ivout.f:(.text+0x431): undefined reference to `_gfortran_st_write'
> >> ivout.f:(.text+0x446): undefined reference to
> >> `_gfortran_transfer_integer'
> >> ivout.f:(.text+0x45b): undefined reference to
> >> `_gfortran_transfer_integer'
> >> ivout.f:(.text+0x48d): undefined reference to
> >> `_gfortran_transfer_integer'
> >> ivout.f:(.text+0x4d8): undefined reference to `_gfortran_st_write_done'
> >> ivout.f:(.text+0x53f): undefined reference to `_gfortran_st_write'
> >> ivout.f:(.text+0x554): undefined reference to
> >> `_gfortran_transfer_integer'
> >> ivout.f:(.text+0x569): undefined reference to
> >> `_gfortran_transfer_integer'
> >> ivout.f:(.text+0x59b): undefined reference to
> >> `_gfortran_transfer_integer'
> >> ivout.f:(.text+0x5da): undefined reference to `_gfortran_st_write_done'
> >> ivout.f:(.text+0x641): undefined reference to `_gfortran_st_write'
> >> ivout.f:(.text+0x656): undefined reference to
> >> `_gfortran_transfer_integer'
> >> ivout.f:(.text+0x66b): undefined reference to
> >> `_gfortran_transfer_integer'
> >> ivout.f:(.text+0x69d): undefined reference to
> >> `_gfortran_transfer_integer'
> >> ivout.f:(.text+0x6e4): undefined reference to `_gfortran_st_write_done'
> >> ivout.f:(.text+0x74b): undefined reference to `_gfortran_st_write'
> >> ivout.f:(.text+0x760): undefined reference to
> >> `_gfortran_transfer_integer'
> >> ivout.f:(.text+0x775): undefined reference to
> >> `_gfortran_transfer_integer'
> >> ivout.f:(.text+0x7a7): undefined reference to
> >> `_gfortran_transfer_integer'
> >> ivout.f:(.text+0x7ee): undefined reference to `_gfortran_st_write_done'
> >> ivout.f:(.text+0x855): undefined reference to `_gfortran_st_write'
> >> ivout.f:(.text+0x86a): undefined reference to
> >> `_gfortran_transfer_integer'
> >> ivout.f:(.text+0x87f): undefined reference to
> >> `_gfortran_transfer_integer'
> >> ivout.f:(.text+0x8b1): undefined reference to
> >> `_gfortran_transfer_integer'
> >> ivout.f:(.text+0x8ed): undefined reference to `_gfortran_st_write_done'
> >> ivout.f:(.text+0x954): undefined reference to `_gfortran_st_write'
> >> ivout.f:(.text+0x969): undefined reference to
> >> `_gfortran_transfer_integer'
> >> ivout.f:(.text+0x97e): undefined reference to
> >> `_gfortran_transfer_integer'
> >> ivout.f:(.text+0x9b0): undefined reference to
> >> `_gfortran_transfer_integer'
> >> /home/mmaly/_applications/amber11/lib/arpack.a(dvout.o): In function
> >> `dvout_':
> >> dvout.f:(.text+0xb7): undefined reference to `_gfortran_st_write'
> >> dvout.f:(.text+0xc6): undefined reference to
> >> `_gfortran_transfer_character'
> >> dvout.f:(.text+0xd3): undefined reference to
> >> `_gfortran_transfer_character'
> >> dvout.f:(.text+0xdb): undefined reference to `_gfortran_st_write_done'
> >> dvout.f:(.text+0x134): undefined reference to `_gfortran_st_write_done'
> >> dvout.f:(.text+0x19b): undefined reference to `_gfortran_st_write'
> >> dvout.f:(.text+0x1b0): undefined reference to
> >> `_gfortran_transfer_integer'
> >> dvout.f:(.text+0x1c5): undefined reference to
> >> `_gfortran_transfer_integer'
> >> dvout.f:(.text+0x1f7): undefined reference to `_gfortran_transfer_real'
> >> dvout.f:(.text+0x239): undefined reference to `_gfortran_st_write'
> >> dvout.f:(.text+0x241): undefined reference to `_gfortran_st_write_done'
> >> dvout.f:(.text+0x298): undefined reference to `_gfortran_st_write_done'
> >> dvout.f:(.text+0x2ff): undefined reference to `_gfortran_st_write'
> >> dvout.f:(.text+0x314): undefined reference to
> >> `_gfortran_transfer_integer'
> >> dvout.f:(.text+0x329): undefined reference to
> >> `_gfortran_transfer_integer'
> >> dvout.f:(.text+0x35b): undefined reference to `_gfortran_transfer_real'
> >> dvout.f:(.text+0x3a1): undefined reference to `_gfortran_st_write_done'
> >> dvout.f:(.text+0x408): undefined reference to `_gfortran_st_write'
> >> dvout.f:(.text+0x41d): undefined reference to
> >> `_gfortran_transfer_integer'
> >> dvout.f:(.text+0x432): undefined reference to
> >> `_gfortran_transfer_integer'
> >> dvout.f:(.text+0x464): undefined reference to `_gfortran_transfer_real'
> >> dvout.f:(.text+0x4a9): undefined reference to `_gfortran_st_write_done'
> >> dvout.f:(.text+0x510): undefined reference to `_gfortran_st_write'
> >> dvout.f:(.text+0x525): undefined reference to
> >> `_gfortran_transfer_integer'
> >> dvout.f:(.text+0x53a): undefined reference to
> >> `_gfortran_transfer_integer'
> >> dvout.f:(.text+0x56c): undefined reference to `_gfortran_transfer_real'
> >> dvout.f:(.text+0x5aa): undefined reference to `_gfortran_st_write_done'
> >> dvout.f:(.text+0x611): undefined reference to `_gfortran_st_write'
> >> dvout.f:(.text+0x626): undefined reference to
> >> `_gfortran_transfer_integer'
> >> dvout.f:(.text+0x63b): undefined reference to
> >> `_gfortran_transfer_integer'
> >> dvout.f:(.text+0x66d): undefined reference to `_gfortran_transfer_real'
> >> dvout.f:(.text+0x6aa): undefined reference to `_gfortran_st_write_done'
> >> dvout.f:(.text+0x711): undefined reference to `_gfortran_st_write'
> >> dvout.f:(.text+0x726): undefined reference to
> >> `_gfortran_transfer_integer'
> >> dvout.f:(.text+0x73b): undefined reference to
> >> `_gfortran_transfer_integer'
> >> dvout.f:(.text+0x76d): undefined reference to `_gfortran_transfer_real'
> >> dvout.f:(.text+0x7b5): undefined reference to `_gfortran_st_write_done'
> >> dvout.f:(.text+0x81c): undefined reference to `_gfortran_st_write'
> >> dvout.f:(.text+0x831): undefined reference to
> >> `_gfortran_transfer_integer'
> >> dvout.f:(.text+0x846): undefined reference to
> >> `_gfortran_transfer_integer'
> >> dvout.f:(.text+0x878): undefined reference to `_gfortran_transfer_real'
> >> dvout.f:(.text+0x8a6): undefined reference to `_gfortran_st_write_done'
> >> dvout.f:(.text+0x90c): undefined reference to `_gfortran_st_write'
> >> dvout.f:(.text+0x921): undefined reference to
> >> `_gfortran_transfer_integer'
> >> dvout.f:(.text+0x936): undefined reference to
> >> `_gfortran_transfer_integer'
> >> dvout.f:(.text+0x968): undefined reference to `_gfortran_transfer_real'
> >> /home/mmaly/_applications/amber11/lib/arpack.a(dsaup2.o): In function
> >> `dsaup2_':
> >> dsaup2.f:(.text+0xb4d): undefined reference to
> >> `_gfortran_compare_string'
> >> dsaup2.f:(.text+0xb71): undefined reference to `_gfortran_copy_string'
> >> dsaup2.f:(.text+0xcde): undefined reference to `_gfortran_copy_string'
> >> dsaup2.f:(.text+0xd77): undefined reference to
> >> `_gfortran_compare_string'
> >> dsaup2.f:(.text+0xd9b): undefined reference to `_gfortran_copy_string'
> >> dsaup2.f:(.text+0xef8): undefined reference to
> >> `_gfortran_compare_string'
> >> dsaup2.f:(.text+0xf19): undefined reference to
> >> `_gfortran_compare_string'
> >> dsaup2.f:(.text+0xf3a): undefined reference to
> >> `_gfortran_compare_string'
> >> dsaup2.f:(.text+0xf5b): undefined reference to
> >> `_gfortran_compare_string'
> >> dsaup2.f:(.text+0x104a): undefined reference to `_gfortran_copy_string'
> >> dsaup2.f:(.text+0x106b): undefined reference to `_gfortran_copy_string'
> >> dsaup2.f:(.text+0x108c): undefined reference to `_gfortran_copy_string'
> >> dsaup2.f:(.text+0x10ad): undefined reference to `_gfortran_copy_string'
> >> /home/mmaly/_applications/amber11/lib/arpack.a(dsesrt.o): In function
> >> `dsesrt_':
> >> dsesrt.f:(.text+0x55): undefined reference to `_gfortran_compare_string'
> >> dsesrt.f:(.text+0x18c): undefined reference to
> >> `_gfortran_compare_string'
> >> dsesrt.f:(.text+0x2e0): undefined reference to
> >> `_gfortran_compare_string'
> >> dsesrt.f:(.text+0x3fe): undefined reference to
> >> `_gfortran_compare_string'
> >> /home/mmaly/_applications/amber11/lib/arpack.a(dsgets.o): In function
> >> `dsgets_':
> >> dsgets.f:(.text+0x5d): undefined reference to `_gfortran_compare_string'
> >> cc failed!
> >> make: *** [install] Error 1
> >>
> >>
> >>
> >>
> >>
> >>
> >> Dne Fri, 30 Sep 2011 00:12:20 +0200 Jason Swails
> >> <jason.swails.gmail.com>
> >> napsal/-a:
> >>
> >> > Hello,
> >> >
> >> > On Thu, Sep 29, 2011 at 5:32 PM, Marek Maly <marek.maly.ujep.cz>
> >> wrote:
> >> >
> >> >> Dear all,
> >> >> I just started today with MMPBSA.py (until now I used mm_pbsa.pl).
> >> >>
> >> >> After the relevant tutorial and brief reading of MMPBSA.py manual I
> >> have
> >> >> these two questions.
> >> >>
> >> >> #1
> >> >>
> >> >> How to proceed with MMPBSA.py if I want to calculate just (absolute)
> >> >> free
> >> >> energy of the given molecule
> >> >> (not dG of binding between receptor and ligand molecules).
> >> >>
> >> >
> >> > Just supply a complex prmtop file. If you don't provide a receptor or
> >> > ligand topology file, you will get this same behavior.
> >> >
> >> >
> >> >>
> >> >>
> >> >> In case of mm_pbsa.pl one could set just COMPLEX, RECEPTOR, LIGAND
> >> flags
> >> >> in input file like this:
> >> >>
> >> >>
> >> >>
> >> >> COMPLEX 0
> >> >> RECEPTOR 1
> >> >> LIGAND 0
> >> >>
> >> >>
> >> >> and mm_pbsa.pl will consider here the stand-alone molecule provided
> >> as
> >> >> the "formal receptor" without any complains
> >> >> that complex or ligand are not specified and calculate just H or S of
> >> >> that
> >> >> molecule. Is there any way how to
> >> >> tell MMPBSA.py that I want just calculate H, S or whole G for the
> >> given
> >> >> molecule ?
> >> >>
> >> >>
> >> >>
> >> >> #2
> >> >>
> >> >> In mm_pbsa.pl there is available flag PARALLEL which is very useful
> >> as
> >> >> it
> >> >> allows to define howmany frames
> >> >> from the given trajectory will be processed simultaneously. So for
> >> >> example
> >> >> if one has node
> >> >> with 8 CPU cores, setting:
> >> >>
> >> >> PARALLEL 8
> >> >>
> >> >> allow to process 8 MD frames simultaneously (probably without need of
> >> >> MPI
> >> >> ?).
> >> >>
> >> >
> >> > Yes. The way mm_pbsa.pl works is by forking off processes. This
> >> limits
> >> > parallel performance to a single node, though, since the simple forker
> >> > doesn't know enough to launch processes on remote nodes. MPI, on the
> >> > other
> >> > hand, is built for normal, parallel Amber simulations and is easily
> >> run
> >> > on
> >> > distributed systems (across multiple nodes). Since there were good
> >> > python
> >> > bindings for MPI, we decided to use MPI to parallelize MMPBSA.py.
> >> >
> >> >
> >> >> In case of python version just usage of MMPBSA.py.MPI instead
> >> MMPBSA.py
> >> >> brings the similar
> >> >> possibility am I right ?
> >> >>
> >> >
> >> > Correct. mpi4py is built automatically with AmberTools 1.5. I would
> >> > suggest using AmberTools 1.5 version, in which case you have to use
> >> > MMPBSA
> >> > and MMPBSA.MPI, which are shell scripts that invoke MMPBSA.py and
> >> > MMPBSA.py.MPI with the appropriate variables.
> >> >
> >> > HTH,
> >> > Jason
> >> >
> >>
> >>
> >> --
> >> Tato zpráva byla vytvořena převratným poštovním klientem Opery:
> >> http://www.opera.com/mail/
> >>
> >> _______________________________________________
> >> AMBER mailing list
> >> AMBER.ambermd.org
> >> http://lists.ambermd.org/mailman/listinfo/amber
> >>
> >
> >
> >
>
>
> --
> Tato zpráva byla vytvořena převratným poštovním klientem Opery:
> http://www.opera.com/mail/
>
> _______________________________________________
> AMBER mailing list
> AMBER.ambermd.org
> http://lists.ambermd.org/mailman/listinfo/amber
>



-- 
Jason M. Swails
Quantum Theory Project,
University of Florida
Ph.D. Candidate
352-392-4032
_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Fri Sep 30 2011 - 12:30:03 PDT
Custom Search