Biochemical Space language software tool
This tool serves for interpreting basic functionality to maintain Biochemical Space language. It provides state space generating which can be used for analysis and visualisation.
We are going online soon!
The most proper way is to run the binary file with Graphical User Interface suitable for your platform.
To obtain state space:
- write BCS model1 (or load it from a file),
- choose State space file - JSON file for storing generated state space,
- press Compute button.
To compute reachability:
- set entities (with their stoichiometry),
- press Check reachability button.
To simulate the model:
- choose deterministic or stochastic variant,
- set maximum computation time in seconds,
- (for stochastic option, set number of runs decide whether apply interpolation)
- press Simulation button.
If binary file is not working, build Graphical User Interface2 (in GUI directory) by running:
python gui.py <PathToParser>
- PathToParser - path where RuleParser is located3
Alternatively, CLI can be used.
-
enter CLI directory (serves as user's workspace),
-
write your BCS model into a
.bcs
file, -
to obtain state space, run script:
python state_space.py <model.bcs> <stateSpaceOutputFile.json>
- model.bcs - given BCS model
- stateSpaceOutputFile.json - JSON file for storing generated state space
1 BCS model is simple text file format containing initialized model, i.e. set of rules and initial state. Examples of such models are in Examples directory.
2 To do it, you need to have PyQt python library installed. For Windows, use this binary file, for Linux use following instructions, and for Mac OS use this installer (with all requirements). Next, matplotlib is required for plotting simulation results. Moreover, additional python packages are required (markdown, numpy, sympy, scipy) and might be installed using
pip
.
3 RuleParser improves writing and allows validation of BCSL models inside BCSgen. Therefore path to directory with
RuleParser.py
and_RuleParser.so
must be specified (alternatively, both files might be placed in Core/Import/ directory).
On Linux machines, linux_install.sh script can be used in order to install all required packages.