Table Of Contents

User Guide

Download

Note

Siren is a multi-platform software licensed under the Apache License, Version 2.0.

Siren and the algorithms that come with it are implemented in Python.

Siren is the graphical user interface that allows to mine, visualize and interactively edit redescriptions. Clired is the command-line user interface that allows to mine and preprocess redescriptions. They rely on a few different mining algorithms.

../_images/Clired-Siren_structure.svg

The interface is built with the wxPython Open Source GUI toolkit, ensuring cross-platform compatibility. The matplotlib library enables to generate high quality figures, seamlessly integrated in the interface.

The code is compatible with Python 3. Code from releases prior to 5.0 is compatible with Python 2.7.

After installing Siren, take a look at the user guide to get started.

Feel free to contact us for support or with feedback, bug reports and questions. mailto:esther.galbrun@inria.fr

Source code

If you do not yet have it, you will need to install Python, recent versions come with pip (the Python Package Installer) onboard.

Siren requires a number of python libraries, including scipy, numpy, scikit-learn, matplotlib, cartopy and wxPython. Make sure they are installed and accessible before you run Siren.

Git repository

The source code is hosted on GitLab Inria. You can clone it.

Once you obtained the source code, Siren can be launched by running python exec_siren.py from the python-siren folder.

PyPI package

Siren is available as a python package on PyPI. Installing the package with pip is probably the easiest way to proceed.

If all goes well with the installation, the Siren interface can then be launched with the command exec_siren.

With Anaconda Python

Anaconda is a cross-platform, free and open-source distribution of the Python programming language, including a convenient tool for managing packages. Through it, you can get Python as well as the packages needed for running Siren.

First, you need to install Anaconda , following for instance the instructions here.

Then,
  1. Create an environment with Python version 3.7.
  2. Activate the environment
  3. Install required packages and their dependencies with conda
  4. Install the python-siren package with pip

This can be done with the following sequence of commands:

conda create --name conda-siren python=3.7
conda activate conda-siren
conda install -c conda-forge scikit-learn wxpython cartopy
pip install python-siren

If all went well, the Siren interface can be launched from within the conda-siren environment with the command exec_siren.

Installers (no longer maintained)

The platform-specific installation methods are no longer maintained!

For Linux

python-siren v6.0.8 (deb)

With a debian-based distribution run the following commands as root to install

dpkg -i the_latest_siren_deb_package.deb

Afterward, you might need to run, to fix dependencies, i.e., install missing required packages

apt-get -f install

Or use a tool like Ubuntu Software Center to open the package and install the application.

If everything went fine, you should find a Siren entry in your Applications menu.

../_images/Partscreen.png

For OS X

python-siren v4.3.0 (dmg, macOS 10.12, Sierra)

python-siren v4.3.0 (dmg, OS X 10.11, El Capitan)

To install, download the above disk image and copy the file Siren to your Applications folder (or anywhere else outside the disk image). Once that is done you only have to double-click the program icon to run Siren.

To run the program, double-click the program icon.

Note for users of OS X with Gatekeeper activated (10.7.5 and newer):

The Siren application is not digitally signed. Therefore, users with OS X Gatekeeper active cannot run the Siren application by double-clicking it. An attempt to do so will result in an error message. In order to open Siren for the first time, you need to right-click (command-click) the Siren icon, and select “Open” from the contextual menu. You only need to do this for the first launch after every re-installation of Siren.

More information about Gatekeeper can be found at http://support.apple.com/kb/HT5290”.

../_images/screenshot_OSX.jpg

For Windows

python-siren v4.3.0 (exe)

Download and run to install Siren. Once that is done you only have to double-click the program icon to run Siren.

../_images/Fullscreen_win.png

CHANGELOG

Previous versions of Siren can be found in this folder.

CHANGELOG for Clired/Siren
=============================

v6.0.8
------
* Renamed folders

v6.0.7
------
* Adding a command-line client
* Multiple bug fixes and refactoring

v6.0.5
------
* Fixed bug of logger querying a parameter that no longer exists 

v6.0.4
------
* Modified reading of missing values for categorical variables. 
* Added warning messages for useless variables. 
* Fixes to xprTerms comparison and new columns naming.

