Mover created by Dr. Jared Adolf-Bryfogle (jadolfbr@gmail.com), Dr. Sebastian Raemisch (raemisch@scripps.edu) and Dr. Jason Labonte (JWLabonte@jhu.edu)

PIs: Dr. William Schief (schief@scripps.edu) and Dr. Jeffrey Gray (jgray@jhu.edu)

NOTE: This is and in-development, unpublished application. If you use this in any publication, please email the authors.

# Description

This mover is created to do denovo modeling and refinement of glycans. It does this through iteratively sampling and building out the glycan trees from their roots. By default (without a passed residue selector), it selects ALL glycan residues in the pose. Please see the GlycanResidueSelector for selecting particular glycan trees and the GlycanLayerSelector for particular glycan layers.

# Details

Autogenerated Tag Syntax Documentation:

Author: Jared Adolf-Bryfogle (jadolfbr@gmail.com) Brief: A protocol for optimizing glycan trees using the GlycanSampler from the base of the tree out to the leaves. Details: Works by making all other residues virtual except the ones it is working on (current Layer). A virtual residue is not scored. It will start at the first glycan residues, and then move out to the edges.

GENERAL ALGORITHM

We start at the roots, and make all other glycan residues virtual. We first model towards the leaves and this is considered the forward direction. the GlycanSampler is used for the actual modeling, we only model a layer at a time, until we reach the tips. If more than one round is set, the protocol will move backwards on the next round, from the leafs to the roots. A third round will involve relaxation again in the forward direction. So we go forward, back, forward, etc. for how ever many rounds you set.

QUECHING

By default, we model all glycans simultaneously. First, all glycan roots (the start of the tree), and slowly unvirtualize all glycan residues, while only modeling each layer. Alternatively, we can choose a particular glycan tree, run the algorithm, and then choose another glycan tree randomly until all glycan trees have been optimized. Here, we call this quenching.

GLYCAN LAYERS

Draw a tree on a paper. We start with the beginning N residues, and work our way out towards the leaves. Layers are defined by the glycan residue distance to the rooot. This enables branching residues to be considered the same layer conceptually and computationally, and allows them to be modeled together.

--LAYER SIZE--

The distance that make up a layer. If we have a distance of 2, we first model all glycans that are equal to or less than 2 residue distance to the root. We then slide this layer up. So we take all residues that have a distance between 3 and 1, and so on.

--WINDOW SIZE--

The layers are slid down throught the tree of the glycan. The window size represents the overlap in the layers. A window size of 1, means that the last residue (or residues of layer 1) from the last modeling effort, will be used again as part of the next layer. A window size of 0, means that no residues will be re-modeled. Typically, we would want at least a window size of 1. --Residue Selection--

You do not need a ResidueSelector passed in. It will select all glycan residues automatically. However, if you do, you must only pass in glycan residues. See the GlycanResidueSelector and the GlycanLayerSelector for a very easy way to select specific glycan trees and residues.

<GlycanTreeModeler name="(&string;)" layer_size="(&non_negative_integer;)"
window_size="(&non_negative_integer;)" refine="(false &bool;)"
rounds="(&non_negative_integer;)"
glycan_sampler_rounds="(25 &non_negative_integer;)"
use_conformer_probs="(false &bool;)"
use_gaussian_sampling="(false &bool;)"
force_virts_for_refinement="(false &bool;)" idealize="(false &bool;)"
quench_mode="(false &bool;)" final_min_pack_min="(true &bool;)"
min_rings="(false &bool;)" cartmin="(false &bool;)"
hybrid_protocol="(false &bool;)" shear="(false &bool;)"
residue_selector="(&string;)" scorefxn="(&string;)" />
• layer_size: Brief: Set the layer size we will be using. A layer is a set of glycan residues that we will be optimizing. We work our way through the layers, while the rest of the residues are virtual (not scored).

Details: The distance that make up a layer. If we have a distance of 2, we first model all glycans that are equal to or less than 2 residue distance to the root. We then slide this layer up. So we take all residues that have a distance between 3 and 1, and so on.

• window_size: Brief: Set the window size. This is the overlap of the layers during modeling.

Details: The layers are slid down throught the tree of the glycan. The window size represents the overlap in the layers. A window size of 1, means that the last residue (or residues of layer 1) from the last modeling effort, will be used again as part of the next layer. A window size of 0, means that no residues will be re-modeled. Typically, we would want at least a window size of 1.

• refine: Do a refinement instead of a denovo model. This means NO randomization at the start of the protocol and modeling is done in the context of the full glycan tree instead of using virtual (non-scored) residues during tree growth
• rounds: Set the number of rounds. We start with the forward direction, from the root/start out to the glycan tips. Next round we go backward, then forward. The number of rounds corresponds to how many back and forth directions we go
• glycan_sampler_rounds: Round Number for the internal the GlycanSampler. Default is the default of the GlycanSampler.
• use_conformer_probs: Use conformer probabilities instead of doing uniform sampling
• use_gaussian_sampling: Set whether to build conformer torsions using a gaussian of the angle or through uniform sampling up to 1 SD (default)
• force_virts_for_refinement: Refinement now models layers in the context of the full glycan tree. Turn this option on to use non-scored residues (virtuals) at the ends of the tree that are not being modeled. This is how the de-novo protocol works.
• idealize: Attempt to idealize the bond lengths/angles of glycan residues being modeled
• quench_mode: Do quench mode for each glycan tree?
• final_min_pack_min: Do a final set of cycles of min/pack
• min_rings: Minimize Carbohydrate Rings during minimization.
• cartmin: Use Cartesian Minimization instead of Dihedral Minimization during packing steps.
• hybrid_protocol: Set to use an experimental protocol where we build out the glycans, but re-model the full tree during the building process
• shear: Use the Shear Mover that is now compatible with glycans at an a probability of 10 percent
• residue_selector: Residue Selector containing only glycan residues. This is not needed, as this class will automatically select ALL glycan residues in the pose to model. See the GlycanResidueSelector and the GlycanLayerSelector for control glycan selection. Note that the ASN is not technically a glycan. Since dihedral angles are defined for a sugar from the upper to lower residue, the dihedral angles between the first glycan and the ASN are defined by the first glycan.
• scorefxn: Name of score function to use