Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Internalized snapshots; random filenames for external snapshots#933

Merged
dwhswenson merged 12 commits into
openpathsampling:masteropenpathsampling/openpathsampling:masterfrom
dwhswenson:gmx_updatesdwhswenson/openpathsampling:gmx_updatesCopy head branch name to clipboard
Oct 14, 2020
Merged

Internalized snapshots; random filenames for external snapshots#933
dwhswenson merged 12 commits into
openpathsampling:masteropenpathsampling/openpathsampling:masterfrom
dwhswenson:gmx_updatesdwhswenson/openpathsampling:gmx_updatesCopy head branch name to clipboard

Conversation

@dwhswenson

@dwhswenson dwhswenson commented Sep 27, 2020

Copy link
Copy Markdown
Member

This PR includes two significant improvements for external engines, and well as some minor improvements specifically for the Gromacs engine. Some of these commits were cherry-picked from other branches, including #929.

General improvements to external engines

  • Internalized snapshots: Every external engine should also be able to save full snapshot information to internal storage. We do this with the internalize feature of ExternalMDSnapshots. This is designed to make it easier to start simulations with using external engines -- this way, a user doesn't need to worry about matching the path to the initial trajectory on a when copying simulation setup to a remote host.
  • Random filenames: Previously, external engines created filenames as a simple increasing sequence. Now users have the option of setting random filenames. For now, the default behavior remains the same as before, but it is recommended that users start using {'filename_setter': RandomStringFilenames()} in their engine options. Random filenames solve two problems: (1) there's a tendancy for users to think that these TRR files contain the entire accepted trajectory (as opposed to the trial frames that were created), and then they try to analyze with Gromacs tools and get complete nonsense; (2) this will be essential for parallelization.

Specific improvements for Gromacs

  • The names of topol.tpr and mdout.mdp as generated by grommp, which were previously locked to defaults, can now be changed by the user. These files are automatically deleted at the end of a trajectory.
  • GroFileEngine has moved from being defined in a nested scope to being a private class of the module.
  • snapshot_from_gro can be accessed as openpathsampling.engines.gromacs.snapshot_from_gro

* GroFileEngine is now storable
* snapshot_from_gro is in the `engines.gromacs` namespace
This is needed in order to ensure that each snapshot table has a
one-to-one mapping to an engine instance.
@dwhswenson dwhswenson marked this pull request as ready for review October 1, 2020 22:08
@dwhswenson dwhswenson changed the title [WIP] Internalized snapshots; random filenames for external snapshots Internalized snapshots; random filenames for external snapshots Oct 1, 2020
@dwhswenson

dwhswenson commented Oct 1, 2020

Copy link
Copy Markdown
Member Author

Ready for review. Will leave this up for 48 hours (not merging before Sunday 4 October 2020). Although this involves some changes to the underlying functionality, it should still be backward compatible.

@sroet sroet left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The code looks good to me
I had one possible code reduction comment, but feel free to ignore that one.

Comment thread openpathsampling/engines/external_engine.py Outdated
Co-authored-by: sroet <sanderroet@hotmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Morty Proxy This is a proxified and sanitized view of the page, visit original site.