@vitessce/scatterplot-gating 3.4.10 → 3.4.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import { i as inflate_1 } from "./pako.esm-68f84e2a.js";
2
- import { B as BaseDecoder } from "./index-d8a3c555.js";
2
+ import { B as BaseDecoder } from "./index-c5949f9a.js";
3
3
  import "react";
4
4
  import "@vitessce/vit-s";
5
5
  import "react-dom";
@@ -11162,6 +11162,7 @@ const CoordinationType$1 = {
11162
11162
  FEATURE_TYPE: "featureType",
11163
11163
  FEATURE_VALUE_TYPE: "featureValueType",
11164
11164
  OBS_LABELS_TYPE: "obsLabelsType",
11165
+ FEATURE_LABELS_TYPE: "featureLabelsType",
11165
11166
  // Other types
11166
11167
  EMBEDDING_TYPE: "embeddingType",
11167
11168
  EMBEDDING_ZOOM: "embeddingZoom",
@@ -11276,6 +11277,23 @@ const CoordinationType$1 = {
11276
11277
  CONTOUR_COLOR_ENCODING: "contourColorEncoding",
11277
11278
  CONTOUR_COLOR: "contourColor"
11278
11279
  };
11280
+ const ViewHelpMapping = {
11281
+ SCATTERPLOT: "The scatterplot displays two-dimensional (pre-computed) dimensionality reduction results (such as from t-SNE or UMAP). Each point on the scatterplot represents an observation (e.g., cell).",
11282
+ HEATMAP: "The heatmap displays an observation-by-feature (e.g., cell-by-gene) matrix, typically with transformed (e.g., normalized or standardized) values.",
11283
+ SPATIAL: "The spatial view displays (potentially layered) spatially-resolved data including RGB or multiplexed images, segmentations of observations (bitmask- or polygon-based), and/or points (e.g., representing FISH transcripts).",
11284
+ DESCRIPTION: "The description view displays additional information about a dataset. When images are included in a dataset, the description view also includes image metadata (if contained in the image files).",
11285
+ STATUS: "The status view displays debugging messages, including app-wide error messages when datasets fail to load or when schemas fail to validate. Details about the entity under the mouse cursor (cell, gene, and/or molecule) are displayed during hover interactions.",
11286
+ LAYER_CONTROLLER: "The spatial layer controller provides an interface for manipulating the visualization layers displayed in the spatial view.",
11287
+ GENOMIC_PROFILES: "The genomic profiles view displays genome browser tracks (using the genomic-profiles data type) containing bar plots, where the genome is along the x-axis and the value at each genome position is encoded with a bar along the y-axis.",
11288
+ GATING: "The gating scatterplot displays expression data for two genes (along the X and Y axes). Users can select two genes, and the scatterplot is dynamically generated using observation-by-feature matrix data. Gating can then be performed by using the lasso or box select tools.",
11289
+ FEATURE_LIST: "The feature list controller displays an interactive list of features (e.g., genes).",
11290
+ OBS_SETS: "The observation sets controller displays an interactive list of (potentially hierarchical) observation sets (e.g., cell clusters or cell type annotations).",
11291
+ OBS_SET_SIZES: "The observation set sizes view displays a bar plot with the currently-selected observation sets (e.g., cell types) on the x-axis and bars representing their size (e.g., number of cells) on the y-axis.",
11292
+ OBS_SET_FEATURE_VALUE_DISTRIBUTION: "The observation set feature value distribution view displays a violin plot with values (e.g., expression values) per set (e.g., cell type) for the selected feature (e.g., gene).",
11293
+ FEATURE_VALUE_HISTOGRAM: "The feature value histogram displays the distribution of values (e.g., expression) for the selected feature (e.g., gene).",
11294
+ DOT_PLOT: "The dot plot displays summary information about expression of the selected features (e.g., genes) for each selected observation set (e.g., cell type).",
11295
+ FEATURE_BAR_PLOT: "The feature bar plot displays one bar per observation (e.g., cell) along the x-axis, where the value of a selected feature (e.g., gene) is encoded along the y-axis."
11296
+ };
11279
11297
  const COMPONENT_COORDINATION_TYPES = {
11280
11298
  [ViewType$1.SCATTERPLOT]: [
11281
11299
  CoordinationType$1.DATASET,
@@ -11954,7 +11972,7 @@ const annDataObsSetsArr = z.array(z.object({
11954
11972
  ]),
11955
11973
  scorePath: z.string().optional().describe("The location in the AnnData store for the set confidence scores, like 'obs/celltype_prediction_score.'")
11956
11974
  }));
11957
- const annDataObsSets = z.object({
11975
+ z.object({
11958
11976
  obsSets: annDataObsSetsArr
11959
11977
  });
11960
11978
  const annDataObsFeatureColumnsArr = z.array(z.object({
@@ -12016,7 +12034,7 @@ const obsFeatureMatrixSpatialdataSchema = annDataObsFeatureMatrix.extend({
12016
12034
  const obsSetsSpatialdataSchema = z.object({
12017
12035
  region: z.string().describe("The name of a region to use to filter instances (i.e., rows) in the table").optional(),
12018
12036
  tablePath: z.string().optional().describe("The path to a table which contains the index for the set values."),
12019
- obsSets: annDataObsSets
12037
+ obsSets: annDataObsSetsArr
12020
12038
  });
12021
12039
  z.object({
12022
12040
  targetX: z.number(),
@@ -123793,16 +123811,16 @@ function addDecoder(cases, importFn) {
123793
123811
  }
123794
123812
  cases.forEach((c2) => registry$1.set(c2, importFn));
123795
123813
  }
123796
- addDecoder([void 0, 1], () => import("./raw-be8b369a.js").then((m2) => m2.default));
123797
- addDecoder(5, () => import("./lzw-80267e13.js").then((m2) => m2.default));
123814
+ addDecoder([void 0, 1], () => import("./raw-61e39bd3.js").then((m2) => m2.default));
123815
+ addDecoder(5, () => import("./lzw-857aa477.js").then((m2) => m2.default));
123798
123816
  addDecoder(6, () => {
123799
123817
  throw new Error("old style JPEG compression is not supported.");
123800
123818
  });
123801
- addDecoder(7, () => import("./jpeg-1af419b8.js").then((m2) => m2.default));
123802
- addDecoder([8, 32946], () => import("./deflate-c70054b2.js").then((m2) => m2.default));
123803
- addDecoder(32773, () => import("./packbits-a7eab764.js").then((m2) => m2.default));
123804
- addDecoder(34887, () => import("./lerc-408b2bde.js").then((m2) => m2.default));
123805
- addDecoder(50001, () => import("./webimage-61be8bd4.js").then((m2) => m2.default));
123819
+ addDecoder(7, () => import("./jpeg-7e5e6ad5.js").then((m2) => m2.default));
123820
+ addDecoder([8, 32946], () => import("./deflate-acef7820.js").then((m2) => m2.default));
123821
+ addDecoder(32773, () => import("./packbits-f7f733c7.js").then((m2) => m2.default));
123822
+ addDecoder(34887, () => import("./lerc-94ffa556.js").then((m2) => m2.default));
123823
+ addDecoder(50001, () => import("./webimage-a60dfc27.js").then((m2) => m2.default));
123806
123824
  function decodeRowAcc(row, stride) {
123807
123825
  let length2 = row.length - stride;
123808
123826
  let offset5 = 0;
@@ -151054,7 +151072,8 @@ function GatingSubscriber(props) {
151054
151072
  disableTooltip = false,
151055
151073
  title: titleOverride,
151056
151074
  // Average fill density for dynamic opacity calculation.
151057
- averageFillDensity
151075
+ averageFillDensity,
151076
+ helpText = ViewHelpMapping.GATING
151058
151077
  } = props;
151059
151078
  const loaders = useLoaders();
151060
151079
  const setComponentHover = useSetComponentHover();
@@ -151375,6 +151394,7 @@ function GatingSubscriber(props) {
151375
151394
  urls,
151376
151395
  theme,
151377
151396
  isReady,
151397
+ helpText,
151378
151398
  options: /* @__PURE__ */ jsxRuntimeExports.jsx(
151379
151399
  ScatterplotOptions,
151380
151400
  {
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { G } from "./index-d8a3c555.js";
1
+ import { G } from "./index-c5949f9a.js";
2
2
  import "react";
3
3
  import "@vitessce/vit-s";
4
4
  import "react-dom";
@@ -1,4 +1,4 @@
1
- import { B as BaseDecoder } from "./index-d8a3c555.js";
1
+ import { B as BaseDecoder } from "./index-c5949f9a.js";
2
2
  import "react";
3
3
  import "@vitessce/vit-s";
4
4
  import "react-dom";
@@ -1,5 +1,5 @@
1
1
  import { i as inflate_1 } from "./pako.esm-68f84e2a.js";
2
- import { g as getDefaultExportFromCjs, B as BaseDecoder } from "./index-d8a3c555.js";
2
+ import { g as getDefaultExportFromCjs, B as BaseDecoder } from "./index-c5949f9a.js";
3
3
  import "react";
4
4
  import "@vitessce/vit-s";
5
5
  import "react-dom";
@@ -1,4 +1,4 @@
1
- import { B as BaseDecoder } from "./index-d8a3c555.js";
1
+ import { B as BaseDecoder } from "./index-c5949f9a.js";
2
2
  import "react";
3
3
  import "@vitessce/vit-s";
4
4
  import "react-dom";
@@ -1,4 +1,4 @@
1
- import { B as BaseDecoder } from "./index-d8a3c555.js";
1
+ import { B as BaseDecoder } from "./index-c5949f9a.js";
2
2
  import "react";
3
3
  import "@vitessce/vit-s";
4
4
  import "react-dom";
@@ -1,4 +1,4 @@
1
- import { B as BaseDecoder } from "./index-d8a3c555.js";
1
+ import { B as BaseDecoder } from "./index-c5949f9a.js";
2
2
  import "react";
3
3
  import "@vitessce/vit-s";
4
4
  import "react-dom";
@@ -1,4 +1,4 @@
1
- import { B as BaseDecoder } from "./index-d8a3c555.js";
1
+ import { B as BaseDecoder } from "./index-c5949f9a.js";
2
2
  import "react";
3
3
  import "@vitessce/vit-s";
4
4
  import "react-dom";
@@ -1 +1 @@
1
- {"version":3,"file":"GatingSubscriber.d.ts","sourceRoot":"","sources":["../src/GatingSubscriber.js"],"names":[],"mappings":"AAmCA;;;;;;;;;;;;KAYK;AACL,wCAVK;IAAsB,IAAI,EAAlB,MAAM;IACQ,KAAK,EAAnB,MAAM;IACQ,kBAAkB,EAAhC,MAAM;IAES,cAAc,EAA7B,OAAO;IACS,mBAAmB;IAErB,kBAAkB,EAAhC,MAAM;CAEhB,eA8ZF"}
1
+ {"version":3,"file":"GatingSubscriber.d.ts","sourceRoot":"","sources":["../src/GatingSubscriber.js"],"names":[],"mappings":"AAmCA;;;;;;;;;;;;KAYK;AACL,wCAVK;IAAsB,IAAI,EAAlB,MAAM;IACQ,KAAK,EAAnB,MAAM;IACQ,kBAAkB,EAAhC,MAAM;IAES,cAAc,EAA7B,OAAO;IACS,mBAAmB;IAErB,kBAAkB,EAAhC,MAAM;CAEhB,eAgaF"}
@@ -6,7 +6,7 @@ import { pluralize as plur, capitalize, commaNumber, getValueTransformFunction,
6
6
  import { TitleInfo, useDeckCanvasSize, useReady, useUrls, useUint8FeatureSelection, useExpressionValueGetter, useObsSetsData, useFeatureSelection, useObsFeatureMatrixIndices, useCoordination, useLoaders, useSetComponentHover, useSetComponentViewInfo, } from '@vitessce/vit-s';
7
7
  import { getCellSetPolygons, mergeObsSets, setObsSelection, getCellColors, } from '@vitessce/sets-utils';
8
8
  import { Scatterplot, ScatterplotTooltipSubscriber, ScatterplotOptions, getPointSizeDevicePixels, getPointOpacity, EmptyMessage, } from '@vitessce/scatterplot';
9
- import { ViewType, COMPONENT_COORDINATION_TYPES } from '@vitessce/constants-internal';
9
+ import { ViewType, COMPONENT_COORDINATION_TYPES, ViewHelpMapping } from '@vitessce/constants-internal';
10
10
  import GatingScatterplotOptions from './GatingScatterplotOptions.js';
11
11
  /**
12
12
  * A subscriber component for the gating scatterplot.
@@ -24,7 +24,7 @@ import GatingScatterplotOptions from './GatingScatterplotOptions.js';
24
24
  export function GatingSubscriber(props) {
25
25
  const { uuid, coordinationScopes, closeButtonVisible, downloadButtonVisible, removeGridComponent, theme, disableTooltip = false, title: titleOverride,
26
26
  // Average fill density for dynamic opacity calculation.
27
- averageFillDensity, } = props;
27
+ averageFillDensity, helpText = ViewHelpMapping.GATING, } = props;
28
28
  const loaders = useLoaders();
29
29
  const setComponentHover = useSetComponentHover();
30
30
  const setComponentViewInfo = useSetComponentViewInfo(uuid);
@@ -192,7 +192,7 @@ export function GatingSubscriber(props) {
192
192
  }, [obsXY, obsIndex, featureValueTransform,
193
193
  gatingFeatureSelectionX, gatingFeatureSelectionY, obsType,
194
194
  ]);
195
- return (_jsxs(TitleInfo, { title: title, info: `${commaNumber(cellsCount)} ${plur(obsType, cellsCount)}`, closeButtonVisible: closeButtonVisible, downloadButtonVisible: downloadButtonVisible, removeGridComponent: removeGridComponent, urls: urls, theme: theme, isReady: isReady, options: (_jsx(ScatterplotOptions, { observationsLabel: obsType, cellRadius: cellRadiusFixed, setCellRadius: setCellRadiusFixed, cellRadiusMode: cellRadiusMode, setCellRadiusMode: setCellRadiusMode, cellOpacity: cellOpacityFixed, setCellOpacity: setCellOpacityFixed, cellOpacityMode: cellOpacityMode, setCellOpacityMode: setCellOpacityMode, cellSetLabelsVisible: cellSetLabelsVisible, setCellSetLabelsVisible: setCellSetLabelsVisible, cellSetLabelSize: cellSetLabelSize, setCellSetLabelSize: setCellSetLabelSize, cellSetPolygonsVisible: cellSetPolygonsVisible, setCellSetPolygonsVisible: setCellSetPolygonsVisible, cellColorEncoding: cellColorEncoding, setCellColorEncoding: setCellColorEncoding, geneExpressionColormap: geneExpressionColormap, setGeneExpressionColormap: setGeneExpressionColormap, geneExpressionColormapRange: geneExpressionColormapRange, setGeneExpressionColormapRange: setGeneExpressionColormapRange, children: _jsx(GatingScatterplotOptions, { featureType: featureType, gatingFeatureSelectionX: gatingFeatureSelectionX, setGatingFeatureSelectionX: setGatingFeatureSelectionX, gatingFeatureSelectionY: gatingFeatureSelectionY, setGatingFeatureSelectionY: setGatingFeatureSelectionY, gatingFeatureValueTransform: featureValueTransform, setGatingFeatureValueTransform: (newValue) => {
195
+ return (_jsxs(TitleInfo, { title: title, info: `${commaNumber(cellsCount)} ${plur(obsType, cellsCount)}`, closeButtonVisible: closeButtonVisible, downloadButtonVisible: downloadButtonVisible, removeGridComponent: removeGridComponent, urls: urls, theme: theme, isReady: isReady, helpText: helpText, options: (_jsx(ScatterplotOptions, { observationsLabel: obsType, cellRadius: cellRadiusFixed, setCellRadius: setCellRadiusFixed, cellRadiusMode: cellRadiusMode, setCellRadiusMode: setCellRadiusMode, cellOpacity: cellOpacityFixed, setCellOpacity: setCellOpacityFixed, cellOpacityMode: cellOpacityMode, setCellOpacityMode: setCellOpacityMode, cellSetLabelsVisible: cellSetLabelsVisible, setCellSetLabelsVisible: setCellSetLabelsVisible, cellSetLabelSize: cellSetLabelSize, setCellSetLabelSize: setCellSetLabelSize, cellSetPolygonsVisible: cellSetPolygonsVisible, setCellSetPolygonsVisible: setCellSetPolygonsVisible, cellColorEncoding: cellColorEncoding, setCellColorEncoding: setCellColorEncoding, geneExpressionColormap: geneExpressionColormap, setGeneExpressionColormap: setGeneExpressionColormap, geneExpressionColormapRange: geneExpressionColormapRange, setGeneExpressionColormapRange: setGeneExpressionColormapRange, children: _jsx(GatingScatterplotOptions, { featureType: featureType, gatingFeatureSelectionX: gatingFeatureSelectionX, setGatingFeatureSelectionX: setGatingFeatureSelectionX, gatingFeatureSelectionY: gatingFeatureSelectionY, setGatingFeatureSelectionY: setGatingFeatureSelectionY, gatingFeatureValueTransform: featureValueTransform, setGatingFeatureValueTransform: (newValue) => {
196
196
  setFeatureValueTransform(newValue);
197
197
  setTargetX(null);
198
198
  setTargetY(null);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vitessce/scatterplot-gating",
3
- "version": "3.4.10",
3
+ "version": "3.4.12",
4
4
  "author": "Gehlenborg Lab",
5
5
  "homepage": "http://vitessce.io",
6
6
  "repository": {
@@ -20,11 +20,11 @@
20
20
  "d3-array": "^2.4.0",
21
21
  "lodash-es": "^4.17.21",
22
22
  "react-aria": "^3.28.0",
23
- "@vitessce/constants-internal": "3.4.10",
24
- "@vitessce/scatterplot": "3.4.10",
25
- "@vitessce/sets-utils": "3.4.10",
26
- "@vitessce/utils": "3.4.10",
27
- "@vitessce/vit-s": "3.4.10"
23
+ "@vitessce/constants-internal": "3.4.12",
24
+ "@vitessce/scatterplot": "3.4.12",
25
+ "@vitessce/sets-utils": "3.4.12",
26
+ "@vitessce/utils": "3.4.12",
27
+ "@vitessce/vit-s": "3.4.12"
28
28
  },
29
29
  "devDependencies": {
30
30
  "react": "^18.0.0",
@@ -30,7 +30,7 @@ import {
30
30
  getPointOpacity,
31
31
  EmptyMessage,
32
32
  } from '@vitessce/scatterplot';
33
- import { ViewType, COMPONENT_COORDINATION_TYPES } from '@vitessce/constants-internal';
33
+ import { ViewType, COMPONENT_COORDINATION_TYPES, ViewHelpMapping } from '@vitessce/constants-internal';
34
34
  import GatingScatterplotOptions from './GatingScatterplotOptions.js';
35
35
 
36
36
  /**
@@ -58,6 +58,7 @@ export function GatingSubscriber(props) {
58
58
  title: titleOverride,
59
59
  // Average fill density for dynamic opacity calculation.
60
60
  averageFillDensity,
61
+ helpText = ViewHelpMapping.GATING,
61
62
  } = props;
62
63
 
63
64
  const loaders = useLoaders();
@@ -361,6 +362,7 @@ export function GatingSubscriber(props) {
361
362
  urls={urls}
362
363
  theme={theme}
363
364
  isReady={isReady}
365
+ helpText={helpText}
364
366
  options={(
365
367
  <ScatterplotOptions
366
368
  observationsLabel={obsType}