commit 9a323bc72ca18d3abdc8b1a730b37e52197e4ceb Merge: 88d8e77 34a0136 Date: Mon Jul 29 16:16:04 2019 -0500 Merge pull request #4072 from RosettaCommons/roccomoretti/component_loading_both Fix CCD component loading such that it is more complete. We're now providing the CCD for reading of arbitrary wwPDB recognized ligands, but we're doing it incompletely. Right now we have an odd system where we'll load a CCD version, but only if there isn't a Rosetta residue type which has the same three letter code. This is a bit silly, as there's a large number of Rosetta residue types with three letter codes which are not equivalent to the wwPDB residue with that three letter code, and these will obscure the CCD version. We already have a mechanism for removing CCD types that are equivalent to Rosetta types. This is the exclude_pdb_component_list.txt in the Rosetta database. (And associated facilities for -extra_res_fa etc.) If a three letter code is listed there, we don't load the CCD version. If the CCD version isn't excluded, and has the same three letter code as the (chemically non-equivalent) Rosetta version, we can load both and then let the atom name heuristic (or other such facility) pick the best residue type match. (The CCD types should come after the Rosetta types, so all else being equal, Rosetta should prefer the database version.) If, for some reason, this behavior doesn't work for you, you can always add -check_all_PDB_components false (now defaults true) to the command line, or call rtf.set_no_CCD_on_name3_match(true) in-code for your ResidueTypeFinder, and this should re-enable the old behavior. With this, I've dug through the centroid and fa_standard residue type sets, and updated their exclude_pdb_component_list.txt to be more complete. commit 88d8e7796e235c9430954104df141c1945bfe1a6 Merge: 366c7b5 22418f0 Date: Mon Jul 29 13:10:05 2019 -0500 Merge pull request #2978 from RosettaCommons/roccomoretti/crash_report (Client-side code for) Crash Reporter System for Rosetta This PR merges a bunch of code which improves Rosetta's crash/error reporting handling. Some highlights * Backtrace printing is moved from stdout to another file (ROSETTA_CRASH.log). * This makes the tracer-outputted error message cleaner to see (not hidden behind backtrace gobbledygook), and sets us up to potentially collect the crash log information later. * This can be turned off by the NOCRASHREPORT compiler define, which is enabled in PyRosetta and BOINC builds. * Normal runs install a signal handler which should give better diagnostics in cases of segfaults and the like. * the `-run:nosignal` command line option (or the NOCRASHREPORT define) should turn this off, in case your debugger gives you issues with it. * New `user_fixable_issue_exit()` and `user_fixable_issue_assert()` macros (parallel to the `utility_exit_with_message()` macro) are provided which will cause an exit without printing the backtrace/creating the crash log. * Intended only for cases where you *know* that the user made a mistake, and can provide an error message which tells them exactly how to fix it. -- Not for cases where you get a residue number zero condition six levels deep and only infer that the user *probably* made a mistake "somewhere" in their setup. * There are some changes to the exception hierarchy to support this. Future directions are to build a system which can collect this info and summarize it (hopefully pointing out where common causes of errors in Rosetta are) and to clean up/improve our error handling and error messages so they're less obtuse. commit 366c7b57a88a4715f06b6a274b69c551160c8c4d Merge: dde5b97 9411a1c Date: Mon Jul 29 12:49:37 2019 -0500 Merge pull request #4116 from RosettaCommons/roccomoretti/fix_valgrind Fix Valgrind integration tests A few minor changes to integration.valgrind to fix the current failures. commit dde5b97aa838aea223c5a92539db483071823f8f Merge: 737e716 669f991 Date: Sat Jul 27 08:39:53 2019 -0400 Merge pull request #4115 from RosettaCommons/mlnance/carbohydrates/silent_set_omega_bug_fix Pose::set_omega fix for terminal carbohydrates commit 737e7167a699be3f133f9a25172fc7aa20226820 Merge: 9e05e6c ff6df20 Date: Fri Jul 26 19:30:29 2019 -0400 Merge pull request #4113 from RosettaCommons/vmullig/fix_error_msg Fix an error message. A weird, cryptic, empty error message is troubling some users. Trying to fix. commit 9e05e6c385e7a88aa9602b9e40f1d51ebead751f Merge: be5ff27 24af41b Date: Fri Jul 26 09:23:09 2019 -0500 Merge pull request #4111 from RosettaCommons/roccomoretti/fix_features_parallel Fix features_parallel integration test The features_parallel integration test wasn't using the -testing:INTEGRATION_TEST flag, so we were getting random number seed tracer changes. commit be5ff273060bf18a7af51aacb94a468a233cef14 Merge: 6be119e e3b46e9 Date: Thu Jul 25 10:24:18 2019 -0500 Merge pull request #4097 from RosettaCommons/roccomoretti/fix_python2_mac Fix integration test on Mac w/r/t Python2 Recent changes to integration.py assumed python2 could be found. This doesn't hold on the test server Macs. Change things to fall back to plain python if python2 can't be found (assuming that plain python will be python2). commit 6be119e2f9d5f5c35045168c0b19887643a8329e Merge: 56715f0 635dbbd Date: Wed Jul 24 21:33:12 2019 -0400 Merge pull request #3946 from RosettaCommons/vmullig/rosetta_thread_manager Implement a Rosetta thread manager In Rosetta, we have many different levels at which we might want to launch threads. For example, a job distributor could try to carry out jobs in parallel threads. A mover might parallelize its own work. Low-level functions, like interaction graph setup for the packer, gradient vector calculation for the minimizer, or scorefunction evaluation could also be parallelized over threads. So what happens when modules at many different levels all try to spawn threads? You could end up with a nasty thread explosion. Imagine, for example, that my job distributor launches 16 threads, each of which calls a mover that launches 16 threads, each of which calls another mover that launches 16 threads, each of which calls the packer, which launches 16 threads. You'd end up with 65,536 threads all contending for hardware resources. Another consideration is that the master/slave relationship that tends to work well for MPI communication isn't ideally suited to threads, where you might just have 4 or 8 cores available, all of which should be _doing_ work rather than _managing_ work. So we want something that ensures that many different layers of Rosetta can ask for threads, without stepping on one another's toes, _and_ we want that thing not to hog resources to monitor everything. In addition, thread-based parallelism, unlike process-based parallelism, works best with small, finely-grained parallel tasks that are all accessing similar regions of memory, which means that a certain amount of synchronization makes sense. Asynchronous job-level parallelism might make more sense with MPI calls than with threads -- I'm not sure. I want us to be able to experiment with parallelism on many different levels, but right now, we risk stepping on one another's toes if I'm parallelizing the packer and someone else is parallelizing a mover and someone else is writing a parallel job distributor. I'm proposing the `RosettaThreadManager` as a solution to this. Given N total threads that the user wants to run at any given time (assuming he or she has N cores on his or her system), the global `RosettaThreadManager` spins up and maintains a pool of N-1 threads. When a module wants to do something in parallel (either from the master thread or from a child thread), it bundles the function that it wants to run in threads with its arguments using `boost::bind`, then passes that function to the `RosettaThreadManager` with a request for M threads. The `RosettaThreadManager` launches that process _synchronously_ on available idle threads, including the calling thread, with a firm guarantee that 1 <= number of threads assigned to the function <= min(total threads, number requested). The function is responsible for carrying out its work, with its parallel siblings, in a threadsafe manner. At the end, the requesting thread blocks until all sibling functions terminate, the threads are released to idle status, and other work can run on them. Based on community feedback, I have also added a basic API that accepts a vector of work to be done. The advanced API, which allows an arbitrary thread function to run concurrently, is now access-gated with a key class that has a private constructor, so that only whitelisted friend classes can use the advanced API. This forces developers _either_ to use the basic API, _or_ to justify to the community why their class should be allowed access to the advanced API. ![ThreadManagerDiagram12](https://user-images.githubusercontent.com/4205776/61827368-5b9b1a00-ae32-11e9-89a8-40f63dca17cd.png) ![ThreadExample1](https://user-images.githubusercontent.com/4205776/61838897-6c12bb00-ae59-11e9-9afc-6b004481d892.png) This PR implements the basic infrastructure for this, as well as an application that shows the effects of launching threads at three different levels. In the app, a master thread runs a level 1 function in N threads, and each level 1 function runs M level 2 functions, and each level 2 function runs P level 3 functions. The level 3 functions all work together to calculate a times table (though I could just as easily have only those level 3 functions that were launched by a single level 2 function coorperate on a piece of data). When all levels return, the master thread checks that the times table was calculated correctly, in parallel. TODO: - [x] Write `RosettaThreadAssignmentInfo` class. - [x] Finish `RosettaThreadManager` class. - ~~Wait for, and spin down, all running threads on `RosettaThreadPool` destruction. (Probably not necessary given the model of ensuring that functions are run in both the calling thread and assigned threads, and the calling thread waits for assigned threads to finish before returning, but could prevent fragility in the future if the model changes.)~~ --> I realized that this might cause the app to hang when an exception is thrown, instead of exiting properly... --> Never mind. I did get this to work sensibly. - [x] Means of getting a thread's thread ID. - [x] Test app. - [x] Talk to Sergey about cxx11thread-mode integration tests. - [x] Pull request #3957 adds support for cxx11thread-mode integration tests. That pull request must be merged before this one. (This one has that one merged into it.) - [x] Make this into a unit/integration test. - [x] Add information to the `RosettaThreadAssignmentInfo` class about the level from which a multithreading request comes, in case we want to make decisions about thread assignments based on that in the future. - [x] Enums for app-level, job distributor-level, mover-level, filter-level, taskop-level, resselector-level, simplemetric-level, core compenent level. - [x] Beauty. - [ ] Add developer docs. - [ ] Document what `{?}` means. - [x] Switch from `boost::bind` and `boost::function` to `std::bind` and `std::function`. - [x] Switch to `condition_variable` instead of using a wait in a loop. Additional changes: - [x] Switch enum to enum class (see Sergey's comments). - [x] Switch to crash with nonzero exit code on thread termination failure. For a future pull request: - Parallelize the interaction graph set-up. - Parallelize `GeneralizedKIC`. - Switch the `MultithreadedJobDistributor` to use this infrastructure. - Integration test for the above three things. commit 56715f0437a6804769ce9f45d3d87b17b28a2ab6 Merge: 10c3acf f9385cf Date: Tue Jul 23 14:49:10 2019 -0500 Merge pull request #4108 from RosettaCommons/jadolfbr/sm_schema Fixes the Schema for PerResidue metrics, where it was incorrectly labeled as a string. The metrics are integration tested, so this will fix the auto-generated docs. We also explicitly say what the default is now. commit 10c3acfb083255e4fa28c24c5b81058517715076 Merge: 22f2e83 604e351 Date: Mon Jul 22 10:38:41 2019 -0700 Merge pull request #4099 from RosettaCommons/hahnbeom/cart_bonded_histidine_bug adding missing cart_bonded params for his_d proton commit 22f2e8344f32fa27984d66f5fd129b473599b34d Merge: 0da57b4 5da8cef Date: Sun Jul 21 13:09:41 2019 -0600 Merge pull request #4098 from RosettaCommons/sergey/f back porting run.py fixes from jadolfbr/mmTF branch commit 0da57b43256586e78d19865fc7cdcf9ccfb99d66 Merge: 966c9eb 313e3fd Date: Sun Jul 21 15:08:17 2019 -0400 Merge pull request #4104 from RosettaCommons/vmullig/rename_scorefunction_tracer Renaming ScoreFunction tracer to actually reflect the class name and not just the namespace. This will unfortunately change a bunch of integration tests. It brings the tracer in line with Rosetta conventions, though. commit 966c9eb6b3ab993de7aa3af5988125b7c2e464af Merge: db2243c 0844c72 Date: Thu Jul 18 11:43:25 2019 -0600 Merge pull request #4090 from RosettaCommons/sergey/f2 fixing integration.valgrind script so it does not fail when subtest result contain invalid unicode sequence commit db2243c9f62e650b8eaea8372c9bdbe383ff8095 Merge: 312dbca 37ebb25 Date: Tue Jul 16 17:55:01 2019 -0700 Merge pull request #4088 from RosettaCommons/danpf/conv_s_res add convolute single residue to denovo_density commit 312dbca89f726cffb36526bdaa9cd860b5a69438 Merge: b6a50d2 0720573 Date: Tue Jul 16 11:45:11 2019 -0600 Merge pull request #4086 from RosettaCommons/sergey/scientific fixing `mhc_epitope_energy.debug` so it does not report sub-tests failures when test is passed commit b6a50d244dd573c17cf397b3fdfd40505d22728f Merge: 1b812bd a22919d Date: Mon Jul 15 10:09:13 2019 -0600 Merge pull request #4084 from RosettaCommons/sergey/f2 increasing timeout for integration tests `demos` and `tutorials` modes commit 1b812bd7e8786c302dee00e2dd3941641f14807b Merge: 2cbc281 ebaeb27 Date: Wed Jul 10 12:03:00 2019 -0600 Merge pull request #4079 from RosettaCommons/sergey/binder fixing PyRosetta setup.py in Python-2 commit 2cbc28128bc1246fc2e8a27596807c157138d094 Merge: 8a9bd13 d692c9d Date: Wed Jul 10 11:02:47 2019 -0500 Merge pull request #4073 from RosettaCommons/roccomoretti/PDB_loading_adjustments A few fixes related to PDB diagnostic test There were a few aramid-patching issues when loading PDB with the CCD. Also change how the C-term heuristic for polymeric CCD component loading works. There's nowhere close to a consensus on how the OXT hydrogen is named in different residues. We should just avoid special casing them altogether. Also make it such that a patching failure doesn't necessary bring down the whole run. (Though we should still get a "failure" in PDB_diagnostic test if we hit an issue.) commit 8a9bd13d7fa1a9c10578dc736e4a4c0140a9748f Merge: 60edc00 ee30465 Date: Mon Jul 8 11:32:01 2019 -0500 Merge pull request #4064 from RosettaCommons/roccomoretti/ligand_converter A simple restype conversion utility. One missing feature that comes up occasionally for me is the lack of a simple way of taking an arbitrary params file (or similar) and converting it into a viewable output. This PR adds a simple utility application which allows you to specify certain residue types from the database (including patched types), CCD or command line, and output them in PDB, sdf or params file output. Note that currently there's no guarantee that any of the output formats are able to be round-tripped through Rosetta, or that they're usable for all but the most rudimentary purposes. But it should be enough to get a PyMol-loadable pdb or a params file skeleton of a given ResidueType. commit 60edc00bd9657860fbc92ef22db8b961ea13ad34 Merge: e458ba6 aec56a7 Date: Mon Jul 8 10:54:20 2019 -0500 Merge pull request #3822 from RosettaCommons/shannontsmith/ligand_docking_benchmark Shannontsmith/ligand docking benchmark commit e458ba66099f5371b8473e22f31c8cec51c5eff8 Merge: 37d6016 1f54f0c Date: Mon Jul 8 10:42:42 2019 -0500 Merge pull request #4038 from RosettaCommons/shannontsmith/ligand_scoring_ranking_benchmark Shannontsmith/ligand scoring ranking benchmark commit 37d6016d5b57c3e63344a3da4ad3c6ee05a8c89c Merge: 03208cb d88019f Date: Fri Jul 5 10:01:35 2019 -0400 Merge pull request #4065 from RosettaCommons/mlnance/add_utility_exit_to_ConstraintIO Warn user in ConstraintIO when a residue specified by a constraint file does not exist in the Pose commit 03208cbfaffeda72a7f039c302e798cafe1e3102 Merge: aa57530 a94a09a Date: Thu Jul 4 11:00:19 2019 -0400 Merge pull request #4068 from RosettaCommons/JWLabonte/quick_fix Bug Fix: ligand_motif_design integration test This merge will hopefully correct the `ligand_motif_design` integration test, which I accidentally broke when adding ATP to the database. (:rat: is sorry.) The test formerly used its own ATP `.params` file, and Rosetta will not allow there to be two ATPs in a `ResidueTypeSet`. I am simply making the test use the database version, which also involves renaming the atoms in the input `.pdb` file to their correct PDB names. All tests pass, but there are naturally differences in the `ligand_motif_design` test. commit aa57530a9ef7ebb701869c0caf492ae2ffaf2e7c Merge: 53826c7 a8ddc8a Date: Mon Jul 1 21:08:05 2019 -0600 Merge pull request #4062 from RosettaCommons/benchmark Benchmark scripts update - updating scientific/command.py so it delete Python virtual environment even if test terminate abnormally - updating PyRosetta unit test Benchmark script and impose timeout limit for duration of unit tests commit 53826c7a7fa55ebd951342dfc7b17fe8879fa36e Merge: 513d542 d7a95bf Date: Mon Jul 1 18:14:44 2019 -0400 Merge pull request #4050 from RosettaCommons/rfalford12/membrane-sci-benchmark3 Membrane energy function scientific benchmarks part #2: decoy discrimination -------------- This pull request will add the decoy discrimination scientific benchmark tests for membrane energy functions. This test is part of a suite of four tests that can be used to compare implicit membrane models, and have been most recently used to demonstrate sizeable scientific improvements by franklin2019. commit 513d542d792d736d483daff86bfd313216c849c0 Merge: a6c9b77 09184d8 Date: Mon Jul 1 14:38:22 2019 -0400 Merge pull request #3961 from RosettaCommons/everyday847/work_on_secstruct_finder_and_protein_erraser Mostly ERRASER2 updates commit a6c9b779bbe022f97e50512598acee8fcb4b0dfa Merge: eb89b5c c47eb3f Date: Fri Jun 28 17:27:10 2019 -0400 Merge pull request #4056 from RosettaCommons/ipi/conda_build_fixes Pin conda version 4.6.* in anvil environment. commit eb89b5cd0a63bf74101ee3cac4ef69aac1c3c7cc Merge: 86760c4 4a74173 Date: Fri Jun 28 15:40:31 2019 -0400 Merge pull request #3930 from RosettaCommons/smlewis/green-pdb-diag This replaces the pass/fail system for the PDB diagnostic scientific test with a 5% failure threshhold instead of the granular "everything that passed before must continue passing". The previous version is "better" but also eternally red because something always goes wrong, and then we are trained to just ignore it. All the old reporting tools remain in place for fine grained diagnostics and finding bugs to fix: the test will now only turn red if something goes wrong in a big way (thousands of PDBs start failing). The threshold is at 5% failure. commit 86760c4be00cfe6b41d6e9cc85299022e6463328 Merge: 99dddf7 82d6e2d Date: Fri Jun 28 13:01:04 2019 -0600 Merge pull request #4053 from RosettaCommons/sergey/scientific Updating scientific tests API. Thank you for review @JackMaguire ! commit 99dddf75711453bafcd28db74a484fe5eb447c45 Merge: 787d7ad ae1668b Date: Fri Jun 28 12:57:34 2019 -0600 Merge pull request #4046 from RosettaCommons/revert-4044-revert-4004-vmullig/threadsafe_options_system Re-merge "Make the options system threadsafe" commit 787d7add9e0d1aeb303edbbe40c9e22148fd33ef Merge: 438a157 6a77f43 Date: Fri Jun 28 11:33:59 2019 -0600 Merge pull request #4057 from RosettaCommons/sergey/f3 moving MMTF submodule to use SSH protocol instead of HTTPS commit 438a1578548bf7147a62b1cec6ebb99e2e23356d Merge: 1591888 a8bc6b9 Date: Fri Jun 28 08:54:59 2019 -0500 Merge pull request #3956 from RosettaCommons/roccomoretti/fix_clang_analysis Comment out unneeded code in GALigandDock LigandAligner. Clang static analysis was flagging these variables as being unused. From a brief examination of the code, it looks like there's a bunch of (currently) unnecessary calculation. It may have been used earlier for z-score calculation, but it isn't doing anything currently, so comment it out. commit 1591888227b275f4e16ac47ac5983e99c0757b5a Merge: 7a9b444 75ae24b Date: Thu Jun 27 17:04:21 2019 -0400 Merge pull request #4047 from RosettaCommons/rfalford12/membrane-efxn-sci-benchmark2 Membrane energy function scientific benchmarks part #1: Energy landscape and sequence recovery ----- This pull request will add two scientific benchmark tests for membrane energy functions. They can be used to compare implicit membrane models, and have been most recently used to demonstrate sizeable scientific improvements by franklin2019. * **mp_f19_efxn_landscape** Test the water-to-bilayer partitioning energy behavior of the energy function * **mp_f19_sequence_recovery**: Sequence recovery benchmark commit 7a9b44499db9e916f899ba5392cf441348f3bc37 Merge: 12df2f6 82b478c Date: Thu Jun 27 16:23:44 2019 -0400 Merge pull request #4055 from RosettaCommons/everyday847/attic_test Attic multistage_rs_replacement commit 12df2f6ab75dd9806978813728c10b31b0224293 Merge: 7f2eacb 850b139 Date: Wed Jun 26 10:04:30 2019 -0500 Merge pull request #4035 from RosettaCommons/jadolfbr/user5 Fix misuse of .user() from b.5 to f.5 (part 5) commit 7f2eacb6511ec92a0b5695f570510fcac96baf56 Merge: f8d3fdc 3dd0b5e Date: Wed Jun 26 10:02:41 2019 -0500 Merge pull request #4042 from RosettaCommons/jadolfbr/user6 Fix misuse of .user() from protocols f.5 to protocols.7 (Part6 - Last) commit f8d3fdc44aef009321c653e424a19c8d4dc47507 Merge: 27feef9 3aa2d7f Date: Wed Jun 26 10:01:00 2019 -0500 Merge pull request #4034 from RosettaCommons/jadolfbr/user4 Fix .user() misuse up through cluster.cc protocols.4 to protocols b.5 (Part 4) commit 27feef9d29c2ac42db8432017aac2e41a5484ce4 Merge: 1e38cbd e950c15 Date: Wed Jun 26 10:39:24 2019 -0400 Merge pull request #3937 from RosettaCommons/BYachnin/iedb_database_files This PR adds a "default" de-immunization database to the Rosetta database which allows users to penalize sequences that are IEDB, experimentally-validated epitopes. We are including a copy of the database, and also a script that will refresh it, and an "info" file to provide date and user information from when the database was last updated by an individual user. There are also unit tests that check the database "integrity" for when users refresh it and commit the update. We use this command string: mhc_data_db.py --allele_set hlaII --assay_mhc_ligand_binding all --assay_mhc_ligand_elution all --cores all --db iedb_data.db --overwrite This PR also includes some minor improvements to the MHCEpitope classes, including looking harder for database files and providing appropriate warnings for large file sizes. Documentation of permission to include Propred and IEDB resources with Rosetta are also included. All tests pass, except recurring script failures in integration tests. Thanks to @lyskov for the review! commit 1e38cbd08f6fc41fc61016172862f9aeb56b4df4 Merge: dee179c 84699cb Date: Wed Jun 26 09:53:37 2019 -0400 Merge pull request #4048 from RosettaCommons/mlnance/carbohydrates/default_bb_true_movemap_RingPlaneFlipMover Make RingPlaneFlipMover's default MoveMap allow bb movement commit dee179c92af5eb5a84e16722a7d5fb421e4503db Merge: 98bf209 629ef97 Date: Wed Jun 26 08:38:37 2019 -0500 Merge pull request #4036 from RosettaCommons/roccomoretti/integration_python3 Switch the test server to run integration.py with Python3. Use Python3 on the test server (the same one running the benchmark.py script), such that Sergey only has to manage dependencies for one(ish) Python version. While at this point we should be able to run integration.py with either Python2 or Python3, not all of the sub-scripts being run in the command files of the integration tests themselves can do so. To address this, add python2 and python3 substitution variables in the integration test scripts (to go along with the existing python one), for those tests which need a specific version. -- Please continue to use `%(python)s` if it the 2/3 choice doesn't matter - this will be whatever python with which the integration.py script was launched. The interpreter for python2 or python3 may be autodiscovered based on your path, and might not be the one you really want to use. This also updates the integration command files for those scripts which need to use Python2. commit 98bf209eda57a65099b83743e89bc0631d112bdc Merge: c4bdcb7 91f413d Date: Tue Jun 25 14:01:49 2019 -0400 Merge pull request #4037 from RosettaCommons/Blair980728-patch-1 PTMs: Adding 2 more enzymes to database commit c4bdcb74bf6cbfb96161ad74872a30bda2be177f Merge: f14ec9e a0605ac Date: Tue Jun 25 12:40:30 2019 -0400 Merge pull request #4051 from RosettaCommons/ipi/conda_build_fixes Ipi/conda build fixes commit f14ec9ee8d38e0b47bac95e56630c4008f4064d1 Merge: 83f66e0 72ca417 Date: Mon Jun 24 18:24:25 2019 -0400 Merge pull request #3919 from RosettaCommons/BYachnin/mhc_epitope_scientific_test mhc_epitope_energy Scientific Test commit 83f66e0183676b2ac40c43fb96a9ed94c21c0efa Merge: 05701c9 c1c750e Date: Mon Jun 24 15:24:01 2019 -0700 Merge pull request #4049 from RosettaCommons/danpf/require-msgpack add msgpack as required commit 05701c9134599a77e41be24a07a609955bba4dc9 Merge: ebc5a2a df220be Date: Mon Jun 24 16:28:10 2019 -0500 Merge pull request #4033 from RosettaCommons/jadolfbr/user3 Fix use of .user() up through protocols.3 (Part 3) commit ebc5a2abeb654f9d8527862df528b9c46bb12098 Merge: 37dbc80 579a4da Date: Mon Jun 24 11:26:06 2019 -0500 Merge pull request #4032 from RosettaCommons/jadolfbr/user2 Fix Options .user() through core. (Part 2) commit 37dbc80546c4a8aa4dde280f433c024731d2e0f5 Merge: bd9c81d 4080742 Date: Sun Jun 23 23:32:57 2019 -0600 Merge pull request #4043 from RosettaCommons/benchmark updating `build_pyrosetta` so it honor platform `cxx11thread` extra commit bd9c81dbb990ff411a43538932a88f11dc2ea736 Merge: fd7d18f e8aba21 Date: Sun Jun 23 21:14:14 2019 -0700 Merge pull request #4045 from RosettaCommons/vmullig/fix_extra_semi_colon Remove extra semi-colon to fix build tests that are currently failing in master. commit fd7d18f3d0a84882f365e05318eb4918c4ef3c49 Merge: 3c57e05 b7820e1 Date: Sun Jun 23 21:10:45 2019 -0700 Merge pull request #4044 from RosettaCommons/revert-4004-vmullig/threadsafe_options_system Revert "Make the options system threadsafe" Reverts #4004 @lyskov found that there were problems with the PyRosetta tests with this PR. I need to fix them and remerge. Please be aware that the options system is not threadsafe in the meantime. commit 3c57e057347e769d153215579adb45e1ce7e9565 Merge: 5516f28 c72de76 Date: Sun Jun 23 18:29:40 2019 -0600 Merge pull request #4041 from RosettaCommons/sergey/binder PyRosetta update. Fixing `show` function output so they could be used in Jupyter notebooks. commit 5516f286ce9678d8403c0480ef445f62bc477878 Merge: ef1f50e 1bed420 Date: Sat Jun 22 15:07:34 2019 -0700 Merge pull request #4027 from RosettaCommons/danpf/add_more_spline_fn Add convenience functions to splines commit ef1f50e17230f91ca5248f64a05d08d0178b698c Merge: 704c278 45fab62 Date: Fri Jun 21 15:49:28 2019 -0700 Merge pull request #3285 from RosettaCommons/danpf/mmtf mmtf IO v1 commit 704c27870924f08e04f913074616eac58b9fc1fc Merge: da4e67c b566300 Date: Fri Jun 21 14:10:18 2019 -0400 Merge pull request #4028 from RosettaCommons/JWLabonte/PTMs/DYRK1A PTMs: adding new enzyme commit da4e67c72aa91001f79dce1d560dd9beaca2392b Merge: 5844af0 8e49993 Date: Thu Jun 20 11:37:23 2019 -0500 Merge pull request #4006 from RosettaCommons/roccomoretti/tag_self_weak_fix Remove the string constructor from utility::tag::Tag It's a nice idea, but unfortunately when read() adds subtags, it uses the shared_from_this functionality. shared_from_this isn't valid in constructors (or for that matter, anytime the object isn't already in an OP). The way Tag is structured, you really do need to do a construct-then-read two-step. commit 5844af0d322d9a2ada6c40917cd5bd2faf9ed8db Merge: a301b68 54b23fc Date: Thu Jun 20 10:11:46 2019 -0500 Merge pull request #4030 from RosettaCommons/jadolfbr/user1 Fix use of .user() up through core.scoring (Part 1) commit a301b689d818fdd8649913fb2d43fa807277e3cd Merge: 0d6f53b 5b0ccce Date: Wed Jun 19 21:44:40 2019 -0600 Merge pull request #3957 from RosettaCommons/sergey/f3 updating integration test script, adding support for `thread` suffix commit 0d6f53be45084eb221191d1544bfebd5f2489a93 Merge: d161f40 0db47a3 Date: Mon Jun 17 16:03:09 2019 -0500 Merge pull request #4016 from RosettaCommons/jadolfbr/sc_to_public Make two pilot apps used in a paper public. (sc, and report_hbonds_for_plugin) commit d161f40d8876c325a62a723e03cb642dba3b6b5f Merge: d24aa6a 20e58f6 Date: Mon Jun 17 11:39:54 2019 -0600 Merge pull request #4021 from RosettaCommons/sergey/scientific Updating scientific tests API. Adding `build_and_install_pyrosetta`, updating `_template_` scientific test, cherrypicking HPC driver updates from other branches. commit d24aa6a89229a1587215f7d90b1d059bcf5e2775 Merge: 304c65a 62b4c52 Date: Sun Jun 16 09:23:37 2019 -0400 Merge pull request #4025 from RosettaCommons/JackMaguire/ClangCxx14 Correcting extras=cxx... flags for clang #3992 added options to compile with std=c++1y and later versions of c++. To do this, I needed to remove std=c++1x from those builds but failed to notice that clang uses std=c++11 instead. This PR simply corrects the flag being removed. Thanks for the review Sergey! commit 304c65a724312904fd14349699e29203d4668be0 Merge: 63ae7c5 8adb81b Date: Sat Jun 15 23:50:40 2019 -0400 Merge pull request #4007 from RosettaCommons/JWLabonte/PTMs/options EnzymaticMovers: Adding command-line option for controlling enzyme efficiency commit 63ae7c5db2541f5a3a34fc5032ac40a8d71872b6 Date: Sat Jun 15 15:47:27 2019 -0400 beautifying commit 74db7cf14b86813fcac746033f0846623b1ded25 Merge: 8d14993 ea8c106 Date: Sat Jun 15 15:43:47 2019 -0400 Merge pull request #4020 from RosettaCommons/vmullig/fix_settorsion_perturb Minor bugfix for perturbing arbitrary dihedrals with the SetTorsion mover. Adding missing conversion from radians to degrees. commit 8d149934e6cc1ece58dd19a0335bd404abb708d5 Merge: 2152ca6 5e78d52 Date: Sat Jun 15 15:40:57 2019 -0400 Merge pull request #4023 from RosettaCommons/vmullig/fix_cadmium Attempting to fix GasteigerAtomTyperTests. Apologies -- merged too quickly. commit 2152ca6078f5c1e4b5d22347037e09051bb269e0 Merge: b659789 133d5f3 Date: Sat Jun 15 11:40:30 2019 +0200 Merge pull request #4014 from RosettaCommons/jaumebonet/nubinitio_updates added ability to provide sse and alternative filter to NubInitioMover commit b65978978fe25d2d509b8fdf556c0c792277a9d7 Date: Sat Jun 15 02:01:25 2019 -0400 beautifying commit b2e1b5b8fca8b14deb37c841fe6b78924247f791 Merge: 30bbe50 bab22f9 Date: Fri Jun 14 23:22:48 2019 -0400 Merge pull request #4022 from RosettaCommons/vmullig/add_cadmium_to_database Adding cadmium to the database. commit 30bbe50d11714bc55df2093546d4d4092db799e2 Merge: e18c5bf 6b96b05 Date: Fri Jun 14 22:49:25 2019 -0400 Merge pull request #4018 from RosettaCommons/JWLabonte/PTMs/database Quick bug fix: removing CRLFs that snuck in This merge is a simple file-compatibility bug fix. It cannot possibly affect any tests. commit e18c5bffe6b30ded56a3d5ca7c156647735c00e7 Merge: d200e1a d15d397 Date: Fri Jun 14 18:01:26 2019 -0400 Merge pull request #4004 from RosettaCommons/vmullig/threadsafe_options_system Make the options system threadsafe The options system is a nasty hunk of nonconst global data that isn't threadsafe. Let's make it threadsafe. Tasks: - [x] Make `OptionCollection` class threadsafe. - [x] Including the global variables defined in `OptionCollection.cc`. - [x] Make `ScalarOption_T_` threadsafe. - [x] Make `VectorOption_T_` threadsafe. - [x] Make `Option` class threadsafe. - [x] Add a `utility::thread::PairedReadLockWriteLockGuard` class for simultaneously read-locking one mutex and write-locking another without deadlock (_e.g._ for copying values from one object to another). - [x] Make the mutex-locked versions of the functions in `VectorOption_T_` private. - [x] Beauty. Possible additional spots to make threadsafe in a future pull request: - Make `AnyOption` class threadsafe. - Make `AnyOptionVector` class threadsafe. - Make `utility::keys::AutoKey` class threadsafe. commit d200e1ae84c38bbf72c4bd20becffbc7a01e9d6c Merge: 1a510f9 14b9bfe Date: Fri Jun 14 09:04:15 2019 +0200 Merge pull request #4010 from RosettaCommons/everyday847/denovo_lariat Lariat modeling in RNA denovo commit 1a510f939027a05ba562c7400439c22d92c3bad9 Merge: 4758536 c4e1234 Date: Thu Jun 13 23:45:15 2019 +0200 Merge pull request #4009 from RosettaCommons/everyday847/cart_bonded_H2U Cart bonded params for H2U commit 47585365c0ca323b6b662515634fc323200302b5 Merge: 5080e17 99ed5d2 Date: Wed Jun 12 10:13:01 2019 -0400 Merge pull request #4008 from RosettaCommons/lqtza/fix_grafting_scientific_test Fix Antibody Grafting Scientific Test commit 5080e171091b7d1d2ce33f33a18cf20563a1bc45 Merge: 544046c 28f2167 Date: Tue Jun 11 10:30:51 2019 -0700 Merge pull request #4005 from RosettaCommons/dimaio/ligdock_density Allow density score to be used in GALigandDock. Fix a typo which led… commit 544046c910b4bb39ce6bd97585640ea5b37a412c Merge: 99a837b 37fa541 Date: Tue Jun 11 09:16:54 2019 -0400 Merge pull request #3399 from RosettaCommons/lqtza/enable_fkic_in_antibody_H3 Enable LoopModeler in AntibodyModelerProtocol and related code. commit 99a837b32c079a511938b22af7a8e616cccf39f8 Merge: cf17b4a f41891c Date: Mon Jun 10 16:28:02 2019 -0400 Merge pull request #3988 from RosettaCommons/JWLabonte/sugars/debugging Carbohydrates: Bug fig in recognizing `TorsionID` at chi3 of Asn commit cf17b4a4d7dd1ba8a112b78fc200867af044df9f Merge: 74304ee 8baf1ef Date: Mon Jun 10 16:27:47 2019 -0400 Merge pull request #4003 from RosettaCommons/jkleman/SciBen_fixes Jkleman/sci ben fixes Most tests pass: https://benchmark.graylab.jhu.edu/revision?branch=&id=12668 * except antibodies - Jeli is looking into it * mp_dock and mp_symdock - debug passes (https://benchmark.graylab.jhu.edu/revision?branch=&id=12684), release is still failing, requires Rebecca's expertise (asking her to fix those when merging her new ones in) * PDB diagnostic - in Steven's hands * docking wasn't run previously * ligand docking - is in Shannon's hands * stepwise RNA fixed for debug mode: https://benchmark.graylab.jhu.edu/revision?branch=&id=12686 commit 74304ee2d6205da4c3a5026ea04ab3872685d8fa Merge: 676de49 6461a4d Date: Mon Jun 10 13:04:01 2019 -0400 Merge pull request #3994 from RosettaCommons/JWLabonte/PTMs/parsing EnzymaticMovers: Expanding parsing of AA sequences This merge will expand the parsing capabilities of `EnzymaticMover`s by adding additional one-letter codes (B, J, O, U, Z) for amino acid residue pairs or NCAAs and allowing `X[]` to specify a specific `ResidueType` by 3-letter code. - The parser will now recognize the IUPAC-approved one-letter codes B, J, O, U, and Z, which code for Asx, Xle, Pyl, Sec, and Glx, respectively. - X alone is recognized to be any of the 20 canonical amino acids; X followed by square brackets specifies a single non-canonical amino acid by 3-letter code. For example, `X[SEP]` specifies phosphoserine. - Parentheses are used to specify multiple possible residue types at that site, separated by forward slashes, _e.g._, `(A/G)` specifies either Ala or Gly at that position. commit 676de4907284e9367c16aae7abd2d469f634ed98 Merge: fdd0b95 6fdda14 Date: Mon Jun 10 13:02:16 2019 -0400 Merge pull request #3999 from RosettaCommons/JWLabonte/PTMs/cofactors Cofactors: turning off loading of PDB components for ATP This merge will cause Rosetta to use the ATP in its own database, which doesn't have protonated phosphate oxygens, instead of the one from the PDB components library, which does. commit fdd0b9550c5cd68ed100b9bc2d0b37048920ab8a Merge: b0c18bd cc6b10d Date: Fri Jun 7 19:28:02 2019 -0400 Merge pull request #3998 from RosettaCommons/JWLabonte/PTMs/sequons PTMs: Updating CK1 beta-catenin-type consensus sequence commit b0c18bd01c0dd36a5d94675dd95403c4077125d2 Merge: 38c0ee7 4ba0dbf Date: Fri Jun 7 13:40:47 2019 +0200 Merge pull request #4001 from RosettaCommons/jaumebonet/coupledmovesRS CoupledMovesProtocol: fixed attribute definitions between parse_my_tag and provide_xml_schema commit 38c0ee7c4988271d8eb6128117d36572a13ffb00 Merge: 029b99d 54734b2 Date: Thu Jun 6 19:15:03 2019 -0400 Merge pull request #3985 from RosettaCommons/JackMaguire/AddFirstTFTest Adding a tensorflow test that loads in a very simple neural network and evaluates it. The test fails if the output of the network is not what we expect commit 029b99dee54888c485c322b357e233dc97987d7e Merge: 6cd4f06 ae27850 Date: Thu Jun 6 18:32:09 2019 -0400 Merge pull request #4000 from RosettaCommons/frankdt/repair_sewing_benchmark_test Adding sewing back to scientific/data folder commit 6cd4f066336d96d20cf6ef6393390611bdbbbb67 Merge: be09382 cde092f Date: Thu Jun 6 12:16:53 2019 -0400 Merge pull request #3996 from RosettaCommons/vmullig/fix_fastrelax_disk_reads FastRelax repeatedly reads multiple scorefunction weights from disk, making it unusable on large clusters. Fixing this. Recent changes to FastRelax have it repeatedly reading not only its own relax script, but also scorefunction weights from disk. This means that I can't run anything that uses FastRelax or FastDesign on Mira or Theta, or other giant supercomputers. Fixing this again. We really need to implement something that firmly prohibits disk reads that are unmanaged by a central manager. commit be093829227f42bd76ef10bec97aec4c6dbc923e Merge: 035a5a5 e370da3 Date: Wed Jun 5 18:50:55 2019 -0600 Merge pull request #3993 from RosettaCommons/sergey/binder PyRosetta update - updating self-test.py script, adding support for --timeout flag - increasing tests timeout for PyRosetta releases in debug mode - adding pyrosetta.PyMOLRosettaServer module so it could be imported in PyMOL on Conda commit 035a5a5994bb962f1a04784326103681696c046f Merge: 7cf2e6d 348c44f Date: Wed Jun 5 18:15:37 2019 -0400 Merge pull request #3974 from RosettaCommons/rfalford12/protonation-task-op Task Operation for including protonation variants during packing This PR adds a new task operation, called pHVariantTaskOperation, which allows sampling of protonated/deprotonated side chain variants during repacking. This is currently set up to enable variants for ASP, GLU, HIS, TYR, and LYS and restore the intended functionality of the -pH_mode flag developed by Krishna here. I've also added a unit test. commit 7cf2e6d6bbbff3b9278e772c66885e72a437d5a9 Merge: 870548e 89aa3da Date: Wed Jun 5 14:43:09 2019 -0400 Merge pull request #3992 from RosettaCommons/revert-3991-revert-3984-JackMaguire/CxxExtras Retrying #3984 but with extra guards around the static asserts commit 870548e2a4ec34e9becb2ba6590bbd8bfab30d41 Merge: 667ad6a 0b3693a Date: Wed Jun 5 10:23:40 2019 -0700 Merge pull request #3995 from RosettaCommons/dimaio/cart_bonded_option Changing user() options to check value instead commit 667ad6aba07b91aa87171c9cae492a94dce1a1ba Merge: d6e455f cf2e7bf Date: Tue Jun 4 10:48:18 2019 -0700 Merge pull request #3987 from RosettaCommons/aloshbau/scientific_1 Aloshbau/scientific 1 commit d6e455f6fb09472a6f9ed44c845ba8dd35e1f074 Merge: c8f9569 23a1af6 Date: Tue Jun 4 09:58:07 2019 -0500 Merge pull request #3991 from RosettaCommons/revert-3984-JackMaguire/CxxExtras Revert "Add extras=cxx14, cxx17, and cxx20" Reverts #3984 Looks like it broke the Mac pyrosetta test. Reverting until it's fixed. commit c8f9569c03a26bae25eea8a79d7c29506d97095c Merge: 37f52b3 92fd699 Date: Tue Jun 4 08:31:56 2019 -0400 Merge pull request #3984 from RosettaCommons/JackMaguire/CxxExtras Add extras=cxx14, cxx17, and cxx20 Adding extras for newer c++ versions. This probably won't impact the end users much but it would help developers prototype with newer features or play with external libraries that require newer versions. I also added macros like CXX14_OR_LATER because it seems cleaner than comparing __cplusplus to 201402L commit 37f52b3fe3a5f276fb343ca8c55cbd053a1808d7 Merge: f05112a 3e54b60 Date: Mon Jun 3 17:41:54 2019 -0400 Merge pull request #3983 from RosettaCommons/JWLabonte/PTMs/CK1 This merge simply adds a new database file for a special consensus sequence for beta-catenin substrates for the CK1 kinase enzyme and one for CK2. commit f05112a81e56b93226bdd04a4dcf63f2ce359b13 Merge: d8f9b4a 475acdf Date: Mon Jun 3 17:31:40 2019 -0400 Merge pull request #3980 from RosettaCommons/JWLabonte/PTMs/cofactors Coenzymes: Adding ATP to the Rosetta database by default This merge adds a `.params` file for ATP so that Rosetta will load structures with ATP correctly. The current parameters it pulls from the PDB have Hs on all the phosphates, and this is silly. Anyone using ATP-bound structures will see changes in their results. All integration test changes are expected; all unit tests pass.