![]() |
PathLengthFingerprints
use PathLengthFingerprints;
use PathLengthFingerprints qw(:all);
PathLengthFingerprints class provides the following methods:
new, GenerateFingerprints, SetMaxLength, SetMinLength, StringifyPathLengthFingerprints
PathLengthFingerprints is derived from Fingerprints class.
For molecules containing rings, atom paths starting from each atom can be traversed in four different ways:
Atom path traversal is terminated at the last ring atom. For molecules containing no rings, first two and last two types described above are equivalent.
AllowSharedBonds and AllowRings variables allow generation of differen types of paths to be used for fingerprints generation.
In addition to atom symbols, bond symbols are also used to generate a string for atom paths. These atom paths strings are hashed to a 32 bit integer key using TextUtil::HashCode, which in turn is used as a seed for a random number generation in range of 1 to fingerprint size for setting the corresponding bit in bit vector.
UseBondSymbol variable allow generation of atom path strings and consequently fingerprints.
The ombination of AllowSharedBonds, AllowRings, and UseBondSymbols allows generation of 8 different types of path length fingerprints:
Using specified PathLengthFingerprints property names and values hash, new method creates a new object and returns a reference to newly created PathLengthFingerprints object. By default, the following properties are initialized:
Examples:
Generates path length fingerprints and returns PathLengthFingerprints
Sets maximum value of atom path length to be used during atom path length fingerprints generation and returns PathLengthFingerprints
Sets minimum value of atom path length to be used during atom path length fingerprints generation and returns PathLengthFingerprints
Returns a string containing information about PathLengthFingerprints object
BitVector.pm, Fingerprints.pm, FingerprintsBitVector.pm
Copyright (C) 2004-2008 Manish Sud. All rights reserved.
This file is part of MayaChemTools.
MayaChemTools is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.