|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.openscience.cdk.similarity.DistanceMoment
public class DistanceMoment
Fast similarity measure for 3D structures.
This class implements a fast descriptor based 3D similarity measure described by Ballester et al ([Bellester, P.J. and Richards, W.G. , Ultrafast shape recognition to search compound databases for similar molecular shapes, Journal of Computational Chemistry, 2007, 28:1711-1723]). The approach calculates the distances of each atom to four specific points: the centroid of the molecule, the atom that is closest to the centroid, the atom that is farthest from the centroid and the atom that is farthest from the previous atom. Thus we get 4 sets of distance distributions. The final descriptor set is generated by evaluating the first three moments of each distance distribution. The similarity between two molecules is then evaluated using the inverse of a normalized Manhattan type metric. This class allows you to evaluate the 3D similarity between two specified molecules as well as generate the 12 descriptors used to characterize the 3D structure which can then be used for a variety of purposes such as storing in a database. The values are also available via aXXX.
Note: The methods of this class do no perform hydrogen removal. If you want to
do the calculations excluding hydrogens, you'll need to do it yourself.
| Constructor Summary | |
|---|---|
DistanceMoment()
|
|
| Method Summary | |
|---|---|
static float |
calculate(IAtomContainer query,
IAtomContainer target)
Evaluate the 3D similarity between two molecules. |
static float[] |
generateMoments(IAtomContainer atomContainer)
Evaluate the 12 descriptors used to characterize the 3D shape of a molecule. |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public DistanceMoment()
| Method Detail |
|---|
public static float[] generateMoments(IAtomContainer atomContainer)
throws CDKException
atomContainer - The molecule to consider, should have 3D coordinates
CDKException - if there are no 3D coordinates
public static float calculate(IAtomContainer query,
IAtomContainer target)
throws CDKException
query - The query moleculetarget - The target molecule
CDKException - if either molecule does not have 3D coordinates
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||