Merge pull request #3222 from RosettaCommons/vmullig/add_trigonal_pyramidal_or_planar_metals
Add support for trigonal planar and trigonal pyramidal metal coordination to the CrosslinkerMover
This pull request will allow the `CrosslinkerMover` to place trigonal pyramidal or trigonal planar metals.
Tasks:
- [x] This pull request is branched off of pull request #3216, so that one must be merged first.
- [x] Add new helpers (`TrigonalPlanarMetal_Helper` and `TrigonalPyramidalMetal_Helper`).
- [x] Update names.
- [x] Update `TrigonalPlanarMetal_Helper`'s bond angles, expected symmetries, _etc._
- [x] Add improper dihedrals for planarity.
- [x] Update `TrigonalPyramidalMetal_Helper`'s bond angles, expected symmetries, _etc._
- [x] Tie in to `CrosslinkerMover`.
- [x] Tie in to `SimpleCycpepPredictApplication`.
- [x] Integration tests:
- [x] For `TrigonalPlanarMetal_Helper`:
- [x] Asymmetric case
- [x] Update this.
- [x] C3-symmetric case
- [x] Fix this.
- [x] With `simple_cycpep_predict`, quasi-C3-symmetric case.
- [x] For `TrigonalPyramidalMetal_Helper`:
- [x] Asymmetric case
- [x] C3-symmetric case
- [x] With `simple_cycpep_predict`, quasi-C3-symmetric case.
- [x] Caught a little bug in the filtering steps performed by the `Metal_HelperBase` class.
- [x] Remove temporary `std::cout` line in `TrigonalPlanarMetal_Helper`.
- [x] Beauty.
- [x] Update `CrosslinkerMover` documentation.
- [x] Update `simple_cycpep_predict` application documentation.
@csykang @ralphcacho @srgerb