Files
biobox/target/executable/pear/.config.vsh.yaml
CI 6f2f840fd9 Build branch main with version main (7f8bcc2)
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>
2024-09-17 10:13:18 +00:00

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"