Merge pull request #840 from RosettaCommons/vmullig/asford_multibody_copy3
Add support for non-pairwise decomposible score terms to the packer
This merges Alex Ford's recent changes to the packer into master, adding support for score terms that are not pairwise decomposible but which can be made fast to compute or update by other means. (An example is the aa_composition score term, which imposes a nonlinear penalty for deviation from a desired amino acid composition. It's very fast to count amino acids of a given type.)
Tasks:
- Fix issues introduced by recent changes to disulfide code.
- Add full Doxygen documentation for new classes.
- Re-beautify.
- Check the (many) integration test changes.
- Fix PyRosetta issues.
- Re-beautify.
- Fix failing unit test.
- Rename variables with leading underscore to have trailing underscore instead.
- Figure out PyRosetta unit test issues.
- Re-beautify.
For a future pull request:
- Add RosettaScripts-accessible means of setting up the new score terms.
- Add a better base class for packer-compatible non-pairwise-decomposible score terms.
- Revise the aa_composition energy, adding more user controls (e.g. layers, regions of the protein, etc.)
Integration test changes expected:
- Many tests have small cosmetic changes (because some packer-related namespaces and corresponding tracer names change).
- bundlegridsampler_composition_energy actually changes (because the aa_composition energy now works with the packer, so the output from this test is much better)