json_schema: {
      "$schema": "http://json-schema.org/draft-04/schema#",
      "description": "A schema to describe a target gene web request graph for Targetscope, building a tree of individual operations, inputs and outputs",
      "properties": {
          "client_id": {
              "description": "Unique identifier for client making request",
              "type": "string"
          },
          "dtsubmission": {
              "_format": "date-time",
              "description": "An RFC3339-formatted request graph submission timestamp in UTC time",
              "type": "string"
          },
          "id": {
              "description": "A unique identifier for a target gene request graph instance",
              "type": "string"
          },
          "name": {
              "description": "Name of the operation request graph instance",
              "type": "string"
          },
          "operations": {
              "description": "List of request graph Operation components",
              "items": {
                  "properties": {
                      "id": {
                          "description": "A unique identifier for this Operation",
                          "type": "string"
                      },
                      "name": {
                          "description": "Name of this Operation",
                          "type": "string"
                      },
                      "parameters": {
                          "description": "List of Operation parameters",
                          "items": {
                              "properties": {
                                  "arguments": {
                                      "description": "Operation parameter arguments",
                                      "items": {
                                          "properties": {
                                              "options": {
                                                  "items": {
                                                      "properties": {
                                                          "kind": {
                                                              "description": "Operation option kind",
                                                              "enum": [
                                                                  "range_start",
                                                                  "range_stop",
                                                                  "filter_score",
                                                                  "filter_name",
                                                                  "filter_strand",
                                                                  "filter_chromosome",
                                                                  "filter_interaction_component",
                                                                  "set_range_left",
                                                                  "set_range_right",
                                                                  "set_dhs_range_left",
                                                                  "set_dhs_range_right",
                                                                  "equal_operation",
                                                                  "greater_operation",
                                                                  "less_operation",
                                                                  "greater_equal_operation",
                                                                  "less_equal_operation",
                                                                  "precision",
                                                                  "inverse_operation",
                                                                  "set_overlap_bases",
                                                                  "set_overlap_fraction_both",
                                                                  "set_overlap_fraction_either",
                                                                  "set_overlap_fraction_map",
                                                                  "set_overlap_fraction_ref",
                                                                  "set_overlap_exact",
                                                                  "set_overlap_range_start",
                                                                  "set_overlap_range_stop",
                                                                  "summary_report_type",
                                                                  "kth_report_argument",
                                                                  "kth_mean_report_lower_bound",
                                                                  "kth_mean_report_upper_bound",
                                                                  "mad_report_argument"
                                                              ],
                                                              "type": "string"
                                                          },
                                                          "value": {
                                                              "description": "Operation option value",
                                                              "type": "string"
                                                          }
                                                      },
                                                      "required": [
                                                          "value",
                                                          "kind"
                                                      ],
                                                      "type": "object"
                                                  },
                                                  "type": "array"
                                              },
                                              "sets": {
                                                  "description": "List of Operation input or output sets (either Element or Interaction Set)",
                                                  "items": {
                                                      "properties": {
                                                          "id": {
                                                              "description": "A unique identifier for a defined input Element or Interaction Set",
                                                              "type": "string"
                                                          },
                                                          "kind": {
                                                              "description": "Set input/output kind",
                                                              "enum": [
                                                                  "input",
                                                                  "input_reference",
                                                                  "input_map",
                                                                  "output"
                                                              ],
                                                              "type": "string"
                                                          }
                                                      },
                                                      "required": [
                                                          "id",
                                                          "kind"
                                                      ],
                                                      "type": "object"
                                                  },
                                                  "type": "array"
                                              }
                                          },
                                          "type": "object"
                                      },
                                      "type": "array"
                                  },
                                  "kind": {
                                      "description": "Operation kind",
                                      "enum": [
                                          "element_set_inclusive_filter",
                                          "element_set_range",
                                          "interaction_set_range",
                                          "element_set_filter_score",
                                          "element_set_filter_name",
                                          "element_set_filter_strand",
                                          "element_set_filter_chromosome",
                                          "interaction_set_filter_component",
                                          "element_set_union",
                                          "element_set_merge",
                                          "element_set_element_of",
                                          "element_set_not_element_of",
                                          "element_set_component",
                                          "element_set_difference",
                                          "element_set_complement",
                                          "element_set_symmetric_difference",
                                          "element_set_partition",
                                          "element_set_map_on_element_set",
                                          "element_set_map_on_interaction_set",
                                          "element_set_attributes",
                                          "interaction_set_union",
                                          "summary_report"
                                      ],
                                      "type": "string"
                                  }
                              },
                              "required": [
                                  "kind",
                                  "arguments"
                              ],
                              "type": "object"
                          },
                          "type": "array"
                      },
                      "summary": {
                          "description": "Optional details about this Operation instance",
                          "type": "string"
                      }
                  },
                  "required": [
                      "id",
                      "name"
                  ],
                  "type": "object"
              },
              "type": "array"
          },
          "save_intermediate": {
              "description": "Save intermediate results of the pipeline",
              "type": "boolean"
          },
          "sets": {
              "description": "List of request graph Element and/or Interaction Set components",
              "items": {
                  "properties": {
                      "id": {
                          "description": "A unique identifier for this Element or Interaction Set",
                          "type": "string"
                      },
                      "kind": {
                          "description": "Set kind",
                          "enum": [
                              "element",
                              "interaction"
                          ],
                          "type": "string"
                      }
                  },
                  "required": [
                      "id",
                      "kind"
                  ],
                  "type": "object"
              },
              "type": "array"
          },
          "version": {
              "description": "Schema version associated with request",
              "enum": [
                  "v1.0.0",
                  "v1.1.0",
                  "v1.2.0"
              ]
          }
      },
      "required": [
          "id",
          "name",
          "dtsubmission",
          "version"
      ],
      "title": "Targetscope target gene request graph schema",
      "type": "object"
  }