{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "scsplit",
  "description": "scsplit is a genotype-free demultiplexing methode of pooled single-cell RNA-seq, using a hidden state model for identifying genetically distinct samples within a mixed population.",
  "type": "object",
  "$defs": {
    "input": {
      "title": "Input",
      "type": "object",
      "description": "No description",
      "properties": {
        "vcf": {
          "type": "string",
          "format": "path",
          "description": "VCF from mixed BAM",
          "help_text": "Type: `file`, multiple: `False`, direction: `input`, example: `\"input.vcf\"`. "
        },
        "bam": {
          "type": "string",
          "format": "path",
          "description": "mixed sample BAM",
          "help_text": "Type: `file`, multiple: `False`, direction: `input`, example: `\"input.bam\"`. "
        },
        "bar": {
          "type": "string",
          "format": "path",
          "description": "barcodes whitelist",
          "help_text": "Type: `file`, multiple: `False`, direction: `input`, example: `\"barcodes.txt\"`. "
        },
        "tag": {
          "type": "string",
          "description": "tag for barcode",
          "help_text": "Type: `string`, multiple: `False`, default: `\"CB\"`. ",
          "default": "CB"
        },
        "com": {
          "type": "string",
          "format": "path",
          "description": "common SNVs",
          "help_text": "Type: `file`, multiple: `False`, direction: `input`, example: `\"common_snvs.txt\"`. "
        },
        "num": {
          "type": "integer",
          "description": "expected number of mixed samples",
          "help_text": "Type: `integer`, multiple: `False`. "
        },
        "sub": {
          "type": "integer",
          "description": "maximum number of subpopulations in autodetect mode",
          "help_text": "Type: `integer`, multiple: `False`, default: `10`. ",
          "default": 10
        },
        "ems": {
          "type": "integer",
          "description": "number of EM repeats to avoid local maximum",
          "help_text": "Type: `integer`, multiple: `False`, default: `30`. ",
          "default": 30
        },
        "dbl": {
          "type": "number",
          "description": "correction for doublets",
          "help_text": "Type: `double`, multiple: `False`. "
        },
        "vcf_known": {
          "type": "string",
          "format": "path",
          "description": "known individual genotypes to limit distinguishing variants to available variants, so that users do not need to redo genotyping on selected variants, otherwise any variants could be selected as distinguishing variants.",
          "help_text": "Type: `file`, multiple: `False`, direction: `input`, example: `\"known_variants.vcf\"`. "
        },
        "geno": {
          "type": "boolean",
          "description": "generate sample genotypes based on the split result.",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        }
      }
    },
    "output": {
      "title": "Output",
      "type": "object",
      "description": "No description",
      "properties": {
        "output": {
          "type": "string",
          "format": "path",
          "description": "Output directory",
          "help_text": "Type: `file`, multiple: `False`, default: `\"$id.$key.output\"`, direction: `output`, example: `\"scSplit_out\"`. ",
          "default": "$id.$key.output"
        },
        "ref": {
          "type": "string",
          "description": "output Ref count matrix",
          "help_text": "Type: `string`, multiple: `False`. "
        },
        "alt": {
          "type": "string",
          "description": "output Alt count matrix",
          "help_text": "Type: `string`, multiple: `False`. "
        },
        "psc": {
          "type": "string",
          "description": "generated P(S|C)",
          "help_text": "Type: `string`, multiple: `False`. "
        }
      }
    },
    "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"
    },
    {
      "$ref": "#/$defs/output"
    },
    {
      "$ref": "#/$defs/nextflow input-output arguments"
    }
  ]
}
