RDKit::AtomPairs Namespace Reference

## Functions

boost::uint32_t | getAtomCode (const Atom *atom, unsigned int branchSubtract=0, bool includeChirality=false)
boost::uint32_t | getAtomPairCode (boost::uint32_t codeI, boost::uint32_t codeJ, unsigned int dist, bool includeChirality=false)
SparseIntVect< boost::int32_t > * | getAtomPairFingerprint (const ROMol &mol, unsigned int minLength, unsigned int maxLength, const std::vector< boost::uint32_t > *fromAtoms=0, const std::vector< boost::uint32_t > *ignoreAtoms=0, const std::vector< boost::uint32_t > *atomInvariants=0, bool includeChirality=false, bool use2D=true, int confId=-1)
| returns the atom-pair fingerprint for a molecule More...
SparseIntVect< boost::int32_t > * | getAtomPairFingerprint (const ROMol &mol, const std::vector< boost::uint32_t > *fromAtoms=0, const std::vector< boost::uint32_t > *ignoreAtoms=0, const std::vector< boost::uint32_t > *atomInvariants=0, bool includeChirality=false, bool use2D=true, int confId=-1)
SparseIntVect< boost::int32_t > * | getHashedAtomPairFingerprint (const ROMol &mol, unsigned int nBits=2048, unsigned int minLength=1, unsigned int maxLength=maxPathLen-1, const std::vector< boost::uint32_t > *fromAtoms=0, const std::vector< boost::uint32_t > *ignoreAtoms=0, const std::vector< boost::uint32_t > *atomInvariants=0, bool includeChirality=false, bool use2D=true, int confId=-1)
| returns the hashed atom-pair fingerprint for a molecule More...

ExplicitBitVect *

getHashedAtomPairFingerprintAsBitVect (const ROMol &mol, unsigned int nBits=2048, unsigned int minLength=1, unsigned int maxLength=maxPathLen-1, const std::vector< boost::uint32_t > *fromAtoms=0, const std::vector< boost::uint32_t > *ignoreAtoms=0, const std::vector< boost::uint32_t > *atomInvariants=0, unsigned int nBitsPerEntry=4, bool includeChirality=false, bool use2D=true, int confId=-1)

| returns the hashed atom-pair fingerprint for a molecule as a bit vector More...
boost::uint64_t | getTopologicalTorsionCode (const std::vector< boost::uint32_t > &atomCodes, bool includeChirality=false)
SparseIntVect< boost::int64_t > * | getTopologicalTorsionFingerprint (const ROMol &mol, unsigned int targetSize=4, const std::vector< boost::uint32_t > *fromAtoms=0, const std::vector< boost::uint32_t > *ignoreAtoms=0, const std::vector< boost::uint32_t > *atomInvariants=0, bool includeChirality=false)
| returns the topological-torsion fingerprint for a molecule More...
SparseIntVect< boost::int64_t > * | getHashedTopologicalTorsionFingerprint (const ROMol &mol, unsigned int nBits=2048, unsigned int targetSize=4, const std::vector< boost::uint32_t > *fromAtoms=0, const std::vector< boost::uint32_t > *ignoreAtoms=0, const std::vector< boost::uint32_t > *atomInvariants=0, bool includeChirality=false)
| returns a hashed topological-torsion fingerprint for a molecule More...
ExplicitBitVect * | getHashedTopologicalTorsionFingerprintAsBitVect (const ROMol &mol, unsigned int nBits=2048, unsigned int targetSize=4, const std::vector< boost::uint32_t > *fromAtoms=0, const std::vector< boost::uint32_t > *ignoreAtoms=0, const std::vector< boost::uint32_t > *atomInvariants=0, unsigned int nBitsPerEntry=4, bool includeChirality=false)
| returns a hashed topological-torsion fingerprint for a molecule as a bit vector More...

## Variables

const std::string | atomPairsVersion ="1.1.0"
const unsigned int | numTypeBits =4
const unsigned int | atomNumberTypes [1<< numTypeBits] ={5,6,7,8,9,14,15,16,17,33,34,35,51,52,43}
const unsigned int | numPiBits =2
const unsigned int | maxNumPi =(1<<numPiBits)-1
const unsigned int | numBranchBits =3
const unsigned int | maxNumBranches =(1<<numBranchBits)-1
const unsigned int | numChiralBits =2
const unsigned int | codeSize =numTypeBits+numPiBits+numBranchBits
const unsigned int | numPathBits =5
const unsigned int | maxPathLen =(1<<numPathBits)-1
const unsigned int | numAtomPairFingerprintBits =numPathBits+2*codeSize

