![]() |
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 |
|
inline |
Construct from a pickle (a serialized form of the HierarchCatalog)
|
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.
Referenced by RDCatalog::HierarchCatalog< FragCatalogEntry, FragCatParams, int >::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.
Referenced by RDCatalog::HierarchCatalog< FragCatalogEntry, FragCatParams, int >::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< FragCatalogEntry, FragCatParams, int >::toStream().
|
inline |
|
inline |
|
inline |
|
inlineoverridevirtual |
returns a pointer to our entry with a particular index
Implements RDCatalog::Catalog< entryType, paramType >.
Definition at line 357 of file Catalog.h.
Referenced by RDCatalog::HierarchCatalog< FragCatalogEntry, FragCatParams, int >::toStream().
|
inline |
|
inlineoverridevirtual |
returns the number of entries
Implements RDCatalog::Catalog< entryType, paramType >.
Definition at line 282 of file Catalog.h.
Referenced by RDCatalog::HierarchCatalog< FragCatalogEntry, FragCatParams, int >::addEdge(), RDCatalog::HierarchCatalog< FragCatalogEntry, FragCatParams, int >::getEntryWithBitId(), RDCatalog::HierarchCatalog< FragCatalogEntry, FragCatParams, int >::getEntryWithIdx(), RDCatalog::HierarchCatalog< FragCatalogEntry, FragCatParams, int >::getIdOfEntryWithBitId(), and RDCatalog::HierarchCatalog< FragCatalogEntry, FragCatParams, int >::toStream().
|
inline |
fills the contents of this object from a stream containing a pickle
Definition at line 234 of file Catalog.h.
Referenced by RDCatalog::HierarchCatalog< FragCatalogEntry, FragCatParams, int >::initFromString().
|
inline |
fills the contents of this object from a string containing a pickle
Definition at line 288 of file Catalog.h.
Referenced by RDCatalog::HierarchCatalog< FragCatalogEntry, FragCatParams, int >::HierarchCatalog().
|
inlineoverridevirtual |
serializes this object and returns the resulting pickle
Implements RDCatalog::Catalog< entryType, paramType >.
|
inline |
serializes this object to a stream
Definition at line 179 of file Catalog.h.
Referenced by RDCatalog::HierarchCatalog< FragCatalogEntry, FragCatParams, int >::Serialize().