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::carbohydrates::GlycanSampler Class Reference

Main mover for Glycan Relax, which optimizes glycans in a pose. Each round optimizes either one residue for BB sampling, linkage, or multiple for minimization. Currently uses a random sampler with a set of weights to each mover for sampling. More...

#include <GlycanSampler.hh>

Inheritance diagram for protocols::carbohydrates::GlycanSampler:
Inheritance graph
[legend]

Public Member Functions

 GlycanSampler ()
 
 GlycanSampler (core::select::residue_selector::ResidueSelectorCOP selector, core::scoring::ScoreFunctionCOP scorefxn, core::Size rounds=75)
 
 GlycanSampler (GlycanSampler const &src)
 
 ~GlycanSampler () override
 
void apply (core::pose::Pose &pose) override
 Main Method. More...
 
bool mover_provides_citation_info () const override
 Does this mover provide information about how to cite it? More...
 
utility::vector1
< basic::citation_manager::UnpublishedModuleInfoCOP > 
provide_authorship_info_for_unpublished () const override
 Provide a list of authors and their e-mail addresses, as strings. More...
 
void set_residue_selector (core::select::residue_selector::ResidueSelectorCOP selector)
 Set the Movemap. More...
 
void set_selector (core::select::residue_selector::ResidueSelectorCOP selector)
 Set a ResidueSelector for glycan residue selection, instead of the typical movemap. More...
 
void set_taskfactory (core::pack::task::TaskFactoryCOP tf)
 Set the TaskFactory to control side-chain packing of surrounding amino acids and the OH groups of the glycans. More...
 
void set_scorefunction (core::scoring::ScoreFunctionCOP scorefxn)
 Set the ScoreFunction. More...
 
void set_rounds (core::Size rounds)
 Each round applys a random mover to pose. This setting is multiplied by the number of glycan residues in the movemap for the total number of rounds. More...
 
void set_population_based_conformer_sampling (bool pop_based_sampling)
 Set how our Conformer mover samples. Default is to do uniform sampling on the conformers instead of using the population as probabilities. More...
 
void set_use_gaussian_sampling (bool use_gaussian_sampling)
 Set whether if we are sampling torsions uniformly within an SD for the LinkageConformerMover (false) or sampling the gaussian (true). Default false. More...
 
void set_kt (core::Real kt)
 
void set_defaults ()
 
void use_cartmin (bool use_cartmin)
 Use Cartesian minimization instead of Dihedral minimization. Default (for now) is dihedral. More...
 
void set_refine (bool refine)
 Set refinement mode instead of denovo modeling mode. More...
 
void set_min_rings (bool min_rings)
 set to minimize ring torsions during minimzation. Default false. More...
 
void set_use_shear (bool use_shear)
 Set the protocol to use the refactored Shear Mover for glycan torsions at 10 % probability. Default false. More...
 
void set_randomize_first (bool randomize_first)
 Set the protocol to randomize torsions before beginning. This actually helps get to lower energy models. Default True. If doing refinement, this is automatically turned off. More...
 
void set_inner_bb_cycles (core::Size inner_bb_cycles)
 Set the number of inner cycles for BB sampling through small/sugarBB. This is multiplied by the number of glycan residues Default 1. More...
 
void set_protein_linkage_prob_sampling (bool root_probs)
 Set Conformer Sampling through probabilities at the linkage to the protein only. More...
 
void show (std::ostream &output=std::cout) const override
 Outputs details about the Mover, including current settings. More...
 
void parse_my_tag (utility::tag::TagCOP tag, basic::datacache::DataMap &data) override
 parse XML tag (to use this Mover in Rosetta Scripts) More...
 
moves::MoverOP fresh_instance () const override
 required in the context of the parser/scripting scheme More...
 
protocols::moves::MoverOP clone () const override
 required in the context of the parser/scripting scheme More...
 
