Merge pull request #2075 from RosettaCommons/vmullig/add_trimesic_acid
Add trimesic acid (crosslinker)
This adds trimesic acid, a three-way crosslinker that can be used in peptide synthesis.
Tasks:
- [x] Add params file (note that crosslinkers are off by default in residue_types.txt).
- [x] Set up virtual atoms.
- [x] Set up connections.
- [x] Ensure overall neutral charge.
- [x] Ensure symmetry.
- [x] MM atom types.
- [x] Chi definitions and rotamers (using PROTON_CHI lines in params file). Note that trimesic acid prefers +/- 30 or +/-150 degrees for chi1, chi2, and chi3.
- [x] Add symmetric version of params file.
- [x] Add DAP, if it doesn't already exist --> It exists; params file updated. (Called DPP in PDB; renamed to DPP in database, too.)
- [x] Add DAB, if it doesn't already exist. --> It exists; params file updated.
- [x] Update ornithine params file.
- [x] Add sidechain conjugation patch for LYS, ORN, DAB and DAP, if it doesn't already exist.
- [x] Unit test for this.
- ~~Deprecate LYX? (Will have to update integration tests that use it.)~~ --> maybe in the future.
- [x] Add support for TMA to CrosslinkerMover:
- [x] Cherry-pick in change of name from ThreefoldLinkerMover to CrosslinkerMover (from pull request #1839).
- [x] Add setup logic for TMA in the asymmetric case.
- [x] Add setup logic for TMA in the symmetric case.
- [x] Allow LYS, ORN, DAB, or DAP side-chains to present TMA.
- [x] Unit test for functional form of constraints.
- [x] Integration test -- asymmetric case.
- [x] Integration test -- symmetric case.
- [x] Documentation.
- [x] Add support to simple_cycpep_predict for TMA.
- [x] Integration test.
- [x] Documentation.
- [x] Add weight option to GaussianFunc (needed for the construction of a suitable torsional potential for TMA).
- [x] Document changes to GaussianFunc.
- [x] Calculate correct values for torsion potential to ensure +/- 30 degree minima (calculus -- yay).
- [x] Add potential offset to give minimum value of 0 (more calculus).
- [x] Update PatchOperations to report their own names for errors / debugging.
- [x] Beauty.
- [x] Document change of name of ThreefoldLinkerMover --> CrosslinkerMover.
@gbhardwaj