Command line
The orbitsi command has two subcommands, search and count-orbits.
Subgraph isomorphism search
orbitsi search --data DATA --pattern PATTERN
[--orbit-counter evoke|orca] [--graphlet-size 4|5] [--order auto|core]
[--arc-consistency] [--no-contraction] [--no-edge-thinning] [--no-tail]
[--published] [--backend cpp|python] [--count-only]
Prints the number of embeddings of the pattern in the data graph and, without --count-only, each
embedding as a {pattern vertex: data vertex} dict.
--data,--patternPaths of the data graph and the pattern (required).
--orbit-counterevoke(default) ororca.--graphlet-size4(default) or5;orcasupports4only.--orderauto(default): OrbitSI’s orbit-strength order.core: the pattern’s 2-core first, then the vertex with the most already-matched neighbours, ties by fewest candidates.--arc-consistencyAlso run arc consistency after NLF and after the orbit filter. Off by default, as in OrbitSI as published.
--no-contractionLeave out the NLF rounds on the candidate subgraph before the orbit filter.
--no-edge-thinningCount orbits on every edge of the candidate subgraph.
--no-tailSearch the last pattern vertices one by one instead of counting them together.
--publishedOrbitSI’s algorithm as published: the orbit-strength order, no arc consistency, and none of contraction, edge thinning or tail counting.
--backendImplementation of
--count-only:cpp(default) orpython.cppapplies only with--orbit-counter evoke; withorcathe count runs in Python. Listing embeddings always runs in Python.--count-onlyPrint only the number of embeddings, counted without storing them.
Contraction, edge thinning and tail counting are on by default; none of them changes the result. See How OrbitSI works.
Example:
orbitsi search --data HPRD.graph --pattern query_dense_16_1.graph --count-only
Orbit counting
orbitsi count-orbits --graph GRAPH [--orbit-counter evoke|orca] [--graphlet-size 4|5] [--induced]
Prints the matrix of vertex orbit counts, one row per vertex in sorted vertex order.
--graphPath of the graph (required).
--orbit-counterevoke(default) ororca.--graphlet-size4(default, 15 orbits) or5(73 orbits);orcasupports4only.--inducedInduced orbit counts instead of non-induced ones.
Example:
orbitsi count-orbits --graph HPRD.graph --graphlet-size 5 --induced