Build branch main with version main (bd5b2d4)
Build pipeline: viash-hub.htrnaseq.main-l2658
Source commit: bd5b2d4171
Source message: Keep contents for barcodes with no mapped reads. (#44)
This commit is contained in:
13
CHANGELOG.md
13
CHANGELOG.md
@@ -1,3 +1,16 @@
|
||||
# htrnaseq v0.5.4
|
||||
|
||||
* Fix missing barcodes in the output from `generate_pool_statistics`, which caused an assertion error in `create_pdata`.
|
||||
In order to resolve the issue `generate_well_statistics` now outputs results for all chromosomes/scaffolds presented by
|
||||
the genome annotation, even when no reads were mapped to the regions in question. `generate_pool_statistics` will now
|
||||
remove regions from the output that have not at least one counts across all barcodes (PR #44).
|
||||
|
||||
# htrnaseq v0.5.3
|
||||
|
||||
## Bug fixes
|
||||
|
||||
* Fix `create_eset` component failing to create when one of the input samples has no counts (PR #43).
|
||||
|
||||
# htrnaseq v0.5.2
|
||||
|
||||
## Bug fixes
|
||||
|
||||
@@ -209,7 +209,6 @@ create_exprs_matrix <- function(exprs_matrix_path, exprs_file_paths,
|
||||
output, measure, col_names, cell_barcodes) {
|
||||
|
||||
read_matrix <- Read10X(data_dir = exprs_file_paths, gene_column = 1)
|
||||
read_matrix <- read_matrix[, which(colSums(read_matrix) != 0)]
|
||||
# keep index of feature names containing "_" because Seurat
|
||||
#changes them to "-" and they no longer match with fdata[, "gene_id"]
|
||||
idx <- grep("_", rownames(read_matrix))
|
||||
@@ -378,7 +377,7 @@ create_eset <- function(feature_annotation_path,
|
||||
featureData = fdata_eset,
|
||||
annotation = additional_info)
|
||||
|
||||
|
||||
eset <- eset[, colSums(exprs(eset)) != 0]
|
||||
saveRDS(eset, file = output_path)
|
||||
|
||||
message(paste0("eset created succesfully for ", ncol(eset),
|
||||
|
||||
@@ -73,4 +73,60 @@ input_f_data <- read.table(file.path(meta$resources_dir, "fData.tsv"),
|
||||
input_f_data <- input_f_data[input_f_data$gene_id %in% expected_feature_names, ]
|
||||
row.names(input_f_data) <- input_f_data$gene_id
|
||||
input_f_data[] <- lapply(input_f_data, as.character)
|
||||
stopifnot(identical(input_f_data, fData(result)))
|
||||
stopifnot(identical(input_f_data, fData(result)))
|
||||
|
||||
# Check results filtering of barcodes with no reads
|
||||
out <- processx::run(meta$executable, c(
|
||||
"--pDataFile", file.path(meta$resources_dir, "pData.tsv"),
|
||||
"--fDataFile", file.path(meta$resources_dir, "fData.tsv"),
|
||||
"--mappingDir", file.path(meta$resources_dir, "mapping_dir", "AACAAGGTAC"),
|
||||
"--mappingDir", file.path(meta$resources_dir, "mapping_dir", "EMPTY"),
|
||||
"--poolName", "bar",
|
||||
"--output", output
|
||||
))
|
||||
expect_equal(out$status, 0)
|
||||
expect_true(file.exists(output))
|
||||
result <- readRDS(output)
|
||||
stopifnot(length(sampleNames(result)) == 1)
|
||||
stopifnot(all(sampleNames(result) == c("bar_AACAAGGTAC")))
|
||||
expected_feature_names <- c(
|
||||
"ENS0001058", "ENS0000221", "ENS0001387", "ENS0000508", "ENS0001199",
|
||||
"ENS0000477", "ENS0001457", "ENS0001040", "ENS0000114", "ENS0000821",
|
||||
"ENS0001429", "ENS0001396", "ENS0000355", "ENS0000122", "ENS0000441",
|
||||
"ENS0001223", "ENS0001431", "ENS0000042", "ENS0000443", "ENS0000389",
|
||||
"ENS0001208", "ENS0001140", "ENS0000071", "ENS0001369"
|
||||
)
|
||||
stopifnot(length(featureNames(result)) == 24)
|
||||
stopifnot(all(featureNames(result) == expected_feature_names))
|
||||
expected_expressions <- matrix(
|
||||
c(0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
2,
|
||||
0,
|
||||
0,
|
||||
8,
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
16,
|
||||
0,
|
||||
12,
|
||||
5),
|
||||
ncol = 1,
|
||||
nrow = 24,
|
||||
byrow = TRUE,
|
||||
)
|
||||
rownames(expected_expressions) <- expected_feature_names
|
||||
colnames(expected_expressions) <- c("bar_AACAAGGTAC")
|
||||
stopifnot(identical(exprs(result), expected_expressions))
|
||||
@@ -0,0 +1 @@
|
||||
CCCCCCCCCC
|
||||
|
@@ -0,0 +1,25 @@
|
||||
ENS0001140 209E3 Gene Expression
|
||||
ENS0001058 A2B9A Gene Expression
|
||||
ENS0000508 CF168 Gene Expression
|
||||
ENS0001457 3BA5A Gene Expression
|
||||
ENS0001431 1C968 Gene Expression
|
||||
ENS0000821 E5192 Gene Expression
|
||||
ENS0001040 1821B Gene Expression
|
||||
ENS0000443 5AD11 Gene Expression
|
||||
ENS0000441 3F0FF Gene Expression
|
||||
ENS0001387 265F2 Gene Expression
|
||||
ENS0001223 28A43 Gene Expression
|
||||
ENS0001208 58E28 Gene Expression
|
||||
ENS0001396 6E614 Gene Expression
|
||||
ENS0001199 EA941 Gene Expression
|
||||
ENS0001369 99DDC Gene Expression
|
||||
ENS0000770 AFCC0 Gene Expression
|
||||
ENS0000389 B58E5 Gene Expression
|
||||
ENS0000071 7A6C3 Gene Expression
|
||||
ENS0000114 65424 Gene Expression
|
||||
ENS0000355 077A2 Gene Expression
|
||||
ENS0001429 22A4F Gene Expression
|
||||
ENS0000477 981E6 Gene Expression
|
||||
ENS0000042 E2D99 Gene Expression
|
||||
ENS0000122 D90E9 Gene Expression
|
||||
ENS0000221 97B0F Gene Expression
|
||||
|
@@ -0,0 +1,3 @@
|
||||
%%MatrixMarket matrix coordinate integer general
|
||||
%
|
||||
25 1 0
|
||||
@@ -1,4 +1,5 @@
|
||||
import pandas as pd
|
||||
from pathlib import Path
|
||||
import re
|
||||
|
||||
### VIASH START
|
||||
@@ -16,20 +17,25 @@ if __name__ == "__main__":
|
||||
# nrReadsNrGenesPerChrom file
|
||||
#########
|
||||
nr_reads_nr_genes_wells = []
|
||||
par["nrReadsNrGenesPerChrom"] = list(map(Path, par["nrReadsNrGenesPerChrom"]))
|
||||
for nr_reads_nr_genes_file in par["nrReadsNrGenesPerChrom"]:
|
||||
nr_reads_nr_genes_wells.append(pd.read_csv(nr_reads_nr_genes_file,
|
||||
header=0, delimiter="\t",
|
||||
dtype={"WellBC": pd.StringDtype(),
|
||||
"WellID": pd.StringDtype(),
|
||||
"Chr": pd.StringDtype(),
|
||||
"NumberOfReads": pd.UInt64Dtype(),
|
||||
"NumberOfGenes": pd.UInt64Dtype()}))
|
||||
nr_reads_nr_gene_well = pd.read_csv(nr_reads_nr_genes_file,
|
||||
header=0, delimiter="\t",
|
||||
dtype={"WellBC": pd.StringDtype(),
|
||||
"WellID": pd.StringDtype(),
|
||||
"Chr": pd.StringDtype(),
|
||||
"NumberOfReads": pd.UInt64Dtype(),
|
||||
"NumberOfGenes": pd.UInt64Dtype()})
|
||||
if nr_reads_nr_gene_well.empty:
|
||||
raise ValueError(f"{nr_reads_nr_genes_file.name} does not seem to contain any information!")
|
||||
nr_reads_nr_genes_wells.append(nr_reads_nr_gene_well)
|
||||
nr_reads_nr_genes_pool = pd.concat(nr_reads_nr_genes_wells, ignore_index=True,)
|
||||
total_nr_reads_per_chromosome = nr_reads_nr_genes_pool.pivot_table(index=INDEX_COL, columns="Chr",
|
||||
values=["NumberOfReads"], fill_value=0,
|
||||
aggfunc="sum").droplevel(0, axis=1)
|
||||
total_nr_reads_per_chromosome.columns.name = None
|
||||
|
||||
# Remove scaffolds/chromosomes with no counts
|
||||
total_nr_reads_per_chromosome = total_nr_reads_per_chromosome.loc[:, (total_nr_reads_per_chromosome != 0).any(axis=0)]
|
||||
##### Total number of genes from all chromosomes
|
||||
total_nr_genes = nr_reads_nr_genes_pool.loc[:, INDEX_COL + ['NumberOfGenes']].groupby(["WellBC", "WellID"]).sum()
|
||||
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
from uuid import uuid4
|
||||
from textwrap import dedent
|
||||
from subprocess import CalledProcessError
|
||||
import pandas as pd
|
||||
import re
|
||||
import pytest
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
### VIASH START
|
||||
meta = {
|
||||
@@ -16,7 +19,7 @@ meta = {
|
||||
def random_path(tmp_path):
|
||||
def wrapper(extension=None):
|
||||
extension = "" if not extension else f".{extension}"
|
||||
return tmp_path / f"{uuid4()}{extension}"
|
||||
return Path(tmp_path / f"{uuid4()}{extension}")
|
||||
return wrapper
|
||||
|
||||
|
||||
@@ -181,33 +184,77 @@ def test_only_numerical_chromosomes(run_component, random_tsv_path):
|
||||
pd.testing.assert_frame_equal(contents, expected_frame, check_like=True)
|
||||
|
||||
|
||||
@pytest.mark.parametrize("simple_input_file_one,expected", [("", "")],
|
||||
@pytest.mark.parametrize("simple_input_file_one", [("")],
|
||||
indirect=["simple_input_file_one"])
|
||||
def test_one_empty_input(run_component, simple_input_file_one, expected, empty_input_file, random_tsv_path):
|
||||
def test_empty_input_raises(run_component, simple_input_file_one, empty_input_file, random_tsv_path):
|
||||
"""
|
||||
When an input file contains no data, raise an error.
|
||||
"""
|
||||
output_path = random_tsv_path()
|
||||
with pytest.raises(CalledProcessError) as err:
|
||||
run_component([
|
||||
"--nrReadsNrGenesPerChrom", simple_input_file_one,
|
||||
"--nrReadsNrGenesPerChrom", empty_input_file,
|
||||
"--nrReadsNrGenesPerChromPool", output_path
|
||||
])
|
||||
assert re.search(
|
||||
rf"{empty_input_file.name} does not seem to contain any information",
|
||||
err.value.stdout.decode("utf-8"),
|
||||
)
|
||||
|
||||
def test_remove_chromosomes_with_no_counts(run_component, random_tsv_path):
|
||||
"""
|
||||
If a chromosome has no counts across all of the wells, it should
|
||||
not be included in the output
|
||||
"""
|
||||
output_path = random_tsv_path()
|
||||
contents1 = dedent(
|
||||
f"""\
|
||||
WellBC WellID Chr NumberOfReads NumberOfGenes
|
||||
CCC B2 2 2 1
|
||||
CCC B2 3 3 2
|
||||
CCC B2 5 4 2
|
||||
CCC B2 1 4 2
|
||||
CCC B2 empty 0 0
|
||||
""")
|
||||
input_file_1 = random_tsv_path()
|
||||
with input_file_1.open("w") as open_file:
|
||||
open_file.write(contents1)
|
||||
|
||||
contents2 = dedent(
|
||||
f"""\
|
||||
WellBC WellID Chr NumberOfReads NumberOfGenes
|
||||
AGG A1 2 2 1
|
||||
AGG A1 3 3 2
|
||||
AGG A1 5 4 2
|
||||
AGG A1 1 4 2
|
||||
AGG A1 empty 0 0
|
||||
""")
|
||||
input_file_2 = random_tsv_path()
|
||||
with input_file_2.open("w") as open_file:
|
||||
open_file.write(contents2)
|
||||
output_path = random_tsv_path()
|
||||
run_component([
|
||||
"--nrReadsNrGenesPerChrom", simple_input_file_one,
|
||||
"--nrReadsNrGenesPerChrom", empty_input_file,
|
||||
"--nrReadsNrGenesPerChrom", input_file_1,
|
||||
"--nrReadsNrGenesPerChrom", input_file_2,
|
||||
"--nrReadsNrGenesPerChromPool", output_path
|
||||
])
|
||||
# Here, the chromosome called "empty" should not be included
|
||||
expected_dict = {
|
||||
"WellBC": ["AGG"],
|
||||
"WellID": ["A1"],
|
||||
f"{expected}1": ["2"],
|
||||
f"{expected}2": ["3"],
|
||||
f"{expected}3": ["4"],
|
||||
"ERCC-1": ["1"],
|
||||
"ERCC-2": ["1"],
|
||||
"MT": ["4"],
|
||||
f"{expected}X": ["2"],
|
||||
"pctChrom": ["52.94"],
|
||||
"pctMT": ["23.53"],
|
||||
"pctERCC": ["11.76"],
|
||||
"SumReads": ["17"],
|
||||
"NumberOfGenes": ["12"],
|
||||
"NumberOfERCCReads": ["2"],
|
||||
"NumberOfChromReads": ["9"],
|
||||
"NumberOfMTReads": ["4"],
|
||||
"WellBC": ["AGG", "CCC"],
|
||||
"WellID": ["A1", "B2"],
|
||||
"1": ["4", "4"],
|
||||
"2": ["2", "2"],
|
||||
"3": ["3", "3"],
|
||||
"5": ["4", "4"],
|
||||
"pctChrom": ["100", "100"],
|
||||
"pctMT": ["0", "0"],
|
||||
"pctERCC": ["0", "0"],
|
||||
"SumReads": ["13", "13"],
|
||||
"NumberOfGenes": ["7", "7"],
|
||||
"NumberOfERCCReads": ["0", "0"],
|
||||
"NumberOfChromReads": ["13", "13"],
|
||||
"NumberOfMTReads": ["0", "0"],
|
||||
}
|
||||
expected_frame = pd.DataFrame.from_dict(expected_dict,
|
||||
dtype=pd.StringDtype())
|
||||
|
||||
@@ -53,6 +53,7 @@ if __name__ == "__main__":
|
||||
NumberOfReads=pd.NamedAgg("GX", aggfunc="size"),
|
||||
NumberOfGenes=pd.NamedAgg(column="GX", aggfunc="nunique")
|
||||
)
|
||||
nr_reads_nr_genes = nr_reads_nr_genes.reindex(samfile.header.references, fill_value=0)
|
||||
logger.info("Done calculating number of reads per gene and per chromesome. Writing to %s",
|
||||
par['nrReadsNrGenesPerChrom'])
|
||||
nr_reads_nr_genes.reset_index(names="Chr").assign(WellBC=par["barcode"], WellID=par["well_id"])\
|
||||
|
||||
@@ -114,8 +114,8 @@ def test_generate_well_statistics_simple_bam(run_component, input_sam_path, sam_
|
||||
|
||||
def test_empty_sam(run_component, empty_sam_path, sam_to_bam, random_path):
|
||||
"""
|
||||
Test an empty bam file
|
||||
Ran into issue https://github.com/pandas-dev/pandas/pull/59258
|
||||
Test an empty bam file. Make sure that chromosomes with mapped reads
|
||||
are still represented. Ran into issue https://github.com/pandas-dev/pandas/pull/59258
|
||||
"""
|
||||
bam_file = sam_to_bam(empty_sam_path)
|
||||
processed_bam = random_path("tsv")
|
||||
@@ -143,6 +143,8 @@ def test_empty_sam(run_component, empty_sam_path, sam_to_bam, random_path):
|
||||
expected_reads_per_chromosome = \
|
||||
dedent("""\
|
||||
WellBC WellID Chr NumberOfReads NumberOfGenes
|
||||
ACGT A1 1 0 0
|
||||
ACGT A1 2 0 0
|
||||
""")
|
||||
|
||||
expected_nr_reads_nr_umis_per_cb = \
|
||||
|
||||
@@ -96,6 +96,9 @@ test_resources:
|
||||
- type: nextflow_script
|
||||
path: test.nf
|
||||
entrypoint: test_wf
|
||||
- type: nextflow_script
|
||||
path: test.nf
|
||||
entrypoint: test_wf2
|
||||
dependencies:
|
||||
- name: stats/combine_star_logs
|
||||
repository: local
|
||||
|
||||
@@ -11,6 +11,8 @@ viash ns build --setup cb --parallel
|
||||
|
||||
export NXF_VER=24.04.4
|
||||
|
||||
set -eo pipefail
|
||||
|
||||
nextflow \
|
||||
run . \
|
||||
-main-script src/workflows/htrnaseq/test.nf \
|
||||
@@ -19,3 +21,13 @@ nextflow \
|
||||
-resume \
|
||||
-profile docker,local \
|
||||
--publish_dir output
|
||||
|
||||
nextflow \
|
||||
run . \
|
||||
-main-script src/workflows/htrnaseq/test.nf \
|
||||
-config ./src/config/labels.config \
|
||||
-entry test_wf2 \
|
||||
-resume \
|
||||
-profile docker,local \
|
||||
--publish_dir output2
|
||||
|
||||
|
||||
@@ -43,3 +43,28 @@ workflow test_wf {
|
||||
]
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
workflow test_wf2 {
|
||||
// Test the edge case where one of the barcodes has no reads
|
||||
resources_test_file = file(params.resources_test)
|
||||
input_ch = Channel.fromList([
|
||||
[
|
||||
id: "sample_one",
|
||||
input_r1: resources_test_file.resolve("100k/SRR14730301/VH02001612_S9_R1_001.fastq"),
|
||||
input_r2: resources_test_file.resolve("100k/SRR14730301/VH02001612_S9_R2_001.fastq"),
|
||||
genomeDir: resources_test_file.resolve("genomeDir/gencode.v41.star.sparse"),
|
||||
barcodesFasta: resources_test_file.resolve("2-wells-1-no-reads.fasta"),
|
||||
annotation: resources_test_file.resolve("genomeDir/gencode.v41.annotation.gtf.gz")
|
||||
],
|
||||
])
|
||||
| map{ state -> [state.id, state] }
|
||||
| view { "Input: $it" }
|
||||
| htrnaseq.run(
|
||||
toState: [
|
||||
"eset": "eset",
|
||||
"star_output": "star_output",
|
||||
]
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -198,7 +198,7 @@ build_info:
|
||||
output: "target/executable/eset/create_eset"
|
||||
executable: "target/executable/eset/create_eset/create_eset"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "3c05b7950b9627acdaa70687e0915d5ee69b6d1b"
|
||||
git_commit: "bd5b2d41718677ee367d3829447241df9733c8d3"
|
||||
git_remote: "https://github.com/viash-hub/htrnaseq"
|
||||
package_config:
|
||||
name: "htrnaseq"
|
||||
|
||||
@@ -477,9 +477,9 @@ RUN Rscript -e 'if (!requireNamespace("remotes", quietly = TRUE)) install.packag
|
||||
|
||||
LABEL org.opencontainers.image.authors="Dries Schaumont, Marijke Van Moerbeke"
|
||||
LABEL org.opencontainers.image.description="Companion container for running component eset create_eset"
|
||||
LABEL org.opencontainers.image.created="2025-02-17T14:58:42Z"
|
||||
LABEL org.opencontainers.image.created="2025-02-21T11:03:30Z"
|
||||
LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq"
|
||||
LABEL org.opencontainers.image.revision="3c05b7950b9627acdaa70687e0915d5ee69b6d1b"
|
||||
LABEL org.opencontainers.image.revision="bd5b2d41718677ee367d3829447241df9733c8d3"
|
||||
LABEL org.opencontainers.image.version="main"
|
||||
|
||||
VIASHDOCKER
|
||||
@@ -1343,7 +1343,6 @@ create_exprs_matrix <- function(exprs_matrix_path, exprs_file_paths,
|
||||
output, measure, col_names, cell_barcodes) {
|
||||
|
||||
read_matrix <- Read10X(data_dir = exprs_file_paths, gene_column = 1)
|
||||
read_matrix <- read_matrix[, which(colSums(read_matrix) != 0)]
|
||||
# keep index of feature names containing "_" because Seurat
|
||||
#changes them to "-" and they no longer match with fdata[, "gene_id"]
|
||||
idx <- grep("_", rownames(read_matrix))
|
||||
@@ -1512,7 +1511,7 @@ create_eset <- function(feature_annotation_path,
|
||||
featureData = fdata_eset,
|
||||
annotation = additional_info)
|
||||
|
||||
|
||||
eset <- eset[, colSums(exprs(eset)) != 0]
|
||||
saveRDS(eset, file = output_path)
|
||||
|
||||
message(paste0("eset created succesfully for ", ncol(eset),
|
||||
|
||||
@@ -177,7 +177,7 @@ build_info:
|
||||
output: "target/executable/eset/create_fdata"
|
||||
executable: "target/executable/eset/create_fdata/create_fdata"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "3c05b7950b9627acdaa70687e0915d5ee69b6d1b"
|
||||
git_commit: "bd5b2d41718677ee367d3829447241df9733c8d3"
|
||||
git_remote: "https://github.com/viash-hub/htrnaseq"
|
||||
package_config:
|
||||
name: "htrnaseq"
|
||||
|
||||
@@ -478,9 +478,9 @@ RUN pip install --upgrade pip && \
|
||||
|
||||
LABEL org.opencontainers.image.authors="Dries Schaumont, Marijke Van Moerbeke"
|
||||
LABEL org.opencontainers.image.description="Companion container for running component eset create_fdata"
|
||||
LABEL org.opencontainers.image.created="2025-02-17T14:58:42Z"
|
||||
LABEL org.opencontainers.image.created="2025-02-21T11:03:30Z"
|
||||
LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq"
|
||||
LABEL org.opencontainers.image.revision="3c05b7950b9627acdaa70687e0915d5ee69b6d1b"
|
||||
LABEL org.opencontainers.image.revision="bd5b2d41718677ee367d3829447241df9733c8d3"
|
||||
LABEL org.opencontainers.image.version="main"
|
||||
|
||||
VIASHDOCKER
|
||||
|
||||
@@ -191,7 +191,7 @@ build_info:
|
||||
output: "target/executable/eset/create_pdata"
|
||||
executable: "target/executable/eset/create_pdata/create_pdata"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "3c05b7950b9627acdaa70687e0915d5ee69b6d1b"
|
||||
git_commit: "bd5b2d41718677ee367d3829447241df9733c8d3"
|
||||
git_remote: "https://github.com/viash-hub/htrnaseq"
|
||||
package_config:
|
||||
name: "htrnaseq"
|
||||
|
||||
@@ -488,9 +488,9 @@ RUN pip install --upgrade pip && \
|
||||
|
||||
LABEL org.opencontainers.image.authors="Dries Schaumont, Marijke Van Moerbeke"
|
||||
LABEL org.opencontainers.image.description="Companion container for running component eset create_pdata"
|
||||
LABEL org.opencontainers.image.created="2025-02-17T14:58:42Z"
|
||||
LABEL org.opencontainers.image.created="2025-02-21T11:03:30Z"
|
||||
LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq"
|
||||
LABEL org.opencontainers.image.revision="3c05b7950b9627acdaa70687e0915d5ee69b6d1b"
|
||||
LABEL org.opencontainers.image.revision="bd5b2d41718677ee367d3829447241df9733c8d3"
|
||||
LABEL org.opencontainers.image.version="main"
|
||||
|
||||
VIASHDOCKER
|
||||
|
||||
@@ -148,7 +148,7 @@ build_info:
|
||||
output: "target/executable/integration_test_components/htrnaseq/check_eset"
|
||||
executable: "target/executable/integration_test_components/htrnaseq/check_eset/check_eset"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "3c05b7950b9627acdaa70687e0915d5ee69b6d1b"
|
||||
git_commit: "bd5b2d41718677ee367d3829447241df9733c8d3"
|
||||
git_remote: "https://github.com/viash-hub/htrnaseq"
|
||||
package_config:
|
||||
name: "htrnaseq"
|
||||
|
||||
@@ -470,9 +470,9 @@ RUN Rscript -e 'if (!requireNamespace("remotes", quietly = TRUE)) install.packag
|
||||
|
||||
LABEL org.opencontainers.image.authors="Dries Schaumont"
|
||||
LABEL org.opencontainers.image.description="Companion container for running component integration_test_components/htrnaseq check_eset"
|
||||
LABEL org.opencontainers.image.created="2025-02-17T14:58:42Z"
|
||||
LABEL org.opencontainers.image.created="2025-02-21T11:03:30Z"
|
||||
LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq"
|
||||
LABEL org.opencontainers.image.revision="3c05b7950b9627acdaa70687e0915d5ee69b6d1b"
|
||||
LABEL org.opencontainers.image.revision="bd5b2d41718677ee367d3829447241df9733c8d3"
|
||||
LABEL org.opencontainers.image.version="main"
|
||||
|
||||
VIASHDOCKER
|
||||
|
||||
@@ -158,7 +158,7 @@ build_info:
|
||||
output: "target/executable/integration_test_components/well_demultiplexing/check_cutadapt_output"
|
||||
executable: "target/executable/integration_test_components/well_demultiplexing/check_cutadapt_output/check_cutadapt_output"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "3c05b7950b9627acdaa70687e0915d5ee69b6d1b"
|
||||
git_commit: "bd5b2d41718677ee367d3829447241df9733c8d3"
|
||||
git_remote: "https://github.com/viash-hub/htrnaseq"
|
||||
package_config:
|
||||
name: "htrnaseq"
|
||||
|
||||
@@ -476,9 +476,9 @@ RUN pip install --upgrade pip && \
|
||||
|
||||
LABEL org.opencontainers.image.authors="Dries Schaumont"
|
||||
LABEL org.opencontainers.image.description="Companion container for running component integration_test_components/well_demultiplexing check_cutadapt_output"
|
||||
LABEL org.opencontainers.image.created="2025-02-17T14:58:42Z"
|
||||
LABEL org.opencontainers.image.created="2025-02-21T11:03:30Z"
|
||||
LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq"
|
||||
LABEL org.opencontainers.image.revision="3c05b7950b9627acdaa70687e0915d5ee69b6d1b"
|
||||
LABEL org.opencontainers.image.revision="bd5b2d41718677ee367d3829447241df9733c8d3"
|
||||
LABEL org.opencontainers.image.version="main"
|
||||
|
||||
VIASHDOCKER
|
||||
|
||||
@@ -143,7 +143,7 @@ build_info:
|
||||
output: "target/executable/io/publish_fastqs"
|
||||
executable: "target/executable/io/publish_fastqs/publish_fastqs"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "3c05b7950b9627acdaa70687e0915d5ee69b6d1b"
|
||||
git_commit: "bd5b2d41718677ee367d3829447241df9733c8d3"
|
||||
git_remote: "https://github.com/viash-hub/htrnaseq"
|
||||
package_config:
|
||||
name: "htrnaseq"
|
||||
|
||||
@@ -470,9 +470,9 @@ RUN apt-get update && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
LABEL org.opencontainers.image.description="Companion container for running component io publish_fastqs"
|
||||
LABEL org.opencontainers.image.created="2025-02-17T14:58:41Z"
|
||||
LABEL org.opencontainers.image.created="2025-02-21T11:03:28Z"
|
||||
LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq"
|
||||
LABEL org.opencontainers.image.revision="3c05b7950b9627acdaa70687e0915d5ee69b6d1b"
|
||||
LABEL org.opencontainers.image.revision="bd5b2d41718677ee367d3829447241df9733c8d3"
|
||||
LABEL org.opencontainers.image.version="main"
|
||||
|
||||
VIASHDOCKER
|
||||
|
||||
@@ -187,7 +187,7 @@ build_info:
|
||||
output: "target/executable/io/publish_results"
|
||||
executable: "target/executable/io/publish_results/publish_results"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "3c05b7950b9627acdaa70687e0915d5ee69b6d1b"
|
||||
git_commit: "bd5b2d41718677ee367d3829447241df9733c8d3"
|
||||
git_remote: "https://github.com/viash-hub/htrnaseq"
|
||||
package_config:
|
||||
name: "htrnaseq"
|
||||
|
||||
@@ -484,9 +484,9 @@ RUN apt-get update && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
LABEL org.opencontainers.image.description="Companion container for running component io publish_results"
|
||||
LABEL org.opencontainers.image.created="2025-02-17T14:58:41Z"
|
||||
LABEL org.opencontainers.image.created="2025-02-21T11:03:29Z"
|
||||
LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq"
|
||||
LABEL org.opencontainers.image.revision="3c05b7950b9627acdaa70687e0915d5ee69b6d1b"
|
||||
LABEL org.opencontainers.image.revision="bd5b2d41718677ee367d3829447241df9733c8d3"
|
||||
LABEL org.opencontainers.image.version="main"
|
||||
|
||||
VIASHDOCKER
|
||||
|
||||
@@ -279,7 +279,7 @@ build_info:
|
||||
output: "target/executable/parallel_map"
|
||||
executable: "target/executable/parallel_map/parallel_map"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "3c05b7950b9627acdaa70687e0915d5ee69b6d1b"
|
||||
git_commit: "bd5b2d41718677ee367d3829447241df9733c8d3"
|
||||
git_remote: "https://github.com/viash-hub/htrnaseq"
|
||||
package_config:
|
||||
name: "htrnaseq"
|
||||
|
||||
@@ -540,9 +540,9 @@ ENV STAR_BINARY=STAR
|
||||
COPY STAR /usr/local/bin/$STAR_BINARY
|
||||
LABEL org.opencontainers.image.authors="Dries Schaumont, Toni Verbeiren"
|
||||
LABEL org.opencontainers.image.description="Companion container for running component parallel_map"
|
||||
LABEL org.opencontainers.image.created="2025-02-17T14:58:43Z"
|
||||
LABEL org.opencontainers.image.created="2025-02-21T11:03:31Z"
|
||||
LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq"
|
||||
LABEL org.opencontainers.image.revision="3c05b7950b9627acdaa70687e0915d5ee69b6d1b"
|
||||
LABEL org.opencontainers.image.revision="bd5b2d41718677ee367d3829447241df9733c8d3"
|
||||
LABEL org.opencontainers.image.version="main"
|
||||
|
||||
VIASHDOCKER
|
||||
|
||||
@@ -201,7 +201,7 @@ build_info:
|
||||
output: "target/executable/report/create_report"
|
||||
executable: "target/executable/report/create_report/create_report"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "3c05b7950b9627acdaa70687e0915d5ee69b6d1b"
|
||||
git_commit: "bd5b2d41718677ee367d3829447241df9733c8d3"
|
||||
git_remote: "https://github.com/viash-hub/htrnaseq"
|
||||
package_config:
|
||||
name: "htrnaseq"
|
||||
|
||||
@@ -476,9 +476,9 @@ RUN Rscript -e 'if (!requireNamespace("remotes", quietly = TRUE)) install.packag
|
||||
|
||||
LABEL org.opencontainers.image.authors="Dries Schaumont, Marijke Van Moerbeke"
|
||||
LABEL org.opencontainers.image.description="Companion container for running component report create_report"
|
||||
LABEL org.opencontainers.image.created="2025-02-17T14:58:43Z"
|
||||
LABEL org.opencontainers.image.created="2025-02-21T11:03:31Z"
|
||||
LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq"
|
||||
LABEL org.opencontainers.image.revision="3c05b7950b9627acdaa70687e0915d5ee69b6d1b"
|
||||
LABEL org.opencontainers.image.revision="bd5b2d41718677ee367d3829447241df9733c8d3"
|
||||
LABEL org.opencontainers.image.version="main"
|
||||
|
||||
VIASHDOCKER
|
||||
|
||||
@@ -198,7 +198,7 @@ build_info:
|
||||
output: "target/executable/stats/combine_star_logs"
|
||||
executable: "target/executable/stats/combine_star_logs/combine_star_logs"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "3c05b7950b9627acdaa70687e0915d5ee69b6d1b"
|
||||
git_commit: "bd5b2d41718677ee367d3829447241df9733c8d3"
|
||||
git_remote: "https://github.com/viash-hub/htrnaseq"
|
||||
package_config:
|
||||
name: "htrnaseq"
|
||||
|
||||
@@ -490,9 +490,9 @@ RUN pip install --upgrade pip && \
|
||||
|
||||
LABEL org.opencontainers.image.authors="Dries Schaumont"
|
||||
LABEL org.opencontainers.image.description="Companion container for running component stats combine_star_logs"
|
||||
LABEL org.opencontainers.image.created="2025-02-17T14:58:41Z"
|
||||
LABEL org.opencontainers.image.created="2025-02-21T11:03:28Z"
|
||||
LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq"
|
||||
LABEL org.opencontainers.image.revision="3c05b7950b9627acdaa70687e0915d5ee69b6d1b"
|
||||
LABEL org.opencontainers.image.revision="bd5b2d41718677ee367d3829447241df9733c8d3"
|
||||
LABEL org.opencontainers.image.version="main"
|
||||
|
||||
VIASHDOCKER
|
||||
|
||||
@@ -182,7 +182,7 @@ build_info:
|
||||
output: "target/executable/stats/generate_pool_statistics"
|
||||
executable: "target/executable/stats/generate_pool_statistics/generate_pool_statistics"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "3c05b7950b9627acdaa70687e0915d5ee69b6d1b"
|
||||
git_commit: "bd5b2d41718677ee367d3829447241df9733c8d3"
|
||||
git_remote: "https://github.com/viash-hub/htrnaseq"
|
||||
package_config:
|
||||
name: "htrnaseq"
|
||||
|
||||
@@ -483,9 +483,9 @@ RUN pip install --upgrade pip && \
|
||||
|
||||
LABEL org.opencontainers.image.authors="Dries Schaumont, Marijke Van Moerbeke"
|
||||
LABEL org.opencontainers.image.description="Companion container for running component stats generate_pool_statistics"
|
||||
LABEL org.opencontainers.image.created="2025-02-17T14:58:41Z"
|
||||
LABEL org.opencontainers.image.created="2025-02-21T11:03:29Z"
|
||||
LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq"
|
||||
LABEL org.opencontainers.image.revision="3c05b7950b9627acdaa70687e0915d5ee69b6d1b"
|
||||
LABEL org.opencontainers.image.revision="bd5b2d41718677ee367d3829447241df9733c8d3"
|
||||
LABEL org.opencontainers.image.version="main"
|
||||
|
||||
VIASHDOCKER
|
||||
@@ -1044,6 +1044,7 @@ trap clean_up EXIT
|
||||
trap interrupt INT SIGINT
|
||||
cat > "\$tempscript" << 'VIASHMAIN'
|
||||
import pandas as pd
|
||||
from pathlib import Path
|
||||
import re
|
||||
|
||||
### VIASH START
|
||||
@@ -1085,20 +1086,25 @@ if __name__ == "__main__":
|
||||
# nrReadsNrGenesPerChrom file
|
||||
#########
|
||||
nr_reads_nr_genes_wells = []
|
||||
par["nrReadsNrGenesPerChrom"] = list(map(Path, par["nrReadsNrGenesPerChrom"]))
|
||||
for nr_reads_nr_genes_file in par["nrReadsNrGenesPerChrom"]:
|
||||
nr_reads_nr_genes_wells.append(pd.read_csv(nr_reads_nr_genes_file,
|
||||
header=0, delimiter="\\t",
|
||||
dtype={"WellBC": pd.StringDtype(),
|
||||
"WellID": pd.StringDtype(),
|
||||
"Chr": pd.StringDtype(),
|
||||
"NumberOfReads": pd.UInt64Dtype(),
|
||||
"NumberOfGenes": pd.UInt64Dtype()}))
|
||||
nr_reads_nr_gene_well = pd.read_csv(nr_reads_nr_genes_file,
|
||||
header=0, delimiter="\\t",
|
||||
dtype={"WellBC": pd.StringDtype(),
|
||||
"WellID": pd.StringDtype(),
|
||||
"Chr": pd.StringDtype(),
|
||||
"NumberOfReads": pd.UInt64Dtype(),
|
||||
"NumberOfGenes": pd.UInt64Dtype()})
|
||||
if nr_reads_nr_gene_well.empty:
|
||||
raise ValueError(f"{nr_reads_nr_genes_file.name} does not seem to contain any information!")
|
||||
nr_reads_nr_genes_wells.append(nr_reads_nr_gene_well)
|
||||
nr_reads_nr_genes_pool = pd.concat(nr_reads_nr_genes_wells, ignore_index=True,)
|
||||
total_nr_reads_per_chromosome = nr_reads_nr_genes_pool.pivot_table(index=INDEX_COL, columns="Chr",
|
||||
values=["NumberOfReads"], fill_value=0,
|
||||
aggfunc="sum").droplevel(0, axis=1)
|
||||
total_nr_reads_per_chromosome.columns.name = None
|
||||
|
||||
# Remove scaffolds/chromosomes with no counts
|
||||
total_nr_reads_per_chromosome = total_nr_reads_per_chromosome.loc[:, (total_nr_reads_per_chromosome != 0).any(axis=0)]
|
||||
##### Total number of genes from all chromosomes
|
||||
total_nr_genes = nr_reads_nr_genes_pool.loc[:, INDEX_COL + ['NumberOfGenes']].groupby(["WellBC", "WellID"]).sum()
|
||||
|
||||
|
||||
@@ -264,7 +264,7 @@ build_info:
|
||||
output: "target/executable/stats/generate_well_statistics"
|
||||
executable: "target/executable/stats/generate_well_statistics/generate_well_statistics"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "3c05b7950b9627acdaa70687e0915d5ee69b6d1b"
|
||||
git_commit: "bd5b2d41718677ee367d3829447241df9733c8d3"
|
||||
git_remote: "https://github.com/viash-hub/htrnaseq"
|
||||
package_config:
|
||||
name: "htrnaseq"
|
||||
|
||||
@@ -520,9 +520,9 @@ RUN pip install --upgrade pip && \
|
||||
|
||||
LABEL org.opencontainers.image.authors="Dries Schaumont, Marijke Van Moerbeke"
|
||||
LABEL org.opencontainers.image.description="Companion container for running component stats generate_well_statistics"
|
||||
LABEL org.opencontainers.image.created="2025-02-17T14:58:42Z"
|
||||
LABEL org.opencontainers.image.created="2025-02-21T11:03:29Z"
|
||||
LABEL org.opencontainers.image.source="https://github.com/viash-hub/htrnaseq"
|
||||
LABEL org.opencontainers.image.revision="3c05b7950b9627acdaa70687e0915d5ee69b6d1b"
|
||||
LABEL org.opencontainers.image.revision="bd5b2d41718677ee367d3829447241df9733c8d3"
|
||||
LABEL org.opencontainers.image.version="main"
|
||||
|
||||
VIASHDOCKER
|
||||
@@ -1259,6 +1259,7 @@ if __name__ == "__main__":
|
||||
NumberOfReads=pd.NamedAgg("GX", aggfunc="size"),
|
||||
NumberOfGenes=pd.NamedAgg(column="GX", aggfunc="nunique")
|
||||
)
|
||||
nr_reads_nr_genes = nr_reads_nr_genes.reindex(samfile.header.references, fill_value=0)
|
||||
logger.info("Done calculating number of reads per gene and per chromesome. Writing to %s",
|
||||
par['nrReadsNrGenesPerChrom'])
|
||||
nr_reads_nr_genes.reset_index(names="Chr").assign(WellBC=par["barcode"], WellID=par["well_id"])\\
|
||||
|
||||
@@ -198,7 +198,7 @@ build_info:
|
||||
output: "target/nextflow/eset/create_eset"
|
||||
executable: "target/nextflow/eset/create_eset/main.nf"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "3c05b7950b9627acdaa70687e0915d5ee69b6d1b"
|
||||
git_commit: "bd5b2d41718677ee367d3829447241df9733c8d3"
|
||||
git_remote: "https://github.com/viash-hub/htrnaseq"
|
||||
package_config:
|
||||
name: "htrnaseq"
|
||||
|
||||
@@ -3072,7 +3072,7 @@ meta = [
|
||||
"engine" : "docker|native",
|
||||
"output" : "target/nextflow/eset/create_eset",
|
||||
"viash_version" : "0.9.0",
|
||||
"git_commit" : "3c05b7950b9627acdaa70687e0915d5ee69b6d1b",
|
||||
"git_commit" : "bd5b2d41718677ee367d3829447241df9733c8d3",
|
||||
"git_remote" : "https://github.com/viash-hub/htrnaseq"
|
||||
},
|
||||
"package_config" : {
|
||||
@@ -3365,7 +3365,6 @@ create_exprs_matrix <- function(exprs_matrix_path, exprs_file_paths,
|
||||
output, measure, col_names, cell_barcodes) {
|
||||
|
||||
read_matrix <- Read10X(data_dir = exprs_file_paths, gene_column = 1)
|
||||
read_matrix <- read_matrix[, which(colSums(read_matrix) != 0)]
|
||||
# keep index of feature names containing "_" because Seurat
|
||||
#changes them to "-" and they no longer match with fdata[, "gene_id"]
|
||||
idx <- grep("_", rownames(read_matrix))
|
||||
@@ -3534,7 +3533,7 @@ create_eset <- function(feature_annotation_path,
|
||||
featureData = fdata_eset,
|
||||
annotation = additional_info)
|
||||
|
||||
|
||||
eset <- eset[, colSums(exprs(eset)) != 0]
|
||||
saveRDS(eset, file = output_path)
|
||||
|
||||
message(paste0("eset created succesfully for ", ncol(eset),
|
||||
|
||||
@@ -177,7 +177,7 @@ build_info:
|
||||
output: "target/nextflow/eset/create_fdata"
|
||||
executable: "target/nextflow/eset/create_fdata/main.nf"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "3c05b7950b9627acdaa70687e0915d5ee69b6d1b"
|
||||
git_commit: "bd5b2d41718677ee367d3829447241df9733c8d3"
|
||||
git_remote: "https://github.com/viash-hub/htrnaseq"
|
||||
package_config:
|
||||
name: "htrnaseq"
|
||||
|
||||
@@ -3044,7 +3044,7 @@ meta = [
|
||||
"engine" : "docker|native",
|
||||
"output" : "target/nextflow/eset/create_fdata",
|
||||
"viash_version" : "0.9.0",
|
||||
"git_commit" : "3c05b7950b9627acdaa70687e0915d5ee69b6d1b",
|
||||
"git_commit" : "bd5b2d41718677ee367d3829447241df9733c8d3",
|
||||
"git_remote" : "https://github.com/viash-hub/htrnaseq"
|
||||
},
|
||||
"package_config" : {
|
||||
|
||||
@@ -191,7 +191,7 @@ build_info:
|
||||
output: "target/nextflow/eset/create_pdata"
|
||||
executable: "target/nextflow/eset/create_pdata/main.nf"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "3c05b7950b9627acdaa70687e0915d5ee69b6d1b"
|
||||
git_commit: "bd5b2d41718677ee367d3829447241df9733c8d3"
|
||||
git_remote: "https://github.com/viash-hub/htrnaseq"
|
||||
package_config:
|
||||
name: "htrnaseq"
|
||||
|
||||
@@ -3058,7 +3058,7 @@ meta = [
|
||||
"engine" : "docker|native",
|
||||
"output" : "target/nextflow/eset/create_pdata",
|
||||
"viash_version" : "0.9.0",
|
||||
"git_commit" : "3c05b7950b9627acdaa70687e0915d5ee69b6d1b",
|
||||
"git_commit" : "bd5b2d41718677ee367d3829447241df9733c8d3",
|
||||
"git_remote" : "https://github.com/viash-hub/htrnaseq"
|
||||
},
|
||||
"package_config" : {
|
||||
|
||||
@@ -148,7 +148,7 @@ build_info:
|
||||
output: "target/nextflow/integration_test_components/htrnaseq/check_eset"
|
||||
executable: "target/nextflow/integration_test_components/htrnaseq/check_eset/main.nf"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "3c05b7950b9627acdaa70687e0915d5ee69b6d1b"
|
||||
git_commit: "bd5b2d41718677ee367d3829447241df9733c8d3"
|
||||
git_remote: "https://github.com/viash-hub/htrnaseq"
|
||||
package_config:
|
||||
name: "htrnaseq"
|
||||
|
||||
@@ -2997,7 +2997,7 @@ meta = [
|
||||
"engine" : "docker|native",
|
||||
"output" : "target/nextflow/integration_test_components/htrnaseq/check_eset",
|
||||
"viash_version" : "0.9.0",
|
||||
"git_commit" : "3c05b7950b9627acdaa70687e0915d5ee69b6d1b",
|
||||
"git_commit" : "bd5b2d41718677ee367d3829447241df9733c8d3",
|
||||
"git_remote" : "https://github.com/viash-hub/htrnaseq"
|
||||
},
|
||||
"package_config" : {
|
||||
|
||||
@@ -158,7 +158,7 @@ build_info:
|
||||
output: "target/nextflow/integration_test_components/well_demultiplexing/check_cutadapt_output"
|
||||
executable: "target/nextflow/integration_test_components/well_demultiplexing/check_cutadapt_output/main.nf"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "3c05b7950b9627acdaa70687e0915d5ee69b6d1b"
|
||||
git_commit: "bd5b2d41718677ee367d3829447241df9733c8d3"
|
||||
git_remote: "https://github.com/viash-hub/htrnaseq"
|
||||
package_config:
|
||||
name: "htrnaseq"
|
||||
|
||||
@@ -3009,7 +3009,7 @@ meta = [
|
||||
"engine" : "docker|native",
|
||||
"output" : "target/nextflow/integration_test_components/well_demultiplexing/check_cutadapt_output",
|
||||
"viash_version" : "0.9.0",
|
||||
"git_commit" : "3c05b7950b9627acdaa70687e0915d5ee69b6d1b",
|
||||
"git_commit" : "bd5b2d41718677ee367d3829447241df9733c8d3",
|
||||
"git_remote" : "https://github.com/viash-hub/htrnaseq"
|
||||
},
|
||||
"package_config" : {
|
||||
|
||||
@@ -143,7 +143,7 @@ build_info:
|
||||
output: "target/nextflow/io/publish_fastqs"
|
||||
executable: "target/nextflow/io/publish_fastqs/main.nf"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "3c05b7950b9627acdaa70687e0915d5ee69b6d1b"
|
||||
git_commit: "bd5b2d41718677ee367d3829447241df9733c8d3"
|
||||
git_remote: "https://github.com/viash-hub/htrnaseq"
|
||||
package_config:
|
||||
name: "htrnaseq"
|
||||
|
||||
@@ -2983,7 +2983,7 @@ meta = [
|
||||
"engine" : "docker|native",
|
||||
"output" : "target/nextflow/io/publish_fastqs",
|
||||
"viash_version" : "0.9.0",
|
||||
"git_commit" : "3c05b7950b9627acdaa70687e0915d5ee69b6d1b",
|
||||
"git_commit" : "bd5b2d41718677ee367d3829447241df9733c8d3",
|
||||
"git_remote" : "https://github.com/viash-hub/htrnaseq"
|
||||
},
|
||||
"package_config" : {
|
||||
|
||||
@@ -187,7 +187,7 @@ build_info:
|
||||
output: "target/nextflow/io/publish_results"
|
||||
executable: "target/nextflow/io/publish_results/main.nf"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "3c05b7950b9627acdaa70687e0915d5ee69b6d1b"
|
||||
git_commit: "bd5b2d41718677ee367d3829447241df9733c8d3"
|
||||
git_remote: "https://github.com/viash-hub/htrnaseq"
|
||||
package_config:
|
||||
name: "htrnaseq"
|
||||
|
||||
@@ -3032,7 +3032,7 @@ meta = [
|
||||
"engine" : "docker|native",
|
||||
"output" : "target/nextflow/io/publish_results",
|
||||
"viash_version" : "0.9.0",
|
||||
"git_commit" : "3c05b7950b9627acdaa70687e0915d5ee69b6d1b",
|
||||
"git_commit" : "bd5b2d41718677ee367d3829447241df9733c8d3",
|
||||
"git_remote" : "https://github.com/viash-hub/htrnaseq"
|
||||
},
|
||||
"package_config" : {
|
||||
|
||||
@@ -279,7 +279,7 @@ build_info:
|
||||
output: "target/nextflow/parallel_map"
|
||||
executable: "target/nextflow/parallel_map/main.nf"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "3c05b7950b9627acdaa70687e0915d5ee69b6d1b"
|
||||
git_commit: "bd5b2d41718677ee367d3829447241df9733c8d3"
|
||||
git_remote: "https://github.com/viash-hub/htrnaseq"
|
||||
package_config:
|
||||
name: "htrnaseq"
|
||||
|
||||
@@ -3144,7 +3144,7 @@ meta = [
|
||||
"engine" : "docker|native",
|
||||
"output" : "target/nextflow/parallel_map",
|
||||
"viash_version" : "0.9.0",
|
||||
"git_commit" : "3c05b7950b9627acdaa70687e0915d5ee69b6d1b",
|
||||
"git_commit" : "bd5b2d41718677ee367d3829447241df9733c8d3",
|
||||
"git_remote" : "https://github.com/viash-hub/htrnaseq"
|
||||
},
|
||||
"package_config" : {
|
||||
|
||||
@@ -201,7 +201,7 @@ build_info:
|
||||
output: "target/nextflow/report/create_report"
|
||||
executable: "target/nextflow/report/create_report/main.nf"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "3c05b7950b9627acdaa70687e0915d5ee69b6d1b"
|
||||
git_commit: "bd5b2d41718677ee367d3829447241df9733c8d3"
|
||||
git_remote: "https://github.com/viash-hub/htrnaseq"
|
||||
package_config:
|
||||
name: "htrnaseq"
|
||||
|
||||
@@ -3077,7 +3077,7 @@ meta = [
|
||||
"engine" : "docker|native",
|
||||
"output" : "target/nextflow/report/create_report",
|
||||
"viash_version" : "0.9.0",
|
||||
"git_commit" : "3c05b7950b9627acdaa70687e0915d5ee69b6d1b",
|
||||
"git_commit" : "bd5b2d41718677ee367d3829447241df9733c8d3",
|
||||
"git_remote" : "https://github.com/viash-hub/htrnaseq"
|
||||
},
|
||||
"package_config" : {
|
||||
|
||||
@@ -198,7 +198,7 @@ build_info:
|
||||
output: "target/nextflow/stats/combine_star_logs"
|
||||
executable: "target/nextflow/stats/combine_star_logs/main.nf"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "3c05b7950b9627acdaa70687e0915d5ee69b6d1b"
|
||||
git_commit: "bd5b2d41718677ee367d3829447241df9733c8d3"
|
||||
git_remote: "https://github.com/viash-hub/htrnaseq"
|
||||
package_config:
|
||||
name: "htrnaseq"
|
||||
|
||||
@@ -3060,7 +3060,7 @@ meta = [
|
||||
"engine" : "docker|native",
|
||||
"output" : "target/nextflow/stats/combine_star_logs",
|
||||
"viash_version" : "0.9.0",
|
||||
"git_commit" : "3c05b7950b9627acdaa70687e0915d5ee69b6d1b",
|
||||
"git_commit" : "bd5b2d41718677ee367d3829447241df9733c8d3",
|
||||
"git_remote" : "https://github.com/viash-hub/htrnaseq"
|
||||
},
|
||||
"package_config" : {
|
||||
|
||||
@@ -182,7 +182,7 @@ build_info:
|
||||
output: "target/nextflow/stats/generate_pool_statistics"
|
||||
executable: "target/nextflow/stats/generate_pool_statistics/main.nf"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "3c05b7950b9627acdaa70687e0915d5ee69b6d1b"
|
||||
git_commit: "bd5b2d41718677ee367d3829447241df9733c8d3"
|
||||
git_remote: "https://github.com/viash-hub/htrnaseq"
|
||||
package_config:
|
||||
name: "htrnaseq"
|
||||
|
||||
@@ -3044,7 +3044,7 @@ meta = [
|
||||
"engine" : "docker|native",
|
||||
"output" : "target/nextflow/stats/generate_pool_statistics",
|
||||
"viash_version" : "0.9.0",
|
||||
"git_commit" : "3c05b7950b9627acdaa70687e0915d5ee69b6d1b",
|
||||
"git_commit" : "bd5b2d41718677ee367d3829447241df9733c8d3",
|
||||
"git_remote" : "https://github.com/viash-hub/htrnaseq"
|
||||
},
|
||||
"package_config" : {
|
||||
@@ -3096,6 +3096,7 @@ def innerWorkflowFactory(args) {
|
||||
tempscript=".viash_script.sh"
|
||||
cat > "$tempscript" << VIASHMAIN
|
||||
import pandas as pd
|
||||
from pathlib import Path
|
||||
import re
|
||||
|
||||
### VIASH START
|
||||
@@ -3137,20 +3138,25 @@ if __name__ == "__main__":
|
||||
# nrReadsNrGenesPerChrom file
|
||||
#########
|
||||
nr_reads_nr_genes_wells = []
|
||||
par["nrReadsNrGenesPerChrom"] = list(map(Path, par["nrReadsNrGenesPerChrom"]))
|
||||
for nr_reads_nr_genes_file in par["nrReadsNrGenesPerChrom"]:
|
||||
nr_reads_nr_genes_wells.append(pd.read_csv(nr_reads_nr_genes_file,
|
||||
header=0, delimiter="\\\\t",
|
||||
dtype={"WellBC": pd.StringDtype(),
|
||||
"WellID": pd.StringDtype(),
|
||||
"Chr": pd.StringDtype(),
|
||||
"NumberOfReads": pd.UInt64Dtype(),
|
||||
"NumberOfGenes": pd.UInt64Dtype()}))
|
||||
nr_reads_nr_gene_well = pd.read_csv(nr_reads_nr_genes_file,
|
||||
header=0, delimiter="\\\\t",
|
||||
dtype={"WellBC": pd.StringDtype(),
|
||||
"WellID": pd.StringDtype(),
|
||||
"Chr": pd.StringDtype(),
|
||||
"NumberOfReads": pd.UInt64Dtype(),
|
||||
"NumberOfGenes": pd.UInt64Dtype()})
|
||||
if nr_reads_nr_gene_well.empty:
|
||||
raise ValueError(f"{nr_reads_nr_genes_file.name} does not seem to contain any information!")
|
||||
nr_reads_nr_genes_wells.append(nr_reads_nr_gene_well)
|
||||
nr_reads_nr_genes_pool = pd.concat(nr_reads_nr_genes_wells, ignore_index=True,)
|
||||
total_nr_reads_per_chromosome = nr_reads_nr_genes_pool.pivot_table(index=INDEX_COL, columns="Chr",
|
||||
values=["NumberOfReads"], fill_value=0,
|
||||
aggfunc="sum").droplevel(0, axis=1)
|
||||
total_nr_reads_per_chromosome.columns.name = None
|
||||
|
||||
# Remove scaffolds/chromosomes with no counts
|
||||
total_nr_reads_per_chromosome = total_nr_reads_per_chromosome.loc[:, (total_nr_reads_per_chromosome != 0).any(axis=0)]
|
||||
##### Total number of genes from all chromosomes
|
||||
total_nr_genes = nr_reads_nr_genes_pool.loc[:, INDEX_COL + ['NumberOfGenes']].groupby(["WellBC", "WellID"]).sum()
|
||||
|
||||
|
||||
@@ -264,7 +264,7 @@ build_info:
|
||||
output: "target/nextflow/stats/generate_well_statistics"
|
||||
executable: "target/nextflow/stats/generate_well_statistics/main.nf"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "3c05b7950b9627acdaa70687e0915d5ee69b6d1b"
|
||||
git_commit: "bd5b2d41718677ee367d3829447241df9733c8d3"
|
||||
git_remote: "https://github.com/viash-hub/htrnaseq"
|
||||
package_config:
|
||||
name: "htrnaseq"
|
||||
|
||||
@@ -3139,7 +3139,7 @@ meta = [
|
||||
"engine" : "docker|native",
|
||||
"output" : "target/nextflow/stats/generate_well_statistics",
|
||||
"viash_version" : "0.9.0",
|
||||
"git_commit" : "3c05b7950b9627acdaa70687e0915d5ee69b6d1b",
|
||||
"git_commit" : "bd5b2d41718677ee367d3829447241df9733c8d3",
|
||||
"git_remote" : "https://github.com/viash-hub/htrnaseq"
|
||||
},
|
||||
"package_config" : {
|
||||
@@ -3270,6 +3270,7 @@ if __name__ == "__main__":
|
||||
NumberOfReads=pd.NamedAgg("GX", aggfunc="size"),
|
||||
NumberOfGenes=pd.NamedAgg(column="GX", aggfunc="nunique")
|
||||
)
|
||||
nr_reads_nr_genes = nr_reads_nr_genes.reindex(samfile.header.references, fill_value=0)
|
||||
logger.info("Done calculating number of reads per gene and per chromesome. Writing to %s",
|
||||
par['nrReadsNrGenesPerChrom'])
|
||||
nr_reads_nr_genes.reset_index(names="Chr").assign(WellBC=par["barcode"], WellID=par["well_id"])\\\\
|
||||
|
||||
@@ -165,7 +165,7 @@ build_info:
|
||||
output: "target/nextflow/utils/listInputDir"
|
||||
executable: "target/nextflow/utils/listInputDir/main.nf"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "3c05b7950b9627acdaa70687e0915d5ee69b6d1b"
|
||||
git_commit: "bd5b2d41718677ee367d3829447241df9733c8d3"
|
||||
git_remote: "https://github.com/viash-hub/htrnaseq"
|
||||
package_config:
|
||||
name: "htrnaseq"
|
||||
|
||||
@@ -3004,7 +3004,7 @@ meta = [
|
||||
"engine" : "native|native",
|
||||
"output" : "target/nextflow/utils/listInputDir",
|
||||
"viash_version" : "0.9.0",
|
||||
"git_commit" : "3c05b7950b9627acdaa70687e0915d5ee69b6d1b",
|
||||
"git_commit" : "bd5b2d41718677ee367d3829447241df9733c8d3",
|
||||
"git_remote" : "https://github.com/viash-hub/htrnaseq"
|
||||
},
|
||||
"package_config" : {
|
||||
|
||||
@@ -197,6 +197,10 @@ test_resources:
|
||||
path: "test.nf"
|
||||
is_executable: true
|
||||
entrypoint: "test_wf"
|
||||
- type: "nextflow_script"
|
||||
path: "test.nf"
|
||||
is_executable: true
|
||||
entrypoint: "test_wf2"
|
||||
info: null
|
||||
status: "enabled"
|
||||
requirements:
|
||||
@@ -319,7 +323,7 @@ build_info:
|
||||
output: "target/nextflow/workflows/htrnaseq"
|
||||
executable: "target/nextflow/workflows/htrnaseq/main.nf"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "3c05b7950b9627acdaa70687e0915d5ee69b6d1b"
|
||||
git_commit: "bd5b2d41718677ee367d3829447241df9733c8d3"
|
||||
git_remote: "https://github.com/viash-hub/htrnaseq"
|
||||
dependencies:
|
||||
- "target/nextflow/stats/combine_star_logs"
|
||||
|
||||
@@ -3049,6 +3049,12 @@ meta = [
|
||||
"path" : "test.nf",
|
||||
"is_executable" : true,
|
||||
"entrypoint" : "test_wf"
|
||||
},
|
||||
{
|
||||
"type" : "nextflow_script",
|
||||
"path" : "test.nf",
|
||||
"is_executable" : true,
|
||||
"entrypoint" : "test_wf2"
|
||||
}
|
||||
],
|
||||
"status" : "enabled",
|
||||
@@ -3223,7 +3229,7 @@ meta = [
|
||||
"engine" : "native|native",
|
||||
"output" : "target/nextflow/workflows/htrnaseq",
|
||||
"viash_version" : "0.9.0",
|
||||
"git_commit" : "3c05b7950b9627acdaa70687e0915d5ee69b6d1b",
|
||||
"git_commit" : "bd5b2d41718677ee367d3829447241df9733c8d3",
|
||||
"git_remote" : "https://github.com/viash-hub/htrnaseq"
|
||||
},
|
||||
"package_config" : {
|
||||
|
||||
@@ -207,7 +207,7 @@ build_info:
|
||||
output: "target/nextflow/workflows/runner"
|
||||
executable: "target/nextflow/workflows/runner/main.nf"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "3c05b7950b9627acdaa70687e0915d5ee69b6d1b"
|
||||
git_commit: "bd5b2d41718677ee367d3829447241df9733c8d3"
|
||||
git_remote: "https://github.com/viash-hub/htrnaseq"
|
||||
dependencies:
|
||||
- "target/nextflow/utils/listInputDir"
|
||||
|
||||
@@ -3069,7 +3069,7 @@ meta = [
|
||||
"engine" : "native|native",
|
||||
"output" : "target/nextflow/workflows/runner",
|
||||
"viash_version" : "0.9.0",
|
||||
"git_commit" : "3c05b7950b9627acdaa70687e0915d5ee69b6d1b",
|
||||
"git_commit" : "bd5b2d41718677ee367d3829447241df9733c8d3",
|
||||
"git_remote" : "https://github.com/viash-hub/htrnaseq"
|
||||
},
|
||||
"package_config" : {
|
||||
|
||||
@@ -211,7 +211,7 @@ build_info:
|
||||
output: "target/nextflow/workflows/well_demultiplex"
|
||||
executable: "target/nextflow/workflows/well_demultiplex/main.nf"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "3c05b7950b9627acdaa70687e0915d5ee69b6d1b"
|
||||
git_commit: "bd5b2d41718677ee367d3829447241df9733c8d3"
|
||||
git_remote: "https://github.com/viash-hub/htrnaseq"
|
||||
dependencies:
|
||||
- "target/dependencies/vsh/vsh/biobox/v0.3.0/nextflow/cutadapt"
|
||||
|
||||
@@ -3084,7 +3084,7 @@ meta = [
|
||||
"engine" : "native|native",
|
||||
"output" : "target/nextflow/workflows/well_demultiplex",
|
||||
"viash_version" : "0.9.0",
|
||||
"git_commit" : "3c05b7950b9627acdaa70687e0915d5ee69b6d1b",
|
||||
"git_commit" : "bd5b2d41718677ee367d3829447241df9733c8d3",
|
||||
"git_remote" : "https://github.com/viash-hub/htrnaseq"
|
||||
},
|
||||
"package_config" : {
|
||||
|
||||
@@ -209,7 +209,7 @@ build_info:
|
||||
output: "target/nextflow/workflows/well_metadata"
|
||||
executable: "target/nextflow/workflows/well_metadata/main.nf"
|
||||
viash_version: "0.9.0"
|
||||
git_commit: "3c05b7950b9627acdaa70687e0915d5ee69b6d1b"
|
||||
git_commit: "bd5b2d41718677ee367d3829447241df9733c8d3"
|
||||
git_remote: "https://github.com/viash-hub/htrnaseq"
|
||||
package_config:
|
||||
name: "htrnaseq"
|
||||
|
||||
@@ -3064,7 +3064,7 @@ meta = [
|
||||
"engine" : "native|native",
|
||||
"output" : "target/nextflow/workflows/well_metadata",
|
||||
"viash_version" : "0.9.0",
|
||||
"git_commit" : "3c05b7950b9627acdaa70687e0915d5ee69b6d1b",
|
||||
"git_commit" : "bd5b2d41718677ee367d3829447241df9733c8d3",
|
||||
"git_remote" : "https://github.com/viash-hub/htrnaseq"
|
||||
},
|
||||
"package_config" : {
|
||||
|
||||
Reference in New Issue
Block a user