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

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

public final class SvCdHarFluxVectorProcess<F extends Fluxome>
extends AbstractCvFbaOptProcess<F,CdHarFluxComp.Results>
implements MonitoredProcess<CdHarFluxComp.Results>

This class is used to perform space variation coordinate direction hit-and-run flux vector processes.

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

Constructor Summary
SvCdHarFluxVectorProcess(CdHarFluxComp<F> computer)
          Constructs a new flux space variation coordinate direction hit-and-run flux vector process.
 
Method Summary
 F getFluxome()
          Returns the fluxome for which flux vectors are to be generated.
 ProgressMonitor getProgress()
          Returns a progress monitor for this process.
 void run(ResultsManager<CdHarFluxComp.Results> resultsManager)
          Runs this process and adds the generated results to the provided results manager via its ResultsManager.addData(Object) method.
 void setFluxVectorSource(java.lang.Iterable<java.util.Map<java.lang.String,java.lang.Double>> fluxVectorSource)
          Sets the source of flux vectors to serve as initial points.
 void setIntervalSource(java.lang.Iterable<FluxConstraints> intervalSource)
          Sets the flux interval input source.
 void setIterations(int iterations)
          Sets the total number of flux vectors to be generated.
 
Methods inherited from class sbrt.kernel.fba.proc.AbstractCvFbaOptProcess
restoreConstraints, setConstraints
 
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

SvCdHarFluxVectorProcess

public SvCdHarFluxVectorProcess(CdHarFluxComp<F> computer)
Constructs a new flux space variation coordinate direction hit-and-run flux vector process.

Parameters:
computer - the computer with which all flux vectors will be generated.
Method Detail

setIterations

public void setIterations(int iterations)
Sets the total number of flux vectors to be generated.

Parameters:
iterations - the total number of flux vector to be generated.

getFluxome

public F getFluxome()
Returns the fluxome for which flux vectors are to be generated.

Specified by:
getFluxome in class FbaProcess<F extends Fluxome,CdHarFluxComp.Results>
Returns:
the fluxome for which flux vectors are to be generated.

getProgress

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

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

setIntervalSource

public void setIntervalSource(java.lang.Iterable<FluxConstraints> intervalSource)
Sets the flux interval input source.

Parameters:
intervalSource - a source of flux intervals.

setFluxVectorSource

public void setFluxVectorSource(java.lang.Iterable<java.util.Map<java.lang.String,java.lang.Double>> fluxVectorSource)
Sets the source of flux vectors to serve as initial points.

Parameters:
fluxVectorSource - a source of initial points.

run

public void run(ResultsManager<CdHarFluxComp.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 intervals is retrieved from the interval source and applied as constraints. Then an initial point is retrieved from the flux vector source and set. The random flux vectors are then computed and added to the provided results manager. Finally, the flux constraints are restored to their original values. This process is repeated until the ends of the constraint and flux vector sources are reached.

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