public class ExtendedFingerprinter extends Object implements IFingerprinter
IAtomContainer
, that
extends the Fingerprinter
with additional (25) bits describing ring
features and isotopic masses.
JWM Comment: It's better to actually just hash the rings over the entire
length simply using a different seed.
The original version of the class used non-unique SSSR which of course
doesn't work for substructure screening so this fingerprint can only
be used for similarity.Fingerprinter
Constructor and Description |
---|
ExtendedFingerprinter()
Creates a fingerprint generator of length
DEFAULT_SIZE
and with a search depth of DEFAULT_SEARCH_DEPTH . |
ExtendedFingerprinter(int size) |
ExtendedFingerprinter(int size,
int searchDepth)
Constructs a fingerprint generator that creates fingerprints of
the given size, using a generation algorithm with the given search
depth.
|
Modifier and Type | Method and Description |
---|---|
IBitFingerprint |
getBitFingerprint(IAtomContainer container)
Generates a fingerprint of the default size for the given
AtomContainer, using path and ring metrics.
|
IBitFingerprint |
getBitFingerprint(IAtomContainer atomContainer,
IRingSet ringSet,
List<IRingSet> rslist)
Generates a fingerprint of the default size for the given
AtomContainer, using path and ring metrics.
|
ICountFingerprint |
getCountFingerprint(IAtomContainer container)
Returns the count fingerprint for the given
IAtomContainer . |
BitSet |
getFingerprint(IAtomContainer mol)
Generate a binary fingerprint as a bit.
|
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.
|
String |
getVersionDescription()
Generate a fingerprint type version description in chemfp's FPS format.
|
void |
setHashPseudoAtoms(boolean hashPseudoAtoms)
Set the hashPseudoAtoms for the base daylight/path fingerprint.
|
void |
setPathLimit(int pathLimit)
Set the pathLimit for the base daylight/path fingerprint.
|
public ExtendedFingerprinter()
DEFAULT_SIZE
and with a search depth of DEFAULT_SEARCH_DEPTH
.public ExtendedFingerprinter(int size)
public ExtendedFingerprinter(int size, int searchDepth)
size
- The desired size of the fingerprintsearchDepth
- The desired depth of searchpublic IBitFingerprint getBitFingerprint(IAtomContainer container) throws CDKException
getBitFingerprint
in interface IFingerprinter
container
- The AtomContainer for which a Fingerprint is generatedIAtomContainer
.CDKException
- may be thrown if there is an error during aromaticity detection
or (for key based fingerprints) if there is a SMARTS parsing errorpublic Map<String,Integer> getRawFingerprint(IAtomContainer iAtomContainer) throws CDKException
getRawFingerprint
in interface IFingerprinter
iAtomContainer
- IAtomContainer for which the fingerprint should be calculated.CDKException
public IBitFingerprint getBitFingerprint(IAtomContainer atomContainer, IRingSet ringSet, List<IRingSet> rslist) throws CDKException
atomContainer
- The AtomContainer for which a Fingerprint is
generatedringSet
- A SSSR RingSet of ac (if not available, use
getExtendedFingerprint(AtomContainer ac),
which does the calculation)rslist
- A list of all ring systems in acCDKException
- for example if input can not be cloned.public int getSize()
getSize
in interface IFingerprinter
public ICountFingerprint getCountFingerprint(IAtomContainer container) throws CDKException
IAtomContainer
.getCountFingerprint
in interface IFingerprinter
container
- 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.public String getVersionDescription()
IFingerprinter
#type=CDK-Fingerprinter/2.0 searchDepth=7 pathLimit=2000 hashPseudoAtoms=true #type=CDK-CircularFingerprint/2.0 classType=ECFP4
getVersionDescription
in interface IFingerprinter
public BitSet getFingerprint(IAtomContainer mol) throws CDKException
IFingerprinter
IFingerprinter.getBitFingerprint(IAtomContainer)
and invoke
IBitFingerprint.asBitSet()
, it is included for backwards compatibility.getFingerprint
in interface IFingerprinter
mol
- moleculeCDKException
- problem generating fingerprintpublic void setPathLimit(int pathLimit)
pathLimit
- the number of paths to generate from a nodeFingerprinter
public void setHashPseudoAtoms(boolean hashPseudoAtoms)
hashPseudoAtoms
- the number of paths to generate from a nodeFingerprinter
Copyright © 2021. All rights reserved.