Biomarker¶
Dereferenced schema · Source · Referenced version
A Cat-VRS CategoricalVariant whose allele, location, genes, function, and copy change are shaped into constraints. Root type Biomarker with one subtype per biomarker_type extension value.
Root type shared by every biomarker. Subtypes below are selected by the biomarker_type extension; the top-level schema closes the record.
Fields¶
| Field | Type | Required | Description |
|---|---|---|---|
id |
string matching ^bmkr:\d+$ |
yes | |
type |
always CategoricalVariant |
yes | |
name |
string | yes | |
constraints |
array of DefiningAlleleConstraint or DefiningLocationConstraint or FeatureContextConstraint or AdjacencyConstraint or FunctionConstraint or CopyChangeConstraint | yes | |
extensions |
array of extensions (see Extensions) | yes |
Extensions¶
Each extension is an object with a name, a value, and an optional description (see Extension).
| Name | Value | Required |
|---|---|---|
biomarker_type |
one of Copy number, Copy number (arm level), Gene fusion, Germline variant, Haplotype genotype, Homologous recombination, Microsatellite stability, Mismatch repair, Protein expression, Rearrangement, Somatic variant, Translocation, Tumor mutational burden, Wild type |
yes |
Subtypes¶
Every record matches exactly one subtype, which adds to the fields above.
| Subtype | Applies when | Description |
|---|---|---|
| Copy Number | biomarker_type extension is Copy number |
Gene-level copy number change: a gene and a copy change. |
| Copy Number (arm level) | biomarker_type extension is Copy number (arm level) |
Arm-level copy number change: a location and a copy change. |
| Gene fusion | biomarker_type extension is Gene fusion |
Gene fusion, represented by a single AdjacencyConstraint. A fusion with one known partner has an UnspecifiedElement for the other. |
| Germline Variant | biomarker_type extension is Germline variant |
Germline variant: a location and a FeatureContextConstraint. |
| Haplotype genotype | biomarker_type extension is Haplotype genotype |
Haplotype genotype. No constraints. |
| Homologous Recombination | biomarker_type extension is Homologous recombination |
Homologous recombination status. No constraints. |
| Microsatellite Stability | biomarker_type extension is Microsatellite stability |
Microsatellite instability status. No constraints. |
| Mismatch Repair | biomarker_type extension is Mismatch repair |
Mismatch repair status. No constraints. |
| Protein expression | biomarker_type extension is Protein expression |
Protein expression, e.g. PD-L1 TPS >= 1%. No constraints. |
| Rearrangement | biomarker_type extension is Rearrangement |
Chromosomal rearrangement that is neither a gene fusion nor a translocation (see Gene fusion, Translocation). Shares NonFusionRearrangement's shape. |
| Translocation | biomarker_type extension is Translocation |
Chromosomal translocation between one or two partner genes, or between one or two chromosomes. Shares NonFusionRearrangement's shape, but also allows a DefiningLocationConstraint per chromosome when the translocation is named by cytogenetic band rather than gene. |
| Somatic Variant | biomarker_type extension is Somatic variant |
Somatic variant: a FeatureContextConstraint, plus an allele or location and optionally a function. |
| Tumor mutational burden | biomarker_type extension is Tumor mutational burden |
Tumor mutational burden classification. No constraints. |
| Wild type | biomarker_type extension is Wild type |
Absence of variants in a gene: a location and a gene. |
Copy Number¶
Gene-level copy number change: a gene and a copy change.
Builds on Biomarker.
| Field | Type | Required | Description |
|---|---|---|---|
extensions |
array of extensions: biomarker_type (always Copy number, required), cytoband (string or null, required) |
||
constraints |
array of FeatureContextConstraint or CopyChangeConstraint, containing FeatureContextConstraint and containing CopyChangeConstraint |
Copy Number (arm level)¶
Arm-level copy number change: a location and a copy change.
Builds on Biomarker.
| Field | Type | Required | Description |
|---|---|---|---|
extensions |
array of extensions: biomarker_type (always Copy number (arm level), required), chromosome (string, required), arm (one of p, q, required) |
||
constraints |
array of DefiningLocationConstraint or CopyChangeConstraint, containing DefiningLocationConstraint and containing CopyChangeConstraint |
Gene fusion¶
Gene fusion, represented by a single AdjacencyConstraint. A fusion with one known partner has an UnspecifiedElement for the other.
Builds on Biomarker.
| Field | Type | Required | Description |
|---|---|---|---|
extensions |
array of extensions: biomarker_type (always Gene fusion, required) |
||
constraints |
array of AdjacencyConstraint (exactly 1 item) |
Germline Variant¶
Germline variant: a location and a FeatureContextConstraint.
Builds on Biomarker.
| Field | Type | Required | Description |
|---|---|---|---|
extensions |
array of extensions: biomarker_type (always Germline variant, required), chromosome (string, required), start_position (integer or null, required), end_position (integer or null, required), reference_allele (string or null, required), alternate_allele (string or null, required), cdna_change (string or null, required), protein_change (string or null, required), variant_annotation (string or null, required), exon (integer or string or null, required), rsid (string or null, required), hgvsg (string or null, required), hgvsc (string or null, required), requires_pathogenic (boolean, required) |
||
constraints |
array of DefiningLocationConstraint or FeatureContextConstraint, containing DefiningLocationConstraint and containing FeatureContextConstraint |
Haplotype genotype¶
Haplotype genotype. No constraints.
Builds on Biomarker.
| Field | Type | Required | Description |
|---|---|---|---|
extensions |
array of extensions: biomarker_type (always Haplotype genotype, required) |
||
constraints |
array (at most 0 items) |
Homologous Recombination¶
Homologous recombination status. No constraints.
Builds on Biomarker.
| Field | Type | Required | Description |
|---|---|---|---|
extensions |
array of extensions: biomarker_type (always Homologous recombination, required), status (string, required) |
||
constraints |
array (at most 0 items) |
Microsatellite Stability¶
Microsatellite instability status. No constraints.
Builds on Biomarker.
| Field | Type | Required | Description |
|---|---|---|---|
extensions |
array of extensions: biomarker_type (always Microsatellite stability, required), status (one of Microsatellite instability-high (MSI-H), Microsatellite instability-low (MSI-L), Microsatellite stable (MSS), required) |
||
constraints |
array (at most 0 items) |
Mismatch Repair¶
Mismatch repair status. No constraints.
Builds on Biomarker.
| Field | Type | Required | Description |
|---|---|---|---|
extensions |
array of extensions: biomarker_type (always Mismatch repair, required), status (one of Deficient, Proficient, required) |
||
constraints |
array (at most 0 items) |
Protein expression¶
Protein expression, e.g. PD-L1 TPS >= 1%. No constraints.
Builds on Biomarker.
| Field | Type | Required | Description |
|---|---|---|---|
extensions |
array of extensions: biomarker_type (always Protein expression, required), marker (string, required), unit (string, required), equality (one of =, >=, <=, <, >, required), value (number or string, required) |
||
constraints |
array (at most 0 items) |
Rearrangement¶
Chromosomal rearrangement that is neither a gene fusion nor a translocation (see Gene fusion, Translocation). Shares NonFusionRearrangement's shape.
Builds on NonFusionRearrangement.
| Field | Type | Required | Description |
|---|---|---|---|
extensions |
array of extensions: biomarker_type (always Rearrangement, required) |
Translocation¶
Chromosomal translocation between one or two partner genes, or between one or two chromosomes. Shares NonFusionRearrangement's shape, but also allows a DefiningLocationConstraint per chromosome when the translocation is named by cytogenetic band rather than gene.
Builds on NonFusionRearrangement.
| Field | Type | Required | Description |
|---|---|---|---|
extensions |
array of extensions: biomarker_type (always Translocation, required) |
Somatic Variant¶
Somatic variant: a FeatureContextConstraint, plus an allele or location and optionally a function.
Builds on Biomarker.
| Field | Type | Required | Description |
|---|---|---|---|
extensions |
array of extensions: biomarker_type (always Somatic variant, required), chromosome (string, required), start_position (integer or null, required), end_position (integer or null, required), reference_allele (string or null, required), alternate_allele (string or null, required), cdna_change (string or null, required), protein_change (string or null, required), variant_annotation (string or null, required), exon (integer or string or null, required), hgvsg (string or null, required), hgvsc (string or null, required), rsid (string or null), requires_oncogenic (boolean) |
||
constraints |
array of DefiningAlleleConstraint or DefiningLocationConstraint or FeatureContextConstraint or FunctionConstraint, containing FeatureContextConstraint |
Tumor mutational burden¶
Tumor mutational burden classification. No constraints.
Builds on Biomarker.
| Field | Type | Required | Description |
|---|---|---|---|
extensions |
array of extensions: biomarker_type (always Tumor mutational burden, required), classification (string, required), minimum_mutations (number or null, required), minimum_mutations_per_megabase (number or null, required) |
||
constraints |
array (at most 0 items) |
Wild type¶
Absence of variants in a gene: a location and a gene.
Builds on Biomarker.
| Field | Type | Required | Description |
|---|---|---|---|
extensions |
array of extensions: biomarker_type (always Wild type, required) |
||
constraints |
array of DefiningLocationConstraint or FeatureContextConstraint, containing DefiningLocationConstraint and containing FeatureContextConstraint |
Definitions¶
DefiningAlleleConstraint¶
| Field | Type | Required | Description |
|---|---|---|---|
type |
always DefiningAlleleConstraint |
yes | |
allele |
Allele | yes | |
relations |
array of any | yes |
DefiningLocationConstraint¶
| Field | Type | Required | Description |
|---|---|---|---|
type |
always DefiningLocationConstraint |
yes | |
location |
SequenceLocation | yes | |
relations |
array of any | yes | |
matchCharacteristic |
object | yes | |
matchCharacteristic.primaryCoding |
object | yes | |
matchCharacteristic.primaryCoding.code |
string | yes | |
matchCharacteristic.primaryCoding.system |
string | yes |
FeatureContextConstraint¶
| Field | Type | Required | Description |
|---|---|---|---|
type |
always FeatureContextConstraint |
yes | |
featureContext |
Gene without extensions |
yes |
AdjacencyConstraint¶
| Field | Type | Required | Description |
|---|---|---|---|
type |
always AdjacencyConstraint |
yes | |
orderKnown |
boolean | yes | True only when both partners are known. |
adjoinedElements |
array of Gene without extensions or UnspecifiedElement (exactly 2 items) |
yes |
FunctionConstraint¶
| Field | Type | Required | Description |
|---|---|---|---|
type |
always FunctionConstraint |
yes | |
functionConsequence |
FunctionConsequence | yes |
CopyChangeConstraint¶
| Field | Type | Required | Description |
|---|---|---|---|
type |
always CopyChangeConstraint |
yes | |
copyChange |
string | yes |
UnspecifiedElement¶
| Field | Type | Required | Description |
|---|---|---|---|
type |
always UnspecifiedElement |
yes |
NonFusionRearrangement¶
Structural shape shared by Rearrangement and Translocation: a gene fusion's genes collapse into a single AdjacencyConstraint, while these use one FeatureContextConstraint per gene instead. A Translocation may also carry a DefiningLocationConstraint per chromosome when it's named by cytogenetic band rather than gene (Rearrangement's location is always empty, so it can never actually produce one).
Builds on Biomarker.
| Field | Type | Required | Description |
|---|---|---|---|
constraints |
array of FeatureContextConstraint or DefiningLocationConstraint |
JSON Schema¶
Full JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://moalmanac.org/schemas/dereferenced/biomarkers.schema.json",
"title": "Biomarker",
"description": "A Cat-VRS CategoricalVariant whose allele, location, genes, function, and copy change are shaped into `constraints`. Root type `Biomarker` with one subtype per `biomarker_type` extension value.",
"$ref": "#/$defs/Biomarker",
"allOf": [
{
"if": {
"required": [
"extensions"
],
"properties": {
"extensions": {
"contains": {
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Copy number"
}
},
"required": [
"name",
"value"
]
}
}
}
},
"then": {
"$ref": "#/$defs/Copy Number"
}
},
{
"if": {
"required": [
"extensions"
],
"properties": {
"extensions": {
"contains": {
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Copy number (arm level)"
}
},
"required": [
"name",
"value"
]
}
}
}
},
"then": {
"$ref": "#/$defs/Copy Number (arm level)"
}
},
{
"if": {
"required": [
"extensions"
],
"properties": {
"extensions": {
"contains": {
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Gene fusion"
}
},
"required": [
"name",
"value"
]
}
}
}
},
"then": {
"$ref": "#/$defs/Gene fusion"
}
},
{
"if": {
"required": [
"extensions"
],
"properties": {
"extensions": {
"contains": {
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Germline variant"
}
},
"required": [
"name",
"value"
]
}
}
}
},
"then": {
"$ref": "#/$defs/Germline Variant"
}
},
{
"if": {
"required": [
"extensions"
],
"properties": {
"extensions": {
"contains": {
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Haplotype genotype"
}
},
"required": [
"name",
"value"
]
}
}
}
},
"then": {
"$ref": "#/$defs/Haplotype genotype"
}
},
{
"if": {
"required": [
"extensions"
],
"properties": {
"extensions": {
"contains": {
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Homologous recombination"
}
},
"required": [
"name",
"value"
]
}
}
}
},
"then": {
"$ref": "#/$defs/Homologous Recombination"
}
},
{
"if": {
"required": [
"extensions"
],
"properties": {
"extensions": {
"contains": {
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Microsatellite stability"
}
},
"required": [
"name",
"value"
]
}
}
}
},
"then": {
"$ref": "#/$defs/Microsatellite Stability"
}
},
{
"if": {
"required": [
"extensions"
],
"properties": {
"extensions": {
"contains": {
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Mismatch repair"
}
},
"required": [
"name",
"value"
]
}
}
}
},
"then": {
"$ref": "#/$defs/Mismatch Repair"
}
},
{
"if": {
"required": [
"extensions"
],
"properties": {
"extensions": {
"contains": {
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Protein expression"
}
},
"required": [
"name",
"value"
]
}
}
}
},
"then": {
"$ref": "#/$defs/Protein expression"
}
},
{
"if": {
"required": [
"extensions"
],
"properties": {
"extensions": {
"contains": {
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Rearrangement"
}
},
"required": [
"name",
"value"
]
}
}
}
},
"then": {
"$ref": "#/$defs/Rearrangement"
}
},
{
"if": {
"required": [
"extensions"
],
"properties": {
"extensions": {
"contains": {
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Translocation"
}
},
"required": [
"name",
"value"
]
}
}
}
},
"then": {
"$ref": "#/$defs/Translocation"
}
},
{
"if": {
"required": [
"extensions"
],
"properties": {
"extensions": {
"contains": {
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Somatic variant"
}
},
"required": [
"name",
"value"
]
}
}
}
},
"then": {
"$ref": "#/$defs/Somatic Variant"
}
},
{
"if": {
"required": [
"extensions"
],
"properties": {
"extensions": {
"contains": {
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Tumor mutational burden"
}
},
"required": [
"name",
"value"
]
}
}
}
},
"then": {
"$ref": "#/$defs/Tumor mutational burden"
}
},
{
"if": {
"required": [
"extensions"
],
"properties": {
"extensions": {
"contains": {
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Wild type"
}
},
"required": [
"name",
"value"
]
}
}
}
},
"then": {
"$ref": "#/$defs/Wild type"
}
}
],
"unevaluatedProperties": false,
"$defs": {
"Biomarker": {
"description": "Root type shared by every biomarker. Subtypes below are selected by the `biomarker_type` extension; the top-level schema closes the record.",
"type": "object",
"required": [
"id",
"type",
"name",
"constraints",
"extensions"
],
"properties": {
"id": {
"type": "string",
"pattern": "^bmkr:\\d+$"
},
"type": {
"const": "CategoricalVariant"
},
"name": {
"type": "string"
},
"constraints": {
"type": "array",
"items": {
"oneOf": [
{
"$ref": "#/$defs/DefiningAlleleConstraint"
},
{
"$ref": "#/$defs/DefiningLocationConstraint"
},
{
"$ref": "#/$defs/FeatureContextConstraint"
},
{
"$ref": "#/$defs/AdjacencyConstraint"
},
{
"$ref": "#/$defs/FunctionConstraint"
},
{
"$ref": "#/$defs/CopyChangeConstraint"
}
]
}
},
"extensions": {
"type": "array",
"items": {
"$ref": "extension.schema.json"
},
"allOf": [
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"enum": [
"Copy number",
"Copy number (arm level)",
"Gene fusion",
"Germline variant",
"Haplotype genotype",
"Homologous recombination",
"Microsatellite stability",
"Mismatch repair",
"Protein expression",
"Rearrangement",
"Somatic variant",
"Translocation",
"Tumor mutational burden",
"Wild type"
]
}
}
}
}
]
}
}
},
"DefiningAlleleConstraint": {
"type": "object",
"properties": {
"type": {
"const": "DefiningAlleleConstraint"
},
"allele": {
"$ref": "alleles.schema.json"
},
"relations": {
"type": "array",
"items": {}
}
},
"required": [
"type",
"allele",
"relations"
],
"additionalProperties": false
},
"DefiningLocationConstraint": {
"type": "object",
"properties": {
"type": {
"const": "DefiningLocationConstraint"
},
"location": {
"$ref": "sequence_locations.schema.json"
},
"relations": {
"type": "array",
"items": {}
},
"matchCharacteristic": {
"type": "object",
"properties": {
"primaryCoding": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"system": {
"type": "string"
}
},
"required": [
"code",
"system"
],
"additionalProperties": false
}
},
"required": [
"primaryCoding"
],
"additionalProperties": false
}
},
"required": [
"type",
"location",
"relations",
"matchCharacteristic"
],
"additionalProperties": false
},
"FeatureContextConstraint": {
"type": "object",
"properties": {
"type": {
"const": "FeatureContextConstraint"
},
"featureContext": {
"$ref": "genes.schema.json#/$defs/Gene",
"not": {
"required": [
"extensions"
]
}
}
},
"required": [
"type",
"featureContext"
],
"additionalProperties": false
},
"AdjacencyConstraint": {
"type": "object",
"properties": {
"type": {
"const": "AdjacencyConstraint"
},
"orderKnown": {
"type": "boolean",
"description": "True only when both partners are known."
},
"adjoinedElements": {
"type": "array",
"items": {
"anyOf": [
{
"$ref": "genes.schema.json#/$defs/Gene",
"not": {
"required": [
"extensions"
]
}
},
{
"$ref": "#/$defs/UnspecifiedElement"
}
]
},
"minItems": 2,
"maxItems": 2
}
},
"required": [
"type",
"orderKnown",
"adjoinedElements"
],
"additionalProperties": false
},
"FunctionConstraint": {
"type": "object",
"properties": {
"type": {
"const": "FunctionConstraint"
},
"functionConsequence": {
"$ref": "function_consequences.schema.json"
}
},
"required": [
"type",
"functionConsequence"
],
"additionalProperties": false
},
"CopyChangeConstraint": {
"type": "object",
"properties": {
"type": {
"const": "CopyChangeConstraint"
},
"copyChange": {
"type": "string"
}
},
"required": [
"type",
"copyChange"
],
"additionalProperties": false
},
"UnspecifiedElement": {
"type": "object",
"properties": {
"type": {
"const": "UnspecifiedElement"
}
},
"required": [
"type"
],
"additionalProperties": false
},
"Copy Number": {
"description": "Gene-level copy number change: a gene and a copy change.",
"allOf": [
{
"$ref": "#/$defs/Biomarker"
},
{
"properties": {
"extensions": {
"type": "array",
"items": {
"anyOf": [
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Copy number"
}
}
},
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "cytoband"
},
"value": {
"type": [
"string",
"null"
]
}
}
}
]
},
"allOf": [
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Copy number"
}
}
}
},
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "cytoband"
},
"value": {
"type": [
"string",
"null"
]
}
}
}
}
]
},
"constraints": {
"type": "array",
"items": {
"anyOf": [
{
"$ref": "#/$defs/FeatureContextConstraint"
},
{
"$ref": "#/$defs/CopyChangeConstraint"
}
]
},
"allOf": [
{
"contains": {
"$ref": "#/$defs/FeatureContextConstraint"
},
"minContains": 1,
"maxContains": 1
},
{
"contains": {
"$ref": "#/$defs/CopyChangeConstraint"
},
"minContains": 1,
"maxContains": 1
}
]
}
}
}
]
},
"Copy Number (arm level)": {
"description": "Arm-level copy number change: a location and a copy change.",
"allOf": [
{
"$ref": "#/$defs/Biomarker"
},
{
"properties": {
"extensions": {
"type": "array",
"items": {
"anyOf": [
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Copy number (arm level)"
}
}
},
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "chromosome"
},
"value": {
"type": "string"
}
}
},
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "arm"
},
"value": {
"enum": [
"p",
"q"
]
}
}
}
]
},
"allOf": [
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Copy number (arm level)"
}
}
}
},
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "chromosome"
},
"value": {
"type": "string"
}
}
}
},
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "arm"
},
"value": {
"enum": [
"p",
"q"
]
}
}
}
}
]
},
"constraints": {
"type": "array",
"items": {
"anyOf": [
{
"$ref": "#/$defs/DefiningLocationConstraint"
},
{
"$ref": "#/$defs/CopyChangeConstraint"
}
]
},
"allOf": [
{
"contains": {
"$ref": "#/$defs/DefiningLocationConstraint"
},
"minContains": 1,
"maxContains": 1
},
{
"contains": {
"$ref": "#/$defs/CopyChangeConstraint"
},
"minContains": 1,
"maxContains": 1
}
]
}
}
}
]
},
"Gene fusion": {
"description": "Gene fusion, represented by a single AdjacencyConstraint. A fusion with one known partner has an UnspecifiedElement for the other.",
"allOf": [
{
"$ref": "#/$defs/Biomarker"
},
{
"properties": {
"extensions": {
"type": "array",
"items": {
"anyOf": [
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Gene fusion"
}
}
}
]
},
"allOf": [
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Gene fusion"
}
}
}
}
]
},
"constraints": {
"type": "array",
"minItems": 1,
"maxItems": 1,
"items": {
"$ref": "#/$defs/AdjacencyConstraint"
}
}
}
}
]
},
"Germline Variant": {
"description": "Germline variant: a location and a FeatureContextConstraint.",
"allOf": [
{
"$ref": "#/$defs/Biomarker"
},
{
"properties": {
"extensions": {
"type": "array",
"items": {
"anyOf": [
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Germline variant"
}
}
},
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "chromosome"
},
"value": {
"type": "string"
}
}
},
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "start_position"
},
"value": {
"type": [
"integer",
"null"
]
}
}
},
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "end_position"
},
"value": {
"type": [
"integer",
"null"
]
}
}
},
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "reference_allele"
},
"value": {
"type": [
"string",
"null"
]
}
}
},
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "alternate_allele"
},
"value": {
"type": [
"string",
"null"
]
}
}
},
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "cdna_change"
},
"value": {
"type": [
"string",
"null"
]
}
}
},
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "protein_change"
},
"value": {
"type": [
"string",
"null"
]
}
}
},
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "variant_annotation"
},
"value": {
"type": [
"string",
"null"
]
}
}
},
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "exon"
},
"value": {
"type": [
"integer",
"string",
"null"
]
}
}
},
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "rsid"
},
"value": {
"type": [
"string",
"null"
]
}
}
},
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "hgvsg"
},
"value": {
"type": [
"string",
"null"
]
}
}
},
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "hgvsc"
},
"value": {
"type": [
"string",
"null"
]
}
}
},
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "requires_pathogenic"
},
"value": {
"type": "boolean"
}
}
}
]
},
"allOf": [
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Germline variant"
}
}
}
},
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "chromosome"
},
"value": {
"type": "string"
}
}
}
},
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "start_position"
},
"value": {
"type": [
"integer",
"null"
]
}
}
}
},
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "end_position"
},
"value": {
"type": [
"integer",
"null"
]
}
}
}
},
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "reference_allele"
},
"value": {
"type": [
"string",
"null"
]
}
}
}
},
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "alternate_allele"
},
"value": {
"type": [
"string",
"null"
]
}
}
}
},
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "cdna_change"
},
"value": {
"type": [
"string",
"null"
]
}
}
}
},
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "protein_change"
},
"value": {
"type": [
"string",
"null"
]
}
}
}
},
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "variant_annotation"
},
"value": {
"type": [
"string",
"null"
]
}
}
}
},
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "exon"
},
"value": {
"type": [
"integer",
"string",
"null"
]
}
}
}
},
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "rsid"
},
"value": {
"type": [
"string",
"null"
]
}
}
}
},
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "hgvsg"
},
"value": {
"type": [
"string",
"null"
]
}
}
}
},
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "hgvsc"
},
"value": {
"type": [
"string",
"null"
]
}
}
}
},
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "requires_pathogenic"
},
"value": {
"type": "boolean"
}
}
}
}
]
},
"constraints": {
"type": "array",
"items": {
"anyOf": [
{
"$ref": "#/$defs/DefiningLocationConstraint"
},
{
"$ref": "#/$defs/FeatureContextConstraint"
}
]
},
"allOf": [
{
"contains": {
"$ref": "#/$defs/DefiningLocationConstraint"
},
"minContains": 1,
"maxContains": 1
},
{
"contains": {
"$ref": "#/$defs/FeatureContextConstraint"
},
"minContains": 1,
"maxContains": 1
}
]
}
}
}
]
},
"Haplotype genotype": {
"description": "Haplotype genotype. No constraints.",
"allOf": [
{
"$ref": "#/$defs/Biomarker"
},
{
"properties": {
"extensions": {
"type": "array",
"items": {
"anyOf": [
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Haplotype genotype"
}
}
}
]
},
"allOf": [
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Haplotype genotype"
}
}
}
}
]
},
"constraints": {
"type": "array",
"maxItems": 0
}
}
}
]
},
"Homologous Recombination": {
"description": "Homologous recombination status. No constraints.",
"allOf": [
{
"$ref": "#/$defs/Biomarker"
},
{
"properties": {
"extensions": {
"type": "array",
"items": {
"anyOf": [
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Homologous recombination"
}
}
},
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "status"
},
"value": {
"type": "string"
}
}
}
]
},
"allOf": [
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Homologous recombination"
}
}
}
},
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "status"
},
"value": {
"type": "string"
}
}
}
}
]
},
"constraints": {
"type": "array",
"maxItems": 0
}
}
}
]
},
"Microsatellite Stability": {
"description": "Microsatellite instability status. No constraints.",
"allOf": [
{
"$ref": "#/$defs/Biomarker"
},
{
"properties": {
"extensions": {
"type": "array",
"items": {
"anyOf": [
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Microsatellite stability"
}
}
},
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "status"
},
"value": {
"enum": [
"Microsatellite instability-high (MSI-H)",
"Microsatellite instability-low (MSI-L)",
"Microsatellite stable (MSS)"
]
}
}
}
]
},
"allOf": [
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Microsatellite stability"
}
}
}
},
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "status"
},
"value": {
"enum": [
"Microsatellite instability-high (MSI-H)",
"Microsatellite instability-low (MSI-L)",
"Microsatellite stable (MSS)"
]
}
}
}
}
]
},
"constraints": {
"type": "array",
"maxItems": 0
}
}
}
]
},
"Mismatch Repair": {
"description": "Mismatch repair status. No constraints.",
"allOf": [
{
"$ref": "#/$defs/Biomarker"
},
{
"properties": {
"extensions": {
"type": "array",
"items": {
"anyOf": [
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Mismatch repair"
}
}
},
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "status"
},
"value": {
"enum": [
"Deficient",
"Proficient"
]
}
}
}
]
},
"allOf": [
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Mismatch repair"
}
}
}
},
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "status"
},
"value": {
"enum": [
"Deficient",
"Proficient"
]
}
}
}
}
]
},
"constraints": {
"type": "array",
"maxItems": 0
}
}
}
]
},
"NonFusionRearrangement": {
"description": "Structural shape shared by `Rearrangement` and `Translocation`: a gene fusion's genes collapse into a single AdjacencyConstraint, while these use one FeatureContextConstraint per gene instead. A `Translocation` may also carry a `DefiningLocationConstraint` per chromosome when it's named by cytogenetic band rather than gene (`Rearrangement`'s `location` is always empty, so it can never actually produce one).",
"allOf": [
{
"$ref": "#/$defs/Biomarker"
},
{
"properties": {
"constraints": {
"type": "array",
"items": {
"anyOf": [
{
"$ref": "#/$defs/FeatureContextConstraint"
},
{
"$ref": "#/$defs/DefiningLocationConstraint"
}
]
}
}
}
}
]
},
"Protein expression": {
"description": "Protein expression, e.g. PD-L1 TPS >= 1%. No constraints.",
"allOf": [
{
"$ref": "#/$defs/Biomarker"
},
{
"properties": {
"extensions": {
"type": "array",
"items": {
"anyOf": [
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Protein expression"
}
}
},
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "marker"
},
"value": {
"type": "string"
}
}
},
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "unit"
},
"value": {
"type": "string"
}
}
},
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "equality"
},
"value": {
"enum": [
"=",
">=",
"<=",
"<",
">"
]
}
}
},
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "value"
},
"value": {
"type": [
"number",
"string"
]
}
}
}
]
},
"allOf": [
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Protein expression"
}
}
}
},
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "marker"
},
"value": {
"type": "string"
}
}
}
},
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "unit"
},
"value": {
"type": "string"
}
}
}
},
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "equality"
},
"value": {
"enum": [
"=",
">=",
"<=",
"<",
">"
]
}
}
}
},
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "value"
},
"value": {
"type": [
"number",
"string"
]
}
}
}
}
]
},
"constraints": {
"type": "array",
"maxItems": 0
}
}
}
]
},
"Rearrangement": {
"description": "Chromosomal rearrangement that is neither a gene fusion nor a translocation (see `Gene fusion`, `Translocation`). Shares `NonFusionRearrangement`'s shape.",
"allOf": [
{
"$ref": "#/$defs/NonFusionRearrangement"
},
{
"properties": {
"extensions": {
"type": "array",
"items": {
"anyOf": [
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Rearrangement"
}
}
}
]
},
"allOf": [
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Rearrangement"
}
}
}
}
]
}
}
}
]
},
"Translocation": {
"description": "Chromosomal translocation between one or two partner genes, or between one or two chromosomes. Shares `NonFusionRearrangement`'s shape, but also allows a `DefiningLocationConstraint` per chromosome when the translocation is named by cytogenetic band rather than gene.",
"allOf": [
{
"$ref": "#/$defs/NonFusionRearrangement"
},
{
"properties": {
"extensions": {
"type": "array",
"items": {
"anyOf": [
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Translocation"
}
}
}
]
},
"allOf": [
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Translocation"
}
}
}
}
]
}
}
}
]
},
"Somatic Variant": {
"description": "Somatic variant: a FeatureContextConstraint, plus an allele or location and optionally a function.",
"allOf": [
{
"$ref": "#/$defs/Biomarker"
},
{
"properties": {
"extensions": {
"type": "array",
"items": {
"anyOf": [
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Somatic variant"
}
}
},
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "chromosome"
},
"value": {
"type": "string"
}
}
},
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "start_position"
},
"value": {
"type": [
"integer",
"null"
]
}
}
},
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "end_position"
},
"value": {
"type": [
"integer",
"null"
]
}
}
},
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "reference_allele"
},
"value": {
"type": [
"string",
"null"
]
}
}
},
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "alternate_allele"
},
"value": {
"type": [
"string",
"null"
]
}
}
},
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "cdna_change"
},
"value": {
"type": [
"string",
"null"
]
}
}
},
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "protein_change"
},
"value": {
"type": [
"string",
"null"
]
}
}
},
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "variant_annotation"
},
"value": {
"type": [
"string",
"null"
]
}
}
},
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "exon"
},
"value": {
"type": [
"integer",
"string",
"null"
]
}
}
},
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "hgvsg"
},
"value": {
"type": [
"string",
"null"
]
}
}
},
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "hgvsc"
},
"value": {
"type": [
"string",
"null"
]
}
}
},
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "rsid"
},
"value": {
"type": [
"string",
"null"
]
}
}
},
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "requires_oncogenic"
},
"value": {
"type": "boolean"
}
}
}
]
},
"allOf": [
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Somatic variant"
}
}
}
},
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "chromosome"
},
"value": {
"type": "string"
}
}
}
},
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "start_position"
},
"value": {
"type": [
"integer",
"null"
]
}
}
}
},
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "end_position"
},
"value": {
"type": [
"integer",
"null"
]
}
}
}
},
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "reference_allele"
},
"value": {
"type": [
"string",
"null"
]
}
}
}
},
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "alternate_allele"
},
"value": {
"type": [
"string",
"null"
]
}
}
}
},
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "cdna_change"
},
"value": {
"type": [
"string",
"null"
]
}
}
}
},
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "protein_change"
},
"value": {
"type": [
"string",
"null"
]
}
}
}
},
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "variant_annotation"
},
"value": {
"type": [
"string",
"null"
]
}
}
}
},
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "exon"
},
"value": {
"type": [
"integer",
"string",
"null"
]
}
}
}
},
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "hgvsg"
},
"value": {
"type": [
"string",
"null"
]
}
}
}
},
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "hgvsc"
},
"value": {
"type": [
"string",
"null"
]
}
}
}
}
]
},
"constraints": {
"type": "array",
"items": {
"anyOf": [
{
"$ref": "#/$defs/DefiningAlleleConstraint"
},
{
"$ref": "#/$defs/DefiningLocationConstraint"
},
{
"$ref": "#/$defs/FeatureContextConstraint"
},
{
"$ref": "#/$defs/FunctionConstraint"
}
]
},
"allOf": [
{
"contains": {
"$ref": "#/$defs/FeatureContextConstraint"
},
"minContains": 1,
"maxContains": 1
}
]
}
}
}
]
},
"Tumor mutational burden": {
"description": "Tumor mutational burden classification. No constraints.",
"allOf": [
{
"$ref": "#/$defs/Biomarker"
},
{
"properties": {
"extensions": {
"type": "array",
"items": {
"anyOf": [
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Tumor mutational burden"
}
}
},
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "classification"
},
"value": {
"type": "string"
}
}
},
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "minimum_mutations"
},
"value": {
"type": [
"number",
"null"
]
}
}
},
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "minimum_mutations_per_megabase"
},
"value": {
"type": [
"number",
"null"
]
}
}
}
]
},
"allOf": [
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Tumor mutational burden"
}
}
}
},
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "classification"
},
"value": {
"type": "string"
}
}
}
},
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "minimum_mutations"
},
"value": {
"type": [
"number",
"null"
]
}
}
}
},
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "minimum_mutations_per_megabase"
},
"value": {
"type": [
"number",
"null"
]
}
}
}
}
]
},
"constraints": {
"type": "array",
"maxItems": 0
}
}
}
]
},
"Wild type": {
"description": "Absence of variants in a gene: a location and a gene.",
"allOf": [
{
"$ref": "#/$defs/Biomarker"
},
{
"properties": {
"extensions": {
"type": "array",
"items": {
"anyOf": [
{
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Wild type"
}
}
}
]
},
"allOf": [
{
"contains": {
"$ref": "extension.schema.json",
"properties": {
"name": {
"const": "biomarker_type"
},
"value": {
"const": "Wild type"
}
}
}
}
]
},
"constraints": {
"type": "array",
"items": {
"anyOf": [
{
"$ref": "#/$defs/DefiningLocationConstraint"
},
{
"$ref": "#/$defs/FeatureContextConstraint"
}
]
},
"allOf": [
{
"contains": {
"$ref": "#/$defs/DefiningLocationConstraint"
},
"minContains": 1,
"maxContains": 1
},
{
"contains": {
"$ref": "#/$defs/FeatureContextConstraint"
},
"minContains": 1,
"maxContains": 1
}
]
}
}
}
]
}
}
}