TPP 5.2.0: Installing on Ubuntu 18.04 LTS

From SPCTools

Revision as of 22:55, 22 October 2018; view current revision
←Older revision | Newer revision→
Jump to: navigation, search
middle
Note that this recipe will likely not be exactly applicable to different versions of TPP or different distributions of Linux, but perhaps can be a useful head start. For other versions of TPP, please see the README and INSTALL_LINUX files found in source code distribution for instructions on how to build TPP for the Linux platform.


Contents

Before we begin

This recipe describes installing TPP release 5.2.0.

First some general notes

  • We assume a fresh installation of Ubuntu 18.04 LTS as a starting point (LTS stands for Long Term Support, which means that this version of Ubuntu will be stable and supported for several years).
  • This recipe was tested on a fresh Azure cloud computing platform instance running Ubuntu 18.04 LTS in October 2018
  • We assume that there is an ordinary user account named 'tpp' that will be used as the primary account. This account will need sudo privileges.
  • This installation assumes you are installing to /local/tpp/, if you want to install anywhere else, change accordingly
  • This installation assumes you are using Apache 2.4 as your web server
  • The gray blocks are commands to be typed in at the shell directly. You should be able to copy and paste them a line at a time.

Installation

Installing prerequisite packages

Use the ubuntu package manager to upgrade any outdated packages and then install all the dependencies

sudo apt update
sudo apt --yes upgrade
sudo apt --yes install subversion
sudo apt --yes install make
sudo apt --yes install g++
sudo apt --yes install build-essential
sudo apt --yes install zlib1g-dev
sudo apt --yes install libghc-bzlib-dev
sudo apt --yes install gnuplot
sudo apt --yes install unzip
sudo apt --yes install expat
sudo apt --yes install libexpat1-dev

Creating a suitable place to compile and install

In this recipe, we install in /local. You may wish to install in a different location, and the recipe should be adjusted accordingly. This also assumes that you will use an account 'tpp' and group 'tpp'. Maybe you'll use a different account.

sudo mkdir /local
cd /local
sudo mkdir tpp data svn
sudo chown tpp.tpp tpp data svn

Pulling the TPP 5.2.0 source code from SourceForge

cd /local/svn
svn checkout svn://svn.code.sf.net/p/sashimi/code/tags/release_5-2-0

Compiling the source code

Create a custom site.mk file with something like the following. After pasting in the three data lines, hit CTRL-D.

cd /local/svn/release_5-2-0
echo "INSTALL_DIR = /local/tpp" > site.mk
echo "TPP_BASEURL = /tpp" >> site.mk
echo "TPP_DATADIR = /local/data" >> site.mk

Compile the whole package. This will start by unpacking Boost and ProteoWizard and compile all that and then compile the TPP. This takes quite a while.

make all

If the above completed without error, then you're ready to proceed. If the compilation stopped with an error, you will need to troubleshoot. It has been reported that sometimes just doing another `make all` will allow completion of compilation. Try that first before trying something more complex. Otherwise, try to determine why the compilation failed. Perhaps some prerequisite software is not installed on your system. If you can't figure it out, post the operating system version, TPP version, and compilation error messages to spctools-discuss and someone can help you.

Next, install it!

make install

Next you'll need to make sure that all the Perl modules are available. The following works on the fresh version of Ubuntu 18.04 LTS that we tried on:

export PERL_MM_USE_DEFAULT=1
yes | sudo cpan install automatically
sudo cpan make install
printf '\n' | sudo cpan install Bundle::CPAN
sudo cpan install CGI
sudo cpan install XML::Parser
sudo cpan install FindBin::libs
yes | sudo cpan install JSON

Now test to make sure all modules are installed:

cd /local/tpp/bin
export PERL5LIB=/local/tpp/lib/perl
./test_tpi.pl
If you get any NOT FOUND errors, then go back to cpan and install them.

If you have no interest in using the web interfaces, then you're done. Happy TPPing. However, if you want the GUI web interfaces, continue onto install and configure Apache .

Configuring the Apache web server

The following assumes you will install on port 10401. Substitute 10401 for 80 if you want to install on the default port.

sudo apt --yes install apache2
cd /local/tpp/conf
cat httpd-tpp.conf | sed 's/_TPP_PORT_/10401/' > httpd-tpp-1.conf
cat httpd-tpp-1.conf | sed 's/ScriptInterpreterSource/#ScriptInterpreterSource/' > httpd-tpp-2.conf

vi httpd-tpp-2.conf
Comment out:
#    PassEnv TPP_HOME
#    PassEnv TPP_DATADIR

