From version 1.4.0 onwards, Chipster comes with a tool that helps in installing external dependencies needed for all the analysis tools to work.
Before using the setup tool you should have R installed and check that the R installation directory matches the one specified in chipster/comp/conf/environment.xml. If needed, edit the path in environment.xml. The environment description file is the only source of information for the setup tool and if the correct R path is not specified there, the tool will not be able to findR to install packages to.
To begin setup, issue the following in the Chipster installation directory (as root, if needed).
./setup.sh
The tool will read environment description from chipster/comp/conf/environment.xml, start installing and print to console what is happening. It will also save log of the installation steps to install.<yyyyMMdd>.<hhmm>.log and information on required manual installation steps to extra.info.<yyyyMMdd>.<hhmm>.log. The tool will also update environment.xml by marking which components were succesfully installed.
By going over the log files, you can spot possible problems, correct them and run the tool again. Successfully installed components are not reinstalled. Repeat as long as needed.
The basic idea behind the tool is a pessimistic one: installation will not be 100% successful at the first attempt. We have found this to be the reality, as many of the otherwise fine analysis tools that Chipster uses are not really engineered to be easy to install in different platforms.
We have tackled these challenges with the following design choices.
The long term goal is to develop the tool into something that can be run anywhere, will detect available tools, install what can be installed and adopt offered tool selection accordingly. Currently (version 1.4.0) the tool will install R packages and mark those installed for which there were no errors during the installation. For other kinds of items it will print out instructions for manual installation and mark those items installed.
Environment specification environment.xml defines all aspects of Chipster computational environment. It is the definitive specification.
Environment consists of bundles. Each of them has a name and two possible attributes: depends and required. Bundle can depend on another bundle and will not be installed before the other bundle is fully installed. Bundle is fully installed when all items inside it are installed. Attribute required is an annotation. If bundle is required, the setup tool will consider environment not to be properly installed before the bundle is fully installed.
Inside the bundles there are items. Items have name and type. They are also marked with attribute installed, which has value false by default. Each item is a separate unit of work for the installation tool. It will try to install them, report results and update the installed attribute. Contents of the item element is specific to its type.