Merge pull request #4656 from RosettaCommons/roccomoretti/dunbrack_precision
Adjust Dunbrack library generation to address test server issues.
It looks like a fair part of the integration test instability on the test server may be due to differences in the Dunbrack rotamer library binary on different machines. (Potentially due to release/debug differences.)
A substantial portion of the difference in release/debug mode binary file generation is due to truncating the spline-fit derivatives to single precision. Changing that to double precision greatly reduces the numeric difference between debug-mode and release-mode generated Dunbrack binaries (at least on my machine).
To further prevent differences in compilation mode from altering integration test trajectories, the way the Dunbrack binaries are stored on the test server was altered, such that each compilation mode gets its own Dunbrack binary.
Both of these changes should hopefully greatly reduce the spurious integration test diffs we've been seeing on the test server.
The Dunbrack binary version has been increased to accommodate for the change in precision. This will result in regenerating the Dunbrack binary.
Merge pull request #4636 from RosettaCommons/roccomoretti/filter_value_metric
Add a SimpleMetric which wraps a Filter.
We're looking at converting the usage of Filters for calculating values to the SimpleMetric framework. In that conversion process, it would be really useful to have a RealMetric that's able to wrap a Filter, for backwards compatibility purposes. -- That is, if you have some framework which currently stores a filter and then uses the report_sm() functionality of that stored filter, you would want to convert it to store a RealMetric and use the value calculated by that real metric. But you also want to preserve backward compatibility in case people have old XMLs which are using and passing around Filters.
That's what the FilterValueMetric is for. It's just a RealMetric which can take an arbitrary Filter, call report_sm() on it, and use that value as if it was calculated by a RealMetric proper.
The intent is not to be used "earnestly", but mainly as a backward compatibility shim during the process of updating things to use the metrics framework.
Merge pull request #4619 from RosettaCommons/dimaio/bbi_init_from_pdb
Two changes for design of crystal lattices:
* add the ability to supply a reference pose to BuildingBlockInterface
* add the ability to add named symmetric DOFs to TaskAwareSymmMinMover
Merge pull request #4536 from RosettaCommons/teunhoevenaars/jacobi_loop_closure_1
Fixes after initial Jacobi loop closure merge and addition of Loop definition to RosettaScript
Merge pull request #4485 from RosettaCommons/roccomoretti/fix_broken_tests
Attempt to smash a bunch of broken tests in master on the test server.
I looked at the failures in master, and saw if I could make some quick technical fixes. Not treated were "scientific" failures
Merge pull request #4436 from RosettaCommons/JackMaguire/AcceptToBestMover
AcceptToBestMover
I'm re-implementing FastDesign using rosetta_scripts instead of relax_scripts. People are generally more familiar with rosetta_scripts so this side-by-side comparison will hopefully be the "Rosetta Stone" of relax_scripts.
The only functionality that does not currently exist in rosetta_scripts is the accept_to_best command, which updates the pose to the best one seen so far. This PR adds the AcceptToBestMover which wraps this simple logic into Mover boilerplate.
Merge pull request #4456 from RosettaCommons/roccomoretti/no_apply_to_pose
Remove APPLY_TO_POSE usage in integration tests
APPLY_TO_POSE is deprecated, and we should hopefully be removing support for it in the (nearish?) future.
There are, however, two integration tests which make (non-trivial) use of it. This PR adjusts those integration tests not to use it, using the suggested replacement instead.
Merge pull request #4444 from RosettaCommons/benchmark
Updating testing scrips:
- updating release tests to use mounts
- updating benchmark.py to properly handle comparisons
- updating integration.py path-sanitation procedure to use main path as a root to reflect new directories layout (this will cause most integration tests to fail once when this is merged, - this is expected change)
Merge pull request #4430 from RosettaCommons/benchmark
Testing scripts update. Updating headers and levels tests to use new directory layout. Updating build.clean.* test to use HTTPS instead of SSH for submodule cloning.