UNcomment these lines (and make sure they have leading slashes!):
   SetEnv TPP_HOME    /local/tpp
   SetEnv TPP_DATADIR /local/data
   SetEnv TPP_BASEURL /tpp
   SetEnv TPP_DATAURL /tpp/data

Next configure the permission access to the server. If only the localhost should be able to access the interface (e.g. installation on a laptop running Linux then only grant access to 127.0.0.1. Or you can just give access to a range of IP addresses. Or you could grant world access if you have collaborators everywhere accessing the system. This confers some additional possible security risks. In this example, we've used the Apache 2.4 syntax to grant access to localhost (127.0.0.1) and IP addresses 174.*.*.*. Access to all has been commented out:

<Directory "/local/tpp">
    AllowOverride None
    Require ip 127.0.0.1
    Require ip 174
#   Require all granted
</Directory>

Also do the same for the data directory:

<Directory "/local/data">
    Options Includes Indexes MultiViews
    Require ip 127.0.0.1
    Require ip 174
#   Require all granted

    AddType text/html .shtml
    AddHandler server-parsed .shtml
</Directory>

Next set up some needed Apache modules and restart:

sudo a2enmod rewrite
sudo a2enmod cgid
sudo service apache2 restart

Next install this config file. This may vary among distributions, but this seems like a nice way to do it on Ubuntu 16.04.

cd /etc/apache2/conf-available
sudo cp -p /local/tpp/conf/httpd-tpp-2.conf httpd-tpp.conf
cd ../conf-enabled
sudo ln -s ../conf-available/httpd-tpp.conf
sudo service apache2 reload

If that reload generated an error, you'll need to troubleshoot your configuration. Next, set some appropriate permissions for the web server to write. With the first command, verify that your Apache server is running as the user www-data. If it's running as a different user, then substitute that.

ps aux | grep apache
set tmpUser=www-data
cd /local/tpp
sudo chown -R $tmpUser.$tmpUser data log users 

And now you're good to go ... head on over to http://localhost:10401/tpp/cgi-bin/tpp_gui.pl or if this is installed on a different machine, use its name or IP address, e.g. http://40.83.177.49:10401/tpp/cgi-bin/tpp_gui.pl. Note that the above installation assumes installation on port 10401. If you chose a different port, then adjust the above URLs accordingly.


Testing the installation with a sample dataset (optional)

If you want to test your installation with a search and a PeptideProphet processing, try this recipe:

Navigate to:
http://xxx.xxx.xxx.xxx:10401/tpp/cgi-bin/tpp_gui.pl
- Login with guest and password

## In the Petunia interface in the Web browser:
[Files]
[Create new directory] tests
Go into tests

[TPP Tools] [Fetch Datasets]
 Choose target directory for downloaded files
   [Add Files] Go to the top level /local/data
     - Check box next to tests
     - (Select)
 Specify Dataset ID 
   Paste into URL box: http://www.peptideatlas.org/export/refData/QuickYeastUPS1.zip
 (Fetch Dataset)
 Wait a few moments and [Refresh] until the job is done
 Click on [this directory] and there should only be a subdirectory "QuickYeastUPS1"

[Files]
- Go to /local/data/params/
- Check box next to comet.params
- Click (Copy) button
- Go to /local/data/tests/QuickYeastUPS1
- Click (Paste) button
- On the same line as comet.params, click [Params]
Make the following changes (they might already be set, but check):
  peptide_mass_tolerance = 20
  peptide_mass_units = 2
  isotope_error = 3
- (Save Search Parameters File)

[Pipeline: Comet]
[TPP Tools] [Comet Search]
 Choose mz[X]ML Input Files
  [Add Files] Select /local/data/tests/QuickYeastUPS1/UPS1_50000amol_R1.mzML
 Choose Comet Parameters File
  [Add Files] Select comet.params
 Choose a sequence database
  [Add Files] Select Yeast_UPS_cRAP.fasta
 [Run Comet Search]

[TPP Tools] [Analyze Peptides]
- (Add Files)
- Check box next to UPS1_50000amol_R1.pep.xml
- (Select)
- Check box next to "Use accurate mass binning"
- Scroll to bottom and (Run XInteract)
- [Refresh]
- Make sure no errors
- click on [PepXML] link in /local/data/tests/QuickYeastUPS1/interact.pep.xml [ PepXML ]

- Click on a probability and view the plots
- Go back to the PepXML Viewer tab
- Click on a value in the Ions column
Finis!

Personal tools