<aside> 💡 torchmd and jaxmd are useful starting points
</aside>
This package will include a number of modules that implement an end-to-end Molecular Dynamics Engine using jax
with neural network potentials.
diffmd
__init__.py
integrator.py # performs integration
neighborlist.py # handels topology
io.py # parses pdb file (any other format needed?)
nnp.py #pulls in a trained NNP from `modelforge` with a specific identifier
simulation.py
minimize.py # implement or pull in fire or BFGS minimizer
Reporters are necessary to debug, log and calculate properties of MCMC runs.
Reporters need to provide two functionalities:
For any given calculation we set the directory in which the calculations are reporter/logged. Each Reporter will create logs with filenames that are generated automatically and depend on the MCMCMove
class and the SamplerState
.
Each MCMCMove
class and instance has its own reporter (LangevinDynamicsMove
has a LangevinDynamicsReporter
) that logs computed values of interest, including the trajectory.
The MultistateReporter
is responsible for logging
class MultistateReporter:
def __init():