bool reinitialize_for_each_job () const override
 Inform the Job Distributor (August '08 vintage) whether this object needs to be freshly regenerated on each use. More...
 
std::string get_name () const override
 Each derived class must specify its name. The class name. More...
 
void randomize_glycan_torsions (core::pose::Pose &pose, utility::vector1< bool > const &subset) const
 Randomize all torsions of the subset. Used to start the protocol. More...
 
void idealize_glycan_residues (core::pose::Pose &pose, utility::vector1< core::Size > const &tree_subset) const
 Attempt to idealize all residues in of a set of trees. Experimental! More...
 
core::Size get_glycan_sampler_rounds ()
 Get the number of glycan sampler rounds this class is set to run. More...
 
void force_total_rounds (core::Size total_rounds)
 This allows us to force a number of rounds instead of doing rounds*glycan residues. More...
 
- Public Member Functions inherited from protocols::moves::Mover
 Mover ()
 
virtual MoverOP create ()
 
MoverCOP get_self_ptr () const
 
MoverOP get_self_ptr ()
 
MoverCAP get_self_weak_ptr () const
 
MoverAP get_self_weak_ptr ()
 
 Mover (std::string const &type_name)
 sets the type for a mover; name_ has been removed (2010/05/14) More...
 
virtual void test_move (Pose &pose)
 : Unit test support function. Apply one move to a given pose. Allows extra test specific functions to be called before applying More...
 
virtual bool reinitialize_for_new_input () const
 Inform the Job Distributor (August '08 vintage) whether this object needs to be regenerated when the input pose is about to change, (for example, if the Mover has special code on the first apply() that is only valid for that one input pose). More...
 
MoverStatus get_last_move_status () const
 end parser interface, start Job Distributor interface///////////// More...
 
void reset_status ()
 resets status to SUCCESS, meant to be used before an apply(). The job distributor (august 08 vintage) uses this to ensure non-accumulation of status across apply()s. More...
 
virtual core::pose::PoseOP get_additional_output ()
 Mechanism by which a mover may return multiple output poses from a single input pose. More...
 
void set_type (std::string const &setting)
 Set the 'type' string. More...
 
std::string get_type () const
 
void type (const std::string &type_in)
 Set the 'type' string. More...
 
std::string const & type () const
 Get the set 'type' string. More...
 
virtual void set_input_pose (PoseCOP pose)
 setter for poses contained for rms More...
 
virtual void set_native_pose (PoseCOP pose)
 setter for native poses contained for rms -— we should get rid of this method? it is widely used, but a bit unsafe More...
 
PoseCOP get_input_pose () const
 
PoseCOP get_native_pose () const
 
void set_current_job (protocols::jobdist::BasicJobCOP job)
 
jobdist::BasicJobCOP get_current_job () const
 
virtual void set_current_tag (std::string const &new_tag)
 
std::string get_current_tag () const
 A tag is a unique identifier used to identify structures produced by this Mover. get_current_tag() returns the tag, and set_current_tag( std::string tag ) sets the tag. This functionality is not intended for use with the 2008 job distributor. More...
 
virtual core::Real last_proposal_density_ratio ()
 
virtual void clear_info ()
 Strings container can be used to return miscellaneous info (as std::string) from a mover, such as notes about the results of apply(). The job distributor (Apr 09 vintage) will check this function to see if your protocol wants to add string info to the Job that ran this mover. One way this can be useful is that later, a JobOutputter may include/append this info to an output file. More...
 
virtual Stringsinfo ()
 non-const accessor More...
 
virtual Strings const & info () const
 const accessor More...
 
virtual utility::vector1
< basic::citation_manager::CitationCollectionCOP > 
provide_citation_info () const
 Provide the citation. More...
 
virtual bool mover_is_unpublished () const
 Does this mover indicate that it is unpublished (and, by extension, that the author should be included in publications resulting from it)? More...
 

Static Public Member Functions

static std::string mover_name ()
 
static void provide_xml_schema (utility::tag::XMLSchemaDefinition &xsd)
 
- Static Public Member Functions inherited from protocols::moves::Mover
static std::string name ()
 
static void register_options ()
 Overload this static method if you access options within the mover. More...
 

Private Member Functions

void init_objects (core::pose::Pose &pose)
 Initialize all objects. Called at apply time! More...
 
void set_cmd_line_defaults ()
 
void apply_to_res (core::pose::Pose &pose, core::Size resnum, core::kinematics::MoveMapOP mm, core::scoring::ScoreFunctionOP score, core::Size round)
 
void setup_default_task_factory (utility::vector1< bool > const &glycan_residues, core::pose::Pose const &pose)
 
void setup_score_function ()
 
void setup_cartmin (core::scoring::ScoreFunctionOP scorefxn) const
 
void setup_movers (core::pose::Pose &pose, utility::vector1< bool > const &dihedral_subset, utility::vector1< bool > const &sugar_bb_subset, utility::vector1< bool > const &subset)
 
void setup_packer (core::pose::Pose &pose, utility::vector1< bool > const &full_subset)
 

Private Attributes

core::pack::task::TaskFactoryCOP tf_ = nullptr
 
moves::MonteCarloOP mc_ = nullptr
 
core::scoring::ScoreFunctionCOP scorefxn_ = nullptr
 
LinkageConformerMoverOP linkage_mover_ = nullptr
 
moves::RandomMoverOP weighted_random_mover_ = nullptr
 
minimization_packing::MinMoverOP min_mover_ = nullptr
 
minimization_packing::PackRotamersMoverOP packer_ = nullptr
 
simple_moves::ShearMoverOP shear_ = nullptr
 
core::Size rounds_ = 100
 
core::Real kt_ = 2.0
 
utility::vector1< std::string > accept_log_
 
bool test_ = false
 
bool final_min_ = true
 
bool refine_ = false
 
core::Size total_glycan_residues_ = 0
 
bool pymol_movie_ = false
 
utility::vector1< std::string > parsed_positions_
 
core::Real pack_distance_ = 6.0
 
bool cartmin_ = false
 
bool tree_based_min_pack_ = true
 
core::select::residue_selector::ResidueSelectorCOP selector_
 
bool population_based_conformer_sampling_ = false
 
bool use_gaussian_sampling_ = true
 
bool min_rings_ = false
 
core::Size forced_total_rounds_ = 0
 
bool use_shear_ = true
 
bool randomize_first_ = true
 
core::Size inner_ncycles_ = 0
 
bool match_sampling_of_modeler_ = false
 
utility::vector1< boolfinal_residue_subset_
 
bool root_prob_sampling_ = false
 

Additional Inherited Members

- Public Types inherited from protocols::moves::Mover
typedef utility::tag::TagCOP TagCOP
 
typedef core::pose::Pose Pose
 
typedef core::pose::PoseCOP PoseCOP
 
typedef std::list< std::string > Strings
 
- Protected Member Functions inherited from protocols::moves::Mover
void set_last_move_status (MoverStatus status)
 nonvirtual setter for MoverStatus last_status_. Protected means that only the mover itself will be able to change its own status. The job distributor (august 08 vintage) is aware of status set with this function and will do what the MoverStatus says. More...
 

Detailed Description

Main mover for Glycan Relax, which optimizes glycans in a pose. Each round optimizes either one residue for BB sampling, linkage, or multiple for minimization. Currently uses a random sampler with a set of weights to each mover for sampling.

Weights are currently as follows: .40 Phi/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 .05 GlycanTreeMinMover .05 PackRotamersMover

Supports Symmetry

Constructor & Destructor Documentation

protocols::carbohydrates::GlycanSampler::GlycanSampler ( )

References set_defaults().

protocols::carbohydrates::GlycanSampler::GlycanSampler ( core::select::residue_selector::ResidueSelectorCOP  selector,
core::scoring::ScoreFunctionCOP  scorefxn,
core::Size  rounds = 75 
)
protocols::carbohydrates::GlycanSampler::GlycanSampler ( GlycanSampler const &  src)
protocols::carbohydrates::GlycanSampler::~GlycanSampler ( )
overridedefault

Member Function Documentation

void protocols::carbohydrates::GlycanSampler::apply ( core::pose::Pose )
overridevirtual
void protocols::carbohydrates::GlycanSampler::apply_to_res ( core::pose::Pose pose,
core::Size  resnum,
core::kinematics::MoveMapOP  mm,
core::scoring::ScoreFunctionOP  score,
core::Size  round 
)
private
protocols::moves::MoverOP protocols::carbohydrates::GlycanSampler::clone ( ) const
overridevirtual

required in the context of the parser/scripting scheme

Reimplemented from protocols::moves::Mover.

void protocols::carbohydrates::GlycanSampler::force_total_rounds ( core::Size  total_rounds)

This allows us to force a number of rounds instead of doing rounds*glycan residues.

References forced_total_rounds_.

moves::MoverOP protocols::carbohydrates::GlycanSampler::fresh_instance ( ) const
overridevirtual

required in the context of the parser/scripting scheme

Reimplemented from protocols::moves::Mover.

core::Size protocols::carbohydrates::GlycanSampler::get_glycan_sampler_rounds ( )

Get the number of glycan sampler rounds this class is set to run.

References rounds_.

std::string protocols::carbohydrates::GlycanSampler::get_name ( ) const
overridevirtual

Each derived class must specify its name. The class name.

Implements protocols::moves::Mover.

References mover_name().

void protocols::carbohydrates::GlycanSampler::idealize_glycan_residues ( core::pose::Pose pose,
utility::vector1< core::Size > const &  tree_subset 
) const

Attempt to idealize all residues in of a set of trees. Experimental!

References protocols::TR().

void protocols::carbohydrates::GlycanSampler::init_objects ( core::pose::Pose pose)
private
std::string protocols::carbohydrates::GlycanSampler::mover_name ( )
static
bool protocols::carbohydrates::GlycanSampler::mover_provides_citation_info ( ) const
overridevirtual

Does this mover provide information about how to cite it?

Returns
true

Reimplemented from protocols::moves::Mover.

void protocols::carbohydrates::GlycanSampler::parse_my_tag ( utility::tag::TagCOP  tag,
basic::datacache::DataMap &  data 
)
overridevirtual
utility::vector1< basic::citation_manager::UnpublishedModuleInfoCOP > protocols::carbohydrates::GlycanSampler::provide_authorship_info_for_unpublished ( ) const
overridevirtual

Provide a list of authors and their e-mail addresses, as strings.

Reimplemented from protocols::moves::Mover.

References mover_name().

void protocols::carbohydrates::GlycanSampler::provide_xml_schema ( utility::tag::XMLSchemaDefinition &  xsd)
static
void protocols::carbohydrates::GlycanSampler::randomize_glycan_torsions ( core::pose::Pose pose,
utility::vector1< bool > const &  subset 
) const
bool protocols::carbohydrates::GlycanSampler::reinitialize_for_each_job ( ) const
inlineoverridevirtual

Inform the Job Distributor (August '08 vintage) whether this object needs to be freshly regenerated on each use.

Movers default to not regenerating

Reimplemented from protocols::moves::Mover.

void protocols::carbohydrates::GlycanSampler::set_cmd_line_defaults ( )
private
void protocols::carbohydrates::GlycanSampler::set_defaults ( )
void protocols::carbohydrates::GlycanSampler::set_inner_bb_cycles ( core::Size  inner_bb_cycles)

Set the number of inner cycles for BB sampling through small/sugarBB. This is multiplied by the number of glycan residues Default 1.

References inner_ncycles_.

void protocols::carbohydrates::GlycanSampler::set_kt ( core::Real  kt)

References kt_.

void protocols::carbohydrates::GlycanSampler::set_min_rings ( bool  min_rings)

set to minimize ring torsions during minimzation. Default false.

References min_rings_.

void protocols::carbohydrates::GlycanSampler::set_population_based_conformer_sampling ( bool  pop_based_sampling)

Set how our Conformer mover samples. Default is to do uniform sampling on the conformers instead of using the population as probabilities.

References population_based_conformer_sampling_.

void protocols::carbohydrates::GlycanSampler::set_protein_linkage_prob_sampling ( bool  root_probs)

Set Conformer Sampling through probabilities at the linkage to the protein only.

References root_prob_sampling_.

void protocols::carbohydrates::GlycanSampler::set_randomize_first ( bool  randomize_first)

Set the protocol to randomize torsions before beginning. This actually helps get to lower energy models. Default True. If doing refinement, this is automatically turned off.

References randomize_first_.

void protocols::carbohydrates::GlycanSampler::set_refine ( bool  refine)

Set refinement mode instead of denovo modeling mode.

References refine_.

void protocols::carbohydrates::GlycanSampler::set_residue_selector ( core::select::residue_selector::ResidueSelectorCOP  selector)

Set the Movemap.

References selector_.

void protocols::carbohydrates::GlycanSampler::set_rounds ( core::Size  rounds)

Each round applys a random mover to pose. This setting is multiplied by the number of glycan residues in the movemap for the total number of rounds.

References rounds_.

Referenced by GlycanSampler().

void protocols::carbohydrates::GlycanSampler::set_scorefunction ( core::scoring::ScoreFunctionCOP  scorefxn)

Set the ScoreFunction.

References scorefxn_.

void protocols::carbohydrates::GlycanSampler::set_selector ( core::select::residue_selector::ResidueSelectorCOP  selector)

Set a ResidueSelector for glycan residue selection, instead of the typical movemap.

References selector_.

void protocols::carbohydrates::GlycanSampler::set_taskfactory ( core::pack::task::TaskFactoryCOP  tf)

Set the TaskFactory to control side-chain packing of surrounding amino acids and the OH groups of the glycans.

References tf_.

Referenced by parse_my_tag(), and setup_default_task_factory().

void protocols::carbohydrates::GlycanSampler::set_use_gaussian_sampling ( bool  use_gaussian_sampling)

Set whether if we are sampling torsions uniformly within an SD for the LinkageConformerMover (false) or sampling the gaussian (true). Default false.

References use_gaussian_sampling_.

void protocols::carbohydrates::GlycanSampler::set_use_shear ( bool  use_shear)

Set the protocol to use the refactored Shear Mover for glycan torsions at 10 % probability. Default false.

References use_shear_.

void protocols::carbohydrates::GlycanSampler::setup_cartmin ( core::scoring::ScoreFunctionOP  scorefxn) const
private
void protocols::carbohydrates::GlycanSampler::setup_default_task_factory ( utility::vector1< bool > const &  glycan_residues,
core::pose::Pose const &  pose 
)
private
void protocols::carbohydrates::GlycanSampler::setup_movers ( core::pose::Pose pose,
utility::vector1< bool > const &  dihedral_subset,
utility::vector1< bool > const &  sugar_bb_subset,
utility::vector1< bool > const &  subset 
)
private
void protocols::carbohydrates::GlycanSampler::setup_packer ( core::pose::Pose pose,
utility::vector1< bool > const &  full_subset 
)
private
void protocols::carbohydrates::GlycanSampler::setup_score_function ( )
private
void protocols::carbohydrates::GlycanSampler::show ( std::ostream &  output = std::cout) const
overridevirtual

Outputs details about the Mover, including current settings.

Ideally, a child Mover should call Mover.show() and add additional information particular to that Mover.

Reimplemented from protocols::moves::Mover.

References protocols::moves::Mover::show().

Referenced by protocols::carbohydrates::operator<<().

void protocols::carbohydrates::GlycanSampler::use_cartmin ( bool  use_cartmin)

Use Cartesian minimization instead of Dihedral minimization. Default (for now) is dihedral.

References cartmin_.

Member Data Documentation

utility::vector1<std::string> protocols::carbohydrates::GlycanSampler::accept_log_
private

Referenced by apply().

bool protocols::carbohydrates::GlycanSampler::cartmin_ = false
private
bool protocols::carbohydrates::GlycanSampler::final_min_ = true
private
utility::vector1< bool > protocols::carbohydrates::GlycanSampler::final_residue_subset_
private

Referenced by apply(), and init_objects().

core::Size protocols::carbohydrates::GlycanSampler::forced_total_rounds_ = 0
private

Referenced by apply(), and force_total_rounds().

core::Size protocols::carbohydrates::GlycanSampler::inner_ncycles_ = 0
private
core::Real protocols::carbohydrates::GlycanSampler::kt_ = 2.0
private
LinkageConformerMoverOP protocols::carbohydrates::GlycanSampler::linkage_mover_ = nullptr
private

Referenced by GlycanSampler(), and setup_movers().

bool protocols::carbohydrates::GlycanSampler::match_sampling_of_modeler_ = false
private

Referenced by apply(), and parse_my_tag().

moves::MonteCarloOP protocols::carbohydrates::GlycanSampler::mc_ = nullptr
private

Referenced by apply(), and GlycanSampler().

minimization_packing::MinMoverOP protocols::carbohydrates::GlycanSampler::min_mover_ = nullptr
private

Referenced by apply(), GlycanSampler(), and setup_movers().

bool protocols::carbohydrates::GlycanSampler::min_rings_ = false
private
core::Real protocols::carbohydrates::GlycanSampler::pack_distance_ = 6.0
private
minimization_packing::PackRotamersMoverOP protocols::carbohydrates::GlycanSampler::packer_ = nullptr
private

Referenced by apply(), GlycanSampler(), and setup_packer().

utility::vector1< std::string > protocols::carbohydrates::GlycanSampler::parsed_positions_
private
bool protocols::carbohydrates::GlycanSampler::population_based_conformer_sampling_ = false
private
bool protocols::carbohydrates::GlycanSampler::pymol_movie_ = false
private
bool protocols::carbohydrates::GlycanSampler::randomize_first_ = true
private
bool protocols::carbohydrates::GlycanSampler::refine_ = false
private
bool protocols::carbohydrates::GlycanSampler::root_prob_sampling_ = false
private
core::Size protocols::carbohydrates::GlycanSampler::rounds_ = 100
private
core::scoring::ScoreFunctionCOP protocols::carbohydrates::GlycanSampler::scorefxn_ = nullptr
private
core::select::residue_selector::ResidueSelectorCOP protocols::carbohydrates::GlycanSampler::selector_
private
simple_moves::ShearMoverOP protocols::carbohydrates::GlycanSampler::shear_ = nullptr
private

Referenced by apply(), GlycanSampler(), and setup_movers().

bool protocols::carbohydrates::GlycanSampler::test_ = false
private
core::pack::task::TaskFactoryCOP protocols::carbohydrates::GlycanSampler::tf_ = nullptr
private
core::Size protocols::carbohydrates::GlycanSampler::total_glycan_residues_ = 0
private
bool protocols::carbohydrates::GlycanSampler::tree_based_min_pack_ = true
private
bool protocols::carbohydrates::GlycanSampler::use_gaussian_sampling_ = true
private
bool protocols::carbohydrates::GlycanSampler::use_shear_ = true
private
moves::RandomMoverOP protocols::carbohydrates::GlycanSampler::weighted_random_mover_ = nullptr
private

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