{
"$schema": "http://json-schema.org/draft-07/schema",
"title": "nanoplot",
"description": "Run NanoPlot on nanopore-sequenced reads.\nNanoPlot is a plotting tool for long read sequencing data and alignments.\n",
"type": "object",
"definitions": {

    
    
    "inputs" : {
    "title": "Inputs",
    "type": "object",
    "description": "No description",
    "properties": {
    
        
                "fastq": {
                "type":
                "string",
                "description": "Type: List of `file`, example: `read.fq`, multiple_sep: `\";\"`. Input fastq file(s), separated by \";\"",
                "help_text": "Type: List of `file`, example: `read.fq`, multiple_sep: `\";\"`. Input fastq file(s), separated by \";\"."
            
            }
    

        ,
                "fasta": {
                "type":
                "string",
                "description": "Type: List of `file`, example: `read.fa`, multiple_sep: `\";\"`. Input fasta file(s), separated by \";\"",
                "help_text": "Type: List of `file`, example: `read.fa`, multiple_sep: `\";\"`. Input fasta file(s), separated by \";\"."
            
            }
    

        ,
                "fastq_rich": {
                "type":
                "string",
                "description": "Type: List of `file`, example: `read.fq`, multiple_sep: `\";\"`. Input fastq file(s) generated by albacore or \nMinKNOW with additional information concerning channel and time, separated by \";\"",
                "help_text": "Type: List of `file`, example: `read.fq`, multiple_sep: `\";\"`. Input fastq file(s) generated by albacore or \nMinKNOW with additional information concerning channel and time, separated by \";\".\n"
            
            }
    

        ,
                "fastq_minimal": {
                "type":
                "string",
                "description": "Type: List of `file`, example: `read.fq`, multiple_sep: `\";\"`. Input fastq file(s) generated by albacore or MinKNOW with\nadditional information concerning channel and time",
                "help_text": "Type: List of `file`, example: `read.fq`, multiple_sep: `\";\"`. Input fastq file(s) generated by albacore or MinKNOW with\nadditional information concerning channel and time. Minimal data is extracted\nswiftly without elaborate checks. Separated by \";\".\n"
            
            }
    

        ,
                "summary": {
                "type":
                "string",
                "description": "Type: List of `file`, example: `read.txt`, multiple_sep: `\";\"`. Input summary file(s) generated by albacore or guppy, separated by \";\"",
                "help_text": "Type: List of `file`, example: `read.txt`, multiple_sep: `\";\"`. Input summary file(s) generated by albacore or guppy, separated by \";\".\n"
            
            }
    

        ,
                "bam": {
                "type":
                "string",
                "description": "Type: List of `file`, example: `read.bam`, multiple_sep: `\";\"`. Input sorted bam file(s), separated by \";\"",
                "help_text": "Type: List of `file`, example: `read.bam`, multiple_sep: `\";\"`. Input sorted bam file(s), separated by \";\"."
            
            }
    

        ,
                "ubam": {
                "type":
                "string",
                "description": "Type: List of `file`, example: `read.ubam`, multiple_sep: `\";\"`. Input unmapped bam file(s), separated by \";\"",
                "help_text": "Type: List of `file`, example: `read.ubam`, multiple_sep: `\";\"`. Input unmapped bam file(s), separated by \";\"."
            
            }
    

        ,
                "cram": {
                "type":
                "string",
                "description": "Type: List of `file`, example: `read.cram`, multiple_sep: `\";\"`. Input sorted cram file(s), separated by \";\"",
                "help_text": "Type: List of `file`, example: `read.cram`, multiple_sep: `\";\"`. Input sorted cram file(s), separated by \";\"."
            
            }
    

        ,
                "pickle": {
                "type":
                "string",
                "description": "Type: List of `file`, example: `read.pkl`, multiple_sep: `\";\"`. Input pickle file stored earlier, separated by \";\"",
                "help_text": "Type: List of `file`, example: `read.pkl`, multiple_sep: `\";\"`. Input pickle file stored earlier, separated by \";\"."
            
            }
    

        ,
                "feather": {
                "type":
                "string",
                "description": "Type: List of `file`, example: `read.arrow`, multiple_sep: `\";\"`. Input feather file(s), separated by \";\"",
                "help_text": "Type: List of `file`, example: `read.arrow`, multiple_sep: `\";\"`. Input feather file(s), separated by \";\"."
            
            }
    

}
},
    
    
    "outputs" : {
    "title": "Outputs",
    "type": "object",
    "description": "No description",
    "properties": {
    
        
                "outdir": {
                "type":
                "string",
                "description": "Type: `file`, required, default: `$id.$key.outdir.outdir`. Specify directory in which output has to be created",
                "help_text": "Type: `file`, required, default: `$id.$key.outdir.outdir`. Specify directory in which output has to be created."
            ,
                "default": "$id.$key.outdir.outdir"
            }
    

}
},
    
    
    "options" : {
    "title": "Options",
    "type": "object",
    "description": "No description",
    "properties": {
    
        
                "verbose": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. Write log messages also to terminal",
                "help_text": "Type: `boolean_true`, default: `false`. Write log messages also to terminal"
            ,
                "default": "False"
            }
    

        ,
                "store": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. Store the extracted data in a pickle file for future plotting",
                "help_text": "Type: `boolean_true`, default: `false`. Store the extracted data in a pickle file for future plotting."
            ,
                "default": "False"
            }
    

        ,
                "raw": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. Store the extracted data in tab separated file",
                "help_text": "Type: `boolean_true`, default: `false`. Store the extracted data in tab separated file."
            ,
                "default": "False"
            }
    

        ,
                "huge": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. Input data is one very large file",
                "help_text": "Type: `boolean_true`, default: `false`. Input data is one very large file."
            ,
                "default": "False"
            }
    

        ,
                "no_static": {
                "type":
                "boolean",
                "description": "Type: `boolean_false`, default: `true`. Do not make static (png) plots",
                "help_text": "Type: `boolean_false`, default: `true`. Do not make static (png) plots."
            ,
                "default": "True"
            }
    

        ,
                "prefix": {
                "type":
                "string",
                "description": "Type: `string`. Specify an optional prefix to be used for the output files",
                "help_text": "Type: `string`. Specify an optional prefix to be used for the output files."
            
            }
    

        ,
                "tsv_stats": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. Output the stats file as a properly formatted TSV",
                "help_text": "Type: `boolean_true`, default: `false`. Output the stats file as a properly formatted TSV."
            ,
                "default": "False"
            }
    

        ,
                "only_report": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. Output only the report",
                "help_text": "Type: `boolean_true`, default: `false`. Output only the report."
            ,
                "default": "False"
            }
    

        ,
                "info_in_report": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. Add NanoPlot run info in the report",
                "help_text": "Type: `boolean_true`, default: `false`. Add NanoPlot run info in the report."
            ,
                "default": "False"
            }
    

}
},
    
    
    "filtering or transforming input" : {
    "title": "Filtering or transforming input",
    "type": "object",
    "description": "No description",
    "properties": {
    
        
                "maxlength": {
                "type":
                "integer",
                "description": "Type: `integer`. Drop reads longer than length specified",
                "help_text": "Type: `integer`. Drop reads longer than length specified."
            
            }
    

        ,
                "minlength": {
                "type":
                "integer",
                "description": "Type: `integer`. Drop reads shorter than length specified",
                "help_text": "Type: `integer`. Drop reads shorter than length specified."
            
            }
    

        ,
                "drop_outliers": {
                "type":
                "boolean",
                "description": "Type: `boolean_false`, default: `true`. Drop outlier reads with extreme long length",
                "help_text": "Type: `boolean_false`, default: `true`. Drop outlier reads with extreme long length."
            ,
                "default": "True"
            }
    

        ,
                "downsample": {
                "type":
                "integer",
                "description": "Type: `integer`. Reduce dataset to N reads by random sampling",
                "help_text": "Type: `integer`. Reduce dataset to N reads by random sampling."
            
            }
    

        ,
                "loglength": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. Logarithmic scaling of lengths in plots",
                "help_text": "Type: `boolean_true`, default: `false`. Logarithmic scaling of lengths in plots."
            ,
                "default": "False"
            }
    

        ,
                "percentqual": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. Use qualities as theoretical percent identities",
                "help_text": "Type: `boolean_true`, default: `false`. Use qualities as theoretical percent identities."
            ,
                "default": "False"
            }
    

        ,
                "alength": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. Use aligned read lengths rather than sequenced length (bam mode)",
                "help_text": "Type: `boolean_true`, default: `false`. Use aligned read lengths rather than sequenced length (bam mode)."
            ,
                "default": "False"
            }
    

        ,
                "minqual": {
                "type":
                "integer",
                "description": "Type: `integer`. Drop reads with an average quality lower than specified",
                "help_text": "Type: `integer`. Drop reads with an average quality lower than specified."
            
            }
    

        ,
                "runtime_until": {
                "type":
                "integer",
                "description": "Type: `integer`. Only take the N first hours of a run",
                "help_text": "Type: `integer`. Only take the N first hours of a run."
            
            }
    

        ,
                "readtype": {
                "type":
                "string",
                "description": "Type: `string`. Which read type to extract information about from summary",
                "help_text": "Type: `string`. Which read type to extract information about from summary.\nOptions are 1D, 2D, 1D2\n"
            
            }
    

        ,
                "barcoded": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. Use if you want to split the summary file by barcode",
                "help_text": "Type: `boolean_true`, default: `false`. Use if you want to split the summary file by barcode."
            ,
                "default": "False"
            }
    

        ,
                "no_supplementary": {
                "type":
                "boolean",
                "description": "Type: `boolean_false`, default: `true`. Use if you want to remove supplementary alignments",
                "help_text": "Type: `boolean_false`, default: `true`. Use if you want to remove supplementary alignments."
            ,
                "default": "True"
            }
    

}
},
    
    
    "customizing plots" : {
    "title": "Customizing plots",
    "type": "object",
    "description": "No description",
    "properties": {
    
        
                "color": {
                "type":
                "string",
                "description": "Type: `string`. Specify a color for the plots, must be a valid matplotlib color",
                "help_text": "Type: `string`. Specify a color for the plots, must be a valid matplotlib color."
            
            }
    

        ,
                "colormap": {
                "type":
                "string",
                "description": "Type: `string`. Specify a valid matplotlib colormap for the heatmap",
                "help_text": "Type: `string`. Specify a valid matplotlib colormap for the heatmap."
            
            }
    

        ,
                "format": {
                "type":
                "string",
                "description": "Type: `string`, default: `png`. Specify the output format of the plots",
                "help_text": "Type: `string`, default: `png`. Specify the output format of the plots.\n{eps,jpeg,jpg,pdf,pgf,png,ps,raw,rgba,svg,svgz,tif,tiff}\n"
            ,
                "default": "png"
            }
    

        ,
                "plots": {
                "type":
                "string",
                "description": "Type: `string`. Specify which bivariate plots have to be made",
                "help_text": "Type: `string`. Specify which bivariate plots have to be made.\n[{kde,hex,dot} ...]\n"
            
            }
    

        ,
                "legacy": {
                "type":
                "string",
                "description": "Type: `string`. Specify which bivariate plots have to be made (legacy mode)",
                "help_text": "Type: `string`. Specify which bivariate plots have to be made (legacy mode).\n[{kde,dot,hex} ...]\n"
            
            }
    

        ,
                "listcolors": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. List the colors which are available for plotting and exit",
                "help_text": "Type: `boolean_true`, default: `false`. List the colors which are available for plotting and exit."
            ,
                "default": "False"
            }
    

        ,
                "listcolormaps": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. List the colormaps which are available for plotting and exit",
                "help_text": "Type: `boolean_true`, default: `false`. List the colormaps which are available for plotting and exit."
            ,
                "default": "False"
            }
    

        ,
                "no_N50": {
                "type":
                "boolean",
                "description": "Type: `boolean_false`, default: `true`. Hide the N50 mark in the read length histogram",
                "help_text": "Type: `boolean_false`, default: `true`. Hide the N50 mark in the read length histogram."
            ,
                "default": "True"
            }
    

        ,
                "N50": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. Show the N50 mark in the read length histogram",
                "help_text": "Type: `boolean_true`, default: `false`. Show the N50 mark in the read length histogram."
            ,
                "default": "False"
            }
    

        ,
                "title": {
                "type":
                "string",
                "description": "Type: `string`. Add a title to all plots, requires quoting if using spaces",
                "help_text": "Type: `string`. Add a title to all plots, requires quoting if using spaces."
            
            }
    

        ,
                "font_scale": {
                "type":
                "number",
                "description": "Type: `double`. Scale the font of the plots by a factor",
                "help_text": "Type: `double`. Scale the font of the plots by a factor."
            
            }
    

        ,
                "dpi": {
                "type":
                "integer",
                "description": "Type: `integer`. Set the dpi for saving images",
                "help_text": "Type: `integer`. Set the dpi for saving images."
            
            }
    

        ,
                "hide_stats": {
                "type":
                "boolean",
                "description": "Type: `boolean_false`, default: `true`. Not adding Pearson R stats in some bivariate plots",
                "help_text": "Type: `boolean_false`, default: `true`. Not adding Pearson R stats in some bivariate plots."
            ,
                "default": "True"
            }
    

}
},
    
    
    "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": "Type: `string`, required, example: `output/`. Path to an output directory",
                "help_text": "Type: `string`, required, example: `output/`. Path to an output directory."
            
            }
    

        ,
                "param_list": {
                "type":
                "string",
                "description": "Type: `string`, example: `my_params.yaml`. Allows inputting multiple parameter sets to initialise a Nextflow channel",
                "help_text": "Type: `string`, example: `my_params.yaml`. Allows inputting multiple parameter sets to initialise a Nextflow channel. A `param_list` can either be a list of maps, a csv file, a json file, a yaml file, or simply a yaml blob.\n\n* A list of maps (as-is) where the keys of each map corresponds to the arguments of the pipeline. Example: in a `nextflow.config` file: `param_list: [ [\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027], [\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027] ]`.\n* A csv file should have column names which correspond to the different arguments of this pipeline. Example: `--param_list data.csv` with columns `id,input`.\n* A json or a yaml file should be a list of maps, each of which has keys corresponding to the arguments of the pipeline. Example: `--param_list data.json` with contents `[ {\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027}, {\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027} ]`.\n* A yaml blob can also be passed directly as a string. Example: `--param_list \"[ {\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027}, {\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027} ]\"`.\n\nWhen passing a csv, json or yaml file, relative path names are relativized to the location of the parameter file. No relativation is performed when `param_list` is a list of maps (as-is) or a yaml blob.",
                "hidden": true
            
            }
    

}
}
},
"allOf": [

    {
    "$ref": "#/definitions/inputs"
    },

    {
    "$ref": "#/definitions/outputs"
    },

    {
    "$ref": "#/definitions/options"
    },

    {
    "$ref": "#/definitions/filtering or transforming input"
    },

    {
    "$ref": "#/definitions/customizing plots"
    },

    {
    "$ref": "#/definitions/nextflow input-output arguments"
    }
]
}
