On 13/06/2012 5:58 AM, Tsjerk Wassenaar wrote:
Hey Kai,

I would still argue that, from your description, the best solution is
a (bash) wrapper script, containing the workflow. If you do that
properly, it will result in a much more flexible, readable and
maintainable solution. If you end up writing shell calls in C or
Python, you have to sit back for a while and consider if that's really
what you need or that you'd be better of doing shell scripting.

Indeed. C is a poor choice for gluing together functionality found in multiple programs, unless there is a critical need for speed (e.g. the QM-MM code) that will show enough gain to pay for the extra time spent in development. Scripting languages are better, but still not ideal. Shell scripts are intended to be used this way, but can lack high-level language constructs that are convenient to use.

There is some overhead from calling grompp and mdrun to run your slave simulation, but it is not large, and you'll have to do millions of these calls to pay for the time spent working out how to call hacked grompp code to construct data structures that you can feed into hacked mdrun code at the correct point to get the output you want. What modularity is possessed by the simulation code within GROMACS is at the "call a tool on a command line" level only.

Mark


Cheers,

Tsjerk


On Tue, Jun 12, 2012 at 9:48 PM, Da-Wei Li<lida...@gmail.com>  wrote:
In your own code, you should have a system call function, which can be
used to run any command in your system. Using C as example, you can
write source code like this.

/*******************************************************/
system("g_rms -s xx.tpr -f xx.trr -o rmsd.xvg");
read in file rmsd.xvg to get the RMSD.

if(RMSD>3A)
      system("mdrun -s **********"");
else
      printf("very good, stable MD\n");

/*****************************************************/

dawei

On Tue, Jun 12, 2012 at 3:28 PM, Bao Kai<paeanb...@gmail.com>  wrote:
Hi, Dawei,

We have some other codes. Sometimes, we can not know the range of the
physical parameters we need in advance. When we do the simulation, we
may find some required properties are not ready, then we need to run
some MD simulations to get the values of the properties. Then the
simulation can continue.

We want to do the MD simulations only when necessary and we want to do
the MD simulations automatically.

So I am wondering if we can complete some MD simulations and get the
required analysis results by calling the functions inside Gromacs
library.

Thank you very much.

Best Regards,
Kai


> From your description, why not just write a script to run various
Gromacs programs (MD, analysis, etc)?

dawei

On Tue, Jun 12, 2012 at 2:43 PM, Bao Kai<paeanball at gmail.com>  wrote:
Hi, all,

I am wondering if Gromacs functions can be called by some other codes.
  I know we get some library files and header files and we can write
our own analysis tools.

But I still wonder to what extent the gromacs can be coupled to other codes.

For example, can we just generate the topology and .gro and .mdp files
( we can write our own code to do that ), then call the the functions
or procedures in Gromacs library to complete the MD simulation, and
then call some functions to return the analysis results, such as
density, viscosity, and etc.

Thank you very much.

Best Regards,
Kai
--
gmx-users mailing list    gmx-users at gromacs.org
http://lists.gromacs.org/mailman/listinfo/gmx-users
Please search the archive at 
http://www.gromacs.org/Support/Mailing_Lists/Search before posting!
Please don't post (un)subscribe requests to the list. Use the
www interface or send it to gmx-users-request at gromacs.org.
Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
--
gmx-users mailing list    gmx-users@gromacs.org
http://lists.gromacs.org/mailman/listinfo/gmx-users
Please search the archive at 
http://www.gromacs.org/Support/Mailing_Lists/Search before posting!
Please don't post (un)subscribe requests to the list. Use the
www interface or send it to gmx-users-requ...@gromacs.org.
Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
--
gmx-users mailing list    gmx-users@gromacs.org
http://lists.gromacs.org/mailman/listinfo/gmx-users
Please search the archive at 
http://www.gromacs.org/Support/Mailing_Lists/Search before posting!
Please don't post (un)subscribe requests to the list. Use the
www interface or send it to gmx-users-requ...@gromacs.org.
Can't post? Read http://www.gromacs.org/Support/Mailing_Lists



--
gmx-users mailing list    gmx-users@gromacs.org
http://lists.gromacs.org/mailman/listinfo/gmx-users
Please search the archive at 
http://www.gromacs.org/Support/Mailing_Lists/Search before posting!
Please don't post (un)subscribe requests to the list. Use the www interface or send it to gmx-users-requ...@gromacs.org.
Can't post? Read http://www.gromacs.org/Support/Mailing_Lists

Reply via email to