BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Classes | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | Friends | List of all members
BALL::BindingPocketProcessor Class Reference

#include <BALL/STRUCTURE/bindingPocketProcessor.h>

Inheritance diagram for BALL::BindingPocketProcessor:
BALL::UnaryProcessor< Composite > BALL::UnaryFunctor< Composite, Processor::Result >

Classes

struct  Default
 
struct  Option
 
class  Sphere_
 
class  SphereComparator_
 

Public Member Functions

 BindingPocketProcessor ()
 
 BindingPocketProcessor (Options &new_options)
 
 BindingPocketProcessor (const BindingPocketProcessor &pp)
 
virtual ~BindingPocketProcessor ()
 
const BindingPocketProcessoroperator= (const BindingPocketProcessor &pp)
 
virtual bool finish ()
 Finish . More...
 
virtual Processor::Result operator() (Composite &composite)
 
const vector< std::pair
< Vector3, double > > & 
getActiveSitePoints () const
 
const vector< vector
< std::pair< Vector3, double > > > & 
getLayers () const
 
- Public Member Functions inherited from BALL::UnaryProcessor< Composite >
 UnaryProcessor ()
 
 UnaryProcessor (const UnaryProcessor &)
 
virtual ~UnaryProcessor ()
 
virtual bool start ()
 

Public Attributes

Options options
 

Private Member Functions

double radius_ (const String &element)
 
void trySphere__ (HashGridBox3< Sphere_ >::DataIterator data_it, HashGridBox3< Sphere_ >::DataIterator data_it2, HashGridBox3< Sphere_ >::DataIterator data_it3)
 
void addSphere_s_ ()
 
Vector3 calculateT_ (HashGridBox3< Sphere_ >::DataIterator data_it, HashGridBox3< Sphere_ >::DataIterator data_it2)
 
void testFirst_ (HashGrid3< Sphere_ > &hg, HashGridBox3< Sphere_ >::DataIterator data_it, Position x, Position y, Position z)
 
void testSecond_ (HashGrid3< Sphere_ > &hg, HashGridBox3< Sphere_ >::DataIterator data_it, HashGridBox3< Sphere_ >::DataIterator data_it2, Position x, Position y, Position z, Position step)
 
bool testSphereClash_ (Vector3 &v)
 
bool testProteinClash_ (Vector3 &v)
 
bool testBC_ (Sphere_ &sp)
 
void weedCandidates_ ()
 
bool parse_ ()
 

Private Attributes

Position layer_
 
HashGrid3< Sphere_sphere_grid_
 
HashGrid3< Sphere_protein_grid_
 
HashGrid3< Sphere_layer_grid_
 
HashGrid3< Sphere_clayer_grid_
 
HashGrid3< Sphere_BC_grid_
 
HashGrid3< Sphere_pw_grid_
 
HashGrid3< Sphere_candidates_grid_
 
std::vector< Sphere_sorted_spheres_
 
double sphere_rad_
 
double second_layer_rad_
 
double protein_clash_rad_
 
double BC_threshold_
 
Position found_new_
 
double c_factor_
 
std::vector< Sphere_candidates
 
std::vector< std::pair
< Vector3, double > > 
asps_
 
std::vector< std::vector
< std::pair< Vector3, double > > > 
layers_
 
bool second_it_
 

Friends

std::ostream & operator<< (std::ostream &os, const BindingPocketProcessor::Sphere_ &)
 

Additional Inherited Members

- Public Types inherited from BALL::UnaryFunctor< Composite, Processor::Result >
typedef Processor::Result result_type
 
typedef Composite argument_type
 
typedef Compositeargument_reference
 
typedef const Compositeconst_argument_reference
 
typedef Compositeargument_pointer
 
typedef const Compositeconst_argument_pointer
 

Detailed Description

This processor searches for binding pockets in a given atom container. The pockets are detected with the PASS method (Fast Feature Selection Using Fractal Dimension (2000) Caetano Traina, Jr., Agma Traina, et al)

Definition at line 40 of file bindingPocketProcessor.h.

Constructor & Destructor Documentation

BALL::BindingPocketProcessor::BindingPocketProcessor ( )

standard constructor

BALL::BindingPocketProcessor::BindingPocketProcessor ( Options new_options)

constructor with options

BALL::BindingPocketProcessor::BindingPocketProcessor ( const BindingPocketProcessor pp)

copy constructor

virtual BALL::BindingPocketProcessor::~BindingPocketProcessor ( )
virtual

destructor

Member Function Documentation

void BALL::BindingPocketProcessor::addSphere_s_ ( )
private

compute sphere layers

Vector3 BALL::BindingPocketProcessor::calculateT_ ( HashGridBox3< Sphere_ >::DataIterator  data_it,
HashGridBox3< Sphere_ >::DataIterator  data_it2 
)
private

geometric computation

virtual bool BALL::BindingPocketProcessor::finish ( )
virtual

Finish .

Reimplemented from BALL::UnaryProcessor< Composite >.

const vector<std::pair<Vector3,double> >& BALL::BindingPocketProcessor::getActiveSitePoints ( ) const

Returns the position and burial counts of the calculated actice site points

const vector<vector<std::pair<Vector3,double> > >& BALL::BindingPocketProcessor::getLayers ( ) const

Returns a vector of vectors, each containing one layer with position and probe weight of its spheres

