When GRN loaded from file with no expression data, nodes are colored gray instead of white
Do this:
- upload an unweighted GRN from a file with no expression data
- nodes are colored gray instead of white
Need to check to see if this also happens with a weighted network.
After completing onboarding, this past week I have been familiarizing myself with the code regarding this issue and I have had some observations:
The nodes being colored gray instead of white is likely due to the absence of expression data, which is used to determine node colors. However, I am wondering if it's a more general issue with the node coloring mechanism.
In _server/controllers/workbook-constants.js I saw a detailed warning with the following details:
Warning Code: MISSING_EXPRESSION_SHEET Error Description: The '_log2_expression' or '_log2_optimized_expression' worksheet was not found in the uploaded file. These worksheets likely contain expression data used for node coloring in the network graph. Since the data is missing, the nodes will be displayed without color.
Instructions read: To resolve this issue, users can follow these instructions: Add the missing '_log2_expression' or '_log2_optimized_expression' worksheets to the Excel workbook containing the expression data. Then, select expression data from GRNsight's Expression Database, accessible from the Node menu or panel. Addressing these nuances in the codebase will contribute to enhancing the functionality and user experience of the application.
The users should be able to upload a workbook without the "_log2_expression" or "log2_optimized_expression" worksheets. That's why it is a warning instead of an error (an error doesn't allow the graph to display).
In the case that they are missing these worksheets, the nodes should display as white, not gray.
Suggested sequence for approaching this:
- Locate the code in GRNsight that chooses a node’s fill color
- Insert some logging/study the logic to determine why the gray color appears
- When this is tracked down fully, that’s when we can determine how to solve it
Possible place to look, as determined from the meeting: https://github.com/dondi/GRNsight/blob/beta/web-client/public/js/graph.js#L1131-L1137