diff --git a/CHANGELOG.md b/CHANGELOG.md index 07a83c15..9bfb5606 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,8 @@ * `bd_rhapsody/bd_rhapsody_sequence_analysis`: BD Rhapsody Sequence Analysis CWL pipeline (PR #96). +* `rsem/rsem_calculate_expression`: Calculate expression levels (PR #93). + ## MINOR CHANGES * Upgrade to Viash 0.9.0. diff --git a/src/rsem/rsem_calculate_expression/config.vsh.yaml b/src/rsem/rsem_calculate_expression/config.vsh.yaml new file mode 100644 index 00000000..2cd950cb --- /dev/null +++ b/src/rsem/rsem_calculate_expression/config.vsh.yaml @@ -0,0 +1,479 @@ +name: "rsem_calculate_expression" +namespace: "rsem" +description: | + Calculate expression with RSEM. +keywords: [Transcriptome, Index, Alignment, RSEM] +links: + homepage: https://deweylab.github.io/RSEM/ + documentation: https://deweylab.github.io/RSEM/rsem-calculate-expression.html + repository: https://github.com/deweylab/RSEM +references: + doi: https://doi.org/10.1186/1471-2105-12-323 +license: GPL-3.0 + + +argument_groups: +- name: "Input" + arguments: + - name: "--id" + type: string + description: Sample ID. + - name: "--strandedness" + type: string + description: Sample strand-specificity. Must be one of unstranded, forward, reverse + choices: [forward, reverse, unstranded] + - name: "--paired" + type: boolean_true + description: Paired-end reads or not? + - name: "--input" + type: file + description: Input reads for quantification. + multiple: true + - name: "--index" + type: file + must_exist: false + description: RSEM index. + - name: "--extra_args" + type: string + description: Extra rsem-calculate-expression arguments in addition to the examples. + +- name: "Output" + arguments: + - name: "--counts_gene" + type: file + description: Expression counts on gene level + example: $id.genes.results + direction: output + - name: "--counts_transcripts" + type: file + description: Expression counts on transcript level + example: $id.isoforms.results + direction: output + - name: "--stat" + type: file + description: RSEM statistics + example: $id.stat + direction: output + - name: "--logs" + type: file + description: RSEM logs + example: $id.log + direction: output + - name: "--bam_star" + type: file + description: BAM file generated by STAR (optional) + example: $id.STAR.genome.bam + direction: output + - name: "--bam_genome" + type: file + description: Genome BAM file (optional) + example: $id.genome.bam + direction: output + - name: "--bam_transcript" + type: file + description: Transcript BAM file (optional) + example: $id.transcript.bam + direction: output + - name: "--sort_bam_by_read_name" + type: boolean_true + description: | + Sort BAM file aligned under transcript coordidate by read name. Setting this option on will produce + deterministic maximum likelihood estimations from independent runs. Note that sorting will take long + time and lots of memory. + - name: "--no_bam_output" + type: boolean_true + description: Do not output any BAM file. + - name: "--sampling_for_bam" + type: boolean_true + description: | + When RSEM generates a BAM file, instead of outputting all alignments a read has with their posterior + probabilities, one alignment is sampled according to the posterior probabilities. The sampling procedure + includes the alignment to the "noise" transcript, which does not appear in the BAM file. Only the + sampled alignment has a weight of 1. All other alignments have weight 0. If the "noise" transcript is + sampled, all alignments appeared in the BAM file should have weight 0. + - name: "--output_genome_bam" + type: boolean_true + description: | + Generate a BAM file, 'sample_name.genome.bam', with alignments mapped to genomic coordinates and + annotated with their posterior probabilities. In addition, RSEM will call samtools (included in RSEM + package) to sort and index the bam file. 'sample_name.genome.sorted.bam' and 'sample_name.genome.sorted.bam.bai' + will be generated. + - name: "--sort_bam_by_coordinate" + type: boolean_true + description: | + Sort RSEM generated transcript and genome BAM files by coordinates and build associated indices. + +- name: "Basic Options" + arguments: + - name: "--no_qualities" + type: boolean_true + description: Input reads do not contain quality scores. + - name: "--alignments" + type: boolean_true + description: | + Input file contains alignments in SAM/BAM/CRAM format. The exact file format will be determined + automatically. + - name: "--fai" + type: file + description: | + If the header section of input alignment file does not contain reference sequence information, + this option should be turned on. is a FAI format file containing each reference sequence's + name and length. Please refer to the SAM official website for the details of FAI format. + - name: "--bowtie2" + type: boolean_true + description: | + Use Bowtie 2 instead of Bowtie to align reads. Since currently RSEM does not handle indel, local + and discordant alignments, the Bowtie2 parameters are set in a way to avoid those alignments. In + particular, we use options '--sensitive --dpad 0 --gbar 99999999 --mp 1,1 --np 1 --score_min L,0,-0.1' + by default. The last parameter of '--score_min', '-0.1', is the negative of maximum mismatch rate. + This rate can be set by option '--bowtie2_mismatch_rate'. If reads are paired-end, we additionally + use options '--no_mixed' and '--no_discordant'. + - name: "--star" + type: boolean_true + description: | + Use STAR to align reads. Alignment parameters are from ENCODE3's STAR-RSEM pipeline. To save + computational time and memory resources, STAR's Output BAM file is unsorted. It is stored in RSEM's + temporary directory with name as 'sample_name.bam'. Each STAR job will have its own private copy of + the genome in memory. + - name: "--hisat2_hca" + type: boolean_true + description: | + Use HISAT2 to align reads to the transcriptome according to Human Cell Atlast. + - name: "--append_names" + type: boolean_true + description: | + If gene_name/transcript_name is available, append it to the end of gene_id/transcript_id (separated + by '_') in files 'sample_name.isoforms.results' and 'sample_name.genes.results'. + - name: "--seed" + type: integer + description: | + Set the seed for the random number generators used in calculating posterior mean estimates and + credibility intervals. The seed must be a non-negative 32 bit integer. + - name: "--single_cell_prior" + type: boolean_true + description: | + By default, RSEM uses Dirichlet(1) as the prior to calculate posterior mean estimates and credibility + intervals. However, much less genes are expressed in single cell RNA-Seq data. Thus, if you want to + compute posterior mean estimates and/or credibility intervals and you have single-cell RNA-Seq data, + you are recommended to turn on this option. Then RSEM will use Dirichlet(0.1) as the prior which + encourage the sparsity of the expression levels. + - name: "--calc_pme" + type: boolean_true + description: Run RSEM's collapsed Gibbs sampler to calculate posterior mean estimates. + - name: "--calc_ci" + type: boolean_true + description: | + Calculate 95% credibility intervals and posterior mean estimates. The credibility level can be + changed by setting '--ci_credibility_level'. + - name: "--quiet" + alternatives: "-q" + type: boolean_true + description: Suppress the output of logging information. + +- name: "Aligner Options" + arguments: + - name: "--seed_length" + type: integer + description: | + Seed length used by the read aligner. Providing the correct value is important for RSEM. If RSEM + runs Bowtie, it uses this value for Bowtie's seed length parameter. Any read with its or at least + one of its mates' (for paired-end reads) length less than this value will be ignored. If the + references are not added poly(A) tails, the minimum allowed value is 5, otherwise, the minimum + allowed value is 25. Note that this script will only check if the value >= 5 and give a warning + message if the value < 25 but >= 5. (Default: 25) + example: 25 + - name: "--phred64_quals" + type: boolean_true + description: | + Input quality scores are encoded as Phred+64 (default for GA Pipeline ver. >= 1.3). This option is + used by Bowtie, Bowtie 2 and HISAT2. Otherwise, quality score will be encoded as Phred+33. (Default: false) + - name: "--solexa_quals" + type: boolean_true + description: | + Input quality scores are solexa encoded (from GA Pipeline ver. < 1.3). This option is used by + Bowtie, Bowtie 2 and HISAT2. Otherwise, quality score will be encoded as Phred+33. (Default: false) + - name: "--bowtie_n" + type: integer + description: | + (Bowtie parameter) max # of mismatches in the seed. (Range: 0-3, Default: 2) + choices: [0, 1, 2, 3] + example: 2 + - name: "--bowtie_e" + type: integer + description: | + (Bowtie parameter) max sum of mismatch quality scores across the alignment. (Default: 99999999) + example: 99999999 + - name: "--bowtie_m" + type: integer + description: | + (Bowtie parameter) suppress all alignments for a read if > valid alignments exist. (Default: 200) + example: 200 + - name: "--bowtie_chunkmbs" + type: integer + description: | + (Bowtie parameter) memory allocated for best first alignment calculation (Default: 0 - use Bowtie's default) + example: 0 + - name: "--bowtie2_mismatch_rate" + type: double + description: | + (Bowtie 2 parameter) The maximum mismatch rate allowed. (Default: 0.1) + example: 0.1 + - name: "--bowtie2_k" + type: integer + description: | + (Bowtie 2 parameter) Find up to alignments per read. (Default: 200) + example: 200 + - name: "--bowtie2_sensitivity_level" + type: string + description: | + (Bowtie 2 parameter) Set Bowtie 2's preset options in --end-to-end mode. This option controls how + hard Bowtie 2 tries to find alignments. must be one of "very_fast", "fast", "sensitive" + and "very_sensitive". The four candidates correspond to Bowtie 2's "--very-fast", "--fast", + "--sensitive" and "--very-sensitive" options. (Default: "sensitive" - use Bowtie 2's default) + choices: ["very_fast", "fast", "sensitive", "very_sensitive"] + example: sensitive + - name: "--star_gzipped_read_file" + type: boolean_true + description: | + Input read file(s) is compressed by gzip. (Default: false) + - name: "--star_bzipped_read_file" + type: boolean_true + description: | + Input read file(s) is compressed by bzip2. (Default: false) + - name: "--star_output_genome_bam" + type: boolean_true + description: | + Save the BAM file from STAR alignment under genomic coordinate to 'sample_name.STAR.genome.bam'. + This file is NOT sorted by genomic coordinate. In this file, according to STAR's manual, 'paired + ends of an alignment are always adjacent, and multiple alignments of a read are adjacent as well'. + (Default: false) + +- name: "Advanced Options" + arguments: + - name: "--tag" + type: string + description: | + The name of the optional field used in the SAM input for identifying a read with too many valid + alignments. The field should have the format :i:, where a bigger than 0 + indicates a read with too many alignments. (Default: "") + example: "" + - name: "--fragment_length_min" + type: integer + description: | + Minimum read/insert length allowed. This is also the value for the Bowtie/Bowtie2 -I option. + (Default: 1) + example: 1 + - name: "--fragment_length_max" + type: integer + description: | + Maximum read/insert length allowed. This is also the value for the Bowtie/Bowtie 2 -X option. + (Default: 1000) + example: 1000 + - name: "--fragment_length_mean" + type: integer + description: | + (single-end data only) The mean of the fragment length distribution, which is assumed to be a + Gaussian. (Default: -1, which disables use of the fragment length distribution) + example: -1 + - name: "--gragment_length_sd" + type: double + description: | + (single-end data only) The standard deviation of the fragment length distribution, which is + assumed to be a Gaussian. (Default: 0, which assumes that all fragments are of the same length, + given by the rounded value of --fragment_length_mean). + example: 0 + - name: "--estimate_rspd" + type: boolean_true + description: | + Set this option if you want to estimate the read start position distribution (RSPD) from data. + Otherwise, RSEM will use a uniform RSPD. + - name: "--num_rspd_bins" + type: integer + description: | + Number of bins in the RSPD. Only relevant when '--estimate_rspd' is specified. Use of the default + setting is recommended. (Default: 20) + example: 20 + - name: "--gibbs_burnin" + type: integer + description: | + The number of burn-in rounds for RSEM's Gibbs sampler. Each round passes over the entire data set + once. If RSEM can use multiple threads, multiple Gibbs samplers will start at the same time and all + samplers share the same burn-in number. (Default: 200) + example: 200 + - name: "--gibbs_number_of_samples" + type: integer + description: | + The total number of count vectors RSEM will collect from its Gibbs samplers. (Default: 1000) + example: 1000 + - name: "--gibbs_sampling_gap" + type: integer + description: | + The number of rounds between two succinct count vectors RSEM collects. If the count vector after + round N is collected, the count vector after round N + will also be collected. (Default: 1) + example: 1 + - name: "--ci_credibility_level" + type: double + description: | + The credibility level for credibility intervals. (Default: 0.95) + example: 0.95 + - name: "--ci_number_of_samples_per_count_vector" + type: integer + description: | + The number of read generating probability vectors sampled per sampled count vector. The crebility + intervals are calculated by first sampling P(C | D) and then sampling P(Theta | C) for each sampled + count vector. This option controls how many Theta vectors are sampled per sampled count vector. + (Default: 50) + example: 50 + - name: "--keep_intermediate_files" + type: boolean_true + description: | + Keep temporary files generated by RSEM. RSEM creates a temporary directory, 'sample_name.temp', + into which it puts all intermediate output files. If this directory already exists, RSEM overwrites + all files generated by previous RSEM runs inside of it. By default, after RSEM finishes, the + temporary directory is deleted. Set this option to prevent the deletion of this directory and the + intermediate files inside of it. + - name: "--temporary_folder" + type: string + description: | + Set where to put the temporary files generated by RSEM. If the folder specified does not exist, + RSEM will try to create it. (Default: sample_name.temp) + example: sample_name.temp + - name: "--time" + type: boolean_true + description: | + Output time consumed by each step of RSEM to 'sample_name.time'. + +- name: "Prior-Enhanced RSEM Options" + arguments: + - name: "--run_pRSEM" + type: boolean_true + description: | + Running prior-enhanced RSEM (pRSEM). Prior parameters, i.e. isoform's initial pseudo-count for + RSEM's Gibbs sampling, will be learned from input RNA-seq data and an external data set. When pRSEM + needs and only needs ChIP-seq peak information to partition isoforms (e.g. in pRSEM's default + partition model), either ChIP-seq peak file (with the '--chipseq_peak_file' option) or ChIP-seq + FASTQ files for target and input and the path for Bowtie executables are required (with the + '--chipseq_target_read_files ', '--chipseq_control_read_files ', and '--bowtie_path + options), otherwise, ChIP-seq FASTQ files for target and control and the path to Bowtie + executables are required. + - name: "--chipseq_peak_file" + type: file + must_exist: true + description: | + Full path to a ChIP-seq peak file in ENCODE's narrowPeak, i.e. BED6+4, format. This file is used + when running prior-enhanced RSEM in the default two-partition model. It partitions isoforms by + whether they have ChIP-seq overlapping with their transcription start site region or not. Each + partition will have its own prior parameter learned from a training set. This file can be either + gzipped or ungzipped. + - name: "--chipseq_target_read_files" + type: file + must_exist: true + description: | + Comma-separated full path of FASTQ read file(s) for ChIP-seq target. This option is used when running + prior-enhanced RSEM. It provides information to calculate ChIP-seq peaks and signals. The file(s) + can be either ungzipped or gzipped with a suffix '.gz' or '.gzip'. The options '--bowtie_path ' + and '--chipseq_control_read_files ' must be defined when this option is specified. + - name: "--chipseq_control_read_files" + type: file + must_exist: true + description: | + Comma-separated full path of FASTQ read file(s) for ChIP-seq conrol. This option is used when running + prior-enhanced RSEM. It provides information to call ChIP-seq peaks. The file(s) can be either + ungzipped or gzipped with a suffix '.gz' or '.gzip'. The options '--bowtie_path ' and + '--chipseq_target_read_files ' must be defined when this option is specified. + - name: "--chipseq_read_files_multi_targets" + type: file + must_exist: true + description: | + Comma-separated full path of FASTQ read files for multiple ChIP-seq targets. This option is used when + running prior-enhanced RSEM, where prior is learned from multiple complementary data sets. It provides + information to calculate ChIP-seq signals. All files can be either ungzipped or gzipped with a suffix + '.gz' or '.gzip'. When this option is specified, the option '--bowtie_path ' must be defined and + the option '--partition_model ' will be set to 'cmb_lgt' automatically. + - name: "--chipseq_bed_files_multi_targets" + type: file + must_exist: true + description: | + Comma-separated full path of BED files for multiple ChIP-seq targets. This option is used when running + prior-enhanced RSEM, where prior is learned from multiple complementary data sets. It provides information + of ChIP-seq signals and must have at least the first six BED columns. All files can be either ungzipped + or gzipped with a suffix '.gz' or '.gzip'. When this option is specified, the option '--partition_model + ' will be set to 'cmb_lgt' automatically. + - name: "--cap_stacked_chipseq_reads" + type: boolean_true + description: | + Keep a maximum number of ChIP-seq reads that aligned to the same genomic interval. This option is used + when running prior-enhanced RSEM, where prior is learned from multiple complementary data sets. This + option is only in use when either '--chipseq_read_files_multi_targets ' or + '--chipseq_bed_files_multi_targets ' is specified. + - name: "--n_max_stacked_chipseq_reads" + type: integer + description: | + The maximum number of stacked ChIP-seq reads to keep. This option is used when running prior-enhanced + RSEM, where prior is learned from multiple complementary data sets. This option is only in use when the + option '--cap_stacked_chipseq_reads' is set. + - name: "--partition_model" + type: string + description: | + A keyword to specify the partition model used by prior-enhanced RSEM. It must be one of the following + keywords: + * pk + * pk_lgtnopk + * lm3, lm4, lm5, or lm6 + * nopk_lm2pk, nopk_lm3pk, nopk_lm4pk, or nopk_lm5pk + * pk_lm2nopk, pk_lm3nopk, pk_lm4nopk, or pk_lm5nopk + * cmb_lgt + Parameters for all the above models are learned from a training set. For detailed explanations, please + see prior-enhanced RSEM's paper. (Default: 'pk') + example: "pk" + + +resources: + - type: bash_script + path: script.sh + +test_resources: + - type: bash_script + path: test.sh + +engines: + - type: docker + image: ubuntu:22.04 + setup: + - type: apt + packages: + - build-essential + - gcc + - g++ + - make + - wget + - zlib1g-dev + - unzip + - type: docker + env: + - STAR_VERSION=2.7.11b + - RSEM_VERSION=1.3.3 + run: | + apt-get update && \ + apt-get clean && \ + wget --no-check-certificate https://github.com/alexdobin/STAR/archive/refs/tags/2.7.11a.zip && \ + unzip 2.7.11a.zip && \ + cp STAR-2.7.11a/bin/Linux_x86_64_static/STAR /usr/local/bin && \ + cd && \ + wget --no-check-certificate https://github.com/deweylab/RSEM/archive/refs/tags/v1.3.3.zip && \ + unzip v1.3.3.zip && \ + cd RSEM-1.3.3 && \ + make && \ + make install + - type: docker + run: | + echo "RSEM: `rsem-calculate-expression --version | sed -e 's/Current version: RSEM v//g'`" > /var/software_versions.txt && \ + echo "STAR: `STAR --version`" >> /var/software_versions.txt && \ + echo "bowtie2: `bowtie2 --version | grep -oP '\d+\.\d+\.\d+'`" >> /var/software_versions.txt && \ + echo "bowtie: `bowtie --version | grep -oP 'bowtie-align-s version \K\d+\.\d+\.\d+'`" >> /var/software_versions.txt && \ + echo "HISAT2: `hisat2 --version | grep -oP 'hisat2-align-s version \K\d+\.\d+\.\d+'`" >> /var/software_versions.txt +runners: + - type: executable + - type: nextflow + + diff --git a/src/rsem/rsem_calculate_expression/help.txt b/src/rsem/rsem_calculate_expression/help.txt new file mode 100644 index 00000000..edfa3333 --- /dev/null +++ b/src/rsem/rsem_calculate_expression/help.txt @@ -0,0 +1,1002 @@ +NAME + rsem-calculate-expression - Estimate gene and isoform expression from + RNA-Seq data. + +SYNOPSIS + rsem-calculate-expression [options] upstream_read_file(s) reference_name sample_name + rsem-calculate-expression [options] --paired-end upstream_read_file(s) downstream_read_file(s) reference_name sample_name + rsem-calculate-expression [options] --alignments [--paired-end] input reference_name sample_name + +ARGUMENTS + upstream_read_files(s) + Comma-separated list of files containing single-end reads or + upstream reads for paired-end data. By default, these files are + assumed to be in FASTQ format. If the --no-qualities option is + specified, then FASTA format is expected. + + downstream_read_file(s) + Comma-separated list of files containing downstream reads which are + paired with the upstream reads. By default, these files are assumed + to be in FASTQ format. If the --no-qualities option is specified, + then FASTA format is expected. + + input + SAM/BAM/CRAM formatted input file. If "-" is specified for the + filename, the input is instead assumed to come from standard input. + RSEM requires all alignments of the same read group together. For + paired-end reads, RSEM also requires the two mates of any alignment + be adjacent. In addition, RSEM does not allow the SEQ and QUAL + fields to be empty. See Description section for how to make input + file obey RSEM's requirements. + + reference_name + The name of the reference used. The user must have run + 'rsem-prepare-reference' with this reference_name before running + this program. + + sample_name + The name of the sample analyzed. All output files are prefixed by + this name (e.g., sample_name.genes.results) + +BASIC OPTIONS + --paired-end + Input reads are paired-end reads. (Default: off) + + --no-qualities + Input reads do not contain quality scores. (Default: off) + + --strandedness + This option defines the strandedness of the RNA-Seq reads. It + recognizes three values: 'none', 'forward', and 'reverse'. 'none' + refers to non-strand-specific protocols. 'forward' means all + (upstream) reads are derived from the forward strand. 'reverse' + means all (upstream) reads are derived from the reverse strand. If + 'forward'/'reverse' is set, the '--norc'/'--nofw' Bowtie/Bowtie 2 + option will also be enabled to avoid aligning reads to the opposite + strand. For Illumina TruSeq Stranded protocols, please use + 'reverse'. (Default: 'none') + + -p/--num-threads + Number of threads to use. Both Bowtie/Bowtie2, expression estimation + and 'samtools sort' will use this many threads. (Default: 1) + + --alignments + Input file contains alignments in SAM/BAM/CRAM format. The exact + file format will be determined automatically. (Default: off) + + --fai + If the header section of input alignment file does not contain + reference sequence information, this option should be turned on. + is a FAI format file containing each reference sequence's + name and length. Please refer to the SAM official website for the + details of FAI format. (Default: off) + + --bowtie2 + Use Bowtie 2 instead of Bowtie to align reads. Since currently RSEM + does not handle indel, local and discordant alignments, the Bowtie2 + parameters are set in a way to avoid those alignments. In + particular, we use options '--sensitive --dpad 0 --gbar 99999999 + --mp 1,1 --np 1 --score-min L,0,-0.1' by default. The last parameter + of '--score-min', '-0.1', is the negative of maximum mismatch rate. + This rate can be set by option '--bowtie2-mismatch-rate'. If reads + are paired-end, we additionally use options '--no-mixed' and + '--no-discordant'. (Default: off) + + --star + Use STAR to align reads. Alignment parameters are from ENCODE3's + STAR-RSEM pipeline. To save computational time and memory resources, + STAR's Output BAM file is unsorted. It is stored in RSEM's temporary + directory with name as 'sample_name.bam'. Each STAR job will have + its own private copy of the genome in memory. (Default: off) + + --hisat2-hca + Use HISAT2 to align reads to the transcriptome according to Human + Cell Atlast SMART-Seq2 pipeline. In particular, we use HISAT + parameters "-k 10 --secondary --rg-id=$sampleToken --rg + SM:$sampleToken --rg LB:$sampleToken --rg PL:ILLUMINA --rg + PU:$sampleToken --new-summary --summary-file $sampleName.log + --met-file $sampleName.hisat2.met.txt --met 5 --mp 1,1 --np 1 + --score-min L,0,-0.1 --rdg 99999999,99999999 --rfg 99999999,99999999 + --no-spliced-alignment --no-softclip --seed 12345". If inputs are + paired-end reads, we additionally use parameters "--no-mixed + --no-discordant". (Default: off) + + --append-names + If gene_name/transcript_name is available, append it to the end of + gene_id/transcript_id (separated by '_') in files + 'sample_name.isoforms.results' and 'sample_name.genes.results'. + (Default: off) + + --seed + Set the seed for the random number generators used in calculating + posterior mean estimates and credibility intervals. The seed must be + a non-negative 32 bit integer. (Default: off) + + --single-cell-prior + By default, RSEM uses Dirichlet(1) as the prior to calculate + posterior mean estimates and credibility intervals. However, much + less genes are expressed in single cell RNA-Seq data. Thus, if you + want to compute posterior mean estimates and/or credibility + intervals and you have single-cell RNA-Seq data, you are recommended + to turn on this option. Then RSEM will use Dirichlet(0.1) as the + prior which encourage the sparsity of the expression levels. + (Default: off) + + --calc-pme + Run RSEM's collapsed Gibbs sampler to calculate posterior mean + estimates. (Default: off) + + --calc-ci + Calculate 95% credibility intervals and posterior mean estimates. + The credibility level can be changed by setting + '--ci-credibility-level'. (Default: off) + + -q/--quiet + Suppress the output of logging information. (Default: off) + + -h/--help + Show help information. + + --version + Show version information. + +OUTPUT OPTIONS + --sort-bam-by-read-name + Sort BAM file aligned under transcript coordidate by read name. + Setting this option on will produce deterministic maximum likelihood + estimations from independent runs. Note that sorting will take long + time and lots of memory. (Default: off) + + --no-bam-output + Do not output any BAM file. (Default: off) + + --sampling-for-bam + When RSEM generates a BAM file, instead of outputting all alignments + a read has with their posterior probabilities, one alignment is + sampled according to the posterior probabilities. The sampling + procedure includes the alignment to the "noise" transcript, which + does not appear in the BAM file. Only the sampled alignment has a + weight of 1. All other alignments have weight 0. If the "noise" + transcript is sampled, all alignments appeared in the BAM file + should have weight 0. (Default: off) + + --output-genome-bam + Generate a BAM file, 'sample_name.genome.bam', with alignments + mapped to genomic coordinates and annotated with their posterior + probabilities. In addition, RSEM will call samtools (included in + RSEM package) to sort and index the bam file. + 'sample_name.genome.sorted.bam' and + 'sample_name.genome.sorted.bam.bai' will be generated. (Default: + off) + + --sort-bam-by-coordinate + Sort RSEM generated transcript and genome BAM files by coordinates + and build associated indices. (Default: off) + + --sort-bam-memory-per-thread + Set the maximum memory per thread that can be used by 'samtools + sort'. represents the memory and accepts suffices 'K/M/G'. + RSEM will pass to the '-m' option of 'samtools sort'. Note + that the default used here is different from the default used by + samtools. (Default: 1G) + +ALIGNER OPTIONS + --seed-length + Seed length used by the read aligner. Providing the correct value is + important for RSEM. If RSEM runs Bowtie, it uses this value for + Bowtie's seed length parameter. Any read with its or at least one of + its mates' (for paired-end reads) length less than this value will + be ignored. If the references are not added poly(A) tails, the + minimum allowed value is 5, otherwise, the minimum allowed value is + 25. Note that this script will only check if the value >= 5 and give + a warning message if the value < 25 but >= 5. (Default: 25) + + --phred33-quals + Input quality scores are encoded as Phred+33. This option is used by + Bowtie, Bowtie 2 and HISAT2. (Default: on) + + --phred64-quals + Input quality scores are encoded as Phred+64 (default for GA + Pipeline ver. >= 1.3). This option is used by Bowtie, Bowtie 2 and + HISAT2. (Default: off) + + --solexa-quals + Input quality scores are solexa encoded (from GA Pipeline ver. < + 1.3). This option is used by Bowtie, Bowtie 2 and HISAT2. (Default: + off) + + --bowtie-path + The path to the Bowtie executables. (Default: the path to the Bowtie + executables is assumed to be in the user's PATH environment + variable) + + --bowtie-n + (Bowtie parameter) max # of mismatches in the seed. (Range: 0-3, + Default: 2) + + --bowtie-e + (Bowtie parameter) max sum of mismatch quality scores across the + alignment. (Default: 99999999) + + --bowtie-m + (Bowtie parameter) suppress all alignments for a read if > + valid alignments exist. (Default: 200) + + --bowtie-chunkmbs + (Bowtie parameter) memory allocated for best first alignment + calculation (Default: 0 - use Bowtie's default) + + --bowtie2-path + (Bowtie 2 parameter) The path to the Bowtie 2 executables. (Default: + the path to the Bowtie 2 executables is assumed to be in the user's + PATH environment variable) + + --bowtie2-mismatch-rate + (Bowtie 2 parameter) The maximum mismatch rate allowed. (Default: + 0.1) + + --bowtie2-k + (Bowtie 2 parameter) Find up to alignments per read. (Default: + 200) + + --bowtie2-sensitivity-level + (Bowtie 2 parameter) Set Bowtie 2's preset options in --end-to-end + mode. This option controls how hard Bowtie 2 tries to find + alignments. must be one of "very_fast", "fast", "sensitive" + and "very_sensitive". The four candidates correspond to Bowtie 2's + "--very-fast", "--fast", "--sensitive" and "--very-sensitive" + options. (Default: "sensitive" - use Bowtie 2's default) + + --star-path + The path to STAR's executable. (Default: the path to STAR executable + is assumed to be in user's PATH environment variable) + + --star-gzipped-read-file + (STAR parameter) Input read file(s) is compressed by gzip. (Default: + off) + + --star-bzipped-read-file + (STAR parameter) Input read file(s) is compressed by bzip2. + (Default: off) + + --star-output-genome-bam + (STAR parameter) Save the BAM file from STAR alignment under genomic + coordinate to 'sample_name.STAR.genome.bam'. This file is NOT sorted + by genomic coordinate. In this file, according to STAR's manual, + 'paired ends of an alignment are always adjacent, and multiple + alignments of a read are adjacent as well'. (Default: off) + + --hisat2-path + The path to HISAT2's executable. (Default: the path to HISAT2 + executable is assumed to be in user's PATH environment variable) + +ADVANCED OPTIONS + --tag + The name of the optional field used in the SAM input for identifying + a read with too many valid alignments. The field should have the + format :i:, where a bigger than 0 indicates + a read with too many alignments. (Default: "") + + --fragment-length-min + Minimum read/insert length allowed. This is also the value for the + Bowtie/Bowtie2 -I option. (Default: 1) + + --fragment-length-max + Maximum read/insert length allowed. This is also the value for the + Bowtie/Bowtie 2 -X option. (Default: 1000) + + --fragment-length-mean + (single-end data only) The mean of the fragment length distribution, + which is assumed to be a Gaussian. (Default: -1, which disables use + of the fragment length distribution) + + --fragment-length-sd + (single-end data only) The standard deviation of the fragment length + distribution, which is assumed to be a Gaussian. (Default: 0, which + assumes that all fragments are of the same length, given by the + rounded value of --fragment-length-mean) + + --estimate-rspd + Set this option if you want to estimate the read start position + distribution (RSPD) from data. Otherwise, RSEM will use a uniform + RSPD. (Default: off) + + --num-rspd-bins + Number of bins in the RSPD. Only relevant when '--estimate-rspd' is + specified. Use of the default setting is recommended. (Default: 20) + + --gibbs-burnin + The number of burn-in rounds for RSEM's Gibbs sampler. Each round + passes over the entire data set once. If RSEM can use multiple + threads, multiple Gibbs samplers will start at the same time and all + samplers share the same burn-in number. (Default: 200) + + --gibbs-number-of-samples + The total number of count vectors RSEM will collect from its Gibbs + samplers. (Default: 1000) + + --gibbs-sampling-gap + The number of rounds between two succinct count vectors RSEM + collects. If the count vector after round N is collected, the count + vector after round N + will also be collected. (Default: 1) + + --ci-credibility-level + The credibility level for credibility intervals. (Default: 0.95) + + --ci-memory + Maximum size (in memory, MB) of the auxiliary buffer used for + computing credibility intervals (CI). (Default: 1024) + + --ci-number-of-samples-per-count-vector + The number of read generating probability vectors sampled per + sampled count vector. The crebility intervals are calculated by + first sampling P(C | D) and then sampling P(Theta | C) for each + sampled count vector. This option controls how many Theta vectors + are sampled per sampled count vector. (Default: 50) + + --keep-intermediate-files + Keep temporary files generated by RSEM. RSEM creates a temporary + directory, 'sample_name.temp', into which it puts all intermediate + output files. If this directory already exists, RSEM overwrites all + files generated by previous RSEM runs inside of it. By default, + after RSEM finishes, the temporary directory is deleted. Set this + option to prevent the deletion of this directory and the + intermediate files inside of it. (Default: off) + + --temporary-folder + Set where to put the temporary files generated by RSEM. If the + folder specified does not exist, RSEM will try to create it. + (Default: sample_name.temp) + + --time + Output time consumed by each step of RSEM to 'sample_name.time'. + (Default: off) + +PRIOR-ENHANCED RSEM OPTIONS + --run-pRSEM + Running prior-enhanced RSEM (pRSEM). Prior parameters, i.e. + isoform's initial pseudo-count for RSEM's Gibbs sampling, will be + learned from input RNA-seq data and an external data set. When pRSEM + needs and only needs ChIP-seq peak information to partition isoforms + (e.g. in pRSEM's default partition model), either ChIP-seq peak file + (with the '--chipseq-peak-file' option) or ChIP-seq FASTQ files for + target and input and the path for Bowtie executables are required + (with the '--chipseq-target-read-files ', + '--chipseq-control-read-files ', and '--bowtie-path + options), otherwise, ChIP-seq FASTQ files for target and control and + the path to Bowtie executables are required. (Default: off) + + --chipseq-peak-file + Full path to a ChIP-seq peak file in ENCODE's narrowPeak, i.e. + BED6+4, format. This file is used when running prior-enhanced RSEM + in the default two-partition model. It partitions isoforms by + whether they have ChIP-seq overlapping with their transcription + start site region or not. Each partition will have its own prior + parameter learned from a training set. This file can be either + gzipped or ungzipped. (Default: "") + + --chipseq-target-read-files + Comma-separated full path of FASTQ read file(s) for ChIP-seq target. + This option is used when running prior-enhanced RSEM. It provides + information to calculate ChIP-seq peaks and signals. The file(s) can + be either ungzipped or gzipped with a suffix '.gz' or '.gzip'. The + options '--bowtie-path ' and '--chipseq-control-read-files + ' must be defined when this option is specified. (Default: + "") + + --chipseq-control-read-files + Comma-separated full path of FASTQ read file(s) for ChIP-seq conrol. + This option is used when running prior-enhanced RSEM. It provides + information to call ChIP-seq peaks. The file(s) can be either + ungzipped or gzipped with a suffix '.gz' or '.gzip'. The options + '--bowtie-path ' and '--chipseq-target-read-files ' + must be defined when this option is specified. (Default: "") + + --chipseq-read-files-multi-targets + Comma-separated full path of FASTQ read files for multiple ChIP-seq + targets. This option is used when running prior-enhanced RSEM, where + prior is learned from multiple complementary data sets. It provides + information to calculate ChIP-seq signals. All files can be either + ungzipped or gzipped with a suffix '.gz' or '.gzip'. When this + option is specified, the option '--bowtie-path ' must be + defined and the option '--partition-model ' will be set to + 'cmb_lgt' automatically. (Default: "") + + --chipseq-bed-files-multi-targets + Comma-separated full path of BED files for multiple ChIP-seq + targets. This option is used when running prior-enhanced RSEM, where + prior is learned from multiple complementary data sets. It provides + information of ChIP-seq signals and must have at least the first six + BED columns. All files can be either ungzipped or gzipped with a + suffix '.gz' or '.gzip'. When this option is specified, the option + '--partition-model ' will be set to 'cmb_lgt' automatically. + (Default: "") + + --cap-stacked-chipseq-reads + Keep a maximum number of ChIP-seq reads that aligned to the same + genomic interval. This option is used when running prior-enhanced + RSEM, where prior is learned from multiple complementary data sets. + This option is only in use when either + '--chipseq-read-files-multi-targets ' or + '--chipseq-bed-files-multi-targets ' is specified. (Default: + off) + + --n-max-stacked-chipseq-reads + The maximum number of stacked ChIP-seq reads to keep. This option is + used when running prior-enhanced RSEM, where prior is learned from + multiple complementary data sets. This option is only in use when + the option '--cap-stacked-chipseq-reads' is set. (Default: 5) + + --partition-model + A keyword to specify the partition model used by prior-enhanced + RSEM. It must be one of the following keywords: + + - pk + Partitioned by whether an isoform has a ChIP-seq peak overlapping + with its transcription start site (TSS) region. The TSS region is + defined as [TSS-500bp, TSS+500bp]. For simplicity, we refer this + type of peak as 'TSS peak' when explaining other keywords. + + - pk_lgtnopk + First partitioned by TSS peak. Then, for isoforms in the 'no TSS + peak' set, a logistic model is employed to further classify them + into two partitions. + + - lm3, lm4, lm5, or lm6 + Based on their ChIP-seq signals, isoforms are classified into 3, + 4, 5, or 6 partitions by a linear regression model. + + - nopk_lm2pk, nopk_lm3pk, nopk_lm4pk, or nopk_lm5pk + First partitioned by TSS peak. Then, for isoforms in the 'with TSS + peak' set, a linear regression model is employed to further + classify them into 2, 3, 4, or 5 partitions. + + - pk_lm2nopk, pk_lm3nopk, pk_lm4nopk, or pk_lm5nopk + First partitioned by TSS peak. Then, for isoforms in the 'no TSS + peak' set, a linear regression model is employed to further + classify them into 2, 3, 4, or 5 partitions. + + - cmb_lgt + Using a logistic regression to combine TSS signals from multiple + complementary data sets and partition training set isoform into + 'expressed' and 'not expressed'. This partition model is only in + use when either '--chipseq-read-files-multi-targets ' or + '--chipseq-bed-files-multi-targets is specified. + + Parameters for all the above models are learned from a training set. + For detailed explanations, please see prior-enhanced RSEM's paper. + (Default: 'pk') + +DEPRECATED OPTIONS + The options in this section are deprecated. They are here only for + compatibility reasons and may be removed in future releases. + + --sam + Inputs are alignments in SAM format. (Default: off) + + --bam + Inputs are alignments in BAM format. (Default: off) + + --strand-specific + Equivalent to '--strandedness forward'. (Default: off) + + --forward-prob + Probability of generating a read from the forward strand of a + transcript. Set to 1 for a strand-specific protocol where all + (upstream) reads are derived from the forward strand, 0 for a + strand-specific protocol where all (upstream) read are derived from + the reverse strand, or 0.5 for a non-strand-specific protocol. + (Default: off) + +DESCRIPTION + In its default mode, this program aligns input reads against a reference + transcriptome with Bowtie and calculates expression values using the + alignments. RSEM assumes the data are single-end reads with quality + scores, unless the '--paired-end' or '--no-qualities' options are + specified. Alternatively, users can use STAR to align reads using the + '--star' option. RSEM has provided options in 'rsem-prepare-reference' + to prepare STAR's genome indices. Users may use an alternative aligner + by specifying '--alignments', and providing an alignment file in + SAM/BAM/CRAM format. However, users should make sure that they align + against the indices generated by 'rsem-prepare-reference' and the + alignment file satisfies the requirements mentioned in ARGUMENTS + section. + + One simple way to make the alignment file satisfying RSEM's requirements + is to use the 'convert-sam-for-rsem' script. This script accepts + SAM/BAM/CRAM files as input and outputs a BAM file. For example, type + the following command to convert a SAM file, 'input.sam', to a + ready-for-use BAM file, 'input_for_rsem.bam': + + convert-sam-for-rsem input.sam input_for_rsem + + For details, please refer to 'convert-sam-for-rsem's documentation page. + +NOTES + 1. Users must run 'rsem-prepare-reference' with the appropriate + reference before using this program. + + 2. For single-end data, it is strongly recommended that the user provide + the fragment length distribution parameters (--fragment-length-mean and + --fragment-length-sd). For paired-end data, RSEM will automatically + learn a fragment length distribution from the data. + + 3. Some aligner parameters have default values different from their + original settings. + + 4. With the '--calc-pme' option, posterior mean estimates will be + calculated in addition to maximum likelihood estimates. + + 5. With the '--calc-ci' option, 95% credibility intervals and posterior + mean estimates will be calculated in addition to maximum likelihood + estimates. + + 6. The temporary directory and all intermediate files will be removed + when RSEM finishes unless '--keep-intermediate-files' is specified. + + With the '--run-pRSEM' option and associated options (see section + 'PRIOR-ENHANCED RSEM OPTIONS' above for details), prior-enhanced RSEM + will be running. Prior parameters will be learned from supplied external + data set(s) and assigned as initial pseudo-counts for isoforms in the + corresponding partition for Gibbs sampling. + +OUTPUT + sample_name.isoforms.results + File containing isoform level expression estimates. The first line + contains column names separated by the tab character. The format of + each line in the rest of this file is: + + transcript_id gene_id length effective_length expected_count TPM + FPKM IsoPct [posterior_mean_count + posterior_standard_deviation_of_count pme_TPM pme_FPKM + IsoPct_from_pme_TPM TPM_ci_lower_bound TPM_ci_upper_bound + TPM_coefficient_of_quartile_variation FPKM_ci_lower_bound + FPKM_ci_upper_bound FPKM_coefficient_of_quartile_variation] + + Fields are separated by the tab character. Fields within "[]" are + optional. They will not be presented if neither '--calc-pme' nor + '--calc-ci' is set. + + 'transcript_id' is the transcript name of this transcript. 'gene_id' + is the gene name of the gene which this transcript belongs to + (denote this gene as its parent gene). If no gene information is + provided, 'gene_id' and 'transcript_id' are the same. + + 'length' is this transcript's sequence length (poly(A) tail is not + counted). 'effective_length' counts only the positions that can + generate a valid fragment. If no poly(A) tail is added, + 'effective_length' is equal to transcript length - mean fragment + length + 1. If one transcript's effective length is less than 1, + this transcript's both effective length and abundance estimates are + set to 0. + + 'expected_count' is the sum of the posterior probability of each + read comes from this transcript over all reads. Because 1) each read + aligning to this transcript has a probability of being generated + from background noise; 2) RSEM may filter some alignable low quality + reads, the sum of expected counts for all transcript are generally + less than the total number of reads aligned. + + 'TPM' stands for Transcripts Per Million. It is a relative measure + of transcript abundance. The sum of all transcripts' TPM is 1 + million. 'FPKM' stands for Fragments Per Kilobase of transcript per + Million mapped reads. It is another relative measure of transcript + abundance. If we define l_bar be the mean transcript length in a + sample, which can be calculated as + + l_bar = \sum_i TPM_i / 10^6 * effective_length_i (i goes through + every transcript), + + the following equation is hold: + + FPKM_i = 10^3 / l_bar * TPM_i. + + We can see that the sum of FPKM is not a constant across samples. + + 'IsoPct' stands for isoform percentage. It is the percentage of this + transcript's abandunce over its parent gene's abandunce. If its + parent gene has only one isoform or the gene information is not + provided, this field will be set to 100. + + 'posterior_mean_count', 'pme_TPM', 'pme_FPKM' are posterior mean + estimates calculated by RSEM's Gibbs sampler. + 'posterior_standard_deviation_of_count' is the posterior standard + deviation of counts. 'IsoPct_from_pme_TPM' is the isoform percentage + calculated from 'pme_TPM' values. + + 'TPM_ci_lower_bound', 'TPM_ci_upper_bound', 'FPKM_ci_lower_bound' + and 'FPKM_ci_upper_bound' are lower(l) and upper(u) bounds of 95% + credibility intervals for TPM and FPKM values. The bounds are + inclusive (i.e. [l, u]). + + 'TPM_coefficient_of_quartile_variation' and + 'FPKM_coefficient_of_quartile_variation' are coefficients of + quartile variation (CQV) for TPM and FPKM values. CQV is a robust + way of measuring the ratio between the standard deviation and the + mean. It is defined as + + CQV := (Q3 - Q1) / (Q3 + Q1), + + where Q1 and Q3 are the first and third quartiles. + + sample_name.genes.results + File containing gene level expression estimates. The first line + contains column names separated by the tab character. The format of + each line in the rest of this file is: + + gene_id transcript_id(s) length effective_length expected_count TPM + FPKM [posterior_mean_count posterior_standard_deviation_of_count + pme_TPM pme_FPKM TPM_ci_lower_bound TPM_ci_upper_bound + TPM_coefficient_of_quartile_variation FPKM_ci_lower_bound + FPKM_ci_upper_bound FPKM_coefficient_of_quartile_variation] + + Fields are separated by the tab character. Fields within "[]" are + optional. They will not be presented if neither '--calc-pme' nor + '--calc-ci' is set. + + 'transcript_id(s)' is a comma-separated list of transcript_ids + belonging to this gene. If no gene information is provided, + 'gene_id' and 'transcript_id(s)' are identical (the + 'transcript_id'). + + A gene's 'length' and 'effective_length' are defined as the weighted + average of its transcripts' lengths and effective lengths (weighted + by 'IsoPct'). A gene's abundance estimates are just the sum of its + transcripts' abundance estimates. + + sample_name.alleles.results + Only generated when the RSEM references are built with + allele-specific transcripts. + + This file contains allele level expression estimates for + allele-specific expression calculation. The first line contains + column names separated by the tab character. The format of each line + in the rest of this file is: + + allele_id transcript_id gene_id length effective_length + expected_count TPM FPKM AlleleIsoPct AlleleGenePct + [posterior_mean_count posterior_standard_deviation_of_count pme_TPM + pme_FPKM AlleleIsoPct_from_pme_TPM AlleleGenePct_from_pme_TPM + TPM_ci_lower_bound TPM_ci_upper_bound + TPM_coefficient_of_quartile_variation FPKM_ci_lower_bound + FPKM_ci_upper_bound FPKM_coefficient_of_quartile_variation] + + Fields are separated by the tab character. Fields within "[]" are + optional. They will not be presented if neither '--calc-pme' nor + '--calc-ci' is set. + + 'allele_id' is the allele-specific name of this allele-specific + transcript. + + 'AlleleIsoPct' stands for allele-specific percentage on isoform + level. It is the percentage of this allele-specific transcript's + abundance over its parent transcript's abundance. If its parent + transcript has only one allele variant form, this field will be set + to 100. + + 'AlleleGenePct' stands for allele-specific percentage on gene level. + It is the percentage of this allele-specific transcript's abundance + over its parent gene's abundance. + + 'AlleleIsoPct_from_pme_TPM' and 'AlleleGenePct_from_pme_TPM' have + similar meanings. They are calculated based on posterior mean + estimates. + + Please note that if this file is present, the fields 'length' and + 'effective_length' in 'sample_name.isoforms.results' should be + interpreted similarly as the corresponding definitions in + 'sample_name.genes.results'. + + sample_name.transcript.bam + Only generated when --no-bam-output is not specified. + + 'sample_name.transcript.bam' is a BAM-formatted file of read + alignments in transcript coordinates. The MAPQ field of each + alignment is set to min(100, floor(-10 * log10(1.0 - w) + 0.5)), + where w is the posterior probability of that alignment being the + true mapping of a read. In addition, RSEM pads a new tag ZW:f:value, + where value is a single precision floating number representing the + posterior probability. Because this file contains all alignment + lines produced by bowtie or user-specified aligners, it can also be + used as a replacement of the aligner generated BAM/SAM file. + + sample_name.transcript.sorted.bam and + sample_name.transcript.sorted.bam.bai + Only generated when --no-bam-output is not specified and + --sort-bam-by-coordinate is specified. + + 'sample_name.transcript.sorted.bam' and + 'sample_name.transcript.sorted.bam.bai' are the sorted BAM file and + indices generated by samtools (included in RSEM package). + + sample_name.genome.bam + Only generated when --no-bam-output is not specified and + --output-genome-bam is specified. + + 'sample_name.genome.bam' is a BAM-formatted file of read alignments + in genomic coordinates. Alignments of reads that have identical + genomic coordinates (i.e., alignments to different isoforms that + share the same genomic region) are collapsed into one alignment. The + MAPQ field of each alignment is set to min(100, floor(-10 * + log10(1.0 - w) + 0.5)), where w is the posterior probability of that + alignment being the true mapping of a read. In addition, RSEM pads a + new tag ZW:f:value, where value is a single precision floating + number representing the posterior probability. If an alignment is + spliced, a XS:A:value tag is also added, where value is either '+' + or '-' indicating the strand of the transcript it aligns to. + + sample_name.genome.sorted.bam and sample_name.genome.sorted.bam.bai + Only generated when --no-bam-output is not specified, and + --sort-bam-by-coordinate and --output-genome-bam are specified. + + 'sample_name.genome.sorted.bam' and + 'sample_name.genome.sorted.bam.bai' are the sorted BAM file and + indices generated by samtools (included in RSEM package). + + sample_name.time + Only generated when --time is specified. + + It contains time (in seconds) consumed by aligning reads, estimating + expression levels and calculating credibility intervals. + + sample_name.log + Only generated when --alignments is not specified. + + It captures alignment statistics outputted from the user-specified + aligner. + + sample_name.stat + This is a folder instead of a file. All model related statistics are + stored in this folder. Use 'rsem-plot-model' can generate plots + using this folder. + + 'sample_name.stat/sample_name.cnt' contains alignment statistics. + The format and meanings of each field are described in + 'cnt_file_description.txt' under RSEM directory. + + 'sample_name.stat/sample_name.model' stores RNA-Seq model parameters + learned from the data. The format and meanings of each filed of this + file are described in 'model_file_description.txt' under RSEM + directory. + + The following four output files will be generated only by + prior-enhanced RSEM + + - 'sample_name.stat/sample_name_prsem.all_tr_features' + It stores isofrom features for deriving and assigning pRSEM prior. + The first line is a header and the rest is one isoform per line. + The description for each column is: + + * trid: transcript ID from input annotation + + * geneid: gene ID from input anntation + + * chrom: isoform's chromosome name + + * strand: isoform's strand name + + * start: isoform's end with the lowest genomic loci + + * end: isoform's end with the highest genomic loci + + * tss_mpp: average mappability of [TSS-500bp, TSS+500bp], where + TSS is isoform's transcription start site, i.e. 5'-end + + * body_mpp: average mappability of (TSS+500bp, TES-500bp), where + TES is isoform's transcription end site, i.e. 3'-end + + * tes_mpp: average mappability of [TES-500bp, TES+500bp] + + * pme_count: isoform's fragment or read count from RSEM's + posterior mean estimates + + * tss: isoform's TSS loci + + * tss_pk: equal to 1 if isoform's [TSS-500bp, TSS+500bp] region + overlaps with a RNA Pol II peak; 0 otherwise + + * is_training: equal to 1 if isoform is in the training set where + Pol II prior is learned; 0 otherwise + + - 'sample_name.stat/sample_name_prsem.all_tr_prior' + It stores prior parameters for every isoform. This file does not + have a header. Each line contains a prior parameter and an + isoform's transcript ID delimited by ` # `. + + - 'sample_name.stat/sample_name_uniform_prior_1.isoforms.results' + RSEM's posterior mean estimates on the isoform level with an + initial pseudo-count of one for every isoform. It is in the same + format as the 'sample_name.isoforms.results'. + + - 'sample_name.stat/sample_name_uniform_prior_1.genes.results' + RSEM's posterior mean estimates on the gene level with an initial + pseudo-count of one for every isoform. It is in the same format as + the 'sample_name.genes.results'. + + When learning prior from multiple external data sets in + prior-enhanced RSEM, two additional output files will be generated. + + - 'sample_name.stat/sample_name.pval_LL' + It stores a p-value and a log-likelihood. The p-value indicates + whether the combination of multiple complementary data sets is + informative for RNA-seq quantification. The log-likelihood shows + how well pRSEM's Dirichlet-multinomial model fits the read counts + of partitioned training set isoforms. + + - 'sample_name.stat/sample_name.lgt_mdl.RData' + It stores an R object named 'glmmdl', which is a logistic + regression model on the training set isoforms and multiple + external data sets. + + In addition, extra columns will be added to + 'sample_name.stat/all_tr_features' + + * is_expr: equal to 1 if isoform has an abundance >= 1 TPM and a + non-zero read count from RSEM's posterior mean estimates; 0 + otherwise + + * "$external_data_set_basename": log10 of external data's signal at + [TSS-500, TSS+500]. Signal is the number of reads aligned within + that interval and normalized to RPKM by read depth and interval + length. It will be set to -4 if no read aligned to that interval. + + There are multiple columns like this one, where each represents an + external data set. + + * prd_expr_prob: predicted probability from logistic regression + model on whether this isoform is expressed or not. A probability + higher than 0.5 is considered as expressed + + * partition: group index, to which this isoforms is partitioned + + * prior: prior parameter for this isoform + +EXAMPLES + Assume the path to the bowtie executables is in the user's PATH + environment variable. Reference files are under '/ref' with name + 'mouse_125'. + + 1) '/data/mmliver.fq', single-end reads with quality scores. Quality + scores are encoded as for 'GA pipeline version >= 1.3'. We want to use 8 + threads and generate a genome BAM file. In addition, we want to append + gene/transcript names to the result files: + + rsem-calculate-expression --phred64-quals \ + -p 8 \ + --append-names \ + --output-genome-bam \ + /data/mmliver.fq \ + /ref/mouse_125 \ + mmliver_single_quals + + 2) '/data/mmliver_1.fq' and '/data/mmliver_2.fq', stranded paired-end + reads with quality scores. Suppose the library is prepared using TruSeq + Stranded Kit, which means the first mate should map to the reverse + strand. Quality scores are in SANGER format. We want to use 8 threads + and do not generate a genome BAM file: + + rsem-calculate-expression -p 8 \ + --paired-end \ + --strandedness reverse \ + /data/mmliver_1.fq \ + /data/mmliver_2.fq \ + /ref/mouse_125 \ + mmliver_paired_end_quals + + 3) '/data/mmliver.fa', single-end reads without quality scores. We want + to use 8 threads: + + rsem-calculate-expression -p 8 \ + --no-qualities \ + /data/mmliver.fa \ + /ref/mouse_125 \ + mmliver_single_without_quals + + 4) Data are the same as 1). This time we assume the bowtie executables + are under '/sw/bowtie'. We want to take a fragment length distribution + into consideration. We set the fragment length mean to 150 and the + standard deviation to 35. In addition to a BAM file, we also want to + generate credibility intervals. We allow RSEM to use 1GB of memory for + CI calculation: + + rsem-calculate-expression --bowtie-path /sw/bowtie \ + --phred64-quals \ + --fragment-length-mean 150.0 \ + --fragment-length-sd 35.0 \ + -p 8 \ + --output-genome-bam \ + --calc-ci \ + --ci-memory 1024 \ + /data/mmliver.fq \ + /ref/mouse_125 \ + mmliver_single_quals + + 5) '/data/mmliver_paired_end_quals.bam', BAM-formatted alignments for + paired-end reads with quality scores. We want to use 8 threads: + + rsem-calculate-expression --paired-end \ + --alignments \ + -p 8 \ + /data/mmliver_paired_end_quals.bam \ + /ref/mouse_125 \ + mmliver_paired_end_quals + + 6) '/data/mmliver_1.fq.gz' and '/data/mmliver_2.fq.gz', paired-end reads + with quality scores and read files are compressed by gzip. We want to + use STAR to aligned reads and assume STAR executable is '/sw/STAR'. + Suppose we want to use 8 threads and do not generate a genome BAM file: + + rsem-calculate-expression --paired-end \ + --star \ + --star-path /sw/STAR \ + --gzipped-read-file \ + --paired-end \ + -p 8 \ + /data/mmliver_1.fq.gz \ + /data/mmliver_2.fq.gz \ + /ref/mouse_125 \ + mmliver_paired_end_quals + + 7) In the above example, suppose we want to run prior-enhanced RSEM + instead. Assuming we want to learn priors from a ChIP-seq peak file + '/data/mmlive.narrowPeak.gz': + + rsem-calculate-expression --star \ + --star-path /sw/STAR \ + --gzipped-read-file \ + --paired-end \ + --calc-pme \ + --run-pRSEM \ + --chipseq-peak-file /data/mmliver.narrowPeak.gz \ + -p 8 \ + /data/mmliver_1.fq.gz \ + /data/mmliver_2.fq.gz \ + /ref/mouse_125 \ + mmliver_paired_end_quals + + 8) Similar to the example in 7), suppose we want to use the partition + model 'pk_lm2nopk' (partitioning isoforms by Pol II TSS peak first and + then partitioning 'no TSS peak' isoforms into two bins by a linear + regression model), and we want to partition isoforms by RNA Pol II's + ChIP-seq read files '/data/mmliver_PolIIRep1.fq.gz' and + '/data/mmliver_PolIIRep2.fq.gz', and the control ChIP-seq read files + '/data/mmliver_ChIPseqCtrl.fq.gz'. Also, assuming Bowtie's executables + are under '/sw/bowtie/': + + rsem-calculate-expression --star \ + --star-path /sw/STAR \ + --gzipped-read-file \ + --paired-end \ + --calc-pme \ + --run-pRSEM \ + --chipseq-target-read-files /data/mmliver_PolIIRep1.fq.gz,/data/mmliver_PolIIRep2.fq.gz \ + --chipseq-control-read-files /data/mmliver_ChIPseqCtrl.fq.gz \ + --partition-model pk_lm2nopk \ + --bowtie-path /sw/bowtie \ + -p 8 \ + /data/mmliver_1.fq.gz \ + /data/mmliver_2.fq.gz \ + /ref/mouse_125 \ + mmliver_paired_end_quals + + 9) Similar to the example in 8), suppose we want to derive prior from + four histone modification ChIP-seq read data sets: + '/data/H3K27Ac.fastq.gz', '/data/H3K4me1.fastq.gz', + '/data/H3K4me2.fastq.gz', and '/data/H3K4me3.fastq.gz'. Also, assuming + Bowtie's executables are under '/sw/bowtie/': + + rsem-calculate-expression --star \ + --star-path /sw/STAR \ + --gzipped-read-file \ + --paired-end \ + --calc-pme \ + --run-pRSEM \ + --partition-model cmb_lgt \ + --chipseq-read-files-multi-targets /data/H3K27Ac.fastq.gz,/data/H3K4me1.fastq.gz,/data/H3K4me2.fastq.gz,/data/H3K4me3.fastq.gz \ + --bowtie-path /sw/bowtie \ + -p 8 \ + /data/mmliver_1.fq.gz \ + /data/mmliver_2.fq.gz \ + /ref/mouse_125 \ + mmliver_paired_end_quals + diff --git a/src/rsem/rsem_calculate_expression/script.sh b/src/rsem/rsem_calculate_expression/script.sh new file mode 100644 index 00000000..e8c6ce5d --- /dev/null +++ b/src/rsem/rsem_calculate_expression/script.sh @@ -0,0 +1,103 @@ +#!/bin/bash + +## VIASH START +## VIASH END + +set -eo pipefail + +function clean_up { + rm -rf "$tmpdir" +} +trap clean_up EXIT + +tmpdir=$(mktemp -d "$meta_temp_dir/$meta_functionality_name-XXXXXXXX") + +if [ "$par_strandedness" == 'forward' ]; then + strandedness='--strandedness forward' +elif [ "$par_strandedness" == 'reverse' ]; then + strandedness="--strandedness reverse" +else + strandedness='' +fi + +IFS=";" read -ra input <<< $par_input + +INDEX=$(find -L $meta_resources_dir/$par_index -name "*.grp" | sed 's/\.grp$//') + +unset_if_false=( par_paired par_quiet par_no_bam_output par_sampling_for_bam par_no_qualities + par_alignments par_bowtie2 par_star par_hisat2_hca par_append_names + par_single_cell_prior par_calc_pme par_calc_ci par_phred64_quals + par_solexa_quals par_star_gzipped_read_file par_star_bzipped_read_file + par_star_output_genome_bam par_estimate_rspd par_keep_intermediate_files + par_time par_run_pRSEM par_cap_stacked_chipseq_reads par_sort_bam_by_read_name ) + +for par in ${unset_if_false[@]}; do + test_val="${!par}" + [[ "$test_val" == "false" ]] && unset $par +done + +rsem-calculate-expression \ + ${par_quiet:+-q} \ + ${par_no_bam_output:+--no-bam-output} \ + ${par_sampling_for_bam:+--sampling-for-bam} \ + ${par_no_qualities:+--no-qualities} \ + ${par_alignments:+--alignments} \ + ${par_bowtie2:+--bowtie2} \ + ${par_star:+--star} \ + ${par_hisat2_hca:+--hisat2-hca} \ + ${par_append_names:+--append-names} \ + ${par_single_cell_prior:+--single-cell-prior} \ + ${par_calc_pme:+--calc-pme} \ + ${par_calc_ci:+--calc-ci} \ + ${par_phred64_quals:+--phred64-quals} \ + ${par_solexa_quals:+--solexa-quals} \ + ${par_star_gzipped_read_file:+--star-gzipped-read-file} \ + ${par_star_bzipped_read_file:+--star-bzipped-read-file} \ + ${par_star_output_genome_bam:+--star-output-genome-bam} \ + ${par_estimate_rspd:+--estimate-rspd} \ + ${par_keep_intermediate_files:+--keep-intermediate-files} \ + ${par_time:+--time} \ + ${par_run_pRSEM:+--run-pRSEM} \ + ${par_cap_stacked_chipseq_reads:+--cap-stacked-chipseq-reads} \ + ${par_sort_bam_by_read_name:+--sort-bam-by-read-name} \ + ${par_counts_gene:+--counts-gene "$par_counts_gene"} \ + ${par_counts_transcripts:+--counts-transcripts "$par_counts_transcripts"} \ + ${par_stat:+--stat "$par_stat"} \ + ${par_bam_star:+--bam-star "$par_bam_star"} \ + ${par_bam_genome:+--bam-genome "$par_bam_genome"} \ + ${par_bam_transcript:+--bam-transcript "$par_bam_transcript"} \ + ${par_fai:+--fai "$par_fai"} \ + ${par_seed:+--seed "$par_seed"} \ + ${par_seed_length:+--seed-length "$par_seed_length"} \ + ${par_bowtie_n:+--bowtie-n "$par_bowtie_n"} \ + ${par_bowtie_e:+--bowtie-e "$par_bowtie_e"} \ + ${par_bowtie_m:+--bowtie-m "$par_bowtie_m"} \ + ${par_bowtie_chunkmbs:+--bowtie-chunkmbs "$par_bowtie_chunkmbs"} \ + ${par_bowtie2_mismatch_rate:+--bowtie2-mismatch-rate "$par_bowtie2_mismatch_rate"} \ + ${par_bowtie2_k:+--bowtie2-k "$par_bowtie2_k"} \ + ${par_bowtie2_sensitivity_level:+--bowtie2-sensitivity-level "$par_bowtie2_sensitivity_level"} \ + ${par_tag:+--tag "$par_tag"} \ + ${par_fragment_length_min:+--fragment-length-min "$par_fragment_length_min"} \ + ${par_fragment_length_max:+--fragment-length-max "$par_fragment_length_max"} \ + ${par_fragment_length_mean:+--fragment-length-mean "$par_fragment_length_mean"} \ + ${par_fragment_length_sd:+--fragment-length-sd "$par_fragment_length_sd"} \ + ${par_num_rspd_bins:+--num-rspd-bins "$par_num_rspd_bins"} \ + ${par_gibbs_burnin:+--gibbs-burnin "$par_gibbs_burnin"} \ + ${par_gibbs_number_of_samples:+--gibbs-number-of-samples "$par_gibbs_number_of_samples"} \ + ${par_gibbs_sampling_gap:+--gibbs-sampling-gap "$par_gibbs_sampling_gap"} \ + ${par_ci_credibility_level:+--ci-credibility-level "$par_ci_credibility_level"} \ + ${par_ci_number_of_samples_per_count_vector:+--ci-number-of-samples-per-count-vector "$par_ci_number_of_samples_per_count_vector"} \ + ${par_temporary_folder:+--temporary-folder "$par_temporary_folder"} \ + ${par_chipseq_peak_file:+--chipseq-peak-file "$par_chipseq_peak_file"} \ + ${par_chipseq_target_read_files:+--chipseq-target-read-files "$par_chipseq_target_read_files"} \ + ${par_chipseq_control_read_files:+--chipseq-control-read-files "$par_chipseq_control_read_files"} \ + ${par_chipseq_read_files_multi_targets:+--chipseq-read-files-multi-targets "$par_chipseq_read_files_multi_targets"} \ + ${par_chipseq_bed_files_multi_targets:+--chipseq-bed-files-multi-targets "$par_chipseq_bed_files_multi_targets"} \ + ${par_n_max_stacked_chipseq_reads:+--n-max-stacked-chipseq-reads "$par_n_max_stacked_chipseq_reads"} \ + ${par_partition_model:+--partition-model "$par_partition_model"} \ + $strandedness \ + ${par_paired:+--paired-end} \ + ${input[*]} \ + $INDEX \ + $par_id + diff --git a/src/rsem/rsem_calculate_expression/test.sh b/src/rsem/rsem_calculate_expression/test.sh new file mode 100644 index 00000000..c9ede884 --- /dev/null +++ b/src/rsem/rsem_calculate_expression/test.sh @@ -0,0 +1,116 @@ +#!/bin/bash + +echo ">>> Testing $meta_executable" + +test_dir="${meta_resources_dir}/test_data" + +# wget https://raw.githubusercontent.com/nf-core/test-datasets/rnaseq3/reference/rsem.tar.gz +# gunzip -k rsem.tar.gz +# tar -xf rsem.tar +# mv $test_dir/rsem $meta_resources_dir + +echo "> Prepare test data" + +cat > reads_R1.fastq <<'EOF' +@SEQ_ID1 +ACGCTGCCTCATAAGCCTCACACAT ++ +IIIIIIIIIIIIIIIIIIIIIIIII +@SEQ_ID2 +ACCCGCAAGATTAGGCTCCGTACAC ++ +!!!!!!!!!!!!!!!!!!!!!!!!! +EOF + +cat > reads_R2.fastq <<'EOF' +@SEQ_ID1 +ATGTGTGAGGCTTATGAGGCAGCGT ++ +IIIIIIIIIIIIIIIIIIIIIIIII +@SEQ_ID2 +GTGTACGGAGCCTAATCTTGCAGGG ++ +!!!!!!!!!!!!!!!!!!!!!!!!! +EOF + +cat > genome.fasta <<'EOF' +>chr1 +TGGCATGAGCCAACGAACGCTGCCTCATAAGCCTCACACATCCGCGCCTATGTTGTGACTCTCTGTGAGCGTTCGTGGG +GCTCGTCACCACTATGGTTGGCCGGTTAGTAGTGTGACTCCTGGTTTTCTGGAGCTTCTTTAAACCGTAGTCCAGTCAA +TGCGAATGGCACTTCACGACGGACTGTCCTTAGGTGTGAGGCTTATGAGGCACTCAGGGGA +EOF + +cat > genes.gtf <<'EOF' +chr1 example_source gene 0 50 . + . gene_id "gene1"; transcript_id "transcript1"; +chr1 example_source exon 20 40 . + . gene_id "gene1"; transcript_id "transcript1"; +chr1 example_source gene 100 219 . + . gene_id "gene2"; transcript_id "transcript2"; +chr1 example_source exon 191 210 . + . gene_id "gene2"; transcript_id "transcript2"; +EOF + +cat > ref.cnt <<'EOF' +1 0 0 1 +0 0 0 +0 3 +0 1 +Inf 0 +EOF + +cat > ref.genes.results <<'EOF' +gene_id transcript_id(s) length effective_length expected_count TPM FPKM +gene1 transcript1 21.00 21.00 0.00 0.00 0.00 +gene2 transcript2 20.00 20.00 0.00 0.00 0.00 +EOF + +cat > ref.isoforms.results <<'EOF' +transcript_id gene_id length effective_length expected_count TPM FPKM IsoPct +transcript1 gene1 21 21.00 0.00 0.00 0.00 0.00 +transcript2 gene2 20 20.00 0.00 0.00 0.00 0.00 +EOF + + +echo "> Generate index" + +rsem-prepare-reference \ + --gtf "genes.gtf" \ + "genome.fasta" \ + "index" + +mkdir index +mv index.* index/ + +STAR \ + ${meta_cpus:+--runThreadN $meta_cpus} \ + --runMode genomeGenerate \ + --genomeDir "index/" \ + --genomeFastaFiles "genome.fasta" \ + --sjdbGTFfile "genes.gtf" \ + --genomeSAindexNbases 2 + +######################################################################################### + +echo ">>> Test 1: Paired-end reads using STAR to align reads" +"$meta_executable" \ + --star \ + --paired \ + --input "reads_R1.fastq;reads_R2.fastq" \ + --index index \ + --id test \ + --seed 1 \ + --quiet + +echo ">>> Checking whether output exists" +[ ! -f "test.genes.results" ] && echo "Gene level expression counts file does not exist!" && exit 1 +[ ! -s "test.genes.results" ] && echo "Gene level expression counts file is empty!" && exit 1 +[ ! -f "test.isoforms.results" ] && echo "Transcript level expression counts file does not exist!" && exit 1 +[ ! -s "test.isoforms.results" ] && echo "Transcript level expression counts file is empty!" && exit 1 +[ ! -d "test.stat" ] && echo "Stats file does not exist!" && exit 1 + +echo ">>> Check wheter output is correct" +diff ref.genes.results test.genes.results || { echo "Gene level expression counts file is incorrect!"; exit 1; } +diff ref.isoforms.results test.isoforms.results || { echo "Transcript level expression counts file is incorrect!"; exit 1; } +diff ref.cnt test.stat/test.cnt || { echo "Stats file is incorrect!"; exit 1; } + +##################################################################################################### + +echo "All tests succeeded!" +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 aac05d20..7e0078c2 100644 --- a/target/executable/agat/agat_convert_bed2gff/.config.vsh.yaml +++ b/target/executable/agat/agat_convert_bed2gff/.config.vsh.yaml @@ -235,9 +235,9 @@ build_info: output: "target/executable/agat/agat_convert_bed2gff" executable: "target/executable/agat/agat_convert_bed2gff/agat_convert_bed2gff" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/agat/agat_convert_bed2gff/agat_convert_bed2gff b/target/executable/agat/agat_convert_bed2gff/agat_convert_bed2gff index 66be31b0..e76741ef 100755 --- a/target/executable/agat/agat_convert_bed2gff/agat_convert_bed2gff +++ b/target/executable/agat/agat_convert_bed2gff/agat_convert_bed2gff @@ -515,9 +515,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="2024-09-17T09:52:57Z" +LABEL org.opencontainers.image.created="2024-09-18T13:53:05Z" LABEL org.opencontainers.image.source="https://github.com/NBISweden/AGAT" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 93c70e0f..73e6ae21 100644 --- a/target/executable/agat/agat_convert_embl2gff/.config.vsh.yaml +++ b/target/executable/agat/agat_convert_embl2gff/.config.vsh.yaml @@ -225,9 +225,9 @@ build_info: output: "target/executable/agat/agat_convert_embl2gff" executable: "target/executable/agat/agat_convert_embl2gff/agat_convert_embl2gff" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/agat/agat_convert_embl2gff/agat_convert_embl2gff b/target/executable/agat/agat_convert_embl2gff/agat_convert_embl2gff index 31ee1d3e..6764f024 100755 --- a/target/executable/agat/agat_convert_embl2gff/agat_convert_embl2gff +++ b/target/executable/agat/agat_convert_embl2gff/agat_convert_embl2gff @@ -505,9 +505,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="2024-09-17T09:52:56Z" +LABEL org.opencontainers.image.created="2024-09-18T13:53:05Z" LABEL org.opencontainers.image.source="https://github.com/NBISweden/AGAT" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 a1f14b2a..2d5b1181 100644 --- a/target/executable/agat/agat_convert_genscan2gff/.config.vsh.yaml +++ b/target/executable/agat/agat_convert_genscan2gff/.config.vsh.yaml @@ -230,9 +230,9 @@ build_info: output: "target/executable/agat/agat_convert_genscan2gff" executable: "target/executable/agat/agat_convert_genscan2gff/agat_convert_genscan2gff" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/agat/agat_convert_genscan2gff/agat_convert_genscan2gff b/target/executable/agat/agat_convert_genscan2gff/agat_convert_genscan2gff index 527d9b2e..92d91c93 100755 --- a/target/executable/agat/agat_convert_genscan2gff/agat_convert_genscan2gff +++ b/target/executable/agat/agat_convert_genscan2gff/agat_convert_genscan2gff @@ -514,9 +514,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="2024-09-17T09:52:57Z" +LABEL org.opencontainers.image.created="2024-09-18T13:53:06Z" LABEL org.opencontainers.image.source="https://github.com/NBISweden/AGAT" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 f5f337a8..7f23477c 100644 --- a/target/executable/agat/agat_convert_sp_gff2gtf/.config.vsh.yaml +++ b/target/executable/agat/agat_convert_sp_gff2gtf/.config.vsh.yaml @@ -228,9 +228,9 @@ 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.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" 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 6046c7a1..553aab7f 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 @@ -519,9 +519,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="2024-09-17T09:52:57Z" +LABEL org.opencontainers.image.created="2024-09-18T13:53:06Z" LABEL org.opencontainers.image.source="https://github.com/NBISweden/AGAT" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 735f0758..74eb1a0d 100644 --- a/target/executable/agat/agat_convert_sp_gff2tsv/.config.vsh.yaml +++ b/target/executable/agat/agat_convert_sp_gff2tsv/.config.vsh.yaml @@ -188,9 +188,9 @@ 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.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" 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 283f1e25..e3389de8 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 @@ -484,9 +484,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="2024-09-17T09:52:56Z" +LABEL org.opencontainers.image.created="2024-09-18T13:53:05Z" LABEL org.opencontainers.image.source="https://github.com/NBISweden/AGAT" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 9ced924b..2fb7ac97 100644 --- a/target/executable/agat/agat_convert_sp_gxf2gxf/.config.vsh.yaml +++ b/target/executable/agat/agat_convert_sp_gxf2gxf/.config.vsh.yaml @@ -195,9 +195,9 @@ 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.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" 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 b23fe2b7..62ceb179 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 @@ -493,9 +493,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="2024-09-17T09:52:56Z" +LABEL org.opencontainers.image.created="2024-09-18T13:53:04Z" LABEL org.opencontainers.image.source="https://github.com/NBISweden/AGAT" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/arriba/.config.vsh.yaml b/target/executable/arriba/.config.vsh.yaml index b8e79ae1..6f379116 100644 --- a/target/executable/arriba/.config.vsh.yaml +++ b/target/executable/arriba/.config.vsh.yaml @@ -706,9 +706,9 @@ build_info: output: "target/executable/arriba" executable: "target/executable/arriba/arriba" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/arriba/arriba b/target/executable/arriba/arriba index 32260676..69f3b4bd 100755 --- a/target/executable/arriba/arriba +++ b/target/executable/arriba/arriba @@ -754,9 +754,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="2024-09-17T09:52:59Z" +LABEL org.opencontainers.image.created="2024-09-18T13:53:08Z" LABEL org.opencontainers.image.source="https://github.com/suhrig/arriba" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 456cc05a..ebd3859d 100644 --- a/target/executable/bcftools/bcftools_annotate/.config.vsh.yaml +++ b/target/executable/bcftools/bcftools_annotate/.config.vsh.yaml @@ -469,9 +469,9 @@ build_info: output: "target/executable/bcftools/bcftools_annotate" executable: "target/executable/bcftools/bcftools_annotate/bcftools_annotate" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/bcftools/bcftools_annotate/bcftools_annotate b/target/executable/bcftools/bcftools_annotate/bcftools_annotate index 39a8457f..fddc690d 100755 --- a/target/executable/bcftools/bcftools_annotate/bcftools_annotate +++ b/target/executable/bcftools/bcftools_annotate/bcftools_annotate @@ -650,9 +650,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="2024-09-17T09:52:50Z" +LABEL org.opencontainers.image.created="2024-09-18T13:52:58Z" LABEL org.opencontainers.image.source="https://github.com/samtools/bcftools" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 48cabff6..d87690df 100644 --- a/target/executable/bcftools/bcftools_concat/.config.vsh.yaml +++ b/target/executable/bcftools/bcftools_concat/.config.vsh.yaml @@ -335,9 +335,9 @@ build_info: output: "target/executable/bcftools/bcftools_concat" executable: "target/executable/bcftools/bcftools_concat/bcftools_concat" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/bcftools/bcftools_concat/bcftools_concat b/target/executable/bcftools/bcftools_concat/bcftools_concat index 24f53c74..0fdc9afc 100755 --- a/target/executable/bcftools/bcftools_concat/bcftools_concat +++ b/target/executable/bcftools/bcftools_concat/bcftools_concat @@ -566,9 +566,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="2024-09-17T09:52:51Z" +LABEL org.opencontainers.image.created="2024-09-18T13:52:58Z" LABEL org.opencontainers.image.source="https://github.com/samtools/bcftools" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 90d29e8e..e755d7d6 100644 --- a/target/executable/bcftools/bcftools_norm/.config.vsh.yaml +++ b/target/executable/bcftools/bcftools_norm/.config.vsh.yaml @@ -416,9 +416,9 @@ build_info: output: "target/executable/bcftools/bcftools_norm" executable: "target/executable/bcftools/bcftools_norm/bcftools_norm" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/bcftools/bcftools_norm/bcftools_norm b/target/executable/bcftools/bcftools_norm/bcftools_norm index 0d9c80ba..8e87c6a6 100755 --- a/target/executable/bcftools/bcftools_norm/bcftools_norm +++ b/target/executable/bcftools/bcftools_norm/bcftools_norm @@ -589,9 +589,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="2024-09-17T09:52:51Z" +LABEL org.opencontainers.image.created="2024-09-18T13:52:59Z" LABEL org.opencontainers.image.source="https://github.com/samtools/bcftools" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 6700dc6e..82f15b17 100644 --- a/target/executable/bcftools/bcftools_sort/.config.vsh.yaml +++ b/target/executable/bcftools/bcftools_sort/.config.vsh.yaml @@ -185,9 +185,9 @@ build_info: output: "target/executable/bcftools/bcftools_sort" executable: "target/executable/bcftools/bcftools_sort/bcftools_sort" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/bcftools/bcftools_sort/bcftools_sort b/target/executable/bcftools/bcftools_sort/bcftools_sort index 19a2c784..f9229bd0 100755 --- a/target/executable/bcftools/bcftools_sort/bcftools_sort +++ b/target/executable/bcftools/bcftools_sort/bcftools_sort @@ -483,9 +483,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="2024-09-17T09:52:50Z" +LABEL org.opencontainers.image.created="2024-09-18T13:52:57Z" LABEL org.opencontainers.image.source="https://github.com/samtools/bcftools" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 cd7aae02..a0e05358 100644 --- a/target/executable/bcftools/bcftools_stats/.config.vsh.yaml +++ b/target/executable/bcftools/bcftools_stats/.config.vsh.yaml @@ -458,9 +458,9 @@ build_info: output: "target/executable/bcftools/bcftools_stats" executable: "target/executable/bcftools/bcftools_stats/bcftools_stats" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/bcftools/bcftools_stats/bcftools_stats b/target/executable/bcftools/bcftools_stats/bcftools_stats index 3575de41..8b634dcb 100755 --- a/target/executable/bcftools/bcftools_stats/bcftools_stats +++ b/target/executable/bcftools/bcftools_stats/bcftools_stats @@ -626,9 +626,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="2024-09-17T09:52:51Z" +LABEL org.opencontainers.image.created="2024-09-18T13:52:59Z" LABEL org.opencontainers.image.source="https://github.com/samtools/bcftools" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 026c071e..28aca70e 100644 --- a/target/executable/bcl_convert/.config.vsh.yaml +++ b/target/executable/bcl_convert/.config.vsh.yaml @@ -418,9 +418,9 @@ build_info: output: "target/executable/bcl_convert" executable: "target/executable/bcl_convert/bcl_convert" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/bcl_convert/bcl_convert b/target/executable/bcl_convert/bcl_convert index f6bb105c..55352179 100755 --- a/target/executable/bcl_convert/bcl_convert +++ b/target/executable/bcl_convert/bcl_convert @@ -599,9 +599,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="2024-09-17T09:52:58Z" +LABEL org.opencontainers.image.created="2024-09-18T13:53:07Z" LABEL org.opencontainers.image.source="https://github.com/viash-hub/biobox" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 a639f61f..d92836a1 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 @@ -274,9 +274,9 @@ 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.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" 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 ae866332..99af269d 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 @@ -554,9 +554,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="2024-09-17T09:53:02Z" +LABEL org.opencontainers.image.created="2024-09-18T13:53:11Z" LABEL org.opencontainers.image.source="https://bitbucket.org/CRSwDev/cwl/src/master/v2.2.1/Extra_Utilities/" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 46d843ab..4346b9b6 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 @@ -1115,9 +1115,9 @@ 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.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" 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 9b1c8861..6e2485b4 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 @@ -954,9 +954,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="2024-09-17T09:53:01Z" +LABEL org.opencontainers.image.created="2024-09-18T13:53:11Z" LABEL org.opencontainers.image.source="https://bitbucket.org/CRSwDev/cwl/src/master/v2.2.1" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 03a966eb..f6c76f97 100644 --- a/target/executable/bedtools/bedtools_bamtofastq/.config.vsh.yaml +++ b/target/executable/bedtools/bedtools_bamtofastq/.config.vsh.yaml @@ -187,9 +187,9 @@ build_info: output: "target/executable/bedtools/bedtools_bamtofastq" executable: "target/executable/bedtools/bedtools_bamtofastq/bedtools_bamtofastq" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/bedtools/bedtools_bamtofastq/bedtools_bamtofastq b/target/executable/bedtools/bedtools_bamtofastq/bedtools_bamtofastq index c150df4d..c68e5bd9 100755 --- a/target/executable/bedtools/bedtools_bamtofastq/bedtools_bamtofastq +++ b/target/executable/bedtools/bedtools_bamtofastq/bedtools_bamtofastq @@ -483,9 +483,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="2024-09-17T09:52:43Z" +LABEL org.opencontainers.image.created="2024-09-18T13:52:50Z" LABEL org.opencontainers.image.source="https://github.com/arq5x/bedtools2" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 3397f3c0..641010e2 100644 --- a/target/executable/bedtools/bedtools_bed12tobed6/.config.vsh.yaml +++ b/target/executable/bedtools/bedtools_bed12tobed6/.config.vsh.yaml @@ -176,9 +176,9 @@ build_info: output: "target/executable/bedtools/bedtools_bed12tobed6" executable: "target/executable/bedtools/bedtools_bed12tobed6/bedtools_bed12tobed6" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/bedtools/bedtools_bed12tobed6/bedtools_bed12tobed6 b/target/executable/bedtools/bedtools_bed12tobed6/bedtools_bed12tobed6 index 3cd0527d..1e7f5ec3 100755 --- a/target/executable/bedtools/bedtools_bed12tobed6/bedtools_bed12tobed6 +++ b/target/executable/bedtools/bedtools_bed12tobed6/bedtools_bed12tobed6 @@ -480,9 +480,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="2024-09-17T09:52:42Z" +LABEL org.opencontainers.image.created="2024-09-18T13:52:48Z" LABEL org.opencontainers.image.source="https://github.com/arq5x/bedtools2" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 2fcdfbad..f7919dca 100644 --- a/target/executable/bedtools/bedtools_bedtobam/.config.vsh.yaml +++ b/target/executable/bedtools/bedtools_bedtobam/.config.vsh.yaml @@ -214,9 +214,9 @@ build_info: output: "target/executable/bedtools/bedtools_bedtobam" executable: "target/executable/bedtools/bedtools_bedtobam/bedtools_bedtobam" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/bedtools/bedtools_bedtobam/bedtools_bedtobam b/target/executable/bedtools/bedtools_bedtobam/bedtools_bedtobam index ef7f4c43..4fcdd81c 100755 --- a/target/executable/bedtools/bedtools_bedtobam/bedtools_bedtobam +++ b/target/executable/bedtools/bedtools_bedtobam/bedtools_bedtobam @@ -496,9 +496,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="2024-09-17T09:52:44Z" +LABEL org.opencontainers.image.created="2024-09-18T13:52:51Z" LABEL org.opencontainers.image.source="https://github.com/arq5x/bedtools2" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 df39d7da..df50e081 100644 --- a/target/executable/bedtools/bedtools_genomecov/.config.vsh.yaml +++ b/target/executable/bedtools/bedtools_genomecov/.config.vsh.yaml @@ -337,9 +337,9 @@ build_info: output: "target/executable/bedtools/bedtools_genomecov" executable: "target/executable/bedtools/bedtools_genomecov/bedtools_genomecov" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/bedtools/bedtools_genomecov/bedtools_genomecov b/target/executable/bedtools/bedtools_genomecov/bedtools_genomecov index 41927394..b5d594fd 100755 --- a/target/executable/bedtools/bedtools_genomecov/bedtools_genomecov +++ b/target/executable/bedtools/bedtools_genomecov/bedtools_genomecov @@ -591,9 +591,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="2024-09-17T09:52:41Z" +LABEL org.opencontainers.image.created="2024-09-18T13:52:48Z" LABEL org.opencontainers.image.source="https://github.com/arq5x/bedtools2" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 54a1f9b9..76ed2788 100644 --- a/target/executable/bedtools/bedtools_getfasta/.config.vsh.yaml +++ b/target/executable/bedtools/bedtools_getfasta/.config.vsh.yaml @@ -232,9 +232,9 @@ build_info: output: "target/executable/bedtools/bedtools_getfasta" executable: "target/executable/bedtools/bedtools_getfasta/bedtools_getfasta" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/bedtools/bedtools_getfasta/bedtools_getfasta b/target/executable/bedtools/bedtools_getfasta/bedtools_getfasta index 9c2ab0ce..729dcb34 100755 --- a/target/executable/bedtools/bedtools_getfasta/bedtools_getfasta +++ b/target/executable/bedtools/bedtools_getfasta/bedtools_getfasta @@ -526,9 +526,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="2024-09-17T09:52:42Z" +LABEL org.opencontainers.image.created="2024-09-18T13:52:49Z" LABEL org.opencontainers.image.source="https://github.com/arq5x/bedtools2" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 a2ce22e9..4dd83a48 100644 --- a/target/executable/bedtools/bedtools_groupby/.config.vsh.yaml +++ b/target/executable/bedtools/bedtools_groupby/.config.vsh.yaml @@ -273,9 +273,9 @@ build_info: output: "target/executable/bedtools/bedtools_groupby" executable: "target/executable/bedtools/bedtools_groupby/bedtools_groupby" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/bedtools/bedtools_groupby/bedtools_groupby b/target/executable/bedtools/bedtools_groupby/bedtools_groupby index dbb79cc2..f9810c74 100755 --- a/target/executable/bedtools/bedtools_groupby/bedtools_groupby +++ b/target/executable/bedtools/bedtools_groupby/bedtools_groupby @@ -552,9 +552,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="2024-09-17T09:52:43Z" +LABEL org.opencontainers.image.created="2024-09-18T13:52:50Z" LABEL org.opencontainers.image.source="https://github.com/arq5x/bedtools2" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 97ecc514..4f823c21 100644 --- a/target/executable/bedtools/bedtools_intersect/.config.vsh.yaml +++ b/target/executable/bedtools/bedtools_intersect/.config.vsh.yaml @@ -410,9 +410,9 @@ build_info: output: "target/executable/bedtools/bedtools_intersect" executable: "target/executable/bedtools/bedtools_intersect/bedtools_intersect" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/bedtools/bedtools_intersect/bedtools_intersect b/target/executable/bedtools/bedtools_intersect/bedtools_intersect index c5b26a95..f36ee16a 100755 --- a/target/executable/bedtools/bedtools_intersect/bedtools_intersect +++ b/target/executable/bedtools/bedtools_intersect/bedtools_intersect @@ -633,9 +633,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="2024-09-17T09:52:42Z" +LABEL org.opencontainers.image.created="2024-09-18T13:52:49Z" LABEL org.opencontainers.image.source="https://github.com/arq5x/bedtools2" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 41703fbc..fa38ca13 100644 --- a/target/executable/bedtools/bedtools_links/.config.vsh.yaml +++ b/target/executable/bedtools/bedtools_links/.config.vsh.yaml @@ -210,9 +210,9 @@ build_info: output: "target/executable/bedtools/bedtools_links" executable: "target/executable/bedtools/bedtools_links/bedtools_links" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/bedtools/bedtools_links/bedtools_links b/target/executable/bedtools/bedtools_links/bedtools_links index 57f877bd..8ed0ea5c 100755 --- a/target/executable/bedtools/bedtools_links/bedtools_links +++ b/target/executable/bedtools/bedtools_links/bedtools_links @@ -500,9 +500,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="2024-09-17T09:52:43Z" +LABEL org.opencontainers.image.created="2024-09-18T13:52:49Z" LABEL org.opencontainers.image.source="https://github.com/arq5x/bedtools2" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 99eba885..4436b255 100644 --- a/target/executable/bedtools/bedtools_merge/.config.vsh.yaml +++ b/target/executable/bedtools/bedtools_merge/.config.vsh.yaml @@ -279,9 +279,9 @@ build_info: output: "target/executable/bedtools/bedtools_merge" executable: "target/executable/bedtools/bedtools_merge/bedtools_merge" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/bedtools/bedtools_merge/bedtools_merge b/target/executable/bedtools/bedtools_merge/bedtools_merge index 62237de2..ab41511d 100755 --- a/target/executable/bedtools/bedtools_merge/bedtools_merge +++ b/target/executable/bedtools/bedtools_merge/bedtools_merge @@ -558,9 +558,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="2024-09-17T09:52:41Z" +LABEL org.opencontainers.image.created="2024-09-18T13:52:48Z" LABEL org.opencontainers.image.source="https://github.com/arq5x/bedtools2" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 eb6a1d58..c9045090 100644 --- a/target/executable/bedtools/bedtools_sort/.config.vsh.yaml +++ b/target/executable/bedtools/bedtools_sort/.config.vsh.yaml @@ -222,9 +222,9 @@ build_info: output: "target/executable/bedtools/bedtools_sort" executable: "target/executable/bedtools/bedtools_sort/bedtools_sort" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/bedtools/bedtools_sort/bedtools_sort b/target/executable/bedtools/bedtools_sort/bedtools_sort index a65288fb..20b596a3 100755 --- a/target/executable/bedtools/bedtools_sort/bedtools_sort +++ b/target/executable/bedtools/bedtools_sort/bedtools_sort @@ -509,9 +509,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="2024-09-17T09:52:44Z" +LABEL org.opencontainers.image.created="2024-09-18T13:52:50Z" LABEL org.opencontainers.image.source="https://github.com/arq5x/bedtools2" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 36239b44..bd801b96 100644 --- a/target/executable/busco/busco_download_datasets/.config.vsh.yaml +++ b/target/executable/busco/busco_download_datasets/.config.vsh.yaml @@ -158,9 +158,9 @@ build_info: output: "target/executable/busco/busco_download_datasets" executable: "target/executable/busco/busco_download_datasets/busco_download_datasets" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/busco/busco_download_datasets/busco_download_datasets b/target/executable/busco/busco_download_datasets/busco_download_datasets index 6223655a..8243623f 100755 --- a/target/executable/busco/busco_download_datasets/busco_download_datasets +++ b/target/executable/busco/busco_download_datasets/busco_download_datasets @@ -475,9 +475,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="2024-09-17T09:52:54Z" +LABEL org.opencontainers.image.created="2024-09-18T13:53:02Z" LABEL org.opencontainers.image.source="https://gitlab.com/ezlab/busco" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 b9eecb11..710fc8cf 100644 --- a/target/executable/busco/busco_list_datasets/.config.vsh.yaml +++ b/target/executable/busco/busco_list_datasets/.config.vsh.yaml @@ -145,9 +145,9 @@ build_info: output: "target/executable/busco/busco_list_datasets" executable: "target/executable/busco/busco_list_datasets/busco_list_datasets" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/busco/busco_list_datasets/busco_list_datasets b/target/executable/busco/busco_list_datasets/busco_list_datasets index 64443ff5..69465316 100755 --- a/target/executable/busco/busco_list_datasets/busco_list_datasets +++ b/target/executable/busco/busco_list_datasets/busco_list_datasets @@ -465,9 +465,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="2024-09-17T09:52:54Z" +LABEL org.opencontainers.image.created="2024-09-18T13:53:02Z" LABEL org.opencontainers.image.source="https://gitlab.com/ezlab/busco" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 c2462403..91e40e09 100644 --- a/target/executable/busco/busco_run/.config.vsh.yaml +++ b/target/executable/busco/busco_run/.config.vsh.yaml @@ -423,9 +423,9 @@ build_info: output: "target/executable/busco/busco_run" executable: "target/executable/busco/busco_run/busco_run" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/busco/busco_run/busco_run b/target/executable/busco/busco_run/busco_run index f1f5aa76..d5a03a77 100755 --- a/target/executable/busco/busco_run/busco_run +++ b/target/executable/busco/busco_run/busco_run @@ -632,9 +632,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="2024-09-17T09:52:55Z" +LABEL org.opencontainers.image.created="2024-09-18T13:53:03Z" LABEL org.opencontainers.image.source="https://gitlab.com/ezlab/busco" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/cutadapt/.config.vsh.yaml b/target/executable/cutadapt/.config.vsh.yaml index f586dfbd..d22e1794 100644 --- a/target/executable/cutadapt/.config.vsh.yaml +++ b/target/executable/cutadapt/.config.vsh.yaml @@ -740,9 +740,9 @@ build_info: output: "target/executable/cutadapt" executable: "target/executable/cutadapt/cutadapt" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/cutadapt/cutadapt b/target/executable/cutadapt/cutadapt index 83a22c81..956ef35e 100755 --- a/target/executable/cutadapt/cutadapt +++ b/target/executable/cutadapt/cutadapt @@ -831,9 +831,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="2024-09-17T09:53:00Z" +LABEL org.opencontainers.image.created="2024-09-18T13:53:09Z" LABEL org.opencontainers.image.source="https://github.com/marcelm/cutadapt" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/falco/.config.vsh.yaml b/target/executable/falco/.config.vsh.yaml index d38d67df..36ba71c6 100644 --- a/target/executable/falco/.config.vsh.yaml +++ b/target/executable/falco/.config.vsh.yaml @@ -317,9 +317,9 @@ build_info: output: "target/executable/falco" executable: "target/executable/falco/falco" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/falco/falco b/target/executable/falco/falco index 7ec74f22..c07b8fbf 100755 --- a/target/executable/falco/falco +++ b/target/executable/falco/falco @@ -589,9 +589,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="2024-09-17T09:53:01Z" +LABEL org.opencontainers.image.created="2024-09-18T13:53:10Z" LABEL org.opencontainers.image.source="https://github.com/smithlabcode/falco" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/fastp/.config.vsh.yaml b/target/executable/fastp/.config.vsh.yaml index 73c1dc33..d2cc1f89 100644 --- a/target/executable/fastp/.config.vsh.yaml +++ b/target/executable/fastp/.config.vsh.yaml @@ -1083,9 +1083,9 @@ build_info: output: "target/executable/fastp" executable: "target/executable/fastp/fastp" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/fastp/fastp b/target/executable/fastp/fastp index ba46f64f..68149ff9 100755 --- a/target/executable/fastp/fastp +++ b/target/executable/fastp/fastp @@ -1028,9 +1028,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="2024-09-17T09:52:58Z" +LABEL org.opencontainers.image.created="2024-09-18T13:53:06Z" LABEL org.opencontainers.image.source="https://github.com/OpenGene/fastp" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/fastqc/.config.vsh.yaml b/target/executable/fastqc/.config.vsh.yaml index d3e247dc..c5468206 100644 --- a/target/executable/fastqc/.config.vsh.yaml +++ b/target/executable/fastqc/.config.vsh.yaml @@ -340,9 +340,9 @@ build_info: output: "target/executable/fastqc" executable: "target/executable/fastqc/fastqc" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/fastqc/fastqc b/target/executable/fastqc/fastqc index f37e35a5..695910fb 100755 --- a/target/executable/fastqc/fastqc +++ b/target/executable/fastqc/fastqc @@ -601,9 +601,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="2024-09-17T09:52:49Z" +LABEL org.opencontainers.image.created="2024-09-18T13:52:56Z" LABEL org.opencontainers.image.source="https://github.com/s-andrews/FastQC" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/featurecounts/.config.vsh.yaml b/target/executable/featurecounts/.config.vsh.yaml index 87edd49a..b3541c9a 100644 --- a/target/executable/featurecounts/.config.vsh.yaml +++ b/target/executable/featurecounts/.config.vsh.yaml @@ -645,9 +645,9 @@ build_info: output: "target/executable/featurecounts" executable: "target/executable/featurecounts/featurecounts" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/featurecounts/featurecounts b/target/executable/featurecounts/featurecounts index c7deda0d..ca7cd3a7 100755 --- a/target/executable/featurecounts/featurecounts +++ b/target/executable/featurecounts/featurecounts @@ -754,9 +754,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="2024-09-17T09:52:52Z" +LABEL org.opencontainers.image.created="2024-09-18T13:53:00Z" LABEL org.opencontainers.image.source="https://github.com/ShiLab-Bioinformatics/subread" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 2b42094e..8751f3a1 100644 --- a/target/executable/fq_subsample/.config.vsh.yaml +++ b/target/executable/fq_subsample/.config.vsh.yaml @@ -190,9 +190,9 @@ build_info: output: "target/executable/fq_subsample" executable: "target/executable/fq_subsample/fq_subsample" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/fq_subsample/fq_subsample b/target/executable/fq_subsample/fq_subsample index a434d307..ebd3c09b 100755 --- a/target/executable/fq_subsample/fq_subsample +++ b/target/executable/fq_subsample/fq_subsample @@ -493,9 +493,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="2024-09-17T09:52:48Z" +LABEL org.opencontainers.image.created="2024-09-18T13:52:56Z" LABEL org.opencontainers.image.source="https://github.com/stjude-rust-labs/fq" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/gffread/.config.vsh.yaml b/target/executable/gffread/.config.vsh.yaml index 8194a871..f405a53d 100644 --- a/target/executable/gffread/.config.vsh.yaml +++ b/target/executable/gffread/.config.vsh.yaml @@ -685,9 +685,9 @@ build_info: output: "target/executable/gffread" executable: "target/executable/gffread/gffread" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/gffread/gffread b/target/executable/gffread/gffread index b4fbc1bb..d54bb434 100755 --- a/target/executable/gffread/gffread +++ b/target/executable/gffread/gffread @@ -807,9 +807,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="2024-09-17T09:52:40Z" +LABEL org.opencontainers.image.created="2024-09-18T13:52:47Z" LABEL org.opencontainers.image.source="https://github.com/gpertea/gffread" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 9eb2ffd1..85757331 100644 --- a/target/executable/kallisto/kallisto_index/.config.vsh.yaml +++ b/target/executable/kallisto/kallisto_index/.config.vsh.yaml @@ -218,9 +218,9 @@ build_info: output: "target/executable/kallisto/kallisto_index" executable: "target/executable/kallisto/kallisto_index/kallisto_index" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/kallisto/kallisto_index/kallisto_index b/target/executable/kallisto/kallisto_index/kallisto_index index 0260fd6c..531964b9 100755 --- a/target/executable/kallisto/kallisto_index/kallisto_index +++ b/target/executable/kallisto/kallisto_index/kallisto_index @@ -506,9 +506,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="2024-09-17T09:52:55Z" +LABEL org.opencontainers.image.created="2024-09-18T13:53:04Z" LABEL org.opencontainers.image.source="https://github.com/pachterlab/kallisto" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 9929fff5..31d0c0a2 100644 --- a/target/executable/lofreq/lofreq_call/.config.vsh.yaml +++ b/target/executable/lofreq/lofreq_call/.config.vsh.yaml @@ -507,9 +507,9 @@ build_info: output: "target/executable/lofreq/lofreq_call" executable: "target/executable/lofreq/lofreq_call/lofreq_call" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/lofreq/lofreq_call/lofreq_call b/target/executable/lofreq/lofreq_call/lofreq_call index 3a0a4eb7..dffd2ac8 100755 --- a/target/executable/lofreq/lofreq_call/lofreq_call +++ b/target/executable/lofreq/lofreq_call/lofreq_call @@ -656,9 +656,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="2024-09-17T09:52:52Z" +LABEL org.opencontainers.image.created="2024-09-18T13:53:00Z" LABEL org.opencontainers.image.source="https://github.com/viash-hub/biobox" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 aba5825c..660d43a7 100644 --- a/target/executable/lofreq/lofreq_indelqual/.config.vsh.yaml +++ b/target/executable/lofreq/lofreq_indelqual/.config.vsh.yaml @@ -215,9 +215,9 @@ build_info: output: "target/executable/lofreq/lofreq_indelqual" executable: "target/executable/lofreq/lofreq_indelqual/lofreq_indelqual" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/lofreq/lofreq_indelqual/lofreq_indelqual b/target/executable/lofreq/lofreq_indelqual/lofreq_indelqual index 74be3698..aa4593a6 100755 --- a/target/executable/lofreq/lofreq_indelqual/lofreq_indelqual +++ b/target/executable/lofreq/lofreq_indelqual/lofreq_indelqual @@ -501,9 +501,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="2024-09-17T09:52:52Z" +LABEL org.opencontainers.image.created="2024-09-18T13:52:59Z" LABEL org.opencontainers.image.source="https://github.com/viash-hub/biobox" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/multiqc/.config.vsh.yaml b/target/executable/multiqc/.config.vsh.yaml index 14e2d2d7..90c3090d 100644 --- a/target/executable/multiqc/.config.vsh.yaml +++ b/target/executable/multiqc/.config.vsh.yaml @@ -456,9 +456,9 @@ build_info: output: "target/executable/multiqc" executable: "target/executable/multiqc/multiqc" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/multiqc/multiqc b/target/executable/multiqc/multiqc index f6242976..47e7d0d6 100755 --- a/target/executable/multiqc/multiqc +++ b/target/executable/multiqc/multiqc @@ -637,9 +637,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="2024-09-17T09:53:01Z" +LABEL org.opencontainers.image.created="2024-09-18T13:53:10Z" LABEL org.opencontainers.image.source="https://github.com/viash-hub/biobox" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/pear/.config.vsh.yaml b/target/executable/pear/.config.vsh.yaml index 84340d15..4d465193 100644 --- a/target/executable/pear/.config.vsh.yaml +++ b/target/executable/pear/.config.vsh.yaml @@ -398,9 +398,9 @@ build_info: output: "target/executable/pear" executable: "target/executable/pear/pear" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/pear/pear b/target/executable/pear/pear index 7124dcb3..cd6ae597 100755 --- a/target/executable/pear/pear +++ b/target/executable/pear/pear @@ -597,9 +597,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="2024-09-17T09:52:44Z" +LABEL org.opencontainers.image.created="2024-09-18T13:52:51Z" LABEL org.opencontainers.image.source="https://github.com/tseemann/PEAR" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 c71911c3..2a096c44 100644 --- a/target/executable/qualimap/qualimap_rnaseq/.config.vsh.yaml +++ b/target/executable/qualimap/qualimap_rnaseq/.config.vsh.yaml @@ -264,9 +264,9 @@ build_info: output: "target/executable/qualimap/qualimap_rnaseq" executable: "target/executable/qualimap/qualimap_rnaseq/qualimap_rnaseq" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/qualimap/qualimap_rnaseq/qualimap_rnaseq b/target/executable/qualimap/qualimap_rnaseq/qualimap_rnaseq index cf053ddf..7f68bb83 100755 --- a/target/executable/qualimap/qualimap_rnaseq/qualimap_rnaseq +++ b/target/executable/qualimap/qualimap_rnaseq/qualimap_rnaseq @@ -527,9 +527,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="2024-09-17T09:52:48Z" +LABEL org.opencontainers.image.created="2024-09-18T13:52:55Z" LABEL org.opencontainers.image.source="https://bitbucket.org/kokonech/qualimap/commits/branch/master" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 new file mode 100644 index 00000000..c47fa943 --- /dev/null +++ b/target/executable/rsem/rsem_calculate_expression/.config.vsh.yaml @@ -0,0 +1,879 @@ +name: "rsem_calculate_expression" +namespace: "rsem" +version: "main" +argument_groups: +- name: "Input" + arguments: + - type: "string" + name: "--id" + description: "Sample ID." + info: null + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "string" + name: "--strandedness" + description: "Sample strand-specificity. Must be one of unstranded, forward, reverse" + info: null + required: false + choices: + - "forward" + - "reverse" + - "unstranded" + direction: "input" + multiple: false + multiple_sep: ";" + - type: "boolean_true" + name: "--paired" + description: "Paired-end reads or not?" + info: null + direction: "input" + - type: "file" + name: "--input" + description: "Input reads for quantification." + info: null + must_exist: true + create_parent: true + required: false + direction: "input" + multiple: true + multiple_sep: ";" + - type: "file" + name: "--index" + description: "RSEM index." + info: null + must_exist: false + create_parent: true + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "string" + name: "--extra_args" + description: "Extra rsem-calculate-expression arguments in addition to the examples." + info: null + required: false + direction: "input" + multiple: false + multiple_sep: ";" +- name: "Output" + arguments: + - type: "file" + name: "--counts_gene" + description: "Expression counts on gene level" + info: null + example: + - "$id.genes.results" + must_exist: true + create_parent: true + required: false + direction: "output" + multiple: false + multiple_sep: ";" + - type: "file" + name: "--counts_transcripts" + description: "Expression counts on transcript level" + info: null + example: + - "$id.isoforms.results" + must_exist: true + create_parent: true + required: false + direction: "output" + multiple: false + multiple_sep: ";" + - type: "file" + name: "--stat" + description: "RSEM statistics" + info: null + example: + - "$id.stat" + must_exist: true + create_parent: true + required: false + direction: "output" + multiple: false + multiple_sep: ";" + - type: "file" + name: "--logs" + description: "RSEM logs" + info: null + example: + - "$id.log" + must_exist: true + create_parent: true + required: false + direction: "output" + multiple: false + multiple_sep: ";" + - type: "file" + name: "--bam_star" + description: "BAM file generated by STAR (optional)" + info: null + example: + - "$id.STAR.genome.bam" + must_exist: true + create_parent: true + required: false + direction: "output" + multiple: false + multiple_sep: ";" + - type: "file" + name: "--bam_genome" + description: "Genome BAM file (optional)" + info: null + example: + - "$id.genome.bam" + must_exist: true + create_parent: true + required: false + direction: "output" + multiple: false + multiple_sep: ";" + - type: "file" + name: "--bam_transcript" + description: "Transcript BAM file (optional)" + info: null + example: + - "$id.transcript.bam" + must_exist: true + create_parent: true + required: false + direction: "output" + multiple: false + multiple_sep: ";" + - type: "boolean_true" + name: "--sort_bam_by_read_name" + description: "Sort BAM file aligned under transcript coordidate by read name.\ + \ Setting this option on will produce \ndeterministic maximum likelihood estimations\ + \ from independent runs. Note that sorting will take long \ntime and lots of\ + \ memory.\n" + info: null + direction: "input" + - type: "boolean_true" + name: "--no_bam_output" + description: "Do not output any BAM file." + info: null + direction: "input" + - type: "boolean_true" + name: "--sampling_for_bam" + description: "When RSEM generates a BAM file, instead of outputting all alignments\ + \ a read has with their posterior \nprobabilities, one alignment is sampled\ + \ according to the posterior probabilities. The sampling procedure \nincludes\ + \ the alignment to the \"noise\" transcript, which does not appear in the BAM\ + \ file. Only the \nsampled alignment has a weight of 1. All other alignments\ + \ have weight 0. If the \"noise\" transcript is \nsampled, all alignments appeared\ + \ in the BAM file should have weight 0.\n" + info: null + direction: "input" + - type: "boolean_true" + name: "--output_genome_bam" + description: "Generate a BAM file, 'sample_name.genome.bam', with alignments mapped\ + \ to genomic coordinates and \nannotated with their posterior probabilities.\ + \ In addition, RSEM will call samtools (included in RSEM \npackage) to sort\ + \ and index the bam file. 'sample_name.genome.sorted.bam' and 'sample_name.genome.sorted.bam.bai'\ + \ \nwill be generated.\n" + info: null + direction: "input" + - type: "boolean_true" + name: "--sort_bam_by_coordinate" + description: "Sort RSEM generated transcript and genome BAM files by coordinates\ + \ and build associated indices.\n" + info: null + direction: "input" +- name: "Basic Options" + arguments: + - type: "boolean_true" + name: "--no_qualities" + description: "Input reads do not contain quality scores." + info: null + direction: "input" + - type: "boolean_true" + name: "--alignments" + description: "Input file contains alignments in SAM/BAM/CRAM format. The exact\ + \ file format will be determined \nautomatically.\n" + info: null + direction: "input" + - type: "file" + name: "--fai" + description: "If the header section of input alignment file does not contain reference\ + \ sequence information, \nthis option should be turned on. is a FAI format\ + \ file containing each reference sequence's \nname and length. Please refer\ + \ to the SAM official website for the details of FAI format.\n" + info: null + must_exist: true + create_parent: true + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "boolean_true" + name: "--bowtie2" + description: "Use Bowtie 2 instead of Bowtie to align reads. Since currently RSEM\ + \ does not handle indel, local \nand discordant alignments, the Bowtie2 parameters\ + \ are set in a way to avoid those alignments. In \nparticular, we use options\ + \ '--sensitive --dpad 0 --gbar 99999999 --mp 1,1 --np 1 --score_min L,0,-0.1'\ + \ \nby default. The last parameter of '--score_min', '-0.1', is the negative\ + \ of maximum mismatch rate. \nThis rate can be set by option '--bowtie2_mismatch_rate'.\ + \ If reads are paired-end, we additionally \nuse options '--no_mixed' and '--no_discordant'.\n" + info: null + direction: "input" + - type: "boolean_true" + name: "--star" + description: "Use STAR to align reads. Alignment parameters are from ENCODE3's\ + \ STAR-RSEM pipeline. To save \ncomputational time and memory resources, STAR's\ + \ Output BAM file is unsorted. It is stored in RSEM's \ntemporary directory\ + \ with name as 'sample_name.bam'. Each STAR job will have its own private copy\ + \ of \nthe genome in memory.\n" + info: null + direction: "input" + - type: "boolean_true" + name: "--hisat2_hca" + description: "Use HISAT2 to align reads to the transcriptome according to Human\ + \ Cell Atlast.\n" + info: null + direction: "input" + - type: "boolean_true" + name: "--append_names" + description: "If gene_name/transcript_name is available, append it to the end\ + \ of gene_id/transcript_id (separated \nby '_') in files 'sample_name.isoforms.results'\ + \ and 'sample_name.genes.results'.\n" + info: null + direction: "input" + - type: "integer" + name: "--seed" + description: "Set the seed for the random number generators used in calculating\ + \ posterior mean estimates and \ncredibility intervals. The seed must be a non-negative\ + \ 32 bit integer.\n" + info: null + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "boolean_true" + name: "--single_cell_prior" + description: "By default, RSEM uses Dirichlet(1) as the prior to calculate posterior\ + \ mean estimates and credibility \nintervals. However, much less genes are expressed\ + \ in single cell RNA-Seq data. Thus, if you want to \ncompute posterior mean\ + \ estimates and/or credibility intervals and you have single-cell RNA-Seq data,\ + \ \nyou are recommended to turn on this option. Then RSEM will use Dirichlet(0.1)\ + \ as the prior which \nencourage the sparsity of the expression levels.\n" + info: null + direction: "input" + - type: "boolean_true" + name: "--calc_pme" + description: "Run RSEM's collapsed Gibbs sampler to calculate posterior mean estimates." + info: null + direction: "input" + - type: "boolean_true" + name: "--calc_ci" + description: "Calculate 95% credibility intervals and posterior mean estimates.\ + \ The credibility level can be \nchanged by setting '--ci_credibility_level'.\n" + info: null + direction: "input" + - type: "boolean_true" + name: "--quiet" + alternatives: + - "-q" + description: "Suppress the output of logging information." + info: null + direction: "input" +- name: "Aligner Options" + arguments: + - type: "integer" + name: "--seed_length" + description: "Seed length used by the read aligner. Providing the correct value\ + \ is important for RSEM. If RSEM \nruns Bowtie, it uses this value for Bowtie's\ + \ seed length parameter. Any read with its or at least \none of its mates' (for\ + \ paired-end reads) length less than this value will be ignored. If the \nreferences\ + \ are not added poly(A) tails, the minimum allowed value is 5, otherwise, the\ + \ minimum \nallowed value is 25. Note that this script will only check if the\ + \ value >= 5 and give a warning \nmessage if the value < 25 but >= 5. (Default:\ + \ 25)\n" + info: null + example: + - 25 + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "boolean_true" + name: "--phred64_quals" + description: "Input quality scores are encoded as Phred+64 (default for GA Pipeline\ + \ ver. >= 1.3). This option is \nused by Bowtie, Bowtie 2 and HISAT2. Otherwise,\ + \ quality score will be encoded as Phred+33. (Default: false)\n" + info: null + direction: "input" + - type: "boolean_true" + name: "--solexa_quals" + description: "Input quality scores are solexa encoded (from GA Pipeline ver. <\ + \ 1.3). This option is used by \nBowtie, Bowtie 2 and HISAT2. Otherwise, quality\ + \ score will be encoded as Phred+33. (Default: false)\n" + info: null + direction: "input" + - type: "integer" + name: "--bowtie_n" + description: "(Bowtie parameter) max # of mismatches in the seed. (Range: 0-3,\ + \ Default: 2)\n" + info: null + example: + - 2 + required: false + choices: + - 0 + - 1 + - 2 + - 3 + direction: "input" + multiple: false + multiple_sep: ";" + - type: "integer" + name: "--bowtie_e" + description: "(Bowtie parameter) max sum of mismatch quality scores across the\ + \ alignment. (Default: 99999999)\n" + info: null + example: + - 99999999 + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "integer" + name: "--bowtie_m" + description: "(Bowtie parameter) suppress all alignments for a read if > \ + \ valid alignments exist. (Default: 200)\n" + info: null + example: + - 200 + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "integer" + name: "--bowtie_chunkmbs" + description: "(Bowtie parameter) memory allocated for best first alignment calculation\ + \ (Default: 0 - use Bowtie's default)\n" + info: null + example: + - 0 + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "double" + name: "--bowtie2_mismatch_rate" + description: "(Bowtie 2 parameter) The maximum mismatch rate allowed. (Default:\ + \ 0.1)\n" + info: null + example: + - 0.1 + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "integer" + name: "--bowtie2_k" + description: "(Bowtie 2 parameter) Find up to alignments per read. (Default:\ + \ 200)\n" + info: null + example: + - 200 + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "string" + name: "--bowtie2_sensitivity_level" + description: "(Bowtie 2 parameter) Set Bowtie 2's preset options in --end-to-end\ + \ mode. This option controls how \nhard Bowtie 2 tries to find alignments. \ + \ must be one of \"very_fast\", \"fast\", \"sensitive\" \nand \"very_sensitive\"\ + . The four candidates correspond to Bowtie 2's \"--very-fast\", \"--fast\",\ + \ \n\"--sensitive\" and \"--very-sensitive\" options. (Default: \"sensitive\"\ + \ - use Bowtie 2's default)\n" + info: null + example: + - "sensitive" + required: false + choices: + - "very_fast" + - "fast" + - "sensitive" + - "very_sensitive" + direction: "input" + multiple: false + multiple_sep: ";" + - type: "boolean_true" + name: "--star_gzipped_read_file" + description: "Input read file(s) is compressed by gzip. (Default: false)\n" + info: null + direction: "input" + - type: "boolean_true" + name: "--star_bzipped_read_file" + description: "Input read file(s) is compressed by bzip2. (Default: false)\n" + info: null + direction: "input" + - type: "boolean_true" + name: "--star_output_genome_bam" + description: "Save the BAM file from STAR alignment under genomic coordinate to\ + \ 'sample_name.STAR.genome.bam'. \nThis file is NOT sorted by genomic coordinate.\ + \ In this file, according to STAR's manual, 'paired \nends of an alignment are\ + \ always adjacent, and multiple alignments of a read are adjacent as well'.\ + \ \n(Default: false)\n" + info: null + direction: "input" +- name: "Advanced Options" + arguments: + - type: "string" + name: "--tag" + description: "The name of the optional field used in the SAM input for identifying\ + \ a read with too many valid \nalignments. The field should have the format\ + \ :i:, where a bigger than 0 \nindicates a read with\ + \ too many alignments. (Default: \"\")\n" + info: null + example: + - "" + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "integer" + name: "--fragment_length_min" + description: "Minimum read/insert length allowed. This is also the value for the\ + \ Bowtie/Bowtie2 -I option. \n(Default: 1)\n" + info: null + example: + - 1 + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "integer" + name: "--fragment_length_max" + description: "Maximum read/insert length allowed. This is also the value for the\ + \ Bowtie/Bowtie 2 -X option. \n(Default: 1000)\n" + info: null + example: + - 1000 + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "integer" + name: "--fragment_length_mean" + description: "(single-end data only) The mean of the fragment length distribution,\ + \ which is assumed to be a \nGaussian. (Default: -1, which disables use of the\ + \ fragment length distribution)\n" + info: null + example: + - -1 + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "double" + name: "--gragment_length_sd" + description: "(single-end data only) The standard deviation of the fragment length\ + \ distribution, which is \nassumed to be a Gaussian. (Default: 0, which assumes\ + \ that all fragments are of the same length, \ngiven by the rounded value of\ + \ --fragment_length_mean).\n" + info: null + example: + - 0.0 + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "boolean_true" + name: "--estimate_rspd" + description: "Set this option if you want to estimate the read start position\ + \ distribution (RSPD) from data.\nOtherwise, RSEM will use a uniform RSPD.\n" + info: null + direction: "input" + - type: "integer" + name: "--num_rspd_bins" + description: "Number of bins in the RSPD. Only relevant when '--estimate_rspd'\ + \ is specified. Use of the default \nsetting is recommended. (Default: 20)\n" + info: null + example: + - 20 + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "integer" + name: "--gibbs_burnin" + description: "The number of burn-in rounds for RSEM's Gibbs sampler. Each round\ + \ passes over the entire data set \nonce. If RSEM can use multiple threads,\ + \ multiple Gibbs samplers will start at the same time and all \nsamplers share\ + \ the same burn-in number. (Default: 200)\n" + info: null + example: + - 200 + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "integer" + name: "--gibbs_number_of_samples" + description: "The total number of count vectors RSEM will collect from its Gibbs\ + \ samplers. (Default: 1000)\n" + info: null + example: + - 1000 + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "integer" + name: "--gibbs_sampling_gap" + description: "The number of rounds between two succinct count vectors RSEM collects.\ + \ If the count vector after \nround N is collected, the count vector after round\ + \ N + will also be collected. (Default: 1)\n" + info: null + example: + - 1 + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "double" + name: "--ci_credibility_level" + description: "The credibility level for credibility intervals. (Default: 0.95)\n" + info: null + example: + - 0.95 + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "integer" + name: "--ci_number_of_samples_per_count_vector" + description: "The number of read generating probability vectors sampled per sampled\ + \ count vector. The crebility \nintervals are calculated by first sampling P(C\ + \ | D) and then sampling P(Theta | C) for each sampled \ncount vector. This\ + \ option controls how many Theta vectors are sampled per sampled count vector.\ + \ \n(Default: 50)\n" + info: null + example: + - 50 + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "boolean_true" + name: "--keep_intermediate_files" + description: "Keep temporary files generated by RSEM. RSEM creates a temporary\ + \ directory, 'sample_name.temp', \ninto which it puts all intermediate output\ + \ files. If this directory already exists, RSEM overwrites \nall files generated\ + \ by previous RSEM runs inside of it. By default, after RSEM finishes, the \n\ + temporary directory is deleted. Set this option to prevent the deletion of this\ + \ directory and the \nintermediate files inside of it.\n" + info: null + direction: "input" + - type: "string" + name: "--temporary_folder" + description: "Set where to put the temporary files generated by RSEM. If the folder\ + \ specified does not exist, \nRSEM will try to create it. (Default: sample_name.temp)\n" + info: null + example: + - "sample_name.temp" + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "boolean_true" + name: "--time" + description: "Output time consumed by each step of RSEM to 'sample_name.time'.\n" + info: null + direction: "input" +- name: "Prior-Enhanced RSEM Options" + arguments: + - type: "boolean_true" + name: "--run_pRSEM" + description: "Running prior-enhanced RSEM (pRSEM). Prior parameters, i.e. isoform's\ + \ initial pseudo-count for \nRSEM's Gibbs sampling, will be learned from input\ + \ RNA-seq data and an external data set. When pRSEM \nneeds and only needs ChIP-seq\ + \ peak information to partition isoforms (e.g. in pRSEM's default \npartition\ + \ model), either ChIP-seq peak file (with the '--chipseq_peak_file' option)\ + \ or ChIP-seq \nFASTQ files for target and input and the path for Bowtie executables\ + \ are required (with the \n'--chipseq_target_read_files ', '--chipseq_control_read_files\ + \ ', and '--bowtie_path \n options), otherwise, ChIP-seq FASTQ\ + \ files for target and control and the path to Bowtie \nexecutables are required.\n" + info: null + direction: "input" + - type: "file" + name: "--chipseq_peak_file" + description: "Full path to a ChIP-seq peak file in ENCODE's narrowPeak, i.e. BED6+4,\ + \ format. This file is used \nwhen running prior-enhanced RSEM in the default\ + \ two-partition model. It partitions isoforms by \nwhether they have ChIP-seq\ + \ overlapping with their transcription start site region or not. Each \npartition\ + \ will have its own prior parameter learned from a training set. This file can\ + \ be either \ngzipped or ungzipped.\n" + info: null + must_exist: true + create_parent: true + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "file" + name: "--chipseq_target_read_files" + description: "Comma-separated full path of FASTQ read file(s) for ChIP-seq target.\ + \ This option is used when running \nprior-enhanced RSEM. It provides information\ + \ to calculate ChIP-seq peaks and signals. The file(s) \ncan be either ungzipped\ + \ or gzipped with a suffix '.gz' or '.gzip'. The options '--bowtie_path '\ + \ \nand '--chipseq_control_read_files ' must be defined when this option\ + \ is specified.\n" + info: null + must_exist: true + create_parent: true + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "file" + name: "--chipseq_control_read_files" + description: "Comma-separated full path of FASTQ read file(s) for ChIP-seq conrol.\ + \ This option is used when running \nprior-enhanced RSEM. It provides information\ + \ to call ChIP-seq peaks. The file(s) can be either \nungzipped or gzipped with\ + \ a suffix '.gz' or '.gzip'. The options '--bowtie_path ' and \n'--chipseq_target_read_files\ + \ ' must be defined when this option is specified.\n" + info: null + must_exist: true + create_parent: true + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "file" + name: "--chipseq_read_files_multi_targets" + description: "Comma-separated full path of FASTQ read files for multiple ChIP-seq\ + \ targets. This option is used when \nrunning prior-enhanced RSEM, where prior\ + \ is learned from multiple complementary data sets. It provides \ninformation\ + \ to calculate ChIP-seq signals. All files can be either ungzipped or gzipped\ + \ with a suffix \n'.gz' or '.gzip'. When this option is specified, the option\ + \ '--bowtie_path ' must be defined and \nthe option '--partition_model\ + \ ' will be set to 'cmb_lgt' automatically.\n" + info: null + must_exist: true + create_parent: true + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "file" + name: "--chipseq_bed_files_multi_targets" + description: "Comma-separated full path of BED files for multiple ChIP-seq targets.\ + \ This option is used when running \nprior-enhanced RSEM, where prior is learned\ + \ from multiple complementary data sets. It provides information \nof ChIP-seq\ + \ signals and must have at least the first six BED columns. All files can be\ + \ either ungzipped \nor gzipped with a suffix '.gz' or '.gzip'. When this option\ + \ is specified, the option '--partition_model \n' will be set to 'cmb_lgt'\ + \ automatically.\n" + info: null + must_exist: true + create_parent: true + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "boolean_true" + name: "--cap_stacked_chipseq_reads" + description: "Keep a maximum number of ChIP-seq reads that aligned to the same\ + \ genomic interval. This option is used \nwhen running prior-enhanced RSEM,\ + \ where prior is learned from multiple complementary data sets. This \noption\ + \ is only in use when either '--chipseq_read_files_multi_targets ' or\ + \ \n'--chipseq_bed_files_multi_targets ' is specified.\n" + info: null + direction: "input" + - type: "integer" + name: "--n_max_stacked_chipseq_reads" + description: "The maximum number of stacked ChIP-seq reads to keep. This option\ + \ is used when running prior-enhanced \nRSEM, where prior is learned from multiple\ + \ complementary data sets. This option is only in use when the \noption '--cap_stacked_chipseq_reads'\ + \ is set.\n" + info: null + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "string" + name: "--partition_model" + description: "A keyword to specify the partition model used by prior-enhanced\ + \ RSEM. It must be one of the following \nkeywords:\n* pk\n* pk_lgtnopk\n* lm3,\ + \ lm4, lm5, or lm6\n* nopk_lm2pk, nopk_lm3pk, nopk_lm4pk, or nopk_lm5pk\n* pk_lm2nopk,\ + \ pk_lm3nopk, pk_lm4nopk, or pk_lm5nopk\n* cmb_lgt\nParameters for all the above\ + \ models are learned from a training set. For detailed explanations, please\ + \ \nsee prior-enhanced RSEM's paper. (Default: 'pk')\n" + info: null + example: + - "pk" + required: false + direction: "input" + multiple: false + multiple_sep: ";" +resources: +- type: "bash_script" + path: "script.sh" + is_executable: true +description: "Calculate expression with RSEM. \n" +test_resources: +- type: "bash_script" + path: "test.sh" + is_executable: true +info: null +status: "enabled" +requirements: + commands: + - "ps" +keywords: +- "Transcriptome" +- "Index" +- "Alignment" +- "RSEM" +license: "GPL-3.0" +references: + doi: + - "https://doi.org/10.1186/1471-2105-12-323" +links: + repository: "https://github.com/deweylab/RSEM" + homepage: "https://deweylab.github.io/RSEM/" + documentation: "https://deweylab.github.io/RSEM/rsem-calculate-expression.html" +runners: +- type: "executable" + id: "executable" + docker_setup_strategy: "ifneedbepullelsecachedbuild" +- type: "nextflow" + id: "nextflow" + directives: + tag: "$id" + auto: + simplifyInput: true + simplifyOutput: false + transcript: false + publish: false + config: + labels: + mem1gb: "memory = 1000000000.B" + mem2gb: "memory = 2000000000.B" + mem5gb: "memory = 5000000000.B" + mem10gb: "memory = 10000000000.B" + mem20gb: "memory = 20000000000.B" + mem50gb: "memory = 50000000000.B" + mem100gb: "memory = 100000000000.B" + mem200gb: "memory = 200000000000.B" + mem500gb: "memory = 500000000000.B" + mem1tb: "memory = 1000000000000.B" + mem2tb: "memory = 2000000000000.B" + mem5tb: "memory = 5000000000000.B" + mem10tb: "memory = 10000000000000.B" + mem20tb: "memory = 20000000000000.B" + mem50tb: "memory = 50000000000000.B" + mem100tb: "memory = 100000000000000.B" + mem200tb: "memory = 200000000000000.B" + mem500tb: "memory = 500000000000000.B" + mem1gib: "memory = 1073741824.B" + mem2gib: "memory = 2147483648.B" + mem4gib: "memory = 4294967296.B" + mem8gib: "memory = 8589934592.B" + mem16gib: "memory = 17179869184.B" + mem32gib: "memory = 34359738368.B" + mem64gib: "memory = 68719476736.B" + mem128gib: "memory = 137438953472.B" + mem256gib: "memory = 274877906944.B" + mem512gib: "memory = 549755813888.B" + mem1tib: "memory = 1099511627776.B" + mem2tib: "memory = 2199023255552.B" + mem4tib: "memory = 4398046511104.B" + mem8tib: "memory = 8796093022208.B" + mem16tib: "memory = 17592186044416.B" + mem32tib: "memory = 35184372088832.B" + mem64tib: "memory = 70368744177664.B" + mem128tib: "memory = 140737488355328.B" + mem256tib: "memory = 281474976710656.B" + mem512tib: "memory = 562949953421312.B" + cpu1: "cpus = 1" + cpu2: "cpus = 2" + cpu5: "cpus = 5" + cpu10: "cpus = 10" + cpu20: "cpus = 20" + cpu50: "cpus = 50" + cpu100: "cpus = 100" + cpu200: "cpus = 200" + cpu500: "cpus = 500" + cpu1000: "cpus = 1000" + debug: false + container: "docker" +engines: +- type: "docker" + id: "docker" + image: "ubuntu:22.04" + target_registry: "images.viash-hub.com" + target_tag: "main" + namespace_separator: "/" + setup: + - type: "apt" + packages: + - "build-essential" + - "gcc" + - "g++" + - "make" + - "wget" + - "zlib1g-dev" + - "unzip" + interactive: false + - type: "docker" + run: + - "apt-get update && \\\napt-get clean && \\\nwget --no-check-certificate https://github.com/alexdobin/STAR/archive/refs/tags/2.7.11a.zip\ + \ && \\\nunzip 2.7.11a.zip && \\\ncp STAR-2.7.11a/bin/Linux_x86_64_static/STAR\ + \ /usr/local/bin && \\\ncd && \\\nwget --no-check-certificate https://github.com/deweylab/RSEM/archive/refs/tags/v1.3.3.zip\ + \ && \\\nunzip v1.3.3.zip && \\\ncd RSEM-1.3.3 && \\\nmake && \\\nmake install\n" + env: + - "STAR_VERSION=2.7.11b" + - "RSEM_VERSION=1.3.3" + - type: "docker" + run: + - "echo \"RSEM: `rsem-calculate-expression --version | sed -e 's/Current version:\ + \ RSEM v//g'`\" > /var/software_versions.txt && \\\necho \"STAR: `STAR --version`\"\ + \ >> /var/software_versions.txt && \\\necho \"bowtie2: `bowtie2 --version |\ + \ grep -oP '\\d+\\.\\d+\\.\\d+'`\" >> /var/software_versions.txt && \\\necho\ + \ \"bowtie: `bowtie --version | grep -oP 'bowtie-align-s version \\K\\d+\\.\\\ + d+\\.\\d+'`\" >> /var/software_versions.txt && \\\necho \"HISAT2: `hisat2 --version\ + \ | grep -oP 'hisat2-align-s version \\K\\d+\\.\\d+\\.\\d+'`\" >> /var/software_versions.txt\n" + entrypoint: [] + cmd: null +- type: "native" + id: "native" +build_info: + config: "src/rsem/rsem_calculate_expression/config.vsh.yaml" + runner: "executable" + engine: "docker|native" + output: "target/executable/rsem/rsem_calculate_expression" + executable: "target/executable/rsem/rsem_calculate_expression/rsem_calculate_expression" + viash_version: "0.9.0" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" +package_config: + name: "biobox" + version: "main" + description: "A collection of bioinformatics tools for working with sequence data.\n" + info: null + viash_version: "0.9.0" + source: "src" + target: "target" + config_mods: + - ".requirements.commands := ['ps']\n" + - ".engines += { type: \"native\" }" + - ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'" + - ".engines[.type == 'docker'].target_tag := 'main'" + keywords: + - "bioinformatics" + - "modules" + - "sequencing" + license: "MIT" + organization: "vsh" + links: + repository: "https://github.com/viash-hub/biobox" + issue_tracker: "https://github.com/viash-hub/biobox/issues" diff --git a/target/executable/rsem/rsem_calculate_expression/rsem_calculate_expression b/target/executable/rsem/rsem_calculate_expression/rsem_calculate_expression new file mode 100755 index 00000000..5b1f53e4 --- /dev/null +++ b/target/executable/rsem/rsem_calculate_expression/rsem_calculate_expression @@ -0,0 +1,2901 @@ +#!/usr/bin/env bash + +# rsem_calculate_expression main +# +# This wrapper script is auto-generated by viash 0.9.0 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. + +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="rsem_calculate_expression" +VIASH_META_FUNCTIONALITY_NAME="rsem_calculate_expression" +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" + + +# ViashHelp: Display helpful explanation about this executable +function ViashHelp { + echo "rsem_calculate_expression main" + echo "" + echo "Calculate expression with RSEM." + echo "" + echo "Input:" + echo " --id" + echo " type: string" + echo " Sample ID." + echo "" + echo " --strandedness" + echo " type: string" + echo " choices: [ forward, reverse, unstranded ]" + echo " Sample strand-specificity. Must be one of unstranded, forward, reverse" + echo "" + echo " --paired" + echo " type: boolean_true" + echo " Paired-end reads or not?" + echo "" + echo " --input" + echo " type: file, multiple values allowed, file must exist" + echo " Input reads for quantification." + echo "" + echo " --index" + echo " type: file" + echo " RSEM index." + echo "" + echo " --extra_args" + echo " type: string" + echo " Extra rsem-calculate-expression arguments in addition to the examples." + echo "" + echo "Output:" + echo " --counts_gene" + echo " type: file, output, file must exist" + echo " example: \$id.genes.results" + echo " Expression counts on gene level" + echo "" + echo " --counts_transcripts" + echo " type: file, output, file must exist" + echo " example: \$id.isoforms.results" + echo " Expression counts on transcript level" + echo "" + echo " --stat" + echo " type: file, output, file must exist" + echo " example: \$id.stat" + echo " RSEM statistics" + echo "" + echo " --logs" + echo " type: file, output, file must exist" + echo " example: \$id.log" + echo " RSEM logs" + echo "" + echo " --bam_star" + echo " type: file, output, file must exist" + echo " example: \$id.STAR.genome.bam" + echo " BAM file generated by STAR (optional)" + echo "" + echo " --bam_genome" + echo " type: file, output, file must exist" + echo " example: \$id.genome.bam" + echo " Genome BAM file (optional)" + echo "" + echo " --bam_transcript" + echo " type: file, output, file must exist" + echo " example: \$id.transcript.bam" + echo " Transcript BAM file (optional)" + echo "" + echo " --sort_bam_by_read_name" + echo " type: boolean_true" + echo " Sort BAM file aligned under transcript coordidate by read name. Setting" + echo " this option on will produce" + echo " deterministic maximum likelihood estimations from independent runs. Note" + echo " that sorting will take long" + echo " time and lots of memory." + echo "" + echo " --no_bam_output" + echo " type: boolean_true" + echo " Do not output any BAM file." + echo "" + echo " --sampling_for_bam" + echo " type: boolean_true" + echo " When RSEM generates a BAM file, instead of outputting all alignments a" + echo " read has with their posterior" + echo " probabilities, one alignment is sampled according to the posterior" + echo " probabilities. The sampling procedure" + echo " includes the alignment to the \"noise\" transcript, which does not appear" + echo " in the BAM file. Only the" + echo " sampled alignment has a weight of 1. All other alignments have weight 0." + echo " If the \"noise\" transcript is" + echo " sampled, all alignments appeared in the BAM file should have weight 0." + echo "" + echo " --output_genome_bam" + echo " type: boolean_true" + echo " Generate a BAM file, 'sample_name.genome.bam', with alignments mapped to" + echo " genomic coordinates and" + echo " annotated with their posterior probabilities. In addition, RSEM will" + echo " call samtools (included in RSEM" + echo " package) to sort and index the bam file. 'sample_name.genome.sorted.bam'" + echo " and 'sample_name.genome.sorted.bam.bai'" + echo " will be generated." + echo "" + echo " --sort_bam_by_coordinate" + echo " type: boolean_true" + echo " Sort RSEM generated transcript and genome BAM files by coordinates and" + echo " build associated indices." + echo "" + echo "Basic Options:" + echo " --no_qualities" + echo " type: boolean_true" + echo " Input reads do not contain quality scores." + echo "" + echo " --alignments" + echo " type: boolean_true" + echo " Input file contains alignments in SAM/BAM/CRAM format. The exact file" + echo " format will be determined" + echo " automatically." + echo "" + echo " --fai" + echo " type: file, file must exist" + echo " If the header section of input alignment file does not contain reference" + echo " sequence information," + echo " this option should be turned on. is a FAI format file containing" + echo " each reference sequence's" + echo " name and length. Please refer to the SAM official website for the" + echo " details of FAI format." + echo "" + echo " --bowtie2" + echo " type: boolean_true" + echo " Use Bowtie 2 instead of Bowtie to align reads. Since currently RSEM does" + echo " not handle indel, local" + echo " and discordant alignments, the Bowtie2 parameters are set in a way to" + echo " avoid those alignments. In" + echo " particular, we use options '--sensitive --dpad 0 --gbar 99999999 --mp" + echo " 1,1 --np 1 --score_min L,0,-0.1'" + echo " by default. The last parameter of '--score_min', '-0.1', is the negative" + echo " of maximum mismatch rate." + echo " This rate can be set by option '--bowtie2_mismatch_rate'. If reads are" + echo " paired-end, we additionally" + echo " use options '--no_mixed' and '--no_discordant'." + echo "" + echo " --star" + echo " type: boolean_true" + echo " Use STAR to align reads. Alignment parameters are from ENCODE3's" + echo " STAR-RSEM pipeline. To save" + echo " computational time and memory resources, STAR's Output BAM file is" + echo " unsorted. It is stored in RSEM's" + echo " temporary directory with name as 'sample_name.bam'. Each STAR job will" + echo " have its own private copy of" + echo " the genome in memory." + echo "" + echo " --hisat2_hca" + echo " type: boolean_true" + echo " Use HISAT2 to align reads to the transcriptome according to Human Cell" + echo " Atlast." + echo "" + echo " --append_names" + echo " type: boolean_true" + echo " If gene_name/transcript_name is available, append it to the end of" + echo " gene_id/transcript_id (separated" + echo " by '_') in files 'sample_name.isoforms.results' and" + echo " 'sample_name.genes.results'." + echo "" + echo " --seed" + echo " type: integer" + echo " Set the seed for the random number generators used in calculating" + echo " posterior mean estimates and" + echo " credibility intervals. The seed must be a non-negative 32 bit integer." + echo "" + echo " --single_cell_prior" + echo " type: boolean_true" + echo " By default, RSEM uses Dirichlet(1) as the prior to calculate posterior" + echo " mean estimates and credibility" + echo " intervals. However, much less genes are expressed in single cell RNA-Seq" + echo " data. Thus, if you want to" + echo " compute posterior mean estimates and/or credibility intervals and you" + echo " have single-cell RNA-Seq data," + echo " you are recommended to turn on this option. Then RSEM will use" + echo " Dirichlet(0.1) as the prior which" + echo " encourage the sparsity of the expression levels." + echo "" + echo " --calc_pme" + echo " type: boolean_true" + echo " Run RSEM's collapsed Gibbs sampler to calculate posterior mean" + echo " estimates." + echo "" + echo " --calc_ci" + echo " type: boolean_true" + echo " Calculate 95% credibility intervals and posterior mean estimates. The" + echo " credibility level can be" + echo " changed by setting '--ci_credibility_level'." + echo "" + echo " -q, --quiet" + echo " type: boolean_true" + echo " Suppress the output of logging information." + echo "" + echo "Aligner Options:" + echo " --seed_length" + echo " type: integer" + echo " example: 25" + echo " Seed length used by the read aligner. Providing the correct value is" + echo " important for RSEM. If RSEM" + echo " runs Bowtie, it uses this value for Bowtie's seed length parameter. Any" + echo " read with its or at least" + echo " one of its mates' (for paired-end reads) length less than this value" + echo " will be ignored. If the" + echo " references are not added poly(A) tails, the minimum allowed value is 5," + echo " otherwise, the minimum" + echo " allowed value is 25. Note that this script will only check if the value" + echo " >= 5 and give a warning" + echo " message if the value < 25 but >= 5. (Default: 25)" + echo "" + echo " --phred64_quals" + echo " type: boolean_true" + echo " Input quality scores are encoded as Phred+64 (default for GA Pipeline" + echo " ver. >= 1.3). This option is" + echo " used by Bowtie, Bowtie 2 and HISAT2. Otherwise, quality score will be" + echo " encoded as Phred+33. (Default: false)" + echo "" + echo " --solexa_quals" + echo " type: boolean_true" + echo " Input quality scores are solexa encoded (from GA Pipeline ver. < 1.3)." + echo " This option is used by" + echo " Bowtie, Bowtie 2 and HISAT2. Otherwise, quality score will be encoded as" + echo " Phred+33. (Default: false)" + echo "" + echo " --bowtie_n" + echo " type: integer" + echo " example: 2" + echo " choices: [ 0, 1, 2, 3 ]" + echo " (Bowtie parameter) max # of mismatches in the seed. (Range: 0-3," + echo " Default: 2)" + echo "" + echo " --bowtie_e" + echo " type: integer" + echo " example: 99999999" + echo " (Bowtie parameter) max sum of mismatch quality scores across the" + echo " alignment. (Default: 99999999)" + echo "" + echo " --bowtie_m" + echo " type: integer" + echo " example: 200" + echo " (Bowtie parameter) suppress all alignments for a read if > valid" + echo " alignments exist. (Default: 200)" + echo "" + echo " --bowtie_chunkmbs" + echo " type: integer" + echo " example: 0" + echo " (Bowtie parameter) memory allocated for best first alignment calculation" + echo " (Default: 0 - use Bowtie's default)" + echo "" + echo " --bowtie2_mismatch_rate" + echo " type: double" + echo " example: 0.1" + echo " (Bowtie 2 parameter) The maximum mismatch rate allowed. (Default: 0.1)" + echo "" + echo " --bowtie2_k" + echo " type: integer" + echo " example: 200" + echo " (Bowtie 2 parameter) Find up to alignments per read. (Default:" + echo " 200)" + echo "" + echo " --bowtie2_sensitivity_level" + echo " type: string" + echo " example: sensitive" + echo " choices: [ very_fast, fast, sensitive, very_sensitive ]" + echo " (Bowtie 2 parameter) Set Bowtie 2's preset options in --end-to-end mode." + echo " This option controls how" + echo " hard Bowtie 2 tries to find alignments. must be one of" + echo " \"very_fast\", \"fast\", \"sensitive\"" + echo " and \"very_sensitive\". The four candidates correspond to Bowtie 2's" + echo " \"--very-fast\", \"--fast\"," + echo " \"--sensitive\" and \"--very-sensitive\" options. (Default: \"sensitive\" -" + echo " use Bowtie 2's default)" + echo "" + echo " --star_gzipped_read_file" + echo " type: boolean_true" + echo " Input read file(s) is compressed by gzip. (Default: false)" + echo "" + echo " --star_bzipped_read_file" + echo " type: boolean_true" + echo " Input read file(s) is compressed by bzip2. (Default: false)" + echo "" + echo " --star_output_genome_bam" + echo " type: boolean_true" + echo " Save the BAM file from STAR alignment under genomic coordinate to" + echo " 'sample_name.STAR.genome.bam'." + echo " This file is NOT sorted by genomic coordinate. In this file, according" + echo " to STAR's manual, 'paired" + echo " ends of an alignment are always adjacent, and multiple alignments of a" + echo " read are adjacent as well'." + echo " (Default: false)" + echo "" + echo "Advanced Options:" + echo " --tag" + echo " type: string" + echo " example:" + echo " The name of the optional field used in the SAM input for identifying a" + echo " read with too many valid" + echo " alignments. The field should have the format :i:, where" + echo " a bigger than 0" + echo " indicates a read with too many alignments. (Default: \"\")" + echo "" + echo " --fragment_length_min" + echo " type: integer" + echo " example: 1" + echo " Minimum read/insert length allowed. This is also the value for the" + echo " Bowtie/Bowtie2 -I option." + echo " (Default: 1)" + echo "" + echo " --fragment_length_max" + echo " type: integer" + echo " example: 1000" + echo " Maximum read/insert length allowed. This is also the value for the" + echo " Bowtie/Bowtie 2 -X option." + echo " (Default: 1000)" + echo "" + echo " --fragment_length_mean" + echo " type: integer" + echo " example: -1" + echo " (single-end data only) The mean of the fragment length distribution," + echo " which is assumed to be a" + echo " Gaussian. (Default: -1, which disables use of the fragment length" + echo " distribution)" + echo "" + echo " --gragment_length_sd" + echo " type: double" + echo " example: 0.0" + echo " (single-end data only) The standard deviation of the fragment length" + echo " distribution, which is" + echo " assumed to be a Gaussian. (Default: 0, which assumes that all fragments" + echo " are of the same length," + echo " given by the rounded value of --fragment_length_mean)." + echo "" + echo " --estimate_rspd" + echo " type: boolean_true" + echo " Set this option if you want to estimate the read start position" + echo " distribution (RSPD) from data." + echo " Otherwise, RSEM will use a uniform RSPD." + echo "" + echo " --num_rspd_bins" + echo " type: integer" + echo " example: 20" + echo " Number of bins in the RSPD. Only relevant when '--estimate_rspd' is" + echo " specified. Use of the default" + echo " setting is recommended. (Default: 20)" + echo "" + echo " --gibbs_burnin" + echo " type: integer" + echo " example: 200" + echo " The number of burn-in rounds for RSEM's Gibbs sampler. Each round passes" + echo " over the entire data set" + echo " once. If RSEM can use multiple threads, multiple Gibbs samplers will" + echo " start at the same time and all" + echo " samplers share the same burn-in number. (Default: 200)" + echo "" + echo " --gibbs_number_of_samples" + echo " type: integer" + echo " example: 1000" + echo " The total number of count vectors RSEM will collect from its Gibbs" + echo " samplers. (Default: 1000)" + echo "" + echo " --gibbs_sampling_gap" + echo " type: integer" + echo " example: 1" + echo " The number of rounds between two succinct count vectors RSEM collects." + echo " If the count vector after" + echo " round N is collected, the count vector after round N + will also" + echo " be collected. (Default: 1)" + echo "" + echo " --ci_credibility_level" + echo " type: double" + echo " example: 0.95" + echo " The credibility level for credibility intervals. (Default: 0.95)" + echo "" + echo " --ci_number_of_samples_per_count_vector" + echo " type: integer" + echo " example: 50" + echo " The number of read generating probability vectors sampled per sampled" + echo " count vector. The crebility" + echo " intervals are calculated by first sampling P(C | D) and then sampling" + echo " P(Theta | C) for each sampled" + echo " count vector. This option controls how many Theta vectors are sampled" + echo " per sampled count vector." + echo " (Default: 50)" + echo "" + echo " --keep_intermediate_files" + echo " type: boolean_true" + echo " Keep temporary files generated by RSEM. RSEM creates a temporary" + echo " directory, 'sample_name.temp'," + echo " into which it puts all intermediate output files. If this directory" + echo " already exists, RSEM overwrites" + echo " all files generated by previous RSEM runs inside of it. By default," + echo " after RSEM finishes, the" + echo " temporary directory is deleted. Set this option to prevent the deletion" + echo " of this directory and the" + echo " intermediate files inside of it." + echo "" + echo " --temporary_folder" + echo " type: string" + echo " example: sample_name.temp" + echo " Set where to put the temporary files generated by RSEM. If the folder" + echo " specified does not exist," + echo " RSEM will try to create it. (Default: sample_name.temp)" + echo "" + echo " --time" + echo " type: boolean_true" + echo " Output time consumed by each step of RSEM to 'sample_name.time'." + echo "" + echo "Prior-Enhanced RSEM Options:" + echo " --run_pRSEM" + echo " type: boolean_true" + echo " Running prior-enhanced RSEM (pRSEM). Prior parameters, i.e. isoform's" + echo " initial pseudo-count for" + echo " RSEM's Gibbs sampling, will be learned from input RNA-seq data and an" + echo " external data set. When pRSEM" + echo " needs and only needs ChIP-seq peak information to partition isoforms" + echo " (e.g. in pRSEM's default" + echo " partition model), either ChIP-seq peak file (with the" + echo " '--chipseq_peak_file' option) or ChIP-seq" + echo " FASTQ files for target and input and the path for Bowtie executables are" + echo " required (with the" + echo " '--chipseq_target_read_files ', '--chipseq_control_read_files" + echo " ', and '--bowtie_path" + echo " options), otherwise, ChIP-seq FASTQ files for target and control" + echo " and the path to Bowtie" + echo " executables are required." + echo "" + echo " --chipseq_peak_file" + echo " type: file, file must exist" + echo " Full path to a ChIP-seq peak file in ENCODE's narrowPeak, i.e. BED6+4," + echo " format. This file is used" + echo " when running prior-enhanced RSEM in the default two-partition model. It" + echo " partitions isoforms by" + echo " whether they have ChIP-seq overlapping with their transcription start" + echo " site region or not. Each" + echo " partition will have its own prior parameter learned from a training set." + echo " This file can be either" + echo " gzipped or ungzipped." + echo "" + echo " --chipseq_target_read_files" + echo " type: file, file must exist" + echo " Comma-separated full path of FASTQ read file(s) for ChIP-seq target." + echo " This option is used when running" + echo " prior-enhanced RSEM. It provides information to calculate ChIP-seq peaks" + echo " and signals. The file(s)" + echo " can be either ungzipped or gzipped with a suffix '.gz' or '.gzip'. The" + echo " options '--bowtie_path '" + echo " and '--chipseq_control_read_files ' must be defined when this" + echo " option is specified." + echo "" + echo " --chipseq_control_read_files" + echo " type: file, file must exist" + echo " Comma-separated full path of FASTQ read file(s) for ChIP-seq conrol." + echo " This option is used when running" + echo " prior-enhanced RSEM. It provides information to call ChIP-seq peaks. The" + echo " file(s) can be either" + echo " ungzipped or gzipped with a suffix '.gz' or '.gzip'. The options" + echo " '--bowtie_path ' and" + echo " '--chipseq_target_read_files ' must be defined when this option" + echo " is specified." + echo "" + echo " --chipseq_read_files_multi_targets" + echo " type: file, file must exist" + echo " Comma-separated full path of FASTQ read files for multiple ChIP-seq" + echo " targets. This option is used when" + echo " running prior-enhanced RSEM, where prior is learned from multiple" + echo " complementary data sets. It provides" + echo " information to calculate ChIP-seq signals. All files can be either" + echo " ungzipped or gzipped with a suffix" + echo " '.gz' or '.gzip'. When this option is specified, the option" + echo " '--bowtie_path ' must be defined and" + echo " the option '--partition_model ' will be set to 'cmb_lgt'" + echo " automatically." + echo "" + echo " --chipseq_bed_files_multi_targets" + echo " type: file, file must exist" + echo " Comma-separated full path of BED files for multiple ChIP-seq targets." + echo " This option is used when running" + echo " prior-enhanced RSEM, where prior is learned from multiple complementary" + echo " data sets. It provides information" + echo " of ChIP-seq signals and must have at least the first six BED columns." + echo " All files can be either ungzipped" + echo " or gzipped with a suffix '.gz' or '.gzip'. When this option is" + echo " specified, the option '--partition_model" + echo " ' will be set to 'cmb_lgt' automatically." + echo "" + echo " --cap_stacked_chipseq_reads" + echo " type: boolean_true" + echo " Keep a maximum number of ChIP-seq reads that aligned to the same genomic" + echo " interval. This option is used" + echo " when running prior-enhanced RSEM, where prior is learned from multiple" + echo " complementary data sets. This" + echo " option is only in use when either '--chipseq_read_files_multi_targets" + echo " ' or" + echo " '--chipseq_bed_files_multi_targets ' is specified." + echo "" + echo " --n_max_stacked_chipseq_reads" + echo " type: integer" + echo " The maximum number of stacked ChIP-seq reads to keep. This option is" + echo " used when running prior-enhanced" + echo " RSEM, where prior is learned from multiple complementary data sets. This" + echo " option is only in use when the" + echo " option '--cap_stacked_chipseq_reads' is set." + echo "" + echo " --partition_model" + echo " type: string" + echo " example: pk" + echo " A keyword to specify the partition model used by prior-enhanced RSEM. It" + echo " must be one of the following" + echo " keywords:" + echo " * pk" + echo " * pk_lgtnopk" + echo " * lm3, lm4, lm5, or lm6" + echo " * nopk_lm2pk, nopk_lm3pk, nopk_lm4pk, or nopk_lm5pk" + echo " * pk_lm2nopk, pk_lm3nopk, pk_lm4nopk, or pk_lm5nopk" + echo " * cmb_lgt" + echo " Parameters for all the above models are learned from a training set. For" + echo " detailed explanations, please" + echo " see prior-enhanced RSEM's paper. (Default: 'pk')" +} + +# 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 ubuntu:22.04 +ENTRYPOINT [] +RUN apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y build-essential gcc g++ make wget zlib1g-dev unzip && \ + rm -rf /var/lib/apt/lists/* + +ENV STAR_VERSION=2.7.11b +ENV RSEM_VERSION=1.3.3 +RUN apt-get update && \ +apt-get clean && \ +wget --no-check-certificate https://github.com/alexdobin/STAR/archive/refs/tags/2.7.11a.zip && \ +unzip 2.7.11a.zip && \ +cp STAR-2.7.11a/bin/Linux_x86_64_static/STAR /usr/local/bin && \ +cd && \ +wget --no-check-certificate https://github.com/deweylab/RSEM/archive/refs/tags/v1.3.3.zip && \ +unzip v1.3.3.zip && \ +cd RSEM-1.3.3 && \ +make && \ +make install + +RUN echo "RSEM: `rsem-calculate-expression --version | sed -e 's/Current version: RSEM v//g'`" > /var/software_versions.txt && \ +echo "STAR: `STAR --version`" >> /var/software_versions.txt && \ +echo "bowtie2: `bowtie2 --version | grep -oP '\d+\.\d+\.\d+'`" >> /var/software_versions.txt && \ +echo "bowtie: `bowtie --version | grep -oP 'bowtie-align-s version \K\d+\.\d+\.\d+'`" >> /var/software_versions.txt && \ +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="2024-09-18T13:53:03Z" +LABEL org.opencontainers.image.source="https://github.com/deweylab/RSEM" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" +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) + +# 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 "rsem_calculate_expression main" + exit + ;; + --id) + [ -n "$VIASH_PAR_ID" ] && ViashError Bad arguments for option \'--id\': \'$VIASH_PAR_ID\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_ID="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --id. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --id=*) + [ -n "$VIASH_PAR_ID" ] && ViashError Bad arguments for option \'--id=*\': \'$VIASH_PAR_ID\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_ID=$(ViashRemoveFlags "$1") + shift 1 + ;; + --strandedness) + [ -n "$VIASH_PAR_STRANDEDNESS" ] && ViashError Bad arguments for option \'--strandedness\': \'$VIASH_PAR_STRANDEDNESS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_STRANDEDNESS="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --strandedness. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --strandedness=*) + [ -n "$VIASH_PAR_STRANDEDNESS" ] && ViashError Bad arguments for option \'--strandedness=*\': \'$VIASH_PAR_STRANDEDNESS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_STRANDEDNESS=$(ViashRemoveFlags "$1") + shift 1 + ;; + --paired) + [ -n "$VIASH_PAR_PAIRED" ] && ViashError Bad arguments for option \'--paired\': \'$VIASH_PAR_PAIRED\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_PAIRED=true + shift 1 + ;; + --input) + if [ -z "$VIASH_PAR_INPUT" ]; then + VIASH_PAR_INPUT="$2" + else + VIASH_PAR_INPUT="$VIASH_PAR_INPUT;""$2" + fi + [ $# -lt 2 ] && ViashError Not enough arguments passed to --input. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --input=*) + if [ -z "$VIASH_PAR_INPUT" ]; then + VIASH_PAR_INPUT=$(ViashRemoveFlags "$1") + else + VIASH_PAR_INPUT="$VIASH_PAR_INPUT;"$(ViashRemoveFlags "$1") + fi + shift 1 + ;; + --index) + [ -n "$VIASH_PAR_INDEX" ] && ViashError Bad arguments for option \'--index\': \'$VIASH_PAR_INDEX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_INDEX="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --index. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --index=*) + [ -n "$VIASH_PAR_INDEX" ] && ViashError Bad arguments for option \'--index=*\': \'$VIASH_PAR_INDEX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_INDEX=$(ViashRemoveFlags "$1") + shift 1 + ;; + --extra_args) + [ -n "$VIASH_PAR_EXTRA_ARGS" ] && ViashError Bad arguments for option \'--extra_args\': \'$VIASH_PAR_EXTRA_ARGS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_EXTRA_ARGS="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --extra_args. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --extra_args=*) + [ -n "$VIASH_PAR_EXTRA_ARGS" ] && ViashError Bad arguments for option \'--extra_args=*\': \'$VIASH_PAR_EXTRA_ARGS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_EXTRA_ARGS=$(ViashRemoveFlags "$1") + shift 1 + ;; + --counts_gene) + [ -n "$VIASH_PAR_COUNTS_GENE" ] && ViashError Bad arguments for option \'--counts_gene\': \'$VIASH_PAR_COUNTS_GENE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_COUNTS_GENE="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --counts_gene. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --counts_gene=*) + [ -n "$VIASH_PAR_COUNTS_GENE" ] && ViashError Bad arguments for option \'--counts_gene=*\': \'$VIASH_PAR_COUNTS_GENE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_COUNTS_GENE=$(ViashRemoveFlags "$1") + shift 1 + ;; + --counts_transcripts) + [ -n "$VIASH_PAR_COUNTS_TRANSCRIPTS" ] && ViashError Bad arguments for option \'--counts_transcripts\': \'$VIASH_PAR_COUNTS_TRANSCRIPTS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_COUNTS_TRANSCRIPTS="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --counts_transcripts. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --counts_transcripts=*) + [ -n "$VIASH_PAR_COUNTS_TRANSCRIPTS" ] && ViashError Bad arguments for option \'--counts_transcripts=*\': \'$VIASH_PAR_COUNTS_TRANSCRIPTS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_COUNTS_TRANSCRIPTS=$(ViashRemoveFlags "$1") + shift 1 + ;; + --stat) + [ -n "$VIASH_PAR_STAT" ] && ViashError Bad arguments for option \'--stat\': \'$VIASH_PAR_STAT\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_STAT="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --stat. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --stat=*) + [ -n "$VIASH_PAR_STAT" ] && ViashError Bad arguments for option \'--stat=*\': \'$VIASH_PAR_STAT\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_STAT=$(ViashRemoveFlags "$1") + shift 1 + ;; + --logs) + [ -n "$VIASH_PAR_LOGS" ] && ViashError Bad arguments for option \'--logs\': \'$VIASH_PAR_LOGS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_LOGS="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --logs. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --logs=*) + [ -n "$VIASH_PAR_LOGS" ] && ViashError Bad arguments for option \'--logs=*\': \'$VIASH_PAR_LOGS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_LOGS=$(ViashRemoveFlags "$1") + shift 1 + ;; + --bam_star) + [ -n "$VIASH_PAR_BAM_STAR" ] && ViashError Bad arguments for option \'--bam_star\': \'$VIASH_PAR_BAM_STAR\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_BAM_STAR="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --bam_star. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --bam_star=*) + [ -n "$VIASH_PAR_BAM_STAR" ] && ViashError Bad arguments for option \'--bam_star=*\': \'$VIASH_PAR_BAM_STAR\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_BAM_STAR=$(ViashRemoveFlags "$1") + shift 1 + ;; + --bam_genome) + [ -n "$VIASH_PAR_BAM_GENOME" ] && ViashError Bad arguments for option \'--bam_genome\': \'$VIASH_PAR_BAM_GENOME\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_BAM_GENOME="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --bam_genome. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --bam_genome=*) + [ -n "$VIASH_PAR_BAM_GENOME" ] && ViashError Bad arguments for option \'--bam_genome=*\': \'$VIASH_PAR_BAM_GENOME\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_BAM_GENOME=$(ViashRemoveFlags "$1") + shift 1 + ;; + --bam_transcript) + [ -n "$VIASH_PAR_BAM_TRANSCRIPT" ] && ViashError Bad arguments for option \'--bam_transcript\': \'$VIASH_PAR_BAM_TRANSCRIPT\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_BAM_TRANSCRIPT="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --bam_transcript. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --bam_transcript=*) + [ -n "$VIASH_PAR_BAM_TRANSCRIPT" ] && ViashError Bad arguments for option \'--bam_transcript=*\': \'$VIASH_PAR_BAM_TRANSCRIPT\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_BAM_TRANSCRIPT=$(ViashRemoveFlags "$1") + shift 1 + ;; + --sort_bam_by_read_name) + [ -n "$VIASH_PAR_SORT_BAM_BY_READ_NAME" ] && ViashError Bad arguments for option \'--sort_bam_by_read_name\': \'$VIASH_PAR_SORT_BAM_BY_READ_NAME\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_SORT_BAM_BY_READ_NAME=true + shift 1 + ;; + --no_bam_output) + [ -n "$VIASH_PAR_NO_BAM_OUTPUT" ] && ViashError Bad arguments for option \'--no_bam_output\': \'$VIASH_PAR_NO_BAM_OUTPUT\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_NO_BAM_OUTPUT=true + shift 1 + ;; + --sampling_for_bam) + [ -n "$VIASH_PAR_SAMPLING_FOR_BAM" ] && ViashError Bad arguments for option \'--sampling_for_bam\': \'$VIASH_PAR_SAMPLING_FOR_BAM\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_SAMPLING_FOR_BAM=true + shift 1 + ;; + --output_genome_bam) + [ -n "$VIASH_PAR_OUTPUT_GENOME_BAM" ] && ViashError Bad arguments for option \'--output_genome_bam\': \'$VIASH_PAR_OUTPUT_GENOME_BAM\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_OUTPUT_GENOME_BAM=true + shift 1 + ;; + --sort_bam_by_coordinate) + [ -n "$VIASH_PAR_SORT_BAM_BY_COORDINATE" ] && ViashError Bad arguments for option \'--sort_bam_by_coordinate\': \'$VIASH_PAR_SORT_BAM_BY_COORDINATE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_SORT_BAM_BY_COORDINATE=true + shift 1 + ;; + --no_qualities) + [ -n "$VIASH_PAR_NO_QUALITIES" ] && ViashError Bad arguments for option \'--no_qualities\': \'$VIASH_PAR_NO_QUALITIES\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_NO_QUALITIES=true + shift 1 + ;; + --alignments) + [ -n "$VIASH_PAR_ALIGNMENTS" ] && ViashError Bad arguments for option \'--alignments\': \'$VIASH_PAR_ALIGNMENTS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_ALIGNMENTS=true + shift 1 + ;; + --fai) + [ -n "$VIASH_PAR_FAI" ] && ViashError Bad arguments for option \'--fai\': \'$VIASH_PAR_FAI\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_FAI="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --fai. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --fai=*) + [ -n "$VIASH_PAR_FAI" ] && ViashError Bad arguments for option \'--fai=*\': \'$VIASH_PAR_FAI\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_FAI=$(ViashRemoveFlags "$1") + shift 1 + ;; + --bowtie2) + [ -n "$VIASH_PAR_BOWTIE2" ] && ViashError Bad arguments for option \'--bowtie2\': \'$VIASH_PAR_BOWTIE2\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_BOWTIE2=true + shift 1 + ;; + --star) + [ -n "$VIASH_PAR_STAR" ] && ViashError Bad arguments for option \'--star\': \'$VIASH_PAR_STAR\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_STAR=true + shift 1 + ;; + --hisat2_hca) + [ -n "$VIASH_PAR_HISAT2_HCA" ] && ViashError Bad arguments for option \'--hisat2_hca\': \'$VIASH_PAR_HISAT2_HCA\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_HISAT2_HCA=true + shift 1 + ;; + --append_names) + [ -n "$VIASH_PAR_APPEND_NAMES" ] && ViashError Bad arguments for option \'--append_names\': \'$VIASH_PAR_APPEND_NAMES\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_APPEND_NAMES=true + shift 1 + ;; + --seed) + [ -n "$VIASH_PAR_SEED" ] && ViashError Bad arguments for option \'--seed\': \'$VIASH_PAR_SEED\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_SEED="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --seed. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --seed=*) + [ -n "$VIASH_PAR_SEED" ] && ViashError Bad arguments for option \'--seed=*\': \'$VIASH_PAR_SEED\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_SEED=$(ViashRemoveFlags "$1") + shift 1 + ;; + --single_cell_prior) + [ -n "$VIASH_PAR_SINGLE_CELL_PRIOR" ] && ViashError Bad arguments for option \'--single_cell_prior\': \'$VIASH_PAR_SINGLE_CELL_PRIOR\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_SINGLE_CELL_PRIOR=true + shift 1 + ;; + --calc_pme) + [ -n "$VIASH_PAR_CALC_PME" ] && ViashError Bad arguments for option \'--calc_pme\': \'$VIASH_PAR_CALC_PME\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_CALC_PME=true + shift 1 + ;; + --calc_ci) + [ -n "$VIASH_PAR_CALC_CI" ] && ViashError Bad arguments for option \'--calc_ci\': \'$VIASH_PAR_CALC_CI\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_CALC_CI=true + shift 1 + ;; + --quiet) + [ -n "$VIASH_PAR_QUIET" ] && ViashError Bad arguments for option \'--quiet\': \'$VIASH_PAR_QUIET\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_QUIET=true + shift 1 + ;; + -q) + [ -n "$VIASH_PAR_QUIET" ] && ViashError Bad arguments for option \'-q\': \'$VIASH_PAR_QUIET\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_QUIET=true + shift 1 + ;; + --seed_length) + [ -n "$VIASH_PAR_SEED_LENGTH" ] && ViashError Bad arguments for option \'--seed_length\': \'$VIASH_PAR_SEED_LENGTH\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_SEED_LENGTH="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --seed_length. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --seed_length=*) + [ -n "$VIASH_PAR_SEED_LENGTH" ] && ViashError Bad arguments for option \'--seed_length=*\': \'$VIASH_PAR_SEED_LENGTH\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_SEED_LENGTH=$(ViashRemoveFlags "$1") + shift 1 + ;; + --phred64_quals) + [ -n "$VIASH_PAR_PHRED64_QUALS" ] && ViashError Bad arguments for option \'--phred64_quals\': \'$VIASH_PAR_PHRED64_QUALS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_PHRED64_QUALS=true + shift 1 + ;; + --solexa_quals) + [ -n "$VIASH_PAR_SOLEXA_QUALS" ] && ViashError Bad arguments for option \'--solexa_quals\': \'$VIASH_PAR_SOLEXA_QUALS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_SOLEXA_QUALS=true + shift 1 + ;; + --bowtie_n) + [ -n "$VIASH_PAR_BOWTIE_N" ] && ViashError Bad arguments for option \'--bowtie_n\': \'$VIASH_PAR_BOWTIE_N\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_BOWTIE_N="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --bowtie_n. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --bowtie_n=*) + [ -n "$VIASH_PAR_BOWTIE_N" ] && ViashError Bad arguments for option \'--bowtie_n=*\': \'$VIASH_PAR_BOWTIE_N\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_BOWTIE_N=$(ViashRemoveFlags "$1") + shift 1 + ;; + --bowtie_e) + [ -n "$VIASH_PAR_BOWTIE_E" ] && ViashError Bad arguments for option \'--bowtie_e\': \'$VIASH_PAR_BOWTIE_E\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_BOWTIE_E="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --bowtie_e. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --bowtie_e=*) + [ -n "$VIASH_PAR_BOWTIE_E" ] && ViashError Bad arguments for option \'--bowtie_e=*\': \'$VIASH_PAR_BOWTIE_E\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_BOWTIE_E=$(ViashRemoveFlags "$1") + shift 1 + ;; + --bowtie_m) + [ -n "$VIASH_PAR_BOWTIE_M" ] && ViashError Bad arguments for option \'--bowtie_m\': \'$VIASH_PAR_BOWTIE_M\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_BOWTIE_M="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --bowtie_m. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --bowtie_m=*) + [ -n "$VIASH_PAR_BOWTIE_M" ] && ViashError Bad arguments for option \'--bowtie_m=*\': \'$VIASH_PAR_BOWTIE_M\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_BOWTIE_M=$(ViashRemoveFlags "$1") + shift 1 + ;; + --bowtie_chunkmbs) + [ -n "$VIASH_PAR_BOWTIE_CHUNKMBS" ] && ViashError Bad arguments for option \'--bowtie_chunkmbs\': \'$VIASH_PAR_BOWTIE_CHUNKMBS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_BOWTIE_CHUNKMBS="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --bowtie_chunkmbs. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --bowtie_chunkmbs=*) + [ -n "$VIASH_PAR_BOWTIE_CHUNKMBS" ] && ViashError Bad arguments for option \'--bowtie_chunkmbs=*\': \'$VIASH_PAR_BOWTIE_CHUNKMBS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_BOWTIE_CHUNKMBS=$(ViashRemoveFlags "$1") + shift 1 + ;; + --bowtie2_mismatch_rate) + [ -n "$VIASH_PAR_BOWTIE2_MISMATCH_RATE" ] && ViashError Bad arguments for option \'--bowtie2_mismatch_rate\': \'$VIASH_PAR_BOWTIE2_MISMATCH_RATE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_BOWTIE2_MISMATCH_RATE="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --bowtie2_mismatch_rate. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --bowtie2_mismatch_rate=*) + [ -n "$VIASH_PAR_BOWTIE2_MISMATCH_RATE" ] && ViashError Bad arguments for option \'--bowtie2_mismatch_rate=*\': \'$VIASH_PAR_BOWTIE2_MISMATCH_RATE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_BOWTIE2_MISMATCH_RATE=$(ViashRemoveFlags "$1") + shift 1 + ;; + --bowtie2_k) + [ -n "$VIASH_PAR_BOWTIE2_K" ] && ViashError Bad arguments for option \'--bowtie2_k\': \'$VIASH_PAR_BOWTIE2_K\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_BOWTIE2_K="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --bowtie2_k. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --bowtie2_k=*) + [ -n "$VIASH_PAR_BOWTIE2_K" ] && ViashError Bad arguments for option \'--bowtie2_k=*\': \'$VIASH_PAR_BOWTIE2_K\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_BOWTIE2_K=$(ViashRemoveFlags "$1") + shift 1 + ;; + --bowtie2_sensitivity_level) + [ -n "$VIASH_PAR_BOWTIE2_SENSITIVITY_LEVEL" ] && ViashError Bad arguments for option \'--bowtie2_sensitivity_level\': \'$VIASH_PAR_BOWTIE2_SENSITIVITY_LEVEL\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_BOWTIE2_SENSITIVITY_LEVEL="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --bowtie2_sensitivity_level. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --bowtie2_sensitivity_level=*) + [ -n "$VIASH_PAR_BOWTIE2_SENSITIVITY_LEVEL" ] && ViashError Bad arguments for option \'--bowtie2_sensitivity_level=*\': \'$VIASH_PAR_BOWTIE2_SENSITIVITY_LEVEL\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_BOWTIE2_SENSITIVITY_LEVEL=$(ViashRemoveFlags "$1") + shift 1 + ;; + --star_gzipped_read_file) + [ -n "$VIASH_PAR_STAR_GZIPPED_READ_FILE" ] && ViashError Bad arguments for option \'--star_gzipped_read_file\': \'$VIASH_PAR_STAR_GZIPPED_READ_FILE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_STAR_GZIPPED_READ_FILE=true + shift 1 + ;; + --star_bzipped_read_file) + [ -n "$VIASH_PAR_STAR_BZIPPED_READ_FILE" ] && ViashError Bad arguments for option \'--star_bzipped_read_file\': \'$VIASH_PAR_STAR_BZIPPED_READ_FILE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_STAR_BZIPPED_READ_FILE=true + shift 1 + ;; + --star_output_genome_bam) + [ -n "$VIASH_PAR_STAR_OUTPUT_GENOME_BAM" ] && ViashError Bad arguments for option \'--star_output_genome_bam\': \'$VIASH_PAR_STAR_OUTPUT_GENOME_BAM\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_STAR_OUTPUT_GENOME_BAM=true + shift 1 + ;; + --tag) + [ -n "$VIASH_PAR_TAG" ] && ViashError Bad arguments for option \'--tag\': \'$VIASH_PAR_TAG\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_TAG="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --tag. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --tag=*) + [ -n "$VIASH_PAR_TAG" ] && ViashError Bad arguments for option \'--tag=*\': \'$VIASH_PAR_TAG\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_TAG=$(ViashRemoveFlags "$1") + shift 1 + ;; + --fragment_length_min) + [ -n "$VIASH_PAR_FRAGMENT_LENGTH_MIN" ] && ViashError Bad arguments for option \'--fragment_length_min\': \'$VIASH_PAR_FRAGMENT_LENGTH_MIN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_FRAGMENT_LENGTH_MIN="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --fragment_length_min. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --fragment_length_min=*) + [ -n "$VIASH_PAR_FRAGMENT_LENGTH_MIN" ] && ViashError Bad arguments for option \'--fragment_length_min=*\': \'$VIASH_PAR_FRAGMENT_LENGTH_MIN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_FRAGMENT_LENGTH_MIN=$(ViashRemoveFlags "$1") + shift 1 + ;; + --fragment_length_max) + [ -n "$VIASH_PAR_FRAGMENT_LENGTH_MAX" ] && ViashError Bad arguments for option \'--fragment_length_max\': \'$VIASH_PAR_FRAGMENT_LENGTH_MAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_FRAGMENT_LENGTH_MAX="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --fragment_length_max. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --fragment_length_max=*) + [ -n "$VIASH_PAR_FRAGMENT_LENGTH_MAX" ] && ViashError Bad arguments for option \'--fragment_length_max=*\': \'$VIASH_PAR_FRAGMENT_LENGTH_MAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_FRAGMENT_LENGTH_MAX=$(ViashRemoveFlags "$1") + shift 1 + ;; + --fragment_length_mean) + [ -n "$VIASH_PAR_FRAGMENT_LENGTH_MEAN" ] && ViashError Bad arguments for option \'--fragment_length_mean\': \'$VIASH_PAR_FRAGMENT_LENGTH_MEAN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_FRAGMENT_LENGTH_MEAN="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --fragment_length_mean. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --fragment_length_mean=*) + [ -n "$VIASH_PAR_FRAGMENT_LENGTH_MEAN" ] && ViashError Bad arguments for option \'--fragment_length_mean=*\': \'$VIASH_PAR_FRAGMENT_LENGTH_MEAN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_FRAGMENT_LENGTH_MEAN=$(ViashRemoveFlags "$1") + shift 1 + ;; + --gragment_length_sd) + [ -n "$VIASH_PAR_GRAGMENT_LENGTH_SD" ] && ViashError Bad arguments for option \'--gragment_length_sd\': \'$VIASH_PAR_GRAGMENT_LENGTH_SD\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_GRAGMENT_LENGTH_SD="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --gragment_length_sd. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --gragment_length_sd=*) + [ -n "$VIASH_PAR_GRAGMENT_LENGTH_SD" ] && ViashError Bad arguments for option \'--gragment_length_sd=*\': \'$VIASH_PAR_GRAGMENT_LENGTH_SD\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_GRAGMENT_LENGTH_SD=$(ViashRemoveFlags "$1") + shift 1 + ;; + --estimate_rspd) + [ -n "$VIASH_PAR_ESTIMATE_RSPD" ] && ViashError Bad arguments for option \'--estimate_rspd\': \'$VIASH_PAR_ESTIMATE_RSPD\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_ESTIMATE_RSPD=true + shift 1 + ;; + --num_rspd_bins) + [ -n "$VIASH_PAR_NUM_RSPD_BINS" ] && ViashError Bad arguments for option \'--num_rspd_bins\': \'$VIASH_PAR_NUM_RSPD_BINS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_NUM_RSPD_BINS="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --num_rspd_bins. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --num_rspd_bins=*) + [ -n "$VIASH_PAR_NUM_RSPD_BINS" ] && ViashError Bad arguments for option \'--num_rspd_bins=*\': \'$VIASH_PAR_NUM_RSPD_BINS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_NUM_RSPD_BINS=$(ViashRemoveFlags "$1") + shift 1 + ;; + --gibbs_burnin) + [ -n "$VIASH_PAR_GIBBS_BURNIN" ] && ViashError Bad arguments for option \'--gibbs_burnin\': \'$VIASH_PAR_GIBBS_BURNIN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_GIBBS_BURNIN="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --gibbs_burnin. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --gibbs_burnin=*) + [ -n "$VIASH_PAR_GIBBS_BURNIN" ] && ViashError Bad arguments for option \'--gibbs_burnin=*\': \'$VIASH_PAR_GIBBS_BURNIN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_GIBBS_BURNIN=$(ViashRemoveFlags "$1") + shift 1 + ;; + --gibbs_number_of_samples) + [ -n "$VIASH_PAR_GIBBS_NUMBER_OF_SAMPLES" ] && ViashError Bad arguments for option \'--gibbs_number_of_samples\': \'$VIASH_PAR_GIBBS_NUMBER_OF_SAMPLES\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_GIBBS_NUMBER_OF_SAMPLES="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --gibbs_number_of_samples. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --gibbs_number_of_samples=*) + [ -n "$VIASH_PAR_GIBBS_NUMBER_OF_SAMPLES" ] && ViashError Bad arguments for option \'--gibbs_number_of_samples=*\': \'$VIASH_PAR_GIBBS_NUMBER_OF_SAMPLES\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_GIBBS_NUMBER_OF_SAMPLES=$(ViashRemoveFlags "$1") + shift 1 + ;; + --gibbs_sampling_gap) + [ -n "$VIASH_PAR_GIBBS_SAMPLING_GAP" ] && ViashError Bad arguments for option \'--gibbs_sampling_gap\': \'$VIASH_PAR_GIBBS_SAMPLING_GAP\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_GIBBS_SAMPLING_GAP="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --gibbs_sampling_gap. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --gibbs_sampling_gap=*) + [ -n "$VIASH_PAR_GIBBS_SAMPLING_GAP" ] && ViashError Bad arguments for option \'--gibbs_sampling_gap=*\': \'$VIASH_PAR_GIBBS_SAMPLING_GAP\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_GIBBS_SAMPLING_GAP=$(ViashRemoveFlags "$1") + shift 1 + ;; + --ci_credibility_level) + [ -n "$VIASH_PAR_CI_CREDIBILITY_LEVEL" ] && ViashError Bad arguments for option \'--ci_credibility_level\': \'$VIASH_PAR_CI_CREDIBILITY_LEVEL\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_CI_CREDIBILITY_LEVEL="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --ci_credibility_level. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --ci_credibility_level=*) + [ -n "$VIASH_PAR_CI_CREDIBILITY_LEVEL" ] && ViashError Bad arguments for option \'--ci_credibility_level=*\': \'$VIASH_PAR_CI_CREDIBILITY_LEVEL\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_CI_CREDIBILITY_LEVEL=$(ViashRemoveFlags "$1") + shift 1 + ;; + --ci_number_of_samples_per_count_vector) + [ -n "$VIASH_PAR_CI_NUMBER_OF_SAMPLES_PER_COUNT_VECTOR" ] && ViashError Bad arguments for option \'--ci_number_of_samples_per_count_vector\': \'$VIASH_PAR_CI_NUMBER_OF_SAMPLES_PER_COUNT_VECTOR\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_CI_NUMBER_OF_SAMPLES_PER_COUNT_VECTOR="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --ci_number_of_samples_per_count_vector. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --ci_number_of_samples_per_count_vector=*) + [ -n "$VIASH_PAR_CI_NUMBER_OF_SAMPLES_PER_COUNT_VECTOR" ] && ViashError Bad arguments for option \'--ci_number_of_samples_per_count_vector=*\': \'$VIASH_PAR_CI_NUMBER_OF_SAMPLES_PER_COUNT_VECTOR\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_CI_NUMBER_OF_SAMPLES_PER_COUNT_VECTOR=$(ViashRemoveFlags "$1") + shift 1 + ;; + --keep_intermediate_files) + [ -n "$VIASH_PAR_KEEP_INTERMEDIATE_FILES" ] && ViashError Bad arguments for option \'--keep_intermediate_files\': \'$VIASH_PAR_KEEP_INTERMEDIATE_FILES\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_KEEP_INTERMEDIATE_FILES=true + shift 1 + ;; + --temporary_folder) + [ -n "$VIASH_PAR_TEMPORARY_FOLDER" ] && ViashError Bad arguments for option \'--temporary_folder\': \'$VIASH_PAR_TEMPORARY_FOLDER\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_TEMPORARY_FOLDER="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --temporary_folder. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --temporary_folder=*) + [ -n "$VIASH_PAR_TEMPORARY_FOLDER" ] && ViashError Bad arguments for option \'--temporary_folder=*\': \'$VIASH_PAR_TEMPORARY_FOLDER\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_TEMPORARY_FOLDER=$(ViashRemoveFlags "$1") + shift 1 + ;; + --time) + [ -n "$VIASH_PAR_TIME" ] && ViashError Bad arguments for option \'--time\': \'$VIASH_PAR_TIME\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_TIME=true + shift 1 + ;; + --run_pRSEM) + [ -n "$VIASH_PAR_RUN_PRSEM" ] && ViashError Bad arguments for option \'--run_pRSEM\': \'$VIASH_PAR_RUN_PRSEM\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_RUN_PRSEM=true + shift 1 + ;; + --chipseq_peak_file) + [ -n "$VIASH_PAR_CHIPSEQ_PEAK_FILE" ] && ViashError Bad arguments for option \'--chipseq_peak_file\': \'$VIASH_PAR_CHIPSEQ_PEAK_FILE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_CHIPSEQ_PEAK_FILE="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --chipseq_peak_file. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --chipseq_peak_file=*) + [ -n "$VIASH_PAR_CHIPSEQ_PEAK_FILE" ] && ViashError Bad arguments for option \'--chipseq_peak_file=*\': \'$VIASH_PAR_CHIPSEQ_PEAK_FILE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_CHIPSEQ_PEAK_FILE=$(ViashRemoveFlags "$1") + shift 1 + ;; + --chipseq_target_read_files) + [ -n "$VIASH_PAR_CHIPSEQ_TARGET_READ_FILES" ] && ViashError Bad arguments for option \'--chipseq_target_read_files\': \'$VIASH_PAR_CHIPSEQ_TARGET_READ_FILES\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_CHIPSEQ_TARGET_READ_FILES="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --chipseq_target_read_files. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --chipseq_target_read_files=*) + [ -n "$VIASH_PAR_CHIPSEQ_TARGET_READ_FILES" ] && ViashError Bad arguments for option \'--chipseq_target_read_files=*\': \'$VIASH_PAR_CHIPSEQ_TARGET_READ_FILES\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_CHIPSEQ_TARGET_READ_FILES=$(ViashRemoveFlags "$1") + shift 1 + ;; + --chipseq_control_read_files) + [ -n "$VIASH_PAR_CHIPSEQ_CONTROL_READ_FILES" ] && ViashError Bad arguments for option \'--chipseq_control_read_files\': \'$VIASH_PAR_CHIPSEQ_CONTROL_READ_FILES\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_CHIPSEQ_CONTROL_READ_FILES="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --chipseq_control_read_files. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --chipseq_control_read_files=*) + [ -n "$VIASH_PAR_CHIPSEQ_CONTROL_READ_FILES" ] && ViashError Bad arguments for option \'--chipseq_control_read_files=*\': \'$VIASH_PAR_CHIPSEQ_CONTROL_READ_FILES\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_CHIPSEQ_CONTROL_READ_FILES=$(ViashRemoveFlags "$1") + shift 1 + ;; + --chipseq_read_files_multi_targets) + [ -n "$VIASH_PAR_CHIPSEQ_READ_FILES_MULTI_TARGETS" ] && ViashError Bad arguments for option \'--chipseq_read_files_multi_targets\': \'$VIASH_PAR_CHIPSEQ_READ_FILES_MULTI_TARGETS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_CHIPSEQ_READ_FILES_MULTI_TARGETS="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --chipseq_read_files_multi_targets. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --chipseq_read_files_multi_targets=*) + [ -n "$VIASH_PAR_CHIPSEQ_READ_FILES_MULTI_TARGETS" ] && ViashError Bad arguments for option \'--chipseq_read_files_multi_targets=*\': \'$VIASH_PAR_CHIPSEQ_READ_FILES_MULTI_TARGETS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_CHIPSEQ_READ_FILES_MULTI_TARGETS=$(ViashRemoveFlags "$1") + shift 1 + ;; + --chipseq_bed_files_multi_targets) + [ -n "$VIASH_PAR_CHIPSEQ_BED_FILES_MULTI_TARGETS" ] && ViashError Bad arguments for option \'--chipseq_bed_files_multi_targets\': \'$VIASH_PAR_CHIPSEQ_BED_FILES_MULTI_TARGETS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_CHIPSEQ_BED_FILES_MULTI_TARGETS="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --chipseq_bed_files_multi_targets. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --chipseq_bed_files_multi_targets=*) + [ -n "$VIASH_PAR_CHIPSEQ_BED_FILES_MULTI_TARGETS" ] && ViashError Bad arguments for option \'--chipseq_bed_files_multi_targets=*\': \'$VIASH_PAR_CHIPSEQ_BED_FILES_MULTI_TARGETS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_CHIPSEQ_BED_FILES_MULTI_TARGETS=$(ViashRemoveFlags "$1") + shift 1 + ;; + --cap_stacked_chipseq_reads) + [ -n "$VIASH_PAR_CAP_STACKED_CHIPSEQ_READS" ] && ViashError Bad arguments for option \'--cap_stacked_chipseq_reads\': \'$VIASH_PAR_CAP_STACKED_CHIPSEQ_READS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_CAP_STACKED_CHIPSEQ_READS=true + shift 1 + ;; + --n_max_stacked_chipseq_reads) + [ -n "$VIASH_PAR_N_MAX_STACKED_CHIPSEQ_READS" ] && ViashError Bad arguments for option \'--n_max_stacked_chipseq_reads\': \'$VIASH_PAR_N_MAX_STACKED_CHIPSEQ_READS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_N_MAX_STACKED_CHIPSEQ_READS="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --n_max_stacked_chipseq_reads. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --n_max_stacked_chipseq_reads=*) + [ -n "$VIASH_PAR_N_MAX_STACKED_CHIPSEQ_READS" ] && ViashError Bad arguments for option \'--n_max_stacked_chipseq_reads=*\': \'$VIASH_PAR_N_MAX_STACKED_CHIPSEQ_READS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_N_MAX_STACKED_CHIPSEQ_READS=$(ViashRemoveFlags "$1") + shift 1 + ;; + --partition_model) + [ -n "$VIASH_PAR_PARTITION_MODEL" ] && ViashError Bad arguments for option \'--partition_model\': \'$VIASH_PAR_PARTITION_MODEL\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_PARTITION_MODEL="$2" + [ $# -lt 2 ] && ViashError Not enough arguments passed to --partition_model. Use "--help" to get more information on the parameters. && exit 1 + shift 2 + ;; + --partition_model=*) + [ -n "$VIASH_PAR_PARTITION_MODEL" ] && ViashError Bad arguments for option \'--partition_model=*\': \'$VIASH_PAR_PARTITION_MODEL\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1 + VIASH_PAR_PARTITION_MODEL=$(ViashRemoveFlags "$1") + 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/rsem/rsem_calculate_expression: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_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_PAIRED+x} ]; then + VIASH_PAR_PAIRED="false" +fi +if [ -z ${VIASH_PAR_SORT_BAM_BY_READ_NAME+x} ]; then + VIASH_PAR_SORT_BAM_BY_READ_NAME="false" +fi +if [ -z ${VIASH_PAR_NO_BAM_OUTPUT+x} ]; then + VIASH_PAR_NO_BAM_OUTPUT="false" +fi +if [ -z ${VIASH_PAR_SAMPLING_FOR_BAM+x} ]; then + VIASH_PAR_SAMPLING_FOR_BAM="false" +fi +if [ -z ${VIASH_PAR_OUTPUT_GENOME_BAM+x} ]; then + VIASH_PAR_OUTPUT_GENOME_BAM="false" +fi +if [ -z ${VIASH_PAR_SORT_BAM_BY_COORDINATE+x} ]; then + VIASH_PAR_SORT_BAM_BY_COORDINATE="false" +fi +if [ -z ${VIASH_PAR_NO_QUALITIES+x} ]; then + VIASH_PAR_NO_QUALITIES="false" +fi +if [ -z ${VIASH_PAR_ALIGNMENTS+x} ]; then + VIASH_PAR_ALIGNMENTS="false" +fi +if [ -z ${VIASH_PAR_BOWTIE2+x} ]; then + VIASH_PAR_BOWTIE2="false" +fi +if [ -z ${VIASH_PAR_STAR+x} ]; then + VIASH_PAR_STAR="false" +fi +if [ -z ${VIASH_PAR_HISAT2_HCA+x} ]; then + VIASH_PAR_HISAT2_HCA="false" +fi +if [ -z ${VIASH_PAR_APPEND_NAMES+x} ]; then + VIASH_PAR_APPEND_NAMES="false" +fi +if [ -z ${VIASH_PAR_SINGLE_CELL_PRIOR+x} ]; then + VIASH_PAR_SINGLE_CELL_PRIOR="false" +fi +if [ -z ${VIASH_PAR_CALC_PME+x} ]; then + VIASH_PAR_CALC_PME="false" +fi +if [ -z ${VIASH_PAR_CALC_CI+x} ]; then + VIASH_PAR_CALC_CI="false" +fi +if [ -z ${VIASH_PAR_QUIET+x} ]; then + VIASH_PAR_QUIET="false" +fi +if [ -z ${VIASH_PAR_PHRED64_QUALS+x} ]; then + VIASH_PAR_PHRED64_QUALS="false" +fi +if [ -z ${VIASH_PAR_SOLEXA_QUALS+x} ]; then + VIASH_PAR_SOLEXA_QUALS="false" +fi +if [ -z ${VIASH_PAR_STAR_GZIPPED_READ_FILE+x} ]; then + VIASH_PAR_STAR_GZIPPED_READ_FILE="false" +fi +if [ -z ${VIASH_PAR_STAR_BZIPPED_READ_FILE+x} ]; then + VIASH_PAR_STAR_BZIPPED_READ_FILE="false" +fi +if [ -z ${VIASH_PAR_STAR_OUTPUT_GENOME_BAM+x} ]; then + VIASH_PAR_STAR_OUTPUT_GENOME_BAM="false" +fi +if [ -z ${VIASH_PAR_ESTIMATE_RSPD+x} ]; then + VIASH_PAR_ESTIMATE_RSPD="false" +fi +if [ -z ${VIASH_PAR_KEEP_INTERMEDIATE_FILES+x} ]; then + VIASH_PAR_KEEP_INTERMEDIATE_FILES="false" +fi +if [ -z ${VIASH_PAR_TIME+x} ]; then + VIASH_PAR_TIME="false" +fi +if [ -z ${VIASH_PAR_RUN_PRSEM+x} ]; then + VIASH_PAR_RUN_PRSEM="false" +fi +if [ -z ${VIASH_PAR_CAP_STACKED_CHIPSEQ_READS+x} ]; then + VIASH_PAR_CAP_STACKED_CHIPSEQ_READS="false" +fi + +# check whether required files exist +if [ ! -z "$VIASH_PAR_INPUT" ]; then + IFS=';' + set -f + for file in $VIASH_PAR_INPUT; 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_FAI" ] && [ ! -e "$VIASH_PAR_FAI" ]; then + ViashError "Input file '$VIASH_PAR_FAI' does not exist." + exit 1 +fi +if [ ! -z "$VIASH_PAR_CHIPSEQ_PEAK_FILE" ] && [ ! -e "$VIASH_PAR_CHIPSEQ_PEAK_FILE" ]; then + ViashError "Input file '$VIASH_PAR_CHIPSEQ_PEAK_FILE' does not exist." + exit 1 +fi +if [ ! -z "$VIASH_PAR_CHIPSEQ_TARGET_READ_FILES" ] && [ ! -e "$VIASH_PAR_CHIPSEQ_TARGET_READ_FILES" ]; then + ViashError "Input file '$VIASH_PAR_CHIPSEQ_TARGET_READ_FILES' does not exist." + exit 1 +fi +if [ ! -z "$VIASH_PAR_CHIPSEQ_CONTROL_READ_FILES" ] && [ ! -e "$VIASH_PAR_CHIPSEQ_CONTROL_READ_FILES" ]; then + ViashError "Input file '$VIASH_PAR_CHIPSEQ_CONTROL_READ_FILES' does not exist." + exit 1 +fi +if [ ! -z "$VIASH_PAR_CHIPSEQ_READ_FILES_MULTI_TARGETS" ] && [ ! -e "$VIASH_PAR_CHIPSEQ_READ_FILES_MULTI_TARGETS" ]; then + ViashError "Input file '$VIASH_PAR_CHIPSEQ_READ_FILES_MULTI_TARGETS' does not exist." + exit 1 +fi +if [ ! -z "$VIASH_PAR_CHIPSEQ_BED_FILES_MULTI_TARGETS" ] && [ ! -e "$VIASH_PAR_CHIPSEQ_BED_FILES_MULTI_TARGETS" ]; then + ViashError "Input file '$VIASH_PAR_CHIPSEQ_BED_FILES_MULTI_TARGETS' does not exist." + exit 1 +fi + +# check whether parameters values are of the right type +if [[ -n "$VIASH_PAR_PAIRED" ]]; then + if ! [[ "$VIASH_PAR_PAIRED" =~ ^(true|True|TRUE|false|False|FALSE|yes|Yes|YES|no|No|NO)$ ]]; then + ViashError '--paired' has to be a boolean_true. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_SORT_BAM_BY_READ_NAME" ]]; then + if ! [[ "$VIASH_PAR_SORT_BAM_BY_READ_NAME" =~ ^(true|True|TRUE|false|False|FALSE|yes|Yes|YES|no|No|NO)$ ]]; then + ViashError '--sort_bam_by_read_name' has to be a boolean_true. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_NO_BAM_OUTPUT" ]]; then + if ! [[ "$VIASH_PAR_NO_BAM_OUTPUT" =~ ^(true|True|TRUE|false|False|FALSE|yes|Yes|YES|no|No|NO)$ ]]; then + ViashError '--no_bam_output' has to be a boolean_true. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_SAMPLING_FOR_BAM" ]]; then + if ! [[ "$VIASH_PAR_SAMPLING_FOR_BAM" =~ ^(true|True|TRUE|false|False|FALSE|yes|Yes|YES|no|No|NO)$ ]]; then + ViashError '--sampling_for_bam' has to be a boolean_true. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_OUTPUT_GENOME_BAM" ]]; then + if ! [[ "$VIASH_PAR_OUTPUT_GENOME_BAM" =~ ^(true|True|TRUE|false|False|FALSE|yes|Yes|YES|no|No|NO)$ ]]; then + ViashError '--output_genome_bam' has to be a boolean_true. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_SORT_BAM_BY_COORDINATE" ]]; then + if ! [[ "$VIASH_PAR_SORT_BAM_BY_COORDINATE" =~ ^(true|True|TRUE|false|False|FALSE|yes|Yes|YES|no|No|NO)$ ]]; then + ViashError '--sort_bam_by_coordinate' has to be a boolean_true. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_NO_QUALITIES" ]]; then + if ! [[ "$VIASH_PAR_NO_QUALITIES" =~ ^(true|True|TRUE|false|False|FALSE|yes|Yes|YES|no|No|NO)$ ]]; then + ViashError '--no_qualities' has to be a boolean_true. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_ALIGNMENTS" ]]; then + if ! [[ "$VIASH_PAR_ALIGNMENTS" =~ ^(true|True|TRUE|false|False|FALSE|yes|Yes|YES|no|No|NO)$ ]]; then + ViashError '--alignments' has to be a boolean_true. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_BOWTIE2" ]]; then + if ! [[ "$VIASH_PAR_BOWTIE2" =~ ^(true|True|TRUE|false|False|FALSE|yes|Yes|YES|no|No|NO)$ ]]; then + ViashError '--bowtie2' has to be a boolean_true. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_STAR" ]]; then + if ! [[ "$VIASH_PAR_STAR" =~ ^(true|True|TRUE|false|False|FALSE|yes|Yes|YES|no|No|NO)$ ]]; then + ViashError '--star' has to be a boolean_true. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_HISAT2_HCA" ]]; then + if ! [[ "$VIASH_PAR_HISAT2_HCA" =~ ^(true|True|TRUE|false|False|FALSE|yes|Yes|YES|no|No|NO)$ ]]; then + ViashError '--hisat2_hca' has to be a boolean_true. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_APPEND_NAMES" ]]; then + if ! [[ "$VIASH_PAR_APPEND_NAMES" =~ ^(true|True|TRUE|false|False|FALSE|yes|Yes|YES|no|No|NO)$ ]]; then + ViashError '--append_names' has to be a boolean_true. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_SEED" ]]; then + if ! [[ "$VIASH_PAR_SEED" =~ ^[-+]?[0-9]+$ ]]; then + ViashError '--seed' has to be an integer. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_SINGLE_CELL_PRIOR" ]]; then + if ! [[ "$VIASH_PAR_SINGLE_CELL_PRIOR" =~ ^(true|True|TRUE|false|False|FALSE|yes|Yes|YES|no|No|NO)$ ]]; then + ViashError '--single_cell_prior' has to be a boolean_true. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_CALC_PME" ]]; then + if ! [[ "$VIASH_PAR_CALC_PME" =~ ^(true|True|TRUE|false|False|FALSE|yes|Yes|YES|no|No|NO)$ ]]; then + ViashError '--calc_pme' has to be a boolean_true. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_CALC_CI" ]]; then + if ! [[ "$VIASH_PAR_CALC_CI" =~ ^(true|True|TRUE|false|False|FALSE|yes|Yes|YES|no|No|NO)$ ]]; then + ViashError '--calc_ci' has to be a boolean_true. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_QUIET" ]]; then + if ! [[ "$VIASH_PAR_QUIET" =~ ^(true|True|TRUE|false|False|FALSE|yes|Yes|YES|no|No|NO)$ ]]; then + ViashError '--quiet' has to be a boolean_true. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_SEED_LENGTH" ]]; then + if ! [[ "$VIASH_PAR_SEED_LENGTH" =~ ^[-+]?[0-9]+$ ]]; then + ViashError '--seed_length' has to be an integer. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_PHRED64_QUALS" ]]; then + if ! [[ "$VIASH_PAR_PHRED64_QUALS" =~ ^(true|True|TRUE|false|False|FALSE|yes|Yes|YES|no|No|NO)$ ]]; then + ViashError '--phred64_quals' has to be a boolean_true. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_SOLEXA_QUALS" ]]; then + if ! [[ "$VIASH_PAR_SOLEXA_QUALS" =~ ^(true|True|TRUE|false|False|FALSE|yes|Yes|YES|no|No|NO)$ ]]; then + ViashError '--solexa_quals' has to be a boolean_true. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_BOWTIE_N" ]]; then + if ! [[ "$VIASH_PAR_BOWTIE_N" =~ ^[-+]?[0-9]+$ ]]; then + ViashError '--bowtie_n' has to be an integer. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_BOWTIE_E" ]]; then + if ! [[ "$VIASH_PAR_BOWTIE_E" =~ ^[-+]?[0-9]+$ ]]; then + ViashError '--bowtie_e' has to be an integer. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_BOWTIE_M" ]]; then + if ! [[ "$VIASH_PAR_BOWTIE_M" =~ ^[-+]?[0-9]+$ ]]; then + ViashError '--bowtie_m' has to be an integer. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_BOWTIE_CHUNKMBS" ]]; then + if ! [[ "$VIASH_PAR_BOWTIE_CHUNKMBS" =~ ^[-+]?[0-9]+$ ]]; then + ViashError '--bowtie_chunkmbs' has to be an integer. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_BOWTIE2_MISMATCH_RATE" ]]; then + if ! [[ "$VIASH_PAR_BOWTIE2_MISMATCH_RATE" =~ ^[-+]?(\.[0-9]+|[0-9]+(\.[0-9]*)?)([eE][-+]?[0-9]+)?$ ]]; then + ViashError '--bowtie2_mismatch_rate' has to be a double. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_BOWTIE2_K" ]]; then + if ! [[ "$VIASH_PAR_BOWTIE2_K" =~ ^[-+]?[0-9]+$ ]]; then + ViashError '--bowtie2_k' has to be an integer. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_STAR_GZIPPED_READ_FILE" ]]; then + if ! [[ "$VIASH_PAR_STAR_GZIPPED_READ_FILE" =~ ^(true|True|TRUE|false|False|FALSE|yes|Yes|YES|no|No|NO)$ ]]; then + ViashError '--star_gzipped_read_file' has to be a boolean_true. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_STAR_BZIPPED_READ_FILE" ]]; then + if ! [[ "$VIASH_PAR_STAR_BZIPPED_READ_FILE" =~ ^(true|True|TRUE|false|False|FALSE|yes|Yes|YES|no|No|NO)$ ]]; then + ViashError '--star_bzipped_read_file' has to be a boolean_true. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_STAR_OUTPUT_GENOME_BAM" ]]; then + if ! [[ "$VIASH_PAR_STAR_OUTPUT_GENOME_BAM" =~ ^(true|True|TRUE|false|False|FALSE|yes|Yes|YES|no|No|NO)$ ]]; then + ViashError '--star_output_genome_bam' has to be a boolean_true. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_FRAGMENT_LENGTH_MIN" ]]; then + if ! [[ "$VIASH_PAR_FRAGMENT_LENGTH_MIN" =~ ^[-+]?[0-9]+$ ]]; then + ViashError '--fragment_length_min' has to be an integer. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_FRAGMENT_LENGTH_MAX" ]]; then + if ! [[ "$VIASH_PAR_FRAGMENT_LENGTH_MAX" =~ ^[-+]?[0-9]+$ ]]; then + ViashError '--fragment_length_max' has to be an integer. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_FRAGMENT_LENGTH_MEAN" ]]; then + if ! [[ "$VIASH_PAR_FRAGMENT_LENGTH_MEAN" =~ ^[-+]?[0-9]+$ ]]; then + ViashError '--fragment_length_mean' has to be an integer. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_GRAGMENT_LENGTH_SD" ]]; then + if ! [[ "$VIASH_PAR_GRAGMENT_LENGTH_SD" =~ ^[-+]?(\.[0-9]+|[0-9]+(\.[0-9]*)?)([eE][-+]?[0-9]+)?$ ]]; then + ViashError '--gragment_length_sd' has to be a double. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_ESTIMATE_RSPD" ]]; then + if ! [[ "$VIASH_PAR_ESTIMATE_RSPD" =~ ^(true|True|TRUE|false|False|FALSE|yes|Yes|YES|no|No|NO)$ ]]; then + ViashError '--estimate_rspd' has to be a boolean_true. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_NUM_RSPD_BINS" ]]; then + if ! [[ "$VIASH_PAR_NUM_RSPD_BINS" =~ ^[-+]?[0-9]+$ ]]; then + ViashError '--num_rspd_bins' has to be an integer. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_GIBBS_BURNIN" ]]; then + if ! [[ "$VIASH_PAR_GIBBS_BURNIN" =~ ^[-+]?[0-9]+$ ]]; then + ViashError '--gibbs_burnin' has to be an integer. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_GIBBS_NUMBER_OF_SAMPLES" ]]; then + if ! [[ "$VIASH_PAR_GIBBS_NUMBER_OF_SAMPLES" =~ ^[-+]?[0-9]+$ ]]; then + ViashError '--gibbs_number_of_samples' has to be an integer. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_GIBBS_SAMPLING_GAP" ]]; then + if ! [[ "$VIASH_PAR_GIBBS_SAMPLING_GAP" =~ ^[-+]?[0-9]+$ ]]; then + ViashError '--gibbs_sampling_gap' has to be an integer. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_CI_CREDIBILITY_LEVEL" ]]; then + if ! [[ "$VIASH_PAR_CI_CREDIBILITY_LEVEL" =~ ^[-+]?(\.[0-9]+|[0-9]+(\.[0-9]*)?)([eE][-+]?[0-9]+)?$ ]]; then + ViashError '--ci_credibility_level' has to be a double. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_CI_NUMBER_OF_SAMPLES_PER_COUNT_VECTOR" ]]; then + if ! [[ "$VIASH_PAR_CI_NUMBER_OF_SAMPLES_PER_COUNT_VECTOR" =~ ^[-+]?[0-9]+$ ]]; then + ViashError '--ci_number_of_samples_per_count_vector' has to be an integer. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_KEEP_INTERMEDIATE_FILES" ]]; then + if ! [[ "$VIASH_PAR_KEEP_INTERMEDIATE_FILES" =~ ^(true|True|TRUE|false|False|FALSE|yes|Yes|YES|no|No|NO)$ ]]; then + ViashError '--keep_intermediate_files' has to be a boolean_true. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_TIME" ]]; then + if ! [[ "$VIASH_PAR_TIME" =~ ^(true|True|TRUE|false|False|FALSE|yes|Yes|YES|no|No|NO)$ ]]; then + ViashError '--time' has to be a boolean_true. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_RUN_PRSEM" ]]; then + if ! [[ "$VIASH_PAR_RUN_PRSEM" =~ ^(true|True|TRUE|false|False|FALSE|yes|Yes|YES|no|No|NO)$ ]]; then + ViashError '--run_pRSEM' has to be a boolean_true. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_CAP_STACKED_CHIPSEQ_READS" ]]; then + if ! [[ "$VIASH_PAR_CAP_STACKED_CHIPSEQ_READS" =~ ^(true|True|TRUE|false|False|FALSE|yes|Yes|YES|no|No|NO)$ ]]; then + ViashError '--cap_stacked_chipseq_reads' has to be a boolean_true. Use "--help" to get more information on the parameters. + exit 1 + fi +fi +if [[ -n "$VIASH_PAR_N_MAX_STACKED_CHIPSEQ_READS" ]]; then + if ! [[ "$VIASH_PAR_N_MAX_STACKED_CHIPSEQ_READS" =~ ^[-+]?[0-9]+$ ]]; then + ViashError '--n_max_stacked_chipseq_reads' has to be an integer. 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 + +# check whether value is belongs to a set of choices +if [ ! -z "$VIASH_PAR_STRANDEDNESS" ]; then + VIASH_PAR_STRANDEDNESS_CHOICES=("forward;reverse;unstranded") + IFS=';' + set -f + if ! [[ ";${VIASH_PAR_STRANDEDNESS_CHOICES[*]};" =~ ";$VIASH_PAR_STRANDEDNESS;" ]]; then + ViashError '--strandedness' specified value of \'$VIASH_PAR_STRANDEDNESS\' is not in the list of allowed values. Use "--help" to get more information on the parameters. + exit 1 + fi + set +f + unset IFS +fi + +if [ ! -z "$VIASH_PAR_BOWTIE_N" ]; then + VIASH_PAR_BOWTIE_N_CHOICES=("0;1;2;3") + IFS=';' + set -f + if ! [[ ";${VIASH_PAR_BOWTIE_N_CHOICES[*]};" =~ ";$VIASH_PAR_BOWTIE_N;" ]]; then + ViashError '--bowtie_n' specified value of \'$VIASH_PAR_BOWTIE_N\' is not in the list of allowed values. Use "--help" to get more information on the parameters. + exit 1 + fi + set +f + unset IFS +fi + +if [ ! -z "$VIASH_PAR_BOWTIE2_SENSITIVITY_LEVEL" ]; then + VIASH_PAR_BOWTIE2_SENSITIVITY_LEVEL_CHOICES=("very_fast;fast;sensitive;very_sensitive") + IFS=';' + set -f + if ! [[ ";${VIASH_PAR_BOWTIE2_SENSITIVITY_LEVEL_CHOICES[*]};" =~ ";$VIASH_PAR_BOWTIE2_SENSITIVITY_LEVEL;" ]]; then + ViashError '--bowtie2_sensitivity_level' specified value of \'$VIASH_PAR_BOWTIE2_SENSITIVITY_LEVEL\' is not in the list of allowed values. Use "--help" to get more information on the parameters. + exit 1 + fi + set +f + unset IFS +fi + +# create parent directories of output files, if so desired +if [ ! -z "$VIASH_PAR_COUNTS_GENE" ] && [ ! -d "$(dirname "$VIASH_PAR_COUNTS_GENE")" ]; then + mkdir -p "$(dirname "$VIASH_PAR_COUNTS_GENE")" +fi +if [ ! -z "$VIASH_PAR_COUNTS_TRANSCRIPTS" ] && [ ! -d "$(dirname "$VIASH_PAR_COUNTS_TRANSCRIPTS")" ]; then + mkdir -p "$(dirname "$VIASH_PAR_COUNTS_TRANSCRIPTS")" +fi +if [ ! -z "$VIASH_PAR_STAT" ] && [ ! -d "$(dirname "$VIASH_PAR_STAT")" ]; then + mkdir -p "$(dirname "$VIASH_PAR_STAT")" +fi +if [ ! -z "$VIASH_PAR_LOGS" ] && [ ! -d "$(dirname "$VIASH_PAR_LOGS")" ]; then + mkdir -p "$(dirname "$VIASH_PAR_LOGS")" +fi +if [ ! -z "$VIASH_PAR_BAM_STAR" ] && [ ! -d "$(dirname "$VIASH_PAR_BAM_STAR")" ]; then + mkdir -p "$(dirname "$VIASH_PAR_BAM_STAR")" +fi +if [ ! -z "$VIASH_PAR_BAM_GENOME" ] && [ ! -d "$(dirname "$VIASH_PAR_BAM_GENOME")" ]; then + mkdir -p "$(dirname "$VIASH_PAR_BAM_GENOME")" +fi +if [ ! -z "$VIASH_PAR_BAM_TRANSCRIPT" ] && [ ! -d "$(dirname "$VIASH_PAR_BAM_TRANSCRIPT")" ]; then + mkdir -p "$(dirname "$VIASH_PAR_BAM_TRANSCRIPT")" +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_INPUT" ]; then + VIASH_TEST_INPUT=() + IFS=';' + for var in $VIASH_PAR_INPUT; do + unset IFS + VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$var")" ) + var=$(ViashDockerAutodetectMount "$var") + VIASH_TEST_INPUT+=( "$var" ) + done + VIASH_PAR_INPUT=$(IFS=';' ; echo "${VIASH_TEST_INPUT[*]}") +fi +if [ ! -z "$VIASH_PAR_INDEX" ]; then + VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_INDEX")" ) + VIASH_PAR_INDEX=$(ViashDockerAutodetectMount "$VIASH_PAR_INDEX") +fi +if [ ! -z "$VIASH_PAR_COUNTS_GENE" ]; then + VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_COUNTS_GENE")" ) + VIASH_PAR_COUNTS_GENE=$(ViashDockerAutodetectMount "$VIASH_PAR_COUNTS_GENE") + VIASH_CHOWN_VARS+=( "$VIASH_PAR_COUNTS_GENE" ) +fi +if [ ! -z "$VIASH_PAR_COUNTS_TRANSCRIPTS" ]; then + VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_COUNTS_TRANSCRIPTS")" ) + VIASH_PAR_COUNTS_TRANSCRIPTS=$(ViashDockerAutodetectMount "$VIASH_PAR_COUNTS_TRANSCRIPTS") + VIASH_CHOWN_VARS+=( "$VIASH_PAR_COUNTS_TRANSCRIPTS" ) +fi +if [ ! -z "$VIASH_PAR_STAT" ]; then + VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_STAT")" ) + VIASH_PAR_STAT=$(ViashDockerAutodetectMount "$VIASH_PAR_STAT") + VIASH_CHOWN_VARS+=( "$VIASH_PAR_STAT" ) +fi +if [ ! -z "$VIASH_PAR_LOGS" ]; then + VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_LOGS")" ) + VIASH_PAR_LOGS=$(ViashDockerAutodetectMount "$VIASH_PAR_LOGS") + VIASH_CHOWN_VARS+=( "$VIASH_PAR_LOGS" ) +fi +if [ ! -z "$VIASH_PAR_BAM_STAR" ]; then + VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_BAM_STAR")" ) + VIASH_PAR_BAM_STAR=$(ViashDockerAutodetectMount "$VIASH_PAR_BAM_STAR") + VIASH_CHOWN_VARS+=( "$VIASH_PAR_BAM_STAR" ) +fi +if [ ! -z "$VIASH_PAR_BAM_GENOME" ]; then + VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_BAM_GENOME")" ) + VIASH_PAR_BAM_GENOME=$(ViashDockerAutodetectMount "$VIASH_PAR_BAM_GENOME") + VIASH_CHOWN_VARS+=( "$VIASH_PAR_BAM_GENOME" ) +fi +if [ ! -z "$VIASH_PAR_BAM_TRANSCRIPT" ]; then + VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_BAM_TRANSCRIPT")" ) + VIASH_PAR_BAM_TRANSCRIPT=$(ViashDockerAutodetectMount "$VIASH_PAR_BAM_TRANSCRIPT") + VIASH_CHOWN_VARS+=( "$VIASH_PAR_BAM_TRANSCRIPT" ) +fi +if [ ! -z "$VIASH_PAR_FAI" ]; then + VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_FAI")" ) + VIASH_PAR_FAI=$(ViashDockerAutodetectMount "$VIASH_PAR_FAI") +fi +if [ ! -z "$VIASH_PAR_CHIPSEQ_PEAK_FILE" ]; then + VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_CHIPSEQ_PEAK_FILE")" ) + VIASH_PAR_CHIPSEQ_PEAK_FILE=$(ViashDockerAutodetectMount "$VIASH_PAR_CHIPSEQ_PEAK_FILE") +fi +if [ ! -z "$VIASH_PAR_CHIPSEQ_TARGET_READ_FILES" ]; then + VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_CHIPSEQ_TARGET_READ_FILES")" ) + VIASH_PAR_CHIPSEQ_TARGET_READ_FILES=$(ViashDockerAutodetectMount "$VIASH_PAR_CHIPSEQ_TARGET_READ_FILES") +fi +if [ ! -z "$VIASH_PAR_CHIPSEQ_CONTROL_READ_FILES" ]; then + VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_CHIPSEQ_CONTROL_READ_FILES")" ) + VIASH_PAR_CHIPSEQ_CONTROL_READ_FILES=$(ViashDockerAutodetectMount "$VIASH_PAR_CHIPSEQ_CONTROL_READ_FILES") +fi +if [ ! -z "$VIASH_PAR_CHIPSEQ_READ_FILES_MULTI_TARGETS" ]; then + VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_CHIPSEQ_READ_FILES_MULTI_TARGETS")" ) + VIASH_PAR_CHIPSEQ_READ_FILES_MULTI_TARGETS=$(ViashDockerAutodetectMount "$VIASH_PAR_CHIPSEQ_READ_FILES_MULTI_TARGETS") +fi +if [ ! -z "$VIASH_PAR_CHIPSEQ_BED_FILES_MULTI_TARGETS" ]; then + VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_CHIPSEQ_BED_FILES_MULTI_TARGETS")" ) + VIASH_PAR_CHIPSEQ_BED_FILES_MULTI_TARGETS=$(ViashDockerAutodetectMount "$VIASH_PAR_CHIPSEQ_BED_FILES_MULTI_TARGETS") +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-rsem_calculate_expression-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 + +## VIASH START +# The following code has been auto-generated by Viash. +$( if [ ! -z ${VIASH_PAR_ID+x} ]; then echo "${VIASH_PAR_ID}" | sed "s#'#'\"'\"'#g;s#.*#par_id='&'#" ; else echo "# par_id="; fi ) +$( if [ ! -z ${VIASH_PAR_STRANDEDNESS+x} ]; then echo "${VIASH_PAR_STRANDEDNESS}" | sed "s#'#'\"'\"'#g;s#.*#par_strandedness='&'#" ; else echo "# par_strandedness="; fi ) +$( if [ ! -z ${VIASH_PAR_PAIRED+x} ]; then echo "${VIASH_PAR_PAIRED}" | sed "s#'#'\"'\"'#g;s#.*#par_paired='&'#" ; else echo "# par_paired="; fi ) +$( if [ ! -z ${VIASH_PAR_INPUT+x} ]; then echo "${VIASH_PAR_INPUT}" | sed "s#'#'\"'\"'#g;s#.*#par_input='&'#" ; else echo "# par_input="; fi ) +$( if [ ! -z ${VIASH_PAR_INDEX+x} ]; then echo "${VIASH_PAR_INDEX}" | sed "s#'#'\"'\"'#g;s#.*#par_index='&'#" ; else echo "# par_index="; fi ) +$( if [ ! -z ${VIASH_PAR_EXTRA_ARGS+x} ]; then echo "${VIASH_PAR_EXTRA_ARGS}" | sed "s#'#'\"'\"'#g;s#.*#par_extra_args='&'#" ; else echo "# par_extra_args="; fi ) +$( if [ ! -z ${VIASH_PAR_COUNTS_GENE+x} ]; then echo "${VIASH_PAR_COUNTS_GENE}" | sed "s#'#'\"'\"'#g;s#.*#par_counts_gene='&'#" ; else echo "# par_counts_gene="; fi ) +$( if [ ! -z ${VIASH_PAR_COUNTS_TRANSCRIPTS+x} ]; then echo "${VIASH_PAR_COUNTS_TRANSCRIPTS}" | sed "s#'#'\"'\"'#g;s#.*#par_counts_transcripts='&'#" ; else echo "# par_counts_transcripts="; fi ) +$( if [ ! -z ${VIASH_PAR_STAT+x} ]; then echo "${VIASH_PAR_STAT}" | sed "s#'#'\"'\"'#g;s#.*#par_stat='&'#" ; else echo "# par_stat="; fi ) +$( if [ ! -z ${VIASH_PAR_LOGS+x} ]; then echo "${VIASH_PAR_LOGS}" | sed "s#'#'\"'\"'#g;s#.*#par_logs='&'#" ; else echo "# par_logs="; fi ) +$( if [ ! -z ${VIASH_PAR_BAM_STAR+x} ]; then echo "${VIASH_PAR_BAM_STAR}" | sed "s#'#'\"'\"'#g;s#.*#par_bam_star='&'#" ; else echo "# par_bam_star="; fi ) +$( if [ ! -z ${VIASH_PAR_BAM_GENOME+x} ]; then echo "${VIASH_PAR_BAM_GENOME}" | sed "s#'#'\"'\"'#g;s#.*#par_bam_genome='&'#" ; else echo "# par_bam_genome="; fi ) +$( if [ ! -z ${VIASH_PAR_BAM_TRANSCRIPT+x} ]; then echo "${VIASH_PAR_BAM_TRANSCRIPT}" | sed "s#'#'\"'\"'#g;s#.*#par_bam_transcript='&'#" ; else echo "# par_bam_transcript="; fi ) +$( if [ ! -z ${VIASH_PAR_SORT_BAM_BY_READ_NAME+x} ]; then echo "${VIASH_PAR_SORT_BAM_BY_READ_NAME}" | sed "s#'#'\"'\"'#g;s#.*#par_sort_bam_by_read_name='&'#" ; else echo "# par_sort_bam_by_read_name="; fi ) +$( if [ ! -z ${VIASH_PAR_NO_BAM_OUTPUT+x} ]; then echo "${VIASH_PAR_NO_BAM_OUTPUT}" | sed "s#'#'\"'\"'#g;s#.*#par_no_bam_output='&'#" ; else echo "# par_no_bam_output="; fi ) +$( if [ ! -z ${VIASH_PAR_SAMPLING_FOR_BAM+x} ]; then echo "${VIASH_PAR_SAMPLING_FOR_BAM}" | sed "s#'#'\"'\"'#g;s#.*#par_sampling_for_bam='&'#" ; else echo "# par_sampling_for_bam="; fi ) +$( if [ ! -z ${VIASH_PAR_OUTPUT_GENOME_BAM+x} ]; then echo "${VIASH_PAR_OUTPUT_GENOME_BAM}" | sed "s#'#'\"'\"'#g;s#.*#par_output_genome_bam='&'#" ; else echo "# par_output_genome_bam="; fi ) +$( if [ ! -z ${VIASH_PAR_SORT_BAM_BY_COORDINATE+x} ]; then echo "${VIASH_PAR_SORT_BAM_BY_COORDINATE}" | sed "s#'#'\"'\"'#g;s#.*#par_sort_bam_by_coordinate='&'#" ; else echo "# par_sort_bam_by_coordinate="; fi ) +$( if [ ! -z ${VIASH_PAR_NO_QUALITIES+x} ]; then echo "${VIASH_PAR_NO_QUALITIES}" | sed "s#'#'\"'\"'#g;s#.*#par_no_qualities='&'#" ; else echo "# par_no_qualities="; fi ) +$( if [ ! -z ${VIASH_PAR_ALIGNMENTS+x} ]; then echo "${VIASH_PAR_ALIGNMENTS}" | sed "s#'#'\"'\"'#g;s#.*#par_alignments='&'#" ; else echo "# par_alignments="; fi ) +$( if [ ! -z ${VIASH_PAR_FAI+x} ]; then echo "${VIASH_PAR_FAI}" | sed "s#'#'\"'\"'#g;s#.*#par_fai='&'#" ; else echo "# par_fai="; fi ) +$( if [ ! -z ${VIASH_PAR_BOWTIE2+x} ]; then echo "${VIASH_PAR_BOWTIE2}" | sed "s#'#'\"'\"'#g;s#.*#par_bowtie2='&'#" ; else echo "# par_bowtie2="; fi ) +$( if [ ! -z ${VIASH_PAR_STAR+x} ]; then echo "${VIASH_PAR_STAR}" | sed "s#'#'\"'\"'#g;s#.*#par_star='&'#" ; else echo "# par_star="; fi ) +$( if [ ! -z ${VIASH_PAR_HISAT2_HCA+x} ]; then echo "${VIASH_PAR_HISAT2_HCA}" | sed "s#'#'\"'\"'#g;s#.*#par_hisat2_hca='&'#" ; else echo "# par_hisat2_hca="; fi ) +$( if [ ! -z ${VIASH_PAR_APPEND_NAMES+x} ]; then echo "${VIASH_PAR_APPEND_NAMES}" | sed "s#'#'\"'\"'#g;s#.*#par_append_names='&'#" ; else echo "# par_append_names="; fi ) +$( if [ ! -z ${VIASH_PAR_SEED+x} ]; then echo "${VIASH_PAR_SEED}" | sed "s#'#'\"'\"'#g;s#.*#par_seed='&'#" ; else echo "# par_seed="; fi ) +$( if [ ! -z ${VIASH_PAR_SINGLE_CELL_PRIOR+x} ]; then echo "${VIASH_PAR_SINGLE_CELL_PRIOR}" | sed "s#'#'\"'\"'#g;s#.*#par_single_cell_prior='&'#" ; else echo "# par_single_cell_prior="; fi ) +$( if [ ! -z ${VIASH_PAR_CALC_PME+x} ]; then echo "${VIASH_PAR_CALC_PME}" | sed "s#'#'\"'\"'#g;s#.*#par_calc_pme='&'#" ; else echo "# par_calc_pme="; fi ) +$( if [ ! -z ${VIASH_PAR_CALC_CI+x} ]; then echo "${VIASH_PAR_CALC_CI}" | sed "s#'#'\"'\"'#g;s#.*#par_calc_ci='&'#" ; else echo "# par_calc_ci="; fi ) +$( if [ ! -z ${VIASH_PAR_QUIET+x} ]; then echo "${VIASH_PAR_QUIET}" | sed "s#'#'\"'\"'#g;s#.*#par_quiet='&'#" ; else echo "# par_quiet="; fi ) +$( if [ ! -z ${VIASH_PAR_SEED_LENGTH+x} ]; then echo "${VIASH_PAR_SEED_LENGTH}" | sed "s#'#'\"'\"'#g;s#.*#par_seed_length='&'#" ; else echo "# par_seed_length="; fi ) +$( if [ ! -z ${VIASH_PAR_PHRED64_QUALS+x} ]; then echo "${VIASH_PAR_PHRED64_QUALS}" | sed "s#'#'\"'\"'#g;s#.*#par_phred64_quals='&'#" ; else echo "# par_phred64_quals="; fi ) +$( if [ ! -z ${VIASH_PAR_SOLEXA_QUALS+x} ]; then echo "${VIASH_PAR_SOLEXA_QUALS}" | sed "s#'#'\"'\"'#g;s#.*#par_solexa_quals='&'#" ; else echo "# par_solexa_quals="; fi ) +$( if [ ! -z ${VIASH_PAR_BOWTIE_N+x} ]; then echo "${VIASH_PAR_BOWTIE_N}" | sed "s#'#'\"'\"'#g;s#.*#par_bowtie_n='&'#" ; else echo "# par_bowtie_n="; fi ) +$( if [ ! -z ${VIASH_PAR_BOWTIE_E+x} ]; then echo "${VIASH_PAR_BOWTIE_E}" | sed "s#'#'\"'\"'#g;s#.*#par_bowtie_e='&'#" ; else echo "# par_bowtie_e="; fi ) +$( if [ ! -z ${VIASH_PAR_BOWTIE_M+x} ]; then echo "${VIASH_PAR_BOWTIE_M}" | sed "s#'#'\"'\"'#g;s#.*#par_bowtie_m='&'#" ; else echo "# par_bowtie_m="; fi ) +$( if [ ! -z ${VIASH_PAR_BOWTIE_CHUNKMBS+x} ]; then echo "${VIASH_PAR_BOWTIE_CHUNKMBS}" | sed "s#'#'\"'\"'#g;s#.*#par_bowtie_chunkmbs='&'#" ; else echo "# par_bowtie_chunkmbs="; fi ) +$( if [ ! -z ${VIASH_PAR_BOWTIE2_MISMATCH_RATE+x} ]; then echo "${VIASH_PAR_BOWTIE2_MISMATCH_RATE}" | sed "s#'#'\"'\"'#g;s#.*#par_bowtie2_mismatch_rate='&'#" ; else echo "# par_bowtie2_mismatch_rate="; fi ) +$( if [ ! -z ${VIASH_PAR_BOWTIE2_K+x} ]; then echo "${VIASH_PAR_BOWTIE2_K}" | sed "s#'#'\"'\"'#g;s#.*#par_bowtie2_k='&'#" ; else echo "# par_bowtie2_k="; fi ) +$( if [ ! -z ${VIASH_PAR_BOWTIE2_SENSITIVITY_LEVEL+x} ]; then echo "${VIASH_PAR_BOWTIE2_SENSITIVITY_LEVEL}" | sed "s#'#'\"'\"'#g;s#.*#par_bowtie2_sensitivity_level='&'#" ; else echo "# par_bowtie2_sensitivity_level="; fi ) +$( if [ ! -z ${VIASH_PAR_STAR_GZIPPED_READ_FILE+x} ]; then echo "${VIASH_PAR_STAR_GZIPPED_READ_FILE}" | sed "s#'#'\"'\"'#g;s#.*#par_star_gzipped_read_file='&'#" ; else echo "# par_star_gzipped_read_file="; fi ) +$( if [ ! -z ${VIASH_PAR_STAR_BZIPPED_READ_FILE+x} ]; then echo "${VIASH_PAR_STAR_BZIPPED_READ_FILE}" | sed "s#'#'\"'\"'#g;s#.*#par_star_bzipped_read_file='&'#" ; else echo "# par_star_bzipped_read_file="; fi ) +$( if [ ! -z ${VIASH_PAR_STAR_OUTPUT_GENOME_BAM+x} ]; then echo "${VIASH_PAR_STAR_OUTPUT_GENOME_BAM}" | sed "s#'#'\"'\"'#g;s#.*#par_star_output_genome_bam='&'#" ; else echo "# par_star_output_genome_bam="; fi ) +$( if [ ! -z ${VIASH_PAR_TAG+x} ]; then echo "${VIASH_PAR_TAG}" | sed "s#'#'\"'\"'#g;s#.*#par_tag='&'#" ; else echo "# par_tag="; fi ) +$( if [ ! -z ${VIASH_PAR_FRAGMENT_LENGTH_MIN+x} ]; then echo "${VIASH_PAR_FRAGMENT_LENGTH_MIN}" | sed "s#'#'\"'\"'#g;s#.*#par_fragment_length_min='&'#" ; else echo "# par_fragment_length_min="; fi ) +$( if [ ! -z ${VIASH_PAR_FRAGMENT_LENGTH_MAX+x} ]; then echo "${VIASH_PAR_FRAGMENT_LENGTH_MAX}" | sed "s#'#'\"'\"'#g;s#.*#par_fragment_length_max='&'#" ; else echo "# par_fragment_length_max="; fi ) +$( if [ ! -z ${VIASH_PAR_FRAGMENT_LENGTH_MEAN+x} ]; then echo "${VIASH_PAR_FRAGMENT_LENGTH_MEAN}" | sed "s#'#'\"'\"'#g;s#.*#par_fragment_length_mean='&'#" ; else echo "# par_fragment_length_mean="; fi ) +$( if [ ! -z ${VIASH_PAR_GRAGMENT_LENGTH_SD+x} ]; then echo "${VIASH_PAR_GRAGMENT_LENGTH_SD}" | sed "s#'#'\"'\"'#g;s#.*#par_gragment_length_sd='&'#" ; else echo "# par_gragment_length_sd="; fi ) +$( if [ ! -z ${VIASH_PAR_ESTIMATE_RSPD+x} ]; then echo "${VIASH_PAR_ESTIMATE_RSPD}" | sed "s#'#'\"'\"'#g;s#.*#par_estimate_rspd='&'#" ; else echo "# par_estimate_rspd="; fi ) +$( if [ ! -z ${VIASH_PAR_NUM_RSPD_BINS+x} ]; then echo "${VIASH_PAR_NUM_RSPD_BINS}" | sed "s#'#'\"'\"'#g;s#.*#par_num_rspd_bins='&'#" ; else echo "# par_num_rspd_bins="; fi ) +$( if [ ! -z ${VIASH_PAR_GIBBS_BURNIN+x} ]; then echo "${VIASH_PAR_GIBBS_BURNIN}" | sed "s#'#'\"'\"'#g;s#.*#par_gibbs_burnin='&'#" ; else echo "# par_gibbs_burnin="; fi ) +$( if [ ! -z ${VIASH_PAR_GIBBS_NUMBER_OF_SAMPLES+x} ]; then echo "${VIASH_PAR_GIBBS_NUMBER_OF_SAMPLES}" | sed "s#'#'\"'\"'#g;s#.*#par_gibbs_number_of_samples='&'#" ; else echo "# par_gibbs_number_of_samples="; fi ) +$( if [ ! -z ${VIASH_PAR_GIBBS_SAMPLING_GAP+x} ]; then echo "${VIASH_PAR_GIBBS_SAMPLING_GAP}" | sed "s#'#'\"'\"'#g;s#.*#par_gibbs_sampling_gap='&'#" ; else echo "# par_gibbs_sampling_gap="; fi ) +$( if [ ! -z ${VIASH_PAR_CI_CREDIBILITY_LEVEL+x} ]; then echo "${VIASH_PAR_CI_CREDIBILITY_LEVEL}" | sed "s#'#'\"'\"'#g;s#.*#par_ci_credibility_level='&'#" ; else echo "# par_ci_credibility_level="; fi ) +$( if [ ! -z ${VIASH_PAR_CI_NUMBER_OF_SAMPLES_PER_COUNT_VECTOR+x} ]; then echo "${VIASH_PAR_CI_NUMBER_OF_SAMPLES_PER_COUNT_VECTOR}" | sed "s#'#'\"'\"'#g;s#.*#par_ci_number_of_samples_per_count_vector='&'#" ; else echo "# par_ci_number_of_samples_per_count_vector="; fi ) +$( if [ ! -z ${VIASH_PAR_KEEP_INTERMEDIATE_FILES+x} ]; then echo "${VIASH_PAR_KEEP_INTERMEDIATE_FILES}" | sed "s#'#'\"'\"'#g;s#.*#par_keep_intermediate_files='&'#" ; else echo "# par_keep_intermediate_files="; fi ) +$( if [ ! -z ${VIASH_PAR_TEMPORARY_FOLDER+x} ]; then echo "${VIASH_PAR_TEMPORARY_FOLDER}" | sed "s#'#'\"'\"'#g;s#.*#par_temporary_folder='&'#" ; else echo "# par_temporary_folder="; fi ) +$( if [ ! -z ${VIASH_PAR_TIME+x} ]; then echo "${VIASH_PAR_TIME}" | sed "s#'#'\"'\"'#g;s#.*#par_time='&'#" ; else echo "# par_time="; fi ) +$( if [ ! -z ${VIASH_PAR_RUN_PRSEM+x} ]; then echo "${VIASH_PAR_RUN_PRSEM}" | sed "s#'#'\"'\"'#g;s#.*#par_run_pRSEM='&'#" ; else echo "# par_run_pRSEM="; fi ) +$( if [ ! -z ${VIASH_PAR_CHIPSEQ_PEAK_FILE+x} ]; then echo "${VIASH_PAR_CHIPSEQ_PEAK_FILE}" | sed "s#'#'\"'\"'#g;s#.*#par_chipseq_peak_file='&'#" ; else echo "# par_chipseq_peak_file="; fi ) +$( if [ ! -z ${VIASH_PAR_CHIPSEQ_TARGET_READ_FILES+x} ]; then echo "${VIASH_PAR_CHIPSEQ_TARGET_READ_FILES}" | sed "s#'#'\"'\"'#g;s#.*#par_chipseq_target_read_files='&'#" ; else echo "# par_chipseq_target_read_files="; fi ) +$( if [ ! -z ${VIASH_PAR_CHIPSEQ_CONTROL_READ_FILES+x} ]; then echo "${VIASH_PAR_CHIPSEQ_CONTROL_READ_FILES}" | sed "s#'#'\"'\"'#g;s#.*#par_chipseq_control_read_files='&'#" ; else echo "# par_chipseq_control_read_files="; fi ) +$( if [ ! -z ${VIASH_PAR_CHIPSEQ_READ_FILES_MULTI_TARGETS+x} ]; then echo "${VIASH_PAR_CHIPSEQ_READ_FILES_MULTI_TARGETS}" | sed "s#'#'\"'\"'#g;s#.*#par_chipseq_read_files_multi_targets='&'#" ; else echo "# par_chipseq_read_files_multi_targets="; fi ) +$( if [ ! -z ${VIASH_PAR_CHIPSEQ_BED_FILES_MULTI_TARGETS+x} ]; then echo "${VIASH_PAR_CHIPSEQ_BED_FILES_MULTI_TARGETS}" | sed "s#'#'\"'\"'#g;s#.*#par_chipseq_bed_files_multi_targets='&'#" ; else echo "# par_chipseq_bed_files_multi_targets="; fi ) +$( if [ ! -z ${VIASH_PAR_CAP_STACKED_CHIPSEQ_READS+x} ]; then echo "${VIASH_PAR_CAP_STACKED_CHIPSEQ_READS}" | sed "s#'#'\"'\"'#g;s#.*#par_cap_stacked_chipseq_reads='&'#" ; else echo "# par_cap_stacked_chipseq_reads="; fi ) +$( if [ ! -z ${VIASH_PAR_N_MAX_STACKED_CHIPSEQ_READS+x} ]; then echo "${VIASH_PAR_N_MAX_STACKED_CHIPSEQ_READS}" | sed "s#'#'\"'\"'#g;s#.*#par_n_max_stacked_chipseq_reads='&'#" ; else echo "# par_n_max_stacked_chipseq_reads="; fi ) +$( if [ ! -z ${VIASH_PAR_PARTITION_MODEL+x} ]; then echo "${VIASH_PAR_PARTITION_MODEL}" | sed "s#'#'\"'\"'#g;s#.*#par_partition_model='&'#" ; else echo "# par_partition_model="; 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 + +set -eo pipefail + +function clean_up { + rm -rf "\$tmpdir" +} +trap clean_up EXIT + +tmpdir=\$(mktemp -d "\$meta_temp_dir/\$meta_functionality_name-XXXXXXXX") + +if [ "\$par_strandedness" == 'forward' ]; then + strandedness='--strandedness forward' +elif [ "\$par_strandedness" == 'reverse' ]; then + strandedness="--strandedness reverse" +else + strandedness='' +fi + +IFS=";" read -ra input <<< \$par_input + +INDEX=\$(find -L \$meta_resources_dir/\$par_index -name "*.grp" | sed 's/\\.grp\$//') + +unset_if_false=( par_paired par_quiet par_no_bam_output par_sampling_for_bam par_no_qualities + par_alignments par_bowtie2 par_star par_hisat2_hca par_append_names + par_single_cell_prior par_calc_pme par_calc_ci par_phred64_quals + par_solexa_quals par_star_gzipped_read_file par_star_bzipped_read_file + par_star_output_genome_bam par_estimate_rspd par_keep_intermediate_files + par_time par_run_pRSEM par_cap_stacked_chipseq_reads par_sort_bam_by_read_name ) + +for par in \${unset_if_false[@]}; do + test_val="\${!par}" + [[ "\$test_val" == "false" ]] && unset \$par +done + +rsem-calculate-expression \\ + \${par_quiet:+-q} \\ + \${par_no_bam_output:+--no-bam-output} \\ + \${par_sampling_for_bam:+--sampling-for-bam} \\ + \${par_no_qualities:+--no-qualities} \\ + \${par_alignments:+--alignments} \\ + \${par_bowtie2:+--bowtie2} \\ + \${par_star:+--star} \\ + \${par_hisat2_hca:+--hisat2-hca} \\ + \${par_append_names:+--append-names} \\ + \${par_single_cell_prior:+--single-cell-prior} \\ + \${par_calc_pme:+--calc-pme} \\ + \${par_calc_ci:+--calc-ci} \\ + \${par_phred64_quals:+--phred64-quals} \\ + \${par_solexa_quals:+--solexa-quals} \\ + \${par_star_gzipped_read_file:+--star-gzipped-read-file} \\ + \${par_star_bzipped_read_file:+--star-bzipped-read-file} \\ + \${par_star_output_genome_bam:+--star-output-genome-bam} \\ + \${par_estimate_rspd:+--estimate-rspd} \\ + \${par_keep_intermediate_files:+--keep-intermediate-files} \\ + \${par_time:+--time} \\ + \${par_run_pRSEM:+--run-pRSEM} \\ + \${par_cap_stacked_chipseq_reads:+--cap-stacked-chipseq-reads} \\ + \${par_sort_bam_by_read_name:+--sort-bam-by-read-name} \\ + \${par_counts_gene:+--counts-gene "\$par_counts_gene"} \\ + \${par_counts_transcripts:+--counts-transcripts "\$par_counts_transcripts"} \\ + \${par_stat:+--stat "\$par_stat"} \\ + \${par_bam_star:+--bam-star "\$par_bam_star"} \\ + \${par_bam_genome:+--bam-genome "\$par_bam_genome"} \\ + \${par_bam_transcript:+--bam-transcript "\$par_bam_transcript"} \\ + \${par_fai:+--fai "\$par_fai"} \\ + \${par_seed:+--seed "\$par_seed"} \\ + \${par_seed_length:+--seed-length "\$par_seed_length"} \\ + \${par_bowtie_n:+--bowtie-n "\$par_bowtie_n"} \\ + \${par_bowtie_e:+--bowtie-e "\$par_bowtie_e"} \\ + \${par_bowtie_m:+--bowtie-m "\$par_bowtie_m"} \\ + \${par_bowtie_chunkmbs:+--bowtie-chunkmbs "\$par_bowtie_chunkmbs"} \\ + \${par_bowtie2_mismatch_rate:+--bowtie2-mismatch-rate "\$par_bowtie2_mismatch_rate"} \\ + \${par_bowtie2_k:+--bowtie2-k "\$par_bowtie2_k"} \\ + \${par_bowtie2_sensitivity_level:+--bowtie2-sensitivity-level "\$par_bowtie2_sensitivity_level"} \\ + \${par_tag:+--tag "\$par_tag"} \\ + \${par_fragment_length_min:+--fragment-length-min "\$par_fragment_length_min"} \\ + \${par_fragment_length_max:+--fragment-length-max "\$par_fragment_length_max"} \\ + \${par_fragment_length_mean:+--fragment-length-mean "\$par_fragment_length_mean"} \\ + \${par_fragment_length_sd:+--fragment-length-sd "\$par_fragment_length_sd"} \\ + \${par_num_rspd_bins:+--num-rspd-bins "\$par_num_rspd_bins"} \\ + \${par_gibbs_burnin:+--gibbs-burnin "\$par_gibbs_burnin"} \\ + \${par_gibbs_number_of_samples:+--gibbs-number-of-samples "\$par_gibbs_number_of_samples"} \\ + \${par_gibbs_sampling_gap:+--gibbs-sampling-gap "\$par_gibbs_sampling_gap"} \\ + \${par_ci_credibility_level:+--ci-credibility-level "\$par_ci_credibility_level"} \\ + \${par_ci_number_of_samples_per_count_vector:+--ci-number-of-samples-per-count-vector "\$par_ci_number_of_samples_per_count_vector"} \\ + \${par_temporary_folder:+--temporary-folder "\$par_temporary_folder"} \\ + \${par_chipseq_peak_file:+--chipseq-peak-file "\$par_chipseq_peak_file"} \\ + \${par_chipseq_target_read_files:+--chipseq-target-read-files "\$par_chipseq_target_read_files"} \\ + \${par_chipseq_control_read_files:+--chipseq-control-read-files "\$par_chipseq_control_read_files"} \\ + \${par_chipseq_read_files_multi_targets:+--chipseq-read-files-multi-targets "\$par_chipseq_read_files_multi_targets"} \\ + \${par_chipseq_bed_files_multi_targets:+--chipseq-bed-files-multi-targets "\$par_chipseq_bed_files_multi_targets"} \\ + \${par_n_max_stacked_chipseq_reads:+--n-max-stacked-chipseq-reads "\$par_n_max_stacked_chipseq_reads"} \\ + \${par_partition_model:+--partition-model "\$par_partition_model"} \\ + \$strandedness \\ + \${par_paired:+--paired-end} \\ + \${input[*]} \\ + \$INDEX \\ + \$par_id + +VIASHMAIN +bash "\$tempscript" & +wait "\$!" + +VIASHEOF + + +if [[ "$VIASH_ENGINE_TYPE" == "docker" ]]; then + # strip viash automount from file paths + + if [ ! -z "$VIASH_PAR_INPUT" ]; then + unset VIASH_TEST_INPUT + IFS=';' + for var in $VIASH_PAR_INPUT; do + unset IFS + if [ -z "$VIASH_TEST_INPUT" ]; then + VIASH_TEST_INPUT="$(ViashDockerStripAutomount "$var")" + else + VIASH_TEST_INPUT="$VIASH_TEST_INPUT;""$(ViashDockerStripAutomount "$var")" + fi + done + VIASH_PAR_INPUT="$VIASH_TEST_INPUT" + fi + if [ ! -z "$VIASH_PAR_INDEX" ]; then + VIASH_PAR_INDEX=$(ViashDockerStripAutomount "$VIASH_PAR_INDEX") + fi + if [ ! -z "$VIASH_PAR_COUNTS_GENE" ]; then + VIASH_PAR_COUNTS_GENE=$(ViashDockerStripAutomount "$VIASH_PAR_COUNTS_GENE") + fi + if [ ! -z "$VIASH_PAR_COUNTS_TRANSCRIPTS" ]; then + VIASH_PAR_COUNTS_TRANSCRIPTS=$(ViashDockerStripAutomount "$VIASH_PAR_COUNTS_TRANSCRIPTS") + fi + if [ ! -z "$VIASH_PAR_STAT" ]; then + VIASH_PAR_STAT=$(ViashDockerStripAutomount "$VIASH_PAR_STAT") + fi + if [ ! -z "$VIASH_PAR_LOGS" ]; then + VIASH_PAR_LOGS=$(ViashDockerStripAutomount "$VIASH_PAR_LOGS") + fi + if [ ! -z "$VIASH_PAR_BAM_STAR" ]; then + VIASH_PAR_BAM_STAR=$(ViashDockerStripAutomount "$VIASH_PAR_BAM_STAR") + fi + if [ ! -z "$VIASH_PAR_BAM_GENOME" ]; then + VIASH_PAR_BAM_GENOME=$(ViashDockerStripAutomount "$VIASH_PAR_BAM_GENOME") + fi + if [ ! -z "$VIASH_PAR_BAM_TRANSCRIPT" ]; then + VIASH_PAR_BAM_TRANSCRIPT=$(ViashDockerStripAutomount "$VIASH_PAR_BAM_TRANSCRIPT") + fi + if [ ! -z "$VIASH_PAR_FAI" ]; then + VIASH_PAR_FAI=$(ViashDockerStripAutomount "$VIASH_PAR_FAI") + fi + if [ ! -z "$VIASH_PAR_CHIPSEQ_PEAK_FILE" ]; then + VIASH_PAR_CHIPSEQ_PEAK_FILE=$(ViashDockerStripAutomount "$VIASH_PAR_CHIPSEQ_PEAK_FILE") + fi + if [ ! -z "$VIASH_PAR_CHIPSEQ_TARGET_READ_FILES" ]; then + VIASH_PAR_CHIPSEQ_TARGET_READ_FILES=$(ViashDockerStripAutomount "$VIASH_PAR_CHIPSEQ_TARGET_READ_FILES") + fi + if [ ! -z "$VIASH_PAR_CHIPSEQ_CONTROL_READ_FILES" ]; then + VIASH_PAR_CHIPSEQ_CONTROL_READ_FILES=$(ViashDockerStripAutomount "$VIASH_PAR_CHIPSEQ_CONTROL_READ_FILES") + fi + if [ ! -z "$VIASH_PAR_CHIPSEQ_READ_FILES_MULTI_TARGETS" ]; then + VIASH_PAR_CHIPSEQ_READ_FILES_MULTI_TARGETS=$(ViashDockerStripAutomount "$VIASH_PAR_CHIPSEQ_READ_FILES_MULTI_TARGETS") + fi + if [ ! -z "$VIASH_PAR_CHIPSEQ_BED_FILES_MULTI_TARGETS" ]; then + VIASH_PAR_CHIPSEQ_BED_FILES_MULTI_TARGETS=$(ViashDockerStripAutomount "$VIASH_PAR_CHIPSEQ_BED_FILES_MULTI_TARGETS") + 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_COUNTS_GENE" ] && [ ! -e "$VIASH_PAR_COUNTS_GENE" ]; then + ViashError "Output file '$VIASH_PAR_COUNTS_GENE' does not exist." + exit 1 +fi +if [ ! -z "$VIASH_PAR_COUNTS_TRANSCRIPTS" ] && [ ! -e "$VIASH_PAR_COUNTS_TRANSCRIPTS" ]; then + ViashError "Output file '$VIASH_PAR_COUNTS_TRANSCRIPTS' does not exist." + exit 1 +fi +if [ ! -z "$VIASH_PAR_STAT" ] && [ ! -e "$VIASH_PAR_STAT" ]; then + ViashError "Output file '$VIASH_PAR_STAT' does not exist." + exit 1 +fi +if [ ! -z "$VIASH_PAR_LOGS" ] && [ ! -e "$VIASH_PAR_LOGS" ]; then + ViashError "Output file '$VIASH_PAR_LOGS' does not exist." + exit 1 +fi +if [ ! -z "$VIASH_PAR_BAM_STAR" ] && [ ! -e "$VIASH_PAR_BAM_STAR" ]; then + ViashError "Output file '$VIASH_PAR_BAM_STAR' does not exist." + exit 1 +fi +if [ ! -z "$VIASH_PAR_BAM_GENOME" ] && [ ! -e "$VIASH_PAR_BAM_GENOME" ]; then + ViashError "Output file '$VIASH_PAR_BAM_GENOME' does not exist." + exit 1 +fi +if [ ! -z "$VIASH_PAR_BAM_TRANSCRIPT" ] && [ ! -e "$VIASH_PAR_BAM_TRANSCRIPT" ]; then + ViashError "Output file '$VIASH_PAR_BAM_TRANSCRIPT' does not exist." + exit 1 +fi + + +exit 0 diff --git a/target/executable/rsem/rsem_prepare_reference/.config.vsh.yaml b/target/executable/rsem/rsem_prepare_reference/.config.vsh.yaml index 3fe477a6..d9994a17 100644 --- a/target/executable/rsem/rsem_prepare_reference/.config.vsh.yaml +++ b/target/executable/rsem/rsem_prepare_reference/.config.vsh.yaml @@ -416,9 +416,9 @@ build_info: output: "target/executable/rsem/rsem_prepare_reference" executable: "target/executable/rsem/rsem_prepare_reference/rsem_prepare_reference" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/rsem/rsem_prepare_reference/rsem_prepare_reference b/target/executable/rsem/rsem_prepare_reference/rsem_prepare_reference index fcae0205..c9adbeab 100755 --- a/target/executable/rsem/rsem_prepare_reference/rsem_prepare_reference +++ b/target/executable/rsem/rsem_prepare_reference/rsem_prepare_reference @@ -656,9 +656,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="2024-09-17T09:52:55Z" +LABEL org.opencontainers.image.created="2024-09-18T13:53:03Z" LABEL org.opencontainers.image.source="https://github.com/deweylab/RSEM" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 4381c916..17acc89c 100644 --- a/target/executable/salmon/salmon_index/.config.vsh.yaml +++ b/target/executable/salmon/salmon_index/.config.vsh.yaml @@ -277,9 +277,9 @@ build_info: output: "target/executable/salmon/salmon_index" executable: "target/executable/salmon/salmon_index/salmon_index" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/salmon/salmon_index/salmon_index b/target/executable/salmon/salmon_index/salmon_index index 5feeef81..db5c7b16 100755 --- a/target/executable/salmon/salmon_index/salmon_index +++ b/target/executable/salmon/salmon_index/salmon_index @@ -546,9 +546,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="2024-09-17T09:52:59Z" +LABEL org.opencontainers.image.created="2024-09-18T13:53:08Z" LABEL org.opencontainers.image.source="https://github.com/COMBINE-lab/salmon" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 315c5050..f29e8ef8 100644 --- a/target/executable/salmon/salmon_quant/.config.vsh.yaml +++ b/target/executable/salmon/salmon_quant/.config.vsh.yaml @@ -1173,9 +1173,9 @@ build_info: output: "target/executable/salmon/salmon_quant" executable: "target/executable/salmon/salmon_quant/salmon_quant" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/salmon/salmon_quant/salmon_quant b/target/executable/salmon/salmon_quant/salmon_quant index 709104a7..96daf2a8 100755 --- a/target/executable/salmon/salmon_quant/salmon_quant +++ b/target/executable/salmon/salmon_quant/salmon_quant @@ -1168,9 +1168,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="2024-09-17T09:53:00Z" +LABEL org.opencontainers.image.created="2024-09-18T13:53:09Z" LABEL org.opencontainers.image.source="https://github.com/COMBINE-lab/salmon" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 de54f4ff..af39442a 100644 --- a/target/executable/samtools/samtools_collate/.config.vsh.yaml +++ b/target/executable/samtools/samtools_collate/.config.vsh.yaml @@ -264,9 +264,9 @@ build_info: output: "target/executable/samtools/samtools_collate" executable: "target/executable/samtools/samtools_collate/samtools_collate" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/samtools/samtools_collate/samtools_collate b/target/executable/samtools/samtools_collate/samtools_collate index af59697f..07bd0d13 100755 --- a/target/executable/samtools/samtools_collate/samtools_collate +++ b/target/executable/samtools/samtools_collate/samtools_collate @@ -519,9 +519,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="2024-09-17T09:52:47Z" +LABEL org.opencontainers.image.created="2024-09-18T13:52:54Z" LABEL org.opencontainers.image.source="https://github.com/samtools/samtools" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 4775bf9f..cd5d53e0 100644 --- a/target/executable/samtools/samtools_faidx/.config.vsh.yaml +++ b/target/executable/samtools/samtools_faidx/.config.vsh.yaml @@ -243,9 +243,9 @@ build_info: output: "target/executable/samtools/samtools_faidx" executable: "target/executable/samtools/samtools_faidx/samtools_faidx" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/samtools/samtools_faidx/samtools_faidx b/target/executable/samtools/samtools_faidx/samtools_faidx index 79de08c4..7ca56257 100755 --- a/target/executable/samtools/samtools_faidx/samtools_faidx +++ b/target/executable/samtools/samtools_faidx/samtools_faidx @@ -512,9 +512,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="2024-09-17T09:52:46Z" +LABEL org.opencontainers.image.created="2024-09-18T13:52:53Z" LABEL org.opencontainers.image.source="https://github.com/samtools/samtools" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 29dff720..d619939c 100644 --- a/target/executable/samtools/samtools_fasta/.config.vsh.yaml +++ b/target/executable/samtools/samtools_fasta/.config.vsh.yaml @@ -433,9 +433,9 @@ build_info: output: "target/executable/samtools/samtools_fasta" executable: "target/executable/samtools/samtools_fasta/samtools_fasta" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/samtools/samtools_fasta/samtools_fasta b/target/executable/samtools/samtools_fasta/samtools_fasta index 6f46d6fb..0fc52eec 100755 --- a/target/executable/samtools/samtools_fasta/samtools_fasta +++ b/target/executable/samtools/samtools_fasta/samtools_fasta @@ -625,9 +625,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="2024-09-17T09:52:47Z" +LABEL org.opencontainers.image.created="2024-09-18T13:52:54Z" LABEL org.opencontainers.image.source="https://github.com/samtools/samtools" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 22b89f32..8b8459c9 100644 --- a/target/executable/samtools/samtools_fastq/.config.vsh.yaml +++ b/target/executable/samtools/samtools_fastq/.config.vsh.yaml @@ -433,9 +433,9 @@ build_info: output: "target/executable/samtools/samtools_fastq" executable: "target/executable/samtools/samtools_fastq/samtools_fastq" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/samtools/samtools_fastq/samtools_fastq b/target/executable/samtools/samtools_fastq/samtools_fastq index cd868b51..2b3feeea 100755 --- a/target/executable/samtools/samtools_fastq/samtools_fastq +++ b/target/executable/samtools/samtools_fastq/samtools_fastq @@ -626,9 +626,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="2024-09-17T09:52:46Z" +LABEL org.opencontainers.image.created="2024-09-18T13:52:53Z" LABEL org.opencontainers.image.source="https://github.com/samtools/samtools" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 4d95ec15..ea0da349 100644 --- a/target/executable/samtools/samtools_flagstat/.config.vsh.yaml +++ b/target/executable/samtools/samtools_flagstat/.config.vsh.yaml @@ -173,9 +173,9 @@ build_info: output: "target/executable/samtools/samtools_flagstat" executable: "target/executable/samtools/samtools_flagstat/samtools_flagstat" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/samtools/samtools_flagstat/samtools_flagstat b/target/executable/samtools/samtools_flagstat/samtools_flagstat index 0142826d..c2bd99e3 100755 --- a/target/executable/samtools/samtools_flagstat/samtools_flagstat +++ b/target/executable/samtools/samtools_flagstat/samtools_flagstat @@ -474,9 +474,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="2024-09-17T09:52:46Z" +LABEL org.opencontainers.image.created="2024-09-18T13:52:53Z" LABEL org.opencontainers.image.source="https://github.com/samtools/samtools" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 7c31642a..31edb3b8 100644 --- a/target/executable/samtools/samtools_idxstats/.config.vsh.yaml +++ b/target/executable/samtools/samtools_idxstats/.config.vsh.yaml @@ -183,9 +183,9 @@ build_info: output: "target/executable/samtools/samtools_idxstats" executable: "target/executable/samtools/samtools_idxstats/samtools_idxstats" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/samtools/samtools_idxstats/samtools_idxstats b/target/executable/samtools/samtools_idxstats/samtools_idxstats index 508beb3f..14a5ffc1 100755 --- a/target/executable/samtools/samtools_idxstats/samtools_idxstats +++ b/target/executable/samtools/samtools_idxstats/samtools_idxstats @@ -478,9 +478,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="2024-09-17T09:52:45Z" +LABEL org.opencontainers.image.created="2024-09-18T13:52:52Z" LABEL org.opencontainers.image.source="https://github.com/samtools/samtools" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 724d9dcd..fcc1901b 100644 --- a/target/executable/samtools/samtools_index/.config.vsh.yaml +++ b/target/executable/samtools/samtools_index/.config.vsh.yaml @@ -189,9 +189,9 @@ build_info: output: "target/executable/samtools/samtools_index" executable: "target/executable/samtools/samtools_index/samtools_index" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/samtools/samtools_index/samtools_index b/target/executable/samtools/samtools_index/samtools_index index 73ef0822..1d53492a 100755 --- a/target/executable/samtools/samtools_index/samtools_index +++ b/target/executable/samtools/samtools_index/samtools_index @@ -485,9 +485,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="2024-09-17T09:52:45Z" +LABEL org.opencontainers.image.created="2024-09-18T13:52:51Z" LABEL org.opencontainers.image.source="https://github.com/samtools/samtools" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 5b26eca6..d142e22b 100644 --- a/target/executable/samtools/samtools_sort/.config.vsh.yaml +++ b/target/executable/samtools/samtools_sort/.config.vsh.yaml @@ -332,9 +332,9 @@ build_info: output: "target/executable/samtools/samtools_sort" executable: "target/executable/samtools/samtools_sort/samtools_sort" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/samtools/samtools_sort/samtools_sort b/target/executable/samtools/samtools_sort/samtools_sort index 05f7adb1..b99c308b 100755 --- a/target/executable/samtools/samtools_sort/samtools_sort +++ b/target/executable/samtools/samtools_sort/samtools_sort @@ -556,9 +556,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="2024-09-17T09:52:47Z" +LABEL org.opencontainers.image.created="2024-09-18T13:52:54Z" LABEL org.opencontainers.image.source="https://github.com/samtools/samtools" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 2592ae0e..fb9a453c 100644 --- a/target/executable/samtools/samtools_stats/.config.vsh.yaml +++ b/target/executable/samtools/samtools_stats/.config.vsh.yaml @@ -401,9 +401,9 @@ build_info: output: "target/executable/samtools/samtools_stats" executable: "target/executable/samtools/samtools_stats/samtools_stats" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/samtools/samtools_stats/samtools_stats b/target/executable/samtools/samtools_stats/samtools_stats index ba74e5f2..9efd3b52 100755 --- a/target/executable/samtools/samtools_stats/samtools_stats +++ b/target/executable/samtools/samtools_stats/samtools_stats @@ -575,9 +575,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="2024-09-17T09:52:48Z" +LABEL org.opencontainers.image.created="2024-09-18T13:52:55Z" LABEL org.opencontainers.image.source="https://github.com/samtools/samtools" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 987a4d6b..00bd13cc 100644 --- a/target/executable/samtools/samtools_view/.config.vsh.yaml +++ b/target/executable/samtools/samtools_view/.config.vsh.yaml @@ -665,9 +665,9 @@ build_info: output: "target/executable/samtools/samtools_view" executable: "target/executable/samtools/samtools_view/samtools_view" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/samtools/samtools_view/samtools_view b/target/executable/samtools/samtools_view/samtools_view index b4f2c358..9712f377 100755 --- a/target/executable/samtools/samtools_view/samtools_view +++ b/target/executable/samtools/samtools_view/samtools_view @@ -825,9 +825,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="2024-09-17T09:52:45Z" +LABEL org.opencontainers.image.created="2024-09-18T13:52:52Z" LABEL org.opencontainers.image.source="https://github.com/samtools/samtools" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 5a92e809..619b9c7c 100644 --- a/target/executable/seqtk/seqtk_sample/.config.vsh.yaml +++ b/target/executable/seqtk/seqtk_sample/.config.vsh.yaml @@ -173,9 +173,9 @@ build_info: output: "target/executable/seqtk/seqtk_sample" executable: "target/executable/seqtk/seqtk_sample/seqtk_sample" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/seqtk/seqtk_sample/seqtk_sample b/target/executable/seqtk/seqtk_sample/seqtk_sample index adb62112..71b835ae 100755 --- a/target/executable/seqtk/seqtk_sample/seqtk_sample +++ b/target/executable/seqtk/seqtk_sample/seqtk_sample @@ -481,9 +481,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="2024-09-17T09:53:02Z" +LABEL org.opencontainers.image.created="2024-09-18T13:53:12Z" LABEL org.opencontainers.image.source="https://github.com/lh3/seqtk/tree/v1.4" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 17ed8e0f..597fa12c 100644 --- a/target/executable/seqtk/seqtk_subseq/.config.vsh.yaml +++ b/target/executable/seqtk/seqtk_subseq/.config.vsh.yaml @@ -196,9 +196,9 @@ build_info: output: "target/executable/seqtk/seqtk_subseq" executable: "target/executable/seqtk/seqtk_subseq/seqtk_subseq" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/seqtk/seqtk_subseq/seqtk_subseq b/target/executable/seqtk/seqtk_subseq/seqtk_subseq index be30cc4d..18dfd380 100755 --- a/target/executable/seqtk/seqtk_subseq/seqtk_subseq +++ b/target/executable/seqtk/seqtk_subseq/seqtk_subseq @@ -491,9 +491,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="2024-09-17T09:53:02Z" +LABEL org.opencontainers.image.created="2024-09-18T13:53:11Z" LABEL org.opencontainers.image.source="https://github.com/lh3/seqtk/tree/v1.4" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" LABEL org.opencontainers.image.version="main" VIASHDOCKER diff --git a/target/executable/sortmerna/.config.vsh.yaml b/target/executable/sortmerna/.config.vsh.yaml index fdee775f..f54f822c 100644 --- a/target/executable/sortmerna/.config.vsh.yaml +++ b/target/executable/sortmerna/.config.vsh.yaml @@ -591,9 +591,9 @@ build_info: output: "target/executable/sortmerna" executable: "target/executable/sortmerna/sortmerna" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/sortmerna/sortmerna b/target/executable/sortmerna/sortmerna index 89baeac8..cc0a79bc 100755 --- a/target/executable/sortmerna/sortmerna +++ b/target/executable/sortmerna/sortmerna @@ -744,9 +744,9 @@ wget --no-check-certificate https://github.com/sortmerna/sortmerna/releases/down bash sortmerna-4.3.6-Linux.sh --skip-license LABEL org.opencontainers.image.description="Companion container for running component sortmerna" -LABEL org.opencontainers.image.created="2024-09-17T09:52:58Z" +LABEL org.opencontainers.image.created="2024-09-18T13:53:07Z" LABEL org.opencontainers.image.source="https://github.com/sortmerna/sortmerna" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 61cf6b9a..0b8dc29f 100644 --- a/target/executable/star/star_align_reads/.config.vsh.yaml +++ b/target/executable/star/star_align_reads/.config.vsh.yaml @@ -2663,9 +2663,9 @@ build_info: output: "target/executable/star/star_align_reads" executable: "target/executable/star/star_align_reads/star_align_reads" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/star/star_align_reads/star_align_reads b/target/executable/star/star_align_reads/star_align_reads index 7a7943a7..304c69f4 100755 --- a/target/executable/star/star_align_reads/star_align_reads +++ b/target/executable/star/star_align_reads/star_align_reads @@ -1920,9 +1920,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="2024-09-17T09:52:53Z" +LABEL org.opencontainers.image.created="2024-09-18T13:53:01Z" LABEL org.opencontainers.image.source="https://github.com/alexdobin/STAR" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 51cd2da7..eca8a55f 100644 --- a/target/executable/star/star_genome_generate/.config.vsh.yaml +++ b/target/executable/star/star_genome_generate/.config.vsh.yaml @@ -333,9 +333,9 @@ build_info: output: "target/executable/star/star_genome_generate" executable: "target/executable/star/star_genome_generate/star_genome_generate" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/executable/star/star_genome_generate/star_genome_generate b/target/executable/star/star_genome_generate/star_genome_generate index 6eed10a7..0536f0a0 100755 --- a/target/executable/star/star_genome_generate/star_genome_generate +++ b/target/executable/star/star_genome_generate/star_genome_generate @@ -577,9 +577,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="2024-09-17T09:52:53Z" +LABEL org.opencontainers.image.created="2024-09-18T13:53:01Z" LABEL org.opencontainers.image.source="https://github.com/alexdobin/STAR" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 51a8c3bf..e156bf7d 100644 --- a/target/executable/umi_tools/umi_tools_dedup/.config.vsh.yaml +++ b/target/executable/umi_tools/umi_tools_dedup/.config.vsh.yaml @@ -611,9 +611,9 @@ 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.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" 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 7ea2edf1..4b9172f3 100755 --- a/target/executable/umi_tools/umi_tools_dedup/umi_tools_dedup +++ b/target/executable/umi_tools/umi_tools_dedup/umi_tools_dedup @@ -770,9 +770,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="2024-09-17T09:52:50Z" +LABEL org.opencontainers.image.created="2024-09-18T13:52:57Z" LABEL org.opencontainers.image.source="https://github.com/CGATOxford/UMI-tools" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 412b936c..0a6430db 100644 --- a/target/executable/umi_tools/umi_tools_extract/.config.vsh.yaml +++ b/target/executable/umi_tools/umi_tools_extract/.config.vsh.yaml @@ -449,9 +449,9 @@ 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.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" 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 197f81d1..2ed2593e 100755 --- a/target/executable/umi_tools/umi_tools_extract/umi_tools_extract +++ b/target/executable/umi_tools/umi_tools_extract/umi_tools_extract @@ -637,9 +637,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="2024-09-17T09:52:49Z" +LABEL org.opencontainers.image.created="2024-09-18T13:52:56Z" LABEL org.opencontainers.image.source="https://github.com/CGATOxford/UMI-tools" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 af9900d3..6494b1b0 100644 --- a/target/executable/umi_tools/umi_tools_prepareforrsem/.config.vsh.yaml +++ b/target/executable/umi_tools/umi_tools_prepareforrsem/.config.vsh.yaml @@ -256,9 +256,9 @@ 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.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" 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 f580cef1..1d0a5547 100755 --- a/target/executable/umi_tools/umi_tools_prepareforrsem/umi_tools_prepareforrsem +++ b/target/executable/umi_tools/umi_tools_prepareforrsem/umi_tools_prepareforrsem @@ -519,9 +519,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="2024-09-17T09:52:49Z" +LABEL org.opencontainers.image.created="2024-09-18T13:52:57Z" LABEL org.opencontainers.image.source="https://github.com/CGATOxford/UMI-tools" -LABEL org.opencontainers.image.revision="7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" +LABEL org.opencontainers.image.revision="619f1bbb6d040e650233d3b0380f5298e624ecef" 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 94ff04b3..719430fe 100644 --- a/target/nextflow/agat/agat_convert_bed2gff/.config.vsh.yaml +++ b/target/nextflow/agat/agat_convert_bed2gff/.config.vsh.yaml @@ -235,9 +235,9 @@ build_info: output: "target/nextflow/agat/agat_convert_bed2gff" executable: "target/nextflow/agat/agat_convert_bed2gff/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/agat/agat_convert_bed2gff/main.nf b/target/nextflow/agat/agat_convert_bed2gff/main.nf index fdd069c9..c984e874 100644 --- a/target/nextflow/agat/agat_convert_bed2gff/main.nf +++ b/target/nextflow/agat/agat_convert_bed2gff/main.nf @@ -3092,9 +3092,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/agat/agat_convert_bed2gff", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/agat/agat_convert_embl2gff/.config.vsh.yaml b/target/nextflow/agat/agat_convert_embl2gff/.config.vsh.yaml index fe85f58a..ce632332 100644 --- a/target/nextflow/agat/agat_convert_embl2gff/.config.vsh.yaml +++ b/target/nextflow/agat/agat_convert_embl2gff/.config.vsh.yaml @@ -225,9 +225,9 @@ build_info: output: "target/nextflow/agat/agat_convert_embl2gff" executable: "target/nextflow/agat/agat_convert_embl2gff/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/agat/agat_convert_embl2gff/main.nf b/target/nextflow/agat/agat_convert_embl2gff/main.nf index 2284cede..39cba057 100644 --- a/target/nextflow/agat/agat_convert_embl2gff/main.nf +++ b/target/nextflow/agat/agat_convert_embl2gff/main.nf @@ -3085,9 +3085,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/agat/agat_convert_embl2gff", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/agat/agat_convert_genscan2gff/.config.vsh.yaml b/target/nextflow/agat/agat_convert_genscan2gff/.config.vsh.yaml index d2851d2b..3e84ac5d 100644 --- a/target/nextflow/agat/agat_convert_genscan2gff/.config.vsh.yaml +++ b/target/nextflow/agat/agat_convert_genscan2gff/.config.vsh.yaml @@ -230,9 +230,9 @@ build_info: output: "target/nextflow/agat/agat_convert_genscan2gff" executable: "target/nextflow/agat/agat_convert_genscan2gff/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/agat/agat_convert_genscan2gff/main.nf b/target/nextflow/agat/agat_convert_genscan2gff/main.nf index cfedb6ce..3052cab3 100644 --- a/target/nextflow/agat/agat_convert_genscan2gff/main.nf +++ b/target/nextflow/agat/agat_convert_genscan2gff/main.nf @@ -3087,9 +3087,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/agat/agat_convert_genscan2gff", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", 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 379c6048..b62e8b23 100644 --- a/target/nextflow/agat/agat_convert_sp_gff2gtf/.config.vsh.yaml +++ b/target/nextflow/agat/agat_convert_sp_gff2gtf/.config.vsh.yaml @@ -228,9 +228,9 @@ build_info: output: "target/nextflow/agat/agat_convert_sp_gff2gtf" executable: "target/nextflow/agat/agat_convert_sp_gff2gtf/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/agat/agat_convert_sp_gff2gtf/main.nf b/target/nextflow/agat/agat_convert_sp_gff2gtf/main.nf index aa5c9414..bf756795 100644 --- a/target/nextflow/agat/agat_convert_sp_gff2gtf/main.nf +++ b/target/nextflow/agat/agat_convert_sp_gff2gtf/main.nf @@ -3068,9 +3068,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/agat/agat_convert_sp_gff2gtf", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", 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 3b8d0b27..c8123157 100644 --- a/target/nextflow/agat/agat_convert_sp_gff2tsv/.config.vsh.yaml +++ b/target/nextflow/agat/agat_convert_sp_gff2tsv/.config.vsh.yaml @@ -188,9 +188,9 @@ build_info: output: "target/nextflow/agat/agat_convert_sp_gff2tsv" executable: "target/nextflow/agat/agat_convert_sp_gff2tsv/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/agat/agat_convert_sp_gff2tsv/main.nf b/target/nextflow/agat/agat_convert_sp_gff2tsv/main.nf index f05ba36b..1e5d8bd3 100644 --- a/target/nextflow/agat/agat_convert_sp_gff2tsv/main.nf +++ b/target/nextflow/agat/agat_convert_sp_gff2tsv/main.nf @@ -3046,9 +3046,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/agat/agat_convert_sp_gff2tsv", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", 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 8d84a294..d7184539 100644 --- a/target/nextflow/agat/agat_convert_sp_gxf2gxf/.config.vsh.yaml +++ b/target/nextflow/agat/agat_convert_sp_gxf2gxf/.config.vsh.yaml @@ -195,9 +195,9 @@ build_info: output: "target/nextflow/agat/agat_convert_sp_gxf2gxf" executable: "target/nextflow/agat/agat_convert_sp_gxf2gxf/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/agat/agat_convert_sp_gxf2gxf/main.nf b/target/nextflow/agat/agat_convert_sp_gxf2gxf/main.nf index 53a02d3d..ebcdbc9b 100644 --- a/target/nextflow/agat/agat_convert_sp_gxf2gxf/main.nf +++ b/target/nextflow/agat/agat_convert_sp_gxf2gxf/main.nf @@ -3046,9 +3046,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/agat/agat_convert_sp_gxf2gxf", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/arriba/.config.vsh.yaml b/target/nextflow/arriba/.config.vsh.yaml index a986cbe8..2f127a7c 100644 --- a/target/nextflow/arriba/.config.vsh.yaml +++ b/target/nextflow/arriba/.config.vsh.yaml @@ -706,9 +706,9 @@ build_info: output: "target/nextflow/arriba" executable: "target/nextflow/arriba/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/arriba/main.nf b/target/nextflow/arriba/main.nf index 28faf6cc..459aac91 100644 --- a/target/nextflow/arriba/main.nf +++ b/target/nextflow/arriba/main.nf @@ -3592,9 +3592,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/arriba", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/bcftools/bcftools_annotate/.config.vsh.yaml b/target/nextflow/bcftools/bcftools_annotate/.config.vsh.yaml index 4c0c02e8..bb3c4f07 100644 --- a/target/nextflow/bcftools/bcftools_annotate/.config.vsh.yaml +++ b/target/nextflow/bcftools/bcftools_annotate/.config.vsh.yaml @@ -469,9 +469,9 @@ build_info: output: "target/nextflow/bcftools/bcftools_annotate" executable: "target/nextflow/bcftools/bcftools_annotate/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/bcftools/bcftools_annotate/main.nf b/target/nextflow/bcftools/bcftools_annotate/main.nf index 25c75dd0..5916902d 100644 --- a/target/nextflow/bcftools/bcftools_annotate/main.nf +++ b/target/nextflow/bcftools/bcftools_annotate/main.nf @@ -3335,9 +3335,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/bcftools/bcftools_annotate", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/bcftools/bcftools_concat/.config.vsh.yaml b/target/nextflow/bcftools/bcftools_concat/.config.vsh.yaml index 2badff0d..f4b5c920 100644 --- a/target/nextflow/bcftools/bcftools_concat/.config.vsh.yaml +++ b/target/nextflow/bcftools/bcftools_concat/.config.vsh.yaml @@ -335,9 +335,9 @@ build_info: output: "target/nextflow/bcftools/bcftools_concat" executable: "target/nextflow/bcftools/bcftools_concat/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/bcftools/bcftools_concat/main.nf b/target/nextflow/bcftools/bcftools_concat/main.nf index b2593745..303b2876 100644 --- a/target/nextflow/bcftools/bcftools_concat/main.nf +++ b/target/nextflow/bcftools/bcftools_concat/main.nf @@ -3207,9 +3207,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/bcftools/bcftools_concat", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/bcftools/bcftools_norm/.config.vsh.yaml b/target/nextflow/bcftools/bcftools_norm/.config.vsh.yaml index 48eb6c26..53aeb469 100644 --- a/target/nextflow/bcftools/bcftools_norm/.config.vsh.yaml +++ b/target/nextflow/bcftools/bcftools_norm/.config.vsh.yaml @@ -416,9 +416,9 @@ build_info: output: "target/nextflow/bcftools/bcftools_norm" executable: "target/nextflow/bcftools/bcftools_norm/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/bcftools/bcftools_norm/main.nf b/target/nextflow/bcftools/bcftools_norm/main.nf index f4a84b89..7e8e569b 100644 --- a/target/nextflow/bcftools/bcftools_norm/main.nf +++ b/target/nextflow/bcftools/bcftools_norm/main.nf @@ -3300,9 +3300,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/bcftools/bcftools_norm", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/bcftools/bcftools_sort/.config.vsh.yaml b/target/nextflow/bcftools/bcftools_sort/.config.vsh.yaml index 867b8a32..f34cec5b 100644 --- a/target/nextflow/bcftools/bcftools_sort/.config.vsh.yaml +++ b/target/nextflow/bcftools/bcftools_sort/.config.vsh.yaml @@ -185,9 +185,9 @@ build_info: output: "target/nextflow/bcftools/bcftools_sort" executable: "target/nextflow/bcftools/bcftools_sort/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/bcftools/bcftools_sort/main.nf b/target/nextflow/bcftools/bcftools_sort/main.nf index 7d352186..8b7159d1 100644 --- a/target/nextflow/bcftools/bcftools_sort/main.nf +++ b/target/nextflow/bcftools/bcftools_sort/main.nf @@ -3048,9 +3048,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/bcftools/bcftools_sort", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/bcftools/bcftools_stats/.config.vsh.yaml b/target/nextflow/bcftools/bcftools_stats/.config.vsh.yaml index cb2c93c5..93709993 100644 --- a/target/nextflow/bcftools/bcftools_stats/.config.vsh.yaml +++ b/target/nextflow/bcftools/bcftools_stats/.config.vsh.yaml @@ -458,9 +458,9 @@ build_info: output: "target/nextflow/bcftools/bcftools_stats" executable: "target/nextflow/bcftools/bcftools_stats/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/bcftools/bcftools_stats/main.nf b/target/nextflow/bcftools/bcftools_stats/main.nf index e20363b1..e620b237 100644 --- a/target/nextflow/bcftools/bcftools_stats/main.nf +++ b/target/nextflow/bcftools/bcftools_stats/main.nf @@ -3337,9 +3337,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/bcftools/bcftools_stats", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/bcl_convert/.config.vsh.yaml b/target/nextflow/bcl_convert/.config.vsh.yaml index 25bba776..4a930b93 100644 --- a/target/nextflow/bcl_convert/.config.vsh.yaml +++ b/target/nextflow/bcl_convert/.config.vsh.yaml @@ -418,9 +418,9 @@ build_info: output: "target/nextflow/bcl_convert" executable: "target/nextflow/bcl_convert/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/bcl_convert/main.nf b/target/nextflow/bcl_convert/main.nf index c6986226..95745903 100644 --- a/target/nextflow/bcl_convert/main.nf +++ b/target/nextflow/bcl_convert/main.nf @@ -3329,9 +3329,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/bcl_convert", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", 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 7ad958d7..c7bb39f8 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 @@ -274,9 +274,9 @@ 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.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" 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 be2be544..467a3618 100644 --- a/target/nextflow/bd_rhapsody/bd_rhapsody_make_reference/main.nf +++ b/target/nextflow/bd_rhapsody/bd_rhapsody_make_reference/main.nf @@ -3146,9 +3146,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/bd_rhapsody/bd_rhapsody_make_reference", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", 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 3bb5fe53..5502be04 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 @@ -1115,9 +1115,9 @@ 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.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" 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 1ed3af90..14f4e01e 100644 --- a/target/nextflow/bd_rhapsody/bd_rhapsody_sequence_analysis/main.nf +++ b/target/nextflow/bd_rhapsody/bd_rhapsody_sequence_analysis/main.nf @@ -4193,9 +4193,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/bd_rhapsody/bd_rhapsody_sequence_analysis", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/bedtools/bedtools_bamtofastq/.config.vsh.yaml b/target/nextflow/bedtools/bedtools_bamtofastq/.config.vsh.yaml index 15a3e51e..ea222c45 100644 --- a/target/nextflow/bedtools/bedtools_bamtofastq/.config.vsh.yaml +++ b/target/nextflow/bedtools/bedtools_bamtofastq/.config.vsh.yaml @@ -187,9 +187,9 @@ build_info: output: "target/nextflow/bedtools/bedtools_bamtofastq" executable: "target/nextflow/bedtools/bedtools_bamtofastq/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/bedtools/bedtools_bamtofastq/main.nf b/target/nextflow/bedtools/bedtools_bamtofastq/main.nf index 1d3dc63b..f158b971 100644 --- a/target/nextflow/bedtools/bedtools_bamtofastq/main.nf +++ b/target/nextflow/bedtools/bedtools_bamtofastq/main.nf @@ -3050,9 +3050,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/bedtools/bedtools_bamtofastq", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/bedtools/bedtools_bed12tobed6/.config.vsh.yaml b/target/nextflow/bedtools/bedtools_bed12tobed6/.config.vsh.yaml index d4aa90c4..ca38ca46 100644 --- a/target/nextflow/bedtools/bedtools_bed12tobed6/.config.vsh.yaml +++ b/target/nextflow/bedtools/bedtools_bed12tobed6/.config.vsh.yaml @@ -176,9 +176,9 @@ build_info: output: "target/nextflow/bedtools/bedtools_bed12tobed6" executable: "target/nextflow/bedtools/bedtools_bed12tobed6/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/bedtools/bedtools_bed12tobed6/main.nf b/target/nextflow/bedtools/bedtools_bed12tobed6/main.nf index ab58a24f..cc04d4be 100644 --- a/target/nextflow/bedtools/bedtools_bed12tobed6/main.nf +++ b/target/nextflow/bedtools/bedtools_bed12tobed6/main.nf @@ -3035,9 +3035,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/bedtools/bedtools_bed12tobed6", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/bedtools/bedtools_bedtobam/.config.vsh.yaml b/target/nextflow/bedtools/bedtools_bedtobam/.config.vsh.yaml index 734a7c86..ad910855 100644 --- a/target/nextflow/bedtools/bedtools_bedtobam/.config.vsh.yaml +++ b/target/nextflow/bedtools/bedtools_bedtobam/.config.vsh.yaml @@ -214,9 +214,9 @@ build_info: output: "target/nextflow/bedtools/bedtools_bedtobam" executable: "target/nextflow/bedtools/bedtools_bedtobam/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/bedtools/bedtools_bedtobam/main.nf b/target/nextflow/bedtools/bedtools_bedtobam/main.nf index 204dbd72..e6532b0a 100644 --- a/target/nextflow/bedtools/bedtools_bedtobam/main.nf +++ b/target/nextflow/bedtools/bedtools_bedtobam/main.nf @@ -3083,9 +3083,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/bedtools/bedtools_bedtobam", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/bedtools/bedtools_genomecov/.config.vsh.yaml b/target/nextflow/bedtools/bedtools_genomecov/.config.vsh.yaml index f28da6e2..2a271461 100644 --- a/target/nextflow/bedtools/bedtools_genomecov/.config.vsh.yaml +++ b/target/nextflow/bedtools/bedtools_genomecov/.config.vsh.yaml @@ -337,9 +337,9 @@ build_info: output: "target/nextflow/bedtools/bedtools_genomecov" executable: "target/nextflow/bedtools/bedtools_genomecov/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/bedtools/bedtools_genomecov/main.nf b/target/nextflow/bedtools/bedtools_genomecov/main.nf index 3e9c9c10..32e45379 100644 --- a/target/nextflow/bedtools/bedtools_genomecov/main.nf +++ b/target/nextflow/bedtools/bedtools_genomecov/main.nf @@ -3207,9 +3207,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/bedtools/bedtools_genomecov", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/bedtools/bedtools_getfasta/.config.vsh.yaml b/target/nextflow/bedtools/bedtools_getfasta/.config.vsh.yaml index cedc294c..32f8bab6 100644 --- a/target/nextflow/bedtools/bedtools_getfasta/.config.vsh.yaml +++ b/target/nextflow/bedtools/bedtools_getfasta/.config.vsh.yaml @@ -232,9 +232,9 @@ build_info: output: "target/nextflow/bedtools/bedtools_getfasta" executable: "target/nextflow/bedtools/bedtools_getfasta/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/bedtools/bedtools_getfasta/main.nf b/target/nextflow/bedtools/bedtools_getfasta/main.nf index e0add720..cd65575f 100644 --- a/target/nextflow/bedtools/bedtools_getfasta/main.nf +++ b/target/nextflow/bedtools/bedtools_getfasta/main.nf @@ -3086,9 +3086,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/bedtools/bedtools_getfasta", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/bedtools/bedtools_groupby/.config.vsh.yaml b/target/nextflow/bedtools/bedtools_groupby/.config.vsh.yaml index 8fd7a9a5..98863d6d 100644 --- a/target/nextflow/bedtools/bedtools_groupby/.config.vsh.yaml +++ b/target/nextflow/bedtools/bedtools_groupby/.config.vsh.yaml @@ -273,9 +273,9 @@ build_info: output: "target/nextflow/bedtools/bedtools_groupby" executable: "target/nextflow/bedtools/bedtools_groupby/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/bedtools/bedtools_groupby/main.nf b/target/nextflow/bedtools/bedtools_groupby/main.nf index 46e14679..87093511 100644 --- a/target/nextflow/bedtools/bedtools_groupby/main.nf +++ b/target/nextflow/bedtools/bedtools_groupby/main.nf @@ -3130,9 +3130,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/bedtools/bedtools_groupby", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/bedtools/bedtools_intersect/.config.vsh.yaml b/target/nextflow/bedtools/bedtools_intersect/.config.vsh.yaml index 2a630d8a..8cb900ff 100644 --- a/target/nextflow/bedtools/bedtools_intersect/.config.vsh.yaml +++ b/target/nextflow/bedtools/bedtools_intersect/.config.vsh.yaml @@ -410,9 +410,9 @@ build_info: output: "target/nextflow/bedtools/bedtools_intersect" executable: "target/nextflow/bedtools/bedtools_intersect/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/bedtools/bedtools_intersect/main.nf b/target/nextflow/bedtools/bedtools_intersect/main.nf index 0eaab91f..1f6b3510 100644 --- a/target/nextflow/bedtools/bedtools_intersect/main.nf +++ b/target/nextflow/bedtools/bedtools_intersect/main.nf @@ -3282,9 +3282,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/bedtools/bedtools_intersect", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/bedtools/bedtools_links/.config.vsh.yaml b/target/nextflow/bedtools/bedtools_links/.config.vsh.yaml index e0c2bcc1..eddaba26 100644 --- a/target/nextflow/bedtools/bedtools_links/.config.vsh.yaml +++ b/target/nextflow/bedtools/bedtools_links/.config.vsh.yaml @@ -210,9 +210,9 @@ build_info: output: "target/nextflow/bedtools/bedtools_links" executable: "target/nextflow/bedtools/bedtools_links/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/bedtools/bedtools_links/main.nf b/target/nextflow/bedtools/bedtools_links/main.nf index b9023794..f04f5bf7 100644 --- a/target/nextflow/bedtools/bedtools_links/main.nf +++ b/target/nextflow/bedtools/bedtools_links/main.nf @@ -3073,9 +3073,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/bedtools/bedtools_links", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/bedtools/bedtools_merge/.config.vsh.yaml b/target/nextflow/bedtools/bedtools_merge/.config.vsh.yaml index aa0e22cf..123f53b9 100644 --- a/target/nextflow/bedtools/bedtools_merge/.config.vsh.yaml +++ b/target/nextflow/bedtools/bedtools_merge/.config.vsh.yaml @@ -279,9 +279,9 @@ build_info: output: "target/nextflow/bedtools/bedtools_merge" executable: "target/nextflow/bedtools/bedtools_merge/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/bedtools/bedtools_merge/main.nf b/target/nextflow/bedtools/bedtools_merge/main.nf index 98f1c610..aba0ec16 100644 --- a/target/nextflow/bedtools/bedtools_merge/main.nf +++ b/target/nextflow/bedtools/bedtools_merge/main.nf @@ -3134,9 +3134,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/bedtools/bedtools_merge", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/bedtools/bedtools_sort/.config.vsh.yaml b/target/nextflow/bedtools/bedtools_sort/.config.vsh.yaml index 727cffe4..72e852b9 100644 --- a/target/nextflow/bedtools/bedtools_sort/.config.vsh.yaml +++ b/target/nextflow/bedtools/bedtools_sort/.config.vsh.yaml @@ -222,9 +222,9 @@ build_info: output: "target/nextflow/bedtools/bedtools_sort" executable: "target/nextflow/bedtools/bedtools_sort/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/bedtools/bedtools_sort/main.nf b/target/nextflow/bedtools/bedtools_sort/main.nf index 60f7acd1..ca17f4eb 100644 --- a/target/nextflow/bedtools/bedtools_sort/main.nf +++ b/target/nextflow/bedtools/bedtools_sort/main.nf @@ -3092,9 +3092,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/bedtools/bedtools_sort", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/busco/busco_download_datasets/.config.vsh.yaml b/target/nextflow/busco/busco_download_datasets/.config.vsh.yaml index 4a62cc7e..8e3903ab 100644 --- a/target/nextflow/busco/busco_download_datasets/.config.vsh.yaml +++ b/target/nextflow/busco/busco_download_datasets/.config.vsh.yaml @@ -158,9 +158,9 @@ build_info: output: "target/nextflow/busco/busco_download_datasets" executable: "target/nextflow/busco/busco_download_datasets/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/busco/busco_download_datasets/main.nf b/target/nextflow/busco/busco_download_datasets/main.nf index 69e5811d..2d5c994c 100644 --- a/target/nextflow/busco/busco_download_datasets/main.nf +++ b/target/nextflow/busco/busco_download_datasets/main.nf @@ -3011,9 +3011,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/busco/busco_download_datasets", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/busco/busco_list_datasets/.config.vsh.yaml b/target/nextflow/busco/busco_list_datasets/.config.vsh.yaml index e6ab9835..e7cbcc83 100644 --- a/target/nextflow/busco/busco_list_datasets/.config.vsh.yaml +++ b/target/nextflow/busco/busco_list_datasets/.config.vsh.yaml @@ -145,9 +145,9 @@ build_info: output: "target/nextflow/busco/busco_list_datasets" executable: "target/nextflow/busco/busco_list_datasets/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/busco/busco_list_datasets/main.nf b/target/nextflow/busco/busco_list_datasets/main.nf index ca8f6acf..b7295537 100644 --- a/target/nextflow/busco/busco_list_datasets/main.nf +++ b/target/nextflow/busco/busco_list_datasets/main.nf @@ -2997,9 +2997,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/busco/busco_list_datasets", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/busco/busco_run/.config.vsh.yaml b/target/nextflow/busco/busco_run/.config.vsh.yaml index d63fce92..ea3d7a58 100644 --- a/target/nextflow/busco/busco_run/.config.vsh.yaml +++ b/target/nextflow/busco/busco_run/.config.vsh.yaml @@ -423,9 +423,9 @@ build_info: output: "target/nextflow/busco/busco_run" executable: "target/nextflow/busco/busco_run/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/busco/busco_run/main.nf b/target/nextflow/busco/busco_run/main.nf index 76ecd7ba..faa2d996 100644 --- a/target/nextflow/busco/busco_run/main.nf +++ b/target/nextflow/busco/busco_run/main.nf @@ -3309,9 +3309,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/busco/busco_run", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/cutadapt/.config.vsh.yaml b/target/nextflow/cutadapt/.config.vsh.yaml index ac8589c1..6b39848c 100644 --- a/target/nextflow/cutadapt/.config.vsh.yaml +++ b/target/nextflow/cutadapt/.config.vsh.yaml @@ -740,9 +740,9 @@ build_info: output: "target/nextflow/cutadapt" executable: "target/nextflow/cutadapt/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/cutadapt/main.nf b/target/nextflow/cutadapt/main.nf index 8c77349a..6405b850 100644 --- a/target/nextflow/cutadapt/main.nf +++ b/target/nextflow/cutadapt/main.nf @@ -3619,9 +3619,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/cutadapt", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/falco/.config.vsh.yaml b/target/nextflow/falco/.config.vsh.yaml index 5fb67fdc..f8a0d498 100644 --- a/target/nextflow/falco/.config.vsh.yaml +++ b/target/nextflow/falco/.config.vsh.yaml @@ -317,9 +317,9 @@ build_info: output: "target/nextflow/falco" executable: "target/nextflow/falco/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/falco/main.nf b/target/nextflow/falco/main.nf index 43002669..6142c812 100644 --- a/target/nextflow/falco/main.nf +++ b/target/nextflow/falco/main.nf @@ -3170,9 +3170,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/falco", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/fastp/.config.vsh.yaml b/target/nextflow/fastp/.config.vsh.yaml index be6b5e63..cb1d748b 100644 --- a/target/nextflow/fastp/.config.vsh.yaml +++ b/target/nextflow/fastp/.config.vsh.yaml @@ -1083,9 +1083,9 @@ build_info: output: "target/nextflow/fastp" executable: "target/nextflow/fastp/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/fastp/main.nf b/target/nextflow/fastp/main.nf index 0a54011e..252fdd41 100644 --- a/target/nextflow/fastp/main.nf +++ b/target/nextflow/fastp/main.nf @@ -4023,9 +4023,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/fastp", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/fastqc/.config.vsh.yaml b/target/nextflow/fastqc/.config.vsh.yaml index 562295d9..d356c5e8 100644 --- a/target/nextflow/fastqc/.config.vsh.yaml +++ b/target/nextflow/fastqc/.config.vsh.yaml @@ -340,9 +340,9 @@ build_info: output: "target/nextflow/fastqc" executable: "target/nextflow/fastqc/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/fastqc/main.nf b/target/nextflow/fastqc/main.nf index bade8607..46544adb 100644 --- a/target/nextflow/fastqc/main.nf +++ b/target/nextflow/fastqc/main.nf @@ -3182,9 +3182,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/fastqc", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/featurecounts/.config.vsh.yaml b/target/nextflow/featurecounts/.config.vsh.yaml index dbf5c028..a4543628 100644 --- a/target/nextflow/featurecounts/.config.vsh.yaml +++ b/target/nextflow/featurecounts/.config.vsh.yaml @@ -645,9 +645,9 @@ build_info: output: "target/nextflow/featurecounts" executable: "target/nextflow/featurecounts/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/featurecounts/main.nf b/target/nextflow/featurecounts/main.nf index 286f6b94..4d2e8f07 100644 --- a/target/nextflow/featurecounts/main.nf +++ b/target/nextflow/featurecounts/main.nf @@ -3549,9 +3549,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/featurecounts", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/fq_subsample/.config.vsh.yaml b/target/nextflow/fq_subsample/.config.vsh.yaml index 3b585cad..12291fa0 100644 --- a/target/nextflow/fq_subsample/.config.vsh.yaml +++ b/target/nextflow/fq_subsample/.config.vsh.yaml @@ -190,9 +190,9 @@ build_info: output: "target/nextflow/fq_subsample" executable: "target/nextflow/fq_subsample/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/fq_subsample/main.nf b/target/nextflow/fq_subsample/main.nf index ab8a56d1..3346fde8 100644 --- a/target/nextflow/fq_subsample/main.nf +++ b/target/nextflow/fq_subsample/main.nf @@ -3032,9 +3032,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/fq_subsample", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/gffread/.config.vsh.yaml b/target/nextflow/gffread/.config.vsh.yaml index 4fc713f1..9eca1b44 100644 --- a/target/nextflow/gffread/.config.vsh.yaml +++ b/target/nextflow/gffread/.config.vsh.yaml @@ -685,9 +685,9 @@ build_info: output: "target/nextflow/gffread" executable: "target/nextflow/gffread/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/gffread/main.nf b/target/nextflow/gffread/main.nf index 89e8647c..6cfca03c 100644 --- a/target/nextflow/gffread/main.nf +++ b/target/nextflow/gffread/main.nf @@ -3606,9 +3606,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/gffread", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/kallisto/kallisto_index/.config.vsh.yaml b/target/nextflow/kallisto/kallisto_index/.config.vsh.yaml index d0a8580e..138f89dd 100644 --- a/target/nextflow/kallisto/kallisto_index/.config.vsh.yaml +++ b/target/nextflow/kallisto/kallisto_index/.config.vsh.yaml @@ -218,9 +218,9 @@ build_info: output: "target/nextflow/kallisto/kallisto_index" executable: "target/nextflow/kallisto/kallisto_index/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/kallisto/kallisto_index/main.nf b/target/nextflow/kallisto/kallisto_index/main.nf index 52d6c1cd..e2efd27c 100644 --- a/target/nextflow/kallisto/kallisto_index/main.nf +++ b/target/nextflow/kallisto/kallisto_index/main.nf @@ -3071,9 +3071,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/kallisto/kallisto_index", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/lofreq/lofreq_call/.config.vsh.yaml b/target/nextflow/lofreq/lofreq_call/.config.vsh.yaml index b5de7c5a..da675d84 100644 --- a/target/nextflow/lofreq/lofreq_call/.config.vsh.yaml +++ b/target/nextflow/lofreq/lofreq_call/.config.vsh.yaml @@ -507,9 +507,9 @@ build_info: output: "target/nextflow/lofreq/lofreq_call" executable: "target/nextflow/lofreq/lofreq_call/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/lofreq/lofreq_call/main.nf b/target/nextflow/lofreq/lofreq_call/main.nf index 8fddfb96..c67cbf96 100644 --- a/target/nextflow/lofreq/lofreq_call/main.nf +++ b/target/nextflow/lofreq/lofreq_call/main.nf @@ -3414,9 +3414,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/lofreq/lofreq_call", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/lofreq/lofreq_indelqual/.config.vsh.yaml b/target/nextflow/lofreq/lofreq_indelqual/.config.vsh.yaml index a9909b09..a1d23736 100644 --- a/target/nextflow/lofreq/lofreq_indelqual/.config.vsh.yaml +++ b/target/nextflow/lofreq/lofreq_indelqual/.config.vsh.yaml @@ -215,9 +215,9 @@ build_info: output: "target/nextflow/lofreq/lofreq_indelqual" executable: "target/nextflow/lofreq/lofreq_indelqual/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/lofreq/lofreq_indelqual/main.nf b/target/nextflow/lofreq/lofreq_indelqual/main.nf index 0d35ff87..7e3d69cf 100644 --- a/target/nextflow/lofreq/lofreq_indelqual/main.nf +++ b/target/nextflow/lofreq/lofreq_indelqual/main.nf @@ -3077,9 +3077,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/lofreq/lofreq_indelqual", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/multiqc/.config.vsh.yaml b/target/nextflow/multiqc/.config.vsh.yaml index 6eabdbe2..5aa6ee5c 100644 --- a/target/nextflow/multiqc/.config.vsh.yaml +++ b/target/nextflow/multiqc/.config.vsh.yaml @@ -456,9 +456,9 @@ build_info: output: "target/nextflow/multiqc" executable: "target/nextflow/multiqc/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/multiqc/main.nf b/target/nextflow/multiqc/main.nf index f9726bda..dc0adb81 100644 --- a/target/nextflow/multiqc/main.nf +++ b/target/nextflow/multiqc/main.nf @@ -3366,9 +3366,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/multiqc", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/pear/.config.vsh.yaml b/target/nextflow/pear/.config.vsh.yaml index 40e21bb3..0010883b 100644 --- a/target/nextflow/pear/.config.vsh.yaml +++ b/target/nextflow/pear/.config.vsh.yaml @@ -398,9 +398,9 @@ build_info: output: "target/nextflow/pear" executable: "target/nextflow/pear/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/pear/main.nf b/target/nextflow/pear/main.nf index c2c404ee..8d309184 100644 --- a/target/nextflow/pear/main.nf +++ b/target/nextflow/pear/main.nf @@ -3259,9 +3259,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/pear", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/qualimap/qualimap_rnaseq/.config.vsh.yaml b/target/nextflow/qualimap/qualimap_rnaseq/.config.vsh.yaml index 06253225..7f123065 100644 --- a/target/nextflow/qualimap/qualimap_rnaseq/.config.vsh.yaml +++ b/target/nextflow/qualimap/qualimap_rnaseq/.config.vsh.yaml @@ -264,9 +264,9 @@ build_info: output: "target/nextflow/qualimap/qualimap_rnaseq" executable: "target/nextflow/qualimap/qualimap_rnaseq/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/qualimap/qualimap_rnaseq/main.nf b/target/nextflow/qualimap/qualimap_rnaseq/main.nf index f6dfc7d7..e010d63e 100644 --- a/target/nextflow/qualimap/qualimap_rnaseq/main.nf +++ b/target/nextflow/qualimap/qualimap_rnaseq/main.nf @@ -3129,9 +3129,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/qualimap/qualimap_rnaseq", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/rsem/rsem_calculate_expression/.config.vsh.yaml b/target/nextflow/rsem/rsem_calculate_expression/.config.vsh.yaml new file mode 100644 index 00000000..c3394af3 --- /dev/null +++ b/target/nextflow/rsem/rsem_calculate_expression/.config.vsh.yaml @@ -0,0 +1,879 @@ +name: "rsem_calculate_expression" +namespace: "rsem" +version: "main" +argument_groups: +- name: "Input" + arguments: + - type: "string" + name: "--id" + description: "Sample ID." + info: null + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "string" + name: "--strandedness" + description: "Sample strand-specificity. Must be one of unstranded, forward, reverse" + info: null + required: false + choices: + - "forward" + - "reverse" + - "unstranded" + direction: "input" + multiple: false + multiple_sep: ";" + - type: "boolean_true" + name: "--paired" + description: "Paired-end reads or not?" + info: null + direction: "input" + - type: "file" + name: "--input" + description: "Input reads for quantification." + info: null + must_exist: true + create_parent: true + required: false + direction: "input" + multiple: true + multiple_sep: ";" + - type: "file" + name: "--index" + description: "RSEM index." + info: null + must_exist: false + create_parent: true + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "string" + name: "--extra_args" + description: "Extra rsem-calculate-expression arguments in addition to the examples." + info: null + required: false + direction: "input" + multiple: false + multiple_sep: ";" +- name: "Output" + arguments: + - type: "file" + name: "--counts_gene" + description: "Expression counts on gene level" + info: null + example: + - "$id.genes.results" + must_exist: true + create_parent: true + required: false + direction: "output" + multiple: false + multiple_sep: ";" + - type: "file" + name: "--counts_transcripts" + description: "Expression counts on transcript level" + info: null + example: + - "$id.isoforms.results" + must_exist: true + create_parent: true + required: false + direction: "output" + multiple: false + multiple_sep: ";" + - type: "file" + name: "--stat" + description: "RSEM statistics" + info: null + example: + - "$id.stat" + must_exist: true + create_parent: true + required: false + direction: "output" + multiple: false + multiple_sep: ";" + - type: "file" + name: "--logs" + description: "RSEM logs" + info: null + example: + - "$id.log" + must_exist: true + create_parent: true + required: false + direction: "output" + multiple: false + multiple_sep: ";" + - type: "file" + name: "--bam_star" + description: "BAM file generated by STAR (optional)" + info: null + example: + - "$id.STAR.genome.bam" + must_exist: true + create_parent: true + required: false + direction: "output" + multiple: false + multiple_sep: ";" + - type: "file" + name: "--bam_genome" + description: "Genome BAM file (optional)" + info: null + example: + - "$id.genome.bam" + must_exist: true + create_parent: true + required: false + direction: "output" + multiple: false + multiple_sep: ";" + - type: "file" + name: "--bam_transcript" + description: "Transcript BAM file (optional)" + info: null + example: + - "$id.transcript.bam" + must_exist: true + create_parent: true + required: false + direction: "output" + multiple: false + multiple_sep: ";" + - type: "boolean_true" + name: "--sort_bam_by_read_name" + description: "Sort BAM file aligned under transcript coordidate by read name.\ + \ Setting this option on will produce \ndeterministic maximum likelihood estimations\ + \ from independent runs. Note that sorting will take long \ntime and lots of\ + \ memory.\n" + info: null + direction: "input" + - type: "boolean_true" + name: "--no_bam_output" + description: "Do not output any BAM file." + info: null + direction: "input" + - type: "boolean_true" + name: "--sampling_for_bam" + description: "When RSEM generates a BAM file, instead of outputting all alignments\ + \ a read has with their posterior \nprobabilities, one alignment is sampled\ + \ according to the posterior probabilities. The sampling procedure \nincludes\ + \ the alignment to the \"noise\" transcript, which does not appear in the BAM\ + \ file. Only the \nsampled alignment has a weight of 1. All other alignments\ + \ have weight 0. If the \"noise\" transcript is \nsampled, all alignments appeared\ + \ in the BAM file should have weight 0.\n" + info: null + direction: "input" + - type: "boolean_true" + name: "--output_genome_bam" + description: "Generate a BAM file, 'sample_name.genome.bam', with alignments mapped\ + \ to genomic coordinates and \nannotated with their posterior probabilities.\ + \ In addition, RSEM will call samtools (included in RSEM \npackage) to sort\ + \ and index the bam file. 'sample_name.genome.sorted.bam' and 'sample_name.genome.sorted.bam.bai'\ + \ \nwill be generated.\n" + info: null + direction: "input" + - type: "boolean_true" + name: "--sort_bam_by_coordinate" + description: "Sort RSEM generated transcript and genome BAM files by coordinates\ + \ and build associated indices.\n" + info: null + direction: "input" +- name: "Basic Options" + arguments: + - type: "boolean_true" + name: "--no_qualities" + description: "Input reads do not contain quality scores." + info: null + direction: "input" + - type: "boolean_true" + name: "--alignments" + description: "Input file contains alignments in SAM/BAM/CRAM format. The exact\ + \ file format will be determined \nautomatically.\n" + info: null + direction: "input" + - type: "file" + name: "--fai" + description: "If the header section of input alignment file does not contain reference\ + \ sequence information, \nthis option should be turned on. is a FAI format\ + \ file containing each reference sequence's \nname and length. Please refer\ + \ to the SAM official website for the details of FAI format.\n" + info: null + must_exist: true + create_parent: true + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "boolean_true" + name: "--bowtie2" + description: "Use Bowtie 2 instead of Bowtie to align reads. Since currently RSEM\ + \ does not handle indel, local \nand discordant alignments, the Bowtie2 parameters\ + \ are set in a way to avoid those alignments. In \nparticular, we use options\ + \ '--sensitive --dpad 0 --gbar 99999999 --mp 1,1 --np 1 --score_min L,0,-0.1'\ + \ \nby default. The last parameter of '--score_min', '-0.1', is the negative\ + \ of maximum mismatch rate. \nThis rate can be set by option '--bowtie2_mismatch_rate'.\ + \ If reads are paired-end, we additionally \nuse options '--no_mixed' and '--no_discordant'.\n" + info: null + direction: "input" + - type: "boolean_true" + name: "--star" + description: "Use STAR to align reads. Alignment parameters are from ENCODE3's\ + \ STAR-RSEM pipeline. To save \ncomputational time and memory resources, STAR's\ + \ Output BAM file is unsorted. It is stored in RSEM's \ntemporary directory\ + \ with name as 'sample_name.bam'. Each STAR job will have its own private copy\ + \ of \nthe genome in memory.\n" + info: null + direction: "input" + - type: "boolean_true" + name: "--hisat2_hca" + description: "Use HISAT2 to align reads to the transcriptome according to Human\ + \ Cell Atlast.\n" + info: null + direction: "input" + - type: "boolean_true" + name: "--append_names" + description: "If gene_name/transcript_name is available, append it to the end\ + \ of gene_id/transcript_id (separated \nby '_') in files 'sample_name.isoforms.results'\ + \ and 'sample_name.genes.results'.\n" + info: null + direction: "input" + - type: "integer" + name: "--seed" + description: "Set the seed for the random number generators used in calculating\ + \ posterior mean estimates and \ncredibility intervals. The seed must be a non-negative\ + \ 32 bit integer.\n" + info: null + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "boolean_true" + name: "--single_cell_prior" + description: "By default, RSEM uses Dirichlet(1) as the prior to calculate posterior\ + \ mean estimates and credibility \nintervals. However, much less genes are expressed\ + \ in single cell RNA-Seq data. Thus, if you want to \ncompute posterior mean\ + \ estimates and/or credibility intervals and you have single-cell RNA-Seq data,\ + \ \nyou are recommended to turn on this option. Then RSEM will use Dirichlet(0.1)\ + \ as the prior which \nencourage the sparsity of the expression levels.\n" + info: null + direction: "input" + - type: "boolean_true" + name: "--calc_pme" + description: "Run RSEM's collapsed Gibbs sampler to calculate posterior mean estimates." + info: null + direction: "input" + - type: "boolean_true" + name: "--calc_ci" + description: "Calculate 95% credibility intervals and posterior mean estimates.\ + \ The credibility level can be \nchanged by setting '--ci_credibility_level'.\n" + info: null + direction: "input" + - type: "boolean_true" + name: "--quiet" + alternatives: + - "-q" + description: "Suppress the output of logging information." + info: null + direction: "input" +- name: "Aligner Options" + arguments: + - type: "integer" + name: "--seed_length" + description: "Seed length used by the read aligner. Providing the correct value\ + \ is important for RSEM. If RSEM \nruns Bowtie, it uses this value for Bowtie's\ + \ seed length parameter. Any read with its or at least \none of its mates' (for\ + \ paired-end reads) length less than this value will be ignored. If the \nreferences\ + \ are not added poly(A) tails, the minimum allowed value is 5, otherwise, the\ + \ minimum \nallowed value is 25. Note that this script will only check if the\ + \ value >= 5 and give a warning \nmessage if the value < 25 but >= 5. (Default:\ + \ 25)\n" + info: null + example: + - 25 + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "boolean_true" + name: "--phred64_quals" + description: "Input quality scores are encoded as Phred+64 (default for GA Pipeline\ + \ ver. >= 1.3). This option is \nused by Bowtie, Bowtie 2 and HISAT2. Otherwise,\ + \ quality score will be encoded as Phred+33. (Default: false)\n" + info: null + direction: "input" + - type: "boolean_true" + name: "--solexa_quals" + description: "Input quality scores are solexa encoded (from GA Pipeline ver. <\ + \ 1.3). This option is used by \nBowtie, Bowtie 2 and HISAT2. Otherwise, quality\ + \ score will be encoded as Phred+33. (Default: false)\n" + info: null + direction: "input" + - type: "integer" + name: "--bowtie_n" + description: "(Bowtie parameter) max # of mismatches in the seed. (Range: 0-3,\ + \ Default: 2)\n" + info: null + example: + - 2 + required: false + choices: + - 0 + - 1 + - 2 + - 3 + direction: "input" + multiple: false + multiple_sep: ";" + - type: "integer" + name: "--bowtie_e" + description: "(Bowtie parameter) max sum of mismatch quality scores across the\ + \ alignment. (Default: 99999999)\n" + info: null + example: + - 99999999 + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "integer" + name: "--bowtie_m" + description: "(Bowtie parameter) suppress all alignments for a read if > \ + \ valid alignments exist. (Default: 200)\n" + info: null + example: + - 200 + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "integer" + name: "--bowtie_chunkmbs" + description: "(Bowtie parameter) memory allocated for best first alignment calculation\ + \ (Default: 0 - use Bowtie's default)\n" + info: null + example: + - 0 + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "double" + name: "--bowtie2_mismatch_rate" + description: "(Bowtie 2 parameter) The maximum mismatch rate allowed. (Default:\ + \ 0.1)\n" + info: null + example: + - 0.1 + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "integer" + name: "--bowtie2_k" + description: "(Bowtie 2 parameter) Find up to alignments per read. (Default:\ + \ 200)\n" + info: null + example: + - 200 + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "string" + name: "--bowtie2_sensitivity_level" + description: "(Bowtie 2 parameter) Set Bowtie 2's preset options in --end-to-end\ + \ mode. This option controls how \nhard Bowtie 2 tries to find alignments. \ + \ must be one of \"very_fast\", \"fast\", \"sensitive\" \nand \"very_sensitive\"\ + . The four candidates correspond to Bowtie 2's \"--very-fast\", \"--fast\",\ + \ \n\"--sensitive\" and \"--very-sensitive\" options. (Default: \"sensitive\"\ + \ - use Bowtie 2's default)\n" + info: null + example: + - "sensitive" + required: false + choices: + - "very_fast" + - "fast" + - "sensitive" + - "very_sensitive" + direction: "input" + multiple: false + multiple_sep: ";" + - type: "boolean_true" + name: "--star_gzipped_read_file" + description: "Input read file(s) is compressed by gzip. (Default: false)\n" + info: null + direction: "input" + - type: "boolean_true" + name: "--star_bzipped_read_file" + description: "Input read file(s) is compressed by bzip2. (Default: false)\n" + info: null + direction: "input" + - type: "boolean_true" + name: "--star_output_genome_bam" + description: "Save the BAM file from STAR alignment under genomic coordinate to\ + \ 'sample_name.STAR.genome.bam'. \nThis file is NOT sorted by genomic coordinate.\ + \ In this file, according to STAR's manual, 'paired \nends of an alignment are\ + \ always adjacent, and multiple alignments of a read are adjacent as well'.\ + \ \n(Default: false)\n" + info: null + direction: "input" +- name: "Advanced Options" + arguments: + - type: "string" + name: "--tag" + description: "The name of the optional field used in the SAM input for identifying\ + \ a read with too many valid \nalignments. The field should have the format\ + \ :i:, where a bigger than 0 \nindicates a read with\ + \ too many alignments. (Default: \"\")\n" + info: null + example: + - "" + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "integer" + name: "--fragment_length_min" + description: "Minimum read/insert length allowed. This is also the value for the\ + \ Bowtie/Bowtie2 -I option. \n(Default: 1)\n" + info: null + example: + - 1 + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "integer" + name: "--fragment_length_max" + description: "Maximum read/insert length allowed. This is also the value for the\ + \ Bowtie/Bowtie 2 -X option. \n(Default: 1000)\n" + info: null + example: + - 1000 + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "integer" + name: "--fragment_length_mean" + description: "(single-end data only) The mean of the fragment length distribution,\ + \ which is assumed to be a \nGaussian. (Default: -1, which disables use of the\ + \ fragment length distribution)\n" + info: null + example: + - -1 + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "double" + name: "--gragment_length_sd" + description: "(single-end data only) The standard deviation of the fragment length\ + \ distribution, which is \nassumed to be a Gaussian. (Default: 0, which assumes\ + \ that all fragments are of the same length, \ngiven by the rounded value of\ + \ --fragment_length_mean).\n" + info: null + example: + - 0.0 + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "boolean_true" + name: "--estimate_rspd" + description: "Set this option if you want to estimate the read start position\ + \ distribution (RSPD) from data.\nOtherwise, RSEM will use a uniform RSPD.\n" + info: null + direction: "input" + - type: "integer" + name: "--num_rspd_bins" + description: "Number of bins in the RSPD. Only relevant when '--estimate_rspd'\ + \ is specified. Use of the default \nsetting is recommended. (Default: 20)\n" + info: null + example: + - 20 + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "integer" + name: "--gibbs_burnin" + description: "The number of burn-in rounds for RSEM's Gibbs sampler. Each round\ + \ passes over the entire data set \nonce. If RSEM can use multiple threads,\ + \ multiple Gibbs samplers will start at the same time and all \nsamplers share\ + \ the same burn-in number. (Default: 200)\n" + info: null + example: + - 200 + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "integer" + name: "--gibbs_number_of_samples" + description: "The total number of count vectors RSEM will collect from its Gibbs\ + \ samplers. (Default: 1000)\n" + info: null + example: + - 1000 + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "integer" + name: "--gibbs_sampling_gap" + description: "The number of rounds between two succinct count vectors RSEM collects.\ + \ If the count vector after \nround N is collected, the count vector after round\ + \ N + will also be collected. (Default: 1)\n" + info: null + example: + - 1 + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "double" + name: "--ci_credibility_level" + description: "The credibility level for credibility intervals. (Default: 0.95)\n" + info: null + example: + - 0.95 + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "integer" + name: "--ci_number_of_samples_per_count_vector" + description: "The number of read generating probability vectors sampled per sampled\ + \ count vector. The crebility \nintervals are calculated by first sampling P(C\ + \ | D) and then sampling P(Theta | C) for each sampled \ncount vector. This\ + \ option controls how many Theta vectors are sampled per sampled count vector.\ + \ \n(Default: 50)\n" + info: null + example: + - 50 + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "boolean_true" + name: "--keep_intermediate_files" + description: "Keep temporary files generated by RSEM. RSEM creates a temporary\ + \ directory, 'sample_name.temp', \ninto which it puts all intermediate output\ + \ files. If this directory already exists, RSEM overwrites \nall files generated\ + \ by previous RSEM runs inside of it. By default, after RSEM finishes, the \n\ + temporary directory is deleted. Set this option to prevent the deletion of this\ + \ directory and the \nintermediate files inside of it.\n" + info: null + direction: "input" + - type: "string" + name: "--temporary_folder" + description: "Set where to put the temporary files generated by RSEM. If the folder\ + \ specified does not exist, \nRSEM will try to create it. (Default: sample_name.temp)\n" + info: null + example: + - "sample_name.temp" + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "boolean_true" + name: "--time" + description: "Output time consumed by each step of RSEM to 'sample_name.time'.\n" + info: null + direction: "input" +- name: "Prior-Enhanced RSEM Options" + arguments: + - type: "boolean_true" + name: "--run_pRSEM" + description: "Running prior-enhanced RSEM (pRSEM). Prior parameters, i.e. isoform's\ + \ initial pseudo-count for \nRSEM's Gibbs sampling, will be learned from input\ + \ RNA-seq data and an external data set. When pRSEM \nneeds and only needs ChIP-seq\ + \ peak information to partition isoforms (e.g. in pRSEM's default \npartition\ + \ model), either ChIP-seq peak file (with the '--chipseq_peak_file' option)\ + \ or ChIP-seq \nFASTQ files for target and input and the path for Bowtie executables\ + \ are required (with the \n'--chipseq_target_read_files ', '--chipseq_control_read_files\ + \ ', and '--bowtie_path \n options), otherwise, ChIP-seq FASTQ\ + \ files for target and control and the path to Bowtie \nexecutables are required.\n" + info: null + direction: "input" + - type: "file" + name: "--chipseq_peak_file" + description: "Full path to a ChIP-seq peak file in ENCODE's narrowPeak, i.e. BED6+4,\ + \ format. This file is used \nwhen running prior-enhanced RSEM in the default\ + \ two-partition model. It partitions isoforms by \nwhether they have ChIP-seq\ + \ overlapping with their transcription start site region or not. Each \npartition\ + \ will have its own prior parameter learned from a training set. This file can\ + \ be either \ngzipped or ungzipped.\n" + info: null + must_exist: true + create_parent: true + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "file" + name: "--chipseq_target_read_files" + description: "Comma-separated full path of FASTQ read file(s) for ChIP-seq target.\ + \ This option is used when running \nprior-enhanced RSEM. It provides information\ + \ to calculate ChIP-seq peaks and signals. The file(s) \ncan be either ungzipped\ + \ or gzipped with a suffix '.gz' or '.gzip'. The options '--bowtie_path '\ + \ \nand '--chipseq_control_read_files ' must be defined when this option\ + \ is specified.\n" + info: null + must_exist: true + create_parent: true + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "file" + name: "--chipseq_control_read_files" + description: "Comma-separated full path of FASTQ read file(s) for ChIP-seq conrol.\ + \ This option is used when running \nprior-enhanced RSEM. It provides information\ + \ to call ChIP-seq peaks. The file(s) can be either \nungzipped or gzipped with\ + \ a suffix '.gz' or '.gzip'. The options '--bowtie_path ' and \n'--chipseq_target_read_files\ + \ ' must be defined when this option is specified.\n" + info: null + must_exist: true + create_parent: true + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "file" + name: "--chipseq_read_files_multi_targets" + description: "Comma-separated full path of FASTQ read files for multiple ChIP-seq\ + \ targets. This option is used when \nrunning prior-enhanced RSEM, where prior\ + \ is learned from multiple complementary data sets. It provides \ninformation\ + \ to calculate ChIP-seq signals. All files can be either ungzipped or gzipped\ + \ with a suffix \n'.gz' or '.gzip'. When this option is specified, the option\ + \ '--bowtie_path ' must be defined and \nthe option '--partition_model\ + \ ' will be set to 'cmb_lgt' automatically.\n" + info: null + must_exist: true + create_parent: true + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "file" + name: "--chipseq_bed_files_multi_targets" + description: "Comma-separated full path of BED files for multiple ChIP-seq targets.\ + \ This option is used when running \nprior-enhanced RSEM, where prior is learned\ + \ from multiple complementary data sets. It provides information \nof ChIP-seq\ + \ signals and must have at least the first six BED columns. All files can be\ + \ either ungzipped \nor gzipped with a suffix '.gz' or '.gzip'. When this option\ + \ is specified, the option '--partition_model \n' will be set to 'cmb_lgt'\ + \ automatically.\n" + info: null + must_exist: true + create_parent: true + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "boolean_true" + name: "--cap_stacked_chipseq_reads" + description: "Keep a maximum number of ChIP-seq reads that aligned to the same\ + \ genomic interval. This option is used \nwhen running prior-enhanced RSEM,\ + \ where prior is learned from multiple complementary data sets. This \noption\ + \ is only in use when either '--chipseq_read_files_multi_targets ' or\ + \ \n'--chipseq_bed_files_multi_targets ' is specified.\n" + info: null + direction: "input" + - type: "integer" + name: "--n_max_stacked_chipseq_reads" + description: "The maximum number of stacked ChIP-seq reads to keep. This option\ + \ is used when running prior-enhanced \nRSEM, where prior is learned from multiple\ + \ complementary data sets. This option is only in use when the \noption '--cap_stacked_chipseq_reads'\ + \ is set.\n" + info: null + required: false + direction: "input" + multiple: false + multiple_sep: ";" + - type: "string" + name: "--partition_model" + description: "A keyword to specify the partition model used by prior-enhanced\ + \ RSEM. It must be one of the following \nkeywords:\n* pk\n* pk_lgtnopk\n* lm3,\ + \ lm4, lm5, or lm6\n* nopk_lm2pk, nopk_lm3pk, nopk_lm4pk, or nopk_lm5pk\n* pk_lm2nopk,\ + \ pk_lm3nopk, pk_lm4nopk, or pk_lm5nopk\n* cmb_lgt\nParameters for all the above\ + \ models are learned from a training set. For detailed explanations, please\ + \ \nsee prior-enhanced RSEM's paper. (Default: 'pk')\n" + info: null + example: + - "pk" + required: false + direction: "input" + multiple: false + multiple_sep: ";" +resources: +- type: "bash_script" + path: "script.sh" + is_executable: true +description: "Calculate expression with RSEM. \n" +test_resources: +- type: "bash_script" + path: "test.sh" + is_executable: true +info: null +status: "enabled" +requirements: + commands: + - "ps" +keywords: +- "Transcriptome" +- "Index" +- "Alignment" +- "RSEM" +license: "GPL-3.0" +references: + doi: + - "https://doi.org/10.1186/1471-2105-12-323" +links: + repository: "https://github.com/deweylab/RSEM" + homepage: "https://deweylab.github.io/RSEM/" + documentation: "https://deweylab.github.io/RSEM/rsem-calculate-expression.html" +runners: +- type: "executable" + id: "executable" + docker_setup_strategy: "ifneedbepullelsecachedbuild" +- type: "nextflow" + id: "nextflow" + directives: + tag: "$id" + auto: + simplifyInput: true + simplifyOutput: false + transcript: false + publish: false + config: + labels: + mem1gb: "memory = 1000000000.B" + mem2gb: "memory = 2000000000.B" + mem5gb: "memory = 5000000000.B" + mem10gb: "memory = 10000000000.B" + mem20gb: "memory = 20000000000.B" + mem50gb: "memory = 50000000000.B" + mem100gb: "memory = 100000000000.B" + mem200gb: "memory = 200000000000.B" + mem500gb: "memory = 500000000000.B" + mem1tb: "memory = 1000000000000.B" + mem2tb: "memory = 2000000000000.B" + mem5tb: "memory = 5000000000000.B" + mem10tb: "memory = 10000000000000.B" + mem20tb: "memory = 20000000000000.B" + mem50tb: "memory = 50000000000000.B" + mem100tb: "memory = 100000000000000.B" + mem200tb: "memory = 200000000000000.B" + mem500tb: "memory = 500000000000000.B" + mem1gib: "memory = 1073741824.B" + mem2gib: "memory = 2147483648.B" + mem4gib: "memory = 4294967296.B" + mem8gib: "memory = 8589934592.B" + mem16gib: "memory = 17179869184.B" + mem32gib: "memory = 34359738368.B" + mem64gib: "memory = 68719476736.B" + mem128gib: "memory = 137438953472.B" + mem256gib: "memory = 274877906944.B" + mem512gib: "memory = 549755813888.B" + mem1tib: "memory = 1099511627776.B" + mem2tib: "memory = 2199023255552.B" + mem4tib: "memory = 4398046511104.B" + mem8tib: "memory = 8796093022208.B" + mem16tib: "memory = 17592186044416.B" + mem32tib: "memory = 35184372088832.B" + mem64tib: "memory = 70368744177664.B" + mem128tib: "memory = 140737488355328.B" + mem256tib: "memory = 281474976710656.B" + mem512tib: "memory = 562949953421312.B" + cpu1: "cpus = 1" + cpu2: "cpus = 2" + cpu5: "cpus = 5" + cpu10: "cpus = 10" + cpu20: "cpus = 20" + cpu50: "cpus = 50" + cpu100: "cpus = 100" + cpu200: "cpus = 200" + cpu500: "cpus = 500" + cpu1000: "cpus = 1000" + debug: false + container: "docker" +engines: +- type: "docker" + id: "docker" + image: "ubuntu:22.04" + target_registry: "images.viash-hub.com" + target_tag: "main" + namespace_separator: "/" + setup: + - type: "apt" + packages: + - "build-essential" + - "gcc" + - "g++" + - "make" + - "wget" + - "zlib1g-dev" + - "unzip" + interactive: false + - type: "docker" + run: + - "apt-get update && \\\napt-get clean && \\\nwget --no-check-certificate https://github.com/alexdobin/STAR/archive/refs/tags/2.7.11a.zip\ + \ && \\\nunzip 2.7.11a.zip && \\\ncp STAR-2.7.11a/bin/Linux_x86_64_static/STAR\ + \ /usr/local/bin && \\\ncd && \\\nwget --no-check-certificate https://github.com/deweylab/RSEM/archive/refs/tags/v1.3.3.zip\ + \ && \\\nunzip v1.3.3.zip && \\\ncd RSEM-1.3.3 && \\\nmake && \\\nmake install\n" + env: + - "STAR_VERSION=2.7.11b" + - "RSEM_VERSION=1.3.3" + - type: "docker" + run: + - "echo \"RSEM: `rsem-calculate-expression --version | sed -e 's/Current version:\ + \ RSEM v//g'`\" > /var/software_versions.txt && \\\necho \"STAR: `STAR --version`\"\ + \ >> /var/software_versions.txt && \\\necho \"bowtie2: `bowtie2 --version |\ + \ grep -oP '\\d+\\.\\d+\\.\\d+'`\" >> /var/software_versions.txt && \\\necho\ + \ \"bowtie: `bowtie --version | grep -oP 'bowtie-align-s version \\K\\d+\\.\\\ + d+\\.\\d+'`\" >> /var/software_versions.txt && \\\necho \"HISAT2: `hisat2 --version\ + \ | grep -oP 'hisat2-align-s version \\K\\d+\\.\\d+\\.\\d+'`\" >> /var/software_versions.txt\n" + entrypoint: [] + cmd: null +- type: "native" + id: "native" +build_info: + config: "src/rsem/rsem_calculate_expression/config.vsh.yaml" + runner: "nextflow" + engine: "docker|native" + output: "target/nextflow/rsem/rsem_calculate_expression" + executable: "target/nextflow/rsem/rsem_calculate_expression/main.nf" + viash_version: "0.9.0" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" +package_config: + name: "biobox" + version: "main" + description: "A collection of bioinformatics tools for working with sequence data.\n" + info: null + viash_version: "0.9.0" + source: "src" + target: "target" + config_mods: + - ".requirements.commands := ['ps']\n" + - ".engines += { type: \"native\" }" + - ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'" + - ".engines[.type == 'docker'].target_tag := 'main'" + keywords: + - "bioinformatics" + - "modules" + - "sequencing" + license: "MIT" + organization: "vsh" + links: + repository: "https://github.com/viash-hub/biobox" + issue_tracker: "https://github.com/viash-hub/biobox/issues" diff --git a/target/nextflow/rsem/rsem_calculate_expression/main.nf b/target/nextflow/rsem/rsem_calculate_expression/main.nf new file mode 100644 index 00000000..edadc615 --- /dev/null +++ b/target/nextflow/rsem/rsem_calculate_expression/main.nf @@ -0,0 +1,4375 @@ +// rsem_calculate_expression main +// +// This wrapper script is auto-generated by viash 0.9.0 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. + +//////////////////////////// +// 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 + if (value instanceof GString) { + value = value.toString() + } + expectedClass = value instanceof String ? null : "String" + } else if (par.type == "integer") { + // cast to integer if need be + if (value instanceof String) { + try { + value = value.toInteger() + } catch (NumberFormatException e) { + // do nothing + } + } + if (value instanceof java.math.BigInteger) { + value = value.intValue() + } + expectedClass = value instanceof Integer ? null : "Integer" + } else if (par.type == "long") { + // cast to long if need be + if (value instanceof String) { + try { + value = value.toLong() + } catch (NumberFormatException e) { + // do nothing + } + } + if (value instanceof Integer) { + value = value.toLong() + } + expectedClass = value instanceof Long ? null : "Long" + } else if (par.type == "double") { + // cast to double if need be + if (value instanceof String) { + try { + value = value.toDouble() + } catch (NumberFormatException e) { + // do nothing + } + } + if (value instanceof java.math.BigDecimal) { + value = value.doubleValue() + } + if (value instanceof Float) { + value = value.toDouble() + } + expectedClass = value instanceof Double ? null : "Double" + } else if (par.type == "boolean" | par.type == "boolean_true" | par.type == "boolean_false") { + // cast to boolean if need be + if (value instanceof String) { + def valueLower = value.toLowerCase() + if (valueLower == "true") { + value = true + } else if (valueLower == "false") { + value = false + } + } + expectedClass = value instanceof Boolean ? null : "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 GString) { + value = value.toString() + } + expectedClass = value instanceof String ? null : "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) { + 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 _processOutputValues(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" + } + } + + 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 +} + +// 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/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 inputFiles_ = inputoutputFilenames_[0] + def outputFilenames_ = inputoutputFilenames_[1] + + 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, inputFiles_, outputFilenames_] + } + | 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), path(inputFiles, stageAs: "_inputfile?/*"), val(outputFiles) + output: + tuple val(id), path{[yamlFile] + 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 + [] + } + } + """ +mkdir -p "\$(dirname '${yamlFile}')" +echo "Storing state as yaml" +echo '${yamlBlob}' > '${yamlFile}' +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 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, 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] + // - (key, value) are the tuples that will be saved to the state.yaml file + // - (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 + 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, 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 value_ = java.nio.file.Paths.get(filename_ix) + // if id contains a slash + if (yamlDir != null) { + value_ = yamlDir.relativize(value_) + } + def inputPath = val instanceof File ? val.toPath() : val + [value: value_, inputPath: inputPath, outputFilename: filename_ix] + } + def transposedOutputs = ["value", "inputPath", "outputFilename"].collectEntries{ key -> + [key, outputPerFile.collect{dic -> dic[key]}] + } + return [[key: plainName_] + transposedOutputs] + } 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_, inputPath: [inputPath], outputFilename: [filename]]] + } + } + + def updatedState_ = processedState.collectEntries{[it.key, it.value]} + def inputPaths = processedState.collectMany{it.inputPath} + def outputFilenames = processedState.collectMany{it.outputFilename} + + // convert state to yaml blob + def yamlBlob_ = toTaggedYamlBlob([id: id_] + updatedState_) + + [id_, yamlBlob_, yamlFilename, inputPaths, outputFilenames] + } + | 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"] + + 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 chInitialOutput = chArgsWithDefaults + | _debug(workflowArgs, "processed") + // run workflow + | innerWorkflowFactory(workflowArgs) + // check output tuple + | map { id_, output_ -> + + // 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_ = _processOutputValues(output_, meta.config, id_, key_) + + // simplify output if need be + if (workflowArgs.auto.simplifyOutput && output_.size() == 1) { + output_ = output_.values()[0] + } + + [join_id, id_, output_] + } + // | view{"chInitialOutput: ${it.take(3)}"} + + // join the output [prev_id, new_id, output] with the previous state [prev_id, state, ...] + def chNewState = safeJoin(chInitialOutput, 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 chPublish = chNewState + // input tuple format: [join_id, id, new_state, ...] + // output tuple format: [join_id, id, new_state] + | map{ tup -> + tup.take(3) + } + + safeJoin(chPublish, 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) + } + + // remove join_id and meta + 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" : "rsem_calculate_expression", + "namespace" : "rsem", + "version" : "main", + "argument_groups" : [ + { + "name" : "Input", + "arguments" : [ + { + "type" : "string", + "name" : "--id", + "description" : "Sample ID.", + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "string", + "name" : "--strandedness", + "description" : "Sample strand-specificity. Must be one of unstranded, forward, reverse", + "required" : false, + "choices" : [ + "forward", + "reverse", + "unstranded" + ], + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "boolean_true", + "name" : "--paired", + "description" : "Paired-end reads or not?", + "direction" : "input" + }, + { + "type" : "file", + "name" : "--input", + "description" : "Input reads for quantification.", + "must_exist" : true, + "create_parent" : true, + "required" : false, + "direction" : "input", + "multiple" : true, + "multiple_sep" : ";" + }, + { + "type" : "file", + "name" : "--index", + "description" : "RSEM index.", + "must_exist" : false, + "create_parent" : true, + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "string", + "name" : "--extra_args", + "description" : "Extra rsem-calculate-expression arguments in addition to the examples.", + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + } + ] + }, + { + "name" : "Output", + "arguments" : [ + { + "type" : "file", + "name" : "--counts_gene", + "description" : "Expression counts on gene level", + "example" : [ + "$id.genes.results" + ], + "must_exist" : true, + "create_parent" : true, + "required" : false, + "direction" : "output", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "file", + "name" : "--counts_transcripts", + "description" : "Expression counts on transcript level", + "example" : [ + "$id.isoforms.results" + ], + "must_exist" : true, + "create_parent" : true, + "required" : false, + "direction" : "output", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "file", + "name" : "--stat", + "description" : "RSEM statistics", + "example" : [ + "$id.stat" + ], + "must_exist" : true, + "create_parent" : true, + "required" : false, + "direction" : "output", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "file", + "name" : "--logs", + "description" : "RSEM logs", + "example" : [ + "$id.log" + ], + "must_exist" : true, + "create_parent" : true, + "required" : false, + "direction" : "output", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "file", + "name" : "--bam_star", + "description" : "BAM file generated by STAR (optional)", + "example" : [ + "$id.STAR.genome.bam" + ], + "must_exist" : true, + "create_parent" : true, + "required" : false, + "direction" : "output", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "file", + "name" : "--bam_genome", + "description" : "Genome BAM file (optional)", + "example" : [ + "$id.genome.bam" + ], + "must_exist" : true, + "create_parent" : true, + "required" : false, + "direction" : "output", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "file", + "name" : "--bam_transcript", + "description" : "Transcript BAM file (optional)", + "example" : [ + "$id.transcript.bam" + ], + "must_exist" : true, + "create_parent" : true, + "required" : false, + "direction" : "output", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "boolean_true", + "name" : "--sort_bam_by_read_name", + "description" : "Sort BAM file aligned under transcript coordidate by read name. Setting this option on will produce \ndeterministic maximum likelihood estimations from independent runs. Note that sorting will take long \ntime and lots of memory.\n", + "direction" : "input" + }, + { + "type" : "boolean_true", + "name" : "--no_bam_output", + "description" : "Do not output any BAM file.", + "direction" : "input" + }, + { + "type" : "boolean_true", + "name" : "--sampling_for_bam", + "description" : "When RSEM generates a BAM file, instead of outputting all alignments a read has with their posterior \nprobabilities, one alignment is sampled according to the posterior probabilities. The sampling procedure \nincludes the alignment to the \\"noise\\" transcript, which does not appear in the BAM file. Only the \nsampled alignment has a weight of 1. All other alignments have weight 0. If the \\"noise\\" transcript is \nsampled, all alignments appeared in the BAM file should have weight 0.\n", + "direction" : "input" + }, + { + "type" : "boolean_true", + "name" : "--output_genome_bam", + "description" : "Generate a BAM file, 'sample_name.genome.bam', with alignments mapped to genomic coordinates and \nannotated with their posterior probabilities. In addition, RSEM will call samtools (included in RSEM \npackage) to sort and index the bam file. 'sample_name.genome.sorted.bam' and 'sample_name.genome.sorted.bam.bai' \nwill be generated.\n", + "direction" : "input" + }, + { + "type" : "boolean_true", + "name" : "--sort_bam_by_coordinate", + "description" : "Sort RSEM generated transcript and genome BAM files by coordinates and build associated indices.\n", + "direction" : "input" + } + ] + }, + { + "name" : "Basic Options", + "arguments" : [ + { + "type" : "boolean_true", + "name" : "--no_qualities", + "description" : "Input reads do not contain quality scores.", + "direction" : "input" + }, + { + "type" : "boolean_true", + "name" : "--alignments", + "description" : "Input file contains alignments in SAM/BAM/CRAM format. The exact file format will be determined \nautomatically.\n", + "direction" : "input" + }, + { + "type" : "file", + "name" : "--fai", + "description" : "If the header section of input alignment file does not contain reference sequence information, \nthis option should be turned on. is a FAI format file containing each reference sequence's \nname and length. Please refer to the SAM official website for the details of FAI format.\n", + "must_exist" : true, + "create_parent" : true, + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "boolean_true", + "name" : "--bowtie2", + "description" : "Use Bowtie 2 instead of Bowtie to align reads. Since currently RSEM does not handle indel, local \nand discordant alignments, the Bowtie2 parameters are set in a way to avoid those alignments. In \nparticular, we use options '--sensitive --dpad 0 --gbar 99999999 --mp 1,1 --np 1 --score_min L,0,-0.1' \nby default. The last parameter of '--score_min', '-0.1', is the negative of maximum mismatch rate. \nThis rate can be set by option '--bowtie2_mismatch_rate'. If reads are paired-end, we additionally \nuse options '--no_mixed' and '--no_discordant'.\n", + "direction" : "input" + }, + { + "type" : "boolean_true", + "name" : "--star", + "description" : "Use STAR to align reads. Alignment parameters are from ENCODE3's STAR-RSEM pipeline. To save \ncomputational time and memory resources, STAR's Output BAM file is unsorted. It is stored in RSEM's \ntemporary directory with name as 'sample_name.bam'. Each STAR job will have its own private copy of \nthe genome in memory.\n", + "direction" : "input" + }, + { + "type" : "boolean_true", + "name" : "--hisat2_hca", + "description" : "Use HISAT2 to align reads to the transcriptome according to Human Cell Atlast.\n", + "direction" : "input" + }, + { + "type" : "boolean_true", + "name" : "--append_names", + "description" : "If gene_name/transcript_name is available, append it to the end of gene_id/transcript_id (separated \nby '_') in files 'sample_name.isoforms.results' and 'sample_name.genes.results'.\n", + "direction" : "input" + }, + { + "type" : "integer", + "name" : "--seed", + "description" : "Set the seed for the random number generators used in calculating posterior mean estimates and \ncredibility intervals. The seed must be a non-negative 32 bit integer.\n", + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "boolean_true", + "name" : "--single_cell_prior", + "description" : "By default, RSEM uses Dirichlet(1) as the prior to calculate posterior mean estimates and credibility \nintervals. However, much less genes are expressed in single cell RNA-Seq data. Thus, if you want to \ncompute posterior mean estimates and/or credibility intervals and you have single-cell RNA-Seq data, \nyou are recommended to turn on this option. Then RSEM will use Dirichlet(0.1) as the prior which \nencourage the sparsity of the expression levels.\n", + "direction" : "input" + }, + { + "type" : "boolean_true", + "name" : "--calc_pme", + "description" : "Run RSEM's collapsed Gibbs sampler to calculate posterior mean estimates.", + "direction" : "input" + }, + { + "type" : "boolean_true", + "name" : "--calc_ci", + "description" : "Calculate 95% credibility intervals and posterior mean estimates. The credibility level can be \nchanged by setting '--ci_credibility_level'.\n", + "direction" : "input" + }, + { + "type" : "boolean_true", + "name" : "--quiet", + "alternatives" : [ + "-q" + ], + "description" : "Suppress the output of logging information.", + "direction" : "input" + } + ] + }, + { + "name" : "Aligner Options", + "arguments" : [ + { + "type" : "integer", + "name" : "--seed_length", + "description" : "Seed length used by the read aligner. Providing the correct value is important for RSEM. If RSEM \nruns Bowtie, it uses this value for Bowtie's seed length parameter. Any read with its or at least \none of its mates' (for paired-end reads) length less than this value will be ignored. If the \nreferences are not added poly(A) tails, the minimum allowed value is 5, otherwise, the minimum \nallowed value is 25. Note that this script will only check if the value >= 5 and give a warning \nmessage if the value < 25 but >= 5. (Default: 25)\n", + "example" : [ + 25 + ], + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "boolean_true", + "name" : "--phred64_quals", + "description" : "Input quality scores are encoded as Phred+64 (default for GA Pipeline ver. >= 1.3). This option is \nused by Bowtie, Bowtie 2 and HISAT2. Otherwise, quality score will be encoded as Phred+33. (Default: false)\n", + "direction" : "input" + }, + { + "type" : "boolean_true", + "name" : "--solexa_quals", + "description" : "Input quality scores are solexa encoded (from GA Pipeline ver. < 1.3). This option is used by \nBowtie, Bowtie 2 and HISAT2. Otherwise, quality score will be encoded as Phred+33. (Default: false)\n", + "direction" : "input" + }, + { + "type" : "integer", + "name" : "--bowtie_n", + "description" : "(Bowtie parameter) max # of mismatches in the seed. (Range: 0-3, Default: 2)\n", + "example" : [ + 2 + ], + "required" : false, + "choices" : [ + 0, + 1, + 2, + 3 + ], + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "integer", + "name" : "--bowtie_e", + "description" : "(Bowtie parameter) max sum of mismatch quality scores across the alignment. (Default: 99999999)\n", + "example" : [ + 99999999 + ], + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "integer", + "name" : "--bowtie_m", + "description" : "(Bowtie parameter) suppress all alignments for a read if > valid alignments exist. (Default: 200)\n", + "example" : [ + 200 + ], + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "integer", + "name" : "--bowtie_chunkmbs", + "description" : "(Bowtie parameter) memory allocated for best first alignment calculation (Default: 0 - use Bowtie's default)\n", + "example" : [ + 0 + ], + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "double", + "name" : "--bowtie2_mismatch_rate", + "description" : "(Bowtie 2 parameter) The maximum mismatch rate allowed. (Default: 0.1)\n", + "example" : [ + 0.1 + ], + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "integer", + "name" : "--bowtie2_k", + "description" : "(Bowtie 2 parameter) Find up to alignments per read. (Default: 200)\n", + "example" : [ + 200 + ], + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "string", + "name" : "--bowtie2_sensitivity_level", + "description" : "(Bowtie 2 parameter) Set Bowtie 2's preset options in --end-to-end mode. This option controls how \nhard Bowtie 2 tries to find alignments. must be one of \\"very_fast\\", \\"fast\\", \\"sensitive\\" \nand \\"very_sensitive\\". The four candidates correspond to Bowtie 2's \\"--very-fast\\", \\"--fast\\", \n\\"--sensitive\\" and \\"--very-sensitive\\" options. (Default: \\"sensitive\\" - use Bowtie 2's default)\n", + "example" : [ + "sensitive" + ], + "required" : false, + "choices" : [ + "very_fast", + "fast", + "sensitive", + "very_sensitive" + ], + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "boolean_true", + "name" : "--star_gzipped_read_file", + "description" : "Input read file(s) is compressed by gzip. (Default: false)\n", + "direction" : "input" + }, + { + "type" : "boolean_true", + "name" : "--star_bzipped_read_file", + "description" : "Input read file(s) is compressed by bzip2. (Default: false)\n", + "direction" : "input" + }, + { + "type" : "boolean_true", + "name" : "--star_output_genome_bam", + "description" : "Save the BAM file from STAR alignment under genomic coordinate to 'sample_name.STAR.genome.bam'. \nThis file is NOT sorted by genomic coordinate. In this file, according to STAR's manual, 'paired \nends of an alignment are always adjacent, and multiple alignments of a read are adjacent as well'. \n(Default: false)\n", + "direction" : "input" + } + ] + }, + { + "name" : "Advanced Options", + "arguments" : [ + { + "type" : "string", + "name" : "--tag", + "description" : "The name of the optional field used in the SAM input for identifying a read with too many valid \nalignments. The field should have the format :i:, where a bigger than 0 \nindicates a read with too many alignments. (Default: \\"\\")\n", + "example" : [ + "" + ], + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "integer", + "name" : "--fragment_length_min", + "description" : "Minimum read/insert length allowed. This is also the value for the Bowtie/Bowtie2 -I option. \n(Default: 1)\n", + "example" : [ + 1 + ], + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "integer", + "name" : "--fragment_length_max", + "description" : "Maximum read/insert length allowed. This is also the value for the Bowtie/Bowtie 2 -X option. \n(Default: 1000)\n", + "example" : [ + 1000 + ], + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "integer", + "name" : "--fragment_length_mean", + "description" : "(single-end data only) The mean of the fragment length distribution, which is assumed to be a \nGaussian. (Default: -1, which disables use of the fragment length distribution)\n", + "example" : [ + -1 + ], + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "double", + "name" : "--gragment_length_sd", + "description" : "(single-end data only) The standard deviation of the fragment length distribution, which is \nassumed to be a Gaussian. (Default: 0, which assumes that all fragments are of the same length, \ngiven by the rounded value of --fragment_length_mean).\n", + "example" : [ + 0.0 + ], + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "boolean_true", + "name" : "--estimate_rspd", + "description" : "Set this option if you want to estimate the read start position distribution (RSPD) from data.\nOtherwise, RSEM will use a uniform RSPD.\n", + "direction" : "input" + }, + { + "type" : "integer", + "name" : "--num_rspd_bins", + "description" : "Number of bins in the RSPD. Only relevant when '--estimate_rspd' is specified. Use of the default \nsetting is recommended. (Default: 20)\n", + "example" : [ + 20 + ], + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "integer", + "name" : "--gibbs_burnin", + "description" : "The number of burn-in rounds for RSEM's Gibbs sampler. Each round passes over the entire data set \nonce. If RSEM can use multiple threads, multiple Gibbs samplers will start at the same time and all \nsamplers share the same burn-in number. (Default: 200)\n", + "example" : [ + 200 + ], + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "integer", + "name" : "--gibbs_number_of_samples", + "description" : "The total number of count vectors RSEM will collect from its Gibbs samplers. (Default: 1000)\n", + "example" : [ + 1000 + ], + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "integer", + "name" : "--gibbs_sampling_gap", + "description" : "The number of rounds between two succinct count vectors RSEM collects. If the count vector after \nround N is collected, the count vector after round N + will also be collected. (Default: 1)\n", + "example" : [ + 1 + ], + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "double", + "name" : "--ci_credibility_level", + "description" : "The credibility level for credibility intervals. (Default: 0.95)\n", + "example" : [ + 0.95 + ], + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "integer", + "name" : "--ci_number_of_samples_per_count_vector", + "description" : "The number of read generating probability vectors sampled per sampled count vector. The crebility \nintervals are calculated by first sampling P(C | D) and then sampling P(Theta | C) for each sampled \ncount vector. This option controls how many Theta vectors are sampled per sampled count vector. \n(Default: 50)\n", + "example" : [ + 50 + ], + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "boolean_true", + "name" : "--keep_intermediate_files", + "description" : "Keep temporary files generated by RSEM. RSEM creates a temporary directory, 'sample_name.temp', \ninto which it puts all intermediate output files. If this directory already exists, RSEM overwrites \nall files generated by previous RSEM runs inside of it. By default, after RSEM finishes, the \ntemporary directory is deleted. Set this option to prevent the deletion of this directory and the \nintermediate files inside of it.\n", + "direction" : "input" + }, + { + "type" : "string", + "name" : "--temporary_folder", + "description" : "Set where to put the temporary files generated by RSEM. If the folder specified does not exist, \nRSEM will try to create it. (Default: sample_name.temp)\n", + "example" : [ + "sample_name.temp" + ], + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "boolean_true", + "name" : "--time", + "description" : "Output time consumed by each step of RSEM to 'sample_name.time'.\n", + "direction" : "input" + } + ] + }, + { + "name" : "Prior-Enhanced RSEM Options", + "arguments" : [ + { + "type" : "boolean_true", + "name" : "--run_pRSEM", + "description" : "Running prior-enhanced RSEM (pRSEM). Prior parameters, i.e. isoform's initial pseudo-count for \nRSEM's Gibbs sampling, will be learned from input RNA-seq data and an external data set. When pRSEM \nneeds and only needs ChIP-seq peak information to partition isoforms (e.g. in pRSEM's default \npartition model), either ChIP-seq peak file (with the '--chipseq_peak_file' option) or ChIP-seq \nFASTQ files for target and input and the path for Bowtie executables are required (with the \n'--chipseq_target_read_files ', '--chipseq_control_read_files ', and '--bowtie_path \n options), otherwise, ChIP-seq FASTQ files for target and control and the path to Bowtie \nexecutables are required.\n", + "direction" : "input" + }, + { + "type" : "file", + "name" : "--chipseq_peak_file", + "description" : "Full path to a ChIP-seq peak file in ENCODE's narrowPeak, i.e. BED6+4, format. This file is used \nwhen running prior-enhanced RSEM in the default two-partition model. It partitions isoforms by \nwhether they have ChIP-seq overlapping with their transcription start site region or not. Each \npartition will have its own prior parameter learned from a training set. This file can be either \ngzipped or ungzipped.\n", + "must_exist" : true, + "create_parent" : true, + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "file", + "name" : "--chipseq_target_read_files", + "description" : "Comma-separated full path of FASTQ read file(s) for ChIP-seq target. This option is used when running \nprior-enhanced RSEM. It provides information to calculate ChIP-seq peaks and signals. The file(s) \ncan be either ungzipped or gzipped with a suffix '.gz' or '.gzip'. The options '--bowtie_path ' \nand '--chipseq_control_read_files ' must be defined when this option is specified.\n", + "must_exist" : true, + "create_parent" : true, + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "file", + "name" : "--chipseq_control_read_files", + "description" : "Comma-separated full path of FASTQ read file(s) for ChIP-seq conrol. This option is used when running \nprior-enhanced RSEM. It provides information to call ChIP-seq peaks. The file(s) can be either \nungzipped or gzipped with a suffix '.gz' or '.gzip'. The options '--bowtie_path ' and \n'--chipseq_target_read_files ' must be defined when this option is specified.\n", + "must_exist" : true, + "create_parent" : true, + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "file", + "name" : "--chipseq_read_files_multi_targets", + "description" : "Comma-separated full path of FASTQ read files for multiple ChIP-seq targets. This option is used when \nrunning prior-enhanced RSEM, where prior is learned from multiple complementary data sets. It provides \ninformation to calculate ChIP-seq signals. All files can be either ungzipped or gzipped with a suffix \n'.gz' or '.gzip'. When this option is specified, the option '--bowtie_path ' must be defined and \nthe option '--partition_model ' will be set to 'cmb_lgt' automatically.\n", + "must_exist" : true, + "create_parent" : true, + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "file", + "name" : "--chipseq_bed_files_multi_targets", + "description" : "Comma-separated full path of BED files for multiple ChIP-seq targets. This option is used when running \nprior-enhanced RSEM, where prior is learned from multiple complementary data sets. It provides information \nof ChIP-seq signals and must have at least the first six BED columns. All files can be either ungzipped \nor gzipped with a suffix '.gz' or '.gzip'. When this option is specified, the option '--partition_model \n' will be set to 'cmb_lgt' automatically.\n", + "must_exist" : true, + "create_parent" : true, + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "boolean_true", + "name" : "--cap_stacked_chipseq_reads", + "description" : "Keep a maximum number of ChIP-seq reads that aligned to the same genomic interval. This option is used \nwhen running prior-enhanced RSEM, where prior is learned from multiple complementary data sets. This \noption is only in use when either '--chipseq_read_files_multi_targets ' or \n'--chipseq_bed_files_multi_targets ' is specified.\n", + "direction" : "input" + }, + { + "type" : "integer", + "name" : "--n_max_stacked_chipseq_reads", + "description" : "The maximum number of stacked ChIP-seq reads to keep. This option is used when running prior-enhanced \nRSEM, where prior is learned from multiple complementary data sets. This option is only in use when the \noption '--cap_stacked_chipseq_reads' is set.\n", + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + }, + { + "type" : "string", + "name" : "--partition_model", + "description" : "A keyword to specify the partition model used by prior-enhanced RSEM. It must be one of the following \nkeywords:\n* pk\n* pk_lgtnopk\n* lm3, lm4, lm5, or lm6\n* nopk_lm2pk, nopk_lm3pk, nopk_lm4pk, or nopk_lm5pk\n* pk_lm2nopk, pk_lm3nopk, pk_lm4nopk, or pk_lm5nopk\n* cmb_lgt\nParameters for all the above models are learned from a training set. For detailed explanations, please \nsee prior-enhanced RSEM's paper. (Default: 'pk')\n", + "example" : [ + "pk" + ], + "required" : false, + "direction" : "input", + "multiple" : false, + "multiple_sep" : ";" + } + ] + } + ], + "resources" : [ + { + "type" : "bash_script", + "path" : "script.sh", + "is_executable" : true + } + ], + "description" : "Calculate expression with RSEM. \n", + "test_resources" : [ + { + "type" : "bash_script", + "path" : "test.sh", + "is_executable" : true + } + ], + "status" : "enabled", + "requirements" : { + "commands" : [ + "ps" + ] + }, + "keywords" : [ + "Transcriptome", + "Index", + "Alignment", + "RSEM" + ], + "license" : "GPL-3.0", + "references" : { + "doi" : [ + "https://doi.org/10.1186/1471-2105-12-323" + ] + }, + "links" : { + "repository" : "https://github.com/deweylab/RSEM", + "homepage" : "https://deweylab.github.io/RSEM/", + "documentation" : "https://deweylab.github.io/RSEM/rsem-calculate-expression.html" + }, + "runners" : [ + { + "type" : "executable", + "id" : "executable", + "docker_setup_strategy" : "ifneedbepullelsecachedbuild" + }, + { + "type" : "nextflow", + "id" : "nextflow", + "directives" : { + "tag" : "$id" + }, + "auto" : { + "simplifyInput" : true, + "simplifyOutput" : false, + "transcript" : false, + "publish" : false + }, + "config" : { + "labels" : { + "mem1gb" : "memory = 1000000000.B", + "mem2gb" : "memory = 2000000000.B", + "mem5gb" : "memory = 5000000000.B", + "mem10gb" : "memory = 10000000000.B", + "mem20gb" : "memory = 20000000000.B", + "mem50gb" : "memory = 50000000000.B", + "mem100gb" : "memory = 100000000000.B", + "mem200gb" : "memory = 200000000000.B", + "mem500gb" : "memory = 500000000000.B", + "mem1tb" : "memory = 1000000000000.B", + "mem2tb" : "memory = 2000000000000.B", + "mem5tb" : "memory = 5000000000000.B", + "mem10tb" : "memory = 10000000000000.B", + "mem20tb" : "memory = 20000000000000.B", + "mem50tb" : "memory = 50000000000000.B", + "mem100tb" : "memory = 100000000000000.B", + "mem200tb" : "memory = 200000000000000.B", + "mem500tb" : "memory = 500000000000000.B", + "mem1gib" : "memory = 1073741824.B", + "mem2gib" : "memory = 2147483648.B", + "mem4gib" : "memory = 4294967296.B", + "mem8gib" : "memory = 8589934592.B", + "mem16gib" : "memory = 17179869184.B", + "mem32gib" : "memory = 34359738368.B", + "mem64gib" : "memory = 68719476736.B", + "mem128gib" : "memory = 137438953472.B", + "mem256gib" : "memory = 274877906944.B", + "mem512gib" : "memory = 549755813888.B", + "mem1tib" : "memory = 1099511627776.B", + "mem2tib" : "memory = 2199023255552.B", + "mem4tib" : "memory = 4398046511104.B", + "mem8tib" : "memory = 8796093022208.B", + "mem16tib" : "memory = 17592186044416.B", + "mem32tib" : "memory = 35184372088832.B", + "mem64tib" : "memory = 70368744177664.B", + "mem128tib" : "memory = 140737488355328.B", + "mem256tib" : "memory = 281474976710656.B", + "mem512tib" : "memory = 562949953421312.B", + "cpu1" : "cpus = 1", + "cpu2" : "cpus = 2", + "cpu5" : "cpus = 5", + "cpu10" : "cpus = 10", + "cpu20" : "cpus = 20", + "cpu50" : "cpus = 50", + "cpu100" : "cpus = 100", + "cpu200" : "cpus = 200", + "cpu500" : "cpus = 500", + "cpu1000" : "cpus = 1000" + } + }, + "debug" : false, + "container" : "docker" + } + ], + "engines" : [ + { + "type" : "docker", + "id" : "docker", + "image" : "ubuntu:22.04", + "target_registry" : "images.viash-hub.com", + "target_tag" : "main", + "namespace_separator" : "/", + "setup" : [ + { + "type" : "apt", + "packages" : [ + "build-essential", + "gcc", + "g++", + "make", + "wget", + "zlib1g-dev", + "unzip" + ], + "interactive" : false + }, + { + "type" : "docker", + "run" : [ + "apt-get update && \\\\\napt-get clean && \\\\\nwget --no-check-certificate https://github.com/alexdobin/STAR/archive/refs/tags/2.7.11a.zip && \\\\\nunzip 2.7.11a.zip && \\\\\ncp STAR-2.7.11a/bin/Linux_x86_64_static/STAR /usr/local/bin && \\\\\ncd && \\\\\nwget --no-check-certificate https://github.com/deweylab/RSEM/archive/refs/tags/v1.3.3.zip && \\\\\nunzip v1.3.3.zip && \\\\\ncd RSEM-1.3.3 && \\\\\nmake && \\\\\nmake install\n" + ], + "env" : [ + "STAR_VERSION=2.7.11b", + "RSEM_VERSION=1.3.3" + ] + }, + { + "type" : "docker", + "run" : [ + "echo \\"RSEM: `rsem-calculate-expression --version | sed -e 's/Current version: RSEM v//g'`\\" > /var/software_versions.txt && \\\\\necho \\"STAR: `STAR --version`\\" >> /var/software_versions.txt && \\\\\necho \\"bowtie2: `bowtie2 --version | grep -oP '\\\\d+\\\\.\\\\d+\\\\.\\\\d+'`\\" >> /var/software_versions.txt && \\\\\necho \\"bowtie: `bowtie --version | grep -oP 'bowtie-align-s version \\\\K\\\\d+\\\\.\\\\d+\\\\.\\\\d+'`\\" >> /var/software_versions.txt && \\\\\necho \\"HISAT2: `hisat2 --version | grep -oP 'hisat2-align-s version \\\\K\\\\d+\\\\.\\\\d+\\\\.\\\\d+'`\\" >> /var/software_versions.txt\n" + ] + } + ] + }, + { + "type" : "native", + "id" : "native" + } + ], + "build_info" : { + "config" : "/workdir/root/repo/src/rsem/rsem_calculate_expression/config.vsh.yaml", + "runner" : "nextflow", + "engine" : "docker|native", + "output" : "target/nextflow/rsem/rsem_calculate_expression", + "viash_version" : "0.9.0", + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" + }, + "package_config" : { + "name" : "biobox", + "version" : "main", + "description" : "A collection of bioinformatics tools for working with sequence data.\n", + "viash_version" : "0.9.0", + "source" : "src", + "target" : "target", + "config_mods" : [ + ".requirements.commands := ['ps']\n", + ".engines += { type: \\"native\\" }", + ".engines[.type == 'docker'].target_registry := 'images.viash-hub.com'", + ".engines[.type == 'docker'].target_tag := 'main'" + ], + "keywords" : [ + "bioinformatics", + "modules", + "sequencing" + ], + "license" : "MIT", + "organization" : "vsh", + "links" : { + "repository" : "https://github.com/viash-hub/biobox", + "issue_tracker" : "https://github.com/viash-hub/biobox/issues" + } + } +}''')) +] + +// 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 + +## VIASH START +# The following code has been auto-generated by Viash. +$( if [ ! -z ${VIASH_PAR_ID+x} ]; then echo "${VIASH_PAR_ID}" | sed "s#'#'\\"'\\"'#g;s#.*#par_id='&'#" ; else echo "# par_id="; fi ) +$( if [ ! -z ${VIASH_PAR_STRANDEDNESS+x} ]; then echo "${VIASH_PAR_STRANDEDNESS}" | sed "s#'#'\\"'\\"'#g;s#.*#par_strandedness='&'#" ; else echo "# par_strandedness="; fi ) +$( if [ ! -z ${VIASH_PAR_PAIRED+x} ]; then echo "${VIASH_PAR_PAIRED}" | sed "s#'#'\\"'\\"'#g;s#.*#par_paired='&'#" ; else echo "# par_paired="; fi ) +$( if [ ! -z ${VIASH_PAR_INPUT+x} ]; then echo "${VIASH_PAR_INPUT}" | sed "s#'#'\\"'\\"'#g;s#.*#par_input='&'#" ; else echo "# par_input="; fi ) +$( if [ ! -z ${VIASH_PAR_INDEX+x} ]; then echo "${VIASH_PAR_INDEX}" | sed "s#'#'\\"'\\"'#g;s#.*#par_index='&'#" ; else echo "# par_index="; fi ) +$( if [ ! -z ${VIASH_PAR_EXTRA_ARGS+x} ]; then echo "${VIASH_PAR_EXTRA_ARGS}" | sed "s#'#'\\"'\\"'#g;s#.*#par_extra_args='&'#" ; else echo "# par_extra_args="; fi ) +$( if [ ! -z ${VIASH_PAR_COUNTS_GENE+x} ]; then echo "${VIASH_PAR_COUNTS_GENE}" | sed "s#'#'\\"'\\"'#g;s#.*#par_counts_gene='&'#" ; else echo "# par_counts_gene="; fi ) +$( if [ ! -z ${VIASH_PAR_COUNTS_TRANSCRIPTS+x} ]; then echo "${VIASH_PAR_COUNTS_TRANSCRIPTS}" | sed "s#'#'\\"'\\"'#g;s#.*#par_counts_transcripts='&'#" ; else echo "# par_counts_transcripts="; fi ) +$( if [ ! -z ${VIASH_PAR_STAT+x} ]; then echo "${VIASH_PAR_STAT}" | sed "s#'#'\\"'\\"'#g;s#.*#par_stat='&'#" ; else echo "# par_stat="; fi ) +$( if [ ! -z ${VIASH_PAR_LOGS+x} ]; then echo "${VIASH_PAR_LOGS}" | sed "s#'#'\\"'\\"'#g;s#.*#par_logs='&'#" ; else echo "# par_logs="; fi ) +$( if [ ! -z ${VIASH_PAR_BAM_STAR+x} ]; then echo "${VIASH_PAR_BAM_STAR}" | sed "s#'#'\\"'\\"'#g;s#.*#par_bam_star='&'#" ; else echo "# par_bam_star="; fi ) +$( if [ ! -z ${VIASH_PAR_BAM_GENOME+x} ]; then echo "${VIASH_PAR_BAM_GENOME}" | sed "s#'#'\\"'\\"'#g;s#.*#par_bam_genome='&'#" ; else echo "# par_bam_genome="; fi ) +$( if [ ! -z ${VIASH_PAR_BAM_TRANSCRIPT+x} ]; then echo "${VIASH_PAR_BAM_TRANSCRIPT}" | sed "s#'#'\\"'\\"'#g;s#.*#par_bam_transcript='&'#" ; else echo "# par_bam_transcript="; fi ) +$( if [ ! -z ${VIASH_PAR_SORT_BAM_BY_READ_NAME+x} ]; then echo "${VIASH_PAR_SORT_BAM_BY_READ_NAME}" | sed "s#'#'\\"'\\"'#g;s#.*#par_sort_bam_by_read_name='&'#" ; else echo "# par_sort_bam_by_read_name="; fi ) +$( if [ ! -z ${VIASH_PAR_NO_BAM_OUTPUT+x} ]; then echo "${VIASH_PAR_NO_BAM_OUTPUT}" | sed "s#'#'\\"'\\"'#g;s#.*#par_no_bam_output='&'#" ; else echo "# par_no_bam_output="; fi ) +$( if [ ! -z ${VIASH_PAR_SAMPLING_FOR_BAM+x} ]; then echo "${VIASH_PAR_SAMPLING_FOR_BAM}" | sed "s#'#'\\"'\\"'#g;s#.*#par_sampling_for_bam='&'#" ; else echo "# par_sampling_for_bam="; fi ) +$( if [ ! -z ${VIASH_PAR_OUTPUT_GENOME_BAM+x} ]; then echo "${VIASH_PAR_OUTPUT_GENOME_BAM}" | sed "s#'#'\\"'\\"'#g;s#.*#par_output_genome_bam='&'#" ; else echo "# par_output_genome_bam="; fi ) +$( if [ ! -z ${VIASH_PAR_SORT_BAM_BY_COORDINATE+x} ]; then echo "${VIASH_PAR_SORT_BAM_BY_COORDINATE}" | sed "s#'#'\\"'\\"'#g;s#.*#par_sort_bam_by_coordinate='&'#" ; else echo "# par_sort_bam_by_coordinate="; fi ) +$( if [ ! -z ${VIASH_PAR_NO_QUALITIES+x} ]; then echo "${VIASH_PAR_NO_QUALITIES}" | sed "s#'#'\\"'\\"'#g;s#.*#par_no_qualities='&'#" ; else echo "# par_no_qualities="; fi ) +$( if [ ! -z ${VIASH_PAR_ALIGNMENTS+x} ]; then echo "${VIASH_PAR_ALIGNMENTS}" | sed "s#'#'\\"'\\"'#g;s#.*#par_alignments='&'#" ; else echo "# par_alignments="; fi ) +$( if [ ! -z ${VIASH_PAR_FAI+x} ]; then echo "${VIASH_PAR_FAI}" | sed "s#'#'\\"'\\"'#g;s#.*#par_fai='&'#" ; else echo "# par_fai="; fi ) +$( if [ ! -z ${VIASH_PAR_BOWTIE2+x} ]; then echo "${VIASH_PAR_BOWTIE2}" | sed "s#'#'\\"'\\"'#g;s#.*#par_bowtie2='&'#" ; else echo "# par_bowtie2="; fi ) +$( if [ ! -z ${VIASH_PAR_STAR+x} ]; then echo "${VIASH_PAR_STAR}" | sed "s#'#'\\"'\\"'#g;s#.*#par_star='&'#" ; else echo "# par_star="; fi ) +$( if [ ! -z ${VIASH_PAR_HISAT2_HCA+x} ]; then echo "${VIASH_PAR_HISAT2_HCA}" | sed "s#'#'\\"'\\"'#g;s#.*#par_hisat2_hca='&'#" ; else echo "# par_hisat2_hca="; fi ) +$( if [ ! -z ${VIASH_PAR_APPEND_NAMES+x} ]; then echo "${VIASH_PAR_APPEND_NAMES}" | sed "s#'#'\\"'\\"'#g;s#.*#par_append_names='&'#" ; else echo "# par_append_names="; fi ) +$( if [ ! -z ${VIASH_PAR_SEED+x} ]; then echo "${VIASH_PAR_SEED}" | sed "s#'#'\\"'\\"'#g;s#.*#par_seed='&'#" ; else echo "# par_seed="; fi ) +$( if [ ! -z ${VIASH_PAR_SINGLE_CELL_PRIOR+x} ]; then echo "${VIASH_PAR_SINGLE_CELL_PRIOR}" | sed "s#'#'\\"'\\"'#g;s#.*#par_single_cell_prior='&'#" ; else echo "# par_single_cell_prior="; fi ) +$( if [ ! -z ${VIASH_PAR_CALC_PME+x} ]; then echo "${VIASH_PAR_CALC_PME}" | sed "s#'#'\\"'\\"'#g;s#.*#par_calc_pme='&'#" ; else echo "# par_calc_pme="; fi ) +$( if [ ! -z ${VIASH_PAR_CALC_CI+x} ]; then echo "${VIASH_PAR_CALC_CI}" | sed "s#'#'\\"'\\"'#g;s#.*#par_calc_ci='&'#" ; else echo "# par_calc_ci="; fi ) +$( if [ ! -z ${VIASH_PAR_QUIET+x} ]; then echo "${VIASH_PAR_QUIET}" | sed "s#'#'\\"'\\"'#g;s#.*#par_quiet='&'#" ; else echo "# par_quiet="; fi ) +$( if [ ! -z ${VIASH_PAR_SEED_LENGTH+x} ]; then echo "${VIASH_PAR_SEED_LENGTH}" | sed "s#'#'\\"'\\"'#g;s#.*#par_seed_length='&'#" ; else echo "# par_seed_length="; fi ) +$( if [ ! -z ${VIASH_PAR_PHRED64_QUALS+x} ]; then echo "${VIASH_PAR_PHRED64_QUALS}" | sed "s#'#'\\"'\\"'#g;s#.*#par_phred64_quals='&'#" ; else echo "# par_phred64_quals="; fi ) +$( if [ ! -z ${VIASH_PAR_SOLEXA_QUALS+x} ]; then echo "${VIASH_PAR_SOLEXA_QUALS}" | sed "s#'#'\\"'\\"'#g;s#.*#par_solexa_quals='&'#" ; else echo "# par_solexa_quals="; fi ) +$( if [ ! -z ${VIASH_PAR_BOWTIE_N+x} ]; then echo "${VIASH_PAR_BOWTIE_N}" | sed "s#'#'\\"'\\"'#g;s#.*#par_bowtie_n='&'#" ; else echo "# par_bowtie_n="; fi ) +$( if [ ! -z ${VIASH_PAR_BOWTIE_E+x} ]; then echo "${VIASH_PAR_BOWTIE_E}" | sed "s#'#'\\"'\\"'#g;s#.*#par_bowtie_e='&'#" ; else echo "# par_bowtie_e="; fi ) +$( if [ ! -z ${VIASH_PAR_BOWTIE_M+x} ]; then echo "${VIASH_PAR_BOWTIE_M}" | sed "s#'#'\\"'\\"'#g;s#.*#par_bowtie_m='&'#" ; else echo "# par_bowtie_m="; fi ) +$( if [ ! -z ${VIASH_PAR_BOWTIE_CHUNKMBS+x} ]; then echo "${VIASH_PAR_BOWTIE_CHUNKMBS}" | sed "s#'#'\\"'\\"'#g;s#.*#par_bowtie_chunkmbs='&'#" ; else echo "# par_bowtie_chunkmbs="; fi ) +$( if [ ! -z ${VIASH_PAR_BOWTIE2_MISMATCH_RATE+x} ]; then echo "${VIASH_PAR_BOWTIE2_MISMATCH_RATE}" | sed "s#'#'\\"'\\"'#g;s#.*#par_bowtie2_mismatch_rate='&'#" ; else echo "# par_bowtie2_mismatch_rate="; fi ) +$( if [ ! -z ${VIASH_PAR_BOWTIE2_K+x} ]; then echo "${VIASH_PAR_BOWTIE2_K}" | sed "s#'#'\\"'\\"'#g;s#.*#par_bowtie2_k='&'#" ; else echo "# par_bowtie2_k="; fi ) +$( if [ ! -z ${VIASH_PAR_BOWTIE2_SENSITIVITY_LEVEL+x} ]; then echo "${VIASH_PAR_BOWTIE2_SENSITIVITY_LEVEL}" | sed "s#'#'\\"'\\"'#g;s#.*#par_bowtie2_sensitivity_level='&'#" ; else echo "# par_bowtie2_sensitivity_level="; fi ) +$( if [ ! -z ${VIASH_PAR_STAR_GZIPPED_READ_FILE+x} ]; then echo "${VIASH_PAR_STAR_GZIPPED_READ_FILE}" | sed "s#'#'\\"'\\"'#g;s#.*#par_star_gzipped_read_file='&'#" ; else echo "# par_star_gzipped_read_file="; fi ) +$( if [ ! -z ${VIASH_PAR_STAR_BZIPPED_READ_FILE+x} ]; then echo "${VIASH_PAR_STAR_BZIPPED_READ_FILE}" | sed "s#'#'\\"'\\"'#g;s#.*#par_star_bzipped_read_file='&'#" ; else echo "# par_star_bzipped_read_file="; fi ) +$( if [ ! -z ${VIASH_PAR_STAR_OUTPUT_GENOME_BAM+x} ]; then echo "${VIASH_PAR_STAR_OUTPUT_GENOME_BAM}" | sed "s#'#'\\"'\\"'#g;s#.*#par_star_output_genome_bam='&'#" ; else echo "# par_star_output_genome_bam="; fi ) +$( if [ ! -z ${VIASH_PAR_TAG+x} ]; then echo "${VIASH_PAR_TAG}" | sed "s#'#'\\"'\\"'#g;s#.*#par_tag='&'#" ; else echo "# par_tag="; fi ) +$( if [ ! -z ${VIASH_PAR_FRAGMENT_LENGTH_MIN+x} ]; then echo "${VIASH_PAR_FRAGMENT_LENGTH_MIN}" | sed "s#'#'\\"'\\"'#g;s#.*#par_fragment_length_min='&'#" ; else echo "# par_fragment_length_min="; fi ) +$( if [ ! -z ${VIASH_PAR_FRAGMENT_LENGTH_MAX+x} ]; then echo "${VIASH_PAR_FRAGMENT_LENGTH_MAX}" | sed "s#'#'\\"'\\"'#g;s#.*#par_fragment_length_max='&'#" ; else echo "# par_fragment_length_max="; fi ) +$( if [ ! -z ${VIASH_PAR_FRAGMENT_LENGTH_MEAN+x} ]; then echo "${VIASH_PAR_FRAGMENT_LENGTH_MEAN}" | sed "s#'#'\\"'\\"'#g;s#.*#par_fragment_length_mean='&'#" ; else echo "# par_fragment_length_mean="; fi ) +$( if [ ! -z ${VIASH_PAR_GRAGMENT_LENGTH_SD+x} ]; then echo "${VIASH_PAR_GRAGMENT_LENGTH_SD}" | sed "s#'#'\\"'\\"'#g;s#.*#par_gragment_length_sd='&'#" ; else echo "# par_gragment_length_sd="; fi ) +$( if [ ! -z ${VIASH_PAR_ESTIMATE_RSPD+x} ]; then echo "${VIASH_PAR_ESTIMATE_RSPD}" | sed "s#'#'\\"'\\"'#g;s#.*#par_estimate_rspd='&'#" ; else echo "# par_estimate_rspd="; fi ) +$( if [ ! -z ${VIASH_PAR_NUM_RSPD_BINS+x} ]; then echo "${VIASH_PAR_NUM_RSPD_BINS}" | sed "s#'#'\\"'\\"'#g;s#.*#par_num_rspd_bins='&'#" ; else echo "# par_num_rspd_bins="; fi ) +$( if [ ! -z ${VIASH_PAR_GIBBS_BURNIN+x} ]; then echo "${VIASH_PAR_GIBBS_BURNIN}" | sed "s#'#'\\"'\\"'#g;s#.*#par_gibbs_burnin='&'#" ; else echo "# par_gibbs_burnin="; fi ) +$( if [ ! -z ${VIASH_PAR_GIBBS_NUMBER_OF_SAMPLES+x} ]; then echo "${VIASH_PAR_GIBBS_NUMBER_OF_SAMPLES}" | sed "s#'#'\\"'\\"'#g;s#.*#par_gibbs_number_of_samples='&'#" ; else echo "# par_gibbs_number_of_samples="; fi ) +$( if [ ! -z ${VIASH_PAR_GIBBS_SAMPLING_GAP+x} ]; then echo "${VIASH_PAR_GIBBS_SAMPLING_GAP}" | sed "s#'#'\\"'\\"'#g;s#.*#par_gibbs_sampling_gap='&'#" ; else echo "# par_gibbs_sampling_gap="; fi ) +$( if [ ! -z ${VIASH_PAR_CI_CREDIBILITY_LEVEL+x} ]; then echo "${VIASH_PAR_CI_CREDIBILITY_LEVEL}" | sed "s#'#'\\"'\\"'#g;s#.*#par_ci_credibility_level='&'#" ; else echo "# par_ci_credibility_level="; fi ) +$( if [ ! -z ${VIASH_PAR_CI_NUMBER_OF_SAMPLES_PER_COUNT_VECTOR+x} ]; then echo "${VIASH_PAR_CI_NUMBER_OF_SAMPLES_PER_COUNT_VECTOR}" | sed "s#'#'\\"'\\"'#g;s#.*#par_ci_number_of_samples_per_count_vector='&'#" ; else echo "# par_ci_number_of_samples_per_count_vector="; fi ) +$( if [ ! -z ${VIASH_PAR_KEEP_INTERMEDIATE_FILES+x} ]; then echo "${VIASH_PAR_KEEP_INTERMEDIATE_FILES}" | sed "s#'#'\\"'\\"'#g;s#.*#par_keep_intermediate_files='&'#" ; else echo "# par_keep_intermediate_files="; fi ) +$( if [ ! -z ${VIASH_PAR_TEMPORARY_FOLDER+x} ]; then echo "${VIASH_PAR_TEMPORARY_FOLDER}" | sed "s#'#'\\"'\\"'#g;s#.*#par_temporary_folder='&'#" ; else echo "# par_temporary_folder="; fi ) +$( if [ ! -z ${VIASH_PAR_TIME+x} ]; then echo "${VIASH_PAR_TIME}" | sed "s#'#'\\"'\\"'#g;s#.*#par_time='&'#" ; else echo "# par_time="; fi ) +$( if [ ! -z ${VIASH_PAR_RUN_PRSEM+x} ]; then echo "${VIASH_PAR_RUN_PRSEM}" | sed "s#'#'\\"'\\"'#g;s#.*#par_run_pRSEM='&'#" ; else echo "# par_run_pRSEM="; fi ) +$( if [ ! -z ${VIASH_PAR_CHIPSEQ_PEAK_FILE+x} ]; then echo "${VIASH_PAR_CHIPSEQ_PEAK_FILE}" | sed "s#'#'\\"'\\"'#g;s#.*#par_chipseq_peak_file='&'#" ; else echo "# par_chipseq_peak_file="; fi ) +$( if [ ! -z ${VIASH_PAR_CHIPSEQ_TARGET_READ_FILES+x} ]; then echo "${VIASH_PAR_CHIPSEQ_TARGET_READ_FILES}" | sed "s#'#'\\"'\\"'#g;s#.*#par_chipseq_target_read_files='&'#" ; else echo "# par_chipseq_target_read_files="; fi ) +$( if [ ! -z ${VIASH_PAR_CHIPSEQ_CONTROL_READ_FILES+x} ]; then echo "${VIASH_PAR_CHIPSEQ_CONTROL_READ_FILES}" | sed "s#'#'\\"'\\"'#g;s#.*#par_chipseq_control_read_files='&'#" ; else echo "# par_chipseq_control_read_files="; fi ) +$( if [ ! -z ${VIASH_PAR_CHIPSEQ_READ_FILES_MULTI_TARGETS+x} ]; then echo "${VIASH_PAR_CHIPSEQ_READ_FILES_MULTI_TARGETS}" | sed "s#'#'\\"'\\"'#g;s#.*#par_chipseq_read_files_multi_targets='&'#" ; else echo "# par_chipseq_read_files_multi_targets="; fi ) +$( if [ ! -z ${VIASH_PAR_CHIPSEQ_BED_FILES_MULTI_TARGETS+x} ]; then echo "${VIASH_PAR_CHIPSEQ_BED_FILES_MULTI_TARGETS}" | sed "s#'#'\\"'\\"'#g;s#.*#par_chipseq_bed_files_multi_targets='&'#" ; else echo "# par_chipseq_bed_files_multi_targets="; fi ) +$( if [ ! -z ${VIASH_PAR_CAP_STACKED_CHIPSEQ_READS+x} ]; then echo "${VIASH_PAR_CAP_STACKED_CHIPSEQ_READS}" | sed "s#'#'\\"'\\"'#g;s#.*#par_cap_stacked_chipseq_reads='&'#" ; else echo "# par_cap_stacked_chipseq_reads="; fi ) +$( if [ ! -z ${VIASH_PAR_N_MAX_STACKED_CHIPSEQ_READS+x} ]; then echo "${VIASH_PAR_N_MAX_STACKED_CHIPSEQ_READS}" | sed "s#'#'\\"'\\"'#g;s#.*#par_n_max_stacked_chipseq_reads='&'#" ; else echo "# par_n_max_stacked_chipseq_reads="; fi ) +$( if [ ! -z ${VIASH_PAR_PARTITION_MODEL+x} ]; then echo "${VIASH_PAR_PARTITION_MODEL}" | sed "s#'#'\\"'\\"'#g;s#.*#par_partition_model='&'#" ; else echo "# par_partition_model="; 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 + +set -eo pipefail + +function clean_up { + rm -rf "\\$tmpdir" +} +trap clean_up EXIT + +tmpdir=\\$(mktemp -d "\\$meta_temp_dir/\\$meta_functionality_name-XXXXXXXX") + +if [ "\\$par_strandedness" == 'forward' ]; then + strandedness='--strandedness forward' +elif [ "\\$par_strandedness" == 'reverse' ]; then + strandedness="--strandedness reverse" +else + strandedness='' +fi + +IFS=";" read -ra input <<< \\$par_input + +INDEX=\\$(find -L \\$meta_resources_dir/\\$par_index -name "*.grp" | sed 's/\\\\.grp\\$//') + +unset_if_false=( par_paired par_quiet par_no_bam_output par_sampling_for_bam par_no_qualities + par_alignments par_bowtie2 par_star par_hisat2_hca par_append_names + par_single_cell_prior par_calc_pme par_calc_ci par_phred64_quals + par_solexa_quals par_star_gzipped_read_file par_star_bzipped_read_file + par_star_output_genome_bam par_estimate_rspd par_keep_intermediate_files + par_time par_run_pRSEM par_cap_stacked_chipseq_reads par_sort_bam_by_read_name ) + +for par in \\${unset_if_false[@]}; do + test_val="\\${!par}" + [[ "\\$test_val" == "false" ]] && unset \\$par +done + +rsem-calculate-expression \\\\ + \\${par_quiet:+-q} \\\\ + \\${par_no_bam_output:+--no-bam-output} \\\\ + \\${par_sampling_for_bam:+--sampling-for-bam} \\\\ + \\${par_no_qualities:+--no-qualities} \\\\ + \\${par_alignments:+--alignments} \\\\ + \\${par_bowtie2:+--bowtie2} \\\\ + \\${par_star:+--star} \\\\ + \\${par_hisat2_hca:+--hisat2-hca} \\\\ + \\${par_append_names:+--append-names} \\\\ + \\${par_single_cell_prior:+--single-cell-prior} \\\\ + \\${par_calc_pme:+--calc-pme} \\\\ + \\${par_calc_ci:+--calc-ci} \\\\ + \\${par_phred64_quals:+--phred64-quals} \\\\ + \\${par_solexa_quals:+--solexa-quals} \\\\ + \\${par_star_gzipped_read_file:+--star-gzipped-read-file} \\\\ + \\${par_star_bzipped_read_file:+--star-bzipped-read-file} \\\\ + \\${par_star_output_genome_bam:+--star-output-genome-bam} \\\\ + \\${par_estimate_rspd:+--estimate-rspd} \\\\ + \\${par_keep_intermediate_files:+--keep-intermediate-files} \\\\ + \\${par_time:+--time} \\\\ + \\${par_run_pRSEM:+--run-pRSEM} \\\\ + \\${par_cap_stacked_chipseq_reads:+--cap-stacked-chipseq-reads} \\\\ + \\${par_sort_bam_by_read_name:+--sort-bam-by-read-name} \\\\ + \\${par_counts_gene:+--counts-gene "\\$par_counts_gene"} \\\\ + \\${par_counts_transcripts:+--counts-transcripts "\\$par_counts_transcripts"} \\\\ + \\${par_stat:+--stat "\\$par_stat"} \\\\ + \\${par_bam_star:+--bam-star "\\$par_bam_star"} \\\\ + \\${par_bam_genome:+--bam-genome "\\$par_bam_genome"} \\\\ + \\${par_bam_transcript:+--bam-transcript "\\$par_bam_transcript"} \\\\ + \\${par_fai:+--fai "\\$par_fai"} \\\\ + \\${par_seed:+--seed "\\$par_seed"} \\\\ + \\${par_seed_length:+--seed-length "\\$par_seed_length"} \\\\ + \\${par_bowtie_n:+--bowtie-n "\\$par_bowtie_n"} \\\\ + \\${par_bowtie_e:+--bowtie-e "\\$par_bowtie_e"} \\\\ + \\${par_bowtie_m:+--bowtie-m "\\$par_bowtie_m"} \\\\ + \\${par_bowtie_chunkmbs:+--bowtie-chunkmbs "\\$par_bowtie_chunkmbs"} \\\\ + \\${par_bowtie2_mismatch_rate:+--bowtie2-mismatch-rate "\\$par_bowtie2_mismatch_rate"} \\\\ + \\${par_bowtie2_k:+--bowtie2-k "\\$par_bowtie2_k"} \\\\ + \\${par_bowtie2_sensitivity_level:+--bowtie2-sensitivity-level "\\$par_bowtie2_sensitivity_level"} \\\\ + \\${par_tag:+--tag "\\$par_tag"} \\\\ + \\${par_fragment_length_min:+--fragment-length-min "\\$par_fragment_length_min"} \\\\ + \\${par_fragment_length_max:+--fragment-length-max "\\$par_fragment_length_max"} \\\\ + \\${par_fragment_length_mean:+--fragment-length-mean "\\$par_fragment_length_mean"} \\\\ + \\${par_fragment_length_sd:+--fragment-length-sd "\\$par_fragment_length_sd"} \\\\ + \\${par_num_rspd_bins:+--num-rspd-bins "\\$par_num_rspd_bins"} \\\\ + \\${par_gibbs_burnin:+--gibbs-burnin "\\$par_gibbs_burnin"} \\\\ + \\${par_gibbs_number_of_samples:+--gibbs-number-of-samples "\\$par_gibbs_number_of_samples"} \\\\ + \\${par_gibbs_sampling_gap:+--gibbs-sampling-gap "\\$par_gibbs_sampling_gap"} \\\\ + \\${par_ci_credibility_level:+--ci-credibility-level "\\$par_ci_credibility_level"} \\\\ + \\${par_ci_number_of_samples_per_count_vector:+--ci-number-of-samples-per-count-vector "\\$par_ci_number_of_samples_per_count_vector"} \\\\ + \\${par_temporary_folder:+--temporary-folder "\\$par_temporary_folder"} \\\\ + \\${par_chipseq_peak_file:+--chipseq-peak-file "\\$par_chipseq_peak_file"} \\\\ + \\${par_chipseq_target_read_files:+--chipseq-target-read-files "\\$par_chipseq_target_read_files"} \\\\ + \\${par_chipseq_control_read_files:+--chipseq-control-read-files "\\$par_chipseq_control_read_files"} \\\\ + \\${par_chipseq_read_files_multi_targets:+--chipseq-read-files-multi-targets "\\$par_chipseq_read_files_multi_targets"} \\\\ + \\${par_chipseq_bed_files_multi_targets:+--chipseq-bed-files-multi-targets "\\$par_chipseq_bed_files_multi_targets"} \\\\ + \\${par_n_max_stacked_chipseq_reads:+--n-max-stacked-chipseq-reads "\\$par_n_max_stacked_chipseq_reads"} \\\\ + \\${par_partition_model:+--partition-model "\\$par_partition_model"} \\\\ + \\$strandedness \\\\ + \\${par_paired:+--paired-end} \\\\ + \\${input[*]} \\\\ + \\$INDEX \\\\ + \\$par_id + +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 = new nextflow.script.ScriptParser(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) +} + +// 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/rsem/rsem_calculate_expression", + "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/rsem/rsem_calculate_expression/nextflow.config b/target/nextflow/rsem/rsem_calculate_expression/nextflow.config new file mode 100644 index 00000000..9149cfe2 --- /dev/null +++ b/target/nextflow/rsem/rsem_calculate_expression/nextflow.config @@ -0,0 +1,125 @@ +manifest { + name = 'rsem/rsem_calculate_expression' + mainScript = 'main.nf' + nextflowVersion = '!>=20.12.1-edge' + version = 'main' + description = 'Calculate expression with RSEM. \n' +} + +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/rsem/rsem_calculate_expression/nextflow_schema.json b/target/nextflow/rsem/rsem_calculate_expression/nextflow_schema.json new file mode 100644 index 00000000..c0aedaec --- /dev/null +++ b/target/nextflow/rsem/rsem_calculate_expression/nextflow_schema.json @@ -0,0 +1,839 @@ +{ +"$schema": "http://json-schema.org/draft-07/schema", +"title": "rsem_calculate_expression", +"description": "Calculate expression with RSEM. \n", +"type": "object", +"definitions": { + + + + "input" : { + "title": "Input", + "type": "object", + "description": "No description", + "properties": { + + + "id": { + "type": + "string", + "description": "Type: `string`. Sample ID", + "help_text": "Type: `string`. Sample ID." + + } + + + , + "strandedness": { + "type": + "string", + "description": "Type: `string`, choices: ``forward`, `reverse`, `unstranded``. Sample strand-specificity", + "help_text": "Type: `string`, choices: ``forward`, `reverse`, `unstranded``. Sample strand-specificity. Must be one of unstranded, forward, reverse", + "enum": ["forward", "reverse", "unstranded"] + + + } + + + , + "paired": { + "type": + "boolean", + "description": "Type: `boolean_true`, default: `false`. Paired-end reads or not?", + "help_text": "Type: `boolean_true`, default: `false`. Paired-end reads or not?" + , + "default": "False" + } + + + , + "input": { + "type": + "string", + "description": "Type: List of `file`, multiple_sep: `\";\"`. Input reads for quantification", + "help_text": "Type: List of `file`, multiple_sep: `\";\"`. Input reads for quantification." + + } + + + , + "index": { + "type": + "string", + "description": "Type: `file`. RSEM index", + "help_text": "Type: `file`. RSEM index." + + } + + + , + "extra_args": { + "type": + "string", + "description": "Type: `string`. Extra rsem-calculate-expression arguments in addition to the examples", + "help_text": "Type: `string`. Extra rsem-calculate-expression arguments in addition to the examples." + + } + + +} +}, + + + "output" : { + "title": "Output", + "type": "object", + "description": "No description", + "properties": { + + + "counts_gene": { + "type": + "string", + "description": "Type: `file`, default: `$id.$key.counts_gene.results`, example: `$id.genes.results`. Expression counts on gene level", + "help_text": "Type: `file`, default: `$id.$key.counts_gene.results`, example: `$id.genes.results`. Expression counts on gene level" + , + "default": "$id.$key.counts_gene.results" + } + + + , + "counts_transcripts": { + "type": + "string", + "description": "Type: `file`, default: `$id.$key.counts_transcripts.results`, example: `$id.isoforms.results`. Expression counts on transcript level", + "help_text": "Type: `file`, default: `$id.$key.counts_transcripts.results`, example: `$id.isoforms.results`. Expression counts on transcript level" + , + "default": "$id.$key.counts_transcripts.results" + } + + + , + "stat": { + "type": + "string", + "description": "Type: `file`, default: `$id.$key.stat.stat`, example: `$id.stat`. RSEM statistics", + "help_text": "Type: `file`, default: `$id.$key.stat.stat`, example: `$id.stat`. RSEM statistics" + , + "default": "$id.$key.stat.stat" + } + + + , + "logs": { + "type": + "string", + "description": "Type: `file`, default: `$id.$key.logs.log`, example: `$id.log`. RSEM logs", + "help_text": "Type: `file`, default: `$id.$key.logs.log`, example: `$id.log`. RSEM logs" + , + "default": "$id.$key.logs.log" + } + + + , + "bam_star": { + "type": + "string", + "description": "Type: `file`, default: `$id.$key.bam_star.bam`, example: `$id.STAR.genome.bam`. BAM file generated by STAR (optional)", + "help_text": "Type: `file`, default: `$id.$key.bam_star.bam`, example: `$id.STAR.genome.bam`. BAM file generated by STAR (optional)" + , + "default": "$id.$key.bam_star.bam" + } + + + , + "bam_genome": { + "type": + "string", + "description": "Type: `file`, default: `$id.$key.bam_genome.bam`, example: `$id.genome.bam`. Genome BAM file (optional)", + "help_text": "Type: `file`, default: `$id.$key.bam_genome.bam`, example: `$id.genome.bam`. Genome BAM file (optional)" + , + "default": "$id.$key.bam_genome.bam" + } + + + , + "bam_transcript": { + "type": + "string", + "description": "Type: `file`, default: `$id.$key.bam_transcript.bam`, example: `$id.transcript.bam`. Transcript BAM file (optional)", + "help_text": "Type: `file`, default: `$id.$key.bam_transcript.bam`, example: `$id.transcript.bam`. Transcript BAM file (optional)" + , + "default": "$id.$key.bam_transcript.bam" + } + + + , + "sort_bam_by_read_name": { + "type": + "boolean", + "description": "Type: `boolean_true`, default: `false`. Sort BAM file aligned under transcript coordidate by read name", + "help_text": "Type: `boolean_true`, default: `false`. Sort BAM file aligned under transcript coordidate by read name. Setting this option on will produce \ndeterministic maximum likelihood estimations from independent runs. Note that sorting will take long \ntime and lots of memory.\n" + , + "default": "False" + } + + + , + "no_bam_output": { + "type": + "boolean", + "description": "Type: `boolean_true`, default: `false`. Do not output any BAM file", + "help_text": "Type: `boolean_true`, default: `false`. Do not output any BAM file." + , + "default": "False" + } + + + , + "sampling_for_bam": { + "type": + "boolean", + "description": "Type: `boolean_true`, default: `false`. When RSEM generates a BAM file, instead of outputting all alignments a read has with their posterior \nprobabilities, one alignment is sampled according to the posterior probabilities", + "help_text": "Type: `boolean_true`, default: `false`. When RSEM generates a BAM file, instead of outputting all alignments a read has with their posterior \nprobabilities, one alignment is sampled according to the posterior probabilities. The sampling procedure \nincludes the alignment to the \"noise\" transcript, which does not appear in the BAM file. Only the \nsampled alignment has a weight of 1. All other alignments have weight 0. If the \"noise\" transcript is \nsampled, all alignments appeared in the BAM file should have weight 0.\n" + , + "default": "False" + } + + + , + "output_genome_bam": { + "type": + "boolean", + "description": "Type: `boolean_true`, default: `false`. Generate a BAM file, \u0027sample_name", + "help_text": "Type: `boolean_true`, default: `false`. Generate a BAM file, \u0027sample_name.genome.bam\u0027, with alignments mapped to genomic coordinates and \nannotated with their posterior probabilities. In addition, RSEM will call samtools (included in RSEM \npackage) to sort and index the bam file. \u0027sample_name.genome.sorted.bam\u0027 and \u0027sample_name.genome.sorted.bam.bai\u0027 \nwill be generated.\n" + , + "default": "False" + } + + + , + "sort_bam_by_coordinate": { + "type": + "boolean", + "description": "Type: `boolean_true`, default: `false`. Sort RSEM generated transcript and genome BAM files by coordinates and build associated indices", + "help_text": "Type: `boolean_true`, default: `false`. Sort RSEM generated transcript and genome BAM files by coordinates and build associated indices.\n" + , + "default": "False" + } + + +} +}, + + + "basic options" : { + "title": "Basic Options", + "type": "object", + "description": "No description", + "properties": { + + + "no_qualities": { + "type": + "boolean", + "description": "Type: `boolean_true`, default: `false`. Input reads do not contain quality scores", + "help_text": "Type: `boolean_true`, default: `false`. Input reads do not contain quality scores." + , + "default": "False" + } + + + , + "alignments": { + "type": + "boolean", + "description": "Type: `boolean_true`, default: `false`. Input file contains alignments in SAM/BAM/CRAM format", + "help_text": "Type: `boolean_true`, default: `false`. Input file contains alignments in SAM/BAM/CRAM format. The exact file format will be determined \nautomatically.\n" + , + "default": "False" + } + + + , + "fai": { + "type": + "string", + "description": "Type: `file`. If the header section of input alignment file does not contain reference sequence information, \nthis option should be turned on", + "help_text": "Type: `file`. If the header section of input alignment file does not contain reference sequence information, \nthis option should be turned on. \u003cfile\u003e is a FAI format file containing each reference sequence\u0027s \nname and length. Please refer to the SAM official website for the details of FAI format.\n" + + } + + + , + "bowtie2": { + "type": + "boolean", + "description": "Type: `boolean_true`, default: `false`. Use Bowtie 2 instead of Bowtie to align reads", + "help_text": "Type: `boolean_true`, default: `false`. Use Bowtie 2 instead of Bowtie to align reads. Since currently RSEM does not handle indel, local \nand discordant alignments, the Bowtie2 parameters are set in a way to avoid those alignments. In \nparticular, we use options \u0027--sensitive --dpad 0 --gbar 99999999 --mp 1,1 --np 1 --score_min L,0,-0.1\u0027 \nby default. The last parameter of \u0027--score_min\u0027, \u0027-0.1\u0027, is the negative of maximum mismatch rate. \nThis rate can be set by option \u0027--bowtie2_mismatch_rate\u0027. If reads are paired-end, we additionally \nuse options \u0027--no_mixed\u0027 and \u0027--no_discordant\u0027.\n" + , + "default": "False" + } + + + , + "star": { + "type": + "boolean", + "description": "Type: `boolean_true`, default: `false`. Use STAR to align reads", + "help_text": "Type: `boolean_true`, default: `false`. Use STAR to align reads. Alignment parameters are from ENCODE3\u0027s STAR-RSEM pipeline. To save \ncomputational time and memory resources, STAR\u0027s Output BAM file is unsorted. It is stored in RSEM\u0027s \ntemporary directory with name as \u0027sample_name.bam\u0027. Each STAR job will have its own private copy of \nthe genome in memory.\n" + , + "default": "False" + } + + + , + "hisat2_hca": { + "type": + "boolean", + "description": "Type: `boolean_true`, default: `false`. Use HISAT2 to align reads to the transcriptome according to Human Cell Atlast", + "help_text": "Type: `boolean_true`, default: `false`. Use HISAT2 to align reads to the transcriptome according to Human Cell Atlast.\n" + , + "default": "False" + } + + + , + "append_names": { + "type": + "boolean", + "description": "Type: `boolean_true`, default: `false`. If gene_name/transcript_name is available, append it to the end of gene_id/transcript_id (separated \nby \u0027_\u0027) in files \u0027sample_name", + "help_text": "Type: `boolean_true`, default: `false`. If gene_name/transcript_name is available, append it to the end of gene_id/transcript_id (separated \nby \u0027_\u0027) in files \u0027sample_name.isoforms.results\u0027 and \u0027sample_name.genes.results\u0027.\n" + , + "default": "False" + } + + + , + "seed": { + "type": + "integer", + "description": "Type: `integer`. Set the seed for the random number generators used in calculating posterior mean estimates and \ncredibility intervals", + "help_text": "Type: `integer`. Set the seed for the random number generators used in calculating posterior mean estimates and \ncredibility intervals. The seed must be a non-negative 32 bit integer.\n" + + } + + + , + "single_cell_prior": { + "type": + "boolean", + "description": "Type: `boolean_true`, default: `false`. By default, RSEM uses Dirichlet(1) as the prior to calculate posterior mean estimates and credibility \nintervals", + "help_text": "Type: `boolean_true`, default: `false`. By default, RSEM uses Dirichlet(1) as the prior to calculate posterior mean estimates and credibility \nintervals. However, much less genes are expressed in single cell RNA-Seq data. Thus, if you want to \ncompute posterior mean estimates and/or credibility intervals and you have single-cell RNA-Seq data, \nyou are recommended to turn on this option. Then RSEM will use Dirichlet(0.1) as the prior which \nencourage the sparsity of the expression levels.\n" + , + "default": "False" + } + + + , + "calc_pme": { + "type": + "boolean", + "description": "Type: `boolean_true`, default: `false`. Run RSEM\u0027s collapsed Gibbs sampler to calculate posterior mean estimates", + "help_text": "Type: `boolean_true`, default: `false`. Run RSEM\u0027s collapsed Gibbs sampler to calculate posterior mean estimates." + , + "default": "False" + } + + + , + "calc_ci": { + "type": + "boolean", + "description": "Type: `boolean_true`, default: `false`. Calculate 95% credibility intervals and posterior mean estimates", + "help_text": "Type: `boolean_true`, default: `false`. Calculate 95% credibility intervals and posterior mean estimates. The credibility level can be \nchanged by setting \u0027--ci_credibility_level\u0027.\n" + , + "default": "False" + } + + + , + "quiet": { + "type": + "boolean", + "description": "Type: `boolean_true`, default: `false`. Suppress the output of logging information", + "help_text": "Type: `boolean_true`, default: `false`. Suppress the output of logging information." + , + "default": "False" + } + + +} +}, + + + "aligner options" : { + "title": "Aligner Options", + "type": "object", + "description": "No description", + "properties": { + + + "seed_length": { + "type": + "integer", + "description": "Type: `integer`, example: `25`. Seed length used by the read aligner", + "help_text": "Type: `integer`, example: `25`. Seed length used by the read aligner. Providing the correct value is important for RSEM. If RSEM \nruns Bowtie, it uses this value for Bowtie\u0027s seed length parameter. Any read with its or at least \none of its mates\u0027 (for paired-end reads) length less than this value will be ignored. If the \nreferences are not added poly(A) tails, the minimum allowed value is 5, otherwise, the minimum \nallowed value is 25. Note that this script will only check if the value \u003e= 5 and give a warning \nmessage if the value \u003c 25 but \u003e= 5. (Default: 25)\n" + + } + + + , + "phred64_quals": { + "type": + "boolean", + "description": "Type: `boolean_true`, default: `false`. Input quality scores are encoded as Phred+64 (default for GA Pipeline ver", + "help_text": "Type: `boolean_true`, default: `false`. Input quality scores are encoded as Phred+64 (default for GA Pipeline ver. \u003e= 1.3). This option is \nused by Bowtie, Bowtie 2 and HISAT2. Otherwise, quality score will be encoded as Phred+33. (Default: false)\n" + , + "default": "False" + } + + + , + "solexa_quals": { + "type": + "boolean", + "description": "Type: `boolean_true`, default: `false`. Input quality scores are solexa encoded (from GA Pipeline ver", + "help_text": "Type: `boolean_true`, default: `false`. Input quality scores are solexa encoded (from GA Pipeline ver. \u003c 1.3). This option is used by \nBowtie, Bowtie 2 and HISAT2. Otherwise, quality score will be encoded as Phred+33. (Default: false)\n" + , + "default": "False" + } + + + , + "bowtie_n": { + "type": + "integer", + "description": "Type: `integer`, example: `2`, choices: ``0`, `1`, `2`, `3``. (Bowtie parameter) max # of mismatches in the seed", + "help_text": "Type: `integer`, example: `2`, choices: ``0`, `1`, `2`, `3``. (Bowtie parameter) max # of mismatches in the seed. (Range: 0-3, Default: 2)\n", + "enum": [0, 1, 2, 3] + + + } + + + , + "bowtie_e": { + "type": + "integer", + "description": "Type: `integer`, example: `99999999`. (Bowtie parameter) max sum of mismatch quality scores across the alignment", + "help_text": "Type: `integer`, example: `99999999`. (Bowtie parameter) max sum of mismatch quality scores across the alignment. (Default: 99999999)\n" + + } + + + , + "bowtie_m": { + "type": + "integer", + "description": "Type: `integer`, example: `200`. (Bowtie parameter) suppress all alignments for a read if \u003e \u003cint\u003e valid alignments exist", + "help_text": "Type: `integer`, example: `200`. (Bowtie parameter) suppress all alignments for a read if \u003e \u003cint\u003e valid alignments exist. (Default: 200)\n" + + } + + + , + "bowtie_chunkmbs": { + "type": + "integer", + "description": "Type: `integer`, example: `0`. (Bowtie parameter) memory allocated for best first alignment calculation (Default: 0 - use Bowtie\u0027s default)\n", + "help_text": "Type: `integer`, example: `0`. (Bowtie parameter) memory allocated for best first alignment calculation (Default: 0 - use Bowtie\u0027s default)\n" + + } + + + , + "bowtie2_mismatch_rate": { + "type": + "number", + "description": "Type: `double`, example: `0.1`. (Bowtie 2 parameter) The maximum mismatch rate allowed", + "help_text": "Type: `double`, example: `0.1`. (Bowtie 2 parameter) The maximum mismatch rate allowed. (Default: 0.1)\n" + + } + + + , + "bowtie2_k": { + "type": + "integer", + "description": "Type: `integer`, example: `200`. (Bowtie 2 parameter) Find up to \u003cint\u003e alignments per read", + "help_text": "Type: `integer`, example: `200`. (Bowtie 2 parameter) Find up to \u003cint\u003e alignments per read. (Default: 200)\n" + + } + + + , + "bowtie2_sensitivity_level": { + "type": + "string", + "description": "Type: `string`, example: `sensitive`, choices: ``very_fast`, `fast`, `sensitive`, `very_sensitive``. (Bowtie 2 parameter) Set Bowtie 2\u0027s preset options in --end-to-end mode", + "help_text": "Type: `string`, example: `sensitive`, choices: ``very_fast`, `fast`, `sensitive`, `very_sensitive``. (Bowtie 2 parameter) Set Bowtie 2\u0027s preset options in --end-to-end mode. This option controls how \nhard Bowtie 2 tries to find alignments. \u003cstring\u003e must be one of \"very_fast\", \"fast\", \"sensitive\" \nand \"very_sensitive\". The four candidates correspond to Bowtie 2\u0027s \"--very-fast\", \"--fast\", \n\"--sensitive\" and \"--very-sensitive\" options. (Default: \"sensitive\" - use Bowtie 2\u0027s default)\n", + "enum": ["very_fast", "fast", "sensitive", "very_sensitive"] + + + } + + + , + "star_gzipped_read_file": { + "type": + "boolean", + "description": "Type: `boolean_true`, default: `false`. Input read file(s) is compressed by gzip", + "help_text": "Type: `boolean_true`, default: `false`. Input read file(s) is compressed by gzip. (Default: false)\n" + , + "default": "False" + } + + + , + "star_bzipped_read_file": { + "type": + "boolean", + "description": "Type: `boolean_true`, default: `false`. Input read file(s) is compressed by bzip2", + "help_text": "Type: `boolean_true`, default: `false`. Input read file(s) is compressed by bzip2. (Default: false)\n" + , + "default": "False" + } + + + , + "star_output_genome_bam": { + "type": + "boolean", + "description": "Type: `boolean_true`, default: `false`. Save the BAM file from STAR alignment under genomic coordinate to \u0027sample_name", + "help_text": "Type: `boolean_true`, default: `false`. Save the BAM file from STAR alignment under genomic coordinate to \u0027sample_name.STAR.genome.bam\u0027. \nThis file is NOT sorted by genomic coordinate. In this file, according to STAR\u0027s manual, \u0027paired \nends of an alignment are always adjacent, and multiple alignments of a read are adjacent as well\u0027. \n(Default: false)\n" + , + "default": "False" + } + + +} +}, + + + "advanced options" : { + "title": "Advanced Options", + "type": "object", + "description": "No description", + "properties": { + + + "tag": { + "type": + "string", + "description": "Type: `string`, example: ``. The name of the optional field used in the SAM input for identifying a read with too many valid \nalignments", + "help_text": "Type: `string`, example: ``. The name of the optional field used in the SAM input for identifying a read with too many valid \nalignments. The field should have the format \u003ctagName\u003e:i:\u003cvalue\u003e, where a \u003cvalue\u003e bigger than 0 \nindicates a read with too many alignments. (Default: \"\")\n" + + } + + + , + "fragment_length_min": { + "type": + "integer", + "description": "Type: `integer`, example: `1`. Minimum read/insert length allowed", + "help_text": "Type: `integer`, example: `1`. Minimum read/insert length allowed. This is also the value for the Bowtie/Bowtie2 -I option. \n(Default: 1)\n" + + } + + + , + "fragment_length_max": { + "type": + "integer", + "description": "Type: `integer`, example: `1000`. Maximum read/insert length allowed", + "help_text": "Type: `integer`, example: `1000`. Maximum read/insert length allowed. This is also the value for the Bowtie/Bowtie 2 -X option. \n(Default: 1000)\n" + + } + + + , + "fragment_length_mean": { + "type": + "integer", + "description": "Type: `integer`, example: `-1`. (single-end data only) The mean of the fragment length distribution, which is assumed to be a \nGaussian", + "help_text": "Type: `integer`, example: `-1`. (single-end data only) The mean of the fragment length distribution, which is assumed to be a \nGaussian. (Default: -1, which disables use of the fragment length distribution)\n" + + } + + + , + "gragment_length_sd": { + "type": + "number", + "description": "Type: `double`, example: `0.0`. (single-end data only) The standard deviation of the fragment length distribution, which is \nassumed to be a Gaussian", + "help_text": "Type: `double`, example: `0.0`. (single-end data only) The standard deviation of the fragment length distribution, which is \nassumed to be a Gaussian. (Default: 0, which assumes that all fragments are of the same length, \ngiven by the rounded value of --fragment_length_mean).\n" + + } + + + , + "estimate_rspd": { + "type": + "boolean", + "description": "Type: `boolean_true`, default: `false`. Set this option if you want to estimate the read start position distribution (RSPD) from data", + "help_text": "Type: `boolean_true`, default: `false`. Set this option if you want to estimate the read start position distribution (RSPD) from data.\nOtherwise, RSEM will use a uniform RSPD.\n" + , + "default": "False" + } + + + , + "num_rspd_bins": { + "type": + "integer", + "description": "Type: `integer`, example: `20`. Number of bins in the RSPD", + "help_text": "Type: `integer`, example: `20`. Number of bins in the RSPD. Only relevant when \u0027--estimate_rspd\u0027 is specified. Use of the default \nsetting is recommended. (Default: 20)\n" + + } + + + , + "gibbs_burnin": { + "type": + "integer", + "description": "Type: `integer`, example: `200`. The number of burn-in rounds for RSEM\u0027s Gibbs sampler", + "help_text": "Type: `integer`, example: `200`. The number of burn-in rounds for RSEM\u0027s Gibbs sampler. Each round passes over the entire data set \nonce. If RSEM can use multiple threads, multiple Gibbs samplers will start at the same time and all \nsamplers share the same burn-in number. (Default: 200)\n" + + } + + + , + "gibbs_number_of_samples": { + "type": + "integer", + "description": "Type: `integer`, example: `1000`. The total number of count vectors RSEM will collect from its Gibbs samplers", + "help_text": "Type: `integer`, example: `1000`. The total number of count vectors RSEM will collect from its Gibbs samplers. (Default: 1000)\n" + + } + + + , + "gibbs_sampling_gap": { + "type": + "integer", + "description": "Type: `integer`, example: `1`. The number of rounds between two succinct count vectors RSEM collects", + "help_text": "Type: `integer`, example: `1`. The number of rounds between two succinct count vectors RSEM collects. If the count vector after \nround N is collected, the count vector after round N + \u003cint\u003e will also be collected. (Default: 1)\n" + + } + + + , + "ci_credibility_level": { + "type": + "number", + "description": "Type: `double`, example: `0.95`. The credibility level for credibility intervals", + "help_text": "Type: `double`, example: `0.95`. The credibility level for credibility intervals. (Default: 0.95)\n" + + } + + + , + "ci_number_of_samples_per_count_vector": { + "type": + "integer", + "description": "Type: `integer`, example: `50`. The number of read generating probability vectors sampled per sampled count vector", + "help_text": "Type: `integer`, example: `50`. The number of read generating probability vectors sampled per sampled count vector. The crebility \nintervals are calculated by first sampling P(C | D) and then sampling P(Theta | C) for each sampled \ncount vector. This option controls how many Theta vectors are sampled per sampled count vector. \n(Default: 50)\n" + + } + + + , + "keep_intermediate_files": { + "type": + "boolean", + "description": "Type: `boolean_true`, default: `false`. Keep temporary files generated by RSEM", + "help_text": "Type: `boolean_true`, default: `false`. Keep temporary files generated by RSEM. RSEM creates a temporary directory, \u0027sample_name.temp\u0027, \ninto which it puts all intermediate output files. If this directory already exists, RSEM overwrites \nall files generated by previous RSEM runs inside of it. By default, after RSEM finishes, the \ntemporary directory is deleted. Set this option to prevent the deletion of this directory and the \nintermediate files inside of it.\n" + , + "default": "False" + } + + + , + "temporary_folder": { + "type": + "string", + "description": "Type: `string`, example: `sample_name.temp`. Set where to put the temporary files generated by RSEM", + "help_text": "Type: `string`, example: `sample_name.temp`. Set where to put the temporary files generated by RSEM. If the folder specified does not exist, \nRSEM will try to create it. (Default: sample_name.temp)\n" + + } + + + , + "time": { + "type": + "boolean", + "description": "Type: `boolean_true`, default: `false`. Output time consumed by each step of RSEM to \u0027sample_name", + "help_text": "Type: `boolean_true`, default: `false`. Output time consumed by each step of RSEM to \u0027sample_name.time\u0027.\n" + , + "default": "False" + } + + +} +}, + + + "prior-enhanced rsem options" : { + "title": "Prior-Enhanced RSEM Options", + "type": "object", + "description": "No description", + "properties": { + + + "run_pRSEM": { + "type": + "boolean", + "description": "Type: `boolean_true`, default: `false`. Running prior-enhanced RSEM (pRSEM)", + "help_text": "Type: `boolean_true`, default: `false`. Running prior-enhanced RSEM (pRSEM). Prior parameters, i.e. isoform\u0027s initial pseudo-count for \nRSEM\u0027s Gibbs sampling, will be learned from input RNA-seq data and an external data set. When pRSEM \nneeds and only needs ChIP-seq peak information to partition isoforms (e.g. in pRSEM\u0027s default \npartition model), either ChIP-seq peak file (with the \u0027--chipseq_peak_file\u0027 option) or ChIP-seq \nFASTQ files for target and input and the path for Bowtie executables are required (with the \n\u0027--chipseq_target_read_files \u003cstring\u003e\u0027, \u0027--chipseq_control_read_files \u003cstring\u003e\u0027, and \u0027--bowtie_path \n\u003cpath\u003e options), otherwise, ChIP-seq FASTQ files for target and control and the path to Bowtie \nexecutables are required.\n" + , + "default": "False" + } + + + , + "chipseq_peak_file": { + "type": + "string", + "description": "Type: `file`. Full path to a ChIP-seq peak file in ENCODE\u0027s narrowPeak, i", + "help_text": "Type: `file`. Full path to a ChIP-seq peak file in ENCODE\u0027s narrowPeak, i.e. BED6+4, format. This file is used \nwhen running prior-enhanced RSEM in the default two-partition model. It partitions isoforms by \nwhether they have ChIP-seq overlapping with their transcription start site region or not. Each \npartition will have its own prior parameter learned from a training set. This file can be either \ngzipped or ungzipped.\n" + + } + + + , + "chipseq_target_read_files": { + "type": + "string", + "description": "Type: `file`. Comma-separated full path of FASTQ read file(s) for ChIP-seq target", + "help_text": "Type: `file`. Comma-separated full path of FASTQ read file(s) for ChIP-seq target. This option is used when running \nprior-enhanced RSEM. It provides information to calculate ChIP-seq peaks and signals. The file(s) \ncan be either ungzipped or gzipped with a suffix \u0027.gz\u0027 or \u0027.gzip\u0027. The options \u0027--bowtie_path \u003cpath\u003e\u0027 \nand \u0027--chipseq_control_read_files \u003cstring\u003e\u0027 must be defined when this option is specified.\n" + + } + + + , + "chipseq_control_read_files": { + "type": + "string", + "description": "Type: `file`. Comma-separated full path of FASTQ read file(s) for ChIP-seq conrol", + "help_text": "Type: `file`. Comma-separated full path of FASTQ read file(s) for ChIP-seq conrol. This option is used when running \nprior-enhanced RSEM. It provides information to call ChIP-seq peaks. The file(s) can be either \nungzipped or gzipped with a suffix \u0027.gz\u0027 or \u0027.gzip\u0027. The options \u0027--bowtie_path \u003cpath\u003e\u0027 and \n\u0027--chipseq_target_read_files \u003cstring\u003e\u0027 must be defined when this option is specified.\n" + + } + + + , + "chipseq_read_files_multi_targets": { + "type": + "string", + "description": "Type: `file`. Comma-separated full path of FASTQ read files for multiple ChIP-seq targets", + "help_text": "Type: `file`. Comma-separated full path of FASTQ read files for multiple ChIP-seq targets. This option is used when \nrunning prior-enhanced RSEM, where prior is learned from multiple complementary data sets. It provides \ninformation to calculate ChIP-seq signals. All files can be either ungzipped or gzipped with a suffix \n\u0027.gz\u0027 or \u0027.gzip\u0027. When this option is specified, the option \u0027--bowtie_path \u003cpath\u003e\u0027 must be defined and \nthe option \u0027--partition_model \u003cstring\u003e\u0027 will be set to \u0027cmb_lgt\u0027 automatically.\n" + + } + + + , + "chipseq_bed_files_multi_targets": { + "type": + "string", + "description": "Type: `file`. Comma-separated full path of BED files for multiple ChIP-seq targets", + "help_text": "Type: `file`. Comma-separated full path of BED files for multiple ChIP-seq targets. This option is used when running \nprior-enhanced RSEM, where prior is learned from multiple complementary data sets. It provides information \nof ChIP-seq signals and must have at least the first six BED columns. All files can be either ungzipped \nor gzipped with a suffix \u0027.gz\u0027 or \u0027.gzip\u0027. When this option is specified, the option \u0027--partition_model \n\u003cstring\u003e\u0027 will be set to \u0027cmb_lgt\u0027 automatically.\n" + + } + + + , + "cap_stacked_chipseq_reads": { + "type": + "boolean", + "description": "Type: `boolean_true`, default: `false`. Keep a maximum number of ChIP-seq reads that aligned to the same genomic interval", + "help_text": "Type: `boolean_true`, default: `false`. Keep a maximum number of ChIP-seq reads that aligned to the same genomic interval. This option is used \nwhen running prior-enhanced RSEM, where prior is learned from multiple complementary data sets. This \noption is only in use when either \u0027--chipseq_read_files_multi_targets \u003cstring\u003e\u0027 or \n\u0027--chipseq_bed_files_multi_targets \u003cstring\u003e\u0027 is specified.\n" + , + "default": "False" + } + + + , + "n_max_stacked_chipseq_reads": { + "type": + "integer", + "description": "Type: `integer`. The maximum number of stacked ChIP-seq reads to keep", + "help_text": "Type: `integer`. The maximum number of stacked ChIP-seq reads to keep. This option is used when running prior-enhanced \nRSEM, where prior is learned from multiple complementary data sets. This option is only in use when the \noption \u0027--cap_stacked_chipseq_reads\u0027 is set.\n" + + } + + + , + "partition_model": { + "type": + "string", + "description": "Type: `string`, example: `pk`. A keyword to specify the partition model used by prior-enhanced RSEM", + "help_text": "Type: `string`, example: `pk`. A keyword to specify the partition model used by prior-enhanced RSEM. It must be one of the following \nkeywords:\n* pk\n* pk_lgtnopk\n* lm3, lm4, lm5, or lm6\n* nopk_lm2pk, nopk_lm3pk, nopk_lm4pk, or nopk_lm5pk\n* pk_lm2nopk, pk_lm3nopk, pk_lm4nopk, or pk_lm5nopk\n* cmb_lgt\nParameters for all the above models are learned from a training set. For detailed explanations, please \nsee prior-enhanced RSEM\u0027s paper. (Default: \u0027pk\u0027)\n" + + } + + +} +}, + + + "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/input" + }, + + { + "$ref": "#/definitions/output" + }, + + { + "$ref": "#/definitions/basic options" + }, + + { + "$ref": "#/definitions/aligner options" + }, + + { + "$ref": "#/definitions/advanced options" + }, + + { + "$ref": "#/definitions/prior-enhanced rsem options" + }, + + { + "$ref": "#/definitions/nextflow input-output arguments" + } +] +} diff --git a/target/nextflow/rsem/rsem_prepare_reference/.config.vsh.yaml b/target/nextflow/rsem/rsem_prepare_reference/.config.vsh.yaml index 126b7929..54d40c4e 100644 --- a/target/nextflow/rsem/rsem_prepare_reference/.config.vsh.yaml +++ b/target/nextflow/rsem/rsem_prepare_reference/.config.vsh.yaml @@ -416,9 +416,9 @@ build_info: output: "target/nextflow/rsem/rsem_prepare_reference" executable: "target/nextflow/rsem/rsem_prepare_reference/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/rsem/rsem_prepare_reference/main.nf b/target/nextflow/rsem/rsem_prepare_reference/main.nf index ce1111d9..ee2b2693 100644 --- a/target/nextflow/rsem/rsem_prepare_reference/main.nf +++ b/target/nextflow/rsem/rsem_prepare_reference/main.nf @@ -3245,9 +3245,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/rsem/rsem_prepare_reference", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/salmon/salmon_index/.config.vsh.yaml b/target/nextflow/salmon/salmon_index/.config.vsh.yaml index f0ab6720..8d6fd9a8 100644 --- a/target/nextflow/salmon/salmon_index/.config.vsh.yaml +++ b/target/nextflow/salmon/salmon_index/.config.vsh.yaml @@ -277,9 +277,9 @@ build_info: output: "target/nextflow/salmon/salmon_index" executable: "target/nextflow/salmon/salmon_index/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/salmon/salmon_index/main.nf b/target/nextflow/salmon/salmon_index/main.nf index 3822632b..b45215b4 100644 --- a/target/nextflow/salmon/salmon_index/main.nf +++ b/target/nextflow/salmon/salmon_index/main.nf @@ -3129,9 +3129,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/salmon/salmon_index", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/salmon/salmon_quant/.config.vsh.yaml b/target/nextflow/salmon/salmon_quant/.config.vsh.yaml index 4f0bfd0b..516a01a7 100644 --- a/target/nextflow/salmon/salmon_quant/.config.vsh.yaml +++ b/target/nextflow/salmon/salmon_quant/.config.vsh.yaml @@ -1173,9 +1173,9 @@ build_info: output: "target/nextflow/salmon/salmon_quant" executable: "target/nextflow/salmon/salmon_quant/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/salmon/salmon_quant/main.nf b/target/nextflow/salmon/salmon_quant/main.nf index e80474d2..c294b3db 100644 --- a/target/nextflow/salmon/salmon_quant/main.nf +++ b/target/nextflow/salmon/salmon_quant/main.nf @@ -3964,9 +3964,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/salmon/salmon_quant", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/samtools/samtools_collate/.config.vsh.yaml b/target/nextflow/samtools/samtools_collate/.config.vsh.yaml index 086525b7..9c6fa063 100644 --- a/target/nextflow/samtools/samtools_collate/.config.vsh.yaml +++ b/target/nextflow/samtools/samtools_collate/.config.vsh.yaml @@ -264,9 +264,9 @@ build_info: output: "target/nextflow/samtools/samtools_collate" executable: "target/nextflow/samtools/samtools_collate/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/samtools/samtools_collate/main.nf b/target/nextflow/samtools/samtools_collate/main.nf index def32c7e..a9c7f561 100644 --- a/target/nextflow/samtools/samtools_collate/main.nf +++ b/target/nextflow/samtools/samtools_collate/main.nf @@ -3140,9 +3140,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/samtools/samtools_collate", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/samtools/samtools_faidx/.config.vsh.yaml b/target/nextflow/samtools/samtools_faidx/.config.vsh.yaml index fad135ba..6a226083 100644 --- a/target/nextflow/samtools/samtools_faidx/.config.vsh.yaml +++ b/target/nextflow/samtools/samtools_faidx/.config.vsh.yaml @@ -243,9 +243,9 @@ build_info: output: "target/nextflow/samtools/samtools_faidx" executable: "target/nextflow/samtools/samtools_faidx/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/samtools/samtools_faidx/main.nf b/target/nextflow/samtools/samtools_faidx/main.nf index 3f444ea4..ee4bac88 100644 --- a/target/nextflow/samtools/samtools_faidx/main.nf +++ b/target/nextflow/samtools/samtools_faidx/main.nf @@ -3112,9 +3112,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/samtools/samtools_faidx", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/samtools/samtools_fasta/.config.vsh.yaml b/target/nextflow/samtools/samtools_fasta/.config.vsh.yaml index c88c54fe..a3b157ce 100644 --- a/target/nextflow/samtools/samtools_fasta/.config.vsh.yaml +++ b/target/nextflow/samtools/samtools_fasta/.config.vsh.yaml @@ -433,9 +433,9 @@ build_info: output: "target/nextflow/samtools/samtools_fasta" executable: "target/nextflow/samtools/samtools_fasta/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/samtools/samtools_fasta/main.nf b/target/nextflow/samtools/samtools_fasta/main.nf index e5a1d43a..d837bb20 100644 --- a/target/nextflow/samtools/samtools_fasta/main.nf +++ b/target/nextflow/samtools/samtools_fasta/main.nf @@ -3304,9 +3304,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/samtools/samtools_fasta", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/samtools/samtools_fastq/.config.vsh.yaml b/target/nextflow/samtools/samtools_fastq/.config.vsh.yaml index c2121e6d..088d967f 100644 --- a/target/nextflow/samtools/samtools_fastq/.config.vsh.yaml +++ b/target/nextflow/samtools/samtools_fastq/.config.vsh.yaml @@ -433,9 +433,9 @@ build_info: output: "target/nextflow/samtools/samtools_fastq" executable: "target/nextflow/samtools/samtools_fastq/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/samtools/samtools_fastq/main.nf b/target/nextflow/samtools/samtools_fastq/main.nf index 0c8b4b6e..4c865c01 100644 --- a/target/nextflow/samtools/samtools_fastq/main.nf +++ b/target/nextflow/samtools/samtools_fastq/main.nf @@ -3304,9 +3304,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/samtools/samtools_fastq", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/samtools/samtools_flagstat/.config.vsh.yaml b/target/nextflow/samtools/samtools_flagstat/.config.vsh.yaml index 6dfc9a67..bf0fffdd 100644 --- a/target/nextflow/samtools/samtools_flagstat/.config.vsh.yaml +++ b/target/nextflow/samtools/samtools_flagstat/.config.vsh.yaml @@ -173,9 +173,9 @@ build_info: output: "target/nextflow/samtools/samtools_flagstat" executable: "target/nextflow/samtools/samtools_flagstat/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/samtools/samtools_flagstat/main.nf b/target/nextflow/samtools/samtools_flagstat/main.nf index 2cf2daf6..045dc406 100644 --- a/target/nextflow/samtools/samtools_flagstat/main.nf +++ b/target/nextflow/samtools/samtools_flagstat/main.nf @@ -3028,9 +3028,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/samtools/samtools_flagstat", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/samtools/samtools_idxstats/.config.vsh.yaml b/target/nextflow/samtools/samtools_idxstats/.config.vsh.yaml index 8746874e..5cb66323 100644 --- a/target/nextflow/samtools/samtools_idxstats/.config.vsh.yaml +++ b/target/nextflow/samtools/samtools_idxstats/.config.vsh.yaml @@ -183,9 +183,9 @@ build_info: output: "target/nextflow/samtools/samtools_idxstats" executable: "target/nextflow/samtools/samtools_idxstats/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/samtools/samtools_idxstats/main.nf b/target/nextflow/samtools/samtools_idxstats/main.nf index fa090fb6..d1a13fe7 100644 --- a/target/nextflow/samtools/samtools_idxstats/main.nf +++ b/target/nextflow/samtools/samtools_idxstats/main.nf @@ -3040,9 +3040,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/samtools/samtools_idxstats", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/samtools/samtools_index/.config.vsh.yaml b/target/nextflow/samtools/samtools_index/.config.vsh.yaml index 8cb5e92f..276363a6 100644 --- a/target/nextflow/samtools/samtools_index/.config.vsh.yaml +++ b/target/nextflow/samtools/samtools_index/.config.vsh.yaml @@ -189,9 +189,9 @@ build_info: output: "target/nextflow/samtools/samtools_index" executable: "target/nextflow/samtools/samtools_index/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/samtools/samtools_index/main.nf b/target/nextflow/samtools/samtools_index/main.nf index e12d137f..b5699d0b 100644 --- a/target/nextflow/samtools/samtools_index/main.nf +++ b/target/nextflow/samtools/samtools_index/main.nf @@ -3053,9 +3053,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/samtools/samtools_index", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/samtools/samtools_sort/.config.vsh.yaml b/target/nextflow/samtools/samtools_sort/.config.vsh.yaml index 720f084b..c9daf0b8 100644 --- a/target/nextflow/samtools/samtools_sort/.config.vsh.yaml +++ b/target/nextflow/samtools/samtools_sort/.config.vsh.yaml @@ -332,9 +332,9 @@ build_info: output: "target/nextflow/samtools/samtools_sort" executable: "target/nextflow/samtools/samtools_sort/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/samtools/samtools_sort/main.nf b/target/nextflow/samtools/samtools_sort/main.nf index 9d834d7d..1cd2f14e 100644 --- a/target/nextflow/samtools/samtools_sort/main.nf +++ b/target/nextflow/samtools/samtools_sort/main.nf @@ -3225,9 +3225,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/samtools/samtools_sort", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/samtools/samtools_stats/.config.vsh.yaml b/target/nextflow/samtools/samtools_stats/.config.vsh.yaml index 67527677..49d9f98c 100644 --- a/target/nextflow/samtools/samtools_stats/.config.vsh.yaml +++ b/target/nextflow/samtools/samtools_stats/.config.vsh.yaml @@ -401,9 +401,9 @@ build_info: output: "target/nextflow/samtools/samtools_stats" executable: "target/nextflow/samtools/samtools_stats/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/samtools/samtools_stats/main.nf b/target/nextflow/samtools/samtools_stats/main.nf index 53d0e77e..8c70fbeb 100644 --- a/target/nextflow/samtools/samtools_stats/main.nf +++ b/target/nextflow/samtools/samtools_stats/main.nf @@ -3295,9 +3295,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/samtools/samtools_stats", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/samtools/samtools_view/.config.vsh.yaml b/target/nextflow/samtools/samtools_view/.config.vsh.yaml index 5eef09a9..9f046b2d 100644 --- a/target/nextflow/samtools/samtools_view/.config.vsh.yaml +++ b/target/nextflow/samtools/samtools_view/.config.vsh.yaml @@ -665,9 +665,9 @@ build_info: output: "target/nextflow/samtools/samtools_view" executable: "target/nextflow/samtools/samtools_view/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/samtools/samtools_view/main.nf b/target/nextflow/samtools/samtools_view/main.nf index 6c830226..2ca71ecb 100644 --- a/target/nextflow/samtools/samtools_view/main.nf +++ b/target/nextflow/samtools/samtools_view/main.nf @@ -3476,9 +3476,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/samtools/samtools_view", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/seqtk/seqtk_sample/.config.vsh.yaml b/target/nextflow/seqtk/seqtk_sample/.config.vsh.yaml index 95ef29b1..1373d1c6 100644 --- a/target/nextflow/seqtk/seqtk_sample/.config.vsh.yaml +++ b/target/nextflow/seqtk/seqtk_sample/.config.vsh.yaml @@ -173,9 +173,9 @@ build_info: output: "target/nextflow/seqtk/seqtk_sample" executable: "target/nextflow/seqtk/seqtk_sample/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/seqtk/seqtk_sample/main.nf b/target/nextflow/seqtk/seqtk_sample/main.nf index 10148785..a09f10f5 100644 --- a/target/nextflow/seqtk/seqtk_sample/main.nf +++ b/target/nextflow/seqtk/seqtk_sample/main.nf @@ -3030,9 +3030,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/seqtk/seqtk_sample", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/seqtk/seqtk_subseq/.config.vsh.yaml b/target/nextflow/seqtk/seqtk_subseq/.config.vsh.yaml index 50ab4c78..e866f878 100644 --- a/target/nextflow/seqtk/seqtk_subseq/.config.vsh.yaml +++ b/target/nextflow/seqtk/seqtk_subseq/.config.vsh.yaml @@ -196,9 +196,9 @@ build_info: output: "target/nextflow/seqtk/seqtk_subseq" executable: "target/nextflow/seqtk/seqtk_subseq/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/seqtk/seqtk_subseq/main.nf b/target/nextflow/seqtk/seqtk_subseq/main.nf index 3d5857ad..ab2d11d4 100644 --- a/target/nextflow/seqtk/seqtk_subseq/main.nf +++ b/target/nextflow/seqtk/seqtk_subseq/main.nf @@ -3060,9 +3060,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/seqtk/seqtk_subseq", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/sortmerna/.config.vsh.yaml b/target/nextflow/sortmerna/.config.vsh.yaml index d5b5d9ac..520e1f20 100644 --- a/target/nextflow/sortmerna/.config.vsh.yaml +++ b/target/nextflow/sortmerna/.config.vsh.yaml @@ -591,9 +591,9 @@ build_info: output: "target/nextflow/sortmerna" executable: "target/nextflow/sortmerna/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/sortmerna/main.nf b/target/nextflow/sortmerna/main.nf index 5d6f244e..e19d81dc 100644 --- a/target/nextflow/sortmerna/main.nf +++ b/target/nextflow/sortmerna/main.nf @@ -3456,9 +3456,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/sortmerna", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/star/star_align_reads/.config.vsh.yaml b/target/nextflow/star/star_align_reads/.config.vsh.yaml index 87b9468c..90c3af63 100644 --- a/target/nextflow/star/star_align_reads/.config.vsh.yaml +++ b/target/nextflow/star/star_align_reads/.config.vsh.yaml @@ -2663,9 +2663,9 @@ build_info: output: "target/nextflow/star/star_align_reads" executable: "target/nextflow/star/star_align_reads/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/star/star_align_reads/main.nf b/target/nextflow/star/star_align_reads/main.nf index 06a12deb..8d9902bb 100644 --- a/target/nextflow/star/star_align_reads/main.nf +++ b/target/nextflow/star/star_align_reads/main.nf @@ -5943,9 +5943,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/star/star_align_reads", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", diff --git a/target/nextflow/star/star_genome_generate/.config.vsh.yaml b/target/nextflow/star/star_genome_generate/.config.vsh.yaml index 5f539e74..2ee7389b 100644 --- a/target/nextflow/star/star_genome_generate/.config.vsh.yaml +++ b/target/nextflow/star/star_genome_generate/.config.vsh.yaml @@ -333,9 +333,9 @@ build_info: output: "target/nextflow/star/star_genome_generate" executable: "target/nextflow/star/star_genome_generate/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/star/star_genome_generate/main.nf b/target/nextflow/star/star_genome_generate/main.nf index 17e1b458..eeb03e4d 100644 --- a/target/nextflow/star/star_genome_generate/main.nf +++ b/target/nextflow/star/star_genome_generate/main.nf @@ -3195,9 +3195,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/star/star_genome_generate", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", 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 b42eb9b5..802a11c5 100644 --- a/target/nextflow/umi_tools/umi_tools_dedup/.config.vsh.yaml +++ b/target/nextflow/umi_tools/umi_tools_dedup/.config.vsh.yaml @@ -611,9 +611,9 @@ build_info: output: "target/nextflow/umi_tools/umi_tools_dedup" executable: "target/nextflow/umi_tools/umi_tools_dedup/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/umi_tools/umi_tools_dedup/main.nf b/target/nextflow/umi_tools/umi_tools_dedup/main.nf index 2db9598e..0e8bad49 100644 --- a/target/nextflow/umi_tools/umi_tools_dedup/main.nf +++ b/target/nextflow/umi_tools/umi_tools_dedup/main.nf @@ -3487,9 +3487,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/umi_tools/umi_tools_dedup", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", 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 509d1283..4b90b4a1 100644 --- a/target/nextflow/umi_tools/umi_tools_extract/.config.vsh.yaml +++ b/target/nextflow/umi_tools/umi_tools_extract/.config.vsh.yaml @@ -449,9 +449,9 @@ build_info: output: "target/nextflow/umi_tools/umi_tools_extract" executable: "target/nextflow/umi_tools/umi_tools_extract/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/umi_tools/umi_tools_extract/main.nf b/target/nextflow/umi_tools/umi_tools_extract/main.nf index b0fd94b2..09643284 100644 --- a/target/nextflow/umi_tools/umi_tools_extract/main.nf +++ b/target/nextflow/umi_tools/umi_tools_extract/main.nf @@ -3316,9 +3316,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/umi_tools/umi_tools_extract", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox", 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 4bd5cf9b..e09b2a47 100644 --- a/target/nextflow/umi_tools/umi_tools_prepareforrsem/.config.vsh.yaml +++ b/target/nextflow/umi_tools/umi_tools_prepareforrsem/.config.vsh.yaml @@ -256,9 +256,9 @@ build_info: output: "target/nextflow/umi_tools/umi_tools_prepareforrsem" executable: "target/nextflow/umi_tools/umi_tools_prepareforrsem/main.nf" viash_version: "0.9.0" - git_commit: "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1" - git_remote: "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox" - git_tag: "v0.2.0-3-g7f8bcc2" + git_commit: "619f1bbb6d040e650233d3b0380f5298e624ecef" + git_remote: "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox" + git_tag: "v0.2.0-4-g619f1bb" package_config: name: "biobox" version: "main" diff --git a/target/nextflow/umi_tools/umi_tools_prepareforrsem/main.nf b/target/nextflow/umi_tools/umi_tools_prepareforrsem/main.nf index a70722bc..a0df192f 100644 --- a/target/nextflow/umi_tools/umi_tools_prepareforrsem/main.nf +++ b/target/nextflow/umi_tools/umi_tools_prepareforrsem/main.nf @@ -3121,9 +3121,9 @@ meta = [ "engine" : "docker|native", "output" : "target/nextflow/umi_tools/umi_tools_prepareforrsem", "viash_version" : "0.9.0", - "git_commit" : "7f8bcc2b3e1ffaac9778b6acb42420b19660d1a1", - "git_remote" : "https://x-access-token:ghs_aSDBedV4vU66pddFDN6d8UEy0ZQApn08RAsh@github.com/viash-hub/biobox", - "git_tag" : "v0.2.0-3-g7f8bcc2" + "git_commit" : "619f1bbb6d040e650233d3b0380f5298e624ecef", + "git_remote" : "https://x-access-token:ghs_Vi76hXSsWXZ7Nqew1pu2fjagXguaxI2jku9D@github.com/viash-hub/biobox", + "git_tag" : "v0.2.0-4-g619f1bb" }, "package_config" : { "name" : "biobox",