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

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

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

This class is used to perform constraint-variation reaction deletion processes.

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

Constructor Summary
CvRxnDeletionProcess(RxnDeletionComputer<F> computer)
          Constructs a new constraint-variation reaction deletion process.
 
Method Summary
static void checkForConflict(FluxConstraints fc, java.util.Set<java.lang.String> deletionNames)
          Ensures that the provided flux constraints and set of reaction names do not conflict.
 F getFluxome()
          Returns the fluxome used by the reaction deletion computer.
 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.
 double getZeroCutoff()
          Returns the current zero cutoff used by the reaction deletion computer.
 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.
 void setRxnDeletionSource(java.lang.Iterable<java.util.Set<java.lang.String>> deletionSource)
          Sets the reaction deletion input source.
 void setZeroCutoff(double zeroCutoff)
          Sets the zero cutoff 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

CvRxnDeletionProcess

public CvRxnDeletionProcess(RxnDeletionComputer<F> computer)
Constructs a new constraint-variation reaction deletion process.

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

getFluxome

public F getFluxome()
Returns the fluxome used by the reaction deletion computer.

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

getZeroCutoff

public double getZeroCutoff()
Returns the current zero cutoff used by the reaction deletion computer.

Returns:
the current zero cutoff used by the reaction deletion computer.

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.

setRxnDeletionSource

public void setRxnDeletionSource(java.lang.Iterable<java.util.Set<java.lang.String>> deletionSource)
Sets the reaction deletion input source.

Parameters:
deletionSource - a source of reaction names sets whose effect upon deletion is 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.

setZeroCutoff

public void setZeroCutoff(double zeroCutoff)
Sets the zero cutoff to the provided value. The zero cutoff is the value used to decide which computed values are close enough to zero to be considered equal to zero. This value is an upper bound and should itself be close to zero, like 1E-6 for example.

Parameters:
zeroCutoff - the zero cutoff.

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 a set of reaction names in the deletion source is retrieved. The results are computed and added to the results manager. Each set of reaction names is iterated through in the same fashion. When the end of the deletion 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.

checkForConflict

public static void checkForConflict(FluxConstraints fc,
                                    java.util.Set<java.lang.String> deletionNames)
Ensures that the provided flux constraints and set of reaction names do not conflict.

Parameters:
fc - a set of flux constraints.
deletionNames - a set of reaction names.
Throws:
ConflictingInputException - if reaction names occur in both the provided flux constraints and set of reaction names. A list of common reaction names can be retrieved with ConflictingInputException#getConflicts().