{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "salmon_quant",
  "description": "Salmon is a tool for wicked-fast transcript quantification from RNA-seq data. It can either make use of pre-computed alignments (in the form of a SAM/BAM file) to the transcripts rather than the raw reads, or can be run in the mapping-based mode. \n",
  "type": "object",
  "$defs": {
    "common input options": {
      "title": "Common input options",
      "type": "object",
      "description": "No description",
      "properties": {
        "lib_type": {
          "type": "string",
          "description": "Format string describing the library.\nThe library type string consists of three parts: \n1",
          "help_text": "Type: `string`, multiple: `False`, default: `\"A\"`, choices: ``A`, `U`, `SF`, `SR`, `IU`, `IS`, `ISF`, `ISR`, `OU`, `OS`, `OSF`, `OSR`, `MU`, `MS`, `MSF`, `MSR``. ",
          "enum": [
            "A",
            "U",
            "SF",
            "SR",
            "IU",
            "IS",
            "ISF",
            "ISR",
            "OU",
            "OS",
            "OSF",
            "OSR",
            "MU",
            "MS",
            "MSF",
            "MSR"
          ],
          "default": "A"
        }
      }
    },
    "mapping input options": {
      "title": "Mapping input options",
      "type": "object",
      "description": "No description",
      "properties": {
        "index": {
          "type": "string",
          "format": "path",
          "description": "Salmon index.\n",
          "help_text": "Type: `file`, multiple: `False`, direction: `input`, example: `\"transcriptome_index\"`. "
        },
        "unmated_reads": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "format": "path",
          "description": "List of files containing unmated reads of (e.g",
          "help_text": "Type: `file`, multiple: `True`, direction: `input`, example: `[\"sample.fq.gz\"]`. "
        },
        "mates1": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "format": "path",
          "description": "File containing the #1 mates.\n",
          "help_text": "Type: `file`, multiple: `True`, direction: `input`, example: `[\"sample_1.fq.gz\"]`. "
        },
        "mates2": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "format": "path",
          "description": "File containing the #2 mates.\n",
          "help_text": "Type: `file`, multiple: `True`, direction: `input`, example: `[\"sample_2.fq.gz\"]`. "
        }
      }
    },
    "alignment input options": {
      "title": "Alignment input options",
      "type": "object",
      "description": "No description",
      "properties": {
        "discard_orphans": {
          "type": "boolean",
          "description": "Discard orphan alignments in the input [for alignment-based mode only]",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "alignments": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "format": "path",
          "description": "Input alignment (BAM) file(s).\n",
          "help_text": "Type: `file`, multiple: `True`, direction: `input`, example: `[\"sample.fq.gz\"]`. "
        },
        "eqclasses": {
          "type": "string",
          "format": "path",
          "description": "input salmon weighted equivalence class file.\n",
          "help_text": "Type: `file`, multiple: `False`, direction: `input`. "
        },
        "targets": {
          "type": "string",
          "format": "path",
          "description": "FASTA format file containing target transcripts.\n",
          "help_text": "Type: `file`, multiple: `False`, direction: `input`, example: `\"transcripts.fasta\"`. "
        },
        "ont": {
          "type": "boolean",
          "description": "Use alignment model for Oxford Nanopore long reads\n",
          "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 quantification directory.\n",
          "help_text": "Type: `file`, multiple: `False`, required, default: `\"$id.$key.output\"`, direction: `output`, example: `\"quant_output\"`. ",
          "default": "$id.$key.output"
        },
        "quant_results": {
          "type": "string",
          "format": "path",
          "description": "Salmon quantification file.\n",
          "help_text": "Type: `file`, multiple: `False`, default: `\"$id.$key.quant_results.sf\"`, direction: `output`, example: `\"quant.sf\"`. ",
          "default": "$id.$key.quant_results.sf"
        }
      }
    },
    "basic options": {
      "title": "Basic options",
      "type": "object",
      "description": "No description",
      "properties": {
        "seq_bias": {
          "type": "boolean",
          "description": "Perform sequence-specific bias correction.\n",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "gc_bias": {
          "type": "boolean",
          "description": "Perform fragment GC bias correction [beta for single-end reads].\n",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "pos_bias": {
          "type": "boolean",
          "description": "Perform positional bias correction.\n",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "incompat_prior": {
          "type": "number",
          "description": "Set the prior probability that an alignment that disagrees with the specified library type (--lib_type) results from the true fragment origin",
          "help_text": "Type: `double`, multiple: `False`, example: `0.0`. "
        },
        "gene_map": {
          "type": "string",
          "format": "path",
          "description": "File containing a mapping of transcripts to genes",
          "help_text": "Type: `file`, multiple: `False`, direction: `input`, example: `\"gene_map.gtf\"`. "
        },
        "aux_target_file": {
          "type": "string",
          "format": "path",
          "description": "A file containing a list of \"auxiliary\" targets",
          "help_text": "Type: `file`, multiple: `False`, direction: `input`, example: `\"auxilary_targets.txt\"`. "
        },
        "meta": {
          "type": "boolean",
          "description": "If you're using Salmon on a metagenomic dataset, consider setting this flag to disable parts of the abundance estimation model that make less sense for metagenomic data.\n",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "score_exp": {
          "type": "number",
          "description": "The factor by which sub-optimal alignment scores are downweighted to produce a probability",
          "help_text": "Type: `double`, multiple: `False`, example: `1.0`. "
        }
      }
    },
    "options specific to mapping mode": {
      "title": "Options specific to mapping mode",
      "type": "object",
      "description": "No description",
      "properties": {
        "discard_orphans_quasi": {
          "type": "boolean",
          "description": "[selective-alignment mode only] \nDiscard orphan mappings in selective-alignment mode",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "consensus_slack": {
          "type": "number",
          "description": "[selective-alignment mode only] \nThe amount of slack allowed in the selective-alignment filtering mechanism",
          "help_text": "Type: `double`, multiple: `False`, example: `0.35`. "
        },
        "pre_merge_chain_sub_thresh": {
          "type": "number",
          "description": "[selective-alignment mode only] \nThe threshold of sub-optimal chains, compared to the best chain on a given target, that will be retained and passed to the next phase of mapping",
          "help_text": "Type: `double`, multiple: `False`, example: `0.75`. "
        },
        "post_merge_chain_sub_thresh": {
          "type": "number",
          "description": "[selective-alignment mode only] \nThe threshold of sub-optimal chains, compared to the best chain on a given target, that will be retained and passed to the next phase of mapping",
          "help_text": "Type: `double`, multiple: `False`, example: `0.9`. "
        },
        "orphan_chain_sub_thresh": {
          "type": "number",
          "description": "[selective-alignment mode only]\nThis threshold sets a global sub-optimality threshold for chains corresponding to orphan mappings",
          "help_text": "Type: `double`, multiple: `False`, example: `0.95`. "
        },
        "min_score_fraction": {
          "type": "number",
          "description": "[selective-alignment mode only]\nThe fraction of the optimal possible alignment score that a mapping must achieve in order to be considered \"valid\" --- should be in (0,1]",
          "help_text": "Type: `double`, multiple: `False`, example: `0.65`. "
        },
        "mismatch_seed_skip": {
          "type": "integer",
          "description": "[selective-alignment mode only]\nAfter a k-mer hit is extended to a uni-MEM, the uni-MEM extension can terminate for one of 3 reasons; the end of the read, the end of the unitig, or a mismatch",
          "help_text": "Type: `integer`, multiple: `False`, example: `3`. "
        },
        "disable_chaining_heuristic": {
          "type": "boolean",
          "description": "[selective-alignment mode only] \nBy default, the heuristic of (Li 2018) is implemented, which terminates the chaining DP once a given number of valid backpointers are found",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "decoy_threshold": {
          "type": "number",
          "description": "[selective-alignment mode only]\nFor an alignemnt to an annotated transcript to be considered invalid, it must have an alignment score < (decoy_threshold * bestDecoyScore)",
          "help_text": "Type: `double`, multiple: `False`, example: `1.0`. "
        },
        "ma": {
          "type": "integer",
          "description": "[selective-alignment mode only]\nThe value given to a match between read and reference nucleotides in an alignment.\n",
          "help_text": "Type: `integer`, multiple: `False`, example: `2`. "
        },
        "mp": {
          "type": "integer",
          "description": "[selective-alignment mode only]\nThe value given to a mis-match between read and reference nucleotides in an alignment.\n",
          "help_text": "Type: `integer`, multiple: `False`, example: `-4`. "
        },
        "go": {
          "type": "integer",
          "description": "[selective-alignment mode only]\nThe value given to a gap opening in an alignment.\n",
          "help_text": "Type: `integer`, multiple: `False`, example: `6`. "
        },
        "ge": {
          "type": "integer",
          "description": "[selective-alignment mode only]\nThe value given to a gap extension in an alignment.\n",
          "help_text": "Type: `integer`, multiple: `False`, example: `2`. "
        },
        "bandwidth": {
          "type": "integer",
          "description": "[selective-alignment mode only]\nThe value used for the bandwidth passed to ksw2",
          "help_text": "Type: `integer`, multiple: `False`, example: `15`. "
        },
        "allow_dovetail": {
          "type": "boolean",
          "description": "[selective-alignment mode only] \nAllow dovetailing mappings.\n",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "recover_orphans": {
          "type": "boolean",
          "description": "[selective-alignment mode only] \nAttempt to recover the mates of orphaned reads",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "mimicBT2": {
          "type": "boolean",
          "description": "[selective-alignment mode only] \nSet flags to mimic parameters similar to Bowtie2 with --no-discordant and --no-mixed flags",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "mimic_strictBT2": {
          "type": "boolean",
          "description": "[selective-alignment mode only] \nSet flags to mimic the very strict parameters used by RSEM+Bowtie2",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "softclip": {
          "type": "boolean",
          "description": "[selective-alignment mode only] \nAllos soft-clipping of reads during selective-alignment",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "softclip_overhangs": {
          "type": "boolean",
          "description": "[selective-alignment mode only] \nAllow soft-clipping of reads that overhang the beginning or ends of the transcript",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "full_length_alignment": {
          "type": "boolean",
          "description": "[selective-alignment mode only] \nPerform selective alignment over the full length of the read, beginning from the (approximate) initial mapping location and using extension alignment",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "hard_filter": {
          "type": "boolean",
          "description": "[selective-alignment mode only] \nInstead of weighting mappings by their alignment score, this flag will discard any mappings with sub-optimal alignment score",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "min_aln_prob": {
          "type": "number",
          "description": "The minimum number of fragments that must be assigned to the transcriptome for quantification to proceed.\n",
          "help_text": "Type: `double`, multiple: `False`, example: `1.0E-5`. "
        },
        "write_mappings": {
          "type": "boolean",
          "description": "If this option is provided, then the selective-alignment results will be written out in SAM-compatible format",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "mapping_sam": {
          "type": "string",
          "format": "path",
          "description": "Path to file that should output the selective-alignment results in SAM-compatible format",
          "help_text": "Type: `file`, multiple: `False`, default: `\"$id.$key.mapping_sam.sam\"`, direction: `output`, example: `\"mappings.sam\"`. ",
          "default": "$id.$key.mapping_sam.sam"
        },
        "write_qualities": {
          "type": "boolean",
          "description": "This flag only has meaning if mappings are being written (with --write_mappings/-z)",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "hit_filter_policy": {
          "type": "string",
          "description": "[selective-alignment mode only]\nDetermines the policy by which hits are filtered in selective alignment",
          "help_text": "Type: `string`, multiple: `False`, example: `\"AFTER\"`, choices: ``BEFORE`, `AFTER`, `BOTH`, `NONE``. ",
          "enum": [
            "BEFORE",
            "AFTER",
            "BOTH",
            "NONE"
          ]
        }
      }
    },
    "advance options": {
      "title": "Advance options",
      "type": "object",
      "description": "No description",
      "properties": {
        "alternative_init_mode": {
          "type": "boolean",
          "description": "Use an alternative strategy (rather than simple interpolation between) the online and uniform abundance estimates to initialize the EM / VBEM algorithm.\n",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "aux_dir": {
          "type": "string",
          "format": "path",
          "description": "The sub-directory of the quantification directory where auxiliary information e.g",
          "help_text": "Type: `file`, multiple: `False`, default: `\"$id.$key.aux_dir\"`, direction: `output`, example: `\"aux_info\"`. ",
          "default": "$id.$key.aux_dir"
        },
        "skip_quant": {
          "type": "boolean",
          "description": "Skip performing the actual transcript quantification (including any Gibbs sampling or bootstrapping).\n",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "dump_eq": {
          "type": "boolean",
          "description": "Dump the simple equivalence class counts that were computed during mapping or alignment.\n",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "dump_eq_weights": {
          "type": "boolean",
          "description": "Dump conditional probabilities associated with transcripts when equivalence class information is being dumped to file",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "min_assigned_frags": {
          "type": "integer",
          "description": "The minimum number of fragments that must be assigned to the transcriptome for quantification to proceed.\n",
          "help_text": "Type: `integer`, multiple: `False`, example: `10`. "
        },
        "reduce_GC_memory": {
          "type": "boolean",
          "description": "If this option is selected, a more memory efficient (but slightly slower) representation is used to compute fragment GC content",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "bias_speed_samp": {
          "type": "integer",
          "description": "The value at which the fragment length PMF is down-sampled when evaluating sequence-specific & GC fragment bias",
          "help_text": "Type: `integer`, multiple: `False`, example: `5`. "
        },
        "fld_max": {
          "type": "integer",
          "description": "The maximum fragment length to consider when building the empirical distribution\n",
          "help_text": "Type: `integer`, multiple: `False`, example: `1000`. "
        },
        "fld_mean": {
          "type": "integer",
          "description": "The mean used in the fragment length distribution prior\n",
          "help_text": "Type: `integer`, multiple: `False`, example: `250`. "
        },
        "fld_SD": {
          "type": "integer",
          "description": "The standard deviation used in the fragment length distribution prior\n",
          "help_text": "Type: `integer`, multiple: `False`, example: `25`. "
        },
        "forgetting_factor": {
          "type": "number",
          "description": "The forgetting factor used in the online learning schedule",
          "help_text": "Type: `double`, multiple: `False`, example: `0.65`. "
        },
        "init_uniform": {
          "type": "boolean",
          "description": "Initialize the offline inference with uniform parameters, rather than seeding with online parameters.\n",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "max_occs_per_hit": {
          "type": "integer",
          "description": "When collecting \"hits\" (MEMs), hits having more than max_occs_per_hit occurrences won't be considered.\n",
          "help_text": "Type: `integer`, multiple: `False`, example: `1000`. "
        },
        "max_read_occ": {
          "type": "integer",
          "description": "Reads \"mapping\" to more than this many places won't be considered.\n",
          "help_text": "Type: `integer`, multiple: `False`, example: `200`. "
        },
        "no_length_correction": {
          "type": "boolean",
          "description": "Entirely disables length correction when estimating the abundance of transcripts",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "no_effective_length_correction": {
          "type": "boolean",
          "description": "Disables effective length correction when computing the probability that a fragment was generated from a transcript",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "no_single_frag_prob": {
          "type": "boolean",
          "description": "Disables the estimation of an associated fragment length probability for single-end reads or for orphaned mappings in paired-end libraries",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "no_frag_length_dist": {
          "type": "boolean",
          "description": "Don't consider concordance with the learned fragment length distribution when trying to determine the probability that a fragment has originated from a specified location",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "no_bias_length_threshold": {
          "type": "boolean",
          "description": "If this option is enabled, then no (lower) threshold will be set on how short bias correction can make effective lengths",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "num_bias_samples": {
          "type": "integer",
          "description": "Number of fragment mappings to use when learning the sequence-specific bias model.\n",
          "help_text": "Type: `integer`, multiple: `False`, example: `2000000`. "
        },
        "num_aux_model_samples": {
          "type": "integer",
          "description": "The first <num_aux_model_samples> are used to train the auxiliary model parameters (e.g",
          "help_text": "Type: `integer`, multiple: `False`, example: `5000000`. "
        },
        "num_pre_aux_model_samples": {
          "type": "integer",
          "description": "The first <numPreAuxModelSamples> will have their assignment likelihoods and contributions to the transcript abundances computed without applying any auxiliary models",
          "help_text": "Type: `integer`, multiple: `False`, example: `5000`. "
        },
        "useEM": {
          "type": "boolean",
          "description": "Use the traditional EM algorithm for optimization in the batch passes.\n",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "useVBOpt": {
          "type": "boolean",
          "description": "Use the Variational Bayesian EM [default]\n",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "range_factorization_bins": {
          "type": "integer",
          "description": "Factorizes the likelihood used in quantification by adopting a new notion of equivalence classes based on the conditional probabilities with which fragments are generated from different transcripts",
          "help_text": "Type: `integer`, multiple: `False`, example: `4`. "
        },
        "num_Gibbs_samples": {
          "type": "integer",
          "description": "Number of Gibbs sampling rounds to perform.\n",
          "help_text": "Type: `integer`, multiple: `False`, example: `0`. "
        },
        "no_Gamma_draw": {
          "type": "boolean",
          "description": "This switch will disable drawing transcript fractions from a Gamma distribution during Gibbs sampling",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "num_bootstraps": {
          "type": "integer",
          "description": "Number of bootstrap samples to generate",
          "help_text": "Type: `integer`, multiple: `False`, example: `0`. "
        },
        "bootstrap_reproject": {
          "type": "boolean",
          "description": "This switch will learn the parameter distribution from the bootstrapped counts for each sample, but will reproject those parameters onto the original equivalence class counts.\n",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "thinning_factor": {
          "type": "integer",
          "description": "Number of steps to discard for every sample kept from the Gibbs chain",
          "help_text": "Type: `integer`, multiple: `False`, example: `16`. "
        },
        "quiet": {
          "type": "boolean",
          "description": "Be quiet while doing quantification (don't write informative output to the console unless something goes wrong).\n",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "per_transcript_prior": {
          "type": "boolean",
          "description": "The prior (either the default or the argument provided via --vb_prior) will be interpreted as a transcript-level prior (i.e",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "per_nucleotide_prior": {
          "type": "boolean",
          "description": "The prior (either the default or the argument provided via --vb_prior) will be interpreted as a nucleotide-level prior (i.e",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "sig_digits": {
          "type": "integer",
          "description": "The number of significant digits to write when outputting the EffectiveLength and NumReads columns\n",
          "help_text": "Type: `integer`, multiple: `False`, example: `3`. "
        },
        "vb_prior": {
          "type": "number",
          "description": "The prior that will be used in the VBEM algorithm",
          "help_text": "Type: `double`, multiple: `False`, example: `0.01`. "
        },
        "write_orphan_links": {
          "type": "boolean",
          "description": "Write the transcripts that are linked by orphaned reads.\n",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "write_unmapped_names": {
          "type": "boolean",
          "description": "Write the names of un-mapped reads to the file unmapped_names.txt in the auxiliary directory.\n",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        }
      }
    },
    "alignment-specific options": {
      "title": "Alignment-specific options",
      "type": "object",
      "description": "No description",
      "properties": {
        "no_error_model": {
          "type": "boolean",
          "description": "Turn off the alignment error model, which takes into account the the observed frequency of different types of mismatches / indels when computing the likelihood of a given alignment",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "num_error_bins": {
          "type": "integer",
          "description": "The number of bins into which to divide each read when learning and applying the error model",
          "help_text": "Type: `integer`, multiple: `False`, example: `6`. "
        },
        "sample_out": {
          "type": "boolean",
          "description": "Write a \"postSample.bam\" file in the output directory that will sample the input alignments according to the estimated transcript abundances",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "sample_unaligned": {
          "type": "boolean",
          "description": "In addition to sampling the aligned reads, also write the un-aligned reads to \"postSample.bam\".\n",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "gencode": {
          "type": "boolean",
          "description": "This flag will expect the input transcript fasta to be in GENCODE format, and will split the transcript name at the first '|' character",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "mapping_cache_memory_limit": {
          "type": "integer",
          "description": "If the file contained fewer than this many mapped reads, then just keep the data in memory for subsequent rounds of inference",
          "help_text": "Type: `integer`, multiple: `False`, example: `2000000`. "
        }
      }
    },
    "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/common input options"
    },
    {
      "$ref": "#/$defs/mapping input options"
    },
    {
      "$ref": "#/$defs/alignment input options"
    },
    {
      "$ref": "#/$defs/output"
    },
    {
      "$ref": "#/$defs/basic options"
    },
    {
      "$ref": "#/$defs/options specific to mapping mode"
    },
    {
      "$ref": "#/$defs/advance options"
    },
    {
      "$ref": "#/$defs/alignment-specific options"
    },
    {
      "$ref": "#/$defs/nextflow input-output arguments"
    }
  ]
}
