「view this page in B3 βῆτα server」

Revisions №58466

branch: master 「№58466」
Commited by: Jared Adolf-Bryfogle
GitHub commit link: 「44da0a9651ce776f」 「№1078」
Difference from previous tested commit:  code diff
Commit date: 2016-02-17 23:19:10

Merge pull request #1078 from RosettaCommons/GlycanRelax/master Glycan Relax Protocol Add a new Glycan Relax application, add updates to Jason's RosettaCarbohydrate framework and add a generalized framework for backbone dihedral sampling. Code by @jadolfbr and @JWLabonte mainly during an intense collaborative coding week in SD. Thanks Jason! Glycan Relax aims to sample potential conformational states of carbohydrates, either attached to a protein or free. It is extremely fast. Currently, it uses a few strategies to do so, using statistics from various papers, the CHI (CarboHydrate Intrinsic) energy term, and a new framework for backbone dihedral sampling. Conformer statistics adapted from Schief lab Glycan Relax app, originally used/written by Yih-En Andrew Ban. Algorithm ======= Each round optimizes either one residue for BB sampling, linkage, or multiple for minimization. The overall total number of rounds is scaled linearly with the number of residues to sample. Currently uses a random sampler with a set of weights to each mover for sampling. The packing of OH groups is currently disabled for speed and memory. Weights are currently as follows: .20 Phi Sugar BB Sampling .20 Psi Sugar BB Sampling .20 Linkage Conformer Sampling .30 Small BB Sampling - equal weight to phi, psi, or omega -> .17 +/- 15 degrees -> .086 +/- 45 degrees -> .044 +/- 90 degrees .10 MinMover Framework Updates =============== Enable Optimization of glycan linkages during creation of glycans to ideal values @labonte - Fixed packer to disable packing of residues with SC_BRANCH_POINT variant, which would cause breakage of polymer residues coming off of amino acid side chains. Refactor CHI (CarboHydrate Intrinsic) energy term, enable creation of Sugar BB sampling data from the energy term, handled by the ScoringManager, and only done once. LinkageConformerMover: ``` ///@brief This code changes all of the dihedrals of a particular glycosidic linkage based on database info, /// esentially sampling carbohydrate dihedral conformers of two residues. /// ///@details The linkage conformers are carbohydrate residue type and (and linkage oxygen) dependant ie MAN-MAN /// If data is not known here, by default we sample from restype-independant data. /// If there are multiple conformers for a given linkage, will randomly select from them. /// /// 3 Main Conformer Sampling Strategies: //// 1) Mean + uniform in X standard deviations (Default) //// ->Build conformers using the means of dihedrals + or - some amount within X standard deviations of the mean. //// //// See Also: //// LinkageConformerMover.set_x_standard_deviations //// //// 2) Mean + probability in X standard deviations //// //// 3) Idealize //// -> Use only means when building linkage conformers. //// //// See: //// LinkageConformerMover.set_idealize_torsions ///// ``` Other ==== Added proper enums for the 3 main dihedrals to core/types (MainchainTorstionType). Eventually, these need to be reconciled with the numerical bb dihedral types that already exist, but aren't quite typed enums. Add functions to deal with these in pose/util. Since the numbers of the enums and the named integers match, these work with either. Add BBDihedralSampler base class and derived types for 1 dimensional, 2 dimensional, etc. sampling of BB data. Recapitulate SmallMover using this framework. Can use a general mover (BBDihedralSamplerMover) to use any BBSampler derived class. With a factory class, this could have RS Support. Code in protocols/simple_moves/bb_sampler and protocols/simple_moves/BBDihedralSamplerMover. Clean up MoverContainer. Add FAIL enum to MoverStatus. Fix/clean up some Code Templates. Add function to PyMolMover to set the model name. Clean up documentation for BackboneMover (turns out I've been using it wrong for 5 years. yay). Clean up documentation for MinMover

...