|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectjigcell.xpp.SBMLToStochKitTranslator
public class SBMLToStochKitTranslator
Translate SBML file produced from JigCell into C++ file as input of Stochkit feature history: supports algebaric rule, and assignment rule - mediate variable assignment (seems useless and causes error) * support for pow + support for function * support for safe name check + support for events * adjust rules * clean up the code * assign event number by calculating power in vivo v1.4 * make name c++ safe by edit SymbolTable.makeFortranSafe * special treatment for Vn, should be changed later v1.5 + execute stochkit + add "double t" to eventAction method v1.6 * LOG and SQRT to log and sqrt * eliminate NaN in parameter declaration. * Vector x = x1 in Propensity function * add parameter decalaration in events v1.7 * changed the order of species index to confirm with RunManager v1.8
| Nested Class Summary | |
|---|---|
private class |
SBMLToStochKitTranslator.LocalRule
|
| Field Summary | |
|---|---|
private java.lang.String |
code
|
private java.io.File |
cwd
|
static java.lang.String |
DEFAULT_LOWER_BOUND
|
protected static java.lang.String |
DEFAULT_MODEL_NAME
|
static java.lang.String |
DEFAULT_NML_FILENAME
|
static java.lang.String |
DEFAULT_UPPER_BOUND
|
private java.util.Hashtable |
defaultInitialConditionsContents
|
static java.lang.String |
EST_TASK
|
private static java.lang.String |
EXTRACT_PARAMS
|
static java.lang.String |
INDENT
|
private static int |
MAX_CHARS_PER_LINE
|
private static int |
MAX_EXP_NAME_LENGTH
|
private static int |
MAX_ID_LENGTH
|
private jigcell.sbml2.Model |
model
|
private SymbolTable |
mySymbol
|
private int |
numRuleVars
|
private int |
numVars
|
static java.lang.String |
PRE_RUN
|
(package private) java.util.Hashtable |
reactionIndex
|
private java.util.ArrayList |
ruleArray
|
private java.util.Hashtable |
ruleHash
|
static java.lang.String |
RUN_PE
|
static java.lang.String |
SIM_TASK
|
(package private) java.util.Hashtable |
speciesIndex
|
static java.lang.String |
STATUS
|
private SymbolTable |
symbolTable
|
(package private) java.io.File |
targetFile
|
static java.lang.String |
TRANSFORM_TASK
|
private static java.lang.String |
usage
Allow SBMLTranslator to be run independent from parent programs as a command line tool. |
private static java.lang.String |
VERSION_MESG
|
| Constructor Summary | |
|---|---|
SBMLToStochKitTranslator(jigcell.sbml2.Model model)
Creates a SBMLTranslator instance ready to create C++ code for model. |
|
SBMLToStochKitTranslator(java.io.Reader reader)
Creates a SBMLTranslator instance ready to create Fortran code from the SBML read from reader. |
|
SBMLToStochKitTranslator(java.lang.String fileName)
Creates a SBMLTranslator instance ready to create Fortran code from the SBML file fileName. |
|
| Method Summary | |
|---|---|
private static java.lang.String |
appendAndBreak_(java.lang.String s1,
java.lang.String s2,
boolean addIndent)
Underlying method for appendAndBreak and appendAndBreakNoIndent. |
private static java.lang.String |
appendAndBreak(java.lang.String s1,
java.lang.String s2)
Returns s1 and s2 appended with line breaks added if the resulting string is longer than MAX_CHARS_PER_LINE characters. |
private static java.lang.String |
appendAndBreakNoIndent(java.lang.String s1,
java.lang.String s2)
Like appendAndBreak but no additional white space is added when the second line is created. |
private static java.lang.String |
breakAFortranString(int maxWidth,
java.lang.String prefix,
java.lang.String fortranString,
java.lang.String suffix,
java.lang.String indent)
Builds a Fortran expression and adds breaks as necessary to keep the maximum line width below maxWidth. |
private SymbolTable |
buildSymbolTable(jigcell.sbml2.Model model)
Creates a table of variable assignments to be inserted as Fortran code. |
protected java.util.List |
computeSelectionList(java.util.List returnData)
Computes the list of species to return from simulation. |
java.util.Map |
estimatorStatus(java.lang.String modelName)
Multithreaded callers of Biopack can call this method to get the status of the current running estimator. |
java.util.Hashtable |
extractParameters(java.lang.String f90Model,
java.lang.String report)
Extract the parameter values and names from f90Model and report and put them in a Hashtable. |
java.util.List |
getAvailableSelections()
A List[String] of tokens for each measurable element in the model. |
private static java.lang.String |
getModelId(jigcell.sbml2.Model model)
|
private static java.lang.String |
getModelName(jigcell.sbml2.Model model)
|
protected java.lang.String |
getProgramDirectory()
The location where StochKit is installed. |
java.util.List |
getSettableNames()
The name or id of every settable quantity. |
static void |
main(java.lang.String[] args)
|
private static void |
missingArgument(java.lang.String arg)
|
private static jigcell.sbml2.math.Node |
multiplyByCompartments(java.lang.String id,
jigcell.sbml2.math.Node node,
java.util.Map compartmentMap,
java.util.Map speciesMap)
Take the math in node and search for all species multiplying each species by the volume of its compartment. |
private static jigcell.sbml2.math.Node |
multiplyTermsByCompartments(java.lang.String id,
jigcell.sbml2.math.Node node,
java.util.Map compartmentMap,
java.util.Map speciesMap)
Takes each term (separated by + and - signs) and calls multiplyByCompartments. |
private void |
ruleGenerateCode(java.util.Map compartmentMap,
java.util.Map speciesMap)
|
void |
setCWD(java.io.File cwd)
Sets the directory which all sub processes will be started from. |
jigcell.compare.IDataElement |
simulate(jigcell.simulation.Simulator simulator)
Performs a simulation using the current model and settings. |
protected jigcell.compare.IDataElement |
simulate(jigcell.simulation.Simulator simulator,
java.io.File targetFile,
java.io.File outputFile)
Performs a simulation using the current model and settings. |
private void |
translate()
to translate the SBML into CPP, called by writeCppCode_ |
private void |
writeCppCode_(java.io.PrintWriter out)
|
void |
writeCppCode(java.io.PrintWriter out)
Writes compilable Fortran code to out. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected static final java.lang.String DEFAULT_MODEL_NAME
public static final java.lang.String DEFAULT_LOWER_BOUND
public static final java.lang.String DEFAULT_NML_FILENAME
public static final java.lang.String DEFAULT_UPPER_BOUND
public static final java.lang.String EST_TASK
public static final java.lang.String INDENT
private static final java.lang.String EXTRACT_PARAMS
private static final int MAX_CHARS_PER_LINE
private static final int MAX_EXP_NAME_LENGTH
private static final int MAX_ID_LENGTH
public static final java.lang.String PRE_RUN
public static final java.lang.String RUN_PE
public static final java.lang.String SIM_TASK
public static final java.lang.String STATUS
public static final java.lang.String TRANSFORM_TASK
private static final java.lang.String VERSION_MESG
private java.io.File cwd
private jigcell.sbml2.Model model
private SymbolTable symbolTable
private SymbolTable mySymbol
java.util.Hashtable speciesIndex
java.util.Hashtable reactionIndex
private java.util.Hashtable defaultInitialConditionsContents
private int numVars
private java.util.Hashtable ruleHash
private java.util.ArrayList ruleArray
private int numRuleVars
private java.lang.String code
java.io.File targetFile
private static java.lang.String usage
| Constructor Detail |
|---|
public SBMLToStochKitTranslator(jigcell.sbml2.Model model)
throws java.lang.Exception
model - Create Fortran code for this Model.
java.lang.Exception
public SBMLToStochKitTranslator(java.lang.String fileName)
throws java.lang.Exception
fileName - The SBML file containing the model for this SBMLTranslator
instance.
java.lang.Exception
public SBMLToStochKitTranslator(java.io.Reader reader)
throws java.lang.Exception
reader - A Reader that reads a stream of characters from some source
where the characters are the SBML file text.
java.lang.Exception| Method Detail |
|---|
public java.util.Map estimatorStatus(java.lang.String modelName)
throws java.lang.Exception
java.lang.Exception
public java.util.Hashtable extractParameters(java.lang.String f90Model,
java.lang.String report)
throws java.lang.Exception
The equivalence statements in the f90Model file must be in the same order as the report file. The order should be the numerical order of the indexes of the MODEL_PARAMS array. Biopack generated f90 files will always have this order.
java.lang.Exceptionpublic void setCWD(java.io.File cwd)
public void writeCppCode(java.io.PrintWriter out)
throws java.lang.Exception
java.lang.Exception
private void ruleGenerateCode(java.util.Map compartmentMap,
java.util.Map speciesMap)
throws java.lang.Exception
java.lang.Exception
private void writeCppCode_(java.io.PrintWriter out)
throws java.lang.Exception
java.lang.Exception
private void translate()
throws java.lang.Exception
java.lang.Exception
private static java.lang.String appendAndBreak(java.lang.String s1,
java.lang.String s2)
private static java.lang.String appendAndBreakNoIndent(java.lang.String s1,
java.lang.String s2)
private static java.lang.String appendAndBreak_(java.lang.String s1,
java.lang.String s2,
boolean addIndent)
private static java.lang.String breakAFortranString(int maxWidth,
java.lang.String prefix,
java.lang.String fortranString,
java.lang.String suffix,
java.lang.String indent)
throws java.lang.Exception
java.lang.Exception
private SymbolTable buildSymbolTable(jigcell.sbml2.Model model)
throws java.lang.Exception
k1 = 3 ; k2 = 4
k23 = 3.4; k5 = 6
The last delimeter on each line is ommited. All the name widths are the
same (even
if the name widths are from different columns). All the value widths are
the same (even if the value widths are from different columns). The
maximum field width is determined by the largest name and largest value.
The table is indented by indent.
java.lang.Exceptionprivate static java.lang.String getModelId(jigcell.sbml2.Model model)
private static java.lang.String getModelName(jigcell.sbml2.Model model)
private static jigcell.sbml2.math.Node multiplyByCompartments(java.lang.String id,
jigcell.sbml2.math.Node node,
java.util.Map compartmentMap,
java.util.Map speciesMap)
throws java.lang.Exception
java.lang.Exception
private static jigcell.sbml2.math.Node multiplyTermsByCompartments(java.lang.String id,
jigcell.sbml2.math.Node node,
java.util.Map compartmentMap,
java.util.Map speciesMap)
throws java.lang.Exception
java.lang.Exceptionprotected java.util.List computeSelectionList(java.util.List returnData)
returnData - List[String] of columns to return when simulatingpublic java.util.List getAvailableSelections()
public java.util.List getSettableNames()
protected java.lang.String getProgramDirectory()
throws java.lang.Exception
java.lang.Exception
public jigcell.compare.IDataElement simulate(jigcell.simulation.Simulator simulator)
throws java.lang.Exception
simulator - Simulator
java.lang.Exception
protected jigcell.compare.IDataElement simulate(jigcell.simulation.Simulator simulator,
java.io.File targetFile,
java.io.File outputFile)
throws java.lang.Exception
simulator - SimulatortargetFile - SBML fileoutputFile - File that will contain the simulator output
java.lang.Exceptionprivate static void missingArgument(java.lang.String arg)
public static void main(java.lang.String[] args)
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||