{
    "$schema": "http://json-schema.org/draft-07/schema",
    "$id": "https://raw.githubusercontent.com/nf-core/atacseq/master/nextflow_schema.json",
    "title": "nf-core/atacseq pipeline parameters",
    "description": "ATACSeq peak-calling and differential analysis pipeline.",
    "type": "object",
    "definitions": {
        "input_output_options": {
            "title": "Input/output options",
            "type": "object",
            "fa_icon": "fas fa-terminal",
            "description": "Define where the pipeline should find input data and save output data.",
            "required": ["input", "outdir"],
            "properties": {
                "input": {
                    "type": "string",
                    "format": "file-path",
                    "exists": true,
                    "mimetype": "text/csv",
                    "pattern": "^\\S+\\.csv$",
                    "description": "Path to comma-separated file containing information about the samples in the experiment.",
                    "help_text": "You will need to create a samplesheet with information about the samples in your experiment before running the pipeline. Use this parameter to specify its location. It has to be a comma-separated file with 5 columns, and a header row. See [usage docs](https://nf-co.re/atacseq/docs/usage#introduction).",
                    "fa_icon": "fas fa-file-csv"
                },
                "fragment_size": {
                    "type": "integer",
                    "description": "Estimated fragment size used to extend single-end reads.",
                    "fa_icon": "fas fa-chart-area",
                    "default": 200
                },
                "seq_center": {
                    "type": "string",
                    "description": "Sequencing center information to be added to read group of BAM files.",
                    "fa_icon": "fas fa-synagogue"
                },
                "read_length": {
                    "type": "integer",
                    "description": "Read length used to calculate or retrieve pre-computed MACS2 genome size for peak calling if `--macs_gsize` isn't provided.",
                    "fa_icon": "fas fa-chart-area",
                    "help_text": "Read length together with the genome fasta are used to calculate MACS2 genome size using the `khmer` program as explained [here](https://deeptools.readthedocs.io/en/develop/content/feature/effectiveGenomeSize.html#effective-genome-size). For all the genomes present in the `igenomes.config` the genome size has been already precomputed and the read length is then used to retrieve the corresponding value",
                    "enum": [50, 75, 100, 150, 200]
                },
                "with_control": {
                    "type": "boolean",
                    "description": "Use controls.",
                    "help_text": "Use this to indicate that your samplesheet lists controls.",
                    "fa_icon": "fas fa-check-square"
                },
                "outdir": {
                    "type": "string",
                    "format": "directory-path",
                    "description": "The output directory where the results will be saved. You have to use absolute paths to storage on Cloud infrastructure.",
                    "fa_icon": "fas fa-folder-open"
                },
                "email": {
                    "type": "string",
                    "description": "Email address for completion summary.",
                    "fa_icon": "fas fa-envelope",
                    "help_text": "Set this parameter to your e-mail address to get a summary e-mail with details of the run sent to you when the workflow exits. If set in your user config file (`~/.nextflow/config`) then you don't need to specify this on the command line for every run.",
                    "pattern": "^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$"
                },
                "multiqc_title": {
                    "type": "string",
                    "description": "MultiQC report title. Printed as page header, used for filename if not otherwise specified.",
                    "fa_icon": "fas fa-file-signature"
                }
            }
        },
        "reference_genome_options": {
            "title": "Reference genome options",
            "type": "object",
            "fa_icon": "fas fa-dna",
            "description": "Reference genome related files and options required for the workflow.",
            "properties": {
                "genome": {
                    "type": "string",
                    "description": "Name of iGenomes reference.",
                    "fa_icon": "fas fa-book",
                    "help_text": "If using a reference genome configured in the pipeline using iGenomes, use this parameter to give the ID for the reference. This is then used to build the full paths for all required reference genome files e.g. `--genome GRCh38`. \n\nSee the [nf-core website docs](https://nf-co.re/usage/reference_genomes) for more details."
                },
                "fasta": {
                    "type": "string",
                    "format": "file-path",
                    "exists": true,
                    "mimetype": "text/plain",
                    "pattern": "^\\S+\\.fn?a(sta)?(\\.gz)?$",
                    "description": "Path to FASTA genome file.",
                    "help_text": "This parameter is *mandatory* if `--genome` is not specified. If you don't have the appropriate alignment index available this will be generated for you automatically. Combine with `--save_reference` to save alignment index for future runs.",
                    "fa_icon": "far fa-file-code"
                },
                "gtf": {
                    "type": "string",
                    "format": "file-path",
                    "exists": true,
                    "mimetype": "text/plain",
                    "pattern": "^\\S+\\.gtf(\\.gz)?$",
                    "description": "Path to GTF annotation file.",
                    "fa_icon": "fas fa-code-branch",
                    "help_text": "This parameter is *mandatory* if `--genome` is not specified."
                },
                "gff": {
                    "type": "string",
                    "format": "file-path",
                    "exists": true,
                    "mimetype": "text/plain",
                    "pattern": "^\\S+\\.gff(\\.gz)?$",
                    "fa_icon": "fas fa-code-branch",
                    "description": "Path to GFF3 annotation file.",
                    "help_text": "This parameter must be specified if `--genome` or `--gtf` are not specified."
                },
                "bwa_index": {
                    "type": "string",
                    "format": "path",
                    "exists": true,
                    "description": "Path to directory or tar.gz archive for pre-built BWA index.",
                    "fa_icon": "fas fa-bezier-curve"
                },
                "bowtie2_index": {
                    "type": "string",
                    "format": "path",
                    "exists": true,
                    "fa_icon": "fas fa-bezier-curve",
                    "description": "Path to directory or tar.gz archive for pre-built Bowtie2 index."
                },
                "chromap_index": {
                    "type": "string",
                    "format": "path",
                    "exists": true,
                    "fa_icon": "fas fa-bezier-curve",
                    "description": "Path to directory or tar.gz archive for pre-built Chromap index."
                },
                "star_index": {
                    "type": "string",
                    "format": "path",
                    "exists": true,
                    "fa_icon": "fas fa-bezier-curve",
                    "description": "Path to directory or tar.gz archive for pre-built STAR index."
                },
                "gene_bed": {
                    "type": "string",
                    "format": "file-path",
                    "exists": true,
                    "mimetype": "text/plain",
                    "pattern": "^\\S+\\.bed(\\.gz)?$",
                    "fa_icon": "fas fa-procedures",
                    "description": "Path to BED file containing gene intervals. This will be created from the GTF file if not specified."
                },
                "tss_bed": {
                    "type": "string",
                    "format": "file-path",
                    "exists": true,
                    "mimetype": "text/plain",
                    "pattern": "^\\S+\\.bed(\\.gz)?$",
                    "fa_icon": "fas fa-procedures",
                    "description": "Path to BED file containing transcription start sites. This will be created from the gene BED file if not specified."
                },
                "macs_gsize": {
                    "type": "number",
                    "description": "Effective genome size parameter required by MACS2.",
                    "help_text": "[Effective genome size](https://github.com/taoliu/MACS#-g--gsize) parameter required by MACS2. If using an iGenomes reference these have been provided when `--genome` is set as *GRCh37*, *GRCh38*, *GRCm38*, *WBcel235*, *BDGP6*, *R64-1-1*, *EF2*, *hg38*, *hg19* and *mm10*. For other genomes, if this parameter is not specified then the MACS2 peak-calling and differential analysis will be skipped.",
                    "fa_icon": "fas fa-arrows-alt-h"
                },
                "blacklist": {
                    "type": "string",
                    "format": "path",
                    "exists": true,
                    "description": "Path to blacklist regions in BED format, used for filtering alignments.",
                    "help_text": "If provided, alignments that overlap with the regions in this file will be filtered out (see [ENCODE blacklists](https://sites.google.com/site/anshulkundaje/projects/blacklists)). The file should be in BED format. Blacklisted regions for *GRCh37*, *GRCh38*, *GRCm38*, *hg19*, *hg38*, *mm10* are bundled with the pipeline in the [`blacklists`](../assets/blacklists/) directory, and as such will be automatically used if any of those genomes are specified with the `--genome` parameter.",
                    "fa_icon": "fas fa-book-dead"
                },
                "mito_name": {
                    "type": "string",
                    "description": "Name of Mitochondrial chomosome in reference assembly e.g. chrM.",
                    "help_text": "Reads aligning to this contig are filtered out if a valid identifier is provided otherwise this step is skipped. Where possible these have been provided in the [`igenomes.config`](../conf/igenomes.config).",
                    "fa_icon": "fas fa-signature"
                },
                "save_reference": {
                    "type": "boolean",
                    "description": "If generated by the pipeline save the aligner index (e.g. BWA) in the results directory.",
                    "help_text": "If the index generated by the aligner is generated by the pipeline use this parameter to save it to your results folder. These can then be used for future pipeline runs, reducing processing times.",
                    "fa_icon": "fas fa-save"
                },
                "igenomes_base": {
                    "type": "string",
                    "format": "directory-path",
                    "description": "Directory / URL base for iGenomes references.",
                    "default": "s3://ngi-igenomes/igenomes",
                    "fa_icon": "fas fa-cloud-download-alt",
                    "hidden": true
                },
                "igenomes_ignore": {
                    "type": "boolean",
                    "description": "Do not load the iGenomes reference config.",
                    "fa_icon": "fas fa-ban",
                    "hidden": true,
                    "help_text": "Do not load `igenomes.config` when running the pipeline. You may choose this option if you observe clashes between custom parameters and those supplied in `igenomes.config`."
                },
                "keep_mito": {
                    "type": "boolean",
                    "description": "Reads mapping to mitochondrial contig are not filtered from alignments.",
                    "fa_icon": "fas fa-cart-arrow-down",
                    "default": false
                },
                "ataqv_mito_reference": {
                    "type": "string",
                    "description": "Sets the value of the ataqv --mitochondrial-reference-name argument",
                    "help_text": "By default takes the value of the mito_name parameter, if set. However, some plants and algae have chloroplast genomes in addition to a mitochondrial genome and thus mito_name can have values as multiple names that are separated by a | symbol that will break ataqv, in these cases this parameter can be used to overwrite these values.",
                    "fa_icon": "fas fa-signature"
                }
            },
            "required": ["fasta"]
        },
        "adapter_trimming_options": {
            "title": "Adapter trimming options",
            "type": "object",
            "fa_icon": "fas fa-cut",
            "description": "Options to adjust adapter trimming criteria.",
            "properties": {
                "clip_r1": {
                    "type": "integer",
                    "description": "Instructs Trim Galore to remove bp from the 5' end of read 1 (or single-end reads).",
                    "fa_icon": "fas fa-cut"
                },
                "clip_r2": {
                    "type": "integer",
                    "description": "Instructs Trim Galore to remove bp from the 5' end of read 2 (paired-end reads only).",
                    "fa_icon": "fas fa-cut"
                },
                "three_prime_clip_r1": {
                    "type": "integer",
                    "description": "Instructs Trim Galore to remove bp from the 3' end of read 1 AFTER adapter/quality trimming has been performed.",
                    "fa_icon": "fas fa-cut"
                },
                "three_prime_clip_r2": {
                    "type": "integer",
                    "description": "Instructs Trim Galore to remove bp from the 3' end of read 2 AFTER adapter/quality trimming has been performed.",
                    "fa_icon": "fas fa-cut"
                },
                "trim_nextseq": {
                    "type": "integer",
                    "description": "Instructs Trim Galore to apply the --nextseq=X option, to trim based on quality after removing poly-G tails.",
                    "help_text": "This enables the option Cutadapt `--nextseq-trim=3'CUTOFF` option via Trim Galore, which will set a quality cutoff (that is normally given with -q instead), but qualities of G bases are ignored. This trimming is in common for the NextSeq- and NovaSeq-platforms, where basecalls without any signal are called as high-quality G bases.",
                    "fa_icon": "fas fa-cut"
                },
                "min_trimmed_reads": {
                    "type": "integer",
                    "default": 10000,
                    "fa_icon": "fas fa-hand-paper",
                    "description": "Minimum number of trimmed reads below which samples are removed from further processing. Some downstream steps in the pipeline will fail if this threshold is too low."
                },
                "skip_trimming": {
                    "type": "boolean",
                    "description": "Skip the adapter trimming step.",
                    "help_text": "Use this if your input FastQ files have already been trimmed outside of the workflow or if you're very confident that there is no adapter contamination in your data.",
                    "fa_icon": "fas fa-fast-forward"
                },
                "save_trimmed": {
                    "type": "boolean",
                    "description": "Save the trimmed FastQ files in the results directory.",
                    "help_text": "By default, trimmed FastQ files will not be saved to the results directory. Specify this flag (or set to true in your config file) to copy these files to the results directory when complete.",
                    "fa_icon": "fas fa-save"
                }
            }
        },
        "alignment_options": {
            "title": "Alignment options",
            "type": "object",
            "fa_icon": "fas fa-map-signs",
            "description": "Options to adjust parameters and filtering criteria for read alignments.",
            "properties": {
                "aligner": {
                    "type": "string",
                    "default": "bwa",
                    "description": "Specifies the alignment algorithm to use - available options are 'bwa', 'bowtie2', 'chromap' and 'star'.",
                    "fa_icon": "fas fa-map-signs",
                    "enum": ["bwa", "bowtie2", "chromap", "star"]
                },
                "keep_dups": {
                    "type": "boolean",
                    "description": "Duplicate reads are not filtered from alignments.",
                    "fa_icon": "fas fa-cart-arrow-down"
                },
                "keep_multi_map": {
                    "type": "boolean",
                    "description": "Reads mapping to multiple locations are not filtered from alignments.",
                    "fa_icon": "fas fa-cart-arrow-down"
                },
                "bwa_min_score": {
                    "type": "integer",
                    "description": "Don\u2019t output BWA MEM alignments with score lower than this parameter.",
                    "fa_icon": "fas fa-hand-paper"
                },
                "skip_merge_replicates": {
                    "type": "boolean",
                    "default": false,
                    "description": "Do not perform alignment merging and downstream analysis by merging replicates i.e. only do this by merging resequenced libraries.",
                    "help_text": "An additional series of steps are performed by the pipeline for merging the replicates from the same experimental group. This is primarily to increase the sequencing depth in order to perform downstream analyses such as footprinting. Specifying this parameter means that these steps will not be performed.",
                    "fa_icon": "fas fa-fast-forward"
                },
                "save_align_intermeds": {
                    "type": "boolean",
                    "description": "Save the intermediate BAM files from the alignment step.",
                    "help_text": "By default, intermediate BAM files will not be saved. The final BAM files created after the appropriate filtering step are always saved to limit storage usage. Set this parameter to also save other intermediate BAM files.",
                    "fa_icon": "fas fa-save"
                },
                "save_unaligned": {
                    "type": "boolean",
                    "fa_icon": "fas fa-save",
                    "description": "Where possible, save unaligned reads from either STAR, HISAT2 or Salmon to the results directory.",
                    "help_text": "This may either be in the form of FastQ or BAM files depending on the options available for that particular tool."
                },
                "bamtools_filter_pe_config": {
                    "type": "string",
                    "format": "path",
                    "exists": true,
                    "default": "$projectDir/assets/bamtools_filter_pe.json",
                    "hidden": true,
                    "description": "BAMTools JSON file with custom filters for paired-end data.",
                    "fa_icon": "fas fa-cog"
                },
                "bamtools_filter_se_config": {
                    "type": "string",
                    "format": "path",
                    "exists": true,
                    "default": "$projectDir/assets/bamtools_filter_se.json",
                    "hidden": true,
                    "description": "BAMTools JSON file with custom filters for single-end data.",
                    "fa_icon": "fas fa-cog"
                }
            }
        },
        "peak_calling_options": {
            "title": "Peak calling options",
            "type": "object",
            "fa_icon": "fas fa-chart-area",
            "description": "Options to adjust peak calling criteria.",
            "properties": {
                "narrow_peak": {
                    "type": "boolean",
                    "description": "Run MACS2 in narrowPeak mode.",
                    "help_text": "MACS2 is run by default with the [`--broad`](https://github.com/taoliu/MACS#--broad) flag. Specify this flag to call peaks in narrowPeak mode.",
                    "fa_icon": "fas fa-arrows-alt-h"
                },
                "broad_cutoff": {
                    "type": "number",
                    "default": 0.1,
                    "description": "Specifies broad cutoff value for MACS2. Only used when --narrow_peak isnt specified.",
                    "fa_icon": "fas fa-hand-scissors"
                },
                "macs_fdr": {
                    "type": "number",
                    "description": "Minimum FDR (q-value) cutoff for peak detection, --macs_fdr and --macs_pvalue are mutually exclusive.",
                    "fa_icon": "fas fa-sort-amount-down"
                },
                "macs_pvalue": {
                    "type": "number",
                    "description": "p-value cutoff for peak detection, --macs_fdr and --macs_pvalue are mutually exclusive. If --macs_pvalue cutoff is set, q-value will not be calculated and reported as -1 in the final .xls file.",
                    "fa_icon": "fas fa-sort-amount-down"
                },
                "min_reps_consensus": {
                    "type": "integer",
                    "default": 1,
                    "description": "Number of biological replicates required from a given condition for a peak to contribute to a consensus peak.",
                    "help_text": "If you are confident you have good reproducibility amongst your replicates then you can increase the value of this parameter to create a 'reproducible' set of consensus peaks. For example, a value of 2 will mean peaks that have been called in at least 2 replicates will contribute to the consensus set of peaks, and as such peaks that are unique to a given replicate will be discarded.",
                    "fa_icon": "fas fa-sort-numeric-down"
                },
                "save_macs_pileup": {
                    "type": "boolean",
                    "description": "Instruct MACS2 to create bedGraph files normalised to signal per million reads.",
                    "fa_icon": "fas fa-save"
                },
                "skip_peak_qc": {
                    "type": "boolean",
                    "fa_icon": "fas fa-fast-forward",
                    "description": "Skip MACS2 peak QC plot generation."
                },
                "skip_peak_annotation": {
                    "type": "boolean",
                    "fa_icon": "fas fa-fast-forward",
                    "description": "Skip annotation of MACS2 and consensus peaks with HOMER."
                },
                "skip_consensus_peaks": {
                    "type": "boolean",
                    "description": "Skip consensus peak generation, annotation and counting.",
                    "fa_icon": "fas fa-fast-forward"
                }
            }
        },
        "deseq_qc_options": {
            "title": "Differential analysis options",
            "type": "object",
            "fa_icon": "fas fa-not-equal",
            "description": "Options to adjust differential analysis criteria.",
            "properties": {
                "deseq2_vst": {
                    "type": "boolean",
                    "description": "Use vst transformation instead of rlog with DESeq2.",
                    "help_text": "See [DESeq2 docs](http://bioconductor.org/packages/devel/bioc/vignettes/DESeq2/inst/doc/DESeq2.html#data-transformations-and-visualization).",
                    "fa_icon": "fas fa-dolly",
                    "default": true
                },
                "skip_deseq2_qc": {
                    "type": "boolean",
                    "fa_icon": "fas fa-fast-forward",
                    "description": "Skip DESeq2 PCA and heatmap plotting."
                }
            }
        },
        "process_skipping_options": {
            "title": "Process skipping options",
            "type": "object",
            "fa_icon": "fas fa-fast-forward",
            "description": "Options to skip various steps within the workflow.",
            "properties": {
                "skip_fastqc": {
                    "type": "boolean",
                    "description": "Skip FastQC.",
                    "fa_icon": "fas fa-fast-forward"
                },
                "skip_picard_metrics": {
                    "type": "boolean",
                    "description": "Skip Picard CollectMultipleMetrics.",
                    "fa_icon": "fas fa-fast-forward"
                },
                "skip_preseq": {
                    "type": "boolean",
                    "description": "Skip Preseq.",
                    "fa_icon": "fas fa-fast-forward",
                    "default": true
                },
                "skip_plot_profile": {
                    "type": "boolean",
                    "description": "Skip deepTools plotProfile.",
                    "fa_icon": "fas fa-fast-forward"
                },
                "skip_plot_fingerprint": {
                    "type": "boolean",
                    "description": "Skip deepTools plotFingerprint.",
                    "fa_icon": "fas fa-fast-forward"
                },
                "skip_igv": {
                    "type": "boolean",
                    "description": "Skip IGV.",
                    "fa_icon": "fas fa-fast-forward"
                },
                "skip_multiqc": {
                    "type": "boolean",
                    "description": "Skip MultiQC.",
                    "fa_icon": "fas fa-fast-forward"
                },
                "skip_qc": {
                    "type": "boolean",
                    "fa_icon": "fas fa-fast-forward",
                    "description": "Skip all QC steps except for MultiQC."
                },
                "skip_ataqv": {
                    "type": "boolean",
                    "default": false,
                    "description": "Skip Ataqv.",
                    "fa_icon": "fas fa-fast-forward"
                }
            }
        },
        "institutional_config_options": {
            "title": "Institutional config options",
            "type": "object",
            "fa_icon": "fas fa-university",
            "description": "Parameters used to describe centralised config profiles. These should not be edited.",
            "help_text": "The centralised nf-core configuration profiles use a handful of pipeline parameters to describe themselves. This information is then printed to the Nextflow log when you run a pipeline. You should not need to change these values when you run a pipeline.",
            "properties": {
                "custom_config_version": {
                    "type": "string",
                    "description": "Git commit id for Institutional configs.",
                    "default": "master",
                    "hidden": true,
                    "fa_icon": "fas fa-users-cog"
                },
                "custom_config_base": {
                    "type": "string",
                    "description": "Base directory for Institutional configs.",
                    "default": "https://raw.githubusercontent.com/nf-core/configs/master",
                    "hidden": true,
                    "help_text": "If you're running offline, Nextflow will not be able to fetch the institutional config files from the internet. If you don't need them, then this is not a problem. If you do need them, you should download the files from the repo and tell Nextflow where to find them with this parameter.",
                    "fa_icon": "fas fa-users-cog"
                },
                "config_profile_name": {
                    "type": "string",
                    "description": "Institutional config name.",
                    "hidden": true,
                    "fa_icon": "fas fa-users-cog"
                },
                "config_profile_description": {
                    "type": "string",
                    "description": "Institutional config description.",
                    "hidden": true,
                    "fa_icon": "fas fa-users-cog"
                },
                "config_profile_contact": {
                    "type": "string",
                    "description": "Institutional config contact information.",
                    "hidden": true,
                    "fa_icon": "fas fa-users-cog"
                },
                "config_profile_url": {
                    "type": "string",
                    "description": "Institutional config URL link.",
                    "hidden": true,
                    "fa_icon": "fas fa-users-cog"
                }
            }
        },
        "max_job_request_options": {
            "title": "Max job request options",
            "type": "object",
            "fa_icon": "fab fa-acquisitions-incorporated",
            "description": "Set the top limit for requested resources for any single job.",
            "help_text": "If you are running on a smaller system, a pipeline step requesting more resources than are available may cause the Nextflow to stop the run with an error. These options allow you to cap the maximum resources requested by any single job so that the pipeline will run on your system.\n\nNote that you can not _increase_ the resources requested by any job using these options. For that you will need your own configuration file. See [the nf-core website](https://nf-co.re/usage/configuration) for details.",
            "properties": {
                "max_cpus": {
                    "type": "integer",
                    "description": "Maximum number of CPUs that can be requested for any single job.",
                    "default": 16,
                    "fa_icon": "fas fa-microchip",
                    "hidden": true,
                    "help_text": "Use to set an upper-limit for the CPU requirement for each process. Should be an integer e.g. `--max_cpus 1`"
                },
                "max_memory": {
                    "type": "string",
                    "description": "Maximum amount of memory that can be requested for any single job.",
                    "default": "128.GB",
                    "fa_icon": "fas fa-memory",
                    "pattern": "^\\d+(\\.\\d+)?\\.?\\s*(K|M|G|T)?B$",
                    "hidden": true,
                    "help_text": "Use to set an upper-limit for the memory requirement for each process. Should be a string in the format integer-unit e.g. `--max_memory '8.GB'`"
                },
                "max_time": {
                    "type": "string",
                    "description": "Maximum amount of time that can be requested for any single job.",
                    "default": "240.h",
                    "fa_icon": "far fa-clock",
                    "pattern": "^(\\d+\\.?\\s*(s|m|h|d|day)\\s*)+$",
                    "hidden": true,
                    "help_text": "Use to set an upper-limit for the time requirement for each process. Should be a string in the format integer-unit e.g. `--max_time '2.h'`"
                }
            }
        },
        "generic_options": {
            "title": "Generic options",
            "type": "object",
            "fa_icon": "fas fa-file-import",
            "description": "Less common options for the pipeline, typically set in a config file.",
            "help_text": "These options are common to all nf-core pipelines and allow you to customise some of the core preferences for how the pipeline runs.\n\nTypically these options would be set in a Nextflow config file loaded for all pipeline runs, such as `~/.nextflow/config`.",
            "properties": {
                "help": {
                    "type": "boolean",
                    "description": "Display help text.",
                    "fa_icon": "fas fa-question-circle",
                    "hidden": true
                },
                "version": {
                    "type": "boolean",
                    "description": "Display version and exit.",
                    "fa_icon": "fas fa-question-circle",
                    "hidden": true
                },
                "publish_dir_mode": {
                    "type": "string",
                    "default": "copy",
                    "description": "Method used to save pipeline results to output directory.",
                    "help_text": "The Nextflow `publishDir` option specifies which intermediate files should be saved to the output directory. This option tells the pipeline what method should be used to move these files. See [Nextflow docs](https://www.nextflow.io/docs/latest/process.html#publishdir) for details.",
                    "fa_icon": "fas fa-copy",
                    "enum": ["symlink", "rellink", "link", "copy", "copyNoFollow", "move"],
                    "hidden": true
                },
                "fingerprint_bins": {
                    "type": "integer",
                    "default": 500000,
                    "description": "Number of genomic bins to use when calculating deepTools fingerprint plot.",
                    "fa_icon": "fas fa-dumpster",
                    "hidden": true
                },
                "email_on_fail": {
                    "type": "string",
                    "description": "Email address for completion summary, only when pipeline fails.",
                    "fa_icon": "fas fa-exclamation-triangle",
                    "pattern": "^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$",
                    "help_text": "An email address to send a summary email to when the pipeline is completed - ONLY sent if the pipeline does not exit successfully.",
                    "hidden": true
                },
                "plaintext_email": {
                    "type": "boolean",
                    "description": "Send plain-text email instead of HTML.",
                    "fa_icon": "fas fa-remove-format",
                    "hidden": true
                },
                "max_multiqc_email_size": {
                    "type": "string",
                    "description": "File size limit when attaching MultiQC reports to summary emails.",
                    "pattern": "^\\d+(\\.\\d+)?\\.?\\s*(K|M|G|T)?B$",
                    "default": "25.MB",
                    "fa_icon": "fas fa-file-upload",
                    "hidden": true
                },
                "monochrome_logs": {
                    "type": "boolean",
                    "description": "Do not use coloured log outputs.",
                    "fa_icon": "fas fa-palette",
                    "hidden": true
                },
                "hook_url": {
                    "type": "string",
                    "description": "Incoming hook URL for messaging service",
                    "fa_icon": "fas fa-people-group",
                    "help_text": "Incoming hook URL for messaging service. Currently, MS Teams and Slack are supported.",
                    "hidden": true
                },
                "multiqc_config": {
                    "type": "string",
                    "format": "file-path",
                    "exists": true,
                    "mimetype": "text/plain",
                    "description": "Custom config file to supply to MultiQC.",
                    "fa_icon": "fas fa-cog",
                    "hidden": true
                },
                "multiqc_logo": {
                    "type": "string",
                    "format": "file-path",
                    "exists": true,
                    "mimetype": "text/plain",
                    "description": "Custom logo file to supply to MultiQC. File name must also be set in the MultiQC config file",
                    "fa_icon": "fas fa-image",
                    "hidden": true
                },
                "multiqc_methods_description": {
                    "type": "string",
                    "format": "file-path",
                    "exists": true,
                    "mimetype": "text/plain",
                    "description": "Custom MultiQC yaml file containing HTML including a methods description.",
                    "fa_icon": "fas fa-cog"
                },
                "validate_params": {
                    "type": "boolean",
                    "description": "Boolean whether to validate parameters against the schema at runtime",
                    "default": true,
                    "fa_icon": "fas fa-check-square",
                    "hidden": true
                },
                "validationShowHiddenParams": {
                    "type": "boolean",
                    "fa_icon": "far fa-eye-slash",
                    "description": "Show all params when using `--help`",
                    "default": false,
                    "hidden": true,
                    "help_text": "By default, parameters set as _hidden_ in the schema are not shown on the command line when a user runs with `--help`. Specifying this option will tell the pipeline to show all parameters."
                },
                "validationFailUnrecognisedParams": {
                    "type": "boolean",
                    "fa_icon": "far fa-check-circle",
                    "description": "Validation of parameters fails when an unrecognised parameter is found.",
                    "hidden": true,
                    "help_text": "By default, when an unrecognised parameter is found, it returns a warinig."
                },
                "validationLenientMode": {
                    "type": "boolean",
                    "fa_icon": "far fa-check-circle",
                    "description": "Validation of parameters in lenient more.",
                    "default": false,
                    "hidden": true,
                    "help_text": "Allows string values that are parseable as numbers or booleans. For further information see [JSONSchema docs](https://github.com/everit-org/json-schema#lenient-mode)."
                }
            }
        }
    },
    "allOf": [
        {
            "$ref": "#/definitions/input_output_options"
        },
        {
            "$ref": "#/definitions/reference_genome_options"
        },
        {
            "$ref": "#/definitions/adapter_trimming_options"
        },
        {
            "$ref": "#/definitions/alignment_options"
        },
        {
            "$ref": "#/definitions/peak_calling_options"
        },
        {
            "$ref": "#/definitions/deseq_qc_options"
        },
        {
            "$ref": "#/definitions/process_skipping_options"
        },
        {
            "$ref": "#/definitions/institutional_config_options"
        },
        {
            "$ref": "#/definitions/max_job_request_options"
        },
        {
            "$ref": "#/definitions/generic_options"
        }
    ]
}
