This is the Continuous Integration Build of FHIR (will be incorrect/inconsistent at times).
See the Directory of published versions
Clinical Genomics ![]() | Maturity Level: 1 | Trial Use | Security Category: Patient | Compartments: Patient |
Representation of a molecular sequence.
The MolecularSequence resource is designed for representing molecular sequencing data. It avoids large genomic payloads in a manner analogous to how the ImagingStudy resource references large images maintained in other systems.
It is strongly encouraged to provide all available information in this resource for any reported sequences, because receiving systems (e.g. discovery research, outcomes analysis, and public health reporting) may use this information to normalize sequences over time or across sources. However, these data should not be used to dynamically correct/change sequence representations for clinical use outside of the laboratory, due to insufficient information.
Implementers should be aware that semantic equivalency of sequences cannot be guaranteed unless there is an agreed upon standard between sending and receiving systems.
The MolecularSequence resource should only be used to capture a molecular sequence. It will not be used for other entities such as variant, variant annotations, genotypes, haplotypes, etc. Those concepts will be captured in Observation
profiles found in the Genomics Reporting Implementation Guide . The sequence that was observed that led to the identification of those concepts can be delivered with this resource, and will be referenced by those observations.
MolecularSequence will not be used to capture data such as precise read of DNA sequences and sequence alignment are not included; such data may be accessible through references to GA4GH (Global Alliance for Genomics and Health) API, and may be referenced to by the
formatted
element.
This resource is referenced by itself and Observation.
This resource does not implement any patterns.
Structure
Name | Flags | Card. | Type | Description & Constraints![]() |
---|---|---|---|---|
![]() ![]() | TU | DomainResource | Representation of a molecular sequence + Rule: Each MolecularSequence SHALL have only one representation of a sequence: literal, formatted, or relative. Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
![]() ![]() ![]() | Σ | 0..* | Identifier | Unique ID for this particular sequence |
![]() ![]() ![]() | Σ | 0..1 | code | aa | dna | rna sequenceType (Required) |
![]() ![]() ![]() | Σ | 0..1 | Reference(Patient) | Patient this sequence is associated too |
![]() ![]() ![]() | Σ | 0..1 | Reference(Specimen) | Specimen used for sequencing |
![]() ![]() ![]() | Σ | 0..1 | Reference(Device) | The method for sequencing |
![]() ![]() ![]() | Σ | 0..1 | Reference(Organization) | Who should be responsible for test result |
![]() ![]() ![]() | Σ | 0..1 | string | Sequence that was observed |
![]() ![]() ![]() | Σ | 0..1 | Attachment | Embedded file or a link (URL) which contains content to represent the sequence |
![]() ![]() ![]() | Σ | 0..1 | BackboneElement | A sequence defined relative to another sequence |
![]() ![]() ![]() ![]() | Σ | 1..1 | CodeableConcept | Ways of identifying nucleotides or amino acids within a sequence LL5323-2 ![]() |
![]() ![]() ![]() ![]() | ΣI | 0..1 | BackboneElement | A sequence used as reference + Rule: GenomeBuild and chromosome must be both contained if either one of them is contained + Rule: Have and only have one of the following elements in referenceSeq : 1. genomeBuild ; 2 referenceSeqId; 3. referenceSeqPointer; 4. referenceSeqString; |
![]() ![]() ![]() ![]() ![]() | Σ | 0..1 | CodeableConcept | Chromosome Identifier LL2938-0 ![]() |
![]() ![]() ![]() ![]() ![]() | Σ | 0..1 | string | The Genome Build used for reference, following GRCh build versions e.g. 'GRCh 37' |
![]() ![]() ![]() ![]() ![]() | Σ | 0..1 | code | sense | antisense orientationType (Required) |
![]() ![]() ![]() ![]() ![]() | Σ | 0..1 | CodeableConcept | Reference identifier Multiple bindings acceptable (NCBI or LRG) (Example) |
![]() ![]() ![]() ![]() ![]() | Σ | 0..1 | Reference(MolecularSequence) | A pointer to another MolecularSequence entity as reference sequence |
![]() ![]() ![]() ![]() ![]() | Σ | 0..1 | string | A string to represent reference sequence |
![]() ![]() ![]() ![]() ![]() | Σ | 0..1 | code | watson | crick strandType (Required) |
![]() ![]() ![]() ![]() ![]() | Σ | 0..1 | integer | Start position of the window on the reference sequence |
![]() ![]() ![]() ![]() ![]() | Σ | 0..1 | integer | End position of the window on the reference sequence |
![]() ![]() ![]() ![]() | Σ | 0..* | BackboneElement | Changes in sequence from the reference |
![]() ![]() ![]() ![]() ![]() | Σ | 0..1 | integer | Start position of the edit on the reference sequence |
![]() ![]() ![]() ![]() ![]() | Σ | 0..1 | integer | End position of the edit on the reference sequence |
![]() ![]() ![]() ![]() ![]() | Σ | 0..1 | string | Allele that was observed |
![]() ![]() ![]() ![]() ![]() | Σ | 0..1 | string | Allele in the reference sequence |
![]() ![]() ![]() ![]() ![]() | Σ | 0..1 | string | Extended CIGAR string for aligning the sequence with reference bases |
![]() ![]() ![]() | Σ | 0..* | Reference(MolecularSequence) | Pointer to next atomic sequence |
![]() |
UML Diagram (Legend)
XML Template
<MolecularSequence xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Unique ID for this particular sequence --></identifier> <type value="[code]"/><!-- 0..1 aa | dna | rna --> <patient><!-- 0..1 Reference(Patient) Patient this sequence is associated too --></patient> <specimen><!-- 0..1 Reference(Specimen) Specimen used for sequencing --></specimen> <device><!-- 0..1 Reference(Device) The method for sequencing --></device> <performer><!-- 0..1 Reference(Organization) Who should be responsible for test result --></performer> <literal value="[string]"/><!-- 0..1 Sequence that was observed --> <formatted><!-- 0..1 Attachment Embedded file or a link (URL) which contains content to represent the sequence --></formatted> <relative> <!-- 0..1 A sequence defined relative to another sequence --> <coordinateSystem><!-- 1..1 CodeableConcept Ways of identifying nucleotides or amino acids within a sequence
--></coordinateSystem> <reference> <!-- 0..1 A sequence used as reference --> <chromosome><!-- 0..1 CodeableConcept Chromosome Identifier
--></chromosome> <genomeBuild value="[string]"/><!-- 0..1 The Genome Build used for reference, following GRCh build versions e.g. 'GRCh 37' --> <orientation value="[code]"/><!-- 0..1 sense | antisense --> <referenceSeqId><!-- 0..1 CodeableConcept Reference identifier --></referenceSeqId> <referenceSeqPointer><!-- 0..1 Reference(MolecularSequence) A pointer to another MolecularSequence entity as reference sequence --></referenceSeqPointer> <referenceSeqString value="[string]"/><!-- 0..1 A string to represent reference sequence --> <strand value="[code]"/><!-- 0..1 watson | crick --> <windowStart value="[integer]"/><!-- 0..1 Start position of the window on the reference sequence --> <windowEnd value="[integer]"/><!-- 0..1 End position of the window on the reference sequence --> </reference> <edit> <!-- 0..* Changes in sequence from the reference --> <start value="[integer]"/><!-- 0..1 Start position of the edit on the reference sequence --> <end value="[integer]"/><!-- 0..1 End position of the edit on the reference sequence --> <observedAllele value="[string]"/><!-- 0..1 Allele that was observed --> <referenceAllele value="[string]"/><!-- 0..1 Allele in the reference sequence --> <cigar value="[string]"/><!-- 0..1 Extended CIGAR string for aligning the sequence with reference bases --> </edit> </relative> <pointer><!-- 0..* Reference(MolecularSequence) Pointer to next atomic sequence --></pointer> </MolecularSequence>
JSON Template
{"resourceType" : "MolecularSequence", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Unique ID for this particular sequence "type" : "<code>", // aa | dna | rna "patient" : { Reference(Patient) }, // Patient this sequence is associated too "specimen" : { Reference(Specimen) }, // Specimen used for sequencing "device" : { Reference(Device) }, // The method for sequencing "performer" : { Reference(Organization) }, // Who should be responsible for test result "literal" : "<string>", // Sequence that was observed "formatted" : { Attachment }, // Embedded file or a link (URL) which contains content to represent the sequence "relative" : { // A sequence defined relative to another sequence "coordinateSystem" : { CodeableConcept }, // R! Ways of identifying nucleotides or amino acids within a sequence
"reference" : { // A sequence used as reference "chromosome" : { CodeableConcept }, // Chromosome Identifier
"genomeBuild" : "<string>", // The Genome Build used for reference, following GRCh build versions e.g. 'GRCh 37' "orientation" : "<code>", // sense | antisense "referenceSeqId" : { CodeableConcept }, // Reference identifier "referenceSeqPointer" : { Reference(MolecularSequence) }, // A pointer to another MolecularSequence entity as reference sequence "referenceSeqString" : "<string>", // A string to represent reference sequence "strand" : "<code>", // watson | crick "windowStart" : <integer>, // Start position of the window on the reference sequence "windowEnd" : <integer> // End position of the window on the reference sequence }, "edit" : [{ // Changes in sequence from the reference "start" : <integer>, // Start position of the edit on the reference sequence "end" : <integer>, // End position of the edit on the reference sequence "observedAllele" : "<string>", // Allele that was observed "referenceAllele" : "<string>", // Allele in the reference sequence "cigar" : "<string>" // Extended CIGAR string for aligning the sequence with reference bases }] }, "pointer" : [{ Reference(MolecularSequence) }] // Pointer to next atomic sequence }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:MolecularSequence; 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:MolecularSequence.identifier [ Identifier ], ... ; # 0..* Unique ID for this particular sequence fhir:MolecularSequence.type [ code ]; # 0..1 aa | dna | rna fhir:MolecularSequence.patient [ Reference(Patient) ]; # 0..1 Patient this sequence is associated too fhir:MolecularSequence.specimen [ Reference(Specimen) ]; # 0..1 Specimen used for sequencing fhir:MolecularSequence.device [ Reference(Device) ]; # 0..1 The method for sequencing fhir:MolecularSequence.performer [ Reference(Organization) ]; # 0..1 Who should be responsible for test result fhir:MolecularSequence.literal [ string ]; # 0..1 Sequence that was observed fhir:MolecularSequence.formatted [ Attachment ]; # 0..1 Embedded file or a link (URL) which contains content to represent the sequence fhir:MolecularSequence.relative [ # 0..1 A sequence defined relative to another sequence fhir:MolecularSequence.relative.coordinateSystem [ CodeableConcept ]; # 1..1 Ways of identifying nucleotides or amino acids within a sequence fhir:MolecularSequence.relative.reference [ # 0..1 A sequence used as reference fhir:MolecularSequence.relative.reference.chromosome [ CodeableConcept ]; # 0..1 Chromosome Identifier fhir:MolecularSequence.relative.reference.genomeBuild [ string ]; # 0..1 The Genome Build used for reference, following GRCh build versions e.g. 'GRCh 37' fhir:MolecularSequence.relative.reference.orientation [ code ]; # 0..1 sense | antisense fhir:MolecularSequence.relative.reference.referenceSeqId [ CodeableConcept ]; # 0..1 Reference identifier fhir:MolecularSequence.relative.reference.referenceSeqPointer [ Reference(MolecularSequence) ]; # 0..1 A pointer to another MolecularSequence entity as reference sequence fhir:MolecularSequence.relative.reference.referenceSeqString [ string ]; # 0..1 A string to represent reference sequence fhir:MolecularSequence.relative.reference.strand [ code ]; # 0..1 watson | crick fhir:MolecularSequence.relative.reference.windowStart [ integer ]; # 0..1 Start position of the window on the reference sequence fhir:MolecularSequence.relative.reference.windowEnd [ integer ]; # 0..1 End position of the window on the reference sequence ]; fhir:MolecularSequence.relative.edit [ # 0..* Changes in sequence from the reference fhir:MolecularSequence.relative.edit.start [ integer ]; # 0..1 Start position of the edit on the reference sequence fhir:MolecularSequence.relative.edit.end [ integer ]; # 0..1 End position of the edit on the reference sequence fhir:MolecularSequence.relative.edit.observedAllele [ string ]; # 0..1 Allele that was observed fhir:MolecularSequence.relative.edit.referenceAllele [ string ]; # 0..1 Allele in the reference sequence fhir:MolecularSequence.relative.edit.cigar [ string ]; # 0..1 Extended CIGAR string for aligning the sequence with reference bases ], ...; ]; fhir:MolecularSequence.pointer [ Reference(MolecularSequence) ], ... ; # 0..* Pointer to next atomic sequence ]
Changes since R3
MolecularSequence | |
MolecularSequence.type |
|
MolecularSequence.literal |
|
MolecularSequence.formatted |
|
MolecularSequence.relative |
|
MolecularSequence.relative.coordinateSystem |
|
MolecularSequence.relative.reference |
|
MolecularSequence.relative.reference.chromosome |
|
MolecularSequence.relative.reference.genomeBuild |
|
MolecularSequence.relative.reference.orientation |
|
MolecularSequence.relative.reference.referenceSeqId |
|
MolecularSequence.relative.reference.referenceSeqPointer |
|
MolecularSequence.relative.reference.referenceSeqString |
|
MolecularSequence.relative.reference.strand |
|
MolecularSequence.relative.reference.windowStart |
|
MolecularSequence.relative.reference.windowEnd |
|
MolecularSequence.relative.edit |
|
MolecularSequence.relative.edit.start |
|
MolecularSequence.relative.edit.end |
|
MolecularSequence.relative.edit.observedAllele |
|
MolecularSequence.relative.edit.referenceAllele |
|
MolecularSequence.relative.edit.cigar |
|
MolecularSequence.coordinateSystem |
|
MolecularSequence.quantity |
|
MolecularSequence.referenceSeq |
|
MolecularSequence.variant |
|
MolecularSequence.observedSeq |
|
MolecularSequence.quality |
|
MolecularSequence.readCoverage |
|
MolecularSequence.repository |
|
MolecularSequence.structureVariant |
|
See the Full Difference for further information
Structure
Name | Flags | Card. | Type | Description & Constraints![]() |
---|---|---|---|---|
![]() ![]() | TU | DomainResource | Representation of a molecular sequence + Rule: Each MolecularSequence SHALL have only one representation of a sequence: literal, formatted, or relative. Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
![]() ![]() ![]() | Σ | 0..* | Identifier | Unique ID for this particular sequence |
![]() ![]() ![]() | Σ | 0..1 | code | aa | dna | rna sequenceType (Required) |
![]() ![]() ![]() | Σ | 0..1 | Reference(Patient) | Patient this sequence is associated too |
![]() ![]() ![]() | Σ | 0..1 | Reference(Specimen) | Specimen used for sequencing |
![]() ![]() ![]() | Σ | 0..1 | Reference(Device) | The method for sequencing |
![]() ![]() ![]() | Σ | 0..1 | Reference(Organization) | Who should be responsible for test result |
![]() ![]() ![]() | Σ | 0..1 | string | Sequence that was observed |
![]() ![]() ![]() | Σ | 0..1 | Attachment | Embedded file or a link (URL) which contains content to represent the sequence |
![]() ![]() ![]() | Σ | 0..1 | BackboneElement | A sequence defined relative to another sequence |
![]() ![]() ![]() ![]() | Σ | 1..1 | CodeableConcept | Ways of identifying nucleotides or amino acids within a sequence LL5323-2 ![]() |
![]() ![]() ![]() ![]() | ΣI | 0..1 | BackboneElement | A sequence used as reference + Rule: GenomeBuild and chromosome must be both contained if either one of them is contained + Rule: Have and only have one of the following elements in referenceSeq : 1. genomeBuild ; 2 referenceSeqId; 3. referenceSeqPointer; 4. referenceSeqString; |
![]() ![]() ![]() ![]() ![]() | Σ | 0..1 | CodeableConcept | Chromosome Identifier LL2938-0 ![]() |
![]() ![]() ![]() ![]() ![]() | Σ | 0..1 | string | The Genome Build used for reference, following GRCh build versions e.g. 'GRCh 37' |
![]() ![]() ![]() ![]() ![]() | Σ | 0..1 | code | sense | antisense orientationType (Required) |
![]() ![]() ![]() ![]() ![]() | Σ | 0..1 | CodeableConcept | Reference identifier Multiple bindings acceptable (NCBI or LRG) (Example) |
![]() ![]() ![]() ![]() ![]() | Σ | 0..1 | Reference(MolecularSequence) | A pointer to another MolecularSequence entity as reference sequence |
![]() ![]() ![]() ![]() ![]() | Σ | 0..1 | string | A string to represent reference sequence |
![]() ![]() ![]() ![]() ![]() | Σ | 0..1 | code | watson | crick strandType (Required) |
![]() ![]() ![]() ![]() ![]() | Σ | 0..1 | integer | Start position of the window on the reference sequence |
![]() ![]() ![]() ![]() ![]() | Σ | 0..1 | integer | End position of the window on the reference sequence |
![]() ![]() ![]() ![]() | Σ | 0..* | BackboneElement | Changes in sequence from the reference |
![]() ![]() ![]() ![]() ![]() | Σ | 0..1 | integer | Start position of the edit on the reference sequence |
![]() ![]() ![]() ![]() ![]() | Σ | 0..1 | integer | End position of the edit on the reference sequence |
![]() ![]() ![]() ![]() ![]() | Σ | 0..1 | string | Allele that was observed |
![]() ![]() ![]() ![]() ![]() | Σ | 0..1 | string | Allele in the reference sequence |
![]() ![]() ![]() ![]() ![]() | Σ | 0..1 | string | Extended CIGAR string for aligning the sequence with reference bases |
![]() ![]() ![]() | Σ | 0..* | Reference(MolecularSequence) | Pointer to next atomic sequence |
![]() |
XML Template
<MolecularSequence xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Unique ID for this particular sequence --></identifier> <type value="[code]"/><!-- 0..1 aa | dna | rna --> <patient><!-- 0..1 Reference(Patient) Patient this sequence is associated too --></patient> <specimen><!-- 0..1 Reference(Specimen) Specimen used for sequencing --></specimen> <device><!-- 0..1 Reference(Device) The method for sequencing --></device> <performer><!-- 0..1 Reference(Organization) Who should be responsible for test result --></performer> <literal value="[string]"/><!-- 0..1 Sequence that was observed --> <formatted><!-- 0..1 Attachment Embedded file or a link (URL) which contains content to represent the sequence --></formatted> <relative> <!-- 0..1 A sequence defined relative to another sequence --> <coordinateSystem><!-- 1..1 CodeableConcept Ways of identifying nucleotides or amino acids within a sequence
--></coordinateSystem> <reference> <!-- 0..1 A sequence used as reference --> <chromosome><!-- 0..1 CodeableConcept Chromosome Identifier
--></chromosome> <genomeBuild value="[string]"/><!-- 0..1 The Genome Build used for reference, following GRCh build versions e.g. 'GRCh 37' --> <orientation value="[code]"/><!-- 0..1 sense | antisense --> <referenceSeqId><!-- 0..1 CodeableConcept Reference identifier --></referenceSeqId> <referenceSeqPointer><!-- 0..1 Reference(MolecularSequence) A pointer to another MolecularSequence entity as reference sequence --></referenceSeqPointer> <referenceSeqString value="[string]"/><!-- 0..1 A string to represent reference sequence --> <strand value="[code]"/><!-- 0..1 watson | crick --> <windowStart value="[integer]"/><!-- 0..1 Start position of the window on the reference sequence --> <windowEnd value="[integer]"/><!-- 0..1 End position of the window on the reference sequence --> </reference> <edit> <!-- 0..* Changes in sequence from the reference --> <start value="[integer]"/><!-- 0..1 Start position of the edit on the reference sequence --> <end value="[integer]"/><!-- 0..1 End position of the edit on the reference sequence --> <observedAllele value="[string]"/><!-- 0..1 Allele that was observed --> <referenceAllele value="[string]"/><!-- 0..1 Allele in the reference sequence --> <cigar value="[string]"/><!-- 0..1 Extended CIGAR string for aligning the sequence with reference bases --> </edit> </relative> <pointer><!-- 0..* Reference(MolecularSequence) Pointer to next atomic sequence --></pointer> </MolecularSequence>
JSON Template
{"resourceType" : "MolecularSequence", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Unique ID for this particular sequence "type" : "<code>", // aa | dna | rna "patient" : { Reference(Patient) }, // Patient this sequence is associated too "specimen" : { Reference(Specimen) }, // Specimen used for sequencing "device" : { Reference(Device) }, // The method for sequencing "performer" : { Reference(Organization) }, // Who should be responsible for test result "literal" : "<string>", // Sequence that was observed "formatted" : { Attachment }, // Embedded file or a link (URL) which contains content to represent the sequence "relative" : { // A sequence defined relative to another sequence "coordinateSystem" : { CodeableConcept }, // R! Ways of identifying nucleotides or amino acids within a sequence
"reference" : { // A sequence used as reference "chromosome" : { CodeableConcept }, // Chromosome Identifier
"genomeBuild" : "<string>", // The Genome Build used for reference, following GRCh build versions e.g. 'GRCh 37' "orientation" : "<code>", // sense | antisense "referenceSeqId" : { CodeableConcept }, // Reference identifier "referenceSeqPointer" : { Reference(MolecularSequence) }, // A pointer to another MolecularSequence entity as reference sequence "referenceSeqString" : "<string>", // A string to represent reference sequence "strand" : "<code>", // watson | crick "windowStart" : <integer>, // Start position of the window on the reference sequence "windowEnd" : <integer> // End position of the window on the reference sequence }, "edit" : [{ // Changes in sequence from the reference "start" : <integer>, // Start position of the edit on the reference sequence "end" : <integer>, // End position of the edit on the reference sequence "observedAllele" : "<string>", // Allele that was observed "referenceAllele" : "<string>", // Allele in the reference sequence "cigar" : "<string>" // Extended CIGAR string for aligning the sequence with reference bases }] }, "pointer" : [{ Reference(MolecularSequence) }] // Pointer to next atomic sequence }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:MolecularSequence; 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:MolecularSequence.identifier [ Identifier ], ... ; # 0..* Unique ID for this particular sequence fhir:MolecularSequence.type [ code ]; # 0..1 aa | dna | rna fhir:MolecularSequence.patient [ Reference(Patient) ]; # 0..1 Patient this sequence is associated too fhir:MolecularSequence.specimen [ Reference(Specimen) ]; # 0..1 Specimen used for sequencing fhir:MolecularSequence.device [ Reference(Device) ]; # 0..1 The method for sequencing fhir:MolecularSequence.performer [ Reference(Organization) ]; # 0..1 Who should be responsible for test result fhir:MolecularSequence.literal [ string ]; # 0..1 Sequence that was observed fhir:MolecularSequence.formatted [ Attachment ]; # 0..1 Embedded file or a link (URL) which contains content to represent the sequence fhir:MolecularSequence.relative [ # 0..1 A sequence defined relative to another sequence fhir:MolecularSequence.relative.coordinateSystem [ CodeableConcept ]; # 1..1 Ways of identifying nucleotides or amino acids within a sequence fhir:MolecularSequence.relative.reference [ # 0..1 A sequence used as reference fhir:MolecularSequence.relative.reference.chromosome [ CodeableConcept ]; # 0..1 Chromosome Identifier fhir:MolecularSequence.relative.reference.genomeBuild [ string ]; # 0..1 The Genome Build used for reference, following GRCh build versions e.g. 'GRCh 37' fhir:MolecularSequence.relative.reference.orientation [ code ]; # 0..1 sense | antisense fhir:MolecularSequence.relative.reference.referenceSeqId [ CodeableConcept ]; # 0..1 Reference identifier fhir:MolecularSequence.relative.reference.referenceSeqPointer [ Reference(MolecularSequence) ]; # 0..1 A pointer to another MolecularSequence entity as reference sequence fhir:MolecularSequence.relative.reference.referenceSeqString [ string ]; # 0..1 A string to represent reference sequence fhir:MolecularSequence.relative.reference.strand [ code ]; # 0..1 watson | crick fhir:MolecularSequence.relative.reference.windowStart [ integer ]; # 0..1 Start position of the window on the reference sequence fhir:MolecularSequence.relative.reference.windowEnd [ integer ]; # 0..1 End position of the window on the reference sequence ]; fhir:MolecularSequence.relative.edit [ # 0..* Changes in sequence from the reference fhir:MolecularSequence.relative.edit.start [ integer ]; # 0..1 Start position of the edit on the reference sequence fhir:MolecularSequence.relative.edit.end [ integer ]; # 0..1 End position of the edit on the reference sequence fhir:MolecularSequence.relative.edit.observedAllele [ string ]; # 0..1 Allele that was observed fhir:MolecularSequence.relative.edit.referenceAllele [ string ]; # 0..1 Allele in the reference sequence fhir:MolecularSequence.relative.edit.cigar [ string ]; # 0..1 Extended CIGAR string for aligning the sequence with reference bases ], ...; ]; fhir:MolecularSequence.pointer [ Reference(MolecularSequence) ], ... ; # 0..* Pointer to next atomic sequence ]
Changes since Release 3
MolecularSequence | |
MolecularSequence.type |
|
MolecularSequence.literal |
|
MolecularSequence.formatted |
|
MolecularSequence.relative |
|
MolecularSequence.relative.coordinateSystem |
|
MolecularSequence.relative.reference |
|
MolecularSequence.relative.reference.chromosome |
|
MolecularSequence.relative.reference.genomeBuild |
|
MolecularSequence.relative.reference.orientation |
|
MolecularSequence.relative.reference.referenceSeqId |
|
MolecularSequence.relative.reference.referenceSeqPointer |
|
MolecularSequence.relative.reference.referenceSeqString |
|
MolecularSequence.relative.reference.strand |
|
MolecularSequence.relative.reference.windowStart |
|
MolecularSequence.relative.reference.windowEnd |
|
MolecularSequence.relative.edit |
|
MolecularSequence.relative.edit.start |
|
MolecularSequence.relative.edit.end |
|
MolecularSequence.relative.edit.observedAllele |
|
MolecularSequence.relative.edit.referenceAllele |
|
MolecularSequence.relative.edit.cigar |
|
MolecularSequence.coordinateSystem |
|
MolecularSequence.quantity |
|
MolecularSequence.referenceSeq |
|
MolecularSequence.variant |
|
MolecularSequence.observedSeq |
|
MolecularSequence.quality |
|
MolecularSequence.readCoverage |
|
MolecularSequence.repository |
|
MolecularSequence.structureVariant |
|
See the Full Difference for further information
See the Profiles & Extensions and the alternate definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions, the spreadsheet version & the dependency analysis a
Path | Definition | Type | Reference |
---|---|---|---|
MolecularSequence.type | Required | sequenceType | |
MolecularSequence.relative.coordinateSystem | Extensible | http://loinc.org/LL5323-2/ ![]() | |
MolecularSequence.relative.reference.chromosome | Example | http://loinc.org/LL2938-0/ ![]() | |
MolecularSequence.relative.reference.orientation | Required | orientationType | |
MolecularSequence.relative.reference.referenceSeqId | Example | ?? | |
MolecularSequence.relative.reference.strand | Required | strandType |
id | Level | Location | Description | Expression |
msq-1 | Rule | (base) | Each MolecularSequence SHALL have only one representation of a sequence: literal, formatted, or relative. | (literal.count() + formatted.count() + relative.count()) = 1 |
msq-5 | Rule | MolecularSequence.relative.reference | GenomeBuild and chromosome must be both contained if either one of them is contained | (chromosome.empty() and genomeBuild.empty()) or (chromosome.exists() and genomeBuild.exists()) |
msq-6 | Rule | MolecularSequence.relative.reference | Have and only have one of the following elements in referenceSeq : 1. genomeBuild ; 2 referenceSeqId; 3. referenceSeqPointer; 4. referenceSeqString; | (genomeBuild.count()+referenceSeqId.count()+ referenceSeqPointer.count()+ referenceSeqString.count()) = 1 |
This resource supports three patterns for representing a sequence of interest:
MolecularSequence.literal
: This string element can be used to hold the sequence as a string of characters.
MolecularSequence.formatted
: This Attachment is used to refer to the sequence as embedded file content or via a URL reference.
This method can be used to refer to sequence data from an an external source. If the sequence is referring to a GA4GH repository, the MolecularSequence.formatted.url
should refer to a GA4GH compliant endpoint that conforms to GA4GH data models.
MolecularSequence.relative
: This complex element is used for encoding sequence. When the information of reference sequence and edits are provided, the observed sequence will be derived. Here is a picture below:
MolecularSequence.relative.reference
: There are four optional ways to represent a reference sequence in MolecularSequence
resource:
MolecularSequence.relative.reference.referenceSeqId
: Reference sequence id in public database;MolecularSequence.relative.reference.referenceSeqString
: Reference sequence string; MolecularSequence.relative.reference.referenceSeqPointer
: Reference to observed sequence stored in another sequence entity; MolecularSequence.relative.reference.genomeBuild
, MolecularSequence.relative.reference.chromosome
: The combination of genome build and chromosome.
The MolecularSequence.relative.reference.window
defines a range from the reference sequence that is used to define building block of a sequence.
When saving the sequence information, the nucleic acid will be numbered with order. Some representations use a 0-based system (e.g. GA4GH API, BAM files) while some use a 1-based system (e.g. VCF file format). The element coordinateSystem contains this information.
MolecularSequence.relative.coordinateSystem
binds to a LOINC answer list, please review those answers here as well as the detailed description found here
.
Here are two examples:
There are lots of definition concerning with the directionality of DNA or RNA. Here we are using MolecularSequence.relative.reference.orientation
and MolecularSequence.relative.reference.strand
. Orientation represents the sense of the sequence, which has different meanings depending on the MolecularSequence.type
. Strand represents the sequence writing order. Watson strand refers to 5' to 3' top strand (5' -> 3'), whereas Crick strand refers to 5' to 3' bottom strand (3' <- 5').
Only two possible values can be made by strand, +1 for plus strand while -1 for minus strand. Since the directionality of the sequence string might be represented in different word in different omics scenario, below are simple example of how to map other expressions into its correlated value:
Map to +1 | Map to -1 |
---|---|
5′-to-3′ direction | 3′-to-5′ direction |
Watson | Crick |
Sense | Antisense |
Positive | Negative |
There are attributes where the sequence is represented as a string of characters.
relative.reference.referenceSeqString
relative.edit.observedAllele
relative.edit.referenceAllele
literal
The characters used in these string representations of a sequence should be constrained to the IUPAC codes found here https://www.bioinformatics.org/sms2/iupac.html .
Search parameters for 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 |
chromosome | token | Chromosome number of the reference sequence | MolecularSequence.relative.reference.chromosome | |
chromosome-edit-coordinate | composite | Search parameter by chromosome and edit coordinate. This will refer to part of a locus or part of a gene where search region will be represented in different coordinate systems, so please review. | On MolecularSequence.relative.edit: chromosome: %resource.relative.reference.chromosome edit-start: start edit-end: end | |
chromosome-window-coordinate | composite | Search parameter by chromosome and window. This will refer to part of a locus or part of a gene where search region will be represented in different coordinate systems, so please review. | On MolecularSequence.relative.reference: chromosome: chromosome window-start: windowStart window-end: windowEnd | |
edit-end | number | End position (0-based exclusive, which menas the acid at this position will not be included, 1-based inclusive, which means the acid at this position will be included) of the change. | MolecularSequence.relative.edit.end | |
edit-start | number | Start position (0-based inclusive, 1-based inclusive, that means the nucleic acid or amino acid at this position will be included) of the change. | MolecularSequence.relative.edit.start | |
identifier | token | The unique identity for a particular sequence | MolecularSequence.identifier | |
patient | reference | The subject that the observation is about | MolecularSequence.patient (Patient) | |
referenceseqid | token | Reference Sequence of the sequence | MolecularSequence.relative.reference.referenceSeqId | |
referenceseqid-edit-coordinate | composite | Search parameter by reference sequence and edit coordinate. This will refer to part of a locus or part of a gene where search region will be represented in different coordinate systems, so please review. | On MolecularSequence.relative.edit: referenceseqid: %resource.relative.reference.referenceSeqId edit-start: start edit-end: end | |
referenceseqid-window-coordinate | composite | Search parameter by reference sequence and window. This will refer to part of a locus or part of a gene where search region will be represented in different coordinate systems, so please review. | On MolecularSequence.relative.reference: referenceseqid: referenceSeqId window-start: windowStart window-end: windowEnd | |
type | token | Amino Acid Sequence/ DNA Sequence / RNA Sequence | MolecularSequence.type | |
window-end | number | End position (0-based exclusive, which menas the acid at this position will not be included, 1-based inclusive, which means the acid at this position will be included) of the reference sequence. | MolecularSequence.relative.reference.windowEnd | |
window-start | number | Start position (0-based inclusive, 1-based inclusive, that means the nucleic acid or amino acid at this position will be included) of the reference sequence. | MolecularSequence.relative.reference.windowStart |