Skip to content
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

Support multi view for continuous embedding plot #960

Merged

Conversation

StefanBabukov
Copy link
Member

@StefanBabukov StefanBabukov commented Dec 8, 2023

Description

Moved the multi plot rendering logic to its respective components:

MultiViewGrid - takes care of loading the multiPlotConfig which stores the plots under its
plotUuids : ['Embedding-0', 'Embedding-1'] field
Then for each Uuid a normal plot is rendered and saved in redux
Embedding-0: {config: {....}}
After loading the configs and geneExpressions it renders every plot.

The component MultiViewEditor , is used for changing the grid layout, removing, adding new plots or switching between the plot update (you can update a single plot or all at the same time) with the plot controls.

Details

URL to issue

https://github.com/orgs/hms-dbmi-cellenics/projects/4/views/1?pane=issue&itemId=45776343

STAGING - https://ui-grasp6-ui61.scp-staging.biomage.net/

Link to staging deployment URL (or set N/A)

N/A

Links to any PRs or resources related to this PR

Integration test branch

master

Merge checklist

Your changes will be ready for merging after all of the steps below have been completed.

Code updates

Have best practices and ongoing refactors being observed in this PR

  • Migrated any selector / reducer used to the new format.
  • All new dependency licenses have been checked for compatibility.

Manual/unit testing

  • Tested changes using InfraMock locally or no tests required for change, e.g. Kubernetes chart updates.
  • Validated that current unit tests for code work as expected and are sufficient for code coverage or no unit tests required for change, e.g. documentation update.
  • Unit tests written or no unit tests required for change, e.g. documentation update.

Integration testing

You must check the box below to run integration tests on the latest commit on your PR branch.
Integration tests have to pass before the PR can be merged. Without checking the box, your PR
will not pass the required status checks for merging.

  • Started end-to-end tests on the latest commit.

Documentation updates

  • Relevant Github READMEs updated or no GitHub README updates required.
  • Relevant Wiki pages created/updated or no Wiki updates required.

Optional

  • Staging environment is unstaged before merging.
  • Photo of a cute animal attached to this PR.

@StefanBabukov StefanBabukov added the safe to run Sensitive jobs are safe to be run label Dec 8, 2023
Signed-off-by: stefanbabukov <[email protected]>
Signed-off-by: stefanbabukov <[email protected]>
Copy link
Contributor

📦 Next.js Bundle Analysis for ui

This analysis was generated by the Next.js Bundle Analysis action. 🤖

⚠️ Global Bundle Size Increased

Page Size (compressed)
global 569.16 KB (🟡 +86 B)
Details

The global bundle is the javascript bundle that loads alongside every page. It is in its own category because its impact is much higher - an increase to its size means that every page on your website loads slower, and a decrease means every page loads faster.

Any third party scripts you have added directly to your app using the <script> tag are not accounted for in this analysis

If you want further insight into what is behind the changes, give @next/bundle-analyzer a try!

Eleven Pages Changed Size

The following pages changed size from the code in this PR compared to its base branch:

Page Size (compressed) First Load
/experiments/[experimentId]/data-exploration 520.14 KB (-26 B) 1.06 MB
/experiments/[experimentId]/data-processing 537.71 KB (🟡 +33 B) 1.08 MB
/experiments/[experimentId]/plots-and-tables/dot-plot 495.47 KB (🟢 -57 B) 1.04 MB
/experiments/[experimentId]/plots-and-tables/embedding-categorical 485.81 KB (🟢 -218 B) 1.03 MB
/experiments/[experimentId]/plots-and-tables/embedding-continuous 516.01 KB (🟡 +28.06 KB) 1.06 MB
/experiments/[experimentId]/plots-and-tables/frequency 487.88 KB (-45 B) 1.03 MB
/experiments/[experimentId]/plots-and-tables/marker-heatmap 585.08 KB (🟢 -61 B) 1.13 MB
/experiments/[experimentId]/plots-and-tables/normalized-matrix 170.57 KB (🟢 -79 B) 739.73 KB
/experiments/[experimentId]/plots-and-tables/trajectory-analysis 488.89 KB (🟢 -229 B) 1.03 MB
/experiments/[experimentId]/plots-and-tables/violin 518.09 KB (🟡 +487 B) 1.06 MB
/experiments/[experimentId]/plots-and-tables/volcano 491.06 KB (🟢 -70 B) 1.04 MB
Details

