{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://schema.humancellatlas.org/module/protocol/0.0.0/matrix",
  "description": "Information relating to generation of count matrices",
  "additionalProperties": false,
  "title": "Matrix",
  "name": "matrix",
  "type": "object",
  "properties": {
    "describedBy": {
      "description": "The URL reference to the schema.",
      "type": "string",
      "pattern": "^(http|https)://schema.(.*?)humancellatlas.org/module/protocol/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/matrix"
    },
    "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"
    },
    "data_normalization_methods": {
      "description": "Method(s) used to normalize data in the matrix",
      "type": "array",
      "user_friendly": "Data normalization method(s)",
      "enum": [
        "CPM (counts per million)",
        "TPM (transcripts per kilobase million)",
        "RPKM(reads per kilobase of exon per million reads mapped)",
        "FPKM (fragments per kilobase of exon per million fragments mapped)",
        "DESeq2\u2019s median of ratios",
        "TMM (EdgeR\u2019s trimmed mean of M values)",
        "SF (size factor)",
        "UQ (Upper quartile)",
        "Downsampling",
        "other",
        "Unknown"
      ],
      "guidelines": "Should be one of: CPM (counts per million), TPM (transcripts per kilobase million), RPKM(reads per kilobase of exon per million reads mapped), FPKM (fragments per kilobase of exon per million fragments mapped), DESeq2\u2019s median of ratios, TMM (EdgeR\u2019s trimmed mean of M values), SF (size factor), UQ (Upper quartile), Downsampling, Unknown, other"
    },
    "derivation_process": {
      "description": "How is the data derived?",
      "type": "enum",
      "user_friendly": "Derivation process",
      "guidelines": "Should be one of: alignment, quantification, peak calling, peak annotation, gene filtering, cell filtering, merging, cell calling, ambient RNA correction, doublet removal, batch correction, depth normalization",
      "enum": [
        "alignment",
        "quantification",
        "peak calling",
        "peak annotation",
        "gene filtering",
        "cell filtering",
        "merging",
        "cell calling",
        "ambient RNA correction",
        "doublet removal",
        "batch correction",
        "depth normalization",
        "other"
      ]
    }
  }
}
