From e8b8905c8b6d73e06147c83fb4b078b7682fadcf Mon Sep 17 00:00:00 2001 From: Bryan Roessler Date: Sun, 4 Aug 2024 17:10:01 -0400 Subject: [PATCH] Remove old PROJECT vars --- workflow/README.md | 37 +++++++++++++++++++++++++++---------- workflow/qhtcp-workflow | 23 +++++++++-------------- 2 files changed, 36 insertions(+), 24 deletions(-) diff --git a/workflow/README.md b/workflow/README.md index e4bd060c..f6290f44 100644 --- a/workflow/README.md +++ b/workflow/README.md @@ -37,7 +37,7 @@ Insert a general description of Q-HTCP and the Q-HTCP process here. ## Notes -### TO-DO +### TODO * Variable scoping is horrible right now * I wrote this sequentially and tried to keep track the best I could @@ -70,6 +70,28 @@ Insert a general description of Q-HTCP and the Q-HTCP process here. * The QHTCPImageFolders and 'MasterPlateFiles' folder are the inputs for image analysis with EASY software. * As further described below, EASY will automatically generate a 'Results' directory (within the ExpJobs/'ExperimentJob' folder) with a name that consists of a system-generated timestamp and an optional short description provided by the user (Fig.2). The 'Results' directory is created and entered, using the "File >> New Experiment" dropdown in EASY. Multiple 'Results' files may be created (and uniquely named) within an 'ExperimentJob' folder. +      **apps/easy/** + +* This directory contains the GUI-enabled MATLAB software to accomplish image analysis and growth curve fitting. +* EASY analyzes Q-HTCP image data within an 'ExperimentJob'' folder (described above; each cell array has its own folder containing its entire time series of images). +* EASY analysis produces image quantification data and growth curve fitting results for each cell array; these results are subsequently assembled into a single file and labeled, using information contained in the 'MasterPlate_' and 'DrugMedia_' files in the 'MasterPlateFiles' subdirectory. +* The final files (named '!!ResultsStd_.txt' or '!!ResultsELr_.txt') are produced in a subdirectory that EASY creates within the 'ExpJob#' folder, named '/ResultsTimeStampDesc/PrintResults' (Fig. 2). +* The /EASY directory is simply where the latest EASY version resides (additional versions in development or legacy versions may also be stored there). +* The raw data inputs and result outputs for EASY are kept in the 'ExpJobs' directory. +* EASY also outputs a '.mat' file that is stored in the 'matResults' folder and is named with the TimeStamp and user-provided name appended to the 'Results' folder name when 'New Experiment' is executed from the 'File' Dropdown menu in the EASY console. + +      **apps/ezview/** + +* This directory contains the GUI-enabled MATLAB software to conveniently and efficiently mine the raw cell array image data for a Q-HTCP experiment. +* It takes the Results.m file (created by EASY software) as an input and permits the user to navigate through the raw image data and growth curve results for the experiment. +* The /EZview provides a place for storing the the latest EZview version (as well as other EZview versions). +* The /EZview provides a GUI for examining the EASY results as provided in the …/matResults/… .mat file. + +      **Master Plates** + +* This optional folder is a convenient place to store copies of the 'MasterPlate_' and a 'DrugMedia_' file templates, along with previously used files that may have been modified and could be reused or further modified to enable future analyses. +* These two file types are required in the 'MasterPlateFiles' folder, which catalogs experimental information specific to individual Jobs in the ExpJobs folder, as described further below. + ### parse_input `--project`, `--module`, `--nomodule`, and `--submodule` can be passed multiple times or with a comma-separated string @@ -200,6 +222,7 @@ TODO * Don't create output in the scans folder, put it in an output directory * The !!Results output files need standardized naming * The input MasterPlate and DrugMedia sheets need to be converted to something standard like csv/tsv +* This would allow them to be created programmatically as well NOTES @@ -545,7 +568,7 @@ TODO Files -* gene_association.sgd: https://downloads.yeastgenome.org/curation/chromosomal_feature/gene_association.sgd +* [gene_association.sgd](https://downloads.yeastgenome.org/curation/chromosomal_feature/gene_association.sgd) * go_terms.tab Output @@ -557,7 +580,7 @@ Output * **$1** (string): Exp# name * **$2** (string): ZScores_Interaction.csv file * **$3** (string): go_terms.tab file -* **$4** (string): gene_association.sgd +* **$4** (string): [gene_association.sgd](https://downloads.yeastgenome.org/curation/chromosomal_feature/gene_association.sgd) * **$5** (string): output directory ### r_gta_pairwiselk @@ -632,7 +655,7 @@ Run the R interactions analysis (Z_InteractionTemplate.R) TODO -* don't want to rename Z_InteractionTemplate.R because that will break logic, just edit in place instead +* Don't want to rename Z_InteractionTemplate.R because that will break logic, just edit in place instead NOTES @@ -776,12 +799,6 @@ TODO * Expanded into a file that stores all project/study settings (database) * I had to had a new line to the end of StudyInfo.csv, may break things? -Example: -ExpNumb,ExpLabel,BackgroundSD,ZscoreJoinSD,AnalysisBy -1,ExpName1,NA,NA,UserInitials -2,ExpName2,NA,NA,UserInitials -3,ExpName3,NA,NA,UserInitials - #### Arguments * **$1** (string): File to read diff --git a/workflow/qhtcp-workflow b/workflow/qhtcp-workflow index 4f2d3e43..f140664e 100755 --- a/workflow/qhtcp-workflow +++ b/workflow/qhtcp-workflow @@ -78,7 +78,7 @@ print_help() { # @section Notes # @description # -# ### TO-DO +# ### TODO # # * Variable scoping is horrible right now # * I wrote this sequentially and tried to keep track the best I could @@ -110,7 +110,7 @@ print_help() { # * Together they encapsulate and define the experimental design. # * The QHTCPImageFolders and 'MasterPlateFiles' folder are the inputs for image analysis with EASY software. # * As further described below, EASY will automatically generate a 'Results' directory (within the ExpJobs/'ExperimentJob' folder) with a name that consists of a system-generated timestamp and an optional short description provided by the user (Fig.2). The 'Results' directory is created and entered, using the "File >> New Experiment" dropdown in EASY. Multiple 'Results' files may be created (and uniquely named) within an 'ExperimentJob' folder. - +# #       **apps/easy/** # # * This directory contains the GUI-enabled MATLAB software to accomplish image analysis and growth curve fitting. @@ -120,7 +120,7 @@ print_help() { # * The /EASY directory is simply where the latest EASY version resides (additional versions in development or legacy versions may also be stored there). # * The raw data inputs and result outputs for EASY are kept in the 'ExpJobs' directory. # * EASY also outputs a '.mat' file that is stored in the 'matResults' folder and is named with the TimeStamp and user-provided name appended to the 'Results' folder name when 'New Experiment' is executed from the 'File' Dropdown menu in the EASY console. - +# #       **apps/ezview/** # # * This directory contains the GUI-enabled MATLAB software to conveniently and efficiently mine the raw cell array image data for a Q-HTCP experiment. @@ -134,8 +134,6 @@ print_help() { # * These two file types are required in the 'MasterPlateFiles' folder, which catalogs experimental information specific to individual Jobs in the ExpJobs folder, as described further below. # # -# Some example decorators for markdown: -# # # @description # `--project`, `--module`, `--nomodule`, and `--submodule` can be passed multiple times or with a comma-separated string @@ -366,7 +364,6 @@ interactive_header() { echo "Example: SCANS_DIR=/path/to/scans OUT_DIR=/path/to/out ./qhtcp-workflow $*" echo "" - # Ask to make our custom R library the default if [[ -z $R_LIBS_USER || $R_LIBS_USER != "$HOME/R/$SCRIPT_NAME" ]]; then echo "This script uses a local R library at $HOME/R/$SCRIPT_NAME" @@ -1138,8 +1135,8 @@ easy() { done # Copy Templates - declare -gx DRUG_MEDIA_FILE="$EASY_RESULTS_DIR/DrugMedia_$PROJECT.xls" - declare -gx MASTER_PLATE_FILE="$EASY_RESULTS_DIR/MasterPlate_$PROJECT.xls" + declare -gx DRUG_MEDIA_FILE="$EASY_RESULTS_DIR/DrugMedia_$PROJECT_NAME.xls" + declare -gx MASTER_PLATE_FILE="$EASY_RESULTS_DIR/MasterPlate_$PROJECT_NAME.xls" rsync -a "$EASY_DIR"/{figs,PTmats} "$EASY_RESULTS_DIR" # Ask the user to launch EASYconsole.m in MATLAB @@ -1345,7 +1342,7 @@ qhtcp() { for s in "${STUDIES_NUMS[@]}"; do # Trying to match old ExpFrontend formatting printf "%s\t" \ - "${DATE//_/}" "$PROJECT" "$QHTCP_PROJECT_DIR" "Exp$s" \ + "${DATE//_/}" "$PROJECT_NAME" "$QHTCP_PROJECT_DIR" "Exp$s" \ "$PROJECT_DATE" "$PROJECT_SCANS_DIR" "$EASY_RESULTS_DIR" "${f##*/}" \ >> "$STUDIES_ARCHIVE_FILE" done @@ -1955,16 +1952,14 @@ submodule get_studies # * Expanded into a file that stores all project/study settings (database) # * I had to had a new line to the end of StudyInfo.csv, may break things? # -# Example: -# ExpNumb,ExpLabel,BackgroundSD,ZscoreJoinSD,AnalysisBy -# 1,ExpName1,NA,NA,UserInitials -# 2,ExpName2,NA,NA,UserInitials -# 3,ExpName3,NA,NA,UserInitials +# +# # @exitcode 0 If one or more studies found # @exitcode 1 If no studies found # @set STUDIES_NUMS array Contains Exp numbers # @set NUM_STUDIES int Number of existing studies # @arg $1 string File to read +# get_studies() { debug "Running: ${FUNCNAME[0]}" declare -ga STUDIES_NUMS=()