{"id":45990599,"url":"https://github.com/eka38b/information_dynamics","last_synced_at":"2026-05-31T11:00:49.960Z","repository":{"id":338925415,"uuid":"1159713412","full_name":"Eka38b/Information_dynamics","owner":"Eka38b","description":"Information-theoretic analysis of non-stationary time series","archived":false,"fork":false,"pushed_at":"2026-05-02T12:00:47.000Z","size":988,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-02T13:26:48.010Z","etag":null,"topics":["complex-systems","information-dynamics","information-theory","mutual-information","transfer-entropy"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Eka38b.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-17T04:16:16.000Z","updated_at":"2026-05-02T12:00:51.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Eka38b/Information_dynamics","commit_stats":null,"previous_names":["eka38b/information_dynamics"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/Eka38b/Information_dynamics","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eka38b%2FInformation_dynamics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eka38b%2FInformation_dynamics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eka38b%2FInformation_dynamics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eka38b%2FInformation_dynamics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Eka38b","download_url":"https://codeload.github.com/Eka38b/Information_dynamics/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Eka38b%2FInformation_dynamics/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33728391,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-31T02:00:06.040Z","response_time":95,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["complex-systems","information-dynamics","information-theory","mutual-information","transfer-entropy"],"created_at":"2026-02-28T20:04:50.094Z","updated_at":"2026-05-31T11:00:49.945Z","avatar_url":"https://github.com/Eka38b.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Information Dynamics\n\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.20024405.svg)]([https://doi.org/10.5281/zenodo.20024405])\n\n`Information_dynamics` is a Python repository for studying information-theoretic dynamics on networks. It provides two complementary ways to analyze evolving information flow:\n\n- **model-based simulations**, where information measures are estimated from trajectories generated by stochastic or deterministic update rules; and\n- **equation-based simulations**, where entropy, mutual information, transfer entropy, and reversed transfer entropy are evolved directly as dynamical variables.\n\nThe repository is intended as a general-purpose research codebase for testing information-flow mechanisms, exploring network examples, generating datasets, and reproducing manuscript figures when needed.\n\n---\n\n## Repository Structure\n\n```text\nInformation_dynamics/\n├── Core/            # Core classes and equations for information dynamics\n├── on_Model/        # Model-based simulations and information-measure estimation\n├── on_Equations/    # Direct evolution of information-theoretic variables\n├── Utils/           # Plotting and estimator-checking utilities\n├── Data/            # Archived outputs from selected simulations\n├── Manuscripts/     # Manuscript-related materials, when included\n├── requirements.txt\n├── CITATION.cff\n└── LICENSE\n```\n\n---\n\n## Main Components\n\n### `Core/`\n\nContains the main objects used throughout the repository, including information-network structures, model basics, and the dynamical equations for information-theoretic quantities.\n\n### `on_Model/`\n\nContains examples in which an underlying system is simulated first. Entropy (`H`), mutual information (`MI`), transfer entropy (`TE`), and reversed transfer entropy (`rTE`) are then estimated from the generated data.\n\nUse this module when you want to connect the information-dynamics framework to explicit stochastic, Boolean, probabilistic, or continuous-state models.\n\n### `on_Equations/`\n\nContains examples in which the information-theoretic quantities themselves evolve directly through closed equations. No underlying trajectory data or estimator is required.\n\nUse this module when you want to study intrinsic information dynamics, constrained information flow, stationary states, oscillatory behavior, or control-parameter effects.\n\n### `Utils/`\n\nContains helper scripts for plotting simulation outputs and checking estimator behavior.\n\n### `Data/`\n\nContains archived outputs generated by selected simulations. These files are useful for checking results without rerunning simulations and for reproducing figures associated with specific studies. See `Data/README.md` for details.\n\n---\n\n## Installation\n\nClone the repository and install the required Python packages:\n\n```bash\ngit clone https://github.com/Eka38b/Information_dynamics.git\ncd Information_dynamics\npip install -r requirements.txt\n```\n\nThe code is intended to be run from the repository root using Python module execution.\n\n---\n\n## Basic Usage\n\nRun model-based examples with:\n\n```bash\npython -m on_Model.001_Toy_Model_A.main\npython -m on_Model.004_ABN_for_GRN.main\npython -m on_Model.005_Three_Nodes_GRN.main\npython -m on_Model.015_Boolean_Probability_Update.main\n```\n\nRun equation-based examples with:\n\n```bash\npython -m on_Equations.001_A_Single_Cycle.main\npython -m on_Equations.002_Cycle_and_Source.main\npython -m on_Equations.005_Oscillatory_Two_Cycles.main\n```\n\nPlot selected outputs with:\n\n```bash\npython -m Utils.plot_results --dir \u003cresult_directory\u003e --links \u003csource target ...\u003e --keys \u003cquantity\u003e\n```\n\nFor example:\n\n```bash\npython -m Utils.plot_results \\\n  --dir Data/on_Equations001/ \\\n  --links A1 A2 A2 A3 A3 A4 A4 A5 A5 A6 A6 A7 A7 A8 A8 A1 \\\n  --keys MI\n```\n\n---\n\n## Typical Output\n\nSimulation outputs are usually written as plain-text time series. Depending on the script, output files may include:\n\n```text\n*_H.txt\n*_MI.txt\n*_TE.txt\n*_rTE.txt\n*_E_values.txt\n*.png\n```\n\nModel-specific scripts may produce additional files depending on the variables, links, estimators, or plotting options used in that example.\n\n---\n\n## Reproducibility Examples\n\nThe following commands reproduce representative archived outputs included in `Data/`.\n\n### Boolean probability update model\n\n```bash\npython -m on_Model.015_Boolean_Probability_Update.main\n```\n\n### Oscillatory dynamics of two interacting cycles\n\n```bash\npython -m on_Equations.005_Oscillatory_Two_Cycles.main\n```\n\n### Small deviation from a stationary single cycle\n\n```bash\npython -m on_Equations.001_A_Single_Cycle.main\npython -m Utils.plot_results \\\n  --dir Data/on_Equations001/ \\\n  --links A1 A2 A2 A3 A3 A4 A4 A5 A5 A6 A6 A7 A7 A8 A8 A1 \\\n  --keys MI\n```\n\n### Transient dynamics with an external information source\n\n```bash\npython -m on_Model.001_Toy_Model_A.main\npython -m Utils.plot_results \\\n  --dir Data/on_Model001/ \\\n  --links A1 A2 A2 A3 A3 A4 A4 A5 A5 A1 Ext A1 \\\n  --keys TE2\n```\n\n---\n\n## Citation\n\nIf you use this repository, please cite it using the metadata in `CITATION.cff`. If you use a specific archived release or dataset, cite the corresponding release DOI when available.\n\n---\n\n## License\n\nThe source code is distributed under the MIT License. See `LICENSE` for details.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feka38b%2Finformation_dynamics","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feka38b%2Finformation_dynamics","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feka38b%2Finformation_dynamics/lists"}