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 |
⋮ | 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 |
⋮ | 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 |
⋮ | 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 |
⋮ | 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 |
⋮ | 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 |
⋮ | 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 |
⋮ | 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 |
⋮ | 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 |
0..1 |
A primary coding for the concept. |
||
mappings |
⋮ | 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 |
⋮ | 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 |
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 |
⋮ | 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 |
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 |
⋮ | 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.