Graph model

Plain graph

MolecularGraph.Graph.immutableplaingraphMethod
immutableplaingraph() -> ImmutablePlainGraph
immutableplaingraph(size::Int, edges) -> ImmutablePlainGraph
immutableplaingraph(graph::UndirectedGraph) -> ImmutablePlainGraph

Convert an arbitrary UndirectedGraph into a ImmutablePlainGraph.

ImmutablePlainGraph is same as PlainGraph except for availability of addnode! and addedge!, and no performance difference exists between these graphs. ImmutablePlainGraph is mainly used for unit testing to check adverse effect of some graph algorithm implementations.

source
MolecularGraph.Graph.plaingraphMethod
plaingraph(nodes, edges) -> PlainGraph{PlainNode,Edge}

Generate vector graph that have given nodes and edges represented by the list of node indices in integer and the list of pairs of node indices, respectively.

source
MolecularGraph.Graph.plaingraphMethod
plaingraph(graph::UndirectedGraph) -> PlainGraph

Convert an arbitrary UndirectedGraph into a PlainGraph.

If the given graph has non-sequential indices (ex. subgraph view), node and edge indices are sorted in ascending order and are re-indexed.

source

Hyper graph

MolecularGraph.Graph.plainhypergraphMethod
plainhypergraph(graph::HyperGraph) -> PlainHyperGraph

Convert an arbitrary HyperGraph into a PlainHyperGraph.

If the given graph has non-sequential indices (ex. subgraph view), node and edge indices are sorted in ascending order and are re-indexed.

source

Directed Acyclic Graph (DAG)

Bipartite Graph