2021-06-15 Dalke/Wagner check in

Participants

  • @Andrew Dalke (Deactivated)

  • @Jeffrey Wagner

Discussion topics

Item

Notes

Item

Notes

Test set refresh

  • Coverage tool

    • Tests for tool?

      • JW – It’s large enough that we probably can’t test it with high coverage, though that may not be necessary

      • JW – It’ll probably be good to make basic tests, but not aim for super high coverage

        • AD – Agree

      • Won’t integrate tests into CI, won’t aim for installability

    • How to proceed with making test set?

      • JW – Some representatives from minidrugbank SDF, ChEBI, other sources?

      • Formats?

        • SDF

        • SMILES

        • MOL2? (OE only)

        • PDB? (OE only)

      • AD – Should include isotopes and disconnected fragments, wildcards, R groups

        • JW – That sounds great. These will be a good test of informative errors.

      • AD – Also triple bonds

    • AD – Want to remove pytest.mark.parameterize(minidrugbank) and instead have more targeted tests

  • Steps?

    • Run a lot of molecules through coverage tool

    • For failing cases, do manual curation and identify root causes

    •  

Toolkit implementation backends

  • JW – I think this is a good idea. Let’s complete the test set refresh first, though.

Isotope support

  • JW – Potentially needed for submitted grant, won’t know for a while.

    • AD – OpenMM natively supports deuterium, but not other isotopes. If you do need to add isotopes, recommend keeping track of isotope yourself, change the mass lookup from looking at simtk element, and instead refer to a periodic table. OpenBabel exposes basic chemical information and could be a backend for that.

PR #963

  • JW – Probably good to merge – Objections?

    • Errors caused by rounding errors accumulating / different summing orders?

  • Merged

WIldcards/dummy atoms

  • JW – I don’t think we want to support

  • AD – You had said that you wanted to support singly/strongly connected records (so not multiple structures). How do you support multiple molecules?

    • JW – We can support multiple molecules, but they must be loaded into one topology. A topology is a container for multiple molecules, eg Topology.from_molecules([mol1, mol2])

  • AD – So a Molecule shoudl ensure that it’s a strongly connected molecule, and not multiple compounds.

    • JW – Yes, it’d be good to have a check that there’s just one mutually connected fragment per molecule.

Action items

Decisions