Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

influx_si v7.0.1_1 #255

Merged
merged 10 commits into from
Dec 13, 2023
Merged
Show file tree
Hide file tree
Changes from 8 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 10 additions & 7 deletions tools/influx_si/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,22 @@
Metabolic flux estimation
-------------------------

`influx_si` can be used for metabolic flux estimation based on labeling data from MS and/or NMR measurements. `influx_s` is used for stationary labeling and `influx_i` for instationary one (hence the '_s' and '_i' in the names). Tha name `influx_si` is used as common for both tools.
`influx_si` can be used for estimation of metabolic fluxes and concentrations based on labeling data from MS and/or NMR measurements. `influx_s` is used for stationary labeling and `influx_i` for instationary one (hence the '_s' and '_i' in the names). The name `influx_si` is used as common for both tools.

The input for `influx_si` in one or several FTBL files, each describing a given labeling experiment and options to use during estimation. In addition, for `influx_i` a file with time course data has to be provided for each FTBL file.
The input for `influx_si` is an MTF (Multiple TSV Files) collection describing metabolic network, label transition, labeling data and options to use during estimation.

The output is a zip archive with files generated by `influx_si`. Among the most important is file ending with `_res.kvh` which contains the main information about estimated parameters, their statistics and so on.
If, in your FTBL file, you have requested ploting information, it can be found in respective .pdf file.
The output is a zip archive with files generated by `influx_si`. File ending with `.tvar.sim` which contains the estimated fluxes and concentrations. Other files ending with `.sim` contain simulated measurements. File ending with `.stat` has results of chi2 test assessing quality of fit.

For detailed documentation about `influx_si` and accompanying tools see https://metasys.insa-toulouse.fr/software/influx/doc/
If, in your `.opt` file, you have requested plotting information (`plot_smeas.R` or `plot_ilab.R`), it can be found in the respective `.pdf` file.

For getting a standalone version of `influx_si` see https://metasys.insa-toulouse.fr/software/influx/
For detailed documentation about `influx_si` and accompanying tools see https://influx-si.readthedocs.io

For getting a standalone version of `influx_si <https://anaconda.org/bioconda/influx_si>`_, you can install it e.g. with `conda <https://docs.conda.io/en/latest/miniconda.html>`_ package manager: ::

conda install -c conda-forge -c bioconda influx_si

Author: Serguei Sokol
sgsokol marked this conversation as resolved.
Show resolved Hide resolved

License: GPL2

© INRAE 2020
© INRAE/INSA/CNRS 2023
296 changes: 68 additions & 228 deletions tools/influx_si/influx_si.xml

Large diffs are not rendered by default.

