Molassembler  3.0.0
Molecule graph and conformer library
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
GraphAlgorithms.h File Reference

Algorithms to help in the interpretation of the molecular graph. More...

#include "Utils/Geometry/ElementTypes.h"
#include "Types.h"
#include "boost/functional/hash.hpp"
#include <unordered_map>
#include <vector>
#include <memory>
#include <limits>
Include dependency graph for GraphAlgorithms.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  Scine::Molassembler::PredecessorMap
 
struct  Scine::Molassembler::EditCost
 Base class for edit cost functors for graph edit distance methods. More...
 
struct  Scine::Molassembler::FuzzyCost
 Fuzzy-matching cost function that prefers element substitutions to alterations. More...
 
struct  Scine::Molassembler::ElementsConservedCost
 Element type conserving cost function, really allowing only edge alterations. More...
 
struct  Scine::Molassembler::MinimalGraphEdits
 Result type for single-pair graph edit distance calculation. More...
 
struct  Scine::Molassembler::MinimalGraphEdits::VertexEdit
 Type for non-zero cost vertex edits in the result set. More...
 
struct  Scine::Molassembler::MinimalGraphEdits::EdgeEdit
 Type for non-zero cost edge edits in the result set. More...
 
struct  Scine::Molassembler::MinimalReactionEdits
 Aggregate for multiple-graph graph edit distance. More...
 
struct  Scine::Molassembler::MinimalReactionEdits::VertexEdit
 Type for non-zero cost vertex edits in the result set. More...
 
struct  Scine::Molassembler::MinimalReactionEdits::EdgeEdit
 Type for non-zero cost edge edits in the result set. More...
 

Namespaces

 Scine::Molassembler
 Central library namespace.
 

Typedefs

using Scine::Molassembler::GraphList = std::vector< std::reference_wrapper< Graph >>
 Input type for multiple graphs.
 

Functions

std::vector< unsigned > Scine::Molassembler::distance (AtomIndex source, const Graph &graph)
 Calculates the graph distance from a single atom index to all others. More...
 
PredecessorMap Scine::Molassembler::shortestPaths (AtomIndex source, const Graph &graph)
 Generates shortest paths to each vertex in a graph. More...
 
MinimalGraphEdits Scine::Molassembler::minimalEdits (const Graph &a, const Graph &b, const EditCost &cost=FuzzyCost{})
 Graph edit distance calculation. More...
 
MinimalReactionEdits Scine::Molassembler::reactionEdits (const GraphList &lhsGraphs, const GraphList &rhsGraphs)
 Graph edit distance calculation for reactions. More...
 
std::string Scine::Molassembler::reactionGraphvizSvg (const GraphList &lhs, const GraphList &rhs, const MinimalReactionEdits &edits)
 

Detailed Description

Algorithms to help in the interpretation of the molecular graph.