Improve ACE/NME cap geometry with NeRF-based placement#346
Open
aqemia-richard-gildea wants to merge 1 commit intoopenmm:masterfrom
Open
Improve ACE/NME cap geometry with NeRF-based placement#346aqemia-richard-gildea wants to merge 1 commit intoopenmm:masterfrom
aqemia-richard-gildea wants to merge 1 commit intoopenmm:masterfrom
Conversation
The Kabsch SVD overlay produces distorted geometry for terminal caps. ACE has only 2 matching backbone atoms (C, O), leaving rotation around the C-O axis underdetermined. NME matches 2 atoms by name (N, C) but the match is semantically wrong: NME's sp3 methyl "C" aligns to the adjacent residue's sp2 backbone "C", which are at different positions relative to N. Neither cap has CA, so the trans-peptide rotation step is also skipped. Replace with NeRF algorithm (Parsons et al. 2005) which places atoms from internal coordinates relative to three backbone reference atoms, producing ideal geometry in one shot. Co-authored-by: Richard Gildea <rgildea@gmail.com>
Member
|
Thanks! Do you have a test case where the current behavior leads to wrong results? The initial atom placement is only expected to be very approximate. It relies on energy minimization with a soft core force field to clean up problems. Do you have a case where it isn't working? |
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.
Problem
_addMissingResiduesToChainuses Kabsch SVD overlay to place all missing residues, including terminal caps (ACE/NME). This produces distorted geometry for caps:Solution
Use the NeRF algorithm (Natural Extension Reference Frame, Parsons et al. 2005) to place cap atoms from internal coordinates (bond length, bond angle, dihedral) relative to three backbone reference atoms (N, CA, C) of the adjacent residue. This is fully determined regardless of the number of template atoms and produces ideal geometry in one shot.
Changes
pdbfixer/pdbfixer.py:_placeAtomNeRF(): general NeRF atom placement from 3 reference points + internal coordinates_buildAceCap()/_buildNmeCap(): build cap positions using bond parameters from Engh & Huber (1991), Acta Cryst. A47, 392-400 (tabulated values)_addMissingResiduesToChain: route ACE/NME to NeRF placement when adjacent residue has full backbone (N, CA, C); fall back to existing Kabsch overlay otherwisepdbfixer/tests/test_nerf_caps.py(new):Test results
All 34 tests pass (12 new + 22 existing).