choderalab/repex — pull request #67 by kyleabeauchamp (2014-01-27 18:56:26+00:00)
Title: [WIP] Amoeba and run parameter updates

1. Added AMOEBA protein and ion box testsystems
2. General cleanup using pyflakes
3. Removed HDF io, which was never actually completed
4. Refactored some of the run parameter input / storage / loading

Regarding (4), the new scheme is to pass things via a dictionary of run parameters. The dictionary is then "filled in" with default values for any missing parameters. The dictionary is saved to netCDF at this point. Finally, the dictionary is converted to a named tuple Repex.parameters, which allows pythonic lookup via `self.parameters.some_quantity`.

I think the key advantages here are

A. My previous kwargs wasn't actually working
B. We now have an inheritance-based way to handle default-inputs and type-checking
C. We can store run parameters as python dictionaries, similar to how gromacs MDP files work (e.g. default options)
D. Tighter synchronization between the Repex object and the database--avoid possible incompatible states
E. named tuples are immutable, so the run parameters are constant.