Additional Data Types

Below are the additional data types used by the VRS models. Any classes with the imported tag are used by VRS but maintained by the GA4GH GKS Work Stream as common data classes.

Abstract Classes

Abstract classes provide common semantics and properties that are shared by multiple inheriting classes. This provides a useful structure for consistency across multiple concrete classes (e.g. different variation types).

GA4GH Identifiable Object

Many VRS objects are GA4GH Identifiable Objects, which may be used to create Computed Identifiers.

In addition to having GA4GH serialization keys (see Digest Serialization), GA4GH identifiable objects also have a defined GA4GH identifier type prefix (see Identifier Construction).

Definition and Information Model

Note

This data class is at a trial use maturity level and may change in future releases. Maturity levels are described in the GKS Maturity Model.

Computational Definition

An object for which a GA4GH computed identifier can be created.

GA4GH Digest

Prefix

Inherent

None

[‘type’]

Information Model

Some Ga4ghIdentifiableObject attributes are inherited from Entity.

Field

Flags

Type

Limits

Description

id

string

0..1

The ‘logical’ identifier of the Entity in the system of record, e.g. a UUID. This ‘id’ is unique within a given system, but may or may not be globally unique outside the system. It is used within a system to reference an object from another.

type

string

1..1

name

string

0..1

A primary name for the entity.

description

string

0..1

A free-text description of the Entity.

aliases

string

0..m

Alternative name(s) for the Entity.

extensions

Extension

0..m

A list of extensions to the Entity, that allow for capture of information not directly supported by elements defined in the model.

digest

string

0..1

A sha512t24u digest created using the VRS Computed Identifier algorithm.

Variation

The root of all variant data classes, Variation primarily plays a role as a common schema for representing variants and associated variant expressions, such as HGVS, ISCN, or SPDI strings.

Definition and Information Model

Note

This data class is at a trial use maturity level and may change in future releases. Maturity levels are described in the GKS Maturity Model.

Computational Definition

A representation of the state of one or more biomolecules.

GA4GH Digest

Prefix

Inherent

None

[‘type’]

Information Model

Some Variation attributes are inherited from GA4GH Identifiable Object.

Field

Flags

Type

Limits

Description

id

string

0..1

The ‘logical’ identifier of the Entity in the system of record, e.g. a UUID. This ‘id’ is unique within a given system, but may or may not be globally unique outside the system. It is used within a system to reference an object from another.

type

string

1..1

name

string

0..1

A primary name for the entity.

description

string

0..1

A free-text description of the Entity.

aliases

string

0..m

Alternative name(s) for the Entity.

extensions

Extension

0..m

A list of extensions to the Entity, that allow for capture of information not directly supported by elements defined in the model.

digest

string

0..1

A sha512t24u digest created using the VRS Computed Identifier algorithm.

expressions

Expression

0..m

Components

Expression

An Expression is a data class used only by Variation objects. It is used to represent variants using other syntaxes, including HGVS and SPDI.

Note

This data class is at a trial use maturity level and may change in future releases. Maturity levels are described in the GKS Maturity Model.

Computational Definition

Representation of a variation by a specified nomenclature or syntax for a Variation object. Common examples of expressions for the description of molecular variation include the HGVS and ISCN nomenclatures.

Information Model

Some Expression attributes are inherited from Element.

Field

Flags

Type

Limits

Description

id

string

0..1

The ‘logical’ identifier of the data element in the system of record, e.g. a UUID. This ‘id’ is unique within a given system, but may or may not be globally unique outside the system. It is used within a system to reference an object from another.

extensions

Extension

0..m

A list of extensions to the Entity, that allow for capture of information not directly supported by elements defined in the model.

syntax

string

1..1

The syntax used to describe the variation. The value should be one of the supported syntaxes.

value

string

1..1

The expression of the variation in the specified syntax. The value should be a valid expression in the specified syntax.

syntax_version

string

0..1

The version of the syntax used to describe the variation. This is particularly important for HGVS expressions, as the syntax has evolved over time.

Entity

imported

Note

This data class is at a trial use maturity level and may change in future releases. Maturity levels are described in the GKS Maturity Model.

Computational Definition

Anything that exists, has existed, or will exist.

Information Model

Field

Flags

Type

Limits

Description

id

string

0..1

The ‘logical’ identifier of the Entity in the system of record, e.g. a UUID. This ‘id’ is unique within a given system, but may or may not be globally unique outside the system. It is used within a system to reference an object from another.

type

string

1..1

The name of the class that is instantiated by a data object representing the Entity.

name

string

0..1

A primary name for the entity.

description

string

0..1

A free-text description of the Entity.

aliases

string

0..m

Alternative name(s) for the Entity.

extensions

Extension

0..m

A list of extensions to the Entity, that allow for capture of information not directly supported by elements defined in the model.

Element

imported

Note

This data class is at a trial use maturity level and may change in future releases. Maturity levels are described in the GKS Maturity Model.

Computational Definition

The base definition for all identifiable data objects.

Information Model

Field

Flags

Type

Limits

Description

id

string

0..1

The ‘logical’ identifier of the data element in the system of record, e.g. a UUID. This ‘id’ is unique within a given system, but may or may not be globally unique outside the system. It is used within a system to reference an object from another.

extensions

Extension

0..m

A list of extensions to the Entity, that allow for capture of information not directly supported by elements defined in the model.

General Purposes Types

General purpose data types.

Extension

imported

Note

This data class is at a trial use maturity level and may change in future releases. Maturity levels are described in the GKS Maturity Model.

Computational Definition

The Extension class provides entities with a means to include additional attributes that are outside of the specified standard but needed by a given content provider or system implementer. These extensions are not expected to be natively understood, but may be used for pre-negotiated exchange of message attributes between systems.

