From e3be4c44616aec592dc33b9ad91c25bb2ec00b38 Mon Sep 17 00:00:00 2001 From: CI Date: Tue, 6 May 2025 20:36:16 +0000 Subject: [PATCH] Build branch main with version main (b0db228) Build pipeline: viash-hub.biobox.main-nmzjs Source commit: https://github.com/viash-hub/biobox/commit/b0db228825f3441b4651527e8775e8fc87d06e60 Source message: Update readme (#177) * update image * add changelog * make readme more generic * fix url * make images relative again --- CHANGELOG.md | 11 + README.md | 152 +- README.qmd | 127 +- _viash.yaml | 13 +- docs/viash-hub.png | Bin 0 -> 148562 bytes .../cellranger_count/config.vsh.yaml | 178 + src/cellranger/cellranger_count/help.txt | 126 + src/cellranger/cellranger_count/script.sh | 111 + src/cellranger/cellranger_count/test.sh | 56 + src/cellranger/cellranger_mkref/script.sh | 26 +- .../agat_convert_bed2gff/.config.vsh.yaml | 17 +- .../agat_convert_bed2gff/agat_convert_bed2gff | 4 +- .../agat_convert_embl2gff/.config.vsh.yaml | 17 +- .../agat_convert_embl2gff | 4 +- .../agat_convert_genscan2gff/.config.vsh.yaml | 17 +- .../agat_convert_genscan2gff | 4 +- .../agat_convert_mfannot2gff/.config.vsh.yaml | 17 +- .../agat_convert_mfannot2gff | 4 +- .../agat_convert_sp_gff2gtf/.config.vsh.yaml | 17 +- .../agat_convert_sp_gff2gtf | 4 +- .../agat_convert_sp_gff2tsv/.config.vsh.yaml | 17 +- .../agat_convert_sp_gff2tsv | 4 +- .../agat_convert_sp_gxf2gxf/.config.vsh.yaml | 17 +- .../agat_convert_sp_gxf2gxf | 4 +- .../agat/agat_sp_add_introns/.config.vsh.yaml | 17 +- .../agat_sp_add_introns/agat_sp_add_introns | 4 +- .../.config.vsh.yaml | 17 +- .../agat_sp_filter_feature_from_kill_list | 4 +- .../.config.vsh.yaml | 17 +- .../agat_sp_merge_annotations | 4 +- .../agat/agat_sp_statistics/.config.vsh.yaml | 17 +- .../agat_sp_statistics/agat_sp_statistics | 4 +- .../agat/agat_sq_stat_basic/.config.vsh.yaml | 17 +- .../agat_sq_stat_basic/agat_sq_stat_basic | 4 +- target/executable/arriba/.config.vsh.yaml | 17 +- target/executable/arriba/arriba | 4 +- .../executable/bases2fastq/.config.vsh.yaml | 17 +- target/executable/bases2fastq/bases2fastq | 4 +- .../bbmap/bbmap_bbsplit/.config.vsh.yaml | 17 +- .../bbmap/bbmap_bbsplit/bbmap_bbsplit | 4 +- .../bcftools_annotate/.config.vsh.yaml | 17 +- .../bcftools_annotate/bcftools_annotate | 4 +- .../bcftools/bcftools_concat/.config.vsh.yaml | 17 +- .../bcftools/bcftools_concat/bcftools_concat | 4 +- .../bcftools/bcftools_norm/.config.vsh.yaml | 17 +- .../bcftools/bcftools_norm/bcftools_norm | 4 +- .../bcftools/bcftools_sort/.config.vsh.yaml | 17 +- .../bcftools/bcftools_sort/bcftools_sort | 4 +- .../bcftools/bcftools_stats/.config.vsh.yaml | 17 +- .../bcftools/bcftools_stats/bcftools_stats | 4 +- .../executable/bcl_convert/.config.vsh.yaml | 17 +- target/executable/bcl_convert/bcl_convert | 4 +- .../.config.vsh.yaml | 17 +- .../bd_rhapsody_make_reference | 4 +- .../.config.vsh.yaml | 17 +- .../bd_rhapsody_sequence_analysis | 4 +- .../bedtools_bamtobed/.config.vsh.yaml | 17 +- .../bedtools_bamtobed/bedtools_bamtobed | 4 +- .../bedtools_bamtofastq/.config.vsh.yaml | 17 +- .../bedtools_bamtofastq/bedtools_bamtofastq | 4 +- .../bedtools_bed12tobed6/.config.vsh.yaml | 17 +- .../bedtools_bed12tobed6/bedtools_bed12tobed6 | 4 +- .../bedtools_bedtobam/.config.vsh.yaml | 17 +- .../bedtools_bedtobam/bedtools_bedtobam | 4 +- .../bedtools_genomecov/.config.vsh.yaml | 17 +- .../bedtools_genomecov/bedtools_genomecov | 4 +- .../bedtools_getfasta/.config.vsh.yaml | 17 +- .../bedtools_getfasta/bedtools_getfasta | 4 +- .../bedtools_groupby/.config.vsh.yaml | 17 +- .../bedtools_groupby/bedtools_groupby | 4 +- .../bedtools_intersect/.config.vsh.yaml | 17 +- .../bedtools_intersect/bedtools_intersect | 4 +- .../bedtools/bedtools_links/.config.vsh.yaml | 17 +- .../bedtools/bedtools_links/bedtools_links | 4 +- .../bedtools/bedtools_merge/.config.vsh.yaml | 17 +- .../bedtools/bedtools_merge/bedtools_merge | 4 +- .../bedtools/bedtools_sort/.config.vsh.yaml | 17 +- .../bedtools/bedtools_sort/bedtools_sort | 4 +- .../busco_download_datasets/.config.vsh.yaml | 17 +- .../busco_download_datasets | 4 +- .../busco_list_datasets/.config.vsh.yaml | 17 +- .../busco_list_datasets/busco_list_datasets | 4 +- .../busco/busco_run/.config.vsh.yaml | 17 +- target/executable/busco/busco_run/busco_run | 4 +- .../cellranger_count/.config.vsh.yaml | 416 ++ .../cellranger_count/cellranger_count | 1724 +++++++ .../cellranger_mkref/.config.vsh.yaml | 17 +- .../cellranger_mkref/cellranger_mkref | 30 +- target/executable/cutadapt/.config.vsh.yaml | 17 +- target/executable/cutadapt/cutadapt | 4 +- target/executable/falco/.config.vsh.yaml | 17 +- target/executable/falco/falco | 4 +- target/executable/fastp/.config.vsh.yaml | 17 +- target/executable/fastp/fastp | 4 +- target/executable/fastqc/.config.vsh.yaml | 17 +- target/executable/fastqc/fastqc | 4 +- .../executable/featurecounts/.config.vsh.yaml | 17 +- target/executable/featurecounts/featurecounts | 4 +- .../executable/fq_subsample/.config.vsh.yaml | 17 +- target/executable/fq_subsample/fq_subsample | 4 +- target/executable/gffread/.config.vsh.yaml | 17 +- target/executable/gffread/gffread | 4 +- .../kallisto/kallisto_index/.config.vsh.yaml | 17 +- .../kallisto/kallisto_index/kallisto_index | 4 +- .../kallisto/kallisto_quant/.config.vsh.yaml | 17 +- .../kallisto/kallisto_quant/kallisto_quant | 4 +- .../lofreq/lofreq_call/.config.vsh.yaml | 17 +- .../executable/lofreq/lofreq_call/lofreq_call | 4 +- .../lofreq/lofreq_indelqual/.config.vsh.yaml | 17 +- .../lofreq/lofreq_indelqual/lofreq_indelqual | 4 +- target/executable/multiqc/.config.vsh.yaml | 17 +- target/executable/multiqc/multiqc | 4 +- target/executable/nanoplot/.config.vsh.yaml | 17 +- target/executable/nanoplot/nanoplot | 4 +- target/executable/pear/.config.vsh.yaml | 17 +- target/executable/pear/pear | 4 +- .../qualimap/qualimap_rnaseq/.config.vsh.yaml | 17 +- .../qualimap/qualimap_rnaseq/qualimap_rnaseq | 4 +- .../.config.vsh.yaml | 17 +- .../rsem_calculate_expression | 4 +- .../rsem_prepare_reference/.config.vsh.yaml | 17 +- .../rsem_prepare_reference | 4 +- .../rseqc/rseqc_bamstat/.config.vsh.yaml | 17 +- .../rseqc/rseqc_bamstat/rseqc_bamstat | 4 +- .../rseqc_inferexperiment/.config.vsh.yaml | 17 +- .../rseqc_inferexperiment | 4 +- .../rseqc_inner_distance/.config.vsh.yaml | 17 +- .../rseqc_inner_distance/rseqc_inner_distance | 4 +- .../salmon/salmon_index/.config.vsh.yaml | 17 +- .../salmon/salmon_index/salmon_index | 4 +- .../salmon/salmon_quant/.config.vsh.yaml | 17 +- .../salmon/salmon_quant/salmon_quant | 4 +- .../samtools_collate/.config.vsh.yaml | 17 +- .../samtools_collate/samtools_collate | 4 +- .../samtools/samtools_faidx/.config.vsh.yaml | 17 +- .../samtools/samtools_faidx/samtools_faidx | 4 +- .../samtools/samtools_fasta/.config.vsh.yaml | 17 +- .../samtools/samtools_fasta/samtools_fasta | 4 +- .../samtools/samtools_fastq/.config.vsh.yaml | 17 +- .../samtools/samtools_fastq/samtools_fastq | 4 +- .../samtools_flagstat/.config.vsh.yaml | 17 +- .../samtools_flagstat/samtools_flagstat | 4 +- .../samtools_idxstats/.config.vsh.yaml | 17 +- .../samtools_idxstats/samtools_idxstats | 4 +- .../samtools/samtools_index/.config.vsh.yaml | 17 +- .../samtools/samtools_index/samtools_index | 4 +- .../samtools/samtools_sort/.config.vsh.yaml | 17 +- .../samtools/samtools_sort/samtools_sort | 4 +- .../samtools/samtools_stats/.config.vsh.yaml | 17 +- .../samtools/samtools_stats/samtools_stats | 4 +- .../samtools/samtools_view/.config.vsh.yaml | 17 +- .../samtools/samtools_view/samtools_view | 4 +- .../seqtk/seqtk_sample/.config.vsh.yaml | 17 +- .../seqtk/seqtk_sample/seqtk_sample | 4 +- .../seqtk/seqtk_subseq/.config.vsh.yaml | 17 +- .../seqtk/seqtk_subseq/seqtk_subseq | 4 +- target/executable/sgdemux/.config.vsh.yaml | 17 +- target/executable/sgdemux/sgdemux | 4 +- target/executable/snpeff/.config.vsh.yaml | 17 +- target/executable/snpeff/snpeff | 4 +- target/executable/sortmerna/.config.vsh.yaml | 17 +- target/executable/sortmerna/sortmerna | 4 +- .../star/star_align_reads/.config.vsh.yaml | 17 +- .../star/star_align_reads/star_align_reads | 4 +- .../star_genome_generate/.config.vsh.yaml | 17 +- .../star_genome_generate/star_genome_generate | 4 +- target/executable/trimgalore/.config.vsh.yaml | 17 +- target/executable/trimgalore/trimgalore | 4 +- .../umi_tools_dedup/.config.vsh.yaml | 17 +- .../umi_tools/umi_tools_dedup/umi_tools_dedup | 4 +- .../umi_tools_extract/.config.vsh.yaml | 17 +- .../umi_tools_extract/umi_tools_extract | 4 +- .../umi_tools_prepareforrsem/.config.vsh.yaml | 17 +- .../umi_tools_prepareforrsem | 4 +- .../agat_convert_bed2gff/.config.vsh.yaml | 17 +- .../agat/agat_convert_bed2gff/main.nf | 7 +- .../agat_convert_embl2gff/.config.vsh.yaml | 17 +- .../agat/agat_convert_embl2gff/main.nf | 7 +- .../agat_convert_genscan2gff/.config.vsh.yaml | 17 +- .../agat/agat_convert_genscan2gff/main.nf | 7 +- .../agat_convert_mfannot2gff/.config.vsh.yaml | 17 +- .../agat/agat_convert_mfannot2gff/main.nf | 7 +- .../agat_convert_sp_gff2gtf/.config.vsh.yaml | 17 +- .../agat/agat_convert_sp_gff2gtf/main.nf | 7 +- .../agat_convert_sp_gff2tsv/.config.vsh.yaml | 17 +- .../agat/agat_convert_sp_gff2tsv/main.nf | 7 +- .../agat_convert_sp_gxf2gxf/.config.vsh.yaml | 17 +- .../agat/agat_convert_sp_gxf2gxf/main.nf | 7 +- .../agat/agat_sp_add_introns/.config.vsh.yaml | 17 +- .../nextflow/agat/agat_sp_add_introns/main.nf | 7 +- .../.config.vsh.yaml | 17 +- .../main.nf | 7 +- .../.config.vsh.yaml | 17 +- .../agat/agat_sp_merge_annotations/main.nf | 7 +- .../agat/agat_sp_statistics/.config.vsh.yaml | 17 +- .../nextflow/agat/agat_sp_statistics/main.nf | 7 +- .../agat/agat_sq_stat_basic/.config.vsh.yaml | 17 +- .../nextflow/agat/agat_sq_stat_basic/main.nf | 7 +- target/nextflow/arriba/.config.vsh.yaml | 17 +- target/nextflow/arriba/main.nf | 7 +- target/nextflow/bases2fastq/.config.vsh.yaml | 17 +- target/nextflow/bases2fastq/main.nf | 7 +- .../bbmap/bbmap_bbsplit/.config.vsh.yaml | 17 +- target/nextflow/bbmap/bbmap_bbsplit/main.nf | 7 +- .../bcftools_annotate/.config.vsh.yaml | 17 +- .../bcftools/bcftools_annotate/main.nf | 7 +- .../bcftools/bcftools_concat/.config.vsh.yaml | 17 +- .../nextflow/bcftools/bcftools_concat/main.nf | 7 +- .../bcftools/bcftools_norm/.config.vsh.yaml | 17 +- .../nextflow/bcftools/bcftools_norm/main.nf | 7 +- .../bcftools/bcftools_sort/.config.vsh.yaml | 17 +- .../nextflow/bcftools/bcftools_sort/main.nf | 7 +- .../bcftools/bcftools_stats/.config.vsh.yaml | 17 +- .../nextflow/bcftools/bcftools_stats/main.nf | 7 +- target/nextflow/bcl_convert/.config.vsh.yaml | 17 +- target/nextflow/bcl_convert/main.nf | 7 +- .../.config.vsh.yaml | 17 +- .../bd_rhapsody_make_reference/main.nf | 7 +- .../.config.vsh.yaml | 17 +- .../bd_rhapsody_sequence_analysis/main.nf | 7 +- .../bedtools_bamtobed/.config.vsh.yaml | 17 +- .../bedtools/bedtools_bamtobed/main.nf | 7 +- .../bedtools_bamtofastq/.config.vsh.yaml | 17 +- .../bedtools/bedtools_bamtofastq/main.nf | 7 +- .../bedtools_bed12tobed6/.config.vsh.yaml | 17 +- .../bedtools/bedtools_bed12tobed6/main.nf | 7 +- .../bedtools_bedtobam/.config.vsh.yaml | 17 +- .../bedtools/bedtools_bedtobam/main.nf | 7 +- .../bedtools_genomecov/.config.vsh.yaml | 17 +- .../bedtools/bedtools_genomecov/main.nf | 7 +- .../bedtools_getfasta/.config.vsh.yaml | 17 +- .../bedtools/bedtools_getfasta/main.nf | 7 +- .../bedtools_groupby/.config.vsh.yaml | 17 +- .../bedtools/bedtools_groupby/main.nf | 7 +- .../bedtools_intersect/.config.vsh.yaml | 17 +- .../bedtools/bedtools_intersect/main.nf | 7 +- .../bedtools/bedtools_links/.config.vsh.yaml | 17 +- .../nextflow/bedtools/bedtools_links/main.nf | 7 +- .../bedtools/bedtools_merge/.config.vsh.yaml | 17 +- .../nextflow/bedtools/bedtools_merge/main.nf | 7 +- .../bedtools/bedtools_sort/.config.vsh.yaml | 17 +- .../nextflow/bedtools/bedtools_sort/main.nf | 7 +- .../busco_download_datasets/.config.vsh.yaml | 17 +- .../busco/busco_download_datasets/main.nf | 7 +- .../busco_list_datasets/.config.vsh.yaml | 17 +- .../busco/busco_list_datasets/main.nf | 7 +- .../nextflow/busco/busco_run/.config.vsh.yaml | 17 +- target/nextflow/busco/busco_run/main.nf | 7 +- .../cellranger_count/.config.vsh.yaml | 416 ++ .../cellranger/cellranger_count/main.nf | 4174 +++++++++++++++++ .../cellranger_count/nextflow.config | 126 + .../cellranger_count/nextflow_schema.json | 343 ++ .../cellranger_mkref/.config.vsh.yaml | 17 +- .../cellranger/cellranger_mkref/main.nf | 33 +- target/nextflow/cutadapt/.config.vsh.yaml | 17 +- target/nextflow/cutadapt/main.nf | 7 +- target/nextflow/falco/.config.vsh.yaml | 17 +- target/nextflow/falco/main.nf | 7 +- target/nextflow/fastp/.config.vsh.yaml | 17 +- target/nextflow/fastp/main.nf | 7 +- target/nextflow/fastqc/.config.vsh.yaml | 17 +- target/nextflow/fastqc/main.nf | 7 +- .../nextflow/featurecounts/.config.vsh.yaml | 17 +- target/nextflow/featurecounts/main.nf | 7 +- target/nextflow/fq_subsample/.config.vsh.yaml | 17 +- target/nextflow/fq_subsample/main.nf | 7 +- target/nextflow/gffread/.config.vsh.yaml | 17 +- target/nextflow/gffread/main.nf | 7 +- .../kallisto/kallisto_index/.config.vsh.yaml | 17 +- .../nextflow/kallisto/kallisto_index/main.nf | 7 +- .../kallisto/kallisto_quant/.config.vsh.yaml | 17 +- .../nextflow/kallisto/kallisto_quant/main.nf | 7 +- .../lofreq/lofreq_call/.config.vsh.yaml | 17 +- target/nextflow/lofreq/lofreq_call/main.nf | 7 +- .../lofreq/lofreq_indelqual/.config.vsh.yaml | 17 +- .../nextflow/lofreq/lofreq_indelqual/main.nf | 7 +- target/nextflow/multiqc/.config.vsh.yaml | 17 +- target/nextflow/multiqc/main.nf | 7 +- target/nextflow/nanoplot/.config.vsh.yaml | 17 +- target/nextflow/nanoplot/main.nf | 7 +- target/nextflow/pear/.config.vsh.yaml | 17 +- target/nextflow/pear/main.nf | 7 +- .../qualimap/qualimap_rnaseq/.config.vsh.yaml | 17 +- .../nextflow/qualimap/qualimap_rnaseq/main.nf | 7 +- .../.config.vsh.yaml | 17 +- .../rsem/rsem_calculate_expression/main.nf | 7 +- .../rsem_prepare_reference/.config.vsh.yaml | 17 +- .../rsem/rsem_prepare_reference/main.nf | 7 +- .../rseqc/rseqc_bamstat/.config.vsh.yaml | 17 +- target/nextflow/rseqc/rseqc_bamstat/main.nf | 7 +- .../rseqc_inferexperiment/.config.vsh.yaml | 17 +- .../rseqc/rseqc_inferexperiment/main.nf | 7 +- .../rseqc_inner_distance/.config.vsh.yaml | 17 +- .../rseqc/rseqc_inner_distance/main.nf | 7 +- .../salmon/salmon_index/.config.vsh.yaml | 17 +- target/nextflow/salmon/salmon_index/main.nf | 7 +- .../salmon/salmon_quant/.config.vsh.yaml | 17 +- target/nextflow/salmon/salmon_quant/main.nf | 7 +- .../samtools_collate/.config.vsh.yaml | 17 +- .../samtools/samtools_collate/main.nf | 7 +- .../samtools/samtools_faidx/.config.vsh.yaml | 17 +- .../nextflow/samtools/samtools_faidx/main.nf | 7 +- .../samtools/samtools_fasta/.config.vsh.yaml | 17 +- .../nextflow/samtools/samtools_fasta/main.nf | 7 +- .../samtools/samtools_fastq/.config.vsh.yaml | 17 +- .../nextflow/samtools/samtools_fastq/main.nf | 7 +- .../samtools_flagstat/.config.vsh.yaml | 17 +- .../samtools/samtools_flagstat/main.nf | 7 +- .../samtools_idxstats/.config.vsh.yaml | 17 +- .../samtools/samtools_idxstats/main.nf | 7 +- .../samtools/samtools_index/.config.vsh.yaml | 17 +- .../nextflow/samtools/samtools_index/main.nf | 7 +- .../samtools/samtools_sort/.config.vsh.yaml | 17 +- .../nextflow/samtools/samtools_sort/main.nf | 7 +- .../samtools/samtools_stats/.config.vsh.yaml | 17 +- .../nextflow/samtools/samtools_stats/main.nf | 7 +- .../samtools/samtools_view/.config.vsh.yaml | 17 +- .../nextflow/samtools/samtools_view/main.nf | 7 +- .../seqtk/seqtk_sample/.config.vsh.yaml | 17 +- target/nextflow/seqtk/seqtk_sample/main.nf | 7 +- .../seqtk/seqtk_subseq/.config.vsh.yaml | 17 +- target/nextflow/seqtk/seqtk_subseq/main.nf | 7 +- target/nextflow/sgdemux/.config.vsh.yaml | 17 +- target/nextflow/sgdemux/main.nf | 7 +- target/nextflow/snpeff/.config.vsh.yaml | 17 +- target/nextflow/snpeff/main.nf | 7 +- target/nextflow/sortmerna/.config.vsh.yaml | 17 +- target/nextflow/sortmerna/main.nf | 7 +- .../star/star_align_reads/.config.vsh.yaml | 17 +- target/nextflow/star/star_align_reads/main.nf | 7 +- .../star_genome_generate/.config.vsh.yaml | 17 +- .../star/star_genome_generate/main.nf | 7 +- target/nextflow/trimgalore/.config.vsh.yaml | 17 +- target/nextflow/trimgalore/main.nf | 7 +- .../umi_tools_dedup/.config.vsh.yaml | 17 +- .../umi_tools/umi_tools_dedup/main.nf | 7 +- .../umi_tools_extract/.config.vsh.yaml | 17 +- .../umi_tools/umi_tools_extract/main.nf | 7 +- .../umi_tools_prepareforrsem/.config.vsh.yaml | 17 +- .../umi_tools_prepareforrsem/main.nf | 7 +- 340 files changed, 10709 insertions(+), 987 deletions(-) create mode 100644 docs/viash-hub.png create mode 100644 src/cellranger/cellranger_count/config.vsh.yaml create mode 100644 src/cellranger/cellranger_count/help.txt create mode 100644 src/cellranger/cellranger_count/script.sh create mode 100644 src/cellranger/cellranger_count/test.sh create mode 100644 target/executable/cellranger/cellranger_count/.config.vsh.yaml create mode 100755 target/executable/cellranger/cellranger_count/cellranger_count create mode 100644 target/nextflow/cellranger/cellranger_count/.config.vsh.yaml create mode 100644 target/nextflow/cellranger/cellranger_count/main.nf create mode 100644 target/nextflow/cellranger/cellranger_count/nextflow.config create mode 100644 target/nextflow/cellranger/cellranger_count/nextflow_schema.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 6bcd4cba..c48e9579 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,15 @@ +# biobox 0.3.2 + +## MINOR CHANGES + +* Update README (PR #177). + # biobox 0.3.1 ## NEW FUNCTIONALITY * `bcl_convert`: add `force` argument (PR #171). +* `cellranger/cellranger_count`: Align fastq files using Cell Ranger count (PR #163). ## MINOR CHANGES @@ -10,6 +17,10 @@ * Bump viash to `0.9.4` (PR #175). +## DOCUMENTATION + +* Update README (PR #176). + # biobox 0.3.0 ## NEW FUNCTIONALITY diff --git a/README.md b/README.md index 4b497dcd..46b50ffa 100644 --- a/README.md +++ b/README.md @@ -2,41 +2,126 @@ # 🌱📦 biobox -[![ViashHub](https://img.shields.io/badge/ViashHub-biobox-7a4baa.png)](https://web.viash-hub.com/packages/biobox) -[![GitHub](https://img.shields.io/badge/GitHub-viash--hub%2Fbiobox-blue.png)](https://github.com/viash-hub/biobox) +[![ViashHub](https://img.shields.io/badge/ViashHub-biobox-7a4baa.svg)](https://www.viash-hub.com/packages/biobox) +[![GitHub](https://img.shields.io/badge/GitHub-viash--hub%2Fbiobox-blue.svg)](https://github.com/viash-hub/biobox) [![GitHub -License](https://img.shields.io/github/license/viash-hub/biobox.png)](https://github.com/viash-hub/biobox/blob/main/LICENSE) +License](https://img.shields.io/github/license/viash-hub/biobox.svg)](https://github.com/viash-hub/biobox/blob/main/LICENSE) [![GitHub -Issues](https://img.shields.io/github/issues/viash-hub/biobox.png)](https://github.com/viash-hub/biobox/issues) +Issues](https://img.shields.io/github/issues/viash-hub/biobox.svg)](https://github.com/viash-hub/biobox/issues) [![Viash -version](https://img.shields.io/badge/Viash-v0.9.0--RC6-blue)](https://viash.io) +version](https://img.shields.io/badge/Viash-v0.9.4-blue.svg)](https://viash.io) -A collection of bioinformatics tools for working with sequence data. +A curated collection of high-quality, standalone bioinformatics +components built with [Viash](https://viash.io). -## Objectives +## Introduction -- **Reusability**: Facilitating the use of components across various - projects and contexts. -- **Reproducibility**: Ensuring that components are reproducible and can - be easily shared. -- **Best Practices**: Adhering to established standards in software - development and bioinformatics. +`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. + +This approach emphasizes **reusability**, **reproducibility**, and +adherence to **best practices**. Key features of `biobox` components +include: + +- **Standalone & Nextflow Ready:** Run components directly via the + command line or seamlessly integrate them into Nextflow workflows. +- **High Quality Standards:** + - Comprehensive documentation for components and parameters. + - Full exposure of underlying tool arguments. + - Containerized (Docker) for dependency management and + reproducibility. + - Unit tested for verified functionality. + +## Example Usage + +Viash components in biobox can be run in various ways: + +``` mermaid lang="mermaid" +flowchart TD + A[biobox v0.3.1] --> B(Viash Hub Launch) + A --> C(Viash CLI) + A --> D(Nextflow CLI) + A --> E(Seqera Cloud) + A --> F(As a dependency) +``` + +### 1. Via the Viash Hub Launch interface + +You can run this component directly from the Viash Hub [Launch +interface](https://www.viash-hub.com/launch?package=biobox&version=v0.3.1&component=arriba&runner=Executable). + +![](docs/viash-hub.png) + +### 2. Via the Viash CLI + +You can run this component directly from the command line using the +Viash CLI. + +``` bash +viash run vsh://biobox@v0.3.1/arriba -- --help + +viash run vsh://biobox@v0.3.1/arriba -- \ + --bam path/to/input.bam \ + --genome path/to/genome.fa \ + --gene_annotation path/to/annotation.gtf \ + --fusions path/to/output.txt +``` + +This will run the component with the specified input files and output +the results to the specified output file. + +### 3. Via the Nextflow CLI or Seqera Cloud + +You can run this component as a Nextflow pipeline. + +``` bash +nextflow run https://packages.viash-hub.com/vsh/biobox \ + -revision v0.3.1 \ + -main-script target/nextflow/arriba/main.nf \ + -latest -resume \ + -profile docker \ + --bam path/to/input.bam \ + --genome path/to/genome.fa \ + --gene_annotation path/to/annotation.gtf \ + --publish_dir path/to/output +``` + +**Note:** Make sure that the [Nextflow +SCM](https://www.nextflow.io/docs/latest/git.html#git-configuration) is +set up properly. You can do this by adding the following lines to your +`~/.nextflow/scm` file: + +``` groovy +providers.vsh.platform = 'gitlab' +providers.vsh.server = 'https://packages.viash-hub.com' +``` + +**Tip:** This will also work with Seqera Cloud or other +Nextflow-compatible platforms. + +### 4. As a dependency + +In your Viash config file (`config.vsh.yaml`), you can add this +component as a dependency: + +``` yaml +dependencies: + - name: arriba + repository: vsh://biobox@v0.3.1 +``` + +**Tip:** See the [Viash +documentation](https://viash.io/guide/nextflow_vdsl3/create-a-pipeline.html#pipeline-as-a-component) +for more details on how to use Viash components as a dependency in your +own Nextflow workflows. ## Contributing -We encourage contributions from the community. To contribute: - -1. **Fork the Repository**: Start by forking this repository to your - account. -2. **Develop Your Component**: Create your Viash component, ensuring it - aligns with our best practices (detailed below). -3. **Submit a Pull Request**: After testing your component, submit a - pull request for review. - -## Contribution Guidelines - -The contribution guidelines describes which steps you should follow to -contribute a component to this repository. +Contributions are welcome! We aim to build a comprehensive collection of +high-quality bioinformatics components. If you’d like to contribute, +please follow these general steps: 1. Find a component to contribute 2. Add config template @@ -55,18 +140,3 @@ contribute a component to this repository. See the [CONTRIBUTING](https://github.com/viash-hub/biobox/blob/main/CONTRIBUTING.md) file for more details. - -## Support and Community - -For support, questions, or to join our community: - -- **Issues**: Submit questions or issues via the [GitHub issue - tracker](https://github.com/viash-hub/biobox/issues). -- **Discussions**: Join our discussions via [GitHub - Discussions](https://github.com/viash-hub/biobox/discussions). - -## License - -This repository is licensed under an MIT license. See the -[LICENSE](https://github.com/viash-hub/biobox/blob/main/LICENSE) file -for details. diff --git a/README.qmd b/README.qmd index 7d36430b..ad2e6e90 100644 --- a/README.qmd +++ b/README.qmd @@ -2,37 +2,109 @@ format: gfm --- ```{r setup, include=FALSE} -project <- yaml::read_yaml("_viash.yaml") -license <- paste0(project$links$repository, "/blob/main/LICENSE") -contributing <- paste0(project$links$repository, "/blob/main/CONTRIBUTING.md") +package <- yaml::read_yaml("_viash.yaml") +license <- paste0(package$links$repository, "/blob/main/LICENSE") +contributing <- paste0(package$links$repository, "/blob/main/CONTRIBUTING.md") + +pkg <- package$name +ver <- if (!is.null(package$version)) package$version else "v0.3.1" +comp <- "arriba" ``` -# 🌱📦 `r project$name` +# 🌱📦 `r pkg` -[![ViashHub](https://img.shields.io/badge/ViashHub-`r project$name`-7a4baa)](https://web.viash-hub.com/packages/`r project$name`) -[![GitHub](https://img.shields.io/badge/GitHub-viash--hub%2F`r project$name`-blue)](`r project$links$repository`) -[![GitHub License](https://img.shields.io/github/license/viash-hub/`r project$name`)](`r license`) -[![GitHub Issues](https://img.shields.io/github/issues/viash-hub/`r project$name`)](`r project$links$issue_tracker`) -[![Viash version](https://img.shields.io/badge/Viash-v`r gsub("-", "--", project$viash_version)`-blue)](https://viash.io) +[![ViashHub](https://img.shields.io/badge/ViashHub-`r pkg`-7a4baa.svg)](https://www.viash-hub.com/packages/`r pkg`) +[![GitHub](https://img.shields.io/badge/GitHub-viash--hub%2F`r pkg`-blue.svg)](`r package$links$repository`) +[![GitHub License](https://img.shields.io/github/license/viash-hub/`r pkg`.svg)](`r license`) +[![GitHub Issues](https://img.shields.io/github/issues/viash-hub/`r pkg`.svg)](`r package$links$issue_tracker`) +[![Viash version](https://img.shields.io/badge/Viash-v`r gsub("-", "--", package$viash_version)`-blue.svg)](https://viash.io) -`r project$description` +`r package$summary` -## Objectives +## Introduction -- **Reusability**: Facilitating the use of components across various projects and contexts. -- **Reproducibility**: Ensuring that components are reproducible and can be easily shared. -- **Best Practices**: Adhering to established standards in software development and bioinformatics. +`r package$description` + +## Example Usage + +Viash components in `r pkg` can be run in various ways: + +```{r mmd, echo=FALSE, results='asis'} +cat( + "```mermaid\n", + "flowchart TD\n", + " A[", pkg, " ", ver, "] --> B(Viash Hub Launch)\n", + " A --> C(Viash CLI)\n", + " A --> D(Nextflow CLI)\n", + " A --> E(Seqera Cloud)\n", + " A --> F(As a dependency)\n", + "```\n", + sep = "" +) +``` + +### 1. Via the Viash Hub Launch interface + +You can run this component directly from the Viash Hub [Launch interface](https://www.viash-hub.com/launch?package=`r pkg`&version=`r ver`&component=`r comp`&runner=Executable). + +![](docs/viash-hub.png) + +### 2. Via the Viash CLI + +You can run this component directly from the command line using the Viash CLI. + +```bash +viash run vsh://`r pkg`@`r ver`/`r comp` -- --help + +viash run vsh://`r pkg`@`r ver`/`r comp` -- \ + --bam path/to/input.bam \ + --genome path/to/genome.fa \ + --gene_annotation path/to/annotation.gtf \ + --fusions path/to/output.txt +``` + +This will run the component with the specified input files and output the results to the specified output file. + +### 3. Via the Nextflow CLI or Seqera Cloud + +You can run this component as a Nextflow pipeline. + +```bash +nextflow run https://packages.viash-hub.com/vsh/`r pkg` \ + -revision `r ver` \ + -main-script target/nextflow/`r comp`/main.nf \ + -latest -resume \ + -profile docker \ + --bam path/to/input.bam \ + --genome path/to/genome.fa \ + --gene_annotation path/to/annotation.gtf \ + --publish_dir path/to/output +``` + +**Note:** Make sure that the [Nextflow SCM](https://www.nextflow.io/docs/latest/git.html#git-configuration) is set up properly. You can do this by adding the following lines to your `~/.nextflow/scm` file: + +```groovy +providers.vsh.platform = 'gitlab' +providers.vsh.server = 'https://packages.viash-hub.com' +``` + +**Tip:** This will also work with Seqera Cloud or other Nextflow-compatible platforms. + +### 4. As a dependency + +In your Viash config file (`config.vsh.yaml`), you can add this component as a dependency: + +```yaml +dependencies: + - name: `r comp` + repository: vsh://`r pkg`@`r ver` +``` + +**Tip:** See the [Viash documentation](https://viash.io/guide/nextflow_vdsl3/create-a-pipeline.html#pipeline-as-a-component) for more details on how to use Viash components as a dependency in your own Nextflow workflows. ## Contributing -We encourage contributions from the community. To contribute: +Contributions are welcome! We aim to build a comprehensive collection of high-quality bioinformatics components. If you'd like to contribute, please follow these general steps: -1. **Fork the Repository**: Start by forking this repository to your account. -2. **Develop Your Component**: Create your Viash component, ensuring it aligns with our best practices (detailed below). -3. **Submit a Pull Request**: After testing your component, submit a pull request for review. - -## Contribution Guidelines - -The contribution guidelines describes which steps you should follow to contribute a component to this repository. ```{r echo=FALSE} lines <- readr::read_lines("CONTRIBUTING.md") @@ -49,14 +121,3 @@ knitr::asis_output( ``` See the [CONTRIBUTING](`r contributing`) file for more details. - - -## Support and Community - -For support, questions, or to join our community: - -- **Issues**: Submit questions or issues via the [GitHub issue tracker](`r project$links$issue_tracker`). -- **Discussions**: Join our discussions via [GitHub Discussions](`r project$links$repository`/discussions). - -## License -This repository is licensed under an MIT license. See the [LICENSE](`r license`) file for details. diff --git a/_viash.yaml b/_viash.yaml index dd8e733a..6bfe2f08 100644 --- a/_viash.yaml +++ b/_viash.yaml @@ -1,6 +1,17 @@ name: biobox +summary: | + A curated collection of high-quality, standalone bioinformatics components built with [Viash](https://viash.io). description: | - A collection of bioinformatics tools for working with sequence data. + `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. + + This approach emphasizes **reusability**, **reproducibility**, and adherence to **best practices**. Key features of `biobox` components include: + + * **Standalone & Nextflow Ready:** Run components directly via the command line or seamlessly integrate them into Nextflow workflows. + * **High Quality Standards:** + * Comprehensive documentation for components and parameters. + * Full exposure of underlying tool arguments. + * Containerized (Docker) for dependency management and reproducibility. + * Unit tested for verified functionality. license: MIT keywords: [bioinformatics, modules, sequencing] links: diff --git a/docs/viash-hub.png b/docs/viash-hub.png new file mode 100644 index 0000000000000000000000000000000000000000..60011646f4ce7ffa57b1fcf3fe811e18e40c9d39 GIT binary patch literal 148562 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 not included because it would conflict with our symlink processing of the input files + - name: --description + type: string + description: Sample description to embed in output files + - name: --sample + type: string + description: Prefix of the filenames of FASTQs to select + example: sample_S1 + - name: --lanes + type: integer + description: Only use FASTQs from selected lanes. + example: [1, 2, 3] + multiple: true + - name: --libraries + type: file + description: CSV file declaring input library data sources + example: libraries.csv + + - name: Reference inputs + arguments: + - name: --transcriptome + type: file + required: true + description: Path of folder containing 10x-compatible transcriptome reference. Can also be a `.tar.gz` file. + example: transcriptome.tar.gz + - name: --feature_ref + type: file + description: Feature reference CSV file, declaring Feature Barcode constructs and associated barcodes + example: feature_ref.csv + + - name: Analysis settings + arguments: + - name: --expect_cells + type: integer + description: Expected number of recovered cells, used as input to cell calling algorithm. + - name: --force_cells + type: integer + description: | + Force pipeline to use this number of cells, bypassing cell calling algorithm. Minimum: 10. + - name: --r1_length + type: integer + description: Hard trim the input Read 1 to this length before analysis + - name: --r2_length + type: integer + description: Hard trim the input Read 2 to this length before analysis + - name: --include_introns + type: boolean_true + description: "Include intronic reads in count. Default: true." + - name: --chemistry + type: string + example: "auto" + description: | + Assay configuration. + + NOTE: by default the assay configuration is detected automatically, which is the recommended mode. You usually will not need to specify a chemistry. + + Options are: + + - `'auto'` for autodetection + - `'threeprime'` for Single Cell 3' + - `'fiveprime'` for Single Cell 5' + - `'SC3Pv1'` or `'SC3Pv2'` or `'SC3Pv3'` or `'SC3Pv4'` for + Single Cell 3' v1/v2/v3/v4 + - `'SC3Pv3LT'` for Single Cell 3' v3 LT + - `'SC3Pv3HT'` for Single Cell 3' v3 HT + - `'SC5P-PE'` or `'SC5P-PE-v3'` or `'SC5P-R2'` or `'SC5P-R2-v3'` for Single Cell 5', paired-end/R2-only + - `'SC-FB'` for Single Cell Antibody-only 3' v2 or 5' + + To analyze the GEX portion of multiome data, chemistry must be set to `'ARC-v1'`. + + See the [10x Genomics FAQ](https://kb.10xgenomics.com/hc/en-us/articles/115003764132-How-does-Cell-Ranger-auto-detect-chemistry-) for more information on how chemistry is detected. + - name: --cell_annotation_model + type: string + description: | + Cell annotation model to use. Valid model names can be viewed by + running `cellranger cloud annotation models` or on the + [10x Genomics Support site](https://www.10xgenomics.com/support). + + If "auto", uses the default model for the species. + If not provided, does not run cell annotation. + - name: --min_crispr_umi + type: integer + description: | + Minimum CRISPR UMI threshold. Default: 3. + + - name: Outputs + arguments: + - name: --output + type: file + direction: output + description: The folder to store the alignment results. + required: true + - name: --create_bam + type: boolean_true + description: | + Enable or disable BAM file generation. Setting this to false + reduces the total computation time and the size of the output + directory (BAM file not generated). We recommend setting + it to true if unsure. See https://10xgen.com/create-bam for + additional guidance. + - name: "--no_secondary" + type: boolean_true + description: Disable secondary analysis, e.g. clustering. + + - name: Additional arguments + arguments: + - name: --no_libraries + type: boolean_true + description: | + Proceed with processing using a `--feature_ref` but no Feature Barcode libraries specified with the 'libraries' flag. + - name: --check_library_compatibility + type: boolean_true + description: | + Whether to check for barcode compatibility between libraries. + - name: --tenx_cloud_token + type: file + description: | + The path to the 10x Cloud Analysis user token used to enable cell + annotation. If not provided, will default to the location stored + through cellranger cloud auth setup. + - name: --dry + type: boolean_true + description: | + Do not execute the pipeline. Generate a pipeline invocation (.mro) file and stop. + +resources: + - type: bash_script + path: script.sh +test_resources: + - type: bash_script + path: test.sh +engines: + - type: docker + image: quay.io/nf-core/cellranger:8.0.0 + setup: + - type: docker + run: | + DEBIAN_FRONTEND=noninteractive apt update && \ + apt upgrade -y && apt install -y procps && rm -rf /var/lib/apt/lists/* + - type: docker + run: | + cellranger --version | sed 's/ cellranger-/: /' > /var/software_versions.txt + +runners: + - type: executable + - type: nextflow diff --git a/src/cellranger/cellranger_count/help.txt b/src/cellranger/cellranger_count/help.txt new file mode 100644 index 00000000..dec537a6 --- /dev/null +++ b/src/cellranger/cellranger_count/help.txt @@ -0,0 +1,126 @@ +``` +docker run --rm -it quay.io/nf-core/cellranger:9.0.1 \ + cellranger count --help +``` + +Count gene expression and/or feature barcode reads from a single sample and GEM +well + +Usage: cellranger count [OPTIONS] --id --create-bam + +Options: + --id + A unique run id and output folder name [a-zA-Z0-9_-]+ + --description + Sample description to embed in output files [default: ] + --transcriptome + Path of folder containing 10x-compatible transcriptome reference + --fastqs + Path to input FASTQ data + --project + Name of the project folder within a mkfastq or bcl2fastq-generated + folder from which to pick FASTQs + --sample + Prefix of the filenames of FASTQs to select + --lanes + Only use FASTQs from selected lanes + --libraries + CSV file declaring input library data sources + --feature-ref + Feature reference CSV file, declaring Feature Barcode constructs and + associated barcodes + --expect-cells + Expected number of recovered cells, used as input to cell calling + algorithm + --force-cells + Force pipeline to use this number of cells, bypassing cell calling + algorithm. [MINIMUM: 10] + --create-bam + Enable or disable BAM file generation. Setting --create-bam=false + reduces the total computation time and the size of the output + directory (BAM file not generated). We recommend setting + --create-bam=true if unsure. See https://10xgen.com/create-bam for + additional guidance [possible values: true, false] + --nosecondary + Disable secondary analysis, e.g. clustering. Optional + --r1-length + Hard trim the input Read 1 to this length before analysis + --r2-length + Hard trim the input Read 2 to this length before analysis + --include-introns + Include intronic reads in count [default: true] [possible values: + true, false] + --chemistry + Assay configuration. NOTE: by default the assay configuration is + detected automatically, which is the recommended mode. You usually + will not need to specify a chemistry. Options are: 'auto' for + autodetection, 'threeprime' for Single Cell 3', 'fiveprime' for + Single Cell 5', 'SC3Pv1' or 'SC3Pv2' or 'SC3Pv3' or 'SC3Pv4' for + Single Cell 3' v1/v2/v3/v4, 'SC3Pv3LT' for Single Cell 3' v3 LT, + 'SC3Pv3HT' for Single Cell 3' v3 HT, 'SC5P-PE' or 'SC5P-PE-v3' or + 'SC5P-R2' or 'SC5P-R2-v3' for Single Cell 5', paired-end/R2-only, + 'SC-FB' for Single Cell Antibody-only 3' v2 or 5'. To analyze the GEX + portion of multiome data, chemistry must be set to 'ARC-v1' [default: + auto] + --no-libraries + Proceed with processing using a --feature-ref but no Feature Barcode + libraries specified with the 'libraries' flag + --check-library-compatibility + Whether to check for barcode compatibility between libraries. + [default: true] [possible values: true, false] + --tenx-cloud-token-path + The path to the 10x Cloud Analysis user token used to enable cell + annotation. If not provided, will default to the location stored + through cellranger cloud auth setup + --cell-annotation-model + Cell annotation model to use. Valid model names can be viewed by + running `cellranger cloud annotation models` or on the 10x Genomics + Support site (https://www.10xgenomics.com/support). If "auto", uses + the default model for the species. If not provided, does not run cell + annotation + --min-crispr-umi + Minimum CRISPR UMI threshold [default: 3] + --dry + Do not execute the pipeline. Generate a pipeline invocation (.mro) + file and stop + --jobmode + Job manager to use. Valid options: local (default), sge, lsf, slurm or + path to a .template file. Search for help on "Cluster Mode" at + support.10xgenomics.com for more details on configuring the pipeline + to use a compute cluster + --localcores + Set max cores the pipeline may request at one time. Only applies to + local jobs + --localmem + Set max GB the pipeline may request at one time. Only applies to local + jobs + --localvmem + Set max virtual address space in GB for the pipeline. Only applies to + local jobs + --mempercore + Reserve enough threads for each job to ensure enough memory will be + available, assuming each core on your cluster has at least this much + memory available. Only applies to cluster jobmodes + --maxjobs + Set max jobs submitted to cluster at one time. Only applies to cluster + jobmodes + --jobinterval + Set delay between submitting jobs to cluster, in ms. Only applies to + cluster jobmodes + --overrides + The path to a JSON file that specifies stage-level overrides for cores + and memory. Finer-grained than --localcores, --mempercore and + --localmem. Consult https://10xgen.com/resource-override for an + example override file + --output-dir + Output the results to this directory + --uiport + Serve web UI at http://localhost:PORT + --disable-ui + Do not serve the web UI + --noexit + Keep web UI running after pipestance completes or fails + --nopreflight + Skip preflight checks + -h, --help + Print help diff --git a/src/cellranger/cellranger_count/script.sh b/src/cellranger/cellranger_count/script.sh new file mode 100644 index 00000000..0983c34e --- /dev/null +++ b/src/cellranger/cellranger_count/script.sh @@ -0,0 +1,111 @@ +#!/bin/bash + +set -eo pipefail + +## VIASH START +par_fastqs='/opt/cellranger-8.0.0/lib/python/cellranger-tiny-fastq' +par_transcriptome='/opt/cellranger-8.0.0/lib/python/cellranger-tiny-ref' +par_output='test_data/bam' +par_chemistry="auto" +par_expect_cells="3000" +par_secondary_analysis="false" +## VIASH END + +## PROCESS INPUT FILES +# We change into the tempdir later, so we need absolute paths. +par_transcriptome=$(realpath $par_transcriptome) +par_output=$(realpath $par_output) + +# create temporary directory +tmp_dir=$(mktemp -d "$meta_temp_dir/$meta_name-XXXXXXXX") +function clean_up { + rm -rf "$tmp_dir" +} +trap clean_up EXIT + +# process inputs +# for every fastq file found, make a symlink into the tempdir +fastq_dir="$tmp_dir/fastqs" +mkdir -p "$fastq_dir" +IFS=";" +for var in $par_fastqs; do + unset IFS + abs_path=$(realpath $var) + if [ -d "$abs_path" ]; then + find "$abs_path" -name *.fastq.gz -exec ln -s {} "$fastq_dir" \; + else + ln -s "$abs_path" "$fastq_dir" + fi +done + +# process reference +# Note: should we do this? +if file "${par_transcriptome}" | grep -q 'gzip compressed data'; then + echo "> Untarring transcriptome" + ref_dir="${tmp_dir}/reference" + mkdir -p "${ref_dir}" + tar -xvf "${par_transcriptome}" -C "${ref_dir}" + par_transcriptome="${ref_dir}" +fi + +## PROCESS PARAMETERS +# unset flags +[[ "$par_no_secondary" == "false" ]] && unset par_no_secondary +[[ "$par_no_libraries" == "false" ]] && unset par_no_libraries +[[ "$par_dry" == "false" ]] && unset par_dry + + +# change ifs from ; to , +par_lanes=${par_lanes//;/,} + +# if memory is defined, subtract 2GB from memory +if [[ "$meta_memory_gb" != "" ]]; then + # if memory is less than 2gb, unset it + if [[ "$meta_memory_gb" -lt 2 ]]; then + echo "WARNING: Memory is less than 2GB, unsetting memory requirements" + unset meta_memory_gb + else + meta_memory_gb=$((meta_memory_gb-2)) + fi +fi + +## RUN CELLRANGER COUNT +echo "> Running cellranger count" +cd "$tmp_dir" +id=run +cellranger count \ + --id="$id" \ + --fastqs="${fastq_dir}" \ + --transcriptome="${par_transcriptome}" \ + --disable-ui \ + ${meta_cpus:+"--localcores=${meta_cpus}"} \ + ${meta_memory_gb:+"--localmem=${meta_memory_gb}"} \ + ${par_description:+"--description=${par_description}"} \ + ${par_sample:+"--sample=${par_sample}"} \ + ${par_lanes:+"--lanes=${par_lanes}"} \ + ${par_libraries:+"--libraries=${par_libraries}"} \ + ${par_feature_ref:+"--feature-ref=${par_feature_ref}"} \ + ${par_expect_cells:+"--expect-cells=${par_expect_cells}"} \ + ${par_force_cells:+"--force-cells=${par_force_cells}"} \ + ${par_create_bam:+"--create-bam=${par_create_bam}"} \ + ${par_no_secondary:+--nosecondary} \ + ${par_r1_length:+"--r1-length=${par_r1_length}"} \ + ${par_r2_length:+"--r2-length=${par_r2_length}"} \ + ${par_include_introns:+--include-introns=${par_include_introns}} \ + ${par_chemistry:+"--chemistry=${par_chemistry}"} \ + ${par_no_libraries:+--no-libraries} \ + ${par_check_library_compatibility:+"--check-library-compatibility=${par_check_library_compatibility}"} \ + ${par_cell_annotation_model:+"--cell-annotation-model=${par_cell_annotation_model}"} \ + ${par_min_cripser_umi:+"--min-cripser-umi=${par_min_cripser_umi}"} \ + ${par_tenx_cloud_token:+"--tenx-cloud-token-path=${par_tenx_cloud_token}"} \ + ${par_dry:+--dry-run} + +echo "> Copying output" +if [ -d "$id/outs/" ]; then + if [ ! -d "${par_output}" ]; then + mkdir -p "${par_output}" + fi + mv "$id/outs/"* "${par_output}" +fi + +exit 0 diff --git a/src/cellranger/cellranger_count/test.sh b/src/cellranger/cellranger_count/test.sh new file mode 100644 index 00000000..7169377e --- /dev/null +++ b/src/cellranger/cellranger_count/test.sh @@ -0,0 +1,56 @@ +#!/bin/bash + +set -e + +## VIASH START +## VIASH END + +# create temporary directory +tmp_dir=$(mktemp -d "${meta_temp_dir}/${meta_name}-XXXXXXXX") +function clean_up { + rm -rf "${tmp_dir}" +} +trap clean_up EXIT + +echo "Copy test data from Cell Ranger installation directory" +mkdir -p "${tmp_dir}/test_data/" +cp -r "/opt/cellranger-8.0.0/external/cellranger_tiny_fastq/" "${tmp_dir}/test_data" +cp -r "/opt/cellranger-8.0.0/external/cellranger_tiny_ref/" "${tmp_dir}/test_data" +input_dir="${tmp_dir}/test_data/cellranger_tiny_fastq" +reference_dir="${tmp_dir}/test_data/cellranger_tiny_ref" + + +## TEST 1: run with folder input +echo "Running ${meta_name} with folder input" +output_dir="${tmp_dir}/test1/" +mkdir -p "${output_dir}" + +"${meta_executable}" \ + --fastqs "${input_dir}" \ + --transcriptome "${reference_dir}" \ + --output "${output_dir}" \ + --lanes 1 + +[[ $? != 0 ]] && echo "Non zero exit code: $?" && exit 1 +[[ ! -f "${output_dir}/filtered_feature_bc_matrix.h5" ]] && echo "Output file could not be found!" && exit 1 +[[ -f "${output_dir}/possorted_genome_bam.bam" ]] && echo "Output file should not be found!" && exit 1 +[[ ! -d "${output_dir}/analysis" ]] && echo "Analysis output directory should exist!" && exit 1 + +## TEST 2: run with individual file input +echo "Running ${meta_name} with individual file input" +output_dir="${tmp_dir}/test2/" +mkdir -p "${output_dir}" +"${meta_executable}" \ + --fastqs "${input_dir}/tinygex_S1_L001_R1_001.fastq.gz" \ + --fastqs "${input_dir}/tinygex_S1_L001_R2_001.fastq.gz" \ + --transcriptome "${reference_dir}" \ + --output "${output_dir}" \ + --no_secondary \ + --create_bam + +[[ $? != 0 ]] && echo "Non zero exit code: $?" && exit 1 +[[ ! -f "${output_dir}/filtered_feature_bc_matrix.h5" ]] && echo "Output file could not be found!" && exit 1 +[[ ! -f "${output_dir}/possorted_genome_bam.bam" ]] && echo "Output file could not be found!" && exit 1 +[[ -d "${output_dir}/analysis" ]] && echo "Analysis output directory should not exist!" && exit 1 + +echo "All tests succeeded!" \ No newline at end of file diff --git a/src/cellranger/cellranger_mkref/script.sh b/src/cellranger/cellranger_mkref/script.sh index 03755998..49095c8f 100644 --- a/src/cellranger/cellranger_mkref/script.sh +++ b/src/cellranger/cellranger_mkref/script.sh @@ -9,9 +9,9 @@ par_output="output.tar.gz" ## VIASH END # create temporary directory -tmpdir=$(mktemp -d "$meta_temp_dir/$meta_name-XXXXXXXX") +tmp_dir=$(mktemp -d "$meta_temp_dir/$meta_name-XXXXXXXX") function clean_up { - rm -rf "$tmpdir" + rm -rf "$tmp_dir" } trap clean_up EXIT @@ -20,19 +20,31 @@ par_genome_fasta=$(realpath $par_genome_fasta) par_transcriptome_gtf=$(realpath $par_transcriptome_gtf) par_output=$(realpath $par_output) +# if memory is defined, subtract 2GB from memory +if [[ "$meta_memory_gb" != "" ]]; then + # if memory is less than 2gb, unset it + if [[ "$meta_memory_gb" -lt 2 ]]; then + echo "WARNING: Memory is less than 2GB, unsetting memory requirements" + unset meta_memory_gb + else + meta_memory_gb=$((meta_memory_gb-2)) + fi +fi echo "> Unzipping input files" -unpigz -c "$par_genome_fasta" > "$tmpdir/genome.fa" +unpigz -c "$par_genome_fasta" > "$tmp_dir/genome.fa" echo "> Building star index" -cd "$tmpdir" +cd "$tmp_dir" cellranger mkref \ - --fasta "$tmpdir/genome.fa" \ + --fasta "$tmp_dir/genome.fa" \ --genes "$par_transcriptome_gtf" \ --genome output \ ${par_reference_version:+--ref-version $par_reference_version} \ ${meta_cpus:+--nthreads $meta_cpus} \ - ${meta_memory_gb:+--memgb $(($meta_memory_gb-2))} # always keep 2 gb for the OS itself + ${meta_memory_gb:+--memgb ${meta_memory_gb}} echo "> Creating archive" -tar --use-compress-program="pigz -k " -cf "$par_output" -C "$tmpdir/output" . +tar --use-compress-program="pigz -k " -cf "$par_output" -C "$tmp_dir/output" . + +exit 0 diff --git a/target/executable/agat/agat_convert_bed2gff/.config.vsh.yaml b/target/executable/agat/agat_convert_bed2gff/.config.vsh.yaml index 285a9d9a..7182133e 100644 --- a/target/executable/agat/agat_convert_bed2gff/.config.vsh.yaml +++ b/target/executable/agat/agat_convert_bed2gff/.config.vsh.yaml @@ -238,13 +238,24 @@ build_info: output: "target/executable/agat/agat_convert_bed2gff" executable: "target/executable/agat/agat_convert_bed2gff/agat_convert_bed2gff" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/agat/agat_convert_bed2gff/agat_convert_bed2gff b/target/executable/agat/agat_convert_bed2gff/agat_convert_bed2gff index 9ecbf8d2..e098a083 100755 --- a/target/executable/agat/agat_convert_bed2gff/agat_convert_bed2gff +++ b/target/executable/agat/agat_convert_bed2gff/agat_convert_bed2gff @@ -452,9 +452,9 @@ RUN agat --version | sed 's/AGAT\s\(.*\)/agat: "\1"/' > /var/software_versions.t LABEL org.opencontainers.image.authors="Leïla Paquay" LABEL org.opencontainers.image.description="Companion container for running component agat agat_convert_bed2gff" -LABEL org.opencontainers.image.created="2025-04-29T10:54:47Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:38Z" LABEL org.opencontainers.image.source="https://github.com/NBISweden/AGAT" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/agat/agat_convert_embl2gff/.config.vsh.yaml b/target/executable/agat/agat_convert_embl2gff/.config.vsh.yaml index 8ecb896e..9b0e344d 100644 --- a/target/executable/agat/agat_convert_embl2gff/.config.vsh.yaml +++ b/target/executable/agat/agat_convert_embl2gff/.config.vsh.yaml @@ -228,13 +228,24 @@ build_info: output: "target/executable/agat/agat_convert_embl2gff" executable: "target/executable/agat/agat_convert_embl2gff/agat_convert_embl2gff" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/agat/agat_convert_embl2gff/agat_convert_embl2gff b/target/executable/agat/agat_convert_embl2gff/agat_convert_embl2gff index 24b1fbc8..f6e26f14 100755 --- a/target/executable/agat/agat_convert_embl2gff/agat_convert_embl2gff +++ b/target/executable/agat/agat_convert_embl2gff/agat_convert_embl2gff @@ -452,9 +452,9 @@ RUN agat --version | sed 's/AGAT\s\(.*\)/agat: "\1"/' > /var/software_versions.t LABEL org.opencontainers.image.authors="Leïla Paquay" LABEL org.opencontainers.image.description="Companion container for running component agat agat_convert_embl2gff" -LABEL org.opencontainers.image.created="2025-04-29T10:54:48Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:40Z" LABEL org.opencontainers.image.source="https://github.com/NBISweden/AGAT" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/agat/agat_convert_genscan2gff/.config.vsh.yaml b/target/executable/agat/agat_convert_genscan2gff/.config.vsh.yaml index 9f14aef8..6b2f87d6 100644 --- a/target/executable/agat/agat_convert_genscan2gff/.config.vsh.yaml +++ b/target/executable/agat/agat_convert_genscan2gff/.config.vsh.yaml @@ -233,13 +233,24 @@ build_info: output: "target/executable/agat/agat_convert_genscan2gff" executable: "target/executable/agat/agat_convert_genscan2gff/agat_convert_genscan2gff" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/agat/agat_convert_genscan2gff/agat_convert_genscan2gff b/target/executable/agat/agat_convert_genscan2gff/agat_convert_genscan2gff index 0ab7b058..7a9544bc 100755 --- a/target/executable/agat/agat_convert_genscan2gff/agat_convert_genscan2gff +++ b/target/executable/agat/agat_convert_genscan2gff/agat_convert_genscan2gff @@ -452,9 +452,9 @@ RUN agat --version | sed 's/AGAT\s\(.*\)/agat: "\1"/' > /var/software_versions.t LABEL org.opencontainers.image.authors="Leïla Paquay" LABEL org.opencontainers.image.description="Companion container for running component agat agat_convert_genscan2gff" -LABEL org.opencontainers.image.created="2025-04-29T10:54:47Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:39Z" LABEL org.opencontainers.image.source="https://github.com/NBISweden/AGAT" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/agat/agat_convert_mfannot2gff/.config.vsh.yaml b/target/executable/agat/agat_convert_mfannot2gff/.config.vsh.yaml index 302ca5ee..5d8882fb 100644 --- a/target/executable/agat/agat_convert_mfannot2gff/.config.vsh.yaml +++ b/target/executable/agat/agat_convert_mfannot2gff/.config.vsh.yaml @@ -189,13 +189,24 @@ build_info: output: "target/executable/agat/agat_convert_mfannot2gff" executable: "target/executable/agat/agat_convert_mfannot2gff/agat_convert_mfannot2gff" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/agat/agat_convert_mfannot2gff/agat_convert_mfannot2gff b/target/executable/agat/agat_convert_mfannot2gff/agat_convert_mfannot2gff index e103d8d1..f47c874f 100755 --- a/target/executable/agat/agat_convert_mfannot2gff/agat_convert_mfannot2gff +++ b/target/executable/agat/agat_convert_mfannot2gff/agat_convert_mfannot2gff @@ -452,9 +452,9 @@ RUN agat --version | sed 's/AGAT\s\(.*\)/agat: "\1"/' > /var/software_versions.t LABEL org.opencontainers.image.authors="Leïla Paquay" LABEL org.opencontainers.image.description="Companion container for running component agat agat_convert_mfannot2gff" -LABEL org.opencontainers.image.created="2025-04-29T10:54:47Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:39Z" LABEL org.opencontainers.image.source="https://github.com/NBISweden/AGAT" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/agat/agat_convert_sp_gff2gtf/.config.vsh.yaml b/target/executable/agat/agat_convert_sp_gff2gtf/.config.vsh.yaml index b4d434a7..a03ecb48 100644 --- a/target/executable/agat/agat_convert_sp_gff2gtf/.config.vsh.yaml +++ b/target/executable/agat/agat_convert_sp_gff2gtf/.config.vsh.yaml @@ -231,13 +231,24 @@ build_info: output: "target/executable/agat/agat_convert_sp_gff2gtf" executable: "target/executable/agat/agat_convert_sp_gff2gtf/agat_convert_sp_gff2gtf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/agat/agat_convert_sp_gff2gtf/agat_convert_sp_gff2gtf b/target/executable/agat/agat_convert_sp_gff2gtf/agat_convert_sp_gff2gtf index 9021dcdf..5bf92669 100755 --- a/target/executable/agat/agat_convert_sp_gff2gtf/agat_convert_sp_gff2gtf +++ b/target/executable/agat/agat_convert_sp_gff2gtf/agat_convert_sp_gff2gtf @@ -452,9 +452,9 @@ RUN agat --version | sed 's/AGAT\s\(.*\)/agat: "\1"/' > /var/software_versions.t LABEL org.opencontainers.image.authors="Leïla Paquay" LABEL org.opencontainers.image.description="Companion container for running component agat agat_convert_sp_gff2gtf" -LABEL org.opencontainers.image.created="2025-04-29T10:54:46Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:37Z" LABEL org.opencontainers.image.source="https://github.com/NBISweden/AGAT" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/agat/agat_convert_sp_gff2tsv/.config.vsh.yaml b/target/executable/agat/agat_convert_sp_gff2tsv/.config.vsh.yaml index b2ff2516..434c6fc3 100644 --- a/target/executable/agat/agat_convert_sp_gff2tsv/.config.vsh.yaml +++ b/target/executable/agat/agat_convert_sp_gff2tsv/.config.vsh.yaml @@ -191,13 +191,24 @@ build_info: output: "target/executable/agat/agat_convert_sp_gff2tsv" executable: "target/executable/agat/agat_convert_sp_gff2tsv/agat_convert_sp_gff2tsv" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/agat/agat_convert_sp_gff2tsv/agat_convert_sp_gff2tsv b/target/executable/agat/agat_convert_sp_gff2tsv/agat_convert_sp_gff2tsv index 10563312..5f640747 100755 --- a/target/executable/agat/agat_convert_sp_gff2tsv/agat_convert_sp_gff2tsv +++ b/target/executable/agat/agat_convert_sp_gff2tsv/agat_convert_sp_gff2tsv @@ -452,9 +452,9 @@ RUN agat --version | sed 's/AGAT\s\(.*\)/agat: "\1"/' > /var/software_versions.t LABEL org.opencontainers.image.authors="Leïla Paquay" LABEL org.opencontainers.image.description="Companion container for running component agat agat_convert_sp_gff2tsv" -LABEL org.opencontainers.image.created="2025-04-29T10:54:46Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:38Z" LABEL org.opencontainers.image.source="https://github.com/NBISweden/AGAT" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/agat/agat_convert_sp_gxf2gxf/.config.vsh.yaml b/target/executable/agat/agat_convert_sp_gxf2gxf/.config.vsh.yaml index 76011b72..1f55ec5c 100644 --- a/target/executable/agat/agat_convert_sp_gxf2gxf/.config.vsh.yaml +++ b/target/executable/agat/agat_convert_sp_gxf2gxf/.config.vsh.yaml @@ -198,13 +198,24 @@ build_info: output: "target/executable/agat/agat_convert_sp_gxf2gxf" executable: "target/executable/agat/agat_convert_sp_gxf2gxf/agat_convert_sp_gxf2gxf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/agat/agat_convert_sp_gxf2gxf/agat_convert_sp_gxf2gxf b/target/executable/agat/agat_convert_sp_gxf2gxf/agat_convert_sp_gxf2gxf index 9e6d23c4..63c273ad 100755 --- a/target/executable/agat/agat_convert_sp_gxf2gxf/agat_convert_sp_gxf2gxf +++ b/target/executable/agat/agat_convert_sp_gxf2gxf/agat_convert_sp_gxf2gxf @@ -452,9 +452,9 @@ RUN agat --version | sed 's/AGAT\s\(.*\)/agat: "\1"/' > /var/software_versions.t LABEL org.opencontainers.image.authors="Leïla Paquay" LABEL org.opencontainers.image.description="Companion container for running component agat agat_convert_sp_gxf2gxf" -LABEL org.opencontainers.image.created="2025-04-29T10:54:48Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:40Z" LABEL org.opencontainers.image.source="https://github.com/NBISweden/AGAT" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/agat/agat_sp_add_introns/.config.vsh.yaml b/target/executable/agat/agat_sp_add_introns/.config.vsh.yaml index 69469311..ea879fe1 100644 --- a/target/executable/agat/agat_sp_add_introns/.config.vsh.yaml +++ b/target/executable/agat/agat_sp_add_introns/.config.vsh.yaml @@ -189,13 +189,24 @@ build_info: output: "target/executable/agat/agat_sp_add_introns" executable: "target/executable/agat/agat_sp_add_introns/agat_sp_add_introns" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/agat/agat_sp_add_introns/agat_sp_add_introns b/target/executable/agat/agat_sp_add_introns/agat_sp_add_introns index 59e169c3..7db1c0fc 100755 --- a/target/executable/agat/agat_sp_add_introns/agat_sp_add_introns +++ b/target/executable/agat/agat_sp_add_introns/agat_sp_add_introns @@ -452,9 +452,9 @@ RUN agat --version | sed 's/AGAT\s\(.*\)/agat: "\1"/' > /var/software_versions.t LABEL org.opencontainers.image.authors="Leïla Paquay" LABEL org.opencontainers.image.description="Companion container for running component agat agat_sp_add_introns" -LABEL org.opencontainers.image.created="2025-04-29T10:54:46Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:37Z" LABEL org.opencontainers.image.source="https://github.com/NBISweden/AGAT" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/agat/agat_sp_filter_feature_from_kill_list/.config.vsh.yaml b/target/executable/agat/agat_sp_filter_feature_from_kill_list/.config.vsh.yaml index 5fb3affb..fdd0f7ef 100644 --- a/target/executable/agat/agat_sp_filter_feature_from_kill_list/.config.vsh.yaml +++ b/target/executable/agat/agat_sp_filter_feature_from_kill_list/.config.vsh.yaml @@ -239,13 +239,24 @@ build_info: output: "target/executable/agat/agat_sp_filter_feature_from_kill_list" executable: "target/executable/agat/agat_sp_filter_feature_from_kill_list/agat_sp_filter_feature_from_kill_list" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/agat/agat_sp_filter_feature_from_kill_list/agat_sp_filter_feature_from_kill_list b/target/executable/agat/agat_sp_filter_feature_from_kill_list/agat_sp_filter_feature_from_kill_list index 3d281f48..385f4be5 100755 --- a/target/executable/agat/agat_sp_filter_feature_from_kill_list/agat_sp_filter_feature_from_kill_list +++ b/target/executable/agat/agat_sp_filter_feature_from_kill_list/agat_sp_filter_feature_from_kill_list @@ -452,9 +452,9 @@ RUN agat --version | sed 's/AGAT\s\(.*\)/agat: "\1"/' > /var/software_versions.t LABEL org.opencontainers.image.authors="Leïla Paquay" LABEL org.opencontainers.image.description="Companion container for running component agat agat_sp_filter_feature_from_kill_list" -LABEL org.opencontainers.image.created="2025-04-29T10:54:47Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:38Z" LABEL org.opencontainers.image.source="https://github.com/NBISweden/AGAT" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/agat/agat_sp_merge_annotations/.config.vsh.yaml b/target/executable/agat/agat_sp_merge_annotations/.config.vsh.yaml index 946b8dec..79ebc264 100644 --- a/target/executable/agat/agat_sp_merge_annotations/.config.vsh.yaml +++ b/target/executable/agat/agat_sp_merge_annotations/.config.vsh.yaml @@ -187,13 +187,24 @@ build_info: output: "target/executable/agat/agat_sp_merge_annotations" executable: "target/executable/agat/agat_sp_merge_annotations/agat_sp_merge_annotations" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/agat/agat_sp_merge_annotations/agat_sp_merge_annotations b/target/executable/agat/agat_sp_merge_annotations/agat_sp_merge_annotations index 36cf0051..d70382e6 100755 --- a/target/executable/agat/agat_sp_merge_annotations/agat_sp_merge_annotations +++ b/target/executable/agat/agat_sp_merge_annotations/agat_sp_merge_annotations @@ -452,9 +452,9 @@ RUN agat --version | sed 's/AGAT\s\(.*\)/agat: "\1"/' > /var/software_versions.t LABEL org.opencontainers.image.authors="Leïla Paquay" LABEL org.opencontainers.image.description="Companion container for running component agat agat_sp_merge_annotations" -LABEL org.opencontainers.image.created="2025-04-29T10:54:48Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:39Z" LABEL org.opencontainers.image.source="https://github.com/NBISweden/AGAT" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/agat/agat_sp_statistics/.config.vsh.yaml b/target/executable/agat/agat_sp_statistics/.config.vsh.yaml index d549f5b3..596194b4 100644 --- a/target/executable/agat/agat_sp_statistics/.config.vsh.yaml +++ b/target/executable/agat/agat_sp_statistics/.config.vsh.yaml @@ -234,13 +234,24 @@ build_info: output: "target/executable/agat/agat_sp_statistics" executable: "target/executable/agat/agat_sp_statistics/agat_sp_statistics" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/agat/agat_sp_statistics/agat_sp_statistics b/target/executable/agat/agat_sp_statistics/agat_sp_statistics index a875dc25..fc8ae8c1 100755 --- a/target/executable/agat/agat_sp_statistics/agat_sp_statistics +++ b/target/executable/agat/agat_sp_statistics/agat_sp_statistics @@ -452,9 +452,9 @@ RUN agat --version | sed 's/.*v\.//; s/\s.*//' | sed 's/^/AGAT: /' > /var/softwa LABEL org.opencontainers.image.authors="Leïla Paquay" LABEL org.opencontainers.image.description="Companion container for running component agat agat_sp_statistics" -LABEL org.opencontainers.image.created="2025-04-29T10:54:48Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:40Z" LABEL org.opencontainers.image.source="https://github.com/NBISweden/AGAT" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/agat/agat_sq_stat_basic/.config.vsh.yaml b/target/executable/agat/agat_sq_stat_basic/.config.vsh.yaml index 6aa98a8e..efc6857d 100644 --- a/target/executable/agat/agat_sq_stat_basic/.config.vsh.yaml +++ b/target/executable/agat/agat_sq_stat_basic/.config.vsh.yaml @@ -230,13 +230,24 @@ build_info: output: "target/executable/agat/agat_sq_stat_basic" executable: "target/executable/agat/agat_sq_stat_basic/agat_sq_stat_basic" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/agat/agat_sq_stat_basic/agat_sq_stat_basic b/target/executable/agat/agat_sq_stat_basic/agat_sq_stat_basic index 601d5813..ca818131 100755 --- a/target/executable/agat/agat_sq_stat_basic/agat_sq_stat_basic +++ b/target/executable/agat/agat_sq_stat_basic/agat_sq_stat_basic @@ -452,9 +452,9 @@ RUN agat --version | sed 's/AGAT\s\(.*\)/agat: "\1"/' > /var/software_versions.t LABEL org.opencontainers.image.authors="Leïla Paquay" LABEL org.opencontainers.image.description="Companion container for running component agat agat_sq_stat_basic" -LABEL org.opencontainers.image.created="2025-04-29T10:54:46Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:37Z" LABEL org.opencontainers.image.source="https://github.com/NBISweden/AGAT" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/arriba/.config.vsh.yaml b/target/executable/arriba/.config.vsh.yaml index 2a756193..131ce735 100644 --- a/target/executable/arriba/.config.vsh.yaml +++ b/target/executable/arriba/.config.vsh.yaml @@ -709,13 +709,24 @@ build_info: output: "target/executable/arriba" executable: "target/executable/arriba/arriba" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/arriba/arriba b/target/executable/arriba/arriba index d472f969..7e54a419 100755 --- a/target/executable/arriba/arriba +++ b/target/executable/arriba/arriba @@ -452,9 +452,9 @@ RUN arriba -h | grep 'Version:' 2>&1 | sed 's/Version:\s\(.*\)/arriba: "\1"/' > LABEL org.opencontainers.image.authors="Robrecht Cannoodt" LABEL org.opencontainers.image.description="Companion container for running component arriba" -LABEL org.opencontainers.image.created="2025-04-29T10:54:49Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:41Z" LABEL org.opencontainers.image.source="https://github.com/suhrig/arriba" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/bases2fastq/.config.vsh.yaml b/target/executable/bases2fastq/.config.vsh.yaml index e9ad29f1..11ed497f 100644 --- a/target/executable/bases2fastq/.config.vsh.yaml +++ b/target/executable/bases2fastq/.config.vsh.yaml @@ -397,13 +397,24 @@ build_info: output: "target/executable/bases2fastq" executable: "target/executable/bases2fastq/bases2fastq" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/bases2fastq/bases2fastq b/target/executable/bases2fastq/bases2fastq index c82a2207..dbf1885c 100755 --- a/target/executable/bases2fastq/bases2fastq +++ b/target/executable/bases2fastq/bases2fastq @@ -456,9 +456,9 @@ RUN echo "bases2fastq: $(bases2fastq --version | cut -d' ' -f3)" > /var/software LABEL org.opencontainers.image.authors="Dries Schaumont" LABEL org.opencontainers.image.description="Companion container for running component bases2fastq" -LABEL org.opencontainers.image.created="2025-04-29T10:54:46Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:38Z" LABEL org.opencontainers.image.source="https://github.com/viash-hub/biobox" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/bbmap/bbmap_bbsplit/.config.vsh.yaml b/target/executable/bbmap/bbmap_bbsplit/.config.vsh.yaml index 5502e483..1d1c3631 100644 --- a/target/executable/bbmap/bbmap_bbsplit/.config.vsh.yaml +++ b/target/executable/bbmap/bbmap_bbsplit/.config.vsh.yaml @@ -371,13 +371,24 @@ build_info: output: "target/executable/bbmap/bbmap_bbsplit" executable: "target/executable/bbmap/bbmap_bbsplit/bbmap_bbsplit" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/bbmap/bbmap_bbsplit/bbmap_bbsplit b/target/executable/bbmap/bbmap_bbsplit/bbmap_bbsplit index 15ba4b38..1f73ea17 100755 --- a/target/executable/bbmap/bbmap_bbsplit/bbmap_bbsplit +++ b/target/executable/bbmap/bbmap_bbsplit/bbmap_bbsplit @@ -454,9 +454,9 @@ cp -r bbmap/* /usr/local/bin RUN bbsplit.sh --version 2>&1 | awk '/BBMap version/{print "BBMAP:", $NF}' > /var/software_versions.txt LABEL org.opencontainers.image.description="Companion container for running component bbmap bbmap_bbsplit" -LABEL org.opencontainers.image.created="2025-04-29T10:54:43Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:34Z" LABEL org.opencontainers.image.source="https://github.com/BioInfoTools/BBMap/blob/master/sh/bbsplit.sh" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/bcftools/bcftools_annotate/.config.vsh.yaml b/target/executable/bcftools/bcftools_annotate/.config.vsh.yaml index 3e6f4df9..5c17a2f9 100644 --- a/target/executable/bcftools/bcftools_annotate/.config.vsh.yaml +++ b/target/executable/bcftools/bcftools_annotate/.config.vsh.yaml @@ -472,13 +472,24 @@ build_info: output: "target/executable/bcftools/bcftools_annotate" executable: "target/executable/bcftools/bcftools_annotate/bcftools_annotate" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/bcftools/bcftools_annotate/bcftools_annotate b/target/executable/bcftools/bcftools_annotate/bcftools_annotate index 181fa287..de163734 100755 --- a/target/executable/bcftools/bcftools_annotate/bcftools_annotate +++ b/target/executable/bcftools/bcftools_annotate/bcftools_annotate @@ -456,9 +456,9 @@ RUN echo "bcftools: \"$(bcftools --version | grep 'bcftools' | sed -n 's/^bcftoo LABEL org.opencontainers.image.authors="Theodoro Gasperin Terra Camargo" LABEL org.opencontainers.image.description="Companion container for running component bcftools bcftools_annotate" -LABEL org.opencontainers.image.created="2025-04-29T10:54:43Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:34Z" LABEL org.opencontainers.image.source="https://github.com/samtools/bcftools" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/bcftools/bcftools_concat/.config.vsh.yaml b/target/executable/bcftools/bcftools_concat/.config.vsh.yaml index 5890d16d..7a13cf78 100644 --- a/target/executable/bcftools/bcftools_concat/.config.vsh.yaml +++ b/target/executable/bcftools/bcftools_concat/.config.vsh.yaml @@ -338,13 +338,24 @@ build_info: output: "target/executable/bcftools/bcftools_concat" executable: "target/executable/bcftools/bcftools_concat/bcftools_concat" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/bcftools/bcftools_concat/bcftools_concat b/target/executable/bcftools/bcftools_concat/bcftools_concat index 3c6417d2..036ba09f 100755 --- a/target/executable/bcftools/bcftools_concat/bcftools_concat +++ b/target/executable/bcftools/bcftools_concat/bcftools_concat @@ -456,9 +456,9 @@ RUN echo "bcftools: \"$(bcftools --version | grep 'bcftools' | sed -n 's/^bcftoo LABEL org.opencontainers.image.authors="Theodoro Gasperin Terra Camargo" LABEL org.opencontainers.image.description="Companion container for running component bcftools bcftools_concat" -LABEL org.opencontainers.image.created="2025-04-29T10:54:42Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:33Z" LABEL org.opencontainers.image.source="https://github.com/samtools/bcftools" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/bcftools/bcftools_norm/.config.vsh.yaml b/target/executable/bcftools/bcftools_norm/.config.vsh.yaml index 3c9b2d37..cf3b061f 100644 --- a/target/executable/bcftools/bcftools_norm/.config.vsh.yaml +++ b/target/executable/bcftools/bcftools_norm/.config.vsh.yaml @@ -419,13 +419,24 @@ build_info: output: "target/executable/bcftools/bcftools_norm" executable: "target/executable/bcftools/bcftools_norm/bcftools_norm" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/bcftools/bcftools_norm/bcftools_norm b/target/executable/bcftools/bcftools_norm/bcftools_norm index 9d0ddc0b..a3bd4d14 100755 --- a/target/executable/bcftools/bcftools_norm/bcftools_norm +++ b/target/executable/bcftools/bcftools_norm/bcftools_norm @@ -456,9 +456,9 @@ RUN echo "bcftools: \"$(bcftools --version | grep 'bcftools' | sed -n 's/^bcftoo LABEL org.opencontainers.image.authors="Theodoro Gasperin Terra Camargo" LABEL org.opencontainers.image.description="Companion container for running component bcftools bcftools_norm" -LABEL org.opencontainers.image.created="2025-04-29T10:54:42Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:33Z" LABEL org.opencontainers.image.source="https://github.com/samtools/bcftools" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/bcftools/bcftools_sort/.config.vsh.yaml b/target/executable/bcftools/bcftools_sort/.config.vsh.yaml index c67a1bff..1706d370 100644 --- a/target/executable/bcftools/bcftools_sort/.config.vsh.yaml +++ b/target/executable/bcftools/bcftools_sort/.config.vsh.yaml @@ -188,13 +188,24 @@ build_info: output: "target/executable/bcftools/bcftools_sort" executable: "target/executable/bcftools/bcftools_sort/bcftools_sort" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/bcftools/bcftools_sort/bcftools_sort b/target/executable/bcftools/bcftools_sort/bcftools_sort index eeeb4a61..fd40007f 100755 --- a/target/executable/bcftools/bcftools_sort/bcftools_sort +++ b/target/executable/bcftools/bcftools_sort/bcftools_sort @@ -456,9 +456,9 @@ RUN echo "bcftools: \"$(bcftools --version | grep 'bcftools' | sed -n 's/^bcftoo LABEL org.opencontainers.image.authors="Theodoro Gasperin Terra Camargo" LABEL org.opencontainers.image.description="Companion container for running component bcftools bcftools_sort" -LABEL org.opencontainers.image.created="2025-04-29T10:54:42Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:33Z" LABEL org.opencontainers.image.source="https://github.com/samtools/bcftools" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/bcftools/bcftools_stats/.config.vsh.yaml b/target/executable/bcftools/bcftools_stats/.config.vsh.yaml index 25d8e625..25b3d063 100644 --- a/target/executable/bcftools/bcftools_stats/.config.vsh.yaml +++ b/target/executable/bcftools/bcftools_stats/.config.vsh.yaml @@ -461,13 +461,24 @@ build_info: output: "target/executable/bcftools/bcftools_stats" executable: "target/executable/bcftools/bcftools_stats/bcftools_stats" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/bcftools/bcftools_stats/bcftools_stats b/target/executable/bcftools/bcftools_stats/bcftools_stats index 5156e3e0..12c4be97 100755 --- a/target/executable/bcftools/bcftools_stats/bcftools_stats +++ b/target/executable/bcftools/bcftools_stats/bcftools_stats @@ -456,9 +456,9 @@ RUN echo "bcftools: \"$(bcftools --version | grep 'bcftools' | sed -n 's/^bcftoo LABEL org.opencontainers.image.authors="Theodoro Gasperin Terra Camargo" LABEL org.opencontainers.image.description="Companion container for running component bcftools bcftools_stats" -LABEL org.opencontainers.image.created="2025-04-29T10:54:42Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:33Z" LABEL org.opencontainers.image.source="https://github.com/samtools/bcftools" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/bcl_convert/.config.vsh.yaml b/target/executable/bcl_convert/.config.vsh.yaml index 0d22bdbf..07231309 100644 --- a/target/executable/bcl_convert/.config.vsh.yaml +++ b/target/executable/bcl_convert/.config.vsh.yaml @@ -431,13 +431,24 @@ build_info: output: "target/executable/bcl_convert" executable: "target/executable/bcl_convert/bcl_convert" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/bcl_convert/bcl_convert b/target/executable/bcl_convert/bcl_convert index 0cd49bef..bb64d493 100755 --- a/target/executable/bcl_convert/bcl_convert +++ b/target/executable/bcl_convert/bcl_convert @@ -462,9 +462,9 @@ RUN echo "bcl-convert: \"$(bcl-convert -V 2>&1 >/dev/null | sed -n '/Version/ s/ LABEL org.opencontainers.image.authors="Toni Verbeiren, Dorien Roosen" LABEL org.opencontainers.image.description="Companion container for running component bcl_convert" -LABEL org.opencontainers.image.created="2025-04-29T10:54:44Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:35Z" LABEL org.opencontainers.image.source="https://github.com/viash-hub/biobox" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/bd_rhapsody/bd_rhapsody_make_reference/.config.vsh.yaml b/target/executable/bd_rhapsody/bd_rhapsody_make_reference/.config.vsh.yaml index 8f23832f..5b8f058f 100644 --- a/target/executable/bd_rhapsody/bd_rhapsody_make_reference/.config.vsh.yaml +++ b/target/executable/bd_rhapsody/bd_rhapsody_make_reference/.config.vsh.yaml @@ -277,13 +277,24 @@ build_info: output: "target/executable/bd_rhapsody/bd_rhapsody_make_reference" executable: "target/executable/bd_rhapsody/bd_rhapsody_make_reference/bd_rhapsody_make_reference" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/bd_rhapsody/bd_rhapsody_make_reference/bd_rhapsody_make_reference b/target/executable/bd_rhapsody/bd_rhapsody_make_reference/bd_rhapsody_make_reference index 1c98e7b2..6ece74fb 100755 --- a/target/executable/bd_rhapsody/bd_rhapsody_make_reference/bd_rhapsody_make_reference +++ b/target/executable/bd_rhapsody/bd_rhapsody_make_reference/bd_rhapsody_make_reference @@ -465,9 +465,9 @@ RUN VERSION=$(ls -v /var/bd_rhapsody_cwl | grep '^v' | sed 's#v##' | tail -1) RUN echo "bdgenomics/rhapsody: \"$VERSION\"" > /var/software_versions.txt LABEL org.opencontainers.image.authors="Robrecht Cannoodt, Weiwei Schultz" LABEL org.opencontainers.image.description="Companion container for running component bd_rhapsody bd_rhapsody_make_reference" -LABEL org.opencontainers.image.created="2025-04-29T10:54:44Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:35Z" LABEL org.opencontainers.image.source="https://bitbucket.org/CRSwDev/cwl/src/master/v2.2.1/Extra_Utilities/" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/bd_rhapsody/bd_rhapsody_sequence_analysis/.config.vsh.yaml b/target/executable/bd_rhapsody/bd_rhapsody_sequence_analysis/.config.vsh.yaml index 02788fcb..433c7a5d 100644 --- a/target/executable/bd_rhapsody/bd_rhapsody_sequence_analysis/.config.vsh.yaml +++ b/target/executable/bd_rhapsody/bd_rhapsody_sequence_analysis/.config.vsh.yaml @@ -1118,13 +1118,24 @@ build_info: output: "target/executable/bd_rhapsody/bd_rhapsody_sequence_analysis" executable: "target/executable/bd_rhapsody/bd_rhapsody_sequence_analysis/bd_rhapsody_sequence_analysis" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/bd_rhapsody/bd_rhapsody_sequence_analysis/bd_rhapsody_sequence_analysis b/target/executable/bd_rhapsody/bd_rhapsody_sequence_analysis/bd_rhapsody_sequence_analysis index c8b22d26..3aee8864 100755 --- a/target/executable/bd_rhapsody/bd_rhapsody_sequence_analysis/bd_rhapsody_sequence_analysis +++ b/target/executable/bd_rhapsody/bd_rhapsody_sequence_analysis/bd_rhapsody_sequence_analysis @@ -465,9 +465,9 @@ RUN VERSION=$(ls -v /var/bd_rhapsody_cwl | grep '^v' | sed 's#v##' | tail -1) RUN echo "bdgenomics/rhapsody: \"$VERSION\"" > /var/software_versions.txt LABEL org.opencontainers.image.authors="Robrecht Cannoodt, Weiwei Schultz" LABEL org.opencontainers.image.description="Companion container for running component bd_rhapsody bd_rhapsody_sequence_analysis" -LABEL org.opencontainers.image.created="2025-04-29T10:54:44Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:36Z" LABEL org.opencontainers.image.source="https://bitbucket.org/CRSwDev/cwl/src/master/v2.2.1" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/bedtools/bedtools_bamtobed/.config.vsh.yaml b/target/executable/bedtools/bedtools_bamtobed/.config.vsh.yaml index 3d86a568..86b910ca 100644 --- a/target/executable/bedtools/bedtools_bamtobed/.config.vsh.yaml +++ b/target/executable/bedtools/bedtools_bamtobed/.config.vsh.yaml @@ -238,13 +238,24 @@ build_info: output: "target/executable/bedtools/bedtools_bamtobed" executable: "target/executable/bedtools/bedtools_bamtobed/bedtools_bamtobed" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/bedtools/bedtools_bamtobed/bedtools_bamtobed b/target/executable/bedtools/bedtools_bamtobed/bedtools_bamtobed index e4f4617e..b068ed50 100755 --- a/target/executable/bedtools/bedtools_bamtobed/bedtools_bamtobed +++ b/target/executable/bedtools/bedtools_bamtobed/bedtools_bamtobed @@ -456,9 +456,9 @@ RUN echo "bedtools: \"$(bedtools --version | sed -n 's/^bedtools //p')\"" > /var LABEL org.opencontainers.image.authors="Theodoro Gasperin Terra Camargo" LABEL org.opencontainers.image.description="Companion container for running component bedtools bedtools_bamtobed" -LABEL org.opencontainers.image.created="2025-04-29T10:54:46Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:38Z" LABEL org.opencontainers.image.source="https://github.com/arq5x/bedtools2" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/bedtools/bedtools_bamtofastq/.config.vsh.yaml b/target/executable/bedtools/bedtools_bamtofastq/.config.vsh.yaml index 6064b44f..f84b1258 100644 --- a/target/executable/bedtools/bedtools_bamtofastq/.config.vsh.yaml +++ b/target/executable/bedtools/bedtools_bamtofastq/.config.vsh.yaml @@ -190,13 +190,24 @@ build_info: output: "target/executable/bedtools/bedtools_bamtofastq" executable: "target/executable/bedtools/bedtools_bamtofastq/bedtools_bamtofastq" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/bedtools/bedtools_bamtofastq/bedtools_bamtofastq b/target/executable/bedtools/bedtools_bamtofastq/bedtools_bamtofastq index df5a9a26..59037466 100755 --- a/target/executable/bedtools/bedtools_bamtofastq/bedtools_bamtofastq +++ b/target/executable/bedtools/bedtools_bamtofastq/bedtools_bamtofastq @@ -456,9 +456,9 @@ RUN echo "bedtools: \"$(bedtools --version | sed -n 's/^bedtools //p')\"" > /var LABEL org.opencontainers.image.authors="Theodoro Gasperin Terra Camargo" LABEL org.opencontainers.image.description="Companion container for running component bedtools bedtools_bamtofastq" -LABEL org.opencontainers.image.created="2025-04-29T10:54:49Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:41Z" LABEL org.opencontainers.image.source="https://github.com/arq5x/bedtools2" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/bedtools/bedtools_bed12tobed6/.config.vsh.yaml b/target/executable/bedtools/bedtools_bed12tobed6/.config.vsh.yaml index 1efe24b3..8198098d 100644 --- a/target/executable/bedtools/bedtools_bed12tobed6/.config.vsh.yaml +++ b/target/executable/bedtools/bedtools_bed12tobed6/.config.vsh.yaml @@ -179,13 +179,24 @@ build_info: output: "target/executable/bedtools/bedtools_bed12tobed6" executable: "target/executable/bedtools/bedtools_bed12tobed6/bedtools_bed12tobed6" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/bedtools/bedtools_bed12tobed6/bedtools_bed12tobed6 b/target/executable/bedtools/bedtools_bed12tobed6/bedtools_bed12tobed6 index fda2e5f9..24d2296f 100755 --- a/target/executable/bedtools/bedtools_bed12tobed6/bedtools_bed12tobed6 +++ b/target/executable/bedtools/bedtools_bed12tobed6/bedtools_bed12tobed6 @@ -456,9 +456,9 @@ RUN echo "bedtools: \"$(bedtools --version | sed -n 's/^bedtools //p')\"" > /var LABEL org.opencontainers.image.authors="Theodoro Gasperin Terra Camargo" LABEL org.opencontainers.image.description="Companion container for running component bedtools bedtools_bed12tobed6" -LABEL org.opencontainers.image.created="2025-04-29T10:54:49Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:40Z" LABEL org.opencontainers.image.source="https://github.com/arq5x/bedtools2" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/bedtools/bedtools_bedtobam/.config.vsh.yaml b/target/executable/bedtools/bedtools_bedtobam/.config.vsh.yaml index 9730eed5..530c1dbc 100644 --- a/target/executable/bedtools/bedtools_bedtobam/.config.vsh.yaml +++ b/target/executable/bedtools/bedtools_bedtobam/.config.vsh.yaml @@ -217,13 +217,24 @@ build_info: output: "target/executable/bedtools/bedtools_bedtobam" executable: "target/executable/bedtools/bedtools_bedtobam/bedtools_bedtobam" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/bedtools/bedtools_bedtobam/bedtools_bedtobam b/target/executable/bedtools/bedtools_bedtobam/bedtools_bedtobam index 993667d4..381a119f 100755 --- a/target/executable/bedtools/bedtools_bedtobam/bedtools_bedtobam +++ b/target/executable/bedtools/bedtools_bedtobam/bedtools_bedtobam @@ -456,9 +456,9 @@ RUN echo "bedtools: \"$(bedtools --version | sed -n 's/^bedtools //p')\"" > /var LABEL org.opencontainers.image.authors="Theodoro Gasperin Terra Camargo" LABEL org.opencontainers.image.description="Companion container for running component bedtools bedtools_bedtobam" -LABEL org.opencontainers.image.created="2025-04-29T10:54:49Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:40Z" LABEL org.opencontainers.image.source="https://github.com/arq5x/bedtools2" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/bedtools/bedtools_genomecov/.config.vsh.yaml b/target/executable/bedtools/bedtools_genomecov/.config.vsh.yaml index b1babd14..9ef4d472 100644 --- a/target/executable/bedtools/bedtools_genomecov/.config.vsh.yaml +++ b/target/executable/bedtools/bedtools_genomecov/.config.vsh.yaml @@ -340,13 +340,24 @@ build_info: output: "target/executable/bedtools/bedtools_genomecov" executable: "target/executable/bedtools/bedtools_genomecov/bedtools_genomecov" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/bedtools/bedtools_genomecov/bedtools_genomecov b/target/executable/bedtools/bedtools_genomecov/bedtools_genomecov index a85ee1ab..142c896c 100755 --- a/target/executable/bedtools/bedtools_genomecov/bedtools_genomecov +++ b/target/executable/bedtools/bedtools_genomecov/bedtools_genomecov @@ -456,9 +456,9 @@ RUN echo "bedtools: \"$(bedtools --version | sed -n 's/^bedtools //p')\"" > /var LABEL org.opencontainers.image.authors="Theodoro Gasperin Terra Camargo" LABEL org.opencontainers.image.description="Companion container for running component bedtools bedtools_genomecov" -LABEL org.opencontainers.image.created="2025-04-29T10:54:47Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:38Z" LABEL org.opencontainers.image.source="https://github.com/arq5x/bedtools2" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/bedtools/bedtools_getfasta/.config.vsh.yaml b/target/executable/bedtools/bedtools_getfasta/.config.vsh.yaml index 61c7599b..1a8df2de 100644 --- a/target/executable/bedtools/bedtools_getfasta/.config.vsh.yaml +++ b/target/executable/bedtools/bedtools_getfasta/.config.vsh.yaml @@ -235,13 +235,24 @@ build_info: output: "target/executable/bedtools/bedtools_getfasta" executable: "target/executable/bedtools/bedtools_getfasta/bedtools_getfasta" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/bedtools/bedtools_getfasta/bedtools_getfasta b/target/executable/bedtools/bedtools_getfasta/bedtools_getfasta index c806404e..ba9b170a 100755 --- a/target/executable/bedtools/bedtools_getfasta/bedtools_getfasta +++ b/target/executable/bedtools/bedtools_getfasta/bedtools_getfasta @@ -456,9 +456,9 @@ RUN echo "bedtools: \"$(bedtools --version | sed -n 's/^bedtools //p')\"" > /var LABEL org.opencontainers.image.authors="Dries Schaumont" LABEL org.opencontainers.image.description="Companion container for running component bedtools bedtools_getfasta" -LABEL org.opencontainers.image.created="2025-04-29T10:54:47Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:38Z" LABEL org.opencontainers.image.source="https://github.com/arq5x/bedtools2" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/bedtools/bedtools_groupby/.config.vsh.yaml b/target/executable/bedtools/bedtools_groupby/.config.vsh.yaml index 36cad95c..b38749d6 100644 --- a/target/executable/bedtools/bedtools_groupby/.config.vsh.yaml +++ b/target/executable/bedtools/bedtools_groupby/.config.vsh.yaml @@ -276,13 +276,24 @@ build_info: output: "target/executable/bedtools/bedtools_groupby" executable: "target/executable/bedtools/bedtools_groupby/bedtools_groupby" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/bedtools/bedtools_groupby/bedtools_groupby b/target/executable/bedtools/bedtools_groupby/bedtools_groupby index 4a5f9583..0541d128 100755 --- a/target/executable/bedtools/bedtools_groupby/bedtools_groupby +++ b/target/executable/bedtools/bedtools_groupby/bedtools_groupby @@ -456,9 +456,9 @@ RUN echo "bedtools: \"$(bedtools --version | sed -n 's/^bedtools //p')\"" > /var LABEL org.opencontainers.image.authors="Theodoro Gasperin Terra Camargo" LABEL org.opencontainers.image.description="Companion container for running component bedtools bedtools_groupby" -LABEL org.opencontainers.image.created="2025-04-29T10:54:47Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:39Z" LABEL org.opencontainers.image.source="https://github.com/arq5x/bedtools2" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/bedtools/bedtools_intersect/.config.vsh.yaml b/target/executable/bedtools/bedtools_intersect/.config.vsh.yaml index 43f3a8be..0e2f28a5 100644 --- a/target/executable/bedtools/bedtools_intersect/.config.vsh.yaml +++ b/target/executable/bedtools/bedtools_intersect/.config.vsh.yaml @@ -413,13 +413,24 @@ build_info: output: "target/executable/bedtools/bedtools_intersect" executable: "target/executable/bedtools/bedtools_intersect/bedtools_intersect" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/bedtools/bedtools_intersect/bedtools_intersect b/target/executable/bedtools/bedtools_intersect/bedtools_intersect index 27a6d565..73c87b80 100755 --- a/target/executable/bedtools/bedtools_intersect/bedtools_intersect +++ b/target/executable/bedtools/bedtools_intersect/bedtools_intersect @@ -456,9 +456,9 @@ RUN echo "bedtools: \"$(bedtools --version | sed -n 's/^bedtools //p')\"" > /var LABEL org.opencontainers.image.authors="Theodoro Gasperin Terra Camargo" LABEL org.opencontainers.image.description="Companion container for running component bedtools bedtools_intersect" -LABEL org.opencontainers.image.created="2025-04-29T10:54:48Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:40Z" LABEL org.opencontainers.image.source="https://github.com/arq5x/bedtools2" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/bedtools/bedtools_links/.config.vsh.yaml b/target/executable/bedtools/bedtools_links/.config.vsh.yaml index 7d429074..3a284802 100644 --- a/target/executable/bedtools/bedtools_links/.config.vsh.yaml +++ b/target/executable/bedtools/bedtools_links/.config.vsh.yaml @@ -213,13 +213,24 @@ build_info: output: "target/executable/bedtools/bedtools_links" executable: "target/executable/bedtools/bedtools_links/bedtools_links" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/bedtools/bedtools_links/bedtools_links b/target/executable/bedtools/bedtools_links/bedtools_links index 37b18592..5ff7d127 100755 --- a/target/executable/bedtools/bedtools_links/bedtools_links +++ b/target/executable/bedtools/bedtools_links/bedtools_links @@ -456,9 +456,9 @@ RUN echo "bedtools: \"$(bedtools --version | sed -n 's/^bedtools //p')\"" > /var LABEL org.opencontainers.image.authors="Theodoro Gasperin Terra Camargo" LABEL org.opencontainers.image.description="Companion container for running component bedtools bedtools_links" -LABEL org.opencontainers.image.created="2025-04-29T10:54:48Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:40Z" LABEL org.opencontainers.image.source="https://github.com/arq5x/bedtools2" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/bedtools/bedtools_merge/.config.vsh.yaml b/target/executable/bedtools/bedtools_merge/.config.vsh.yaml index ff705a5a..49d4a042 100644 --- a/target/executable/bedtools/bedtools_merge/.config.vsh.yaml +++ b/target/executable/bedtools/bedtools_merge/.config.vsh.yaml @@ -282,13 +282,24 @@ build_info: output: "target/executable/bedtools/bedtools_merge" executable: "target/executable/bedtools/bedtools_merge/bedtools_merge" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/bedtools/bedtools_merge/bedtools_merge b/target/executable/bedtools/bedtools_merge/bedtools_merge index a4fea9fa..e3d7e8bc 100755 --- a/target/executable/bedtools/bedtools_merge/bedtools_merge +++ b/target/executable/bedtools/bedtools_merge/bedtools_merge @@ -456,9 +456,9 @@ RUN echo "bedtools: \"$(bedtools --version | sed -n 's/^bedtools //p')\"" > /var LABEL org.opencontainers.image.authors="Theodoro Gasperin Terra Camargo" LABEL org.opencontainers.image.description="Companion container for running component bedtools bedtools_merge" -LABEL org.opencontainers.image.created="2025-04-29T10:54:48Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:39Z" LABEL org.opencontainers.image.source="https://github.com/arq5x/bedtools2" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/bedtools/bedtools_sort/.config.vsh.yaml b/target/executable/bedtools/bedtools_sort/.config.vsh.yaml index f2f69e1f..7862e120 100644 --- a/target/executable/bedtools/bedtools_sort/.config.vsh.yaml +++ b/target/executable/bedtools/bedtools_sort/.config.vsh.yaml @@ -225,13 +225,24 @@ build_info: output: "target/executable/bedtools/bedtools_sort" executable: "target/executable/bedtools/bedtools_sort/bedtools_sort" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/bedtools/bedtools_sort/bedtools_sort b/target/executable/bedtools/bedtools_sort/bedtools_sort index 1b34f0d5..c9350d28 100755 --- a/target/executable/bedtools/bedtools_sort/bedtools_sort +++ b/target/executable/bedtools/bedtools_sort/bedtools_sort @@ -456,9 +456,9 @@ RUN echo "bedtools: \"$(bedtools --version | sed -n 's/^bedtools //p')\"" > /var LABEL org.opencontainers.image.authors="Theodoro Gasperin Terra Camargo" LABEL org.opencontainers.image.description="Companion container for running component bedtools bedtools_sort" -LABEL org.opencontainers.image.created="2025-04-29T10:54:47Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:39Z" LABEL org.opencontainers.image.source="https://github.com/arq5x/bedtools2" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/busco/busco_download_datasets/.config.vsh.yaml b/target/executable/busco/busco_download_datasets/.config.vsh.yaml index 0d9acfc0..de519ccb 100644 --- a/target/executable/busco/busco_download_datasets/.config.vsh.yaml +++ b/target/executable/busco/busco_download_datasets/.config.vsh.yaml @@ -161,13 +161,24 @@ build_info: output: "target/executable/busco/busco_download_datasets" executable: "target/executable/busco/busco_download_datasets/busco_download_datasets" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/busco/busco_download_datasets/busco_download_datasets b/target/executable/busco/busco_download_datasets/busco_download_datasets index b14d2a5e..c3097f60 100755 --- a/target/executable/busco/busco_download_datasets/busco_download_datasets +++ b/target/executable/busco/busco_download_datasets/busco_download_datasets @@ -452,9 +452,9 @@ RUN busco --version | sed 's/BUSCO\s\(.*\)/busco: "\1"/' > /var/software_version LABEL org.opencontainers.image.authors="Dorien Roosen" LABEL org.opencontainers.image.description="Companion container for running component busco busco_download_datasets" -LABEL org.opencontainers.image.created="2025-04-29T10:54:45Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:36Z" LABEL org.opencontainers.image.source="https://gitlab.com/ezlab/busco" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/busco/busco_list_datasets/.config.vsh.yaml b/target/executable/busco/busco_list_datasets/.config.vsh.yaml index 65e820b2..f9e009ce 100644 --- a/target/executable/busco/busco_list_datasets/.config.vsh.yaml +++ b/target/executable/busco/busco_list_datasets/.config.vsh.yaml @@ -148,13 +148,24 @@ build_info: output: "target/executable/busco/busco_list_datasets" executable: "target/executable/busco/busco_list_datasets/busco_list_datasets" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/busco/busco_list_datasets/busco_list_datasets b/target/executable/busco/busco_list_datasets/busco_list_datasets index 2288e247..2757995d 100755 --- a/target/executable/busco/busco_list_datasets/busco_list_datasets +++ b/target/executable/busco/busco_list_datasets/busco_list_datasets @@ -452,9 +452,9 @@ RUN busco --version | sed 's/BUSCO\s\(.*\)/busco: "\1"/' > /var/software_version LABEL org.opencontainers.image.authors="Dorien Roosen" LABEL org.opencontainers.image.description="Companion container for running component busco busco_list_datasets" -LABEL org.opencontainers.image.created="2025-04-29T10:54:45Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:36Z" LABEL org.opencontainers.image.source="https://gitlab.com/ezlab/busco" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/busco/busco_run/.config.vsh.yaml b/target/executable/busco/busco_run/.config.vsh.yaml index 50b4c9ff..09f533d7 100644 --- a/target/executable/busco/busco_run/.config.vsh.yaml +++ b/target/executable/busco/busco_run/.config.vsh.yaml @@ -426,13 +426,24 @@ build_info: output: "target/executable/busco/busco_run" executable: "target/executable/busco/busco_run/busco_run" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/busco/busco_run/busco_run b/target/executable/busco/busco_run/busco_run index 390a1a07..620e8de6 100755 --- a/target/executable/busco/busco_run/busco_run +++ b/target/executable/busco/busco_run/busco_run @@ -452,9 +452,9 @@ RUN busco --version | sed 's/BUSCO\s\(.*\)/busco: "\1"/' > /var/software_version LABEL org.opencontainers.image.authors="Dorien Roosen" LABEL org.opencontainers.image.description="Companion container for running component busco busco_run" -LABEL org.opencontainers.image.created="2025-04-29T10:54:45Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:36Z" LABEL org.opencontainers.image.source="https://gitlab.com/ezlab/busco" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/cellranger/cellranger_count/.config.vsh.yaml b/target/executable/cellranger/cellranger_count/.config.vsh.yaml new file mode 100644 index 00000000..da5205a7 --- /dev/null +++ b/target/executable/cellranger/cellranger_count/.config.vsh.yaml @@ -0,0 +1,416 @@ +name: "cellranger_count" +namespace: "cellranger" +version: "main" +authors: +- name: "Emma Rousseau" + roles: + - "author" + info: + links: + email: "emma@data-intuitive.com" + github: "emmarousseau" + linkedin: "emmarousseau1" + organizations: + - name: "Data Intuitive" + href: "https://www.data-intuitive.com" + role: "Bioinformatician" +- name: "Robrecht Cannoodt" + roles: + - "author" + 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: "FASTQ inputs" + arguments: + - type: "file" + name: "--fastqs" + description: "The fastq.gz files to align. Can also be a single directory containing\ + \ fastq.gz files." + info: null + example: + - "sample_S1_L001_R1_001.fastq.gz" + - "sample_S1_L001_R2_001.fastq.gz" + must_exist: true + create_parent: true + required: true + direction: "input" + multiple: true + multiple_sep: ";" + - type: "string" + name: "--description" + description: "Sample description to embed in output files" + info: null + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "string" + name: "--sample" + description: "Prefix of the filenames of FASTQs to select" + info: null + example: + - "sample_S1" + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "integer" + name: "--lanes" + description: "Only use FASTQs from selected lanes." + info: null + example: + - 1 + - 2 + - 3 + required: false + direction: "input" + multiple: true + multiple_sep: ";" + - type: "file" + name: "--libraries" + description: "CSV file declaring input library data sources" + info: null + example: + - "libraries.csv" + must_exist: true + create_parent: true + required: false + direction: "input" + multiple: false + multiple_sep: ";" +- name: "Reference inputs" + arguments: + - type: "file" + name: "--transcriptome" + description: "Path of folder containing 10x-compatible transcriptome reference.\ + \ Can also be a `.tar.gz` file." + info: null + example: + - "transcriptome.tar.gz" + must_exist: true + create_parent: true + required: true + direction: "input" + multiple: false + multiple_sep: ";" + - type: "file" + name: "--feature_ref" + description: "Feature reference CSV file, declaring Feature Barcode constructs\ + \ and associated barcodes" + info: null + example: + - "feature_ref.csv" + must_exist: true + create_parent: true + required: false + direction: "input" + multiple: false + multiple_sep: ";" +- name: "Analysis settings" + arguments: + - type: "integer" + name: "--expect_cells" + description: "Expected number of recovered cells, used as input to cell calling\ + \ algorithm." + info: null + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "integer" + name: "--force_cells" + description: "Force pipeline to use this number of cells, bypassing cell calling\ + \ algorithm. Minimum: 10.\n" + info: null + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "integer" + name: "--r1_length" + description: "Hard trim the input Read 1 to this length before analysis" + info: null + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "integer" + name: "--r2_length" + description: "Hard trim the input Read 2 to this length before analysis" + info: null + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "boolean_true" + name: "--include_introns" + description: "Include intronic reads in count. Default: true." + info: null + direction: "input" + - type: "string" + name: "--chemistry" + description: "Assay configuration.\n\nNOTE: by default the assay configuration\ + \ is detected automatically, which is the recommended mode. You usually will\ + \ not need to specify a chemistry. \n\nOptions are:\n\n- `'auto'` for autodetection\n\ + - `'threeprime'` for Single Cell 3'\n- `'fiveprime'` for Single Cell 5'\n- `'SC3Pv1'`\ + \ or `'SC3Pv2'` or `'SC3Pv3'` or `'SC3Pv4'` for\nSingle Cell 3' v1/v2/v3/v4\n\ + - `'SC3Pv3LT'` for Single Cell 3' v3 LT\n- `'SC3Pv3HT'` for Single Cell 3' v3\ + \ HT\n- `'SC5P-PE'` or `'SC5P-PE-v3'` or `'SC5P-R2'` or `'SC5P-R2-v3'` for Single\ + \ Cell 5', paired-end/R2-only\n- `'SC-FB'` for Single Cell Antibody-only 3'\ + \ v2 or 5'\n\nTo analyze the GEX portion of multiome data, chemistry must be\ + \ set to `'ARC-v1'`.\n\nSee the [10x Genomics FAQ](https://kb.10xgenomics.com/hc/en-us/articles/115003764132-How-does-Cell-Ranger-auto-detect-chemistry-)\ + \ for more information on how chemistry is detected.\n" + info: null + example: + - "auto" + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "string" + name: "--cell_annotation_model" + description: "Cell annotation model to use. Valid model names can be viewed by\n\ + running `cellranger cloud annotation models` or on the\n[10x Genomics Support\ + \ site](https://www.10xgenomics.com/support).\n\nIf \"auto\", uses the default\ + \ model for the species.\nIf not provided, does not run cell annotation.\n" + info: null + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "integer" + name: "--min_crispr_umi" + description: "Minimum CRISPR UMI threshold. Default: 3.\n" + info: null + required: false + direction: "input" + multiple: false + multiple_sep: ";" +- name: "Outputs" + arguments: + - type: "file" + name: "--output" + description: "The folder to store the alignment results." + info: null + must_exist: true + create_parent: true + required: true + direction: "output" + multiple: false + multiple_sep: ";" + - type: "boolean_true" + name: "--create_bam" + description: "Enable or disable BAM file generation. Setting this to false\nreduces\ + \ the total computation time and the size of the output\ndirectory (BAM file\ + \ not generated). We recommend setting\nit to true if unsure. See https://10xgen.com/create-bam\ + \ for\nadditional guidance.\n" + info: null + direction: "input" + - type: "boolean_true" + name: "--no_secondary" + description: "Disable secondary analysis, e.g. clustering." + info: null + direction: "input" +- name: "Additional arguments" + arguments: + - type: "boolean_true" + name: "--no_libraries" + description: "Proceed with processing using a `--feature_ref` but no Feature Barcode\ + \ libraries specified with the 'libraries' flag.\n" + info: null + direction: "input" + - type: "boolean_true" + name: "--check_library_compatibility" + description: "Whether to check for barcode compatibility between libraries.\n" + info: null + direction: "input" + - type: "file" + name: "--tenx_cloud_token" + description: "The path to the 10x Cloud Analysis user token used to enable cell\n\ + annotation. If not provided, will default to the location stored\nthrough cellranger\ + \ cloud auth setup.\n" + info: null + must_exist: true + create_parent: true + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "boolean_true" + name: "--dry" + description: "Do not execute the pipeline. Generate a pipeline invocation (.mro)\ + \ file and stop.\n" + info: null + direction: "input" +resources: +- type: "bash_script" + path: "script.sh" + is_executable: true +summary: "Align fastq files using Cell Ranger count." +description: "Count gene expression and/or feature barcode reads from a single sample\ + \ and GEM well\n" +test_resources: +- type: "bash_script" + path: "test.sh" + is_executable: true +info: null +status: "enabled" +scope: + image: "public" + target: "public" +requirements: + commands: + - "ps" +keywords: +- "cellranger" +- "single-cell" +- "rna-seq" +- "alignment" +- "count" +license: "Proprietary" +references: + doi: + - "10.1038/ncomms14049" +links: + repository: "https://github.com/10XGenomics/cellranger/blob/main/bin/sc_rna/count" + homepage: "https://www.10xgenomics.com/support/software/cell-ranger/latest" + documentation: "https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/using/count" + issue_tracker: "https://github.com/10XGenomics/cellranger/issues" +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/nf-core/cellranger:8.0.0" + target_registry: "images.viash-hub.com" + target_tag: "main" + namespace_separator: "/" + setup: + - type: "docker" + run: + - "DEBIAN_FRONTEND=noninteractive apt update && \\\napt upgrade -y && apt install\ + \ -y procps && rm -rf /var/lib/apt/lists/*\n" + - type: "docker" + run: + - "cellranger --version | sed 's/ cellranger-/: /' > /var/software_versions.txt\n" + entrypoint: [] + cmd: null +- type: "native" + id: "native" +build_info: + config: "src/cellranger/cellranger_count/config.vsh.yaml" + runner: "executable" + engine: "docker|native" + output: "target/executable/cellranger/cellranger_count" + executable: "target/executable/cellranger/cellranger_count/cellranger_count" + viash_version: "0.9.4" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" + git_remote: "https://github.com/viash-hub/biobox" + git_tag: "v0.2.0-35-gb0db228" +package_config: + name: "biobox" + version: "main" + 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 := '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" diff --git a/target/executable/cellranger/cellranger_count/cellranger_count b/target/executable/cellranger/cellranger_count/cellranger_count new file mode 100755 index 00000000..ec08d79d --- /dev/null +++ b/target/executable/cellranger/cellranger_count/cellranger_count @@ -0,0 +1,1724 @@ +#!/usr/bin/env bash + +# cellranger_count main +# +# This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative +# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data +# Intuitive. +# +# The component may contain files which fall under a different license. The +# authors of this component should specify the license in the header of such +# files, or include a separate license file detailing the licenses of all included +# files. +# +# Component authors: +# * Emma Rousseau (author) +# * Robrecht Cannoodt (author) + +set -e + +if [ -z "$VIASH_TEMP" ]; then + VIASH_TEMP=${VIASH_TEMP:-$VIASH_TMPDIR} + VIASH_TEMP=${VIASH_TEMP:-$VIASH_TEMPDIR} + VIASH_TEMP=${VIASH_TEMP:-$VIASH_TMP} + VIASH_TEMP=${VIASH_TEMP:-$TMPDIR} + VIASH_TEMP=${VIASH_TEMP:-$TMP} + VIASH_TEMP=${VIASH_TEMP:-$TEMPDIR} + VIASH_TEMP=${VIASH_TEMP:-$TEMP} + VIASH_TEMP=${VIASH_TEMP:-/tmp} +fi + +# define helper functions +# ViashQuote: put quotes around non flag values +# $1 : unquoted string +# return : possibly quoted string +# examples: +# ViashQuote --foo # returns --foo +# ViashQuote bar # returns 'bar' +# Viashquote --foo=bar # returns --foo='bar' +function ViashQuote { + if [[ "$1" =~ ^-+[a-zA-Z0-9_\-]+=.+$ ]]; then + echo "$1" | sed "s#=\(.*\)#='\1'#" + elif [[ "$1" =~ ^-+[a-zA-Z0-9_\-]+$ ]]; then + echo "$1" + else + echo "'$1'" + fi +} +# ViashRemoveFlags: Remove leading flag +# $1 : string with a possible leading flag +# return : string without possible leading flag +# examples: +# ViashRemoveFlags --foo=bar # returns bar +function ViashRemoveFlags { + echo "$1" | sed 's/^--*[a-zA-Z0-9_\-]*=//' +} +# ViashSourceDir: return the path of a bash file, following symlinks +# usage : ViashSourceDir ${BASH_SOURCE[0]} +# $1 : Should always be set to ${BASH_SOURCE[0]} +# returns : The absolute path of the bash file +function ViashSourceDir { + local source="$1" + while [ -h "$source" ]; do + local dir="$( cd -P "$( dirname "$source" )" >/dev/null 2>&1 && pwd )" + source="$(readlink "$source")" + [[ $source != /* ]] && source="$dir/$source" + done + cd -P "$( dirname "$source" )" >/dev/null 2>&1 && pwd +} +# ViashFindTargetDir: return the path of the '.build.yaml' file, following symlinks +# usage : ViashFindTargetDir 'ScriptPath' +# $1 : The location from where to start the upward search +# returns : The absolute path of the '.build.yaml' file +function ViashFindTargetDir { + local source="$1" + while [[ "$source" != "" && ! -e "$source/.build.yaml" ]]; do + source=${source%/*} + done + echo $source +} +# see https://en.wikipedia.org/wiki/Syslog#Severity_level +VIASH_LOGCODE_EMERGENCY=0 +VIASH_LOGCODE_ALERT=1 +VIASH_LOGCODE_CRITICAL=2 +VIASH_LOGCODE_ERROR=3 +VIASH_LOGCODE_WARNING=4 +VIASH_LOGCODE_NOTICE=5 +VIASH_LOGCODE_INFO=6 +VIASH_LOGCODE_DEBUG=7 +VIASH_VERBOSITY=$VIASH_LOGCODE_NOTICE + +# ViashLog: Log events depending on the verbosity level +# usage: ViashLog 1 alert Oh no something went wrong! +# $1: required verbosity level +# $2: display tag +# $3+: messages to display +# stdout: Your input, prepended by '[$2] '. +function ViashLog { + local required_level="$1" + local display_tag="$2" + shift 2 + if [ $VIASH_VERBOSITY -ge $required_level ]; then + >&2 echo "[$display_tag]" "$@" + fi +} + +# ViashEmergency: log events when the system is unstable +# usage: ViashEmergency Oh no something went wrong. +# stdout: Your input, prepended by '[emergency] '. +function ViashEmergency { + ViashLog $VIASH_LOGCODE_EMERGENCY emergency "$@" +} + +# ViashAlert: log events when actions must be taken immediately (e.g. corrupted system database) +# usage: ViashAlert Oh no something went wrong. +# stdout: Your input, prepended by '[alert] '. +function ViashAlert { + ViashLog $VIASH_LOGCODE_ALERT alert "$@" +} + +# ViashCritical: log events when a critical condition occurs +# usage: ViashCritical Oh no something went wrong. +# stdout: Your input, prepended by '[critical] '. +function ViashCritical { + ViashLog $VIASH_LOGCODE_CRITICAL critical "$@" +} + +# ViashError: log events when an error condition occurs +# usage: ViashError Oh no something went wrong. +# stdout: Your input, prepended by '[error] '. +function ViashError { + ViashLog $VIASH_LOGCODE_ERROR error "$@" +} + +# ViashWarning: log potentially abnormal events +# usage: ViashWarning Something may have gone wrong. +# stdout: Your input, prepended by '[warning] '. +function ViashWarning { + ViashLog $VIASH_LOGCODE_WARNING warning "$@" +} + +# ViashNotice: log significant but normal events +# usage: ViashNotice This just happened. +# stdout: Your input, prepended by '[notice] '. +function ViashNotice { + ViashLog $VIASH_LOGCODE_NOTICE notice "$@" +} + +# ViashInfo: log normal events +# usage: ViashInfo This just happened. +# stdout: Your input, prepended by '[info] '. +function ViashInfo { + ViashLog $VIASH_LOGCODE_INFO info "$@" +} + +# ViashDebug: log all events, for debugging purposes +# usage: ViashDebug This just happened. +# stdout: Your input, prepended by '[debug] '. +function ViashDebug { + ViashLog $VIASH_LOGCODE_DEBUG debug "$@" +} + +# find source folder of this component +VIASH_META_RESOURCES_DIR=`ViashSourceDir ${BASH_SOURCE[0]}` + +# find the root of the built components & dependencies +VIASH_TARGET_DIR=`ViashFindTargetDir $VIASH_META_RESOURCES_DIR` + +# define meta fields +VIASH_META_NAME="cellranger_count" +VIASH_META_FUNCTIONALITY_NAME="cellranger_count" +VIASH_META_EXECUTABLE="$VIASH_META_RESOURCES_DIR/$VIASH_META_NAME" +VIASH_META_CONFIG="$VIASH_META_RESOURCES_DIR/.config.vsh.yaml" +VIASH_META_TEMP_DIR="$VIASH_TEMP" + + + +# initialise variables +VIASH_MODE='run' +VIASH_ENGINE_ID='docker' + +######## Helper functions for setting up Docker images for viash ######## +# expects: ViashDockerBuild + +# ViashDockerInstallationCheck: check whether Docker is installed correctly +# +# examples: +# ViashDockerInstallationCheck +function ViashDockerInstallationCheck { + ViashDebug "Checking whether Docker is installed" + if [ ! command -v docker &> /dev/null ]; then + ViashCritical "Docker doesn't seem to be installed. See 'https://docs.docker.com/get-docker/' for instructions." + exit 1 + fi + + ViashDebug "Checking whether the Docker daemon is running" + local save=$-; set +e + local docker_version=$(docker version --format '{{.Client.APIVersion}}' 2> /dev/null) + local out=$? + [[ $save =~ e ]] && set -e + if [ $out -ne 0 ]; then + ViashCritical "Docker daemon does not seem to be running. Try one of the following:" + ViashCritical "- Try running 'dockerd' in the command line" + ViashCritical "- See https://docs.docker.com/config/daemon/" + exit 1 + fi +} + +# ViashDockerRemoteTagCheck: check whether a Docker image is available +# on a remote. Assumes `docker login` has been performed, if relevant. +# +# $1 : image identifier with format `[registry/]image[:tag]` +# exit code $? : whether or not the image was found +# examples: +# ViashDockerRemoteTagCheck python:latest +# echo $? # returns '0' +# ViashDockerRemoteTagCheck sdaizudceahifu +# echo $? # returns '1' +function ViashDockerRemoteTagCheck { + docker manifest inspect $1 > /dev/null 2> /dev/null +} + +# ViashDockerLocalTagCheck: check whether a Docker image is available locally +# +# $1 : image identifier with format `[registry/]image[:tag]` +# exit code $? : whether or not the image was found +# examples: +# docker pull python:latest +# ViashDockerLocalTagCheck python:latest +# echo $? # returns '0' +# ViashDockerLocalTagCheck sdaizudceahifu +# echo $? # returns '1' +function ViashDockerLocalTagCheck { + [ -n "$(docker images -q $1)" ] +} + +# ViashDockerPull: pull a Docker image +# +# $1 : image identifier with format `[registry/]image[:tag]` +# exit code $? : whether or not the image was found +# examples: +# ViashDockerPull python:latest +# echo $? # returns '0' +# ViashDockerPull sdaizudceahifu +# echo $? # returns '1' +function ViashDockerPull { + ViashNotice "Checking if Docker image is available at '$1'" + if [ $VIASH_VERBOSITY -ge $VIASH_LOGCODE_INFO ]; then + docker pull $1 && return 0 || return 1 + else + local save=$-; set +e + docker pull $1 2> /dev/null > /dev/null + local out=$? + [[ $save =~ e ]] && set -e + if [ $out -ne 0 ]; then + ViashWarning "Could not pull from '$1'. Docker image doesn't exist or is not accessible." + fi + return $out + fi +} + +# ViashDockerPush: push a Docker image +# +# $1 : image identifier with format `[registry/]image[:tag]` +# exit code $? : whether or not the image was found +# examples: +# ViashDockerPush python:latest +# echo $? # returns '0' +# ViashDockerPush sdaizudceahifu +# echo $? # returns '1' +function ViashDockerPush { + ViashNotice "Pushing image to '$1'" + local save=$-; set +e + local out + if [ $VIASH_VERBOSITY -ge $VIASH_LOGCODE_INFO ]; then + docker push $1 + out=$? + else + docker push $1 2> /dev/null > /dev/null + out=$? + fi + [[ $save =~ e ]] && set -e + if [ $out -eq 0 ]; then + ViashNotice "Container '$1' push succeeded." + else + ViashError "Container '$1' push errored. You might not be logged in or have the necessary permissions." + fi + return $out +} + +# ViashDockerPullElseBuild: pull a Docker image, else build it +# +# $1 : image identifier with format `[registry/]image[:tag]` +# ViashDockerBuild : a Bash function which builds a docker image, takes image identifier as argument. +# examples: +# ViashDockerPullElseBuild mynewcomponent +function ViashDockerPullElseBuild { + local save=$-; set +e + ViashDockerPull $1 + local out=$? + [[ $save =~ e ]] && set -e + if [ $out -ne 0 ]; then + ViashDockerBuild $@ + fi +} + +# ViashDockerSetup: create a Docker image, according to specified docker setup strategy +# +# $1 : image identifier with format `[registry/]image[:tag]` +# $2 : docker setup strategy, see DockerSetupStrategy.scala +# examples: +# ViashDockerSetup mynewcomponent alwaysbuild +function ViashDockerSetup { + local image_id="$1" + local setup_strategy="$2" + if [ "$setup_strategy" == "alwaysbuild" -o "$setup_strategy" == "build" -o "$setup_strategy" == "b" ]; then + ViashDockerBuild $image_id --no-cache $(ViashDockerBuildArgs "$engine_id") + elif [ "$setup_strategy" == "alwayspull" -o "$setup_strategy" == "pull" -o "$setup_strategy" == "p" ]; then + ViashDockerPull $image_id + elif [ "$setup_strategy" == "alwayspullelsebuild" -o "$setup_strategy" == "pullelsebuild" ]; then + ViashDockerPullElseBuild $image_id --no-cache $(ViashDockerBuildArgs "$engine_id") + elif [ "$setup_strategy" == "alwayspullelsecachedbuild" -o "$setup_strategy" == "pullelsecachedbuild" ]; then + ViashDockerPullElseBuild $image_id $(ViashDockerBuildArgs "$engine_id") + elif [ "$setup_strategy" == "alwayscachedbuild" -o "$setup_strategy" == "cachedbuild" -o "$setup_strategy" == "cb" ]; then + ViashDockerBuild $image_id $(ViashDockerBuildArgs "$engine_id") + elif [[ "$setup_strategy" =~ ^ifneedbe ]]; then + local save=$-; set +e + ViashDockerLocalTagCheck $image_id + local outCheck=$? + [[ $save =~ e ]] && set -e + if [ $outCheck -eq 0 ]; then + ViashInfo "Image $image_id already exists" + elif [ "$setup_strategy" == "ifneedbebuild" ]; then + ViashDockerBuild $image_id --no-cache $(ViashDockerBuildArgs "$engine_id") + elif [ "$setup_strategy" == "ifneedbecachedbuild" ]; then + ViashDockerBuild $image_id $(ViashDockerBuildArgs "$engine_id") + elif [ "$setup_strategy" == "ifneedbepull" ]; then + ViashDockerPull $image_id + elif [ "$setup_strategy" == "ifneedbepullelsebuild" ]; then + ViashDockerPullElseBuild $image_id --no-cache $(ViashDockerBuildArgs "$engine_id") + elif [ "$setup_strategy" == "ifneedbepullelsecachedbuild" ]; then + ViashDockerPullElseBuild $image_id $(ViashDockerBuildArgs "$engine_id") + else + ViashError "Unrecognised Docker strategy: $setup_strategy" + exit 1 + fi + elif [ "$setup_strategy" == "push" -o "$setup_strategy" == "forcepush" -o "$setup_strategy" == "alwayspush" ]; then + ViashDockerPush "$image_id" + elif [ "$setup_strategy" == "pushifnotpresent" -o "$setup_strategy" == "gentlepush" -o "$setup_strategy" == "maybepush" ]; then + local save=$-; set +e + ViashDockerRemoteTagCheck $image_id + local outCheck=$? + [[ $save =~ e ]] && set -e + if [ $outCheck -eq 0 ]; then + ViashNotice "Container '$image_id' exists, doing nothing." + else + ViashNotice "Container '$image_id' does not yet exist." + ViashDockerPush "$image_id" + fi + elif [ "$setup_strategy" == "donothing" -o "$setup_strategy" == "meh" ]; then + ViashNotice "Skipping setup." + else + ViashError "Unrecognised Docker strategy: $setup_strategy" + exit 1 + fi +} + +# ViashDockerCheckCommands: Check whether a docker container has the required commands +# +# $1 : image identifier with format `[registry/]image[:tag]` +# $@ : commands to verify being present +# examples: +# ViashDockerCheckCommands bash:4.0 bash ps foo +function ViashDockerCheckCommands { + local image_id="$1" + shift 1 + local commands="$@" + local save=$-; set +e + local missing # mark 'missing' as local in advance, otherwise the exit code of the command will be missing and always be '0' + missing=$(docker run --rm --entrypoint=sh "$image_id" -c "for command in $commands; do command -v \$command >/dev/null 2>&1; if [ \$? -ne 0 ]; then echo \$command; exit 1; fi; done") + local outCheck=$? + [[ $save =~ e ]] && set -e + if [ $outCheck -ne 0 ]; then + ViashError "Docker container '$image_id' does not contain command '$missing'." + exit 1 + fi +} + +# ViashDockerBuild: build a docker image +# $1 : image identifier with format `[registry/]image[:tag]` +# $... : additional arguments to pass to docker build +# $VIASH_META_TEMP_DIR : temporary directory to store dockerfile & optional resources in +# $VIASH_META_NAME : name of the component +# $VIASH_META_RESOURCES_DIR : directory containing the resources +# $VIASH_VERBOSITY : verbosity level +# exit code $? : whether or not the image was built successfully +function ViashDockerBuild { + local image_id="$1" + shift 1 + + # create temporary directory to store dockerfile & optional resources in + local tmpdir=$(mktemp -d "$VIASH_META_TEMP_DIR/dockerbuild-$VIASH_META_NAME-XXXXXX") + local dockerfile="$tmpdir/Dockerfile" + function clean_up { + rm -rf "$tmpdir" + } + trap clean_up EXIT + + # store dockerfile and resources + ViashDockerfile "$VIASH_ENGINE_ID" > "$dockerfile" + + # generate the build command + local docker_build_cmd="docker build -t '$image_id' $@ '$VIASH_META_RESOURCES_DIR' -f '$dockerfile'" + + # build the container + ViashNotice "Building container '$image_id' with Dockerfile" + ViashInfo "$docker_build_cmd" + local save=$-; set +e + if [ $VIASH_VERBOSITY -ge $VIASH_LOGCODE_INFO ]; then + eval $docker_build_cmd + else + eval $docker_build_cmd &> "$tmpdir/docker_build.log" + fi + + # check exit code + local out=$? + [[ $save =~ e ]] && set -e + if [ $out -ne 0 ]; then + ViashError "Error occurred while building container '$image_id'" + if [ $VIASH_VERBOSITY -lt $VIASH_LOGCODE_INFO ]; then + ViashError "Transcript: --------------------------------" + cat "$tmpdir/docker_build.log" + ViashError "End of transcript --------------------------" + fi + exit 1 + fi +} + +######## End of helper functions for setting up Docker images for viash ######## + +# ViashDockerFile: print the dockerfile to stdout +# $1 : engine identifier +# return : dockerfile required to run this component +# examples: +# ViashDockerFile +function ViashDockerfile { + local engine_id="$1" + + if [[ "$engine_id" == "docker" ]]; then + cat << 'VIASHDOCKER' +FROM quay.io/nf-core/cellranger:8.0.0 +ENTRYPOINT [] +RUN DEBIAN_FRONTEND=noninteractive apt update && \ +apt upgrade -y && apt install -y procps && rm -rf /var/lib/apt/lists/* + +RUN cellranger --version | sed 's/ cellranger-/: /' > /var/software_versions.txt + +LABEL org.opencontainers.image.authors="Emma Rousseau, Robrecht Cannoodt" +LABEL org.opencontainers.image.description="Companion container for running component cellranger cellranger_count" +LABEL org.opencontainers.image.created="2025-05-06T20:11:41Z" +LABEL org.opencontainers.image.source="https://github.com/10XGenomics/cellranger/blob/main/bin/sc_rna/count" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" +LABEL org.opencontainers.image.version="main" + +VIASHDOCKER + fi +} + +# ViashDockerBuildArgs: return the arguments to pass to docker build +# $1 : engine identifier +# return : arguments to pass to docker build +function ViashDockerBuildArgs { + local engine_id="$1" + + if [[ "$engine_id" == "docker" ]]; then + echo "" + fi +} + +# ViashAbsolutePath: generate absolute path from relative path +# borrowed from https://stackoverflow.com/a/21951256 +# $1 : relative filename +# return : absolute path +# examples: +# ViashAbsolutePath some_file.txt # returns /path/to/some_file.txt +# ViashAbsolutePath /foo/bar/.. # returns /foo +function ViashAbsolutePath { + local thePath + local parr + local outp + local len + if [[ ! "$1" =~ ^/ ]]; then + thePath="$PWD/$1" + else + thePath="$1" + fi + echo "$thePath" | ( + IFS=/ + read -a parr + declare -a outp + for i in "${parr[@]}"; do + case "$i" in + ''|.) continue ;; + ..) + len=${#outp[@]} + if ((len==0)); then + continue + else + unset outp[$((len-1))] + fi + ;; + *) + len=${#outp[@]} + outp[$len]="$i" + ;; + esac + done + echo /"${outp[*]}" + ) +} +# ViashDockerAutodetectMount: auto configuring docker mounts from parameters +# $1 : The parameter value +# returns : New parameter +# $VIASH_DIRECTORY_MOUNTS : Added another parameter to be passed to docker +# $VIASH_DOCKER_AUTOMOUNT_PREFIX : The prefix to be used for the automounts +# examples: +# ViashDockerAutodetectMount /path/to/bar # returns '/viash_automount/path/to/bar' +# ViashDockerAutodetectMountArg /path/to/bar # returns '--volume="/path/to:/viash_automount/path/to"' +function ViashDockerAutodetectMount { + local abs_path=$(ViashAbsolutePath "$1") + local mount_source + local base_name + if [ -d "$abs_path" ]; then + mount_source="$abs_path" + base_name="" + else + mount_source=`dirname "$abs_path"` + base_name=`basename "$abs_path"` + fi + local mount_target="$VIASH_DOCKER_AUTOMOUNT_PREFIX$mount_source" + if [ -z "$base_name" ]; then + echo "$mount_target" + else + echo "$mount_target/$base_name" + fi +} +function ViashDockerAutodetectMountArg { + local abs_path=$(ViashAbsolutePath "$1") + local mount_source + local base_name + if [ -d "$abs_path" ]; then + mount_source="$abs_path" + base_name="" + else + mount_source=`dirname "$abs_path"` + base_name=`basename "$abs_path"` + fi + local mount_target="$VIASH_DOCKER_AUTOMOUNT_PREFIX$mount_source" + ViashDebug "ViashDockerAutodetectMountArg $1 -> $mount_source -> $mount_target" + echo "--volume=\"$mount_source:$mount_target\"" +} +function ViashDockerStripAutomount { + local abs_path=$(ViashAbsolutePath "$1") + echo "${abs_path#$VIASH_DOCKER_AUTOMOUNT_PREFIX}" +} +# initialise variables +VIASH_DIRECTORY_MOUNTS=() + +# configure default docker automount prefix if it is unset +if [ -z "${VIASH_DOCKER_AUTOMOUNT_PREFIX+x}" ]; then + VIASH_DOCKER_AUTOMOUNT_PREFIX="/viash_automount" +fi + +# initialise docker variables +VIASH_DOCKER_RUN_ARGS=(-i --rm) + + +# ViashHelp: Display helpful explanation about this executable +function ViashHelp { + echo "cellranger_count main" + echo "" + echo "Count gene expression and/or feature barcode reads from a single sample and GEM" + echo "well" + echo "" + echo "FASTQ inputs:" + echo " --fastqs" + echo " type: file, required parameter, multiple values allowed, file must exist" + echo " example: sample_S1_L001_R1_001.fastq.gz;sample_S1_L001_R2_001.fastq.gz" + echo " The fastq.gz files to align. Can also be a single directory containing" + echo " fastq.gz files." + echo "" + echo " --description" + echo " type: string" + echo " Sample description to embed in output files" + echo "" + echo " --sample" + echo " type: string" + echo " example: sample_S1" + echo " Prefix of the filenames of FASTQs to select" + echo "" + echo " --lanes" + echo " type: integer, multiple values allowed" + echo " example: 1;2;3" + echo " Only use FASTQs from selected lanes." + echo "" + echo " --libraries" + echo " type: file, file must exist" + echo " example: libraries.csv" + echo " CSV file declaring input library data sources" + echo "" + echo "Reference inputs:" + echo " --transcriptome" + echo " type: file, required parameter, file must exist" + echo " example: transcriptome.tar.gz" + echo " Path of folder containing 10x-compatible transcriptome reference. Can" + echo " also be a \`.tar.gz\` file." + echo "" + echo " --feature_ref" + echo " type: file, file must exist" + echo " example: feature_ref.csv" + echo " Feature reference CSV file, declaring Feature Barcode constructs and" + echo " associated barcodes" + echo "" + echo "Analysis settings:" + echo " --expect_cells" + echo " type: integer" + echo " Expected number of recovered cells, used as input to cell calling" + echo " algorithm." + echo "" + echo " --force_cells" + echo " type: integer" + echo " Force pipeline to use this number of cells, bypassing cell calling" + echo " algorithm. Minimum: 10." + echo "" + echo " --r1_length" + echo " type: integer" + echo " Hard trim the input Read 1 to this length before analysis" + echo "" + echo " --r2_length" + echo " type: integer" + echo " Hard trim the input Read 2 to this length before analysis" + echo "" + echo " --include_introns" + echo " type: boolean_true" + echo " Include intronic reads in count. Default: true." + echo "" + echo " --chemistry" + echo " type: string" + echo " example: auto" + echo " Assay configuration." + echo " NOTE: by default the assay configuration is detected automatically," + echo " which is the recommended mode. You usually will not need to specify a" + echo " chemistry." + echo " Options are:" + echo " - \`'auto'\` for autodetection" + echo " - \`'threeprime'\` for Single Cell 3'" + echo " - \`'fiveprime'\` for Single Cell 5'" + echo " - \`'SC3Pv1'\` or \`'SC3Pv2'\` or \`'SC3Pv3'\` or \`'SC3Pv4'\` for" + echo " Single Cell 3' v1/v2/v3/v4" + echo " - \`'SC3Pv3LT'\` for Single Cell 3' v3 LT" + echo " - \`'SC3Pv3HT'\` for Single Cell 3' v3 HT" + echo " - \`'SC5P-PE'\` or \`'SC5P-PE-v3'\` or \`'SC5P-R2'\` or \`'SC5P-R2-v3'\` for" + echo " Single Cell 5', paired-end/R2-only" + echo " - \`'SC-FB'\` for Single Cell Antibody-only 3' v2 or 5'" + echo " To analyze the GEX portion of multiome data, chemistry must be set to" + echo " \`'ARC-v1'\`." + echo " See the [10x Genomics" + echo " " + echo "FAQ](https://kb.10xgenomics.com/hc/en-us/articles/115003764132-How-does-Cell-Ranger-auto-detect-chemistry-)" + echo " for more information on how chemistry is detected." + echo "" + echo " --cell_annotation_model" + echo " type: string" + echo " Cell annotation model to use. Valid model names can be viewed by" + echo " running \`cellranger cloud annotation models\` or on the" + echo " [10x Genomics Support site](https://www.10xgenomics.com/support)." + echo " If \"auto\", uses the default model for the species." + echo " If not provided, does not run cell annotation." + echo "" + echo " --min_crispr_umi" + echo " type: integer" + echo " Minimum CRISPR UMI threshold. Default: 3." + echo "" + echo "Outputs:" + echo " --output" + echo " type: file, required parameter, output, file must exist" + echo " The folder to store the alignment results." + echo "" + echo " --create_bam" + echo " type: boolean_true" + echo " Enable or disable BAM file generation. Setting this to false" + echo " reduces the total computation time and the size of the output" + echo " directory (BAM file not generated). We recommend setting" + echo " it to true if unsure. See https://10xgen.com/create-bam for" + echo " additional guidance." + echo "" + echo " --no_secondary" + echo " type: boolean_true" + echo " Disable secondary analysis, e.g. clustering." + echo "" + echo "Additional arguments:" + echo " --no_libraries" + echo " type: boolean_true" + echo " Proceed with processing using a \`--feature_ref\` but no Feature Barcode" + echo " libraries specified with the 'libraries' flag." + echo "" + echo " --check_library_compatibility" + echo " type: boolean_true" + echo " Whether to check for barcode compatibility between libraries." + echo "" + echo " --tenx_cloud_token" + echo " type: file, file must exist" + echo " The path to the 10x Cloud Analysis user token used to enable cell" + echo " annotation. If not provided, will default to the location stored" + echo " through cellranger cloud auth setup." + echo "" + echo " --dry" + echo " type: boolean_true" + echo " Do not execute the pipeline. Generate a pipeline invocation (.mro) file" + echo " and stop." + echo "" + echo "Viash built in Computational Requirements:" + echo " ---cpus=INT" + echo " Number of CPUs to use" + echo " ---memory=STRING" + echo " Amount of memory to use. Examples: 4GB, 3MiB." + echo "" + echo "Viash built in Docker:" + echo " ---setup=STRATEGY" + echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing." + echo " Default: ifneedbepullelsecachedbuild" + echo " ---dockerfile" + echo " Print the dockerfile to stdout." + echo " ---docker_run_args=ARG" + echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information." + echo " ---docker_image_id" + echo " Print the docker image id to stdout." + echo " ---debug" + echo " Enter the docker container for debugging purposes." + echo "" + echo "Viash built in Engines:" + echo " ---engine=ENGINE_ID" + echo " Specify the engine to use. Options are: docker, native." + echo " Default: docker" +} + +# initialise array +VIASH_POSITIONAL_ARGS='' + +while [[ $# -gt 0 ]]; do + case "$1" in + -h|--help) + ViashHelp + exit + ;; + ---v|---verbose) + let "VIASH_VERBOSITY=VIASH_VERBOSITY+1" + shift 1 + ;; + ---verbosity) + VIASH_VERBOSITY="$2" + shift 2 + ;; + ---verbosity=*) + VIASH_VERBOSITY="$(ViashRemoveFlags "$1")" + shift 1 + ;; + --version) + echo "cellranger_count main" + exit + ;; + --fastqs) + if [ -z "$VIASH_PAR_FASTQS" ]; then + VIASH_PAR_FASTQS="$2" + else + VIASH_PAR_FASTQS="$VIASH_PAR_FASTQS;""$2" + fi + [ $# -lt 2 ] && ViashError Not enough arguments passed to --fastqs. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --fastqs=*) + if [ -z "$VIASH_PAR_FASTQS" ]; then + VIASH_PAR_FASTQS=$(ViashRemoveFlags "$1") + else + VIASH_PAR_FASTQS="$VIASH_PAR_FASTQS;"$(ViashRemoveFlags "$1") + fi + shift 1 + ;; + --description) + [ -n "$VIASH_PAR_DESCRIPTION" ] && ViashError Bad arguments for option \'--description\': \'$VIASH_PAR_DESCRIPTION\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_DESCRIPTION="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --description. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --description=*) + [ -n "$VIASH_PAR_DESCRIPTION" ] && ViashError Bad arguments for option \'--description=*\': \'$VIASH_PAR_DESCRIPTION\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_DESCRIPTION=$(ViashRemoveFlags "$1") + shift 1 + ;; + --sample) + [ -n "$VIASH_PAR_SAMPLE" ] && ViashError Bad arguments for option \'--sample\': \'$VIASH_PAR_SAMPLE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_SAMPLE="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --sample. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --sample=*) + [ -n "$VIASH_PAR_SAMPLE" ] && ViashError Bad arguments for option \'--sample=*\': \'$VIASH_PAR_SAMPLE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_SAMPLE=$(ViashRemoveFlags "$1") + shift 1 + ;; + --lanes) + if [ -z "$VIASH_PAR_LANES" ]; then + VIASH_PAR_LANES="$2" + else + VIASH_PAR_LANES="$VIASH_PAR_LANES;""$2" + fi + [ $# -lt 2 ] && ViashError Not enough arguments passed to --lanes. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --lanes=*) + if [ -z "$VIASH_PAR_LANES" ]; then + VIASH_PAR_LANES=$(ViashRemoveFlags "$1") + else + VIASH_PAR_LANES="$VIASH_PAR_LANES;"$(ViashRemoveFlags "$1") + fi + shift 1 + ;; + --libraries) + [ -n "$VIASH_PAR_LIBRARIES" ] && ViashError Bad arguments for option \'--libraries\': \'$VIASH_PAR_LIBRARIES\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_LIBRARIES="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --libraries. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --libraries=*) + [ -n "$VIASH_PAR_LIBRARIES" ] && ViashError Bad arguments for option \'--libraries=*\': \'$VIASH_PAR_LIBRARIES\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_LIBRARIES=$(ViashRemoveFlags "$1") + shift 1 + ;; + --transcriptome) + [ -n "$VIASH_PAR_TRANSCRIPTOME" ] && ViashError Bad arguments for option \'--transcriptome\': \'$VIASH_PAR_TRANSCRIPTOME\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_TRANSCRIPTOME="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --transcriptome. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --transcriptome=*) + [ -n "$VIASH_PAR_TRANSCRIPTOME" ] && ViashError Bad arguments for option \'--transcriptome=*\': \'$VIASH_PAR_TRANSCRIPTOME\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_TRANSCRIPTOME=$(ViashRemoveFlags "$1") + shift 1 + ;; + --feature_ref) + [ -n "$VIASH_PAR_FEATURE_REF" ] && ViashError Bad arguments for option \'--feature_ref\': \'$VIASH_PAR_FEATURE_REF\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_FEATURE_REF="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --feature_ref. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --feature_ref=*) + [ -n "$VIASH_PAR_FEATURE_REF" ] && ViashError Bad arguments for option \'--feature_ref=*\': \'$VIASH_PAR_FEATURE_REF\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_FEATURE_REF=$(ViashRemoveFlags "$1") + shift 1 + ;; + --expect_cells) + [ -n "$VIASH_PAR_EXPECT_CELLS" ] && ViashError Bad arguments for option \'--expect_cells\': \'$VIASH_PAR_EXPECT_CELLS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_EXPECT_CELLS="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --expect_cells. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --expect_cells=*) + [ -n "$VIASH_PAR_EXPECT_CELLS" ] && ViashError Bad arguments for option \'--expect_cells=*\': \'$VIASH_PAR_EXPECT_CELLS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_EXPECT_CELLS=$(ViashRemoveFlags "$1") + shift 1 + ;; + --force_cells) + [ -n "$VIASH_PAR_FORCE_CELLS" ] && ViashError Bad arguments for option \'--force_cells\': \'$VIASH_PAR_FORCE_CELLS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_FORCE_CELLS="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --force_cells. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --force_cells=*) + [ -n "$VIASH_PAR_FORCE_CELLS" ] && ViashError Bad arguments for option \'--force_cells=*\': \'$VIASH_PAR_FORCE_CELLS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_FORCE_CELLS=$(ViashRemoveFlags "$1") + shift 1 + ;; + --r1_length) + [ -n "$VIASH_PAR_R1_LENGTH" ] && ViashError Bad arguments for option \'--r1_length\': \'$VIASH_PAR_R1_LENGTH\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_R1_LENGTH="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --r1_length. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --r1_length=*) + [ -n "$VIASH_PAR_R1_LENGTH" ] && ViashError Bad arguments for option \'--r1_length=*\': \'$VIASH_PAR_R1_LENGTH\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_R1_LENGTH=$(ViashRemoveFlags "$1") + shift 1 + ;; + --r2_length) + [ -n "$VIASH_PAR_R2_LENGTH" ] && ViashError Bad arguments for option \'--r2_length\': \'$VIASH_PAR_R2_LENGTH\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_R2_LENGTH="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --r2_length. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --r2_length=*) + [ -n "$VIASH_PAR_R2_LENGTH" ] && ViashError Bad arguments for option \'--r2_length=*\': \'$VIASH_PAR_R2_LENGTH\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_R2_LENGTH=$(ViashRemoveFlags "$1") + shift 1 + ;; + --include_introns) + [ -n "$VIASH_PAR_INCLUDE_INTRONS" ] && ViashError Bad arguments for option \'--include_introns\': \'$VIASH_PAR_INCLUDE_INTRONS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_INCLUDE_INTRONS=true + shift 1 + ;; + --chemistry) + [ -n "$VIASH_PAR_CHEMISTRY" ] && ViashError Bad arguments for option \'--chemistry\': \'$VIASH_PAR_CHEMISTRY\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_CHEMISTRY="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --chemistry. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --chemistry=*) + [ -n "$VIASH_PAR_CHEMISTRY" ] && ViashError Bad arguments for option \'--chemistry=*\': \'$VIASH_PAR_CHEMISTRY\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_CHEMISTRY=$(ViashRemoveFlags "$1") + shift 1 + ;; + --cell_annotation_model) + [ -n "$VIASH_PAR_CELL_ANNOTATION_MODEL" ] && ViashError Bad arguments for option \'--cell_annotation_model\': \'$VIASH_PAR_CELL_ANNOTATION_MODEL\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_CELL_ANNOTATION_MODEL="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --cell_annotation_model. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --cell_annotation_model=*) + [ -n "$VIASH_PAR_CELL_ANNOTATION_MODEL" ] && ViashError Bad arguments for option \'--cell_annotation_model=*\': \'$VIASH_PAR_CELL_ANNOTATION_MODEL\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_CELL_ANNOTATION_MODEL=$(ViashRemoveFlags "$1") + shift 1 + ;; + --min_crispr_umi) + [ -n "$VIASH_PAR_MIN_CRISPR_UMI" ] && ViashError Bad arguments for option \'--min_crispr_umi\': \'$VIASH_PAR_MIN_CRISPR_UMI\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_MIN_CRISPR_UMI="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --min_crispr_umi. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --min_crispr_umi=*) + [ -n "$VIASH_PAR_MIN_CRISPR_UMI" ] && ViashError Bad arguments for option \'--min_crispr_umi=*\': \'$VIASH_PAR_MIN_CRISPR_UMI\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_MIN_CRISPR_UMI=$(ViashRemoveFlags "$1") + shift 1 + ;; + --output) + [ -n "$VIASH_PAR_OUTPUT" ] && ViashError Bad arguments for option \'--output\': \'$VIASH_PAR_OUTPUT\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_OUTPUT="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --output. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --output=*) + [ -n "$VIASH_PAR_OUTPUT" ] && ViashError Bad arguments for option \'--output=*\': \'$VIASH_PAR_OUTPUT\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_OUTPUT=$(ViashRemoveFlags "$1") + shift 1 + ;; + --create_bam) + [ -n "$VIASH_PAR_CREATE_BAM" ] && ViashError Bad arguments for option \'--create_bam\': \'$VIASH_PAR_CREATE_BAM\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_CREATE_BAM=true + shift 1 + ;; + --no_secondary) + [ -n "$VIASH_PAR_NO_SECONDARY" ] && ViashError Bad arguments for option \'--no_secondary\': \'$VIASH_PAR_NO_SECONDARY\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_NO_SECONDARY=true + shift 1 + ;; + --no_libraries) + [ -n "$VIASH_PAR_NO_LIBRARIES" ] && ViashError Bad arguments for option \'--no_libraries\': \'$VIASH_PAR_NO_LIBRARIES\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_NO_LIBRARIES=true + shift 1 + ;; + --check_library_compatibility) + [ -n "$VIASH_PAR_CHECK_LIBRARY_COMPATIBILITY" ] && ViashError Bad arguments for option \'--check_library_compatibility\': \'$VIASH_PAR_CHECK_LIBRARY_COMPATIBILITY\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_CHECK_LIBRARY_COMPATIBILITY=true + shift 1 + ;; + --tenx_cloud_token) + [ -n "$VIASH_PAR_TENX_CLOUD_TOKEN" ] && ViashError Bad arguments for option \'--tenx_cloud_token\': \'$VIASH_PAR_TENX_CLOUD_TOKEN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_TENX_CLOUD_TOKEN="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --tenx_cloud_token. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --tenx_cloud_token=*) + [ -n "$VIASH_PAR_TENX_CLOUD_TOKEN" ] && ViashError Bad arguments for option \'--tenx_cloud_token=*\': \'$VIASH_PAR_TENX_CLOUD_TOKEN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_TENX_CLOUD_TOKEN=$(ViashRemoveFlags "$1") + shift 1 + ;; + --dry) + [ -n "$VIASH_PAR_DRY" ] && ViashError Bad arguments for option \'--dry\': \'$VIASH_PAR_DRY\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_DRY=true + shift 1 + ;; + ---engine) + VIASH_ENGINE_ID="$2" + shift 2 + ;; + ---engine=*) + VIASH_ENGINE_ID="$(ViashRemoveFlags "$1")" + shift 1 + ;; + ---setup) + VIASH_MODE='setup' + VIASH_SETUP_STRATEGY="$2" + shift 2 + ;; + ---setup=*) + VIASH_MODE='setup' + VIASH_SETUP_STRATEGY="$(ViashRemoveFlags "$1")" + shift 1 + ;; + ---dockerfile) + VIASH_MODE='dockerfile' + shift 1 + ;; + ---docker_run_args) + VIASH_DOCKER_RUN_ARGS+=("$2") + shift 2 + ;; + ---docker_run_args=*) + VIASH_DOCKER_RUN_ARGS+=("$(ViashRemoveFlags "$1")") + shift 1 + ;; + ---docker_image_id) + VIASH_MODE='docker_image_id' + shift 1 + ;; + ---debug) + VIASH_MODE='debug' + shift 1 + ;; + ---cpus) + [ -n "$VIASH_META_CPUS" ] && ViashError Bad arguments for option \'---cpus\': \'$VIASH_META_CPUS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_META_CPUS="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to ---cpus. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + ---cpus=*) + [ -n "$VIASH_META_CPUS" ] && ViashError Bad arguments for option \'---cpus=*\': \'$VIASH_META_CPUS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_META_CPUS=$(ViashRemoveFlags "$1") + shift 1 + ;; + ---memory) + [ -n "$VIASH_META_MEMORY" ] && ViashError Bad arguments for option \'---memory\': \'$VIASH_META_MEMORY\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_META_MEMORY="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to ---memory. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + ---memory=*) + [ -n "$VIASH_META_MEMORY" ] && ViashError Bad arguments for option \'---memory=*\': \'$VIASH_META_MEMORY\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_META_MEMORY=$(ViashRemoveFlags "$1") + shift 1 + ;; + *) # positional arg or unknown option + # since the positional args will be eval'd, can we always quote, instead of using ViashQuote + VIASH_POSITIONAL_ARGS="$VIASH_POSITIONAL_ARGS '$1'" + [[ $1 == -* ]] && ViashWarning $1 looks like a parameter but is not a defined parameter and will instead be treated as a positional argument. Use "--help" to get more information on the parameters. + shift # past argument + ;; + esac +done + +# parse positional parameters +eval set -- $VIASH_POSITIONAL_ARGS + + +if [ "$VIASH_ENGINE_ID" == "native" ] ; then + VIASH_ENGINE_TYPE='native' +elif [ "$VIASH_ENGINE_ID" == "docker" ] ; then + VIASH_ENGINE_TYPE='docker' +else + ViashError "Engine '$VIASH_ENGINE_ID' is not recognized. Options are: docker, native." + exit 1 +fi + +if [[ "$VIASH_ENGINE_TYPE" == "docker" ]]; then + # check if docker is installed properly + ViashDockerInstallationCheck + + # determine docker image id + if [[ "$VIASH_ENGINE_ID" == 'docker' ]]; then + VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/biobox/cellranger/cellranger_count:main' + fi + + # print dockerfile + if [ "$VIASH_MODE" == "dockerfile" ]; then + ViashDockerfile "$VIASH_ENGINE_ID" + exit 0 + + elif [ "$VIASH_MODE" == "docker_image_id" ]; then + echo "$VIASH_DOCKER_IMAGE_ID" + exit 0 + + # enter docker container + elif [[ "$VIASH_MODE" == "debug" ]]; then + VIASH_CMD="docker run --entrypoint=bash ${VIASH_DOCKER_RUN_ARGS[@]} -v '$(pwd)':/pwd --workdir /pwd -t $VIASH_DOCKER_IMAGE_ID" + ViashNotice "+ $VIASH_CMD" + eval $VIASH_CMD + exit + + # build docker image + elif [ "$VIASH_MODE" == "setup" ]; then + ViashDockerSetup "$VIASH_DOCKER_IMAGE_ID" "$VIASH_SETUP_STRATEGY" + ViashDockerCheckCommands "$VIASH_DOCKER_IMAGE_ID" 'ps' 'bash' + exit 0 + fi + + # check if docker image exists + ViashDockerSetup "$VIASH_DOCKER_IMAGE_ID" ifneedbepullelsecachedbuild + ViashDockerCheckCommands "$VIASH_DOCKER_IMAGE_ID" 'ps' 'bash' +fi + +# setting computational defaults + +# helper function for parsing memory strings +function ViashMemoryAsBytes { + local memory=`echo "$1" | tr '[:upper:]' '[:lower:]' | tr -d '[:space:]'` + local memory_regex='^([0-9]+)([kmgtp]i?b?|b)$' + if [[ $memory =~ $memory_regex ]]; then + local number=${memory/[^0-9]*/} + local symbol=${memory/*[0-9]/} + + case $symbol in + b) memory_b=$number ;; + kb|k) memory_b=$(( $number * 1000 )) ;; + mb|m) memory_b=$(( $number * 1000 * 1000 )) ;; + gb|g) memory_b=$(( $number * 1000 * 1000 * 1000 )) ;; + tb|t) memory_b=$(( $number * 1000 * 1000 * 1000 * 1000 )) ;; + pb|p) memory_b=$(( $number * 1000 * 1000 * 1000 * 1000 * 1000 )) ;; + kib|ki) memory_b=$(( $number * 1024 )) ;; + mib|mi) memory_b=$(( $number * 1024 * 1024 )) ;; + gib|gi) memory_b=$(( $number * 1024 * 1024 * 1024 )) ;; + tib|ti) memory_b=$(( $number * 1024 * 1024 * 1024 * 1024 )) ;; + pib|pi) memory_b=$(( $number * 1024 * 1024 * 1024 * 1024 * 1024 )) ;; + esac + echo "$memory_b" + fi +} +# compute memory in different units +if [ ! -z ${VIASH_META_MEMORY+x} ]; then + VIASH_META_MEMORY_B=`ViashMemoryAsBytes $VIASH_META_MEMORY` + # do not define other variables if memory_b is an empty string + if [ ! -z "$VIASH_META_MEMORY_B" ]; then + VIASH_META_MEMORY_KB=$(( ($VIASH_META_MEMORY_B+999) / 1000 )) + VIASH_META_MEMORY_MB=$(( ($VIASH_META_MEMORY_KB+999) / 1000 )) + VIASH_META_MEMORY_GB=$(( ($VIASH_META_MEMORY_MB+999) / 1000 )) + VIASH_META_MEMORY_TB=$(( ($VIASH_META_MEMORY_GB+999) / 1000 )) + VIASH_META_MEMORY_PB=$(( ($VIASH_META_MEMORY_TB+999) / 1000 )) + VIASH_META_MEMORY_KIB=$(( ($VIASH_META_MEMORY_B+1023) / 1024 )) + VIASH_META_MEMORY_MIB=$(( ($VIASH_META_MEMORY_KIB+1023) / 1024 )) + VIASH_META_MEMORY_GIB=$(( ($VIASH_META_MEMORY_MIB+1023) / 1024 )) + VIASH_META_MEMORY_TIB=$(( ($VIASH_META_MEMORY_GIB+1023) / 1024 )) + VIASH_META_MEMORY_PIB=$(( ($VIASH_META_MEMORY_TIB+1023) / 1024 )) + else + # unset memory if string is empty + unset $VIASH_META_MEMORY_B + fi +fi +# unset nproc if string is empty +if [ -z "$VIASH_META_CPUS" ]; then + unset $VIASH_META_CPUS +fi + + +# check whether required parameters exist +if [ -z ${VIASH_PAR_FASTQS+x} ]; then + ViashError '--fastqs' is a required argument. Use "--help" to get more information on the parameters. + exit 1 +fi +if [ -z ${VIASH_PAR_TRANSCRIPTOME+x} ]; then + ViashError '--transcriptome' is a required argument. Use "--help" to get more information on the parameters. + exit 1 +fi +if [ -z ${VIASH_PAR_OUTPUT+x} ]; then + ViashError '--output' is a required argument. Use "--help" to get more information on the parameters. + exit 1 +fi +if [ -z ${VIASH_META_NAME+x} ]; then + ViashError 'name' is a required argument. Use "--help" to get more information on the parameters. + exit 1 +fi +if [ -z ${VIASH_META_FUNCTIONALITY_NAME+x} ]; then + ViashError 'functionality_name' is a required argument. Use "--help" to get more information on the parameters. + exit 1 +fi +if [ -z ${VIASH_META_RESOURCES_DIR+x} ]; then + ViashError 'resources_dir' is a required argument. Use "--help" to get more information on the parameters. + exit 1 +fi +if [ -z ${VIASH_META_EXECUTABLE+x} ]; then + ViashError 'executable' is a required argument. Use "--help" to get more information on the parameters. + exit 1 +fi +if [ -z ${VIASH_META_CONFIG+x} ]; then + ViashError 'config' is a required argument. Use "--help" to get more information on the parameters. + exit 1 +fi +if [ -z ${VIASH_META_TEMP_DIR+x} ]; then + ViashError 'temp_dir' is a required argument. Use "--help" to get more information on the parameters. + exit 1 +fi + +# filling in defaults +if [ -z ${VIASH_PAR_INCLUDE_INTRONS+x} ]; then + VIASH_PAR_INCLUDE_INTRONS="false" +fi +if [ -z ${VIASH_PAR_CREATE_BAM+x} ]; then + VIASH_PAR_CREATE_BAM="false" +fi +if [ -z ${VIASH_PAR_NO_SECONDARY+x} ]; then + VIASH_PAR_NO_SECONDARY="false" +fi +if [ -z ${VIASH_PAR_NO_LIBRARIES+x} ]; then + VIASH_PAR_NO_LIBRARIES="false" +fi +if [ -z ${VIASH_PAR_CHECK_LIBRARY_COMPATIBILITY+x} ]; then + VIASH_PAR_CHECK_LIBRARY_COMPATIBILITY="false" +fi +if [ -z ${VIASH_PAR_DRY+x} ]; then + VIASH_PAR_DRY="false" +fi + +# check whether required files exist +if [ ! -z "$VIASH_PAR_FASTQS" ]; then + IFS=';' + set -f + for file in $VIASH_PAR_FASTQS; do + unset IFS + if [ ! -e "$file" ]; then + ViashError "Input file '$file' does not exist." + exit 1 + fi + done + set +f +fi +if [ ! -z "$VIASH_PAR_LIBRARIES" ] && [ ! -e "$VIASH_PAR_LIBRARIES" ]; then + ViashError "Input file '$VIASH_PAR_LIBRARIES' does not exist." + exit 1 +fi +if [ ! -z "$VIASH_PAR_TRANSCRIPTOME" ] && [ ! -e "$VIASH_PAR_TRANSCRIPTOME" ]; then + ViashError "Input file '$VIASH_PAR_TRANSCRIPTOME' does not exist." + exit 1 +fi +if [ ! -z "$VIASH_PAR_FEATURE_REF" ] && [ ! -e "$VIASH_PAR_FEATURE_REF" ]; then + ViashError "Input file '$VIASH_PAR_FEATURE_REF' does not exist." + exit 1 +fi +if [ ! -z "$VIASH_PAR_TENX_CLOUD_TOKEN" ] && [ ! -e "$VIASH_PAR_TENX_CLOUD_TOKEN" ]; then + ViashError "Input file '$VIASH_PAR_TENX_CLOUD_TOKEN' does not exist." + exit 1 +fi + +# check whether parameters values are of the right type +if [ -n "$VIASH_PAR_LANES" ]; then + IFS=';' + set -f + for val in $VIASH_PAR_LANES; do + if ! [[ "${val}" =~ ^[-+]?[0-9]+$ ]]; then + ViashError '--lanes' has to be an integer. Use "--help" to get more information on the parameters. + exit 1 + fi + done + set +f + unset IFS +fi + +if [[ -n "$VIASH_PAR_EXPECT_CELLS" ]]; then + if ! [[ "$VIASH_PAR_EXPECT_CELLS" =~ ^[-+]?[0-9]+$ ]]; then + ViashError '--expect_cells' has to be an integer. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_FORCE_CELLS" ]]; then + if ! [[ "$VIASH_PAR_FORCE_CELLS" =~ ^[-+]?[0-9]+$ ]]; then + ViashError '--force_cells' has to be an integer. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_R1_LENGTH" ]]; then + if ! [[ "$VIASH_PAR_R1_LENGTH" =~ ^[-+]?[0-9]+$ ]]; then + ViashError '--r1_length' has to be an integer. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_R2_LENGTH" ]]; then + if ! [[ "$VIASH_PAR_R2_LENGTH" =~ ^[-+]?[0-9]+$ ]]; then + ViashError '--r2_length' has to be an integer. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_INCLUDE_INTRONS" ]]; then + if ! [[ "$VIASH_PAR_INCLUDE_INTRONS" =~ ^(true|True|TRUE|false|False|FALSE|yes|Yes|YES|no|No|NO)$ ]]; then + ViashError '--include_introns' has to be a boolean_true. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_MIN_CRISPR_UMI" ]]; then + if ! [[ "$VIASH_PAR_MIN_CRISPR_UMI" =~ ^[-+]?[0-9]+$ ]]; then + ViashError '--min_crispr_umi' has to be an integer. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_CREATE_BAM" ]]; then + if ! [[ "$VIASH_PAR_CREATE_BAM" =~ ^(true|True|TRUE|false|False|FALSE|yes|Yes|YES|no|No|NO)$ ]]; then + ViashError '--create_bam' has to be a boolean_true. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_NO_SECONDARY" ]]; then + if ! [[ "$VIASH_PAR_NO_SECONDARY" =~ ^(true|True|TRUE|false|False|FALSE|yes|Yes|YES|no|No|NO)$ ]]; then + ViashError '--no_secondary' has to be a boolean_true. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_NO_LIBRARIES" ]]; then + if ! [[ "$VIASH_PAR_NO_LIBRARIES" =~ ^(true|True|TRUE|false|False|FALSE|yes|Yes|YES|no|No|NO)$ ]]; then + ViashError '--no_libraries' has to be a boolean_true. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_CHECK_LIBRARY_COMPATIBILITY" ]]; then + if ! [[ "$VIASH_PAR_CHECK_LIBRARY_COMPATIBILITY" =~ ^(true|True|TRUE|false|False|FALSE|yes|Yes|YES|no|No|NO)$ ]]; then + ViashError '--check_library_compatibility' has to be a boolean_true. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_DRY" ]]; then + if ! [[ "$VIASH_PAR_DRY" =~ ^(true|True|TRUE|false|False|FALSE|yes|Yes|YES|no|No|NO)$ ]]; then + ViashError '--dry' has to be a boolean_true. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_META_CPUS" ]]; then + if ! [[ "$VIASH_META_CPUS" =~ ^[-+]?[0-9]+$ ]]; then + ViashError 'cpus' has to be an integer. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_META_MEMORY_B" ]]; then + if ! [[ "$VIASH_META_MEMORY_B" =~ ^[-+]?[0-9]+$ ]]; then + ViashError 'memory_b' has to be a long. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_META_MEMORY_KB" ]]; then + if ! [[ "$VIASH_META_MEMORY_KB" =~ ^[-+]?[0-9]+$ ]]; then + ViashError 'memory_kb' has to be a long. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_META_MEMORY_MB" ]]; then + if ! [[ "$VIASH_META_MEMORY_MB" =~ ^[-+]?[0-9]+$ ]]; then + ViashError 'memory_mb' has to be a long. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_META_MEMORY_GB" ]]; then + if ! [[ "$VIASH_META_MEMORY_GB" =~ ^[-+]?[0-9]+$ ]]; then + ViashError 'memory_gb' has to be a long. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_META_MEMORY_TB" ]]; then + if ! [[ "$VIASH_META_MEMORY_TB" =~ ^[-+]?[0-9]+$ ]]; then + ViashError 'memory_tb' has to be a long. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_META_MEMORY_PB" ]]; then + if ! [[ "$VIASH_META_MEMORY_PB" =~ ^[-+]?[0-9]+$ ]]; then + ViashError 'memory_pb' has to be a long. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_META_MEMORY_KIB" ]]; then + if ! [[ "$VIASH_META_MEMORY_KIB" =~ ^[-+]?[0-9]+$ ]]; then + ViashError 'memory_kib' has to be a long. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_META_MEMORY_MIB" ]]; then + if ! [[ "$VIASH_META_MEMORY_MIB" =~ ^[-+]?[0-9]+$ ]]; then + ViashError 'memory_mib' has to be a long. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_META_MEMORY_GIB" ]]; then + if ! [[ "$VIASH_META_MEMORY_GIB" =~ ^[-+]?[0-9]+$ ]]; then + ViashError 'memory_gib' has to be a long. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_META_MEMORY_TIB" ]]; then + if ! [[ "$VIASH_META_MEMORY_TIB" =~ ^[-+]?[0-9]+$ ]]; then + ViashError 'memory_tib' has to be a long. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_META_MEMORY_PIB" ]]; then + if ! [[ "$VIASH_META_MEMORY_PIB" =~ ^[-+]?[0-9]+$ ]]; then + ViashError 'memory_pib' has to be a long. Use "--help" to get more information on the parameters. + exit 1 + fi +fi + +# create parent directories of output files, if so desired +if [ ! -z "$VIASH_PAR_OUTPUT" ] && [ ! -d "$(dirname "$VIASH_PAR_OUTPUT")" ]; then + mkdir -p "$(dirname "$VIASH_PAR_OUTPUT")" +fi + +if [ "$VIASH_ENGINE_ID" == "native" ] ; then + if [ "$VIASH_MODE" == "run" ]; then + VIASH_CMD="bash" + else + ViashError "Engine '$VIASH_ENGINE_ID' does not support mode '$VIASH_MODE'." + exit 1 + fi +fi + +if [[ "$VIASH_ENGINE_TYPE" == "docker" ]]; then + # detect volumes from file arguments + VIASH_CHOWN_VARS=() +if [ ! -z "$VIASH_PAR_FASTQS" ]; then + VIASH_TEST_FASTQS=() + IFS=';' + for var in $VIASH_PAR_FASTQS; do + unset IFS + VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$var")" ) + var=$(ViashDockerAutodetectMount "$var") + VIASH_TEST_FASTQS+=( "$var" ) + done + VIASH_PAR_FASTQS=$(IFS=';' ; echo "${VIASH_TEST_FASTQS[*]}") +fi +if [ ! -z "$VIASH_PAR_LIBRARIES" ]; then + VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_LIBRARIES")" ) + VIASH_PAR_LIBRARIES=$(ViashDockerAutodetectMount "$VIASH_PAR_LIBRARIES") +fi +if [ ! -z "$VIASH_PAR_TRANSCRIPTOME" ]; then + VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_TRANSCRIPTOME")" ) + VIASH_PAR_TRANSCRIPTOME=$(ViashDockerAutodetectMount "$VIASH_PAR_TRANSCRIPTOME") +fi +if [ ! -z "$VIASH_PAR_FEATURE_REF" ]; then + VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_FEATURE_REF")" ) + VIASH_PAR_FEATURE_REF=$(ViashDockerAutodetectMount "$VIASH_PAR_FEATURE_REF") +fi +if [ ! -z "$VIASH_PAR_OUTPUT" ]; then + VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_OUTPUT")" ) + VIASH_PAR_OUTPUT=$(ViashDockerAutodetectMount "$VIASH_PAR_OUTPUT") + VIASH_CHOWN_VARS+=( "$VIASH_PAR_OUTPUT" ) +fi +if [ ! -z "$VIASH_PAR_TENX_CLOUD_TOKEN" ]; then + VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_TENX_CLOUD_TOKEN")" ) + VIASH_PAR_TENX_CLOUD_TOKEN=$(ViashDockerAutodetectMount "$VIASH_PAR_TENX_CLOUD_TOKEN") +fi +if [ ! -z "$VIASH_META_RESOURCES_DIR" ]; then + VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_META_RESOURCES_DIR")" ) + VIASH_META_RESOURCES_DIR=$(ViashDockerAutodetectMount "$VIASH_META_RESOURCES_DIR") +fi +if [ ! -z "$VIASH_META_EXECUTABLE" ]; then + VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_META_EXECUTABLE")" ) + VIASH_META_EXECUTABLE=$(ViashDockerAutodetectMount "$VIASH_META_EXECUTABLE") +fi +if [ ! -z "$VIASH_META_CONFIG" ]; then + VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_META_CONFIG")" ) + VIASH_META_CONFIG=$(ViashDockerAutodetectMount "$VIASH_META_CONFIG") +fi +if [ ! -z "$VIASH_META_TEMP_DIR" ]; then + VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_META_TEMP_DIR")" ) + VIASH_META_TEMP_DIR=$(ViashDockerAutodetectMount "$VIASH_META_TEMP_DIR") +fi + + # get unique mounts + VIASH_UNIQUE_MOUNTS=($(for val in "${VIASH_DIRECTORY_MOUNTS[@]}"; do echo "$val"; done | sort -u)) +fi + +if [[ "$VIASH_ENGINE_TYPE" == "docker" ]]; then + # change file ownership + function ViashPerformChown { + if (( ${#VIASH_CHOWN_VARS[@]} )); then + set +e + VIASH_CMD="docker run --entrypoint=bash --rm ${VIASH_UNIQUE_MOUNTS[@]} $VIASH_DOCKER_IMAGE_ID -c 'chown $(id -u):$(id -g) --silent --recursive ${VIASH_CHOWN_VARS[@]}'" + ViashDebug "+ $VIASH_CMD" + eval $VIASH_CMD + set -e + fi + } + trap ViashPerformChown EXIT +fi + +if [[ "$VIASH_ENGINE_TYPE" == "docker" ]]; then + # helper function for filling in extra docker args + if [ ! -z "$VIASH_META_MEMORY_B" ]; then + VIASH_DOCKER_RUN_ARGS+=("--memory=${VIASH_META_MEMORY_B}") + fi + if [ ! -z "$VIASH_META_CPUS" ]; then + VIASH_DOCKER_RUN_ARGS+=("--cpus=${VIASH_META_CPUS}") + fi +fi + +if [[ "$VIASH_ENGINE_TYPE" == "docker" ]]; then + VIASH_CMD="docker run --entrypoint=bash ${VIASH_DOCKER_RUN_ARGS[@]} ${VIASH_UNIQUE_MOUNTS[@]} $VIASH_DOCKER_IMAGE_ID" +fi + + +# set dependency paths + + +ViashDebug "Running command: $(echo $VIASH_CMD)" +cat << VIASHEOF | eval $VIASH_CMD +set -e +tempscript=\$(mktemp "$VIASH_META_TEMP_DIR/viash-run-cellranger_count-XXXXXX").sh +function clean_up { + rm "\$tempscript" +} +function interrupt { + echo -e "\nCTRL-C Pressed..." + exit 1 +} +trap clean_up EXIT +trap interrupt INT SIGINT +cat > "\$tempscript" << 'VIASHMAIN' +#!/bin/bash + +set -eo pipefail + +## VIASH START +# The following code has been auto-generated by Viash. +$( if [ ! -z ${VIASH_PAR_FASTQS+x} ]; then echo "${VIASH_PAR_FASTQS}" | sed "s#'#'\"'\"'#g;s#.*#par_fastqs='&'#" ; else echo "# par_fastqs="; fi ) +$( if [ ! -z ${VIASH_PAR_DESCRIPTION+x} ]; then echo "${VIASH_PAR_DESCRIPTION}" | sed "s#'#'\"'\"'#g;s#.*#par_description='&'#" ; else echo "# par_description="; fi ) +$( if [ ! -z ${VIASH_PAR_SAMPLE+x} ]; then echo "${VIASH_PAR_SAMPLE}" | sed "s#'#'\"'\"'#g;s#.*#par_sample='&'#" ; else echo "# par_sample="; fi ) +$( if [ ! -z ${VIASH_PAR_LANES+x} ]; then echo "${VIASH_PAR_LANES}" | sed "s#'#'\"'\"'#g;s#.*#par_lanes='&'#" ; else echo "# par_lanes="; fi ) +$( if [ ! -z ${VIASH_PAR_LIBRARIES+x} ]; then echo "${VIASH_PAR_LIBRARIES}" | sed "s#'#'\"'\"'#g;s#.*#par_libraries='&'#" ; else echo "# par_libraries="; fi ) +$( if [ ! -z ${VIASH_PAR_TRANSCRIPTOME+x} ]; then echo "${VIASH_PAR_TRANSCRIPTOME}" | sed "s#'#'\"'\"'#g;s#.*#par_transcriptome='&'#" ; else echo "# par_transcriptome="; fi ) +$( if [ ! -z ${VIASH_PAR_FEATURE_REF+x} ]; then echo "${VIASH_PAR_FEATURE_REF}" | sed "s#'#'\"'\"'#g;s#.*#par_feature_ref='&'#" ; else echo "# par_feature_ref="; fi ) +$( if [ ! -z ${VIASH_PAR_EXPECT_CELLS+x} ]; then echo "${VIASH_PAR_EXPECT_CELLS}" | sed "s#'#'\"'\"'#g;s#.*#par_expect_cells='&'#" ; else echo "# par_expect_cells="; fi ) +$( if [ ! -z ${VIASH_PAR_FORCE_CELLS+x} ]; then echo "${VIASH_PAR_FORCE_CELLS}" | sed "s#'#'\"'\"'#g;s#.*#par_force_cells='&'#" ; else echo "# par_force_cells="; fi ) +$( if [ ! -z ${VIASH_PAR_R1_LENGTH+x} ]; then echo "${VIASH_PAR_R1_LENGTH}" | sed "s#'#'\"'\"'#g;s#.*#par_r1_length='&'#" ; else echo "# par_r1_length="; fi ) +$( if [ ! -z ${VIASH_PAR_R2_LENGTH+x} ]; then echo "${VIASH_PAR_R2_LENGTH}" | sed "s#'#'\"'\"'#g;s#.*#par_r2_length='&'#" ; else echo "# par_r2_length="; fi ) +$( if [ ! -z ${VIASH_PAR_INCLUDE_INTRONS+x} ]; then echo "${VIASH_PAR_INCLUDE_INTRONS}" | sed "s#'#'\"'\"'#g;s#.*#par_include_introns='&'#" ; else echo "# par_include_introns="; fi ) +$( if [ ! -z ${VIASH_PAR_CHEMISTRY+x} ]; then echo "${VIASH_PAR_CHEMISTRY}" | sed "s#'#'\"'\"'#g;s#.*#par_chemistry='&'#" ; else echo "# par_chemistry="; fi ) +$( if [ ! -z ${VIASH_PAR_CELL_ANNOTATION_MODEL+x} ]; then echo "${VIASH_PAR_CELL_ANNOTATION_MODEL}" | sed "s#'#'\"'\"'#g;s#.*#par_cell_annotation_model='&'#" ; else echo "# par_cell_annotation_model="; fi ) +$( if [ ! -z ${VIASH_PAR_MIN_CRISPR_UMI+x} ]; then echo "${VIASH_PAR_MIN_CRISPR_UMI}" | sed "s#'#'\"'\"'#g;s#.*#par_min_crispr_umi='&'#" ; else echo "# par_min_crispr_umi="; fi ) +$( if [ ! -z ${VIASH_PAR_OUTPUT+x} ]; then echo "${VIASH_PAR_OUTPUT}" | sed "s#'#'\"'\"'#g;s#.*#par_output='&'#" ; else echo "# par_output="; fi ) +$( if [ ! -z ${VIASH_PAR_CREATE_BAM+x} ]; then echo "${VIASH_PAR_CREATE_BAM}" | sed "s#'#'\"'\"'#g;s#.*#par_create_bam='&'#" ; else echo "# par_create_bam="; fi ) +$( if [ ! -z ${VIASH_PAR_NO_SECONDARY+x} ]; then echo "${VIASH_PAR_NO_SECONDARY}" | sed "s#'#'\"'\"'#g;s#.*#par_no_secondary='&'#" ; else echo "# par_no_secondary="; fi ) +$( if [ ! -z ${VIASH_PAR_NO_LIBRARIES+x} ]; then echo "${VIASH_PAR_NO_LIBRARIES}" | sed "s#'#'\"'\"'#g;s#.*#par_no_libraries='&'#" ; else echo "# par_no_libraries="; fi ) +$( if [ ! -z ${VIASH_PAR_CHECK_LIBRARY_COMPATIBILITY+x} ]; then echo "${VIASH_PAR_CHECK_LIBRARY_COMPATIBILITY}" | sed "s#'#'\"'\"'#g;s#.*#par_check_library_compatibility='&'#" ; else echo "# par_check_library_compatibility="; fi ) +$( if [ ! -z ${VIASH_PAR_TENX_CLOUD_TOKEN+x} ]; then echo "${VIASH_PAR_TENX_CLOUD_TOKEN}" | sed "s#'#'\"'\"'#g;s#.*#par_tenx_cloud_token='&'#" ; else echo "# par_tenx_cloud_token="; fi ) +$( if [ ! -z ${VIASH_PAR_DRY+x} ]; then echo "${VIASH_PAR_DRY}" | sed "s#'#'\"'\"'#g;s#.*#par_dry='&'#" ; else echo "# par_dry="; fi ) +$( if [ ! -z ${VIASH_META_NAME+x} ]; then echo "${VIASH_META_NAME}" | sed "s#'#'\"'\"'#g;s#.*#meta_name='&'#" ; else echo "# meta_name="; fi ) +$( if [ ! -z ${VIASH_META_FUNCTIONALITY_NAME+x} ]; then echo "${VIASH_META_FUNCTIONALITY_NAME}" | sed "s#'#'\"'\"'#g;s#.*#meta_functionality_name='&'#" ; else echo "# meta_functionality_name="; fi ) +$( if [ ! -z ${VIASH_META_RESOURCES_DIR+x} ]; then echo "${VIASH_META_RESOURCES_DIR}" | sed "s#'#'\"'\"'#g;s#.*#meta_resources_dir='&'#" ; else echo "# meta_resources_dir="; fi ) +$( if [ ! -z ${VIASH_META_EXECUTABLE+x} ]; then echo "${VIASH_META_EXECUTABLE}" | sed "s#'#'\"'\"'#g;s#.*#meta_executable='&'#" ; else echo "# meta_executable="; fi ) +$( if [ ! -z ${VIASH_META_CONFIG+x} ]; then echo "${VIASH_META_CONFIG}" | sed "s#'#'\"'\"'#g;s#.*#meta_config='&'#" ; else echo "# meta_config="; fi ) +$( if [ ! -z ${VIASH_META_TEMP_DIR+x} ]; then echo "${VIASH_META_TEMP_DIR}" | sed "s#'#'\"'\"'#g;s#.*#meta_temp_dir='&'#" ; else echo "# meta_temp_dir="; fi ) +$( if [ ! -z ${VIASH_META_CPUS+x} ]; then echo "${VIASH_META_CPUS}" | sed "s#'#'\"'\"'#g;s#.*#meta_cpus='&'#" ; else echo "# meta_cpus="; fi ) +$( if [ ! -z ${VIASH_META_MEMORY_B+x} ]; then echo "${VIASH_META_MEMORY_B}" | sed "s#'#'\"'\"'#g;s#.*#meta_memory_b='&'#" ; else echo "# meta_memory_b="; fi ) +$( if [ ! -z ${VIASH_META_MEMORY_KB+x} ]; then echo "${VIASH_META_MEMORY_KB}" | sed "s#'#'\"'\"'#g;s#.*#meta_memory_kb='&'#" ; else echo "# meta_memory_kb="; fi ) +$( if [ ! -z ${VIASH_META_MEMORY_MB+x} ]; then echo "${VIASH_META_MEMORY_MB}" | sed "s#'#'\"'\"'#g;s#.*#meta_memory_mb='&'#" ; else echo "# meta_memory_mb="; fi ) +$( if [ ! -z ${VIASH_META_MEMORY_GB+x} ]; then echo "${VIASH_META_MEMORY_GB}" | sed "s#'#'\"'\"'#g;s#.*#meta_memory_gb='&'#" ; else echo "# meta_memory_gb="; fi ) +$( if [ ! -z ${VIASH_META_MEMORY_TB+x} ]; then echo "${VIASH_META_MEMORY_TB}" | sed "s#'#'\"'\"'#g;s#.*#meta_memory_tb='&'#" ; else echo "# meta_memory_tb="; fi ) +$( if [ ! -z ${VIASH_META_MEMORY_PB+x} ]; then echo "${VIASH_META_MEMORY_PB}" | sed "s#'#'\"'\"'#g;s#.*#meta_memory_pb='&'#" ; else echo "# meta_memory_pb="; fi ) +$( if [ ! -z ${VIASH_META_MEMORY_KIB+x} ]; then echo "${VIASH_META_MEMORY_KIB}" | sed "s#'#'\"'\"'#g;s#.*#meta_memory_kib='&'#" ; else echo "# meta_memory_kib="; fi ) +$( if [ ! -z ${VIASH_META_MEMORY_MIB+x} ]; then echo "${VIASH_META_MEMORY_MIB}" | sed "s#'#'\"'\"'#g;s#.*#meta_memory_mib='&'#" ; else echo "# meta_memory_mib="; fi ) +$( if [ ! -z ${VIASH_META_MEMORY_GIB+x} ]; then echo "${VIASH_META_MEMORY_GIB}" | sed "s#'#'\"'\"'#g;s#.*#meta_memory_gib='&'#" ; else echo "# meta_memory_gib="; fi ) +$( if [ ! -z ${VIASH_META_MEMORY_TIB+x} ]; then echo "${VIASH_META_MEMORY_TIB}" | sed "s#'#'\"'\"'#g;s#.*#meta_memory_tib='&'#" ; else echo "# meta_memory_tib="; fi ) +$( if [ ! -z ${VIASH_META_MEMORY_PIB+x} ]; then echo "${VIASH_META_MEMORY_PIB}" | sed "s#'#'\"'\"'#g;s#.*#meta_memory_pib='&'#" ; else echo "# meta_memory_pib="; fi ) + +## VIASH END + +## PROCESS INPUT FILES +# We change into the tempdir later, so we need absolute paths. +par_transcriptome=\$(realpath \$par_transcriptome) +par_output=\$(realpath \$par_output) + +# create temporary directory +tmp_dir=\$(mktemp -d "\$meta_temp_dir/\$meta_name-XXXXXXXX") +function clean_up { + rm -rf "\$tmp_dir" +} +trap clean_up EXIT + +# process inputs +# for every fastq file found, make a symlink into the tempdir +fastq_dir="\$tmp_dir/fastqs" +mkdir -p "\$fastq_dir" +IFS=";" +for var in \$par_fastqs; do + unset IFS + abs_path=\$(realpath \$var) + if [ -d "\$abs_path" ]; then + find "\$abs_path" -name *.fastq.gz -exec ln -s {} "\$fastq_dir" \\; + else + ln -s "\$abs_path" "\$fastq_dir" + fi +done + +# process reference +# Note: should we do this? +if file "\${par_transcriptome}" | grep -q 'gzip compressed data'; then + echo "> Untarring transcriptome" + ref_dir="\${tmp_dir}/reference" + mkdir -p "\${ref_dir}" + tar -xvf "\${par_transcriptome}" -C "\${ref_dir}" + par_transcriptome="\${ref_dir}" +fi + +## PROCESS PARAMETERS +# unset flags +[[ "\$par_no_secondary" == "false" ]] && unset par_no_secondary +[[ "\$par_no_libraries" == "false" ]] && unset par_no_libraries +[[ "\$par_dry" == "false" ]] && unset par_dry + + +# change ifs from ; to , +par_lanes=\${par_lanes//;/,} + +# if memory is defined, subtract 2GB from memory +if [[ "\$meta_memory_gb" != "" ]]; then + # if memory is less than 2gb, unset it + if [[ "\$meta_memory_gb" -lt 2 ]]; then + echo "WARNING: Memory is less than 2GB, unsetting memory requirements" + unset meta_memory_gb + else + meta_memory_gb=\$((meta_memory_gb-2)) + fi +fi + +## RUN CELLRANGER COUNT +echo "> Running cellranger count" +cd "\$tmp_dir" +id=run +cellranger count \\ + --id="\$id" \\ + --fastqs="\${fastq_dir}" \\ + --transcriptome="\${par_transcriptome}" \\ + --disable-ui \\ + \${meta_cpus:+"--localcores=\${meta_cpus}"} \\ + \${meta_memory_gb:+"--localmem=\${meta_memory_gb}"} \\ + \${par_description:+"--description=\${par_description}"} \\ + \${par_sample:+"--sample=\${par_sample}"} \\ + \${par_lanes:+"--lanes=\${par_lanes}"} \\ + \${par_libraries:+"--libraries=\${par_libraries}"} \\ + \${par_feature_ref:+"--feature-ref=\${par_feature_ref}"} \\ + \${par_expect_cells:+"--expect-cells=\${par_expect_cells}"} \\ + \${par_force_cells:+"--force-cells=\${par_force_cells}"} \\ + \${par_create_bam:+"--create-bam=\${par_create_bam}"} \\ + \${par_no_secondary:+--nosecondary} \\ + \${par_r1_length:+"--r1-length=\${par_r1_length}"} \\ + \${par_r2_length:+"--r2-length=\${par_r2_length}"} \\ + \${par_include_introns:+--include-introns=\${par_include_introns}} \\ + \${par_chemistry:+"--chemistry=\${par_chemistry}"} \\ + \${par_no_libraries:+--no-libraries} \\ + \${par_check_library_compatibility:+"--check-library-compatibility=\${par_check_library_compatibility}"} \\ + \${par_cell_annotation_model:+"--cell-annotation-model=\${par_cell_annotation_model}"} \\ + \${par_min_cripser_umi:+"--min-cripser-umi=\${par_min_cripser_umi}"} \\ + \${par_tenx_cloud_token:+"--tenx-cloud-token-path=\${par_tenx_cloud_token}"} \\ + \${par_dry:+--dry-run} + +echo "> Copying output" +if [ -d "\$id/outs/" ]; then + if [ ! -d "\${par_output}" ]; then + mkdir -p "\${par_output}" + fi + mv "\$id/outs/"* "\${par_output}" +fi + +exit 0 +VIASHMAIN +bash "\$tempscript" & +wait "\$!" + +VIASHEOF + + +if [[ "$VIASH_ENGINE_TYPE" == "docker" ]]; then + # strip viash automount from file paths + + if [ ! -z "$VIASH_PAR_FASTQS" ]; then + unset VIASH_TEST_FASTQS + IFS=';' + for var in $VIASH_PAR_FASTQS; do + unset IFS + if [ -z "$VIASH_TEST_FASTQS" ]; then + VIASH_TEST_FASTQS="$(ViashDockerStripAutomount "$var")" + else + VIASH_TEST_FASTQS="$VIASH_TEST_FASTQS;""$(ViashDockerStripAutomount "$var")" + fi + done + VIASH_PAR_FASTQS="$VIASH_TEST_FASTQS" + fi + if [ ! -z "$VIASH_PAR_LIBRARIES" ]; then + VIASH_PAR_LIBRARIES=$(ViashDockerStripAutomount "$VIASH_PAR_LIBRARIES") + fi + if [ ! -z "$VIASH_PAR_TRANSCRIPTOME" ]; then + VIASH_PAR_TRANSCRIPTOME=$(ViashDockerStripAutomount "$VIASH_PAR_TRANSCRIPTOME") + fi + if [ ! -z "$VIASH_PAR_FEATURE_REF" ]; then + VIASH_PAR_FEATURE_REF=$(ViashDockerStripAutomount "$VIASH_PAR_FEATURE_REF") + fi + if [ ! -z "$VIASH_PAR_OUTPUT" ]; then + VIASH_PAR_OUTPUT=$(ViashDockerStripAutomount "$VIASH_PAR_OUTPUT") + fi + if [ ! -z "$VIASH_PAR_TENX_CLOUD_TOKEN" ]; then + VIASH_PAR_TENX_CLOUD_TOKEN=$(ViashDockerStripAutomount "$VIASH_PAR_TENX_CLOUD_TOKEN") + fi + if [ ! -z "$VIASH_META_RESOURCES_DIR" ]; then + VIASH_META_RESOURCES_DIR=$(ViashDockerStripAutomount "$VIASH_META_RESOURCES_DIR") + fi + if [ ! -z "$VIASH_META_EXECUTABLE" ]; then + VIASH_META_EXECUTABLE=$(ViashDockerStripAutomount "$VIASH_META_EXECUTABLE") + fi + if [ ! -z "$VIASH_META_CONFIG" ]; then + VIASH_META_CONFIG=$(ViashDockerStripAutomount "$VIASH_META_CONFIG") + fi + if [ ! -z "$VIASH_META_TEMP_DIR" ]; then + VIASH_META_TEMP_DIR=$(ViashDockerStripAutomount "$VIASH_META_TEMP_DIR") + fi +fi + + +# check whether required files exist +if [ ! -z "$VIASH_PAR_OUTPUT" ] && [ ! -e "$VIASH_PAR_OUTPUT" ]; then + ViashError "Output file '$VIASH_PAR_OUTPUT' does not exist." + exit 1 +fi + + +exit 0 diff --git a/target/executable/cellranger/cellranger_mkref/.config.vsh.yaml b/target/executable/cellranger/cellranger_mkref/.config.vsh.yaml index bd2eb4fa..880fdda5 100644 --- a/target/executable/cellranger/cellranger_mkref/.config.vsh.yaml +++ b/target/executable/cellranger/cellranger_mkref/.config.vsh.yaml @@ -198,13 +198,24 @@ build_info: output: "target/executable/cellranger/cellranger_mkref" executable: "target/executable/cellranger/cellranger_mkref/cellranger_mkref" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/cellranger/cellranger_mkref/cellranger_mkref b/target/executable/cellranger/cellranger_mkref/cellranger_mkref index c894b919..c522f183 100755 --- a/target/executable/cellranger/cellranger_mkref/cellranger_mkref +++ b/target/executable/cellranger/cellranger_mkref/cellranger_mkref @@ -454,9 +454,9 @@ RUN apt-get update && \ LABEL org.opencontainers.image.authors="Emma Rousseau" LABEL org.opencontainers.image.description="Companion container for running component cellranger cellranger_mkref" -LABEL org.opencontainers.image.created="2025-04-29T10:54:49Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:41Z" LABEL org.opencontainers.image.source="https://github.com/10XGenomics/cellranger/blob/main/lib/python/cellranger/reference_builder.py" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER @@ -1115,9 +1115,9 @@ $( if [ ! -z ${VIASH_META_MEMORY_PIB+x} ]; then echo "${VIASH_META_MEMORY_PIB}" ## VIASH END # create temporary directory -tmpdir=\$(mktemp -d "\$meta_temp_dir/\$meta_name-XXXXXXXX") +tmp_dir=\$(mktemp -d "\$meta_temp_dir/\$meta_name-XXXXXXXX") function clean_up { - rm -rf "\$tmpdir" + rm -rf "\$tmp_dir" } trap clean_up EXIT @@ -1126,22 +1126,34 @@ par_genome_fasta=\$(realpath \$par_genome_fasta) par_transcriptome_gtf=\$(realpath \$par_transcriptome_gtf) par_output=\$(realpath \$par_output) +# if memory is defined, subtract 2GB from memory +if [[ "\$meta_memory_gb" != "" ]]; then + # if memory is less than 2gb, unset it + if [[ "\$meta_memory_gb" -lt 2 ]]; then + echo "WARNING: Memory is less than 2GB, unsetting memory requirements" + unset meta_memory_gb + else + meta_memory_gb=\$((meta_memory_gb-2)) + fi +fi echo "> Unzipping input files" -unpigz -c "\$par_genome_fasta" > "\$tmpdir/genome.fa" +unpigz -c "\$par_genome_fasta" > "\$tmp_dir/genome.fa" echo "> Building star index" -cd "\$tmpdir" +cd "\$tmp_dir" cellranger mkref \\ - --fasta "\$tmpdir/genome.fa" \\ + --fasta "\$tmp_dir/genome.fa" \\ --genes "\$par_transcriptome_gtf" \\ --genome output \\ \${par_reference_version:+--ref-version \$par_reference_version} \\ \${meta_cpus:+--nthreads \$meta_cpus} \\ - \${meta_memory_gb:+--memgb \$((\$meta_memory_gb-2))} # always keep 2 gb for the OS itself + \${meta_memory_gb:+--memgb \${meta_memory_gb}} echo "> Creating archive" -tar --use-compress-program="pigz -k " -cf "\$par_output" -C "\$tmpdir/output" . +tar --use-compress-program="pigz -k " -cf "\$par_output" -C "\$tmp_dir/output" . + +exit 0 VIASHMAIN bash "\$tempscript" & wait "\$!" diff --git a/target/executable/cutadapt/.config.vsh.yaml b/target/executable/cutadapt/.config.vsh.yaml index 78d3dd99..219fb9ea 100644 --- a/target/executable/cutadapt/.config.vsh.yaml +++ b/target/executable/cutadapt/.config.vsh.yaml @@ -743,13 +743,24 @@ build_info: output: "target/executable/cutadapt" executable: "target/executable/cutadapt/cutadapt" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/cutadapt/cutadapt b/target/executable/cutadapt/cutadapt index 89608262..d9dbcfc6 100755 --- a/target/executable/cutadapt/cutadapt +++ b/target/executable/cutadapt/cutadapt @@ -455,9 +455,9 @@ RUN cutadapt --version | sed 's/\(.*\)/cutadapt: "\1"/' > /var/software_versions LABEL org.opencontainers.image.authors="Toni Verbeiren" LABEL org.opencontainers.image.description="Companion container for running component cutadapt" -LABEL org.opencontainers.image.created="2025-04-29T10:54:46Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:37Z" LABEL org.opencontainers.image.source="https://github.com/marcelm/cutadapt" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/falco/.config.vsh.yaml b/target/executable/falco/.config.vsh.yaml index 72f17909..2d9dd381 100644 --- a/target/executable/falco/.config.vsh.yaml +++ b/target/executable/falco/.config.vsh.yaml @@ -320,13 +320,24 @@ build_info: output: "target/executable/falco" executable: "target/executable/falco/falco" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/falco/falco b/target/executable/falco/falco index 921a19f9..1119e37f 100755 --- a/target/executable/falco/falco +++ b/target/executable/falco/falco @@ -464,9 +464,9 @@ RUN echo "falco: \"$(falco -v | sed -n 's/^falco //p')\"" > /var/software_versio LABEL org.opencontainers.image.authors="Toni Verbeiren" LABEL org.opencontainers.image.description="Companion container for running component falco" -LABEL org.opencontainers.image.created="2025-04-29T10:54:51Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:43Z" LABEL org.opencontainers.image.source="https://github.com/smithlabcode/falco" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/fastp/.config.vsh.yaml b/target/executable/fastp/.config.vsh.yaml index 098453c2..b95151a0 100644 --- a/target/executable/fastp/.config.vsh.yaml +++ b/target/executable/fastp/.config.vsh.yaml @@ -1086,13 +1086,24 @@ build_info: output: "target/executable/fastp" executable: "target/executable/fastp/fastp" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/fastp/fastp b/target/executable/fastp/fastp index 6efd6fe0..6c968c1a 100755 --- a/target/executable/fastp/fastp +++ b/target/executable/fastp/fastp @@ -452,9 +452,9 @@ RUN fastp --version 2>&1 | sed 's# #: "#;s#$#"#' > /var/software_versions.txt LABEL org.opencontainers.image.authors="Robrecht Cannoodt" LABEL org.opencontainers.image.description="Companion container for running component fastp" -LABEL org.opencontainers.image.created="2025-04-29T10:54:43Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:34Z" LABEL org.opencontainers.image.source="https://github.com/OpenGene/fastp" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/fastqc/.config.vsh.yaml b/target/executable/fastqc/.config.vsh.yaml index 96532761..1a5d8d56 100644 --- a/target/executable/fastqc/.config.vsh.yaml +++ b/target/executable/fastqc/.config.vsh.yaml @@ -343,13 +343,24 @@ build_info: output: "target/executable/fastqc" executable: "target/executable/fastqc/fastqc" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/fastqc/fastqc b/target/executable/fastqc/fastqc index 390e853d..80b82298 100755 --- a/target/executable/fastqc/fastqc +++ b/target/executable/fastqc/fastqc @@ -452,9 +452,9 @@ RUN echo "fastqc: $(fastqc --version | sed -n 's/^FastQC //p')" > /var/software_ LABEL org.opencontainers.image.authors="Theodoro Gasperin Terra Camargo" LABEL org.opencontainers.image.description="Companion container for running component fastqc" -LABEL org.opencontainers.image.created="2025-04-29T10:54:51Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:43Z" LABEL org.opencontainers.image.source="https://github.com/s-andrews/FastQC" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/featurecounts/.config.vsh.yaml b/target/executable/featurecounts/.config.vsh.yaml index cb3de751..dfa08618 100644 --- a/target/executable/featurecounts/.config.vsh.yaml +++ b/target/executable/featurecounts/.config.vsh.yaml @@ -648,13 +648,24 @@ build_info: output: "target/executable/featurecounts" executable: "target/executable/featurecounts/featurecounts" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/featurecounts/featurecounts b/target/executable/featurecounts/featurecounts index 2de1d59f..69c2aa8b 100755 --- a/target/executable/featurecounts/featurecounts +++ b/target/executable/featurecounts/featurecounts @@ -452,9 +452,9 @@ RUN featureCounts -v 2>&1 | sed 's/featureCounts v\([0-9.]*\)/featureCounts: \1/ LABEL org.opencontainers.image.authors="Sai Nirmayi Yasa" LABEL org.opencontainers.image.description="Companion container for running component featurecounts" -LABEL org.opencontainers.image.created="2025-04-29T10:54:46Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:37Z" LABEL org.opencontainers.image.source="https://github.com/ShiLab-Bioinformatics/subread" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/fq_subsample/.config.vsh.yaml b/target/executable/fq_subsample/.config.vsh.yaml index cc82f288..73f9e93d 100644 --- a/target/executable/fq_subsample/.config.vsh.yaml +++ b/target/executable/fq_subsample/.config.vsh.yaml @@ -193,13 +193,24 @@ build_info: output: "target/executable/fq_subsample" executable: "target/executable/fq_subsample/fq_subsample" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/fq_subsample/fq_subsample b/target/executable/fq_subsample/fq_subsample index 2e416fac..c160d56a 100755 --- a/target/executable/fq_subsample/fq_subsample +++ b/target/executable/fq_subsample/fq_subsample @@ -453,9 +453,9 @@ mv target/release/fq /usr/local/bin/ && \ cd / && rm -rf /fq LABEL org.opencontainers.image.description="Companion container for running component fq_subsample" -LABEL org.opencontainers.image.created="2025-04-29T10:54:51Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:43Z" LABEL org.opencontainers.image.source="https://github.com/stjude-rust-labs/fq" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/gffread/.config.vsh.yaml b/target/executable/gffread/.config.vsh.yaml index 14d466f9..a2a4e7c3 100644 --- a/target/executable/gffread/.config.vsh.yaml +++ b/target/executable/gffread/.config.vsh.yaml @@ -688,13 +688,24 @@ build_info: output: "target/executable/gffread" executable: "target/executable/gffread/gffread" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/gffread/gffread b/target/executable/gffread/gffread index 2bd5ff95..343c3a40 100755 --- a/target/executable/gffread/gffread +++ b/target/executable/gffread/gffread @@ -452,9 +452,9 @@ RUN echo "gffread: \"$(gffread --version 2>&1)\"" > /var/software_versions.txt LABEL org.opencontainers.image.authors="Emma Rousseau" LABEL org.opencontainers.image.description="Companion container for running component gffread" -LABEL org.opencontainers.image.created="2025-04-29T10:54:44Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:35Z" LABEL org.opencontainers.image.source="https://github.com/gpertea/gffread" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/kallisto/kallisto_index/.config.vsh.yaml b/target/executable/kallisto/kallisto_index/.config.vsh.yaml index ca368f08..55c604d3 100644 --- a/target/executable/kallisto/kallisto_index/.config.vsh.yaml +++ b/target/executable/kallisto/kallisto_index/.config.vsh.yaml @@ -221,13 +221,24 @@ build_info: output: "target/executable/kallisto/kallisto_index" executable: "target/executable/kallisto/kallisto_index/kallisto_index" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/kallisto/kallisto_index/kallisto_index b/target/executable/kallisto/kallisto_index/kallisto_index index e1ed98f7..3d89396a 100755 --- a/target/executable/kallisto/kallisto_index/kallisto_index +++ b/target/executable/kallisto/kallisto_index/kallisto_index @@ -452,9 +452,9 @@ tar -xzf kallisto_linux-v0.50.1.tar.gz && \ mv kallisto/kallisto /usr/local/bin/ LABEL org.opencontainers.image.description="Companion container for running component kallisto kallisto_index" -LABEL org.opencontainers.image.created="2025-04-29T10:54:50Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:42Z" LABEL org.opencontainers.image.source="https://github.com/pachterlab/kallisto" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/kallisto/kallisto_quant/.config.vsh.yaml b/target/executable/kallisto/kallisto_quant/.config.vsh.yaml index 924cb7ac..26f377e8 100644 --- a/target/executable/kallisto/kallisto_quant/.config.vsh.yaml +++ b/target/executable/kallisto/kallisto_quant/.config.vsh.yaml @@ -249,13 +249,24 @@ build_info: output: "target/executable/kallisto/kallisto_quant" executable: "target/executable/kallisto/kallisto_quant/kallisto_quant" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/kallisto/kallisto_quant/kallisto_quant b/target/executable/kallisto/kallisto_quant/kallisto_quant index abf7c70f..fd1c8b80 100755 --- a/target/executable/kallisto/kallisto_quant/kallisto_quant +++ b/target/executable/kallisto/kallisto_quant/kallisto_quant @@ -454,9 +454,9 @@ mv kallisto/kallisto /usr/local/bin/ RUN echo "kallisto: $(kallisto version | sed 's/kallisto, version //')" > /var/software_versions.txt LABEL org.opencontainers.image.description="Companion container for running component kallisto kallisto_quant" -LABEL org.opencontainers.image.created="2025-04-29T10:54:50Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:42Z" LABEL org.opencontainers.image.source="https://github.com/pachterlab/kallisto" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/lofreq/lofreq_call/.config.vsh.yaml b/target/executable/lofreq/lofreq_call/.config.vsh.yaml index aafcd5e4..7de2b2d3 100644 --- a/target/executable/lofreq/lofreq_call/.config.vsh.yaml +++ b/target/executable/lofreq/lofreq_call/.config.vsh.yaml @@ -510,13 +510,24 @@ build_info: output: "target/executable/lofreq/lofreq_call" executable: "target/executable/lofreq/lofreq_call/lofreq_call" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/lofreq/lofreq_call/lofreq_call b/target/executable/lofreq/lofreq_call/lofreq_call index 06fbd319..bbab53df 100755 --- a/target/executable/lofreq/lofreq_call/lofreq_call +++ b/target/executable/lofreq/lofreq_call/lofreq_call @@ -453,9 +453,9 @@ echo "lofreq: $version" > /var/software_versions.txt LABEL org.opencontainers.image.authors="Kai Waldrant" LABEL org.opencontainers.image.description="Companion container for running component lofreq lofreq_call" -LABEL org.opencontainers.image.created="2025-04-29T10:54:45Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:36Z" LABEL org.opencontainers.image.source="https://github.com/viash-hub/biobox" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/lofreq/lofreq_indelqual/.config.vsh.yaml b/target/executable/lofreq/lofreq_indelqual/.config.vsh.yaml index 918ec59c..2f882934 100644 --- a/target/executable/lofreq/lofreq_indelqual/.config.vsh.yaml +++ b/target/executable/lofreq/lofreq_indelqual/.config.vsh.yaml @@ -218,13 +218,24 @@ build_info: output: "target/executable/lofreq/lofreq_indelqual" executable: "target/executable/lofreq/lofreq_indelqual/lofreq_indelqual" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/lofreq/lofreq_indelqual/lofreq_indelqual b/target/executable/lofreq/lofreq_indelqual/lofreq_indelqual index 4a59f6f2..093fdc72 100755 --- a/target/executable/lofreq/lofreq_indelqual/lofreq_indelqual +++ b/target/executable/lofreq/lofreq_indelqual/lofreq_indelqual @@ -453,9 +453,9 @@ echo "lofreq: $version" > /var/software_versions.txt LABEL org.opencontainers.image.authors="Kai Waldrant" LABEL org.opencontainers.image.description="Companion container for running component lofreq lofreq_indelqual" -LABEL org.opencontainers.image.created="2025-04-29T10:54:45Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:36Z" LABEL org.opencontainers.image.source="https://github.com/viash-hub/biobox" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/multiqc/.config.vsh.yaml b/target/executable/multiqc/.config.vsh.yaml index ddb1d0c2..10b404ba 100644 --- a/target/executable/multiqc/.config.vsh.yaml +++ b/target/executable/multiqc/.config.vsh.yaml @@ -459,13 +459,24 @@ build_info: output: "target/executable/multiqc" executable: "target/executable/multiqc/multiqc" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/multiqc/multiqc b/target/executable/multiqc/multiqc index 7603c505..4310712e 100755 --- a/target/executable/multiqc/multiqc +++ b/target/executable/multiqc/multiqc @@ -452,9 +452,9 @@ RUN multiqc --version | sed 's/multiqc, version\s\(.*\)/multiqc: "\1"/' > /var/s LABEL org.opencontainers.image.authors="Dorien Roosen" LABEL org.opencontainers.image.description="Companion container for running component multiqc" -LABEL org.opencontainers.image.created="2025-04-29T10:54:51Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:43Z" LABEL org.opencontainers.image.source="https://github.com/viash-hub/biobox" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/nanoplot/.config.vsh.yaml b/target/executable/nanoplot/.config.vsh.yaml index 2e2ec349..6e0d4ca9 100644 --- a/target/executable/nanoplot/.config.vsh.yaml +++ b/target/executable/nanoplot/.config.vsh.yaml @@ -495,13 +495,24 @@ build_info: output: "target/executable/nanoplot" executable: "target/executable/nanoplot/nanoplot" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/nanoplot/nanoplot b/target/executable/nanoplot/nanoplot index a5dedd29..861ed889 100755 --- a/target/executable/nanoplot/nanoplot +++ b/target/executable/nanoplot/nanoplot @@ -449,9 +449,9 @@ RUN version=$(NanoPlot --version) && \ echo "$version" > /var/software_versions.txt LABEL org.opencontainers.image.description="Companion container for running component nanoplot" -LABEL org.opencontainers.image.created="2025-04-29T10:54:49Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:40Z" LABEL org.opencontainers.image.source="https://github.com/wdecoster/NanoPlot" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/pear/.config.vsh.yaml b/target/executable/pear/.config.vsh.yaml index 3c886cfd..a7d9d9bd 100644 --- a/target/executable/pear/.config.vsh.yaml +++ b/target/executable/pear/.config.vsh.yaml @@ -401,13 +401,24 @@ build_info: output: "target/executable/pear" executable: "target/executable/pear/pear" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/pear/pear b/target/executable/pear/pear index 7d266ecb..97a62d5e 100755 --- a/target/executable/pear/pear +++ b/target/executable/pear/pear @@ -453,9 +453,9 @@ echo "pear: $version" > /var/software_versions.txt LABEL org.opencontainers.image.authors="Kai Waldrant" LABEL org.opencontainers.image.description="Companion container for running component pear" -LABEL org.opencontainers.image.created="2025-04-29T10:54:51Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:42Z" LABEL org.opencontainers.image.source="https://github.com/tseemann/PEAR" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/qualimap/qualimap_rnaseq/.config.vsh.yaml b/target/executable/qualimap/qualimap_rnaseq/.config.vsh.yaml index 8e185550..a027cc69 100644 --- a/target/executable/qualimap/qualimap_rnaseq/.config.vsh.yaml +++ b/target/executable/qualimap/qualimap_rnaseq/.config.vsh.yaml @@ -267,13 +267,24 @@ build_info: output: "target/executable/qualimap/qualimap_rnaseq" executable: "target/executable/qualimap/qualimap_rnaseq/qualimap_rnaseq" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/qualimap/qualimap_rnaseq/qualimap_rnaseq b/target/executable/qualimap/qualimap_rnaseq/qualimap_rnaseq index 91c2b0d5..01956259 100755 --- a/target/executable/qualimap/qualimap_rnaseq/qualimap_rnaseq +++ b/target/executable/qualimap/qualimap_rnaseq/qualimap_rnaseq @@ -452,9 +452,9 @@ RUN echo QualiMap: $(qualimap 2>&1 | grep QualiMap | sed 's/^.*QualiMap//') > /v LABEL org.opencontainers.image.authors="Dorien Roosen" LABEL org.opencontainers.image.description="Companion container for running component qualimap qualimap_rnaseq" -LABEL org.opencontainers.image.created="2025-04-29T10:54:45Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:36Z" LABEL org.opencontainers.image.source="https://bitbucket.org/kokonech/qualimap/commits/branch/master" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/rsem/rsem_calculate_expression/.config.vsh.yaml b/target/executable/rsem/rsem_calculate_expression/.config.vsh.yaml index a1468f94..75c8010c 100644 --- a/target/executable/rsem/rsem_calculate_expression/.config.vsh.yaml +++ b/target/executable/rsem/rsem_calculate_expression/.config.vsh.yaml @@ -855,13 +855,24 @@ build_info: output: "target/executable/rsem/rsem_calculate_expression" executable: "target/executable/rsem/rsem_calculate_expression/rsem_calculate_expression" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/rsem/rsem_calculate_expression/rsem_calculate_expression b/target/executable/rsem/rsem_calculate_expression/rsem_calculate_expression index 42b3f78c..c177f690 100755 --- a/target/executable/rsem/rsem_calculate_expression/rsem_calculate_expression +++ b/target/executable/rsem/rsem_calculate_expression/rsem_calculate_expression @@ -470,9 +470,9 @@ echo "bowtie: `bowtie --version | grep -oP 'bowtie-align-s version \K\d+\.\d+\.\ echo "HISAT2: `hisat2 --version | grep -oP 'hisat2-align-s version \K\d+\.\d+\.\d+'`" >> /var/software_versions.txt LABEL org.opencontainers.image.description="Companion container for running component rsem rsem_calculate_expression" -LABEL org.opencontainers.image.created="2025-04-29T10:54:45Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:37Z" LABEL org.opencontainers.image.source="https://github.com/deweylab/RSEM" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/rsem/rsem_prepare_reference/.config.vsh.yaml b/target/executable/rsem/rsem_prepare_reference/.config.vsh.yaml index 8a19cd31..c0d51a8e 100644 --- a/target/executable/rsem/rsem_prepare_reference/.config.vsh.yaml +++ b/target/executable/rsem/rsem_prepare_reference/.config.vsh.yaml @@ -419,13 +419,24 @@ build_info: output: "target/executable/rsem/rsem_prepare_reference" executable: "target/executable/rsem/rsem_prepare_reference/rsem_prepare_reference" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/rsem/rsem_prepare_reference/rsem_prepare_reference b/target/executable/rsem/rsem_prepare_reference/rsem_prepare_reference index 59e7d070..98b5c018 100755 --- a/target/executable/rsem/rsem_prepare_reference/rsem_prepare_reference +++ b/target/executable/rsem/rsem_prepare_reference/rsem_prepare_reference @@ -494,9 +494,9 @@ echo "HISAT2: `hisat2 --version | grep -oP 'hisat2-align-s version \K\d+\.\d+\.\ LABEL org.opencontainers.image.authors="Sai Nirmayi Yasa" LABEL org.opencontainers.image.description="Companion container for running component rsem rsem_prepare_reference" -LABEL org.opencontainers.image.created="2025-04-29T10:54:45Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:36Z" LABEL org.opencontainers.image.source="https://github.com/deweylab/RSEM" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/rseqc/rseqc_bamstat/.config.vsh.yaml b/target/executable/rseqc/rseqc_bamstat/.config.vsh.yaml index d36b057a..053a169e 100644 --- a/target/executable/rseqc/rseqc_bamstat/.config.vsh.yaml +++ b/target/executable/rseqc/rseqc_bamstat/.config.vsh.yaml @@ -178,13 +178,24 @@ build_info: output: "target/executable/rseqc/rseqc_bamstat" executable: "target/executable/rseqc/rseqc_bamstat/rseqc_bamstat" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/rseqc/rseqc_bamstat/rseqc_bamstat b/target/executable/rseqc/rseqc_bamstat/rseqc_bamstat index eec648da..7400a0cd 100755 --- a/target/executable/rseqc/rseqc_bamstat/rseqc_bamstat +++ b/target/executable/rseqc/rseqc_bamstat/rseqc_bamstat @@ -455,9 +455,9 @@ RUN echo "RSeQC bam_stat.py: $(bam_stat.py --version | cut -d' ' -f2-)" > /var/s LABEL org.opencontainers.image.authors="Emma Rousseau" LABEL org.opencontainers.image.description="Companion container for running component rseqc rseqc_bamstat" -LABEL org.opencontainers.image.created="2025-04-29T10:54:51Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:43Z" LABEL org.opencontainers.image.source="https://github.com/MonashBioinformaticsPlatform/RSeQC" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/rseqc/rseqc_inferexperiment/.config.vsh.yaml b/target/executable/rseqc/rseqc_inferexperiment/.config.vsh.yaml index e2da321e..9092f7ff 100644 --- a/target/executable/rseqc/rseqc_inferexperiment/.config.vsh.yaml +++ b/target/executable/rseqc/rseqc_inferexperiment/.config.vsh.yaml @@ -204,13 +204,24 @@ build_info: output: "target/executable/rseqc/rseqc_inferexperiment" executable: "target/executable/rseqc/rseqc_inferexperiment/rseqc_inferexperiment" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/rseqc/rseqc_inferexperiment/rseqc_inferexperiment b/target/executable/rseqc/rseqc_inferexperiment/rseqc_inferexperiment index 05245665..397f8995 100755 --- a/target/executable/rseqc/rseqc_inferexperiment/rseqc_inferexperiment +++ b/target/executable/rseqc/rseqc_inferexperiment/rseqc_inferexperiment @@ -455,9 +455,9 @@ RUN echo "RSeQC - infer_experiment.py: $(infer_experiment.py --version | cut -d' LABEL org.opencontainers.image.authors="Emma Rousseau" LABEL org.opencontainers.image.description="Companion container for running component rseqc rseqc_inferexperiment" -LABEL org.opencontainers.image.created="2025-04-29T10:54:50Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:42Z" LABEL org.opencontainers.image.source="https://github.com/MonashBioinformaticsPlatform/RSeQC" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/rseqc/rseqc_inner_distance/.config.vsh.yaml b/target/executable/rseqc/rseqc_inner_distance/.config.vsh.yaml index f78a12d9..fba15eb4 100644 --- a/target/executable/rseqc/rseqc_inner_distance/.config.vsh.yaml +++ b/target/executable/rseqc/rseqc_inner_distance/.config.vsh.yaml @@ -297,13 +297,24 @@ build_info: output: "target/executable/rseqc/rseqc_inner_distance" executable: "target/executable/rseqc/rseqc_inner_distance/rseqc_inner_distance" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/rseqc/rseqc_inner_distance/rseqc_inner_distance b/target/executable/rseqc/rseqc_inner_distance/rseqc_inner_distance index bda7c379..eed44f1d 100755 --- a/target/executable/rseqc/rseqc_inner_distance/rseqc_inner_distance +++ b/target/executable/rseqc/rseqc_inner_distance/rseqc_inner_distance @@ -459,9 +459,9 @@ RUN echo "RSeQC - inner_distance.py: $(inner_distance.py --version | cut -d' ' - LABEL org.opencontainers.image.authors="Emma Rousseau" LABEL org.opencontainers.image.description="Companion container for running component rseqc rseqc_inner_distance" -LABEL org.opencontainers.image.created="2025-04-29T10:54:50Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:42Z" LABEL org.opencontainers.image.source="https://github.com/MonashBioinformaticsPlatform/RSeQC" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/salmon/salmon_index/.config.vsh.yaml b/target/executable/salmon/salmon_index/.config.vsh.yaml index 39e29877..74dfef0c 100644 --- a/target/executable/salmon/salmon_index/.config.vsh.yaml +++ b/target/executable/salmon/salmon_index/.config.vsh.yaml @@ -280,13 +280,24 @@ build_info: output: "target/executable/salmon/salmon_index" executable: "target/executable/salmon/salmon_index/salmon_index" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/salmon/salmon_index/salmon_index b/target/executable/salmon/salmon_index/salmon_index index b6f64f8e..703fc298 100755 --- a/target/executable/salmon/salmon_index/salmon_index +++ b/target/executable/salmon/salmon_index/salmon_index @@ -452,9 +452,9 @@ RUN salmon index -v 2>&1 | sed 's/salmon \([0-9.]*\)/salmon: \1/' > /var/softwar LABEL org.opencontainers.image.authors="Sai Nirmayi Yasa" LABEL org.opencontainers.image.description="Companion container for running component salmon salmon_index" -LABEL org.opencontainers.image.created="2025-04-29T10:54:41Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:32Z" LABEL org.opencontainers.image.source="https://github.com/COMBINE-lab/salmon" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/salmon/salmon_quant/.config.vsh.yaml b/target/executable/salmon/salmon_quant/.config.vsh.yaml index 5572dd1e..2dd1e4b5 100644 --- a/target/executable/salmon/salmon_quant/.config.vsh.yaml +++ b/target/executable/salmon/salmon_quant/.config.vsh.yaml @@ -1176,13 +1176,24 @@ build_info: output: "target/executable/salmon/salmon_quant" executable: "target/executable/salmon/salmon_quant/salmon_quant" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/salmon/salmon_quant/salmon_quant b/target/executable/salmon/salmon_quant/salmon_quant index f1ea3426..54e0d25e 100755 --- a/target/executable/salmon/salmon_quant/salmon_quant +++ b/target/executable/salmon/salmon_quant/salmon_quant @@ -452,9 +452,9 @@ RUN salmon index -v 2>&1 | sed 's/salmon \([0-9.]*\)/salmon: \1/' > /var/softwar LABEL org.opencontainers.image.authors="Sai Nirmayi Yasa" LABEL org.opencontainers.image.description="Companion container for running component salmon salmon_quant" -LABEL org.opencontainers.image.created="2025-04-29T10:54:41Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:32Z" LABEL org.opencontainers.image.source="https://github.com/COMBINE-lab/salmon" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/samtools/samtools_collate/.config.vsh.yaml b/target/executable/samtools/samtools_collate/.config.vsh.yaml index 5b8115d6..94cdfacf 100644 --- a/target/executable/samtools/samtools_collate/.config.vsh.yaml +++ b/target/executable/samtools/samtools_collate/.config.vsh.yaml @@ -267,13 +267,24 @@ build_info: output: "target/executable/samtools/samtools_collate" executable: "target/executable/samtools/samtools_collate/samtools_collate" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/samtools/samtools_collate/samtools_collate b/target/executable/samtools/samtools_collate/samtools_collate index 7664822a..70e763b0 100755 --- a/target/executable/samtools/samtools_collate/samtools_collate +++ b/target/executable/samtools/samtools_collate/samtools_collate @@ -453,9 +453,9 @@ sed 's#Using ##;s# \([0-9\.]*\)$#: \1#' > /var/software_versions.txt LABEL org.opencontainers.image.authors="Emma Rousseau" LABEL org.opencontainers.image.description="Companion container for running component samtools samtools_collate" -LABEL org.opencontainers.image.created="2025-04-29T10:54:41Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:32Z" LABEL org.opencontainers.image.source="https://github.com/samtools/samtools" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/samtools/samtools_faidx/.config.vsh.yaml b/target/executable/samtools/samtools_faidx/.config.vsh.yaml index d048b604..f55a757e 100644 --- a/target/executable/samtools/samtools_faidx/.config.vsh.yaml +++ b/target/executable/samtools/samtools_faidx/.config.vsh.yaml @@ -246,13 +246,24 @@ build_info: output: "target/executable/samtools/samtools_faidx" executable: "target/executable/samtools/samtools_faidx/samtools_faidx" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/samtools/samtools_faidx/samtools_faidx b/target/executable/samtools/samtools_faidx/samtools_faidx index 7c8e11b3..bcb0f510 100755 --- a/target/executable/samtools/samtools_faidx/samtools_faidx +++ b/target/executable/samtools/samtools_faidx/samtools_faidx @@ -453,9 +453,9 @@ sed 's#Using ##;s# \([0-9\.]*\)$#: \1#' > /var/software_versions.txt LABEL org.opencontainers.image.authors="Emma Rousseau" LABEL org.opencontainers.image.description="Companion container for running component samtools samtools_faidx" -LABEL org.opencontainers.image.created="2025-04-29T10:54:43Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:34Z" LABEL org.opencontainers.image.source="https://github.com/samtools/samtools" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/samtools/samtools_fasta/.config.vsh.yaml b/target/executable/samtools/samtools_fasta/.config.vsh.yaml index a888410c..48e891bc 100644 --- a/target/executable/samtools/samtools_fasta/.config.vsh.yaml +++ b/target/executable/samtools/samtools_fasta/.config.vsh.yaml @@ -436,13 +436,24 @@ build_info: output: "target/executable/samtools/samtools_fasta" executable: "target/executable/samtools/samtools_fasta/samtools_fasta" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/samtools/samtools_fasta/samtools_fasta b/target/executable/samtools/samtools_fasta/samtools_fasta index db972d8f..a46aa64b 100755 --- a/target/executable/samtools/samtools_fasta/samtools_fasta +++ b/target/executable/samtools/samtools_fasta/samtools_fasta @@ -453,9 +453,9 @@ sed 's#Using ##;s# \([0-9\.]*\)$#: \1#' > /var/software_versions.txt LABEL org.opencontainers.image.authors="Emma Rousseau" LABEL org.opencontainers.image.description="Companion container for running component samtools samtools_fasta" -LABEL org.opencontainers.image.created="2025-04-29T10:54:42Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:34Z" LABEL org.opencontainers.image.source="https://github.com/samtools/samtools" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/samtools/samtools_fastq/.config.vsh.yaml b/target/executable/samtools/samtools_fastq/.config.vsh.yaml index baac9030..63a87ff0 100644 --- a/target/executable/samtools/samtools_fastq/.config.vsh.yaml +++ b/target/executable/samtools/samtools_fastq/.config.vsh.yaml @@ -436,13 +436,24 @@ build_info: output: "target/executable/samtools/samtools_fastq" executable: "target/executable/samtools/samtools_fastq/samtools_fastq" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/samtools/samtools_fastq/samtools_fastq b/target/executable/samtools/samtools_fastq/samtools_fastq index f4b32d3f..5a18870b 100755 --- a/target/executable/samtools/samtools_fastq/samtools_fastq +++ b/target/executable/samtools/samtools_fastq/samtools_fastq @@ -453,9 +453,9 @@ sed 's#Using ##;s# \([0-9\.]*\)$#: \1#' > /var/software_versions.txt LABEL org.opencontainers.image.authors="Emma Rousseau" LABEL org.opencontainers.image.description="Companion container for running component samtools samtools_fastq" -LABEL org.opencontainers.image.created="2025-04-29T10:54:42Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:33Z" LABEL org.opencontainers.image.source="https://github.com/samtools/samtools" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/samtools/samtools_flagstat/.config.vsh.yaml b/target/executable/samtools/samtools_flagstat/.config.vsh.yaml index 674aed2b..85618e2f 100644 --- a/target/executable/samtools/samtools_flagstat/.config.vsh.yaml +++ b/target/executable/samtools/samtools_flagstat/.config.vsh.yaml @@ -176,13 +176,24 @@ build_info: output: "target/executable/samtools/samtools_flagstat" executable: "target/executable/samtools/samtools_flagstat/samtools_flagstat" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/samtools/samtools_flagstat/samtools_flagstat b/target/executable/samtools/samtools_flagstat/samtools_flagstat index e98c3632..fb6fa080 100755 --- a/target/executable/samtools/samtools_flagstat/samtools_flagstat +++ b/target/executable/samtools/samtools_flagstat/samtools_flagstat @@ -453,9 +453,9 @@ sed 's#Using ##;s# \([0-9\.]*\)$#: \1#' > /var/software_versions.txt LABEL org.opencontainers.image.authors="Emma Rousseau" LABEL org.opencontainers.image.description="Companion container for running component samtools samtools_flagstat" -LABEL org.opencontainers.image.created="2025-04-29T10:54:41Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:32Z" LABEL org.opencontainers.image.source="https://github.com/samtools/samtools" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/samtools/samtools_idxstats/.config.vsh.yaml b/target/executable/samtools/samtools_idxstats/.config.vsh.yaml index a94e130c..3914597a 100644 --- a/target/executable/samtools/samtools_idxstats/.config.vsh.yaml +++ b/target/executable/samtools/samtools_idxstats/.config.vsh.yaml @@ -186,13 +186,24 @@ build_info: output: "target/executable/samtools/samtools_idxstats" executable: "target/executable/samtools/samtools_idxstats/samtools_idxstats" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/samtools/samtools_idxstats/samtools_idxstats b/target/executable/samtools/samtools_idxstats/samtools_idxstats index b4239ee6..08a66f5d 100755 --- a/target/executable/samtools/samtools_idxstats/samtools_idxstats +++ b/target/executable/samtools/samtools_idxstats/samtools_idxstats @@ -453,9 +453,9 @@ sed 's#Using ##;s# \([0-9\.]*\)$#: \1#' > /var/software_versions.txt LABEL org.opencontainers.image.authors="Emma Rousseau" LABEL org.opencontainers.image.description="Companion container for running component samtools samtools_idxstats" -LABEL org.opencontainers.image.created="2025-04-29T10:54:41Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:33Z" LABEL org.opencontainers.image.source="https://github.com/samtools/samtools" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/samtools/samtools_index/.config.vsh.yaml b/target/executable/samtools/samtools_index/.config.vsh.yaml index 407843ba..2fab811b 100644 --- a/target/executable/samtools/samtools_index/.config.vsh.yaml +++ b/target/executable/samtools/samtools_index/.config.vsh.yaml @@ -192,13 +192,24 @@ build_info: output: "target/executable/samtools/samtools_index" executable: "target/executable/samtools/samtools_index/samtools_index" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/samtools/samtools_index/samtools_index b/target/executable/samtools/samtools_index/samtools_index index 8ab5083b..0784bfff 100755 --- a/target/executable/samtools/samtools_index/samtools_index +++ b/target/executable/samtools/samtools_index/samtools_index @@ -453,9 +453,9 @@ sed 's#Using ##;s# \([0-9\.]*\)$#: \1#' > /var/software_versions.txt LABEL org.opencontainers.image.authors="Emma Rousseau" LABEL org.opencontainers.image.description="Companion container for running component samtools samtools_index" -LABEL org.opencontainers.image.created="2025-04-29T10:54:42Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:33Z" LABEL org.opencontainers.image.source="https://github.com/samtools/samtools" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/samtools/samtools_sort/.config.vsh.yaml b/target/executable/samtools/samtools_sort/.config.vsh.yaml index 0f79e57a..17899dcc 100644 --- a/target/executable/samtools/samtools_sort/.config.vsh.yaml +++ b/target/executable/samtools/samtools_sort/.config.vsh.yaml @@ -335,13 +335,24 @@ build_info: output: "target/executable/samtools/samtools_sort" executable: "target/executable/samtools/samtools_sort/samtools_sort" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/samtools/samtools_sort/samtools_sort b/target/executable/samtools/samtools_sort/samtools_sort index 59f5e4e7..a1c8f526 100755 --- a/target/executable/samtools/samtools_sort/samtools_sort +++ b/target/executable/samtools/samtools_sort/samtools_sort @@ -453,9 +453,9 @@ sed 's#Using ##;s# \([0-9\.]*\)$#: \1#' > /var/software_versions.txt LABEL org.opencontainers.image.authors="Emma Rousseau" LABEL org.opencontainers.image.description="Companion container for running component samtools samtools_sort" -LABEL org.opencontainers.image.created="2025-04-29T10:54:43Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:34Z" LABEL org.opencontainers.image.source="https://github.com/samtools/samtools" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/samtools/samtools_stats/.config.vsh.yaml b/target/executable/samtools/samtools_stats/.config.vsh.yaml index 4e068e6b..b5160d4c 100644 --- a/target/executable/samtools/samtools_stats/.config.vsh.yaml +++ b/target/executable/samtools/samtools_stats/.config.vsh.yaml @@ -404,13 +404,24 @@ build_info: output: "target/executable/samtools/samtools_stats" executable: "target/executable/samtools/samtools_stats/samtools_stats" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/samtools/samtools_stats/samtools_stats b/target/executable/samtools/samtools_stats/samtools_stats index f56a2279..cddfee64 100755 --- a/target/executable/samtools/samtools_stats/samtools_stats +++ b/target/executable/samtools/samtools_stats/samtools_stats @@ -453,9 +453,9 @@ sed 's#Using ##;s# \([0-9\.]*\)$#: \1#' > /var/software_versions.txt LABEL org.opencontainers.image.authors="Emma Rousseau" LABEL org.opencontainers.image.description="Companion container for running component samtools samtools_stats" -LABEL org.opencontainers.image.created="2025-04-29T10:54:43Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:34Z" LABEL org.opencontainers.image.source="https://github.com/samtools/samtools" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/samtools/samtools_view/.config.vsh.yaml b/target/executable/samtools/samtools_view/.config.vsh.yaml index eeea1f0e..64827b3e 100644 --- a/target/executable/samtools/samtools_view/.config.vsh.yaml +++ b/target/executable/samtools/samtools_view/.config.vsh.yaml @@ -668,13 +668,24 @@ build_info: output: "target/executable/samtools/samtools_view" executable: "target/executable/samtools/samtools_view/samtools_view" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/samtools/samtools_view/samtools_view b/target/executable/samtools/samtools_view/samtools_view index 4e733006..28915615 100755 --- a/target/executable/samtools/samtools_view/samtools_view +++ b/target/executable/samtools/samtools_view/samtools_view @@ -453,9 +453,9 @@ sed 's#Using ##;s# \([0-9\.]*\)$#: \1#' > /var/software_versions.txt LABEL org.opencontainers.image.authors="Emma Rousseau" LABEL org.opencontainers.image.description="Companion container for running component samtools samtools_view" -LABEL org.opencontainers.image.created="2025-04-29T10:54:42Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:33Z" LABEL org.opencontainers.image.source="https://github.com/samtools/samtools" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/seqtk/seqtk_sample/.config.vsh.yaml b/target/executable/seqtk/seqtk_sample/.config.vsh.yaml index a354330d..5e5d9c71 100644 --- a/target/executable/seqtk/seqtk_sample/.config.vsh.yaml +++ b/target/executable/seqtk/seqtk_sample/.config.vsh.yaml @@ -176,13 +176,24 @@ build_info: output: "target/executable/seqtk/seqtk_sample" executable: "target/executable/seqtk/seqtk_sample/seqtk_sample" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/seqtk/seqtk_sample/seqtk_sample b/target/executable/seqtk/seqtk_sample/seqtk_sample index 15ebfe2d..7a67bc63 100755 --- a/target/executable/seqtk/seqtk_sample/seqtk_sample +++ b/target/executable/seqtk/seqtk_sample/seqtk_sample @@ -450,9 +450,9 @@ FROM quay.io/biocontainers/seqtk:1.4--he4a0461_2 ENTRYPOINT [] LABEL org.opencontainers.image.authors="Jakub Majercik" LABEL org.opencontainers.image.description="Companion container for running component seqtk seqtk_sample" -LABEL org.opencontainers.image.created="2025-04-29T10:54:49Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:41Z" LABEL org.opencontainers.image.source="https://github.com/lh3/seqtk/tree/v1.4" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/seqtk/seqtk_subseq/.config.vsh.yaml b/target/executable/seqtk/seqtk_subseq/.config.vsh.yaml index 0004da54..fc03bafa 100644 --- a/target/executable/seqtk/seqtk_subseq/.config.vsh.yaml +++ b/target/executable/seqtk/seqtk_subseq/.config.vsh.yaml @@ -199,13 +199,24 @@ build_info: output: "target/executable/seqtk/seqtk_subseq" executable: "target/executable/seqtk/seqtk_subseq/seqtk_subseq" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/seqtk/seqtk_subseq/seqtk_subseq b/target/executable/seqtk/seqtk_subseq/seqtk_subseq index 05d40d3a..fbe55296 100755 --- a/target/executable/seqtk/seqtk_subseq/seqtk_subseq +++ b/target/executable/seqtk/seqtk_subseq/seqtk_subseq @@ -452,9 +452,9 @@ RUN echo $(echo $(seqtk 2>&1) | sed -n 's/.*\(Version: [^ ]*\).*/\1/p') > /var/s LABEL org.opencontainers.image.authors="Theodoro Gasperin Terra Camargo" LABEL org.opencontainers.image.description="Companion container for running component seqtk seqtk_subseq" -LABEL org.opencontainers.image.created="2025-04-29T10:54:50Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:41Z" LABEL org.opencontainers.image.source="https://github.com/lh3/seqtk/tree/v1.4" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/sgdemux/.config.vsh.yaml b/target/executable/sgdemux/.config.vsh.yaml index 60ad8757..5b09c2fc 100644 --- a/target/executable/sgdemux/.config.vsh.yaml +++ b/target/executable/sgdemux/.config.vsh.yaml @@ -432,13 +432,24 @@ build_info: output: "target/executable/sgdemux" executable: "target/executable/sgdemux/sgdemux" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/sgdemux/sgdemux b/target/executable/sgdemux/sgdemux index 4320a3c6..0823f7b6 100755 --- a/target/executable/sgdemux/sgdemux +++ b/target/executable/sgdemux/sgdemux @@ -457,9 +457,9 @@ echo "sgdemux: $(sgdemux --version | cut -d' ' -f2)" > /var/software_versions.tx LABEL org.opencontainers.image.authors="Dries Schaumont" LABEL org.opencontainers.image.description="Companion container for running component sgdemux" -LABEL org.opencontainers.image.created="2025-04-29T10:54:41Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:32Z" LABEL org.opencontainers.image.source="https://github.com/Singular-Genomics/singular-demux" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/snpeff/.config.vsh.yaml b/target/executable/snpeff/.config.vsh.yaml index 9f6ffc73..27cb65c2 100644 --- a/target/executable/snpeff/.config.vsh.yaml +++ b/target/executable/snpeff/.config.vsh.yaml @@ -631,13 +631,24 @@ build_info: output: "target/executable/snpeff" executable: "target/executable/snpeff/snpeff" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/snpeff/snpeff b/target/executable/snpeff/snpeff index 3d7d5625..4cc1c666 100755 --- a/target/executable/snpeff/snpeff +++ b/target/executable/snpeff/snpeff @@ -450,9 +450,9 @@ version_trimmed=$(echo "$version" | awk '{print $1, $2}') && \ echo "$version_trimmed" > /var/software_versions.txt LABEL org.opencontainers.image.description="Companion container for running component snpeff" -LABEL org.opencontainers.image.created="2025-04-29T10:54:44Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:35Z" LABEL org.opencontainers.image.source="https://github.com/pcingola/SnpEff" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/sortmerna/.config.vsh.yaml b/target/executable/sortmerna/.config.vsh.yaml index 25ef6a83..32d64133 100644 --- a/target/executable/sortmerna/.config.vsh.yaml +++ b/target/executable/sortmerna/.config.vsh.yaml @@ -597,13 +597,24 @@ build_info: output: "target/executable/sortmerna" executable: "target/executable/sortmerna/sortmerna" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/sortmerna/sortmerna b/target/executable/sortmerna/sortmerna index 04df72b0..f8b86f76 100755 --- a/target/executable/sortmerna/sortmerna +++ b/target/executable/sortmerna/sortmerna @@ -448,9 +448,9 @@ ENTRYPOINT [] RUN echo SortMeRNA: `sortmerna --version | sed -n 's/.*version \([0-9]\+\.[0-9]\+\.[0-9]\+\).*/\1/p'` LABEL org.opencontainers.image.description="Companion container for running component sortmerna" -LABEL org.opencontainers.image.created="2025-04-29T10:54:51Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:32Z" LABEL org.opencontainers.image.source="https://github.com/sortmerna/sortmerna" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/star/star_align_reads/.config.vsh.yaml b/target/executable/star/star_align_reads/.config.vsh.yaml index f8b69d40..e1ab6ddf 100644 --- a/target/executable/star/star_align_reads/.config.vsh.yaml +++ b/target/executable/star/star_align_reads/.config.vsh.yaml @@ -2666,13 +2666,24 @@ build_info: output: "target/executable/star/star_align_reads" executable: "target/executable/star/star_align_reads/star_align_reads" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/star/star_align_reads/star_align_reads b/target/executable/star/star_align_reads/star_align_reads index 7a91617b..cf3b62c7 100755 --- a/target/executable/star/star_align_reads/star_align_reads +++ b/target/executable/star/star_align_reads/star_align_reads @@ -475,9 +475,9 @@ RUN STAR --version | sed 's#\(.*\)#star: "\1"#' > /var/software_versions.txt LABEL org.opencontainers.image.authors="Angela Oliveira Pisco, Robrecht Cannoodt" LABEL org.opencontainers.image.description="Companion container for running component star star_align_reads" -LABEL org.opencontainers.image.created="2025-04-29T10:54:50Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:42Z" LABEL org.opencontainers.image.source="https://github.com/alexdobin/STAR" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/star/star_genome_generate/.config.vsh.yaml b/target/executable/star/star_genome_generate/.config.vsh.yaml index 81ed9207..21fd7c73 100644 --- a/target/executable/star/star_genome_generate/.config.vsh.yaml +++ b/target/executable/star/star_genome_generate/.config.vsh.yaml @@ -336,13 +336,24 @@ build_info: output: "target/executable/star/star_genome_generate" executable: "target/executable/star/star_genome_generate/star_genome_generate" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/star/star_genome_generate/star_genome_generate b/target/executable/star/star_genome_generate/star_genome_generate index e88a61a6..fbc647eb 100755 --- a/target/executable/star/star_genome_generate/star_genome_generate +++ b/target/executable/star/star_genome_generate/star_genome_generate @@ -467,9 +467,9 @@ RUN STAR --version | sed 's#\(.*\)#star: "\1"#' > /var/software_versions.txt LABEL org.opencontainers.image.authors="Sai Nirmayi Yasa" LABEL org.opencontainers.image.description="Companion container for running component star star_genome_generate" -LABEL org.opencontainers.image.created="2025-04-29T10:54:50Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:42Z" LABEL org.opencontainers.image.source="https://github.com/alexdobin/STAR" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/trimgalore/.config.vsh.yaml b/target/executable/trimgalore/.config.vsh.yaml index 4c18428c..ae72d59d 100644 --- a/target/executable/trimgalore/.config.vsh.yaml +++ b/target/executable/trimgalore/.config.vsh.yaml @@ -773,13 +773,24 @@ build_info: output: "target/executable/trimgalore" executable: "target/executable/trimgalore/trimgalore" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/trimgalore/trimgalore b/target/executable/trimgalore/trimgalore index 60057b1e..02d07d7c 100755 --- a/target/executable/trimgalore/trimgalore +++ b/target/executable/trimgalore/trimgalore @@ -452,9 +452,9 @@ RUN echo "TrimGalore: `trim_galore --version | sed -n 's/.*version\s\+\([0-9]\+\ LABEL org.opencontainers.image.authors="Sai Nirmayi Yasa" LABEL org.opencontainers.image.description="Companion container for running component trimgalore" -LABEL org.opencontainers.image.created="2025-04-29T10:54:50Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:42Z" LABEL org.opencontainers.image.source="https://github.com/FelixKrueger/TrimGalore" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/umi_tools/umi_tools_dedup/.config.vsh.yaml b/target/executable/umi_tools/umi_tools_dedup/.config.vsh.yaml index f0748ceb..2601be91 100644 --- a/target/executable/umi_tools/umi_tools_dedup/.config.vsh.yaml +++ b/target/executable/umi_tools/umi_tools_dedup/.config.vsh.yaml @@ -614,13 +614,24 @@ build_info: output: "target/executable/umi_tools/umi_tools_dedup" executable: "target/executable/umi_tools/umi_tools_dedup/umi_tools_dedup" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/umi_tools/umi_tools_dedup/umi_tools_dedup b/target/executable/umi_tools/umi_tools_dedup/umi_tools_dedup index 42afc17a..1f6d4947 100755 --- a/target/executable/umi_tools/umi_tools_dedup/umi_tools_dedup +++ b/target/executable/umi_tools/umi_tools_dedup/umi_tools_dedup @@ -452,9 +452,9 @@ RUN umi_tools -v | sed 's/ version//g' > /var/software_versions.txt LABEL org.opencontainers.image.authors="Emma Rousseau" LABEL org.opencontainers.image.description="Companion container for running component umi_tools umi_tools_dedup" -LABEL org.opencontainers.image.created="2025-04-29T10:54:43Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:35Z" LABEL org.opencontainers.image.source="https://github.com/CGATOxford/UMI-tools" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/umi_tools/umi_tools_extract/.config.vsh.yaml b/target/executable/umi_tools/umi_tools_extract/.config.vsh.yaml index 440ff121..8fc320f3 100644 --- a/target/executable/umi_tools/umi_tools_extract/.config.vsh.yaml +++ b/target/executable/umi_tools/umi_tools_extract/.config.vsh.yaml @@ -437,13 +437,24 @@ build_info: output: "target/executable/umi_tools/umi_tools_extract" executable: "target/executable/umi_tools/umi_tools_extract/umi_tools_extract" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/umi_tools/umi_tools_extract/umi_tools_extract b/target/executable/umi_tools/umi_tools_extract/umi_tools_extract index 8a68b75d..7474be22 100755 --- a/target/executable/umi_tools/umi_tools_extract/umi_tools_extract +++ b/target/executable/umi_tools/umi_tools_extract/umi_tools_extract @@ -448,9 +448,9 @@ ENTRYPOINT [] RUN umi_tools -v | sed 's/ version//g' > /var/software_versions.txt LABEL org.opencontainers.image.description="Companion container for running component umi_tools umi_tools_extract" -LABEL org.opencontainers.image.created="2025-04-29T10:54:44Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:35Z" LABEL org.opencontainers.image.source="https://github.com/CGATOxford/UMI-tools" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/umi_tools/umi_tools_prepareforrsem/.config.vsh.yaml b/target/executable/umi_tools/umi_tools_prepareforrsem/.config.vsh.yaml index 67db6650..af9ea8e3 100644 --- a/target/executable/umi_tools/umi_tools_prepareforrsem/.config.vsh.yaml +++ b/target/executable/umi_tools/umi_tools_prepareforrsem/.config.vsh.yaml @@ -259,13 +259,24 @@ build_info: output: "target/executable/umi_tools/umi_tools_prepareforrsem" executable: "target/executable/umi_tools/umi_tools_prepareforrsem/umi_tools_prepareforrsem" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/executable/umi_tools/umi_tools_prepareforrsem/umi_tools_prepareforrsem b/target/executable/umi_tools/umi_tools_prepareforrsem/umi_tools_prepareforrsem index af2a6c03..98bd1e9d 100755 --- a/target/executable/umi_tools/umi_tools_prepareforrsem/umi_tools_prepareforrsem +++ b/target/executable/umi_tools/umi_tools_prepareforrsem/umi_tools_prepareforrsem @@ -448,9 +448,9 @@ ENTRYPOINT [] RUN umi_tools -v | sed 's/ version//g' > /var/software_versions.txt LABEL org.opencontainers.image.description="Companion container for running component umi_tools umi_tools_prepareforrsem" -LABEL org.opencontainers.image.created="2025-04-29T10:54:44Z" +LABEL org.opencontainers.image.created="2025-05-06T20:11:35Z" LABEL org.opencontainers.image.source="https://github.com/CGATOxford/UMI-tools" -LABEL org.opencontainers.image.revision="c733de2e4cc21eccb241060f82bce0b332f79d81" +LABEL org.opencontainers.image.revision="b0db228825f3441b4651527e8775e8fc87d06e60" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/nextflow/agat/agat_convert_bed2gff/.config.vsh.yaml b/target/nextflow/agat/agat_convert_bed2gff/.config.vsh.yaml index 1e4b90cf..0bb87193 100644 --- a/target/nextflow/agat/agat_convert_bed2gff/.config.vsh.yaml +++ b/target/nextflow/agat/agat_convert_bed2gff/.config.vsh.yaml @@ -238,13 +238,24 @@ build_info: output: "target/nextflow/agat/agat_convert_bed2gff" executable: "target/nextflow/agat/agat_convert_bed2gff/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/agat/agat_convert_bed2gff/main.nf b/target/nextflow/agat/agat_convert_bed2gff/main.nf index 72ad27d5..8ecc1aec 100644 --- a/target/nextflow/agat/agat_convert_bed2gff/main.nf +++ b/target/nextflow/agat/agat_convert_bed2gff/main.nf @@ -3322,14 +3322,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/agat/agat_convert_bed2gff", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/agat/agat_convert_embl2gff/.config.vsh.yaml b/target/nextflow/agat/agat_convert_embl2gff/.config.vsh.yaml index 992dedd7..1b937b3b 100644 --- a/target/nextflow/agat/agat_convert_embl2gff/.config.vsh.yaml +++ b/target/nextflow/agat/agat_convert_embl2gff/.config.vsh.yaml @@ -228,13 +228,24 @@ build_info: output: "target/nextflow/agat/agat_convert_embl2gff" executable: "target/nextflow/agat/agat_convert_embl2gff/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/agat/agat_convert_embl2gff/main.nf b/target/nextflow/agat/agat_convert_embl2gff/main.nf index 042bf731..2cda9c89 100644 --- a/target/nextflow/agat/agat_convert_embl2gff/main.nf +++ b/target/nextflow/agat/agat_convert_embl2gff/main.nf @@ -3315,14 +3315,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/agat/agat_convert_embl2gff", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/agat/agat_convert_genscan2gff/.config.vsh.yaml b/target/nextflow/agat/agat_convert_genscan2gff/.config.vsh.yaml index ed200dfa..ddf46509 100644 --- a/target/nextflow/agat/agat_convert_genscan2gff/.config.vsh.yaml +++ b/target/nextflow/agat/agat_convert_genscan2gff/.config.vsh.yaml @@ -233,13 +233,24 @@ build_info: output: "target/nextflow/agat/agat_convert_genscan2gff" executable: "target/nextflow/agat/agat_convert_genscan2gff/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/agat/agat_convert_genscan2gff/main.nf b/target/nextflow/agat/agat_convert_genscan2gff/main.nf index 4e07c956..ff3bde4e 100644 --- a/target/nextflow/agat/agat_convert_genscan2gff/main.nf +++ b/target/nextflow/agat/agat_convert_genscan2gff/main.nf @@ -3317,14 +3317,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/agat/agat_convert_genscan2gff", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/agat/agat_convert_mfannot2gff/.config.vsh.yaml b/target/nextflow/agat/agat_convert_mfannot2gff/.config.vsh.yaml index 30b38611..27e2c41c 100644 --- a/target/nextflow/agat/agat_convert_mfannot2gff/.config.vsh.yaml +++ b/target/nextflow/agat/agat_convert_mfannot2gff/.config.vsh.yaml @@ -189,13 +189,24 @@ build_info: output: "target/nextflow/agat/agat_convert_mfannot2gff" executable: "target/nextflow/agat/agat_convert_mfannot2gff/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/agat/agat_convert_mfannot2gff/main.nf b/target/nextflow/agat/agat_convert_mfannot2gff/main.nf index d588b428..a28af900 100644 --- a/target/nextflow/agat/agat_convert_mfannot2gff/main.nf +++ b/target/nextflow/agat/agat_convert_mfannot2gff/main.nf @@ -3277,14 +3277,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/agat/agat_convert_mfannot2gff", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/agat/agat_convert_sp_gff2gtf/.config.vsh.yaml b/target/nextflow/agat/agat_convert_sp_gff2gtf/.config.vsh.yaml index 690a3788..434af4ec 100644 --- a/target/nextflow/agat/agat_convert_sp_gff2gtf/.config.vsh.yaml +++ b/target/nextflow/agat/agat_convert_sp_gff2gtf/.config.vsh.yaml @@ -231,13 +231,24 @@ build_info: output: "target/nextflow/agat/agat_convert_sp_gff2gtf" executable: "target/nextflow/agat/agat_convert_sp_gff2gtf/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/agat/agat_convert_sp_gff2gtf/main.nf b/target/nextflow/agat/agat_convert_sp_gff2gtf/main.nf index 5a41f0a1..faed45b9 100644 --- a/target/nextflow/agat/agat_convert_sp_gff2gtf/main.nf +++ b/target/nextflow/agat/agat_convert_sp_gff2gtf/main.nf @@ -3298,14 +3298,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/agat/agat_convert_sp_gff2gtf", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/agat/agat_convert_sp_gff2tsv/.config.vsh.yaml b/target/nextflow/agat/agat_convert_sp_gff2tsv/.config.vsh.yaml index 9d508212..366a91cd 100644 --- a/target/nextflow/agat/agat_convert_sp_gff2tsv/.config.vsh.yaml +++ b/target/nextflow/agat/agat_convert_sp_gff2tsv/.config.vsh.yaml @@ -191,13 +191,24 @@ build_info: output: "target/nextflow/agat/agat_convert_sp_gff2tsv" executable: "target/nextflow/agat/agat_convert_sp_gff2tsv/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/agat/agat_convert_sp_gff2tsv/main.nf b/target/nextflow/agat/agat_convert_sp_gff2tsv/main.nf index 0d3cd8dd..d8508be9 100644 --- a/target/nextflow/agat/agat_convert_sp_gff2tsv/main.nf +++ b/target/nextflow/agat/agat_convert_sp_gff2tsv/main.nf @@ -3276,14 +3276,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/agat/agat_convert_sp_gff2tsv", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/agat/agat_convert_sp_gxf2gxf/.config.vsh.yaml b/target/nextflow/agat/agat_convert_sp_gxf2gxf/.config.vsh.yaml index 66e83395..16d5b883 100644 --- a/target/nextflow/agat/agat_convert_sp_gxf2gxf/.config.vsh.yaml +++ b/target/nextflow/agat/agat_convert_sp_gxf2gxf/.config.vsh.yaml @@ -198,13 +198,24 @@ build_info: output: "target/nextflow/agat/agat_convert_sp_gxf2gxf" executable: "target/nextflow/agat/agat_convert_sp_gxf2gxf/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/agat/agat_convert_sp_gxf2gxf/main.nf b/target/nextflow/agat/agat_convert_sp_gxf2gxf/main.nf index 68e9e99d..a15f6e21 100644 --- a/target/nextflow/agat/agat_convert_sp_gxf2gxf/main.nf +++ b/target/nextflow/agat/agat_convert_sp_gxf2gxf/main.nf @@ -3276,14 +3276,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/agat/agat_convert_sp_gxf2gxf", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/agat/agat_sp_add_introns/.config.vsh.yaml b/target/nextflow/agat/agat_sp_add_introns/.config.vsh.yaml index 48e9b710..d730339f 100644 --- a/target/nextflow/agat/agat_sp_add_introns/.config.vsh.yaml +++ b/target/nextflow/agat/agat_sp_add_introns/.config.vsh.yaml @@ -189,13 +189,24 @@ build_info: output: "target/nextflow/agat/agat_sp_add_introns" executable: "target/nextflow/agat/agat_sp_add_introns/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/agat/agat_sp_add_introns/main.nf b/target/nextflow/agat/agat_sp_add_introns/main.nf index e17689aa..eb28d5cd 100644 --- a/target/nextflow/agat/agat_sp_add_introns/main.nf +++ b/target/nextflow/agat/agat_sp_add_introns/main.nf @@ -3279,14 +3279,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/agat/agat_sp_add_introns", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/agat/agat_sp_filter_feature_from_kill_list/.config.vsh.yaml b/target/nextflow/agat/agat_sp_filter_feature_from_kill_list/.config.vsh.yaml index 5962bd01..c1f34fc5 100644 --- a/target/nextflow/agat/agat_sp_filter_feature_from_kill_list/.config.vsh.yaml +++ b/target/nextflow/agat/agat_sp_filter_feature_from_kill_list/.config.vsh.yaml @@ -239,13 +239,24 @@ build_info: output: "target/nextflow/agat/agat_sp_filter_feature_from_kill_list" executable: "target/nextflow/agat/agat_sp_filter_feature_from_kill_list/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/agat/agat_sp_filter_feature_from_kill_list/main.nf b/target/nextflow/agat/agat_sp_filter_feature_from_kill_list/main.nf index 849d289a..aa58b712 100644 --- a/target/nextflow/agat/agat_sp_filter_feature_from_kill_list/main.nf +++ b/target/nextflow/agat/agat_sp_filter_feature_from_kill_list/main.nf @@ -3326,14 +3326,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/agat/agat_sp_filter_feature_from_kill_list", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/agat/agat_sp_merge_annotations/.config.vsh.yaml b/target/nextflow/agat/agat_sp_merge_annotations/.config.vsh.yaml index 726ee9a0..bb9cc2ba 100644 --- a/target/nextflow/agat/agat_sp_merge_annotations/.config.vsh.yaml +++ b/target/nextflow/agat/agat_sp_merge_annotations/.config.vsh.yaml @@ -187,13 +187,24 @@ build_info: output: "target/nextflow/agat/agat_sp_merge_annotations" executable: "target/nextflow/agat/agat_sp_merge_annotations/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/agat/agat_sp_merge_annotations/main.nf b/target/nextflow/agat/agat_sp_merge_annotations/main.nf index df88b802..78cb7245 100644 --- a/target/nextflow/agat/agat_sp_merge_annotations/main.nf +++ b/target/nextflow/agat/agat_sp_merge_annotations/main.nf @@ -3276,14 +3276,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/agat/agat_sp_merge_annotations", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/agat/agat_sp_statistics/.config.vsh.yaml b/target/nextflow/agat/agat_sp_statistics/.config.vsh.yaml index 49ea49e7..bcaa1d50 100644 --- a/target/nextflow/agat/agat_sp_statistics/.config.vsh.yaml +++ b/target/nextflow/agat/agat_sp_statistics/.config.vsh.yaml @@ -234,13 +234,24 @@ build_info: output: "target/nextflow/agat/agat_sp_statistics" executable: "target/nextflow/agat/agat_sp_statistics/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/agat/agat_sp_statistics/main.nf b/target/nextflow/agat/agat_sp_statistics/main.nf index 8bc858b1..af1cf12c 100644 --- a/target/nextflow/agat/agat_sp_statistics/main.nf +++ b/target/nextflow/agat/agat_sp_statistics/main.nf @@ -3326,14 +3326,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/agat/agat_sp_statistics", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/agat/agat_sq_stat_basic/.config.vsh.yaml b/target/nextflow/agat/agat_sq_stat_basic/.config.vsh.yaml index 9d0744a1..af02f112 100644 --- a/target/nextflow/agat/agat_sq_stat_basic/.config.vsh.yaml +++ b/target/nextflow/agat/agat_sq_stat_basic/.config.vsh.yaml @@ -230,13 +230,24 @@ build_info: output: "target/nextflow/agat/agat_sq_stat_basic" executable: "target/nextflow/agat/agat_sq_stat_basic/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/agat/agat_sq_stat_basic/main.nf b/target/nextflow/agat/agat_sq_stat_basic/main.nf index d532a593..63060d41 100644 --- a/target/nextflow/agat/agat_sq_stat_basic/main.nf +++ b/target/nextflow/agat/agat_sq_stat_basic/main.nf @@ -3312,14 +3312,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/agat/agat_sq_stat_basic", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/arriba/.config.vsh.yaml b/target/nextflow/arriba/.config.vsh.yaml index 9ac0c7bd..75eae161 100644 --- a/target/nextflow/arriba/.config.vsh.yaml +++ b/target/nextflow/arriba/.config.vsh.yaml @@ -709,13 +709,24 @@ build_info: output: "target/nextflow/arriba" executable: "target/nextflow/arriba/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/arriba/main.nf b/target/nextflow/arriba/main.nf index 3aee78c4..0b119e73 100644 --- a/target/nextflow/arriba/main.nf +++ b/target/nextflow/arriba/main.nf @@ -3822,14 +3822,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/arriba", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/bases2fastq/.config.vsh.yaml b/target/nextflow/bases2fastq/.config.vsh.yaml index 46d24803..dda9da8d 100644 --- a/target/nextflow/bases2fastq/.config.vsh.yaml +++ b/target/nextflow/bases2fastq/.config.vsh.yaml @@ -397,13 +397,24 @@ build_info: output: "target/nextflow/bases2fastq" executable: "target/nextflow/bases2fastq/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/bases2fastq/main.nf b/target/nextflow/bases2fastq/main.nf index 483695cd..5a88d2fa 100644 --- a/target/nextflow/bases2fastq/main.nf +++ b/target/nextflow/bases2fastq/main.nf @@ -3514,14 +3514,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/bases2fastq", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/bbmap/bbmap_bbsplit/.config.vsh.yaml b/target/nextflow/bbmap/bbmap_bbsplit/.config.vsh.yaml index f5a07929..9786818b 100644 --- a/target/nextflow/bbmap/bbmap_bbsplit/.config.vsh.yaml +++ b/target/nextflow/bbmap/bbmap_bbsplit/.config.vsh.yaml @@ -371,13 +371,24 @@ build_info: output: "target/nextflow/bbmap/bbmap_bbsplit" executable: "target/nextflow/bbmap/bbmap_bbsplit/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/bbmap/bbmap_bbsplit/main.nf b/target/nextflow/bbmap/bbmap_bbsplit/main.nf index 2593b202..b00fe978 100644 --- a/target/nextflow/bbmap/bbmap_bbsplit/main.nf +++ b/target/nextflow/bbmap/bbmap_bbsplit/main.nf @@ -3450,14 +3450,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/bbmap/bbmap_bbsplit", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/bcftools/bcftools_annotate/.config.vsh.yaml b/target/nextflow/bcftools/bcftools_annotate/.config.vsh.yaml index 2e3f7c05..40b5a726 100644 --- a/target/nextflow/bcftools/bcftools_annotate/.config.vsh.yaml +++ b/target/nextflow/bcftools/bcftools_annotate/.config.vsh.yaml @@ -472,13 +472,24 @@ build_info: output: "target/nextflow/bcftools/bcftools_annotate" executable: "target/nextflow/bcftools/bcftools_annotate/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/bcftools/bcftools_annotate/main.nf b/target/nextflow/bcftools/bcftools_annotate/main.nf index 284d8d08..ac68f5e8 100644 --- a/target/nextflow/bcftools/bcftools_annotate/main.nf +++ b/target/nextflow/bcftools/bcftools_annotate/main.nf @@ -3565,14 +3565,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/bcftools/bcftools_annotate", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/bcftools/bcftools_concat/.config.vsh.yaml b/target/nextflow/bcftools/bcftools_concat/.config.vsh.yaml index bd72d046..ffee3c83 100644 --- a/target/nextflow/bcftools/bcftools_concat/.config.vsh.yaml +++ b/target/nextflow/bcftools/bcftools_concat/.config.vsh.yaml @@ -338,13 +338,24 @@ build_info: output: "target/nextflow/bcftools/bcftools_concat" executable: "target/nextflow/bcftools/bcftools_concat/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/bcftools/bcftools_concat/main.nf b/target/nextflow/bcftools/bcftools_concat/main.nf index 167efb40..8ffe8d95 100644 --- a/target/nextflow/bcftools/bcftools_concat/main.nf +++ b/target/nextflow/bcftools/bcftools_concat/main.nf @@ -3437,14 +3437,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/bcftools/bcftools_concat", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/bcftools/bcftools_norm/.config.vsh.yaml b/target/nextflow/bcftools/bcftools_norm/.config.vsh.yaml index 9d3af5c8..16290b22 100644 --- a/target/nextflow/bcftools/bcftools_norm/.config.vsh.yaml +++ b/target/nextflow/bcftools/bcftools_norm/.config.vsh.yaml @@ -419,13 +419,24 @@ build_info: output: "target/nextflow/bcftools/bcftools_norm" executable: "target/nextflow/bcftools/bcftools_norm/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/bcftools/bcftools_norm/main.nf b/target/nextflow/bcftools/bcftools_norm/main.nf index 2f1c37ae..fed2346c 100644 --- a/target/nextflow/bcftools/bcftools_norm/main.nf +++ b/target/nextflow/bcftools/bcftools_norm/main.nf @@ -3530,14 +3530,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/bcftools/bcftools_norm", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/bcftools/bcftools_sort/.config.vsh.yaml b/target/nextflow/bcftools/bcftools_sort/.config.vsh.yaml index a0d422a7..50430860 100644 --- a/target/nextflow/bcftools/bcftools_sort/.config.vsh.yaml +++ b/target/nextflow/bcftools/bcftools_sort/.config.vsh.yaml @@ -188,13 +188,24 @@ build_info: output: "target/nextflow/bcftools/bcftools_sort" executable: "target/nextflow/bcftools/bcftools_sort/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/bcftools/bcftools_sort/main.nf b/target/nextflow/bcftools/bcftools_sort/main.nf index a9c36975..fc010259 100644 --- a/target/nextflow/bcftools/bcftools_sort/main.nf +++ b/target/nextflow/bcftools/bcftools_sort/main.nf @@ -3278,14 +3278,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/bcftools/bcftools_sort", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/bcftools/bcftools_stats/.config.vsh.yaml b/target/nextflow/bcftools/bcftools_stats/.config.vsh.yaml index b25d656d..c9ef6bc6 100644 --- a/target/nextflow/bcftools/bcftools_stats/.config.vsh.yaml +++ b/target/nextflow/bcftools/bcftools_stats/.config.vsh.yaml @@ -461,13 +461,24 @@ build_info: output: "target/nextflow/bcftools/bcftools_stats" executable: "target/nextflow/bcftools/bcftools_stats/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/bcftools/bcftools_stats/main.nf b/target/nextflow/bcftools/bcftools_stats/main.nf index 1feccf3e..0f650de8 100644 --- a/target/nextflow/bcftools/bcftools_stats/main.nf +++ b/target/nextflow/bcftools/bcftools_stats/main.nf @@ -3567,14 +3567,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/bcftools/bcftools_stats", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/bcl_convert/.config.vsh.yaml b/target/nextflow/bcl_convert/.config.vsh.yaml index f68787b3..c6ca32b9 100644 --- a/target/nextflow/bcl_convert/.config.vsh.yaml +++ b/target/nextflow/bcl_convert/.config.vsh.yaml @@ -431,13 +431,24 @@ build_info: output: "target/nextflow/bcl_convert" executable: "target/nextflow/bcl_convert/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/bcl_convert/main.nf b/target/nextflow/bcl_convert/main.nf index 3cdcd436..f8910fd5 100644 --- a/target/nextflow/bcl_convert/main.nf +++ b/target/nextflow/bcl_convert/main.nf @@ -3571,14 +3571,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/bcl_convert", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/bd_rhapsody/bd_rhapsody_make_reference/.config.vsh.yaml b/target/nextflow/bd_rhapsody/bd_rhapsody_make_reference/.config.vsh.yaml index 60341575..fcf03bb0 100644 --- a/target/nextflow/bd_rhapsody/bd_rhapsody_make_reference/.config.vsh.yaml +++ b/target/nextflow/bd_rhapsody/bd_rhapsody_make_reference/.config.vsh.yaml @@ -277,13 +277,24 @@ build_info: output: "target/nextflow/bd_rhapsody/bd_rhapsody_make_reference" executable: "target/nextflow/bd_rhapsody/bd_rhapsody_make_reference/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/bd_rhapsody/bd_rhapsody_make_reference/main.nf b/target/nextflow/bd_rhapsody/bd_rhapsody_make_reference/main.nf index a47c6562..0307808a 100644 --- a/target/nextflow/bd_rhapsody/bd_rhapsody_make_reference/main.nf +++ b/target/nextflow/bd_rhapsody/bd_rhapsody_make_reference/main.nf @@ -3376,14 +3376,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/bd_rhapsody/bd_rhapsody_make_reference", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/bd_rhapsody/bd_rhapsody_sequence_analysis/.config.vsh.yaml b/target/nextflow/bd_rhapsody/bd_rhapsody_sequence_analysis/.config.vsh.yaml index 30893fb1..3cdd59ed 100644 --- a/target/nextflow/bd_rhapsody/bd_rhapsody_sequence_analysis/.config.vsh.yaml +++ b/target/nextflow/bd_rhapsody/bd_rhapsody_sequence_analysis/.config.vsh.yaml @@ -1118,13 +1118,24 @@ build_info: output: "target/nextflow/bd_rhapsody/bd_rhapsody_sequence_analysis" executable: "target/nextflow/bd_rhapsody/bd_rhapsody_sequence_analysis/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/bd_rhapsody/bd_rhapsody_sequence_analysis/main.nf b/target/nextflow/bd_rhapsody/bd_rhapsody_sequence_analysis/main.nf index 5ffa18a4..5151152b 100644 --- a/target/nextflow/bd_rhapsody/bd_rhapsody_sequence_analysis/main.nf +++ b/target/nextflow/bd_rhapsody/bd_rhapsody_sequence_analysis/main.nf @@ -4423,14 +4423,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/bd_rhapsody/bd_rhapsody_sequence_analysis", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/bedtools/bedtools_bamtobed/.config.vsh.yaml b/target/nextflow/bedtools/bedtools_bamtobed/.config.vsh.yaml index d0a485a5..f7503c34 100644 --- a/target/nextflow/bedtools/bedtools_bamtobed/.config.vsh.yaml +++ b/target/nextflow/bedtools/bedtools_bamtobed/.config.vsh.yaml @@ -238,13 +238,24 @@ build_info: output: "target/nextflow/bedtools/bedtools_bamtobed" executable: "target/nextflow/bedtools/bedtools_bamtobed/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/bedtools/bedtools_bamtobed/main.nf b/target/nextflow/bedtools/bedtools_bamtobed/main.nf index 9affb821..9f50c45d 100644 --- a/target/nextflow/bedtools/bedtools_bamtobed/main.nf +++ b/target/nextflow/bedtools/bedtools_bamtobed/main.nf @@ -3331,14 +3331,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/bedtools/bedtools_bamtobed", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/bedtools/bedtools_bamtofastq/.config.vsh.yaml b/target/nextflow/bedtools/bedtools_bamtofastq/.config.vsh.yaml index 3a8d548e..aeae5e58 100644 --- a/target/nextflow/bedtools/bedtools_bamtofastq/.config.vsh.yaml +++ b/target/nextflow/bedtools/bedtools_bamtofastq/.config.vsh.yaml @@ -190,13 +190,24 @@ build_info: output: "target/nextflow/bedtools/bedtools_bamtofastq" executable: "target/nextflow/bedtools/bedtools_bamtofastq/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/bedtools/bedtools_bamtofastq/main.nf b/target/nextflow/bedtools/bedtools_bamtofastq/main.nf index e0e6964c..1af68d30 100644 --- a/target/nextflow/bedtools/bedtools_bamtofastq/main.nf +++ b/target/nextflow/bedtools/bedtools_bamtofastq/main.nf @@ -3280,14 +3280,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/bedtools/bedtools_bamtofastq", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/bedtools/bedtools_bed12tobed6/.config.vsh.yaml b/target/nextflow/bedtools/bedtools_bed12tobed6/.config.vsh.yaml index 35d5d79e..5bf0ca86 100644 --- a/target/nextflow/bedtools/bedtools_bed12tobed6/.config.vsh.yaml +++ b/target/nextflow/bedtools/bedtools_bed12tobed6/.config.vsh.yaml @@ -179,13 +179,24 @@ build_info: output: "target/nextflow/bedtools/bedtools_bed12tobed6" executable: "target/nextflow/bedtools/bedtools_bed12tobed6/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/bedtools/bedtools_bed12tobed6/main.nf b/target/nextflow/bedtools/bedtools_bed12tobed6/main.nf index 09ac500d..8f216d13 100644 --- a/target/nextflow/bedtools/bedtools_bed12tobed6/main.nf +++ b/target/nextflow/bedtools/bedtools_bed12tobed6/main.nf @@ -3265,14 +3265,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/bedtools/bedtools_bed12tobed6", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/bedtools/bedtools_bedtobam/.config.vsh.yaml b/target/nextflow/bedtools/bedtools_bedtobam/.config.vsh.yaml index 177ed8c3..f4f50d8c 100644 --- a/target/nextflow/bedtools/bedtools_bedtobam/.config.vsh.yaml +++ b/target/nextflow/bedtools/bedtools_bedtobam/.config.vsh.yaml @@ -217,13 +217,24 @@ build_info: output: "target/nextflow/bedtools/bedtools_bedtobam" executable: "target/nextflow/bedtools/bedtools_bedtobam/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/bedtools/bedtools_bedtobam/main.nf b/target/nextflow/bedtools/bedtools_bedtobam/main.nf index 39f2f510..0ec21d15 100644 --- a/target/nextflow/bedtools/bedtools_bedtobam/main.nf +++ b/target/nextflow/bedtools/bedtools_bedtobam/main.nf @@ -3313,14 +3313,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/bedtools/bedtools_bedtobam", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/bedtools/bedtools_genomecov/.config.vsh.yaml b/target/nextflow/bedtools/bedtools_genomecov/.config.vsh.yaml index 8062d5b5..b7a14b5f 100644 --- a/target/nextflow/bedtools/bedtools_genomecov/.config.vsh.yaml +++ b/target/nextflow/bedtools/bedtools_genomecov/.config.vsh.yaml @@ -340,13 +340,24 @@ build_info: output: "target/nextflow/bedtools/bedtools_genomecov" executable: "target/nextflow/bedtools/bedtools_genomecov/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/bedtools/bedtools_genomecov/main.nf b/target/nextflow/bedtools/bedtools_genomecov/main.nf index c64dca24..9bd242fc 100644 --- a/target/nextflow/bedtools/bedtools_genomecov/main.nf +++ b/target/nextflow/bedtools/bedtools_genomecov/main.nf @@ -3437,14 +3437,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/bedtools/bedtools_genomecov", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/bedtools/bedtools_getfasta/.config.vsh.yaml b/target/nextflow/bedtools/bedtools_getfasta/.config.vsh.yaml index 6ebf53be..f0157ee9 100644 --- a/target/nextflow/bedtools/bedtools_getfasta/.config.vsh.yaml +++ b/target/nextflow/bedtools/bedtools_getfasta/.config.vsh.yaml @@ -235,13 +235,24 @@ build_info: output: "target/nextflow/bedtools/bedtools_getfasta" executable: "target/nextflow/bedtools/bedtools_getfasta/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/bedtools/bedtools_getfasta/main.nf b/target/nextflow/bedtools/bedtools_getfasta/main.nf index e7dea91a..9da1f169 100644 --- a/target/nextflow/bedtools/bedtools_getfasta/main.nf +++ b/target/nextflow/bedtools/bedtools_getfasta/main.nf @@ -3316,14 +3316,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/bedtools/bedtools_getfasta", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/bedtools/bedtools_groupby/.config.vsh.yaml b/target/nextflow/bedtools/bedtools_groupby/.config.vsh.yaml index 573ddbd2..2b57a758 100644 --- a/target/nextflow/bedtools/bedtools_groupby/.config.vsh.yaml +++ b/target/nextflow/bedtools/bedtools_groupby/.config.vsh.yaml @@ -276,13 +276,24 @@ build_info: output: "target/nextflow/bedtools/bedtools_groupby" executable: "target/nextflow/bedtools/bedtools_groupby/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/bedtools/bedtools_groupby/main.nf b/target/nextflow/bedtools/bedtools_groupby/main.nf index b16882bc..8b1debc3 100644 --- a/target/nextflow/bedtools/bedtools_groupby/main.nf +++ b/target/nextflow/bedtools/bedtools_groupby/main.nf @@ -3360,14 +3360,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/bedtools/bedtools_groupby", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/bedtools/bedtools_intersect/.config.vsh.yaml b/target/nextflow/bedtools/bedtools_intersect/.config.vsh.yaml index 89734842..e7dc5721 100644 --- a/target/nextflow/bedtools/bedtools_intersect/.config.vsh.yaml +++ b/target/nextflow/bedtools/bedtools_intersect/.config.vsh.yaml @@ -413,13 +413,24 @@ build_info: output: "target/nextflow/bedtools/bedtools_intersect" executable: "target/nextflow/bedtools/bedtools_intersect/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/bedtools/bedtools_intersect/main.nf b/target/nextflow/bedtools/bedtools_intersect/main.nf index e34bfbdd..89a3842c 100644 --- a/target/nextflow/bedtools/bedtools_intersect/main.nf +++ b/target/nextflow/bedtools/bedtools_intersect/main.nf @@ -3512,14 +3512,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/bedtools/bedtools_intersect", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/bedtools/bedtools_links/.config.vsh.yaml b/target/nextflow/bedtools/bedtools_links/.config.vsh.yaml index 004dbf51..80f3c3f9 100644 --- a/target/nextflow/bedtools/bedtools_links/.config.vsh.yaml +++ b/target/nextflow/bedtools/bedtools_links/.config.vsh.yaml @@ -213,13 +213,24 @@ build_info: output: "target/nextflow/bedtools/bedtools_links" executable: "target/nextflow/bedtools/bedtools_links/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/bedtools/bedtools_links/main.nf b/target/nextflow/bedtools/bedtools_links/main.nf index a38d612f..15942d0b 100644 --- a/target/nextflow/bedtools/bedtools_links/main.nf +++ b/target/nextflow/bedtools/bedtools_links/main.nf @@ -3303,14 +3303,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/bedtools/bedtools_links", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/bedtools/bedtools_merge/.config.vsh.yaml b/target/nextflow/bedtools/bedtools_merge/.config.vsh.yaml index 86af3e40..23505e4a 100644 --- a/target/nextflow/bedtools/bedtools_merge/.config.vsh.yaml +++ b/target/nextflow/bedtools/bedtools_merge/.config.vsh.yaml @@ -282,13 +282,24 @@ build_info: output: "target/nextflow/bedtools/bedtools_merge" executable: "target/nextflow/bedtools/bedtools_merge/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/bedtools/bedtools_merge/main.nf b/target/nextflow/bedtools/bedtools_merge/main.nf index e8888b23..b7cc9d6e 100644 --- a/target/nextflow/bedtools/bedtools_merge/main.nf +++ b/target/nextflow/bedtools/bedtools_merge/main.nf @@ -3364,14 +3364,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/bedtools/bedtools_merge", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/bedtools/bedtools_sort/.config.vsh.yaml b/target/nextflow/bedtools/bedtools_sort/.config.vsh.yaml index 28662308..68f0c095 100644 --- a/target/nextflow/bedtools/bedtools_sort/.config.vsh.yaml +++ b/target/nextflow/bedtools/bedtools_sort/.config.vsh.yaml @@ -225,13 +225,24 @@ build_info: output: "target/nextflow/bedtools/bedtools_sort" executable: "target/nextflow/bedtools/bedtools_sort/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/bedtools/bedtools_sort/main.nf b/target/nextflow/bedtools/bedtools_sort/main.nf index 27a6dfda..90bf940f 100644 --- a/target/nextflow/bedtools/bedtools_sort/main.nf +++ b/target/nextflow/bedtools/bedtools_sort/main.nf @@ -3322,14 +3322,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/bedtools/bedtools_sort", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/busco/busco_download_datasets/.config.vsh.yaml b/target/nextflow/busco/busco_download_datasets/.config.vsh.yaml index 6b340030..512c911e 100644 --- a/target/nextflow/busco/busco_download_datasets/.config.vsh.yaml +++ b/target/nextflow/busco/busco_download_datasets/.config.vsh.yaml @@ -161,13 +161,24 @@ build_info: output: "target/nextflow/busco/busco_download_datasets" executable: "target/nextflow/busco/busco_download_datasets/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/busco/busco_download_datasets/main.nf b/target/nextflow/busco/busco_download_datasets/main.nf index ef5063a6..6a98501b 100644 --- a/target/nextflow/busco/busco_download_datasets/main.nf +++ b/target/nextflow/busco/busco_download_datasets/main.nf @@ -3241,14 +3241,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/busco/busco_download_datasets", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/busco/busco_list_datasets/.config.vsh.yaml b/target/nextflow/busco/busco_list_datasets/.config.vsh.yaml index 063c2ef8..c4216f60 100644 --- a/target/nextflow/busco/busco_list_datasets/.config.vsh.yaml +++ b/target/nextflow/busco/busco_list_datasets/.config.vsh.yaml @@ -148,13 +148,24 @@ build_info: output: "target/nextflow/busco/busco_list_datasets" executable: "target/nextflow/busco/busco_list_datasets/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/busco/busco_list_datasets/main.nf b/target/nextflow/busco/busco_list_datasets/main.nf index be474549..97c30d3e 100644 --- a/target/nextflow/busco/busco_list_datasets/main.nf +++ b/target/nextflow/busco/busco_list_datasets/main.nf @@ -3227,14 +3227,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/busco/busco_list_datasets", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/busco/busco_run/.config.vsh.yaml b/target/nextflow/busco/busco_run/.config.vsh.yaml index 126f98e6..f8fed1e8 100644 --- a/target/nextflow/busco/busco_run/.config.vsh.yaml +++ b/target/nextflow/busco/busco_run/.config.vsh.yaml @@ -426,13 +426,24 @@ build_info: output: "target/nextflow/busco/busco_run" executable: "target/nextflow/busco/busco_run/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/busco/busco_run/main.nf b/target/nextflow/busco/busco_run/main.nf index 1a8bd3eb..d8ea9618 100644 --- a/target/nextflow/busco/busco_run/main.nf +++ b/target/nextflow/busco/busco_run/main.nf @@ -3539,14 +3539,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/busco/busco_run", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/cellranger/cellranger_count/.config.vsh.yaml b/target/nextflow/cellranger/cellranger_count/.config.vsh.yaml new file mode 100644 index 00000000..8b3eaa95 --- /dev/null +++ b/target/nextflow/cellranger/cellranger_count/.config.vsh.yaml @@ -0,0 +1,416 @@ +name: "cellranger_count" +namespace: "cellranger" +version: "main" +authors: +- name: "Emma Rousseau" + roles: + - "author" + info: + links: + email: "emma@data-intuitive.com" + github: "emmarousseau" + linkedin: "emmarousseau1" + organizations: + - name: "Data Intuitive" + href: "https://www.data-intuitive.com" + role: "Bioinformatician" +- name: "Robrecht Cannoodt" + roles: + - "author" + 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: "FASTQ inputs" + arguments: + - type: "file" + name: "--fastqs" + description: "The fastq.gz files to align. Can also be a single directory containing\ + \ fastq.gz files." + info: null + example: + - "sample_S1_L001_R1_001.fastq.gz" + - "sample_S1_L001_R2_001.fastq.gz" + must_exist: true + create_parent: true + required: true + direction: "input" + multiple: true + multiple_sep: ";" + - type: "string" + name: "--description" + description: "Sample description to embed in output files" + info: null + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "string" + name: "--sample" + description: "Prefix of the filenames of FASTQs to select" + info: null + example: + - "sample_S1" + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "integer" + name: "--lanes" + description: "Only use FASTQs from selected lanes." + info: null + example: + - 1 + - 2 + - 3 + required: false + direction: "input" + multiple: true + multiple_sep: ";" + - type: "file" + name: "--libraries" + description: "CSV file declaring input library data sources" + info: null + example: + - "libraries.csv" + must_exist: true + create_parent: true + required: false + direction: "input" + multiple: false + multiple_sep: ";" +- name: "Reference inputs" + arguments: + - type: "file" + name: "--transcriptome" + description: "Path of folder containing 10x-compatible transcriptome reference.\ + \ Can also be a `.tar.gz` file." + info: null + example: + - "transcriptome.tar.gz" + must_exist: true + create_parent: true + required: true + direction: "input" + multiple: false + multiple_sep: ";" + - type: "file" + name: "--feature_ref" + description: "Feature reference CSV file, declaring Feature Barcode constructs\ + \ and associated barcodes" + info: null + example: + - "feature_ref.csv" + must_exist: true + create_parent: true + required: false + direction: "input" + multiple: false + multiple_sep: ";" +- name: "Analysis settings" + arguments: + - type: "integer" + name: "--expect_cells" + description: "Expected number of recovered cells, used as input to cell calling\ + \ algorithm." + info: null + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "integer" + name: "--force_cells" + description: "Force pipeline to use this number of cells, bypassing cell calling\ + \ algorithm. Minimum: 10.\n" + info: null + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "integer" + name: "--r1_length" + description: "Hard trim the input Read 1 to this length before analysis" + info: null + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "integer" + name: "--r2_length" + description: "Hard trim the input Read 2 to this length before analysis" + info: null + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "boolean_true" + name: "--include_introns" + description: "Include intronic reads in count. Default: true." + info: null + direction: "input" + - type: "string" + name: "--chemistry" + description: "Assay configuration.\n\nNOTE: by default the assay configuration\ + \ is detected automatically, which is the recommended mode. You usually will\ + \ not need to specify a chemistry. \n\nOptions are:\n\n- `'auto'` for autodetection\n\ + - `'threeprime'` for Single Cell 3'\n- `'fiveprime'` for Single Cell 5'\n- `'SC3Pv1'`\ + \ or `'SC3Pv2'` or `'SC3Pv3'` or `'SC3Pv4'` for\nSingle Cell 3' v1/v2/v3/v4\n\ + - `'SC3Pv3LT'` for Single Cell 3' v3 LT\n- `'SC3Pv3HT'` for Single Cell 3' v3\ + \ HT\n- `'SC5P-PE'` or `'SC5P-PE-v3'` or `'SC5P-R2'` or `'SC5P-R2-v3'` for Single\ + \ Cell 5', paired-end/R2-only\n- `'SC-FB'` for Single Cell Antibody-only 3'\ + \ v2 or 5'\n\nTo analyze the GEX portion of multiome data, chemistry must be\ + \ set to `'ARC-v1'`.\n\nSee the [10x Genomics FAQ](https://kb.10xgenomics.com/hc/en-us/articles/115003764132-How-does-Cell-Ranger-auto-detect-chemistry-)\ + \ for more information on how chemistry is detected.\n" + info: null + example: + - "auto" + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "string" + name: "--cell_annotation_model" + description: "Cell annotation model to use. Valid model names can be viewed by\n\ + running `cellranger cloud annotation models` or on the\n[10x Genomics Support\ + \ site](https://www.10xgenomics.com/support).\n\nIf \"auto\", uses the default\ + \ model for the species.\nIf not provided, does not run cell annotation.\n" + info: null + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "integer" + name: "--min_crispr_umi" + description: "Minimum CRISPR UMI threshold. Default: 3.\n" + info: null + required: false + direction: "input" + multiple: false + multiple_sep: ";" +- name: "Outputs" + arguments: + - type: "file" + name: "--output" + description: "The folder to store the alignment results." + info: null + must_exist: true + create_parent: true + required: true + direction: "output" + multiple: false + multiple_sep: ";" + - type: "boolean_true" + name: "--create_bam" + description: "Enable or disable BAM file generation. Setting this to false\nreduces\ + \ the total computation time and the size of the output\ndirectory (BAM file\ + \ not generated). We recommend setting\nit to true if unsure. See https://10xgen.com/create-bam\ + \ for\nadditional guidance.\n" + info: null + direction: "input" + - type: "boolean_true" + name: "--no_secondary" + description: "Disable secondary analysis, e.g. clustering." + info: null + direction: "input" +- name: "Additional arguments" + arguments: + - type: "boolean_true" + name: "--no_libraries" + description: "Proceed with processing using a `--feature_ref` but no Feature Barcode\ + \ libraries specified with the 'libraries' flag.\n" + info: null + direction: "input" + - type: "boolean_true" + name: "--check_library_compatibility" + description: "Whether to check for barcode compatibility between libraries.\n" + info: null + direction: "input" + - type: "file" + name: "--tenx_cloud_token" + description: "The path to the 10x Cloud Analysis user token used to enable cell\n\ + annotation. If not provided, will default to the location stored\nthrough cellranger\ + \ cloud auth setup.\n" + info: null + must_exist: true + create_parent: true + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "boolean_true" + name: "--dry" + description: "Do not execute the pipeline. Generate a pipeline invocation (.mro)\ + \ file and stop.\n" + info: null + direction: "input" +resources: +- type: "bash_script" + path: "script.sh" + is_executable: true +summary: "Align fastq files using Cell Ranger count." +description: "Count gene expression and/or feature barcode reads from a single sample\ + \ and GEM well\n" +test_resources: +- type: "bash_script" + path: "test.sh" + is_executable: true +info: null +status: "enabled" +scope: + image: "public" + target: "public" +requirements: + commands: + - "ps" +keywords: +- "cellranger" +- "single-cell" +- "rna-seq" +- "alignment" +- "count" +license: "Proprietary" +references: + doi: + - "10.1038/ncomms14049" +links: + repository: "https://github.com/10XGenomics/cellranger/blob/main/bin/sc_rna/count" + homepage: "https://www.10xgenomics.com/support/software/cell-ranger/latest" + documentation: "https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/using/count" + issue_tracker: "https://github.com/10XGenomics/cellranger/issues" +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/nf-core/cellranger:8.0.0" + target_registry: "images.viash-hub.com" + target_tag: "main" + namespace_separator: "/" + setup: + - type: "docker" + run: + - "DEBIAN_FRONTEND=noninteractive apt update && \\\napt upgrade -y && apt install\ + \ -y procps && rm -rf /var/lib/apt/lists/*\n" + - type: "docker" + run: + - "cellranger --version | sed 's/ cellranger-/: /' > /var/software_versions.txt\n" + entrypoint: [] + cmd: null +- type: "native" + id: "native" +build_info: + config: "src/cellranger/cellranger_count/config.vsh.yaml" + runner: "nextflow" + engine: "docker|native" + output: "target/nextflow/cellranger/cellranger_count" + executable: "target/nextflow/cellranger/cellranger_count/main.nf" + viash_version: "0.9.4" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" + git_remote: "https://github.com/viash-hub/biobox" + git_tag: "v0.2.0-35-gb0db228" +package_config: + name: "biobox" + version: "main" + 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 := '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" diff --git a/target/nextflow/cellranger/cellranger_count/main.nf b/target/nextflow/cellranger/cellranger_count/main.nf new file mode 100644 index 00000000..698c4eee --- /dev/null +++ b/target/nextflow/cellranger/cellranger_count/main.nf @@ -0,0 +1,4174 @@ +// cellranger_count main +// +// This wrapper script is auto-generated by viash 0.9.4 and is thus a derivative +// work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data +// Intuitive. +// +// The component may contain files which fall under a different license. The +// authors of this component should specify the license in the header of such +// files, or include a separate license file detailing the licenses of all included +// files. +// +// Component authors: +// * Emma Rousseau (author) +// * Robrecht Cannoodt (author) + +//////////////////////////// +// VDSL3 helper functions // +//////////////////////////// + +// helper file: 'src/main/resources/io/viash/runners/nextflow/arguments/_checkArgumentType.nf' +class UnexpectedArgumentTypeException extends Exception { + String errorIdentifier + String stage + String plainName + String expectedClass + String foundClass + + // ${key ? " in module '$key'" : ""}${id ? " id '$id'" : ""} + UnexpectedArgumentTypeException(String errorIdentifier, String stage, String plainName, String expectedClass, String foundClass) { + super("Error${errorIdentifier ? " $errorIdentifier" : ""}:${stage ? " $stage" : "" } argument '${plainName}' has the wrong type. " + + "Expected type: ${expectedClass}. Found type: ${foundClass}") + this.errorIdentifier = errorIdentifier + this.stage = stage + this.plainName = plainName + this.expectedClass = expectedClass + this.foundClass = foundClass + } +} + +/** + * Checks if the given value is of the expected type. If not, an exception is thrown. + * + * @param stage The stage of the argument (input or output) + * @param par The parameter definition + * @param value The value to check + * @param errorIdentifier The identifier to use in the error message + * @return The value, if it is of the expected type + * @throws UnexpectedArgumentTypeException If the value is not of the expected type +*/ +def _checkArgumentType(String stage, Map par, Object value, String errorIdentifier) { + // expectedClass will only be != null if value is not of the expected type + def expectedClass = null + def foundClass = null + + // todo: split if need be + + if (!par.required && value == null) { + expectedClass = null + } else if (par.multiple) { + if (value !instanceof Collection) { + value = [value] + } + + // split strings + value = value.collectMany{ val -> + if (val instanceof String) { + // collect() to ensure that the result is a List and not simply an array + val.split(par.multiple_sep).collect() + } else { + [val] + } + } + + // process globs + if (par.type == "file" && par.direction == "input") { + value = value.collect{ it instanceof String ? file(it, hidden: true) : it }.flatten() + } + + // check types of elements in list + try { + value = value.collect { listVal -> + _checkArgumentType(stage, par + [multiple: false], listVal, errorIdentifier) + } + } catch (UnexpectedArgumentTypeException e) { + expectedClass = "List[${e.expectedClass}]" + foundClass = "List[${e.foundClass}]" + } + } else if (par.type == "string") { + // cast to string if need be. only cast if the value is a GString + if (value instanceof GString) { + value = value as String + } + expectedClass = value instanceof String ? null : "String" + } else if (par.type == "integer") { + // cast to integer if need be + if (value !instanceof Integer) { + try { + value = value as Integer + } catch (NumberFormatException e) { + expectedClass = "Integer" + } + } + } else if (par.type == "long") { + // cast to long if need be + if (value !instanceof Long) { + try { + value = value as Long + } catch (NumberFormatException e) { + expectedClass = "Long" + } + } + } else if (par.type == "double") { + // cast to double if need be + if (value !instanceof Double) { + try { + value = value as Double + } catch (NumberFormatException e) { + expectedClass = "Double" + } + } + } else if (par.type == "float") { + // cast to float if need be + if (value !instanceof Float) { + try { + value = value as Float + } catch (NumberFormatException e) { + expectedClass = "Float" + } + } + } else if (par.type == "boolean" | par.type == "boolean_true" | par.type == "boolean_false") { + // cast to boolean if need be + if (value !instanceof Boolean) { + try { + value = value as Boolean + } catch (Exception e) { + expectedClass = "Boolean" + } + } + } else if (par.type == "file" && (par.direction == "input" || stage == "output")) { + // cast to path if need be + if (value instanceof String) { + value = file(value, hidden: true) + } + if (value instanceof File) { + value = value.toPath() + } + expectedClass = value instanceof Path ? null : "Path" + } else if (par.type == "file" && stage == "input" && par.direction == "output") { + // cast to string if need be + if (value !instanceof String) { + try { + value = value as String + } catch (Exception e) { + expectedClass = "String" + } + } + } else { + // didn't find a match for par.type + expectedClass = par.type + } + + if (expectedClass != null) { + if (foundClass == null) { + foundClass = value.getClass().getName() + } + throw new UnexpectedArgumentTypeException(errorIdentifier, stage, par.plainName, expectedClass, foundClass) + } + + return value +} +// helper file: 'src/main/resources/io/viash/runners/nextflow/arguments/_processInputValues.nf' +Map _processInputValues(Map inputs, Map config, String id, String key) { + if (!workflow.stubRun) { + config.allArguments.each { arg -> + if (arg.required && arg.direction == "input") { + assert inputs.containsKey(arg.plainName) && inputs.get(arg.plainName) != null : + "Error in module '${key}' id '${id}': required input argument '${arg.plainName}' is missing" + } + } + + inputs = inputs.collectEntries { name, value -> + def par = config.allArguments.find { it.plainName == name && (it.direction == "input" || it.type == "file") } + assert par != null : "Error in module '${key}' id '${id}': '${name}' is not a valid input argument" + + value = _checkArgumentType("input", par, value, "in module '$key' id '$id'") + + [ name, value ] + } + } + return inputs +} + +// helper file: 'src/main/resources/io/viash/runners/nextflow/arguments/_processOutputValues.nf' +Map _checkValidOutputArgument(Map outputs, Map config, String id, String key) { + if (!workflow.stubRun) { + outputs = outputs.collectEntries { name, value -> + def par = config.allArguments.find { it.plainName == name && it.direction == "output" } + assert par != null : "Error in module '${key}' id '${id}': '${name}' is not a valid output argument" + + value = _checkArgumentType("output", par, value, "in module '$key' id '$id'") + + [ name, value ] + } + } + return outputs +} + +void _checkAllRequiredOuputsPresent(Map outputs, Map config, String id, String key) { + if (!workflow.stubRun) { + config.allArguments.each { arg -> + if (arg.direction == "output" && arg.required) { + assert outputs.containsKey(arg.plainName) && outputs.get(arg.plainName) != null : + "Error in module '${key}' id '${id}': required output argument '${arg.plainName}' is missing" + } + } + } +} +// helper file: 'src/main/resources/io/viash/runners/nextflow/channel/IDChecker.nf' +class IDChecker { + final def items = [] as Set + + @groovy.transform.WithWriteLock + boolean observe(String item) { + if (items.contains(item)) { + return false + } else { + items << item + return true + } + } + + @groovy.transform.WithReadLock + boolean contains(String item) { + return items.contains(item) + } + + @groovy.transform.WithReadLock + Set getItems() { + return items.clone() + } +} +// helper file: 'src/main/resources/io/viash/runners/nextflow/channel/_checkUniqueIds.nf' + +/** + * Check if the ids are unique across parameter sets + * + * @param parameterSets a list of parameter sets. + */ +private void _checkUniqueIds(List>> parameterSets) { + def ppIds = parameterSets.collect{it[0]} + assert ppIds.size() == ppIds.unique().size() : "All argument sets should have unique ids. Detected ids: $ppIds" +} + +// helper file: 'src/main/resources/io/viash/runners/nextflow/channel/_getChild.nf' + +// helper functions for reading params from file // +def _getChild(parent, child) { + if (child.contains("://") || java.nio.file.Paths.get(child).isAbsolute()) { + child + } else { + def parentAbsolute = java.nio.file.Paths.get(parent).toAbsolutePath().toString() + parentAbsolute.replaceAll('/[^/]*$', "/") + child + } +} + +// helper file: 'src/main/resources/io/viash/runners/nextflow/channel/_parseParamList.nf' +/** + * Figure out the param list format based on the file extension + * + * @param param_list A String containing the path to the parameter list file. + * + * @return A String containing the format of the parameter list file. + */ +def _paramListGuessFormat(param_list) { + if (param_list !instanceof String) { + "asis" + } else if (param_list.endsWith(".csv")) { + "csv" + } else if (param_list.endsWith(".json") || param_list.endsWith(".jsn")) { + "json" + } else if (param_list.endsWith(".yaml") || param_list.endsWith(".yml")) { + "yaml" + } else { + "yaml_blob" + } +} + + +/** + * Read the param list + * + * @param param_list One of the following: + * - A String containing the path to the parameter list file (csv, json or yaml), + * - A yaml blob of a list of maps (yaml_blob), + * - Or a groovy list of maps (asis). + * @param config A Map of the Viash configuration. + * + * @return A List of Maps containing the parameters. + */ +def _parseParamList(param_list, Map config) { + // first determine format by extension + def paramListFormat = _paramListGuessFormat(param_list) + + def paramListPath = (paramListFormat != "asis" && paramListFormat != "yaml_blob") ? + file(param_list, hidden: true) : + null + + // get the correct parser function for the detected params_list format + def paramSets = [] + if (paramListFormat == "asis") { + paramSets = param_list + } else if (paramListFormat == "yaml_blob") { + paramSets = readYamlBlob(param_list) + } else if (paramListFormat == "yaml") { + paramSets = readYaml(paramListPath) + } else if (paramListFormat == "json") { + paramSets = readJson(paramListPath) + } else if (paramListFormat == "csv") { + paramSets = readCsv(paramListPath) + } else { + error "Format of provided --param_list not recognised.\n" + + "Found: '$paramListFormat'.\n" + + "Expected: a csv file, a json file, a yaml file,\n" + + "a yaml blob or a groovy list of maps." + } + + // data checks + assert paramSets instanceof List: "--param_list should contain a list of maps" + for (value in paramSets) { + assert value instanceof Map: "--param_list should contain a list of maps" + } + + // id is argument + def idIsArgument = config.allArguments.any{it.plainName == "id"} + + // Reformat from List to List> by adding the ID as first element of a Tuple2 + paramSets = paramSets.collect({ data -> + def id = data.id + if (!idIsArgument) { + data = data.findAll{k, v -> k != "id"} + } + [id, data] + }) + + // Split parameters with 'multiple: true' + paramSets = paramSets.collect({ id, data -> + data = _splitParams(data, config) + [id, data] + }) + + // The paths of input files inside a param_list file may have been specified relatively to the + // location of the param_list file. These paths must be made absolute. + if (paramListPath) { + paramSets = paramSets.collect({ id, data -> + def new_data = data.collectEntries{ parName, parValue -> + def par = config.allArguments.find{it.plainName == parName} + if (par && par.type == "file" && par.direction == "input") { + if (parValue instanceof Collection) { + parValue = parValue.collectMany{path -> + def x = _resolveSiblingIfNotAbsolute(path, paramListPath) + x instanceof Collection ? x : [x] + } + } else { + parValue = _resolveSiblingIfNotAbsolute(parValue, paramListPath) + } + } + [parName, parValue] + } + [id, new_data] + }) + } + + return paramSets +} + +// helper file: 'src/main/resources/io/viash/runners/nextflow/channel/_splitParams.nf' +/** + * Split parameters for arguments that accept multiple values using their separator + * + * @param paramList A Map containing parameters to split. + * @param config A Map of the Viash configuration. This Map can be generated from the config file + * using the readConfig() function. + * + * @return A Map of parameters where the parameter values have been split into a list using + * their seperator. + */ +Map _splitParams(Map parValues, Map config){ + def parsedParamValues = parValues.collectEntries { parName, parValue -> + def parameterSettings = config.allArguments.find({it.plainName == parName}) + + if (!parameterSettings) { + // if argument is not found, do not alter + return [parName, parValue] + } + if (parameterSettings.multiple) { // Check if parameter can accept multiple values + if (parValue instanceof Collection) { + parValue = parValue.collect{it instanceof String ? it.split(parameterSettings.multiple_sep) : it } + } else if (parValue instanceof String) { + parValue = parValue.split(parameterSettings.multiple_sep) + } else if (parValue == null) { + parValue = [] + } else { + parValue = [ parValue ] + } + parValue = parValue.flatten() + } + // For all parameters check if multiple values are only passed for + // arguments that allow it. Quietly simplify lists of length 1. + if (!parameterSettings.multiple && parValue instanceof Collection) { + assert parValue.size() == 1 : + "Error: argument ${parName} has too many values.\n" + + " Expected amount: 1. Found: ${parValue.size()}" + parValue = parValue[0] + } + [parName, parValue] + } + return parsedParamValues +} + +// helper file: 'src/main/resources/io/viash/runners/nextflow/channel/channelFromParams.nf' +/** + * Parse nextflow parameters based on settings defined in a viash config. + * Return a list of parameter sets, each parameter set corresponding to + * an event in a nextflow channel. The output from this function can be used + * with Channel.fromList to create a nextflow channel with Vdsl3 formatted + * events. + * + * This function performs: + * - A filtering of the params which can be found in the config file. + * - Process the params_list argument which allows a user to to initialise + * a Vsdl3 channel with multiple parameter sets. Possible formats are + * csv, json, yaml, or simply a yaml_blob. A csv should have column names + * which correspond to the different arguments of this pipeline. A json or a yaml + * file should be a list of maps, each of which has keys corresponding to the + * arguments of the pipeline. A yaml blob can also be passed directly as a parameter. + * When passing a csv, json or yaml, relative path names are relativized to the + * location of the parameter file. + * - Combine the parameter sets into a vdsl3 Channel. + * + * @param params Input parameters. Can optionaly contain a 'param_list' key that + * provides a list of arguments that can be split up into multiple events + * in the output channel possible formats of param_lists are: a csv file, + * json file, a yaml file or a yaml blob. Each parameters set (event) must + * have a unique ID. + * @param config A Map of the Viash configuration. This Map can be generated from the config file + * using the readConfig() function. + * + * @return A list of parameters with the first element of the event being + * the event ID and the second element containing a map of the parsed parameters. + */ + +private List>> _paramsToParamSets(Map params, Map config){ + // todo: fetch key from run args + def key_ = config.name + + /* parse regular parameters (not in param_list) */ + /*************************************************/ + def globalParams = config.allArguments + .findAll { params.containsKey(it.plainName) } + .collectEntries { [ it.plainName, params[it.plainName] ] } + def globalID = params.get("id", null) + + /* process params_list arguments */ + /*********************************/ + def paramList = params.containsKey("param_list") && params.param_list != null ? + params.param_list : [] + // if (paramList instanceof String) { + // paramList = [paramList] + // } + // def paramSets = paramList.collectMany{ _parseParamList(it, config) } + // TODO: be able to process param_list when it is a list of strings + def paramSets = _parseParamList(paramList, config) + if (paramSets.isEmpty()) { + paramSets = [[null, [:]]] + } + + /* combine arguments into channel */ + /**********************************/ + def processedParams = paramSets.indexed().collect{ index, tup -> + // Process ID + def id = tup[0] ?: globalID + + if (workflow.stubRun && !id) { + // if stub run, explicitly add an id if missing + id = "stub${index}" + } + assert id != null: "Each parameter set should have at least an 'id'" + + // Process params + def parValues = globalParams + tup[1] + // // Remove parameters which are null, if the default is also null + // parValues = parValues.collectEntries{paramName, paramValue -> + // parameterSettings = config.functionality.allArguments.find({it.plainName == paramName}) + // if ( paramValue != null || parameterSettings.get("default", null) != null ) { + // [paramName, paramValue] + // } + // } + parValues = parValues.collectEntries { name, value -> + def par = config.allArguments.find { it.plainName == name && (it.direction == "input" || it.type == "file") } + assert par != null : "Error in module '${key_}' id '${id}': '${name}' is not a valid input argument" + + if (par == null) { + return [:] + } + value = _checkArgumentType("input", par, value, "in module '$key_' id '$id'") + + [ name, value ] + } + + [id, parValues] + } + + // Check if ids (first element of each list) is unique + _checkUniqueIds(processedParams) + return processedParams +} + +/** + * Parse nextflow parameters based on settings defined in a viash config + * and return a nextflow channel. + * + * @param params Input parameters. Can optionaly contain a 'param_list' key that + * provides a list of arguments that can be split up into multiple events + * in the output channel possible formats of param_lists are: a csv file, + * json file, a yaml file or a yaml blob. Each parameters set (event) must + * have a unique ID. + * @param config A Map of the Viash configuration. This Map can be generated from the config file + * using the readConfig() function. + * + * @return A nextflow Channel with events. Events are formatted as a tuple that contains + * first contains the ID of the event and as second element holds a parameter map. + * + * + */ +def channelFromParams(Map params, Map config) { + def processedParams = _paramsToParamSets(params, config) + return Channel.fromList(processedParams) +} + +// helper file: 'src/main/resources/io/viash/runners/nextflow/channel/checkUniqueIds.nf' +def checkUniqueIds(Map args) { + def stopOnError = args.stopOnError == null ? args.stopOnError : true + + def idChecker = new IDChecker() + + return filter { tup -> + if (!idChecker.observe(tup[0])) { + if (stopOnError) { + error "Duplicate id: ${tup[0]}" + } else { + log.warn "Duplicate id: ${tup[0]}, removing duplicate entry" + return false + } + } + return true + } +} +// helper file: 'src/main/resources/io/viash/runners/nextflow/channel/preprocessInputs.nf' +// This helper file will be deprecated soon +preprocessInputsDeprecationWarningPrinted = false + +def preprocessInputsDeprecationWarning() { + if (!preprocessInputsDeprecationWarningPrinted) { + preprocessInputsDeprecationWarningPrinted = true + System.err.println("Warning: preprocessInputs() is deprecated and will be removed in Viash 0.9.0.") + } +} + +/** + * Generate a nextflow Workflow that allows processing a channel of + * Vdsl3 formatted events and apply a Viash config to them: + * - Gather default parameters from the Viash config and make + * sure that they are correctly formatted (see applyConfig method). + * - Format the input parameters (also using the applyConfig method). + * - Apply the default parameter to the input parameters. + * - Do some assertions: + * ~ Check if the event IDs in the channel are unique. + * + * The events in the channel are formatted as tuples, with the + * first element of the tuples being a unique id of the parameter set, + * and the second element containg the the parameters themselves. + * Optional extra elements of the tuples will be passed to the output as is. + * + * @param args A map that must contain a 'config' key that points + * to a parsed config (see readConfig()). Optionally, a + * 'key' key can be provided which can be used to create a unique + * name for the workflow process. + * + * @return A workflow that allows processing a channel of Vdsl3 formatted events + * and apply a Viash config to them. + */ +def preprocessInputs(Map args) { + preprocessInputsDeprecationWarning() + + def config = args.config + assert config instanceof Map : + "Error in preprocessInputs: config must be a map. " + + "Expected class: Map. Found: config.getClass() is ${config.getClass()}" + def key_ = args.key ?: config.name + + // Get different parameter types (used throughout this function) + def defaultArgs = config.allArguments + .findAll { it.containsKey("default") } + .collectEntries { [ it.plainName, it.default ] } + + map { tup -> + def id = tup[0] + def data = tup[1] + def passthrough = tup.drop(2) + + def new_data = (defaultArgs + data).collectEntries { name, value -> + def par = config.allArguments.find { it.plainName == name && (it.direction == "input" || it.type == "file") } + + if (par != null) { + value = _checkArgumentType("input", par, value, "in module '$key_' id '$id'") + } + + [ name, value ] + } + + [ id, new_data ] + passthrough + } +} + +// helper file: 'src/main/resources/io/viash/runners/nextflow/channel/runComponents.nf' +/** + * Run a list of components on a stream of data. + * + * @param components: list of Viash VDSL3 modules to run + * @param fromState: a closure, a map or a list of keys to extract from the input data. + * If a closure, it will be called with the id, the data and the component config. + * @param toState: a closure, a map or a list of keys to extract from the output data + * If a closure, it will be called with the id, the output data, the old state and the component config. + * @param filter: filter function to apply to the input. + * It will be called with the id, the data and the component config. + * @param id: id to use for the output data + * If a closure, it will be called with the id, the data and the component config. + * @param auto: auto options to pass to the components + * + * @return: a workflow that runs the components + **/ +def runComponents(Map args) { + log.warn("runComponents is deprecated, use runEach instead") + assert args.components: "runComponents should be passed a list of components to run" + + def components_ = args.components + if (components_ !instanceof List) { + components_ = [ components_ ] + } + assert components_.size() > 0: "pass at least one component to runComponents" + + def fromState_ = args.fromState + def toState_ = args.toState + def filter_ = args.filter + def id_ = args.id + + workflow runComponentsWf { + take: input_ch + main: + + // generate one channel per method + out_chs = components_.collect{ comp_ -> + def comp_config = comp_.config + + def filter_ch = filter_ + ? input_ch | filter{tup -> + filter_(tup[0], tup[1], comp_config) + } + : input_ch + def id_ch = id_ + ? filter_ch | map{tup -> + // def new_id = id_(tup[0], tup[1], comp_config) + def new_id = tup[0] + if (id_ instanceof String) { + new_id = id_ + } else if (id_ instanceof Closure) { + new_id = id_(new_id, tup[1], comp_config) + } + [new_id] + tup.drop(1) + } + : filter_ch + def data_ch = id_ch | map{tup -> + def new_data = tup[1] + if (fromState_ instanceof Map) { + new_data = fromState_.collectEntries{ key0, key1 -> + [key0, new_data[key1]] + } + } else if (fromState_ instanceof List) { + new_data = fromState_.collectEntries{ key -> + [key, new_data[key]] + } + } else if (fromState_ instanceof Closure) { + new_data = fromState_(tup[0], new_data, comp_config) + } + tup.take(1) + [new_data] + tup.drop(1) + } + def out_ch = data_ch + | comp_.run( + auto: (args.auto ?: [:]) + [simplifyInput: false, simplifyOutput: false] + ) + def post_ch = toState_ + ? out_ch | map{tup -> + def output = tup[1] + def old_state = tup[2] + def new_state = null + if (toState_ instanceof Map) { + new_state = old_state + toState_.collectEntries{ key0, key1 -> + [key0, output[key1]] + } + } else if (toState_ instanceof List) { + new_state = old_state + toState_.collectEntries{ key -> + [key, output[key]] + } + } else if (toState_ instanceof Closure) { + new_state = toState_(tup[0], output, old_state, comp_config) + } + [tup[0], new_state] + tup.drop(3) + } + : out_ch + + post_ch + } + + // mix all results + output_ch = + (out_chs.size == 1) + ? out_chs[0] + : out_chs[0].mix(*out_chs.drop(1)) + + emit: output_ch + } + + return runComponentsWf +} + +// helper file: 'src/main/resources/io/viash/runners/nextflow/channel/runEach.nf' +/** + * Run a list of components on a stream of data. + * + * @param components: list of Viash VDSL3 modules to run + * @param fromState: a closure, a map or a list of keys to extract from the input data. + * If a closure, it will be called with the id, the data and the component itself. + * @param toState: a closure, a map or a list of keys to extract from the output data + * If a closure, it will be called with the id, the output data, the old state and the component itself. + * @param filter: filter function to apply to the input. + * It will be called with the id, the data and the component itself. + * @param id: id to use for the output data + * If a closure, it will be called with the id, the data and the component itself. + * @param auto: auto options to pass to the components + * + * @return: a workflow that runs the components + **/ +def runEach(Map args) { + assert args.components: "runEach should be passed a list of components to run" + + def components_ = args.components + if (components_ !instanceof List) { + components_ = [ components_ ] + } + assert components_.size() > 0: "pass at least one component to runEach" + + def fromState_ = args.fromState + def toState_ = args.toState + def filter_ = args.filter + def runIf_ = args.runIf + def id_ = args.id + + assert !runIf_ || runIf_ instanceof Closure: "runEach: must pass a Closure to runIf." + + workflow runEachWf { + take: input_ch + main: + + // generate one channel per method + out_chs = components_.collect{ comp_ -> + def filter_ch = filter_ + ? input_ch | filter{tup -> + filter_(tup[0], tup[1], comp_) + } + : input_ch + def id_ch = id_ + ? filter_ch | map{tup -> + def new_id = id_ + if (new_id instanceof Closure) { + new_id = new_id(tup[0], tup[1], comp_) + } + assert new_id instanceof String : "Error in runEach: id should be a String or a Closure that returns a String. Expected: id instanceof String. Found: ${new_id.getClass()}" + [new_id] + tup.drop(1) + } + : filter_ch + def chPassthrough = null + def chRun = null + if (runIf_) { + def idRunIfBranch = id_ch.branch{ tup -> + run: runIf_(tup[0], tup[1], comp_) + passthrough: true + } + chPassthrough = idRunIfBranch.passthrough + chRun = idRunIfBranch.run + } else { + chRun = id_ch + chPassthrough = Channel.empty() + } + def data_ch = chRun | map{tup -> + def new_data = tup[1] + if (fromState_ instanceof Map) { + new_data = fromState_.collectEntries{ key0, key1 -> + [key0, new_data[key1]] + } + } else if (fromState_ instanceof List) { + new_data = fromState_.collectEntries{ key -> + [key, new_data[key]] + } + } else if (fromState_ instanceof Closure) { + new_data = fromState_(tup[0], new_data, comp_) + } + tup.take(1) + [new_data] + tup.drop(1) + } + def out_ch = data_ch + | comp_.run( + auto: (args.auto ?: [:]) + [simplifyInput: false, simplifyOutput: false] + ) + def post_ch = toState_ + ? out_ch | map{tup -> + def output = tup[1] + def old_state = tup[2] + def new_state = null + if (toState_ instanceof Map) { + new_state = old_state + toState_.collectEntries{ key0, key1 -> + [key0, output[key1]] + } + } else if (toState_ instanceof List) { + new_state = old_state + toState_.collectEntries{ key -> + [key, output[key]] + } + } else if (toState_ instanceof Closure) { + new_state = toState_(tup[0], output, old_state, comp_) + } + [tup[0], new_state] + tup.drop(3) + } + : out_ch + + def return_ch = post_ch + | concat(chPassthrough) + + return_ch + } + + // mix all results + output_ch = + (out_chs.size == 1) + ? out_chs[0] + : out_chs[0].mix(*out_chs.drop(1)) + + emit: output_ch + } + + return runEachWf +} + +// helper file: 'src/main/resources/io/viash/runners/nextflow/channel/safeJoin.nf' +/** + * Join sourceChannel to targetChannel + * + * This function joins the sourceChannel to the targetChannel. + * However, each id in the targetChannel must be present in the + * sourceChannel. If _meta.join_id exists in the targetChannel, that is + * used as an id instead. If the id doesn't match any id in the sourceChannel, + * an error is thrown. + */ + +def safeJoin(targetChannel, sourceChannel, key) { + def sourceIDs = new IDChecker() + + def sourceCheck = sourceChannel + | map { tup -> + sourceIDs.observe(tup[0]) + tup + } + def targetCheck = targetChannel + | map { tup -> + def id = tup[0] + + if (!sourceIDs.contains(id)) { + error ( + "Error in module '${key}' when merging output with original state.\n" + + " Reason: output with id '${id}' could not be joined with source channel.\n" + + " If the IDs in the output channel differ from the input channel,\n" + + " please set `tup[1]._meta.join_id to the original ID.\n" + + " Original IDs in input channel: ['${sourceIDs.getItems().join("', '")}'].\n" + + " Unexpected ID in the output channel: '${id}'.\n" + + " Example input event: [\"id\", [input: file(...)]],\n" + + " Example output event: [\"newid\", [output: file(...), _meta: [join_id: \"id\"]]]" + ) + } + // TODO: add link to our documentation on how to fix this + + tup + } + + sourceCheck.cross(targetChannel) + | map{ left, right -> + right + left.drop(1) + } +} + +// helper file: 'src/main/resources/io/viash/runners/nextflow/config/_processArgument.nf' +def _processArgument(arg) { + arg.multiple = arg.multiple != null ? arg.multiple : false + arg.required = arg.required != null ? arg.required : false + arg.direction = arg.direction != null ? arg.direction : "input" + arg.multiple_sep = arg.multiple_sep != null ? arg.multiple_sep : ";" + arg.plainName = arg.name.replaceAll("^-*", "") + + if (arg.type == "file") { + arg.must_exist = arg.must_exist != null ? arg.must_exist : true + arg.create_parent = arg.create_parent != null ? arg.create_parent : true + } + + // add default values to output files which haven't already got a default + if (arg.type == "file" && arg.direction == "output" && arg.default == null) { + def mult = arg.multiple ? "_*" : "" + def extSearch = "" + if (arg.default != null) { + extSearch = arg.default + } else if (arg.example != null) { + extSearch = arg.example + } + if (extSearch instanceof List) { + extSearch = extSearch[0] + } + def extSearchResult = extSearch.find("\\.[^\\.]+\$") + def ext = extSearchResult != null ? extSearchResult : "" + arg.default = "\$id.\$key.${arg.plainName}${mult}${ext}" + if (arg.multiple) { + arg.default = [arg.default] + } + } + + if (!arg.multiple) { + if (arg.default != null && arg.default instanceof List) { + arg.default = arg.default[0] + } + if (arg.example != null && arg.example instanceof List) { + arg.example = arg.example[0] + } + } + + if (arg.type == "boolean_true") { + arg.default = false + } + if (arg.type == "boolean_false") { + arg.default = true + } + + arg +} + +// helper file: 'src/main/resources/io/viash/runners/nextflow/config/addGlobalParams.nf' +def addGlobalArguments(config) { + def localConfig = [ + "argument_groups": [ + [ + "name": "Nextflow input-output arguments", + "description": "Input/output parameters for Nextflow itself. Please note that both publishDir and publish_dir are supported but at least one has to be configured.", + "arguments" : [ + [ + 'name': '--publish_dir', + 'required': true, + 'type': 'string', + 'description': 'Path to an output directory.', + 'example': 'output/', + 'multiple': false + ], + [ + 'name': '--param_list', + 'required': false, + 'type': 'string', + 'description': '''Allows inputting multiple parameter sets to initialise a Nextflow channel. A `param_list` can either be a list of maps, a csv file, a json file, a yaml file, or simply a yaml blob. + | + |* A list of maps (as-is) where the keys of each map corresponds to the arguments of the pipeline. Example: in a `nextflow.config` file: `param_list: [ ['id': 'foo', 'input': 'foo.txt'], ['id': 'bar', 'input': 'bar.txt'] ]`. + |* A csv file should have column names which correspond to the different arguments of this pipeline. Example: `--param_list data.csv` with columns `id,input`. + |* A json or a yaml file should be a list of maps, each of which has keys corresponding to the arguments of the pipeline. Example: `--param_list data.json` with contents `[ {'id': 'foo', 'input': 'foo.txt'}, {'id': 'bar', 'input': 'bar.txt'} ]`. + |* A yaml blob can also be passed directly as a string. Example: `--param_list "[ {'id': 'foo', 'input': 'foo.txt'}, {'id': 'bar', 'input': 'bar.txt'} ]"`. + | + |When passing a csv, json or yaml file, relative path names are relativized to the location of the parameter file. No relativation is performed when `param_list` is a list of maps (as-is) or a yaml blob.'''.stripMargin(), + 'example': 'my_params.yaml', + 'multiple': false, + 'hidden': true + ] + // TODO: allow multiple: true in param_list? + // TODO: allow to specify a --param_list_regex to filter the param_list? + // TODO: allow to specify a --param_list_from_state to remap entries in the param_list? + ] + ] + ] + ] + + return processConfig(_mergeMap(config, localConfig)) +} + +def _mergeMap(Map lhs, Map rhs) { + return rhs.inject(lhs.clone()) { map, entry -> + if (map[entry.key] instanceof Map && entry.value instanceof Map) { + map[entry.key] = _mergeMap(map[entry.key], entry.value) + } else if (map[entry.key] instanceof Collection && entry.value instanceof Collection) { + map[entry.key] += entry.value + } else { + map[entry.key] = entry.value + } + return map + } +} + +// helper file: 'src/main/resources/io/viash/runners/nextflow/config/generateHelp.nf' +def _generateArgumentHelp(param) { + // alternatives are not supported + // def names = param.alternatives ::: List(param.name) + + def unnamedProps = [ + ["required parameter", param.required], + ["multiple values allowed", param.multiple], + ["output", param.direction.toLowerCase() == "output"], + ["file must exist", param.type == "file" && param.must_exist] + ].findAll{it[1]}.collect{it[0]} + + def dflt = null + if (param.default != null) { + if (param.default instanceof List) { + dflt = param.default.join(param.multiple_sep != null ? param.multiple_sep : ", ") + } else { + dflt = param.default.toString() + } + } + def example = null + if (param.example != null) { + if (param.example instanceof List) { + example = param.example.join(param.multiple_sep != null ? param.multiple_sep : ", ") + } else { + example = param.example.toString() + } + } + def min = param.min?.toString() + def max = param.max?.toString() + + def escapeChoice = { choice -> + def s1 = choice.replaceAll("\\n", "\\\\n") + def s2 = s1.replaceAll("\"", """\\\"""") + s2.contains(",") || s2 != choice ? "\"" + s2 + "\"" : s2 + } + def choices = param.choices == null ? + null : + "[ " + param.choices.collect{escapeChoice(it.toString())}.join(", ") + " ]" + + def namedPropsStr = [ + ["type", ([param.type] + unnamedProps).join(", ")], + ["default", dflt], + ["example", example], + ["choices", choices], + ["min", min], + ["max", max] + ] + .findAll{it[1]} + .collect{"\n " + it[0] + ": " + it[1].replaceAll("\n", "\\n")} + .join("") + + def descStr = param.description == null ? + "" : + _paragraphWrap("\n" + param.description.trim(), 80 - 8).join("\n ") + + "\n --" + param.plainName + + namedPropsStr + + descStr +} + +// Based on Helper.generateHelp() in Helper.scala +def _generateHelp(config) { + def fun = config + + // PART 1: NAME AND VERSION + def nameStr = fun.name + + (fun.version == null ? "" : " " + fun.version) + + // PART 2: DESCRIPTION + def descrStr = fun.description == null ? + "" : + "\n\n" + _paragraphWrap(fun.description.trim(), 80).join("\n") + + // PART 3: Usage + def usageStr = fun.usage == null ? + "" : + "\n\nUsage:\n" + fun.usage.trim() + + // PART 4: Options + def argGroupStrs = fun.allArgumentGroups.collect{argGroup -> + def name = argGroup.name + def descriptionStr = argGroup.description == null ? + "" : + "\n " + _paragraphWrap(argGroup.description.trim(), 80-4).join("\n ") + "\n" + def arguments = argGroup.arguments.collect{arg -> + arg instanceof String ? fun.allArguments.find{it.plainName == arg} : arg + }.findAll{it != null} + def argumentStrs = arguments.collect{param -> _generateArgumentHelp(param)} + + "\n\n$name:" + + descriptionStr + + argumentStrs.join("\n") + } + + // FINAL: combine + def out = nameStr + + descrStr + + usageStr + + argGroupStrs.join("") + + return out +} + +// based on Format._paragraphWrap +def _paragraphWrap(str, maxLength) { + def outLines = [] + str.split("\n").each{par -> + def words = par.split("\\s").toList() + + def word = null + def line = words.pop() + while(!words.isEmpty()) { + word = words.pop() + if (line.length() + word.length() + 1 <= maxLength) { + line = line + " " + word + } else { + outLines.add(line) + line = word + } + } + if (words.isEmpty()) { + outLines.add(line) + } + } + return outLines +} + +def helpMessage(config) { + if (params.containsKey("help") && params.help) { + def mergedConfig = addGlobalArguments(config) + def helpStr = _generateHelp(mergedConfig) + println(helpStr) + exit 0 + } +} + +// helper file: 'src/main/resources/io/viash/runners/nextflow/config/processConfig.nf' +def processConfig(config) { + // set defaults for arguments + config.arguments = + (config.arguments ?: []).collect{_processArgument(it)} + + // set defaults for argument_group arguments + config.argument_groups = + (config.argument_groups ?: []).collect{grp -> + grp.arguments = (grp.arguments ?: []).collect{_processArgument(it)} + grp + } + + // create combined arguments list + config.allArguments = + config.arguments + + config.argument_groups.collectMany{it.arguments} + + // add missing argument groups (based on Functionality::allArgumentGroups()) + def argGroups = config.argument_groups + if (argGroups.any{it.name.toLowerCase() == "arguments"}) { + argGroups = argGroups.collect{ grp -> + if (grp.name.toLowerCase() == "arguments") { + grp = grp + [ + arguments: grp.arguments + config.arguments + ] + } + grp + } + } else { + argGroups = argGroups + [ + name: "Arguments", + arguments: config.arguments + ] + } + config.allArgumentGroups = argGroups + + config +} + +// helper file: 'src/main/resources/io/viash/runners/nextflow/config/readConfig.nf' + +def readConfig(file) { + def config = readYaml(file ?: moduleDir.resolve("config.vsh.yaml")) + processConfig(config) +} + +// helper file: 'src/main/resources/io/viash/runners/nextflow/functions/_resolveSiblingIfNotAbsolute.nf' +/** + * Resolve a path relative to the current file. + * + * @param str The path to resolve, as a String. + * @param parentPath The path to resolve relative to, as a Path. + * + * @return The path that may have been resovled, as a Path. + */ +def _resolveSiblingIfNotAbsolute(str, parentPath) { + if (str !instanceof String) { + return str + } + if (!_stringIsAbsolutePath(str)) { + return parentPath.resolveSibling(str) + } else { + return file(str, hidden: true) + } +} + +// helper file: 'src/main/resources/io/viash/runners/nextflow/functions/_stringIsAbsolutePath.nf' +/** + * Check whether a path as a string is absolute. + * + * In the past, we tried using `file(., relative: true).isAbsolute()`, + * but the 'relative' option was added in 22.10.0. + * + * @param path The path to check, as a String. + * + * @return Whether the path is absolute, as a boolean. + */ +def _stringIsAbsolutePath(path) { + def _resolve_URL_PROTOCOL = ~/^([a-zA-Z][a-zA-Z0-9]*:)?\\/.+/ + + assert path instanceof String + return _resolve_URL_PROTOCOL.matcher(path).matches() +} + +// helper file: 'src/main/resources/io/viash/runners/nextflow/functions/collectTraces.nf' +class CustomTraceObserver implements nextflow.trace.TraceObserver { + List traces + + CustomTraceObserver(List traces) { + this.traces = traces + } + + @Override + void onProcessComplete(nextflow.processor.TaskHandler handler, nextflow.trace.TraceRecord trace) { + def trace2 = trace.store.clone() + trace2.script = null + traces.add(trace2) + } + + @Override + void onProcessCached(nextflow.processor.TaskHandler handler, nextflow.trace.TraceRecord trace) { + def trace2 = trace.store.clone() + trace2.script = null + traces.add(trace2) + } +} + +def collectTraces() { + def traces = Collections.synchronizedList([]) + + // add custom trace observer which stores traces in the traces object + session.observers.add(new CustomTraceObserver(traces)) + + traces +} + +// helper file: 'src/main/resources/io/viash/runners/nextflow/functions/deepClone.nf' +/** + * Performs a deep clone of the given object. + * @param x an object + */ +def deepClone(x) { + iterateMap(x, {it instanceof Cloneable ? it.clone() : it}) +} +// helper file: 'src/main/resources/io/viash/runners/nextflow/functions/getPublishDir.nf' +def getPublishDir() { + return params.containsKey("publish_dir") ? params.publish_dir : + params.containsKey("publishDir") ? params.publishDir : + null +} + +// helper file: 'src/main/resources/io/viash/runners/nextflow/functions/getRootDir.nf' + +// Recurse upwards until we find a '.build.yaml' file +def _findBuildYamlFile(pathPossiblySymlink) { + def path = pathPossiblySymlink.toRealPath() + def child = path.resolve(".build.yaml") + if (java.nio.file.Files.isDirectory(path) && java.nio.file.Files.exists(child)) { + return child + } else { + def parent = path.getParent() + if (parent == null) { + return null + } else { + return _findBuildYamlFile(parent) + } + } +} + +// get the root of the target folder +def getRootDir() { + def dir = _findBuildYamlFile(meta.resources_dir) + assert dir != null: "Could not find .build.yaml in the folder structure" + dir.getParent() +} + +// helper file: 'src/main/resources/io/viash/runners/nextflow/functions/iterateMap.nf' +/** + * Recursively apply a function over the leaves of an object. + * @param obj The object to iterate over. + * @param fun The function to apply to each value. + * @return The object with the function applied to each value. + */ +def iterateMap(obj, fun) { + if (obj instanceof List && obj !instanceof String) { + return obj.collect{item -> + iterateMap(item, fun) + } + } else if (obj instanceof Map) { + return obj.collectEntries{key, item -> + [key.toString(), iterateMap(item, fun)] + } + } else { + return fun(obj) + } +} + +// helper file: 'src/main/resources/io/viash/runners/nextflow/functions/niceView.nf' +/** + * A view for printing the event of each channel as a YAML blob. + * This is useful for debugging. + */ +def niceView() { + workflow niceViewWf { + take: input + main: + output = input + | view{toYamlBlob(it)} + emit: output + } + return niceViewWf +} + +// helper file: 'src/main/resources/io/viash/runners/nextflow/readwrite/readCsv.nf' + +def readCsv(file_path) { + def output = [] + def inputFile = file_path !instanceof Path ? file(file_path, hidden: true) : file_path + + // todo: allow escaped quotes in string + // todo: allow single quotes? + def splitRegex = java.util.regex.Pattern.compile(''',(?=(?:[^"]*"[^"]*")*[^"]*$)''') + def removeQuote = java.util.regex.Pattern.compile('''"(.*)"''') + + def br = java.nio.file.Files.newBufferedReader(inputFile) + + def row = -1 + def header = null + while (br.ready() && header == null) { + def line = br.readLine() + row++ + if (!line.startsWith("#")) { + header = splitRegex.split(line, -1).collect{field -> + m = removeQuote.matcher(field) + m.find() ? m.replaceFirst('$1') : field + } + } + } + assert header != null: "CSV file should contain a header" + + while (br.ready()) { + def line = br.readLine() + row++ + if (line == null) { + br.close() + break + } + + if (!line.startsWith("#")) { + def predata = splitRegex.split(line, -1) + def data = predata.collect{field -> + if (field == "") { + return null + } + def m = removeQuote.matcher(field) + if (m.find()) { + return m.replaceFirst('$1') + } else { + return field + } + } + assert header.size() == data.size(): "Row $row should contain the same number as fields as the header" + + def dataMap = [header, data].transpose().collectEntries().findAll{it.value != null} + output.add(dataMap) + } + } + + output +} + +// helper file: 'src/main/resources/io/viash/runners/nextflow/readwrite/readJson.nf' +def readJson(file_path) { + def inputFile = file_path !instanceof Path ? file(file_path, hidden: true) : file_path + def jsonSlurper = new groovy.json.JsonSlurper() + jsonSlurper.parse(inputFile) +} + +// helper file: 'src/main/resources/io/viash/runners/nextflow/readwrite/readJsonBlob.nf' +def readJsonBlob(str) { + def jsonSlurper = new groovy.json.JsonSlurper() + jsonSlurper.parseText(str) +} + +// helper file: 'src/main/resources/io/viash/runners/nextflow/readwrite/readTaggedYaml.nf' +// Custom constructor to modify how certain objects are parsed from YAML +class CustomConstructor extends org.yaml.snakeyaml.constructor.Constructor { + Path root + + class ConstructPath extends org.yaml.snakeyaml.constructor.AbstractConstruct { + public Object construct(org.yaml.snakeyaml.nodes.Node node) { + String filename = (String) constructScalar(node); + if (root != null) { + return root.resolve(filename); + } + return java.nio.file.Paths.get(filename); + } + } + + CustomConstructor(org.yaml.snakeyaml.LoaderOptions options, Path root) { + super(options) + this.root = root + // Handling !file tag and parse it back to a File type + this.yamlConstructors.put(new org.yaml.snakeyaml.nodes.Tag("!file"), new ConstructPath()) + } +} + +def readTaggedYaml(Path path) { + def options = new org.yaml.snakeyaml.LoaderOptions() + def constructor = new CustomConstructor(options, path.getParent()) + def yaml = new org.yaml.snakeyaml.Yaml(constructor) + return yaml.load(path.text) +} + +// helper file: 'src/main/resources/io/viash/runners/nextflow/readwrite/readYaml.nf' +def readYaml(file_path) { + def inputFile = file_path !instanceof Path ? file(file_path, hidden: true) : file_path + def yamlSlurper = new org.yaml.snakeyaml.Yaml() + yamlSlurper.load(inputFile) +} + +// helper file: 'src/main/resources/io/viash/runners/nextflow/readwrite/readYamlBlob.nf' +def readYamlBlob(str) { + def yamlSlurper = new org.yaml.snakeyaml.Yaml() + yamlSlurper.load(str) +} + +// helper file: 'src/main/resources/io/viash/runners/nextflow/readwrite/toJsonBlob.nf' +String toJsonBlob(data) { + return groovy.json.JsonOutput.toJson(data) +} + +// helper file: 'src/main/resources/io/viash/runners/nextflow/readwrite/toTaggedYamlBlob.nf' +// Custom representer to modify how certain objects are represented in YAML +class CustomRepresenter extends org.yaml.snakeyaml.representer.Representer { + Path relativizer + + class RepresentPath implements org.yaml.snakeyaml.representer.Represent { + public String getFileName(Object obj) { + if (obj instanceof File) { + obj = ((File) obj).toPath(); + } + if (obj !instanceof Path) { + throw new IllegalArgumentException("Object: " + obj + " is not a Path or File"); + } + def path = (Path) obj; + + if (relativizer != null) { + return relativizer.relativize(path).toString() + } else { + return path.toString() + } + } + + public org.yaml.snakeyaml.nodes.Node representData(Object data) { + String filename = getFileName(data); + def tag = new org.yaml.snakeyaml.nodes.Tag("!file"); + return representScalar(tag, filename); + } + } + CustomRepresenter(org.yaml.snakeyaml.DumperOptions options, Path relativizer) { + super(options) + this.relativizer = relativizer + this.representers.put(sun.nio.fs.UnixPath, new RepresentPath()) + this.representers.put(Path, new RepresentPath()) + this.representers.put(File, new RepresentPath()) + } +} + +String toTaggedYamlBlob(data) { + return toRelativeTaggedYamlBlob(data, null) +} +String toRelativeTaggedYamlBlob(data, Path relativizer) { + def options = new org.yaml.snakeyaml.DumperOptions() + options.setDefaultFlowStyle(org.yaml.snakeyaml.DumperOptions.FlowStyle.BLOCK) + def representer = new CustomRepresenter(options, relativizer) + def yaml = new org.yaml.snakeyaml.Yaml(representer, options) + return yaml.dump(data) +} + +// helper file: 'src/main/resources/io/viash/runners/nextflow/readwrite/toYamlBlob.nf' +String toYamlBlob(data) { + def options = new org.yaml.snakeyaml.DumperOptions() + options.setDefaultFlowStyle(org.yaml.snakeyaml.DumperOptions.FlowStyle.BLOCK) + options.setPrettyFlow(true) + def yaml = new org.yaml.snakeyaml.Yaml(options) + def cleanData = iterateMap(data, { it instanceof Path ? it.toString() : it }) + return yaml.dump(cleanData) +} + +// helper file: 'src/main/resources/io/viash/runners/nextflow/readwrite/writeJson.nf' +void writeJson(data, file) { + assert data: "writeJson: data should not be null" + assert file: "writeJson: file should not be null" + file.write(toJsonBlob(data)) +} + +// helper file: 'src/main/resources/io/viash/runners/nextflow/readwrite/writeYaml.nf' +void writeYaml(data, file) { + assert data: "writeYaml: data should not be null" + assert file: "writeYaml: file should not be null" + file.write(toYamlBlob(data)) +} + +// helper file: 'src/main/resources/io/viash/runners/nextflow/states/findStates.nf' +def findStates(Map params, Map config) { + def auto_config = deepClone(config) + def auto_params = deepClone(params) + + auto_config = auto_config.clone() + // override arguments + auto_config.argument_groups = [] + auto_config.arguments = [ + [ + type: "string", + name: "--id", + description: "A dummy identifier", + required: false + ], + [ + type: "file", + name: "--input_states", + example: "/path/to/input/directory/**/state.yaml", + description: "Path to input directory containing the datasets to be integrated.", + required: true, + multiple: true, + multiple_sep: ";" + ], + [ + type: "string", + name: "--filter", + example: "foo/.*/state.yaml", + description: "Regex to filter state files by path.", + required: false + ], + // to do: make this a yaml blob? + [ + type: "string", + name: "--rename_keys", + example: ["newKey1:oldKey1", "newKey2:oldKey2"], + description: "Rename keys in the detected input files. This is useful if the input files do not match the set of input arguments of the workflow.", + required: false, + multiple: true, + multiple_sep: ";" + ], + [ + type: "string", + name: "--settings", + example: '{"output_dataset": "dataset.h5ad", "k": 10}', + description: "Global arguments as a JSON glob to be passed to all components.", + required: false + ] + ] + if (!(auto_params.containsKey("id"))) { + auto_params["id"] = "auto" + } + + // run auto config through processConfig once more + auto_config = processConfig(auto_config) + + workflow findStatesWf { + helpMessage(auto_config) + + output_ch = + channelFromParams(auto_params, auto_config) + | flatMap { autoId, args -> + + def globalSettings = args.settings ? readYamlBlob(args.settings) : [:] + + // look for state files in input dir + def stateFiles = args.input_states + + // filter state files by regex + if (args.filter) { + stateFiles = stateFiles.findAll{ stateFile -> + def stateFileStr = stateFile.toString() + def matcher = stateFileStr =~ args.filter + matcher.matches()} + } + + // read in states + def states = stateFiles.collect { stateFile -> + def state_ = readTaggedYaml(stateFile) + [state_.id, state_] + } + + // construct renameMap + if (args.rename_keys) { + def renameMap = args.rename_keys.collectEntries{renameString -> + def split = renameString.split(":") + assert split.size() == 2: "Argument 'rename_keys' should be of the form 'newKey:oldKey', or 'newKey:oldKey;newKey:oldKey' in case of multiple values" + split + } + + // rename keys in state, only let states through which have all keys + // also add global settings + states = states.collectMany{id, state -> + def newState = [:] + + for (key in renameMap.keySet()) { + def origKey = renameMap[key] + if (!(state.containsKey(origKey))) { + return [] + } + newState[key] = state[origKey] + } + + [[id, globalSettings + newState]] + } + } + + states + } + emit: + output_ch + } + + return findStatesWf +} + +// helper file: 'src/main/resources/io/viash/runners/nextflow/states/joinStates.nf' +def joinStates(Closure apply_) { + workflow joinStatesWf { + take: input_ch + main: + output_ch = input_ch + | toSortedList + | filter{ it.size() > 0 } + | map{ tups -> + def ids = tups.collect{it[0]} + def states = tups.collect{it[1]} + apply_(ids, states) + } + + emit: output_ch + } + return joinStatesWf +} +// helper file: 'src/main/resources/io/viash/runners/nextflow/states/publishFiles.nf' +def publishFiles(Map args) { + def key_ = args.get("key") + + assert key_ != null : "publishFiles: key must be specified" + + workflow publishFilesWf { + take: input_ch + main: + input_ch + | map { tup -> + def id_ = tup[0] + def state_ = tup[1] + + // the input files and the target output filenames + def inputoutputFilenames_ = collectInputOutputPaths(state_, id_ + "." + key_).transpose() + def inputFiles_ = inputoutputFilenames_[0] + def outputFilenames_ = inputoutputFilenames_[1] + + [id_, inputFiles_, outputFilenames_] + } + | publishFilesProc + emit: input_ch + } + return publishFilesWf +} + +process publishFilesProc { + // todo: check publishpath? + publishDir path: "${getPublishDir()}/", mode: "copy" + tag "$id" + input: + tuple val(id), path(inputFiles, stageAs: "_inputfile?/*"), val(outputFiles) + output: + tuple val(id), path{outputFiles} + script: + def copyCommands = [ + inputFiles instanceof List ? inputFiles : [inputFiles], + outputFiles instanceof List ? outputFiles : [outputFiles] + ] + .transpose() + .collectMany{infile, outfile -> + if (infile.toString() != outfile.toString()) { + [ + "[ -d \"\$(dirname '${outfile.toString()}')\" ] || mkdir -p \"\$(dirname '${outfile.toString()}')\"", + "cp -r '${infile.toString()}' '${outfile.toString()}'" + ] + } else { + // no need to copy if infile is the same as outfile + [] + } + } + """ + echo "Copying output files to destination folder" + ${copyCommands.join("\n ")} + """ +} + + +// this assumes that the state contains no other values other than those specified in the config +def publishFilesByConfig(Map args) { + def config = args.get("config") + assert config != null : "publishFilesByConfig: config must be specified" + + def key_ = args.get("key", config.name) + assert key_ != null : "publishFilesByConfig: key must be specified" + + workflow publishFilesSimpleWf { + take: input_ch + main: + input_ch + | map { tup -> + def id_ = tup[0] + def state_ = tup[1] // e.g. [output: new File("myoutput.h5ad"), k: 10] + def origState_ = tup[2] // e.g. [output: '$id.$key.foo.h5ad'] + + + // the processed state is a list of [key, value, inputPath, outputFilename] tuples, where + // - key is a String + // - value is any object that can be serialized to a Yaml (so a String/Integer/Long/Double/Boolean, a List, a Map, or a Path) + // - inputPath is a List[Path] + // - outputFilename is a List[String] + // - (inputPath, outputFilename) are the files that will be copied from src to dest (relative to the state.yaml) + def processedState = + config.allArguments + .findAll { it.direction == "output" } + .collectMany { par -> + def plainName_ = par.plainName + // if the state does not contain the key, it's an + // optional argument for which the component did + // not generate any output OR multiple channels were emitted + // and the output was just not added to using the channel + // that is now being parsed + if (!state_.containsKey(plainName_)) { + return [] + } + def value = state_[plainName_] + // if the parameter is not a file, it should be stored + // in the state as-is, but is not something that needs + // to be copied from the source path to the dest path + if (par.type != "file") { + return [[inputPath: [], outputFilename: []]] + } + // if the orig state does not contain this filename, + // it's an optional argument for which the user specified + // that it should not be returned as a state + if (!origState_.containsKey(plainName_)) { + return [] + } + def filenameTemplate = origState_[plainName_] + // if the pararameter is multiple: true, fetch the template + if (par.multiple && filenameTemplate instanceof List) { + filenameTemplate = filenameTemplate[0] + } + // instantiate the template + def filename = filenameTemplate + .replaceAll('\\$id', id_) + .replaceAll('\\$\\{id\\}', id_) + .replaceAll('\\$key', key_) + .replaceAll('\\$\\{key\\}', key_) + if (par.multiple) { + // if the parameter is multiple: true, the filename + // should contain a wildcard '*' that is replaced with + // the index of the file + assert filename.contains("*") : "Module '${key_}' id '${id_}': Multiple output files specified, but no wildcard '*' in the filename: ${filename}" + def outputPerFile = value.withIndex().collect{ val, ix -> + def filename_ix = filename.replace("*", ix.toString()) + def inputPath = val instanceof File ? val.toPath() : val + [inputPath: inputPath, outputFilename: filename_ix] + } + def transposedOutputs = ["inputPath", "outputFilename"].collectEntries{ key -> + [key, outputPerFile.collect{dic -> dic[key]}] + } + return [[key: plainName_] + transposedOutputs] + } else { + def value_ = java.nio.file.Paths.get(filename) + def inputPath = value instanceof File ? value.toPath() : value + return [[inputPath: [inputPath], outputFilename: [filename]]] + } + } + + def inputPaths = processedState.collectMany{it.inputPath} + def outputFilenames = processedState.collectMany{it.outputFilename} + + + [id_, inputPaths, outputFilenames] + } + | publishFilesProc + emit: input_ch + } + return publishFilesSimpleWf +} + + + + +// helper file: 'src/main/resources/io/viash/runners/nextflow/states/publishStates.nf' +def collectFiles(obj) { + if (obj instanceof java.io.File || obj instanceof Path) { + return [obj] + } else if (obj instanceof List && obj !instanceof String) { + return obj.collectMany{item -> + collectFiles(item) + } + } else if (obj instanceof Map) { + return obj.collectMany{key, item -> + collectFiles(item) + } + } else { + return [] + } +} + +/** + * Recurse through a state and collect all input files and their target output filenames. + * @param obj The state to recurse through. + * @param prefix The prefix to prepend to the output filenames. + */ +def collectInputOutputPaths(obj, prefix) { + if (obj instanceof File || obj instanceof Path) { + def path = obj instanceof Path ? obj : obj.toPath() + def ext = path.getFileName().toString().find("\\.[^\\.]+\$") ?: "" + def newFilename = prefix + ext + return [[obj, newFilename]] + } else if (obj instanceof List && obj !instanceof String) { + return obj.withIndex().collectMany{item, ix -> + collectInputOutputPaths(item, prefix + "_" + ix) + } + } else if (obj instanceof Map) { + return obj.collectMany{key, item -> + collectInputOutputPaths(item, prefix + "." + key) + } + } else { + return [] + } +} + +def publishStates(Map args) { + def key_ = args.get("key") + def yamlTemplate_ = args.get("output_state", args.get("outputState", '$id.$key.state.yaml')) + + assert key_ != null : "publishStates: key must be specified" + + workflow publishStatesWf { + take: input_ch + main: + input_ch + | map { tup -> + def id_ = tup[0] + def state_ = tup[1] + + // the input files and the target output filenames + def inputoutputFilenames_ = collectInputOutputPaths(state_, id_ + "." + key_).transpose() + + def yamlFilename = yamlTemplate_ + .replaceAll('\\$id', id_) + .replaceAll('\\$\\{id\\}', id_) + .replaceAll('\\$key', key_) + .replaceAll('\\$\\{key\\}', key_) + + // TODO: do the pathnames in state_ match up with the outputFilenames_? + + // convert state to yaml blob + def yamlBlob_ = toRelativeTaggedYamlBlob([id: id_] + state_, java.nio.file.Paths.get(yamlFilename)) + + [id_, yamlBlob_, yamlFilename] + } + | publishStatesProc + emit: input_ch + } + return publishStatesWf +} +process publishStatesProc { + // todo: check publishpath? + publishDir path: "${getPublishDir()}/", mode: "copy" + tag "$id" + input: + tuple val(id), val(yamlBlob), val(yamlFile) + output: + tuple val(id), path{[yamlFile]} + script: + """ + mkdir -p "\$(dirname '${yamlFile}')" + echo "Storing state as yaml" + cat > '${yamlFile}' << HERE +${yamlBlob} +HERE + """ +} + + +// this assumes that the state contains no other values other than those specified in the config +def publishStatesByConfig(Map args) { + def config = args.get("config") + assert config != null : "publishStatesByConfig: config must be specified" + + def key_ = args.get("key", config.name) + assert key_ != null : "publishStatesByConfig: key must be specified" + + workflow publishStatesSimpleWf { + take: input_ch + main: + input_ch + | map { tup -> + def id_ = tup[0] + def state_ = tup[1] // e.g. [output: new File("myoutput.h5ad"), k: 10] + def origState_ = tup[2] // e.g. [output: '$id.$key.foo.h5ad'] + + // TODO: allow overriding the state.yaml template + // TODO TODO: if auto.publish == "state", add output_state as an argument + def yamlTemplate = params.containsKey("output_state") ? params.output_state : '$id.$key.state.yaml' + def yamlFilename = yamlTemplate + .replaceAll('\\$id', id_) + .replaceAll('\\$\\{id\\}', id_) + .replaceAll('\\$key', key_) + .replaceAll('\\$\\{key\\}', key_) + def yamlDir = java.nio.file.Paths.get(yamlFilename).getParent() + + // the processed state is a list of [key, value] tuples, where + // - key is a String + // - value is any object that can be serialized to a Yaml (so a String/Integer/Long/Double/Boolean, a List, a Map, or a Path) + // - (key, value) are the tuples that will be saved to the state.yaml file + def processedState = + config.allArguments + .findAll { it.direction == "output" } + .collectMany { par -> + def plainName_ = par.plainName + // if the state does not contain the key, it's an + // optional argument for which the component did + // not generate any output + if (!state_.containsKey(plainName_)) { + return [] + } + def value = state_[plainName_] + // if the parameter is not a file, it should be stored + // in the state as-is, but is not something that needs + // to be copied from the source path to the dest path + if (par.type != "file") { + return [[key: plainName_, value: value]] + } + // if the orig state does not contain this filename, + // it's an optional argument for which the user specified + // that it should not be returned as a state + if (!origState_.containsKey(plainName_)) { + return [] + } + def filenameTemplate = origState_[plainName_] + // if the pararameter is multiple: true, fetch the template + if (par.multiple && filenameTemplate instanceof List) { + filenameTemplate = filenameTemplate[0] + } + // instantiate the template + def filename = filenameTemplate + .replaceAll('\\$id', id_) + .replaceAll('\\$\\{id\\}', id_) + .replaceAll('\\$key', key_) + .replaceAll('\\$\\{key\\}', key_) + if (par.multiple) { + // if the parameter is multiple: true, the filename + // should contain a wildcard '*' that is replaced with + // the index of the file + assert filename.contains("*") : "Module '${key_}' id '${id_}': Multiple output files specified, but no wildcard '*' in the filename: ${filename}" + def outputPerFile = value.withIndex().collect{ val, ix -> + def filename_ix = filename.replace("*", ix.toString()) + def value_ = java.nio.file.Paths.get(filename_ix) + // if id contains a slash + if (yamlDir != null) { + value_ = yamlDir.relativize(value_) + } + return value_ + } + return [["key": plainName_, "value": outputPerFile]] + } else { + def value_ = java.nio.file.Paths.get(filename) + // if id contains a slash + if (yamlDir != null) { + value_ = yamlDir.relativize(value_) + } + def inputPath = value instanceof File ? value.toPath() : value + return [["key": plainName_, value: value_]] + } + } + + + def updatedState_ = processedState.collectEntries{[it.key, it.value]} + + // convert state to yaml blob + def yamlBlob_ = toTaggedYamlBlob([id: id_] + updatedState_) + + [id_, yamlBlob_, yamlFilename] + } + | publishStatesProc + emit: input_ch + } + return publishStatesSimpleWf +} + +// helper file: 'src/main/resources/io/viash/runners/nextflow/states/setState.nf' +def setState(fun) { + assert fun instanceof Closure || fun instanceof Map || fun instanceof List : + "Error in setState: Expected process argument to be a Closure, a Map, or a List. Found: class ${fun.getClass()}" + + // if fun is a List, convert to map + if (fun instanceof List) { + // check whether fun is a list[string] + assert fun.every{it instanceof CharSequence} : "Error in setState: argument is a List, but not all elements are Strings" + fun = fun.collectEntries{[it, it]} + } + + // if fun is a map, convert to closure + if (fun instanceof Map) { + // check whether fun is a map[string, string] + assert fun.values().every{it instanceof CharSequence} : "Error in setState: argument is a Map, but not all values are Strings" + assert fun.keySet().every{it instanceof CharSequence} : "Error in setState: argument is a Map, but not all keys are Strings" + def funMap = fun.clone() + // turn the map into a closure to be used later on + fun = { id_, state_ -> + assert state_ instanceof Map : "Error in setState: the state is not a Map" + funMap.collectMany{newkey, origkey -> + if (state_.containsKey(origkey)) { + [[newkey, state_[origkey]]] + } else { + [] + } + }.collectEntries() + } + } + + map { tup -> + def id = tup[0] + def state = tup[1] + def unfilteredState = fun(id, state) + def newState = unfilteredState.findAll{key, val -> val != null} + [id, newState] + tup.drop(2) + } +} + +// helper file: 'src/main/resources/io/viash/runners/nextflow/workflowFactory/processAuto.nf' +// TODO: unit test processAuto +def processAuto(Map auto) { + // remove null values + auto = auto.findAll{k, v -> v != null} + + // check for unexpected keys + def expectedKeys = ["simplifyInput", "simplifyOutput", "transcript", "publish"] + def unexpectedKeys = auto.keySet() - expectedKeys + assert unexpectedKeys.isEmpty(), "unexpected keys in auto: '${unexpectedKeys.join("', '")}'" + + // check auto.simplifyInput + assert auto.simplifyInput instanceof Boolean, "auto.simplifyInput must be a boolean" + + // check auto.simplifyOutput + assert auto.simplifyOutput instanceof Boolean, "auto.simplifyOutput must be a boolean" + + // check auto.transcript + assert auto.transcript instanceof Boolean, "auto.transcript must be a boolean" + + // check auto.publish + assert auto.publish instanceof Boolean || auto.publish == "state", "auto.publish must be a boolean or 'state'" + + return auto.subMap(expectedKeys) +} + +// helper file: 'src/main/resources/io/viash/runners/nextflow/workflowFactory/processDirectives.nf' +def assertMapKeys(map, expectedKeys, requiredKeys, mapName) { + assert map instanceof Map : "Expected argument '$mapName' to be a Map. Found: class ${map.getClass()}" + map.forEach { key, val -> + assert key in expectedKeys : "Unexpected key '$key' in ${mapName ? mapName + " " : ""}map" + } + requiredKeys.forEach { requiredKey -> + assert map.containsKey(requiredKey) : "Missing required key '$key' in ${mapName ? mapName + " " : ""}map" + } +} + +// TODO: unit test processDirectives +def processDirectives(Map drctv) { + // remove null values + drctv = drctv.findAll{k, v -> v != null} + + // check for unexpected keys + def expectedKeys = [ + "accelerator", "afterScript", "beforeScript", "cache", "conda", "container", "containerOptions", "cpus", "disk", "echo", "errorStrategy", "executor", "machineType", "maxErrors", "maxForks", "maxRetries", "memory", "module", "penv", "pod", "publishDir", "queue", "label", "scratch", "storeDir", "stageInMode", "stageOutMode", "tag", "time" + ] + def unexpectedKeys = drctv.keySet() - expectedKeys + assert unexpectedKeys.isEmpty() : "Unexpected keys in process directive: '${unexpectedKeys.join("', '")}'" + + /* DIRECTIVE accelerator + accepted examples: + - [ limit: 4, type: "nvidia-tesla-k80" ] + */ + if (drctv.containsKey("accelerator")) { + assertMapKeys(drctv["accelerator"], ["type", "limit", "request", "runtime"], [], "accelerator") + } + + /* DIRECTIVE afterScript + accepted examples: + - "source /cluster/bin/cleanup" + */ + if (drctv.containsKey("afterScript")) { + assert drctv["afterScript"] instanceof CharSequence + } + + /* DIRECTIVE beforeScript + accepted examples: + - "source /cluster/bin/setup" + */ + if (drctv.containsKey("beforeScript")) { + assert drctv["beforeScript"] instanceof CharSequence + } + + /* DIRECTIVE cache + accepted examples: + - true + - false + - "deep" + - "lenient" + */ + if (drctv.containsKey("cache")) { + assert drctv["cache"] instanceof CharSequence || drctv["cache"] instanceof Boolean + if (drctv["cache"] instanceof CharSequence) { + assert drctv["cache"] in ["deep", "lenient"] : "Unexpected value for cache" + } + } + + /* DIRECTIVE conda + accepted examples: + - "bwa=0.7.15" + - "bwa=0.7.15 fastqc=0.11.5" + - ["bwa=0.7.15", "fastqc=0.11.5"] + */ + if (drctv.containsKey("conda")) { + if (drctv["conda"] instanceof List) { + drctv["conda"] = drctv["conda"].join(" ") + } + assert drctv["conda"] instanceof CharSequence + } + + /* DIRECTIVE container + accepted examples: + - "foo/bar:tag" + - [ registry: "reg", image: "im", tag: "ta" ] + is transformed to "reg/im:ta" + - [ image: "im" ] + is transformed to "im:latest" + */ + if (drctv.containsKey("container")) { + assert drctv["container"] instanceof Map || drctv["container"] instanceof CharSequence + if (drctv["container"] instanceof Map) { + def m = drctv["container"] + assertMapKeys(m, [ "registry", "image", "tag" ], ["image"], "container") + def part1 = + System.getenv('OVERRIDE_CONTAINER_REGISTRY') ? System.getenv('OVERRIDE_CONTAINER_REGISTRY') + "/" : + params.containsKey("override_container_registry") ? params["override_container_registry"] + "/" : // todo: remove? + m.registry ? m.registry + "/" : + "" + def part2 = m.image + def part3 = m.tag ? ":" + m.tag : ":latest" + drctv["container"] = part1 + part2 + part3 + } + } + + /* DIRECTIVE containerOptions + accepted examples: + - "--foo bar" + - ["--foo bar", "-f b"] + */ + if (drctv.containsKey("containerOptions")) { + if (drctv["containerOptions"] instanceof List) { + drctv["containerOptions"] = drctv["containerOptions"].join(" ") + } + assert drctv["containerOptions"] instanceof CharSequence + } + + /* DIRECTIVE cpus + accepted examples: + - 1 + - 10 + */ + if (drctv.containsKey("cpus")) { + assert drctv["cpus"] instanceof Integer + } + + /* DIRECTIVE disk + accepted examples: + - "1 GB" + - "2TB" + - "3.2KB" + - "10.B" + */ + if (drctv.containsKey("disk")) { + assert drctv["disk"] instanceof CharSequence + // assert drctv["disk"].matches("[0-9]+(\\.[0-9]*)? *[KMGTPEZY]?B") + // ^ does not allow closures + } + + /* DIRECTIVE echo + accepted examples: + - true + - false + */ + if (drctv.containsKey("echo")) { + assert drctv["echo"] instanceof Boolean + } + + /* DIRECTIVE errorStrategy + accepted examples: + - "terminate" + - "finish" + */ + if (drctv.containsKey("errorStrategy")) { + assert drctv["errorStrategy"] instanceof CharSequence + assert drctv["errorStrategy"] in ["terminate", "finish", "ignore", "retry"] : "Unexpected value for errorStrategy" + } + + /* DIRECTIVE executor + accepted examples: + - "local" + - "sge" + */ + if (drctv.containsKey("executor")) { + assert drctv["executor"] instanceof CharSequence + assert drctv["executor"] in ["local", "sge", "uge", "lsf", "slurm", "pbs", "pbspro", "moab", "condor", "nqsii", "ignite", "k8s", "awsbatch", "google-pipelines"] : "Unexpected value for executor" + } + + /* DIRECTIVE machineType + accepted examples: + - "n1-highmem-8" + */ + if (drctv.containsKey("machineType")) { + assert drctv["machineType"] instanceof CharSequence + } + + /* DIRECTIVE maxErrors + accepted examples: + - 1 + - 3 + */ + if (drctv.containsKey("maxErrors")) { + assert drctv["maxErrors"] instanceof Integer + } + + /* DIRECTIVE maxForks + accepted examples: + - 1 + - 3 + */ + if (drctv.containsKey("maxForks")) { + assert drctv["maxForks"] instanceof Integer + } + + /* DIRECTIVE maxRetries + accepted examples: + - 1 + - 3 + */ + if (drctv.containsKey("maxRetries")) { + assert drctv["maxRetries"] instanceof Integer + } + + /* DIRECTIVE memory + accepted examples: + - "1 GB" + - "2TB" + - "3.2KB" + - "10.B" + */ + if (drctv.containsKey("memory")) { + assert drctv["memory"] instanceof CharSequence + // assert drctv["memory"].matches("[0-9]+(\\.[0-9]*)? *[KMGTPEZY]?B") + // ^ does not allow closures + } + + /* DIRECTIVE module + accepted examples: + - "ncbi-blast/2.2.27" + - "ncbi-blast/2.2.27:t_coffee/10.0" + - ["ncbi-blast/2.2.27", "t_coffee/10.0"] + */ + if (drctv.containsKey("module")) { + if (drctv["module"] instanceof List) { + drctv["module"] = drctv["module"].join(":") + } + assert drctv["module"] instanceof CharSequence + } + + /* DIRECTIVE penv + accepted examples: + - "smp" + */ + if (drctv.containsKey("penv")) { + assert drctv["penv"] instanceof CharSequence + } + + /* DIRECTIVE pod + accepted examples: + - [ label: "key", value: "val" ] + - [ annotation: "key", value: "val" ] + - [ env: "key", value: "val" ] + - [ [label: "l", value: "v"], [env: "e", value: "v"]] + */ + if (drctv.containsKey("pod")) { + if (drctv["pod"] instanceof Map) { + drctv["pod"] = [ drctv["pod"] ] + } + assert drctv["pod"] instanceof List + drctv["pod"].forEach { pod -> + assert pod instanceof Map + // TODO: should more checks be added? + // See https://www.nextflow.io/docs/latest/process.html?highlight=directives#pod + // e.g. does it contain 'label' and 'value', or 'annotation' and 'value', or ...? + } + } + + /* DIRECTIVE publishDir + accepted examples: + - [] + - [ [ path: "foo", enabled: true ], [ path: "bar", enabled: false ] ] + - "/path/to/dir" + is transformed to [[ path: "/path/to/dir" ]] + - [ path: "/path/to/dir", mode: "cache" ] + is transformed to [[ path: "/path/to/dir", mode: "cache" ]] + */ + // TODO: should we also look at params["publishDir"]? + if (drctv.containsKey("publishDir")) { + def pblsh = drctv["publishDir"] + + // check different options + assert pblsh instanceof List || pblsh instanceof Map || pblsh instanceof CharSequence + + // turn into list if not already so + // for some reason, 'if (!pblsh instanceof List) pblsh = [ pblsh ]' doesn't work. + pblsh = pblsh instanceof List ? pblsh : [ pblsh ] + + // check elements of publishDir + pblsh = pblsh.collect{ elem -> + // turn into map if not already so + elem = elem instanceof CharSequence ? [ path: elem ] : elem + + // check types and keys + assert elem instanceof Map : "Expected publish argument '$elem' to be a String or a Map. Found: class ${elem.getClass()}" + assertMapKeys(elem, [ "path", "mode", "overwrite", "pattern", "saveAs", "enabled" ], ["path"], "publishDir") + + // check elements in map + assert elem.containsKey("path") + assert elem["path"] instanceof CharSequence + if (elem.containsKey("mode")) { + assert elem["mode"] instanceof CharSequence + assert elem["mode"] in [ "symlink", "rellink", "link", "copy", "copyNoFollow", "move" ] + } + if (elem.containsKey("overwrite")) { + assert elem["overwrite"] instanceof Boolean + } + if (elem.containsKey("pattern")) { + assert elem["pattern"] instanceof CharSequence + } + if (elem.containsKey("saveAs")) { + assert elem["saveAs"] instanceof CharSequence //: "saveAs as a Closure is currently not supported. Surround your closure with single quotes to get the desired effect. Example: '\{ foo \}'" + } + if (elem.containsKey("enabled")) { + assert elem["enabled"] instanceof Boolean + } + + // return final result + elem + } + // store final directive + drctv["publishDir"] = pblsh + } + + /* DIRECTIVE queue + accepted examples: + - "long" + - "short,long" + - ["short", "long"] + */ + if (drctv.containsKey("queue")) { + if (drctv["queue"] instanceof List) { + drctv["queue"] = drctv["queue"].join(",") + } + assert drctv["queue"] instanceof CharSequence + } + + /* DIRECTIVE label + accepted examples: + - "big_mem" + - "big_cpu" + - ["big_mem", "big_cpu"] + */ + if (drctv.containsKey("label")) { + if (drctv["label"] instanceof CharSequence) { + drctv["label"] = [ drctv["label"] ] + } + assert drctv["label"] instanceof List + drctv["label"].forEach { label -> + assert label instanceof CharSequence + // assert label.matches("[a-zA-Z0-9]([a-zA-Z0-9_]*[a-zA-Z0-9])?") + // ^ does not allow closures + } + } + + /* DIRECTIVE scratch + accepted examples: + - true + - "/path/to/scratch" + - '$MY_PATH_TO_SCRATCH' + - "ram-disk" + */ + if (drctv.containsKey("scratch")) { + assert drctv["scratch"] == true || drctv["scratch"] instanceof CharSequence + } + + /* DIRECTIVE storeDir + accepted examples: + - "/path/to/storeDir" + */ + if (drctv.containsKey("storeDir")) { + assert drctv["storeDir"] instanceof CharSequence + } + + /* DIRECTIVE stageInMode + accepted examples: + - "copy" + - "link" + */ + if (drctv.containsKey("stageInMode")) { + assert drctv["stageInMode"] instanceof CharSequence + assert drctv["stageInMode"] in ["copy", "link", "symlink", "rellink"] + } + + /* DIRECTIVE stageOutMode + accepted examples: + - "copy" + - "link" + */ + if (drctv.containsKey("stageOutMode")) { + assert drctv["stageOutMode"] instanceof CharSequence + assert drctv["stageOutMode"] in ["copy", "move", "rsync"] + } + + /* DIRECTIVE tag + accepted examples: + - "foo" + - '$id' + */ + if (drctv.containsKey("tag")) { + assert drctv["tag"] instanceof CharSequence + } + + /* DIRECTIVE time + accepted examples: + - "1h" + - "2days" + - "1day 6hours 3minutes 30seconds" + */ + if (drctv.containsKey("time")) { + assert drctv["time"] instanceof CharSequence + // todo: validation regex? + } + + return drctv +} + +// helper file: 'src/main/resources/io/viash/runners/nextflow/workflowFactory/processWorkflowArgs.nf' +def processWorkflowArgs(Map args, Map defaultWfArgs, Map meta) { + // override defaults with args + def workflowArgs = defaultWfArgs + args + + // check whether 'key' exists + assert workflowArgs.containsKey("key") : "Error in module '${meta.config.name}': key is a required argument" + + // if 'key' is a closure, apply it to the original key + if (workflowArgs["key"] instanceof Closure) { + workflowArgs["key"] = workflowArgs["key"](meta.config.name) + } + def key = workflowArgs["key"] + assert key instanceof CharSequence : "Expected process argument 'key' to be a String. Found: class ${key.getClass()}" + assert key ==~ /^[a-zA-Z_]\w*$/ : "Error in module '$key': Expected process argument 'key' to consist of only letters, digits or underscores. Found: ${key}" + + // check for any unexpected keys + def expectedKeys = ["key", "directives", "auto", "map", "mapId", "mapData", "mapPassthrough", "filter", "runIf", "fromState", "toState", "args", "renameKeys", "debug"] + def unexpectedKeys = workflowArgs.keySet() - expectedKeys + assert unexpectedKeys.isEmpty() : "Error in module '$key': unexpected arguments to the '.run()' function: '${unexpectedKeys.join("', '")}'" + + // check whether directives exists and apply defaults + assert workflowArgs.containsKey("directives") : "Error in module '$key': directives is a required argument" + assert workflowArgs["directives"] instanceof Map : "Error in module '$key': Expected process argument 'directives' to be a Map. Found: class ${workflowArgs['directives'].getClass()}" + workflowArgs["directives"] = processDirectives(defaultWfArgs.directives + workflowArgs["directives"]) + + // check whether directives exists and apply defaults + assert workflowArgs.containsKey("auto") : "Error in module '$key': auto is a required argument" + assert workflowArgs["auto"] instanceof Map : "Error in module '$key': Expected process argument 'auto' to be a Map. Found: class ${workflowArgs['auto'].getClass()}" + workflowArgs["auto"] = processAuto(defaultWfArgs.auto + workflowArgs["auto"]) + + // auto define publish, if so desired + if (workflowArgs.auto.publish == true && (workflowArgs.directives.publishDir != null ? workflowArgs.directives.publishDir : [:]).isEmpty()) { + // can't assert at this level thanks to the no_publish profile + // assert params.containsKey("publishDir") || params.containsKey("publish_dir") : + // "Error in module '${workflowArgs['key']}': if auto.publish is true, params.publish_dir needs to be defined.\n" + + // " Example: params.publish_dir = \"./output/\"" + def publishDir = getPublishDir() + + if (publishDir != null) { + workflowArgs.directives.publishDir = [[ + path: publishDir, + saveAs: "{ it.startsWith('.') ? null : it }", // don't publish hidden files, by default + mode: "copy" + ]] + } + } + + // auto define transcript, if so desired + if (workflowArgs.auto.transcript == true) { + // can't assert at this level thanks to the no_publish profile + // assert params.containsKey("transcriptsDir") || params.containsKey("transcripts_dir") || params.containsKey("publishDir") || params.containsKey("publish_dir") : + // "Error in module '${workflowArgs['key']}': if auto.transcript is true, either params.transcripts_dir or params.publish_dir needs to be defined.\n" + + // " Example: params.transcripts_dir = \"./transcripts/\"" + def transcriptsDir = + params.containsKey("transcripts_dir") ? params.transcripts_dir : + params.containsKey("transcriptsDir") ? params.transcriptsDir : + params.containsKey("publish_dir") ? params.publish_dir + "/_transcripts" : + params.containsKey("publishDir") ? params.publishDir + "/_transcripts" : + null + if (transcriptsDir != null) { + def timestamp = nextflow.Nextflow.getSession().getWorkflowMetadata().start.format('yyyy-MM-dd_HH-mm-ss') + def transcriptsPublishDir = [ + path: "$transcriptsDir/$timestamp/\${task.process.replaceAll(':', '-')}/\${id}/", + saveAs: "{ it.startsWith('.') ? it.replaceAll('^.', '') : null }", + mode: "copy" + ] + def publishDirs = workflowArgs.directives.publishDir != null ? workflowArgs.directives.publishDir : null ? workflowArgs.directives.publishDir : [] + workflowArgs.directives.publishDir = publishDirs + transcriptsPublishDir + } + } + + // if this is a stubrun, remove certain directives? + if (workflow.stubRun) { + workflowArgs.directives.keySet().removeAll(["publishDir", "cpus", "memory", "label"]) + } + + for (nam in ["map", "mapId", "mapData", "mapPassthrough", "filter", "runIf"]) { + if (workflowArgs.containsKey(nam) && workflowArgs[nam]) { + assert workflowArgs[nam] instanceof Closure : "Error in module '$key': Expected process argument '$nam' to be null or a Closure. Found: class ${workflowArgs[nam].getClass()}" + } + } + + // TODO: should functions like 'map', 'mapId', 'mapData', 'mapPassthrough' be deprecated as well? + for (nam in ["map", "mapData", "mapPassthrough", "renameKeys"]) { + if (workflowArgs.containsKey(nam) && workflowArgs[nam] != null) { + log.warn "module '$key': workflow argument '$nam' is deprecated and will be removed in Viash 0.9.0. Please use 'fromState' and 'toState' instead." + } + } + + // check fromState + workflowArgs["fromState"] = _processFromState(workflowArgs.get("fromState"), key, meta.config) + + // check toState + workflowArgs["toState"] = _processToState(workflowArgs.get("toState"), key, meta.config) + + // return output + return workflowArgs +} + +def _processFromState(fromState, key_, config_) { + assert fromState == null || fromState instanceof Closure || fromState instanceof Map || fromState instanceof List : + "Error in module '$key_': Expected process argument 'fromState' to be null, a Closure, a Map, or a List. Found: class ${fromState.getClass()}" + if (fromState == null) { + return null + } + + // if fromState is a List, convert to map + if (fromState instanceof List) { + // check whether fromstate is a list[string] + assert fromState.every{it instanceof CharSequence} : "Error in module '$key_': fromState is a List, but not all elements are Strings" + fromState = fromState.collectEntries{[it, it]} + } + + // if fromState is a map, convert to closure + if (fromState instanceof Map) { + // check whether fromstate is a map[string, string] + assert fromState.values().every{it instanceof CharSequence} : "Error in module '$key_': fromState is a Map, but not all values are Strings" + assert fromState.keySet().every{it instanceof CharSequence} : "Error in module '$key_': fromState is a Map, but not all keys are Strings" + def fromStateMap = fromState.clone() + def requiredInputNames = meta.config.allArguments.findAll{it.required && it.direction == "Input"}.collect{it.plainName} + // turn the map into a closure to be used later on + fromState = { it -> + def state = it[1] + assert state instanceof Map : "Error in module '$key_': the state is not a Map" + def data = fromStateMap.collectMany{newkey, origkey -> + // check whether newkey corresponds to a required argument + if (state.containsKey(origkey)) { + [[newkey, state[origkey]]] + } else if (!requiredInputNames.contains(origkey)) { + [] + } else { + throw new Exception("Error in module '$key_': fromState key '$origkey' not found in current state") + } + }.collectEntries() + data + } + } + + return fromState +} + +def _processToState(toState, key_, config_) { + if (toState == null) { + toState = { tup -> tup[1] } + } + + // toState should be a closure, map[string, string], or list[string] + assert toState instanceof Closure || toState instanceof Map || toState instanceof List : + "Error in module '$key_': Expected process argument 'toState' to be a Closure, a Map, or a List. Found: class ${toState.getClass()}" + + // if toState is a List, convert to map + if (toState instanceof List) { + // check whether toState is a list[string] + assert toState.every{it instanceof CharSequence} : "Error in module '$key_': toState is a List, but not all elements are Strings" + toState = toState.collectEntries{[it, it]} + } + + // if toState is a map, convert to closure + if (toState instanceof Map) { + // check whether toState is a map[string, string] + assert toState.values().every{it instanceof CharSequence} : "Error in module '$key_': toState is a Map, but not all values are Strings" + assert toState.keySet().every{it instanceof CharSequence} : "Error in module '$key_': toState is a Map, but not all keys are Strings" + def toStateMap = toState.clone() + def requiredOutputNames = config_.allArguments.findAll{it.required && it.direction == "Output"}.collect{it.plainName} + // turn the map into a closure to be used later on + toState = { it -> + def output = it[1] + def state = it[2] + assert output instanceof Map : "Error in module '$key_': the output is not a Map" + assert state instanceof Map : "Error in module '$key_': the state is not a Map" + def extraEntries = toStateMap.collectMany{newkey, origkey -> + // check whether newkey corresponds to a required argument + if (output.containsKey(origkey)) { + [[newkey, output[origkey]]] + } else if (!requiredOutputNames.contains(origkey)) { + [] + } else { + throw new Exception("Error in module '$key_': toState key '$origkey' not found in current output") + } + }.collectEntries() + state + extraEntries + } + } + + return toState +} + +// helper file: 'src/main/resources/io/viash/runners/nextflow/workflowFactory/workflowFactory.nf' +def _debug(workflowArgs, debugKey) { + if (workflowArgs.debug) { + view { "process '${workflowArgs.key}' $debugKey tuple: $it" } + } else { + map { it } + } +} + +// depends on: innerWorkflowFactory +def workflowFactory(Map args, Map defaultWfArgs, Map meta) { + def workflowArgs = processWorkflowArgs(args, defaultWfArgs, meta) + def key_ = workflowArgs["key"] + def multipleArgs = meta.config.allArguments.findAll{ it.multiple }.collect{it.plainName} + + workflow workflowInstance { + take: input_ + + main: + def chModified = input_ + | checkUniqueIds([:]) + | _debug(workflowArgs, "input") + | map { tuple -> + tuple = deepClone(tuple) + + if (workflowArgs.map) { + tuple = workflowArgs.map(tuple) + } + if (workflowArgs.mapId) { + tuple[0] = workflowArgs.mapId(tuple[0]) + } + if (workflowArgs.mapData) { + tuple[1] = workflowArgs.mapData(tuple[1]) + } + if (workflowArgs.mapPassthrough) { + tuple = tuple.take(2) + workflowArgs.mapPassthrough(tuple.drop(2)) + } + + // check tuple + assert tuple instanceof List : + "Error in module '${key_}': element in channel should be a tuple [id, data, ...otherargs...]\n" + + " Example: [\"id\", [input: file('foo.txt'), arg: 10]].\n" + + " Expected class: List. Found: tuple.getClass() is ${tuple.getClass()}" + assert tuple.size() >= 2 : + "Error in module '${key_}': expected length of tuple in input channel to be two or greater.\n" + + " Example: [\"id\", [input: file('foo.txt'), arg: 10]].\n" + + " Found: tuple.size() == ${tuple.size()}" + + // check id field + if (tuple[0] instanceof GString) { + tuple[0] = tuple[0].toString() + } + assert tuple[0] instanceof CharSequence : + "Error in module '${key_}': first element of tuple in channel should be a String\n" + + " Example: [\"id\", [input: file('foo.txt'), arg: 10]].\n" + + " Found: ${tuple[0]}" + + // match file to input file + if (workflowArgs.auto.simplifyInput && (tuple[1] instanceof Path || tuple[1] instanceof List)) { + def inputFiles = meta.config.allArguments + .findAll { it.type == "file" && it.direction == "input" } + + assert inputFiles.size() == 1 : + "Error in module '${key_}' id '${tuple[0]}'.\n" + + " Anonymous file inputs are only allowed when the process has exactly one file input.\n" + + " Expected: inputFiles.size() == 1. Found: inputFiles.size() is ${inputFiles.size()}" + + tuple[1] = [[ inputFiles[0].plainName, tuple[1] ]].collectEntries() + } + + // check data field + assert tuple[1] instanceof Map : + "Error in module '${key_}' id '${tuple[0]}': second element of tuple in channel should be a Map\n" + + " Example: [\"id\", [input: file('foo.txt'), arg: 10]].\n" + + " Expected class: Map. Found: tuple[1].getClass() is ${tuple[1].getClass()}" + + // rename keys of data field in tuple + if (workflowArgs.renameKeys) { + assert workflowArgs.renameKeys instanceof Map : + "Error renaming data keys in module '${key_}' id '${tuple[0]}'.\n" + + " Example: renameKeys: ['new_key': 'old_key'].\n" + + " Expected class: Map. Found: renameKeys.getClass() is ${workflowArgs.renameKeys.getClass()}" + assert tuple[1] instanceof Map : + "Error renaming data keys in module '${key_}' id '${tuple[0]}'.\n" + + " Expected class: Map. Found: tuple[1].getClass() is ${tuple[1].getClass()}" + + // TODO: allow renameKeys to be a function? + workflowArgs.renameKeys.each { newKey, oldKey -> + assert newKey instanceof CharSequence : + "Error renaming data keys in module '${key_}' id '${tuple[0]}'.\n" + + " Example: renameKeys: ['new_key': 'old_key'].\n" + + " Expected class of newKey: String. Found: newKey.getClass() is ${newKey.getClass()}" + assert oldKey instanceof CharSequence : + "Error renaming data keys in module '${key_}' id '${tuple[0]}'.\n" + + " Example: renameKeys: ['new_key': 'old_key'].\n" + + " Expected class of oldKey: String. Found: oldKey.getClass() is ${oldKey.getClass()}" + assert tuple[1].containsKey(oldKey) : + "Error renaming data keys in module '${key}' id '${tuple[0]}'.\n" + + " Key '$oldKey' is missing in the data map. tuple[1].keySet() is '${tuple[1].keySet()}'" + tuple[1].put(newKey, tuple[1][oldKey]) + } + tuple[1].keySet().removeAll(workflowArgs.renameKeys.collect{ newKey, oldKey -> oldKey }) + } + tuple + } + + + def chRun = null + def chPassthrough = null + if (workflowArgs.runIf) { + def runIfBranch = chModified.branch{ tup -> + run: workflowArgs.runIf(tup[0], tup[1]) + passthrough: true + } + chRun = runIfBranch.run + chPassthrough = runIfBranch.passthrough + } else { + chRun = chModified + chPassthrough = Channel.empty() + } + + def chRunFiltered = workflowArgs.filter ? + chRun | filter{workflowArgs.filter(it)} : + chRun + + def chArgs = workflowArgs.fromState ? + chRunFiltered | map{ + def new_data = workflowArgs.fromState(it.take(2)) + [it[0], new_data] + } : + chRunFiltered | map {tup -> tup.take(2)} + + // fill in defaults + def chArgsWithDefaults = chArgs + | map { tuple -> + def id_ = tuple[0] + def data_ = tuple[1] + + // TODO: could move fromState to here + + // fetch default params from functionality + def defaultArgs = meta.config.allArguments + .findAll { it.containsKey("default") } + .collectEntries { [ it.plainName, it.default ] } + + // fetch overrides in params + def paramArgs = meta.config.allArguments + .findAll { par -> + def argKey = key_ + "__" + par.plainName + params.containsKey(argKey) + } + .collectEntries { [ it.plainName, params[key_ + "__" + it.plainName] ] } + + // fetch overrides in data + def dataArgs = meta.config.allArguments + .findAll { data_.containsKey(it.plainName) } + .collectEntries { [ it.plainName, data_[it.plainName] ] } + + // combine params + def combinedArgs = defaultArgs + paramArgs + workflowArgs.args + dataArgs + + // remove arguments with explicit null values + combinedArgs + .removeAll{_, val -> val == null || val == "viash_no_value" || val == "force_null"} + + combinedArgs = _processInputValues(combinedArgs, meta.config, id_, key_) + + [id_, combinedArgs] + tuple.drop(2) + } + + // TODO: move some of the _meta.join_id wrangling to the safeJoin() function. + def chInitialOutputMulti = chArgsWithDefaults + | _debug(workflowArgs, "processed") + // run workflow + | innerWorkflowFactory(workflowArgs) + def chInitialOutputList = chInitialOutputMulti instanceof List ? chInitialOutputMulti : [chInitialOutputMulti] + assert chInitialOutputList.size() > 0: "should have emitted at least one output channel" + // Add a channel ID to the events, which designates the channel the event was emitted from as a running number + // This number is used to sort the events later when the events are gathered from across the channels. + def chInitialOutputListWithIndexedEvents = chInitialOutputList.withIndex().collect{channel, channelIndex -> + def newChannel = channel + | map {tuple -> + assert tuple instanceof List : + "Error in module '${key_}': element in output channel should be a tuple [id, data, ...otherargs...]\n" + + " Example: [\"id\", [input: file('foo.txt'), arg: 10]].\n" + + " Expected class: List. Found: tuple.getClass() is ${tuple.getClass()}" + + def newEvent = [channelIndex] + tuple + return newEvent + } + return newChannel + } + // Put the events into 1 channel, cover case where there is only one channel is emitted + def chInitialOutput = chInitialOutputList.size() > 1 ? \ + chInitialOutputListWithIndexedEvents[0].mix(*chInitialOutputListWithIndexedEvents.tail()) : \ + chInitialOutputListWithIndexedEvents[0] + def chInitialOutputProcessed = chInitialOutput + | map { tuple -> + def channelId = tuple[0] + def id_ = tuple[1] + def output_ = tuple[2] + + // see if output map contains metadata + def meta_ = + output_ instanceof Map && output_.containsKey("_meta") ? + output_["_meta"] : + [:] + def join_id = meta_.join_id ?: id_ + + // remove metadata + output_ = output_.findAll{k, v -> k != "_meta"} + + // check value types + output_ = _checkValidOutputArgument(output_, meta.config, id_, key_) + + [join_id, channelId, id_, output_] + } + // | view{"chInitialOutput: ${it.take(3)}"} + + // join the output [prev_id, channel_id, new_id, output] with the previous state [prev_id, state, ...] + def chPublishWithPreviousState = safeJoin(chInitialOutputProcessed, chRunFiltered, key_) + // input tuple format: [join_id, channel_id, id, output, prev_state, ...] + // output tuple format: [join_id, channel_id, id, new_state, ...] + | map{ tup -> + def new_state = workflowArgs.toState(tup.drop(2).take(3)) + tup.take(3) + [new_state] + tup.drop(5) + } + if (workflowArgs.auto.publish == "state") { + def chPublishFiles = chPublishWithPreviousState + // input tuple format: [join_id, channel_id, id, new_state, ...] + // output tuple format: [join_id, channel_id, id, new_state] + | map{ tup -> + tup.take(4) + } + + safeJoin(chPublishFiles, chArgsWithDefaults, key_) + // input tuple format: [join_id, channel_id, id, new_state, orig_state, ...] + // output tuple format: [id, new_state, orig_state] + | map { tup -> + tup.drop(2).take(3) + } + | publishFilesByConfig(key: key_, config: meta.config) + } + // Join the state from the events that were emitted from different channels + def chJoined = chInitialOutputProcessed + | map {tuple -> + def join_id = tuple[0] + def channel_id = tuple[1] + def id = tuple[2] + def other = tuple.drop(3) + // Below, groupTuple is used to join the events. To make sure resuming a workflow + // keeps working, the output state must be deterministic. This means the state needs to be + // sorted with groupTuple's has a 'sort' argument. This argument can be set to 'hash', + // but hashing the state when it is large can be problematic in terms of performance. + // Therefore, a custom comparator function is provided. We add the channel ID to the + // states so that we can use the channel ID to sort the items. + def stateWithChannelID = [[channel_id] * other.size(), other].transpose() + // A comparator that is provided to groupTuple's 'sort' argument is applied + // to all elements of the event tuple (that is not the 'id'). The comparator + // closure that is used below expects the input to be List. So the join_id and + // channel_id must also be wrapped in a list. + [[join_id], [channel_id], id] + stateWithChannelID + } + | groupTuple(by: 2, sort: {a, b -> a[0] <=> b[0]}, size: chInitialOutputList.size(), remainder: true) + | map {join_ids, _, id, statesWithChannelID -> + // Remove the channel IDs from the states + def states = statesWithChannelID.collect{it[1]} + def newJoinId = join_ids.flatten().unique{a, b -> a <=> b} + assert newJoinId.size() == 1: "Multiple events were emitted for '$id'." + def newJoinIdUnique = newJoinId[0] + + // Merge the states from the different channels + def newState = states.inject([:]){ old_state, state_to_add -> + return old_state + state_to_add.collectEntries{k, v -> + if (!multipleArgs.contains(k)) { + // if the key is not a multiple argument, we expect only one value + if (old_state.containsKey(k)) { + assert old_state[k] == v : "ID $id: multiple entries for argument $k were emitted." + } + [k, v] + } else { + // if the key is a multiple argument, append the different values into one list + def prevValue = old_state.getOrDefault(k, []) + def prevValueAsList = prevValue instanceof List ? prevValue : [prevValue] + [k, prevValueAsList + v] + } + } + } + + _checkAllRequiredOuputsPresent(newState, meta.config, id, key_) + + // simplify output if need be + if (workflowArgs.auto.simplifyOutput && newState.size() == 1) { + newState = newState.values()[0] + } + + return [newJoinIdUnique, id, newState] + } + + // join the output [prev_id, new_id, output] with the previous state [prev_id, state, ...] + def chNewState = safeJoin(chJoined, chRunFiltered, key_) + // input tuple format: [join_id, id, output, prev_state, ...] + // output tuple format: [join_id, id, new_state, ...] + | map{ tup -> + def new_state = workflowArgs.toState(tup.drop(1).take(3)) + tup.take(2) + [new_state] + tup.drop(4) + } + + if (workflowArgs.auto.publish == "state") { + def chPublishStates = chNewState + // input tuple format: [join_id, id, new_state, ...] + // output tuple format: [join_id, id, new_state] + | map{ tup -> + tup.take(3) + } + + safeJoin(chPublishStates, chArgsWithDefaults, key_) + // input tuple format: [join_id, id, new_state, orig_state, ...] + // output tuple format: [id, new_state, orig_state] + | map { tup -> + tup.drop(1).take(3) + } + | publishStatesByConfig(key: key_, config: meta.config) + } + chReturn = chNewState + | map { tup -> + // input tuple format: [join_id, id, new_state, ...] + // output tuple format: [id, new_state, ...] + tup.drop(1) + } + | _debug(workflowArgs, "output") + | concat(chPassthrough) + + emit: chReturn + } + + def wf = workflowInstance.cloneWithName(key_) + + // add factory function + wf.metaClass.run = { runArgs -> + workflowFactory(runArgs, workflowArgs, meta) + } + // add config to module for later introspection + wf.metaClass.config = meta.config + + return wf +} + +nextflow.enable.dsl=2 + +// START COMPONENT-SPECIFIC CODE + +// create meta object +meta = [ + "resources_dir": moduleDir.toRealPath().normalize(), + "config": processConfig(readJsonBlob('''{ + "name" : "cellranger_count", + "namespace" : "cellranger", + "version" : "main", + "authors" : [ + { + "name" : "Emma Rousseau", + "roles" : [ + "author" + ], + "info" : { + "links" : { + "email" : "emma@data-intuitive.com", + "github" : "emmarousseau", + "linkedin" : "emmarousseau1" + }, + "organizations" : [ + { + "name" : "Data Intuitive", + "href" : "https://www.data-intuitive.com", + "role" : "Bioinformatician" + } + ] + } + }, + { + "name" : "Robrecht Cannoodt", + "roles" : [ + "author" + ], + "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" : "FASTQ inputs", + "arguments" : [ + { + "type" : "file", + "name" : "--fastqs", + "description" : "The fastq.gz files to align. Can also be a single directory containing fastq.gz files.", + "example" : [ + "sample_S1_L001_R1_001.fastq.gz", + "sample_S1_L001_R2_001.fastq.gz" + ], + "must_exist" : true, + "create_parent" : true, + "required" : true, + "direction" : "input", + "multiple" : true, + "multiple_sep" : ";" + }, + { + "type" : "string", + "name" : "--description", + "description" : "Sample description to embed in output files", + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "string", + "name" : "--sample", + "description" : "Prefix of the filenames of FASTQs to select", + "example" : [ + "sample_S1" + ], + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "integer", + "name" : "--lanes", + "description" : "Only use FASTQs from selected lanes.", + "example" : [ + 1, + 2, + 3 + ], + "required" : false, + "direction" : "input", + "multiple" : true, + "multiple_sep" : ";" + }, + { + "type" : "file", + "name" : "--libraries", + "description" : "CSV file declaring input library data sources", + "example" : [ + "libraries.csv" + ], + "must_exist" : true, + "create_parent" : true, + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + } + ] + }, + { + "name" : "Reference inputs", + "arguments" : [ + { + "type" : "file", + "name" : "--transcriptome", + "description" : "Path of folder containing 10x-compatible transcriptome reference. Can also be a `.tar.gz` file.", + "example" : [ + "transcriptome.tar.gz" + ], + "must_exist" : true, + "create_parent" : true, + "required" : true, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "file", + "name" : "--feature_ref", + "description" : "Feature reference CSV file, declaring Feature Barcode constructs and associated barcodes", + "example" : [ + "feature_ref.csv" + ], + "must_exist" : true, + "create_parent" : true, + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + } + ] + }, + { + "name" : "Analysis settings", + "arguments" : [ + { + "type" : "integer", + "name" : "--expect_cells", + "description" : "Expected number of recovered cells, used as input to cell calling algorithm.", + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "integer", + "name" : "--force_cells", + "description" : "Force pipeline to use this number of cells, bypassing cell calling algorithm. Minimum: 10.\n", + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "integer", + "name" : "--r1_length", + "description" : "Hard trim the input Read 1 to this length before analysis", + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "integer", + "name" : "--r2_length", + "description" : "Hard trim the input Read 2 to this length before analysis", + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "boolean_true", + "name" : "--include_introns", + "description" : "Include intronic reads in count. Default: true.", + "direction" : "input" + }, + { + "type" : "string", + "name" : "--chemistry", + "description" : "Assay configuration.\n\nNOTE: by default the assay configuration is detected automatically, which is the recommended mode. You usually will not need to specify a chemistry. \n\nOptions are:\n\n- `'auto'` for autodetection\n- `'threeprime'` for Single Cell 3'\n- `'fiveprime'` for Single Cell 5'\n- `'SC3Pv1'` or `'SC3Pv2'` or `'SC3Pv3'` or `'SC3Pv4'` for\nSingle Cell 3' v1/v2/v3/v4\n- `'SC3Pv3LT'` for Single Cell 3' v3 LT\n- `'SC3Pv3HT'` for Single Cell 3' v3 HT\n- `'SC5P-PE'` or `'SC5P-PE-v3'` or `'SC5P-R2'` or `'SC5P-R2-v3'` for Single Cell 5', paired-end/R2-only\n- `'SC-FB'` for Single Cell Antibody-only 3' v2 or 5'\n\nTo analyze the GEX portion of multiome data, chemistry must be set to `'ARC-v1'`.\n\nSee the [10x Genomics FAQ](https://kb.10xgenomics.com/hc/en-us/articles/115003764132-How-does-Cell-Ranger-auto-detect-chemistry-) for more information on how chemistry is detected.\n", + "example" : [ + "auto" + ], + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "string", + "name" : "--cell_annotation_model", + "description" : "Cell annotation model to use. Valid model names can be viewed by\nrunning `cellranger cloud annotation models` or on the\n[10x Genomics Support site](https://www.10xgenomics.com/support).\n\nIf \\"auto\\", uses the default model for the species.\nIf not provided, does not run cell annotation.\n", + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "integer", + "name" : "--min_crispr_umi", + "description" : "Minimum CRISPR UMI threshold. Default: 3.\n", + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + } + ] + }, + { + "name" : "Outputs", + "arguments" : [ + { + "type" : "file", + "name" : "--output", + "description" : "The folder to store the alignment results.", + "must_exist" : true, + "create_parent" : true, + "required" : true, + "direction" : "output", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "boolean_true", + "name" : "--create_bam", + "description" : "Enable or disable BAM file generation. Setting this to false\nreduces the total computation time and the size of the output\ndirectory (BAM file not generated). We recommend setting\nit to true if unsure. See https://10xgen.com/create-bam for\nadditional guidance.\n", + "direction" : "input" + }, + { + "type" : "boolean_true", + "name" : "--no_secondary", + "description" : "Disable secondary analysis, e.g. clustering.", + "direction" : "input" + } + ] + }, + { + "name" : "Additional arguments", + "arguments" : [ + { + "type" : "boolean_true", + "name" : "--no_libraries", + "description" : "Proceed with processing using a `--feature_ref` but no Feature Barcode libraries specified with the 'libraries' flag.\n", + "direction" : "input" + }, + { + "type" : "boolean_true", + "name" : "--check_library_compatibility", + "description" : "Whether to check for barcode compatibility between libraries.\n", + "direction" : "input" + }, + { + "type" : "file", + "name" : "--tenx_cloud_token", + "description" : "The path to the 10x Cloud Analysis user token used to enable cell\nannotation. If not provided, will default to the location stored\nthrough cellranger cloud auth setup.\n", + "must_exist" : true, + "create_parent" : true, + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "boolean_true", + "name" : "--dry", + "description" : "Do not execute the pipeline. Generate a pipeline invocation (.mro) file and stop.\n", + "direction" : "input" + } + ] + } + ], + "resources" : [ + { + "type" : "bash_script", + "path" : "script.sh", + "is_executable" : true + } + ], + "summary" : "Align fastq files using Cell Ranger count.", + "description" : "Count gene expression and/or feature barcode reads from a single sample and GEM well\n", + "test_resources" : [ + { + "type" : "bash_script", + "path" : "test.sh", + "is_executable" : true + } + ], + "status" : "enabled", + "scope" : { + "image" : "public", + "target" : "public" + }, + "requirements" : { + "commands" : [ + "ps" + ] + }, + "keywords" : [ + "cellranger", + "single-cell", + "rna-seq", + "alignment", + "count" + ], + "license" : "Proprietary", + "references" : { + "doi" : [ + "10.1038/ncomms14049" + ] + }, + "links" : { + "repository" : "https://github.com/10XGenomics/cellranger/blob/main/bin/sc_rna/count", + "homepage" : "https://www.10xgenomics.com/support/software/cell-ranger/latest", + "documentation" : "https://support.10xgenomics.com/single-cell-gene-expression/software/pipelines/latest/using/count", + "issue_tracker" : "https://github.com/10XGenomics/cellranger/issues" + }, + "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/nf-core/cellranger:8.0.0", + "target_registry" : "images.viash-hub.com", + "target_tag" : "main", + "namespace_separator" : "/", + "setup" : [ + { + "type" : "docker", + "run" : [ + "DEBIAN_FRONTEND=noninteractive apt update && \\\\\napt upgrade -y && apt install -y procps && rm -rf /var/lib/apt/lists/*\n" + ] + }, + { + "type" : "docker", + "run" : [ + "cellranger --version | sed 's/ cellranger-/: /' > /var/software_versions.txt\n" + ] + } + ] + }, + { + "type" : "native", + "id" : "native" + } + ], + "build_info" : { + "config" : "/workdir/root/repo/src/cellranger/cellranger_count/config.vsh.yaml", + "runner" : "nextflow", + "engine" : "docker|native", + "output" : "target/nextflow/cellranger/cellranger_count", + "viash_version" : "0.9.4", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", + "git_remote" : "https://github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-35-gb0db228" + }, + "package_config" : { + "name" : "biobox", + "version" : "main", + "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", + "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 := '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" + } + } +}''')) +] + +// resolve dependencies dependencies (if any) + + +// inner workflow +// inner workflow hook +def innerWorkflowFactory(args) { + def rawScript = '''set -e +tempscript=".viash_script.sh" +cat > "$tempscript" << VIASHMAIN +#!/bin/bash + +set -eo pipefail + +## VIASH START +# The following code has been auto-generated by Viash. +$( if [ ! -z ${VIASH_PAR_FASTQS+x} ]; then echo "${VIASH_PAR_FASTQS}" | sed "s#'#'\\"'\\"'#g;s#.*#par_fastqs='&'#" ; else echo "# par_fastqs="; fi ) +$( if [ ! -z ${VIASH_PAR_DESCRIPTION+x} ]; then echo "${VIASH_PAR_DESCRIPTION}" | sed "s#'#'\\"'\\"'#g;s#.*#par_description='&'#" ; else echo "# par_description="; fi ) +$( if [ ! -z ${VIASH_PAR_SAMPLE+x} ]; then echo "${VIASH_PAR_SAMPLE}" | sed "s#'#'\\"'\\"'#g;s#.*#par_sample='&'#" ; else echo "# par_sample="; fi ) +$( if [ ! -z ${VIASH_PAR_LANES+x} ]; then echo "${VIASH_PAR_LANES}" | sed "s#'#'\\"'\\"'#g;s#.*#par_lanes='&'#" ; else echo "# par_lanes="; fi ) +$( if [ ! -z ${VIASH_PAR_LIBRARIES+x} ]; then echo "${VIASH_PAR_LIBRARIES}" | sed "s#'#'\\"'\\"'#g;s#.*#par_libraries='&'#" ; else echo "# par_libraries="; fi ) +$( if [ ! -z ${VIASH_PAR_TRANSCRIPTOME+x} ]; then echo "${VIASH_PAR_TRANSCRIPTOME}" | sed "s#'#'\\"'\\"'#g;s#.*#par_transcriptome='&'#" ; else echo "# par_transcriptome="; fi ) +$( if [ ! -z ${VIASH_PAR_FEATURE_REF+x} ]; then echo "${VIASH_PAR_FEATURE_REF}" | sed "s#'#'\\"'\\"'#g;s#.*#par_feature_ref='&'#" ; else echo "# par_feature_ref="; fi ) +$( if [ ! -z ${VIASH_PAR_EXPECT_CELLS+x} ]; then echo "${VIASH_PAR_EXPECT_CELLS}" | sed "s#'#'\\"'\\"'#g;s#.*#par_expect_cells='&'#" ; else echo "# par_expect_cells="; fi ) +$( if [ ! -z ${VIASH_PAR_FORCE_CELLS+x} ]; then echo "${VIASH_PAR_FORCE_CELLS}" | sed "s#'#'\\"'\\"'#g;s#.*#par_force_cells='&'#" ; else echo "# par_force_cells="; fi ) +$( if [ ! -z ${VIASH_PAR_R1_LENGTH+x} ]; then echo "${VIASH_PAR_R1_LENGTH}" | sed "s#'#'\\"'\\"'#g;s#.*#par_r1_length='&'#" ; else echo "# par_r1_length="; fi ) +$( if [ ! -z ${VIASH_PAR_R2_LENGTH+x} ]; then echo "${VIASH_PAR_R2_LENGTH}" | sed "s#'#'\\"'\\"'#g;s#.*#par_r2_length='&'#" ; else echo "# par_r2_length="; fi ) +$( if [ ! -z ${VIASH_PAR_INCLUDE_INTRONS+x} ]; then echo "${VIASH_PAR_INCLUDE_INTRONS}" | sed "s#'#'\\"'\\"'#g;s#.*#par_include_introns='&'#" ; else echo "# par_include_introns="; fi ) +$( if [ ! -z ${VIASH_PAR_CHEMISTRY+x} ]; then echo "${VIASH_PAR_CHEMISTRY}" | sed "s#'#'\\"'\\"'#g;s#.*#par_chemistry='&'#" ; else echo "# par_chemistry="; fi ) +$( if [ ! -z ${VIASH_PAR_CELL_ANNOTATION_MODEL+x} ]; then echo "${VIASH_PAR_CELL_ANNOTATION_MODEL}" | sed "s#'#'\\"'\\"'#g;s#.*#par_cell_annotation_model='&'#" ; else echo "# par_cell_annotation_model="; fi ) +$( if [ ! -z ${VIASH_PAR_MIN_CRISPR_UMI+x} ]; then echo "${VIASH_PAR_MIN_CRISPR_UMI}" | sed "s#'#'\\"'\\"'#g;s#.*#par_min_crispr_umi='&'#" ; else echo "# par_min_crispr_umi="; fi ) +$( if [ ! -z ${VIASH_PAR_OUTPUT+x} ]; then echo "${VIASH_PAR_OUTPUT}" | sed "s#'#'\\"'\\"'#g;s#.*#par_output='&'#" ; else echo "# par_output="; fi ) +$( if [ ! -z ${VIASH_PAR_CREATE_BAM+x} ]; then echo "${VIASH_PAR_CREATE_BAM}" | sed "s#'#'\\"'\\"'#g;s#.*#par_create_bam='&'#" ; else echo "# par_create_bam="; fi ) +$( if [ ! -z ${VIASH_PAR_NO_SECONDARY+x} ]; then echo "${VIASH_PAR_NO_SECONDARY}" | sed "s#'#'\\"'\\"'#g;s#.*#par_no_secondary='&'#" ; else echo "# par_no_secondary="; fi ) +$( if [ ! -z ${VIASH_PAR_NO_LIBRARIES+x} ]; then echo "${VIASH_PAR_NO_LIBRARIES}" | sed "s#'#'\\"'\\"'#g;s#.*#par_no_libraries='&'#" ; else echo "# par_no_libraries="; fi ) +$( if [ ! -z ${VIASH_PAR_CHECK_LIBRARY_COMPATIBILITY+x} ]; then echo "${VIASH_PAR_CHECK_LIBRARY_COMPATIBILITY}" | sed "s#'#'\\"'\\"'#g;s#.*#par_check_library_compatibility='&'#" ; else echo "# par_check_library_compatibility="; fi ) +$( if [ ! -z ${VIASH_PAR_TENX_CLOUD_TOKEN+x} ]; then echo "${VIASH_PAR_TENX_CLOUD_TOKEN}" | sed "s#'#'\\"'\\"'#g;s#.*#par_tenx_cloud_token='&'#" ; else echo "# par_tenx_cloud_token="; fi ) +$( if [ ! -z ${VIASH_PAR_DRY+x} ]; then echo "${VIASH_PAR_DRY}" | sed "s#'#'\\"'\\"'#g;s#.*#par_dry='&'#" ; else echo "# par_dry="; fi ) +$( if [ ! -z ${VIASH_META_NAME+x} ]; then echo "${VIASH_META_NAME}" | sed "s#'#'\\"'\\"'#g;s#.*#meta_name='&'#" ; else echo "# meta_name="; fi ) +$( if [ ! -z ${VIASH_META_FUNCTIONALITY_NAME+x} ]; then echo "${VIASH_META_FUNCTIONALITY_NAME}" | sed "s#'#'\\"'\\"'#g;s#.*#meta_functionality_name='&'#" ; else echo "# meta_functionality_name="; fi ) +$( if [ ! -z ${VIASH_META_RESOURCES_DIR+x} ]; then echo "${VIASH_META_RESOURCES_DIR}" | sed "s#'#'\\"'\\"'#g;s#.*#meta_resources_dir='&'#" ; else echo "# meta_resources_dir="; fi ) +$( if [ ! -z ${VIASH_META_EXECUTABLE+x} ]; then echo "${VIASH_META_EXECUTABLE}" | sed "s#'#'\\"'\\"'#g;s#.*#meta_executable='&'#" ; else echo "# meta_executable="; fi ) +$( if [ ! -z ${VIASH_META_CONFIG+x} ]; then echo "${VIASH_META_CONFIG}" | sed "s#'#'\\"'\\"'#g;s#.*#meta_config='&'#" ; else echo "# meta_config="; fi ) +$( if [ ! -z ${VIASH_META_TEMP_DIR+x} ]; then echo "${VIASH_META_TEMP_DIR}" | sed "s#'#'\\"'\\"'#g;s#.*#meta_temp_dir='&'#" ; else echo "# meta_temp_dir="; fi ) +$( if [ ! -z ${VIASH_META_CPUS+x} ]; then echo "${VIASH_META_CPUS}" | sed "s#'#'\\"'\\"'#g;s#.*#meta_cpus='&'#" ; else echo "# meta_cpus="; fi ) +$( if [ ! -z ${VIASH_META_MEMORY_B+x} ]; then echo "${VIASH_META_MEMORY_B}" | sed "s#'#'\\"'\\"'#g;s#.*#meta_memory_b='&'#" ; else echo "# meta_memory_b="; fi ) +$( if [ ! -z ${VIASH_META_MEMORY_KB+x} ]; then echo "${VIASH_META_MEMORY_KB}" | sed "s#'#'\\"'\\"'#g;s#.*#meta_memory_kb='&'#" ; else echo "# meta_memory_kb="; fi ) +$( if [ ! -z ${VIASH_META_MEMORY_MB+x} ]; then echo "${VIASH_META_MEMORY_MB}" | sed "s#'#'\\"'\\"'#g;s#.*#meta_memory_mb='&'#" ; else echo "# meta_memory_mb="; fi ) +$( if [ ! -z ${VIASH_META_MEMORY_GB+x} ]; then echo "${VIASH_META_MEMORY_GB}" | sed "s#'#'\\"'\\"'#g;s#.*#meta_memory_gb='&'#" ; else echo "# meta_memory_gb="; fi ) +$( if [ ! -z ${VIASH_META_MEMORY_TB+x} ]; then echo "${VIASH_META_MEMORY_TB}" | sed "s#'#'\\"'\\"'#g;s#.*#meta_memory_tb='&'#" ; else echo "# meta_memory_tb="; fi ) +$( if [ ! -z ${VIASH_META_MEMORY_PB+x} ]; then echo "${VIASH_META_MEMORY_PB}" | sed "s#'#'\\"'\\"'#g;s#.*#meta_memory_pb='&'#" ; else echo "# meta_memory_pb="; fi ) +$( if [ ! -z ${VIASH_META_MEMORY_KIB+x} ]; then echo "${VIASH_META_MEMORY_KIB}" | sed "s#'#'\\"'\\"'#g;s#.*#meta_memory_kib='&'#" ; else echo "# meta_memory_kib="; fi ) +$( if [ ! -z ${VIASH_META_MEMORY_MIB+x} ]; then echo "${VIASH_META_MEMORY_MIB}" | sed "s#'#'\\"'\\"'#g;s#.*#meta_memory_mib='&'#" ; else echo "# meta_memory_mib="; fi ) +$( if [ ! -z ${VIASH_META_MEMORY_GIB+x} ]; then echo "${VIASH_META_MEMORY_GIB}" | sed "s#'#'\\"'\\"'#g;s#.*#meta_memory_gib='&'#" ; else echo "# meta_memory_gib="; fi ) +$( if [ ! -z ${VIASH_META_MEMORY_TIB+x} ]; then echo "${VIASH_META_MEMORY_TIB}" | sed "s#'#'\\"'\\"'#g;s#.*#meta_memory_tib='&'#" ; else echo "# meta_memory_tib="; fi ) +$( if [ ! -z ${VIASH_META_MEMORY_PIB+x} ]; then echo "${VIASH_META_MEMORY_PIB}" | sed "s#'#'\\"'\\"'#g;s#.*#meta_memory_pib='&'#" ; else echo "# meta_memory_pib="; fi ) + +## VIASH END + +## PROCESS INPUT FILES +# We change into the tempdir later, so we need absolute paths. +par_transcriptome=\\$(realpath \\$par_transcriptome) +par_output=\\$(realpath \\$par_output) + +# create temporary directory +tmp_dir=\\$(mktemp -d "\\$meta_temp_dir/\\$meta_name-XXXXXXXX") +function clean_up { + rm -rf "\\$tmp_dir" +} +trap clean_up EXIT + +# process inputs +# for every fastq file found, make a symlink into the tempdir +fastq_dir="\\$tmp_dir/fastqs" +mkdir -p "\\$fastq_dir" +IFS=";" +for var in \\$par_fastqs; do + unset IFS + abs_path=\\$(realpath \\$var) + if [ -d "\\$abs_path" ]; then + find "\\$abs_path" -name *.fastq.gz -exec ln -s {} "\\$fastq_dir" \\\\; + else + ln -s "\\$abs_path" "\\$fastq_dir" + fi +done + +# process reference +# Note: should we do this? +if file "\\${par_transcriptome}" | grep -q 'gzip compressed data'; then + echo "> Untarring transcriptome" + ref_dir="\\${tmp_dir}/reference" + mkdir -p "\\${ref_dir}" + tar -xvf "\\${par_transcriptome}" -C "\\${ref_dir}" + par_transcriptome="\\${ref_dir}" +fi + +## PROCESS PARAMETERS +# unset flags +[[ "\\$par_no_secondary" == "false" ]] && unset par_no_secondary +[[ "\\$par_no_libraries" == "false" ]] && unset par_no_libraries +[[ "\\$par_dry" == "false" ]] && unset par_dry + + +# change ifs from ; to , +par_lanes=\\${par_lanes//;/,} + +# if memory is defined, subtract 2GB from memory +if [[ "\\$meta_memory_gb" != "" ]]; then + # if memory is less than 2gb, unset it + if [[ "\\$meta_memory_gb" -lt 2 ]]; then + echo "WARNING: Memory is less than 2GB, unsetting memory requirements" + unset meta_memory_gb + else + meta_memory_gb=\\$((meta_memory_gb-2)) + fi +fi + +## RUN CELLRANGER COUNT +echo "> Running cellranger count" +cd "\\$tmp_dir" +id=run +cellranger count \\\\ + --id="\\$id" \\\\ + --fastqs="\\${fastq_dir}" \\\\ + --transcriptome="\\${par_transcriptome}" \\\\ + --disable-ui \\\\ + \\${meta_cpus:+"--localcores=\\${meta_cpus}"} \\\\ + \\${meta_memory_gb:+"--localmem=\\${meta_memory_gb}"} \\\\ + \\${par_description:+"--description=\\${par_description}"} \\\\ + \\${par_sample:+"--sample=\\${par_sample}"} \\\\ + \\${par_lanes:+"--lanes=\\${par_lanes}"} \\\\ + \\${par_libraries:+"--libraries=\\${par_libraries}"} \\\\ + \\${par_feature_ref:+"--feature-ref=\\${par_feature_ref}"} \\\\ + \\${par_expect_cells:+"--expect-cells=\\${par_expect_cells}"} \\\\ + \\${par_force_cells:+"--force-cells=\\${par_force_cells}"} \\\\ + \\${par_create_bam:+"--create-bam=\\${par_create_bam}"} \\\\ + \\${par_no_secondary:+--nosecondary} \\\\ + \\${par_r1_length:+"--r1-length=\\${par_r1_length}"} \\\\ + \\${par_r2_length:+"--r2-length=\\${par_r2_length}"} \\\\ + \\${par_include_introns:+--include-introns=\\${par_include_introns}} \\\\ + \\${par_chemistry:+"--chemistry=\\${par_chemistry}"} \\\\ + \\${par_no_libraries:+--no-libraries} \\\\ + \\${par_check_library_compatibility:+"--check-library-compatibility=\\${par_check_library_compatibility}"} \\\\ + \\${par_cell_annotation_model:+"--cell-annotation-model=\\${par_cell_annotation_model}"} \\\\ + \\${par_min_cripser_umi:+"--min-cripser-umi=\\${par_min_cripser_umi}"} \\\\ + \\${par_tenx_cloud_token:+"--tenx-cloud-token-path=\\${par_tenx_cloud_token}"} \\\\ + \\${par_dry:+--dry-run} + +echo "> Copying output" +if [ -d "\\$id/outs/" ]; then + if [ ! -d "\\${par_output}" ]; then + mkdir -p "\\${par_output}" + fi + mv "\\$id/outs/"* "\\${par_output}" +fi + +exit 0 +VIASHMAIN +bash "$tempscript" +''' + + return vdsl3WorkflowFactory(args, meta, rawScript) +} + + + +/** + * Generate a workflow for VDSL3 modules. + * + * This function is called by the workflowFactory() function. + * + * Input channel: [id, input_map] + * Output channel: [id, output_map] + * + * Internally, this workflow will convert the input channel + * to a format which the Nextflow module will be able to handle. + */ +def vdsl3WorkflowFactory(Map args, Map meta, String rawScript) { + def key = args["key"] + def processObj = null + + workflow processWf { + take: input_ + main: + + if (processObj == null) { + processObj = _vdsl3ProcessFactory(args, meta, rawScript) + } + + output_ = input_ + | map { tuple -> + def id = tuple[0] + def data_ = tuple[1] + + if (workflow.stubRun) { + // add id if missing + data_ = [id: 'stub'] + data_ + } + + // process input files separately + def inputPaths = meta.config.allArguments + .findAll { it.type == "file" && it.direction == "input" } + .collect { par -> + def val = data_.containsKey(par.plainName) ? data_[par.plainName] : [] + def inputFiles = [] + if (val == null) { + inputFiles = [] + } else if (val instanceof List) { + inputFiles = val + } else if (val instanceof Path) { + inputFiles = [ val ] + } else { + inputFiles = [] + } + if (!workflow.stubRun) { + // throw error when an input file doesn't exist + inputFiles.each{ file -> + assert file.exists() : + "Error in module '${key}' id '${id}' argument '${par.plainName}'.\n" + + " Required input file does not exist.\n" + + " Path: '$file'.\n" + + " Expected input file to exist" + } + } + inputFiles + } + + // remove input files + def argsExclInputFiles = meta.config.allArguments + .findAll { (it.type != "file" || it.direction != "input") && data_.containsKey(it.plainName) } + .collectEntries { par -> + def parName = par.plainName + def val = data_[parName] + if (par.multiple && val instanceof Collection) { + val = val.join(par.multiple_sep) + } + if (par.direction == "output" && par.type == "file") { + val = val + .replaceAll('\\$id', id) + .replaceAll('\\$\\{id\\}', id) + .replaceAll('\\$key', key) + .replaceAll('\\$\\{key\\}', key) + } + [parName, val] + } + + [ id ] + inputPaths + [ argsExclInputFiles, meta.resources_dir ] + } + | processObj + | map { output -> + def outputFiles = meta.config.allArguments + .findAll { it.type == "file" && it.direction == "output" } + .indexed() + .collectEntries{ index, par -> + def out = output[index + 1] + // strip dummy '.exitcode' file from output (see nextflow-io/nextflow#2678) + if (!out instanceof List || out.size() <= 1) { + if (par.multiple) { + out = [] + } else { + assert !par.required : + "Error in module '${key}' id '${output[0]}' argument '${par.plainName}'.\n" + + " Required output file is missing" + out = null + } + } else if (out.size() == 2 && !par.multiple) { + out = out[1] + } else { + out = out.drop(1) + } + [ par.plainName, out ] + } + + // drop null outputs + outputFiles.removeAll{it.value == null} + + [ output[0], outputFiles ] + } + emit: output_ + } + + return processWf +} + +// depends on: session? +def _vdsl3ProcessFactory(Map workflowArgs, Map meta, String rawScript) { + // autodetect process key + def wfKey = workflowArgs["key"] + def procKeyPrefix = "${wfKey}_process" + def scriptMeta = nextflow.script.ScriptMeta.current() + def existing = scriptMeta.getProcessNames().findAll{it.startsWith(procKeyPrefix)} + def numbers = existing.collect{it.replace(procKeyPrefix, "0").toInteger()} + def newNumber = (numbers + [-1]).max() + 1 + + def procKey = newNumber == 0 ? procKeyPrefix : "$procKeyPrefix$newNumber" + + if (newNumber > 0) { + log.warn "Key for module '${wfKey}' is duplicated.\n", + "If you run a component multiple times in the same workflow,\n" + + "it's recommended you set a unique key for every call,\n" + + "for example: ${wfKey}.run(key: \"foo\")." + } + + // subset directives and convert to list of tuples + def drctv = workflowArgs.directives + + // TODO: unit test the two commands below + // convert publish array into tags + def valueToStr = { val -> + // ignore closures + if (val instanceof CharSequence) { + if (!val.matches('^[{].*[}]$')) { + '"' + val + '"' + } else { + val + } + } else if (val instanceof List) { + "[" + val.collect{valueToStr(it)}.join(", ") + "]" + } else if (val instanceof Map) { + "[" + val.collect{k, v -> k + ": " + valueToStr(v)}.join(", ") + "]" + } else { + val.inspect() + } + } + + // multiple entries allowed: label, publishdir + def drctvStrs = drctv.collect { key, value -> + if (key in ["label", "publishDir"]) { + value.collect{ val -> + if (val instanceof Map) { + "\n$key " + val.collect{ k, v -> k + ": " + valueToStr(v) }.join(", ") + } else if (val == null) { + "" + } else { + "\n$key " + valueToStr(val) + } + }.join() + } else if (value instanceof Map) { + "\n$key " + value.collect{ k, v -> k + ": " + valueToStr(v) }.join(", ") + } else { + "\n$key " + valueToStr(value) + } + }.join() + + def inputPaths = meta.config.allArguments + .findAll { it.type == "file" && it.direction == "input" } + .collect { ', path(viash_par_' + it.plainName + ', stageAs: "_viash_par/' + it.plainName + '_?/*")' } + .join() + + def outputPaths = meta.config.allArguments + .findAll { it.type == "file" && it.direction == "output" } + .collect { par -> + // insert dummy into every output (see nextflow-io/nextflow#2678) + if (!par.multiple) { + ', path{[".exitcode", args.' + par.plainName + ']}' + } else { + ', path{[".exitcode"] + args.' + par.plainName + '}' + } + } + .join() + + // TODO: move this functionality somewhere else? + if (workflowArgs.auto.transcript) { + outputPaths = outputPaths + ', path{[".exitcode", ".command*"]}' + } else { + outputPaths = outputPaths + ', path{[".exitcode"]}' + } + + // create dirs for output files (based on BashWrapper.createParentFiles) + def createParentStr = meta.config.allArguments + .findAll { it.type == "file" && it.direction == "output" && it.create_parent } + .collect { par -> + def contents = "args[\"${par.plainName}\"] instanceof List ? args[\"${par.plainName}\"].join('\" \"') : args[\"${par.plainName}\"]" + "\${ args.containsKey(\"${par.plainName}\") ? \"mkdir_parent '\" + escapeText(${contents}) + \"'\" : \"\" }" + } + .join("\n") + + // construct inputFileExports + def inputFileExports = meta.config.allArguments + .findAll { it.type == "file" && it.direction.toLowerCase() == "input" } + .collect { par -> + def contents = "viash_par_${par.plainName} instanceof List ? viash_par_${par.plainName}.join(\"${par.multiple_sep}\") : viash_par_${par.plainName}" + "\n\${viash_par_${par.plainName}.empty ? \"\" : \"export VIASH_PAR_${par.plainName.toUpperCase()}='\" + escapeText(${contents}) + \"'\"}" + } + + // NOTE: if using docker, use /tmp instead of tmpDir! + def tmpDir = java.nio.file.Paths.get( + System.getenv('NXF_TEMP') ?: + System.getenv('VIASH_TEMP') ?: + System.getenv('VIASH_TMPDIR') ?: + System.getenv('VIASH_TEMPDIR') ?: + System.getenv('VIASH_TMP') ?: + System.getenv('TEMP') ?: + System.getenv('TMPDIR') ?: + System.getenv('TEMPDIR') ?: + System.getenv('TMP') ?: + '/tmp' + ).toAbsolutePath() + + // construct stub + def stub = meta.config.allArguments + .findAll { it.type == "file" && it.direction == "output" } + .collect { par -> + "\${ args.containsKey(\"${par.plainName}\") ? \"touch2 \\\"\" + (args[\"${par.plainName}\"] instanceof String ? args[\"${par.plainName}\"].replace(\"_*\", \"_0\") : args[\"${par.plainName}\"].join('\" \"')) + \"\\\"\" : \"\" }" + } + .join("\n") + + // escape script + def escapedScript = rawScript.replace('\\', '\\\\').replace('$', '\\$').replace('"""', '\\"\\"\\"') + + // publishdir assert + def assertStr = (workflowArgs.auto.publish == true) || workflowArgs.auto.transcript ? + """\nassert task.publishDir.size() > 0: "if auto.publish is true, params.publish_dir needs to be defined.\\n Example: --publish_dir './output/'" """ : + "" + + // generate process string + def procStr = + """nextflow.enable.dsl=2 + | + |def escapeText = { s -> s.toString().replaceAll("'", "'\\\"'\\\"'") } + |process $procKey {$drctvStrs + |input: + | tuple val(id)$inputPaths, val(args), path(resourcesDir, stageAs: ".viash_meta_resources") + |output: + | tuple val("\$id")$outputPaths, optional: true + |stub: + |\"\"\" + |touch2() { mkdir -p "\\\$(dirname "\\\$1")" && touch "\\\$1" ; } + |$stub + |\"\"\" + |script:$assertStr + |def parInject = args + | .findAll{key, value -> value != null} + | .collect{key, value -> "export VIASH_PAR_\${key.toUpperCase()}='\${escapeText(value)}'"} + | .join("\\n") + |\"\"\" + |# meta exports + |export VIASH_META_RESOURCES_DIR="\${resourcesDir}" + |export VIASH_META_TEMP_DIR="${['docker', 'podman', 'charliecloud'].any{ it == workflow.containerEngine } ? '/tmp' : tmpDir}" + |export VIASH_META_NAME="${meta.config.name}" + |# export VIASH_META_EXECUTABLE="\\\$VIASH_META_RESOURCES_DIR/\\\$VIASH_META_NAME" + |export VIASH_META_CONFIG="\\\$VIASH_META_RESOURCES_DIR/.config.vsh.yaml" + |\${task.cpus ? "export VIASH_META_CPUS=\$task.cpus" : "" } + |\${task.memory?.bytes != null ? "export VIASH_META_MEMORY_B=\$task.memory.bytes" : "" } + |if [ ! -z \\\${VIASH_META_MEMORY_B+x} ]; then + | export VIASH_META_MEMORY_KB=\\\$(( (\\\$VIASH_META_MEMORY_B+999) / 1000 )) + | export VIASH_META_MEMORY_MB=\\\$(( (\\\$VIASH_META_MEMORY_KB+999) / 1000 )) + | export VIASH_META_MEMORY_GB=\\\$(( (\\\$VIASH_META_MEMORY_MB+999) / 1000 )) + | export VIASH_META_MEMORY_TB=\\\$(( (\\\$VIASH_META_MEMORY_GB+999) / 1000 )) + | export VIASH_META_MEMORY_PB=\\\$(( (\\\$VIASH_META_MEMORY_TB+999) / 1000 )) + | export VIASH_META_MEMORY_KIB=\\\$(( (\\\$VIASH_META_MEMORY_B+1023) / 1024 )) + | export VIASH_META_MEMORY_MIB=\\\$(( (\\\$VIASH_META_MEMORY_KIB+1023) / 1024 )) + | export VIASH_META_MEMORY_GIB=\\\$(( (\\\$VIASH_META_MEMORY_MIB+1023) / 1024 )) + | export VIASH_META_MEMORY_TIB=\\\$(( (\\\$VIASH_META_MEMORY_GIB+1023) / 1024 )) + | export VIASH_META_MEMORY_PIB=\\\$(( (\\\$VIASH_META_MEMORY_TIB+1023) / 1024 )) + |fi + | + |# meta synonyms + |export VIASH_TEMP="\\\$VIASH_META_TEMP_DIR" + |export TEMP_DIR="\\\$VIASH_META_TEMP_DIR" + | + |# create output dirs if need be + |function mkdir_parent { + | for file in "\\\$@"; do + | mkdir -p "\\\$(dirname "\\\$file")" + | done + |} + |$createParentStr + | + |# argument exports${inputFileExports.join()} + |\$parInject + | + |# process script + |${escapedScript} + |\"\"\" + |} + |""".stripMargin() + + // TODO: print on debug + // if (workflowArgs.debug == true) { + // println("######################\n$procStr\n######################") + // } + + // write process to temp file + def tempFile = java.nio.file.Files.createTempFile("viash-process-${procKey}-", ".nf") + addShutdownHook { java.nio.file.Files.deleteIfExists(tempFile) } + tempFile.text = procStr + + // create process from temp file + def binding = new nextflow.script.ScriptBinding([:]) + def session = nextflow.Nextflow.getSession() + def parser = _getScriptLoader(session) + .setModule(true) + .setBinding(binding) + def moduleScript = parser.runScript(tempFile) + .getScript() + + // register module in meta + def module = new nextflow.script.IncludeDef.Module(name: procKey) + scriptMeta.addModule(moduleScript, module.name, module.alias) + + // retrieve and return process from meta + return scriptMeta.getProcess(procKey) +} + +// use Reflection to get a ScriptParser / ScriptLoader +// <25.02.0-edge: new nextflow.script.ScriptParser(session) +// >=25.02.0-edge: nextflow.script.ScriptLoaderFactory.create(session) +def _getScriptLoader(nextflow.Session session) { + // try using the old method + try { + Class scriptParserClass = Class.forName('nextflow.script.ScriptParser') + return scriptParserClass.getDeclaredConstructor(nextflow.Session).newInstance(session) + } catch (ClassNotFoundException e) { + // else try with the new method + try { + Class scriptLoaderFactoryClass = Class.forName('nextflow.script.ScriptLoaderFactory') + def createMethod = scriptLoaderFactoryClass.getDeclaredMethod('create', nextflow.Session) + return createMethod.invoke(null, session) // null because create is static + } catch (ClassNotFoundException | NoSuchMethodException | IllegalAccessException | java.lang.reflect.InvocationTargetException e2) { + // Handle the case where neither class is found + throw new Exception("Neither nextflow.script.ScriptParser nor nextflow.script.ScriptLoaderFactory could be found. Is this a compatible Nextflow version?", e2) + } + } +} + +// defaults +meta["defaults"] = [ + // key to be used to trace the process and determine output names + key: null, + + // fixed arguments to be passed to script + args: [:], + + // default directives + directives: readJsonBlob('''{ + "container" : { + "registry" : "images.viash-hub.com", + "image" : "vsh/biobox/cellranger/cellranger_count", + "tag" : "main" + }, + "tag" : "$id" +}'''), + + // auto settings + auto: readJsonBlob('''{ + "simplifyInput" : true, + "simplifyOutput" : false, + "transcript" : false, + "publish" : false +}'''), + + // Apply a map over the incoming tuple + // Example: `{ tup -> [ tup[0], [input: tup[1].output] ] + tup.drop(2) }` + map: null, + + // Apply a map over the ID element of a tuple (i.e. the first element) + // Example: `{ id -> id + "_foo" }` + mapId: null, + + // Apply a map over the data element of a tuple (i.e. the second element) + // Example: `{ data -> [ input: data.output ] }` + mapData: null, + + // Apply a map over the passthrough elements of a tuple (i.e. the tuple excl. the first two elements) + // Example: `{ pt -> pt.drop(1) }` + mapPassthrough: null, + + // Filter the channel + // Example: `{ tup -> tup[0] == "foo" }` + filter: null, + + // Choose whether or not to run the component on the tuple if the condition is true. + // Otherwise, the tuple will be passed through. + // Example: `{ tup -> tup[0] != "skip_this" }` + runIf: null, + + // Rename keys in the data field of the tuple (i.e. the second element) + // Will likely be deprecated in favour of `fromState`. + // Example: `[ "new_key": "old_key" ]` + renameKeys: null, + + // Fetch data from the state and pass it to the module without altering the current state. + // + // `fromState` should be `null`, `List[String]`, `Map[String, String]` or a function. + // + // - If it is `null`, the state will be passed to the module as is. + // - If it is a `List[String]`, the data will be the values of the state at the given keys. + // - If it is a `Map[String, String]`, the data will be the values of the state at the given keys, with the keys renamed according to the map. + // - If it is a function, the tuple (`[id, state]`) in the channel will be passed to the function, and the result will be used as the data. + // + // Example: `{ id, state -> [input: state.fastq_file] }` + // Default: `null` + fromState: null, + + // Determine how the state should be updated after the module has been run. + // + // `toState` should be `null`, `List[String]`, `Map[String, String]` or a function. + // + // - If it is `null`, the state will be replaced with the output of the module. + // - If it is a `List[String]`, the state will be updated with the values of the data at the given keys. + // - If it is a `Map[String, String]`, the state will be updated with the values of the data at the given keys, with the keys renamed according to the map. + // - If it is a function, a tuple (`[id, output, state]`) will be passed to the function, and the result will be used as the new state. + // + // Example: `{ id, output, state -> state + [counts: state.output] }` + // Default: `{ id, output, state -> output }` + toState: null, + + // Whether or not to print debug messages + // Default: `false` + debug: false +] + +// initialise default workflow +meta["workflow"] = workflowFactory([key: meta.config.name], meta.defaults, meta) + +// add workflow to environment +nextflow.script.ScriptMeta.current().addDefinition(meta.workflow) + +// anonymous workflow for running this module as a standalone +workflow { + // add id argument if it's not already in the config + // TODO: deep copy + def newConfig = deepClone(meta.config) + def newParams = deepClone(params) + + def argsContainsId = newConfig.allArguments.any{it.plainName == "id"} + if (!argsContainsId) { + def idArg = [ + 'name': '--id', + 'required': false, + 'type': 'string', + 'description': 'A unique id for every entry.', + 'multiple': false + ] + newConfig.arguments.add(0, idArg) + newConfig = processConfig(newConfig) + } + if (!newParams.containsKey("id")) { + newParams.id = "run" + } + + helpMessage(newConfig) + + channelFromParams(newParams, newConfig) + // make sure id is not in the state if id is not in the args + | map {id, state -> + if (!argsContainsId) { + [id, state.findAll{k, v -> k != "id"}] + } else { + [id, state] + } + } + | meta.workflow.run( + auto: [ publish: "state" ] + ) +} + +// END COMPONENT-SPECIFIC CODE diff --git a/target/nextflow/cellranger/cellranger_count/nextflow.config b/target/nextflow/cellranger/cellranger_count/nextflow.config new file mode 100644 index 00000000..bf967078 --- /dev/null +++ b/target/nextflow/cellranger/cellranger_count/nextflow.config @@ -0,0 +1,126 @@ +manifest { + name = 'cellranger/cellranger_count' + mainScript = 'main.nf' + nextflowVersion = '!>=20.12.1-edge' + version = 'main' + description = 'Count gene expression and/or feature barcode reads from a single sample and GEM well\n' + author = 'Emma Rousseau, Robrecht Cannoodt' +} + +process.container = 'nextflow/bash:latest' + +// detect tempdir +tempDir = java.nio.file.Paths.get( + System.getenv('NXF_TEMP') ?: + System.getenv('VIASH_TEMP') ?: + System.getenv('TEMPDIR') ?: + System.getenv('TMPDIR') ?: + '/tmp' +).toAbsolutePath() + +profiles { + no_publish { + process { + withName: '.*' { + publishDir = [ + enabled: false + ] + } + } + } + mount_temp { + docker.temp = tempDir + podman.temp = tempDir + charliecloud.temp = tempDir + } + docker { + docker.enabled = true + // docker.userEmulation = true + singularity.enabled = false + podman.enabled = false + shifter.enabled = false + charliecloud.enabled = false + } + singularity { + singularity.enabled = true + singularity.autoMounts = true + docker.enabled = false + podman.enabled = false + shifter.enabled = false + charliecloud.enabled = false + } + podman { + podman.enabled = true + docker.enabled = false + singularity.enabled = false + shifter.enabled = false + charliecloud.enabled = false + } + shifter { + shifter.enabled = true + docker.enabled = false + singularity.enabled = false + podman.enabled = false + charliecloud.enabled = false + } + charliecloud { + charliecloud.enabled = true + docker.enabled = false + singularity.enabled = false + podman.enabled = false + shifter.enabled = false + } +} + +process{ + withLabel: mem1gb { memory = 1000000000.B } + withLabel: mem2gb { memory = 2000000000.B } + withLabel: mem5gb { memory = 5000000000.B } + withLabel: mem10gb { memory = 10000000000.B } + withLabel: mem20gb { memory = 20000000000.B } + withLabel: mem50gb { memory = 50000000000.B } + withLabel: mem100gb { memory = 100000000000.B } + withLabel: mem200gb { memory = 200000000000.B } + withLabel: mem500gb { memory = 500000000000.B } + withLabel: mem1tb { memory = 1000000000000.B } + withLabel: mem2tb { memory = 2000000000000.B } + withLabel: mem5tb { memory = 5000000000000.B } + withLabel: mem10tb { memory = 10000000000000.B } + withLabel: mem20tb { memory = 20000000000000.B } + withLabel: mem50tb { memory = 50000000000000.B } + withLabel: mem100tb { memory = 100000000000000.B } + withLabel: mem200tb { memory = 200000000000000.B } + withLabel: mem500tb { memory = 500000000000000.B } + withLabel: mem1gib { memory = 1073741824.B } + withLabel: mem2gib { memory = 2147483648.B } + withLabel: mem4gib { memory = 4294967296.B } + withLabel: mem8gib { memory = 8589934592.B } + withLabel: mem16gib { memory = 17179869184.B } + withLabel: mem32gib { memory = 34359738368.B } + withLabel: mem64gib { memory = 68719476736.B } + withLabel: mem128gib { memory = 137438953472.B } + withLabel: mem256gib { memory = 274877906944.B } + withLabel: mem512gib { memory = 549755813888.B } + withLabel: mem1tib { memory = 1099511627776.B } + withLabel: mem2tib { memory = 2199023255552.B } + withLabel: mem4tib { memory = 4398046511104.B } + withLabel: mem8tib { memory = 8796093022208.B } + withLabel: mem16tib { memory = 17592186044416.B } + withLabel: mem32tib { memory = 35184372088832.B } + withLabel: mem64tib { memory = 70368744177664.B } + withLabel: mem128tib { memory = 140737488355328.B } + withLabel: mem256tib { memory = 281474976710656.B } + withLabel: mem512tib { memory = 562949953421312.B } + withLabel: cpu1 { cpus = 1 } + withLabel: cpu2 { cpus = 2 } + withLabel: cpu5 { cpus = 5 } + withLabel: cpu10 { cpus = 10 } + withLabel: cpu20 { cpus = 20 } + withLabel: cpu50 { cpus = 50 } + withLabel: cpu100 { cpus = 100 } + withLabel: cpu200 { cpus = 200 } + withLabel: cpu500 { cpus = 500 } + withLabel: cpu1000 { cpus = 1000 } +} + + diff --git a/target/nextflow/cellranger/cellranger_count/nextflow_schema.json b/target/nextflow/cellranger/cellranger_count/nextflow_schema.json new file mode 100644 index 00000000..65f1d1a8 --- /dev/null +++ b/target/nextflow/cellranger/cellranger_count/nextflow_schema.json @@ -0,0 +1,343 @@ +{ +"$schema": "http://json-schema.org/draft-07/schema", +"title": "cellranger_count", +"description": "Count gene expression and/or feature barcode reads from a single sample and GEM well\n", +"type": "object", +"definitions": { + + + + "outputs" : { + "title": "Outputs", + "type": "object", + "description": "No description", + "properties": { + + + "output": { + "type": + "string", + "description": "Type: `file`, required, default: `$id.$key.output`. The folder to store the alignment results", + "help_text": "Type: `file`, required, default: `$id.$key.output`. The folder to store the alignment results." + , + "default":"$id.$key.output" + } + + + , + "create_bam": { + "type": + "boolean", + "description": "Type: `boolean_true`, default: `false`. Enable or disable BAM file generation", + "help_text": "Type: `boolean_true`, default: `false`. Enable or disable BAM file generation. Setting this to false\nreduces the total computation time and the size of the output\ndirectory (BAM file not generated). We recommend setting\nit to true if unsure. See https://10xgen.com/create-bam for\nadditional guidance.\n" + , + "default":false + } + + + , + "no_secondary": { + "type": + "boolean", + "description": "Type: `boolean_true`, default: `false`. Disable secondary analysis, e", + "help_text": "Type: `boolean_true`, default: `false`. Disable secondary analysis, e.g. clustering." + , + "default":false + } + + +} +}, + + + "fastq inputs" : { + "title": "FASTQ inputs", + "type": "object", + "description": "No description", + "properties": { + + + "fastqs": { + "type": + "string", + "description": "Type: List of `file`, required, example: `sample_S1_L001_R1_001.fastq.gz;sample_S1_L001_R2_001.fastq.gz`, multiple_sep: `\";\"`. The fastq", + "help_text": "Type: List of `file`, required, example: `sample_S1_L001_R1_001.fastq.gz;sample_S1_L001_R2_001.fastq.gz`, multiple_sep: `\";\"`. The fastq.gz files to align. Can also be a single directory containing fastq.gz files." + + } + + + , + "description": { + "type": + "string", + "description": "Type: `string`. Sample description to embed in output files", + "help_text": "Type: `string`. Sample description to embed in output files" + + } + + + , + "sample": { + "type": + "string", + "description": "Type: `string`, example: `sample_S1`. Prefix of the filenames of FASTQs to select", + "help_text": "Type: `string`, example: `sample_S1`. Prefix of the filenames of FASTQs to select" + + } + + + , + "lanes": { + "type": + "string", + "description": "Type: List of `integer`, example: `1;2;3`, multiple_sep: `\";\"`. Only use FASTQs from selected lanes", + "help_text": "Type: List of `integer`, example: `1;2;3`, multiple_sep: `\";\"`. Only use FASTQs from selected lanes." + + } + + + , + "libraries": { + "type": + "string", + "description": "Type: `file`, example: `libraries.csv`. CSV file declaring input library data sources", + "help_text": "Type: `file`, example: `libraries.csv`. CSV file declaring input library data sources" + + } + + +} +}, + + + "reference inputs" : { + "title": "Reference inputs", + "type": "object", + "description": "No description", + "properties": { + + + "transcriptome": { + "type": + "string", + "description": "Type: `file`, required, example: `transcriptome.tar.gz`. Path of folder containing 10x-compatible transcriptome reference", + "help_text": "Type: `file`, required, example: `transcriptome.tar.gz`. Path of folder containing 10x-compatible transcriptome reference. Can also be a `.tar.gz` file." + + } + + + , + "feature_ref": { + "type": + "string", + "description": "Type: `file`, example: `feature_ref.csv`. Feature reference CSV file, declaring Feature Barcode constructs and associated barcodes", + "help_text": "Type: `file`, example: `feature_ref.csv`. Feature reference CSV file, declaring Feature Barcode constructs and associated barcodes" + + } + + +} +}, + + + "analysis settings" : { + "title": "Analysis settings", + "type": "object", + "description": "No description", + "properties": { + + + "expect_cells": { + "type": + "integer", + "description": "Type: `integer`. Expected number of recovered cells, used as input to cell calling algorithm", + "help_text": "Type: `integer`. Expected number of recovered cells, used as input to cell calling algorithm." + + } + + + , + "force_cells": { + "type": + "integer", + "description": "Type: `integer`. Force pipeline to use this number of cells, bypassing cell calling algorithm", + "help_text": "Type: `integer`. Force pipeline to use this number of cells, bypassing cell calling algorithm. Minimum: 10.\n" + + } + + + , + "r1_length": { + "type": + "integer", + "description": "Type: `integer`. Hard trim the input Read 1 to this length before analysis", + "help_text": "Type: `integer`. Hard trim the input Read 1 to this length before analysis" + + } + + + , + "r2_length": { + "type": + "integer", + "description": "Type: `integer`. Hard trim the input Read 2 to this length before analysis", + "help_text": "Type: `integer`. Hard trim the input Read 2 to this length before analysis" + + } + + + , + "include_introns": { + "type": + "boolean", + "description": "Type: `boolean_true`, default: `false`. Include intronic reads in count", + "help_text": "Type: `boolean_true`, default: `false`. Include intronic reads in count. Default: true." + , + "default":false + } + + + , + "chemistry": { + "type": + "string", + "description": "Type: `string`, example: `auto`. Assay configuration", + "help_text": "Type: `string`, example: `auto`. Assay configuration.\n\nNOTE: by default the assay configuration is detected automatically, which is the recommended mode. You usually will not need to specify a chemistry. \n\nOptions are:\n\n- `\u0027auto\u0027` for autodetection\n- `\u0027threeprime\u0027` for Single Cell 3\u0027\n- `\u0027fiveprime\u0027` for Single Cell 5\u0027\n- `\u0027SC3Pv1\u0027` or `\u0027SC3Pv2\u0027` or `\u0027SC3Pv3\u0027` or `\u0027SC3Pv4\u0027` for\nSingle Cell 3\u0027 v1/v2/v3/v4\n- `\u0027SC3Pv3LT\u0027` for Single Cell 3\u0027 v3 LT\n- `\u0027SC3Pv3HT\u0027` for Single Cell 3\u0027 v3 HT\n- `\u0027SC5P-PE\u0027` or `\u0027SC5P-PE-v3\u0027` or `\u0027SC5P-R2\u0027` or `\u0027SC5P-R2-v3\u0027` for Single Cell 5\u0027, paired-end/R2-only\n- `\u0027SC-FB\u0027` for Single Cell Antibody-only 3\u0027 v2 or 5\u0027\n\nTo analyze the GEX portion of multiome data, chemistry must be set to `\u0027ARC-v1\u0027`.\n\nSee the [10x Genomics FAQ](https://kb.10xgenomics.com/hc/en-us/articles/115003764132-How-does-Cell-Ranger-auto-detect-chemistry-) for more information on how chemistry is detected.\n" + + } + + + , + "cell_annotation_model": { + "type": + "string", + "description": "Type: `string`. Cell annotation model to use", + "help_text": "Type: `string`. Cell annotation model to use. Valid model names can be viewed by\nrunning `cellranger cloud annotation models` or on the\n[10x Genomics Support site](https://www.10xgenomics.com/support).\n\nIf \"auto\", uses the default model for the species.\nIf not provided, does not run cell annotation.\n" + + } + + + , + "min_crispr_umi": { + "type": + "integer", + "description": "Type: `integer`. Minimum CRISPR UMI threshold", + "help_text": "Type: `integer`. Minimum CRISPR UMI threshold. Default: 3.\n" + + } + + +} +}, + + + "additional arguments" : { + "title": "Additional arguments", + "type": "object", + "description": "No description", + "properties": { + + + "no_libraries": { + "type": + "boolean", + "description": "Type: `boolean_true`, default: `false`. Proceed with processing using a `--feature_ref` but no Feature Barcode libraries specified with the \u0027libraries\u0027 flag", + "help_text": "Type: `boolean_true`, default: `false`. Proceed with processing using a `--feature_ref` but no Feature Barcode libraries specified with the \u0027libraries\u0027 flag.\n" + , + "default":false + } + + + , + "check_library_compatibility": { + "type": + "boolean", + "description": "Type: `boolean_true`, default: `false`. Whether to check for barcode compatibility between libraries", + "help_text": "Type: `boolean_true`, default: `false`. Whether to check for barcode compatibility between libraries.\n" + , + "default":false + } + + + , + "tenx_cloud_token": { + "type": + "string", + "description": "Type: `file`. The path to the 10x Cloud Analysis user token used to enable cell\nannotation", + "help_text": "Type: `file`. The path to the 10x Cloud Analysis user token used to enable cell\nannotation. If not provided, will default to the location stored\nthrough cellranger cloud auth setup.\n" + + } + + + , + "dry": { + "type": + "boolean", + "description": "Type: `boolean_true`, default: `false`. Do not execute the pipeline", + "help_text": "Type: `boolean_true`, default: `false`. Do not execute the pipeline. Generate a pipeline invocation (.mro) file and stop.\n" + , + "default":false + } + + +} +}, + + + "nextflow input-output arguments" : { + "title": "Nextflow input-output arguments", + "type": "object", + "description": "Input/output parameters for Nextflow itself. Please note that both publishDir and publish_dir are supported but at least one has to be configured.", + "properties": { + + + "publish_dir": { + "type": + "string", + "description": "Type: `string`, required, example: `output/`. Path to an output directory", + "help_text": "Type: `string`, required, example: `output/`. Path to an output directory." + + } + + + , + "param_list": { + "type": + "string", + "description": "Type: `string`, example: `my_params.yaml`. Allows inputting multiple parameter sets to initialise a Nextflow channel", + "help_text": "Type: `string`, example: `my_params.yaml`. Allows inputting multiple parameter sets to initialise a Nextflow channel. A `param_list` can either be a list of maps, a csv file, a json file, a yaml file, or simply a yaml blob.\n\n* A list of maps (as-is) where the keys of each map corresponds to the arguments of the pipeline. Example: in a `nextflow.config` file: `param_list: [ [\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027], [\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027] ]`.\n* A csv file should have column names which correspond to the different arguments of this pipeline. Example: `--param_list data.csv` with columns `id,input`.\n* A json or a yaml file should be a list of maps, each of which has keys corresponding to the arguments of the pipeline. Example: `--param_list data.json` with contents `[ {\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027}, {\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027} ]`.\n* A yaml blob can also be passed directly as a string. Example: `--param_list \"[ {\u0027id\u0027: \u0027foo\u0027, \u0027input\u0027: \u0027foo.txt\u0027}, {\u0027id\u0027: \u0027bar\u0027, \u0027input\u0027: \u0027bar.txt\u0027} ]\"`.\n\nWhen passing a csv, json or yaml file, relative path names are relativized to the location of the parameter file. No relativation is performed when `param_list` is a list of maps (as-is) or a yaml blob.", + "hidden": true + + } + + +} +} +}, +"allOf": [ + + { + "$ref": "#/definitions/outputs" + }, + + { + "$ref": "#/definitions/fastq inputs" + }, + + { + "$ref": "#/definitions/reference inputs" + }, + + { + "$ref": "#/definitions/analysis settings" + }, + + { + "$ref": "#/definitions/additional arguments" + }, + + { + "$ref": "#/definitions/nextflow input-output arguments" + } +] +} diff --git a/target/nextflow/cellranger/cellranger_mkref/.config.vsh.yaml b/target/nextflow/cellranger/cellranger_mkref/.config.vsh.yaml index 2daad8a0..ee25ad6b 100644 --- a/target/nextflow/cellranger/cellranger_mkref/.config.vsh.yaml +++ b/target/nextflow/cellranger/cellranger_mkref/.config.vsh.yaml @@ -198,13 +198,24 @@ build_info: output: "target/nextflow/cellranger/cellranger_mkref" executable: "target/nextflow/cellranger/cellranger_mkref/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/cellranger/cellranger_mkref/main.nf b/target/nextflow/cellranger/cellranger_mkref/main.nf index 36ebbcba..b5123a01 100644 --- a/target/nextflow/cellranger/cellranger_mkref/main.nf +++ b/target/nextflow/cellranger/cellranger_mkref/main.nf @@ -3289,14 +3289,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/cellranger/cellranger_mkref", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", @@ -3362,9 +3363,9 @@ $( if [ ! -z ${VIASH_META_MEMORY_PIB+x} ]; then echo "${VIASH_META_MEMORY_PIB}" ## VIASH END # create temporary directory -tmpdir=\\$(mktemp -d "\\$meta_temp_dir/\\$meta_name-XXXXXXXX") +tmp_dir=\\$(mktemp -d "\\$meta_temp_dir/\\$meta_name-XXXXXXXX") function clean_up { - rm -rf "\\$tmpdir" + rm -rf "\\$tmp_dir" } trap clean_up EXIT @@ -3373,22 +3374,34 @@ par_genome_fasta=\\$(realpath \\$par_genome_fasta) par_transcriptome_gtf=\\$(realpath \\$par_transcriptome_gtf) par_output=\\$(realpath \\$par_output) +# if memory is defined, subtract 2GB from memory +if [[ "\\$meta_memory_gb" != "" ]]; then + # if memory is less than 2gb, unset it + if [[ "\\$meta_memory_gb" -lt 2 ]]; then + echo "WARNING: Memory is less than 2GB, unsetting memory requirements" + unset meta_memory_gb + else + meta_memory_gb=\\$((meta_memory_gb-2)) + fi +fi echo "> Unzipping input files" -unpigz -c "\\$par_genome_fasta" > "\\$tmpdir/genome.fa" +unpigz -c "\\$par_genome_fasta" > "\\$tmp_dir/genome.fa" echo "> Building star index" -cd "\\$tmpdir" +cd "\\$tmp_dir" cellranger mkref \\\\ - --fasta "\\$tmpdir/genome.fa" \\\\ + --fasta "\\$tmp_dir/genome.fa" \\\\ --genes "\\$par_transcriptome_gtf" \\\\ --genome output \\\\ \\${par_reference_version:+--ref-version \\$par_reference_version} \\\\ \\${meta_cpus:+--nthreads \\$meta_cpus} \\\\ - \\${meta_memory_gb:+--memgb \\$((\\$meta_memory_gb-2))} # always keep 2 gb for the OS itself + \\${meta_memory_gb:+--memgb \\${meta_memory_gb}} echo "> Creating archive" -tar --use-compress-program="pigz -k " -cf "\\$par_output" -C "\\$tmpdir/output" . +tar --use-compress-program="pigz -k " -cf "\\$par_output" -C "\\$tmp_dir/output" . + +exit 0 VIASHMAIN bash "$tempscript" ''' diff --git a/target/nextflow/cutadapt/.config.vsh.yaml b/target/nextflow/cutadapt/.config.vsh.yaml index b80d1a21..bce0c368 100644 --- a/target/nextflow/cutadapt/.config.vsh.yaml +++ b/target/nextflow/cutadapt/.config.vsh.yaml @@ -743,13 +743,24 @@ build_info: output: "target/nextflow/cutadapt" executable: "target/nextflow/cutadapt/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/cutadapt/main.nf b/target/nextflow/cutadapt/main.nf index 4cae3138..acc5d182 100644 --- a/target/nextflow/cutadapt/main.nf +++ b/target/nextflow/cutadapt/main.nf @@ -3849,14 +3849,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/cutadapt", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/falco/.config.vsh.yaml b/target/nextflow/falco/.config.vsh.yaml index 5cd6573e..a692a39e 100644 --- a/target/nextflow/falco/.config.vsh.yaml +++ b/target/nextflow/falco/.config.vsh.yaml @@ -320,13 +320,24 @@ build_info: output: "target/nextflow/falco" executable: "target/nextflow/falco/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/falco/main.nf b/target/nextflow/falco/main.nf index b918c670..6685e64f 100644 --- a/target/nextflow/falco/main.nf +++ b/target/nextflow/falco/main.nf @@ -3400,14 +3400,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/falco", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/fastp/.config.vsh.yaml b/target/nextflow/fastp/.config.vsh.yaml index 95b7f316..4db34ef5 100644 --- a/target/nextflow/fastp/.config.vsh.yaml +++ b/target/nextflow/fastp/.config.vsh.yaml @@ -1086,13 +1086,24 @@ build_info: output: "target/nextflow/fastp" executable: "target/nextflow/fastp/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/fastp/main.nf b/target/nextflow/fastp/main.nf index 00d02b0e..d2c279cc 100644 --- a/target/nextflow/fastp/main.nf +++ b/target/nextflow/fastp/main.nf @@ -4253,14 +4253,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/fastp", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/fastqc/.config.vsh.yaml b/target/nextflow/fastqc/.config.vsh.yaml index 047327fd..f0f862f5 100644 --- a/target/nextflow/fastqc/.config.vsh.yaml +++ b/target/nextflow/fastqc/.config.vsh.yaml @@ -343,13 +343,24 @@ build_info: output: "target/nextflow/fastqc" executable: "target/nextflow/fastqc/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/fastqc/main.nf b/target/nextflow/fastqc/main.nf index cc66f7d7..dfb78c0c 100644 --- a/target/nextflow/fastqc/main.nf +++ b/target/nextflow/fastqc/main.nf @@ -3412,14 +3412,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/fastqc", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/featurecounts/.config.vsh.yaml b/target/nextflow/featurecounts/.config.vsh.yaml index 6b958d29..32c1b74e 100644 --- a/target/nextflow/featurecounts/.config.vsh.yaml +++ b/target/nextflow/featurecounts/.config.vsh.yaml @@ -648,13 +648,24 @@ build_info: output: "target/nextflow/featurecounts" executable: "target/nextflow/featurecounts/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/featurecounts/main.nf b/target/nextflow/featurecounts/main.nf index cdc65581..000b4d29 100644 --- a/target/nextflow/featurecounts/main.nf +++ b/target/nextflow/featurecounts/main.nf @@ -3779,14 +3779,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/featurecounts", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/fq_subsample/.config.vsh.yaml b/target/nextflow/fq_subsample/.config.vsh.yaml index 22928b5d..4554d5c9 100644 --- a/target/nextflow/fq_subsample/.config.vsh.yaml +++ b/target/nextflow/fq_subsample/.config.vsh.yaml @@ -193,13 +193,24 @@ build_info: output: "target/nextflow/fq_subsample" executable: "target/nextflow/fq_subsample/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/fq_subsample/main.nf b/target/nextflow/fq_subsample/main.nf index cc6aacdd..11d63f7e 100644 --- a/target/nextflow/fq_subsample/main.nf +++ b/target/nextflow/fq_subsample/main.nf @@ -3262,14 +3262,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/fq_subsample", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/gffread/.config.vsh.yaml b/target/nextflow/gffread/.config.vsh.yaml index 0e86d7da..bd42c0e7 100644 --- a/target/nextflow/gffread/.config.vsh.yaml +++ b/target/nextflow/gffread/.config.vsh.yaml @@ -688,13 +688,24 @@ build_info: output: "target/nextflow/gffread" executable: "target/nextflow/gffread/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/gffread/main.nf b/target/nextflow/gffread/main.nf index 64b61619..6c55f9be 100644 --- a/target/nextflow/gffread/main.nf +++ b/target/nextflow/gffread/main.nf @@ -3836,14 +3836,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/gffread", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/kallisto/kallisto_index/.config.vsh.yaml b/target/nextflow/kallisto/kallisto_index/.config.vsh.yaml index 9fed6f8c..b5a946e4 100644 --- a/target/nextflow/kallisto/kallisto_index/.config.vsh.yaml +++ b/target/nextflow/kallisto/kallisto_index/.config.vsh.yaml @@ -221,13 +221,24 @@ build_info: output: "target/nextflow/kallisto/kallisto_index" executable: "target/nextflow/kallisto/kallisto_index/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/kallisto/kallisto_index/main.nf b/target/nextflow/kallisto/kallisto_index/main.nf index 985e23ea..f30f2ab5 100644 --- a/target/nextflow/kallisto/kallisto_index/main.nf +++ b/target/nextflow/kallisto/kallisto_index/main.nf @@ -3301,14 +3301,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/kallisto/kallisto_index", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/kallisto/kallisto_quant/.config.vsh.yaml b/target/nextflow/kallisto/kallisto_quant/.config.vsh.yaml index 3312ba17..1e1551ba 100644 --- a/target/nextflow/kallisto/kallisto_quant/.config.vsh.yaml +++ b/target/nextflow/kallisto/kallisto_quant/.config.vsh.yaml @@ -249,13 +249,24 @@ build_info: output: "target/nextflow/kallisto/kallisto_quant" executable: "target/nextflow/kallisto/kallisto_quant/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/kallisto/kallisto_quant/main.nf b/target/nextflow/kallisto/kallisto_quant/main.nf index f05e9040..3a3d825a 100644 --- a/target/nextflow/kallisto/kallisto_quant/main.nf +++ b/target/nextflow/kallisto/kallisto_quant/main.nf @@ -3335,14 +3335,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/kallisto/kallisto_quant", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/lofreq/lofreq_call/.config.vsh.yaml b/target/nextflow/lofreq/lofreq_call/.config.vsh.yaml index 20dc1dfa..0834ab31 100644 --- a/target/nextflow/lofreq/lofreq_call/.config.vsh.yaml +++ b/target/nextflow/lofreq/lofreq_call/.config.vsh.yaml @@ -510,13 +510,24 @@ build_info: output: "target/nextflow/lofreq/lofreq_call" executable: "target/nextflow/lofreq/lofreq_call/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/lofreq/lofreq_call/main.nf b/target/nextflow/lofreq/lofreq_call/main.nf index adec26c5..d2fc2d66 100644 --- a/target/nextflow/lofreq/lofreq_call/main.nf +++ b/target/nextflow/lofreq/lofreq_call/main.nf @@ -3644,14 +3644,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/lofreq/lofreq_call", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/lofreq/lofreq_indelqual/.config.vsh.yaml b/target/nextflow/lofreq/lofreq_indelqual/.config.vsh.yaml index 4cfd2526..0386e2d6 100644 --- a/target/nextflow/lofreq/lofreq_indelqual/.config.vsh.yaml +++ b/target/nextflow/lofreq/lofreq_indelqual/.config.vsh.yaml @@ -218,13 +218,24 @@ build_info: output: "target/nextflow/lofreq/lofreq_indelqual" executable: "target/nextflow/lofreq/lofreq_indelqual/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/lofreq/lofreq_indelqual/main.nf b/target/nextflow/lofreq/lofreq_indelqual/main.nf index 2bb2fa27..eb45011f 100644 --- a/target/nextflow/lofreq/lofreq_indelqual/main.nf +++ b/target/nextflow/lofreq/lofreq_indelqual/main.nf @@ -3307,14 +3307,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/lofreq/lofreq_indelqual", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/multiqc/.config.vsh.yaml b/target/nextflow/multiqc/.config.vsh.yaml index 02ad583b..35faf9b9 100644 --- a/target/nextflow/multiqc/.config.vsh.yaml +++ b/target/nextflow/multiqc/.config.vsh.yaml @@ -459,13 +459,24 @@ build_info: output: "target/nextflow/multiqc" executable: "target/nextflow/multiqc/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/multiqc/main.nf b/target/nextflow/multiqc/main.nf index 938679b7..bcd6ab37 100644 --- a/target/nextflow/multiqc/main.nf +++ b/target/nextflow/multiqc/main.nf @@ -3596,14 +3596,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/multiqc", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/nanoplot/.config.vsh.yaml b/target/nextflow/nanoplot/.config.vsh.yaml index 650a10b6..e5a6aacc 100644 --- a/target/nextflow/nanoplot/.config.vsh.yaml +++ b/target/nextflow/nanoplot/.config.vsh.yaml @@ -495,13 +495,24 @@ build_info: output: "target/nextflow/nanoplot" executable: "target/nextflow/nanoplot/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/nanoplot/main.nf b/target/nextflow/nanoplot/main.nf index 7e7c4435..c68f918c 100644 --- a/target/nextflow/nanoplot/main.nf +++ b/target/nextflow/nanoplot/main.nf @@ -3627,14 +3627,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/nanoplot", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/pear/.config.vsh.yaml b/target/nextflow/pear/.config.vsh.yaml index d1b5c0a9..057f6e75 100644 --- a/target/nextflow/pear/.config.vsh.yaml +++ b/target/nextflow/pear/.config.vsh.yaml @@ -401,13 +401,24 @@ build_info: output: "target/nextflow/pear" executable: "target/nextflow/pear/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/pear/main.nf b/target/nextflow/pear/main.nf index 5ab6c423..c79484ce 100644 --- a/target/nextflow/pear/main.nf +++ b/target/nextflow/pear/main.nf @@ -3489,14 +3489,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/pear", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/qualimap/qualimap_rnaseq/.config.vsh.yaml b/target/nextflow/qualimap/qualimap_rnaseq/.config.vsh.yaml index 1729163e..9535cfc2 100644 --- a/target/nextflow/qualimap/qualimap_rnaseq/.config.vsh.yaml +++ b/target/nextflow/qualimap/qualimap_rnaseq/.config.vsh.yaml @@ -267,13 +267,24 @@ build_info: output: "target/nextflow/qualimap/qualimap_rnaseq" executable: "target/nextflow/qualimap/qualimap_rnaseq/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/qualimap/qualimap_rnaseq/main.nf b/target/nextflow/qualimap/qualimap_rnaseq/main.nf index aeaef477..24e3be33 100644 --- a/target/nextflow/qualimap/qualimap_rnaseq/main.nf +++ b/target/nextflow/qualimap/qualimap_rnaseq/main.nf @@ -3359,14 +3359,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/qualimap/qualimap_rnaseq", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/rsem/rsem_calculate_expression/.config.vsh.yaml b/target/nextflow/rsem/rsem_calculate_expression/.config.vsh.yaml index a5ce9e04..990e5f0e 100644 --- a/target/nextflow/rsem/rsem_calculate_expression/.config.vsh.yaml +++ b/target/nextflow/rsem/rsem_calculate_expression/.config.vsh.yaml @@ -855,13 +855,24 @@ build_info: output: "target/nextflow/rsem/rsem_calculate_expression" executable: "target/nextflow/rsem/rsem_calculate_expression/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/rsem/rsem_calculate_expression/main.nf b/target/nextflow/rsem/rsem_calculate_expression/main.nf index b0c0a61b..ef7713b4 100644 --- a/target/nextflow/rsem/rsem_calculate_expression/main.nf +++ b/target/nextflow/rsem/rsem_calculate_expression/main.nf @@ -3891,14 +3891,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/rsem/rsem_calculate_expression", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/rsem/rsem_prepare_reference/.config.vsh.yaml b/target/nextflow/rsem/rsem_prepare_reference/.config.vsh.yaml index 9bd2ec3f..7f8202f6 100644 --- a/target/nextflow/rsem/rsem_prepare_reference/.config.vsh.yaml +++ b/target/nextflow/rsem/rsem_prepare_reference/.config.vsh.yaml @@ -419,13 +419,24 @@ build_info: output: "target/nextflow/rsem/rsem_prepare_reference" executable: "target/nextflow/rsem/rsem_prepare_reference/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/rsem/rsem_prepare_reference/main.nf b/target/nextflow/rsem/rsem_prepare_reference/main.nf index 7014ee86..a384d9a4 100644 --- a/target/nextflow/rsem/rsem_prepare_reference/main.nf +++ b/target/nextflow/rsem/rsem_prepare_reference/main.nf @@ -3475,14 +3475,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/rsem/rsem_prepare_reference", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/rseqc/rseqc_bamstat/.config.vsh.yaml b/target/nextflow/rseqc/rseqc_bamstat/.config.vsh.yaml index a54902df..a34ee171 100644 --- a/target/nextflow/rseqc/rseqc_bamstat/.config.vsh.yaml +++ b/target/nextflow/rseqc/rseqc_bamstat/.config.vsh.yaml @@ -178,13 +178,24 @@ build_info: output: "target/nextflow/rseqc/rseqc_bamstat" executable: "target/nextflow/rseqc/rseqc_bamstat/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/rseqc/rseqc_bamstat/main.nf b/target/nextflow/rseqc/rseqc_bamstat/main.nf index 20ba5b3c..30f2ed1b 100644 --- a/target/nextflow/rseqc/rseqc_bamstat/main.nf +++ b/target/nextflow/rseqc/rseqc_bamstat/main.nf @@ -3266,14 +3266,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/rseqc/rseqc_bamstat", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/rseqc/rseqc_inferexperiment/.config.vsh.yaml b/target/nextflow/rseqc/rseqc_inferexperiment/.config.vsh.yaml index 22eda52d..b0af3447 100644 --- a/target/nextflow/rseqc/rseqc_inferexperiment/.config.vsh.yaml +++ b/target/nextflow/rseqc/rseqc_inferexperiment/.config.vsh.yaml @@ -204,13 +204,24 @@ build_info: output: "target/nextflow/rseqc/rseqc_inferexperiment" executable: "target/nextflow/rseqc/rseqc_inferexperiment/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/rseqc/rseqc_inferexperiment/main.nf b/target/nextflow/rseqc/rseqc_inferexperiment/main.nf index e25aafc6..2a989599 100644 --- a/target/nextflow/rseqc/rseqc_inferexperiment/main.nf +++ b/target/nextflow/rseqc/rseqc_inferexperiment/main.nf @@ -3299,14 +3299,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/rseqc/rseqc_inferexperiment", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/rseqc/rseqc_inner_distance/.config.vsh.yaml b/target/nextflow/rseqc/rseqc_inner_distance/.config.vsh.yaml index be20f97f..74d2419c 100644 --- a/target/nextflow/rseqc/rseqc_inner_distance/.config.vsh.yaml +++ b/target/nextflow/rseqc/rseqc_inner_distance/.config.vsh.yaml @@ -297,13 +297,24 @@ build_info: output: "target/nextflow/rseqc/rseqc_inner_distance" executable: "target/nextflow/rseqc/rseqc_inner_distance/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/rseqc/rseqc_inner_distance/main.nf b/target/nextflow/rseqc/rseqc_inner_distance/main.nf index 10945a94..9e79f984 100644 --- a/target/nextflow/rseqc/rseqc_inner_distance/main.nf +++ b/target/nextflow/rseqc/rseqc_inner_distance/main.nf @@ -3399,14 +3399,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/rseqc/rseqc_inner_distance", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/salmon/salmon_index/.config.vsh.yaml b/target/nextflow/salmon/salmon_index/.config.vsh.yaml index 568099c5..a2da7082 100644 --- a/target/nextflow/salmon/salmon_index/.config.vsh.yaml +++ b/target/nextflow/salmon/salmon_index/.config.vsh.yaml @@ -280,13 +280,24 @@ build_info: output: "target/nextflow/salmon/salmon_index" executable: "target/nextflow/salmon/salmon_index/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/salmon/salmon_index/main.nf b/target/nextflow/salmon/salmon_index/main.nf index b378b131..de2d261b 100644 --- a/target/nextflow/salmon/salmon_index/main.nf +++ b/target/nextflow/salmon/salmon_index/main.nf @@ -3359,14 +3359,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/salmon/salmon_index", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/salmon/salmon_quant/.config.vsh.yaml b/target/nextflow/salmon/salmon_quant/.config.vsh.yaml index e5eafd49..4856817d 100644 --- a/target/nextflow/salmon/salmon_quant/.config.vsh.yaml +++ b/target/nextflow/salmon/salmon_quant/.config.vsh.yaml @@ -1176,13 +1176,24 @@ build_info: output: "target/nextflow/salmon/salmon_quant" executable: "target/nextflow/salmon/salmon_quant/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/salmon/salmon_quant/main.nf b/target/nextflow/salmon/salmon_quant/main.nf index 2634d293..9c51d1ae 100644 --- a/target/nextflow/salmon/salmon_quant/main.nf +++ b/target/nextflow/salmon/salmon_quant/main.nf @@ -4194,14 +4194,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/salmon/salmon_quant", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/samtools/samtools_collate/.config.vsh.yaml b/target/nextflow/samtools/samtools_collate/.config.vsh.yaml index 4a7d0a38..bf213685 100644 --- a/target/nextflow/samtools/samtools_collate/.config.vsh.yaml +++ b/target/nextflow/samtools/samtools_collate/.config.vsh.yaml @@ -267,13 +267,24 @@ build_info: output: "target/nextflow/samtools/samtools_collate" executable: "target/nextflow/samtools/samtools_collate/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/samtools/samtools_collate/main.nf b/target/nextflow/samtools/samtools_collate/main.nf index 2b4c8baa..f8b51071 100644 --- a/target/nextflow/samtools/samtools_collate/main.nf +++ b/target/nextflow/samtools/samtools_collate/main.nf @@ -3370,14 +3370,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/samtools/samtools_collate", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/samtools/samtools_faidx/.config.vsh.yaml b/target/nextflow/samtools/samtools_faidx/.config.vsh.yaml index 84bd3ae1..a76567fe 100644 --- a/target/nextflow/samtools/samtools_faidx/.config.vsh.yaml +++ b/target/nextflow/samtools/samtools_faidx/.config.vsh.yaml @@ -246,13 +246,24 @@ build_info: output: "target/nextflow/samtools/samtools_faidx" executable: "target/nextflow/samtools/samtools_faidx/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/samtools/samtools_faidx/main.nf b/target/nextflow/samtools/samtools_faidx/main.nf index c0df42ff..2d0dc44d 100644 --- a/target/nextflow/samtools/samtools_faidx/main.nf +++ b/target/nextflow/samtools/samtools_faidx/main.nf @@ -3342,14 +3342,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/samtools/samtools_faidx", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/samtools/samtools_fasta/.config.vsh.yaml b/target/nextflow/samtools/samtools_fasta/.config.vsh.yaml index 24d07ec3..90181320 100644 --- a/target/nextflow/samtools/samtools_fasta/.config.vsh.yaml +++ b/target/nextflow/samtools/samtools_fasta/.config.vsh.yaml @@ -436,13 +436,24 @@ build_info: output: "target/nextflow/samtools/samtools_fasta" executable: "target/nextflow/samtools/samtools_fasta/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/samtools/samtools_fasta/main.nf b/target/nextflow/samtools/samtools_fasta/main.nf index fa5b500c..4f57e1c0 100644 --- a/target/nextflow/samtools/samtools_fasta/main.nf +++ b/target/nextflow/samtools/samtools_fasta/main.nf @@ -3534,14 +3534,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/samtools/samtools_fasta", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/samtools/samtools_fastq/.config.vsh.yaml b/target/nextflow/samtools/samtools_fastq/.config.vsh.yaml index 25131374..04c88fca 100644 --- a/target/nextflow/samtools/samtools_fastq/.config.vsh.yaml +++ b/target/nextflow/samtools/samtools_fastq/.config.vsh.yaml @@ -436,13 +436,24 @@ build_info: output: "target/nextflow/samtools/samtools_fastq" executable: "target/nextflow/samtools/samtools_fastq/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/samtools/samtools_fastq/main.nf b/target/nextflow/samtools/samtools_fastq/main.nf index 0f3128e4..a51cf075 100644 --- a/target/nextflow/samtools/samtools_fastq/main.nf +++ b/target/nextflow/samtools/samtools_fastq/main.nf @@ -3534,14 +3534,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/samtools/samtools_fastq", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/samtools/samtools_flagstat/.config.vsh.yaml b/target/nextflow/samtools/samtools_flagstat/.config.vsh.yaml index 0c863fe1..e4ed03b9 100644 --- a/target/nextflow/samtools/samtools_flagstat/.config.vsh.yaml +++ b/target/nextflow/samtools/samtools_flagstat/.config.vsh.yaml @@ -176,13 +176,24 @@ build_info: output: "target/nextflow/samtools/samtools_flagstat" executable: "target/nextflow/samtools/samtools_flagstat/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/samtools/samtools_flagstat/main.nf b/target/nextflow/samtools/samtools_flagstat/main.nf index 4df049e3..058eb05a 100644 --- a/target/nextflow/samtools/samtools_flagstat/main.nf +++ b/target/nextflow/samtools/samtools_flagstat/main.nf @@ -3258,14 +3258,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/samtools/samtools_flagstat", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/samtools/samtools_idxstats/.config.vsh.yaml b/target/nextflow/samtools/samtools_idxstats/.config.vsh.yaml index 4e44998d..cd4bd8a6 100644 --- a/target/nextflow/samtools/samtools_idxstats/.config.vsh.yaml +++ b/target/nextflow/samtools/samtools_idxstats/.config.vsh.yaml @@ -186,13 +186,24 @@ build_info: output: "target/nextflow/samtools/samtools_idxstats" executable: "target/nextflow/samtools/samtools_idxstats/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/samtools/samtools_idxstats/main.nf b/target/nextflow/samtools/samtools_idxstats/main.nf index 79091b13..02b55e5c 100644 --- a/target/nextflow/samtools/samtools_idxstats/main.nf +++ b/target/nextflow/samtools/samtools_idxstats/main.nf @@ -3270,14 +3270,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/samtools/samtools_idxstats", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/samtools/samtools_index/.config.vsh.yaml b/target/nextflow/samtools/samtools_index/.config.vsh.yaml index 1103c3f7..ed51e714 100644 --- a/target/nextflow/samtools/samtools_index/.config.vsh.yaml +++ b/target/nextflow/samtools/samtools_index/.config.vsh.yaml @@ -192,13 +192,24 @@ build_info: output: "target/nextflow/samtools/samtools_index" executable: "target/nextflow/samtools/samtools_index/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/samtools/samtools_index/main.nf b/target/nextflow/samtools/samtools_index/main.nf index a48e6ccb..86d0b506 100644 --- a/target/nextflow/samtools/samtools_index/main.nf +++ b/target/nextflow/samtools/samtools_index/main.nf @@ -3283,14 +3283,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/samtools/samtools_index", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/samtools/samtools_sort/.config.vsh.yaml b/target/nextflow/samtools/samtools_sort/.config.vsh.yaml index 99e8af42..8ec494b6 100644 --- a/target/nextflow/samtools/samtools_sort/.config.vsh.yaml +++ b/target/nextflow/samtools/samtools_sort/.config.vsh.yaml @@ -335,13 +335,24 @@ build_info: output: "target/nextflow/samtools/samtools_sort" executable: "target/nextflow/samtools/samtools_sort/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/samtools/samtools_sort/main.nf b/target/nextflow/samtools/samtools_sort/main.nf index 177ac270..fdd0c0e0 100644 --- a/target/nextflow/samtools/samtools_sort/main.nf +++ b/target/nextflow/samtools/samtools_sort/main.nf @@ -3455,14 +3455,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/samtools/samtools_sort", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/samtools/samtools_stats/.config.vsh.yaml b/target/nextflow/samtools/samtools_stats/.config.vsh.yaml index 166980f3..7e0f1429 100644 --- a/target/nextflow/samtools/samtools_stats/.config.vsh.yaml +++ b/target/nextflow/samtools/samtools_stats/.config.vsh.yaml @@ -404,13 +404,24 @@ build_info: output: "target/nextflow/samtools/samtools_stats" executable: "target/nextflow/samtools/samtools_stats/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/samtools/samtools_stats/main.nf b/target/nextflow/samtools/samtools_stats/main.nf index 6c2f627f..8e3e926d 100644 --- a/target/nextflow/samtools/samtools_stats/main.nf +++ b/target/nextflow/samtools/samtools_stats/main.nf @@ -3525,14 +3525,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/samtools/samtools_stats", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/samtools/samtools_view/.config.vsh.yaml b/target/nextflow/samtools/samtools_view/.config.vsh.yaml index c23f9161..0579a491 100644 --- a/target/nextflow/samtools/samtools_view/.config.vsh.yaml +++ b/target/nextflow/samtools/samtools_view/.config.vsh.yaml @@ -668,13 +668,24 @@ build_info: output: "target/nextflow/samtools/samtools_view" executable: "target/nextflow/samtools/samtools_view/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/samtools/samtools_view/main.nf b/target/nextflow/samtools/samtools_view/main.nf index 825e7d17..12eaae83 100644 --- a/target/nextflow/samtools/samtools_view/main.nf +++ b/target/nextflow/samtools/samtools_view/main.nf @@ -3706,14 +3706,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/samtools/samtools_view", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/seqtk/seqtk_sample/.config.vsh.yaml b/target/nextflow/seqtk/seqtk_sample/.config.vsh.yaml index b2bc68e4..b046ffea 100644 --- a/target/nextflow/seqtk/seqtk_sample/.config.vsh.yaml +++ b/target/nextflow/seqtk/seqtk_sample/.config.vsh.yaml @@ -176,13 +176,24 @@ build_info: output: "target/nextflow/seqtk/seqtk_sample" executable: "target/nextflow/seqtk/seqtk_sample/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/seqtk/seqtk_sample/main.nf b/target/nextflow/seqtk/seqtk_sample/main.nf index 56e2111a..e04425d6 100644 --- a/target/nextflow/seqtk/seqtk_sample/main.nf +++ b/target/nextflow/seqtk/seqtk_sample/main.nf @@ -3260,14 +3260,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/seqtk/seqtk_sample", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/seqtk/seqtk_subseq/.config.vsh.yaml b/target/nextflow/seqtk/seqtk_subseq/.config.vsh.yaml index 9a45f911..b2777da7 100644 --- a/target/nextflow/seqtk/seqtk_subseq/.config.vsh.yaml +++ b/target/nextflow/seqtk/seqtk_subseq/.config.vsh.yaml @@ -199,13 +199,24 @@ build_info: output: "target/nextflow/seqtk/seqtk_subseq" executable: "target/nextflow/seqtk/seqtk_subseq/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/seqtk/seqtk_subseq/main.nf b/target/nextflow/seqtk/seqtk_subseq/main.nf index f622ef6f..a9ecd50a 100644 --- a/target/nextflow/seqtk/seqtk_subseq/main.nf +++ b/target/nextflow/seqtk/seqtk_subseq/main.nf @@ -3290,14 +3290,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/seqtk/seqtk_subseq", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/sgdemux/.config.vsh.yaml b/target/nextflow/sgdemux/.config.vsh.yaml index d5b06d0f..9d151d68 100644 --- a/target/nextflow/sgdemux/.config.vsh.yaml +++ b/target/nextflow/sgdemux/.config.vsh.yaml @@ -432,13 +432,24 @@ build_info: output: "target/nextflow/sgdemux" executable: "target/nextflow/sgdemux/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/sgdemux/main.nf b/target/nextflow/sgdemux/main.nf index 5c6c5977..577a9e5d 100644 --- a/target/nextflow/sgdemux/main.nf +++ b/target/nextflow/sgdemux/main.nf @@ -3533,14 +3533,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/sgdemux", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/snpeff/.config.vsh.yaml b/target/nextflow/snpeff/.config.vsh.yaml index 7ed0695e..e2d138f1 100644 --- a/target/nextflow/snpeff/.config.vsh.yaml +++ b/target/nextflow/snpeff/.config.vsh.yaml @@ -631,13 +631,24 @@ build_info: output: "target/nextflow/snpeff" executable: "target/nextflow/snpeff/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/snpeff/main.nf b/target/nextflow/snpeff/main.nf index 4f41cf7e..f91de4f2 100644 --- a/target/nextflow/snpeff/main.nf +++ b/target/nextflow/snpeff/main.nf @@ -3785,14 +3785,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/snpeff", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/sortmerna/.config.vsh.yaml b/target/nextflow/sortmerna/.config.vsh.yaml index 9ef7fa4b..86587e8f 100644 --- a/target/nextflow/sortmerna/.config.vsh.yaml +++ b/target/nextflow/sortmerna/.config.vsh.yaml @@ -597,13 +597,24 @@ build_info: output: "target/nextflow/sortmerna" executable: "target/nextflow/sortmerna/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/sortmerna/main.nf b/target/nextflow/sortmerna/main.nf index 138c7ed3..be029ce4 100644 --- a/target/nextflow/sortmerna/main.nf +++ b/target/nextflow/sortmerna/main.nf @@ -3690,14 +3690,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/sortmerna", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/star/star_align_reads/.config.vsh.yaml b/target/nextflow/star/star_align_reads/.config.vsh.yaml index dd0abf70..dd9d35a3 100644 --- a/target/nextflow/star/star_align_reads/.config.vsh.yaml +++ b/target/nextflow/star/star_align_reads/.config.vsh.yaml @@ -2666,13 +2666,24 @@ build_info: output: "target/nextflow/star/star_align_reads" executable: "target/nextflow/star/star_align_reads/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/star/star_align_reads/main.nf b/target/nextflow/star/star_align_reads/main.nf index 3079420d..c5ac465b 100644 --- a/target/nextflow/star/star_align_reads/main.nf +++ b/target/nextflow/star/star_align_reads/main.nf @@ -6173,14 +6173,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/star/star_align_reads", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/star/star_genome_generate/.config.vsh.yaml b/target/nextflow/star/star_genome_generate/.config.vsh.yaml index b3defa85..c594636e 100644 --- a/target/nextflow/star/star_genome_generate/.config.vsh.yaml +++ b/target/nextflow/star/star_genome_generate/.config.vsh.yaml @@ -336,13 +336,24 @@ build_info: output: "target/nextflow/star/star_genome_generate" executable: "target/nextflow/star/star_genome_generate/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/star/star_genome_generate/main.nf b/target/nextflow/star/star_genome_generate/main.nf index bc93e825..677ad49f 100644 --- a/target/nextflow/star/star_genome_generate/main.nf +++ b/target/nextflow/star/star_genome_generate/main.nf @@ -3425,14 +3425,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/star/star_genome_generate", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/trimgalore/.config.vsh.yaml b/target/nextflow/trimgalore/.config.vsh.yaml index 92c914d0..82b61277 100644 --- a/target/nextflow/trimgalore/.config.vsh.yaml +++ b/target/nextflow/trimgalore/.config.vsh.yaml @@ -773,13 +773,24 @@ build_info: output: "target/nextflow/trimgalore" executable: "target/nextflow/trimgalore/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/trimgalore/main.nf b/target/nextflow/trimgalore/main.nf index ed828083..a87af2dd 100644 --- a/target/nextflow/trimgalore/main.nf +++ b/target/nextflow/trimgalore/main.nf @@ -3790,14 +3790,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/trimgalore", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/umi_tools/umi_tools_dedup/.config.vsh.yaml b/target/nextflow/umi_tools/umi_tools_dedup/.config.vsh.yaml index 154533ed..30a6e66a 100644 --- a/target/nextflow/umi_tools/umi_tools_dedup/.config.vsh.yaml +++ b/target/nextflow/umi_tools/umi_tools_dedup/.config.vsh.yaml @@ -614,13 +614,24 @@ build_info: output: "target/nextflow/umi_tools/umi_tools_dedup" executable: "target/nextflow/umi_tools/umi_tools_dedup/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/umi_tools/umi_tools_dedup/main.nf b/target/nextflow/umi_tools/umi_tools_dedup/main.nf index bd438349..76059a0c 100644 --- a/target/nextflow/umi_tools/umi_tools_dedup/main.nf +++ b/target/nextflow/umi_tools/umi_tools_dedup/main.nf @@ -3717,14 +3717,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/umi_tools/umi_tools_dedup", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/umi_tools/umi_tools_extract/.config.vsh.yaml b/target/nextflow/umi_tools/umi_tools_extract/.config.vsh.yaml index 8652e6b4..91740683 100644 --- a/target/nextflow/umi_tools/umi_tools_extract/.config.vsh.yaml +++ b/target/nextflow/umi_tools/umi_tools_extract/.config.vsh.yaml @@ -437,13 +437,24 @@ build_info: output: "target/nextflow/umi_tools/umi_tools_extract" executable: "target/nextflow/umi_tools/umi_tools_extract/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/umi_tools/umi_tools_extract/main.nf b/target/nextflow/umi_tools/umi_tools_extract/main.nf index 94f4060e..8803ac55 100644 --- a/target/nextflow/umi_tools/umi_tools_extract/main.nf +++ b/target/nextflow/umi_tools/umi_tools_extract/main.nf @@ -3529,14 +3529,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/umi_tools/umi_tools_extract", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target", diff --git a/target/nextflow/umi_tools/umi_tools_prepareforrsem/.config.vsh.yaml b/target/nextflow/umi_tools/umi_tools_prepareforrsem/.config.vsh.yaml index 5beb60f2..45f768aa 100644 --- a/target/nextflow/umi_tools/umi_tools_prepareforrsem/.config.vsh.yaml +++ b/target/nextflow/umi_tools/umi_tools_prepareforrsem/.config.vsh.yaml @@ -259,13 +259,24 @@ build_info: output: "target/nextflow/umi_tools/umi_tools_prepareforrsem" executable: "target/nextflow/umi_tools/umi_tools_prepareforrsem/main.nf" viash_version: "0.9.4" - git_commit: "c733de2e4cc21eccb241060f82bce0b332f79d81" + git_commit: "b0db228825f3441b4651527e8775e8fc87d06e60" git_remote: "https://github.com/viash-hub/biobox" - git_tag: "v0.2.0-32-gc733de2" + git_tag: "v0.2.0-35-gb0db228" package_config: name: "biobox" version: "main" - description: "A collection of bioinformatics tools for working with sequence data.\n" + 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" diff --git a/target/nextflow/umi_tools/umi_tools_prepareforrsem/main.nf b/target/nextflow/umi_tools/umi_tools_prepareforrsem/main.nf index d471131d..5439a7b4 100644 --- a/target/nextflow/umi_tools/umi_tools_prepareforrsem/main.nf +++ b/target/nextflow/umi_tools/umi_tools_prepareforrsem/main.nf @@ -3351,14 +3351,15 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/umi_tools/umi_tools_prepareforrsem", "viash_version" : "0.9.4", - "git_commit" : "c733de2e4cc21eccb241060f82bce0b332f79d81", + "git_commit" : "b0db228825f3441b4651527e8775e8fc87d06e60", "git_remote" : "https://github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-32-gc733de2" + "git_tag" : "v0.2.0-35-gb0db228" }, "package_config" : { "name" : "biobox", "version" : "main", - "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "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", "viash_version" : "0.9.4", "source" : "src", "target" : "target",