REDItools (This page is under revisionplease be patient!)

REDItools are python scripts developed with the aim to study RNA editing at genomic scale by next generation sequencing data. RNA editing is a post-transcriptional phenomenon involving the insertion/deletion or substitution of specific bases in precise RNA localizations. In human, RNA editing occurs by deamination of cytosine to uridine (C-to-U) or mostly by the adenosine to inosine (A-to-I) conversion through ADAR enzymes. A-to-I substitutions may have profound functional consequences and have been linked to a variety of human diseases including neurological and neurodegenerative disorders or cancer. Next generation sequencing technologies offer the unique opportunity to investigate in depth RNA editing even though no dedicated software has been released up to now. REDItools are simple python scripts conceived to facilitate the investigation of RNA editing at large-scale and devoted to research groups that would to explore such phenomenon in own data but don’t have sufficient bioinformatics skills. They work on main operating systems, can handle reads from whatever platform in the standard BAM format and implement a variety of filters. REDItools enable the analysis of RNA editing at three levels:

1.    REDItoolDnaRna.py : compares RNA-Seq and DNA-Seq data from the same sample;

2.    REDItoolKnown.py : explores known editing events in RNA-Seq experiments;

3.    REDItoolDenovo.py : predicts de novo editing events using only RNA-Seq data.

REDItools include also accessory scripts:

  • FilterTable.py : filters in or out positions in REDItool tables;
  • AnnotateTable.py : annotates positions in REDItool tables;
  • SearchinTable.py : searches positions in REDItool tables;
  • selectPositions.py : filters out positions in REDItool tables according to different criteria;
  • REDItoolBlatCorrection.py : uses Blat to detect read mapping errors;
  • SortTable.py : sorts an input table (new from version 1.0.3);
  • SortGFF.py : sorts an input GFF/GTF file (new from version 1.0.3);
  • tableToTabix.py : converts an input table to tabix (new from version 1.0.3);
  • GFFToTabix.py : converts an input GFF/GTF to tabix (new from version 1.0.3);
  • TableToGFF.py : converts an input REDItool table to GFF (new from version 1.0.3).

Prerequisites

REDItools require python 2.6 or 2.7 available at python web-site. All scripts have not been tested on python 3. Two external modules need to be installed:

  • pysam module version 0.6 or 0.7 (madatory) available on Google Code
  • fisher module version 0.1.4 (optional) available at python web-site

REDItools are expected to work on unix/linux based operating systems running python 2.6+ and Pysam 0.6+. Windows users can only manipulate output REDItools tables since a Pysam version for windows in not yet available.

To perform Blat correction and format alignment exchange (SAM to BAM and vice versa) the following packages should be installed or already present in your path:

Installation

Each REDItool script can be executed independently. For example:

python REDItoolDnaRna.py -h

The package can also be installed as:

gunzip reditools-1.0.x.tar.gz tar –xvf reditools-1.0.x.tar cd reditools-1.0.x python setup.py install

Few examples

REDItools have been successfully tested on:

  • Mac OS X 10.8.8 running python 2.7.2, Cython 0.14.1, Pysam 0.6 and fisher 0.1.4
  • Linux CentOS 6 running python 2.7.2, Cython 0.15.1, Pysam 0.7 and fisher 0.1.4
REDItoolDnaRna.py -i rnaseq.bam -j dnaseq.bam -f reference.fa -o outputfolder REDItoolKnown.py -i rnaseq.bam -f reference.fa -l knownEditingSites.txt REDItoolDenovo.py -i rnaseq.bam -f reference.fa

A testing dataset can be found here.

Documentation

Main documentation can be found here. (Please note that documentation is under revision and not completely updated. Sorry for the inconvenient.)

Cite

If you use our tools in your work, please cite us:

Picardi E and Pesole G

REDItools: high-throughput RNA editing detection made easy

Bioinformatics 2013

License

REDItools are released under the MIT license.

Contact

For further details or bugs or suggestions, please contact Ernesto Picardi at ernesto.picardi at gmail dot com