{
"$schema": "http://json-schema.org/draft-07/schema",
"title": "bedtools_genomecov",
"description": "Compute the coverage of a feature file among a genome.\n",
"type": "object",
"definitions": {

    
    
    "inputs" : {
    "title": "Inputs",
    "type": "object",
    "description": "No description",
    "properties": {
    
        
                "input": {
                "type":
                "string",
                "description": "Type: `file`, example: `input.bed`. The input file (BED/GFF/VCF) to be used",
                "help_text": "Type: `file`, example: `input.bed`. The input file (BED/GFF/VCF) to be used.\n"
            
            }
    

        ,
                "input_bam": {
                "type":
                "string",
                "description": "Type: `file`. The input file is in BAM format",
                "help_text": "Type: `file`. The input file is in BAM format.\nNote: BAM _must_ be sorted by positions.\n\u0027--genome\u0027 option is ignored if you use \u0027--input_bam\u0027 option!\n"
            
            }
    

        ,
                "genome": {
                "type":
                "string",
                "description": "Type: `file`, example: `genome.txt`. The genome file to be used",
                "help_text": "Type: `file`, example: `genome.txt`. The genome file to be used.\n"
            
            }
    

}
},
    
    
    "outputs" : {
    "title": "Outputs",
    "type": "object",
    "description": "No description",
    "properties": {
    
        
                "output": {
                "type":
                "string",
                "description": "Type: `file`, required, default: `$id.$key.output.bed`, example: `output.bed`. The output BED file",
                "help_text": "Type: `file`, required, default: `$id.$key.output.bed`, example: `output.bed`. The output BED file. \n"
            ,
                "default": "$id.$key.output.bed"
            }
    

}
},
    
    
    "options" : {
    "title": "Options",
    "type": "object",
    "description": "No description",
    "properties": {
    
        
                "depth": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. Report the depth at each genome position (with one-based coordinates)",
                "help_text": "Type: `boolean_true`, default: `false`. Report the depth at each genome position (with one-based coordinates).\nDefault behavior is to report a histogram.\n"
            ,
                "default": "False"
            }
    

        ,
                "depth_zero": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. Report the depth at each genome position (with zero-based coordinates)",
                "help_text": "Type: `boolean_true`, default: `false`. Report the depth at each genome position (with zero-based coordinates).\nReports only non-zero positions.\nDefault behavior is to report a histogram.\n"
            ,
                "default": "False"
            }
    

        ,
                "bed_graph": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. Report depth in BedGraph format",
                "help_text": "Type: `boolean_true`, default: `false`. Report depth in BedGraph format. For details, see:\ngenome.ucsc.edu/goldenPath/help/bedgraph.html\n"
            ,
                "default": "False"
            }
    

        ,
                "bed_graph_zero_coverage": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. Report depth in BedGraph format, as above (-bg)",
                "help_text": "Type: `boolean_true`, default: `false`. Report depth in BedGraph format, as above (-bg).\nHowever with this option, regions with zero \ncoverage are also reported. This allows one to\nquickly extract all regions of a genome with 0 \ncoverage by applying: \"grep -w 0$\" to the output.\n"
            ,
                "default": "False"
            }
    

        ,
                "split": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. Treat \"split\" BAM or BED12 entries as distinct BED intervals",
                "help_text": "Type: `boolean_true`, default: `false`. Treat \"split\" BAM or BED12 entries as distinct BED intervals.\nwhen computing coverage.\nFor BAM files, this uses the CIGAR \"N\" and \"D\" operations \nto infer the blocks for computing coverage.\nFor BED12 files, this uses the BlockCount, BlockStarts, and BlockEnds\nfields (i.e., columns 10,11,12).\n"
            ,
                "default": "False"
            }
    

        ,
                "ignore_deletion": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. Ignore local deletions (CIGAR \"D\" operations) in BAM entries\nwhen computing coverage",
                "help_text": "Type: `boolean_true`, default: `false`. Ignore local deletions (CIGAR \"D\" operations) in BAM entries\nwhen computing coverage.\n"
            ,
                "default": "False"
            }
    

        ,
                "strand": {
                "type":
                "string",
                "description": "Type: `string`, choices: ``+`, `-``. Calculate coverage of intervals from a specific strand",
                "help_text": "Type: `string`, choices: ``+`, `-``. Calculate coverage of intervals from a specific strand.\nWith BED files, requires at least 6 columns (strand is column 6). \n",
                "enum": ["+", "-"]
            
            
            }
    

        ,
                "pair_end_coverage": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. Calculate coverage of pair-end fragments",
                "help_text": "Type: `boolean_true`, default: `false`. Calculate coverage of pair-end fragments.\nWorks for BAM files only\n"
            ,
                "default": "False"
            }
    

        ,
                "fragment_size": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. Force to use provided fragment size instead of read length\nWorks for BAM files only\n",
                "help_text": "Type: `boolean_true`, default: `false`. Force to use provided fragment size instead of read length\nWorks for BAM files only\n"
            ,
                "default": "False"
            }
    

        ,
                "du": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. Change strand af the mate read (so both reads from the same strand) useful for strand specific\nWorks for BAM files only\n",
                "help_text": "Type: `boolean_true`, default: `false`. Change strand af the mate read (so both reads from the same strand) useful for strand specific\nWorks for BAM files only\n"
            ,
                "default": "False"
            }
    

        ,
                "five_prime": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. Calculate coverage of 5\" positions (instead of entire interval)",
                "help_text": "Type: `boolean_true`, default: `false`. Calculate coverage of 5\" positions (instead of entire interval).\n"
            ,
                "default": "False"
            }
    

        ,
                "three_prime": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. Calculate coverage of 3\" positions (instead of entire interval)",
                "help_text": "Type: `boolean_true`, default: `false`. Calculate coverage of 3\" positions (instead of entire interval).\n"
            ,
                "default": "False"
            }
    

        ,
                "max": {
                "type":
                "integer",
                "description": "Type: `integer`. Combine all positions with a depth \u003e= max into\na single bin in the histogram",
                "help_text": "Type: `integer`. Combine all positions with a depth \u003e= max into\na single bin in the histogram. Irrelevant\nfor -d and -bedGraph\n- (INTEGER)\n"
            
            }
    

        ,
                "scale": {
                "type":
                "number",
                "description": "Type: `double`. Scale the coverage by a constant factor",
                "help_text": "Type: `double`. Scale the coverage by a constant factor.\nEach coverage value is multiplied by this factor before being reported.\nUseful for normalizing coverage by, e.g., reads per million (RPM).\n- Default is 1.0; i.e., unscaled.\n- (FLOAT)\n"
            
            }
    

        ,
                "trackline": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. Adds a UCSC/Genome-Browser track line definition in the first line of the output",
                "help_text": "Type: `boolean_true`, default: `false`. Adds a UCSC/Genome-Browser track line definition in the first line of the output.\n- See here for more details about track line definition:\n      http://genome.ucsc.edu/goldenPath/help/bedgraph.html\n- NOTE: When adding a trackline definition, the output BedGraph can be easily\n      uploaded to the Genome Browser as a custom track,\n      BUT CAN NOT be converted into a BigWig file (w/o removing the first line).\n"
            ,
                "default": "False"
            }
    

        ,
                "trackopts": {
                "type":
                "string",
                "description": "Type: List of `string`, multiple_sep: `\";\"`. Writes additional track line definition parameters in the first line",
                "help_text": "Type: List of `string`, multiple_sep: `\";\"`. Writes additional track line definition parameters in the first line.\n- Example:\n  -trackopts \u0027name=\"My Track\" visibility=2 color=255,30,30\u0027\n  Note the use of single-quotes if you have spaces in your parameters.\n- (TEXT)\n"
            
            }
    

}
},
    
    
    "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/nextflow input-output arguments"
    }
]
}
