Merge pull request #6013 from RosettaCommons/vmullig/thioether_crosslink
Bugfixes and feature enhancements for thioether lariats.
This pull request does four things:
- It adds code templates to make it easy to add new crosslink types to the CrosslinkerMover.
- It adds support for thioether lariat crosslinks to the CrosslinkerMover.
- It fixes a number of thioether bugs affecting placement of hydrogen atoms near the thioether. (This should improve thioether-cyclized peptide structure prediction with simple_cycpep_predict.)
- It adds CitationManager citations to the CrosslinkerMover.
Tasks:
- [x] Add code template files for new CrosslinkerMoverHelpers.
- [x] Update code template scripts (to indicate where CrosslinkerMoverHelpers must be registered).
- [x] Add new thioether cyclization helper.
- [x] Register it.
- [x] Add citations to CrosslinkerMover while I'm at it.
- [x] Means of indicating that a particular helper is unpublished.
- [x] Citations for the metal setup helpers.
- [x] Citations for other helpers.
- [x] Citations for the Thioether_Helper.
- [x] Pull geometry setup functions out of simple_cycpep_predict into a utility function.
- [x] Call this in Thioether_Helper.
- [x] Pull bond setup functions out of simple_cycpep_predict into a utility function.
- [x] Call this in Thioether_Helper.
- [x] Pull constraint setup functions out of simple_cycpep_predict into a utility function.
- [x] Call this in Thioether_Helper.
- [x] Asymmetric functions.
- [x] Symmetry support?
- [x] Fix bug in placement of thioether N hydrogen.
- [x] Fix bug in placement of thioether aliphatic hydrogens --> need virtual atom and to redo constraints.
- [x] Figure out why I can't set cys sidechain angle and length dofs.
- [x] Figure out why I'm getting wonky bond angles with GenKIC.
- [x] Integration tests.
- [x] Fix integration test failure `simple_cycpep_predict_beta_thioether_lariat`.
- [x] Fix integration test failure `simple_cycpep_predict_thioether_lariat`.
- [x] Add integration test for code template with CrosslinkerMover_Helper.
- [x] Add bond geometry unit test.
- [x] Documentation:
- [x] simple_cycpep_predict documentation.
- [x] CrosslinkerMover documentation.
- [x] Beauty.
I have checked that integration test changes are all either:
- Failures that are happening in master
- Cosmetic (due to changes to a patch file)
- Expected due to new citations added (various CrosslinkerMover tests)
- Expected due to changes to simple_cycpep_predict's output with thioethers (simple_cycpep_predict_thioether_lariat and simple_cycpep_predict_beta_thioether_lariat tests)
- Expected since the test is new (crosslinkermover_thioether test)
@everyday847 @jadolfbr @skudlacek