Rosetta
Classes | Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
protocols::nmr::pcs::PCSLigandTransformMover Class Reference

#include <PCSLigandTransformMover.hh>

Inheritance diagram for protocols::nmr::pcs::PCSLigandTransformMover:
Inheritance graph
[legend]

Classes

class  LMMinPCSDataRef
 Utility class of PCSLigandTransformMover which holds references to PCSData used in lmmin (Levenberg Marquardt minimization) function. More...
 

Public Types

typedef core::Size Size
 
typedef core::Real Real
 
typedef core::Vector Vector
 
typedef core::scoring::nmr::Matrix Matrix
 
typedef core::scoring::nmr::pcs::PCSData PCSData
 
typedef core::scoring::nmr::pcs::PCSDataOP PCSDataOP
 
typedef core::scoring::nmr::pcs::PCSDataCOP PCSDataCOP
 
typedef core::pose::Pose Pose
 
typedef core::scoring::ScoreFunctionOP ScoreFunctionOP
 
typedef core::scoring::ScoreFunctionCOP ScoreFunctionCOP
 
typedef core::conformation::Residue Residue
 
typedef numeric::geometry::BoundingBox< core::VectorBoundingBox
 
typedef core::scoring::nmr::Vec5 Vec5
 
- 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

 PCSLigandTransformMover ()
 Default constructor. More...
 
 PCSLigandTransformMover (PCSDataCOP data, ScoreFunctionCOP sfxn)
 
 PCSLigandTransformMover (PCSLigandTransformMover const &other)
 Copy constructor. More...
 
PCSLigandTransformMoveroperator= (PCSLigandTransformMover const &rhs)
 Assignment operator. More...
 
 ~PCSLigandTransformMover () override
 Destructor. More...
 
std::string get_name () const override
 Get the name of this mover. More...
 
void apply (Pose &pose) override
 Perform grid search of ligand position by minimizing the PCS score. More...
 
protocols::moves::MoverOP clone () const override
 Return a clone of the Mover object. More...
 
protocols::moves::MoverOP fresh_instance () const override
 Generates a new Mover object freshly created with the default ctor. More...
 
void parse_my_tag (utility::tag::TagCOP tag, basic::datacache::DataMap &datamap) override
 Parse tags of XML script. More...
 
PCSData const & get_pcs_data () const
 
ScoreFunctionCOP get_scorefunction ()
 
BoundingBox const & get_gridsearch_range () const
 
Real get_trans_step () const
 
Real get_rot_step () const
 
Real get_resolution_damping () const
 
bool optimized_transform () const
 
char get_chain () const
 
void set_scorefunction (ScoreFunctionOP sfxn)
 
void set_gridsearch_range (BoundingBox const &box)
 
void set_gridsearch_range (Vector const &lower, Vector const &upper)
 
void set_trans_step (Real step)
 
void set_rot_step (Real step)
 
void set_resolution_damping (Real damping)
 
void do_optimized_transform ()
 
void undo_optimized_transform ()
 
void set_chain (char const c)
 
- 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...
 
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 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 void provide_citation_info (basic::citation_manager::CitationCollectionList &) const
 Provide citations to the passed CitationCollectionList Subclasses should add the info for themselves and any other classes they use. More...
 

Static Public Member Functions

static std::string mover_name ()
 
static void provide_xml_schema (utility::tag::XMLSchemaDefinition &xsd)
 Create XML schema definition for PREMover. More...
 
- 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 reset_grid_and_bounding_box (Pose const &pose, core::Size const &ligand_resid)
 Build grid around protein and fill it with non-ligand atoms Update the bounding box of the xyz grid search to span the range: [ min_xyz atom_grid - nbr_radius, max_xyz atom_grid + nbr_radius ]. More...
 
Vector define_ligand_frame_origin (Residue const &ligand)
 The local frame of the ligand is located in the ligand's center of mass and has unit basis. More...
 
bool next_ligand_position (Vector &xyz)
 Traverse ligand center to next xyz point (in Angstrom) More...
 
bool next_ligand_orientation (Vector &abc)
 Change ligand orientation to new alpha, beta, gamma angles (in degree) More...
 
Vector local_rotation (Matrix const &R, Vector const &ori, Vector const &v)
 Perform rotation of vector v by matrix R in local frame centered at point ori and with unit basis. More...
 
std::map< core::Size, Vectorbuild_ligand_atom_xyz_table (Residue const &ligand)
 Build map of atom index and xyz coordinates for ligand residue. More...
 
void find_best_ligand_pose_with_grid_search (core::Size const &resid, Residue const &ligand, Vector &position, Vector &orientation)
 Find the best position and orientation for this residue according to the PCS data using a grid search. More...
 
void optimize_ligand_pose_with_nls (Residue const &ligand, Vector &position, Vector &orientation)
 Optimize the ligand position and orientation by NLS. More...
 
