Build pipeline: viash-hub.biobox.main-zp6tq
Source commit: 7f8bcc2b3e
Source message: BD rhapsody sequence analysis (#96)
* wip
* fix test
* add help
* update 2.2 args
* fix bug
* extend test data
* output separate files
* analyse missing args
* tweaks to test
* fix script
* fix test
* fix test
* move small reference
* wip generate wta test data
* don't forget about umi in r1
* remove unneeded pkg
* load reference in memory just once
* fix random choices
* extend test
* add abc immunediscoverypanel
* wip abc testing code
* fix abc test; need unique instrument, run and flowcell ids for each sample
* add smk data
* add entry to changelog
* remove old test file
* adapt test for missing read
* update description
* add comment
* ensure cwl files are absolute
* Apply suggestions from code review
Co-authored-by: Dries Schaumont <5946712+DriesSchaumont@users.noreply.github.com>
* fix suggestion
* newer pipelines have docker requirements as a hint instead of a strict requirement
* rename str to content
* remove deleted resources
* fix containers
* fix script
* fix suggestion
* fix suggestion...
* fix test
* fix component name
* fix test
* apply suggestions
* fix test
* added note
* fix changelog
* fix changelog again
* splitting hairs here
---------
Co-authored-by: Dries Schaumont <5946712+DriesSchaumont@users.noreply.github.com>
535 lines
15 KiB
YAML
535 lines
15 KiB
YAML
name: "lofreq_call"
|
|
namespace: "lofreq"
|
|
version: "main"
|
|
authors:
|
|
- name: "Kai Waldrant"
|
|
roles:
|
|
- "author"
|
|
- "maintainer"
|
|
info:
|
|
links:
|
|
email: "kai@data-intuitive.com"
|
|
github: "KaiWaldrant"
|
|
orcid: "0009-0003-8555-1361"
|
|
linkedin: "kaiwaldrant"
|
|
organizations:
|
|
- name: "Data Intuitive"
|
|
href: "https://www.data-intuitive.com"
|
|
role: "Bioinformatician"
|
|
- name: "Open Problems"
|
|
href: "https://openproblems.bio"
|
|
role: "Contributor"
|
|
argument_groups:
|
|
- name: "Inputs"
|
|
arguments:
|
|
- type: "file"
|
|
name: "--input"
|
|
description: "Input BAM file.\n"
|
|
info: null
|
|
example:
|
|
- "normal.bam"
|
|
must_exist: true
|
|
create_parent: true
|
|
required: true
|
|
direction: "input"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- type: "file"
|
|
name: "--input_bai"
|
|
description: "Index file for the input BAM file.\n"
|
|
info: null
|
|
example:
|
|
- "normal.bai"
|
|
must_exist: true
|
|
create_parent: true
|
|
required: true
|
|
direction: "input"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- type: "file"
|
|
name: "--ref"
|
|
alternatives:
|
|
- "-f"
|
|
description: "Indexed reference fasta file (gzip supported). Default: none.\n"
|
|
info: null
|
|
example:
|
|
- "reference.fasta"
|
|
must_exist: true
|
|
create_parent: true
|
|
required: true
|
|
direction: "input"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- name: "Outputs"
|
|
arguments:
|
|
- type: "file"
|
|
name: "--out"
|
|
alternatives:
|
|
- "-o"
|
|
description: "Vcf output file. Default: stdout.\n"
|
|
info: null
|
|
example:
|
|
- "output.vcf"
|
|
must_exist: true
|
|
create_parent: true
|
|
required: true
|
|
direction: "output"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- name: "Arguments"
|
|
arguments:
|
|
- type: "string"
|
|
name: "--region"
|
|
alternatives:
|
|
- "-r"
|
|
description: "Limit calls to this region (chrom:start-end). Default: none.\n"
|
|
info: null
|
|
example:
|
|
- "chr1:1000-2000"
|
|
required: false
|
|
direction: "input"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- type: "file"
|
|
name: "--bed"
|
|
alternatives:
|
|
- "-l"
|
|
description: "List of positions (chr pos) or regions (BED). Default: none.\n"
|
|
info: null
|
|
example:
|
|
- "regions.bed"
|
|
must_exist: true
|
|
create_parent: true
|
|
required: false
|
|
direction: "input"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- type: "integer"
|
|
name: "--min_bq"
|
|
alternatives:
|
|
- "-q"
|
|
description: "Skip any base with baseQ smaller than INT. Default: 6.\n"
|
|
info: null
|
|
example:
|
|
- 6
|
|
required: false
|
|
direction: "input"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- type: "integer"
|
|
name: "--min_alt_bq"
|
|
alternatives:
|
|
- "-Q"
|
|
description: "Skip alternate bases with baseQ smaller than INT. Default: 6.\n"
|
|
info: null
|
|
example:
|
|
- 6
|
|
required: false
|
|
direction: "input"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- type: "integer"
|
|
name: "--def_alt_bq"
|
|
alternatives:
|
|
- "-R"
|
|
description: "Overwrite baseQs of alternate bases (that passed bq filter) with\
|
|
\ this value (-1: use median ref-bq; 0: keep). Default: 0.\n"
|
|
info: null
|
|
example:
|
|
- 0
|
|
required: false
|
|
direction: "input"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- type: "integer"
|
|
name: "--min_jq"
|
|
alternatives:
|
|
- "-j"
|
|
description: "Skip any base with joinedQ smaller than INT. Default: 0.\n"
|
|
info: null
|
|
example:
|
|
- 0
|
|
required: false
|
|
direction: "input"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- type: "integer"
|
|
name: "--min_alt_jq"
|
|
alternatives:
|
|
- "-J"
|
|
description: "Skip alternate bases with joinedQ smaller than INT. Default: 0.\n"
|
|
info: null
|
|
example:
|
|
- 0
|
|
required: false
|
|
direction: "input"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- type: "integer"
|
|
name: "--def_alt_jq"
|
|
alternatives:
|
|
- "-K"
|
|
description: "Overwrite joinedQs of alternate bases (that passed jq filter) with\
|
|
\ this value (-1: use median ref-bq; 0: keep). Default: 0.\n"
|
|
info: null
|
|
example:
|
|
- 0
|
|
required: false
|
|
direction: "input"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- type: "boolean_true"
|
|
name: "--no_baq"
|
|
alternatives:
|
|
- "-B"
|
|
description: "Disable use of base-alignment quality (BAQ).\n"
|
|
info: null
|
|
direction: "input"
|
|
- type: "boolean_true"
|
|
name: "--no_idaq"
|
|
alternatives:
|
|
- "-A"
|
|
description: "Don't use IDAQ values (NOT recommended under ANY circumstances other\
|
|
\ than debugging).\n"
|
|
info: null
|
|
direction: "input"
|
|
- type: "boolean_true"
|
|
name: "--del_baq"
|
|
alternatives:
|
|
- "-D"
|
|
description: "Delete pre-existing BAQ values, i.e. compute even if already present\
|
|
\ in BAM.\n"
|
|
info: null
|
|
direction: "input"
|
|
- type: "boolean_true"
|
|
name: "--no_ext_baq"
|
|
alternatives:
|
|
- "-e"
|
|
description: "Use 'normal' BAQ (samtools default) instead of extended BAQ (both\
|
|
\ computed on the fly if not already present in lb tag).\n"
|
|
info: null
|
|
direction: "input"
|
|
- type: "integer"
|
|
name: "--min_mq"
|
|
alternatives:
|
|
- "-m"
|
|
description: "Skip reads with mapping quality smaller than INT. Default: 0.\n"
|
|
info: null
|
|
example:
|
|
- 0
|
|
required: false
|
|
direction: "input"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- type: "integer"
|
|
name: "--max_mq"
|
|
alternatives:
|
|
- "-M"
|
|
description: "Cap mapping quality at INT. Default: 255.\n"
|
|
info: null
|
|
example:
|
|
- 255
|
|
required: false
|
|
direction: "input"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- type: "boolean_true"
|
|
name: "--no_mq"
|
|
alternatives:
|
|
- "-N"
|
|
description: "Don't merge mapping quality in LoFreq's model.\n"
|
|
info: null
|
|
direction: "input"
|
|
- type: "boolean_true"
|
|
name: "--call_indels"
|
|
description: "Enable indel calls (note: preprocess your file to include indel\
|
|
\ alignment qualities!).\n"
|
|
info: null
|
|
direction: "input"
|
|
- type: "boolean_true"
|
|
name: "--only_indels"
|
|
description: "Only call indels; no SNVs.\n"
|
|
info: null
|
|
direction: "input"
|
|
- type: "boolean_true"
|
|
name: "--src_qual"
|
|
alternatives:
|
|
- "-s"
|
|
description: "Enable computation of source quality.\n"
|
|
info: null
|
|
direction: "input"
|
|
- type: "file"
|
|
name: "--ign_vcf"
|
|
alternatives:
|
|
- "-S"
|
|
description: "Ignore variants in this vcf file for source quality computation.\
|
|
\ Multiple files can be given separated by commas.\n"
|
|
info: null
|
|
example:
|
|
- "variants.vcf"
|
|
must_exist: true
|
|
create_parent: true
|
|
required: false
|
|
direction: "input"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- type: "integer"
|
|
name: "--def_nm_q"
|
|
alternatives:
|
|
- "-T"
|
|
description: "If >= 0, then replace non-match base qualities with this default\
|
|
\ value. Default: -1.\n"
|
|
info: null
|
|
example:
|
|
- -1
|
|
required: false
|
|
direction: "input"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- type: "double"
|
|
name: "--sig"
|
|
alternatives:
|
|
- "-a"
|
|
description: "P-Value cutoff / significance level. Default: 0.010000.\n"
|
|
info: null
|
|
example:
|
|
- 0.01
|
|
required: false
|
|
direction: "input"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- type: "string"
|
|
name: "--bonf"
|
|
alternatives:
|
|
- "-b"
|
|
description: "Bonferroni factor. 'dynamic' (increase per actually performed test)\
|
|
\ or INT. Default: Dynamic.\n"
|
|
info: null
|
|
example:
|
|
- "dynamic"
|
|
required: false
|
|
direction: "input"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- type: "integer"
|
|
name: "--min_cov"
|
|
alternatives:
|
|
- "-C"
|
|
description: "Test only positions having at least this coverage. Default: 1.\n\
|
|
(note: without --no-default-filter default filters (incl. coverage) kick in\
|
|
\ after predictions are done).\n"
|
|
info: null
|
|
example:
|
|
- 1
|
|
required: false
|
|
direction: "input"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- type: "integer"
|
|
name: "--max_depth"
|
|
alternatives:
|
|
- "-d"
|
|
description: "Cap coverage at this depth. Default: 1000000.\n"
|
|
info: null
|
|
example:
|
|
- 1000000
|
|
required: false
|
|
direction: "input"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- type: "boolean_true"
|
|
name: "--illumina_13"
|
|
description: "Assume the quality is Illumina-1.3-1.7/ASCII+64 encoded.\n"
|
|
info: null
|
|
direction: "input"
|
|
- type: "boolean_true"
|
|
name: "--use_orphan"
|
|
description: "Count anomalous read pairs (i.e. where mate is not aligned properly).\n"
|
|
info: null
|
|
direction: "input"
|
|
- type: "boolean_true"
|
|
name: "--plp_summary_only"
|
|
description: "No variant calling. Just output pileup summary per column.\n"
|
|
info: null
|
|
direction: "input"
|
|
- type: "boolean_true"
|
|
name: "--no_default_filter"
|
|
description: "Don't run default 'lofreq filter' automatically after calling variants.\n"
|
|
info: null
|
|
direction: "input"
|
|
- type: "boolean_true"
|
|
name: "--force_overwrite"
|
|
description: "Overwrite any existing output.\n"
|
|
info: null
|
|
direction: "input"
|
|
- type: "boolean_true"
|
|
name: "--verbose"
|
|
description: "Be verbose.\n"
|
|
info: null
|
|
direction: "input"
|
|
- type: "boolean_true"
|
|
name: "--debug"
|
|
description: "Enable debugging.\n"
|
|
info: null
|
|
direction: "input"
|
|
resources:
|
|
- type: "bash_script"
|
|
path: "script.sh"
|
|
is_executable: true
|
|
description: "Call variants from a BAM file.\n\nLoFreq* (i.e. LoFreq version 2) is\
|
|
\ a fast and sensitive variant-caller for inferring SNVs and indels from next-generation\
|
|
\ sequencing data. It makes full use of base-call qualities and other sources of\
|
|
\ errors inherent in sequencing (e.g. mapping or base/indel alignment uncertainty),\
|
|
\ which are usually ignored by other methods or only used for filtering.\n\nLoFreq*\
|
|
\ can run on almost any type of aligned sequencing data (e.g. Illumina, IonTorrent\
|
|
\ or Pacbio) since no machine- or sequencing-technology dependent thresholds are\
|
|
\ used. It automatically adapts to changes in coverage and sequencing quality and\
|
|
\ can therefore be applied to a variety of data-sets e.g. viral/quasispecies, bacterial,\
|
|
\ metagenomics or somatic data.\n\nLoFreq* is very sensitive; most notably, it is\
|
|
\ able to predict variants below the average base-call quality (i.e. sequencing\
|
|
\ error rate). Each variant call is assigned a p-value which allows for rigorous\
|
|
\ false positive control. Even though it uses no approximations or heuristics, it\
|
|
\ is very efficient due to several runtime optimizations and also provides a (pseudo-)parallel\
|
|
\ implementation. LoFreq* is generic and fast enough to be applied to high-coverage\
|
|
\ data and large genomes. On a single processor it takes a minute to analyze Dengue\
|
|
\ genome sequencing data with nearly 4000X coverage, roughly one hour to call SNVs\
|
|
\ on a 600X coverage E.coli genome and also roughly an hour to run on a 100X coverage\
|
|
\ human exome dataset.\n"
|
|
test_resources:
|
|
- type: "bash_script"
|
|
path: "test.sh"
|
|
is_executable: true
|
|
- type: "file"
|
|
path: "test_data"
|
|
info: null
|
|
status: "enabled"
|
|
requirements:
|
|
commands:
|
|
- "ps"
|
|
keywords:
|
|
- "variant calling"
|
|
- "low frequancy variant calling"
|
|
- "lofreq"
|
|
- "lofreq/call"
|
|
license: "MIT"
|
|
references:
|
|
doi:
|
|
- "10.1093/nar/gks918"
|
|
links:
|
|
repository: "https://github.com/viash-hub/biobox"
|
|
homepage: "https://csb5.github.io/lofreq/"
|
|
documentation: "https://csb5.github.io/lofreq/commands/"
|
|
runners:
|
|
- type: "executable"
|
|
id: "executable"
|
|
docker_setup_strategy: "ifneedbepullelsecachedbuild"
|
|
- type: "nextflow"
|
|
id: "nextflow"
|
|
directives:
|
|
tag: "$id"
|
|
auto:
|
|
simplifyInput: true
|
|
simplifyOutput: false
|
|
transcript: false
|
|
publish: false
|
|
config:
|
|
labels:
|
|
mem1gb: "memory = 1000000000.B"
|
|
mem2gb: "memory = 2000000000.B"
|
|
mem5gb: "memory = 5000000000.B"
|
|
mem10gb: "memory = 10000000000.B"
|
|
mem20gb: "memory = 20000000000.B"
|
|
mem50gb: "memory = 50000000000.B"
|
|
mem100gb: "memory = 100000000000.B"
|
|
mem200gb: "memory = 200000000000.B"
|
|
mem500gb: "memory = 500000000000.B"
|
|
mem1tb: "memory = 1000000000000.B"
|
|
mem2tb: "memory = 2000000000000.B"
|
|
mem5tb: "memory = 5000000000000.B"
|
|
mem10tb: "memory = 10000000000000.B"
|
|
mem20tb: "memory = 20000000000000.B"
|
|
mem50tb: "memory = 50000000000000.B"
|
|
mem100tb: "memory = 100000000000000.B"
|
|
mem200tb: "memory = 200000000000000.B"
|
|
mem500tb: "memory = 500000000000000.B"
|
|
mem1gib: "memory = 1073741824.B"
|
|
mem2gib: "memory = 2147483648.B"
|
|
mem4gib: "memory = 4294967296.B"
|
|
mem8gib: "memory = 8589934592.B"
|
|
mem16gib: "memory = 17179869184.B"
|
|
mem32gib: "memory = 34359738368.B"
|
|
mem64gib: "memory = 68719476736.B"
|
|
mem128gib: "memory = 137438953472.B"
|
|
mem256gib: "memory = 274877906944.B"
|
|
mem512gib: "memory = 549755813888.B"
|
|
mem1tib: "memory = 1099511627776.B"
|
|
mem2tib: "memory = 2199023255552.B"
|
|
mem4tib: "memory = 4398046511104.B"
|
|
mem8tib: "memory = 8796093022208.B"
|
|
mem16tib: "memory = 17592186044416.B"
|
|
mem32tib: "memory = 35184372088832.B"
|
|
mem64tib: "memory = 70368744177664.B"
|
|
mem128tib: "memory = 140737488355328.B"
|
|
mem256tib: "memory = 281474976710656.B"
|
|
mem512tib: "memory = 562949953421312.B"
|
|
cpu1: "cpus = 1"
|
|
cpu2: "cpus = 2"
|
|
cpu5: "cpus = 5"
|
|
cpu10: "cpus = 10"
|
|
cpu20: "cpus = 20"
|
|
cpu50: "cpus = 50"
|
|
cpu100: "cpus = 100"
|
|
cpu200: "cpus = 200"
|
|
cpu500: "cpus = 500"
|
|
cpu1000: "cpus = 1000"
|
|
debug: false
|
|
container: "docker"
|
|
engines:
|
|
- type: "docker"
|
|
id: "docker"
|
|
image: "quay.io/biocontainers/lofreq:2.1.5--py38h794fc9e_10"
|
|
target_registry: "images.viash-hub.com"
|
|
target_tag: "main"
|
|
namespace_separator: "/"
|
|
setup:
|
|
- type: "docker"
|
|
run:
|
|
- "version=$(lofreq version | grep 'version' | sed 's/version: //') && \\\necho\
|
|
\ \"lofreq: $version\" > /var/software_versions.txt\n"
|
|
entrypoint: []
|
|
cmd: null
|
|
- type: "native"
|
|
id: "native"
|
|
build_info:
|
|
config: "src/lofreq/call/config.vsh.yaml"
|
|
runner: "executable"
|
|
engine: "docker|native"
|
|
output: "target/executable/lofreq/lofreq_call"
|
|
executable: "target/executable/lofreq/lofreq_call/lofreq_call"
|
|
viash_version: "0.9.0"
|
|
git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1"
|
|
git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox"
|
|
git_tag: "v0.2.0-3-g7f8bcc2"
|
|
package_config:
|
|
name: "biobox"
|
|
version: "main"
|
|
description: "A collection of bioinformatics tools for working with sequence data.\n"
|
|
info: null
|
|
viash_version: "0.9.0"
|
|
source: "src"
|
|
target: "target"
|
|
config_mods:
|
|
- ".requirements.commands := ['ps']\n"
|
|
- ".engines += { type: \"native\" }"
|
|
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
|
|
- ".engines[.type == 'docker'].target_tag := 'main'"
|
|
keywords:
|
|
- "bioinformatics"
|
|
- "modules"
|
|
- "sequencing"
|
|
license: "MIT"
|
|
organization: "vsh"
|
|
links:
|
|
repository: "https://github.com/viash-hub/biobox"
|
|
issue_tracker: "https://github.com/viash-hub/biobox/issues"
|