{
"$schema": "http://json-schema.org/draft-07/schema",
"title": "bcl_convert",
"description": "Convert bcl files to fastq files using bcl-convert.\nInformation about upgrading from bcl2fastq via\n[Upgrading from bcl2fastq to BCL Convert](https://emea.support.illumina.com/bulletins/2020/10/upgrading-from-bcl2fastq-to-bcl-convert.html)\nand [BCL Convert Compatible Products](https://support.illumina.com/sequencing/sequencing_software/bcl-convert/compatibility.html)\n",
"type": "object",
"definitions": {

    
    
    "input arguments" : {
    "title": "Input arguments",
    "type": "object",
    "description": "No description",
    "properties": {
    
        
                "bcl_input_directory": {
                "type":
                "string",
                "description": "Type: `file`, required, example: `bcl_dir`. Input run directory",
                "help_text": "Type: `file`, required, example: `bcl_dir`. Input run directory"
            
            }
    

        ,
                "sample_sheet": {
                "type":
                "string",
                "description": "Type: `file`, example: `bcl_dir/sample_sheet.csv`. Path to SampleSheet",
                "help_text": "Type: `file`, example: `bcl_dir/sample_sheet.csv`. Path to SampleSheet.csv file (default searched for in --bcl_input_directory)"
            
            }
    

        ,
                "run_info": {
                "type":
                "string",
                "description": "Type: `file`, example: `bcl_dir/RunInfo.xml`. Path to RunInfo",
                "help_text": "Type: `file`, example: `bcl_dir/RunInfo.xml`. Path to RunInfo.xml file (default root of BCL input directory)"
            
            }
    

}
},
    
    
    "lane and tile settings" : {
    "title": "Lane and tile settings",
    "type": "object",
    "description": "No description",
    "properties": {
    
        
                "bcl_only_lane": {
                "type":
                "integer",
                "description": "Type: `integer`, example: `1`. Convert only specified lane number (default all lanes)",
                "help_text": "Type: `integer`, example: `1`. Convert only specified lane number (default all lanes)"
            
            }
    

        ,
                "first_tile_only": {
                "type":
                "boolean",
                "description": "Type: `boolean`, example: `true`. Only convert first tile of input (for testing \u0026 debugging)",
                "help_text": "Type: `boolean`, example: `true`. Only convert first tile of input (for testing \u0026 debugging)"
            
            }
    

        ,
                "tiles": {
                "type":
                "string",
                "description": "Type: `string`, example: `s_[0-9]+_1`. Process only a subset of tiles by a regular expression",
                "help_text": "Type: `string`, example: `s_[0-9]+_1`. Process only a subset of tiles by a regular expression"
            
            }
    

        ,
                "exclude_tiles": {
                "type":
                "string",
                "description": "Type: `string`, example: `s_[0-9]+_1`. Exclude set of tiles by a regular expression",
                "help_text": "Type: `string`, example: `s_[0-9]+_1`. Exclude set of tiles by a regular expression"
            
            }
    

}
},
    
    
    "resource arguments" : {
    "title": "Resource arguments",
    "type": "object",
    "description": "No description",
    "properties": {
    
        
                "shared_thread_odirect_output": {
                "type":
                "boolean",
                "description": "Type: `boolean`, example: `true`. Use linux native asynchronous io (io_submit) for file output (Default=false)",
                "help_text": "Type: `boolean`, example: `true`. Use linux native asynchronous io (io_submit) for file output (Default=false)"
            
            }
    

        ,
                "bcl_num_parallel_tiles": {
                "type":
                "integer",
                "description": "Type: `integer`, example: `1`. \\# of tiles to process in parallel (default 1)",
                "help_text": "Type: `integer`, example: `1`. \\# of tiles to process in parallel (default 1)"
            
            }
    

        ,
                "bcl_num_conversion_threads": {
                "type":
                "integer",
                "description": "Type: `integer`, example: `1`. \\# of threads for conversion (per tile, default # cpu threads)",
                "help_text": "Type: `integer`, example: `1`. \\# of threads for conversion (per tile, default # cpu threads)"
            
            }
    

        ,
                "bcl_num_compression_threads": {
                "type":
                "integer",
                "description": "Type: `integer`, example: `1`. \\# of threads for fastq",
                "help_text": "Type: `integer`, example: `1`. \\# of threads for fastq.gz output compression (per tile, default # cpu threads, or HW+12)"
            
            }
    

        ,
                "bcl_num_decompression_threads": {
                "type":
                "integer",
                "description": "Type: `integer`, example: `1`. \\# of threads for bcl/cbcl input decompression (per tile, default half # cpu threads, or HW+8)",
                "help_text": "Type: `integer`, example: `1`. \\# of threads for bcl/cbcl input decompression (per tile, default half # cpu threads, or HW+8). Only applies when preloading files"
            
            }
    

}
},
    
    
    "run arguments" : {
    "title": "Run arguments",
    "type": "object",
    "description": "No description",
    "properties": {
    
        
                "bcl_only_matched_reads": {
                "type":
                "boolean",
                "description": "Type: `boolean`, example: `true`. For pure BCL conversion, do not output files for \u0027Undetermined\u0027 [unmatched] reads (output by default)",
                "help_text": "Type: `boolean`, example: `true`. For pure BCL conversion, do not output files for \u0027Undetermined\u0027 [unmatched] reads (output by default)"
            
            }
    

        ,
                "no_lane_splitting": {
                "type":
                "boolean",
                "description": "Type: `boolean`, example: `true`. Do not split FASTQ file by lane (false by default)",
                "help_text": "Type: `boolean`, example: `true`. Do not split FASTQ file by lane (false by default)"
            
            }
    

        ,
                "num_unknown_barcodes_reported": {
                "type":
                "integer",
                "description": "Type: `integer`, example: `1000`. \\# of Top Unknown Barcodes to output (1000 by default)",
                "help_text": "Type: `integer`, example: `1000`. \\# of Top Unknown Barcodes to output (1000 by default)"
            
            }
    

        ,
                "bcl_validate_sample_sheet_only": {
                "type":
                "boolean",
                "description": "Type: `boolean`, example: `true`. Only validate RunInfo",
                "help_text": "Type: `boolean`, example: `true`. Only validate RunInfo.xml \u0026 SampleSheet files (produce no FASTQ files)"
            
            }
    

        ,
                "strict_mode": {
                "type":
                "boolean",
                "description": "Type: `boolean`, example: `true`. Abort if any files are missing (false by default)",
                "help_text": "Type: `boolean`, example: `true`. Abort if any files are missing (false by default)"
            
            }
    

        ,
                "sample_name_column_enabled": {
                "type":
                "boolean",
                "description": "Type: `boolean`, example: `true`. Use sample sheet \u0027Sample_Name\u0027 column when naming fastq files \u0026 subdirectories",
                "help_text": "Type: `boolean`, example: `true`. Use sample sheet \u0027Sample_Name\u0027 column when naming fastq files \u0026 subdirectories"
            
            }
    

}
},
    
    
    "output arguments" : {
    "title": "Output arguments",
    "type": "object",
    "description": "No description",
    "properties": {
    
        
                "output_directory": {
                "type":
                "string",
                "description": "Type: `file`, required, default: `$id.$key.output_directory.output_directory`, example: `fastq_dir`. Output directory containig fastq files",
                "help_text": "Type: `file`, required, default: `$id.$key.output_directory.output_directory`, example: `fastq_dir`. Output directory containig fastq files"
            ,
                "default": "$id.$key.output_directory.output_directory"
            }
    

        ,
                "bcl_sampleproject_subdirectories": {
                "type":
                "boolean",
                "description": "Type: `boolean`, example: `true`. Output to subdirectories based upon sample sheet \u0027Sample_Project\u0027 column",
                "help_text": "Type: `boolean`, example: `true`. Output to subdirectories based upon sample sheet \u0027Sample_Project\u0027 column"
            
            }
    

        ,
                "fastq_gzip_compression_level": {
                "type":
                "integer",
                "description": "Type: `integer`, example: `1`. Set fastq output compression level 0-9 (default 1)",
                "help_text": "Type: `integer`, example: `1`. Set fastq output compression level 0-9 (default 1)"
            
            }
    

        ,
                "reports": {
                "type":
                "string",
                "description": "Type: `file`, default: `$id.$key.reports.reports`, example: `reports_dir`. Reports directory",
                "help_text": "Type: `file`, default: `$id.$key.reports.reports`, example: `reports_dir`. Reports directory"
            ,
                "default": "$id.$key.reports.reports"
            }
    

        ,
                "logs": {
                "type":
                "string",
                "description": "Type: `file`, default: `$id.$key.logs.logs`, example: `logs_dir`. Reports directory",
                "help_text": "Type: `file`, default: `$id.$key.logs.logs`, example: `logs_dir`. Reports directory"
            ,
                "default": "$id.$key.logs.logs"
            }
    

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

    {
    "$ref": "#/definitions/lane and tile settings"
    },

    {
    "$ref": "#/definitions/resource arguments"
    },

    {
    "$ref": "#/definitions/run arguments"
    },

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

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