GLSC 1.0 Syntax
Version 1.0
The Genotype List String Code (GLSC) code system defines a syntax for using the Genotype List String (GL String) grammar in association with a gene family namespace.
GL String Code Syntax
The GL String Code is composed of three required fields in a string separated by a “#” character. These fields, in order, are:
- Gene family namespace
- Version of the nomenclature, or the date when the GL String was created
-
namespace
#
version_or_date#
glstring
See below for examples.
Gene family namespace
Each gene family namespace represents one or more code systems. When more than one code system is used, a base system is designated which is then extended by the other code systems.
![]() |
For example, the hla namespace supports the IPD-IMGT/HLA allele database as the base system, as well as the National Marrow Donor Program (NMDP) multiple allele code system used to describe allele ambiguity, and the World Marrow Donor Association (WMDA) extensions (“NNNN”, “XXXX”, “UUUU” and “NEW”). |
Supported namespaces
Namespace | Code System | Ref | Version Notes |
---|---|---|---|
hla |
IPD-IMGT/HLA | a | tied to IPD-IMGT/HLA release version |
NMDP multiple allele code (MAC) designation | b | versionless, but usage may be tied to IPD-IMGT/HLA release version | |
WMDA additional codes | c | versionless, but usage may be tied to IPD-IMGT/HLA release version | |
XX codes | c | versionless, but usage may be tied to IPD-IMGT/HLA release version | |
kir |
IPD-KIR | d | tied to IPD-KIR release version |
a. https://www.ebi.ac.uk/ipd/imgt/hla
b. https://bioinformatics.bethematchclinical.org/hla-resources/allele-codes/allele-code-lists
c. https://doi.org/10.1038/sj.bmt.1705672, XX Codes
d. https://www.ebi.ac.uk/ipd/kir
Version or date
The second field of the GL String Code contains the version of the base nomenclature of the gene family namespace. When the version is not available, the date when the GL String was constructed is used. This reflects the most recent version possible of the nomenclature. This field is not optional.
Version
When available, the version of the base nomenclature release is preferred over the date. A fully qualified version should be used (e.g., 3.33.0
vs 3.33
).
Version examples:
3.20.0
3.25.0
Date
If using the date, the format must be as described for the HL7 FHIR date type (https://hl7.org/fhir/datatypes.html#date). Briefly,
A date, or partial date (e.g. just year or year + month) as used in human communication. There is no time zone. Dates SHALL be valid dates.
Regex: -?[0-9]{4}(-(0[1-9]|1[0-2])(-(0[0-9]|[1-2][0-9]|3[0-1]))?)?
Date examples:
2017-10-15
2015-01
2018
Genotype List String (GL String)
The GL String format uses a hierarchical set of operators to describe the relationships between alleles, lists of possible alleles, phased alleles, genotypes, lists of possible genotypes, and multilocus unphased genotypes, without losing typing information or increasing typing ambiguity.
The GL String grammar is described in
Genotype List String: a grammar for describing HLA and KIR genotyping results in a text string. Tissue Antigens. 2013 Aug;82(2):106-12. doi: 10.1111/tan.12150
GL String delimiters & precedence
Precedence | Delimiter | Description |
---|---|---|
1 | ^ |
Gene/Locus used in multilocus unphased genotypes |
2 | | |
Genotype List to describe genotype ambiguity where the typing system cannot distinguish chromosomal phase |
3 | + |
Genotype |
4 | ~ |
Haplotype used to describe alleles that are in chromosomal phase (cis) |
5 | / |
Allele List to describe allele ambiguity where the typing system cannot distinguish between alleles |
GL String parsing
Parsing of GL String delimiters in a multilocus unphased genotype
GL String examples
- HLA-A genotype with ambiguous allele
HLA-A*01:01:01:01/HLA-A*01:02+HLA-A*24:02:01:01
- HLA-A ambiguous genotype
HLA-A*01:02+HLA-A*03:02:01|HLA-A*01:03:01:01+HLA-A*03:04:01
- HLA-DR haplotype
HLA-DRB1*03:01:02~HLA-DRB5*01:01:01
- HLA multi-locus unphased genotype
HLA-A*02:302+HLA-A*23:26/HLA-A*23:39^HLA-B*44:02:13+HLA-B*49:08
- KIR ambiguous genotype
KIR3DL2*001+KIR3DL2*007|KIR3DL2*006+KIR3DL2*010
GL String Code Examples
Base nomenclature only
hla#3.25.0#HLA-A*01:01:01:01/HLA-A*01:02+HLA-A*24:02:01:01
hla#3.29.0#HLA-DRB1*03:01:02~HLA-DRB5*01:01:01
hla#3.33.0#HLA-A*02:69+HLA-A*23:30|HLA-A*02:302+HLA-A*23:26/HLA-A*23:39
hla#2018-06#HLA-A*02:69+HLA-A*23:30
kir#2.3#KIR3DL2*001+KIR3DL2*007|KIR3DL2*006+KIR3DL2*010
NMDP Multiple Allele Code (MAC) Designations
hla#2018-03-01#HLA-DPB1*04:ANKZX+HLA-DPB1*04:FNVS
MAC and WMDA extensions
hla#3.25.0#HLA-DPB1*04:ANKZX+HLA-DPB1*04:FNVS^HLA-DRB3*XXXX
as a valueCodeableConcept.coding within a HL7 FHIR Observation…
<valueCodeableConcept>
<coding>
<system value="http://glstring.org"/>
<version value="1.0"/>
<code value="hla#3.25.0#HLA-A*01:01:01:01/HLA-A*01:02+HLA-A*24:02:01:01"/>
</coding>
</valueCodeableConcept>
References & Links
The genotype list string code syntax for exchanging nomenclature-level genotyping results in clinical and research data management and analysis systems. HLA. 2023 Oct;102(4):501-7. doi: 10.1111/tan.15145.
Genotype List String: a grammar for describing HLA and KIR genotyping results in a text string. Tissue Antigens. 2013 Aug;82(2):106-12. doi: 10.1111/tan.12150.
World Marrow Donor Association guidelines for use of HLA nomenclature and its validation in the data exchange among hematopoietic stem cell donor registries and cord blood banks. Bone Marrow Transplant. 2007 Jun;39(12):737-41. doi: 10.1038/sj.bmt.1705672.
IPD-IMGT/HLA Database
https://www.ebi.ac.uk/ipd/imgt/hla
IPD-KIR Database
https://www.ebi.ac.uk/ipd/kir
NMDP Multiple Allele Codes
https://bioinformatics.bethematchclinical.org/hla-resources/allele-codes/allele-code-lists
NMDP MAC Service UI
https://hml.nmdp.org/MacUI