Merge pull request #389 from RosettaCommons/roccomoretti/cmake_unit_debug_combine
Combine unit and debug builds for CMake
Having separate debug and unit builds for CMake meant that the core libraries would need to be built twice if you wanted to use both of them. This commit puts both of them in the same directory (build_debug).
The default is to build both unit tests and executables, but you can build a subset with new targets (usable either on the make/ninja command, or with the ninja_build.py script):
unit - just the unit tests
bin - just the executables ( apps + pilot_apps )
apps - just the released apps
pilot_apps - just the pilot apps
(app name; no extension) - just that application
The cmake/build_unit directory is no longer needed, but may stick around if you have some compiled files in it. Feel free to delete it.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #457 from RosettaCommons/vmullig/z_is_for_zibo_that_good_enough_for_me
Adding some features to the MakeBundle, BundleGridSampler, and PerturbBundle movers
Zibo requested a z-offset option, so I'm adding that. I also wanted to change the default behaviour to set all backbone DOFs (not just dihedral values), and to add a constant helix pitch option.
Tasks:
Change default behaviour so that mainchain bond lengths, bond angles, and dihedral angles are set by the MakeBundle and BundleGridSampler movers, not just the mainchain dihedral angles. The user can turn off the bond length and bond angle options to preserve ideal bond geometry, at the expense of sacrificing ideal helix-of-helices geometry.
Add z1_offset (offset along the minor helix axis) and z0_offset (offset along the major helix axis) options:
Add these to the BundleParameters class, with getters and setters.
Update the MakeBundle mover's parse functions to set these.
Update the BundleGridSampler mover to allow sampling of z1_offset and z0_offset.
Update the PerturbBundle mover to allow sampling of z1_offset and z0_offset.
Update the MakeBundle mover to use these in its apply() function.
Update the numeric libraries to do something with these values.
Update the PerturbBundle mover to connect properly with the updated functions in util.cc.
Update the parameters data storage unit test to test for proper storage and copying of z1_offset and z0_offset parameters.
Add an integration test for sampling over these parameters.
Add an integration test for perturbing these parameters.
Add a BundleGridSampler option to let one helix copy the pitch angle (rather than omega0 value) of another helix.
Fix the math! It's not quite right.
Add an integration test for pitch angle copying with the BundleGridSampler.
Add a PerturbBundle option to let one helix copy the pitch angle (rather than omega0 value) of another helix.
Add an integration test for pitch angle copying with PerturbBundle.
Update documentation.
Expected test changes:
-- No unit test failures (though one new unit test is introduced).
-- Existing BundleGridSampler and PerturbBundle integration tests will show a cosmetic change (z0_offset and z1_offset values are now reported).
-- New BundleGridSampler and PerturbBundle integration tests have been introduced, and will fail once because they're new.
-- Some unrelated integration tests are already failing.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #436 from RosettaCommons/smoe/nick/antibody_py_revival
Antibody.py missbehaves - GraftedStemOptimizer.cc
Fixes antibody_graft, turns antibody_graft integration test back on.
Expected integration test failure:
antibody_graft - should only fail on this commit during reinitialization; should be stable afterward.
Other test failures from benchmark revision 1433 existed at time of pull request creation, have been fixed in master since.
notify author
notify list [rosetta-logs@googlegroups.com]
Adding two functions to find the optimum rotation solution using
spherical harmonic decomposition in the ElectronDensity class
To align a pose to a map
1. call poseSHT(), which will return poseCoefR and poseCoefI
2. feed mapSHT() the two "poseCoefR and poseCoefI" to get a rotation
matrix and a score
Future Work:
Add a wrapper to combine the two functions into one function "fastAlignPose".
The reason to have two functions was because it was used in a grid search of the whole map,
where I don't want to calculate poseCoefR and poseCoefI again and again.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #456 from RosettaCommons/vmullig/fix_rmsd
Vmullig/fix rmsd
Fixing an invalid assumption that was introduced in the RMSD calculator three years ago: if the "uu" matrix is the identity matrix, it is NOT necessarily true that the RMSD is 0. You get uu=I if pose1 and pose 2 are aligned, even if their RMSD is very large.
Tasks:
-- Adding a unit test that illustrates this aberrant behaviour (checks whether RMSD of pose1 to pose2 is the same whether pose2 is aligned to pose1 or not, for pose1 and pose2 with large RMSD).
-- Taking out the identity matrix check (along with two functions lacking prototypes that are only used for this purpose).
Expected test changes:
-- Several integration tests that were reporting 0 RMSDs before now report very tiny numbers, as one might expect.
notify author
notify list [rosetta-logs@googlegroups.com]
Adding a user control for detecting disulfide bonds in SymmetricConformation::detect_disulfides().
The previous behavior triggers the detect_disulfides() no matter what.
With the control now, when -detect_disulf is specified and is false,
this function will not be triggered. The default behavior stays the same -
when the -detect_disulf is not specified, "detect_disulf()" will be
triggered.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #428 from RosettaCommons/vmullig/bbgridsampler
Vmullig/bbgridsampler
This creates a grid sampler for mainchain torsion angles, which operates by creating a chain of residues of a given type and setting mainchain torsions of all residues to the same set of values, cycling through all possible sets of values. This is useful for identifying internally-hydrogen bonded helical conformations (i.e. predicting stable secondary structures) of arbitrary heteropolymers.
Tasks:
-- Create the BackboneGridSampler mover.
-- Create the BackboneGridSampler helper, that generates and keeps track of the list of mainchain torsion values to sample.
-- Set up parse_my_tag() for BackboneGridSampler.
-- Set up apply() function for BackboneGridSampler:
-- Generate geometry.
-- Cap termini properly.
-- Sample and score.
-- Call sub-movers.
-- Respect sub-mover exit status.
-- Operate in parallel mode.
-- Create integration tests.
-- Basic operations (sampling a dihedral and keeping another fixed).
-- Nstruct mode and calling a mover.
-- Update documentation.
-- Update patches for SRI's novel heteropolymer backbones.
-- Update the MM torsion parameters for SRI's novel heteropolymer backbones.
Also:
-- Update the BundleGridSampler to respect sub-mover exit status.
-- Removed a little bit of unneeded output from the BundleGridSampler.
Expected test changes:
-- Cosmetic changes to the BundleGridSampler (due to removed output).
-- The new BackboneGridSampler integration tests will fail because they're new.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #447 from RosettaCommons/rfalford12/more_membrane_bugs
Additional updates and bug fixes in the membrane framework
Options for Positioning a Membrane Protein with RosettaMP Apps
= Adding mp:setup:position_from_topo to membrane option group
= Added option to score_jd2 to determine/set membrane position based on TM spans
= Added option to view_membrane_protein to determine/set membrane position based on TM spans the membrane
New Unit/Integration Tests
= Adding new test to AddMembraneMover test suite that checks a user cannot add multiple membrane residues at once
= Adding back mp_score_jd2 test: (1) suppressing timestamp and (2) changing test case to be the native so the RMSD is zero as a secondary check.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #448 from RosettaCommons/rpache/refactored_KIC_loop_build_workaround
Workaround for making sure the initial loop build doesn't fail in refactored KIC by calling the legacy KIC loop builder first in the LoopRelaxMover. This issue has surfaced today (04/07/15) when evaluating KIC benchmark results for PDB 1dts, and appears only when the loop residues are not in a connected conformation, requiring the loop to be built from scratch. This issue needs to be fixed properly at some point in the LoopBuilder.
notify author
notify list [rosetta-logs@googlegroups.com]