Welcome to compClust.
=====================

Comp clust is a suite of utilities to help investigate array datasets
focusing on various types of biological array data types such as
microarrays, tissue arrays, chip-CHiP

Installation
++++++++++++

See the instructions in INSTALL

Configuration
+++++++++++++

If you intend to use the cluster algorithms you will need to modify the 
setup.sh script to point to the locations of the binaries.

Web Interface
+++++++++++++

Apache
------

to run the web interface under apache with the scgi interace

python compclustweb-scgi.py root_url [port]

root_url is the base url path that needs to be served by the application
server. For example a url like http://server/cc would need a root_url of 
/cc (this is mostly needed for making sure that absolute urls actually 
point to the correct branch of the namespace).

port is an optional parameter specifying which port to listen to.

This method currently lacks a method to interact with the server process
through ipython.


Twisted/Medusa
--------------

To run the web interface with either twisted or medusa use

python compclustweb.py

This has the advantage of allowing you to also interact with the system 
with an IPython interpreter.

To specify which datasets to load one can use a simple configuration
file, that is much like a windows .ini file.

The format is:

[Section Name] is currently ignored, though it should be unique
               for each dataset that you want to load.
path= is the path to the directory containing the following python module
module= the python module name that has our data loading function.
function= the function that returns the dataset of interest.
arg= (optional) if function needs some argument to find its data
     you can specify that here.

There is an example config file provided, example.ini.

To launch compclustweb with a particular configuration file use the
--config <filename> option.

additionally compclustweb.py when launched will also attempt to
launch an ipython shell with which one can interact with the
components of the webserver.

You can access the datamanager containing all of the loaded datasets as 
the variable "datamanager" from within the ipython shell.

A DataSource is a class that holds meta info about a dataset and is
what allows loading and unloading a dataset while still keeping track
of it.

datamanager.values()[0] returns the first Datasource.
datamanager.values()[0].dataset returns the MLX dataset

DataSources also hold pointers to the plot cache and the code that
creates the underlying plot which CompClustWeb uses to render into web
pages.

There are other secret hidden options for compclustweb which can be
revealed by running python compclustweb.py --help