2023-01-11 Thompson/Wagner Check-in meeting notes

Participants

  • @Matt Thompson

  • @Jeffrey Wagner

Discussion topics

Item

Notes

Item

Notes

General updates

Trello

  •  

Issues/PRs

  • MT – Protein workflow speedups

    • Molecule.to_topology is slow and used in label_molecules, involved molecule serialziation roundtrips

      • JW – I’d be excited for a faster deepcopy, the serialization rountrip is just lazy and safe.

    • Pint unit deserialization takes 60% of protein ff loading time (1 sec of 1.5-2 sec). I don’t think this can be improved

    • ParameterAttributes have performance problems. For example, multiple k values are required to have the same unit when stored in a list. This added 100ms in loading time.

      • JW – If the speedup were greater this might be worth it, but 100ms one time for FF loading in this case isn’t too bad.

    • I may look into streamlining the chemical_environment_matches codes.

      • JW – This is dangerous and even I don’t really understand all the details of smarts matching, so maybe leave this alone and I’ll come back to it later.

    • There’s probably a lot of stuff I could improve in interchange.

    • I don’t see any evidence that things are so bad that users will have serious problems. T4 lysozyme takes 2-4 sec to load into a molecule, total 15 secs to make an openmm system. I’d like to cut that down a lot.

    •  

  • JW – T4 is a little small, maybe check for super-linear scaling in something bigger like https://github.com/openforcefield/protein-ligand-benchmark/blob/main/data/pfkfb3/01_protein/crd/protein.pdb (400-some residues)

  • MT – Can I just make a protein from sequence?

openff-forcebalance plans

  • MT – How to version fork? Continue existing system? Start at 0?

    • JW – start with 0.0.1

  • Repo metadata cleanup

    • Update README to say “this is a fork of LPW’s forcebalance, you’re probably interested in using that instead. For that code, install instructions, published parameters, citation information, and funding acknowledgements, follow this link”

    • License under MIT

  • Repo unused feature cleanup

    • Remove GUI, Tinker interface, other out of scope functionality

  • Repo structure updates

    • Update package structure to use openff namespace

    • Remove cruft from setup.py

    • Remove Python 2 code

    • Skip all failing tests

  • Set up new automation

    • Update CI

    • Set up CodeCov

    • Version with versioneer.py

    • Set up pre-commit and pre-commit.ci

  • Code cleanup

    • Add some type annotations

    • Un-skip previously-failing tests

  • Iterate on expanding unit tests

    • See what code is not covered by unit tests

    • Add unit tests

    • Run unit tests

  • Iterate on expanding examples

    • Add back/curate examples

    • Run examples

    • See what code is not covered by unit tests or examples

  • Refactor BespokeFit to use fork

  • Update Evaluator interface

  • Update Recharge interface

 

 

Action items

Decisions