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

- The program should do the following:

Based on the method explained here it should compute the shortest EFM of the network. - Output:

*EFM*is the computed fuxdistribution. It does not have to be stored. - Program call:

Your program should be called as:`EFM=shortestEFM(network)`

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 EFMs 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 EFMs of the network. If the number of EFMs in the network is less than k it should compute all EFMs and display:*Computed all EFMs. There exists n number of EFMs*(n is the number of all EFMs of the network). - Output:

A .mat file where the EFMs are stored: A matrix, where each colum corresponds to one EFM (fluxdistribution). - Program call:

Your program should be called as:`KshortestEFMs(network, k)`

- Start with the first programm. If this works, try to implement the loop such that you call the first programm k times. In each loop the solutions before have to be excluded such that you generate new solutions.
- You have to split the reversible reactions. You have to
*resplit*them for the solution. - You have two types of variables: continuous and binary variables. The continuous (
*t*in the paper) are the fluxdistributions. The binary variables (*z*) indicate if a reaction is active or not. How to connect these two types you will find in the paper. - Your objective is to minimize the sum over the
*zi*.

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