Files
biobox/target/executable/star/star_align_reads/star_align_reads
CI f066ef0ffa Build branch main with version main (da3272d)
Build pipeline: viash-hub.biobox.main-7x2wm

Source commit: da3272d011

Source message: Bcftools sort (#141)

* Initial commit

* Update on config file

* Update

* Update config.vsh.yaml

* Update config.vsh.yaml

* Update test.sh

* Update help.txt

* adding meta variables

* Adding test for bcf file

* Update CHANGELOG.md

* Update config.vsh.yaml

* requested changes

---------

Co-authored-by: Jakub Majercik <57993790+jakubmajercik@users.noreply.github.com>
2024-09-02 13:42:09 +00:00

6136 lines
338 KiB
Bash
Executable File

#!/usr/bin/env bash
# star_align_reads main
#
# This wrapper script is auto-generated by viash 0.9.0-RC7 and is thus a
# derivative work thereof. This software comes with ABSOLUTELY NO WARRANTY from
# Data Intuitive.
#
# The component may contain files which fall under a different license. The
# authors of this component should specify the license in the header of such
# files, or include a separate license file detailing the licenses of all included
# files.
#
# Component authors:
# * Angela Oliveira Pisco (author)
# * Robrecht Cannoodt (author, maintainer)
set -e
if [ -z "$VIASH_TEMP" ]; then
VIASH_TEMP=${VIASH_TEMP:-$VIASH_TMPDIR}
VIASH_TEMP=${VIASH_TEMP:-$VIASH_TEMPDIR}
VIASH_TEMP=${VIASH_TEMP:-$VIASH_TMP}
VIASH_TEMP=${VIASH_TEMP:-$TMPDIR}
VIASH_TEMP=${VIASH_TEMP:-$TMP}
VIASH_TEMP=${VIASH_TEMP:-$TEMPDIR}
VIASH_TEMP=${VIASH_TEMP:-$TEMP}
VIASH_TEMP=${VIASH_TEMP:-/tmp}
fi
# define helper functions
# ViashQuote: put quotes around non flag values
# $1 : unquoted string
# return : possibly quoted string
# examples:
# ViashQuote --foo # returns --foo
# ViashQuote bar # returns 'bar'
# Viashquote --foo=bar # returns --foo='bar'
function ViashQuote {
if [[ "$1" =~ ^-+[a-zA-Z0-9_\-]+=.+$ ]]; then
echo "$1" | sed "s#=\(.*\)#='\1'#"
elif [[ "$1" =~ ^-+[a-zA-Z0-9_\-]+$ ]]; then
echo "$1"
else
echo "'$1'"
fi
}
# ViashRemoveFlags: Remove leading flag
# $1 : string with a possible leading flag
# return : string without possible leading flag
# examples:
# ViashRemoveFlags --foo=bar # returns bar
function ViashRemoveFlags {
echo "$1" | sed 's/^--*[a-zA-Z0-9_\-]*=//'
}
# ViashSourceDir: return the path of a bash file, following symlinks
# usage : ViashSourceDir ${BASH_SOURCE[0]}
# $1 : Should always be set to ${BASH_SOURCE[0]}
# returns : The absolute path of the bash file
function ViashSourceDir {
local source="$1"
while [ -h "$source" ]; do
local dir="$( cd -P "$( dirname "$source" )" >/dev/null 2>&1 && pwd )"
source="$(readlink "$source")"
[[ $source != /* ]] && source="$dir/$source"
done
cd -P "$( dirname "$source" )" >/dev/null 2>&1 && pwd
}
# ViashFindTargetDir: return the path of the '.build.yaml' file, following symlinks
# usage : ViashFindTargetDir 'ScriptPath'
# $1 : The location from where to start the upward search
# returns : The absolute path of the '.build.yaml' file
function ViashFindTargetDir {
local source="$1"
while [[ "$source" != "" && ! -e "$source/.build.yaml" ]]; do
source=${source%/*}
done
echo $source
}
# see https://en.wikipedia.org/wiki/Syslog#Severity_level
VIASH_LOGCODE_EMERGENCY=0
VIASH_LOGCODE_ALERT=1
VIASH_LOGCODE_CRITICAL=2
VIASH_LOGCODE_ERROR=3
VIASH_LOGCODE_WARNING=4
VIASH_LOGCODE_NOTICE=5
VIASH_LOGCODE_INFO=6
VIASH_LOGCODE_DEBUG=7
VIASH_VERBOSITY=$VIASH_LOGCODE_NOTICE
# ViashLog: Log events depending on the verbosity level
# usage: ViashLog 1 alert Oh no something went wrong!
# $1: required verbosity level
# $2: display tag
# $3+: messages to display
# stdout: Your input, prepended by '[$2] '.
function ViashLog {
local required_level="$1"
local display_tag="$2"
shift 2
if [ $VIASH_VERBOSITY -ge $required_level ]; then
>&2 echo "[$display_tag]" "$@"
fi
}
# ViashEmergency: log events when the system is unstable
# usage: ViashEmergency Oh no something went wrong.
# stdout: Your input, prepended by '[emergency] '.
function ViashEmergency {
ViashLog $VIASH_LOGCODE_EMERGENCY emergency "$@"
}
# ViashAlert: log events when actions must be taken immediately (e.g. corrupted system database)
# usage: ViashAlert Oh no something went wrong.
# stdout: Your input, prepended by '[alert] '.
function ViashAlert {
ViashLog $VIASH_LOGCODE_ALERT alert "$@"
}
# ViashCritical: log events when a critical condition occurs
# usage: ViashCritical Oh no something went wrong.
# stdout: Your input, prepended by '[critical] '.
function ViashCritical {
ViashLog $VIASH_LOGCODE_CRITICAL critical "$@"
}
# ViashError: log events when an error condition occurs
# usage: ViashError Oh no something went wrong.
# stdout: Your input, prepended by '[error] '.
function ViashError {
ViashLog $VIASH_LOGCODE_ERROR error "$@"
}
# ViashWarning: log potentially abnormal events
# usage: ViashWarning Something may have gone wrong.
# stdout: Your input, prepended by '[warning] '.
function ViashWarning {
ViashLog $VIASH_LOGCODE_WARNING warning "$@"
}
# ViashNotice: log significant but normal events
# usage: ViashNotice This just happened.
# stdout: Your input, prepended by '[notice] '.
function ViashNotice {
ViashLog $VIASH_LOGCODE_NOTICE notice "$@"
}
# ViashInfo: log normal events
# usage: ViashInfo This just happened.
# stdout: Your input, prepended by '[info] '.
function ViashInfo {
ViashLog $VIASH_LOGCODE_INFO info "$@"
}
# ViashDebug: log all events, for debugging purposes
# usage: ViashDebug This just happened.
# stdout: Your input, prepended by '[debug] '.
function ViashDebug {
ViashLog $VIASH_LOGCODE_DEBUG debug "$@"
}
# find source folder of this component
VIASH_META_RESOURCES_DIR=`ViashSourceDir ${BASH_SOURCE[0]}`
# find the root of the built components & dependencies
VIASH_TARGET_DIR=`ViashFindTargetDir $VIASH_META_RESOURCES_DIR`
# define meta fields
VIASH_META_NAME="star_align_reads"
VIASH_META_FUNCTIONALITY_NAME="star_align_reads"
VIASH_META_EXECUTABLE="$VIASH_META_RESOURCES_DIR/$VIASH_META_NAME"
VIASH_META_CONFIG="$VIASH_META_RESOURCES_DIR/.config.vsh.yaml"
VIASH_META_TEMP_DIR="$VIASH_TEMP"
# ViashHelp: Display helpful explanation about this executable
function ViashHelp {
echo "star_align_reads main"
echo ""
echo "Aligns reads to a reference genome using STAR."
echo ""
echo "Run Parameters:"
echo " --run_rng_seed"
echo " type: integer"
echo " example: 777"
echo " random number generator seed."
echo ""
echo "Genome Parameters:"
echo " --genome_dir"
echo " type: file, required parameter, file must exist"
echo " example: ./GenomeDir"
echo " path to the directory where genome files are stored (for --runMode"
echo " alignReads) or will be generated (for --runMode generateGenome)"
echo ""
echo " --genome_load"
echo " type: string"
echo " example: NoSharedMemory"
echo " mode of shared memory usage for the genome files. Only used with"
echo " --runMode alignReads."
echo " - LoadAndKeep ... load genome into shared and keep it in memory"
echo " after run"
echo " - LoadAndRemove ... load genome into shared but remove it after run"
echo " - LoadAndExit ... load genome into shared memory and exit, keeping"
echo " the genome in memory for future runs"
echo " - Remove ... do not map anything, just remove loaded genome"
echo " from memory"
echo " - NoSharedMemory ... do not use shared memory, each job will have its"
echo " own private copy of the genome"
echo ""
echo " --genome_fasta_files"
echo " type: file, multiple values allowed, file must exist"
echo " path(s) to the fasta files with the genome sequences, separated by"
echo " spaces. These files should be plain text FASTA files, they *cannot* be"
echo " zipped."
echo " Required for the genome generation (--runMode genomeGenerate). Can also"
echo " be used in the mapping (--runMode alignReads) to add extra (new)"
echo " sequences to the genome (e.g. spike-ins)."
echo ""
echo " --genome_file_sizes"
echo " type: integer, multiple values allowed"
echo " example: 0"
echo " genome files exact sizes in bytes. Typically, this should not be defined"
echo " by the user."
echo ""
echo " --genome_transform_output"
echo " type: string, multiple values allowed"
echo " which output to transform back to original genome"
echo " - SAM ... SAM/BAM alignments"
echo " - SJ ... splice junctions (SJ.out.tab)"
echo " - Quant ... quantifications (from --quant_mode option)"
echo " - None ... no transformation of the output"
echo ""
echo " --genome_chr_set_mitochondrial"
echo " type: string, multiple values allowed"
echo " example: chrM;M;MT"
echo " names of the mitochondrial chromosomes. Presently only used for STARsolo"
echo " statistics output/"
echo ""
echo "Splice Junctions Database:"
echo " --sjdb_file_chr_start_end"
echo " type: string, multiple values allowed"
echo " path to the files with genomic coordinates (chr <tab> start <tab> end"
echo " <tab> strand) for the splice junction introns. Multiple files can be"
echo " supplied and will be concatenated."
echo ""
echo " --sjdb_gtf_file"
echo " type: file, file must exist"
echo " path to the GTF file with annotations"
echo ""
echo " --sjdb_gtf_chr_prefix"
echo " type: string"
echo " prefix for chromosome names in a GTF file (e.g. 'chr' for using ENSMEBL"
echo " annotations with UCSC genomes)"
echo ""
echo " --sjdb_gtf_feature_exon"
echo " type: string"
echo " example: exon"
echo " feature type in GTF file to be used as exons for building transcripts"
echo ""
echo " --sjdb_gtf_tag_exon_parent_transcript"
echo " type: string"
echo " example: transcript_id"
echo " GTF attribute name for parent transcript ID (default \"transcript_id\""
echo " works for GTF files)"
echo ""
echo " --sjdb_gtf_tag_exon_parent_gene"
echo " type: string"
echo " example: gene_id"
echo " GTF attribute name for parent gene ID (default \"gene_id\" works for GTF"
echo " files)"
echo ""
echo " --sjdb_gtf_tag_exon_parent_gene_name"
echo " type: string, multiple values allowed"
echo " example: gene_name"
echo " GTF attribute name for parent gene name"
echo ""
echo " --sjdb_gtf_tag_exon_parent_gene_type"
echo " type: string, multiple values allowed"
echo " example: gene_type;gene_biotype"
echo " GTF attribute name for parent gene type"
echo ""
echo " --sjdb_overhang"
echo " type: integer"
echo " example: 100"
echo " length of the donor/acceptor sequence on each side of the junctions,"
echo " ideally = (mate_length - 1)"
echo ""
echo " --sjdb_score"
echo " type: integer"
echo " example: 2"
echo " extra alignment score for alignments that cross database junctions"
echo ""
echo " --sjdb_insert_save"
echo " type: string"
echo " example: Basic"
echo " which files to save when sjdb junctions are inserted on the fly at the"
echo " mapping step"
echo " - Basic ... only small junction / transcript files"
echo " - All ... all files including big Genome, SA and SAindex - this will"
echo " create a complete genome directory"
echo ""
echo "Variation parameters:"
echo " --var_vcf_file"
echo " type: string"
echo " path to the VCF file that contains variation data. The 10th column"
echo " should contain the genotype information, e.g. 0/1"
echo ""
echo "Read Parameters:"
echo " --read_files_type"
echo " type: string"
echo " example: Fastx"
echo " format of input read files"
echo " - Fastx ... FASTA or FASTQ"
echo " - SAM SE ... SAM or BAM single-end reads; for BAM use"
echo " --read_files_command samtools view"
echo " - SAM PE ... SAM or BAM paired-end reads; for BAM use"
echo " --read_files_command samtools view"
echo ""
echo " --read_files_sam_attr_keep"
echo " type: string, multiple values allowed"
echo " example: All"
echo " for --read_files_type SAM SE/PE, which SAM tags to keep in the output"
echo " BAM, e.g.: --readFilesSAMtagsKeep RG PL"
echo " - All ... keep all tags"
echo " - None ... do not keep any tags"
echo ""
echo " --read_files_manifest"
echo " type: file, file must exist"
echo " path to the \"manifest\" file with the names of read files. The manifest"
echo " file should contain 3 tab-separated columns:"
echo " paired-end reads: read1_file_name \$tab\$ read2_file_name \$tab\$"
echo " read_group_line."
echo " single-end reads: read1_file_name \$tab\$ - \$tab\$"
echo " read_group_line."
echo " Spaces, but not tabs are allowed in file names."
echo " If read_group_line does not start with ID:, it can only contain one ID"
echo " field, and ID: will be added to it."
echo " If read_group_line starts with ID:, it can contain several fields"
echo " separated by \$tab\$, and all fields will be be copied verbatim into SAM"
echo " @RG header line."
echo ""
echo " --read_files_prefix"
echo " type: string"
echo " prefix for the read files names, i.e. it will be added in front of the"
echo " strings in --readFilesIn"
echo ""
echo " --read_files_command"
echo " type: string, multiple values allowed"
echo " command line to execute for each of the input file. This command should"
echo " generate FASTA or FASTQ text and send it to stdout"
echo " For example: zcat - to uncompress .gz files, bzcat - to uncompress .bz2"
echo " files, etc."
echo ""
echo " --read_map_number"
echo " type: integer"
echo " example: -1"
echo " number of reads to map from the beginning of the file"
echo " -1: map all reads"
echo ""
echo " --read_mates_lengths_in"
echo " type: string"
echo " example: NotEqual"
echo " Equal/NotEqual - lengths of names,sequences,qualities for both mates are"
echo " the same / not the same. NotEqual is safe in all situations."
echo ""
echo " --read_name_separator"
echo " type: string, multiple values allowed"
echo " example: /"
echo " character(s) separating the part of the read names that will be trimmed"
echo " in output (read name after space is always trimmed)"
echo ""
echo " --read_quality_score_base"
echo " type: integer"
echo " example: 33"
echo " number to be subtracted from the ASCII code to get Phred quality score"
echo ""
echo "Read Clipping:"
echo " --clip_adapter_type"
echo " type: string"
echo " example: Hamming"
echo " adapter clipping type"
echo " - Hamming ... adapter clipping based on Hamming distance, with the"
echo " number of mismatches controlled by --clip5pAdapterMMp"
echo " - CellRanger4 ... 5p and 3p adapter clipping similar to CellRanger4."
echo " Utilizes Opal package by Martin Sosic: https://github.com/Martinsos/opal"
echo " - None ... no adapter clipping, all other clip* parameters are"
echo " disregarded"
echo ""
echo " --clip3p_nbases"
echo " type: integer, multiple values allowed"
echo " example: 0"
echo " number(s) of bases to clip from 3p of each mate. If one value is given,"
echo " it will be assumed the same for both mates."
echo ""
echo " --clip3p_adapter_seq"
echo " type: string, multiple values allowed"
echo " adapter sequences to clip from 3p of each mate. If one value is given,"
echo " it will be assumed the same for both mates."
echo " - polyA ... polyA sequence with the length equal to read length"
echo ""
echo " --clip3p_adapter_mm_p"
echo " type: double, multiple values allowed"
echo " example: 0.1"
echo " max proportion of mismatches for 3p adapter clipping for each mate. If"
echo " one value is given, it will be assumed the same for both mates."
echo ""
echo " --clip3p_after_adapter_nbases"
echo " type: integer, multiple values allowed"
echo " example: 0"
echo " number of bases to clip from 3p of each mate after the adapter clipping."
echo " If one value is given, it will be assumed the same for both mates."
echo ""
echo " --clip5p_nbases"
echo " type: integer, multiple values allowed"
echo " example: 0"
echo " number(s) of bases to clip from 5p of each mate. If one value is given,"
echo " it will be assumed the same for both mates."
echo ""
echo "Limits:"
echo " --limit_genome_generate_ram"
echo " type: long"
echo " example: 31000000000"
echo " maximum available RAM (bytes) for genome generation"
echo ""
echo " --limit_io_buffer_size"
echo " type: long, multiple values allowed"
echo " example: 30000000;50000000"
echo " max available buffers size (bytes) for input/output, per thread"
echo ""
echo " --limit_out_sam_one_read_bytes"
echo " type: long"
echo " example: 100000"
echo " max size of the SAM record (bytes) for one read. Recommended value:"
echo " >(2*(LengthMate1+LengthMate2+100)*outFilterMultimapNmax"
echo ""
echo " --limit_out_sj_one_read"
echo " type: integer"
echo " example: 1000"
echo " max number of junctions for one read (including all multi-mappers)"
echo ""
echo " --limit_out_sj_collapsed"
echo " type: integer"
echo " example: 1000000"
echo " max number of collapsed junctions"
echo ""
echo " --limit_bam_sort_ram"
echo " type: long"
echo " example: 0"
echo " maximum available RAM (bytes) for sorting BAM. If =0, it will be set to"
echo " the genome index size. 0 value can only be used with --genome_load"
echo " NoSharedMemory option."
echo ""
echo " --limit_sjdb_insert_nsj"
echo " type: integer"
echo " example: 1000000"
echo " maximum number of junctions to be inserted to the genome on the fly at"
echo " the mapping stage, including those from annotations and those detected"
echo " in the 1st step of the 2-pass run"
echo ""
echo " --limit_nreads_soft"
echo " type: integer"
echo " example: -1"
echo " soft limit on the number of reads"
echo ""
echo "Output: general:"
echo " --out_tmp_keep"
echo " type: string"
echo " whether to keep the temporary files after STAR runs is finished"
echo " - None ... remove all temporary files"
echo " - All ... keep all files"
echo ""
echo " --out_std"
echo " type: string"
echo " example: Log"
echo " which output will be directed to stdout (standard out)"
echo " - Log ... log messages"
echo " - SAM ... alignments in SAM format (which normally"
echo " are output to Aligned.out.sam file), normal standard output will go into"
echo " Log.std.out"
echo " - BAM_Unsorted ... alignments in BAM format, unsorted."
echo " Requires --out_sam_type BAM Unsorted"
echo " - BAM_SortedByCoordinate ... alignments in BAM format, sorted by"
echo " coordinate. Requires --out_sam_type BAM SortedByCoordinate"
echo " - BAM_Quant ... alignments to transcriptome in BAM format,"
echo " unsorted. Requires --quant_mode TranscriptomeSAM"
echo ""
echo " --out_reads_unmapped"
echo " type: string"
echo " output of unmapped and partially mapped (i.e. mapped only one mate of a"
echo " paired end read) reads in separate file(s)."
echo " - None ... no output"
echo " - Fastx ... output in separate fasta/fastq files, Unmapped.out.mate1/2"
echo ""
echo " --out_qs_conversion_add"
echo " type: integer"
echo " example: 0"
echo " add this number to the quality score (e.g. to convert from Illumina to"
echo " Sanger, use -31)"
echo ""
echo " --out_multimapper_order"
echo " type: string"
echo " example: Old_2.4"
echo " order of multimapping alignments in the output files"
echo " - Old_2.4 ... quasi-random order used before 2.5.0"
echo " - Random ... random order of alignments for each"
echo " multi-mapper. Read mates (pairs) are always adjacent, all alignment for"
echo " each read stay together. This option will become default in the future"
echo " releases."
echo ""
echo "Output: SAM and BAM:"
echo " --out_sam_type"
echo " type: string, multiple values allowed"
echo " example: SAM"
echo " type of SAM/BAM output"
echo " 1st word:"
echo " - BAM ... output BAM without sorting"
echo " - SAM ... output SAM without sorting"
echo " - None ... no SAM/BAM output"
echo " 2nd, 3rd:"
echo " - Unsorted ... standard unsorted"
echo " - SortedByCoordinate ... sorted by coordinate. This option will allocate"
echo " extra memory for sorting which can be specified by --limit_bam_sort_ram."
echo ""
echo " --out_sam_mode"
echo " type: string"
echo " example: Full"
echo " mode of SAM output"
echo " - None ... no SAM output"
echo " - Full ... full SAM output"
echo " - NoQS ... full SAM but without quality scores"
echo ""
echo " --out_sam_strand_field"
echo " type: string"
echo " Cufflinks-like strand field flag"
echo " - None ... not used"
echo " - intronMotif ... strand derived from the intron motif. This option"
echo " changes the output alignments: reads with inconsistent and/or"
echo " non-canonical introns are filtered out."
echo ""
echo " --out_sam_attributes"
echo " type: string, multiple values allowed"
echo " example: Standard"
echo " a string of desired SAM attributes, in the order desired for the output"
echo " SAM. Tags can be listed in any combination/order."
echo " ***Presets:"
echo " - None ... no attributes"
echo " - Standard ... NH HI AS nM"
echo " - All ... NH HI AS nM NM MD jM jI MC ch"
echo " ***Alignment:"
echo " - NH ... number of loci the reads maps to: =1 for unique"
echo " mappers, >1 for multimappers. Standard SAM tag."
echo " - HI ... multiple alignment index, starts with"
echo " --out_sam_attr_ih_start (=1 by default). Standard SAM tag."
echo " - AS ... local alignment score, +1/-1 for matches/mismateches,"
echo " score* penalties for indels and gaps. For PE reads, total score for two"
echo " mates. Stadnard SAM tag."
echo " - nM ... number of mismatches. For PE reads, sum over two"
echo " mates."
echo " - NM ... edit distance to the reference (number of mismatched +"
echo " inserted + deleted bases) for each mate. Standard SAM tag."
echo " - MD ... string encoding mismatched and deleted reference bases"
echo " (see standard SAM specifications). Standard SAM tag."
echo " - jM ... intron motifs for all junctions (i.e. N in CIGAR): 0:"
echo " non-canonical; 1: GT/AG, 2: CT/AC, 3: GC/AG, 4: CT/GC, 5: AT/AC, 6:"
echo " GT/AT. If splice junctions database is used, and a junction is"
echo " annotated, 20 is added to its motif value."
echo " - jI ... start and end of introns for all junctions (1-based)."
echo " - XS ... alignment strand according to --out_sam_strand_field."
echo " - MC ... mate's CIGAR string. Standard SAM tag."
echo " - ch ... marks all segment of all chimeric alingments for"
echo " --chim_out_type WithinBAM output."
echo " - cN ... number of bases clipped from the read ends: 5' and 3'"
echo " ***Variation:"
echo " - vA ... variant allele"
echo " - vG ... genomic coordinate of the variant overlapped by the"
echo " read."
echo " - vW ... 1 - alignment passes WASP filtering; 2,3,4,5,6,7 -"
echo " alignment does not pass WASP filtering. Requires --wasp_output_mode"
echo " SAMtag."
echo " - ha ... haplotype (1/2) when mapping to the diploid genome."
echo " Requires genome generated with --genomeTransformType Diploid ."
echo " ***STARsolo:"
echo " - CR CY UR UY ... sequences and quality scores of cell barcodes and UMIs"
echo " for the solo* demultiplexing."
echo " - GX GN ... gene ID and gene name for unique-gene reads."
echo " - gx gn ... gene IDs and gene names for unique- and multi-gene"
echo " reads."
echo " - CB UB ... error-corrected cell barcodes and UMIs for solo*"
echo " demultiplexing. Requires --out_sam_type BAM SortedByCoordinate."
echo " - sM ... assessment of CB and UMI."
echo " - sS ... sequence of the entire barcode (CB,UMI,adapter)."
echo " - sQ ... quality of the entire barcode."
echo " - sF ... type of feature overlap and number of features for"
echo " each alignment"
echo " ***Unsupported/undocumented:"
echo " - rB ... alignment block read/genomic coordinates."
echo " - vR ... read coordinate of the variant."
echo ""
echo " --out_sam_attr_ih_start"
echo " type: integer"
echo " example: 1"
echo " start value for the IH attribute. 0 may be required by some downstream"
echo " software, such as Cufflinks or StringTie."
echo ""
echo " --out_sam_unmapped"
echo " type: string, multiple values allowed"
echo " output of unmapped reads in the SAM format"
echo " 1st word:"
echo " - None ... no output"
echo " - Within ... output unmapped reads within the main SAM file (i.e."
echo " Aligned.out.sam)"
echo " 2nd word:"
echo " - KeepPairs ... record unmapped mate for each alignment, and, in case of"
echo " unsorted output, keep it adjacent to its mapped mate. Only affects"
echo " multi-mapping reads."
echo ""
echo " --out_sam_order"
echo " type: string"
echo " example: Paired"
echo " type of sorting for the SAM output"
echo " Paired: one mate after the other for all paired alignments"
echo " PairedKeepInputOrder: one mate after the other for all paired"
echo " alignments, the order is kept the same as in the input FASTQ files"
echo ""
echo " --out_sam_primary_flag"
echo " type: string"
echo " example: OneBestScore"
echo " which alignments are considered primary - all others will be marked with"
echo " 0x100 bit in the FLAG"
echo " - OneBestScore ... only one alignment with the best score is primary"
echo " - AllBestScore ... all alignments with the best score are primary"
echo ""
echo " --out_sam_read_id"
echo " type: string"
echo " example: Standard"
echo " read ID record type"
echo " - Standard ... first word (until space) from the FASTx read ID line,"
echo " removing /1,/2 from the end"
echo " - Number ... read number (index) in the FASTx file"
echo ""
echo " --out_sam_mapq_unique"
echo " type: integer"
echo " example: 255"
echo " 0 to 255: the MAPQ value for unique mappers"
echo ""
echo " --out_sam_flag_or"
echo " type: integer"
echo " example: 0"
echo " 0 to 65535: sam FLAG will be bitwise OR'd with this value, i.e."
echo " FLAG=FLAG | outSAMflagOR. This is applied after all flags have been set"
echo " by STAR, and after outSAMflagAND. Can be used to set specific bits that"
echo " are not set otherwise."
echo ""
echo " --out_sam_flag_and"
echo " type: integer"
echo " example: 65535"
echo " 0 to 65535: sam FLAG will be bitwise AND'd with this value, i.e."
echo " FLAG=FLAG & outSAMflagOR. This is applied after all flags have been set"
echo " by STAR, but before outSAMflagOR. Can be used to unset specific bits"
echo " that are not set otherwise."
echo ""
echo " --out_sam_attr_rg_line"
echo " type: string, multiple values allowed"
echo " SAM/BAM read group line. The first word contains the read group"
echo " identifier and must start with \"ID:\", e.g. --out_sam_attr_rg_line ID:xxx"
echo " CN:yy \"DS:z z z\"."
echo " xxx will be added as RG tag to each output alignment. Any spaces in the"
echo " tag values have to be double quoted."
echo " Comma separated RG lines correspons to different (comma separated) input"
echo " files in --readFilesIn. Commas have to be surrounded by spaces, e.g."
echo " --out_sam_attr_rg_line ID:xxx , ID:zzz \"DS:z z\" , ID:yyy DS:yyyy"
echo ""
echo " --out_sam_header_hd"
echo " type: string, multiple values allowed"
echo " @HD (header) line of the SAM header"
echo ""
echo " --out_sam_header_pg"
echo " type: string, multiple values allowed"
echo " extra @PG (software) line of the SAM header (in addition to STAR)"
echo ""
echo " --out_sam_header_comment_file"
echo " type: string"
echo " path to the file with @CO (comment) lines of the SAM header"
echo ""
echo " --out_sam_filter"
echo " type: string, multiple values allowed"
echo " filter the output into main SAM/BAM files"
echo " - KeepOnlyAddedReferences ... only keep the reads for which all"
echo " alignments are to the extra reference sequences added with"
echo " --genome_fasta_files at the mapping stage."
echo " - KeepAllAddedReferences ... keep all alignments to the extra reference"
echo " sequences added with --genome_fasta_files at the mapping stage."
echo ""
echo " --out_sam_mult_nmax"
echo " type: integer"
echo " example: -1"
echo " max number of multiple alignments for a read that will be output to the"
echo " SAM/BAM files. Note that if this value is not equal to -1, the top"
echo " scoring alignment will be output first"
echo " - -1 ... all alignments (up to --out_filter_multimap_nmax) will be"
echo " output"
echo ""
echo " --out_sam_tlen"
echo " type: integer"
echo " example: 1"
echo " calculation method for the TLEN field in the SAM/BAM files"
echo " - 1 ... leftmost base of the (+)strand mate to rightmost base of the"
echo " (-)mate. (+)sign for the (+)strand mate"
echo " - 2 ... leftmost base of any mate to rightmost base of any mate. (+)sign"
echo " for the mate with the leftmost base. This is different from 1 for"
echo " overlapping mates with protruding ends"
echo ""
echo " --out_bam_compression"
echo " type: integer"
echo " example: 1"
echo " -1 to 10 BAM compression level, -1=default compression (6?), 0=no"
echo " compression, 10=maximum compression"
echo ""
echo " --out_bam_sorting_thread_n"
echo " type: integer"
echo " example: 0"
echo " >=0: number of threads for BAM sorting. 0 will default to"
echo " min(6,--runThreadN)."
echo ""
echo " --out_bam_sorting_bins_n"
echo " type: integer"
echo " example: 50"
echo " >0: number of genome bins for coordinate-sorting"
echo ""
echo "BAM processing:"
echo " --bam_remove_duplicates_type"
echo " type: string"
echo " mark duplicates in the BAM file, for now only works with (i) sorted BAM"
echo " fed with inputBAMfile, and (ii) for paired-end alignments only"
echo " - - ... no duplicate removal/marking"
echo " - UniqueIdentical ... mark all multimappers, and duplicate"
echo " unique mappers. The coordinates, FLAG, CIGAR must be identical"
echo " - UniqueIdenticalNotMulti ... mark duplicate unique mappers but not"
echo " multimappers."
echo ""
echo " --bam_remove_duplicates_mate2bases_n"
echo " type: integer"
echo " example: 0"
echo " number of bases from the 5' of mate 2 to use in collapsing (e.g. for"
echo " RAMPAGE)"
echo ""
echo "Output Wiggle:"
echo " --out_wig_type"
echo " type: string, multiple values allowed"
echo " type of signal output, e.g. \"bedGraph\" OR \"bedGraph read1_5p\". Requires"
echo " sorted BAM: --out_sam_type BAM SortedByCoordinate ."
echo " 1st word:"
echo " - None ... no signal output"
echo " - bedGraph ... bedGraph format"
echo " - wiggle ... wiggle format"
echo " 2nd word:"
echo " - read1_5p ... signal from only 5' of the 1st read, useful for"
echo " CAGE/RAMPAGE etc"
echo " - read2 ... signal from only 2nd read"
echo ""
echo " --out_wig_strand"
echo " type: string"
echo " example: Stranded"
echo " strandedness of wiggle/bedGraph output"
echo " - Stranded ... separate strands, str1 and str2"
echo " - Unstranded ... collapsed strands"
echo ""
echo " --out_wig_references_prefix"
echo " type: string"
echo " prefix matching reference names to include in the output wiggle file,"
echo " e.g. \"chr\", default \"-\" - include all references"
echo ""
echo " --out_wig_norm"
echo " type: string"
echo " example: RPM"
echo " type of normalization for the signal"
echo " - RPM ... reads per million of mapped reads"
echo " - None ... no normalization, \"raw\" counts"
echo ""
echo "Output Filtering:"
echo " --out_filter_type"
echo " type: string"
echo " example: Normal"
echo " type of filtering"
echo " - Normal ... standard filtering using only current alignment"
echo " - BySJout ... keep only those reads that contain junctions that passed"
echo " filtering into SJ.out.tab"
echo ""
echo " --out_filter_multimap_score_range"
echo " type: integer"
echo " example: 1"
echo " the score range below the maximum score for multimapping alignments"
echo ""
echo " --out_filter_multimap_nmax"
echo " type: integer"
echo " example: 10"
echo " maximum number of loci the read is allowed to map to. Alignments (all of"
echo " them) will be output only if the read maps to no more loci than this"
echo " value."
echo " Otherwise no alignments will be output, and the read will be counted as"
echo " \"mapped to too many loci\" in the Log.final.out ."
echo ""
echo " --out_filter_mismatch_nmax"
echo " type: integer"
echo " example: 10"
echo " alignment will be output only if it has no more mismatches than this"
echo " value."
echo ""
echo " --out_filter_mismatch_nover_lmax"
echo " type: double"
echo " example: 0.3"
echo " alignment will be output only if its ratio of mismatches to *mapped*"
echo " length is less than or equal to this value."
echo ""
echo " --out_filter_mismatch_nover_read_lmax"
echo " type: double"
echo " example: 1.0"
echo " alignment will be output only if its ratio of mismatches to *read*"
echo " length is less than or equal to this value."
echo ""
echo " --out_filter_score_min"
echo " type: integer"
echo " example: 0"
echo " alignment will be output only if its score is higher than or equal to"
echo " this value."
echo ""
echo " --out_filter_score_min_over_lread"
echo " type: double"
echo " example: 0.66"
echo " same as outFilterScoreMin, but normalized to read length (sum of mates'"
echo " lengths for paired-end reads)"
echo ""
echo " --out_filter_match_nmin"
echo " type: integer"
echo " example: 0"
echo " alignment will be output only if the number of matched bases is higher"
echo " than or equal to this value."
echo ""
echo " --out_filter_match_nmin_over_lread"
echo " type: double"
echo " example: 0.66"
echo " sam as outFilterMatchNmin, but normalized to the read length (sum of"
echo " mates' lengths for paired-end reads)."
echo ""
echo " --out_filter_intron_motifs"
echo " type: string"
echo " filter alignment using their motifs"
echo " - None ... no filtering"
echo " - RemoveNoncanonical ... filter out alignments that contain"
echo " non-canonical junctions"
echo " - RemoveNoncanonicalUnannotated ... filter out alignments that contain"
echo " non-canonical unannotated junctions when using annotated splice"
echo " junctions database. The annotated non-canonical junctions will be kept."
echo ""
echo " --out_filter_intron_strands"
echo " type: string"
echo " example: RemoveInconsistentStrands"
echo " filter alignments"
echo " - RemoveInconsistentStrands ... remove alignments that have"
echo " junctions with inconsistent strands"
echo " - None ... no filtering"
echo ""
echo "Output splice junctions (SJ.out.tab):"
echo " --out_sj_type"
echo " type: string"
echo " example: Standard"
echo " type of splice junction output"
echo " - Standard ... standard SJ.out.tab output"
echo " - None ... no splice junction output"
echo ""
echo "Output Filtering: Splice Junctions:"
echo " --out_sj_filter_reads"
echo " type: string"
echo " example: All"
echo " which reads to consider for collapsed splice junctions output"
echo " - All ... all reads, unique- and multi-mappers"
echo " - Unique ... uniquely mapping reads only"
echo ""
echo " --out_sj_filter_overhang_min"
echo " type: integer, multiple values allowed"
echo " example: 30;12;12;12"
echo " minimum overhang length for splice junctions on both sides for: (1)"
echo " non-canonical motifs, (2) GT/AG and CT/AC motif, (3) GC/AG and CT/GC"
echo " motif, (4) AT/AC and GT/AT motif. -1 means no output for that motif"
echo " does not apply to annotated junctions"
echo ""
echo " --out_sj_filter_count_unique_min"
echo " type: integer, multiple values allowed"
echo " example: 3;1;1;1"
echo " minimum uniquely mapping read count per junction for: (1) non-canonical"
echo " motifs, (2) GT/AG and CT/AC motif, (3) GC/AG and CT/GC motif, (4) AT/AC"
echo " and GT/AT motif. -1 means no output for that motif"
echo " Junctions are output if one of outSJfilterCountUniqueMin OR"
echo " outSJfilterCountTotalMin conditions are satisfied"
echo " does not apply to annotated junctions"
echo ""
echo " --out_sj_filter_count_total_min"
echo " type: integer, multiple values allowed"
echo " example: 3;1;1;1"
echo " minimum total (multi-mapping+unique) read count per junction for: (1)"
echo " non-canonical motifs, (2) GT/AG and CT/AC motif, (3) GC/AG and CT/GC"
echo " motif, (4) AT/AC and GT/AT motif. -1 means no output for that motif"
echo " Junctions are output if one of outSJfilterCountUniqueMin OR"
echo " outSJfilterCountTotalMin conditions are satisfied"
echo " does not apply to annotated junctions"
echo ""
echo " --out_sj_filter_dist_to_other_sj_min"
echo " type: integer, multiple values allowed"
echo " example: 10;0;5;10"
echo " minimum allowed distance to other junctions' donor/acceptor"
echo " does not apply to annotated junctions"
echo ""
echo " --out_sj_filter_intron_max_vs_read_n"
echo " type: integer, multiple values allowed"
echo " example: 50000;100000;200000"
echo " maximum gap allowed for junctions supported by 1,2,3,,,N reads"
echo " i.e. by default junctions supported by 1 read can have gaps <=50000b, by"
echo " 2 reads: <=100000b, by 3 reads: <=200000. by >=4 reads any gap"
echo " <=alignIntronMax"
echo " does not apply to annotated junctions"
echo ""
echo "Scoring:"
echo " --score_gap"
echo " type: integer"
echo " example: 0"
echo " splice junction penalty (independent on intron motif)"
echo ""
echo " --score_gap_noncan"
echo " type: integer"
echo " example: -8"
echo " non-canonical junction penalty (in addition to scoreGap)"
echo ""
echo " --score_gap_gcag"
echo " type: integer"
echo " example: -4"
echo " GC/AG and CT/GC junction penalty (in addition to scoreGap)"
echo ""
echo " --score_gap_atac"
echo " type: integer"
echo " example: -8"
echo " AT/AC and GT/AT junction penalty (in addition to scoreGap)"
echo ""
echo " --score_genomic_length_log2scale"
echo " type: integer"
echo " example: 0"
echo " extra score logarithmically scaled with genomic length of the alignment:"
echo " scoreGenomicLengthLog2scale*log2(genomicLength)"
echo ""
echo " --score_del_open"
echo " type: integer"
echo " example: -2"
echo " deletion open penalty"
echo ""
echo " --score_del_base"
echo " type: integer"
echo " example: -2"
echo " deletion extension penalty per base (in addition to scoreDelOpen)"
echo ""
echo " --score_ins_open"
echo " type: integer"
echo " example: -2"
echo " insertion open penalty"
echo ""
echo " --score_ins_base"
echo " type: integer"
echo " example: -2"
echo " insertion extension penalty per base (in addition to scoreInsOpen)"
echo ""
echo " --score_stitch_sj_shift"
echo " type: integer"
echo " example: 1"
echo " maximum score reduction while searching for SJ boundaries in the"
echo " stitching step"
echo ""
echo "Alignments and Seeding:"
echo " --seed_search_start_lmax"
echo " type: integer"
echo " example: 50"
echo " defines the search start point through the read - the read is split into"
echo " pieces no longer than this value"
echo ""
echo " --seed_search_start_lmax_over_lread"
echo " type: double"
echo " example: 1.0"
echo " seedSearchStartLmax normalized to read length (sum of mates' lengths for"
echo " paired-end reads)"
echo ""
echo " --seed_search_lmax"
echo " type: integer"
echo " example: 0"
echo " defines the maximum length of the seeds, if =0 seed length is not"
echo " limited"
echo ""
echo " --seed_multimap_nmax"
echo " type: integer"
echo " example: 10000"
echo " only pieces that map fewer than this value are utilized in the stitching"
echo " procedure"
echo ""
echo " --seed_per_read_nmax"
echo " type: integer"
echo " example: 1000"
echo " max number of seeds per read"
echo ""
echo " --seed_per_window_nmax"
echo " type: integer"
echo " example: 50"
echo " max number of seeds per window"
echo ""
echo " --seed_none_loci_per_window"
echo " type: integer"
echo " example: 10"
echo " max number of one seed loci per window"
echo ""
echo " --seed_split_min"
echo " type: integer"
echo " example: 12"
echo " min length of the seed sequences split by Ns or mate gap"
echo ""
echo " --seed_map_min"
echo " type: integer"
echo " example: 5"
echo " min length of seeds to be mapped"
echo ""
echo " --align_intron_min"
echo " type: integer"
echo " example: 21"
echo " minimum intron size, genomic gap is considered intron if its"
echo " length>=alignIntronMin, otherwise it is considered Deletion"
echo ""
echo " --align_intron_max"
echo " type: integer"
echo " example: 0"
echo " maximum intron size, if 0, max intron size will be determined by"
echo " (2^winBinNbits)*winAnchorDistNbins"
echo ""
echo " --align_mates_gap_max"
echo " type: integer"
echo " example: 0"
echo " maximum gap between two mates, if 0, max intron gap will be determined"
echo " by (2^winBinNbits)*winAnchorDistNbins"
echo ""
echo " --align_sj_overhang_min"
echo " type: integer"
echo " example: 5"
echo " minimum overhang (i.e. block size) for spliced alignments"
echo ""
echo " --align_sj_stitch_mismatch_nmax"
echo " type: integer, multiple values allowed"
echo " example: 0;-1;0;0"
echo " maximum number of mismatches for stitching of the splice junctions (-1:"
echo " no limit)."
echo " (1) non-canonical motifs, (2) GT/AG and CT/AC motif, (3) GC/AG and CT/GC"
echo " motif, (4) AT/AC and GT/AT motif."
echo ""
echo " --align_sjdb_overhang_min"
echo " type: integer"
echo " example: 3"
echo " minimum overhang (i.e. block size) for annotated (sjdb) spliced"
echo " alignments"
echo ""
echo " --align_spliced_mate_map_lmin"
echo " type: integer"
echo " example: 0"
echo " minimum mapped length for a read mate that is spliced"
echo ""
echo " --align_spliced_mate_map_lmin_over_lmate"
echo " type: double"
echo " example: 0.66"
echo " alignSplicedMateMapLmin normalized to mate length"
echo ""
echo " --align_windows_per_read_nmax"
echo " type: integer"
echo " example: 10000"
echo " max number of windows per read"
echo ""
echo " --align_transcripts_per_window_nmax"
echo " type: integer"
echo " example: 100"
echo " max number of transcripts per window"
echo ""
echo " --align_transcripts_per_read_nmax"
echo " type: integer"
echo " example: 10000"
echo " max number of different alignments per read to consider"
echo ""
echo " --align_ends_type"
echo " type: string"
echo " example: Local"
echo " type of read ends alignment"
echo " - Local ... standard local alignment with soft-clipping"
echo " allowed"
echo " - EndToEnd ... force end-to-end read alignment, do not"
echo " soft-clip"
echo " - Extend5pOfRead1 ... fully extend only the 5p of the read1, all other"
echo " ends: local alignment"
echo " - Extend5pOfReads12 ... fully extend only the 5p of the both read1 and"
echo " read2, all other ends: local alignment"
echo ""
echo " --align_ends_protrude"
echo " type: string"
echo " example: 0 ConcordantPair"
echo " allow protrusion of alignment ends, i.e. start (end) of the +strand mate"
echo " downstream of the start (end) of the -strand mate"
echo " 1st word: int: maximum number of protrusion bases allowed"
echo " 2nd word: string:"
echo " - ConcordantPair ... report alignments with non-zero"
echo " protrusion as concordant pairs"
echo " - DiscordantPair ... report alignments with non-zero"
echo " protrusion as discordant pairs"
echo ""
echo " --align_soft_clip_at_reference_ends"
echo " type: string"
echo " example: Yes"
echo " allow the soft-clipping of the alignments past the end of the"
echo " chromosomes"
echo " - Yes ... allow"
echo " - No ... prohibit, useful for compatibility with Cufflinks"
echo ""
echo " --align_insertion_flush"
echo " type: string"
echo " how to flush ambiguous insertion positions"
echo " - None ... insertions are not flushed"
echo " - Right ... insertions are flushed to the right"
echo ""
echo "Paired-End reads:"
echo " --pe_overlap_nbases_min"
echo " type: integer"
echo " example: 0"
echo " minimum number of overlapping bases to trigger mates merging and"
echo " realignment. Specify >0 value to switch on the \"merginf of overlapping"
echo " mates\" algorithm."
echo ""
echo " --pe_overlap_mm_p"
echo " type: double"
echo " example: 0.01"
echo " maximum proportion of mismatched bases in the overlap area"
echo ""
echo "Windows, Anchors, Binning:"
echo " --win_anchor_multimap_nmax"
echo " type: integer"
echo " example: 50"
echo " max number of loci anchors are allowed to map to"
echo ""
echo " --win_bin_nbits"
echo " type: integer"
echo " example: 16"
echo " =log2(winBin), where winBin is the size of the bin for the"
echo " windows/clustering, each window will occupy an integer number of bins."
echo ""
echo " --win_anchor_dist_nbins"
echo " type: integer"
echo " example: 9"
echo " max number of bins between two anchors that allows aggregation of"
echo " anchors into one window"
echo ""
echo " --win_flank_nbins"
echo " type: integer"
echo " example: 4"
echo " log2(winFlank), where win Flank is the size of the left and right"
echo " flanking regions for each window"
echo ""
echo " --win_read_coverage_relative_min"
echo " type: double"
echo " example: 0.5"
echo " minimum relative coverage of the read sequence by the seeds in a window,"
echo " for STARlong algorithm only."
echo ""
echo " --win_read_coverage_bases_min"
echo " type: integer"
echo " example: 0"
echo " minimum number of bases covered by the seeds in a window , for STARlong"
echo " algorithm only."
echo ""
echo "Chimeric Alignments:"
echo " --chim_out_type"
echo " type: string, multiple values allowed"
echo " example: Junctions"
echo " type of chimeric output"
echo " - Junctions ... Chimeric.out.junction"
echo " - SeparateSAMold ... output old SAM into separate Chimeric.out.sam file"
echo " - WithinBAM ... output into main aligned BAM files (Aligned.*.bam)"
echo " - WithinBAM HardClip ... (default) hard-clipping in the CIGAR for"
echo " supplemental chimeric alignments (default if no 2nd word is present)"
echo " - WithinBAM SoftClip ... soft-clipping in the CIGAR for supplemental"
echo " chimeric alignments"
echo ""
echo " --chim_segment_min"
echo " type: integer"
echo " example: 0"
echo " minimum length of chimeric segment length, if ==0, no chimeric output"
echo ""
echo " --chim_score_min"
echo " type: integer"
echo " example: 0"
echo " minimum total (summed) score of the chimeric segments"
echo ""
echo " --chim_score_drop_max"
echo " type: integer"
echo " example: 20"
echo " max drop (difference) of chimeric score (the sum of scores of all"
echo " chimeric segments) from the read length"
echo ""
echo " --chim_score_separation"
echo " type: integer"
echo " example: 10"
echo " minimum difference (separation) between the best chimeric score and the"
echo " next one"
echo ""
echo " --chim_score_junction_non_gtag"
echo " type: integer"
echo " example: -1"
echo " penalty for a non-GT/AG chimeric junction"
echo ""
echo " --chim_junction_overhang_min"
echo " type: integer"
echo " example: 20"
echo " minimum overhang for a chimeric junction"
echo ""
echo " --chim_segment_read_gap_max"
echo " type: integer"
echo " example: 0"
echo " maximum gap in the read sequence between chimeric segments"
echo ""
echo " --chim_filter"
echo " type: string, multiple values allowed"
echo " example: banGenomicN"
echo " different filters for chimeric alignments"
echo " - None ... no filtering"
echo " - banGenomicN ... Ns are not allowed in the genome sequence around the"
echo " chimeric junction"
echo ""
echo " --chim_main_segment_mult_nmax"
echo " type: integer"
echo " example: 10"
echo " maximum number of multi-alignments for the main chimeric segment. =1"
echo " will prohibit multimapping main segments."
echo ""
echo " --chim_multimap_nmax"
echo " type: integer"
echo " example: 0"
echo " maximum number of chimeric multi-alignments"
echo " - 0 ... use the old scheme for chimeric detection which only considered"
echo " unique alignments"
echo ""
echo " --chim_multimap_score_range"
echo " type: integer"
echo " example: 1"
echo " the score range for multi-mapping chimeras below the best chimeric"
echo " score. Only works with --chim_multimap_nmax > 1"
echo ""
echo " --chim_nonchim_score_drop_min"
echo " type: integer"
echo " example: 20"
echo " to trigger chimeric detection, the drop in the best non-chimeric"
echo " alignment score with respect to the read length has to be greater than"
echo " this value"
echo ""
echo " --chim_out_junction_format"
echo " type: integer"
echo " example: 0"
echo " formatting type for the Chimeric.out.junction file"
echo " - 0 ... no comment lines/headers"
echo " - 1 ... comment lines at the end of the file: command line and Nreads:"
echo " total, unique/multi-mapping"
echo ""
echo "Quantification of Annotations:"
echo " --quant_mode"
echo " type: string, multiple values allowed"
echo " types of quantification requested"
echo " - - ... none"
echo " - TranscriptomeSAM ... output SAM/BAM alignments to transcriptome into a"
echo " separate file"
echo " - GeneCounts ... count reads per gene"
echo ""
echo " --quant_transcriptome_bam_compression"
echo " type: integer"
echo " example: 1"
echo " -2 to 10 transcriptome BAM compression level"
echo " - -2 ... no BAM output"
echo " - -1 ... default compression (6?)"
echo " - 0 ... no compression"
echo " - 10 ... maximum compression"
echo ""
echo " --quant_transcriptome_sam_output"
echo " type: string"
echo " example: BanSingleEnd_BanIndels_ExtendSoftclip"
echo " alignment filtering for TranscriptomeSAM output"
echo " - BanSingleEnd_BanIndels_ExtendSoftclip ... prohibit indels and"
echo " single-end alignments, extend softclips - compatible with RSEM"
echo " - BanSingleEnd ... prohibit single-end alignments, allow"
echo " indels and softclips"
echo " - BanSingleEnd_ExtendSoftclip ... prohibit single-end alignments, extend"
echo " softclips, allow indels"
echo ""
echo "2-pass Mapping:"
echo " --twopass_mode"
echo " type: string"
echo " 2-pass mapping mode."
echo " - None ... 1-pass mapping"
echo " - Basic ... basic 2-pass mapping, with all 1st pass junctions"
echo " inserted into the genome indices on the fly"
echo ""
echo " --twopass1reads_n"
echo " type: integer"
echo " example: -1"
echo " number of reads to process for the 1st step. Use very large number (or"
echo " default -1) to map all reads in the first step."
echo ""
echo "WASP parameters:"
echo " --wasp_output_mode"
echo " type: string"
echo " WASP allele-specific output type. This is re-implementation of the"
echo " original WASP mappability filtering by Bryce van de Geijn, Graham"
echo " McVicker, Yoav Gilad & Jonathan K Pritchard. Please cite the original"
echo " WASP paper: Nature Methods 12, 1061-1063 (2015),"
echo " https://www.nature.com/articles/nmeth.3582 ."
echo " - SAMtag ... add WASP tags to the alignments that pass WASP"
echo " filtering"
echo ""
echo "STARsolo (single cell RNA-seq) parameters:"
echo " --solo_type"
echo " type: string, multiple values allowed"
echo " type of single-cell RNA-seq"
echo " - CB_UMI_Simple ... (a.k.a. Droplet) one UMI and one Cell Barcode of"
echo " fixed length in read2, e.g. Drop-seq and 10X Chromium."
echo " - CB_UMI_Complex ... multiple Cell Barcodes of varying length, one UMI"
echo " of fixed length and one adapter sequence of fixed length are allowed in"
echo " read2 only (e.g. inDrop, ddSeq)."
echo " - CB_samTagOut ... output Cell Barcode as CR and/or CB SAm tag. No"
echo " UMI counting. --readFilesIn cDNA_read1 [cDNA_read2 if paired-end]"
echo " CellBarcode_read . Requires --out_sam_type BAM Unsorted [and/or"
echo " SortedByCoordinate]"
echo " - SmartSeq ... Smart-seq: each cell in a separate FASTQ (paired-"
echo " or single-end), barcodes are corresponding read-groups, no UMI"
echo " sequences, alignments deduplicated according to alignment start and end"
echo " (after extending soft-clipped bases)"
echo ""
echo " --solo_cb_type"
echo " type: string"
echo " example: Sequence"
echo " cell barcode type"
echo " Sequence: cell barcode is a sequence (standard option)"
echo " String: cell barcode is an arbitrary string"
echo ""
echo " --solo_cb_whitelist"
echo " type: string, multiple values allowed"
echo " file(s) with whitelist(s) of cell barcodes. Only --solo_type"
echo " CB_UMI_Complex allows more than one whitelist file."
echo " - None ... no whitelist: all cell barcodes are allowed"
echo ""
echo " --solo_cb_start"
echo " type: integer"
echo " example: 1"
echo " cell barcode start base"
echo ""
echo " --solo_cb_len"
echo " type: integer"
echo " example: 16"
echo " cell barcode length"
echo ""
echo " --solo_umi_start"
echo " type: integer"
echo " example: 17"
echo " UMI start base"
echo ""
echo " --solo_umi_len"
echo " type: integer"
echo " example: 10"
echo " UMI length"
echo ""
echo " --solo_barcode_read_length"
echo " type: integer"
echo " example: 1"
echo " length of the barcode read"
echo " - 1 ... equal to sum of soloCBlen+soloUMIlen"
echo " - 0 ... not defined, do not check"
echo ""
echo " --solo_barcode_mate"
echo " type: integer"
echo " example: 0"
echo " identifies which read mate contains the barcode (CB+UMI) sequence"
echo " - 0 ... barcode sequence is on separate read, which should always be"
echo " the last file in the --readFilesIn listed"
echo " - 1 ... barcode sequence is a part of mate 1"
echo " - 2 ... barcode sequence is a part of mate 2"
echo ""
echo " --solo_cb_position"
echo " type: string, multiple values allowed"
echo " position of Cell Barcode(s) on the barcode read."
echo " Presently only works with --solo_type CB_UMI_Complex, and barcodes are"
echo " assumed to be on Read2."
echo " Format for each barcode: startAnchor_startPosition_endAnchor_endPosition"
echo " start(end)Anchor defines the Anchor Base for the CB: 0: read start; 1:"
echo " read end; 2: adapter start; 3: adapter end"
echo " start(end)Position is the 0-based position with of the CB start(end)"
echo " with respect to the Anchor Base"
echo " String for different barcodes are separated by space."
echo " Example: inDrop (Zilionis et al, Nat. Protocols, 2017):"
echo " --solo_cb_position 0_0_2_-1 3_1_3_8"
echo ""
echo " --solo_umi_position"
echo " type: string"
echo " position of the UMI on the barcode read, same as soloCBposition"
echo " Example: inDrop (Zilionis et al, Nat. Protocols, 2017):"
echo " --solo_cb_position 3_9_3_14"
echo ""
echo " --solo_adapter_sequence"
echo " type: string"
echo " adapter sequence to anchor barcodes. Only one adapter sequence is"
echo " allowed."
echo ""
echo " --solo_adapter_mismatches_nmax"
echo " type: integer"
echo " example: 1"
echo " maximum number of mismatches allowed in adapter sequence."
echo ""
echo " --solo_cb_match_wl_type"
echo " type: string"
echo " example: 1MM_multi"
echo " matching the Cell Barcodes to the WhiteList"
echo " - Exact ... only exact matches allowed"
echo " - 1MM ... only one match in whitelist with 1"
echo " mismatched base allowed. Allowed CBs have to have at least one read with"
echo " exact match."
echo " - 1MM_multi ... multiple matches in whitelist with"
echo " 1 mismatched base allowed, posterior probability calculation is used"
echo " choose one of the matches."
echo " Allowed CBs have to have at least one read with exact match. This option"
echo " matches best with CellRanger 2.2.0"
echo " - 1MM_multi_pseudocounts ... same as 1MM_Multi, but"
echo " pseudocounts of 1 are added to all whitelist barcodes."
echo " - 1MM_multi_Nbase_pseudocounts ... same as 1MM_multi_pseudocounts,"
echo " multimatching to WL is allowed for CBs with N-bases. This option matches"
echo " best with CellRanger >= 3.0.0"
echo " - EditDist_2 ... allow up to edit distance of 3 fpr"
echo " each of the barcodes. May include one deletion + one insertion. Only"
echo " works with --solo_type CB_UMI_Complex. Matches to multiple passlist"
echo " barcdoes are not allowed. Similar to ParseBio Split-seq pipeline."
echo ""
echo " --solo_input_sam_attr_barcode_seq"
echo " type: string, multiple values allowed"
echo " when inputting reads from a SAM file (--readsFileType SAM SE/PE), these"
echo " SAM attributes mark the barcode sequence (in proper order)."
echo " For instance, for 10X CellRanger or STARsolo BAMs, use"
echo " --solo_input_sam_attr_barcode_seq CR UR ."
echo " This parameter is required when running STARsolo with input from SAM."
echo ""
echo " --solo_input_sam_attr_barcode_qual"
echo " type: string, multiple values allowed"
echo " when inputting reads from a SAM file (--readsFileType SAM SE/PE), these"
echo " SAM attributes mark the barcode qualities (in proper order)."
echo " For instance, for 10X CellRanger or STARsolo BAMs, use"
echo " --solo_input_sam_attr_barcode_qual CY UY ."
echo " If this parameter is '-' (default), the quality 'H' will be assigned to"
echo " all bases."
echo ""
echo " --solo_strand"
echo " type: string"
echo " example: Forward"
echo " strandedness of the solo libraries:"
echo " - Unstranded ... no strand information"
echo " - Forward ... read strand same as the original RNA molecule"
echo " - Reverse ... read strand opposite to the original RNA molecule"
echo ""
echo " --solo_features"
echo " type: string, multiple values allowed"
echo " example: Gene"
echo " genomic features for which the UMI counts per Cell Barcode are collected"
echo " - Gene ... genes: reads match the gene transcript"
echo " - SJ ... splice junctions: reported in SJ.out.tab"
echo " - GeneFull ... full gene (pre-mRNA): count all reads overlapping"
echo " genes' exons and introns"
echo " - GeneFull_ExonOverIntron ... full gene (pre-mRNA): count all reads"
echo " overlapping genes' exons and introns: prioritize 100% overlap with exons"
echo " - GeneFull_Ex50pAS ... full gene (pre-RNA): count all reads"
echo " overlapping genes' exons and introns: prioritize >50% overlap with"
echo " exons. Do not count reads with 100% exonic overlap in the antisense"
echo " direction."
echo ""
echo " --solo_multi_mappers"
echo " type: string, multiple values allowed"
echo " example: Unique"
echo " counting method for reads mapping to multiple genes"
echo " - Unique ... count only reads that map to unique genes"
echo " - Uniform ... uniformly distribute multi-genic UMIs to all genes"
echo " - Rescue ... distribute UMIs proportionally to unique+uniform counts"
echo " (~ first iteration of EM)"
echo " - PropUnique ... distribute UMIs proportionally to unique mappers, if"
echo " present, and uniformly if not."
echo " - EM ... multi-gene UMIs are distributed using Expectation"
echo " Maximization algorithm"
echo ""
echo " --solo_umi_dedup"
echo " type: string, multiple values allowed"
echo " example: 1MM_All"
echo " type of UMI deduplication (collapsing) algorithm"
echo " - 1MM_All ... all UMIs with 1 mismatch distance to"
echo " each other are collapsed (i.e. counted once)."
echo " - 1MM_Directional_UMItools ... follows the \"directional\" method from"
echo " the UMI-tools by Smith, Heger and Sudbery (Genome Research 2017)."
echo " - 1MM_Directional ... same as 1MM_Directional_UMItools, but"
echo " with more stringent criteria for duplicate UMIs"
echo " - Exact ... only exactly matching UMIs are"
echo " collapsed."
echo " - NoDedup ... no deduplication of UMIs, count all"
echo " reads."
echo " - 1MM_CR ... CellRanger2-4 algorithm for 1MM UMI"
echo " collapsing."
echo ""
echo " --solo_umi_filtering"
echo " type: string, multiple values allowed"
echo " type of UMI filtering (for reads uniquely mapping to genes)"
echo " - - ... basic filtering: remove UMIs with N and"
echo " homopolymers (similar to CellRanger 2.2.0)."
echo " - MultiGeneUMI ... basic + remove lower-count UMIs that map to"
echo " more than one gene."
echo " - MultiGeneUMI_All ... basic + remove all UMIs that map to more than"
echo " one gene."
echo " - MultiGeneUMI_CR ... basic + remove lower-count UMIs that map to"
echo " more than one gene, matching CellRanger > 3.0.0 ."
echo " Only works with --solo_umi_dedup 1MM_CR"
echo ""
echo " --solo_out_file_names"
echo " type: string, multiple values allowed"
echo " example: Solo.out/;features.tsv;barcodes.tsv;matrix.mtx"
echo " file names for STARsolo output:"
echo " file_name_prefix gene_names barcode_sequences"
echo " cell_feature_count_matrix"
echo ""
echo " --solo_cell_filter"
echo " type: string, multiple values allowed"
echo " example: CellRanger2.2;3000;0.99;10"
echo " cell filtering type and parameters"
echo " - None ... do not output filtered cells"
echo " - TopCells ... only report top cells by UMI count, followed by"
echo " the exact number of cells"
echo " - CellRanger2.2 ... simple filtering of CellRanger 2.2."
echo " Can be followed by numbers: number of expected cells, robust maximum"
echo " percentile for UMI count, maximum to minimum ratio for UMI count"
echo " The harcoded values are from CellRanger: nExpectedCells=3000;"
echo " maxPercentile=0.99; maxMinRatio=10"
echo " - EmptyDrops_CR ... EmptyDrops filtering in CellRanger flavor. Please"
echo " cite the original EmptyDrops paper: A.T.L Lun et al, Genome Biology, 20,"
echo " 63 (2019):"
echo " "
echo "https://genomebiology.biomedcentral.com/articles/10.1186/s13059-019-1662-y"
echo " Can be followed by 10 numeric parameters: nExpectedCells"
echo " maxPercentile maxMinRatio indMin indMax umiMin"
echo " umiMinFracMedian candMaxN FDR simN"
echo " The harcoded values are from CellRanger: 3000"
echo " 0.99 10 45000 90000 500 0.01"
echo " 20000 0.01 10000"
echo ""
echo " --solo_out_format_features_gene_field3"
echo " type: string, multiple values allowed"
echo " example: Gene Expression"
echo " field 3 in the Gene features.tsv file. If \"-\", then no 3rd field is"
echo " output."
echo ""
echo " --solo_cell_read_stats"
echo " type: string"
echo " Output reads statistics for each CB"
echo " - Standard ... standard output"
echo ""
echo "Inputs:"
echo " --readFilesIn, --input"
echo " type: file, required parameter, multiple values allowed, file must exist"
echo " example: mysample_S1_L001_R1_001.fastq.gz"
echo " The single-end or paired-end R1 FastQ files to be processed."
echo ""
echo " --input_r2"
echo " type: file, multiple values allowed, file must exist"
echo " example: mysample_S1_L001_R2_001.fastq.gz"
echo " The paired-end R2 FastQ files to be processed. Only required if --input"
echo " is a paired-end R1 file."
echo ""
echo "Outputs:"
echo " --aligned_reads"
echo " type: file, required parameter, output, file must exist"
echo " example: aligned_reads.bam"
echo " The output file containing the aligned reads."
echo ""
echo " --reads_per_gene"
echo " type: file, output, file must exist"
echo " example: reads_per_gene.tsv"
echo " The output file containing the number of reads per gene."
echo ""
echo " --unmapped"
echo " type: file, output, file must exist"
echo " example: unmapped.fastq"
echo " The output file containing the unmapped reads."
echo ""
echo " --unmapped_r2"
echo " type: file, output, file must exist"
echo " example: unmapped_r2.fastq"
echo " The output file containing the unmapped R2 reads."
echo ""
echo " --chimeric_junctions"
echo " type: file, output, file must exist"
echo " example: chimeric_junctions.tsv"
echo " The output file containing the chimeric junctions."
echo ""
echo " --log"
echo " type: file, output, file must exist"
echo " example: log.txt"
echo " The output file containing the log of the alignment process."
echo ""
echo " --splice_junctions"
echo " type: file, output, file must exist"
echo " example: splice_junctions.tsv"
echo " The output file containing the splice junctions."
echo ""
echo " --reads_aligned_to_transcriptome"
echo " type: file, output, file must exist"
echo " example: transcriptome_aligned.bam"
echo " The output file containing the alignments to transcriptome in BAM"
echo " formats. This file is generated when --quantMode is set to"
echo " TranscriptomeSAM."
}
# 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-slim
ENTRYPOINT []
RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y procps gzip bzip2 && \
rm -rf /var/lib/apt/lists/*
ENV STAR_VERSION 2.7.11b
ENV PACKAGES gcc g++ make wget zlib1g-dev unzip xxd
RUN apt-get update && \
apt-get install -y --no-install-recommends ${PACKAGES} && \
cd /tmp && \
wget --no-check-certificate https://github.com/alexdobin/STAR/archive/refs/tags/${STAR_VERSION}.zip && \
unzip ${STAR_VERSION}.zip && \
cd STAR-${STAR_VERSION}/source && \
make STARstatic CXXFLAGS_SIMD=-std=c++11 && \
cp STAR /usr/local/bin && \
cd / && \
rm -rf /tmp/STAR-${STAR_VERSION} /tmp/${STAR_VERSION}.zip && \
apt-get --purge autoremove -y ${PACKAGES} && \
apt-get clean
RUN pip install --upgrade pip && \
pip install --upgrade --no-cache-dir "pyyaml"
RUN STAR --version | sed 's#\(.*\)#star: "\1"#' > /var/software_versions.txt
LABEL org.opencontainers.image.authors="Angela Oliveira Pisco, Robrecht Cannoodt"
LABEL org.opencontainers.image.description="Companion container for running component star star_align_reads"
LABEL org.opencontainers.image.created="2024-09-02T13:28:17Z"
LABEL org.opencontainers.image.source="https://github.com/alexdobin/STAR"
LABEL org.opencontainers.image.revision="da3272d0118227ee788cd93b222201f557729397"
LABEL org.opencontainers.image.version="main"
VIASHDOCKER
fi
}
# ViashDockerBuildArgs: return the arguments to pass to docker build
# $1 : engine identifier
# return : arguments to pass to docker build
function ViashDockerBuildArgs {
local engine_id="$1"
if [[ "$engine_id" == "docker" ]]; then
echo ""
fi
}
# ViashAbsolutePath: generate absolute path from relative path
# borrowed from https://stackoverflow.com/a/21951256
# $1 : relative filename
# return : absolute path
# examples:
# ViashAbsolutePath some_file.txt # returns /path/to/some_file.txt
# ViashAbsolutePath /foo/bar/.. # returns /foo
function ViashAbsolutePath {
local thePath
local parr
local outp
local len
if [[ ! "$1" =~ ^/ ]]; then
thePath="$PWD/$1"
else
thePath="$1"
fi
echo "$thePath" | (
IFS=/
read -a parr
declare -a outp
for i in "${parr[@]}"; do
case "$i" in
''|.) continue ;;
..)
len=${#outp[@]}
if ((len==0)); then
continue
else
unset outp[$((len-1))]
fi
;;
*)
len=${#outp[@]}
outp[$len]="$i"
;;
esac
done
echo /"${outp[*]}"
)
}
# ViashDockerAutodetectMount: auto configuring docker mounts from parameters
# $1 : The parameter value
# returns : New parameter
# $VIASH_DIRECTORY_MOUNTS : Added another parameter to be passed to docker
# $VIASH_DOCKER_AUTOMOUNT_PREFIX : The prefix to be used for the automounts
# examples:
# ViashDockerAutodetectMount /path/to/bar # returns '/viash_automount/path/to/bar'
# ViashDockerAutodetectMountArg /path/to/bar # returns '--volume="/path/to:/viash_automount/path/to"'
function ViashDockerAutodetectMount {
local abs_path=$(ViashAbsolutePath "$1")
local mount_source
local base_name
if [ -d "$abs_path" ]; then
mount_source="$abs_path"
base_name=""
else
mount_source=`dirname "$abs_path"`
base_name=`basename "$abs_path"`
fi
local mount_target="$VIASH_DOCKER_AUTOMOUNT_PREFIX$mount_source"
if [ -z "$base_name" ]; then
echo "$mount_target"
else
echo "$mount_target/$base_name"
fi
}
function ViashDockerAutodetectMountArg {
local abs_path=$(ViashAbsolutePath "$1")
local mount_source
local base_name
if [ -d "$abs_path" ]; then
mount_source="$abs_path"
base_name=""
else
mount_source=`dirname "$abs_path"`
base_name=`basename "$abs_path"`
fi
local mount_target="$VIASH_DOCKER_AUTOMOUNT_PREFIX$mount_source"
ViashDebug "ViashDockerAutodetectMountArg $1 -> $mount_source -> $mount_target"
echo "--volume=\"$mount_source:$mount_target\""
}
function ViashDockerStripAutomount {
local abs_path=$(ViashAbsolutePath "$1")
echo "${abs_path#$VIASH_DOCKER_AUTOMOUNT_PREFIX}"
}
# initialise variables
VIASH_DIRECTORY_MOUNTS=()
# configure default docker automount prefix if it is unset
if [ -z "${VIASH_DOCKER_AUTOMOUNT_PREFIX+x}" ]; then
VIASH_DOCKER_AUTOMOUNT_PREFIX="/viash_automount"
fi
# initialise docker variables
VIASH_DOCKER_RUN_ARGS=(-i --rm)
# initialise array
VIASH_POSITIONAL_ARGS=''
while [[ $# -gt 0 ]]; do
case "$1" in
-h|--help)
ViashHelp
exit
;;
---v|---verbose)
let "VIASH_VERBOSITY=VIASH_VERBOSITY+1"
shift 1
;;
---verbosity)
VIASH_VERBOSITY="$2"
shift 2
;;
---verbosity=*)
VIASH_VERBOSITY="$(ViashRemoveFlags "$1")"
shift 1
;;
--version)
echo "star_align_reads main"
exit
;;
--run_rng_seed)
[ -n "$VIASH_PAR_RUN_RNG_SEED" ] && ViashError Bad arguments for option \'--run_rng_seed\': \'$VIASH_PAR_RUN_RNG_SEED\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_RUN_RNG_SEED="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --run_rng_seed. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--run_rng_seed=*)
[ -n "$VIASH_PAR_RUN_RNG_SEED" ] && ViashError Bad arguments for option \'--run_rng_seed=*\': \'$VIASH_PAR_RUN_RNG_SEED\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_RUN_RNG_SEED=$(ViashRemoveFlags "$1")
shift 1
;;
--genome_dir)
[ -n "$VIASH_PAR_GENOME_DIR" ] && ViashError Bad arguments for option \'--genome_dir\': \'$VIASH_PAR_GENOME_DIR\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_GENOME_DIR="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --genome_dir. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--genome_dir=*)
[ -n "$VIASH_PAR_GENOME_DIR" ] && ViashError Bad arguments for option \'--genome_dir=*\': \'$VIASH_PAR_GENOME_DIR\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_GENOME_DIR=$(ViashRemoveFlags "$1")
shift 1
;;
--genome_load)
[ -n "$VIASH_PAR_GENOME_LOAD" ] && ViashError Bad arguments for option \'--genome_load\': \'$VIASH_PAR_GENOME_LOAD\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_GENOME_LOAD="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --genome_load. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--genome_load=*)
[ -n "$VIASH_PAR_GENOME_LOAD" ] && ViashError Bad arguments for option \'--genome_load=*\': \'$VIASH_PAR_GENOME_LOAD\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_GENOME_LOAD=$(ViashRemoveFlags "$1")
shift 1
;;
--genome_fasta_files)
if [ -z "$VIASH_PAR_GENOME_FASTA_FILES" ]; then
VIASH_PAR_GENOME_FASTA_FILES="$2"
else
VIASH_PAR_GENOME_FASTA_FILES="$VIASH_PAR_GENOME_FASTA_FILES;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --genome_fasta_files. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--genome_fasta_files=*)
if [ -z "$VIASH_PAR_GENOME_FASTA_FILES" ]; then
VIASH_PAR_GENOME_FASTA_FILES=$(ViashRemoveFlags "$1")
else
VIASH_PAR_GENOME_FASTA_FILES="$VIASH_PAR_GENOME_FASTA_FILES;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--genome_file_sizes)
if [ -z "$VIASH_PAR_GENOME_FILE_SIZES" ]; then
VIASH_PAR_GENOME_FILE_SIZES="$2"
else
VIASH_PAR_GENOME_FILE_SIZES="$VIASH_PAR_GENOME_FILE_SIZES;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --genome_file_sizes. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--genome_file_sizes=*)
if [ -z "$VIASH_PAR_GENOME_FILE_SIZES" ]; then
VIASH_PAR_GENOME_FILE_SIZES=$(ViashRemoveFlags "$1")
else
VIASH_PAR_GENOME_FILE_SIZES="$VIASH_PAR_GENOME_FILE_SIZES;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--genome_transform_output)
if [ -z "$VIASH_PAR_GENOME_TRANSFORM_OUTPUT" ]; then
VIASH_PAR_GENOME_TRANSFORM_OUTPUT="$2"
else
VIASH_PAR_GENOME_TRANSFORM_OUTPUT="$VIASH_PAR_GENOME_TRANSFORM_OUTPUT;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --genome_transform_output. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--genome_transform_output=*)
if [ -z "$VIASH_PAR_GENOME_TRANSFORM_OUTPUT" ]; then
VIASH_PAR_GENOME_TRANSFORM_OUTPUT=$(ViashRemoveFlags "$1")
else
VIASH_PAR_GENOME_TRANSFORM_OUTPUT="$VIASH_PAR_GENOME_TRANSFORM_OUTPUT;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--genome_chr_set_mitochondrial)
if [ -z "$VIASH_PAR_GENOME_CHR_SET_MITOCHONDRIAL" ]; then
VIASH_PAR_GENOME_CHR_SET_MITOCHONDRIAL="$2"
else
VIASH_PAR_GENOME_CHR_SET_MITOCHONDRIAL="$VIASH_PAR_GENOME_CHR_SET_MITOCHONDRIAL;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --genome_chr_set_mitochondrial. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--genome_chr_set_mitochondrial=*)
if [ -z "$VIASH_PAR_GENOME_CHR_SET_MITOCHONDRIAL" ]; then
VIASH_PAR_GENOME_CHR_SET_MITOCHONDRIAL=$(ViashRemoveFlags "$1")
else
VIASH_PAR_GENOME_CHR_SET_MITOCHONDRIAL="$VIASH_PAR_GENOME_CHR_SET_MITOCHONDRIAL;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--sjdb_file_chr_start_end)
if [ -z "$VIASH_PAR_SJDB_FILE_CHR_START_END" ]; then
VIASH_PAR_SJDB_FILE_CHR_START_END="$2"
else
VIASH_PAR_SJDB_FILE_CHR_START_END="$VIASH_PAR_SJDB_FILE_CHR_START_END;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --sjdb_file_chr_start_end. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--sjdb_file_chr_start_end=*)
if [ -z "$VIASH_PAR_SJDB_FILE_CHR_START_END" ]; then
VIASH_PAR_SJDB_FILE_CHR_START_END=$(ViashRemoveFlags "$1")
else
VIASH_PAR_SJDB_FILE_CHR_START_END="$VIASH_PAR_SJDB_FILE_CHR_START_END;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--sjdb_gtf_file)
[ -n "$VIASH_PAR_SJDB_GTF_FILE" ] && ViashError Bad arguments for option \'--sjdb_gtf_file\': \'$VIASH_PAR_SJDB_GTF_FILE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SJDB_GTF_FILE="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --sjdb_gtf_file. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--sjdb_gtf_file=*)
[ -n "$VIASH_PAR_SJDB_GTF_FILE" ] && ViashError Bad arguments for option \'--sjdb_gtf_file=*\': \'$VIASH_PAR_SJDB_GTF_FILE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SJDB_GTF_FILE=$(ViashRemoveFlags "$1")
shift 1
;;
--sjdb_gtf_chr_prefix)
[ -n "$VIASH_PAR_SJDB_GTF_CHR_PREFIX" ] && ViashError Bad arguments for option \'--sjdb_gtf_chr_prefix\': \'$VIASH_PAR_SJDB_GTF_CHR_PREFIX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SJDB_GTF_CHR_PREFIX="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --sjdb_gtf_chr_prefix. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--sjdb_gtf_chr_prefix=*)
[ -n "$VIASH_PAR_SJDB_GTF_CHR_PREFIX" ] && ViashError Bad arguments for option \'--sjdb_gtf_chr_prefix=*\': \'$VIASH_PAR_SJDB_GTF_CHR_PREFIX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SJDB_GTF_CHR_PREFIX=$(ViashRemoveFlags "$1")
shift 1
;;
--sjdb_gtf_feature_exon)
[ -n "$VIASH_PAR_SJDB_GTF_FEATURE_EXON" ] && ViashError Bad arguments for option \'--sjdb_gtf_feature_exon\': \'$VIASH_PAR_SJDB_GTF_FEATURE_EXON\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SJDB_GTF_FEATURE_EXON="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --sjdb_gtf_feature_exon. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--sjdb_gtf_feature_exon=*)
[ -n "$VIASH_PAR_SJDB_GTF_FEATURE_EXON" ] && ViashError Bad arguments for option \'--sjdb_gtf_feature_exon=*\': \'$VIASH_PAR_SJDB_GTF_FEATURE_EXON\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SJDB_GTF_FEATURE_EXON=$(ViashRemoveFlags "$1")
shift 1
;;
--sjdb_gtf_tag_exon_parent_transcript)
[ -n "$VIASH_PAR_SJDB_GTF_TAG_EXON_PARENT_TRANSCRIPT" ] && ViashError Bad arguments for option \'--sjdb_gtf_tag_exon_parent_transcript\': \'$VIASH_PAR_SJDB_GTF_TAG_EXON_PARENT_TRANSCRIPT\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SJDB_GTF_TAG_EXON_PARENT_TRANSCRIPT="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --sjdb_gtf_tag_exon_parent_transcript. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--sjdb_gtf_tag_exon_parent_transcript=*)
[ -n "$VIASH_PAR_SJDB_GTF_TAG_EXON_PARENT_TRANSCRIPT" ] && ViashError Bad arguments for option \'--sjdb_gtf_tag_exon_parent_transcript=*\': \'$VIASH_PAR_SJDB_GTF_TAG_EXON_PARENT_TRANSCRIPT\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SJDB_GTF_TAG_EXON_PARENT_TRANSCRIPT=$(ViashRemoveFlags "$1")
shift 1
;;
--sjdb_gtf_tag_exon_parent_gene)
[ -n "$VIASH_PAR_SJDB_GTF_TAG_EXON_PARENT_GENE" ] && ViashError Bad arguments for option \'--sjdb_gtf_tag_exon_parent_gene\': \'$VIASH_PAR_SJDB_GTF_TAG_EXON_PARENT_GENE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SJDB_GTF_TAG_EXON_PARENT_GENE="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --sjdb_gtf_tag_exon_parent_gene. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--sjdb_gtf_tag_exon_parent_gene=*)
[ -n "$VIASH_PAR_SJDB_GTF_TAG_EXON_PARENT_GENE" ] && ViashError Bad arguments for option \'--sjdb_gtf_tag_exon_parent_gene=*\': \'$VIASH_PAR_SJDB_GTF_TAG_EXON_PARENT_GENE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SJDB_GTF_TAG_EXON_PARENT_GENE=$(ViashRemoveFlags "$1")
shift 1
;;
--sjdb_gtf_tag_exon_parent_gene_name)
if [ -z "$VIASH_PAR_SJDB_GTF_TAG_EXON_PARENT_GENE_NAME" ]; then
VIASH_PAR_SJDB_GTF_TAG_EXON_PARENT_GENE_NAME="$2"
else
VIASH_PAR_SJDB_GTF_TAG_EXON_PARENT_GENE_NAME="$VIASH_PAR_SJDB_GTF_TAG_EXON_PARENT_GENE_NAME;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --sjdb_gtf_tag_exon_parent_gene_name. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--sjdb_gtf_tag_exon_parent_gene_name=*)
if [ -z "$VIASH_PAR_SJDB_GTF_TAG_EXON_PARENT_GENE_NAME" ]; then
VIASH_PAR_SJDB_GTF_TAG_EXON_PARENT_GENE_NAME=$(ViashRemoveFlags "$1")
else
VIASH_PAR_SJDB_GTF_TAG_EXON_PARENT_GENE_NAME="$VIASH_PAR_SJDB_GTF_TAG_EXON_PARENT_GENE_NAME;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--sjdb_gtf_tag_exon_parent_gene_type)
if [ -z "$VIASH_PAR_SJDB_GTF_TAG_EXON_PARENT_GENE_TYPE" ]; then
VIASH_PAR_SJDB_GTF_TAG_EXON_PARENT_GENE_TYPE="$2"
else
VIASH_PAR_SJDB_GTF_TAG_EXON_PARENT_GENE_TYPE="$VIASH_PAR_SJDB_GTF_TAG_EXON_PARENT_GENE_TYPE;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --sjdb_gtf_tag_exon_parent_gene_type. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--sjdb_gtf_tag_exon_parent_gene_type=*)
if [ -z "$VIASH_PAR_SJDB_GTF_TAG_EXON_PARENT_GENE_TYPE" ]; then
VIASH_PAR_SJDB_GTF_TAG_EXON_PARENT_GENE_TYPE=$(ViashRemoveFlags "$1")
else
VIASH_PAR_SJDB_GTF_TAG_EXON_PARENT_GENE_TYPE="$VIASH_PAR_SJDB_GTF_TAG_EXON_PARENT_GENE_TYPE;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--sjdb_overhang)
[ -n "$VIASH_PAR_SJDB_OVERHANG" ] && ViashError Bad arguments for option \'--sjdb_overhang\': \'$VIASH_PAR_SJDB_OVERHANG\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SJDB_OVERHANG="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --sjdb_overhang. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--sjdb_overhang=*)
[ -n "$VIASH_PAR_SJDB_OVERHANG" ] && ViashError Bad arguments for option \'--sjdb_overhang=*\': \'$VIASH_PAR_SJDB_OVERHANG\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SJDB_OVERHANG=$(ViashRemoveFlags "$1")
shift 1
;;
--sjdb_score)
[ -n "$VIASH_PAR_SJDB_SCORE" ] && ViashError Bad arguments for option \'--sjdb_score\': \'$VIASH_PAR_SJDB_SCORE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SJDB_SCORE="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --sjdb_score. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--sjdb_score=*)
[ -n "$VIASH_PAR_SJDB_SCORE" ] && ViashError Bad arguments for option \'--sjdb_score=*\': \'$VIASH_PAR_SJDB_SCORE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SJDB_SCORE=$(ViashRemoveFlags "$1")
shift 1
;;
--sjdb_insert_save)
[ -n "$VIASH_PAR_SJDB_INSERT_SAVE" ] && ViashError Bad arguments for option \'--sjdb_insert_save\': \'$VIASH_PAR_SJDB_INSERT_SAVE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SJDB_INSERT_SAVE="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --sjdb_insert_save. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--sjdb_insert_save=*)
[ -n "$VIASH_PAR_SJDB_INSERT_SAVE" ] && ViashError Bad arguments for option \'--sjdb_insert_save=*\': \'$VIASH_PAR_SJDB_INSERT_SAVE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SJDB_INSERT_SAVE=$(ViashRemoveFlags "$1")
shift 1
;;
--var_vcf_file)
[ -n "$VIASH_PAR_VAR_VCF_FILE" ] && ViashError Bad arguments for option \'--var_vcf_file\': \'$VIASH_PAR_VAR_VCF_FILE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_VAR_VCF_FILE="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --var_vcf_file. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--var_vcf_file=*)
[ -n "$VIASH_PAR_VAR_VCF_FILE" ] && ViashError Bad arguments for option \'--var_vcf_file=*\': \'$VIASH_PAR_VAR_VCF_FILE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_VAR_VCF_FILE=$(ViashRemoveFlags "$1")
shift 1
;;
--read_files_type)
[ -n "$VIASH_PAR_READ_FILES_TYPE" ] && ViashError Bad arguments for option \'--read_files_type\': \'$VIASH_PAR_READ_FILES_TYPE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_READ_FILES_TYPE="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --read_files_type. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--read_files_type=*)
[ -n "$VIASH_PAR_READ_FILES_TYPE" ] && ViashError Bad arguments for option \'--read_files_type=*\': \'$VIASH_PAR_READ_FILES_TYPE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_READ_FILES_TYPE=$(ViashRemoveFlags "$1")
shift 1
;;
--read_files_sam_attr_keep)
if [ -z "$VIASH_PAR_READ_FILES_SAM_ATTR_KEEP" ]; then
VIASH_PAR_READ_FILES_SAM_ATTR_KEEP="$2"
else
VIASH_PAR_READ_FILES_SAM_ATTR_KEEP="$VIASH_PAR_READ_FILES_SAM_ATTR_KEEP;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --read_files_sam_attr_keep. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--read_files_sam_attr_keep=*)
if [ -z "$VIASH_PAR_READ_FILES_SAM_ATTR_KEEP" ]; then
VIASH_PAR_READ_FILES_SAM_ATTR_KEEP=$(ViashRemoveFlags "$1")
else
VIASH_PAR_READ_FILES_SAM_ATTR_KEEP="$VIASH_PAR_READ_FILES_SAM_ATTR_KEEP;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--read_files_manifest)
[ -n "$VIASH_PAR_READ_FILES_MANIFEST" ] && ViashError Bad arguments for option \'--read_files_manifest\': \'$VIASH_PAR_READ_FILES_MANIFEST\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_READ_FILES_MANIFEST="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --read_files_manifest. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--read_files_manifest=*)
[ -n "$VIASH_PAR_READ_FILES_MANIFEST" ] && ViashError Bad arguments for option \'--read_files_manifest=*\': \'$VIASH_PAR_READ_FILES_MANIFEST\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_READ_FILES_MANIFEST=$(ViashRemoveFlags "$1")
shift 1
;;
--read_files_prefix)
[ -n "$VIASH_PAR_READ_FILES_PREFIX" ] && ViashError Bad arguments for option \'--read_files_prefix\': \'$VIASH_PAR_READ_FILES_PREFIX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_READ_FILES_PREFIX="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --read_files_prefix. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--read_files_prefix=*)
[ -n "$VIASH_PAR_READ_FILES_PREFIX" ] && ViashError Bad arguments for option \'--read_files_prefix=*\': \'$VIASH_PAR_READ_FILES_PREFIX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_READ_FILES_PREFIX=$(ViashRemoveFlags "$1")
shift 1
;;
--read_files_command)
if [ -z "$VIASH_PAR_READ_FILES_COMMAND" ]; then
VIASH_PAR_READ_FILES_COMMAND="$2"
else
VIASH_PAR_READ_FILES_COMMAND="$VIASH_PAR_READ_FILES_COMMAND;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --read_files_command. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--read_files_command=*)
if [ -z "$VIASH_PAR_READ_FILES_COMMAND" ]; then
VIASH_PAR_READ_FILES_COMMAND=$(ViashRemoveFlags "$1")
else
VIASH_PAR_READ_FILES_COMMAND="$VIASH_PAR_READ_FILES_COMMAND;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--read_map_number)
[ -n "$VIASH_PAR_READ_MAP_NUMBER" ] && ViashError Bad arguments for option \'--read_map_number\': \'$VIASH_PAR_READ_MAP_NUMBER\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_READ_MAP_NUMBER="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --read_map_number. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--read_map_number=*)
[ -n "$VIASH_PAR_READ_MAP_NUMBER" ] && ViashError Bad arguments for option \'--read_map_number=*\': \'$VIASH_PAR_READ_MAP_NUMBER\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_READ_MAP_NUMBER=$(ViashRemoveFlags "$1")
shift 1
;;
--read_mates_lengths_in)
[ -n "$VIASH_PAR_READ_MATES_LENGTHS_IN" ] && ViashError Bad arguments for option \'--read_mates_lengths_in\': \'$VIASH_PAR_READ_MATES_LENGTHS_IN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_READ_MATES_LENGTHS_IN="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --read_mates_lengths_in. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--read_mates_lengths_in=*)
[ -n "$VIASH_PAR_READ_MATES_LENGTHS_IN" ] && ViashError Bad arguments for option \'--read_mates_lengths_in=*\': \'$VIASH_PAR_READ_MATES_LENGTHS_IN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_READ_MATES_LENGTHS_IN=$(ViashRemoveFlags "$1")
shift 1
;;
--read_name_separator)
if [ -z "$VIASH_PAR_READ_NAME_SEPARATOR" ]; then
VIASH_PAR_READ_NAME_SEPARATOR="$2"
else
VIASH_PAR_READ_NAME_SEPARATOR="$VIASH_PAR_READ_NAME_SEPARATOR;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --read_name_separator. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--read_name_separator=*)
if [ -z "$VIASH_PAR_READ_NAME_SEPARATOR" ]; then
VIASH_PAR_READ_NAME_SEPARATOR=$(ViashRemoveFlags "$1")
else
VIASH_PAR_READ_NAME_SEPARATOR="$VIASH_PAR_READ_NAME_SEPARATOR;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--read_quality_score_base)
[ -n "$VIASH_PAR_READ_QUALITY_SCORE_BASE" ] && ViashError Bad arguments for option \'--read_quality_score_base\': \'$VIASH_PAR_READ_QUALITY_SCORE_BASE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_READ_QUALITY_SCORE_BASE="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --read_quality_score_base. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--read_quality_score_base=*)
[ -n "$VIASH_PAR_READ_QUALITY_SCORE_BASE" ] && ViashError Bad arguments for option \'--read_quality_score_base=*\': \'$VIASH_PAR_READ_QUALITY_SCORE_BASE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_READ_QUALITY_SCORE_BASE=$(ViashRemoveFlags "$1")
shift 1
;;
--clip_adapter_type)
[ -n "$VIASH_PAR_CLIP_ADAPTER_TYPE" ] && ViashError Bad arguments for option \'--clip_adapter_type\': \'$VIASH_PAR_CLIP_ADAPTER_TYPE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_CLIP_ADAPTER_TYPE="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --clip_adapter_type. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--clip_adapter_type=*)
[ -n "$VIASH_PAR_CLIP_ADAPTER_TYPE" ] && ViashError Bad arguments for option \'--clip_adapter_type=*\': \'$VIASH_PAR_CLIP_ADAPTER_TYPE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_CLIP_ADAPTER_TYPE=$(ViashRemoveFlags "$1")
shift 1
;;
--clip3p_nbases)
if [ -z "$VIASH_PAR_CLIP3P_NBASES" ]; then
VIASH_PAR_CLIP3P_NBASES="$2"
else
VIASH_PAR_CLIP3P_NBASES="$VIASH_PAR_CLIP3P_NBASES;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --clip3p_nbases. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--clip3p_nbases=*)
if [ -z "$VIASH_PAR_CLIP3P_NBASES" ]; then
VIASH_PAR_CLIP3P_NBASES=$(ViashRemoveFlags "$1")
else
VIASH_PAR_CLIP3P_NBASES="$VIASH_PAR_CLIP3P_NBASES;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--clip3p_adapter_seq)
if [ -z "$VIASH_PAR_CLIP3P_ADAPTER_SEQ" ]; then
VIASH_PAR_CLIP3P_ADAPTER_SEQ="$2"
else
VIASH_PAR_CLIP3P_ADAPTER_SEQ="$VIASH_PAR_CLIP3P_ADAPTER_SEQ;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --clip3p_adapter_seq. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--clip3p_adapter_seq=*)
if [ -z "$VIASH_PAR_CLIP3P_ADAPTER_SEQ" ]; then
VIASH_PAR_CLIP3P_ADAPTER_SEQ=$(ViashRemoveFlags "$1")
else
VIASH_PAR_CLIP3P_ADAPTER_SEQ="$VIASH_PAR_CLIP3P_ADAPTER_SEQ;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--clip3p_adapter_mm_p)
if [ -z "$VIASH_PAR_CLIP3P_ADAPTER_MM_P" ]; then
VIASH_PAR_CLIP3P_ADAPTER_MM_P="$2"
else
VIASH_PAR_CLIP3P_ADAPTER_MM_P="$VIASH_PAR_CLIP3P_ADAPTER_MM_P;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --clip3p_adapter_mm_p. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--clip3p_adapter_mm_p=*)
if [ -z "$VIASH_PAR_CLIP3P_ADAPTER_MM_P" ]; then
VIASH_PAR_CLIP3P_ADAPTER_MM_P=$(ViashRemoveFlags "$1")
else
VIASH_PAR_CLIP3P_ADAPTER_MM_P="$VIASH_PAR_CLIP3P_ADAPTER_MM_P;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--clip3p_after_adapter_nbases)
if [ -z "$VIASH_PAR_CLIP3P_AFTER_ADAPTER_NBASES" ]; then
VIASH_PAR_CLIP3P_AFTER_ADAPTER_NBASES="$2"
else
VIASH_PAR_CLIP3P_AFTER_ADAPTER_NBASES="$VIASH_PAR_CLIP3P_AFTER_ADAPTER_NBASES;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --clip3p_after_adapter_nbases. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--clip3p_after_adapter_nbases=*)
if [ -z "$VIASH_PAR_CLIP3P_AFTER_ADAPTER_NBASES" ]; then
VIASH_PAR_CLIP3P_AFTER_ADAPTER_NBASES=$(ViashRemoveFlags "$1")
else
VIASH_PAR_CLIP3P_AFTER_ADAPTER_NBASES="$VIASH_PAR_CLIP3P_AFTER_ADAPTER_NBASES;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--clip5p_nbases)
if [ -z "$VIASH_PAR_CLIP5P_NBASES" ]; then
VIASH_PAR_CLIP5P_NBASES="$2"
else
VIASH_PAR_CLIP5P_NBASES="$VIASH_PAR_CLIP5P_NBASES;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --clip5p_nbases. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--clip5p_nbases=*)
if [ -z "$VIASH_PAR_CLIP5P_NBASES" ]; then
VIASH_PAR_CLIP5P_NBASES=$(ViashRemoveFlags "$1")
else
VIASH_PAR_CLIP5P_NBASES="$VIASH_PAR_CLIP5P_NBASES;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--limit_genome_generate_ram)
[ -n "$VIASH_PAR_LIMIT_GENOME_GENERATE_RAM" ] && ViashError Bad arguments for option \'--limit_genome_generate_ram\': \'$VIASH_PAR_LIMIT_GENOME_GENERATE_RAM\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_LIMIT_GENOME_GENERATE_RAM="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --limit_genome_generate_ram. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--limit_genome_generate_ram=*)
[ -n "$VIASH_PAR_LIMIT_GENOME_GENERATE_RAM" ] && ViashError Bad arguments for option \'--limit_genome_generate_ram=*\': \'$VIASH_PAR_LIMIT_GENOME_GENERATE_RAM\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_LIMIT_GENOME_GENERATE_RAM=$(ViashRemoveFlags "$1")
shift 1
;;
--limit_io_buffer_size)
if [ -z "$VIASH_PAR_LIMIT_IO_BUFFER_SIZE" ]; then
VIASH_PAR_LIMIT_IO_BUFFER_SIZE="$2"
else
VIASH_PAR_LIMIT_IO_BUFFER_SIZE="$VIASH_PAR_LIMIT_IO_BUFFER_SIZE;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --limit_io_buffer_size. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--limit_io_buffer_size=*)
if [ -z "$VIASH_PAR_LIMIT_IO_BUFFER_SIZE" ]; then
VIASH_PAR_LIMIT_IO_BUFFER_SIZE=$(ViashRemoveFlags "$1")
else
VIASH_PAR_LIMIT_IO_BUFFER_SIZE="$VIASH_PAR_LIMIT_IO_BUFFER_SIZE;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--limit_out_sam_one_read_bytes)
[ -n "$VIASH_PAR_LIMIT_OUT_SAM_ONE_READ_BYTES" ] && ViashError Bad arguments for option \'--limit_out_sam_one_read_bytes\': \'$VIASH_PAR_LIMIT_OUT_SAM_ONE_READ_BYTES\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_LIMIT_OUT_SAM_ONE_READ_BYTES="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --limit_out_sam_one_read_bytes. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--limit_out_sam_one_read_bytes=*)
[ -n "$VIASH_PAR_LIMIT_OUT_SAM_ONE_READ_BYTES" ] && ViashError Bad arguments for option \'--limit_out_sam_one_read_bytes=*\': \'$VIASH_PAR_LIMIT_OUT_SAM_ONE_READ_BYTES\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_LIMIT_OUT_SAM_ONE_READ_BYTES=$(ViashRemoveFlags "$1")
shift 1
;;
--limit_out_sj_one_read)
[ -n "$VIASH_PAR_LIMIT_OUT_SJ_ONE_READ" ] && ViashError Bad arguments for option \'--limit_out_sj_one_read\': \'$VIASH_PAR_LIMIT_OUT_SJ_ONE_READ\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_LIMIT_OUT_SJ_ONE_READ="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --limit_out_sj_one_read. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--limit_out_sj_one_read=*)
[ -n "$VIASH_PAR_LIMIT_OUT_SJ_ONE_READ" ] && ViashError Bad arguments for option \'--limit_out_sj_one_read=*\': \'$VIASH_PAR_LIMIT_OUT_SJ_ONE_READ\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_LIMIT_OUT_SJ_ONE_READ=$(ViashRemoveFlags "$1")
shift 1
;;
--limit_out_sj_collapsed)
[ -n "$VIASH_PAR_LIMIT_OUT_SJ_COLLAPSED" ] && ViashError Bad arguments for option \'--limit_out_sj_collapsed\': \'$VIASH_PAR_LIMIT_OUT_SJ_COLLAPSED\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_LIMIT_OUT_SJ_COLLAPSED="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --limit_out_sj_collapsed. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--limit_out_sj_collapsed=*)
[ -n "$VIASH_PAR_LIMIT_OUT_SJ_COLLAPSED" ] && ViashError Bad arguments for option \'--limit_out_sj_collapsed=*\': \'$VIASH_PAR_LIMIT_OUT_SJ_COLLAPSED\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_LIMIT_OUT_SJ_COLLAPSED=$(ViashRemoveFlags "$1")
shift 1
;;
--limit_bam_sort_ram)
[ -n "$VIASH_PAR_LIMIT_BAM_SORT_RAM" ] && ViashError Bad arguments for option \'--limit_bam_sort_ram\': \'$VIASH_PAR_LIMIT_BAM_SORT_RAM\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_LIMIT_BAM_SORT_RAM="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --limit_bam_sort_ram. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--limit_bam_sort_ram=*)
[ -n "$VIASH_PAR_LIMIT_BAM_SORT_RAM" ] && ViashError Bad arguments for option \'--limit_bam_sort_ram=*\': \'$VIASH_PAR_LIMIT_BAM_SORT_RAM\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_LIMIT_BAM_SORT_RAM=$(ViashRemoveFlags "$1")
shift 1
;;
--limit_sjdb_insert_nsj)
[ -n "$VIASH_PAR_LIMIT_SJDB_INSERT_NSJ" ] && ViashError Bad arguments for option \'--limit_sjdb_insert_nsj\': \'$VIASH_PAR_LIMIT_SJDB_INSERT_NSJ\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_LIMIT_SJDB_INSERT_NSJ="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --limit_sjdb_insert_nsj. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--limit_sjdb_insert_nsj=*)
[ -n "$VIASH_PAR_LIMIT_SJDB_INSERT_NSJ" ] && ViashError Bad arguments for option \'--limit_sjdb_insert_nsj=*\': \'$VIASH_PAR_LIMIT_SJDB_INSERT_NSJ\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_LIMIT_SJDB_INSERT_NSJ=$(ViashRemoveFlags "$1")
shift 1
;;
--limit_nreads_soft)
[ -n "$VIASH_PAR_LIMIT_NREADS_SOFT" ] && ViashError Bad arguments for option \'--limit_nreads_soft\': \'$VIASH_PAR_LIMIT_NREADS_SOFT\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_LIMIT_NREADS_SOFT="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --limit_nreads_soft. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--limit_nreads_soft=*)
[ -n "$VIASH_PAR_LIMIT_NREADS_SOFT" ] && ViashError Bad arguments for option \'--limit_nreads_soft=*\': \'$VIASH_PAR_LIMIT_NREADS_SOFT\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_LIMIT_NREADS_SOFT=$(ViashRemoveFlags "$1")
shift 1
;;
--out_tmp_keep)
[ -n "$VIASH_PAR_OUT_TMP_KEEP" ] && ViashError Bad arguments for option \'--out_tmp_keep\': \'$VIASH_PAR_OUT_TMP_KEEP\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_TMP_KEEP="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_tmp_keep. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_tmp_keep=*)
[ -n "$VIASH_PAR_OUT_TMP_KEEP" ] && ViashError Bad arguments for option \'--out_tmp_keep=*\': \'$VIASH_PAR_OUT_TMP_KEEP\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_TMP_KEEP=$(ViashRemoveFlags "$1")
shift 1
;;
--out_std)
[ -n "$VIASH_PAR_OUT_STD" ] && ViashError Bad arguments for option \'--out_std\': \'$VIASH_PAR_OUT_STD\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_STD="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_std. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_std=*)
[ -n "$VIASH_PAR_OUT_STD" ] && ViashError Bad arguments for option \'--out_std=*\': \'$VIASH_PAR_OUT_STD\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_STD=$(ViashRemoveFlags "$1")
shift 1
;;
--out_reads_unmapped)
[ -n "$VIASH_PAR_OUT_READS_UNMAPPED" ] && ViashError Bad arguments for option \'--out_reads_unmapped\': \'$VIASH_PAR_OUT_READS_UNMAPPED\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_READS_UNMAPPED="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_reads_unmapped. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_reads_unmapped=*)
[ -n "$VIASH_PAR_OUT_READS_UNMAPPED" ] && ViashError Bad arguments for option \'--out_reads_unmapped=*\': \'$VIASH_PAR_OUT_READS_UNMAPPED\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_READS_UNMAPPED=$(ViashRemoveFlags "$1")
shift 1
;;
--out_qs_conversion_add)
[ -n "$VIASH_PAR_OUT_QS_CONVERSION_ADD" ] && ViashError Bad arguments for option \'--out_qs_conversion_add\': \'$VIASH_PAR_OUT_QS_CONVERSION_ADD\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_QS_CONVERSION_ADD="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_qs_conversion_add. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_qs_conversion_add=*)
[ -n "$VIASH_PAR_OUT_QS_CONVERSION_ADD" ] && ViashError Bad arguments for option \'--out_qs_conversion_add=*\': \'$VIASH_PAR_OUT_QS_CONVERSION_ADD\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_QS_CONVERSION_ADD=$(ViashRemoveFlags "$1")
shift 1
;;
--out_multimapper_order)
[ -n "$VIASH_PAR_OUT_MULTIMAPPER_ORDER" ] && ViashError Bad arguments for option \'--out_multimapper_order\': \'$VIASH_PAR_OUT_MULTIMAPPER_ORDER\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_MULTIMAPPER_ORDER="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_multimapper_order. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_multimapper_order=*)
[ -n "$VIASH_PAR_OUT_MULTIMAPPER_ORDER" ] && ViashError Bad arguments for option \'--out_multimapper_order=*\': \'$VIASH_PAR_OUT_MULTIMAPPER_ORDER\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_MULTIMAPPER_ORDER=$(ViashRemoveFlags "$1")
shift 1
;;
--out_sam_type)
if [ -z "$VIASH_PAR_OUT_SAM_TYPE" ]; then
VIASH_PAR_OUT_SAM_TYPE="$2"
else
VIASH_PAR_OUT_SAM_TYPE="$VIASH_PAR_OUT_SAM_TYPE;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_sam_type. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_sam_type=*)
if [ -z "$VIASH_PAR_OUT_SAM_TYPE" ]; then
VIASH_PAR_OUT_SAM_TYPE=$(ViashRemoveFlags "$1")
else
VIASH_PAR_OUT_SAM_TYPE="$VIASH_PAR_OUT_SAM_TYPE;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--out_sam_mode)
[ -n "$VIASH_PAR_OUT_SAM_MODE" ] && ViashError Bad arguments for option \'--out_sam_mode\': \'$VIASH_PAR_OUT_SAM_MODE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_SAM_MODE="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_sam_mode. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_sam_mode=*)
[ -n "$VIASH_PAR_OUT_SAM_MODE" ] && ViashError Bad arguments for option \'--out_sam_mode=*\': \'$VIASH_PAR_OUT_SAM_MODE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_SAM_MODE=$(ViashRemoveFlags "$1")
shift 1
;;
--out_sam_strand_field)
[ -n "$VIASH_PAR_OUT_SAM_STRAND_FIELD" ] && ViashError Bad arguments for option \'--out_sam_strand_field\': \'$VIASH_PAR_OUT_SAM_STRAND_FIELD\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_SAM_STRAND_FIELD="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_sam_strand_field. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_sam_strand_field=*)
[ -n "$VIASH_PAR_OUT_SAM_STRAND_FIELD" ] && ViashError Bad arguments for option \'--out_sam_strand_field=*\': \'$VIASH_PAR_OUT_SAM_STRAND_FIELD\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_SAM_STRAND_FIELD=$(ViashRemoveFlags "$1")
shift 1
;;
--out_sam_attributes)
if [ -z "$VIASH_PAR_OUT_SAM_ATTRIBUTES" ]; then
VIASH_PAR_OUT_SAM_ATTRIBUTES="$2"
else
VIASH_PAR_OUT_SAM_ATTRIBUTES="$VIASH_PAR_OUT_SAM_ATTRIBUTES;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_sam_attributes. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_sam_attributes=*)
if [ -z "$VIASH_PAR_OUT_SAM_ATTRIBUTES" ]; then
VIASH_PAR_OUT_SAM_ATTRIBUTES=$(ViashRemoveFlags "$1")
else
VIASH_PAR_OUT_SAM_ATTRIBUTES="$VIASH_PAR_OUT_SAM_ATTRIBUTES;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--out_sam_attr_ih_start)
[ -n "$VIASH_PAR_OUT_SAM_ATTR_IH_START" ] && ViashError Bad arguments for option \'--out_sam_attr_ih_start\': \'$VIASH_PAR_OUT_SAM_ATTR_IH_START\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_SAM_ATTR_IH_START="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_sam_attr_ih_start. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_sam_attr_ih_start=*)
[ -n "$VIASH_PAR_OUT_SAM_ATTR_IH_START" ] && ViashError Bad arguments for option \'--out_sam_attr_ih_start=*\': \'$VIASH_PAR_OUT_SAM_ATTR_IH_START\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_SAM_ATTR_IH_START=$(ViashRemoveFlags "$1")
shift 1
;;
--out_sam_unmapped)
if [ -z "$VIASH_PAR_OUT_SAM_UNMAPPED" ]; then
VIASH_PAR_OUT_SAM_UNMAPPED="$2"
else
VIASH_PAR_OUT_SAM_UNMAPPED="$VIASH_PAR_OUT_SAM_UNMAPPED;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_sam_unmapped. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_sam_unmapped=*)
if [ -z "$VIASH_PAR_OUT_SAM_UNMAPPED" ]; then
VIASH_PAR_OUT_SAM_UNMAPPED=$(ViashRemoveFlags "$1")
else
VIASH_PAR_OUT_SAM_UNMAPPED="$VIASH_PAR_OUT_SAM_UNMAPPED;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--out_sam_order)
[ -n "$VIASH_PAR_OUT_SAM_ORDER" ] && ViashError Bad arguments for option \'--out_sam_order\': \'$VIASH_PAR_OUT_SAM_ORDER\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_SAM_ORDER="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_sam_order. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_sam_order=*)
[ -n "$VIASH_PAR_OUT_SAM_ORDER" ] && ViashError Bad arguments for option \'--out_sam_order=*\': \'$VIASH_PAR_OUT_SAM_ORDER\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_SAM_ORDER=$(ViashRemoveFlags "$1")
shift 1
;;
--out_sam_primary_flag)
[ -n "$VIASH_PAR_OUT_SAM_PRIMARY_FLAG" ] && ViashError Bad arguments for option \'--out_sam_primary_flag\': \'$VIASH_PAR_OUT_SAM_PRIMARY_FLAG\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_SAM_PRIMARY_FLAG="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_sam_primary_flag. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_sam_primary_flag=*)
[ -n "$VIASH_PAR_OUT_SAM_PRIMARY_FLAG" ] && ViashError Bad arguments for option \'--out_sam_primary_flag=*\': \'$VIASH_PAR_OUT_SAM_PRIMARY_FLAG\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_SAM_PRIMARY_FLAG=$(ViashRemoveFlags "$1")
shift 1
;;
--out_sam_read_id)
[ -n "$VIASH_PAR_OUT_SAM_READ_ID" ] && ViashError Bad arguments for option \'--out_sam_read_id\': \'$VIASH_PAR_OUT_SAM_READ_ID\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_SAM_READ_ID="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_sam_read_id. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_sam_read_id=*)
[ -n "$VIASH_PAR_OUT_SAM_READ_ID" ] && ViashError Bad arguments for option \'--out_sam_read_id=*\': \'$VIASH_PAR_OUT_SAM_READ_ID\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_SAM_READ_ID=$(ViashRemoveFlags "$1")
shift 1
;;
--out_sam_mapq_unique)
[ -n "$VIASH_PAR_OUT_SAM_MAPQ_UNIQUE" ] && ViashError Bad arguments for option \'--out_sam_mapq_unique\': \'$VIASH_PAR_OUT_SAM_MAPQ_UNIQUE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_SAM_MAPQ_UNIQUE="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_sam_mapq_unique. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_sam_mapq_unique=*)
[ -n "$VIASH_PAR_OUT_SAM_MAPQ_UNIQUE" ] && ViashError Bad arguments for option \'--out_sam_mapq_unique=*\': \'$VIASH_PAR_OUT_SAM_MAPQ_UNIQUE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_SAM_MAPQ_UNIQUE=$(ViashRemoveFlags "$1")
shift 1
;;
--out_sam_flag_or)
[ -n "$VIASH_PAR_OUT_SAM_FLAG_OR" ] && ViashError Bad arguments for option \'--out_sam_flag_or\': \'$VIASH_PAR_OUT_SAM_FLAG_OR\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_SAM_FLAG_OR="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_sam_flag_or. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_sam_flag_or=*)
[ -n "$VIASH_PAR_OUT_SAM_FLAG_OR" ] && ViashError Bad arguments for option \'--out_sam_flag_or=*\': \'$VIASH_PAR_OUT_SAM_FLAG_OR\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_SAM_FLAG_OR=$(ViashRemoveFlags "$1")
shift 1
;;
--out_sam_flag_and)
[ -n "$VIASH_PAR_OUT_SAM_FLAG_AND" ] && ViashError Bad arguments for option \'--out_sam_flag_and\': \'$VIASH_PAR_OUT_SAM_FLAG_AND\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_SAM_FLAG_AND="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_sam_flag_and. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_sam_flag_and=*)
[ -n "$VIASH_PAR_OUT_SAM_FLAG_AND" ] && ViashError Bad arguments for option \'--out_sam_flag_and=*\': \'$VIASH_PAR_OUT_SAM_FLAG_AND\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_SAM_FLAG_AND=$(ViashRemoveFlags "$1")
shift 1
;;
--out_sam_attr_rg_line)
if [ -z "$VIASH_PAR_OUT_SAM_ATTR_RG_LINE" ]; then
VIASH_PAR_OUT_SAM_ATTR_RG_LINE="$2"
else
VIASH_PAR_OUT_SAM_ATTR_RG_LINE="$VIASH_PAR_OUT_SAM_ATTR_RG_LINE;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_sam_attr_rg_line. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_sam_attr_rg_line=*)
if [ -z "$VIASH_PAR_OUT_SAM_ATTR_RG_LINE" ]; then
VIASH_PAR_OUT_SAM_ATTR_RG_LINE=$(ViashRemoveFlags "$1")
else
VIASH_PAR_OUT_SAM_ATTR_RG_LINE="$VIASH_PAR_OUT_SAM_ATTR_RG_LINE;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--out_sam_header_hd)
if [ -z "$VIASH_PAR_OUT_SAM_HEADER_HD" ]; then
VIASH_PAR_OUT_SAM_HEADER_HD="$2"
else
VIASH_PAR_OUT_SAM_HEADER_HD="$VIASH_PAR_OUT_SAM_HEADER_HD;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_sam_header_hd. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_sam_header_hd=*)
if [ -z "$VIASH_PAR_OUT_SAM_HEADER_HD" ]; then
VIASH_PAR_OUT_SAM_HEADER_HD=$(ViashRemoveFlags "$1")
else
VIASH_PAR_OUT_SAM_HEADER_HD="$VIASH_PAR_OUT_SAM_HEADER_HD;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--out_sam_header_pg)
if [ -z "$VIASH_PAR_OUT_SAM_HEADER_PG" ]; then
VIASH_PAR_OUT_SAM_HEADER_PG="$2"
else
VIASH_PAR_OUT_SAM_HEADER_PG="$VIASH_PAR_OUT_SAM_HEADER_PG;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_sam_header_pg. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_sam_header_pg=*)
if [ -z "$VIASH_PAR_OUT_SAM_HEADER_PG" ]; then
VIASH_PAR_OUT_SAM_HEADER_PG=$(ViashRemoveFlags "$1")
else
VIASH_PAR_OUT_SAM_HEADER_PG="$VIASH_PAR_OUT_SAM_HEADER_PG;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--out_sam_header_comment_file)
[ -n "$VIASH_PAR_OUT_SAM_HEADER_COMMENT_FILE" ] && ViashError Bad arguments for option \'--out_sam_header_comment_file\': \'$VIASH_PAR_OUT_SAM_HEADER_COMMENT_FILE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_SAM_HEADER_COMMENT_FILE="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_sam_header_comment_file. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_sam_header_comment_file=*)
[ -n "$VIASH_PAR_OUT_SAM_HEADER_COMMENT_FILE" ] && ViashError Bad arguments for option \'--out_sam_header_comment_file=*\': \'$VIASH_PAR_OUT_SAM_HEADER_COMMENT_FILE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_SAM_HEADER_COMMENT_FILE=$(ViashRemoveFlags "$1")
shift 1
;;
--out_sam_filter)
if [ -z "$VIASH_PAR_OUT_SAM_FILTER" ]; then
VIASH_PAR_OUT_SAM_FILTER="$2"
else
VIASH_PAR_OUT_SAM_FILTER="$VIASH_PAR_OUT_SAM_FILTER;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_sam_filter. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_sam_filter=*)
if [ -z "$VIASH_PAR_OUT_SAM_FILTER" ]; then
VIASH_PAR_OUT_SAM_FILTER=$(ViashRemoveFlags "$1")
else
VIASH_PAR_OUT_SAM_FILTER="$VIASH_PAR_OUT_SAM_FILTER;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--out_sam_mult_nmax)
[ -n "$VIASH_PAR_OUT_SAM_MULT_NMAX" ] && ViashError Bad arguments for option \'--out_sam_mult_nmax\': \'$VIASH_PAR_OUT_SAM_MULT_NMAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_SAM_MULT_NMAX="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_sam_mult_nmax. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_sam_mult_nmax=*)
[ -n "$VIASH_PAR_OUT_SAM_MULT_NMAX" ] && ViashError Bad arguments for option \'--out_sam_mult_nmax=*\': \'$VIASH_PAR_OUT_SAM_MULT_NMAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_SAM_MULT_NMAX=$(ViashRemoveFlags "$1")
shift 1
;;
--out_sam_tlen)
[ -n "$VIASH_PAR_OUT_SAM_TLEN" ] && ViashError Bad arguments for option \'--out_sam_tlen\': \'$VIASH_PAR_OUT_SAM_TLEN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_SAM_TLEN="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_sam_tlen. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_sam_tlen=*)
[ -n "$VIASH_PAR_OUT_SAM_TLEN" ] && ViashError Bad arguments for option \'--out_sam_tlen=*\': \'$VIASH_PAR_OUT_SAM_TLEN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_SAM_TLEN=$(ViashRemoveFlags "$1")
shift 1
;;
--out_bam_compression)
[ -n "$VIASH_PAR_OUT_BAM_COMPRESSION" ] && ViashError Bad arguments for option \'--out_bam_compression\': \'$VIASH_PAR_OUT_BAM_COMPRESSION\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_BAM_COMPRESSION="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_bam_compression. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_bam_compression=*)
[ -n "$VIASH_PAR_OUT_BAM_COMPRESSION" ] && ViashError Bad arguments for option \'--out_bam_compression=*\': \'$VIASH_PAR_OUT_BAM_COMPRESSION\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_BAM_COMPRESSION=$(ViashRemoveFlags "$1")
shift 1
;;
--out_bam_sorting_thread_n)
[ -n "$VIASH_PAR_OUT_BAM_SORTING_THREAD_N" ] && ViashError Bad arguments for option \'--out_bam_sorting_thread_n\': \'$VIASH_PAR_OUT_BAM_SORTING_THREAD_N\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_BAM_SORTING_THREAD_N="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_bam_sorting_thread_n. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_bam_sorting_thread_n=*)
[ -n "$VIASH_PAR_OUT_BAM_SORTING_THREAD_N" ] && ViashError Bad arguments for option \'--out_bam_sorting_thread_n=*\': \'$VIASH_PAR_OUT_BAM_SORTING_THREAD_N\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_BAM_SORTING_THREAD_N=$(ViashRemoveFlags "$1")
shift 1
;;
--out_bam_sorting_bins_n)
[ -n "$VIASH_PAR_OUT_BAM_SORTING_BINS_N" ] && ViashError Bad arguments for option \'--out_bam_sorting_bins_n\': \'$VIASH_PAR_OUT_BAM_SORTING_BINS_N\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_BAM_SORTING_BINS_N="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_bam_sorting_bins_n. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_bam_sorting_bins_n=*)
[ -n "$VIASH_PAR_OUT_BAM_SORTING_BINS_N" ] && ViashError Bad arguments for option \'--out_bam_sorting_bins_n=*\': \'$VIASH_PAR_OUT_BAM_SORTING_BINS_N\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_BAM_SORTING_BINS_N=$(ViashRemoveFlags "$1")
shift 1
;;
--bam_remove_duplicates_type)
[ -n "$VIASH_PAR_BAM_REMOVE_DUPLICATES_TYPE" ] && ViashError Bad arguments for option \'--bam_remove_duplicates_type\': \'$VIASH_PAR_BAM_REMOVE_DUPLICATES_TYPE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_BAM_REMOVE_DUPLICATES_TYPE="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --bam_remove_duplicates_type. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--bam_remove_duplicates_type=*)
[ -n "$VIASH_PAR_BAM_REMOVE_DUPLICATES_TYPE" ] && ViashError Bad arguments for option \'--bam_remove_duplicates_type=*\': \'$VIASH_PAR_BAM_REMOVE_DUPLICATES_TYPE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_BAM_REMOVE_DUPLICATES_TYPE=$(ViashRemoveFlags "$1")
shift 1
;;
--bam_remove_duplicates_mate2bases_n)
[ -n "$VIASH_PAR_BAM_REMOVE_DUPLICATES_MATE2BASES_N" ] && ViashError Bad arguments for option \'--bam_remove_duplicates_mate2bases_n\': \'$VIASH_PAR_BAM_REMOVE_DUPLICATES_MATE2BASES_N\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_BAM_REMOVE_DUPLICATES_MATE2BASES_N="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --bam_remove_duplicates_mate2bases_n. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--bam_remove_duplicates_mate2bases_n=*)
[ -n "$VIASH_PAR_BAM_REMOVE_DUPLICATES_MATE2BASES_N" ] && ViashError Bad arguments for option \'--bam_remove_duplicates_mate2bases_n=*\': \'$VIASH_PAR_BAM_REMOVE_DUPLICATES_MATE2BASES_N\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_BAM_REMOVE_DUPLICATES_MATE2BASES_N=$(ViashRemoveFlags "$1")
shift 1
;;
--out_wig_type)
if [ -z "$VIASH_PAR_OUT_WIG_TYPE" ]; then
VIASH_PAR_OUT_WIG_TYPE="$2"
else
VIASH_PAR_OUT_WIG_TYPE="$VIASH_PAR_OUT_WIG_TYPE;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_wig_type. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_wig_type=*)
if [ -z "$VIASH_PAR_OUT_WIG_TYPE" ]; then
VIASH_PAR_OUT_WIG_TYPE=$(ViashRemoveFlags "$1")
else
VIASH_PAR_OUT_WIG_TYPE="$VIASH_PAR_OUT_WIG_TYPE;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--out_wig_strand)
[ -n "$VIASH_PAR_OUT_WIG_STRAND" ] && ViashError Bad arguments for option \'--out_wig_strand\': \'$VIASH_PAR_OUT_WIG_STRAND\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_WIG_STRAND="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_wig_strand. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_wig_strand=*)
[ -n "$VIASH_PAR_OUT_WIG_STRAND" ] && ViashError Bad arguments for option \'--out_wig_strand=*\': \'$VIASH_PAR_OUT_WIG_STRAND\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_WIG_STRAND=$(ViashRemoveFlags "$1")
shift 1
;;
--out_wig_references_prefix)
[ -n "$VIASH_PAR_OUT_WIG_REFERENCES_PREFIX" ] && ViashError Bad arguments for option \'--out_wig_references_prefix\': \'$VIASH_PAR_OUT_WIG_REFERENCES_PREFIX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_WIG_REFERENCES_PREFIX="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_wig_references_prefix. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_wig_references_prefix=*)
[ -n "$VIASH_PAR_OUT_WIG_REFERENCES_PREFIX" ] && ViashError Bad arguments for option \'--out_wig_references_prefix=*\': \'$VIASH_PAR_OUT_WIG_REFERENCES_PREFIX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_WIG_REFERENCES_PREFIX=$(ViashRemoveFlags "$1")
shift 1
;;
--out_wig_norm)
[ -n "$VIASH_PAR_OUT_WIG_NORM" ] && ViashError Bad arguments for option \'--out_wig_norm\': \'$VIASH_PAR_OUT_WIG_NORM\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_WIG_NORM="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_wig_norm. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_wig_norm=*)
[ -n "$VIASH_PAR_OUT_WIG_NORM" ] && ViashError Bad arguments for option \'--out_wig_norm=*\': \'$VIASH_PAR_OUT_WIG_NORM\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_WIG_NORM=$(ViashRemoveFlags "$1")
shift 1
;;
--out_filter_type)
[ -n "$VIASH_PAR_OUT_FILTER_TYPE" ] && ViashError Bad arguments for option \'--out_filter_type\': \'$VIASH_PAR_OUT_FILTER_TYPE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_FILTER_TYPE="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_filter_type. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_filter_type=*)
[ -n "$VIASH_PAR_OUT_FILTER_TYPE" ] && ViashError Bad arguments for option \'--out_filter_type=*\': \'$VIASH_PAR_OUT_FILTER_TYPE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_FILTER_TYPE=$(ViashRemoveFlags "$1")
shift 1
;;
--out_filter_multimap_score_range)
[ -n "$VIASH_PAR_OUT_FILTER_MULTIMAP_SCORE_RANGE" ] && ViashError Bad arguments for option \'--out_filter_multimap_score_range\': \'$VIASH_PAR_OUT_FILTER_MULTIMAP_SCORE_RANGE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_FILTER_MULTIMAP_SCORE_RANGE="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_filter_multimap_score_range. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_filter_multimap_score_range=*)
[ -n "$VIASH_PAR_OUT_FILTER_MULTIMAP_SCORE_RANGE" ] && ViashError Bad arguments for option \'--out_filter_multimap_score_range=*\': \'$VIASH_PAR_OUT_FILTER_MULTIMAP_SCORE_RANGE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_FILTER_MULTIMAP_SCORE_RANGE=$(ViashRemoveFlags "$1")
shift 1
;;
--out_filter_multimap_nmax)
[ -n "$VIASH_PAR_OUT_FILTER_MULTIMAP_NMAX" ] && ViashError Bad arguments for option \'--out_filter_multimap_nmax\': \'$VIASH_PAR_OUT_FILTER_MULTIMAP_NMAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_FILTER_MULTIMAP_NMAX="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_filter_multimap_nmax. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_filter_multimap_nmax=*)
[ -n "$VIASH_PAR_OUT_FILTER_MULTIMAP_NMAX" ] && ViashError Bad arguments for option \'--out_filter_multimap_nmax=*\': \'$VIASH_PAR_OUT_FILTER_MULTIMAP_NMAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_FILTER_MULTIMAP_NMAX=$(ViashRemoveFlags "$1")
shift 1
;;
--out_filter_mismatch_nmax)
[ -n "$VIASH_PAR_OUT_FILTER_MISMATCH_NMAX" ] && ViashError Bad arguments for option \'--out_filter_mismatch_nmax\': \'$VIASH_PAR_OUT_FILTER_MISMATCH_NMAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_FILTER_MISMATCH_NMAX="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_filter_mismatch_nmax. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_filter_mismatch_nmax=*)
[ -n "$VIASH_PAR_OUT_FILTER_MISMATCH_NMAX" ] && ViashError Bad arguments for option \'--out_filter_mismatch_nmax=*\': \'$VIASH_PAR_OUT_FILTER_MISMATCH_NMAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_FILTER_MISMATCH_NMAX=$(ViashRemoveFlags "$1")
shift 1
;;
--out_filter_mismatch_nover_lmax)
[ -n "$VIASH_PAR_OUT_FILTER_MISMATCH_NOVER_LMAX" ] && ViashError Bad arguments for option \'--out_filter_mismatch_nover_lmax\': \'$VIASH_PAR_OUT_FILTER_MISMATCH_NOVER_LMAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_FILTER_MISMATCH_NOVER_LMAX="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_filter_mismatch_nover_lmax. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_filter_mismatch_nover_lmax=*)
[ -n "$VIASH_PAR_OUT_FILTER_MISMATCH_NOVER_LMAX" ] && ViashError Bad arguments for option \'--out_filter_mismatch_nover_lmax=*\': \'$VIASH_PAR_OUT_FILTER_MISMATCH_NOVER_LMAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_FILTER_MISMATCH_NOVER_LMAX=$(ViashRemoveFlags "$1")
shift 1
;;
--out_filter_mismatch_nover_read_lmax)
[ -n "$VIASH_PAR_OUT_FILTER_MISMATCH_NOVER_READ_LMAX" ] && ViashError Bad arguments for option \'--out_filter_mismatch_nover_read_lmax\': \'$VIASH_PAR_OUT_FILTER_MISMATCH_NOVER_READ_LMAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_FILTER_MISMATCH_NOVER_READ_LMAX="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_filter_mismatch_nover_read_lmax. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_filter_mismatch_nover_read_lmax=*)
[ -n "$VIASH_PAR_OUT_FILTER_MISMATCH_NOVER_READ_LMAX" ] && ViashError Bad arguments for option \'--out_filter_mismatch_nover_read_lmax=*\': \'$VIASH_PAR_OUT_FILTER_MISMATCH_NOVER_READ_LMAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_FILTER_MISMATCH_NOVER_READ_LMAX=$(ViashRemoveFlags "$1")
shift 1
;;
--out_filter_score_min)
[ -n "$VIASH_PAR_OUT_FILTER_SCORE_MIN" ] && ViashError Bad arguments for option \'--out_filter_score_min\': \'$VIASH_PAR_OUT_FILTER_SCORE_MIN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_FILTER_SCORE_MIN="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_filter_score_min. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_filter_score_min=*)
[ -n "$VIASH_PAR_OUT_FILTER_SCORE_MIN" ] && ViashError Bad arguments for option \'--out_filter_score_min=*\': \'$VIASH_PAR_OUT_FILTER_SCORE_MIN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_FILTER_SCORE_MIN=$(ViashRemoveFlags "$1")
shift 1
;;
--out_filter_score_min_over_lread)
[ -n "$VIASH_PAR_OUT_FILTER_SCORE_MIN_OVER_LREAD" ] && ViashError Bad arguments for option \'--out_filter_score_min_over_lread\': \'$VIASH_PAR_OUT_FILTER_SCORE_MIN_OVER_LREAD\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_FILTER_SCORE_MIN_OVER_LREAD="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_filter_score_min_over_lread. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_filter_score_min_over_lread=*)
[ -n "$VIASH_PAR_OUT_FILTER_SCORE_MIN_OVER_LREAD" ] && ViashError Bad arguments for option \'--out_filter_score_min_over_lread=*\': \'$VIASH_PAR_OUT_FILTER_SCORE_MIN_OVER_LREAD\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_FILTER_SCORE_MIN_OVER_LREAD=$(ViashRemoveFlags "$1")
shift 1
;;
--out_filter_match_nmin)
[ -n "$VIASH_PAR_OUT_FILTER_MATCH_NMIN" ] && ViashError Bad arguments for option \'--out_filter_match_nmin\': \'$VIASH_PAR_OUT_FILTER_MATCH_NMIN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_FILTER_MATCH_NMIN="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_filter_match_nmin. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_filter_match_nmin=*)
[ -n "$VIASH_PAR_OUT_FILTER_MATCH_NMIN" ] && ViashError Bad arguments for option \'--out_filter_match_nmin=*\': \'$VIASH_PAR_OUT_FILTER_MATCH_NMIN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_FILTER_MATCH_NMIN=$(ViashRemoveFlags "$1")
shift 1
;;
--out_filter_match_nmin_over_lread)
[ -n "$VIASH_PAR_OUT_FILTER_MATCH_NMIN_OVER_LREAD" ] && ViashError Bad arguments for option \'--out_filter_match_nmin_over_lread\': \'$VIASH_PAR_OUT_FILTER_MATCH_NMIN_OVER_LREAD\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_FILTER_MATCH_NMIN_OVER_LREAD="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_filter_match_nmin_over_lread. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_filter_match_nmin_over_lread=*)
[ -n "$VIASH_PAR_OUT_FILTER_MATCH_NMIN_OVER_LREAD" ] && ViashError Bad arguments for option \'--out_filter_match_nmin_over_lread=*\': \'$VIASH_PAR_OUT_FILTER_MATCH_NMIN_OVER_LREAD\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_FILTER_MATCH_NMIN_OVER_LREAD=$(ViashRemoveFlags "$1")
shift 1
;;
--out_filter_intron_motifs)
[ -n "$VIASH_PAR_OUT_FILTER_INTRON_MOTIFS" ] && ViashError Bad arguments for option \'--out_filter_intron_motifs\': \'$VIASH_PAR_OUT_FILTER_INTRON_MOTIFS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_FILTER_INTRON_MOTIFS="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_filter_intron_motifs. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_filter_intron_motifs=*)
[ -n "$VIASH_PAR_OUT_FILTER_INTRON_MOTIFS" ] && ViashError Bad arguments for option \'--out_filter_intron_motifs=*\': \'$VIASH_PAR_OUT_FILTER_INTRON_MOTIFS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_FILTER_INTRON_MOTIFS=$(ViashRemoveFlags "$1")
shift 1
;;
--out_filter_intron_strands)
[ -n "$VIASH_PAR_OUT_FILTER_INTRON_STRANDS" ] && ViashError Bad arguments for option \'--out_filter_intron_strands\': \'$VIASH_PAR_OUT_FILTER_INTRON_STRANDS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_FILTER_INTRON_STRANDS="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_filter_intron_strands. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_filter_intron_strands=*)
[ -n "$VIASH_PAR_OUT_FILTER_INTRON_STRANDS" ] && ViashError Bad arguments for option \'--out_filter_intron_strands=*\': \'$VIASH_PAR_OUT_FILTER_INTRON_STRANDS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_FILTER_INTRON_STRANDS=$(ViashRemoveFlags "$1")
shift 1
;;
--out_sj_type)
[ -n "$VIASH_PAR_OUT_SJ_TYPE" ] && ViashError Bad arguments for option \'--out_sj_type\': \'$VIASH_PAR_OUT_SJ_TYPE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_SJ_TYPE="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_sj_type. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_sj_type=*)
[ -n "$VIASH_PAR_OUT_SJ_TYPE" ] && ViashError Bad arguments for option \'--out_sj_type=*\': \'$VIASH_PAR_OUT_SJ_TYPE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_SJ_TYPE=$(ViashRemoveFlags "$1")
shift 1
;;
--out_sj_filter_reads)
[ -n "$VIASH_PAR_OUT_SJ_FILTER_READS" ] && ViashError Bad arguments for option \'--out_sj_filter_reads\': \'$VIASH_PAR_OUT_SJ_FILTER_READS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_SJ_FILTER_READS="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_sj_filter_reads. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_sj_filter_reads=*)
[ -n "$VIASH_PAR_OUT_SJ_FILTER_READS" ] && ViashError Bad arguments for option \'--out_sj_filter_reads=*\': \'$VIASH_PAR_OUT_SJ_FILTER_READS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_OUT_SJ_FILTER_READS=$(ViashRemoveFlags "$1")
shift 1
;;
--out_sj_filter_overhang_min)
if [ -z "$VIASH_PAR_OUT_SJ_FILTER_OVERHANG_MIN" ]; then
VIASH_PAR_OUT_SJ_FILTER_OVERHANG_MIN="$2"
else
VIASH_PAR_OUT_SJ_FILTER_OVERHANG_MIN="$VIASH_PAR_OUT_SJ_FILTER_OVERHANG_MIN;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_sj_filter_overhang_min. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_sj_filter_overhang_min=*)
if [ -z "$VIASH_PAR_OUT_SJ_FILTER_OVERHANG_MIN" ]; then
VIASH_PAR_OUT_SJ_FILTER_OVERHANG_MIN=$(ViashRemoveFlags "$1")
else
VIASH_PAR_OUT_SJ_FILTER_OVERHANG_MIN="$VIASH_PAR_OUT_SJ_FILTER_OVERHANG_MIN;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--out_sj_filter_count_unique_min)
if [ -z "$VIASH_PAR_OUT_SJ_FILTER_COUNT_UNIQUE_MIN" ]; then
VIASH_PAR_OUT_SJ_FILTER_COUNT_UNIQUE_MIN="$2"
else
VIASH_PAR_OUT_SJ_FILTER_COUNT_UNIQUE_MIN="$VIASH_PAR_OUT_SJ_FILTER_COUNT_UNIQUE_MIN;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_sj_filter_count_unique_min. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_sj_filter_count_unique_min=*)
if [ -z "$VIASH_PAR_OUT_SJ_FILTER_COUNT_UNIQUE_MIN" ]; then
VIASH_PAR_OUT_SJ_FILTER_COUNT_UNIQUE_MIN=$(ViashRemoveFlags "$1")
else
VIASH_PAR_OUT_SJ_FILTER_COUNT_UNIQUE_MIN="$VIASH_PAR_OUT_SJ_FILTER_COUNT_UNIQUE_MIN;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--out_sj_filter_count_total_min)
if [ -z "$VIASH_PAR_OUT_SJ_FILTER_COUNT_TOTAL_MIN" ]; then
VIASH_PAR_OUT_SJ_FILTER_COUNT_TOTAL_MIN="$2"
else
VIASH_PAR_OUT_SJ_FILTER_COUNT_TOTAL_MIN="$VIASH_PAR_OUT_SJ_FILTER_COUNT_TOTAL_MIN;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_sj_filter_count_total_min. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_sj_filter_count_total_min=*)
if [ -z "$VIASH_PAR_OUT_SJ_FILTER_COUNT_TOTAL_MIN" ]; then
VIASH_PAR_OUT_SJ_FILTER_COUNT_TOTAL_MIN=$(ViashRemoveFlags "$1")
else
VIASH_PAR_OUT_SJ_FILTER_COUNT_TOTAL_MIN="$VIASH_PAR_OUT_SJ_FILTER_COUNT_TOTAL_MIN;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--out_sj_filter_dist_to_other_sj_min)
if [ -z "$VIASH_PAR_OUT_SJ_FILTER_DIST_TO_OTHER_SJ_MIN" ]; then
VIASH_PAR_OUT_SJ_FILTER_DIST_TO_OTHER_SJ_MIN="$2"
else
VIASH_PAR_OUT_SJ_FILTER_DIST_TO_OTHER_SJ_MIN="$VIASH_PAR_OUT_SJ_FILTER_DIST_TO_OTHER_SJ_MIN;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_sj_filter_dist_to_other_sj_min. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_sj_filter_dist_to_other_sj_min=*)
if [ -z "$VIASH_PAR_OUT_SJ_FILTER_DIST_TO_OTHER_SJ_MIN" ]; then
VIASH_PAR_OUT_SJ_FILTER_DIST_TO_OTHER_SJ_MIN=$(ViashRemoveFlags "$1")
else
VIASH_PAR_OUT_SJ_FILTER_DIST_TO_OTHER_SJ_MIN="$VIASH_PAR_OUT_SJ_FILTER_DIST_TO_OTHER_SJ_MIN;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--out_sj_filter_intron_max_vs_read_n)
if [ -z "$VIASH_PAR_OUT_SJ_FILTER_INTRON_MAX_VS_READ_N" ]; then
VIASH_PAR_OUT_SJ_FILTER_INTRON_MAX_VS_READ_N="$2"
else
VIASH_PAR_OUT_SJ_FILTER_INTRON_MAX_VS_READ_N="$VIASH_PAR_OUT_SJ_FILTER_INTRON_MAX_VS_READ_N;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --out_sj_filter_intron_max_vs_read_n. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--out_sj_filter_intron_max_vs_read_n=*)
if [ -z "$VIASH_PAR_OUT_SJ_FILTER_INTRON_MAX_VS_READ_N" ]; then
VIASH_PAR_OUT_SJ_FILTER_INTRON_MAX_VS_READ_N=$(ViashRemoveFlags "$1")
else
VIASH_PAR_OUT_SJ_FILTER_INTRON_MAX_VS_READ_N="$VIASH_PAR_OUT_SJ_FILTER_INTRON_MAX_VS_READ_N;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--score_gap)
[ -n "$VIASH_PAR_SCORE_GAP" ] && ViashError Bad arguments for option \'--score_gap\': \'$VIASH_PAR_SCORE_GAP\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SCORE_GAP="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --score_gap. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--score_gap=*)
[ -n "$VIASH_PAR_SCORE_GAP" ] && ViashError Bad arguments for option \'--score_gap=*\': \'$VIASH_PAR_SCORE_GAP\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SCORE_GAP=$(ViashRemoveFlags "$1")
shift 1
;;
--score_gap_noncan)
[ -n "$VIASH_PAR_SCORE_GAP_NONCAN" ] && ViashError Bad arguments for option \'--score_gap_noncan\': \'$VIASH_PAR_SCORE_GAP_NONCAN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SCORE_GAP_NONCAN="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --score_gap_noncan. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--score_gap_noncan=*)
[ -n "$VIASH_PAR_SCORE_GAP_NONCAN" ] && ViashError Bad arguments for option \'--score_gap_noncan=*\': \'$VIASH_PAR_SCORE_GAP_NONCAN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SCORE_GAP_NONCAN=$(ViashRemoveFlags "$1")
shift 1
;;
--score_gap_gcag)
[ -n "$VIASH_PAR_SCORE_GAP_GCAG" ] && ViashError Bad arguments for option \'--score_gap_gcag\': \'$VIASH_PAR_SCORE_GAP_GCAG\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SCORE_GAP_GCAG="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --score_gap_gcag. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--score_gap_gcag=*)
[ -n "$VIASH_PAR_SCORE_GAP_GCAG" ] && ViashError Bad arguments for option \'--score_gap_gcag=*\': \'$VIASH_PAR_SCORE_GAP_GCAG\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SCORE_GAP_GCAG=$(ViashRemoveFlags "$1")
shift 1
;;
--score_gap_atac)
[ -n "$VIASH_PAR_SCORE_GAP_ATAC" ] && ViashError Bad arguments for option \'--score_gap_atac\': \'$VIASH_PAR_SCORE_GAP_ATAC\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SCORE_GAP_ATAC="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --score_gap_atac. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--score_gap_atac=*)
[ -n "$VIASH_PAR_SCORE_GAP_ATAC" ] && ViashError Bad arguments for option \'--score_gap_atac=*\': \'$VIASH_PAR_SCORE_GAP_ATAC\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SCORE_GAP_ATAC=$(ViashRemoveFlags "$1")
shift 1
;;
--score_genomic_length_log2scale)
[ -n "$VIASH_PAR_SCORE_GENOMIC_LENGTH_LOG2SCALE" ] && ViashError Bad arguments for option \'--score_genomic_length_log2scale\': \'$VIASH_PAR_SCORE_GENOMIC_LENGTH_LOG2SCALE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SCORE_GENOMIC_LENGTH_LOG2SCALE="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --score_genomic_length_log2scale. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--score_genomic_length_log2scale=*)
[ -n "$VIASH_PAR_SCORE_GENOMIC_LENGTH_LOG2SCALE" ] && ViashError Bad arguments for option \'--score_genomic_length_log2scale=*\': \'$VIASH_PAR_SCORE_GENOMIC_LENGTH_LOG2SCALE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SCORE_GENOMIC_LENGTH_LOG2SCALE=$(ViashRemoveFlags "$1")
shift 1
;;
--score_del_open)
[ -n "$VIASH_PAR_SCORE_DEL_OPEN" ] && ViashError Bad arguments for option \'--score_del_open\': \'$VIASH_PAR_SCORE_DEL_OPEN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SCORE_DEL_OPEN="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --score_del_open. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--score_del_open=*)
[ -n "$VIASH_PAR_SCORE_DEL_OPEN" ] && ViashError Bad arguments for option \'--score_del_open=*\': \'$VIASH_PAR_SCORE_DEL_OPEN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SCORE_DEL_OPEN=$(ViashRemoveFlags "$1")
shift 1
;;
--score_del_base)
[ -n "$VIASH_PAR_SCORE_DEL_BASE" ] && ViashError Bad arguments for option \'--score_del_base\': \'$VIASH_PAR_SCORE_DEL_BASE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SCORE_DEL_BASE="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --score_del_base. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--score_del_base=*)
[ -n "$VIASH_PAR_SCORE_DEL_BASE" ] && ViashError Bad arguments for option \'--score_del_base=*\': \'$VIASH_PAR_SCORE_DEL_BASE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SCORE_DEL_BASE=$(ViashRemoveFlags "$1")
shift 1
;;
--score_ins_open)
[ -n "$VIASH_PAR_SCORE_INS_OPEN" ] && ViashError Bad arguments for option \'--score_ins_open\': \'$VIASH_PAR_SCORE_INS_OPEN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SCORE_INS_OPEN="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --score_ins_open. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--score_ins_open=*)
[ -n "$VIASH_PAR_SCORE_INS_OPEN" ] && ViashError Bad arguments for option \'--score_ins_open=*\': \'$VIASH_PAR_SCORE_INS_OPEN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SCORE_INS_OPEN=$(ViashRemoveFlags "$1")
shift 1
;;
--score_ins_base)
[ -n "$VIASH_PAR_SCORE_INS_BASE" ] && ViashError Bad arguments for option \'--score_ins_base\': \'$VIASH_PAR_SCORE_INS_BASE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SCORE_INS_BASE="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --score_ins_base. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--score_ins_base=*)
[ -n "$VIASH_PAR_SCORE_INS_BASE" ] && ViashError Bad arguments for option \'--score_ins_base=*\': \'$VIASH_PAR_SCORE_INS_BASE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SCORE_INS_BASE=$(ViashRemoveFlags "$1")
shift 1
;;
--score_stitch_sj_shift)
[ -n "$VIASH_PAR_SCORE_STITCH_SJ_SHIFT" ] && ViashError Bad arguments for option \'--score_stitch_sj_shift\': \'$VIASH_PAR_SCORE_STITCH_SJ_SHIFT\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SCORE_STITCH_SJ_SHIFT="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --score_stitch_sj_shift. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--score_stitch_sj_shift=*)
[ -n "$VIASH_PAR_SCORE_STITCH_SJ_SHIFT" ] && ViashError Bad arguments for option \'--score_stitch_sj_shift=*\': \'$VIASH_PAR_SCORE_STITCH_SJ_SHIFT\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SCORE_STITCH_SJ_SHIFT=$(ViashRemoveFlags "$1")
shift 1
;;
--seed_search_start_lmax)
[ -n "$VIASH_PAR_SEED_SEARCH_START_LMAX" ] && ViashError Bad arguments for option \'--seed_search_start_lmax\': \'$VIASH_PAR_SEED_SEARCH_START_LMAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SEED_SEARCH_START_LMAX="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --seed_search_start_lmax. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--seed_search_start_lmax=*)
[ -n "$VIASH_PAR_SEED_SEARCH_START_LMAX" ] && ViashError Bad arguments for option \'--seed_search_start_lmax=*\': \'$VIASH_PAR_SEED_SEARCH_START_LMAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SEED_SEARCH_START_LMAX=$(ViashRemoveFlags "$1")
shift 1
;;
--seed_search_start_lmax_over_lread)
[ -n "$VIASH_PAR_SEED_SEARCH_START_LMAX_OVER_LREAD" ] && ViashError Bad arguments for option \'--seed_search_start_lmax_over_lread\': \'$VIASH_PAR_SEED_SEARCH_START_LMAX_OVER_LREAD\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SEED_SEARCH_START_LMAX_OVER_LREAD="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --seed_search_start_lmax_over_lread. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--seed_search_start_lmax_over_lread=*)
[ -n "$VIASH_PAR_SEED_SEARCH_START_LMAX_OVER_LREAD" ] && ViashError Bad arguments for option \'--seed_search_start_lmax_over_lread=*\': \'$VIASH_PAR_SEED_SEARCH_START_LMAX_OVER_LREAD\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SEED_SEARCH_START_LMAX_OVER_LREAD=$(ViashRemoveFlags "$1")
shift 1
;;
--seed_search_lmax)
[ -n "$VIASH_PAR_SEED_SEARCH_LMAX" ] && ViashError Bad arguments for option \'--seed_search_lmax\': \'$VIASH_PAR_SEED_SEARCH_LMAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SEED_SEARCH_LMAX="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --seed_search_lmax. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--seed_search_lmax=*)
[ -n "$VIASH_PAR_SEED_SEARCH_LMAX" ] && ViashError Bad arguments for option \'--seed_search_lmax=*\': \'$VIASH_PAR_SEED_SEARCH_LMAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SEED_SEARCH_LMAX=$(ViashRemoveFlags "$1")
shift 1
;;
--seed_multimap_nmax)
[ -n "$VIASH_PAR_SEED_MULTIMAP_NMAX" ] && ViashError Bad arguments for option \'--seed_multimap_nmax\': \'$VIASH_PAR_SEED_MULTIMAP_NMAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SEED_MULTIMAP_NMAX="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --seed_multimap_nmax. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--seed_multimap_nmax=*)
[ -n "$VIASH_PAR_SEED_MULTIMAP_NMAX" ] && ViashError Bad arguments for option \'--seed_multimap_nmax=*\': \'$VIASH_PAR_SEED_MULTIMAP_NMAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SEED_MULTIMAP_NMAX=$(ViashRemoveFlags "$1")
shift 1
;;
--seed_per_read_nmax)
[ -n "$VIASH_PAR_SEED_PER_READ_NMAX" ] && ViashError Bad arguments for option \'--seed_per_read_nmax\': \'$VIASH_PAR_SEED_PER_READ_NMAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SEED_PER_READ_NMAX="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --seed_per_read_nmax. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--seed_per_read_nmax=*)
[ -n "$VIASH_PAR_SEED_PER_READ_NMAX" ] && ViashError Bad arguments for option \'--seed_per_read_nmax=*\': \'$VIASH_PAR_SEED_PER_READ_NMAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SEED_PER_READ_NMAX=$(ViashRemoveFlags "$1")
shift 1
;;
--seed_per_window_nmax)
[ -n "$VIASH_PAR_SEED_PER_WINDOW_NMAX" ] && ViashError Bad arguments for option \'--seed_per_window_nmax\': \'$VIASH_PAR_SEED_PER_WINDOW_NMAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SEED_PER_WINDOW_NMAX="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --seed_per_window_nmax. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--seed_per_window_nmax=*)
[ -n "$VIASH_PAR_SEED_PER_WINDOW_NMAX" ] && ViashError Bad arguments for option \'--seed_per_window_nmax=*\': \'$VIASH_PAR_SEED_PER_WINDOW_NMAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SEED_PER_WINDOW_NMAX=$(ViashRemoveFlags "$1")
shift 1
;;
--seed_none_loci_per_window)
[ -n "$VIASH_PAR_SEED_NONE_LOCI_PER_WINDOW" ] && ViashError Bad arguments for option \'--seed_none_loci_per_window\': \'$VIASH_PAR_SEED_NONE_LOCI_PER_WINDOW\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SEED_NONE_LOCI_PER_WINDOW="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --seed_none_loci_per_window. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--seed_none_loci_per_window=*)
[ -n "$VIASH_PAR_SEED_NONE_LOCI_PER_WINDOW" ] && ViashError Bad arguments for option \'--seed_none_loci_per_window=*\': \'$VIASH_PAR_SEED_NONE_LOCI_PER_WINDOW\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SEED_NONE_LOCI_PER_WINDOW=$(ViashRemoveFlags "$1")
shift 1
;;
--seed_split_min)
[ -n "$VIASH_PAR_SEED_SPLIT_MIN" ] && ViashError Bad arguments for option \'--seed_split_min\': \'$VIASH_PAR_SEED_SPLIT_MIN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SEED_SPLIT_MIN="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --seed_split_min. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--seed_split_min=*)
[ -n "$VIASH_PAR_SEED_SPLIT_MIN" ] && ViashError Bad arguments for option \'--seed_split_min=*\': \'$VIASH_PAR_SEED_SPLIT_MIN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SEED_SPLIT_MIN=$(ViashRemoveFlags "$1")
shift 1
;;
--seed_map_min)
[ -n "$VIASH_PAR_SEED_MAP_MIN" ] && ViashError Bad arguments for option \'--seed_map_min\': \'$VIASH_PAR_SEED_MAP_MIN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SEED_MAP_MIN="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --seed_map_min. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--seed_map_min=*)
[ -n "$VIASH_PAR_SEED_MAP_MIN" ] && ViashError Bad arguments for option \'--seed_map_min=*\': \'$VIASH_PAR_SEED_MAP_MIN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SEED_MAP_MIN=$(ViashRemoveFlags "$1")
shift 1
;;
--align_intron_min)
[ -n "$VIASH_PAR_ALIGN_INTRON_MIN" ] && ViashError Bad arguments for option \'--align_intron_min\': \'$VIASH_PAR_ALIGN_INTRON_MIN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_ALIGN_INTRON_MIN="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --align_intron_min. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--align_intron_min=*)
[ -n "$VIASH_PAR_ALIGN_INTRON_MIN" ] && ViashError Bad arguments for option \'--align_intron_min=*\': \'$VIASH_PAR_ALIGN_INTRON_MIN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_ALIGN_INTRON_MIN=$(ViashRemoveFlags "$1")
shift 1
;;
--align_intron_max)
[ -n "$VIASH_PAR_ALIGN_INTRON_MAX" ] && ViashError Bad arguments for option \'--align_intron_max\': \'$VIASH_PAR_ALIGN_INTRON_MAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_ALIGN_INTRON_MAX="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --align_intron_max. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--align_intron_max=*)
[ -n "$VIASH_PAR_ALIGN_INTRON_MAX" ] && ViashError Bad arguments for option \'--align_intron_max=*\': \'$VIASH_PAR_ALIGN_INTRON_MAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_ALIGN_INTRON_MAX=$(ViashRemoveFlags "$1")
shift 1
;;
--align_mates_gap_max)
[ -n "$VIASH_PAR_ALIGN_MATES_GAP_MAX" ] && ViashError Bad arguments for option \'--align_mates_gap_max\': \'$VIASH_PAR_ALIGN_MATES_GAP_MAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_ALIGN_MATES_GAP_MAX="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --align_mates_gap_max. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--align_mates_gap_max=*)
[ -n "$VIASH_PAR_ALIGN_MATES_GAP_MAX" ] && ViashError Bad arguments for option \'--align_mates_gap_max=*\': \'$VIASH_PAR_ALIGN_MATES_GAP_MAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_ALIGN_MATES_GAP_MAX=$(ViashRemoveFlags "$1")
shift 1
;;
--align_sj_overhang_min)
[ -n "$VIASH_PAR_ALIGN_SJ_OVERHANG_MIN" ] && ViashError Bad arguments for option \'--align_sj_overhang_min\': \'$VIASH_PAR_ALIGN_SJ_OVERHANG_MIN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_ALIGN_SJ_OVERHANG_MIN="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --align_sj_overhang_min. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--align_sj_overhang_min=*)
[ -n "$VIASH_PAR_ALIGN_SJ_OVERHANG_MIN" ] && ViashError Bad arguments for option \'--align_sj_overhang_min=*\': \'$VIASH_PAR_ALIGN_SJ_OVERHANG_MIN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_ALIGN_SJ_OVERHANG_MIN=$(ViashRemoveFlags "$1")
shift 1
;;
--align_sj_stitch_mismatch_nmax)
if [ -z "$VIASH_PAR_ALIGN_SJ_STITCH_MISMATCH_NMAX" ]; then
VIASH_PAR_ALIGN_SJ_STITCH_MISMATCH_NMAX="$2"
else
VIASH_PAR_ALIGN_SJ_STITCH_MISMATCH_NMAX="$VIASH_PAR_ALIGN_SJ_STITCH_MISMATCH_NMAX;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --align_sj_stitch_mismatch_nmax. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--align_sj_stitch_mismatch_nmax=*)
if [ -z "$VIASH_PAR_ALIGN_SJ_STITCH_MISMATCH_NMAX" ]; then
VIASH_PAR_ALIGN_SJ_STITCH_MISMATCH_NMAX=$(ViashRemoveFlags "$1")
else
VIASH_PAR_ALIGN_SJ_STITCH_MISMATCH_NMAX="$VIASH_PAR_ALIGN_SJ_STITCH_MISMATCH_NMAX;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--align_sjdb_overhang_min)
[ -n "$VIASH_PAR_ALIGN_SJDB_OVERHANG_MIN" ] && ViashError Bad arguments for option \'--align_sjdb_overhang_min\': \'$VIASH_PAR_ALIGN_SJDB_OVERHANG_MIN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_ALIGN_SJDB_OVERHANG_MIN="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --align_sjdb_overhang_min. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--align_sjdb_overhang_min=*)
[ -n "$VIASH_PAR_ALIGN_SJDB_OVERHANG_MIN" ] && ViashError Bad arguments for option \'--align_sjdb_overhang_min=*\': \'$VIASH_PAR_ALIGN_SJDB_OVERHANG_MIN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_ALIGN_SJDB_OVERHANG_MIN=$(ViashRemoveFlags "$1")
shift 1
;;
--align_spliced_mate_map_lmin)
[ -n "$VIASH_PAR_ALIGN_SPLICED_MATE_MAP_LMIN" ] && ViashError Bad arguments for option \'--align_spliced_mate_map_lmin\': \'$VIASH_PAR_ALIGN_SPLICED_MATE_MAP_LMIN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_ALIGN_SPLICED_MATE_MAP_LMIN="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --align_spliced_mate_map_lmin. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--align_spliced_mate_map_lmin=*)
[ -n "$VIASH_PAR_ALIGN_SPLICED_MATE_MAP_LMIN" ] && ViashError Bad arguments for option \'--align_spliced_mate_map_lmin=*\': \'$VIASH_PAR_ALIGN_SPLICED_MATE_MAP_LMIN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_ALIGN_SPLICED_MATE_MAP_LMIN=$(ViashRemoveFlags "$1")
shift 1
;;
--align_spliced_mate_map_lmin_over_lmate)
[ -n "$VIASH_PAR_ALIGN_SPLICED_MATE_MAP_LMIN_OVER_LMATE" ] && ViashError Bad arguments for option \'--align_spliced_mate_map_lmin_over_lmate\': \'$VIASH_PAR_ALIGN_SPLICED_MATE_MAP_LMIN_OVER_LMATE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_ALIGN_SPLICED_MATE_MAP_LMIN_OVER_LMATE="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --align_spliced_mate_map_lmin_over_lmate. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--align_spliced_mate_map_lmin_over_lmate=*)
[ -n "$VIASH_PAR_ALIGN_SPLICED_MATE_MAP_LMIN_OVER_LMATE" ] && ViashError Bad arguments for option \'--align_spliced_mate_map_lmin_over_lmate=*\': \'$VIASH_PAR_ALIGN_SPLICED_MATE_MAP_LMIN_OVER_LMATE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_ALIGN_SPLICED_MATE_MAP_LMIN_OVER_LMATE=$(ViashRemoveFlags "$1")
shift 1
;;
--align_windows_per_read_nmax)
[ -n "$VIASH_PAR_ALIGN_WINDOWS_PER_READ_NMAX" ] && ViashError Bad arguments for option \'--align_windows_per_read_nmax\': \'$VIASH_PAR_ALIGN_WINDOWS_PER_READ_NMAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_ALIGN_WINDOWS_PER_READ_NMAX="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --align_windows_per_read_nmax. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--align_windows_per_read_nmax=*)
[ -n "$VIASH_PAR_ALIGN_WINDOWS_PER_READ_NMAX" ] && ViashError Bad arguments for option \'--align_windows_per_read_nmax=*\': \'$VIASH_PAR_ALIGN_WINDOWS_PER_READ_NMAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_ALIGN_WINDOWS_PER_READ_NMAX=$(ViashRemoveFlags "$1")
shift 1
;;
--align_transcripts_per_window_nmax)
[ -n "$VIASH_PAR_ALIGN_TRANSCRIPTS_PER_WINDOW_NMAX" ] && ViashError Bad arguments for option \'--align_transcripts_per_window_nmax\': \'$VIASH_PAR_ALIGN_TRANSCRIPTS_PER_WINDOW_NMAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_ALIGN_TRANSCRIPTS_PER_WINDOW_NMAX="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --align_transcripts_per_window_nmax. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--align_transcripts_per_window_nmax=*)
[ -n "$VIASH_PAR_ALIGN_TRANSCRIPTS_PER_WINDOW_NMAX" ] && ViashError Bad arguments for option \'--align_transcripts_per_window_nmax=*\': \'$VIASH_PAR_ALIGN_TRANSCRIPTS_PER_WINDOW_NMAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_ALIGN_TRANSCRIPTS_PER_WINDOW_NMAX=$(ViashRemoveFlags "$1")
shift 1
;;
--align_transcripts_per_read_nmax)
[ -n "$VIASH_PAR_ALIGN_TRANSCRIPTS_PER_READ_NMAX" ] && ViashError Bad arguments for option \'--align_transcripts_per_read_nmax\': \'$VIASH_PAR_ALIGN_TRANSCRIPTS_PER_READ_NMAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_ALIGN_TRANSCRIPTS_PER_READ_NMAX="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --align_transcripts_per_read_nmax. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--align_transcripts_per_read_nmax=*)
[ -n "$VIASH_PAR_ALIGN_TRANSCRIPTS_PER_READ_NMAX" ] && ViashError Bad arguments for option \'--align_transcripts_per_read_nmax=*\': \'$VIASH_PAR_ALIGN_TRANSCRIPTS_PER_READ_NMAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_ALIGN_TRANSCRIPTS_PER_READ_NMAX=$(ViashRemoveFlags "$1")
shift 1
;;
--align_ends_type)
[ -n "$VIASH_PAR_ALIGN_ENDS_TYPE" ] && ViashError Bad arguments for option \'--align_ends_type\': \'$VIASH_PAR_ALIGN_ENDS_TYPE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_ALIGN_ENDS_TYPE="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --align_ends_type. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--align_ends_type=*)
[ -n "$VIASH_PAR_ALIGN_ENDS_TYPE" ] && ViashError Bad arguments for option \'--align_ends_type=*\': \'$VIASH_PAR_ALIGN_ENDS_TYPE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_ALIGN_ENDS_TYPE=$(ViashRemoveFlags "$1")
shift 1
;;
--align_ends_protrude)
[ -n "$VIASH_PAR_ALIGN_ENDS_PROTRUDE" ] && ViashError Bad arguments for option \'--align_ends_protrude\': \'$VIASH_PAR_ALIGN_ENDS_PROTRUDE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_ALIGN_ENDS_PROTRUDE="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --align_ends_protrude. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--align_ends_protrude=*)
[ -n "$VIASH_PAR_ALIGN_ENDS_PROTRUDE" ] && ViashError Bad arguments for option \'--align_ends_protrude=*\': \'$VIASH_PAR_ALIGN_ENDS_PROTRUDE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_ALIGN_ENDS_PROTRUDE=$(ViashRemoveFlags "$1")
shift 1
;;
--align_soft_clip_at_reference_ends)
[ -n "$VIASH_PAR_ALIGN_SOFT_CLIP_AT_REFERENCE_ENDS" ] && ViashError Bad arguments for option \'--align_soft_clip_at_reference_ends\': \'$VIASH_PAR_ALIGN_SOFT_CLIP_AT_REFERENCE_ENDS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_ALIGN_SOFT_CLIP_AT_REFERENCE_ENDS="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --align_soft_clip_at_reference_ends. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--align_soft_clip_at_reference_ends=*)
[ -n "$VIASH_PAR_ALIGN_SOFT_CLIP_AT_REFERENCE_ENDS" ] && ViashError Bad arguments for option \'--align_soft_clip_at_reference_ends=*\': \'$VIASH_PAR_ALIGN_SOFT_CLIP_AT_REFERENCE_ENDS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_ALIGN_SOFT_CLIP_AT_REFERENCE_ENDS=$(ViashRemoveFlags "$1")
shift 1
;;
--align_insertion_flush)
[ -n "$VIASH_PAR_ALIGN_INSERTION_FLUSH" ] && ViashError Bad arguments for option \'--align_insertion_flush\': \'$VIASH_PAR_ALIGN_INSERTION_FLUSH\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_ALIGN_INSERTION_FLUSH="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --align_insertion_flush. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--align_insertion_flush=*)
[ -n "$VIASH_PAR_ALIGN_INSERTION_FLUSH" ] && ViashError Bad arguments for option \'--align_insertion_flush=*\': \'$VIASH_PAR_ALIGN_INSERTION_FLUSH\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_ALIGN_INSERTION_FLUSH=$(ViashRemoveFlags "$1")
shift 1
;;
--pe_overlap_nbases_min)
[ -n "$VIASH_PAR_PE_OVERLAP_NBASES_MIN" ] && ViashError Bad arguments for option \'--pe_overlap_nbases_min\': \'$VIASH_PAR_PE_OVERLAP_NBASES_MIN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_PE_OVERLAP_NBASES_MIN="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --pe_overlap_nbases_min. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--pe_overlap_nbases_min=*)
[ -n "$VIASH_PAR_PE_OVERLAP_NBASES_MIN" ] && ViashError Bad arguments for option \'--pe_overlap_nbases_min=*\': \'$VIASH_PAR_PE_OVERLAP_NBASES_MIN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_PE_OVERLAP_NBASES_MIN=$(ViashRemoveFlags "$1")
shift 1
;;
--pe_overlap_mm_p)
[ -n "$VIASH_PAR_PE_OVERLAP_MM_P" ] && ViashError Bad arguments for option \'--pe_overlap_mm_p\': \'$VIASH_PAR_PE_OVERLAP_MM_P\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_PE_OVERLAP_MM_P="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --pe_overlap_mm_p. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--pe_overlap_mm_p=*)
[ -n "$VIASH_PAR_PE_OVERLAP_MM_P" ] && ViashError Bad arguments for option \'--pe_overlap_mm_p=*\': \'$VIASH_PAR_PE_OVERLAP_MM_P\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_PE_OVERLAP_MM_P=$(ViashRemoveFlags "$1")
shift 1
;;
--win_anchor_multimap_nmax)
[ -n "$VIASH_PAR_WIN_ANCHOR_MULTIMAP_NMAX" ] && ViashError Bad arguments for option \'--win_anchor_multimap_nmax\': \'$VIASH_PAR_WIN_ANCHOR_MULTIMAP_NMAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_WIN_ANCHOR_MULTIMAP_NMAX="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --win_anchor_multimap_nmax. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--win_anchor_multimap_nmax=*)
[ -n "$VIASH_PAR_WIN_ANCHOR_MULTIMAP_NMAX" ] && ViashError Bad arguments for option \'--win_anchor_multimap_nmax=*\': \'$VIASH_PAR_WIN_ANCHOR_MULTIMAP_NMAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_WIN_ANCHOR_MULTIMAP_NMAX=$(ViashRemoveFlags "$1")
shift 1
;;
--win_bin_nbits)
[ -n "$VIASH_PAR_WIN_BIN_NBITS" ] && ViashError Bad arguments for option \'--win_bin_nbits\': \'$VIASH_PAR_WIN_BIN_NBITS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_WIN_BIN_NBITS="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --win_bin_nbits. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--win_bin_nbits=*)
[ -n "$VIASH_PAR_WIN_BIN_NBITS" ] && ViashError Bad arguments for option \'--win_bin_nbits=*\': \'$VIASH_PAR_WIN_BIN_NBITS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_WIN_BIN_NBITS=$(ViashRemoveFlags "$1")
shift 1
;;
--win_anchor_dist_nbins)
[ -n "$VIASH_PAR_WIN_ANCHOR_DIST_NBINS" ] && ViashError Bad arguments for option \'--win_anchor_dist_nbins\': \'$VIASH_PAR_WIN_ANCHOR_DIST_NBINS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_WIN_ANCHOR_DIST_NBINS="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --win_anchor_dist_nbins. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--win_anchor_dist_nbins=*)
[ -n "$VIASH_PAR_WIN_ANCHOR_DIST_NBINS" ] && ViashError Bad arguments for option \'--win_anchor_dist_nbins=*\': \'$VIASH_PAR_WIN_ANCHOR_DIST_NBINS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_WIN_ANCHOR_DIST_NBINS=$(ViashRemoveFlags "$1")
shift 1
;;
--win_flank_nbins)
[ -n "$VIASH_PAR_WIN_FLANK_NBINS" ] && ViashError Bad arguments for option \'--win_flank_nbins\': \'$VIASH_PAR_WIN_FLANK_NBINS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_WIN_FLANK_NBINS="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --win_flank_nbins. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--win_flank_nbins=*)
[ -n "$VIASH_PAR_WIN_FLANK_NBINS" ] && ViashError Bad arguments for option \'--win_flank_nbins=*\': \'$VIASH_PAR_WIN_FLANK_NBINS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_WIN_FLANK_NBINS=$(ViashRemoveFlags "$1")
shift 1
;;
--win_read_coverage_relative_min)
[ -n "$VIASH_PAR_WIN_READ_COVERAGE_RELATIVE_MIN" ] && ViashError Bad arguments for option \'--win_read_coverage_relative_min\': \'$VIASH_PAR_WIN_READ_COVERAGE_RELATIVE_MIN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_WIN_READ_COVERAGE_RELATIVE_MIN="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --win_read_coverage_relative_min. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--win_read_coverage_relative_min=*)
[ -n "$VIASH_PAR_WIN_READ_COVERAGE_RELATIVE_MIN" ] && ViashError Bad arguments for option \'--win_read_coverage_relative_min=*\': \'$VIASH_PAR_WIN_READ_COVERAGE_RELATIVE_MIN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_WIN_READ_COVERAGE_RELATIVE_MIN=$(ViashRemoveFlags "$1")
shift 1
;;
--win_read_coverage_bases_min)
[ -n "$VIASH_PAR_WIN_READ_COVERAGE_BASES_MIN" ] && ViashError Bad arguments for option \'--win_read_coverage_bases_min\': \'$VIASH_PAR_WIN_READ_COVERAGE_BASES_MIN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_WIN_READ_COVERAGE_BASES_MIN="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --win_read_coverage_bases_min. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--win_read_coverage_bases_min=*)
[ -n "$VIASH_PAR_WIN_READ_COVERAGE_BASES_MIN" ] && ViashError Bad arguments for option \'--win_read_coverage_bases_min=*\': \'$VIASH_PAR_WIN_READ_COVERAGE_BASES_MIN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_WIN_READ_COVERAGE_BASES_MIN=$(ViashRemoveFlags "$1")
shift 1
;;
--chim_out_type)
if [ -z "$VIASH_PAR_CHIM_OUT_TYPE" ]; then
VIASH_PAR_CHIM_OUT_TYPE="$2"
else
VIASH_PAR_CHIM_OUT_TYPE="$VIASH_PAR_CHIM_OUT_TYPE;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --chim_out_type. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--chim_out_type=*)
if [ -z "$VIASH_PAR_CHIM_OUT_TYPE" ]; then
VIASH_PAR_CHIM_OUT_TYPE=$(ViashRemoveFlags "$1")
else
VIASH_PAR_CHIM_OUT_TYPE="$VIASH_PAR_CHIM_OUT_TYPE;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--chim_segment_min)
[ -n "$VIASH_PAR_CHIM_SEGMENT_MIN" ] && ViashError Bad arguments for option \'--chim_segment_min\': \'$VIASH_PAR_CHIM_SEGMENT_MIN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_CHIM_SEGMENT_MIN="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --chim_segment_min. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--chim_segment_min=*)
[ -n "$VIASH_PAR_CHIM_SEGMENT_MIN" ] && ViashError Bad arguments for option \'--chim_segment_min=*\': \'$VIASH_PAR_CHIM_SEGMENT_MIN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_CHIM_SEGMENT_MIN=$(ViashRemoveFlags "$1")
shift 1
;;
--chim_score_min)
[ -n "$VIASH_PAR_CHIM_SCORE_MIN" ] && ViashError Bad arguments for option \'--chim_score_min\': \'$VIASH_PAR_CHIM_SCORE_MIN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_CHIM_SCORE_MIN="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --chim_score_min. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--chim_score_min=*)
[ -n "$VIASH_PAR_CHIM_SCORE_MIN" ] && ViashError Bad arguments for option \'--chim_score_min=*\': \'$VIASH_PAR_CHIM_SCORE_MIN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_CHIM_SCORE_MIN=$(ViashRemoveFlags "$1")
shift 1
;;
--chim_score_drop_max)
[ -n "$VIASH_PAR_CHIM_SCORE_DROP_MAX" ] && ViashError Bad arguments for option \'--chim_score_drop_max\': \'$VIASH_PAR_CHIM_SCORE_DROP_MAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_CHIM_SCORE_DROP_MAX="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --chim_score_drop_max. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--chim_score_drop_max=*)
[ -n "$VIASH_PAR_CHIM_SCORE_DROP_MAX" ] && ViashError Bad arguments for option \'--chim_score_drop_max=*\': \'$VIASH_PAR_CHIM_SCORE_DROP_MAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_CHIM_SCORE_DROP_MAX=$(ViashRemoveFlags "$1")
shift 1
;;
--chim_score_separation)
[ -n "$VIASH_PAR_CHIM_SCORE_SEPARATION" ] && ViashError Bad arguments for option \'--chim_score_separation\': \'$VIASH_PAR_CHIM_SCORE_SEPARATION\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_CHIM_SCORE_SEPARATION="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --chim_score_separation. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--chim_score_separation=*)
[ -n "$VIASH_PAR_CHIM_SCORE_SEPARATION" ] && ViashError Bad arguments for option \'--chim_score_separation=*\': \'$VIASH_PAR_CHIM_SCORE_SEPARATION\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_CHIM_SCORE_SEPARATION=$(ViashRemoveFlags "$1")
shift 1
;;
--chim_score_junction_non_gtag)
[ -n "$VIASH_PAR_CHIM_SCORE_JUNCTION_NON_GTAG" ] && ViashError Bad arguments for option \'--chim_score_junction_non_gtag\': \'$VIASH_PAR_CHIM_SCORE_JUNCTION_NON_GTAG\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_CHIM_SCORE_JUNCTION_NON_GTAG="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --chim_score_junction_non_gtag. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--chim_score_junction_non_gtag=*)
[ -n "$VIASH_PAR_CHIM_SCORE_JUNCTION_NON_GTAG" ] && ViashError Bad arguments for option \'--chim_score_junction_non_gtag=*\': \'$VIASH_PAR_CHIM_SCORE_JUNCTION_NON_GTAG\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_CHIM_SCORE_JUNCTION_NON_GTAG=$(ViashRemoveFlags "$1")
shift 1
;;
--chim_junction_overhang_min)
[ -n "$VIASH_PAR_CHIM_JUNCTION_OVERHANG_MIN" ] && ViashError Bad arguments for option \'--chim_junction_overhang_min\': \'$VIASH_PAR_CHIM_JUNCTION_OVERHANG_MIN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_CHIM_JUNCTION_OVERHANG_MIN="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --chim_junction_overhang_min. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--chim_junction_overhang_min=*)
[ -n "$VIASH_PAR_CHIM_JUNCTION_OVERHANG_MIN" ] && ViashError Bad arguments for option \'--chim_junction_overhang_min=*\': \'$VIASH_PAR_CHIM_JUNCTION_OVERHANG_MIN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_CHIM_JUNCTION_OVERHANG_MIN=$(ViashRemoveFlags "$1")
shift 1
;;
--chim_segment_read_gap_max)
[ -n "$VIASH_PAR_CHIM_SEGMENT_READ_GAP_MAX" ] && ViashError Bad arguments for option \'--chim_segment_read_gap_max\': \'$VIASH_PAR_CHIM_SEGMENT_READ_GAP_MAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_CHIM_SEGMENT_READ_GAP_MAX="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --chim_segment_read_gap_max. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--chim_segment_read_gap_max=*)
[ -n "$VIASH_PAR_CHIM_SEGMENT_READ_GAP_MAX" ] && ViashError Bad arguments for option \'--chim_segment_read_gap_max=*\': \'$VIASH_PAR_CHIM_SEGMENT_READ_GAP_MAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_CHIM_SEGMENT_READ_GAP_MAX=$(ViashRemoveFlags "$1")
shift 1
;;
--chim_filter)
if [ -z "$VIASH_PAR_CHIM_FILTER" ]; then
VIASH_PAR_CHIM_FILTER="$2"
else
VIASH_PAR_CHIM_FILTER="$VIASH_PAR_CHIM_FILTER;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --chim_filter. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--chim_filter=*)
if [ -z "$VIASH_PAR_CHIM_FILTER" ]; then
VIASH_PAR_CHIM_FILTER=$(ViashRemoveFlags "$1")
else
VIASH_PAR_CHIM_FILTER="$VIASH_PAR_CHIM_FILTER;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--chim_main_segment_mult_nmax)
[ -n "$VIASH_PAR_CHIM_MAIN_SEGMENT_MULT_NMAX" ] && ViashError Bad arguments for option \'--chim_main_segment_mult_nmax\': \'$VIASH_PAR_CHIM_MAIN_SEGMENT_MULT_NMAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_CHIM_MAIN_SEGMENT_MULT_NMAX="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --chim_main_segment_mult_nmax. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--chim_main_segment_mult_nmax=*)
[ -n "$VIASH_PAR_CHIM_MAIN_SEGMENT_MULT_NMAX" ] && ViashError Bad arguments for option \'--chim_main_segment_mult_nmax=*\': \'$VIASH_PAR_CHIM_MAIN_SEGMENT_MULT_NMAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_CHIM_MAIN_SEGMENT_MULT_NMAX=$(ViashRemoveFlags "$1")
shift 1
;;
--chim_multimap_nmax)
[ -n "$VIASH_PAR_CHIM_MULTIMAP_NMAX" ] && ViashError Bad arguments for option \'--chim_multimap_nmax\': \'$VIASH_PAR_CHIM_MULTIMAP_NMAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_CHIM_MULTIMAP_NMAX="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --chim_multimap_nmax. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--chim_multimap_nmax=*)
[ -n "$VIASH_PAR_CHIM_MULTIMAP_NMAX" ] && ViashError Bad arguments for option \'--chim_multimap_nmax=*\': \'$VIASH_PAR_CHIM_MULTIMAP_NMAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_CHIM_MULTIMAP_NMAX=$(ViashRemoveFlags "$1")
shift 1
;;
--chim_multimap_score_range)
[ -n "$VIASH_PAR_CHIM_MULTIMAP_SCORE_RANGE" ] && ViashError Bad arguments for option \'--chim_multimap_score_range\': \'$VIASH_PAR_CHIM_MULTIMAP_SCORE_RANGE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_CHIM_MULTIMAP_SCORE_RANGE="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --chim_multimap_score_range. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--chim_multimap_score_range=*)
[ -n "$VIASH_PAR_CHIM_MULTIMAP_SCORE_RANGE" ] && ViashError Bad arguments for option \'--chim_multimap_score_range=*\': \'$VIASH_PAR_CHIM_MULTIMAP_SCORE_RANGE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_CHIM_MULTIMAP_SCORE_RANGE=$(ViashRemoveFlags "$1")
shift 1
;;
--chim_nonchim_score_drop_min)
[ -n "$VIASH_PAR_CHIM_NONCHIM_SCORE_DROP_MIN" ] && ViashError Bad arguments for option \'--chim_nonchim_score_drop_min\': \'$VIASH_PAR_CHIM_NONCHIM_SCORE_DROP_MIN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_CHIM_NONCHIM_SCORE_DROP_MIN="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --chim_nonchim_score_drop_min. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--chim_nonchim_score_drop_min=*)
[ -n "$VIASH_PAR_CHIM_NONCHIM_SCORE_DROP_MIN" ] && ViashError Bad arguments for option \'--chim_nonchim_score_drop_min=*\': \'$VIASH_PAR_CHIM_NONCHIM_SCORE_DROP_MIN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_CHIM_NONCHIM_SCORE_DROP_MIN=$(ViashRemoveFlags "$1")
shift 1
;;
--chim_out_junction_format)
[ -n "$VIASH_PAR_CHIM_OUT_JUNCTION_FORMAT" ] && ViashError Bad arguments for option \'--chim_out_junction_format\': \'$VIASH_PAR_CHIM_OUT_JUNCTION_FORMAT\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_CHIM_OUT_JUNCTION_FORMAT="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --chim_out_junction_format. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--chim_out_junction_format=*)
[ -n "$VIASH_PAR_CHIM_OUT_JUNCTION_FORMAT" ] && ViashError Bad arguments for option \'--chim_out_junction_format=*\': \'$VIASH_PAR_CHIM_OUT_JUNCTION_FORMAT\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_CHIM_OUT_JUNCTION_FORMAT=$(ViashRemoveFlags "$1")
shift 1
;;
--quant_mode)
if [ -z "$VIASH_PAR_QUANT_MODE" ]; then
VIASH_PAR_QUANT_MODE="$2"
else
VIASH_PAR_QUANT_MODE="$VIASH_PAR_QUANT_MODE;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --quant_mode. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--quant_mode=*)
if [ -z "$VIASH_PAR_QUANT_MODE" ]; then
VIASH_PAR_QUANT_MODE=$(ViashRemoveFlags "$1")
else
VIASH_PAR_QUANT_MODE="$VIASH_PAR_QUANT_MODE;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--quant_transcriptome_bam_compression)
[ -n "$VIASH_PAR_QUANT_TRANSCRIPTOME_BAM_COMPRESSION" ] && ViashError Bad arguments for option \'--quant_transcriptome_bam_compression\': \'$VIASH_PAR_QUANT_TRANSCRIPTOME_BAM_COMPRESSION\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_QUANT_TRANSCRIPTOME_BAM_COMPRESSION="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --quant_transcriptome_bam_compression. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--quant_transcriptome_bam_compression=*)
[ -n "$VIASH_PAR_QUANT_TRANSCRIPTOME_BAM_COMPRESSION" ] && ViashError Bad arguments for option \'--quant_transcriptome_bam_compression=*\': \'$VIASH_PAR_QUANT_TRANSCRIPTOME_BAM_COMPRESSION\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_QUANT_TRANSCRIPTOME_BAM_COMPRESSION=$(ViashRemoveFlags "$1")
shift 1
;;
--quant_transcriptome_sam_output)
[ -n "$VIASH_PAR_QUANT_TRANSCRIPTOME_SAM_OUTPUT" ] && ViashError Bad arguments for option \'--quant_transcriptome_sam_output\': \'$VIASH_PAR_QUANT_TRANSCRIPTOME_SAM_OUTPUT\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_QUANT_TRANSCRIPTOME_SAM_OUTPUT="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --quant_transcriptome_sam_output. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--quant_transcriptome_sam_output=*)
[ -n "$VIASH_PAR_QUANT_TRANSCRIPTOME_SAM_OUTPUT" ] && ViashError Bad arguments for option \'--quant_transcriptome_sam_output=*\': \'$VIASH_PAR_QUANT_TRANSCRIPTOME_SAM_OUTPUT\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_QUANT_TRANSCRIPTOME_SAM_OUTPUT=$(ViashRemoveFlags "$1")
shift 1
;;
--twopass_mode)
[ -n "$VIASH_PAR_TWOPASS_MODE" ] && ViashError Bad arguments for option \'--twopass_mode\': \'$VIASH_PAR_TWOPASS_MODE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_TWOPASS_MODE="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --twopass_mode. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--twopass_mode=*)
[ -n "$VIASH_PAR_TWOPASS_MODE" ] && ViashError Bad arguments for option \'--twopass_mode=*\': \'$VIASH_PAR_TWOPASS_MODE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_TWOPASS_MODE=$(ViashRemoveFlags "$1")
shift 1
;;
--twopass1reads_n)
[ -n "$VIASH_PAR_TWOPASS1READS_N" ] && ViashError Bad arguments for option \'--twopass1reads_n\': \'$VIASH_PAR_TWOPASS1READS_N\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_TWOPASS1READS_N="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --twopass1reads_n. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--twopass1reads_n=*)
[ -n "$VIASH_PAR_TWOPASS1READS_N" ] && ViashError Bad arguments for option \'--twopass1reads_n=*\': \'$VIASH_PAR_TWOPASS1READS_N\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_TWOPASS1READS_N=$(ViashRemoveFlags "$1")
shift 1
;;
--wasp_output_mode)
[ -n "$VIASH_PAR_WASP_OUTPUT_MODE" ] && ViashError Bad arguments for option \'--wasp_output_mode\': \'$VIASH_PAR_WASP_OUTPUT_MODE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_WASP_OUTPUT_MODE="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --wasp_output_mode. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--wasp_output_mode=*)
[ -n "$VIASH_PAR_WASP_OUTPUT_MODE" ] && ViashError Bad arguments for option \'--wasp_output_mode=*\': \'$VIASH_PAR_WASP_OUTPUT_MODE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_WASP_OUTPUT_MODE=$(ViashRemoveFlags "$1")
shift 1
;;
--solo_type)
if [ -z "$VIASH_PAR_SOLO_TYPE" ]; then
VIASH_PAR_SOLO_TYPE="$2"
else
VIASH_PAR_SOLO_TYPE="$VIASH_PAR_SOLO_TYPE;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --solo_type. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--solo_type=*)
if [ -z "$VIASH_PAR_SOLO_TYPE" ]; then
VIASH_PAR_SOLO_TYPE=$(ViashRemoveFlags "$1")
else
VIASH_PAR_SOLO_TYPE="$VIASH_PAR_SOLO_TYPE;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--solo_cb_type)
[ -n "$VIASH_PAR_SOLO_CB_TYPE" ] && ViashError Bad arguments for option \'--solo_cb_type\': \'$VIASH_PAR_SOLO_CB_TYPE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SOLO_CB_TYPE="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --solo_cb_type. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--solo_cb_type=*)
[ -n "$VIASH_PAR_SOLO_CB_TYPE" ] && ViashError Bad arguments for option \'--solo_cb_type=*\': \'$VIASH_PAR_SOLO_CB_TYPE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SOLO_CB_TYPE=$(ViashRemoveFlags "$1")
shift 1
;;
--solo_cb_whitelist)
if [ -z "$VIASH_PAR_SOLO_CB_WHITELIST" ]; then
VIASH_PAR_SOLO_CB_WHITELIST="$2"
else
VIASH_PAR_SOLO_CB_WHITELIST="$VIASH_PAR_SOLO_CB_WHITELIST;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --solo_cb_whitelist. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--solo_cb_whitelist=*)
if [ -z "$VIASH_PAR_SOLO_CB_WHITELIST" ]; then
VIASH_PAR_SOLO_CB_WHITELIST=$(ViashRemoveFlags "$1")
else
VIASH_PAR_SOLO_CB_WHITELIST="$VIASH_PAR_SOLO_CB_WHITELIST;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--solo_cb_start)
[ -n "$VIASH_PAR_SOLO_CB_START" ] && ViashError Bad arguments for option \'--solo_cb_start\': \'$VIASH_PAR_SOLO_CB_START\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SOLO_CB_START="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --solo_cb_start. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--solo_cb_start=*)
[ -n "$VIASH_PAR_SOLO_CB_START" ] && ViashError Bad arguments for option \'--solo_cb_start=*\': \'$VIASH_PAR_SOLO_CB_START\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SOLO_CB_START=$(ViashRemoveFlags "$1")
shift 1
;;
--solo_cb_len)
[ -n "$VIASH_PAR_SOLO_CB_LEN" ] && ViashError Bad arguments for option \'--solo_cb_len\': \'$VIASH_PAR_SOLO_CB_LEN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SOLO_CB_LEN="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --solo_cb_len. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--solo_cb_len=*)
[ -n "$VIASH_PAR_SOLO_CB_LEN" ] && ViashError Bad arguments for option \'--solo_cb_len=*\': \'$VIASH_PAR_SOLO_CB_LEN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SOLO_CB_LEN=$(ViashRemoveFlags "$1")
shift 1
;;
--solo_umi_start)
[ -n "$VIASH_PAR_SOLO_UMI_START" ] && ViashError Bad arguments for option \'--solo_umi_start\': \'$VIASH_PAR_SOLO_UMI_START\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SOLO_UMI_START="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --solo_umi_start. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--solo_umi_start=*)
[ -n "$VIASH_PAR_SOLO_UMI_START" ] && ViashError Bad arguments for option \'--solo_umi_start=*\': \'$VIASH_PAR_SOLO_UMI_START\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SOLO_UMI_START=$(ViashRemoveFlags "$1")
shift 1
;;
--solo_umi_len)
[ -n "$VIASH_PAR_SOLO_UMI_LEN" ] && ViashError Bad arguments for option \'--solo_umi_len\': \'$VIASH_PAR_SOLO_UMI_LEN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SOLO_UMI_LEN="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --solo_umi_len. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--solo_umi_len=*)
[ -n "$VIASH_PAR_SOLO_UMI_LEN" ] && ViashError Bad arguments for option \'--solo_umi_len=*\': \'$VIASH_PAR_SOLO_UMI_LEN\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SOLO_UMI_LEN=$(ViashRemoveFlags "$1")
shift 1
;;
--solo_barcode_read_length)
[ -n "$VIASH_PAR_SOLO_BARCODE_READ_LENGTH" ] && ViashError Bad arguments for option \'--solo_barcode_read_length\': \'$VIASH_PAR_SOLO_BARCODE_READ_LENGTH\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SOLO_BARCODE_READ_LENGTH="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --solo_barcode_read_length. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--solo_barcode_read_length=*)
[ -n "$VIASH_PAR_SOLO_BARCODE_READ_LENGTH" ] && ViashError Bad arguments for option \'--solo_barcode_read_length=*\': \'$VIASH_PAR_SOLO_BARCODE_READ_LENGTH\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SOLO_BARCODE_READ_LENGTH=$(ViashRemoveFlags "$1")
shift 1
;;
--solo_barcode_mate)
[ -n "$VIASH_PAR_SOLO_BARCODE_MATE" ] && ViashError Bad arguments for option \'--solo_barcode_mate\': \'$VIASH_PAR_SOLO_BARCODE_MATE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SOLO_BARCODE_MATE="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --solo_barcode_mate. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--solo_barcode_mate=*)
[ -n "$VIASH_PAR_SOLO_BARCODE_MATE" ] && ViashError Bad arguments for option \'--solo_barcode_mate=*\': \'$VIASH_PAR_SOLO_BARCODE_MATE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SOLO_BARCODE_MATE=$(ViashRemoveFlags "$1")
shift 1
;;
--solo_cb_position)
if [ -z "$VIASH_PAR_SOLO_CB_POSITION" ]; then
VIASH_PAR_SOLO_CB_POSITION="$2"
else
VIASH_PAR_SOLO_CB_POSITION="$VIASH_PAR_SOLO_CB_POSITION;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --solo_cb_position. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--solo_cb_position=*)
if [ -z "$VIASH_PAR_SOLO_CB_POSITION" ]; then
VIASH_PAR_SOLO_CB_POSITION=$(ViashRemoveFlags "$1")
else
VIASH_PAR_SOLO_CB_POSITION="$VIASH_PAR_SOLO_CB_POSITION;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--solo_umi_position)
[ -n "$VIASH_PAR_SOLO_UMI_POSITION" ] && ViashError Bad arguments for option \'--solo_umi_position\': \'$VIASH_PAR_SOLO_UMI_POSITION\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SOLO_UMI_POSITION="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --solo_umi_position. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--solo_umi_position=*)
[ -n "$VIASH_PAR_SOLO_UMI_POSITION" ] && ViashError Bad arguments for option \'--solo_umi_position=*\': \'$VIASH_PAR_SOLO_UMI_POSITION\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SOLO_UMI_POSITION=$(ViashRemoveFlags "$1")
shift 1
;;
--solo_adapter_sequence)
[ -n "$VIASH_PAR_SOLO_ADAPTER_SEQUENCE" ] && ViashError Bad arguments for option \'--solo_adapter_sequence\': \'$VIASH_PAR_SOLO_ADAPTER_SEQUENCE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SOLO_ADAPTER_SEQUENCE="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --solo_adapter_sequence. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--solo_adapter_sequence=*)
[ -n "$VIASH_PAR_SOLO_ADAPTER_SEQUENCE" ] && ViashError Bad arguments for option \'--solo_adapter_sequence=*\': \'$VIASH_PAR_SOLO_ADAPTER_SEQUENCE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SOLO_ADAPTER_SEQUENCE=$(ViashRemoveFlags "$1")
shift 1
;;
--solo_adapter_mismatches_nmax)
[ -n "$VIASH_PAR_SOLO_ADAPTER_MISMATCHES_NMAX" ] && ViashError Bad arguments for option \'--solo_adapter_mismatches_nmax\': \'$VIASH_PAR_SOLO_ADAPTER_MISMATCHES_NMAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SOLO_ADAPTER_MISMATCHES_NMAX="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --solo_adapter_mismatches_nmax. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--solo_adapter_mismatches_nmax=*)
[ -n "$VIASH_PAR_SOLO_ADAPTER_MISMATCHES_NMAX" ] && ViashError Bad arguments for option \'--solo_adapter_mismatches_nmax=*\': \'$VIASH_PAR_SOLO_ADAPTER_MISMATCHES_NMAX\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SOLO_ADAPTER_MISMATCHES_NMAX=$(ViashRemoveFlags "$1")
shift 1
;;
--solo_cb_match_wl_type)
[ -n "$VIASH_PAR_SOLO_CB_MATCH_WL_TYPE" ] && ViashError Bad arguments for option \'--solo_cb_match_wl_type\': \'$VIASH_PAR_SOLO_CB_MATCH_WL_TYPE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SOLO_CB_MATCH_WL_TYPE="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --solo_cb_match_wl_type. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--solo_cb_match_wl_type=*)
[ -n "$VIASH_PAR_SOLO_CB_MATCH_WL_TYPE" ] && ViashError Bad arguments for option \'--solo_cb_match_wl_type=*\': \'$VIASH_PAR_SOLO_CB_MATCH_WL_TYPE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SOLO_CB_MATCH_WL_TYPE=$(ViashRemoveFlags "$1")
shift 1
;;
--solo_input_sam_attr_barcode_seq)
if [ -z "$VIASH_PAR_SOLO_INPUT_SAM_ATTR_BARCODE_SEQ" ]; then
VIASH_PAR_SOLO_INPUT_SAM_ATTR_BARCODE_SEQ="$2"
else
VIASH_PAR_SOLO_INPUT_SAM_ATTR_BARCODE_SEQ="$VIASH_PAR_SOLO_INPUT_SAM_ATTR_BARCODE_SEQ;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --solo_input_sam_attr_barcode_seq. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--solo_input_sam_attr_barcode_seq=*)
if [ -z "$VIASH_PAR_SOLO_INPUT_SAM_ATTR_BARCODE_SEQ" ]; then
VIASH_PAR_SOLO_INPUT_SAM_ATTR_BARCODE_SEQ=$(ViashRemoveFlags "$1")
else
VIASH_PAR_SOLO_INPUT_SAM_ATTR_BARCODE_SEQ="$VIASH_PAR_SOLO_INPUT_SAM_ATTR_BARCODE_SEQ;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--solo_input_sam_attr_barcode_qual)
if [ -z "$VIASH_PAR_SOLO_INPUT_SAM_ATTR_BARCODE_QUAL" ]; then
VIASH_PAR_SOLO_INPUT_SAM_ATTR_BARCODE_QUAL="$2"
else
VIASH_PAR_SOLO_INPUT_SAM_ATTR_BARCODE_QUAL="$VIASH_PAR_SOLO_INPUT_SAM_ATTR_BARCODE_QUAL;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --solo_input_sam_attr_barcode_qual. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--solo_input_sam_attr_barcode_qual=*)
if [ -z "$VIASH_PAR_SOLO_INPUT_SAM_ATTR_BARCODE_QUAL" ]; then
VIASH_PAR_SOLO_INPUT_SAM_ATTR_BARCODE_QUAL=$(ViashRemoveFlags "$1")
else
VIASH_PAR_SOLO_INPUT_SAM_ATTR_BARCODE_QUAL="$VIASH_PAR_SOLO_INPUT_SAM_ATTR_BARCODE_QUAL;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--solo_strand)
[ -n "$VIASH_PAR_SOLO_STRAND" ] && ViashError Bad arguments for option \'--solo_strand\': \'$VIASH_PAR_SOLO_STRAND\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SOLO_STRAND="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --solo_strand. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--solo_strand=*)
[ -n "$VIASH_PAR_SOLO_STRAND" ] && ViashError Bad arguments for option \'--solo_strand=*\': \'$VIASH_PAR_SOLO_STRAND\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SOLO_STRAND=$(ViashRemoveFlags "$1")
shift 1
;;
--solo_features)
if [ -z "$VIASH_PAR_SOLO_FEATURES" ]; then
VIASH_PAR_SOLO_FEATURES="$2"
else
VIASH_PAR_SOLO_FEATURES="$VIASH_PAR_SOLO_FEATURES;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --solo_features. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--solo_features=*)
if [ -z "$VIASH_PAR_SOLO_FEATURES" ]; then
VIASH_PAR_SOLO_FEATURES=$(ViashRemoveFlags "$1")
else
VIASH_PAR_SOLO_FEATURES="$VIASH_PAR_SOLO_FEATURES;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--solo_multi_mappers)
if [ -z "$VIASH_PAR_SOLO_MULTI_MAPPERS" ]; then
VIASH_PAR_SOLO_MULTI_MAPPERS="$2"
else
VIASH_PAR_SOLO_MULTI_MAPPERS="$VIASH_PAR_SOLO_MULTI_MAPPERS;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --solo_multi_mappers. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--solo_multi_mappers=*)
if [ -z "$VIASH_PAR_SOLO_MULTI_MAPPERS" ]; then
VIASH_PAR_SOLO_MULTI_MAPPERS=$(ViashRemoveFlags "$1")
else
VIASH_PAR_SOLO_MULTI_MAPPERS="$VIASH_PAR_SOLO_MULTI_MAPPERS;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--solo_umi_dedup)
if [ -z "$VIASH_PAR_SOLO_UMI_DEDUP" ]; then
VIASH_PAR_SOLO_UMI_DEDUP="$2"
else
VIASH_PAR_SOLO_UMI_DEDUP="$VIASH_PAR_SOLO_UMI_DEDUP;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --solo_umi_dedup. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--solo_umi_dedup=*)
if [ -z "$VIASH_PAR_SOLO_UMI_DEDUP" ]; then
VIASH_PAR_SOLO_UMI_DEDUP=$(ViashRemoveFlags "$1")
else
VIASH_PAR_SOLO_UMI_DEDUP="$VIASH_PAR_SOLO_UMI_DEDUP;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--solo_umi_filtering)
if [ -z "$VIASH_PAR_SOLO_UMI_FILTERING" ]; then
VIASH_PAR_SOLO_UMI_FILTERING="$2"
else
VIASH_PAR_SOLO_UMI_FILTERING="$VIASH_PAR_SOLO_UMI_FILTERING;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --solo_umi_filtering. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--solo_umi_filtering=*)
if [ -z "$VIASH_PAR_SOLO_UMI_FILTERING" ]; then
VIASH_PAR_SOLO_UMI_FILTERING=$(ViashRemoveFlags "$1")
else
VIASH_PAR_SOLO_UMI_FILTERING="$VIASH_PAR_SOLO_UMI_FILTERING;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--solo_out_file_names)
if [ -z "$VIASH_PAR_SOLO_OUT_FILE_NAMES" ]; then
VIASH_PAR_SOLO_OUT_FILE_NAMES="$2"
else
VIASH_PAR_SOLO_OUT_FILE_NAMES="$VIASH_PAR_SOLO_OUT_FILE_NAMES;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --solo_out_file_names. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--solo_out_file_names=*)
if [ -z "$VIASH_PAR_SOLO_OUT_FILE_NAMES" ]; then
VIASH_PAR_SOLO_OUT_FILE_NAMES=$(ViashRemoveFlags "$1")
else
VIASH_PAR_SOLO_OUT_FILE_NAMES="$VIASH_PAR_SOLO_OUT_FILE_NAMES;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--solo_cell_filter)
if [ -z "$VIASH_PAR_SOLO_CELL_FILTER" ]; then
VIASH_PAR_SOLO_CELL_FILTER="$2"
else
VIASH_PAR_SOLO_CELL_FILTER="$VIASH_PAR_SOLO_CELL_FILTER;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --solo_cell_filter. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--solo_cell_filter=*)
if [ -z "$VIASH_PAR_SOLO_CELL_FILTER" ]; then
VIASH_PAR_SOLO_CELL_FILTER=$(ViashRemoveFlags "$1")
else
VIASH_PAR_SOLO_CELL_FILTER="$VIASH_PAR_SOLO_CELL_FILTER;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--solo_out_format_features_gene_field3)
if [ -z "$VIASH_PAR_SOLO_OUT_FORMAT_FEATURES_GENE_FIELD3" ]; then
VIASH_PAR_SOLO_OUT_FORMAT_FEATURES_GENE_FIELD3="$2"
else
VIASH_PAR_SOLO_OUT_FORMAT_FEATURES_GENE_FIELD3="$VIASH_PAR_SOLO_OUT_FORMAT_FEATURES_GENE_FIELD3;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --solo_out_format_features_gene_field3. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--solo_out_format_features_gene_field3=*)
if [ -z "$VIASH_PAR_SOLO_OUT_FORMAT_FEATURES_GENE_FIELD3" ]; then
VIASH_PAR_SOLO_OUT_FORMAT_FEATURES_GENE_FIELD3=$(ViashRemoveFlags "$1")
else
VIASH_PAR_SOLO_OUT_FORMAT_FEATURES_GENE_FIELD3="$VIASH_PAR_SOLO_OUT_FORMAT_FEATURES_GENE_FIELD3;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--solo_cell_read_stats)
[ -n "$VIASH_PAR_SOLO_CELL_READ_STATS" ] && ViashError Bad arguments for option \'--solo_cell_read_stats\': \'$VIASH_PAR_SOLO_CELL_READ_STATS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SOLO_CELL_READ_STATS="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --solo_cell_read_stats. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--solo_cell_read_stats=*)
[ -n "$VIASH_PAR_SOLO_CELL_READ_STATS" ] && ViashError Bad arguments for option \'--solo_cell_read_stats=*\': \'$VIASH_PAR_SOLO_CELL_READ_STATS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SOLO_CELL_READ_STATS=$(ViashRemoveFlags "$1")
shift 1
;;
--input)
if [ -z "$VIASH_PAR_INPUT" ]; then
VIASH_PAR_INPUT="$2"
else
VIASH_PAR_INPUT="$VIASH_PAR_INPUT;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --input. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--input=*)
if [ -z "$VIASH_PAR_INPUT" ]; then
VIASH_PAR_INPUT=$(ViashRemoveFlags "$1")
else
VIASH_PAR_INPUT="$VIASH_PAR_INPUT;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--readFilesIn)
if [ -z "$VIASH_PAR_INPUT" ]; then
VIASH_PAR_INPUT="$2"
else
VIASH_PAR_INPUT="$VIASH_PAR_INPUT;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --readFilesIn. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--input_r2)
if [ -z "$VIASH_PAR_INPUT_R2" ]; then
VIASH_PAR_INPUT_R2="$2"
else
VIASH_PAR_INPUT_R2="$VIASH_PAR_INPUT_R2;""$2"
fi
[ $# -lt 2 ] && ViashError Not enough arguments passed to --input_r2. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--input_r2=*)
if [ -z "$VIASH_PAR_INPUT_R2" ]; then
VIASH_PAR_INPUT_R2=$(ViashRemoveFlags "$1")
else
VIASH_PAR_INPUT_R2="$VIASH_PAR_INPUT_R2;"$(ViashRemoveFlags "$1")
fi
shift 1
;;
--aligned_reads)
[ -n "$VIASH_PAR_ALIGNED_READS" ] && ViashError Bad arguments for option \'--aligned_reads\': \'$VIASH_PAR_ALIGNED_READS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_ALIGNED_READS="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --aligned_reads. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--aligned_reads=*)
[ -n "$VIASH_PAR_ALIGNED_READS" ] && ViashError Bad arguments for option \'--aligned_reads=*\': \'$VIASH_PAR_ALIGNED_READS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_ALIGNED_READS=$(ViashRemoveFlags "$1")
shift 1
;;
--reads_per_gene)
[ -n "$VIASH_PAR_READS_PER_GENE" ] && ViashError Bad arguments for option \'--reads_per_gene\': \'$VIASH_PAR_READS_PER_GENE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_READS_PER_GENE="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --reads_per_gene. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--reads_per_gene=*)
[ -n "$VIASH_PAR_READS_PER_GENE" ] && ViashError Bad arguments for option \'--reads_per_gene=*\': \'$VIASH_PAR_READS_PER_GENE\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_READS_PER_GENE=$(ViashRemoveFlags "$1")
shift 1
;;
--unmapped)
[ -n "$VIASH_PAR_UNMAPPED" ] && ViashError Bad arguments for option \'--unmapped\': \'$VIASH_PAR_UNMAPPED\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_UNMAPPED="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --unmapped. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--unmapped=*)
[ -n "$VIASH_PAR_UNMAPPED" ] && ViashError Bad arguments for option \'--unmapped=*\': \'$VIASH_PAR_UNMAPPED\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_UNMAPPED=$(ViashRemoveFlags "$1")
shift 1
;;
--unmapped_r2)
[ -n "$VIASH_PAR_UNMAPPED_R2" ] && ViashError Bad arguments for option \'--unmapped_r2\': \'$VIASH_PAR_UNMAPPED_R2\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_UNMAPPED_R2="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --unmapped_r2. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--unmapped_r2=*)
[ -n "$VIASH_PAR_UNMAPPED_R2" ] && ViashError Bad arguments for option \'--unmapped_r2=*\': \'$VIASH_PAR_UNMAPPED_R2\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_UNMAPPED_R2=$(ViashRemoveFlags "$1")
shift 1
;;
--chimeric_junctions)
[ -n "$VIASH_PAR_CHIMERIC_JUNCTIONS" ] && ViashError Bad arguments for option \'--chimeric_junctions\': \'$VIASH_PAR_CHIMERIC_JUNCTIONS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_CHIMERIC_JUNCTIONS="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --chimeric_junctions. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--chimeric_junctions=*)
[ -n "$VIASH_PAR_CHIMERIC_JUNCTIONS" ] && ViashError Bad arguments for option \'--chimeric_junctions=*\': \'$VIASH_PAR_CHIMERIC_JUNCTIONS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_CHIMERIC_JUNCTIONS=$(ViashRemoveFlags "$1")
shift 1
;;
--log)
[ -n "$VIASH_PAR_LOG" ] && ViashError Bad arguments for option \'--log\': \'$VIASH_PAR_LOG\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_LOG="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --log. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--log=*)
[ -n "$VIASH_PAR_LOG" ] && ViashError Bad arguments for option \'--log=*\': \'$VIASH_PAR_LOG\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_LOG=$(ViashRemoveFlags "$1")
shift 1
;;
--splice_junctions)
[ -n "$VIASH_PAR_SPLICE_JUNCTIONS" ] && ViashError Bad arguments for option \'--splice_junctions\': \'$VIASH_PAR_SPLICE_JUNCTIONS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SPLICE_JUNCTIONS="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --splice_junctions. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--splice_junctions=*)
[ -n "$VIASH_PAR_SPLICE_JUNCTIONS" ] && ViashError Bad arguments for option \'--splice_junctions=*\': \'$VIASH_PAR_SPLICE_JUNCTIONS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_SPLICE_JUNCTIONS=$(ViashRemoveFlags "$1")
shift 1
;;
--reads_aligned_to_transcriptome)
[ -n "$VIASH_PAR_READS_ALIGNED_TO_TRANSCRIPTOME" ] && ViashError Bad arguments for option \'--reads_aligned_to_transcriptome\': \'$VIASH_PAR_READS_ALIGNED_TO_TRANSCRIPTOME\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_READS_ALIGNED_TO_TRANSCRIPTOME="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to --reads_aligned_to_transcriptome. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
--reads_aligned_to_transcriptome=*)
[ -n "$VIASH_PAR_READS_ALIGNED_TO_TRANSCRIPTOME" ] && ViashError Bad arguments for option \'--reads_aligned_to_transcriptome=*\': \'$VIASH_PAR_READS_ALIGNED_TO_TRANSCRIPTOME\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_PAR_READS_ALIGNED_TO_TRANSCRIPTOME=$(ViashRemoveFlags "$1")
shift 1
;;
---engine)
VIASH_ENGINE_ID="$2"
shift 2
;;
---engine=*)
VIASH_ENGINE_ID="$(ViashRemoveFlags "$1")"
shift 1
;;
---setup)
VIASH_MODE='setup'
VIASH_SETUP_STRATEGY="$2"
shift 2
;;
---setup=*)
VIASH_MODE='setup'
VIASH_SETUP_STRATEGY="$(ViashRemoveFlags "$1")"
shift 1
;;
---dockerfile)
VIASH_MODE='dockerfile'
shift 1
;;
---docker_run_args)
VIASH_DOCKER_RUN_ARGS+=("$2")
shift 2
;;
---docker_run_args=*)
VIASH_DOCKER_RUN_ARGS+=("$(ViashRemoveFlags "$1")")
shift 1
;;
---docker_image_id)
VIASH_MODE='docker_image_id'
shift 1
;;
---debug)
VIASH_MODE='debug'
shift 1
;;
---cpus)
[ -n "$VIASH_META_CPUS" ] && ViashError Bad arguments for option \'---cpus\': \'$VIASH_META_CPUS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_META_CPUS="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to ---cpus. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
---cpus=*)
[ -n "$VIASH_META_CPUS" ] && ViashError Bad arguments for option \'---cpus=*\': \'$VIASH_META_CPUS\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_META_CPUS=$(ViashRemoveFlags "$1")
shift 1
;;
---memory)
[ -n "$VIASH_META_MEMORY" ] && ViashError Bad arguments for option \'---memory\': \'$VIASH_META_MEMORY\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_META_MEMORY="$2"
[ $# -lt 2 ] && ViashError Not enough arguments passed to ---memory. Use "--help" to get more information on the parameters. && exit 1
shift 2
;;
---memory=*)
[ -n "$VIASH_META_MEMORY" ] && ViashError Bad arguments for option \'---memory=*\': \'$VIASH_META_MEMORY\' \& \'$2\' - you should provide exactly one argument for this option. && exit 1
VIASH_META_MEMORY=$(ViashRemoveFlags "$1")
shift 1
;;
*) # positional arg or unknown option
# since the positional args will be eval'd, can we always quote, instead of using ViashQuote
VIASH_POSITIONAL_ARGS="$VIASH_POSITIONAL_ARGS '$1'"
[[ $1 == -* ]] && ViashWarning $1 looks like a parameter but is not a defined parameter and will instead be treated as a positional argument. Use "--help" to get more information on the parameters.
shift # past argument
;;
esac
done
# parse positional parameters
eval set -- $VIASH_POSITIONAL_ARGS
if [ "$VIASH_ENGINE_ID" == "native" ] ; then
VIASH_ENGINE_TYPE='native'
elif [ "$VIASH_ENGINE_ID" == "docker" ] ; then
VIASH_ENGINE_TYPE='docker'
else
ViashError "Engine '$VIASH_ENGINE_ID' is not recognized. Options are: docker, native."
exit 1
fi
if [[ "$VIASH_ENGINE_TYPE" == "docker" ]]; then
# check if docker is installed properly
ViashDockerInstallationCheck
# determine docker image id
if [[ "$VIASH_ENGINE_ID" == 'docker' ]]; then
VIASH_DOCKER_IMAGE_ID='images.viash-hub.com/vsh/biobox/star/star_align_reads:main'
fi
# print dockerfile
if [ "$VIASH_MODE" == "dockerfile" ]; then
ViashDockerfile "$VIASH_ENGINE_ID"
exit 0
elif [ "$VIASH_MODE" == "docker_image_id" ]; then
echo "$VIASH_DOCKER_IMAGE_ID"
exit 0
# enter docker container
elif [[ "$VIASH_MODE" == "debug" ]]; then
VIASH_CMD="docker run --entrypoint=bash ${VIASH_DOCKER_RUN_ARGS[@]} -v '$(pwd)':/pwd --workdir /pwd -t $VIASH_DOCKER_IMAGE_ID"
ViashNotice "+ $VIASH_CMD"
eval $VIASH_CMD
exit
# build docker image
elif [ "$VIASH_MODE" == "setup" ]; then
ViashDockerSetup "$VIASH_DOCKER_IMAGE_ID" "$VIASH_SETUP_STRATEGY"
ViashDockerCheckCommands "$VIASH_DOCKER_IMAGE_ID" 'ps' 'bash'
exit 0
fi
# check if docker image exists
ViashDockerSetup "$VIASH_DOCKER_IMAGE_ID" ifneedbepullelsecachedbuild
ViashDockerCheckCommands "$VIASH_DOCKER_IMAGE_ID" 'ps' 'bash'
fi
# setting computational defaults
# helper function for parsing memory strings
function ViashMemoryAsBytes {
local memory=`echo "$1" | tr '[:upper:]' '[:lower:]' | tr -d '[:space:]'`
local memory_regex='^([0-9]+)([kmgtp]i?b?|b)$'
if [[ $memory =~ $memory_regex ]]; then
local number=${memory/[^0-9]*/}
local symbol=${memory/*[0-9]/}
case $symbol in
b) memory_b=$number ;;
kb|k) memory_b=$(( $number * 1000 )) ;;
mb|m) memory_b=$(( $number * 1000 * 1000 )) ;;
gb|g) memory_b=$(( $number * 1000 * 1000 * 1000 )) ;;
tb|t) memory_b=$(( $number * 1000 * 1000 * 1000 * 1000 )) ;;
pb|p) memory_b=$(( $number * 1000 * 1000 * 1000 * 1000 * 1000 )) ;;
kib|ki) memory_b=$(( $number * 1024 )) ;;
mib|mi) memory_b=$(( $number * 1024 * 1024 )) ;;
gib|gi) memory_b=$(( $number * 1024 * 1024 * 1024 )) ;;
tib|ti) memory_b=$(( $number * 1024 * 1024 * 1024 * 1024 )) ;;
pib|pi) memory_b=$(( $number * 1024 * 1024 * 1024 * 1024 * 1024 )) ;;
esac
echo "$memory_b"
fi
}
# compute memory in different units
if [ ! -z ${VIASH_META_MEMORY+x} ]; then
VIASH_META_MEMORY_B=`ViashMemoryAsBytes $VIASH_META_MEMORY`
# do not define other variables if memory_b is an empty string
if [ ! -z "$VIASH_META_MEMORY_B" ]; then
VIASH_META_MEMORY_KB=$(( ($VIASH_META_MEMORY_B+999) / 1000 ))
VIASH_META_MEMORY_MB=$(( ($VIASH_META_MEMORY_KB+999) / 1000 ))
VIASH_META_MEMORY_GB=$(( ($VIASH_META_MEMORY_MB+999) / 1000 ))
VIASH_META_MEMORY_TB=$(( ($VIASH_META_MEMORY_GB+999) / 1000 ))
VIASH_META_MEMORY_PB=$(( ($VIASH_META_MEMORY_TB+999) / 1000 ))
VIASH_META_MEMORY_KIB=$(( ($VIASH_META_MEMORY_B+1023) / 1024 ))
VIASH_META_MEMORY_MIB=$(( ($VIASH_META_MEMORY_KIB+1023) / 1024 ))
VIASH_META_MEMORY_GIB=$(( ($VIASH_META_MEMORY_MIB+1023) / 1024 ))
VIASH_META_MEMORY_TIB=$(( ($VIASH_META_MEMORY_GIB+1023) / 1024 ))
VIASH_META_MEMORY_PIB=$(( ($VIASH_META_MEMORY_TIB+1023) / 1024 ))
else
# unset memory if string is empty
unset $VIASH_META_MEMORY_B
fi
fi
# unset nproc if string is empty
if [ -z "$VIASH_META_CPUS" ]; then
unset $VIASH_META_CPUS
fi
# check whether required parameters exist
if [ -z ${VIASH_PAR_GENOME_DIR+x} ]; then
ViashError '--genome_dir' is a required argument. Use "--help" to get more information on the parameters.
exit 1
fi
if [ -z ${VIASH_PAR_INPUT+x} ]; then
ViashError '--input' is a required argument. Use "--help" to get more information on the parameters.
exit 1
fi
if [ -z ${VIASH_PAR_ALIGNED_READS+x} ]; then
ViashError '--aligned_reads' is a required argument. Use "--help" to get more information on the parameters.
exit 1
fi
if [ -z ${VIASH_META_NAME+x} ]; then
ViashError 'name' is a required argument. Use "--help" to get more information on the parameters.
exit 1
fi
if [ -z ${VIASH_META_FUNCTIONALITY_NAME+x} ]; then
ViashError 'functionality_name' is a required argument. Use "--help" to get more information on the parameters.
exit 1
fi
if [ -z ${VIASH_META_RESOURCES_DIR+x} ]; then
ViashError 'resources_dir' is a required argument. Use "--help" to get more information on the parameters.
exit 1
fi
if [ -z ${VIASH_META_EXECUTABLE+x} ]; then
ViashError 'executable' is a required argument. Use "--help" to get more information on the parameters.
exit 1
fi
if [ -z ${VIASH_META_CONFIG+x} ]; then
ViashError 'config' is a required argument. Use "--help" to get more information on the parameters.
exit 1
fi
if [ -z ${VIASH_META_TEMP_DIR+x} ]; then
ViashError 'temp_dir' is a required argument. Use "--help" to get more information on the parameters.
exit 1
fi
# check whether required files exist
if [ ! -z "$VIASH_PAR_GENOME_DIR" ] && [ ! -e "$VIASH_PAR_GENOME_DIR" ]; then
ViashError "Input file '$VIASH_PAR_GENOME_DIR' does not exist."
exit 1
fi
if [ ! -z "$VIASH_PAR_GENOME_FASTA_FILES" ]; then
IFS=';'
set -f
for file in $VIASH_PAR_GENOME_FASTA_FILES; do
unset IFS
if [ ! -e "$file" ]; then
ViashError "Input file '$file' does not exist."
exit 1
fi
done
set +f
fi
if [ ! -z "$VIASH_PAR_SJDB_GTF_FILE" ] && [ ! -e "$VIASH_PAR_SJDB_GTF_FILE" ]; then
ViashError "Input file '$VIASH_PAR_SJDB_GTF_FILE' does not exist."
exit 1
fi
if [ ! -z "$VIASH_PAR_READ_FILES_MANIFEST" ] && [ ! -e "$VIASH_PAR_READ_FILES_MANIFEST" ]; then
ViashError "Input file '$VIASH_PAR_READ_FILES_MANIFEST' does not exist."
exit 1
fi
if [ ! -z "$VIASH_PAR_INPUT" ]; then
IFS=';'
set -f
for file in $VIASH_PAR_INPUT; do
unset IFS
if [ ! -e "$file" ]; then
ViashError "Input file '$file' does not exist."
exit 1
fi
done
set +f
fi
if [ ! -z "$VIASH_PAR_INPUT_R2" ]; then
IFS=';'
set -f
for file in $VIASH_PAR_INPUT_R2; do
unset IFS
if [ ! -e "$file" ]; then
ViashError "Input file '$file' does not exist."
exit 1
fi
done
set +f
fi
# check whether parameters values are of the right type
if [[ -n "$VIASH_PAR_RUN_RNG_SEED" ]]; then
if ! [[ "$VIASH_PAR_RUN_RNG_SEED" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--run_rng_seed' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [ -n "$VIASH_PAR_GENOME_FILE_SIZES" ]; then
IFS=';'
set -f
for val in $VIASH_PAR_GENOME_FILE_SIZES; do
if ! [[ "${val}" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--genome_file_sizes' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
done
set +f
unset IFS
fi
if [[ -n "$VIASH_PAR_SJDB_OVERHANG" ]]; then
if ! [[ "$VIASH_PAR_SJDB_OVERHANG" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--sjdb_overhang' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_SJDB_SCORE" ]]; then
if ! [[ "$VIASH_PAR_SJDB_SCORE" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--sjdb_score' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_READ_MAP_NUMBER" ]]; then
if ! [[ "$VIASH_PAR_READ_MAP_NUMBER" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--read_map_number' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_READ_QUALITY_SCORE_BASE" ]]; then
if ! [[ "$VIASH_PAR_READ_QUALITY_SCORE_BASE" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--read_quality_score_base' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [ -n "$VIASH_PAR_CLIP3P_NBASES" ]; then
IFS=';'
set -f
for val in $VIASH_PAR_CLIP3P_NBASES; do
if ! [[ "${val}" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--clip3p_nbases' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
done
set +f
unset IFS
fi
if [ -n "$VIASH_PAR_CLIP3P_ADAPTER_MM_P" ]; then
IFS=';'
set -f
for val in $VIASH_PAR_CLIP3P_ADAPTER_MM_P; do
if ! [[ "${val}" =~ ^[-+]?(\.[0-9]+|[0-9]+(\.[0-9]*)?)([eE][-+]?[0-9]+)?$ ]]; then
ViashError '--clip3p_adapter_mm_p' has to be a double. Use "--help" to get more information on the parameters.
exit 1
fi
done
set +f
unset IFS
fi
if [ -n "$VIASH_PAR_CLIP3P_AFTER_ADAPTER_NBASES" ]; then
IFS=';'
set -f
for val in $VIASH_PAR_CLIP3P_AFTER_ADAPTER_NBASES; do
if ! [[ "${val}" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--clip3p_after_adapter_nbases' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
done
set +f
unset IFS
fi
if [ -n "$VIASH_PAR_CLIP5P_NBASES" ]; then
IFS=';'
set -f
for val in $VIASH_PAR_CLIP5P_NBASES; do
if ! [[ "${val}" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--clip5p_nbases' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
done
set +f
unset IFS
fi
if [[ -n "$VIASH_PAR_LIMIT_GENOME_GENERATE_RAM" ]]; then
if ! [[ "$VIASH_PAR_LIMIT_GENOME_GENERATE_RAM" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--limit_genome_generate_ram' has to be a long. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [ -n "$VIASH_PAR_LIMIT_IO_BUFFER_SIZE" ]; then
IFS=';'
set -f
for val in $VIASH_PAR_LIMIT_IO_BUFFER_SIZE; do
if ! [[ "${val}" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--limit_io_buffer_size' has to be a long. Use "--help" to get more information on the parameters.
exit 1
fi
done
set +f
unset IFS
fi
if [[ -n "$VIASH_PAR_LIMIT_OUT_SAM_ONE_READ_BYTES" ]]; then
if ! [[ "$VIASH_PAR_LIMIT_OUT_SAM_ONE_READ_BYTES" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--limit_out_sam_one_read_bytes' has to be a long. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_LIMIT_OUT_SJ_ONE_READ" ]]; then
if ! [[ "$VIASH_PAR_LIMIT_OUT_SJ_ONE_READ" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--limit_out_sj_one_read' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_LIMIT_OUT_SJ_COLLAPSED" ]]; then
if ! [[ "$VIASH_PAR_LIMIT_OUT_SJ_COLLAPSED" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--limit_out_sj_collapsed' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_LIMIT_BAM_SORT_RAM" ]]; then
if ! [[ "$VIASH_PAR_LIMIT_BAM_SORT_RAM" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--limit_bam_sort_ram' has to be a long. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_LIMIT_SJDB_INSERT_NSJ" ]]; then
if ! [[ "$VIASH_PAR_LIMIT_SJDB_INSERT_NSJ" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--limit_sjdb_insert_nsj' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_LIMIT_NREADS_SOFT" ]]; then
if ! [[ "$VIASH_PAR_LIMIT_NREADS_SOFT" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--limit_nreads_soft' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_OUT_QS_CONVERSION_ADD" ]]; then
if ! [[ "$VIASH_PAR_OUT_QS_CONVERSION_ADD" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--out_qs_conversion_add' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_OUT_SAM_ATTR_IH_START" ]]; then
if ! [[ "$VIASH_PAR_OUT_SAM_ATTR_IH_START" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--out_sam_attr_ih_start' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_OUT_SAM_MAPQ_UNIQUE" ]]; then
if ! [[ "$VIASH_PAR_OUT_SAM_MAPQ_UNIQUE" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--out_sam_mapq_unique' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_OUT_SAM_FLAG_OR" ]]; then
if ! [[ "$VIASH_PAR_OUT_SAM_FLAG_OR" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--out_sam_flag_or' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_OUT_SAM_FLAG_AND" ]]; then
if ! [[ "$VIASH_PAR_OUT_SAM_FLAG_AND" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--out_sam_flag_and' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_OUT_SAM_MULT_NMAX" ]]; then
if ! [[ "$VIASH_PAR_OUT_SAM_MULT_NMAX" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--out_sam_mult_nmax' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_OUT_SAM_TLEN" ]]; then
if ! [[ "$VIASH_PAR_OUT_SAM_TLEN" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--out_sam_tlen' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_OUT_BAM_COMPRESSION" ]]; then
if ! [[ "$VIASH_PAR_OUT_BAM_COMPRESSION" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--out_bam_compression' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_OUT_BAM_SORTING_THREAD_N" ]]; then
if ! [[ "$VIASH_PAR_OUT_BAM_SORTING_THREAD_N" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--out_bam_sorting_thread_n' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_OUT_BAM_SORTING_BINS_N" ]]; then
if ! [[ "$VIASH_PAR_OUT_BAM_SORTING_BINS_N" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--out_bam_sorting_bins_n' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_BAM_REMOVE_DUPLICATES_MATE2BASES_N" ]]; then
if ! [[ "$VIASH_PAR_BAM_REMOVE_DUPLICATES_MATE2BASES_N" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--bam_remove_duplicates_mate2bases_n' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_OUT_FILTER_MULTIMAP_SCORE_RANGE" ]]; then
if ! [[ "$VIASH_PAR_OUT_FILTER_MULTIMAP_SCORE_RANGE" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--out_filter_multimap_score_range' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_OUT_FILTER_MULTIMAP_NMAX" ]]; then
if ! [[ "$VIASH_PAR_OUT_FILTER_MULTIMAP_NMAX" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--out_filter_multimap_nmax' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_OUT_FILTER_MISMATCH_NMAX" ]]; then
if ! [[ "$VIASH_PAR_OUT_FILTER_MISMATCH_NMAX" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--out_filter_mismatch_nmax' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_OUT_FILTER_MISMATCH_NOVER_LMAX" ]]; then
if ! [[ "$VIASH_PAR_OUT_FILTER_MISMATCH_NOVER_LMAX" =~ ^[-+]?(\.[0-9]+|[0-9]+(\.[0-9]*)?)([eE][-+]?[0-9]+)?$ ]]; then
ViashError '--out_filter_mismatch_nover_lmax' has to be a double. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_OUT_FILTER_MISMATCH_NOVER_READ_LMAX" ]]; then
if ! [[ "$VIASH_PAR_OUT_FILTER_MISMATCH_NOVER_READ_LMAX" =~ ^[-+]?(\.[0-9]+|[0-9]+(\.[0-9]*)?)([eE][-+]?[0-9]+)?$ ]]; then
ViashError '--out_filter_mismatch_nover_read_lmax' has to be a double. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_OUT_FILTER_SCORE_MIN" ]]; then
if ! [[ "$VIASH_PAR_OUT_FILTER_SCORE_MIN" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--out_filter_score_min' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_OUT_FILTER_SCORE_MIN_OVER_LREAD" ]]; then
if ! [[ "$VIASH_PAR_OUT_FILTER_SCORE_MIN_OVER_LREAD" =~ ^[-+]?(\.[0-9]+|[0-9]+(\.[0-9]*)?)([eE][-+]?[0-9]+)?$ ]]; then
ViashError '--out_filter_score_min_over_lread' has to be a double. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_OUT_FILTER_MATCH_NMIN" ]]; then
if ! [[ "$VIASH_PAR_OUT_FILTER_MATCH_NMIN" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--out_filter_match_nmin' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_OUT_FILTER_MATCH_NMIN_OVER_LREAD" ]]; then
if ! [[ "$VIASH_PAR_OUT_FILTER_MATCH_NMIN_OVER_LREAD" =~ ^[-+]?(\.[0-9]+|[0-9]+(\.[0-9]*)?)([eE][-+]?[0-9]+)?$ ]]; then
ViashError '--out_filter_match_nmin_over_lread' has to be a double. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [ -n "$VIASH_PAR_OUT_SJ_FILTER_OVERHANG_MIN" ]; then
IFS=';'
set -f
for val in $VIASH_PAR_OUT_SJ_FILTER_OVERHANG_MIN; do
if ! [[ "${val}" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--out_sj_filter_overhang_min' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
done
set +f
unset IFS
fi
if [ -n "$VIASH_PAR_OUT_SJ_FILTER_COUNT_UNIQUE_MIN" ]; then
IFS=';'
set -f
for val in $VIASH_PAR_OUT_SJ_FILTER_COUNT_UNIQUE_MIN; do
if ! [[ "${val}" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--out_sj_filter_count_unique_min' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
done
set +f
unset IFS
fi
if [ -n "$VIASH_PAR_OUT_SJ_FILTER_COUNT_TOTAL_MIN" ]; then
IFS=';'
set -f
for val in $VIASH_PAR_OUT_SJ_FILTER_COUNT_TOTAL_MIN; do
if ! [[ "${val}" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--out_sj_filter_count_total_min' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
done
set +f
unset IFS
fi
if [ -n "$VIASH_PAR_OUT_SJ_FILTER_DIST_TO_OTHER_SJ_MIN" ]; then
IFS=';'
set -f
for val in $VIASH_PAR_OUT_SJ_FILTER_DIST_TO_OTHER_SJ_MIN; do
if ! [[ "${val}" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--out_sj_filter_dist_to_other_sj_min' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
done
set +f
unset IFS
fi
if [ -n "$VIASH_PAR_OUT_SJ_FILTER_INTRON_MAX_VS_READ_N" ]; then
IFS=';'
set -f
for val in $VIASH_PAR_OUT_SJ_FILTER_INTRON_MAX_VS_READ_N; do
if ! [[ "${val}" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--out_sj_filter_intron_max_vs_read_n' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
done
set +f
unset IFS
fi
if [[ -n "$VIASH_PAR_SCORE_GAP" ]]; then
if ! [[ "$VIASH_PAR_SCORE_GAP" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--score_gap' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_SCORE_GAP_NONCAN" ]]; then
if ! [[ "$VIASH_PAR_SCORE_GAP_NONCAN" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--score_gap_noncan' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_SCORE_GAP_GCAG" ]]; then
if ! [[ "$VIASH_PAR_SCORE_GAP_GCAG" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--score_gap_gcag' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_SCORE_GAP_ATAC" ]]; then
if ! [[ "$VIASH_PAR_SCORE_GAP_ATAC" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--score_gap_atac' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_SCORE_GENOMIC_LENGTH_LOG2SCALE" ]]; then
if ! [[ "$VIASH_PAR_SCORE_GENOMIC_LENGTH_LOG2SCALE" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--score_genomic_length_log2scale' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_SCORE_DEL_OPEN" ]]; then
if ! [[ "$VIASH_PAR_SCORE_DEL_OPEN" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--score_del_open' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_SCORE_DEL_BASE" ]]; then
if ! [[ "$VIASH_PAR_SCORE_DEL_BASE" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--score_del_base' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_SCORE_INS_OPEN" ]]; then
if ! [[ "$VIASH_PAR_SCORE_INS_OPEN" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--score_ins_open' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_SCORE_INS_BASE" ]]; then
if ! [[ "$VIASH_PAR_SCORE_INS_BASE" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--score_ins_base' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_SCORE_STITCH_SJ_SHIFT" ]]; then
if ! [[ "$VIASH_PAR_SCORE_STITCH_SJ_SHIFT" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--score_stitch_sj_shift' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_SEED_SEARCH_START_LMAX" ]]; then
if ! [[ "$VIASH_PAR_SEED_SEARCH_START_LMAX" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--seed_search_start_lmax' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_SEED_SEARCH_START_LMAX_OVER_LREAD" ]]; then
if ! [[ "$VIASH_PAR_SEED_SEARCH_START_LMAX_OVER_LREAD" =~ ^[-+]?(\.[0-9]+|[0-9]+(\.[0-9]*)?)([eE][-+]?[0-9]+)?$ ]]; then
ViashError '--seed_search_start_lmax_over_lread' has to be a double. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_SEED_SEARCH_LMAX" ]]; then
if ! [[ "$VIASH_PAR_SEED_SEARCH_LMAX" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--seed_search_lmax' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_SEED_MULTIMAP_NMAX" ]]; then
if ! [[ "$VIASH_PAR_SEED_MULTIMAP_NMAX" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--seed_multimap_nmax' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_SEED_PER_READ_NMAX" ]]; then
if ! [[ "$VIASH_PAR_SEED_PER_READ_NMAX" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--seed_per_read_nmax' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_SEED_PER_WINDOW_NMAX" ]]; then
if ! [[ "$VIASH_PAR_SEED_PER_WINDOW_NMAX" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--seed_per_window_nmax' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_SEED_NONE_LOCI_PER_WINDOW" ]]; then
if ! [[ "$VIASH_PAR_SEED_NONE_LOCI_PER_WINDOW" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--seed_none_loci_per_window' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_SEED_SPLIT_MIN" ]]; then
if ! [[ "$VIASH_PAR_SEED_SPLIT_MIN" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--seed_split_min' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_SEED_MAP_MIN" ]]; then
if ! [[ "$VIASH_PAR_SEED_MAP_MIN" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--seed_map_min' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_ALIGN_INTRON_MIN" ]]; then
if ! [[ "$VIASH_PAR_ALIGN_INTRON_MIN" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--align_intron_min' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_ALIGN_INTRON_MAX" ]]; then
if ! [[ "$VIASH_PAR_ALIGN_INTRON_MAX" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--align_intron_max' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_ALIGN_MATES_GAP_MAX" ]]; then
if ! [[ "$VIASH_PAR_ALIGN_MATES_GAP_MAX" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--align_mates_gap_max' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_ALIGN_SJ_OVERHANG_MIN" ]]; then
if ! [[ "$VIASH_PAR_ALIGN_SJ_OVERHANG_MIN" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--align_sj_overhang_min' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [ -n "$VIASH_PAR_ALIGN_SJ_STITCH_MISMATCH_NMAX" ]; then
IFS=';'
set -f
for val in $VIASH_PAR_ALIGN_SJ_STITCH_MISMATCH_NMAX; do
if ! [[ "${val}" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--align_sj_stitch_mismatch_nmax' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
done
set +f
unset IFS
fi
if [[ -n "$VIASH_PAR_ALIGN_SJDB_OVERHANG_MIN" ]]; then
if ! [[ "$VIASH_PAR_ALIGN_SJDB_OVERHANG_MIN" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--align_sjdb_overhang_min' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_ALIGN_SPLICED_MATE_MAP_LMIN" ]]; then
if ! [[ "$VIASH_PAR_ALIGN_SPLICED_MATE_MAP_LMIN" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--align_spliced_mate_map_lmin' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_ALIGN_SPLICED_MATE_MAP_LMIN_OVER_LMATE" ]]; then
if ! [[ "$VIASH_PAR_ALIGN_SPLICED_MATE_MAP_LMIN_OVER_LMATE" =~ ^[-+]?(\.[0-9]+|[0-9]+(\.[0-9]*)?)([eE][-+]?[0-9]+)?$ ]]; then
ViashError '--align_spliced_mate_map_lmin_over_lmate' has to be a double. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_ALIGN_WINDOWS_PER_READ_NMAX" ]]; then
if ! [[ "$VIASH_PAR_ALIGN_WINDOWS_PER_READ_NMAX" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--align_windows_per_read_nmax' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_ALIGN_TRANSCRIPTS_PER_WINDOW_NMAX" ]]; then
if ! [[ "$VIASH_PAR_ALIGN_TRANSCRIPTS_PER_WINDOW_NMAX" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--align_transcripts_per_window_nmax' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_ALIGN_TRANSCRIPTS_PER_READ_NMAX" ]]; then
if ! [[ "$VIASH_PAR_ALIGN_TRANSCRIPTS_PER_READ_NMAX" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--align_transcripts_per_read_nmax' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_PE_OVERLAP_NBASES_MIN" ]]; then
if ! [[ "$VIASH_PAR_PE_OVERLAP_NBASES_MIN" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--pe_overlap_nbases_min' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_PE_OVERLAP_MM_P" ]]; then
if ! [[ "$VIASH_PAR_PE_OVERLAP_MM_P" =~ ^[-+]?(\.[0-9]+|[0-9]+(\.[0-9]*)?)([eE][-+]?[0-9]+)?$ ]]; then
ViashError '--pe_overlap_mm_p' has to be a double. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_WIN_ANCHOR_MULTIMAP_NMAX" ]]; then
if ! [[ "$VIASH_PAR_WIN_ANCHOR_MULTIMAP_NMAX" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--win_anchor_multimap_nmax' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_WIN_BIN_NBITS" ]]; then
if ! [[ "$VIASH_PAR_WIN_BIN_NBITS" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--win_bin_nbits' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_WIN_ANCHOR_DIST_NBINS" ]]; then
if ! [[ "$VIASH_PAR_WIN_ANCHOR_DIST_NBINS" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--win_anchor_dist_nbins' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_WIN_FLANK_NBINS" ]]; then
if ! [[ "$VIASH_PAR_WIN_FLANK_NBINS" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--win_flank_nbins' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_WIN_READ_COVERAGE_RELATIVE_MIN" ]]; then
if ! [[ "$VIASH_PAR_WIN_READ_COVERAGE_RELATIVE_MIN" =~ ^[-+]?(\.[0-9]+|[0-9]+(\.[0-9]*)?)([eE][-+]?[0-9]+)?$ ]]; then
ViashError '--win_read_coverage_relative_min' has to be a double. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_WIN_READ_COVERAGE_BASES_MIN" ]]; then
if ! [[ "$VIASH_PAR_WIN_READ_COVERAGE_BASES_MIN" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--win_read_coverage_bases_min' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_CHIM_SEGMENT_MIN" ]]; then
if ! [[ "$VIASH_PAR_CHIM_SEGMENT_MIN" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--chim_segment_min' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_CHIM_SCORE_MIN" ]]; then
if ! [[ "$VIASH_PAR_CHIM_SCORE_MIN" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--chim_score_min' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_CHIM_SCORE_DROP_MAX" ]]; then
if ! [[ "$VIASH_PAR_CHIM_SCORE_DROP_MAX" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--chim_score_drop_max' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_CHIM_SCORE_SEPARATION" ]]; then
if ! [[ "$VIASH_PAR_CHIM_SCORE_SEPARATION" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--chim_score_separation' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_CHIM_SCORE_JUNCTION_NON_GTAG" ]]; then
if ! [[ "$VIASH_PAR_CHIM_SCORE_JUNCTION_NON_GTAG" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--chim_score_junction_non_gtag' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_CHIM_JUNCTION_OVERHANG_MIN" ]]; then
if ! [[ "$VIASH_PAR_CHIM_JUNCTION_OVERHANG_MIN" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--chim_junction_overhang_min' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_CHIM_SEGMENT_READ_GAP_MAX" ]]; then
if ! [[ "$VIASH_PAR_CHIM_SEGMENT_READ_GAP_MAX" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--chim_segment_read_gap_max' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_CHIM_MAIN_SEGMENT_MULT_NMAX" ]]; then
if ! [[ "$VIASH_PAR_CHIM_MAIN_SEGMENT_MULT_NMAX" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--chim_main_segment_mult_nmax' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_CHIM_MULTIMAP_NMAX" ]]; then
if ! [[ "$VIASH_PAR_CHIM_MULTIMAP_NMAX" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--chim_multimap_nmax' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_CHIM_MULTIMAP_SCORE_RANGE" ]]; then
if ! [[ "$VIASH_PAR_CHIM_MULTIMAP_SCORE_RANGE" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--chim_multimap_score_range' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_CHIM_NONCHIM_SCORE_DROP_MIN" ]]; then
if ! [[ "$VIASH_PAR_CHIM_NONCHIM_SCORE_DROP_MIN" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--chim_nonchim_score_drop_min' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_CHIM_OUT_JUNCTION_FORMAT" ]]; then
if ! [[ "$VIASH_PAR_CHIM_OUT_JUNCTION_FORMAT" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--chim_out_junction_format' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_QUANT_TRANSCRIPTOME_BAM_COMPRESSION" ]]; then
if ! [[ "$VIASH_PAR_QUANT_TRANSCRIPTOME_BAM_COMPRESSION" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--quant_transcriptome_bam_compression' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_TWOPASS1READS_N" ]]; then
if ! [[ "$VIASH_PAR_TWOPASS1READS_N" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--twopass1reads_n' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_SOLO_CB_START" ]]; then
if ! [[ "$VIASH_PAR_SOLO_CB_START" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--solo_cb_start' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_SOLO_CB_LEN" ]]; then
if ! [[ "$VIASH_PAR_SOLO_CB_LEN" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--solo_cb_len' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_SOLO_UMI_START" ]]; then
if ! [[ "$VIASH_PAR_SOLO_UMI_START" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--solo_umi_start' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_SOLO_UMI_LEN" ]]; then
if ! [[ "$VIASH_PAR_SOLO_UMI_LEN" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--solo_umi_len' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_SOLO_BARCODE_READ_LENGTH" ]]; then
if ! [[ "$VIASH_PAR_SOLO_BARCODE_READ_LENGTH" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--solo_barcode_read_length' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_SOLO_BARCODE_MATE" ]]; then
if ! [[ "$VIASH_PAR_SOLO_BARCODE_MATE" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--solo_barcode_mate' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_PAR_SOLO_ADAPTER_MISMATCHES_NMAX" ]]; then
if ! [[ "$VIASH_PAR_SOLO_ADAPTER_MISMATCHES_NMAX" =~ ^[-+]?[0-9]+$ ]]; then
ViashError '--solo_adapter_mismatches_nmax' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_META_CPUS" ]]; then
if ! [[ "$VIASH_META_CPUS" =~ ^[-+]?[0-9]+$ ]]; then
ViashError 'cpus' has to be an integer. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_META_MEMORY_B" ]]; then
if ! [[ "$VIASH_META_MEMORY_B" =~ ^[-+]?[0-9]+$ ]]; then
ViashError 'memory_b' has to be a long. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_META_MEMORY_KB" ]]; then
if ! [[ "$VIASH_META_MEMORY_KB" =~ ^[-+]?[0-9]+$ ]]; then
ViashError 'memory_kb' has to be a long. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_META_MEMORY_MB" ]]; then
if ! [[ "$VIASH_META_MEMORY_MB" =~ ^[-+]?[0-9]+$ ]]; then
ViashError 'memory_mb' has to be a long. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_META_MEMORY_GB" ]]; then
if ! [[ "$VIASH_META_MEMORY_GB" =~ ^[-+]?[0-9]+$ ]]; then
ViashError 'memory_gb' has to be a long. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_META_MEMORY_TB" ]]; then
if ! [[ "$VIASH_META_MEMORY_TB" =~ ^[-+]?[0-9]+$ ]]; then
ViashError 'memory_tb' has to be a long. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_META_MEMORY_PB" ]]; then
if ! [[ "$VIASH_META_MEMORY_PB" =~ ^[-+]?[0-9]+$ ]]; then
ViashError 'memory_pb' has to be a long. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_META_MEMORY_KIB" ]]; then
if ! [[ "$VIASH_META_MEMORY_KIB" =~ ^[-+]?[0-9]+$ ]]; then
ViashError 'memory_kib' has to be a long. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_META_MEMORY_MIB" ]]; then
if ! [[ "$VIASH_META_MEMORY_MIB" =~ ^[-+]?[0-9]+$ ]]; then
ViashError 'memory_mib' has to be a long. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_META_MEMORY_GIB" ]]; then
if ! [[ "$VIASH_META_MEMORY_GIB" =~ ^[-+]?[0-9]+$ ]]; then
ViashError 'memory_gib' has to be a long. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_META_MEMORY_TIB" ]]; then
if ! [[ "$VIASH_META_MEMORY_TIB" =~ ^[-+]?[0-9]+$ ]]; then
ViashError 'memory_tib' has to be a long. Use "--help" to get more information on the parameters.
exit 1
fi
fi
if [[ -n "$VIASH_META_MEMORY_PIB" ]]; then
if ! [[ "$VIASH_META_MEMORY_PIB" =~ ^[-+]?[0-9]+$ ]]; then
ViashError 'memory_pib' has to be a long. Use "--help" to get more information on the parameters.
exit 1
fi
fi
# create parent directories of output files, if so desired
if [ ! -z "$VIASH_PAR_ALIGNED_READS" ] && [ ! -d "$(dirname "$VIASH_PAR_ALIGNED_READS")" ]; then
mkdir -p "$(dirname "$VIASH_PAR_ALIGNED_READS")"
fi
if [ ! -z "$VIASH_PAR_READS_PER_GENE" ] && [ ! -d "$(dirname "$VIASH_PAR_READS_PER_GENE")" ]; then
mkdir -p "$(dirname "$VIASH_PAR_READS_PER_GENE")"
fi
if [ ! -z "$VIASH_PAR_UNMAPPED" ] && [ ! -d "$(dirname "$VIASH_PAR_UNMAPPED")" ]; then
mkdir -p "$(dirname "$VIASH_PAR_UNMAPPED")"
fi
if [ ! -z "$VIASH_PAR_UNMAPPED_R2" ] && [ ! -d "$(dirname "$VIASH_PAR_UNMAPPED_R2")" ]; then
mkdir -p "$(dirname "$VIASH_PAR_UNMAPPED_R2")"
fi
if [ ! -z "$VIASH_PAR_CHIMERIC_JUNCTIONS" ] && [ ! -d "$(dirname "$VIASH_PAR_CHIMERIC_JUNCTIONS")" ]; then
mkdir -p "$(dirname "$VIASH_PAR_CHIMERIC_JUNCTIONS")"
fi
if [ ! -z "$VIASH_PAR_LOG" ] && [ ! -d "$(dirname "$VIASH_PAR_LOG")" ]; then
mkdir -p "$(dirname "$VIASH_PAR_LOG")"
fi
if [ ! -z "$VIASH_PAR_SPLICE_JUNCTIONS" ] && [ ! -d "$(dirname "$VIASH_PAR_SPLICE_JUNCTIONS")" ]; then
mkdir -p "$(dirname "$VIASH_PAR_SPLICE_JUNCTIONS")"
fi
if [ ! -z "$VIASH_PAR_READS_ALIGNED_TO_TRANSCRIPTOME" ] && [ ! -d "$(dirname "$VIASH_PAR_READS_ALIGNED_TO_TRANSCRIPTOME")" ]; then
mkdir -p "$(dirname "$VIASH_PAR_READS_ALIGNED_TO_TRANSCRIPTOME")"
fi
if [ "$VIASH_ENGINE_ID" == "native" ] ; then
if [ "$VIASH_MODE" == "run" ]; then
VIASH_CMD="bash"
else
ViashError "Engine '$VIASH_ENGINE_ID' does not support mode '$VIASH_MODE'."
exit 1
fi
fi
if [[ "$VIASH_ENGINE_TYPE" == "docker" ]]; then
# detect volumes from file arguments
VIASH_CHOWN_VARS=()
if [ ! -z "$VIASH_PAR_GENOME_DIR" ]; then
VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_GENOME_DIR")" )
VIASH_PAR_GENOME_DIR=$(ViashDockerAutodetectMount "$VIASH_PAR_GENOME_DIR")
fi
if [ ! -z "$VIASH_PAR_GENOME_FASTA_FILES" ]; then
VIASH_TEST_GENOME_FASTA_FILES=()
IFS=';'
for var in $VIASH_PAR_GENOME_FASTA_FILES; do
unset IFS
VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$var")" )
var=$(ViashDockerAutodetectMount "$var")
VIASH_TEST_GENOME_FASTA_FILES+=( "$var" )
done
VIASH_PAR_GENOME_FASTA_FILES=$(IFS=';' ; echo "${VIASH_TEST_GENOME_FASTA_FILES[*]}")
fi
if [ ! -z "$VIASH_PAR_SJDB_GTF_FILE" ]; then
VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_SJDB_GTF_FILE")" )
VIASH_PAR_SJDB_GTF_FILE=$(ViashDockerAutodetectMount "$VIASH_PAR_SJDB_GTF_FILE")
fi
if [ ! -z "$VIASH_PAR_READ_FILES_MANIFEST" ]; then
VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_READ_FILES_MANIFEST")" )
VIASH_PAR_READ_FILES_MANIFEST=$(ViashDockerAutodetectMount "$VIASH_PAR_READ_FILES_MANIFEST")
fi
if [ ! -z "$VIASH_PAR_INPUT" ]; then
VIASH_TEST_INPUT=()
IFS=';'
for var in $VIASH_PAR_INPUT; do
unset IFS
VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$var")" )
var=$(ViashDockerAutodetectMount "$var")
VIASH_TEST_INPUT+=( "$var" )
done
VIASH_PAR_INPUT=$(IFS=';' ; echo "${VIASH_TEST_INPUT[*]}")
fi
if [ ! -z "$VIASH_PAR_INPUT_R2" ]; then
VIASH_TEST_INPUT_R2=()
IFS=';'
for var in $VIASH_PAR_INPUT_R2; do
unset IFS
VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$var")" )
var=$(ViashDockerAutodetectMount "$var")
VIASH_TEST_INPUT_R2+=( "$var" )
done
VIASH_PAR_INPUT_R2=$(IFS=';' ; echo "${VIASH_TEST_INPUT_R2[*]}")
fi
if [ ! -z "$VIASH_PAR_ALIGNED_READS" ]; then
VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_ALIGNED_READS")" )
VIASH_PAR_ALIGNED_READS=$(ViashDockerAutodetectMount "$VIASH_PAR_ALIGNED_READS")
VIASH_CHOWN_VARS+=( "$VIASH_PAR_ALIGNED_READS" )
fi
if [ ! -z "$VIASH_PAR_READS_PER_GENE" ]; then
VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_READS_PER_GENE")" )
VIASH_PAR_READS_PER_GENE=$(ViashDockerAutodetectMount "$VIASH_PAR_READS_PER_GENE")
VIASH_CHOWN_VARS+=( "$VIASH_PAR_READS_PER_GENE" )
fi
if [ ! -z "$VIASH_PAR_UNMAPPED" ]; then
VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_UNMAPPED")" )
VIASH_PAR_UNMAPPED=$(ViashDockerAutodetectMount "$VIASH_PAR_UNMAPPED")
VIASH_CHOWN_VARS+=( "$VIASH_PAR_UNMAPPED" )
fi
if [ ! -z "$VIASH_PAR_UNMAPPED_R2" ]; then
VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_UNMAPPED_R2")" )
VIASH_PAR_UNMAPPED_R2=$(ViashDockerAutodetectMount "$VIASH_PAR_UNMAPPED_R2")
VIASH_CHOWN_VARS+=( "$VIASH_PAR_UNMAPPED_R2" )
fi
if [ ! -z "$VIASH_PAR_CHIMERIC_JUNCTIONS" ]; then
VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_CHIMERIC_JUNCTIONS")" )
VIASH_PAR_CHIMERIC_JUNCTIONS=$(ViashDockerAutodetectMount "$VIASH_PAR_CHIMERIC_JUNCTIONS")
VIASH_CHOWN_VARS+=( "$VIASH_PAR_CHIMERIC_JUNCTIONS" )
fi
if [ ! -z "$VIASH_PAR_LOG" ]; then
VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_LOG")" )
VIASH_PAR_LOG=$(ViashDockerAutodetectMount "$VIASH_PAR_LOG")
VIASH_CHOWN_VARS+=( "$VIASH_PAR_LOG" )
fi
if [ ! -z "$VIASH_PAR_SPLICE_JUNCTIONS" ]; then
VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_SPLICE_JUNCTIONS")" )
VIASH_PAR_SPLICE_JUNCTIONS=$(ViashDockerAutodetectMount "$VIASH_PAR_SPLICE_JUNCTIONS")
VIASH_CHOWN_VARS+=( "$VIASH_PAR_SPLICE_JUNCTIONS" )
fi
if [ ! -z "$VIASH_PAR_READS_ALIGNED_TO_TRANSCRIPTOME" ]; then
VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_PAR_READS_ALIGNED_TO_TRANSCRIPTOME")" )
VIASH_PAR_READS_ALIGNED_TO_TRANSCRIPTOME=$(ViashDockerAutodetectMount "$VIASH_PAR_READS_ALIGNED_TO_TRANSCRIPTOME")
VIASH_CHOWN_VARS+=( "$VIASH_PAR_READS_ALIGNED_TO_TRANSCRIPTOME" )
fi
if [ ! -z "$VIASH_META_RESOURCES_DIR" ]; then
VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_META_RESOURCES_DIR")" )
VIASH_META_RESOURCES_DIR=$(ViashDockerAutodetectMount "$VIASH_META_RESOURCES_DIR")
fi
if [ ! -z "$VIASH_META_EXECUTABLE" ]; then
VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_META_EXECUTABLE")" )
VIASH_META_EXECUTABLE=$(ViashDockerAutodetectMount "$VIASH_META_EXECUTABLE")
fi
if [ ! -z "$VIASH_META_CONFIG" ]; then
VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_META_CONFIG")" )
VIASH_META_CONFIG=$(ViashDockerAutodetectMount "$VIASH_META_CONFIG")
fi
if [ ! -z "$VIASH_META_TEMP_DIR" ]; then
VIASH_DIRECTORY_MOUNTS+=( "$(ViashDockerAutodetectMountArg "$VIASH_META_TEMP_DIR")" )
VIASH_META_TEMP_DIR=$(ViashDockerAutodetectMount "$VIASH_META_TEMP_DIR")
fi
# get unique mounts
VIASH_UNIQUE_MOUNTS=($(for val in "${VIASH_DIRECTORY_MOUNTS[@]}"; do echo "$val"; done | sort -u))
fi
if [[ "$VIASH_ENGINE_TYPE" == "docker" ]]; then
# change file ownership
function ViashPerformChown {
if (( ${#VIASH_CHOWN_VARS[@]} )); then
set +e
VIASH_CMD="docker run --entrypoint=bash --rm ${VIASH_UNIQUE_MOUNTS[@]} $VIASH_DOCKER_IMAGE_ID -c 'chown $(id -u):$(id -g) --silent --recursive ${VIASH_CHOWN_VARS[@]}'"
ViashDebug "+ $VIASH_CMD"
eval $VIASH_CMD
set -e
fi
}
trap ViashPerformChown EXIT
fi
if [[ "$VIASH_ENGINE_TYPE" == "docker" ]]; then
# helper function for filling in extra docker args
if [ ! -z "$VIASH_META_MEMORY_B" ]; then
VIASH_DOCKER_RUN_ARGS+=("--memory=${VIASH_META_MEMORY_B}")
fi
if [ ! -z "$VIASH_META_CPUS" ]; then
VIASH_DOCKER_RUN_ARGS+=("--cpus=${VIASH_META_CPUS}")
fi
fi
if [[ "$VIASH_ENGINE_TYPE" == "docker" ]]; then
VIASH_CMD="docker run --entrypoint=bash ${VIASH_DOCKER_RUN_ARGS[@]} ${VIASH_UNIQUE_MOUNTS[@]} $VIASH_DOCKER_IMAGE_ID"
fi
# set dependency paths
ViashDebug "Running command: $(echo $VIASH_CMD)"
cat << VIASHEOF | eval $VIASH_CMD
set -e
tempscript=\$(mktemp "$VIASH_META_TEMP_DIR/viash-run-star_align_reads-XXXXXX").py
function clean_up {
rm "\$tempscript"
}
function interrupt {
echo -e "\nCTRL-C Pressed..."
exit 1
}
trap clean_up EXIT
trap interrupt INT SIGINT
cat > "\$tempscript" << 'VIASHMAIN'
import tempfile
import subprocess
import shutil
from pathlib import Path
import yaml
## VIASH START
# The following code has been auto-generated by Viash.
par = {
'run_rng_seed': $( if [ ! -z ${VIASH_PAR_RUN_RNG_SEED+x} ]; then echo "int(r'${VIASH_PAR_RUN_RNG_SEED//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'genome_dir': $( if [ ! -z ${VIASH_PAR_GENOME_DIR+x} ]; then echo "r'${VIASH_PAR_GENOME_DIR//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'genome_load': $( if [ ! -z ${VIASH_PAR_GENOME_LOAD+x} ]; then echo "r'${VIASH_PAR_GENOME_LOAD//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'genome_fasta_files': $( if [ ! -z ${VIASH_PAR_GENOME_FASTA_FILES+x} ]; then echo "r'${VIASH_PAR_GENOME_FASTA_FILES//\'/\'\"\'\"r\'}'.split(';')"; else echo None; fi ),
'genome_file_sizes': $( if [ ! -z ${VIASH_PAR_GENOME_FILE_SIZES+x} ]; then echo "list(map(int, r'${VIASH_PAR_GENOME_FILE_SIZES//\'/\'\"\'\"r\'}'.split(';')))"; else echo None; fi ),
'genome_transform_output': $( if [ ! -z ${VIASH_PAR_GENOME_TRANSFORM_OUTPUT+x} ]; then echo "r'${VIASH_PAR_GENOME_TRANSFORM_OUTPUT//\'/\'\"\'\"r\'}'.split(';')"; else echo None; fi ),
'genome_chr_set_mitochondrial': $( if [ ! -z ${VIASH_PAR_GENOME_CHR_SET_MITOCHONDRIAL+x} ]; then echo "r'${VIASH_PAR_GENOME_CHR_SET_MITOCHONDRIAL//\'/\'\"\'\"r\'}'.split(';')"; else echo None; fi ),
'sjdb_file_chr_start_end': $( if [ ! -z ${VIASH_PAR_SJDB_FILE_CHR_START_END+x} ]; then echo "r'${VIASH_PAR_SJDB_FILE_CHR_START_END//\'/\'\"\'\"r\'}'.split(';')"; else echo None; fi ),
'sjdb_gtf_file': $( if [ ! -z ${VIASH_PAR_SJDB_GTF_FILE+x} ]; then echo "r'${VIASH_PAR_SJDB_GTF_FILE//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'sjdb_gtf_chr_prefix': $( if [ ! -z ${VIASH_PAR_SJDB_GTF_CHR_PREFIX+x} ]; then echo "r'${VIASH_PAR_SJDB_GTF_CHR_PREFIX//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'sjdb_gtf_feature_exon': $( if [ ! -z ${VIASH_PAR_SJDB_GTF_FEATURE_EXON+x} ]; then echo "r'${VIASH_PAR_SJDB_GTF_FEATURE_EXON//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'sjdb_gtf_tag_exon_parent_transcript': $( if [ ! -z ${VIASH_PAR_SJDB_GTF_TAG_EXON_PARENT_TRANSCRIPT+x} ]; then echo "r'${VIASH_PAR_SJDB_GTF_TAG_EXON_PARENT_TRANSCRIPT//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'sjdb_gtf_tag_exon_parent_gene': $( if [ ! -z ${VIASH_PAR_SJDB_GTF_TAG_EXON_PARENT_GENE+x} ]; then echo "r'${VIASH_PAR_SJDB_GTF_TAG_EXON_PARENT_GENE//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'sjdb_gtf_tag_exon_parent_gene_name': $( if [ ! -z ${VIASH_PAR_SJDB_GTF_TAG_EXON_PARENT_GENE_NAME+x} ]; then echo "r'${VIASH_PAR_SJDB_GTF_TAG_EXON_PARENT_GENE_NAME//\'/\'\"\'\"r\'}'.split(';')"; else echo None; fi ),
'sjdb_gtf_tag_exon_parent_gene_type': $( if [ ! -z ${VIASH_PAR_SJDB_GTF_TAG_EXON_PARENT_GENE_TYPE+x} ]; then echo "r'${VIASH_PAR_SJDB_GTF_TAG_EXON_PARENT_GENE_TYPE//\'/\'\"\'\"r\'}'.split(';')"; else echo None; fi ),
'sjdb_overhang': $( if [ ! -z ${VIASH_PAR_SJDB_OVERHANG+x} ]; then echo "int(r'${VIASH_PAR_SJDB_OVERHANG//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'sjdb_score': $( if [ ! -z ${VIASH_PAR_SJDB_SCORE+x} ]; then echo "int(r'${VIASH_PAR_SJDB_SCORE//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'sjdb_insert_save': $( if [ ! -z ${VIASH_PAR_SJDB_INSERT_SAVE+x} ]; then echo "r'${VIASH_PAR_SJDB_INSERT_SAVE//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'var_vcf_file': $( if [ ! -z ${VIASH_PAR_VAR_VCF_FILE+x} ]; then echo "r'${VIASH_PAR_VAR_VCF_FILE//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'read_files_type': $( if [ ! -z ${VIASH_PAR_READ_FILES_TYPE+x} ]; then echo "r'${VIASH_PAR_READ_FILES_TYPE//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'read_files_sam_attr_keep': $( if [ ! -z ${VIASH_PAR_READ_FILES_SAM_ATTR_KEEP+x} ]; then echo "r'${VIASH_PAR_READ_FILES_SAM_ATTR_KEEP//\'/\'\"\'\"r\'}'.split(';')"; else echo None; fi ),
'read_files_manifest': $( if [ ! -z ${VIASH_PAR_READ_FILES_MANIFEST+x} ]; then echo "r'${VIASH_PAR_READ_FILES_MANIFEST//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'read_files_prefix': $( if [ ! -z ${VIASH_PAR_READ_FILES_PREFIX+x} ]; then echo "r'${VIASH_PAR_READ_FILES_PREFIX//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'read_files_command': $( if [ ! -z ${VIASH_PAR_READ_FILES_COMMAND+x} ]; then echo "r'${VIASH_PAR_READ_FILES_COMMAND//\'/\'\"\'\"r\'}'.split(';')"; else echo None; fi ),
'read_map_number': $( if [ ! -z ${VIASH_PAR_READ_MAP_NUMBER+x} ]; then echo "int(r'${VIASH_PAR_READ_MAP_NUMBER//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'read_mates_lengths_in': $( if [ ! -z ${VIASH_PAR_READ_MATES_LENGTHS_IN+x} ]; then echo "r'${VIASH_PAR_READ_MATES_LENGTHS_IN//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'read_name_separator': $( if [ ! -z ${VIASH_PAR_READ_NAME_SEPARATOR+x} ]; then echo "r'${VIASH_PAR_READ_NAME_SEPARATOR//\'/\'\"\'\"r\'}'.split(';')"; else echo None; fi ),
'read_quality_score_base': $( if [ ! -z ${VIASH_PAR_READ_QUALITY_SCORE_BASE+x} ]; then echo "int(r'${VIASH_PAR_READ_QUALITY_SCORE_BASE//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'clip_adapter_type': $( if [ ! -z ${VIASH_PAR_CLIP_ADAPTER_TYPE+x} ]; then echo "r'${VIASH_PAR_CLIP_ADAPTER_TYPE//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'clip3p_nbases': $( if [ ! -z ${VIASH_PAR_CLIP3P_NBASES+x} ]; then echo "list(map(int, r'${VIASH_PAR_CLIP3P_NBASES//\'/\'\"\'\"r\'}'.split(';')))"; else echo None; fi ),
'clip3p_adapter_seq': $( if [ ! -z ${VIASH_PAR_CLIP3P_ADAPTER_SEQ+x} ]; then echo "r'${VIASH_PAR_CLIP3P_ADAPTER_SEQ//\'/\'\"\'\"r\'}'.split(';')"; else echo None; fi ),
'clip3p_adapter_mm_p': $( if [ ! -z ${VIASH_PAR_CLIP3P_ADAPTER_MM_P+x} ]; then echo "list(map(float, r'${VIASH_PAR_CLIP3P_ADAPTER_MM_P//\'/\'\"\'\"r\'}'.split(';')))"; else echo None; fi ),
'clip3p_after_adapter_nbases': $( if [ ! -z ${VIASH_PAR_CLIP3P_AFTER_ADAPTER_NBASES+x} ]; then echo "list(map(int, r'${VIASH_PAR_CLIP3P_AFTER_ADAPTER_NBASES//\'/\'\"\'\"r\'}'.split(';')))"; else echo None; fi ),
'clip5p_nbases': $( if [ ! -z ${VIASH_PAR_CLIP5P_NBASES+x} ]; then echo "list(map(int, r'${VIASH_PAR_CLIP5P_NBASES//\'/\'\"\'\"r\'}'.split(';')))"; else echo None; fi ),
'limit_genome_generate_ram': $( if [ ! -z ${VIASH_PAR_LIMIT_GENOME_GENERATE_RAM+x} ]; then echo "int(r'${VIASH_PAR_LIMIT_GENOME_GENERATE_RAM//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'limit_io_buffer_size': $( if [ ! -z ${VIASH_PAR_LIMIT_IO_BUFFER_SIZE+x} ]; then echo "list(map(int, r'${VIASH_PAR_LIMIT_IO_BUFFER_SIZE//\'/\'\"\'\"r\'}'.split(';')))"; else echo None; fi ),
'limit_out_sam_one_read_bytes': $( if [ ! -z ${VIASH_PAR_LIMIT_OUT_SAM_ONE_READ_BYTES+x} ]; then echo "int(r'${VIASH_PAR_LIMIT_OUT_SAM_ONE_READ_BYTES//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'limit_out_sj_one_read': $( if [ ! -z ${VIASH_PAR_LIMIT_OUT_SJ_ONE_READ+x} ]; then echo "int(r'${VIASH_PAR_LIMIT_OUT_SJ_ONE_READ//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'limit_out_sj_collapsed': $( if [ ! -z ${VIASH_PAR_LIMIT_OUT_SJ_COLLAPSED+x} ]; then echo "int(r'${VIASH_PAR_LIMIT_OUT_SJ_COLLAPSED//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'limit_bam_sort_ram': $( if [ ! -z ${VIASH_PAR_LIMIT_BAM_SORT_RAM+x} ]; then echo "int(r'${VIASH_PAR_LIMIT_BAM_SORT_RAM//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'limit_sjdb_insert_nsj': $( if [ ! -z ${VIASH_PAR_LIMIT_SJDB_INSERT_NSJ+x} ]; then echo "int(r'${VIASH_PAR_LIMIT_SJDB_INSERT_NSJ//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'limit_nreads_soft': $( if [ ! -z ${VIASH_PAR_LIMIT_NREADS_SOFT+x} ]; then echo "int(r'${VIASH_PAR_LIMIT_NREADS_SOFT//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'out_tmp_keep': $( if [ ! -z ${VIASH_PAR_OUT_TMP_KEEP+x} ]; then echo "r'${VIASH_PAR_OUT_TMP_KEEP//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'out_std': $( if [ ! -z ${VIASH_PAR_OUT_STD+x} ]; then echo "r'${VIASH_PAR_OUT_STD//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'out_reads_unmapped': $( if [ ! -z ${VIASH_PAR_OUT_READS_UNMAPPED+x} ]; then echo "r'${VIASH_PAR_OUT_READS_UNMAPPED//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'out_qs_conversion_add': $( if [ ! -z ${VIASH_PAR_OUT_QS_CONVERSION_ADD+x} ]; then echo "int(r'${VIASH_PAR_OUT_QS_CONVERSION_ADD//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'out_multimapper_order': $( if [ ! -z ${VIASH_PAR_OUT_MULTIMAPPER_ORDER+x} ]; then echo "r'${VIASH_PAR_OUT_MULTIMAPPER_ORDER//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'out_sam_type': $( if [ ! -z ${VIASH_PAR_OUT_SAM_TYPE+x} ]; then echo "r'${VIASH_PAR_OUT_SAM_TYPE//\'/\'\"\'\"r\'}'.split(';')"; else echo None; fi ),
'out_sam_mode': $( if [ ! -z ${VIASH_PAR_OUT_SAM_MODE+x} ]; then echo "r'${VIASH_PAR_OUT_SAM_MODE//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'out_sam_strand_field': $( if [ ! -z ${VIASH_PAR_OUT_SAM_STRAND_FIELD+x} ]; then echo "r'${VIASH_PAR_OUT_SAM_STRAND_FIELD//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'out_sam_attributes': $( if [ ! -z ${VIASH_PAR_OUT_SAM_ATTRIBUTES+x} ]; then echo "r'${VIASH_PAR_OUT_SAM_ATTRIBUTES//\'/\'\"\'\"r\'}'.split(';')"; else echo None; fi ),
'out_sam_attr_ih_start': $( if [ ! -z ${VIASH_PAR_OUT_SAM_ATTR_IH_START+x} ]; then echo "int(r'${VIASH_PAR_OUT_SAM_ATTR_IH_START//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'out_sam_unmapped': $( if [ ! -z ${VIASH_PAR_OUT_SAM_UNMAPPED+x} ]; then echo "r'${VIASH_PAR_OUT_SAM_UNMAPPED//\'/\'\"\'\"r\'}'.split(';')"; else echo None; fi ),
'out_sam_order': $( if [ ! -z ${VIASH_PAR_OUT_SAM_ORDER+x} ]; then echo "r'${VIASH_PAR_OUT_SAM_ORDER//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'out_sam_primary_flag': $( if [ ! -z ${VIASH_PAR_OUT_SAM_PRIMARY_FLAG+x} ]; then echo "r'${VIASH_PAR_OUT_SAM_PRIMARY_FLAG//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'out_sam_read_id': $( if [ ! -z ${VIASH_PAR_OUT_SAM_READ_ID+x} ]; then echo "r'${VIASH_PAR_OUT_SAM_READ_ID//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'out_sam_mapq_unique': $( if [ ! -z ${VIASH_PAR_OUT_SAM_MAPQ_UNIQUE+x} ]; then echo "int(r'${VIASH_PAR_OUT_SAM_MAPQ_UNIQUE//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'out_sam_flag_or': $( if [ ! -z ${VIASH_PAR_OUT_SAM_FLAG_OR+x} ]; then echo "int(r'${VIASH_PAR_OUT_SAM_FLAG_OR//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'out_sam_flag_and': $( if [ ! -z ${VIASH_PAR_OUT_SAM_FLAG_AND+x} ]; then echo "int(r'${VIASH_PAR_OUT_SAM_FLAG_AND//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'out_sam_attr_rg_line': $( if [ ! -z ${VIASH_PAR_OUT_SAM_ATTR_RG_LINE+x} ]; then echo "r'${VIASH_PAR_OUT_SAM_ATTR_RG_LINE//\'/\'\"\'\"r\'}'.split(';')"; else echo None; fi ),
'out_sam_header_hd': $( if [ ! -z ${VIASH_PAR_OUT_SAM_HEADER_HD+x} ]; then echo "r'${VIASH_PAR_OUT_SAM_HEADER_HD//\'/\'\"\'\"r\'}'.split(';')"; else echo None; fi ),
'out_sam_header_pg': $( if [ ! -z ${VIASH_PAR_OUT_SAM_HEADER_PG+x} ]; then echo "r'${VIASH_PAR_OUT_SAM_HEADER_PG//\'/\'\"\'\"r\'}'.split(';')"; else echo None; fi ),
'out_sam_header_comment_file': $( if [ ! -z ${VIASH_PAR_OUT_SAM_HEADER_COMMENT_FILE+x} ]; then echo "r'${VIASH_PAR_OUT_SAM_HEADER_COMMENT_FILE//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'out_sam_filter': $( if [ ! -z ${VIASH_PAR_OUT_SAM_FILTER+x} ]; then echo "r'${VIASH_PAR_OUT_SAM_FILTER//\'/\'\"\'\"r\'}'.split(';')"; else echo None; fi ),
'out_sam_mult_nmax': $( if [ ! -z ${VIASH_PAR_OUT_SAM_MULT_NMAX+x} ]; then echo "int(r'${VIASH_PAR_OUT_SAM_MULT_NMAX//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'out_sam_tlen': $( if [ ! -z ${VIASH_PAR_OUT_SAM_TLEN+x} ]; then echo "int(r'${VIASH_PAR_OUT_SAM_TLEN//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'out_bam_compression': $( if [ ! -z ${VIASH_PAR_OUT_BAM_COMPRESSION+x} ]; then echo "int(r'${VIASH_PAR_OUT_BAM_COMPRESSION//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'out_bam_sorting_thread_n': $( if [ ! -z ${VIASH_PAR_OUT_BAM_SORTING_THREAD_N+x} ]; then echo "int(r'${VIASH_PAR_OUT_BAM_SORTING_THREAD_N//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'out_bam_sorting_bins_n': $( if [ ! -z ${VIASH_PAR_OUT_BAM_SORTING_BINS_N+x} ]; then echo "int(r'${VIASH_PAR_OUT_BAM_SORTING_BINS_N//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'bam_remove_duplicates_type': $( if [ ! -z ${VIASH_PAR_BAM_REMOVE_DUPLICATES_TYPE+x} ]; then echo "r'${VIASH_PAR_BAM_REMOVE_DUPLICATES_TYPE//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'bam_remove_duplicates_mate2bases_n': $( if [ ! -z ${VIASH_PAR_BAM_REMOVE_DUPLICATES_MATE2BASES_N+x} ]; then echo "int(r'${VIASH_PAR_BAM_REMOVE_DUPLICATES_MATE2BASES_N//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'out_wig_type': $( if [ ! -z ${VIASH_PAR_OUT_WIG_TYPE+x} ]; then echo "r'${VIASH_PAR_OUT_WIG_TYPE//\'/\'\"\'\"r\'}'.split(';')"; else echo None; fi ),
'out_wig_strand': $( if [ ! -z ${VIASH_PAR_OUT_WIG_STRAND+x} ]; then echo "r'${VIASH_PAR_OUT_WIG_STRAND//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'out_wig_references_prefix': $( if [ ! -z ${VIASH_PAR_OUT_WIG_REFERENCES_PREFIX+x} ]; then echo "r'${VIASH_PAR_OUT_WIG_REFERENCES_PREFIX//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'out_wig_norm': $( if [ ! -z ${VIASH_PAR_OUT_WIG_NORM+x} ]; then echo "r'${VIASH_PAR_OUT_WIG_NORM//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'out_filter_type': $( if [ ! -z ${VIASH_PAR_OUT_FILTER_TYPE+x} ]; then echo "r'${VIASH_PAR_OUT_FILTER_TYPE//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'out_filter_multimap_score_range': $( if [ ! -z ${VIASH_PAR_OUT_FILTER_MULTIMAP_SCORE_RANGE+x} ]; then echo "int(r'${VIASH_PAR_OUT_FILTER_MULTIMAP_SCORE_RANGE//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'out_filter_multimap_nmax': $( if [ ! -z ${VIASH_PAR_OUT_FILTER_MULTIMAP_NMAX+x} ]; then echo "int(r'${VIASH_PAR_OUT_FILTER_MULTIMAP_NMAX//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'out_filter_mismatch_nmax': $( if [ ! -z ${VIASH_PAR_OUT_FILTER_MISMATCH_NMAX+x} ]; then echo "int(r'${VIASH_PAR_OUT_FILTER_MISMATCH_NMAX//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'out_filter_mismatch_nover_lmax': $( if [ ! -z ${VIASH_PAR_OUT_FILTER_MISMATCH_NOVER_LMAX+x} ]; then echo "float(r'${VIASH_PAR_OUT_FILTER_MISMATCH_NOVER_LMAX//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'out_filter_mismatch_nover_read_lmax': $( if [ ! -z ${VIASH_PAR_OUT_FILTER_MISMATCH_NOVER_READ_LMAX+x} ]; then echo "float(r'${VIASH_PAR_OUT_FILTER_MISMATCH_NOVER_READ_LMAX//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'out_filter_score_min': $( if [ ! -z ${VIASH_PAR_OUT_FILTER_SCORE_MIN+x} ]; then echo "int(r'${VIASH_PAR_OUT_FILTER_SCORE_MIN//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'out_filter_score_min_over_lread': $( if [ ! -z ${VIASH_PAR_OUT_FILTER_SCORE_MIN_OVER_LREAD+x} ]; then echo "float(r'${VIASH_PAR_OUT_FILTER_SCORE_MIN_OVER_LREAD//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'out_filter_match_nmin': $( if [ ! -z ${VIASH_PAR_OUT_FILTER_MATCH_NMIN+x} ]; then echo "int(r'${VIASH_PAR_OUT_FILTER_MATCH_NMIN//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'out_filter_match_nmin_over_lread': $( if [ ! -z ${VIASH_PAR_OUT_FILTER_MATCH_NMIN_OVER_LREAD+x} ]; then echo "float(r'${VIASH_PAR_OUT_FILTER_MATCH_NMIN_OVER_LREAD//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'out_filter_intron_motifs': $( if [ ! -z ${VIASH_PAR_OUT_FILTER_INTRON_MOTIFS+x} ]; then echo "r'${VIASH_PAR_OUT_FILTER_INTRON_MOTIFS//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'out_filter_intron_strands': $( if [ ! -z ${VIASH_PAR_OUT_FILTER_INTRON_STRANDS+x} ]; then echo "r'${VIASH_PAR_OUT_FILTER_INTRON_STRANDS//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'out_sj_type': $( if [ ! -z ${VIASH_PAR_OUT_SJ_TYPE+x} ]; then echo "r'${VIASH_PAR_OUT_SJ_TYPE//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'out_sj_filter_reads': $( if [ ! -z ${VIASH_PAR_OUT_SJ_FILTER_READS+x} ]; then echo "r'${VIASH_PAR_OUT_SJ_FILTER_READS//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'out_sj_filter_overhang_min': $( if [ ! -z ${VIASH_PAR_OUT_SJ_FILTER_OVERHANG_MIN+x} ]; then echo "list(map(int, r'${VIASH_PAR_OUT_SJ_FILTER_OVERHANG_MIN//\'/\'\"\'\"r\'}'.split(';')))"; else echo None; fi ),
'out_sj_filter_count_unique_min': $( if [ ! -z ${VIASH_PAR_OUT_SJ_FILTER_COUNT_UNIQUE_MIN+x} ]; then echo "list(map(int, r'${VIASH_PAR_OUT_SJ_FILTER_COUNT_UNIQUE_MIN//\'/\'\"\'\"r\'}'.split(';')))"; else echo None; fi ),
'out_sj_filter_count_total_min': $( if [ ! -z ${VIASH_PAR_OUT_SJ_FILTER_COUNT_TOTAL_MIN+x} ]; then echo "list(map(int, r'${VIASH_PAR_OUT_SJ_FILTER_COUNT_TOTAL_MIN//\'/\'\"\'\"r\'}'.split(';')))"; else echo None; fi ),
'out_sj_filter_dist_to_other_sj_min': $( if [ ! -z ${VIASH_PAR_OUT_SJ_FILTER_DIST_TO_OTHER_SJ_MIN+x} ]; then echo "list(map(int, r'${VIASH_PAR_OUT_SJ_FILTER_DIST_TO_OTHER_SJ_MIN//\'/\'\"\'\"r\'}'.split(';')))"; else echo None; fi ),
'out_sj_filter_intron_max_vs_read_n': $( if [ ! -z ${VIASH_PAR_OUT_SJ_FILTER_INTRON_MAX_VS_READ_N+x} ]; then echo "list(map(int, r'${VIASH_PAR_OUT_SJ_FILTER_INTRON_MAX_VS_READ_N//\'/\'\"\'\"r\'}'.split(';')))"; else echo None; fi ),
'score_gap': $( if [ ! -z ${VIASH_PAR_SCORE_GAP+x} ]; then echo "int(r'${VIASH_PAR_SCORE_GAP//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'score_gap_noncan': $( if [ ! -z ${VIASH_PAR_SCORE_GAP_NONCAN+x} ]; then echo "int(r'${VIASH_PAR_SCORE_GAP_NONCAN//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'score_gap_gcag': $( if [ ! -z ${VIASH_PAR_SCORE_GAP_GCAG+x} ]; then echo "int(r'${VIASH_PAR_SCORE_GAP_GCAG//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'score_gap_atac': $( if [ ! -z ${VIASH_PAR_SCORE_GAP_ATAC+x} ]; then echo "int(r'${VIASH_PAR_SCORE_GAP_ATAC//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'score_genomic_length_log2scale': $( if [ ! -z ${VIASH_PAR_SCORE_GENOMIC_LENGTH_LOG2SCALE+x} ]; then echo "int(r'${VIASH_PAR_SCORE_GENOMIC_LENGTH_LOG2SCALE//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'score_del_open': $( if [ ! -z ${VIASH_PAR_SCORE_DEL_OPEN+x} ]; then echo "int(r'${VIASH_PAR_SCORE_DEL_OPEN//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'score_del_base': $( if [ ! -z ${VIASH_PAR_SCORE_DEL_BASE+x} ]; then echo "int(r'${VIASH_PAR_SCORE_DEL_BASE//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'score_ins_open': $( if [ ! -z ${VIASH_PAR_SCORE_INS_OPEN+x} ]; then echo "int(r'${VIASH_PAR_SCORE_INS_OPEN//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'score_ins_base': $( if [ ! -z ${VIASH_PAR_SCORE_INS_BASE+x} ]; then echo "int(r'${VIASH_PAR_SCORE_INS_BASE//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'score_stitch_sj_shift': $( if [ ! -z ${VIASH_PAR_SCORE_STITCH_SJ_SHIFT+x} ]; then echo "int(r'${VIASH_PAR_SCORE_STITCH_SJ_SHIFT//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'seed_search_start_lmax': $( if [ ! -z ${VIASH_PAR_SEED_SEARCH_START_LMAX+x} ]; then echo "int(r'${VIASH_PAR_SEED_SEARCH_START_LMAX//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'seed_search_start_lmax_over_lread': $( if [ ! -z ${VIASH_PAR_SEED_SEARCH_START_LMAX_OVER_LREAD+x} ]; then echo "float(r'${VIASH_PAR_SEED_SEARCH_START_LMAX_OVER_LREAD//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'seed_search_lmax': $( if [ ! -z ${VIASH_PAR_SEED_SEARCH_LMAX+x} ]; then echo "int(r'${VIASH_PAR_SEED_SEARCH_LMAX//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'seed_multimap_nmax': $( if [ ! -z ${VIASH_PAR_SEED_MULTIMAP_NMAX+x} ]; then echo "int(r'${VIASH_PAR_SEED_MULTIMAP_NMAX//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'seed_per_read_nmax': $( if [ ! -z ${VIASH_PAR_SEED_PER_READ_NMAX+x} ]; then echo "int(r'${VIASH_PAR_SEED_PER_READ_NMAX//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'seed_per_window_nmax': $( if [ ! -z ${VIASH_PAR_SEED_PER_WINDOW_NMAX+x} ]; then echo "int(r'${VIASH_PAR_SEED_PER_WINDOW_NMAX//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'seed_none_loci_per_window': $( if [ ! -z ${VIASH_PAR_SEED_NONE_LOCI_PER_WINDOW+x} ]; then echo "int(r'${VIASH_PAR_SEED_NONE_LOCI_PER_WINDOW//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'seed_split_min': $( if [ ! -z ${VIASH_PAR_SEED_SPLIT_MIN+x} ]; then echo "int(r'${VIASH_PAR_SEED_SPLIT_MIN//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'seed_map_min': $( if [ ! -z ${VIASH_PAR_SEED_MAP_MIN+x} ]; then echo "int(r'${VIASH_PAR_SEED_MAP_MIN//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'align_intron_min': $( if [ ! -z ${VIASH_PAR_ALIGN_INTRON_MIN+x} ]; then echo "int(r'${VIASH_PAR_ALIGN_INTRON_MIN//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'align_intron_max': $( if [ ! -z ${VIASH_PAR_ALIGN_INTRON_MAX+x} ]; then echo "int(r'${VIASH_PAR_ALIGN_INTRON_MAX//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'align_mates_gap_max': $( if [ ! -z ${VIASH_PAR_ALIGN_MATES_GAP_MAX+x} ]; then echo "int(r'${VIASH_PAR_ALIGN_MATES_GAP_MAX//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'align_sj_overhang_min': $( if [ ! -z ${VIASH_PAR_ALIGN_SJ_OVERHANG_MIN+x} ]; then echo "int(r'${VIASH_PAR_ALIGN_SJ_OVERHANG_MIN//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'align_sj_stitch_mismatch_nmax': $( if [ ! -z ${VIASH_PAR_ALIGN_SJ_STITCH_MISMATCH_NMAX+x} ]; then echo "list(map(int, r'${VIASH_PAR_ALIGN_SJ_STITCH_MISMATCH_NMAX//\'/\'\"\'\"r\'}'.split(';')))"; else echo None; fi ),
'align_sjdb_overhang_min': $( if [ ! -z ${VIASH_PAR_ALIGN_SJDB_OVERHANG_MIN+x} ]; then echo "int(r'${VIASH_PAR_ALIGN_SJDB_OVERHANG_MIN//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'align_spliced_mate_map_lmin': $( if [ ! -z ${VIASH_PAR_ALIGN_SPLICED_MATE_MAP_LMIN+x} ]; then echo "int(r'${VIASH_PAR_ALIGN_SPLICED_MATE_MAP_LMIN//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'align_spliced_mate_map_lmin_over_lmate': $( if [ ! -z ${VIASH_PAR_ALIGN_SPLICED_MATE_MAP_LMIN_OVER_LMATE+x} ]; then echo "float(r'${VIASH_PAR_ALIGN_SPLICED_MATE_MAP_LMIN_OVER_LMATE//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'align_windows_per_read_nmax': $( if [ ! -z ${VIASH_PAR_ALIGN_WINDOWS_PER_READ_NMAX+x} ]; then echo "int(r'${VIASH_PAR_ALIGN_WINDOWS_PER_READ_NMAX//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'align_transcripts_per_window_nmax': $( if [ ! -z ${VIASH_PAR_ALIGN_TRANSCRIPTS_PER_WINDOW_NMAX+x} ]; then echo "int(r'${VIASH_PAR_ALIGN_TRANSCRIPTS_PER_WINDOW_NMAX//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'align_transcripts_per_read_nmax': $( if [ ! -z ${VIASH_PAR_ALIGN_TRANSCRIPTS_PER_READ_NMAX+x} ]; then echo "int(r'${VIASH_PAR_ALIGN_TRANSCRIPTS_PER_READ_NMAX//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'align_ends_type': $( if [ ! -z ${VIASH_PAR_ALIGN_ENDS_TYPE+x} ]; then echo "r'${VIASH_PAR_ALIGN_ENDS_TYPE//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'align_ends_protrude': $( if [ ! -z ${VIASH_PAR_ALIGN_ENDS_PROTRUDE+x} ]; then echo "r'${VIASH_PAR_ALIGN_ENDS_PROTRUDE//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'align_soft_clip_at_reference_ends': $( if [ ! -z ${VIASH_PAR_ALIGN_SOFT_CLIP_AT_REFERENCE_ENDS+x} ]; then echo "r'${VIASH_PAR_ALIGN_SOFT_CLIP_AT_REFERENCE_ENDS//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'align_insertion_flush': $( if [ ! -z ${VIASH_PAR_ALIGN_INSERTION_FLUSH+x} ]; then echo "r'${VIASH_PAR_ALIGN_INSERTION_FLUSH//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'pe_overlap_nbases_min': $( if [ ! -z ${VIASH_PAR_PE_OVERLAP_NBASES_MIN+x} ]; then echo "int(r'${VIASH_PAR_PE_OVERLAP_NBASES_MIN//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'pe_overlap_mm_p': $( if [ ! -z ${VIASH_PAR_PE_OVERLAP_MM_P+x} ]; then echo "float(r'${VIASH_PAR_PE_OVERLAP_MM_P//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'win_anchor_multimap_nmax': $( if [ ! -z ${VIASH_PAR_WIN_ANCHOR_MULTIMAP_NMAX+x} ]; then echo "int(r'${VIASH_PAR_WIN_ANCHOR_MULTIMAP_NMAX//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'win_bin_nbits': $( if [ ! -z ${VIASH_PAR_WIN_BIN_NBITS+x} ]; then echo "int(r'${VIASH_PAR_WIN_BIN_NBITS//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'win_anchor_dist_nbins': $( if [ ! -z ${VIASH_PAR_WIN_ANCHOR_DIST_NBINS+x} ]; then echo "int(r'${VIASH_PAR_WIN_ANCHOR_DIST_NBINS//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'win_flank_nbins': $( if [ ! -z ${VIASH_PAR_WIN_FLANK_NBINS+x} ]; then echo "int(r'${VIASH_PAR_WIN_FLANK_NBINS//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'win_read_coverage_relative_min': $( if [ ! -z ${VIASH_PAR_WIN_READ_COVERAGE_RELATIVE_MIN+x} ]; then echo "float(r'${VIASH_PAR_WIN_READ_COVERAGE_RELATIVE_MIN//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'win_read_coverage_bases_min': $( if [ ! -z ${VIASH_PAR_WIN_READ_COVERAGE_BASES_MIN+x} ]; then echo "int(r'${VIASH_PAR_WIN_READ_COVERAGE_BASES_MIN//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'chim_out_type': $( if [ ! -z ${VIASH_PAR_CHIM_OUT_TYPE+x} ]; then echo "r'${VIASH_PAR_CHIM_OUT_TYPE//\'/\'\"\'\"r\'}'.split(';')"; else echo None; fi ),
'chim_segment_min': $( if [ ! -z ${VIASH_PAR_CHIM_SEGMENT_MIN+x} ]; then echo "int(r'${VIASH_PAR_CHIM_SEGMENT_MIN//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'chim_score_min': $( if [ ! -z ${VIASH_PAR_CHIM_SCORE_MIN+x} ]; then echo "int(r'${VIASH_PAR_CHIM_SCORE_MIN//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'chim_score_drop_max': $( if [ ! -z ${VIASH_PAR_CHIM_SCORE_DROP_MAX+x} ]; then echo "int(r'${VIASH_PAR_CHIM_SCORE_DROP_MAX//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'chim_score_separation': $( if [ ! -z ${VIASH_PAR_CHIM_SCORE_SEPARATION+x} ]; then echo "int(r'${VIASH_PAR_CHIM_SCORE_SEPARATION//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'chim_score_junction_non_gtag': $( if [ ! -z ${VIASH_PAR_CHIM_SCORE_JUNCTION_NON_GTAG+x} ]; then echo "int(r'${VIASH_PAR_CHIM_SCORE_JUNCTION_NON_GTAG//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'chim_junction_overhang_min': $( if [ ! -z ${VIASH_PAR_CHIM_JUNCTION_OVERHANG_MIN+x} ]; then echo "int(r'${VIASH_PAR_CHIM_JUNCTION_OVERHANG_MIN//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'chim_segment_read_gap_max': $( if [ ! -z ${VIASH_PAR_CHIM_SEGMENT_READ_GAP_MAX+x} ]; then echo "int(r'${VIASH_PAR_CHIM_SEGMENT_READ_GAP_MAX//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'chim_filter': $( if [ ! -z ${VIASH_PAR_CHIM_FILTER+x} ]; then echo "r'${VIASH_PAR_CHIM_FILTER//\'/\'\"\'\"r\'}'.split(';')"; else echo None; fi ),
'chim_main_segment_mult_nmax': $( if [ ! -z ${VIASH_PAR_CHIM_MAIN_SEGMENT_MULT_NMAX+x} ]; then echo "int(r'${VIASH_PAR_CHIM_MAIN_SEGMENT_MULT_NMAX//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'chim_multimap_nmax': $( if [ ! -z ${VIASH_PAR_CHIM_MULTIMAP_NMAX+x} ]; then echo "int(r'${VIASH_PAR_CHIM_MULTIMAP_NMAX//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'chim_multimap_score_range': $( if [ ! -z ${VIASH_PAR_CHIM_MULTIMAP_SCORE_RANGE+x} ]; then echo "int(r'${VIASH_PAR_CHIM_MULTIMAP_SCORE_RANGE//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'chim_nonchim_score_drop_min': $( if [ ! -z ${VIASH_PAR_CHIM_NONCHIM_SCORE_DROP_MIN+x} ]; then echo "int(r'${VIASH_PAR_CHIM_NONCHIM_SCORE_DROP_MIN//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'chim_out_junction_format': $( if [ ! -z ${VIASH_PAR_CHIM_OUT_JUNCTION_FORMAT+x} ]; then echo "int(r'${VIASH_PAR_CHIM_OUT_JUNCTION_FORMAT//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'quant_mode': $( if [ ! -z ${VIASH_PAR_QUANT_MODE+x} ]; then echo "r'${VIASH_PAR_QUANT_MODE//\'/\'\"\'\"r\'}'.split(';')"; else echo None; fi ),
'quant_transcriptome_bam_compression': $( if [ ! -z ${VIASH_PAR_QUANT_TRANSCRIPTOME_BAM_COMPRESSION+x} ]; then echo "int(r'${VIASH_PAR_QUANT_TRANSCRIPTOME_BAM_COMPRESSION//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'quant_transcriptome_sam_output': $( if [ ! -z ${VIASH_PAR_QUANT_TRANSCRIPTOME_SAM_OUTPUT+x} ]; then echo "r'${VIASH_PAR_QUANT_TRANSCRIPTOME_SAM_OUTPUT//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'twopass_mode': $( if [ ! -z ${VIASH_PAR_TWOPASS_MODE+x} ]; then echo "r'${VIASH_PAR_TWOPASS_MODE//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'twopass1reads_n': $( if [ ! -z ${VIASH_PAR_TWOPASS1READS_N+x} ]; then echo "int(r'${VIASH_PAR_TWOPASS1READS_N//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'wasp_output_mode': $( if [ ! -z ${VIASH_PAR_WASP_OUTPUT_MODE+x} ]; then echo "r'${VIASH_PAR_WASP_OUTPUT_MODE//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'solo_type': $( if [ ! -z ${VIASH_PAR_SOLO_TYPE+x} ]; then echo "r'${VIASH_PAR_SOLO_TYPE//\'/\'\"\'\"r\'}'.split(';')"; else echo None; fi ),
'solo_cb_type': $( if [ ! -z ${VIASH_PAR_SOLO_CB_TYPE+x} ]; then echo "r'${VIASH_PAR_SOLO_CB_TYPE//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'solo_cb_whitelist': $( if [ ! -z ${VIASH_PAR_SOLO_CB_WHITELIST+x} ]; then echo "r'${VIASH_PAR_SOLO_CB_WHITELIST//\'/\'\"\'\"r\'}'.split(';')"; else echo None; fi ),
'solo_cb_start': $( if [ ! -z ${VIASH_PAR_SOLO_CB_START+x} ]; then echo "int(r'${VIASH_PAR_SOLO_CB_START//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'solo_cb_len': $( if [ ! -z ${VIASH_PAR_SOLO_CB_LEN+x} ]; then echo "int(r'${VIASH_PAR_SOLO_CB_LEN//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'solo_umi_start': $( if [ ! -z ${VIASH_PAR_SOLO_UMI_START+x} ]; then echo "int(r'${VIASH_PAR_SOLO_UMI_START//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'solo_umi_len': $( if [ ! -z ${VIASH_PAR_SOLO_UMI_LEN+x} ]; then echo "int(r'${VIASH_PAR_SOLO_UMI_LEN//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'solo_barcode_read_length': $( if [ ! -z ${VIASH_PAR_SOLO_BARCODE_READ_LENGTH+x} ]; then echo "int(r'${VIASH_PAR_SOLO_BARCODE_READ_LENGTH//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'solo_barcode_mate': $( if [ ! -z ${VIASH_PAR_SOLO_BARCODE_MATE+x} ]; then echo "int(r'${VIASH_PAR_SOLO_BARCODE_MATE//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'solo_cb_position': $( if [ ! -z ${VIASH_PAR_SOLO_CB_POSITION+x} ]; then echo "r'${VIASH_PAR_SOLO_CB_POSITION//\'/\'\"\'\"r\'}'.split(';')"; else echo None; fi ),
'solo_umi_position': $( if [ ! -z ${VIASH_PAR_SOLO_UMI_POSITION+x} ]; then echo "r'${VIASH_PAR_SOLO_UMI_POSITION//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'solo_adapter_sequence': $( if [ ! -z ${VIASH_PAR_SOLO_ADAPTER_SEQUENCE+x} ]; then echo "r'${VIASH_PAR_SOLO_ADAPTER_SEQUENCE//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'solo_adapter_mismatches_nmax': $( if [ ! -z ${VIASH_PAR_SOLO_ADAPTER_MISMATCHES_NMAX+x} ]; then echo "int(r'${VIASH_PAR_SOLO_ADAPTER_MISMATCHES_NMAX//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'solo_cb_match_wl_type': $( if [ ! -z ${VIASH_PAR_SOLO_CB_MATCH_WL_TYPE+x} ]; then echo "r'${VIASH_PAR_SOLO_CB_MATCH_WL_TYPE//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'solo_input_sam_attr_barcode_seq': $( if [ ! -z ${VIASH_PAR_SOLO_INPUT_SAM_ATTR_BARCODE_SEQ+x} ]; then echo "r'${VIASH_PAR_SOLO_INPUT_SAM_ATTR_BARCODE_SEQ//\'/\'\"\'\"r\'}'.split(';')"; else echo None; fi ),
'solo_input_sam_attr_barcode_qual': $( if [ ! -z ${VIASH_PAR_SOLO_INPUT_SAM_ATTR_BARCODE_QUAL+x} ]; then echo "r'${VIASH_PAR_SOLO_INPUT_SAM_ATTR_BARCODE_QUAL//\'/\'\"\'\"r\'}'.split(';')"; else echo None; fi ),
'solo_strand': $( if [ ! -z ${VIASH_PAR_SOLO_STRAND+x} ]; then echo "r'${VIASH_PAR_SOLO_STRAND//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'solo_features': $( if [ ! -z ${VIASH_PAR_SOLO_FEATURES+x} ]; then echo "r'${VIASH_PAR_SOLO_FEATURES//\'/\'\"\'\"r\'}'.split(';')"; else echo None; fi ),
'solo_multi_mappers': $( if [ ! -z ${VIASH_PAR_SOLO_MULTI_MAPPERS+x} ]; then echo "r'${VIASH_PAR_SOLO_MULTI_MAPPERS//\'/\'\"\'\"r\'}'.split(';')"; else echo None; fi ),
'solo_umi_dedup': $( if [ ! -z ${VIASH_PAR_SOLO_UMI_DEDUP+x} ]; then echo "r'${VIASH_PAR_SOLO_UMI_DEDUP//\'/\'\"\'\"r\'}'.split(';')"; else echo None; fi ),
'solo_umi_filtering': $( if [ ! -z ${VIASH_PAR_SOLO_UMI_FILTERING+x} ]; then echo "r'${VIASH_PAR_SOLO_UMI_FILTERING//\'/\'\"\'\"r\'}'.split(';')"; else echo None; fi ),
'solo_out_file_names': $( if [ ! -z ${VIASH_PAR_SOLO_OUT_FILE_NAMES+x} ]; then echo "r'${VIASH_PAR_SOLO_OUT_FILE_NAMES//\'/\'\"\'\"r\'}'.split(';')"; else echo None; fi ),
'solo_cell_filter': $( if [ ! -z ${VIASH_PAR_SOLO_CELL_FILTER+x} ]; then echo "r'${VIASH_PAR_SOLO_CELL_FILTER//\'/\'\"\'\"r\'}'.split(';')"; else echo None; fi ),
'solo_out_format_features_gene_field3': $( if [ ! -z ${VIASH_PAR_SOLO_OUT_FORMAT_FEATURES_GENE_FIELD3+x} ]; then echo "r'${VIASH_PAR_SOLO_OUT_FORMAT_FEATURES_GENE_FIELD3//\'/\'\"\'\"r\'}'.split(';')"; else echo None; fi ),
'solo_cell_read_stats': $( if [ ! -z ${VIASH_PAR_SOLO_CELL_READ_STATS+x} ]; then echo "r'${VIASH_PAR_SOLO_CELL_READ_STATS//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'input': $( if [ ! -z ${VIASH_PAR_INPUT+x} ]; then echo "r'${VIASH_PAR_INPUT//\'/\'\"\'\"r\'}'.split(';')"; else echo None; fi ),
'input_r2': $( if [ ! -z ${VIASH_PAR_INPUT_R2+x} ]; then echo "r'${VIASH_PAR_INPUT_R2//\'/\'\"\'\"r\'}'.split(';')"; else echo None; fi ),
'aligned_reads': $( if [ ! -z ${VIASH_PAR_ALIGNED_READS+x} ]; then echo "r'${VIASH_PAR_ALIGNED_READS//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'reads_per_gene': $( if [ ! -z ${VIASH_PAR_READS_PER_GENE+x} ]; then echo "r'${VIASH_PAR_READS_PER_GENE//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'unmapped': $( if [ ! -z ${VIASH_PAR_UNMAPPED+x} ]; then echo "r'${VIASH_PAR_UNMAPPED//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'unmapped_r2': $( if [ ! -z ${VIASH_PAR_UNMAPPED_R2+x} ]; then echo "r'${VIASH_PAR_UNMAPPED_R2//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'chimeric_junctions': $( if [ ! -z ${VIASH_PAR_CHIMERIC_JUNCTIONS+x} ]; then echo "r'${VIASH_PAR_CHIMERIC_JUNCTIONS//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'log': $( if [ ! -z ${VIASH_PAR_LOG+x} ]; then echo "r'${VIASH_PAR_LOG//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'splice_junctions': $( if [ ! -z ${VIASH_PAR_SPLICE_JUNCTIONS+x} ]; then echo "r'${VIASH_PAR_SPLICE_JUNCTIONS//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'reads_aligned_to_transcriptome': $( if [ ! -z ${VIASH_PAR_READS_ALIGNED_TO_TRANSCRIPTOME+x} ]; then echo "r'${VIASH_PAR_READS_ALIGNED_TO_TRANSCRIPTOME//\'/\'\"\'\"r\'}'"; else echo None; fi )
}
meta = {
'name': $( if [ ! -z ${VIASH_META_NAME+x} ]; then echo "r'${VIASH_META_NAME//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'functionality_name': $( if [ ! -z ${VIASH_META_FUNCTIONALITY_NAME+x} ]; then echo "r'${VIASH_META_FUNCTIONALITY_NAME//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'resources_dir': $( if [ ! -z ${VIASH_META_RESOURCES_DIR+x} ]; then echo "r'${VIASH_META_RESOURCES_DIR//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'executable': $( if [ ! -z ${VIASH_META_EXECUTABLE+x} ]; then echo "r'${VIASH_META_EXECUTABLE//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'config': $( if [ ! -z ${VIASH_META_CONFIG+x} ]; then echo "r'${VIASH_META_CONFIG//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'temp_dir': $( if [ ! -z ${VIASH_META_TEMP_DIR+x} ]; then echo "r'${VIASH_META_TEMP_DIR//\'/\'\"\'\"r\'}'"; else echo None; fi ),
'cpus': $( if [ ! -z ${VIASH_META_CPUS+x} ]; then echo "int(r'${VIASH_META_CPUS//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'memory_b': $( if [ ! -z ${VIASH_META_MEMORY_B+x} ]; then echo "int(r'${VIASH_META_MEMORY_B//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'memory_kb': $( if [ ! -z ${VIASH_META_MEMORY_KB+x} ]; then echo "int(r'${VIASH_META_MEMORY_KB//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'memory_mb': $( if [ ! -z ${VIASH_META_MEMORY_MB+x} ]; then echo "int(r'${VIASH_META_MEMORY_MB//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'memory_gb': $( if [ ! -z ${VIASH_META_MEMORY_GB+x} ]; then echo "int(r'${VIASH_META_MEMORY_GB//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'memory_tb': $( if [ ! -z ${VIASH_META_MEMORY_TB+x} ]; then echo "int(r'${VIASH_META_MEMORY_TB//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'memory_pb': $( if [ ! -z ${VIASH_META_MEMORY_PB+x} ]; then echo "int(r'${VIASH_META_MEMORY_PB//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'memory_kib': $( if [ ! -z ${VIASH_META_MEMORY_KIB+x} ]; then echo "int(r'${VIASH_META_MEMORY_KIB//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'memory_mib': $( if [ ! -z ${VIASH_META_MEMORY_MIB+x} ]; then echo "int(r'${VIASH_META_MEMORY_MIB//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'memory_gib': $( if [ ! -z ${VIASH_META_MEMORY_GIB+x} ]; then echo "int(r'${VIASH_META_MEMORY_GIB//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'memory_tib': $( if [ ! -z ${VIASH_META_MEMORY_TIB+x} ]; then echo "int(r'${VIASH_META_MEMORY_TIB//\'/\'\"\'\"r\'}')"; else echo None; fi ),
'memory_pib': $( if [ ! -z ${VIASH_META_MEMORY_PIB+x} ]; then echo "int(r'${VIASH_META_MEMORY_PIB//\'/\'\"\'\"r\'}')"; else echo None; fi )
}
dep = {
}
## VIASH END
# read config
with open(meta["config"], 'r') as stream:
config = yaml.safe_load(stream)
all_arguments = {
arg["name"].lstrip('-'): arg
for argument_group in config["argument_groups"]
for arg in argument_group["arguments"]
}
##################################################
# check and process SE / PE R1 input files
input_r1 = par["input"]
readFilesIn = ",".join(par["input"])
par["input"] = None
# check and process PE R2 input files
input_r2 = par["input_r2"]
if input_r2 is not None:
if len(input_r1) != len(input_r2):
raise ValueError("The number of R1 and R2 files do not match.")
readFilesIn = [readFilesIn, ",".join(par["input_r2"])]
par["input_r2"] = None
# store readFilesIn
par["readFilesIn"] = readFilesIn
##################################################
# determine readFilesCommand
if input_r1[0].endswith(".gz"):
print(">> Input files are gzipped, setting readFilesCommand to zcat", flush=True)
par["readFilesCommand"] = "zcat"
elif input_r1[0].endswith(".bz2"):
print(">> Input files are bzipped, setting readFilesCommand to bzcat", flush=True)
par["readFilesCommand"] = "bzcat"
##################################################
# store output paths
expected_outputs = {
"aligned_reads": ["Aligned.out.sam", "Aligned.out.bam"],
"reads_per_gene": "ReadsPerGene.out.tab",
"chimeric_junctions": "Chimeric.out.junction",
"log": "Log.final.out",
"splice_junctions": "SJ.out.tab",
"unmapped": "Unmapped.out.mate1",
"unmapped_r2": "Unmapped.out.mate2",
"reads_aligned_to_transcriptome": "Aligned.toTranscriptome.out.bam"
}
output_paths = {name: par[name] for name in expected_outputs.keys()}
for name in expected_outputs.keys():
par[name] = None
##################################################
# process other args
par["runMode"] = "alignReads"
if "cpus" in meta and meta["cpus"]:
par["runThreadN"] = meta["cpus"]
##################################################
# run STAR and move output to final destination
with tempfile.TemporaryDirectory(prefix="star-", dir=meta["temp_dir"], ignore_cleanup_errors=True) as temp_dir:
print(">> Constructing command", flush=True)
# set output paths
temp_dir = Path(temp_dir)
par["outTmpDir"] = temp_dir / "tempdir"
out_dir = temp_dir / "out"
par["outFileNamePrefix"] = f"{out_dir}/" # star needs this slash
# construct command
cmd_args = [ "STAR" ]
for name, value in par.items():
if value is not None:
if name in all_arguments:
arg_info = all_arguments[name].get("info", {})
cli_name = arg_info.get("orig_name", f"--{name}")
else:
cli_name = f"--{name}"
val_to_add = value if isinstance(value, list) else [value]
cmd_args.extend([cli_name] + [str(x) for x in val_to_add])
print("", flush=True)
# run command
print(">> Running STAR with command:", flush=True)
print(f"+ {' '.join(cmd_args)}", end="\\n\\n", flush=True)
subprocess.run(
cmd_args,
check=True
)
print(">> STAR finished successfully", end="\\n\\n", flush=True)
# move output to final destination
print(">> Moving output to final destination", flush=True)
for name, paths in expected_outputs.items():
for expected_path in [paths] if isinstance(paths, str) else paths:
expected_full_path = out_dir / expected_path
if output_paths[name] and expected_full_path.is_file():
print(f">> Moving {expected_path} to {output_paths[name]}", flush=True)
shutil.move(expected_full_path, output_paths[name])
VIASHMAIN
python -B "\$tempscript" &
wait "\$!"
VIASHEOF
if [[ "$VIASH_ENGINE_TYPE" == "docker" ]]; then
# strip viash automount from file paths
if [ ! -z "$VIASH_PAR_GENOME_DIR" ]; then
VIASH_PAR_GENOME_DIR=$(ViashDockerStripAutomount "$VIASH_PAR_GENOME_DIR")
fi
if [ ! -z "$VIASH_PAR_GENOME_FASTA_FILES" ]; then
unset VIASH_TEST_GENOME_FASTA_FILES
IFS=';'
for var in $VIASH_PAR_GENOME_FASTA_FILES; do
unset IFS
if [ -z "$VIASH_TEST_GENOME_FASTA_FILES" ]; then
VIASH_TEST_GENOME_FASTA_FILES="$(ViashDockerStripAutomount "$var")"
else
VIASH_TEST_GENOME_FASTA_FILES="$VIASH_TEST_GENOME_FASTA_FILES;""$(ViashDockerStripAutomount "$var")"
fi
done
VIASH_PAR_GENOME_FASTA_FILES="$VIASH_TEST_GENOME_FASTA_FILES"
fi
if [ ! -z "$VIASH_PAR_SJDB_GTF_FILE" ]; then
VIASH_PAR_SJDB_GTF_FILE=$(ViashDockerStripAutomount "$VIASH_PAR_SJDB_GTF_FILE")
fi
if [ ! -z "$VIASH_PAR_READ_FILES_MANIFEST" ]; then
VIASH_PAR_READ_FILES_MANIFEST=$(ViashDockerStripAutomount "$VIASH_PAR_READ_FILES_MANIFEST")
fi
if [ ! -z "$VIASH_PAR_INPUT" ]; then
unset VIASH_TEST_INPUT
IFS=';'
for var in $VIASH_PAR_INPUT; do
unset IFS
if [ -z "$VIASH_TEST_INPUT" ]; then
VIASH_TEST_INPUT="$(ViashDockerStripAutomount "$var")"
else
VIASH_TEST_INPUT="$VIASH_TEST_INPUT;""$(ViashDockerStripAutomount "$var")"
fi
done
VIASH_PAR_INPUT="$VIASH_TEST_INPUT"
fi
if [ ! -z "$VIASH_PAR_INPUT_R2" ]; then
unset VIASH_TEST_INPUT_R2
IFS=';'
for var in $VIASH_PAR_INPUT_R2; do
unset IFS
if [ -z "$VIASH_TEST_INPUT_R2" ]; then
VIASH_TEST_INPUT_R2="$(ViashDockerStripAutomount "$var")"
else
VIASH_TEST_INPUT_R2="$VIASH_TEST_INPUT_R2;""$(ViashDockerStripAutomount "$var")"
fi
done
VIASH_PAR_INPUT_R2="$VIASH_TEST_INPUT_R2"
fi
if [ ! -z "$VIASH_PAR_ALIGNED_READS" ]; then
VIASH_PAR_ALIGNED_READS=$(ViashDockerStripAutomount "$VIASH_PAR_ALIGNED_READS")
fi
if [ ! -z "$VIASH_PAR_READS_PER_GENE" ]; then
VIASH_PAR_READS_PER_GENE=$(ViashDockerStripAutomount "$VIASH_PAR_READS_PER_GENE")
fi
if [ ! -z "$VIASH_PAR_UNMAPPED" ]; then
VIASH_PAR_UNMAPPED=$(ViashDockerStripAutomount "$VIASH_PAR_UNMAPPED")
fi
if [ ! -z "$VIASH_PAR_UNMAPPED_R2" ]; then
VIASH_PAR_UNMAPPED_R2=$(ViashDockerStripAutomount "$VIASH_PAR_UNMAPPED_R2")
fi
if [ ! -z "$VIASH_PAR_CHIMERIC_JUNCTIONS" ]; then
VIASH_PAR_CHIMERIC_JUNCTIONS=$(ViashDockerStripAutomount "$VIASH_PAR_CHIMERIC_JUNCTIONS")
fi
if [ ! -z "$VIASH_PAR_LOG" ]; then
VIASH_PAR_LOG=$(ViashDockerStripAutomount "$VIASH_PAR_LOG")
fi
if [ ! -z "$VIASH_PAR_SPLICE_JUNCTIONS" ]; then
VIASH_PAR_SPLICE_JUNCTIONS=$(ViashDockerStripAutomount "$VIASH_PAR_SPLICE_JUNCTIONS")
fi
if [ ! -z "$VIASH_PAR_READS_ALIGNED_TO_TRANSCRIPTOME" ]; then
VIASH_PAR_READS_ALIGNED_TO_TRANSCRIPTOME=$(ViashDockerStripAutomount "$VIASH_PAR_READS_ALIGNED_TO_TRANSCRIPTOME")
fi
if [ ! -z "$VIASH_META_RESOURCES_DIR" ]; then
VIASH_META_RESOURCES_DIR=$(ViashDockerStripAutomount "$VIASH_META_RESOURCES_DIR")
fi
if [ ! -z "$VIASH_META_EXECUTABLE" ]; then
VIASH_META_EXECUTABLE=$(ViashDockerStripAutomount "$VIASH_META_EXECUTABLE")
fi
if [ ! -z "$VIASH_META_CONFIG" ]; then
VIASH_META_CONFIG=$(ViashDockerStripAutomount "$VIASH_META_CONFIG")
fi
if [ ! -z "$VIASH_META_TEMP_DIR" ]; then
VIASH_META_TEMP_DIR=$(ViashDockerStripAutomount "$VIASH_META_TEMP_DIR")
fi
fi
# check whether required files exist
if [ ! -z "$VIASH_PAR_ALIGNED_READS" ] && [ ! -e "$VIASH_PAR_ALIGNED_READS" ]; then
ViashError "Output file '$VIASH_PAR_ALIGNED_READS' does not exist."
exit 1
fi
if [ ! -z "$VIASH_PAR_READS_PER_GENE" ] && [ ! -e "$VIASH_PAR_READS_PER_GENE" ]; then
ViashError "Output file '$VIASH_PAR_READS_PER_GENE' does not exist."
exit 1
fi
if [ ! -z "$VIASH_PAR_UNMAPPED" ] && [ ! -e "$VIASH_PAR_UNMAPPED" ]; then
ViashError "Output file '$VIASH_PAR_UNMAPPED' does not exist."
exit 1
fi
if [ ! -z "$VIASH_PAR_UNMAPPED_R2" ] && [ ! -e "$VIASH_PAR_UNMAPPED_R2" ]; then
ViashError "Output file '$VIASH_PAR_UNMAPPED_R2' does not exist."
exit 1
fi
if [ ! -z "$VIASH_PAR_CHIMERIC_JUNCTIONS" ] && [ ! -e "$VIASH_PAR_CHIMERIC_JUNCTIONS" ]; then
ViashError "Output file '$VIASH_PAR_CHIMERIC_JUNCTIONS' does not exist."
exit 1
fi
if [ ! -z "$VIASH_PAR_LOG" ] && [ ! -e "$VIASH_PAR_LOG" ]; then
ViashError "Output file '$VIASH_PAR_LOG' does not exist."
exit 1
fi
if [ ! -z "$VIASH_PAR_SPLICE_JUNCTIONS" ] && [ ! -e "$VIASH_PAR_SPLICE_JUNCTIONS" ]; then
ViashError "Output file '$VIASH_PAR_SPLICE_JUNCTIONS' does not exist."
exit 1
fi
if [ ! -z "$VIASH_PAR_READS_ALIGNED_TO_TRANSCRIPTOME" ] && [ ! -e "$VIASH_PAR_READS_ALIGNED_TO_TRANSCRIPTOME" ]; then
ViashError "Output file '$VIASH_PAR_READS_ALIGNED_TO_TRANSCRIPTOME' does not exist."
exit 1
fi
exit 0