Information Model

Some Extension attributes are inherited from Element.

Field

Flags

Type

Limits

Description

id

string

0..1

The ‘logical’ identifier of the data element in the system of record, e.g. a UUID. This ‘id’ is unique within a given system, but may or may not be globally unique outside the system. It is used within a system to reference an object from another.

extensions

Extension

0..m

A list of extensions to the Entity, that allow for capture of information not directly supported by elements defined in the model.

name

string

1..1

A name for the Extension. Should be indicative of its meaning and/or the type of information it value represents.

value

[‘number’, ‘string’, ‘boolean’, ‘object’, ‘array’, ‘null’]

1..1

The value of the Extension - can be any primitive or structured object

description

string

0..1

A description of the meaning or utility of the Extension, to explain the type of information it is meant to hold.

Mappable Concept

imported

Note

This data class is at a trial use maturity level and may change in future releases. Maturity levels are described in the GKS Maturity Model.

Computational Definition

A concept based on a primaryCoding and/or name that may be mapped to one or more other Codings.

Information Model

Some MappableConcept attributes are inherited from Element.

Field

Flags

Type

Limits

Description

id

string

0..1

The ‘logical’ identifier of the data element in the system of record, e.g. a UUID. This ‘id’ is unique within a given system, but may or may not be globally unique outside the system. It is used within a system to reference an object from another.

extensions

Extension

0..m

A list of extensions to the Entity, that allow for capture of information not directly supported by elements defined in the model.

conceptType

string

0..1

A term indicating the type of concept being represented by the MappableConcept.

name

string

0..1

A primary name for the concept.

primaryCoding

Coding

0..1

A primary coding for the concept.

mappings

Concept Mapping

0..m

A list of mappings to concepts in terminologies or code systems. Each mapping should include a coding and a relation.

Concept Mapping

imported

Note

This data class is at a trial use maturity level and may change in future releases. Maturity levels are described in the GKS Maturity Model.

Computational Definition

A mapping to a concept in a terminology or code system.

Information Model

Some ConceptMapping attributes are inherited from Element.

Field

Flags

Type

Limits

Description

id

string

0..1

The ‘logical’ identifier of the data element in the system of record, e.g. a UUID. This ‘id’ is unique within a given system, but may or may not be globally unique outside the system. It is used within a system to reference an object from another.

extensions

Extension

0..m

A list of extensions to the Entity, that allow for capture of information not directly supported by elements defined in the model.

coding

Coding

1..1

A structured representation of a code for a defined concept in a terminology or code system.

relation

string

1..1

A mapping relation between concepts as defined by the Simple Knowledge Organization System (SKOS).

Coding

imported

Note

This data class is at a trial use maturity level and may change in future releases. Maturity levels are described in the GKS Maturity Model.

Computational Definition

A structured representation of a code for a defined concept in a terminology or code system.

Information Model

Some Coding attributes are inherited from Element.

Field

Flags

Type

Limits

Description

id

string

0..1

The ‘logical’ identifier of the data element in the system of record, e.g. a UUID. This ‘id’ is unique within a given system, but may or may not be globally unique outside the system. It is used within a system to reference an object from another.

extensions

Extension

0..m

A list of extensions to the Entity, that allow for capture of information not directly supported by elements defined in the model.

name

string

0..1

The human-readable name for the coded concept, as defined by the code system.

system

string

1..1

The terminology/code system that defined the code. May be reported as a free-text name (e.g. ‘Sequence Ontology’), but it is preferable to provide a uri/url for the system.

systemVersion

string

0..1

Version of the terminology or code system that provided the code.

code

code

1..1

A symbol uniquely identifying the concept, as in a syntax defined by the code system. e.g. ‘civic.did:30’, ‘MONDO:005061’, and ‘C3512’ are codes defined by different systems for representing the concept of ‘lung adenocarcinoma’. If a dereferencable identifier is available for the code, it should be provided in the iris field.

iris

iriReference

0..m

A list of IRIs that are associated with the coding. This can be used to provide additional context or to link to additional information about the concept.

Primitive Types

Primitive types represent simple values with syntactic or other constraints. They enable correctness for values stored in VRS.

Range

Note

This data class is at a trial use maturity level and may change in future releases. Maturity levels are described in the GKS Maturity Model.

Computational Definition

An inclusive range of values bounded by one or more integers.

residue

Note

This data class is at a trial use maturity level and may change in future releases. Maturity levels are described in the GKS Maturity Model.

Computational Definition

A character representing a specific residue (i.e., molecular species) or groupings of these (“ambiguity codes”), using one-letter IUPAC abbreviations for nucleic acids and amino acids.

sequenceString

Note

This data class is at a trial use maturity level and may change in future releases. Maturity levels are described in the GKS Maturity Model.

Computational Definition

A character string of residues that represents a biological sequence using the conventional sequence order (5’-to-3’ for nucleic acid sequences, and amino-to-carboxyl for amino acid sequences). IUPAC ambiguity codes are permitted in Sequence Strings.

code

imported

Note

This data class is at a trial use maturity level and may change in future releases. Maturity levels are described in the GKS Maturity Model.

Computational Definition

Indicates that the value is taken from a set of controlled strings defined elsewhere. Technically, a code is restricted to a string which has at least one character and no leading or trailing whitespace, and where there is no whitespace other than single spaces in the contents.

iriReference

imported

Note

This data class is at a trial use maturity level and may change in future releases. Maturity levels are described in the GKS Maturity Model.

Computational Definition

An IRI Reference (either an IRI or a relative-reference), according to RFC3986 section 4.1 and RFC3987 section 2.1. MAY be a JSON Pointer as an IRI fragment, as described by RFC6901 section 6.