diff --git a/client/__tests__/common/constants.ts b/client/__tests__/common/constants.ts index 1f45a6c1e..ac8ab0539 100644 --- a/client/__tests__/common/constants.ts +++ b/client/__tests__/common/constants.ts @@ -3,7 +3,8 @@ import * as ENV_DEFAULT from "../../../environment.default.json"; export const DATASET = "pbmc3k.cxg"; export const DATASET_TRUNCATE = "truncation-test.cxg"; export const SPATIAL_DATASET = "super-cool-spatial.cxg"; - +export const CELL_GUIDE_DATASET = "example.cxg"; +export const CELLGUIDE_CXGS_PATH = "cellguide-cxgs"; export const APP_URL_BASE = process.env.CXG_URL_BASE || `http://localhost:${ENV_DEFAULT.CXG_CLIENT_PORT}`; @@ -25,6 +26,14 @@ export const pageURLSpatial = [ "", ].join("/"); +export const pageURLCellGuide = [ + APP_URL_BASE, + DEFAULT_BASE_PATH, + CELLGUIDE_CXGS_PATH, + CELL_GUIDE_DATASET, + "", +].join("/"); + export const BLUEPRINT_SAFE_TYPE_OPTIONS = { delay: 50 }; export const ERROR_NO_TEST_ID_OR_LOCATOR = diff --git a/client/__tests__/e2e/cell-guide.test.ts b/client/__tests__/e2e/cell-guide.test.ts new file mode 100644 index 000000000..4e4bc1877 --- /dev/null +++ b/client/__tests__/e2e/cell-guide.test.ts @@ -0,0 +1,148 @@ +/** + * Smoke test suite that will be run in GHA + * Tests included in this file are expected to be relatively stable and test core features + * + * (seve): `locator.click({force: true})` is required on some elements due to weirdness with bp3 elements which route clicks to non-target elements + * https://playwright.dev/docs/input#forcing-the-click + */ + +/* eslint-disable no-await-in-loop -- await in loop is needed to emulate sequential user actions */ +import { test, expect } from "@chromatic-com/playwright"; + +import { tryUntil } from "./puppeteerUtils"; +import mockSetup from "./playwright.global.setup"; + +import { + deleteGeneset, + snapshotTestGraph, + expandGeneset, + expandMarkerGeneSetsHeader, +} from "./cellxgeneActions"; + +import { pageURLCellGuide } from "../common/constants"; + +import { goToPage } from "../util/helpers"; + +const { describe } = test; + +// TODO #754 +test.beforeEach(mockSetup); + +describe(`Testing CellGuideCXG at ${pageURLCellGuide}`, () => { + test("page launched", async ({ page }, testInfo) => { + await goToPage(page, pageURLCellGuide); + + const element = await page.getByTestId("header").innerHTML(); + + expect(element).toMatchSnapshot(); + + await snapshotTestGraph(page, testInfo); + }); + + test("assert absence of 'Standard Categories' and 'Author Categories'", async ({ + page, + }) => { + await goToPage(page, pageURLCellGuide); + + // Check for the absence of 'Standard Categories' + const standardCategories = await page + .locator("text='Standard Categories'") + .count(); + expect(standardCategories).toBe(0); + + // Check for the absence of 'Author Categories' + const authorCategories = await page + .locator("text='Author Categories'") + .count(); + expect(authorCategories).toBe(0); + }); + + test("assert 'Marker Gene Sets' header is present and collapsed", async ({ + page, + }) => { + await goToPage(page, pageURLCellGuide); + + // Check for the presence of 'Marker Gene Sets' header + const markerGeneSetsHeader = await page.locator( + "h5:has-text('Marker Gene Sets')" + ); + await expect(markerGeneSetsHeader).toBeVisible(); + + // Check if the header is collapsed by looking for a child with a chevron-right icon + const chevronRightIcon = markerGeneSetsHeader.locator( + "svg[data-icon='chevron-right']" + ); + await expect(chevronRightIcon).toBeVisible(); + }); + + test("expansion of 'Marker Gene Sets' reveals specific genesets", async ({ + page, + }) => { + await goToPage(page, pageURLCellGuide); + + // Locate and expand the 'Marker Gene Sets' header + const markerGeneSetsHeader = await page.locator( + "h5:has-text('Marker Gene Sets')" + ); + + tryUntil( + async () => { + await markerGeneSetsHeader.click(); // Assuming clicking will expand the section + + // Assert the presence of specific genesets + const geneset1 = await page.locator( + `div[data-testid="geneset"]:has-text("enteric smooth muscle cell")` + ); + const geneset2 = await page.locator( + `div[data-testid="geneset"]:has-text("smooth muscle fiber of ileum")` + ); + + await expect(geneset1).toBeVisible(); + await expect(geneset2).toBeVisible(); + }, + { page } + ); + }); + + test("expansion of 'enteric smooth muscle cell' reveals genes", async ({ + page, + }) => { + await goToPage(page, pageURLCellGuide); + + await expandMarkerGeneSetsHeader(page); + + // Locate and expand 'enteric smooth muscle cell' geneset + await expandGeneset("enteric smooth muscle cell - marker genes", page); + + // Assert the presence of the genes div and that it contains 55 child divs + const genesDiv = await page.locator(`div[data-testid="gene-set-genes"]`); + await expect(genesDiv).toBeVisible(); + const childDivs = await genesDiv.locator( + 'div[data-testid*=":gene-expand"]' + ); + await expect(childDivs).toHaveCount(55); + }); + + test("deleting 'enteric smooth muscle cell' geneset and refreshing adds it back", async ({ + page, + }) => { + await goToPage(page, pageURLCellGuide); + + await expandMarkerGeneSetsHeader(page); + + await deleteGeneset("enteric smooth muscle cell - marker genes", page); + + // Refresh the page + await page.reload(); + + await expandMarkerGeneSetsHeader(page); + + // Check if the geneset is added back + const genesetPresence = await page.locator( + `div[data-testid="geneset"]:has-text("enteric smooth muscle cell")` + ); + await expect(genesetPresence).toBeVisible(); + }); +}); + +/* eslint-enable no-await-in-loop -- await in loop is needed to emulate sequential user actions */ diff --git a/client/__tests__/e2e/cell-guide.test.ts-snapshots/Testing-CellGuideCXG-at-http-localhost-5005-d-cellguide-cxgs-example-cxg-page-launched-1-chromium-darwin.txt b/client/__tests__/e2e/cell-guide.test.ts-snapshots/Testing-CellGuideCXG-at-http-localhost-5005-d-cellguide-cxgs-example-cxg-page-launched-1-chromium-darwin.txt new file mode 100644 index 000000000..1e3db5b59 --- /dev/null +++ b/client/__tests__/e2e/cell-guide.test.ts-snapshots/Testing-CellGuideCXG-at-http-localhost-5005-d-cellguide-cxgs-example-cxg-page-launched-1-chromium-darwin.txt @@ -0,0 +1 @@ +
ApplicationCollectionsDatasetsGene ExpressionCell Guide
Beta

