-
Notifications
You must be signed in to change notification settings - Fork 63
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
Transcript glyphs #458
Transcript glyphs #458
Conversation
I'm not a big fan of the little angle things... I think it's visually noisy and makes it actually confusing where the true boundary of a feature is. |
Here are alternative styles that could be considered Tip arrow (which can also slide with feature a la jbrowse1) Gene label contains arrow |
I like having directionality indicated by the glyph, I think it's informative, but I agree it does need a bit of work. I though about making only one end pointed, like this: The only thing I don't like about that is if you're zoomed in to the flat end, you can't tell if it's just a box or has direction. |
I'd like to keep this PR focused on the SVG glyph architecture and not specific glyphs themselves, so I created #460 to keep discussions on glyphs. |
in Box/Chevron/Segments
5554a68
to
371de40
Compare
Codecov Report
@@ Coverage Diff @@
## master #458 +/- ##
========================================
Coverage ? 64.1%
========================================
Files ? 238
Lines ? 7753
Branches ? 1785
========================================
Hits ? 4970
Misses ? 2557
Partials ? 226
Continue to review full report at Codecov.
|
Currently the human Gencode 19 track is failing with a TypeError I can see certain things like hasSubSub and the Subfeatures glyph and I don't really understand the purpose of these? We need to standardize a strand representation so that we do not run into having to check for -1,1,+,and - in all cases, just one of the other. Sort of concerned about mRNA and transcript both being ProcessedTranscript by default. |
I'm fine with standardizing, it looks like everything so far uses 1 and -1. Should we standardize on that? Also, I was using JB1 as a guide in determining glyph types, but there could be something I'm misunderstanding: The Subfeatures glyph lays out its child glyphs vertically. This glyph gets used whenever one of the subfeatures has subfeatures itself. I can see the Gencode v19 error, I'll see what's going on there. I also realized that reversing does not work properly, so that will definitely need to get fixed, too. |
0b05952
to
f354288
Compare
The Gencode track doesn't error now, and the glyphs now display properly when the view is reversed. |
bpPerPx, | ||
horizontallyFlipped, | ||
config, | ||
}) => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A function on the function? Is this a thing?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With the original Box
glyph, layOut
was a static method on the class component. When I refactored to hooks, this seemed to be the equivalent way to do it (similarly to how propTypes can be a static property of a class component or defined on the function).
Could you add a little explanation of the glyph architecture? |
If possible it would be good to have a rendering of the non-coding features that isn't just a line, currently it is just a line for the non-coding features I think on the Gencode test data |
Some of the features like ENSG00000227169.2 have feature.get('type') undefined? MODEL.views[0].setNewView(5.377899045020464,857364.7635717909) |
I'm not sure what you mean. That feature's type is 'gene'. |
I thought exons would be part of #241. The current behavior does seem consistent with JB1 under certain configurations, though: My JB1 track is configured as
|
Ok so it filters so it only gets CDS and utr subfeatures and plots those and this feature only has exon subfeatures |
This adds a ProecessedTranscript glyph, as well as some other glyphs that are used to make it (Chevron, Segments, and Subfeature). Here's a side-by-side of Jbrowse 1 & 2. More work could be done in the future to port more of the config information from JB1 to JB2 (like colors, etc.), but the main information is there.
resolves #240