Build branch main with version main (5f6516e)

Build pipeline: viash-hub.biobox.main-v9whr

Source commit: 5f6516e9c0

Source message: Bump viash version (#172)

* bump viash version

* fix agat requirements
This commit is contained in:
CI
2025-03-06 09:35:27 +00:00
parent 6f8d68b9cc
commit a518d2ead8
343 changed files with 40275 additions and 18530 deletions

View File

@@ -1,3 +1,9 @@
# biobox 0.3.1
## NEW FUNCTIONALITY
* `bcl_convert`: add `force` argument (PR #171).
# biobox 0.3.0
## NEW FUNCTIONALITY
@@ -49,6 +55,8 @@
* `umi_tools/umi_tools_extract`: Remove `umi_discard_reads` option and change `log2stderr` to input argument (PR #162).
* `star/star_genome_generate`: Fix passing of optional sjdb parameters (PR #170).
## MINOR CHANGES
* `agat_convert_bed2gff`: change type of argument `inflate_off` from `boolean_false` to `boolean_true` (PR #160).

View File

@@ -7,7 +7,7 @@ links:
issue_tracker: https://github.com/viash-hub/biobox/issues
repository: https://github.com/viash-hub/biobox
viash_version: 0.9.0
viash_version: 0.9.2
config_mods: |
.requirements.commands := ['ps']

View File

@@ -11,6 +11,8 @@ links:
references:
doi: 10.5281/zenodo.3552717
license: GPL-3.0
requirements:
commands: ["agat_convert_bed2gff.pl"]
authors:
- __merge__: /src/_authors/leila_paquay.yaml
roles: [ author, maintainer ]

View File

@@ -11,10 +11,11 @@ links:
references:
doi: 10.5281/zenodo.3552717
license: GPL-3.0
requirements:
commands: ["agat_convert_embl2gff.pl"]
authors:
- __merge__: /src/_authors/leila_paquay.yaml
roles: [ author, maintainer ]
argument_groups:
- name: Inputs
arguments:

View File

@@ -22,11 +22,10 @@ references:
doi: 10.5281/zenodo.3552717
license: GPL-3.0
requirements:
- commands: [agat]
commands: ["agat_convert_genscan2gff.pl"]
authors:
- __merge__: /src/_authors/leila_paquay.yaml
roles: [ author, maintainer ]
argument_groups:
- name: Inputs
arguments:

View File

@@ -12,9 +12,9 @@ links:
repository: https://github.com/NBISweden/AGAT
references:
doi: 10.5281/zenodo.3552717
license: GPL-3.
license: GPL-3.0
requirements:
- command: [agat]
commands: ["agat_convert_mfannot2gff.pl"]
authors:
- __merge__: /src/_authors/leila_paquay.yaml
roles: [ author, maintainer ]

View File

@@ -27,10 +27,11 @@ links:
references:
doi: 10.5281/zenodo.3552717
license: GPL-3.0
requirements:
commands: ["agat_convert_sp_gff2gtf.pl"]
authors:
- __merge__: /src/_authors/leila_paquay.yaml
roles: [ author, maintainer ]
argument_groups:
- name: Inputs
arguments:

View File

@@ -12,10 +12,11 @@ links:
references:
doi: 10.5281/zenodo.3552717
license: GPL-3.0
requirements:
commands: ["agat_convert_sp_gff2tsv.pl"]
authors:
- __merge__: /src/_authors/leila_paquay.yaml
roles: [ author, maintainer ]
argument_groups:
- name: Inputs
arguments:

View File

@@ -21,10 +21,11 @@ links:
references:
doi: 10.5281/zenodo.3552717
license: GPL-3.0
requirements:
commands: ["agat_convert_sp_gxf2gxf.pl"]
authors:
- __merge__: /src/_authors/leila_paquay.yaml
roles: [ author, maintainer ]
argument_groups:
- name: Inputs
arguments:

View File

@@ -12,11 +12,10 @@ references:
doi: 10.5281/zenodo.3552717
license: GPL-3.0
requirements:
commands: [agat]
commands: ["agat_sp_add_introns.pl"]
authors:
- __merge__: /src/_authors/leila_paquay.yaml
roles: [ author, maintainer ]
argument_groups:
- name: Inputs
arguments:

View File

@@ -15,11 +15,10 @@ references:
doi: 10.5281/zenodo.3552717
license: GPL-3.0
requirements:
- commands: [agat]
commands: ["agat_sp_filter_feature_from_kill_list.pl"]
authors:
- __merge__: /src/_authors/leila_paquay.yaml
roles: [ author, maintainer ]
argument_groups:
- name: Inputs
arguments:

View File

@@ -13,7 +13,7 @@ references:
doi: 10.5281/zenodo.3552717
license: GPL-3.0
requirements:
commands: [agat]
commands: ["agat_sp_merge_annotations.pl"]
authors:
- __merge__: /src/_authors/leila_paquay.yaml
roles: [ author, maintainer ]

View File

@@ -19,11 +19,10 @@ references:
doi: 10.5281/zenodo.3552717
license: GPL-3.0
requirements:
- commands: [agat]
commands: ["agat_sp_statistics.pl"]
authors:
- __merge__: /src/_authors/leila_paquay.yaml
roles: [ author, maintainer ]
argument_groups:
- name: Inputs
arguments:

View File

@@ -12,7 +12,7 @@ references:
doi: 10.5281/zenodo.3552717
license: GPL-3.0
requirements:
- commands: [agat]
commands: ["agat_sq_stat_basic.pl"]
authors:
- __merge__: /src/_authors/leila_paquay.yaml
roles: [ author, maintainer ]

View File

@@ -134,6 +134,13 @@ argument_groups:
required: false
description: Reports directory
example: logs_dir
- name: "--force"
description: |
Allow destination directory to already exist and overwrite files.
type: boolean
required: false
example: true
# bcl-convert arguments not taken into account
# --force

View File

@@ -2,9 +2,13 @@
set -eo pipefail
[[ "$par_force" == "false" ]] && unset par_force
$(which bcl-convert) \
--bcl-input-directory "$par_bcl_input_directory" \
--output-directory "$par_output_directory" \
${par_force:+--force} \
${par_sample_sheet:+ --sample-sheet "$par_sample_sheet"} \
${par_run_info:+ --run-info "$par_run_info"} \
${par_bcl_only_lane:+ --bcl-only-lane "$par_bcl_only_lane"} \

View File

@@ -17,10 +17,10 @@ STAR \
${par_genome_sa_index_nbases:+--genomeSAindexNbases "${par_genome_sa_index_nbases}"} \
${par_sjdb_gtf_chr_prefix:+--sjdbGTFchrPrefix "${par_sjdb_gtf_chr_prefix}"} \
${par_sjdb_gtf_feature_exon:+--sjdbGTFfeatureExon "${par_sjdb_gtf_feature_exon}"} \
${par_sjdb_gtf_tag_exon_parent_transcript:+--sjdbGTFtag_exon_parent_transcript "${par_sjdb_gtf_tag_exon_parent_transcript}"} \
${par_sjdb_gtf_tag_exon_parent_gene:+--sjdbGTFtag_exon_parent_gene "${par_sjdb_gtf_tag_exon_parent_gene}"} \
${par_sjdb_gtf_tag_exon_parent_geneName:+--sjdbGTFtag_exon_parent_geneName "${par_sjdb_gtf_tag_exon_parent_geneName}"} \
${par_sjdb_gtf_tag_exon_parent_geneType:+--sjdbGTFtag_exon_parent_geneType "${sjdbGTFtag_exon_parent_geneType}"} \
${par_sjdb_gtf_tag_exon_parent_transcript:+--sjdbGTFtagExonParentTranscript "${par_sjdb_gtf_tag_exon_parent_transcript}"} \
${par_sjdb_gtf_tag_exon_parent_gene:+--sjdbGTFtagExonParentGene "${par_sjdb_gtf_tag_exon_parent_gene}"} \
${sjdb_gtf_tag_exon_parent_gene_name:+--sjdbGTFtagExonParentGeneName "${sjdb_gtf_tag_exon_parent_gene_name}"} \
${sjdb_gtf_tag_exon_parent_gene_type:+--sjdbGTFtagExonParentGeneType "${sjdb_gtf_tag_exon_parent_gene_type}"} \
${par_limit_genome_generate_ram:+--limitGenomeGenerateRAM "${par_limit_genome_generate_ram}"} \
${par_genome_chr_bin_nbits:+--genomeChrBinNbits "${par_genome_chr_bin_nbits}"} \
${par_genome_sa_sparse_d:+--genomeSAsparseD "${par_genome_sa_sparse_d}"} \

View File

@@ -44,5 +44,28 @@ grep -q "200" "star_index/chrLength.txt" || (echo "Chromosome length in file 'ch
grep -q "chr1" "star_index/chrName.txt" || (echo "Chromosome name in file 'chrName.txt' is incorrect! " && exit 1)
grep -q "chr1 200" "star_index/chrNameLength.txt" || (echo "Chromosome name in file 'chrNameLength.txt' is incorrect! " && exit 1)
echo "> Test optional parameters"
"$meta_executable" \
${meta_cpus:+---cpus $meta_cpus} \
--index "star_index/" \
--genome_fasta_files "genome.fasta" \
--sjdb_gtf_file "genes.gtf" \
--sjdb_overhang 100 \
--genome_sa_index_nbases 4 \
--sjdb_gtf_tag_exon_parent_transcript "transcript_id" \
--sjdb_gtf_tag_exon_parent_gene "gene_id" \
--sjdb_gtf_tag_exon_parent_gene_name "gene_name" \
--sjdb_gtf_tag_exon_parent_gene_type "gene_type" \
--genome_chr_bin_nbits 10 \
--sjdb_gtf_feature_exon "exon"
files=("Genome" "Log.out" "SA" "SAindex" "chrLength.txt" "chrName.txt" "chrNameLength.txt" "chrStart.txt" "exonGeTrInfo.tab" "exonInfo.tab" "geneInfo.tab" "genomeParameters.txt" "sjdbInfo.txt" "sjdbList.fromGTF.out.tab" "sjdbList.out.tab" "transcriptInfo.tab")
echo ">> Check if output exists"
[ ! -d "star_index" ] && echo "Directory 'star_index' does not exist!" && exit 1
for file in "${files[@]}"; do
[ ! -f "star_index/$file" ] && echo "File '$file' does not exist in 'star_index'." && exit 1
done
echo ">>> Test finished successfully"
exit 0

View File

@@ -133,6 +133,9 @@ test_resources:
path: "test_data"
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -234,16 +237,16 @@ build_info:
engine: "docker|native"
output: "target/executable/agat/agat_convert_bed2gff"
executable: "target/executable/agat/agat_convert_bed2gff/agat_convert_bed2gff"
viash_version: "0.9.0"
git_commit: "952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-27-g952ff08"
viash_version: "0.9.2"
git_commit: "5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.2.0-30-g5f6516e"
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"
viash_version: "0.9.2"
source: "src"
target: "target"
config_mods:

View File

@@ -2,7 +2,7 @@
# agat_convert_bed2gff main
#
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
# This wrapper script is auto-generated by viash 0.9.2 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
# Intuitive.
#
@@ -172,69 +172,6 @@ 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 "agat_convert_bed2gff main"
echo ""
echo "The script takes a bed file as input, and will translate it in gff format. The"
echo "BED format is described here The script converts 0-based, half-open [start-1,"
echo "end) bed file to 1-based, closed [start, end] General Feature Format v3 (GFF3)."
echo ""
echo "Inputs:"
echo " --bed"
echo " type: file, required parameter, file must exist"
echo " example: input.bed"
echo " Input bed file that will be converted."
echo ""
echo "Outputs:"
echo " -o, --out, --outfile, --gff, --output"
echo " type: file, required parameter, output, file must exist"
echo " example: output.gff"
echo " Output GFF file. If no output file is specified, the output will be"
echo " written to STDOUT."
echo ""
echo "Arguments:"
echo " --source"
echo " type: string"
echo " example: Stringtie"
echo " The source informs about the tool used to produce the data and is stored"
echo " in 2nd field of a gff file. Example: Stringtie, Maker, Augustus, etc."
echo " [default: data]"
echo ""
echo " --primary_tag"
echo " type: string"
echo " example: gene"
echo " The primary_tag corresponds to the data type and is stored in 3rd field"
echo " of a gff file. Example: gene, mRNA, CDS, etc. [default: gene]"
echo ""
echo " --inflate_off"
echo " type: boolean_true"
echo " By default we inflate the block fields (blockCount, blockSizes,"
echo " blockStarts) to create subfeatures of the main feature (primary_tag)."
echo " The type of subfeature created is based on the inflate_type parameter."
echo " If you do not want this inflating behaviour you can deactivate it by"
echo " using the --inflate_off option."
echo ""
echo " --inflate_type"
echo " type: string"
echo " example: exon"
echo " Feature type (3rd column in gff) created when inflate parameter"
echo " activated [default: exon]."
echo ""
echo " --verbose"
echo " type: boolean_true"
echo " add verbosity"
echo ""
echo " -c, --config"
echo " type: file, file must exist"
echo " example: custom_agat_config.yaml"
echo " Input agat config file. By default AGAT takes as input agat_config.yaml"
echo " file from the working directory if any, otherwise it takes the orignal"
echo " agat_config.yaml shipped with AGAT. To get the agat_config.yaml locally"
echo " type: \"agat config --expose\". The --config option gives you the"
echo " possibility to use your own AGAT config file (located elsewhere or named"
echo " differently)."
}
# initialise variables
VIASH_MODE='run'
@@ -515,9 +452,9 @@ RUN agat --version | sed 's/AGAT\s\(.*\)/agat: "\1"/' > /var/software_versions.t
LABEL org.opencontainers.image.authors="Leïla Paquay"
LABEL org.opencontainers.image.description="Companion container for running component agat agat_convert_bed2gff"
LABEL org.opencontainers.image.created="2024-12-03T10:33:51Z"
LABEL org.opencontainers.image.created="2025-03-06T09:19:38Z"
LABEL org.opencontainers.image.source="https://github.com/NBISweden/AGAT"
LABEL org.opencontainers.image.revision="952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
LABEL org.opencontainers.image.revision="5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
@@ -632,6 +569,95 @@ fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "agat_convert_bed2gff main"
echo ""
echo "The script takes a bed file as input, and will translate it in gff format. The"
echo "BED format is described here The script converts 0-based, half-open [start-1,"
echo "end) bed file to 1-based, closed [start, end] General Feature Format v3 (GFF3)."
echo ""
echo "Inputs:"
echo " --bed"
echo " type: file, required parameter, file must exist"
echo " example: input.bed"
echo " Input bed file that will be converted."
echo ""
echo "Outputs:"
echo " -o, --out, --outfile, --gff, --output"
echo " type: file, required parameter, output, file must exist"
echo " example: output.gff"
echo " Output GFF file. If no output file is specified, the output will be"
echo " written to STDOUT."
echo ""
echo "Arguments:"
echo " --source"
echo " type: string"
echo " example: Stringtie"
echo " The source informs about the tool used to produce the data and is stored"
echo " in 2nd field of a gff file. Example: Stringtie, Maker, Augustus, etc."
echo " [default: data]"
echo ""
echo " --primary_tag"
echo " type: string"
echo " example: gene"
echo " The primary_tag corresponds to the data type and is stored in 3rd field"
echo " of a gff file. Example: gene, mRNA, CDS, etc. [default: gene]"
echo ""
echo " --inflate_off"
echo " type: boolean_true"
echo " By default we inflate the block fields (blockCount, blockSizes,"
echo " blockStarts) to create subfeatures of the main feature (primary_tag)."
echo " The type of subfeature created is based on the inflate_type parameter."
echo " If you do not want this inflating behaviour you can deactivate it by"
echo " using the --inflate_off option."
echo ""
echo " --inflate_type"
echo " type: string"
echo " example: exon"
echo " Feature type (3rd column in gff) created when inflate parameter"
echo " activated [default: exon]."
echo ""
echo " --verbose"
echo " type: boolean_true"
echo " add verbosity"
echo ""
echo " -c, --config"
echo " type: file, file must exist"
echo " example: custom_agat_config.yaml"
echo " Input agat config file. By default AGAT takes as input agat_config.yaml"
echo " file from the working directory if any, otherwise it takes the orignal"
echo " agat_config.yaml shipped with AGAT. To get the agat_config.yaml locally"
echo " type: \"agat config --expose\". The --config option gives you the"
echo " possibility to use your own AGAT config file (located elsewhere or named"
echo " differently)."
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
echo " ---memory=STRING"
echo " Amount of memory to use. Examples: 4GB, 3MiB."
echo ""
echo "Viash built in Docker:"
echo " ---setup=STRATEGY"
echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing."
echo " Default: ifneedbepullelsecachedbuild"
echo " ---dockerfile"
echo " Print the dockerfile to stdout."
echo " ---docker_run_args=ARG"
echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information."
echo " ---docker_image_id"
echo " Print the docker image id to stdout."
echo " ---debug"
echo " Enter the docker container for debugging purposes."
echo ""
echo "Viash built in Engines:"
echo " ---engine=ENGINE_ID"
echo " Specify the engine to use. Options are: docker, native."
echo " Default: docker"
}
# initialise array
VIASH_POSITIONAL_ARGS=''

View File

@@ -123,6 +123,9 @@ test_resources:
path: "test_data"
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -224,16 +227,16 @@ build_info:
engine: "docker|native"
output: "target/executable/agat/agat_convert_embl2gff"
executable: "target/executable/agat/agat_convert_embl2gff/agat_convert_embl2gff"
viash_version: "0.9.0"
git_commit: "952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-27-g952ff08"
viash_version: "0.9.2"
git_commit: "5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.2.0-30-g5f6516e"
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"
viash_version: "0.9.2"
source: "src"
target: "target"
config_mods:

View File

@@ -2,7 +2,7 @@
# agat_convert_embl2gff main
#
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
# This wrapper script is auto-generated by viash 0.9.2 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
# Intuitive.
#
@@ -172,59 +172,6 @@ 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 "agat_convert_embl2gff main"
echo ""
echo "The script takes an EMBL file as input, and will translate it in gff format."
echo ""
echo "Inputs:"
echo " --embl"
echo " type: file, required parameter, file must exist"
echo " example: input.embl"
echo " Input EMBL file that will be read."
echo ""
echo "Outputs:"
echo " -o, --out, --outfile, --gff, --output"
echo " type: file, output, file must exist"
echo " example: output.gff"
echo " Output GFF file. If no output file is specified, the output will be"
echo " written to STDOUT."
echo ""
echo "Arguments:"
echo " --emblmygff3"
echo " type: boolean_true"
echo " Means that the EMBL flat file comes from the EMBLmyGFF3 software. This"
echo " is an EMBL format dedicated for submission and contains particularity to"
echo " deal with. This parameter is needed to get a proper sequence id in the"
echo " GFF3 from an embl made with EMBLmyGFF3."
echo ""
echo " --pt, -t, --primary_tag"
echo " type: string, multiple values allowed"
echo " example: tag1;tag2"
echo " List of \"primary tag\". Useful to discard or keep specific features."
echo " Multiple tags must be comma-separated."
echo ""
echo " -d, --discard"
echo " type: boolean_true"
echo " Means that primary tags provided by the option \"primary_tag\" will be"
echo " discarded."
echo ""
echo " -k, --keep"
echo " type: boolean_true"
echo " Means that only primary tags provided by the option \"primary_tag\" will"
echo " be kept."
echo ""
echo " -c, --config"
echo " type: file, file must exist"
echo " example: custom_agat_config.yaml"
echo " Input agat config file. By default AGAT takes as input agat_config.yaml"
echo " file from the working directory if any, otherwise it takes the original"
echo " agat_config.yaml shipped with AGAT. To get the agat_config.yaml locally"
echo " type: \"agat config --expose\". The --config option gives you the"
echo " possibility to use your own AGAT config file (located elsewhere or named"
echo " differently)."
}
# initialise variables
VIASH_MODE='run'
@@ -505,9 +452,9 @@ RUN agat --version | sed 's/AGAT\s\(.*\)/agat: "\1"/' > /var/software_versions.t
LABEL org.opencontainers.image.authors="Leïla Paquay"
LABEL org.opencontainers.image.description="Companion container for running component agat agat_convert_embl2gff"
LABEL org.opencontainers.image.created="2024-12-03T10:33:53Z"
LABEL org.opencontainers.image.created="2025-03-06T09:19:37Z"
LABEL org.opencontainers.image.source="https://github.com/NBISweden/AGAT"
LABEL org.opencontainers.image.revision="952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
LABEL org.opencontainers.image.revision="5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
@@ -622,6 +569,85 @@ fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "agat_convert_embl2gff main"
echo ""
echo "The script takes an EMBL file as input, and will translate it in gff format."
echo ""
echo "Inputs:"
echo " --embl"
echo " type: file, required parameter, file must exist"
echo " example: input.embl"
echo " Input EMBL file that will be read."
echo ""
echo "Outputs:"
echo " -o, --out, --outfile, --gff, --output"
echo " type: file, output, file must exist"
echo " example: output.gff"
echo " Output GFF file. If no output file is specified, the output will be"
echo " written to STDOUT."
echo ""
echo "Arguments:"
echo " --emblmygff3"
echo " type: boolean_true"
echo " Means that the EMBL flat file comes from the EMBLmyGFF3 software. This"
echo " is an EMBL format dedicated for submission and contains particularity to"
echo " deal with. This parameter is needed to get a proper sequence id in the"
echo " GFF3 from an embl made with EMBLmyGFF3."
echo ""
echo " --pt, -t, --primary_tag"
echo " type: string, multiple values allowed"
echo " example: tag1;tag2"
echo " List of \"primary tag\". Useful to discard or keep specific features."
echo " Multiple tags must be comma-separated."
echo ""
echo " -d, --discard"
echo " type: boolean_true"
echo " Means that primary tags provided by the option \"primary_tag\" will be"
echo " discarded."
echo ""
echo " -k, --keep"
echo " type: boolean_true"
echo " Means that only primary tags provided by the option \"primary_tag\" will"
echo " be kept."
echo ""
echo " -c, --config"
echo " type: file, file must exist"
echo " example: custom_agat_config.yaml"
echo " Input agat config file. By default AGAT takes as input agat_config.yaml"
echo " file from the working directory if any, otherwise it takes the original"
echo " agat_config.yaml shipped with AGAT. To get the agat_config.yaml locally"
echo " type: \"agat config --expose\". The --config option gives you the"
echo " possibility to use your own AGAT config file (located elsewhere or named"
echo " differently)."
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
echo " ---memory=STRING"
echo " Amount of memory to use. Examples: 4GB, 3MiB."
echo ""
echo "Viash built in Docker:"
echo " ---setup=STRATEGY"
echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing."
echo " Default: ifneedbepullelsecachedbuild"
echo " ---dockerfile"
echo " Print the dockerfile to stdout."
echo " ---docker_run_args=ARG"
echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information."
echo " ---docker_image_id"
echo " Print the docker image id to stdout."
echo " ---debug"
echo " Enter the docker container for debugging purposes."
echo ""
echo "Viash built in Engines:"
echo " ---engine=ENGINE_ID"
echo " Specify the engine to use. Options are: docker, native."
echo " Default: docker"
}
# initialise array
VIASH_POSITIONAL_ARGS=''

View File

@@ -127,6 +127,9 @@ test_resources:
path: "test_data"
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -229,16 +232,16 @@ build_info:
engine: "docker|native"
output: "target/executable/agat/agat_convert_genscan2gff"
executable: "target/executable/agat/agat_convert_genscan2gff/agat_convert_genscan2gff"
viash_version: "0.9.0"
git_commit: "952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-27-g952ff08"
viash_version: "0.9.2"
git_commit: "5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.2.0-30-g5f6516e"
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"
viash_version: "0.9.2"
source: "src"
target: "target"
config_mods:

View File

@@ -2,7 +2,7 @@
# agat_convert_genscan2gff main
#
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
# This wrapper script is auto-generated by viash 0.9.2 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
# Intuitive.
#
@@ -172,68 +172,6 @@ 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 "agat_convert_genscan2gff main"
echo ""
echo "The script takes a GENSCAN file as input, and will translate it in gff"
echo "format. The GENSCAN format is described"
echo "[here](http://genome.crg.es/courses/Bioinformatics2003_genefinding/results/genscan.html)."
echo ""
echo "**Known problem**"
echo ""
echo "You must have submited only DNA sequence, without any header!! Indeed the tool"
echo "expects only DNA"
echo "sequences and does not crash/warn if an header is submited along the"
echo "sequence. e.g If you have an header \">seq\" s-e-q are seen as the 3 first"
echo "nucleotides of the sequence. Then all prediction location are shifted"
echo "accordingly. (checked only on the [online"
echo "version](http://argonaute.mit.edu/GENSCAN.html)."
echo "I don't know if there is the same problem elsewhere.)"
echo ""
echo "Inputs:"
echo " -g, --genscan"
echo " type: file, required parameter, file must exist"
echo " Input genscan bed file that will be converted."
echo ""
echo "Outputs:"
echo " -o, --out, --outfile, --gff, --output"
echo " type: file, required parameter, output, file must exist"
echo " example: output.gff"
echo " Output GFF file. If no output file is specified, the output will be"
echo " written to STDOUT."
echo ""
echo "Arguments:"
echo " --source"
echo " type: string"
echo " example: Stringtie"
echo " The source informs about the tool used to produce the data and is stored"
echo " in 2nd field of a gff file. Example: Stringtie, Maker, Augustus, etc."
echo " [default: data]"
echo ""
echo " --primary_tag"
echo " type: string"
echo " example: gene"
echo " The primary_tag corresponds to the data type and is stored in 3rd field"
echo " of a gff file. Example: gene, mRNA, CDS, etc. [default: gene]"
echo ""
echo " --inflate_type"
echo " type: string"
echo " example: exon"
echo " Feature type (3rd column in gff) created when inflate parameter"
echo " activated [default: exon]."
echo ""
echo " --verbose"
echo " type: boolean_true"
echo " add verbosity"
echo ""
echo " -c, --config"
echo " type: file, file must exist"
echo " example: custom_agat_config.yaml"
echo " AGAT config file. By default AGAT takes the original agat_config.yaml"
echo " shipped with AGAT. The \`--config\` option gives you the possibility to"
echo " use your own AGAT config file (located elsewhere or named differently)."
}
# initialise variables
VIASH_MODE='run'
@@ -514,9 +452,9 @@ RUN agat --version | sed 's/AGAT\s\(.*\)/agat: "\1"/' > /var/software_versions.t
LABEL org.opencontainers.image.authors="Leïla Paquay"
LABEL org.opencontainers.image.description="Companion container for running component agat agat_convert_genscan2gff"
LABEL org.opencontainers.image.created="2024-12-03T10:33:54Z"
LABEL org.opencontainers.image.created="2025-03-06T09:19:37Z"
LABEL org.opencontainers.image.source="https://github.com/NBISweden/AGAT"
LABEL org.opencontainers.image.revision="952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
LABEL org.opencontainers.image.revision="5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
@@ -631,6 +569,94 @@ fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "agat_convert_genscan2gff main"
echo ""
echo "The script takes a GENSCAN file as input, and will translate it in gff"
echo "format. The GENSCAN format is described"
echo "[here](http://genome.crg.es/courses/Bioinformatics2003_genefinding/results/genscan.html)."
echo ""
echo "**Known problem**"
echo ""
echo "You must have submited only DNA sequence, without any header!! Indeed the tool"
echo "expects only DNA"
echo "sequences and does not crash/warn if an header is submited along the"
echo "sequence. e.g If you have an header \">seq\" s-e-q are seen as the 3 first"
echo "nucleotides of the sequence. Then all prediction location are shifted"
echo "accordingly. (checked only on the [online"
echo "version](http://argonaute.mit.edu/GENSCAN.html)."
echo "I don't know if there is the same problem elsewhere.)"
echo ""
echo "Inputs:"
echo " -g, --genscan"
echo " type: file, required parameter, file must exist"
echo " Input genscan bed file that will be converted."
echo ""
echo "Outputs:"
echo " -o, --out, --outfile, --gff, --output"
echo " type: file, required parameter, output, file must exist"
echo " example: output.gff"
echo " Output GFF file. If no output file is specified, the output will be"
echo " written to STDOUT."
echo ""
echo "Arguments:"
echo " --source"
echo " type: string"
echo " example: Stringtie"
echo " The source informs about the tool used to produce the data and is stored"
echo " in 2nd field of a gff file. Example: Stringtie, Maker, Augustus, etc."
echo " [default: data]"
echo ""
echo " --primary_tag"
echo " type: string"
echo " example: gene"
echo " The primary_tag corresponds to the data type and is stored in 3rd field"
echo " of a gff file. Example: gene, mRNA, CDS, etc. [default: gene]"
echo ""
echo " --inflate_type"
echo " type: string"
echo " example: exon"
echo " Feature type (3rd column in gff) created when inflate parameter"
echo " activated [default: exon]."
echo ""
echo " --verbose"
echo " type: boolean_true"
echo " add verbosity"
echo ""
echo " -c, --config"
echo " type: file, file must exist"
echo " example: custom_agat_config.yaml"
echo " AGAT config file. By default AGAT takes the original agat_config.yaml"
echo " shipped with AGAT. The \`--config\` option gives you the possibility to"
echo " use your own AGAT config file (located elsewhere or named differently)."
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
echo " ---memory=STRING"
echo " Amount of memory to use. Examples: 4GB, 3MiB."
echo ""
echo "Viash built in Docker:"
echo " ---setup=STRATEGY"
echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing."
echo " Default: ifneedbepullelsecachedbuild"
echo " ---dockerfile"
echo " Print the dockerfile to stdout."
echo " ---docker_run_args=ARG"
echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information."
echo " ---docker_image_id"
echo " Print the docker image id to stdout."
echo " ---debug"
echo " Enter the docker container for debugging purposes."
echo ""
echo "Viash built in Engines:"
echo " ---engine=ENGINE_ID"
echo " Specify the engine to use. Options are: docker, native."
echo " Default: docker"
}
# initialise array
VIASH_POSITIONAL_ARGS=''

View File

@@ -83,6 +83,9 @@ test_resources:
path: "test_data"
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -90,7 +93,7 @@ keywords:
- "gene annotations"
- "GFF"
- "Mfannot"
license: "GPL-3."
license: "GPL-3.0"
references:
doi:
- "10.5281/zenodo.3552717"
@@ -185,16 +188,16 @@ build_info:
engine: "docker|native"
output: "target/executable/agat/agat_convert_mfannot2gff"
executable: "target/executable/agat/agat_convert_mfannot2gff/agat_convert_mfannot2gff"
viash_version: "0.9.0"
git_commit: "952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-27-g952ff08"
viash_version: "0.9.2"
git_commit: "5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.2.0-30-g5f6516e"
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"
viash_version: "0.9.2"
source: "src"
target: "target"
config_mods:

View File

@@ -2,7 +2,7 @@
# agat_convert_mfannot2gff main
#
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
# This wrapper script is auto-generated by viash 0.9.2 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
# Intuitive.
#
@@ -172,34 +172,6 @@ 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 "agat_convert_mfannot2gff main"
echo ""
echo "Conversion utility for MFannot \"masterfile\" annotation produced by the"
echo "[MFannot pipeline](http://megasun.bch.umontreal.ca/RNAweasel/). Reports"
echo "GFF3 format."
echo ""
echo "Inputs:"
echo " -m, -i, --mfannot"
echo " type: file, required parameter, file must exist"
echo " example: input.mfannot"
echo " The mfannot input file."
echo ""
echo "Outputs:"
echo " -g, -o, --gff"
echo " type: file, required parameter, output, file must exist"
echo " example: output.gff"
echo " The GFF output file."
echo ""
echo "Arguments:"
echo " -c, --config"
echo " type: file, file must exist"
echo " example: custom_agat_config.yaml"
echo " AGAT config file. By default AGAT takes the original agat_config.yaml"
echo " shipped with AGAT. The \`--config\` option gives you the possibility to"
echo " use your own AGAT config file (located elsewhere or named differently)."
}
# initialise variables
VIASH_MODE='run'
@@ -480,9 +452,9 @@ RUN agat --version | sed 's/AGAT\s\(.*\)/agat: "\1"/' > /var/software_versions.t
LABEL org.opencontainers.image.authors="Leïla Paquay"
LABEL org.opencontainers.image.description="Companion container for running component agat agat_convert_mfannot2gff"
LABEL org.opencontainers.image.created="2024-12-03T10:34:05Z"
LABEL org.opencontainers.image.created="2025-03-06T09:19:39Z"
LABEL org.opencontainers.image.source="https://github.com/NBISweden/AGAT"
LABEL org.opencontainers.image.revision="952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
LABEL org.opencontainers.image.revision="5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
@@ -597,6 +569,60 @@ fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "agat_convert_mfannot2gff main"
echo ""
echo "Conversion utility for MFannot \"masterfile\" annotation produced by the"
echo "[MFannot pipeline](http://megasun.bch.umontreal.ca/RNAweasel/). Reports"
echo "GFF3 format."
echo ""
echo "Inputs:"
echo " -m, -i, --mfannot"
echo " type: file, required parameter, file must exist"
echo " example: input.mfannot"
echo " The mfannot input file."
echo ""
echo "Outputs:"
echo " -g, -o, --gff"
echo " type: file, required parameter, output, file must exist"
echo " example: output.gff"
echo " The GFF output file."
echo ""
echo "Arguments:"
echo " -c, --config"
echo " type: file, file must exist"
echo " example: custom_agat_config.yaml"
echo " AGAT config file. By default AGAT takes the original agat_config.yaml"
echo " shipped with AGAT. The \`--config\` option gives you the possibility to"
echo " use your own AGAT config file (located elsewhere or named differently)."
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
echo " ---memory=STRING"
echo " Amount of memory to use. Examples: 4GB, 3MiB."
echo ""
echo "Viash built in Docker:"
echo " ---setup=STRATEGY"
echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing."
echo " Default: ifneedbepullelsecachedbuild"
echo " ---dockerfile"
echo " Print the dockerfile to stdout."
echo " ---docker_run_args=ARG"
echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information."
echo " ---docker_image_id"
echo " Print the docker image id to stdout."
echo " ---debug"
echo " Enter the docker container for debugging purposes."
echo ""
echo "Viash built in Engines:"
echo " ---engine=ENGINE_ID"
echo " Specify the engine to use. Options are: docker, native."
echo " Default: docker"
}
# initialise array
VIASH_POSITIONAL_ARGS=''

View File

@@ -126,6 +126,9 @@ test_resources:
path: "test_data"
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -227,16 +230,16 @@ build_info:
engine: "docker|native"
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: "952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-27-g952ff08"
viash_version: "0.9.2"
git_commit: "5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.2.0-30-g5f6516e"
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"
viash_version: "0.9.2"
source: "src"
target: "target"
config_mods:

View File

@@ -2,7 +2,7 @@
# agat_convert_sp_gff2gtf main
#
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
# This wrapper script is auto-generated by viash 0.9.2 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
# Intuitive.
#
@@ -172,73 +172,6 @@ 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 "agat_convert_sp_gff2gtf main"
echo ""
echo "The script aims to convert any GTF/GFF file into a proper GTF file. Full"
echo "information about the format can be found here:"
echo "https://agat.readthedocs.io/en/latest/gxf.html You can choose among 7"
echo "different GTF types (1, 2, 2.1, 2.2, 2.5, 3 or relax). Depending the"
echo "version selected the script will filter out the features that are not"
echo "accepted. For GTF2.5 and 3, every level1 feature (e.g nc_gene"
echo "pseudogene) will be converted into gene feature and every level2 feature"
echo "(e.g mRNA ncRNA) will be converted into transcript feature. Using the"
echo "\"relax\" option you will produce a GTF-like output keeping all original"
echo "feature types (3rd column). No modification will occur e.g. mRNA to"
echo "transcript."
echo ""
echo "To be fully GTF compliant all feature have a gene_id and a transcript_id"
echo "attribute. The gene_id is unique identifier for the genomic source of"
echo "the transcript, which is used to group transcripts into genes. The"
echo "transcript_id is a unique identifier for the predicted transcript, which"
echo "is used to group features into transcripts."
echo ""
echo "Inputs:"
echo " -i, --gff"
echo " type: file, required parameter, file must exist"
echo " example: input.gff"
echo " Input GFF/GTF file that will be read"
echo ""
echo "Outputs:"
echo " -o, --out, --outfile, --gtf, --output"
echo " type: file, required parameter, output, file must exist"
echo " example: output.gtf"
echo " Output GTF file. If no output file is specified, the output will be"
echo " written to STDOUT."
echo ""
echo "Arguments:"
echo " --gtf_version"
echo " type: string"
echo " example: 3"
echo " choices: [ relax, 1, 2, 2.1, 2.2, 2.5, 3 ]"
echo " Version of the GTF output (1,2,2.1,2.2,2.5,3 or relax). Default value"
echo " from AGAT config file (relax for the default config). The script option"
echo " has the higher priority."
echo " * relax: all feature types are accepted."
echo " * GTF3 (9 feature types accepted): gene, transcript, exon, CDS,"
echo " Selenocysteine, start_codon, stop_codon, three_prime_utr and"
echo " five_prime_utr."
echo " * GTF2.5 (8 feature types accepted): gene, transcript, exon, CDS, UTR,"
echo " start_codon, stop_codon, Selenocysteine."
echo " * GTF2.2 (9 feature types accepted): CDS, start_codon, stop_codon,"
echo " 5UTR, 3UTR, inter, inter_CNS, intron_CNS and exon."
echo " * GTF2.1 (6 feature types accepted): CDS, start_codon, stop_codon,"
echo " exon, 5UTR, 3UTR."
echo " * GTF2 (4 feature types accepted): CDS, start_codon, stop_codon, exon."
echo " * GTF1 (5 feature types accepted): CDS, start_codon, stop_codon, exon,"
echo " intron."
echo ""
echo " -c, --config"
echo " type: file, file must exist"
echo " example: custom_agat_config.yaml"
echo " Input agat config file. By default AGAT takes as input agat_config.yaml"
echo " file from the working directory if any, otherwise it takes the orignal"
echo " agat_config.yaml shipped with AGAT. To get the agat_config.yaml locally"
echo " type: \"agat config --expose\". The --config option gives you the"
echo " possibility to use your own AGAT config file (located elsewhere or named"
echo " differently)."
}
# initialise variables
VIASH_MODE='run'
@@ -519,9 +452,9 @@ RUN agat --version | sed 's/AGAT\s\(.*\)/agat: "\1"/' > /var/software_versions.t
LABEL org.opencontainers.image.authors="Leïla Paquay"
LABEL org.opencontainers.image.description="Companion container for running component agat agat_convert_sp_gff2gtf"
LABEL org.opencontainers.image.created="2024-12-03T10:33:52Z"
LABEL org.opencontainers.image.created="2025-03-06T09:19:37Z"
LABEL org.opencontainers.image.source="https://github.com/NBISweden/AGAT"
LABEL org.opencontainers.image.revision="952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
LABEL org.opencontainers.image.revision="5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
@@ -636,6 +569,99 @@ fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "agat_convert_sp_gff2gtf main"
echo ""
echo "The script aims to convert any GTF/GFF file into a proper GTF file. Full"
echo "information about the format can be found here:"
echo "https://agat.readthedocs.io/en/latest/gxf.html You can choose among 7"
echo "different GTF types (1, 2, 2.1, 2.2, 2.5, 3 or relax). Depending the"
echo "version selected the script will filter out the features that are not"
echo "accepted. For GTF2.5 and 3, every level1 feature (e.g nc_gene"
echo "pseudogene) will be converted into gene feature and every level2 feature"
echo "(e.g mRNA ncRNA) will be converted into transcript feature. Using the"
echo "\"relax\" option you will produce a GTF-like output keeping all original"
echo "feature types (3rd column). No modification will occur e.g. mRNA to"
echo "transcript."
echo ""
echo "To be fully GTF compliant all feature have a gene_id and a transcript_id"
echo "attribute. The gene_id is unique identifier for the genomic source of"
echo "the transcript, which is used to group transcripts into genes. The"
echo "transcript_id is a unique identifier for the predicted transcript, which"
echo "is used to group features into transcripts."
echo ""
echo "Inputs:"
echo " -i, --gff"
echo " type: file, required parameter, file must exist"
echo " example: input.gff"
echo " Input GFF/GTF file that will be read"
echo ""
echo "Outputs:"
echo " -o, --out, --outfile, --gtf, --output"
echo " type: file, required parameter, output, file must exist"
echo " example: output.gtf"
echo " Output GTF file. If no output file is specified, the output will be"
echo " written to STDOUT."
echo ""
echo "Arguments:"
echo " --gtf_version"
echo " type: string"
echo " example: 3"
echo " choices: [ relax, 1, 2, 2.1, 2.2, 2.5, 3 ]"
echo " Version of the GTF output (1,2,2.1,2.2,2.5,3 or relax). Default value"
echo " from AGAT config file (relax for the default config). The script option"
echo " has the higher priority."
echo " * relax: all feature types are accepted."
echo " * GTF3 (9 feature types accepted): gene, transcript, exon, CDS,"
echo " Selenocysteine, start_codon, stop_codon, three_prime_utr and"
echo " five_prime_utr."
echo " * GTF2.5 (8 feature types accepted): gene, transcript, exon, CDS, UTR,"
echo " start_codon, stop_codon, Selenocysteine."
echo " * GTF2.2 (9 feature types accepted): CDS, start_codon, stop_codon,"
echo " 5UTR, 3UTR, inter, inter_CNS, intron_CNS and exon."
echo " * GTF2.1 (6 feature types accepted): CDS, start_codon, stop_codon,"
echo " exon, 5UTR, 3UTR."
echo " * GTF2 (4 feature types accepted): CDS, start_codon, stop_codon, exon."
echo " * GTF1 (5 feature types accepted): CDS, start_codon, stop_codon, exon,"
echo " intron."
echo ""
echo " -c, --config"
echo " type: file, file must exist"
echo " example: custom_agat_config.yaml"
echo " Input agat config file. By default AGAT takes as input agat_config.yaml"
echo " file from the working directory if any, otherwise it takes the orignal"
echo " agat_config.yaml shipped with AGAT. To get the agat_config.yaml locally"
echo " type: \"agat config --expose\". The --config option gives you the"
echo " possibility to use your own AGAT config file (located elsewhere or named"
echo " differently)."
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
echo " ---memory=STRING"
echo " Amount of memory to use. Examples: 4GB, 3MiB."
echo ""
echo "Viash built in Docker:"
echo " ---setup=STRATEGY"
echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing."
echo " Default: ifneedbepullelsecachedbuild"
echo " ---dockerfile"
echo " Print the dockerfile to stdout."
echo " ---docker_run_args=ARG"
echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information."
echo " ---docker_image_id"
echo " Print the docker image id to stdout."
echo " ---debug"
echo " Enter the docker container for debugging purposes."
echo ""
echo "Viash built in Engines:"
echo " ---engine=ENGINE_ID"
echo " Specify the engine to use. Options are: docker, native."
echo " Default: docker"
}
# initialise array
VIASH_POSITIONAL_ARGS=''

View File

@@ -86,6 +86,9 @@ test_resources:
path: "test_data"
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -187,16 +190,16 @@ build_info:
engine: "docker|native"
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: "952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-27-g952ff08"
viash_version: "0.9.2"
git_commit: "5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.2.0-30-g5f6516e"
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"
viash_version: "0.9.2"
source: "src"
target: "target"
config_mods:

View File

@@ -2,7 +2,7 @@
# agat_convert_sp_gff2tsv main
#
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
# This wrapper script is auto-generated by viash 0.9.2 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
# Intuitive.
#
@@ -172,38 +172,6 @@ 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 "agat_convert_sp_gff2tsv main"
echo ""
echo "The script aims to convert gtf/gff file into tabulated file. Attribute's"
echo "tags from the 9th column become column titles."
echo ""
echo "Inputs:"
echo " -f, --gff"
echo " type: file, required parameter, file must exist"
echo " example: input.gff"
echo " Input GTF/GFF file."
echo ""
echo "Outputs:"
echo " -o, --out, --outfile, --output"
echo " type: file, required parameter, output, file must exist"
echo " example: output.gff"
echo " Output GFF file. If no output file is specified, the output will be"
echo " written to STDOUT."
echo ""
echo "Arguments:"
echo " -c, --config"
echo " type: file, file must exist"
echo " example: custom_agat_config.yaml"
echo " String - Input agat config file. By default AGAT takes as input"
echo " agat_config.yaml file from the working directory if any,"
echo " otherwise it takes the orignal agat_config.yaml shipped with"
echo " AGAT. To get the agat_config.yaml locally type: \"agat config"
echo " --expose\". The --config option gives you the possibility to use"
echo " your own AGAT config file (located elsewhere or named"
echo " differently)."
}
# initialise variables
VIASH_MODE='run'
@@ -484,9 +452,9 @@ RUN agat --version | sed 's/AGAT\s\(.*\)/agat: "\1"/' > /var/software_versions.t
LABEL org.opencontainers.image.authors="Leïla Paquay"
LABEL org.opencontainers.image.description="Companion container for running component agat agat_convert_sp_gff2tsv"
LABEL org.opencontainers.image.created="2024-12-03T10:33:52Z"
LABEL org.opencontainers.image.created="2025-03-06T09:19:38Z"
LABEL org.opencontainers.image.source="https://github.com/NBISweden/AGAT"
LABEL org.opencontainers.image.revision="952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
LABEL org.opencontainers.image.revision="5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
@@ -601,6 +569,64 @@ fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "agat_convert_sp_gff2tsv main"
echo ""
echo "The script aims to convert gtf/gff file into tabulated file. Attribute's"
echo "tags from the 9th column become column titles."
echo ""
echo "Inputs:"
echo " -f, --gff"
echo " type: file, required parameter, file must exist"
echo " example: input.gff"
echo " Input GTF/GFF file."
echo ""
echo "Outputs:"
echo " -o, --out, --outfile, --output"
echo " type: file, required parameter, output, file must exist"
echo " example: output.gff"
echo " Output GFF file. If no output file is specified, the output will be"
echo " written to STDOUT."
echo ""
echo "Arguments:"
echo " -c, --config"
echo " type: file, file must exist"
echo " example: custom_agat_config.yaml"
echo " String - Input agat config file. By default AGAT takes as input"
echo " agat_config.yaml file from the working directory if any,"
echo " otherwise it takes the orignal agat_config.yaml shipped with"
echo " AGAT. To get the agat_config.yaml locally type: \"agat config"
echo " --expose\". The --config option gives you the possibility to use"
echo " your own AGAT config file (located elsewhere or named"
echo " differently)."
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
echo " ---memory=STRING"
echo " Amount of memory to use. Examples: 4GB, 3MiB."
echo ""
echo "Viash built in Docker:"
echo " ---setup=STRATEGY"
echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing."
echo " Default: ifneedbepullelsecachedbuild"
echo " ---dockerfile"
echo " Print the dockerfile to stdout."
echo " ---docker_run_args=ARG"
echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information."
echo " ---docker_image_id"
echo " Print the docker image id to stdout."
echo " ---debug"
echo " Enter the docker container for debugging purposes."
echo ""
echo "Viash built in Engines:"
echo " ---engine=ENGINE_ID"
echo " Specify the engine to use. Options are: docker, native."
echo " Default: docker"
}
# initialise array
VIASH_POSITIONAL_ARGS=''

View File

@@ -93,6 +93,9 @@ test_resources:
path: "test_data"
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -194,16 +197,16 @@ build_info:
engine: "docker|native"
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: "952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-27-g952ff08"
viash_version: "0.9.2"
git_commit: "5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.2.0-30-g5f6516e"
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"
viash_version: "0.9.2"
source: "src"
target: "target"
config_mods:

View File

@@ -2,7 +2,7 @@
# agat_convert_sp_gxf2gxf main
#
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
# This wrapper script is auto-generated by viash 0.9.2 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
# Intuitive.
#
@@ -172,47 +172,6 @@ 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 "agat_convert_sp_gxf2gxf main"
echo ""
echo "This script fixes and/or standardizes any GTF/GFF file into full sorted"
echo "GTF/GFF file. It AGAT parser removes duplicate features, fixes"
echo "duplicated IDs, adds missing ID and/or Parent attributes, deflates"
echo "factorized attributes (attributes with several parents are duplicated"
echo "with uniq ID), add missing features when possible (e.g. add exon if only"
echo "CDS described, add UTR if CDS and exon described), fix feature locations"
echo "(e.g. check exon is embedded in the parent features mRNA, gene), etc..."
echo ""
echo "All AGAT's scripts with the _sp_ prefix use the AGAT parser, before to"
echo "perform any supplementary task. So, it is not necessary to run this"
echo "script prior the use of any other _sp_ script."
echo ""
echo "Inputs:"
echo " -g, --gtf, --gff, --gxf"
echo " type: file, required parameter, file must exist"
echo " example: input.gff"
echo " String - Input GTF/GFF file. Compressed file with .gz extension is"
echo " accepted."
echo ""
echo "Outputs:"
echo " -o, --output"
echo " type: file, required parameter, output, file must exist"
echo " example: output.gff"
echo " String - Output GFF file. If no output file is specified, the output"
echo " will be written to STDOUT."
echo ""
echo "Arguments:"
echo " -c, --config"
echo " type: file, file must exist"
echo " example: custom_agat_config.yaml"
echo " String - Input agat config file. By default AGAT takes as input"
echo " agat_config.yaml file from the working directory if any, otherwise it"
echo " takes the original agat_config.yaml shipped with AGAT. To get the"
echo " agat_config.yaml locally type: \"agat config --expose\". The --config"
echo " option gives you the possibility to use your own AGAT config file"
echo " (located elsewhere or named differently)."
}
# initialise variables
VIASH_MODE='run'
@@ -493,9 +452,9 @@ RUN agat --version | sed 's/AGAT\s\(.*\)/agat: "\1"/' > /var/software_versions.t
LABEL org.opencontainers.image.authors="Leïla Paquay"
LABEL org.opencontainers.image.description="Companion container for running component agat agat_convert_sp_gxf2gxf"
LABEL org.opencontainers.image.created="2024-12-03T10:34:05Z"
LABEL org.opencontainers.image.created="2025-03-06T09:19:39Z"
LABEL org.opencontainers.image.source="https://github.com/NBISweden/AGAT"
LABEL org.opencontainers.image.revision="952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
LABEL org.opencontainers.image.revision="5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
@@ -610,6 +569,73 @@ fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "agat_convert_sp_gxf2gxf main"
echo ""
echo "This script fixes and/or standardizes any GTF/GFF file into full sorted"
echo "GTF/GFF file. It AGAT parser removes duplicate features, fixes"
echo "duplicated IDs, adds missing ID and/or Parent attributes, deflates"
echo "factorized attributes (attributes with several parents are duplicated"
echo "with uniq ID), add missing features when possible (e.g. add exon if only"
echo "CDS described, add UTR if CDS and exon described), fix feature locations"
echo "(e.g. check exon is embedded in the parent features mRNA, gene), etc..."
echo ""
echo "All AGAT's scripts with the _sp_ prefix use the AGAT parser, before to"
echo "perform any supplementary task. So, it is not necessary to run this"
echo "script prior the use of any other _sp_ script."
echo ""
echo "Inputs:"
echo " -g, --gtf, --gff, --gxf"
echo " type: file, required parameter, file must exist"
echo " example: input.gff"
echo " String - Input GTF/GFF file. Compressed file with .gz extension is"
echo " accepted."
echo ""
echo "Outputs:"
echo " -o, --output"
echo " type: file, required parameter, output, file must exist"
echo " example: output.gff"
echo " String - Output GFF file. If no output file is specified, the output"
echo " will be written to STDOUT."
echo ""
echo "Arguments:"
echo " -c, --config"
echo " type: file, file must exist"
echo " example: custom_agat_config.yaml"
echo " String - Input agat config file. By default AGAT takes as input"
echo " agat_config.yaml file from the working directory if any, otherwise it"
echo " takes the original agat_config.yaml shipped with AGAT. To get the"
echo " agat_config.yaml locally type: \"agat config --expose\". The --config"
echo " option gives you the possibility to use your own AGAT config file"
echo " (located elsewhere or named differently)."
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
echo " ---memory=STRING"
echo " Amount of memory to use. Examples: 4GB, 3MiB."
echo ""
echo "Viash built in Docker:"
echo " ---setup=STRATEGY"
echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing."
echo " Default: ifneedbepullelsecachedbuild"
echo " ---dockerfile"
echo " Print the dockerfile to stdout."
echo " ---docker_run_args=ARG"
echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information."
echo " ---docker_image_id"
echo " Print the docker image id to stdout."
echo " ---debug"
echo " Enter the docker container for debugging purposes."
echo ""
echo "Viash built in Engines:"
echo " ---engine=ENGINE_ID"
echo " Specify the engine to use. Options are: docker, native."
echo " Default: docker"
}
# initialise array
VIASH_POSITIONAL_ARGS=''

View File

@@ -84,6 +84,9 @@ test_resources:
path: "test_data"
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -185,16 +188,16 @@ build_info:
engine: "docker|native"
output: "target/executable/agat/agat_sp_add_introns"
executable: "target/executable/agat/agat_sp_add_introns/agat_sp_add_introns"
viash_version: "0.9.0"
git_commit: "952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-27-g952ff08"
viash_version: "0.9.2"
git_commit: "5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.2.0-30-g5f6516e"
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"
viash_version: "0.9.2"
source: "src"
target: "target"
config_mods:

View File

@@ -2,7 +2,7 @@
# agat_sp_add_introns main
#
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
# This wrapper script is auto-generated by viash 0.9.2 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
# Intuitive.
#
@@ -172,33 +172,6 @@ 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 "agat_sp_add_introns main"
echo ""
echo "Add intronic elements to a gtf/gff file without intron features."
echo ""
echo "Inputs:"
echo " -f, --ref, --reffile, --gff"
echo " type: file, required parameter, file must exist"
echo " example: input.gff"
echo " Input GTF/GFF file."
echo ""
echo "Outputs:"
echo " -o, --out, --outfile, --gtf, --output"
echo " type: file, required parameter, output, file must exist"
echo " example: output.gff"
echo " Output GFF3 file."
echo ""
echo "Arguments:"
echo " -c, --config"
echo " type: file, file must exist"
echo " example: custom_agat_config.yaml"
echo " AGAT config file. By default AGAT takes the original agat_config.yaml"
echo " shipped with AGAT. The \`--config\` option"
echo " gives you the possibility to use your own AGAT config file (located"
echo " elsewhere or named differently)."
}
# initialise variables
VIASH_MODE='run'
@@ -479,9 +452,9 @@ RUN agat --version | sed 's/AGAT\s\(.*\)/agat: "\1"/' > /var/software_versions.t
LABEL org.opencontainers.image.authors="Leïla Paquay"
LABEL org.opencontainers.image.description="Companion container for running component agat agat_sp_add_introns"
LABEL org.opencontainers.image.created="2024-12-03T10:33:52Z"
LABEL org.opencontainers.image.created="2025-03-06T09:19:38Z"
LABEL org.opencontainers.image.source="https://github.com/NBISweden/AGAT"
LABEL org.opencontainers.image.revision="952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
LABEL org.opencontainers.image.revision="5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
@@ -596,6 +569,59 @@ fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "agat_sp_add_introns main"
echo ""
echo "Add intronic elements to a gtf/gff file without intron features."
echo ""
echo "Inputs:"
echo " -f, --ref, --reffile, --gff"
echo " type: file, required parameter, file must exist"
echo " example: input.gff"
echo " Input GTF/GFF file."
echo ""
echo "Outputs:"
echo " -o, --out, --outfile, --gtf, --output"
echo " type: file, required parameter, output, file must exist"
echo " example: output.gff"
echo " Output GFF3 file."
echo ""
echo "Arguments:"
echo " -c, --config"
echo " type: file, file must exist"
echo " example: custom_agat_config.yaml"
echo " AGAT config file. By default AGAT takes the original agat_config.yaml"
echo " shipped with AGAT. The \`--config\` option"
echo " gives you the possibility to use your own AGAT config file (located"
echo " elsewhere or named differently)."
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
echo " ---memory=STRING"
echo " Amount of memory to use. Examples: 4GB, 3MiB."
echo ""
echo "Viash built in Docker:"
echo " ---setup=STRATEGY"
echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing."
echo " Default: ifneedbepullelsecachedbuild"
echo " ---dockerfile"
echo " Print the dockerfile to stdout."
echo " ---docker_run_args=ARG"
echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information."
echo " ---docker_image_id"
echo " Print the docker image id to stdout."
echo " ---debug"
echo " Enter the docker container for debugging purposes."
echo ""
echo "Viash built in Engines:"
echo " ---engine=ENGINE_ID"
echo " Specify the engine to use. Options are: docker, native."
echo " Default: docker"
}
# initialise array
VIASH_POSITIONAL_ARGS=''

View File

@@ -133,6 +133,9 @@ test_resources:
path: "test_data"
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -235,16 +238,16 @@ build_info:
engine: "docker|native"
output: "target/executable/agat/agat_sp_filter_feature_from_kill_list"
executable: "target/executable/agat/agat_sp_filter_feature_from_kill_list/agat_sp_filter_feature_from_kill_list"
viash_version: "0.9.0"
git_commit: "952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-27-g952ff08"
viash_version: "0.9.2"
git_commit: "5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.2.0-30-g5f6516e"
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"
viash_version: "0.9.2"
source: "src"
target: "target"
config_mods:

View File

@@ -2,7 +2,7 @@
# agat_sp_filter_feature_from_kill_list main
#
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
# This wrapper script is auto-generated by viash 0.9.2 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
# Intuitive.
#
@@ -172,71 +172,6 @@ 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 "agat_sp_filter_feature_from_kill_list main"
echo ""
echo "Remove features based on a kill list. The default behaviour is to look at the"
echo "features's ID."
echo "If the feature has an ID (case insensitive) listed among the kill list it will"
echo "be removed."
echo "Removing a level1 or level2 feature will automatically remove all linked"
echo "subfeatures, and"
echo "removing all children of a feature will automatically remove this feature too."
echo ""
echo "Inputs:"
echo " -f, --ref, --reffile, --gff"
echo " type: file, required parameter, file must exist"
echo " Input GFF3 file that will be read."
echo ""
echo " --kl, --kill_list"
echo " type: file, required parameter, file must exist"
echo " example: kill_list.txt"
echo " Text file containing the kill list. One value per line."
echo ""
echo "Outputs:"
echo " -o, --out, --output"
echo " type: file, required parameter, output, file must exist"
echo " Path to the output GFF file that contains filtered features."
echo ""
echo "Arguments:"
echo " -p, -l, --type"
echo " type: string, multiple values allowed"
echo " Primary tag option, case insensitive, list. Allow to specify the feature"
echo " types that"
echo " will be handled."
echo " You can specify a specific feature by giving its primary tag name"
echo " (column 3) as:"
echo " * cds"
echo " * Gene"
echo " * mRNA"
echo " You can specify directly all the feature of a particular"
echo " level:"
echo " * level2=mRNA,ncRNA,tRNA,etc"
echo " * level3=CDS,exon,UTR,etc."
echo " By default all features are taken into account. Fill the option with the"
echo " value \"all\" will"
echo " have the same behaviour."
echo ""
echo " -a, --attribute"
echo " type: string"
echo " example: ID"
echo " Attribute tag to specify the attribute to analyse. Case sensitive."
echo " Default: ID"
echo ""
echo " -c, --config"
echo " type: file, file must exist"
echo " example: custom_agat_config.yaml"
echo " AGAT config file. By default AGAT takes the original agat_config.yaml"
echo " shipped with AGAT."
echo " The \`--config\` option gives you the possibility to use your own AGAT"
echo " config file (located"
echo " elsewhere or named differently)."
echo ""
echo " -v, --verbose"
echo " type: boolean_true"
echo " Verbose option for debugging purpose."
}
# initialise variables
VIASH_MODE='run'
@@ -517,9 +452,9 @@ RUN agat --version | sed 's/AGAT\s\(.*\)/agat: "\1"/' > /var/software_versions.t
LABEL org.opencontainers.image.authors="Leïla Paquay"
LABEL org.opencontainers.image.description="Companion container for running component agat agat_sp_filter_feature_from_kill_list"
LABEL org.opencontainers.image.created="2024-12-03T10:33:53Z"
LABEL org.opencontainers.image.created="2025-03-06T09:19:39Z"
LABEL org.opencontainers.image.source="https://github.com/NBISweden/AGAT"
LABEL org.opencontainers.image.revision="952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
LABEL org.opencontainers.image.revision="5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
@@ -634,6 +569,97 @@ fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "agat_sp_filter_feature_from_kill_list main"
echo ""
echo "Remove features based on a kill list. The default behaviour is to look at the"
echo "features's ID."
echo "If the feature has an ID (case insensitive) listed among the kill list it will"
echo "be removed."
echo "Removing a level1 or level2 feature will automatically remove all linked"
echo "subfeatures, and"
echo "removing all children of a feature will automatically remove this feature too."
echo ""
echo "Inputs:"
echo " -f, --ref, --reffile, --gff"
echo " type: file, required parameter, file must exist"
echo " Input GFF3 file that will be read."
echo ""
echo " --kl, --kill_list"
echo " type: file, required parameter, file must exist"
echo " example: kill_list.txt"
echo " Text file containing the kill list. One value per line."
echo ""
echo "Outputs:"
echo " -o, --out, --output"
echo " type: file, required parameter, output, file must exist"
echo " Path to the output GFF file that contains filtered features."
echo ""
echo "Arguments:"
echo " -p, -l, --type"
echo " type: string, multiple values allowed"
echo " Primary tag option, case insensitive, list. Allow to specify the feature"
echo " types that"
echo " will be handled."
echo " You can specify a specific feature by giving its primary tag name"
echo " (column 3) as:"
echo " * cds"
echo " * Gene"
echo " * mRNA"
echo " You can specify directly all the feature of a particular"
echo " level:"
echo " * level2=mRNA,ncRNA,tRNA,etc"
echo " * level3=CDS,exon,UTR,etc."
echo " By default all features are taken into account. Fill the option with the"
echo " value \"all\" will"
echo " have the same behaviour."
echo ""
echo " -a, --attribute"
echo " type: string"
echo " example: ID"
echo " Attribute tag to specify the attribute to analyse. Case sensitive."
echo " Default: ID"
echo ""
echo " -c, --config"
echo " type: file, file must exist"
echo " example: custom_agat_config.yaml"
echo " AGAT config file. By default AGAT takes the original agat_config.yaml"
echo " shipped with AGAT."
echo " The \`--config\` option gives you the possibility to use your own AGAT"
echo " config file (located"
echo " elsewhere or named differently)."
echo ""
echo " -v, --verbose"
echo " type: boolean_true"
echo " Verbose option for debugging purpose."
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
echo " ---memory=STRING"
echo " Amount of memory to use. Examples: 4GB, 3MiB."
echo ""
echo "Viash built in Docker:"
echo " ---setup=STRATEGY"
echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing."
echo " Default: ifneedbepullelsecachedbuild"
echo " ---dockerfile"
echo " Print the dockerfile to stdout."
echo " ---docker_run_args=ARG"
echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information."
echo " ---docker_image_id"
echo " Print the docker image id to stdout."
echo " ---debug"
echo " Enter the docker container for debugging purposes."
echo ""
echo "Viash built in Engines:"
echo " ---engine=ENGINE_ID"
echo " Specify the engine to use. Options are: docker, native."
echo " Default: docker"
}
# initialise array
VIASH_POSITIONAL_ARGS=''

View File

@@ -81,6 +81,9 @@ test_resources:
path: "test_data"
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -183,16 +186,16 @@ build_info:
engine: "docker|native"
output: "target/executable/agat/agat_sp_merge_annotations"
executable: "target/executable/agat/agat_sp_merge_annotations/agat_sp_merge_annotations"
viash_version: "0.9.0"
git_commit: "952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-27-g952ff08"
viash_version: "0.9.2"
git_commit: "5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.2.0-30-g5f6516e"
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"
viash_version: "0.9.2"
source: "src"
target: "target"
config_mods:

View File

@@ -2,7 +2,7 @@
# agat_sp_merge_annotations main
#
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
# This wrapper script is auto-generated by viash 0.9.2 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
# Intuitive.
#
@@ -172,36 +172,6 @@ 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 "agat_sp_merge_annotations main"
echo ""
echo "Merge different gff annotation files into one. It uses the AGAT parser that"
echo "takes care of"
echo "duplicated names and fixes other oddities met in those files."
echo ""
echo "Inputs:"
echo " -f, --gff"
echo " type: file, required parameter, multiple values allowed, file must exist"
echo " example: input1.gff;input2.gff"
echo " Input GTF/GFF file(s)."
echo ""
echo "Outputs:"
echo " -o, --out, --output"
echo " type: file, required parameter, output, file must exist"
echo " example: output.gff"
echo " Output gff3 file where the gene incriminated will be writen."
echo ""
echo "Arguments:"
echo " -c, --config"
echo " type: file, file must exist"
echo " example: custom_agat_config.yaml"
echo " AGAT config file. By default AGAT takes the original agat_config.yaml"
echo " shipped with AGAT."
echo " The \`--config\` option gives you the possibility to use your own AGAT"
echo " config file (located"
echo " elsewhere or named differently)."
}
# initialise variables
VIASH_MODE='run'
@@ -482,9 +452,9 @@ RUN agat --version | sed 's/AGAT\s\(.*\)/agat: "\1"/' > /var/software_versions.t
LABEL org.opencontainers.image.authors="Leïla Paquay"
LABEL org.opencontainers.image.description="Companion container for running component agat agat_sp_merge_annotations"
LABEL org.opencontainers.image.created="2024-12-03T10:33:53Z"
LABEL org.opencontainers.image.created="2025-03-06T09:19:37Z"
LABEL org.opencontainers.image.source="https://github.com/NBISweden/AGAT"
LABEL org.opencontainers.image.revision="952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
LABEL org.opencontainers.image.revision="5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
@@ -599,6 +569,62 @@ fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "agat_sp_merge_annotations main"
echo ""
echo "Merge different gff annotation files into one. It uses the AGAT parser that"
echo "takes care of"
echo "duplicated names and fixes other oddities met in those files."
echo ""
echo "Inputs:"
echo " -f, --gff"
echo " type: file, required parameter, multiple values allowed, file must exist"
echo " example: input1.gff;input2.gff"
echo " Input GTF/GFF file(s)."
echo ""
echo "Outputs:"
echo " -o, --out, --output"
echo " type: file, required parameter, output, file must exist"
echo " example: output.gff"
echo " Output gff3 file where the gene incriminated will be writen."
echo ""
echo "Arguments:"
echo " -c, --config"
echo " type: file, file must exist"
echo " example: custom_agat_config.yaml"
echo " AGAT config file. By default AGAT takes the original agat_config.yaml"
echo " shipped with AGAT."
echo " The \`--config\` option gives you the possibility to use your own AGAT"
echo " config file (located"
echo " elsewhere or named differently)."
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
echo " ---memory=STRING"
echo " Amount of memory to use. Examples: 4GB, 3MiB."
echo ""
echo "Viash built in Docker:"
echo " ---setup=STRATEGY"
echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing."
echo " Default: ifneedbepullelsecachedbuild"
echo " ---dockerfile"
echo " Print the dockerfile to stdout."
echo " ---docker_run_args=ARG"
echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information."
echo " ---docker_image_id"
echo " Print the docker image id to stdout."
echo " ---debug"
echo " Enter the docker container for debugging purposes."
echo ""
echo "Viash built in Engines:"
echo " ---engine=ENGINE_ID"
echo " Specify the engine to use. Options are: docker, native."
echo " Default: docker"
}
# initialise array
VIASH_POSITIONAL_ARGS=''

View File

@@ -128,6 +128,9 @@ test_resources:
path: "test_data"
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -230,16 +233,16 @@ build_info:
engine: "docker|native"
output: "target/executable/agat/agat_sp_statistics"
executable: "target/executable/agat/agat_sp_statistics/agat_sp_statistics"
viash_version: "0.9.0"
git_commit: "952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-27-g952ff08"
viash_version: "0.9.2"
git_commit: "5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.2.0-30-g5f6516e"
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"
viash_version: "0.9.2"
source: "src"
target: "target"
config_mods:

View File

@@ -2,7 +2,7 @@
# agat_sp_statistics main
#
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
# This wrapper script is auto-generated by viash 0.9.2 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
# Intuitive.
#
@@ -172,61 +172,6 @@ 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 "agat_sp_statistics main"
echo ""
echo "The script provides exhaustive statistics of a gft/gff file."
echo ""
echo "If you have isoforms in your file, even if correct, some values calculated"
echo "might sounds incoherent: e.g. total length mRNA can be superior than the"
echo "genome size. Because all isoforms length is added... It is why by"
echo "default we always compute the statistics twice when there are isoforms,"
echo "once with the isoforms, once without (In that case we keep the longest"
echo "isoform per locus)."
echo ""
echo "Inputs:"
echo " -i, --gff"
echo " type: file, required parameter, file must exist"
echo " example: input.gff"
echo " Input GTF/GFF file."
echo ""
echo " --gs_fasta"
echo " type: file, file must exist"
echo " example: genome.fasta"
echo " Genome size directly from a fasta file to compute more statistics."
echo ""
echo "Outputs:"
echo " -o, --output"
echo " type: file, required parameter, output, file must exist"
echo " example: output.txt"
echo " The file where the results will be written."
echo ""
echo "Options:"
echo " -p, -d, --plot"
echo " type: boolean_true"
echo " When this option is used, an histogram of distribution of the features"
echo " will be printed in pdf files."
echo ""
echo " --gs_size"
echo " type: integer"
echo " example: 1000000"
echo " Genome size in nucleotides to compute more statistics."
echo ""
echo " -v, --verbose"
echo " type: integer"
echo " example: 1"
echo " Verbose option. To modify verbosity. Default is 1. 0 is quiet, 2 and 3"
echo " are increasing verbosity."
echo ""
echo " -c, --config"
echo " type: file, file must exist"
echo " example: custom_agat_config.yaml"
echo " AGAT config file. By default AGAT takes the original agat_config.yaml"
echo " shipped with AGAT. The \`--config\`"
echo " option gives you the possibility to use your own AGAT config file"
echo " (located elsewhere or named differently)."
}
# initialise variables
VIASH_MODE='run'
@@ -507,9 +452,9 @@ RUN agat --version | sed 's/.*v\.//; s/\s.*//' | sed 's/^/AGAT: /' > /var/softwa
LABEL org.opencontainers.image.authors="Leïla Paquay"
LABEL org.opencontainers.image.description="Companion container for running component agat agat_sp_statistics"
LABEL org.opencontainers.image.created="2024-12-03T10:33:52Z"
LABEL org.opencontainers.image.created="2025-03-06T09:19:38Z"
LABEL org.opencontainers.image.source="https://github.com/NBISweden/AGAT"
LABEL org.opencontainers.image.revision="952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
LABEL org.opencontainers.image.revision="5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
@@ -624,6 +569,87 @@ fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "agat_sp_statistics main"
echo ""
echo "The script provides exhaustive statistics of a gft/gff file."
echo ""
echo "If you have isoforms in your file, even if correct, some values calculated"
echo "might sounds incoherent: e.g. total length mRNA can be superior than the"
echo "genome size. Because all isoforms length is added... It is why by"
echo "default we always compute the statistics twice when there are isoforms,"
echo "once with the isoforms, once without (In that case we keep the longest"
echo "isoform per locus)."
echo ""
echo "Inputs:"
echo " -i, --gff"
echo " type: file, required parameter, file must exist"
echo " example: input.gff"
echo " Input GTF/GFF file."
echo ""
echo " --gs_fasta"
echo " type: file, file must exist"
echo " example: genome.fasta"
echo " Genome size directly from a fasta file to compute more statistics."
echo ""
echo "Outputs:"
echo " -o, --output"
echo " type: file, required parameter, output, file must exist"
echo " example: output.txt"
echo " The file where the results will be written."
echo ""
echo "Options:"
echo " -p, -d, --plot"
echo " type: boolean_true"
echo " When this option is used, an histogram of distribution of the features"
echo " will be printed in pdf files."
echo ""
echo " --gs_size"
echo " type: integer"
echo " example: 1000000"
echo " Genome size in nucleotides to compute more statistics."
echo ""
echo " -v, --verbose"
echo " type: integer"
echo " example: 1"
echo " Verbose option. To modify verbosity. Default is 1. 0 is quiet, 2 and 3"
echo " are increasing verbosity."
echo ""
echo " -c, --config"
echo " type: file, file must exist"
echo " example: custom_agat_config.yaml"
echo " AGAT config file. By default AGAT takes the original agat_config.yaml"
echo " shipped with AGAT. The \`--config\`"
echo " option gives you the possibility to use your own AGAT config file"
echo " (located elsewhere or named differently)."
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
echo " ---memory=STRING"
echo " Amount of memory to use. Examples: 4GB, 3MiB."
echo ""
echo "Viash built in Docker:"
echo " ---setup=STRATEGY"
echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing."
echo " Default: ifneedbepullelsecachedbuild"
echo " ---dockerfile"
echo " Print the dockerfile to stdout."
echo " ---docker_run_args=ARG"
echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information."
echo " ---docker_image_id"
echo " Print the docker image id to stdout."
echo " ---debug"
echo " Enter the docker container for debugging purposes."
echo ""
echo "Viash built in Engines:"
echo " ---engine=ENGINE_ID"
echo " Specify the engine to use. Options are: docker, native."
echo " Default: docker"
}
# initialise array
VIASH_POSITIONAL_ARGS=''

View File

@@ -124,6 +124,9 @@ test_resources:
path: "test_data"
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -226,16 +229,16 @@ build_info:
engine: "docker|native"
output: "target/executable/agat/agat_sq_stat_basic"
executable: "target/executable/agat/agat_sq_stat_basic/agat_sq_stat_basic"
viash_version: "0.9.0"
git_commit: "952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-27-g952ff08"
viash_version: "0.9.2"
git_commit: "5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.2.0-30-g5f6516e"
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"
viash_version: "0.9.2"
source: "src"
target: "target"
config_mods:

View File

@@ -2,7 +2,7 @@
# agat_sq_stat_basic main
#
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
# This wrapper script is auto-generated by viash 0.9.2 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
# Intuitive.
#
@@ -172,61 +172,6 @@ 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 "agat_sq_stat_basic main"
echo ""
echo "The script aims to provide basic statistics of a gtf/gff file."
echo ""
echo "Inputs:"
echo " -i, --file, --input, --gff"
echo " type: file, required parameter, multiple values allowed, file must exist"
echo " example: input.gff"
echo " Input GTF/GFF file."
echo ""
echo " -g, --genome_size"
echo " type: integer"
echo " example: 10000"
echo " That input is designed to know the genome size in order to calculate the"
echo " percentage of the genome represented by each kind of feature type. You"
echo " can provide an INTEGER. Or you can also pass a fasta file using the"
echo " argument --genome_size_fasta. If both are provided, only the value of"
echo " --genome_size will be considered."
echo ""
echo " --genome_size_fasta"
echo " type: file, file must exist"
echo " example: genome.fasta"
echo " That input is designed to know the genome size in order to calculate the"
echo " percentage of the genome represented by each kind of feature type. You"
echo " can provide the genome in fasta format. Or you can also pass the size"
echo " directly as an integer using the argument --genome_size. If you provide"
echo " the fasta, the genome size will be calculated on the fly. If both are"
echo " provided, only the value of --genome_size will be considered."
echo ""
echo "Outputs:"
echo " -o, --output"
echo " type: file, required parameter, output, file must exist"
echo " example: output.txt"
echo " Output file. The result is in tabulate format."
echo ""
echo "Arguments:"
echo " --inflate"
echo " type: boolean_true"
echo " Inflate the statistics taking into account feature with"
echo " multi-parents. Indeed to avoid redundant information, some gff"
echo " factorize identical features. e.g: one exon used in two"
echo " different isoform will be defined only once, and will have"
echo " multiple parent. By default the script count such feature only"
echo " once. Using the inflate option allows to count the feature and"
echo " its size as many time there are parents."
echo ""
echo " -c, --config"
echo " type: file, file must exist"
echo " example: custom_agat_config.yaml"
echo " AGAT config file. By default AGAT takes the original agat_config.yaml"
echo " shipped with AGAT. The \`--config\` option gives you the possibility to"
echo " use your own AGAT config file (located elsewhere or named differently)."
}
# initialise variables
VIASH_MODE='run'
@@ -507,9 +452,9 @@ RUN agat --version | sed 's/AGAT\s\(.*\)/agat: "\1"/' > /var/software_versions.t
LABEL org.opencontainers.image.authors="Leïla Paquay"
LABEL org.opencontainers.image.description="Companion container for running component agat agat_sq_stat_basic"
LABEL org.opencontainers.image.created="2024-12-03T10:34:05Z"
LABEL org.opencontainers.image.created="2025-03-06T09:19:39Z"
LABEL org.opencontainers.image.source="https://github.com/NBISweden/AGAT"
LABEL org.opencontainers.image.revision="952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
LABEL org.opencontainers.image.revision="5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
@@ -624,6 +569,87 @@ fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "agat_sq_stat_basic main"
echo ""
echo "The script aims to provide basic statistics of a gtf/gff file."
echo ""
echo "Inputs:"
echo " -i, --file, --input, --gff"
echo " type: file, required parameter, multiple values allowed, file must exist"
echo " example: input.gff"
echo " Input GTF/GFF file."
echo ""
echo " -g, --genome_size"
echo " type: integer"
echo " example: 10000"
echo " That input is designed to know the genome size in order to calculate the"
echo " percentage of the genome represented by each kind of feature type. You"
echo " can provide an INTEGER. Or you can also pass a fasta file using the"
echo " argument --genome_size_fasta. If both are provided, only the value of"
echo " --genome_size will be considered."
echo ""
echo " --genome_size_fasta"
echo " type: file, file must exist"
echo " example: genome.fasta"
echo " That input is designed to know the genome size in order to calculate the"
echo " percentage of the genome represented by each kind of feature type. You"
echo " can provide the genome in fasta format. Or you can also pass the size"
echo " directly as an integer using the argument --genome_size. If you provide"
echo " the fasta, the genome size will be calculated on the fly. If both are"
echo " provided, only the value of --genome_size will be considered."
echo ""
echo "Outputs:"
echo " -o, --output"
echo " type: file, required parameter, output, file must exist"
echo " example: output.txt"
echo " Output file. The result is in tabulate format."
echo ""
echo "Arguments:"
echo " --inflate"
echo " type: boolean_true"
echo " Inflate the statistics taking into account feature with"
echo " multi-parents. Indeed to avoid redundant information, some gff"
echo " factorize identical features. e.g: one exon used in two"
echo " different isoform will be defined only once, and will have"
echo " multiple parent. By default the script count such feature only"
echo " once. Using the inflate option allows to count the feature and"
echo " its size as many time there are parents."
echo ""
echo " -c, --config"
echo " type: file, file must exist"
echo " example: custom_agat_config.yaml"
echo " AGAT config file. By default AGAT takes the original agat_config.yaml"
echo " shipped with AGAT. The \`--config\` option gives you the possibility to"
echo " use your own AGAT config file (located elsewhere or named differently)."
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
echo " ---memory=STRING"
echo " Amount of memory to use. Examples: 4GB, 3MiB."
echo ""
echo "Viash built in Docker:"
echo " ---setup=STRATEGY"
echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing."
echo " Default: ifneedbepullelsecachedbuild"
echo " ---dockerfile"
echo " Print the dockerfile to stdout."
echo " ---docker_run_args=ARG"
echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information."
echo " ---docker_image_id"
echo " Print the docker image id to stdout."
echo " ---debug"
echo " Enter the docker container for debugging purposes."
echo ""
echo "Viash built in Engines:"
echo " ---engine=ENGINE_ID"
echo " Specify the engine to use. Options are: docker, native."
echo " Default: docker"
}
# initialise array
VIASH_POSITIONAL_ARGS=''

View File

@@ -603,6 +603,9 @@ test_resources:
path: "test_data"
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
cpus: 1
commands:
@@ -705,16 +708,16 @@ build_info:
engine: "docker|native"
output: "target/executable/arriba"
executable: "target/executable/arriba/arriba"
viash_version: "0.9.0"
git_commit: "952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-27-g952ff08"
viash_version: "0.9.2"
git_commit: "5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.2.0-30-g5f6516e"
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"
viash_version: "0.9.2"
source: "src"
target: "target"
config_mods:

View File

@@ -2,7 +2,7 @@
# arriba main
#
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
# This wrapper script is auto-generated by viash 0.9.2 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
# Intuitive.
#
@@ -172,6 +172,404 @@ VIASH_META_CONFIG="$VIASH_META_RESOURCES_DIR/.config.vsh.yaml"
VIASH_META_TEMP_DIR="$VIASH_TEMP"
# initialise variables
VIASH_MODE='run'
VIASH_ENGINE_ID='docker'
######## Helper functions for setting up Docker images for viash ########
# expects: ViashDockerBuild
# ViashDockerInstallationCheck: check whether Docker is installed correctly
#
# examples:
# ViashDockerInstallationCheck
function ViashDockerInstallationCheck {
ViashDebug "Checking whether Docker is installed"
if [ ! command -v docker &> /dev/null ]; then
ViashCritical "Docker doesn't seem to be installed. See 'https://docs.docker.com/get-docker/' for instructions."
exit 1
fi
ViashDebug "Checking whether the Docker daemon is running"
local save=$-; set +e
local docker_version=$(docker version --format '{{.Client.APIVersion}}' 2> /dev/null)
local out=$?
[[ $save =~ e ]] && set -e
if [ $out -ne 0 ]; then
ViashCritical "Docker daemon does not seem to be running. Try one of the following:"
ViashCritical "- Try running 'dockerd' in the command line"
ViashCritical "- See https://docs.docker.com/config/daemon/"
exit 1
fi
}
# ViashDockerRemoteTagCheck: check whether a Docker image is available
# on a remote. Assumes `docker login` has been performed, if relevant.
#
# $1 : image identifier with format `[registry/]image[:tag]`
# exit code $? : whether or not the image was found
# examples:
# ViashDockerRemoteTagCheck python:latest
# echo $? # returns '0'
# ViashDockerRemoteTagCheck sdaizudceahifu
# echo $? # returns '1'
function ViashDockerRemoteTagCheck {
docker manifest inspect $1 > /dev/null 2> /dev/null
}
# ViashDockerLocalTagCheck: check whether a Docker image is available locally
#
# $1 : image identifier with format `[registry/]image[:tag]`
# exit code $? : whether or not the image was found
# examples:
# docker pull python:latest
# ViashDockerLocalTagCheck python:latest
# echo $? # returns '0'
# ViashDockerLocalTagCheck sdaizudceahifu
# echo $? # returns '1'
function ViashDockerLocalTagCheck {
[ -n "$(docker images -q $1)" ]
}
# ViashDockerPull: pull a Docker image
#
# $1 : image identifier with format `[registry/]image[:tag]`
# exit code $? : whether or not the image was found
# examples:
# ViashDockerPull python:latest
# echo $? # returns '0'
# ViashDockerPull sdaizudceahifu
# echo $? # returns '1'
function ViashDockerPull {
ViashNotice "Checking if Docker image is available at '$1'"
if [ $VIASH_VERBOSITY -ge $VIASH_LOGCODE_INFO ]; then
docker pull $1 && return 0 || return 1
else
local save=$-; set +e
docker pull $1 2> /dev/null > /dev/null
local out=$?
[[ $save =~ e ]] && set -e
if [ $out -ne 0 ]; then
ViashWarning "Could not pull from '$1'. Docker image doesn't exist or is not accessible."
fi
return $out
fi
}
# ViashDockerPush: push a Docker image
#
# $1 : image identifier with format `[registry/]image[:tag]`
# exit code $? : whether or not the image was found
# examples:
# ViashDockerPush python:latest
# echo $? # returns '0'
# ViashDockerPush sdaizudceahifu
# echo $? # returns '1'
function ViashDockerPush {
ViashNotice "Pushing image to '$1'"
local save=$-; set +e
local out
if [ $VIASH_VERBOSITY -ge $VIASH_LOGCODE_INFO ]; then
docker push $1
out=$?
else
docker push $1 2> /dev/null > /dev/null
out=$?
fi
[[ $save =~ e ]] && set -e
if [ $out -eq 0 ]; then
ViashNotice "Container '$1' push succeeded."
else
ViashError "Container '$1' push errored. You might not be logged in or have the necessary permissions."
fi
return $out
}
# ViashDockerPullElseBuild: pull a Docker image, else build it
#
# $1 : image identifier with format `[registry/]image[:tag]`
# ViashDockerBuild : a Bash function which builds a docker image, takes image identifier as argument.
# examples:
# ViashDockerPullElseBuild mynewcomponent
function ViashDockerPullElseBuild {
local save=$-; set +e
ViashDockerPull $1
local out=$?
[[ $save =~ e ]] && set -e
if [ $out -ne 0 ]; then
ViashDockerBuild $@
fi
}
# ViashDockerSetup: create a Docker image, according to specified docker setup strategy
#
# $1 : image identifier with format `[registry/]image[:tag]`
# $2 : docker setup strategy, see DockerSetupStrategy.scala
# examples:
# ViashDockerSetup mynewcomponent alwaysbuild
function ViashDockerSetup {
local image_id="$1"
local setup_strategy="$2"
if [ "$setup_strategy" == "alwaysbuild" -o "$setup_strategy" == "build" -o "$setup_strategy" == "b" ]; then
ViashDockerBuild $image_id --no-cache $(ViashDockerBuildArgs "$engine_id")
elif [ "$setup_strategy" == "alwayspull" -o "$setup_strategy" == "pull" -o "$setup_strategy" == "p" ]; then
ViashDockerPull $image_id
elif [ "$setup_strategy" == "alwayspullelsebuild" -o "$setup_strategy" == "pullelsebuild" ]; then
ViashDockerPullElseBuild $image_id --no-cache $(ViashDockerBuildArgs "$engine_id")
elif [ "$setup_strategy" == "alwayspullelsecachedbuild" -o "$setup_strategy" == "pullelsecachedbuild" ]; then
ViashDockerPullElseBuild $image_id $(ViashDockerBuildArgs "$engine_id")
elif [ "$setup_strategy" == "alwayscachedbuild" -o "$setup_strategy" == "cachedbuild" -o "$setup_strategy" == "cb" ]; then
ViashDockerBuild $image_id $(ViashDockerBuildArgs "$engine_id")
elif [[ "$setup_strategy" =~ ^ifneedbe ]]; then
local save=$-; set +e
ViashDockerLocalTagCheck $image_id
local outCheck=$?
[[ $save =~ e ]] && set -e
if [ $outCheck -eq 0 ]; then
ViashInfo "Image $image_id already exists"
elif [ "$setup_strategy" == "ifneedbebuild" ]; then
ViashDockerBuild $image_id --no-cache $(ViashDockerBuildArgs "$engine_id")
elif [ "$setup_strategy" == "ifneedbecachedbuild" ]; then
ViashDockerBuild $image_id $(ViashDockerBuildArgs "$engine_id")
elif [ "$setup_strategy" == "ifneedbepull" ]; then
ViashDockerPull $image_id
elif [ "$setup_strategy" == "ifneedbepullelsebuild" ]; then
ViashDockerPullElseBuild $image_id --no-cache $(ViashDockerBuildArgs "$engine_id")
elif [ "$setup_strategy" == "ifneedbepullelsecachedbuild" ]; then
ViashDockerPullElseBuild $image_id $(ViashDockerBuildArgs "$engine_id")
else
ViashError "Unrecognised Docker strategy: $setup_strategy"
exit 1
fi
elif [ "$setup_strategy" == "push" -o "$setup_strategy" == "forcepush" -o "$setup_strategy" == "alwayspush" ]; then
ViashDockerPush "$image_id"
elif [ "$setup_strategy" == "pushifnotpresent" -o "$setup_strategy" == "gentlepush" -o "$setup_strategy" == "maybepush" ]; then
local save=$-; set +e
ViashDockerRemoteTagCheck $image_id
local outCheck=$?
[[ $save =~ e ]] && set -e
if [ $outCheck -eq 0 ]; then
ViashNotice "Container '$image_id' exists, doing nothing."
else
ViashNotice "Container '$image_id' does not yet exist."
ViashDockerPush "$image_id"
fi
elif [ "$setup_strategy" == "donothing" -o "$setup_strategy" == "meh" ]; then
ViashNotice "Skipping setup."
else
ViashError "Unrecognised Docker strategy: $setup_strategy"
exit 1
fi
}
# ViashDockerCheckCommands: Check whether a docker container has the required commands
#
# $1 : image identifier with format `[registry/]image[:tag]`
# $@ : commands to verify being present
# examples:
# ViashDockerCheckCommands bash:4.0 bash ps foo
function ViashDockerCheckCommands {
local image_id="$1"
shift 1
local commands="$@"
local save=$-; set +e
local missing # mark 'missing' as local in advance, otherwise the exit code of the command will be missing and always be '0'
missing=$(docker run --rm --entrypoint=sh "$image_id" -c "for command in $commands; do command -v \$command >/dev/null 2>&1; if [ \$? -ne 0 ]; then echo \$command; exit 1; fi; done")
local outCheck=$?
[[ $save =~ e ]] && set -e
if [ $outCheck -ne 0 ]; then
ViashError "Docker container '$image_id' does not contain command '$missing'."
exit 1
fi
}
# ViashDockerBuild: build a docker image
# $1 : image identifier with format `[registry/]image[:tag]`
# $... : additional arguments to pass to docker build
# $VIASH_META_TEMP_DIR : temporary directory to store dockerfile & optional resources in
# $VIASH_META_NAME : name of the component
# $VIASH_META_RESOURCES_DIR : directory containing the resources
# $VIASH_VERBOSITY : verbosity level
# exit code $? : whether or not the image was built successfully
function ViashDockerBuild {
local image_id="$1"
shift 1
# create temporary directory to store dockerfile & optional resources in
local tmpdir=$(mktemp -d "$VIASH_META_TEMP_DIR/dockerbuild-$VIASH_META_NAME-XXXXXX")
local dockerfile="$tmpdir/Dockerfile"
function clean_up {
rm -rf "$tmpdir"
}
trap clean_up EXIT
# store dockerfile and resources
ViashDockerfile "$VIASH_ENGINE_ID" > "$dockerfile"
# generate the build command
local docker_build_cmd="docker build -t '$image_id' $@ '$VIASH_META_RESOURCES_DIR' -f '$dockerfile'"
# build the container
ViashNotice "Building container '$image_id' with Dockerfile"
ViashInfo "$docker_build_cmd"
local save=$-; set +e
if [ $VIASH_VERBOSITY -ge $VIASH_LOGCODE_INFO ]; then
eval $docker_build_cmd
else
eval $docker_build_cmd &> "$tmpdir/docker_build.log"
fi
# check exit code
local out=$?
[[ $save =~ e ]] && set -e
if [ $out -ne 0 ]; then
ViashError "Error occurred while building container '$image_id'"
if [ $VIASH_VERBOSITY -lt $VIASH_LOGCODE_INFO ]; then
ViashError "Transcript: --------------------------------"
cat "$tmpdir/docker_build.log"
ViashError "End of transcript --------------------------"
fi
exit 1
fi
}
######## End of helper functions for setting up Docker images for viash ########
# ViashDockerFile: print the dockerfile to stdout
# $1 : engine identifier
# return : dockerfile required to run this component
# examples:
# ViashDockerFile
function ViashDockerfile {
local engine_id="$1"
if [[ "$engine_id" == "docker" ]]; then
cat << 'VIASHDOCKER'
FROM quay.io/biocontainers/arriba:2.4.0--h0033a41_2
ENTRYPOINT []
RUN arriba -h | grep 'Version:' 2>&1 | sed 's/Version:\s\(.*\)/arriba: "\1"/' > /var/software_versions.txt
LABEL org.opencontainers.image.authors="Robrecht Cannoodt"
LABEL org.opencontainers.image.description="Companion container for running component arriba"
LABEL org.opencontainers.image.created="2025-03-06T09:19:44Z"
LABEL org.opencontainers.image.source="https://github.com/suhrig/arriba"
LABEL org.opencontainers.image.revision="5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
fi
}
# ViashDockerBuildArgs: return the arguments to pass to docker build
# $1 : engine identifier
# return : arguments to pass to docker build
function ViashDockerBuildArgs {
local engine_id="$1"
if [[ "$engine_id" == "docker" ]]; then
echo ""
fi
}
# ViashAbsolutePath: generate absolute path from relative path
# borrowed from https://stackoverflow.com/a/21951256
# $1 : relative filename
# return : absolute path
# examples:
# ViashAbsolutePath some_file.txt # returns /path/to/some_file.txt
# ViashAbsolutePath /foo/bar/.. # returns /foo
function ViashAbsolutePath {
local thePath
local parr
local outp
local len
if [[ ! "$1" =~ ^/ ]]; then
thePath="$PWD/$1"
else
thePath="$1"
fi
echo "$thePath" | (
IFS=/
read -a parr
declare -a outp
for i in "${parr[@]}"; do
case "$i" in
''|.) continue ;;
..)
len=${#outp[@]}
if ((len==0)); then
continue
else
unset outp[$((len-1))]
fi
;;
*)
len=${#outp[@]}
outp[$len]="$i"
;;
esac
done
echo /"${outp[*]}"
)
}
# ViashDockerAutodetectMount: auto configuring docker mounts from parameters
# $1 : The parameter value
# returns : New parameter
# $VIASH_DIRECTORY_MOUNTS : Added another parameter to be passed to docker
# $VIASH_DOCKER_AUTOMOUNT_PREFIX : The prefix to be used for the automounts
# examples:
# ViashDockerAutodetectMount /path/to/bar # returns '/viash_automount/path/to/bar'
# ViashDockerAutodetectMountArg /path/to/bar # returns '--volume="/path/to:/viash_automount/path/to"'
function ViashDockerAutodetectMount {
local abs_path=$(ViashAbsolutePath "$1")
local mount_source
local base_name
if [ -d "$abs_path" ]; then
mount_source="$abs_path"
base_name=""
else
mount_source=`dirname "$abs_path"`
base_name=`basename "$abs_path"`
fi
local mount_target="$VIASH_DOCKER_AUTOMOUNT_PREFIX$mount_source"
if [ -z "$base_name" ]; then
echo "$mount_target"
else
echo "$mount_target/$base_name"
fi
}
function ViashDockerAutodetectMountArg {
local abs_path=$(ViashAbsolutePath "$1")
local mount_source
local base_name
if [ -d "$abs_path" ]; then
mount_source="$abs_path"
base_name=""
else
mount_source=`dirname "$abs_path"`
base_name=`basename "$abs_path"`
fi
local mount_target="$VIASH_DOCKER_AUTOMOUNT_PREFIX$mount_source"
ViashDebug "ViashDockerAutodetectMountArg $1 -> $mount_source -> $mount_target"
echo "--volume=\"$mount_source:$mount_target\""
}
function ViashDockerStripAutomount {
local abs_path=$(ViashAbsolutePath "$1")
echo "${abs_path#$VIASH_DOCKER_AUTOMOUNT_PREFIX}"
}
# initialise variables
VIASH_DIRECTORY_MOUNTS=()
# configure default docker automount prefix if it is unset
if [ -z "${VIASH_DOCKER_AUTOMOUNT_PREFIX+x}" ]; then
VIASH_DOCKER_AUTOMOUNT_PREFIX="/viash_automount"
fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "arriba main"
@@ -473,404 +871,32 @@ function ViashHelp {
echo " is incomplete"
echo " (denoted as '...'), fill the gaps using the assembly sequence wherever"
echo " possible."
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
echo " ---memory=STRING"
echo " Amount of memory to use. Examples: 4GB, 3MiB."
echo ""
echo "Viash built in Docker:"
echo " ---setup=STRATEGY"
echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing."
echo " Default: ifneedbepullelsecachedbuild"
echo " ---dockerfile"
echo " Print the dockerfile to stdout."
echo " ---docker_run_args=ARG"
echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information."
echo " ---docker_image_id"
echo " Print the docker image id to stdout."
echo " ---debug"
echo " Enter the docker container for debugging purposes."
echo ""
echo "Viash built in Engines:"
echo " ---engine=ENGINE_ID"
echo " Specify the engine to use. Options are: docker, native."
echo " Default: docker"
}
# initialise variables
VIASH_MODE='run'
VIASH_ENGINE_ID='docker'
######## Helper functions for setting up Docker images for viash ########
# expects: ViashDockerBuild
# ViashDockerInstallationCheck: check whether Docker is installed correctly
#
# examples:
# ViashDockerInstallationCheck
function ViashDockerInstallationCheck {
ViashDebug "Checking whether Docker is installed"
if [ ! command -v docker &> /dev/null ]; then
ViashCritical "Docker doesn't seem to be installed. See 'https://docs.docker.com/get-docker/' for instructions."
exit 1
fi
ViashDebug "Checking whether the Docker daemon is running"
local save=$-; set +e
local docker_version=$(docker version --format '{{.Client.APIVersion}}' 2> /dev/null)
local out=$?
[[ $save =~ e ]] && set -e
if [ $out -ne 0 ]; then
ViashCritical "Docker daemon does not seem to be running. Try one of the following:"
ViashCritical "- Try running 'dockerd' in the command line"
ViashCritical "- See https://docs.docker.com/config/daemon/"
exit 1
fi
}
# ViashDockerRemoteTagCheck: check whether a Docker image is available
# on a remote. Assumes `docker login` has been performed, if relevant.
#
# $1 : image identifier with format `[registry/]image[:tag]`
# exit code $? : whether or not the image was found
# examples:
# ViashDockerRemoteTagCheck python:latest
# echo $? # returns '0'
# ViashDockerRemoteTagCheck sdaizudceahifu
# echo $? # returns '1'
function ViashDockerRemoteTagCheck {
docker manifest inspect $1 > /dev/null 2> /dev/null
}
# ViashDockerLocalTagCheck: check whether a Docker image is available locally
#
# $1 : image identifier with format `[registry/]image[:tag]`
# exit code $? : whether or not the image was found
# examples:
# docker pull python:latest
# ViashDockerLocalTagCheck python:latest
# echo $? # returns '0'
# ViashDockerLocalTagCheck sdaizudceahifu
# echo $? # returns '1'
function ViashDockerLocalTagCheck {
[ -n "$(docker images -q $1)" ]
}
# ViashDockerPull: pull a Docker image
#
# $1 : image identifier with format `[registry/]image[:tag]`
# exit code $? : whether or not the image was found
# examples:
# ViashDockerPull python:latest
# echo $? # returns '0'
# ViashDockerPull sdaizudceahifu
# echo $? # returns '1'
function ViashDockerPull {
ViashNotice "Checking if Docker image is available at '$1'"
if [ $VIASH_VERBOSITY -ge $VIASH_LOGCODE_INFO ]; then
docker pull $1 && return 0 || return 1
else
local save=$-; set +e
docker pull $1 2> /dev/null > /dev/null
local out=$?
[[ $save =~ e ]] && set -e
if [ $out -ne 0 ]; then
ViashWarning "Could not pull from '$1'. Docker image doesn't exist or is not accessible."
fi
return $out
fi
}
# ViashDockerPush: push a Docker image
#
# $1 : image identifier with format `[registry/]image[:tag]`
# exit code $? : whether or not the image was found
# examples:
# ViashDockerPush python:latest
# echo $? # returns '0'
# ViashDockerPush sdaizudceahifu
# echo $? # returns '1'
function ViashDockerPush {
ViashNotice "Pushing image to '$1'"
local save=$-; set +e
local out
if [ $VIASH_VERBOSITY -ge $VIASH_LOGCODE_INFO ]; then
docker push $1
out=$?
else
docker push $1 2> /dev/null > /dev/null
out=$?
fi
[[ $save =~ e ]] && set -e
if [ $out -eq 0 ]; then
ViashNotice "Container '$1' push succeeded."
else
ViashError "Container '$1' push errored. You might not be logged in or have the necessary permissions."
fi
return $out
}
# ViashDockerPullElseBuild: pull a Docker image, else build it
#
# $1 : image identifier with format `[registry/]image[:tag]`
# ViashDockerBuild : a Bash function which builds a docker image, takes image identifier as argument.
# examples:
# ViashDockerPullElseBuild mynewcomponent
function ViashDockerPullElseBuild {
local save=$-; set +e
ViashDockerPull $1
local out=$?
[[ $save =~ e ]] && set -e
if [ $out -ne 0 ]; then
ViashDockerBuild $@
fi
}
# ViashDockerSetup: create a Docker image, according to specified docker setup strategy
#
# $1 : image identifier with format `[registry/]image[:tag]`
# $2 : docker setup strategy, see DockerSetupStrategy.scala
# examples:
# ViashDockerSetup mynewcomponent alwaysbuild
function ViashDockerSetup {
local image_id="$1"
local setup_strategy="$2"
if [ "$setup_strategy" == "alwaysbuild" -o "$setup_strategy" == "build" -o "$setup_strategy" == "b" ]; then
ViashDockerBuild $image_id --no-cache $(ViashDockerBuildArgs "$engine_id")
elif [ "$setup_strategy" == "alwayspull" -o "$setup_strategy" == "pull" -o "$setup_strategy" == "p" ]; then
ViashDockerPull $image_id
elif [ "$setup_strategy" == "alwayspullelsebuild" -o "$setup_strategy" == "pullelsebuild" ]; then
ViashDockerPullElseBuild $image_id --no-cache $(ViashDockerBuildArgs "$engine_id")
elif [ "$setup_strategy" == "alwayspullelsecachedbuild" -o "$setup_strategy" == "pullelsecachedbuild" ]; then
ViashDockerPullElseBuild $image_id $(ViashDockerBuildArgs "$engine_id")
elif [ "$setup_strategy" == "alwayscachedbuild" -o "$setup_strategy" == "cachedbuild" -o "$setup_strategy" == "cb" ]; then
ViashDockerBuild $image_id $(ViashDockerBuildArgs "$engine_id")
elif [[ "$setup_strategy" =~ ^ifneedbe ]]; then
local save=$-; set +e
ViashDockerLocalTagCheck $image_id
local outCheck=$?
[[ $save =~ e ]] && set -e
if [ $outCheck -eq 0 ]; then
ViashInfo "Image $image_id already exists"
elif [ "$setup_strategy" == "ifneedbebuild" ]; then
ViashDockerBuild $image_id --no-cache $(ViashDockerBuildArgs "$engine_id")
elif [ "$setup_strategy" == "ifneedbecachedbuild" ]; then
ViashDockerBuild $image_id $(ViashDockerBuildArgs "$engine_id")
elif [ "$setup_strategy" == "ifneedbepull" ]; then
ViashDockerPull $image_id
elif [ "$setup_strategy" == "ifneedbepullelsebuild" ]; then
ViashDockerPullElseBuild $image_id --no-cache $(ViashDockerBuildArgs "$engine_id")
elif [ "$setup_strategy" == "ifneedbepullelsecachedbuild" ]; then
ViashDockerPullElseBuild $image_id $(ViashDockerBuildArgs "$engine_id")
else
ViashError "Unrecognised Docker strategy: $setup_strategy"
exit 1
fi
elif [ "$setup_strategy" == "push" -o "$setup_strategy" == "forcepush" -o "$setup_strategy" == "alwayspush" ]; then
ViashDockerPush "$image_id"
elif [ "$setup_strategy" == "pushifnotpresent" -o "$setup_strategy" == "gentlepush" -o "$setup_strategy" == "maybepush" ]; then
local save=$-; set +e
ViashDockerRemoteTagCheck $image_id
local outCheck=$?
[[ $save =~ e ]] && set -e
if [ $outCheck -eq 0 ]; then
ViashNotice "Container '$image_id' exists, doing nothing."
else
ViashNotice "Container '$image_id' does not yet exist."
ViashDockerPush "$image_id"
fi
elif [ "$setup_strategy" == "donothing" -o "$setup_strategy" == "meh" ]; then
ViashNotice "Skipping setup."
else
ViashError "Unrecognised Docker strategy: $setup_strategy"
exit 1
fi
}
# ViashDockerCheckCommands: Check whether a docker container has the required commands
#
# $1 : image identifier with format `[registry/]image[:tag]`
# $@ : commands to verify being present
# examples:
# ViashDockerCheckCommands bash:4.0 bash ps foo
function ViashDockerCheckCommands {
local image_id="$1"
shift 1
local commands="$@"
local save=$-; set +e
local missing # mark 'missing' as local in advance, otherwise the exit code of the command will be missing and always be '0'
missing=$(docker run --rm --entrypoint=sh "$image_id" -c "for command in $commands; do command -v \$command >/dev/null 2>&1; if [ \$? -ne 0 ]; then echo \$command; exit 1; fi; done")
local outCheck=$?
[[ $save =~ e ]] && set -e
if [ $outCheck -ne 0 ]; then
ViashError "Docker container '$image_id' does not contain command '$missing'."
exit 1
fi
}
# ViashDockerBuild: build a docker image
# $1 : image identifier with format `[registry/]image[:tag]`
# $... : additional arguments to pass to docker build
# $VIASH_META_TEMP_DIR : temporary directory to store dockerfile & optional resources in
# $VIASH_META_NAME : name of the component
# $VIASH_META_RESOURCES_DIR : directory containing the resources
# $VIASH_VERBOSITY : verbosity level
# exit code $? : whether or not the image was built successfully
function ViashDockerBuild {
local image_id="$1"
shift 1
# create temporary directory to store dockerfile & optional resources in
local tmpdir=$(mktemp -d "$VIASH_META_TEMP_DIR/dockerbuild-$VIASH_META_NAME-XXXXXX")
local dockerfile="$tmpdir/Dockerfile"
function clean_up {
rm -rf "$tmpdir"
}
trap clean_up EXIT
# store dockerfile and resources
ViashDockerfile "$VIASH_ENGINE_ID" > "$dockerfile"
# generate the build command
local docker_build_cmd="docker build -t '$image_id' $@ '$VIASH_META_RESOURCES_DIR' -f '$dockerfile'"
# build the container
ViashNotice "Building container '$image_id' with Dockerfile"
ViashInfo "$docker_build_cmd"
local save=$-; set +e
if [ $VIASH_VERBOSITY -ge $VIASH_LOGCODE_INFO ]; then
eval $docker_build_cmd
else
eval $docker_build_cmd &> "$tmpdir/docker_build.log"
fi
# check exit code
local out=$?
[[ $save =~ e ]] && set -e
if [ $out -ne 0 ]; then
ViashError "Error occurred while building container '$image_id'"
if [ $VIASH_VERBOSITY -lt $VIASH_LOGCODE_INFO ]; then
ViashError "Transcript: --------------------------------"
cat "$tmpdir/docker_build.log"
ViashError "End of transcript --------------------------"
fi
exit 1
fi
}
######## End of helper functions for setting up Docker images for viash ########
# ViashDockerFile: print the dockerfile to stdout
# $1 : engine identifier
# return : dockerfile required to run this component
# examples:
# ViashDockerFile
function ViashDockerfile {
local engine_id="$1"
if [[ "$engine_id" == "docker" ]]; then
cat << 'VIASHDOCKER'
FROM quay.io/biocontainers/arriba:2.4.0--h0033a41_2
ENTRYPOINT []
RUN arriba -h | grep 'Version:' 2>&1 | sed 's/Version:\s\(.*\)/arriba: "\1"/' > /var/software_versions.txt
LABEL org.opencontainers.image.authors="Robrecht Cannoodt"
LABEL org.opencontainers.image.description="Companion container for running component arriba"
LABEL org.opencontainers.image.created="2024-12-03T10:33:55Z"
LABEL org.opencontainers.image.source="https://github.com/suhrig/arriba"
LABEL org.opencontainers.image.revision="952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
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=''

View File

@@ -285,6 +285,9 @@ test_resources:
is_executable: true
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -393,16 +396,16 @@ build_info:
engine: "docker|native"
output: "target/executable/bases2fastq"
executable: "target/executable/bases2fastq/bases2fastq"
viash_version: "0.9.0"
git_commit: "952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-27-g952ff08"
viash_version: "0.9.2"
git_commit: "5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.2.0-30-g5f6516e"
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"
viash_version: "0.9.2"
source: "src"
target: "target"
config_mods:

View File

@@ -2,7 +2,7 @@
# bases2fastq main
#
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
# This wrapper script is auto-generated by viash 0.9.2 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
# Intuitive.
#
@@ -172,154 +172,6 @@ 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 "bases2fastq main"
echo ""
echo "Bases2Fastq demultiplexes sequencing data generated by Element Biosciences"
echo "instruments and converts base calls into FASTQ files."
echo ""
echo "Input:"
echo " --analysis_directory"
echo " type: file, required parameter, file must exist"
echo " example: input"
echo " Location of analysis directory"
echo ""
echo " -r, --run_manifest"
echo " type: file, file must exist"
echo " Location of run manifest to use instead of default RunManifest.csv found"
echo " in analysis directory"
echo ""
echo "Output:"
echo " -o, --output_directory"
echo " type: file, required parameter, output, file must exist"
echo " example: fastq_dir"
echo " Location to save output fastqs"
echo ""
echo " --report"
echo " type: file, output, file must exist"
echo " Output location for the HTML report"
echo ""
echo " --logs"
echo " type: file, output, file must exist"
echo " example: logs_dir"
echo " Directory containing log files"
echo ""
echo "Arguments:"
echo " --chemistry_version"
echo " type: string"
echo " Run parameters override, chemistry version."
echo ""
echo " -d, --demux_only"
echo " type: boolean_true"
echo " Generate demux files and indexing stats without generating FASTQ"
echo ""
echo " --detect_adapters"
echo " type: boolean_true"
echo " Detect adapters sequences, overriding any sequences present in run"
echo " manifest."
echo ""
echo " --error_on_missing"
echo " type: boolean_true"
echo " Terminate execution for a missing file (by default, missing files are"
echo " skipped and execution continues). Also set by --strict."
echo ""
echo " -e, --exclude_tile"
echo " type: string, multiple values allowed"
echo " Regex matching tile names to exclude. This flag can be specified"
echo " multiple times. (e.g. L1.*C0[23]S.)"
echo ""
echo " --filter_mask"
echo " type: string"
echo " Run parameters override, custom pass filter mask."
echo ""
echo " --flowcell_id"
echo " type: string"
echo " Run parameters override, flowcell ID."
echo ""
echo " --force_index_orientation"
echo " type: boolean_true"
echo " Do not attempt to find orientation for I1/I2 reads (reverse complement)."
echo " Use orientation given in run manifest."
echo ""
echo " --group_fastq"
echo " type: boolean_true"
echo " Group all FASTQ/stats/metrics for a project are in the project folder."
echo ""
echo " --i1_cycles"
echo " type: integer"
echo " min: 1"
echo " Run parameters override, I1 cycles."
echo ""
echo " --i2_cycles"
echo " type: integer"
echo " min: 1"
echo " Run parameters override, I2 cycles"
echo ""
echo " -i, --include_tile"
echo " type: string, multiple values allowed"
echo " Regex matching tile names to include. This flag"
echo " can be specified multiple times. (e.g. L1.*C0[23]S.)"
echo ""
echo " --kit_configuration"
echo " type: string"
echo " Run parameters override, kit configuration."
echo ""
echo " --legacy_fastq"
echo " type: boolean_true"
echo " Legacy naming for FASTQ files (e.g. SampleName_S1_L001_R1_001.fastq.gz)"
echo ""
echo " -l, --log_level"
echo " type: string"
echo " example: INFO"
echo " choices: [ DEBUG, INFO, WARNING, ERROR ]"
echo " Severity level for logging."
echo ""
echo " --no_error_on_invalid"
echo " type: boolean_true"
echo " Skip invalid files and continue execution. Overridden by --strict"
echo " options"
echo ""
echo " --no_projects"
echo " type: boolean_true"
echo " Disable project directories"
echo ""
echo " --num_unassigned"
echo " type: integer"
echo " example: 30"
echo " min: 0"
echo " max: 1000"
echo " Max Number of unassigned sequences to report."
echo ""
echo " --preparation_workflow"
echo " type: string"
echo " Run parameters override, preparation workflow."
echo ""
echo " --qc_only"
echo " type: boolean_true"
echo " Quickly generate run stats for single tile without generating FASTQ."
echo " Use --include_tile/--exclude_tile to define custom tile set."
echo ""
echo " --r1_cycles"
echo " type: integer"
echo " min: 1"
echo " Run parameters override, R1 cycles."
echo ""
echo " --r2_cycles"
echo " type: integer"
echo " min: 1"
echo " Run parameters override, R2 cycles."
echo ""
echo " --split_lanes"
echo " type: boolean_true"
echo " Split FASTQ files by lane."
echo ""
echo " --strict"
echo " type: boolean_true"
echo " In strict mode any invalid or missing input file will terminate"
echo " execution"
echo " (overrides no_error_on_invalid and sets --error_on_missing)"
}
# initialise variables
VIASH_MODE='run'
@@ -604,9 +456,9 @@ RUN echo "bases2fastq: $(bases2fastq --version | cut -d' ' -f3)" > /var/software
LABEL org.opencontainers.image.authors="Dries Schaumont"
LABEL org.opencontainers.image.description="Companion container for running component bases2fastq"
LABEL org.opencontainers.image.created="2024-12-03T10:34:06Z"
LABEL org.opencontainers.image.created="2025-03-06T09:19:42Z"
LABEL org.opencontainers.image.source="https://github.com/viash-hub/biobox"
LABEL org.opencontainers.image.revision="952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
LABEL org.opencontainers.image.revision="5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
@@ -721,6 +573,180 @@ fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "bases2fastq main"
echo ""
echo "Bases2Fastq demultiplexes sequencing data generated by Element Biosciences"
echo "instruments and converts base calls into FASTQ files."
echo ""
echo "Input:"
echo " --analysis_directory"
echo " type: file, required parameter, file must exist"
echo " example: input"
echo " Location of analysis directory"
echo ""
echo " -r, --run_manifest"
echo " type: file, file must exist"
echo " Location of run manifest to use instead of default RunManifest.csv found"
echo " in analysis directory"
echo ""
echo "Output:"
echo " -o, --output_directory"
echo " type: file, required parameter, output, file must exist"
echo " example: fastq_dir"
echo " Location to save output fastqs"
echo ""
echo " --report"
echo " type: file, output, file must exist"
echo " Output location for the HTML report"
echo ""
echo " --logs"
echo " type: file, output, file must exist"
echo " example: logs_dir"
echo " Directory containing log files"
echo ""
echo "Arguments:"
echo " --chemistry_version"
echo " type: string"
echo " Run parameters override, chemistry version."
echo ""
echo " -d, --demux_only"
echo " type: boolean_true"
echo " Generate demux files and indexing stats without generating FASTQ"
echo ""
echo " --detect_adapters"
echo " type: boolean_true"
echo " Detect adapters sequences, overriding any sequences present in run"
echo " manifest."
echo ""
echo " --error_on_missing"
echo " type: boolean_true"
echo " Terminate execution for a missing file (by default, missing files are"
echo " skipped and execution continues). Also set by --strict."
echo ""
echo " -e, --exclude_tile"
echo " type: string, multiple values allowed"
echo " Regex matching tile names to exclude. This flag can be specified"
echo " multiple times. (e.g. L1.*C0[23]S.)"
echo ""
echo " --filter_mask"
echo " type: string"
echo " Run parameters override, custom pass filter mask."
echo ""
echo " --flowcell_id"
echo " type: string"
echo " Run parameters override, flowcell ID."
echo ""
echo " --force_index_orientation"
echo " type: boolean_true"
echo " Do not attempt to find orientation for I1/I2 reads (reverse complement)."
echo " Use orientation given in run manifest."
echo ""
echo " --group_fastq"
echo " type: boolean_true"
echo " Group all FASTQ/stats/metrics for a project are in the project folder."
echo ""
echo " --i1_cycles"
echo " type: integer"
echo " min: 1"
echo " Run parameters override, I1 cycles."
echo ""
echo " --i2_cycles"
echo " type: integer"
echo " min: 1"
echo " Run parameters override, I2 cycles"
echo ""
echo " -i, --include_tile"
echo " type: string, multiple values allowed"
echo " Regex matching tile names to include. This flag"
echo " can be specified multiple times. (e.g. L1.*C0[23]S.)"
echo ""
echo " --kit_configuration"
echo " type: string"
echo " Run parameters override, kit configuration."
echo ""
echo " --legacy_fastq"
echo " type: boolean_true"
echo " Legacy naming for FASTQ files (e.g. SampleName_S1_L001_R1_001.fastq.gz)"
echo ""
echo " -l, --log_level"
echo " type: string"
echo " example: INFO"
echo " choices: [ DEBUG, INFO, WARNING, ERROR ]"
echo " Severity level for logging."
echo ""
echo " --no_error_on_invalid"
echo " type: boolean_true"
echo " Skip invalid files and continue execution. Overridden by --strict"
echo " options"
echo ""
echo " --no_projects"
echo " type: boolean_true"
echo " Disable project directories"
echo ""
echo " --num_unassigned"
echo " type: integer"
echo " example: 30"
echo " min: 0"
echo " max: 1000"
echo " Max Number of unassigned sequences to report."
echo ""
echo " --preparation_workflow"
echo " type: string"
echo " Run parameters override, preparation workflow."
echo ""
echo " --qc_only"
echo " type: boolean_true"
echo " Quickly generate run stats for single tile without generating FASTQ."
echo " Use --include_tile/--exclude_tile to define custom tile set."
echo ""
echo " --r1_cycles"
echo " type: integer"
echo " min: 1"
echo " Run parameters override, R1 cycles."
echo ""
echo " --r2_cycles"
echo " type: integer"
echo " min: 1"
echo " Run parameters override, R2 cycles."
echo ""
echo " --split_lanes"
echo " type: boolean_true"
echo " Split FASTQ files by lane."
echo ""
echo " --strict"
echo " type: boolean_true"
echo " In strict mode any invalid or missing input file will terminate"
echo " execution"
echo " (overrides no_error_on_invalid and sets --error_on_missing)"
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
echo " ---memory=STRING"
echo " Amount of memory to use. Examples: 4GB, 3MiB."
echo ""
echo "Viash built in Docker:"
echo " ---setup=STRATEGY"
echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing."
echo " Default: ifneedbepullelsecachedbuild"
echo " ---dockerfile"
echo " Print the dockerfile to stdout."
echo " ---docker_run_args=ARG"
echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information."
echo " ---docker_image_id"
echo " Print the docker image id to stdout."
echo " ---debug"
echo " Enter the docker container for debugging purposes."
echo ""
echo "Viash built in Engines:"
echo " ---engine=ENGINE_ID"
echo " Specify the engine to use. Options are: docker, native."
echo " Default: docker"
}
# initialise array
VIASH_POSITIONAL_ARGS=''

View File

@@ -267,6 +267,9 @@ test_resources:
is_executable: true
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -367,16 +370,16 @@ build_info:
engine: "docker|native"
output: "target/executable/bbmap/bbmap_bbsplit"
executable: "target/executable/bbmap/bbmap_bbsplit/bbmap_bbsplit"
viash_version: "0.9.0"
git_commit: "952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-27-g952ff08"
viash_version: "0.9.2"
git_commit: "5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.2.0-30-g5f6516e"
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"
viash_version: "0.9.2"
source: "src"
target: "target"
config_mods:

View File

@@ -2,7 +2,7 @@
# bbmap_bbsplit main
#
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
# This wrapper script is auto-generated by viash 0.9.2 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
# Intuitive.
#
@@ -169,152 +169,6 @@ 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 "bbmap_bbsplit main"
echo ""
echo "Split sequencing reads by mapping them to multiple references simultaneously."
echo ""
echo "Input:"
echo " --id"
echo " type: string"
echo " Sample ID"
echo ""
echo " --paired"
echo " type: boolean_true"
echo " Paired fastq files or not?"
echo ""
echo " --input"
echo " type: file, multiple values allowed, file must exist"
echo " example: reads.fastq"
echo " Input fastq files, either one or two (paired), separated by \";\"."
echo ""
echo " --ref"
echo " type: file, multiple values allowed, file must exist"
echo " Reference FASTA files, separated by \";\". The primary reference should be"
echo " specified first."
echo ""
echo " --only_build_index"
echo " type: boolean_true"
echo " If set, only builds the index. Otherwise, mapping is performed."
echo ""
echo " --build"
echo " type: file, file must exist"
echo " Index to be used for mapping."
echo ""
echo " --qin"
echo " type: string"
echo " Set to 33 or 64 to specify input quality value ASCII offset."
echo " Automatically detected if"
echo " not specified."
echo ""
echo " --interleaved"
echo " type: boolean_true"
echo " True forces paired/interleaved input; false forces single-ended mapping."
echo " If not specified, interleaved status will be autodetected from read"
echo " names."
echo ""
echo " --maxindel"
echo " type: integer"
echo " example: 20"
echo " Don't look for indels longer than this. Lower is faster. Set to >=100k"
echo " for RNA-seq."
echo ""
echo " --minratio"
echo " type: double"
echo " example: 0.56"
echo " Fraction of max alignment score required to keep a site. Higher is"
echo " faster."
echo ""
echo " --minhits"
echo " type: integer"
echo " example: 1"
echo " Minimum number of seed hits required for candidate sites. Higher is"
echo " faster."
echo ""
echo " --ambiguous"
echo " type: string"
echo " example: best"
echo " choices: [ best, toss, random, all ]"
echo " Set behavior on ambiguously-mapped reads (with multiple top-scoring"
echo " mapping locations)."
echo " * best Use the first best site (Default)"
echo " * toss Consider unmapped"
echo " * random Select one top-scoring site randomly"
echo " * all Retain all top-scoring sites. Does not work yet with SAM"
echo " output"
echo ""
echo " --ambiguous2"
echo " type: string"
echo " example: best"
echo " choices: [ best, toss, all, split ]"
echo " Set behavior only for reads that map ambiguously to multiple different"
echo " references."
echo " Normal 'ambiguous=' controls behavior on all ambiguous reads;"
echo " Ambiguous2 excludes reads that map ambiguously within a single"
echo " reference."
echo " * best Use the first best site (Default)"
echo " * toss Consider unmapped"
echo " * all Write a copy to the output for each reference to which it"
echo " maps"
echo " * split Write a copy to the AMBIGUOUS_ output for each reference to"
echo " which it maps"
echo ""
echo " --qtrim"
echo " type: string"
echo " choices: [ l, r, lr ]"
echo " Quality-trim ends to Q5 before mapping. Options are 'l' (left), 'r'"
echo " (right), and 'lr' (both)."
echo ""
echo " --untrim"
echo " type: boolean_true"
echo " Undo trimming after mapping. Untrimmed bases will be soft-clipped in"
echo " cigar strings."
echo ""
echo "Output:"
echo " --index"
echo " type: file, output, file must exist"
echo " example: BBSplit_index"
echo " Location to write the index."
echo ""
echo " --fastq_1"
echo " type: file, output, file must exist"
echo " example: read_out1.fastq"
echo " Output file for read 1."
echo ""
echo " --fastq_2"
echo " type: file, output, file must exist"
echo " example: read_out2.fastq"
echo " Output file for read 2."
echo ""
echo " --bs, --sam2bam"
echo " type: file, output, file must exist"
echo " example: script.sh"
echo " Write a shell script to 'file' that will turn the sam output into a"
echo " sorted, indexed bam file."
echo ""
echo " --scafstats"
echo " type: file, output, file must exist"
echo " example: scaffold_stats.txt"
echo " Write statistics on how many reads mapped to which scaffold to this"
echo " file."
echo ""
echo " --refstats"
echo " type: file, output, file must exist"
echo " example: reference_stats.txt"
echo " Write statistics on how many reads were assigned to which reference to"
echo " this file."
echo " Unmapped reads whose mate mapped to a reference are considered assigned"
echo " and will be counted."
echo ""
echo " --nzo"
echo " type: boolean_true"
echo " Only print lines with nonzero coverage."
echo ""
echo " --bbmap_args"
echo " type: string"
echo " Additional arguments from BBMap to pass to BBSplit."
}
# initialise variables
VIASH_MODE='run'
@@ -600,9 +454,9 @@ cp -r bbmap/* /usr/local/bin
RUN bbsplit.sh --version 2>&1 | awk '/BBMap version/{print "BBMAP:", $NF}' > /var/software_versions.txt
LABEL org.opencontainers.image.description="Companion container for running component bbmap bbmap_bbsplit"
LABEL org.opencontainers.image.created="2024-12-03T10:33:54Z"
LABEL org.opencontainers.image.created="2025-03-06T09:19:45Z"
LABEL org.opencontainers.image.source="https://github.com/BioInfoTools/BBMap/blob/master/sh/bbsplit.sh"
LABEL org.opencontainers.image.revision="952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
LABEL org.opencontainers.image.revision="5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
@@ -717,6 +571,178 @@ fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "bbmap_bbsplit main"
echo ""
echo "Split sequencing reads by mapping them to multiple references simultaneously."
echo ""
echo "Input:"
echo " --id"
echo " type: string"
echo " Sample ID"
echo ""
echo " --paired"
echo " type: boolean_true"
echo " Paired fastq files or not?"
echo ""
echo " --input"
echo " type: file, multiple values allowed, file must exist"
echo " example: reads.fastq"
echo " Input fastq files, either one or two (paired), separated by \";\"."
echo ""
echo " --ref"
echo " type: file, multiple values allowed, file must exist"
echo " Reference FASTA files, separated by \";\". The primary reference should be"
echo " specified first."
echo ""
echo " --only_build_index"
echo " type: boolean_true"
echo " If set, only builds the index. Otherwise, mapping is performed."
echo ""
echo " --build"
echo " type: file, file must exist"
echo " Index to be used for mapping."
echo ""
echo " --qin"
echo " type: string"
echo " Set to 33 or 64 to specify input quality value ASCII offset."
echo " Automatically detected if"
echo " not specified."
echo ""
echo " --interleaved"
echo " type: boolean_true"
echo " True forces paired/interleaved input; false forces single-ended mapping."
echo " If not specified, interleaved status will be autodetected from read"
echo " names."
echo ""
echo " --maxindel"
echo " type: integer"
echo " example: 20"
echo " Don't look for indels longer than this. Lower is faster. Set to >=100k"
echo " for RNA-seq."
echo ""
echo " --minratio"
echo " type: double"
echo " example: 0.56"
echo " Fraction of max alignment score required to keep a site. Higher is"
echo " faster."
echo ""
echo " --minhits"
echo " type: integer"
echo " example: 1"
echo " Minimum number of seed hits required for candidate sites. Higher is"
echo " faster."
echo ""
echo " --ambiguous"
echo " type: string"
echo " example: best"
echo " choices: [ best, toss, random, all ]"
echo " Set behavior on ambiguously-mapped reads (with multiple top-scoring"
echo " mapping locations)."
echo " * best Use the first best site (Default)"
echo " * toss Consider unmapped"
echo " * random Select one top-scoring site randomly"
echo " * all Retain all top-scoring sites. Does not work yet with SAM"
echo " output"
echo ""
echo " --ambiguous2"
echo " type: string"
echo " example: best"
echo " choices: [ best, toss, all, split ]"
echo " Set behavior only for reads that map ambiguously to multiple different"
echo " references."
echo " Normal 'ambiguous=' controls behavior on all ambiguous reads;"
echo " Ambiguous2 excludes reads that map ambiguously within a single"
echo " reference."
echo " * best Use the first best site (Default)"
echo " * toss Consider unmapped"
echo " * all Write a copy to the output for each reference to which it"
echo " maps"
echo " * split Write a copy to the AMBIGUOUS_ output for each reference to"
echo " which it maps"
echo ""
echo " --qtrim"
echo " type: string"
echo " choices: [ l, r, lr ]"
echo " Quality-trim ends to Q5 before mapping. Options are 'l' (left), 'r'"
echo " (right), and 'lr' (both)."
echo ""
echo " --untrim"
echo " type: boolean_true"
echo " Undo trimming after mapping. Untrimmed bases will be soft-clipped in"
echo " cigar strings."
echo ""
echo "Output:"
echo " --index"
echo " type: file, output, file must exist"
echo " example: BBSplit_index"
echo " Location to write the index."
echo ""
echo " --fastq_1"
echo " type: file, output, file must exist"
echo " example: read_out1.fastq"
echo " Output file for read 1."
echo ""
echo " --fastq_2"
echo " type: file, output, file must exist"
echo " example: read_out2.fastq"
echo " Output file for read 2."
echo ""
echo " --bs, --sam2bam"
echo " type: file, output, file must exist"
echo " example: script.sh"
echo " Write a shell script to 'file' that will turn the sam output into a"
echo " sorted, indexed bam file."
echo ""
echo " --scafstats"
echo " type: file, output, file must exist"
echo " example: scaffold_stats.txt"
echo " Write statistics on how many reads mapped to which scaffold to this"
echo " file."
echo ""
echo " --refstats"
echo " type: file, output, file must exist"
echo " example: reference_stats.txt"
echo " Write statistics on how many reads were assigned to which reference to"
echo " this file."
echo " Unmapped reads whose mate mapped to a reference are considered assigned"
echo " and will be counted."
echo ""
echo " --nzo"
echo " type: boolean_true"
echo " Only print lines with nonzero coverage."
echo ""
echo " --bbmap_args"
echo " type: string"
echo " Additional arguments from BBMap to pass to BBSplit."
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
echo " ---memory=STRING"
echo " Amount of memory to use. Examples: 4GB, 3MiB."
echo ""
echo "Viash built in Docker:"
echo " ---setup=STRATEGY"
echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing."
echo " Default: ifneedbepullelsecachedbuild"
echo " ---dockerfile"
echo " Print the dockerfile to stdout."
echo " ---docker_run_args=ARG"
echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information."
echo " ---docker_image_id"
echo " Print the docker image id to stdout."
echo " ---debug"
echo " Enter the docker container for debugging purposes."
echo ""
echo "Viash built in Engines:"
echo " ---engine=ENGINE_ID"
echo " Specify the engine to use. Options are: docker, native."
echo " Default: docker"
}
# initialise array
VIASH_POSITIONAL_ARGS=''

View File

@@ -355,6 +355,9 @@ test_resources:
is_executable: true
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -468,16 +471,16 @@ build_info:
engine: "docker|native"
output: "target/executable/bcftools/bcftools_annotate"
executable: "target/executable/bcftools/bcftools_annotate/bcftools_annotate"
viash_version: "0.9.0"
git_commit: "952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-27-g952ff08"
viash_version: "0.9.2"
git_commit: "5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.2.0-30-g5f6516e"
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"
viash_version: "0.9.2"
source: "src"
target: "target"
config_mods:

View File

@@ -2,7 +2,7 @@
# bcftools_annotate main
#
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
# This wrapper script is auto-generated by viash 0.9.2 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
# Intuitive.
#
@@ -172,200 +172,6 @@ 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 "bcftools_annotate main"
echo ""
echo "Add or remove annotations from a VCF/BCF file."
echo ""
echo "Inputs:"
echo " -i, --input"
echo " type: file, required parameter, multiple values allowed, file must exist"
echo " Input VCF/BCF file."
echo ""
echo "Outputs:"
echo " -o, --output"
echo " type: file, required parameter, output, file must exist"
echo " Output annotated file."
echo ""
echo "Options:"
echo " For examples on how to use use bcftools annotate see"
echo " http://samtools.github.io/bcftools/howtos/annotate.html."
echo " For more details on the options see"
echo " https://samtools.github.io/bcftools/bcftools.html#annotate."
echo ""
echo " --a, --annotations"
echo " type: file, file must exist"
echo " VCF file or tabix-indexed FILE with annotations: CHR\\tPOS[\\tVALUE]+ ."
echo ""
echo " --c, --columns"
echo " type: string"
echo " List of columns in the annotation file, e.g."
echo " CHROM,POS,REF,ALT,-,INFO/TAG."
echo " See man page for details."
echo ""
echo " --C, --columns_file"
echo " type: file, file must exist"
echo " Read -c columns from FILE, one name per row, with optional --merge_logic"
echo " TYPE: NAME[ TYPE]."
echo ""
echo " --e, --exclude"
echo " type: string"
echo " example: QUAL >= 30 && DP >= 10"
echo " Exclude sites for which the expression is true."
echo " See https://samtools.github.io/bcftools/bcftools.html#expressions for"
echo " details."
echo ""
echo " --force"
echo " type: boolean_true"
echo " continue even when parsing errors, such as undefined tags, are"
echo " encountered."
echo " Note this can be an unsafe operation and can result in corrupted BCF"
echo " files."
echo " If this option is used, make sure to sanity check the result thoroughly."
echo ""
echo " --H, --header_line"
echo " type: string"
echo " Header line which should be appended to the VCF header, can be given"
echo " multiple times."
echo ""
echo " --h, --header_lines"
echo " type: file, file must exist"
echo " File with header lines to append to the VCF header."
echo " For example:"
echo " ##INFO=<ID=NUMERIC_TAG,Number=1,Type=Integer,Description=\"Example"
echo " header line\">"
echo " ##INFO=<ID=STRING_TAG,Number=1,Type=String,Description=\"Yet another"
echo " header line\">"
echo ""
echo " --I, --set_id"
echo " type: string"
echo " Set ID column using a \`bcftools query\`-like expression, see man page for"
echo " details."
echo ""
echo " --include"
echo " type: string"
echo " example: QUAL >= 30 && DP >= 10"
echo " Select sites for which the expression is true."
echo " See https://samtools.github.io/bcftools/bcftools.html#expressions for"
echo " details."
echo ""
echo " --k, --keep_sites"
echo " type: boolean_true"
echo " Leave --include/--exclude sites unchanged instead of discarding them."
echo ""
echo " --l, --merge_logic"
echo " type: string"
echo " When multiple regions overlap a single record, this option defines how"
echo " to treat multiple annotation values."
echo " See man page for more details."
echo ""
echo " --m, --mark_sites"
echo " type: string"
echo " Annotate sites which are present (\"+\") or absent (\"-\") in the -a file"
echo " with a new INFO/TAG flag."
echo ""
echo " --min_overlap"
echo " type: string"
echo " Minimum overlap required as a fraction of the variant in the annotation"
echo " -a file (ANN),"
echo " in the target VCF file (:VCF), or both for reciprocal overlap (ANN:VCF)."
echo " By default overlaps of arbitrary length are sufficient."
echo " The option can be used only with the tab-delimited annotation -a file"
echo " and with BEG and END columns present."
echo ""
echo " --no_version"
echo " type: boolean_true"
echo " Do not append version and command line information to the output VCF"
echo " header."
echo ""
echo " --O, --output_type"
echo " type: string"
echo " choices: [ u, z, b, v ]"
echo " Output type:"
echo " u: uncompressed BCF"
echo " z: compressed VCF"
echo " b: compressed BCF"
echo " v: uncompressed VCF"
echo ""
echo " --pair_logic"
echo " type: string"
echo " choices: [ snps, indels, both, all, some, exact ]"
echo " Controls how to match records from the annotation file to the target"
echo " VCF."
echo " Effective only when -a is a VCF or BCF file."
echo " The option replaces the former uninuitive --collapse."
echo " See Common Options for more."
echo ""
echo " --r, --regions"
echo " type: string"
echo " example: 20:1000000-2000000"
echo " Restrict to comma-separated list of regions."
echo " Following formats are supported: chr|chr:pos|chr:beg-end|chr:beg-[,…​]."
echo ""
echo " --R, --regions_file"
echo " type: file, file must exist"
echo " Restrict to regions listed in a file."
echo " Regions can be specified either on a VCF, BED, or tab-delimited file"
echo " (the default)."
echo " For more information check manual."
echo ""
echo " --regions_overlap"
echo " type: string"
echo " choices: [ pos, record, variant, 0, 1, 2 ]"
echo " This option controls how overlapping records are determined:"
echo " set to 'pos' or '0' if the VCF record has to have POS inside a region"
echo " (this corresponds to the default behavior of -t/-T);"
echo " set to 'record' or '1' if also overlapping records with POS outside a"
echo " region should be included (this is the default behavior of -r/-R,"
echo " and includes indels with POS at the end of a region, which are"
echo " technically outside the region);"
echo " or set to 'variant' or '2' to include only true overlapping variation"
echo " (compare the full VCF representation \"TA>T-\" vs the true sequence"
echo " variation \"A>-\")."
echo ""
echo " --rename_annotations"
echo " type: file, file must exist"
echo " Rename annotations: TYPE/old\\tnew, where TYPE is one of"
echo " FILTER,INFO,FORMAT."
echo ""
echo " --rename_chromosomes"
echo " type: file, file must exist"
echo " Rename chromosomes according to the map in file, with \"old_name"
echo " new_name\\n\" pairs"
echo " separated by whitespaces, each on a separate line."
echo ""
echo " --samples"
echo " type: string"
echo " Subset of samples to annotate."
echo " See also"
echo " https://samtools.github.io/bcftools/bcftools.html#common_options."
echo ""
echo " --samples_file"
echo " type: file, file must exist"
echo " Subset of samples to annotate in file format."
echo " See also"
echo " https://samtools.github.io/bcftools/bcftools.html#common_options."
echo ""
echo " --single_overlaps"
echo " type: boolean_true"
echo " Use this option to keep memory requirements low with very large"
echo " annotation files."
echo " Note, however, that this comes at a cost, only single overlapping"
echo " intervals are considered in this mode."
echo " This was the default mode until the commit af6f0c9 (Feb 24 2019)."
echo ""
echo " --x, --remove"
echo " type: string"
echo " List of annotations to remove."
echo " Use \"FILTER\" to remove all filters or \"FILTER/SomeFilter\" to remove a"
echo " specific filter."
echo " Similarly, \"INFO\" can be used to remove all INFO tags and \"FORMAT\" to"
echo " remove all FORMAT tags except GT."
echo " To remove all INFO tags except \"FOO\" and \"BAR\", use \"^INFO/FOO,INFO/BAR\""
echo " (and similarly for FORMAT and FILTER)."
echo " \"INFO\" can be abbreviated to \"INF\" and \"FORMAT\" to \"FMT\"."
}
# initialise variables
VIASH_MODE='run'
@@ -650,9 +456,9 @@ RUN echo "bcftools: \"$(bcftools --version | grep 'bcftools' | sed -n 's/^bcftoo
LABEL org.opencontainers.image.authors="Theodoro Gasperin Terra Camargo"
LABEL org.opencontainers.image.description="Companion container for running component bcftools bcftools_annotate"
LABEL org.opencontainers.image.created="2024-12-03T10:34:03Z"
LABEL org.opencontainers.image.created="2025-03-06T09:19:35Z"
LABEL org.opencontainers.image.source="https://github.com/samtools/bcftools"
LABEL org.opencontainers.image.revision="952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
LABEL org.opencontainers.image.revision="5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
@@ -767,6 +573,226 @@ fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "bcftools_annotate main"
echo ""
echo "Add or remove annotations from a VCF/BCF file."
echo ""
echo "Inputs:"
echo " -i, --input"
echo " type: file, required parameter, multiple values allowed, file must exist"
echo " Input VCF/BCF file."
echo ""
echo "Outputs:"
echo " -o, --output"
echo " type: file, required parameter, output, file must exist"
echo " Output annotated file."
echo ""
echo "Options:"
echo " For examples on how to use use bcftools annotate see"
echo " http://samtools.github.io/bcftools/howtos/annotate.html."
echo " For more details on the options see"
echo " https://samtools.github.io/bcftools/bcftools.html#annotate."
echo ""
echo " --a, --annotations"
echo " type: file, file must exist"
echo " VCF file or tabix-indexed FILE with annotations: CHR\\tPOS[\\tVALUE]+ ."
echo ""
echo " --c, --columns"
echo " type: string"
echo " List of columns in the annotation file, e.g."
echo " CHROM,POS,REF,ALT,-,INFO/TAG."
echo " See man page for details."
echo ""
echo " --C, --columns_file"
echo " type: file, file must exist"
echo " Read -c columns from FILE, one name per row, with optional --merge_logic"
echo " TYPE: NAME[ TYPE]."
echo ""
echo " --e, --exclude"
echo " type: string"
echo " example: QUAL >= 30 && DP >= 10"
echo " Exclude sites for which the expression is true."
echo " See https://samtools.github.io/bcftools/bcftools.html#expressions for"
echo " details."
echo ""
echo " --force"
echo " type: boolean_true"
echo " continue even when parsing errors, such as undefined tags, are"
echo " encountered."
echo " Note this can be an unsafe operation and can result in corrupted BCF"
echo " files."
echo " If this option is used, make sure to sanity check the result thoroughly."
echo ""
echo " --H, --header_line"
echo " type: string"
echo " Header line which should be appended to the VCF header, can be given"
echo " multiple times."
echo ""
echo " --h, --header_lines"
echo " type: file, file must exist"
echo " File with header lines to append to the VCF header."
echo " For example:"
echo " ##INFO=<ID=NUMERIC_TAG,Number=1,Type=Integer,Description=\"Example"
echo " header line\">"
echo " ##INFO=<ID=STRING_TAG,Number=1,Type=String,Description=\"Yet another"
echo " header line\">"
echo ""
echo " --I, --set_id"
echo " type: string"
echo " Set ID column using a \`bcftools query\`-like expression, see man page for"
echo " details."
echo ""
echo " --include"
echo " type: string"
echo " example: QUAL >= 30 && DP >= 10"
echo " Select sites for which the expression is true."
echo " See https://samtools.github.io/bcftools/bcftools.html#expressions for"
echo " details."
echo ""
echo " --k, --keep_sites"
echo " type: boolean_true"
echo " Leave --include/--exclude sites unchanged instead of discarding them."
echo ""
echo " --l, --merge_logic"
echo " type: string"
echo " When multiple regions overlap a single record, this option defines how"
echo " to treat multiple annotation values."
echo " See man page for more details."
echo ""
echo " --m, --mark_sites"
echo " type: string"
echo " Annotate sites which are present (\"+\") or absent (\"-\") in the -a file"
echo " with a new INFO/TAG flag."
echo ""
echo " --min_overlap"
echo " type: string"
echo " Minimum overlap required as a fraction of the variant in the annotation"
echo " -a file (ANN),"
echo " in the target VCF file (:VCF), or both for reciprocal overlap (ANN:VCF)."
echo " By default overlaps of arbitrary length are sufficient."
echo " The option can be used only with the tab-delimited annotation -a file"
echo " and with BEG and END columns present."
echo ""
echo " --no_version"
echo " type: boolean_true"
echo " Do not append version and command line information to the output VCF"
echo " header."
echo ""
echo " --O, --output_type"
echo " type: string"
echo " choices: [ u, z, b, v ]"
echo " Output type:"
echo " u: uncompressed BCF"
echo " z: compressed VCF"
echo " b: compressed BCF"
echo " v: uncompressed VCF"
echo ""
echo " --pair_logic"
echo " type: string"
echo " choices: [ snps, indels, both, all, some, exact ]"
echo " Controls how to match records from the annotation file to the target"
echo " VCF."
echo " Effective only when -a is a VCF or BCF file."
echo " The option replaces the former uninuitive --collapse."
echo " See Common Options for more."
echo ""
echo " --r, --regions"
echo " type: string"
echo " example: 20:1000000-2000000"
echo " Restrict to comma-separated list of regions."
echo " Following formats are supported: chr|chr:pos|chr:beg-end|chr:beg-[,…​]."
echo ""
echo " --R, --regions_file"
echo " type: file, file must exist"
echo " Restrict to regions listed in a file."
echo " Regions can be specified either on a VCF, BED, or tab-delimited file"
echo " (the default)."
echo " For more information check manual."
echo ""
echo " --regions_overlap"
echo " type: string"
echo " choices: [ pos, record, variant, 0, 1, 2 ]"
echo " This option controls how overlapping records are determined:"
echo " set to 'pos' or '0' if the VCF record has to have POS inside a region"
echo " (this corresponds to the default behavior of -t/-T);"
echo " set to 'record' or '1' if also overlapping records with POS outside a"
echo " region should be included (this is the default behavior of -r/-R,"
echo " and includes indels with POS at the end of a region, which are"
echo " technically outside the region);"
echo " or set to 'variant' or '2' to include only true overlapping variation"
echo " (compare the full VCF representation \"TA>T-\" vs the true sequence"
echo " variation \"A>-\")."
echo ""
echo " --rename_annotations"
echo " type: file, file must exist"
echo " Rename annotations: TYPE/old\\tnew, where TYPE is one of"
echo " FILTER,INFO,FORMAT."
echo ""
echo " --rename_chromosomes"
echo " type: file, file must exist"
echo " Rename chromosomes according to the map in file, with \"old_name"
echo " new_name\\n\" pairs"
echo " separated by whitespaces, each on a separate line."
echo ""
echo " --samples"
echo " type: string"
echo " Subset of samples to annotate."
echo " See also"
echo " https://samtools.github.io/bcftools/bcftools.html#common_options."
echo ""
echo " --samples_file"
echo " type: file, file must exist"
echo " Subset of samples to annotate in file format."
echo " See also"
echo " https://samtools.github.io/bcftools/bcftools.html#common_options."
echo ""
echo " --single_overlaps"
echo " type: boolean_true"
echo " Use this option to keep memory requirements low with very large"
echo " annotation files."
echo " Note, however, that this comes at a cost, only single overlapping"
echo " intervals are considered in this mode."
echo " This was the default mode until the commit af6f0c9 (Feb 24 2019)."
echo ""
echo " --x, --remove"
echo " type: string"
echo " List of annotations to remove."
echo " Use \"FILTER\" to remove all filters or \"FILTER/SomeFilter\" to remove a"
echo " specific filter."
echo " Similarly, \"INFO\" can be used to remove all INFO tags and \"FORMAT\" to"
echo " remove all FORMAT tags except GT."
echo " To remove all INFO tags except \"FOO\" and \"BAR\", use \"^INFO/FOO,INFO/BAR\""
echo " (and similarly for FORMAT and FILTER)."
echo " \"INFO\" can be abbreviated to \"INF\" and \"FORMAT\" to \"FMT\"."
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
echo " ---memory=STRING"
echo " Amount of memory to use. Examples: 4GB, 3MiB."
echo ""
echo "Viash built in Docker:"
echo " ---setup=STRATEGY"
echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing."
echo " Default: ifneedbepullelsecachedbuild"
echo " ---dockerfile"
echo " Print the dockerfile to stdout."
echo " ---docker_run_args=ARG"
echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information."
echo " ---docker_image_id"
echo " Print the docker image id to stdout."
echo " ---debug"
echo " Enter the docker container for debugging purposes."
echo ""
echo "Viash built in Engines:"
echo " ---engine=ENGINE_ID"
echo " Specify the engine to use. Options are: docker, native."
echo " Default: docker"
}
# initialise array
VIASH_POSITIONAL_ARGS=''

View File

@@ -221,6 +221,9 @@ test_resources:
is_executable: true
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -334,16 +337,16 @@ build_info:
engine: "docker|native"
output: "target/executable/bcftools/bcftools_concat"
executable: "target/executable/bcftools/bcftools_concat/bcftools_concat"
viash_version: "0.9.0"
git_commit: "952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-27-g952ff08"
viash_version: "0.9.2"
git_commit: "5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.2.0-30-g5f6516e"
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"
viash_version: "0.9.2"
source: "src"
target: "target"
config_mods:

View File

@@ -2,7 +2,7 @@
# bcftools_concat main
#
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
# This wrapper script is auto-generated by viash 0.9.2 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
# Intuitive.
#
@@ -172,116 +172,6 @@ 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 "bcftools_concat main"
echo ""
echo "Concatenate or combine VCF/BCF files. All source files must have the same sample"
echo "columns appearing in the same order. The program can be used, for example, to"
echo "concatenate chromosome VCFs into one VCF, or combine a SNP VCF and an indel"
echo "VCF into one. The input files must be sorted by chr and position. The files"
echo "must be given in the correct order to produce sorted VCF on output unless"
echo "the -a, --allow-overlaps option is specified. With the --naive option, the files"
echo "are concatenated without being recompressed, which is very fast."
echo ""
echo "Inputs:"
echo " -i, --input"
echo " type: file, multiple values allowed, file must exist"
echo " Input VCF/BCF files to concatenate."
echo ""
echo " -f, --file_list"
echo " type: file, file must exist"
echo " Read the list of VCF/BCF files from a file, one file name per line."
echo ""
echo "Outputs:"
echo " -o, --output"
echo " type: file, required parameter, output, file must exist"
echo " Output concatenated VCF/BCF file."
echo ""
echo "Options:"
echo " -a, --allow_overlaps"
echo " type: boolean_true"
echo " First coordinate of the next file can precede last record of the current"
echo " file."
echo ""
echo " -c, --compact_PS"
echo " type: boolean_true"
echo " Do not output PS tag at each site, only at the start of a new phase set"
echo " block."
echo ""
echo " -d, --remove_duplicates"
echo " type: string"
echo " choices: [ snps, indels, both, all, exact, none ]"
echo " Output duplicate records present in multiple files only once:"
echo " <snps|indels|both|all|exact>."
echo ""
echo " -l, --ligate"
echo " type: boolean_true"
echo " Ligate phased VCFs by matching phase at overlapping haplotypes."
echo ""
echo " --ligate_force"
echo " type: boolean_true"
echo " Ligate even non-overlapping chunks, keep all sites."
echo ""
echo " --ligate_warn"
echo " type: boolean_true"
echo " Drop sites in imperfect overlaps."
echo ""
echo " --no_version"
echo " type: boolean_true"
echo " Do not append version and command line information to the header."
echo ""
echo " -n, --naive"
echo " type: boolean_true"
echo " Concatenate files without recompression, a header check compatibility is"
echo " performed."
echo ""
echo " --naive_force"
echo " type: boolean_true"
echo " Same as --naive, but header compatibility is not checked."
echo " Dangerous, use with caution."
echo ""
echo " -O, --output_type"
echo " type: string"
echo " choices: [ u, z, b, v ]"
echo " Output type:"
echo " u: uncompressed BCF"
echo " z: compressed VCF"
echo " b: compressed BCF"
echo " v: uncompressed VCF"
echo ""
echo " -q, --min_PQ"
echo " type: integer"
echo " example: 30"
echo " Break phase set if phasing quality is lower than <int>."
echo ""
echo " -r, --regions"
echo " type: string"
echo " example: 20:1000000-2000000"
echo " Restrict to comma-separated list of regions."
echo " Following formats are supported: chr|chr:pos|chr:beg-end|chr:beg-[,…​]."
echo ""
echo " -R, --regions_file"
echo " type: file, file must exist"
echo " Restrict to regions listed in a file."
echo " Regions can be specified either on a VCF, BED, or tab-delimited file"
echo " (the default)."
echo " For more information check manual."
echo ""
echo " --regions_overlap"
echo " type: string"
echo " choices: [ pos, record, variant, 0, 1, 2 ]"
echo " This option controls how overlapping records are determined:"
echo " set to 'pos' or '0' if the VCF record has to have POS inside a region"
echo " (this corresponds to the default behavior of -t/-T);"
echo " set to 'record' or '1' if also overlapping records with POS outside a"
echo " region should be included (this is the default behavior of -r/-R,"
echo " and includes indels with POS at the end of a region, which are"
echo " technically outside the region);"
echo " or set to 'variant' or '2' to include only true overlapping variation"
echo " (compare the full VCF representation \"TA>T-\" vs the true sequence"
echo " variation \"A>-\")."
}
# initialise variables
VIASH_MODE='run'
@@ -566,9 +456,9 @@ RUN echo "bcftools: \"$(bcftools --version | grep 'bcftools' | sed -n 's/^bcftoo
LABEL org.opencontainers.image.authors="Theodoro Gasperin Terra Camargo"
LABEL org.opencontainers.image.description="Companion container for running component bcftools bcftools_concat"
LABEL org.opencontainers.image.created="2024-12-03T10:34:02Z"
LABEL org.opencontainers.image.created="2025-03-06T09:19:36Z"
LABEL org.opencontainers.image.source="https://github.com/samtools/bcftools"
LABEL org.opencontainers.image.revision="952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
LABEL org.opencontainers.image.revision="5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
@@ -683,6 +573,142 @@ fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "bcftools_concat main"
echo ""
echo "Concatenate or combine VCF/BCF files. All source files must have the same sample"
echo "columns appearing in the same order. The program can be used, for example, to"
echo "concatenate chromosome VCFs into one VCF, or combine a SNP VCF and an indel"
echo "VCF into one. The input files must be sorted by chr and position. The files"
echo "must be given in the correct order to produce sorted VCF on output unless"
echo "the -a, --allow-overlaps option is specified. With the --naive option, the files"
echo "are concatenated without being recompressed, which is very fast."
echo ""
echo "Inputs:"
echo " -i, --input"
echo " type: file, multiple values allowed, file must exist"
echo " Input VCF/BCF files to concatenate."
echo ""
echo " -f, --file_list"
echo " type: file, file must exist"
echo " Read the list of VCF/BCF files from a file, one file name per line."
echo ""
echo "Outputs:"
echo " -o, --output"
echo " type: file, required parameter, output, file must exist"
echo " Output concatenated VCF/BCF file."
echo ""
echo "Options:"
echo " -a, --allow_overlaps"
echo " type: boolean_true"
echo " First coordinate of the next file can precede last record of the current"
echo " file."
echo ""
echo " -c, --compact_PS"
echo " type: boolean_true"
echo " Do not output PS tag at each site, only at the start of a new phase set"
echo " block."
echo ""
echo " -d, --remove_duplicates"
echo " type: string"
echo " choices: [ snps, indels, both, all, exact, none ]"
echo " Output duplicate records present in multiple files only once:"
echo " <snps|indels|both|all|exact>."
echo ""
echo " -l, --ligate"
echo " type: boolean_true"
echo " Ligate phased VCFs by matching phase at overlapping haplotypes."
echo ""
echo " --ligate_force"
echo " type: boolean_true"
echo " Ligate even non-overlapping chunks, keep all sites."
echo ""
echo " --ligate_warn"
echo " type: boolean_true"
echo " Drop sites in imperfect overlaps."
echo ""
echo " --no_version"
echo " type: boolean_true"
echo " Do not append version and command line information to the header."
echo ""
echo " -n, --naive"
echo " type: boolean_true"
echo " Concatenate files without recompression, a header check compatibility is"
echo " performed."
echo ""
echo " --naive_force"
echo " type: boolean_true"
echo " Same as --naive, but header compatibility is not checked."
echo " Dangerous, use with caution."
echo ""
echo " -O, --output_type"
echo " type: string"
echo " choices: [ u, z, b, v ]"
echo " Output type:"
echo " u: uncompressed BCF"
echo " z: compressed VCF"
echo " b: compressed BCF"
echo " v: uncompressed VCF"
echo ""
echo " -q, --min_PQ"
echo " type: integer"
echo " example: 30"
echo " Break phase set if phasing quality is lower than <int>."
echo ""
echo " -r, --regions"
echo " type: string"
echo " example: 20:1000000-2000000"
echo " Restrict to comma-separated list of regions."
echo " Following formats are supported: chr|chr:pos|chr:beg-end|chr:beg-[,…​]."
echo ""
echo " -R, --regions_file"
echo " type: file, file must exist"
echo " Restrict to regions listed in a file."
echo " Regions can be specified either on a VCF, BED, or tab-delimited file"
echo " (the default)."
echo " For more information check manual."
echo ""
echo " --regions_overlap"
echo " type: string"
echo " choices: [ pos, record, variant, 0, 1, 2 ]"
echo " This option controls how overlapping records are determined:"
echo " set to 'pos' or '0' if the VCF record has to have POS inside a region"
echo " (this corresponds to the default behavior of -t/-T);"
echo " set to 'record' or '1' if also overlapping records with POS outside a"
echo " region should be included (this is the default behavior of -r/-R,"
echo " and includes indels with POS at the end of a region, which are"
echo " technically outside the region);"
echo " or set to 'variant' or '2' to include only true overlapping variation"
echo " (compare the full VCF representation \"TA>T-\" vs the true sequence"
echo " variation \"A>-\")."
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
echo " ---memory=STRING"
echo " Amount of memory to use. Examples: 4GB, 3MiB."
echo ""
echo "Viash built in Docker:"
echo " ---setup=STRATEGY"
echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing."
echo " Default: ifneedbepullelsecachedbuild"
echo " ---dockerfile"
echo " Print the dockerfile to stdout."
echo " ---docker_run_args=ARG"
echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information."
echo " ---docker_image_id"
echo " Print the docker image id to stdout."
echo " ---debug"
echo " Enter the docker container for debugging purposes."
echo ""
echo "Viash built in Engines:"
echo " ---engine=ENGINE_ID"
echo " Specify the engine to use. Options are: docker, native."
echo " Default: docker"
}
# initialise array
VIASH_POSITIONAL_ARGS=''

View File

@@ -302,6 +302,9 @@ test_resources:
is_executable: true
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -415,16 +418,16 @@ build_info:
engine: "docker|native"
output: "target/executable/bcftools/bcftools_norm"
executable: "target/executable/bcftools/bcftools_norm/bcftools_norm"
viash_version: "0.9.0"
git_commit: "952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-27-g952ff08"
viash_version: "0.9.2"
git_commit: "5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.2.0-30-g5f6516e"
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"
viash_version: "0.9.2"
source: "src"
target: "target"
config_mods:

View File

@@ -2,7 +2,7 @@
# bcftools_norm main
#
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
# This wrapper script is auto-generated by viash 0.9.2 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
# Intuitive.
#
@@ -172,139 +172,6 @@ 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 "bcftools_norm main"
echo ""
echo "Left-align and normalize indels, check if REF alleles match the reference, split"
echo "multiallelic sites into multiple rows;"
echo "recover multiallelics from multiple rows."
echo ""
echo "Inputs:"
echo " -i, --input"
echo " type: file, required parameter, file must exist"
echo " Input VCF/BCF file."
echo ""
echo "Outputs:"
echo " -o, --output"
echo " type: file, required parameter, output, file must exist"
echo " Output normalized VCF/BCF file."
echo ""
echo "Options:"
echo " -a, --atomize"
echo " type: boolean_true"
echo " Decompose complex variants (e.g., MNVs become consecutive SNVs)."
echo ""
echo " --atom_overlaps"
echo " type: string"
echo " choices: [ ., * ]"
echo " Use the star allele (*) for overlapping alleles or set to missing (.)."
echo ""
echo " -c, --check_ref"
echo " type: string"
echo " choices: [ e, w, x, s ]"
echo " Check REF alleles and exit (e), warn (w), exclude (x), or set (s) bad"
echo " sites."
echo ""
echo " -d, --remove_duplicates"
echo " type: string"
echo " choices: [ snps, indels, both, all, exact, none ]"
echo " Remove duplicate snps, indels, both, all, exact matches, or none (old -D"
echo " option)."
echo ""
echo " -f, --fasta_ref"
echo " type: file, file must exist"
echo " Reference fasta sequence file."
echo ""
echo " --force"
echo " type: boolean_true"
echo " Try to proceed even if malformed tags are encountered."
echo " Experimental, use at your own risk."
echo ""
echo " --keep_sum"
echo " type: string"
echo " Keep vector sum constant when splitting multiallelics (see github issue"
echo " #360)."
echo ""
echo " -m, --multiallelics"
echo " type: string"
echo " choices: [ +snps, +indels, +both, +any, -snps, -indels, -both, -any ]"
echo " Split multiallelics (-) or join biallelics (+), type: snps, indels,"
echo " both, any [default: both]."
echo ""
echo " --no_version"
echo " type: boolean_true"
echo " Do not append version and command line information to the header."
echo ""
echo " -N, --do_not_normalize"
echo " type: boolean_true"
echo " Do not normalize indels (with -m or -c s)."
echo ""
echo " --O, --output_type"
echo " type: string"
echo " choices: [ u, z, b, v ]"
echo " Output type:"
echo " u: uncompressed BCF"
echo " z: compressed VCF"
echo " b: compressed BCF"
echo " v: uncompressed VCF"
echo ""
echo " --old_rec_tag"
echo " type: string"
echo " Annotate modified records with INFO/STR indicating the original variant."
echo ""
echo " --r, --regions"
echo " type: string"
echo " example: 20:1000000-2000000"
echo " Restrict to comma-separated list of regions."
echo " Following formats are supported: chr|chr:pos|chr:beg-end|chr:beg-[,…​]."
echo ""
echo " --R, --regions_file"
echo " type: file, file must exist"
echo " Restrict to regions listed in a file."
echo " Regions can be specified either on a VCF, BED, or tab-delimited file"
echo " (the default)."
echo " For more information check manual."
echo ""
echo " --regions_overlap"
echo " type: string"
echo " choices: [ pos, record, variant, 0, 1, 2 ]"
echo " This option controls how overlapping records are determined:"
echo " set to 'pos' or '0' if the VCF record has to have POS inside a region"
echo " (this corresponds to the default behavior of -t/-T);"
echo " set to 'record' or '1' if also overlapping records with POS outside a"
echo " region should be included (this is the default behavior of -r/-R,"
echo " and includes indels with POS at the end of a region, which are"
echo " technically outside the region);"
echo " or set to 'variant' or '2' to include only true overlapping variation"
echo " (compare the full VCF representation \"TA>T-\" vs the true sequence"
echo " variation \"A>-\")."
echo ""
echo " -w, --site_win"
echo " type: integer"
echo " Buffer for sorting lines that changed position during realignment."
echo ""
echo " -s, --strict_filter"
echo " type: boolean_true"
echo " When merging (-m+), merged site is PASS only if all sites being merged"
echo " PASS."
echo ""
echo " -t, --targets"
echo " type: string"
echo " example: 20:1000000-2000000"
echo " Similar to --regions but streams rather than index-jumps."
echo ""
echo " -T, --targets_file"
echo " type: file, file must exist"
echo " Similar to --regions_file but streams rather than index-jumps."
echo ""
echo " --targets_overlap"
echo " type: string"
echo " choices: [ pos, record, variant, 0, 1, 2 ]"
echo " Include if POS in the region (0), record overlaps (1), variant overlaps"
echo " (2)."
echo " Similar to --regions_overlap."
}
# initialise variables
VIASH_MODE='run'
@@ -589,9 +456,9 @@ RUN echo "bcftools: \"$(bcftools --version | grep 'bcftools' | sed -n 's/^bcftoo
LABEL org.opencontainers.image.authors="Theodoro Gasperin Terra Camargo"
LABEL org.opencontainers.image.description="Companion container for running component bcftools bcftools_norm"
LABEL org.opencontainers.image.created="2024-12-03T10:34:03Z"
LABEL org.opencontainers.image.created="2025-03-06T09:19:46Z"
LABEL org.opencontainers.image.source="https://github.com/samtools/bcftools"
LABEL org.opencontainers.image.revision="952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
LABEL org.opencontainers.image.revision="5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
@@ -706,6 +573,165 @@ fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "bcftools_norm main"
echo ""
echo "Left-align and normalize indels, check if REF alleles match the reference, split"
echo "multiallelic sites into multiple rows;"
echo "recover multiallelics from multiple rows."
echo ""
echo "Inputs:"
echo " -i, --input"
echo " type: file, required parameter, file must exist"
echo " Input VCF/BCF file."
echo ""
echo "Outputs:"
echo " -o, --output"
echo " type: file, required parameter, output, file must exist"
echo " Output normalized VCF/BCF file."
echo ""
echo "Options:"
echo " -a, --atomize"
echo " type: boolean_true"
echo " Decompose complex variants (e.g., MNVs become consecutive SNVs)."
echo ""
echo " --atom_overlaps"
echo " type: string"
echo " choices: [ ., * ]"
echo " Use the star allele (*) for overlapping alleles or set to missing (.)."
echo ""
echo " -c, --check_ref"
echo " type: string"
echo " choices: [ e, w, x, s ]"
echo " Check REF alleles and exit (e), warn (w), exclude (x), or set (s) bad"
echo " sites."
echo ""
echo " -d, --remove_duplicates"
echo " type: string"
echo " choices: [ snps, indels, both, all, exact, none ]"
echo " Remove duplicate snps, indels, both, all, exact matches, or none (old -D"
echo " option)."
echo ""
echo " -f, --fasta_ref"
echo " type: file, file must exist"
echo " Reference fasta sequence file."
echo ""
echo " --force"
echo " type: boolean_true"
echo " Try to proceed even if malformed tags are encountered."
echo " Experimental, use at your own risk."
echo ""
echo " --keep_sum"
echo " type: string"
echo " Keep vector sum constant when splitting multiallelics (see github issue"
echo " #360)."
echo ""
echo " -m, --multiallelics"
echo " type: string"
echo " choices: [ +snps, +indels, +both, +any, -snps, -indels, -both, -any ]"
echo " Split multiallelics (-) or join biallelics (+), type: snps, indels,"
echo " both, any [default: both]."
echo ""
echo " --no_version"
echo " type: boolean_true"
echo " Do not append version and command line information to the header."
echo ""
echo " -N, --do_not_normalize"
echo " type: boolean_true"
echo " Do not normalize indels (with -m or -c s)."
echo ""
echo " --O, --output_type"
echo " type: string"
echo " choices: [ u, z, b, v ]"
echo " Output type:"
echo " u: uncompressed BCF"
echo " z: compressed VCF"
echo " b: compressed BCF"
echo " v: uncompressed VCF"
echo ""
echo " --old_rec_tag"
echo " type: string"
echo " Annotate modified records with INFO/STR indicating the original variant."
echo ""
echo " --r, --regions"
echo " type: string"
echo " example: 20:1000000-2000000"
echo " Restrict to comma-separated list of regions."
echo " Following formats are supported: chr|chr:pos|chr:beg-end|chr:beg-[,…​]."
echo ""
echo " --R, --regions_file"
echo " type: file, file must exist"
echo " Restrict to regions listed in a file."
echo " Regions can be specified either on a VCF, BED, or tab-delimited file"
echo " (the default)."
echo " For more information check manual."
echo ""
echo " --regions_overlap"
echo " type: string"
echo " choices: [ pos, record, variant, 0, 1, 2 ]"
echo " This option controls how overlapping records are determined:"
echo " set to 'pos' or '0' if the VCF record has to have POS inside a region"
echo " (this corresponds to the default behavior of -t/-T);"
echo " set to 'record' or '1' if also overlapping records with POS outside a"
echo " region should be included (this is the default behavior of -r/-R,"
echo " and includes indels with POS at the end of a region, which are"
echo " technically outside the region);"
echo " or set to 'variant' or '2' to include only true overlapping variation"
echo " (compare the full VCF representation \"TA>T-\" vs the true sequence"
echo " variation \"A>-\")."
echo ""
echo " -w, --site_win"
echo " type: integer"
echo " Buffer for sorting lines that changed position during realignment."
echo ""
echo " -s, --strict_filter"
echo " type: boolean_true"
echo " When merging (-m+), merged site is PASS only if all sites being merged"
echo " PASS."
echo ""
echo " -t, --targets"
echo " type: string"
echo " example: 20:1000000-2000000"
echo " Similar to --regions but streams rather than index-jumps."
echo ""
echo " -T, --targets_file"
echo " type: file, file must exist"
echo " Similar to --regions_file but streams rather than index-jumps."
echo ""
echo " --targets_overlap"
echo " type: string"
echo " choices: [ pos, record, variant, 0, 1, 2 ]"
echo " Include if POS in the region (0), record overlaps (1), variant overlaps"
echo " (2)."
echo " Similar to --regions_overlap."
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
echo " ---memory=STRING"
echo " Amount of memory to use. Examples: 4GB, 3MiB."
echo ""
echo "Viash built in Docker:"
echo " ---setup=STRATEGY"
echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing."
echo " Default: ifneedbepullelsecachedbuild"
echo " ---dockerfile"
echo " Print the dockerfile to stdout."
echo " ---docker_run_args=ARG"
echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information."
echo " ---docker_image_id"
echo " Print the docker image id to stdout."
echo " ---debug"
echo " Enter the docker container for debugging purposes."
echo ""
echo "Viash built in Engines:"
echo " ---engine=ENGINE_ID"
echo " Specify the engine to use. Options are: docker, native."
echo " Default: docker"
}
# initialise array
VIASH_POSITIONAL_ARGS=''

View File

@@ -76,6 +76,9 @@ test_resources:
path: "test_data"
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -184,16 +187,16 @@ build_info:
engine: "docker|native"
output: "target/executable/bcftools/bcftools_sort"
executable: "target/executable/bcftools/bcftools_sort/bcftools_sort"
viash_version: "0.9.0"
git_commit: "952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-27-g952ff08"
viash_version: "0.9.2"
git_commit: "5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.2.0-30-g5f6516e"
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"
viash_version: "0.9.2"
source: "src"
target: "target"
config_mods:

View File

@@ -2,7 +2,7 @@
# bcftools_sort main
#
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
# This wrapper script is auto-generated by viash 0.9.2 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
# Intuitive.
#
@@ -172,33 +172,6 @@ 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 "bcftools_sort main"
echo ""
echo "Sorts VCF/BCF files."
echo ""
echo "Inputs:"
echo " -i, --input"
echo " type: file, required parameter, file must exist"
echo " Input VCF/BCF file."
echo ""
echo "Outputs:"
echo " -o, --output"
echo " type: file, required parameter, output, file must exist"
echo " Output sorted VCF/BCF file."
echo ""
echo "Options:"
echo " -O, --output_type"
echo " type: string"
echo " choices: [ b, u, z, v ]"
echo " Compresses or uncompresses the output."
echo " The options are:"
echo " b: compressed BCF,"
echo " u: uncompressed BCF,"
echo " z: compressed VCF,"
echo " v: uncompressed VCF."
}
# initialise variables
VIASH_MODE='run'
@@ -483,9 +456,9 @@ RUN echo "bcftools: \"$(bcftools --version | grep 'bcftools' | sed -n 's/^bcftoo
LABEL org.opencontainers.image.authors="Theodoro Gasperin Terra Camargo"
LABEL org.opencontainers.image.description="Companion container for running component bcftools bcftools_sort"
LABEL org.opencontainers.image.created="2024-12-03T10:34:02Z"
LABEL org.opencontainers.image.created="2025-03-06T09:19:35Z"
LABEL org.opencontainers.image.source="https://github.com/samtools/bcftools"
LABEL org.opencontainers.image.revision="952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
LABEL org.opencontainers.image.revision="5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
@@ -600,6 +573,59 @@ fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "bcftools_sort main"
echo ""
echo "Sorts VCF/BCF files."
echo ""
echo "Inputs:"
echo " -i, --input"
echo " type: file, required parameter, file must exist"
echo " Input VCF/BCF file."
echo ""
echo "Outputs:"
echo " -o, --output"
echo " type: file, required parameter, output, file must exist"
echo " Output sorted VCF/BCF file."
echo ""
echo "Options:"
echo " -O, --output_type"
echo " type: string"
echo " choices: [ b, u, z, v ]"
echo " Compresses or uncompresses the output."
echo " The options are:"
echo " b: compressed BCF,"
echo " u: uncompressed BCF,"
echo " z: compressed VCF,"
echo " v: uncompressed VCF."
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
echo " ---memory=STRING"
echo " Amount of memory to use. Examples: 4GB, 3MiB."
echo ""
echo "Viash built in Docker:"
echo " ---setup=STRATEGY"
echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing."
echo " Default: ifneedbepullelsecachedbuild"
echo " ---dockerfile"
echo " Print the dockerfile to stdout."
echo " ---docker_run_args=ARG"
echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information."
echo " ---docker_image_id"
echo " Print the docker image id to stdout."
echo " ---debug"
echo " Enter the docker container for debugging purposes."
echo ""
echo "Viash built in Engines:"
echo " ---engine=ENGINE_ID"
echo " Specify the engine to use. Options are: docker, native."
echo " Default: docker"
}
# initialise array
VIASH_POSITIONAL_ARGS=''

View File

@@ -344,6 +344,9 @@ test_resources:
is_executable: true
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -457,16 +460,16 @@ build_info:
engine: "docker|native"
output: "target/executable/bcftools/bcftools_stats"
executable: "target/executable/bcftools/bcftools_stats/bcftools_stats"
viash_version: "0.9.0"
git_commit: "952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-27-g952ff08"
viash_version: "0.9.2"
git_commit: "5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.2.0-30-g5f6516e"
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"
viash_version: "0.9.2"
source: "src"
target: "target"
config_mods:

View File

@@ -2,7 +2,7 @@
# bcftools_stats main
#
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
# This wrapper script is auto-generated by viash 0.9.2 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
# Intuitive.
#
@@ -172,176 +172,6 @@ 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 "bcftools_stats main"
echo ""
echo "Parses VCF or BCF and produces a txt stats file which can be plotted using"
echo "plot-vcfstats."
echo "When two files are given, the program generates separate stats for intersection"
echo "and the complements. By default only sites are compared, -s/-S must given to"
echo "include"
echo "also sample columns."
echo ""
echo "Inputs:"
echo " -i, --input"
echo " type: file, required parameter, multiple values allowed, file must exist"
echo " Input VCF/BCF file. Maximum of two files."
echo ""
echo "Outputs:"
echo " -o, --output"
echo " type: file, required parameter, output, file must exist"
echo " Output txt statistics file."
echo ""
echo "Options:"
echo " --af_bins, --allele_frequency_bins"
echo " type: string"
echo " example: 0.1,0.5,1"
echo " Allele frequency bins, a list of bin values (0.1,0.5,1)."
echo ""
echo " --af_bins_file, --allele_frequency_bins_file"
echo " type: file, file must exist"
echo " Same as allele_frequency_bins, but in a file."
echo " Format of file is one value per line."
echo " e.g."
echo " 0.1"
echo " 0.5"
echo " 1"
echo ""
echo " --af_tag, --allele_frequency_tag"
echo " type: string"
echo " Allele frequency tag to use, by default estimated from AN,AC or GT."
echo ""
echo " --first_only, --first_allele_only"
echo " type: boolean_true"
echo " Include only 1st allele at multiallelic sites."
echo ""
echo " --c, --collapse"
echo " type: string"
echo " choices: [ snps, indels, both, all, some, none ]"
echo " Treat as identical records with <snps|indels|both|all|some|none>."
echo " See https://samtools.github.io/bcftools/bcftools.html#common_options for"
echo " details."
echo ""
echo " --d, --depth"
echo " type: string"
echo " example: 0,500,1"
echo " Depth distribution: min,max,bin size."
echo ""
echo " --e, --exclude"
echo " type: string"
echo " example: QUAL < 30 && DP < 10"
echo " Exclude sites for which the expression is true."
echo " See https://samtools.github.io/bcftools/bcftools.html#expressions for"
echo " details."
echo ""
echo " --E, --exons"
echo " type: file, file must exist"
echo " tab-delimited file with exons for indel frameshifts statistics."
echo " The columns of the file are CHR, FROM, TO, with 1-based, inclusive,"
echo " positions."
echo " The file is BGZF-compressed and indexed with tabix (e.g. tabix -s1 -b2"
echo " -e3 file.gz)."
echo ""
echo " --f, --apply_filters"
echo " type: string"
echo " Require at least one of the listed FILTER strings (e.g. \"PASS,.\")."
echo ""
echo " --F, --fasta_reference"
echo " type: file, file must exist"
echo " Faidx indexed reference sequence file to determine INDEL context."
echo ""
echo " --i, --include"
echo " type: string"
echo " example: QUAL >= 30 && DP >= 10"
echo " Select sites for which the expression is true."
echo " See https://samtools.github.io/bcftools/bcftools.html#expressions for"
echo " details."
echo ""
echo " --I, --split_by_ID"
echo " type: boolean_true"
echo " Collect stats for sites with ID separately (known vs novel)."
echo ""
echo " --r, --regions"
echo " type: string"
echo " example: 20:1000000-2000000"
echo " Restrict to comma-separated list of regions."
echo " Following formats are supported: chr|chr:pos|chr:beg-end|chr:beg-[,…​]."
echo ""
echo " --R, --regions_file"
echo " type: file, file must exist"
echo " Restrict to regions listed in a file."
echo " Regions can be specified either on a VCF, BED, or tab-delimited file"
echo " (the default)."
echo " For more information check manual."
echo ""
echo " --regions_overlap"
echo " type: string"
echo " choices: [ pos, record, variant, 0, 1, 2 ]"
echo " This option controls how overlapping records are determined:"
echo " set to 'pos' or '0' if the VCF record has to have POS inside a region"
echo " (this corresponds to the default behavior of -t/-T);"
echo " set to 'record' or '1' if also overlapping records with POS outside a"
echo " region should be included (this is the default behavior of -r/-R,"
echo " and includes indels with POS at the end of a region, which are"
echo " technically outside the region);"
echo " or set to 'variant' or '2' to include only true overlapping variation"
echo " (compare the full VCF representation \"TA>T-\" vs the true sequence"
echo " variation \"A>-\")."
echo ""
echo " --s, --samples"
echo " type: string"
echo " List of samples for sample stats, \"-\" to include all samples."
echo ""
echo " --S, --samples_file"
echo " type: file, file must exist"
echo " File of samples to include."
echo " e.g."
echo " sample1 1"
echo " sample2 2"
echo " sample3 2"
echo ""
echo " --t, --targets"
echo " type: string"
echo " example: 20:1000000-2000000"
echo " Similar as -r, --regions, but the next position is accessed by streaming"
echo " the whole VCF/BCF"
echo " rather than using the tbi/csi index. Both -r and -t options can be"
echo " applied simultaneously: -r uses the"
echo " index to jump to a region and -t discards positions which are not in the"
echo " targets. Unlike -r, targets"
echo " can be prefixed with \"^\" to request logical complement. For example,"
echo " \"^X,Y,MT\" indicates that"
echo " sequences X, Y and MT should be skipped. Yet another difference between"
echo " the -t/-T and -r/-R is"
echo " that -r/-R checks for proper overlaps and considers both POS and the end"
echo " position of an indel,"
echo " while -t/-T considers the POS coordinate only (by default; see also"
echo " --regions-overlap and --targets-overlap)."
echo " Note that -t cannot be used in combination with -T."
echo " Following formats are supported: chr|chr:pos|chr:beg-end|chr:beg-[,…​]."
echo ""
echo " --T, --targets_file"
echo " type: file, file must exist"
echo " Similar to --regions_file option but streams rather than index-jumps."
echo ""
echo " --targets_overlaps"
echo " type: string"
echo " choices: [ pos, record, variant, 0, 1, 2 ]"
echo " Include if POS in the region (0), record overlaps (1), variant overlaps"
echo " (2)."
echo ""
echo " --u, --user_tstv"
echo " type: string"
echo " Collect Ts/Tv stats for any tag using the given binning [0:1:100]."
echo " Format is <TAG[:min:max:n]>."
echo " A subfield can be selected as e.g. 'PV4[0]', here the first value of the"
echo " PV4 tag."
echo ""
echo " --v, --verbose"
echo " type: boolean_true"
echo " Produce verbose per-site and per-sample output."
}
# initialise variables
VIASH_MODE='run'
@@ -626,9 +456,9 @@ RUN echo "bcftools: \"$(bcftools --version | grep 'bcftools' | sed -n 's/^bcftoo
LABEL org.opencontainers.image.authors="Theodoro Gasperin Terra Camargo"
LABEL org.opencontainers.image.description="Companion container for running component bcftools bcftools_stats"
LABEL org.opencontainers.image.created="2024-12-03T10:34:03Z"
LABEL org.opencontainers.image.created="2025-03-06T09:19:35Z"
LABEL org.opencontainers.image.source="https://github.com/samtools/bcftools"
LABEL org.opencontainers.image.revision="952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
LABEL org.opencontainers.image.revision="5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
@@ -743,6 +573,202 @@ fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "bcftools_stats main"
echo ""
echo "Parses VCF or BCF and produces a txt stats file which can be plotted using"
echo "plot-vcfstats."
echo "When two files are given, the program generates separate stats for intersection"
echo "and the complements. By default only sites are compared, -s/-S must given to"
echo "include"
echo "also sample columns."
echo ""
echo "Inputs:"
echo " -i, --input"
echo " type: file, required parameter, multiple values allowed, file must exist"
echo " Input VCF/BCF file. Maximum of two files."
echo ""
echo "Outputs:"
echo " -o, --output"
echo " type: file, required parameter, output, file must exist"
echo " Output txt statistics file."
echo ""
echo "Options:"
echo " --af_bins, --allele_frequency_bins"
echo " type: string"
echo " example: 0.1,0.5,1"
echo " Allele frequency bins, a list of bin values (0.1,0.5,1)."
echo ""
echo " --af_bins_file, --allele_frequency_bins_file"
echo " type: file, file must exist"
echo " Same as allele_frequency_bins, but in a file."
echo " Format of file is one value per line."
echo " e.g."
echo " 0.1"
echo " 0.5"
echo " 1"
echo ""
echo " --af_tag, --allele_frequency_tag"
echo " type: string"
echo " Allele frequency tag to use, by default estimated from AN,AC or GT."
echo ""
echo " --first_only, --first_allele_only"
echo " type: boolean_true"
echo " Include only 1st allele at multiallelic sites."
echo ""
echo " --c, --collapse"
echo " type: string"
echo " choices: [ snps, indels, both, all, some, none ]"
echo " Treat as identical records with <snps|indels|both|all|some|none>."
echo " See https://samtools.github.io/bcftools/bcftools.html#common_options for"
echo " details."
echo ""
echo " --d, --depth"
echo " type: string"
echo " example: 0,500,1"
echo " Depth distribution: min,max,bin size."
echo ""
echo " --e, --exclude"
echo " type: string"
echo " example: QUAL < 30 && DP < 10"
echo " Exclude sites for which the expression is true."
echo " See https://samtools.github.io/bcftools/bcftools.html#expressions for"
echo " details."
echo ""
echo " --E, --exons"
echo " type: file, file must exist"
echo " tab-delimited file with exons for indel frameshifts statistics."
echo " The columns of the file are CHR, FROM, TO, with 1-based, inclusive,"
echo " positions."
echo " The file is BGZF-compressed and indexed with tabix (e.g. tabix -s1 -b2"
echo " -e3 file.gz)."
echo ""
echo " --f, --apply_filters"
echo " type: string"
echo " Require at least one of the listed FILTER strings (e.g. \"PASS,.\")."
echo ""
echo " --F, --fasta_reference"
echo " type: file, file must exist"
echo " Faidx indexed reference sequence file to determine INDEL context."
echo ""
echo " --i, --include"
echo " type: string"
echo " example: QUAL >= 30 && DP >= 10"
echo " Select sites for which the expression is true."
echo " See https://samtools.github.io/bcftools/bcftools.html#expressions for"
echo " details."
echo ""
echo " --I, --split_by_ID"
echo " type: boolean_true"
echo " Collect stats for sites with ID separately (known vs novel)."
echo ""
echo " --r, --regions"
echo " type: string"
echo " example: 20:1000000-2000000"
echo " Restrict to comma-separated list of regions."
echo " Following formats are supported: chr|chr:pos|chr:beg-end|chr:beg-[,…​]."
echo ""
echo " --R, --regions_file"
echo " type: file, file must exist"
echo " Restrict to regions listed in a file."
echo " Regions can be specified either on a VCF, BED, or tab-delimited file"
echo " (the default)."
echo " For more information check manual."
echo ""
echo " --regions_overlap"
echo " type: string"
echo " choices: [ pos, record, variant, 0, 1, 2 ]"
echo " This option controls how overlapping records are determined:"
echo " set to 'pos' or '0' if the VCF record has to have POS inside a region"
echo " (this corresponds to the default behavior of -t/-T);"
echo " set to 'record' or '1' if also overlapping records with POS outside a"
echo " region should be included (this is the default behavior of -r/-R,"
echo " and includes indels with POS at the end of a region, which are"
echo " technically outside the region);"
echo " or set to 'variant' or '2' to include only true overlapping variation"
echo " (compare the full VCF representation \"TA>T-\" vs the true sequence"
echo " variation \"A>-\")."
echo ""
echo " --s, --samples"
echo " type: string"
echo " List of samples for sample stats, \"-\" to include all samples."
echo ""
echo " --S, --samples_file"
echo " type: file, file must exist"
echo " File of samples to include."
echo " e.g."
echo " sample1 1"
echo " sample2 2"
echo " sample3 2"
echo ""
echo " --t, --targets"
echo " type: string"
echo " example: 20:1000000-2000000"
echo " Similar as -r, --regions, but the next position is accessed by streaming"
echo " the whole VCF/BCF"
echo " rather than using the tbi/csi index. Both -r and -t options can be"
echo " applied simultaneously: -r uses the"
echo " index to jump to a region and -t discards positions which are not in the"
echo " targets. Unlike -r, targets"
echo " can be prefixed with \"^\" to request logical complement. For example,"
echo " \"^X,Y,MT\" indicates that"
echo " sequences X, Y and MT should be skipped. Yet another difference between"
echo " the -t/-T and -r/-R is"
echo " that -r/-R checks for proper overlaps and considers both POS and the end"
echo " position of an indel,"
echo " while -t/-T considers the POS coordinate only (by default; see also"
echo " --regions-overlap and --targets-overlap)."
echo " Note that -t cannot be used in combination with -T."
echo " Following formats are supported: chr|chr:pos|chr:beg-end|chr:beg-[,…​]."
echo ""
echo " --T, --targets_file"
echo " type: file, file must exist"
echo " Similar to --regions_file option but streams rather than index-jumps."
echo ""
echo " --targets_overlaps"
echo " type: string"
echo " choices: [ pos, record, variant, 0, 1, 2 ]"
echo " Include if POS in the region (0), record overlaps (1), variant overlaps"
echo " (2)."
echo ""
echo " --u, --user_tstv"
echo " type: string"
echo " Collect Ts/Tv stats for any tag using the given binning [0:1:100]."
echo " Format is <TAG[:min:max:n]>."
echo " A subfield can be selected as e.g. 'PV4[0]', here the first value of the"
echo " PV4 tag."
echo ""
echo " --v, --verbose"
echo " type: boolean_true"
echo " Produce verbose per-site and per-sample output."
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
echo " ---memory=STRING"
echo " Amount of memory to use. Examples: 4GB, 3MiB."
echo ""
echo "Viash built in Docker:"
echo " ---setup=STRATEGY"
echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing."
echo " Default: ifneedbepullelsecachedbuild"
echo " ---dockerfile"
echo " Print the dockerfile to stdout."
echo " ---docker_run_args=ARG"
echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information."
echo " ---docker_image_id"
echo " Print the docker image id to stdout."
echo " ---debug"
echo " Enter the docker container for debugging purposes."
echo ""
echo "Viash built in Engines:"
echo " ---engine=ENGINE_ID"
echo " Specify the engine to use. Options are: docker, native."
echo " Default: docker"
}
# initialise array
VIASH_POSITIONAL_ARGS=''

View File

@@ -290,6 +290,16 @@ argument_groups:
direction: "output"
multiple: false
multiple_sep: ";"
- type: "boolean"
name: "--force"
description: "Allow destination directory to already exist and overwrite files.\n"
info: null
example:
- true
required: false
direction: "input"
multiple: false
multiple_sep: ";"
resources:
- type: "bash_script"
path: "script.sh"
@@ -303,6 +313,9 @@ test_resources:
is_executable: true
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -417,16 +430,16 @@ build_info:
engine: "docker|native"
output: "target/executable/bcl_convert"
executable: "target/executable/bcl_convert/bcl_convert"
viash_version: "0.9.0"
git_commit: "952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-27-g952ff08"
viash_version: "0.9.2"
git_commit: "5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.2.0-30-g5f6516e"
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"
viash_version: "0.9.2"
source: "src"
target: "target"
config_mods:

View File

@@ -2,7 +2,7 @@
# bcl_convert main
#
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
# This wrapper script is auto-generated by viash 0.9.2 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
# Intuitive.
#
@@ -173,143 +173,6 @@ 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 "bcl_convert main"
echo ""
echo "Convert bcl files to fastq files using bcl-convert."
echo "Information about upgrading from bcl2fastq via"
echo "[Upgrading from bcl2fastq to BCL"
echo "Convert](https://emea.support.illumina.com/bulletins/2020/10/upgrading-from-bcl2fastq-to-bcl-convert.html)"
echo "and [BCL Convert Compatible"
echo "Products](https://support.illumina.com/sequencing/sequencing_software/bcl-convert/compatibility.html)"
echo ""
echo "Input arguments:"
echo " -i, --bcl_input_directory"
echo " type: file, required parameter, file must exist"
echo " example: bcl_dir"
echo " Input run directory"
echo ""
echo " -s, --sample_sheet"
echo " type: file, file must exist"
echo " example: bcl_dir/sample_sheet.csv"
echo " Path to SampleSheet.csv file (default searched for in"
echo " --bcl_input_directory)"
echo ""
echo " --run_info"
echo " type: file, file must exist"
echo " example: bcl_dir/RunInfo.xml"
echo " Path to RunInfo.xml file (default root of BCL input directory)"
echo ""
echo "Lane and tile settings:"
echo " --bcl_only_lane"
echo " type: integer"
echo " example: 1"
echo " Convert only specified lane number (default all lanes)"
echo ""
echo " --first_tile_only"
echo " type: boolean"
echo " example: true"
echo " Only convert first tile of input (for testing & debugging)"
echo ""
echo " --tiles"
echo " type: string"
echo " example: s_[0-9]+_1"
echo " Process only a subset of tiles by a regular expression"
echo ""
echo " --exclude_tiles"
echo " type: string"
echo " example: s_[0-9]+_1"
echo " Exclude set of tiles by a regular expression"
echo ""
echo "Resource arguments:"
echo " --shared_thread_odirect_output"
echo " type: boolean"
echo " example: true"
echo " Use linux native asynchronous io (io_submit) for file output"
echo " (Default=false)"
echo ""
echo " --bcl_num_parallel_tiles"
echo " type: integer"
echo " example: 1"
echo " \\# of tiles to process in parallel (default 1)"
echo ""
echo " --bcl_num_conversion_threads"
echo " type: integer"
echo " example: 1"
echo " \\# of threads for conversion (per tile, default # cpu threads)"
echo ""
echo " --bcl_num_compression_threads"
echo " type: integer"
echo " example: 1"
echo " \\# of threads for fastq.gz output compression (per tile, default # cpu"
echo " threads, or HW+12)"
echo ""
echo " --bcl_num_decompression_threads"
echo " type: integer"
echo " example: 1"
echo " \\# of threads for bcl/cbcl input decompression (per tile, default half #"
echo " cpu threads, or HW+8). Only applies when preloading files"
echo ""
echo "Run arguments:"
echo " --bcl_only_matched_reads"
echo " type: boolean"
echo " example: true"
echo " For pure BCL conversion, do not output files for 'Undetermined'"
echo " [unmatched] reads (output by default)"
echo ""
echo " --no_lane_splitting"
echo " type: boolean"
echo " example: true"
echo " Do not split FASTQ file by lane (false by default)"
echo ""
echo " --num_unknown_barcodes_reported"
echo " type: integer"
echo " example: 1000"
echo " \\# of Top Unknown Barcodes to output (1000 by default)"
echo ""
echo " --bcl_validate_sample_sheet_only"
echo " type: boolean"
echo " example: true"
echo " Only validate RunInfo.xml & SampleSheet files (produce no FASTQ files)"
echo ""
echo " --strict_mode"
echo " type: boolean"
echo " example: true"
echo " Abort if any files are missing (false by default)"
echo ""
echo " --sample_name_column_enabled"
echo " type: boolean"
echo " example: true"
echo " Use sample sheet 'Sample_Name' column when naming fastq files &"
echo " subdirectories"
echo ""
echo "Output arguments:"
echo " -o, --output_directory"
echo " type: file, required parameter, output, file must exist"
echo " example: fastq_dir"
echo " Output directory containig fastq files"
echo ""
echo " --bcl_sampleproject_subdirectories"
echo " type: boolean"
echo " example: true"
echo " Output to subdirectories based upon sample sheet 'Sample_Project' column"
echo ""
echo " --fastq_gzip_compression_level"
echo " type: integer"
echo " example: 1"
echo " Set fastq output compression level 0-9 (default 1)"
echo ""
echo " --reports"
echo " type: file, output, file must exist"
echo " example: reports_dir"
echo " Reports directory"
echo ""
echo " --logs"
echo " type: file, output, file must exist"
echo " example: logs_dir"
echo " Reports directory"
}
# initialise variables
VIASH_MODE='run'
@@ -599,9 +462,9 @@ RUN echo "bcl-convert: \"$(bcl-convert -V 2>&1 >/dev/null | sed -n '/Version/ s/
LABEL org.opencontainers.image.authors="Toni Verbeiren, Dorien Roosen"
LABEL org.opencontainers.image.description="Companion container for running component bcl_convert"
LABEL org.opencontainers.image.created="2024-12-03T10:34:01Z"
LABEL org.opencontainers.image.created="2025-03-06T09:19:44Z"
LABEL org.opencontainers.image.source="https://github.com/viash-hub/biobox"
LABEL org.opencontainers.image.revision="952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
LABEL org.opencontainers.image.revision="5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
@@ -716,6 +579,174 @@ fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "bcl_convert main"
echo ""
echo "Convert bcl files to fastq files using bcl-convert."
echo "Information about upgrading from bcl2fastq via"
echo "[Upgrading from bcl2fastq to BCL"
echo "Convert](https://emea.support.illumina.com/bulletins/2020/10/upgrading-from-bcl2fastq-to-bcl-convert.html)"
echo "and [BCL Convert Compatible"
echo "Products](https://support.illumina.com/sequencing/sequencing_software/bcl-convert/compatibility.html)"
echo ""
echo "Input arguments:"
echo " -i, --bcl_input_directory"
echo " type: file, required parameter, file must exist"
echo " example: bcl_dir"
echo " Input run directory"
echo ""
echo " -s, --sample_sheet"
echo " type: file, file must exist"
echo " example: bcl_dir/sample_sheet.csv"
echo " Path to SampleSheet.csv file (default searched for in"
echo " --bcl_input_directory)"
echo ""
echo " --run_info"
echo " type: file, file must exist"
echo " example: bcl_dir/RunInfo.xml"
echo " Path to RunInfo.xml file (default root of BCL input directory)"
echo ""
echo "Lane and tile settings:"
echo " --bcl_only_lane"
echo " type: integer"
echo " example: 1"
echo " Convert only specified lane number (default all lanes)"
echo ""
echo " --first_tile_only"
echo " type: boolean"
echo " example: true"
echo " Only convert first tile of input (for testing & debugging)"
echo ""
echo " --tiles"
echo " type: string"
echo " example: s_[0-9]+_1"
echo " Process only a subset of tiles by a regular expression"
echo ""
echo " --exclude_tiles"
echo " type: string"
echo " example: s_[0-9]+_1"
echo " Exclude set of tiles by a regular expression"
echo ""
echo "Resource arguments:"
echo " --shared_thread_odirect_output"
echo " type: boolean"
echo " example: true"
echo " Use linux native asynchronous io (io_submit) for file output"
echo " (Default=false)"
echo ""
echo " --bcl_num_parallel_tiles"
echo " type: integer"
echo " example: 1"
echo " \\# of tiles to process in parallel (default 1)"
echo ""
echo " --bcl_num_conversion_threads"
echo " type: integer"
echo " example: 1"
echo " \\# of threads for conversion (per tile, default # cpu threads)"
echo ""
echo " --bcl_num_compression_threads"
echo " type: integer"
echo " example: 1"
echo " \\# of threads for fastq.gz output compression (per tile, default # cpu"
echo " threads, or HW+12)"
echo ""
echo " --bcl_num_decompression_threads"
echo " type: integer"
echo " example: 1"
echo " \\# of threads for bcl/cbcl input decompression (per tile, default half #"
echo " cpu threads, or HW+8). Only applies when preloading files"
echo ""
echo "Run arguments:"
echo " --bcl_only_matched_reads"
echo " type: boolean"
echo " example: true"
echo " For pure BCL conversion, do not output files for 'Undetermined'"
echo " [unmatched] reads (output by default)"
echo ""
echo " --no_lane_splitting"
echo " type: boolean"
echo " example: true"
echo " Do not split FASTQ file by lane (false by default)"
echo ""
echo " --num_unknown_barcodes_reported"
echo " type: integer"
echo " example: 1000"
echo " \\# of Top Unknown Barcodes to output (1000 by default)"
echo ""
echo " --bcl_validate_sample_sheet_only"
echo " type: boolean"
echo " example: true"
echo " Only validate RunInfo.xml & SampleSheet files (produce no FASTQ files)"
echo ""
echo " --strict_mode"
echo " type: boolean"
echo " example: true"
echo " Abort if any files are missing (false by default)"
echo ""
echo " --sample_name_column_enabled"
echo " type: boolean"
echo " example: true"
echo " Use sample sheet 'Sample_Name' column when naming fastq files &"
echo " subdirectories"
echo ""
echo "Output arguments:"
echo " -o, --output_directory"
echo " type: file, required parameter, output, file must exist"
echo " example: fastq_dir"
echo " Output directory containig fastq files"
echo ""
echo " --bcl_sampleproject_subdirectories"
echo " type: boolean"
echo " example: true"
echo " Output to subdirectories based upon sample sheet 'Sample_Project' column"
echo ""
echo " --fastq_gzip_compression_level"
echo " type: integer"
echo " example: 1"
echo " Set fastq output compression level 0-9 (default 1)"
echo ""
echo " --reports"
echo " type: file, output, file must exist"
echo " example: reports_dir"
echo " Reports directory"
echo ""
echo " --logs"
echo " type: file, output, file must exist"
echo " example: logs_dir"
echo " Reports directory"
echo ""
echo " --force"
echo " type: boolean"
echo " example: true"
echo " Allow destination directory to already exist and overwrite files."
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
echo " ---memory=STRING"
echo " Amount of memory to use. Examples: 4GB, 3MiB."
echo ""
echo "Viash built in Docker:"
echo " ---setup=STRATEGY"
echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing."
echo " Default: ifneedbepullelsecachedbuild"
echo " ---dockerfile"
echo " Print the dockerfile to stdout."
echo " ---docker_run_args=ARG"
echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information."
echo " ---docker_image_id"
echo " Print the docker image id to stdout."
echo " ---debug"
echo " Enter the docker container for debugging purposes."
echo ""
echo "Viash built in Engines:"
echo " ---engine=ENGINE_ID"
echo " Specify the engine to use. Options are: docker, native."
echo " Default: docker"
}
# initialise array
VIASH_POSITIONAL_ARGS=''
@@ -1012,6 +1043,17 @@ while [[ $# -gt 0 ]]; do
VIASH_PAR_LOGS=$(ViashRemoveFlags "$1")
shift 1
;;
--force)
[ -n "$VIASH_PAR_FORCE" ] && ViashError Bad arguments for option \'--force\': \'$VIASH_PAR_FORCE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_FORCE="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --force. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--force=*)
[ -n "$VIASH_PAR_FORCE" ] && ViashError Bad arguments for option \'--force=*\': \'$VIASH_PAR_FORCE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_FORCE=$(ViashRemoveFlags "$1")
shift 1
;;
---engine)
VIASH_ENGINE_ID="$2"
shift 2
@@ -1322,6 +1364,12 @@ if [[ -n "$VIASH_PAR_FASTQ_GZIP_COMPRESSION_LEVEL" ]]; then
exit 1
fi
fi
if [[ -n "$VIASH_PAR_FORCE" ]]; then
if ! [[ "$VIASH_PAR_FORCE" =~ ^(true|True|TRUE|false|False|FALSE|yes|Yes|YES|no|No|NO)$ ]]; then
ViashError '--force' has to be a boolean. 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.
@@ -1537,6 +1585,7 @@ $( if [ ! -z ${VIASH_PAR_BCL_SAMPLEPROJECT_SUBDIRECTORIES+x} ]; then echo "${VIA
$( if [ ! -z ${VIASH_PAR_FASTQ_GZIP_COMPRESSION_LEVEL+x} ]; then echo "${VIASH_PAR_FASTQ_GZIP_COMPRESSION_LEVEL}" | sed "s#'#'\"'\"'#g;s#.*#par_fastq_gzip_compression_level='&'#" ; else echo "# par_fastq_gzip_compression_level="; fi )
$( if [ ! -z ${VIASH_PAR_REPORTS+x} ]; then echo "${VIASH_PAR_REPORTS}" | sed "s#'#'\"'\"'#g;s#.*#par_reports='&'#" ; else echo "# par_reports="; 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_FORCE+x} ]; then echo "${VIASH_PAR_FORCE}" | sed "s#'#'\"'\"'#g;s#.*#par_force='&'#" ; else echo "# par_force="; 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 )
@@ -1561,9 +1610,13 @@ $( if [ ! -z ${VIASH_META_MEMORY_PIB+x} ]; then echo "${VIASH_META_MEMORY_PIB}"
set -eo pipefail
[[ "\$par_force" == "false" ]] && unset par_force
\$(which bcl-convert) \\
--bcl-input-directory "\$par_bcl_input_directory" \\
--output-directory "\$par_output_directory" \\
\${par_force:+--force} \\
\${par_sample_sheet:+ --sample-sheet "\$par_sample_sheet"} \\
\${par_run_info:+ --run-info "\$par_run_info"} \\
\${par_bcl_only_lane:+ --bcl-only-lane "\$par_bcl_only_lane"} \\

View File

@@ -159,6 +159,9 @@ test_resources:
path: "test_data"
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -273,16 +276,16 @@ build_info:
engine: "docker|native"
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: "952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-27-g952ff08"
viash_version: "0.9.2"
git_commit: "5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.2.0-30-g5f6516e"
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"
viash_version: "0.9.2"
source: "src"
target: "target"
config_mods:

View File

@@ -2,7 +2,7 @@
# bd_rhapsody_make_reference main
#
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
# This wrapper script is auto-generated by viash 0.9.2 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
# Intuitive.
#
@@ -173,95 +173,6 @@ 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 "bd_rhapsody_make_reference main"
echo ""
echo "The Reference Files Generator creates an archive containing Genome Index"
echo "and Transcriptome annotation files needed for the BD Rhapsody Sequencing"
echo "Analysis Pipeline. The app takes as input one or more FASTA and GTF files"
echo "and produces a compressed archive in the form of a tar.gz file. The"
echo "archive contains:"
echo ""
echo "- STAR index"
echo "- Filtered GTF file"
echo ""
echo "Inputs:"
echo " --genome_fasta"
echo " type: file, required parameter, multiple values allowed, file must exist"
echo " example: genome_sequence.fa.gz"
echo " Reference genome file in FASTA or FASTA.GZ format. The BD Rhapsody"
echo " Sequencing Analysis Pipeline uses GRCh38 for Human and GRCm39 for Mouse."
echo ""
echo " --gtf"
echo " type: file, required parameter, multiple values allowed, file must exist"
echo " example: transcriptome_annotation.gtf.gz"
echo " File path to the transcript annotation files in GTF or GTF.GZ format."
echo " The Sequence Analysis Pipeline requires the 'gene_name' or"
echo " 'gene_id' attribute to be set on each gene and exon feature. Gene and"
echo " exon feature lines must have the same attribute, and exons"
echo " must have a corresponding gene with the same value. For TCR/BCR assays,"
echo " the TCR or BCR gene segments must have the 'gene_type' or"
echo " 'gene_biotype' attribute set, and the value should begin with 'TR' or"
echo " 'IG', respectively."
echo ""
echo " --extra_sequences"
echo " type: file, multiple values allowed, file must exist"
echo " File path to additional sequences in FASTA format to use when building"
echo " the STAR index. (e.g. transgenes or CRISPR guide barcodes)."
echo " GTF lines for these sequences will be automatically generated and"
echo " combined with the main GTF."
echo ""
echo "Outputs:"
echo " --reference_archive"
echo " type: file, required parameter, output, file must exist"
echo " example: star_index.tar.gz"
echo " A Compressed archive containing the Reference Genome Index and"
echo " annotation GTF files. This archive is meant to be used as an"
echo " input in the BD Rhapsody Sequencing Analysis Pipeline."
echo ""
echo "Arguments:"
echo " --mitochondrial_contigs"
echo " type: string, multiple values allowed"
echo " default: chrM;chrMT;M;MT"
echo " Names of the Mitochondrial contigs in the provided Reference Genome."
echo " Fragments originating from contigs other than these are"
echo " identified as 'nuclear fragments' in the ATACseq analysis pipeline."
echo ""
echo " --filtering_off"
echo " type: boolean_true"
echo " By default the input Transcript Annotation files are filtered based on"
echo " the gene_type/gene_biotype attribute. Only features"
echo " having the following attribute values are kept:"
echo " - protein_coding"
echo " - lncRNA (lincRNA and antisense for Gencode < v31/M22/Ensembl97)"
echo " - IG_LV_gene"
echo " - IG_V_gene"
echo " - IG_V_pseudogene"
echo " - IG_D_gene"
echo " - IG_J_gene"
echo " - IG_J_pseudogene"
echo " - IG_C_gene"
echo " - IG_C_pseudogene"
echo " - TR_V_gene"
echo " - TR_V_pseudogene"
echo " - TR_D_gene"
echo " - TR_J_gene"
echo " - TR_J_pseudogene"
echo " - TR_C_gene"
echo " If you have already pre-filtered the input Annotation files and/or"
echo " wish to turn-off the filtering, please set this option to True."
echo ""
echo " --wta_only_index"
echo " type: boolean_true"
echo " Build a WTA only index, otherwise builds a WTA + ATAC index."
echo ""
echo " --extra_star_params"
echo " type: string"
echo " example: --limitGenomeGenerateRAM 48000 --genomeSAindexNbases 11"
echo " Additional parameters to pass to STAR when building the genome index."
echo " Specify exactly like how you would on the command line."
}
# initialise variables
VIASH_MODE='run'
@@ -554,9 +465,9 @@ RUN VERSION=$(ls -v /var/bd_rhapsody_cwl | grep '^v' | sed 's#v##' | tail -1)
RUN echo "bdgenomics/rhapsody: \"$VERSION\"" > /var/software_versions.txt
LABEL org.opencontainers.image.authors="Robrecht Cannoodt, Weiwei Schultz"
LABEL org.opencontainers.image.description="Companion container for running component bd_rhapsody bd_rhapsody_make_reference"
LABEL org.opencontainers.image.created="2024-12-03T10:34:04Z"
LABEL org.opencontainers.image.created="2025-03-06T09:19:41Z"
LABEL org.opencontainers.image.source="https://bitbucket.org/CRSwDev/cwl/src/master/v2.2.1/Extra_Utilities/"
LABEL org.opencontainers.image.revision="952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
LABEL org.opencontainers.image.revision="5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
@@ -671,6 +582,121 @@ fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "bd_rhapsody_make_reference main"
echo ""
echo "The Reference Files Generator creates an archive containing Genome Index"
echo "and Transcriptome annotation files needed for the BD Rhapsody Sequencing"
echo "Analysis Pipeline. The app takes as input one or more FASTA and GTF files"
echo "and produces a compressed archive in the form of a tar.gz file. The"
echo "archive contains:"
echo ""
echo "- STAR index"
echo "- Filtered GTF file"
echo ""
echo "Inputs:"
echo " --genome_fasta"
echo " type: file, required parameter, multiple values allowed, file must exist"
echo " example: genome_sequence.fa.gz"
echo " Reference genome file in FASTA or FASTA.GZ format. The BD Rhapsody"
echo " Sequencing Analysis Pipeline uses GRCh38 for Human and GRCm39 for Mouse."
echo ""
echo " --gtf"
echo " type: file, required parameter, multiple values allowed, file must exist"
echo " example: transcriptome_annotation.gtf.gz"
echo " File path to the transcript annotation files in GTF or GTF.GZ format."
echo " The Sequence Analysis Pipeline requires the 'gene_name' or"
echo " 'gene_id' attribute to be set on each gene and exon feature. Gene and"
echo " exon feature lines must have the same attribute, and exons"
echo " must have a corresponding gene with the same value. For TCR/BCR assays,"
echo " the TCR or BCR gene segments must have the 'gene_type' or"
echo " 'gene_biotype' attribute set, and the value should begin with 'TR' or"
echo " 'IG', respectively."
echo ""
echo " --extra_sequences"
echo " type: file, multiple values allowed, file must exist"
echo " File path to additional sequences in FASTA format to use when building"
echo " the STAR index. (e.g. transgenes or CRISPR guide barcodes)."
echo " GTF lines for these sequences will be automatically generated and"
echo " combined with the main GTF."
echo ""
echo "Outputs:"
echo " --reference_archive"
echo " type: file, required parameter, output, file must exist"
echo " example: star_index.tar.gz"
echo " A Compressed archive containing the Reference Genome Index and"
echo " annotation GTF files. This archive is meant to be used as an"
echo " input in the BD Rhapsody Sequencing Analysis Pipeline."
echo ""
echo "Arguments:"
echo " --mitochondrial_contigs"
echo " type: string, multiple values allowed"
echo " default: chrM;chrMT;M;MT"
echo " Names of the Mitochondrial contigs in the provided Reference Genome."
echo " Fragments originating from contigs other than these are"
echo " identified as 'nuclear fragments' in the ATACseq analysis pipeline."
echo ""
echo " --filtering_off"
echo " type: boolean_true"
echo " By default the input Transcript Annotation files are filtered based on"
echo " the gene_type/gene_biotype attribute. Only features"
echo " having the following attribute values are kept:"
echo " - protein_coding"
echo " - lncRNA (lincRNA and antisense for Gencode < v31/M22/Ensembl97)"
echo " - IG_LV_gene"
echo " - IG_V_gene"
echo " - IG_V_pseudogene"
echo " - IG_D_gene"
echo " - IG_J_gene"
echo " - IG_J_pseudogene"
echo " - IG_C_gene"
echo " - IG_C_pseudogene"
echo " - TR_V_gene"
echo " - TR_V_pseudogene"
echo " - TR_D_gene"
echo " - TR_J_gene"
echo " - TR_J_pseudogene"
echo " - TR_C_gene"
echo " If you have already pre-filtered the input Annotation files and/or"
echo " wish to turn-off the filtering, please set this option to True."
echo ""
echo " --wta_only_index"
echo " type: boolean_true"
echo " Build a WTA only index, otherwise builds a WTA + ATAC index."
echo ""
echo " --extra_star_params"
echo " type: string"
echo " example: --limitGenomeGenerateRAM 48000 --genomeSAindexNbases 11"
echo " Additional parameters to pass to STAR when building the genome index."
echo " Specify exactly like how you would on the command line."
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
echo " ---memory=STRING"
echo " Amount of memory to use. Examples: 4GB, 3MiB."
echo ""
echo "Viash built in Docker:"
echo " ---setup=STRATEGY"
echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing."
echo " Default: ifneedbepullelsecachedbuild"
echo " ---dockerfile"
echo " Print the dockerfile to stdout."
echo " ---docker_run_args=ARG"
echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information."
echo " ---docker_image_id"
echo " Print the docker image id to stdout."
echo " ---debug"
echo " Enter the docker container for debugging purposes."
echo ""
echo "Viash built in Engines:"
echo " ---engine=ENGINE_ID"
echo " Specify the engine to use. Options are: docker, native."
echo " Default: docker"
}
# initialise array
VIASH_POSITIONAL_ARGS=''

View File

@@ -989,6 +989,9 @@ test_resources:
path: "helpers"
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -1114,16 +1117,16 @@ build_info:
engine: "docker|native"
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: "952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-27-g952ff08"
viash_version: "0.9.2"
git_commit: "5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.2.0-30-g5f6516e"
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"
viash_version: "0.9.2"
source: "src"
target: "target"
config_mods:

View File

@@ -2,7 +2,7 @@
# bd_rhapsody_sequence_analysis main
#
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
# This wrapper script is auto-generated by viash 0.9.2 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
# Intuitive.
#
@@ -173,6 +173,416 @@ VIASH_META_CONFIG="$VIASH_META_RESOURCES_DIR/.config.vsh.yaml"
VIASH_META_TEMP_DIR="$VIASH_TEMP"
# initialise variables
VIASH_MODE='run'
VIASH_ENGINE_ID='docker'
######## Helper functions for setting up Docker images for viash ########
# expects: ViashDockerBuild
# ViashDockerInstallationCheck: check whether Docker is installed correctly
#
# examples:
# ViashDockerInstallationCheck
function ViashDockerInstallationCheck {
ViashDebug "Checking whether Docker is installed"
if [ ! command -v docker &> /dev/null ]; then
ViashCritical "Docker doesn't seem to be installed. See 'https://docs.docker.com/get-docker/' for instructions."
exit 1
fi
ViashDebug "Checking whether the Docker daemon is running"
local save=$-; set +e
local docker_version=$(docker version --format '{{.Client.APIVersion}}' 2> /dev/null)
local out=$?
[[ $save =~ e ]] && set -e
if [ $out -ne 0 ]; then
ViashCritical "Docker daemon does not seem to be running. Try one of the following:"
ViashCritical "- Try running 'dockerd' in the command line"
ViashCritical "- See https://docs.docker.com/config/daemon/"
exit 1
fi
}
# ViashDockerRemoteTagCheck: check whether a Docker image is available
# on a remote. Assumes `docker login` has been performed, if relevant.
#
# $1 : image identifier with format `[registry/]image[:tag]`
# exit code $? : whether or not the image was found
# examples:
# ViashDockerRemoteTagCheck python:latest
# echo $? # returns '0'
# ViashDockerRemoteTagCheck sdaizudceahifu
# echo $? # returns '1'
function ViashDockerRemoteTagCheck {
docker manifest inspect $1 > /dev/null 2> /dev/null
}
# ViashDockerLocalTagCheck: check whether a Docker image is available locally
#
# $1 : image identifier with format `[registry/]image[:tag]`
# exit code $? : whether or not the image was found
# examples:
# docker pull python:latest
# ViashDockerLocalTagCheck python:latest
# echo $? # returns '0'
# ViashDockerLocalTagCheck sdaizudceahifu
# echo $? # returns '1'
function ViashDockerLocalTagCheck {
[ -n "$(docker images -q $1)" ]
}
# ViashDockerPull: pull a Docker image
#
# $1 : image identifier with format `[registry/]image[:tag]`
# exit code $? : whether or not the image was found
# examples:
# ViashDockerPull python:latest
# echo $? # returns '0'
# ViashDockerPull sdaizudceahifu
# echo $? # returns '1'
function ViashDockerPull {
ViashNotice "Checking if Docker image is available at '$1'"
if [ $VIASH_VERBOSITY -ge $VIASH_LOGCODE_INFO ]; then
docker pull $1 && return 0 || return 1
else
local save=$-; set +e
docker pull $1 2> /dev/null > /dev/null
local out=$?
[[ $save =~ e ]] && set -e
if [ $out -ne 0 ]; then
ViashWarning "Could not pull from '$1'. Docker image doesn't exist or is not accessible."
fi
return $out
fi
}
# ViashDockerPush: push a Docker image
#
# $1 : image identifier with format `[registry/]image[:tag]`
# exit code $? : whether or not the image was found
# examples:
# ViashDockerPush python:latest
# echo $? # returns '0'
# ViashDockerPush sdaizudceahifu
# echo $? # returns '1'
function ViashDockerPush {
ViashNotice "Pushing image to '$1'"
local save=$-; set +e
local out
if [ $VIASH_VERBOSITY -ge $VIASH_LOGCODE_INFO ]; then
docker push $1
out=$?
else
docker push $1 2> /dev/null > /dev/null
out=$?
fi
[[ $save =~ e ]] && set -e
if [ $out -eq 0 ]; then
ViashNotice "Container '$1' push succeeded."
else
ViashError "Container '$1' push errored. You might not be logged in or have the necessary permissions."
fi
return $out
}
# ViashDockerPullElseBuild: pull a Docker image, else build it
#
# $1 : image identifier with format `[registry/]image[:tag]`
# ViashDockerBuild : a Bash function which builds a docker image, takes image identifier as argument.
# examples:
# ViashDockerPullElseBuild mynewcomponent
function ViashDockerPullElseBuild {
local save=$-; set +e
ViashDockerPull $1
local out=$?
[[ $save =~ e ]] && set -e
if [ $out -ne 0 ]; then
ViashDockerBuild $@
fi
}
# ViashDockerSetup: create a Docker image, according to specified docker setup strategy
#
# $1 : image identifier with format `[registry/]image[:tag]`
# $2 : docker setup strategy, see DockerSetupStrategy.scala
# examples:
# ViashDockerSetup mynewcomponent alwaysbuild
function ViashDockerSetup {
local image_id="$1"
local setup_strategy="$2"
if [ "$setup_strategy" == "alwaysbuild" -o "$setup_strategy" == "build" -o "$setup_strategy" == "b" ]; then
ViashDockerBuild $image_id --no-cache $(ViashDockerBuildArgs "$engine_id")
elif [ "$setup_strategy" == "alwayspull" -o "$setup_strategy" == "pull" -o "$setup_strategy" == "p" ]; then
ViashDockerPull $image_id
elif [ "$setup_strategy" == "alwayspullelsebuild" -o "$setup_strategy" == "pullelsebuild" ]; then
ViashDockerPullElseBuild $image_id --no-cache $(ViashDockerBuildArgs "$engine_id")
elif [ "$setup_strategy" == "alwayspullelsecachedbuild" -o "$setup_strategy" == "pullelsecachedbuild" ]; then
ViashDockerPullElseBuild $image_id $(ViashDockerBuildArgs "$engine_id")
elif [ "$setup_strategy" == "alwayscachedbuild" -o "$setup_strategy" == "cachedbuild" -o "$setup_strategy" == "cb" ]; then
ViashDockerBuild $image_id $(ViashDockerBuildArgs "$engine_id")
elif [[ "$setup_strategy" =~ ^ifneedbe ]]; then
local save=$-; set +e
ViashDockerLocalTagCheck $image_id
local outCheck=$?
[[ $save =~ e ]] && set -e
if [ $outCheck -eq 0 ]; then
ViashInfo "Image $image_id already exists"
elif [ "$setup_strategy" == "ifneedbebuild" ]; then
ViashDockerBuild $image_id --no-cache $(ViashDockerBuildArgs "$engine_id")
elif [ "$setup_strategy" == "ifneedbecachedbuild" ]; then
ViashDockerBuild $image_id $(ViashDockerBuildArgs "$engine_id")
elif [ "$setup_strategy" == "ifneedbepull" ]; then
ViashDockerPull $image_id
elif [ "$setup_strategy" == "ifneedbepullelsebuild" ]; then
ViashDockerPullElseBuild $image_id --no-cache $(ViashDockerBuildArgs "$engine_id")
elif [ "$setup_strategy" == "ifneedbepullelsecachedbuild" ]; then
ViashDockerPullElseBuild $image_id $(ViashDockerBuildArgs "$engine_id")
else
ViashError "Unrecognised Docker strategy: $setup_strategy"
exit 1
fi
elif [ "$setup_strategy" == "push" -o "$setup_strategy" == "forcepush" -o "$setup_strategy" == "alwayspush" ]; then
ViashDockerPush "$image_id"
elif [ "$setup_strategy" == "pushifnotpresent" -o "$setup_strategy" == "gentlepush" -o "$setup_strategy" == "maybepush" ]; then
local save=$-; set +e
ViashDockerRemoteTagCheck $image_id
local outCheck=$?
[[ $save =~ e ]] && set -e
if [ $outCheck -eq 0 ]; then
ViashNotice "Container '$image_id' exists, doing nothing."
else
ViashNotice "Container '$image_id' does not yet exist."
ViashDockerPush "$image_id"
fi
elif [ "$setup_strategy" == "donothing" -o "$setup_strategy" == "meh" ]; then
ViashNotice "Skipping setup."
else
ViashError "Unrecognised Docker strategy: $setup_strategy"
exit 1
fi
}
# ViashDockerCheckCommands: Check whether a docker container has the required commands
#
# $1 : image identifier with format `[registry/]image[:tag]`
# $@ : commands to verify being present
# examples:
# ViashDockerCheckCommands bash:4.0 bash ps foo
function ViashDockerCheckCommands {
local image_id="$1"
shift 1
local commands="$@"
local save=$-; set +e
local missing # mark 'missing' as local in advance, otherwise the exit code of the command will be missing and always be '0'
missing=$(docker run --rm --entrypoint=sh "$image_id" -c "for command in $commands; do command -v \$command >/dev/null 2>&1; if [ \$? -ne 0 ]; then echo \$command; exit 1; fi; done")
local outCheck=$?
[[ $save =~ e ]] && set -e
if [ $outCheck -ne 0 ]; then
ViashError "Docker container '$image_id' does not contain command '$missing'."
exit 1
fi
}
# ViashDockerBuild: build a docker image
# $1 : image identifier with format `[registry/]image[:tag]`
# $... : additional arguments to pass to docker build
# $VIASH_META_TEMP_DIR : temporary directory to store dockerfile & optional resources in
# $VIASH_META_NAME : name of the component
# $VIASH_META_RESOURCES_DIR : directory containing the resources
# $VIASH_VERBOSITY : verbosity level
# exit code $? : whether or not the image was built successfully
function ViashDockerBuild {
local image_id="$1"
shift 1
# create temporary directory to store dockerfile & optional resources in
local tmpdir=$(mktemp -d "$VIASH_META_TEMP_DIR/dockerbuild-$VIASH_META_NAME-XXXXXX")
local dockerfile="$tmpdir/Dockerfile"
function clean_up {
rm -rf "$tmpdir"
}
trap clean_up EXIT
# store dockerfile and resources
ViashDockerfile "$VIASH_ENGINE_ID" > "$dockerfile"
# generate the build command
local docker_build_cmd="docker build -t '$image_id' $@ '$VIASH_META_RESOURCES_DIR' -f '$dockerfile'"
# build the container
ViashNotice "Building container '$image_id' with Dockerfile"
ViashInfo "$docker_build_cmd"
local save=$-; set +e
if [ $VIASH_VERBOSITY -ge $VIASH_LOGCODE_INFO ]; then
eval $docker_build_cmd
else
eval $docker_build_cmd &> "$tmpdir/docker_build.log"
fi
# check exit code
local out=$?
[[ $save =~ e ]] && set -e
if [ $out -ne 0 ]; then
ViashError "Error occurred while building container '$image_id'"
if [ $VIASH_VERBOSITY -lt $VIASH_LOGCODE_INFO ]; then
ViashError "Transcript: --------------------------------"
cat "$tmpdir/docker_build.log"
ViashError "End of transcript --------------------------"
fi
exit 1
fi
}
######## End of helper functions for setting up Docker images for viash ########
# ViashDockerFile: print the dockerfile to stdout
# $1 : engine identifier
# return : dockerfile required to run this component
# examples:
# ViashDockerFile
function ViashDockerfile {
local engine_id="$1"
if [[ "$engine_id" == "docker" ]]; then
cat << 'VIASHDOCKER'
FROM bdgenomics/rhapsody:2.2.1
ENTRYPOINT []
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y procps git && \
rm -rf /var/lib/apt/lists/*
RUN pip install --upgrade pip && \
pip install --upgrade --no-cache-dir "cwlref-runner" "cwl-runner"
RUN mkdir /var/bd_rhapsody_cwl && \
cd /var/bd_rhapsody_cwl && \
git clone https://bitbucket.org/CRSwDev/cwl.git . && \
git checkout 8feeace1141b24749ea6003f8e6ad6d3ad5232de
RUN VERSION=$(ls -v /var/bd_rhapsody_cwl | grep '^v' | sed 's#v##' | tail -1)
RUN echo "bdgenomics/rhapsody: \"$VERSION\"" > /var/software_versions.txt
LABEL org.opencontainers.image.authors="Robrecht Cannoodt, Weiwei Schultz"
LABEL org.opencontainers.image.description="Companion container for running component bd_rhapsody bd_rhapsody_sequence_analysis"
LABEL org.opencontainers.image.created="2025-03-06T09:19:41Z"
LABEL org.opencontainers.image.source="https://bitbucket.org/CRSwDev/cwl/src/master/v2.2.1"
LABEL org.opencontainers.image.revision="5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
fi
}
# ViashDockerBuildArgs: return the arguments to pass to docker build
# $1 : engine identifier
# return : arguments to pass to docker build
function ViashDockerBuildArgs {
local engine_id="$1"
if [[ "$engine_id" == "docker" ]]; then
echo ""
fi
}
# ViashAbsolutePath: generate absolute path from relative path
# borrowed from https://stackoverflow.com/a/21951256
# $1 : relative filename
# return : absolute path
# examples:
# ViashAbsolutePath some_file.txt # returns /path/to/some_file.txt
# ViashAbsolutePath /foo/bar/.. # returns /foo
function ViashAbsolutePath {
local thePath
local parr
local outp
local len
if [[ ! "$1" =~ ^/ ]]; then
thePath="$PWD/$1"
else
thePath="$1"
fi
echo "$thePath" | (
IFS=/
read -a parr
declare -a outp
for i in "${parr[@]}"; do
case "$i" in
''|.) continue ;;
..)
len=${#outp[@]}
if ((len==0)); then
continue
else
unset outp[$((len-1))]
fi
;;
*)
len=${#outp[@]}
outp[$len]="$i"
;;
esac
done
echo /"${outp[*]}"
)
}
# ViashDockerAutodetectMount: auto configuring docker mounts from parameters
# $1 : The parameter value
# returns : New parameter
# $VIASH_DIRECTORY_MOUNTS : Added another parameter to be passed to docker
# $VIASH_DOCKER_AUTOMOUNT_PREFIX : The prefix to be used for the automounts
# examples:
# ViashDockerAutodetectMount /path/to/bar # returns '/viash_automount/path/to/bar'
# ViashDockerAutodetectMountArg /path/to/bar # returns '--volume="/path/to:/viash_automount/path/to"'
function ViashDockerAutodetectMount {
local abs_path=$(ViashAbsolutePath "$1")
local mount_source
local base_name
if [ -d "$abs_path" ]; then
mount_source="$abs_path"
base_name=""
else
mount_source=`dirname "$abs_path"`
base_name=`basename "$abs_path"`
fi
local mount_target="$VIASH_DOCKER_AUTOMOUNT_PREFIX$mount_source"
if [ -z "$base_name" ]; then
echo "$mount_target"
else
echo "$mount_target/$base_name"
fi
}
function ViashDockerAutodetectMountArg {
local abs_path=$(ViashAbsolutePath "$1")
local mount_source
local base_name
if [ -d "$abs_path" ]; then
mount_source="$abs_path"
base_name=""
else
mount_source=`dirname "$abs_path"`
base_name=`basename "$abs_path"`
fi
local mount_target="$VIASH_DOCKER_AUTOMOUNT_PREFIX$mount_source"
ViashDebug "ViashDockerAutodetectMountArg $1 -> $mount_source -> $mount_target"
echo "--volume=\"$mount_source:$mount_target\""
}
function ViashDockerStripAutomount {
local abs_path=$(ViashAbsolutePath "$1")
echo "${abs_path#$VIASH_DOCKER_AUTOMOUNT_PREFIX}"
}
# initialise variables
VIASH_DIRECTORY_MOUNTS=()
# configure default docker automount prefix if it is unset
if [ -z "${VIASH_DOCKER_AUTOMOUNT_PREFIX+x}" ]; then
VIASH_DOCKER_AUTOMOUNT_PREFIX="/viash_automount"
fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "bd_rhapsody_sequence_analysis main"
@@ -661,416 +1071,32 @@ function ViashHelp {
echo ""
echo " --write_filtered_reads"
echo " type: boolean"
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
echo " ---memory=STRING"
echo " Amount of memory to use. Examples: 4GB, 3MiB."
echo ""
echo "Viash built in Docker:"
echo " ---setup=STRATEGY"
echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing."
echo " Default: ifneedbepullelsecachedbuild"
echo " ---dockerfile"
echo " Print the dockerfile to stdout."
echo " ---docker_run_args=ARG"
echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information."
echo " ---docker_image_id"
echo " Print the docker image id to stdout."
echo " ---debug"
echo " Enter the docker container for debugging purposes."
echo ""
echo "Viash built in Engines:"
echo " ---engine=ENGINE_ID"
echo " Specify the engine to use. Options are: docker, native."
echo " Default: docker"
}
# initialise 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 bdgenomics/rhapsody:2.2.1
ENTRYPOINT []
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y procps git && \
rm -rf /var/lib/apt/lists/*
RUN pip install --upgrade pip && \
pip install --upgrade --no-cache-dir "cwlref-runner" "cwl-runner"
RUN mkdir /var/bd_rhapsody_cwl && \
cd /var/bd_rhapsody_cwl && \
git clone https://bitbucket.org/CRSwDev/cwl.git . && \
git checkout 8feeace1141b24749ea6003f8e6ad6d3ad5232de
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-12-03T10:34:04Z"
LABEL org.opencontainers.image.source="https://bitbucket.org/CRSwDev/cwl/src/master/v2.2.1"
LABEL org.opencontainers.image.revision="952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
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=''

View File

@@ -124,6 +124,9 @@ test_resources:
path: "test_data"
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -234,16 +237,16 @@ build_info:
engine: "docker|native"
output: "target/executable/bedtools/bedtools_bamtobed"
executable: "target/executable/bedtools/bedtools_bamtobed/bedtools_bamtobed"
viash_version: "0.9.0"
git_commit: "952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-27-g952ff08"
viash_version: "0.9.2"
git_commit: "5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.2.0-30-g5f6516e"
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"
viash_version: "0.9.2"
source: "src"
target: "target"
config_mods:

View File

@@ -2,7 +2,7 @@
# bedtools_bamtobed main
#
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
# This wrapper script is auto-generated by viash 0.9.2 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
# Intuitive.
#
@@ -172,72 +172,6 @@ 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 "bedtools_bamtobed main"
echo ""
echo "Converts BAM alignments to BED6 or BEDPE format."
echo ""
echo "Inputs:"
echo " -i, --input"
echo " type: file, required parameter, file must exist"
echo " Input BAM file."
echo ""
echo "Outputs:"
echo " -o, --output"
echo " type: file, required parameter, output, file must exist"
echo " Output BED file."
echo ""
echo "Options:"
echo " --bedpe"
echo " type: boolean_true"
echo " Write BEDPE format. Requires BAM to be grouped or sorted by query."
echo ""
echo " --mate1"
echo " type: boolean_true"
echo " When writing BEDPE (-bedpe) format, always report mate one as the first"
echo " BEDPE \"block\"."
echo ""
echo " --bed12"
echo " type: boolean_true"
echo " Write \"blocked\" BED format (aka \"BED12\"). Forces -split."
echo " See http://genome-test.cse.ucsc.edu/FAQ/FAQformat#format1"
echo ""
echo " --split"
echo " type: boolean_true"
echo " Report \"split\" BAM alignments as separate BED entries."
echo " Splits only on N CIGAR operations."
echo ""
echo " --splitD"
echo " type: boolean_true"
echo " Split alignments based on N and D CIGAR operators."
echo " Forces -split."
echo ""
echo " -ed, --edit_distance"
echo " type: boolean_true"
echo " Use BAM edit distance (NM tag) for BED score."
echo " - Default for BED is to use mapping quality."
echo " - Default for BEDPE is to use the minimum of"
echo " the two mapping qualities for the pair."
echo " - When -ed is used with -bedpe, the total edit"
echo " distance from the two mates is reported."
echo ""
echo " --tag"
echo " type: string"
echo " example: SM"
echo " Use other NUMERIC BAM alignment tag for BED score."
echo " Default for BED is to use mapping quality. Disallowed with BEDPE output."
echo ""
echo " --color"
echo " type: string"
echo " example: 250,250,250"
echo " An R,G,B string for the color used with BED12 format."
echo " Default is (255,0,0)."
echo ""
echo " --cigar"
echo " type: boolean_true"
echo " Add the CIGAR string to the BED entry as a 7th column."
}
# initialise variables
VIASH_MODE='run'
@@ -522,9 +456,9 @@ RUN echo "bedtools: \"$(bedtools --version | sed -n 's/^bedtools //p')\"" > /var
LABEL org.opencontainers.image.authors="Theodoro Gasperin Terra Camargo"
LABEL org.opencontainers.image.description="Companion container for running component bedtools bedtools_bamtobed"
LABEL org.opencontainers.image.created="2024-12-03T10:34:01Z"
LABEL org.opencontainers.image.created="2025-03-06T09:19:42Z"
LABEL org.opencontainers.image.source="https://github.com/arq5x/bedtools2"
LABEL org.opencontainers.image.revision="952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
LABEL org.opencontainers.image.revision="5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
@@ -639,6 +573,98 @@ fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "bedtools_bamtobed main"
echo ""
echo "Converts BAM alignments to BED6 or BEDPE format."
echo ""
echo "Inputs:"
echo " -i, --input"
echo " type: file, required parameter, file must exist"
echo " Input BAM file."
echo ""
echo "Outputs:"
echo " -o, --output"
echo " type: file, required parameter, output, file must exist"
echo " Output BED file."
echo ""
echo "Options:"
echo " --bedpe"
echo " type: boolean_true"
echo " Write BEDPE format. Requires BAM to be grouped or sorted by query."
echo ""
echo " --mate1"
echo " type: boolean_true"
echo " When writing BEDPE (-bedpe) format, always report mate one as the first"
echo " BEDPE \"block\"."
echo ""
echo " --bed12"
echo " type: boolean_true"
echo " Write \"blocked\" BED format (aka \"BED12\"). Forces -split."
echo " See http://genome-test.cse.ucsc.edu/FAQ/FAQformat#format1"
echo ""
echo " --split"
echo " type: boolean_true"
echo " Report \"split\" BAM alignments as separate BED entries."
echo " Splits only on N CIGAR operations."
echo ""
echo " --splitD"
echo " type: boolean_true"
echo " Split alignments based on N and D CIGAR operators."
echo " Forces -split."
echo ""
echo " -ed, --edit_distance"
echo " type: boolean_true"
echo " Use BAM edit distance (NM tag) for BED score."
echo " - Default for BED is to use mapping quality."
echo " - Default for BEDPE is to use the minimum of"
echo " the two mapping qualities for the pair."
echo " - When -ed is used with -bedpe, the total edit"
echo " distance from the two mates is reported."
echo ""
echo " --tag"
echo " type: string"
echo " example: SM"
echo " Use other NUMERIC BAM alignment tag for BED score."
echo " Default for BED is to use mapping quality. Disallowed with BEDPE output."
echo ""
echo " --color"
echo " type: string"
echo " example: 250,250,250"
echo " An R,G,B string for the color used with BED12 format."
echo " Default is (255,0,0)."
echo ""
echo " --cigar"
echo " type: boolean_true"
echo " Add the CIGAR string to the BED entry as a 7th column."
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
echo " ---memory=STRING"
echo " Amount of memory to use. Examples: 4GB, 3MiB."
echo ""
echo "Viash built in Docker:"
echo " ---setup=STRATEGY"
echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing."
echo " Default: ifneedbepullelsecachedbuild"
echo " ---dockerfile"
echo " Print the dockerfile to stdout."
echo " ---docker_run_args=ARG"
echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information."
echo " ---docker_image_id"
echo " Print the docker image id to stdout."
echo " ---debug"
echo " Enter the docker container for debugging purposes."
echo ""
echo "Viash built in Engines:"
echo " ---engine=ENGINE_ID"
echo " Specify the engine to use. Options are: docker, native."
echo " Default: docker"
}
# initialise array
VIASH_POSITIONAL_ARGS=''

View File

@@ -78,6 +78,9 @@ test_resources:
path: "test_data"
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -186,16 +189,16 @@ build_info:
engine: "docker|native"
output: "target/executable/bedtools/bedtools_bamtofastq"
executable: "target/executable/bedtools/bedtools_bamtofastq/bedtools_bamtofastq"
viash_version: "0.9.0"
git_commit: "952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-27-g952ff08"
viash_version: "0.9.2"
git_commit: "5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.2.0-30-g5f6516e"
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"
viash_version: "0.9.2"
source: "src"
target: "target"
config_mods:

View File

@@ -2,7 +2,7 @@
# bedtools_bamtofastq main
#
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
# This wrapper script is auto-generated by viash 0.9.2 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
# Intuitive.
#
@@ -172,33 +172,6 @@ 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 "bedtools_bamtofastq main"
echo ""
echo "Conversion tool for extracting FASTQ records from sequence alignments in BAM"
echo "format."
echo ""
echo "Inputs:"
echo " -i, --input"
echo " type: file, required parameter, file must exist"
echo " Input BAM file to be converted to FASTQ."
echo ""
echo "Outputs:"
echo " -fq, --fastq"
echo " type: file, required parameter, output, file must exist"
echo " Output FASTQ file."
echo ""
echo " -fq2, --fastq2"
echo " type: file, output, file must exist"
echo " FASTQ for second end. Used if BAM contains paired-end data."
echo " BAM should be sorted by query name is creating paired FASTQ."
echo ""
echo "Options:"
echo " --tags"
echo " type: boolean_true"
echo " Create FASTQ based on the mate info in the BAM R2 and Q2 tags."
}
# initialise variables
VIASH_MODE='run'
@@ -483,9 +456,9 @@ RUN echo "bedtools: \"$(bedtools --version | sed -n 's/^bedtools //p')\"" > /var
LABEL org.opencontainers.image.authors="Theodoro Gasperin Terra Camargo"
LABEL org.opencontainers.image.description="Companion container for running component bedtools bedtools_bamtofastq"
LABEL org.opencontainers.image.created="2024-12-03T10:34:02Z"
LABEL org.opencontainers.image.created="2025-03-06T09:19:42Z"
LABEL org.opencontainers.image.source="https://github.com/arq5x/bedtools2"
LABEL org.opencontainers.image.revision="952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
LABEL org.opencontainers.image.revision="5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
@@ -600,6 +573,59 @@ fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "bedtools_bamtofastq main"
echo ""
echo "Conversion tool for extracting FASTQ records from sequence alignments in BAM"
echo "format."
echo ""
echo "Inputs:"
echo " -i, --input"
echo " type: file, required parameter, file must exist"
echo " Input BAM file to be converted to FASTQ."
echo ""
echo "Outputs:"
echo " -fq, --fastq"
echo " type: file, required parameter, output, file must exist"
echo " Output FASTQ file."
echo ""
echo " -fq2, --fastq2"
echo " type: file, output, file must exist"
echo " FASTQ for second end. Used if BAM contains paired-end data."
echo " BAM should be sorted by query name is creating paired FASTQ."
echo ""
echo "Options:"
echo " --tags"
echo " type: boolean_true"
echo " Create FASTQ based on the mate info in the BAM R2 and Q2 tags."
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
echo " ---memory=STRING"
echo " Amount of memory to use. Examples: 4GB, 3MiB."
echo ""
echo "Viash built in Docker:"
echo " ---setup=STRATEGY"
echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing."
echo " Default: ifneedbepullelsecachedbuild"
echo " ---dockerfile"
echo " Print the dockerfile to stdout."
echo " ---docker_run_args=ARG"
echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information."
echo " ---docker_image_id"
echo " Print the docker image id to stdout."
echo " ---debug"
echo " Enter the docker container for debugging purposes."
echo ""
echo "Viash built in Engines:"
echo " ---engine=ENGINE_ID"
echo " Specify the engine to use. Options are: docker, native."
echo " Default: docker"
}
# initialise array
VIASH_POSITIONAL_ARGS=''

View File

@@ -67,6 +67,9 @@ test_resources:
is_executable: true
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -175,16 +178,16 @@ build_info:
engine: "docker|native"
output: "target/executable/bedtools/bedtools_bed12tobed6"
executable: "target/executable/bedtools/bedtools_bed12tobed6/bedtools_bed12tobed6"
viash_version: "0.9.0"
git_commit: "952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-27-g952ff08"
viash_version: "0.9.2"
git_commit: "5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.2.0-30-g5f6516e"
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"
viash_version: "0.9.2"
source: "src"
target: "target"
config_mods:

View File

@@ -2,7 +2,7 @@
# bedtools_bed12tobed6 main
#
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
# This wrapper script is auto-generated by viash 0.9.2 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
# Intuitive.
#
@@ -172,30 +172,6 @@ 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 "bedtools_bed12tobed6 main"
echo ""
echo "Converts BED features in BED12 (a.k.a. “blocked” BED features such as genes) to"
echo "discrete BED6 features."
echo "For example, in the case of a gene with six exons, bed12ToBed6 would create six"
echo "separate BED6 features (i.e., one for each exon)."
echo ""
echo "Inputs:"
echo " -i, --input"
echo " type: file, required parameter, file must exist"
echo " Input BED12 file."
echo ""
echo "Outputs:"
echo " -o, --output"
echo " type: file, output, file must exist"
echo " Output BED6 file to be written."
echo ""
echo "Options:"
echo " -n, --n_score"
echo " type: boolean_true"
echo " Force the score to be the (1-based) block number from the BED12."
}
# initialise variables
VIASH_MODE='run'
@@ -480,9 +456,9 @@ RUN echo "bedtools: \"$(bedtools --version | sed -n 's/^bedtools //p')\"" > /var
LABEL org.opencontainers.image.authors="Theodoro Gasperin Terra Camargo"
LABEL org.opencontainers.image.description="Companion container for running component bedtools bedtools_bed12tobed6"
LABEL org.opencontainers.image.created="2024-12-03T10:34:03Z"
LABEL org.opencontainers.image.created="2025-03-06T09:19:44Z"
LABEL org.opencontainers.image.source="https://github.com/arq5x/bedtools2"
LABEL org.opencontainers.image.revision="952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
LABEL org.opencontainers.image.revision="5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
@@ -597,6 +573,56 @@ fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "bedtools_bed12tobed6 main"
echo ""
echo "Converts BED features in BED12 (a.k.a. “blocked” BED features such as genes) to"
echo "discrete BED6 features."
echo "For example, in the case of a gene with six exons, bed12ToBed6 would create six"
echo "separate BED6 features (i.e., one for each exon)."
echo ""
echo "Inputs:"
echo " -i, --input"
echo " type: file, required parameter, file must exist"
echo " Input BED12 file."
echo ""
echo "Outputs:"
echo " -o, --output"
echo " type: file, output, file must exist"
echo " Output BED6 file to be written."
echo ""
echo "Options:"
echo " -n, --n_score"
echo " type: boolean_true"
echo " Force the score to be the (1-based) block number from the BED12."
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
echo " ---memory=STRING"
echo " Amount of memory to use. Examples: 4GB, 3MiB."
echo ""
echo "Viash built in Docker:"
echo " ---setup=STRATEGY"
echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing."
echo " Default: ifneedbepullelsecachedbuild"
echo " ---dockerfile"
echo " Print the dockerfile to stdout."
echo " ---docker_run_args=ARG"
echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information."
echo " ---docker_image_id"
echo " Print the docker image id to stdout."
echo " ---debug"
echo " Enter the docker container for debugging purposes."
echo ""
echo "Viash built in Engines:"
echo " ---engine=ENGINE_ID"
echo " Specify the engine to use. Options are: docker, native."
echo " Default: docker"
}
# initialise array
VIASH_POSITIONAL_ARGS=''

View File

@@ -98,6 +98,9 @@ test_resources:
is_executable: true
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -213,16 +216,16 @@ build_info:
engine: "docker|native"
output: "target/executable/bedtools/bedtools_bedtobam"
executable: "target/executable/bedtools/bedtools_bedtobam/bedtools_bedtobam"
viash_version: "0.9.0"
git_commit: "952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-27-g952ff08"
viash_version: "0.9.2"
git_commit: "5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.2.0-30-g5f6516e"
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"
viash_version: "0.9.2"
source: "src"
target: "target"
config_mods:

View File

@@ -2,7 +2,7 @@
# bedtools_bedtobam main
#
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
# This wrapper script is auto-generated by viash 0.9.2 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
# Intuitive.
#
@@ -172,46 +172,6 @@ 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 "bedtools_bedtobam main"
echo ""
echo "Converts feature records (bed/gff/vcf) to BAM format."
echo ""
echo "Inputs:"
echo " -i, --input"
echo " type: file, required parameter, file must exist"
echo " Input file (bed/gff/vcf)."
echo ""
echo " -g, --genome"
echo " type: file, required parameter, file must exist"
echo " Input genome file."
echo " NOTE: This is not a fasta file. This is a two-column tab-delimited file"
echo " where the first column is the chromosome name and the second their"
echo " sizes."
echo ""
echo "Outputs:"
echo " -o, --output"
echo " type: file, output, file must exist"
echo " Output BAM file to be written."
echo ""
echo "Options:"
echo " -mapq, --map_quality"
echo " type: integer"
echo " default: 255"
echo " min: 0"
echo " max: 255"
echo " Set the mappinq quality for the BAM records."
echo ""
echo " --bed12"
echo " type: boolean_true"
echo " The BED file is in BED12 format. The BAM CIGAR"
echo " string will reflect BED \"blocks\"."
echo ""
echo " -ubam, --uncompress_bam"
echo " type: boolean_true"
echo " Write uncompressed BAM output. Default writes compressed BAM."
}
# initialise variables
VIASH_MODE='run'
@@ -496,9 +456,9 @@ RUN echo "bedtools: \"$(bedtools --version | sed -n 's/^bedtools //p')\"" > /var
LABEL org.opencontainers.image.authors="Theodoro Gasperin Terra Camargo"
LABEL org.opencontainers.image.description="Companion container for running component bedtools bedtools_bedtobam"
LABEL org.opencontainers.image.created="2024-12-03T10:34:04Z"
LABEL org.opencontainers.image.created="2025-03-06T09:19:43Z"
LABEL org.opencontainers.image.source="https://github.com/arq5x/bedtools2"
LABEL org.opencontainers.image.revision="952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
LABEL org.opencontainers.image.revision="5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
@@ -613,6 +573,72 @@ fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "bedtools_bedtobam main"
echo ""
echo "Converts feature records (bed/gff/vcf) to BAM format."
echo ""
echo "Inputs:"
echo " -i, --input"
echo " type: file, required parameter, file must exist"
echo " Input file (bed/gff/vcf)."
echo ""
echo " -g, --genome"
echo " type: file, required parameter, file must exist"
echo " Input genome file."
echo " NOTE: This is not a fasta file. This is a two-column tab-delimited file"
echo " where the first column is the chromosome name and the second their"
echo " sizes."
echo ""
echo "Outputs:"
echo " -o, --output"
echo " type: file, output, file must exist"
echo " Output BAM file to be written."
echo ""
echo "Options:"
echo " -mapq, --map_quality"
echo " type: integer"
echo " default: 255"
echo " min: 0"
echo " max: 255"
echo " Set the mappinq quality for the BAM records."
echo ""
echo " --bed12"
echo " type: boolean_true"
echo " The BED file is in BED12 format. The BAM CIGAR"
echo " string will reflect BED \"blocks\"."
echo ""
echo " -ubam, --uncompress_bam"
echo " type: boolean_true"
echo " Write uncompressed BAM output. Default writes compressed BAM."
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
echo " ---memory=STRING"
echo " Amount of memory to use. Examples: 4GB, 3MiB."
echo ""
echo "Viash built in Docker:"
echo " ---setup=STRATEGY"
echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing."
echo " Default: ifneedbepullelsecachedbuild"
echo " ---dockerfile"
echo " Print the dockerfile to stdout."
echo " ---docker_run_args=ARG"
echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information."
echo " ---docker_image_id"
echo " Print the docker image id to stdout."
echo " ---debug"
echo " Enter the docker container for debugging purposes."
echo ""
echo "Viash built in Engines:"
echo " ---engine=ENGINE_ID"
echo " Specify the engine to use. Options are: docker, native."
echo " Default: docker"
}
# initialise array
VIASH_POSITIONAL_ARGS=''

View File

@@ -226,6 +226,9 @@ test_resources:
path: "test_data"
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -336,16 +339,16 @@ build_info:
engine: "docker|native"
output: "target/executable/bedtools/bedtools_genomecov"
executable: "target/executable/bedtools/bedtools_genomecov/bedtools_genomecov"
viash_version: "0.9.0"
git_commit: "952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-27-g952ff08"
viash_version: "0.9.2"
git_commit: "5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.2.0-30-g5f6516e"
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"
viash_version: "0.9.2"
source: "src"
target: "target"
config_mods:

View File

@@ -2,7 +2,7 @@
# bedtools_genomecov main
#
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
# This wrapper script is auto-generated by viash 0.9.2 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
# Intuitive.
#
@@ -172,141 +172,6 @@ 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 "bedtools_genomecov main"
echo ""
echo "Compute the coverage of a feature file among a genome."
echo ""
echo "Inputs:"
echo " -i, --input"
echo " type: file, file must exist"
echo " example: input.bed"
echo " The input file (BED/GFF/VCF) to be used."
echo ""
echo " -ibam, --input_bam"
echo " type: file, file must exist"
echo " The input file is in BAM format."
echo " Note: BAM _must_ be sorted by positions."
echo " '--genome' option is ignored if you use '--input_bam' option!"
echo ""
echo " -g, --genome"
echo " type: file, file must exist"
echo " example: genome.txt"
echo " The genome file to be used."
echo ""
echo "Outputs:"
echo " --output"
echo " type: file, required parameter, output, file must exist"
echo " example: output.bed"
echo " The output BED file."
echo ""
echo "Options:"
echo " -d, --depth"
echo " type: boolean_true"
echo " Report the depth at each genome position (with one-based coordinates)."
echo " Default behavior is to report a histogram."
echo ""
echo " -dz, --depth_zero"
echo " type: boolean_true"
echo " Report the depth at each genome position (with zero-based coordinates)."
echo " Reports only non-zero positions."
echo " Default behavior is to report a histogram."
echo ""
echo " -bg, --bed_graph"
echo " type: boolean_true"
echo " Report depth in BedGraph format. For details, see:"
echo " genome.ucsc.edu/goldenPath/help/bedgraph.html"
echo ""
echo " -bga, --bed_graph_zero_coverage"
echo " type: boolean_true"
echo " Report depth in BedGraph format, as above (-bg)."
echo " However with this option, regions with zero"
echo " coverage are also reported. This allows one to"
echo " quickly extract all regions of a genome with 0"
echo " coverage by applying: \"grep -w 0\$\" to the output."
echo ""
echo " --split"
echo " type: boolean_true"
echo " Treat \"split\" BAM or BED12 entries as distinct BED intervals."
echo " when computing coverage."
echo " For BAM files, this uses the CIGAR \"N\" and \"D\" operations"
echo " to infer the blocks for computing coverage."
echo " For BED12 files, this uses the BlockCount, BlockStarts, and BlockEnds"
echo " fields (i.e., columns 10,11,12)."
echo ""
echo " -ignoreD, --ignore_deletion"
echo " type: boolean_true"
echo " Ignore local deletions (CIGAR \"D\" operations) in BAM entries"
echo " when computing coverage."
echo ""
echo " --strand"
echo " type: string"
echo " choices: [ +, - ]"
echo " Calculate coverage of intervals from a specific strand."
echo " With BED files, requires at least 6 columns (strand is column 6)."
echo ""
echo " -pc, --pair_end_coverage"
echo " type: boolean_true"
echo " Calculate coverage of pair-end fragments."
echo " Works for BAM files only"
echo ""
echo " -fs, --fragment_size"
echo " type: boolean_true"
echo " Force to use provided fragment size instead of read length"
echo " Works for BAM files only"
echo ""
echo " --du"
echo " type: boolean_true"
echo " Change strand af the mate read (so both reads from the same strand)"
echo " useful for strand specific"
echo " Works for BAM files only"
echo ""
echo " -5, --five_prime"
echo " type: boolean_true"
echo " Calculate coverage of 5\" positions (instead of entire interval)."
echo ""
echo " -3, --three_prime"
echo " type: boolean_true"
echo " Calculate coverage of 3\" positions (instead of entire interval)."
echo ""
echo " --max"
echo " type: integer"
echo " min: 0"
echo " Combine all positions with a depth >= max into"
echo " a single bin in the histogram. Irrelevant"
echo " for -d and -bedGraph"
echo " - (INTEGER)"
echo ""
echo " --scale"
echo " type: double"
echo " min: 0.0"
echo " Scale the coverage by a constant factor."
echo " Each coverage value is multiplied by this factor before being reported."
echo " Useful for normalizing coverage by, e.g., reads per million (RPM)."
echo " - Default is 1.0; i.e., unscaled."
echo " - (FLOAT)"
echo ""
echo " --trackline"
echo " type: boolean_true"
echo " Adds a UCSC/Genome-Browser track line definition in the first line of"
echo " the output."
echo " - See here for more details about track line definition:"
echo " http://genome.ucsc.edu/goldenPath/help/bedgraph.html"
echo " - NOTE: When adding a trackline definition, the output BedGraph can be"
echo " easily"
echo " uploaded to the Genome Browser as a custom track,"
echo " BUT CAN NOT be converted into a BigWig file (w/o removing the"
echo " first line)."
echo ""
echo " --trackopts"
echo " type: string, multiple values allowed"
echo " Writes additional track line definition parameters in the first line."
echo " - Example:"
echo " -trackopts 'name=\"My Track\" visibility=2 color=255,30,30'"
echo " Note the use of single-quotes if you have spaces in your parameters."
echo " - (TEXT)"
}
# initialise variables
VIASH_MODE='run'
@@ -591,9 +456,9 @@ RUN echo "bedtools: \"$(bedtools --version | sed -n 's/^bedtools //p')\"" > /var
LABEL org.opencontainers.image.authors="Theodoro Gasperin Terra Camargo"
LABEL org.opencontainers.image.description="Companion container for running component bedtools bedtools_genomecov"
LABEL org.opencontainers.image.created="2024-12-03T10:34:04Z"
LABEL org.opencontainers.image.created="2025-03-06T09:19:42Z"
LABEL org.opencontainers.image.source="https://github.com/arq5x/bedtools2"
LABEL org.opencontainers.image.revision="952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
LABEL org.opencontainers.image.revision="5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
@@ -708,6 +573,167 @@ fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "bedtools_genomecov main"
echo ""
echo "Compute the coverage of a feature file among a genome."
echo ""
echo "Inputs:"
echo " -i, --input"
echo " type: file, file must exist"
echo " example: input.bed"
echo " The input file (BED/GFF/VCF) to be used."
echo ""
echo " -ibam, --input_bam"
echo " type: file, file must exist"
echo " The input file is in BAM format."
echo " Note: BAM _must_ be sorted by positions."
echo " '--genome' option is ignored if you use '--input_bam' option!"
echo ""
echo " -g, --genome"
echo " type: file, file must exist"
echo " example: genome.txt"
echo " The genome file to be used."
echo ""
echo "Outputs:"
echo " --output"
echo " type: file, required parameter, output, file must exist"
echo " example: output.bed"
echo " The output BED file."
echo ""
echo "Options:"
echo " -d, --depth"
echo " type: boolean_true"
echo " Report the depth at each genome position (with one-based coordinates)."
echo " Default behavior is to report a histogram."
echo ""
echo " -dz, --depth_zero"
echo " type: boolean_true"
echo " Report the depth at each genome position (with zero-based coordinates)."
echo " Reports only non-zero positions."
echo " Default behavior is to report a histogram."
echo ""
echo " -bg, --bed_graph"
echo " type: boolean_true"
echo " Report depth in BedGraph format. For details, see:"
echo " genome.ucsc.edu/goldenPath/help/bedgraph.html"
echo ""
echo " -bga, --bed_graph_zero_coverage"
echo " type: boolean_true"
echo " Report depth in BedGraph format, as above (-bg)."
echo " However with this option, regions with zero"
echo " coverage are also reported. This allows one to"
echo " quickly extract all regions of a genome with 0"
echo " coverage by applying: \"grep -w 0\$\" to the output."
echo ""
echo " --split"
echo " type: boolean_true"
echo " Treat \"split\" BAM or BED12 entries as distinct BED intervals."
echo " when computing coverage."
echo " For BAM files, this uses the CIGAR \"N\" and \"D\" operations"
echo " to infer the blocks for computing coverage."
echo " For BED12 files, this uses the BlockCount, BlockStarts, and BlockEnds"
echo " fields (i.e., columns 10,11,12)."
echo ""
echo " -ignoreD, --ignore_deletion"
echo " type: boolean_true"
echo " Ignore local deletions (CIGAR \"D\" operations) in BAM entries"
echo " when computing coverage."
echo ""
echo " --strand"
echo " type: string"
echo " choices: [ +, - ]"
echo " Calculate coverage of intervals from a specific strand."
echo " With BED files, requires at least 6 columns (strand is column 6)."
echo ""
echo " -pc, --pair_end_coverage"
echo " type: boolean_true"
echo " Calculate coverage of pair-end fragments."
echo " Works for BAM files only"
echo ""
echo " -fs, --fragment_size"
echo " type: boolean_true"
echo " Force to use provided fragment size instead of read length"
echo " Works for BAM files only"
echo ""
echo " --du"
echo " type: boolean_true"
echo " Change strand af the mate read (so both reads from the same strand)"
echo " useful for strand specific"
echo " Works for BAM files only"
echo ""
echo " -5, --five_prime"
echo " type: boolean_true"
echo " Calculate coverage of 5\" positions (instead of entire interval)."
echo ""
echo " -3, --three_prime"
echo " type: boolean_true"
echo " Calculate coverage of 3\" positions (instead of entire interval)."
echo ""
echo " --max"
echo " type: integer"
echo " min: 0"
echo " Combine all positions with a depth >= max into"
echo " a single bin in the histogram. Irrelevant"
echo " for -d and -bedGraph"
echo " - (INTEGER)"
echo ""
echo " --scale"
echo " type: double"
echo " min: 0.0"
echo " Scale the coverage by a constant factor."
echo " Each coverage value is multiplied by this factor before being reported."
echo " Useful for normalizing coverage by, e.g., reads per million (RPM)."
echo " - Default is 1.0; i.e., unscaled."
echo " - (FLOAT)"
echo ""
echo " --trackline"
echo " type: boolean_true"
echo " Adds a UCSC/Genome-Browser track line definition in the first line of"
echo " the output."
echo " - See here for more details about track line definition:"
echo " http://genome.ucsc.edu/goldenPath/help/bedgraph.html"
echo " - NOTE: When adding a trackline definition, the output BedGraph can be"
echo " easily"
echo " uploaded to the Genome Browser as a custom track,"
echo " BUT CAN NOT be converted into a BigWig file (w/o removing the"
echo " first line)."
echo ""
echo " --trackopts"
echo " type: string, multiple values allowed"
echo " Writes additional track line definition parameters in the first line."
echo " - Example:"
echo " -trackopts 'name=\"My Track\" visibility=2 color=255,30,30'"
echo " Note the use of single-quotes if you have spaces in your parameters."
echo " - (TEXT)"
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
echo " ---memory=STRING"
echo " Amount of memory to use. Examples: 4GB, 3MiB."
echo ""
echo "Viash built in Docker:"
echo " ---setup=STRATEGY"
echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing."
echo " Default: ifneedbepullelsecachedbuild"
echo " ---dockerfile"
echo " Print the dockerfile to stdout."
echo " ---docker_run_args=ARG"
echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information."
echo " ---docker_image_id"
echo " Print the docker image id to stdout."
echo " ---debug"
echo " Enter the docker container for debugging purposes."
echo ""
echo "Viash built in Engines:"
echo " ---engine=ENGINE_ID"
echo " Specify the engine to use. Options are: docker, native."
echo " Default: docker"
}
# initialise array
VIASH_POSITIONAL_ARGS=''

View File

@@ -123,6 +123,9 @@ test_resources:
is_executable: true
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -231,16 +234,16 @@ build_info:
engine: "docker|native"
output: "target/executable/bedtools/bedtools_getfasta"
executable: "target/executable/bedtools/bedtools_getfasta/bedtools_getfasta"
viash_version: "0.9.0"
git_commit: "952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-27-g952ff08"
viash_version: "0.9.2"
git_commit: "5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.2.0-30-g5f6516e"
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"
viash_version: "0.9.2"
source: "src"
target: "target"
config_mods:

View File

@@ -2,7 +2,7 @@
# bedtools_getfasta main
#
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
# This wrapper script is auto-generated by viash 0.9.2 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
# Intuitive.
#
@@ -172,76 +172,6 @@ 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 "bedtools_getfasta main"
echo ""
echo "Extract sequences from a FASTA file for each of the intervals defined in a"
echo "BED/GFF/VCF file."
echo ""
echo "Input arguments:"
echo " --input_fasta"
echo " type: file, file must exist"
echo " FASTA file containing sequences for each interval specified in the input"
echo " BED file."
echo " The headers in the input FASTA file must exactly match the chromosome"
echo " column in the BED file."
echo ""
echo " --input_bed"
echo " type: file, file must exist"
echo " BED file containing intervals to extract from the FASTA file."
echo " BED files containing a single region require a newline character"
echo " at the end of the line, otherwise a blank output file is produced."
echo ""
echo " --rna"
echo " type: boolean_true"
echo " The FASTA is RNA not DNA. Reverse complementation handled accordingly."
echo ""
echo "Run arguments:"
echo " -s, --strandedness"
echo " type: boolean_true"
echo " Force strandedness. If the feature occupies the antisense strand, the"
echo " output sequence will"
echo " be reverse complemented. By default strandedness is not taken into"
echo " account."
echo ""
echo "Output arguments:"
echo " -o, --output"
echo " type: file, required parameter, output, file must exist"
echo " Output file where the output from the 'bedtools getfasta' commend will"
echo " be written to."
echo ""
echo " --tab"
echo " type: boolean_true"
echo " Report extract sequences in a tab-delimited format instead of in FASTA"
echo " format."
echo ""
echo " --bed_out"
echo " type: boolean_true"
echo " Report extract sequences in a tab-delimited BED format instead of in"
echo " FASTA format."
echo ""
echo " --name"
echo " type: boolean_true"
echo " Set the FASTA header for each extracted sequence to be the \"name\" and"
echo " coordinate columns from the BED feature."
echo ""
echo " --name_only"
echo " type: boolean_true"
echo " Set the FASTA header for each extracted sequence to be the \"name\""
echo " columns from the BED feature."
echo ""
echo " --split"
echo " type: boolean_true"
echo " When --input is in BED12 format, create a separate fasta entry for each"
echo " block in a BED12 record,"
echo " blocks being described in the 11th and 12th column of the BED."
echo ""
echo " --full_header"
echo " type: boolean_true"
echo " Use full fasta header. By default, only the word before the first space"
echo " or tab is used."
}
# initialise variables
VIASH_MODE='run'
@@ -526,9 +456,9 @@ RUN echo "bedtools: \"$(bedtools --version | sed -n 's/^bedtools //p')\"" > /var
LABEL org.opencontainers.image.authors="Dries Schaumont"
LABEL org.opencontainers.image.description="Companion container for running component bedtools bedtools_getfasta"
LABEL org.opencontainers.image.created="2024-12-03T10:34:02Z"
LABEL org.opencontainers.image.created="2025-03-06T09:19:43Z"
LABEL org.opencontainers.image.source="https://github.com/arq5x/bedtools2"
LABEL org.opencontainers.image.revision="952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
LABEL org.opencontainers.image.revision="5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
@@ -643,6 +573,102 @@ fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "bedtools_getfasta main"
echo ""
echo "Extract sequences from a FASTA file for each of the intervals defined in a"
echo "BED/GFF/VCF file."
echo ""
echo "Input arguments:"
echo " --input_fasta"
echo " type: file, file must exist"
echo " FASTA file containing sequences for each interval specified in the input"
echo " BED file."
echo " The headers in the input FASTA file must exactly match the chromosome"
echo " column in the BED file."
echo ""
echo " --input_bed"
echo " type: file, file must exist"
echo " BED file containing intervals to extract from the FASTA file."
echo " BED files containing a single region require a newline character"
echo " at the end of the line, otherwise a blank output file is produced."
echo ""
echo " --rna"
echo " type: boolean_true"
echo " The FASTA is RNA not DNA. Reverse complementation handled accordingly."
echo ""
echo "Run arguments:"
echo " -s, --strandedness"
echo " type: boolean_true"
echo " Force strandedness. If the feature occupies the antisense strand, the"
echo " output sequence will"
echo " be reverse complemented. By default strandedness is not taken into"
echo " account."
echo ""
echo "Output arguments:"
echo " -o, --output"
echo " type: file, required parameter, output, file must exist"
echo " Output file where the output from the 'bedtools getfasta' commend will"
echo " be written to."
echo ""
echo " --tab"
echo " type: boolean_true"
echo " Report extract sequences in a tab-delimited format instead of in FASTA"
echo " format."
echo ""
echo " --bed_out"
echo " type: boolean_true"
echo " Report extract sequences in a tab-delimited BED format instead of in"
echo " FASTA format."
echo ""
echo " --name"
echo " type: boolean_true"
echo " Set the FASTA header for each extracted sequence to be the \"name\" and"
echo " coordinate columns from the BED feature."
echo ""
echo " --name_only"
echo " type: boolean_true"
echo " Set the FASTA header for each extracted sequence to be the \"name\""
echo " columns from the BED feature."
echo ""
echo " --split"
echo " type: boolean_true"
echo " When --input is in BED12 format, create a separate fasta entry for each"
echo " block in a BED12 record,"
echo " blocks being described in the 11th and 12th column of the BED."
echo ""
echo " --full_header"
echo " type: boolean_true"
echo " Use full fasta header. By default, only the word before the first space"
echo " or tab is used."
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
echo " ---memory=STRING"
echo " Amount of memory to use. Examples: 4GB, 3MiB."
echo ""
echo "Viash built in Docker:"
echo " ---setup=STRATEGY"
echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing."
echo " Default: ifneedbepullelsecachedbuild"
echo " ---dockerfile"
echo " Print the dockerfile to stdout."
echo " ---docker_run_args=ARG"
echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information."
echo " ---docker_image_id"
echo " Print the docker image id to stdout."
echo " ---debug"
echo " Enter the docker container for debugging purposes."
echo ""
echo "Viash built in Engines:"
echo " ---engine=ENGINE_ID"
echo " Specify the engine to use. Options are: docker, native."
echo " Default: docker"
}
# initialise array
VIASH_POSITIONAL_ARGS=''

View File

@@ -165,6 +165,9 @@ test_resources:
is_executable: true
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -272,16 +275,16 @@ build_info:
engine: "docker|native"
output: "target/executable/bedtools/bedtools_groupby"
executable: "target/executable/bedtools/bedtools_groupby/bedtools_groupby"
viash_version: "0.9.0"
git_commit: "952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-27-g952ff08"
viash_version: "0.9.2"
git_commit: "5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.2.0-30-g5f6516e"
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"
viash_version: "0.9.2"
source: "src"
target: "target"
config_mods:

View File

@@ -2,7 +2,7 @@
# bedtools_groupby main
#
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
# This wrapper script is auto-generated by viash 0.9.2 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
# Intuitive.
#
@@ -172,102 +172,6 @@ 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 "bedtools_groupby main"
echo ""
echo "Summarizes a dataset column based upon common column groupings."
echo "Akin to the SQL \"group by\" command."
echo ""
echo "Inputs:"
echo " -i, --input"
echo " type: file, required parameter, file must exist"
echo " example: input_a.bed"
echo " The input BED file to be used."
echo ""
echo "Outputs:"
echo " --output"
echo " type: file, required parameter, output, file must exist"
echo " example: output.bed"
echo " The output groupby BED file."
echo ""
echo "Options:"
echo " -g, -grp, --groupby"
echo " type: string, required parameter"
echo " Specify the columns (1-based) for the grouping."
echo " The columns must be comma separated."
echo " - Default: 1,2,3"
echo ""
echo " -c, -opCols, --column"
echo " type: integer, required parameter"
echo " Specify the column (1-based) that should be summarized."
echo ""
echo " -o, -ops, --operation"
echo " type: string"
echo " Specify the operation that should be applied to opCol."
echo " Valid operations:"
echo " sum, count, count_distinct, min, max,"
echo " mean, median, mode, antimode,"
echo " stdev, sstdev (sample standard dev.),"
echo " collapse (i.e., print a comma separated list (duplicates allowed)),"
echo " distinct (i.e., print a comma separated list (NO duplicates"
echo " allowed)),"
echo " distinct_sort_num (as distinct, but sorted numerically, ascending),"
echo " distinct_sort_num_desc (as distinct, but sorted numerically,"
echo " descending),"
echo " concat (i.e., merge values into a single, non-delimited string),"
echo " freqdesc (i.e., print desc. list of values:freq)"
echo " freqasc (i.e., print asc. list of values:freq)"
echo " first (i.e., print first value)"
echo " last (i.e., print last value)"
echo " Default value: sum"
echo " If there is only column, but multiple operations, all operations will be"
echo " applied on that column. Likewise, if there is only one operation, but"
echo " multiple columns, that operation will be applied to all columns."
echo " Otherwise, the number of columns must match the the number of"
echo " operations,"
echo " and will be applied in respective order."
echo " E.g., \"-c 5,4,6 -o sum,mean,count\" will give the sum of column 5,"
echo " the mean of column 4, and the count of column 6."
echo " The order of output columns will match the ordering given in the"
echo " command."
echo ""
echo " --full"
echo " type: boolean_true"
echo " Print all columns from input file. The first line in the group is used."
echo " Default: print only grouped columns."
echo ""
echo " --inheader"
echo " type: boolean_true"
echo " Input file has a header line - the first line will be ignored."
echo ""
echo " --outheader"
echo " type: boolean_true"
echo " Print header line in the output, detailing the column names."
echo " If the input file has headers (-inheader), the output file"
echo " will use the input's column names."
echo " If the input file has no headers, the output file"
echo " will use \"col_1\", \"col_2\", etc. as the column names."
echo ""
echo " --header"
echo " type: boolean_true"
echo " same as '-inheader -outheader'."
echo ""
echo " --ignorecase"
echo " type: boolean_true"
echo " Group values regardless of upper/lower case."
echo ""
echo " -prec, --precision"
echo " type: integer"
echo " default: 5"
echo " Sets the decimal precision for output."
echo ""
echo " -delim, --delimiter"
echo " type: string"
echo " default: ,"
echo " example: |"
echo " Specify a custom delimiter for the collapse operations."
}
# initialise variables
VIASH_MODE='run'
@@ -552,9 +456,9 @@ RUN echo "bedtools: \"$(bedtools --version | sed -n 's/^bedtools //p')\"" > /var
LABEL org.opencontainers.image.authors="Theodoro Gasperin Terra Camargo"
LABEL org.opencontainers.image.description="Companion container for running component bedtools bedtools_groupby"
LABEL org.opencontainers.image.created="2024-12-03T10:34:02Z"
LABEL org.opencontainers.image.created="2025-03-06T09:19:44Z"
LABEL org.opencontainers.image.source="https://github.com/arq5x/bedtools2"
LABEL org.opencontainers.image.revision="952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
LABEL org.opencontainers.image.revision="5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
@@ -669,6 +573,128 @@ fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "bedtools_groupby main"
echo ""
echo "Summarizes a dataset column based upon common column groupings."
echo "Akin to the SQL \"group by\" command."
echo ""
echo "Inputs:"
echo " -i, --input"
echo " type: file, required parameter, file must exist"
echo " example: input_a.bed"
echo " The input BED file to be used."
echo ""
echo "Outputs:"
echo " --output"
echo " type: file, required parameter, output, file must exist"
echo " example: output.bed"
echo " The output groupby BED file."
echo ""
echo "Options:"
echo " -g, -grp, --groupby"
echo " type: string, required parameter"
echo " Specify the columns (1-based) for the grouping."
echo " The columns must be comma separated."
echo " - Default: 1,2,3"
echo ""
echo " -c, -opCols, --column"
echo " type: integer, required parameter"
echo " Specify the column (1-based) that should be summarized."
echo ""
echo " -o, -ops, --operation"
echo " type: string"
echo " Specify the operation that should be applied to opCol."
echo " Valid operations:"
echo " sum, count, count_distinct, min, max,"
echo " mean, median, mode, antimode,"
echo " stdev, sstdev (sample standard dev.),"
echo " collapse (i.e., print a comma separated list (duplicates allowed)),"
echo " distinct (i.e., print a comma separated list (NO duplicates"
echo " allowed)),"
echo " distinct_sort_num (as distinct, but sorted numerically, ascending),"
echo " distinct_sort_num_desc (as distinct, but sorted numerically,"
echo " descending),"
echo " concat (i.e., merge values into a single, non-delimited string),"
echo " freqdesc (i.e., print desc. list of values:freq)"
echo " freqasc (i.e., print asc. list of values:freq)"
echo " first (i.e., print first value)"
echo " last (i.e., print last value)"
echo " Default value: sum"
echo " If there is only column, but multiple operations, all operations will be"
echo " applied on that column. Likewise, if there is only one operation, but"
echo " multiple columns, that operation will be applied to all columns."
echo " Otherwise, the number of columns must match the the number of"
echo " operations,"
echo " and will be applied in respective order."
echo " E.g., \"-c 5,4,6 -o sum,mean,count\" will give the sum of column 5,"
echo " the mean of column 4, and the count of column 6."
echo " The order of output columns will match the ordering given in the"
echo " command."
echo ""
echo " --full"
echo " type: boolean_true"
echo " Print all columns from input file. The first line in the group is used."
echo " Default: print only grouped columns."
echo ""
echo " --inheader"
echo " type: boolean_true"
echo " Input file has a header line - the first line will be ignored."
echo ""
echo " --outheader"
echo " type: boolean_true"
echo " Print header line in the output, detailing the column names."
echo " If the input file has headers (-inheader), the output file"
echo " will use the input's column names."
echo " If the input file has no headers, the output file"
echo " will use \"col_1\", \"col_2\", etc. as the column names."
echo ""
echo " --header"
echo " type: boolean_true"
echo " same as '-inheader -outheader'."
echo ""
echo " --ignorecase"
echo " type: boolean_true"
echo " Group values regardless of upper/lower case."
echo ""
echo " -prec, --precision"
echo " type: integer"
echo " default: 5"
echo " Sets the decimal precision for output."
echo ""
echo " -delim, --delimiter"
echo " type: string"
echo " default: ,"
echo " example: |"
echo " Specify a custom delimiter for the collapse operations."
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
echo " ---memory=STRING"
echo " Amount of memory to use. Examples: 4GB, 3MiB."
echo ""
echo "Viash built in Docker:"
echo " ---setup=STRATEGY"
echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing."
echo " Default: ifneedbepullelsecachedbuild"
echo " ---dockerfile"
echo " Print the dockerfile to stdout."
echo " ---docker_run_args=ARG"
echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information."
echo " ---docker_image_id"
echo " Print the docker image id to stdout."
echo " ---debug"
echo " Enter the docker container for debugging purposes."
echo ""
echo "Viash built in Engines:"
echo " ---engine=ENGINE_ID"
echo " Specify the engine to use. Options are: docker, native."
echo " Default: docker"
}
# initialise array
VIASH_POSITIONAL_ARGS=''

View File

@@ -301,6 +301,9 @@ test_resources:
is_executable: true
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -409,16 +412,16 @@ build_info:
engine: "docker|native"
output: "target/executable/bedtools/bedtools_intersect"
executable: "target/executable/bedtools/bedtools_intersect/bedtools_intersect"
viash_version: "0.9.0"
git_commit: "952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-27-g952ff08"
viash_version: "0.9.2"
git_commit: "5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.2.0-30-g5f6516e"
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"
viash_version: "0.9.2"
source: "src"
target: "target"
config_mods:

View File

@@ -2,7 +2,7 @@
# bedtools_intersect main
#
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
# This wrapper script is auto-generated by viash 0.9.2 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
# Intuitive.
#
@@ -172,183 +172,6 @@ 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 "bedtools_intersect main"
echo ""
echo "bedtools intersect allows one to screen for overlaps between two sets of genomic"
echo "features."
echo "Moreover, it allows one to have fine control as to how the intersections are"
echo "reported."
echo "bedtools intersect works with both BED/GFF/VCF and BAM files as input."
echo ""
echo "Inputs:"
echo " -a, --input_a"
echo " type: file, required parameter, file must exist"
echo " example: input_a.bed"
echo " The input file (BED/GFF/VCF/BAM) to be used as the -a file."
echo ""
echo " -b, --input_b"
echo " type: file, required parameter, multiple values allowed, file must exist"
echo " example: input_b.bed"
echo " The input file(s) (BED/GFF/VCF/BAM) to be used as the -b file(s)."
echo ""
echo "Outputs:"
echo " --output"
echo " type: file, required parameter, output, file must exist"
echo " example: output.bed"
echo " The output BED file."
echo ""
echo "Options:"
echo " -wa, --write_a"
echo " type: boolean_true"
echo " Write the original A entry for each overlap."
echo ""
echo " -wb, --write_b"
echo " type: boolean_true"
echo " Write the original B entry for each overlap."
echo " Useful for knowing _what_ A overlaps. Restricted by -f and -r."
echo ""
echo " -loj, --left_outer_join"
echo " type: boolean_true"
echo " Perform a \"left outer join\". That is, for each feature in A report each"
echo " overlap with B."
echo " If no overlaps are found, report a NULL feature for B."
echo ""
echo " -wo, --write_overlap"
echo " type: boolean_true"
echo " Write the original A and B entries plus the number of base pairs of"
echo " overlap between the two features."
echo " - Overlaps restricted by -f and -r."
echo " Only A features with overlap are reported."
echo ""
echo " -wao, --write_overlap_plus"
echo " type: boolean_true"
echo " Write the original A and B entries plus the number of base pairs of"
echo " overlap between the two features."
echo " - Overlaps restricted by -f and -r."
echo " However, A features w/o overlap are also reported with a NULL B"
echo " feature and overlap = 0."
echo ""
echo " -u, --report_A_if_no_overlap"
echo " type: boolean_true"
echo " Write the original A entry _if_ no overlap is found."
echo " - In other words, just report the fact >=1 hit was found."
echo " - Overlaps restricted by -f and -r."
echo ""
echo " -c, --number_of_overlaps_A"
echo " type: boolean_true"
echo " For each entry in A, report the number of overlaps with B."
echo " - Reports 0 for A entries that have no overlap with B."
echo " - Overlaps restricted by -f and -r."
echo ""
echo " -v, --report_no_overlaps_A"
echo " type: boolean_true"
echo " Only report those entries in A that have _no overlaps_ with B."
echo " - Similar to \"grep -v\" (an homage)."
echo ""
echo " -ubam, --uncompressed_bam"
echo " type: boolean_true"
echo " Write uncompressed BAM output. Default writes compressed BAM."
echo ""
echo " -s, --same_strand"
echo " type: boolean_true"
echo " Require same strandedness. That is, only report hits in B."
echo " that overlap A on the _same_ strand."
echo " - By default, overlaps are reported without respect to strand."
echo ""
echo " -S, --opposite_strand"
echo " type: boolean_true"
echo " Require different strandedness. That is, only report hits in B"
echo " that overlap A on the _opposite_ strand."
echo " - By default, overlaps are reported without respect to strand."
echo ""
echo " -f, --min_overlap_A"
echo " type: double"
echo " example: 0.5"
echo " Minimum overlap required as a fraction of A."
echo " - Default is 1E-9 (i.e., 1bp)."
echo " - FLOAT (e.g. 0.50)"
echo ""
echo " -F, --min_overlap_B"
echo " type: double"
echo " example: 0.5"
echo " Minimum overlap required as a fraction of B."
echo " - Default is 1E-9 (i.e., 1bp)."
echo " - FLOAT (e.g. 0.50)"
echo ""
echo " -r, --reciprocal_overlap"
echo " type: boolean_true"
echo " Require that the fraction overlap be reciprocal for A AND B."
echo " - In other words, if -f is 0.90 and -r is used, this requires"
echo " that B overlap 90% of A and A _also_ overlaps 90% of B."
echo ""
echo " -e, --either_overlap"
echo " type: boolean_true"
echo " Require that the minimum fraction be satisfied for A OR B."
echo " - In other words, if -e is used with -f 0.90 and -F 0.10 this requires"
echo " that either 90% of A is covered OR 10% of B is covered."
echo " Without -e, both fractions would have to be satisfied."
echo ""
echo " --split"
echo " type: boolean_true"
echo " Treat \"split\" BAM or BED12 entries as distinct BED intervals."
echo ""
echo " -g, --genome"
echo " type: file, file must exist"
echo " example: genome.txt"
echo " Provide a genome file to enforce consistent chromosome"
echo " sort order across input files. Only applies when used"
echo " with -sorted option."
echo ""
echo " --nonamecheck"
echo " type: boolean_true"
echo " For sorted data, don't throw an error if the file"
echo " has different naming conventions for the same chromosome"
echo " (e.g., \"chr1\" vs \"chr01\")."
echo ""
echo " --sorted"
echo " type: boolean_true"
echo " Use the \"chromsweep\" algorithm for sorted (-k1,1 -k2,2n) input."
echo ""
echo " --names"
echo " type: string"
echo " When using multiple databases, provide an alias"
echo " for each that will appear instead of a fileId when"
echo " also printing the DB record."
echo ""
echo " --filenames"
echo " type: boolean_true"
echo " When using multiple databases, show each complete filename instead of a"
echo " fileId when also printing the DB record."
echo ""
echo " --sortout"
echo " type: boolean_true"
echo " When using multiple databases, sort the output DB hits for each record."
echo ""
echo " --bed"
echo " type: boolean_true"
echo " If using BAM input, write output as BED."
echo ""
echo " --header"
echo " type: boolean_true"
echo " Print the header from the A file prior to results."
echo ""
echo " --nobuf, --no_buffer_output"
echo " type: boolean_true"
echo " Disable buffered output. Using this option will cause each line"
echo " of output to be printed as it is generated, rather than saved"
echo " in a buffer. This will make printing large output files"
echo " noticeably slower, but can be useful in conjunction with"
echo " other software tools and scripts that need to process one"
echo " line of bedtools output at a time."
echo ""
echo " --iobuf, --io_buffer_size"
echo " type: integer"
echo " Specify amount of memory to use for input buffer."
echo " Takes an integer argument. Optional suffixes K/M/G supported."
echo " Note: currently has no effect with compressed files."
}
# initialise variables
VIASH_MODE='run'
@@ -633,9 +456,9 @@ RUN echo "bedtools: \"$(bedtools --version | sed -n 's/^bedtools //p')\"" > /var
LABEL org.opencontainers.image.authors="Theodoro Gasperin Terra Camargo"
LABEL org.opencontainers.image.description="Companion container for running component bedtools bedtools_intersect"
LABEL org.opencontainers.image.created="2024-12-03T10:34:03Z"
LABEL org.opencontainers.image.created="2025-03-06T09:19:41Z"
LABEL org.opencontainers.image.source="https://github.com/arq5x/bedtools2"
LABEL org.opencontainers.image.revision="952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
LABEL org.opencontainers.image.revision="5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
@@ -750,6 +573,209 @@ fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "bedtools_intersect main"
echo ""
echo "bedtools intersect allows one to screen for overlaps between two sets of genomic"
echo "features."
echo "Moreover, it allows one to have fine control as to how the intersections are"
echo "reported."
echo "bedtools intersect works with both BED/GFF/VCF and BAM files as input."
echo ""
echo "Inputs:"
echo " -a, --input_a"
echo " type: file, required parameter, file must exist"
echo " example: input_a.bed"
echo " The input file (BED/GFF/VCF/BAM) to be used as the -a file."
echo ""
echo " -b, --input_b"
echo " type: file, required parameter, multiple values allowed, file must exist"
echo " example: input_b.bed"
echo " The input file(s) (BED/GFF/VCF/BAM) to be used as the -b file(s)."
echo ""
echo "Outputs:"
echo " --output"
echo " type: file, required parameter, output, file must exist"
echo " example: output.bed"
echo " The output BED file."
echo ""
echo "Options:"
echo " -wa, --write_a"
echo " type: boolean_true"
echo " Write the original A entry for each overlap."
echo ""
echo " -wb, --write_b"
echo " type: boolean_true"
echo " Write the original B entry for each overlap."
echo " Useful for knowing _what_ A overlaps. Restricted by -f and -r."
echo ""
echo " -loj, --left_outer_join"
echo " type: boolean_true"
echo " Perform a \"left outer join\". That is, for each feature in A report each"
echo " overlap with B."
echo " If no overlaps are found, report a NULL feature for B."
echo ""
echo " -wo, --write_overlap"
echo " type: boolean_true"
echo " Write the original A and B entries plus the number of base pairs of"
echo " overlap between the two features."
echo " - Overlaps restricted by -f and -r."
echo " Only A features with overlap are reported."
echo ""
echo " -wao, --write_overlap_plus"
echo " type: boolean_true"
echo " Write the original A and B entries plus the number of base pairs of"
echo " overlap between the two features."
echo " - Overlaps restricted by -f and -r."
echo " However, A features w/o overlap are also reported with a NULL B"
echo " feature and overlap = 0."
echo ""
echo " -u, --report_A_if_no_overlap"
echo " type: boolean_true"
echo " Write the original A entry _if_ no overlap is found."
echo " - In other words, just report the fact >=1 hit was found."
echo " - Overlaps restricted by -f and -r."
echo ""
echo " -c, --number_of_overlaps_A"
echo " type: boolean_true"
echo " For each entry in A, report the number of overlaps with B."
echo " - Reports 0 for A entries that have no overlap with B."
echo " - Overlaps restricted by -f and -r."
echo ""
echo " -v, --report_no_overlaps_A"
echo " type: boolean_true"
echo " Only report those entries in A that have _no overlaps_ with B."
echo " - Similar to \"grep -v\" (an homage)."
echo ""
echo " -ubam, --uncompressed_bam"
echo " type: boolean_true"
echo " Write uncompressed BAM output. Default writes compressed BAM."
echo ""
echo " -s, --same_strand"
echo " type: boolean_true"
echo " Require same strandedness. That is, only report hits in B."
echo " that overlap A on the _same_ strand."
echo " - By default, overlaps are reported without respect to strand."
echo ""
echo " -S, --opposite_strand"
echo " type: boolean_true"
echo " Require different strandedness. That is, only report hits in B"
echo " that overlap A on the _opposite_ strand."
echo " - By default, overlaps are reported without respect to strand."
echo ""
echo " -f, --min_overlap_A"
echo " type: double"
echo " example: 0.5"
echo " Minimum overlap required as a fraction of A."
echo " - Default is 1E-9 (i.e., 1bp)."
echo " - FLOAT (e.g. 0.50)"
echo ""
echo " -F, --min_overlap_B"
echo " type: double"
echo " example: 0.5"
echo " Minimum overlap required as a fraction of B."
echo " - Default is 1E-9 (i.e., 1bp)."
echo " - FLOAT (e.g. 0.50)"
echo ""
echo " -r, --reciprocal_overlap"
echo " type: boolean_true"
echo " Require that the fraction overlap be reciprocal for A AND B."
echo " - In other words, if -f is 0.90 and -r is used, this requires"
echo " that B overlap 90% of A and A _also_ overlaps 90% of B."
echo ""
echo " -e, --either_overlap"
echo " type: boolean_true"
echo " Require that the minimum fraction be satisfied for A OR B."
echo " - In other words, if -e is used with -f 0.90 and -F 0.10 this requires"
echo " that either 90% of A is covered OR 10% of B is covered."
echo " Without -e, both fractions would have to be satisfied."
echo ""
echo " --split"
echo " type: boolean_true"
echo " Treat \"split\" BAM or BED12 entries as distinct BED intervals."
echo ""
echo " -g, --genome"
echo " type: file, file must exist"
echo " example: genome.txt"
echo " Provide a genome file to enforce consistent chromosome"
echo " sort order across input files. Only applies when used"
echo " with -sorted option."
echo ""
echo " --nonamecheck"
echo " type: boolean_true"
echo " For sorted data, don't throw an error if the file"
echo " has different naming conventions for the same chromosome"
echo " (e.g., \"chr1\" vs \"chr01\")."
echo ""
echo " --sorted"
echo " type: boolean_true"
echo " Use the \"chromsweep\" algorithm for sorted (-k1,1 -k2,2n) input."
echo ""
echo " --names"
echo " type: string"
echo " When using multiple databases, provide an alias"
echo " for each that will appear instead of a fileId when"
echo " also printing the DB record."
echo ""
echo " --filenames"
echo " type: boolean_true"
echo " When using multiple databases, show each complete filename instead of a"
echo " fileId when also printing the DB record."
echo ""
echo " --sortout"
echo " type: boolean_true"
echo " When using multiple databases, sort the output DB hits for each record."
echo ""
echo " --bed"
echo " type: boolean_true"
echo " If using BAM input, write output as BED."
echo ""
echo " --header"
echo " type: boolean_true"
echo " Print the header from the A file prior to results."
echo ""
echo " --nobuf, --no_buffer_output"
echo " type: boolean_true"
echo " Disable buffered output. Using this option will cause each line"
echo " of output to be printed as it is generated, rather than saved"
echo " in a buffer. This will make printing large output files"
echo " noticeably slower, but can be useful in conjunction with"
echo " other software tools and scripts that need to process one"
echo " line of bedtools output at a time."
echo ""
echo " --iobuf, --io_buffer_size"
echo " type: integer"
echo " Specify amount of memory to use for input buffer."
echo " Takes an integer argument. Optional suffixes K/M/G supported."
echo " Note: currently has no effect with compressed files."
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
echo " ---memory=STRING"
echo " Amount of memory to use. Examples: 4GB, 3MiB."
echo ""
echo "Viash built in Docker:"
echo " ---setup=STRATEGY"
echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing."
echo " Default: ifneedbepullelsecachedbuild"
echo " ---dockerfile"
echo " Print the dockerfile to stdout."
echo " ---docker_run_args=ARG"
echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information."
echo " ---docker_image_id"
echo " Print the docker image id to stdout."
echo " ---debug"
echo " Enter the docker container for debugging purposes."
echo ""
echo "Viash built in Engines:"
echo " ---engine=ENGINE_ID"
echo " Specify the engine to use. Options are: docker, native."
echo " Default: docker"
}
# initialise array
VIASH_POSITIONAL_ARGS=''

View File

@@ -100,6 +100,9 @@ test_resources:
is_executable: true
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -209,16 +212,16 @@ build_info:
engine: "docker|native"
output: "target/executable/bedtools/bedtools_links"
executable: "target/executable/bedtools/bedtools_links/bedtools_links"
viash_version: "0.9.0"
git_commit: "952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-27-g952ff08"
viash_version: "0.9.2"
git_commit: "5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.2.0-30-g5f6516e"
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"
viash_version: "0.9.2"
source: "src"
target: "target"
config_mods:

View File

@@ -2,7 +2,7 @@
# bedtools_links main
#
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
# This wrapper script is auto-generated by viash 0.9.2 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
# Intuitive.
#
@@ -172,50 +172,6 @@ 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 "bedtools_links main"
echo ""
echo "Creates an HTML file with links to an instance of the UCSC Genome Browser for"
echo "all features / intervals in a file."
echo "This is useful for cases when one wants to manually inspect through a large set"
echo "of annotations or features."
echo ""
echo "Inputs:"
echo " -i, --input"
echo " type: file, required parameter, file must exist"
echo " Input file (bed/gff/vcf)."
echo ""
echo "Outputs:"
echo " -o, --output"
echo " type: file, output, file must exist"
echo " Output HTML file to be written."
echo ""
echo "Options:"
echo " By default, the links created will point to human (hg18) UCSC browser."
echo " If you have a local mirror, you can override this behavior by supplying"
echo " the -base, -org, and -db options."
echo " For example, if the URL of your local mirror for mouse MM9 is called:"
echo " http://mymirror.myuniversity.edu, then you would use the following:"
echo " --base_url http://mymirror.myuniversity.edu"
echo " --organism mouse"
echo " --database mm9"
echo ""
echo " -base, --base_url"
echo " type: string"
echo " default: http://genome.ucsc.edu"
echo " The “basename” for the UCSC browser."
echo ""
echo " -org, --organism"
echo " type: string"
echo " default: human"
echo " The organism (e.g. mouse, human)."
echo ""
echo " -db, --database"
echo " type: string"
echo " default: hg18"
echo " The genome build."
}
# initialise variables
VIASH_MODE='run'
@@ -500,9 +456,9 @@ RUN echo "bedtools: \"$(bedtools --version | sed -n 's/^bedtools //p')\"" > /var
LABEL org.opencontainers.image.authors="Theodoro Gasperin Terra Camargo"
LABEL org.opencontainers.image.description="Companion container for running component bedtools bedtools_links"
LABEL org.opencontainers.image.created="2024-12-03T10:34:04Z"
LABEL org.opencontainers.image.created="2025-03-06T09:19:43Z"
LABEL org.opencontainers.image.source="https://github.com/arq5x/bedtools2"
LABEL org.opencontainers.image.revision="952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
LABEL org.opencontainers.image.revision="5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
@@ -617,6 +573,76 @@ fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "bedtools_links main"
echo ""
echo "Creates an HTML file with links to an instance of the UCSC Genome Browser for"
echo "all features / intervals in a file."
echo "This is useful for cases when one wants to manually inspect through a large set"
echo "of annotations or features."
echo ""
echo "Inputs:"
echo " -i, --input"
echo " type: file, required parameter, file must exist"
echo " Input file (bed/gff/vcf)."
echo ""
echo "Outputs:"
echo " -o, --output"
echo " type: file, output, file must exist"
echo " Output HTML file to be written."
echo ""
echo "Options:"
echo " By default, the links created will point to human (hg18) UCSC browser."
echo " If you have a local mirror, you can override this behavior by supplying"
echo " the -base, -org, and -db options."
echo " For example, if the URL of your local mirror for mouse MM9 is called:"
echo " http://mymirror.myuniversity.edu, then you would use the following:"
echo " --base_url http://mymirror.myuniversity.edu"
echo " --organism mouse"
echo " --database mm9"
echo ""
echo " -base, --base_url"
echo " type: string"
echo " default: http://genome.ucsc.edu"
echo " The “basename” for the UCSC browser."
echo ""
echo " -org, --organism"
echo " type: string"
echo " default: human"
echo " The organism (e.g. mouse, human)."
echo ""
echo " -db, --database"
echo " type: string"
echo " default: hg18"
echo " The genome build."
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
echo " ---memory=STRING"
echo " Amount of memory to use. Examples: 4GB, 3MiB."
echo ""
echo "Viash built in Docker:"
echo " ---setup=STRATEGY"
echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing."
echo " Default: ifneedbepullelsecachedbuild"
echo " ---dockerfile"
echo " Print the dockerfile to stdout."
echo " ---docker_run_args=ARG"
echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information."
echo " ---docker_image_id"
echo " Print the docker image id to stdout."
echo " ---debug"
echo " Enter the docker container for debugging purposes."
echo ""
echo "Viash built in Engines:"
echo " ---engine=ENGINE_ID"
echo " Specify the engine to use. Options are: docker, native."
echo " Default: docker"
}
# initialise array
VIASH_POSITIONAL_ARGS=''

View File

@@ -174,6 +174,9 @@ test_resources:
path: "test_data"
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -278,16 +281,16 @@ build_info:
engine: "docker|native"
output: "target/executable/bedtools/bedtools_merge"
executable: "target/executable/bedtools/bedtools_merge/bedtools_merge"
viash_version: "0.9.0"
git_commit: "952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-27-g952ff08"
viash_version: "0.9.2"
git_commit: "5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.2.0-30-g5f6516e"
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"
viash_version: "0.9.2"
source: "src"
target: "target"
config_mods:

View File

@@ -2,7 +2,7 @@
# bedtools_merge main
#
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
# This wrapper script is auto-generated by viash 0.9.2 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
# Intuitive.
#
@@ -172,108 +172,6 @@ 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 "bedtools_merge main"
echo ""
echo "Merges overlapping BED/GFF/VCF entries into a single interval."
echo ""
echo "Inputs:"
echo " -i, --input"
echo " type: file, required parameter, file must exist"
echo " Input file (BED/GFF/VCF) to be merged."
echo ""
echo "Outputs:"
echo " --output"
echo " type: file, required parameter, output, file must exist"
echo " Output merged file BED to be written."
echo ""
echo "Options:"
echo " -s, --strand"
echo " type: boolean_true"
echo " Force strandedness. That is, only merge features"
echo " that are on the same strand."
echo " - By default, merging is done without respect to strand."
echo ""
echo " -S, --specific_strand"
echo " type: string"
echo " choices: [ +, - ]"
echo " Force merge for one specific strand only."
echo " Follow with + or - to force merge from only"
echo " the forward or reverse strand, respectively."
echo " - By default, merging is done without respect to strand."
echo ""
echo " -d, --distance"
echo " type: integer"
echo " Maximum distance between features allowed for features"
echo " to be merged."
echo " - Def. 0. That is, overlapping & book-ended features are merged."
echo " - (INTEGER)"
echo " - Note: negative values enforce the number of b.p. required for overlap."
echo ""
echo " -c, --columns"
echo " type: integer"
echo " Specify columns from the B file to map onto intervals in A."
echo " Default: 5."
echo " Multiple columns can be specified in a comma-delimited list."
echo ""
echo " -o, --operation"
echo " type: string"
echo " Specify the operation that should be applied to -c."
echo " Valid operations:"
echo " sum, min, max, absmin, absmax,"
echo " mean, median, mode, antimode"
echo " stdev, sstdev"
echo " collapse (i.e., print a delimited list (duplicates allowed)),"
echo " distinct (i.e., print a delimited list (NO duplicates allowed)),"
echo " distinct_sort_num (as distinct, sorted numerically, ascending),"
echo " distinct_sort_num_desc (as distinct, sorted numerically,"
echo " desscending),"
echo " distinct_only (delimited list of only unique values),"
echo " count"
echo " count_distinct (i.e., a count of the unique values in the column),"
echo " first (i.e., just the first value in the column),"
echo " last (i.e., just the last value in the column),"
echo " Default: sum"
echo " Multiple operations can be specified in a comma-delimited list."
echo " If there is only column, but multiple operations, all operations will be"
echo " applied on that column. Likewise, if there is only one operation, but"
echo " multiple columns, that operation will be applied to all columns."
echo " Otherwise, the number of columns must match the the number of"
echo " operations,"
echo " and will be applied in respective order."
echo " E.g., \"-c 5,4,6 -o sum,mean,count\" will give the sum of column 5,"
echo " the mean of column 4, and the count of column 6."
echo " The order of output columns will match the ordering given in the"
echo " command."
echo ""
echo " -delim, --delimiter"
echo " type: string"
echo " default: ,"
echo " example: |"
echo " Specify a custom delimiter for the collapse operations."
echo ""
echo " -prec, --precision"
echo " type: integer"
echo " Sets the decimal precision for output (Default: 5)."
echo ""
echo " --bed"
echo " type: boolean_true"
echo " If using BAM input, write output as BED."
echo ""
echo " --header"
echo " type: boolean_true"
echo " Print the header from the A file prior to results."
echo ""
echo " -nobuf, --no_buffer"
echo " type: boolean_true"
echo " Disable buffered output. Using this option will cause each line"
echo " of output to be printed as it is generated, rather than saved"
echo " in a buffer. This will make printing large output files"
echo " noticeably slower, but can be useful in conjunction with"
echo " other software tools and scripts that need to process one"
echo " line of bedtools output at a time."
}
# initialise variables
VIASH_MODE='run'
@@ -558,9 +456,9 @@ RUN echo "bedtools: \"$(bedtools --version | sed -n 's/^bedtools //p')\"" > /var
LABEL org.opencontainers.image.authors="Theodoro Gasperin Terra Camargo"
LABEL org.opencontainers.image.description="Companion container for running component bedtools bedtools_merge"
LABEL org.opencontainers.image.created="2024-12-03T10:34:04Z"
LABEL org.opencontainers.image.created="2025-03-06T09:19:42Z"
LABEL org.opencontainers.image.source="https://github.com/arq5x/bedtools2"
LABEL org.opencontainers.image.revision="952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
LABEL org.opencontainers.image.revision="5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
@@ -675,6 +573,134 @@ fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "bedtools_merge main"
echo ""
echo "Merges overlapping BED/GFF/VCF entries into a single interval."
echo ""
echo "Inputs:"
echo " -i, --input"
echo " type: file, required parameter, file must exist"
echo " Input file (BED/GFF/VCF) to be merged."
echo ""
echo "Outputs:"
echo " --output"
echo " type: file, required parameter, output, file must exist"
echo " Output merged file BED to be written."
echo ""
echo "Options:"
echo " -s, --strand"
echo " type: boolean_true"
echo " Force strandedness. That is, only merge features"
echo " that are on the same strand."
echo " - By default, merging is done without respect to strand."
echo ""
echo " -S, --specific_strand"
echo " type: string"
echo " choices: [ +, - ]"
echo " Force merge for one specific strand only."
echo " Follow with + or - to force merge from only"
echo " the forward or reverse strand, respectively."
echo " - By default, merging is done without respect to strand."
echo ""
echo " -d, --distance"
echo " type: integer"
echo " Maximum distance between features allowed for features"
echo " to be merged."
echo " - Def. 0. That is, overlapping & book-ended features are merged."
echo " - (INTEGER)"
echo " - Note: negative values enforce the number of b.p. required for overlap."
echo ""
echo " -c, --columns"
echo " type: integer"
echo " Specify columns from the B file to map onto intervals in A."
echo " Default: 5."
echo " Multiple columns can be specified in a comma-delimited list."
echo ""
echo " -o, --operation"
echo " type: string"
echo " Specify the operation that should be applied to -c."
echo " Valid operations:"
echo " sum, min, max, absmin, absmax,"
echo " mean, median, mode, antimode"
echo " stdev, sstdev"
echo " collapse (i.e., print a delimited list (duplicates allowed)),"
echo " distinct (i.e., print a delimited list (NO duplicates allowed)),"
echo " distinct_sort_num (as distinct, sorted numerically, ascending),"
echo " distinct_sort_num_desc (as distinct, sorted numerically,"
echo " desscending),"
echo " distinct_only (delimited list of only unique values),"
echo " count"
echo " count_distinct (i.e., a count of the unique values in the column),"
echo " first (i.e., just the first value in the column),"
echo " last (i.e., just the last value in the column),"
echo " Default: sum"
echo " Multiple operations can be specified in a comma-delimited list."
echo " If there is only column, but multiple operations, all operations will be"
echo " applied on that column. Likewise, if there is only one operation, but"
echo " multiple columns, that operation will be applied to all columns."
echo " Otherwise, the number of columns must match the the number of"
echo " operations,"
echo " and will be applied in respective order."
echo " E.g., \"-c 5,4,6 -o sum,mean,count\" will give the sum of column 5,"
echo " the mean of column 4, and the count of column 6."
echo " The order of output columns will match the ordering given in the"
echo " command."
echo ""
echo " -delim, --delimiter"
echo " type: string"
echo " default: ,"
echo " example: |"
echo " Specify a custom delimiter for the collapse operations."
echo ""
echo " -prec, --precision"
echo " type: integer"
echo " Sets the decimal precision for output (Default: 5)."
echo ""
echo " --bed"
echo " type: boolean_true"
echo " If using BAM input, write output as BED."
echo ""
echo " --header"
echo " type: boolean_true"
echo " Print the header from the A file prior to results."
echo ""
echo " -nobuf, --no_buffer"
echo " type: boolean_true"
echo " Disable buffered output. Using this option will cause each line"
echo " of output to be printed as it is generated, rather than saved"
echo " in a buffer. This will make printing large output files"
echo " noticeably slower, but can be useful in conjunction with"
echo " other software tools and scripts that need to process one"
echo " line of bedtools output at a time."
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
echo " ---memory=STRING"
echo " Amount of memory to use. Examples: 4GB, 3MiB."
echo ""
echo "Viash built in Docker:"
echo " ---setup=STRATEGY"
echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing."
echo " Default: ifneedbepullelsecachedbuild"
echo " ---dockerfile"
echo " Print the dockerfile to stdout."
echo " ---docker_run_args=ARG"
echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information."
echo " ---docker_image_id"
echo " Print the docker image id to stdout."
echo " ---debug"
echo " Enter the docker container for debugging purposes."
echo ""
echo "Viash built in Engines:"
echo " ---engine=ENGINE_ID"
echo " Specify the engine to use. Options are: docker, native."
echo " Default: docker"
}
# initialise array
VIASH_POSITIONAL_ARGS=''

View File

@@ -114,6 +114,9 @@ test_resources:
is_executable: true
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -221,16 +224,16 @@ build_info:
engine: "docker|native"
output: "target/executable/bedtools/bedtools_sort"
executable: "target/executable/bedtools/bedtools_sort/bedtools_sort"
viash_version: "0.9.0"
git_commit: "952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-27-g952ff08"
viash_version: "0.9.2"
git_commit: "5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.2.0-30-g5f6516e"
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"
viash_version: "0.9.2"
source: "src"
target: "target"
config_mods:

View File

@@ -2,7 +2,7 @@
# bedtools_sort main
#
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
# This wrapper script is auto-generated by viash 0.9.2 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
# Intuitive.
#
@@ -172,59 +172,6 @@ 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 "bedtools_sort main"
echo ""
echo "Sorts a feature file (bed/gff/vcf) by chromosome and other criteria."
echo ""
echo "Inputs:"
echo " -i, --input"
echo " type: file, required parameter, file must exist"
echo " Input file (bed/gff/vcf) to be sorted."
echo ""
echo "Outputs:"
echo " -o, --output"
echo " type: file, output, file must exist"
echo " Output sorted file (bed/gff/vcf) to be written."
echo ""
echo "Options:"
echo " --sizeA"
echo " type: boolean_true"
echo " Sort by feature size in ascending order."
echo ""
echo " --sizeD"
echo " type: boolean_true"
echo " Sort by feature size in descending order."
echo ""
echo " --chrThenSizeA"
echo " type: boolean_true"
echo " Sort by chrom (asc), then feature size (asc)."
echo ""
echo " --chrThenSizeD"
echo " type: boolean_true"
echo " Sort by chrom (asc), then feature size (desc)."
echo ""
echo " --chrThenScoreA"
echo " type: boolean_true"
echo " Sort by chrom (asc), then score (asc)."
echo ""
echo " --chrThenScoreD"
echo " type: boolean_true"
echo " Sort by chrom (asc), then score (desc)."
echo ""
echo " -g, --genome"
echo " type: file, file must exist"
echo " Sort according to the chromosomes declared in \"genome.txt\""
echo ""
echo " --faidx"
echo " type: file, file must exist"
echo " Sort according to the chromosomes declared in \"names.txt\""
echo ""
echo " --header"
echo " type: boolean_true"
echo " Print the header from the A file prior to results."
}
# initialise variables
VIASH_MODE='run'
@@ -509,9 +456,9 @@ RUN echo "bedtools: \"$(bedtools --version | sed -n 's/^bedtools //p')\"" > /var
LABEL org.opencontainers.image.authors="Theodoro Gasperin Terra Camargo"
LABEL org.opencontainers.image.description="Companion container for running component bedtools bedtools_sort"
LABEL org.opencontainers.image.created="2024-12-03T10:34:03Z"
LABEL org.opencontainers.image.created="2025-03-06T09:19:43Z"
LABEL org.opencontainers.image.source="https://github.com/arq5x/bedtools2"
LABEL org.opencontainers.image.revision="952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
LABEL org.opencontainers.image.revision="5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
@@ -626,6 +573,85 @@ fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "bedtools_sort main"
echo ""
echo "Sorts a feature file (bed/gff/vcf) by chromosome and other criteria."
echo ""
echo "Inputs:"
echo " -i, --input"
echo " type: file, required parameter, file must exist"
echo " Input file (bed/gff/vcf) to be sorted."
echo ""
echo "Outputs:"
echo " -o, --output"
echo " type: file, output, file must exist"
echo " Output sorted file (bed/gff/vcf) to be written."
echo ""
echo "Options:"
echo " --sizeA"
echo " type: boolean_true"
echo " Sort by feature size in ascending order."
echo ""
echo " --sizeD"
echo " type: boolean_true"
echo " Sort by feature size in descending order."
echo ""
echo " --chrThenSizeA"
echo " type: boolean_true"
echo " Sort by chrom (asc), then feature size (asc)."
echo ""
echo " --chrThenSizeD"
echo " type: boolean_true"
echo " Sort by chrom (asc), then feature size (desc)."
echo ""
echo " --chrThenScoreA"
echo " type: boolean_true"
echo " Sort by chrom (asc), then score (asc)."
echo ""
echo " --chrThenScoreD"
echo " type: boolean_true"
echo " Sort by chrom (asc), then score (desc)."
echo ""
echo " -g, --genome"
echo " type: file, file must exist"
echo " Sort according to the chromosomes declared in \"genome.txt\""
echo ""
echo " --faidx"
echo " type: file, file must exist"
echo " Sort according to the chromosomes declared in \"names.txt\""
echo ""
echo " --header"
echo " type: boolean_true"
echo " Print the header from the A file prior to results."
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
echo " ---memory=STRING"
echo " Amount of memory to use. Examples: 4GB, 3MiB."
echo ""
echo "Viash built in Docker:"
echo " ---setup=STRATEGY"
echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing."
echo " Default: ifneedbepullelsecachedbuild"
echo " ---dockerfile"
echo " Print the dockerfile to stdout."
echo " ---docker_run_args=ARG"
echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information."
echo " ---docker_image_id"
echo " Print the docker image id to stdout."
echo " ---debug"
echo " Enter the docker container for debugging purposes."
echo ""
echo "Viash built in Engines:"
echo " ---engine=ENGINE_ID"
echo " Specify the engine to use. Options are: docker, native."
echo " Default: docker"
}
# initialise array
VIASH_POSITIONAL_ARGS=''

View File

@@ -58,6 +58,9 @@ test_resources:
is_executable: true
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -157,16 +160,16 @@ build_info:
engine: "docker|native"
output: "target/executable/busco/busco_download_datasets"
executable: "target/executable/busco/busco_download_datasets/busco_download_datasets"
viash_version: "0.9.0"
git_commit: "952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-27-g952ff08"
viash_version: "0.9.2"
git_commit: "5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.2.0-30-g5f6516e"
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"
viash_version: "0.9.2"
source: "src"
target: "target"
config_mods:

View File

@@ -2,7 +2,7 @@
# busco_download_datasets main
#
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
# This wrapper script is auto-generated by viash 0.9.2 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
# Intuitive.
#
@@ -172,29 +172,6 @@ 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 "busco_download_datasets main"
echo ""
echo "Downloads available busco datasets"
echo ""
echo "Inputs:"
echo " --download"
echo " type: string, required parameter"
echo " example: stramenopiles_odb10"
echo " Download dataset. Possible values are a specific dataset name, \"all\","
echo " \"prokaryota\", \"eukaryota\", or \"virus\"."
echo " The full list of available datasets can be viewed"
echo " [here](https://busco-data.ezlab.org/v5/data/lineages/) or by running the"
echo " busco/busco_list_datasets component."
echo ""
echo "Outputs:"
echo " --download_path"
echo " type: file, output, file must exist"
echo " default: busco_downloads"
echo " example: busco_downloads"
echo " Local filepath for storing BUSCO dataset downloads"
}
# initialise variables
VIASH_MODE='run'
@@ -475,9 +452,9 @@ RUN busco --version | sed 's/BUSCO\s\(.*\)/busco: "\1"/' > /var/software_version
LABEL org.opencontainers.image.authors="Dorien Roosen"
LABEL org.opencontainers.image.description="Companion container for running component busco busco_download_datasets"
LABEL org.opencontainers.image.created="2024-12-03T10:34:01Z"
LABEL org.opencontainers.image.created="2025-03-06T09:19:40Z"
LABEL org.opencontainers.image.source="https://gitlab.com/ezlab/busco"
LABEL org.opencontainers.image.revision="952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
LABEL org.opencontainers.image.revision="5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
@@ -592,6 +569,55 @@ fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "busco_download_datasets main"
echo ""
echo "Downloads available busco datasets"
echo ""
echo "Inputs:"
echo " --download"
echo " type: string, required parameter"
echo " example: stramenopiles_odb10"
echo " Download dataset. Possible values are a specific dataset name, \"all\","
echo " \"prokaryota\", \"eukaryota\", or \"virus\"."
echo " The full list of available datasets can be viewed"
echo " [here](https://busco-data.ezlab.org/v5/data/lineages/) or by running the"
echo " busco/busco_list_datasets component."
echo ""
echo "Outputs:"
echo " --download_path"
echo " type: file, output, file must exist"
echo " default: busco_downloads"
echo " example: busco_downloads"
echo " Local filepath for storing BUSCO dataset downloads"
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
echo " ---memory=STRING"
echo " Amount of memory to use. Examples: 4GB, 3MiB."
echo ""
echo "Viash built in Docker:"
echo " ---setup=STRATEGY"
echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing."
echo " Default: ifneedbepullelsecachedbuild"
echo " ---dockerfile"
echo " Print the dockerfile to stdout."
echo " ---docker_run_args=ARG"
echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information."
echo " ---docker_image_id"
echo " Print the docker image id to stdout."
echo " ---debug"
echo " Enter the docker container for debugging purposes."
echo ""
echo "Viash built in Engines:"
echo " ---engine=ENGINE_ID"
echo " Specify the engine to use. Options are: docker, native."
echo " Default: docker"
}
# initialise array
VIASH_POSITIONAL_ARGS=''

View File

@@ -45,6 +45,9 @@ test_resources:
is_executable: true
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -144,16 +147,16 @@ build_info:
engine: "docker|native"
output: "target/executable/busco/busco_list_datasets"
executable: "target/executable/busco/busco_list_datasets/busco_list_datasets"
viash_version: "0.9.0"
git_commit: "952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-27-g952ff08"
viash_version: "0.9.2"
git_commit: "5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.2.0-30-g5f6516e"
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"
viash_version: "0.9.2"
source: "src"
target: "target"
config_mods:

View File

@@ -2,7 +2,7 @@
# busco_list_datasets main
#
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
# This wrapper script is auto-generated by viash 0.9.2 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
# Intuitive.
#
@@ -172,19 +172,6 @@ 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 "busco_list_datasets main"
echo ""
echo "Lists the available busco datasets"
echo ""
echo "Outputs:"
echo " -o, --output"
echo " type: file, output, file must exist"
echo " default: busco_dataset_list.txt"
echo " example: file.txt"
echo " Output file of the available busco datasets"
}
# initialise variables
VIASH_MODE='run'
@@ -465,9 +452,9 @@ RUN busco --version | sed 's/BUSCO\s\(.*\)/busco: "\1"/' > /var/software_version
LABEL org.opencontainers.image.authors="Dorien Roosen"
LABEL org.opencontainers.image.description="Companion container for running component busco busco_list_datasets"
LABEL org.opencontainers.image.created="2024-12-03T10:34:00Z"
LABEL org.opencontainers.image.created="2025-03-06T09:19:40Z"
LABEL org.opencontainers.image.source="https://gitlab.com/ezlab/busco"
LABEL org.opencontainers.image.revision="952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
LABEL org.opencontainers.image.revision="5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
@@ -582,6 +569,45 @@ fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "busco_list_datasets main"
echo ""
echo "Lists the available busco datasets"
echo ""
echo "Outputs:"
echo " -o, --output"
echo " type: file, output, file must exist"
echo " default: busco_dataset_list.txt"
echo " example: file.txt"
echo " Output file of the available busco datasets"
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
echo " ---memory=STRING"
echo " Amount of memory to use. Examples: 4GB, 3MiB."
echo ""
echo "Viash built in Docker:"
echo " ---setup=STRATEGY"
echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing."
echo " Default: ifneedbepullelsecachedbuild"
echo " ---dockerfile"
echo " Print the dockerfile to stdout."
echo " ---docker_run_args=ARG"
echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information."
echo " ---docker_image_id"
echo " Print the docker image id to stdout."
echo " ---debug"
echo " Enter the docker container for debugging purposes."
echo ""
echo "Viash built in Engines:"
echo " ---engine=ENGINE_ID"
echo " Specify the engine to use. Options are: docker, native."
echo " Default: docker"
}
# initialise array
VIASH_POSITIONAL_ARGS=''

View File

@@ -322,6 +322,9 @@ test_resources:
path: "test_data"
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -422,16 +425,16 @@ build_info:
engine: "docker|native"
output: "target/executable/busco/busco_run"
executable: "target/executable/busco/busco_run/busco_run"
viash_version: "0.9.0"
git_commit: "952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-27-g952ff08"
viash_version: "0.9.2"
git_commit: "5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.2.0-30-g5f6516e"
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"
viash_version: "0.9.2"
source: "src"
target: "target"
config_mods:

View File

@@ -2,7 +2,7 @@
# busco_run main
#
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
# This wrapper script is auto-generated by viash 0.9.2 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
# Intuitive.
#
@@ -172,186 +172,6 @@ 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 "busco_run main"
echo ""
echo "Assessment of genome assembly and annotation completeness with single copy"
echo "orthologs"
echo ""
echo "Inputs:"
echo " -i, --input"
echo " type: file, required parameter, file must exist"
echo " example: file.fasta"
echo " Input sequence file in FASTA format. Can be an assembled genome or"
echo " transcriptome (DNA), or protein sequences from an annotated gene set."
echo " Also possible to use a path to a directory containing multiple input"
echo " files."
echo ""
echo " -m, --mode"
echo " type: string, required parameter"
echo " example: proteins"
echo " choices: [ genome, geno, transcriptome, tran, proteins, prot ]"
echo " Specify which BUSCO analysis mode to run. There are three valid modes:"
echo " - geno or genome, for genome assemblies (DNA)"
echo " - tran or transcriptome, for transcriptome assemblies (DNA)"
echo " - prot or proteins, for annotated gene sets (protein)"
echo ""
echo " -l, --lineage_dataset"
echo " type: string"
echo " example: stramenopiles_odb10"
echo " Specify a BUSCO lineage dataset that is most closely related to the"
echo " assembly or gene set being assessed."
echo " The full list of available datasets can be viewed"
echo " [here](https://busco-data.ezlab.org/v5/data/lineages/) or by running the"
echo " busco/busco_list_datasets component."
echo " When unsure, the \"--auto_lineage\" flag can be set to automatically find"
echo " the optimal lineage path."
echo " BUSCO will automatically download the requested dataset if it is not"
echo " already present in the download folder."
echo " You can optionally provide a path to a local dataset instead of a name,"
echo " e.g. path/to/dataset."
echo " Datasets can be downloaded using the busco/busco_download_dataset"
echo " component."
echo ""
echo "Outputs:"
echo " --short_summary_json"
echo " type: file, output, file must exist"
echo " example: short_summary.json"
echo " Output file for short summary in JSON format."
echo ""
echo " --short_summary_txt"
echo " type: file, output, file must exist"
echo " example: short_summary.txt"
echo " Output file for short summary in TXT format."
echo ""
echo " --full_table"
echo " type: file, output, file must exist"
echo " example: full_table.tsv"
echo " Full table output in TSV format."
echo ""
echo " --missing_busco_list"
echo " type: file, output, file must exist"
echo " example: missing_busco_list.tsv"
echo " Missing list output in TSV format."
echo ""
echo " --output_dir"
echo " type: file, output, file must exist"
echo " example: output_dir"
echo " The full output directory, if so desired."
echo ""
echo "Resource and Run Settings:"
echo " --force"
echo " type: boolean_true"
echo " Force rewriting of existing files. Must be used when output files with"
echo " the provided name already exist."
echo ""
echo " -q, --quiet"
echo " type: boolean_true"
echo " Disable the info logs, displays only errors."
echo ""
echo " -r, --restart"
echo " type: boolean_true"
echo " Continue a run that had already partially completed. Restarting skips"
echo " calls to tools that have completed but performs all pre- and"
echo " post-processing steps."
echo ""
echo " --tar"
echo " type: boolean_true"
echo " Compress some subdirectories with many files to save space."
echo ""
echo "Lineage Dataset Settings:"
echo " --auto_lineage"
echo " type: boolean_true"
echo " Run auto-lineage pipelilne to automatically determine BUSCO lineage"
echo " dataset that is most closely related to the assembly or gene set being"
echo " assessed."
echo ""
echo " --auto_lineage_euk"
echo " type: boolean_true"
echo " Run auto-placement just on eukaryota tree to find optimal lineage path."
echo ""
echo " --auto_lineage_prok"
echo " type: boolean_true"
echo " Run auto_lineage just on prokaryota trees to find optimum lineage path."
echo ""
echo " --datasets_version"
echo " type: string"
echo " example: odb10"
echo " Specify the version of BUSCO datasets"
echo ""
echo "Augustus Settings:"
echo " --augustus"
echo " type: boolean_true"
echo " Use augustus gene predictor for eukaryote runs."
echo ""
echo " --augustus_parameters"
echo " type: string"
echo " example: --PARAM1=VALUE1,--PARAM2=VALUE2"
echo " Additional parameters to be passed to Augustus (see Augustus"
echo " documentation:"
echo " "
echo "https://github.com/Gaius-Augustus/Augustus/blob/master/docs/RUNNING-AUGUSTUS.md)."
echo " Parameters should be contained within a single string, without"
echo " whitespace and seperated by commas."
echo ""
echo " --augustus_species"
echo " type: string"
echo " Specify the augustus species"
echo ""
echo " --long"
echo " type: boolean_true"
echo " Optimize Augustus self-training mode. This adds considerably to the run"
echo " time, but can improve results for some non-model organisms."
echo ""
echo "BBTools Settings:"
echo " --contig_break"
echo " type: integer"
echo " Number of contiguous Ns to signify a break between contigs in BBTools"
echo " analysis."
echo ""
echo " --limit"
echo " type: integer"
echo " Number of candidate regions (contig or transcript) from the BLAST output"
echo " to consider per BUSCO."
echo " This option is only effective in pipelines using BLAST, i.e. the genome"
echo " pipeline (see --augustus) or the prokaryota transcriptome pipeline."
echo ""
echo " --scaffold_composition"
echo " type: boolean_true"
echo " Writes ACGTN content per scaffold to a file scaffold_composition.txt."
echo ""
echo "BLAST Settings:"
echo " --e_value"
echo " type: double"
echo " E-value cutoff for BLAST searches."
echo ""
echo "Protein Gene Prediction settings:"
echo " --miniprot"
echo " type: boolean_true"
echo " Use Miniprot gene predictor."
echo ""
echo "MetaEuk Settings:"
echo " --metaeuk"
echo " type: boolean_true"
echo " Use Metaeuk gene predictor."
echo ""
echo " --metaeuk_parameters"
echo " type: string"
echo " example: --max-overlap=15,--min-exon-aa=15"
echo " Pass additional arguments to Metaeuk for the first run (see Metaeuk"
echo " documentation https://github.com/soedinglab/metaeuk)."
echo " All parameters should be contained within a single string with no white"
echo " space, with each parameter separated by a comma."
echo ""
echo " --metaeuk_rerun_parameters"
echo " type: string"
echo " example: --max-overlap=15,--min-exon-aa=15"
echo " Pass additional arguments to Metaeuk for the second run (see Metaeuk"
echo " documentation https://github.com/soedinglab/metaeuk)."
echo " All parameters should be contained within a single string with no white"
echo " space, with each parameter separated by a comma."
}
# initialise variables
VIASH_MODE='run'
@@ -632,9 +452,9 @@ RUN busco --version | sed 's/BUSCO\s\(.*\)/busco: "\1"/' > /var/software_version
LABEL org.opencontainers.image.authors="Dorien Roosen"
LABEL org.opencontainers.image.description="Companion container for running component busco busco_run"
LABEL org.opencontainers.image.created="2024-12-03T10:34:00Z"
LABEL org.opencontainers.image.created="2025-03-06T09:19:40Z"
LABEL org.opencontainers.image.source="https://gitlab.com/ezlab/busco"
LABEL org.opencontainers.image.revision="952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
LABEL org.opencontainers.image.revision="5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
@@ -749,6 +569,212 @@ fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "busco_run main"
echo ""
echo "Assessment of genome assembly and annotation completeness with single copy"
echo "orthologs"
echo ""
echo "Inputs:"
echo " -i, --input"
echo " type: file, required parameter, file must exist"
echo " example: file.fasta"
echo " Input sequence file in FASTA format. Can be an assembled genome or"
echo " transcriptome (DNA), or protein sequences from an annotated gene set."
echo " Also possible to use a path to a directory containing multiple input"
echo " files."
echo ""
echo " -m, --mode"
echo " type: string, required parameter"
echo " example: proteins"
echo " choices: [ genome, geno, transcriptome, tran, proteins, prot ]"
echo " Specify which BUSCO analysis mode to run. There are three valid modes:"
echo " - geno or genome, for genome assemblies (DNA)"
echo " - tran or transcriptome, for transcriptome assemblies (DNA)"
echo " - prot or proteins, for annotated gene sets (protein)"
echo ""
echo " -l, --lineage_dataset"
echo " type: string"
echo " example: stramenopiles_odb10"
echo " Specify a BUSCO lineage dataset that is most closely related to the"
echo " assembly or gene set being assessed."
echo " The full list of available datasets can be viewed"
echo " [here](https://busco-data.ezlab.org/v5/data/lineages/) or by running the"
echo " busco/busco_list_datasets component."
echo " When unsure, the \"--auto_lineage\" flag can be set to automatically find"
echo " the optimal lineage path."
echo " BUSCO will automatically download the requested dataset if it is not"
echo " already present in the download folder."
echo " You can optionally provide a path to a local dataset instead of a name,"
echo " e.g. path/to/dataset."
echo " Datasets can be downloaded using the busco/busco_download_dataset"
echo " component."
echo ""
echo "Outputs:"
echo " --short_summary_json"
echo " type: file, output, file must exist"
echo " example: short_summary.json"
echo " Output file for short summary in JSON format."
echo ""
echo " --short_summary_txt"
echo " type: file, output, file must exist"
echo " example: short_summary.txt"
echo " Output file for short summary in TXT format."
echo ""
echo " --full_table"
echo " type: file, output, file must exist"
echo " example: full_table.tsv"
echo " Full table output in TSV format."
echo ""
echo " --missing_busco_list"
echo " type: file, output, file must exist"
echo " example: missing_busco_list.tsv"
echo " Missing list output in TSV format."
echo ""
echo " --output_dir"
echo " type: file, output, file must exist"
echo " example: output_dir"
echo " The full output directory, if so desired."
echo ""
echo "Resource and Run Settings:"
echo " --force"
echo " type: boolean_true"
echo " Force rewriting of existing files. Must be used when output files with"
echo " the provided name already exist."
echo ""
echo " -q, --quiet"
echo " type: boolean_true"
echo " Disable the info logs, displays only errors."
echo ""
echo " -r, --restart"
echo " type: boolean_true"
echo " Continue a run that had already partially completed. Restarting skips"
echo " calls to tools that have completed but performs all pre- and"
echo " post-processing steps."
echo ""
echo " --tar"
echo " type: boolean_true"
echo " Compress some subdirectories with many files to save space."
echo ""
echo "Lineage Dataset Settings:"
echo " --auto_lineage"
echo " type: boolean_true"
echo " Run auto-lineage pipelilne to automatically determine BUSCO lineage"
echo " dataset that is most closely related to the assembly or gene set being"
echo " assessed."
echo ""
echo " --auto_lineage_euk"
echo " type: boolean_true"
echo " Run auto-placement just on eukaryota tree to find optimal lineage path."
echo ""
echo " --auto_lineage_prok"
echo " type: boolean_true"
echo " Run auto_lineage just on prokaryota trees to find optimum lineage path."
echo ""
echo " --datasets_version"
echo " type: string"
echo " example: odb10"
echo " Specify the version of BUSCO datasets"
echo ""
echo "Augustus Settings:"
echo " --augustus"
echo " type: boolean_true"
echo " Use augustus gene predictor for eukaryote runs."
echo ""
echo " --augustus_parameters"
echo " type: string"
echo " example: --PARAM1=VALUE1,--PARAM2=VALUE2"
echo " Additional parameters to be passed to Augustus (see Augustus"
echo " documentation:"
echo " "
echo "https://github.com/Gaius-Augustus/Augustus/blob/master/docs/RUNNING-AUGUSTUS.md)."
echo " Parameters should be contained within a single string, without"
echo " whitespace and seperated by commas."
echo ""
echo " --augustus_species"
echo " type: string"
echo " Specify the augustus species"
echo ""
echo " --long"
echo " type: boolean_true"
echo " Optimize Augustus self-training mode. This adds considerably to the run"
echo " time, but can improve results for some non-model organisms."
echo ""
echo "BBTools Settings:"
echo " --contig_break"
echo " type: integer"
echo " Number of contiguous Ns to signify a break between contigs in BBTools"
echo " analysis."
echo ""
echo " --limit"
echo " type: integer"
echo " Number of candidate regions (contig or transcript) from the BLAST output"
echo " to consider per BUSCO."
echo " This option is only effective in pipelines using BLAST, i.e. the genome"
echo " pipeline (see --augustus) or the prokaryota transcriptome pipeline."
echo ""
echo " --scaffold_composition"
echo " type: boolean_true"
echo " Writes ACGTN content per scaffold to a file scaffold_composition.txt."
echo ""
echo "BLAST Settings:"
echo " --e_value"
echo " type: double"
echo " E-value cutoff for BLAST searches."
echo ""
echo "Protein Gene Prediction settings:"
echo " --miniprot"
echo " type: boolean_true"
echo " Use Miniprot gene predictor."
echo ""
echo "MetaEuk Settings:"
echo " --metaeuk"
echo " type: boolean_true"
echo " Use Metaeuk gene predictor."
echo ""
echo " --metaeuk_parameters"
echo " type: string"
echo " example: --max-overlap=15,--min-exon-aa=15"
echo " Pass additional arguments to Metaeuk for the first run (see Metaeuk"
echo " documentation https://github.com/soedinglab/metaeuk)."
echo " All parameters should be contained within a single string with no white"
echo " space, with each parameter separated by a comma."
echo ""
echo " --metaeuk_rerun_parameters"
echo " type: string"
echo " example: --max-overlap=15,--min-exon-aa=15"
echo " Pass additional arguments to Metaeuk for the second run (see Metaeuk"
echo " documentation https://github.com/soedinglab/metaeuk)."
echo " All parameters should be contained within a single string with no white"
echo " space, with each parameter separated by a comma."
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
echo " ---memory=STRING"
echo " Amount of memory to use. Examples: 4GB, 3MiB."
echo ""
echo "Viash built in Docker:"
echo " ---setup=STRATEGY"
echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing."
echo " Default: ifneedbepullelsecachedbuild"
echo " ---dockerfile"
echo " Print the dockerfile to stdout."
echo " ---docker_run_args=ARG"
echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information."
echo " ---docker_image_id"
echo " Print the docker image id to stdout."
echo " ---debug"
echo " Enter the docker container for debugging purposes."
echo ""
echo "Viash built in Engines:"
echo " ---engine=ENGINE_ID"
echo " Specify the engine to use. Options are: docker, native."
echo " Default: docker"
}
# initialise array
VIASH_POSITIONAL_ARGS=''

View File

@@ -75,6 +75,9 @@ test_resources:
path: "test_data"
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -194,16 +197,16 @@ build_info:
engine: "docker|native"
output: "target/executable/cellranger/cellranger_mkref"
executable: "target/executable/cellranger/cellranger_mkref/cellranger_mkref"
viash_version: "0.9.0"
git_commit: "952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-27-g952ff08"
viash_version: "0.9.2"
git_commit: "5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.2.0-30-g5f6516e"
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"
viash_version: "0.9.2"
source: "src"
target: "target"
config_mods:

View File

@@ -2,7 +2,7 @@
# cellranger_mkref main
#
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
# This wrapper script is auto-generated by viash 0.9.2 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
# Intuitive.
#
@@ -172,33 +172,6 @@ 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 "cellranger_mkref main"
echo ""
echo "Build a Cell Ranger-compatible reference folder from user-supplied genome FASTA"
echo "and gene GTF files."
echo ""
echo "Arguments:"
echo " --genome_fasta"
echo " type: file, required parameter, file must exist"
echo " example: genome_sequence.fa.gz"
echo " Reference genome fasta."
echo ""
echo " --transcriptome_gtf"
echo " type: file, required parameter, file must exist"
echo " example: transcriptome_annotation.gtf.gz"
echo " Reference transcriptome annotation."
echo ""
echo " --reference_version"
echo " type: string"
echo " Optional reference version string to include with reference"
echo ""
echo " --output"
echo " type: file, required parameter, output, file must exist"
echo " example: cellranger_reference"
echo " Output folder"
}
# initialise variables
VIASH_MODE='run'
@@ -481,9 +454,9 @@ RUN apt-get update && \
LABEL org.opencontainers.image.authors="Emma Rousseau"
LABEL org.opencontainers.image.description="Companion container for running component cellranger cellranger_mkref"
LABEL org.opencontainers.image.created="2024-12-03T10:34:01Z"
LABEL org.opencontainers.image.created="2025-03-06T09:19:45Z"
LABEL org.opencontainers.image.source="https://github.com/10XGenomics/cellranger/blob/main/lib/python/cellranger/reference_builder.py"
LABEL org.opencontainers.image.revision="952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
LABEL org.opencontainers.image.revision="5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
@@ -598,6 +571,59 @@ fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "cellranger_mkref main"
echo ""
echo "Build a Cell Ranger-compatible reference folder from user-supplied genome FASTA"
echo "and gene GTF files."
echo ""
echo "Arguments:"
echo " --genome_fasta"
echo " type: file, required parameter, file must exist"
echo " example: genome_sequence.fa.gz"
echo " Reference genome fasta."
echo ""
echo " --transcriptome_gtf"
echo " type: file, required parameter, file must exist"
echo " example: transcriptome_annotation.gtf.gz"
echo " Reference transcriptome annotation."
echo ""
echo " --reference_version"
echo " type: string"
echo " Optional reference version string to include with reference"
echo ""
echo " --output"
echo " type: file, required parameter, output, file must exist"
echo " example: cellranger_reference"
echo " Output folder"
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
echo " ---memory=STRING"
echo " Amount of memory to use. Examples: 4GB, 3MiB."
echo ""
echo "Viash built in Docker:"
echo " ---setup=STRATEGY"
echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing."
echo " Default: ifneedbepullelsecachedbuild"
echo " ---dockerfile"
echo " Print the dockerfile to stdout."
echo " ---docker_run_args=ARG"
echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information."
echo " ---docker_image_id"
echo " Print the docker image id to stdout."
echo " ---debug"
echo " Enter the docker container for debugging purposes."
echo ""
echo "Viash built in Engines:"
echo " ---engine=ENGINE_ID"
echo " Specify the engine to use. Options are: docker, native."
echo " Default: docker"
}
# initialise array
VIASH_POSITIONAL_ARGS=''

View File

@@ -633,6 +633,9 @@ test_resources:
is_executable: true
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -739,16 +742,16 @@ build_info:
engine: "docker|native"
output: "target/executable/cutadapt"
executable: "target/executable/cutadapt/cutadapt"
viash_version: "0.9.0"
git_commit: "952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-27-g952ff08"
viash_version: "0.9.2"
git_commit: "5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.2.0-30-g5f6516e"
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"
viash_version: "0.9.2"
source: "src"
target: "target"
config_mods:

View File

@@ -2,7 +2,7 @@
# cutadapt main
#
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
# This wrapper script is auto-generated by viash 0.9.2 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
# Intuitive.
#
@@ -172,6 +172,407 @@ VIASH_META_CONFIG="$VIASH_META_RESOURCES_DIR/.config.vsh.yaml"
VIASH_META_TEMP_DIR="$VIASH_TEMP"
# initialise variables
VIASH_MODE='run'
VIASH_ENGINE_ID='docker'
######## Helper functions for setting up Docker images for viash ########
# expects: ViashDockerBuild
# ViashDockerInstallationCheck: check whether Docker is installed correctly
#
# examples:
# ViashDockerInstallationCheck
function ViashDockerInstallationCheck {
ViashDebug "Checking whether Docker is installed"
if [ ! command -v docker &> /dev/null ]; then
ViashCritical "Docker doesn't seem to be installed. See 'https://docs.docker.com/get-docker/' for instructions."
exit 1
fi
ViashDebug "Checking whether the Docker daemon is running"
local save=$-; set +e
local docker_version=$(docker version --format '{{.Client.APIVersion}}' 2> /dev/null)
local out=$?
[[ $save =~ e ]] && set -e
if [ $out -ne 0 ]; then
ViashCritical "Docker daemon does not seem to be running. Try one of the following:"
ViashCritical "- Try running 'dockerd' in the command line"
ViashCritical "- See https://docs.docker.com/config/daemon/"
exit 1
fi
}
# ViashDockerRemoteTagCheck: check whether a Docker image is available
# on a remote. Assumes `docker login` has been performed, if relevant.
#
# $1 : image identifier with format `[registry/]image[:tag]`
# exit code $? : whether or not the image was found
# examples:
# ViashDockerRemoteTagCheck python:latest
# echo $? # returns '0'
# ViashDockerRemoteTagCheck sdaizudceahifu
# echo $? # returns '1'
function ViashDockerRemoteTagCheck {
docker manifest inspect $1 > /dev/null 2> /dev/null
}
# ViashDockerLocalTagCheck: check whether a Docker image is available locally
#
# $1 : image identifier with format `[registry/]image[:tag]`
# exit code $? : whether or not the image was found
# examples:
# docker pull python:latest
# ViashDockerLocalTagCheck python:latest
# echo $? # returns '0'
# ViashDockerLocalTagCheck sdaizudceahifu
# echo $? # returns '1'
function ViashDockerLocalTagCheck {
[ -n "$(docker images -q $1)" ]
}
# ViashDockerPull: pull a Docker image
#
# $1 : image identifier with format `[registry/]image[:tag]`
# exit code $? : whether or not the image was found
# examples:
# ViashDockerPull python:latest
# echo $? # returns '0'
# ViashDockerPull sdaizudceahifu
# echo $? # returns '1'
function ViashDockerPull {
ViashNotice "Checking if Docker image is available at '$1'"
if [ $VIASH_VERBOSITY -ge $VIASH_LOGCODE_INFO ]; then
docker pull $1 && return 0 || return 1
else
local save=$-; set +e
docker pull $1 2> /dev/null > /dev/null
local out=$?
[[ $save =~ e ]] && set -e
if [ $out -ne 0 ]; then
ViashWarning "Could not pull from '$1'. Docker image doesn't exist or is not accessible."
fi
return $out
fi
}
# ViashDockerPush: push a Docker image
#
# $1 : image identifier with format `[registry/]image[:tag]`
# exit code $? : whether or not the image was found
# examples:
# ViashDockerPush python:latest
# echo $? # returns '0'
# ViashDockerPush sdaizudceahifu
# echo $? # returns '1'
function ViashDockerPush {
ViashNotice "Pushing image to '$1'"
local save=$-; set +e
local out
if [ $VIASH_VERBOSITY -ge $VIASH_LOGCODE_INFO ]; then
docker push $1
out=$?
else
docker push $1 2> /dev/null > /dev/null
out=$?
fi
[[ $save =~ e ]] && set -e
if [ $out -eq 0 ]; then
ViashNotice "Container '$1' push succeeded."
else
ViashError "Container '$1' push errored. You might not be logged in or have the necessary permissions."
fi
return $out
}
# ViashDockerPullElseBuild: pull a Docker image, else build it
#
# $1 : image identifier with format `[registry/]image[:tag]`
# ViashDockerBuild : a Bash function which builds a docker image, takes image identifier as argument.
# examples:
# ViashDockerPullElseBuild mynewcomponent
function ViashDockerPullElseBuild {
local save=$-; set +e
ViashDockerPull $1
local out=$?
[[ $save =~ e ]] && set -e
if [ $out -ne 0 ]; then
ViashDockerBuild $@
fi
}
# ViashDockerSetup: create a Docker image, according to specified docker setup strategy
#
# $1 : image identifier with format `[registry/]image[:tag]`
# $2 : docker setup strategy, see DockerSetupStrategy.scala
# examples:
# ViashDockerSetup mynewcomponent alwaysbuild
function ViashDockerSetup {
local image_id="$1"
local setup_strategy="$2"
if [ "$setup_strategy" == "alwaysbuild" -o "$setup_strategy" == "build" -o "$setup_strategy" == "b" ]; then
ViashDockerBuild $image_id --no-cache $(ViashDockerBuildArgs "$engine_id")
elif [ "$setup_strategy" == "alwayspull" -o "$setup_strategy" == "pull" -o "$setup_strategy" == "p" ]; then
ViashDockerPull $image_id
elif [ "$setup_strategy" == "alwayspullelsebuild" -o "$setup_strategy" == "pullelsebuild" ]; then
ViashDockerPullElseBuild $image_id --no-cache $(ViashDockerBuildArgs "$engine_id")
elif [ "$setup_strategy" == "alwayspullelsecachedbuild" -o "$setup_strategy" == "pullelsecachedbuild" ]; then
ViashDockerPullElseBuild $image_id $(ViashDockerBuildArgs "$engine_id")
elif [ "$setup_strategy" == "alwayscachedbuild" -o "$setup_strategy" == "cachedbuild" -o "$setup_strategy" == "cb" ]; then
ViashDockerBuild $image_id $(ViashDockerBuildArgs "$engine_id")
elif [[ "$setup_strategy" =~ ^ifneedbe ]]; then
local save=$-; set +e
ViashDockerLocalTagCheck $image_id
local outCheck=$?
[[ $save =~ e ]] && set -e
if [ $outCheck -eq 0 ]; then
ViashInfo "Image $image_id already exists"
elif [ "$setup_strategy" == "ifneedbebuild" ]; then
ViashDockerBuild $image_id --no-cache $(ViashDockerBuildArgs "$engine_id")
elif [ "$setup_strategy" == "ifneedbecachedbuild" ]; then
ViashDockerBuild $image_id $(ViashDockerBuildArgs "$engine_id")
elif [ "$setup_strategy" == "ifneedbepull" ]; then
ViashDockerPull $image_id
elif [ "$setup_strategy" == "ifneedbepullelsebuild" ]; then
ViashDockerPullElseBuild $image_id --no-cache $(ViashDockerBuildArgs "$engine_id")
elif [ "$setup_strategy" == "ifneedbepullelsecachedbuild" ]; then
ViashDockerPullElseBuild $image_id $(ViashDockerBuildArgs "$engine_id")
else
ViashError "Unrecognised Docker strategy: $setup_strategy"
exit 1
fi
elif [ "$setup_strategy" == "push" -o "$setup_strategy" == "forcepush" -o "$setup_strategy" == "alwayspush" ]; then
ViashDockerPush "$image_id"
elif [ "$setup_strategy" == "pushifnotpresent" -o "$setup_strategy" == "gentlepush" -o "$setup_strategy" == "maybepush" ]; then
local save=$-; set +e
ViashDockerRemoteTagCheck $image_id
local outCheck=$?
[[ $save =~ e ]] && set -e
if [ $outCheck -eq 0 ]; then
ViashNotice "Container '$image_id' exists, doing nothing."
else
ViashNotice "Container '$image_id' does not yet exist."
ViashDockerPush "$image_id"
fi
elif [ "$setup_strategy" == "donothing" -o "$setup_strategy" == "meh" ]; then
ViashNotice "Skipping setup."
else
ViashError "Unrecognised Docker strategy: $setup_strategy"
exit 1
fi
}
# ViashDockerCheckCommands: Check whether a docker container has the required commands
#
# $1 : image identifier with format `[registry/]image[:tag]`
# $@ : commands to verify being present
# examples:
# ViashDockerCheckCommands bash:4.0 bash ps foo
function ViashDockerCheckCommands {
local image_id="$1"
shift 1
local commands="$@"
local save=$-; set +e
local missing # mark 'missing' as local in advance, otherwise the exit code of the command will be missing and always be '0'
missing=$(docker run --rm --entrypoint=sh "$image_id" -c "for command in $commands; do command -v \$command >/dev/null 2>&1; if [ \$? -ne 0 ]; then echo \$command; exit 1; fi; done")
local outCheck=$?
[[ $save =~ e ]] && set -e
if [ $outCheck -ne 0 ]; then
ViashError "Docker container '$image_id' does not contain command '$missing'."
exit 1
fi
}
# ViashDockerBuild: build a docker image
# $1 : image identifier with format `[registry/]image[:tag]`
# $... : additional arguments to pass to docker build
# $VIASH_META_TEMP_DIR : temporary directory to store dockerfile & optional resources in
# $VIASH_META_NAME : name of the component
# $VIASH_META_RESOURCES_DIR : directory containing the resources
# $VIASH_VERBOSITY : verbosity level
# exit code $? : whether or not the image was built successfully
function ViashDockerBuild {
local image_id="$1"
shift 1
# create temporary directory to store dockerfile & optional resources in
local tmpdir=$(mktemp -d "$VIASH_META_TEMP_DIR/dockerbuild-$VIASH_META_NAME-XXXXXX")
local dockerfile="$tmpdir/Dockerfile"
function clean_up {
rm -rf "$tmpdir"
}
trap clean_up EXIT
# store dockerfile and resources
ViashDockerfile "$VIASH_ENGINE_ID" > "$dockerfile"
# generate the build command
local docker_build_cmd="docker build -t '$image_id' $@ '$VIASH_META_RESOURCES_DIR' -f '$dockerfile'"
# build the container
ViashNotice "Building container '$image_id' with Dockerfile"
ViashInfo "$docker_build_cmd"
local save=$-; set +e
if [ $VIASH_VERBOSITY -ge $VIASH_LOGCODE_INFO ]; then
eval $docker_build_cmd
else
eval $docker_build_cmd &> "$tmpdir/docker_build.log"
fi
# check exit code
local out=$?
[[ $save =~ e ]] && set -e
if [ $out -ne 0 ]; then
ViashError "Error occurred while building container '$image_id'"
if [ $VIASH_VERBOSITY -lt $VIASH_LOGCODE_INFO ]; then
ViashError "Transcript: --------------------------------"
cat "$tmpdir/docker_build.log"
ViashError "End of transcript --------------------------"
fi
exit 1
fi
}
######## End of helper functions for setting up Docker images for viash ########
# ViashDockerFile: print the dockerfile to stdout
# $1 : engine identifier
# return : dockerfile required to run this component
# examples:
# ViashDockerFile
function ViashDockerfile {
local engine_id="$1"
if [[ "$engine_id" == "docker" ]]; then
cat << 'VIASHDOCKER'
FROM python:3.12
ENTRYPOINT []
RUN pip install --upgrade pip && \
pip install --upgrade --no-cache-dir "cutadapt"
RUN cutadapt --version | sed 's/\(.*\)/cutadapt: "\1"/' > /var/software_versions.txt
LABEL org.opencontainers.image.authors="Toni Verbeiren"
LABEL org.opencontainers.image.description="Companion container for running component cutadapt"
LABEL org.opencontainers.image.created="2025-03-06T09:19:35Z"
LABEL org.opencontainers.image.source="https://github.com/marcelm/cutadapt"
LABEL org.opencontainers.image.revision="5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
fi
}
# ViashDockerBuildArgs: return the arguments to pass to docker build
# $1 : engine identifier
# return : arguments to pass to docker build
function ViashDockerBuildArgs {
local engine_id="$1"
if [[ "$engine_id" == "docker" ]]; then
echo ""
fi
}
# ViashAbsolutePath: generate absolute path from relative path
# borrowed from https://stackoverflow.com/a/21951256
# $1 : relative filename
# return : absolute path
# examples:
# ViashAbsolutePath some_file.txt # returns /path/to/some_file.txt
# ViashAbsolutePath /foo/bar/.. # returns /foo
function ViashAbsolutePath {
local thePath
local parr
local outp
local len
if [[ ! "$1" =~ ^/ ]]; then
thePath="$PWD/$1"
else
thePath="$1"
fi
echo "$thePath" | (
IFS=/
read -a parr
declare -a outp
for i in "${parr[@]}"; do
case "$i" in
''|.) continue ;;
..)
len=${#outp[@]}
if ((len==0)); then
continue
else
unset outp[$((len-1))]
fi
;;
*)
len=${#outp[@]}
outp[$len]="$i"
;;
esac
done
echo /"${outp[*]}"
)
}
# ViashDockerAutodetectMount: auto configuring docker mounts from parameters
# $1 : The parameter value
# returns : New parameter
# $VIASH_DIRECTORY_MOUNTS : Added another parameter to be passed to docker
# $VIASH_DOCKER_AUTOMOUNT_PREFIX : The prefix to be used for the automounts
# examples:
# ViashDockerAutodetectMount /path/to/bar # returns '/viash_automount/path/to/bar'
# ViashDockerAutodetectMountArg /path/to/bar # returns '--volume="/path/to:/viash_automount/path/to"'
function ViashDockerAutodetectMount {
local abs_path=$(ViashAbsolutePath "$1")
local mount_source
local base_name
if [ -d "$abs_path" ]; then
mount_source="$abs_path"
base_name=""
else
mount_source=`dirname "$abs_path"`
base_name=`basename "$abs_path"`
fi
local mount_target="$VIASH_DOCKER_AUTOMOUNT_PREFIX$mount_source"
if [ -z "$base_name" ]; then
echo "$mount_target"
else
echo "$mount_target/$base_name"
fi
}
function ViashDockerAutodetectMountArg {
local abs_path=$(ViashAbsolutePath "$1")
local mount_source
local base_name
if [ -d "$abs_path" ]; then
mount_source="$abs_path"
base_name=""
else
mount_source=`dirname "$abs_path"`
base_name=`basename "$abs_path"`
fi
local mount_target="$VIASH_DOCKER_AUTOMOUNT_PREFIX$mount_source"
ViashDebug "ViashDockerAutodetectMountArg $1 -> $mount_source -> $mount_target"
echo "--volume=\"$mount_source:$mount_target\""
}
function ViashDockerStripAutomount {
local abs_path=$(ViashAbsolutePath "$1")
echo "${abs_path#$VIASH_DOCKER_AUTOMOUNT_PREFIX}"
}
# initialise variables
VIASH_DIRECTORY_MOUNTS=()
# configure default docker automount prefix if it is unset
if [ -z "${VIASH_DOCKER_AUTOMOUNT_PREFIX+x}" ]; then
VIASH_DOCKER_AUTOMOUNT_PREFIX="/viash_automount"
fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "cutadapt main"
@@ -547,407 +948,32 @@ function ViashHelp {
echo " --debug"
echo " type: boolean_true"
echo " Print debug information"
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
echo " ---memory=STRING"
echo " Amount of memory to use. Examples: 4GB, 3MiB."
echo ""
echo "Viash built in Docker:"
echo " ---setup=STRATEGY"
echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing."
echo " Default: ifneedbepullelsecachedbuild"
echo " ---dockerfile"
echo " Print the dockerfile to stdout."
echo " ---docker_run_args=ARG"
echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information."
echo " ---docker_image_id"
echo " Print the docker image id to stdout."
echo " ---debug"
echo " Enter the docker container for debugging purposes."
echo ""
echo "Viash built in Engines:"
echo " ---engine=ENGINE_ID"
echo " Specify the engine to use. Options are: docker, native."
echo " Default: docker"
}
# initialise 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 python:3.12
ENTRYPOINT []
RUN pip install --upgrade pip && \
pip install --upgrade --no-cache-dir "cutadapt"
RUN cutadapt --version | sed 's/\(.*\)/cutadapt: "\1"/' > /var/software_versions.txt
LABEL org.opencontainers.image.authors="Toni Verbeiren"
LABEL org.opencontainers.image.description="Companion container for running component cutadapt"
LABEL org.opencontainers.image.created="2024-12-03T10:33:56Z"
LABEL org.opencontainers.image.source="https://github.com/marcelm/cutadapt"
LABEL org.opencontainers.image.revision="952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
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=''

View File

@@ -203,6 +203,9 @@ test_resources:
is_executable: true
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -316,16 +319,16 @@ build_info:
engine: "docker|native"
output: "target/executable/falco"
executable: "target/executable/falco/falco"
viash_version: "0.9.0"
git_commit: "952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-27-g952ff08"
viash_version: "0.9.2"
git_commit: "5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.2.0-30-g5f6516e"
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"
viash_version: "0.9.2"
source: "src"
target: "target"
config_mods:

View File

@@ -2,7 +2,7 @@
# falco main
#
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
# This wrapper script is auto-generated by viash 0.9.2 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
# Intuitive.
#
@@ -172,131 +172,6 @@ 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 "falco main"
echo ""
echo "A C++ drop-in replacement of FastQC to assess the quality of sequence read data"
echo ""
echo "Input arguments:"
echo " --input"
echo " type: file, required parameter, multiple values allowed, file must exist"
echo " example: input1.fastq;input2.fastq"
echo " input fastq files"
echo ""
echo "Run arguments:"
echo " --nogroup"
echo " type: boolean_true"
echo " Disable grouping of bases for reads >50bp."
echo " All reports will show data for every base in"
echo " the read. WARNING: When using this option,"
echo " your plots may end up a ridiculous size. You"
echo " have been warned!"
echo ""
echo " --contaminents"
echo " type: file, file must exist"
echo " Specifies a non-default file which contains"
echo " the list of contaminants to screen"
echo " overrepresented sequences against. The file"
echo " must contain sets of named contaminants in"
echo " the form name[tab]sequence. Lines prefixed"
echo " with a hash will be ignored. Default:"
echo " "
echo "https://github.com/smithlabcode/falco/blob/v1.2.2/Configuration/contaminant_list.txt"
echo ""
echo " --adapters"
echo " type: file, file must exist"
echo " Specifies a non-default file which contains"
echo " the list of adapter sequences which will be"
echo " explicity searched against the library. The"
echo " file must contain sets of named adapters in"
echo " the form name[tab]sequence. Lines prefixed"
echo " with a hash will be ignored. Default:"
echo " "
echo "https://github.com/smithlabcode/falco/blob/v1.2.2/Configuration/adapter_list.txt"
echo ""
echo " --limits"
echo " type: file, file must exist"
echo " Specifies a non-default file which contains"
echo " a set of criteria which will be used to"
echo " determine the warn/error limits for the"
echo " various modules. This file can also be used"
echo " to selectively remove some modules from the"
echo " output all together. The format needs to"
echo " mirror the default limits.txt file found in"
echo " the Configuration folder. Default:"
echo " "
echo "https://github.com/smithlabcode/falco/blob/v1.2.2/Configuration/limits.txt"
echo ""
echo " -s, --subsample"
echo " type: integer"
echo " example: 10"
echo " [Falco only] makes falco faster (but"
echo " possibly less accurate) by only processing"
echo " reads that are a multiple of this value (using"
echo " 0-based indexing to number reads)."
echo ""
echo " -b, --bisulfite"
echo " type: boolean_true"
echo " [Falco only] reads are whole genome"
echo " bisulfite sequencing, and more Ts and fewer"
echo " Cs are therefore expected and will be"
echo " accounted for in base content."
echo ""
echo " -r, --reverse_complement"
echo " type: boolean_true"
echo " [Falco only] The input is a"
echo " reverse-complement. All modules will be"
echo " tested by swapping A/T and C/G"
echo ""
echo "Output arguments:"
echo " -o, --outdir"
echo " type: file, required parameter, output, file must exist"
echo " example: output"
echo " Create all output files in the specified"
echo " output directory. FALCO-SPECIFIC: If the"
echo " directory does not exists, the program will"
echo " create it."
echo ""
echo " -f, --format"
echo " type: string"
echo " choices: [ bam, sam, bam_mapped, sam_mapped, fastq, fq, fastq.gz, fq.gz"
echo "]"
echo " Bypasses the normal sequence file format"
echo " detection and forces the program to use the"
echo " specified format. Validformats are bam, sam,"
echo " bam_mapped, sam_mapped, fastq, fq, fastq.gz"
echo " or fq.gz."
echo ""
echo " -D, --data_filename"
echo " type: file, output, file must exist"
echo " [Falco only] Specify filename for FastQC"
echo " data output (TXT). If not specified, it will"
echo " be called fastq_data.txt in either the input"
echo " file's directory or the one specified in the"
echo " --output flag. Only available when running"
echo " falco with a single input."
echo ""
echo " -R, --report_filename"
echo " type: file, output, file must exist"
echo " [Falco only] Specify filename for FastQC"
echo " report output (HTML). If not specified, it"
echo " will be called fastq_report.html in either"
echo " the input file's directory or the one"
echo " specified in the --output flag. Only"
echo " available when running falco with a single"
echo " input."
echo ""
echo " -S, --summary_filename"
echo " type: file, output, file must exist"
echo " [Falco only] Specify filename for the short"
echo " summary output (TXT). If not specified, it"
echo " will be called fastq_report.html in either"
echo " the input file's directory or the one"
echo " specified in the --output flag. Only"
echo " available when running falco with a single"
echo " input."
}
# initialise variables
VIASH_MODE='run'
@@ -589,9 +464,9 @@ RUN echo "falco: \"$(falco -v | sed -n 's/^falco //p')\"" > /var/software_versio
LABEL org.opencontainers.image.authors="Toni Verbeiren"
LABEL org.opencontainers.image.description="Companion container for running component falco"
LABEL org.opencontainers.image.created="2024-12-03T10:33:53Z"
LABEL org.opencontainers.image.created="2025-03-06T09:19:42Z"
LABEL org.opencontainers.image.source="https://github.com/smithlabcode/falco"
LABEL org.opencontainers.image.revision="952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
LABEL org.opencontainers.image.revision="5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
@@ -706,6 +581,157 @@ fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "falco main"
echo ""
echo "A C++ drop-in replacement of FastQC to assess the quality of sequence read data"
echo ""
echo "Input arguments:"
echo " --input"
echo " type: file, required parameter, multiple values allowed, file must exist"
echo " example: input1.fastq;input2.fastq"
echo " input fastq files"
echo ""
echo "Run arguments:"
echo " --nogroup"
echo " type: boolean_true"
echo " Disable grouping of bases for reads >50bp."
echo " All reports will show data for every base in"
echo " the read. WARNING: When using this option,"
echo " your plots may end up a ridiculous size. You"
echo " have been warned!"
echo ""
echo " --contaminents"
echo " type: file, file must exist"
echo " Specifies a non-default file which contains"
echo " the list of contaminants to screen"
echo " overrepresented sequences against. The file"
echo " must contain sets of named contaminants in"
echo " the form name[tab]sequence. Lines prefixed"
echo " with a hash will be ignored. Default:"
echo " "
echo "https://github.com/smithlabcode/falco/blob/v1.2.2/Configuration/contaminant_list.txt"
echo ""
echo " --adapters"
echo " type: file, file must exist"
echo " Specifies a non-default file which contains"
echo " the list of adapter sequences which will be"
echo " explicity searched against the library. The"
echo " file must contain sets of named adapters in"
echo " the form name[tab]sequence. Lines prefixed"
echo " with a hash will be ignored. Default:"
echo " "
echo "https://github.com/smithlabcode/falco/blob/v1.2.2/Configuration/adapter_list.txt"
echo ""
echo " --limits"
echo " type: file, file must exist"
echo " Specifies a non-default file which contains"
echo " a set of criteria which will be used to"
echo " determine the warn/error limits for the"
echo " various modules. This file can also be used"
echo " to selectively remove some modules from the"
echo " output all together. The format needs to"
echo " mirror the default limits.txt file found in"
echo " the Configuration folder. Default:"
echo " "
echo "https://github.com/smithlabcode/falco/blob/v1.2.2/Configuration/limits.txt"
echo ""
echo " -s, --subsample"
echo " type: integer"
echo " example: 10"
echo " [Falco only] makes falco faster (but"
echo " possibly less accurate) by only processing"
echo " reads that are a multiple of this value (using"
echo " 0-based indexing to number reads)."
echo ""
echo " -b, --bisulfite"
echo " type: boolean_true"
echo " [Falco only] reads are whole genome"
echo " bisulfite sequencing, and more Ts and fewer"
echo " Cs are therefore expected and will be"
echo " accounted for in base content."
echo ""
echo " -r, --reverse_complement"
echo " type: boolean_true"
echo " [Falco only] The input is a"
echo " reverse-complement. All modules will be"
echo " tested by swapping A/T and C/G"
echo ""
echo "Output arguments:"
echo " -o, --outdir"
echo " type: file, required parameter, output, file must exist"
echo " example: output"
echo " Create all output files in the specified"
echo " output directory. FALCO-SPECIFIC: If the"
echo " directory does not exists, the program will"
echo " create it."
echo ""
echo " -f, --format"
echo " type: string"
echo " choices: [ bam, sam, bam_mapped, sam_mapped, fastq, fq, fastq.gz, fq.gz"
echo "]"
echo " Bypasses the normal sequence file format"
echo " detection and forces the program to use the"
echo " specified format. Validformats are bam, sam,"
echo " bam_mapped, sam_mapped, fastq, fq, fastq.gz"
echo " or fq.gz."
echo ""
echo " -D, --data_filename"
echo " type: file, output, file must exist"
echo " [Falco only] Specify filename for FastQC"
echo " data output (TXT). If not specified, it will"
echo " be called fastq_data.txt in either the input"
echo " file's directory or the one specified in the"
echo " --output flag. Only available when running"
echo " falco with a single input."
echo ""
echo " -R, --report_filename"
echo " type: file, output, file must exist"
echo " [Falco only] Specify filename for FastQC"
echo " report output (HTML). If not specified, it"
echo " will be called fastq_report.html in either"
echo " the input file's directory or the one"
echo " specified in the --output flag. Only"
echo " available when running falco with a single"
echo " input."
echo ""
echo " -S, --summary_filename"
echo " type: file, output, file must exist"
echo " [Falco only] Specify filename for the short"
echo " summary output (TXT). If not specified, it"
echo " will be called fastq_report.html in either"
echo " the input file's directory or the one"
echo " specified in the --output flag. Only"
echo " available when running falco with a single"
echo " input."
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
echo " ---memory=STRING"
echo " Amount of memory to use. Examples: 4GB, 3MiB."
echo ""
echo "Viash built in Docker:"
echo " ---setup=STRATEGY"
echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing."
echo " Default: ifneedbepullelsecachedbuild"
echo " ---dockerfile"
echo " Print the dockerfile to stdout."
echo " ---docker_run_args=ARG"
echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information."
echo " ---docker_image_id"
echo " Print the docker image id to stdout."
echo " ---debug"
echo " Enter the docker container for debugging purposes."
echo ""
echo "Viash built in Engines:"
echo " ---engine=ENGINE_ID"
echo " Specify the engine to use. Options are: docker, native."
echo " Default: docker"
}
# initialise array
VIASH_POSITIONAL_ARGS=''

View File

@@ -982,6 +982,9 @@ test_resources:
path: "test_data"
info: null
status: "enabled"
scope:
image: "public"
target: "public"
requirements:
commands:
- "ps"
@@ -1082,16 +1085,16 @@ build_info:
engine: "docker|native"
output: "target/executable/fastp"
executable: "target/executable/fastp/fastp"
viash_version: "0.9.0"
git_commit: "952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
git_remote: "https://x-access-token:ghs_EwAUAMYJ0K4VBHlAEMs4ZP2OyQYqJM0PSfEO@github.com/viash-hub/biobox"
git_tag: "v0.2.0-27-g952ff08"
viash_version: "0.9.2"
git_commit: "5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
git_remote: "https://github.com/viash-hub/biobox"
git_tag: "v0.2.0-30-g5f6516e"
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"
viash_version: "0.9.2"
source: "src"
target: "target"
config_mods:

View File

@@ -2,7 +2,7 @@
# fastp main
#
# This wrapper script is auto-generated by viash 0.9.0 and is thus a derivative
# This wrapper script is auto-generated by viash 0.9.2 and is thus a derivative
# work thereof. This software comes with ABSOLUTELY NO WARRANTY from Data
# Intuitive.
#
@@ -172,6 +172,404 @@ VIASH_META_CONFIG="$VIASH_META_RESOURCES_DIR/.config.vsh.yaml"
VIASH_META_TEMP_DIR="$VIASH_TEMP"
# initialise variables
VIASH_MODE='run'
VIASH_ENGINE_ID='docker'
######## Helper functions for setting up Docker images for viash ########
# expects: ViashDockerBuild
# ViashDockerInstallationCheck: check whether Docker is installed correctly
#
# examples:
# ViashDockerInstallationCheck
function ViashDockerInstallationCheck {
ViashDebug "Checking whether Docker is installed"
if [ ! command -v docker &> /dev/null ]; then
ViashCritical "Docker doesn't seem to be installed. See 'https://docs.docker.com/get-docker/' for instructions."
exit 1
fi
ViashDebug "Checking whether the Docker daemon is running"
local save=$-; set +e
local docker_version=$(docker version --format '{{.Client.APIVersion}}' 2> /dev/null)
local out=$?
[[ $save =~ e ]] && set -e
if [ $out -ne 0 ]; then
ViashCritical "Docker daemon does not seem to be running. Try one of the following:"
ViashCritical "- Try running 'dockerd' in the command line"
ViashCritical "- See https://docs.docker.com/config/daemon/"
exit 1
fi
}
# ViashDockerRemoteTagCheck: check whether a Docker image is available
# on a remote. Assumes `docker login` has been performed, if relevant.
#
# $1 : image identifier with format `[registry/]image[:tag]`
# exit code $? : whether or not the image was found
# examples:
# ViashDockerRemoteTagCheck python:latest
# echo $? # returns '0'
# ViashDockerRemoteTagCheck sdaizudceahifu
# echo $? # returns '1'
function ViashDockerRemoteTagCheck {
docker manifest inspect $1 > /dev/null 2> /dev/null
}
# ViashDockerLocalTagCheck: check whether a Docker image is available locally
#
# $1 : image identifier with format `[registry/]image[:tag]`
# exit code $? : whether or not the image was found
# examples:
# docker pull python:latest
# ViashDockerLocalTagCheck python:latest
# echo $? # returns '0'
# ViashDockerLocalTagCheck sdaizudceahifu
# echo $? # returns '1'
function ViashDockerLocalTagCheck {
[ -n "$(docker images -q $1)" ]
}
# ViashDockerPull: pull a Docker image
#
# $1 : image identifier with format `[registry/]image[:tag]`
# exit code $? : whether or not the image was found
# examples:
# ViashDockerPull python:latest
# echo $? # returns '0'
# ViashDockerPull sdaizudceahifu
# echo $? # returns '1'
function ViashDockerPull {
ViashNotice "Checking if Docker image is available at '$1'"
if [ $VIASH_VERBOSITY -ge $VIASH_LOGCODE_INFO ]; then
docker pull $1 && return 0 || return 1
else
local save=$-; set +e
docker pull $1 2> /dev/null > /dev/null
local out=$?
[[ $save =~ e ]] && set -e
if [ $out -ne 0 ]; then
ViashWarning "Could not pull from '$1'. Docker image doesn't exist or is not accessible."
fi
return $out
fi
}
# ViashDockerPush: push a Docker image
#
# $1 : image identifier with format `[registry/]image[:tag]`
# exit code $? : whether or not the image was found
# examples:
# ViashDockerPush python:latest
# echo $? # returns '0'
# ViashDockerPush sdaizudceahifu
# echo $? # returns '1'
function ViashDockerPush {
ViashNotice "Pushing image to '$1'"
local save=$-; set +e
local out
if [ $VIASH_VERBOSITY -ge $VIASH_LOGCODE_INFO ]; then
docker push $1
out=$?
else
docker push $1 2> /dev/null > /dev/null
out=$?
fi
[[ $save =~ e ]] && set -e
if [ $out -eq 0 ]; then
ViashNotice "Container '$1' push succeeded."
else
ViashError "Container '$1' push errored. You might not be logged in or have the necessary permissions."
fi
return $out
}
# ViashDockerPullElseBuild: pull a Docker image, else build it
#
# $1 : image identifier with format `[registry/]image[:tag]`
# ViashDockerBuild : a Bash function which builds a docker image, takes image identifier as argument.
# examples:
# ViashDockerPullElseBuild mynewcomponent
function ViashDockerPullElseBuild {
local save=$-; set +e
ViashDockerPull $1
local out=$?
[[ $save =~ e ]] && set -e
if [ $out -ne 0 ]; then
ViashDockerBuild $@
fi
}
# ViashDockerSetup: create a Docker image, according to specified docker setup strategy
#
# $1 : image identifier with format `[registry/]image[:tag]`
# $2 : docker setup strategy, see DockerSetupStrategy.scala
# examples:
# ViashDockerSetup mynewcomponent alwaysbuild
function ViashDockerSetup {
local image_id="$1"
local setup_strategy="$2"
if [ "$setup_strategy" == "alwaysbuild" -o "$setup_strategy" == "build" -o "$setup_strategy" == "b" ]; then
ViashDockerBuild $image_id --no-cache $(ViashDockerBuildArgs "$engine_id")
elif [ "$setup_strategy" == "alwayspull" -o "$setup_strategy" == "pull" -o "$setup_strategy" == "p" ]; then
ViashDockerPull $image_id
elif [ "$setup_strategy" == "alwayspullelsebuild" -o "$setup_strategy" == "pullelsebuild" ]; then
ViashDockerPullElseBuild $image_id --no-cache $(ViashDockerBuildArgs "$engine_id")
elif [ "$setup_strategy" == "alwayspullelsecachedbuild" -o "$setup_strategy" == "pullelsecachedbuild" ]; then
ViashDockerPullElseBuild $image_id $(ViashDockerBuildArgs "$engine_id")
elif [ "$setup_strategy" == "alwayscachedbuild" -o "$setup_strategy" == "cachedbuild" -o "$setup_strategy" == "cb" ]; then
ViashDockerBuild $image_id $(ViashDockerBuildArgs "$engine_id")
elif [[ "$setup_strategy" =~ ^ifneedbe ]]; then
local save=$-; set +e
ViashDockerLocalTagCheck $image_id
local outCheck=$?
[[ $save =~ e ]] && set -e
if [ $outCheck -eq 0 ]; then
ViashInfo "Image $image_id already exists"
elif [ "$setup_strategy" == "ifneedbebuild" ]; then
ViashDockerBuild $image_id --no-cache $(ViashDockerBuildArgs "$engine_id")
elif [ "$setup_strategy" == "ifneedbecachedbuild" ]; then
ViashDockerBuild $image_id $(ViashDockerBuildArgs "$engine_id")
elif [ "$setup_strategy" == "ifneedbepull" ]; then
ViashDockerPull $image_id
elif [ "$setup_strategy" == "ifneedbepullelsebuild" ]; then
ViashDockerPullElseBuild $image_id --no-cache $(ViashDockerBuildArgs "$engine_id")
elif [ "$setup_strategy" == "ifneedbepullelsecachedbuild" ]; then
ViashDockerPullElseBuild $image_id $(ViashDockerBuildArgs "$engine_id")
else
ViashError "Unrecognised Docker strategy: $setup_strategy"
exit 1
fi
elif [ "$setup_strategy" == "push" -o "$setup_strategy" == "forcepush" -o "$setup_strategy" == "alwayspush" ]; then
ViashDockerPush "$image_id"
elif [ "$setup_strategy" == "pushifnotpresent" -o "$setup_strategy" == "gentlepush" -o "$setup_strategy" == "maybepush" ]; then
local save=$-; set +e
ViashDockerRemoteTagCheck $image_id
local outCheck=$?
[[ $save =~ e ]] && set -e
if [ $outCheck -eq 0 ]; then
ViashNotice "Container '$image_id' exists, doing nothing."
else
ViashNotice "Container '$image_id' does not yet exist."
ViashDockerPush "$image_id"
fi
elif [ "$setup_strategy" == "donothing" -o "$setup_strategy" == "meh" ]; then
ViashNotice "Skipping setup."
else
ViashError "Unrecognised Docker strategy: $setup_strategy"
exit 1
fi
}
# ViashDockerCheckCommands: Check whether a docker container has the required commands
#
# $1 : image identifier with format `[registry/]image[:tag]`
# $@ : commands to verify being present
# examples:
# ViashDockerCheckCommands bash:4.0 bash ps foo
function ViashDockerCheckCommands {
local image_id="$1"
shift 1
local commands="$@"
local save=$-; set +e
local missing # mark 'missing' as local in advance, otherwise the exit code of the command will be missing and always be '0'
missing=$(docker run --rm --entrypoint=sh "$image_id" -c "for command in $commands; do command -v \$command >/dev/null 2>&1; if [ \$? -ne 0 ]; then echo \$command; exit 1; fi; done")
local outCheck=$?
[[ $save =~ e ]] && set -e
if [ $outCheck -ne 0 ]; then
ViashError "Docker container '$image_id' does not contain command '$missing'."
exit 1
fi
}
# ViashDockerBuild: build a docker image
# $1 : image identifier with format `[registry/]image[:tag]`
# $... : additional arguments to pass to docker build
# $VIASH_META_TEMP_DIR : temporary directory to store dockerfile & optional resources in
# $VIASH_META_NAME : name of the component
# $VIASH_META_RESOURCES_DIR : directory containing the resources
# $VIASH_VERBOSITY : verbosity level
# exit code $? : whether or not the image was built successfully
function ViashDockerBuild {
local image_id="$1"
shift 1
# create temporary directory to store dockerfile & optional resources in
local tmpdir=$(mktemp -d "$VIASH_META_TEMP_DIR/dockerbuild-$VIASH_META_NAME-XXXXXX")
local dockerfile="$tmpdir/Dockerfile"
function clean_up {
rm -rf "$tmpdir"
}
trap clean_up EXIT
# store dockerfile and resources
ViashDockerfile "$VIASH_ENGINE_ID" > "$dockerfile"
# generate the build command
local docker_build_cmd="docker build -t '$image_id' $@ '$VIASH_META_RESOURCES_DIR' -f '$dockerfile'"
# build the container
ViashNotice "Building container '$image_id' with Dockerfile"
ViashInfo "$docker_build_cmd"
local save=$-; set +e
if [ $VIASH_VERBOSITY -ge $VIASH_LOGCODE_INFO ]; then
eval $docker_build_cmd
else
eval $docker_build_cmd &> "$tmpdir/docker_build.log"
fi
# check exit code
local out=$?
[[ $save =~ e ]] && set -e
if [ $out -ne 0 ]; then
ViashError "Error occurred while building container '$image_id'"
if [ $VIASH_VERBOSITY -lt $VIASH_LOGCODE_INFO ]; then
ViashError "Transcript: --------------------------------"
cat "$tmpdir/docker_build.log"
ViashError "End of transcript --------------------------"
fi
exit 1
fi
}
######## End of helper functions for setting up Docker images for viash ########
# ViashDockerFile: print the dockerfile to stdout
# $1 : engine identifier
# return : dockerfile required to run this component
# examples:
# ViashDockerFile
function ViashDockerfile {
local engine_id="$1"
if [[ "$engine_id" == "docker" ]]; then
cat << 'VIASHDOCKER'
FROM quay.io/biocontainers/fastp:0.23.4--hadf994f_2
ENTRYPOINT []
RUN fastp --version 2>&1 | sed 's# #: "#;s#$#"#' > /var/software_versions.txt
LABEL org.opencontainers.image.authors="Robrecht Cannoodt"
LABEL org.opencontainers.image.description="Companion container for running component fastp"
LABEL org.opencontainers.image.created="2025-03-06T09:19:40Z"
LABEL org.opencontainers.image.source="https://github.com/OpenGene/fastp"
LABEL org.opencontainers.image.revision="5f6516e9c0d95c84f3d4159a67d3de19d3ae1fde"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
fi
}
# ViashDockerBuildArgs: return the arguments to pass to docker build
# $1 : engine identifier
# return : arguments to pass to docker build
function ViashDockerBuildArgs {
local engine_id="$1"
if [[ "$engine_id" == "docker" ]]; then
echo ""
fi
}
# ViashAbsolutePath: generate absolute path from relative path
# borrowed from https://stackoverflow.com/a/21951256
# $1 : relative filename
# return : absolute path
# examples:
# ViashAbsolutePath some_file.txt # returns /path/to/some_file.txt
# ViashAbsolutePath /foo/bar/.. # returns /foo
function ViashAbsolutePath {
local thePath
local parr
local outp
local len
if [[ ! "$1" =~ ^/ ]]; then
thePath="$PWD/$1"
else
thePath="$1"
fi
echo "$thePath" | (
IFS=/
read -a parr
declare -a outp
for i in "${parr[@]}"; do
case "$i" in
''|.) continue ;;
..)
len=${#outp[@]}
if ((len==0)); then
continue
else
unset outp[$((len-1))]
fi
;;
*)
len=${#outp[@]}
outp[$len]="$i"
;;
esac
done
echo /"${outp[*]}"
)
}
# ViashDockerAutodetectMount: auto configuring docker mounts from parameters
# $1 : The parameter value
# returns : New parameter
# $VIASH_DIRECTORY_MOUNTS : Added another parameter to be passed to docker
# $VIASH_DOCKER_AUTOMOUNT_PREFIX : The prefix to be used for the automounts
# examples:
# ViashDockerAutodetectMount /path/to/bar # returns '/viash_automount/path/to/bar'
# ViashDockerAutodetectMountArg /path/to/bar # returns '--volume="/path/to:/viash_automount/path/to"'
function ViashDockerAutodetectMount {
local abs_path=$(ViashAbsolutePath "$1")
local mount_source
local base_name
if [ -d "$abs_path" ]; then
mount_source="$abs_path"
base_name=""
else
mount_source=`dirname "$abs_path"`
base_name=`basename "$abs_path"`
fi
local mount_target="$VIASH_DOCKER_AUTOMOUNT_PREFIX$mount_source"
if [ -z "$base_name" ]; then
echo "$mount_target"
else
echo "$mount_target/$base_name"
fi
}
function ViashDockerAutodetectMountArg {
local abs_path=$(ViashAbsolutePath "$1")
local mount_source
local base_name
if [ -d "$abs_path" ]; then
mount_source="$abs_path"
base_name=""
else
mount_source=`dirname "$abs_path"`
base_name=`basename "$abs_path"`
fi
local mount_target="$VIASH_DOCKER_AUTOMOUNT_PREFIX$mount_source"
ViashDebug "ViashDockerAutodetectMountArg $1 -> $mount_source -> $mount_target"
echo "--volume=\"$mount_source:$mount_target\""
}
function ViashDockerStripAutomount {
local abs_path=$(ViashAbsolutePath "$1")
echo "${abs_path#$VIASH_DOCKER_AUTOMOUNT_PREFIX}"
}
# initialise variables
VIASH_DIRECTORY_MOUNTS=()
# configure default docker automount prefix if it is unset
if [ -z "${VIASH_DOCKER_AUTOMOUNT_PREFIX+x}" ]; then
VIASH_DOCKER_AUTOMOUNT_PREFIX="/viash_automount"
fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "fastp main"
@@ -747,404 +1145,32 @@ function ViashHelp {
echo " min: 1"
echo " One in (--overrepresentation_sampling) reads will be computed for"
echo " overrepresentation analysis (1~10000), smaller is slower, default is 20."
echo ""
echo "Viash built in Computational Requirements:"
echo " ---cpus=INT"
echo " Number of CPUs to use"
echo " ---memory=STRING"
echo " Amount of memory to use. Examples: 4GB, 3MiB."
echo ""
echo "Viash built in Docker:"
echo " ---setup=STRATEGY"
echo " Setup the docker container. Options are: alwaysbuild, alwayscachedbuild, ifneedbebuild, ifneedbecachedbuild, alwayspull, alwayspullelsebuild, alwayspullelsecachedbuild, ifneedbepull, ifneedbepullelsebuild, ifneedbepullelsecachedbuild, push, pushifnotpresent, donothing."
echo " Default: ifneedbepullelsecachedbuild"
echo " ---dockerfile"
echo " Print the dockerfile to stdout."
echo " ---docker_run_args=ARG"
echo " Provide runtime arguments to Docker. See the documentation on \`docker run\` for more information."
echo " ---docker_image_id"
echo " Print the docker image id to stdout."
echo " ---debug"
echo " Enter the docker container for debugging purposes."
echo ""
echo "Viash built in Engines:"
echo " ---engine=ENGINE_ID"
echo " Specify the engine to use. Options are: docker, native."
echo " Default: docker"
}
# initialise variables
VIASH_MODE='run'
VIASH_ENGINE_ID='docker'
######## Helper functions for setting up Docker images for viash ########
# expects: ViashDockerBuild
# ViashDockerInstallationCheck: check whether Docker is installed correctly
#
# examples:
# ViashDockerInstallationCheck
function ViashDockerInstallationCheck {
ViashDebug "Checking whether Docker is installed"
if [ ! command -v docker &> /dev/null ]; then
ViashCritical "Docker doesn't seem to be installed. See 'https://docs.docker.com/get-docker/' for instructions."
exit 1
fi
ViashDebug "Checking whether the Docker daemon is running"
local save=$-; set +e
local docker_version=$(docker version --format '{{.Client.APIVersion}}' 2> /dev/null)
local out=$?
[[ $save =~ e ]] && set -e
if [ $out -ne 0 ]; then
ViashCritical "Docker daemon does not seem to be running. Try one of the following:"
ViashCritical "- Try running 'dockerd' in the command line"
ViashCritical "- See https://docs.docker.com/config/daemon/"
exit 1
fi
}
# ViashDockerRemoteTagCheck: check whether a Docker image is available
# on a remote. Assumes `docker login` has been performed, if relevant.
#
# $1 : image identifier with format `[registry/]image[:tag]`
# exit code $? : whether or not the image was found
# examples:
# ViashDockerRemoteTagCheck python:latest
# echo $? # returns '0'
# ViashDockerRemoteTagCheck sdaizudceahifu
# echo $? # returns '1'
function ViashDockerRemoteTagCheck {
docker manifest inspect $1 > /dev/null 2> /dev/null
}
# ViashDockerLocalTagCheck: check whether a Docker image is available locally
#
# $1 : image identifier with format `[registry/]image[:tag]`
# exit code $? : whether or not the image was found
# examples:
# docker pull python:latest
# ViashDockerLocalTagCheck python:latest
# echo $? # returns '0'
# ViashDockerLocalTagCheck sdaizudceahifu
# echo $? # returns '1'
function ViashDockerLocalTagCheck {
[ -n "$(docker images -q $1)" ]
}
# ViashDockerPull: pull a Docker image
#
# $1 : image identifier with format `[registry/]image[:tag]`
# exit code $? : whether or not the image was found
# examples:
# ViashDockerPull python:latest
# echo $? # returns '0'
# ViashDockerPull sdaizudceahifu
# echo $? # returns '1'
function ViashDockerPull {
ViashNotice "Checking if Docker image is available at '$1'"
if [ $VIASH_VERBOSITY -ge $VIASH_LOGCODE_INFO ]; then
docker pull $1 && return 0 || return 1
else
local save=$-; set +e
docker pull $1 2> /dev/null > /dev/null
local out=$?
[[ $save =~ e ]] && set -e
if [ $out -ne 0 ]; then
ViashWarning "Could not pull from '$1'. Docker image doesn't exist or is not accessible."
fi
return $out
fi
}
# ViashDockerPush: push a Docker image
#
# $1 : image identifier with format `[registry/]image[:tag]`
# exit code $? : whether or not the image was found
# examples:
# ViashDockerPush python:latest
# echo $? # returns '0'
# ViashDockerPush sdaizudceahifu
# echo $? # returns '1'
function ViashDockerPush {
ViashNotice "Pushing image to '$1'"
local save=$-; set +e
local out
if [ $VIASH_VERBOSITY -ge $VIASH_LOGCODE_INFO ]; then
docker push $1
out=$?
else
docker push $1 2> /dev/null > /dev/null
out=$?
fi
[[ $save =~ e ]] && set -e
if [ $out -eq 0 ]; then
ViashNotice "Container '$1' push succeeded."
else
ViashError "Container '$1' push errored. You might not be logged in or have the necessary permissions."
fi
return $out
}
# ViashDockerPullElseBuild: pull a Docker image, else build it
#
# $1 : image identifier with format `[registry/]image[:tag]`
# ViashDockerBuild : a Bash function which builds a docker image, takes image identifier as argument.
# examples:
# ViashDockerPullElseBuild mynewcomponent
function ViashDockerPullElseBuild {
local save=$-; set +e
ViashDockerPull $1
local out=$?
[[ $save =~ e ]] && set -e
if [ $out -ne 0 ]; then
ViashDockerBuild $@
fi
}
# ViashDockerSetup: create a Docker image, according to specified docker setup strategy
#
# $1 : image identifier with format `[registry/]image[:tag]`
# $2 : docker setup strategy, see DockerSetupStrategy.scala
# examples:
# ViashDockerSetup mynewcomponent alwaysbuild
function ViashDockerSetup {
local image_id="$1"
local setup_strategy="$2"
if [ "$setup_strategy" == "alwaysbuild" -o "$setup_strategy" == "build" -o "$setup_strategy" == "b" ]; then
ViashDockerBuild $image_id --no-cache $(ViashDockerBuildArgs "$engine_id")
elif [ "$setup_strategy" == "alwayspull" -o "$setup_strategy" == "pull" -o "$setup_strategy" == "p" ]; then
ViashDockerPull $image_id
elif [ "$setup_strategy" == "alwayspullelsebuild" -o "$setup_strategy" == "pullelsebuild" ]; then
ViashDockerPullElseBuild $image_id --no-cache $(ViashDockerBuildArgs "$engine_id")
elif [ "$setup_strategy" == "alwayspullelsecachedbuild" -o "$setup_strategy" == "pullelsecachedbuild" ]; then
ViashDockerPullElseBuild $image_id $(ViashDockerBuildArgs "$engine_id")
elif [ "$setup_strategy" == "alwayscachedbuild" -o "$setup_strategy" == "cachedbuild" -o "$setup_strategy" == "cb" ]; then
ViashDockerBuild $image_id $(ViashDockerBuildArgs "$engine_id")
elif [[ "$setup_strategy" =~ ^ifneedbe ]]; then
local save=$-; set +e
ViashDockerLocalTagCheck $image_id
local outCheck=$?
[[ $save =~ e ]] && set -e
if [ $outCheck -eq 0 ]; then
ViashInfo "Image $image_id already exists"
elif [ "$setup_strategy" == "ifneedbebuild" ]; then
ViashDockerBuild $image_id --no-cache $(ViashDockerBuildArgs "$engine_id")
elif [ "$setup_strategy" == "ifneedbecachedbuild" ]; then
ViashDockerBuild $image_id $(ViashDockerBuildArgs "$engine_id")
elif [ "$setup_strategy" == "ifneedbepull" ]; then
ViashDockerPull $image_id
elif [ "$setup_strategy" == "ifneedbepullelsebuild" ]; then
ViashDockerPullElseBuild $image_id --no-cache $(ViashDockerBuildArgs "$engine_id")
elif [ "$setup_strategy" == "ifneedbepullelsecachedbuild" ]; then
ViashDockerPullElseBuild $image_id $(ViashDockerBuildArgs "$engine_id")
else
ViashError "Unrecognised Docker strategy: $setup_strategy"
exit 1
fi
elif [ "$setup_strategy" == "push" -o "$setup_strategy" == "forcepush" -o "$setup_strategy" == "alwayspush" ]; then
ViashDockerPush "$image_id"
elif [ "$setup_strategy" == "pushifnotpresent" -o "$setup_strategy" == "gentlepush" -o "$setup_strategy" == "maybepush" ]; then
local save=$-; set +e
ViashDockerRemoteTagCheck $image_id
local outCheck=$?
[[ $save =~ e ]] && set -e
if [ $outCheck -eq 0 ]; then
ViashNotice "Container '$image_id' exists, doing nothing."
else
ViashNotice "Container '$image_id' does not yet exist."
ViashDockerPush "$image_id"
fi
elif [ "$setup_strategy" == "donothing" -o "$setup_strategy" == "meh" ]; then
ViashNotice "Skipping setup."
else
ViashError "Unrecognised Docker strategy: $setup_strategy"
exit 1
fi
}
# ViashDockerCheckCommands: Check whether a docker container has the required commands
#
# $1 : image identifier with format `[registry/]image[:tag]`
# $@ : commands to verify being present
# examples:
# ViashDockerCheckCommands bash:4.0 bash ps foo
function ViashDockerCheckCommands {
local image_id="$1"
shift 1
local commands="$@"
local save=$-; set +e
local missing # mark 'missing' as local in advance, otherwise the exit code of the command will be missing and always be '0'
missing=$(docker run --rm --entrypoint=sh "$image_id" -c "for command in $commands; do command -v \$command >/dev/null 2>&1; if [ \$? -ne 0 ]; then echo \$command; exit 1; fi; done")
local outCheck=$?
[[ $save =~ e ]] && set -e
if [ $outCheck -ne 0 ]; then
ViashError "Docker container '$image_id' does not contain command '$missing'."
exit 1
fi
}
# ViashDockerBuild: build a docker image
# $1 : image identifier with format `[registry/]image[:tag]`
# $... : additional arguments to pass to docker build
# $VIASH_META_TEMP_DIR : temporary directory to store dockerfile & optional resources in
# $VIASH_META_NAME : name of the component
# $VIASH_META_RESOURCES_DIR : directory containing the resources
# $VIASH_VERBOSITY : verbosity level
# exit code $? : whether or not the image was built successfully
function ViashDockerBuild {
local image_id="$1"
shift 1
# create temporary directory to store dockerfile & optional resources in
local tmpdir=$(mktemp -d "$VIASH_META_TEMP_DIR/dockerbuild-$VIASH_META_NAME-XXXXXX")
local dockerfile="$tmpdir/Dockerfile"
function clean_up {
rm -rf "$tmpdir"
}
trap clean_up EXIT
# store dockerfile and resources
ViashDockerfile "$VIASH_ENGINE_ID" > "$dockerfile"
# generate the build command
local docker_build_cmd="docker build -t '$image_id' $@ '$VIASH_META_RESOURCES_DIR' -f '$dockerfile'"
# build the container
ViashNotice "Building container '$image_id' with Dockerfile"
ViashInfo "$docker_build_cmd"
local save=$-; set +e
if [ $VIASH_VERBOSITY -ge $VIASH_LOGCODE_INFO ]; then
eval $docker_build_cmd
else
eval $docker_build_cmd &> "$tmpdir/docker_build.log"
fi
# check exit code
local out=$?
[[ $save =~ e ]] && set -e
if [ $out -ne 0 ]; then
ViashError "Error occurred while building container '$image_id'"
if [ $VIASH_VERBOSITY -lt $VIASH_LOGCODE_INFO ]; then
ViashError "Transcript: --------------------------------"
cat "$tmpdir/docker_build.log"
ViashError "End of transcript --------------------------"
fi
exit 1
fi
}
######## End of helper functions for setting up Docker images for viash ########
# ViashDockerFile: print the dockerfile to stdout
# $1 : engine identifier
# return : dockerfile required to run this component
# examples:
# ViashDockerFile
function ViashDockerfile {
local engine_id="$1"
if [[ "$engine_id" == "docker" ]]; then
cat << 'VIASHDOCKER'
FROM quay.io/biocontainers/fastp:0.23.4--hadf994f_2
ENTRYPOINT []
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-12-03T10:34:04Z"
LABEL org.opencontainers.image.source="https://github.com/OpenGene/fastp"
LABEL org.opencontainers.image.revision="952ff0843093b538cbfd6fefdecf2e7a0bc9e70b"
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=''

Some files were not shown because too many files have changed in this diff Show More