{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "publish_results",
  "description": "Publish the results",
  "type": "object",
  "$defs": {
    "input arguments": {
      "title": "Input arguments",
      "type": "object",
      "description": "No description",
      "properties": {
        "star_output": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "format": "path",
          "exists": true,
          "description": "Output from mapping with STAR",
          "help_text": "Type: `file`, multiple: `True`, required, direction: `input`. "
        },
        "nrReadsNrGenesPerChrom": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "format": "path",
          "exists": true,
          "description": "",
          "help_text": "Type: `file`, multiple: `True`, required, direction: `input`. "
        },
        "star_qc_metrics": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "format": "path",
          "exists": true,
          "description": "",
          "help_text": "Type: `file`, multiple: `True`, required, direction: `input`. "
        },
        "eset": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "format": "path",
          "exists": true,
          "description": "",
          "help_text": "Type: `file`, multiple: `True`, required, direction: `input`. "
        },
        "f_data": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "format": "path",
          "exists": true,
          "description": "",
          "help_text": "Type: `file`, multiple: `True`, required, direction: `input`. "
        },
        "p_data": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "format": "path",
          "exists": true,
          "description": "",
          "help_text": "Type: `file`, multiple: `True`, required, direction: `input`. "
        },
        "html_report": {
          "type": "string",
          "format": "path",
          "exists": true,
          "description": "",
          "help_text": "Type: `file`, multiple: `False`, required, direction: `input`. "
        },
        "run_params": {
          "type": "string",
          "format": "path",
          "exists": true,
          "description": "",
          "help_text": "Type: `file`, multiple: `False`, required, direction: `input`. "
        },
        "run_metadata": {
          "type": "string",
          "format": "path",
          "exists": true,
          "description": "",
          "help_text": "Type: `file`, multiple: `False`, required, direction: `input`. "
        }
      }
    },
    "output directory": {
      "title": "Output directory",
      "type": "object",
      "description": "Determines the name of output directories\n",
      "properties": {
        "star_output_dir": {
          "type": "string",
          "format": "path",
          "description": "",
          "help_text": "Type: `file`, multiple: `False`, default: `\"star_output\"`, direction: `output`. ",
          "default": "star_output"
        },
        "nrReadsNrGenesPerChrom_dir": {
          "type": "string",
          "format": "path",
          "description": "",
          "help_text": "Type: `file`, multiple: `False`, default: `\"nrReadsNrGenesPerChrom\"`, direction: `output`. ",
          "default": "nrReadsNrGenesPerChrom"
        },
        "star_qc_metrics_dir": {
          "type": "string",
          "format": "path",
          "description": "",
          "help_text": "Type: `file`, multiple: `False`, default: `\"starLogs\"`, direction: `output`. ",
          "default": "starLogs"
        },
        "eset_dir": {
          "type": "string",
          "format": "path",
          "description": "",
          "help_text": "Type: `file`, multiple: `False`, default: `\"esets\"`, direction: `output`. ",
          "default": "esets"
        },
        "f_data_dir": {
          "type": "string",
          "format": "path",
          "description": "",
          "help_text": "Type: `file`, multiple: `False`, default: `\"fData\"`, direction: `output`. ",
          "default": "fData"
        },
        "p_data_dir": {
          "type": "string",
          "format": "path",
          "description": "",
          "help_text": "Type: `file`, multiple: `False`, default: `\"pData\"`, direction: `output`. ",
          "default": "pData"
        }
      }
    },
    "output file arguments": {
      "title": "Output file arguments",
      "type": "object",
      "description": "Determines the name of output files",
      "properties": {
        "run_params_output": {
          "type": "string",
          "format": "path",
          "description": "",
          "help_text": "Type: `file`, multiple: `False`, default: `\"$id.$key.run_params_output\"`, direction: `output`. ",
          "default": "$id.$key.run_params_output"
        },
        "run_metadata_output": {
          "type": "string",
          "format": "path",
          "description": "",
          "help_text": "Type: `file`, multiple: `False`, default: `\"$id.$key.run_metadata_output\"`, direction: `output`. ",
          "default": "$id.$key.run_metadata_output"
        },
        "html_report_output": {
          "type": "string",
          "format": "path",
          "description": "",
          "help_text": "Type: `file`, multiple: `False`, default: `\"$id.$key.html_report_output\"`, direction: `output`. ",
          "default": "$id.$key.html_report_output"
        }
      }
    },
    "nextflow input-output arguments": {
      "title": "Nextflow input-output arguments",
      "type": "object",
      "description": "Input/output parameters for Nextflow itself. Please note that both publishDir and publish_dir are supported but at least one has to be configured.",
      "properties": {
        "publish_dir": {
          "type": "string",
          "description": "Path to an output directory.",
          "help_text": "Type: `string`, multiple: `False`, required, example: `\"output/\"`. "
        }
      }
    }
  },
  "allOf": [
    {
      "$ref": "#/$defs/input arguments"
    },
    {
      "$ref": "#/$defs/output directory"
    },
    {
      "$ref": "#/$defs/output file arguments"
    },
    {
      "$ref": "#/$defs/nextflow input-output arguments"
    }
  ]
}
