2021-02-05 Topology refactor Meeting notes

Date

Feb 5, 2021

Participants

  • @Jeffrey Wagner

  • @Matt Thompson

  • @Simon Boothroyd

Discussion topics

Item

Notes

Item

Notes

 

  • MT – Interested to figure out how different portions of our stack deal with different topology representations

    • JW – Yes, one aspect of our final product is that there should be a neutral representation that can be employed by cheminformatics topologies and atom typed topologies

  • SB – Strawman proposal

    • JW – How would molecule be mutated in this scheme?

      • SB – The data members aren’t directly modifiable. But we could expose API points for adding/removing/mutating atoms

    • JW – Graph mol → no stereo? What is gained?

    • JW – Local stereochem is a good idea

    • JW – Single conformer mol is a good idea for similarity to major file formats. Stereochemistry is never going to be easy to synchronize

    • JW – Enforced conformer gen when loading from SMILES → Technical issues.

    • JW – How would chemical changes look?

      •  

    • SB – Graph stereochemistry? I think it should always be encoded in a 3d rep

      • JW – I think the graph should always have stereo, but I can consider this more.

      • SB – Let’s come back to this

    • JW – Topology not allowing different atom ordering?

    • JW – +1 to topology coordinates and cell vectors

    • JW + SB – Cached properties like partial charge, partial bond order, aromaticity and model should be stored with provenance and easily obliterated when anything that might invalidate them happens

    • MT – I like this a lot. But I don’t think topology should have coordinates.

      • SB – My reasoning for having coordinates is to have a place where coords stay synchronized with topology particle indexing

    • JW – Would System object have the Topology that Simon is presenting, or something lighter-weight?

      • MT – 90% sure that I’d use Simon’s thing. But I would be OK to making it lighter-weight by forcing some data members to be None

      • MT – For code compatibility/simplicity, I’d like to use the same object

    • SB – What would a System force to be None, and what would be additionally required?

      • MT – Atom element would become optional, mass would become required. Not sure where partial charges would go – Currently I have them stored in the System itself, though this isn’t a final design choice

      • (General) – Can we have a case where two molecules have the same graph and different partial charges?

      • SB – This could come up in the case of an alchemical transformation, where an intermediate state has the same graph but different partial charges

      • MT – Maybe the question is “what deduplication strategy do we want to use, and what do we need for that?”

      • (General) – Should we ever allow Parlsey benzene and GAFF benzene to be in the same simulation?

      • SB – I agree that we want two worlds for the topology – “pre parameterization” and “post parameterization”. The former would contain basic stuff but no partial charges/fractional bond orders. The latter would subclass from the former, but also have partial charges and fractional bond orders. Then molecule equality in the former can be based on the graph, and on the latter could be based on graph+parameterization metadata.

      • MT – Agree

  • Possible topics for next time:

    • Continue defining difference between pre- and post-parameterization topology

      • Positions? Box vectors?

        • MT – Want box vectors and periodicity boolean tuple

      • Virtual sites?

      • How do we let people slip in stuff like pre-defined partial charges?

    • Biopolymer tie-ins?

    • 3D mols vs. graph mols? Both? Just one?

    • Isotopes?

    • What are other hard questions about tracking state? What happens when we find another one in several years? Will the proposed object model make it possible to wrangle this complexity?

    • What from the existing API can stay? What behavior changes (eg. offmol.generate_conformers returns one conf? multiple molecules?

    •  





Action items

Decisions