Closed AndrewLangvt closed 6 years ago
Hey, unless the author spots something else, I suspect this is because your gtf is the wrong format. check out /anno/gencode_hg19.v25.tsl1.gtf.gz and you'll see you're missing some lines in your gtf (transcript_id and gene_id), and your formatting of the lines is slightly off. Again, not the author so there might be another issue, but from my experience with this error it is almost certainly a mis-formatted gtf.
chr1 HAVANA exon 11869 12227 . + . gene_id "ENSG00000223972.5_1"; transcript_id "ENST00000456328.2_1"; gene_type "transcribed_unprocessed_pseudogene"; gene_status "KNOWN"; gene_name "DDX11L1"; transcript_type "processed_transcript"; transcript_status "KNOWN"; transcript_name "DDX11L1-002"; exon_number 1; exon_id "ENSE00002234944.1_1"; level 2; transcript_support_level 1; tag "basic"; havana_gene "OTTHUMG00000000961.2_1"; havana_transcript "OTTHUMT00000362751.1_1"; remap_original_location "chr1:+:11869-12227"; remap_status "full_contig";
chr1 HAVANA exon 12613 12721 . + . gene_id "ENSG00000223972.5_1"; transcript_id "ENST00000456328.2_1"; gene_type "transcribed_unprocessed_pseudogene"; gene_status "KNOWN"; gene_name "DDX11L1"; transcript_type "processed_transcript"; transcript_status "KNOWN"; transcript_name "DDX11L1-002"; exon_number 2; exon_id "ENSE00003582793.1_1"; level 2; transcript_support_level 1; tag "basic"; havana_gene "OTTHUMG00000000961.2_1"; havana_transcript "OTTHUMT00000362751.1_1"; remap_original_location "chr1:+:12613-12721"; remap_status "full_contig";
@harpur thanks for the comment. I used gffread through Cufflinks to generate this GTF from a GFF3, and have compared the column formatting to some other GTFs as well. My thought was that that final column of feature aspects shouldn't have much effect in identifying splicing events. That should primarily rely on the accession number to identify scaffold or chromosome, and then indices of the actual feature. Obviously the gene and transcript IDs will allow for identification of which gene, or transcript in which the splicing is occuring, but I wouldn't think this should be required for determining splicing events and exon usage. I have somewhat of an understanding of how Whippet generates these splice graphs, though I will certainly admit it is a rough understanding at best. Can you perhaps clarify where there is some issue in my understanding?
Hi @AndrewLangvt,
I think @harpur is right here. Whippet assumes a GENCODE style GTF file, consistent with GTF2.2 format where both "gene_id" and "transcript_id" are mandatory attributes for every exon
line.
That being said. I'm not sure if thats the entirety of what is going on here. Your warnings warning: parsing line table prologue at
are worrisome. I've never seen them before, and they appear to be some kind of pointer related warning thrown by LLVM (see line 269).
Did you try building an index with the default supplied GTF file for hg19? Does julia test/runtests.jl
in the Whippet directory run cleanly?
OK, upon closer inspection, I am now fairly certain @harpur is correct and the fatal error is due to the requirement of exon
lines to contain both the gene_id
and transcript_id
attributes. The error itself was not intended to be thrown for this case, but rather built out of the assumption that those two attributes would be the same type (which they would be if they were always both present).
So I apologize for this cryptic error, but it is good that it happened, otherwise your splice graphs would not have built properly. (Whippet's splice graphs are built on the gene level, using the annotated gene_id
attributes to define the splice sites that belong in each splice graph)
So I propose adding a few checks in a bugfix:
(1) Explicitly checking these mandatory attributes to force GTF2.2 format.
(2) Updated documentation to make this format assumption verbose.
@AndrewLangvt, Please let me know if this solves the problem, and I would also be very open to any other suggestions that you think might help others avoid a similar problem in the future?
@timbitz I really appreciate your timely reply. I will dig further into the GTF formatting issue; I didn't realize the gene_id and transcript_id were required attributes!
julia test/runtests.jl
does execute properly, and it would seem that adjusting the format of my GTF would be the next course of action. I'll see what I can do to remedy this and let you know how it goes!
Yah, sorry about the lack of documentation on that, I think perhaps the original GTF format was without a true specification, and so there are a lot of different types of older GTF files out there. For now, I have added a note to the documentation (in master) to reflect Whippets requirement of GTF2.2.
Hey @AndrewLangvt, This isn't still an issue is it?
Nope. All set now!
I have been attempting to use Whippet to analyze a dataset for alternative splicing, but I am having difficulty getting the program to even read in my gtf.
my gtf file is formatted as follows
Any insight into what is the issue here?