![]() |
Rosetta
2021.16
|
#include <ShapeSimilarityCalculator.hh>

Public Member Functions | |
| ShapeSimilarityCalculator () | |
| ShapeSimilarityCalculator constructor, initializes default settings. More... | |
| ~ShapeSimilarityCalculator () override | |
| int | Calc () override |
| Run the SS calculation for previously defined molecules (via AddResidue or add_atom calls) More... | |
| core::Real | CalcSs (core::pose::Pose const &pose, core::pose::Pose const &native, core::select::residue_selector::ResidueSelectorCOP selector_pose, core::select::residue_selector::ResidueSelectorCOP selector_native) |
| Run the SS calculation on Pose and Reference and return the ss statistic or -1 on error. More... | |
Public Member Functions inherited from core::scoring::sc::MolecularSurfaceCalculator | |
| MolecularSurfaceCalculator () | |
| MolecularSurfaceCalculator constructor, initializes default settings. More... | |
| ~MolecularSurfaceCalculator () override | |
| virtual int | Init () |
| Initializes calculation and GPU (if used) Init() is also called implicitly by the static CalcSc() function. More... | |
| void | Reset () |
| Reset calculator for another calculation. Must be used when the MolecularSurfaceCalculator instance is re-used. More... | |
| int | AddAtom (int molecule, Atom &atom) |
| Add an atom to a molecule for computation. More... | |
| core::Size | AddResidue (int molecule, core::conformation::Residue const &residue, bool apolar_only=false) |
| Add a rosetta residue to a specific molecule. More... | |
| virtual int | Calc (core::pose::Pose const &pose, core::Size jump_id=0) |
| Generate molecular surfaces for the given pose. //. More... | |
| std::vector< Atom > const & | GetAtoms () |
| std::vector< DOT > const & | GetDots (int const moleculeid) |
| std::vector< const DOT * > const & | GetTrimmedDots (int const moleculeid) |
| RESULTS const & | GetResults () |
Public Attributes | |
| bool | median |
Public Attributes inherited from core::scoring::sc::MolecularSurfaceCalculator | |
| struct { | |
| core::Real rp | |
| core::Real density | |
| core::Real band | |
| core::Real sep | |
| core::Real weight | |
| core::Real binwidth_dist | |
| core::Real binwidth_norm | |
| core::Real near_squared_size | |
| bool use_rosetta_radii | |
| } | settings |
Protected Member Functions | |
| int | AssignAttentionNumbers (std::vector< Atom > &atom) override |
Protected Member Functions inherited from core::scoring::sc::MolecularSurfaceCalculator | |
| void | GenerateMolecularSurfaces () |
| Generate untrimmed surfaces for the defined molecules. More... | |
| int | AssignAtomRadius (Atom &atom) |
| int | WildcardMatch (char const *query, char const *pattern, int const l) |
| int | ReadScRadii () |
| Read atom radius definitions from file This function is implicitly called, but can be overloaded or called explicitly for custom handling of the atom radii library. Returns true on success. More... | |
| void | AddDot (int const molecule, int const type, Vec3 const &coor, ScValue const area, Vec3 const &pcen, Atom const &atom) |
Private Member Functions | |
| ScValue | TrimPeripheralBand (std::vector< DOT > const &sdots, std::vector< const DOT * > &trimmed_dots) |
| SS molecular dot trimming, vector dot product calculation and statistics. More... | |
| int | TrimPeripheralBandCheckDot (DOT const &dot, std::vector< DOT > const &sdots) |
| Test a dot against a set of dots for collision NOTE: ~75% of time is spent in this function. More... | |
| core::Real | CalcNeighborDistance (int const molecule, std::vector< const DOT * > const &my_dots, std::vector< const DOT * > const &their_dots) |
| Evaluate similarity of two points of the surface. More... | |
| DOT const * | CalcNeighborDistanceFindClosestNeighbor (DOT const &dot1, std::vector< const DOT * > const &their_dots) |
| Find closest neighbor dot for a given dot NOTE: ~20% of time is spent in this function. More... | |
Additional Inherited Members | |
Public Types inherited from core::scoring::sc::MolecularSurfaceCalculator | |
| typedef float | ScValue |
| typedef numeric::xyzVector< float > | Vec3 |
Protected Attributes inherited from core::scoring::sc::MolecularSurfaceCalculator | |
| struct { | |
| ScValue radmax | |
| RESULTS results | |
| std::vector< Atom > atoms | |
| std::vector< DOT > dots [2] | |
| std::vector< const DOT * > trimmed_dots [2] | |
| std::vector< PROBE > probes | |
| Vec3 prevp | |
| int prevburied | |
| } | run_ |
Static Protected Attributes inherited from core::scoring::sc::MolecularSurfaceCalculator | |
| static std::vector< ATOM_RADIUS > | radii_ |
| core::scoring::sc::ShapeSimilarityCalculator::ShapeSimilarityCalculator | ( | ) |
ShapeSimilarityCalculator constructor, initializes default settings.
|
overridedefault |
|
overrideprotectedvirtual |
Reimplemented from core::scoring::sc::MolecularSurfaceCalculator.
References core::scoring::sc::ATTEN_BURIED_FLAGGED, and core::scoring::sc::MolecularSurfaceCalculator::run_.
Referenced by Calc().
|
overridevirtual |
Run the SS calculation for previously defined molecules (via AddResidue or add_atom calls)
This function is called for residues / atoms making up the two molecular surfaces have been explicitly defined. Returns true on success.
Reimplemented from core::scoring::sc::MolecularSurfaceCalculator.
References AssignAttentionNumbers(), core::scoring::sc::MolecularSurfaceCalculator::GenerateMolecularSurfaces(), core::scoring::sc::MolecularSurfaceCalculator::run_, and core::scoring::TR().
Referenced by core::scoring::sc::ElectrostaticSimilarityCalculator::Calc(), and CalcSs().
|
private |
Evaluate similarity of two points of the surface.
Identify the closes points of the two provided surfaces and compute the distance between the points and their normal vectors. The normal vectors are used to evaluate the shape of the points via the normal vector dot product. This operation is performed for all points of the specified surfaces and the mean of all values represent the overall shape similarity.
References core::pack::dunbrack::c, CalcNeighborDistanceFindClosestNeighbor(), core::scoring::sc::_DOT::coor, MAX, median, MIN, core::scoring::sc::_DOT::outnml, core::scoring::sc::MolecularSurfaceCalculator::run_, core::scoring::sc::MolecularSurfaceCalculator::settings, protocols::analysis::total, and core::scoring::TR().
Referenced by CalcSs().
|
private |
Find closest neighbor dot for a given dot NOTE: ~20% of time is spent in this function.
References core::scoring::sc::_DOT::buried, and core::scoring::sc::_DOT::coor.
Referenced by CalcNeighborDistance().
| core::Real core::scoring::sc::ShapeSimilarityCalculator::CalcSs | ( | core::pose::Pose const & | pose, |
| core::pose::Pose const & | native, | ||
| core::select::residue_selector::ResidueSelectorCOP | selector_pose, | ||
| core::select::residue_selector::ResidueSelectorCOP | selector_native | ||
| ) |
Run the SS calculation on Pose and Reference and return the ss statistic or -1 on error.
This is a static function and can be called without instantiating ShapeSimilarityCalculator. The residue selectors for the pose and reference are used to select two surfaces to compare. Setting quick to true will perform a much faster calculation (~5-10 times faster) at the expense of accuracy (about 0.05 units).
Example: core::Real sc = core::scoring::sc::ShapeSimilarityCalculator( pose );
References core::scoring::sc::MolecularSurfaceCalculator::AddResidue(), Calc(), CalcNeighborDistance(), core::conformation::Residue::chain(), core::sequence::end, core::scoring::sc::MolecularSurfaceCalculator::GetDots(), protocols::hybridization::r1, protocols::hybridization::r2, core::pose::Pose::residue(), core::pose::Pose::split_by_chain(), and core::scoring::TR().
Referenced by core::simple_metrics::metrics::ShapeSimilarityMetric::calculate().
|
private |
SS molecular dot trimming, vector dot product calculation and statistics.
Trim dots and retain only the peripheral band (currently not used during evaluation)
References core::scoring::sc::_DOT::area, core::scoring::sc::_DOT::buried, core::scoring::sc::MolecularSurfaceCalculator::settings, and TrimPeripheralBandCheckDot().
|
private |
Test a dot against a set of dots for collision NOTE: ~75% of time is spent in this function.
References core::scoring::sc::_DOT::buried, core::scoring::sc::_DOT::coor, protocols::hybridization::r2, and core::scoring::sc::MolecularSurfaceCalculator::settings.
Referenced by TrimPeripheralBand().
| bool core::scoring::sc::ShapeSimilarityCalculator::median |
1.8.7