{
"$schema": "http://json-schema.org/draft-07/schema",
"title": "bbmap_bbsplit",
"description": "Split sequencing reads by mapping them to multiple references simultaneously.",
"type": "object",
"definitions": {

    
    
    "input" : {
    "title": "Input",
    "type": "object",
    "description": "No description",
    "properties": {
    
        
                "id": {
                "type":
                "string",
                "description": "Type: `string`. Sample ID",
                "help_text": "Type: `string`. Sample ID"
            
            }
    

        ,
                "paired": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. Paired fastq files or not?",
                "help_text": "Type: `boolean_true`, default: `false`. Paired fastq files or not?"
            ,
                "default":false
            }
    

        ,
                "input": {
                "type":
                "string",
                "description": "Type: List of `file`, example: `reads.fastq`, multiple_sep: `\";\"`. Input fastq files, either one or two (paired), separated by \";\"",
                "help_text": "Type: List of `file`, example: `reads.fastq`, multiple_sep: `\";\"`. Input fastq files, either one or two (paired), separated by \";\"."
            
            }
    

        ,
                "ref": {
                "type":
                "string",
                "description": "Type: List of `file`, multiple_sep: `\";\"`. Reference FASTA files, separated by \";\"",
                "help_text": "Type: List of `file`, multiple_sep: `\";\"`. Reference FASTA files, separated by \";\". The primary reference should be specified first."
            
            }
    

        ,
                "only_build_index": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. If set, only builds the index",
                "help_text": "Type: `boolean_true`, default: `false`. If set, only builds the index. Otherwise, mapping is performed."
            ,
                "default":false
            }
    

        ,
                "build": {
                "type":
                "string",
                "description": "Type: `file`. Index to be used for mapping",
                "help_text": "Type: `file`. Index to be used for mapping. \n"
            
            }
    

        ,
                "qin": {
                "type":
                "string",
                "description": "Type: `string`. Set to 33 or 64 to specify input quality value ASCII offset",
                "help_text": "Type: `string`. Set to 33 or 64 to specify input quality value ASCII offset. Automatically detected if\nnot specified.\n"
            
            }
    

        ,
                "interleaved": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. True forces paired/interleaved input; false forces single-ended mapping",
                "help_text": "Type: `boolean_true`, default: `false`. True forces paired/interleaved input; false forces single-ended mapping.\nIf not specified, interleaved status will be autodetected from read names.\n"
            ,
                "default":false
            }
    

        ,
                "maxindel": {
                "type":
                "integer",
                "description": "Type: `integer`, example: `20`. Don\u0027t look for indels longer than this",
                "help_text": "Type: `integer`, example: `20`. Don\u0027t look for indels longer than this. Lower is faster. Set to \u003e=100k for RNA-seq.\n"
            
            }
    

        ,
                "minratio": {
                "type":
                "number",
                "description": "Type: `double`, example: `0.56`. Fraction of max alignment score required to keep a site",
                "help_text": "Type: `double`, example: `0.56`. Fraction of max alignment score required to keep a site. Higher is faster.\n"
            
            }
    

        ,
                "minhits": {
                "type":
                "integer",
                "description": "Type: `integer`, example: `1`. Minimum number of seed hits required for candidate sites",
                "help_text": "Type: `integer`, example: `1`. Minimum number of seed hits required for candidate sites. Higher is faster.\n"
            
            }
    

        ,
                "ambiguous": {
                "type":
                "string",
                "description": "Type: `string`, example: `best`, choices: ``best`, `toss`, `random`, `all``. Set behavior on ambiguously-mapped reads (with multiple top-scoring mapping locations)",
                "help_text": "Type: `string`, example: `best`, choices: ``best`, `toss`, `random`, `all``. Set behavior on ambiguously-mapped reads (with multiple top-scoring mapping locations).\n  * best    Use the first best site (Default)\n  * toss    Consider unmapped\n  * random  Select one top-scoring site randomly\n  * all     Retain all top-scoring sites.  Does not work yet with SAM output\n",
                "enum": ["best", "toss", "random", "all"]
            
            
            }
    

        ,
                "ambiguous2": {
                "type":
                "string",
                "description": "Type: `string`, example: `best`, choices: ``best`, `toss`, `all`, `split``. Set behavior only for reads that map ambiguously to multiple different references",
                "help_text": "Type: `string`, example: `best`, choices: ``best`, `toss`, `all`, `split``. Set behavior only for reads that map ambiguously to multiple different references.\nNormal \u0027ambiguous=\u0027 controls behavior on all ambiguous reads;\nAmbiguous2 excludes reads that map ambiguously within a single reference.\n  * best    Use the first best site (Default)\n  * toss    Consider unmapped\n  * all     Write a copy to the output for each reference to which it maps\n  * split   Write a copy to the AMBIGUOUS_ output for each reference to which it maps\n",
                "enum": ["best", "toss", "all", "split"]
            
            
            }
    

        ,
                "qtrim": {
                "type":
                "string",
                "description": "Type: `string`, choices: ``l`, `r`, `lr``. Quality-trim ends to Q5 before mapping",
                "help_text": "Type: `string`, choices: ``l`, `r`, `lr``. Quality-trim ends to Q5 before mapping. Options are \u0027l\u0027 (left), \u0027r\u0027 (right), and \u0027lr\u0027 (both).\n",
                "enum": ["l", "r", "lr"]
            
            
            }
    

        ,
                "untrim": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. Undo trimming after mapping",
                "help_text": "Type: `boolean_true`, default: `false`. Undo trimming after mapping. Untrimmed bases will be soft-clipped in cigar strings."
            ,
                "default":false
            }
    

}
},
    
    
    "output" : {
    "title": "Output",
    "type": "object",
    "description": "No description",
    "properties": {
    
        
                "index": {
                "type":
                "string",
                "description": "Type: `file`, default: `$id.$key.index.index`, example: `BBSplit_index`. Location to write the index",
                "help_text": "Type: `file`, default: `$id.$key.index.index`, example: `BBSplit_index`. Location to write the index.\n"
            ,
                "default":"$id.$key.index.index"
            }
    

        ,
                "fastq_1": {
                "type":
                "string",
                "description": "Type: `file`, default: `$id.$key.fastq_1.fastq`, example: `read_out1.fastq`. Output file for read 1",
                "help_text": "Type: `file`, default: `$id.$key.fastq_1.fastq`, example: `read_out1.fastq`. Output file for read 1.\n"
            ,
                "default":"$id.$key.fastq_1.fastq"
            }
    

        ,
                "fastq_2": {
                "type":
                "string",
                "description": "Type: `file`, default: `$id.$key.fastq_2.fastq`, example: `read_out2.fastq`. Output file for read 2",
                "help_text": "Type: `file`, default: `$id.$key.fastq_2.fastq`, example: `read_out2.fastq`. Output file for read 2.\n"
            ,
                "default":"$id.$key.fastq_2.fastq"
            }
    

        ,
                "sam2bam": {
                "type":
                "string",
                "description": "Type: `file`, default: `$id.$key.sam2bam.sh`, example: `script.sh`. Write a shell script to \u0027file\u0027 that will turn the sam output into a sorted, indexed bam file",
                "help_text": "Type: `file`, default: `$id.$key.sam2bam.sh`, example: `script.sh`. Write a shell script to \u0027file\u0027 that will turn the sam output into a sorted, indexed bam file.\n"
            ,
                "default":"$id.$key.sam2bam.sh"
            }
    

        ,
                "scafstats": {
                "type":
                "string",
                "description": "Type: `file`, default: `$id.$key.scafstats.txt`, example: `scaffold_stats.txt`. Write statistics on how many reads mapped to which scaffold to this file",
                "help_text": "Type: `file`, default: `$id.$key.scafstats.txt`, example: `scaffold_stats.txt`. Write statistics on how many reads mapped to which scaffold to this file.\n"
            ,
                "default":"$id.$key.scafstats.txt"
            }
    

        ,
                "refstats": {
                "type":
                "string",
                "description": "Type: `file`, default: `$id.$key.refstats.txt`, example: `reference_stats.txt`. Write statistics on how many reads were assigned to which reference to this file",
                "help_text": "Type: `file`, default: `$id.$key.refstats.txt`, example: `reference_stats.txt`. Write statistics on how many reads were assigned to which reference to this file.\nUnmapped reads whose mate mapped to a reference are considered assigned and will be counted.\n"
            ,
                "default":"$id.$key.refstats.txt"
            }
    

        ,
                "nzo": {
                "type":
                "boolean",
                "description": "Type: `boolean_true`, default: `false`. Only print lines with nonzero coverage",
                "help_text": "Type: `boolean_true`, default: `false`. Only print lines with nonzero coverage."
            ,
                "default":false
            }
    

        ,
                "bbmap_args": {
                "type":
                "string",
                "description": "Type: `string`. Additional arguments from BBMap to pass to BBSplit",
                "help_text": "Type: `string`. Additional arguments from BBMap to pass to BBSplit.\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/input"
    },

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

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