Rosetta  2020.37
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber Class Reference

#include <GeneralizedKICperturber.hh>

Inheritance diagram for protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber:
Inheritance graph
[legend]

Public Member Functions

 GeneralizedKICperturber ()
 Creator for GeneralizedKICperturber. More...
 
 GeneralizedKICperturber (GeneralizedKICperturber const &src)
 Copy constructor for GeneralizedKICperturber. More...
 
 ~GeneralizedKICperturber () override
 Destructor for GeneralizedKICperturber mover. More...
 
GeneralizedKICperturberOP clone () const
 Clone function for GeneralizedKICperturber: More...
 
std::string get_name () const
 Returns the name of this class ("GeneralizedKICperturber"). More...
 
perturber_effect get_perturber_effect () const
 Returns the enum type for the effect of this perturber. More...
 
void set_perturber_effect (perturber_effect const &effect)
 Sets the effect of this perturber. More...
 
void set_perturber_effect (std::string const &effectname)
 Sets the effect of this perturber using the perturber effect name. Exits with an error message if the name is unknown. More...
 
void add_inputvalue (core::Real const &inputvalue)
 Adds a real value to the list of real input values. More...
 
void add_residue (core::Size const residue_index)
 Adds a residue to the list of residues on which this perturber should act. More...
 
void clear_residues ()
 Clears the residue list for this perturber. More...
 
void add_atom_set (utility::vector1< core::id::NamedAtomID > const &atomset)
 Adds a set of atoms defining a bond length, bond angle, or dihedral angle to the list of sets of atoms on which this perturber should act. More...
 
void load_bin_params (std::string const &bin_params_file)
 Initializes the BinTransitionCalculator object and loads a bin_params file. More...
 
void set_iterations (core::Size const val)
 Set the number of iterations for this perturber. More...
 
core::Size iterations () const
 Return the number of iterations for this perturber. More...
 
void set_must_switch_bins (bool const val)
 Set whether the perturb_backbone_by_bins perturber requires residues to change their torsion bins every move, or whether they can stay within the same bin. More...
 
bool must_switch_bins () const
 Return whether the perturb_backbone_by_bins perturber requires residues to change their torsion bins every move, or whether they can stay within the same bin. More...
 
void set_bin (std::string const &bin)
 Set the bin that the set_backbone_bin perturber will use. More...
 
std::string bin () const
 Get the bin that the set_backbone_bin perturber will use. More...
 
void apply (core::pose::Pose const &original_pose, core::pose::Pose const &loop_pose, utility::vector1< std::pair< core::Size, core::Size > > const &residue_map, utility::vector1< std::pair< core::Size, core::Size > > const &tail_residue_map, utility::vector1< std::pair< core::id::AtomID, numeric::xyzVector< core::Real > > > const &atomlist, utility::vector1< core::Real > &torsions, utility::vector1< core::Real > &bondangles, utility::vector1< core::Real > &bondlengths) const
 Applies the perturbation to the vectors of desired torsions, desired angles, and desired bond lengths. More...
 
void init_bbgmover (core::pose::Pose const &loop_pose, utility::vector1< std::pair< core::Size, core::Size > > const &residue_map)
 
void set_attach_boinc_ghost_observer (bool const setting)
 Sets whether we are attaching a BOINC "ghost" pose observer. More...
 
bool attach_boinc_ghost_observer () const
 Gets whether we are attaching a BOINC "ghost" pose observer. More...
 
core::scoring::Rama_Table_Type custom_rama_table () const
 Get the custom Ramachandran table (by enum) for the perturb_alpha_backbone_by_rama perturber. More...
 
void set_custom_rama_table (core::scoring::Rama_Table_Type const type)
 Set the custom Ramachandran table (by enum) for the perturb_alpha_backbone_by_rama perturber. More...
 
void set_custom_rama_table (std::string const &name)
 Set the custom Ramachandran table (by name) for the perturb_alpha_backbone_by_rama perturber. More...
 

Static Public Member Functions

static perturber_effect get_perturber_effect_from_name (std::string const &name)
 Returns the enum type for the effect of a pertuber based on a perturber name. Returns unknown_effect if can't find a match for the name. More...
 
static std::string get_perturber_effect_name (core::Size &effect)
 Returns the name of a perturber given the enum type. Returns "unknown_effect" if no such effect exists. More...
 
static void define_valid_perturber_name_enumeration (utility::tag::XMLSchemaDefinition &xsd)
 

Private Member Functions

core::Size get_loop_index (core::Size const original_pose_index, utility::vector1< std::pair< core::Size, core::Size > > const &residue_map, bool const fail_if_not_found=true) const
 Given an index in the original pose and a mapping from loop to pose, return the index in the loop. More...
 
void reindex_AtomIDs (utility::vector1< std::pair< core::Size, core::Size > > const &residue_map, utility::vector1< utility::vector1< core::id::AtomID > > &AtomIDs_reindexed, core::pose::Pose const &original_pose) const
 Given a list of lists of AtomIDs, where residue indices are based on the original pose, and a mapping of original pose residue ID values to loop residue ID values, generate a new list of lists of AtomIDs, where the residue indices are based on the loop pose. More...
 
void apply_set_dihedral (utility::vector1< utility::vector1< core::id::AtomID > > const &dihedrallist, utility::vector1< std::pair< core::id::AtomID, numeric::xyzVector< core::Real > > > const &atomlist, utility::vector1< core::Real > const &inputvalues_real, utility::vector1< core::Real > &torsions, GenKICPerturberEffect const effect) const
 Applies a set_dihedral perturbation to a list of torsions. More...
 
