2021_10_06 Thompson/Wagner Check in

Participants

  • @Matt Thompson

  • @Jeffrey Wagner

Discussion topics

Item

Notes

Item

Notes

General update

  • MT – Made a GROMACS reader, first leaned heavily on intermol, now I’m working on replacing it piece-by-piece. Merged into interchange to save progress.

TopologyMolecule deprecation

  • JW – In the branch where I removed TopologyMolecule and friends, I started also writing “friendly” logic for how to/from_openmm could work BOTH in the presence of complete hierarcht data, and also “do the right thing” in its absence. This got so big that I’ve decided to stash the changes and do that as a seprate PR.

  • JW – Are bonds ordered? (like, is it important which order they come out of a bond iterator?) Should we guarantee constant bond indices in roundtrips to other formats? This is one thing that broke during my deprecation of TopologyMolecule

    • MT – I can’t think of a case where this is essential at the moment, but I can’t guarantee that we’ll never need this.

  • JW – Next I’ll do TypedMolecules

    • MT – Two important details you’re probably focusing on are:

      • atom names/types

      • Storing not-valid chemistry/connectivity

      • (JW – Also residues/chains/hierarchy)

    • MT – Currently I read GROMACS topologies by adding each atom using their atomic number/name, and bonds.

  • MT – One big blocker for me was that topologies aren’t serializable/copy-initializable

    • JW – I’ve (finally) added topology serialization and copy-initialization

    • JW – I think PR is probably in a good “prototype” state

  • MT – Plans for pydantic in topology refactor?

    • JW – RIght now I’m rushing everything up to “prototype” state to get user feedback, if that period ends up being quiet, then I’ll use the time to start replacing stuff in Molecule with pydantic classes.

Topology combination

  • JW – Could be easy to put into openff toolkit

    • MT – It may be more complex than we think: What to do with residue number collisions? etc

    • JW – Per above, I’m looking into “friendly” behaviors for exporting topologies to formats that have certain requirements around residues/chains/etc (trying to preserve user intent but fill in missing info if the output format requires it)

Upcoming meetings

  • MT

    • I have an agenda for tomorrow’s strategy meeting, please review if there’s time

    • VU PI meeting scheduling – Next tuesday?

      • (JW responded to scheduling email)

PRs

  • JW – Should I be watching interchange PRs?

    • MT – In general yes, but there’s nothing shallow enough to give quick feedback on. For now it’s probably better that you focus on more urgent things, but I may ask for more feedback in the future.

    • MT – Big picture is that I need users/stakeholders for the functionality and documentation. It would be really beneficial to have a second developer on the same wavelength.

  • Interchange dev docs PR

    • JW – Current stuff looks great, we could add more stuff to have Josh fill in. Maybe things like:

      • Danger areas/behaviors/”when interchange makes stuff up”

      • A bunch of statements for how an Interchange compares to existing on-disk representations, eg “When interchange writes to gromacs .top, it forgets X, Y, and Z”. This could be a disordered set of statements to start with, but over months it could become a table or some more concise overview.

      • “cookbook for how to do X, Y, and Z, with some digressions inspecting objects and explaining stuff”

  • Reviewed+approved

  •  

    •  

Action items

Decisions