Rosetta  2020.37
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
protocols::simple_moves::BBGaussianMover Class Reference

the basic class for implementing Gaussian Perturbation of bb More...

#include <BBGaussianMover.hh>

Inheritance diagram for protocols::simple_moves::BBGaussianMover:
Inheritance graph
[legend]

Public Types

typedef core::Real Real
 
typedef core::Size Size
 
typedef core::pose::Pose Pose
 
typedef core::pose::PoseOP PoseOP
 
typedef core::pose::PoseCOP PoseCOP
 
typedef core::conformation::Residue Residue
 
typedef utility::vector1< RealVector
 
typedef numeric::xyzVector< RealxyzVector
 
typedef utility::vector1
< xyzVector
VdRdPhi
 
typedef utility::vector1< VdRdPhiVMatrix
 
typedef utility::vector1< VectorMatrix
 
- 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
 

Public Member Functions

 BBGaussianMover ()
 
 BBGaussianMover (core::Size, core::Size, core::Size)
 
 ~BBGaussianMover () override
 
protocols::moves::MoverOP clone () const override
 Return a clone of the Mover object. More...
 
void apply (Pose &pose) override
 Main Method. More...
 
void init ()
 
void resize (core::Size, core::Size, core::Size)
 
void factorA (Real const fA)
 
void factorB (Real const fB)
 
void get_G ()
 
void get_A ()
 
Real get_L_prime ()
 
Real get_L_move (Pose &)
 
void get_VdRdPhi (Pose const &)
 
core::kinematics::MoveMapCOP movemap (core::pose::Pose const &) const
 Generates the movemap used by this mover for the given pose. More...
 
void movemap (core::kinematics::MoveMapCOP new_movemap)
 
void movemap_factory (core::select::movemap::MoveMapFactoryCOP new_movemap_factory)
 The movemap_factory will be used to generate a movemap, if an explcit one hasn't already been set. More...
 
void update_counting_last_PDR (Real)
 
Real last_proposal_density_ratio () override
 get the ratio of proposal densities for the last move More...
 
bool preserve_detailed_balance () const override
 get whether detailed balance is preserved (i.e. no Ramachandran biasing) More...
 
void set_preserve_detailed_balance (bool preserve_detailed_balance) override
 set whether detailed balance is preserved (i.e. no Ramachandran biasing) More...
 
utility::vector1
< core::id::TorsionID_Range
torsion_id_ranges (core::pose::Pose &) override
 dummy More...
 
void init_kic_loop (core::Size looplength, core::kinematics::MoveMapCOP mm)
 
std::string get_name () const override
 Each derived class must specify its name. The class name. More...
 
- Public Member Functions inherited from protocols::canonical_sampling::ThermodynamicMover
 ThermodynamicMover ()
 Default constructor. More...
 
 ~ThermodynamicMover () override
 Default destructor. More...
 
virtual void initialize_simulation (core::pose::Pose &pose, protocols::canonical_sampling::MetropolisHastingsMover const &metropolis_hastings_mover, core::Size cycle)
 Callback executed before any Monte Carlo trials are attempted. More...
 
virtual void observe_after_metropolis (protocols::canonical_sampling::MetropolisHastingsMover const &metropolis_hastings_mover)
 Callback executed after the Metropolis criterion is evaluated. More...
 
virtual void finalize_simulation (core::pose::Pose &pose, protocols::canonical_sampling::MetropolisHastingsMover const &metropolis_hastings_mover)
 Callback executed after all Monte Carlo trials are completed. More...
 
virtual bool is_multi_trial ()
 Return true if the move performs multiple trials on each apply. More...
 
virtual core::Real last_inner_score_delta_over_temperature ()
 If this is a multi-trial move, return the change in internal score/temperature caused by the last call to apply(). More...
 
virtual
protocols::canonical_sampling::MetropolisHastingsMoverAP 
metropolis_hastings_mover ()
 If this is a multi-trial move, return the MetropolisHastingsMover being used internally. More...
 
virtual void set_metropolis_hastings_mover (protocols::canonical_sampling::MetropolisHastingsMoverAP metropolis_hastings_mover)
 If this is a multi-trial move, set the MetropolisHastingsMover to be used internally. More...
 
