circtools is written in Python2 (>= 2.7, detect and reconstruct module) and Python3 (>=3.4, all other modules). The tool has a number of external dependencies, mostly standard bioinformatics tools and packages. The installation will, by default, try to install all required dependencies.

Installation is performed via python3 install. No sudo access is required if the installation is suffixed with --user which will install the package in a user-writeable folder. In this case, the binaries should be installed to /home/$USER/.local/bin/ (for Debian-based systems).

Supported operating systems

circtools was developed and tested on Debian Jessie 8 64 Bit and Debian Stretch 9 64 bit. macOS support is currently (09/2018) being tested and is already available in the mac-dev branch of the github repository (however, the macOS functionality cannot be fully guaranteed yet).

Installation from PyPi (preferred)

The default installation will install everything needed to run circtools except R, STAR, or Stringtie (see below). If you like you may install circtools locally (first call) or globally (second call, SU required).

pip3 install circtools --user # does not require root access, installation to local user directory
pip3 install circtools # will require root access and globally install circtools

Installation from GitHub

The GitHub installation will install the most recent version directly from the source repository. Use this method if you want the latest fixes and features.

git clone
cd circtools
pip3 install . --verbose --user

Updating circtools

You may want to update the circtools package if new versions are published. Like for the initial installation there are two ways to update circtools:

pip3 install circtools --user --upgrade
cd /path/to/circtools/repo/
git pull
pip3 install . install --verbose --user --upgrade

Required dependencies

External tools

The installation procedure will automatically install two additional Python-based dependencies: DCC and FUCHS by temporarily cloning the repositories and installing both tools via setuptools to /home/$USER/.local/bin/. Both tools require Python 2 in order to run.

The primer design module as well as the exon analysis and circRNA testing module require a working installation of R with BioConductor. All R packages required are automatically installed during the setup.


The setup scripts assumes that the folder for R plugins is writeable (either in the user’s home or the system folder).

Python packages

  • For circRNA detection
    • HTSeq>=0.11.0
    • pysam>=0.13.0
    • numpy>=1.8.2
    • pandas>=0.18.1
  • For circRNA reconstruction
    • HTSeq>=0.11.0
    • pysam>=0.13.0
    • numpy>=1.8.2
    • pathos>=0.2.1
  • For circRNA enrichment
    • pybedtools>=0.7.10
    • statsmodels>=0.8.0
  • For circRNA primer design
    • BioPython>=1.71

Detailed installation

Getting the source code

Step 1: Clone source code from GitHub:

git clone


Step 2: Install circtools using the provided installation script. The --user flag installs circtools in your home folder, thus making sure you do not require any administrative rights during the installation:

cd circtools
pip3 install . install --verbose --user

R environment

Step 3: Setting up R environment. In order for the automatic installation of R packages to work we need to set the package directory to a user-writeable path. The setup automatically sets that path to /home/$USER/.R/.


Step 4: The setup script is designed to make sure that the environment is setup correctly to run circtools. The circtools setup will automatically install CircTest, primex, DCC and FUCHS.

Finishing up

Step 5: Adding installation folder to $PATH. In order for circtools to find all executables, the setup will add the folder /home/$USER/.local/bin/ automatically to your .bashrc file

This closes the circtools installation. To verify that circtools has been correctly installed, try to call circtools for the first time:

$> circtools --help
usage: circtools [-V] <command> [<args>]