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]>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