Exercise 3: Shortest GFMs
Deadline: Tuesday, 12.07.2016, 08:00 a.m.
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)
Please download these
networks to test your program.
You can use these
play_networks to debug your program.
No Explanation
Do not write any explanations. You can get for each program 3 points (thus 6 points in total).