Build pipeline: viash-hub.biobox.main-8bbc7
Source commit: b3fcd52f20
Source message: Fix multiple components (#162)
* output index when only_build_index is true
* fix threads option
* fix argument type and add log
* fix output handling
* fix output arguments and update docker image
* fix log2stderr argument and remove discard reads option
* remove echo
* update bbsplit build index test
* add workdir
* apply suggestions from code review
* accept more than two reference files
* update changelog
* update changelog
* remove indentation
* minor fixes
* fix descriptions
---------
Co-authored-by: Robrecht Cannoodt <rcannood@gmail.com>
322 lines
14 KiB
JSON
322 lines
14 KiB
JSON
{
|
|
"$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"
|
|
}
|
|
]
|
|
}
|