Build pipeline: viash-hub.biobox.v0.4.x-8mmrs
Source commit: 666507c86d
Source message: Merge remote-tracking branch 'origin/main' into v0.4.x
400 lines
13 KiB
YAML
400 lines
13 KiB
YAML
name: "bedtools_coverage"
|
|
namespace: "bedtools"
|
|
version: "v0.4.0"
|
|
authors:
|
|
- name: "Robrecht Cannoodt"
|
|
roles:
|
|
- "author"
|
|
- "maintainer"
|
|
info:
|
|
links:
|
|
email: "robrecht@data-intuitive.com"
|
|
github: "rcannood"
|
|
orcid: "0000-0003-3641-729X"
|
|
linkedin: "robrechtcannoodt"
|
|
organizations:
|
|
- name: "Data Intuitive"
|
|
href: "https://www.data-intuitive.com"
|
|
role: "Data Science Engineer"
|
|
- name: "Open Problems"
|
|
href: "https://openproblems.bio"
|
|
role: "Core Member"
|
|
argument_groups:
|
|
- name: "Inputs"
|
|
arguments:
|
|
- type: "file"
|
|
name: "--input_a"
|
|
alternatives:
|
|
- "-a"
|
|
description: "Query intervals file in BED, GFF, or VCF format.\n\n**Purpose:**\
|
|
\ Intervals for which coverage will be calculated\n**BED format:** Standard\
|
|
\ genomic interval format\n**GFF format:** Gene feature format with annotations\n\
|
|
**VCF format:** Variant call format\n"
|
|
info: null
|
|
example:
|
|
- "target_regions.bed"
|
|
must_exist: true
|
|
create_parent: true
|
|
required: true
|
|
direction: "input"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- type: "file"
|
|
name: "--input_b"
|
|
alternatives:
|
|
- "-b"
|
|
description: "Coverage source file(s) in BED, GFF, VCF, or BAM format.\n\n**Purpose:**\
|
|
\ Features that provide coverage over query intervals\n**Multiple files:** Can\
|
|
\ specify multiple coverage sources\n**BAM support:** Binary alignment files\
|
|
\ for sequencing coverage\n"
|
|
info: null
|
|
example:
|
|
- "alignments.bam"
|
|
- "features.bed"
|
|
must_exist: true
|
|
create_parent: true
|
|
required: true
|
|
direction: "input"
|
|
multiple: true
|
|
multiple_sep: ";"
|
|
- name: "Outputs"
|
|
arguments:
|
|
- type: "file"
|
|
name: "--output"
|
|
description: "Output file with coverage statistics.\n\n**Default output:** For\
|
|
\ each interval in A, reports:\n1. Number of overlapping features from B\n2.\
|
|
\ Number of bases in A with non-zero coverage\n3. Length of interval in A\n\
|
|
4. Fraction of bases in A with non-zero coverage\n"
|
|
info: null
|
|
example:
|
|
- "coverage_stats.txt"
|
|
must_exist: true
|
|
create_parent: true
|
|
required: true
|
|
direction: "output"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- name: "Coverage Reporting"
|
|
arguments:
|
|
- type: "boolean_true"
|
|
name: "--histogram"
|
|
alternatives:
|
|
- "-hist"
|
|
description: "Report coverage histogram for each feature and summary.\n\n**Output\
|
|
\ format:** depth, bases at depth, feature size, percentage\n**Use case:** Detailed\
|
|
\ coverage distribution analysis\n"
|
|
info: null
|
|
direction: "input"
|
|
- type: "boolean_true"
|
|
name: "--depth_per_position"
|
|
alternatives:
|
|
- "-d"
|
|
description: "Report depth at each position in each interval.\n\n**Output:** One-based\
|
|
\ positions with coverage depth\n**Use case:** Position-specific coverage analysis\n\
|
|
**Note:** Generates large output for long intervals\n"
|
|
info: null
|
|
direction: "input"
|
|
- type: "boolean_true"
|
|
name: "--counts_only"
|
|
alternatives:
|
|
- "-counts"
|
|
description: "Only report overlap counts, no fractions.\n\n**Simplified output:**\
|
|
\ Just the number of overlapping features\n**Use case:** When only overlap counts\
|
|
\ are needed\n"
|
|
info: null
|
|
direction: "input"
|
|
- type: "boolean_true"
|
|
name: "--mean_depth"
|
|
alternatives:
|
|
- "-mean"
|
|
description: "Report mean coverage depth for each interval.\n\n**Output:** Average\
|
|
\ depth across all positions in interval\n**Use case:** Summary coverage statistics\n"
|
|
info: null
|
|
direction: "input"
|
|
- name: "Strand Options"
|
|
arguments:
|
|
- type: "boolean_true"
|
|
name: "--same_strand"
|
|
alternatives:
|
|
- "-s"
|
|
description: "Require same strandedness for overlaps.\n\n**Default:** Overlaps\
|
|
\ reported regardless of strand\n**When enabled:** Only count overlaps on same\
|
|
\ strand\n"
|
|
info: null
|
|
direction: "input"
|
|
- type: "boolean_true"
|
|
name: "--different_strand"
|
|
alternatives:
|
|
- "-S"
|
|
description: "Require different strandedness for overlaps.\n\n**Default:** Overlaps\
|
|
\ reported regardless of strand\n**When enabled:** Only count overlaps on opposite\
|
|
\ strand\n"
|
|
info: null
|
|
direction: "input"
|
|
- name: "Overlap Requirements"
|
|
arguments:
|
|
- type: "double"
|
|
name: "--min_overlap_a"
|
|
alternatives:
|
|
- "-f"
|
|
description: "Minimum overlap required as fraction of A.\n\n**Range:** 0.0 to\
|
|
\ 1.0\n**Default:** 1E-9 (essentially 1bp)\n**Example:** 0.50 requires 50% of\
|
|
\ A to be overlapped\n"
|
|
info: null
|
|
example:
|
|
- 0.5
|
|
required: false
|
|
direction: "input"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- type: "double"
|
|
name: "--min_overlap_b"
|
|
alternatives:
|
|
- "-F"
|
|
description: "Minimum overlap required as fraction of B.\n\n**Range:** 0.0 to\
|
|
\ 1.0\n**Default:** 1E-9 (essentially 1bp)\n**Example:** 0.80 requires 80% of\
|
|
\ B to overlap A\n"
|
|
info: null
|
|
example:
|
|
- 0.8
|
|
required: false
|
|
direction: "input"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- type: "boolean_true"
|
|
name: "--reciprocal"
|
|
alternatives:
|
|
- "-r"
|
|
description: "Require reciprocal minimum fraction for A AND B.\n\n**Requires:**\
|
|
\ Both -f and -F fractions to be satisfied\n**Use case:** Stringent overlap\
|
|
\ requirements\n"
|
|
info: null
|
|
direction: "input"
|
|
- type: "boolean_true"
|
|
name: "--either"
|
|
alternatives:
|
|
- "-e"
|
|
description: "Require minimum fraction for A OR B (not both).\n\n**Default:**\
|
|
\ Both -f and -F must be satisfied\n**When enabled:** Either fraction requirement\
|
|
\ is sufficient\n"
|
|
info: null
|
|
direction: "input"
|
|
- name: "Format Options"
|
|
arguments:
|
|
- type: "boolean_true"
|
|
name: "--split"
|
|
description: "Treat split BAM/BED12 entries as distinct intervals.\n\n**BAM:**\
|
|
\ Handle spliced alignments as separate blocks\n**BED12:** Process each block\
|
|
\ independently\n"
|
|
info: null
|
|
direction: "input"
|
|
- type: "boolean_true"
|
|
name: "--bed_output"
|
|
alternatives:
|
|
- "-bed"
|
|
description: "Write output in BED format when using BAM input.\n\n**Default:**\
|
|
\ BAM input produces BAM-style output\n**When enabled:** Force BED format output\n"
|
|
info: null
|
|
direction: "input"
|
|
- type: "boolean_true"
|
|
name: "--header"
|
|
description: "Print header from input A file before results.\n\n**Use case:**\
|
|
\ Preserve metadata from input file\n"
|
|
info: null
|
|
direction: "input"
|
|
- name: "Performance Options"
|
|
arguments:
|
|
- type: "boolean_true"
|
|
name: "--sorted"
|
|
description: "Use chromsweep algorithm for sorted input.\n\n**Requirements:**\
|
|
\ Input must be sorted by chromosome and position\n**Performance:** Faster processing\
|
|
\ for large files\n"
|
|
info: null
|
|
direction: "input"
|
|
- type: "file"
|
|
name: "--genome"
|
|
alternatives:
|
|
- "-g"
|
|
description: "Genome file for consistent chromosome ordering.\n\n**Format:** Tab-delimited\
|
|
\ chromosome names and sizes\n**Use case:** Ensure consistent sort order with\
|
|
\ -sorted option\n"
|
|
info: null
|
|
example:
|
|
- "genome.txt"
|
|
must_exist: true
|
|
create_parent: true
|
|
required: false
|
|
direction: "input"
|
|
multiple: false
|
|
multiple_sep: ";"
|
|
- type: "boolean_true"
|
|
name: "--no_name_check"
|
|
alternatives:
|
|
- "-nonamecheck"
|
|
description: "Don't error on different chromosome naming conventions.\n\n**Example:**\
|
|
\ Allows mixing \"chr1\" and \"chr01\"\n**Use case:** Working with files from\
|
|
\ different sources\n"
|
|
info: null
|
|
direction: "input"
|
|
resources:
|
|
- type: "bash_script"
|
|
path: "script.sh"
|
|
is_executable: true
|
|
description: "Calculate coverage of genomic intervals from one file over intervals\
|
|
\ in another.\n\nThis tool reports the depth and breadth of coverage of features\
|
|
\ from file B\nover the intervals in file A. It provides detailed coverage statistics\
|
|
\ including\noverlap counts, covered bases, and coverage fractions.\n"
|
|
test_resources:
|
|
- type: "bash_script"
|
|
path: "test.sh"
|
|
is_executable: true
|
|
- type: "file"
|
|
path: "test_helpers.sh"
|
|
info: null
|
|
status: "enabled"
|
|
scope:
|
|
image: "public"
|
|
target: "public"
|
|
requirements:
|
|
commands:
|
|
- "bedtools"
|
|
- "ps"
|
|
keywords:
|
|
- "genomics"
|
|
- "intervals"
|
|
- "coverage"
|
|
- "depth"
|
|
- "breadth"
|
|
- "overlap"
|
|
- "statistics"
|
|
license: "MIT"
|
|
references:
|
|
doi:
|
|
- "10.1093/bioinformatics/btq033"
|
|
links:
|
|
repository: "https://github.com/arq5x/bedtools2"
|
|
homepage: "https://bedtools.readthedocs.io/"
|
|
documentation: "https://bedtools.readthedocs.io/en/latest/content/tools/coverage.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/bedtools:2.31.1--h13024bc_3"
|
|
target_registry: "images.viash-hub.com"
|
|
target_tag: "v0.4.0"
|
|
namespace_separator: "/"
|
|
setup:
|
|
- type: "docker"
|
|
run:
|
|
- "bedtools --version 2>&1 | head -1 | sed 's/.*bedtools v/bedtools: /' > /var/software_versions.txt\n"
|
|
entrypoint: []
|
|
cmd: null
|
|
- type: "native"
|
|
id: "native"
|
|
build_info:
|
|
config: "src/bedtools/bedtools_coverage/config.vsh.yaml"
|
|
runner: "executable"
|
|
engine: "docker|native"
|
|
output: "target/executable/bedtools/bedtools_coverage"
|
|
executable: "target/executable/bedtools/bedtools_coverage/bedtools_coverage"
|
|
viash_version: "0.9.4"
|
|
git_commit: "666507c86de9150bfbdffdb2dbabc1dbde3c3262"
|
|
git_remote: "https://github.com/viash-hub/biobox"
|
|
package_config:
|
|
name: "biobox"
|
|
version: "v0.4.0"
|
|
summary: "A curated collection of high-quality, standalone bioinformatics components\
|
|
\ built with [Viash](https://viash.io).\n"
|
|
description: "`biobox` offers a suite of reliable bioinformatics components, similar\
|
|
\ to [nf-core/modules](https://github.com/nf-core/modules) and [snakemake-wrappers/bio](https://github.com/snakemake/snakemake-wrappers/tree/master/bio),\
|
|
\ but built using the [Viash](https://viash.io) framework.\n\nThis approach emphasizes\
|
|
\ **reusability**, **reproducibility**, and adherence to **best practices**. Key\
|
|
\ features of `biobox` components include:\n\n* **Standalone & Nextflow Ready:**\
|
|
\ Run components directly via the command line or seamlessly integrate them into\
|
|
\ Nextflow workflows.\n* **High Quality Standards:**\n * Comprehensive documentation\
|
|
\ for components and parameters.\n * Full exposure of underlying tool arguments.\n\
|
|
\ * Containerized (Docker) for dependency management and reproducibility.\n\
|
|
\ * Unit tested for verified functionality.\n"
|
|
info: null
|
|
viash_version: "0.9.4"
|
|
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 := 'v0.4.0'"
|
|
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"
|