Modeloutputs

The modeloutputs is an input file that is used by both Gitsbe and Drabme to calculate a globaloutput response from a boolean model. In the modeloutputs file, network nodes with their respective integer weights are defined, like in the example below:

RPS6KA1   1
MYC   1
TCF7   1
CASP8   -1
CASP9   -1
FOXO3   -1

The nodes are tab-separated with the values and indicate the entities that directly influence the cell’s global signaling output or growth: nodes that have a negative weight contribute to cell death through various means (e.g. CASP8) and nodes that have a positive weight contribute to cell proliferation (e.g. MYC). We allow only integer values for the node weights. The difference between weights allows us to distinguish each node by how much they influence cell death/proliferation: for example, a weight of \(-2\) for the node CASP8 would make it twice more important for cell death as a node who has a value of \(-1\).

So, whenever we need to calculate a (predicted) signaling output or growth value for a boolean model (e.g. for most of the training data observations) and for which we already have it’s attractors (stable states or terminal trapspaces), we find the values of the modeloutput nodes in each attractor (can be either \(1\), \(0\) or a dash (\(-\)): active, inactive or the node’s activity oscillates between the two) and calculate the following weighted average score across all attractors:

\[\begin{equation} gl_{pred} = \frac{\sum_{j=1}^{k}\sum_{i=1}^{n}ss_{ij} \times w_i}{k} \tag{1} \end{equation}\]

where \(k\) is the number of attractors of the model, \(n\) is the number of nodes defined in the modeloutputs file, \(w_i\) their respective weights and \(ss_{ij}\) is the state of node \(i\) in the \(j\)-th attractor (can be one of \(0\), \(1\) or \(0.5\) in case of a dash).1 We always normalize the globaloutput to the \([0,1]\) range by using the \(max(gl)=\sum_{w_i>0}w_i\) and \(min(gl)=\sum_{w_i<0}w_i\) values and calculating:

\[\begin{equation} gl_{norm} = \frac{gl_{pred}-min(gl)}{max(gl)-min(gl)} \tag{2} \end{equation}\]

A globaloutput = 0 refers to a model with zero cell growth or viability (cell death state) while a globaloutput = 1 refers to a model with maximum growth (proliferation state).

For example, for a boolean model that has \(k=1\) attractor, Equation (1) becomes:

\[\begin{equation} gl_{pred} = \sum_{i=1}^{n} ss_i \times w_i \tag{3} \end{equation}\]

So, if we have a boolean model whose modeloutput nodes are defined as in the example above (a subset of the total model nodes) and which has \(1\) trapspace where RPS6KA1=\(1\), MYC=TCF7=\(-\) and CASP8=CASP9=FOXO3=\(0\), then using Equation (3):

\[gl_{pred}=1\times1+0.5\times1+0.5\times1+0\times-1+0\times-1+0\times-1=2\]

and since \(min(gl)=-3\) and \(max(gl)=+3\), the normalized globaloutput value is \(gl_{norm}=\frac{2-(-3)}{3-(-3)}=0.833\).


  1. And that’s a good approximation when we are talking about boolean models. It could be the case though, that a particular node which (in the trapspace result) has an activity defined by a dash (\(-\)) oscillates between \(1000\) states, out of which it’s active in \(900\) of them and inactive in the rest. So a more correct value in that case would be a \(0.9\)↩︎