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

Energy restraints and PES modification design #110

Open
leeping opened this issue May 28, 2020 · 0 comments
Open

Energy restraints and PES modification design #110

leeping opened this issue May 28, 2020 · 0 comments

Comments

@leeping
Copy link
Owner

leeping commented May 28, 2020

I'm planning to work on this after finishing the transition state feature.

Mode 1: Harmonic Energy restraint on degrees of freedom previously used for constraints

  • User can provide a harmonic force constant at the end of the string, leading to a harmonic restraint being created instead of an exact constraint.
  • Related feature: Scan groups. User can provide $group markers before each constraint inside of a $scan block to ensure that constraints within a group are being scanned in 1D with their values changing simultaneously. It should look like $group n_steps and the constraints within a group only need to provide initial and final values.

Mode 2: General energy modification

In geomeTRIC:

  • User is required to provide a PDB file and an OpenMM system XML file --perturb perturb.xml

Why not pass a force field .xml file? Requires too much legwork to get things working. For example:

  • Need to make residue templates to match PDB file
  • Requires making distinction between bonded and nonbonded forces
  • Not easy to assign a restraint to only one degree of freedom in the system

Build a tool in geomeTRIC that assists with creating mod.xml

  • This should be an “input file” tool because interactive tools are hard to automate
  • "Freeze, set, scan" are not available. Interactions that involve restraints to reference values can only use the current structure.
  • The form of the restraint energy function:
    • Option 1: Restraint is harmonic and a single force constant parameter should be provided.
    • Option 2: Restraint is a custom function and all needed parameters should be provided.
      • Advantage - user can define flat bottomed potentials.
      • Disadvantage - lots of room for error.
    • Option 3: A few presets are provided (harmonic being one of them).
    • There is no option to define different parameters based on element or particle number
      (don’t want to worry about combining rules or parameter lookup tables).
  • The user can create restraints for:
    • A single atom selection : Applies a harmonic restraint to selected atoms or all atoms
      • Done via CustomExternalForce.
    • A pair atom selection : Applies a harmonic restraint to all pairs from 2 selections, or all atom pairs
      • Done via CustomNonbondedForce.
    • Three atoms : Applies a harmonic restraint to selected atom triplets (angle) or all angles detected from bond graph
      • Done via CustomAngleForce.
    • Four atoms : Applies a harmonic restraint to selected atom quartets (dihedral) or all dihedrals detected from bond graph
      • Done via CustomTorsionForce.
  • Custom force presets are also possible but infinite customization is only available through coding
    • Modification for hydrogen bonding prevention - this is what I actually want to do

Implementation:

  • Uses OpenMM
  • A new Engine should be created that contains the base Engine and an OpenMM engine to compute the energy modifier
  • Optimizations should use the “base + modifier” PES but the “base” energies and forces should also be reported
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

No branches or pull requests

1 participant