{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "star_align_reads",
  "description": "Aligns reads to a reference genome using STAR.\n",
  "type": "object",
  "$defs": {
    "inputs": {
      "title": "Inputs",
      "type": "object",
      "description": "No description",
      "properties": {
        "input": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "format": "path",
          "exists": true,
          "description": "The single-end or paired-end R1 FastQ files to be processed.",
          "help_text": "Type: `file`, multiple: `True`, required, direction: `input`, example: `[\"mysample_S1_L001_R1_001.fastq.gz\"]`. "
        },
        "input_r2": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "format": "path",
          "description": "The paired-end R2 FastQ files to be processed",
          "help_text": "Type: `file`, multiple: `True`, direction: `input`, example: `[\"mysample_S1_L001_R2_001.fastq.gz\"]`. "
        }
      }
    },
    "outputs": {
      "title": "Outputs",
      "type": "object",
      "description": "No description",
      "properties": {
        "aligned_reads": {
          "type": "string",
          "format": "path",
          "description": "The output file containing the aligned reads.",
          "help_text": "Type: `file`, multiple: `False`, required, default: `\"$id.$key.aligned_reads.bam\"`, direction: `output`, example: `\"aligned_reads.bam\"`. ",
          "default": "$id.$key.aligned_reads.bam"
        },
        "reads_per_gene": {
          "type": "string",
          "format": "path",
          "description": "The output file containing the number of reads per gene.",
          "help_text": "Type: `file`, multiple: `False`, default: `\"$id.$key.reads_per_gene.tsv\"`, direction: `output`, example: `\"reads_per_gene.tsv\"`. ",
          "default": "$id.$key.reads_per_gene.tsv"
        },
        "unmapped": {
          "type": "string",
          "format": "path",
          "description": "The output file containing the unmapped reads.",
          "help_text": "Type: `file`, multiple: `False`, default: `\"$id.$key.unmapped.fastq\"`, direction: `output`, example: `\"unmapped.fastq\"`. ",
          "default": "$id.$key.unmapped.fastq"
        },
        "unmapped_r2": {
          "type": "string",
          "format": "path",
          "description": "The output file containing the unmapped R2 reads.",
          "help_text": "Type: `file`, multiple: `False`, default: `\"$id.$key.unmapped_r2.fastq\"`, direction: `output`, example: `\"unmapped_r2.fastq\"`. ",
          "default": "$id.$key.unmapped_r2.fastq"
        },
        "chimeric_junctions": {
          "type": "string",
          "format": "path",
          "description": "The output file containing the chimeric junctions.",
          "help_text": "Type: `file`, multiple: `False`, default: `\"$id.$key.chimeric_junctions.tsv\"`, direction: `output`, example: `\"chimeric_junctions.tsv\"`. ",
          "default": "$id.$key.chimeric_junctions.tsv"
        },
        "log": {
          "type": "string",
          "format": "path",
          "description": "The output file containing the log of the alignment process.",
          "help_text": "Type: `file`, multiple: `False`, default: `\"$id.$key.log.txt\"`, direction: `output`, example: `\"log.txt\"`. ",
          "default": "$id.$key.log.txt"
        },
        "splice_junctions": {
          "type": "string",
          "format": "path",
          "description": "The output file containing the splice junctions.",
          "help_text": "Type: `file`, multiple: `False`, default: `\"$id.$key.splice_junctions.tsv\"`, direction: `output`, example: `\"splice_junctions.tsv\"`. ",
          "default": "$id.$key.splice_junctions.tsv"
        },
        "reads_aligned_to_transcriptome": {
          "type": "string",
          "format": "path",
          "description": "The output file containing the alignments to transcriptome in BAM formats",
          "help_text": "Type: `file`, multiple: `False`, default: `\"$id.$key.reads_aligned_to_transcriptome.bam\"`, direction: `output`, example: `\"transcriptome_aligned.bam\"`. ",
          "default": "$id.$key.reads_aligned_to_transcriptome.bam"
        }
      }
    },
    "run parameters": {
      "title": "Run Parameters",
      "type": "object",
      "description": "No description",
      "properties": {
        "run_rng_seed": {
          "type": "integer",
          "description": "random number generator seed.",
          "help_text": "Type: `integer`, multiple: `False`, example: `777`. "
        }
      }
    },
    "genome parameters": {
      "title": "Genome Parameters",
      "type": "object",
      "description": "No description",
      "properties": {
        "genome_dir": {
          "type": "string",
          "format": "path",
          "exists": true,
          "description": "path to the directory where genome files are stored (for --runMode alignReads) or will be generated (for --runMode generateGenome)",
          "help_text": "Type: `file`, multiple: `False`, required, direction: `input`, example: `\"./GenomeDir\"`. "
        },
        "genome_load": {
          "type": "string",
          "description": "mode of shared memory usage for the genome files",
          "help_text": "Type: `string`, multiple: `False`, example: `\"NoSharedMemory\"`. "
        },
        "genome_fasta_files": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "format": "path",
          "description": "path(s) to the fasta files with the genome sequences, separated by spaces",
          "help_text": "Type: `file`, multiple: `True`, direction: `input`. "
        },
        "genome_file_sizes": {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "description": "genome files exact sizes in bytes",
          "help_text": "Type: `integer`, multiple: `True`, example: `[0]`. "
        },
        "genome_transform_output": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "which output to transform back to original genome\n\n- SAM     ..",
          "help_text": "Type: `string`, multiple: `True`. "
        },
        "genome_chr_set_mitochondrial": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "names of the mitochondrial chromosomes",
          "help_text": "Type: `string`, multiple: `True`, example: `[\"chrM\";\"M\";\"MT\"]`. "
        }
      }
    },
    "splice junctions database": {
      "title": "Splice Junctions Database",
      "type": "object",
      "description": "No description",
      "properties": {
        "sjdb_file_chr_start_end": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "path to the files with genomic coordinates (chr <tab> start <tab> end <tab> strand) for the splice junction introns",
          "help_text": "Type: `string`, multiple: `True`. "
        },
        "sjdb_gtf_file": {
          "type": "string",
          "format": "path",
          "description": "path to the GTF file with annotations",
          "help_text": "Type: `file`, multiple: `False`, direction: `input`. "
        },
        "sjdb_gtf_chr_prefix": {
          "type": "string",
          "description": "prefix for chromosome names in a GTF file (e.g",
          "help_text": "Type: `string`, multiple: `False`. "
        },
        "sjdb_gtf_feature_exon": {
          "type": "string",
          "description": "feature type in GTF file to be used as exons for building transcripts",
          "help_text": "Type: `string`, multiple: `False`, example: `\"exon\"`. "
        },
        "sjdb_gtf_tag_exon_parent_transcript": {
          "type": "string",
          "description": "GTF attribute name for parent transcript ID (default \"transcript_id\" works for GTF files)",
          "help_text": "Type: `string`, multiple: `False`, example: `\"transcript_id\"`. "
        },
        "sjdb_gtf_tag_exon_parent_gene": {
          "type": "string",
          "description": "GTF attribute name for parent gene ID (default \"gene_id\" works for GTF files)",
          "help_text": "Type: `string`, multiple: `False`, example: `\"gene_id\"`. "
        },
        "sjdb_gtf_tag_exon_parent_gene_name": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "GTF attribute name for parent gene name",
          "help_text": "Type: `string`, multiple: `True`, example: `[\"gene_name\"]`. "
        },
        "sjdb_gtf_tag_exon_parent_gene_type": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "GTF attribute name for parent gene type",
          "help_text": "Type: `string`, multiple: `True`, example: `[\"gene_type\";\"gene_biotype\"]`. "
        },
        "sjdb_overhang": {
          "type": "integer",
          "description": "length of the donor/acceptor sequence on each side of the junctions, ideally = (mate_length - 1)",
          "help_text": "Type: `integer`, multiple: `False`, example: `100`. "
        },
        "sjdb_score": {
          "type": "integer",
          "description": "extra alignment score for alignments that cross database junctions",
          "help_text": "Type: `integer`, multiple: `False`, example: `2`. "
        },
        "sjdb_insert_save": {
          "type": "string",
          "description": "which files to save when sjdb junctions are inserted on the fly at the mapping step\n\n- Basic ..",
          "help_text": "Type: `string`, multiple: `False`, example: `\"Basic\"`. "
        }
      }
    },
    "variation parameters": {
      "title": "Variation parameters",
      "type": "object",
      "description": "No description",
      "properties": {
        "var_vcf_file": {
          "type": "string",
          "description": "path to the VCF file that contains variation data",
          "help_text": "Type: `string`, multiple: `False`. "
        }
      }
    },
    "read parameters": {
      "title": "Read Parameters",
      "type": "object",
      "description": "No description",
      "properties": {
        "read_files_type": {
          "type": "string",
          "description": "format of input read files\n\n- Fastx       ..",
          "help_text": "Type: `string`, multiple: `False`, example: `\"Fastx\"`. "
        },
        "read_files_sam_attr_keep": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "for --read_files_type SAM SE/PE, which SAM tags to keep in the output BAM, e.g.: --readFilesSAMtagsKeep RG PL\n\n- All     ..",
          "help_text": "Type: `string`, multiple: `True`, example: `[\"All\"]`. "
        },
        "read_files_manifest": {
          "type": "string",
          "format": "path",
          "description": "path to the \"manifest\" file with the names of read files",
          "help_text": "Type: `file`, multiple: `False`, direction: `input`. "
        },
        "read_files_prefix": {
          "type": "string",
          "description": "prefix for the read files names, i.e",
          "help_text": "Type: `string`, multiple: `False`. "
        },
        "read_files_command": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "command line to execute for each of the input file",
          "help_text": "Type: `string`, multiple: `True`. "
        },
        "read_map_number": {
          "type": "integer",
          "description": "number of reads to map from the beginning of the file\n\n-1: map all reads",
          "help_text": "Type: `integer`, multiple: `False`, example: `-1`. "
        },
        "read_mates_lengths_in": {
          "type": "string",
          "description": "Equal/NotEqual - lengths of names,sequences,qualities for both mates are the same  / not the same",
          "help_text": "Type: `string`, multiple: `False`, example: `\"NotEqual\"`. "
        },
        "read_name_separator": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "character(s) separating the part of the read names that will be trimmed in output (read name after space is always trimmed)",
          "help_text": "Type: `string`, multiple: `True`, example: `[\"/\"]`. "
        },
        "read_quality_score_base": {
          "type": "integer",
          "description": "number to be subtracted from the ASCII code to get Phred quality score",
          "help_text": "Type: `integer`, multiple: `False`, example: `33`. "
        }
      }
    },
    "read clipping": {
      "title": "Read Clipping",
      "type": "object",
      "description": "No description",
      "properties": {
        "clip_adapter_type": {
          "type": "string",
          "description": "adapter clipping type\n\n- Hamming ..",
          "help_text": "Type: `string`, multiple: `False`, example: `\"Hamming\"`. "
        },
        "clip3p_nbases": {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "description": "number(s) of bases to clip from 3p of each mate",
          "help_text": "Type: `integer`, multiple: `True`, example: `[0]`. "
        },
        "clip3p_adapter_seq": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "adapter sequences to clip from 3p of each mate",
          "help_text": "Type: `string`, multiple: `True`. "
        },
        "clip3p_adapter_mm_p": {
          "type": "array",
          "items": {
            "type": "number"
          },
          "description": "max proportion of mismatches for 3p adapter clipping for each mate",
          "help_text": "Type: `double`, multiple: `True`, example: `[0.1]`. "
        },
        "clip3p_after_adapter_nbases": {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "description": "number of bases to clip from 3p of each mate after the adapter clipping",
          "help_text": "Type: `integer`, multiple: `True`, example: `[0]`. "
        },
        "clip5p_nbases": {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "description": "number(s) of bases to clip from 5p of each mate",
          "help_text": "Type: `integer`, multiple: `True`, example: `[0]`. "
        }
      }
    },
    "limits": {
      "title": "Limits",
      "type": "object",
      "description": "No description",
      "properties": {
        "limit_genome_generate_ram": {
          "type": "string",
          "description": "maximum available RAM (bytes) for genome generation",
          "help_text": "Type: `long`, multiple: `False`, example: `31000000000`. "
        },
        "limit_io_buffer_size": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "max available buffers size (bytes) for input/output, per thread",
          "help_text": "Type: `long`, multiple: `True`, example: `[30000000;50000000]`. "
        },
        "limit_out_sam_one_read_bytes": {
          "type": "string",
          "description": "max size of the SAM record (bytes) for one read",
          "help_text": "Type: `long`, multiple: `False`, example: `100000`. "
        },
        "limit_out_sj_one_read": {
          "type": "integer",
          "description": "max number of junctions for one read (including all multi-mappers)",
          "help_text": "Type: `integer`, multiple: `False`, example: `1000`. "
        },
        "limit_out_sj_collapsed": {
          "type": "integer",
          "description": "max number of collapsed junctions",
          "help_text": "Type: `integer`, multiple: `False`, example: `1000000`. "
        },
        "limit_bam_sort_ram": {
          "type": "string",
          "description": "maximum available RAM (bytes) for sorting BAM",
          "help_text": "Type: `long`, multiple: `False`, example: `0`. "
        },
        "limit_sjdb_insert_nsj": {
          "type": "integer",
          "description": "maximum number of junctions to be inserted to the genome on the fly at the mapping stage, including those from annotations and those detected in the 1st step of the 2-pass run",
          "help_text": "Type: `integer`, multiple: `False`, example: `1000000`. "
        },
        "limit_nreads_soft": {
          "type": "integer",
          "description": "soft limit on the number of reads",
          "help_text": "Type: `integer`, multiple: `False`, example: `-1`. "
        }
      }
    },
    "output: general": {
      "title": "Output: general",
      "type": "object",
      "description": "No description",
      "properties": {
        "out_tmp_keep": {
          "type": "string",
          "description": "whether to keep the temporary files after STAR runs is finished\n\n- None ..",
          "help_text": "Type: `string`, multiple: `False`. "
        },
        "out_std": {
          "type": "string",
          "description": "which output will be directed to stdout (standard out)\n\n- Log                    ..",
          "help_text": "Type: `string`, multiple: `False`, example: `\"Log\"`. "
        },
        "out_reads_unmapped": {
          "type": "string",
          "description": "output of unmapped and partially mapped (i.e",
          "help_text": "Type: `string`, multiple: `False`. "
        },
        "out_qs_conversion_add": {
          "type": "integer",
          "description": "add this number to the quality score (e.g",
          "help_text": "Type: `integer`, multiple: `False`, example: `0`. "
        },
        "out_multimapper_order": {
          "type": "string",
          "description": "order of multimapping alignments in the output files\n\n- Old_2.4             ..",
          "help_text": "Type: `string`, multiple: `False`, example: `\"Old_2.4\"`. "
        }
      }
    },
    "output: sam and bam": {
      "title": "Output: SAM and BAM",
      "type": "object",
      "description": "No description",
      "properties": {
        "out_sam_type": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "type of SAM/BAM output\n\n1st word:\n- BAM  ..",
          "help_text": "Type: `string`, multiple: `True`, example: `[\"SAM\"]`. "
        },
        "out_sam_mode": {
          "type": "string",
          "description": "mode of SAM output\n\n- None ..",
          "help_text": "Type: `string`, multiple: `False`, example: `\"Full\"`. "
        },
        "out_sam_strand_field": {
          "type": "string",
          "description": "Cufflinks-like strand field flag\n\n- None        ..",
          "help_text": "Type: `string`, multiple: `False`. "
        },
        "out_sam_attributes": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "a string of desired SAM attributes, in the order desired for the output SAM",
          "help_text": "Type: `string`, multiple: `True`, example: `[\"Standard\"]`. "
        },
        "out_sam_attr_ih_start": {
          "type": "integer",
          "description": "start value for the IH attribute",
          "help_text": "Type: `integer`, multiple: `False`, example: `1`. "
        },
        "out_sam_unmapped": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "output of unmapped reads in the SAM format\n\n1st word:\n- None   ..",
          "help_text": "Type: `string`, multiple: `True`. "
        },
        "out_sam_order": {
          "type": "string",
          "description": "type of sorting for the SAM output\n\nPaired: one mate after the other for all paired alignments\nPairedKeepInputOrder: one mate after the other for all paired alignments, the order is kept the same as in the input FASTQ files",
          "help_text": "Type: `string`, multiple: `False`, example: `\"Paired\"`. "
        },
        "out_sam_primary_flag": {
          "type": "string",
          "description": "which alignments are considered primary - all others will be marked with 0x100 bit in the FLAG\n\n- OneBestScore ..",
          "help_text": "Type: `string`, multiple: `False`, example: `\"OneBestScore\"`. "
        },
        "out_sam_read_id": {
          "type": "string",
          "description": "read ID record type\n\n- Standard ..",
          "help_text": "Type: `string`, multiple: `False`, example: `\"Standard\"`. "
        },
        "out_sam_mapq_unique": {
          "type": "integer",
          "description": "0 to 255: the MAPQ value for unique mappers",
          "help_text": "Type: `integer`, multiple: `False`, example: `255`. "
        },
        "out_sam_flag_or": {
          "type": "integer",
          "description": "0 to 65535: sam FLAG will be bitwise OR'd with this value, i.e",
          "help_text": "Type: `integer`, multiple: `False`, example: `0`. "
        },
        "out_sam_flag_and": {
          "type": "integer",
          "description": "0 to 65535: sam FLAG will be bitwise AND'd with this value, i.e",
          "help_text": "Type: `integer`, multiple: `False`, example: `65535`. "
        },
        "out_sam_attr_rg_line": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "SAM/BAM read group line",
          "help_text": "Type: `string`, multiple: `True`. "
        },
        "out_sam_header_hd": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "@HD (header) line of the SAM header",
          "help_text": "Type: `string`, multiple: `True`. "
        },
        "out_sam_header_pg": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "extra @PG (software) line of the SAM header (in addition to STAR)",
          "help_text": "Type: `string`, multiple: `True`. "
        },
        "out_sam_header_comment_file": {
          "type": "string",
          "description": "path to the file with @CO (comment) lines of the SAM header",
          "help_text": "Type: `string`, multiple: `False`. "
        },
        "out_sam_filter": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "filter the output into main SAM/BAM files\n\n- KeepOnlyAddedReferences ..",
          "help_text": "Type: `string`, multiple: `True`. "
        },
        "out_sam_mult_nmax": {
          "type": "integer",
          "description": "max number of multiple alignments for a read that will be output to the SAM/BAM files",
          "help_text": "Type: `integer`, multiple: `False`, example: `-1`. "
        },
        "out_sam_tlen": {
          "type": "integer",
          "description": "calculation method for the TLEN field in the SAM/BAM files\n\n- 1 ..",
          "help_text": "Type: `integer`, multiple: `False`, example: `1`. "
        },
        "out_bam_compression": {
          "type": "integer",
          "description": "-1 to 10  BAM compression level, -1=default compression (6?), 0=no compression, 10=maximum compression",
          "help_text": "Type: `integer`, multiple: `False`, example: `1`. "
        },
        "out_bam_sorting_thread_n": {
          "type": "integer",
          "description": ">=0: number of threads for BAM sorting",
          "help_text": "Type: `integer`, multiple: `False`, example: `0`. "
        },
        "out_bam_sorting_bins_n": {
          "type": "integer",
          "description": ">0:  number of genome bins for coordinate-sorting",
          "help_text": "Type: `integer`, multiple: `False`, example: `50`. "
        }
      }
    },
    "bam processing": {
      "title": "BAM processing",
      "type": "object",
      "description": "No description",
      "properties": {
        "bam_remove_duplicates_type": {
          "type": "string",
          "description": "mark duplicates in the BAM file, for now only works with (i) sorted BAM fed with inputBAMfile, and (ii) for paired-end alignments only\n\n- -                       ..",
          "help_text": "Type: `string`, multiple: `False`. "
        },
        "bam_remove_duplicates_mate2bases_n": {
          "type": "integer",
          "description": "number of bases from the 5' of mate 2 to use in collapsing (e.g",
          "help_text": "Type: `integer`, multiple: `False`, example: `0`. "
        }
      }
    },
    "output wiggle": {
      "title": "Output Wiggle",
      "type": "object",
      "description": "No description",
      "properties": {
        "out_wig_type": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "type of signal output, e.g",
          "help_text": "Type: `string`, multiple: `True`. "
        },
        "out_wig_strand": {
          "type": "string",
          "description": "strandedness of wiggle/bedGraph output\n\n- Stranded   ..",
          "help_text": "Type: `string`, multiple: `False`, example: `\"Stranded\"`. "
        },
        "out_wig_references_prefix": {
          "type": "string",
          "description": "prefix matching reference names to include in the output wiggle file, e.g",
          "help_text": "Type: `string`, multiple: `False`. "
        },
        "out_wig_norm": {
          "type": "string",
          "description": "type of normalization for the signal\n\n- RPM    ..",
          "help_text": "Type: `string`, multiple: `False`, example: `\"RPM\"`. "
        }
      }
    },
    "output filtering": {
      "title": "Output Filtering",
      "type": "object",
      "description": "No description",
      "properties": {
        "out_filter_type": {
          "type": "string",
          "description": "type of filtering\n\n- Normal  ..",
          "help_text": "Type: `string`, multiple: `False`, example: `\"Normal\"`. "
        },
        "out_filter_multimap_score_range": {
          "type": "integer",
          "description": "the score range below the maximum score for multimapping alignments",
          "help_text": "Type: `integer`, multiple: `False`, example: `1`. "
        },
        "out_filter_multimap_nmax": {
          "type": "integer",
          "description": "maximum number of loci the read is allowed to map to",
          "help_text": "Type: `integer`, multiple: `False`, example: `10`. "
        },
        "out_filter_mismatch_nmax": {
          "type": "integer",
          "description": "alignment will be output only if it has no more mismatches than this value.",
          "help_text": "Type: `integer`, multiple: `False`, example: `10`. "
        },
        "out_filter_mismatch_nover_lmax": {
          "type": "number",
          "description": "alignment will be output only if its ratio of mismatches to *mapped* length is less than or equal to this value.",
          "help_text": "Type: `double`, multiple: `False`, example: `0.3`. "
        },
        "out_filter_mismatch_nover_read_lmax": {
          "type": "number",
          "description": "alignment will be output only if its ratio of mismatches to *read* length is less than or equal to this value.",
          "help_text": "Type: `double`, multiple: `False`, example: `1.0`. "
        },
        "out_filter_score_min": {
          "type": "integer",
          "description": "alignment will be output only if its score is higher than or equal to this value.",
          "help_text": "Type: `integer`, multiple: `False`, example: `0`. "
        },
        "out_filter_score_min_over_lread": {
          "type": "number",
          "description": "same as outFilterScoreMin, but normalized to read length (sum of mates' lengths for paired-end reads)",
          "help_text": "Type: `double`, multiple: `False`, example: `0.66`. "
        },
        "out_filter_match_nmin": {
          "type": "integer",
          "description": "alignment will be output only if the number of matched bases is higher than or equal to this value.",
          "help_text": "Type: `integer`, multiple: `False`, example: `0`. "
        },
        "out_filter_match_nmin_over_lread": {
          "type": "number",
          "description": "sam as outFilterMatchNmin, but normalized to the read length (sum of mates' lengths for paired-end reads).",
          "help_text": "Type: `double`, multiple: `False`, example: `0.66`. "
        },
        "out_filter_intron_motifs": {
          "type": "string",
          "description": "filter alignment using their motifs\n\n- None                           ..",
          "help_text": "Type: `string`, multiple: `False`. "
        },
        "out_filter_intron_strands": {
          "type": "string",
          "description": "filter alignments\n\n- RemoveInconsistentStrands      ..",
          "help_text": "Type: `string`, multiple: `False`, example: `\"RemoveInconsistentStrands\"`. "
        }
      }
    },
    "output splice junctions (sj.out.tab)": {
      "title": "Output splice junctions (SJ.out.tab)",
      "type": "object",
      "description": "No description",
      "properties": {
        "out_sj_type": {
          "type": "string",
          "description": "type of splice junction output\n\n- Standard    ..",
          "help_text": "Type: `string`, multiple: `False`, example: `\"Standard\"`. "
        }
      }
    },
    "output filtering: splice junctions": {
      "title": "Output Filtering: Splice Junctions",
      "type": "object",
      "description": "No description",
      "properties": {
        "out_sj_filter_reads": {
          "type": "string",
          "description": "which reads to consider for collapsed splice junctions output\n\n- All     ..",
          "help_text": "Type: `string`, multiple: `False`, example: `\"All\"`. "
        },
        "out_sj_filter_overhang_min": {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "description": "minimum overhang length for splice junctions on both sides for: (1) non-canonical motifs, (2) GT/AG and CT/AC motif, (3) GC/AG and CT/GC motif, (4) AT/AC and GT/AT motif",
          "help_text": "Type: `integer`, multiple: `True`, example: `[30;12;12;12]`. "
        },
        "out_sj_filter_count_unique_min": {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "description": "minimum uniquely mapping read count per junction for: (1) non-canonical motifs, (2) GT/AG and CT/AC motif, (3) GC/AG and CT/GC motif, (4) AT/AC and GT/AT motif",
          "help_text": "Type: `integer`, multiple: `True`, example: `[3;1;1;1]`. "
        },
        "out_sj_filter_count_total_min": {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "description": "minimum total (multi-mapping+unique) read count per junction for: (1) non-canonical motifs, (2) GT/AG and CT/AC motif, (3) GC/AG and CT/GC motif, (4) AT/AC and GT/AT motif",
          "help_text": "Type: `integer`, multiple: `True`, example: `[3;1;1;1]`. "
        },
        "out_sj_filter_dist_to_other_sj_min": {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "description": "minimum allowed distance to other junctions' donor/acceptor\n\ndoes not apply to annotated junctions",
          "help_text": "Type: `integer`, multiple: `True`, example: `[10;0;5;10]`. "
        },
        "out_sj_filter_intron_max_vs_read_n": {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "description": "maximum gap allowed for junctions supported by 1,2,3,,,N reads\n\ni.e",
          "help_text": "Type: `integer`, multiple: `True`, example: `[50000;100000;200000]`. "
        }
      }
    },
    "scoring": {
      "title": "Scoring",
      "type": "object",
      "description": "No description",
      "properties": {
        "score_gap": {
          "type": "integer",
          "description": "splice junction penalty (independent on intron motif)",
          "help_text": "Type: `integer`, multiple: `False`, example: `0`. "
        },
        "score_gap_noncan": {
          "type": "integer",
          "description": "non-canonical junction penalty (in addition to scoreGap)",
          "help_text": "Type: `integer`, multiple: `False`, example: `-8`. "
        },
        "score_gap_gcag": {
          "type": "integer",
          "description": "GC/AG and CT/GC junction penalty (in addition to scoreGap)",
          "help_text": "Type: `integer`, multiple: `False`, example: `-4`. "
        },
        "score_gap_atac": {
          "type": "integer",
          "description": "AT/AC  and GT/AT junction penalty  (in addition to scoreGap)",
          "help_text": "Type: `integer`, multiple: `False`, example: `-8`. "
        },
        "score_genomic_length_log2scale": {
          "type": "integer",
          "description": "extra score logarithmically scaled with genomic length of the alignment: scoreGenomicLengthLog2scale*log2(genomicLength)",
          "help_text": "Type: `integer`, multiple: `False`, example: `0`. "
        },
        "score_del_open": {
          "type": "integer",
          "description": "deletion open penalty",
          "help_text": "Type: `integer`, multiple: `False`, example: `-2`. "
        },
        "score_del_base": {
          "type": "integer",
          "description": "deletion extension penalty per base (in addition to scoreDelOpen)",
          "help_text": "Type: `integer`, multiple: `False`, example: `-2`. "
        },
        "score_ins_open": {
          "type": "integer",
          "description": "insertion open penalty",
          "help_text": "Type: `integer`, multiple: `False`, example: `-2`. "
        },
        "score_ins_base": {
          "type": "integer",
          "description": "insertion extension penalty per base (in addition to scoreInsOpen)",
          "help_text": "Type: `integer`, multiple: `False`, example: `-2`. "
        },
        "score_stitch_sj_shift": {
          "type": "integer",
          "description": "maximum score reduction while searching for SJ boundaries in the stitching step",
          "help_text": "Type: `integer`, multiple: `False`, example: `1`. "
        }
      }
    },
    "alignments and seeding": {
      "title": "Alignments and Seeding",
      "type": "object",
      "description": "No description",
      "properties": {
        "seed_search_start_lmax": {
          "type": "integer",
          "description": "defines the search start point through the read - the read is split into pieces no longer than this value",
          "help_text": "Type: `integer`, multiple: `False`, example: `50`. "
        },
        "seed_search_start_lmax_over_lread": {
          "type": "number",
          "description": "seedSearchStartLmax normalized to read length (sum of mates' lengths for paired-end reads)",
          "help_text": "Type: `double`, multiple: `False`, example: `1.0`. "
        },
        "seed_search_lmax": {
          "type": "integer",
          "description": "defines the maximum length of the seeds, if =0 seed length is not limited",
          "help_text": "Type: `integer`, multiple: `False`, example: `0`. "
        },
        "seed_multimap_nmax": {
          "type": "integer",
          "description": "only pieces that map fewer than this value are utilized in the stitching procedure",
          "help_text": "Type: `integer`, multiple: `False`, example: `10000`. "
        },
        "seed_per_read_nmax": {
          "type": "integer",
          "description": "max number of seeds per read",
          "help_text": "Type: `integer`, multiple: `False`, example: `1000`. "
        },
        "seed_per_window_nmax": {
          "type": "integer",
          "description": "max number of seeds per window",
          "help_text": "Type: `integer`, multiple: `False`, example: `50`. "
        },
        "seed_none_loci_per_window": {
          "type": "integer",
          "description": "max number of one seed loci per window",
          "help_text": "Type: `integer`, multiple: `False`, example: `10`. "
        },
        "seed_split_min": {
          "type": "integer",
          "description": "min length of the seed sequences split by Ns or mate gap",
          "help_text": "Type: `integer`, multiple: `False`, example: `12`. "
        },
        "seed_map_min": {
          "type": "integer",
          "description": "min length of seeds to be mapped",
          "help_text": "Type: `integer`, multiple: `False`, example: `5`. "
        },
        "align_intron_min": {
          "type": "integer",
          "description": "minimum intron size, genomic gap is considered intron if its length>=alignIntronMin, otherwise it is considered Deletion",
          "help_text": "Type: `integer`, multiple: `False`, example: `21`. "
        },
        "align_intron_max": {
          "type": "integer",
          "description": "maximum intron size, if 0, max intron size will be determined by (2^winBinNbits)*winAnchorDistNbins",
          "help_text": "Type: `integer`, multiple: `False`, example: `0`. "
        },
        "align_mates_gap_max": {
          "type": "integer",
          "description": "maximum gap between two mates, if 0, max intron gap will be determined by (2^winBinNbits)*winAnchorDistNbins",
          "help_text": "Type: `integer`, multiple: `False`, example: `0`. "
        },
        "align_sj_overhang_min": {
          "type": "integer",
          "description": "minimum overhang (i.e",
          "help_text": "Type: `integer`, multiple: `False`, example: `5`. "
        },
        "align_sj_stitch_mismatch_nmax": {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "description": "maximum number of mismatches for stitching of the splice junctions (-1: no limit).\n\n(1) non-canonical motifs, (2) GT/AG and CT/AC motif, (3) GC/AG and CT/GC motif, (4) AT/AC and GT/AT motif.",
          "help_text": "Type: `integer`, multiple: `True`, example: `[0;-1;0;0]`. "
        },
        "align_sjdb_overhang_min": {
          "type": "integer",
          "description": "minimum overhang (i.e",
          "help_text": "Type: `integer`, multiple: `False`, example: `3`. "
        },
        "align_spliced_mate_map_lmin": {
          "type": "integer",
          "description": "minimum mapped length for a read mate that is spliced",
          "help_text": "Type: `integer`, multiple: `False`, example: `0`. "
        },
        "align_spliced_mate_map_lmin_over_lmate": {
          "type": "number",
          "description": "alignSplicedMateMapLmin normalized to mate length",
          "help_text": "Type: `double`, multiple: `False`, example: `0.66`. "
        },
        "align_windows_per_read_nmax": {
          "type": "integer",
          "description": "max number of windows per read",
          "help_text": "Type: `integer`, multiple: `False`, example: `10000`. "
        },
        "align_transcripts_per_window_nmax": {
          "type": "integer",
          "description": "max number of transcripts per window",
          "help_text": "Type: `integer`, multiple: `False`, example: `100`. "
        },
        "align_transcripts_per_read_nmax": {
          "type": "integer",
          "description": "max number of different alignments per read to consider",
          "help_text": "Type: `integer`, multiple: `False`, example: `10000`. "
        },
        "align_ends_type": {
          "type": "string",
          "description": "type of read ends alignment\n\n- Local             ..",
          "help_text": "Type: `string`, multiple: `False`, example: `\"Local\"`. "
        },
        "align_ends_protrude": {
          "type": "string",
          "description": "allow protrusion of alignment ends, i.e",
          "help_text": "Type: `string`, multiple: `False`, example: `\"0    ConcordantPair\"`. "
        },
        "align_soft_clip_at_reference_ends": {
          "type": "string",
          "description": "allow the soft-clipping of the alignments past the end of the chromosomes\n\n- Yes ..",
          "help_text": "Type: `string`, multiple: `False`, example: `\"Yes\"`. "
        },
        "align_insertion_flush": {
          "type": "string",
          "description": "how to flush ambiguous insertion positions\n\n- None    ..",
          "help_text": "Type: `string`, multiple: `False`. "
        }
      }
    },
    "paired-end reads": {
      "title": "Paired-End reads",
      "type": "object",
      "description": "No description",
      "properties": {
        "pe_overlap_nbases_min": {
          "type": "integer",
          "description": "minimum number of overlapping bases to trigger mates merging and realignment",
          "help_text": "Type: `integer`, multiple: `False`, example: `0`. "
        },
        "pe_overlap_mm_p": {
          "type": "number",
          "description": "maximum proportion of mismatched bases in the overlap area",
          "help_text": "Type: `double`, multiple: `False`, example: `0.01`. "
        }
      }
    },
    "windows, anchors, binning": {
      "title": "Windows, Anchors, Binning",
      "type": "object",
      "description": "No description",
      "properties": {
        "win_anchor_multimap_nmax": {
          "type": "integer",
          "description": "max number of loci anchors are allowed to map to",
          "help_text": "Type: `integer`, multiple: `False`, example: `50`. "
        },
        "win_bin_nbits": {
          "type": "integer",
          "description": "=log2(winBin), where winBin is the size of the bin for the windows/clustering, each window will occupy an integer number of bins.",
          "help_text": "Type: `integer`, multiple: `False`, example: `16`. "
        },
        "win_anchor_dist_nbins": {
          "type": "integer",
          "description": "max number of bins between two anchors that allows aggregation of anchors into one window",
          "help_text": "Type: `integer`, multiple: `False`, example: `9`. "
        },
        "win_flank_nbins": {
          "type": "integer",
          "description": "log2(winFlank), where win Flank is the size of the left and right flanking regions for each window",
          "help_text": "Type: `integer`, multiple: `False`, example: `4`. "
        },
        "win_read_coverage_relative_min": {
          "type": "number",
          "description": "minimum relative coverage of the read sequence by the seeds in a window, for STARlong algorithm only.",
          "help_text": "Type: `double`, multiple: `False`, example: `0.5`. "
        },
        "win_read_coverage_bases_min": {
          "type": "integer",
          "description": "minimum number of bases covered by the seeds in a window , for STARlong algorithm only.",
          "help_text": "Type: `integer`, multiple: `False`, example: `0`. "
        }
      }
    },
    "chimeric alignments": {
      "title": "Chimeric Alignments",
      "type": "object",
      "description": "No description",
      "properties": {
        "chim_out_type": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "type of chimeric output\n\n- Junctions       ..",
          "help_text": "Type: `string`, multiple: `True`, example: `[\"Junctions\"]`. "
        },
        "chim_segment_min": {
          "type": "integer",
          "description": "minimum length of chimeric segment length, if ==0, no chimeric output",
          "help_text": "Type: `integer`, multiple: `False`, example: `0`. "
        },
        "chim_score_min": {
          "type": "integer",
          "description": "minimum total (summed) score of the chimeric segments",
          "help_text": "Type: `integer`, multiple: `False`, example: `0`. "
        },
        "chim_score_drop_max": {
          "type": "integer",
          "description": "max drop (difference) of chimeric score (the sum of scores of all chimeric segments) from the read length",
          "help_text": "Type: `integer`, multiple: `False`, example: `20`. "
        },
        "chim_score_separation": {
          "type": "integer",
          "description": "minimum difference (separation) between the best chimeric score and the next one",
          "help_text": "Type: `integer`, multiple: `False`, example: `10`. "
        },
        "chim_score_junction_non_gtag": {
          "type": "integer",
          "description": "penalty for a non-GT/AG chimeric junction",
          "help_text": "Type: `integer`, multiple: `False`, example: `-1`. "
        },
        "chim_junction_overhang_min": {
          "type": "integer",
          "description": "minimum overhang for a chimeric junction",
          "help_text": "Type: `integer`, multiple: `False`, example: `20`. "
        },
        "chim_segment_read_gap_max": {
          "type": "integer",
          "description": "maximum gap in the read sequence between chimeric segments",
          "help_text": "Type: `integer`, multiple: `False`, example: `0`. "
        },
        "chim_filter": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "different filters for chimeric alignments\n\n- None ..",
          "help_text": "Type: `string`, multiple: `True`, example: `[\"banGenomicN\"]`. "
        },
        "chim_main_segment_mult_nmax": {
          "type": "integer",
          "description": "maximum number of multi-alignments for the main chimeric segment",
          "help_text": "Type: `integer`, multiple: `False`, example: `10`. "
        },
        "chim_multimap_nmax": {
          "type": "integer",
          "description": "maximum number of chimeric multi-alignments\n\n- 0 ..",
          "help_text": "Type: `integer`, multiple: `False`, example: `0`. "
        },
        "chim_multimap_score_range": {
          "type": "integer",
          "description": "the score range for multi-mapping chimeras below the best chimeric score",
          "help_text": "Type: `integer`, multiple: `False`, example: `1`. "
        },
        "chim_nonchim_score_drop_min": {
          "type": "integer",
          "description": "to trigger chimeric detection, the drop in the best non-chimeric alignment score with respect to the read length has to be greater than this value",
          "help_text": "Type: `integer`, multiple: `False`, example: `20`. "
        },
        "chim_out_junction_format": {
          "type": "integer",
          "description": "formatting type for the Chimeric.out.junction file\n\n- 0 ..",
          "help_text": "Type: `integer`, multiple: `False`, example: `0`. "
        }
      }
    },
    "quantification of annotations": {
      "title": "Quantification of Annotations",
      "type": "object",
      "description": "No description",
      "properties": {
        "quant_mode": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "types of quantification requested\n\n- -                ..",
          "help_text": "Type: `string`, multiple: `True`. "
        },
        "quant_transcriptome_bam_compression": {
          "type": "integer",
          "description": "-2 to 10  transcriptome BAM compression level\n\n- -2  ..",
          "help_text": "Type: `integer`, multiple: `False`, example: `1`. "
        },
        "quant_transcriptome_sam_output": {
          "type": "string",
          "description": "alignment filtering for TranscriptomeSAM output\n\n- BanSingleEnd_BanIndels_ExtendSoftclip ..",
          "help_text": "Type: `string`, multiple: `False`, example: `\"BanSingleEnd_BanIndels_ExtendSoftclip\"`. "
        }
      }
    },
    "2-pass mapping": {
      "title": "2-pass Mapping",
      "type": "object",
      "description": "No description",
      "properties": {
        "twopass_mode": {
          "type": "string",
          "description": "2-pass mapping mode.\n\n- None        ..",
          "help_text": "Type: `string`, multiple: `False`. "
        },
        "twopass1reads_n": {
          "type": "integer",
          "description": "number of reads to process for the 1st step",
          "help_text": "Type: `integer`, multiple: `False`, example: `-1`. "
        }
      }
    },
    "wasp parameters": {
      "title": "WASP parameters",
      "type": "object",
      "description": "No description",
      "properties": {
        "wasp_output_mode": {
          "type": "string",
          "description": "WASP allele-specific output type",
          "help_text": "Type: `string`, multiple: `False`. "
        }
      }
    },
    "starsolo (single cell rna-seq) parameters": {
      "title": "STARsolo (single cell RNA-seq) parameters",
      "type": "object",
      "description": "No description",
      "properties": {
        "solo_type": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "type of single-cell RNA-seq\n\n- CB_UMI_Simple   ..",
          "help_text": "Type: `string`, multiple: `True`. "
        },
        "solo_cb_type": {
          "type": "string",
          "description": "cell barcode type\n\nSequence: cell barcode is a sequence (standard option)\nString: cell barcode is an arbitrary string",
          "help_text": "Type: `string`, multiple: `False`, example: `\"Sequence\"`. "
        },
        "solo_cb_whitelist": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "file(s) with whitelist(s) of cell barcodes",
          "help_text": "Type: `string`, multiple: `True`. "
        },
        "solo_cb_start": {
          "type": "integer",
          "description": "cell barcode start base",
          "help_text": "Type: `integer`, multiple: `False`, example: `1`. "
        },
        "solo_cb_len": {
          "type": "integer",
          "description": "cell barcode length",
          "help_text": "Type: `integer`, multiple: `False`, example: `16`. "
        },
        "solo_umi_start": {
          "type": "integer",
          "description": "UMI start base",
          "help_text": "Type: `integer`, multiple: `False`, example: `17`. "
        },
        "solo_umi_len": {
          "type": "integer",
          "description": "UMI length",
          "help_text": "Type: `integer`, multiple: `False`, example: `10`. "
        },
        "solo_barcode_read_length": {
          "type": "integer",
          "description": "length of the barcode read\n\n- 1   ..",
          "help_text": "Type: `integer`, multiple: `False`, example: `1`. "
        },
        "solo_barcode_mate": {
          "type": "integer",
          "description": "identifies which read mate contains the barcode (CB+UMI) sequence\n\n- 0   ..",
          "help_text": "Type: `integer`, multiple: `False`, example: `0`. "
        },
        "solo_cb_position": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "position of Cell Barcode(s) on the barcode read.\n\nPresently only works with --solo_type CB_UMI_Complex, and barcodes are assumed to be on Read2.\nFormat for each barcode: startAnchor_startPosition_endAnchor_endPosition\nstart(end)Anchor defines the Anchor Base for the CB: 0: read start; 1: read end; 2: adapter start; 3: adapter end\nstart(end)Position is the 0-based position with of the CB start(end) with respect to the Anchor Base\nString for different barcodes are separated by space.\nExample: inDrop (Zilionis et al, Nat",
          "help_text": "Type: `string`, multiple: `True`. "
        },
        "solo_umi_position": {
          "type": "string",
          "description": "position of the UMI on the barcode read, same as soloCBposition\n\nExample: inDrop (Zilionis et al, Nat",
          "help_text": "Type: `string`, multiple: `False`. "
        },
        "solo_adapter_sequence": {
          "type": "string",
          "description": "adapter sequence to anchor barcodes",
          "help_text": "Type: `string`, multiple: `False`. "
        },
        "solo_adapter_mismatches_nmax": {
          "type": "integer",
          "description": "maximum number of mismatches allowed in adapter sequence.",
          "help_text": "Type: `integer`, multiple: `False`, example: `1`. "
        },
        "solo_cb_match_wl_type": {
          "type": "string",
          "description": "matching the Cell Barcodes to the WhiteList\n\n- Exact                           ..",
          "help_text": "Type: `string`, multiple: `False`, example: `\"1MM_multi\"`. "
        },
        "solo_input_sam_attr_barcode_seq": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "when inputting reads from a SAM file (--readsFileType SAM SE/PE), these SAM attributes mark the barcode sequence (in proper order).\n\nFor instance, for 10X CellRanger or STARsolo BAMs, use --solo_input_sam_attr_barcode_seq CR UR .\nThis parameter is required when running STARsolo with input from SAM.",
          "help_text": "Type: `string`, multiple: `True`. "
        },
        "solo_input_sam_attr_barcode_qual": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "when inputting reads from a SAM file (--readsFileType SAM SE/PE), these SAM attributes mark the barcode qualities (in proper order).\n\nFor instance, for 10X CellRanger or STARsolo BAMs, use --solo_input_sam_attr_barcode_qual CY UY .\nIf this parameter is '-' (default), the quality 'H' will be assigned to all bases.",
          "help_text": "Type: `string`, multiple: `True`. "
        },
        "solo_strand": {
          "type": "string",
          "description": "strandedness of the solo libraries:\n\n- Unstranded  ..",
          "help_text": "Type: `string`, multiple: `False`, example: `\"Forward\"`. "
        },
        "solo_features": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "genomic features for which the UMI counts per Cell Barcode are collected\n\n- Gene            ..",
          "help_text": "Type: `string`, multiple: `True`, example: `[\"Gene\"]`. "
        },
        "solo_multi_mappers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "counting method for reads mapping to multiple genes\n\n- Unique     ..",
          "help_text": "Type: `string`, multiple: `True`, example: `[\"Unique\"]`. "
        },
        "solo_umi_dedup": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "type of UMI deduplication (collapsing) algorithm\n\n- 1MM_All                     ..",
          "help_text": "Type: `string`, multiple: `True`, example: `[\"1MM_All\"]`. "
        },
        "solo_umi_filtering": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "type of UMI filtering (for reads uniquely mapping to genes)\n\n- -                  ..",
          "help_text": "Type: `string`, multiple: `True`. "
        },
        "solo_out_file_names": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "file names for STARsolo output:\n\nfile_name_prefix   gene_names   barcode_sequences   cell_feature_count_matrix",
          "help_text": "Type: `string`, multiple: `True`, example: `[\"Solo.out/\";\"features.tsv\";\"barcodes.tsv\";\"matrix.mtx\"]`. "
        },
        "solo_cell_filter": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "cell filtering type and parameters\n\n- None            ..",
          "help_text": "Type: `string`, multiple: `True`, example: `[\"CellRanger2.2\";\"3000\";\"0.99\";\"10\"]`. "
        },
        "solo_out_format_features_gene_field3": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "field 3 in the Gene features.tsv file",
          "help_text": "Type: `string`, multiple: `True`, example: `[\"Gene Expression\"]`. "
        },
        "solo_cell_read_stats": {
          "type": "string",
          "description": "Output reads statistics for each CB\n\n- Standard    ..",
          "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/inputs"
    },
    {
      "$ref": "#/$defs/outputs"
    },
    {
      "$ref": "#/$defs/run parameters"
    },
    {
      "$ref": "#/$defs/genome parameters"
    },
    {
      "$ref": "#/$defs/splice junctions database"
    },
    {
      "$ref": "#/$defs/variation parameters"
    },
    {
      "$ref": "#/$defs/read parameters"
    },
    {
      "$ref": "#/$defs/read clipping"
    },
    {
      "$ref": "#/$defs/limits"
    },
    {
      "$ref": "#/$defs/output: general"
    },
    {
      "$ref": "#/$defs/output: sam and bam"
    },
    {
      "$ref": "#/$defs/bam processing"
    },
    {
      "$ref": "#/$defs/output wiggle"
    },
    {
      "$ref": "#/$defs/output filtering"
    },
    {
      "$ref": "#/$defs/output splice junctions (sj.out.tab)"
    },
    {
      "$ref": "#/$defs/output filtering: splice junctions"
    },
    {
      "$ref": "#/$defs/scoring"
    },
    {
      "$ref": "#/$defs/alignments and seeding"
    },
    {
      "$ref": "#/$defs/paired-end reads"
    },
    {
      "$ref": "#/$defs/windows, anchors, binning"
    },
    {
      "$ref": "#/$defs/chimeric alignments"
    },
    {
      "$ref": "#/$defs/quantification of annotations"
    },
    {
      "$ref": "#/$defs/2-pass mapping"
    },
    {
      "$ref": "#/$defs/wasp parameters"
    },
    {
      "$ref": "#/$defs/starsolo (single cell rna-seq) parameters"
    },
    {
      "$ref": "#/$defs/nextflow input-output arguments"
    }
  ]
}
