Aufgabe 1: Flux Balance Analysis
Deadline: Sonntag, 15.03.2015
Schreibe ein Programm, dass:
- ein metabolisches Netzwerk einliest: Einen struct in einem .mat file, welches "network" heißt, mit:
- S: die stöichiometrische Matrix
- rev: der Reversibilitäts-Vektor (rev(i) = 0: Reaktion i ist nicht reversibel, rev(i) = 1: Reaktion i ist reversibel)
- rxns: Namen der Reaktionen
- lb: untere Schranken
- ub: obere Schranken
- description: Name des Netzwerks
- ein zweites Argument einliest, welches entweder BIOMASS, der Namen einer Reaktion oder BLOCKED ist
- ein drittes Argument einliest, welches der Name des Outputfiles ist.
- Abhängig von dem Argument soll das Programm folgendes berechnen:
- die Flussverteilung, welches die Biomasse-Produktion maximiert und die Fliessgleichgewichts-Bedinungen einhält. Das Netzwerk enthält mindestens eine Reaktion, dessen Rate maximiert werden soll. Enthält es mehrere Biomasse-Reaktionen, soll die erste ausgewählt werden und der Benutzer soll darauf hingewiesen werden, welche Reaktion verwendet wird. Ausserdem sollen die anderen Biomasse-Reaktionen angezeigt werden, so dass die Möglichkeit besteht, später manuell die gewünschte Reaktion einzugeben.
- eine Flussverteilung, welche den Fluss durch die gegebene Reaktion maximiert und die Fliessgleichgewichts-Bedinungen einhält.
- die Reaktionen, die blockiert sind.
- Ausgabe-Format:
- im BIOMASS Modus:
- Ein .txt file mit zwei Spalten, wovon die erste Spalte die reaction_id und die zweite entsprechende Rate enthält
- Die erste Zeile enthält die Biomasse-Reaktion, die restlichen Reaktionen sind entsprechend ihres Index aufgelistet
- Name einer Reaktion:
Ähnlich zum BIOMASS Modus, nur dass in der ersten Zeile die entsprechende Reaktion stehen soll
- im BLOCKED Modus:
- ein Vektor welcher die Namen der blockierten Reaktionen enthält
- diese sind entsprechend ihres Index geordnet
Schreibe ein zweites Programm, welches wie oben ein metabolisches Netzwerk einliest. Mithilfe des zuvor geschriebenen Programms sollen die blockierten Reaktionen gefunden werden und dann aus dem Netzwerk entfernt. Dies betrifft:
- die Stöichiometrische Matrix
- die rxns
- die unteren und oberen Schranken
- den reversibilitäts Vektor
Ausgegeben werden soll das reduzierte Netzwerk (wieder als struct) und einen string-array mit den Namen der blockierten Reaktionen.