iggy

A tool for consistency based analysis of influence graphs and observed systems behavior

Sign Consistency on Influence Graphs - Diagnosis, Repair, Prediction

For many biological systems knowledge bases are available that describe the interaction of its components usually in terms of causal networks and influence graphs. In particular signed influence graphs where edges indicate either positive or negative effect of one node upon another. Building upon a notion of consistency between biochemical/genetic regulations and high-throughput profiles of cell activity. We present an approach to check the consistency of large-scale data sets, provide explanations for inconsistencies by determining minimal representations of conflicts. In practice, this can be used to identify unreliable data or to indicate missing reactions. Further, we address the problem of repairing networks and corresponding yet often discrepant measurements in order to re-establish their mutual consistency and predict unobserved variations even under inconsistency. DOI

Installation

You can install iggy by running:

$ pip install --user iggy

On Linux the executable scripts can then be found in ~/.local/bin

and on Mac OS the scripts are under /Users/YOURUSERNAME/Library/Python/3.2/bin.

Usage

You can download the iggy user guide. Typical usage is:

$ iggy.py network.sif observation.obs --show_labelings 10 --show_predictions

For more options you can ask for help as follows:

$ iggy.py -h 		
usage: iggy.py [-h] [--no_zero_constraints]
           [--propagate_unambigious_influences] [--no_founded_constraint]
           [--autoinputs] [--scenfit] [--show_labelings SHOW_LABELINGS]
           [--show_predictions]
           networkfile observationfile

positional arguments:
  networkfile           influence graph in SIF format
  observationfile       observations in bioquali format

optional arguments:
  -h, --help            show this help message and exit
  --no_zero_constraints
			turn constraints on zero variations OFF, default is ON
  --propagate_unambigious_influences
			turn constraints ON that if all predecessor of a node
			have the same influence this must have an effect,
			default is ON
  --no_founded_constraint
			turn constraints OFF that every variation must be
			explained by an input, default is ON
  --autoinputs          compute possible inputs of the network (nodes with
			indegree 0)
  --scenfit             compute scenfit of the data, default is mcos
  --show_labelings SHOW_LABELINGS
			number of labelings to print, default is OFF, 0=all
  --show_predictions    show predictions

The second script contained is opt_graph.py Typical usage is:

$ opt_graph.py network.sif observations_dir/ --show_repairs 10

For more options you can ask for help as follows:

$ opt_graph.py -h 	
usage: opt_graph.py [-h] [--no_zero_constraints]
	    [--propagate_unambigious_influences]
	    [--no_founded_constraint] [--autoinputs]
	    [--show_repairs SHOW_REPAIRS] [--opt_graph]
	    networkfile observationfiles

positional arguments:
  networkfile           influence graph in SIF format
  observationfiles      directory of observations in bioquali format

optional arguments:
  -h, --help            show this help message and exit
  --no_zero_constraints
			turn constraints on zero variations OFF, default is ON
  --propagate_unambigious_influences
			turn constraints ON that if all predecessor of a node
			have the same influence this must have an effect,
			default is ON
  --no_founded_constraint
			turn constraints OFF that every variation must be
			explained by an input, default is ON
  --autoinputs          compute possible inputs of the network (nodes with
			indegree 0)
  --show_repairs SHOW_REPAIRS
			number of repairs to show, default is OFF, 0=all
  --opt_graph           compute opt-graph repairs (allows also adding edges),
			default is only removing edges

Samples

Sample files available here: demo_data.tar.gz

FAQ

Q: I don’t have pip. How can I install pip without admin rights?

A: You can install pip without admin rights.

  1. Download getpip.py.

     $ wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py
    
  2. Install pip locally.

     $ python get-pip.py --user
    
  3. You can install using your local pip.

Q: I don’t have pip. How can I install iggy without pip?

A: You can install iggy without pip if you take care of the dependencies yourself.

  1. Download pyasp-1.4.1.

     $ wget https://pypi.python.org/packages/source/p/pyasp/pyasp-1.4.1.tar.gz
    
  2. Extract and install pyasp.

     $ gzip -d pyasp-1.4.1.tar.gz
     $ tar -xvf pyasp-1.4.1.tar
     $ cd pyasp-1.3.3
     $ python setup.py install --user
    
  3. Download iggy-1.2.

     $ wget https://pypi.python.org/packages/source/i/iggy/iggy-1.2.tar.gz
    
  4. Extract and install iggy.

     $ gzip -d iggy-1.2.tar.gz
     $ tar -xvf iggy-1.2.tar
     $ cd iggy-1.2
     $ python setup.py install --user
    

    The executable script can then be found in ~/.local/bin on Linux and in /Users/YOURUSERNAME/Library/Python/3.2/binon Mac OS.

Q: How can I write the output of iggy into a file?

A: You can redirect the output of iggy using > into a file. For example to write the results into the file myfile.txt type:

	$ iggy.py network.sif observation.obs --show_labelings 10 --show_predictions > myfile.txt