{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "$id": "https://schema.humancellatlas.org/type/file/6.4.0/sequence_file",
  "description": "A file of read sequences generated by a sequencing experiment.",
  "additionalProperties": false,
  "required": [
    "describedBy",
    "schema_type",
    "file_core",
    "read_index"
  ],
  "title": "sequence_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]*?))/sequence_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"
      ]
    },
    "provenance": {
      "description": "Provenance information provided by the system.",
      "type": "object",
      "$ref": "https://schema.humancellatlas.org/system/1.0.1/provenance"
    },
    "file_core": {
      "description": "Core file-level information.",
      "type": "object",
      "$ref": "https://schema.humancellatlas.org/core/file/5.2.2/file_core"
    },
    "read_index": {
      "description": "Whether the read file contains the read1, read2, index1, or index2 part of the sequencing read or represents a single-end, non-indexed library.",
      "type": "string",
      "example": "Should be one of: read1, read2, index1, index2, or 'single-end, non-indexed'",
      "enum": [
        "read1",
        "read2",
        "index1",
        "index2",
        "single-end, non-indexed"
      ],
      "user_friendly": "Read index"
    },
    "lane_index": {
      "description": "The index of the lane that this file was sequenced from.",
      "type": "integer",
      "example": 1,
      "user_friendly": "Lane index"
    },
    "read_length": {
      "description": "The length of a sequenced read in this file, in nucleotides.",
      "type": "integer",
      "example": 51,
      "user_friendly": "Read length"
    },
    "insdc_run": {
      "description": "An INSDC (International Nucleotide Sequence Database Collaboration) run accession. Can be from the DDBJ, NCBI, or EMBL-EBI. Accession must start with DRR, SRR, or ERR.",
      "type": "array",
      "items": {
        "pattern": "^[D|E|S]RR[0-9]+$",
        "type": "string"
      },
      "user_friendly": "INSDC run",
      "example": "SRR0000000"
    },
    "smartseq2": {
      "description": "Fields specific for SmartSeq2 experiments.",
      "type": "object",
      "$ref": "module/process/sequencing/smartseq2.json"
    },
    "technical_replicate_group": {
      "description": "A project wide unique label to indicate which groups of files are technical replicates. Technical replicates are sequence files generated from the same sequencing library. Leave blank if files are biological replicates.",
      "type": "string",
      "example": "tech_rep_group_001",
      "user_friendly": "Technical replicate group"
    }
  }
}
