Two comments: first, cuffcompare is for comparison of two or more GTF files (not shocking given its name), whereas I am looking for something that will take a single annotation file; second, it's not clear to me where in the cuffcompare output I will find a summary of alternative splicing events. Perhaps you can clarify.
I'm looking for a program that will take a GTF/GFF3 file as input and produce a report describing the observed alternative splicing events (skipped exons, retained introns, mutually exclusive exons, etc). Honestly, it seems like a very straightforward task to write such a program/script, and I was planning on doing so myself. Before writing the code, however, I thought I would make sure that nobody else has shared code for doing this type of task before.
2 answers
Hi Daniel,
How about your work on this topic going on?
I have found there are two package worked for this purpose, i.e alternative splicing event classification.
- LESSeq [1, 2], this package uses the MRF format to store the alignment developed by Gerstein lab. Not yet published and the documentation is scare.
- spliceR [3]
- spladder [4,5]: The input annotation file should be in cpickle format.
- rnaseqlib [6]: the input is genePred file
- [1] https://github.com/gersteinlab/LESSeq
- [2] Gerstein, M. B., et al. (2014). "Comparative analysis of the transcriptome across distant species." Nature 512(7515): 445-448.
- [3] Vitting-Seerup, K., et al. (2014). "spliceR: an R package for classification of alternative splicing and prediction of coding potential from RNA-seq data." BMC Bioinformatics 15(1): 81.
- [4] https://github.com/ratschlab/spladder
- [5] Kahles, A., et al. (2015). "SplAdder: Identification, quantification and testing of alternative splicing events from RNA-Seq data." bioRxiv.
- [6] http://rnaseqlib.readthedocs.org/en/clip/#creating-custom-gff-annotations-for-miso
Running Cuffcompare
Cufflinks includes a program that you can use to help analyze the transfrags you assemble. The program cuffcompare helps you: Compare your assembled transcripts to a reference annotation Track Cufflinks transcripts across multiple experiments (e.g. across a time course) From the command line, run cuffcompare as follows: cuffcompare [options]* <cuff1.gtf> [cuff2.gtf] ... [cuffN.gtf]
Cuffcompare should do this.
You would have to compare the GTF to a reference to find alternative splicing events right? You get a .tracking file when you run cuffcompare that has class codes which indicate how the transcript either matches or differs from the reference.
I'm working with an organism that has no reference annotation. I can use TopHat/Cufflinks to align the RNA-seq reads and assemble the alignments into transcripts. In cases of alternative splicing, a single Cufflinks-produced GTF file will contain multiple overlapping transcript annotations sharing some but not all exons. Alternatively, I can use some gene annotation workflow to produce transcript annotations. Depending on the evidence I provide, this may also identify distinct transcripts that share some but not all exons.
In either case, I don't need to compare a GTF/GFF3 file to another file to identify alternative splicing events, I just need to look for transcripts that share some (but not all) exons. Am I missing something here?
You could be right, I'm just not aware of how to go about finding alternative splicing events for non-model organisms without a consensus reference to compare to.
If I had to take a crack I'd probably consider the transcript with highest abundance as the reference transcript and annotate alternative splicing events by comparing the rest to to it. That's just my guess.
Log in to answer this question.
I was also interested in such a program. Have you found anything or would you care to share what you developed?
I am now looking for the same thing. To take a Cufflinks GTF and annotate each transcript with splicing type. Why is this so hard?
did you find anything for plants?..
Yes I found SUPPA. It worked well. It is a set of python scripts and the generateEvents script is what you want to run on the GTF from Cufflinks/Cuffmerge and then the output files called .ioe have the events.