Skip to content

Decouple A3FE from Exscienta's sandpit #52

@jmichel80

Description

@jmichel80

It would be useful for A3FE to build on top of core BioSimSpace instead of relying on functionality present in sandpit/Exscientia.
A quick chat with @fjclark suggests the following changes would be necessary:

The functionality we need is pretty much all in https://github.com/OpenBioSim/biosimspace/blob/devel/python/BioSimSpace/Sandpit/Exscientia/FreeEnergy/_restraint_search.py and https://github.com/OpenBioSim/biosimspace/blob/devel/python/BioSimSpace/Sandpit/Exscientia/FreeEnergy/_restraint.py . The only other difference is that we have AlchemicalFreeEnergy
https://github.com/OpenBioSim/biosimspace/blob/devel/python/BioSimSpace/Sandpit/Exscientia/FreeEnergy/_alchemical_free_energy.py rather than Relative , but this is almost identical to Relative (with some minor changes to handle restraints). To avoid breaking changes, maybe we could create Absolute and Relative classes in the main BSS code, where Relative has identical functionality as before but all shared functionality is moved to a parent AlchemicalFreeEnergy class?
So, I don't think large changes would be required to BSS, and the changes to A3FE should be minor (especially with Roy's PR which bypasses a lot of the BSS SOMD config generation (https://github.com/Roy-Haolin-Du/a3fe/blob/6864a475756a8e798b14e7437eb108b47a30b3b1/a3fe/configuration/engine_config.py#L95) which I think differs slightly between the Sandpit and main code).

there will also be some changes required to e.g. Protocol/_config.py, Protocol/_somd.py, and Protocol/_gromacs.py e.g. in https://github.com/OpenBioSim/biosimspace/blob/baad60690aff9fc09da3a3a7edfdee11c74[…]639b8/python/BioSimSpace/Sandpit/Exscientia/Protocol/_config.py

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions