「view this page in B3 βῆτα server」

Revisions №61109

branch: master 「№61109」
Commited by: Rocco Moretti
GitHub commit link: 「1ae3d1ffee7e562c」 「№4445」
Difference from previous tested commit:  code diff
Commit date: 2020-01-20 15:30:05
linux.clang linux.gcc linux.srlz mac.clang
PyRosetta4.notebook gcc-9.gcc.python37.PyRosetta4.unit linux.clang.cxx11thread.serialization.python37.PyRosetta4.unit linux.gcc.python36.PyRosetta4.unit mac.PyRosetta.unit build.clean.debug cppcheck alpine.gcc.build.debug gcc-9.gcc.build.debug mysql postgres linux.clang.python36.build.debug linux.zeromq.debug mpi mpi.serialization linux.icc.build.debug OpenCL mac.clang.python36.build.debug build.header build.levels build.ninja_debug graphics static linux.ui mac.ui build.xcode beautification code_quality.clang_analysis serialization code_quality.submodule_regression integration.mpi integration.release_debug integration.tensorflow integration.thread integration.ubsan integration.valgrind integration performance profile release.source scientific.mp_lipid_acc linux.clang.score linux.gcc.score mac.clang.score linux.scripts.pyrosetta scripts.rosetta.parse scripts.rosetta.validate scripts.rosetta.verify linux.clang.unit.release linux.gcc.unit.release gcc-9.gcc.unit util.apps

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.