2020-06-03 Wagner Thompson Slots Chat

Date

Jun 3, 2020

Participants

  • @Jeffrey Wagner

  • @Matt Thompson

Discussion topics

Notes

Notes

  • What is the slots question?

    • Arose from parameterization-completeness checking and shared SMIRKS matching infrastructure

    • “Can I tell how many parameters of each type will be applied to this topology?”

    • Also has to do with which information is necessary to map from forcefield to system params

    • Trevor and I use the nomenclature that a system has a number of “slots” for each parameter type, and the SMIRNOFF hierarchy/parameter order is used to resolve conflicts when two parameters want to occupy the same slot

  • Behavior for different parameters

    • Bonds, angles, proper torsions, vdW, charges are trivial (can be determined entirely by topology, no FF needed)

    • Impropers are tricky, since we don’t know how many there will be, and there is a special position and symmetry equivalents

      • Could define maximum number of slots, but not minimum

      • Example:

        • Molecule: A-B(-C)-D

        • General parameter – [*:1]-[B:2](-[*:3])-[*:4].  k=1 –> 6 matches (3*2*1)

        • Special case parameter – [A:1]-[B:2](-[*:3])-[*:4].  k=2 → 2 matches

        • Special case parameter – [D:1]-[B:2](-[C:3])-[*:4].  k=3 → 1 match

      • The way it currently works is that we don’t actually allow all 6 – We can only “create slots” for sortings of atom indices where the :1 position is lower than the :4 position.

        • 1,2,3,4

        • 1,2,4,3

        • 3,2,1,4

        • 3,2,4,1 → 1,2,4,3

        • 4,2,1,3

        • 4,2,3,1

      • Impropers are poorly formulated → Definition of ANY improper center REQUIRES definition of general parameter, followed by overrides (otherwise it’s functionally impossible to predict how parameters will collide and how many (out of a max of 6) will be applied to any given center)

      • Causes discontinuity in optimization landscape once we start changing SMIRKS, since a change could completely add or remove an improper parameter from system

      • Summary:

        • Min slots: 0

        • Max slots per center: 3

        • Fixed position: 2

        • Order-equivalent: Yes, except for fixed position, and clockwise/ccw cancellation for periodicity=1

    • Virtualsites are tricky because each has different special positions and symmetry equivalents, can overlap on names

    • Chargeincrements are tricky because they are directional and NOT symmetry-equivalent

    • Librarycharges are tricky because of partial overlaps

      • Number of slots IS known (at least slots that have to be filled by SOME charge handler). But Not all parameters from FF may be exercised.

      • This is the first situation where a single parameter match can fill multiple slots.

      • This could be removed by “unpacking” an N-atom librarycharge and turning it into N 1-atom librarycharges

  • Questions

    • What should be done with torsions with k=0? ParmEd might delete them by default.

    • It would be good to have a “show me some molecules that use this parameter” function

Jeff should be responsible for a lot of the work on making a parameter assignment matrix, since he knows about dimensionality.

Action items

Decisions