Merge pull request #849 from RosettaCommons/roccomoretti/pymol_obs
Make the PyMolObserver a CacheableObserver.
On certain systems there's an issue compiling because boost::bind via the observer system is expecting a raw pointer to the PyMolObserver, and it's being given an owning pointer. This works for boost shared pointers, but isn't robust for std::shared_ptr.
The naive fix of simply giving things a raw pointer to the observer doesn't work, because AddPyMolObserver et al. doesn't keep around any reference to the newly created observer object, and if the PyRosetta-level user doesn't store the return value, the observer object gets garbage collected and subsequent observer notifications mean segfaults. To solve this, I changed the PyMolObserver into a CacheableObserver, and cache it in the pose which we're observing.
One complication is that pose.clear() will remove any cached observers, resulting in the PyMolObserver being disconnected from the pose. The standard use cases look to be fixed, but it may be an issue in some other protocols. (Most notably, the PyMolObserver won't persist through loading a new PDB into the pose, as that calls pose.clear()) Another consequence is that not every snapshot from the previous runs are replicated in the new runs - but this should be mostly cosmetic.
Merge pull request #905 from RosettaCommons/JWLabonte/sugars/input
Carbohydrates: Further simplifying loading-in of glycan-containing PDB files
This merge makes Rosetta is somewhat more robust in handling glycan-containing PDB files. If a system of 3-letter codes is used in the PDB file that does not include main-chain connectivity, Rosetta will now rely on `LINK` records to assign the proper `ResidueType`s.
All unit tests pass.
fold_and_dock has tracer volume jacked way up, so it registers with integration test changes because of more tracer output I also added with this merge.
Merge pull request #871 from RosettaCommons/roccomoretti/valgrind_mpi
Fix integration.py w/r/t valgrind and MPI
Not all test directories have non-MPI command files - don't fail if one isn't present
Merge pull request #782 from RosettaCommons/dimaio/denovo_density_fixes
This pull requests add the de novo cryoEM model-building tools described from Wang et al. 2015 to public apps.
It introduces the new public app, 'denovo_density'. Additionally, it makes a few bugfixes to the spherical harmonic code, and introduces a new mover, electron_density/DockIntoDensity, a general mover for matching proteins structures to density maps through fast 6D search.
Additionally, several other miscellaneous fixes for modelling into cryoEM density are added in this checkin. This includes a number of accumulated bugfixes and new features to RosettaCM.
Merge pull request #737 from RosettaCommons/rhiju/fix_match_test_instability
fixing Matcher test instability
Sweet, now integration.release_debug (linux) and integration (mac) versions of match tests actually match, including order of output of HIS vs. HIS_D, etc. (except for a nan vs. -nan).