Skip to content

Instantly share code, notes, and snippets.

@andrewyatz
Created May 28, 2019 15:13
Show Gist options
  • Save andrewyatz/0aca0d6106021f781b2beb625355a2b6 to your computer and use it in GitHub Desktop.
Save andrewyatz/0aca0d6106021f781b2beb625355a2b6 to your computer and use it in GitHub Desktop.
JSON schema attempt to describe the refget metadata payload
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "http://github.com/samtools/hts-specs/pub/refget-metadata.schema.1.0.0.json",
"title": "Refget Metadata",
"description": "Holds metadata pertaining to a record within the refget protocol",
"type" : "object",
"properties": {
"id" : {
"description": "The checksum identifier for a given record (the default)",
"type" : "string"
},
"md5" : {
"description": "md5 checksum of the reference sequence",
"type" : "string",
"maxLength": 32,
"minLength" : 32,
"pattern": "(^[A-Za-z0-9]{32}$)"
},
"trunc512" : {
"description": "trunc512 checksum of the reference sequence",
"type": "string",
"maxLength": 48,
"minLength": 48,
"pattern": "(^[A-Za-z0-9]{48}$)"
},
"length" : {
"description": "Length of the reference sequence",
"type": "integer"
},
"aliases" : {
"type" : "array",
"items": {
"type" : "object",
"properties": {
"alias" : {
"description": "Free text alias for a given sequence",
"type" : "string"
},
"naming_authority" : {
"description": "Name of the authority, which issued the given alias",
"type" : "string",
"enum": ["INSDC", "UCSC", "Ensembl", "RefSeq", "vmc", "unknown"]
}
},
"required" : ["alias", "naming_authority"]
},
"minItems" : 0
}
},
"required": ["id", "md5", "length", "aliases"]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment