This commit is contained in:
2024-08-13 15:27:53 -04:00
parent 724b292dab
commit f190967383
7 changed files with 367 additions and 298 deletions

View File

@@ -14,7 +14,7 @@
# Insert a general description of Q-HTCP and the Q-HTCP process here.
shopt -s extglob # Turn on extended globbing
DEBUG=1 # Turn debugging ON by default during development
DEBUG=${DEBUG:-1} # Turn debugging ON by default during development
# @description Use `--help` to print the help message.
# @internal
@@ -25,13 +25,13 @@ print_help() {
cat <<-EOF
USAGE:
script-run-workflow [[OPTION] [VALUE]]...
qhtcp-workflow [[OPTION] [VALUE]]...
Some options (--project, --include, --exclude) can be passed multiple times or
by using comma-separated strings (see EXAMPLES below)
OPTIONS:
--project, -p PROJECT
--project, -p PROJECT[,PROJECT...]
PROJECT should follow the pattern ${PROJECT_PREFIX}_PROJECT_NAME
--module, -m MODULE[,MODULE...]
See MODULES section below for list of available modules
@@ -65,13 +65,13 @@ print_help() {
BiocManager: ${depends_bioc[@]}
EXAMPLES:
script-run-workflow --module ${ALL_MODULES[0]} --module ${ALL_MODULES[1]}
script-run-workflow --project ${PROJECT_PREFIX}_MY_PROJECT --module ${ALL_MODULES[0]} --module ${ALL_MODULES[1]}
script-run-workflow --project ${PROJECT_PREFIX}_MY_PROJECT --module ${ALL_MODULES[1]} --module ${ALL_MODULES[2]} --yes
script-run-workflow --module=${ALL_MODULES[0]},${ALL_MODULES[1]}
script-run-workflow --project=${PROJECT_PREFIX}_MY_PROJECT,${PROJECT_PREFIX}_MY_OTHER_PROJECT
script-run-workflow --project=${PROJECT_PREFIX}_MY_PROJECT,${PROJECT_PREFIX}_MY_OTHER_PROJECT --module=${ALL_MODULES[1]},${ALL_MODULES[2]} --yes --debug
script-run-workflow --project=${PROJECT_PREFIX}_MY_PROJECT --wrapper ${ALL_WRAPPERS[2]} \"/path/to/genefile.txt,/path/to/output/dir\" --wrapper ${ALL_WRAPPERS[3]} \"/path/to/sgofile\"
qhtcp-workflow --module ${ALL_MODULES[0]} --module ${ALL_MODULES[1]}
qhtcp-workflow --project ${PROJECT_PREFIX}_MY_PROJECT --module ${ALL_MODULES[0]} --module ${ALL_MODULES[1]}
qhtcp-workflow --project ${PROJECT_PREFIX}_MY_PROJECT --module ${ALL_MODULES[1]} --module ${ALL_MODULES[2]} --yes
qhtcp-workflow --module=${ALL_MODULES[0]},${ALL_MODULES[1]}
qhtcp-workflow --project=${PROJECT_PREFIX}_MY_PROJECT,${PROJECT_PREFIX}_MY_OTHER_PROJECT
qhtcp-workflow --project=${PROJECT_PREFIX}_MY_PROJECT,${PROJECT_PREFIX}_MY_OTHER_PROJECT --module=${ALL_MODULES[1]},${ALL_MODULES[2]} --yes --debug
qhtcp-workflow --project=${PROJECT_PREFIX}_MY_PROJECT --wrapper ${ALL_WRAPPERS[2]} \"/path/to/genefile.txt,/path/to/output/dir\" --wrapper ${ALL_WRAPPERS[3]} \"/path/to/sgofile\"
EOF
}
@@ -506,6 +506,7 @@ interactive_header() {
printf "%d. %s\n" $((i+1)) "${ALL_WRAPPERS[i]}"
done
fi
echo ""
# Let user choose or add project(s)
if [[ ${#PROJECTS[@]} -eq 0 ]]; then
@@ -630,7 +631,7 @@ module install_dependencies
#
# #### Perl
#
# * `cpan File::Map ExtUtils::PkgConfig GD GO::TermFinder`
# * `cpan -I -i File::Map ExtUtils::PkgConfig GD GO::TermFinder`
#
# #### R
#
@@ -643,10 +644,14 @@ install_dependencies() {
debug "Running: ${FUNCNAME[0]} $*"
# Dependency arrays
depends_rpm=(graphviz pandoc pdftk-java gd-devel perl-CPAN shdoc nano rsync coreutils libcurl-devel openssl-devel harfbuzz-devel fribidi-devel R-core R-core-devel)
depends_deb=(graphviz pandoc pdftk-java libgd-dev perl shdoc nano rsync coreutils libcurl-dev openssl-dev libharfbuzz-dev libfribidi-dev r-base r-base-dev)
depends_rpm=(graphviz pandoc pdftk-java gd-devel perl-CPAN shdoc nano
rsync coreutils libcurl-devel openssl-devel harfbuzz-devel fribidi-devel
R-core R-core-devel)
depends_deb=(graphviz pandoc pdftk-java libgd-dev perl shdoc nano rsync
coreutils libcurl-dev openssl-dev libharfbuzz-dev libfribidi-dev r-base r-base-dev)
depends_brew=(graphiz pandoc gd pdftk-java shdoc nano perl rsync coreutils harfbuzz fribidi r)
depends_perl=(Test::Warnings Test::Fatal File::Map Sub::Uplevel ExtUtils::Config ExtUtils::PkgConfig IPC::Run Module::Build::Tiny IPC::Run GD GO::TermFinder)
depends_perl=(Test::Warnings Test::Fatal File::Map Sub::Uplevel ExtUtils::Config
ExtUtils::PkgConfig IPC::Run Module::Build::Tiny GD GO::TermFinder)
depends_r=(BiocManager ontologyIndex ggrepel tidyverse sos openxlsx ggplot2
plyr extrafont gridExtra gplots stringr plotly ggthemes pandoc rmarkdown
plotly htmlwidgets gplots gdata)
@@ -1791,6 +1796,8 @@ wrapper r_interactions
# * Replace 1:length() with seq_along()
# * Re-enable disabled linter checks
# * Reduce cyclomatic complexity of some of the for loops
# * There needs to be one point of truth for the SD factor
# * Replace most paste() functions with printf()
#
# NOTES
#
@@ -1930,6 +1937,12 @@ r_add_shift_values() {
wrapper r_create_heat_maps
# @description Execute createHeatMaps.R
#
# TODO
# * Needs more looping for brevity
#
#
#
# @arg $1 string The final shift table (REMcWithShift.csv)
# @arg $2 string The output directory
r_create_heat_maps() {
@@ -2151,7 +2164,7 @@ generate_markdown() {
}
# @description The main loop of script-run-workflow
# @description The main loop of qhtcp-workflow
# May eventually need to add git ops
# Passes on arguments
# Most variables in main() are user configurable or can be overriden by env