FTBL format evolution¶
Even if FTBL is no more a front-end format for influx_si
software (it was replaced by MTF to this end), we consider useful to keep track of its evolution during influx_si
development.
Introduction¶
FTBL format was conceived by authors of 13CFlux
software in late 1990’s (cf. https://www.13cflux.net/). At the beginning of 2000’s, 13CFlux
became well spread in scientific community working on metabolism and isotope labeling. When we published the first version of influx_s
in 2011, we adopted FTBL format to avoid cumbersome rewriting of networks and data already in use by the community. Second version of 13CFlux, published in 2012, abandoned FTBL format which was replaced by FluxML (XML) and was accompanied by a tool for automatic conversion of FTBL to FluxML.
On our side, we decided to continue to use FTBL by extending and evolving some of its features till its replacement by MTF (starting from v6.0). These extensions and evolution are presented hereafter for keeping tracks only. This chapter is not necessary for reading to successfully use influx_si
software. Version number in titles indicates when described feature was first introduced to influx_si
.
METABOLITE_POOLS
and METAB_MEASUREMENTS
(v2.0)¶
Sections METABOLITE_POOLS
and METAB_MEASUREMENTS
concerning metabolite pools were added. These sections can be useful for stationary labeling when growth fluxes are modeled with \(\mu M\) terms (cf. Growth flux option) or when some metabolites are confounded in measurements due to cell compartmentation of co-elution during HPLC step or whatever reason. These sections become mandatory for influx_i
usage for instationary labeling as not only fluxes but also metabolite concentrations impact label propagation dynamics.
METABOLITE_POOLS
is structured in two columns named META_NAME
and META_SIZE
and as ussual for FTBL indented and separated by tabulations, e.g.
METABOLITE_POOLS
META_NAME META_SIZE
AKG -0.5
...
Note
The value -0.5
is not aligned with its column name META_SIZE
because by default, tab characters are expanded to 8 spaces. As META_NAME
occupies 9 spaces, META_SIZE
is just shifted to the next tab position. User has to use only one tab character to separate columns even if they don’t look aligned on his screen.
For influx_i
, every internal metabolite (i.e. metabolites present in NETWORK
section and not being input or output metabolites) and participating in carbon exchange must be referenced in this section. The value given in the column META_SIZE
is a metabolite concentration. The unit used for these values must be in accordance with the units used for fluxes. For example, if metabolite concentrations are measured in mM/g then fluxes are supposed to be measured in mM/(g*[time_unit]). If the value is positive then corresponding metabolite is considered as having constant concentration which does not vary during fitting iterations. If the value is negative, then this metabolite concentration will be part of fitted variables and its absolute value is used as a starting value for these iterations.
A final fitted value will be expressed as a positive number.
For influx_s
, this section is optional and only few (not all) internal metabolites can be present in this section.
METAB_MEASUREMENTS
section regroups measurements of internal metabolite concentrations. Input and output metabolites may have concentrations varying during an experiment as they are consumed or produced. So they cannot appear in this section. METAB_MEASUREMENTS
section has 3 columns: META_NAME
, VALUE
and DEVIATION
, e.g.
METAB_MEASUREMENTS
META_NAME VALUE DEVIATION
Fru6P 0.43 0.01
...
Column names are self explanatory.
In case of confounded measurements, confounded metabolites can be given as a sum, e.g.
METAB_MEASUREMENTS
META_NAME VALUE DEVIATION
R5P_c+R5P_m 0.32 0.01
...
In this case, the value 0.32
will be fitted by a sum of simulated metabolite concentrations.
Long reactions (v4.0)¶
Initially, FTBL admitted no more than 2 metabolites on each side of reactions put in NETWORK
section. We had to overcome this limit to facilitate FTBL creation for studies including reactions much longer than that. Now, chemical reaction having more than two metabolites on any side can be split in several sub-reactions, each of which has no more then 2 metabolites on every side. It is important that all sub-reactions be put together one after another and that they have the same name. Based on this name, influx_si
will assemble all parts in one reaction. E.g. a reaction named Val_syn
Val_syn: Pyr (abc) + Pyr (def) + Glu (ghijk) + NADPH -> Val (abcef) + CO2 (d) + AKG (ghijk)
can be translated into FTBL format as
NETWORK
FLUX_NAME EDUCT_1 EDUCT_2 PRODUCT_1 PRODUCT_2
Val_syn Pyr Pyr Val CO2
#abc #def #abcef #d
Val_syn Glu NADPH AKG
#ghijk # #ghijk
If some reactions have the same name but not placed sequentially one after another, it will be signaled as an error.
Cofactors (v4.0)¶
Here, we call cofactors metabolites that does not participate in carbon transfer from one or several molecules to another. The main interest of entering cofactors in carbon transferring reactions is additional balance equations that we can put in stoechiometric system. Thus the number of free fluxes is diminished and fluxes are constrained to more realistic values, not violating cofactor balances.
To indicate that a metabolite is a cofactor, user can simply put an empty carbon string in the corresponding carbon transferring line. For example, a reaction
v8: PEP (abc) -> Pyr (abc) + ATP
can be translated into FTBL as
NETWORK
FLUX_NAME EDUCT_1 EDUCT_2 PRODUCT_1 PRODUCT_2
v8 PEP Pyr ATP
#abc #abc #
Note an empty carbon string #
at the place corresponding to ATP
.
An important difference between cofactors and other metabolites that the former are allowed to have stoechiometric coefficients different from 1. These coefficients must be separated from cofactors by *
sign, e.g. a reaction
v41: Asp (abcd) + 2 ATP + NH3 -> Asn (abcd)
can be translated into FTBL as
NETWORK
FLUX_NAME EDUCT_1 EDUCT_2 PRODUCT_1 PRODUCT_2
v41 Asp 2*ATP Asn
#abcd # #abcd
v41 NH3
#
Note the presence of 2*ATP
term.
Same metabolite on both sides of reaction (v4.0)¶
In some particular cases, it can be necessary to have a same metabolite on both sides of reaction. Let us illustrate this situation with the following example:
v71: CO2.unlabeled (a) + CO2 (b) -> CO2 (a) + CO2.out (b)
Metabolite CO2 is present on both sides of reaction but its carbon atom is not the same. This is the main reason for introducing this feature, to allow tracer rearrangement. In FTBL, it gives
NETWORK
FLUX_NAME EDUCT_1 EDUCT_2 PRODUCT_1 PRODUCT_2
v71 CO2.unlabeled CO2 CO2 CO2.out
#a #b #a #b
Section NOTRACER_NETWORK
(v4.0)¶
In addition to reactions with carbon rearrangements, it can be useful to add reactions with no carbon transfer. The most known reaction of such type is biomass composition but it can there be others, e.g. involving exclusively cofactors:
v61: NADH + 0.5 O2 -> 2 ATP
This optional section is structured in 2 columns: FLUX_NAME
and EQUATION
:
NOTRACER_NETWORK
FLUX_NAME EQUATION
v61 NADH+0.5*O2 = 2*ATP
You can see that the reaction is written in a manner very different form NETWORK
section. Its sides are separated by =
sign, metabolites are separated by +
and they can have stoechiometric coefficients separated by *
symbol. It is not visible in this example, but there can be as many metabolites as desired on each side of reaction. The limit “no more than 2 metabolites by side” proper to NETWORK
section does not apply here.
Sub-sections EQUALITY/METAB
and INEQUALITY/METAB
(v2.11)¶
In the same manner as for fluxes, user can have to constrain variable metabolite concentrations. Constraints can be by equalities and inequalities. These subsections are organized in the same way as for fluxes. In EQUALITY/METAB
there are 2 columns VALUE
and FORMULA
while in INEQUALITY/METAB
there are 3 of them: VALUE
, COMP
and FORMULA
. For example,
EQUALITIES
METAB
VALUE FORMULA
0 R5P - 1.5*X5P
...
INEQUALITIES
METAB
VALUE COMP FORMULA
0.001 <= PEP
10 >= PEP
...
NA
in measurements (v2.5)¶
Missing values marked as NA
are admitted in measurement sections, in columns designated to values. In contrast, they are not admitted in columns designated to standard deviations. The main difference between a measurement just omitted and those marked as NA
is that the latter will be simulated and reported in corresponding simulation sections of the result file.
This feature can be useful for preliminary simulations when there is no yet data available but user want to know e.g. if fluxes of interest will be well determined or not based on a supposed set of measurements. In this case, all presumed data can be set to NA
(but not their SD).
Optimization control parameters (v5.3)¶
Optimization method(s) can be tuned by control parameters that can be put in OPTIONS
section. The format of those fields has changed. Before, the field names were looking like optctrl_maxit
i.e. a prefix optctrl_
followed by a parameter name, here maxit
. Starting from v5.3, they look like optctrl:nlsic:maxit
i.e. a prefix optctrl
followed by a method name (here nlsic
) and ended by parameter name, like maxit
, all 3 separated by colon :
. This new format allows tuning parameters for multiple optimization methods simultaneously. It became necessary, as starting from v5.3, several optimization methods can be used successively in one influx_si
run. More about parameters can be found in the section Optimization options.