Hi,
I am having trouble getting spliceR to read Cufflinks/Cuffdiff output parsed by CummeRbund. I used an annotated genome from NCBI (not available in UCSC or BSGenomes) as a reference for my Cufflinks analysis, and generated a merged.gtf file using Cuffmerge, which I used as input for cummeRbund/spliceR. When I try to generate a spliceRList, the command fails with an error:
> cuffDB <- readCufflinks(dir='./timecourse_22', rebuild=TRUE,gtfFile='../../cuffmerge/merged_asm/merged.gtf', genome='poplar')
..cuffDB output with no error messages...
> mySpliceRList <- prepareCuff(cuffDB)
Reading cuffDB, isoforms...
Reading cuffDB, exons...
Analyzing cufflinks annotation problem...
No instances of a Cufflinks annotation problem found - no changes were made
Creating spliceRList...
Error in strsplit(unlist(lapply(isoformDataSplit, FUN = function(x) { :
non-character argument
The cummeRbund output appears to be ok:
> cuffDB
CuffSet instance with:
3 samples
43563 genes
107981 isoforms
62278 TSS
44694 CDS
87126 promoters
124556 splicing
81208 relCDS
Is this an annotation issue? the spliceR manual only describes downloading annotation information from UCSC. Is there a way to load it from an annotated reference genome (gbk/gff/gtf format etc.)?
Thanks!
I figured out what was wrong. By default, spliceR removes any chromosome names that do not match the UCSC format. By supplying the flag "removeNonChanonicalChr=FALSE" to the prepareCuff command, the command completed without error.
ie:
The error resulted from the fact that all chromosomes were removed (since they are NCBI and not UCSC format) and the script choked at the lack of valid regions. The flag should probably be changed to "removeNonCanonicalChr" and mentioned in the documentation more clearly.
Thanks weisbeal.
I was trying to figure out what is causing prepareCuff to fail, as the example set provided by spliceR worked perfectly.
I too have used the flag you mentioned
which solved the error.