Online Web-based Usage

https://mybinder.org/badge_logo.svg

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.

  1. Clone the ACCORDION repository, to your computer.

git clone https://github.com/pitt-miskov-zivanov-lab/ACCORDION.git
  1. 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 mcl or conda install -c "bioconda/label/cf201901" mcl; For GSL, try sudo apt-get install libgsl-dev or conda install -c conda-forge gsl or brew install gsl

  • Compile two C++ files to executables via
    cd dependencies/Model_Checking/dishwrap_v1.0/dishwrap && make && cd ../monitor && make

  • The following libraries might also be required to compile successfully: boost, flex, bison; install them via apt-get / conda / brew and update your system CPLUS_INCLUDE_PATH when 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 skip option to certain version:
    bison,flex,gcc-core(==7.4.0-1),gcc-g++(==7.4.0-1),gsl,libboost-devel,libgsl-devel,make

  • Open 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 files

  • Force Cygwin to run python executeable of Windows, not the python executeable in Cygwin’s own bin folder:

    • first, run where python in 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}/:$PATH in Cygwin Terminal;

    • lastly, check which python in Cygwin Terminal, it should not return /usr/bin/python again.

  • Make sure to use the above export command each time you open a new Cygwin Terminal

  1. Run the provided notebook.

jupyter notebook examples/use_ACCORDION.ipynb

Input and Output

Input includes:
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