Merge pull request #4509 from RosettaCommons/vmullig/fix_simple_cycpep_predict_bug
Fix a bug in simple_cycpep_predict with disulfides in MPI mode
The addition of the DISULFIDE variants to the native pose when predicting structures of disulfide-cyclized peptides was messed up, but only in MPI mode. The issue was that the SimpleCycpepPredictApplication object is initialized differently in the non-MPI mode (reading directly from disk) or in MPI mode (one process reads from disk and broadcasts stuff to all other processes). The initialization of the native pose was depending on information that had not yet been received by all processes in the latter case (the sequence length).
TODO:
- [x] Check the `simple_cycpep_predict` scientific test (queued here: https://b3.graylab.jhu.edu/revision/commits/14718 ). --> Yes, this runs correctly still.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #4498 from RosettaCommons/JackMaguire/FixFastDesignRampLogic
Fixing CST Ramping Logic in FastDesign
@AJVincelli reported at Winter RosettaCON 2020 that FastDesign did not respect the -relax:ramp_constraints false flag. At the time she thought it was due to MonomerDesign2019 but it turns out this bug was present for all of FastDesign.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #4501 from RosettaCommons/JackMaguire/FixThanhsBug
Handling edge cases for the SequenceSymmetricAnnealer
SequenceSymmetricAnnealer started out as a hack and slowly matured into a feature that was merged to master in #4117 and #4260. Some edge-case handling was missed during the de-hackifying process.
The branch name is misleading. This is not Thanh's bug - this is my bug that Thanh found.
Thanks Rocco for the review!
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #4510 from RosettaCommons/roccomoretti/fix_timing_issue
Fix issue with JD2 timing code.
There was a runtime assert that we weren't finishing jobs before we started them. NTP clock adjustments can make start/end times non-monotonic, so accommodate for those.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #4473 from RosettaCommons/jadolfbr/glycan_benchmarking3
# WaterMediatedHbondMetric
A metric to measure hydrogen bonds between a set of residues that are water-mediated.
Docs: https://www.rosettacommons.org/docs/latest/scripting_documentation/RosettaScripts/SimpleMetrics/simple_metric_pages/WaterMediatedHbondMetric
## DEPTH:
We only traverse a depth of 1 by default. Make sure to set the -ignore_waters flag to false in order to have Rosetta include the HOH residues.
## SELECTION:
If one residue selector is given, will calculate bridged waters between residues of the selection and all [OTHER] residues, otherwise it will calculate bridges between one selection and another.
If NO SELECTION is give, will report ALL bridged hbonds in a pose [by default without self-water-self hbonds].
## HBOND:
Since these are bridged hbonds, and h-bond networks can be rather complex, the numbers
reported here are the unique h-bond paths from sele1 to sele2. If you give only a single residue selector, these are bridged hbonds from sele1 to OTHER residues in sele1.
By default we do not include mediated hbonds back on itself, but this is an option.
## TIPS:
It is generally recommended to repack the waters using the OptH TaskOperation before input into this metric, especially if only Oxygens were present. Using the option -include_vrt false will keep all waters present in the resulting structure. Use the option -corrections::water::wat_rot_sampling 10 to decrease the angle of sampling from a default of 30 to 10. This will result in many more rotamers, but will improve networks.
Hydration shells can be calculated by passing selection1 as all waters in the pose, selection2 as the protein or chain, and then reporting only a single depth (with max_depth at 0 and 1 for the first and second shell waters."
# HbondMetric
A metric to report the total h-bonds residues from a selection to all [OTHER] residues, or from a set of residues to another set of residues. If No selection is given, will report ALL vs ALL.
Docs: https://www.rosettacommons.org/docs/latest/scripting_documentation/RosettaScripts/SimpleMetrics/simple_metric_pages/HbondMetric
## Tips:
Use the SummaryMetric to get total hbonds of a selection or total number of residues having some number of hbonds. . See the WaterMediatedBridgedHBondMetric for water-mediated h-bonds.
By default does not report self-self hbonds
# Etc
- Added unit tests for both metrics
- Fixed glycan integration tests
- Add deprecated warning for -1 option in `test/run.py` as it will say subtests pass even though they don't.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #4483 from RosettaCommons/roccomoretti/restype_converter_roundtrip
Promote restype_converter application to public
I initially implemented the restype_converter app as a pilot application, because the output formats were a bit sketchy in their completeness.
With this PR, I fleshed out the params file output, such that it should be able to output lines for each of the input lines in the params file. Theoretically, the params files should now round-trip on a functional basis, though they don't necessarily round-trip on a textual one. (Loss of comments, reorganization, different precisions & spacings, equivalent ways of writing the same thing, etc.)
I think this is usable enough to promote it to public. The SDF output files aren't necessarily round-trippable, but they're usable if all you want is atoms, bonds and coordinate information.
I also extended the restype_converter integration test to make sure most all of the current params file lines are represented (and output), as well as implementing a basic round-trip test for fullatom types.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #4486 from RosettaCommons/roccomoretti/crash_report_server
Add script for reporting crashes to the crash report server.
For a while now Rosetta has been producing crash report logs. Part of the intent of having these would be to eventually collect those reports so we could see where Rosetta was having bugs or needed better error handling. -- The big limit to this so far being putting together the actual site to collect the data.
Luki offered to put together such a website, and has done an awesome job of it: https://crash.rosettacommons.org/ (Submission of crash reports is open to the public, but viewing the reports needs a Github login.) There's still some open questions about how we want to summarize/organize/report the crash reports, but the actual crash report collection should be feature complete, and we have basic crash report search and summary functionality.
This PR adds mention of the site into the crash report logs, as well as adding a script which can automatically collect and submit the crash reports.
I also addressed a non-crash which was being reported as the most prevalent crash. (The exception raised by JD2 to report an issue with a job.) Not only will this reduce noise on the crash report server, this has the added benefit of making the tracer output look nicer in the case of errors.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #4485 from RosettaCommons/roccomoretti/fix_broken_tests
Attempt to smash a bunch of broken tests in master on the test server.
I looked at the failures in master, and saw if I could make some quick technical fixes. Not treated were "scientific" failures
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #4474 from RosettaCommons/vmullig/no_movemap_controlling_packing_in_fastrelax
Ensure more consistent default user interface for FastRelax
At some point, someone added something to FastRelax that disables packing at positions where the MoveMap prohibits sidechain minimization. This is counter-intuitive behaviour: normally, MoveMaps control minimization and task operations control packing. This is what we teach new users, and this is what experienced users expect, so it's an unexpected side-effect to disable minimization at a position and to find that that position is no longer packing. Worse, this is one-way behaviour: a user that sets up a task operation that prohibits packing at position 5 does not automatically disable sidechain minimization at position 5, but a user who disables sidechain minimization at position 5 _does_ prevent packing at position 5.
I'm disabling this behaviour unless the user opts _in_ by turning on a suitable commandline flag, RosettaScripts option, or C++ and Python-accessible option in the FastRelax object.
Tasks:
- [x] Add commandline flag to turn _on_ the old behaviour.
- [x] Add FastRelax setting to turn _on_ the old behaviour.
- [x] Setters and getters for C++ and Python.
- [x] Option accessible to `parse_my_tag()` and `provide_xml_schema()` for RosettaScripts.
- [x] Have the option enable the old behaviour, and disable it otherwise.
- [x] Beauty.
- [x] Check tests.
- [x] Update documentation.