Array Server Requirements

From Array Suite Wiki

Jump to: navigation, search

Array Server can be installed on either a Windows system or Linux-based system (using the mono framework).

Contents

Windows Prerequisites

Microsoft .NET 4.0

How to install .NET 3.5 on Windows Server

Linux Prerequisites

Sqlite

Sqlite can be downloaded from: sqlite download. The tar.gz file is recommended for installation.

wget -c http://www.sqlite.org/sqlite-autoconf-3071401.tar.gz
tar zxvf sqlite-autoconf-3071401.tar.gz
sudo mv sqlite-autoconf-3071401 sqlite
cd sqlite
./configure --prefix=/opt/sqlite
make
make install

sqlite3  --version

Libgdiplus

The libgdiplus package must be installed (either using yum, apt-get, or installing from source at libgdiplus).

If installing from source, you may need to add the "/libgdiplusPrefix/lib" to the shared library search paths, OR modify the following config file:

This will need to be done once for EACH mono installation:

/MonoPrefix/etc/mono/config: Add the following line at the end of the file before </configuration>

<dllmap dll="gdiplus.dll" target="/libgdiplusPrefix/lib/libgdiplus.so"/>

If installing from yum, it may be necessary to additionally install the following:

yum install libungif libungif-devel

zlib

The zlib-devel package must be installed (either using yum, apt-get, or installing zlib from source. This includes zlib-devel.

User can also build zlib from source and then link it to ArrayServer via a tiny .config file

ocorelib.dll.config with the following content:

<configuration>
 <dllmap dll="z" target="/path/libz.so"/>
</configuration>

other requirement

Also, make sure the ulimit for "max user processes" and "open files" are set to the max value: 65536. You can check the values by typing: ulimit -a.

$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 515184
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 65536
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 65536
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited


Mono

We recommended to use mono 2.10.9 for NGS alignment in Linux.

  • Download Mono 2.10.9
    cd /opt
    wget -c  http://origin-download.mono-project.com/sources/mono/mono-2.10.9.tar.bz2

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

  • Extract and modify certificate if necessary
    tar  jxvf   mono-2.10.9.tar.bz2
    cd  /opt/mono-2.10.9

For mono 2.10.9, it is recommended to modify X509Certificate to the latest standard.

  • Compile and install. On the command line, type
    cd  /opt/mono-2.10.9
    ./configure  --prefix=/opt/mono-2.10.9 --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-2.10.9/bin/mono* -all
/opt/mono-2.10.9/bin/mono --version
/opt/mono-2.10.9/bin/mono-sgen --version

OS X

./configure --prefix=DIR --with-glib=embedded --enable-nls=no --host=x86_64-apple-darwin10 --with-large-heap=Yes

After installing mono and other requirements, mono-test-install can be run to check that all requirements are recognized as expected.

Database Requirements

Sqlite Requirements

For users who wish to use the standard sqlite database, no further installation is required for Windows installations. For Linux installation, see #Sqlite.

Oracle Requirements

Sqlite is recommended, but if the user wishes to use Oracle, version 11gR2 or higher is required. If choose to use Oracle database, the following steps need to be done.

ODP.NET

For Oracle installations, with users that run Windows, please install the appropriate ODP.NET XCopy from http://www.oracle.com/technetwork/topics/dotnet/index-085163.html . After downloading and unzipping run install.bat all C:\oracle odac where c:\oracle is the location of your Oracle db.

Oracle Installation

Install Oracle
  1. The full tested verion is Oracle 11gR2.
  2. Oracle Text packages is required.
  3. Based on our tests, we suggest the use of WE8MSWIN1252 as the character set.
  4. Oracle can be installed on the same machine with ArrayServer if the server machine has enough memory or on a separate machine with fast network access. We tested the same server case with oracle using 6G on a machine of 16G memory. We also tested installing Oracle on a separate machine on local network.
Create DB User

For Example, user: ArrayServer, Password: omicsoft

CREATE SMALLFILE TABLESPACE TS_Arrayserver DATAFILE 'ARRAYSERVER.DBF' SIZE 100M AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO

CREATE USER ArrayServer IDENTIFIED BY omicsoft default tablespace TS_Arrayserver;

GRANT create session, alter session TO ArrayServer;

GRANT create table, create view, create synonym, create cluster, create sequence, create trigger, create procedure, create operator TO ArrayServer;

GRANT CREATE TABLESPACE, DROP TABLESPACE, UNLIMITED TABLESPACE TO ArrayServer;

GRANT select on v_$tablespace to ArrayServer;

GRANT select on v_$datafile to ArrayServer;

GRANT select any table to ArrayServer;

GRANT sysdba TO ArrayServer;

GRANT RESOURCE, CONNECT, CTXAPP TO ArrayServer;

GRANT EXECUTE ON CTXSYS.CTX_CLS TO ArrayServer;

GRANT EXECUTE ON CTXSYS.CTX_DDL TO ArrayServer;

GRANT EXECUTE ON CTXSYS.CTX_DOC TO ArrayServer;

GRANT EXECUTE ON CTXSYS.CTX_OUTPUT TO ArrayServer;

GRANT EXECUTE ON CTXSYS.CTX_QUERY TO ArrayServer;

GRANT EXECUTE ON CTXSYS.CTX_REPORT TO ArrayServer;

GRANT EXECUTE ON CTXSYS.CTX_THES TO ArrayServer;

GRANT EXECUTE ON CTXSYS.CTX_ULEXER TO ArrayServer;

GRANT EXECUTE ON CTXSYS.ctx_adm TO ArrayServer;

Add DB properties to ArrayServer.cfg

[Database]

Provider=ODP //Also allows Oracle as an option but not recommended

Server=192.168.1.112

Port=1521

DataSource=omic

User=ArrayServer

Password=omicsoft

Dropping Tables

--TO Drop TS_AutoFill

Drop table AF_PROJECTS_FT;

Drop tablespace TS_AutoFill2 INCLUDING CONTENTS AND DATAFILES;

--TO Drop TS_Cache

Drop table CA_DESIGNS_FT;

Drop tablespace TS_Cache2 INCLUDING CONTENTS AND DATAFILES;

-TO Drop TS_Contrasts

Drop table CO_CONTRASTS_FT;

Drop tablespace TS_Contrasts INCLUDING CONTENTS AND DATAFILES; --TO Drop TS_InferenceReport

Drop tablespace TS_InferenceReport2 INCLUDING CONTENTS AND DATAFILES;

--TO Drop TS_Lists

Drop table LI_LISTS_FT;

Drop tablespace TS_Lists INCLUDING CONTENTS AND DATAFILES;

--TO Drop TS_Platforms

Drop table PL_VARIABLES_FT;

Drop tablespace TS_Platforms INCLUDING CONTENTS AND DATAFILES;

--TO Drop TS_Projects

Drop table PR_PROJECTS_FT;

Drop tablespace TS_Projects INCLUDING CONTENTS AND DATAFILES;

--TO Drop TS_Samples

Drop table SA_SAMPLES_FT;

Drop table SA_SAMPLEMETADATA_FT;

Drop table SA_SAMPLESETMETADATA_FT;

Drop tablespace TS_Samples INCLUDING CONTENTS AND DATAFILES;

--TO Drop TS_Share

Drop table SH_SHARE_FT;

Drop tablespace TS_Share INCLUDING CONTENTS AND DATAFILES;

--TO Drop TS_UserGroups

Drop table UG_USERGROUPS_FT;

Drop tablespace TS_UserGroups INCLUDING CONTENTS AND DATAFILES;

--TO Drop TS_Users

Drop table US_USERS_FT;

Drop tablespace TS_Users INCLUDING CONTENTS AND DATAFILES;

-- TO Drop TS_GenomeBrowser

Drop table GB_GENOMEBROWSER_FT;

Drop tablespace TS_GenomeBrowser INCLUDING CONTENTS AND DATAFILES;

After running some or all of the above scripts, make sure the corresponding DBF file(s), for example: C:\oracle\product\11.2.0\dbhome_1\database\TS_AUTOFILL.DBF is deleted. If not, user can delete the DBF file manually.