[ GAMB | Source | Keywords | Summary | Ancestors | All Members | Descendants ]
public: | |
// Constructors | |
HashInterface(const MoleculeT& iMol1, const MoleculeT& iMol2, const unsigned short d , const float cs ); | |
// distance defined interface | |
void | buildInterface(Interface& face, const float distThr , const MOL_INDEX molIndex ); |
void | buildInterface(Interface& face, const RigidTrans3& trans2, const float distThr , const MOL_INDEX molIndex ); |
void | buildInterface(Interface& face, const MoleculeT& iMol2, const float distThr , const MOL_INDEX molIndex ); |
void | buildInterface(Interface& face, const MoleculeT& iMol2, const RigidTrans3& trans2, const float distThr , const MOL_INDEX molIndex ); |
void | buildInterface(Interface& face1, Interface& face2, const float distThr ); |
void | buildInterface(Interface& face1, Interface& face2, const RigidTrans3& trans2, const float distThr ); |
void | buildInterface(Interface& face1, Interface& face2, const MoleculeT& iMol2, const float distThr ); |
void | buildInterface(Interface& face1, Interface& face2, const MoleculeT& iMol2, const RigidTrans3& trans2, const float distThr ); |
// probe sphere defined interface | |
void | buildProbeInterface(Interface& face, const float probeRadius, const MOL_INDEX molIndex ); |
void | buildProbeInterface(Interface& face, const RigidTrans3& trans2, const float probeRadius, const MOL_INDEX molIndex ); |
void | buildProbeInterface(Interface& face, const MoleculeT& iMol2, const float probeRadius, const MOL_INDEX molIndex ); |
void | buildProbeInterface(Interface& face, const MoleculeT& iMol2, const RigidTrans3& trans2, const float probeRadius, const MOL_INDEX molIndex ); |
void | buildProbeInterface(Interface& face1, Interface& face2, const float probeRadius); |
void | buildProbeInterface(Interface& face1, Interface& face2, const RigidTrans3& trans2, const float probeRadius); |
void | buildProbeInterface(Interface& face1, Interface& face2, const MoleculeT& iMol2, const float probeRadius); |
void | buildProbeInterface(Interface& face1, Interface& face2, const MoleculeT& iMol2, const RigidTrans3& trans2, const float probeRadius); |
protected: | |
void | internalBuildInterface(Interface& face, const MoleculeT& secondMol, const float distThr , const MOL_INDEX molIndex ); |
void | internalBuildInterface(Interface& face1, Interface& face2, const MoleculeT& secondMol, const float distThr ); |
void | internalBuildProbeInterface(Interface& face, const MoleculeT& secondMol, const float probeRadius, const MOL_INDEX molIndex ); |
void | internalBuildProbeInterface(Interface& face, Interface& face2, const MoleculeT& secondMol, const float probeRadius); |
const MoleculeT& | mol1; |
const MoleculeT& | mol2; |
GeomHash< Vector3, unsigned int> | gHash1; |
Back to the top of HashInterface
Copyright: SAMBA group, Tel-Aviv Univ. Israel, 1997-9.
Back to the top of HashInterface
Back to the top of HashInterface
The class supports 2 interface definitions: 1. If the distance between two atoms, one from each of the molecules, is less than distance_threshold, the two corresponding atoms are marked as interface atom pair. 2. If the distance between two atoms, one from each of the molecules, is less than the sum of their vdW radii and probe diameter, the two corresponding atoms are marked as interface atom pair. Intutively, two atoms are interface pair, if the probe sphere can't be placed between them.
Back to the top of HashInterface
The class has several options to build the interface. First the user should pick the interface definition he needs (see Goals). For each of the two definitions, 8 functions with different arguments are provided. Below we summarize different options:
The first molecule remains the same in all cases. The second molecule can be the same that was given in constructor or can be specified by the user. In some cases, like generating docking results interfaces, the second molecule is always the same, however the orientation is different. In this case the user may specufy the 3D transformation to apply to the second molecule.
Since the Interface object is not symmetric, it is possible to specify which molecule will be used as first index in the Interface. The first molecule MOL1 is the default. Also it is possible to generate both interfaces at once.
The following example demonstrates how two Interfaces are created for one complex. The complex in the example is composed of an Antibody=Ab and an Antigen=Ag. Ab and Ab are of type Molecule<Atom>.
HashInterface<Molecule<Atom> > hashInterface(Ab,Ag); Interface face1, face2; hashInterface.buildInterface(face1, face2); for(Interface::iterator it=face2.begin(); it!=face2.end(); ++it) { cout << "serial: " << *it << endl; cout << "pdb first atom: " << Ab[(*it).second()]<<endl; cout << "pdb second atom: " << Ag[(*it).first()]<<endl; }
Back to the top of HashInterface
HashInterface(const MoleculeT& iMol1, const MoleculeT& iMol2, const unsigned short d , const float cs );
Construct hash interface, hash first molecule
HashInterface(const MoleculeT& iMol1, const MoleculeT& iMol2, const unsigned short d=hashParam_d, const float cs=hashParam_cs);
Back to the top of HashInterface
void buildInterface(Interface& face, const float distThr , const MOL_INDEX molIndex );
Construct interface for two molecules.
void buildInterface(Interface& face, const float distThr=defaultThreshold, const MOL_INDEX molIndex=MOL1);
Back to the top of HashInterface
void buildInterface(Interface& face, const RigidTrans3& trans2, const float distThr , const MOL_INDEX molIndex );
Construct interface for two molecules. Apply transformation on a second
molecule.
void buildInterface(Interface& face, const RigidTrans3& trans2, const float distThr=defaultThreshold, const MOL_INDEX molIndex=MOL1);
Back to the top of HashInterface
void buildInterface(Interface& face, const MoleculeT& iMol2, const float distThr , const MOL_INDEX molIndex );
Construct interface for two molecules: first from class object and the
second given as a parameter.
void buildInterface(Interface& face, const MoleculeT& iMol2, const float distThr=defaultThreshold, const MOL_INDEX molIndex=MOL1);
Back to the top of HashInterface
void buildInterface(Interface& face, const MoleculeT& iMol2, const RigidTrans3& trans2, const float distThr , const MOL_INDEX molIndex );
Construct interface for two molecules: first from class object and the
second given as a parameter. Apply transformation on a second
molecule.
void buildInterface(Interface& face, const MoleculeT& iMol2, const RigidTrans3& trans2, const float distThr=defaultThreshold, const MOL_INDEX molIndex=MOL1);
Back to the top of HashInterface
void buildInterface(Interface& face1, Interface& face2, const float distThr );
Construct two interfaces for two molecules.
void buildInterface(Interface& face1, Interface& face2, const float distThr=defaultThreshold);
Back to the top of HashInterface
void buildInterface(Interface& face1, Interface& face2, const RigidTrans3& trans2, const float distThr );
Construct two interfaces for two molecules. Apply transformation on a second
molecule.
void buildInterface(Interface& face1, Interface& face2, const RigidTrans3& trans2, const float distThr=defaultThreshold);
Back to the top of HashInterface
void buildInterface(Interface& face1, Interface& face2, const MoleculeT& iMol2, const float distThr );
Construct two interfaces for two molecules: first from class object and the
second given as a parameter.
void buildInterface(Interface& face1, Interface& face2, const MoleculeT& iMol2, const float distThr=defaultThreshold);
Back to the top of HashInterface
void buildInterface(Interface& face1, Interface& face2, const MoleculeT& iMol2, const RigidTrans3& trans2, const float distThr );
Construct two interfaces for two molecules: first from class object and
the second given as a parameter. Apply transformation on a second
molecule.
void buildInterface(Interface& face1, Interface& face2, const MoleculeT& iMol2, const RigidTrans3& trans2, const float distThr=defaultThreshold);
Back to the top of HashInterface
void buildProbeInterface(Interface& face, const float probeRadius, const MOL_INDEX molIndex );
Construct interface for two molecules.
void buildProbeInterface(Interface& face, const float probeRadius, const MOL_INDEX molIndex=MOL1);
Back to the top of HashInterface
void buildProbeInterface(Interface& face, const RigidTrans3& trans2, const float probeRadius, const MOL_INDEX molIndex );
Construct interface for two molecules. Apply transformation on a second
molecule.
void buildProbeInterface(Interface& face, const RigidTrans3& trans2, const float probeRadius, const MOL_INDEX molIndex=MOL1);
Back to the top of HashInterface
void buildProbeInterface(Interface& face, const MoleculeT& iMol2, const float probeRadius, const MOL_INDEX molIndex );
Construct interface for two molecules: first from class object and the
second given as a parameter.
void buildProbeInterface(Interface& face, const MoleculeT& iMol2, const float probeRadius, const MOL_INDEX molIndex=MOL1);
Back to the top of HashInterface
void buildProbeInterface(Interface& face, const MoleculeT& iMol2, const RigidTrans3& trans2, const float probeRadius, const MOL_INDEX molIndex );
Construct interface for two molecules: first from class object and the
second given as a parameter. Apply transformation on a second
molecule.
void buildProbeInterface(Interface& face, const MoleculeT& iMol2, const RigidTrans3& trans2, const float probeRadius, const MOL_INDEX molIndex=MOL1);
Back to the top of HashInterface
void buildProbeInterface(Interface& face1, Interface& face2, const float probeRadius);
Construct two interfaces for two molecules.
void buildProbeInterface(Interface& face1, Interface& face2, const float probeRadius);
Back to the top of HashInterface
void buildProbeInterface(Interface& face1, Interface& face2, const RigidTrans3& trans2, const float probeRadius);
Construct two interfaces for two molecules. Apply transformation on a second
molecule.
void buildProbeInterface(Interface& face1, Interface& face2, const RigidTrans3& trans2, const float probeRadius);
Back to the top of HashInterface
void buildProbeInterface(Interface& face1, Interface& face2, const MoleculeT& iMol2, const float probeRadius);
Construct two interfaces for two molecules: first from class object and the
second given as a parameter.
void buildProbeInterface(Interface& face1, Interface& face2, const MoleculeT& iMol2, const float probeRadius);
Back to the top of HashInterface
void buildProbeInterface(Interface& face1, Interface& face2, const MoleculeT& iMol2, const RigidTrans3& trans2, const float probeRadius);
Construct two interfaces for two molecules: first from class object and
the second given as a parameter. Apply transformation on a second
molecule.
void buildProbeInterface(Interface& face1, Interface& face2, const MoleculeT& iMol2, const RigidTrans3& trans2, const float probeRadius);
Back to the top of HashInterface
void internalBuildInterface(Interface& face, const MoleculeT& secondMol, const float distThr , const MOL_INDEX molIndex );
function that computes interface pairs and stores them in the Interface
object using distance threshold definition
void internalBuildInterface(Interface& face, const MoleculeT& secondMol, const float distThr=defaultThreshold, const MOL_INDEX molIndex=MOL1);
Back to the top of HashInterface
void internalBuildInterface(Interface& face1, Interface& face2, const MoleculeT& secondMol, const float distThr );
function that computes interface pairs and stores them in two Interface
objects (molecule1 and molecule2) using distance threshold definition
void internalBuildInterface(Interface& face1, Interface& face2, const MoleculeT& secondMol, const float distThr=defaultThreshold);
Back to the top of HashInterface
void internalBuildProbeInterface(Interface& face, const MoleculeT& secondMol, const float probeRadius, const MOL_INDEX molIndex );
function that computes interface pairs and stores them in the Interface
object using probe sphere definition
void internalBuildProbeInterface(Interface& face, const MoleculeT& secondMol, const float probeRadius, const MOL_INDEX molIndex=MOL1);
Back to the top of HashInterface
void internalBuildProbeInterface(Interface& face, Interface& face2, const MoleculeT& secondMol, const float probeRadius);
function that computes interface pairs and stores them in the Interface
object using probe sphere definition
void internalBuildProbeInterface(Interface& face, Interface& face2, const MoleculeT& secondMol, const float probeRadius);
Back to the top of HashInterface
const MoleculeT& mol1;
First molecule
const MoleculeT& mol1;
Back to the top of HashInterface
const MoleculeT& mol2;
Second molecule
const MoleculeT& mol2;
Back to the top of HashInterface
GeomHash< Vector3, unsigned int> gHash1;
GeomHash for fast atomic search
GeomHash< Vector3, unsigned int> gHash1;
Back to the top of HashInterface
public: | ||
---|---|---|
// distance defined interface | ||
void | buildInterface(Interface& face, const float distThr , const MOL_INDEX molIndex ); | |
void | buildInterface(Interface& face, const RigidTrans3& trans2, const float distThr , const MOL_INDEX molIndex ); | |
void | buildInterface(Interface& face, const MoleculeT& iMol2, const float distThr , const MOL_INDEX molIndex ); | |
void | buildInterface(Interface& face, const MoleculeT& iMol2, const RigidTrans3& trans2, const float distThr , const MOL_INDEX molIndex ); | |
void | buildInterface(Interface& face1, Interface& face2, const float distThr ); | |
void | buildInterface(Interface& face1, Interface& face2, const RigidTrans3& trans2, const float distThr ); | |
void | buildInterface(Interface& face1, Interface& face2, const MoleculeT& iMol2, const float distThr ); | |
void | buildInterface(Interface& face1, Interface& face2, const MoleculeT& iMol2, const RigidTrans3& trans2, const float distThr ); | |
// probe sphere defined interface | ||
void | buildProbeInterface(Interface& face, const float probeRadius, const MOL_INDEX molIndex ); | |
void | buildProbeInterface(Interface& face, const RigidTrans3& trans2, const float probeRadius, const MOL_INDEX molIndex ); | |
void | buildProbeInterface(Interface& face, const MoleculeT& iMol2, const float probeRadius, const MOL_INDEX molIndex ); | |
void | buildProbeInterface(Interface& face, const MoleculeT& iMol2, const RigidTrans3& trans2, const float probeRadius, const MOL_INDEX molIndex ); | |
void | buildProbeInterface(Interface& face1, Interface& face2, const float probeRadius); | |
void | buildProbeInterface(Interface& face1, Interface& face2, const RigidTrans3& trans2, const float probeRadius); | |
void | buildProbeInterface(Interface& face1, Interface& face2, const MoleculeT& iMol2, const float probeRadius); | |
void | buildProbeInterface(Interface& face1, Interface& face2, const MoleculeT& iMol2, const RigidTrans3& trans2, const float probeRadius); | |
protected: | ||
void | internalBuildInterface(Interface& face, const MoleculeT& secondMol, const float distThr , const MOL_INDEX molIndex ); | |
void | internalBuildInterface(Interface& face1, Interface& face2, const MoleculeT& secondMol, const float distThr ); | |
void | internalBuildProbeInterface(Interface& face, const MoleculeT& secondMol, const float probeRadius, const MOL_INDEX molIndex ); | |
void | internalBuildProbeInterface(Interface& face, Interface& face2, const MoleculeT& secondMol, const float probeRadius); | |
const MoleculeT& | mol1; | |
const MoleculeT& | mol2; | |
GeomHash< Vector3, unsigned int> | gHash1; |
Back to the top of HashInterface
Back to the top of HashInterface
Back to the top of HashInterface
Report problems to jkotula@unimax.com