OpenFreeEnergy / OpenFreeEnergy/openfe
What are the best `LomapAtomMapper` settings?
@richardjgowers is already working on this.
Since Mar 25, 2024.
- Dominant language
- Python
- Stars
- 331
- Forks
- 56
- Avg merge
- 3d 9h
- Merged PRs (30d)
- 13
Description
The docs, tutorials, and defaults are inconsistent about what settings should be used as a starting point for the atom mappers. I think the defaults in OpenFE should be the best possible settings, as they can currently be changed without too much breakage and because the whole point of OpenFE is to be an accessible package. But even if the defaults are not the recommended settings, we need to choose recommended settings and put them in the docs, tutorials, and cookbooks.
Currently, we have:
openfe.setup.LomapAtomMapper(
time=20, # Time out if MCS algorithm takes 20 seconds
threed=True, # Use atom positions to prune symmetric mappings
max3d=1000.0, # Forbid mapping between atoms more than 1000.0 Å apart
element_change=True, # Allow mappings that change an atoms element
seed='', # Empty SMARTS string causes MCS search to start from scratch
shift=True, # Translate molecules to minimise RMSD before using positions
)
mapper = openfe.LomapAtomMapper(
max3d=1.0,
element_change=False,
)
LomapAtomMapper(
threed=True,
element_change=False,
)
mapper_obj = LomapAtomMapper(
time=20,
threed=True,
element_change=False,
max3d=1
)
In a discussion this morning with @IAlibay and @dwhswenson , what we came up with was:
openfe.setup.LomapAtomMapper(
time=20,
threed=True,
max3d=1.0, # CHANGED FROM CURRENT DEFAULT
element_change=True,
seed='',
shift=False, # CHANGED FROM CURRENT DEFAULT
)
Though with some uncertainty about the exact value of max3d. shift should (apparently) be false because everything should be pre-aligned to the binding pocket, and max3d being set to a small value allows that information to be used. Irfan mentioned that element_change=True should now work and is important to make some mappings possible.
I think this issue can be closed when:
- Recommended settings are decided on
- Docs, tutorials, and cookbooks are updated to reflect the recommended settings
- (optional) The CLI is changed to use the recommended settings
- (optional) The default settings are changed to the recommended settings
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.