You are here: Foswiki>AgMathLife Web>MolnetzASS16>MolnetzASS16_5 (30 Jun 2016, AnnikaRoehl)
Exercise 3: Shortest GFMs

k-shortest GFMs and MMBs
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)
• lb: lower bounds
• ub: upper bounds
• reads in a second argument, k, where k is the number of GFMs which should be computed.
• reads in a third argument, which is the name of the output file.
• The program should do the following:
Based on the method explained here it should compute the k shortest GFMs of the network. If the number of GFMs in the network is less than k it should compute all GFMs and display: Computed all GFMs. There exists n number of GFMs (n is the number of all GFMs of the network).
• Output:
Two .mat files where in the first one the GFMs are stored: A matrix, where each colum corresponds to one GFM (fluxdistribution). In the second one the MMBs are stored: a cell array where in the i-th cell the indices of the reactions of the i-th MMBs are stored. The mat files should be called name of output file_GFM and name of output file_MMB resp.

• Program call:
Your program should be called as: `KshortestGFMs(network, k, outputfile)`