RDKit
Open-source cheminformatics and machine learning.
|
A Catalog with a hierarchical structure. More...
#include <Catalog.h>
Classes | |
struct | vertex_entry_t |
used by the BGL to set up the node properties in our graph More... | |
Public Types | |
typedef boost::property< vertex_entry_t, entryType * > | EntryProperty |
typedef boost::adjacency_list< boost::vecS, boost::vecS, boost::bidirectionalS, EntryProperty > | CatalogGraph |
the type of the graph itself: | |
typedef boost::graph_traits< CatalogGraph > | CAT_GRAPH_TRAITS |
typedef CAT_GRAPH_TRAITS::vertex_iterator | VER_ITER |
typedef std::pair< VER_ITER, VER_ITER > | ENT_ITER_PAIR |
typedef CAT_GRAPH_TRAITS::adjacency_iterator | DOWN_ENT_ITER |
typedef std::pair< DOWN_ENT_ITER, DOWN_ENT_ITER > | DOWN_ENT_ITER_PAIR |
Public Types inherited from RDCatalog::Catalog< entryType, paramType > | |
typedef entryType | entryType_t |
typedef paramType | paramType_t |
Public Member Functions | |
HierarchCatalog () | |
HierarchCatalog (const paramType *params) | |
Construct by making a copy of the input params object. | |
HierarchCatalog (const std::string &pickle) | |
Construct from a pickle (a serialized form of the HierarchCatalog) | |
~HierarchCatalog () override | |
void | toStream (std::ostream &ss) const |
serializes this object to a stream | |
std::string | Serialize () const override |
serializes this object and returns the resulting pickle | |
void | initFromStream (std::istream &ss) |
fills the contents of this object from a stream containing a pickle | |
unsigned int | getNumEntries () const override |
returns the number of entries | |
void | initFromString (const std::string &text) |
fills the contents of this object from a string containing a pickle | |
unsigned int | addEntry (entryType *entry, bool updateFPLength=true) override |
add a new entry to the catalog | |
void | addEdge (unsigned int id1, unsigned int id2) |
adds an edge between two entries in the catalog | |
const entryType * | getEntryWithIdx (unsigned int idx) const override |
returns a pointer to our entry with a particular index | |
const entryType * | getEntryWithBitId (unsigned int idx) const |
returns a pointer to our entry with a particular bit ID | |
int | getIdOfEntryWithBitId (unsigned int idx) const |
returns the index of the entry with a particular bit ID | |
RDKit::INT_VECT | getDownEntryList (unsigned int idx) const |
returns a list of the indices of entries below the one passed in | |
const RDKit::INT_VECT & | getEntriesOfOrder (orderType ord) |
returns a list of the indices that have a particular order | |
const RDKit::INT_VECT & | getEntriesOfOrder (orderType ord) const |
returns a list of the indices that have a particular order | |
Public Member Functions inherited from RDCatalog::Catalog< entryType, paramType > | |
Catalog () | |
virtual | ~Catalog () |
unsigned int | getFPLength () const |
returns the length of our fingerprint | |
void | setFPLength (unsigned int val) |
sets our fingerprint length | |
virtual void | setCatalogParams (const paramType *params) |
sets our parameters by copying the params argument | |
const paramType * | getCatalogParams () const |
returns a pointer to our parameters | |
Additional Inherited Members | |
Protected Attributes inherited from RDCatalog::Catalog< entryType, paramType > | |
unsigned int | d_fpLength {0} |
the length of our fingerprint | |
paramType * | dp_cParams |
our params object | |
A Catalog with a hierarchical structure.
The entries of a HierarchCatalog are arranged in a directed graph
The difference between Indices and Bit Ids
A HierarchCatalog may contain more entries than the user is actually interested in. For example a HierarchCatalog constructed to contain orders 5 through 8 may well contain information about orders 1-5, in order to facilitate some search optimizations.
0
will be the first entry with order 5.0
will be the first entry with order 1. typedef boost::graph_traits<CatalogGraph> RDCatalog::HierarchCatalog< entryType, paramType, orderType >::CAT_GRAPH_TRAITS |
typedef boost::adjacency_list< boost::vecS, boost::vecS, boost::bidirectionalS, EntryProperty> RDCatalog::HierarchCatalog< entryType, paramType, orderType >::CatalogGraph |
typedef CAT_GRAPH_TRAITS::adjacency_iterator RDCatalog::HierarchCatalog< entryType, paramType, orderType >::DOWN_ENT_ITER |
typedef std::pair<DOWN_ENT_ITER, DOWN_ENT_ITER> RDCatalog::HierarchCatalog< entryType, paramType, orderType >::DOWN_ENT_ITER_PAIR |
typedef std::pair<VER_ITER, VER_ITER> RDCatalog::HierarchCatalog< entryType, paramType, orderType >::ENT_ITER_PAIR |
typedef boost::property<vertex_entry_t, entryType *> RDCatalog::HierarchCatalog< entryType, paramType, orderType >::EntryProperty |
typedef CAT_GRAPH_TRAITS::vertex_iterator RDCatalog::HierarchCatalog< entryType, paramType, orderType >::VER_ITER |
|
inline |
|
inline |
Construct by making a copy of the input params
object.
Definition at line 166 of file Catalog.h.
References RDCatalog::Catalog< entryType, paramType >::setCatalogParams().
|
inline |
Construct from a pickle
(a serialized form of the HierarchCatalog)
Definition at line 172 of file Catalog.h.
References RDCatalog::HierarchCatalog< entryType, paramType, orderType >::initFromString().
|
inlineoverride |
|
inline |
adds an edge between two entries in the catalog
Since we are using a bidirectional graph - the order in which the ids are supplied here makes a difference
id1 | index of the edge's beginning |
id2 | index of the edge's end |
Definition at line 338 of file Catalog.h.
References RDCatalog::HierarchCatalog< entryType, paramType, orderType >::getNumEntries(), and URANGE_CHECK.
Referenced by RDCatalog::HierarchCatalog< entryType, paramType, orderType >::initFromStream().
|
inlineoverridevirtual |
add a new entry to the catalog
entry | the entry to be added |
updateFPLength | (optional) if this is true, our internal fingerprint length will also be updated. |
Implements RDCatalog::Catalog< entryType, paramType >.
Definition at line 306 of file Catalog.h.
References RDCatalog::Catalog< entryType, paramType >::getFPLength(), PRECONDITION, and RDCatalog::Catalog< entryType, paramType >::setFPLength().
Referenced by RDCatalog::HierarchCatalog< entryType, paramType, orderType >::initFromStream().
|
inline |
returns a list of the indices of entries below the one passed in
Definition at line 401 of file Catalog.h.
Referenced by RDCatalog::HierarchCatalog< entryType, paramType, orderType >::toStream().
|
inline |
|
inline |
returns a list of the indices that have a particular order
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Definition at line 424 of file Catalog.h.
References CHECK_INVARIANT.
|
inline |
returns a pointer to our entry with a particular bit ID
Definition at line 367 of file Catalog.h.
References RDCatalog::Catalog< entryType, paramType >::getFPLength(), RDCatalog::HierarchCatalog< entryType, paramType, orderType >::getNumEntries(), and URANGE_CHECK.
|
inlineoverridevirtual |
returns a pointer to our entry with a particular index
Implements RDCatalog::Catalog< entryType, paramType >.
Definition at line 357 of file Catalog.h.
References RDCatalog::HierarchCatalog< entryType, paramType, orderType >::getNumEntries(), and URANGE_CHECK.
Referenced by RDCatalog::HierarchCatalog< entryType, paramType, orderType >::toStream().
|
inline |
returns the index of the entry with a particular bit ID
Definition at line 384 of file Catalog.h.
References RDCatalog::Catalog< entryType, paramType >::getFPLength(), RDCatalog::HierarchCatalog< entryType, paramType, orderType >::getNumEntries(), and URANGE_CHECK.
|
inlineoverridevirtual |
returns the number of entries
Implements RDCatalog::Catalog< entryType, paramType >.
Definition at line 282 of file Catalog.h.
Referenced by RDCatalog::HierarchCatalog< entryType, paramType, orderType >::addEdge(), RDCatalog::HierarchCatalog< entryType, paramType, orderType >::getEntryWithBitId(), RDCatalog::HierarchCatalog< entryType, paramType, orderType >::getEntryWithIdx(), RDCatalog::HierarchCatalog< entryType, paramType, orderType >::getIdOfEntryWithBitId(), and RDCatalog::HierarchCatalog< entryType, paramType, orderType >::toStream().
|
inline |
fills the contents of this object from a stream containing a pickle
Definition at line 234 of file Catalog.h.
References RDCatalog::HierarchCatalog< entryType, paramType, orderType >::addEdge(), RDCatalog::HierarchCatalog< entryType, paramType, orderType >::addEntry(), RDCatalog::Catalog< entryType, paramType >::setCatalogParams(), RDCatalog::Catalog< entryType, paramType >::setFPLength(), and RDKit::streamRead().
Referenced by RDCatalog::HierarchCatalog< entryType, paramType, orderType >::initFromString().
|
inline |
fills the contents of this object from a string containing a pickle
Definition at line 288 of file Catalog.h.
References RDCatalog::HierarchCatalog< entryType, paramType, orderType >::initFromStream().
Referenced by RDCatalog::HierarchCatalog< entryType, paramType, orderType >::HierarchCatalog().
|
inlineoverridevirtual |
serializes this object and returns the resulting pickle
Implements RDCatalog::Catalog< entryType, paramType >.
Definition at line 225 of file Catalog.h.
References RDCatalog::HierarchCatalog< entryType, paramType, orderType >::toStream().
|
inline |
serializes this object to a stream
Definition at line 179 of file Catalog.h.
References RDCatalog::endianId, RDCatalog::Catalog< entryType, paramType >::getCatalogParams(), RDCatalog::HierarchCatalog< entryType, paramType, orderType >::getDownEntryList(), RDCatalog::HierarchCatalog< entryType, paramType, orderType >::getEntryWithIdx(), RDCatalog::Catalog< entryType, paramType >::getFPLength(), RDCatalog::HierarchCatalog< entryType, paramType, orderType >::getNumEntries(), PRECONDITION, RDKit::streamWrite(), RDCatalog::versionMajor, RDCatalog::versionMinor, and RDCatalog::versionPatch.
Referenced by RDCatalog::HierarchCatalog< entryType, paramType, orderType >::Serialize().