virtual Processor::Result BALL::BindingPocketProcessor::operator() ( Composite )
virtual

operator ()

Reimplemented from BALL::UnaryProcessor< Composite >.

const BindingPocketProcessor& BALL::BindingPocketProcessor::operator= ( const BindingPocketProcessor pp)

assignment operator

bool BALL::BindingPocketProcessor::parse_ ( )
private

read parameter file

double BALL::BindingPocketProcessor::radius_ ( const String element)
private

Determine the radius of an element

Parameters
elementthe full name of the element for which a radius should be looked up. Example: "Oxygen"
Exceptions
IllegalArgumentif an unknown element has been passed
Returns
The radius of the specified element
bool BALL::BindingPocketProcessor::testBC_ ( Sphere_ sp)
private

test for burial count

void BALL::BindingPocketProcessor::testFirst_ ( HashGrid3< Sphere_ > &  hg,
HashGridBox3< Sphere_ >::DataIterator  data_it,
Position  x,
Position  y,
Position  z 
)
private

test if three spheres produce two offspring spheres

bool BALL::BindingPocketProcessor::testProteinClash_ ( Vector3 v)
private

test clash with protein atoms

void BALL::BindingPocketProcessor::testSecond_ ( HashGrid3< Sphere_ > &  hg,
HashGridBox3< Sphere_ >::DataIterator  data_it,
HashGridBox3< Sphere_ >::DataIterator  data_it2,
Position  x,
Position  y,
Position  z,
Position  step 
)
private
bool BALL::BindingPocketProcessor::testSphereClash_ ( Vector3 v)
private

test clash with all existing spheres

void BALL::BindingPocketProcessor::trySphere__ ( HashGridBox3< Sphere_ >::DataIterator  data_it,
HashGridBox3< Sphere_ >::DataIterator  data_it2,
HashGridBox3< Sphere_ >::DataIterator  data_it3 
)
private

calculates two spheres if possible

void BALL::BindingPocketProcessor::weedCandidates_ ( )
private

remove redundant spheres

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const BindingPocketProcessor::Sphere_  
)
friend

output operator for Sphere TODO: implement!

Definition at line 225 of file bindingPocketProcessor.h.

Member Data Documentation

std::vector<std::pair<Vector3,double> > BALL::BindingPocketProcessor::asps_
private

Definition at line 283 of file bindingPocketProcessor.h.

HashGrid3<Sphere_> BALL::BindingPocketProcessor::BC_grid_
private

need for computation of burial count

Definition at line 245 of file bindingPocketProcessor.h.

double BALL::BindingPocketProcessor::BC_threshold_
private

threshold for burial count filer

Definition at line 271 of file bindingPocketProcessor.h.

double BALL::BindingPocketProcessor::c_factor_
private

Definition at line 277 of file bindingPocketProcessor.h.

std::vector<Sphere_> BALL::BindingPocketProcessor::candidates
private

store all possible new spheres

Definition at line 281 of file bindingPocketProcessor.h.

HashGrid3<Sphere_> BALL::BindingPocketProcessor::candidates_grid_
private

store all possible new spheres

Definition at line 253 of file bindingPocketProcessor.h.

HashGrid3<Sphere_> BALL::BindingPocketProcessor::clayer_grid_
private

needed for sphere collision

Definition at line 241 of file bindingPocketProcessor.h.

Position BALL::BindingPocketProcessor::found_new_
private

number of newly found spheres

Definition at line 275 of file bindingPocketProcessor.h.

Position BALL::BindingPocketProcessor::layer_
private

current layer

Definition at line 220 of file bindingPocketProcessor.h.

HashGrid3<Sphere_> BALL::BindingPocketProcessor::layer_grid_
private

store all sphere layers

Definition at line 237 of file bindingPocketProcessor.h.

std::vector<std::vector<std::pair<Vector3,double> > > BALL::BindingPocketProcessor::layers_
private

Definition at line 285 of file bindingPocketProcessor.h.

Options BALL::BindingPocketProcessor::options

options for BALLPass

Definition at line 151 of file bindingPocketProcessor.h.

double BALL::BindingPocketProcessor::protein_clash_rad_
private

radius for collision with protein atoms

Definition at line 267 of file bindingPocketProcessor.h.

HashGrid3<Sphere_> BALL::BindingPocketProcessor::protein_grid_
private

store protein atoms

Definition at line 233 of file bindingPocketProcessor.h.

HashGrid3<Sphere_> BALL::BindingPocketProcessor::pw_grid_
private

need for computation of probe weight

Definition at line 249 of file bindingPocketProcessor.h.

bool BALL::BindingPocketProcessor::second_it_
private

Definition at line 340 of file bindingPocketProcessor.h.

double BALL::BindingPocketProcessor::second_layer_rad_
private

sphere radius for following layers

Definition at line 263 of file bindingPocketProcessor.h.

std::vector<Sphere_> BALL::BindingPocketProcessor::sorted_spheres_
private

Definition at line 255 of file bindingPocketProcessor.h.

HashGrid3<Sphere_> BALL::BindingPocketProcessor::sphere_grid_
private

store all spheres

Definition at line 225 of file bindingPocketProcessor.h.

double BALL::BindingPocketProcessor::sphere_rad_
private

first layer radius

Definition at line 259 of file bindingPocketProcessor.h.