Exercise 2: Flux Coupling Analysis and a reducing tool

FCA
Write a program that:
• reads in a metabolic network: a struct in a .mat file:
• S: stoichiometric matrix
• rev: reversibility-vector (rev(i) = 0: reaction i is not reversible, rev(i) = 1: reaction i is reversible)
• rxns: names of the reactions
• description: name of the network
• Based on the algorithm described here it should compute all reaction couplings.
• Output:
• A nxn-matrix, where n is the number of reactions. The entry (i,j) =:
• 0, if reaction i and j are uncoupled
• 1, if reaction i and j are fully coupled
• 2, if reaction i and j are partially coupled
• 3, if reaction i is directionally coupled to j
• 4, if reaction j is directionally coupled to i
Notice: to use the method explained in the paper only irreversible reactions are allowed.
The function should be called FCA and it should have as an input a mat file and as an output the matrix.

Reducing
Write a program that:
• reads in a metabolic network: a struct in a .mat file:
• S: stoichiometric matrix
• rev: reversibility-vector (rev(i) = 0: reaction i is not reversible, rev(i) = 1: reaction i is reversible)
• rxns: names of the reactions
• lb: lower bounds
• ub: upper bounds
• description: name of the network
The program should compute a reduced network: It should remove all blocked reactions and dead end metabolites. Additionally it should merge all fully coupled reactions.
Output:
• A struct containing the reduced network:
• rxns: names of the reactions
• lb: lower bounds
• ub: upper bounds
• description: name of the network
• An array, containing the indices of the blocked reactions.
• An array, containing the indices of the dead end metabolites.
• A cell array, where an entry for each set of merged reactions exists. In each entry are two vectors stored. One containing the index of the reaction representing the merged set in the reduced network. The second vector consists of all indices of the reactions which are represented by the reaction in the reduced network.

Use the FBA you computed last time and the FCA. The name of the function should be reducing.

Draw in your description one network where you find at least one blocked reaction and explain the algorithm.

Here is the example from the tutorial to test your programs.

Extra

If you want to gain some extra points:
Try to find a way how to resplit the (reversible) reactions you had to split to apply the FCA described above. In a way that the couplings are true for the reversible reactions in the original network.