Skip to the content.

🎀 RAPS: R Aid for P systems

Welcome to the repository behind the RAPS package.

build R

NEWS: Last 21 / 11 / 2022 RAPS 1.0.0 was launched. Have a good time trying it!.

Quickstart

Run the following to install the package locally, directly from GitHub:

devtools::install_github("Xopre/RAPS")

Now you can run every example in the demos’ folder. Give the deterministic waiting time algorithm a try!

Main workflow with RAPS:

  graph TD;
    url/path-->path2rap;
    path2rap-->rap;

    load_demo_dataset-->rap;
    
    rap-->choose_rule;
    choose_rule-->apply_rule;
    apply_rule-->new_rap;

    rap-->simulate;
    simulate-->new_rap;

    rap-->alg_gillespie_menv;
    rap-->alg_det_menv;
    alg_det_menv-->new_rap;
    alg_gillespie_menv-->new_rap;

    rap-->get_rule_by_id;
    get_rule_by_id-->show_rule;

    rap-->show_rap;
    new_rap-->show_rap;

In RAPS we use the rap (Representing A P system) objects, which have the following aspect:

$Configuration | Environment | ID | Label | Objects | SuperM | SubM | Charge | Other_params | |β€”β€”β€”β€”-|β€”-|β€”β€”-|—————–|β€”β€”β€”-|β€”β€”-|——–|————–| | 1 | 1 | 1 | [(a, 1)] | 0 | [2,3] | -1 | @immutable | | 1 | 2 | 2 | [(b, 2), (c,3)] | 1 | NULL | +1 | NA | | 1 | 3 | 3 | [(@filler, 1)] | 1 | NULL | +1 | NA |

$Rules | rule_id | dissolves | priority | main_membrane_label | lhs | rhs | propensity |β€”β€”β€”|———–|β€”β€”β€”-|——————–|—–|—–|β€”β€”β€”β€”β€”-| | value0 | FALSE | - | 1 | $lhs_1$ | $rhs_1$ | 1974 |

$Properties | System | PLingua_model | N_membranes | N_environments | N_objects | N_rules | |——–|β€”β€”β€”β€”β€”|————–|β€”β€”β€”β€”β€”|———–|——–| | FAS | Stochastic | 4 | 1 | 53 | 99 |

where:

\[lhs_1 = \begin{pmatrix} where & object & multiplicity \\ \hline \\ @here & a & 1 \\ mem_2 & b & 2 \\ @exists & mem_3 & 1 \\ \end{pmatrix}\] \[rhs_1 = \begin{pmatrix} where & object & multiplicity \\ \hline \\ @here & ap & 2 \\ mem_2 & bp & 3 \\ \end{pmatrix}\]

Main functions

Supported rules

Supported rules:

Will-be-supported rules, by priority:

  1. Charge change: $[u]_i^{\alpha} \rightarrow [v]_i^{\beta}$
  2. Dissolution: $[u \rightarrow v, \lambda]_i$
  3. Membrane generation: $u \rightarrow [\ ]_i$
  4. Membrane division: $[a]_i \rightarrow [b]_j [c]_k$

Might be supported but are nonstandard:

Other stuff

General objectives:

Repository contents

Future work