Merge pull request #5564 from RosettaCommons/BYachnin/onechain_interface_segfault
Fix segfault for single chain "interface" scores
The Interface, InterfaceInfo, and InterchainPotential made the somewhat reasonable assumption that if they working on a pose, it has more than one chain to calculate an interface for. Unfortunately, this assumption led to a segfault if, for example, we calculate interchain centroid scoreterms on a single-chain pose.
This PR fixes that segfault: the interchain scoreterms should return 0 if there is no interface. Along the way, I noticed that InterfaceInfo had a bunch of weird things, where you could update member variables without having an effect. For example, one could update distance_, but the interfaces were not subsequently updated to reflect the new distance.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #5575 from RosettaCommons/roccomoretti/fix_tests
Fix the dgdp_script test on the integration test server.
Add more filters for logs, as well as adjusting the script to work with older Python versions.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #5560 from RosettaCommons/roccomoretti/EnergyMap_array
Convert EnergyMap to use a std::array.
This is based off of PR #5556, and the hope is that the std::array will get around the GCC 11 errors that are seen with the copy constructor/assignment operator. (Mostly because we can defer the copy/assignment operations to the std::array versions.)
This PR also removes the -fno-builtin flag from the GCC 11 compilation, which was previously added in PR #5552 as a workaround for the issue that this PR fixes.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #5565 from RosettaCommons/vmullig/helical_bundle_predict_scipred_file_input
Allow helical_bundle_predict to take a PsiPred file as an alternative to a helix definition file, for canonical amino acid prediction
This PR adds the option of providing a PsiPred file as input to the helical_bundle_predict application instead of a helix definition file. This is convenient for predicting canonical amino acid helical bundles (but obviously cannot be used for exotic noncanonicals).
I'll expand the tasks below as I go along.
Tasks:
- [x] Add the option.
- [x] Add alpha helix and beta strand cutoffs.
- [x] Have it do something.
- [x] Add means of setting file.
- [x] Add means of reading file contents.
- [x] ~~Use existing PsiPred reader code; don't reinvent the wheel.~~ --> In this case, it really was simpler to write my own parser.
- [x] Use file contents to set up helix definitions.
- [x] ~~Check that _either_ a helix definition file _or_ a PsiPred file was provided (but not both).~~ Global settings can only be set with a helix definition file. Allow both to be used together.
- [x] Integration test.
- [x] Check that this works.
- [x] MPI mode too.
- [x] Check that this works in MPI mode.
- [x] Update documentation.
- [x] Run beautifier.
@jameseastwood
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #5553 from RosettaCommons/vmullig/fix_integration_test_seed_issue
Add missing -testing:INTEGRATION_TEST flag to two integration tests.
Missing -testing:INTEGRATION_TEST flag in two integration tests (dgdp_script and dgdp_aio) was resulting in tests running with different seeds each time and changing each time. This fixes this. Thanks to Dan Farrell for the fix to the second test.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #5552 from RosettaCommons/vmullig/fix_gcc_11_errors
Fix compilation errors that appear with GCC 11
Mostly warnings-as-errors, though some things might be actual bugs. Apparent actual bugs include:
- An owning pointer that's created and used in `protocols/frag_picker/scores/RamaScore.cc` without ever creating an object to which it points. (Fixed now; the OP uses `make_shared` during its creation.)
- `AlignRmsdTargetEvaluatorCreator::add_evaluators()` was a mess; again, a null owning pointer was being treated as though it pointed to sometihng. This is fixed now, albeit not necessarily in the most elegant way.
- A null pointer to a MoveMap was used in `GeneralAntibodyModeler`. Fixed.
- In the splice utilities, splice was a nullptr, but was used.
- In the CartMinlopCloser, the MoveMapOP was null but was used.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #5545 from RosettaCommons/roccomoretti/fix_empty
Fix issue with empty()
For vectors, empty() is a reporting method, not an altering method. Compiling with GCC 9.1 and C++17 mode shows a number of cases where a pointless empty() is being called.
Most of these are truly pointless (the vector is definitely empty at that point, being freshly created), but there is one location where I'm not sure if the intent was to clear the vector. (Which is complicated by it being a const method.) Commenting it out preserves the current behavior, but leaves it there as a nudge to more knowledgeable people working on the code in the future.
notify author
notify list [rosetta-logs@googlegroups.com]
danpf/dgdp updates & refactor small refactors and bugfixes 01 (#5527)
Some updates for carson and frank w/r/t dgdp
The updates are:
refactor dgdp.py to use an intermediate search file argument properly
refactor dgdp.py to apply a bin_extension so that it is used w/ integration tests
fix a bad merge where I somehow ruined the parallelization of the search step
refactor the code to allow running via an all_in_one (aio) function. This will hopefully allow easier running if point selection ever gets better
remove beta_conv map convolution option (it never worked ;'( )
remove some code rot
add an AIO integration test and split it from the script test
notify author
notify list [rosetta-logs@googlegroups.com]