{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "salmon_index",
  "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. This component creates a salmon index for the transcriptome to use Salmon in the mapping-based mode. It is generally recommend that you build a decoy-aware transcriptome file. This is done using the entire genome of the organism as the decoy sequence by concatenating the genome to the end of the transcriptome to be indexed and populating the decoys.txt file with the chromosome names.\n",
  "type": "object",
  "$defs": {
    "inputs": {
      "title": "Inputs",
      "type": "object",
      "description": "No description",
      "properties": {
        "genome": {
          "type": "string",
          "format": "path",
          "description": "Genome of the organism to prepare the set of decoy sequences",
          "help_text": "Type: `file`, multiple: `False`, direction: `input`, example: `\"genome.fasta\"`. "
        },
        "transcripts": {
          "type": "string",
          "format": "path",
          "exists": true,
          "description": "Transcript fasta file.\n",
          "help_text": "Type: `file`, multiple: `False`, required, direction: `input`, example: `\"transcriptome.fasta\"`. "
        },
        "kmer_len": {
          "type": "integer",
          "description": "The size of k-mers that should be used for the quasi index.\n",
          "help_text": "Type: `integer`, multiple: `False`, example: `31`. "
        },
        "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
        },
        "features": {
          "type": "boolean",
          "description": "This flag will expect the input reference to be in the tsv file format, and will split the feature name at the first 'tab' character",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "keep_duplicates": {
          "type": "boolean",
          "description": "This flag will disable the default indexing behavior of discarding sequence-identical duplicate transcripts",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "keep_fixed_fasta": {
          "type": "boolean",
          "description": "Retain the fixed fasta file (without short transcripts and duplicates, clipped, etc.) generated during indexing.\n",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "filter_size": {
          "type": "integer",
          "description": "The size of the Bloom filter that will be used by TwoPaCo during indexing",
          "help_text": "Type: `integer`, multiple: `False`, example: `-1`. "
        },
        "sparse": {
          "type": "boolean",
          "description": "Build the index using a sparse sampling of k-mer positions This will require less memory (especially during quantification), but will take longer to construct and can slow down mapping / alignment.\n",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "decoys": {
          "type": "string",
          "format": "path",
          "description": "Treat these sequences ids from the reference as the decoys that may have sequence homologous to some known transcript",
          "help_text": "Type: `file`, multiple: `False`, direction: `input`, example: `\"decoys.txt\"`. "
        },
        "no_clip": {
          "type": "boolean",
          "description": "Don't clip poly-A tails from the ends of target sequences.\n",
          "help_text": "Type: `boolean_true`, multiple: `False`, default: `false`. ",
          "default": false
        },
        "type": {
          "type": "string",
          "description": "The type of index to build; the only option is \"puff\" in this version of salmon.\n",
          "help_text": "Type: `string`, multiple: `False`, example: `\"puff\"`. "
        }
      }
    },
    "output": {
      "title": "Output",
      "type": "object",
      "description": "No description",
      "properties": {
        "index": {
          "type": "string",
          "format": "path",
          "description": "Salmon index\n",
          "help_text": "Type: `file`, multiple: `False`, required, default: `\"$id.$key.index\"`, direction: `output`, example: `\"Salmon_index\"`. ",
          "default": "$id.$key.index"
        }
      }
    },
    "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/output"
    },
    {
      "$ref": "#/$defs/nextflow input-output arguments"
    }
  ]
}
