Rosetta 3.5
 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]
Collaboration diagram for core::scoring::sc::ShapeComplementarityCalculator:
Collaboration graph
[legend]

Public Member Functions

 ShapeComplementarityCalculator ()
 ShapeComplementarityCalculator constructor, initializes default settings. More...
 
virtual ~ShapeComplementarityCalculator ()
 
virtual int Calc ()
 Run the SC calculation for previously defined molecules (via AddResidue or add_atom calls) More...
 
virtual int Calc (core::pose::Pose const &pose, core::Size jump_id)
 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...
 
virtual ~MolecularSurfaceCalculator ()
 
virtual int Init ()
 Initializes calculation and GPU (if used) Init() is also called implicitly by the static CalcSc() function. More...
 
virtual void Reset ()
 Reset calculator for another calculation. Must be used when the MolecularSurfaceCalculator instance is re-used. More...
 
int add_atom (int molecule, Atom &atom)
 Add an atom to a molecule for computation. More...
 
core::Size AddResidue (int molecule, core::conformation::Residue const &residue)
 Add a rosetta residue to a specific molecule. More...
 
std::vector< Atom > const & GetAtoms ()
 
std::vector< DOT > const & GetDots (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

virtual int AssignAttentionNumbers (std::vector< Atom > &atom)
 
- 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 *r, 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
 
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< 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 ( )
core::scoring::sc::ShapeComplementarityCalculator::~ShapeComplementarityCalculator ( )
virtual

Member Function Documentation

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

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

ShapeComplementarityCalculator::Calc()

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

ShapeComplementarityCalculator::CalcSc()

Detailed:
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: