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

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

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

This class is used to perform constraint-variation objective function processes.

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

Constructor Summary
CvObjectiveFunctionProcess(FbaOptimizer<F> computer)
          Constructs a new constraint-variation objective function process.
 
Method Summary
 F getFluxome()
          Returns the fluxome used in this process.
 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 setObjectiveFunctionSource(java.lang.Iterable<? extends MathExpr<java.lang.String>> objectiveSource)
          Sets the objective function input source.
 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

CvObjectiveFunctionProcess

public CvObjectiveFunctionProcess(FbaOptimizer<F> computer)
Constructs a new constraint-variation objective function 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.

getOptimizationSense

public OptSense getOptimizationSense()
Returns the current optimization sense.

Returns:
the current optimization sense.

setOptimizationSense

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

Parameters:
sense - an optimization sense.

setObjectiveFunctionSource

public void setObjectiveFunctionSource(java.lang.Iterable<? extends MathExpr<java.lang.String>> objectiveSource)
Sets the objective function input source.

Parameters:
objectiveSource - a source of objective functions whose optimal values are to be computed.

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.

First, a set of flux constraints is retrieved from the constraint source and applied. Then an objective function is retrieved from the objective source. The optimal value is computed and the results are added to the results manager. Each objective function is iterated through in the same fashion. When the end of the objective source is reached, the flux constraints are restored to their original value and resultsManager.breakPoint() is called. At this point, the next set of flux constraints is retrieved from the constraint source. The entire process is repeated until the end of the constraint source is reached.

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