void move_ligand_close_to_surface (Pose &pose, core::Size const &ligand_resid)
 Move ligand residue closer to protein surface. To this end, the ligand is simply moved along the jump with the protein in 0.1 Ang steps until an increase in the fa_rep score is monitored. More...
 
Real damped_resolution (Real rmax, Real rmin)
 Calculate the damped resolution in the range [rmax, rmin] using the damping parameter. More...
 

Private Attributes

PCSDataCOP pcs_data_
 experimental PCS data for all lanthanides and tagging sites More...
 
std::string pcs_data_file_
 The file from which to read the PCS data at apply time. More...
 
ScoreFunctionCOP sfxn_
 a scorefunction to monitor if ligand touches the protein More...
 
AtomGrid grid_
 voxelgrid that spans around the protein and which is used for clash check More...
 
BoundingBox gs_box_
 Bounding box of the ligand xyz position grid search. More...
 
Real trans_step_
 translational stepsize (in Ang.) of grid search More...
 
Real rot_step_
 rotational stepsize (in degree) of grid search More...
 
Real rsol_damping_
 smoothening parameter that can be used to damp the resolution of the atom clash check with the voxel grid. Takes values between 0.0 and 1.0 More...
 
bool optimize_transform_
 do further optimization of position and orientation as by grid search More...
 
char chain_
 ligand chain More...
 

Friends

void pcs_lmmin (Real const *par, int, void const *data, Real *fvec, int *)
 pcs error function used in the lmmin function More...
 

Additional Inherited Members

- 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...
 

Member Typedef Documentation

◆ BoundingBox

◆ Matrix

◆ PCSData

◆ PCSDataCOP

◆ PCSDataOP

◆ Pose

◆ Real

◆ Residue

◆ ScoreFunctionCOP

◆ ScoreFunctionOP

◆ Size

◆ Vec5

◆ Vector

Constructor & Destructor Documentation

◆ PCSLigandTransformMover() [1/3]

protocols::nmr::pcs::PCSLigandTransformMover::PCSLigandTransformMover ( )

Default constructor.

Referenced by clone().

◆ PCSLigandTransformMover() [2/3]

protocols::nmr::pcs::PCSLigandTransformMover::PCSLigandTransformMover ( PCSDataCOP  data,
ScoreFunctionCOP  sfxn 
)

◆ PCSLigandTransformMover() [3/3]

protocols::nmr::pcs::PCSLigandTransformMover::PCSLigandTransformMover ( PCSLigandTransformMover const &  other)
default

Copy constructor.

◆ ~PCSLigandTransformMover()

protocols::nmr::pcs::PCSLigandTransformMover::~PCSLigandTransformMover ( )
override

Destructor.

Member Function Documentation

◆ apply()

void protocols::nmr::pcs::PCSLigandTransformMover::apply ( Pose pose)
overridevirtual

◆ build_ligand_atom_xyz_table()

std::map< core::Size, core::Vector > protocols::nmr::pcs::PCSLigandTransformMover::build_ligand_atom_xyz_table ( Residue const &  ligand)
private

Build map of atom index and xyz coordinates for ligand residue.

References protocols::sewing::data_storage::ligand.

Referenced by optimize_ligand_pose_with_nls().

◆ clone()

protocols::moves::MoverOP protocols::nmr::pcs::PCSLigandTransformMover::clone ( ) const
overridevirtual

Return a clone of the Mover object.

Reimplemented from protocols::moves::Mover.

References PCSLigandTransformMover().

◆ damped_resolution()

core::Real protocols::nmr::pcs::PCSLigandTransformMover::damped_resolution ( Real  rmax,
Real  rmin 
)
private

Calculate the damped resolution in the range [rmax, rmin] using the damping parameter.

References rsol_damping_.

Referenced by find_best_ligand_pose_with_grid_search(), and reset_grid_and_bounding_box().

◆ define_ligand_frame_origin()

core::Vector protocols::nmr::pcs::PCSLigandTransformMover::define_ligand_frame_origin ( Residue const &  ligand)
private

The local frame of the ligand is located in the ligand's center of mass and has unit basis.

References core::pose::center_of_mass(), and protocols::sewing::data_storage::ligand.

Referenced by apply(), and find_best_ligand_pose_with_grid_search().

◆ do_optimized_transform()

void protocols::nmr::pcs::PCSLigandTransformMover::do_optimized_transform ( )
inline

References optimize_transform_.

◆ find_best_ligand_pose_with_grid_search()

void protocols::nmr::pcs::PCSLigandTransformMover::find_best_ligand_pose_with_grid_search ( core::Size const &  resid,
Residue const &  ligand,
Vector position,
Vector orientation 
)
private

◆ fresh_instance()

