Running the TPP Singularity image

From SPCTools

Revision as of 19:23, 21 February 2023; view current revision
←Older revision | Newer revision→
Jump to: navigation, search

Contents

Overview

Updated: 2023-02-21

The Singularity system allows the distribution of pre-built computational units called containers, which can be run on any system with the Singularity software installed. The spctools/tpp image is built based on the equivalent Docker image, which is based on the BioContainers Ubuntu image, and uses many of the BioContainers conventions. Singularity has the advantage that (once installed) it can be run in ordinary user mode, rather than requiring sudo privileges.

Installing Singularity

Ideally you already have Singularity installed on your machine. If not, here is some potential installation guidance on how to install Singularity your computer. If you are running Fedora or Enterprise Linux, installation should be as easy as:

sudo yum install singularity-ce

If you are running Ubuntu or another distribution of Linux, installation may be more complex. As of this writing, there is no Ubuntu package for Singularity. First, check to see if there is one available today.

apt list | grep -i singularity

(there are other things called singularity such as some music things, etc. You want one with a version around 3.10)

Assuming it's still not there, here is a way to install the above Fedora package on Ubuntu. First install alien:

sudo apt --yes install alien

Find the most recent and relevant version of Singularity at the Fedora package database at: https://src.fedoraproject.org/rpms/singularity-ce and download:

wget https://kojipkgs.fedoraproject.org/packages/singularity-ce/3.10.5/3.fc38/x86_64/singularity-ce-3.10.5-3.fc38.x86_64.rpm

Then convert to a deb (this takes a few minutes without obvious output)

sudo alien -d singularity-ce-3.10.5-3.fc38.x86_64.rpm

Then install the deb (there may be some sort of a permission denied error at the very end after installation, which seems to be harmless)

sudo apt install ./singularity-ce_3.10.5-4_amd64.deb

Give the installation a quick test. If this doesn't work, you'll need to troubleshoot.

singularity --version


Downloading spctools/tpp docker image

First, find the most appropriate TPP image:

singularity search spctools
 Found 2 container images for amd64 matching "spctools":
 library://spctools/tpp/tpp:6-1-0
 library://spctools/tpp/tpp:6-2-0

Then download the latest TPP container

singularity pull library://spctools/tpp/tpp:6-2-0

(this should put a tpp_6-2-0.sif file that is the container image in your current working directory. You may wish to move that .sif into a central location where it can be easily accessed, perhaps with other .sif files)


Running a specific TPP program via the Singularity image

If you want to run a specific program, e.g. Comet, from the TPP installation, you can invoke it along with any arguments as illustrated below, where we have also mapped the current working directory outside the container to the /data directory inside the container, which is the current working directory inside the container by default.

singularity run --bind "$PWD" ./tpp_6-2-0.sif comet -p

You should find a freshly created comet.params.new file in the current directory after the command completes. To run PTMProphet and see its command-line parameters, try:

singularity run --bind "$PWD" ./tpp_6-2-0.sif PTMProphetParser

If you only want to run tools like Comet and PeptideProphet from the command line, that's all. You just ran Comet and PTMProphet. The next step it to run them with real data and appropriate parameters.


Finis!

Personal tools