{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "$id": "https://schema.humancellatlas.org/type/file/2.1.0/reference_file",
  "description": "A reference file used by a secondary reference pipeline.",
  "additionalProperties": false,
  "required": [
    "describedBy",
    "schema_type",
    "file_core",
    "ncbi_taxon_id",
    "genus_species",
    "assembly_type",
    "reference_type",
    "reference_version"
  ],
  "title": "reference_file",
  "type": "object",
  "properties": {
    "describedBy": {
      "description": "The URL reference to the schema.",
      "type": "string",
      "pattern": "^(http|https)://schema.(.*?)humancellatlas.org/type/file/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/reference_file"
    },
    "schema_version": {
      "description": "The version number of the schema in major.minor.patch format.",
      "type": "string",
      "pattern": "^[0-9]{1,}.[0-9]{1,}.[0-9]{1,}$",
      "example": "4.6.1"
    },
    "schema_type": {
      "description": "The type of the metadata schema entity.",
      "type": "string",
      "enum": [
        "file"
      ]
    },
    "file_core": {
      "description": "Core file-level information.",
      "type": "object",
      "$ref": "https://schema.humancellatlas.org/core/file/5.2.1/file_core"
    },
    "ncbi_taxon_id": {
      "description": "A taxonomy ID (taxonID) from NCBI.",
      "type": "integer",
      "user_friendly": "NCBI taxon ID"
    },
    "genus_species": {
      "description": "The scientific binomial name for the species of this reference.",
      "type": "object",
      "$ref": "https://schema.humancellatlas.org/module/ontology/5.3.0/species_ontology",
      "example": "Homo sapiens",
      "user_friendly": "Genus species"
    },
    "assembly_type": {
      "description": "The assembly type of this reference. This applies to reference genome sequences.",
      "type": "string",
      "enum": [
        "primary assembly",
        "complete assembly",
        "patch assembly"
      ]
    },
    "reference_type": {
      "description": "The type of the genome reference.",
      "type": "string",
      "enum": [
        "genome sequence",
        "transcriptome sequence",
        "annotation reference",
        "transcriptome index",
        "genome sequence index"
      ]
    },
    "reference_version": {
      "description": "The genome version of the reference.",
      "type": "string",
      "example": "GencodeV27"
    }
  }
}
