{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "busco_run",
  "description": "Assessment of genome assembly and annotation completeness with single copy orthologs",
  "type": "object",
  "$defs": {
    "inputs": {
      "title": "Inputs",
      "type": "object",
      "description": "No description",
      "properties": {
        "input": {
          "type": "string",
          "format": "path",
          "exists": true,
          "description": "Input sequence file in FASTA format",
          "help_text": "Type: `file`, multiple: `False`, required, direction: `input`, example: `\"file.fasta\"`. "
        },
        "mode": {
          "type": "string",
          "description": "Specify which BUSCO analysis mode to run",
          "help_text": "Type: `string`, multiple: `False`, required, example: `\"proteins\"`, choices: ``genome`, `geno`, `transcriptome`, `tran`, `proteins`, `prot``. ",
          "enum": [
            "genome",
            "geno",
            "transcriptome",
            "tran",
            "proteins",
            "prot"
          ]
        },
        "lineage_dataset": {
          "type": "string",
          "description": "Specify a BUSCO lineage dataset that is most closely related to the assembly or gene set being assessed",
          "help_text": "Type: `string`, multiple: `False`, example: `\"stramenopiles_odb10\"`. "
        }
      }
    },
    "outputs": {
      "title": "Outputs",
      "type": "object",
      "description": "No description",
      "properties": {
        "short_summary_json": {
          "type": "string",
          "format": "path",
          "description": "Output file for short summary in JSON format.\n",
          "help_text": "Type: `file`, multiple: `False`, default: `\"$id.$key.short_summary_json.json\"`, direction: `output`, example: `\"short_summary.json\"`. ",
          "default": "$id.$key.short_summary_json.json"
        },
        "short_summary_txt": {
          "type": "string",
          "format": "path",
          "description": "Output file for short summary in TXT format.\n",
          "help_text": "Type: `file`, multiple: `False`, default: `\"$id.$key.short_summary_txt.txt\"`, direction: `output`, example: `\"short_summary.txt\"`. ",
          "default": "$id.$key.short_summary_txt.txt"
        },
        "full_table": {
          "type": "string",
          "format": "path",
          "description": "Full table output in TSV format.\n",
          "help_text": "Type: `file`, multiple: `False`, default: `\"$id.$key.full_table.tsv\"`, direction: `output`, example: `\"full_table.tsv\"`. ",
          "default": "$id.$key.full_table.tsv"
        },
        "missing_busco_list": {
          "type": "string",
          "format": "path",
          "description": "Missing list output in TSV format.\n",
          "help_text": "Type: `file`, multiple: `False`, default: `\"$id.$key.missing_busco_list.tsv\"`, direction: `output`, example: `\"missing_busco_list.tsv\"`. ",
          "default": "$id.$key.missing_busco_list.tsv"
        },
        "output_dir": {
          "type": "string",
          "format": "path",
          "description": "The full output directory, if so desired.\n",
          "help_text": "Type: `file`, multiple: `False`, default: `\"$id.$key.output_dir\"`, direction: `output`, example: `\"output_dir\"`. ",
          "default": "$id.$key.output_dir"
        }
      }
    },
    "resource and run settings": {
      "title": "Resource and Run Settings",
      "type": "object",
      "description": "No description",
      "properties": {
        "force": {
          "type": "boolean",
          "description": "Force rewriting of existing files",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "quiet": {
          "type": "boolean",
          "description": "Disable the info logs, displays only errors.\n",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "restart": {
          "type": "boolean",
          "description": "Continue a run that had already partially completed",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "tar": {
          "type": "boolean",
          "description": "Compress some subdirectories with many files to save space.\n",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        }
      }
    },
    "lineage dataset settings": {
      "title": "Lineage Dataset Settings",
      "type": "object",
      "description": "No description",
      "properties": {
        "auto_lineage": {
          "type": "boolean",
          "description": "Run auto-lineage pipelilne to automatically determine BUSCO lineage dataset that is most closely related to the assembly or gene set being assessed.\n",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "auto_lineage_euk": {
          "type": "boolean",
          "description": "Run auto-placement just on eukaryota tree to find optimal lineage path.\n",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "auto_lineage_prok": {
          "type": "boolean",
          "description": "Run auto_lineage just on prokaryota trees to find optimum lineage path.\n",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "datasets_version": {
          "type": "string",
          "description": "Specify the version of BUSCO datasets\n",
          "help_text": "Type: `string`, multiple: `False`, example: `\"odb10\"`. "
        }
      }
    },
    "augustus settings": {
      "title": "Augustus Settings",
      "type": "object",
      "description": "No description",
      "properties": {
        "augustus": {
          "type": "boolean",
          "description": "Use augustus gene predictor for eukaryote runs.\n",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "augustus_parameters": {
          "type": "string",
          "description": "Additional parameters to be passed to Augustus (see Augustus documentation: https://github.com/Gaius-Augustus/Augustus/blob/master/docs/RUNNING-AUGUSTUS.md).\nParameters should be contained within a single string, without whitespace and seperated by commas.\n",
          "help_text": "Type: `string`, multiple: `False`, example: `\"--PARAM1=VALUE1,--PARAM2=VALUE2\"`. "
        },
        "augustus_species": {
          "type": "string",
          "description": "Specify the augustus species\n",
          "help_text": "Type: `string`, multiple: `False`. "
        },
        "long": {
          "type": "boolean",
          "description": "Optimize Augustus self-training mode",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        }
      }
    },
    "bbtools settings": {
      "title": "BBTools Settings",
      "type": "object",
      "description": "No description",
      "properties": {
        "contig_break": {
          "type": "integer",
          "description": "Number of contiguous Ns to signify a break between contigs in BBTools analysis.\n",
          "help_text": "Type: `integer`, multiple: `False`. "
        },
        "limit": {
          "type": "integer",
          "description": "Number of candidate regions (contig or transcript) from the BLAST output to consider per BUSCO.\nThis option is only effective in pipelines using BLAST, i.e",
          "help_text": "Type: `integer`, multiple: `False`. "
        },
        "scaffold_composition": {
          "type": "boolean",
          "description": "Writes ACGTN content per scaffold to a file scaffold_composition.txt.\n",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        }
      }
    },
    "blast settings": {
      "title": "BLAST Settings",
      "type": "object",
      "description": "No description",
      "properties": {
        "e_value": {
          "type": "number",
          "description": "E-value cutoff for BLAST searches.\n",
          "help_text": "Type: `double`, multiple: `False`. "
        }
      }
    },
    "protein gene prediction settings": {
      "title": "Protein Gene Prediction settings",
      "type": "object",
      "description": "No description",
      "properties": {
        "miniprot": {
          "type": "boolean",
          "description": "Use Miniprot gene predictor.\n",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        }
      }
    },
    "metaeuk settings": {
      "title": "MetaEuk Settings",
      "type": "object",
      "description": "No description",
      "properties": {
        "metaeuk": {
          "type": "boolean",
          "description": "Use Metaeuk gene predictor.\n",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "metaeuk_parameters": {
          "type": "string",
          "description": "Pass additional arguments to Metaeuk for the first run (see Metaeuk documentation https://github.com/soedinglab/metaeuk).\nAll parameters should be contained within a single string with no white space, with each parameter separated by a comma.\n",
          "help_text": "Type: `string`, multiple: `False`, example: `\"--max-overlap=15,--min-exon-aa=15\"`. "
        },
        "metaeuk_rerun_parameters": {
          "type": "string",
          "description": "Pass additional arguments to Metaeuk for the second run (see Metaeuk documentation https://github.com/soedinglab/metaeuk).\nAll parameters should be contained within a single string with no white space, with each parameter separated by a comma.\n",
          "help_text": "Type: `string`, multiple: `False`, example: `\"--max-overlap=15,--min-exon-aa=15\"`. "
        }
      }
    },
    "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/inputs"
    },
    {
      "$ref": "#/$defs/outputs"
    },
    {
      "$ref": "#/$defs/resource and run settings"
    },
    {
      "$ref": "#/$defs/lineage dataset settings"
    },
    {
      "$ref": "#/$defs/augustus settings"
    },
    {
      "$ref": "#/$defs/bbtools settings"
    },
    {
      "$ref": "#/$defs/blast settings"
    },
    {
      "$ref": "#/$defs/protein gene prediction settings"
    },
    {
      "$ref": "#/$defs/metaeuk settings"
    },
    {
      "$ref": "#/$defs/nextflow input-output arguments"
    }
  ]
}
