diff --git a/paper.pdf b/paper.pdf index 2189e35..4c2b087 100644 Binary files a/paper.pdf and b/paper.pdf differ diff --git a/paper.tex b/paper.tex index efe9dac..eb2a603 100644 --- a/paper.tex +++ b/paper.tex @@ -21,6 +21,9 @@ % some packages which may be useful when drafting, but should be removed before submission \usepackage{todonotes} + +\usepackage{tikz} + % You can define your own commands. This is useful for shorthands, for example \newcommand{\EE}{\mathbb{E}} \newcommand{\RR}{\mathbb{R}} @@ -54,7 +57,7 @@ \begin{document} -\title{Influence of update schemes on gene regulatory networks} +\title{Influence of update schemes on boolean networks} % author information % COMMENT OUT THESE LINES FOR YOUR CONFERENCE SUBMISSION! @@ -81,7 +84,162 @@ Possible points to mention here: \section{Boolean networks} -Explain Boolean network and what an update scheme is using the synchronous/parallel scheme. Also use figure, e.g. \cref{fig:boolean_example} to further visualize and create a better understanding of boolean networks. Also explain what chaotic behavior is due its relevance for the update schemes. +A boolean network consists of nodes $x_i(t)$ that have a boolean state, either $0$ or $1$, at a point in time $t$. Each node has a corresponding update function $x_i(t+1) = f_i(x_1(t), x_2(t), \ldots, x_n(t))$ expressing the new state of $x_i(t+1)$. The state of the boolean network can be describe as a boolean number $x_1 x_2\ldots x_n$ where each node is replaced with the corresponding state. + + +\begin{figure} + \centering + + \tikzset{every picture/.style={line width=0.75pt}} %set default line width to 0.75pt + \begin{tikzpicture}[x=0.75pt,y=0.75pt,yscale=-1,xscale=1] + %uncomment if require: \path (0,321); %set diagram left start at 0, and has height of 321 + + %Shape: Circle [id:dp6120737986176485] + \draw (89.67,50) .. controls (89.67,38.95) and (98.62,30) .. (109.67,30) .. controls (120.71,30) and (129.67,38.95) .. (129.67,50) .. controls (129.67,61.05) and (120.71,70) .. (109.67,70) .. controls (98.62,70) and (89.67,61.05) .. (89.67,50) -- cycle ; + %Shape: Circle [id:dp4460102181537059] + \draw (179.67,50) .. controls (179.67,38.95) and (188.62,30) .. (199.67,30) .. controls (210.71,30) and (219.67,38.95) .. (219.67,50) .. controls (219.67,61.05) and (210.71,70) .. (199.67,70) .. controls (188.62,70) and (179.67,61.05) .. (179.67,50) -- cycle ; + %Shape: Circle [id:dp5043508885922044] + \draw (89.67,130) .. controls (89.67,118.95) and (98.62,110) .. (109.67,110) .. controls (120.71,110) and (129.67,118.95) .. (129.67,130) .. controls (129.67,141.05) and (120.71,150) .. (109.67,150) .. controls (98.62,150) and (89.67,141.05) .. (89.67,130) -- cycle ; + %Shape: Circle [id:dp19837549619745176] + \draw (179.67,130) .. controls (179.67,118.95) and (188.62,110) .. (199.67,110) .. controls (210.71,110) and (219.67,118.95) .. (219.67,130) .. controls (219.67,141.05) and (210.71,150) .. (199.67,150) .. controls (188.62,150) and (179.67,141.05) .. (179.67,130) -- cycle ; + %Straight Lines [id:da34212297668952507] + \draw (129.67,46) -- (177.67,46) ; + \draw [shift={(179.67,46)}, rotate = 180] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.08] [draw opacity=0] (12,-3) -- (0,0) -- (12,3) -- cycle ; + %Straight Lines [id:da9191192486085845] + \draw (179.67,54) -- (131.67,54) ; + \draw [shift={(129.67,54)}, rotate = 360] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.08] [draw opacity=0] (12,-3) -- (0,0) -- (12,3) -- cycle ; + %Straight Lines [id:da9988186797184601] + \draw (109.67,70) -- (109.67,108) ; + \draw [shift={(109.67,110)}, rotate = 270] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.08] [draw opacity=0] (12,-3) -- (0,0) -- (12,3) -- cycle ; + %Straight Lines [id:da0026996459711727816] + \draw (129.67,126) -- (177.67,126) ; + \draw [shift={(179.67,126)}, rotate = 180] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.08] [draw opacity=0] (12,-3) -- (0,0) -- (12,3) -- cycle ; + %Straight Lines [id:da6389438894367955] + \draw (179.67,134) -- (131.67,134) ; + \draw [shift={(129.67,134)}, rotate = 360] [fill={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.08] [draw opacity=0] (12,-3) -- (0,0) -- (12,3) -- cycle ; + + % Text Node + \draw (105.17,42.5) node [anchor=north west][inner sep=0.75pt] [align=left] {1}; + % Text Node + \draw (194.67,42.5) node [anchor=north west][inner sep=0.75pt] [align=left] {2}; + % Text Node + \draw (104.67,122.5) node [anchor=north west][inner sep=0.75pt] [align=left] {3}; + % Text Node + \draw (194.67,122) node [anchor=north west][inner sep=0.75pt] [align=left] {4}; + % Text Node + \draw (111.33,207.8) node [anchor=north west][inner sep=0.75pt] {$ \begin{array}{l} + f_{1} =\neg x_{2}\\ + f_{2} =x_{1}\\ + f_{3} =x_{1} \oplus x_{4}\\ + f_{4} =x_{3} + \end{array}$}; + + \end{tikzpicture} + + \caption{Example of a boolean network with four nodes. Each vertex indicates that a node is part of the update function of the other node. For instance $x_1$ is part of $f_2$ and $f_3$. + } + \label{fig:bn_example} +\end{figure} + +Consider the boolean network shown in \cref{fig:bn_example}. Assume the current state is $0011$, meaning that $x_1, x_2$ are $0$ and $x_3, x_4$ are $1$. The next state when applying the update function all at once is $1011$. Updating the network multiple times creates a trajectory, which is the sequence of the states starting from the initial state. With our example, the trajectory is $0011 \rightarrow 1011 \rightarrow 1101 \rightarrow 0100 \rightarrow \ldots$. Each trajectory in a reasonably small boolean network eventually reaches one of two scenarios. Either it falls into a state that doesn't change when updated, called attractor, or it falls into a cycle of states. In the example, there are 2 cycles of length 8 visible in \cref{fig:bn_ex_state_graph}. + +\begin{figure} + + + \tikzset{every picture/.style={line width=0.75pt}} %set default line width to 0.75pt + + \begin{tikzpicture}[x=0.75pt,y=0.75pt,yscale=-1,xscale=1] + %uncomment if require: \path (0,182); %set diagram left start at 0, and has height of 182 + + %Straight Lines [id:da7515060673133168] + \draw (63,30) -- (91,30) ; + \draw [shift={(93,30)}, rotate = 180] [color={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] (10.93,-3.29) .. controls (6.95,-1.4) and (3.31,-0.3) .. (0,0) .. controls (3.31,0.3) and (6.95,1.4) .. (10.93,3.29) ; + %Straight Lines [id:da5101009163931332] + \draw (133,30) -- (161,30) ; + \draw [shift={(163,30)}, rotate = 180] [color={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] (10.93,-3.29) .. controls (6.95,-1.4) and (3.31,-0.3) .. (0,0) .. controls (3.31,0.3) and (6.95,1.4) .. (10.93,3.29) ; + %Straight Lines [id:da17974568496180332] + \draw (203,30) -- (231,30) ; + \draw [shift={(233,30)}, rotate = 180] [color={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] (10.93,-3.29) .. controls (6.95,-1.4) and (3.31,-0.3) .. (0,0) .. controls (3.31,0.3) and (6.95,1.4) .. (10.93,3.29) ; + %Straight Lines [id:da28479803325341] + \draw (93,70) -- (65,70) ; + \draw [shift={(63,70)}, rotate = 360] [color={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] (10.93,-3.29) .. controls (6.95,-1.4) and (3.31,-0.3) .. (0,0) .. controls (3.31,0.3) and (6.95,1.4) .. (10.93,3.29) ; + %Straight Lines [id:da9289522355407928] + \draw (163,70) -- (135,70) ; + \draw [shift={(133,70)}, rotate = 360] [color={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] (10.93,-3.29) .. controls (6.95,-1.4) and (3.31,-0.3) .. (0,0) .. controls (3.31,0.3) and (6.95,1.4) .. (10.93,3.29) ; + %Straight Lines [id:da5098188343671546] + \draw (233,70) -- (205,70) ; + \draw [shift={(203,70)}, rotate = 360] [color={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] (10.93,-3.29) .. controls (6.95,-1.4) and (3.31,-0.3) .. (0,0) .. controls (3.31,0.3) and (6.95,1.4) .. (10.93,3.29) ; + %Straight Lines [id:da48531701923414494] + \draw (43,60) -- (43,42) ; + \draw [shift={(43,40)}, rotate = 90] [color={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] (10.93,-3.29) .. controls (6.95,-1.4) and (3.31,-0.3) .. (0,0) .. controls (3.31,0.3) and (6.95,1.4) .. (10.93,3.29) ; + %Straight Lines [id:da8391791574907262] + \draw (253,40) -- (253,58) ; + \draw [shift={(253,60)}, rotate = 270] [color={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] (10.93,-3.29) .. controls (6.95,-1.4) and (3.31,-0.3) .. (0,0) .. controls (3.31,0.3) and (6.95,1.4) .. (10.93,3.29) ; + %Straight Lines [id:da24177074905043572] + \draw (63,110) -- (91,110) ; + \draw [shift={(93,110)}, rotate = 180] [color={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] (10.93,-3.29) .. controls (6.95,-1.4) and (3.31,-0.3) .. (0,0) .. controls (3.31,0.3) and (6.95,1.4) .. (10.93,3.29) ; + %Straight Lines [id:da21625025411268273] + \draw (133,110) -- (161,110) ; + \draw [shift={(163,110)}, rotate = 180] [color={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] (10.93,-3.29) .. controls (6.95,-1.4) and (3.31,-0.3) .. (0,0) .. controls (3.31,0.3) and (6.95,1.4) .. (10.93,3.29) ; + %Straight Lines [id:da9822082649794383] + \draw (203,110) -- (231,110) ; + \draw [shift={(233,110)}, rotate = 180] [color={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] (10.93,-3.29) .. controls (6.95,-1.4) and (3.31,-0.3) .. (0,0) .. controls (3.31,0.3) and (6.95,1.4) .. (10.93,3.29) ; + %Straight Lines [id:da1915219980691898] + \draw (93,150) -- (65,150) ; + \draw [shift={(63,150)}, rotate = 360] [color={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] (10.93,-3.29) .. controls (6.95,-1.4) and (3.31,-0.3) .. (0,0) .. controls (3.31,0.3) and (6.95,1.4) .. (10.93,3.29) ; + %Straight Lines [id:da22061673245947822] + \draw (163,150) -- (135,150) ; + \draw [shift={(133,150)}, rotate = 360] [color={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] (10.93,-3.29) .. controls (6.95,-1.4) and (3.31,-0.3) .. (0,0) .. controls (3.31,0.3) and (6.95,1.4) .. (10.93,3.29) ; + %Straight Lines [id:da6267831846161589] + \draw (233,150) -- (205,150) ; + \draw [shift={(203,150)}, rotate = 360] [color={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] (10.93,-3.29) .. controls (6.95,-1.4) and (3.31,-0.3) .. (0,0) .. controls (3.31,0.3) and (6.95,1.4) .. (10.93,3.29) ; + %Straight Lines [id:da6290428382558753] + \draw (43,140) -- (43,122) ; + \draw [shift={(43,120)}, rotate = 90] [color={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] (10.93,-3.29) .. controls (6.95,-1.4) and (3.31,-0.3) .. (0,0) .. controls (3.31,0.3) and (6.95,1.4) .. (10.93,3.29) ; + %Straight Lines [id:da9391797989074463] + \draw (253,120) -- (253,138) ; + \draw [shift={(253,140)}, rotate = 270] [color={rgb, 255:red, 0; green, 0; blue, 0 } ][line width=0.75] (10.93,-3.29) .. controls (6.95,-1.4) and (3.31,-0.3) .. (0,0) .. controls (3.31,0.3) and (6.95,1.4) .. (10.93,3.29) ; + + % Text Node + \draw (24,22) node [anchor=north west][inner sep=0.75pt] [align=left] {0000}; + % Text Node + \draw (94,22) node [anchor=north west][inner sep=0.75pt] [align=left] {1000}; + % Text Node + \draw (164,22) node [anchor=north west][inner sep=0.75pt] [align=left] {1110}; + % Text Node + \draw (234,22) node [anchor=north west][inner sep=0.75pt] [align=left] {0111}; + % Text Node + \draw (94,62) node [anchor=north west][inner sep=0.75pt] [align=left] {1101}; + % Text Node + \draw (24,62) node [anchor=north west][inner sep=0.75pt] [align=left] {0100}; + % Text Node + \draw (164,62) node [anchor=north west][inner sep=0.75pt] [align=left] {1011}; + % Text Node + \draw (234,62) node [anchor=north west][inner sep=0.75pt] [align=left] {0011}; + % Text Node + \draw (24,102) node [anchor=north west][inner sep=0.75pt] [align=left] {0001}; + % Text Node + \draw (94,102) node [anchor=north west][inner sep=0.75pt] [align=left] {1010}; + % Text Node + \draw (164,102) node [anchor=north west][inner sep=0.75pt] [align=left] {1111}; + % Text Node + \draw (234,102) node [anchor=north west][inner sep=0.75pt] [align=left] {0101}; + % Text Node + \draw (94,142) node [anchor=north west][inner sep=0.75pt] [align=left] {1100}; + % Text Node + \draw (24,142) node [anchor=north west][inner sep=0.75pt] [align=left] {0110}; + % Text Node + \draw (164,142) node [anchor=north west][inner sep=0.75pt] [align=left] {1001}; + % Text Node + \draw (234,142) node [anchor=north west][inner sep=0.75pt] [align=left] {0010}; + + + \end{tikzpicture} + \centering + \caption{State graph of the boolean network shown in \cref{fig:bn_example} using synchronous update scheme.} + \label{fig:bn_ex_state_graph} +\end{figure} + \subsection{Notation} Define clear notation used throughout the paper. Position of this subsection could change to be part of the Introduction instead. @@ -93,16 +251,21 @@ Explain different update schemes including characteristics for behavior especial \subsection{Synchronous scheme} The Synchronous (also known as Parallel) update scheme assumes that every node is updated at once. + \subsection{Sequential scheme} close to synchronous. the nodes update in a specific order and take into account the updated input node if that node had been updated before/is positioned earlier in the sequence + \subsection{Block-sequential scheme} mix of synchronous and sequential. predefined blocks update sequential, inside a block the update follows the synchronous scheme + \subsection{Asynchronous deterministic} one node is updated per tick following a specific sequence + \subsection{Asynchronous generalized} same as asynchronous deterministic with the slight change that within the sequence nodes may appear multiple times. + \section{Relevance for Gene Regulatory Networks} \label{sec:relevance_grn} Tie the update schemes and their different outcomes or behavior to GRN. @@ -116,18 +279,6 @@ References: \cite{schwab2020concepts}\cite{aracena2009robustness}\cite{bornholdt -\begin{figure} % The starred version uses both columns; unstarred only one column - \centering - \includegraphics[width=3in]{4bit BN.png} - % TIP: Ensure the original image file has approximately the right dimensions - % (if using matplotlib, specify correct figure size) so that the image is not rescaled too brutally. - - \caption{Boolean example (image will be changed!). - % NB: The '~' inserts a non-breaking space, ensuring 'Ref.' is never separated from its number - Simple boolean network example; a graph of the network and most likely a table as well for the updated states $x(t) \rightarrow x(t+1)$ (currently missing) - } -\label{fig:boolean_example} -\end{figure} \begin{figure*} % The starred version uses both columns; unstarred only one column \centering