Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Discussion topics

Item

Notes

Perses meeting notes review – Things to cover in API notebook

  • Distilling discussion points from this morning’s Perses check in 2021-04-22 Perses meeting notes

  • Residues → molecules, with and without capping

  • Loading MMCIF or PDBx

  • Incorporate CCD into our substructure library – Can one substructure library handle SDF → atom types AND PDB → bond orders

    • Let’s take a look at the structure of this, and decide whether we want to use it as our data format

  • Double check that our flexible-hierarchy-handling plans look like a proper “factory” convention.

    • Offer easy-to-access common “flavor(s)” for hierarchy perception

  • Treat metadata as dataclass instead of dictionary?

    • JW – I like the user-friendliness of this approach, but don’t know whether it will work well with pydantic. So let’s do the friendliest thing that pydantic allows.

  • Chemical modification API?

    • Should we use SMIRKS or merge_molecules?

      • JW – I don’t know what the tradeoffs of these two approaches will be. Maybe we implement support for both in a private API, and see how they go?

      • Does pydantic allow _ to indicate private method names?

  • Does hybrid_molecule have the API that Perses needs? Should the expanded API live in the Topology object?

    • JW – It doesn’t/won’t have the API that Perses needs, but it does have the information. So Perses can have a friendlier class that is intantiated by the information in this object, but anything that will provide a friendly API should live in Perses, so development of its features aren’t gated/blocked by OFF developer-time or release schedules.

Use cases

  • Coming in with two separate complete SDFs and a mapping between them

    • Take one Topology, remove the old ligand, put in the new ligand and possibly an atom mapping. As a bonus, get back a hybrid molecule that maps the old and new ligand.

  • Coming in with a protein, and switch to a different protomer/tautomer

    • Load a biopolymer, identify residues, ask OFFTop to mutate one residue into another, slice out the before- and after- residue, and use OEChem to do the MCSS so that Perses can control the atom mapping.

  • Coming in with a protein, switch one residue to another from the chemical components dictionary

  • Coming in with a protein, switch one residue to another NOT from the chemical component dictionary

  • Cut a residue out of a protein, with or without caps. Possibly with caps informed by “undoing” the polymerization reaction (and allow reverse trips).

Other topics

  • Molecule vs. Topology hierarchies

Notebook review


Notes for next Perses meeting

  • For incomplete molecules, eg from extracting an uncapped residue, what output formats are desired? We’d like to avoid having a “substructure” class in OFFTK, so specific classes in OEChem and RDKit would be helpful here.

  • We haven't been able to find peptide bond-making/condensation reactions in CCD or the other places we’ve looked. So, we can provide an API point to do peptide capping with some custom code (possibly borrowing from fragmenter). But it would help to have a specification for which reaction formats a more general “capping method” registry would expect. Or, even better, more guidance to an actual database of this sort of reaction.

Action items

  •  Iván Pulido Check what the ‘factory’ convention says about <HierarchyElement with (things that distinguish residues> vs a separate class <ResidueHierarchyElement>
  •  Iván Pulido Does Pydantic support the aforementioned factory convention?
  •  Iván Pulido How to get reaction information from the CCD?

...