protocols::moves::MoverOP protocols::nmr::pcs::PCSLigandTransformMover::fresh_instance ( ) const
overridevirtual

Generates a new Mover object freshly created with the default ctor.

Reimplemented from protocols::moves::Mover.

◆ get_chain()

char protocols::nmr::pcs::PCSLigandTransformMover::get_chain ( ) const
inline

References chain_.

◆ get_gridsearch_range()

BoundingBox const& protocols::nmr::pcs::PCSLigandTransformMover::get_gridsearch_range ( ) const
inline

References gs_box_.

◆ get_name()

std::string protocols::nmr::pcs::PCSLigandTransformMover::get_name ( ) const
overridevirtual

Get the name of this mover.

Implements protocols::moves::Mover.

References mover_name().

◆ get_pcs_data()

PCSData const& protocols::nmr::pcs::PCSLigandTransformMover::get_pcs_data ( ) const
inline

References pcs_data_.

◆ get_resolution_damping()

Real protocols::nmr::pcs::PCSLigandTransformMover::get_resolution_damping ( ) const
inline

References rsol_damping_.

◆ get_rot_step()

Real protocols::nmr::pcs::PCSLigandTransformMover::get_rot_step ( ) const
inline

References rot_step_.

◆ get_scorefunction()

ScoreFunctionCOP protocols::nmr::pcs::PCSLigandTransformMover::get_scorefunction ( )
inline

References sfxn_.

◆ get_trans_step()

Real protocols::nmr::pcs::PCSLigandTransformMover::get_trans_step ( ) const
inline

References trans_step_.

◆ local_rotation()

core::Vector protocols::nmr::pcs::PCSLigandTransformMover::local_rotation ( Matrix const &  R,
Vector const &  ori,
Vector const &  v 
)
private

Perform rotation of vector v by matrix R in local frame centered at point ori and with unit basis.

Referenced by apply(), and find_best_ligand_pose_with_grid_search().

◆ move_ligand_close_to_surface()

void protocols::nmr::pcs::PCSLigandTransformMover::move_ligand_close_to_surface ( Pose pose,
core::Size const &  ligand_resid 
)
private

◆ mover_name()

std::string protocols::nmr::pcs::PCSLigandTransformMover::mover_name ( )
static

◆ next_ligand_orientation()

bool protocols::nmr::pcs::PCSLigandTransformMover::next_ligand_orientation ( Vector abc)
private

Change ligand orientation to new alpha, beta, gamma angles (in degree)

References rot_step_.

Referenced by find_best_ligand_pose_with_grid_search().

◆ next_ligand_position()

bool protocols::nmr::pcs::PCSLigandTransformMover::next_ligand_position ( Vector xyz)
private

Traverse ligand center to next xyz point (in Angstrom)

References gs_box_, trans_step_, and protocols::kinmatch::xyz().

Referenced by find_best_ligand_pose_with_grid_search().

◆ operator=()

PCSLigandTransformMover & protocols::nmr::pcs::PCSLigandTransformMover::operator= ( PCSLigandTransformMover const &  rhs)
default

Assignment operator.

◆ optimize_ligand_pose_with_nls()

void protocols::nmr::pcs::PCSLigandTransformMover::optimize_ligand_pose_with_nls ( Residue const &  ligand,
Vector position,
Vector orientation 
)
private

Optimize the ligand position and orientation by NLS.

References build_ligand_atom_xyz_table(), protocols::sewing::data_storage::ligand, pcs_data_, pcs_lmmin, protocols::nmr::pcs::TR(), and trans_step_.

Referenced by apply().

◆ optimized_transform()

bool protocols::nmr::pcs::PCSLigandTransformMover::optimized_transform ( ) const
inline

References optimize_transform_.

◆ parse_my_tag()

void protocols::nmr::pcs::PCSLigandTransformMover::parse_my_tag ( utility::tag::TagCOP  tag,
basic::datacache::DataMap datamap 
)
overridevirtual

◆ provide_xml_schema()

void protocols::nmr::pcs::PCSLigandTransformMover::provide_xml_schema ( utility::tag::XMLSchemaDefinition &  xsd)
static

Create XML schema definition for PREMover.

Create XML schema definition for PCSLigandTransformMover.

References mover_name(), and protocols::moves::xsd_type_definition_w_attributes().

Referenced by protocols::nmr::pcs::PCSLigandTransformMoverCreator::provide_xml_schema().

◆ reset_grid_and_bounding_box()

void protocols::nmr::pcs::PCSLigandTransformMover::reset_grid_and_bounding_box ( Pose const &  pose,
core::Size const &  ligand_resid 
)
private

Build grid around protein and fill it with non-ligand atoms Update the bounding box of the xyz grid search to span the range: [ min_xyz atom_grid - nbr_radius, max_xyz atom_grid + nbr_radius ].

