@PublicAPI public class ECFPGenerator extends MDGenerator implements chemaxon.license.Licensable
ECFPGenerator
class generates ECFP fingerprints of molecular graphs.
Basic concepts
A binary string (series of 0 and 1) is constructed based on the local neighborhoods
of the atoms. The length of the series is a predefined constant parameter.
One further parameter specifies the diameter of the neighborhood considered for
each atom.
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.
Example of the direct use of the class within an application:
ECFPGenerator gen = new ECFPGenerator(); ECFP fp = new ECFP(new ECFPParameters()); Molecule mol = getFirstMoleculeFromSomewhere(); while (mol != null) { gen.generate(mol, fp); doSomethingWith(fp); mol = getNextMoleculeFromSomewhere(); }
createStatistics, density, freqCount, maxNonEmptyId, maxNonEmptyPercent, minNonEmptyId, minNonEmptyPercent, molCount, sumNonEmptyPercent
Constructor and Description |
---|
ECFPGenerator()
Creates a new instance of
ECFPGenerator , which can be used to
generate ECFP fingerprints for an arbitrary number of molecules. |
Modifier and Type | Method and Description |
---|---|
protected int |
calcFreqCount(MolecularDescriptor d)
Updates statistics gathered on fingerprints generated and get the
number of non-zero cells.
|
java.lang.String[] |
generate(Molecule mol,
MolecularDescriptor descr)
Generates the ECFP fingerprint for the given molecule.
|
boolean |
isLicensed()
Returns information about the licensing of the product.
|
void |
setLicenseEnvironment(java.lang.String env)
Sets the license environment.
|
getAverageNonZeroRatio, getBrightestMolId, getDarkestMolId, getDensityCounts, getFrequencyCounts, getMaximumBitRatio, getMinimumBitRatio, getMoleculeCount, setCreateStatistics, updateStatistics
public ECFPGenerator()
ECFPGenerator
, which can be used to
generate ECFP fingerprints for an arbitrary number of molecules.public boolean isLicensed()
isLicensed
in interface chemaxon.license.Licensable
public void setLicenseEnvironment(java.lang.String env)
setLicenseEnvironment
in interface chemaxon.license.Licensable
public java.lang.String[] generate(Molecule mol, MolecularDescriptor descr) throws MDGeneratorException
ECFP
object is not allocated, the
ECFP
provided as a method parameter is updated
(and it has to be allocated and initialized by the client of this class).generate
in class MDGenerator
mol
- molecule for which the fingerprint is createddescr
- the ECFP fingerprint objectECFP
MDGeneratorException
- in the case of any failures to generate
the descriptorprotected int calcFreqCount(MolecularDescriptor d)
calcFreqCount
in class MDGenerator
d
- newly generated ECFP