This list is intended mostly for de novo splice site / transcript / gene prediction in newly sequenced genomes. At the same time tools listed below often are used in other pipelines such as transcript quantification or SNP discovery.
Spliced Mappers (tested)
Tophat and Cufflinks
current version: 2.0.4 released 2012.06.21
active development: yes platforms
- Linux x86_64 binary
- Mac OS X x86_64 binary
- source code
requirements: SAMtools (http://samtools.sourceforge.net/)
base mapper: bowtie2/bowtie
input: fastq, fasta
Currently the most widely used program for RNA-Seq mapping. Output often processed with Cufflinks. Latest version supports TopHat detection of insertions and deletions using RNA-Seq data. Supports mixed length reads (suitable i.e. for 454 data)
current version: 2.0.1 released 2012.06.15
current version: 2012-11-07
active developement: yes
FastA and FASTQ input, support for paired ends, gziped fastq files, circular chromosomes
./configure --prefix=/some/path/for_install/ --with-gmapdb=/path_to/gmap_DBs/ --with-samtools=/path_to/samtools_0.1.18/ make make install
gsnap --dir=genome_directory --db=genome_database --batch=2 --localsplicedist=10000 --nthreads=4 --nofails my_reads.fasta
Check "gsnap --help" for more detailed options
current version: GEM-binaries-Linux-x86_64-core_i3-20121106-022124.tbz2 from 2012-11-06 active development: yes
base mapper: gem-mapper and gem-split-mapper
Developed in Ocaml and Python. Two step mapping (unspliced mode first, then unmapped reads are mapped with splicing).
current version: 0.9.5 from 2010.11.25
active development: maybe (no new release in a 2 years)
base mapper: bowtie
input: fastq (converts quality values to phred scale)
output: bed file of junctions
Developed in Python. Requirements:
- OS: tested on MacOS X (authors), Linux Fedora 8,
- Python 2.6 (tested with 2.6.4)
- numpy (tested by authors with version 1.3.0)
- bowtie (works with 0.12.7)
Also completes running example with Python 2.7.1rc1, numpy-1.5.1 and bowtie 0.12.7 on in-house data.
python runHMM.py -o output_dir -i input_RNA-seq_data.qseq -q quality_type -g genome4mapping -j min_intron_size -k max_intron_size -p number_of_procesors_to_use
type: python runHMM.py --help for more explanation
Tip: you can map your reads first in a non-spliced mode with a mapper of your choice, filter out all mapped reads and feed HMMsplicer with just unmapped reads.
Caveat: due to training process you have to use reads of the same length.
current version: 1.9 from 2011.02.23
active development: yes
The SOAPals website provides detailed information how to install and run it plus performance evaluation data.
SOLiD data only
http://solidsoftwaretools.com/gf/project/splitseek/ (warning: dead link. solidsoftwaretools.com closed)
current version: 1.3.4
Ameur A, Wetterbom A, Feuk L, Gyllensten U. Global and unbiased detection of splice junctions from RNA-seq data. Genome Biol. 2010 Mar 17;11(3):R34.
Developed in Perl.
It requires AB WT Analysis Pipeline http://solidsoftwaretools.com/gf/project/transcriptome/ which breaks while compiling out of the box with gcc 4.4.x.
- edit ./readsmap/src/simu.cxx file
- replace line 27:
char *s = strchr(seq, '.');
with this one:
const char *s = strchr(seq, '.');
Solved by Paolo Di Tommaso from CRG.
current version: Oct 2010?
written in: perl (with some optional python, Java and C++) Requires junction libraries (available from X-MAte web site for human and mouse).
Spliced Mappers (in developement)
PALMapper (fusion of GenomeMapper & QPALMA)
current version: palmapper-0.4.tar.gz 2011.07.04
active development: yes(?)
Simple installation (run "make" in installation directory -> tested on Debian 6.0 with gcc ). To check the install go to "testcase" and run "make" again. This requires fast Internet connection as it downloads genome and FASTQ files.
current version: MapSplice 1.15.2 from 2011.4.12 active development: maybe (no new release in a year)
base mapper: bowtie (new version finally supports bowtie 0.12.7)
Caveat: reference genome sequence is chromosome oriented (= one fasta file for a chromosome).
current version: 188.8.131.52 2010.10.23 active development: maybe (no new release in a 1.5 years)
base mapper (preferred): bowtie (others possible) "Currently, only the canonical GT-AG splice sites are identified."
- 8GB minimum for human genome, 16GB recommended
- input formats: RAW, FASTQ or FASTA
- Read >= 50bp
- Bowtie (preferred)
- others: SeqMap, Eland
Features: "Support for arbitrarily long uneven read lengths"
Malachi Griffith, Griffith OL, Mwenifumbo J, Morin RD, Goya R, Tang MJ, Hou YC, Pugh TJ, Robertson G, Chittaranjan S, Ally A, Asano JK, Chan SY, Li I, McDonald H, Teague K, Zhao Y, Zeng T, Delaney AD, Hirst M, Morin GB, Jones SJM, Tai IT, Marco A. Marra. Alternative expression analysis by RNA sequencing. Nature Methods. 2010 Oct;7(10):843-847.
version: ALEXA-Seq_v.1.17 from Feb 2012
Available configured virtual machines (for VMware) ver. 1.12
Proper name: G-Mo.R-Se
current version: gmorse_02mar2011.tar.gz 2011.03.02 (new version)
It was used for Vitis vinifera genome project (old version).
current version: Interim Erange3.3 release plus 4.0a new version
base mapper: bowtie or blat
- Python 2.5+
- Cistematic 3.0 from http://cistematic.caltech.edu
- Cistematic version of the genomes, unless providing your own custom genome and annotations.
- You will need genomic sequences to build the expanded genome, as well as gene models from UCSC.
- (Optional) Python is very slow on large datasets. Use of the psyco module (psyco.sf.net) on 32-bit Linux or all Mac Intel machines to significantly speed up runtime is highly recommended.
- (Optional) Several of the plotting scripts also rely on Matplotlib,
which is available at matplotlib.sf.net.
current version: 1.4 2010.09.06
Transcriptome Assembly Utility: requires already mapped input. Compatible mappers: Blat, Eland and HashMatch. Also accepts gff3 files.
Mapping short reads to draft genome sequence with multiple contigs poses problems for current spliced mappers.
Detailed description: http://genome.ucsc.edu/goldenPath/help/blatSpec.html
download from: http://users.soe.ucsc.edu/~kent/src/
last version: blatSrc34.zip 2007.04.20
Options used to produce hints for Augustus gene prediction program: (based on: http://augustus.gobics.de/binaries/readme.rnaseq.html)
blat -noHead -stepSize=5 -minIdentity=93 genome.masked.fa rnaseq.fa ali.psl
bahlerlab (nature Protocols 200 Defining transcribed regions using RNA-seq Brian T Wilhelm, Samuel Marguerat, Ian Goodhead & Jürg Bähler http://www.bahlerlab.info/docs/nprot.2009.229.pdf
blat -noHead -out=psl -oneOff=1 -tileSize=8 FASTA_genome.txt FASTA_sequences.txt Output.bsl
Pash 3.0: A versatile software package for read mapping and integrative analysis of genomic and epigenomic variation using massively parallel DNA sequencing. BMC Bioinformatics. 2010 Nov 23;11(1):572 Authors: Coarfa C, Yu F, Miller CA, Chen Z, Harris RA, Milosavljevic A
current version: 184.108.40.206
Latest: last-250.zip from 2012.08.16
requirements: min 2GB RAM/mammalian genome, 16-20GB recommended for optimal performance
cd src; make
Creating genomic database and short reads mapping:
#db creation lastdb -m1111110 -s20G -v my_genome_db my_genome.fasta #mapping lastal -Q3 -o reads_vs_my_genome_db.out -f 0 -v my_genome_db reads.fastq
where: -Q3: fastq Illumina format -f 0: output in tabulated format -v: verbose (prints what it is doing)
last can map reads with indels and truncate large parts of the reads (highly sensitive but with lower specificity). For example it can report just 30 nucleotide long matches out of 54nn long queries. Output needs to be filtered from spurious matches.
It does not have multiple processor option, so for faster mapping one has to split fastq file(s), run last in parallel and combine the results (or use Hadoop).
Since version 149 it is possible to get SAM output by two step procedure:
#get MAF output first lastal -Q3 -o reads_vs_my_genome_db.maf -f 1 -v my_genome_db reads.fastq #convert MAF to SAM using maf-convert.py from scripts directory maf-convert.py sam reads_vs_my_genome_db.maf > reads_vs_my_genome_db.sam
To convert it to bam format use samtools:
samtools view -but my_genome.fasta.fai -o reads_vs_my_genome_db.unsorted.bam reads_vs_my_genome_db.sam samtools sort reads_vs_my_genome_db.unsorted.bam reads_vs_my_genome_db.sorted samtools index reads_vs_my_genome_db.sorted.bam
(tested with samtools ver 0.1.13)
Caveat: default options result in mapping homopolymeric runs/simple repeats etc. to multiple genome position. To avoid this genome should be softmasked first.
Obsolete / not available
http://solidsoftwaretools.com/gf/project/rnamate (dead link)
current version: 1.01
No activity since 2009. Successor: X-MATE
current version: 1.1 , 05-05-2010
The SOAPals website provides exact informations how to install and run it.
Seems that SOAPals has been replaced by SOAPsplice, and SOAPals is not available anymore.
SAW (method no software yet)
Ning K, Fermin D (2010) SAW: A Method to Identify Splicing Events from RNA-Seq Data Based on Splicing Fingerprints. PLoS ONE 5(8): e12047. doi:10.1371/journal.pone.0012047