This umbrella "enhancement" issue is to organize various tasks related to inspecting and setting simulation inputs with stand-alone tools and as data flow operations.
Tools and core functionality:
[x] Read MD parameters from TPR: #192
[x] write new TPR file with modified contents from user: #86
[ ] write new TPR with modified contents from checkpoint file: #71
[ ] generate TPR data from inputs other than existing TPR (e.g. grompp)
[ ] abstractly produce simulation input objects (make_input())
[ ] insert graph node to transform simulation input from one source to simulation input with modified parameters (most simple, a new tpr file with updated parameters for the simulation node) (e.g. modify_input()): #85
[ ] finish mapping the remaining parameters from #192
Along the way, encapsulation will lead to a distinction between file data and data flow abstractions.
[x] Add TPR file class to gmx.core
[ ] Add checkpoint file awareness to gmx.core
[ ] Add "simulationState" abstraction to gmx.core to capture full simulator state restored from checkpoint files, including configuration, topology, parameters, and numerical state with hysteresis.
[ ] Read data and metadata (e.g. current step) from simulation state #70, #56
[ ] Map simulation state handle to simulation input (a single (or packaged) tagged artifact in the data flow)
In the near term, C++ classes map fairly directly to TPX inputs and outputs.
This umbrella "enhancement" issue is to organize various tasks related to inspecting and setting simulation inputs with stand-alone tools and as data flow operations.
Tools and core functionality:
grompp
)make_input()
)modify_input()
): #85Along the way, encapsulation will lead to a distinction between file data and data flow abstractions.
gmx.core
to capture full simulator state restored from checkpoint files, including configuration, topology, parameters, and numerical state with hysteresis.In the near term, C++ classes map fairly directly to TPX inputs and outputs.
Commit https://github.com/kassonlab/gmxapi/pull/162/commits/ae15738ef5bd987e96aeb0c7803899a7406f8b02 added
gmx.core.copy_tprfile
with an argument to set thensteps
in the new TPR file toend_time
, which is kind of clunky.To do: update and incorporate issues from #56 into more granular tasks and close #56