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)`

Do not write any explanations. You can get for each program 3 points (thus 6 points in total).

Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.

Ideas, requests, problems regarding Foswiki? Send feedback

Ideas, requests, problems regarding Foswiki? Send feedback