Merge pull request #527 from RosettaCommons/revert-517-jadolfbr/antibody_design
Revert "Jadolfbr/antibody design" temporarily
Since this merge seems to have caused intermittent instabilities in a number of integration tests in release_debug mode, I'm temporarily reverting it until we can track down the source of those instabilities. (This isn't meant as a condemnation or criticism of you, @jadolfbr! I know that the problems didn't show up when you tested this branch in commits.) Once we figure out what's going wrong, we can re-merge.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #516 from RosettaCommons/kimdn/zipper
Merge pull request #516 from RosettaCommons/kimdn/zipper
[update of SandwichFeatures for upcoming publication (charge zipper) so that readers
can get same results as I do]
- debugged rama & p_aa_pp writing by reviving processing_decoy
- prepare pymol to easily see residues with salt_bridges
- allowed wt_for_pro_in_starting_loop_ etc. and readjusted those 3 weights
- further refactoring regarding namespace core using
- should not change any integration tests other than (expected) features and features_database_schema
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #519 from RosettaCommons/aleaverfay/beauty
This is a pre-commit before beautification takes place. It adds semi-colons behind some macro invocations (there shouldn't even be macro invocations!) so that the beautifier can run smoothly.
It generates a number of cosmetic integration test changes as I've replaced a tab inside a string with some spaces in score.cc. If you look at the file, you see that every other output line in the "how to run this program" section is indented with spaces and so having a tab in there just distorts the output text alignment.
The commit also changes the DOS line-endings to unix format for a handful of files.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #517 from RosettaCommons/jadolfbr/antibody_design
Jadolfbr/antibody design
Updates to Rosetta Antibody Design (RabD) program
Merge a long-running branch.
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. Test changes in antibody_designer are expected.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #515 from RosettaCommons/vmullig/gamma_aas
Vmullig/gamma_aas
This should get the BackboneGridSampler working with repeating units of more than one residue. This also adds a number of gamma-amino acids to the database.
Tasks:
-- Add several gamma-amino acids to the database.
-- Tweak NtermProteinFull patch for gamma-amino acids.
-- Adds a TRIAZOLEMER class of residues (a new type of unnatural backbone).
-- Adds support to the BackboneGridSampler for repeating units of more than one residue (to allow sampling of secondary structures that are possible with, for example, D-L-D-L or L-L-D-L-L-D patterns, or with alpha-beta-alpha-beta or whatnot).
-- Add RosettaScripts parsing for setting the number of residues per repeating unit.
-- Update the residue type list in the BackboneGridSampler.
-- Update the fixed torsions list in the BackboneGridSampler, and add RosettaScripts parsing.
-- Update the varying torsions list in the BackboneGridSampler, and add RosettaScripts parsing.
-- Update text output.
-- Update the BackboneGridSamplerHelper, and make sure that it samples all residues properly.
-- Add integration tests.
-- Ensure backward compatibility.
-- Check existing integration tests for changes (cosmetic changes only are expected, since the default behaviour is still one residue per repeating unit).
-- Add documentation for new features to the Gollum wiki.
All unit tests pass. Integration tests pass with expected cosmetic changes to the backbonegridsampler test's output log (though full backward compatibility is maintained). Small stochastic changes to the backbonegridsamper_nstruct_mode test since this uses a nonmonotone minimizer, but no major or unexpected changes. The backbonegridsampler_multiresidue test produces appropriate output, but fails because it's new.
notify author
notify list [rosetta-logs@googlegroups.com]
Cysteines now become disulfides by the application of the disulfide patch.
1. The same goes for D-cysteine, homocysteine, D-homocysteine, beta-3-cysteine, penicillamine, d-penicillamine, and... any other disulfide residue type we hope to introduce.
2. So instead of incorporating two residue types, just type "FORMS_DISULFIDE_BOND" on the properties line of your params file (next to other standards like PROTEIN) and add a case to the disulfide patch.
3. A small number of integration test changes are expected. match_1n9l changes because it relies on the number of residue types in the name3map and it might require a special cysteine derived residue type without a HG to properly represent catalytic cysteines. dock_with_hotspot_place_simultaneously, remodel_disulfides_rosettascripts, inverse_rotamer_remodel have been bug-fixed, essentially--they were checking for a type().name() of CYD, which is a no-no in any version of Rosetta! @jadolfbr confirms that the antibody_designer test is likely responding to an uninitialized variable and that I should go ahead and merge.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #513 from RosettaCommons/roccomoretti/re-startfrom
Update StartFrom ligand docking mover
* Fix a bug where (in practice) only the first position would ever be chosen if multiple positions were given in the XML tag.
* Unify the JSON file handling - you can now put multiple positions for the same protein in the same JSON file. Also, you can mix and match specification type, and it now recognizes default (no-tag) specifications.
* Add the ability to specify the start from positions with the heavyatom positions in a PDB file - useful if you want to place the ligand graphically with PyMol.
* Add option to place the ligand based on the neighbor atom (the constant point for conformer overlay) rather than the all-atom coordinate centroid.
* Generally clean up the code
New unit tests, but otherwise no tests expected.
notify author
notify list [rosetta-logs@googlegroups.com]
Merge pull request #514 from RosettaCommons/roccomoretti/autoruntime
Add -run:maxruntime_bufferfactor option to JD2
On the cluster that I use, there's a hard time limit cutoff - exceed your requested time, and your job gets mercilessly killed and you get an email about it. This isn't necessarily good for output files, and if you're running a lot of jobs your email can be spammed if you misjudged timing.
You could use -run:maxruntime, which will stop Rosetta with a clean exit if you exceed the setting - although you have to give yourself plenty of space, as JD2 only checks this when launching a new job. This means it's easy to run over - particularly if the cluster node is slower than your test run machine.
Enter the new -run:maxruntime_bufferfactor option. This allows you to specify a real number which is the multiple of the estimated (currently average) job runtime. If you're within that time of the maxruntime value, you'll exit cleanly with a "too little time remaining" message. The estimated job runtime is calculated from the actual runtimes of the jobs on the run.
So if you're launching an eight hour run on a cluster, you can simply add "-run:maxruntime 28800 -run:maxruntime_bufferfactor 1.5" to your commandline/options, and if there isn't enough time to complete 1.5 jobs (on average) in the remaining time before the 8 hours is up, Rosetta will exit cleanly (though with an error message). No timing test runs or mental math required - it should work if you jobs take 33 s or if they take 3333 s. (Rosetta should stop at 7h59m36s and 7h24m24s, respectively.)
This option is off by default, even when maxruntime is on, so no test changes are expected. The default behavior should stay the same for all Job Distributor types, although I'm not sure how well things work for MPI and the like when the new option is active.
notify author
notify list [rosetta-logs@googlegroups.com]