Skip to content
M. Eric Irrgang edited this page Jan 3, 2020 · 1 revision

Miscellaneous notes

Move sample_restraint to git submodule on GitLab?

Replica Exchange

checkpoint and serialization

remove EnsembleDataSource

PEP-544 structural subtyping. 'Protocol' resolves our Generic vs. ABC issues, but requires workaround for Py < 3.8.

Describe as_data(), develop tests and serialization. Normalize behavior for 1-D edges.

Consider whether there is a distinction between a gmx object and a gmx parallel object and what that distinction would be with regard to par_object inputs or outputs.

Have a clear entry point for the data shape discussion.

Prefer to intercept sequences as ndarrays, and don't do implicit broadcast if the input shape can be captured.

Exception handling policy when executing operations.

In Sphinx documentation, use modindex to get a nicer module reference index.

Data model: need input annotation for data dimensionality. We originally tried generic classes (NDArray[]), but issubtype of a subscripted class is not condoned.

Terminology: update_output, build, launch, run... Find common name for call that provides resources (does or does not return value?). "build" accepts resources and returns a runnable with a "run" or "resolve" method that runs it.

Explain write_trajectory in subgraph use. SubgraphContext implementation of write_trajectory implies traj_cat of results...

Add GROMACS build option to build and configure the Python environment? venv 'make' target? Ref: cpython/Docs/README.rst

mpi4py needs more checking and advice.

Clarify meaning of term "factory" in documentation.

Rethink term "interface" in reference to mutable resources.

ScoperError for out-of-context operation handles. Either throw when consuming Context is incompatible or toggle a property that is checked by the data descriptor.

Exceptions for result() and for CLI operations.

Separate out Python ABCs and obj._gmxapi_data interface.

GROMACS proposal/discussion: update submission process to encourage first approving interfaces and/or structure to allow momentum to build for implementation code review.

Testing infrastructure.

function_wrapper should make helper functions that produce portable graph nodes. i.e. implementations must be importable operations.

Make sure commandline_operation can be deserialized. Make deserializable merged_operation? Consider making merged_op a local convenience that maps cleanly to a subgraph of deserializable ops.

Use 'gromacs' Python package to decouple GROMACS details from gmxapi before and after installation? Alternative: use dist-info data files?

Let Python operation helpers be partially bound classmethod creation functions (or wrapper thereof) for a clear chain to Operation class documentation and importability.

Clone this wiki locally