Merge pull request #549 from RosettaCommons/vmullig/mpitests2
Fix MPI-mode bundlegridsampler_design_nstruct_mode integration test
I had left the core.init tracer output on by mistake, which changes every time, causing the integration test to fail. This should fix that. Merging without testing.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #542 from RosettaCommons/revert-537-revert-534-indigogo/imm_pub
Revert "Revert "Indigogo/imm pub"". I removed the offending LabelPDBInfoMover because it wasn't really a good idea anyway
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #539 from RosettaCommons/kimdn/ss_features
- Fixd SecondaryStructureSegmentFeatures.fwd.hh namespace to prevent owning pointer error.
- Updated strand assembly features comments according to doxygen
- Results of many integration tests are changed unexpectantly, but seem to be just temporary instable minor numerical changes.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #540 from RosettaCommons/vmullig/mpitests2
Tweak MPI-mode integration tests
This should help the stability of MPI-mode integration tests, by using Rosetta's internal ability to split tracer output by originating MPI process.
This merge also brings in one new params file.
Sergey -- could we turn the integration.mpi tests back on by default? I'd like to see how stable they are over a few commits in master. (Sorry to keep changing my mind about whether they're ready to be on, yet.)
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #533 from RosettaCommons/revert-527-revert-517-jadolfbr/antibody_design
Remerge jadolfbr/antibody_design
Updates to Rosetta Antibody Design (RabD) Framework and Program
General
=======
-Clean up AntibodyInfo header - 'using namespace' should not be in headers
-Add proper copy constructor to AntibodyInfo
-Add protocols/antibody/task_operations namespace and associated classes to help in antibody modeling and design
-Add conservative mutation database which includes full Blosum matrices in DB format, with conservative mutations. This is used by the ConservativeDesignOperation, which is now in protocols/toolbox/task_operations. Specify the data source via -cons_design_data_source
-Move ResidueProbDesignOperation to protocols/toolbox/task_operations which can be used for profile-based design independant of the energy function.
-Add MutationSetDesignOperation to protocols/toolbox/task_operations with can be used to sample sets of residue types during design, optionally adding weights to each set.
-Add ability to select grafts based on species and germline
-Add outlier control of grafts and cluster-based design data (which now includes a set of constraint files for each cluster for each outlier definition as well)
-Add algorithm control specified with flag (generalized_monte_carlo and deterministic_graft)
-Add ability to design camelid antibodies
-Refactor the way antibody cluster-based sequence design is done, now by a primary and secondary strategy for each design.
-Add CDRDihedralConstraintMover for adding cluster-based dihedral constraints or general dihedral constraints.
-pilot app identify_cdr_clusters can be used with any antibody numbering scheme.
Rosetta Scripts Integration
===========================
All Antibody Constraint movers (ParatopeSiteConstraintMover, ParatopeEpitopeSiteConstraintMover, and CDRDihedralConstraintMover) are all now available via RS.
All RabD classes can be called by RS, with the full protocol also available.
All Antibody TaskOperations can be called by RS:
-RestrictToCDRsAndNeighbors
-DisableCDRsOperation
-DisableAntibodyRegionOperation
-AddCDRProfilesOperation
-AddCDRProfileSetsOperation
Other
=====
Fixed a bug in sc_value calculation that would hit a segfault on calling the SCCalculatorException on trimming dots. The rest of the calls to that exception class will be changed to use the Rosetta exception message base in a separate pull request.
Refactored backrub to enable the full protocol to be called outside of the app. Added movemap support.
Added code-level options to enable dualspace relax through code and PyRosetta.
Unit Tests
==========
Unit tests have been added for:
- all TaskOps moved to protocols/toolbox.
- all antibody TaskOps
Unit tests updated for antibody design
Integration test changes in backrub, and the antibody tests are cosmetic. Integration.debug tests have occurred in master before this merge. Test changes in antibody_designer are expected.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #537 from RosettaCommons/revert-534-indigogo/imm_pub
Revert "Indigogo/imm pub"
Reverts RosettaCommons/main#534
The merge breaks the performance and Windows PyRosetta builds, and possibly others. Problems seem to be in the newly-added LabelPDBInfoMover.cc file. @indigogo, please fix, test in a branch (you can create a branch for this by clicking "revert" on this reversion), and then re-merge.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #529 from RosettaCommons/vmullig/bundle_improvements
Vmullig/bundle improvements
Adding a number of features requested by @sboyken and @uagaug. This also catches a bug in Conformation.cc that was sometimes preventing parameters from being copied properly when poses were set using the equals operator.
Tasks:
-- Add option to MakeBundle to allow angles in degrees instead of radians.
-- Tests for MakeBundle degrees parsing.
-- Add option to PerturbBundle to allow degrees.
-- Tests for PerturbBundle degrees parsing.
-- Fix bug in PerturbBundle --> updated parameter values are not being stored properly in the pose.
-- Add option to the BundleGridSampler to allow degrees.
-- Tests for BundleGridSampler degrees parsing.
-- Documentation.
No build or unit test failures. Integration test changes are all to helical bundle integration tests, and all are expected. They fall into three categories:
-- Cosmetic changes (since I tweaked some output messages, and added one new output message at XML parse time).
-- Changes resulting from the fixed bug in Conformation.cc that was preventing parameters from being copied properly in some cases.
-- Changes from added integration tests for degree-mode input (because these tests are new).
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #525 from RosettaCommons/vmullig/mpi_integration_test
Adding MPI-mode integration tests
This modifies integration.py to create a special MPI class of integration tests. Running integration.py with the old options should create the old behaviour (non-MPI tests). Running with the --mpi_tests flag should only run tests that have a command.mpi file in addition to their command file. This specifies an MPI-mode test (and contains the explicit call to mpirun). If no --extras=xxx flag is provided, then --mpi_tests implies --extras=mpi.
Tasks:
-- Modify the bundlegridsampler_design_nstruct_mode test to have an MPI variant.
-- Modify integration.py to add the --mpi_tests flag.
-- Modify integration.py to try to run MPI tests ONLY in cases for which a command.mpi file exists.
-- Modify the command.mpi scripts to split output by process.
-- Modify the MPI JobDistributors to have a sequential job assignment option (each job sent to each slave in sequence), set to false by default.
-- Add documentation for this type of test. (This was added to wiki.rosettacommons.org. When are we going to move the documentation on testing Rosetta to the Gollum wiki?)
Put off until later:
-- Modify integration.py to respect the -j flag (i.e. if the user specifies -j 10, and jobs 1 and 2 each launch 4 processes, count 8 jobs running and do not launch another 4-process job). -- Put off to later. For now, the -j flag should launch N jobs, each of which could launch multiple processes (slightly risky).
-- Add support for alternatives to mpirun command. -- Put off to later, if there's a need for this.
Two important notes about this:
-- MPI behaviour is inherently stochastic, since different processes can finish in different orders, and request jobs in different orders. Integration tests must be designed with this in mind. Note that in some cases, calling mpirun with -np 2 (just one master and one slave) can solve this, though this might not test everything that you want to test.
-- I, um, ahem, don't actually know Python. It looks like pretty much any other programming language, though, so I THINK I'm modifying integration.py properly.
notify author
notify list [rosetta-logs@googlegroups.com]