virtual utility::vector1
< core::id::DOF_ID_Range
dof_id_ranges (core::pose::Pose &pose)
 Return a list specifying which degrees of freedom may be perturbed by apply(), and the in what range each perturbation may be. 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_each_job () const
 Inform the Job Distributor (August '08 vintage) whether this object needs to be freshly regenerated on each use. 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...
 
virtual MoverOP fresh_instance () const
 Generates a new Mover object freshly created with the default ctor. 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 void show (std::ostream &output=std::cout) const
 Outputs details about the Mover, including current settings. More...
 
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 bool mover_provides_citation_info () const
 Does this mover provide information about how to cite it? 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...
 
virtual utility::vector1
< basic::citation_manager::UnpublishedModuleInfoCOP > 
provide_authorship_info_for_unpublished () const
 Provide a list of authors and their e-mail addresses, as strings. 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...
 

Protected Member Functions

void setup_list (Pose const &)
 
xyzVector get_dRdPhi (xyzVector const &r1, xyzVector const &r2, xyzVector const &r)
 
xyzVector get_dRdTheta (xyzVector const &r1, xyzVector const &r2, xyzVector const &r3, xyzVector const &r)
 
void parse_my_tag (TagCOP, basic::datacache::DataMap &) override
 Called by MoverFactory when constructing new Movers. Takes care of the specific mover's parsing. More...
 
Real cholesky_fw (Matrix &, core::Size, Vector &, Vector &, core::Size from=1, core::Size to=0, Real scale=1.0)
 
Real cholesky_bw (Matrix &, core::Size, Vector &, Vector &, core::Size from=1, core::Size to=0, Real scale=1.0)
 
void pivot_range_randomly (Pose &, core::Size, core::Size)
 randomly rotate the dih angle in this range for avoiding the fixed ends More...
 
- 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...
 

Protected Attributes

core::Size n_end_atom_
 
core::Size n_dof_angle_
 
core::Size n_pert_res_
 
core::Size resnum_
 
utility::vector1< std::pair
< core::Size, Size > > 
available_seg_list_
 
utility::vector1< std::pair
< core::Size, std::string > > 
end_atom_list_
 
Matrix matrix_G
 
Matrix matrix_A
 
VMatrix matrix_dRdPhi
 
Real last_proposal_density_ratio_
 
bool preserve_detailed_balance_
 
core::kinematics::MoveMapCOP movemap_
 
core::select::movemap::MoveMapFactoryCOP movemap_factory_
 
Vector dphi_
 
Real factorA_
 
Real factorB_
 
core::Size N_auto_all
 
core::Size N_auto_small
 
bool use_all_pivot_res_
 
bool auto_adjust_factorA_
 
bool fix_short_segment_
 
bool shrink_frag_ends_
 

Detailed Description

the basic class for implementing Gaussian Perturbation of bb

Note
"Monte Carlo update for chain molecules: Biased Gaussian steps in torsional space" "The Journal of Chemical Physics, Vol. 114, No. 18. (2001), pp. 8154-8158." Two steps for perturbing the backbone and keeping the geometry constrain Step 1: Gaussian Biased steps in torsional space: the end atoms of the moving segment should be choosen by user and to keep the geometry constrain(6), the DOF of the moving segment > 6 Step 2: "pivot" update the bb conformation, or followed by a chainclosure method (BBConRot)

Member Typedef Documentation

Constructor & Destructor Documentation

protocols::simple_moves::BBGaussianMover::BBGaussianMover ( )

References init().

Referenced by clone().

protocols::simple_moves::BBGaussianMover::BBGaussianMover ( core::Size  n_end_atom,
core::Size  n_dof_angle,
core::Size  n_pert_res 
)

References init().

protocols::simple_moves::BBGaussianMover::~BBGaussianMover ( )
override

Member Function Documentation

void protocols::simple_moves::BBGaussianMover::apply ( Pose )
overridevirtual
core::Real protocols::simple_moves::BBGaussianMover::cholesky_bw ( Matrix a,
core::Size  n,
Vector dphi,
Vector delta,
core::Size  from = 1,
core::Size  to = 0,
Real  scale = 1.0 
)
protected
core::Real protocols::simple_moves::BBGaussianMover::cholesky_fw ( Matrix a,
core::Size  n,
Vector delta,
Vector dphi,
core::Size  from = 1,
core::Size  to = 0,
Real  scale = 1.0 
)
protected
protocols::moves::MoverOP protocols::simple_moves::BBGaussianMover::clone ( ) const
overridevirtual

Return a clone of the Mover object.

clone is meant to return an OP'ed deep copy of this object. This really should be a pure virtual in the base class, but adding pure virtuals to Mover would massively disrupt the code. This default implementation crashes at runtime instead of compiletime if you try to call it. If this code is causing you problems, your Mover needs to override this function.

Reimplemented from protocols::moves::Mover.

Reimplemented in protocols::simple_moves::BBG8T3AMover.

References BBGaussianMover(), factorA_, factorB_, movemap_, and movemap_factory_.

void protocols::simple_moves::BBGaussianMover::factorA ( core::Real const  fA)
void protocols::simple_moves::BBGaussianMover::factorB ( core::Real const  fB)
void protocols::simple_moves::BBGaussianMover::get_A ( )

References factorA_, factorB_, matrix_A, matrix_G, and n_dof_angle_.

Referenced by apply().

xyzVector protocols::simple_moves::BBGaussianMover::get_dRdPhi ( xyzVector const &  r1,
xyzVector const &  r2,
xyzVector const &  r 
)
inlineprotected
xyzVector protocols::simple_moves::BBGaussianMover::get_dRdTheta ( xyzVector const &  r1,
xyzVector const &  r2,
xyzVector const &  r3,
xyzVector const &  r 
)
inlineprotected
void protocols::simple_moves::BBGaussianMover::get_G ( )

References end_atom_list_, matrix_dRdPhi, matrix_G, and n_dof_angle_.

Referenced by apply().

core::Real protocols::simple_moves::BBGaussianMover::get_L_move ( Pose pose)
core::Real protocols::simple_moves::BBGaussianMover::get_L_prime ( )
Note
calculate L', update last_proposal_density

References cholesky_bw(), dphi_, matrix_A, and n_dof_angle_.

Referenced by apply().

std::string protocols::simple_moves::BBGaussianMover::get_name ( ) const
overridevirtual

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

Implements protocols::moves::Mover.

Reimplemented in protocols::simple_moves::BBG8T3AMover.

References mover_name().

void protocols::simple_moves::BBGaussianMover::get_VdRdPhi ( Pose const &  pose)
void protocols::simple_moves::BBGaussianMover::init ( void  )
void protocols::simple_moves::BBGaussianMover::init_kic_loop ( core::Size  looplength,
core::kinematics::MoveMapCOP  mm 
)
core::Real protocols::simple_moves::BBGaussianMover::last_proposal_density_ratio ( )
overridevirtual

get the ratio of proposal densities for the last move

Reimplemented from protocols::canonical_sampling::ThermodynamicMover.

References auto_adjust_factorA_, last_proposal_density_ratio_, and update_counting_last_PDR().

core::kinematics::MoveMapCOP protocols::simple_moves::BBGaussianMover::movemap ( core::pose::Pose const &  pose) const
void protocols::simple_moves::BBGaussianMover::movemap ( core::kinematics::MoveMapCOP  new_movemap)

References available_seg_list_, and movemap_.

void protocols::simple_moves::BBGaussianMover::movemap_factory ( core::select::movemap::MoveMapFactoryCOP  new_movemap_factory)

The movemap_factory will be used to generate a movemap, if an explcit one hasn't already been set.

References available_seg_list_, and movemap_factory_.

Referenced by parse_my_tag().

std::string protocols::simple_moves::BBGaussianMover::mover_name ( )
static
void protocols::simple_moves::BBGaussianMover::parse_my_tag ( TagCOP  tag,
basic::datacache::DataMap &  data 
)
overrideprotectedvirtual

Called by MoverFactory when constructing new Movers. Takes care of the specific mover's parsing.

Some movers need not be parsed, so we shouldn't force people to reimplement this method. However, we should be chatty about the fact that someone is using a RosettaScripts interface to a mover which didn't define parse_my_tag()

Reimplemented from protocols::moves::Mover.

References auto_adjust_factorA_, end_atom_list_, factorA_, factorB_, fix_short_segment_, movemap_factory(), n_dof_angle_, n_end_atom_, n_pert_res_, protocols::rosetta_scripts::parse_movemap_factory_legacy(), resize(), shrink_frag_ends_, protocols::simple_moves::TR(), and use_all_pivot_res_.

void protocols::simple_moves::BBGaussianMover::pivot_range_randomly ( Pose pose,
core::Size  i,
core::Size  to 
)
protected

randomly rotate the dih angle in this range for avoiding the fixed ends

References core::pose::Pose::phi(), core::pose::Pose::psi(), core::scoring::rg, core::pose::Pose::set_phi(), and core::pose::Pose::set_psi().

Referenced by apply(), and protocols::simple_moves::BBConRotMover::make_move().

bool protocols::simple_moves::BBGaussianMover::preserve_detailed_balance ( ) const
overridevirtual

get whether detailed balance is preserved (i.e. no Ramachandran biasing)

Implements protocols::canonical_sampling::ThermodynamicMover.

References preserve_detailed_balance_.

Referenced by set_preserve_detailed_balance().

void protocols::simple_moves::BBGaussianMover::provide_xml_schema ( utility::tag::XMLSchemaDefinition &  xsd)
static
void protocols::simple_moves::BBGaussianMover::resize ( core::Size  n_end_atom,
core::Size  n_dof_angle,
core::Size  n_pert_res 
)
void protocols::simple_moves::BBGaussianMover::set_preserve_detailed_balance ( bool  preserve_detailed_balance)
overridevirtual

set whether detailed balance is preserved (i.e. no Ramachandran biasing)

Implements protocols::canonical_sampling::ThermodynamicMover.

References preserve_detailed_balance(), preserve_detailed_balance_, and protocols::simple_moves::TR().

void protocols::simple_moves::BBGaussianMover::setup_list ( Pose const &  pose)
protected
utility::vector1<core::id::TorsionID_Range> protocols::simple_moves::BBGaussianMover::torsion_id_ranges ( core::pose::Pose )
inlineoverridevirtual
void protocols::simple_moves::BBGaussianMover::update_counting_last_PDR ( Real  lastP)

Member Data Documentation

bool protocols::simple_moves::BBGaussianMover::auto_adjust_factorA_
protected
utility::vector1< std::pair<core::Size,Size> > protocols::simple_moves::BBGaussianMover::available_seg_list_
protected
Vector protocols::simple_moves::BBGaussianMover::dphi_
protected

Referenced by get_L_move(), get_L_prime(), and resize().

utility::vector1< std::pair<core::Size, std::string> > protocols::simple_moves::BBGaussianMover::end_atom_list_
protected
Note
<resi, atomname> 0 means the last res of the mobile segment

Referenced by get_G(), get_VdRdPhi(), init(), init_kic_loop(), and parse_my_tag().

Real protocols::simple_moves::BBGaussianMover::factorA_
protected
Real protocols::simple_moves::BBGaussianMover::factorB_
protected
bool protocols::simple_moves::BBGaussianMover::fix_short_segment_
protected
Real protocols::simple_moves::BBGaussianMover::last_proposal_density_ratio_
protected
Matrix protocols::simple_moves::BBGaussianMover::matrix_A
protected
VMatrix protocols::simple_moves::BBGaussianMover::matrix_dRdPhi
protected
Matrix protocols::simple_moves::BBGaussianMover::matrix_G
protected
core::kinematics::MoveMapCOP protocols::simple_moves::BBGaussianMover::movemap_
protected
core::select::movemap::MoveMapFactoryCOP protocols::simple_moves::BBGaussianMover::movemap_factory_
protected

Referenced by clone(), movemap(), and movemap_factory().

core::Size protocols::simple_moves::BBGaussianMover::N_auto_all
protected

Referenced by init(), and update_counting_last_PDR().

core::Size protocols::simple_moves::BBGaussianMover::N_auto_small
protected

Referenced by init(), and update_counting_last_PDR().

core::Size protocols::simple_moves::BBGaussianMover::n_dof_angle_
protected
core::Size protocols::simple_moves::BBGaussianMover::n_end_atom_
protected
core::Size protocols::simple_moves::BBGaussianMover::n_pert_res_
protected
bool protocols::simple_moves::BBGaussianMover::preserve_detailed_balance_
protected
core::Size protocols::simple_moves::BBGaussianMover::resnum_
protected
bool protocols::simple_moves::BBGaussianMover::shrink_frag_ends_
protected
bool protocols::simple_moves::BBGaussianMover::use_all_pivot_res_
protected

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