Feature custom roi maps#522
Open
akalpokas wants to merge 5 commits into
Open
Conversation
Contributor
|
Thanks for this. Looks like there are some weird failures due to some OpenFF packages. Will investigate tomorrow. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR adds
custom_roi_mapfunctionality tomatchAtoms()function as well as the underlying_roiMatch()function in order to enable user defined mappings for ROI regions. This allows for creation of protein perturbations involving advanced use-cases, such as ring-breaks for example. The argument only works whenroiis passed tomatchAtoms(), so the underlying behaviour of the function outside of protein FEP remains unchanged.For example as detailed in the tutorial,
custom_roi_map={}can be used to return an empty mapping for ROI region:Or pass a custom mapping where the RDKit MCS algorithm would fail otherwise:
Specifically this PR:
custom_roi_mapfunctionality as described above.test_empty_custom_roi_mappingandtest_custom_roi_ring_break_mergetest cases in test_align.py that test the following:test_empty_custom_roi_mapping: that a user can pass an emptycustom_roi_mapdictionary to return two unmapped ROI residues, while the rest of the protein is mapped correctly. This allows for setting up transformations using a "dual-topology" approach.test_custom_roi_ring_break_merge: that a user can pass a custom mapping to create an alchemical ring transformation in a test system. The tests checks for this by asserting the number of alchemically created bonds as part of the mapping is equal to 1 (Leucine to Proline transformation is reverse of a ring-break).develinto this branch before issuing this pull request (e.g. by runninggit pull origin devel): ySuggested reviewers:
@lohedges
Any additional context of information?
This PR is non release blocking and can be merged after the release if needed.