sbrt.shell.mng.fba
Class SimpleFluxIntervalManager

java.lang.Object
  extended by sbrt.shell.mng.AbstractProcessManager
      extended by sbrt.shell.mng.fba.FbaManager
          extended by sbrt.shell.mng.fba.SimpleFluxIntervalManager
All Implemented Interfaces:
KernelProcessManager<java.lang.String,java.lang.String>, ProcessManager<java.lang.String,java.lang.String>

public final class SimpleFluxIntervalManager
extends FbaManager

This class is used to manage simple flux interval processes.

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

Field Summary
static UnmodifiableSet<java.lang.String> optionalKeywords
          The set of keywords understood, but not required, by instances of this class.
static UnmodifiableSet<java.lang.String> requiredKeywords
          The set of keywords required to be present in the ManagerInput objects supplied to instances of this class.
 
Fields inherited from class sbrt.shell.mng.fba.FbaManager
CONSTRAINT_TOLERANCE, DEFAULT_CONSTRAINT_TOLERANCE, FLUX_VECTOR_FILE, FLUX_VECTOR_FILE_NAME, RXN_CATALYST_FILE, RXN_FILE, SYSTEM_SOLUTION_FILE
 
Fields inherited from class sbrt.shell.mng.AbstractProcessManager
ALGORITHM, COMPLETED, DATA_HEADERS, DEV_NULL, ELAPSED_TIME, FILE_FORMAT, INPUT_FILE, INPUT_FILE_FORMAT, INPUT_FILE_NAME_FILE, ITERATIONS, OUTPUT_FILE_FORMAT, OUTPUT_FILE_NAME, OUTPUT_FILE_NAME_FILE, PERCENT, PERCENT_COMPLETED, SEED, ZERO_CUTOFF
 
Constructor Summary
SimpleFluxIntervalManager()
           
 
Method Summary
 void execute(java.io.PrintWriter out)
          Executes the process this process manager controls, and writes the status or results of this process to the provided print writer.
static SimpleFluxIntervalComputer<MixedFluxome> getMixedComp(ManagerInput<java.lang.String,java.lang.String> input, java.io.PrintWriter out)
          Returns the flux interval computer specified by the provided input.
static ComoFile<java.lang.String,Interval> getMultiResultsOutputFile(ManagerInput<java.lang.String,java.lang.String> input, java.io.PrintWriter out, Fluxome fluxome)
          Returns an empty output file that is suitable for storing multiple sets of flux interval results.
static ComoFile<java.lang.String,Interval> getMultiResultsOutputFile(java.lang.String fileName, java.util.Set<java.lang.String> headers, Fluxome fluxome)
          Returns an empty output file that is suitable for storing multiple sets of flux interval results.
 UnmodifiableSet<java.lang.String> getOptionalKeys()
          Returns the set of keywords the provided ManagerInput object does not necessarily have to contain.
 FluxIntervalProcess<MixedFluxome> getProcess()
          Returns the process this process manager controls.
 UnmodifiableSet<java.lang.String> getRequiredKeys()
          Returns the set of keywords the provided ManagerInput object must contain.
static RomoFile<java.lang.String,Interval> getSingleResultOutputFile(ManagerInput<java.lang.String,java.lang.String> input, java.io.PrintWriter out, Fluxome fluxome)
          Returns an empty output file that is suitable for storing a single set of flux interval results.
static RomoFile<java.lang.String,Interval> getSingleResultOutputFile(java.lang.String fileName, java.util.Set<java.lang.String> headers, Fluxome fluxome)
          Returns an empty output file that is suitable for storing a single set of flux interval results.
static ApplicationException interpret(IllegalBoundsException e)
          Returns an ApplicationException whose message describes the error that ocurred.
 void setInput(ManagerInput<java.lang.String,java.lang.String> input, java.io.PrintWriter out)
          Uses the provided input to prepare this process manager for execution.
 
Methods inherited from class sbrt.shell.mng.fba.FbaManager
getCatalysts, getCatalysts, getConstraintTolerance, getConstraintTolerance, getFluxomeSolution, getIrrevRxnFluxome, getIrrevRxnFluxome, getIrrevRxnFluxome, getIrrevRxnFluxome, getIrrevRxnFluxome, getMixedFluxome, getMixedFluxome, getMixedFluxome, getMixedFluxome, getMixedFluxome, getMultiFluxVectorOutputFile, getMultiFluxVectorOutputFile, getRxnNameExprFormat, getRxnNameHeaders, getRxnNameHeaders, getSingleFluxVectorOutputFile, getSingleFluxVectorOutputFile, printFluxomeInfo, writeFluxome, writeFluxome, writeFluxome, writeFluxome
 
Methods inherited from class sbrt.shell.mng.AbstractProcessManager
check, closeFile, closeRm, execute, getFileFormat, getFileFormat, getFileNameSource, getIterations, getSeed, getTextFileFormat, getTextFileFormat, getZeroCutoff, getZeroCutoff, parseInt, parseLong, printProgress, printProgress, printProgress, runProcess, setInput
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface sbrt.shell.mng.ProcessManager
check, execute, setInput
 

Field Detail

requiredKeywords

public static final UnmodifiableSet<java.lang.String> requiredKeywords
The set of keywords required to be present in the ManagerInput objects supplied to instances of this class.


optionalKeywords

public static final UnmodifiableSet<java.lang.String> optionalKeywords
The set of keywords understood, but not required, by instances of this class.

