ソフトウェア

FastPros

How to use FastPros

FastPros is a new iterative screening algorithm to identify sets of reaction knockouts which result in a target production under biomass production maximization. Starting from a reduced metabolic model of a specific organism, first uTARGET of networks with all possible single and double reaction knockouts are calculated. Then, top N networks with regard to this score are chosen for the parent networks, where N stands for the total number of reaction sets. For each generation, all possible single reaction knockouts are further added to the parent networks, from which N networks with largest and increased uTARGET were selected as the parent networks of the next generation. If uTARGET of a mutated network becomes a positive value, this network is excluded from the iterative screening, and the set of reaction knockouts is stored as the candidate knockout sets. The cycle of mutation and selection was continued until the number of iterations (i.e., the number of knockouts) reached a maximum number, to obtain various sets of reaction knockouts whose additions to the wild-type network result in positive uTARGET values.


Equipment

  • COBRA Toolbox (http://opencobra.sourceforge.net/openCOBRA/Welcome.html)
  • A computer capable of running MATLAB
  • MATLAB (MathWorks, http://www.mathworks.com/)
  • libSBML programming library (http://www.sbml.org)
  • SBMLToolbox for MATLAB
  • FastPros toolbox


Set up

  • Install MATLAB
  • Install libSBML and the SBML toolbox
  • Unpack COBRA Toolbox archive
  • Unpack FastPros toolbox archive
  • Stat a MATLAB session and add paths to the COBRA Toolbox and FastPros toolbox
  • Initialize the COBRA toolbox using a function “initCobraToolbox”
  • Load model with COBRA structure


Time estimates

All time estimates for the functions below were predicted on a genome-scale metabolic model of E. coli named iAF1260 (Feist et al., 2007), containing 1,260 genes, 2,077 metabolic and transport reactions, 1,039 unique metabolites and a computer with GLPK and MATLAB on a 64-bit Windows machine with Intel Xeon 2.66 GHz processors. A COBRA function “optimizeCbModel”, which solves a flux balance analysis problem, didn’t work with MATLAB Parallel Computing Toolbox in our computer environment, so you may need to modify the source code if you want to use it with the toolbox.


Run the test code of FastPros

The test code is run by following command:

>> testFastPros()

“testFastPros” loads a MATLAB matfile representing a core metabolic model of Escherichia coli (http://gcrg.ucsd.edu-/Downloads/EcoliCore), reduces the model by “reduceModelForFP”, and finally performs “FastPros” to find knockout strains for succinate production. Upon completion, it displays whether the test were completed successfully or not. The time was estimated at ~1 minute.


Reduce model

Reduce model size for faster FastPros computation and create fields needed for FastPros by the following command:

>> [modelReduced, biomassRxn, targetRxn, oxygenRxn, reductionStatus] =

reduceModelForFP(model, biomassRxn, targetRxn, oxygenRxn, options)

The time was estimated at <10 minutes.


INPUTS          

model         Structure containing following required fields to describe a COBRA stoichiometric model
     rxnsReaction name abbreviation; reaction ID; order corresponds to S matrix.
    metsMetabolite name abbreviation; metaboliteID; order corresponds to S matrix
    SStoichiometric matrix in sparse format
    bRHS of Sv = b (usually zeros)
    cObjective coefficient for corresponding reactions
    lbLower flux bound for corresponding reactions
    ubUpper flux bound for corresponding reactions
    revLogical array; true for reversible reactions, otherwise false
    genesList of all genes within the model
    rxnGeneMatMatrix with rows corresponding to reactions and columns corresponding to genes
    grRulesRules field in a format readable format
    metFormulas         Elemental formula for each metabolite
biomassRxn         Reaction representing biomass objective function
targetRxnReaction whose flux is to be maximized
oxygenRxnReaction representing oxygen uptake


OPTIONAL INPUTS

options

    verbFlagVerbose flag (default: false)
    loadFVAFlux         Load maximum and minimum fluxes of each reaction calculated by flux variability analysis (default: false)


OUTPUTS

modelReduced         COBRA model structure added with the following generated fields. In the filed "rxns", combined reactions are represented using "/", as "reactionA/reactionB".
    rxnFormulas Reaction formulas
    rxnAssociationsReactions drived from original model
    rxnAssocMatMatrix of reaction associations between reduced and original model (row: rxns in reduced model, column: rxns in original model)
    unqGeneSetsMatMatrix of genes-geneSets associations
    geneSetsList of gene sets
    geneSetRxnMatMatrix of geneSets-rxns associations (row: geneSets, column, rxns)
    geneSetAssocRxns         List of reactions associated with gene sets
    essentialGeneSetsEssential gene sets for the cell growth or the target producton
    oriRxnsReactions in the original model
    reductionStatus

Status representing whether model reduction was success or not.

1: Model reduction was success.

2: Growth rate of wild type strain was changed by model reduction.

3: Growth rate of single knockout strains were changed by model reduction.

biomassRxn         Reaction representing biomass objective function
targetRxnReaction whose flux is to be maximized
oxygenRxnReaction representing oxygen uptake

                                

Perform FastPros

Perform FastPros algorithm using the following command:

>> [FastProsSolution, FastProsStatus, FastProsResult] =

FastPros(model, biomassRxn, targetRxn, oxygenRxn, options)

The time was estimated at ~3 hours (maximum 10 KO).


INPUTS

modelCOBRA model structure containing the following required fields to perform FastPros. Some fields in the model are generated by the function "reduceModelForFP".

biomassRxn         

Reaction representing biomass objective function
targetRxnReaction whose flux is to be maximized
oxygenRxnReaction representing oxygen uptake


OPTIONAL INPUTS

options

    rxnListReaction list as knockout candidates (default: all reactions in the model)
    maxKoNumMaximum knockout number (default: 10)
    selStrainNumKnockout strain number to be selected as parent strain in the generation (default: number of allowable knockouts)
    selIncUtargetStrains         Select only strains whose uTARGET increased by the knockout (default: true)
    verbFlagVerbose flag (default: false)

                               

OUTPUTS

FastProsSolution         Solution structure of FastPros
    koNumKnockout number of reaction or gene sets
    koGeneSetIDs         Each row represents IDs of knocked out gene sets.
    koGeneSetsEach row represents knocked out gene sets.
    koRxnSetsEach row represents reactions of knocked out gene sets.
    utargetEach row represents uTARGET change by knockout of gene sets.
    prodRatesEach row represents production rates of target compound in the corresponding knockout strains
    fluxEach column represents flux distributions in the corresponding knockout strains
FastProsStatus         Status structure of FastPros
    existEssentialKoStrainsColumn i represents whether essential knockout strains exist in the i th generation.
    existProdKoStrainsColumn i represents whether knockout strains with target production exist in the i th generation.
    firstProdKoNumNumber of knockouts when the first production strain was identified
    firstUnqProdKoNumNumber of knockouts when the first production strain without alternative optima of zero target production was identified.
    allowableKoGeneSetIDs         Gene set IDs of allowable knockouts
    allowableKoGeneSetsGene sets of allowable knockouts
    allowableKoRxnSetsReaction sets of allowable knockouts
    maxKoNumMaximum knockout number
    maxProdStrainStructure of the identified strain with the maximum target production rate
    modelCOBRA model
    modelGetUtargetCOBRA model used for uTARGET calculation
    selStrainNumKnockout strain number to be selected as parent strain in the generation
    targetInfoInformation of target compound and reaction
    targetRxnTarget reaction whose flux is to be maximized
    targetRxnIDTarget reaction ID
    theorFluxTheoretical flux distribution for maximized target production
    theorProdRateTheoretical maximum rate of target production
    timeColumn i represents cumulative CPU time until the end of the th generation
FastProsResult        Result structure of FastPros
    essentialGeneSetCmbs         Each row represents essential gene set combinations to reach minimum cell growth threshold or target production
    koNumTotal knockout number of reaction or gene sets in a strain
    productionKoStrainsSame structure to solution
    selKoGeneSetIDsGene set IDs knocked out in strains selected as parent strains in the next generation
    selKoStrainUtargetuTARGET in strains selected as parent strains in the next generation

 

Example codes

Two example codes using FastPros are provided. “example1” aims to identify knockout sets for d-Lactate production, and “example2” aims for succinate production, using FastPros function.


Reference

Feist,A.M. et al. (2007) A genome-scale metabolic reconstruction for Escherichia coli K-12 MG1655 that accounts for 1260 ORFs and thermodynamic information. Mol. Syst. Biol.3, 121.