Aufgabe 6, Gruppe 4: Minimale Anzahl von Reaktionen, maximales Wachstum
Deadline: Mittwoch, 15.04.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 die Zielreaktion beinhaltet. Sollte dieses Feld leer sein, wird als Zielreaktion die Biomasse genommen.
- ein drittes Argument, welches die Anzahl der gültigen Flüsse angibt
- Das Programm soll folgendes berechnen:
- Zuerst wird eine FBA durchgeführt um die maximale Wachstumsrate zu ermitteln
- Als nächstes werden die Anzahl der aktive Raktionen minimiert, so dass das Wachstum weiterhin maximal ist
- Es sollen so viele (unterschiedliche) gültige Flüsse berechnet werden, die dies erfüllen, wie vorgegeben
- Ausgabe-Format:
- Insgesamt sollen 2 mat-Files gespeichert werden:
- In dem ersten mat-File werden die Flussverteilungen als Vektoren gespeichert: Für jede Flussverteilung einen Vektor der so viele Einträge hat, wie es Reaktionen gibt. Die Einträge entsprechen den Reaktionsraten. Insgesamt soll eine Matrix gespeichert werden. Die Anzahl der Zeilen entspricht der Anzahl der Reaktionen (auch die blockierten) und die Anzahl der Spalten entspricht der Anzahl der berechneten Flussverteilungen.
- In dem zweiten mat-File werden nur die Raktionen gespeichert die Fluss tragen und in welche Richtung sie dies tun: Für jede Flussverteilung gibt es einen Vektor der so viele Einträge hat, wie es aktive Reaktionen in dieser Flussverteilung gibt. Die Einträge sind die Indizes der jeweiligen Reaktionen. Hat die Reaktion eine negative Reaktionsrate, so ist der Index mit einem Minuszeichen versehen. Insgesamt soll ein cell-array gespeichert werden. Der i-te Eintrag dieses arrays ist die i-te Flussverteilung.