Project planning and breaking down into 1-5 day chunks
Scope of changes
Possibly a new set of functionality for things like assigning bond orders to a protein and holding hierarchy data in an openFF molecule
Lots of changes in topology.py
Probably some changes in molecule.py
Adding a new example showing how to load+use a protein
A small number of changes in other files
Lots of tests
Gather requirements
Major users – Simon Boothroyd (maybe), Matt Thompson (might need more time to see what system/exporters need)
Perses developers – Dominic Rufa (Chodera lab)
Experimental users – Lily Wang, MoSDeF people
Adjacent Developers – Peter Eastman?
Cheminformatics expert who can advise on changes to the Molecule/Atom/Bond class – Andrew Dalke (if he joins soon enough)
Less coordination will be necessary if the Molecule class is compartmentalized from the Topology – for example, if the same mechanism that allows a Topology to be popoulated by a mix of AtomTypedMolecules and CheminformaticsMolecules could allow the molecule refactor to happen and just “pass through” the changed API points.
Convert requirements into API examples
Convert API examples into tests
Build implementation to satisfy tests
class AtomBase(BaseModel):
name: str
def CheminformaticsAtom(AtomBase):
element: simtk.app.openmm.element.Element
formal_charge: simtk.unit.Quantity
def AtomTypedAtom(AtomBase):
atom_type: str
class TopologyAtom(AtomBase):
...
topology_atom_index: int
atom1 = CheminformaticsAtom(element='C', formal_charge=0)
atom2 = AtomTypedAtom(atom_type='CA')
(somehow get these added to the same topology)
for atom in topology.topology_atoms:
print(atom)
>>> TopologyAtom
The way that MosDeF works
graph of elements with bonds but without bond orders/formal charges
--(foyer atom type assignment)→
graph of atom typed atoms (and possibly bond typed bonds) without bond orders/formal charges
JW – I’d guess that this is closest to what we need to support in an “AtomTypedMolecule”
–(lookup table for FF parameters between atom types)-->
ParmEd structure
Action items
Iván Pulido will schedule meetings to gather Topology requirements from Dominic Rufa and Hannah Bruce MacDonald (perses) and Matt Thompson (System exporters)
Iván Pulido will look into MoSDeF/foyer infrastructure to propose an AtomTypedTopology API, and present it at the April 15 or 22 VU collaboration meeting to gather feedback
Iván Pulido Will start creating “false code” in his off toolkit fork, converting requirements from previous meetings into API mock ups.
Add Comment