Files
biobox/target/executable/featurecounts/.config.vsh.yaml

673 lines
21 KiB
YAML
Raw Normal View History

name: "featurecounts"
version: "main"
authors:
- name: "Sai Nirmayi Yasa"
roles:
- "author"
- "maintainer"
info:
links:
email: "nirmayi@data-intuitive.com"
github: "sainirmayi"
linkedin: "sai-nirmayi-yasa"
organizations:
- name: "Data Intuitive"
href: "https://www.data-intuitive.com"
role: "Junior Bioinformatics Researcher"
argument_groups:
- name: "Inputs"
arguments:
- type: "file"
name: "--annotation"
alternatives:
- "-a"
description: "Name of an annotation file. GTF/GFF format by default. See '--format'\
\ option for more format information.\n"
info: null
example:
- "annotation.gtf"
must_exist: true
create_parent: true
required: true
direction: "input"
multiple: false
multiple_sep: ";"
- type: "file"
name: "--input"
alternatives:
- "-i"
description: "A list of SAM or BAM format files separated by semi-colon (;). They\
\ can be either name or location sorted. Location-sorted paired-end reads are\
\ automatically sorted by read names.\n"
info: null
example:
- "input_file1.bam"
must_exist: true
create_parent: true
required: true
direction: "input"
multiple: true
multiple_sep: ";"
- name: "Outputs"
arguments:
- type: "file"
name: "--counts"
alternatives:
- "-o"
description: "Name of output file including read counts in tab delimited format.\n"
info: null
example:
- "features.tsv"
must_exist: true
create_parent: true
required: true
direction: "output"
multiple: false
multiple_sep: ";"
- type: "file"
name: "--summary"
description: "Summary statistics of counting results in tab delimited format.\n"
info: null
example:
- "summary.tsv"
must_exist: true
create_parent: true
required: false
direction: "output"
multiple: false
multiple_sep: ";"
- type: "file"
name: "--junctions"
description: "Count number of reads supporting each exon-exon junction. Junctions\
\ were identified from those exon-spanning reads in the input (containing 'N'\
\ in CIGAR string).\n"
info: null
example:
- "junctions.txt"
must_exist: true
create_parent: true
required: false
direction: "output"
multiple: false
multiple_sep: ";"
- name: "Annotation"
arguments:
- type: "string"
name: "--format"
alternatives:
- "-F"
description: "Specify format of the provided annotation file. Acceptable formats\
\ include 'GTF' (or compatible GFF format) and 'SAF'. 'GTF' by default. \n"
info: null
example:
- "GTF"
required: false
choices:
- "GTF"
- "GFF"
- "SAF"
direction: "input"
multiple: false
multiple_sep: ";"
- type: "string"
name: "--feature_type"
alternatives:
- "-t"
description: "Specify feature type(s) in a GTF annotation. If multiple types are\
\ provided, they should be separated by ';' with no space in between. 'exon'\
\ by default. Rows in the annotation with a matched feature will be extracted\
\ and used for read mapping.\n"
info: null
example:
- "exon"
required: false
direction: "input"
multiple: true
multiple_sep: ";"
- type: "string"
name: "--attribute_type"
alternatives:
- "-g"
description: "Specify attribute type in GTF annotation. 'gene_id' by default.\
\ Meta-features used for read counting will be extracted from annotation using\
\ the provided value.\n"
info: null
example:
- "gene_id"
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "string"
name: "--extra_attributes"
description: "Extract extra attribute types from the provided GTF annotation and\
\ include them in the counting output. These attribute types will not be used\
\ to group features. If more than one attribute type is provided they should\
\ be separated by semicolon (;).\n"
info: null
required: false
direction: "input"
multiple: true
multiple_sep: ";"
- type: "file"
name: "--chrom_alias"
alternatives:
- "-A"
description: "Provide a chromosome name alias file to match chr names in annotation\
\ with those in the reads. This should be a two-column comma-delimited text\
\ file. Its first column should include chr names in the annotation and its\
\ second column should include chr names in the reads. Chr names are case sensitive.\
\ No column header should be included in the file.\n"
info: null
example:
- "chrom_alias.csv"
must_exist: true
create_parent: true
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- name: "Level of summarization"
arguments:
- type: "boolean_true"
name: "--feature_level"
alternatives:
- "-f"
description: "Perform read counting at feature level (eg. counting reads for exons\
\ rather than genes).\n"
info: null
direction: "input"
- name: "Overlap between reads and features"
arguments:
- type: "boolean_true"
name: "--overlapping"
alternatives:
- "-O"
description: "Assign reads to all their overlapping meta-features (or features\
\ if '--feature_level' is specified).\n"
info: null
direction: "input"
- type: "integer"
name: "--min_overlap"
description: "Minimum number of overlapping bases in a read that is required for\
\ read assignment. 1 by default. Number of overlapping bases is counted from\
\ both reads if paired end. If a negative value is provided, then a gap of up\
\ to specified size will be allowed between read and the feature that the read\
\ is assigned to.\n"
info: null
example:
- 1
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "double"
name: "--frac_overlap"
description: "Minimum fraction of overlapping bases in a read that is required\
\ for read assignment. Value should be within range [0,1]. 0 by default. Number\
\ of overlapping bases is counted from both reads if paired end. Both this option\
\ and '--min_overlap' option need to be satisfied for read assignment.\n"
info: null
example:
- 0.0
required: false
min: 0.0
max: 1.0
direction: "input"
multiple: false
multiple_sep: ";"
- type: "double"
name: "--frac_overlap_feature"
description: "Minimum fraction of overlapping bases in a feature that is required\
\ for read assignment. Value should be within range [0,1]. 0 by default.\n"
info: null
example:
- 0.0
required: false
min: 0.0
max: 1.0
direction: "input"
multiple: false
multiple_sep: ";"
- type: "boolean_true"
name: "--largest_overlap"
description: "Assign reads to a meta-feature/feature that has the largest number\
\ of overlapping bases.\n"
info: null
direction: "input"
- type: "integer"
name: "--non_overlap"
description: "Maximum number of non-overlapping bases in a read (or a read pair)\
\ that is allowed when being assigned to a feature. No limit is set by default.\n"
info: null
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "integer"
name: "--non_overlap_feature"
description: "Maximum number of non-overlapping bases in a feature that is allowed\
\ in read assignment. No limit is set by default.\n"
info: null
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "integer"
name: "--read_extension5"
description: "Reads are extended upstream by <int> bases from their 5' end.\n"
info: null
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "integer"
name: "--read_extension3"
description: "Reads are extended upstream by <int> bases from their 3' end.\n"
info: null
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "integer"
name: "--read2pos"
description: "Reduce reads to their 5' most base or 3' most base. Read counting\
\ is then performed based on the single base the read is reduced to.\n"
info: null
required: false
choices:
- 3
- 5
direction: "input"
multiple: false
multiple_sep: ";"
- name: "Multi-mapping reads"
arguments:
- type: "boolean_true"
name: "--multi_mapping"
alternatives:
- "-M"
description: "Multi-mapping reads will also be counted. For a multi-mapping read,\
\ all its reported alignments will be counted. The 'NH' tag in BAM/SAM input\
\ is used to detect multi-mapping reads.\n"
info: null
direction: "input"
- name: "Fractional counting"
arguments:
- type: "boolean_true"
name: "--fraction"
description: "Assign fractional counts to features. This option must be used together\
\ with '--multi_mapping' or '--overlapping' or both. When '--multi_mapping'\
\ is specified, each reported alignment from a multi-mapping read (identified\
\ via 'NH' tag) will carry a fractional count of 1/x, instead of 1 (one), where\
\ x is the total number of alignments reported for the same read. When '--overlapping'\
\ is specified, each overlapping feature will receive a fractional count of\
\ 1/y, where y is the total number of features overlapping with the read. When\
\ both '--multi_mapping' and '--overlapping' are specified, each alignment will\
\ carry a fractional count of 1/(x*y).\n"
info: null
direction: "input"
- name: "Read filtering"
arguments:
- type: "integer"
name: "--min_map_quality"
alternatives:
- "-Q"
description: "The minimum mapping quality score a read must satisfy in order to\
\ be counted. For paired-end reads, at least one end should satisfy this criteria.\
\ 0 by default.\n"
info: null
example:
- 0
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "boolean_true"
name: "--split_only"
description: "Count split alignments only (ie. alignments with CIGAR string containing\
\ 'N'). An example of split alignments is exon-spanning reads in RNA-seq data.\n"
info: null
direction: "input"
- type: "boolean_true"
name: "--non_split_only"
description: "If specified, only non-split alignments (CIGAR strings do not contain\
\ letter 'N') will be counted. All the other alignments will be ignored.\n"
info: null
direction: "input"
- type: "boolean_true"
name: "--primary"
description: "Count primary alignments only. Primary alignments are identified\
\ using bit 0x100 in SAM/BAM FLAG field.\n"
info: null
direction: "input"
- type: "boolean_true"
name: "--ignore_dup"
description: "Ignore duplicate reads in read counting. Duplicate reads are identified\
\ using bit Ox400 in BAM/SAM FLAG field. The whole read pair is ignored if one\
\ of the reads is a duplicate read for paired end data.\n"
info: null
direction: "input"
- name: "Strandedness"
arguments:
- type: "integer"
name: "--strand"
alternatives:
- "-s"
description: "Perform strand-specific read counting. A single integer value (applied\
\ to all input files) should be provided. Possible values include: 0 (unstranded),\
\ 1 (stranded) and 2 (reversely stranded). Default value is 0 (ie. unstranded\
\ read counting carried out for all input files).\n"
info: null
example:
- 0
required: false
choices:
- 0
- 1
- 2
direction: "input"
multiple: false
multiple_sep: ";"
- name: "Exon-exon junctions"
arguments:
- type: "file"
name: "--ref_fasta"
alternatives:
- "-G"
description: "Provide the name of a FASTA-format file that contains the reference\
\ sequences used in read mapping that produced the provided SAM/BAM files.\n"
info: null
example:
- "reference.fasta"
must_exist: true
create_parent: true
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- name: "Parameters specific to paired end reads"
arguments:
- type: "boolean_true"
name: "--paired"
alternatives:
- "-p"
description: "Specify that input data contain paired-end reads. To perform fragment\
\ counting (ie. counting read pairs), the '--countReadPairs' parameter should\
\ also be specified in addition to this parameter.\n"
info: null
direction: "input"
- type: "boolean_true"
name: "--count_read_pairs"
description: "Count read pairs (fragments) instead of reads. This option is only\
\ applicable for paired-end reads.\n"
info: null
direction: "input"
- type: "boolean_true"
name: "--both_aligned"
alternatives:
- "-B"
description: "Count read pairs (fragments) instead of reads. This option is only\
\ applicable for paired-end reads.\n"
info: null
direction: "input"
- type: "boolean_true"
name: "--check_pe_dist"
alternatives:
- "-P"
description: "Check validity of paired-end distance when counting read pairs.\
\ Use '--min_length' and '--max_length' to set thresholds.\n"
info: null
direction: "input"
- type: "integer"
name: "--min_length"
alternatives:
- "-d"
description: "Minimum fragment/template length, 50 by default.\n"
info: null
example:
- 50
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "integer"
name: "--max_length"
alternatives:
- "-D"
description: "Maximum fragment/template length, 600 by default.\n"
info: null
example:
- 600
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "boolean_true"
name: "--same_strand"
alternatives:
- "-C"
description: "Do not count read pairs that have their two ends mapping to different\
\ chromosomes or mapping to same chromosome but on different strands.\n"
info: null
direction: "input"
- type: "boolean_true"
name: "--donotsort"
description: "Do not sort reads in BAM/SAM input. Note that reads from the same\
\ pair are required to be located next to each other in the input.\n"
info: null
direction: "input"
- name: "Read groups"
arguments:
- type: "boolean_true"
name: "--by_read_group"
description: "Assign reads by read group. \"RG\" tag is required to be present\
\ in the input BAM/SAM files.\n"
info: null
direction: "input"
- name: "Long reads"
arguments:
- type: "boolean_true"
name: "--long_reads"
description: "Count long reads such as Nanopore and PacBio reads. Long read counting\
\ can only run in one thread and only reads (not read-pairs) can be counted.\
\ There is no limitation on the number of 'M' operations allowed in a CIGAR\
\ string in long read counting.\n"
info: null
direction: "input"
- name: "Assignment results for each read"
arguments:
- type: "file"
name: "--detailed_results"
description: "Directory to save the detailed assignment results. Use `--detailed_results_format`\
\ to determine the format of the detailed results.\n"
info: null
example:
- "detailed_results"
must_exist: true
create_parent: true
required: false
direction: "output"
multiple: false
multiple_sep: ";"
- type: "string"
name: "--detailed_results_format"
alternatives:
- "-R"
description: "Output detailed assignment results for each read or read-pair. Results\
\ are saved to a file that is in one of the following formats: CORE, SAM and\
\ BAM. See documentaiton for more info about these formats.\n"
info: null
required: false
choices:
- "CORE"
- "SAM"
- "BAM"
direction: "input"
multiple: false
multiple_sep: ";"
- name: "Miscellaneous"
arguments:
- type: "integer"
name: "--max_M_op"
description: "Maximum number of 'M' operations allowed in a CIGAR string. 10 by\
\ default. Both 'X' and '=' are treated as 'M' and adjacent 'M' operations are\
\ merged in the CIGAR string.\n"
info: null
example:
- 10
required: false
direction: "input"
multiple: false
multiple_sep: ";"
- type: "boolean_true"
name: "--verbose"
description: "Output verbose information for debugging, such as un-matched chromosome/contig\
\ names.\n"
info: null
direction: "input"
resources:
- type: "bash_script"
path: "script.sh"
is_executable: true
description: "featureCounts is a read summarization program for counting reads generated\
\ from either RNA or genomic DNA sequencing experiments by implementing highly efficient\
\ chromosome hashing and feature blocking techniques. It works with either single\
\ or paired-end reads and provides a wide range of options appropriate for different\
\ sequencing applications.\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:
- "Read counting"
- "Genomic features"
license: "GPL-3.0"
references:
doi:
- "10.1093/bioinformatics/btt656"
links:
repository: "https://github.com/ShiLab-Bioinformatics/subread"
homepage: "https://subread.sourceforge.net/"
documentation: "https://subread.sourceforge.net/SubreadUsersGuide.pdf"
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/subread:2.0.6--he4a0461_0"
target_registry: "images.viash-hub.com"
target_tag: "main"
namespace_separator: "/"
setup:
- type: "docker"
run:
- "featureCounts -v 2>&1 | sed 's/featureCounts v\\([0-9.]*\\)/featureCounts:\
\ \\1/' > /var/software_versions.txt\n"
entrypoint: []
cmd: null
- type: "native"
id: "native"
build_info:
config: "src/featurecounts/config.vsh.yaml"
runner: "executable"
engine: "docker|native"
output: "target/executable/featurecounts"
executable: "target/executable/featurecounts/featurecounts"
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"