Improvements to MD plugin development environment
This issue is a parent for several improvements to the MD plugin development environment laid out in
https://github.com/kassonlab/sample_restraint is a project that can be forked as the starting point for developing GROMACS 2019 compatible MD plugins for use with gmxapi 0.0.7. For GROMACS 2020 and beyond, the primary source code will be managed under the GROMACS repository. Several improvements are necessary for ongoing GROMACS compatibility and to improve the experience of plugin developers.
- Create a new skeleton repository that researchers can clone to get the python_packaging/sample_restraint subtree, plus additional project helpers.
- Improve documentation and set-up of the new project, such as with CookieCutter wrapping.
- Add more call signatures and use cases for restraint calculation.
- Update various internals to use modern GROMACS facilities and features.
- Extract boiler plate to template headers.
- Modernize expression of inputs, outputs, and factory functions, as enabled in core GROMACS.
- Prepare template headers to be moved to the GROMACS installed headers (to be moved in GROMACS 2021)
- Improve documentation and documentation integration with GROMACS manuals.
More templating in sample_restraint.
Start moving towards a template header library to replace the boiler
plate in the sample restraint code. Separate out the most important bits
of a Potential implementation. Use templates to wrap the Restraint
aspect and input/output resources.