Step #1 prerequisits

  • Python: the supported versions are 3.2 or higher.
  • Python modules :
    • argparse
    • MySQLdb
    • Cherrypy A Minimalist Python Web Framework (v3.2 or higher).
    • Numpy used to produce some statistics.
  • Makeflow: a workflow engine for executing large complex workflows on clusters, clouds, and grids. The supported versions are v4.4.3 or higher.
  • An existing mysql database: the database should be accessible from the application with a user/password with create/truncate privileges.
  • An apache WEB server.
  • PHP5 with mysql and ssh2 modules.

Web site part must run with php 5, so web should be installed on an old OS version.
 
yum update
#Start apache
/etc/rc.d/init.d/httpd start
#Add automatic restart of apache
chkconfig --add httpd
chkconfig httpd on

#Install dependancies
yum install mysql-server
yum install mysql
yum install subversion
yum install php-mysql.x86_64
#Python > 3
yum install epel-release 
yum install python34 
yum install MySQL-python -y

curl -O https://bootstrap.pypa.io/get-pip.py
/usr/bin/python3.4 get-pip.py 

pip install cherrypy
pip install argparse
pip install Numpy

#PHP5
yum install php

#Run mysql
/sbin/service mysqld start
#Configure mysql
/usr/bin/mysql_secure_installation

#In mysql, create user and database :
CREATE DATABASE typo3 ;
CREATE USER 'typo3'@' %' IDENTIFIED BY 'typo3';
GRANT  ALL ON typo3.* TO 'typo3'@' %';

#Get last ng6 source code
Download the latest version from https://forgemia.inra.fr/genotoul-bioinfo/ng6/tags/
Now go to step #4.

Step #2 download the latest copy

The latest version can be downloaded from the page.

Step #3 extract the archive

[user@hostname:~] tar xzvf ng6-X.X.tar.gz
[user@hostname:~] cd ng6-X.X

Step #4 configure the application

You must edit the application.properties file to configure the application. Here under the required parameters, for advanced configuration please see this page...

[global]
# uncomment and set if not in the PATH, should be version >= 4.2.2
#makeflow = /usr/bin/makeflow
# batch system type: local, condor, sge, moab, cluster, wq, hadoop, mpi-queue
batch_system_type = local
# add these options to all batch submit files
batch_options = 
# add these options to limit the number of jobs sumitted in parallel
limit_submission = 100
# on which socket host should run the web server
server_socket_host = 127.0.0.1
# on which socket port should run the web server
server_socket_port = 8080

[database]
# database access configuration
host = localhost
user = typo3
passwd = typo3
dbname = typo3

[storage]
# where should be written the log file
log_file = /path/to/jflow.log
log_level = logging.INFO
# Where should the pipelines write results, should be accessible 
# by all cluster nodes
work_directory = /path/to/work
# Where should the pipelines write temporary files, should be 
# accessible by all cluster nodes
tmp_directory = /path/to/tmp

[softwares]
# uncomment and set if not in the PATH
#blastall = /usr/bin/blastall
#formatdb = /usr/bin/formatdb
#sfffile = /usr/bin/sfffile
#fastqc = /usr/bin/fastqc
#runAssembly = /usr/bin/runAssembly
#bwa = /usr/bin/bwa
#samtools = /usr/bin/samtools

Step #5 Installation

Once the application.properties file is configured, run the following command

[user@hostname:~] python bin/ng6_install.py --web-path /var/www/html/ng6 --email admin@domain

To finalize the installation, go to http://127.0.0.1/ng6/index.php?id=3 (the link depend of your configuration) and fill the prompted form:

Step #6 test your installation

The application embed multiple test files. Enter the following command lines to run the web server:

[user@hostname:~] python bin/jflow_server.py --daemon

Here are some example of test commands :

[user@hostname:~] python bin/ng6_cli.py r454_qc @workflows/r454_qc/data/r454_qc.conf \
--admin-login <LOGIN>
[user@hostname:~] python bin/ng6_cli.py illumina_matepair \
@workflows/illumina_matepair/data/illumina_matepair.conf --admin-login <LOGIN> 

All those test will be added in the Demo Project of the newly installed interface. Please go to your web interface to explore the results.