Page 1 of 1

Announcing OpenMM command

Posted: Wed Oct 30, 2013 5:17 pm
by leeping
Hi everyone,

We'd like to announce the OpenMM command - a way for users to run an OpenMM simulation without writing a script. It is analogous to packages such as grompp/mdrun in GROMACS or tleap/pmemd in AMBER.

A few features:
- Sets up your system starting from coordinates and force field.
- Configuration options accessible via command line or configuration file.
- Configuration file is automatically generated for reproducibility.
- Automatic reading and writing of restart files.
- As the program runs, OpenMM scripting commands are printed to screen.
- Real-time reporting of simulation progress, including estimated time remaining and speed in nanoseconds/day.

To run the command, type in something like this:

Code: Select all

[color=#0040FF]./openmm --coords dhfr.pdb --protein amber99sb --water tip3p --cutoff 0.9*nanometer --platform CUDA --n_steps 100000[/color]
Output looks like this:

Code: Select all

[OpenMM] Number of available platforms: 4
[OpenMM] Selected Platform: CUDA
[OpenMM] CudaDeviceIndex = 0
[OpenMM] CudaDeviceName = GeForce GTX TITAN
[OpenMM] CudaUseBlockingSync = true
[OpenMM] CudaPrecision = mixed
[OpenMM] CudaUseCpuPme = false
[OpenMM] CudaCompiler =
[OpenMM] CudaTempDirectory = /tmp

Progress   WallTime Left      Speed          Time            P.E.
     (%)       (d:h:m:s)   (ns/day)          (ps)        (kJ/mol)
  0.000%              ??       0.00       0.00000   -297665.03625
  1.000%            3:18      86.38       2.00000   -296577.38755
  2.000%            3:14      87.10       4.00000   -296647.99384
  3.000%            3:11      87.37       6.00000   -296559.64981
  4.000%            3:09      87.49       8.00000   -296559.32665
  5.000%            3:07      87.59      10.00000   -295607.70956
  6.000%            3:05      87.66      12.00000   -297014.37689
  7.000%            3:03      87.69      14.00000   -296418.93514
  8.000%            3:01      87.71      16.00000   -296663.86197
  9.000%            2:59      87.73      18.00000   -297068.98135
 10.000%            2:57      87.74      20.00000   -296912.85101
 11.000%            2:55      87.75      22.00000   -296909.89700
 12.000%            2:53      87.77      24.00000   -296276.15998
 13.000%            2:51      87.78      26.00000   -296437.97360
 14.000%            2:49      87.78      28.00000   -297273.77364
 15.000%            2:47      87.79      30.00000   -297464.42631
 16.000%            2:45      87.80      32.00000   -297623.40073
 17.000%            2:43      87.81      34.00000   -296831.45315
Please download the code and let us know what you think. Ten examples are included, including the joint AMBER-CHARMM benchmark. Please report any issues found through the GitHub issue tracker.

The command is available for download and installation here:
https://github.com/rmcgibbo/openmm-cmd.git

Thanks,

Lee-Ping Wang
Robert McGibbon

Re: Announcing OpenMM command

Posted: Mon Nov 04, 2013 10:44 am
by cbenzer
I think this is a great addition to OpenMM and I am happy to give it a try. Unfortunately I ran into some compatibility issues with Python 2.6 which I described together with the workarounds I found in https://github.com/rmcgibbo/openmm-cmd/issues/20.

*Update: Python 2.6 compatibility issues resolved. Script works fine. Thanks*

Re: Announcing OpenMM command

Posted: Tue Nov 05, 2013 7:16 am
by leeping
In response to your posted issue, Robert just implemented some changes that improves compatibility with Python 2.6. It seems the argparse module is needed to get everything to work, which you pointed out can be installed using this command:

Code: Select all

pip install argparse
Thanks for telling us about this, and please continue to let us know how things go.

Re: Announcing OpenMM command

Posted: Tue Nov 05, 2013 10:52 am
by peastman
Is there a reason you need to use argparse instead of optparse? What features are you using that aren't supported by optparse?

Peter

Re: Announcing OpenMM command

Posted: Wed Nov 20, 2013 2:38 am
by leeping
Not sure - I'll ask Robert. I've always used argparse as a default.