Jemboss

From CLAB

Jump to: navigation, search

Jemboss is an open source software that gives a graphical user interface (GUI) for EMBOSS (European Molecular Biology Open Software Suite) applications and library. Jemboss project has been around for a while since 2002, and development is still ongoing.

Contents

[edit] Availability

[edit] Modes of Operation

Jemboss can be used in two different ways viz. Standalone, and as a client-server approach.

[edit] Standalone

Standalone version gives an interface on the same machine where EMBOSS is installed. Standalone version will directly call EMBOSS applications. The downside of this approach is we have to be in that machine to run applications. To make it look like running in a client machine, we can use X11 forwarding the Jemboss. Standalone mode also lacks some of the functionality of the file and project management systems.<ref>Tim Carver and Alan Bleasby, The design of Jemboss: a graphical user interface to EMBOSS, Bioinformatics, Volume 19, No. 14, pp. 1837-1843, 2003.</ref>

[edit] Client-Server

Client-Server model uses only single copy of EMBOSS on a remote server machine, and GUI client could be run in any platforms using same remote server. The instant benefit of using this approach is maintenance is only needed on server side.

[edit] Installation (Ubuntu Machine)

For the installation of standalone version, use the document created by Mohammad. what ans where ? Please provide an appropriate link here--DbastolaC 22:56, 27 January 2009 (CST)

Remaining section will explain the procedure to install client-server version of Jemboss on Ubuntu machine.

First, refresh your repository

sudo apt-get update

Here are some prerequisites that you definitely need:

  • Basic tools and libraries
# Build and Compile Utilities
apt-get install build-essential
# PAM library
sudo apt-get install libpam0g libpam0g-dev
# SSL and Open SSH
sudo apt-get install openssl openssh-server
# csh
sudo apt-get install csh
  • GD and LibPNG
sudo apt-get install libpng12-0 libpng12-dev
sudo apt-get install libgd2-xpm libgd2-xpm-dev
  • Java Development Kit
sudo apt-get install sun-java6-jdk
I assume that the java installation folder is linked by named '/usr/java' (if not, create symlink using command $ ln -s /usr/java /usr/jdk1.6.0_01)
  • Clustal, Primer3 and HMMER
sudo apt-get install clustalw primer3 hmmer
  • Get the necessary applications. Download them in /usr/local/src/
Apache AXIS : AXIS 1.4 : http://ws.apache.org/axis/
Apache Tomcat : Tomcat 4.1 : http://tomcat.apache.org/
EMBOSS : EMBOSS-latest.tar.gz : ftp://emboss.open-bio.org/pub/EMBOSS/
CBSTOOLS-1.0.0.tar.gz
DOMAINATRIX-0.1.0.tar.gz
DOMALIGN-0.1.0.tar.gz
DOMSEARCH-0.1.0.tar.gz
EMBOSS-6.0.1.tar.gz
EMNU-1.05.tar.gz
ESIM4-1.0.0.tar.gz
HMMER-2.3.2.tar.gz
IPRSCAN-4.3.1.tar.gz
MEMENEW-0.1.0.tar.gz
MIRA-2.8.2.tar.gz
MSE-1.0.0.tar.gz
PHYLIPNEW-3.67.tar.gz
SIGNATURE-0.1.0.tar.gz
STRUCTURE-0.1.0.tar.gz
TOPO-1.0.0.tar.gz
VIENNA-1.7.2.tar.gz

Put then into a clean directory say it 'embassy-src' and extract all package inside it. Here's small bash script to automate that operation

cd /usr/local/src/embassy-src/
for x in `ls`; do tar zxvf $x; done
  • Extract Apache Tomcat, Apache AXIS, and EMBOSS
tar zxvf EMBOSS-latest.tar.gz
tar zxvf apache-tomcat-4.1.36.tar.gz
tar zxvf axis-src-1_4.tar.gz
  • Copy the whole embassy-src folder into /usr/local/src/EMBOSS-6.x.x
cp -r ./embassy-src /usr/local/src/EMBOSS-6.x.x
# rename it to embassy
cd /usr/local/src/EMBOSS-6.x.x/embassy-src
mv embassy-src embassy
cd embassy
# remove all tar.gz packages.
rm -rf *.tar.gz
  • Set compiler flag for Ubuntu (Debian)
export CFLAGS="-DDEBIAN"
  • Set the JAVA path (if not done already)
export PATH=/usr/java/bin:$PATH
  • Go to EMBOSS and Jemboss installation script folder
cd /usr/local/src/EMBOSS-6.x.x/jemboss/utils/
  • Make a SOAP directory
