public class ShortestPathFingerprinter extends AbstractFingerprinter implements IFingerprinter, Serializable
IAtomContainer
. Fingerprints are one-dimensional bit arrays, where bits
are set according to a the occurrence of a particular structural feature (See for example the Daylight inc. theory
manual for more information). Fingerprints are a means for determining the similarity of chemical structures,
some fingerprints (not this one) allow database pre-screening for substructure searches.
A fingerprint is generated for an AtomContainer with this code: It is recommended to use atomtyped container before generating the fingerprints. For example: AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(atomContainer); AtomContainer molecule = new AtomContainer(); AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(atomContainer); IFingerprinter fingerprinter = new ShortestPathFingerprinter(); IBitFingerprint fingerprint = fingerprinter.getFingerprint(molecule); fingerprint.fingerprintLength(); // returns 1024 by default fingerprint.length(); // returns the highest set bit
The FingerPrinter calculates fingerprint based on the Shortest Paths between two atoms. It also takes into account ring system, charges etc while generating a fingerprint.
The FingerPrinter assumes that hydrogens are explicitly given! Furthermore, if pseudo atoms or atoms with
malformed symbols are present, their atomic number is taken as one more than the last element currently supported in PeriodicTable
.
Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_SIZE
The default length of created fingerprints.
|
Constructor and Description |
---|
ShortestPathFingerprinter()
Creates a fingerprint generator of length
DEFAULT_SIZE |
ShortestPathFingerprinter(int fingerprintLength)
Constructs a fingerprint generator that creates fingerprints of the given fingerprintLength, using a generation
algorithm with shortest paths.
|
Modifier and Type | Method and Description |
---|---|
IBitFingerprint |
getBitFingerprint(IAtomContainer ac)
Generates a shortest path based BitSet fingerprint for the given AtomContainer.
|
ICountFingerprint |
getCountFingerprint(IAtomContainer iac)
Returns the count fingerprint for the given
IAtomContainer . |
Map<String,Integer> |
getRawFingerprint(IAtomContainer ac)
Returns the raw representation of the fingerprint for the given IAtomContainer.
|
int |
getSize()
Returns the size (or length) of the fingerprint.
|
getFingerprint, getParameters, getVersionDescription
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getFingerprint, getVersionDescription
public static final int DEFAULT_SIZE
public ShortestPathFingerprinter()
DEFAULT_SIZE
public ShortestPathFingerprinter(int fingerprintLength)
fingerprintLength
- The desired fingerprintLength of the fingerprintpublic IBitFingerprint getBitFingerprint(IAtomContainer ac) throws CDKException
getBitFingerprint
in interface IFingerprinter
ac
- The AtomContainer for which a fingerprint is generatedBitSet
representing the fingerprintCDKException
- if there error in aromaticity perception or other CDK functionspublic Map<String,Integer> getRawFingerprint(IAtomContainer ac) throws CDKException
getRawFingerprint
in interface IFingerprinter
ac
- The AtomContainer for which a fingerprint is generatedUnsupportedOperationException
- method is not supportedCDKException
public int getSize()
IFingerprinter
getSize
in interface IFingerprinter
public ICountFingerprint getCountFingerprint(IAtomContainer iac) throws CDKException
IFingerprinter
IAtomContainer
.getCountFingerprint
in interface IFingerprinter
iac
- IAtomContainer
for which the fingerprint should be calculated.CDKException
- if there is an error during aromaticity detection
or (for key based fingerprints) if there is a SMARTS parsing error.Copyright © 2021. All rights reserved.