Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implementation of emle-analyze script #33

Merged
merged 20 commits into from
Nov 1, 2024
Merged

Conversation

kzinovjev
Copy link
Contributor

This adds a script that calculates EMLE properties and static/induced energies for a trajectory obtained with emle-server. It also parses the corresponding single point ORCA and horton outputs to get the same properties at the reference level of theory to compare.

Key changes:

  • Moved all methods related to interaction between ML part and MM point charges from EMLE to a separate class, models.EMLEPC. This allows to reuse these methods in EMLEAnalyzer, which does essentially the same as EMLE, but for a precalculated trajectory.
  • Added an option to dump MM point charges to a trajectory (pc_xyz_file) every qm_xyz_frequency steps. So, the point charges are dumped for the same structures that are written to qm_xyz_file. This allows to pass these two trajectories to emle-analyze. An advantage compared to parsing the NetCDF trajectory that comes out of sander is that this approach can be used for systems with the link atoms. Also, it guarantees that EMLEAnalyzer will get exactly the same positions and point charges combination as the one that was encoutered during MD propagation.
  • Moved resource fetching stuff to _resources.py. _utils.py is now used to store auxiliary functions for array padding (probably will contain more things later on).

For now emle-analyze only supports deepmd and ani2x backends. The interfaces are implemented in _analyzer.py as separate classes. The logic is really duplicating what is already in calculator.py, so we may think about unifying it at some point.

@lohedges lohedges mentioned this pull request Nov 1, 2024
@lohedges lohedges merged commit bb808d5 into chemle:main Nov 1, 2024
1 of 3 checks passed
@kzinovjev kzinovjev deleted the emle-analyze branch November 2, 2024 15:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants