Merge pull request #4650 from RosettaCommons/vmullig/internal_hbonds_metric
Add a simple metric (and a thin wrapper filter) that computes internal hydrogen bonds in a peptide.
This is something that I script over and over in RosettaScripts from the HbondsToResidue filter and some combining filters, producing a Frankenfilter that is both clunky from a user interface standpoint and inefficient from a computational standpoint. (It has to re-evaluate hydrogen bonds for every residue.) It's time I wrote a metric and a wrapper filter for this.
This is also something that currently requires me to update residue numbers in my script when a target changes (which is highly prone to user error), but which, with this pull request, will be doable with ResidueSelectors instead (which, if not idiot-proof, is at least idiot-resistant). For this reason, I'll put it in the `Modernize RosetttaScripts` project, too.
Tasks:
- [x] Add simple metric.
- [x] Getters and setters.
- [x] Remember that set_hbond_types() should throw if all types are set to false.
- [x] XSD function.
- [x] parse_my_tag().
- [x] calculate().
- [x] metric().
- [x] CitationManager fxns.
- [x] Documentation --> in RosettaCommons/documentation#41
- [x] Add filter that thinly wraps the metric.
- [x] Getters and setters.
- [x] XSD function.
- [x] parse_my_tag().
- [x] apply().
- [x] CitationManager fxns.
- [x] Documentation. --> in RosettaCommons/documentation#41
- [x] Unit test.
- [x] Integration test.
- [x] Beauty.
- [x] Make the filter's interface a thinner wrapper for the metric.
- [x] Fix cppcheck.
- [x] Fix serialization.