v6.0.3
------
* Revisited splittrees/layeredtrees algorithms, added minimum improvement constraint and fixed bugs.
* Fixed a couple of bug in views, e.g. with histograms, maps and projections

v6.0.2
------
* Fixed a couple of bad parameters in layeredtree algorithm

v6.0.1
------
* Added choice of colors for cluster plots and variables in projections
* Few bug fixes in the interface

v6.0.0
------
* Reorganised the structure to clarify the distinction between command-line tool, now named Clired, and ReRemi greedy mining algorithm
* Rearranged parameters for clarity

v5.0.6
------
* Edited code for tree algorithms
* Few bug fixes

v5.0.5
------
* Various bug fixes

v5.0.4
------
* Switch map plotting to Cartopy
* Find file rdefs and vdefs

v5.0.3
------
* Various bug fixes

v5.0.2
------
* Reincorporated data extensions and polygons
* Some bug fixes

v5.0.1
------
* Minor bug fixes

v5.0.0
------
* Migrated to Python3
* Conditional variable and time-series view
* Various bug fixes

v4.3.0
------
* Adding view for list of redescriptions (with clustering by support differences)
* Handling several redescriptions lists to a package
* Some bugs fixes, especially support subsets in tree diagrams, and bug on closing intab fig (Mac)
* Not yet fixed documentation, which is getting very outdated

v4.2.0
------
* Adding reconnection capability to work server
* Better support of data reset/reload
* More flexible printing of reds / reading of data
* Improved reporting of support with missing values
* Fixed various bugs (icons and drag and drop in OSX, bucketing of numerical variable for initial pairs, sparse storing of numerical variables, support sets with missing values in tree diagrams, reordering row indices when parsing list to Boolean variable)

v4.0.1
------
* Various bug fixes

v4.0.0
------
* Support for the selection and manipulation of multiple redescriptions
* Support for multiple lists of results
* Showing the contribution of the literals in parallel coordinates plots
* List views (preliminary version)
* Filtering on support distribution over folds

v3.1.1
------
* Projection of numerical variables with heatmap and histogram
* Various minor fixes
* Adding small features (caching projections, printing out support, drawing E00 on maps, etc.) 
* Changed hosting

v3.1.0
------
* Visualization tab and splitted frame
* Learn/Test splits, interface and integration to vizualizations
* Initial target vectors for trees based on categorical and sparse numerical variables. List sorting and cut-off.
* More efficient filtering of results on return of a result, comparing only what as changed.
* Fixed various bugs (naming of tree algorithms, saving data to package)

v3.0.1
------
* Fixed various bugs (server info on failure, DW unchange on saving package)
* Added main entry-point for server

v3.0.0
------
* Integrated more tree-based mining methods
* Visualization for trees
* Distributed computation
* Modified visualization layout
* Fixed the previous tree-based methods
* Fixed a bug in loading data

v2.2.0
------
* Integrated tree-based (CART) mining methods from T.Zinchenko MSc Thesis

v2.1.1
------
* freeze_support for multiprocessing in windows
* Bug fix with log outputs and multiprocessing
* Enable negations by variable types
* Flip negation of Boolean variables in the Parallel Coordinates View
* Updated help files

v2.1.0
------
* Modified input/output
* New parsing for the queries based on GRAKO generated parser
* Removed Custom and XML data formats, everything to CSV

v2.0.3
------
* Bug fix for class variables in threading

v2.0.2
------
* Various bug fixes

v2.0.1
------
* Dialog for setting up (possibly remote) workers

v2.0.0
------
* Added parallel coordinates visualization
* Added various projections visualization (scikit)
* Entity selection by picking dot or drawing polygon
* Disabling entities to recompute support on restricted area
* Side selective automatic expansion
* Automatic expansion with subset of entities emphasized
* Interactive modification of literals'bounds in para.co. view

v1.1.0
------
* Added option to change colours in plots
* Changed the icon for Siren data files (OS X bundle only)
* Updated GEOS to 3.3.6 (OS X bundle only)
* Updated Python to 2.7.3 (OS X bundle only)
* Updated wxPython to 2.9.4.0 (OS X bundle only)
* Updated Basemap to 1.0.5 (OS X bundle only)
* Various bug fixes

v1.0.1
------
* Added support for importing CSV files
* Various bug fixes

v1.0.0
------
* The initial Siren release