Build branch main with version main (1e1ffb3)
Build pipeline: vsh-ci-dev-jsbwk
Source commit: 1e1ffb315f
Source message: Merge pull request #17 from viash-hub/add_biobox_modules
- Migrate a number of components to biobox
- Fix tests
- Reduce size of test resources
- Prepare for Viash Hub
This commit is contained in:
210
target/executable/summarizedexperiment/.config.vsh.yaml
Normal file
210
target/executable/summarizedexperiment/.config.vsh.yaml
Normal file
@@ -0,0 +1,210 @@
|
||||
name: "summarizedexperiment"
|
||||
version: "main"
|
||||
argument_groups:
|
||||
- name: "Input"
|
||||
arguments:
|
||||
- type: "file"
|
||||
name: "--tpm_gene"
|
||||
info: null
|
||||
must_exist: true
|
||||
create_parent: true
|
||||
required: false
|
||||
direction: "input"
|
||||
multiple: false
|
||||
multiple_sep: ";"
|
||||
- type: "file"
|
||||
name: "--counts_gene"
|
||||
info: null
|
||||
must_exist: true
|
||||
create_parent: true
|
||||
required: false
|
||||
direction: "input"
|
||||
multiple: false
|
||||
multiple_sep: ";"
|
||||
- type: "file"
|
||||
name: "--counts_gene_length_scaled"
|
||||
info: null
|
||||
must_exist: true
|
||||
create_parent: true
|
||||
required: false
|
||||
direction: "input"
|
||||
multiple: false
|
||||
multiple_sep: ";"
|
||||
- type: "file"
|
||||
name: "--counts_gene_scaled"
|
||||
info: null
|
||||
must_exist: true
|
||||
create_parent: true
|
||||
required: false
|
||||
direction: "input"
|
||||
multiple: false
|
||||
multiple_sep: ";"
|
||||
- type: "file"
|
||||
name: "--tpm_transcript"
|
||||
info: null
|
||||
must_exist: true
|
||||
create_parent: true
|
||||
required: false
|
||||
direction: "input"
|
||||
multiple: false
|
||||
multiple_sep: ";"
|
||||
- type: "file"
|
||||
name: "--counts_transcript"
|
||||
info: null
|
||||
must_exist: true
|
||||
create_parent: true
|
||||
required: false
|
||||
direction: "input"
|
||||
multiple: false
|
||||
multiple_sep: ";"
|
||||
- type: "file"
|
||||
name: "--tx2gene_tsv"
|
||||
info: null
|
||||
must_exist: true
|
||||
create_parent: true
|
||||
required: false
|
||||
direction: "input"
|
||||
multiple: false
|
||||
multiple_sep: ";"
|
||||
- name: "Output"
|
||||
arguments:
|
||||
- type: "file"
|
||||
name: "--output"
|
||||
info: null
|
||||
default:
|
||||
- "merged_summarizedexperiment"
|
||||
must_exist: true
|
||||
create_parent: true
|
||||
required: false
|
||||
direction: "output"
|
||||
multiple: false
|
||||
multiple_sep: ";"
|
||||
resources:
|
||||
- type: "bash_script"
|
||||
path: "script.sh"
|
||||
is_executable: true
|
||||
- type: "file"
|
||||
path: "summarizedexperiment.r"
|
||||
description: "Create SummarizedExperiment object from Salmon counts"
|
||||
info:
|
||||
migration_info:
|
||||
git_repo: "https://github.com/nf-core/rnaseq.git"
|
||||
paths:
|
||||
- "modules/local/summarizedexperiment/main.nf"
|
||||
last_sha: "0a1bdcfbb498987643b74e9fccab85ccd9f2a17d"
|
||||
status: "enabled"
|
||||
requirements:
|
||||
commands:
|
||||
- "ps"
|
||||
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: "ubuntu:22.04"
|
||||
target_registry: "images.viash-hub.com"
|
||||
target_tag: "main"
|
||||
namespace_separator: "/"
|
||||
setup:
|
||||
- type: "apt"
|
||||
packages:
|
||||
- "r-base"
|
||||
- "libcurl4-openssl-dev"
|
||||
interactive: false
|
||||
- type: "r"
|
||||
bioc:
|
||||
- "SummarizedExperiment"
|
||||
- "tximeta"
|
||||
bioc_force_install: false
|
||||
entrypoint: []
|
||||
cmd: null
|
||||
- type: "native"
|
||||
id: "native"
|
||||
build_info:
|
||||
config: "src/summarizedexperiment/config.vsh.yaml"
|
||||
runner: "executable"
|
||||
engine: "docker|native"
|
||||
output: "target/executable/summarizedexperiment"
|
||||
executable: "target/executable/summarizedexperiment/summarizedexperiment"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "1e1ffb315fefec05db2ee0c62e1c98ce4b49929c"
|
||||
git_remote: "https://github.com/viash-hub/rnaseq"
|
||||
package_config:
|
||||
version: "main"
|
||||
info:
|
||||
test_resources:
|
||||
- path: "gs://viash-hub-test-data/rnaseq/v1"
|
||||
dest: "testData"
|
||||
viash_version: "0.9.0"
|
||||
source: "src"
|
||||
target: "target"
|
||||
config_mods:
|
||||
- ".requirements.commands := ['ps']\n.runners[.type == 'nextflow'].directives.tag\
|
||||
\ := '$id'\n"
|
||||
- ".engines += { type: \"native\" }"
|
||||
- ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'"
|
||||
- ".engines[.type == 'docker'].target_tag := 'main'"
|
||||
organization: "vsh"
|
||||
1247
target/executable/summarizedexperiment/summarizedexperiment
Executable file
1247
target/executable/summarizedexperiment/summarizedexperiment
Executable file
File diff suppressed because it is too large
Load Diff
68
target/executable/summarizedexperiment/summarizedexperiment.r
Executable file
68
target/executable/summarizedexperiment/summarizedexperiment.r
Executable file
@@ -0,0 +1,68 @@
|
||||
#!/usr/bin/env Rscript
|
||||
|
||||
library(SummarizedExperiment)
|
||||
|
||||
## Create SummarizedExperiment (se) object from Salmon counts
|
||||
|
||||
args <- commandArgs(trailingOnly = TRUE)
|
||||
if (length(args) < 2) {
|
||||
stop("Usage: salmon_se.r <coldata> <counts> <tpm>", call. = FALSE)
|
||||
}
|
||||
|
||||
coldata <- args[1]
|
||||
counts_fn <- args[2]
|
||||
tpm_fn <- args[3]
|
||||
tx2gene <- args[4]
|
||||
|
||||
info <- file.info(tx2gene)
|
||||
if (info$size == 0) {
|
||||
tx2gene <- NULL
|
||||
} else {
|
||||
rowdata <- read.csv(tx2gene, sep = "\t", header = FALSE)
|
||||
colnames(rowdata) <- c("tx", "gene_id", "gene_name")
|
||||
tx2gene <- rowdata[, 1:2]
|
||||
}
|
||||
|
||||
counts <- read.csv(counts_fn, row.names = 1, sep = "\t")
|
||||
counts <- counts[, 2:ncol(counts), drop = FALSE] # remove gene_name column
|
||||
tpm <- read.csv(tpm_fn, row.names = 1, sep = "\t")
|
||||
tpm <- tpm[, 2:ncol(tpm), drop = FALSE] # remove gene_name column
|
||||
|
||||
if (length(intersect(rownames(counts), rowdata[["tx"]])) > length(intersect(rownames(counts), rowdata[["gene_id"]]))) {
|
||||
by_what <- "tx"
|
||||
} else {
|
||||
by_what <- "gene_id"
|
||||
rowdata <- unique(rowdata[, 2:3])
|
||||
}
|
||||
|
||||
if (file.exists(coldata)) {
|
||||
coldata <- read.csv(coldata, sep = "\t")
|
||||
coldata <- coldata[match(colnames(counts), coldata[, 1]), ]
|
||||
coldata <- cbind(files = fns, coldata)
|
||||
} else {
|
||||
message("ColData not avaliable ", coldata)
|
||||
coldata <- data.frame(files = colnames(counts), names = colnames(counts))
|
||||
}
|
||||
|
||||
rownames(coldata) <- coldata[["names"]]
|
||||
extra <- setdiff(rownames(counts), as.character(rowdata[[by_what]]))
|
||||
if (length(extra) > 0) {
|
||||
rowdata <- rbind(
|
||||
rowdata,
|
||||
data.frame(
|
||||
tx = extra,
|
||||
gene_id = extra,
|
||||
gene_name = extra
|
||||
)[, colnames(rowdata)]
|
||||
)
|
||||
}
|
||||
|
||||
rowdata <- rowdata[match(rownames(counts), as.character(rowdata[[by_what]])), ]
|
||||
rownames(rowdata) <- rowdata[[by_what]]
|
||||
se <- SummarizedExperiment(
|
||||
assays = list(counts = counts, abundance = tpm),
|
||||
colData = DataFrame(coldata),
|
||||
rowData = rowdata
|
||||
)
|
||||
|
||||
saveRDS(se, file = paste0(tools::file_path_sans_ext(counts_fn), ".rds"))
|
||||
Reference in New Issue
Block a user