Merge pull request #4458 from RosettaCommons/vmullig/fix_james_helical_bundle_predict_bug
Fix two bugs in helical_bundle_predict
Thanks to @jameseastwood for finding these. This PR fixes:
- [x] The `TryDisulfidePermutations` mover would segfault for poses with only one disulfide-forming residue.
- [x] The `helical_bundle_predict` application was not ignoring comment lines in FASTA files.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #4326 from RosettaCommons/JWLabonte/sugars/modifications
Carbohydrates: Adding two more families of modified sugars
This merge adds support for phosphorylated and thio-sugars into Rosetta.
auto-drrafter_setup_run_R1 is broken. All other tests pass.
notify author
notify list [rosetta-logs@googlegroups.com]
Changes to get the libraries building on windows - Merge pull request #4448 from RosettaCommons/solberg/minirosetta_windows
In src/protocols/jd3/JobGenealogist.hh, the hash function for some custom classes (which themselves didn't seem to be much more than pointers) could not be found since they're in another namespace, (and then not part of the custom class itself and only included via using), so I put in explicit hash functions for the unsorted_sets.
In src/protocols/jd3/util.cc and /src/core/io/mmtf/util.hh there were some ambiguous types for which I had to guess at which one was intended, hopefully I guessed correctly.
Had to add in lot of #includes which were probably forgotten due to gcc's order of compilation happening to include them from elsewhere before needed, or something like that (owning_ptr.hh was the most common)
Had to remove direct usages of std::make_shared- I believe we are intended to be using utility::pointer::make_shared, and directly calling std::make_shared causes mixture between boost and std shared pointers.
Removed an exit "status" variable that I couldn't find the definition for in src/utility/exit.cc . Just replaced it with "1" since it seemed to be used for exit failures.
Fixed a naming collision in src/utility/pointer/deep_copy.hh
S_ISREG and S_ISDIR are linux-only things. Replaced them with boost is_directory in src/protocols/docking/DockingEnsemble.cc
In src/protocols/boinc/boinc.cc, reverted a change from Oct 31st 2018 which caused (I think) a partially specialized template
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #4445 from RosettaCommons/roccomoretti/packer_palette_restype_tests
Delay ResidueTypeSet usage in PackerPalettes
For the vHTS protocols, the introduction of PackerPalettes caused crashes due to the way they were implemented with respect to the protocols::ligand_docking::HighResDocker mover.
This PR attempts to fix that issue by deferring the use of the ResidueTypeSet until the Palette is actually used (rather than encoding it at Palette creation time). A side benefit of this is that this makes PackerPalettes better compatible with mixed-mode Poses (e.g. where some residues are fullatom and some are centroid.)
The way this was accomplished is by removing the RTS member value from the PackerPalette object, and instead passing it as a function parameter from the ResidueLevelTask object. This does mean that the creation of the base type list is deferred until the RLT, and thus happens multiple times (though can happen for different RTS for a single Palette, and the results for a single RTS is cached for faster lookup).
On a subclass level, this means that the new get_base_residue_types() member function is the key function to overload, taking the place of the previous set_residue_type_set() member function.
This still only works if the type being packed/designed is in the PoseRTS. Testing this actually revealed an issue where the pose loading functionality is clearing the pose without properly (re)setting the PoseRTS, when applicable. This PR also contains a patch to fix that.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #4453 from RosettaCommons/vmullig/fix_andy_genkic_bug
Turn a segfault into an informative error message.
Andy identified a crash bug in a GeneralizedKIC perturber. I'm turning this into an informative error message.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #4451 from RosettaCommons/aleaverfay/add_prefix_for_intana_scorefile_reporting
Add prefix for reporting intana stats to the score file
If you want to look at more than one interface in a structure
or to look at the evolving properties of that interface over
the course of a trajectory, then InterfaceAnalyzer will now
let you use different prefixes to label the pose-extra-scores
that it calculates and stores in the pose. Without the prefix,
the 2nd use of the InterfaceAnalyzer would overwrite the
results of the 1st use.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #4368 from RosettaCommons/jadolfbr/glycan_benchmarking2
General
=====
- Fix `Or_combine` and `And_combine` functions
- Fix `get_score_function` to correctly use the local options collection
- Fix `set_weight_if_zero` by comparing the 0 delta instead of actual 0.
- Fix `extract_asymmetric_unit` to be much more robust, using `create_subpose` as a guide but keeping the additional functionality.
- Fix `RMSDMetric` to extract the asymmetric unit if the pose is symmetric and the ref/native is not. This works fine for RMSD but failed for superposition. The fixes here and with `extract_asymmetric_unit` now allow glycans poses to be properly extracted and superimposed.
- Add options to allow RMSDMetrics to use a different set of residue_selectors for superposition vs RMSD.
- Add a warning to `superimpose_pose` that warns when a user is trying to superimpose a symmetric pose with an asymmetric pose (even with a correct `AtomID_map`). It won't crash, but it will give you a garbage superposition.
- Fix flip of HNQ for residues across a side-chain branch point
Glycans
=====
- Add option to force `sugar_bb` 0 (if using get_score_function)
- Add ability to control `kT` properly
- Add conformer probability option for root of glycan only
- Allow `sugar_bb` to be set on cmd-line or through score functions without overriding to 1.0 - only set to 1.0 if it had not been set manually
- Add `match_window_one` option for glycans that is used for benchmarking so that the total number of rounds is the same for various sampling techniques.
Beta Scorefunction
==============
- Make -beta score function work for JD3 apps
- Add serialization methods to core beta energy classes that are stored in the pose
notify author
notify list [rosetta-logs@googlegroups.com]
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)
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #4363 from RosettaCommons/roccomoretti/clang_tidy_3
Fix issues identified by the misc-* series of clang-tidy tests.
Part of my slow effort to extend the things we test for with clang-tidy.
Most of the changes are due to removal of unused using statements (misc-unused-using-decls) or the conversion of std::string::compare() to std::string::operator== (misc-string-compare -- seriously, there's no reason to use the single-argument version of std::string::compare(). operator== is overloaded for char*, and the semantics of the return value make it hard to read.)
Other issues include converting ad hoc rounding to use the standard library (misc-incorrect-roundings), fixing up some potentially error prone macros (misc-macro-parentheses), fixing redundant expressions in comparisons (misc-redundant-expression -- some potential bugs here), better annotation of C-style string comparison functions (misc-suspicious-string-compare), non-delegating delgating constructors (misc-undelegated-constructor), catch/throw issues (misc-throw-by-value-catch-by-reference), unused objects (misc-unused-raii - there's a bug remaining here), assigning integers to strings (misc-string-integer-assignment - bugs fixed).
It also caught some bad definitions-in-headers (misc-definitions-in-headers) and some really odd assignment operators (misc-unconventional-assign-operator), but those tests are too noisy to leave on permanently.
There are some behavioral changes from putative bug fixes, but hopefully they're a "fixed" approach.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #4442 from RosettaCommons/roccomoretti/revert_nb_to_working
Revert PyRosetta.notebooks to a working state.
The current PyRosetta.notebooks master isn't actually working yet with respect to the PyRosetta4.notebook test server test. Revert the state of the submodule to a version which was, which should fix those tests in main master.
Hopefully the submodule master will be fixed/updated in the near future.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #4372 from RosettaCommons/roccomoretti/no_chain_back_and_forth
Defer chain parsing to apply time in ligand docking movers.
Some of the ligand docking movers were doing chain parsing in the parse_my_tag function, versus waiting until apply time. Not only does this cause issues if the structure of the pose changes between parse time and apply time, there was a fair bit of back-and-forth (e.g. chain letter->chain id->chain letter) that can be avoided.
notify author
notify list [rosetta-logs@googlegroups.com]