Size: 3938
Comment: Copied from W1, Prac 7.
|
Size: 1486
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 2: | Line 2: |
=== This originally followed a lecture by Hassan that we won't have, and was quite tough. === === Consider modification / simplification / replacement to go with application lectures this time. === == Analysing a genome scale model of Salmonella == In this practical we (you !) will be replicating some the analysis that was described in the [[http://mudsharkstatic.brookes.ac.uk/C1Net/Wshop1/L10.pdf|previous lecture]] . In order to do this you will need to download the files associated with the model: |
== The effect of varying oxygen availabilty on Geobacillus == In this practical we will be investigating the the potential effects of limiting oxygen availability to a model of the organism ''Geobacillus thermoglucosidasius ''described [[http://www.ncbi.nlm.nih.gov/pubmed/28385593|here]]. In order to do this, we will be using the constraint scanning approach described in lecture 7. Geobacillus is a facultative aerobe this has been demonstrated experimentally and in the paper linked above we investigated aerobic and anaerobic metabolism. What we did not investigate is the situation in which oxygen is reduced but not completely absent, so, as well as being a new practical, this is also a new investigation - results generated here will be genuinely new - no-one will ever have seen them before! In order to perform the analysis we will be introducing a new class of object from !ScrumPy, the !''DataSet. ''As the name implies, it's purpose is to store and maniplulate data either generated by model, or from an external source, or both. It has many of the same properties of a matrix, but in addition is capable of simple graph plotting and statistical analysis. |
Line 11: | Line 11: |
1. This will generate a directory, S.Typhim, containing two sub-directories: Model and Analysis. Model contains the model definition files and an additional python module (in Model/Tools). Analysis contains the python modules you will need for this practical. 1. For the sake of the practical we have made a few simplifications and the model and results will not be identical to those in the lecture. the aim of the practical is to illustrate the techniques used. == Part A: Analysing the response to varying ATP demand. == 1. Change directory to the relevant area: . {{{$ cd S.Typhim/Analysis/ATPScan}}} 1. Start [[http://mudshark.brookes.ac.uk/ScrumPy|ScrumPy]] and load the model: . {{{ >>> m = ScrumPy.Model("../../Model/MetaSal.spy") }}} . (If you wish to avoid a bit of typing, leave the model name blank and use the file selector to find the model file instead.) 1. Examine the files that are now presented - how much can you recognise from previous work in this course? 1. Now import the module called ATPScan . {{{ >>> import ATPScan }}} 1. The module contains a function, also called {{{ATPScan}}} that will generate a data set (as shown in previous lectures) containing the lp solutions over a range of imposed ATP demand values, e.g.: 1. {{{ >>> results = ATPScan.ATPScan(m, 0, 10, 50) }}} 1. Will generate a dataset containing 50 solutions for the model with the imposed ATPase flux varying between 0 and 10 flux units. 1. The ATPScan module also contains three functions to aid in the analysis of results: . {{{ GetChangers(results, tol=1e-6) }}} A list of reactions whose flux value changes by more than tol (default = 1e-6). {{{ GetSwitchers(results) }}} A list of reactions that carry no flux at some point. {{{ GetRanges(results, tol=1e-6) }}} A dictionary mapping reactions to the amount of change in flux over the range of ATP demand. * For example, to plot the reactions that at some point carry no flux: . {{{ results.AddToPlot(ATPScan.GetSwitchers(results)) }}} * Use these functions to identify which fluxes show the greatest response to changes in ATP demand == Part B: Impact of single and double reaction knockouts == 1. cd into Analysis/Knockouts 1. Start [[http://mudshark.brookes.ac.uk/ScrumPy|ScrumPy]] and the load the model as before. 1. Import the {{{KnockOutImpacts}}} module. 1. This defines a single function also called {{{KnockOutImpacts}}} that returns a dictionary recording the impact of remove each reaction from the model (relative change in objective value) eg: . {{{ >>> res = KnockOutImpacts.KnockOutImpacts(m)}}} 1. Use this to . a) Identify the lethal knockouts. b) Identify the non lethal knockouts that have the greatest impact. c) From b investigate the impact of dual knockouts, e.g.: . {{{ >>> lp.SetFixedFlux({Reac1:0,Reac2:0}) }}} {{{ >>> lp.Solve() }}} etc. Remember to clear the constraint before proceeding: {{{ >>> lp.ClearFluxConstraint([Reac1,Reac2]) }}} . (Generate lp by: {{{>>> lp = KnockOutImpacts.BuildLP.BuildLP(m) }}} ) |
Practical 7
The effect of varying oxygen availabilty on Geobacillus
In this practical we will be investigating the the potential effects of limiting oxygen availability to a model of the organism Geobacillus thermoglucosidasius described here. In order to do this, we will be using the constraint scanning approach described in lecture 7. Geobacillus is a facultative aerobe this has been demonstrated experimentally and in the paper linked above we investigated aerobic and anaerobic metabolism. What we did not investigate is the situation in which oxygen is reduced but not completely absent, so, as well as being a new practical, this is also a new investigation - results generated here will be genuinely new - no-one will ever have seen them before!
In order to perform the analysis we will be introducing a new class of object from ScrumPy, the !DataSet. As the name implies, it's purpose is to store and maniplulate data either generated by model, or from an external source, or both. It has many of the same properties of a matrix, but in addition is capable of simple graph plotting and statistical analysis.
Download the file P7.tgz into the area in whch you have been using for your other practicals.
- This is a compressed archive file and you will need to extract the files before they can be used:
$ tar -zxf P7.tgz