commit d6547f6858282e67c41356255dfdd63b0e7a75aa Merge: 6ea5509 e465632 Date: Tue Sep 5 13:46:29 2017 -0400 Merge pull request #2512 from RosettaCommons/mlnance/Me_glycoside_fix Carbohydrates: Update to Me-glycoside patch to assume pyranose commit 6ea55091d0f2e719609077499f4be902eefa71b8 Merge: cb182f5 dad700e Date: Mon Sep 4 09:30:37 2017 -0400 Merge pull request #2505 from RosettaCommons/JackMaguire/monte_carlo_hbnet Monte Carlo HBNet commit cb182f54fbb19cbd18c986236420432fd4b69494 Merge: 18d0b40 ec3412e Date: Mon Sep 4 10:33:20 2017 +0300 Merge pull request #2511 from RosettaCommons/orlypolo/FPD_PhiPsi_check Orlypolo/fpd check for phi & psi defined residue types before calculating phi psi rmsd commit 18d0b408df4c08a6554887e9a1b7d05a270f3963 Merge: 7836172 9acc483 Date: Sat Sep 2 11:13:10 2017 -0700 Merge pull request #2510 from RosettaCommons/sboyken/updated_holes Adding options to HolesFilter to only calculate holes score for a residue selection. The holes calculation is performed on the Pose as whole (ignoring the ResidueSelector), but when the time comes to report the score, only the atoms in the residue selector are summed. The Holes score is a sum of individual atoms/residues anyway (technically "PoseBalls"), so by only reporting a specific selection, we should be able to get location-specific data. commit 7836172d6c47f4e78ae1462018623d28152e1fcf Merge: fd0ec1e 891c4d0 Date: Fri Sep 1 13:10:57 2017 -0600 Merge pull request #2523 from RosettaCommons/sergey/binder Refactoring install_llvm_tool so it now perform clean rebuild of LLVM when configuration options has changed. This will also speedup PyRosetta rebuild by avoiding unnecessary Binder rebuilds. commit fd0ec1e18cd19981a3195df0674e2600891929ab Merge: 10defb5 a657b78 Date: Thu Aug 31 18:18:37 2017 -0700 Merge pull request #2520 from RosettaCommons/vmullig/refactor_crosslinkermover Refactor the CrosslinkerMover a bit for generality Needed for planned work with metals and for other crosslinkers. Ideally, this should cause no test changes, beyond minor cosmetic changes due to a changed input. Tasks: - [x] Update documentation ("threefold_symmetric" option is now "symmetry"). commit 10defb5105c7ca5e5fd7e3fbc3cb1bf27dfeface Date: Wed Aug 30 18:11:34 2017 -0700 Update crystal refinement XMLs for ref15 as default commit 52cdcf33ea0bbe95d8d08ef83f790368741a4a7c Merge: 22ae4fd 1623dea Date: Wed Aug 30 10:22:20 2017 -0400 Merge pull request #2517 from RosettaCommons/jadolfbr/code_templates_py35 Add Python3 compatibility to the Code Template Generators Enable Python 2/3 running of code_templates using python-modernize. Found during Bootcamp! Woot! Thanks for the patience everyone! commit 22ae4fd830d7d69531ce11d70b77a6e7737cfbf5 Merge: cb5e7c0 4980cf9 Date: Wed Aug 30 01:11:46 2017 -0700 Merge pull request #2309 from RosettaCommons/vmullig/fix_cutpoint_variant Fix up the cutpoint code a bit to support cis-peptide bonds, peptoids, and N-methylation properly When I started working on cyclic peptides, the cutpoint energy had problems associated with it (_e.g._ hardcoded assumptions about i->i+1 connections) that made me want to avoid it. Today, these problems have largely been solved, and I've come around to the idea that this is one of the better ways to enforce cyclic geometry in peptides. To this end, this pull request aims to tweak the cutpoint code a bit, mainly to make it compatible with _cis_-peptide bonds and with non-ideal geometry. **Update**: This pull request has expanded. It now fixes a number of issues associated with peptoids, and has also had the glycan changes from pull request #2321 merged into it. **Tasks** - ~~Allow Calpha-C-V1-V2 and V2-V1-N-Ca dihedrals to move. The omega energy now enforces planarity.~~ --> Already happens. - [x] Check how chainbreak energy works and make sure that there's no i->i+1 hardcoding. - [x] Unit test for cyclic geometry and chainbreak energy. - [x] Correct expected energy in unit test. - [x] Add a function that moves virtual atoms around to ensure that _if_ cutpoint variants exist, then: - [x] C-OVL1 distance of lower matches LOWER-N distance of upper. - [x] V1-OVL2 distance of lower matches N-CA distance of upper. - [x] C-OVL1-OVL2 angle matches LOWER-N-CA angle. - [x] OVU1-N distance of upper matches C-UPPER distance of lower. - [x] Unit test. - [x] Call the above function from `core::pose::correctly_add_cutpoint_variants_to_pose()`. - [x] Unit test. - [x] Call the above from `core::conformation::Conformation::declare_bond`. - [x] Unit test. - [x] Call the above with conditional logic from `core::pose::add_variant_type_to_pose_residue()`. - [x] Unit test. - [x] Drop deletion of cutpoint types in `DeclareBondMover` and in `simple_cycpep_predict`. - [x] Add support for peptoids. - [x] Unit test. - [x] Add support for N-methylation. - [x] Unit test - [x] Unit test: cyclic scoring when the terminal types are cutpoint variants. - [x] For beta_nov16, too. - [x] Unit test: mirror symmetric scoring when the terminal types are cutpoint variants. - [x] For beta_nov16, too. - [x] Add support for: - [x] DNA. - [x] RNA. - [x] Sugars. - [x] Delete the NtermConnect and CtermConnect patches. - [x] Remove from patches.txt. - [x] Remove the patches. - [x] Remove the variant types, and all mentions in the code. - [x] Remove the variant types from the older residue type sets, too. - [x] Update PoseFromSFRBuilder, pass 4 --> add proper logic for determining if there are link records for mainchain connections, and set up cutpoints. - [x] Unit test for importing a cyclic peptide with LINK records. - [x] Fix the unit test breakages. - [x] Fix the integration test breakages. - [x] Fix updating of polymer bond-dependent geometry for peptoids. - [x] Correct peptoid params files: carbonyl oxygens are polymer-dependent. - [x] Fix updating of cutpoint virtuals (polymer-dependent). - [x] Debug test/core/scoring/cyclic_geometry_headers.hh. - [ ] Documentation. - [ ] Include documentation on when to use linear_chainbreak and when to use (quadratic) chainbreak. - [x] Fix peptoid geometry issue in Residue::place(). - [x] Beauty. Also: - [x] Fix bug in hxl_torsion code: basing the potential on atom indices creates problems with variants that renumber atom indices. - [x] Fix rama_prepro code for compatibility with cutpoint variants. Down the road: - We might switch `simple_cycpep_predict` and the `PeptideCyclizeMover` to use the chainbreak approach. This will require some explicit tweaks to set virtual atom _cis_ conformations in cases of _cis_-peptide bonds. - Unit test: GenKIC with cutpoint. - Unit test: GenKIC with _cis_-omega cutpoint. - Unit test: GenKIC with peptoid cutpoint. Lots of trajectory changes are expected, as well as additional, cosmetic integration test changes. A small scoring change is expected due to a bugfix to the hydroxyl torsion energy. commit cb5e7c097d5ce0c0d5bc518de62e1bbaf5e87bbd Merge: 45c8610 e1f7c41 Date: Tue Aug 29 16:24:16 2017 -0700 Merge pull request #2514 from RosettaCommons/vmullig/andy_thread_issue Fixing thread-safety issue in ChainbreakUtil.cc, and ensuring that the has_chainbreak function actually does something. This was identified as an issue (#2447) by Andy Watkins. This fully addresses the issue, I think. commit 45c8610306bd4418f2757d3f82d846c83d1a2f50 Merge: f3319ee 5b05864 Date: Tue Aug 29 12:23:07 2017 -0700 Merge pull request #2496 from RosettaCommons/hahnbeom/casp12_tools Hahnbeom/casp12 tools commit f3319ee4b500db83403a8953a8b227e76ebd2d24 Merge: 2f3e416 e3cbd5a Date: Tue Aug 29 11:13:31 2017 -0700 Merge pull request #2483 from RosettaCommons/atom-moyer/pyrosetta-method2class_binding Added infrastructure for binding methods/attributes to classes in python. commit 2f3e4163867c7bcc5692ee38737b07154e2c6e18 Merge: f1b74cc 2d3525f Date: Mon Aug 28 15:08:31 2017 -0700 Merge pull request #2504 from RosettaCommons/sccontreras/sccontreras/updatesometracers noticed some tracers were outdated Expect integration test changes that use constraint TR output commit f1b74cc7669136f3b0dfcd403fb47726217dac6e Date: Mon Aug 28 14:40:30 2017 -0700 Beautifying master. commit 901f3e5af431812212d96e9790c67b8c378fcd6c Merge: fd72b4e a9222e7 Date: Sat Aug 26 13:51:25 2017 -0500 Merge pull request #2503 from RosettaCommons/roccomoretti/more_verbose_movemap_show Add additional information to MoveMap::show() output commit fd72b4e2e0ddba12f85625769cbe821a7ea046d6 Merge: 292cd38 de8f0ba Date: Fri Aug 25 15:49:54 2017 -0400 Merge pull request #2474 from RosettaCommons/BYachnin/enzdes_covalent_metals_bugfix Set up covalent enzdes constraints to use -metal_connect patch. commit 292cd3892e7b7191b20e1eb55eb5c91f3da70139 Date: Thu Aug 24 22:35:14 2017 -0700 The beautifier test failure in master was driving me nuts. Beautifying FoldTree.cc. commit 98e1dae212202eec5dd3643776c47e93fc0bc166 Merge: 0ddf0a8 0f4fd86 Date: Thu Aug 24 17:37:23 2017 -0700 Merge pull request #2470 from RosettaCommons/conf_functions2 This PR moves GlycanTreeSet and most core torsion setter and getter functions to conformation. This now enables these functions to be called by conformation itself after the full torsion refactor that @JWLabonte is working on. This makes GlycanTreeSet a member of Conformation, enabling its use in a symmetric conformation as well. Further, it uses observer functions but is now not a PoseObserver, while still being an observer. Also Fixes a bug in GlycanTreeRelax where the later layer was not being properly modeled. Lastly, with the general move to Conformation, Labonte has refactored the align_virtual_atoms_to_carbohydrate_residue function to be run directly in Conformation during updates of torsions - keeping them up to date at all times. commit 0ddf0a8af1786492e702431acc306d7711aed10a Date: Thu Aug 24 16:10:48 2017 -0400 Updating configuration option for Python-2.7 on Ubuntu commit 6bc6bc659ca41f09bed33ffa4b1c93bdd8a80798 Merge: 300d24e faf8c31 Date: Thu Aug 24 13:14:51 2017 -0600 Merge pull request #2481 from RosettaCommons/sergey/f Refactoring benchmark scripts: adding get_path_to_python_executable and updating build_pyrosetta. commit 300d24eb76728f83b994a86ca87464849d20ebe6 Merge: cc0a1db b1bfce1 Date: Wed Aug 23 23:38:45 2017 -0700 Merge pull request #2497 from RosettaCommons/vmullig/thread_efficiency_incremental_merge_1 Incremental merge of thread efficiency tweaks Merging some of the changes from pull request #2479, since some of the other changes that are planned might take longer. This removes mutexes from core::chemical::ResidueProperties::get_variant_type_from_string() and core::chemical::ResidueProperties::get_property_from_string(), converting the relevant maps to const static data. commit cc0a1db524f1a46fb4728bac19b9c27ca006f533 Merge: a1e6d75 e8f3fbf Date: Wed Aug 23 23:20:47 2017 -0700 Merge pull request #331 from RosettaCommons/vmullig/fifty_shades_of_rama Trying to get rid of the perverse behaviour in Rama if phi or psi is zero. Failing PyRosetta unit tests are in fact failing in master as well -- they're due to the new dunder code. commit a1e6d752093a3e1b40681be0094319e1a74706e0 Merge: d978e6f 1fac5bc Date: Wed Aug 23 13:25:41 2017 -0500 Merge pull request #2487 from RosettaCommons/jklai/hydrate This PR adds in the default weights for score12 with the Hydrate/SPaDES protocol (other scoring function weights to come in the future). Also made a few fixes and optimizations that were identified by Andy Watkins. Thanks to him for identifying the issues and helping me with fixing them. The hydrate integration tests are expected to change. The other tests are not expected to change except for a few tests that had previously failed (clang code quality). commit d978e6f01ba91c659e9f18ff9a35cd073f046c07 Merge: 58ed64f 3e02812 Date: Tue Aug 22 18:09:22 2017 -0700 Merge pull request #2472 from RosettaCommons/jadolfbr/symm_glycan_relax2 Major GlycanRelax Updates + BugFixes This PR adds/updates a few things: - Adds Symmetry Support to GlycanRelax/GlycanTreeRelax - Adds ResidueSelector Support to SimpleGlycosylateMover - Makes ALL glycan-based classes use ResidueSelectors instead of Movemaps. Users should not be using Movemaps ATM other than @JWLabonte. A Unit-Tested function is now in `core/pose/carbohydrates` that takes a ResidueSelector and returns a MoveMap. This will eventually be done through the MoveMap Factory if we will refactor stuff to use it. - Fixes bugs where the MoveMap was not properly being set for GlycanRelax as Movemaps + non-protein torsions are absolutely awful. - Fixes a bug where the ASN-linkage was not being properly sampled by the LinkageConformerMover - Enables more torsions to sample that were otherwise being turned off. - Adds option to minimize rings. - Adds pass-through GlycanRelax rounds option for GlycanTreeRelax - Add `--level` option to `run/test.py` - Make the Minimizer for GlycanRelax use the neighbor list now that I actually know what it is. commit 58ed64fed86eef49221495b22d03f85f37d0d7b0 Date: Tue Aug 22 15:20:14 2017 -0700 Remove tracer output -- there was so much in one case that it timeout killed an itest, which is unacceptable commit 9314ed8edc325ca310a9393c6a29cfec788a0536 Merge: 5d74518 3b632b5 Date: Tue Aug 22 10:59:27 2017 -0700 Merge pull request #2492 from RosettaCommons/revert-2383-bfrenz/auto_glycan_with_links_records Revert "Bfrenz/auto glycan with links records" Reverts RosettaCommons/main#2383 This PR causes most of our straight-from-the-pdb benchmark structures to fail loading and breaks the logic of the option in the first place. @raemisch and I will work with @BrandonFrenz in order to get this into Rosetta in a way that does not break existing functionality or logic. In the interim, we will add a set of structures that need to load either as unit tests or an integration test now that we actually have them. Either way they would fail loading. commit 5d745181d249f6788363b0bb50d766cfbd901bcd Merge: df662c0 2038f05 Date: Tue Aug 22 10:45:53 2017 -0700 Merge pull request #2484 from RosettaCommons/everyday847/quick_fixes Quick fixes revealed by clang.analysis and addsan commit df662c09c9ca3f69c73ba58b28da73b17e86ef8e Date: Mon Aug 21 14:34:43 2017 -0700 Added a bug fix for the Rosetta@home graphics application. commit 3f16d6437e2dd36d856a8416536abd99aacad904 Merge: ebf0fa2 c202122 Date: Mon Aug 21 14:32:38 2017 -0600 Merge pull request #2476 from RosettaCommons/benchmark Refactoring release scripts so it setup Binder sources in release package commit ebf0fa25a26a0f1f8194f77846cecb3bc393dbe4 Merge: 7c7d9a2 2424b21 Date: Sun Aug 20 12:41:04 2017 +0200 Merge pull request #2338 from RosettaCommons/ch.norn@gmail.com/evolution_enable_bb_drift Update to the RosettaEvolve machinery commit 7c7d9a2cb0d4cd35248b2446c727224e838c52e9 Merge: a9823fc edd4080 Date: Sat Aug 19 13:37:02 2017 -0700 Merge pull request #2478 from RosettaCommons/sjbertolani/jupyter-output-in-cell Get Rosetta TR output in Jupyter cells - This sets up the rosetta tracer output to be dumped into the current executing cell in a jupyter notebokk. You can turn this off by adding set_logging_handler=False to the init() function. commit a9823fc501aea8b427bedd93be65ad452932992c Merge: c175f7c 6bdec09 Date: Fri Aug 18 15:49:30 2017 -0700 Merge pull request #2467 from RosettaCommons/vmullig/shush_more_tests Ensure that a few more unit tests are using tracers instead of std::cout When unit tests are run with --mute all, they should be muted. commit c175f7cb8d61aec8f4433a1f54c674d57ac3d847 Merge: d1db026 ad72ad4 Date: Thu Aug 17 17:35:19 2017 -0700 Merge pull request #2469 from RosettaCommons/vmullig/multithreaded_peppredict_bg Get multi-threaded peptide structure prediction working on the "Mira" Blue Gene/Q supercomputer Tasks: - [x] Tweak BG/Q build settings. - [x] Fix a misuse of `delete` in `protocols/noesy_assign/PeakAssignmentParameters.cc`. Note that this was also preventing compilation on Mac/clang. - [x] Beauty. - [x] Test compilation on "Mira" Blue Gene/Q supercomputer. - [x] Benchmark on "Mira". -- Yes, this does allow 2- to 3-fold more sampling than was possible before. This still falls short of the 8-fold improvement that would be the theoretical maximum, though. There's still efficiency work to be done to reduce thread concurrency issues. Note that this pull request was branched off of vmullig/multithreaded_peppredict, and must therefore be merged _after_ pull request #2430. commit d1db0269977237c444497b19e446f94c37c42e24 Merge: 93c690c 1a90a58 Date: Thu Aug 17 11:08:42 2017 -0700 Merge pull request #2473 from RosettaCommons/jadolfbr/ab_design_public Make RosettaAntibodyDesign application a public app. Documentation is about 85% complete: https://www.rosettacommons.org/docs/wiki/application_documentation/antibody/RosettaAntibodyDesign commit 93c690cb82027ea5d99f336c9b8c85435efe287a Merge: bd5f76d a04d983 Date: Thu Aug 17 13:02:23 2017 -0400 Merge pull request #2471 from RosettaCommons/JWLabonte/sugars/database Carbohydrates: Adding arabanose .params needed for CAPRI round 41 This merge will add the first aldopentofuranose to the Rosetta database. commit bd5f76db16ffa9ae2fb02a663ca15eded685fd94 Date: Wed Aug 16 17:39:18 2017 -0700 Fixed PyRosetta build error When compiling PyRosetta you could sometimes fail due to this error: /suppscr/dimaio/danpf/git/Rosetta/master/source/src/protocols/floppy_tail/FloppyTailMover.cc:371:32: error: default initialization of an object of const type 'const std::set' (aka 'const set') without a user-provided default constructor std::set < core::Size > const empty; //easier to add empty sets to the vector than construct-then-add This commit fixes that. commit 944cb632d2a4511572b1f8a08e5374277bb0bf0d Merge: ff2e7dd be3c2cf Date: Wed Aug 16 18:23:10 2017 -0600 Merge pull request #2465 from RosettaCommons/sergey/binder Refactoring Rosetta exceptions classes so they use std::exception as base class. This should fix situation when Rosetta C++ exception displayed in PyRosetta as "RuntimeError: Caught an unknown exception!" without means to determine its origin commit ff2e7dd1494106cd9f86e2c822f333e5a495ea0f Date: Wed Aug 16 14:44:55 2017 -0700 Updating numpy_utils to work with the property style accessors in xyzMatrix. commit 94211d53cfd0e3cea9688c223f1fd46292654d8b Merge: 5e63beb a80f4f8 Date: Wed Aug 16 14:07:15 2017 -0700 Merge pull request #2430 from RosettaCommons/vmullig/multithreaded_peppredict Add multithreading support to the simple_cycpep_predict application The simple_cycpep_predict application is used to predict peptide structures. We currently run it on the Baker lab cluster ("the Digs"), the University of Washington "Hyak" cluster, the Argonne "Mira" Blue Gene/Q system, and the Amazon Web Services (AWS) cloud computing platform (plus through the Berkely Open Infrastructure for Network Computing, BOINC). In many of these cases, the number of parallel prediction jobs that we can run is limited by node memory rather than CPUs. With MPI-based parallelism, each process must load a separate copy of the Rosetta database and store it in node memory, resulting in gigabytes of duplicated information taking up space in node memory. This pull request aims to add multithreading support to the existing hierarchical MPI-based job distribution scheme used by simple_cycpep_predict. Note that this app does not use JD2 or JD3. Its job distributor, although much less general than JD2 or JD3, was intended to test some of the features that we hoped to implement in JD3. The immediate practical benefit is that this will allow us to use our available computing resources much more efficiently -- particularly the Digs, Mira, and AWS. This means that we can attempt more jobs, or larger jobs. (It's also a chance for me to discover mistakes to be avoided in the JD3 multithreaded/MPI hierarchical job distributor that will one day exist.) Tasks: - [x] Add suitable blocks bracketed by `#ifdef MULTI_THREADED`. - [x] Add input controls for multithreading (option for number of threads per slave process). Note: for now, the emperor and master-layer processes will not launch worker threads. - [x] Add final layer of thread-based job distribution. (Ensure that only one thread per process makes MPI calls). - [x] Ensure that each thread has a unique random generator initialized with a unique seed that's properly incremented based on thread index, MPI rank, and job index. - [x] Fix problem with stopping after nstruct. - [x] Fix duplicated pose output bug. (Was caused by improperly setting index of jobs on slave nodes; not a thread-safety bug after all.) - [x] Fix issue #2442 (multithreaded efficiency of rotamer library access), since this really does seem to be hindering efficiency here, based on benchmarks on the DIGs. - [x] Make initialization of HbondTypeManager threadsafe. - [x] Beauty. - [x] Ensure that standard MPI-based, non-threaded job distribution is not broken in non-threaded builds. - [x] Documentation. TODO: - Test c++11thread compilation on Blue Gene/Q. - Test and benchmark on the DIGs. - Test and benchmark on Cetus. Can we get up to 64 threads per node? (See also pull request #2469). - Test and benchmark on Mira. (See also pull request #2469). - Think about how to cover this with an integration test... - Find other issues that are still hampering efficiency. Note: this pull request is branched off of vmullig/threadsafe_tracers. Pull requests #2420 and #2416 must be merged before this one. (DONE.) commit 5e63beb8499d32f8de8747e070682068330e7d53 Merge: e3b8243 48d27dd Date: Wed Aug 16 07:00:20 2017 -0700 Merge pull request #2436 from RosettaCommons/guffysl/xsd_docs Getting rid of XRW TEMP and some XRW TO DO in old XSD XRW code commit e3b8243174ba6e68f49ce0ac8104b29e819406b6 Merge: 8002e09 8af9ecc Date: Wed Aug 16 06:59:32 2017 -0700 Merge pull request #2433 from RosettaCommons/guffysl/fix_metal_constraint_generator Guffysl/fix metal constraint generator This branch adds modifications to SetupMetalsMover and MetalContactsConstraintGenerator. MetalContactsConstraintGenerator now has the option to, when multiple ideal angles/dihedrals are specified, constrain to the one value closest to the current value of that measurement instead of creating an AmbiguousConstraint to all provided values. SetupMetalsMover now allows users to specify a residue selector restricting the contacts to be set up and provides a command-line flag to skip adding constraints entirely instead of doing so by setting all the corresponding weight options to zero. commit 8002e0969f0903fde9dff5be388e7bbbd4baf151 Merge: 5f60d31 f7e0118 Date: Wed Aug 16 10:48:07 2017 +0300 Merge pull request #2461 from RosettaCommons/orlypolo/conjugated-sc-packing Orlypolo/conjugated sc packing commit 5f60d31917bd2e2ba0fb77c7441a6d44c094c4b3 Merge: 9382d18 4b3cb78 Date: Tue Aug 15 08:53:00 2017 -0700 Merge pull request #2438 from RosettaCommons/roccomoretti/release_mode_fix Address release system issues * Remove Werror from the releases * Make release mode default in releases * Add path searching as default in site.settings * Remove pilot directories more broadly. commit 9382d18b517c401644b59c81dc6b50970a129717 Merge: a33d3a6 ad90858 Date: Tue Aug 15 08:40:15 2017 -0700 Merge pull request #2425 from RosettaCommons/roccomoretti/test_fixes Some fixes to uninitialized variables found by the best-effort tests (valgrind, addsan, ubsan). commit a33d3a6f5c49a1012294e8b3be19b97f886b3522 Merge: 1502a16 975922c Date: Mon Aug 14 17:45:34 2017 -0700 Merge pull request #2454 from RosettaCommons/atom-moyer/pyrosetta-poses_from_silent Atom moyer/pyrosetta poses from silent commit 1502a1605758940886b751bf54731e6c7f90a3be Merge: 8f3fd04 322d00e Date: Mon Aug 14 12:40:18 2017 -0700 Merge pull request #2424 from RosettaCommons/rhiju/new_scorefxn_tags new best stepwise scorefunction: rna_res_level_energy7beta • only tests that change appear cosmetic (due to new hbondoption; or to small differences in JD3 to legacy stepwise job distributor) commit 8f3fd04da97ae498443a7c5925a09de05f8eebbf Merge: 939ba8a c954873 Date: Sun Aug 13 07:45:32 2017 -0500 Merge pull request #2458 from RosettaCommons/jklai/hydrate Fixing remaining failed tests for the Hydrate/SPaDES application. PR #2418 broke multiple tests, which were subsequently fixed with commit 5441c8635ed5f646 and some changes by Andy Watkins. The changes in this PR fixes the remaining two failed integration tests: "thread_local_tracers_check" and "app_exception_handling," which were identified by the test server and in a comment by Rocco Moretti. commit 939ba8abd31c063daa8b81dd136522622538f045 Merge: d6f9030 f387351 Date: Sat Aug 12 12:25:35 2017 -0700 Merge pull request #2456 from RosettaCommons/everyday847/fix_branch_conn Fix farfar_mrna by fixing branch connection energies commit d6f9030e1c1c1f288726a3d2c0081b742295753e Date: Thu Aug 10 22:45:23 2017 -0700 fixing problem with cleanAlignment integration test commit 15d00a6943ebae0ab4f236667e2d321c39e81f94 Merge: efc3663 6127037 Date: Thu Aug 10 17:14:35 2017 -0700 Merge pull request #2452 from RosettaCommons/bcov/XmlObjects XmlObjects: Importing your xml scripts into C++/PyRosetta Ever since I moved to PyRosetta/C++ from RosettaScripts, I've had a desire to import my RosettaScript into xml and use the components. Well now it's possible! Consider the following code snippets: objs = protocols.rosetta_scripts.XmlObjects.create_from_file("script.xml") my_fully_configured_mover = objs.get_mover("best_mover") my_fully_configured_mover.apply(pose) the_wholel_xml_protocol = objs.get_mover("ParsedProtocol") objs = protocols.rosetta_scripts.XmlObjects.create_from_string(""" """) neighborhood = objs.get_residue_selector("neighborhood") neighborhood.set_distance(9) neighborhood.apply(pose) task_op = protocols.rosetta_scripts.XmlObjects.static_get_task_operation("") These all work which I think opens up all sorts of possibilities. If you've worked hard on an xml and you want to use its parts in PyRosetta, now you can! I can even see large xml libraries being prepared so that one can load pre-configured movers into PyRosetta. If you want to use this in C++, you'll need to get cozy with std::dynamic_pointer_cast< >. commit efc3663c808885b0fb91749abf6db96d06bc6f13 Merge: f7a2dc4 431e5cb Date: Thu Aug 10 17:12:38 2017 -0700 Merge pull request #2449 from RosettaCommons/everyday847/start_stop_size FoldTree edges should start and stop on Sizes commit f7a2dc40adc2f9557acccc08b7ee6adc9889c56b Date: Tue Aug 8 23:13:07 2017 -0700 Beautifying master. commit 5d4a1006adeaacaf0677c9ef31af29938d8cd5c6 Date: Tue Aug 8 17:29:22 2017 -0700 Fixed build commit 68744526eed0b5d442642b1f1ea5dae8651e771b Date: Tue Aug 8 17:28:08 2017 -0700 A quick repair to that integration test of course is worse than no repair at all. Will there be no end to the hotfixes? commit 6544e8f3a4b4b69be7ee38019873eda059ed9aa4 Date: Tue Aug 8 16:52:02 2017 -0700 Fixing a test that _someone else_ had broken, woo. commit 935f5c3e6e311007671aaf75f7c5bb6aa631cb53 Date: Tue Aug 8 15:07:16 2017 -0700 more tests commit eaff20d8ff0a90e4ac82c74a832cb66fa431a526 Date: Tue Aug 8 14:28:32 2017 -0700 weights files commit 2f8ccd72c0397e969f80051fd2dc0a894b567f12 Date: Tue Aug 8 09:06:50 2017 -0700 remove references in performance benchmark to unimplemented fa_plane commit f545c3af52a06a7c640ca67fab9f22c4880806bc Merge: b4d3498 dd845a2 Date: Tue Aug 8 00:44:59 2017 -0400 Merge pull request #2435 from RosettaCommons/JWLabonte/sugars/docking Carbohydrates: Moving dock_glycans.cc to public This work is published, so it should be in public. dock_glycans integration test changes expected. commit b4d3498af0a5de94a4f89f6c7e76c459a27ddf0f Merge: 163bc35 649165f Date: Mon Aug 7 17:53:06 2017 -0700 Merge pull request #2448 from RosettaCommons/everyday847/comment_faplane comment out unimplemented fa_plane commit 163bc3503e9063a0177efb2d78e9792f4a726daa Merge: c23f40e 0a9d98a Date: Mon Aug 7 11:48:51 2017 -0400 Merge pull request #2412 from RosettaCommons/JWLabonte/sugars/database Carbohydrates: H-Placement and Other Topology File Corrections This merge will correct problems with H-placement that occur when a sugar is not in an ideal chair when loaded in and other blatant topology file errors that have slipped through the cracks. All sugar `.params` files have been edited/standardized for H-placement, with the following exceptions: - `to3-alpha-Neup.params` and `to3-beta-Neup.params` — These are chemically impossible sugars and should _not_ be in the database to begin with; however, I am leaving their removal to a future pull request. - `to8-alpha-Neup.params` and `to4-alpha-Daup.params` — I discovered a `pose_from_saccharide_sequence()` error in loading these two sugars, yet they work fine when loaded from a `.pdb`. The latter is definitely not commonly used; it is only there for a proof-of-concept integration test set up by @everyday847. The former is very common. Please let me know if anyone finds H-placement issues still in the Neup files. This branch causes integration changes in every sugar test, because I have tweaked all coordinates. I've manually looked at every single one of the ideal structures to make sure that they are correct. commit c23f40e1a41da081b70f6cc244655b9066ced7ab Merge: d3f9e02 4bbc325 Date: Sun Aug 6 18:25:58 2017 -0600 Merge pull request #2437 from RosettaCommons/jcminerlanl/git-workflow-demo Trivial pull request for teaching purposes. A trivial change was made to a comment line in order to demonstrate the process of a pull request. -[] Documentation. -[] Beautification. commit d3f9e02ac10cf545701265a4568a590370a08513 Merge: 5441c86 377c447 Date: Sun Aug 6 15:43:18 2017 -0700 Merge pull request #2287 from RosettaCommons/guffysl/metals_bugfix Guffysl/metals bugfix commit 5441c8635ed5f646eab1c0709247fc1e5e195bee Date: Sun Aug 6 02:23:38 2017 -0500 Fixed broken integration tests caused by PR #2418 Reverted a new flag (for hydrate protocol) to prevent breaking integration tests due to pull request #2418. The option needs to be revisited later for the hydrate protocol, but for now it will at least stop breaking things by default. commit 1be050913ebdd603c9cf81827f5b0d944a85d23b Merge: e2b863a ab6befb Date: Sun Aug 6 04:51:24 2017 +0200 Merge pull request #2406 from RosettaCommons/ch.norn@gmail.com/alignmentCleaner AlignmentCleaner filters -- useful for removing epistasis from MSAs. Typically, to learn the amino acid background frequencies for a protein one would assume that all the sequences in a MSA are samples from some average amino acid frequency profile. However, knowing a structure of your target sequence, this is assumption is unnecessary. Instead you could make sure, that each amino acid in the MSA is a sample from the same chemical environment as your target sequence. This is useful for optimizing the force field and possibly also for design. commit e2b863a57cb1cefadb7958b70b4acae16036848a Merge: 346d508 6bb655d Date: Sat Aug 5 12:02:18 2017 -0500 Merge pull request #2418 from RosettaCommons/jklai/hydrate Hydrate/SPaDES protocol with hybrid implicit-explicit solvation commit 346d5086ec59c6005a894b08de8adce4f2953670 Merge: b3cdcb3 909ce1a Date: Fri Aug 4 18:38:59 2017 -0700 Merge pull request #2401 from RosettaCommons/anumazam/CoupledMover RS- and water molecule-compatibility for Coupled Moves commit b3cdcb3694e6cedcf7b4107cb2e0d3308f672799 Merge: 0ca71ee 06ad8e2 Date: Fri Aug 4 17:00:14 2017 -0700 Merge pull request #2420 from RosettaCommons/vmullig/threadsafe_tracers Grab-bag of thread safety fixes See issue #2419 -- this started as an attempt to fix the tracer thread-safety issue. Note that this pull request was branched off of pull request #2416, and must be merged after that one. Also: - [x] Ensuring that all tracers are `THREAD_LOCAL`. - [x] The CarbohydrateInfoManager is not threadsafe -- it lazily loads data in a non-threadsafe manner. This pull request will fix that. - [x] The same is true for the initialization of some global data related to VariantType names, also fixed here. - [x] Some instances of `std::recursive_mutex` have been switched to `std::mutex`. From what I've read, `std::recursive_mutex` should be avoided, because it encourages sloppiness. (A developer can get away with not knowing the scope over which a mutex is locked, which, at best, can lead to inefficient code with objects locked for way too long, and, at worst, can lead to very difficult-to-diagnose bugs. Misusing a `std::mutex` by trying to lock it repeatedly, on the other hand, leads to unambiguous deadlock, which is easier to diagnose.) - [x] Making the `been_accessed_` `bool` in `utility::options::Option` into a `std::atomic_bool` in compilations with `MULTI_THREADED` defined. (Issue identified by Helgrind). TODO: - [x] Run unit tests for cxx11thread build. - [x] Check integration tests for cxx11thread build. - [x] Check scoring tests for cxx11thread build. - FACTS test fails, as expected. (The FACTS global data cache pose-specific information, and are not threadsafe). All other tests pass. - [x] Beauty commit 0ca71ee2353e6d9a6b2660fca01bf72de8cecb79 Merge: d79e453 2124430 Date: Fri Aug 4 17:40:14 2017 -0500 Merge pull request #2427 from RosettaCommons/roccomoretti/clangSA_fix Some fixes for Clang Static Analysis commit d79e45365216041f29e3bc376659745cf181fd14 Merge: 0dc9398 37eb363 Date: Fri Aug 4 13:53:41 2017 -0700 Merge pull request #2416 from RosettaCommons/vmullig/threadsafe_scoringmanager Caught a problem in the FoldTree class that was impeding thread-safety The FoldTree class creates some global data (grr). When multiple threads were working with different instances of FoldTrees, these global data were getting messed up. Adding `thread_local` resolves this -- though I think it might be better not to make these data global at all. As far as I can tell, there's no reason to be using the `static` keyword here, except to avoid a tiny bit of deallocating and allocating (which this probably doesn't avoid all that well, when working with multiple FoldTrees simultaneously). It would be better to make this a private member variable of the FoldTree class (one per instance). DONE: - [x] Fix general integration test failures. - [x] Check unit tests in cxx11thread/serialization build. - [x] Check integration tests in cxx11thread/serialization build. - [x] Check scoring tests in cxx11thread/serialization build. - FACTS test fails, as expected. (The FACTS global data cache pose-specific information, and are not threadsafe). All other tests pass. - [x] Beauty. commit 0dc939816ea922afbe3a7ca2b21718cc50f6f3f4 Merge: c09499a 6616b49 Date: Fri Aug 4 13:29:15 2017 -0700 Merge pull request #2432 from RosettaCommons/ckrivacic/WriteFilterToPose Ckrivacic/write filter to pose commit c09499a04b43c5220d096dedb11db385823c13ce Merge: 0e36164 1ae973b Date: Fri Aug 4 09:09:06 2017 -0400 Merge pull request #2408 from RosettaCommons/guffysl/set_up_metals_manually Adds additional tools for handling metals and metal-containing ligands in Rosetta. MetalContactsConstraintGenerator adds distance, angle, and dihedral constraints between (optionally specified) contacts and a user-specified metal atom, either as a single ion or as part of a ligand. LigandMetalContactSelector identifies and selects residues that form contacts with selected metal-containing residues. commit 0e36164e92c4dbad6fa281097dc6f980e386d3a1 Merge: 405bc27 f92a14f Date: Fri Aug 4 04:33:34 2017 -0700 Merge pull request #2428 from RosettaCommons/vmullig/ui/bundle_gui Adding support for presets to bundle_gui in anticipation of PreRosettaCon demo This pull request adds: - antiparallel beta-barrel preset - three-helix bundle preset - support for non-canonical helices (e.g. beta-amino acid 14-helices) commit 405bc277e9bb0e9bebe47ca2b38e788fa257e08a Merge: a31a58e 0e35c19 Date: Thu Aug 3 11:45:56 2017 -0400 Merge pull request #2417 from RosettaCommons/everyday847/grab_bag Four grab-bag changes that I needed to get into master. This is a request from Andy via phone. commit a31a58ef8699c8f5a3ebff71c7bb134d15b49efc Merge: c01f1b0 aeb32f6 Date: Wed Aug 2 13:47:26 2017 -0500 Merge pull request #2414 from RosettaCommons/SamuelSchmitz/ResidueProbDesignOperationXML SamuelSchmitz/ResidueProbDesignOperation XML commit c01f1b03f4d7b7ab01b06415dc64dfa179206ea4 Merge: 568a9b4 ae12a0e Date: Mon Jul 31 17:14:53 2017 -0700 Merge pull request #2372 from RosettaCommons/vmullig/threadsafe_scoringmanager Make the lazily-loaded data in the ScoringManager threadsafe This pull request aims to add mutexes to all of the lazily-loaded data in the ScoringManager, allowing the relevant objects to be locked temporarily by one thread as it loads the data for the first time (preventing concurrent reads and writes to these objects, or multiple threads all trying to write to these objects). Tasks: - [x] Implement proper double-checked locking scheme (using `std::atomic_thread_fence()` -- see http://preshing.com/20130930/double-checked-locking-is-fixed-in-cpp11/) for each relevant ScoringManager function that loads data. - [x] Encase relevant stuff in `#ifdef` statements so that it only affects multi-threaded compilations of Rosetta. - [x] Think about organizing code to minimize the number of scattered `#ifdef` statements. Maybe this is an appropriate place to violate the community rule against macros? --> Yes, added some suitable macros. - [x] Check whether any of the objects stored in ScoringManager has mutable data likely to be altered when multiple threads are doing supposedly const access. - [x] Implement for all scoring functions in the ScoringManager. - [x] Add function that can do a threadsafe check of whether a key is in a map of (string->OP), and, if it is not, can add an object with the given key to the map. - [x] Implement for all maps in the ScoringManager. - [x] Implement for other functions in the ScoringManager. - [x] Test that scoring is unchanged in cxx11thread/serialization build. - [x] Check integration tests in cxx11thread/serialization build. - Confirmed: all changes are due either to expected failures of fundamentally non-threadsafe scoring objects which now throw if you try to use them in a multi-threaded context, or are extra output due to loading of all extra rama CDFs in a multi-threaded context. - [x] Beauty. commit 568a9b4caee43be7b358a14e5459c79b8109a176 Merge: 96a803d 6193335 Date: Fri Jul 28 20:00:57 2017 -0600 Merge pull request #2410 from RosettaCommons/sergey/binder Explicitly adding ‘basic’ dir into PyRosetta bindings list, this should fix problem with PyRosetta option access functions. Adding unit test for option functions. commit 96a803de2f3938c903cc606690e8117a13952da8 Merge: 7ded33d 2d218bf Date: Thu Jul 27 13:35:44 2017 -0600 Merge pull request #2409 from RosettaCommons/benchmark Adding extra constraint to Condor HPC driver so profile/performance jobs will only be routed to particular nodes. This should solve instability issues that we observed lately. commit 7ded33d7a98b5991f325d3bc999a3af9ea7975fe Merge: 176a394 2fc2873 Date: Thu Jul 27 13:02:58 2017 -0500 Merge pull request #2399 from RosettaCommons/jadolfbr/nbr_selector_unit_tests Add additional NBRhoodResSelector unit test for code-level and multi-distance access. commit 176a394b289bd25362daab4af6472f1134e5a703 Date: Wed Jul 26 16:02:51 2017 -0700 changed default fragment value in ES xml to what it should be commit a5912fb039f0038344957d47af72660368b4058d Date: Tue Jul 25 17:59:43 2017 -0700 Update reorder_chains.py Now with support for gzipped files (input and output). Just give the script filename ending with .pdb.gz and it (the script) will do the rest. commit 04272c07f7da95473961bfd22b81a00bfa3364e4 Date: Tue Jul 25 15:24:45 2017 -0700 Create reorder_chains.py Ever need to reorder the chains in a PDB file? Use this here script for that. Example usage: You ran RosettaAntibody (and got some awesome models), but they are heavy chain then light chain. Now you want to run SnugDock, and that requires the light chain to come first. Do this: `python reorder_chains.py -i mdl_0001.pdb -o mdl_0001.reordered.pdb -c L H` commit 116f0fc2ac2b3cf22a702a9c3dfcb69c16facce8 Merge: ebee9f5 8a415c1 Date: Tue Jul 25 00:20:14 2017 -0700 Merge pull request #2407 from RosettaCommons/vmullig/cycpep_integration_tests Add integration tests for the small cyclic peptide design pipeline that we want to publish, so that the pipeline continues to be usable in the future.