Merge pull request #3165 from RosettaCommons/raemisch/DensityScoreResidueSelector
DensityFitResidueSelector
This ResidueSelector aims to select residues that have good fit (default) /bad fit (invert) into electron density. Uses either a Zscore made up of density, nbr_density, rama/sugar_bb (for glycans), and cartesian geometry OR the correlation to density that is used internally to determine the density score.
The Zscore has been adapted and refactored from `FragmentBiasAssigner`, which is used to determine poor density in hybridize. Thanks to @fdimaio for his help in this!
Numbers and cutoffs match well with Coot's density fit analysis tool.
Additional options are present to give a residue selector as a mask, which either acts as a subset for `match_res` OR (by default) acts to only calculate the Zscore among those residues (which CAN be turned off). This is VERY important for glycans or other poorly-resolved residues, or the zscore will be inherently bad for all of them due to the protein bias.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #3257 from RosettaCommons/yhsia/TaskAwareSymMinMover_memory
Changed default minimization type in constructor to dfpmin_armijo_nonmonotone to match the rest of the code.
@vmullig made some changes to AACompositionEnergy for efficiency, doesn't quite fix the exact issue though.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #3274 from RosettaCommons/jadolfbr/simple_metrics_custom_type_
Add additional custom_type setting to SimpleMetrics
This adds a `custom_type` option to the `SimpleMetric` framework, which can be set in code or in RosettaScripts. The `custom_type` allows one to define multiple SimpleMetrics, each with different settings, and have them all be output through a single `RunSimpleMetric` run or reused in multiple.
For example, you can calculate rmsd for three different atom sets and use `custom_type` to tag them as `BBONLY` `HEAVY`, and `ALL` for example, and output them at the same time using a single mover. Before this PR, you would need three different RunSimpleMetric movers to change the prefix/suffix in the output. This reduces the number of times we need to define SMs in RosettaScripts.
The output name in the scorefile or features db will now be `prefix + custom_type + "_"+ type + suffix` where the type is the name output by the Metric (such as RMSD, SASA, etc.). If no custom_type is given, we use the same output as before: `prefix + type + suffix`
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #3284 from RosettaCommons/JWLabonte/sugars/scoring
Carbohydrate Scoring: Fixing bug in TorsionID query functions for glycosidic torsions beyond omega
This merge will fix in bug in pose::carbohydrates::is_glycosidic_torsion() that was causing minimization to segfault in cases involving linkages with more than a single omega angle, such as glycolipids, phosphodiester-linked sugars, and polysialic acids. Integration test coverage has been expanded for scoring and minimizing such cases.
carbohydrates and glycan_anomers test changes expected; cyclization and ddG_of_mutation test changes are cosmetic. All unit tests pass.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #3278 from RosettaCommons/roccomoretti/PDB_load_fix_header
Fix two PDB loading error classes
In the PDB loading scientific test, there are two failure cases related to parsing headers: unrecognized_experimental_technique and unrecognized_compound. Dying for this is silly, as we rarely (never) use the information contained in these records, anyway.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #3283 from RosettaCommons/roccomoretti/PDB_loading_connect_detail
Add more information to unrecognized residue message.
Residues can now be unrecognized because of missing connection points. Add details about this to the warning message. (So you don't get obtuse 'unrecognized residue: LYS' style messages.)
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #3282 from RosettaCommons/roccomoretti/PDB_zero_coord_H
Fix one unrecognized res issue in PDB components loading.
When a PDB component is L-PEPTIDE LINKING, the H atom is special cased. Although the coordinates for H are reset later, at the time we check for too many zero coordinate atoms, it's still zero coordinates. Special case it, such that the hydrogen doesn't count against the 'too many missing coordinate' count.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #3280 from RosettaCommons/roccomoretti/PDB_loading_segfaults
Fix segfaults occurring in PDB loading scientific test
Two classes of segfaults were happening in the PDB loading tests
* When building a Foldtree, we were checking if a residue was in an empty foldtree. This lead to a crash instead of just saying it wasn't.
* Some PDB components have hydrogens with two bonds to them. This violates some assumptions Rosetta has about hydrogens and only belonging to a single atom. Catch this earlier.
There's four PDBs which now are failures which used to be "successes" - turns out they were suffering from the same issues which were causing segfaults, but weren't actually triggering a segfault for some reason.
notify author
notify list [rosetta-logs@googlegroups.com]