CensusAPIModels
Help & Documentation
\ No newline at end of file diff --git a/client/__tests__/e2e/cell-guide.test.ts-snapshots/Testing-CellGuideCXG-at-http-localhost-5005-d-cellguide-cxgs-example-cxg-page-launched-1-chromium-linux.txt b/client/__tests__/e2e/cell-guide.test.ts-snapshots/Testing-CellGuideCXG-at-http-localhost-5005-d-cellguide-cxgs-example-cxg-page-launched-1-chromium-linux.txt new file mode 100644 index 000000000..1e3db5b59 --- /dev/null +++ b/client/__tests__/e2e/cell-guide.test.ts-snapshots/Testing-CellGuideCXG-at-http-localhost-5005-d-cellguide-cxgs-example-cxg-page-launched-1-chromium-linux.txt @@ -0,0 +1 @@ +
ApplicationCollectionsDatasetsGene ExpressionCell Guide
Beta

CensusAPIModels
Help & Documentation
\ No newline at end of file diff --git a/client/__tests__/e2e/cellxgeneActions.ts b/client/__tests__/e2e/cellxgeneActions.ts index c035fcf27..c67c6eb2b 100644 --- a/client/__tests__/e2e/cellxgeneActions.ts +++ b/client/__tests__/e2e/cellxgeneActions.ts @@ -141,6 +141,50 @@ export async function getAllCategoriesAndCounts( return Object.fromEntries(arrayOfLabelsAndCounts); } +export async function expandMarkerGeneSetsHeader(page: Page): Promise { + // Locate and expand the 'Marker Gene Sets' header if not already expanded + const markerGeneSetsHeader = await page.locator( + "h5:has-text('Marker Gene Sets')" + ); + const chevronDownIcon = markerGeneSetsHeader.locator( + "svg[data-icon='chevron-down']" + ); + await tryUntil( + async () => { + if ((await chevronDownIcon.count()) === 0) { + await markerGeneSetsHeader.click(); + } + const count = await chevronDownIcon.count(); + expect(count).toBeGreaterThan(0); + }, + { page } + ); +} +export async function getAllCategories( + category: string, + page: Page +): Promise { + // these load asynchronously, so we have to wait for the specific category. + const categoryRows = await page + .getByTestId(`category-${category}`) + .getByTestId("categorical-row") + .all(); + + const arrayOfLabels = await Promise.all( + categoryRows.map(async (row): Promise => { + const cat = await row + .getByTestId("categorical-value") + .getAttribute("aria-label"); + + if (!cat) throw new Error("category value not found"); + + return cat; + }) + ); + + return arrayOfLabels; +} + export async function getCellSetCount( num: number, page: Page @@ -405,10 +449,10 @@ export async function checkGenesetDescription( const editButton = `${genesetName}:edit-genesetName-mode`; await page.getByTestId(editButton).click({ - force: true + force: true, /** * (thuang): Don't wait for the default timeout, since we want to fail fast - */, + */ timeout: 1 * 1000, }); diff --git a/client/__tests__/e2e/data.ts b/client/__tests__/e2e/data.ts index 1f1d531b8..8957211f6 100644 --- a/client/__tests__/e2e/data.ts +++ b/client/__tests__/e2e/data.ts @@ -87,13 +87,7 @@ export const datasets = { categorical: { louvain: { "B cells": "342", - "CD14+ Monocytes": "0", - "CD4 T cells": "0", - "CD8 T cells": "0", - "Dendritic cells": "0", - "FCGR3A+ Monocytes": "0", Megakaryocytes: "15", - "NK cells": "0", }, }, lasso: { @@ -242,31 +236,7 @@ export const datasets = { categorical: { cell_type: { "B cell": "1", - "CD14-low, CD16-positive monocyte": "0", - "CD14-positive monocyte": "0", - "CD8-positive, alpha-beta cytotoxic T cell": "0", - "activated CD4-positive, alpha-beta T cell": "0", - adipocyte: "0", - "cardiac pacemaker cell of sinoatrial node": "0", - "dendritic cell, human": "0", - "endocardial cell": "0", - "endothelial cell": "0", - "endothelial cell of artery": "0", - "endothelial cell of lymphatic vessel": "0", - "fibroblast of cardiac tissue": "0", "glial cell": "43", - macrophage: "0", - "mast cell": "0", - monocyte: "0", - "mucosal invariant T cell": "0", - "naive thymus-derived CD4-positive, alpha-beta T cell": "0", - neutrophil: "0", - pericyte: "0", - "plasma cell": "0", - "regular atrial cardiac myocyte": "0", - "smooth muscle cell": "0", - "smooth muscle cell of the pulmonary artery": "0", - "vein endothelial cell": "0", }, }, lasso: { diff --git a/client/__tests__/e2e/e2e.test.ts b/client/__tests__/e2e/e2e.test.ts index 13f697fb0..9f64f1928 100644 --- a/client/__tests__/e2e/e2e.test.ts +++ b/client/__tests__/e2e/e2e.test.ts @@ -47,6 +47,7 @@ import { checkGenesetDescription, assertUndoRedo, snapshotTestGraph, + getAllCategories, } from "./cellxgeneActions"; import { datasets } from "./data"; @@ -290,6 +291,22 @@ for (const testDataset of testDatasets) { await snapshotTestGraph(page, testInfo); } }); + test("subset - categories with zero cells are filtered out", async ({ + page, + }) => { + await goToPage(page, url); + const select = data.subset.cellset1[0]; + await selectCategory(select.metadata, select.values, page, true); + await page.getByTestId("subset-button").click(); + + const actualCategories = await getAllCategoriesAndCounts( + select.metadata, + page + ); + const actualCategoriesKeys = Object.keys(actualCategories).sort(); + const expectedCateogriesKeys = select.values.slice().sort(); + expect(actualCategoriesKeys).toEqual(expectedCateogriesKeys); + }); test("lasso after subset", async ({ page }, testInfo) => { await goToPage(page, url); @@ -659,6 +676,39 @@ for (const testDataset of testDatasets) { await assertColorLegendLabel(meanExpressionBrushGenesetName, page); await snapshotTestGraph(page, testInfo); }); + test("color by mean expression changes sorting of categories in 'cell_type'", async ({ + page, + }) => { + await setup({ option, page, url }); + const categories = await page + .locator('[data-testid*=":category-expand"]') + .all(); + const category = categories[0]; + const categoryName = ( + await category.getAttribute("data-testid") + )?.split(":")[0] as string; + + await expandCategory(categoryName, page); + + await createGeneset(meanExpressionBrushGenesetName, page); + await addGeneToSetAndExpand( + meanExpressionBrushGenesetName, + "SIK1", + page + ); + + // Check initial order of categories + const initialOrder = await getAllCategories(categoryName, page); + + // Color by the geneset mean expression + await colorByGeneset(meanExpressionBrushGenesetName, page); + + // Check order of categories after sorting by mean expression + const sortedOrder = await getAllCategories(categoryName, page); + + // Expect the sorted order to be different from the initial order + expect(sortedOrder).not.toEqual(initialOrder); + }); test("diffexp", async ({ page }, testInfo) => { if (option.withSubset) return; @@ -1007,17 +1057,3 @@ async function setup({ await subset({ x1: 0.1, y1: 0.15, x2: 0.8, y2: 0.85 }, page); } } - -// TODO(atarashansky): write this test suite -// https://github.com/chanzuckerberg/single-cell-explorer/issues/811 -// async function goToCellGuideCxg(page: Page) { -// await goToPage(page, "http://localhost:3000/d/cellguide-cxgs/example.cxg/"); -// } - -// describe(`CellGuide CXG tests`, () => { -// test.only("author and standard category headers are not present", async ({ -// page, -// }) => { -// await goToPage(page, url); -// }); -// }); diff --git a/client/playwright.config.ts b/client/playwright.config.ts index 90a555f9f..f670727f3 100644 --- a/client/playwright.config.ts +++ b/client/playwright.config.ts @@ -108,7 +108,7 @@ export default defineConfig({ projects: [ { name: "chromium", - testMatch: "**/e2e.test.ts", + testMatch: "**/e2e/*.test.ts", use: { ...devices["Desktop Chrome"], userAgent: devices["Desktop Chrome"].userAgent + CZI_CHECKER, diff --git a/client/src/components/categorical/category/index.tsx b/client/src/components/categorical/category/index.tsx index 2b85c7429..9915ee418 100644 --- a/client/src/components/categorical/category/index.tsx +++ b/client/src/components/categorical/category/index.tsx @@ -612,7 +612,6 @@ const CategoryRender = React.memo( colorData={colorData} colorTable={colorTable} colorMode={colorMode} - isCellGuideCxg={isCellGuideCxg} /> ) : null } @@ -631,7 +630,6 @@ interface CategoryValueListProps { colorData: any; colorTable: any; colorMode: string; - isCellGuideCxg: boolean; } const CategoryValueList = React.memo( ({ @@ -643,44 +641,40 @@ const CategoryValueList = React.memo( colorData, colorTable, colorMode, - isCellGuideCxg, }: CategoryValueListProps) => { - let tuples = [...categorySummary.categoryValueIndices]; - if (isCellGuideCxg) { - tuples = tuples.filter( - ([, index]) => categorySummary.categoryValueCounts[index] > 0 - ); + const tuples = [...categorySummary.categoryValueIndices].filter( + ([, index]) => categorySummary.categoryValueCounts[index] > 0 + ); - // sort categorical labels in descending order by average values of whatever - // continuous metadata is currently being colored by - if ( - colorMode === "color by continuous metadata" || - colorMode === "color by expression" || - colorMode === "color by geneset mean expression" - ) { - const categoryDataArray = categoryData.col(metadataField).asArray(); - const colorDataArray = colorData.icol(0).asArray(); - const categoryColorMap = new Map(); - categoryDataArray.forEach((category: string, index: number) => { - if (!categoryColorMap.has(category)) { - categoryColorMap.set(category, { sum: 0, count: 0 }); - } - const colorValue = colorDataArray[index]; - const categoryColor = categoryColorMap.get(category); - categoryColor.sum += colorValue; - categoryColor.count += 1; - }); - - const categoryAverageColor = new Map(); - categoryColorMap.forEach((value, key) => { - categoryAverageColor.set(key, value.sum / value.count); - }); - tuples.sort((a, b) => { - const colorA = categoryAverageColor.get(a[0]); - const colorB = categoryAverageColor.get(b[0]); - return colorB - colorA; - }); - } + // sort categorical labels in descending order by average values of whatever + // continuous metadata is currently being colored by + if ( + colorMode === "color by continuous metadata" || + colorMode === "color by expression" || + colorMode === "color by geneset mean expression" + ) { + const categoryDataArray = categoryData.col(metadataField).asArray(); + const colorDataArray = colorData.icol(0).asArray(); + const categoryColorMap = new Map(); + categoryDataArray.forEach((category: string, index: number) => { + if (!categoryColorMap.has(category)) { + categoryColorMap.set(category, { sum: 0, count: 0 }); + } + const colorValue = colorDataArray[index]; + const categoryColor = categoryColorMap.get(category); + categoryColor.sum += colorValue; + categoryColor.count += 1; + }); + + const categoryAverageColor = new Map(); + categoryColorMap.forEach((value, key) => { + categoryAverageColor.set(key, value.sum / value.count); + }); + tuples.sort((a, b) => { + const colorA = categoryAverageColor.get(a[0]); + const colorB = categoryAverageColor.get(b[0]); + return colorB - colorA; + }); /* Render the value list. If this is a user annotation, we use a flipper diff --git a/example-dataset/cellguide-cxgs/example.cxg/Xc/__schema/__1708453211855_1708453211855_333a31bf1d47494ab91c53a92dd8dc5b b/example-dataset/cellguide-cxgs/example.cxg/Xc/__schema/__1708453211855_1708453211855_333a31bf1d47494ab91c53a92dd8dc5b new file mode 100644 index 000000000..98e77464e Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/Xc/__schema/__1708453211855_1708453211855_333a31bf1d47494ab91c53a92dd8dc5b differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/Xr/__schema/__1708453211592_1708453211592_6e6401acdddd4283812d76bcfa50cac4 b/example-dataset/cellguide-cxgs/example.cxg/Xr/__schema/__1708453211592_1708453211592_6e6401acdddd4283812d76bcfa50cac4 new file mode 100644 index 000000000..64664d63e Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/Xr/__schema/__1708453211592_1708453211592_6e6401acdddd4283812d76bcfa50cac4 differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/__tiledb_group.tdb b/example-dataset/cellguide-cxgs/example.cxg/__tiledb_group.tdb new file mode 100644 index 000000000..e69de29bb diff --git a/example-dataset/cellguide-cxgs/example.cxg/cxg_group_metadata/__commits/__1708453198615_1708453198615_0b65691a91ae463b8dcb0f6e3d632069_21.wrt b/example-dataset/cellguide-cxgs/example.cxg/cxg_group_metadata/__commits/__1708453198615_1708453198615_0b65691a91ae463b8dcb0f6e3d632069_21.wrt new file mode 100644 index 000000000..e69de29bb diff --git a/example-dataset/cellguide-cxgs/example.cxg/cxg_group_metadata/__fragments/__1708453198615_1708453198615_0b65691a91ae463b8dcb0f6e3d632069_21/__fragment_metadata.tdb b/example-dataset/cellguide-cxgs/example.cxg/cxg_group_metadata/__fragments/__1708453198615_1708453198615_0b65691a91ae463b8dcb0f6e3d632069_21/__fragment_metadata.tdb new file mode 100644 index 000000000..5778d523b Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/cxg_group_metadata/__fragments/__1708453198615_1708453198615_0b65691a91ae463b8dcb0f6e3d632069_21/__fragment_metadata.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/cxg_group_metadata/__fragments/__1708453198615_1708453198615_0b65691a91ae463b8dcb0f6e3d632069_21/a0.tdb b/example-dataset/cellguide-cxgs/example.cxg/cxg_group_metadata/__fragments/__1708453198615_1708453198615_0b65691a91ae463b8dcb0f6e3d632069_21/a0.tdb new file mode 100644 index 000000000..2f481a1d5 Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/cxg_group_metadata/__fragments/__1708453198615_1708453198615_0b65691a91ae463b8dcb0f6e3d632069_21/a0.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/cxg_group_metadata/__meta/__1708453199221_1708453199221_6c3b6209f09f482d8594eb4a54631884 b/example-dataset/cellguide-cxgs/example.cxg/cxg_group_metadata/__meta/__1708453199221_1708453199221_6c3b6209f09f482d8594eb4a54631884 new file mode 100644 index 000000000..a3d0c3ece Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/cxg_group_metadata/__meta/__1708453199221_1708453199221_6c3b6209f09f482d8594eb4a54631884 differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/cxg_group_metadata/__schema/__1708453198377_1708453198377_dec1b2c8c33b4137931f751ead711e55 b/example-dataset/cellguide-cxgs/example.cxg/cxg_group_metadata/__schema/__1708453198377_1708453198377_dec1b2c8c33b4137931f751ead711e55 new file mode 100644 index 000000000..6c82441e3 Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/cxg_group_metadata/__schema/__1708453198377_1708453198377_dec1b2c8c33b4137931f751ead711e55 differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/emb/__tiledb_group.tdb b/example-dataset/cellguide-cxgs/example.cxg/emb/__tiledb_group.tdb new file mode 100644 index 000000000..e69de29bb diff --git a/example-dataset/cellguide-cxgs/example.cxg/emb/umap/__commits/__1708453210908_1708453210908_93ac971d3a1245eaaab3f0aa08557592_21.wrt b/example-dataset/cellguide-cxgs/example.cxg/emb/umap/__commits/__1708453210908_1708453210908_93ac971d3a1245eaaab3f0aa08557592_21.wrt new file mode 100644 index 000000000..e69de29bb diff --git a/example-dataset/cellguide-cxgs/example.cxg/emb/umap/__fragments/__1708453210908_1708453210908_93ac971d3a1245eaaab3f0aa08557592_21/__fragment_metadata.tdb b/example-dataset/cellguide-cxgs/example.cxg/emb/umap/__fragments/__1708453210908_1708453210908_93ac971d3a1245eaaab3f0aa08557592_21/__fragment_metadata.tdb new file mode 100644 index 000000000..2679532c1 Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/emb/umap/__fragments/__1708453210908_1708453210908_93ac971d3a1245eaaab3f0aa08557592_21/__fragment_metadata.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/emb/umap/__fragments/__1708453210908_1708453210908_93ac971d3a1245eaaab3f0aa08557592_21/a0.tdb b/example-dataset/cellguide-cxgs/example.cxg/emb/umap/__fragments/__1708453210908_1708453210908_93ac971d3a1245eaaab3f0aa08557592_21/a0.tdb new file mode 100644 index 000000000..843267088 Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/emb/umap/__fragments/__1708453210908_1708453210908_93ac971d3a1245eaaab3f0aa08557592_21/a0.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/emb/umap/__schema/__1708453210605_1708453210605_86ab8b2c418e45378aa1845830dcea01 b/example-dataset/cellguide-cxgs/example.cxg/emb/umap/__schema/__1708453210605_1708453210605_86ab8b2c418e45378aa1845830dcea01 new file mode 100644 index 000000000..9eefafe4c Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/emb/umap/__schema/__1708453210605_1708453210605_86ab8b2c418e45378aa1845830dcea01 differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/obs/__commits/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21.wrt b/example-dataset/cellguide-cxgs/example.cxg/obs/__commits/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21.wrt new file mode 100644 index 000000000..e69de29bb diff --git a/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/__fragment_metadata.tdb b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/__fragment_metadata.tdb new file mode 100644 index 000000000..a33108bbf Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/__fragment_metadata.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a0.tdb b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a0.tdb new file mode 100644 index 000000000..e9571bde4 Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a0.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a0_var.tdb b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a0_var.tdb new file mode 100644 index 000000000..f46df0b05 Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a0_var.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a1.tdb b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a1.tdb new file mode 100644 index 000000000..f2927ffd6 Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a1.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a10.tdb b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a10.tdb new file mode 100644 index 000000000..03c9f044b Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a10.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a10_var.tdb b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a10_var.tdb new file mode 100644 index 000000000..33bf7920f Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a10_var.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a11.tdb b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a11.tdb new file mode 100644 index 000000000..9f4310dd5 Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a11.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a11_var.tdb b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a11_var.tdb new file mode 100644 index 000000000..62e96d023 Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a11_var.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a12.tdb b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a12.tdb new file mode 100644 index 000000000..41870ae50 Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a12.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a13.tdb b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a13.tdb new file mode 100644 index 000000000..305064d11 Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a13.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a14.tdb b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a14.tdb new file mode 100644 index 000000000..e042982f4 Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a14.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a15.tdb b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a15.tdb new file mode 100644 index 000000000..85d44f87f Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a15.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a16.tdb b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a16.tdb new file mode 100644 index 000000000..f664932fd Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a16.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a17.tdb b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a17.tdb new file mode 100644 index 000000000..41870ae50 Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a17.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a1_var.tdb b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a1_var.tdb new file mode 100644 index 000000000..d5a13d553 Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a1_var.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a2.tdb b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a2.tdb new file mode 100644 index 000000000..a0411b68e Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a2.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a2_var.tdb b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a2_var.tdb new file mode 100644 index 000000000..e6b8a9531 Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a2_var.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a3.tdb b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a3.tdb new file mode 100644 index 000000000..70d8ab127 Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a3.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a3_var.tdb b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a3_var.tdb new file mode 100644 index 000000000..c664923e3 Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a3_var.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a4.tdb b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a4.tdb new file mode 100644 index 000000000..cc13f14dd Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a4.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a4_var.tdb b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a4_var.tdb new file mode 100644 index 000000000..9c278053a Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a4_var.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a5.tdb b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a5.tdb new file mode 100644 index 000000000..a5b09e666 Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a5.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a5_var.tdb b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a5_var.tdb new file mode 100644 index 000000000..f33d36096 Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a5_var.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a6.tdb b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a6.tdb new file mode 100644 index 000000000..2dac023a8 Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a6.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a6_var.tdb b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a6_var.tdb new file mode 100644 index 000000000..f17d9b66f Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a6_var.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a7.tdb b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a7.tdb new file mode 100644 index 000000000..a163f4856 Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a7.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a7_var.tdb b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a7_var.tdb new file mode 100644 index 000000000..33fa893b7 Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a7_var.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a8.tdb b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a8.tdb new file mode 100644 index 000000000..fd17b1721 Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a8.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a8_var.tdb b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a8_var.tdb new file mode 100644 index 000000000..ffc13907d Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a8_var.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a9.tdb b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a9.tdb new file mode 100644 index 000000000..21b431540 Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a9.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a9_var.tdb b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a9_var.tdb new file mode 100644 index 000000000..11c07d340 Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/obs/__fragments/__1708453199767_1708453199767_97d9a8f157c84ce58b4d5aab9e45fcdc_21/a9_var.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/obs/__meta/__1708453199679_1708453199679_d60bb70ae7f84419aa8a80cc3bd1b2a8 b/example-dataset/cellguide-cxgs/example.cxg/obs/__meta/__1708453199679_1708453199679_d60bb70ae7f84419aa8a80cc3bd1b2a8 new file mode 100644 index 000000000..4f281c1c5 Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/obs/__meta/__1708453199679_1708453199679_d60bb70ae7f84419aa8a80cc3bd1b2a8 differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/obs/__meta/__1709407662319_1709407662319_29983a11acc04bf4aa7aa1c568d539ac b/example-dataset/cellguide-cxgs/example.cxg/obs/__meta/__1709407662319_1709407662319_29983a11acc04bf4aa7aa1c568d539ac new file mode 100644 index 000000000..105d7d958 Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/obs/__meta/__1709407662319_1709407662319_29983a11acc04bf4aa7aa1c568d539ac differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/obs/__schema/__1708453199473_1708453199473_4b015ed39ceb47fa8866b4d83becceaf b/example-dataset/cellguide-cxgs/example.cxg/obs/__schema/__1708453199473_1708453199473_4b015ed39ceb47fa8866b4d83becceaf new file mode 100644 index 000000000..112d7fc0e Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/obs/__schema/__1708453199473_1708453199473_4b015ed39ceb47fa8866b4d83becceaf differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/var/__commits/__1708453207860_1708453207860_f4541162e5534aa59d77ab1a482f3dda_21.wrt b/example-dataset/cellguide-cxgs/example.cxg/var/__commits/__1708453207860_1708453207860_f4541162e5534aa59d77ab1a482f3dda_21.wrt new file mode 100644 index 000000000..e69de29bb diff --git a/example-dataset/cellguide-cxgs/example.cxg/var/__fragments/__1708453207860_1708453207860_f4541162e5534aa59d77ab1a482f3dda_21/__fragment_metadata.tdb b/example-dataset/cellguide-cxgs/example.cxg/var/__fragments/__1708453207860_1708453207860_f4541162e5534aa59d77ab1a482f3dda_21/__fragment_metadata.tdb new file mode 100644 index 000000000..b7872611c Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/var/__fragments/__1708453207860_1708453207860_f4541162e5534aa59d77ab1a482f3dda_21/__fragment_metadata.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/var/__fragments/__1708453207860_1708453207860_f4541162e5534aa59d77ab1a482f3dda_21/a0.tdb b/example-dataset/cellguide-cxgs/example.cxg/var/__fragments/__1708453207860_1708453207860_f4541162e5534aa59d77ab1a482f3dda_21/a0.tdb new file mode 100644 index 000000000..9bbe20a75 Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/var/__fragments/__1708453207860_1708453207860_f4541162e5534aa59d77ab1a482f3dda_21/a0.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/var/__fragments/__1708453207860_1708453207860_f4541162e5534aa59d77ab1a482f3dda_21/a0_var.tdb b/example-dataset/cellguide-cxgs/example.cxg/var/__fragments/__1708453207860_1708453207860_f4541162e5534aa59d77ab1a482f3dda_21/a0_var.tdb new file mode 100644 index 000000000..b14dad490 Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/var/__fragments/__1708453207860_1708453207860_f4541162e5534aa59d77ab1a482f3dda_21/a0_var.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/var/__fragments/__1708453207860_1708453207860_f4541162e5534aa59d77ab1a482f3dda_21/a1.tdb b/example-dataset/cellguide-cxgs/example.cxg/var/__fragments/__1708453207860_1708453207860_f4541162e5534aa59d77ab1a482f3dda_21/a1.tdb new file mode 100644 index 000000000..8267d0286 Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/var/__fragments/__1708453207860_1708453207860_f4541162e5534aa59d77ab1a482f3dda_21/a1.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/var/__fragments/__1708453207860_1708453207860_f4541162e5534aa59d77ab1a482f3dda_21/a2.tdb b/example-dataset/cellguide-cxgs/example.cxg/var/__fragments/__1708453207860_1708453207860_f4541162e5534aa59d77ab1a482f3dda_21/a2.tdb new file mode 100644 index 000000000..7e7f36d44 Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/var/__fragments/__1708453207860_1708453207860_f4541162e5534aa59d77ab1a482f3dda_21/a2.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/var/__fragments/__1708453207860_1708453207860_f4541162e5534aa59d77ab1a482f3dda_21/a2_var.tdb b/example-dataset/cellguide-cxgs/example.cxg/var/__fragments/__1708453207860_1708453207860_f4541162e5534aa59d77ab1a482f3dda_21/a2_var.tdb new file mode 100644 index 000000000..8833f025d Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/var/__fragments/__1708453207860_1708453207860_f4541162e5534aa59d77ab1a482f3dda_21/a2_var.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/var/__fragments/__1708453207860_1708453207860_f4541162e5534aa59d77ab1a482f3dda_21/a3.tdb b/example-dataset/cellguide-cxgs/example.cxg/var/__fragments/__1708453207860_1708453207860_f4541162e5534aa59d77ab1a482f3dda_21/a3.tdb new file mode 100644 index 000000000..5daee1361 Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/var/__fragments/__1708453207860_1708453207860_f4541162e5534aa59d77ab1a482f3dda_21/a3.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/var/__fragments/__1708453207860_1708453207860_f4541162e5534aa59d77ab1a482f3dda_21/a4.tdb b/example-dataset/cellguide-cxgs/example.cxg/var/__fragments/__1708453207860_1708453207860_f4541162e5534aa59d77ab1a482f3dda_21/a4.tdb new file mode 100644 index 000000000..6570b5a01 Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/var/__fragments/__1708453207860_1708453207860_f4541162e5534aa59d77ab1a482f3dda_21/a4.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/var/__fragments/__1708453207860_1708453207860_f4541162e5534aa59d77ab1a482f3dda_21/a5.tdb b/example-dataset/cellguide-cxgs/example.cxg/var/__fragments/__1708453207860_1708453207860_f4541162e5534aa59d77ab1a482f3dda_21/a5.tdb new file mode 100644 index 000000000..2d4e231ab Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/var/__fragments/__1708453207860_1708453207860_f4541162e5534aa59d77ab1a482f3dda_21/a5.tdb differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/var/__meta/__1708453207809_1708453207809_b1affd96a555468484707b907d879f5b b/example-dataset/cellguide-cxgs/example.cxg/var/__meta/__1708453207809_1708453207809_b1affd96a555468484707b907d879f5b new file mode 100644 index 000000000..2984697e0 Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/var/__meta/__1708453207809_1708453207809_b1affd96a555468484707b907d879f5b differ diff --git a/example-dataset/cellguide-cxgs/example.cxg/var/__schema/__1708453207544_1708453207544_dcfccbcd56164df08cef84572c845305 b/example-dataset/cellguide-cxgs/example.cxg/var/__schema/__1708453207544_1708453207544_dcfccbcd56164df08cef84572c845305 new file mode 100644 index 000000000..042993ea8 Binary files /dev/null and b/example-dataset/cellguide-cxgs/example.cxg/var/__schema/__1708453207544_1708453207544_dcfccbcd56164df08cef84572c845305 differ