2021-03-22 Developers Coffee Meeting notes

Date

Mar 22, 2021

Participants

  • @Jeffrey Wagner

  • @Lily Wang

  • @Pavan Behara

  • @Matt Thompson

  • @Simon Boothroyd

Discussion topics

Item

Notes

Item

Notes

Updates

  • MT

    • Not too eventful.

    • Worked on support for buckingham potentials. Good experiment for non-LJ functional forms. Required some changes to the internals. Exports were a bit tricky, makes me think that handlers should naturally group. Right now I kinda do this grouping on the fly using if blocks. Mostly focused on GROMACS, a bit of work also in OpenMM.

    • Found that Bioconda Gromacs builds are pinned to specific python versions. I don’t think that this is necessary – They don’t modify python binaries so this shouldn’t be necessary.

    • Did some work on SEPs. Could discuss that today, but there’s a lot there.

    • Working on parameter interpolation. Had a good idea, it turns out this works pretty well if everything’s interpolated. Still need to work on cases where bond length is interpolated but k isn’t.

    • Met with Swails to talk about interoperability.

    • Tried to get typing working with numpy, followed their documentation page on it, still doesn’t work.

      • LW – Which parts of typing don’t work w/ numpy?

      • MT – I haven’t been able to make it work before. There’s supposed to be a mypy plugin that you have to load, but it didn’t work for me.

  • SB

    • MT, what are plans to split System object off into its own org/space independent of OpenFF? Would it still be based off of OFFMol/OFFTop?

      • MT – I could see two paths moving forward –

        • Keep basing everything off OFFTop and OFFMol

        • Have a plugin interface/common API that Molecule and Topology classes must supply, and then let a System use any of them.

      • JW – Name decision is highly political, trying to avoid having anything to do with it. This may lead to having illogical things like a “non-OFF System” require “OFF topologies”

      • MT – The plugin/topology-agnostic architecture may smoothly handle basing off both OFF and non-OFF stuff.

    • Finished off first pass of bespokefit refactor – Now it’s more of a schema-fied way to define how to fit valence parameters on QM data. Things looks good, tests are passing. JH will review when he has time. Should be good for his work as well.

    • Been discussing with JH how to filter QC data. Like excluding mols from a separate training set, filtering high steric energies. QCSubmit should be a good place for this (instead of openff-forcebalance)

    • Joined QCF user group meeting Friday. Heard that MolSSI is migrating, and record IDs will be changing. Asked for more clarity on what data retention/stability guaranatees they provide, since this could break a lot of our scripts/dataset records.

    • Worked with TG to discuss how to begin vsite optimizations.

    • Working on ML library for learning partial charges. Built a database object that can store partial charges and partial bond orders and can be queried by eg. pytorch

      • MT – what’s the scope of this?

      • SB – Starting as AM1 replacement (continuation of Gimlet/espaloma). Moving forward, it will look at predicting AM1 WBOs. Then it could be extended out to other charge methods.

      • SB – One of the dependencies for this isn’t available on C-F, and the maintainer won’t make a release for it. This will be a blocker for both espaloma and my work. I’d like to discuss how to move forward on this.

      • JW – Could touch on this when we meet later this week.

    • Heard Daniel Cole group is going to start exploring different nonbonded functional forms. Want to make it easy for them to make a plugin for alternate functional forms. Some friction with ParameterHandler design – would like to discuss.

      • JW – Would like to get feedback on this, nobody has tried extending ParameterHandlers yet. Let’s talk this week.

  • JW –

    • MT + JS meeting – Many shared interests, not entirely shared scope (residue templates aren’t in our roadmap). We tried to show JS our internal data classes, he’s still unsure that they could provide the fucntionality he needs, wants to see us get some parmed tests passing.

      • LW – Could you do residue template conversion in a different plugin?

      • JW – That would be a good outcome for us. But JS is still nervous about the capabilities of our object model, and it would be a big break for him to move ParmEd users to a different package.

      • MT – Basically agree, though I want to make sure that I meet internal users' needs before I get too diluted satisfying external requirements

      • LW – Curious because residue templates will help me a lot with polymer work.

        • JW – Should be able to do polymer stuff using SMIRNOFF. I’d be happy to work with you this week on hand-crafitng a polymer FF in SMIRNOFF format.

    • SMARTS searching performance discussion w/ cheminf toolkit devs. Caching studies with Connor Davel. Caching isn’t greatr architecturally but it will fix a lot of current issues.

      • SB – What’s the plan for validating the implementation of caching? How to handle mutable output?

      • JW – Different methods' cache keys will need to consider different information (eg whether atom ordering is important, whether specific conformer are being used in partial charge calcs)

      • JW – Not sure how to test extensively. Could have a week or two with a rc build implementing caching for people to bang around, and I’ll reserve a day or two to do that myself.

    • Some benchmarking work, merged QM export checkers. New openff-benchmark release.

    • Worked with Josh Mitchell on rewriting developer docs. Progresss can be followed here:

    • Lots of meetings.

  • PB

    • Lots of work on WBO interpolation/fits.

    • Figured out how to resolve FB energy/geoetery differences. Turns out it was a difference in how restraints were applied

    • Checked out new density fitting basis by Susi Lehtola.

    • JW – Resolution on iodine?

      • PB – LPW made a PR to use an auxillary basis, where we use the old method for elements up to Rb, and then the new (Susi) basis above Rb. This will be in the next Psi4 release.

  • LW

    • Not much OpenFF stuff once I’m getting settled in

    • Moved apartments, had Fulbright event on Friday.



  • MT – Decision point on OpenFF-units?

    • JW – I need to present this option to the PIs on Friday April 1.

    • MT – This came up in the discussion with Swails. He confirmed that, if we need to use stuff with different CODATA, simtk units are no longer an option. Then John mentioned that simtk could implement unit registries/CODATA, and could update its constants.

  • JW – I’ll try to take a shot at a Fragmenter refactor this week.

Action items

Decisions