Derivative Molecule

New in v2

The DerivativeMolecule class was added in v2 to describe molecules resulting from structural variation.

A derivative molecule is created by two or more adjoined molecular structures. The DerivativeMolecule class may be used to represent molecules resulting from genomic rearrangements such as inversions or translocations.

Definition and Information Model

Warning

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

Computational Definition

A molecule derived from segments of multiple adjoined molecular sequences, typically resulting from structural variation.

GA4GH Digest

Prefix

Inherent

DM

[‘components’, ‘type’]

Information Model

Some DerivativeMolecule attributes are inherited from Variation.

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.

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

type

string

1..1

MUST be “DerivativeMolecule”.

components

iriReference | Allele | Cis-Phased Block | Terminus | Traversal Block

2..m

The molecular components that constitute the derivative molecule.

circular

boolean

0..1

A boolean indicating whether the molecule represented by the sequence is circular (true) or linear (false).

Components

Traversal Block

The TraversalBlock is a key component of the DerivativeMolecule class, and is used for resolving the orientation of double-stranded nucleic acid molecules when assembled into a derivative molecule.

Warning

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

Computational Definition

A component used to describe the orientation of applicable molecular variation within a DerivativeMolecule.

GA4GH Digest

Prefix

Inherent

None

[‘type’, ‘component’, ‘orientation’]

Information Model

Some TraversalBlock 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.

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.

type

string

1..1

MUST be “TraversalBlock”.

component

Adjacency

0..1

The unoriented molecular variation component.

orientation

string

0..1

The orientation of the molecular variation component.

Example

{
   "id": "ga4gh:DM.wthhP9ryLEU1ueo6V25gqbSVJC8H4z-M",
   "type": "DerivativeMolecule",
   "components": [
      {
         "type": "TraversalBlock",
         "orientation": "forward",
         "component": {
            "type": "Adjacency",
            "linker": {
               "type": "LiteralSequenceExpression",
               "sequence": "GTC"
            },
            "adjoinedSequences": [
               {
                  "type": "SequenceLocation",
                  "sequenceReference": {
                     "type": "SequenceReference",
                     "refgetAccession": "SQ.S_KjnFVz-FE7M0W6yoaUDgYxLPc1jyWU",
                     "residueAlphabet": "na",
                     "id": "NC_000001.10"
                  },
                  "end": 123
               },
               {
                  "type": "SequenceLocation",
                  "sequenceReference": {
                     "type": "SequenceReference",
                     "refgetAccession": "SQ.9KdcA9ZpY1Cpvxvg8bMSLYDUpsX6GDLO",
                     "residueAlphabet": "na",
                     "id": "NC_000002.11"
                  },
                  "start": 500
               }
            ]
         }
      },
      {
         "type": "TraversalBlock",
         "orientation": "forward",
         "component": {
            "type": "Adjacency",
            "adjoinedSequences": [
               {
                  "type": "SequenceLocation",
                  "end": 15000
               },
               {
                  "type": "SequenceLocation",
                  "sequenceReference": {
                     "type": "SequenceReference",
                     "refgetAccession": "SQ.S_KjnFVz-FE7M0W6yoaUDgYxLPc1jyWU",
                     "residueAlphabet": "na",
                     "id": "NC_000001.10"
                  },
                  "start": 10000
               }
            ]
         }
      }
   ]
}