Flux-balance-based (called also constraint-based) methods allow to compute reaction flux values that optimize a biological function. Read
this paper to understand the theoretical basis of the approach.

MetExplore flux functions have been implemented thanks to the FlexFlux Java library.
# Common features to flux analyses

## Metabolic network requirements

## Metabolic network preprocessing

## Common parameters

# Flux Balance Analysis (FBA)

# Flux Variability Analysis (FVA)

# Knock-out analysis

# Dead reactions

# Orphan metabolites

MetExplore flux functions have been implemented thanks to the FlexFlux Java library.

For being able to use flux analyses, the current metabolic network must have been designed for Flux Balance Analysis. Otherwise, the analyzes will not
work or give results without any sense.

Some of these networks can be found in MetExplore, but you can also import any SBML file (if
it is properly formatted) containing a metabolic model built to perform flux analysis. The main sources of SBML files suitable for flux analysis are:
are:

For FBA, FVA and KO analysis, a preprocessing of the metabolic network is done: all dead reactions are first removed. This means that if you select a dead reaction as objective function, the function will return an error.

**Objective reactions:**a set of reactions for which the linear combination of the flux will be optimised. More precisely, if you select the reactions R1 and R2, the objective function of the linear problem will optimize the value flux(R1) + flux(R2). Very often, the reaction corresponding to the biomass production is selected as objective reaction to optimise the growth of the organism.**Second objective reactions:**the value of the firts objective function (defined by the objective reactions) is set as a new constraint for a new optimisation computation. For instance, if you select R1 as a first objective reaction and R2 as a second objective reaction, MetExplore will first optimise the flux value of R1, set this optimal value as a new constraint and then optimises the flux value of R2.**Objective sense and second objective sense:**indicates if the objective function must be minimised or maximised.**Liberty percentage:**in the case where a second objective function is defined, this indicates the liberty of percentage in the value of the first optimal value. For instance, if R1 is the first objective function and the liberty percentage is 10%, the constraint for optimising the second objective function is set as*optimal flux of R1 -10 % < constraint < optimal flux of R1 + 10%***Getting the summation of all fluxes:**in the list of reactions, you have a special item: "FluxSum". This corresponds to the sum of the absolute values of all fluxes in the network. This can be used as an objective function to minimise the sum of the fluxes through the network.-
**Ko genes:**list of genes that will be inactivated during the analysis. This means that the corresponding reaction fluxes will be set to 0. -
**Ko reactions:**list of reactions that will be inactivated during the analysis. This means that the corresponding fluxes will be set to 0. **Selection of reactions or genes from table:**for facilitating the selection of genes or reactions, a button "Report reaction (or gene) table selection" is displayed below the list of reactions or genes. For using it, first select a list of reactions or genes in the corresponding data grid and click on the button

Flux Balance Analysis in MetExplore will compute the optimal value of the first objective function defined with the first objective reaction or the optimal value of the second objective function defined with the second objective reaction. This optimal value will depend on the list of reactions and genes inactivated set in the ko_reactions and in the ko_genes menus. Click on Launch, the result will be displayed in a popup after a few seconds.

FVA consists in getting the optimal value for the objective function, setting this value as a constraint and, given a list of entities, minimize and maximize their values. This analysis returns the objective value, and the minimum and maximum value for each entity desired. As this process can take a while, the results are not displayed immediately but will appear in the Jobs grids when they will be finished. The minimum and maximum fluxes for each reaction will appear as columns in the reaction grid. If you are interesting only in a subset of reactions, select them in the "reactionSet" menu to limit the analysis to these reactions, the computation time will be highly decreased.

A KO analysis consists in inactivating a gene or a reaction, and observe the effect on the objective function. In MetExplore, there are two ways to perform this KO analysis (ko_type checkbox in the form):

- on reactions
- on genes

Dead reactions are unable to carry a steady state flux and thus clearly represent missing information in the model. This analysis returns the list of dead reactions. This list can be convenient for correcting or completing a metabolic model. The results will appear in the Jobs grids when they will be finished. In the reaction grid, a new column will be displayed with a "1" for reacions identified as dead reactions.

Orphan metabolites are internal metabolites used by less than two reactions and that are not produced and/or not consumed. Identifying them is useful for curating a metabolic model. The results will appear in the Jobs grids when they will be finished. In the metabolite grid, a new column will be displayed with a "1" for metabolites identified as orphan metabolites.