References core::conformation::Residue::atom_is_hydrogen(), core::conformation::Residue::atom_name(), damped_resolution(), grid_, gs_box_, core::conformation::Residue::is_virtual_residue(), core::chemical::ResidueType::nbr_radius(), core::pose::Pose::residue(), core::pose::Pose::total_atoms(), core::pose::Pose::total_residue(), core::conformation::Residue::type(), and core::conformation::Residue::xyz().

Referenced by apply().

◆ set_chain()

void protocols::nmr::pcs::PCSLigandTransformMover::set_chain ( char const  c)
inline

References chain_.

◆ set_gridsearch_range() [1/2]

void protocols::nmr::pcs::PCSLigandTransformMover::set_gridsearch_range ( BoundingBox const &  box)
inline

References gs_box_.

◆ set_gridsearch_range() [2/2]

void protocols::nmr::pcs::PCSLigandTransformMover::set_gridsearch_range ( Vector const &  lower,
Vector const &  upper 
)
inline

References gs_box_.

◆ set_resolution_damping()

void protocols::nmr::pcs::PCSLigandTransformMover::set_resolution_damping ( Real  damping)
inline

References rsol_damping_.

◆ set_rot_step()

void protocols::nmr::pcs::PCSLigandTransformMover::set_rot_step ( Real  step)
inline

References rot_step_.

◆ set_scorefunction()

void protocols::nmr::pcs::PCSLigandTransformMover::set_scorefunction ( ScoreFunctionOP  sfxn)
inline

References sfxn_.

◆ set_trans_step()

void protocols::nmr::pcs::PCSLigandTransformMover::set_trans_step ( Real  step)
inline

References trans_step_.

◆ undo_optimized_transform()

void protocols::nmr::pcs::PCSLigandTransformMover::undo_optimized_transform ( )
inline

References optimize_transform_.

Friends And Related Function Documentation

◆ pcs_lmmin

void pcs_lmmin ( Real const *  par,
int  ,
void const *  data,
Real fvec,
int *   
)
friend

pcs error function used in the lmmin function

  • par is an array of the positional parameters to be fitted [x, y, z, alpha, beta, gamma]
  • data is a pointer to the LMMinPCSDataRef container reference
  • fvc is an array holding the residuals of the fit calculation

Referenced by optimize_ligand_pose_with_nls().

Member Data Documentation

◆ chain_

char protocols::nmr::pcs::PCSLigandTransformMover::chain_
private

ligand chain

Referenced by apply(), get_chain(), parse_my_tag(), and set_chain().

◆ grid_

AtomGrid protocols::nmr::pcs::PCSLigandTransformMover::grid_
private

voxelgrid that spans around the protein and which is used for clash check

Referenced by find_best_ligand_pose_with_grid_search(), and reset_grid_and_bounding_box().

◆ gs_box_

BoundingBox protocols::nmr::pcs::PCSLigandTransformMover::gs_box_
private

◆ optimize_transform_

bool protocols::nmr::pcs::PCSLigandTransformMover::optimize_transform_
private

do further optimization of position and orientation as by grid search

Referenced by apply(), do_optimized_transform(), optimized_transform(), and undo_optimized_transform().

◆ pcs_data_

PCSDataCOP protocols::nmr::pcs::PCSLigandTransformMover::pcs_data_
private

experimental PCS data for all lanthanides and tagging sites

Referenced by apply(), find_best_ligand_pose_with_grid_search(), get_pcs_data(), and optimize_ligand_pose_with_nls().

◆ pcs_data_file_

std::string protocols::nmr::pcs::PCSLigandTransformMover::pcs_data_file_
private

The file from which to read the PCS data at apply time.

Referenced by apply(), and parse_my_tag().

◆ rot_step_

Real protocols::nmr::pcs::PCSLigandTransformMover::rot_step_
private

rotational stepsize (in degree) of grid search

Referenced by apply(), get_rot_step(), next_ligand_orientation(), and set_rot_step().

◆ rsol_damping_

Real protocols::nmr::pcs::PCSLigandTransformMover::rsol_damping_
private

smoothening parameter that can be used to damp the resolution of the atom clash check with the voxel grid. Takes values between 0.0 and 1.0

Referenced by damped_resolution(), get_resolution_damping(), and set_resolution_damping().

◆ sfxn_

ScoreFunctionCOP protocols::nmr::pcs::PCSLigandTransformMover::sfxn_
private

a scorefunction to monitor if ligand touches the protein

Referenced by get_scorefunction(), parse_my_tag(), and set_scorefunction().

◆ trans_step_

Real protocols::nmr::pcs::PCSLigandTransformMover::trans_step_
private

translational stepsize (in Ang.) of grid search

Referenced by apply(), get_trans_step(), next_ligand_position(), optimize_ligand_pose_with_nls(), and set_trans_step().


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