Installation¶
The software was developed on Linux but can be used both on Linux (or other UNIX, MacOS included) and Windows platforms.
Note
The code examples here after are given for Unix shell environment. On Windows, in PowerShell or DOS environment the syntax is often similar and in cygwin or Ubuntu environment (Unix tools on Windows) the syntax is identical to the Unix’s one.
Note
In command examples to run, we use script names with extension .py. However, starting from version 5.0.3, this extension can be omitted as all Python scripts are doubled with executable files without ‘.py’. For example, commands:
$ influx_s.py --prefix e_coli
and
$ influx_s --prefix e_coli
are now equivalent. Even if it works on all platforms, it can be particularly useful for Windows, where supplementary effort can be required to associate .py
file with Python interpreter. Using executable programs (i.e. without .py
extension) makes this extra configuration step no more mandatory.
Installation with conda
¶
If you have Anaconda or Miniconda installed on your system, installation of influx_si
resumes to:
$ conda install influx_si -c conda-forge -c bioconda
It installs influx_si
itself as well as all needed dependencies both in Python and in R.
Installation with pip
¶
If you don’t have any version of conda
(neither miniconda
nor Anaconda
) but do have a Python and R installed on your system, you can install influx_si
with the following procedure.
You need a python tool called pip
which manages pure python packages. If it is not present on your system, you’ll have to install it first to continue with this method. If you have multiple Python versions installed on your system (e.g. Python2 and Python3) you’ll have to use pip3
to install the software in the Python3 universe.
The first step will install only Python part of influx_si
:
$ pip3 install influx_si
or
$ pip3 install --user influx_si
if you wish to install influx_si
not system-wide but only in your own userspace.
To use the software influx_si
, you’ll need some R dependencies listed below. You can try to install them by:
$ influx_s.py --install_rdep
If this procedure fails, you’ll have to solve the underlying problem identified from its error messages and rerun the command again.
R dependencies¶
As of influx_si version 5.0, user has not to install R dependencies manually from an R session. So they are listed here just for information.
R-3.4.0 or higher (cf http://www.r-project.org/ or your system packaging solution) + the following packages.
nnls
rmumps (5.2.1-6 or higher)
arrApply
slam
limSolve (optional, needed only for
--lim
option)multbxxc
Warning
As of this writing (September 17, 2014), an R package nnls
distributed in precompiled form on Windows platform, can produce wrong results if a 32 bits version is used on Windows 64 bits. To avoid this, use 64 bit version of R on Windows 64 bits or recompile it by hand. To be sure to use 64 bits version of R, check that the Path
system variable has the R path ending by \bin\x64
and not just by \bin
.
Python dependencies¶
As of influx_si version 5.0, user has not to install Python dependencies manually. So they are listed here just for information.
python 3.6 (or higher) and modules
scipy
libsbml (optional, needed for
ftbl2metxml.py
)
Test of installation¶
Open a shell window and get to your working directory. Copy the distributed test directory to the current directory by running
$ influx_s.py --copy_test
then you can get in the newly created directory test
and run some tests:
$ cd test/mtf $ influx_s.py --prefix e_coli
If everything was correctly installed, you should see in your shell window an output looking like:
code gen: 2022-05-25 12:10:53
calcul : 2022-05-25 12:10:53
end : 2022-05-25 12:10:55
The meaning of this output is quit simple. First, an R code is generated from input MTF files (cf. MTF format for more details) then it is executed till it ends. Time moments at which these three events occur are reported.
The calculation result will be written in directory e_coli_res
.
It should be almost identical to the same directory in ok/mtf
subdirectory.
On Unix you can do for example
$ diff e_coli_res/e_coli.tvar.sim ../ok/mtf/e_coli_res/e_coli.tvar.sim
to see if there is any difference in estimated fluxes. Some small differences in numerical values can be ok. They might come from variations in versions of R and underlying numerical libraries (BLAS, LAPACK and so on).
If something went wrong, check the error messages in e_coli.err
,
interpret them, try to figure out why the errors occurred and correct them.
In high throughput context, you can find it useful to run influx_si
in parallel on many independent MTF sets. It can be done by providing more than one --prefix
options. For example, with two of cases provided with the package you can run:
$ influx_s.py --prefix e_coli --prefix e_coli_growth
In this case, the output looks sightly different than in one by one run:
e_coli_growth: code gen: 2022-05-25 14:44:56
e_coli: code gen: 2022-05-25 14:44:56
//calcul: 2022-05-25 14:44:57
//end : 2022-05-25 14:44:58
The time moments for code generation is preceded by a short version of file names. The symbol //
means parallel proceeding. Parallel calculations are launched after all files are proceeded for the code generation.
It is the operating system that dispatches and equilibrates the charge
among available CPUs and cores, not influx_si
who simply launches these processes.
One of the main interest of MTF format introduced in v6.0 is an ability to multiplex constant and variable parts of information describing a set of experiments. In this case, many calculations can run in parallel on inter-dependent input files, cf. .vmtf
description in MTF format.
For a quick test of influx_i
, you can run in the same directory:
$ influx_i.py --prefix e_coli_i
Normal output looks like
code gen: 2022-05-25 14:50:51
calcul : 2022-05-25 14:50:52
end : 2022-05-25 14:51:02
Calculation results are written in e_coli_i_res
directory and they can be compared with the sames files in the ../ok/mtf/e_coli_i_re
sub-directory. You can also visually check a generated graphic file e_coli_i_res/e_coli_i.pdf
to see if all simulated label kinetics based on estimated fluxes and metabolite concentrations are close to experimental data.
Installation of documentation¶
influx_si
is distributed with its documentation. To get it locally accessible from your personal disk space, you can run:
$ influx_s.py --copy_doc
It will create a subdirectory doc
in the current directory. This subdirectory contains influx_si.pdf
, all-in-one documentation file but also an html
subdirectory with the documentation viewable in your preferred browser.
The documentation is also available on-line.
For a quick reminder of available options, launch
$ influx_s.py --help
or
$ influx_i.py --help
depending on what context you want to treat: stationary or instationary labeling.
For more detailed documentation, read User’s manual.