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.