Rosetta  2021.16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | List of all members
core::scoring::sc::ShapeComplementarityCalculator Class Reference

#include <ShapeComplementarityCalculator.hh>

Inheritance diagram for core::scoring::sc::ShapeComplementarityCalculator:
Inheritance graph
[legend]

Public Member Functions

 ShapeComplementarityCalculator ()
 ShapeComplementarityCalculator constructor, initializes default settings. More...
 
 ~ShapeComplementarityCalculator () override
 
int Calc () override
 Run the SC calculation for previously defined molecules (via AddResidue or add_atom calls) More...
 
int Calc (core::pose::Pose const &pose, core::Size jump_id) override
 Run the SC calculation on a Pose, partitionied by jump_id. 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...
 
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 ()
 

Static Public Member Functions

static core::Real CalcSc (core::pose::Pose const &pose, core::Size jump_id=1, int quick=0)
 Run the SC calculation on Pose and return just the sc statistic or -1 on error. More...
 

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)
 
int TrimPeripheralBandCheckDot (DOT const &dot, std::vector< DOT > const &sdots)
 
int CalcNeighborDistance (int const molecule, std::vector< const DOT * > const &my_dots, std::vector< const DOT * > const &their_dots)
 
DOT const * CalcNeighborDistanceFindClosestNeighbor (DOT const &dot1, std::vector< const DOT * > const &their_dots)
 

Additional Inherited Members

- Public Types inherited from core::scoring::sc::MolecularSurfaceCalculator
typedef float ScValue
 
typedef numeric::xyzVector< float > Vec3
 
- 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 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_RADIUSradii_
 

Constructor & Destructor Documentation

core::scoring::sc::ShapeComplementarityCalculator::ShapeComplementarityCalculator ( )

ShapeComplementarityCalculator constructor, initializes default settings.

core::scoring::sc::ShapeComplementarityCalculator::~ShapeComplementarityCalculator ( )
overridedefault

Member Function Documentation

int core::scoring::sc::ShapeComplementarityCalculator::AssignAttentionNumbers ( std::vector< Atom > &  atom)
overrideprotectedvirtual
int core::scoring::sc::ShapeComplementarityCalculator::Calc ( )
overridevirtual
int core::scoring::sc::ShapeComplementarityCalculator::Calc ( core::pose::Pose const &  pose,
core::Size  jump_id 
)
overridevirtual

Run the SC calculation on a Pose, partitionied by jump_id.

This non-static function requires an instance of the ShapeComplementarityCalculator class. The jump_id is used to partition the pose into two molecular surfaces. To control what residues make up either surface, use the AddResidue() or even add_atom() function instead. Returns true on success. Results are retrieved with GetResults().

Example: core::scoring::sc::ShapeComplementarityCalculator calc; core::Real sc; if(calc.Calc( pose )) sc = calc.GetResults().sc;

Reimplemented from core::scoring::sc::MolecularSurfaceCalculator.

References core::scoring::sc::MolecularSurfaceCalculator::Calc(), core::pose::Pose::num_jump(), and core::scoring::TR().

int core::scoring::sc::ShapeComplementarityCalculator::CalcNeighborDistance ( int const  molecule,
std::vector< const DOT * > const &  my_dots,
std::vector< const DOT * > const &  their_dots 
)
private
DOT const * core::scoring::sc::ShapeComplementarityCalculator::CalcNeighborDistanceFindClosestNeighbor ( DOT const &  dot1,
std::vector< const DOT * > const &  their_dots 
)
private
core::Real core::scoring::sc::ShapeComplementarityCalculator::CalcSc ( core::pose::Pose const &  pose,
core::Size  jump_id = 1,
int  quick = 0 
)
static

Run the SC calculation on Pose and return just the sc statistic or -1 on error.

This is a static function and can be called without instantiating ShapeComplementarityCalculator. The jump_id is used to partition the pose into two molecular surfaces; the first jump (1) is used is no jump_id is explicity specified. Those desiring more control as to what residues make up either surface should use the AddResidue() or even add_atom() function instead. 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::ShapeComplementarityCalculator( pose );

References Calc(), core::scoring::sc::MolecularSurfaceCalculator::density, core::scoring::sc::MolecularSurfaceCalculator::GetResults(), core::scoring::sc::_RESULTS::sc, and core::scoring::sc::MolecularSurfaceCalculator::settings.

ShapeComplementarityCalculator::ScValue core::scoring::sc::ShapeComplementarityCalculator::TrimPeripheralBand ( std::vector< DOT > const &  sdots,
std::vector< const DOT * > &  trimmed_dots 
)
private
int core::scoring::sc::ShapeComplementarityCalculator::TrimPeripheralBandCheckDot ( DOT const &  dot,
std::vector< DOT > const &  sdots 
)
private

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