Getting started

What is Ribotools?

Ribotools is a toolbox for the analysis of matched ribosome profiling (Ribo-seq) and RNA sequencing (RNA-seq) data. It can be used to generate count tables for Ribo-seq, RNA-seq, or both, and perform translation efficiency (TE) or differential expression (DE) analyses.

Ribo-seq abundance is estimated from ribosome footprints, or ribosome-protected RNA fragments (RPFs), using periodic reads only. Optionally, RNA-seq reads can be trimmed to the maximum periodic fragment length of a matched Ribo-seq sample, to minimize mapping bias.

To get started, you need

  • Ribo-seq data (FASTQ) - or output from Rp-Bp

  • matched RNA-seq data (FASTQ) - if performing TE analysis

  • annotation for your organism (GTF)

  • indices for Bowtie 2 and STAR - you can also generate these with Ribotools

  • protocol-specific or general adapter sequences to be removed (FASTA)

Installation

Install with

# set up the conda channels if required
# create a conda environment called ribotools and install ribotools
conda create -n ribotools ribotools

or use a container

# docker or...
docker pull quay.io/biocontainers/ribotools:<tag>
# ...singularity
singularity pull ribotools.sif docker://quay.io/biocontainers/ribotools:<tag>

There is no latest tag, you need to specify the version tag. See ribotools/tags for valid values for <tag>.

For detailed installation instructions, refer to Installation.

Ribotools quickstart

The alignment workflow wraps calls to Flexbar, Bowtie 2, and STAR. Indices must be available. Rp-Bp is installed as a dependency, and can be used to prepare the annotations, see How to prepare annotations.

To generate count tables, simply call

run-htseq-workflow [options] {rna,ribo} config

Prepare the sample information table with

get-sample-table config

To perform TE analysis, call

run-tea [options] config

To perform DE analysis, call

run-dea [options] config

For more information and guidelines how to prepare the configuration file and run the pipeline, refer to the User guide. To get started, the package includes a small example dataset. Check the Tutorials.

How to report issues

Bugs and issues should be reported in the bug tracker. Follow the instructions and guidelines given in the template.

How to contribute

Contributions are welcome! New code should follow Black and flake8. Install development dependencies inside a virtual environment, see Contributing to Ribotools. A typical development workflow would include (i) forking the repository, (ii) creating a new branch for your PR, (iii) adding features or bug fixes, (iv) making sure all tests are passing, (v) building the documentation if necessary, and (vi) opening a PR back to the main repository. If you’re fixing a bug, add a test. Run it first to confirm it fails, then fix the bug, and run it again to confirm it’s fixed. If adding a new feature, add a test, or first open an issue to discuss the idea.

Running the tests

Dependencies can be installed with pip install -e .[tests].

Building the docs

Dependencies for building the documentation can be installed with pip install -e .[docs].

Semantic versioning

We try to follow semantic versioning.

License

The MIT License (MIT). Copyright (c) 2025 Etienne Boileau.