2020-09-01 Wagner/Chodera Meeting notes

Date

Sep 1, 2020

Participants

  • @Jeffrey Wagner

  • @John Chodera

Discussion topics

Item

Notes

Item

Notes

Conda deployment

  • Once we move OFFTK to c-f, we’ll still want to have automated deployment tests for new packages, builders for miniconda installers, and testing for miniconda packages. So most of this will be useful far into the future.

  • Agreed – We will automate package building+testing, though it’s OK if we still build manually since we’ll be on c-f soon.

Molecule/Topology objects

  • Extending the Topology API to handle biopolymers

    • JW – Automated residue perception?

    • JW – Built-in “unique molecules” for amino acids

    • JC – would like to replace use of MDA, OpenMM, MDTraj Topology classes

      • OpenMM concepts

        • Topology is immutable – Modification requires copying

        • Unexpected/unpythonic use of generators vs. actual lists/tuples/iterables

      • MDTraj Topology is somewhat more pythonic than OpenMM, but not perfect. But is missing chain IDs.

      • Would like DSL (especially like Pymol DSL)

      • Bridges with MDAnalysis – Reach out to beckstein, gowers, maybe via dotson.

      • Functionality: Need to be able to

        • retrieve molecule for each residue (with options for capped or uncapped, which groups to use for capping)

          • Tie-in with AtomMapSet or whatever that is

        • functionality to correctly assign atom mapping for mutations

        • Modify topology in various wayss

          • Add atoms or bonds

          • Protonation/charge states

          • Convenient methods for eg. changing a residue

          • Combining topologies

  • JC – Should have “dirty” and “clean” objects, and validate them at the time they’re used, so that users can mess around with them until that point.

  • Serialization for Molecule and Topology

    • If a molecule is, at its core, a graph with nodes labeled (element, formal charge, stereochemistry, index), and edges labeled (bond order, stereochemistry), then this is easy

      • Need to check with a cheminformatics wonk about if same graph molecule will always be interpreted the same way by aromaticity models.

      • Some Ant’s rants imply that this is safe, basically “a given molecule with aromaticity percieved, it can be equal to many kekule structure. And all of those kekule structures WILL yield the the same aromaticity-molecule”

  • Need to contact RDKit and OpenEye with a test case for protein SMARTS assignment.

    • JW will make this test case

    • JC will contact OE/RDKit with this request.

    • Multithreading? Just a few SMARTS per process?

  • Whether we should sync up with anyone on this, such as MDAnalysis: https://www.mdanalysis.org/2020/08/03/roadmap/

  • Slots – Probably not worth the time until parameter assignment gets really nasty

  • Topology modification/ return_topology kwarg – Probably a good idea

  • System should own a Topology, though it may not allow public modification.

 

 

 

Action items

Decisions