# HG changeset patch
# User sybila
# Date 1662728792 0
# Node ID 3bdec3b221526f6f0c2a42de6d4f1af66eb52a75
planemo upload for repository https://github.com/sybila/galaxytools/tree/master/tools/ebcsgen commit 7befebc7a9bc40d8b97f4dac752ad9646aac40de
diff -r 000000000000 -r 3bdec3b22152 ebcsgen_generate_ts.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ebcsgen_generate_ts.py Fri Sep 09 13:06:32 2022 +0000
@@ -0,0 +1,43 @@
+import argparse
+
+from eBCSgen.Errors.ModelParsingError import ModelParsingError
+from eBCSgen.Errors.UnspecifiedParsingError import UnspecifiedParsingError
+from eBCSgen.Parsing.ParseBCSL import Parser
+
+import numpy as np
+
+
+args_parser = argparse.ArgumentParser(description='Transition system generating')
+
+args_parser._action_groups.pop()
+required = args_parser.add_argument_group('required arguments')
+optional = args_parser.add_argument_group('optional arguments')
+
+required.add_argument('--model', type=str, required=True)
+required.add_argument('--output', type=str, required=True)
+required.add_argument('--direct', required=True)
+
+optional.add_argument('--max_time', type=float, default=np.inf)
+optional.add_argument('--max_size', type=float, default=np.inf)
+optional.add_argument('--bound', type=int, default=None)
+
+args = args_parser.parse_args()
+
+model_parser = Parser("model")
+model_str = open(args.model, "r").read()
+
+model = model_parser.parse(model_str)
+if model.success:
+ if eval(args.direct):
+ ts = model.data.generate_direct_transition_system(args.max_time,
+ args.max_size,
+ args.bound)
+ ts.change_to_vector_backend()
+ else:
+ vm = model.data.to_vector_model(args.bound)
+ ts = vm.generate_transition_system(None, args.max_time, args.max_size)
+ ts.save_to_json(args.output, model.data.params)
+else:
+ if "error" in model.data:
+ raise UnspecifiedParsingError(model.data["error"])
+ raise ModelParsingError(model.data, model_str)
diff -r 000000000000 -r 3bdec3b22152 ebcsgen_generate_ts.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ebcsgen_generate_ts.xml Fri Sep 09 13:06:32 2022 +0000
@@ -0,0 +1,58 @@
+
+ - generate transition system of the given model
+
+ macros.xml
+
+
+
+ sybila/ebcsgen:v@TOOL_VERSION@
+
+
+ python3 ${__tool_directory__}/ebcsgen_generate_ts.py
+ --model '$model'
+ --output '$output'
+ --direct '$network_free_choice'
+ #if $adv.bound != "":
+ --bound '$adv.bound'
+ #end if
+ #if $adv.max_time != "":
+ --max_time '$adv.max_time'
+ #end if
+ #if $adv.max_size != "":
+ --max_size '$adv.max_size'
+ #end if
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r 000000000000 -r 3bdec3b22152 macros.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/macros.xml Fri Sep 09 13:06:32 2022 +0000
@@ -0,0 +1,17 @@
+
+ 2.0.3
+
+
+
+
+
+
+
+
diff -r 000000000000 -r 3bdec3b22152 test-data/simple.bcsl.model
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/simple.bcsl.model Fri Sep 09 13:06:32 2022 +0000
@@ -0,0 +1,7 @@
+#! rules
+r1_S ~ P(S{i})::cell => P(S{a})::cell
+r1_T ~ P(T{i})::cell => P(T{a})::cell
+r2 ~ P()::cell => P()::out
+
+#! inits
+1 P(S{i},T{i})::cell
\ No newline at end of file