|
Rosetta 3.5
|
#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 | 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... | |
| 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 *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) |
| 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) |
Definition at line 174 of file MolecularSurfaceCalculator.hh.
| typedef float core::scoring::sc::MolecularSurfaceCalculator::ScValue |
Definition at line 181 of file MolecularSurfaceCalculator.hh.
| typedef numeric::xyzVector< float > core::scoring::sc::MolecularSurfaceCalculator::Vec3 |
Definition at line 182 of file MolecularSurfaceCalculator.hh.
| core::scoring::sc::MolecularSurfaceCalculator::MolecularSurfaceCalculator | ( | ) |
MolecularSurfaceCalculator constructor, initializes default settings.
MolecularSurfaceCalculator::MolecularSurfaceCalculator()
Definition at line 71 of file MolecularSurfaceCalculator.cc.
|
virtual |
Definition at line 104 of file MolecularSurfaceCalculator.cc.
References Reset().
|
staticprivate |
Definition at line 469 of file MolecularSurfaceCalculator.cc.
References core::scoring::sc::_atom_distance_ref.
Referenced by FindNeighbordsAndBuriedAtoms().
Add an atom to a molecule for computation.
MolecularSurfaceCalculator::add_atom()
Definition at line 334 of file MolecularSurfaceCalculator.cc.
References core::scoring::sc::Atom::access, AssignAtomRadius(), core::scoring::sc::Atom::atom, core::scoring::sc::Atom::density, core::scoring::sc::Atom::molecule, core::scoring::sc::Atom::natom, core::scoring::sc::Atom::residue, run_, settings, and core::scoring::TR().
Referenced by AddResidue().
|
protected |
Definition at line 1120 of file MolecularSurfaceCalculator.cc.
References core::scoring::sc::_DOT::buried, 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;
Definition at line 296 of file MolecularSurfaceCalculator.cc.
References add_atom(), 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::residue, core::conformation::Residue::seqpos(), protocols::kinmatch::xyz(), and core::conformation::Residue::xyz().
Referenced by Calc(), protocols::simple_filters::ShapeComplementarityFilter::compute(), and protocols::analysis::InterfaceAnalyzerMover::compute_interface_sc().
Definition at line 364 of file MolecularSurfaceCalculator.cc.
References core::scoring::sc::Atom::atom, radii_, core::scoring::sc::Atom::radius, core::scoring::sc::Atom::residue, and WildcardMatch().
Referenced by add_atom().
|
protectedvirtual |
Reimplemented in core::scoring::sc::ShapeComplementarityCalculator.
Definition at line 397 of file MolecularSurfaceCalculator.cc.
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 add_atom() 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.
Definition at line 151 of file MolecularSurfaceCalculator.cc.
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(), 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 add_atom and AddResidue.
Init() must be called before this function. Returns true on success.
Reimplemented in core::scoring::sc::ShapeComplementarityCalculator.
Definition at line 187 of file MolecularSurfaceCalculator.cc.
References AssignAttentionNumbers(), core::scoring::sc::ShapeComplementarityCalculatorException::error, GenerateMolecularSurfaces(), run_, and core::scoring::TR().
Referenced by core::scoring::sc::ShapeComplementarityCalculator::Calc(), and Calc().
|
private |
Definition at line 417 of file MolecularSurfaceCalculator.cc.
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 |
Definition at line 710 of file MolecularSurfaceCalculator.cc.
References core::scoring::sc::Atom::radius, and settings.
Referenced by ThirdLoop().
|
private |
Definition at line 829 of file MolecularSurfaceCalculator.cc.
References settings.
Referenced by GenerateConvexSurface().
|
private |
Definition at line 1105 of file MolecularSurfaceCalculator.cc.
Referenced by GenerateConcaveSurface().
|
private |
Definition at line 1168 of file MolecularSurfaceCalculator.cc.
Referenced by GenerateToroidalSurface().
|
private |
Definition at line 477 of file MolecularSurfaceCalculator.cc.
References _atom_distance_cb(), core::scoring::sc::_atom_distance_ref, FindNeighborsForAtom(), core::scoring::sc::Atom::neighbors, and SecondLoop().
Referenced by CalcDotsForAllAtoms().
Definition at line 494 of file MolecularSurfaceCalculator.cc.
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, core::scoring::sc::Atom::molecule, core::scoring::sc::Atom::natom, core::scoring::sc::Atom::neighbors, core::scoring::sc::Atom::radius, core::scoring::sc::Atom::residue, run_, and settings.
Referenced by FindNeighbordsAndBuriedAtoms().
|
private |
Definition at line 963 of file MolecularSurfaceCalculator.cc.
References AddDot(), core::scoring::sc::ATTEN_6, CheckProbeCollision(), density, run_, settings, SubArc(), and SubCir().
Referenced by CalcDotsForAllAtoms().
|
private |
Definition at line 729 of file MolecularSurfaceCalculator.cc.
References ABS, AddDot(), CheckPointCollision(), core::scoring::sc::Atom::density, core::scoring::sc::Atom::molecule, core::scoring::sc::Atom::natom, core::scoring::sc::Atom::neighbors, core::scoring::sc::Atom::radius, run_, settings, SubArc(), and SubCir().
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.
Definition at line 218 of file MolecularSurfaceCalculator.cc.
References CalcDotsForAllAtoms(), run_, settings, and core::scoring::TR().
Referenced by core::scoring::sc::ShapeComplementarityCalculator::Calc(), and Calc().
|
private |
Definition at line 843 of file MolecularSurfaceCalculator.cc.
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, core::scoring::sc::Atom::density, density, DistancePointToLine(), core::scoring::sc::Atom::molecule, core::scoring::sc::Atom::neighbors, core::scoring::sc::Atom::radius, run_, settings, SubArc(), and SubCir().
Referenced by SecondLoop().
|
inline |
Definition at line 226 of file MolecularSurfaceCalculator.hh.
References run_.
|
inline |
Definition at line 227 of file MolecularSurfaceCalculator.hh.
References run_.
|
inline |
Definition at line 228 of file MolecularSurfaceCalculator.hh.
References run_.
Referenced by protocols::simple_filters::ShapeComplementarityFilter::apply(), core::scoring::sc::ShapeComplementarityCalculator::CalcSc(), protocols::simple_filters::ShapeComplementarityFilter::compute(), protocols::analysis::InterfaceAnalyzerMover::compute_interface_sc(), and protocols::simple_filters::ShapeComplementarityFilter::report_sm().
|
virtual |
Initializes calculation and GPU (if used) Init() is also called implicitly by the static CalcSc() function.
MolecularSurfaceCalculator::Init()
Definition at line 92 of file MolecularSurfaceCalculator.cc.
References radii_, ReadScRadii(), and Reset().
Referenced by AddResidue(), Calc(), and protocols::simple_filters::ShapeComplementarityFilter::compute().
|
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()
Definition at line 251 of file MolecularSurfaceCalculator.cc.
References core::scoring::sc::_ATOM_RADIUS::atom, radii_, 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()
Definition at line 118 of file MolecularSurfaceCalculator.cc.
References run_.
Referenced by protocols::simple_filters::ShapeComplementarityFilter::apply(), protocols::simple_filters::ShapeComplementarityFilter::compute(), Init(), protocols::simple_filters::ShapeComplementarityFilter::report_sm(), and ~MolecularSurfaceCalculator().
Definition at line 554 of file MolecularSurfaceCalculator.cc.
References ABS, core::scoring::sc::Atom::access, core::scoring::sc::Atom::atten, core::scoring::sc::ATTEN_BLOCKER, GenerateToroidalSurface(), core::scoring::sc::Atom::neighbors, core::scoring::sc::Atom::radius, settings, and ThirdLoop().
Referenced by FindNeighbordsAndBuriedAtoms().
|
private |
Definition at line 1180 of file MolecularSurfaceCalculator.cc.
Referenced by GenerateConcaveSurface(), GenerateConvexSurface(), and GenerateToroidalSurface().
|
private |
Definition at line 1242 of file MolecularSurfaceCalculator.cc.
References ABS, PI, and SubDiv().
Referenced by GenerateConcaveSurface(), GenerateConvexSurface(), and GenerateToroidalSurface().
|
private |
Definition at line 1205 of file MolecularSurfaceCalculator.cc.
References core::pack::dunbrack::c, and MAX_SUBDIV.
|
private |
Definition at line 608 of file MolecularSurfaceCalculator.cc.
References core::scoring::sc::Atom::access, core::scoring::sc::_PROBE::alt, core::scoring::sc::Atom::atten, core::scoring::sc::ATTEN_BLOCKER, CheckAtomCollision2(), core::scoring::sc::_PROBE::height, core::scoring::sc::Atom::neighbors, core::scoring::sc::_PROBE::pAtoms, core::scoring::sc::_PROBE::point, core::scoring::sc::Atom::radius, run_, and settings.
Referenced by SecondLoop().
|
protected |
Definition at line 381 of file MolecularSurfaceCalculator.cc.
Referenced by AssignAtomRadius().
| std::vector<Atom> core::scoring::sc::MolecularSurfaceCalculator::atoms |
Definition at line 250 of file MolecularSurfaceCalculator.hh.
| core::Real core::scoring::sc::MolecularSurfaceCalculator::band |
Definition at line 189 of file MolecularSurfaceCalculator.hh.
| core::Real core::scoring::sc::MolecularSurfaceCalculator::binwidth_dist |
Definition at line 192 of file MolecularSurfaceCalculator.hh.
| core::Real core::scoring::sc::MolecularSurfaceCalculator::binwidth_norm |
Definition at line 193 of file MolecularSurfaceCalculator.hh.
| core::Real core::scoring::sc::MolecularSurfaceCalculator::density |
Definition at line 188 of file MolecularSurfaceCalculator.hh.
Referenced by core::scoring::sc::ShapeComplementarityCalculator::CalcSc(), protocols::simple_filters::ShapeComplementarityFilter::compute(), GenerateConcaveSurface(), GenerateToroidalSurface(), and protocols::hotspot_hashing::SurfaceSearchPattern::SurfaceSearchPattern().
| std::vector<DOT> core::scoring::sc::MolecularSurfaceCalculator::dots[2] |
Definition at line 251 of file MolecularSurfaceCalculator.hh.
| int core::scoring::sc::MolecularSurfaceCalculator::prevburied |
Definition at line 254 of file MolecularSurfaceCalculator.hh.
| Vec3 core::scoring::sc::MolecularSurfaceCalculator::prevp |
Definition at line 253 of file MolecularSurfaceCalculator.hh.
| std::vector<PROBE> core::scoring::sc::MolecularSurfaceCalculator::probes |
Definition at line 252 of file MolecularSurfaceCalculator.hh.
|
staticprotected |
Definition at line 240 of file MolecularSurfaceCalculator.hh.
Referenced by AssignAtomRadius(), Init(), and ReadScRadii().
| ScValue core::scoring::sc::MolecularSurfaceCalculator::radmax |
Definition at line 248 of file MolecularSurfaceCalculator.hh.
| RESULTS core::scoring::sc::MolecularSurfaceCalculator::results |
Definition at line 249 of file MolecularSurfaceCalculator.hh.
| core::Real core::scoring::sc::MolecularSurfaceCalculator::rp |
Definition at line 187 of file MolecularSurfaceCalculator.hh.
| struct { ... } core::scoring::sc::MolecularSurfaceCalculator::run_ |
Referenced by add_atom(), 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(), MolecularSurfaceCalculator(), Reset(), and ThirdLoop().
| core::Real core::scoring::sc::MolecularSurfaceCalculator::sep |
Definition at line 190 of file MolecularSurfaceCalculator.hh.
| struct { ... } core::scoring::sc::MolecularSurfaceCalculator::settings |
Referenced by add_atom(), AddDot(), core::scoring::sc::ShapeComplementarityCalculator::AssignAttentionNumbers(), core::scoring::sc::ShapeComplementarityCalculator::Calc(), CalcDotsForAllAtoms(), core::scoring::sc::ShapeComplementarityCalculator::CalcNeighborDistance(), core::scoring::sc::ShapeComplementarityCalculator::CalcSc(), CheckAtomCollision2(), CheckPointCollision(), protocols::simple_filters::ShapeComplementarityFilter::compute(), FindNeighborsForAtom(), GenerateConcaveSurface(), GenerateConvexSurface(), GenerateMolecularSurfaces(), GenerateToroidalSurface(), MolecularSurfaceCalculator(), SecondLoop(), protocols::hotspot_hashing::SurfaceSearchPattern::SurfaceSearchPattern(), ThirdLoop(), core::scoring::sc::ShapeComplementarityCalculator::TrimPeripheralBand(), and core::scoring::sc::ShapeComplementarityCalculator::TrimPeripheralBandCheckDot().
| core::Real core::scoring::sc::MolecularSurfaceCalculator::weight |
Definition at line 191 of file MolecularSurfaceCalculator.hh.
1.8.4