![]() |
Rosetta Core
2014.35
|
#include <MolecularSurfaceCalculator.hh>
Public Types | |
typedef float | ScValue |
typedef numeric::xyzVector< float > | Vec3 |
Public Member Functions | |
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 | AddAtom (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... | |
virtual int | Calc (core::pose::Pose const &pose, core::Size jump_id=0) |
Generate molecular surfaces for the given pose. More... | |
virtual int | Calc () |
Generate molecular surfaces for loaded atoms. More... | |
std::vector< Atom > const & | GetAtoms () |
std::vector< DOT > const & | GetDots (int const moleculeid) |
RESULTS const & | GetResults () |
Public Attributes | |
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 |
ScValue | radmax |
RESULTS | results |
std::vector< Atom > | atoms |
std::vector< DOT > | dots [2] |
std::vector< PROBE > | probes |
Vec3 | prevp |
int | prevburied |
Protected Member Functions | |
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) |
virtual int | AssignAttentionNumbers (std::vector< Atom > &atom) |
Protected Attributes | |
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 | |
static std::vector< ATOM_RADIUS > | radii_ |
Private Member Functions | |
int | CalcDotsForAllAtoms (std::vector< Atom > &atoms) |
int | CalcDotsForAtoms (std::vector< Atom > &atoms) |
int | FindNeighbordsAndBuriedAtoms (Atom &atom) |
int | FindNeighborsForAtom (Atom &atom1) |
int | GenerateToroidalSurface (Atom &atom1, Atom &atom2, Vec3 const uij, Vec3 const tij, ScValue rij, int between) |
int | GenerateConvexSurface (Atom const &atom1) |
int | GenerateConcaveSurface () |
int | SecondLoop (Atom &pAtom1) |
int | ThirdLoop (Atom &pAtom1, Atom &pAtom, Vec3 const &uij, Vec3 const &tij, ScValue const rij) |
int | CheckAtomCollision2 (Vec3 const &pijk, Atom const &atom1, Atom const &atom2, std::vector< Atom * > const &atoms) |
int | CheckPointCollision (Vec3 const &pcen, std::vector< Atom * > const &atoms) |
int | CheckProbeCollision (Vec3 const &point, std::vector< const PROBE * > const nears, ScValue const r2) |
ScValue | DistancePointToLine (Vec3 const &cen, Vec3 const &axis, Vec3 const &pnt) |
ScValue | SubArc (Vec3 const &cen, ScValue const rad, Vec3 const &axis, ScValue const density, Vec3 const &x, Vec3 const &v, std::vector< Vec3 > &points) |
ScValue | SubDiv (Vec3 const &cen, ScValue const rad, Vec3 const &x, Vec3 const &y, ScValue angle, ScValue density, std::vector< Vec3 > &points) |
ScValue | SubCir (Vec3 const &cen, ScValue const rad, Vec3 const &north, ScValue const density, std::vector< Vec3 > &points) |
Static Private Member Functions | |
static int | _atom_distance_cb (void *a1, void *a2) |
core::scoring::sc::MolecularSurfaceCalculator::MolecularSurfaceCalculator | ( | ) |
MolecularSurfaceCalculator constructor, initializes default settings.
|
virtual |
References Reset().
|
staticprivate |
References core::scoring::sc::_atom_distance_ref, and numeric::xyzVector< class >::distance().
Referenced by FindNeighbordsAndBuriedAtoms().
Add an atom to a molecule for computation.
MolecularSurfaceCalculator::AddAtom()
References core::scoring::sc::Atom::access, core::scoring::sc::Atom::atom, core::scoring::sc::Atom::density, core::scoring::sc::Atom::molecule, core::scoring::sc::Atom::natom, core::scoring::sc::Atom::radius, core::scoring::sc::Atom::residue, and core::scoring::TR.
Referenced by AddResidue().
|
protected |
References core::scoring::sc::_DOT::buried, numeric::xyzVector< class >::distance_squared(), dot(), core::scoring::sc::_DOT::outnml, run_, and settings.
Referenced by GenerateConcaveSurface(), GenerateConvexSurface(), and GenerateToroidalSurface().
core::Size core::scoring::sc::MolecularSurfaceCalculator::AddResidue | ( | int | molecule, |
core::conformation::Residue const & | residue | ||
) |
Add a rosetta residue to a specific molecule.
MolecularSurfaceCalculator::AddResidue()
Example: core::scoring::sc::MolecularSurfaceCalculator calc; core::Real sc; calc.Init(); calc.Reset(); // Only needed when re-using the calculator for(core::Size i = 1; i <= pose.n_residue(); i++) calc.AddResidue((i < 100), pose.residue(i)); if(calc.Calc()) sc = calc.GetResults().sc;
References AddAtom(), AssignAtomRadius(), core::scoring::sc::Atom::atom, core::conformation::Residue::atom_name(), Init(), core::conformation::Residue::is_virtual(), core::conformation::Residue::name3(), core::conformation::Residue::nheavyatoms(), core::scoring::sc::Atom::nresidue, core::scoring::sc::Atom::radius, core::scoring::sc::Atom::residue, core::conformation::Residue::seqpos(), core::scoring::TR, numeric::xyzVector< class >::x(), xyz, core::conformation::Residue::xyz(), numeric::xyzVector< class >::y(), and numeric::xyzVector< class >::z().
Referenced by Calc().
|
protectedvirtual |
Reimplemented in core::scoring::sc::ShapeComplementarityCalculator.
References core::scoring::sc::ATTEN_BURIED_FLAGGED, and run_.
Referenced by Calc().
|
virtual |
Generate molecular surfaces for the given pose.
MolecularSurfaceCalculator::Calc(core::pose::Pose const & pose, core::Size jump_id = 0)
MolecularSurfaceCalculator::Calc(core::pose::Pose const & pose, core::Size jump_id = 0)
The pose is partitioned into separate molecules across the given jump. If the given jump is 0, the entire pose is loaded as molecule 1. To control what residues make up either surface, use the AddResidue() or even AddAtom() function instead. Returns true on success. Results are retrieved with GetResults().
Example: core::scoring::sc::MolecularSurfaceCalculator calc; if(calc.Calc( pose )) ... = calc.GetResults();
Reimplemented in core::scoring::sc::ShapeComplementarityCalculator.
References AddResidue(), Calc(), core::pose::Pose::fold_tree(), Init(), core::pose::Pose::n_residue(), core::chemical::ResidueType::name(), core::pose::Pose::num_jump(), core::kinematics::FoldTree::partition_by_jump(), residue, core::pose::Pose::residue(), core::pose::Pose::total_residue(), core::scoring::TR, and core::conformation::Residue::type().
|
virtual |
Generate molecular surfaces for loaded atoms.
MolecularSurfaceCalculator::Calc()
MolecularSurfaceCalculator::Calc() Detailed: This function generates molecular surfaces for atoms added via AddAtom and AddResidue.
Init() must be called before this function. Returns true on success.
Reimplemented in core::scoring::sc::ShapeComplementarityCalculator.
References AssignAttentionNumbers(), core::scoring::sc::ShapeComplementarityCalculatorException::error, GenerateMolecularSurfaces(), run_, timer, and core::scoring::TR.
Referenced by core::scoring::sc::ShapeComplementarityCalculator::Calc(), and Calc().
|
private |
References core::scoring::sc::Atom::access, core::scoring::sc::Atom::atten, core::scoring::sc::ATTEN_6, core::scoring::sc::ATTEN_BLOCKER, core::scoring::sc::Atom::buried, FindNeighbordsAndBuriedAtoms(), GenerateConcaveSurface(), GenerateConvexSurface(), run_, and settings.
Referenced by GenerateMolecularSurfaces().
|
private |
|
private |
References numeric::xyzVector< class >::distance_squared(), core::scoring::sc::Atom::radius, and settings.
Referenced by ThirdLoop().
|
private |
References numeric::xyzVector< class >::distance(), and settings.
Referenced by GenerateConvexSurface().
|
private |
References numeric::xyzVector< class >::distance_squared().
Referenced by GenerateConcaveSurface().
|
private |
References numeric::xyzVector< class >::dot(), and numeric::xyzVector< class >::magnitude_squared().
Referenced by GenerateToroidalSurface().
|
private |
References _atom_distance_cb(), core::scoring::sc::_atom_distance_ref, FindNeighborsForAtom(), core::scoring::sc::Atom::neighbors, and SecondLoop().
Referenced by CalcDotsForAllAtoms().
References core::scoring::sc::Atom::access, core::scoring::sc::Atom::atom, core::scoring::sc::Atom::atten, core::scoring::sc::ATTEN_6, core::scoring::sc::ATTEN_BURIED_FLAGGED, core::scoring::sc::Atom::buried, numeric::xyzVector< class >::distance_squared(), core::scoring::sc::Atom::molecule, core::scoring::sc::Atom::natom, neighbors, core::scoring::sc::Atom::neighbors, core::scoring::sc::Atom::radius, core::scoring::sc::Atom::residue, run_, settings, numeric::xyzVector< class >::x(), numeric::xyzVector< class >::y(), and numeric::xyzVector< class >::z().
Referenced by FindNeighbordsAndBuriedAtoms().
|
private |
|
private |
References ABS, AddDot(), CheckPointCollision(), numeric::xyzVector< class >::cross(), core::scoring::sc::Atom::density, numeric::xyzVector< class >::distance(), numeric::xyzVector< class >::dot(), core::scoring::sc::Atom::molecule, core::scoring::sc::Atom::natom, neighbors, core::scoring::sc::Atom::neighbors, numeric::xyzVector< class >::normalize(), o, core::scoring::sc::Atom::radius, run_, settings, SubArc(), SubCir(), numeric::xyzVector< class >::x(), numeric::xyzVector< class >::y(), and numeric::xyzVector< class >::z().
Referenced by CalcDotsForAllAtoms().
|
protected |
Generate untrimmed surfaces for the defined molecules.
MolecularSurfaceCalculator::ComputeMolecularSurfaces Detailed: This function should be called within a try/catch block for ShapeComplementarityCalculatorException. Raises exception on error.
MolecularSurfaceCalculator::GenerateMolecularSurfaces Detailed: This function should be called within a try/catch block for ShapeComplementarityCalculatorException. Raises exception on error.
References CalcDotsForAllAtoms(), run_, settings, and core::scoring::TR.
Referenced by core::scoring::sc::ShapeComplementarityCalculator::Calc(), and Calc().
|
private |
References core::scoring::sc::Atom::access, AddDot(), core::scoring::sc::Atom::atten, core::scoring::sc::ATTEN_2, core::scoring::sc::ATTEN_6, core::scoring::sc::Atom::buried, numeric::xyzVector< class >::cross(), core::scoring::sc::Atom::density, density, numeric::xyzVector< class >::distance_squared(), DistancePointToLine(), numeric::xyzVector< class >::dot(), core::scoring::sc::Atom::molecule, neighbors, core::scoring::sc::Atom::neighbors, numeric::xyzVector< class >::normalize(), pi, core::scoring::sc::Atom::radius, run_, settings, SubArc(), and SubCir().
Referenced by SecondLoop().
|
inline |
References run_.
|
inline |
References run_.
|
inline |
References run_.
Referenced by core::scoring::sc::ShapeComplementarityCalculator::CalcSc().
|
virtual |
Initializes calculation and GPU (if used) Init() is also called implicitly by the static CalcSc() function.
MolecularSurfaceCalculator::Init()
References radii_, and ReadScRadii().
Referenced by AddResidue(), and Calc().
|
protected |
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.
MolecularSurfaceCalculator::ReadScRadii()
References core::scoring::sc::_ATOM_RADIUS::atom, utility::io::izstream::good(), in, basic::database::open(), radii_, radius, core::scoring::sc::_ATOM_RADIUS::radius, core::scoring::sc::_ATOM_RADIUS::residue, and core::scoring::TR.
Referenced by Init().
|
virtual |
Reset calculator for another calculation. Must be used when the MolecularSurfaceCalculator instance is re-used.
MolecularSurfaceCalculator::Reset()
References run_.
Referenced by MolecularSurfaceCalculator(), and ~MolecularSurfaceCalculator().
References ABS, core::scoring::sc::Atom::access, core::scoring::sc::Atom::atten, core::scoring::sc::ATTEN_BLOCKER, numeric::xyzVector< class >::distance(), GenerateToroidalSurface(), neighbors, core::scoring::sc::Atom::neighbors, core::scoring::sc::Atom::radius, settings, and ThirdLoop().
Referenced by FindNeighbordsAndBuriedAtoms().
|
private |
References angle, numeric::xyzVector< class >::cross(), numeric::xyzVector< class >::dot(), PI, and SubDiv().
Referenced by GenerateConcaveSurface(), GenerateConvexSurface(), and GenerateToroidalSurface().
|
private |
References ABS, numeric::xyzVector< class >::cross(), numeric::xyzVector< class >::dot(), numeric::xyzVector< class >::normalize(), PI, SubDiv(), numeric::xyzVector< class >::x(), numeric::xyzVector< class >::y(), and numeric::xyzVector< class >::z().
Referenced by GenerateConcaveSurface(), GenerateConvexSurface(), and GenerateToroidalSurface().
|
private |
References core::pack::dunbrack::c, MAX_SUBDIV, and s.
|
private |
References core::scoring::sc::Atom::access, core::scoring::sc::_PROBE::alt, core::scoring::sc::Atom::atten, core::scoring::sc::ATTEN_BLOCKER, CheckAtomCollision2(), numeric::xyzVector< class >::cross(), numeric::xyzVector< class >::distance(), numeric::xyzVector< class >::distance_squared(), numeric::xyzVector< class >::dot(), core::scoring::sc::_PROBE::height, neighbors, core::scoring::sc::Atom::neighbors, core::scoring::sc::_PROBE::pAtoms, core::scoring::sc::_PROBE::point, core::scoring::sc::Atom::radius, run_, settings, numeric::xyzVector< class >::x(), numeric::xyzVector< class >::y(), and numeric::xyzVector< class >::z().
Referenced by SecondLoop().
|
protected |
References match.
Referenced by AssignAtomRadius().
std::vector<Atom> core::scoring::sc::MolecularSurfaceCalculator::atoms |
core::Real core::scoring::sc::MolecularSurfaceCalculator::band |
core::Real core::scoring::sc::MolecularSurfaceCalculator::binwidth_dist |
core::Real core::scoring::sc::MolecularSurfaceCalculator::binwidth_norm |
core::Real core::scoring::sc::MolecularSurfaceCalculator::density |
std::vector<DOT> core::scoring::sc::MolecularSurfaceCalculator::dots[2] |
int core::scoring::sc::MolecularSurfaceCalculator::prevburied |
Vec3 core::scoring::sc::MolecularSurfaceCalculator::prevp |
std::vector<PROBE> core::scoring::sc::MolecularSurfaceCalculator::probes |
|
staticprotected |
Referenced by AssignAtomRadius(), Init(), and ReadScRadii().
ScValue core::scoring::sc::MolecularSurfaceCalculator::radmax |
RESULTS core::scoring::sc::MolecularSurfaceCalculator::results |
core::Real core::scoring::sc::MolecularSurfaceCalculator::rp |
struct { ... } core::scoring::sc::MolecularSurfaceCalculator::run_ |
Referenced by AddDot(), core::scoring::sc::ShapeComplementarityCalculator::AssignAttentionNumbers(), AssignAttentionNumbers(), core::scoring::sc::ShapeComplementarityCalculator::Calc(), Calc(), CalcDotsForAllAtoms(), core::scoring::sc::ShapeComplementarityCalculator::CalcNeighborDistance(), FindNeighborsForAtom(), GenerateConcaveSurface(), GenerateConvexSurface(), GenerateMolecularSurfaces(), GenerateToroidalSurface(), GetAtoms(), GetDots(), GetResults(), Reset(), and ThirdLoop().
core::Real core::scoring::sc::MolecularSurfaceCalculator::sep |
struct { ... } core::scoring::sc::MolecularSurfaceCalculator::settings |
Referenced by AddDot(), core::scoring::sc::ShapeComplementarityCalculator::AssignAttentionNumbers(), core::scoring::sc::ShapeComplementarityCalculator::Calc(), CalcDotsForAllAtoms(), core::scoring::sc::ShapeComplementarityCalculator::CalcNeighborDistance(), core::scoring::sc::ShapeComplementarityCalculator::CalcSc(), CheckAtomCollision2(), CheckPointCollision(), FindNeighborsForAtom(), GenerateConcaveSurface(), GenerateConvexSurface(), GenerateMolecularSurfaces(), GenerateToroidalSurface(), MolecularSurfaceCalculator(), SecondLoop(), ThirdLoop(), core::scoring::sc::ShapeComplementarityCalculator::TrimPeripheralBand(), and core::scoring::sc::ShapeComplementarityCalculator::TrimPeripheralBandCheckDot().
core::Real core::scoring::sc::MolecularSurfaceCalculator::weight |