sbrt.kernel.fba.proc
Class CvFbaOptProcess<F extends Fluxome>

java.lang.Object
  extended by sbrt.kernel.fba.proc.FbaProcess<F,FbaOptimizer.Results>
      extended by sbrt.kernel.fba.proc.CvFbaOptProcess<F>
Type Parameters:
F - the fluxome type.
All Implemented Interfaces:
KernelProcess<FbaOptimizer.Results>, MonitoredProcess<FbaOptimizer.Results>

public final class CvFbaOptProcess<F extends Fluxome>
extends FbaProcess<F,FbaOptimizer.Results>
implements MonitoredProcess<FbaOptimizer.Results>

This class is used to perform constraint-variation FBA optimization processes.

Author:
This class was written and documented by Jeremiah Wright while in the Wagner lab.

Constructor Summary
CvFbaOptProcess(FbaOptimizer<F> computer)
          Constructs a new constraint-variation FBA optimization process.
 
Method Summary
 F getFluxome()
          Returns the fluxome used in this process.
 MathExpr<java.lang.String> getObjectiveFunction()
          Returns the current objective function.
 OptSense getOptimizationSense()
          Returns the current optimization sense.
 ProgressMonitor getProgress()
          Returns a progress monitor for this process.
 void run(ResultsManager<FbaOptimizer.Results> resultsManager)
          Runs this process and adds the generated results to the provided results manager via its ResultsManager.addData(Object) method.
 void setConstraintSource(java.lang.Iterable<FluxConstraints> constraintSource)
          Sets the constraint variation input source.
 void setObjectiveFunction(MathExpr<java.lang.String> objective)
          Sets the objective function to the provided mathematical expression.
 void setOptimizationSense(OptSense sense)
          Sets the optimization sense to the provided value.
 
Methods inherited from class sbrt.kernel.fba.proc.FbaProcess
toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CvFbaOptProcess

public CvFbaOptProcess(FbaOptimizer<F> computer)
Constructs a new constraint-variation FBA optimization process.

Parameters:
computer - the computer with which all results will be computed.
Method Detail

getFluxome

public F getFluxome()
Returns the fluxome used in this process.

Specified by:
getFluxome in class FbaProcess<F extends Fluxome,FbaOptimizer.Results>
Returns:
the fluxome used in this process.

getObjectiveFunction

public MathExpr<java.lang.String> getObjectiveFunction()
Returns the current objective function.

Returns:
the current objective function.

getOptimizationSense

public OptSense getOptimizationSense()
Returns the current optimization sense.

Returns:
the current optimization sense.

setObjectiveFunction

public void setObjectiveFunction(MathExpr<java.lang.String> objective)
Sets the objective function to the provided mathematical expression.

Parameters:
objective - a mathematical expression of reaction names.

setOptimizationSense

public void setOptimizationSense(OptSense sense)
Sets the optimization sense to the provided value.

Parameters:
sense - an optimization sense.

setConstraintSource

public void setConstraintSource(java.lang.Iterable<FluxConstraints> constraintSource)
Sets the constraint variation input source.

Parameters:
constraintSource - a source of constraint sets whose effect upon application is to be computed.

getProgress

public ProgressMonitor getProgress()
Returns a progress monitor for this process.

Specified by:
getProgress in interface MonitoredProcess<FbaOptimizer.Results>
Returns:
a progress monitor for this process.

run

public void run(ResultsManager<FbaOptimizer.Results> resultsManager)
Runs this process and adds the generated results to the provided results manager via its ResultsManager.addData(Object) method.

A set of flux constraints is retrieved from the constraint source, their effect is computed, and the results are added to the provided results manager. This is repeated until the end of the deletion source is reached.

Specified by:
run in interface KernelProcess<FbaOptimizer.Results>
Parameters:
resultsManager - the results manager to which the results will be added.