TPP:Installing on Ubuntu 7.04

alert.jpg

For TPP versions 4.8 and later please see the README and INSTALL_LINUX files found in source code distribution for instructions on how to build TPP for the Linux platform.


Disclaimer

These instructions are provided with no guarantees of any kind. These steps worked for me. I hope they work for you but don’t hold me responsible if you make your system inoperable by following these directions.

Background

You will need to have the basic programming packages installed beforehand. Get them by typing the following at the command line:

sudo apt-get install build-essential

When prompted to, enter your user password.

Prerequisite Packages

There are several packages that you need to have installed. The list is provided below. You can find them for Ubuntu using the search feature of this webpage: http://packages.ubuntu.com/

Package Name

Maintainer

Ubuntu Packages to get

libgd

www.boutell.com/gd

libgd-dev

libpng

www.libpng.org

libpng12-dev

zlib

www.gzip.org/zlib

zlib1g-dev

boost

www.boost.org

libboost*

expat

expat.sourceforge.net

libexpat1-dev

gnuplot

www.gnuplot.info

gnuplot

All of these packages can be installed with this command: sudo apt-get install package name. You can check to see if you have the libraries installed using this command: dpkg -l package name

Install Apache Server

For whatever reason, the apache version for Ubuntu 7.04 from the repositories did not work for me so I compiled mine from source. I used version 2.2.4 and installed it to /usr/local/apps/apache2. I downloaded the source code from http://httpd.apache.org/download.cgi. Once you have the source code, these are the commands I typed:

sudo su
tar xzf httpd-2.2.4.tar.gz
cd httpd-2.2.4
./configure --prefix=/usr/local/apps/apache2
make
make install

Start apache: /usr/local/apps/apache/bin/apachectl -k start. Open your browser and go to http://localhost . If everything is okay, you should see a webpage that says ”It works!”.

Now modify the apache server configuration file. At the end of this HowTo is the httpd.conf file that I used. You can copy and paste the text into a blank file and save it as httpd.conf.tpp. Then backup the default apache2 httpd.conf file and replace it with mine. Here are the commands for after you’ve saved my httpd.conf file as httpd.conf.tpp:

cd /usr/local/apps/apache2/conf
mv httpd.conf httpd.conf.original
mv /current/directory/of/httpd.conf.tpp /usr/local/apps/apache2/conf
ln -s httpd.conf.tpp httpd.conf

Restart the httpd daemon:

/usr/local/apps/apache/bin/apachectl -k restart

Go back to http://localhost and see if you still get the same webpage.

Compiling TPP

Download the TPP package here. As of this writing, the current version is 3.2.1. Once you have the tarball here's what you do:

tar xzf TPP_v3.2.1_SQUALL.zip
cd trans_proteomic_pipeline/src


SVN Version

Alternatively, you can get the latest source code via SVN. I've found that installing the SVN release is sometimes better so if you want to use this code here is what you do. (Note: You need SVN installed to do this so make sure you have it with sudo apt-get svn

Once you have SVN installed. Type:

svn co https://sashimi.svn.sourceforge.net/svnroot/sashimi/trunk/trans_proteomic_pipeline --username=anonymous
cd trans_proteomic_pipeline/src

This will download the trans_protemic_pipeline directory to your computer.


Using your favorite editor, open up the Makefile.incl file and set TPP ROOT variable to be where you want the installation to go. In my case I wanted to install it to /usr/local/apps/tpp so that is the value I used. When you’re done, save your changes.

Back at the terminal, from within the src directory type:

make configure
make
sudo make install

As a final step, I created a data directory within my TPP install that is "world accessible". This means anyone can dump data in to this directory for running/viewing proteomics data through the pipeline. I've included the commands for making the directory here:

sudo mkdir /usr/local/apps/tpp/data
sudo chmod 777 /usr/local/apps/tpp/data

Note that the directory is completely accessible to everyone so don't put confidential or mission-critical stuff in this folder.

I did run into one minor nuisance: the nice command in Ubuntu 7.04 is installed at /usr/bin/nice. TPP expects to find it at /bin/nice. To deal with this, I just added a link:

