commit 43c8c1ca0b7cf4be74b636b90e083fd1fe35558d Merge: 96d1438 e001c1b Date: Fri Oct 19 00:16:01 2018 -0400 Merge pull request #3564 from RosettaCommons/vmullig/fix_signed_char_issue Fixing an issue with assignment of -1 to a char According to the C++ standard, the `char` type can be signed or unsigned -- it's up to the implementation. We have a spot in the Rosetta code where -1 is assigned to a `char`, and although that's fine for compilation on most systems, it breaks the Blue Gene/Q build. (It also likely breaks Android builds -- they also tend to default to `char == unsigned char`.) The simple fix is to declare this `char` to be `signed` explicitly. In general, if you assign numeric values to a `char` or do math other than just incrementing or decrementing, it's a good idea to make it explicit whether you're working with a signed or unsigned `char`. commit 96d1438cb33f06bb80ce242364dd331014bd9f8e Merge: ad73563 67969fc Date: Wed Oct 17 14:49:02 2018 -0700 Merge pull request #3563 from RosettaCommons/fordas/pyrosetta_ycm_config Update YCM configuration for pyrosetta dev. commit ad735632ce6cd1aa7cac46b1c12fda3f56946de1 Merge: c7dcba9 5c17fed Date: Wed Oct 17 11:39:59 2018 -0500 Merge pull request #3560 from RosettaCommons/roccmoretti/utracer_tab_fix Fix issue with tabs in UTracer. UTracer had an issue where it used delta-based comparisons for numbers separated by spaces, but didn't for tab-separated values. Update the parsing such that the delta-based comparison also applies to tab-separated values. commit c7dcba99facb444ecb464a431cf649c6aed59f34 Merge: 755dce3 464666c Date: Wed Oct 17 08:39:13 2018 -0700 Merge pull request #3561 from RosettaCommons/weitzner/update-xcode-project Updating Xcode project commit 755dce3602a08196d55b0b298436524dcd0bc2f2 Merge: 2ad300de 72c0320 Date: Tue Oct 16 17:36:57 2018 -0400 Merge pull request #3557 from RosettaCommons/vmullig/update_beta_aa_properties A few updates to properties for beta-amino acid params files This is intended to match the properties for the corresponding alpha-amino acids (and to make it easier to control amino acid composition by properties when doing mixed alpha/beta design). commit 2ad300de0f6bc29fee268b2954a07b1222af7c6e Merge: b7b1991 b8a24f2 Date: Tue Oct 16 15:49:14 2018 -0400 Merge pull request #3559 from RosettaCommons/vmullig/residue_index_description_issue Resolve an issue with assignment of -1 to an unsigned int. Tweaking ResidueIndexDescription, which was invalidly assigning -1 to an unsigned int. Note that this was *not* causing any breakage here, but it's a design pattern that confused the ICC compiler (which threw a warning) and might have confused future developers. It's probably best to avoid this in order to prevent *human* error. commit b7b199168a4ab335b888c9f5b9b120a3490e4a47 Merge: 4361cd3 029ac31 Date: Tue Oct 16 09:16:06 2018 -0400 Merge pull request #3531 from RosettaCommons/JackMaguire/SerializedSAndL Add Inputter/Outputter For Saving Serialized Poses To Disk Sometimes we run rosetta_scripts multiple times without needing the intermediate output. For example: ```sh rosetta_scripts @flags1 sort -nk2 score.sc | awk ... | head ... > pdblist rosetta_scripts -l pdblist @flags2 ``` I am adding an option to pass poses by printing serialized poses to disk instead of PDB files, silent files, etc. This allows for more of the information inside of the pose to survive from round to round and will result in faster saving/loading. New flags: -in:file:srlz -in:file:srlz_override (does not terminate Rosetta when the serialized pose was made with a different version of Rosetta) -out:file:srlz commit 4361cd3f4b6e87a379c764eba451ae0f09666602 Merge: 712ce0b 8803f1a Date: Sat Oct 13 22:31:20 2018 -0400 Merge pull request #3558 from RosettaCommons/vmullig/add_gordon_settings Adding compilation settings for Gordon cluster at UCSF. This does not affect code, the database, or default compilation settings. It can't cause problems, so I'll skip testing. commit 712ce0b74308bba9926b88bfbc7046dca2199523 Merge: a87dcea 127a8d6 Date: Fri Oct 12 17:23:01 2018 -0400 Merge pull request #3555 from RosettaCommons/vmullig/fix_a3b Small fixes to the a3b.crick_params file in the Rosetta database The refactor of the parametric code added some checks for parameter values, which fail if a Crick params file has r1 values less than 0. I'm correcting the a3b.crick_params file, added by Andy, so that all r1 values are positive. (When flipping the sign of an r1 value, it's necessary to shift omega1 for the same atom by π radians). This does not change the geometry. This is a minor change that will not affect 99.9% of users. @everyday847 commit a87dceacbaa869bd4f95d2ff4d03b0fb35a14143 Merge: a9ddd9c cc57c15 Date: Fri Oct 12 11:21:25 2018 -0400 Merge pull request #3526 from RosettaCommons/JackMaguire/MultistageRosettaScriptsSimple JD3 can now create an archiving directory if needed (very small PR) JD3 has an option to archive job results on disk instead of in memory. The existing way to do this is to create and empty directory and pass the name of that directory to JD3. I'm adding a hefty 8 lines of code to allow JD3 to create that directory if it does not exist. commit a9ddd9cbc956c076e12e91a2450af6450b2f38f7 Merge: 5ac5b0e 050ebfe Date: Thu Oct 11 13:00:36 2018 -0700 Merge pull request #3552 from RosettaCommons/bcov/SwitchChainPBBInfo Make SwitchChainOrderMover respect PDBInfo labels commit 5ac5b0eb33866bb7ea7d14758161fac029f787b6 Merge: 626d6d7 5552339 Date: Wed Oct 10 18:20:19 2018 -0600 Merge pull request #3543 from RosettaCommons/sergey/f2 Updating nlohmann/json library to 3.3.0. This should enable JSON support in GCC v4.8+ and fix PyRosetta GCC build commit 626d6d70730174b09d53b93f0d7212e1aa2ad9f7 Merge: f1cdc25 b1791a9 Date: Wed Oct 10 17:15:48 2018 -0600 Merge pull request #3548 from RosettaCommons/sergey/binder PyRosetta update. Refactoring include deduction logic so it give more more stable results across different C++ libs / lib-versions commit f1cdc25fff1219ca67409c379a26021e25a80f35 Merge: 31542c1 3ae6559 Date: Wed Oct 10 09:23:21 2018 -0700 Merge pull request #3519 from RosettaCommons/everyday847/make_general_hal_app A fully functional rna_denovo w/ PoseEditor support commit 31542c10b06f347799b2c67592f72cccac3524fb Merge: 832ab64 758db5e Date: Wed Oct 10 12:18:53 2018 -0400 Merge pull request #3547 from RosettaCommons/mlnance/set_fail_status_BackboneMover Set last move status in BackboneMover to fail do not retry when there are no movable positions commit 832ab64447cc856b642de1563d5d661683f7f026 Merge: ad5a6df d2d371d Date: Wed Oct 10 08:35:50 2018 -0400 Merge pull request #3336 from RosettaCommons/JWLabonte/sugars/database Carbohdyrates: unit test to check stereochem./atom-placement of monosacharide residues in the database This merge adds a complicated "dynamic" unit test that used a "rubric" file with expected answers to check carbohydrate .params files for ICOOR errors. The errors it checks for include: Proper superimposition of virtual atoms with real atoms Expected stereochemistry of ring atoms (based on a rubric data file, stereochem_test.key) Expected ring conformer (based on the same rubric file) Hydrogen placement The test checks both reducing-end and non-reducing end versions of the residues, by creating disaccharides. The unit test reveals an assortment of ICOOR errors, as I expected, which I am systematically fixing. Notably, post-merge, hydrogen placement should always be correct — the problem was in the patch files for lower termini — and the RingConformerSet should correctly assign the current RingConformer consistently — the problem was in virtual atom superimposition. I have also decided to organize the .params files in a deeper subdirectory scheme. Finally, and perhaps most significantly, I have "idealized" heavy atom ICOOR records to use simpler, average, less precise values. I do not think this will affect scientific performance, though it may affect Cartesian minimization. If it does not, I think this is a better, more standardized way of writing sugar .params files and will simplify the implementation of my long desire to script the generation of hundreds of possible topography files for future design work. All unit tests pass. This merge will result in integration test changes for ALL tests involving glycans, as literally every sugar .params file has been modified. commit ad5a6df17f39886636b0daf95d049689809303ad Merge: f49e687 b680a4a Date: Tue Oct 9 16:26:54 2018 -0400 Merge pull request #3544 from RosettaCommons/JWLabonte/sugars/database3 Carbohydrates: enabling input of some N-acetyl sugars with Glycam codes This merge will expand the list of Glycam codes that are recognized by Rosetta. commit f49e68756b9af74a45e80f70ec794329e0f1e3c9 Merge: e7df04e c0517a3 Date: Sun Oct 7 16:50:49 2018 -0700 Merge pull request #3539 from RosettaCommons/everyday847/dms_off_by_one Update RNA_DMS_Potential.cc commit e7df04ec7405cb2b7c998ca91d9643d6323b6504 Merge: 7ac415c 84a2b79 Date: Sun Oct 7 16:41:08 2018 -0600 Merge pull request #3533 from RosettaCommons/sergey/binder PyRosetta update. Updating Binder to add support for banned types, refactoring is_bindable for classes so it no longer check if template parameters is bindable. Refactoring Rosetta includes. commit 7ac415ca079aad96eb2a2a965229b2ce5f18467d Date: Sun Oct 7 18:24:48 2018 -0400 beautifying commit 75b80bcbec73241e2a9e564ab498f04c945e1333 Merge: 39c2700 9527149 Date: Sat Oct 6 17:09:23 2018 -0400 Merge pull request #3398 from RosettaCommons/dimaio/viewer_updates Several updates for viewer mode commit 39c27006e91c615eeececd9a1237c28a2b49d852 Merge: ce9cb33 d8cbd29 Date: Fri Oct 5 23:12:52 2018 -0700 Merge pull request #3540 from CyrusBiotechnology/davela/update_outlier_list update outlier_list commit ce9cb339991a7e8ca1bc44efb2b2d8b0a3d557f8 Merge: 6f6e220 c89c8b1 Date: Wed Oct 3 15:26:42 2018 -0400 Merge pull request #3530 from RosettaCommons/smlewis/pdb_diagnostic_update_lists For the PDB diagnostic benchmark test: update test dox. update reference results. Fix bugs commit 6f6e22058a83bb97a60f7d14e06e33a15c19a76f Merge: efc00bb 0217b1a Date: Wed Oct 3 14:56:23 2018 -0400 Merge pull request #3391 from CyrusBiotechnology/bfrenz/cartesian_ddg Test changes appear to be timeout problems unrelated to the PR. Given Hahnboem's approval I am merging. commit efc00bb0b5960647c2f9025299131777d18ded29 Merge: 3a17774 8a8a0e4 Date: Wed Oct 3 12:34:02 2018 -0400 Merge pull request #3499 from RosettaCommons/vmullig/penalize_only_reachable_bunsats Ensure that the buried_unsatisfied_penalty works with packing problems in which there are unsatisfiable "native" buried unsats. Kale Kundert identified a problem with the buried_unsatisfied_penalty scoreterm in pull request #3498: when used for partial redesign of a pose that contains "native" buried unsats (e.g. when doing binder design to a target from the PDB), the buried unsats that can't be designed out are penalized, resulting in ridiculously high penalty values and penalty deltas, and causing the term to dominate unreasonably. The solution is to take a page from the voids_penalty, and to ensure that, during packing, only those buried unsats that are (a) part of packable rotamers, or (b) on unpackable rotamers, but reachable by at least one hbond to a packable rotamer, are the only ones counted and penalized. This is arguably the best solution (and thanks to Andy Watkins and Rocco Moretti for the suggestions), since it will mean that the term will "just work" on all problems without users having to do anything. This pull request aims to implement this solution. @kalekundert @everyday847 @roccomoretti commit 3a177745a2fa48b8171972016b86b967389e39e6 Merge: afafc40 b5bcdaf Date: Tue Oct 2 12:41:53 2018 -0500 Merge pull request #3517 from RosettaCommons/jadolfbr/simple_metric_overrides - Print a good error message if one tries to set SimpleMetric data that already exists. - Enable an off-by-default option in RunSimpleMetrics (and the base classes) that will override data. - Fix Glycan Tree Relax integration test by lowering the number of glycans to model commit afafc40541b9f036064d2be0b3ddec85efd3b66d Merge: 80255e2 0dba6a0 Date: Mon Oct 1 14:44:30 2018 -0400 Merge pull request #3521 from RosettaCommons/mlnance/sugar/get_new_chainIDs_bug Fixed chain numbering issue so that branches in glycans get their own unique chain ID commit 80255e27123e35f90dd764ff137e1e70e627f5dd Merge: abb1059 50b6ba3 Date: Fri Sep 28 09:28:41 2018 -0700 Merge pull request #3529 from RosettaCommons/bcov/FixApprox2 Fixed bug in approximate_buried_unsat_energy where packing with 0 rotamers caused a freeze commit abb1059cde660babd20c8616c025007fc9c716f2 Merge: 128623d 6d81224 Date: Fri Sep 28 17:41:53 2018 +0300 Merge pull request #3520 from RosettaCommons/orlypolo/change_default_dslf_energy_threshold Change DisulfideInsertion test to allow a more linient threshold for … commit 128623d7e7454a5438792584beaa675791d7070b Merge: b35008a d5af109 Date: Thu Sep 27 19:01:16 2018 -0400 Merge pull request #3524 from RosettaCommons/vmullig/add_ppi_params Adding Crick parameters for a type 1 polyproline helix. This is only a database addition. No test changes expected (or possible). commit b35008a2946750fed4ef1e8dca3e3f129e70e2fe Date: Wed Sep 26 18:54:15 2018 -0400 triggering clean rebuild commit 99d33ec59ce9fcecc5e4f3800c778a54afdf8504 Merge: 3064ed8 2ae80e3 Date: Tue Sep 25 18:30:29 2018 -0600 Merge pull request #3516 from RosettaCommons/benchmark adding `build.xcode` test commit 3064ed8d38769f7f3803950395e4e61601545077 Merge: d65b965 2f0576c Date: Tue Sep 25 14:32:14 2018 -0700 Merge pull request #3513 from RosettaCommons/weitzner/update-scons-for-new-macos-releases Updating setup_platforms.py for new macOS release commit d65b9650952f3d78dfa47d1a43fd8383d9b493a6 Merge: b467592 75331ce Date: Tue Sep 25 12:16:23 2018 -0700 Merge pull request #3504 from RosettaCommons/weitzner/packed_pose_submodule packed_pose submodule commit b467592ce419dd7df39711abd1984e45ace299ef Merge: f866875 246ae87 Date: Tue Sep 25 11:23:23 2018 -0700 Merge pull request #3515 from RosettaCommons/weitzner/fix_xcode_build Fix Xcode 10 build commit f8668754f48ff7bd2a3810d5c7c488191ea836ee Merge: 6f8cd3d dc2a2ad Date: Tue Sep 25 11:07:52 2018 -0500 Merge pull request #3508 from RosettaCommons/roccomoretti/update_scibench_data Update benchmarking data submodule. Update to most recent (submodule) master. commit 6f8cd3d611263b47ab76a49efea2beaeeab07b25 Merge: c5e5ee8 b0fc063 Date: Tue Sep 25 09:48:27 2018 -0500 Merge pull request #3511 from RosettaCommons/roccomoretti/clang7_updates Clang 7 fix. A new warning in Clang 7 pointed to a potential bug in DihedralDistanceMetric. commit c5e5ee8f7054a89b722e18e76626c5a95877f55a Merge: 10bb3ce6 dc9c0c3 Date: Tue Sep 25 09:39:24 2018 -0400 Merge PR #3492 (aleaverfay/jd3_fix_mpi_hang_in_distributed_output2) Fixing a race condition in the way JD0 sent spin-down signals to remote nodes at the very end of a trajectory. Previously, JD0 would tell any node to spin down after that node had completed outputting the last result it needed to (i.e. and there were no more results to output), including the archive nodes. However, if an archive node spins down, then it can't serve up the results that the worker/output nodes might be requesting. If a worker/output node requested a job of the archive after it had spun down, it would simply hang waiting for a reply. This is a particularly poor moment in a job for results to get lost: they've already been generated, all the computational cost of creating them has been paid! The solution is to delay spinning down the archive nodes until after all of the worker/output nodes have reported that they have completed their work. Super simple. There is a new unit test that a) works in the new code, and b) fails in the old code. In particular, the unit test ensures that the spin-down signal to the archive is sent after the spin-down signal to the worker/outputter. To verify that the unit test fails in the old code yourself, you can cherry pick 674b9a66e on top of dc1c89dea8. (In order to run the JD3WorkPoolJobDistributor unit tests, you need to use the debug + serialization build). I should definitely have looked into this more closely months ago when @thieker brought it to my attention! commit 10bb3ce615d86841607d8789160ff3cea44f0811 Merge: f236a16 b2778b7 Date: Tue Sep 25 08:33:29 2018 +0300 Merge pull request #3475 from RosettaCommons/orlypolo/change_default_dslf_energy_threshold change default value for max_dslf_energy in DisulfideInsertionMover commit f236a16cef7f693572f06f904ba2caface345ed5 Merge: 279acd7 aea42af Date: Mon Sep 24 12:47:36 2018 -0400 Merge pull request #3500 from RosettaCommons/vmullig/fix_selection_warning Removing a spurious warning when the last residue in a pose is selected. Currently, when the last residue of a pose is selected by index, there's a spurious warning printed to the tracer about the selection being outside the range of residues in the pose. This is due to a ">=" comparison that should have been a ">" comparison. This fixes that. commit 279acd712c1d0d8b3fd351d4b08020b4cd2680e5 Merge: 86ff770 a257ba0 Date: Sat Sep 22 09:01:47 2018 -0600 Merge pull request #3496 from RosettaCommons/sergey/binder Updating Binder submodule. This should fix PyRosetta build issues when build with Apple Clang v10 and when building with GCC on Ubuntu. commit 86ff770e8be38000647a731d5b502f9d5d8d144a Merge: d5a5259 4e74147 Date: Fri Sep 21 17:36:28 2018 -0700 Merge pull request #3502 from RosettaCommons/bcov/fixmaster I just broke master a second ago and this is the fix commit d5a5259f9bb78f444c2850c86a3047f6f407b8d0 Merge: 37ef24b 8aa35c2 Date: Fri Sep 21 16:33:18 2018 -0700 Merge pull request #3488 from RosettaCommons/bcov/ApproxV3 Adding approximate_buried_unsat_penalty for packing with buried unsats v2 commit 37ef24b1484f12a7d0dbdeb8306e5793e1328e6d Merge: db36afd 46d2597 Date: Fri Sep 21 11:44:02 2018 -0700 Merge pull request #3486 from RosettaCommons/bcov/RotamerSetsOperation2 Adding RotamerSetsObjects framework and the first one: PruneBuriedUnsatsOperation commit db36afde3a0e5a2aa5b11efd4751bf0b59b50f33 Merge: f23e347 13e2b98 Date: Thu Sep 20 17:27:04 2018 -0700 Merge pull request #3487 from RosettaCommons/bcov/SCMedianDist Adding median distance output option to ShapeComplementarityFilter commit f23e34733952744b9f434215275eae5dc8ca6670 Merge: ef7084d f2dd362 Date: Thu Sep 20 13:31:10 2018 -0500 Merge pull request #3489 from RosettaCommons/roccomoretti/enzdes_benchmark Convert enzyme design benchmark to new scientific benchmarks server setup. It's not exactly the same as the old enzdes_benchmark, as I've converted it to use rosetta_scripts (versus the pilot app it was using), updating it to use ref2015, as well a supplementing things with new recovery metrics. commit ef7084db5fef22ed622205e4a8387c0a00d57405 Merge: a46d8ea a4c6ba2 Date: Thu Sep 20 11:01:08 2018 -0600 Merge pull request #3495 from RosettaCommons/sergey/f3 fixing `PeptideDeriverOutputter` and derived classes, making destructor of a base class virtual commit a46d8ea3fc44ca8ca987c4bfc007b5119cdf0d44 Merge: 7996b3e 12710c0 Date: Thu Sep 20 11:18:05 2018 -0400 Merge pull request #3477 from RosettaCommons/vmullig/simpler_polylinear_interpolation Actually correct "as-angles" polylinear interpolation For peptoids and N-methyl amino acids, we need the polylinear interpolation used to interpolate well centres to work near the -180/180 wraparound point. Andy and I scratched our heads for a long time about little numerical problems that we were seeing in the derivatives with his approach from pull request #2851. In the end, we decided that, since the goal was to avoid weird behaviour at the wraparound point for interpolated angle values, we could achieve that just as easily by much simpler means. The basic approach here is: - Determine if the values being interpolated are generally closer to 0 or to the 180/-180 discontinuity. - If the former, interpolate as values. - If the latter, shift into the [0,360) range, interpolate as values, then shift back to (-180,180]. ~~This might break down if unusually extreme values are being interpolated, but then, interpolation isn't well suited to really extreme cases.~~ **UPDATE:** This _was_ breaking in cases relevant to peptoids, so I went back and implemented an _actually_ correct N-dimensional polylinear interpolation scheme. The new approach uses a recursive function that carries out a series of evaluations for successively lower dimensions. The 1-dimensional interpolator avoids the 0/360 or -180/180 angle discontinuities by using the shortest interpolation between two values, as described above; since higher-dimensional interpolators call the 1D interpolator, they also handle the discontinuity properly. Tasks: - [x] Implement the interpolation - [x] Check whether it solves the remaining problems in the peptoid branch (#2513). - Not all of them. But that's okay -- it's a start. - [x] Check that this works with the lysine Dunbrack test cherry-picked from closed pull request #2851. - [x] Shorten this test. - [x] Check additional unit tests pulled from that branch. - [x] Check what this does to canonical scoring. I may have to special-case the N=2 case. - I think we're okay. The generalization covers the N=2 case correctly. - [x] Beauty. - [x] Documentation. So there are a bunch of integration test trajectory changes from this branch, but no changes to scoring and no unit test failures. This tends to happen when one refactors Dunbrack or other core scoring code. Andy and I have both looked at the integration tests, and we're both pretty convinced that the failures fall into one of two categories: - Very tiny numerical differences that accumulate, since we're doing some math in a different way. - Changes to exotic noncanonicals that we actually expect (since we're interpolating Dunbrack libraries that rely on more than two mainchain torsions properly, now). **SO EXPECT A BUNCH OF INTEGRATION TEST CHANGES, IF YOUR TEST DOES PACKING OR MINIMIZATION AND USES FA_DUN.** commit 7996b3e04e065fe57cf58ff44bb70c567a6e5ce2 Merge: f63a6c0 04c5cc5 Date: Wed Sep 19 12:01:19 2018 -0400 Merge pull request #3491 from RosettaCommons/lqtza/add_orientation_to_scs_unit_tests add test for orientation-based filtering commit f63a6c0b35719b2cda3d454756b880d50d84c3ac Merge: 80a85fe ed29b1d Date: Wed Sep 19 07:29:24 2018 -0400 Merge pull request #3429 from RosettaCommons/JackMaguire/BlosumTO This PR does two things: - Adds a XML tag interface for Jared's ConservativeDesignOperation - Includes rosetta_scripts integration test for ConservativeDesignOperation - Creates a SimpleMetric that measures Sequence similarity - Includes two small unit tests - Added this metric to the simple_metrics integration test Thanks to Jared for the review and Sergey for the binder fixes commit 80a85fea6e3c884e3ecaecebcad727a419aca44d Date: Tue Sep 18 22:28:25 2018 -0400 RosettaAI: Setting rosetta_scripts_scripts submodule to latest origin/master version. commit ee03de635156353171e4af695e969cd7176edf6e Merge: cecce7a 4b2e48e Date: Tue Sep 18 16:28:04 2018 -0500 Merge pull request #3484 from RosettaCommons/roccomoretti/benchmark_multicore_parallel Update Benchmark Multicore HPC driver to better handle multiple distinct jobs Currently, the Multicore HPC driver can't parallelize across multiple calls to submit_hpc_job(). This PR adds such functionality. This should aid local testing of benchmark protocols (like scientific tests) in the case where you're submitting a number of distinct small jobs (versus a large number of the same job). commit cecce7a20262d446c9cadf4a2f5eb743bb760dc6 Merge: 5d59f4f 26128c7 Date: Mon Sep 17 18:04:46 2018 -0700 Merge pull request #3473 from RosettaCommons/hahnbeom/genpot_support3 mol2genparams.py update - 2 commit 5d59f4fc160acaee210bb127f79546be3759bffa Merge: 575629d cc2e115 Date: Mon Sep 17 18:01:09 2018 -0500 Merge pull request #3427 from RosettaCommons/roccomoretti/parse_resnum_RID Use ResidueIndexDescriptions to remove Pose useage in parse_my_tags() This updates a number of diverse classes which did (Pose-dependent) residue number parsing in parse_my_tag(). Now they create and store ResidueIndexDescriptions instead, deferring the pose-dependent parsing until apply time. This updates ResidueIndexDescription for output and serialization, and adds a few new ResidueIndexDescriptor subclasses, such as "end of chain" and "last residue in pose". It also makes a pose-free version of parse_resnum() which returns a ResidueIndexDescription. The bulk is the conversion of various Movers & Filters to use ResidueIndexDescriptions versus in-parse_my_tag pose use. As an added benefit, certain classes which used to take only Pose-numbered parameters can now also take PDB numbered parameters. I shouldn't have changed any existing functionality. commit 575629d6c9d3ca7af11def073c4f076b8460bd53 Merge: fdc079b 6515735 Date: Mon Sep 17 17:55:18 2018 -0500 Merge pull request #3483 from RosettaCommons/roccomoretti/seq_rec_metric Add a simple metric which can calculate sequence recovery. There's several options for how to calculate the sequence recovery. * Standard sequence recovery, which is calculated from a subset of residues, comparing their seqeunce with that of a specified reference structures (potentially a "native") * PSSM recovery - This is a pass/fail based approach from DeLuca et al 2011 - Basically, everything with a positive PSSM score is counted as "not a mutation" (No reference structure needed.) * Average PSSM score for designed residues. (No reference structure needed). * Delta PSSM score for designed residues (Uses reference structure.) commit fdc079b2cea3c78e440e58f2ba29d9dd58a3d737 Merge: e96e498 04c9755 Date: Mon Sep 17 16:42:38 2018 -0400 Merge pull request #3478 from RosettaCommons/vmullig/update_xcode_2 Update xcode project to remove illegal horizontal dependencies and to add protocols_g.5, protocols_h.5, and devel **This PR also got the xcode build working again, so go ahead and compile away with xcode!** In the process, I cleaned up a host of efficiency issues (mostly copying objects that should have been referenced), comma mistakes (usually commas substituting for semi-colons), and an actual significant error in the RemodelDesignMover (Boolean vectors' elements cannot be addressed, since they're bits instead of bytes). Note: in places where xcode was complaining about `for( ObjectCOP const it : my_vector )`, I changed this to `for( ObjectCOP it : my_vector )` and not `for( ObjectCOP const &it: my_vector )`, because using references of smart pointers defeats the purpose of the smart pointer. (Making it a nonconst smart pointer providing const access to the object is still secure enough, I think, and removing the `const` lets xcode stop thinking, "Hey -- this should be a reference! An unnecessary instantiation is happening if the thing being instantiated is const!".) It looks like protocols_h has stuff in it now, so I added that, too. And for some reason, devel was never set to update automatically the way that the protocols and core libraries were, so I set it to update automatically. commit e96e49810e57d7109024dcf5d6cc1f0fcd68c483 Merge: b60bb5d 0883f2e Date: Mon Sep 17 12:17:24 2018 -0500 Merge pull request #3393 from RosettaCommons/jadolfbr/glycan_benchmarking Symmetry and Glycan QOL improvements General ====== - Made symmetry finally work with Glycans properly - Keep the `GlycanTreeSet` up-to-date with the symmetric state of the pose. - Made symmetric minimization work with Branched torsions (thanks @fdimaio for help tracking this down!) - Added serialization routines to `SymmetricEnergies` - Added `update_noncannonical_connection` function to `SymmetricConformation` - Added a version of `get_score_function()` that takes a pose in order to give the correct `ScoreFunction` for non-global symmetry setup. - Cleaned up `MinMover` to not edit the movemap based on omega in the `inner_minimization` call and instead take a const `MoveMap` - Make the `MoveMapFactory` give a movemap based on the symmetric state of the pose Bug Fixes ======= - Fix `DensityFitMetric` and `DensityFitSelector` - Update noncannonical connections after the virtual to real transition for a residue New Classes (with unit tests) ================== - `PerResidueGlycanLayerMetric` outputs the layer number of each glycan residue selected - `MasterSubunitSelector` selects the master subunit in a symmetric pose. If the pose is not symmetric, returns all residues. New options ========= - Added `-output_only_asymmetric_subunit` option that extracts the asymmetric unit during PoseToStructFileRep conversion. No this does not work for silent files - Added options to RMSD SimpleMetrics to allow a superposition on the subset of residues being calculated. commit b60bb5d8de163c420e86b855f31de94e546ac921 Merge: 56c7104 7bd9584 Date: Mon Sep 17 09:59:30 2018 -0400 Merge pull request #3084 from RosettaCommons/aleaverfay/jd3_combine_cl_and_jobdef_for_input_structs In Issue #3034 (#3034), @jadolfbr proposed that the Input subtag of the Job tag not be required and that instead, if it is absent, then the command line would be fallen back upon. This would allow you to write a job definition file with several jobs where you could leave unspecified which structures these jobs would be run on, and instead, could pair them with -s on the command line, e.g. as -s *.pdb. I think I have that now working and have a few new unit tests to convince me that it is. So this brings up a potential concern. Currently, the SJQ asks to deallocate Poses after the input node that uses them is done with its jobs. If the same 1ubq.pdb file were given to two different jobs, then it would be loaded, discarded, and loaded again. The SJQ made no attempt to test whether two Poses were effectively the same. (Indeed, just knowing that two Poses are initialized from the same PDB file is insufficient to know they are the same; e.g. it's possible to construct both a centroid and fullatom Pose from 1ubq.pdb and these Poses would be quite different). With the new system, the user probably intends for an input structure to be "the same" between different jobs. So then it that case, it would be somewhat wasteful to load the structure, deallocate it, and then load it again repeatedly. To address this, I'm adding a flag -jd3:load_input_poses_only_once. Note that per-job-options controlling how Poses are loaded could mean that the protocol behaves quite differently when this flag is on the command line. commit 56c71040a10b14be08d23ed4bba946edabef6f0d Merge: 3a5973b 4a18ae1 Date: Sun Sep 16 18:43:58 2018 -0400 Merge pull request #3490 from RosettaCommons/lqtza/enable-orientation-filtering Lqtza/enable orientation filtering commit 3a5973bd99e79eb0a55573958d71a96ae43e205e Merge: b431e06 fc1e071 Date: Sun Sep 16 07:07:23 2018 -0700 Merge pull request #3467 from RosettaCommons/bcov/RotsetsInScoreFunction Adding prepare_for_packing_with_rotsets() to ScoreFunction and EnergyMethods commit b431e060d28eedbae889a0ed2c1afe7acc94a066 Merge: eabceaa 1d2232e Date: Sat Sep 15 19:48:03 2018 -0500 Merge pull request #3485 from RosettaCommons/jadolfbr/minor_updates IAM bugfix and add job_tag option to ProtocolSettingsMetric This PR has a few minor fixes and changes: - Fixes IAM for a test case that @aleaverfay had. It also adds this test case as an integration test. - Fixes scoretype setting in `PerResidueEnergyMetric` and adds the option to `TotalEnergyMetric` (which may now need to be renamed) @teetsf Both are now tested in integration tests. - Adds a better description of custom_type option and updates RMSDMetric docs. @roccomoretti - Adds an option, `job_tag` that basically passes a string to the score file. This is really useful for rosetta_scripts_JD3 to tag the job name in the scorefile to make it easier to concat and analyze. commit eabceaa1205026dab111954ad8da6396338bb7ed Merge: 82e5fb6 4ebc04b Date: Fri Sep 14 18:09:27 2018 -0600 Merge pull request #3482 from RosettaCommons/sergey/f3 adding observers for `protein_data_bank_diagnostic` test commit 82e5fb61da69634a544ca431a16074f2da933e93 Merge: 89f026f 2653ce6 Date: Wed Sep 12 11:01:52 2018 -0700 Merge pull request #3474 from RosettaCommons/longxing/holes add setters for the HolesFilter commit 89f026f6774b0d6017afa7e02a3081f4483fb1e5 Merge: 308c170 5a4a891 Date: Wed Sep 12 12:14:12 2018 -0400 Merge pull request #653 from RosettaCommons/vmullig/npro_not_a_donor Removes DONOR property from Npro atom type The Npro atom type was incorrectly listed as a hydrogen bond donor. This results in its Lennard-Jones radius being shrunk, and bad things happening in protocols that iterate over donors and whatnot. We've had the pull request to correct this open for three years, and have agreed at more than one meeting that it should be merged. Frank confirmed in 2016 that while the change does have a small effect on numerical values of scores, it doesn't alter his scientific benchmarks. It seems that everyone's on board with this being merged, so here we go. ***SCORING TESTS WILL SHOW SMALL NUMERICAL CHANGES*** Virtually all integration test trajectories are likely to change. Prepare for lots of observer e-mails as integration tests change. This is expected. commit 308c170cf032436c1cc59bc8c5cb103c7b104185 Merge: 722170a 04d8443 Date: Tue Sep 11 17:51:52 2018 -0700 Merge pull request #3472 from RosettaCommons/hahnbeom/genpot_support2 mol2genparams.py update commit 722170ab1900e207cca56f5e63b54016794bf24d Merge: a63c81d 6b4b350 Date: Tue Sep 11 15:36:56 2018 -0700 Merge pull request #3468 from RosettaCommons/weitzner/hotfix_pyrosetta_distributed HOTFIX Fixing import issue commit a63c81d699b8d97bf58fda2438bd82385d790e20 Merge: 6451916 aab6485 Date: Mon Sep 10 13:29:37 2018 -0700 Merge pull request #3463 from RosettaCommons/hahnbeom/genpot_support1 Minor bug fixes with genpot applications commit 6451916311cc3abfaef85002d9cd4c1b79fc3a65 Merge: 4971e92 a347015 Date: Mon Sep 10 13:04:31 2018 -0700 Merge pull request #3452 from RosettaCommons/bcov/MoveRotamerSets Move RotamerSetsBase from core/pack/pack_rotamers to core/pose commit 4971e924ce60bb4f9f5e650156763be007cdb3c9 Merge: 2376c8a c12af97 Date: Mon Sep 10 15:04:59 2018 -0400 Merge pull request #3456 from RosettaCommons/smlewis/rosetta_options_dot_why rosetta_options.why commit 2376c8a73af3b9b98c2c31e6a8c186bdef69911b Merge: 531def1 e98dbf9 Date: Mon Sep 10 12:08:06 2018 -0500 Merge pull request #3227 from RosettaCommons/jadolfbr/simple_graft_movers Fix simple graft mover XSDs This fixes ReplaceRegionMover's XSD and RS interface which was broken after the XRW. This also fixes InsertPoseIntoPoseMover, and updates the XSD documentation. Add an integration test for the RS interface (the core code is unit-tested) commit 531def18639be99b8a32e385113912f6a48a2322 Merge: 303b634 3a8dd13 Date: Mon Sep 10 08:56:49 2018 -0700 Merge pull request #3454 from RosettaCommons/bcov/ApproxHBondStuff Performance related addition to AtomLevelHBondGraph commit 303b63412a08f031ca9cc693bf4f2a547e89c07f Merge: e62e504 5324607 Date: Mon Sep 10 10:55:39 2018 -0500 Merge pull request #3462 from RosettaCommons/jadolfbr/design_profile_test Profile design without probabilities This PR adds an option to do antibody design using profiles, but without AA probabilities (other than 0). This can increase variability in designs and its being used to make the unit tests deterministic. commit e62e50409b1b2d83af37a1cbb9ee03736240e0ca Merge: 0bac214 c18bbfe Date: Fri Sep 7 11:46:30 2018 -0700 Merge pull request #3457 from RosettaCommons/longxing/hotspots Add specific label for each hotspot in the motifgraft mover commit 0bac2147dade58daf0d0b44e24f67905d83ca893 Merge: bfff0b7 ac90e0e Date: Fri Sep 7 11:39:33 2018 -0700 Merge pull request #3455 from RosettaCommons/fordas/buildkite_tagged_builds Update buildkite hooks for tag targets. commit bfff0b7f9c51b0d1d9bc0e25e55caf03c35b495c Merge: 31f47f3 b2e288b Date: Fri Sep 7 10:58:43 2018 -0700 Merge pull request #3453 from RosettaCommons/bcov/AtomicDepthTweaks AtomicDepth: Changed scale factor to resolution commit 31f47f338a2559dbb491e9c17b9eeec3d499531a Merge: d34a046 a4e3c1c Date: Fri Sep 7 10:41:42 2018 -0600 Merge pull request #3411 from RosettaCommons/sergey/scientific Adding blueprint for step-by-step scientific tests, adding relax tests prototypes commit d34a046333265b24ffe593c7aa0f849cad31587e Merge: 5837139 17ba003 Date: Fri Sep 7 05:29:59 2018 -0700 Merge pull request #3449 from RosettaCommons/weitzner/pyrosetta_clean_init Clean up the pyrosetta __init__ commit 5837139b99e4df81b08906461f875c02ba8c3ce8 Merge: 8acfef9 1586db3 Date: Thu Sep 6 17:37:21 2018 -0600 Merge pull request #3450 from RosettaCommons/sergey/binder updating Binder submodule commit 8acfef923fe0a0c7a6cd7e513e75ee08bca21762 Merge: 51cbad3 dbb812d Date: Thu Sep 6 18:08:31 2018 -0400 Adding a residue selector that applies to native poses I'm adding a residue selector that wraps around another residue selector and applies it to the native pose instead of the given pose. You can read more about it here: https://www.rosettacommons.org/docs/latest/scripting_documentation/RosettaScripts/ResidueSelectors/ResidueSelectors#other_nativeselector Thanks to @jadolfbr for the review and @roccomoretti for tips/comments commit 51cbad3fa0a99da0bff9f289a7e20c8d31e2423e Date: Wed Sep 5 19:07:46 2018 -0400 triggering clean rebuild commit 2c6f16738e4cd1bfaf3a145bb230774d91972e06 Merge: 29885ce 4535a67 Date: Wed Sep 5 09:31:25 2018 -0700 Merge pull request #3442 from RosettaCommons/weitzner/clean_pyrosetta_toolbox clean pyrosetta toolbox commit 29885ce3fbc78fbf077e1d81e3af9e2d00a3d413 Merge: dd8ad33 e194c10 Date: Tue Sep 4 18:57:15 2018 -0400 Trivial change to some Residue functions There are two-dozen functions in conformation::Residue that take an int and pass it to an equivalent method in chemical::ResidueType. The ResidueType functions take a Size instead of an int, so I am updating the Residue functions to take the same type. Thanks to @lyskov for the review! commit dd8ad33baabe542641e110d48ed139cc62b1c1e8 Merge: 300f403 5c07042 Date: Sun Sep 2 17:41:46 2018 -0600 Merge pull request #3441 from RosettaCommons/sergey/binder Updating Binder, adding support for variadic templates. commit 300f4035e780bfee3665f7c1173e5ba154d6f262 Merge: c719f46 542a48c Date: Sat Sep 1 12:05:57 2018 -0700 Merge pull request #3423 from RosettaCommons/bcov/LowMemGraph Adding a Low Memory graph class for use with AtomLevelHBondGraph commit c719f463ef68e2dac063e1bd3c65115cebb3207a Merge: 1b8b041 99dff1b Date: Fri Aug 31 11:14:34 2018 -0700 Merge pull request #3440 from RosettaCommons/weitzner/cleanup_pyrosetta_numpy Cleaning up the numpy utils commit 1b8b0412dc7b79124a20de22e6d3c77390f627cb Merge: 9e589bf fbe0e80 Date: Fri Aug 31 10:59:34 2018 -0700 Merge pull request #3439 from RosettaCommons/bcov/ReadResfileFromDB_fix Fix for ReadResfileFromDB on jd2 commit 9e589bff957adcc8f33149d1c1653aae5d5acf19 Merge: 796bc9b 9cdf2b6 Date: Fri Aug 31 11:27:35 2018 -0600 Merge pull request #3437 from RosettaCommons/sergey/binder PyRosetta update. Updating Binder submodule: Disabling trampoline generation for pure-vrtual, const-overloaded member functions. Disabling binding for abstract classes with pure virtual const overloaded functions. commit 796bc9ba954f7309be4bb242113e6405ea51d4ca Merge: 22f56f7 c93e342 Date: Fri Aug 31 09:49:29 2018 -0400 Merge pull request #3426 from RosettaCommons/dougrenfrew/seqres_in_pdbinfo This PR adds the ability to store the SEQRES records from PDB files and have them stored in the PDBInfo object of a pose (the parsing of the SEQRES records was written previously by someone else, thanks +1). The SEQRES records contain the sequence of the full sequence of the protein under study, not just the resolved residues. They are also generally the values that are listed in databases. This PR simply exposes the chain_sequences strings in the SFR to the PDBInfo object. It requires the --run::preserve_header true flag. commit 22f56f727dc423e7d1af15f81abe2516fc328827 Merge: c013c1a ab52928 Date: Thu Aug 30 17:01:16 2018 -0700 Merge pull request #3435 from RosettaCommons/weitzner/pyrosetta_fxns Implementing some magic methods for PyRosetta commit c013c1a7aa74afcad9052a45093801a3d25298ba Merge: 90fc6a0 ab9fcad Date: Thu Aug 30 11:03:20 2018 -0700 Merge pull request #3415 from RosettaCommons/danpf/fix_prepend_pose_virtual_functions fix prepend pose virtual functions for symmetry commit 90fc6a05e208f2fc1269dacfa0d326d511e8b008 Merge: 64d61ab 5a18d66 Date: Wed Aug 29 12:17:14 2018 -0700 Merge pull request #3434 from RosettaCommons/phbradley/pose_chain_begin Add pass-through functions Pose::chain_begin(chain_num) and Pose::cha… commit 64d61ab7a9e5521dac5680c3b1dbe5742ee2a803 Merge: af5b5c1 5dcca1c Date: Mon Aug 27 11:53:48 2018 -0400 Merge pull request #3428 from RosettaCommons/vmullig/fix_parametric_ubsan_issue Trying to fix an ubsan issue that I introduced when refactoring the parametric code I had a base class with a method in it that could be used to determine the derived class, and a switch statement of the following pattern: ```c++ // Using static_cast instead of dynamic_cast to avoid the overhead of a dynamic_cast, since I // don't need dynamic_cast to tell me the derived class type because I have the class function // instead: DerivedClass1OP class1pointer( static_pointer_cast< DerivedClass1 >( baseclass_pointer ); DerivedClass2OP class2pointer( static_pointer_cast< DerivedClass2 >( baseclass_pointer ); switch( baseclass->tell_me_derived_class() ) { case class1: // Do stuff with the class1pointer break; case class2: // Do stuff with the class2pointer break; } ``` This meant that I was guaranteed to be setting up at least one pointer that had been invalidly static-casted to the wrong type, but I was never using it, so it didn't matter. The code was working as written, but was probably a bit fragile and non-ideal, and was tripping up the Ubsan tests. (If ever someone modified it and _did_ try to do something with the wrong pointer, it would cause nasty things to happen.) I've refactored it to follow this safer pattern instead: ```c++ switch( baseclass->tell_me_derived_class() ) { case class1: { //Scope for declaration DerivedClass1OP class1pointer( static_pointer_cast< DerivedClass1 >( baseclass_pointer ); // Do stuff with the class1pointer break; } case class2: { //Scope for declaration DerivedClass2OP class2pointer( static_pointer_cast< DerivedClass2 >( baseclass_pointer ); // Do stuff with the class2pointer break; } } ``` commit af5b5c10e16a62ff5874e22b1980c2746e2f0cae Merge: 6cc8d77 cc56ab6 Date: Mon Aug 27 08:27:54 2018 -0700 Merge pull request #3414 from RosettaCommons/aleex-adal/mpupdate2 Add full signature to parse-tag functions in RosettaMP commit 6cc8d773dc846425bcbbedcb1d1961a9e8387eda Merge: 1efae87 ee6c6f0 Date: Fri Aug 24 15:04:15 2018 -0700 Merge pull request #3409 from RosettaCommons/roccomoretti/ResidueIndexDescription_update Rework how ResidueIndexDescription works. This attempts to make ResidueIndexDescription work a bit more like ResidueSelectors. In particular, instead of having a single, monolithic ResidueIndexDescription class, ResidueIndexDescription becomes an abstract base class which can have different subclass implementation. This allows us to potentially have RIDs like "the last residue in the pose", "the first residue of chain X", "the residue closest to the Pose's center of mass", "reference pose enabled selection designation". This should allow us to better defer things from parse time to apply time. Note that this splits the current ResidueIndexDescription functionality into two classes ResidueIndexDescriptionPDB (which handles PDB-numbered selections) and ResidueIndexDescriptionPoseNum (which handles Pose-numbered selections). This does not seem to be an issue with the current (limited) use cases in the C++ code. commit 1efae87191a459e39f04b0fa4e7c3f0ee83b019f Merge: 9cfa16e 6c407f1 Date: Fri Aug 24 11:29:18 2018 -0700 Merge pull request #3425 from RosettaCommons/weitzner-pyrosetta_bind_classmethods Update utility.py to provide a class method decorator for pyrosetta commit 9cfa16e939baf7a1b7737e53e9aa47fda6cc2667 Merge: 5704b2c aac5501 Date: Fri Aug 24 08:11:44 2018 -0500 Merge pull request #3419 from RosettaCommons/jadolfbr/simple_metric_cache Ok, as per request, this PR addresses #3378 - caching SimpleMetrics. Major ==== SimpleMetrics are now stored in a new `CacheableData` object: the `SimpleMetricData` object. Thanks to @lyskov 's help, the only classes that can store the data are the SimpleMetrics themselves. Anything is able to 'get' the data. Data is stored during the `apply()` method that all SimpleMetric bases have defined. In addition, the PerResidueReal/String Metrics also create one of @vmullig 's wonderful reference poses during the apply. By default, when we grab the data, we use the reference pose to make sure the residue numbers we are dealing with match the data. New functions are given during ScoreFile output to output all this data. This also sets up for a future data file for only Per-Residue metrics, which will be easier to make sense of as it stands now. A new function has been added into each of the base classes where we can use the cache or calculate the data. This is used by `SimpleMetricFilter` and `SimpleMetricFeatures`. The `RunSimpleMetrics` mover will cache this data. The function is as follows: ``` core::Real cached_calculate( pose::Pose const & pose, bool use_cache, std::string prefix="", std::string suffix="", bool fail_on_missing_cache=true) const; ``` Minor ==== All SimpleMetrics now have serialization methods associated with them. We can now consider using them in GUIs! Code templates have been updated to reflect this. `DensityFitResidueSelector` now takes an optional pre-configured `PerResidueDensityFitMetric` and the ability to grab the cached version. This speeds up glycan-benchmarking runtimes by about 4 fold as this is a very expensive calculation. Tests ==== Unit tests have been updated to reflect the major change to the way `SimpleMetrics` are stored. A suite of unit tests have been added to test fetching from this cache, in addition to tests for EVERY base type of Simple Metrics and their cached-use in the Filter system. A new integration test for caching Simple Metrics has been added. The Per Residue integration test has been updated to test and confirm caching of Density fit stuff. Integration test changes are expected for SimpleMetrics as the final output for composite metrics and per-residue metrics is now different with the new cache system. I think this is better organized anyway, with the composite name being added to the end of the 'score' type. commit 5704b2c270c34166142381932f9996a5e36792e3 Merge: 2a6408c ff20cdf Date: Thu Aug 23 10:19:38 2018 -0700 Merge pull request #3422 from RosettaCommons/longxing/pack_interface bias the sampling of interface interactions by upweighting the interface interaction edges commit 2a6408cce864954659ff8355f5b36e2f02d76864 Merge: 1f085d4 bff73f2 Date: Thu Aug 23 01:31:56 2018 -0400 Merge pull request #3421 from RosettaCommons/danpf/cyclic_peptide-patch-1 Fix AchiralResidueTypeTestHeaders.hh typo VKM had a typo in his unit test that resulted in the score of a pose being compared to the score of that same pose (a comparison guaranteed to yield identical results and pass), rather than the intended comparison between the score of the pose and the score of its mirror-image. This corrects that. commit 1f085d4e5c52b8d384991fd73e0965960713a244 Merge: 14e0a7a 343d5dd Date: Tue Aug 21 15:27:56 2018 -0500 Merge pull request #3402 from RosettaCommons/jadolfbr/ProtocolSettingsMetric Add ProtocolSettingsMetric to monitor experimental conditions This PR adds a new composite string metric, `ProtocolSettingsMetric`. It is analogous to the ProtocolFeatures reporter and basically reports both `.user()` options and splits ` any script_vars` options. The class is configurable to get specific options, or only get `.user()` or set `script_vars`. The primary purpose of this class is for benchmarking, but it is generally useful for record-keeping a specific decoy with set options - IE - the experimental conditions - in which it was run. Typically this is done using file names or directories or other scripts, but using this `SimpleMetric` should streamline benchmarking efforts - especially for those using python, where you can easily plot groups with specific experimental conditions. This class also works through a Local `OptionsCollection` object (if present) - A COP is placed into the `DataMap` as a resource and available to ALL RosettaScript objects for configurable local options accessing. There may be a better way when we decide to try to remove all global option accessing, but for RosettaScripts, I believe this will work fine. An integration test and a suite of unit tests have been added. commit 14e0a7acf8eca980ba28bb1767f41fb5b7f52343 Merge: 2302601 d0b7420 Date: Tue Aug 21 11:28:04 2018 -0400 Merge pull request #3406 from CyrusBiotechnology/delucasl/write_seqres From @decarboxy at Cyrus: optionally output SEQRES lines in PDB files This PR extends the pdb outputter to produce SEQRES records. This feature is off by default and can be turned on with -out:file:write_seqres_records also added a test that exercises the feature. No integration test changes expected. commit 2302601d8e2bbb70dfed5402f5b60d24a992693c Merge: eb949eb 65e7240 Date: Mon Aug 20 09:58:35 2018 -0700 Merge pull request #3389 from RosettaCommons/bcov/AtomicDepth Adding AtomicDepth class and integrating with BuriedUnsatisfiedHBondFilter commit eb949ebdc04feb8fc439ecafa8561d12eb23bcab Merge: d7ca38d f424f19 Date: Sat Aug 18 12:58:16 2018 -0400 Merge pull request #3410 from RosettaCommons/smlewis/PR_patterns At PRC Day 2, I promised that @weitzner and/or I would write up our standards for PR review. We said we'd put it in the README. We changed our minds, because the README is an obvious target for end users looking for compiling and use documentation, so instead I added it to the https://www.rosettacommons.org/docs/wiki/internal_documentation/GithubWorkflow page and improved the link from here. I am going to go ahead and merge this on the expectation that most further modifications are to the wiki not the README - but edits here are cheap, so feel free to open another README PR as necessary if there is further comment. commit d7ca38d07878661ad48c514c9cb2b991f0e4691f Merge: 4339104 5861c06 Date: Fri Aug 17 08:04:59 2018 -0700 Merge pull request #3405 from RosettaCommons/roccomoretti/IG_size_debug Switch interaction graph size output to debug tracer level. There's little a non-expert user can do with the raw size value. Make it available with a debug-level tracer, but put a more user-actionable message for high IG memory usage. (Set arbitrarily at 25 MB) commit 4339104dc0551a77aaac8c32da8e430e77c95123 Merge: 41067c3 96c6cbe Date: Fri Aug 17 06:37:22 2018 -0400 Merge pull request #3384 from RosettaCommons/rfalford12/minor-refactor-lipid-accessibility Minor Refactoring in MPLipidAccessibility commit 41067c35e93c24d1570cf95766313b712eaeb4a0 Merge: 3310708 5cbf82b Date: Thu Aug 16 20:03:07 2018 -0400 Merge pull request #3403 from CyrusBiotechnology/indigo/argobody_fix_outlier_bug Antibody grafting, database blast outlier exclusion list, add H3 and orientation This add 2 lines of code to protocols/antibody/grafting/scs_functor.cc For the antibody grafting app, blast search of pdb templates can be modified by giving an input list of "oulier" pdbIDs to ecvlude for the search of templates to graft from. The ability to exclude outliers for H3 and orientation was left out of the code (not sure if this was an accident). With this PR, H3 and orientation graft outliers are excluded if and only if you add the corresponding H3 and orientation -specific lines to your outlier list file. This does not change any defaults, but adds the ability to exclude templates for H3 grafting too. From Cyrus from @indigogo commit 331070810ffa9874dc6f6815837a9baafa0e21b8 Merge: 8352f5e b82a0bf Date: Thu Aug 16 17:39:48 2018 -0400 Merge pull request #3385 from RosettaCommons/rfalford12/minor-refactor-remove-lipid-acc-info Remove LipidAccInfo from Main commit 8352f5e3254af23512edb2d79ac9466f358f4191 Merge: 0315fda 7d5a7cb Date: Thu Aug 16 17:38:58 2018 -0400 Merge pull request #3386 from RosettaCommons/rfalford12/cubic-spline-func-to-numeric Move Cubic Polynomial Functions from Etable to Numeric commit 0315fdaf01805e78994583c0dfc2dbb8010ce6c0 Merge: 7111c54 529f264 Date: Thu Aug 16 16:15:22 2018 -0500 Merge pull request #3394 from RosettaCommons/jadolfbr/fix_sm_int_test Add missing command file for SimpleMetric integration tests.