Mercurial > repos > sybila > ebcsgen_pctl_parameter_synthesis
comparison ebcsgen_pctl_parameter_synthesis.py @ 2:5668805ac1c2 draft default tip
planemo upload for repository https://github.com/sybila/galaxytools/tree/master/tools/ebcsgen commit 4719a69f514aed27d90c7017f052463b0b43cbb0
| author | sybila |
|---|---|
| date | Sat, 15 Oct 2022 09:19:56 +0000 |
| parents | f1b47d8bcbf9 |
| children |
comparison
equal
deleted
inserted
replaced
| 1:94098e7ee5ca | 2:5668805ac1c2 |
|---|---|
| 3 from eBCSgen.Analysis.PCTL import PCTL | 3 from eBCSgen.Analysis.PCTL import PCTL |
| 4 from eBCSgen.Errors.FormulaParsingError import FormulaParsingError | 4 from eBCSgen.Errors.FormulaParsingError import FormulaParsingError |
| 5 from eBCSgen.Errors.InvalidInputError import InvalidInputError | 5 from eBCSgen.Errors.InvalidInputError import InvalidInputError |
| 6 from eBCSgen.Parsing.ParseBCSL import load_TS_from_json | 6 from eBCSgen.Parsing.ParseBCSL import load_TS_from_json |
| 7 from eBCSgen.Parsing.ParsePCTLformula import PCTLparser | 7 from eBCSgen.Parsing.ParsePCTLformula import PCTLparser |
| 8 | |
| 9 | |
| 10 class FakeFile: | |
| 11 def __init__(self, content): | |
| 12 self.content = content.decode("utf-8") | |
| 13 | |
| 14 def read(self): | |
| 15 return self.content | |
| 8 | 16 |
| 9 | 17 |
| 10 args_parser = argparse.ArgumentParser(description='Parameter synthesis') | 18 args_parser = argparse.ArgumentParser(description='Parameter synthesis') |
| 11 | 19 |
| 12 args_parser._action_groups.pop() | 20 args_parser._action_groups.pop() |
| 41 raise InvalidInputError("Intervals undefined for parameters: {}.".format(", ".join(undefined))) | 49 raise InvalidInputError("Intervals undefined for parameters: {}.".format(", ".join(undefined))) |
| 42 | 50 |
| 43 formula = PCTLparser().parse(args.formula) | 51 formula = PCTLparser().parse(args.formula) |
| 44 if formula.success: | 52 if formula.success: |
| 45 result = PCTL.parameter_synthesis(ts, formula, region) | 53 result = PCTL.parameter_synthesis(ts, formula, region) |
| 46 f = open(args.output, "w") | 54 if "?" not in args.formula: |
| 47 f.write(result.decode("utf-8")) | 55 result = FakeFile(result) |
| 48 f.close() | 56 df = PCTL.process_output(result) |
| 57 df.to_csv(args.output, index=False) | |
| 58 else: | |
| 59 with open(args.output, "w") as f: | |
| 60 f.write(result.decode("utf-8")) | |
| 49 else: | 61 else: |
| 50 raise FormulaParsingError(formula.data, args.formula) | 62 raise FormulaParsingError(formula.data, args.formula) |
