Page created by Vikram K. Mulligan (vmulligan@flatironinstitute.org). Last updated 12 October 2018. Back to Mover page.

BundleGridSampler

Generates a helical bundle using the Crick equations (describing a coiled-coil) or modified Crick equations (describing a laterally squashed coiled-coil), sampling user-specified ranges of parameters and outputting the lowest-energy bundle encountered (and its accompanying parameter values). Sampled parameters are evenly distributed in user-specified ranges; if more than one parameter is sampled, the mover samples an n-dimensional grid of sample values. Optionally, this mover can also output PDB files for all bundle geometries sampled. Parameters are stored with the pose, and are written in REMARK lines on PDB output. Note that because a strand is a special case of a helix, this mover can also be used to sample beta-barrel conformations or mixed alpha-beta structures.

Autogenerated Tag Syntax Documentation:


The BundleGridSampler is a mover that generates helical bundles using the Crick parameterization. It can sample regular N-dimensional grids of parameter values, with efficient parallelization.

References and author information for the BundleGridSampler mover:

BundleGridSampler Mover's citation(s): *Dang B, *Wu H, *Mulligan VK, Mravic M, Wu Y, Lemmin T, Ford A, Silva D-A, Baker D, and DeGrado WF. (2017). De novo design of covalently constrained mesosize protein scaffolds with unique tertiary structures. Proc Natl Acad Sci USA 114(41):10852–10857. doi: 10.1073/pnas.1710695114. (*Co-primary authors.)