void apply_set_bondangle (utility::vector1< utility::vector1< core::id::AtomID > > const &bondanglelist, utility::vector1< std::pair< core::id::AtomID, numeric::xyzVector< core::Real > > > const &atomlist, utility::vector1< core::Real > const &inputvalues_real, utility::vector1< core::Real > &bondangles, GenKICPerturberEffect const effect) const
 Applies a set_bondangle perturbation to a list of bond angles. More...
 
void apply_set_bondlength (utility::vector1< utility::vector1< core::id::AtomID > > const &bondlengthlist, utility::vector1< std::pair< core::id::AtomID, numeric::xyzVector< core::Real > > > const &atomlist, utility::vector1< core::Real > const &inputvalues_real, utility::vector1< core::Real > &bondlengths, GenKICPerturberEffect const effect) const
 Applies a set_bondlength perturbation to a list of bond lengths. More...
 
void apply_set_backbone_bin (core::pose::Pose const &original_pose, core::pose::Pose const &loop_pose, utility::vector1< core::Size > const &residues, utility::vector1< std::pair< core::id::AtomID, numeric::xyzVector< core::Real > > > const &atomlist, utility::vector1< std::pair< core::Size, core::Size > > const &residue_map, utility::vector1< std::pair< core::Size, core::Size > > const &tail_residue_map, utility::vector1< core::Real > &torsions) const
 Applies a set_backbone_bin perturbation to the list of torsions. More...
 
void apply_randomize_alpha_backbone_by_rama (core::pose::Pose const &original_pose, core::pose::Pose const &loop_pose, utility::vector1< core::Size > const &residues, utility::vector1< std::pair< core::id::AtomID, numeric::xyzVector< core::Real > > > const &atomlist, utility::vector1< std::pair< core::Size, core::Size > > const &residue_map, utility::vector1< std::pair< core::Size, core::Size > > const &tail_residue_map, utility::vector1< core::Real > &torsions) const
 Applies a randomize_alpha_backbone_by_rama perturbation to the list of torsions. More...
 
void apply_randomize_backbone_by_rama_prepro (core::pose::Pose const &original_pose, core::pose::Pose const &loop_pose, utility::vector1< core::Size > const &residues, utility::vector1< std::pair< core::id::AtomID, numeric::xyzVector< core::Real > > > const &atomlist, utility::vector1< std::pair< core::Size, core::Size > > const &residue_map, utility::vector1< std::pair< core::Size, core::Size > > const &tail_residue_map, utility::vector1< core::Real > &torsions) const
 Applies a randomize_backbone_by_rama_prepro perturbation to the list of torsions. More...
 
void apply_randomize_backbone_by_bins (core::pose::Pose const &original_pose, core::pose::Pose const &loop_pose, utility::vector1< core::Size > const &residues, utility::vector1< std::pair< core::id::AtomID, numeric::xyzVector< core::Real > > > const &atomlist, utility::vector1< std::pair< core::Size, core::Size > > const &residue_map, utility::vector1< std::pair< core::Size, core::Size > > const &tail_residue_map, utility::vector1< core::Real > &torsions) const
 Applies a randomize_backbone_by_bins perturbation to the list of torsions. More...
 
void apply_perturb_dihedral_bbg (core::pose::Pose const &original_pose, core::pose::Pose const &loop_pose, utility::vector1< core::Size > const &residues, utility::vector1< std::pair< core::id::AtomID, numeric::xyzVector< core::Real > > > const &atomlist, utility::vector1< std::pair< core::Size, core::Size > > const &residue_map, utility::vector1< core::Real > &torsions) const
 Applies a perturb_dihedral_bbg perturbation to a list of torsions. More...
 
void apply_perturb_backbone_by_bins (core::pose::Pose const &original_pose, core::pose::Pose const &loop_pose, utility::vector1< core::Size > const &residues, utility::vector1< std::pair< core::id::AtomID, numeric::xyzVector< core::Real > > > const &atomlist, utility::vector1< std::pair< core::Size, core::Size > > const &residue_map, utility::vector1< std::pair< core::Size, core::Size > > const &tail_residue_map, utility::vector1< core::Real > &torsions) const
 Applies a perturb_backbone_by_bins perturbation to the list of torsions. More...
 
void apply_copy_backbone_dihedrals (core::pose::Pose const &original_pose, core::pose::Pose const &loop_pose, utility::vector1< core::Size > const &residues, utility::vector1< std::pair< core::id::AtomID, numeric::xyzVector< core::Real > > > const &atomlist, utility::vector1< std::pair< core::Size, core::Size > > const &residue_map, utility::vector1< std::pair< core::Size, core::Size > > const &tail_residue_map, utility::vector1< core::Real > &torsions, bool const mirror) const
 Applies a copy_backbone_dihedrals perturbation to the list of torsions. More...
 
void apply_sample_cis_peptide_bond (core::pose::Pose const &loop_pose, utility::vector1< std::pair< core::id::AtomID, numeric::xyzVector< core::Real > > > const &atomlist, utility::vector1< core::Size > const &residues, utility::vector1< std::pair< core::Size, core::Size > > const &residue_map, utility::vector1< std::pair< core::Size, core::Size > > const &tail_residue_map, utility::vector1< core::Real > &torsions) const
 Applies a sample_cis_peptide_bond perturbation to the list of torsions. More...
 
bool is_in_list (core::Size const val, utility::vector1< core::Size > const &vect) const
 Is a value in a list? More...
 

Private Attributes

simple_moves::BBGaussianMoverOP bbgmover_
 bbgmover More...
 
core::scoring::bin_transitions::BinTransitionCalculatorOP bin_transition_calculator_
 A BinTransitionCalculatorOP. This will be null by default, and will only point to a BinTransitionCalculator object in the case of those perturbers that use torsion bin transition probabilities. More...
 
perturber_effect effect_
 The effect of this perturber. See the perturber_effect enum type for more information. More...
 
utility::vector1< core::Realinputvalues_real_
 Real input values for the operation. For example, a set_dihedral operation would take a single real value (the value that the dihedral will be set to). More...
 
