Closed wiederm closed 2 months ago
Can you write out a slightly more detailed description of the hierarchy? Might be good to just copy and paste the same text to an issue and the wiki.
I outlined the structure here: https://github.com/choderalab/modelforge/wiki/Neural-network-potentials#module-organization
It might be enough to add the URL?
Description
Previously, we have implemented all base functionality, including the neighbor list calculation, in a base class from which each neural network inherits. While this was straightforward, this abstraction made exporting the model and exchanging the neighbor list calculation difficult. To make these use cases work, the new structure is as follows (outlined for ANI):
ANI2x
class that wraps and initializesANI2xCore
andInputPreparation
instances. TheInputPreparation
class takes cartesian coordinates as input and outputsd_ij
andr_ij
, as well as neighbor indices. TheANI2Core
performs all calculations necessary for the neural network operating on the output of theInputPreparation
.When models are exported, only the
Core
class is exported.Todos
Status