{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://schema.humancellatlas.org/type/protocol/biomaterial_collection/6.7.0/dissociation_protocol",
  "description": "Information about the dissociation protocol used to separate individual cells or nuclei.",
  "additionalProperties": false,
  "required": [
    "describedBy",
    "schema_type",
    "protocol_core",
    "method"
  ],
  "title": "Dissociation protocol",
  "name": "dissociation_protocol",
  "type": "object",
  "properties": {
    "describedBy": {
      "description": "The URL reference to the schema.",
      "type": "string",
      "pattern": "^(http|https)://schema.(.*?)humancellatlas.org/type/protocol/biomaterial_collection/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/dissociation_protocol"
    },
    "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": [
        "protocol"
      ]
    },
    "provenance": {
      "description": "Provenance information provided by the system.",
      "type": "object",
      "$ref": "https://schema.humancellatlas.org/system/1.1.0/provenance"
    },
    "protocol_core": {
      "description": "Core protocol-level information.",
      "type": "object",
      "$ref": "https://schema.humancellatlas.org/core/protocol/5.2.5/protocol_core",
      "user_friendly": "Protocol core"
    },
    "method": {
      "description": "How cells or organelles were dissociated.",
      "type": "object",
      "$ref": "https://schema.humancellatlas.org/module/ontology/5.3.5/process_type_ontology",
      "user_friendly": "Dissociation method"
    },
    "reagents": {
      "description": "A list of purchased reagents used in this protocol.",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "https://schema.humancellatlas.org/module/process/6.1.0/purchased_reagents"
      },
      "user_friendly": "Purchased reagents"
    },
    "digestion_time": {
      "description": "Time of digestion of the specimen.",
      "type": "integer",
      "example": "2; 5; 10",
      "user_friendly": "Digestion time"
    },
    "digestion_time_unit": {
      "description": "The unit in which the digestion time is expressed.",
      "type": "object",
      "$ref": "https://schema.humancellatlas.org/module/ontology/5.3.5/time_unit_ontology",
      "user_friendly": "Digestion time unit"
    },
    "digestion_temperature": {
      "description": "Temperature of digestion in Celsius or in general terms (i.e. cold, warm, room temperature).",
      "oneOf": [
        {
          "type": "number"
        },
        {
          "type": "string",
          "enum": [
            "frozen",
            "cold",
            "room temperature",
            "warm"
          ]
        }
      ],
      "example": "4; 37; cold",
      "user_friendly": "Digestion temperature"
    },
    "digestion_solution": {
      "description": "Enzyme(s) or reagent(s) of the solution that was used for the digestion of the specimen.",
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "Citric-acid based",
          "Detergent-based",
          "Lysis buffer",
          "Accutase",
          "Collagenase",
          "Collagenase A",
          "Collagenase D",
          "Collagenase I",
          "Collagenase II",
          "Collagenase IV",
          "Dispase",
          "Dispase II",
          "DNAse I",
          "Elastase",
          "Hyaluronidase",
          "Liberase",
          "Papain",
          "Protease",
          "TrypLE",
          "Trypsin"
        ]
      },
      "user_friendly": "Digestion solution"
    }
  }
}
