-
Notifications
You must be signed in to change notification settings - Fork 62
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
features reference other features that do not exist in the file #4468
Comments
if you are able to can you send the GFF file? there are a couple reasons for this off the top of my head why this could happen but it might help to see it can send to [email protected] |
Sent it along just now! Thanks for having a look. |
thanks for sending it. I believe that if you update your config to have this specific dontRedispatch line, then it should fix the issue you are seeing
just for full information about what this line means, the "dontRedispatch" field says that, with GFF3 tabix, when we request a genomic region of the file e.g. chr1:1500-1600 the response is (pseudo-gff)
so it is only the exons in that specific coordinate slice chr1:1500-1600 that are returned, but there may be other parts of that gene (e.g. more exons) outside of the range "chr1:1500-1600" so we "redispatch" (make anothe request against the tabix file) to the size of the largest feature in that returned results (chr1:1000-2000) which then returns the full feature. this is a heuristic though and we tell the system that we "dont redispatch" requests for features that commonly just cover the entire chromosome and never have child features like contig, chromosome, or region. this is just a tricky thing with GFF3 tabix but hope this helps! I proposed a PR to add contig to the default "dontRedispatch" set here #4465, but applying the above config will fix it in your current version :) |
Hi Colin, Thanks for the quick attention on this, and the detailed explanation. I did wonder if this was what was going on. I tried implementing your suggestion here: return { But am still getting the same issue on this and other assemblies. it seems to happen at the particularly high zoom levels (many genes). For instance in the files that I sent you , at 0 zoom on scaffold_3, it originally loads as Zoom in to see features or force load, but when I click on force load, same problem as before. |
can you confirm that the dontRedispatch setting is active by going to the about track and showing that it is listed? if it is not listed, it may be using the default which doesn't include the "contig" entry i'm not able to reproduce it at high levels but I do think it's not out of the question that you are seeing it still, and have a possible explanation....it's alluded to in the PR but our gff parser has a notion of a buffer size that should probably just be removed, and in that case, it will require making a new release (which I can keep you posted on :)! |
Now I am a bit mystified...it would be quite weird if the "gff parser bufferSize" was actually an issue in this case becuase the parseStringSync function of our Gff3TabixAdapter uses sets bufferSize to Infinity so no way it would be too small... (https://github.com/GMOD/gff-js/blob/18002e87a1d10990c463a4ee924901e9fc77e9e1/src/api.ts#L488 used by
do you know what version of @jbrowse/react-linear-genome-view you are using? (can type yarn why @jbrowse/react-linear-genome-view to check perhaps or click the "icon in the top right" of the app) |
Hi @cmdcolin can confirm that I'm using JBrowse v2.12.2 for @jbrowse/react-linear-genome-view, and that indeed |
very interesting...I don't have a clue yet but I'll keep brainstorming. it is funny that I can't reproduce it (even tried the URLs that you posted directly in case it was something weird with that) |
Should add that I'm creating a config file using react, I'm wondering if there might be an issue with that. Here's the full code:
|
I didn't mean to auto-close this issue. I just merged that one thing with dontRedispatch I am trying to brainstorm, but i don't have too many concrete ideas.
as far as the code you posted above though, that seems probably fine. i know it's not super productive but if you want to do an office hours, might be able to live debug :) https://jbrowse.org/jb2/contact/ |
I'm writing in with an odd behavior-- I'm using @jbrowse-react-linear-genome-view in a web app that I'm working on, loading gff files hosted on S3.
When I load the feature track, I get the error "features reference other features that do not exist in the file".
here's the stack trace:
Error: some features reference other features that do not exist in the file (or in the same '###' scope).
/projectpath/node_modules/@gmod/gff/src/parse.ts:227:1 (at Parser._emitAllUnderConstructionFeatures ()
/projectpath/node_modules/@gmod/gff/src/parse.ts:165:1 (at Parser.finish ()
/projectpath/node_modules/@gmod/gff/src/api.ts:498:1 (at Object.parseStringSync ()
/projectpath/node_modules/@jbrowse/plugin-gff3/esm/Gff3TabixAdapter/Gff3TabixAdapter.js:85:1 (at Gff3TabixAdapter.getFeaturesHelper ()
/projectpath/node_modules/@jbrowse/plugin-gff3/esm/Gff3TabixAdapter/Gff3TabixAdapter.js:39:1 (at async)
I spent a long time examining the GFF file for issues between parent and child, but could find nothing.
I have verified this happens using both Chrome and Safari. Not sure what else to try.
The text was updated successfully, but these errors were encountered: