## 2 Materials and Methods  
### Petri Nets  
We explore Petri net technologies to develop a model of the drug-disease network for the synthesis of the SMN protein from _SMN2_ gene. This model incorporates Petri nets, continuous Petri nets (CPNs), hybrid Petri nets (HPNs), and stochastic Petri nets (SPNs). In what follows, we formally define the Petri net, CPN, HPN, and SPN, and for further elaboration on the Petri nets and corresponding extensions, we direct the readers to [12; 13]. A Petri net is a 5-tuple \(R=(P,T,I,O,M_{0})\) such as \(P=\{p_{1},\ldots,p_{n}\}\), \(T=\{t_{1},\ldots,t_{m}\}\), \(I\subseteq P\times T\), \(O\subseteq T\times P\), \(M_{0}:P\rightarrow\mathbb{N}\) where \(P,T,I,O\), and \(M_{0}\) are the sets of places, transitions, input arcs, output arcs, and initial marking, respectively, \(P\cap T=\emptyset\), and \(\mathbb{N}\) is the set of natural numbers. The weight function \(W:(P\times T)\cup(T\times P)\rightarrow\mathbb{Z}_{0}^{+}\) assigns to each arc a non-negative integer called an arc multiplicity (or weight) where \(\mathbb{Z}_{0}^{+}\) is the set of non-negative integers. Given transition \(t\) and place \(p\), the weight of an arc from \(t\) to \(p\), written \(w(t,p)\), specifies the number of tokens to be added to \(p\) when \(t\) occurs. Similarly, the weight of an arc from \(p\) to \(t\), written \(w(p,t)\), specifies the number of tokens to be removed from \(p\) when \(t\) occurs. It must be noted that no arc may connect two places or two transitions. In a Petri net, a transition \(t\) is said to be enabled if each input place \(p\) is marked with at least \(w(p,t)\) tokens. Thus, \(t\) is enabled if \(M(p)\geq w(p,t)\) is valid for all \(p\in{}^{\circ}t\) where \({}^{\circ}t\) is the set of input places of \(t\). A transition \(t\) is said to be disabled in the marking \(M\) if there exists an input place \(p\) with a number of tokens less than \(w(p,t)\). That is, \(t\) is disabled if there exists \(p\in{}^{\circ}t\) such that \(M(p)<w(p,t)\) holds. An enabled transition may or may not fire or occur, depending on whether or not the event actually takes place. Occurrence of an enabled transition \(t\) removes \(w(p,t)\) tokens from \(p\in{}^{\circ}t\), and adds \(w(t,p)\) tokens to \(p\in{}^{\circ}\), where \(t{}^{\circ}\) represents the set of output places \(t\). More mathematically, the occurrence of the enabled transition \(t\) changes the state of the Petri net from \(M\) to \(M^{\prime}\) as follows:  
\[M^{\prime}(p)=M(p)-w(p,t)+w(t,p),\forall p\in P.\]  
A CPN is a 5-tuple \(R=(P,T,Pre,Post,M_{0})\), such as \(P\) and \(T\) are the same as those in the definition of Petri net, and \(Pre\) is a function from \(P\times T\) to \(\mathbb{Q}^{+}\), \(Post\) is a function from \(T\times P\) to \(\mathbb{Q}^{+}\), and \(M_{0}\) is from \(P\) to \(\mathbb{R}_{0}^{+}\) where \(Pre\) and \(Post\) are weight functions, which associate a positive rational number with the arcs \((p,t)\in P\times T\) and \((t,p)\in T\times P\), respectively, \(M_{0}\) is a vector of non-negative real numbers, \(\mathbb{Q}^{+}\) is the set of positive rational numbers, and \(\mathbb{R}_{0}^{+}\) is the set of non-negative real numbers. Let \(R\) be a basic Petri net with \(n\) places and \(l\) transitions, and let \(M=(m_{p_{1}},\ldots,m_{p_{n}})\) be any marking reachable from initial marking, where \(m_{p_{l}}\) indicates the number of tokens in \(p_{i}\), \(1\leq i\leq n\). To create an equivalent CPN, we start by dividing each token into \(k\) new tokens, each representing one \(k\)th of the original token while preserving the structure of the net. In a new Petri net, markings are expressed in terms of new tokens, e.g., \(M\) is transformed into \(M^{\prime}=(m^{\prime}_{p_{1}},\ldots,m^{\prime}_{p_{n}})\) where \(m_{p_{i}}=k\cdot m^{\prime}_{p_{i}}\) for all \(i\). The firing rule operates on new tokens in a manner similar to the basic case: The occurrence of a transition removes new tokens from input places and adds new tokens to output places.