Only the gzipped size is provided here based on an expert tip.

First Load is the size of the global bundle plus the bundle for the individual page. If a user were to show up to your website and land on a given page, the first load size represents the amount of javascript that user would need to download. If next/link is used, subsequent page loads would only need to download that page's bundle (the number in the "Size" column), since the global bundle has already been downloaded.

Any third party scripts you have added directly to your app using the <script> tag are not accounted for in this analysis

Next to the size is how much the size has increased or decreased compared with the base branch of this PR. If this percentage has increased by 20% or more, there will be a red status indicator applied, indicating that special attention should be given to this.

Copy link

codecov bot commented Dec 12, 2023

Codecov Report

Attention: 19 lines in your changes are missing coverage. Please review.

Comparison is base (20a052c) 85.11% compared to head (24ec48f) 85.07%.
Report is 1 commits behind head on master.

Files Patch % Lines
[...d]/plots-and-tables/embedding-continuous/index.jsx](https://app.codecov.io/gh/hms-dbmi-cellenics/ui/pull/960?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=hms-dbmi-cellenics#diff-c3JjL3BhZ2VzL2V4cGVyaW1lbnRzL1tleHBlcmltZW50SWRdL3Bsb3RzLWFuZC10YWJsZXMvZW1iZWRkaW5nLWNvbnRpbnVvdXMvaW5kZXguanN4) 70.83% 7 Missing ⚠️
src/components/plots/styling/MultiViewEditor.jsx 85.00% 6 Missing ⚠️
src/components/plots/MultiViewGrid.jsx 96.29% 2 Missing ⚠️
src/components/plots/TrajectoryAnalysisPlot.jsx 33.33% 2 Missing ⚠️
...mponents/plots/ContinuousEmbeddingReduxWrapper.jsx 88.88% 1 Missing ⚠️
...s/[experimentId]/plots-and-tables/violin/index.jsx 90.90% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #960      +/-   ##
==========================================
- Coverage   85.11%   85.07%   -0.05%     
==========================================
  Files         547      547              
  Lines       10026    10028       +2     
  Branches     2165     2158       -7     
==========================================
- Hits         8534     8531       -3     
- Misses       1432     1438       +6     
+ Partials       60       59       -1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Signed-off-by: stefanbabukov <[email protected]>
Copy link
Contributor

📦 Next.js Bundle Analysis for ui

This analysis was generated by the Next.js Bundle Analysis action. 🤖

⚠️ Global Bundle Size Increased

Page Size (compressed)
global 569.16 KB (🟡 +86 B)
Details

The global bundle is the javascript bundle that loads alongside every page. It is in its own category because its impact is much higher - an increase to its size means that every page on your website loads slower, and a decrease means every page loads faster.

Any third party scripts you have added directly to your app using the <script> tag are not accounted for in this analysis

If you want further insight into what is behind the changes, give @next/bundle-analyzer a try!

Eleven Pages Changed Size

The following pages changed size from the code in this PR compared to its base branch:

Page Size (compressed) First Load
/experiments/[experimentId]/data-exploration 520.14 KB (-26 B) 1.06 MB
/experiments/[experimentId]/data-processing 537.71 KB (🟡 +33 B) 1.08 MB
/experiments/[experimentId]/plots-and-tables/dot-plot 495.47 KB (🟢 -57 B) 1.04 MB
/experiments/[experimentId]/plots-and-tables/embedding-categorical 485.81 KB (🟢 -218 B) 1.03 MB
/experiments/[experimentId]/plots-and-tables/embedding-continuous 515.98 KB (🟡 +28.03 KB) 1.06 MB
/experiments/[experimentId]/plots-and-tables/frequency 487.88 KB (-45 B) 1.03 MB
/experiments/[experimentId]/plots-and-tables/marker-heatmap 585.08 KB (🟢 -61 B) 1.13 MB
/experiments/[experimentId]/plots-and-tables/normalized-matrix 170.57 KB (🟢 -79 B) 739.73 KB
/experiments/[experimentId]/plots-and-tables/trajectory-analysis 488.89 KB (🟢 -229 B) 1.03 MB
/experiments/[experimentId]/plots-and-tables/violin 518.09 KB (🟡 +486 B) 1.06 MB
/experiments/[experimentId]/plots-and-tables/volcano 491.06 KB (🟢 -70 B) 1.04 MB
Details

Only the gzipped size is provided here based on an expert tip.

First Load is the size of the global bundle plus the bundle for the individual page. If a user were to show up to your website and land on a given page, the first load size represents the amount of javascript that user would need to download. If next/link is used, subsequent page loads would only need to download that page's bundle (the number in the "Size" column), since the global bundle has already been downloaded.

Any third party scripts you have added directly to your app using the <script> tag are not accounted for in this analysis

Next to the size is how much the size has increased or decreased compared with the base branch of this PR. If this percentage has increased by 20% or more, there will be a red status indicator applied, indicating that special attention should be given to this.

@hms-dbmi-cellenics hms-dbmi-cellenics deleted a comment from github-actions bot Dec 12, 2023
@hms-dbmi-cellenics hms-dbmi-cellenics deleted a comment from github-actions bot Dec 12, 2023
@hms-dbmi-cellenics hms-dbmi-cellenics deleted a comment from github-actions bot Dec 12, 2023

const ContinuousEmbeddingPlot = (props) => {
const {
experimentId, config,
plotData, truncatedPlotData,
actions, loading, error,
reloadPlotData, onUpdate,
reloadPlotData, useReduxData, plotUuid,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what is the point of useReduxData? What happens when it is true and what happens when it is false?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was wondering about this too.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, where is it used with useReduxData false?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the continuous embedding plot in data processing receives props for data, config, error and loading. The plot in plots and tables uses redux data. Thats why I added this, in case we want to use the redux data for the plot or pass props instead.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why does continuous embedding plot in data processing receives props for data, config, error and loading? Why aren't these things in redux? Sounds to me like an unclean approach, but I am also missing context around this decision, so maybe there is a good reason for this.

Separate question: instead of having a variable useReduxData can't we infer from the value of config, error, loading, plotData if we should use them or not?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because in configure embedding we can plot different kinds of continuous embedding and this is for the generalisation sake.
config, error, loading, plotData might not be loaded yet and still passed and this would provide bugs. Using a flag useReduxData ensures these problems wont happen

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not related anymore, i added a wrapper component.

@ivababukova
Copy link
Member

You don't need to address this comment in this PR, I am just saying it in general:
I noticed that the ordering of plots in src/components/plots is very messy. It will be great to introduce some logical ordering here, but this is out of scope for this PR, so feel free to ignore it.

@@ -50,33 +72,31 @@ const ContinuousEmbeddingPlot = (props) => {
}
}, [embeddingSettings?.method]);

useEffect(() => {
changeEmbeddingAxesIfNecessary(config, embeddingSettings?.method, onUpdate);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What did this function do? Why was it removed?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's setting the default axis names, I moved this to the spec itself instead of dispatching redux every time

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It was setting the default axis names for some plots to be the embedding method, I moved that to happen directly in the spec generation instead as it was bringing problems and it seemed like a cleaner solution.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh ok, but doesn't this mean this change won't be persisted anymore?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah it just sets the axis name to the embedding method if its not defined already.


const ContinuousEmbeddingPlot = (props) => {
const {
experimentId, config,
plotData, truncatedPlotData,
actions, loading, error,
reloadPlotData, onUpdate,
reloadPlotData, useReduxData, plotUuid,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was wondering about this too.


const ContinuousEmbeddingPlot = (props) => {
const {
experimentId, config,
plotData, truncatedPlotData,
actions, loading, error,
reloadPlotData, onUpdate,
reloadPlotData, useReduxData, plotUuid,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, where is it used with useReduxData false?

src/components/plots/ContinuousEmbeddingPlot.jsx Outdated Show resolved Hide resolved
src/utils/plotSpecs/generateEmbeddingCategoricalSpec.js Outdated Show resolved Hide resolved
@@ -59,6 +59,7 @@ const generateBaseSpec = (
embeddingData,
viewState,
numClusters,
method,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why can't we use the config and need to pass a separate parameter now?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using this to generate the default axis names, instead of dispatching a redux action updateEmbeddingAxesIfNecessary every time, like it was done before.

src/utils/plotSpecs/generateViolinSpec.js Show resolved Hide resolved
Signed-off-by: stefanbabukov <[email protected]>
Signed-off-by: stefanbabukov <[email protected]>
Signed-off-by: stefanbabukov <[email protected]>
Signed-off-by: stefanbabukov <[email protected]>
Signed-off-by: stefanbabukov <[email protected]>
Copy link
Contributor

📦 Next.js Bundle Analysis for ui

This analysis was generated by the Next.js Bundle Analysis action. 🤖

⚠️ Global Bundle Size Increased

Page Size (compressed)
global 569.16 KB (🟡 +86 B)
Details

The global bundle is the javascript bundle that loads alongside every page. It is in its own category because its impact is much higher - an increase to its size means that every page on your website loads slower, and a decrease means every page loads faster.

Any third party scripts you have added directly to your app using the <script> tag are not accounted for in this analysis

If you want further insight into what is behind the changes, give @next/bundle-analyzer a try!

Eleven Pages Changed Size

The following pages changed size from the code in this PR compared to its base branch:

Page Size (compressed) First Load
/experiments/[experimentId]/data-exploration 520.14 KB (-26 B) 1.06 MB
/experiments/[experimentId]/data-processing 537.56 KB (🟢 -125 B) 1.08 MB
/experiments/[experimentId]/plots-and-tables/dot-plot 495.47 KB (🟢 -57 B) 1.04 MB
/experiments/[experimentId]/plots-and-tables/embedding-categorical 485.83 KB (🟢 -197 B) 1.03 MB
/experiments/[experimentId]/plots-and-tables/embedding-continuous 516.01 KB (🟡 +28.06 KB) 1.06 MB
/experiments/[experimentId]/plots-and-tables/frequency 487.88 KB (-45 B) 1.03 MB
/experiments/[experimentId]/plots-and-tables/marker-heatmap 585.08 KB (🟢 -61 B) 1.13 MB
/experiments/[experimentId]/plots-and-tables/normalized-matrix 170.57 KB (🟢 -79 B) 739.73 KB
/experiments/[experimentId]/plots-and-tables/trajectory-analysis 488.89 KB (🟢 -229 B) 1.03 MB
/experiments/[experimentId]/plots-and-tables/violin 518.21 KB (🟡 +605 B) 1.06 MB
/experiments/[experimentId]/plots-and-tables/volcano 491.06 KB (🟢 -70 B) 1.04 MB
Details

Only the gzipped size is provided here based on an expert tip.

First Load is the size of the global bundle plus the bundle for the individual page. If a user were to show up to your website and land on a given page, the first load size represents the amount of javascript that user would need to download. If next/link is used, subsequent page loads would only need to download that page's bundle (the number in the "Size" column), since the global bundle has already been downloaded.

Any third party scripts you have added directly to your app using the <script> tag are not accounted for in this analysis

Next to the size is how much the size has increased or decreased compared with the base branch of this PR. If this percentage has increased by 20% or more, there will be a red status indicator applied, indicating that special attention should be given to this.

@hms-dbmi-cellenics hms-dbmi-cellenics deleted a comment from github-actions bot Dec 14, 2023
@hms-dbmi-cellenics hms-dbmi-cellenics deleted a comment from github-actions bot Dec 14, 2023
@hms-dbmi-cellenics hms-dbmi-cellenics deleted a comment from github-actions bot Dec 14, 2023
@hms-dbmi-cellenics hms-dbmi-cellenics deleted a comment from github-actions bot Dec 14, 2023
@hms-dbmi-cellenics hms-dbmi-cellenics deleted a comment from github-actions bot Dec 14, 2023
Copy link
Contributor

📦 Next.js Bundle Analysis for ui

This analysis was generated by the Next.js Bundle Analysis action. 🤖

⚠️ Global Bundle Size Increased

Page Size (compressed)
global 569.16 KB (🟡 +86 B)
Details

The global bundle is the javascript bundle that loads alongside every page. It is in its own category because its impact is much higher - an increase to its size means that every page on your website loads slower, and a decrease means every page loads faster.

Any third party scripts you have added directly to your app using the <script> tag are not accounted for in this analysis

If you want further insight into what is behind the changes, give @next/bundle-analyzer a try!

Eleven Pages Changed Size

The following pages changed size from the code in this PR compared to its base branch:

Page Size (compressed) First Load
/experiments/[experimentId]/data-exploration 520.14 KB (-26 B) 1.06 MB
/experiments/[experimentId]/data-processing 537.56 KB (🟢 -125 B) 1.08 MB
/experiments/[experimentId]/plots-and-tables/dot-plot 495.47 KB (🟢 -57 B) 1.04 MB
/experiments/[experimentId]/plots-and-tables/embedding-categorical 485.83 KB (🟢 -197 B) 1.03 MB
/experiments/[experimentId]/plots-and-tables/embedding-continuous 516.02 KB (🟡 +28.07 KB) 1.06 MB
/experiments/[experimentId]/plots-and-tables/frequency 487.88 KB (-45 B) 1.03 MB
/experiments/[experimentId]/plots-and-tables/marker-heatmap 585.08 KB (🟢 -61 B) 1.13 MB
/experiments/[experimentId]/plots-and-tables/normalized-matrix 170.57 KB (🟢 -79 B) 739.73 KB
/experiments/[experimentId]/plots-and-tables/trajectory-analysis 488.89 KB (🟢 -229 B) 1.03 MB
/experiments/[experimentId]/plots-and-tables/violin 518.21 KB (🟡 +613 B) 1.06 MB
/experiments/[experimentId]/plots-and-tables/volcano 491.06 KB (🟢 -70 B) 1.04 MB
Details

Only the gzipped size is provided here based on an expert tip.

First Load is the size of the global bundle plus the bundle for the individual page. If a user were to show up to your website and land on a given page, the first load size represents the amount of javascript that user would need to download. If next/link is used, subsequent page loads would only need to download that page's bundle (the number in the "Size" column), since the global bundle has already been downloaded.

Any third party scripts you have added directly to your app using the <script> tag are not accounted for in this analysis

Next to the size is how much the size has increased or decreased compared with the base branch of this PR. If this percentage has increased by 20% or more, there will be a red status indicator applied, indicating that special attention should be given to this.

@vickymorrison
Copy link
Member

The order of the menu sections should be changed so it makes more sense and is consistent with the violin plot:
-current: gene selection -> select data -> view multiple plots
-change to: gene selection -> view multiple plots -> select data

Signed-off-by: stefanbabukov <[email protected]>
Copy link
Contributor

📦 Next.js Bundle Analysis for ui

This analysis was generated by the Next.js Bundle Analysis action. 🤖

⚠️ Global Bundle Size Increased

Page Size (compressed)
global 569.16 KB (🟡 +86 B)
Details

The global bundle is the javascript bundle that loads alongside every page. It is in its own category because its impact is much higher - an increase to its size means that every page on your website loads slower, and a decrease means every page loads faster.

Any third party scripts you have added directly to your app using the <script> tag are not accounted for in this analysis

If you want further insight into what is behind the changes, give @next/bundle-analyzer a try!

Eleven Pages Changed Size

The following pages changed size from the code in this PR compared to its base branch:

Page Size (compressed) First Load
/experiments/[experimentId]/data-exploration 520.14 KB (-26 B) 1.06 MB
/experiments/[experimentId]/data-processing 537.58 KB (🟢 -104 B) 1.08 MB
/experiments/[experimentId]/plots-and-tables/dot-plot 495.47 KB (🟢 -57 B) 1.04 MB
/experiments/[experimentId]/plots-and-tables/embedding-categorical 485.83 KB (🟢 -197 B) 1.03 MB
/experiments/[experimentId]/plots-and-tables/embedding-continuous 516.02 KB (🟡 +28.07 KB) 1.06 MB
/experiments/[experimentId]/plots-and-tables/frequency 487.88 KB (-45 B) 1.03 MB
/experiments/[experimentId]/plots-and-tables/marker-heatmap 585.08 KB (🟢 -61 B) 1.13 MB
/experiments/[experimentId]/plots-and-tables/normalized-matrix 170.57 KB (🟢 -79 B) 739.73 KB
/experiments/[experimentId]/plots-and-tables/trajectory-analysis 488.89 KB (🟢 -229 B) 1.03 MB
/experiments/[experimentId]/plots-and-tables/violin 518.22 KB (🟡 +623 B) 1.06 MB
/experiments/[experimentId]/plots-and-tables/volcano 491.06 KB (🟢 -70 B) 1.04 MB
Details

Only the gzipped size is provided here based on an expert tip.

First Load is the size of the global bundle plus the bundle for the individual page. If a user were to show up to your website and land on a given page, the first load size represents the amount of javascript that user would need to download. If next/link is used, subsequent page loads would only need to download that page's bundle (the number in the "Size" column), since the global bundle has already been downloaded.

Any third party scripts you have added directly to your app using the <script> tag are not accounted for in this analysis

Next to the size is how much the size has increased or decreased compared with the base branch of this PR. If this percentage has increased by 20% or more, there will be a red status indicator applied, indicating that special attention should be given to this.

Signed-off-by: stefanbabukov <[email protected]>
Copy link
Contributor

📦 Next.js Bundle Analysis for ui

This analysis was generated by the Next.js Bundle Analysis action. 🤖

⚠️ Global Bundle Size Increased

Page Size (compressed)
global 569.16 KB (🟡 +86 B)
Details

The global bundle is the javascript bundle that loads alongside every page. It is in its own category because its impact is much higher - an increase to its size means that every page on your website loads slower, and a decrease means every page loads faster.

Any third party scripts you have added directly to your app using the <script> tag are not accounted for in this analysis

If you want further insight into what is behind the changes, give @next/bundle-analyzer a try!

Eleven Pages Changed Size

The following pages changed size from the code in this PR compared to its base branch:

Page Size (compressed) First Load
/experiments/[experimentId]/data-exploration 520.14 KB (-26 B) 1.06 MB
/experiments/[experimentId]/data-processing 537.58 KB (🟢 -104 B) 1.08 MB
/experiments/[experimentId]/plots-and-tables/dot-plot 495.47 KB (🟢 -57 B) 1.04 MB
/experiments/[experimentId]/plots-and-tables/embedding-categorical 485.83 KB (🟢 -197 B) 1.03 MB
/experiments/[experimentId]/plots-and-tables/embedding-continuous 516.02 KB (🟡 +28.07 KB) 1.06 MB
/experiments/[experimentId]/plots-and-tables/frequency 487.88 KB (-45 B) 1.03 MB
/experiments/[experimentId]/plots-and-tables/marker-heatmap 585.08 KB (🟢 -61 B) 1.13 MB
/experiments/[experimentId]/plots-and-tables/normalized-matrix 170.57 KB (🟢 -79 B) 739.73 KB
/experiments/[experimentId]/plots-and-tables/trajectory-analysis 488.89 KB (🟢 -229 B) 1.03 MB
/experiments/[experimentId]/plots-and-tables/violin 518.22 KB (🟡 +623 B) 1.06 MB
/experiments/[experimentId]/plots-and-tables/volcano 491.06 KB (🟢 -70 B) 1.04 MB
Details

Only the gzipped size is provided here based on an expert tip.

First Load is the size of the global bundle plus the bundle for the individual page. If a user were to show up to your website and land on a given page, the first load size represents the amount of javascript that user would need to download. If next/link is used, subsequent page loads would only need to download that page's bundle (the number in the "Size" column), since the global bundle has already been downloaded.

Any third party scripts you have added directly to your app using the <script> tag are not accounted for in this analysis

Next to the size is how much the size has increased or decreased compared with the base branch of this PR. If this percentage has increased by 20% or more, there will be a red status indicator applied, indicating that special attention should be given to this.

Copy link
Member

@cosa65 cosa65 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just tested in staging, here's some unexpected behavior I noticed: On first open of the violin plot, the loader doesn't show up (it does after). This happens for continuous embedding too btw.

Copy link
Contributor

📦 Next.js Bundle Analysis for ui

This analysis was generated by the Next.js Bundle Analysis action. 🤖

⚠️ Global Bundle Size Increased

Page Size (compressed)
global 569.16 KB (🟡 +86 B)
Details

The global bundle is the javascript bundle that loads alongside every page. It is in its own category because its impact is much higher - an increase to its size means that every page on your website loads slower, and a decrease means every page loads faster.

Any third party scripts you have added directly to your app using the <script> tag are not accounted for in this analysis

If you want further insight into what is behind the changes, give @next/bundle-analyzer a try!

Eleven Pages Changed Size

The following pages changed size from the code in this PR compared to its base branch:

Page Size (compressed) First Load
/experiments/[experimentId]/data-exploration 520.14 KB (-26 B) 1.06 MB
/experiments/[experimentId]/data-processing 537.58 KB (🟢 -104 B) 1.08 MB
/experiments/[experimentId]/plots-and-tables/dot-plot 495.47 KB (🟢 -57 B) 1.04 MB
/experiments/[experimentId]/plots-and-tables/embedding-categorical 485.83 KB (🟢 -197 B) 1.03 MB
/experiments/[experimentId]/plots-and-tables/embedding-continuous 516.03 KB (🟡 +28.07 KB) 1.06 MB
/experiments/[experimentId]/plots-and-tables/frequency 487.88 KB (-45 B) 1.03 MB
/experiments/[experimentId]/plots-and-tables/marker-heatmap 585.08 KB (🟢 -61 B) 1.13 MB
/experiments/[experimentId]/plots-and-tables/normalized-matrix 170.57 KB (🟢 -79 B) 739.73 KB
/experiments/[experimentId]/plots-and-tables/trajectory-analysis 488.89 KB (🟢 -229 B) 1.03 MB
/experiments/[experimentId]/plots-and-tables/violin 518.23 KB (🟡 +629 B) 1.06 MB
/experiments/[experimentId]/plots-and-tables/volcano 491.06 KB (🟢 -70 B) 1.04 MB
Details

Only the gzipped size is provided here based on an expert tip.

First Load is the size of the global bundle plus the bundle for the individual page. If a user were to show up to your website and land on a given page, the first load size represents the amount of javascript that user would need to download. If next/link is used, subsequent page loads would only need to download that page's bundle (the number in the "Size" column), since the global bundle has already been downloaded.

Any third party scripts you have added directly to your app using the <script> tag are not accounted for in this analysis

Next to the size is how much the size has increased or decreased compared with the base branch of this PR. If this percentage has increased by 20% or more, there will be a red status indicator applied, indicating that special attention should be given to this.

Signed-off-by: stefanbabukov <[email protected]>
Copy link
Contributor

📦 Next.js Bundle Analysis for ui

This analysis was generated by the Next.js Bundle Analysis action. 🤖

⚠️ Global Bundle Size Increased

Page Size (compressed)
global 569.16 KB (🟡 +86 B)
Details

The global bundle is the javascript bundle that loads alongside every page. It is in its own category because its impact is much higher - an increase to its size means that every page on your website loads slower, and a decrease means every page loads faster.

Any third party scripts you have added directly to your app using the <script> tag are not accounted for in this analysis

If you want further insight into what is behind the changes, give @next/bundle-analyzer a try!

Eleven Pages Changed Size

The following pages changed size from the code in this PR compared to its base branch:

Page Size (compressed) First Load
/experiments/[experimentId]/data-exploration 520.14 KB (-26 B) 1.06 MB
/experiments/[experimentId]/data-processing 537.58 KB (🟢 -104 B) 1.08 MB
/experiments/[experimentId]/plots-and-tables/dot-plot 495.47 KB (🟢 -57 B) 1.04 MB
/experiments/[experimentId]/plots-and-tables/embedding-categorical 485.83 KB (🟢 -197 B) 1.03 MB
/experiments/[experimentId]/plots-and-tables/embedding-continuous 516.03 KB (🟡 +28.07 KB) 1.06 MB
/experiments/[experimentId]/plots-and-tables/frequency 487.88 KB (-45 B) 1.03 MB
/experiments/[experimentId]/plots-and-tables/marker-heatmap 585.08 KB (🟢 -61 B) 1.13 MB
/experiments/[experimentId]/plots-and-tables/normalized-matrix 170.57 KB (🟢 -79 B) 739.73 KB
/experiments/[experimentId]/plots-and-tables/trajectory-analysis 488.89 KB (🟢 -229 B) 1.03 MB
/experiments/[experimentId]/plots-and-tables/violin 518.23 KB (🟡 +626 B) 1.06 MB
/experiments/[experimentId]/plots-and-tables/volcano 491.06 KB (🟢 -70 B) 1.04 MB
Details

Only the gzipped size is provided here based on an expert tip.

First Load is the size of the global bundle plus the bundle for the individual page. If a user were to show up to your website and land on a given page, the first load size represents the amount of javascript that user would need to download. If next/link is used, subsequent page loads would only need to download that page's bundle (the number in the "Size" column), since the global bundle has already been downloaded.

Any third party scripts you have added directly to your app using the <script> tag are not accounted for in this analysis

Next to the size is how much the size has increased or decreased compared with the base branch of this PR. If this percentage has increased by 20% or more, there will be a red status indicator applied, indicating that special attention should be given to this.

Copy link
Contributor

📦 Next.js Bundle Analysis for ui

This analysis was generated by the Next.js Bundle Analysis action. 🤖

⚠️ Global Bundle Size Increased

Page Size (compressed)
global 569.05 KB (🟡 +91 B)
Details

The global bundle is the javascript bundle that loads alongside every page. It is in its own category because its impact is much higher - an increase to its size means that every page on your website loads slower, and a decrease means every page loads faster.

Any third party scripts you have added directly to your app using the <script> tag are not accounted for in this analysis

If you want further insight into what is behind the changes, give @next/bundle-analyzer a try!

Eleven Pages Changed Size

The following pages changed size from the code in this PR compared to its base branch:

Page Size (compressed) First Load
/experiments/[experimentId]/data-exploration 519.9 KB (-28 B) 1.06 MB
/experiments/[experimentId]/data-processing 537.29 KB (🟢 -104 B) 1.08 MB
/experiments/[experimentId]/plots-and-tables/dot-plot 495.18 KB (🟢 -57 B) 1.04 MB
/experiments/[experimentId]/plots-and-tables/embedding-categorical 485.59 KB (🟢 -197 B) 1.03 MB
/experiments/[experimentId]/plots-and-tables/embedding-continuous 515.79 KB (🟡 +28.08 KB) 1.06 MB
/experiments/[experimentId]/plots-and-tables/frequency 487.65 KB (-44 B) 1.03 MB
/experiments/[experimentId]/plots-and-tables/marker-heatmap 584.85 KB (🟢 -61 B) 1.13 MB
/experiments/[experimentId]/plots-and-tables/normalized-matrix 170.33 KB (🟢 -82 B) 739.38 KB
/experiments/[experimentId]/plots-and-tables/trajectory-analysis 488.66 KB (🟢 -229 B) 1.03 MB
/experiments/[experimentId]/plots-and-tables/violin 517.93 KB (🟡 +624 B) 1.06 MB
/experiments/[experimentId]/plots-and-tables/volcano 490.82 KB (🟢 -73 B) 1.04 MB
Details

Only the gzipped size is provided here based on an expert tip.

First Load is the size of the global bundle plus the bundle for the individual page. If a user were to show up to your website and land on a given page, the first load size represents the amount of javascript that user would need to download. If next/link is used, subsequent page loads would only need to download that page's bundle (the number in the "Size" column), since the global bundle has already been downloaded.

Any third party scripts you have added directly to your app using the <script> tag are not accounted for in this analysis

Next to the size is how much the size has increased or decreased compared with the base branch of this PR. If this percentage has increased by 20% or more, there will be a red status indicator applied, indicating that special attention should be given to this.

@StefanBabukov StefanBabukov merged commit bad9571 into hms-dbmi-cellenics:master Dec 15, 2023
14 checks passed
@StefanBabukov StefanBabukov deleted the embedding-multi-view branch December 15, 2023 15:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
safe to run Sensitive jobs are safe to be run
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants