Publish my work on the loops refactoring project.
One of the goals of the loops refactoring project was to eliminate the
massive code duplication in protocols::loops::loop_movers. This commit
accomplishes this goal, and will hopefully make it easier to develop new
loop sampling algorithms.
None of the refactored code is used by default. It can be enabled by
passing these flags to the loopmodel application:
-loops:remodel perturb_kic_refactor
-loops:refine refine_kic_refactor
Most of the new code can be found in protocols::loop_modeling and all of
it has thorough API documentation. The new code performs as well as the
existing code on the Kortemme lab 12-res loop benchmark, but it doesn't
yet support all the existing code's features (e.g. NGK and some options
that tune KIC).
No integration test changes expected. Unit tests passed on my machine.