The code is available at the repository\ \cite{ReactionSystemsGit}.
To download the software the git\ \cite{git} utility is recommended.
To run the CLI a rust installation is necessary. It is recommended to install rustup\ \cite{rustup} from the official site or via a package manager:
\begin{minted}{Bash}
sudo apt install rustup
sudo dnf install rustup
sudo pacman -S rustup
brew install rustup
\end{minted}
After installation run \mintinline{bash}{rustup default stable} to install a target.
To build the code into an executable run \mintinline{bash}{cargo build --release}; to run the executable \mintinline{bash}{cargo run --release}.
The repository contains only one executable workspace, called \(\texttt{analysis}\), that provides the CLI.\ It expects a path to a file with structure described in section\ \ref{instructions_analysis}.
\end{subsection}
\begin{subsection}{Reaction Systems GUI}
The code is available at the repository\ \cite{ReactionSystemsGUIGit}.
To download the software the git\ \cite{git} utility is recommended.
To run the GUI a rust installation is necessary. It is recommended to install rustup\ \cite{rustup} from the official site or via a package manager:
After installation run \mintinline{bash}{rustup default stable} to install a target. To install the wasm32 target a script is provided in the folder \(\texttt{reaction\_systems\_gui/}\) named\\\(\texttt{setup\_web.sh}\).
To format the code in a uniform way run \mintinline{bash}{cargo +nightly fmt}.
To run the program use \mintinline{bash}{cargo run --release --features "persistence"}. % chktex 18
The option \(\texttt{--features "persistence"}\)% chktex 18
enables file reading and saving.
To run the web application a script is provided in the folder \(\texttt{reaction\_systems\_gui/}\) called \(\texttt{build\_web.sh}\).
The binary generated by rust is optimized using wasm-opt\ \cite{binaryen_2025}. It can be installed using a package manager:
\begin{minted}{bash}
sudo apt install binaryen
sudo dnf install binaryen
sudo pacman -S binaryen
brew install binaryen
\end{minted}
The optimization step can be skipped by providing the flag \(\texttt{--fast}\) to the script.
To run locally serve the files in the folder \(\texttt{reaction\_systems\_gui/docs/}\). This can be done with any simple http server. For example one can be installed by running \mintinline{bash}{cargo install basic-http-server}.
A script is provided to run the server in the folder \(\texttt{reaction\_systems\_gui/}\) named \(\texttt{start\_server.sh}\).