-
Notifications
You must be signed in to change notification settings - Fork 0
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
Feature 556 connect correlation backend #560
Conversation
strokeWidth: number, | ||
color: string, | ||
linkColor: string, | ||
linkWeight: string, |
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.
why is this a string?
if (filteredCounts.pending || filteredCounts.value == null) | ||
return undefined; | ||
|
||
// There are _no_ viz request params for the volcano plot (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.
this references volcano plot, which this is not. thats not a big deal in itself, but i wonder if this suggests that this operation could be refactored somehow, since this is clearly duplicated code.
return undefined; | ||
|
||
// There are _no_ viz request params for the volcano plot (config: {}). | ||
// The data service streams the volcano data directly from the compute service. |
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.
another reference to volcano here. this time though i think my larger point is that for the network i think we said itd end up being the data service job to do the pruning of edges by pvalue and correlation coefficient thresholds. (i dont actually remember the compute or data service prs well enough to remember if thats what we actually ended up doing. but think we should. it was a good plan.)
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.
anyway, just trying to say there will be viz plugin params, eventually, if not yet.
I just viewed the screen cast. Here are some initial thoughts (I will review the code next):
|
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.
I've reviewed the code, and it looks great. I have one small suggestion, which you can find below.
When I was testing the new viz, I noticed something odd. A thumbnail is being generated constantly, even without interacting with the plot.
It's not clear what is causing this. Let me know if you want help figuring it out.
I'm also finding the text in the plot a bit hard to read. Maybe it's my browser (Firefox)?
Finally, I didn't see any tooltips. Is that intentional?
I tested using the DailyBaby study.
Great work!
...eda/src/lib/core/components/visualizations/implementations/BipartiteNetworkVisualization.tsx
Outdated
Show resolved
Hide resolved
…mentations/BipartiteNetworkVisualization.tsx Co-authored-by: Dave Falke <[email protected]>
}; | ||
}), | ||
}; | ||
}, [data, entities, linkColorScale]); |
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.
I think linkColorScale
is causing the infinite loop with the thumbnail and patch request. All of the logic for linkColorScale
is outside of the useMemo
and new renders aren't guaranteed to be referentially equal. As I see it, we can either:
- move the logic for
uniqueLinkColors
,linkColorScaleDomain
andlinkColorScale
inside of thisuseMemo
and update the dependency array accordingly (I think this may be as simple as removinglinkColorScale
from the deps) - keep the logic where it is but remove
linkColorScale
from the dependency array; this will upset ESLint, plus we'd be re-running the logic for those variables more than we need to
I vote for option 1 and I also suggest we specify data.value
instead of just data
in this dependency array while we're at it.
(Edited for a bit more clarity!)
Thank you both!! I'm sorry i wasn't able to get to this today after you both were so fast with your feedback, but i'll focus on the updates first thing tomorrow morning :) |
@jernestmyers you were right! The colorscale was the issue! Thanks for the find! @dmfalke responses to your questions below!
This is a great point, i hadn't thought about that. A user will see this only if the computation has finished but they haven't opened the viz yet (the same scenario for diff abund is shown above just for comparison). The little gray network isn't totally ridiculous looking, which was my big fear when you mentioned it, but it also doesn't really communicate "hey click on me i'm an empty plot". I also don't have a better way to solve that yet, other than just "Empty network" text? It might need some mockups and discussion.
Yes, it was intentional. As i was going i was looking for ways to keep this PR reasonably sized and since the scope of tooltips is just the component i felt like it could get cut from this pr that focuses on the viz + app plugin. Happy to add them if that would be preferable!
That would be super cool!!! I don't know either but something I'm on the lookout for. During the design phase, we had assumed that independent column scrolling would be hard, so we're hoping that implementing user-filters on nodes and edges will be sufficient. But we'll see... 😄
The glyphs were pretty thin so I increased the font weight of all the text (see below). Is that a little easier to read? I could also increase the font size, too! Let me know what you think. |
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.
These changes LGTM. Not seeing anymore wayward requests and the text is certainly easier to see!
These updates look great. Very nice! |
Resolves #556
This PR adds the
correlationAssayMetadata
plugin and theBipartiteNetworkVisualization
, as well as necessary upgrades to get that all working.Some things to note:
Left for later
truncateWithEllipsis
also add the full label on hover.Currently working with the qa backend!
Screen.Recording.2023-11-15.at.7.24.52.AM.mov