154 changes: 154 additions & 0 deletions tools/influx_si/macros.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,154 @@
<?xml version="1.0"?>
<macros>
<token name="@TOOL_VERSION@">7.0.1</token>
<token name="@VERSION_SUFFIX@">1</token>
<token name="@COMMAND_OPT@"><![CDATA[
$noopt
$noscale
$fullsys
$emu
$irand
$ln
$sln
$tikhreg
$lim
$ffguess
$nocalc
$addnoise
$TIMEIT
$prof
#if $opt.meth:
--meth='$opt.meth'
#end if
#if $opt.sens:
--sens='$opt.sens'
#end if
#if $opt.cupx:
--cupx='$opt.cupx'
#end if
#if $opt.cupn:
--cupn='$opt.cupn'
#end if
#if $opt.cupp:
--cupp='$opt.cupp'
#end if
#if $opt.clownr:
--clownr='$opt.clownr'
#end if
#if $opt.cinout:
--cinout='$opt.cinout'
#end if
#if $opt.clowp:
--clowp='$opt.clowp'
#end if
#if $opt.np:
--np='$opt.np'
#end if
#if $opt.zc:
--zc='$opt.zc'
#end if
#if $opt.fseries:
--fseries='$opt.fseries'
#end if
#if $opt.iseries:
--iseries='$opt.iseries'
#end if
#if $opt.seed:
--seed='$opt.seed'
#end if
#if $opt.excl_outliers:
--excl_outliers $opt.excl_outliers
#end if
#if $opt.tblimit:
--tblimit='$opt.tblimit'
#end if
]]>
</token>
<token name="@MTF_OPT@"><![CDATA[
#if $opt.mtf:
--mtf '$opt.mtf'
#end if
]]>
</token>
<xml name="inputs">
<inputs>
<param type="data" format="zip" name="input_main" multiple="true" label="At least one MTF collection (.netw, .miso, ...)"/>
<conditional name="si">
sgsokol marked this conversation as resolved.
Show resolved Hide resolved
<param name="s_i" type="select" label="labeling type" display="radio">
<option value="s">stationary</option>
<option value="i">instationary</option>
</param>
<when value="s"/>
<when value="i">
<param argument="--time_order" type="select" display="radio" label="Time order for ODE solving" help="Order 2 is more precise but more time consuming than order 1. The value &#x27;1,2&#x27; makes to start solving the ODE with the first order scheme then continues with the order 2.">
<option value="None">From .opt file or Default</option>
<option value="1">1 (Default)</option>
<option value="2">2</option>
<option value="1,2">1,2</option>
</param>
</when>
</conditional>
<section name="opt" title="Advanced Options" expanded="false">
<param argument="--noopt" type="boolean" checked="false" truevalue="--noopt" falsevalue="" label="--noopt" help="no optimization, just use free parameters as is (after a projection on feasibility domain), to calculate dependent fluxes, cumomers, stats and so on" />
<param argument="--noscale" type="boolean" checked="false" truevalue="--noscale" falsevalue="" label="--noscale" help="no scaling factors to optimize =&gt; all scaling factors are assumed to be 1" />
<param argument="--fullsys" type="boolean" checked="false" truevalue="--fullsys" falsevalue="" label="--fullsys" help="calculate all cumomer set (not just the reduced one necessary to simulate measurements)" />
<param argument="--emu" type="boolean" checked="false" truevalue="--emu" falsevalue="" label="--emu" help="simulate labeling in EMU approach" />
<param argument="--irand" type="boolean" checked="false" truevalue="--irand" falsevalue="" label="--irand" help="ignore initial approximation for free parameters (free fluxes and metabolite concentrations) from the FTBL file or from a dedicated file (cf --fseries and --iseries option) and use random values drawn uniformly from [0,1] interval" />
<param argument="--ln" type="boolean" checked="false" truevalue="--ln" falsevalue="" label="--ln" help="Least norm solution is used for increments during the non-linear iterations when Jacobian is rank deficient" />
<param argument="--sln" type="boolean" checked="false" truevalue="--sln" falsevalue="" label="--sln" help="Least norm of the solution of linearized problem (and not just of increments) is used when Jacobian is rank deficient" />
<param argument="--tikhreg" type="boolean" checked="false" truevalue="--tikhreg" falsevalue="" label="--tikhreg" help="Approximate least norm solution is used for increments during the non-linear iterations when Jacobian is rank deficient" />
<param argument="--lim" type="boolean" checked="false" truevalue="--lim" falsevalue="" label="--lim" help="The same as --ln but with a function limSolve::lsei()" />
<param argument="--ffguess" type="boolean" checked="false" truevalue="--ffguess" falsevalue="" label="--ffguess" help="Don&#x27;t use free/dependent flux definitions from FTBL file(s). Make an automatic guess." />
<param argument="--nocalc" type="boolean" checked="false" truevalue="--nocalc" falsevalue="" label="--nocalc" help="generate an R code but not execute it." />
<param argument="--addnoise" type="boolean" checked="false" truevalue="--addnoise" falsevalue="" label="--addnoise" help="Add centered gaussian noise to simulated measurements written to _res.kvh file. SD of this noise is taken from FTBL file" />
<param argument="--TIMEIT" type="boolean" checked="false" truevalue="--TIMEIT" falsevalue="" label="--TIMEIT" help="developer option: measure cpu time or not" />
<param argument="--prof" type="boolean" checked="false" truevalue="--prof" falsevalue="" label="--prof" help="developer option: do time profiling or not" />

