From 23b739378605cee33edd57ec6d4f65a4fd5d01a4 Mon Sep 17 00:00:00 2001 From: Sehi L'Yi Date: Thu, 25 Nov 2021 16:20:11 -0500 Subject: [PATCH] feat: update higlass.schema.json upon changes on its TS file (#594) --- package.json | 3 +- schema/higlass.schema.json | 768 +++++++++++++++++++++++++++++++++++ src/core/higlass-model.ts | 2 +- src/core/higlass.schema.json | 638 ----------------------------- 4 files changed, 771 insertions(+), 640 deletions(-) create mode 100644 schema/higlass.schema.json delete mode 100644 src/core/higlass.schema.json diff --git a/package.json b/package.json index 743b2a197..d33ec445c 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,7 @@ "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0", "format": "eslint src/ editor/ --fix && prettier 'editor/**/*.css' --write", "schema": "ts-json-schema-generator -p src/index.ts -f tsconfig.json -t GoslingSpec --no-type-check --no-ref-encode > schema/gosling.schema.json", + "schema-higlass": "ts-json-schema-generator -p src/index.ts -f tsconfig.json -t HiGlassSpec --no-type-check --no-ref-encode > schema/higlass.schema.json", "schema-theme": "ts-json-schema-generator -p src/index.ts -f tsconfig.json -t Theme --no-type-check --no-ref-encode > schema/theme.schema.json", "schema-template": "ts-json-schema-generator -p src/index.ts -f tsconfig.json -t TemplateTrackDef --no-type-check --no-ref-encode > schema/template.schema.json", "schema-versioning": "mkdir -p schema/history/$npm_package_version && cp schema/gosling.schema.json schema/history/$npm_package_version/gosling$npm_package_version.schema.json && cp src/core/gosling.schema.ts schema/history/$npm_package_version/gosling$npm_package_version.schema.ts", @@ -182,7 +183,7 @@ }, "husky": { "hooks": { - "pre-commit": "yarn changelog && yarn schema && yarn schema-theme && yarn schema-template && yarn format && git add .", + "pre-commit": "yarn changelog && yarn schema && yarn schema-higlass && yarn schema-theme && yarn schema-template && yarn format && git add .", "commit-msg": "commitlint -E HUSKY_GIT_PARAMS" } } diff --git a/schema/higlass.schema.json b/schema/higlass.schema.json new file mode 100644 index 000000000..1cb86559d --- /dev/null +++ b/schema/higlass.schema.json @@ -0,0 +1,768 @@ +{ + "$ref": "#/definitions/HiGlassSpec", + "$schema": "http://json-schema.org/draft-07/schema#", + "definitions": { + "Assembly": { + "enum": [ + "hg38", + "hg19", + "hg18", + "hg17", + "hg16", + "mm10", + "mm9", + "unknown" + ], + "type": "string" + }, + "CombinedTrack": { + "additionalProperties": false, + "properties": { + "contents": { + "items": { + "$ref": "#/definitions/Track" + }, + "type": "array" + }, + "height": { + "type": "number" + }, + "options": { + }, + "position": { + "type": "string" + }, + "type": { + "const": "combined", + "type": "string" + }, + "uid": { + "type": "string" + }, + "width": { + "type": "number" + } + }, + "required": [ + "type", + "contents" + ], + "type": "object" + }, + "Data": { + "additionalProperties": false, + "properties": { + "assembly": { + "$ref": "#/definitions/Assembly" + }, + "children": { + "items": { + }, + "type": "array" + }, + "filter": { + "items": { + "$ref": "#/definitions/FilterTransform" + }, + "type": "array" + }, + "quantitativeFields": { + "items": { + "type": "string" + }, + "type": "array" + }, + "tiles": { + }, + "tilesetInfo": { + }, + "type": { + "type": "string" + }, + "url": { + "type": "string" + } + }, + "type": "object" + }, + "EnumTrack": { + "additionalProperties": false, + "properties": { + "chromInfoPath": { + "type": "string" + }, + "data": { + "$ref": "#/definitions/Data" + }, + "fromViewUid": { + "type": [ + "null", + "string" + ] + }, + "height": { + "type": "number" + }, + "options": { + }, + "server": { + "type": "string" + }, + "tilesetUid": { + "type": "string" + }, + "type": { + "$ref": "#/definitions/EnumTrackType" + }, + "uid": { + "type": "string" + }, + "width": { + "type": "number" + }, + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + "EnumTrackType": { + "enum": [ + "heatmap", + "2d-annotations", + "2d-chromosome-annotations", + "2d-chromosome-grid", + "2d-chromosome-labels", + "2d-rectangle-domains", + "2d-tiles", + "arrowhead-domains", + "bedlike", + "cross-rule", + "dummy", + "horizontal-1d-annotations", + "horizontal-1d-heatmap", + "horizontal-1d-tiles", + "horizontal-1d-value-interval", + "horizontal-2d-rectangle-domains", + "horizontal-bar", + "horizontal-chromosome-grid", + "horizontal-chromosome-labels", + "horizontal-divergent-bar", + "horizontal-gene-annotations", + "horizontal-heatmap", + "horizontal-line", + "horizontal-multivec", + "horizontal-point", + "horizontal-rule", + "horizontal-vector-heatmap", + "image-tiles", + "left-axis", + "left-stacked-interval", + "mapbox-tiles", + "osm-2d-tile-ids", + "osm-tiles", + "raster-tiles", + "simple-svg", + "square-markers", + "top-axis", + "top-stacked-interval", + "vertical-1d-annotations", + "vertical-1d-heatmap", + "vertical-1d-tiles", + "vertical-1d-value-interval", + "vertical-2d-rectangle-domains", + "vertical-bar", + "vertical-bedlike", + "vertical-chromosome-grid", + "vertical-chromosome-labels", + "vertical-gene-annotations", + "vertical-heatmap", + "vertical-line", + "vertical-multivec", + "vertical-point", + "vertical-rule", + "vertical-vector-heatmap", + "viewport-projection-center", + "viewport-projection-horizontal", + "viewport-projection-vertical", + "gosling-track", + "gosling-2d-track", + "axis-track", + "text" + ], + "type": "string" + }, + "FilterTransform": { + "anyOf": [ + { + "$ref": "#/definitions/OneOfFilter" + }, + { + "$ref": "#/definitions/RangeFilter" + }, + { + "$ref": "#/definitions/IncludeFilter" + } + ] + }, + "GenericLocks": { + "additionalProperties": false, + "properties": { + "locksByViewUid": { + "$ref": "#/definitions/LocksByViewUid" + }, + "locksDict": { + } + }, + "required": [ + "locksByViewUid", + "locksDict" + ], + "type": "object" + }, + "GenomePositionSearchBox": { + "additionalProperties": false, + "properties": { + "autocompleteId": { + "type": "string" + }, + "autocompleteServer": { + "type": "string" + }, + "chromInfoId": { + "type": "string" + }, + "chromInfoServer": { + "type": "string" + }, + "visible": { + "type": "boolean" + } + }, + "required": [ + "chromInfoId", + "chromInfoServer" + ], + "type": "object" + }, + "HeatmapTrack": { + "additionalProperties": false, + "properties": { + "data": { + "$ref": "#/definitions/Data" + }, + "height": { + "type": "number" + }, + "options": { + }, + "position": { + "type": "string" + }, + "server": { + "type": "string" + }, + "tilesetUid": { + "type": "string" + }, + "type": { + "const": "heatmap", + "type": "string" + }, + "uid": { + "type": "string" + }, + "width": { + "type": "number" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + "HiGlassSpec": { + "additionalProperties": false, + "properties": { + "chromInfoPath": { + "type": "string" + }, + "compactLayout": { + "type": "boolean" + }, + "editable": { + "type": "boolean" + }, + "exportViewUrl": { + "type": "string" + }, + "locationLocks": { + "$ref": "#/definitions/GenericLocks" + }, + "trackSourceServers": { + "items": { + "type": "string" + }, + "type": "array" + }, + "tracksEditable": { + "type": "boolean" + }, + "valueScaleLocks": { + "$ref": "#/definitions/ValueScaleLocks" + }, + "viewEditable": { + "type": "boolean" + }, + "views": { + "items": { + "$ref": "#/definitions/View" + }, + "type": "array" + }, + "zoomFixed": { + "type": "boolean" + }, + "zoomLocks": { + "$ref": "#/definitions/GenericLocks" + } + }, + "required": [ + "views", + "zoomLocks", + "locationLocks" + ], + "type": "object" + }, + "IncludeFilter": { + "additionalProperties": false, + "properties": { + "field": { + "description": "A filter is applied based on the values of the specified data field", + "type": "string" + }, + "include": { + "description": "Check whether the value includes a substring.", + "type": "string" + }, + "not": { + "description": "when `{\"not\": true}`, apply a NOT logical operation to the filter.\n\n__Default:__ `false`", + "type": "boolean" + }, + "type": { + "const": "filter", + "type": "string" + } + }, + "required": [ + "field", + "include", + "type" + ], + "type": "object" + }, + "IndependentViewportProjectionTrack": { + "additionalProperties": false, + "properties": { + "fromViewUid": { + "type": "null" + }, + "options": { + }, + "projectionXDomain": { + "items": { + "type": "number" + }, + "type": "array" + }, + "projectionYDomain": { + "items": { + "type": "number" + }, + "type": "array" + }, + "transforms": { + "items": { + }, + "type": "array" + }, + "type": { + "enum": [ + "viewport-projection-horizontal", + "viewport-projection-vertical", + "viewport-projection-center" + ], + "type": "string" + }, + "uid": { + "type": "string" + }, + "width": { + "type": "number" + }, + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + "Layout": { + "additionalProperties": false, + "properties": { + "h": { + "type": "number" + }, + "w": { + "type": "number" + }, + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "h", + "w", + "x", + "y" + ], + "type": "object" + }, + "LocksByViewUid": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "OneOfFilter": { + "additionalProperties": false, + "properties": { + "field": { + "description": "A filter is applied based on the values of the specified data field", + "type": "string" + }, + "not": { + "description": "when `{\"not\": true}`, apply a NOT logical operation to the filter.\n\n__Default:__ `false`", + "type": "boolean" + }, + "oneOf": { + "anyOf": [ + { + "items": { + "type": "string" + }, + "type": "array" + }, + { + "items": { + "type": "number" + }, + "type": "array" + } + ], + "description": "Check whether the value is an element in the provided list." + }, + "type": { + "const": "filter", + "type": "string" + } + }, + "required": [ + "field", + "oneOf", + "type" + ], + "type": "object" + }, + "Overlay": { + "additionalProperties": false, + "properties": { + "chromInfoPath": { + "type": "string" + }, + "includes": { + "items": { + }, + "type": "array" + }, + "options": { + "$ref": "#/definitions/OverlayOptions" + }, + "type": { + "type": "string" + }, + "uid": { + "type": "string" + } + }, + "type": "object" + }, + "OverlayOptions": { + "additionalProperties": false, + "properties": { + "extent": { + "items": { + }, + "type": "array" + }, + "fill": { + "type": "string" + }, + "fillOpacity": { + "type": "number" + }, + "minWidth": { + "type": "number" + }, + "outline": { + "type": "string" + }, + "outlineOpacity": { + "type": "number" + }, + "outlinePos": { + "anyOf": [ + { + "items": { + }, + "type": "array" + }, + { + "type": "string" + } + ] + }, + "outlineWidth": { + "type": "number" + }, + "stroke": { + "type": "string" + }, + "strokeOpacity": { + "type": "number" + }, + "strokePos": { + "anyOf": [ + { + "items": { + }, + "type": "array" + }, + { + "type": "string" + } + ] + }, + "strokeWidth": { + "type": "number" + } + }, + "type": "object" + }, + "RangeFilter": { + "additionalProperties": false, + "properties": { + "field": { + "description": "A filter is applied based on the values of the specified data field", + "type": "string" + }, + "inRange": { + "description": "Check whether the value is in a number range.", + "items": { + "type": "number" + }, + "type": "array" + }, + "not": { + "description": "when `{\"not\": true}`, apply a NOT logical operation to the filter.\n\n__Default:__ `false`", + "type": "boolean" + }, + "type": { + "const": "filter", + "type": "string" + } + }, + "required": [ + "field", + "inRange", + "type" + ], + "type": "object" + }, + "Track": { + "anyOf": [ + { + "$ref": "#/definitions/HeatmapTrack" + }, + { + "$ref": "#/definitions/CombinedTrack" + }, + { + "$ref": "#/definitions/IndependentViewportProjectionTrack" + }, + { + "$ref": "#/definitions/EnumTrack" + } + ] + }, + "Tracks": { + "additionalProperties": false, + "properties": { + "bottom": { + "items": { + "$ref": "#/definitions/Track" + }, + "type": "array" + }, + "center": { + "items": { + "$ref": "#/definitions/Track" + }, + "type": "array" + }, + "gallery": { + "items": { + "$ref": "#/definitions/Track" + }, + "type": "array" + }, + "left": { + "items": { + "$ref": "#/definitions/Track" + }, + "type": "array" + }, + "right": { + "items": { + "$ref": "#/definitions/Track" + }, + "type": "array" + }, + "top": { + "items": { + "$ref": "#/definitions/Track" + }, + "type": "array" + }, + "whole": { + "items": { + "$ref": "#/definitions/Track" + }, + "type": "array" + } + }, + "required": [ + "top", + "left", + "center", + "right", + "bottom", + "gallery", + "whole" + ], + "type": "object" + }, + "ValueScaleLocks": { + "additionalProperties": false, + "properties": { + "locksByViewUid": { + "$ref": "#/definitions/LocksByViewUid" + }, + "locksDict": { + } + }, + "required": [ + "locksByViewUid" + ], + "type": "object" + }, + "View": { + "additionalProperties": false, + "properties": { + "autocompleteSource": { + "type": "string" + }, + "chromInfoPath": { + "type": "string" + }, + "genomePositionSearchBox": { + "$ref": "#/definitions/GenomePositionSearchBox" + }, + "genomePositionSearchBoxVisible": { + "type": "boolean" + }, + "initialXDomain": { + "items": { + "type": "number" + }, + "type": "array" + }, + "initialYDomain": { + "items": { + "type": "number" + }, + "type": "array" + }, + "layout": { + "$ref": "#/definitions/Layout" + }, + "overlays": { + "items": { + "$ref": "#/definitions/Overlay" + }, + "type": "array" + }, + "selectionView": { + "type": "boolean" + }, + "tracks": { + "$ref": "#/definitions/Tracks" + }, + "uid": { + "type": "string" + }, + "zoomFixed": { + "type": "boolean" + }, + "zoomLimits": { + "items": [ + { + "type": [ + "number", + "null" + ] + }, + { + "type": [ + "number", + "null" + ] + } + ], + "maxItems": 2, + "minItems": 2, + "type": "array" + } + }, + "required": [ + "tracks", + "layout" + ], + "type": "object" + } + } +} \ No newline at end of file diff --git a/src/core/higlass-model.ts b/src/core/higlass-model.ts index ff18833a7..21d24dd6c 100644 --- a/src/core/higlass-model.ts +++ b/src/core/higlass-model.ts @@ -1,6 +1,6 @@ import * as uuid from 'uuid'; import { HiGlassSpec, Track } from './higlass.schema'; -import HiGlassSchema from './higlass.schema.json'; +import HiGlassSchema from '../../schema/higlass.schema.json'; import { Assembly, AxisPosition, Domain, Orientation, ZoomLimits } from './gosling.schema'; import { getNumericDomain } from './utils/scales'; import { RelativePosition } from './utils/bounding-box'; diff --git a/src/core/higlass.schema.json b/src/core/higlass.schema.json deleted file mode 100644 index 003a8fa30..000000000 --- a/src/core/higlass.schema.json +++ /dev/null @@ -1,638 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "$id": "https://higlass.io/#viewconf", - "title": "HiGlass viewconf", - "type": "object", - "additionalProperties": false, - "required": [], - "properties": { - "editable": { - "type": "boolean", - "default": true - }, - "viewEditable": { - "type": "boolean", - "default": true - }, - "tracksEditable": { - "type": "boolean", - "default": true - }, - "zoomFixed": { - "type": "boolean" - }, - "compactLayout": { - "type": "boolean" - }, - "exportViewUrl": { - "type": "string" - }, - "trackSourceServers": { - "type": "array", - "items": { - "type": "string" - }, - "minLength": 1 - }, - "zoomLocks": { - "$ref": "#/definitions/locks/genericLocks" - }, - "locationLocks": { - "$ref": "#/definitions/locks/genericLocks" - }, - "valueScaleLocks": { - "$ref": "#/definitions/locks/valueScaleLocks" - }, - "views": { - "type": "array", - "items": { - "$ref": "#/definitions/view" - }, - "minLength": 1 - }, - "chromInfoPath": { - "type": "string" - } - }, - "definitions": { - "data": { - "type": "object", - "properties": { - "type": { - "type": "string" - }, - "tilesetInfo": { - "type": "object" - }, - "children": { - "type": "array" - }, - "tiles": { - "type": "object" - } - } - }, - "locks": { - "slug": { - "type": "string" - }, - "locksByViewUid": { - "type": "object", - "additionalProperties": false, - "patternProperties": { - ".": { - "$ref": "#/definitions/locks/slug" - } - } - }, - "genericLocks": { - "type": "object", - "additionalProperties": false, - "required": [], - "properties": { - "locksByViewUid": { - "$ref": "#/definitions/locks/locksByViewUid" - }, - "locksDict": { - "type": "object", - "additionalProperties": false, - "patternProperties": { - ".": { - "type": "object", - "additionalProperties": false, - "properties": { - "uid": { - "$ref": "#/definitions/locks/slug" - } - }, - "patternProperties": { - "^(?!uid).": { - "type": "array", - "minLength": 3, - "maxLength": 3, - "items": { - "type": "number" - } - } - } - } - } - } - } - }, - "valueScaleLocks": { - "type": "object", - "additionalProperties": false, - "required": [ - "locksByViewUid", - "locksDict" - ], - "properties": { - "locksByViewUid": { - "$ref": "#/definitions/locks/locksByViewUid" - }, - "locksDict": { - "type": "object", - "additionalProperties": false, - "patternProperties": { - ".": { - "type": "object", - "additionalProperties": false, - "properties": { - "uid": { - "$ref": "#/definitions/locks/slug" - }, - "ignoreOffScreenValues": { - "type": "boolean" - } - }, - "patternProperties": { - "^(?!(uid|ignoreOffScreenValues)).": { - "type": "object", - "additionalProperties": false, - "required": [ - "view", - "track" - ], - "properties": { - "view": { - "type": "string" - }, - "track": { - "$ref": "#/definitions/locks/slug" - } - } - } - } - } - } - } - } - } - }, - "view": { - "type": "object", - "additionalProperties": false, - "required": [ - "tracks", - "layout" - ], - "properties": { - "autocompleteSource": { - "type": "string" - }, - "chromInfoPath": { - "type": "string" - }, - "genomePositionSearchBox": { - "$ref": "#/definitions/viewProperties/genomePositionSearchBox" - }, - "genomePositionSearchBoxVisible": { - "type": "boolean" - }, - "initialXDomain": { - "$ref": "#/definitions/viewProperties/domain" - }, - "initialYDomain": { - "$ref": "#/definitions/viewProperties/domain" - }, - "layout": { - "$ref": "#/definitions/viewProperties/layout" - }, - "overlays": { - "type": "array", - "items": { - "$ref": "#/definitions/viewProperties/overlay" - } - }, - "selectionView": { - "type": "boolean" - }, - "tracks": { - "$ref": "#/definitions/viewProperties/tracks_object" - }, - "uid": { - "type": "string" - }, - "zoomFixed": { - "type": "boolean" - }, - "zoomLimits": { - "type": "array", - "minLength": 2, - "maxLength": 2 - } - } - }, - "viewProperties": { - "genomePositionSearchBox": { - "type": "object", - "title": "The Genome Position Search Box Schema", - "required": [ - "chromInfoServer", - "chromInfoId" - ], - "properties": { - "autocompleteServer": { - "type": "string", - "title": "The Autocomplete Server URL", - "default": "", - "examples": [ - "//higlass.io/api/v1" - ], - "pattern": "^(.*)$" - }, - "autocompleteId": { - "type": "string", - "title": "The Autocomplete ID", - "default": "", - "examples": [ - "OHJakQICQD6gTD7skx4EWA" - ], - "pattern": "^(.*)$" - }, - "chromInfoServer": { - "type": "string", - "title": "The Chrominfo Server URL", - "default": "", - "examples": [ - "//higlass.io/api/v1" - ], - "pattern": "^(.*)$" - }, - "chromInfoId": { - "type": "string", - "title": "The Chromosome Info ID", - "default": "", - "examples": [ - "hg19" - ], - "pattern": "^(.*)$" - }, - "visible": { - "type": "boolean", - "title": "The Visible Schema", - "default": false - } - } - }, - "overlay": { - "type": "object", - "additionalProperties": false, - "properties": { - "chromInfoPath": { - "type": "string" - }, - "includes": { - "type": "array" - }, - "options": { - "type": "object", - "properties": { - "extent": { - "type": "array" - }, - "minWidth": { - "type": "number" - }, - "fill": { - "type": "string" - }, - "fillOpacity": { - "type": "number" - }, - "stroke": { - "type": "string" - }, - "strokeOpacity": { - "type": "number" - }, - "strokeWidth": { - "type": "number" - }, - "strokePos": { - "type": [ - "string", - "array" - ] - }, - "outline": { - "type": "string" - }, - "outlineOpacity": { - "type": "number" - }, - "outlineWidth": { - "type": "number" - }, - "outlinePos": { - "type": [ - "string", - "array" - ] - } - } - }, - "type": { - "type": "string" - }, - "uid": { - "type": "string" - } - } - }, - "layout": { - "type": "object", - "additionalProperties": false, - "required": [ - "w", - "h", - "x", - "y" - ], - "properties": { - "x": { - "type": "number", - "title": "The X Position", - "default": 0 - }, - "y": { - "type": "number", - "title": "The Y Position", - "default": 0 - }, - "w": { - "type": "number", - "title": "Width", - "default": 12 - }, - "h": { - "type": "number", - "title": "Height", - "default": 12 - } - } - }, - "tracks_object": { - "type": "object", - "additionalProperties": false, - "properties": { - "left": { - "$ref": "#/definitions/viewProperties/tracks_array" - }, - "right": { - "$ref": "#/definitions/viewProperties/tracks_array" - }, - "top": { - "$ref": "#/definitions/viewProperties/tracks_array" - }, - "bottom": { - "$ref": "#/definitions/viewProperties/tracks_array" - }, - "center": { - "$ref": "#/definitions/viewProperties/tracks_array" - }, - "whole": { - "$ref": "#/definitions/viewProperties/tracks_array" - }, - "gallery": { - "$ref": "#/definitions/viewProperties/tracks_array" - } - } - }, - "tracks_array": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/definitions/tracks/enum_track" - }, - { - "$ref": "#/definitions/tracks/combined_track" - }, - { - "$ref": "#/definitions/tracks/heatmap_track" - }, - { - "$ref": "#/definitions/tracks/independent_viewport_projection_track" - } - ] - } - }, - "domain": { - "type": "array", - "items": { - "type": "number" - }, - "maxItems": 2, - "minItems": 2 - } - }, - "tracks": { - "heatmap_track": { - "type": "object", - "additionalProperties": false, - "required": [], - "properties": { - "uid": { - "type": "string" - }, - "type": { - "const": "heatmap" - }, - "data": { - "$ref": "#/definitions/data" - }, - "height": { - "type": "number" - }, - "options": { - "type": "object" - }, - "position": { - "type": "string" - }, - "server": { - "type": "string" - }, - "tilesetUid": { - "type": "string" - }, - "width": { - "type": "number" - } - } - }, - "combined_track": { - "type": "object", - "additionalProperties": false, - "required": [ - "contents" - ], - "properties": { - "contents": { - "$ref": "#/definitions/viewProperties/tracks_array" - }, - "height": { - "type": "number" - }, - "options": {}, - "position": { - "type": "string" - }, - "type": { - "const": "combined" - }, - "uid": { - "type": "string" - }, - "width": { - "type": "number" - } - } - }, - "enum_track": { - "type": "object", - "additionalProperties": false, - "required": [ - "type" - ], - "properties": { - "server": { - "type": "string" - }, - "tilesetUid": { - "type": "string" - }, - "data": { - "$ref": "#/definitions/data" - }, - "uid": { - "type": "string" - }, - "type": { - "enum": [ - "2d-annotations", - "2d-chromosome-annotations", - "2d-chromosome-grid", - "2d-chromosome-labels", - "2d-rectangle-domains", - "2d-tiles", - "arrowhead-domains", - "bedlike", - "cross-rule", - "dummy", - "horizontal-1d-annotations", - "horizontal-1d-heatmap", - "horizontal-1d-tiles", - "horizontal-1d-value-interval", - "horizontal-2d-rectangle-domains", - "horizontal-bar", - "horizontal-chromosome-grid", - "horizontal-chromosome-labels", - "horizontal-divergent-bar", - "horizontal-gene-annotations", - "horizontal-heatmap", - "horizontal-line", - "horizontal-multivec", - "horizontal-point", - "horizontal-rule", - "horizontal-vector-heatmap", - "image-tiles", - "left-axis", - "left-stacked-interval", - "mapbox-tiles", - "osm-2d-tile-ids", - "osm-tiles", - "raster-tiles", - "simple-svg", - "square-markers", - "top-axis", - "top-stacked-interval", - "vertical-1d-annotations", - "vertical-1d-heatmap", - "vertical-1d-tiles", - "vertical-1d-value-interval", - "vertical-2d-rectangle-domains", - "vertical-bar", - "vertical-bedlike", - "vertical-chromosome-grid", - "vertical-chromosome-labels", - "vertical-gene-annotations", - "vertical-heatmap", - "vertical-line", - "vertical-multivec", - "vertical-point", - "vertical-rule", - "vertical-vector-heatmap", - "viewport-projection-center", - "viewport-projection-horizontal", - "viewport-projection-vertical" - ] - }, - "chromInfoPath": { - "type": "string" - }, - "fromViewUid": { - "type": "string" - }, - "height": { - "type": "number" - }, - "options": { - "type": "object" - }, - "width": { - "type": "number" - }, - "x": { - "type": "number" - }, - "y": { - "type": "number" - } - } - }, - "independent_viewport_projection_track": { - "type": "object", - "additionalProperties": false, - "properties": { - "uid": { - "type": "string" - }, - "type": { - "enum": [ - "viewport-projection-horizontal", - "viewport-projection-vertical", - "viewport-projection-center" - ] - }, - "fromViewUid": { - "type": "null" - }, - "projectionXDomain": { - "$ref": "#/definitions/viewProperties/domain" - }, - "projectionYDomain": { - "$ref": "#/definitions/viewProperties/domain" - }, - "options": { - "type": "object" - }, - "transforms": { - "type": "array" - }, - "width": { - "type": "number" - }, - "x": { - "type": "number" - }, - "y": { - "type": "number" - } - } - } - } - } -} \ No newline at end of file