Welcome to PyMotifCounter’s documentation!¶
PyMotifCounter
is a unified interface to fast motif enumeration algorithms such as:
mfinder
fanmod
NetMODE
PGD
The objective of this version is to offer an interface to external processes as if they were Python functions.
This is achieved by abstracting the inputs, parameters and outputs of each binary, creating a high
level interface which accepts a networkx
graph and returns a motif / graphlet distribution as a
pandas.DataFrame
.
A typical usage example is as follows:
"""
Visualise the distribution of size-3 motifs.
"""
from pymotifcounter.concretecounters import PyMotifCounterMfinder
from matplotlib import pyplot as plt
from networkx import watts_strogatz_graph
if __name__ == "__main__":
# Create an example network
g = watts_strogatz_graph(100, 8, 0.2)
# Create a motif counter based on mfinder
motif_counter = PyMotifCounterMfinder()
# Enumerate motifs using the selected counter
g_mtf_count = motif_counter(g)
# Visualise the distribution
g_mtf_count.plot.bar("motif_id", "nreal")
plt.tight_layout()
plt.show()
Which would produce the following distribution: