I don't understand how you run the differential Splicing analysis in the edgeR User's manul.
I have tried it with my own data, but it seems that I something else. I mean I am not worry about getting bad results. If this is what I have in the data, so be it. But I don't understand how they did it in the manual. I followed all the steps, but keep getting the error:
Error in diffSpliceDGE(fit, coef = 2, geneid = "Geneid", exonid = "Start") :
No genes with more than one exon
In the manual they show a table of gene IDs after the quantification on exon level, where all the rows from one specific gene have the same gene ID, differentiating by the start of the exon. This is the table from the manual (after creating the DGEList
object:
> head(y.all$genes)
GeneID Chr Start End Strand Length
138088 30970 NC_004354.3 138094 139379 - 1286
138087 30970 NC_004354.3 139445 139611 - 167
138089 30970 NC_004354.3 139445 139889 - 445
138086 30970 NC_004354.3 139713 139889 - 177
138091 30971 NC_004354.3 140011 141629 + 1619
138092 30971 NC_004354.3 142415 144271 + 1857
But I can't figure out how the quantification was done. From I can see from the manual, the quantification was done on the gene level (GTF.featureType="exon", GTF.attrType="ID",
)
I have ran also the quantification on both exon level, and just to be sure also on the gene level. Every time I get a table with unique IDs for each row:
# DGEList object from my exon-level quantification
$genes
Geneid Chr Start End Strand Length
1 cTel3X.2.e1 V 180 329 + 150
2 cTel3X.3.e1 V 180 329 - 150
3 B0348.5a.1.e1 V 1663 1782 + 120
4 B0348.5a.1.e2 V 2851 3019 + 169
5 B0348.5a.1.e3 V 5538 5966 + 429
#DGEList after gene-lvel quant.
> head(geneDGE.L4$genes)
Geneid Chr
1 WBGene00197333 V ...
2 WBGene00198386 V ...
3 WBGene00015153 V;V;V;V;V;V ...
4 WBGene00002061 V;V;V;V;V;V;V;V;V;V;V;V;V;V;V;V;V;V;V;V;V;V;V;V;V;V;V ...
5 WBGene00255704 V ...
6 WBGene00235314 V;V ...
In both runs, the gene IDs are unique. I am not asking about how to run the analysis as I think i have figured this one out. I want to understand if I quantify the reads correctly and how to avoid the above mentioned error message.
thanks
Assa
Yep I had the same doubt when running edgeR for diff splicing. I inittialy tried with the exon table given by StringTie (the assembler that I was using). But in the end, as alternative, I proceeded to use the IsoformSwitchAnalyzeR package