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:
@@ -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).
|
||||
|
||||
@@ -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']
|
||||
|
||||
@@ -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 ]
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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 ]
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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 ]
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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 ]
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"} \
|
||||
|
||||
@@ -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}"} \
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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=''
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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=''
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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=''
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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=''
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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=''
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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=''
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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=''
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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=''
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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=''
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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=''
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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=''
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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=''
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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=''
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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=''
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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=''
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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=''
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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=''
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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=''
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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=''
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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=''
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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"} \\
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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=''
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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=''
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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=''
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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=''
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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=''
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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=''
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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=''
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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=''
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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=''
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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=''
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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=''
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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=''
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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=''
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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=''
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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=''
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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=''
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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=''
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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=''
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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=''
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user