-
Notifications
You must be signed in to change notification settings - Fork 2
Native Installation
The native GLUE set up is much more complex than with Docker, but might be preferential in some circumstances. The Native installation offers more control over the various software packages GLUE uses. The GLUE installation may take up less disk space and some GLUE operations may be faster.
- Supported Operating Systems
- Core Prerequisite: Java
- Core Prerequisite: MySQL
- The GLUE Install Directory
- The GLUE Engine Jar
- The GLUE XML Configuration File
- Running the GLUE Command Line
- Upgrading GLUE
- Software Integration: BLAST+
- Software Integration: MAFFT
- Software Integration: RAxML
- Next Steps
You can install native GLUE on MS Windows, Linux and Mac OSX.
If you are using Windows, you must also install Cygwin, which you can download from cygwin.org.
Download and install Oracle Java 1.8.0 or later, from java.com.
Make sure you can run the correct version of the "java" program from the command line:
$ java -version java version "1.8.0_45" Java(TM) SE Runtime Environment (build 1.8.0_45-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
GLUE stores all its data in a relational database system: MySQL. Download and install MySQL 5.6 or later, from mysql.com.
The GLUE uses a specific named database within MySQL and accesses this with a specific username/password. So you would normally create a username/password and named database specifically for GLUE. Example set up:
- MySQL username: gluetools
- MySQL password: glue12345
- Database name: GLUE_TOOLS
You can use the following MySQL commands to set this up:
mysql> create user 'gluetools'@'localhost' identified by 'glue12345';
mysql> create database GLUE_TOOLS character set UTF8;
mysql> grant all privileges on GLUE_TOOLS.* to 'gluetools'@'localhost';
Test that the new user/password works:
$ mysql -u gluetools --password=glue12345 Welcome to the MySQL monitor. Server version: 5.6.25 MySQL Community Server (GPL)
mysql>
In this MySQL session, test that the new named database works:
mysql> use GLUE_TOOLS;
Database changed
Your installation of GLUE will be contained within its own "install" directory. Download the GLUE install zip from the GLUE download page. Unzip the GLUE install zip file in a convenient location (e.g. /home/fred
), to create a gluetools
directory. Ensure that the path to the gluetools
directory is stored in the environment variable GLUE_HOME
. Also make sure that ${GLUE_HOME}/bin
is on your bash path. This can be done for example by adding these lines to the end of your .bash_profile
file (Mac / Cygwin), .profile
or .bashrc
file (Linux).
export GLUE_HOME=/home/fred/gluetools
export PATH=${PATH}:${GLUE_HOME}/bin
Make sure the bash script is executable:
$ chmod u+x /home/fred/gluetools/bin/gluetools.sh
Download the GLUE engine jar file from the GLUE download page. Place it inside the gluetools/lib
directory.
GLUE reads a configuration XML file each time it runs. The role of this file is to make GLUE aware of its local installation. So, you will need to edit this file to adapt it to your local GLUE installation.
In a text editor, load the XML file gluetools/conf/gluetools-config.xml
. You will need to make sure that the database section specifies the correct MySQL username, password and database name as necessary, by editing the contents of the <username>
, <password>
and <jdbcUrl>
elements.
<gluetools>
<database>
<username>gluetools</username>
<password>glue12345</password>
<vendor>MySQL</vendor>
<jdbcUrl>jdbc:mysql://localhost:3306/GLUE_TOOLS?characterEncoding=UTF-8</jdbcUrl>
</database>
<!-- .... -->
</gluetools>
For Windows / Cygwin, you must also add a property showing GLUE where to find the sh
executable:
<gluetools>
<!-- .... -->
<properties>
<!-- .... -->
<!-- Cygwin specific config -->
<property>
<name>gluetools.core.cygwin.sh.executable</name>
<value>C:\cygwin\bin\sh.exe</value>
</property>
<!-- .... -->
</properties>
</gluetools>
GLUE has an interactive command line, this is an important tool for GLUE users. We can now test that this works by running gluetools.sh
$ gluetools.sh GLUE version 1.1.113 Mode path: / GLUE> ...
Use the quit command to leave the GLUE interpreter.
At some point in the future you may wish to upgrade your installation to a new version of GLUE. Normally this is done as follows:
- Download a new version of the engine jar from the GLUE download page
- Place the new version in the
gluetools/lib
directory. - Delete the old version from the
gluetools/lib
directory.
GLUE uses the BLAST+ suite of programs for auto-alignment and certain other features.
Download and install BLAST+ 2.2.31 from NCBI's BLAST+ FTP page. GLUE may function correctly with later versions of BLAST+ but this has not been fully tested. In the case of Mac OSX you should use the 'universal-macosx' BLAST+ distribution.
To integrate BLAST+ into GLUE, load the XML file gluetools/conf/gluetools-config.xml
in a text editor.
- Specify the location of the blast executables
blastn
,tblastn
andmakeblastdb
- GLUE creates BLAST databases and certain other temporary files. Specify two directories, where GLUE can store these files
<gluetools>
<!-- .... -->
<properties>
<!-- .... -->
<!-- BLAST specific config -->
<property>
<name>gluetools.core.programs.blast.blastn.executable</name>
<value>/home/fred/blast/ncbi-blast-2.2.31+/bin/blastn</value>
</property>
<property>
<name>gluetools.core.programs.blast.tblastn.executable</name>
<value>/home/fred/blast/ncbi-blast-2.2.31+/bin/tblastn</value>
</property>
<property>
<name>gluetools.core.programs.blast.makeblastdb.executable</name>
<value>/home/fred/blast/ncbi-blast-2.2.31+/bin/makeblastdb</value>
</property>
<property>
<name>gluetools.core.programs.blast.temp.dir</name>
<value>/home/fred/gluetools/tmp/blastfiles</value>
</property>
<property>
<name>gluetools.core.programs.blast.db.dir</name>
<value>/home/fred/gluetools/tmp/blastdbs</value>
</property>
<property>
<name>gluetools.core.programs.blast.search.threads</name>
<value>4</value>
</property>
<!-- .... -->
</properties>
</gluetools>
GLUE uses MAFFT as part of its maximum likelihood genotyping procedure, and other uses are possible.
Download MAFFT from the CBRC MAFFT page and install it locally.
To integrate MAFFT into GLUE, load the XML file gluetools/conf/gluetools-config.xml
in a text editor.
- Specify the location of the MAFFT executable
- GLUE creates temporary MAFFT files. Specify a directory where GLUE can store these files
<gluetools>
<!-- .... -->
<properties>
<!-- .... -->
<!-- MAFFT-specific config -->
<property>
<name>gluetools.core.programs.mafft.executable</name>
<value>/usr/local/bin/mafft</value>
</property>
<property>
<name>gluetools.core.programs.mafft.cpus</name>
<value>4</value>
</property>
<property>
<name>gluetools.core.programs.mafft.temp.dir</name>
<value>/home/fred/gluetools/tmp/mafftfiles</value>
</property>
<!-- .... -->
</properties>
</gluetools>
GLUE uses RAxML as part of its maximum likelihood genotyping procedure, and for general phylogenetics.
We suggest RAxML be compiled locally so that it is optimised for your hardware. Instructions can be found at the Exelixis Lab RAxML page.
To integrate RAxML into GLUE, load the XML file gluetools/conf/gluetools-config.xml
in a text editor.
- Specify the location of the RAxML executable
- GLUE creates temporary RAxML files. Specify a directory where GLUE can store these files
<gluetools>
<!-- .... -->
<properties>
<!-- .... -->
<!-- RAxML-specific config -->
<property>
<name>gluetools.core.programs.raxml.raxmlhpc.executable</name>
<value>/home/fred/RAxML/bin/raxmlHPC-PTHREADS-AVX2</value>
</property>
<property>
<name>gluetools.core.programs.raxml.raxmlhpc.cpus</name>
<value>4</value>
</property>
<property>
<name>gluetools.core.programs.raxml.temp.dir</name>
<value>/home/fred/gluetools/tmp/raxmlfiles</value>
</property>
<!-- .... -->
</properties>
</gluetools>
If you are new to GLUE we strongly recommend downloading and building the example GLUE project as a next step.
GLUE by Robert J. Gifford Lab.
For questions, issues, or feedback, please open an issue on the GitHub repository.
- Project Data Model
- Schema Extensions
- Modules
- Alignments
- Variations
- Scripting Layer
- Freemarker Templates
- Example GLUE Project
- Command Line Interpreter
- Build Your Own Project
- Querying the GLUE Database
- Working With Deep Sequencing Data
- Invoking GLUE as a Unix Command
- Known Issues and Fixes
- Overview
- Hepatitis Viruses
- Arboviruses
- Respiratory Viruses
- Animal Viruses
- Spillover Viruses
- Virus Diversity
- Retroviruses
- Paleovirology
- Transposons
- Host Genes