Jemboss Server Setup on a Raspberry Pi

EMBOSS is a free-of-charge Open Source Software analysis package developed for the needs of molecular biology. It integrates tools for sequence analysis  and copes with a lot of different sequence formats.

EMBOSS was developed for UNIX platforms, but also runs under Windows. All EMBOSS application can be used at the console, however a graphical java interface called Jemboss was developed for convenience. Jemboss can also be configured as a Jemboss Server.

Installation of EMBOSS on RasPi

If you don’t want to install Jemboss as a server, simply install EMBOSS with:

$ sudo apt-get install emboss

At the time of writing, the EMBOSS version in the Debian Wheezy repo was 6.4 whereas the most recent release is 6.6.0. If you want a bleeding-edge release with all EMBASSY packages, then you should try to compile it from source.

Be aware that a Jemboss RasPi Server has not enough horsepower for extensive data mining and multiple users, however it can be useful if you mainly work under Windows and want to quickly check  some sequences without the need to reboot or Cygwin installation. The tutorial describes a setup without user authentication. As a prerequisite, you should have Apache2 already installed on your Pi.

[Update]

Meanwhile, the Pi2 has been released. I can confirm that the instructions below work with Debian Jessie.

Jemboss Server Installation

First, download, unpack and install Tomcat-7 (or Tomcat-8):

$ wget http://ftp-stud.hs-esslingen.de/pub/Mirrors/ftp.apache.org/dist/tomcat/tomcat-7/v7.0.47/bin/apache-tomcat-7.0.47.tar.gz

$ wget http://www.eu.apache.org/dist/tomcat/tomcat-8/v8.0.27/bin/apache-tomcat-8.0.27.tar.gz

I have moved my tomcat directory to /usr/local/tomcat.  In /usr/local/tomcat/conf/tomcat-users.xml, add the line:

<user username="user" password="password" roles="manager-gui"/>

Next, create a user and group for tomcat:

$ sudo groupadd tomcat
$ sudo useradd -g tomcat -d /usr/local/tomcat tomcat
$ sudo usermod -G www-data tomcat
$ sudo chown tomcat:tomcat /usr/local/tomcat -R
$ sudo mkdir -p /tmp/SOAP/emboss
$ sudo chown -R tomcat:tomcat

In order to start tomcat at boot time, place this start/stop initscript into /etc/init.d. Remember to change JAVA_HOME and TOMCAT_PATH according to your installation, i.e.:

JAVA_HOME="/usr/lib/jvm/jdk-7-oracle-armhf"
JAVA_OPTS=""
TOMCAT_USER=tomcat;
TOMCAT_PATH=/usr/local/tomcat;
SHUTDOWN_TIME=30

Then, rename the initscript file to tomcat and make it executable: chmod 755. Start tomcat with:

$ sudo update-rc.d tomcat defaults
$ sudo service tomcat start

After several minutes, you should be able to visit http://localhost:8080/manager (Replace “localhost” with the IP address or hostname of the RasPi). If everything went as expected, you should see an entry listed for axis and be able to browse to the “axis happiness page” if you click on the axis link.

To continue with the EMBOSS installation, shut down tomcat (sudo service tomcat stop). Download the EMBOSS tarball and extract the package with:

$ tar xvfz EMBOSS-6.6.0.tar.gz

If you like to install the EMBASSY extensions for EMBOSS, download the desired packages, create a subdirectory under EMBOSS-6.6.0 called embassy and extract the tarballs into that folder.

Now, change into the EMBOSS-6.6.0/jemboss/utils/ subdirectory. Here you’ll find a shell script, called install-jemboss-server.sh. Before you can start compiling EMBOSS, make sure that the following packages are installed:

  • jdk-7-oracle-armhf
  • JavaMail API (place the javax.mail.jar into /usr/lib/jvm/jdk-7-oracle-armhf/jre/lib/ext)
  • Download the JavaBeans Activation Framework from here and place the activation.jar into /usr/lib/jvm/jdk-7-oracle-armhf/jre/lib/ext.
  • libpng3 and libpng3-dev
  • zlib and zlib-dev
  • libgd and libgd-dev
  • ncurses-dev
  • axis-1.4, download the binaries from here, extract and move the folder to /usr/local/axis-1_4; then copy the contents of the webapps/axis folder into /usr/local/tomcat/webapps/axis
  • libhpdf-2.2.1 and libhpdf-dev (optional, if you want pdf output)
  • csh