Package org.openscience.cdk.fingerprint
Class MACCSFingerprinter
- java.lang.Object
-
- org.openscience.cdk.fingerprint.AbstractFingerprinter
-
- org.openscience.cdk.fingerprint.MACCSFingerprinter
-
- All Implemented Interfaces:
IFingerprinter
public class MACCSFingerprinter extends AbstractFingerprinter implements IFingerprinter
This fingerprinter generates 166 bit MACCS keys. The SMARTS patterns for each of the features was taken from RDKit. However given that there is no official and explicit listing of the original key definitions, the results of this implementation may differ from others. This class assumes that aromaticity perception, atom typing and adding of implicit hydrogens have been performed prior to generating the fingerprint. Note Currently bits 1 and 44 are completely ignored since the RDKit defs do not provide a definition and I can't find an official description of them. Warning - MACCS substructure keys cannot be used for substructure filtering. It is possible for some keys to match substructures and not match the superstructures. Some keys check for hydrogen counts which may not be preserved in a superstructure.- Author:
- Rajarshi Guha
- Source code:
- main
- Belongs to CDK module:
- fingerprint
- Keywords:
- fingerprint, similarity
- Created on:
- 2008-07-23
-
-
Constructor Summary
Constructors Constructor Description MACCSFingerprinter()
MACCSFingerprinter(IChemObjectBuilder builder)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description IBitFingerprint
getBitFingerprint(IAtomContainer container)
Returns the bit fingerprint for the givenIAtomContainer
.ICountFingerprint
getCountFingerprint(IAtomContainer container)
Returns the count fingerprint for the givenIAtomContainer
.Map<String,Integer>
getRawFingerprint(IAtomContainer iAtomContainer)
Returns the raw representation of the fingerprint for the given IAtomContainer.int
getSize()
Returns the size (or length) of the fingerprint.-
Methods inherited from class org.openscience.cdk.fingerprint.AbstractFingerprinter
getFingerprint, getParameters, getVersionDescription
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.openscience.cdk.fingerprint.IFingerprinter
getFingerprint, getVersionDescription
-
-
-
-
Constructor Detail
-
MACCSFingerprinter
public MACCSFingerprinter()
-
MACCSFingerprinter
public MACCSFingerprinter(IChemObjectBuilder builder)
-
-
Method Detail
-
getBitFingerprint
public IBitFingerprint getBitFingerprint(IAtomContainer container) throws CDKException
Returns the bit fingerprint for the givenIAtomContainer
.- Specified by:
getBitFingerprint
in interfaceIFingerprinter
- Parameters:
container
-IAtomContainer
for which the fingerprint should be calculated.- Returns:
- the bit fingerprint
- Throws:
CDKException
- may be thrown if there is an error during aromaticity detection or (for key based fingerprints) if there is a SMARTS parsing error
-
getRawFingerprint
public Map<String,Integer> getRawFingerprint(IAtomContainer iAtomContainer) throws CDKException
Returns the raw representation of the fingerprint for the given IAtomContainer. The raw representation contains counts as well as the key strings.- Specified by:
getRawFingerprint
in interfaceIFingerprinter
- Parameters:
iAtomContainer
- IAtomContainer for which the fingerprint should be calculated.- Returns:
- the raw fingerprint
- Throws:
CDKException
-
getSize
public int getSize()
Returns the size (or length) of the fingerprint.- Specified by:
getSize
in interfaceIFingerprinter
- Returns:
- the size of the fingerprint
-
getCountFingerprint
public ICountFingerprint getCountFingerprint(IAtomContainer container) throws CDKException
Returns the count fingerprint for the givenIAtomContainer
.- Specified by:
getCountFingerprint
in interfaceIFingerprinter
- Parameters:
container
-IAtomContainer
for which the fingerprint should be calculated.- Returns:
- the count fingerprint
- Throws:
CDKException
- if there is an error during aromaticity detection or (for key based fingerprints) if there is a SMARTS parsing error.
-
-