Merge pull request #5607 from CyrusBiotechnology/forcommons/hybridize_fix_disulf
HybridizeProtocol: expose disulf_file_ internal
HybridizeProtocol has two constructors. The default constructor assumes data will come in via XML, and DOES check the value of the fix_disulf flag, storing it into an internal string disulf_file_ for later use. The argumented constructor sets class internals via either the arguments or hardcoded defaults and does NOT check the options system - in fact the code is there, commented out.
Cyrus was bitten by this difference. In our fork I am unifying their behavior, but I am uninterested in taking responsibility for making that type of default change globally. (If it were to be properly fixed, HybridizeProtocol should just use a different flag entirely for the purpose; as it is the C++ code in HybridizeProtocol does writing TO the option system to disable this flag during template read-in, because the flag is active at PDB read in time and causes templates to be misread when present...it's, uh, highly nonstandard).
Here I expose disulf_file_ via a standard getter/setter and offer a unit tests that checks A) getting and setting work, and B) that the current constructor behaviors are maintained. I'm fine if RosettaCommons chooses to change the constructor behaviors to match each other in a subsequent PR (I will be doing so in our fork).
I fixed the const & ness of the argumented ctor as a side effect; it made writing the unit test simpler because you can't pass a const string to a nonconst ref argument.
TY sergey for kicking windows tests and Rocco for prompt review