<BundleGridSampler name="(&string;)" scorefxn="(&string;)"
        max_samples="(10000 &non_negative_integer;)"
        selection_type="(&BundleGridSampler_lohigh;)"
        pre_scoring_mover="(&string;)" pre_scoring_filter="(&string;)"
        pre_selection_mover="(&string;)" pre_selection_filter="(&string;)"
        dump_pdbs="(false &bool;)" pdb_prefix="(&string;)"
        use_degrees="(false &bool;)" symmetry="(0 &non_negative_integer;)"
        symmetry_copies="(0 &non_negative_integer;)" residue_name="(&string;)"
        helix_length="(0 &non_negative_integer;)" crick_params_file="(&string;)"
        reset="(true &bool;)" nstruct_mode="(false &bool;)"
        nstruct_repeats="(1 &non_negative_integer;)" r0="(0.000000 &real;)"
        r0_min="(0 &real;)" r0_max="(0 &real;)"
        r0_samples="(1 &positive_integer;)" omega0="(0.000000 &real;)"
        omega0_min="(0 &real;)" omega0_max="(0 &real;)"
        omega0_samples="(1 &positive_integer;)" delta_omega0="(0.000000 &real;)"
        delta_omega0_min="(0 &real;)" delta_omega0_max="(0 &real;)"
        delta_omega0_samples="(1 &positive_integer;)"
        delta_omega1="(0.000000 &real;)" delta_omega1_min="(0 &real;)"
        delta_omega1_max="(0 &real;)"
        delta_omega1_samples="(1 &positive_integer;)"
        delta_t="(0.000000 &real;)" delta_t_min="(0 &real;)"
        delta_t_max="(0 &real;)" delta_t_samples="(1 &positive_integer;)"
        z0_offset="(0.000000 &real;)" z0_offset_min="(0 &real;)"
        z0_offset_max="(0 &real;)" z0_offset_samples="(1 &positive_integer;)"
        z1_offset="(0.000000 &real;)" z1_offset_min="(0 &real;)"
        z1_offset_max="(0 &real;)" z1_offset_samples="(1 &positive_integer;)"
        epsilon="(1.000000 &real;)" epsilon_min="(0 &real;)"
        epsilon_max="(0 &real;)" epsilon_samples="(1 &positive_integer;)"
        repeating_unit_offset="(0 &non_negative_integer;)"
        r1_peratom="(0 &real_wsslist;)" omega1="(0.000000 &real;)"
        omega1_min="(0 &real;)" omega1_max="(0 &real;)"
        omega1_samples="(1 &positive_integer;)" z1="(0.000000 &real;)"
        z1_min="(0 &real;)" z1_max="(0 &real;)"
        z1_samples="(1 &positive_integer;)"
        delta_omega1_peratom="(0 &real_wsslist;)"
        delta_z1_peratom="(0 &real_wsslist;)" invert="(false &bool;)"
        set_dihedrals="(true &bool;)" set_bondangles="(true &bool;)"
        set_bondlengths="(true &bool;)" >
    <Helix crick_params_file="(&string;)" residue_name="(&string;)"
            helix_length="(0 &non_negative_integer;)" r0="(0.000000 &real;)"
            r0_min="(0 &real;)" r0_max="(0 &real;)"
            r0_samples="(1 &positive_integer;)"
            r0_copies_helix="(0 &non_negative_integer;)" omega0="(0.000000 &real;)"
            omega0_min="(0 &real;)" omega0_max="(0 &real;)"
            omega0_samples="(1 &positive_integer;)"
            omega0_copies_helix="(0 &non_negative_integer;)"
            pitch_from_helix="(0 &non_negative_integer;)"
            delta_omega0="(0.000000 &real;)" delta_omega0_min="(0 &real;)"
            delta_omega0_max="(0 &real;)"
            delta_omega0_samples="(1 &positive_integer;)"
            delta_omega0_copies_helix="(0 &non_negative_integer;)"
            delta_omega1="(0.000000 &real;)" delta_omega1_min="(0 &real;)"
            delta_omega1_max="(0 &real;)"
            delta_omega1_samples="(1 &positive_integer;)"
            delta_omega1_copies_helix="(0 &non_negative_integer;)"
            delta_t="(0.000000 &real;)" delta_t_min="(0 &real;)"
            delta_t_max="(0 &real;)" delta_t_samples="(1 &positive_integer;)"
            delta_t_copies_helix="(0 &non_negative_integer;)"
            z0_offset="(0.000000 &real;)" z0_offset_min="(0 &real;)"
            z0_offset_max="(0 &real;)" z0_offset_samples="(1 &positive_integer;)"
            z0_offset_copies_helix="(0 &non_negative_integer;)"
            z1_offset="(0.000000 &real;)" z1_offset_min="(0 &real;)"
            z1_offset_max="(0 &real;)" z1_offset_samples="(1 &positive_integer;)"
            z1_offset_copies_helix="(0 &non_negative_integer;)"
            epsilon="(1.000000 &real;)" epsilon_min="(0 &real;)"
            epsilon_max="(0 &real;)" epsilon_samples="(1 &positive_integer;)"
            epsilon_copies_helix="(0 &non_negative_integer;)"
            repeating_unit_offset="(0 &non_negative_integer;)"
            r1_peratom="(0 &real_wsslist;)" omega1="(0.000000 &real;)"
            omega1_min="(0 &real;)" omega1_max="(0 &real;)"
            omega1_samples="(1 &positive_integer;)"
            omega1_copies_helix="(0 &non_negative_integer;)" z1="(0.000000 &real;)"
            z1_min="(0 &real;)" z1_max="(0 &real;)"
            z1_samples="(1 &positive_integer;)"
            z1_copies_helix="(0 &non_negative_integer;)"
            delta_omega1_peratom="(0 &real_wsslist;)"
            delta_z1_peratom="(0 &real_wsslist;)" invert="(false &bool;)"
            set_dihedrals="(true &bool;)" set_bondangles="(true &bool;)"
            set_bondlengths="(true &bool;)" />
