Finish R script linting
This commit is contained in:
@@ -52,4 +52,3 @@ output_file <- file.path(outDir, "GTFCombined.xlsx")
|
||||
|
||||
# Call the function to combine the files into a workbook with named sheets
|
||||
combineFilesToWorkbook(file_list, output_file)
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,9 +1,9 @@
|
||||
#!/usr/bin/env R
|
||||
#!/usr/bin/env R
|
||||
# GTA (GoTermAveraging)
|
||||
# Your output may not be reproducible as org.Sc.sgd.db is uploaded from Bioconductor R library and changes
|
||||
#
|
||||
# Updated 240724 Bryan C Roessler to improve file operations and portability
|
||||
# NOTE: The script now has 2 additional OPTIONAL arguments:
|
||||
# NOTE: The script now has 2 additional OPTIONAL arguments:
|
||||
# 1. Path to SGD terms file (go.terms.tab)
|
||||
# 2. Path to SGD features file (gene_association.sgd)
|
||||
|
||||
@@ -40,160 +40,157 @@ if (length(args) >= 5) {
|
||||
output_dir <- "../../out/gta" # https://downloads.yeastgenome.org/curation/chromosomal_feature/gene_association.sgd
|
||||
}
|
||||
|
||||
|
||||
|
||||
# # Set SGDgeneList file path
|
||||
# if (length(args) > 4) {
|
||||
# SGDgeneList <- args[4]
|
||||
# } else {
|
||||
# SGDgeneList <- "../Code/SGD_features.tab"
|
||||
|
||||
|
||||
#Begin for loop for experiments in this study-----------------ZScores_Interaction.csv
|
||||
for(m in 1:length(zscores_file)){
|
||||
# Begin for loop for experiments in this study
|
||||
# ZScores_Interaction.csv
|
||||
for (m in 1:length(zscores_file)) {
|
||||
|
||||
#zscores_file <- paste(Wstudy,"/",expName[m],'/ZScores/ZScores_Interaction.csv',sep="") #ArgsScore[1]
|
||||
X <- read.csv(file = zscores_file[m],stringsAsFactors=FALSE,header = TRUE)
|
||||
X <- read.csv(file = zscores_file[m], stringsAsFactors = FALSE, header = TRUE)
|
||||
|
||||
if(colnames(X)[1] == "OrfRep"){
|
||||
if (colnames(X)[1] == "OrfRep") {
|
||||
colnames(X)[1] <- "ORF"
|
||||
}
|
||||
|
||||
#Terms is the GO term list
|
||||
Terms <- read.delim(file = sgd_terms_file,header=FALSE,quote = "",col.names = c("GO_ID","GO_Term","GO_Aspect","GO_Term_Definition"))
|
||||
Terms <- read.delim(file = sgd_terms_file, header = FALSE, quote = "",
|
||||
col.names = c("GO_ID", "GO_Term", "GO_Aspect", "GO_Term_Definition"))
|
||||
#all ORFs associated with GO term
|
||||
GO2ALLORFs <- as.list(org.Sc.sgdGO2ALLORFS)
|
||||
#Gene_Association is the gene association to GO term file
|
||||
Gene_Association <- read.delim(sgd_features_file,skip=8,header=FALSE,quote="",col.names = c("Database","Database_Object_ID","Database_Object_Symbol","NOT","GO_ID","Database_Reference","Evidence","With_or_From","Aspect","Database_Object_Name","Database_Object_Synonym","Database_Object_Type","taxon","Date","Assigned_By","OtherInfo","Empty"))
|
||||
Gene_Association <- read.delim(sgd_features_file, skip = 8, header = FALSE, quote = "",
|
||||
col.names = c("Database", "Database_Object_ID", "Database_Object_Symbol", "NOT", "GO_ID",
|
||||
"Database_Reference", "Evidence", "With_or_From", "Aspect", "Database_Object_Name",
|
||||
"Database_Object_Synonym", "Database_Object_Type", "taxon", "Date", "Assigned_By", "OtherInfo", "Empty"
|
||||
)
|
||||
)
|
||||
#Get the ORF names associated with each gene/GO term
|
||||
Gene_Association$ORF <- str_split_fixed(as.character(Gene_Association$Database_Object_Synonym),"\\|",2)[,1]
|
||||
Gene_Association$ORF <- str_split_fixed(as.character(Gene_Association$Database_Object_Synonym), "\\|", 2)[, 1]
|
||||
#Get the numeric GO ID for matching
|
||||
Gene_Association$GO_ID_Numeric <- as.integer(str_split_fixed(as.character(Gene_Association$GO_ID),"\\:",2)[,2])
|
||||
#get all unique GO terms
|
||||
Gene_Association$GO_ID_Numeric <- as.integer(str_split_fixed(as.character(Gene_Association$GO_ID), "\\:", 2)[, 2])
|
||||
#Get all unique GO terms
|
||||
GO_Terms <- unique(Gene_Association$GO_ID)
|
||||
#create a character vector with just the ColNames of the input file to store the scores for each GO term
|
||||
#Create a character vector with just the ColNames of the input file to store the scores for each GO term
|
||||
Col_Names_X <- colnames(X)
|
||||
#create a data_frame with header from input_file
|
||||
GO_Term_Averages <- X[0,]
|
||||
#fill table with NAs same length as number of GO terms
|
||||
GO_Term_Averages[1:length(GO_Terms),] <- NA
|
||||
#change the first and second col names to GO_ID and Term
|
||||
#Create a data_frame with header from input_file
|
||||
GO_Term_Averages <- X[0, ]
|
||||
#Fill table with NAs same length as number of GO terms
|
||||
GO_Term_Averages[1:length(GO_Terms), ] <- NA
|
||||
#Change the first and second col names to GO_ID and Term
|
||||
colnames(GO_Term_Averages)[1] <- "GO_ID"
|
||||
colnames(GO_Term_Averages)[2] <- "Term"
|
||||
|
||||
#create new columns for Ontology, number genes (used to calculate the avg score), all possible genes in the GO term, and print genes/ORFs used
|
||||
# Create new columns
|
||||
GO_Term_Averages$Ontology <- NA
|
||||
GO_Term_Averages$NumGenes <- NA
|
||||
GO_Term_Averages$AllPossibleGenes <- NA
|
||||
GO_Term_Averages$Genes <- NA
|
||||
GO_Term_Averages$ORFs <- NA
|
||||
|
||||
#create a data.frame for the standard deviation info
|
||||
GO_Term_SD <- X[0,]
|
||||
GO_Term_SD[1:length(GO_Terms),] <- NA
|
||||
# Create a data.frame for the standard deviation info
|
||||
GO_Term_SD <- X[0, ]
|
||||
GO_Term_SD[1:length(GO_Terms), ] <- NA
|
||||
colnames(GO_Term_SD)[1] <- "GO_ID"
|
||||
colnames(GO_Term_SD)[2] <- "Term"
|
||||
|
||||
#Loop for each GO term to get an average L and K Z score
|
||||
for(i in 1:length(GO_Terms)){
|
||||
#get the GO_Term
|
||||
# Loop for each GO term to get an average L and K Z score
|
||||
for (i in 1:length(GO_Terms)) {
|
||||
# Get the GO_Term
|
||||
ID <- GO_Terms[i]
|
||||
#Get data.frame for all genes associated to the GO Term
|
||||
ID_AllGenes <- Gene_Association[Gene_Association$GO_ID == ID,]
|
||||
#get a vector of just the gene names
|
||||
# Get data.frame for all genes associated to the GO Term
|
||||
ID_AllGenes <- Gene_Association[Gene_Association$GO_ID == ID, ]
|
||||
# Get a vector of just the gene names
|
||||
ID_AllGenes_vector <- as.vector(GO2ALLORFs[as.character(ID)][[1]])
|
||||
if(length(unique(ID_AllGenes_vector)) > 4000){
|
||||
if (length(unique(ID_AllGenes_vector)) > 4000) {
|
||||
next()
|
||||
}
|
||||
#get the GO term character description where numeric Terms ID matches GO_Term's ID
|
||||
GO_Description_Term <- as.character(Terms[Terms$GO_ID %in% ID_AllGenes$GO_ID_Numeric,]$GO_Term[1])
|
||||
#get the Z scores for all genes in the GO_ID
|
||||
Zscores_For_ID <- X[X$ORF %in% ID_AllGenes_vector,]
|
||||
#get the Gene names and ORFs for the term
|
||||
GO_Term_Averages$Genes[i] <- paste(unique(Zscores_For_ID$Gene),collapse=" | ")
|
||||
GO_Term_Averages$ORFs[i] <- paste(unique(Zscores_For_ID$ORF),collapse=" | ")
|
||||
# Get the GO term character description where numeric Terms ID matches GO_Term's ID
|
||||
GO_Description_Term <- as.character(Terms[Terms$GO_ID %in% ID_AllGenes$GO_ID_Numeric, ]$GO_Term[1])
|
||||
# Get the Z scores for all genes in the GO_ID
|
||||
Zscores_For_ID <- X[X$ORF %in% ID_AllGenes_vector, ]
|
||||
# Get the Gene names and ORFs for the term
|
||||
GO_Term_Averages$Genes[i] <- paste(unique(Zscores_For_ID$Gene), collapse = " | ")
|
||||
GO_Term_Averages$ORFs[i] <- paste(unique(Zscores_For_ID$ORF), collapse = " | ")
|
||||
|
||||
#dataframe to report the averages for a GO term
|
||||
#get the GO ID
|
||||
# Dataframe to report the averages for a GO term
|
||||
# Get the GO ID
|
||||
GO_Term_Averages$GO_ID[i] <- as.character(ID)
|
||||
#get the term name
|
||||
# Get the term name
|
||||
GO_Term_Averages$Term[i] <- GO_Description_Term
|
||||
#get total number of genes annotated to the Term that we have in our library
|
||||
# Get total number of genes annotated to the Term that we have in our library
|
||||
GO_Term_Averages$NumGenes[i] <- length(unique(Zscores_For_ID$ORF))
|
||||
#get total number of genes annotated to the Term in SGD
|
||||
# Get total number of genes annotated to the Term in SGD
|
||||
GO_Term_Averages$AllPossibleGenes[i] <- length(unique(ID_AllGenes_vector))
|
||||
#get the ontology of the term
|
||||
# Get the ontology of the term
|
||||
GO_Term_Averages$Ontology[i] <- as.character(ID_AllGenes$Aspect[1])
|
||||
|
||||
#calculate the average score for every column
|
||||
for(j in 3:length(X[1,])){
|
||||
GO_Term_Averages[i,j] <- mean(Zscores_For_ID[,j],na.rm = TRUE)
|
||||
#GO_Scores <- colMeans(Zscores_For_ID[,3:length(X[1,])])
|
||||
# Calculate the average score for every column
|
||||
for (j in 3:length(X[1, ])) {
|
||||
GO_Term_Averages[i, j] <- mean(Zscores_For_ID[, j], na.rm = TRUE)
|
||||
# GO_Scores <- colMeans(Zscores_For_ID[,3:length(X[1,])])
|
||||
}
|
||||
|
||||
#also calculate same values for the SD
|
||||
# Also calculate same values for the SD
|
||||
GO_Term_SD$GO_ID[i] <- as.character(ID)
|
||||
#get the term name
|
||||
# Get the term name
|
||||
GO_Term_SD$Term[i] <- GO_Description_Term
|
||||
|
||||
#calculate column scores for SD
|
||||
for(j in 3:length(X[1,])){
|
||||
GO_Term_SD[i,j] <- sd(Zscores_For_ID[,j],na.rm = TRUE)
|
||||
#GO_Scores <- colMeans(Zscores_For_ID[,3:length(X[1,])])
|
||||
# Calculate column scores for SD
|
||||
for (j in 3:length(X[1, ])) {
|
||||
GO_Term_SD[i, j] <- sd(Zscores_For_ID[, j], na.rm = TRUE)
|
||||
# GO_Scores <- colMeans(Zscores_For_ID[,3:length(X[1,])])
|
||||
}
|
||||
}
|
||||
#add either _Avg or _SD depending on if the calculated score is an average or SD
|
||||
colnames(GO_Term_Averages) <- paste(colnames(GO_Term_Averages),"Avg", sep = "_")
|
||||
colnames(GO_Term_SD) <- paste(colnames(GO_Term_SD),"SD", sep = "_")
|
||||
#combine the averages with the SDs to make one big data.frame
|
||||
X2 <- cbind(GO_Term_Averages,GO_Term_SD)
|
||||
#test[ , order(names(test))]
|
||||
X2 <- X2[,order(names(X2))]
|
||||
X2 <- X2[!is.na(X2$Z_lm_L_Avg),]
|
||||
#create output file
|
||||
write.csv(X2,file=paste(output_dir,"/",expName[m],"/Average_GOTerms_All.csv",sep=""),row.names=FALSE)
|
||||
#remove NAs
|
||||
X3 <- X2[!is.na(X2$Z_lm_L_Avg),]
|
||||
#identify redundant GO terms
|
||||
# Add either _Avg or _SD depending on if the calculated score is an average or SD
|
||||
colnames(GO_Term_Averages) <- paste(colnames(GO_Term_Averages), "Avg", sep = "_")
|
||||
colnames(GO_Term_SD) <- paste(colnames(GO_Term_SD), "SD", sep = "_")
|
||||
# Combine the averages with the SDs to make one big data.frame
|
||||
X2 <- cbind(GO_Term_Averages, GO_Term_SD)
|
||||
# Test[ , order(names(test))]
|
||||
X2 <- X2[, order(names(X2))]
|
||||
X2 <- X2[!is.na(X2$Z_lm_L_Avg), ]
|
||||
# Create output file
|
||||
write.csv(X2, file.path(output_dir, expName[m], "Average_GOTerms_All.csv"), row.names = FALSE)
|
||||
# Remove NAs
|
||||
X3 <- X2[!is.na(X2$Z_lm_L_Avg), ]
|
||||
|
||||
for(i in 1:length(X3[,1])){
|
||||
#loop through each GO term - get term
|
||||
# Identify redundant GO terms
|
||||
for (i in 1:length(X3[, 1])) {
|
||||
# Loop through each GO term - get term
|
||||
GO_term_ID <- as.character(X3$GO_ID_Avg[i])
|
||||
#get term in the X3
|
||||
X3_Temp <- X3[X3$GO_ID_Avg == GO_term_ID,]
|
||||
#get anywhere that has the same number K_Avg value
|
||||
X3_Temp2 <- X3[X3$Z_lm_K_Avg %in% X3_Temp,]
|
||||
if(length(X3_Temp2[,1]) > 1){
|
||||
if(length(unique(X3_Temp2$Genes_Avg)) == 1){
|
||||
X3_Temp2 <- X3_Temp2[1,]
|
||||
# Get term in the X3
|
||||
X3_Temp <- X3[X3$GO_ID_Avg == GO_term_ID, ]
|
||||
# Get anywhere that has the same number K_Avg value
|
||||
X3_Temp2 <- X3[X3$Z_lm_K_Avg %in% X3_Temp, ]
|
||||
if (length(X3_Temp2[, 1]) > 1) {
|
||||
if (length(unique(X3_Temp2$Genes_Avg)) == 1) {
|
||||
X3_Temp2 <- X3_Temp2[1, ]
|
||||
}
|
||||
}
|
||||
|
||||
if(i == 1){
|
||||
if (i == 1) {
|
||||
Y <- X3_Temp2
|
||||
}
|
||||
if(i > 1){
|
||||
Y <- rbind(Y,X3_Temp2)
|
||||
if (i > 1) {
|
||||
Y <- rbind(Y, X3_Temp2)
|
||||
}
|
||||
}
|
||||
Y1 <- unique(Y)
|
||||
|
||||
write.csv(Y1,file=paste(output_dir,"/",exp_name,"/Average_GOTerms_All_NonRedundantTerms.csv",sep=""),row.names = FALSE)
|
||||
|
||||
Y2 <- Y1[Y1$Z_lm_L_Avg >= 2 | Y1$Z_lm_L_Avg <= -2,]
|
||||
Y2 <- Y2[!is.na(Y2$Z_lm_L_Avg),]
|
||||
write.csv(Y2,file=paste(output_dir,"/",exp_name,"/Average_GOTerms_NonRedundantTerms_Above2SD_L.csv",sep=""),row.names = FALSE)
|
||||
|
||||
Y3 <- Y2[Y2$NumGenes_Avg > 2,]
|
||||
write.csv(Y3,file=paste(output_dir,"/",exp_name,"/Average_GOTerms_NonRedundantTerms_Above2SD_L_Above2Genes.csv",sep=""),row.names = FALSE)
|
||||
|
||||
Y4 <- Y1[Y1$Z_lm_K_Avg >= 2 | Y1$Z_lm_K_Avg <= -2,]
|
||||
Y4 <- Y4[!is.na(Y4$Z_lm_K_Avg),]
|
||||
write.csv(Y4,file=paste(output_dir,"/",exp_name,"/Average_GOTerms_NonRedundantTerms_Above2SD_K.csv",sep=""),row.names = FALSE)
|
||||
|
||||
Y5 <- Y4[Y4$NumGenes_Avg > 2,]
|
||||
write.csv(Y5,file=paste(output_dir,"/",exp_name,"/Average_GOTerms_NonRedundantTerms_Above2SD_K_Above2Genes.csv",sep=""),row.names = FALSE)
|
||||
|
||||
#End of 'for loop'
|
||||
}
|
||||
|
||||
Y1 <- unique(Y)
|
||||
write.csv(Y1, file.path(output_dir, exp_name, "Average_GOTerms_All_NonRedundantTerms.csv"), row.names = FALSE)
|
||||
Y2 <- Y1[Y1$Z_lm_L_Avg >= 2 | Y1$Z_lm_L_Avg <= -2, ]
|
||||
Y2 <- Y2[!is.na(Y2$Z_lm_L_Avg), ]
|
||||
write.csv(Y2, file.path(output_dir, exp_name, "Average_GOTerms_NonRedundantTerms_Above2SD_L.csv"), row.names = FALSE)
|
||||
Y3 <- Y2[Y2$NumGenes_Avg > 2, ]
|
||||
write.csv(Y3, file.path(output_dir, exp_name, "Average_GOTerms_NonRedundantTerms_Above2SD_L_Above2Genes.csv"), row.names = FALSE)
|
||||
Y4 <- Y1[Y1$Z_lm_K_Avg >= 2 | Y1$Z_lm_K_Avg <= -2, ]
|
||||
Y4 <- Y4[!is.na(Y4$Z_lm_K_Avg), ]
|
||||
write.csv(Y4, file.path(output_dir, exp_name, "Average_GOTerms_NonRedundantTerms_Above2SD_K.csv"), row.names = FALSE)
|
||||
Y5 <- Y4[Y4$NumGenes_Avg > 2, ]
|
||||
write.csv(Y5, file.path(output_dir, exp_name, "Average_GOTerms_NonRedundantTerms_Above2SD_K_Above2Genes.csv"), row.names = FALSE)
|
||||
}
|
||||
|
||||
@@ -289,11 +289,11 @@ Plate_Analysis_L <-
|
||||
ggplot(X, aes(Scan, l, color = as.factor(Conc_Num))) +
|
||||
geom_point(shape = 3, size = 0.2) +
|
||||
stat_summary(
|
||||
fun = mean,
|
||||
fun.min = function(x) mean(x) - sd(x),
|
||||
fun = mean,
|
||||
fun.min = function(x) mean(x) - sd(x),
|
||||
fun.max = function(x) mean(x) + sd(x),
|
||||
geom = "errorbar"
|
||||
) +
|
||||
) +
|
||||
stat_summary(fun = mean, geom = "point", size = 0.6) +
|
||||
ggtitle("Plate analysis by Drug Conc for L before quality control") + theme_publication()
|
||||
|
||||
@@ -989,7 +989,7 @@ for (s in Background_Strains) {
|
||||
X1_SD_outside_2SD_K <- max(X_stats_BY_L_outside_2SD_K$sd)
|
||||
|
||||
# X1_SD_outside_2SD_K <- X[X$l %in% X1_SD_within_2SD_K$l, ]
|
||||
Outside_2SD_K_L_vs_K <-
|
||||
Outside_2SD_K_L_vs_K <-
|
||||
ggplot(X_outside_2SD_K, aes(l, K, color = as.factor(Conc_Num))) +
|
||||
geom_point(aes(ORF = ORF, Gene = Gene, Delta_Backgrd = Delta_Backgrd), shape = 3) +
|
||||
ggtitle("Raw L vs K for strains falling outside 2SD of the K mean at each conc") +
|
||||
|
||||
@@ -9,7 +9,7 @@ args <- commandArgs(TRUE)
|
||||
|
||||
# Set output dir
|
||||
if (length(args) >= 1) {
|
||||
outDir <- args[1]
|
||||
outDir <- file.path(args[1])
|
||||
} else {
|
||||
outDir <- "./" # for legacy workflow
|
||||
}
|
||||
@@ -20,11 +20,11 @@ if (length(args) >= 2) {
|
||||
} else {
|
||||
sd <- 2 # default value
|
||||
}
|
||||
print(paste("SD=",sd))
|
||||
print(paste("SD=", sd))
|
||||
|
||||
# Set studyInfo file
|
||||
if (length(args) >= 3) {
|
||||
studyInfo <- args[3]
|
||||
studyInfo <- file.path(args[3])
|
||||
} else {
|
||||
studyInfo <- "../Code/StudyInfo.csv" # for legacy workflow
|
||||
}
|
||||
@@ -32,7 +32,7 @@ if (length(args) >= 3) {
|
||||
studies <- args[3:length(args)]
|
||||
inputFiles <- c()
|
||||
for (study in 1:length(studies)) {
|
||||
zsFile <- file.path(study, 'zscores', 'zscores_interaction.csv')
|
||||
zsFile <- file.path(study, "zscores", "zscores_interaction.csv")
|
||||
if (file.exists(zsFile)) {
|
||||
inputFiles[study] <- zsFile
|
||||
}
|
||||
@@ -43,186 +43,191 @@ print(length(inputFiles))
|
||||
# TODO this is better handled in a loop in case you want to compare more experiments?
|
||||
# The input is already designed for this
|
||||
# Read in the files for your experiment and
|
||||
# Join the two files at a time as a function of how many inputFile, list the larger file first ? in this example X2 has the larger number of genes.
|
||||
# Join the two files at a time as a function of how many inputFile
|
||||
# list the larger file first ? in this example X2 has the larger number of genes
|
||||
# If X1 has a larger number of genes, switch the order of X1 and X2
|
||||
if(length(inputFiles)==2) {
|
||||
X1 <- read.csv(file=inputFiles[1],stringsAsFactors=FALSE)
|
||||
X2 <- read.csv(file=inputFiles[2],stringsAsFactors=FALSE)
|
||||
X <- join(X1,X2,by="OrfRep")
|
||||
OBH=X[,order(colnames(X))] #OrderByHeader
|
||||
headSel=select(OBH, contains('OrfRep'), matches('Gene'), contains('Z_lm_K'), contains('Z_Shift_K'),contains('Z_lm_L'), contains('Z_Shift_L'))
|
||||
headSel=select(headSel, -'Gene.1') #remove 'Gene.1 column
|
||||
headSel2=select(OBH, contains('OrfRep'), matches('Gene')) #Frame for interleaving Z_lm with Shift colums
|
||||
headSel2=select(headSel2, -'Gene.1') #remove 'Gene.1 column #Frame for interleaving Z_lm with Shift colums
|
||||
if (length(inputFiles) == 2) {
|
||||
X1 <- read.csv(file = inputFiles[1], stringsAsFactors = FALSE)
|
||||
X2 <- read.csv(file = inputFiles[2], stringsAsFactors = FALSE)
|
||||
X <- join(X1, X2, by = "OrfRep")
|
||||
OBH <- X[, order(colnames(X))] # OrderByHeader
|
||||
headSel <- select(OBH, contains("OrfRep"), matches("Gene"),
|
||||
contains("Z_lm_K"), contains("Z_Shift_K"), contains("Z_lm_L"), contains("Z_Shift_L"))
|
||||
headSel <- select(headSel, -"Gene.1") #remove "Gene.1 column
|
||||
headSel2 <- select(OBH, contains("OrfRep"), matches("Gene")) #Frame for interleaving Z_lm with Shift colums
|
||||
headSel2 <- select(headSel2, -"Gene.1") #remove "Gene.1 column #Frame for interleaving Z_lm with Shift colums
|
||||
} else if (length(inputFiles) == 3) {
|
||||
X1 <- read.csv(file = inputFiles[1], stringsAsFactors = FALSE) #exp1File,stringsAsFactors = FALSE)
|
||||
X2 <- read.csv(file = inputFiles[2], stringsAsFactors = FALSE) #exp2File,stringsAsFactors = FALSE)
|
||||
X3 <- read.csv(file = inputFiles[3], stringsAsFactors = FALSE) #exp3File,stringsAsFactors = FALSE)
|
||||
X <- join(X1, X2, by = "OrfRep")
|
||||
X <- join(X, X3, by = "OrfRep")
|
||||
OBH <- X[, order(colnames(X))] #OrderByHeader
|
||||
headSel <- select(OBH, contains("OrfRep"), matches("Gene"),
|
||||
contains("Z_lm_K"), contains("Z_Shift_K"), contains("Z_lm_L"), contains("Z_Shift_L"))
|
||||
headSel <- select(headSel, -"Gene.1", -"Gene.2")
|
||||
headSel2 <- select(OBH, contains("OrfRep"), matches("Gene"))
|
||||
headSel2 <- select(headSel2, -"Gene.1", -"Gene.2")
|
||||
|
||||
}else if(length(inputFiles)==3){
|
||||
X1 <- read.csv(file=inputFiles[1],stringsAsFactors=FALSE) #exp1File,stringsAsFactors=FALSE)
|
||||
X2 <- read.csv(file=inputFiles[2],stringsAsFactors=FALSE) #exp2File,stringsAsFactors=FALSE)
|
||||
X3 <- read.csv(file=inputFiles[3],stringsAsFactors=FALSE) #exp3File,stringsAsFactors=FALSE)
|
||||
X <- join(X1,X2,by="OrfRep")
|
||||
X <- join(X,X3,by="OrfRep")
|
||||
OBH=X[,order(colnames(X))] #OrderByHeader
|
||||
headSel=select(OBH, contains('OrfRep'), matches('Gene'), contains('Z_lm_K'), contains('Z_Shift_K'),contains('Z_lm_L'), contains('Z_Shift_L'))
|
||||
headSel=select(headSel, -'Gene.1',-'Gene.2')
|
||||
headSel2=select(OBH, contains('OrfRep'), matches('Gene'))
|
||||
headSel2=select(headSel2, -'Gene.1',-'Gene.2')
|
||||
|
||||
}else if(length(inputFiles)==4){
|
||||
X1 <- read.csv(file=inputFiles[1],stringsAsFactors=FALSE) #exp1File,stringsAsFactors=FALSE)
|
||||
X2 <- read.csv(file=inputFiles[2],stringsAsFactors=FALSE) #exp2File,stringsAsFactors=FALSE)
|
||||
X3 <- read.csv(file=inputFiles[3],stringsAsFactors=FALSE) #exp3File,stringsAsFactors=FALSE)
|
||||
X4 <- read.csv(file=inputFiles[4],stringsAsFactors=FALSE) #exp4File,stringsAsFactors=FALSE)
|
||||
X <- join(X1,X2,by="OrfRep")
|
||||
X <- join(X,X3,by="OrfRep")
|
||||
X <- join(X,X4,by="OrfRep")
|
||||
OBH=X[,order(colnames(X))] #OrderByHeader
|
||||
headSel=select(OBH, contains('OrfRep'), matches('Gene'), contains('Z_lm_K'), contains('Z_Shift_K'),contains('Z_lm_L'), contains('Z_Shift_L'))
|
||||
headSel=select(headSel, -'Gene.1',-'Gene.2',-'Gene.3')
|
||||
headSel2=select(OBH, contains('OrfRep'), matches('Gene'))
|
||||
headSel2=select(headSel2, -'Gene.1',-'Gene.2',-'Gene.3')
|
||||
} else if (length(inputFiles) == 4) {
|
||||
X1 <- read.csv(file = inputFiles[1], stringsAsFactors = FALSE) #exp1File,stringsAsFactors = FALSE)
|
||||
X2 <- read.csv(file = inputFiles[2], stringsAsFactors = FALSE) #exp2File,stringsAsFactors = FALSE)
|
||||
X3 <- read.csv(file = inputFiles[3], stringsAsFactors = FALSE) #exp3File,stringsAsFactors = FALSE)
|
||||
X4 <- read.csv(file = inputFiles[4], stringsAsFactors = FALSE) #exp4File,stringsAsFactors = FALSE)
|
||||
X <- join(X1, X2, by = "OrfRep")
|
||||
X <- join(X, X3, by = "OrfRep")
|
||||
X <- join(X, X4, by = "OrfRep")
|
||||
OBH <- X[, order(colnames(X))] #OrderByHeader
|
||||
headSel <- select(OBH, contains("OrfRep"), matches("Gene"),
|
||||
contains("Z_lm_K"), contains("Z_Shift_K"), contains("Z_lm_L"), contains("Z_Shift_L"))
|
||||
headSel <- select(headSel, -"Gene.1", -"Gene.2", -"Gene.3")
|
||||
headSel2 <- select(OBH, contains("OrfRep"), matches("Gene"))
|
||||
headSel2 <- select(headSel2, -"Gene.1", -"Gene.2", -"Gene.3")
|
||||
}
|
||||
|
||||
#headSel$contains('Z_Shift') %>% replace_na(0.001)
|
||||
headers<-colnames(headSel)
|
||||
i=0
|
||||
for(i in 1:length(headers)){
|
||||
|
||||
if(grepl("Shift",headers[i])) {
|
||||
headSel[headers[i]][is.na(headSel[headers[i]])]=0.001
|
||||
# headSel$contains("Z_Shift") %>% replace_na(0.001)
|
||||
headers <- colnames(headSel)
|
||||
i <- 0
|
||||
for (i in 1:length(headers)) {
|
||||
if (grepl("Shift", headers[i])) {
|
||||
headSel[headers[i]][is.na(headSel[headers[i]])] <- 0.001
|
||||
}
|
||||
if(grepl("Z_lm_",headers[i])) {
|
||||
headSel[headers[i]][is.na(headSel[headers[i]])]=0.0001
|
||||
if (grepl("Z_lm_", headers[i])) {
|
||||
headSel[headers[i]][is.na(headSel[headers[i]])] <- 0.0001
|
||||
}
|
||||
}
|
||||
|
||||
#2SD option code to exclude Z_lm values less than 2 standard Deviations
|
||||
|
||||
REMcRdy=select(headSel, contains('OrfRep'), matches('Gene'), contains('Z_lm_'))
|
||||
shiftOnly=select(headSel, contains('OrfRep'), matches('Gene'), contains('Z_Shift'))
|
||||
# 2SD option code to exclude Z_lm values less than 2 standard Deviations
|
||||
REMcRdy <- select(headSel, contains("OrfRep"), matches("Gene"), contains("Z_lm_"))
|
||||
shiftOnly <- select(headSel, contains("OrfRep"), matches("Gene"), contains("Z_Shift"))
|
||||
|
||||
# Code to replace the numeric (.1 .2 .3) headers with experiment names from StudyInfo.txt
|
||||
Labels <- read.csv(file="../Code/StudyInfo.csv",stringsAsFactors=FALSE,sep=",")
|
||||
Labels <- read.csv(file = "../Code/StudyInfo.csv", stringsAsFactors = FALSE, sep = ",")
|
||||
|
||||
# Using Text search grepl to relabel headers
|
||||
REMcRdyHdr=colnames(REMcRdy)
|
||||
REMcRdyLabels='asdf'
|
||||
shftHdr=colnames(shiftOnly)
|
||||
shiftLabels='asdf'
|
||||
shiftLabels[1:2]<-shftHdr[1:2]
|
||||
REMcRdyLabels[1:2]<-REMcRdyHdr[1:2]
|
||||
REMcRdyHdr <- colnames(REMcRdy)
|
||||
REMcRdyLabels <- "asdf"
|
||||
shftHdr <- colnames(shiftOnly)
|
||||
shiftLabels <- "asdf"
|
||||
shiftLabels[1:2] <- shftHdr[1:2]
|
||||
REMcRdyLabels[1:2] <- REMcRdyHdr[1:2]
|
||||
|
||||
for(i in 3:(length(shftHdr))){
|
||||
if(i==3){
|
||||
shiftLabels[3]<-paste0(Labels[1,2],".",shftHdr[3])
|
||||
REMcRdyLabels[3]<-paste0(Labels[1,2],".",REMcRdyHdr[3]) }
|
||||
if(i==5){
|
||||
shiftLabels[5]<-paste0(Labels[1,2],".",shftHdr[5])
|
||||
REMcRdyLabels[5]<-paste0(Labels[1,2],".",REMcRdyHdr[5])
|
||||
for (i in 3:(length(shftHdr))) {
|
||||
if (i == 3) {
|
||||
shiftLabels[3] <- paste0(Labels[1, 2], ".", shftHdr[3])
|
||||
REMcRdyLabels[3] <- paste0(Labels[1, 2], ".", REMcRdyHdr[3])
|
||||
}
|
||||
if(i==7){
|
||||
shiftLabels[7]<-paste0(Labels[1,2],".",shftHdr[7])
|
||||
REMcRdyLabels[7]<-paste0(Labels[1,2],".",REMcRdyHdr[7])
|
||||
if (i == 5) {
|
||||
shiftLabels[5] <- paste0(Labels[1, 2], ".", shftHdr[5])
|
||||
REMcRdyLabels[5] <- paste0(Labels[1, 2], ".", REMcRdyHdr[5])
|
||||
}
|
||||
if (i == 7) {
|
||||
shiftLabels[7] <- paste0(Labels[1, 2], ".", shftHdr[7])
|
||||
REMcRdyLabels[7] <- paste0(Labels[1, 2], ".", REMcRdyHdr[7])
|
||||
}
|
||||
if (grepl(".1", shftHdr[i], fixed = true)) {
|
||||
shiftLabels[i] <- paste0(Labels[2, 2], ".", shftHdr[i])
|
||||
REMcRdyLabels[i] <- paste0(Labels[2, 2], ".", REMcRdyHdr[i])
|
||||
}
|
||||
if (grepl(".2", shftHdr[i], fixed = true)) {
|
||||
shiftLabels[i] < -paste0(Labels[3, 2], ".", shftHdr[i])
|
||||
REMcRdyLabels[i] <- paste0(Labels[3, 2], ".", REMcRdyHdr[i])
|
||||
}
|
||||
if (grepl(".3", shftHdr[i], fixed = true)) {
|
||||
shiftLabels[i] <- paste0(Labels[4, 2], ".", shftHdr[i])
|
||||
REMcRdyLabels[i] <- paste0(Labels[4, 2], ".", REMcRdyHdr[i])
|
||||
}
|
||||
if(grepl(".1",shftHdr[i],fixed=true)){
|
||||
shiftLabels[i]<-paste0(Labels[2,2],".",shftHdr[i])
|
||||
REMcRdyLabels[i]<-paste0(Labels[2,2],".",REMcRdyHdr[i])}
|
||||
if (grepl(".2",shftHdr[i],fixed=true)){
|
||||
shiftLabels[i]<-paste0(Labels[3,2],".",shftHdr[i])
|
||||
REMcRdyLabels[i]<-paste0(Labels[3,2],".",REMcRdyHdr[i])}
|
||||
if(grepl(".3",shftHdr[i],fixed=true)){
|
||||
shiftLabels[i]<-paste0(Labels[4,2],".",shftHdr[i])
|
||||
REMcRdyLabels[i]<-paste0(Labels[4,2],".",REMcRdyHdr[i])}
|
||||
}
|
||||
|
||||
for(i in 3:(length(REMcRdyLabels))){
|
||||
j=as.integer(i)
|
||||
REMcRdyLabels[j]<- gsub("[.]", "_", REMcRdyLabels[j])
|
||||
shiftLabels[j]<- gsub("[.]", "_", shiftLabels[j])
|
||||
for (i in 3:(length(REMcRdyLabels))) {
|
||||
j <- as.integer(i)
|
||||
REMcRdyLabels[j] <- gsub("[.]", "_", REMcRdyLabels[j])
|
||||
shiftLabels[j] <- gsub("[.]", "_", shiftLabels[j])
|
||||
}
|
||||
|
||||
colnames(shiftOnly)<- shiftLabels
|
||||
colnames(REMcRdy)<- REMcRdyLabels
|
||||
colnames(shiftOnly) <- shiftLabels
|
||||
colnames(REMcRdy) <- REMcRdyLabels
|
||||
|
||||
combI=headSel2 #Starting Template orf, Genename columns
|
||||
combI <- headSel2 # starting Template orf, Genename columns
|
||||
|
||||
# headersRemc<-colnames(REMcRdy)
|
||||
# Reorder columns to produce an interleaved set of Z_lm and Shift data for all the cpps.
|
||||
for(i in 3:length(colnames(REMcRdy))){
|
||||
combI=cbind.data.frame(combI, shiftOnly[i])
|
||||
combI=cbind.data.frame(combI, REMcRdy[i])
|
||||
for (i in 3:length(colnames(REMcRdy))) {
|
||||
combI <- cbind.data.frame(combI, shiftOnly[i])
|
||||
combI <- cbind.data.frame(combI, REMcRdy[i])
|
||||
}
|
||||
|
||||
Vec1=NA
|
||||
Vec2=NA
|
||||
Vec3=NA
|
||||
Vec4=NA
|
||||
Vec5=NA
|
||||
Vec6=NA
|
||||
Vec7=NA
|
||||
Vec8=NA
|
||||
Vec1 <- NA
|
||||
Vec2 <- NA
|
||||
Vec3 <- NA
|
||||
Vec4 <- NA
|
||||
Vec5 <- NA
|
||||
Vec6 <- NA
|
||||
Vec7 <- NA
|
||||
Vec8 <- NA
|
||||
|
||||
if(length(REMcRdy)==6){
|
||||
Vec1=abs(REMcRdy[,3])>=std
|
||||
Vec2=abs(REMcRdy[,4])>=std
|
||||
Vec3=abs(REMcRdy[,5])>=std
|
||||
Vec4=abs(REMcRdy[,6])>=std
|
||||
bolVec=Vec1 | Vec2 |Vec3 |Vec4
|
||||
REMcRdyGT2=REMcRdy[bolVec,1:2]
|
||||
REMcRdyGT2[ ,3:6]=REMcRdy[bolVec,3:6]
|
||||
shiftOnlyGT2=shiftOnly[bolVec,1:2]
|
||||
shiftOnlyGT2[ ,3:6]=shiftOnly[bolVec,3:6]
|
||||
if (length(REMcRdy) == 6) {
|
||||
Vec1 <- abs(REMcRdy[, 3]) >= std
|
||||
Vec2 <- abs(REMcRdy[, 4]) >= std
|
||||
Vec3 <- abs(REMcRdy[, 5]) >= std
|
||||
Vec4 <- abs(REMcRdy[, 6]) >= std
|
||||
bolVec <- Vec1 | Vec2 | Vec3 | Vec4
|
||||
REMcRdyGT2 <- REMcRdy[bolVec, 1:2]
|
||||
REMcRdyGT2[, 3:6] <- REMcRdy[bolVec, 3:6]
|
||||
shiftOnlyGT2 <- shiftOnly[bolVec, 1:2]
|
||||
shiftOnlyGT2[, 3:6] <- shiftOnly[bolVec, 3:6]
|
||||
}
|
||||
|
||||
if(length(REMcRdy)==8){
|
||||
Vec1=abs(REMcRdy[,3])>=std
|
||||
Vec2=abs(REMcRdy[,4])>=std
|
||||
Vec3=abs(REMcRdy[,5])>=std
|
||||
Vec4=abs(REMcRdy[,6])>=std
|
||||
Vec5=abs(REMcRdy[,7])>=std
|
||||
Vec6=abs(REMcRdy[,8])>=std
|
||||
bolVec=Vec1 | Vec2 |Vec3 | Vec4 |Vec5 |Vec6
|
||||
REMcRdyGT2=REMcRdy[bolVec,1:2]
|
||||
REMcRdyGT2[ ,3:8]=REMcRdy[bolVec,3:8]
|
||||
shiftOnlyGT2=shiftOnly[bolVec,1:2]
|
||||
shiftOnlyGT2[ ,3:8]=shiftOnly[bolVec,3:8]
|
||||
if (length(REMcRdy) == 8) {
|
||||
Vec1 <- abs(REMcRdy[, 3]) >= std
|
||||
Vec2 <- abs(REMcRdy[, 4]) >= std
|
||||
Vec3 <- abs(REMcRdy[, 5]) >= std
|
||||
Vec4 <- abs(REMcRdy[, 6]) >= std
|
||||
Vec5 <- abs(REMcRdy[, 7]) >= std
|
||||
Vec6 <- abs(REMcRdy[, 8]) >= std
|
||||
bolVec <- Vec1 | Vec2 | Vec3 | Vec4 | Vec5 | Vec6
|
||||
REMcRdyGT2 <- REMcRdy[bolVec, 1:2]
|
||||
REMcRdyGT2[, 3:8] <- REMcRdy[bolVec, 3:8]
|
||||
shiftOnlyGT2 <- shiftOnly[bolVec, 1:2]
|
||||
shiftOnlyGT2[, 3:8] <- shiftOnly[bolVec, 3:8]
|
||||
}
|
||||
|
||||
if(length(REMcRdy)==10){
|
||||
Vec1=abs(REMcRdy[,3])>=std
|
||||
Vec2=abs(REMcRdy[,4])>=std
|
||||
Vec3=abs(REMcRdy[,5])>=std
|
||||
Vec4=abs(REMcRdy[,6])>=std
|
||||
Vec5=abs(REMcRdy[,7])>=std
|
||||
Vec6=abs(REMcRdy[,8])>=std
|
||||
Vec7=abs(REMcRdy[,9])>=std
|
||||
Vec8=abs(REMcRdy[,10])>=std
|
||||
bolVec=Vec1 | Vec2 |Vec3 |Vec4|Vec5|Vec6|Vec7|Vec8
|
||||
REMcRdyGT2=REMcRdy[bolVec,1:2]
|
||||
REMcRdyGT2[ ,3:10]=REMcRdy[bolVec,3:10]
|
||||
shiftOnlyGT2=shiftOnly[bolVec,1:2]
|
||||
shiftOnlyGT2[ ,3:10]=shiftOnly[bolVec,3:10]
|
||||
if (length(REMcRdy) == 10) {
|
||||
Vec1 <- abs(REMcRdy[, 3]) >= std
|
||||
Vec2 <- abs(REMcRdy[, 4]) >= std
|
||||
Vec3 <- abs(REMcRdy[, 5]) >= std
|
||||
Vec4 <- abs(REMcRdy[, 6]) >= std
|
||||
Vec5 <- abs(REMcRdy[, 7]) >= std
|
||||
Vec6 <- abs(REMcRdy[, 8]) >= std
|
||||
Vec7 <- abs(REMcRdy[, 9]) >= std
|
||||
Vec8 <- abs(REMcRdy[, 10]) >= std
|
||||
bolVec <- Vec1 | Vec2 | Vec3 | Vec4 | Vec5 | Vec6 | Vec7 | Vec8
|
||||
REMcRdyGT2 <- REMcRdy[bolVec, 1:2]
|
||||
REMcRdyGT2[, 3:10] <- REMcRdy[bolVec, 3:10]
|
||||
shiftOnlyGT2 <- shiftOnly[bolVec, 1:2]
|
||||
shiftOnlyGT2[, 3:10] <- shiftOnly[bolVec, 3:10]
|
||||
}
|
||||
|
||||
if(std!=0){
|
||||
REMcRdy=REMcRdyGT2 # [,2:length(REMcRdyGT2)]
|
||||
shiftOnly=shiftOnlyGT2 # [,2:length(shiftOnlyGT2)]
|
||||
if (std != 0) {
|
||||
REMcRdy <- REMcRdyGT2 # [,2:length(REMcRdyGT2)]
|
||||
shiftOnly <- shiftOnlyGT2 # [,2:length(shiftOnlyGT2)]
|
||||
}
|
||||
|
||||
if(std==0){
|
||||
REMcRdy=REMcRdy # [,2:length(REMcRdy)]
|
||||
shiftOnly=shiftOnly # [,2:length(shiftOnly)]
|
||||
if (std == 0) {
|
||||
REMcRdy <- REMcRdy # [,2:length(REMcRdy)]
|
||||
shiftOnly <- shiftOnly # [,2:length(shiftOnly)]
|
||||
}
|
||||
|
||||
# R places hidden "" around the header names. The following
|
||||
# R places hidden "" around the header names. The following
|
||||
# is intended to remove those quote so that the "" do not blow up the Java REMc.
|
||||
# Use ,quote=F in the write.csv statement to fix R output file.
|
||||
#write.csv(combI,file=file.path(outDir,"CombinedKLzscores.csv"),row.names=FALSE)
|
||||
write.csv(REMcRdy,file=file.path(outDir,"REMcRdy_lm_only.csv"),row.names=FALSE, quote=F)
|
||||
write.csv(shiftOnly,file=file.path(outDir,"Shift_only.csv"),row.names=FALSE, quote=F)
|
||||
#LabelStd <- read.table(file="./parameters.csv",stringsAsFactors=FALSE,sep=",")
|
||||
# write.csv(combI,file.path(outDir,"CombinedKLzscores.csv"), row.names = FALSE)
|
||||
write.csv(REMcRdy, file.path(outDir, "REMcRdy_lm_only.csv"), row.names = FALSE, quote = FALSE)
|
||||
write.csv(shiftOnly, file.path(outDir, "Shift_only.csv"), row.names = FALSE, quote = FALSE)
|
||||
#LabelStd <- read.table(file="./parameters.csv",stringsAsFactors = FALSE,sep = ",")
|
||||
|
||||
LabelStd<-read.csv(file=studyInfo,stringsAsFactors=FALSE)
|
||||
LabelStd <- read.csv(file = studyInfo, stringsAsFactors = FALSE)
|
||||
print(std)
|
||||
LabelStd[,4]=as.numeric(std)
|
||||
write.csv(LabelStd,file=file.path(outDir,"parameters.csv"),row.names=FALSE)
|
||||
write.csv(LabelStd,file=studyInfo,row.names=FALSE)
|
||||
LabelStd[, 4] <- as.numeric(std)
|
||||
write.csv(LabelStd, file = file.path(outDir, "parameters.csv"), row.names = FALSE)
|
||||
write.csv(LabelStd, file = studyInfo, row.names = FALSE)
|
||||
|
||||
@@ -1620,7 +1620,12 @@ gta() {
|
||||
for combo in "${study_combos[@]}"; do
|
||||
# Split on comma and assign to array
|
||||
IFS=',' read -ra studies <<< "$combo"
|
||||
r_gta_pairwiselk "${studies[0]}" "${studies[1]}" "$STUDY_INFO_FILE" "$gta_out_dir"
|
||||
r_gta_pairwiselk \
|
||||
"${studies[0]}" \
|
||||
"${studies[1]}" \
|
||||
"$STUDY_INFO_FILE" \
|
||||
"Average_GOTerms_All.csv" \
|
||||
"$gta_out_dir"
|
||||
done
|
||||
|
||||
# All studies
|
||||
@@ -1660,17 +1665,18 @@ wrapper r_gta
|
||||
#
|
||||
# TODO
|
||||
#
|
||||
# * Is GTAtemplate.R actually a template?
|
||||
# * Do we need to allow user customization?
|
||||
# * Is GTAtemplate.R actually a template?
|
||||
# * Do we need to allow user customization?
|
||||
#
|
||||
# Files
|
||||
# INPUT
|
||||
#
|
||||
# * [gene_association.sgd](https://downloads.yeastgenome.org/curation/chromosomal_feature/gene_association.sgd)
|
||||
# * go_terms.tab
|
||||
# * [gene_association.sgd](https://downloads.yeastgenome.org/curation/chromosomal_feature/gene_association.sgd)
|
||||
# * go_terms.tab
|
||||
#
|
||||
# Output
|
||||
# OUTPUT
|
||||
#
|
||||
# * Average_GOTerms_All.csv
|
||||
#
|
||||
# *
|
||||
#
|
||||
# @arg $1 string Exp# name
|
||||
# @arg $2 string ZScores_Interaction.csv file
|
||||
@@ -1683,7 +1689,7 @@ r_gta() {
|
||||
cat <<-EOF
|
||||
|
||||
EOF
|
||||
script="$APPS_DIR/r/GTAtemplate.R"
|
||||
script="$APPS_DIR/r/gtaTemplate.R"
|
||||
[[ -d $5 ]] || mkdir -p "$5"
|
||||
debug "$RSCRIPT $script $*"
|
||||
"$RSCRIPT" "$script" \
|
||||
@@ -1701,16 +1707,18 @@ wrapper r_gta_pairwiselk
|
||||
#
|
||||
# TODO
|
||||
#
|
||||
# * Should move directory creation from PairwiseLK.R to gta module
|
||||
# * Move directory creation from PairwiseLK.R to gta module
|
||||
# * Needs better output filenames and directory organization
|
||||
# * Needs more for looping to reduce verbosity
|
||||
#
|
||||
# Files
|
||||
# INPUT
|
||||
#
|
||||
# *
|
||||
# *
|
||||
# * Average_GOTerms_All.csv
|
||||
# *
|
||||
#
|
||||
# Output
|
||||
#
|
||||
# *
|
||||
# *
|
||||
#
|
||||
# This wrapper:
|
||||
#
|
||||
@@ -1724,7 +1732,7 @@ wrapper r_gta_pairwiselk
|
||||
# @arg $4 string output directory
|
||||
#
|
||||
r_gta_pairwiselk() {
|
||||
debug "Running: ${FUNCNAME[0]}"
|
||||
debug "Running: ${FUNCNAME[0]} $*"
|
||||
cat <<-EOF
|
||||
|
||||
EOF
|
||||
@@ -1734,7 +1742,12 @@ r_gta_pairwiselk() {
|
||||
[[ -d $4 ]] || mkdir -p "$4"
|
||||
|
||||
debug "$RSCRIPT $script $*"
|
||||
"$RSCRIPT" "$script" "$@"
|
||||
"$RSCRIPT" "$script" \
|
||||
"$1" \
|
||||
"$2" \
|
||||
"$3" \
|
||||
"$4" \
|
||||
"${@:5}"
|
||||
}
|
||||
|
||||
|
||||
@@ -1842,6 +1855,10 @@ r_interactions() {
|
||||
wrapper r_join_interactions
|
||||
# @description JoinInteractExps3dev.R creates REMcRdy_lm_only.csv and Shift_only.csv
|
||||
#
|
||||
# TODO
|
||||
# * Needs more loops to reduce verbosity
|
||||
#
|
||||
#
|
||||
# Output
|
||||
#
|
||||
# * REMcRdy_lm_only.csv
|
||||
|
||||
Reference in New Issue
Block a user