{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://schema.humancellatlas.org/type/protocol/analysis/8.0.1/analysis_protocol",
  "description": "Information about the analysis protocol.",
  "additionalProperties": false,
  "required": [
    "describedBy",
    "schema_type",
    "protocol_core",
    "computational_method",
    "protocol_type"
  ],
  "title": "analysis_protocol",
  "type": "object",
  "properties": {
    "describedBy": {
      "description": "The URL reference to the schema.",
      "type": "string",
      "pattern": "^(http|https)://schema.(.*?)humancellatlas.org/type/protocol/analysis/(([0-9]{1,}.[0-9]{1,}.[0-9]{1,})|([a-zA-Z]*?))/analysis_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.0.2/provenance"
    },
    "protocol_core": {
      "description": "Core protocol-level information.",
      "type": "object",
      "$ref": "https://schema.humancellatlas.org/core/protocol/5.2.3/protocol_core"
    },
    "protocol_type": {
      "description": "The type of protocol. Must be a child term of https://www.ebi.ac.uk/ols/ontologies/efo/terms?iri=http%3A%2F%2Fpurl.obolibrary.org%2Fobo%2FOBI_0000272.",
      "type": "object",
      "$ref": "https://schema.humancellatlas.org/module/ontology/5.3.1/process_type_ontology",
      "user_friendly": "Protocol type"
    },
    "computational_method": {
      "description": "A URI to a versioned workflow and versioned execution environment in a GA4GH-compliant repository.",
      "type": "string"
    }
  }
}