utility::vector1< core::Sizeresidues_
 The list of residues on which this operation should be carried out. More...
 
utility::vector1
< utility::vector1
< core::id::NamedAtomID > > 
atoms_
 A list of sets of atoms defining bond lenghts, bond angles, or dihedral angles on which this perturber will work. More...
 
core::Size iterations_
 Number of iterations of perturbation for certain perturbers. More...
 
bool must_switch_bins_
 A parameter specifically for the perturb_backbone_by_bins perturber. If true, the perturber ALWAYS changes the torsion bin of the residue. If false, it MAY change the torsion bin of the residue, or it MAY keep it the same, based on the relative bin probabilities. More...
 
std::string bin_
 A parameter specifically for the set_backbone_bin perturber. The bin that will be assigned. More...
 
bool attach_boinc_ghost_observer_
 Should poses generated by the perturber be used for ghost display in BOINC? More...
 
core::scoring::Rama_Table_Type custom_rama_table_
 A parameter specifically for the perturb_alpha_backbone_by_rama perturber. An optional custom Ramachandran map for sampling. Defaults to unknown_ramatable_type (unused – use default Ramachandran map for the amino acid residue in question. More...
 

Constructor & Destructor Documentation

protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::GeneralizedKICperturber ( )
protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::GeneralizedKICperturber ( GeneralizedKICperturber const &  src)

Copy constructor for GeneralizedKICperturber.

References bbgmover_, and bin_transition_calculator_.

protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::~GeneralizedKICperturber ( )
overridedefault

Destructor for GeneralizedKICperturber mover.

Member Function Documentation

void protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::add_atom_set ( utility::vector1< core::id::NamedAtomID > const &  atomset)
inline

Adds a set of atoms defining a bond length, bond angle, or dihedral angle to the list of sets of atoms on which this perturber should act.

These are indices based on the original structure, NOT based on the loop to be closed. Some effects act on a list of residues, while others act on a list of atoms.

References atoms_.

void protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::add_inputvalue ( core::Real const &  inputvalue)
inline

Adds a real value to the list of real input values.

References inputvalues_real_.

void protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::add_residue ( core::Size const  residue_index)
inline

Adds a residue to the list of residues on which this perturber should act.

These are indices based on the original structure, NOT based on the loop to be closed. Some effects act on a list of residues, while others act on a list of AtomIDs.

References residues_.

void protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::apply ( core::pose::Pose const &  original_pose,
core::pose::Pose const &  loop_pose,
utility::vector1< std::pair< core::Size, core::Size > > const &  residue_map,
utility::vector1< std::pair< core::Size, core::Size > > const &  tail_residue_map,
utility::vector1< std::pair< core::id::AtomID, numeric::xyzVector< core::Real > > > const &  atomlist,
utility::vector1< core::Real > &  torsions,
utility::vector1< core::Real > &  bondangles,
utility::vector1< core::Real > &  bondlengths 
) const

Applies the perturbation to the vectors of desired torsions, desired angles, and desired bond lengths.

Parameters
[in]original_pose- The original pose.
[in]loop_pose- A pose consisting of just the loop to be perturbed, plus one residue on each side establishing the frame.
[in]residue_map- Mapping of (loop residue, original pose residue).
[in]tail_residue_map- Mapping of (tail residue in loop pose, original pose tail residue).
[in]atomlist- List of atoms (residue indices are based on the loop_pose).
[in,out]torsions- Desired torsions for each atom; can be set or altered by the apply() function.
[in,out]bondangles- Desired bond angles for each atom; can be set or altered by the apply() function.
[in,out]bondlengths- Desired bond lengths for each atom; can be set or altered by the apply() function.

References apply_copy_backbone_dihedrals(), apply_perturb_backbone_by_bins(), apply_perturb_dihedral_bbg(), apply_randomize_alpha_backbone_by_rama(), apply_randomize_backbone_by_bins(), apply_randomize_backbone_by_rama_prepro(), apply_sample_cis_peptide_bond(), apply_set_backbone_bin(), apply_set_bondangle(), apply_set_bondlength(), apply_set_dihedral(), protocols::generalized_kinematic_closure::perturber::copy_backbone_dihedrals, effect_, inputvalues_real_, protocols::generalized_kinematic_closure::perturber::mirror_backbone_dihedrals, protocols::generalized_kinematic_closure::perturber::perturb, protocols::generalized_kinematic_closure::perturber::perturb_backbone_by_bins, protocols::generalized_kinematic_closure::perturber::perturb_bondangle, protocols::generalized_kinematic_closure::perturber::perturb_bondlength, protocols::generalized_kinematic_closure::perturber::perturb_dihedral, protocols::generalized_kinematic_closure::perturber::perturb_dihedral_bbg, protocols::generalized_kinematic_closure::perturber::randomize, protocols::generalized_kinematic_closure::perturber::randomize_alpha_backbone_by_rama, protocols::generalized_kinematic_closure::perturber::randomize_backbone_by_bins, protocols::generalized_kinematic_closure::perturber::randomize_backbone_by_rama_prepro, protocols::generalized_kinematic_closure::perturber::randomize_dihedral, reindex_AtomIDs(), residues_, protocols::generalized_kinematic_closure::perturber::sample_cis_peptide_bond, protocols::generalized_kinematic_closure::perturber::set, protocols::generalized_kinematic_closure::perturber::set_backbone_bin, protocols::generalized_kinematic_closure::perturber::set_bondangle, protocols::generalized_kinematic_closure::perturber::set_bondlength, and protocols::generalized_kinematic_closure::perturber::set_dihedral.

void protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::apply_copy_backbone_dihedrals ( core::pose::Pose const &  original_pose,
core::pose::Pose const &  loop_pose,
utility::vector1< core::Size > const &  residues,
utility::vector1< std::pair< core::id::AtomID, numeric::xyzVector< core::Real > > > const &  atomlist,
utility::vector1< std::pair< core::Size, core::Size > > const &  residue_map,
utility::vector1< std::pair< core::Size, core::Size > > const &  tail_residue_map,
utility::vector1< core::Real > &  torsions,
bool const  mirror 
) const
private

Applies a copy_backbone_dihedrals perturbation to the list of torsions.

Parameters
[in]original_pose- The input pose.
[in]loop_pose- A pose that is just the loop to be closed (possibly with other things hanging off of it).
[in]residues- A vector of the indices of residues affected by this perturber.
[in]atomlist- A vector of pairs of AtomID, xyz coordinate. Residue indices are based on the loop pose, NOT the original pose.
[in]residue_map- A vector of pairs of (loop pose index, original pose index).
[in]tail_residue_map- A vector of pairs of (loop pose index of tail residue, original pose index of tail residue).
[in,out]torsions- A vector of desired torsions, some of which are randomized by this function.
[in]mirror- If true, then backbone dihedrals are copied with inversion (multiplied by -1). If false, then they copied faithfully.

References apply_set_dihedral(), core::conformation::Residue::connect_atom(), core::conformation::Residue::connected_residue_at_resconn(), get_loop_index(), core::conformation::Residue::has_lower_connect(), core::conformation::Residue::has_upper_connect(), core::chemical::ResidueType::lower_connect_id(), core::conformation::Residue::mainchain_torsions(), core::pose::Pose::residue(), core::pose::Pose::residue_type(), protocols::generalized_kinematic_closure::perturber::set, and core::chemical::ResidueType::upper_connect_id().

Referenced by apply().

void protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::apply_perturb_backbone_by_bins ( core::pose::Pose const &  original_pose,
core::pose::Pose const &  loop_pose,
utility::vector1< core::Size > const &  residues,
utility::vector1< std::pair< core::id::AtomID, numeric::xyzVector< core::Real > > > const &  atomlist,
utility::vector1< std::pair< core::Size, core::Size > > const &  residue_map,
utility::vector1< std::pair< core::Size, core::Size > > const &  tail_residue_map,
utility::vector1< core::Real > &  torsions 
) const
private

Applies a perturb_backbone_by_bins perturbation to the list of torsions.

Parameters
[in]original_pose- The input pose.
[in]loop_pose- A pose that is just the loop to be closed (possibly with other things hanging off of it).
[in]residues- A vector of the indices of residues affected by this perturber.
[in]atomlist- A vector of pairs of AtomID, xyz coordinate. Residue indices are based on the loop pose, NOT the original pose.
[in]residue_map- A vector of pairs of (loop pose index, original pose index).
[in]tail_residue_map- A vector of pairs of (loop pose index of tail residue, original pose index of tail residue).
[in,out]torsions- A vector of desired torsions, some of which are randomized by this function.

References apply_set_dihedral(), attach_boinc_ghost_observer(), bin_transition_calculator_, core::pose::Pose::conformation(), get_loop_index(), core::conformation::Residue::is_polymer_bonded(), iterations(), core::conformation::Residue::mainchain_atoms(), must_switch_bins(), core::conformation::Conformation::residue(), core::pose::Pose::residue(), core::conformation::Residue::residue_connect_atom_index(), core::scoring::rg, protocols::generalized_kinematic_closure::perturber::set, protocols::generalized_kinematic_closure::set_loop_pose(), and core::pose::Pose::size().

Referenced by apply().

void protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::apply_perturb_dihedral_bbg ( core::pose::Pose const &  original_pose,
core::pose::Pose const &  loop_pose,
utility::vector1< core::Size > const &  residues,
utility::vector1< std::pair< core::id::AtomID, numeric::xyzVector< core::Real > > > const &  atomlist,
utility::vector1< std::pair< core::Size, core::Size > > const &  residue_map,
utility::vector1< core::Real > &  torsions 
) const
private

Applies a perturb_dihedral_bbg perturbation to a list of torsions.

Backbone Gaussian Perturbation

Parameters
[in]original_pose- The input pose.
[in]loop_pose- A pose that is just the loop to be closed (possibly with other things hanging off of it).
[in]residues- A vector of the indices of residues affected by this perturber. Note that
[in]atomlist- A vector of pairs of AtomID, xyz coordinate. Residue indices are based on the loop pose, NOT the original pose.
[in]residue_map- A vector of pairs of (loop pose index, original pose index).
[in,out]torsions- A vector of desired torsions, some of which are randomized by this function.

References attach_boinc_ghost_observer(), bbgmover_, get_loop_index(), core::chemical::ResidueType::is_alpha_aa(), core::pose::Pose::residue(), core::pose::Pose::size(), and core::conformation::Residue::type().

Referenced by apply().

void protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::apply_randomize_alpha_backbone_by_rama ( core::pose::Pose const &  original_pose,
core::pose::Pose const &  loop_pose,
utility::vector1< core::Size > const &  residues,
utility::vector1< std::pair< core::id::AtomID, numeric::xyzVector< core::Real > > > const &  atomlist,
utility::vector1< std::pair< core::Size, core::Size > > const &  residue_map,
utility::vector1< std::pair< core::Size, core::Size > > const &  tail_residue_map,
utility::vector1< core::Real > &  torsions 
) const
private

Applies a randomize_alpha_backbone_by_rama perturbation to the list of torsions.

This checks whether each residue is an alpha-amino acid.

Parameters
[in]original_pose- The input pose.
[in]loop_pose- A pose that is just the loop to be closed (possibly with other things hanging off of it).
[in]residues- A vector of the indices of residues affected by this perturber.
[in]atomlist- A vector of pairs of AtomID, xyz coordinate. Residue indices are based on the loop pose, NOT the original pose.
[in]residue_map- A vector of pairs of (loop pose index, original pose index).
[in]tail_residue_map- A vector of pairs of (loop pose index of tail residue, original pose index of tail residue).
[in,out]torsions- A vector of desired torsions, some of which are randomized by this function.

This checks whether each residue is an alpha-amino acid.

Parameters
[in]original_pose- The input pose.
[in]loop_pose- A pose that is just the loop to be closed (possibly with other things hanging off of it).
[in]residues- A vector of the indices of residues affected by this perturber. Note that
[in]atomlist- A vector of pairs of AtomID, xyz coordinate. Residue indices are based on the loop pose, NOT the original pose.
[in]residue_map- A vector of pairs of (loop pose index, original pose index).
[in]tail_residue_map- A vector of pairs of (loop pose index of tail residue, original pose index of tail residue).
[in,out]torsions- A vector of desired torsions, some of which are randomized by this function.

References core::chemical::aa_unk, attach_boinc_ghost_observer(), custom_rama_table(), protocols::generalized_kinematic_closure::general_set_phi(), protocols::generalized_kinematic_closure::general_set_psi(), get_loop_index(), core::chemical::ResidueType::is_alpha_aa(), core::scoring::rama, core::pose::Pose::residue_type(), core::pose::Pose::size(), and core::scoring::unknown_ramatable_type.

Referenced by apply().

void protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::apply_randomize_backbone_by_bins ( core::pose::Pose const &  original_pose,
core::pose::Pose const &  loop_pose,
utility::vector1< core::Size > const &  residues,
utility::vector1< std::pair< core::id::AtomID, numeric::xyzVector< core::Real > > > const &  atomlist,
utility::vector1< std::pair< core::Size, core::Size > > const &  residue_map,
utility::vector1< std::pair< core::Size, core::Size > > const &  tail_residue_map,
utility::vector1< core::Real > &  torsions 
) const
private

Applies a randomize_backbone_by_bins perturbation to the list of torsions.

Parameters
[in]original_pose- The input pose.
[in]loop_pose- A pose that is just the loop to be closed (possibly with other things hanging off of it).
[in]residues- A vector of the indices of residues affected by this perturber.
[in]atomlist- A vector of pairs of AtomID, xyz coordinate. Residue indices are based on the loop pose, NOT the original pose.
[in]residue_map- A vector of pairs of (loop pose index, original pose index).
[in]tail_residue_map- A vector of pairs of (loop pose index of tail residue, original pose index of tail residue).
[in,out]torsions- A vector of desired torsions, some of which are randomized by this function.

This randomly assigns torsion bins based on transition probabilities of i->i+1 residues, then picks mainchain torsion angles within each bin randomly or in a biased manner (if Ramachandran information is available, for example, in the case of alpha-amino acids).

Parameters
[in]original_pose- The input pose.
[in]loop_pose- A pose that is just the loop to be closed (possibly with other things hanging off of it).
[in]residues- A vector of the indices of residues affected by this perturber.
[in]atomlist- A vector of pairs of AtomID, xyz coordinate. Residue indices are based on the loop pose, NOT the original pose.
[in]residue_map- A vector of pairs of (loop pose index, original pose index).
[in]tail_residue_map- A vector of pairs of (loop pose index of tail residue, original pose index of tail residue).
[in,out]torsions- A vector of desired torsions, some of which are randomized by this function.

References apply_set_dihedral(), bin_transition_calculator_, core::pose::Pose::conformation(), get_loop_index(), core::conformation::Residue::is_polymer_bonded(), core::conformation::Residue::mainchain_atoms(), core::conformation::Conformation::residue(), core::pose::Pose::residue(), core::conformation::Residue::residue_connect_atom_index(), protocols::generalized_kinematic_closure::perturber::set, and core::pose::Pose::size().

Referenced by apply().

void protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::apply_randomize_backbone_by_rama_prepro ( core::pose::Pose const &  original_pose,
core::pose::Pose const &  loop_pose,
utility::vector1< core::Size > const &  residues,
utility::vector1< std::pair< core::id::AtomID, numeric::xyzVector< core::Real > > > const &  atomlist,
utility::vector1< std::pair< core::Size, core::Size > > const &  residue_map,
utility::vector1< std::pair< core::Size, core::Size > > const &  tail_residue_map,
utility::vector1< core::Real > &  torsions 
) const
private

Applies a randomize_backbone_by_rama_prepro perturbation to the list of torsions.

This checks whether each residue is an alpha-amino acid.

Parameters
[in]original_pose- The input pose.
[in]loop_pose- A pose that is just the loop to be closed (possibly with other things hanging off of it).
[in]residues- A vector of the indices of residues affected by this perturber.
[in]atomlist- A vector of pairs of AtomID, xyz coordinate. Residue indices are based on the loop pose, NOT the original pose.
[in]residue_map- A vector of pairs of (loop pose index, original pose index).
[in]tail_residue_map- A vector of pairs of (loop pose index of tail residue, original pose index of tail residue).
[in,out]torsions- A vector of desired torsions, some of which are randomized by this function.

This checks whether each residue is an alpha-amino acid.

Parameters
[in]original_pose- The input pose.
[in]loop_pose- A pose that is just the loop to be closed (possibly with other things hanging off of it).
[in]residues- A vector of the indices of residues affected by this perturber. Note that
[in]atomlist- A vector of pairs of AtomID, xyz coordinate. Residue indices are based on the loop pose, NOT the original pose.
[in]residue_map- A vector of pairs of (loop pose index, original pose index).
[in]tail_residue_map- A vector of pairs of (loop pose index of tail residue, original pose index of tail residue).
[in,out]torsions- A vector of desired torsions, some of which are randomized by this function.

References attach_boinc_ghost_observer(), core::id::BB, get_loop_index(), is_in_list(), core::scoring::rama, core::pose::Pose::size(), and core::id::to_string().

Referenced by apply().

void protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::apply_sample_cis_peptide_bond ( core::pose::Pose const &  loop_pose,
utility::vector1< std::pair< core::id::AtomID, numeric::xyzVector< core::Real > > > const &  atomlist,
utility::vector1< core::Size > const &  residues,
utility::vector1< std::pair< core::Size, core::Size > > const &  residue_map,
utility::vector1< std::pair< core::Size, core::Size > > const &  tail_residue_map,
utility::vector1< core::Real > &  torsions 
) const
private

Applies a sample_cis_peptide_bond perturbation to the list of torsions.

This checks whether each residue specified is an alpha- or beta-amino acid. If it is, it samples the cis version of the omega angle (if omega is in the chain of atoms).

Parameters
[in]loop_pose- A pose that is just the loop to be closed (possibly with other things hanging off of it).
[in]atomlist- A vector of pairs of AtomID, xyz coordinate. Residue indices are based on the loop pose, NOT the original pose.
[in]residues- A vector of the indices of residues affected by this perturber.
[in]residue_map- A vector of pairs of (loop pose index, original pose index).
[in]tail_residue_map- A vector of pairs of (loop pose index, original pose index).
[in,out]torsions- A vector of desired torsions, some of which are randomized by this function.

References get_loop_index(), inputvalues_real_, core::chemical::ResidueType::is_alpha_aa(), core::chemical::ResidueType::is_beta_aa(), core::chemical::ResidueType::is_gamma_aa(), core::chemical::ResidueType::is_oligourea(), core::chemical::ResidueTypeBase::is_peptoid(), core::pose::Pose::residue(), core::pose::Pose::residue_type(), and core::scoring::rg.

Referenced by apply().

void protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::apply_set_backbone_bin ( core::pose::Pose const &  original_pose,
core::pose::Pose const &  loop_pose,
utility::vector1< core::Size > const &  residues,
utility::vector1< std::pair< core::id::AtomID, numeric::xyzVector< core::Real > > > const &  atomlist,
utility::vector1< std::pair< core::Size, core::Size > > const &  residue_map,
utility::vector1< std::pair< core::Size, core::Size > > const &  tail_residue_map,
utility::vector1< core::Real > &  torsions 
) const
private

Applies a set_backbone_bin perturbation to the list of torsions.

Sets the mainchain torsion bin for each of a list of residues, then picks random mainchain torsion values from within the bin.

Parameters
[in]original_pose- The input pose.
[in]loop_pose- A pose that is just the loop to be closed (possibly with other things hanging off of it).
[in]residues- A vector of the indices of residues affected by this perturber.
[in]atomlist- A vector of pairs of AtomID, xyz coordinate. Residue indices are based on the loop pose, NOT the original pose.
[in]residue_map- A vector of pairs of (loop pose index, original pose index).
[in]tail_residue_map- A vector of pairs of (loop pose index of tail residue, original pose index of tail residue).
[in,out]torsions- A vector of desired torsions, some of which are randomized by this function.

References apply_set_dihedral(), bin_, bin_transition_calculator_, core::pose::Pose::conformation(), get_loop_index(), core::conformation::Residue::mainchain_atoms(), core::conformation::Conformation::residue(), core::conformation::Residue::residue_connect_atom_index(), protocols::generalized_kinematic_closure::perturber::set, and core::pose::Pose::size().

Referenced by apply().

void protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::apply_set_bondangle ( utility::vector1< utility::vector1< core::id::AtomID > > const &  bondanglelist,
utility::vector1< std::pair< core::id::AtomID, numeric::xyzVector< core::Real > > > const &  atomlist,
utility::vector1< core::Real > const &  inputvalues_real,
utility::vector1< core::Real > &  bondangles,
GenKICPerturberEffect const  effect 
) const
private

Applies a set_bondangle perturbation to a list of bond angles.

Parameters
[in]bondanglelist- List of sets of atoms defining bond angles, indexed based on the loop_pose.
[in]atomlist- List of atoms (residue indices are based on the loop_pose).
[in]inputvalues_real– Vector of input values (one value or one for each bond angle to be set).
[in,out]bondangles- Desired bond angles for each atom; set by this function.
[in]bondanglelist- List of sets of atoms defining bond angles, indexed based on the loop_pose.
[in]atomlist- List of atoms (residue indices are based on the loop_pose).
[in]inputvalues_real- List of real-valued input values (one for each bondangle to be set OR one single one).
[in,out]bondangles- Desired bond angles for each atom; set by this function.

References protocols::generalized_kinematic_closure::perturber::perturb, protocols::generalized_kinematic_closure::perturber::randomize, core::scoring::rg, protocols::generalized_kinematic_closure::perturber::set, and core::id::to_string().

Referenced by apply().

void protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::apply_set_bondlength ( utility::vector1< utility::vector1< core::id::AtomID > > const &  bondlengthlist,
utility::vector1< std::pair< core::id::AtomID, numeric::xyzVector< core::Real > > > const &  atomlist,
utility::vector1< core::Real > const &  inputvalues_real,
utility::vector1< core::Real > &  bondlengths,
GenKICPerturberEffect const  effect 
) const
private

Applies a set_bondlength perturbation to a list of bond lengths.

Parameters
[in]bondlengthlist- List of sets of atoms defining bond lengths, indexed based on the loop_pose.
[in]atomlist- List of atoms (residue indices are based on the loop_pose).
[in]inputvalues_real– Vector of input values (one value or one for each bond angle to be set).
[in,out]bondlengths- Desired bond lengths for each atom; set by this function.
[in]bondlengthlist- List of sets of atoms defining bond lengths, indexed based on the loop_pose.
[in]atomlist- List of atoms (residue indices are based on the loop_pose).
[in]inputvalues_real- List of input values (a single one or one for each bondlength to be set).
[in,out]bondlengths- Desired bond lengths for each atom; set by this function.

References protocols::generalized_kinematic_closure::perturber::perturb, protocols::generalized_kinematic_closure::perturber::randomize, core::scoring::rg, protocols::generalized_kinematic_closure::perturber::set, and core::id::to_string().

Referenced by apply().

void protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::apply_set_dihedral ( utility::vector1< utility::vector1< core::id::AtomID > > const &  dihedrallist,
utility::vector1< std::pair< core::id::AtomID, numeric::xyzVector< core::Real > > > const &  atomlist,
utility::vector1< core::Real > const &  inputvalues_real,
utility::vector1< core::Real > &  torsions,
GenKICPerturberEffect const  effect 
) const
private

Applies a set_dihedral perturbation to a list of torsions.

Can also be used to randomize dihedral values.

Parameters
[in]dihedrallist- List of sets of atoms defining dihedrals, indexed based on the loop_pose.
[in]atomlist- List of atoms (residue indices are based on the loop_pose).
[in]inputvalues_real– Vector of input values (one value or one for each dihedral to be set).
[in,out]torsions- Desired torsions for each atom; set by this function.
[in]effect- Should the specified torsions be set (0), randomized (1), or perturbed (2)?

Can also be used to randomize dihedral values.d

Parameters
[in]dihedrallist- List of sets of atoms defining dihedrals, indexed based on the loop_pose.
[in]atomlist- List of atoms (residue indices are based on the loop_pose).
[in]inputvalues_real– Vector of input values (one value or one for each dihedral to be set).
[in,out]torsions- Desired torsions for each atom; set by this function.
[in]effect- Should the specified torsions be set (0), randomized (1), or perturbed (2)?

References protocols::generalized_kinematic_closure::perturber::perturb, protocols::generalized_kinematic_closure::perturber::randomize, core::scoring::rg, and protocols::generalized_kinematic_closure::perturber::set.

Referenced by apply(), apply_copy_backbone_dihedrals(), apply_perturb_backbone_by_bins(), apply_randomize_backbone_by_bins(), and apply_set_backbone_bin().

bool protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::attach_boinc_ghost_observer ( ) const
inline

Gets whether we are attaching a BOINC "ghost" pose observer.

Only does anything in the BOINC graphics build.

References attach_boinc_ghost_observer_.

Referenced by apply_perturb_backbone_by_bins(), apply_perturb_dihedral_bbg(), apply_randomize_alpha_backbone_by_rama(), and apply_randomize_backbone_by_rama_prepro().

std::string protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::bin ( ) const
inline

Get the bin that the set_backbone_bin perturber will use.

References bin_.

Referenced by set_bin().

void protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::clear_residues ( )
inline

Clears the residue list for this perturber.

References residues_.

GeneralizedKICperturberOP protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::clone ( ) const

Clone function for GeneralizedKICperturber:

Returns an owning pointer to a copy of this perturber.

core::scoring::Rama_Table_Type protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::custom_rama_table ( ) const
inline

Get the custom Ramachandran table (by enum) for the perturb_alpha_backbone_by_rama perturber.

References custom_rama_table_.

Referenced by apply_randomize_alpha_backbone_by_rama().

void protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::define_valid_perturber_name_enumeration ( utility::tag::XMLSchemaDefinition &  xsd)
static
core::Size protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::get_loop_index ( core::Size const  original_pose_index,
utility::vector1< std::pair< core::Size, core::Size > > const &  residue_map,
bool const  fail_if_not_found = true 
) const
private

Given an index in the original pose and a mapping from loop to pose, return the index in the loop.

If fail_if_not_found is true (the default), throws an exception if the index isn't found. If false, returns zero instead.

References core::id::to_string().

Referenced by apply_copy_backbone_dihedrals(), apply_perturb_backbone_by_bins(), apply_perturb_dihedral_bbg(), apply_randomize_alpha_backbone_by_rama(), apply_randomize_backbone_by_bins(), apply_randomize_backbone_by_rama_prepro(), apply_sample_cis_peptide_bond(), apply_set_backbone_bin(), and reindex_AtomIDs().

std::string protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::get_name ( ) const

Returns the name of this class ("GeneralizedKICperturber").

perturber_effect protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::get_perturber_effect ( ) const
inline

Returns the enum type for the effect of this perturber.

References effect_.

perturber_effect protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::get_perturber_effect_from_name ( std::string const &  name)
static

Returns the enum type for the effect of a pertuber based on a perturber name. Returns unknown_effect if can't find a match for the name.

References protocols::generalized_kinematic_closure::perturber::end_of_effect_list, get_perturber_effect_name(), and protocols::generalized_kinematic_closure::perturber::unknown_effect.

Referenced by set_perturber_effect().

std::string protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::get_perturber_effect_name ( core::Size effect)
static
void protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::init_bbgmover ( core::pose::Pose const &  loop_pose,
utility::vector1< std::pair< core::Size, core::Size > > const &  residue_map 
)
bool protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::is_in_list ( core::Size const  val,
utility::vector1< core::Size > const &  vect 
) const
private

Is a value in a list?

Referenced by apply_randomize_backbone_by_rama_prepro().

core::Size protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::iterations ( ) const
inline

Return the number of iterations for this perturber.

References iterations_.

Referenced by apply_perturb_backbone_by_bins().

void protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::load_bin_params ( std::string const &  bin_params_file)

Initializes the BinTransitionCalculator object and loads a bin_params file.

References bin_transition_calculator_.

bool protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::must_switch_bins ( ) const
inline

Return whether the perturb_backbone_by_bins perturber requires residues to change their torsion bins every move, or whether they can stay within the same bin.

References must_switch_bins_.

Referenced by apply_perturb_backbone_by_bins().

void protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::reindex_AtomIDs ( utility::vector1< std::pair< core::Size, core::Size > > const &  residue_map,
utility::vector1< utility::vector1< core::id::AtomID > > &  AtomIDs_reindexed,
core::pose::Pose const &  original_pose 
) const
private

Given a list of lists of AtomIDs, where residue indices are based on the original pose, and a mapping of original pose residue ID values to loop residue ID values, generate a new list of lists of AtomIDs, where the residue indices are based on the loop pose.

Given a list of lists of atoms (as std::pair <residue_index, atom_name>) where residue indices are based on the original pose, and a mapping of original pose residue ID values to loop residue ID values, generate a new list of lists of AtomIDs, where the residue indices are based on the loop pose.

References atoms_, get_loop_index(), core::chemical::has(), core::pose::Pose::residue(), and core::pose::Pose::size().

Referenced by apply().

void protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::set_attach_boinc_ghost_observer ( bool const  setting)
inline

Sets whether we are attaching a BOINC "ghost" pose observer.

Only does anything in the BOINC graphics build.

References attach_boinc_ghost_observer_.

void protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::set_bin ( std::string const &  bin)
inline

Set the bin that the set_backbone_bin perturber will use.

References bin(), and bin_.

void protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::set_custom_rama_table ( core::scoring::Rama_Table_Type const  type)
inline

Set the custom Ramachandran table (by enum) for the perturb_alpha_backbone_by_rama perturber.

References custom_rama_table_, and core::scoring::unknown_ramatable_type.

Referenced by set_custom_rama_table().

void protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::set_custom_rama_table ( std::string const &  name)
void protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::set_iterations ( core::Size const  val)
inline

Set the number of iterations for this perturber.

References iterations_, and protocols::hybridization::val.

void protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::set_must_switch_bins ( bool const  val)
inline

Set whether the perturb_backbone_by_bins perturber requires residues to change their torsion bins every move, or whether they can stay within the same bin.

References must_switch_bins_, and protocols::hybridization::val.

void protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::set_perturber_effect ( perturber_effect const &  effect)

Sets the effect of this perturber.

References effect_, and protocols::generalized_kinematic_closure::perturber::end_of_effect_list.

Referenced by set_perturber_effect().

void protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::set_perturber_effect ( std::string const &  effectname)

Sets the effect of this perturber using the perturber effect name. Exits with an error message if the name is unknown.

References protocols::generalized_kinematic_closure::perturber::end_of_effect_list, get_perturber_effect_from_name(), and set_perturber_effect().

Member Data Documentation

utility::vector1< utility::vector1 < core::id::NamedAtomID > > protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::atoms_
private

A list of sets of atoms defining bond lenghts, bond angles, or dihedral angles on which this perturber will work.

These are NamedAtomIDs (residue_index, atom_name). The residue indices are based on the original structure, NOT on the loop to be closed. Some effects act on a list of residues, while others act on a list of atoms.

Referenced by add_atom_set(), and reindex_AtomIDs().

bool protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::attach_boinc_ghost_observer_
private

Should poses generated by the perturber be used for ghost display in BOINC?

Outside of the BOINC build, this does nothing.

Referenced by attach_boinc_ghost_observer(), and set_attach_boinc_ghost_observer().

simple_moves::BBGaussianMoverOP protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::bbgmover_
private
std::string protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::bin_
private

A parameter specifically for the set_backbone_bin perturber. The bin that will be assigned.

Referenced by apply_set_backbone_bin(), bin(), and set_bin().

core::scoring::bin_transitions::BinTransitionCalculatorOP protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::bin_transition_calculator_
private

A BinTransitionCalculatorOP. This will be null by default, and will only point to a BinTransitionCalculator object in the case of those perturbers that use torsion bin transition probabilities.

Referenced by apply_perturb_backbone_by_bins(), apply_randomize_backbone_by_bins(), apply_set_backbone_bin(), GeneralizedKICperturber(), and load_bin_params().

core::scoring::Rama_Table_Type protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::custom_rama_table_
private

A parameter specifically for the perturb_alpha_backbone_by_rama perturber. An optional custom Ramachandran map for sampling. Defaults to unknown_ramatable_type (unused – use default Ramachandran map for the amino acid residue in question.

Referenced by custom_rama_table(), and set_custom_rama_table().

perturber_effect protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::effect_
private

The effect of this perturber. See the perturber_effect enum type for more information.

Referenced by apply(), get_perturber_effect(), and set_perturber_effect().

utility::vector1<core::Real> protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::inputvalues_real_
private

Real input values for the operation. For example, a set_dihedral operation would take a single real value (the value that the dihedral will be set to).

Referenced by add_inputvalue(), apply(), and apply_sample_cis_peptide_bond().

core::Size protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::iterations_
private

Number of iterations of perturbation for certain perturbers.

Referenced by iterations(), and set_iterations().

bool protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::must_switch_bins_
private

A parameter specifically for the perturb_backbone_by_bins perturber. If true, the perturber ALWAYS changes the torsion bin of the residue. If false, it MAY change the torsion bin of the residue, or it MAY keep it the same, based on the relative bin probabilities.

Referenced by must_switch_bins(), and set_must_switch_bins().

utility::vector1<core::Size> protocols::generalized_kinematic_closure::perturber::GeneralizedKICperturber::residues_
private

The list of residues on which this operation should be carried out.

These are indices based on the original structure, NOT based on the loop to be closed. Some effects act on a list of residues, while others act on a list of AtomIDs.

Referenced by add_residue(), apply(), clear_residues(), and init_bbgmover().


The documentation for this class was generated from the following files: