Re: [Microbe] Growmatch for KBase
1.) get_phenotype_data -genome shewnella -experiment "Adam D. data" > PhenotypeData.tbl -Still needs to be implemented, but this just dumps the appropriate data in the appropriate format from the CDM... we can do this in 1 day (Gavin, can you do this??) Sure, but there are several things that need to happen before I can do this:
- the Shew pheno data needs to be loaded - requires load of the new biochem data incl the new compounds identified during the Shew load - Bruce is out of town until Monday - the CMDI API needs to be built, no idea what the status here is, but shouldn't take long - ideally, the functions built based on the use cases are done, again, not sure what the status is, this might take more time - can use the E/R API only, but will be duplicating effort with the use case coding and will be far less efficient and a much bigger, uglier, and stupider piece of code - should probably talk about what options we want wrt the query - e.g. exclude non-defined media, list of compounds upon which to exclude environments (actually, now I think about it - if a non-defined compound like yeast extract or casamino acids is in the environment, do we want a defined = False flag? Otherwise the users will have to specify all the non-defined compounds to exclude. Another option would be to have the defined flag in the compounds table) - I'm guessing a basic query would be for all experiments with a) aggregate strains based on genome X b) defined environments within specific temp and pH ranges and c) a normal fitness phenotype (not any of the special cases like time series or motility or anything like that) - will also need a threshold of some kind for mapping fitness data -> binary growth calls. Please excuse the brusque response, I really need to get to sleep. -g On 8/16/2012 2:24 PM, Chris Henry wrote:
Okay... it's been requested that I explain the growmatch implementation in KBase. I will attempt to do so here.
So growmatch is a system for correcting false positive and false negative predictions by models.
False positives: predictions of growth in conditions and with mutations where growth is not observed experimentally
The "Gapgen" command is designed to fix a single false positive prediction by automatically generating one or more hypotheses on how the model can be modified to fix the false positive. Hypotheses gapgen will propose include: 1.) removal of a reaction entirely from the model 2.) adjustment of the GPR for a reaction (e.g. removal of an isozyme) 3.) addition of a new biomass component 4.) removal of a media component
The gapgen command is "in", although we're still in the process of fixing it, but it will be "in" by Sunday. The command is there, it's in IRIS. You can run it, and it will give you predictions. The way it works now is it comes up with a prediction and automatically modifies the model accordingly (unless you tell it not to). Of course, thorough documentation is still needed. This will be there by Sunday as well.
False negatives: the model predicts that no growth will occur in a condition where growth is observed
The "Gapfill" command is designed to fix a single false negative prediction by automatically generating one or more hypotheses of how the model must be modified to enable growth in the specified environment and with the specified mutations. Hypotheses considered include: 1.) Addition of new reactions to model 2.) Adjustment of reaction GPR (addition of an isozyme) 3.) Removal of a biomass component 4.) Addition of a media component
The "gapfill" command is most certainly "in" and can definitely be run right now. Again, thorough documentation is still needed. This will be there by Sunday as well.
Now, we get to "simphenotypes". This command is "in" although we're testing it now, but it will definitely be in by Sunday (with documentaiton). This command accepts a table of phenotypes as input, such as:
Base Media;KO;Media Additions;Observed growth Carbon-D-Glucose;peg.1;folate;1 Carbon-Glycine;peg.2;folate;0
This command adds three new columns to the table: Base media;KO;Media:Additions;Observed growth;Simulated growth;Simulated growth fraction;Class Carbon-D-Glucose;peg.1;folate;1;0;0;False negative
OK. So that's where we stand now, or more correctly, where we will stand on Sunday (if all goes well with the build). How is all this going to fit together???
This is the full growmatch pipeline I am proposing: 1.) get_phenotype_data -genome shewnella -experiment "Adam D. data" > PhenotypeData.tbl -Still needs to be implemented, but this just dumps the appropriate data in the appropriate format from the CDM... we can do this in 1 day (Gavin, can you do this??)
2.) simphenotypes < PhenotypeData.tbl > SimulatedPhenotypes.tbl -Now done.
3.) generatehypotheses < SimulatedPhenotypes.tbl > PhenotypeHypotheses.tbl -Not yet implemented, but this command just loads the phenotype data, identifies all false positives and false negatives, uses cluster services to run gapfill and gapgen commands on each false positive and false negative, gathers results, and adds the resulting hypotheses as a new column in our phenotype table WITHOUT modifying the model
4.) testhypotheses < PhenotypeHypotheses.tbl > PhenotypeHypothesisSensitivity.tbl -Not yet implemented in KBase, but this command runs all phenotypes on each individual hypothesis to determine the impact of each hypothesis on EVERY phenotype (not just the specific phenotype the hypothesis was generated for)
5.) integratehypotheses < PhenotypeHypothesisSensitivity.tbl > HypothesisList.txt -Not yet implemented, but this command merges all hypotheses together to identify the combination of hypotheses that maximizes the fit with experimental data. Note, it will produce multiple "combined hypotheses", and it's up to the user to select the right one out of maybe 10-15 possibilities.
6.) implementhypothesis < HypothesisList.txt -index 5 > OptimizedFBAModel -Not yet implemented, but this command just implements the selected hypothesis combination (combination "5" in this case) into the model
So there you have it. Of course, one could merge all these into a single command. I'm not doing this, because I feel it will be useful to have them in more modular form. Now, commands 1 and 3-6 are not implemented yet. Many of these are simple and should be done this month (gapfill and gapgen are the real meat here), but I note, these commands are all frosting. You can run growthmatch right now using the simphenotypes, gapfill, and gapgen commands alone, and this is in fact what Costas Maranas calls "growmatch". What I am aiming to give you with the pipeline described above is an entirely automated process.
Is this clearer?
On Thu, Aug 16, 2012 at 4:35 PM, Scott Devoid <[email protected] <mailto:[email protected]>> wrote:
So I just talked with Bill & Ben Bowen. They wanted to know when and in what form growmatch would get added to KBase... Do the gapgen & gapfill functions essentially form the "inner loop" of growmatch?
~ Scott
_______________________________________________ Microbe mailing list [email protected] https://lists.kbase.us/mailman/listinfo/microbe
participants (1)
-
gaprice@lbl.gov