mkdir -p /usr/local/emboss/SOAP/emboss
  • Move APACHE TOMCAT and APACHE AXIS to /usr/local/ and create symbolic links to them in /usr/local/ called tomcat and axis respectively.
  • chown -R tomcat55 /usr/local/tomcat/
  • Execute and follow instructions:
./install-jemboss-server.sh
Screen 1: 1 (CLIENT-SERVER)
Screen 2: y (DOWNLOADED)
Screen 3: 1 (LINUX)
Screen 4: biobase.ist.unomaha.edu (HOST ADDRESS)
Screen 5: y (SSL?)
Screen 6: 8443 (SSL Port)
Screen 7: /usr/java (JAVA PATH)
Screen 8: /download_dir/EMBOSS-6.0.1 (emboss download directory)
Screen 9: /installation_dir/emboss (emboss installation directory)
Screen 10: http://emboss.sourceforge.net/ (documentation)
Screen 11: y (UNIX Authorization)
Screen 12: 111 (UID to run tomcat)
Screen 13: 3 (PAM)
Screen 14: /usr/local/emboss/SOAP/emboss (results folder)
Screen 15: /usr/local/tomcat (tomcat root directory i.e. installation directory)
Screen 16: /usr/local/axis (axis root directory)
Screen 17: <leave blank> (Enter any other EMBOSS configuration options)
Screen 18: y (Embassy)
Screen 19: /usr/bin (ClustalW)
Screen 20: /usr/bin (primer3_core)
 ****** (password for SSL Certificate)
 365 (Validity Period of the Certificate)
 y (automatic deployment of tomcat??)
 Copy and Paste the shown snippet at server.xml
y ( confirmation)
(Perform 3 step process, as shown in screen 
 * change proper ownership for jembossctl,  chown root /usr/local/emboss/bin/jembossctl ; chmod u+s /usr/local/emboss/bin/jembossctl
 * ensuring tomcat is indeed running by different user (provided earlier), In our case, tomcat55 with UID 111
 * use shown script to start and stop tomcat)
Note: those script are written for csh, here is the bash version of it. Move them to wherever you find it comfortable to execute from. 
For example, move them to /usr/local/emboss/bin/

A sample XML entry looks like this:


   <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
              port="8443" minProcessors="5" maxProcessors="75"
              enableLookups="false"
              acceptCount="10" debug="0" scheme="https" secure="true"
              useURIValidationHack="false">
     <Factory className="org.apache.coyote.tomcat4.CoyoteServerSocketFactory"
          keystoreFile="/tempv/emboss/share/EMBOSS/jemboss/resources/server.keystore" keystorePass="*******"
          clientAuth="false" protocol="TLS"/>
   </Connector>

  • Making JNLP

Making JNLP is relatively easy, except the script should now be executed from installation directory rather than downloaded directory.

cd /usr/local/emboss/share/EMBOSS/jemboss/utils/
./makeJNLP.sh

After that, run the following:

mkdir /usr/local/tomcat/webapps/ROOT/Jemboss/
cp -pr /usr/local/emboss/share/EMBOSS/jemboss/jnlp/  /usr/local/tomcat/webapps/ROOT/Jemboss/

  • Create an index.html file under /usr/local/tomcat/webapps/ROOT/ with a link to
 http://biobase.ist.unomaha.edu:8080/Jemboss/jnlp/Jemboss.jnlp
  • Open the file /usr/local/tomcat/webapps/ROOT/Jemboss/jnlp/Jemboss.jnlp and change EDIT with
 biobase.ist.unomaha.edu:8080/Jemboss/jnlp/
  • chown -R tomcat55 /usr/local/tomcat/webapps/ROOT/
  • put the appropriate .embossrc, emboss.default file under /usr/local/emboss/share/EMBOSS/

[edit] jEMBOSS post-installation setup

Please refer to the wiki pages for REBASE, PROSITE, PRINTS to setup those things.


[edit] How to start,stop jEMBOSS

Subject to change when EMBOSS+jEMBOSS is centralized. For now,
Start:

sudo su - (become root)
usermod -s /bin/bash tomcat55
su tomcat55
cd /usr/local/emboss/bin/
./tomstart.bash
exit
usermod -s /bin/false tomcat55

Stop:

sudo su - (become root)
usermod -s /bin/bash tomcat55
su tomcat55
cd /usr/local/emboss/bin/
./tomstop.bash
exit
usermod -s /bin/false tomcat55


Added a script in biobase under /etc/init.d to start/stop tomcat+jEMBOSS --Mshafiullah 19:31, 24 August 2009 (CDT)