Files
rdkit/Code/GraphMol/ReducedGraphs/ReducedGraphs.h
2015-11-14 14:58:11 +01:00

83 lines
2.5 KiB
C++

//
// Copyright (C) 2013 Greg Landrum
//
// @@ All Rights Reserved @@
// This file is part of the RDKit.
// The contents are covered by the terms of the BSD license
// which is included in the file license.txt, found at the root
// of the RDKit source tree.
//
#ifndef _RD_REDUCEDGRAPHS_H_
#define _RD_REDUCEDGRAPHS_H_
#include <vector>
#include <boost/cstdint.hpp>
#include <boost/dynamic_bitset.hpp>
#include <Numerics/Vector.h>
namespace RDKit {
class ROMol;
namespace ReducedGraphs {
//! \brief Generates a reduced graph representation of a molecule
/*!
\param mol: the molecule to be fingerprinted
\return a new molecule
<b>Notes:</b>
- the caller is responsible for <tt>delete</tt>ing the result
*/
ROMol *generateMolExtendedReducedGraph(
const ROMol &mol, std::vector<boost::dynamic_bitset<> > *atomTypes = 0);
//! \brief Generates a ErG fingerprint vector for a molecule that's already a
// reduced graph
/*!
\param mol: the molecule to be fingerprinted
\param atomTypes: [optional] contains bit vectors indicating whether each
atom in
the molecule matches each type.
\param fuzzIncrement: amount to be added to neighboring bins
\param minPath: minimum distance (in bonds) to be considered
\param maxPath: maximum distance (in bonds) to be considered
\return the fingerprint, as a DoubleVector
<b>Notes:</b>
- the caller is responsible for <tt>delete</tt>ing the result
*/
RDNumeric::DoubleVector *generateErGFingerprintForReducedGraph(
const ROMol &mol, std::vector<boost::dynamic_bitset<> > *atomTypes = 0,
double fuzzIncrement = 0.3, unsigned int minPath = 1,
unsigned int maxPath = 15);
//! \brief Generates a ErG fingerprint vector for a molecule
/*!
\param mol: the molecule to be fingerprinted
\param atomTypes: [optional] contains bit vectors indicating whether each
atom in
the molecule matches each type.
\param fuzzIncrement: amount to be added to neighboring bins
\param minPath: minimum distance (in bonds) to be considered
\param maxPath: maximum distance (in bonds) to be considered
\return the fingerprint, as a DoubleVector
<b>Notes:</b>
- the caller is responsible for <tt>delete</tt>ing the result
*/
RDNumeric::DoubleVector *getErGFingerprint(
const ROMol &mol, std::vector<boost::dynamic_bitset<> > *atomTypes = 0,
double fuzzIncrement = 0.3, unsigned int minPath = 1,
unsigned int maxPath = 15);
} // end of ReducedGraphs namespace
} // end of RDKit namespace
#endif