Merge pull request #3000 from RosettaCommons/vmullig/lariats_for_kris
Add support for isopeptide-bonded lariats to simple_cycpep_predict
This pull request adds support to `simple_cycpep_predict` for peptides in which a D/L-aspartate or D/L-glutamate side-chain is connected to the N-terminus. Requested by @deiblerk.
Tasks:
- [x] Add sidechain conjugation patch for D/L-aspartate.
- [x] Add sidechain conjugation patch for D/L-glutamate.
- [x] Add `SET_NET_FORMAL_CHARGE` patch operation.
- [x] Add flags to `simple_cycpep_predict` for specifying lariat closure.
- [x] Have them do something internally.
- [x] Add flags to `simple_cycpep_predict` for specifying sidechain isopeptide closure.
- [x] Have them do something internally.
- [x] Integration tests:
- [x] N-terminal lariat.
- [x] Debug alignment code.
- [x] C-terminal lariat.
- [x] Sidechain isopeptide bond.
- [x] Sidechain isopeptide bond - reverse direction.
- [x] Documentation.
- [x] Include note about ASX and GLX not being used in `simple_cycpep_predict`.
- [x] Beauty.
Also:
- [x] Deprecate the old carboxy sidechain-conjugation patch.
- [x] ~~Update code that called it~~ --> I don't think there was any.
- [x] Add unit tests for isopeptide bonded peptide scoring.
- [x] ~~Fix `rama`~~. --> Not necessary. Not fully compatible with NCAAs in any case, and `rama_prepro` is its replacement.
- [x] Fix `rama_prepro`.
- [x] Note: I found a little bug in rama_prepro that's also fixed in this pull request. This creates a number of minor trajectory changes in integration tests.
- [x] Remove debug output from unit test.
- [x] Update `ResidueType` and `Conformation` to allow easy, efficient updating of coordinates that depend on nonpolymeric connections (or on other atoms that depend on non polymeric connections).