A Python framework for formulating, simulating, and estimating information dynamics on networks.
This repository implements two complementary approaches:
- an equation-based approach, in which information-theoretic quantities evolve through explicit dynamical equations;
- a model-based approach, in which those quantities are estimated from data generated by underlying dynamical models.
Information_dynamics/
├── Core/ # Core classes for networks, information-dynamic equations, estimators, and model basics
├── on_Equations/ # Equation-based examples and demonstrations
├── on_Model/ # Model-based simulations and estimation workflows
├── Utils/ # Utility scripts for plotting and postprocessing
├── Data/ # Saved results, figures, and related outputs
└── README.md
This repository includes data and scripts used to reproduce results reported in the manuscript.
- Model 004: Gene regulatory network (GRN) simulation
- Model 005: Three-node oscillatory system
python -m on_Model.004_ABN_for_GRN.mainpython -m Utils.plot_results \
--dir on_Model/004_ABN_for_GRN/Temporal_Results/ \
--link B4 B5 --paperpython -m Utils.plot_results \
--dir on_Model/004_ABN_for_GRN/Temporal_Results/ \
--node B1 --paper-
Results are saved in:
on_Model/.../Temporal_Results/Data/(if exported)
-
Figures used in the manuscript are generated directly from these outputs.
- All simulations are deterministic given fixed initial conditions.
- Random seeds (if used) should be set explicitly in model scripts.
- The estimator configuration (k, metric, etc.) is defined in
Core/Estimators.
The core library of the repository.
It contains:
- network data structures
- information-dynamic update rules
- estimator classes
- model base classes
- supporting utilities for simulation and analysis
Examples in which the information variables themselves evolve according to dynamical equations.
This directory is intended for studying:
- intrinsic information dynamics
- the effect of control parameters
- stationary solutions
- blocked-flow conditions
- network-topology dependence
Examples in which raw system trajectories are first generated from explicit models, and the information variables are then estimated from those data.
This directory is intended for studying:
- model-based information dynamics
- estimator behavior
- comparisons between simulated mechanisms and information-theoretic observables
Utility scripts for plotting and postprocessing results.
Typical uses include:
- plotting temporal results
- generating paper-style figures
- comparing outputs across runs
Saved outputs from simulations and analyses.
This may include:
- temporal results
- processed data
- figure source files
- exported plots
From the repository root:
python -m on_Equations.001_A_Single_Cycle.mainor
python -m on_Equations.002_Cycle_and_Source.mainFrom the repository root:
python -m on_Model.004_ABN_for_GRN.mainor
python -m on_Model.005_Three_Nodes_GRN.mainExample commands from the repository root:
python -m Utils.plot_results --dir on_Model/004_ABN_for_GRN/Temporal_Results/ --link B4 B5 --paperpython -m Utils.plot_results --dir on_Model/004_ABN_for_GRN/Temporal_Results/ --node B1 --paperAdjust the directory and arguments depending on the model and output you want to visualize.
This repository is intended for developing and testing a unified framework for information dynamics on networks.
Its goals include:
- deriving and studying dynamical equations for information variables
- comparing equation-based and model-based approaches
- examining the role of topology, control parameters, and constraints
- exploring applications to biological and other complex systems
Install dependencies with:
pip install -r requirements.txt- Run all commands from the repository root.
- Some examples save outputs into subdirectories under
Data/or model-specific result folders. - The repository is organized so that the
Core/directory provides the shared framework used by bothon_Equations/andon_Model/.
Please check the repository files for license and data-use details if they are provided separately.