UNPKG

vitessce

Version:

Vitessce app and React component library

994 lines (993 loc) 33.3 kB
{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://github.com/vitessce/vitessce/#dataset", "title": "Vitessce data set", "type": "object", "definitions": { "components": { "description": "The layout array defines the views, or components, rendered in the grid.", "type": "array", "items": { "type": "object", "additionalProperties": false, "required": ["component", "x", "y"], "properties": { "component": { "type": "string", "description": "Specify a component using a name defined in the component registry." }, "props": { "type": "object", "description": "Extra prop values for the component." }, "x": { "type": "integer" }, "y": { "type": "integer" }, "w": { "type": "integer" }, "h": { "type": "integer" }, "coordinationScopes": { "type": "object", "description": "Component-level coordination scope mappings define which coordination object values a particular component can read and write, for each coordination type.", "additionalProperties": false, "required": [], "properties": { "dataset": { "type": "string" }, "embeddingType": { "type": "string" }, "embeddingZoom": { "type": "string" }, "embeddingRotation": { "type": "string" }, "embeddingTargetX": { "type": "string" }, "embeddingTargetY": { "type": "string" }, "embeddingTargetZ": { "type": "string" }, "embeddingCellSetPolygonsVisible": { "type": "string" }, "embeddingCellSetLabelsVisible": { "type": "string" }, "embeddingCellSetLabelSize": { "type": "string" }, "embeddingCellRadius": { "type": "string" }, "spatialZoom": { "type": "string" }, "spatialRotation": { "type": "string" }, "spatialTargetX": { "type": "string" }, "spatialTargetY": { "type": "string" }, "spatialTargetZ": { "type": "string" }, "spatialRotationX": { "type": "string" }, "spatialRotationY": { "type": "string" }, "spatialRotationZ": { "type": "string" }, "spatialRotationOrbit": { "type": "string" }, "spatialOrbitAxis": { "type": "string" }, "spatialAxisFixed": { "type": "string" }, "heatmapZoomX": { "type": "string" }, "heatmapZoomY": { "type": "string" }, "heatmapTargetX": { "type": "string" }, "heatmapTargetY": { "type": "string" }, "cellFilter": { "type": "string" }, "cellHighlight": { "type": "string" }, "cellSetSelection": { "type": "string" }, "cellSetHighlight": { "type": "string" }, "cellSetColor": { "type": "string" }, "geneFilter": { "type": "string" }, "geneHighlight": { "type": "string" }, "geneSelection": { "type": "string" }, "geneExpressionTransform": { "type": "string" }, "geneExpressionColormap": { "type": "string" }, "geneExpressionColormapRange": { "type": "string" }, "cellColorEncoding": { "type": "string" }, "spatialRasterLayers": { "type": "string" }, "spatialCellsLayer": { "type": "string" }, "spatialMoleculesLayer": { "type": "string" }, "spatialNeighborhoodsLayer": { "type": "string" }, "genomicZoomX": { "type": "string" }, "genomicZoomY": { "type": "string" }, "genomicTargetX": { "type": "string" }, "genomicTargetY": { "type": "string" }, "additionalCellSets": { "type": "string" }, "moleculeHighlight": { "type": "string" } } } } } }, "annDataCellSets": { "type": "array", "description": "Array of cell set configuration, following closely the conventions of the tabular schema", "items": { "type": "object", "additionalProperties": false, "required": ["groupName", "setName"], "properties": { "groupName": { "type": "string", "description": "The display name for the set, like 'Cell Type' or 'Louvain.'" }, "setName": { "type": "string", "description": "The location in the AnnData store for the set, like 'obs/louvain' or 'obs/celltype.'" } } } }, "annDataCells": { "type": "object", "description": "The properties of this object are the configuration for how to layout scatterplots and spatial information", "minProperties": 1, "additionalProperties": false, "required": [], "properties": { "xy": { "type": "string", "description": "The location in the AnnData store of cell centroids, like 'obsm/X_centroids.'" }, "poly": { "type": "string", "description": "The location in the AnnData store of cell polygon outlines, like 'obsm/X_polygons.'" }, "factors": { "type": "array", "description": "List of locations in the AnnData store of cell sets, like 'obs/louvain'", "items": { "type": "string" } }, "mappings": { "patternProperties": { ".": { "type": "object", "description": "An object containing key-values for mappings like { UMAP: { key: 'obsm/X_umap', dims: [0, 1] } }.", "additionalProperties": false, "required": ["key"], "properties": { "key": { "type": "string", "description": "Where to look in the AnnData store for this mapping, like 'obsm/X_umap.'" }, "dims": { "type": "array", "description": "Which indices of the obsm object to take for a scatterplot, allowing for, for example, different PCs from obsm/X_pca", "minItems": 2, "maxItems": 2, "items": { "type": "number" } } } } } } } }, "annDataExpressionMatrix": { "type": "object", "description": "The properties of this object are the configuration for how to fetch the cell x genes matrix", "additionalProperties": false, "required": ["matrix"], "properties": { "matrix": { "type": "string", "description": "The location in the AnnData store of the cell x gene matrix, like 'obsm/hvg_subset.' or 'X'" }, "geneFilter": { "type": "string", "description": "The location in the AnnData store of a filter for the genes if using a subset of the data, like 'var.highly_variable.' if the matrix comes from 'obsm/hvg_subset.'" }, "matrixGeneFilter": { "type": "string", "description": "The location in the AnnData store of a filter for the matrix data (used in heatmap and histogram), like 'var.highly_variable.''" } } }, "requestInit": { "type": "object", "description": "The properties of this object correspond to the parameters of the JavaScript fetch() function.", "additionalProperties": false, "required": [], "properties": { "method": { "type": "string" }, "headers": { "type": "object" }, "body": { "type": "string" }, "mode": { "type": "string" }, "credentials": { "type": "string" }, "cache": { "type": "string" }, "redirect": { "type": "string" }, "referrer": { "type": "string" }, "integrity": { "type": "string" } } }, "rasterLayer": { "description": "The properties of this object are the rendering settings for the raster layer.", "additionalProperties": false, "required": ["channels", "colormap", "index", "opacity"], "properties": { "channels": { "type": "array", "items": { "type": "object", "additionalProperties": false, "required": ["selection"], "properties": { "color": { "type": "array", "items": { "type": "number" }, "description": "The color to use when rendering this channel under the null colormap." }, "selection": { "type": "object", "description": "Determines the channel selection, e.g. some Z and time slice." }, "slider": { "type": "array", "items": { "type": "number" }, "description": "Determines the range for color mapping." }, "visible": { "type": "boolean", "description": "Determines whether this channel of the layer will be rendered in the spatial component." } } } }, "colormap": { "oneOf": [ { "type": "string", "description": "The name of the colormap to use for this layer." }, { "type": "null", "description": "Use the solid color definitions." } ] }, "transparentColor": { "oneOf": [ { "type": "array", "minItems": 3, "maxItems": 3, "items": { "type": "number", "description": "One of R G or B (0 - 255)." }, "description": "Determines the color to be set to opacity 0" }, { "type": "null", "description": "No selection." } ] }, "index": { "type": "number", "description": "The index of the layer among the array of layers available in the image file." }, "opacity": { "type": "number" }, "modelMatrix": { "oneOf": [ { "type": "array", "minItems": 16, "maxItems": 16, "description": "transformation matrix for this layer" }, { "type": "null", "description": "Use no transformation." } ] }, "domainType": { "type": "string", "enum": ["Full", "Min/Max"], "description": "Determines the extent of the channel slider input element in the layer controller." }, "resolution": { "type": "number", "description": "Resolution of 3D volumetric rendering" }, "xSlice": { "oneOf": [ { "type": "array", "minItems": 2, "maxItems": 2, "description": "Slice bounds" }, { "type": "null", "description": "No slicing" } ] }, "renderingMode": { "type": "string", "description": "Rendering mode of 3D volumetric rendering" }, "ySlice": { "oneOf": [ { "type": "array", "minItems": 2, "maxItems": 2, "description": "Slice bounds" }, { "type": "null", "description": "No slicing" } ] }, "zSlice": { "oneOf": [ { "type": "array", "minItems": 2, "maxItems": 2, "description": "Slice bounds" }, { "type": "null", "description": "No slicing" } ] }, "type": { "type": "string", "enum": ["raster", "bitmask"] }, "use3d": { "type": "boolean" }, "visible": { "type": "boolean", "description": "Determines whether this entire layer will be rendered in the spatial component." } } }, "moleculesLayer": { "type": "object", "description": "The properties of this object are the rendering settings for the molecules layer.", "additionalProperties": false, "required": ["visible", "radius", "opacity"], "properties": { "visible": { "type": "boolean" }, "radius": { "type": "number" }, "opacity": { "type": "number" } } }, "cellsLayer": { "type": "object", "description": "The properties of this object are the rendering settings for the cells layer.", "additionalProperties": false, "required": ["visible", "stroked", "radius", "opacity"], "properties": { "visible": { "type": "boolean" }, "stroked": { "type": "boolean" }, "radius": { "type": "number" }, "opacity": { "type": "number" } } }, "neighborhoodsLayer": { "type": "object", "description": "The properties of this object are the rendering settings for the neighborhoods layer.", "additionalProperties": false, "required": ["visible"], "properties": { "visible": { "type": "boolean" } } }, "spatialRasterLayers": { "type": "array", "description": "Array of Spatial Layers", "items": { "$ref": "#/definitions/rasterLayer" } } }, "additionalProperties": false, "required": ["version", "name", "datasets", "layout", "initStrategy"], "properties": { "name": { "type": "string" }, "public": { "type": "boolean" }, "description": { "type": "string" }, "datasets": { "type": "array", "description": "The datasets array defines groups of files, where the files within each dataset reference the same entities (cells, genes, cell sets, etc).", "items": { "type": "object", "additionalProperties": false, "required": ["uid", "files"], "properties": { "uid": { "type": "string" }, "name": { "type": "string" }, "description": { "type": "string" }, "files": { "type": "array", "items": { "type": "object", "additionalProperties": false, "required": ["type", "fileType"], "properties": { "name": { "type": "string" }, "type": { "type": "string" }, "fileType": { "type": "string" }, "url": { "type": "string" }, "options": { "oneOf": [{ "$ref": "#/definitions/annDataCellSets" }, { "$ref": "https://github.com/vitessce/vitessce/#raster" }, { "$ref": "#/definitions/annDataCells" }, { "$ref": "#/definitions/annDataExpressionMatrix" }] }, "requestInit": { "$ref": "#/definitions/requestInit" } } } } } } }, "coordinationSpace": { "type": "object", "description": "The coordination space stores the values for each scope of each coordination object.", "additionalProperties": false, "required": [], "properties": { "dataset": { "type": "object", "patternProperties": { ".": { "type": "string" } } }, "embeddingZoom": { "type": "object", "patternProperties": { ".": { "oneOf": [ { "type": "null", "description": "If null is provided, value will be automatically set." }, { "type": "number" } ] } } }, "embeddingRotation": { "type": "object", "patternProperties": { ".": { "type": "number" } } }, "embeddingTargetX": { "type": "object", "patternProperties": { ".": { "oneOf": [ { "type": "null", "description": "If null is provided, value will be automatically set." }, { "type": "number" } ] } } }, "embeddingTargetY": { "type": "object", "patternProperties": { ".": { "oneOf": [ { "type": "null", "description": "If null is provided, value will be automatically set." }, { "type": "number" } ] } } }, "embeddingTargetZ": { "type": "object", "patternProperties": { ".": { "type": "number" } } }, "embeddingType": { "type": "object", "patternProperties": { ".": { "type": "string" } } }, "embeddingCellSetPolygonsVisible": { "type": "object", "patternProperties": { ".": { "type": "boolean" } } }, "embeddingCellSetLabelsVisible": { "type": "object", "patternProperties": { ".": { "type": "boolean" } } }, "embeddingCellSetLabelSize": { "type": "object", "patternProperties": { ".": { "type": "number" } } }, "embeddingCellRadius": { "type": "object", "patternProperties": { ".": { "type": "number" } } }, "spatialZoom": { "type": "object", "patternProperties": { ".": { "oneOf": [ { "type": "null", "description": "If null is provided, value will be automatically set." }, { "type": "number" } ] } } }, "spatialRotation": { "type": "object", "patternProperties": { ".": { "type": "number" } } }, "spatialTargetX": { "type": "object", "patternProperties": { ".": { "oneOf": [ { "type": "null", "description": "If null is provided, value will be automatically set." }, { "type": "number" } ] } } }, "spatialTargetY": { "type": "object", "patternProperties": { ".": { "oneOf": [ { "type": "null", "description": "If null is provided, value will be automatically set." }, { "type": "number" } ] } } }, "spatialTargetZ": { "type": "object", "patternProperties": { ".": { "oneOf": [ { "type": "null", "description": "If null is provided, value will be automatically set." }, { "type": "number" } ] } } }, "spatialRotationX": { "type": "object", "patternProperties": { ".": { "oneOf": [ { "type": "null", "description": "If null is provided, value will be automatically set. Only useful for 3D viewing." }, { "type": "number" } ] } } }, "spatialRotationY": { "type": "object", "patternProperties": { ".": { "oneOf": [ { "type": "null", "description": "If null is provided, value will be automatically set. Only useful for 3D viewing." }, { "type": "number" } ] } } }, "spatialRotationZ": { "type": "object", "patternProperties": { ".": { "oneOf": [ { "type": "null", "description": "If null is provided, value will be automatically set. Only useful for 3D viewing." }, { "type": "number" } ] } } }, "spatialRotationOrbit": { "type": "object", "patternProperties": { ".": { "oneOf": [ { "type": "null", "description": "If null is provided, value will be automatically set. Only useful for 3D viewing." }, { "type": "number" } ] } } }, "spatialOrbitAxis": { "type": "object", "patternProperties": { ".": { "oneOf": [ { "type": "null", "description": "If null is provided, value will be automatically set. Only useful for 3D viewing." }, { "type": "string" } ] } } }, "spatialAxisFixed": { "type": "object", "patternProperties": { ".": { "oneOf": [ { "type": "null", "description": "Whether or not to have a fixed axis for the camera. Only useful for 3D viewing." }, { "type": "boolean" } ] } } }, "spatialRasterLayers": { "type": "object", "patternProperties": { ".": { "oneOf": [ { "type": "null", "description": "If null is provided and auto layer initialization is enabled, layers will be automatically initialized." }, { "$ref": "#/definitions/spatialRasterLayers" } ] } } }, "spatialCellsLayer": { "type": "object", "patternProperties": { ".": { "oneOf": [ { "type": "null", "description": "If null is provided and auto layer initialization is enabled, layers will be automatically initialized." }, { "$ref": "#/definitions/cellsLayer" } ] } } }, "spatialNeighborhoodsLayer": { "type": "object", "patternProperties": { ".": { "oneOf": [ { "type": "null", "description": "If null is provided and auto layer initialization is enabled, layers will be automatically initialized." }, { "$ref": "#/definitions/neighborhoodsLayer" } ] } } }, "spatialMoleculesLayer": { "type": "object", "patternProperties": { ".": { "oneOf": [ { "type": "null", "description": "If null is provided and auto layer initialization is enabled, layers will be automatically initialized." }, { "$ref": "#/definitions/moleculesLayer" } ] } } }, "heatmapZoomX": { "type": "object", "patternProperties": { ".": { "type": "number" } } }, "heatmapZoomY": { "type": "object", "patternProperties": { ".": { "type": "number" } } }, "heatmapTargetX": { "type": "object", "patternProperties": { ".": { "type": "number" } } }, "heatmapTargetY": { "type": "object", "patternProperties": { ".": { "type": "number" } } }, "cellFilter": { "type": "object", "patternProperties": { ".": { "oneOf": [ { "type": "null", "description": "If null is provided, no cells will be filtered out initially." }, { "type": "array", "items": { "type": "string" } } ] } } }, "cellHighlight": { "type": "object", "patternProperties": { ".": { "oneOf": [ { "type": "null", "description": "If null is provided, no cell will be highlighted initially." }, { "type": "string" } ] } } }, "cellSetSelection": { "type": "object", "patternProperties": { ".": { "oneOf": [ { "type": "null", "description": "If null is provided and auto cell set initialization is enabled, cell set selections will be automatically initialized." }, { "type": "array" } ] } } }, "cellSetHighlight": { "type": "object", "patternProperties": { ".": { "oneOf": [ { "type": "null", "description": "If null is provided, no cell sets will be highlighted initially." }, { "type": "string" } ] } } }, "cellSetColor": { "type": "object", "patternProperties": { ".": { "oneOf": [ { "type": "null", "description": "If null is provided, cell set colors will be automatically initialized." }, { "type": "array", "items": { "type": "object", "additionalProperties": false, "required": ["path", "color"], "properties": { "path": { "type": "array", "items": { "type": "string" } }, "color": { "type": "array", "items": { "type": "number" } } } } } ] } } }, "cellColorEncoding": { "type": "object", "patternProperties": { ".": { "type": "string" } } }, "geneFilter": { "type": "object", "patternProperties": { ".": { "oneOf": [ { "type": "null", "description": "If null is provided, no genes will be filtered out initially." }, { "type": "array", "items": { "type": "string" } } ] } } }, "geneHighlight": { "type": "object", "patternProperties": { ".": { "oneOf": [ { "type": "null", "description": "If null is provided, no genes will be highlighted initially." }, { "type": "string" } ] } } }, "geneSelection": { "type": "object", "patternProperties": { ".": { "oneOf": [ { "type": "null" }, { "type": "array", "items": { "type": "string" } } ] } } }, "geneExpressionTransform": { "type": "object", "patternProperties": { ".": { "oneOf": [ { "type": "null" }, { "type": "string", "pattern": "log1p" } ] } } }, "geneExpressionColormap": { "type": "object", "patternProperties": { ".": { "type": "string" } } }, "geneExpressionColormapRange": { "type": "object", "patternProperties": { ".": { "type": "array", "items": { "type": "number" } } } }, "genomicZoomX": { "type": "object", "patternProperties": { ".": { "type": "number" } } }, "genomicZoomY": { "type": "object", "patternProperties": { ".": { "type": "number" } } }, "genomicTargetX": { "type": "object", "patternProperties": { ".": { "type": "number" } } }, "genomicTargetY": { "type": "object", "patternProperties": { ".": { "type": "number" } } }, "additionalCellSets": { "type": "object", "patternProperties": { ".": { "oneOf": [ { "type": "null", "description": "If null is provided, no cell will be highlighted initially." }, { "$ref": "https://github.com/vitessce/vitessce/#cell-sets" } ] } } }, "moleculeHighlight": { "type": "object", "patternProperties": { ".": { "oneOf": [ { "type": "null", "description": "If null is provided, no molecule will be highlighted initially." }, { "type": "string" } ] } } } } }, "layout": { "$ref": "#/definitions/components" }, "initStrategy": { "type": "string", "enum": ["none", "auto"], "description": "The initialization strategy determines how missing coordination objects and coordination scope mappings are initially filled in." }, "version": { "type": "string", "enum": ["1.0.2"], "description": "The schema version for the view config." } } }