changeset 0:198d81ccc75e draft

planemo upload for repository https://github.com/MetaSys-LISBP/PhysioFit commit 188d100128db10dde9bac0bb6c6c60e6946508a1
author workflow4metabolomics
date Fri, 28 Oct 2022 10:25:15 +0000
parents
children 52dddad92226
files physiofit.xml test-data/KEIO_ROBOT6_1.tsv test-data/flux_results.tsv
diffstat 3 files changed, 265 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/physiofit.xml	Fri Oct 28 10:25:15 2022 +0000
@@ -0,0 +1,241 @@
+<tool id='physiofit' name='PhysioFit' profile='21.09' version='@TOOL_VERSION@+galaxy0' python_template_version='3.5'>
+    <description>Extracellular flux analysis</description>
+    <macros>
+        <token name="@TOOL_VERSION@">2.1.0</token>
+    </macros>
+    <requirements>
+        <requirement type='package' version='@TOOL_VERSION@'>physiofit4galaxy</requirement>
+    </requirements>
+    <command detect_errors='exit_code'><![CDATA[
+
+    physiofit4galaxy --galaxy
+
+    #if $input_selection.input_selector == 'tsv':
+        --data '$input_selection.datafile'
+    #end if
+
+    #if $input_selection.input_selector == 'json':
+        --data '$input_selection.datafile'
+        --config '$input_selection.cfgfile'
+    #end if
+
+
+    #if $basic_settings.lag:
+        -l
+    #end if
+
+    #if $basic_settings.deg_select.deg == 'Yes':
+        -d '$basic_setting.degconsts'
+    #end if
+
+    #if $basic_settings.mc_select.montecarlo == 'Yes':
+        -mc '$basic_settings.mc_select.iters'
+    #end if
+
+    --vini '$advanced_settings.vini'
+
+    #if $advanced_settings.sd_select.sd == 'Yes':
+        -s '$advanced_settings.sd_select.stddevs'
+    #end if
+
+    #if $advanced_settings.cm_select.cm == 'Yes':
+        -cm '$advanced_settings.cm_select.conc_met_bounds'
+    #end if
+
+    #if $advanced_settings.fm_select.fm == 'Yes':
+        -fm '$advanced_settings.fm_select.flux_met_bounds'
+    #end if
+
+    #if $advanced_settings.cb_select.cb == 'Yes':
+        -cb '$advanced_settings.cb_select.conc_biom_bounds'
+    #end if
+
+    #if $advanced_settings.fb_select.fb == 'Yes':
+        -fb '$advanced_settings.fb_select.flux_biom_bounds'
+    #end if
+
+    #if $advanced_settings.verbose:
+        -v
+    #end if
+
+    -op '$plots' -of '$fluxes' -os '$stats' -oc '$config'
+
+    ]]></command>
+    <inputs>
+
+        <conditional name='input_selection'>
+            <param name='input_selector' type='select' label='Choose the input data type to upload (tsv or json config file. For more information please check the documentation'>
+                <option value='tsv'>tsv file</option>
+                <option value='json'>config file (json)</option>
+            </param>
+            <when value='tsv'>
+                <param name='datafile' type='data' format='tabular, txt' multiple='true' label='Upload data file containing biomass and concentration values'/>
+            </when>
+            <when value='json'>
+                <param name='datafile' type='data' format='tabular, txt' multiple='true' label='Upload data file containing biomass and concentration values'/>
+                <param name='cfgfile' type='data' format='json' label='Upload configuration file' />
+            </when>
+        </conditional>
+
+
+        <section name='basic_settings' title='Basic Settings'>
+
+            <param name='lag' type='boolean' argument='--lag' truevalue='-l' falsevalue='' label='Flag to estimate lag phase'/>
+
+            <conditional name='deg_select'>
+                <param name='deg' type='select' label='Select yes to add degradation constants'>
+                    <option value='No'>No</option>
+                    <option value='Yes'>Yes</option>
+                </param>
+                <when value='Yes'>
+                    <param type='text' name='degconsts' value='{}' label='Enter degradation constants in dictionary format (see docs for more information)'/>
+                </when>
+            </conditional>
+
+            <conditional name='mc_select'>
+                <param name='montecarlo' type='select' label='Select yes for sensitivity analysis'>
+                    <option value='Yes'>Yes</option>
+                    <option value='No'>No</option>
+                </param>
+                <when value='Yes'>
+                    <param name='iters' type='integer' value='100' label='Number of iterations for sensitivity analysis'/>
+                </when>
+            </conditional>
+
+        </section>
+
+
+        <section name='advanced_settings' title='Advanced Settings'>
+
+            <param name='vini' type='float' value='1' label='Initial value for fluxes to estimate' />
+
+            <conditional name='sd_select'>
+                <param name='sd' type='select' label='Select yes to add standard deviations'>
+                    <option value='No'>No</option>
+                    <option value='Yes'>Yes</option>
+                </param>
+                <when value='Yes'>
+                    <param name='stddevs' type='text' value='{}' label='Standard deviation on measurements. Give SDs in dictionary format (see docs for more information)' />
+                </when>
+            </conditional>
+
+            <conditional name='cm_select'>
+                <param name='cm' type='select' label='Flag to add bounds on metabolite concentrations'>
+                    <option value='No'>No</option>
+                    <option value='Yes'>Yes</option>
+                </param>
+                <when value='Yes'>
+                    <param name='conc_met_bounds' type='text' value='()' label='Bounds on metabolite concentrations. Bounds should be given in tuple format (see docs for more information)' />
+                </when>
+            </conditional>
+
+            <conditional name='fm_select'>
+                <param name='fm' type='select' label='Select yes to add bounds on metabolite fluxes'>
+                    <option value='No'>No</option>
+                    <option value='Yes'>Yes</option>
+                </param>
+                <when value='Yes'>
+                    <param name='flux_met_bounds' type='text' value='()' label='Bounds on metabolite fluxes. Bounds should be given in tuple format (see docs for more information)' />
+                </when>
+            </conditional>
+
+            <conditional name='cb_select'>
+                <param name='cb' type='select' label='Select yes to add bounds on biomass concentrations'>
+                    <option value='No'>No</option>
+                    <option value='Yes'>Yes</option>
+                </param>
+                <when value='Yes'>
+                    <param name='conc_biom_bounds' type='text' value='()' label='Bounds on biomass concentrations. Bounds should be given in tuple format (see docs for more information)' />
+                </when>
+            </conditional>
+
+            <conditional name='fb_select'>
+                <param name='fb' type='select' label='Select yes to add bounds on biomass fluxes'>
+                    <option value='No'>No</option>
+                    <option value='Yes'>Yes</option>
+                </param>
+                <when value='Yes'>
+                    <param name='flux_biom_bounds' type='text' value='()' label='Bounds on biomass fluxes. Bounds should be given in tuple format (see docs for more information)' />
+                </when>
+            </conditional>
+
+            <param name='verbose' type='boolean' argument='--verbose' truevalue='-v' falsevalue='' label='Flag to get debug information'/>
+
+        </section>
+
+    </inputs>
+
+    <outputs>
+    <data name='plots' label='Plots' format='pdf'/>
+    <data name='fluxes' label='Flux_results' format='tabular'/>
+    <data name='stats' label='Stat_results' format='tabular'/>
+    <data name='config' label='Config_file' format='json'/>
+    </outputs>
+
+    <tests>
+        <test>
+            <param name='input_selection|input_selector' value='tsv' />
+            <param name='input_selection|datafile' value='KEIO_ROBOT6_1.tsv' />
+            <section name='basic_settings'>
+                <param name='lag' value='No'/>
+                <param name='deg_select|deg' value='No'/>
+                <param name='mc_select|montecarlo' value='Yes'/>
+            </section>
+            <section name='advanced_settings'>
+                <param name='vini' value='1'/>
+                <param name='sd_select|sd' value='No'/>
+                <param name='cm_select|cm' value='No'/>
+                <param name='fm_select|fm' value='No'/>
+                <param name='cb_select|cb' value='No'/>
+                <param name='fb_select|fb' value='No'/>
+                <param name='verbose' value='No'/>
+            </section>
+            <output name='fluxes'>
+                <assert_contents>
+                    <has_n_columns n='7'/>
+                    <has_n_lines n='7'/>
+                    <has_size value='767' delta='20'/>
+                </assert_contents>
+            </output>
+        </test>
+    </tests>
+
+    <help><![CDATA[
+.. class:: warningmark
+
+**PhysioFit is a scientific tool designed to i) quantify exchange (production and consumption) fluxes and ii) cell growth
+rate during (batch) cultivations of microorganisms.**
+
+Fluxes are estimated from time-course measurements of extracellular metabolites and biomass concentrations. PhysioFit has been designed to
+calculate fluxes in batch experiments, assuming cells are in metabolic (pseudo) steady-state (i.e. fluxes are constant during the experiment).
+
+**PhysioFit includes the following features:**
+
+   * **calculation of growth rate and extracellular (uptake and production) fluxes**.
+   * if cell growth has some **lag** (e.g. due to adaptation to a novel environment), lag can be taken into account and lag time estimated.
+   * **non-enzymatic degradation** of some metabolites (e.g. DHA or glutamine) can be estimated and taken into account when calculating fluxes.
+   * sensitivity analyses are performed to **estimate the precision of 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,
+   * biologist-friendly.
+
+It is one of the routine tools that we use at the MetaSys team and `MetaToul platform <http://www.metatoul.fr>`_ to calculate fluxes.
+
+The code is open-source, and available on `GitHub <https://github.com/MetaSys-LISBP/PhysioFit/>`_ under a GPLv3 license.
+
+We strongly encourage you to read the `documentation <https://physiofit.readthedocs.io/en/latest/>`_ before using PhysioFit.
+
+    ]]></help>
+    <citations>
+        <citation type='bibtex'>
+    @misc{githubphysiofit,
+      author = {Le Gregam, Loic},
+      year = {2022},
+      title = {PhysioFit},
+      publisher = {Peiro et al.},
+      journal = {Appl Environ Microbiol},
+      url = {https://journals.asm.org/doi/10.1128/AEM.00768-19},
+    }</citation>
+        </citations>
+</tool>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/KEIO_ROBOT6_1.tsv	Fri Oct 28 10:25:15 2022 +0000
@@ -0,0 +1,17 @@
+time	X	Glc	Ace
+1.69472222222222	6.1992000000000005E-2	NA	NA
+2.3002777777777799	8.6184000000000011E-2	NA	NA
+2.6983333333333301	0.11037599999999999	NA	NA
+3.43611111111111	0.17841599999999999	NA	NA
+3.8211111111111098	0.20865600000000001	NA	NA
+4.2011111111111097	0.3024	NA	NA
+4.5980555555555496	0.378	NA	NA
+4.9950000000000001	0.54583199999999998	NA	NA
+5.3752777777777796	0.60933599999999999	NA	NA
+1.35	NA	13.6276813815462	0.216958848225059
+1.91666666666667	NA	13.5792133323062	0.371914222400848
+2.86666666666667	NA	12.6200457520069	0.707537683463011
+4	NA	11.2499817544224	1.46436775470691
+4.8	NA	9.36560347817446	2.13574936032777
+5.18333333333333	NA	8.20020915137498	2.54657962639804
+5.58333333333333	NA	6.55172432249331	2.88518116059672
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/flux_results.tsv	Fri Oct 28 10:25:15 2022 +0000
@@ -0,0 +1,7 @@
+	optimal	mean	sd	median	CI_2.5	CI_97.5
+X_0	0.019837910042084236	0.020055047719088507	0.001936242015519126	0.020181433524903817	0.016385933648857588	0.023991705722000656
+mu	0.6448503161617235	0.6442401851491355	0.019838552319737378	0.6422759597671867	0.6055123753172559	0.6830180317435467
+Glc_q	-6.7962941185743135	-6.774793454329362	0.39318776265927613	-6.801632529773193	-7.486259488979566	-6.0294828984301505
+Glc_M0	13.890941548678349	13.881503136428412	0.2268604387133866	13.89390411710686	13.42167220505119	14.364675598831429
+Ace_q	2.574083305172119	2.5516892907444007	0.34218910204223774	2.5706434692350855	1.8525815217489552	3.109731754802952
+Ace_M0	0.28632420734796105	0.28673563941751923	0.17207412150016024	0.2778487391600317	1e-06	0.6251737133158014