Configure mono for Array Suite v10.1

From Array Suite Wiki

Jump to: navigation, search

Contents

Overview

Array Suite 10.1 uses the .NET 4.5 framework, which brings several improvements, but also requires an updated version of mono compared to previous installations. Benchmarking tests have identified mono4.0.4 as the best version for launching Array Server, and mono4.8.1 is best for launching all analysis jobs.

Update Mono Paths

ArrayServer Configuration

Array Server will run a number of .exe files using mono. These are specified in the ArrayServer.cfg file in the installation directory. ArrayServer.cfg should be configured to use mono4.8.1, by modifying the following parameters:

Cluster Configuration

For Array Server integration with cluster, mono-4.8.1 will need to be available to all compute nodes that will run Array Server executables. Once mono-4.8.1 is installed, the location of mono will need to be updated for oalign.exe and osummary.exe:

ClusterAlignment.sh ClusterSummary.sh

Cloud Configuration

Array Server Cloud analysis works well with mono4.0.4, and the default OmicSoft AMIs include mono4.0.4. However, if you are using a custom AMI for on-demand (or Spot) instances spawned off by Array Server, we recommend installing mono4.8.1 and adding mono4.8.1 to the $PATH variable.

For example, in your Array Server analysis AMI, add the following to ~/.profile : PATH="$PATH:/usr/mono4.8.1/bin"

Starting Array Server

Array Server should be started with mono-4.0.4, as follows:

/opt/mono-4.0.4/bin/mono /opt/ArrayServer/ArrayServerLinuxBeta.exe 

This will ensure the proper mono version is being used to mimic the benchmarking tests above.

Mono Installation

Install Mono 4.0.4
  • Download Mono 4.0.4
    wget -c http://download.mono-project.com/sources/mono/mono-4.0.4.1.tar.bz2

The bz2 file can be saved to a temporary location, e.g. ~/temp/

  • Compile and install. On the command line, type
    tar jxvf mono-4.0.4.1.tar.bz2
    cd  mono-4.0.4
    ./configure  --prefix=/opt/mono-4.0.4 --with-large-heap=yes
    make
    make  install

Note:

  • The location of mono installed is set by the option "--prefix" in the configure step, which can be changed to another location.
  • The option --with-large-heap=yes is to enable support for GC heaps larger than 3gb, which is required for NGS alignment, as well as some Array Server functions)

Double check mono installation and version

ls /opt/mono-4.0.4/bin/mono* -all
/opt/mono-4.0.4/bin/mono --version
/opt/mono-4.0.4/bin/mono-sgen --version
Install Mono 4.8.1
  • If not done already, install cmake
    sudo apt-get install cmake
  • Download Mono 4.8.1
    wget -c http://download.mono-project.com/sources/mono/mono-4.8.1.0.tar.bz2

The bz2 file can be saved to a temporary location, e.g. ~/temp/

  • Compile and install. On the command line, type
    tar jxvf mono-4.8.1.0.tar.bz2
    cd  mono-4.8.1
    ./configure  --prefix=/opt/mono-4.8.1 --with-large-heap=yes
    make
    make  install

Note:

  • The location of mono installed is set by the option "--prefix" in the configure step, which can be changed to another location.
  • The option --with-large-heap=yes is to enable support for GC heaps larger than 3gb, which is required for NGS alignment, as well as some Array Server functions)

Double check mono installation and version

ls /opt/mono-4.8.1/bin/mono* -all
/opt/mono-4.8.1/bin/mono --version
/opt/mono-4.8.1/bin/mono-sgen --version