From a1e61eee446d7fde90e682a0e20962cf1cea55d6 Mon Sep 17 00:00:00 2001 From: pierremillard Date: Thu, 26 Oct 2023 21:29:26 +0200 Subject: [PATCH 1/6] update readme & doc --- docs/models.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/models.rst b/docs/models.rst index 2b850f9..fe4ae0d 100644 --- a/docs/models.rst +++ b/docs/models.rst @@ -531,6 +531,9 @@ programmatic way: :: This will return the calculated flux values and associated statistics. +.. note:: The test data and calculation parameters (e.g. standard deviations) defined in the test function must correspond to those expected for the new model. + + To test the integration of the model into the GUI, copy the :file:`.py` file in the folder :file:`models` of PhysioFit directory. You can get the path towards this folder by opening a python kernel in your dedicated environment and initializing an IoHandler :: From 191eb15e3247a3d1daed446c8e6ecf04cbc1bdc4 Mon Sep 17 00:00:00 2001 From: pierremillard Date: Thu, 26 Oct 2023 21:29:32 +0200 Subject: [PATCH 2/6] update README --- README.md | 36 +++++++++++++++--------------------- 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 497ecf5..936b3a7 100644 --- a/README.md +++ b/README.md @@ -9,32 +9,32 @@ ## What is PhysioFit? **PhysioFit is a scientific tool designed to quantify cell growth parameters and uptake & production fluxes** -Fluxes are estimated using various mathematical models by fitting time-course measurements of the concentration of -cells and extracellular substrates and products. PhysioFit v3 includes by default the most common growth models, and -additional models can be implemented by users. +Fluxes are estimated using mathematical models by fitting time-course measurements of the concentration of +cells and extracellular substrates and products. PhysioFit is shipped with some common growth models, and +additional tailor-made models can be implemented by users. -It is one of the routine tools that we use at the [MetaSys team](http://www.lisbp.fr/en/research/molecular-physiology-and-metabolism/metasys.html) -and [MetaToul platform](http://www.metatoul.fr) in functional studies of metabolic systems. +It is one of the routine tools that we use at the [MetaSys team](https://www.toulouse-biotechnology-institute.fr/en/poles/equipe-metasys/) +and [MetaToul platform](https://www.metabohub.fr/home.html) in functional studies of metabolic systems. The code is open-source, and available under a GPLv3 license. Additional information can be found in the following -[publication](https://doi.org/10.1128/aem.00768-19). +[publication](https://doi.org/10.1101/2023.10.12.561695). Detailed documentation can be found online at Read the Docs ([https://physiofit.readthedocs.io/](https://physiofit.readthedocs.io/)). ## Key features + * **calculation of growth rate and extracellular (uptake and production) fluxes**, - * default models for quantifying parameters in steady-state conditions (with and without lag & metabolite degradation - over time), - * **user-defined growth models**, - * Monte-Carlo sensitivity analysis to **estimate the precision of the calculated fluxes**, + * **a set of steady-state and dynamic models** are shipped with PhysioFit, + * **tailor-made models** can be constructed by users, + * Monte-Carlo sensitivity analysis to **estimate the precision on the calculated fluxes**, * **evaluation of the goodness of fit and visual inspection of the fitted curves**, - * shipped as a **library** with both a **graphical** and **command line** interface, - * open-source, free and easy to install everywhere where Python 3 and pip run, + * shipped as a **library** with both a **graphical** and a **command line** interface, + * **open-source, free and easy to install** everywhere where Python 3 and pip run, * **biologist-friendly**. ## Quick-start -PhysioFit requires Python 3.8 or higher and run on all platforms. +PhysioFit requires Python 3.9 or higher and run on all platforms. Please check [the documentation](https://physiofit.readthedocs.io/en/latest/quickstart.html) for complete installation and usage instructions. @@ -44,12 +44,6 @@ Use `pip` to **install PhysioFit from PyPi**: $ pip install physiofit ``` -Use `conda` to install from conda: - -```bash -$ conda install physiofit -c bioconda -``` - Then, start the graphical interface with: ```bash @@ -87,9 +81,9 @@ The PDF documentation can be built locally by replacing `html` by `latexpdf` in the command above. You will need a recent latex installation. ## How to cite -PhysioFit: quantifying cell growth parameters and uptake and production fluxes. +PhysioFit: a software to quantify cell growth parameters and extracellular fluxes. Le Grégam L., Guitton Y., Bellvert F., Jourdan F., Portais J.C., Millard P. -In preparation for publication +bioRxiv preprint, [doi: 10.1101/2023.10.12.561695](https://doi.org/10.1101/2023.10.12.561695) ## Authors Loïc Le Grégam, Pierre Millard From 42bbb70b52232412a9506bc88cce4a3116da7998 Mon Sep 17 00:00:00 2001 From: pierremillard Date: Thu, 26 Oct 2023 22:05:52 +0200 Subject: [PATCH 3/6] add link to doc in GUI --- physiofit/ui/gui.py | 1 + 1 file changed, 1 insertion(+) diff --git a/physiofit/ui/gui.py b/physiofit/ui/gui.py index a0c3a20..9fbe434 100644 --- a/physiofit/ui/gui.py +++ b/physiofit/ui/gui.py @@ -34,6 +34,7 @@ def start_app(self): st.set_page_config(page_title=f"PhysioFit (v{physiofit.__version__})") st.title(f"Welcome to PhysioFit (v{physiofit.__version__})") + st.write("Documentation available at [https://physiofit.readthedocs.io](https://physiofit.readthedocs.io).") self.update_info = st.empty() self.check_uptodate() self.select_menu = st.selectbox( From 6683664920a40465b5347da34b8657962a220af0 Mon Sep 17 00:00:00 2001 From: pierremillard Date: Thu, 26 Oct 2023 22:09:12 +0200 Subject: [PATCH 4/6] update citation in doc --- docs/cite.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/cite.rst b/docs/cite.rst index f474b52..a5f3a98 100644 --- a/docs/cite.rst +++ b/docs/cite.rst @@ -3,8 +3,8 @@ How to cite Thank you for using PhysioFit and citing us in your work! It means a lot to us and encourage us to continue its development. - PhysioFit: quantifying cell growth parameters and uptake and production fluxes. + PhysioFit: a software to quantify cell growth parameters and extracellular fluxes. Le Grégam L., Guitton Y., Bellvert F., Jourdan F., Portais J.C., Millard P. - **doi**: https://doi.org/10.1101/2023.10.12.561695 + bioRxiv preprint, doi: https://doi.org/10.1101/2023.10.12.561695 From e5f70c00d41c0f6e92aa05aa0346aedb28e282d9 Mon Sep 17 00:00:00 2001 From: pierremillard Date: Thu, 26 Oct 2023 22:15:51 +0200 Subject: [PATCH 5/6] update doc --- docs/faq.rst | 2 +- docs/method.rst | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/faq.rst b/docs/faq.rst index 0e21b95..dde06fc 100644 --- a/docs/faq.rst +++ b/docs/faq.rst @@ -76,7 +76,7 @@ The quality of the fit can be evaluated based on: What is a χ² test? ------------------------------------------------------------------ -A χ² test describes how well a model fits a set of observations. Measures of goodness of fit typically summarize the discrepancy between observed values and the values expected under the model used in PhysioFit (see the :doc:`models` section). It is calculated as the sum of differences between measured and simulated values, each squared and divided by the simulated value. +A χ² test describes how well a model fits a set of observations. Measures of goodness of fit typically summarize the discrepancy between observed values and the values expected under the model used in PhysioFit (see the :doc:`method` section). It is calculated as the sum of differences between measured and simulated values, each squared and divided by the simulated value. A good fit corresponds to small differences between measured and simulated values, thereby the χ² value is low. In contrast, a bad fit corresponds to large differences between simulations and measurements, and the χ² value is high. The resulting χ² value can then be compared with a χ² distribution to determine the goodness of fit. The p-value of one-tail χ² test is calculated by PhysioFit from the best fit and is given in the log file (have a look to the :doc:`usage` section). A p-value close to 0 means poor fitting, and a p-value close to 1 means good fitting (keeping in mind that a p-value very close to 1 can be an evidence that standard deviations might be overestimated). A diff --git a/docs/method.rst b/docs/method.rst index 8dd360e..2d0b555 100644 --- a/docs/method.rst +++ b/docs/method.rst @@ -52,8 +52,8 @@ more details on the interpretation of the khi2 test results. Sensitivity analysis ********************* -To determine the precision on the fit and on the estimated parameters (including fluxes), PhysioFit performs a Monte Carlo analysis. Briefly, several -noisy datasets are generated from the simulated dynamics of the best fit (i.e defined in parameter :samp:`number of iterations` of the GUI) and calculate fluxes and other growth +To determine the precision on the fit and on the estimated parameters (including fluxes), PhysioFit performs a Monte Carlo analysis. Briefly, PhysioFit generates several +datasets by adding noise to the dynamics simulated from the best fit, and calculated fluxes and other growth parameters for each of these synthetic datasets. This enables PhysioFit to compute statistics (mean, median, standard deviation and 95% confidence interval) for -each parameter. We recommend always running a sensitivity analysis when using PhysioFit. +each parameter (including fluxes). We recommend always running a sensitivity analysis when using PhysioFit. From 4c505db43249823abe505382d15a23bb6d7813c7 Mon Sep 17 00:00:00 2001 From: pierremillard Date: Thu, 26 Oct 2023 22:20:42 +0200 Subject: [PATCH 6/6] update doc --- docs/models.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/models.rst b/docs/models.rst index fe4ae0d..8c2b47b 100644 --- a/docs/models.rst +++ b/docs/models.rst @@ -1,6 +1,12 @@ Models ========= +Some common flux calculation models are provided with PhysioFit, and users can also build their own models. + +.. note:: We would be happy to broaden the types of models shipped with PhysioFit. If you have developed a new model, it might be + usefull and valuable to the fluxomics community! Please, keep in touch with us to discuss and see if we can include your + model in the built-in models shipped with PhysioFit! :) + Models shipped with PhysioFit ******************************