sudo ln -s /usr/bin/nice /bin/nice

This is by no means an exhaustive HowTo and additions/improvement/comments are welcome.

Original Author: Damian Fermin (dfermin at the University of Michigan, Ann Arbor)

Custom httpd.conf file

This is the httpd.conf file I used for my implementation of TPP. It worked for me, I hope it works for you but again this file is provided with no guarantee of any kind.


# This file hosts 2 servers from localhost: 1) TPP and 2) CPAS


# where Apache2 install actually lives on filesystem
ServerRoot "/usr/local/apps/apache2"


# Fully qualified name for server
ServerName localhost

# User accounts to use for Apache processes
<IfModule !mpm_netware_module>
User daemon
Group daemon
</IfModule>

# Contact info. for when people break the machine
ServerAdmin dfermin@umich.edu


# Sets the file Apache will server if a directory is requested
<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

# Prevents access to .htaccess and .htpasswd files
<FilesMatch "^\.ht">
    Order allow,deny
    Deny from all
    Satisfy All
</FilesMatch>

# Default MIME type the server will use for documents if it can't 
# figure one out for a given file extension
DefaultType text/plain

<IfModule mime_module>
    TypesConfig conf/mime.types
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    AddType text/html .shtml
    AddHandler server-parsed .shtml
    AddOutputFilter INCLUDES .shtml
</IfModule>

# Secure (SSL/TLS) connections
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>


## Ports to listen on for TPP
Listen 80
NameVirtualHost 127.0.0.1:80


## Ports to listen on for CPAS
#Listen 8080
#NameVirtualHost 127.0.0.1:8080


######################### TPP Server Configuration ############################
<VirtualHost 127.0.0.1:80>
    ## IP address _AND_ port to access this server on
    ServerName 127.0.0.1:80
    DocumentRoot /usr/local/apps/tpp
    SetEnv WEBSERVER_ROOT /usr/local/apps/tpp
    
    # file where errors are recorded and what level of recording is done
    ErrorLog logs/tpp-errors.log
    LogLevel warn
    
    # Access logs
    <IfModule log_config_module>
        # Directives defining formatting of access log output
        LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
        LogFormat "%h %l %u %t \"%r\" %>s %b" common

            <IfModule logio_module>
                # You need to enable mod_logio.c to use %I and %O
                LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
            </IfModule>
        CustomLog logs/tpp_access_log common
    </IfModule>
    
    

    ## Global directives for TPP configuration
    <Directory "/usr/local/apps/tpp">
        Options Indexes FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>    

    # directory to store data for web browser viewing
    Alias /tpp/data "/usr/local/apps/tpp/data"
    <Directory "/usr/local/apps/tpp/data">
        AllowOverride None
        Options Indexes FollowSymLinks Includes
        Order allow,deny
        Allow from all
    </Directory>

    # directory for tpp's html resources (css, js, images, etc)
    Alias /tpp/html "/usr/local/apps/tpp/html"
    <Directory "/usr/local/apps/tpp/html">
        AllowOverride None
        Options Includes Indexes FollowSymLinks MultiViews
        Order allow,deny
        Allow from all
    </Directory>
    
    # directory for tpp's schema resources
    <Directory "/usr/local/apps/tpp/schema">
        AllowOverride None
        Options Includes Indexes FollowSymLinks MultiViews
        Order allow,deny
            Allow from all
    </Directory>
    
    # directory for tpp's executable files
    ScriptAlias /tpp/cgi-bin/ "/usr/local/apps/tpp/cgi-bin/"
    <Directory "/usr/local/apps/tpp/cgi-bin">
            AllowOverride AuthConfig Limit
            Options Indexes FollowSymLinks MultiViews ExecCGI +Includes
            Order allow,deny
            Allow from all
            SetEnv WEBSERVER_ROOT /usr/local/apps/tpp
    </Directory>
</VirtualHost>
##############################################################################

########################## CPAS Configuration ################################
# Not relevant to this TPP HowTo so you can delete this section
##############################################################################