Alignment based vs reference-free (transcriptome analysis)? I want to focus on transcriptome analysis. We know it's possible to analyze RNA-Seq experiment based on alignment or k-mers.

Possible alignment workflow:


Align sequence reads with TopHat2
Quantify the gene expression with Cufflinks


Possible reference-free workflow:


Quantify sequence reads with Kallisto reference-free index


Both strategy generate gene expression table.

Q: What are pros and cons for each of the approach? Can you give guideline?
First of all, I would emphasize that "alignment-free" quantification tools like Salmon and Kallisto are not reference-free. The basic difference between them and more traditional aligners is that they do not report a specific position (either in a genome or transcriptome) to which a read maps. However, their overall purpose is still to quantify the expression levels (or differences) of a known set of transcripts; hence, they require a reference (which could be arbitrarily defined).

The most important criterion for deciding which approach to use (and this is true of almost everything in genomics) is exactly what question you would like to answer. If you are primarily interested in quantifying and comparing expression of mature mRNA from known transcripts, then a transcriptome-based alignment may be fastest and best. However, you may miss potentially interesting features outside of those known transcripts, such as new isoforms, non-coding RNAs, or information about pre-mRNA levels, which can often be gleaned from intronic reads (see the EISA method).

This paper also has some good considerations about which tools may work best depending on the question you want to answer.

Finally, another fast and flexible aligner (which can be used with or without a reference transcriptome) is STAR.