sbrt.kernel.fba.proc
Class CatalystDeletionProcess<F extends CatalyzedFluxome>

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

public final class CatalystDeletionProcess<F extends CatalyzedFluxome>
extends FbaProcess<F,FbaOptimizer.Results>
implements MonitoredProcess<FbaOptimizer.Results>

This class is used to perform catalyst deletion processes.

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

Constructor Summary
CatalystDeletionProcess(RxnDeletionComputer<F> computer)
          Constructs a new catalyst deletion process.
 
Method Summary
 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.
static java.util.Set<java.lang.String> getRxnNames(java.util.Set<java.lang.String> catalysts, CatalyzedFluxome fluxome)
          Returns the set of names of reactions whose activity depends on the provided set of catalysts.
 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 setCatalystDelSource(java.lang.Iterable<java.util.Set<java.lang.String>> deletionSource)
          Sets the catalyst deletion 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 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

CatalystDeletionProcess

public CatalystDeletionProcess(RxnDeletionComputer<F> computer)
Constructs a new catalyst 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 CatalyzedFluxome,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.

setCatalystDelSource

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

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

A set of catalyst names is retrieved from the deletion source, their effect upon deletion 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.

getRxnNames

public static java.util.Set<java.lang.String> getRxnNames(java.util.Set<java.lang.String> catalysts,
                                                          CatalyzedFluxome fluxome)
Returns the set of names of reactions whose activity depends on the provided set of catalysts.

Parameters:
catalysts - a set of catalyst names.
fluxome - the fluxome containing the reaction-catalyst association.
Returns:
the set of names of reactions whose activity depends on the provided set of catalysts.