## Function Documentation

boost::uint32_t RDKit::AtomPairs::getAtomCode | ( | const Atom * | atom,
|  | unsigned int | branchSubtract = `0`,
|  | bool | includeChirality = `false`
| ) |  |

returns a numeric code for the atom (the atom's hash in the atom-pair scheme)

Parameters

  atom | the atom to be considered
  branchSubtract | (optional) a constant to subtract from the number of neighbors when the hash is calculated (used in the topological torsions code)
  includeChirality | toggles the inclusions of bits indicating R/S chirality

boost::uint32_t RDKit::AtomPairs::getAtomPairCode | ( | boost::uint32_t | codeI,
|  | boost::uint32_t | codeJ,
|  | unsigned int | dist,
|  | bool | includeChirality = `false`
| ) |  |

returns an atom pair hash based on two atom hashes and the distance between the atoms.

Parameters

  codeI | the hash for the first atom
  codeJ | the hash for the second atom
  dist | the distance (number of bonds) between the two atoms
  includeChirality | toggles the inclusions of bits indicating R/S chirality

SparseIntVect<boost::int32_t>* RDKit::AtomPairs::getAtomPairFingerprint | ( | const ROMol & | mol,
|  | unsigned int | minLength,
|  | unsigned int | maxLength,
|  | const std::vector< boost::uint32_t > * | fromAtoms = `0`,
|  | const std::vector< boost::uint32_t > * | ignoreAtoms = `0`,
|  | const std::vector< boost::uint32_t > * | atomInvariants = `0`,
|  | bool | includeChirality = `false`,
|  | bool | use2D = `true`,
|  | int | confId = `-1`
| ) |  |

returns the atom-pair fingerprint for a molecule

The algorithm used is described here: R.E. Carhart, D.H. Smith, R. Venkataraghavan; "Atom Pairs as Molecular Features in Structure-Activity Studies: Definition and Applications" JCICS 25, 64-73 (1985).

Parameters

  mol | the molecule to be fingerprinted
  minLength | minimum distance between atoms to be considered in a pair. Default is 1 bond.
  maxLength | maximum distance between atoms to be considered in a pair. Default is maxPathLen-1 bonds.
  fromAtoms | if provided, only atom pairs that involve the specified atoms will be included in the fingerprint
  ignoreAtoms | if provided, any atom pairs that include the specified atoms will not be included in the fingerprint
  atomInvariants | a list of invariants to use for the atom hashes note: only the first `codeSize` bits of each invariant are used.
  includeChirality | if set, chirality will be used in the atom invariants (note: this is ignored if atomInvariants are provided)
  use2D | if set, the 2D (topological) distance matrix is used.
  confId | the conformation to use if 3D distances are being used

Returns
  a pointer to the fingerprint. The client is responsible for calling delete on this.

SparseIntVect<boost::int32_t>* RDKit::AtomPairs::getAtomPairFingerprint | ( | const ROMol & | mol,
|  | const std::vector< boost::uint32_t > * | fromAtoms = `0`,
|  | const std::vector< boost::uint32_t > * | ignoreAtoms = `0`,
|  | const std::vector< boost::uint32_t > * | atomInvariants = `0`,
|  | bool | includeChirality = `false`,
|  | bool | use2D = `true`,
|  | int | confId = `-1`
| ) |  |

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

SparseIntVect<boost::int32_t>* RDKit::AtomPairs::getHashedAtomPairFingerprint | ( | const ROMol & | mol,
|  | unsigned int | nBits = `2048`,
|  | unsigned int | minLength = `1`,
|  | unsigned int | maxLength = `maxPathLen-1`,
|  | const std::vector< boost::uint32_t > * | fromAtoms = `0`,
|  | const std::vector< boost::uint32_t > * | ignoreAtoms = `0`,
|  | const std::vector< boost::uint32_t > * | atomInvariants = `0`,
|  | bool | includeChirality = `false`,
|  | bool | use2D = `true`,
|  | int | confId = `-1`
| ) |  |

returns the hashed atom-pair fingerprint for a molecule

Parameters

  mol | the molecule to be fingerprinted
  nBits | the length of the fingerprint to generate
  minLength | minimum distance between atoms to be considered in a pair. Default is 1 bond.
  maxLength | maximum distance between atoms to be considered in a pair. Default is maxPathLen-1 bonds.
  fromAtoms | if provided, only atom pairs that involve the specified atoms will be included in the fingerprint
  ignoreAtoms | if provided, any atom pairs that include the specified atoms will not be included in the fingerprint
  atomInvariants | a list of invariants to use for the atom hashes note: only the first `codeSize` bits of each invariant are used.
  includeChirality | if set, chirality will be used in the atom invariants (note: this is ignored if atomInvariants are provided)
  use2D | if set, the 2D (topological) distance matrix is used.

Returns
  a pointer to the fingerprint. The client is responsible for calling delete on this.

ExplicitBitVect* RDKit::AtomPairs::getHashedAtomPairFingerprintAsBitVect | ( | const ROMol & | mol,
|  | unsigned int | nBits = `2048`,
|  | unsigned int | minLength = `1`,
|  | unsigned int | maxLength = `maxPathLen-1`,
|  | const std::vector< boost::uint32_t > * | fromAtoms = `0`,
|  | const std::vector< boost::uint32_t > * | ignoreAtoms = `0`,
|  | const std::vector< boost::uint32_t > * | atomInvariants = `0`,
|  | unsigned int | nBitsPerEntry = `4`,
|  | bool | includeChirality = `false`,
|  | bool | use2D = `true`,
|  | int | confId = `-1`
| ) |  |

returns the hashed atom-pair fingerprint for a molecule as a bit vector

Parameters

  mol | the molecule to be fingerprinted
  nBits | the length of the fingerprint to generate
  minLength | minimum distance between atoms to be considered in a pair. Default is 1 bond.
  maxLength | maximum distance between atoms to be considered in a pair. Default is maxPathLen-1 bonds.
  fromAtoms | if provided, only atom pairs that involve the specified atoms will be included in the fingerprint
  ignoreAtoms | if provided, any atom pairs that include the specified atoms will not be included in the fingerprint
  atomInvariants | a list of invariants to use for the atom hashes note: only the first `codeSize` bits of each invariant are used.
  nBitsPerEntry | number of bits to use in simulating counts
  includeChirality | if set, chirality will be used in the atom invariants (note: this is ignored if atomInvariants are provided)
  use2D | if set, the 2D (topological) distance matrix is used.
  confId | the conformation to use if 3D distances are being used

Returns
  a pointer to the fingerprint. The client is responsible for calling delete on this.

SparseIntVect<boost::int64_t >* RDKit::AtomPairs::getHashedTopologicalTorsionFingerprint | ( | const ROMol & | mol,
|  | unsigned int | nBits = `2048`,
|  | unsigned int | targetSize = `4`,
|  | const std::vector< boost::uint32_t > * | fromAtoms = `0`,
|  | const std::vector< boost::uint32_t > * | ignoreAtoms = `0`,
|  | const std::vector< boost::uint32_t > * | atomInvariants = `0`,
|  | bool | includeChirality = `false`
| ) |  |

returns a hashed topological-torsion fingerprint for a molecule

The algorithm used is described here: R. Nilakantan, N. Bauman, J. S. Dixon, R. Venkataraghavan; "Topological Torsion: A New Molecular Descriptor for SAR Applications. Comparison with Other Descriptors" JCICS 27, 82-85 (1987).

Parameters

  mol | the molecule to be fingerprinted
  nBits | number of bits to include in the fingerprint
  targetSize | the number of atoms to include in the "torsions"
  fromAtoms | if provided, only torsions that start or end at the specified atoms will be included in the fingerprint
  ignoreAtoms | if provided, any torsions that include the specified atoms will not be included in the fingerprint
  atomInvariants | a list of invariants to use for the atom hashes note: only the first `codeSize` bits of each invariant are used.
  includeChirality | if set, chirality will be used in the atom invariants (note: this is ignored if atomInvariants are provided)

Returns
  a pointer to the fingerprint. The client is responsible for calling delete on this.

ExplicitBitVect* RDKit::AtomPairs::getHashedTopologicalTorsionFingerprintAsBitVect | ( | const ROMol & | mol,
|  | unsigned int | nBits = `2048`,
|  | unsigned int | targetSize = `4`,
|  | const std::vector< boost::uint32_t > * | fromAtoms = `0`,
|  | const std::vector< boost::uint32_t > * | ignoreAtoms = `0`,
|  | const std::vector< boost::uint32_t > * | atomInvariants = `0`,
|  | unsigned int | nBitsPerEntry = `4`,
|  | bool | includeChirality = `false`
| ) |  |

returns a hashed topological-torsion fingerprint for a molecule as a bit vector

Parameters

  mol | the molecule to be fingerprinted
  nBits | number of bits to include in the fingerprint
  targetSize | the number of atoms to include in the "torsions"
  fromAtoms | if provided, only torsions that start or end at the specified atoms will be included in the fingerprint
  ignoreAtoms | if provided, any torsions that include the specified atoms will not be included in the fingerprint
  atomInvariants | a list of invariants to use for the atom hashes note: only the first `codeSize` bits of each invariant are used.
  nBitsPerEntry | number of bits to use in simulating counts
  includeChirality | if set, chirality will be used in the atom invariants (note: this is ignored if atomInvariants are provided)

Returns
  a pointer to the fingerprint. The client is responsible for calling delete on this.

boost::uint64_t RDKit::AtomPairs::getTopologicalTorsionCode | ( | const std::vector< boost::uint32_t > & | atomCodes,
|  | bool | includeChirality = `false`
| ) |  |

returns an topological torsion hash based on the atom hashes passed in

Parameters

  atomCodes | the vector of atom hashes

SparseIntVect<boost::int64_t >* RDKit::AtomPairs::getTopologicalTorsionFingerprint | ( | const ROMol & | mol,
|  | unsigned int | targetSize = `4`,
|  | const std::vector< boost::uint32_t > * | fromAtoms = `0`,
|  | const std::vector< boost::uint32_t > * | ignoreAtoms = `0`,
|  | const std::vector< boost::uint32_t > * | atomInvariants = `0`,
|  | bool | includeChirality = `false`
| ) |  |

returns the topological-torsion fingerprint for a molecule

The algorithm used is described here: R. Nilakantan, N. Bauman, J. S. Dixon, R. Venkataraghavan; "Topological Torsion: A New Molecular Descriptor for SAR Applications. Comparison with Other Descriptors" JCICS 27, 82-85 (1987).

Parameters

  mol | the molecule to be fingerprinted
  targetSize | the number of atoms to include in the "torsions"
  fromAtoms | if provided, only torsions that start or end at the specified atoms will be included in the fingerprint
  ignoreAtoms | if provided, any torsions that include the specified atoms will not be included in the fingerprint
  atomInvariants | a list of invariants to use for the atom hashes note: only the first `codeSize` bits of each invariant are used.
  includeChirality | if set, chirality will be used in the atom invariants (note: this is ignored if atomInvariants are provided)

Returns
  a pointer to the fingerprint. The client is responsible for calling delete on this.

## Variable Documentation

const unsigned int RDKit::AtomPairs::atomNumberTypes[1<< numTypeBits] ={5,6,7,8,9,14,15,16,17,33,34,35,51,52,43}

Definition at line 37 of file AtomPairs.h.

const std::string RDKit::AtomPairs::atomPairsVersion ="1.1.0"

Definition at line 35 of file AtomPairs.h.

const unsigned int RDKit::AtomPairs::codeSize =numTypeBits+numPiBits+numBranchBits

Definition at line 43 of file AtomPairs.h.

const unsigned int RDKit::AtomPairs::maxNumBranches =(1<<numBranchBits)-1

Definition at line 41 of file AtomPairs.h.

const unsigned int RDKit::AtomPairs::maxNumPi =(1<<numPiBits)-1

Definition at line 39 of file AtomPairs.h.

const unsigned int RDKit::AtomPairs::maxPathLen =(1<<numPathBits)-1

Definition at line 45 of file AtomPairs.h.

const unsigned int RDKit::AtomPairs::numAtomPairFingerprintBits =numPathBits+2*codeSize

Definition at line 46 of file AtomPairs.h.

const unsigned int RDKit::AtomPairs::numBranchBits =3

Definition at line 40 of file AtomPairs.h.

const unsigned int RDKit::AtomPairs::numChiralBits =2

Definition at line 42 of file AtomPairs.h.

const unsigned int RDKit::AtomPairs::numPathBits =5

Definition at line 44 of file AtomPairs.h.

const unsigned int RDKit::AtomPairs::numPiBits =2

Definition at line 38 of file AtomPairs.h.

const unsigned int RDKit::AtomPairs::numTypeBits =4

Definition at line 36 of file AtomPairs.h.