Merge pull request #876 from RosettaCommons/vmullig/glysampling
Allow Ramachandran sampling with flat and/or symmetrized Rama tables
Existing Ramachandran tables are a bit too heavily biased for effective sampling, particularly if one wants to design afterwards. This pull request adds high-contrast, flattened Ramachandran tables for large-scale sampling. It also adds symmetrized tables for mixed D/L sampling.
Tasks:
- Add flat rama table for generic L-alpha-amino acids.
- Add flat, symmetrized rama table for generic L- or D-alpha-amino acids.
- Add flat, symmetrized proline rama table (for sampling D- and L- prolines).
- Add flat, symmetrized glycine rama table.
- Add high-stringency versions of the above tables.
- Add option to use flat and/or symmetrized tables for sampling (to GenKIC).
- Add storage space in Ramachandran for additional cumulative distribution functions.
- Add core sampling function that can take an arbitrary rama table.
- Add functionality to core for lazily loading additional rama tables.
- Add options to options system for additional rama tables.
- Documentation.
- Add option to use flat and/or symmetrized tables for sampling to the SetTorsion mover.
- Documentation.
- Add support to SimpleCycpepPredictApplication for custom Rama tables for sampling.
- Documentation
- Integration test.
- Add option (flag) to use non-flat, symmetric glycine tables for scoring and/or sampling (and to generate these on the fly, on Rama table load).
- Add flag.
- Make symmetrized Ramachandran gly table on the fly.
- Make symmetrized P_AA_PP gly table on the fly.
- Unit test for the scoring side of this.
- Documentation for the flag.
- Beauty
While I'm at it:
- Fixed D-rama sampling bug in SetTorsion mover.
Put off to a future pull request:
- Add AiB.
- Figure out rama scoring for AiB (maybe L-alanine's probability table multiplied by D-alanine's probability table, re-normalized, and converted to an energy?).
- Figure out p_aa_pp scoring for AiB (same as above?).
- Add adjacent-residue clash check option to GenKIC bump checker (requested by Andy).