org.openscience.cdk.pharmacophore
Class PharmacophoreQueryAngleBond

java.lang.Object
  extended by org.openscience.cdk.ChemObject
      extended by org.openscience.cdk.ElectronContainer
          extended by org.openscience.cdk.Bond
              extended by org.openscience.cdk.pharmacophore.PharmacophoreQueryAngleBond
All Implemented Interfaces:
Serializable, Cloneable, IBond, ICDKObject, IChemObject, IElectronContainer, IQueryBond

@TestClass(value="org.openscience.cdk.pharmacophore.PharmacophoreQueryAngleBondTest")
public class PharmacophoreQueryAngleBond
extends Bond
implements IQueryBond

Represents a pharmacophore query angle constraint.

Author:
Rajarshi Guha
See Also:
PharmacophoreQueryAtom, PharmacophoreMatcher, QueryAtomContainer, Serialized Form
Keywords:
pharmacophore, 3D isomorphism
Belongs to CDK module:
pcore
Source code:
cdk-1.4.x

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.openscience.cdk.interfaces.IBond
IBond.Order, IBond.Stereo
 
Constructor Summary
PharmacophoreQueryAngleBond()
           
PharmacophoreQueryAngleBond(PharmacophoreQueryAtom atom1, PharmacophoreQueryAtom atom2, PharmacophoreQueryAtom atom3, double angle)
          Create a query angle constraint between three query groups.
PharmacophoreQueryAngleBond(PharmacophoreQueryAtom atom1, PharmacophoreQueryAtom atom2, PharmacophoreQueryAtom atom3, double lower, double upper)
          Create a query angle constraint between three query groups.
 
Method Summary
 double getLower()
           
 double getUpper()
           
 boolean matches(IBond bond)
          Checks whether the query angle constraint matches a target distance.
 String toString()
          String representation of an angle constraint.
 
Methods inherited from class org.openscience.cdk.Bond
atoms, clone, compare, contains, get2DCenter, get3DCenter, getAtom, getAtomCount, getConnectedAtom, getConnectedAtoms, getOrder, getStereo, isConnectedTo, setAtom, setAtoms, setOrder, setStereo
 
Methods inherited from class org.openscience.cdk.ElectronContainer
getElectronCount, setElectronCount
 
Methods inherited from class org.openscience.cdk.ChemObject
addListener, getBuilder, getFlag, getFlags, getID, getListenerCount, getNotification, getProperties, getProperty, notifyChanged, notifyChanged, removeListener, removeProperty, setFlag, setFlags, setID, setNotification, setProperties, setProperty, shallowCopy
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.openscience.cdk.interfaces.IBond
atoms, compare, contains, get2DCenter, get3DCenter, getAtom, getAtomCount, getConnectedAtom, getConnectedAtoms, getOrder, getStereo, isConnectedTo, setAtom, setAtoms, setOrder, setStereo
 
Methods inherited from interface org.openscience.cdk.interfaces.IElectronContainer
getElectronCount, setElectronCount
 
Methods inherited from interface org.openscience.cdk.interfaces.IChemObject
addListener, clone, getFlag, getFlags, getID, getListenerCount, getNotification, getProperties, getProperty, notifyChanged, notifyChanged, removeListener, removeProperty, setFlag, setFlags, setID, setNotification, setProperties, setProperty
 
Methods inherited from interface org.openscience.cdk.interfaces.ICDKObject
getBuilder
 

Constructor Detail

PharmacophoreQueryAngleBond

public PharmacophoreQueryAngleBond()

PharmacophoreQueryAngleBond

public PharmacophoreQueryAngleBond(PharmacophoreQueryAtom atom1,
                                   PharmacophoreQueryAtom atom2,
                                   PharmacophoreQueryAtom atom3,
                                   double lower,
                                   double upper)
Create a query angle constraint between three query groups.

Note that the angle is only considered upto 2 decimal places.

Parameters:
atom1 - The first pharmacophore group
atom2 - The second pharmacophore group
atom3 - The third pharmacophore group
lower - The lower bound of the angle between the three groups
upper - The upper bound of the angle between the three groups

PharmacophoreQueryAngleBond

public PharmacophoreQueryAngleBond(PharmacophoreQueryAtom atom1,
                                   PharmacophoreQueryAtom atom2,
                                   PharmacophoreQueryAtom atom3,
                                   double angle)
Create a query angle constraint between three query groups.

This constructor allows you to define a query angle constraint such that the angle between the three query groups is exact (i.e., not a range).

Note that the angle is only considered upto 2 decimal places.

Parameters:
atom1 - The first pharmacophore group
atom2 - The second pharmacophore group
atom3 - The third pharmacophore group
angle - The exact angle between the two groups
Method Detail

matches

@TestMethod(value="testMatches")
public boolean matches(IBond bond)
Checks whether the query angle constraint matches a target distance.

This method checks whether a query constraint is satisfied by an observed angle (represented by a PharmacophoreAngleBond in the target molecule. Note that angles are compared upto 2 decimal places.

Specified by:
matches in interface IQueryBond
Parameters:
bond - The angle relationship in a target molecule
Returns:
true if the target angle lies within the range of the query constraint

getUpper

@TestMethod(value="testUpper")
public double getUpper()

getLower

@TestMethod(value="testLower")
public double getLower()

toString

@TestMethod(value="testToString")
public String toString()
String representation of an angle constraint.

Specified by:
toString in interface IChemObject
Overrides:
toString in class Bond
Returns:
String representation of and angle constraint