-
Notifications
You must be signed in to change notification settings - Fork 0
Home
This software receives an input network as well as other arguments, and detects its network motif. The main python entry is motif_search_main.py (will refer to as main.py) which can be ran via any shell / script in a command-line-argument fashion:
motif_search_main.py —help
One can also run the software via a python IDE such as pycharm, or via a script (example is located under /scripts) for an automated process (e.g.; run on the same network with a different synapse threshold values in a loop fashion). In any case, it is mandatory to run from the root folder.
The output of the software depends on the Arguments. Most commonly would be to store the results in a binary result file for later analysis. In any case, the software will print out logs describing the: input network’s properties (#nodes, #edges, #degrees, etc…), the motif-criteria parameters, the enumeration and randomizer algorithms used, and finally the motif table. Note that all logs can be extracted via the binary file at any time.
Detecting motifs includes the following steps
- Enumerate the frequency of each subgraph (size k) of the input network
- Generate random networks (based on the input network). For each random graph, enumerate the frequency of each subgraph
- Test for a statistical significance of each subgraph
Each step is implemented in one of the Main Classes, and the logic is glued together in main.py.
All parts of the software (as well as later analysis) use common Data structures, these are the core parts of the software and help explain what is later saved in the binary result files.
To detect larger-than-3
motifs refer to Isomorphic mapping.
These utilities are mostly jupyter notebooks located under the /post-motif-analysis folder. They require a binary output file(s) to work.
The important notebooks are:
-
motif_analysis.ipynb
analyzes motifs in a single network using a variety of utilities (described below). -
Multiple_network_motif_comparison.ipynb
compares multiple networks’ motifs ($k=3$ ) and plots their Z scores in a variety of manners such as normalized and discretized. -
network_properties.ipynb
focuses on a network regardless of its motifs, it can plot the network distribution as well as other basic network properties. -
2_network_motif_comparison.ipynb
specifically compares two networks’ motifs Z scores against each other.