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>
426 lines
13 KiB
YAML
426 lines
13 KiB
YAML
name: "pear"
|
|
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: "--forward_fastq"
|
|
alternatives:
|
|
- "-f"
|
|
description: "Forward paired-end FASTQ file"
|
|
info: null
|
|
example:
|
|
- "forward.fastq"
|
|
must_exist: true
|
|
create_parent: true
|
|
required: true
|
|
direction: "input"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- type: "file"
|
|
name: "--reverse_fastq"
|
|
alternatives:
|
|
- "-r"
|
|
description: "Reverse paired-end FASTQ file"
|
|
info: null
|
|
example:
|
|
- "reverse.fastq"
|
|
must_exist: true
|
|
create_parent: true
|
|
required: true
|
|
direction: "input"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- name: "Outputs"
|
|
arguments:
|
|
- type: "file"
|
|
name: "--assembled"
|
|
description: "The output file containing assembled reads. Can be compressed with\
|
|
\ gzip."
|
|
info: null
|
|
must_exist: true
|
|
create_parent: true
|
|
required: true
|
|
direction: "output"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- type: "file"
|
|
name: "--unassembled_forward"
|
|
description: "The output file containing forward reads that could not be assembled.\
|
|
\ Can be compressed with gzip."
|
|
info: null
|
|
must_exist: true
|
|
create_parent: true
|
|
required: true
|
|
direction: "output"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- type: "file"
|
|
name: "--unassembled_reverse"
|
|
description: "The output file containing reverse reads that could not be assembled.\
|
|
\ Can be compressed with gzip."
|
|
info: null
|
|
must_exist: true
|
|
create_parent: true
|
|
required: true
|
|
direction: "output"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- type: "file"
|
|
name: "--discarded"
|
|
description: "The output file containing reads that were discarded due to too\
|
|
\ low quality or too many uncalled bases. Can be compressed with gzip."
|
|
info: null
|
|
must_exist: true
|
|
create_parent: true
|
|
required: true
|
|
direction: "output"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- name: "Arguments"
|
|
arguments:
|
|
- type: "double"
|
|
name: "--p_value"
|
|
alternatives:
|
|
- "-p"
|
|
description: "Specify a p-value for the statistical test. If the computed p-value\
|
|
\ of a possible assembly exceeds the specified p-value then paired-end read\
|
|
\ will not be assembled. Valid options are: 0.0001, 0.001, 0.01, 0.05 and 1.0.\
|
|
\ Setting 1.0 disables the test.\n"
|
|
info: null
|
|
example:
|
|
- 0.01
|
|
required: false
|
|
direction: "input"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- type: "integer"
|
|
name: "--min_overlap"
|
|
alternatives:
|
|
- "-v"
|
|
description: "Specify the minimum overlap size. The minimum overlap may be set\
|
|
\ to 1 when the statistical test is used. However, further restricting the minimum\
|
|
\ overlap size to a proper value may reduce false-positive assembles.\n"
|
|
info: null
|
|
example:
|
|
- 10
|
|
required: false
|
|
direction: "input"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- type: "integer"
|
|
name: "--max_assembly_length"
|
|
alternatives:
|
|
- "-m"
|
|
description: "Specify the maximum possible length of the assembled sequences.\
|
|
\ Setting this value to 0 disables the restriction and assembled sequences may\
|
|
\ be arbitrary long.\n"
|
|
info: null
|
|
example:
|
|
- 0
|
|
required: false
|
|
direction: "input"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- type: "integer"
|
|
name: "--min_assembly_length"
|
|
alternatives:
|
|
- "-n"
|
|
description: "Specify the minimum possible length of the assembled sequences.\
|
|
\ Setting this value to 0 disables the restriction and assembled sequences may\
|
|
\ be arbitrary short.\n"
|
|
info: null
|
|
example:
|
|
- 0
|
|
required: false
|
|
direction: "input"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- type: "integer"
|
|
name: "--min_trim_length"
|
|
alternatives:
|
|
- "-t"
|
|
description: "Specify the minimum length of reads after trimming the low quality\
|
|
\ part (see option -q)\n"
|
|
info: null
|
|
example:
|
|
- 1
|
|
required: false
|
|
direction: "input"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- type: "integer"
|
|
name: "--quality_threshold"
|
|
alternatives:
|
|
- "-q"
|
|
description: "Specify the quality threshold for trimming the low quality part\
|
|
\ of a read. If the quality scores of two consecutive bases are strictly less\
|
|
\ than the specified threshold, the rest of the read will be trimmed.\n"
|
|
info: null
|
|
example:
|
|
- 0
|
|
required: false
|
|
direction: "input"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- type: "double"
|
|
name: "--max_uncalled_base"
|
|
alternatives:
|
|
- "-u"
|
|
description: "Specify the maximal proportion of uncalled bases in a read. Setting\
|
|
\ this value to 0 will cause PEAR to discard all reads containing uncalled bases.\
|
|
\ The other extreme setting is 1 which causes PEAR to process all reads independent\
|
|
\ on the number of uncalled bases.\n"
|
|
info: null
|
|
example:
|
|
- 1.0
|
|
required: false
|
|
direction: "input"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- type: "integer"
|
|
name: "--test_method"
|
|
alternatives:
|
|
- "-g"
|
|
description: "Specify the type of statistical test. Two options are available.\
|
|
\ 1: Given the minimum allowed overlap, test using the highest OES. Note that\
|
|
\ due to its discrete nature, this test usually yields a lower p-value for the\
|
|
\ assembled read than the cut- off (specified by -p). For example, setting the\
|
|
\ cut-off to 0.05 using this test, the assembled reads might have an actual\
|
|
\ p-value of 0.02.\n2. Use the acceptance probability (m.a.p). This test methods\
|
|
\ computes the same probability as test method 1. However, it assumes that the\
|
|
\ minimal overlap is the observed overlap with the highest OES, instead of the\
|
|
\ one specified by -v. Therefore, this is not a valid statistical test and the\
|
|
\ 'p-value' is in fact the maximal probability for accepting the assembly. Nevertheless,\
|
|
\ we observed in practice that for the case the actual overlap sizes are relatively\
|
|
\ small, test 2 can correctly assemble more reads with only slightly higher\
|
|
\ false-positive rate.\n"
|
|
info: null
|
|
example:
|
|
- 1
|
|
required: false
|
|
direction: "input"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- type: "boolean_true"
|
|
name: "--emperical_freqs"
|
|
alternatives:
|
|
- "-e"
|
|
description: "Disable empirical base frequencies.\n"
|
|
info: null
|
|
direction: "input"
|
|
- type: "integer"
|
|
name: "--score_method"
|
|
alternatives:
|
|
- "-s"
|
|
description: "Specify the scoring method. 1. OES with +1 for match and -1 for\
|
|
\ mismatch. 2: Assembly score (AS). Use +1 for match and -1 for mismatch multiplied\
|
|
\ by base quality scores. 3: Ignore quality scores and use +1 for a match and\
|
|
\ -1 for a mismatch.\n"
|
|
info: null
|
|
example:
|
|
- 2
|
|
required: false
|
|
direction: "input"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- type: "integer"
|
|
name: "--phred_base"
|
|
alternatives:
|
|
- "-b"
|
|
description: "Base PHRED quality score.\n"
|
|
info: null
|
|
example:
|
|
- 33
|
|
required: false
|
|
direction: "input"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- type: "integer"
|
|
name: "--cap"
|
|
alternatives:
|
|
- "-c"
|
|
description: "Specify the upper bound for the resulting quality score. If set\
|
|
\ to zero, capping is disabled.\n"
|
|
info: null
|
|
example:
|
|
- 40
|
|
required: false
|
|
direction: "input"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- type: "boolean_true"
|
|
name: "--nbase"
|
|
alternatives:
|
|
- "-z"
|
|
description: "When merging a base-pair that consists of two non-equal bases out\
|
|
\ of which none is degenerate, set the merged base to N and use the highest\
|
|
\ quality score of the two bases\n"
|
|
info: null
|
|
direction: "input"
|
|
resources:
|
|
- type: "bash_script"
|
|
path: "script.sh"
|
|
is_executable: true
|
|
description: "PEAR is an ultrafast, memory-efficient and highly accurate pair-end\
|
|
\ read merger. It is fully parallelized and can run with as low as just a few kilobytes\
|
|
\ of memory.\n\nPEAR evaluates all possible paired-end read overlaps and without\
|
|
\ requiring the target fragment size as input. In addition, it implements a statistical\
|
|
\ test for minimizing false-positive results. Together with a highly optimized implementation,\
|
|
\ it can merge millions of paired end reads within a couple of minutes on a standard\
|
|
\ desktop computer.\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:
|
|
- "pair-end"
|
|
- "read"
|
|
- "merge"
|
|
license: "CC-BY-NC-SA-3.0"
|
|
references:
|
|
doi:
|
|
- "10.1093/bioinformatics/btt593"
|
|
links:
|
|
repository: "https://github.com/tseemann/PEAR"
|
|
homepage: "https://cme.h-its.org/exelixis/web/software/pear"
|
|
documentation: "https://cme.h-its.org/exelixis/web/software/pear/doc.html"
|
|
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/pear:0.9.6--h9d449c0_10"
|
|
target_registry: "images.viash-hub.com"
|
|
target_tag: "main"
|
|
namespace_separator: "/"
|
|
setup:
|
|
- type: "docker"
|
|
run:
|
|
- "version=$(pear -h | grep 'PEAR v' | sed 's/PEAR v//' | sed 's/ .*//') && \\\
|
|
\necho \"pear: $version\" > /var/software_versions.txt\n"
|
|
entrypoint: []
|
|
cmd: null
|
|
- type: "native"
|
|
id: "native"
|
|
build_info:
|
|
config: "src/pear/config.vsh.yaml"
|
|
runner: "executable"
|
|
engine: "docker|native"
|
|
output: "target/executable/pear"
|
|
executable: "target/executable/pear/pear"
|
|
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"
|