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 ABF PES scanning for MM #72

Open
wants to merge 3 commits into
base: abf_scan
Choose a base branch
from

Conversation

mattiafelice-palermo
Copy link

@mattiafelice-palermo mattiafelice-palermo commented Feb 21, 2024

This pull request introduces the implementation of the Adaptive Biasing Force (ABF) technique in QForce, aimed at enhancing the capability of the software in obtaining Molecular Mechanics Potential Energy Surface (PES) profiles for dihedral angles. The ABF method offers a significant improvements in terms of accuracy of the MM energy landscape, particularly for challenging systems with complex PES.

Implementation Details

  • The ABF method applies an adaptive bias to the dihedral angles during molecular dynamics simulations, enhancing the sampling of the free energy landscape.
  • This implementation involves the integration of an ABF module within the QForce framework, ensuring compatibility and ease of use with existing functionalities.
  • Users should be able to configure ABF-related parameters directly within QForce.
  • The method should be designed to be versatile and fit into the automatic worfklow of QForce

Functions to be implemented - Checklist

  • automatic box sizing and consequently number of argon atoms
  • automatic multithread based on atom numbers for ABF run
  • automatic check for gromacs-colvars availability (and suggestions for available gmx executables?)
  • automatic timestep selection based on the presence of hydrogens
  • automatic increase of ABF run duration if histogram features elements with 0
  • implementation of logging module
  • run test suite
  • write ad-hoc tests
  • implement compatibility with Gromacs 2024

Modified the function _read_orca_allxyz so that it accepts both "generic"and "orca-flavoured" (with xyz structures separated by ">") xyz multi-structure files.

Also, fixed a bug in reading the Mayer bond order where the letter B was used as a separator to split the various records, leading to crash when the atom name is "Br, Be, Ba" etc...
Modified dihedral_scan.py and forcefield.py to support ABF scan.

Missing features:
 - automatic box sizing
 - automatic determination of # of argon
 - automatic multithread based on atom numbers for ABF run
Removed debug print statements and unused functions.

Increased md runtime for debug purposes.
@selimsami
Copy link
Owner

Thanks a lot Matteo. Looks exciting!
Just to note - I have a busy 2 weeks ahead, so it might take a while for me to get back to you on this.

Best,
Selim

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