Kaynağa Gözat

Fix bg data references

Bryan Roessler 7 ay önce
ebeveyn
işleme
94c477ca28

+ 31 - 26
qhtcp-workflow/apps/r/calculate_interaction_zscores.R

@@ -207,23 +207,15 @@ calculate_interaction_scores <- function(df, max_conc, bg_stats, variables = c("
       SM = sum(SM, na.rm = TRUE),
       num_non_removed_concs = total_conc_num - sum(DB, na.rm = TRUE) - 1,
 
-      # Store the background data
-      WT_L = bg_stats$WT_L,
-      WT_K = bg_stats$WT_K,
-      WT_r = bg_stats$WT_r,
-      WT_AUC = bg_stats$WT_AUC,
-      WT_sd_L = bg_stats$WT_sd_L,
-      WT_sd_K = bg_stats$WT_sd_K,
-      WT_sd_r = bg_stats$WT_sd_r,
-      WT_sd_AUC = bg_stats$WT_sd_AUC,
-      Raw_Shift_L = first(mean_L) - bg_means$L,
-      Raw_Shift_K = first(mean_K) - bg_means$K,
-      Raw_Shift_r = first(mean_r) - bg_means$r,
-      Raw_Shift_AUC = first(mean_AUC) - bg_means$AUC,
-      Z_Shift_L = first(Raw_Shift_L) / bg_sd$L,
-      Z_Shift_K = first(Raw_Shift_K) / bg_sd$K,
-      Z_Shift_r = first(Raw_Shift_r) / bg_sd$r,
-      Z_Shift_AUC = first(Raw_Shift_AUC) / bg_sd$AUC,
+      # Calculate raw data
+      Raw_Shift_L = first(mean_L) - bg_stats$L,
+      Raw_Shift_K = first(mean_K) - bg_stats$K,
+      Raw_Shift_r = first(mean_r) - bg_stats$r,
+      Raw_Shift_AUC = first(mean_AUC) - bg_stats$AUC,
+      Z_Shift_L = first(Raw_Shift_L) / bg_stats$sd_L,
+      Z_Shift_K = first(Raw_Shift_K) / bg_stats$sd_K,
+      Z_Shift_r = first(Raw_Shift_r) / bg_stats$sd_r,
+      Z_Shift_AUC = first(Raw_Shift_AUC) / bg_stats$sd_AUC,
       Exp_L = WT_L + Raw_Shift_L,
       Exp_K = WT_K + Raw_Shift_K,
       Exp_r = WT_r + Raw_Shift_r,
@@ -1070,18 +1062,31 @@ main <- function() {
     write.csv(df_na_ss, file = file.path(out_dir, "summary_stats_all_strains.csv"), row.names = FALSE)
     # df_na_filtered_stats <- process_data(df_na_stats, c("L"), filter_nf = TRUE)
 
-    # Pull the background means and standard deviations from zero concentration
+    # Create background (WT) data columns
+    df_na_stats <- df_na_stats %>%
+      mutate(
+        WT_L = mean_L,
+        WT_K = mean_K,
+        WT_r = mean_r,
+        WT_AUC = mean_AUC,
+        WT_sd_L = sd_L,
+        WT_sd_K = sd_K,
+        WT_sd_r = sd_r,
+        WT_sd_AUC = sd_AUC
+      )
+
+    # Pull the background means and standard deviations from zero concentration for interactions
     bg_stats <- df_na_stats %>%
       filter(conc_num == 0) %>%
       summarise(
-        WT_L = first(mean_L),
-        WT_K = first(mean_K),
-        WT_r = first(mean_r),
-        WT_AUC = first(mean_AUC),
-        WT_sd_L = first(sd_L),
-        WT_sd_K = first(sd_K),
-        WT_sd_r = first(sd_r),
-        WT_sd_AUC = first(sd_AUC)
+        L = first(mean_L),
+        K = first(mean_K),
+        r = first(mean_r),
+        AUC = first(mean_AUC),
+        sd_L = first(sd_L),
+        sd_K = first(sd_K),
+        sd_r = first(sd_r),
+        sd_AUC = first(sd_AUC)
       )
 
     message("Calculating summary statistics after quality control excluding zero values")