Piranha — CLIP- and RIP-Seq peak caller

Piranha is a peak-caller for CLIP- and RIP-Seq data. It takes input in BED or BAM format and identifies regions of statistically significant read enrichment. Additional covariates may optionally be provided to further inform the peak-calling process.


The latest release of Piranha is version 1.2.1 . This version introduces support for correctly identifying the strand each peak is on.

System requirements

64-bit machine and GCC version ≥ 4.1 (to support TR1).

Piranha requires a functioning installation of the GNU Scientific Library (GSL). If you don’t already have this installed, you will need to download and install it from here.
This distribution has been tested with GSL version 1.14
Your installation of GSL must be built for a 64 bit architecture.

Piranha uses BAMTools to provide support for BAM files. If you require BAM support, you must download and install BAMTools. If you don’t need BAM support, Piranha can be built without it (this is the default actually).

The regression tests (which you don’t need to run) require Python.


To install Piranha, download the compressed archive, unpack it similar to:

> tar -xf piranha-X.Y.Z.tar.gz

To configure the installation, type the following, where ‘>’ is your prompt and the CWD is the root of the distribution

> ./configure

To build the binaries, type

> make all

To install the binaries, type the following, where ‘>’ is your prompt and the CWD is the root of the distribution

> make install

This will place the binaries in the bin directory under the package root. They can be used directly from there without any additional steps. You can add that directory to your PATH environment variable to avoid having to specify their full paths, or you can copy the binaries to another directory of your choice in your PATH.

You can verify that Piranha was built correctly by running the included unit and regression tests. At the command prompt (assuming your prompt is ‘>’) type the following

> make test

Basic usage of Piranha

Piranha has two main modes of operation. In the first, a single regular distribution is fit to the input data and each region is assigned a p-value based on this distribution. The default distribution is the zero-truncated negative binomial. To run Piranha in this way, use the following, where > is your prompt

> ./Piranha input.bed

The second mode of operation fits a regression model relating counts to covariates. The default is a zero-truncated negative binomial regression. To run Piranha in this way, do the following, where > is your prompt

> ./Piranha input.bed covariate1.bed covariate2.bed

Note that the first file is always assumed to be the counts, and the remaining files are assumed to be covariates. For further details on using Piranha, see the readme file included with the distribution