Exercise 4: Targeted EFMs and test
Deadline: Tuesday, 28.06.2016, 08:00 a.m.
Targeted EFM
Use your program you wrote to find kshortest EFMs. Change it such that it does the following:
- 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)
- 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 id of a reaction (network.rxns).
- reads in a fourth argument, which is the name of the output file.
- The program should do the following:
Based on the program before (explained here) it should compute the k shortest EFMs of the network which contain the given reaction. 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, reaction, outputfile)
Rank test
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)
- reads in a second argument which is a matrix where each column is a candidate for being an EFM of the network.
- The program should do the following:
Based on the method explained here (Theorem 4) it should check for each column in the given matrix if it is an EFM.
- Output:
A 0-1-vector. The i-th entry of vector corresponds to the i-th column of the matrix. It equals to 1 if the vector is an EFM, otherwise the value is 0.
- Program call:
Your program should be called as: solution=RankTest(network, matrix)
No Explanation
Do not write any explanations. You can get for each program 3 points (thus 6 points in total).