| Language | Installation |
|---|---|
| Python | pip install loopdetect |
| R | remotes::install_github("DILiS-lab/LoopDetectR") |
| MATLAB | Download from GitHub or MATLAB File Exchange |
This Python package provides a handy framework to determine feedback loops (cycles, circuits) in ordinary differential equation (ODE) models. Feedback loops are paths from one node (variable) to itself without visiting any other node twice, and they have important regulatory functions. Together with the loop length it is also reported whether the loop is a positive or a negative feedback loop. An upper limit of the number of feedback loops can be entered to limit the runtime (which scales with feedback loop count). Model parametrizations and values of the modelled variables are accounted for. Input can be the Jacobian matrix of the ODE model or the function definition. Graph-based algorithms from networkx are employed for path detection, numdifftools is used for computing the Jacobian and pandas dataframes are used as output format.
Install the package with pip; within a terminal window, type
pip install loopdetectDepending on your pip installation, you may be required to use pip3 as command instead.
In order to use functions from LoopDetect within Python, call
# core functions
import loopdetect.core
# examples
import loopdetect.examplesLoopDetect v0.2.0 requires Python 3.10 or newer. The package is tested with Python 3.10, 3.11, 3.12, 3.13, and 3.14. We will test with Python 3.15 after it passes the beta phase. Users who need compatibility with older Python versions should use LoopDetect v0.1.0.
In addition, old version LoopDetect can be found on GitLab.
Function documentation is available on the LoopDetect pages, https://github.com/DILiS-lab/loopdetect. There, you can also find a detailed documentation and workflow description.
All code is licensed under the 3-clause BSD license, LoopDetect, Copyright (C) 2020 Katharina Baum.