<param argument="--meth" type="select" label="--meth" optional="true" help="method for optimization, one of nlsic|BFGS|Nelder-Mead|pso. Default: nlsic">
<option value="BFGS">BFGS</option>
<option value="Nelder-Mead">Nelder-Mead</option>
<option value="nlsic">nlsic</option>
<option value="pso">pso</option>
</param>
<param argument="--sens" type="text" value="" label="--sens" optional="true" help="sensitivity method: SENS can be &#x27;mc[=N]&#x27;, mc stands for Monte-Carlo. N is an optional number of Monte-Carlo simulations. Default for N: 10" />
<param argument="--cupx" type="float" min="0" max="1" value="" label="--cupx" optional="true" help="upper limit for reverse fluxes. Must be in interval [0, 1]. Default: 0.999" />
<param argument="--cupn" type="float" min="0" value="" label="--cupn" optional="true" help="absolute limit for net fluxes: -cupn &lt;= netflux &lt;= cupn. Must be non negative. Value 0 means no limit. Default: 1.e3" />
<param argument="--cupp" type="float" min="0" value="" label="--cupp" optional="true" help="upper limit for metabolite pool. Default: 1.e5" />
<param argument="--clownr" type="float" min="0" value="" label="--clownr" optional="true" help="lower limit for not reversible free and dependent fluxes. Zero value (default) means no lower limit" />
<param argument="--cinout" type="float" min="0" value="" label="--cinout" optional="true" help="lower limit for input/output free and dependent fluxes. Must be non negative. Default: 0" />
<param argument="--clowp" type="float" min="0" value="" label="--clowp" optional="true" help="lower limit for free metabolite pools. Must be positive. Default 1.e-8" />
<param argument="--np" type="float" min="0" value="" label="--np" optional="true" help="When integer &gt;= 1, it is a number of parallel subprocesses used in Monte-Carlo (MC) simulations or for multiple FTBL inputs. When NP is a float number between 0 and 1, it gives a fraction of available cores (rounded to closest integer) to be used. Without this option or for NP=0, all available cores in a given node are used for MC simulations." />
<param argument="--zc" type="float" min="0" value="" label="--zc" optional="true" help="Apply zero crossing strategy with non negative threshold for net fluxes" />
<param argument="--fseries" type="text" value="" label="--fseries" optional="true" help="File name with free parameter values for multiple starting points. Default: &#x27;&#x27; (empty, i.e. only one starting point from the FTBL file is used)" />
<param argument="--iseries" type="text" value="" label="--iseries" optional="true" help="Indexes of starting points to use. Format: &#x27;1:10&#x27; -- use only first ten starting points; &#x27;1,3&#x27; -- use the the first and third starting points; &#x27;1:10,15,91:100&#x27; -- a mix of both formats is allowed. Default: &#x27;&#x27; (empty, i.e. all provided starting points are used)" />
<param argument="--seed" type="integer" min="0" value="" label="--seed" optional="true" help="Integer (preferably a prime integer) used for reproducible random number generating. It makes reproducible random starting points (--irand) but also Monte-Carlo simulations for sensitivity analysis. Default: none, i.e. current system value is used, so random drawing will be varying at each run." />
<param argument="--excl_outliers" type="float" min="0" max="1" value="" label="--excl_outliers" optional="true" help="This option takes an optional argument, a p-value between 0 and 1 which is used to filter out measurement outliers. The filtering is based on Z statistics calculated on reduced residual distribution. Default: 0.01." />
<param argument="--tblimit" type="integer" min="0" value="0" label="--tblimit" optional="true" help="developer option: set trace back limit for python error messages" />
<param argument="--mtf" type="text" value="" label="--mtf MTF" optional="true" help="MTF is a coma separated list of files with following extensions: netw, linp, miso, mflux, mmet, tvar, cnstr, ftbl, vmtf. Only first 3 files are necessary to obtain a workable FTBL file, others are optional."/>
</section>
</inputs>
</xml>
<xml name="help">
<help><![CDATA[
Select one or several zip archives with MTF (Multiple TSV Files) sets, stationary/instationary labeling type and possibly some advanced option to run the tool.

Detailed documentation is available on https://influx-si.readthedocs.io
]]>
</help>
</xml>
<xml name="citation">
<citations>
<citation type="bibtex">
@misc{githubinflux,
author = {Sokol, Serguei},
year = {2023},
title = {influx_s},
publisher = {GitHub},
journal = {GitHub repository},
url = {https://github.com/sgsokol/influx},
}
</citation>
<citation type="doi">10.1093/bioinformatics/btr716</citation>
</citations>
</xml>
</macros>
Loading