Online Web-based Usage
Click the icon above and run the demonstrated example; or alternatively upload user-customized input files to the input/ directory on File Browser Tab (upper left corner) of Binder.
- This interactive jupyter notebook walks you though all of the code and functions to:
Get familiar with and parse the input files including baseline model spreadsheet and machine reading extracted events.
Cluster events into groups, generate extension candidates and possibly merge some candidates.
Modify baseline model spreadsheet according to extension candidates.
Test new model files against system properties and obtain model checking results that will help modelers choose the best extension among candidates.
Offline Installation
ACCORDION requires Python and C compiler installed on local machine. If users want to explore the interactive notebook we provided locally, Jupyter notebook installation is also required.
Clone the ACCORDION repository, to your computer.
git clone https://github.com/pitt-miskov-zivanov-lab/ACCORDION.git
Navigate into the directory, install ACCORDION, its python dependencies and two non-python dependencies (MCL-a cluster algorithm for graphs, GSL-GNU Scientific Library).
MacOS/Linux
cd ACCORDION
python setup.py install
And alternatively on MacOS/Linux
Feel free to only install python dependencies first via
cd ACCORDION && pip install -e .And build non-python packages using your package managers. For MCL, try
sudo apt-get install mclorconda install -c "bioconda/label/cf201901" mcl; For GSL, trysudo apt-get install libgsl-devorconda install -c conda-forge gslorbrew install gslCompile two C++ files to executables via
cd dependencies/Model_Checking/dishwrap_v1.0/dishwrap && make && cd ../monitor && makeThe following libraries might also be required to compile successfully:
boost,flex,bison; install them via apt-get / conda / brew and update your systemCPLUS_INCLUDE_PATHwhen there are related errors
Windows (preferably in Cygwin Terminal)
cd ACCORDION
python setup.py install
Attention
Windows users: Since many commands in C building process are not available on fresh Windows, Cygwin installation is encouraged as it has a large collection of open source tools which provide functionality similar to a Linux distribution
During Cygwin installation, follow default options given, but take time in Select Packages stage, Search in full view the following packages and change from
skipoption to certain version:
bison,flex,gcc-core(==7.4.0-1),gcc-g++(==7.4.0-1),gsl,libboost-devel,libgsl-devel,makeOpen Cygwin Terminal to build and compile, you need to first use
cd C:to change directory to C drive and then further change to local filesForce Cygwin to run python executeable of Windows, not the python executeable in Cygwin’s own bin folder:
first, run
where pythonin Windows Command Prompt to get python location
(e.g.,C:\{this\is\the\path\to}\python.exe);then, run
export PATH=/cygdrive/C/{this/is/the/path/to}/:$PATHin Cygwin Terminal;lastly, check
which pythonin Cygwin Terminal, it should not return/usr/bin/pythonagain.
Make sure to use the above
exportcommand each time you open a new Cygwin Terminal
Run the provided notebook.
jupyter notebook examples/use_ACCORDION.ipynb
Input and Output
- Input includes:
a .xlsx file containing the model to extend, in the BioRECIPE model format, see example
a machine reading output file, in the BioRECIPE interaction format, see example
inflation parameter for markov clustering
number of return paths
property file containing the property expression based on BLTL syntax, see example
- Output includes:
a cluster dictionary that contains individual clusters, see example
a pickle file containing grouped (clustered) extensions, specified as nested lists. Each group starts with an integer, followed by interactions specified as [regulator element, regulated element, Interaction type: Activation (+) or Inhibition (-)], see example. This file along with the directory of system properties will be the input to the statistical model checking to verify the behavior of candidate models against the properties
another pickle file containing the merged clusters (different than _grouped_ext_ which is not merged), clusters are merged based on user-selected number of return paths, see example
a new .xlsx file containing the resulting extended model, this is just one candidate extension and there could be many candidates, see example
model checking results of the resulting extended model against properties, see example
Dependency Resources
Model Checking module, part of DySE framework, being used to test new model files against system properties
GSL - GNU Scientific Library, required by model checking module
MCL - a cluster algorithm for graphs, being used to cluster events into groups