{
"$schema": "http://json-schema.org/draft-07/schema",
"title": "bcftools_concat",
"description": "Concatenate or combine VCF/BCF files. All source files must have the same sample\ncolumns appearing in the same order. The program can be used, for example, to\nconcatenate chromosome VCFs into one VCF, or combine a SNP VCF and an indel\nVCF into one. The input files must be sorted by chr and position. The files\nmust be given in the correct order to produce sorted VCF on output unless\nthe -a, --allow-overlaps option is specified. With the --naive option, the files\nare concatenated without being recompressed, which is very fast.\n",
"type": "object",
"definitions": {

    
    
    "inputs" : {
    "title": "Inputs",
    "type": "object",
    "description": "No description",
    "properties": {
    
        
                "input": {
                "type":
                "string",
                "description": "Type: List of `file`, multiple_sep: `\";\"`. Input VCF/BCF files to concatenate",
                "help_text": "Type: List of `file`, multiple_sep: `\";\"`. Input VCF/BCF files to concatenate."
            
            }
    

        ,
                "file_list": {
                "type":
                "string",
                "description": "Type: `file`. Read the list of VCF/BCF files from a file, one file name per line",
                "help_text": "Type: `file`. Read the list of VCF/BCF files from a file, one file name per line."
            
            }
    

}
},
    
    
    "outputs" : {
    "title": "Outputs",
    "type": "object",
    "description": "No description",
    "properties": {
    
        
                "output": {
                "type":
                "string",
                "description": "Type: `file`, required, default: `$id.$key.output.output`. Output concatenated VCF/BCF file",
                "help_text": "Type: `file`, required, default: `$id.$key.output.output`. Output concatenated VCF/BCF file."
            ,
                "default": "$id.$key.output.output"
            }
    

}
},
    
    
    "options" : {
    "title": "Options",
    "type": "object",
    "description": "No description",
    "properties": {
    
        
                "allow_overlaps": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. First coordinate of the next file can precede last record of the current file",
                "help_text": "Type: `boolean_true`, default: `false`. First coordinate of the next file can precede last record of the current file.\n"
            ,
                "default": "False"
            }
    

        ,
                "compact_PS": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. Do not output PS tag at each site, only at the start of a new phase set block",
                "help_text": "Type: `boolean_true`, default: `false`. Do not output PS tag at each site, only at the start of a new phase set block.\n"
            ,
                "default": "False"
            }
    

        ,
                "remove_duplicates": {
                "type":
                "string",
                "description": "Type: `string`, choices: ``snps`, `indels`, `both`, `all`, `exact`, `none``. Output duplicate records present in multiple files only once: \u003csnps|indels|both|all|exact\u003e",
                "help_text": "Type: `string`, choices: ``snps`, `indels`, `both`, `all`, `exact`, `none``. Output duplicate records present in multiple files only once: \u003csnps|indels|both|all|exact\u003e.\n    \n",
                "enum": ["snps", "indels", "both", "all", "exact", "none"]
            
            
            }
    

        ,
                "ligate": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. Ligate phased VCFs by matching phase at overlapping haplotypes",
                "help_text": "Type: `boolean_true`, default: `false`. Ligate phased VCFs by matching phase at overlapping haplotypes."
            ,
                "default": "False"
            }
    

        ,
                "ligate_force": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. Ligate even non-overlapping chunks, keep all sites",
                "help_text": "Type: `boolean_true`, default: `false`. Ligate even non-overlapping chunks, keep all sites."
            ,
                "default": "False"
            }
    

        ,
                "ligate_warn": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. Drop sites in imperfect overlaps",
                "help_text": "Type: `boolean_true`, default: `false`. Drop sites in imperfect overlaps."
            ,
                "default": "False"
            }
    

        ,
                "no_version": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. Do not append version and command line information to the header",
                "help_text": "Type: `boolean_true`, default: `false`. Do not append version and command line information to the header."
            ,
                "default": "False"
            }
    

        ,
                "naive": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. Concatenate files without recompression, a header check compatibility is performed",
                "help_text": "Type: `boolean_true`, default: `false`. Concatenate files without recompression, a header check compatibility is performed."
            ,
                "default": "False"
            }
    

        ,
                "naive_force": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. Same as --naive, but header compatibility is not checked",
                "help_text": "Type: `boolean_true`, default: `false`. Same as --naive, but header compatibility is not checked. \nDangerous, use with caution.\n"
            ,
                "default": "False"
            }
    

        ,
                "output_type": {
                "type":
                "string",
                "description": "Type: `string`, choices: ``u`, `z`, `b`, `v``. Output type:\n  u: uncompressed BCF\n  z: compressed VCF\n  b: compressed BCF\n  v: uncompressed VCF\n",
                "help_text": "Type: `string`, choices: ``u`, `z`, `b`, `v``. Output type:\n  u: uncompressed BCF\n  z: compressed VCF\n  b: compressed BCF\n  v: uncompressed VCF\n",
                "enum": ["u", "z", "b", "v"]
            
            
            }
    

        ,
                "min_PQ": {
                "type":
                "integer",
                "description": "Type: `integer`, example: `30`. Break phase set if phasing quality is lower than \u003cint\u003e",
                "help_text": "Type: `integer`, example: `30`. Break phase set if phasing quality is lower than \u003cint\u003e."
            
            }
    

        ,
                "regions": {
                "type":
                "string",
                "description": "Type: `string`, example: `20:1000000-2000000`. Restrict to comma-separated list of regions",
                "help_text": "Type: `string`, example: `20:1000000-2000000`. Restrict to comma-separated list of regions. \nFollowing formats are supported: chr|chr:pos|chr:beg-end|chr:beg-[,\u2026\u200b].\n"
            
            }
    

        ,
                "regions_file": {
                "type":
                "string",
                "description": "Type: `file`. Restrict to regions listed in a file",
                "help_text": "Type: `file`. Restrict to regions listed in a file. \nRegions can be specified either on a VCF, BED, or tab-delimited file (the default). \nFor more information check manual.\n"
            
            }
    

        ,
                "regions_overlap": {
                "type":
                "string",
                "description": "Type: `string`, choices: ``pos`, `record`, `variant`, `0`, `1`, `2``. This option controls how overlapping records are determined: \nset to \u0027pos\u0027 or \u00270\u0027 if the VCF record has to have POS inside a region (this corresponds to the default behavior of -t/-T); \nset to \u0027record\u0027 or \u00271\u0027 if also overlapping records with POS outside a region should be included (this is the default behavior of -r/-R, \nand includes indels with POS at the end of a region, which are technically outside the region); \nor set to \u0027variant\u0027 or \u00272\u0027 to include only true overlapping variation (compare the full VCF representation \"TA\u003eT-\" vs the true sequence variation \"A\u003e-\")",
                "help_text": "Type: `string`, choices: ``pos`, `record`, `variant`, `0`, `1`, `2``. This option controls how overlapping records are determined: \nset to \u0027pos\u0027 or \u00270\u0027 if the VCF record has to have POS inside a region (this corresponds to the default behavior of -t/-T); \nset to \u0027record\u0027 or \u00271\u0027 if also overlapping records with POS outside a region should be included (this is the default behavior of -r/-R, \nand includes indels with POS at the end of a region, which are technically outside the region); \nor set to \u0027variant\u0027 or \u00272\u0027 to include only true overlapping variation (compare the full VCF representation \"TA\u003eT-\" vs the true sequence variation \"A\u003e-\").\n",
                "enum": ["pos", "record", "variant", "0", "1", "2"]
            
            
            }
    

}
},
    
    
    "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"
    }
]
}
