This is the Continuous Integration Build of FHIR (will be incorrect/inconsistent at times).
See the Directory of published versions
Clinical Genomics ![]() | Maturity Level: 0 | Trial Use | Security Category: N/A | Compartments: No defined compartments |
Definitional content for a molecular entity, such as a nucleotide or protein sequence.
Note to Implementers: Molecular Definition resource will replace Molecular Sequence resource. Current page of the Molecular Sequence is temporarily available for referencing and review purposes.
The MolecularDefinition resource represents molecular entities (e.g., nucleotide or protein sequences) for both clinical and non-clinical use cases, including translational research. The resource is definitional, in that it focuses on discrete, computable, and semantically expressive data structures that reflect the genomic domain. Because the resource focuses on the molecular entities rather than specimen source or annotated knowledge, it supports both patient/participant-specific use cases and population-based data, and both human and non-human data.
The MolecularDefinition resource itself is abstract, but it supports profiles for core molecular concepts, including Sequence (nucleotide and protein), Allele, Variation, Haplotype, and Genotype. Support for additional molecular types, such as structural variation, fusions, and biomarkers, will be considered in the future.
Use cases supported by this resource include but are not limited to:
Use cases often require expression of the same genomic concept in different ways. Since the concept is the same and only the serialization of it differs, the Molecular Definition resource supports multiple approaches to representing molecular sequences. This allows senders and receivers of messages to choose a sequence representation that is most intuitive for the particular use case.
It is important to note that all representations of a given sequence MUST resolve to the exact same primary sequence. Therefore, if a single instance of MolecularDefinition contains one literal
, two resolvable
files, and a code
, all four of those representations must represent the same sequence. Note that this equivalence does not apply to metadata or annotations that are outside the scope of the Molecular Definition resource, since those data are not definitional to the molecule.
The MolecularDefinition resource should be profiled and used to capture representations of molecular concepts such as sequence, allele, haplotype, and genotype.
This resource does not capture workflow (e.g., test ordering/resulting process), the method of obtaining or specifying the molecular content (e.g., the test or assay), or the interpretation of the results (e.g., clinical impact). Those concepts will be captured by profiles of Observation and by the Genomic Study resource. In particular, the Genomics Reporting Implementation Guide contains extensive support for the observation and reporting of clinical genomic results.
Structure
Name | Flags | Card. | Type | Description & Constraints![]() |
---|---|---|---|---|
![]() ![]() |
TU | DomainResource | Definitional content for a molecular entity Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
![]() ![]() ![]() |
Σ | 0..* | Identifier | Unique ID of an instance |
![]() ![]() ![]() |
0..1 | markdown | Description of the Molecular Definition instance | |
![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | The type of molecule (e.g., DNA, RNA, amino acid) |
![]() ![]() ![]() |
Σ | 0..* | CodeableConcept | Classification of the molecule into types other than those defined by moleculeType |
![]() ![]() ![]() |
Σ | 0..* | CodeableConcept | The structural topology of the molecular entity (e.g., linear, circular) |
![]() ![]() ![]() |
Σ | 0..* | Reference(MolecularDefinition) | Reserved for future profiles (e.g., haplotype, genotype) |
![]() ![]() ![]() |
Σ | 0..* | BackboneElement | A defined location on a molecular entity |
![]() ![]() ![]() ![]() |
Σ | 0..1 | BackboneElement | A coordinate-based location on a sequence |
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | Reference(MolecularDefinition) | The sequence on which the location is defined |
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | BackboneElement | An interval on a sequence |
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | BackboneElement | The coordinate system used to define the location |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | The type of coordinate system used Binding: LL5323-2 ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | The location of the origin of the coordinate system |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | The normalization method used for determining a location within the coordinate system |
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | The start location of the interval | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Quantity | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Range | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | The end location of the interval | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Quantity | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Range | |||
![]() ![]() ![]() ![]() ![]() |
0..1 | CodeableConcept | The strand at the coordinateInterval | |
![]() ![]() ![]() ![]() |
Σ | 0..1 | BackboneElement | A cytoband-based location on a sequence |
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | BackboneElement | Reference Genome |
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | CodeableConcept | Species of the organism | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | CodeableConcept | Build number | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | CodeableConcept | Accession | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | Genome assembly description | ||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
markdown | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
string | |||
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | BackboneElement | Cytoband Interval |
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | CodeableConcept | Chromosome |
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | BackboneElement | Start |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | Arm | ||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
code | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
string | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | Region | ||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
code | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
string | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | Band | ||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
code | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
string | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | Sub-band | ||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
code | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
string | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | BackboneElement | End |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | Arm | ||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
code | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
string | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | Region | ||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
code | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
string | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | Band | ||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
code | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
string | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | SuBand | ||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
code | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
string | |||
![]() ![]() ![]() ![]() |
Σ | 0..* | string | Reserved and possibly deprecated |
![]() ![]() ![]() |
Σ | 0..* | BackboneElement | A representation of a molecular entity |
![]() ![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | The domain concept that is the focus of a given instance of the representation |
![]() ![]() ![]() ![]() |
Σ | 0..* | CodeableConcept | A code (e.g., sequence accession number) used to represent a molecular entity |
![]() ![]() ![]() ![]() |
Σ | 0..1 | BackboneElement | A molecular entity defined as a string literal |
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | The encoding used in the value |
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | string | A string literal representation of the molecular entity, using the encoding specified in encoding |
![]() ![]() ![]() ![]() |
Σ | 0..1 | Reference(DocumentReference) | A resolvable representation of a molecular entity (e.g., URI, attached and formatted file) |
![]() ![]() ![]() ![]() |
Σ | 0..1 | BackboneElement | A molecular entity that is represented as a portion of a different entity |
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | Reference(MolecularDefinition) | The molecular entity that serves as the conceptual 'parent' from which the intended entity is derived |
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | BackboneElement | The interval on startingMolecule that defines the portion to be extracted to produce the intended entity |
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | BackboneElement | The coordinate system used to define the location |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | The type of coordinate system used Binding: LL5323-2 ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | The location of the origin of the coordinate system |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | The normalization method used for determining a location within the coordinate system |
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | The start location of the interval | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Quantity | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Range | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | The end location of the interval | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Quantity | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Range | |||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | A flag that indicates whether the extracted sequence should be reverse complemented |
![]() ![]() ![]() ![]() |
Σ | 0..1 | BackboneElement | A representation as a repeated motif |
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | Reference(MolecularDefinition) | The motif that is repeated |
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | integer | The number of copies of the motif |
![]() ![]() ![]() ![]() |
Σ | 0..1 | BackboneElement | An ordered concatenation of molecular entities |
![]() ![]() ![]() ![]() ![]() |
Σ | 1..* | BackboneElement | One of the concatenated entities |
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | Reference(MolecularDefinition) | A reference to the sequence that defines this specific concatenated element |
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | integer | The ordinal index of the element within the concatenated representation |
![]() ![]() ![]() ![]() |
Σ | 0..1 | BackboneElement | A molecular entity represented as an ordered series of edits on a specified starting entity |
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | Reference(MolecularDefinition) | The molecular entity on which edits will be applied |
![]() ![]() ![]() ![]() ![]() |
Σ | 0..* | BackboneElement | A defined edit (change) to be applied |
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | integer | Defines the order of edits when multiple edits are to be applied to the startingMolecule | |
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | BackboneElement | The interval on startingMolecule that defines the portion to be extracted to produce the intended entity |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | BackboneElement | The coordinate system used to define the location |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | The type of coordinate system used Binding: LL5323-2 ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | The location of the origin of the coordinate system |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | The normalization method used for determining a location within the coordinate system |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | The start location of the interval | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Quantity | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Range | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | The end location of the interval | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Quantity | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Range | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | Reference(MolecularDefinition) | The molecular entity that serves as the replacement in the edit operation |
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | Reference(MolecularDefinition) | The portion of the molecular entity that is replaced by the replacementMolecule |
![]() ![]() |
See the Extensions for this resource
UML Diagram (Legend)
XML Template
<MolecularDefinition xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Unique ID of an instance --></identifier> <description value="[markdown]"/><!-- 0..1 Description of the Molecular Definition instance --> <moleculeType><!-- 0..1 CodeableConcept The type of molecule (e.g., DNA, RNA, amino acid) --></moleculeType> <type><!-- 0..* CodeableConcept Classification of the molecule into types other than those defined by moleculeType --></type> <topology><!-- 0..* CodeableConcept The structural topology of the molecular entity (e.g., linear, circular) --></topology> <memberState><!-- 0..* Reference(MolecularDefinition) Reserved for future profiles (e.g., haplotype, genotype) --></memberState> <location> <!-- 0..* A defined location on a molecular entity --> <sequenceLocation> <!-- 0..1 A coordinate-based location on a sequence --> <sequenceContext><!-- 1..1 Reference(MolecularDefinition) The sequence on which the location is defined --></sequenceContext> <coordinateInterval> <!-- 0..1 An interval on a sequence --> <coordinateSystem> <!-- 0..1 The coordinate system used to define the location --> <system><!-- 0..1 CodeableConcept The type of coordinate system used
--></system> <origin><!-- 0..1 CodeableConcept The location of the origin of the coordinate system --></origin> <normalizationMethod><!-- 0..1 CodeableConcept The normalization method used for determining a location within the coordinate system --></normalizationMethod> </coordinateSystem> <start[x]><!-- 0..1 Quantity|Range The start location of the interval --></start[x]> <end[x]><!-- 0..1 Quantity|Range The end location of the interval --></end[x]> </coordinateInterval> <strand><!-- 0..1 CodeableConcept The strand at the coordinateInterval --></strand> </sequenceLocation> <cytobandLocation> <!-- 0..1 A cytoband-based location on a sequence --> <genomeAssembly> <!-- 1..1 Reference Genome --> <organism><!-- 0..1 CodeableConcept Species of the organism --></organism> <build><!-- 0..1 CodeableConcept Build number --></build> <accession><!-- 0..1 CodeableConcept Accession --></accession> <description[x]><!-- 0..1 markdown|string Genome assembly description --></description[x]> </genomeAssembly> <cytobandInterval> <!-- 1..1 Cytoband Interval --> <chromosome><!-- 1..1 CodeableConcept Chromosome --></chromosome> <startCytoband> <!-- 0..1 Start --> <arm[x]><!-- 0..1 code|string Arm --></arm[x]> <region[x]><!-- 0..1 code|string Region --></region[x]> <band[x]><!-- 0..1 code|string Band --></band[x]> <subBand[x]><!-- 0..1 code|string Sub-band --></subBand[x]> </startCytoband> <endCytoband> <!-- 0..1 End --> <arm[x]><!-- 0..1 code|string Arm --></arm[x]> <region[x]><!-- 0..1 code|string Region --></region[x]> <band[x]><!-- 0..1 code|string Band --></band[x]> <subBand[x]><!-- 0..1 code|string SuBand --></subBand[x]> </endCytoband> </cytobandInterval> </cytobandLocation> <featureLocation value="[string]"/><!-- 0..* Reserved and possibly deprecated --> </location> <representation> <!-- 0..* A representation of a molecular entity --> <focus><!-- 0..1 CodeableConcept The domain concept that is the focus of a given instance of the representation --></focus> <code><!-- 0..* CodeableConcept A code (e.g., sequence accession number) used to represent a molecular entity --></code> <literal> <!-- 0..1 A molecular entity defined as a string literal --> <encoding><!-- 0..1 CodeableConcept The encoding used in the value --></encoding> <value value="[string]"/><!-- 1..1 A string literal representation of the molecular entity, using the encoding specified in encoding --> </literal> <resolvable><!-- 0..1 Reference(DocumentReference) A resolvable representation of a molecular entity (e.g., URI, attached and formatted file) --></resolvable> <extracted> <!-- 0..1 A molecular entity that is represented as a portion of a different entity --> <startingMolecule><!-- 1..1 Reference(MolecularDefinition) The molecular entity that serves as the conceptual 'parent' from which the intended entity is derived --></startingMolecule> <coordinateInterval> <!-- 0..1 The interval on startingMolecule that defines the portion to be extracted to produce the intended entity --> <coordinateSystem> <!-- 0..1 The coordinate system used to define the location --> <system><!-- 0..1 CodeableConcept The type of coordinate system used
--></system> <origin><!-- 0..1 CodeableConcept The location of the origin of the coordinate system --></origin> <normalizationMethod><!-- 0..1 CodeableConcept The normalization method used for determining a location within the coordinate system --></normalizationMethod> </coordinateSystem> <start[x]><!-- 0..1 Quantity|Range The start location of the interval --></start[x]> <end[x]><!-- 0..1 Quantity|Range The end location of the interval --></end[x]> </coordinateInterval> <reverseComplement value="[boolean]"/><!-- 0..1 A flag that indicates whether the extracted sequence should be reverse complemented --> </extracted> <repeated> <!-- 0..1 A representation as a repeated motif --> <sequenceMotif><!-- 1..1 Reference(MolecularDefinition) The motif that is repeated --></sequenceMotif> <copyCount value="[integer]"/><!-- 1..1 The number of copies of the motif --> </repeated> <concatenated> <!-- 0..1 An ordered concatenation of molecular entities --> <sequenceElement> <!-- 1..* One of the concatenated entities --> <sequence><!-- 1..1 Reference(MolecularDefinition) A reference to the sequence that defines this specific concatenated element --></sequence> <ordinalIndex value="[integer]"/><!-- 1..1 The ordinal index of the element within the concatenated representation --> </sequenceElement> </concatenated> <relative> <!-- 0..1 A molecular entity represented as an ordered series of edits on a specified starting entity --> <startingMolecule><!-- 1..1 Reference(MolecularDefinition) The molecular entity on which edits will be applied --></startingMolecule> <edit> <!-- 0..* A defined edit (change) to be applied --> <editOrder value="[integer]"/><!-- 0..1 Defines the order of edits when multiple edits are to be applied to the startingMolecule --> <coordinateInterval> <!-- 0..1 The interval on startingMolecule that defines the portion to be extracted to produce the intended entity --> <coordinateSystem> <!-- 0..1 The coordinate system used to define the location --> <system><!-- 0..1 CodeableConcept The type of coordinate system used
--></system> <origin><!-- 0..1 CodeableConcept The location of the origin of the coordinate system --></origin> <normalizationMethod><!-- 0..1 CodeableConcept The normalization method used for determining a location within the coordinate system --></normalizationMethod> </coordinateSystem> <start[x]><!-- 0..1 Quantity|Range The start location of the interval --></start[x]> <end[x]><!-- 0..1 Quantity|Range The end location of the interval --></end[x]> </coordinateInterval> <replacementMolecule><!-- 1..1 Reference(MolecularDefinition) The molecular entity that serves as the replacement in the edit operation --></replacementMolecule> <replacedMolecule><!-- 0..1 Reference(MolecularDefinition) The portion of the molecular entity that is replaced by the replacementMolecule --></replacedMolecule> </edit> </relative> </representation> </MolecularDefinition>
JSON Template
{"resourceType" : "MolecularDefinition", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Unique ID of an instance "description" : "<markdown>", // Description of the Molecular Definition instance "moleculeType" : { CodeableConcept }, // The type of molecule (e.g., DNA, RNA, amino acid) "type" : [{ CodeableConcept }], // Classification of the molecule into types other than those defined by moleculeType "topology" : [{ CodeableConcept }], // The structural topology of the molecular entity (e.g., linear, circular) "memberState" : [{ Reference(MolecularDefinition) }], // Reserved for future profiles (e.g., haplotype, genotype) "location" : [{ // A defined location on a molecular entity "sequenceLocation" : { // A coordinate-based location on a sequence "sequenceContext" : { Reference(MolecularDefinition) }, // R! The sequence on which the location is defined "coordinateInterval" : { // An interval on a sequence "coordinateSystem" : { // The coordinate system used to define the location "system" : { CodeableConcept }, // The type of coordinate system used
"origin" : { CodeableConcept }, // The location of the origin of the coordinate system "normalizationMethod" : { CodeableConcept } // The normalization method used for determining a location within the coordinate system }, // start[x]: The start location of the interval. One of these 2: "startQuantity" : { Quantity }, "startRange" : { Range }, // end[x]: The end location of the interval. One of these 2: "endQuantity" : { Quantity }, "endRange" : { Range } }, "strand" : { CodeableConcept } // The strand at the coordinateInterval }, "cytobandLocation" : { // A cytoband-based location on a sequence "genomeAssembly" : { // R! Reference Genome "organism" : { CodeableConcept }, // Species of the organism "build" : { CodeableConcept }, // Build number "accession" : { CodeableConcept }, // Accession // description[x]: Genome assembly description. One of these 2: "descriptionMarkdown" : "<markdown>", "descriptionString" : "<string>" }, "cytobandInterval" : { // R! Cytoband Interval "chromosome" : { CodeableConcept }, // R! Chromosome "startCytoband" : { // Start // arm[x]: Arm. One of these 2: "armCode" : "<code>", "armString" : "<string>", // region[x]: Region. One of these 2: "regionCode" : "<code>", "regionString" : "<string>", // band[x]: Band. One of these 2: "bandCode" : "<code>", "bandString" : "<string>", // subBand[x]: Sub-band. One of these 2: "subBandCode" : "<code>", "subBandString" : "<string>" }, "endCytoband" : { // End // arm[x]: Arm. One of these 2: "armCode" : "<code>", "armString" : "<string>", // region[x]: Region. One of these 2: "regionCode" : "<code>", "regionString" : "<string>", // band[x]: Band. One of these 2: "bandCode" : "<code>", "bandString" : "<string>", // subBand[x]: SuBand. One of these 2: "subBandCode" : "<code>", "subBandString" : "<string>" } } }, "featureLocation" : ["<string>"] // Reserved and possibly deprecated }], "representation" : [{ // A representation of a molecular entity "focus" : { CodeableConcept }, // The domain concept that is the focus of a given instance of the representation "code" : [{ CodeableConcept }], // A code (e.g., sequence accession number) used to represent a molecular entity "literal" : { // A molecular entity defined as a string literal "encoding" : { CodeableConcept }, // The encoding used in the value "value" : "<string>" // R! A string literal representation of the molecular entity, using the encoding specified in encoding }, "resolvable" : { Reference(DocumentReference) }, // A resolvable representation of a molecular entity (e.g., URI, attached and formatted file) "extracted" : { // A molecular entity that is represented as a portion of a different entity "startingMolecule" : { Reference(MolecularDefinition) }, // R! The molecular entity that serves as the conceptual 'parent' from which the intended entity is derived "coordinateInterval" : { // The interval on startingMolecule that defines the portion to be extracted to produce the intended entity "coordinateSystem" : { // The coordinate system used to define the location "system" : { CodeableConcept }, // The type of coordinate system used
"origin" : { CodeableConcept }, // The location of the origin of the coordinate system "normalizationMethod" : { CodeableConcept } // The normalization method used for determining a location within the coordinate system }, // start[x]: The start location of the interval. One of these 2: "startQuantity" : { Quantity }, "startRange" : { Range }, // end[x]: The end location of the interval. One of these 2: "endQuantity" : { Quantity }, "endRange" : { Range } }, "reverseComplement" : <boolean> // A flag that indicates whether the extracted sequence should be reverse complemented }, "repeated" : { // A representation as a repeated motif "sequenceMotif" : { Reference(MolecularDefinition) }, // R! The motif that is repeated "copyCount" : <integer> // R! The number of copies of the motif }, "concatenated" : { // An ordered concatenation of molecular entities "sequenceElement" : [{ // R! One of the concatenated entities "sequence" : { Reference(MolecularDefinition) }, // R! A reference to the sequence that defines this specific concatenated element "ordinalIndex" : <integer> // R! The ordinal index of the element within the concatenated representation }] }, "relative" : { // A molecular entity represented as an ordered series of edits on a specified starting entity "startingMolecule" : { Reference(MolecularDefinition) }, // R! The molecular entity on which edits will be applied "edit" : [{ // A defined edit (change) to be applied "editOrder" : <integer>, // Defines the order of edits when multiple edits are to be applied to the startingMolecule "coordinateInterval" : { // The interval on startingMolecule that defines the portion to be extracted to produce the intended entity "coordinateSystem" : { // The coordinate system used to define the location "system" : { CodeableConcept }, // The type of coordinate system used
"origin" : { CodeableConcept }, // The location of the origin of the coordinate system "normalizationMethod" : { CodeableConcept } // The normalization method used for determining a location within the coordinate system }, // start[x]: The start location of the interval. One of these 2: "startQuantity" : { Quantity }, "startRange" : { Range }, // end[x]: The end location of the interval. One of these 2: "endQuantity" : { Quantity }, "endRange" : { Range } }, "replacementMolecule" : { Reference(MolecularDefinition) }, // R! The molecular entity that serves as the replacement in the edit operation "replacedMolecule" : { Reference(MolecularDefinition) } // The portion of the molecular entity that is replaced by the replacementMolecule }] } }] }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:MolecularDefinition; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:identifier ( [ Identifier ] ... ) ; # 0..* Unique ID of an instance fhir:description [ markdown ] ; # 0..1 Description of the Molecular Definition instance fhir:moleculeType [ CodeableConcept ] ; # 0..1 The type of molecule (e.g., DNA, RNA, amino acid) fhir:type ( [ CodeableConcept ] ... ) ; # 0..* Classification of the molecule into types other than those defined by moleculeType fhir:topology ( [ CodeableConcept ] ... ) ; # 0..* The structural topology of the molecular entity (e.g., linear, circular) fhir:memberState ( [ Reference(MolecularDefinition) ] ... ) ; # 0..* Reserved for future profiles (e.g., haplotype, genotype) fhir:location ( [ # 0..* A defined location on a molecular entity fhir:sequenceLocation [ # 0..1 A coordinate-based location on a sequence fhir:sequenceContext [ Reference(MolecularDefinition) ] ; # 1..1 The sequence on which the location is defined fhir:coordinateInterval [ # 0..1 An interval on a sequence fhir:coordinateSystem [ # 0..1 The coordinate system used to define the location fhir:system [ CodeableConcept ] ; # 0..1 The type of coordinate system used fhir:origin [ CodeableConcept ] ; # 0..1 The location of the origin of the coordinate system fhir:normalizationMethod [ CodeableConcept ] ; # 0..1 The normalization method used for determining a location within the coordinate system ] ; # start[x] : 0..1 The start location of the interval. One of these 2 fhir:start [ a fhir:Quantity ; Quantity ] fhir:start [ a fhir:Range ; Range ] # end[x] : 0..1 The end location of the interval. One of these 2 fhir:end [ a fhir:Quantity ; Quantity ] fhir:end [ a fhir:Range ; Range ] ] ; fhir:strand [ CodeableConcept ] ; # 0..1 The strand at the coordinateInterval ] ; fhir:cytobandLocation [ # 0..1 A cytoband-based location on a sequence fhir:genomeAssembly [ # 1..1 Reference Genome fhir:organism [ CodeableConcept ] ; # 0..1 Species of the organism fhir:build [ CodeableConcept ] ; # 0..1 Build number fhir:accession [ CodeableConcept ] ; # 0..1 Accession # description[x] : 0..1 Genome assembly description. One of these 2 fhir:description [ a fhir:markdown ; markdown ] fhir:description [ a fhir:string ; string ] ] ; fhir:cytobandInterval [ # 1..1 Cytoband Interval fhir:chromosome [ CodeableConcept ] ; # 1..1 Chromosome fhir:startCytoband [ # 0..1 Start # arm[x] : 0..1 Arm. One of these 2 fhir:arm [ a fhir:code ; code ] fhir:arm [ a fhir:string ; string ] # region[x] : 0..1 Region. One of these 2 fhir:region [ a fhir:code ; code ] fhir:region [ a fhir:string ; string ] # band[x] : 0..1 Band. One of these 2 fhir:band [ a fhir:code ; code ] fhir:band [ a fhir:string ; string ] # subBand[x] : 0..1 Sub-band. One of these 2 fhir:subBand [ a fhir:code ; code ] fhir:subBand [ a fhir:string ; string ] ] ; fhir:endCytoband [ # 0..1 End # arm[x] : 0..1 Arm. One of these 2 fhir:arm [ a fhir:code ; code ] fhir:arm [ a fhir:string ; string ] # region[x] : 0..1 Region. One of these 2 fhir:region [ a fhir:code ; code ] fhir:region [ a fhir:string ; string ] # band[x] : 0..1 Band. One of these 2 fhir:band [ a fhir:code ; code ] fhir:band [ a fhir:string ; string ] # subBand[x] : 0..1 SuBand. One of these 2 fhir:subBand [ a fhir:code ; code ] fhir:subBand [ a fhir:string ; string ] ] ; ] ; ] ; fhir:featureLocation ( [ string ] ... ) ; # 0..* Reserved and possibly deprecated ] ... ) ; fhir:representation ( [ # 0..* A representation of a molecular entity fhir:focus [ CodeableConcept ] ; # 0..1 The domain concept that is the focus of a given instance of the representation fhir:code ( [ CodeableConcept ] ... ) ; # 0..* A code (e.g., sequence accession number) used to represent a molecular entity fhir:literal [ # 0..1 A molecular entity defined as a string literal fhir:encoding [ CodeableConcept ] ; # 0..1 The encoding used in the value fhir:value [ string ] ; # 1..1 A string literal representation of the molecular entity, using the encoding specified in encoding ] ; fhir:resolvable [ Reference(DocumentReference) ] ; # 0..1 A resolvable representation of a molecular entity (e.g., URI, attached and formatted file) fhir:extracted [ # 0..1 A molecular entity that is represented as a portion of a different entity fhir:startingMolecule [ Reference(MolecularDefinition) ] ; # 1..1 The molecular entity that serves as the conceptual 'parent' from which the intended entity is derived fhir:coordinateInterval [ # 0..1 The interval on startingMolecule that defines the portion to be extracted to produce the intended entity fhir:coordinateSystem [ # 0..1 The coordinate system used to define the location fhir:system [ CodeableConcept ] ; # 0..1 The type of coordinate system used fhir:origin [ CodeableConcept ] ; # 0..1 The location of the origin of the coordinate system fhir:normalizationMethod [ CodeableConcept ] ; # 0..1 The normalization method used for determining a location within the coordinate system ] ; # start[x] : 0..1 The start location of the interval. One of these 2 fhir:start [ a fhir:Quantity ; Quantity ] fhir:start [ a fhir:Range ; Range ] # end[x] : 0..1 The end location of the interval. One of these 2 fhir:end [ a fhir:Quantity ; Quantity ] fhir:end [ a fhir:Range ; Range ] ] ; fhir:reverseComplement [ boolean ] ; # 0..1 A flag that indicates whether the extracted sequence should be reverse complemented ] ; fhir:repeated [ # 0..1 A representation as a repeated motif fhir:sequenceMotif [ Reference(MolecularDefinition) ] ; # 1..1 The motif that is repeated fhir:copyCount [ integer ] ; # 1..1 The number of copies of the motif ] ; fhir:concatenated [ # 0..1 An ordered concatenation of molecular entities fhir:sequenceElement ( [ # 1..* One of the concatenated entities fhir:sequence [ Reference(MolecularDefinition) ] ; # 1..1 A reference to the sequence that defines this specific concatenated element fhir:ordinalIndex [ integer ] ; # 1..1 The ordinal index of the element within the concatenated representation ] ... ) ; ] ; fhir:relative [ # 0..1 A molecular entity represented as an ordered series of edits on a specified starting entity fhir:startingMolecule [ Reference(MolecularDefinition) ] ; # 1..1 The molecular entity on which edits will be applied fhir:edit ( [ # 0..* A defined edit (change) to be applied fhir:editOrder [ integer ] ; # 0..1 Defines the order of edits when multiple edits are to be applied to the startingMolecule fhir:coordinateInterval [ # 0..1 The interval on startingMolecule that defines the portion to be extracted to produce the intended entity fhir:coordinateSystem [ # 0..1 The coordinate system used to define the location fhir:system [ CodeableConcept ] ; # 0..1 The type of coordinate system used fhir:origin [ CodeableConcept ] ; # 0..1 The location of the origin of the coordinate system fhir:normalizationMethod [ CodeableConcept ] ; # 0..1 The normalization method used for determining a location within the coordinate system ] ; # start[x] : 0..1 The start location of the interval. One of these 2 fhir:start [ a fhir:Quantity ; Quantity ] fhir:start [ a fhir:Range ; Range ] # end[x] : 0..1 The end location of the interval. One of these 2 fhir:end [ a fhir:Quantity ; Quantity ] fhir:end [ a fhir:Range ; Range ] ] ; fhir:replacementMolecule [ Reference(MolecularDefinition) ] ; # 1..1 The molecular entity that serves as the replacement in the edit operation fhir:replacedMolecule [ Reference(MolecularDefinition) ] ; # 0..1 The portion of the molecular entity that is replaced by the replacementMolecule ] ... ) ; ] ; ] ... ) ; ]
Changes from both R4 and R4B
This resource did not exist in Release R4
See the Full Difference for further information
This analysis is available for R4 as XML or JSON and for R4B as XML or JSON.
Structure
Name | Flags | Card. | Type | Description & Constraints![]() |
---|---|---|---|---|
![]() ![]() |
TU | DomainResource | Definitional content for a molecular entity Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
![]() ![]() ![]() |
Σ | 0..* | Identifier | Unique ID of an instance |
![]() ![]() ![]() |
0..1 | markdown | Description of the Molecular Definition instance | |
![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | The type of molecule (e.g., DNA, RNA, amino acid) |
![]() ![]() ![]() |
Σ | 0..* | CodeableConcept | Classification of the molecule into types other than those defined by moleculeType |
![]() ![]() ![]() |
Σ | 0..* | CodeableConcept | The structural topology of the molecular entity (e.g., linear, circular) |
![]() ![]() ![]() |
Σ | 0..* | Reference(MolecularDefinition) | Reserved for future profiles (e.g., haplotype, genotype) |
![]() ![]() ![]() |
Σ | 0..* | BackboneElement | A defined location on a molecular entity |
![]() ![]() ![]() ![]() |
Σ | 0..1 | BackboneElement | A coordinate-based location on a sequence |
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | Reference(MolecularDefinition) | The sequence on which the location is defined |
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | BackboneElement | An interval on a sequence |
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | BackboneElement | The coordinate system used to define the location |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | The type of coordinate system used Binding: LL5323-2 ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | The location of the origin of the coordinate system |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | The normalization method used for determining a location within the coordinate system |
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | The start location of the interval | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Quantity | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Range | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | The end location of the interval | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Quantity | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Range | |||
![]() ![]() ![]() ![]() ![]() |
0..1 | CodeableConcept | The strand at the coordinateInterval | |
![]() ![]() ![]() ![]() |
Σ | 0..1 | BackboneElement | A cytoband-based location on a sequence |
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | BackboneElement | Reference Genome |
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | CodeableConcept | Species of the organism | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | CodeableConcept | Build number | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | CodeableConcept | Accession | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | Genome assembly description | ||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
markdown | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
string | |||
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | BackboneElement | Cytoband Interval |
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | CodeableConcept | Chromosome |
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | BackboneElement | Start |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | Arm | ||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
code | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
string | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | Region | ||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
code | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
string | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | Band | ||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
code | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
string | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | Sub-band | ||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
code | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
string | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | BackboneElement | End |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | Arm | ||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
code | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
string | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | Region | ||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
code | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
string | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | Band | ||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
code | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
string | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | SuBand | ||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
code | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
string | |||
![]() ![]() ![]() ![]() |
Σ | 0..* | string | Reserved and possibly deprecated |
![]() ![]() ![]() |
Σ | 0..* | BackboneElement | A representation of a molecular entity |
![]() ![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | The domain concept that is the focus of a given instance of the representation |
![]() ![]() ![]() ![]() |
Σ | 0..* | CodeableConcept | A code (e.g., sequence accession number) used to represent a molecular entity |
![]() ![]() ![]() ![]() |
Σ | 0..1 | BackboneElement | A molecular entity defined as a string literal |
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | The encoding used in the value |
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | string | A string literal representation of the molecular entity, using the encoding specified in encoding |
![]() ![]() ![]() ![]() |
Σ | 0..1 | Reference(DocumentReference) | A resolvable representation of a molecular entity (e.g., URI, attached and formatted file) |
![]() ![]() ![]() ![]() |
Σ | 0..1 | BackboneElement | A molecular entity that is represented as a portion of a different entity |
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | Reference(MolecularDefinition) | The molecular entity that serves as the conceptual 'parent' from which the intended entity is derived |
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | BackboneElement | The interval on startingMolecule that defines the portion to be extracted to produce the intended entity |
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | BackboneElement | The coordinate system used to define the location |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | The type of coordinate system used Binding: LL5323-2 ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | The location of the origin of the coordinate system |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | The normalization method used for determining a location within the coordinate system |
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | The start location of the interval | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Quantity | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Range | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | The end location of the interval | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Quantity | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Range | |||
![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | boolean | A flag that indicates whether the extracted sequence should be reverse complemented |
![]() ![]() ![]() ![]() |
Σ | 0..1 | BackboneElement | A representation as a repeated motif |
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | Reference(MolecularDefinition) | The motif that is repeated |
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | integer | The number of copies of the motif |
![]() ![]() ![]() ![]() |
Σ | 0..1 | BackboneElement | An ordered concatenation of molecular entities |
![]() ![]() ![]() ![]() ![]() |
Σ | 1..* | BackboneElement | One of the concatenated entities |
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | Reference(MolecularDefinition) | A reference to the sequence that defines this specific concatenated element |
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | integer | The ordinal index of the element within the concatenated representation |
![]() ![]() ![]() ![]() |
Σ | 0..1 | BackboneElement | A molecular entity represented as an ordered series of edits on a specified starting entity |
![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | Reference(MolecularDefinition) | The molecular entity on which edits will be applied |
![]() ![]() ![]() ![]() ![]() |
Σ | 0..* | BackboneElement | A defined edit (change) to be applied |
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | integer | Defines the order of edits when multiple edits are to be applied to the startingMolecule | |
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | BackboneElement | The interval on startingMolecule that defines the portion to be extracted to produce the intended entity |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | BackboneElement | The coordinate system used to define the location |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | The type of coordinate system used Binding: LL5323-2 ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | The location of the origin of the coordinate system |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | CodeableConcept | The normalization method used for determining a location within the coordinate system |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | The start location of the interval | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Quantity | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Range | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | The end location of the interval | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Quantity | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Range | |||
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 1..1 | Reference(MolecularDefinition) | The molecular entity that serves as the replacement in the edit operation |
![]() ![]() ![]() ![]() ![]() ![]() |
Σ | 0..1 | Reference(MolecularDefinition) | The portion of the molecular entity that is replaced by the replacementMolecule |
![]() ![]() |
See the Extensions for this resource
XML Template
<MolecularDefinition xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Unique ID of an instance --></identifier> <description value="[markdown]"/><!-- 0..1 Description of the Molecular Definition instance --> <moleculeType><!-- 0..1 CodeableConcept The type of molecule (e.g., DNA, RNA, amino acid) --></moleculeType> <type><!-- 0..* CodeableConcept Classification of the molecule into types other than those defined by moleculeType --></type> <topology><!-- 0..* CodeableConcept The structural topology of the molecular entity (e.g., linear, circular) --></topology> <memberState><!-- 0..* Reference(MolecularDefinition) Reserved for future profiles (e.g., haplotype, genotype) --></memberState> <location> <!-- 0..* A defined location on a molecular entity --> <sequenceLocation> <!-- 0..1 A coordinate-based location on a sequence --> <sequenceContext><!-- 1..1 Reference(MolecularDefinition) The sequence on which the location is defined --></sequenceContext> <coordinateInterval> <!-- 0..1 An interval on a sequence --> <coordinateSystem> <!-- 0..1 The coordinate system used to define the location --> <system><!-- 0..1 CodeableConcept The type of coordinate system used
--></system> <origin><!-- 0..1 CodeableConcept The location of the origin of the coordinate system --></origin> <normalizationMethod><!-- 0..1 CodeableConcept The normalization method used for determining a location within the coordinate system --></normalizationMethod> </coordinateSystem> <start[x]><!-- 0..1 Quantity|Range The start location of the interval --></start[x]> <end[x]><!-- 0..1 Quantity|Range The end location of the interval --></end[x]> </coordinateInterval> <strand><!-- 0..1 CodeableConcept The strand at the coordinateInterval --></strand> </sequenceLocation> <cytobandLocation> <!-- 0..1 A cytoband-based location on a sequence --> <genomeAssembly> <!-- 1..1 Reference Genome --> <organism><!-- 0..1 CodeableConcept Species of the organism --></organism> <build><!-- 0..1 CodeableConcept Build number --></build> <accession><!-- 0..1 CodeableConcept Accession --></accession> <description[x]><!-- 0..1 markdown|string Genome assembly description --></description[x]> </genomeAssembly> <cytobandInterval> <!-- 1..1 Cytoband Interval --> <chromosome><!-- 1..1 CodeableConcept Chromosome --></chromosome> <startCytoband> <!-- 0..1 Start --> <arm[x]><!-- 0..1 code|string Arm --></arm[x]> <region[x]><!-- 0..1 code|string Region --></region[x]> <band[x]><!-- 0..1 code|string Band --></band[x]> <subBand[x]><!-- 0..1 code|string Sub-band --></subBand[x]> </startCytoband> <endCytoband> <!-- 0..1 End --> <arm[x]><!-- 0..1 code|string Arm --></arm[x]> <region[x]><!-- 0..1 code|string Region --></region[x]> <band[x]><!-- 0..1 code|string Band --></band[x]> <subBand[x]><!-- 0..1 code|string SuBand --></subBand[x]> </endCytoband> </cytobandInterval> </cytobandLocation> <featureLocation value="[string]"/><!-- 0..* Reserved and possibly deprecated --> </location> <representation> <!-- 0..* A representation of a molecular entity --> <focus><!-- 0..1 CodeableConcept The domain concept that is the focus of a given instance of the representation --></focus> <code><!-- 0..* CodeableConcept A code (e.g., sequence accession number) used to represent a molecular entity --></code> <literal> <!-- 0..1 A molecular entity defined as a string literal --> <encoding><!-- 0..1 CodeableConcept The encoding used in the value --></encoding> <value value="[string]"/><!-- 1..1 A string literal representation of the molecular entity, using the encoding specified in encoding --> </literal> <resolvable><!-- 0..1 Reference(DocumentReference) A resolvable representation of a molecular entity (e.g., URI, attached and formatted file) --></resolvable> <extracted> <!-- 0..1 A molecular entity that is represented as a portion of a different entity --> <startingMolecule><!-- 1..1 Reference(MolecularDefinition) The molecular entity that serves as the conceptual 'parent' from which the intended entity is derived --></startingMolecule> <coordinateInterval> <!-- 0..1 The interval on startingMolecule that defines the portion to be extracted to produce the intended entity --> <coordinateSystem> <!-- 0..1 The coordinate system used to define the location --> <system><!-- 0..1 CodeableConcept The type of coordinate system used
--></system> <origin><!-- 0..1 CodeableConcept The location of the origin of the coordinate system --></origin> <normalizationMethod><!-- 0..1 CodeableConcept The normalization method used for determining a location within the coordinate system --></normalizationMethod> </coordinateSystem> <start[x]><!-- 0..1 Quantity|Range The start location of the interval --></start[x]> <end[x]><!-- 0..1 Quantity|Range The end location of the interval --></end[x]> </coordinateInterval> <reverseComplement value="[boolean]"/><!-- 0..1 A flag that indicates whether the extracted sequence should be reverse complemented --> </extracted> <repeated> <!-- 0..1 A representation as a repeated motif --> <sequenceMotif><!-- 1..1 Reference(MolecularDefinition) The motif that is repeated --></sequenceMotif> <copyCount value="[integer]"/><!-- 1..1 The number of copies of the motif --> </repeated> <concatenated> <!-- 0..1 An ordered concatenation of molecular entities --> <sequenceElement> <!-- 1..* One of the concatenated entities --> <sequence><!-- 1..1 Reference(MolecularDefinition) A reference to the sequence that defines this specific concatenated element --></sequence> <ordinalIndex value="[integer]"/><!-- 1..1 The ordinal index of the element within the concatenated representation --> </sequenceElement> </concatenated> <relative> <!-- 0..1 A molecular entity represented as an ordered series of edits on a specified starting entity --> <startingMolecule><!-- 1..1 Reference(MolecularDefinition) The molecular entity on which edits will be applied --></startingMolecule> <edit> <!-- 0..* A defined edit (change) to be applied --> <editOrder value="[integer]"/><!-- 0..1 Defines the order of edits when multiple edits are to be applied to the startingMolecule --> <coordinateInterval> <!-- 0..1 The interval on startingMolecule that defines the portion to be extracted to produce the intended entity --> <coordinateSystem> <!-- 0..1 The coordinate system used to define the location --> <system><!-- 0..1 CodeableConcept The type of coordinate system used
--></system> <origin><!-- 0..1 CodeableConcept The location of the origin of the coordinate system --></origin> <normalizationMethod><!-- 0..1 CodeableConcept The normalization method used for determining a location within the coordinate system --></normalizationMethod> </coordinateSystem> <start[x]><!-- 0..1 Quantity|Range The start location of the interval --></start[x]> <end[x]><!-- 0..1 Quantity|Range The end location of the interval --></end[x]> </coordinateInterval> <replacementMolecule><!-- 1..1 Reference(MolecularDefinition) The molecular entity that serves as the replacement in the edit operation --></replacementMolecule> <replacedMolecule><!-- 0..1 Reference(MolecularDefinition) The portion of the molecular entity that is replaced by the replacementMolecule --></replacedMolecule> </edit> </relative> </representation> </MolecularDefinition>
JSON Template
{"resourceType" : "MolecularDefinition", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Unique ID of an instance "description" : "<markdown>", // Description of the Molecular Definition instance "moleculeType" : { CodeableConcept }, // The type of molecule (e.g., DNA, RNA, amino acid) "type" : [{ CodeableConcept }], // Classification of the molecule into types other than those defined by moleculeType "topology" : [{ CodeableConcept }], // The structural topology of the molecular entity (e.g., linear, circular) "memberState" : [{ Reference(MolecularDefinition) }], // Reserved for future profiles (e.g., haplotype, genotype) "location" : [{ // A defined location on a molecular entity "sequenceLocation" : { // A coordinate-based location on a sequence "sequenceContext" : { Reference(MolecularDefinition) }, // R! The sequence on which the location is defined "coordinateInterval" : { // An interval on a sequence "coordinateSystem" : { // The coordinate system used to define the location "system" : { CodeableConcept }, // The type of coordinate system used
"origin" : { CodeableConcept }, // The location of the origin of the coordinate system "normalizationMethod" : { CodeableConcept } // The normalization method used for determining a location within the coordinate system }, // start[x]: The start location of the interval. One of these 2: "startQuantity" : { Quantity }, "startRange" : { Range }, // end[x]: The end location of the interval. One of these 2: "endQuantity" : { Quantity }, "endRange" : { Range } }, "strand" : { CodeableConcept } // The strand at the coordinateInterval }, "cytobandLocation" : { // A cytoband-based location on a sequence "genomeAssembly" : { // R! Reference Genome "organism" : { CodeableConcept }, // Species of the organism "build" : { CodeableConcept }, // Build number "accession" : { CodeableConcept }, // Accession // description[x]: Genome assembly description. One of these 2: "descriptionMarkdown" : "<markdown>", "descriptionString" : "<string>" }, "cytobandInterval" : { // R! Cytoband Interval "chromosome" : { CodeableConcept }, // R! Chromosome "startCytoband" : { // Start // arm[x]: Arm. One of these 2: "armCode" : "<code>", "armString" : "<string>", // region[x]: Region. One of these 2: "regionCode" : "<code>", "regionString" : "<string>", // band[x]: Band. One of these 2: "bandCode" : "<code>", "bandString" : "<string>", // subBand[x]: Sub-band. One of these 2: "subBandCode" : "<code>", "subBandString" : "<string>" }, "endCytoband" : { // End // arm[x]: Arm. One of these 2: "armCode" : "<code>", "armString" : "<string>", // region[x]: Region. One of these 2: "regionCode" : "<code>", "regionString" : "<string>", // band[x]: Band. One of these 2: "bandCode" : "<code>", "bandString" : "<string>", // subBand[x]: SuBand. One of these 2: "subBandCode" : "<code>", "subBandString" : "<string>" } } }, "featureLocation" : ["<string>"] // Reserved and possibly deprecated }], "representation" : [{ // A representation of a molecular entity "focus" : { CodeableConcept }, // The domain concept that is the focus of a given instance of the representation "code" : [{ CodeableConcept }], // A code (e.g., sequence accession number) used to represent a molecular entity "literal" : { // A molecular entity defined as a string literal "encoding" : { CodeableConcept }, // The encoding used in the value "value" : "<string>" // R! A string literal representation of the molecular entity, using the encoding specified in encoding }, "resolvable" : { Reference(DocumentReference) }, // A resolvable representation of a molecular entity (e.g., URI, attached and formatted file) "extracted" : { // A molecular entity that is represented as a portion of a different entity "startingMolecule" : { Reference(MolecularDefinition) }, // R! The molecular entity that serves as the conceptual 'parent' from which the intended entity is derived "coordinateInterval" : { // The interval on startingMolecule that defines the portion to be extracted to produce the intended entity "coordinateSystem" : { // The coordinate system used to define the location "system" : { CodeableConcept }, // The type of coordinate system used
"origin" : { CodeableConcept }, // The location of the origin of the coordinate system "normalizationMethod" : { CodeableConcept } // The normalization method used for determining a location within the coordinate system }, // start[x]: The start location of the interval. One of these 2: "startQuantity" : { Quantity }, "startRange" : { Range }, // end[x]: The end location of the interval. One of these 2: "endQuantity" : { Quantity }, "endRange" : { Range } }, "reverseComplement" : <boolean> // A flag that indicates whether the extracted sequence should be reverse complemented }, "repeated" : { // A representation as a repeated motif "sequenceMotif" : { Reference(MolecularDefinition) }, // R! The motif that is repeated "copyCount" : <integer> // R! The number of copies of the motif }, "concatenated" : { // An ordered concatenation of molecular entities "sequenceElement" : [{ // R! One of the concatenated entities "sequence" : { Reference(MolecularDefinition) }, // R! A reference to the sequence that defines this specific concatenated element "ordinalIndex" : <integer> // R! The ordinal index of the element within the concatenated representation }] }, "relative" : { // A molecular entity represented as an ordered series of edits on a specified starting entity "startingMolecule" : { Reference(MolecularDefinition) }, // R! The molecular entity on which edits will be applied "edit" : [{ // A defined edit (change) to be applied "editOrder" : <integer>, // Defines the order of edits when multiple edits are to be applied to the startingMolecule "coordinateInterval" : { // The interval on startingMolecule that defines the portion to be extracted to produce the intended entity "coordinateSystem" : { // The coordinate system used to define the location "system" : { CodeableConcept }, // The type of coordinate system used
"origin" : { CodeableConcept }, // The location of the origin of the coordinate system "normalizationMethod" : { CodeableConcept } // The normalization method used for determining a location within the coordinate system }, // start[x]: The start location of the interval. One of these 2: "startQuantity" : { Quantity }, "startRange" : { Range }, // end[x]: The end location of the interval. One of these 2: "endQuantity" : { Quantity }, "endRange" : { Range } }, "replacementMolecule" : { Reference(MolecularDefinition) }, // R! The molecular entity that serves as the replacement in the edit operation "replacedMolecule" : { Reference(MolecularDefinition) } // The portion of the molecular entity that is replaced by the replacementMolecule }] } }] }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:MolecularDefinition; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:identifier ( [ Identifier ] ... ) ; # 0..* Unique ID of an instance fhir:description [ markdown ] ; # 0..1 Description of the Molecular Definition instance fhir:moleculeType [ CodeableConcept ] ; # 0..1 The type of molecule (e.g., DNA, RNA, amino acid) fhir:type ( [ CodeableConcept ] ... ) ; # 0..* Classification of the molecule into types other than those defined by moleculeType fhir:topology ( [ CodeableConcept ] ... ) ; # 0..* The structural topology of the molecular entity (e.g., linear, circular) fhir:memberState ( [ Reference(MolecularDefinition) ] ... ) ; # 0..* Reserved for future profiles (e.g., haplotype, genotype) fhir:location ( [ # 0..* A defined location on a molecular entity fhir:sequenceLocation [ # 0..1 A coordinate-based location on a sequence fhir:sequenceContext [ Reference(MolecularDefinition) ] ; # 1..1 The sequence on which the location is defined fhir:coordinateInterval [ # 0..1 An interval on a sequence fhir:coordinateSystem [ # 0..1 The coordinate system used to define the location fhir:system [ CodeableConcept ] ; # 0..1 The type of coordinate system used fhir:origin [ CodeableConcept ] ; # 0..1 The location of the origin of the coordinate system fhir:normalizationMethod [ CodeableConcept ] ; # 0..1 The normalization method used for determining a location within the coordinate system ] ; # start[x] : 0..1 The start location of the interval. One of these 2 fhir:start [ a fhir:Quantity ; Quantity ] fhir:start [ a fhir:Range ; Range ] # end[x] : 0..1 The end location of the interval. One of these 2 fhir:end [ a fhir:Quantity ; Quantity ] fhir:end [ a fhir:Range ; Range ] ] ; fhir:strand [ CodeableConcept ] ; # 0..1 The strand at the coordinateInterval ] ; fhir:cytobandLocation [ # 0..1 A cytoband-based location on a sequence fhir:genomeAssembly [ # 1..1 Reference Genome fhir:organism [ CodeableConcept ] ; # 0..1 Species of the organism fhir:build [ CodeableConcept ] ; # 0..1 Build number fhir:accession [ CodeableConcept ] ; # 0..1 Accession # description[x] : 0..1 Genome assembly description. One of these 2 fhir:description [ a fhir:markdown ; markdown ] fhir:description [ a fhir:string ; string ] ] ; fhir:cytobandInterval [ # 1..1 Cytoband Interval fhir:chromosome [ CodeableConcept ] ; # 1..1 Chromosome fhir:startCytoband [ # 0..1 Start # arm[x] : 0..1 Arm. One of these 2 fhir:arm [ a fhir:code ; code ] fhir:arm [ a fhir:string ; string ] # region[x] : 0..1 Region. One of these 2 fhir:region [ a fhir:code ; code ] fhir:region [ a fhir:string ; string ] # band[x] : 0..1 Band. One of these 2 fhir:band [ a fhir:code ; code ] fhir:band [ a fhir:string ; string ] # subBand[x] : 0..1 Sub-band. One of these 2 fhir:subBand [ a fhir:code ; code ] fhir:subBand [ a fhir:string ; string ] ] ; fhir:endCytoband [ # 0..1 End # arm[x] : 0..1 Arm. One of these 2 fhir:arm [ a fhir:code ; code ] fhir:arm [ a fhir:string ; string ] # region[x] : 0..1 Region. One of these 2 fhir:region [ a fhir:code ; code ] fhir:region [ a fhir:string ; string ] # band[x] : 0..1 Band. One of these 2 fhir:band [ a fhir:code ; code ] fhir:band [ a fhir:string ; string ] # subBand[x] : 0..1 SuBand. One of these 2 fhir:subBand [ a fhir:code ; code ] fhir:subBand [ a fhir:string ; string ] ] ; ] ; ] ; fhir:featureLocation ( [ string ] ... ) ; # 0..* Reserved and possibly deprecated ] ... ) ; fhir:representation ( [ # 0..* A representation of a molecular entity fhir:focus [ CodeableConcept ] ; # 0..1 The domain concept that is the focus of a given instance of the representation fhir:code ( [ CodeableConcept ] ... ) ; # 0..* A code (e.g., sequence accession number) used to represent a molecular entity fhir:literal [ # 0..1 A molecular entity defined as a string literal fhir:encoding [ CodeableConcept ] ; # 0..1 The encoding used in the value fhir:value [ string ] ; # 1..1 A string literal representation of the molecular entity, using the encoding specified in encoding ] ; fhir:resolvable [ Reference(DocumentReference) ] ; # 0..1 A resolvable representation of a molecular entity (e.g., URI, attached and formatted file) fhir:extracted [ # 0..1 A molecular entity that is represented as a portion of a different entity fhir:startingMolecule [ Reference(MolecularDefinition) ] ; # 1..1 The molecular entity that serves as the conceptual 'parent' from which the intended entity is derived fhir:coordinateInterval [ # 0..1 The interval on startingMolecule that defines the portion to be extracted to produce the intended entity fhir:coordinateSystem [ # 0..1 The coordinate system used to define the location fhir:system [ CodeableConcept ] ; # 0..1 The type of coordinate system used fhir:origin [ CodeableConcept ] ; # 0..1 The location of the origin of the coordinate system fhir:normalizationMethod [ CodeableConcept ] ; # 0..1 The normalization method used for determining a location within the coordinate system ] ; # start[x] : 0..1 The start location of the interval. One of these 2 fhir:start [ a fhir:Quantity ; Quantity ] fhir:start [ a fhir:Range ; Range ] # end[x] : 0..1 The end location of the interval. One of these 2 fhir:end [ a fhir:Quantity ; Quantity ] fhir:end [ a fhir:Range ; Range ] ] ; fhir:reverseComplement [ boolean ] ; # 0..1 A flag that indicates whether the extracted sequence should be reverse complemented ] ; fhir:repeated [ # 0..1 A representation as a repeated motif fhir:sequenceMotif [ Reference(MolecularDefinition) ] ; # 1..1 The motif that is repeated fhir:copyCount [ integer ] ; # 1..1 The number of copies of the motif ] ; fhir:concatenated [ # 0..1 An ordered concatenation of molecular entities fhir:sequenceElement ( [ # 1..* One of the concatenated entities fhir:sequence [ Reference(MolecularDefinition) ] ; # 1..1 A reference to the sequence that defines this specific concatenated element fhir:ordinalIndex [ integer ] ; # 1..1 The ordinal index of the element within the concatenated representation ] ... ) ; ] ; fhir:relative [ # 0..1 A molecular entity represented as an ordered series of edits on a specified starting entity fhir:startingMolecule [ Reference(MolecularDefinition) ] ; # 1..1 The molecular entity on which edits will be applied fhir:edit ( [ # 0..* A defined edit (change) to be applied fhir:editOrder [ integer ] ; # 0..1 Defines the order of edits when multiple edits are to be applied to the startingMolecule fhir:coordinateInterval [ # 0..1 The interval on startingMolecule that defines the portion to be extracted to produce the intended entity fhir:coordinateSystem [ # 0..1 The coordinate system used to define the location fhir:system [ CodeableConcept ] ; # 0..1 The type of coordinate system used fhir:origin [ CodeableConcept ] ; # 0..1 The location of the origin of the coordinate system fhir:normalizationMethod [ CodeableConcept ] ; # 0..1 The normalization method used for determining a location within the coordinate system ] ; # start[x] : 0..1 The start location of the interval. One of these 2 fhir:start [ a fhir:Quantity ; Quantity ] fhir:start [ a fhir:Range ; Range ] # end[x] : 0..1 The end location of the interval. One of these 2 fhir:end [ a fhir:Quantity ; Quantity ] fhir:end [ a fhir:Range ; Range ] ] ; fhir:replacementMolecule [ Reference(MolecularDefinition) ] ; # 1..1 The molecular entity that serves as the replacement in the edit operation fhir:replacedMolecule [ Reference(MolecularDefinition) ] ; # 0..1 The portion of the molecular entity that is replaced by the replacementMolecule ] ... ) ; ] ; ] ... ) ; ]
Changes from both R4 and R4B
This resource did not exist in Release R4
See the Full Difference for further information
This analysis is available for R4 as XML or JSON and for R4B as XML or JSON.
Additional definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions, the spreadsheet version & the dependency analysis
Path | ValueSet | Type | Documentation |
---|---|---|---|
MolecularDefinition.location.sequenceLocation.coordinateInterval.coordinateSystem.system | http://loinc.org/vs/LL5323-2 ![]() |
Extensible | |
MolecularDefinition.representation.extracted.coordinateInterval.coordinateSystem.system | http://loinc.org/vs/LL5323-2 ![]() |
Extensible | |
MolecularDefinition.representation.relative.edit.coordinateInterval.coordinateSystem.system | http://loinc.org/vs/LL5323-2 ![]() |
Extensible |
Molecular sequences are represented using numerous encodings, which are not always explicitly specified. The representation.literal.encoding
attribute captures this information directly, so that implementors can validate the content of messages and computationally determine how a particular sequence should be interpreted.
The examples below illustrate different encodings, which could be used to create terms for this attribute. They are based on the IUPAC symbols for nucleotide and amino acid sequences.
Symbol | Meaning | Origin of designation |
---|---|---|
G | Guanine | G |
A | Adenine | A |
T | Thymine | T |
C | Cytosine | C |
Symbol | Meaning | Origin of designation |
---|---|---|
G | Guanine | G |
A | Adenine | A |
U | Uracil | U |
C | Cytosine | C |
Symbol | Meaning | Origin of designation |
---|---|---|
G | Guanine | G |
A | Adenine | A |
T | Thymine | T |
C | Cytosine | C |
N | G or A or T or C | aNy |
Symbol | Meaning | Origin of designation |
---|---|---|
G | Guanine | G |
A | Adenine | A |
T | Thymine | T |
C | Cytosine | C |
R | G or A | puRine |
Y | T or C | pYrimidine |
M | A or C | aMino |
K | G or T | Keto |
S | G or C | Strong interaction (3 H bonds) |
W | A or T | Weak interaction (2 H bonds) |
H | A or C or T | not-G, H follows G in the alphabet |
B | G or T or C | not-A, B follows A |
V | G or C or A | not-T (not-U), V follows U |
D | G or A or T | not-C, D follows C |
N | G or A or T or C | aNy |
Symbol | Amino acid |
---|---|
A | alanine |
C | cysteine |
D | aspartic acid |
E | glutamic acid |
F | phenylalanine |
G | glycine |
H | histidine |
I | isoleucine |
K | lysine |
L | leucine |
M | methionine |
N | asparagine |
P | proline |
Q | glutamine |
R | arginine |
S | serine |
T | threonine |
V | valine |
W | tryptophan |
Y | tyrosine |
Symbol | Amino acid |
---|---|
Ala | alanine |
Cys | cysteine |
Asp | aspartic acid |
Glu | glutamic acid |
Phe | phenylalanine |
Gly | glycine |
His | histidine |
Ile | isoleucine |
Lys | lysine |
Leu | leucine |
Met | methionine |
Asn | asparagine |
Pro | proline |
Gln | glutamine |
Arg | arginine |
Ser | serine |
Thr | threonine |
Val | valine |
Trp | tryptophan |
Tyr | tyrosine |
Symbol | Amino acid |
---|---|
A | alanine |
B | aspartic acid or asparagine |
C | cysteine |
D | aspartic acid |
E | glutamic acid |
F | phenylalanine |
G | glycine |
H | histidine |
I | isoleucine |
K | lysine |
L | leucine |
M | methionine |
N | asparagine |
P | proline |
Q | glutamine |
R | arginine |
S | serine |
T | threonine |
U | selenocysteine |
V | valine |
W | tryptophan |
X | unknown or 'other' amino acid |
Y | tyrosine |
Z | glutamic acid or glutamine |
Symbol | Amino acid |
---|---|
Ala | alanine |
Asx | aspartic acid or asparagine |
Cys | cysteine |
Asp | aspartic acid |
Glu | glutamic acid |
Phe | phenylalanine |
Gly | glycine |
His | histidine |
Ile | isoleucine |
Lys | lysine |
Leu | leucine |
Met | methionine |
Asn | asparagine |
Pro | proline |
Gln | glutamine |
Arg | arginine |
Ser | serine |
Thr | threonine |
Sec | selenocysteine |
Val | valine |
Trp | tryptophan |
Xaa | unknown or 'other' amino acid |
Tyr | tyrosine |
Glx | glutamic acid or glutamine |
The Molecular Definition resource supports several different methods for representing a molecule. Some of the elements described below may apply only to sequences, and different elements may be added to support other types of molecular concepts.
Native representations: The literal, code, and resolvable are native representations, meaning they represent a sequence “as-is” without any additional computation.
Derived representations: The extracted, concatenated, repeated, and relative representations are derived representations, meaning they require one or more computational operations to be performed to create the sequence that is being represented.
The literal element can be used to represent a sequence as a string of characters. By convention, nucleotide sequences are expressed 5’ to 3’ and protein sequences are expressed N to C terminus. The encoding element can optionally be used to specify the encoding used for the sequence literal. The encoding can be important in disambiguating sequences that share alphabets (for example, ATG might represent a translation start codon in DNA, but it could also represent a peptide containing 3 amino acids).
The code element can be used to represent a sequence by reference, using an accession number that identifies a specific sequence within a repository. The code, system, and version elements of the Coding data type can be used to fully disambiguate one code from another. Note that the code element does not guarantee that the repository is publicly accessible or that the sequence referenced by the code can be retrieved, it only specifies the sequence using a code that could be exchanged. Thus, this element could be used for both a public sequence repository (e.g., GenBank) and a private database (e.g., biobank).
The resolvable element can be used to represent a sequence by reference, but it also implies that the sequence is accessible and SHOULD be resolvable (although a security layer may be present). This element makes use of the Document Reference resource, which contains the content.attachment element. The Attachment datatype can be used to represent sequences that are captured as a formatted file (using .contentType and .data) or as a URL (using .contentType and .url).
The extracted element can be used to represent a sequence that is derived from another, longer sequence. The startingMolecule element refers to the “parent” sequence, and is itself an instance of Molecular Definition (with its own representation). The coordinateInterval element specifies a precise interval on the “parent” sequence, which is to be extracted (conceptually or literally) and optionally reverse-complemented. This element provides a way to conveniently reference regions of very long molecules (e.g., chromosomes) without requiring either the “parent” or the extracted sequence to be serialized. Conceptually, this representation is the inverse operation of the concatenated representation.
The concatenated element can be used to represent a sequence that is comprised of other sequences that are concatenated together to form the intended sequence. Each sequenceElement is specified as an instance of Molecular Definition (and each has its own representation). The order of concatenation is explicitly defined using the ordinalIndex element. Conceptually, this representation is the inverse operation of the extracted representation.
The repeated element can be used to represent a sequence that is comprised of a sequence motif that is repeated a specified number of times. The sequenceMotif is an instance of Molecular Definition (and has its own representation), and copyCount specifies the number of times the motif is copied in tandem. Conceptually, this representation is a special case of the concatenated representation, where each element is an identical copy of a given motif.
The relative element can be used to represent a sequence in relation to another sequence, where the difference between the two sequences can be expressed as an ordered series of edit operations. This representation can be used to conveniently represent minor but meaningful differences between long or complex sequences (e.g., HLA alleles). Algorithmically, the relative representation defines a sequence by beginning with a startingMolecule (an instance of Molecular Definition) and performing at least one edit operation on it. Each edit operation is performed in order and includes replacing the sequence (the replacedMolecule) at a defined coordinateInterval with the sequence specified by the replacementMolecule. The resulting sequence after all edits have been performed is the sequence referenced by this representation element.
Note that the edits specified in this representation are operations and NOT variations. Variations are defined as a specific comparison between two states (a reference and an alternative), and while they are sometimes called “changes” and therefore they might be confused for edit operations, they are semantically distinct concepts.
Since the derived representations (extracted, concatenated, repeated, and relative) each reference Molecular Definition, representations can be combined to support complex use cases. For example:
It is possible to create arbitrarily deep structures using derived representations, and while there might be rationale for doing so implementations should avoid overly-complex representation structures.
Every representation, regardless of its complexity, can be resolved to a literal. Two instances of MolecularDefinition are considered equivalent if they define the same entity. For molecular sequences, this means that for two instances of MolecularDefinition to be equivalent they must resolve to the same literal sequence. Two instances are identical if their serializations are identical: they must contain the same elements, and each corresponding element must have the same value.
The Molecular Definition resource supports several profiles that represent molecular concepts:
In addition, profiles have been drafted to represent the concepts of Haplotype and Genotype, although they have not been exercised as deeply as the profiles listed above. Finally, preliminary work has demonstrated that the Molecular Definition resource could be used to represent concepts related to structural variation, including Adjacency and Fusion. It is anticipated that profiles to support these concepts will be developed over time.
The MolecularDefinition resource is an abstract resource that provides building blocks for creating semantically robust, computable structures that define molecular entities. The two most complex backbone elements, location and representation, support the concept of molecular sequences but they might not be relevant to other types of entities. Conversely, other entities may require different backbone elements. As such, it is expected that these high-level backbone elements will serve as modular schemas that can be profiled as needed for a given molecular entity. Profiling could include constraints on cardinality (e.g., the Sequence profile has 0..0 location, while Allele has 1..1 location) and slicing.
The representation backbone element provides a series of methods for specifying the value of a sequence. As a result, the entire structure can be used any time a sequence is referenced, and this is accomplished by slicing. For example, the current sequence-based profiles of MolecularDefinition slice the representation element as follows:
Profile | Cardinality | Focus (slice) | Semantic meaning |
---|---|---|---|
Sequence | 1..1 | Primary Sequence | The primary sequence of the molecule |
Allele | 1..1 | Allele | The sequence of the Allele at the specified Location |
Allele | 0..1 | Context | The sequence of the contextual sequence at the specified Location |
Variation | 1..1 | Reference | The sequence defined as the reference allele (at the specified Location) |
Variation | 1..1 | Alternate | The sequence defined as the alternate allele (at the specified Location) |
Variation | 0..1 | Context | The sequence of the contextual sequence at the specified Location |
Search parameters for this resource. See also the full list of search parameters for this resource, and check the Extensions registry for search parameters on extensions related to this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.
Name | Type | Description | Expression | In Common |
identifier | token | The unique identity for a particular sequence | MolecularDefinition.identifier | |
member_state | reference | Reference to the state of the molecular member | MolecularDefinition.memberState (MolecularDefinition) |
|
molecule_type | token | Amino Acid Sequence/ DNA Sequence / RNA Sequence | MolecularDefinition.moleculeType | |
topology | token | The structural topology of the molecular entity (e.g., linear, circular) | MolecularDefinition.topology | |
type | token | Classification of the molecule into types other than those defined by moleculeType | MolecularDefinition.type |