Class CFGenerator
CFGenerator
class generates topological fingerprints
of molecular graphs.
Basic concepts
A binary string (series of 0 and 1) is constructed based on local
connectivity atoms and atom types. The length of the series is a predefined
constant parameter. Two further parameters influence the fingerprints
gerenerated: number of bonds, which determines the number size of local
neighborhood of atoms takes into account by providing an upper limit for
the length of path starting from each atom; and the number of bits to be set
in the fingerprint for each property identified.
Typical usage
For the sake of optimal memory usage one instance of this class can generate
fingerprints for a series of molecular graphs by the consecutive call to
the generate()
method.
In most cases the generator is not intended to be used directly. When molecules
are taken from files or databases the corresponding MolecularDescriptor
s
can be generated by the appropriate MDReader
object.
Alternatively, MolecularDescriptor.generate( final Molecule )
is the simplest way to obtain a descriptor corresponding to a molecular
structure.
CFGenerator gen = new CFGenerator(); ChemicalFingerprint fp = new ChemicalFingerprint( new CFParameters() ); Molecule mol = getFirstMoleculeFromSomewhere(); while ( mol != null ) { gen.generate( mol, fp ); doSomethingWith( fp ); mol = getNextMoleculeFromSomewhere(); }
- Since:
- JChem 2.0
-
Field Summary
Fields inherited from class chemaxon.descriptors.MDGenerator
createStatistics, density, freqCount, maxNonEmptyId, maxNonEmptyPercent, minNonEmptyId, minNonEmptyPercent, molCount, sumNonEmptyPercent
-
Constructor Summary
ConstructorDescriptionCreates a new instance ofCFGenerator
which can be used to generate chemical fingerprints for an arbitrary number of molecules. -
Method Summary
Modifier and TypeMethodDescriptionprotected int
Updates statistics gathered on fingerprints generated and get the number of non-zero cells.String[]
generate
(Molecule m, int[] aidxs, MolecularDescriptor d) Generates the partial chemical fingerprint for the given molecule.String[]
Generates the chemical fingerprint for the given molecule.Methods inherited from class chemaxon.descriptors.MDGenerator
getAverageNonZeroRatio, getBrightestMolId, getDarkestMolId, getDensityCounts, getFrequencyCounts, getMaximumBitRatio, getMinimumBitRatio, getMoleculeCount, setCreateStatistics, updateStatistics
-
Constructor Details
-
CFGenerator
public CFGenerator()Creates a new instance ofCFGenerator
which can be used to generate chemical fingerprints for an arbitrary number of molecules.- Since:
- JChem 5.8
-
-
Method Details
-
generate
Generates the chemical fingerprint for the given molecule. New instance of theChemicalFingerprint
object is not allocated, theMolecularDescriptor
provided as a method parameter is updated (and it has to be allocated and initialized by the client of this class).- Specified by:
generate
in classMDGenerator
- Parameters:
m
- molecule for which the fingerprint is createdd
- the chemical fingerprint generated- Returns:
- names of tags (properties) set (added) during fingerprint
generation, it is always null in the case of
ChemicalFingerprint
- Throws:
MDGeneratorException
- in the case of any failures to generate the descriptor
-
generate
public String[] generate(Molecule m, int[] aidxs, MolecularDescriptor d) throws MDGeneratorException Generates the partial chemical fingerprint for the given molecule. New instance of theChemicalFingerprint
object is not allocated, theMolecularDescriptor
provided as a method parameter is updated (and it has to be allocated and initialized by the client of this class).Partial fingerprint is fingerprint for paths containing the given atoms. The algorithm performs the full path enumeration over the molecule, but only sets bits in the resulting fingerprint for paths containing the given atoms.
- Parameters:
m
- molecule for which the fingerprint is createdaidxs
- atom indexes that define the partial fingerprint generationd
- the chemical fingerprint generated- Returns:
- names of tags (properties) set (added) during fingerprint
generation, it is always null in the case of
ChemicalFingerprint
- Throws:
MDGeneratorException
-
calcFreqCount
Updates statistics gathered on fingerprints generated and get the number of non-zero cells.- Overrides:
calcFreqCount
in classMDGenerator
- Parameters:
d
- newly generatedMolecularDescriptor
- Returns:
- brightness of the fingerprint
- Since:
- JChem 2.1
-