Constructor Detail

SimpleFluxIntervalManager

public SimpleFluxIntervalManager()
Method Detail

getSingleResultOutputFile

public static RomoFile<java.lang.String,Interval> getSingleResultOutputFile(ManagerInput<java.lang.String,java.lang.String> input,
                                                                            java.io.PrintWriter out,
                                                                            Fluxome fluxome)
Returns an empty output file that is suitable for storing a single set of flux interval results. The values for AbstractProcessManager.OUTPUT_FILE_NAME and AbstractProcessManager.DATA_HEADERS in the provided input are parsed and used to call the method getMultiResultsOutputFile(String, Set, Fluxome).

Parameters:
input - the input containing values for the listed keywords.
out - the print writer to which status messages will be printed.
fluxome - the fluxome for which the data headers correspond.
Returns:
an empty output file that is suitable for storing a single set of flux interval results.
See Also:
FbaManager.getRxnNameHeaders(ManagerInput, Fluxome)

getSingleResultOutputFile

public static RomoFile<java.lang.String,Interval> getSingleResultOutputFile(java.lang.String fileName,
                                                                            java.util.Set<java.lang.String> headers,
                                                                            Fluxome fluxome)
Returns an empty output file that is suitable for storing a single set of flux interval results. Data will be written to this file using ConstraintsFileLineFormatV1.

Parameters:
fileName - the name of the file to be created.
headers - the set of objects whose intervals are to be written to the file. These objects can be reaction names or mathematical expressions of reaction names.
fluxome - the fluxome to which the intervals correspond.
Returns:
an empty output file that is suitable for storing a single set of flux interval results.

getMultiResultsOutputFile

public static ComoFile<java.lang.String,Interval> getMultiResultsOutputFile(ManagerInput<java.lang.String,java.lang.String> input,
                                                                            java.io.PrintWriter out,
                                                                            Fluxome fluxome)
Returns an empty output file that is suitable for storing multiple sets of flux interval results. The values for AbstractProcessManager.OUTPUT_FILE_NAME and AbstractProcessManager.DATA_HEADERS in the provided input are parsed and used to call the method getMultiResultsOutputFile(String, Set, Fluxome).

Parameters:
input - the input containing values for the listed keywords.
out - the print writer to which status messages will be printed.
fluxome - the fluxome for which the data headers correspond.
Returns:
an empty output file that is suitable for storing multiple sets of flux interval results.
See Also:
FbaManager.getRxnNameHeaders(ManagerInput, Fluxome)

getMultiResultsOutputFile

public static ComoFile<java.lang.String,Interval> getMultiResultsOutputFile(java.lang.String fileName,
                                                                            java.util.Set<java.lang.String> headers,
                                                                            Fluxome fluxome)
Returns an empty output file that is suitable for storing multiple sets of flux interval results. Data will be written to this file using ConstraintsFileLineFormatV1.

Parameters:
fileName - the name of the file to be created.
headers - the set of objects whose intervals are to be written to the file. These objects can be reaction names or mathematical expressions of reaction names.
fluxome - the fluxome to which the intervals correspond.
Returns:
an empty output file that is suitable for storing multiple sets of flux interval results.

getMixedComp

public static SimpleFluxIntervalComputer<MixedFluxome> getMixedComp(ManagerInput<java.lang.String,java.lang.String> input,
                                                                    java.io.PrintWriter out)
Returns the flux interval computer specified by the provided input. This method calls FbaOptManager.getMixedComp(ManagerInput, PrintWriter).

Parameters:
input - the input containing all required keywords to construct the flux interval computer.
out - the print writer to which status messages will be printed.
Returns:
the flux interval computer specified by the provided input.

interpret

public static ApplicationException interpret(IllegalBoundsException e)
Returns an ApplicationException whose message describes the error that ocurred.

Parameters:
e - a program solver exception.
Returns:
an ApplicationException wrapping the provided exception.

getRequiredKeys

public UnmodifiableSet<java.lang.String> getRequiredKeys()
Returns the set of keywords the provided ManagerInput object must contain.

Returns:
the set of keywords the provided ManagerInput object must contain.

getOptionalKeys

public UnmodifiableSet<java.lang.String> getOptionalKeys()
Returns the set of keywords the provided ManagerInput object does not necessarily have to contain.

Returns:
the set of keywords the provided ManagerInput object does not necessarily have to contain.

setInput

public void setInput(ManagerInput<java.lang.String,java.lang.String> input,
                     java.io.PrintWriter out)
Uses the provided input to prepare this process manager for execution. As the input is processed, informative messages are printed to the provided print writer.

Parameters:
input - all of the information required to prepare this process manager for execution.
out - the print writer to which all messages will be printed.

getProcess

public FluxIntervalProcess<MixedFluxome> getProcess()
Returns the process this process manager controls.

Returns:
the process this process manager controls.
Throws:
java.lang.IllegalStateException - if no input was provided to this process manager via AbstractProcessManager.setInput(ManagerInput) or setInput(ManagerInput, PrintWriter)

execute

public void execute(java.io.PrintWriter out)
Executes the process this process manager controls, and writes the status or results of this process to the provided print writer.

Parameters:
out - the print writer where status messages will be printed.
Throws:
java.lang.IllegalStateException - if no input was provided to this process manager via AbstractProcessManager.setInput(ManagerInput) or setInput(ManagerInput, PrintWriter)