SBtab

This is an overview of the SBtab syntax that is used in our workflow. This contains a list of the sheet names and subfields that are read by our software. The second column in the first row of each sheet must include “TableName=’sheet name’”. Fields that are not mentioned here are not used in the latest workflow and are not imported but might be added to future releases. Additional information on how to use SBtab can be found in https://www.sbtab.net/sbtab/default/documentation.html.

Defaults

  • !ID - Identifier code for the entries, it should consist of the letter “D” followed by an integer, should start at 1.

  • !Name - Name of the default variable being defined, we have used time, volume, substance, lenght, and area in our files.

  • !Unit - Unit of the default variable, eg. time - second.

Compartment

  • !ID - Identifier code for the entries, it should consist of the letter “V” followed by an integer, should start at 1.

  • !Name - Name of the compartment.

  • !Unit - Compartment volume unit, usually liter.

  • !Size - Size of the compartment in units defined in the unit column.

Compound

  • !ID - Identifier code for the entries, it should consist of the letter “S” followed by an integer, should start at 0.

  • !Name - Name of the compound. We advise to use recognizable compound names and separate complexes of multiple compounds with ‘_’ (e.g. A_B). Must start with a letter.

  • !Unit - Unit for the compound, usually nanomole or nanomole/liter. If it is not a default MATLAB |Reg| unit it should be added to it before trying to run the scripts.

  • !InitialValue - Default initial values for the compounds before the equilibration step. These are usually overriden by the values Si in the experiments sheet

  • !IsConstant - assigns a binary value, either TRUE or FALSE, depending on whether the value of a particular compound should stay constant throughout the simulations. Note that the input compound should remain constant.

  • !Assignment - assigns a binary value, either TRUE or FALSE.

  • !Interpolation -

  • !Type - Type of the reaction, e.g. “kinetic”.

  • !Location - Compartment in which a particular compound is present.

Reaction

  • !ID - Identifier code for the entries, it should consist of the letter “R” followed by an integer, should start at 0.

  • !Name - Reaction name. Must start with a letter and it is advisable to include the reaction index, e.g. ReactionFlux0.

  • !KineticLaw - Reaction kinectic law. Needs to include the precise mass action kinetic law with compound and parameter names from corresponding SBtab table. For a reaction ‘A + B <=> A_B’ with a forward reaction rate of kf_R0 and backward reaction rate of kr_R0 the formula would look like ‘kf_R0*A*B-kr_R0*A_B’.

  • !IsReversible - Bollean identifying the reversibility of the reaction, it is TRUE for reversible and FALSE for irreversible reactions.

  • !Location - Compartment in which a particular reaction is taking place.

  • !ReactionFormula - Chemical formula of the reaction, should be written in the form ‘A + B <= > A_B’.

Parameter

  • !ID - Identifier code for the entries, it should consist of the letter “K” followed by an integer, should start at 0.

  • !Name - Name of the parameter. We followed the convention of using ‘kf’ for forward reactions rates and ‘kr’ for reverese rates, followed by the reaction !ID, e.g. ‘kf_R0’. These names can be arbitrary but they need to coincide with whatever is defined in the Reaction kinectic law

  • !Unit - The units of the parameter.

  • !DefaultValue - Parameter value in linear space.

  • !Value:linspace - Parameter value in linear space.

  • !Value:log2 - Parameter value in log base 2.

  • !Value:log10 - Parameter value in log base 10.

  • !Location - Compartment in which a particular parameter is governing a reaction.

  • !Comment - Could be any plain text , we used it as a handy way of determining which reaction the parameter is involved in. We advise to use the following syntax ‘kf_AXB__A_B’ and ‘kr_AXB__A_B’ for respectively forward and backward rates of a reaction ‘A + B <= > A_B’.

Expression

Compounds which are defined by expressions.

  • !ID - Identifier code for the entries, it should consist of the letters “Ex” followed by an integer, should start at 0.

  • !Name - Name of the compound defined by the expresion.

  • !Formula - Formula assigned to the compound, it should use the compound names used in the compound sheet and, if needed, constant names from the constant sheet.

  • !Unit - Concentration unit for the Compound.

  • !Location - Compartment in which a particular compound is located.

Output

Compounds used as outputs in experimental data.

  • !ID - Identifier code for the entries, it should consist of the letter “Y” followed by an integer, should start at 0.

  • !Name - Name used to identify the output compound, when an existing compound needs to be measured we usually use “compound_name”_out.

  • !ErrorName - Name of the error of the output compound. It should start with ‘SD’ (referring to standard deviation) followed by the output ID, e.g. SD_Y0.

  • !ErrorType - Type of error for the output compound, we have used ‘abs+rel random noise (std)’.

  • !Unit - Concentration unit for the output compound.

  • !ProbDist - Probability distribution type of the measured output in an experimental setting, e.g. ‘normal’.

  • !Location - Compartment in which a particular output compound is located.

  • !Formula - Formula that links the experimental measured output to the compounds in the model. Usually the experimental measurement corresponds to a sum of compounds existing in the model but ratios are also common.

Experiments

Each column corresponds to one experiment for which there is a separate sheet.

  • !ID - Identifier code for the entries, it should consist of the letter “E” followed by an integer, should start at 0.

  • !Name - Name used to identify the experiment, we advise using the the word ‘Experiment’ followed by the experiment index.

  • >Output - Should list all the output !ID’s, i.e. Y’s followed by their indices and separated by commas.

  • >Si- List of the various compounds of the model that have starting amounts other than 0, the same !ID as in the coumpound table should be used.

In a model with 2 experiments and 5 compounds A,B,C,D,E with IDs S0,S1,S2,S3,S4 respectively

  • Experiment1 with compounds starting amounts A=0,B=1,C=2,D=0,E=3

  • Experiment2 with compounds starting amounts A=1,B=0,C=1,D=0,E=4

Four entries should be included as exemplified bellow:

>S0

>S1

>S2

>S4

Experiment1

0

1

2

3

Experiment2

1

0

1

4

Note that D/S3 is omitted because the starting value is 0 in all experiments.

  • !SimTime - Simulation time for a particular experiment.

  • !Normalize - Normalizations to be performed to the outputs are defined here.

Ei

Corresponds to individual experiments. It should have the name of the experiment IDs used in the experiments sheet.

  • !ID - Identifier code for the entries, it should consist of the letters “EiT” followed by an integer, should start at 0.

  • !Time - Time series data, this should include a list of all the time points during which the corresponding output data points were sampled.

  • `>Yi- Compound to be measured, corresponds to the !ID of the output sheet. It should have the experimental (or simulated from another model) data.

  • `SD_Yi- Error of the compound to be measured, corresponds to the !ErrorName of the output sheet. It should have the experimental (or simulated from another model) data.

EiI

Corresponds to individual experiments. It should have the name of the experiment IDs used in the experiments sheet, with an i in between E and the experiment number.

  • !ID - Identifier code for the entries, it should consist of the letters “EiIT” followed by an integer, should start at 0.

  • !Input_Time_Si- Time series of the inputs to the model, this should include a list of all the time points during which the corresponding input data points were sampled. To produce simple step inputs, only the time points during which a change in concentration is happening can be included. To produce more complicated input curves, more time points are needed to represent the shape of the curve.

  • `>Si- Compound that is being changed as input to the model, corresponds to the !ID in the compound table. This column should represent the sampled concentration data points corresponding to each time point.