mirror of
https://github.com/rdkit/rdkit.git
synced 2026-06-04 21:54:27 +08:00
83 lines
3.2 KiB
C++
83 lines
3.2 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
|