Rosetta
|
#include <PCSLigandTransformMover.hh>
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::Vector > | BoundingBox |
typedef core::scoring::nmr::Vec5 | Vec5 |
![]() | |
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... | |
PCSLigandTransformMover & | operator= (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) |
![]() | |
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 Strings & | info () |
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 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, Vector > | build_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 | |
![]() | |
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... | |
typedef numeric::geometry::BoundingBox< core::Vector > protocols::nmr::pcs::PCSLigandTransformMover::BoundingBox |
typedef core::scoring::nmr::pcs::PCSDataCOP protocols::nmr::pcs::PCSLigandTransformMover::PCSDataCOP |
typedef core::scoring::ScoreFunctionCOP protocols::nmr::pcs::PCSLigandTransformMover::ScoreFunctionCOP |
typedef core::scoring::ScoreFunctionOP protocols::nmr::pcs::PCSLigandTransformMover::ScoreFunctionOP |
protocols::nmr::pcs::PCSLigandTransformMover::PCSLigandTransformMover | ( | ) |
Default constructor.
Referenced by clone().
protocols::nmr::pcs::PCSLigandTransformMover::PCSLigandTransformMover | ( | PCSDataCOP | data, |
ScoreFunctionCOP | sfxn | ||
) |
|
default |
Copy constructor.
|
override |
Destructor.
|
overridevirtual |
Perform grid search of ligand position by minimizing the PCS score.
Implements protocols::moves::Mover.
References chain_, define_ligand_frame_origin(), find_best_ligand_pose_with_grid_search(), core::pose::get_resnums_for_chain(), local_rotation(), move_ligand_close_to_surface(), core::conformation::Residue::natoms(), optimize_ligand_pose_with_nls(), optimize_transform_, pcs_data_, pcs_data_file_, reset_grid_and_bounding_box(), core::pose::Pose::residue(), rot_step_, core::pose::Pose::set_xyz(), protocols::nmr::pcs::TR(), trans_step_, and core::conformation::Residue::xyz().
|
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().
|
overridevirtual |
Return a clone of the Mover object.
Reimplemented from protocols::moves::Mover.
References PCSLigandTransformMover().
|
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().
|
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().
|
inline |
References optimize_transform_.
|
private |
Find the best position and orientation for this residue according to the PCS data using a grid search.
References damped_resolution(), define_ligand_frame_origin(), grid_, gs_box_, protocols::sewing::data_storage::ligand, local_rotation(), protocols::mean_field::max(), next_ligand_orientation(), next_ligand_position(), pcs_data_, core::scoring::nmr::pcs_func(), core::scoring::nmr::rotation_matrix_from_euler_angles(), protocols::nmr::pcs::AtomGridPoint::set_coordinates(), and protocols::nmr::pcs::TR().
Referenced by apply().
|
overridevirtual |
Generates a new Mover object freshly created with the default ctor.
Reimplemented from protocols::moves::Mover.
|
inline |
References chain_.
|
inline |
References gs_box_.
|
overridevirtual |
|
inline |
References pcs_data_.
|
inline |
References rsol_damping_.
|
inline |
References rot_step_.
|
inline |
References sfxn_.
|
inline |
References trans_step_.
|
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().
|
private |
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.
References protocols::rigid::RigidBodyTransMover::apply(), core::pose::Pose::energies(), core::scoring::fa_rep, core::pose::Pose::fold_tree(), core::kinematics::get_foldtree_which_partitions(), core::kinematics::jump_which_partitions(), protocols::rigid::RigidBodyTransMover::step_size(), core::scoring::Energies::total_energies(), core::pose::Pose::total_residue(), protocols::nmr::pcs::TR(), and protocols::rigid::RigidBodyTransMover::trans_axis().
Referenced by apply().
|
static |
Referenced by get_name(), protocols::nmr::pcs::PCSLigandTransformMoverCreator::keyname(), and provide_xml_schema().
|
private |
Change ligand orientation to new alpha, beta, gamma angles (in degree)
References rot_step_.
Referenced by find_best_ligand_pose_with_grid_search().
|
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().
|
default |
Assignment operator.
|
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().
|
inline |
References optimize_transform_.
|
overridevirtual |
Parse tags of XML script.
Reimplemented from protocols::moves::Mover.
References chain_, protocols::abinitio::filename(), core::scoring::parse_score_function(), pcs_data_file_, sfxn_, and protocols::nmr::pcs::TR().
|
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().
|
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().
|
inline |
References chain_.
|
inline |
References gs_box_.
|
inline |
References gs_box_.
|
inline |
References rsol_damping_.
|
inline |
References rot_step_.
|
inline |
References sfxn_.
|
inline |
References trans_step_.
|
inline |
References optimize_transform_.
pcs error function used in the lmmin function
Referenced by optimize_ligand_pose_with_nls().
|
private |
ligand chain
Referenced by apply(), get_chain(), parse_my_tag(), and set_chain().
|
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().
|
private |
Bounding box of the ligand xyz position grid search.
Referenced by find_best_ligand_pose_with_grid_search(), get_gridsearch_range(), next_ligand_position(), reset_grid_and_bounding_box(), and set_gridsearch_range().
|
private |
do further optimization of position and orientation as by grid search
Referenced by apply(), do_optimized_transform(), optimized_transform(), and undo_optimized_transform().
|
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().
|
private |
The file from which to read the PCS data at apply time.
Referenced by apply(), and parse_my_tag().
|
private |
rotational stepsize (in degree) of grid search
Referenced by apply(), get_rot_step(), next_ligand_orientation(), and set_rot_step().
|
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().
|
private |
a scorefunction to monitor if ligand touches the protein
Referenced by get_scorefunction(), parse_my_tag(), and set_scorefunction().
|
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().