perses.bias contains various biasing engines that would be tailored to different applications; I'd rather split the concrete instances up into perses.apps, and just retain the base BiasEngine class in perses.bias
perses.dispersed.feptasks contains several things:
ExternalNonequilibriumSwitchingMove and NonequilibriumSwitchingMove which should be moved to openmmtools
multiple tasklets that could be used in various protocols, so should perhaps go in perses.protocols
perses.dispersed.relative_setup contains application code for relative free energy calculations that should be moved to perses.apps.relative
perses.samplers.thermodynamics is redundant with openmmtools.states and should be removed in favor of using the openmmtools classes
perses.samplers.samplers contains a number of perses-specific samplers which might eventually be migrated to openmmtools once we figure out how to generalize cases where systems can sample over multiple chemical species
perses.rjmc contains a number of reversible-jump tools that should stay there until we can figure out how to generalize cases where systems sample over multiple chemical species, but SystemGenerator should be migrated to openmmtools
perses.storage is an experimental storage layer for the samplers and should stay wherever the samplers are
I'd like to refactor and reorganize the package structure to be more sensible. This doesn't need to be done immediately, but the sooner the better.
Here's what I propose:
perses.analysis
can be retainedperses.annihilation
should all be migrated toopenmmtools.alchemy
perses.bias
contains various biasing engines that would be tailored to different applications; I'd rather split the concrete instances up intoperses.apps
, and just retain the baseBiasEngine
class inperses.bias
perses.dispersed.feptasks
contains several things:ExternalNonequilibriumSwitchingMove
andNonequilibriumSwitchingMove
which should be moved toopenmmtools
perses.protocols
perses.dispersed.relative_setup
contains application code for relative free energy calculations that should be moved toperses.apps.relative
perses.samplers.thermodynamics
is redundant withopenmmtools.states
and should be removed in favor of using theopenmmtools
classesperses.samplers.samplers
contains a number of perses-specific samplers which might eventually be migrated toopenmmtools
once we figure out how to generalize cases where systems can sample over multiple chemical speciesperses.rjmc
contains a number of reversible-jump tools that should stay there until we can figure out how to generalize cases where systems sample over multiple chemical species, butSystemGenerator
should be migrated toopenmmtools
perses.storage
is an experimental storage layer for the samplers and should stay wherever the samplers are