%
% $Id: report.tex 571 2008-04-20 17:31:04Z rick $
%

\documentclass[12pt,a4paper]{article}

\frenchspacing
\usepackage[english]{babel}
\selectlanguage{english}
\usepackage{graphicx}
\usepackage{url}
\usepackage{multicol}
\usepackage{fancybox}
\usepackage{amssymb,amsmath}

\title{DRAFT: Modeling planar signalling in AP axis development in \emph{Xenopus laevis}\\
\large{using Petri Nets in Higher Level Developmental Biology}}
\author{Rick van der Zwet, Tiago Borges Coelho \\
  \texttt{<hvdzwet@liacs.nl>,<borges.coelho@gmail.com>}\\ 
  LIACS - Leiden University, The Netherlands}
\date{\today}

\begin{document}
\maketitle
\section{Abstract}
Planar signaling is the process in which cells accumulate proteins based on the
saturation of nearby cells. If one cell produces n ammount of proteins, it will
initiate a transfering cascade to cells in the vicinity. This dissemination of
proteins will eventually cease, considering that n is a finite variable. There
is a gradation in the ammount of proteins transfered, meaning that neighbouring
cells get n/2 the ammount of proteins of the most saturated cell.

XXX: Citing to the Bio Papers
XXX: Small introductions Petri-nets

\section{Approch}
First a PetriNet model will be defined textually and using graphs next the
modeling will be taking into practice using the modeling tool\emph{CPNTools}. 

\section{Modeling}
To model this process we will take a modular approach using coloured PetriNets
(see Fig~\ref{fig:model}), since the goal of this assignment is to have a
solution that can be applied to any configuration of cells. We start with a
bulding block that is an abstraction of a cell (figure: circle), which can then
be coupled to other cells (figure: arrows). The abstraction contains two
different types. First the proteins are modelled (figure: red), secondly the
proteins (figure: blue) are leading in a second process of the creation of
gradients which also needs modeling. We assume a 1:1 mapping between the amount
of proteins and gradients -this taken into consideration- ones an \texttt{INITIAL}
protein is 'used' (e.g. has on posterisation counterpart) in this process it
get called \texttt{ACTIVATED}. We assume that the proteins to posterisation
process is taking place at the same time as the proteins distribution. And in a
special format (figure: object B). It tries to matches the posterisation to the
same level as the proteins present. But the moment the protein level lowers,
the posterisation will remain the same. In pseudo-code:
\begin{verbatim}
if numPos < numProteins then
    numPos = numPos + 1
endif
\end{verbatim}
\texttt{numProteins} is the proteins available and \texttt{numPos} is the
posterisation present.

The connectors between the cells (the membrams) has a special properly. One
can see them as pressure valves others as sighons (see Fig~\ref{fig:pressure}).
The moment the 'volume' at complies with the following properly $A / 2 < B$
then the pressure closes, else it passes volume from A to B at an certain rate
(\texttt{flowSpeed}). This rate could depend on the difference, actual value present
or something else.

For the case there exists no standard PetriNet 'component', hence  this require
the creation of a new property (figure: $2:1$), with the following properties:

\begin{verbatim}
flowSpeed = n
if A > 2 * B then
  A = A - flowSpeed
  B = B + flowSpeed
else if B > 2 * A then
  B = B - flowSpeed
  A = A + flowSpeed
endif
\end{verbatim}

Planar signaling could theoretically start in every cell, by
inserting some amount of protiens. In our model represented as a bunch of
\texttt{INITIAL} tokens beeing put in a random cell.

\begin{figure}[htp]
\centering
\caption{Planar signaling model}
\includegraphics[width=100mm]{planar-signaling-model.eps}
\label{fig:model}
\end{figure}

\begin{figure}[htp]
\centering
\caption{Pressure valve example}
\includegraphics[height=60mm]{pressure-valve.eps}
\label{fig:pressure}
\end{figure}

\section{CPNTools 'implementation'}
CPNTools has quite some shortcomings when it comes to modeling (higher level
developmental) biology.

One it the shortcoming of the 'balancing'. It does not allow reading of how
many tokens are present in a certain state and base action uppon them. As
workaround for this (see Fig~\ref{fig:CPNplanar}) we used a 'dump' gradation
function. In our case it simply take 3 tokens and pushes 1 forward and
converting 2 directly to \texttt{ACTIVATED}. This does not take in
consideration if the amount get changed in 'further-up', by some external
source.

Secondly it is missing a possibility to for easy random initialisation for
modeling purposes. As a dirty quirk we 'hacked' it to choose between starting
at the head or the tail.

In this implementation the protiens to gradiants  process is taking place at
cell $A$ at the same time that the proteins get transfered from cell $A$ to
$B$. 

Also it should be noted that it missing a notion of timed firing sequences;
meaning firing sequences which will occur at an certain time. This could for
example used to 'trigger' a timmed activation of the \texttt{INITIAL} to
\texttt{ACTIVATED} process as modeled in fig~\ref{fig:model}. An initial idea
is shown at fig\ref{fig:time-idea} in appendix 1.


\begin{figure}[htp]
\centering
\caption{CPNTools implementation}
\advance\leftskip-2cm
\advance\rightskip+2cm
\includegraphics[width=1.3\textwidth]{planer-signaling.eps}
\label{fig:CPNplanar}
\end{figure}

\section{Conclusion}
Using PetriNets for modeling biology processes is a powerful framework, which
could be well extendable. The Proof Of Concept implementations and
visualisations how-ever are lacking. \emph{CPNTools} for example does not
provide a powerfull enough toolset for the modeling purposes.

\begin{thebibliography}{10}
%   sing Petri Nets in Higher Level Developmental Biology:
% A case study on the AP axis development in Xenopus laevis
%                    Extended Abstract
% http://www.liacs.nl/~csbpn/COURSE%20DOCUMENTS/extended%20abstract%20Bertens%20Jansen%20Kleijn%20Koutny%20Verbeek.pdf
% Laura M.F. Bertens

% http://www.liacs.nl/~csbpn/
%
%

\end{thebibliography}
\section{*Appendix}

\begin{figure}[htp]
\centering
\caption{Timed transition idea}
\includegraphics[width=0.5\textwidth]{timer-proposal.eps}
\label{fig:time-idea}
\end{figure}
\end{document}