</BundleGridSampler>
  • scorefxn: Name of score function to use
  • max_samples: Maximum number of gridpoints to be sampled. This is provided as a user sanity check. Set max_samples to the number of samples you think you have requested. The BundleGridSampler will throw an error if the actual nuber of samples is greater than this. (For example, if I accidentally tell the BundleGridSampler to sample a 10x10x10x10 parameter grid, thinking that I will get 100 samples when I will actually get 10,000, I will quickly discover my error if I have set max_samples to 100.)
  • selection_type: Score criterion for selection: "high" or "low".
  • pre_scoring_mover: A mover to apply after backbone torsions are set but before final scoring and evaluation (like a min mover or something similar).
  • pre_scoring_filter: A filter to apply before scoring, which could help avoid wasteful scoring of bad conformations (like a bump check filter).
  • pre_selection_mover: A mover to apply before final solution selection (like a min mover or something similar).
  • pre_selection_filter: A filter to apply before final solution selection, which could help avoid wasteful scoring of bad conformations (like a bump check filter).
  • dump_pdbs: Write PDBs for all conformations sampled. If false (the default), then this mover carries out no direct PDB writing..
  • pdb_prefix: A prefix to apply to all output PDBs, if the dump_pdbs option is set to "true".
  • use_degrees: Interpret input values as degrees, not radians.
  • symmetry: Symmetry setting (n-fold; 0 or 1 === no symmetry
  • symmetry_copies: How many symmetry copies will be generated? 'All' if zero, only the first one if 1, but you can ask for any other number
  • residue_name: Residue, indicated by name, from which to build the helical bundle.
  • helix_length: Length, in residues, for this helix.
  • crick_params_file: File name of a file containing Crick parameters for the secondary structure type desired.
  • reset: If reset is set to "true" (the default), then input geometry is discarded and the BundleGridSampler builds a pose from scratch. If "false", then parametric geometry is appended to the input geometry.
  • nstruct_mode: If "true", sample a different set of mainchain torsions for each RosettaScripts job (with each successive job sampling the next gridpoint in the grid of parameter values to be sampled). If "false" (the default), then each job consists of the whole mainchain sampling effort.
  • nstruct_repeats: In nstruct_mode, this is the number of times each parameter gridpoint will be sampled. This defaults to 1 (i.e. each successive RosettaScripts job goes on to the next gridpoint), but can be set higher (i.e. successive RosettaScripts jobs repeat gridpoints).
  • r0: Major helix radius, in Angstroms.
  • r0_min: Minimum value of sampling range for r0.
  • r0_max: Maximum value of sampling range for r0.
  • r0_samples: Number of samples when sampling r0. Must be greater than zero.
  • omega0: Major helix twist per residue, stored in radians.
  • omega0_min: Minimum value of sampling range for omega0.
  • omega0_max: Maximum value of sampling range for omega0.
  • omega0_samples: Number of samples when sampling omega0. Must be greater than zero.
  • delta_omega0: Rotation of a helix about the z-axis, stored in radians.
  • delta_omega0_min: Minimum value of sampling range for delta_omega0.
  • delta_omega0_max: Maximum value of sampling range for delta_omega0.
  • delta_omega0_samples: Number of samples when sampling delta_omega0. Must be greater than zero.
  • delta_omega1: Rotation of a helix about its own axis, stored in radians.
  • delta_omega1_min: Minimum value of sampling range for delta_omega1.
  • delta_omega1_max: Maximum value of sampling range for delta_omega1.
  • delta_omega1_samples: Number of samples when sampling delta_omega1. Must be greater than zero.
  • delta_t: Offset along the polypeptide backbone, in residues.
  • delta_t_min: Minimum value of sampling range for delta_t.
  • delta_t_max: Maximum value of sampling range for delta_t.
  • delta_t_samples: Number of samples when sampling delta_t. Must be greater than zero.
  • z0_offset: Offset along the global z-axis, in Angstroms.
  • z0_offset_min: Minimum value of sampling range for z0_offset.
  • z0_offset_max: Maximum value of sampling range for z0_offset.
  • z0_offset_samples: Number of samples when sampling z0_offset. Must be greater than zero.
  • z1_offset: Offset along the superhelical path through space, in Angstroms.
  • z1_offset_min: Minimum value of sampling range for z1_offset.
  • z1_offset_max: Maximum value of sampling range for z1_offset.
  • z1_offset_samples: Number of samples when sampling z1_offset. Must be greater than zero.
  • epsilon: Lateral squash parameter/eccentricity of the cross-section of a bundle or barrel.
  • epsilon_min: Minimum value of sampling range for epsilon.
  • epsilon_max: Maximum value of sampling range for epsilon.
  • epsilon_samples: Number of samples when sampling epsilon. Must be greater than zero.
  • repeating_unit_offset: Shift, in residues, of the repeating unit of a helix.
  • r1_peratom: Minor helix radius -- a vector of real numbers in Angstroms, with one per atom in the repeating unit of a helix. Read from Crick params file, and not normally set by hand.
  • omega1: Minor helix twist per residue, stored in radians. Read from Crick params file, and not normally set by hand, sampled, or perturbed.
  • omega1_min: Minimum value of sampling range for omega1.
  • omega1_max: Maximum value of sampling range for omega1.
  • omega1_samples: Number of samples when sampling omega1. Must be greater than zero.
  • z1: Minor helix rise per residue along the helix axis, in Angstroms. Read from Crick params file, and not normally set by hand, sampled, or perturbed.
  • z1_min: Minimum value of sampling range for z1.
  • z1_max: Maximum value of sampling range for z1.
  • z1_samples: Number of samples when sampling z1. Must be greater than zero.
  • delta_omega1_peratom: Minor helix angular offsets of each mainchain atom in the repeating unit, in radians. Read from Crick params file, and not normally set by hand.
  • delta_z1_peratom: Minor helix axial offsets of each mainchain atom in the repeating unit, in Angstroms. Read from Crick params file, and not normally set by hand.
  • invert: Inversion state of this helix -- true for inverted.
  • set_dihedrals: True indicates that the parametric machinery will set mainchain torsion values.
  • set_bondangles: True indicates that the parametric machinery will allow mainchain bond angle values to deviate from ideality.
  • set_bondlengths: True indicates that the parametric machinery will allow mainchain bond length values to deviate from ideality.

Subtag Helix: Tags describing individual helices in the bundle

  • crick_params_file: File name of a file containing Crick parameters for the secondary structure type desired.
  • residue_name: For a specific helix, residue, indicated by name, from which to build the helical bundle.
  • helix_length: For a specific helix, length, in residues, for this helix
  • r0: Major helix radius, in Angstroms.
  • r0_min: Minimum value of sampling range for r0.
  • r0_max: Maximum value of sampling range for r0.
  • r0_samples: Number of samples when sampling r0. Must be greater than zero.
  • r0_copies_helix: The index of the parametric object (e.g. the helix, in the case of a helical bundle) from which the value for r0 should be copied.
  • omega0: Major helix twist per residue, stored in radians.
  • omega0_min: Minimum value of sampling range for omega0.
  • omega0_max: Maximum value of sampling range for omega0.
  • omega0_samples: Number of samples when sampling omega0. Must be greater than zero.
  • omega0_copies_helix: The index of the parametric object (e.g. the helix, in the case of a helical bundle) from which the value for omega0 should be copied.
  • pitch_from_helix: The index of the parametric object (e.g. the helix, in the case of a helical bundle) from which pitch value should be copied in order to set omega0, the twist per residue. An alternative to "omega0_copies_helix".
  • delta_omega0: Rotation of a helix about the z-axis, stored in radians.
  • delta_omega0_min: Minimum value of sampling range for delta_omega0.
  • delta_omega0_max: Maximum value of sampling range for delta_omega0.
  • delta_omega0_samples: Number of samples when sampling delta_omega0. Must be greater than zero.
  • delta_omega0_copies_helix: The index of the parametric object (e.g. the helix, in the case of a helical bundle) from which the value for delta_omega0 should be copied.
  • delta_omega1: Rotation of a helix about its own axis, stored in radians.
  • delta_omega1_min: Minimum value of sampling range for delta_omega1.
  • delta_omega1_max: Maximum value of sampling range for delta_omega1.
  • delta_omega1_samples: Number of samples when sampling delta_omega1. Must be greater than zero.
  • delta_omega1_copies_helix: The index of the parametric object (e.g. the helix, in the case of a helical bundle) from which the value for delta_omega1 should be copied.
  • delta_t: Offset along the polypeptide backbone, in residues.
  • delta_t_min: Minimum value of sampling range for delta_t.
  • delta_t_max: Maximum value of sampling range for delta_t.
  • delta_t_samples: Number of samples when sampling delta_t. Must be greater than zero.
  • delta_t_copies_helix: The index of the parametric object (e.g. the helix, in the case of a helical bundle) from which the value for delta_t should be copied.
  • z0_offset: Offset along the global z-axis, in Angstroms.
  • z0_offset_min: Minimum value of sampling range for z0_offset.
  • z0_offset_max: Maximum value of sampling range for z0_offset.
  • z0_offset_samples: Number of samples when sampling z0_offset. Must be greater than zero.
  • z0_offset_copies_helix: The index of the parametric object (e.g. the helix, in the case of a helical bundle) from which the value for z0_offset should be copied.
  • z1_offset: Offset along the superhelical path through space, in Angstroms.
  • z1_offset_min: Minimum value of sampling range for z1_offset.
  • z1_offset_max: Maximum value of sampling range for z1_offset.
  • z1_offset_samples: Number of samples when sampling z1_offset. Must be greater than zero.
  • z1_offset_copies_helix: The index of the parametric object (e.g. the helix, in the case of a helical bundle) from which the value for z1_offset should be copied.
  • epsilon: Lateral squash parameter/eccentricity of the cross-section of a bundle or barrel.
  • epsilon_min: Minimum value of sampling range for epsilon.
  • epsilon_max: Maximum value of sampling range for epsilon.
  • epsilon_samples: Number of samples when sampling epsilon. Must be greater than zero.
  • epsilon_copies_helix: The index of the parametric object (e.g. the helix, in the case of a helical bundle) from which the value for epsilon should be copied.
  • repeating_unit_offset: Shift, in residues, of the repeating unit of a helix.
  • r1_peratom: Minor helix radius -- a vector of real numbers in Angstroms, with one per atom in the repeating unit of a helix. Read from Crick params file, and not normally set by hand.
  • omega1: Minor helix twist per residue, stored in radians. Read from Crick params file, and not normally set by hand, sampled, or perturbed.
  • omega1_min: Minimum value of sampling range for omega1.
  • omega1_max: Maximum value of sampling range for omega1.
  • omega1_samples: Number of samples when sampling omega1. Must be greater than zero.
  • omega1_copies_helix: The index of the parametric object (e.g. the helix, in the case of a helical bundle) from which the value for omega1 should be copied.
  • z1: Minor helix rise per residue along the helix axis, in Angstroms. Read from Crick params file, and not normally set by hand, sampled, or perturbed.
  • z1_min: Minimum value of sampling range for z1.
  • z1_max: Maximum value of sampling range for z1.
  • z1_samples: Number of samples when sampling z1. Must be greater than zero.
  • z1_copies_helix: The index of the parametric object (e.g. the helix, in the case of a helical bundle) from which the value for z1 should be copied.
  • delta_omega1_peratom: Minor helix angular offsets of each mainchain atom in the repeating unit, in radians. Read from Crick params file, and not normally set by hand.
  • delta_z1_peratom: Minor helix axial offsets of each mainchain atom in the repeating unit, in Angstroms. Read from Crick params file, and not normally set by hand.
  • invert: Inversion state of this helix -- true for inverted.
  • set_dihedrals: True indicates that the parametric machinery will set mainchain torsion values.
  • set_bondangles: True indicates that the parametric machinery will allow mainchain bond angle values to deviate from ideality.
  • set_bondlengths: True indicates that the parametric machinery will allow mainchain bond length values to deviate from ideality.

Note that default parameter ranges are applied separately to each helix. For example, the following script would perform 16 samples (4 each for r0 of helix 1 and r0 of helix 2):

<BundleGridSampler name="bgs1" helix_length="20" scorefxn="sfxn1" r0_min="5.0" r0_max="8.0" r0_samples="4" omega0="0.05" delta_omega0="0" delta_omega1="0" delta_t="0">
     <Helix />
     <Helix delta_omega0="3.14" />
</BundleGridSampler>

In order to sample a range of parameters, keeping a parameter value for two different helices the same, the [parameter]_copies_helix option may be used in a Helix tag. The helix to be copied must be declared before the helix that has the [parameter]_copies_helix option. The following script, for example, carries out 4 samples, with r0 for both helices ranging from 5 to 8 (and always the same for both helices):

<BundleGridSampler name="bgs1" helix_length="20" scorefxn="sfxn1" r0_min="5.0" r0_max="8.0" r0_samples="4" omega0="0.05" delta_omega0="0" delta_omega1="0" delta_t="0">
     <Helix />
     <Helix delta_omega0="3.14" r0_copies_helix="1"/>
</BundleGridSampler>

See Also