#for analysis of milk basophil data milkBATCH <-function(directory, exportname="", export=FALSE) { dir <- readLines(pipe(paste("ls", directory))) paths <- paste(directory, dir, sep="/") FILENUM <- 0 #non_data <- 0 #cv <- function(x) 100*((sqrt(var(x)/length(x)))/mean(x)) #define CV non_baso <- 0 cat("processing . . .\n") for (step in 1:length(paths)) { subdir <- readLines(pipe(paste("ls", paths[step]))) for (instep in 1:length(subdir)) { filename <- paste(paths[step], subdir[instep], sep="/") shortname <- subdir[instep]; corename <- substring(shortname, 1, 5) baso_test <- substring(filename, nchar(filename)-4, nchar(filename)) boo <- any(as.logical(grep(baso_test, "-baso"))) if (boo) { if (FILENUM == 0) FILENUM<-1 else FILENUM <- 2 # used below for define of data_array con <- file(filename, encoding="macroman") TABLE <- read.table(con, skip=1, sep="\t", check.names=FALSE, fill=TRUE, strip.white=TRUE) con <- file(filename, encoding="macroman") ROWS <- length(TABLE[[1]]) #GET TABLE LENGTH TO LEAVE OFF LAST TWO ROWS TABLE <- read.table(con, skip=1, sep="\t", check.names=FALSE, fill=TRUE, strip.white=TRUE, nrows=ROWS-2) cat(paste(filename, "\n")) # remove additional text from stim field TABLE[,1] <- substring(TABLE[,1],4,15) TABLE[,1] <- substring(TABLE[,1],1,length(TABLE[,1])-1) TABLE[,1] <- gsub(" ","",TABLE[,1]) data_sum <- data.frame(experiment=corename, stim=TABLE[,1], freq=as.numeric(as.character(TABLE[,2])), baso_CD63_CV=as.numeric(as.character(TABLE[,3])), baso_CD63_mfi=as.numeric(as.character(TABLE[,4])), baso_CD203_CV=as.numeric(as.character(TABLE[,5])), baso_CD203_mfi=as.numeric(as.character(TABLE[,6])), baso_CD123_CV=as.numeric(as.character(TABLE[,7])), baso_CD123_mfi=as.numeric(as.character(TABLE[,8])), baso_count=as.numeric(as.character(TABLE[,9])), Q1=as.numeric(as.character(TABLE[,10])), Q1_CD63_CV=as.numeric(as.character(TABLE[,11])), Q1_CD63_mfi=as.numeric(as.character(TABLE[,12])), Q1_CD203_CV=as.numeric(as.character(TABLE[,13])), Q1_CD203_mfi=as.numeric(as.character(TABLE[,14])), Q1_CD123_CV=as.numeric(as.character(TABLE[,15])), Q1_CD123_mfi=as.numeric(as.character(TABLE[,16])), Q2=as.numeric(as.character(TABLE[,17])), Q2_CD63_CV=as.numeric(as.character(TABLE[,18])), Q2_CD63_mfi=as.numeric(as.character(TABLE[,19])), Q2_CD203_CV=as.numeric(as.character(TABLE[,20])), Q2_CD203_mfi=as.numeric(as.character(TABLE[,21])), Q2_CD123_CV=as.numeric(as.character(TABLE[,22])), Q2_CD123_mfi=as.numeric(as.character(TABLE[,23])), Q3=as.numeric(as.character(TABLE[,24])), Q3_CD63_CV=as.numeric(as.character(TABLE[,25])), Q3_CD63_mfi=as.numeric(as.character(TABLE[,26])), Q3_CD203_CV=as.numeric(as.character(TABLE[,27])), Q3_CD203_mfi=as.numeric(as.character(TABLE[,28])), Q3_CD123_CV=as.numeric(as.character(TABLE[,29])), Q3_CD123_mfi=as.numeric(as.character(TABLE[,30])), Q4=as.numeric(as.character(TABLE[,31])), Q4_CD63_CV=as.numeric(as.character(TABLE[,32])), Q4_CD63_mfi=as.numeric(as.character(TABLE[,33])), Q4_CD203_CV=as.numeric(as.character(TABLE[,34])), Q4_CD203_mfi=as.numeric(as.character(TABLE[,35])), Q4_CD123_CV=as.numeric(as.character(TABLE[,36])), Q4_CD123_mfi=as.numeric(as.character(TABLE[,37]))) if (FILENUM==1) {data_array <<- data_sum} else {data_array <<- rbind(data_array, data_sum)} } else non_baso <- non_baso + 1 } } cat(paste("total number of folders:", paste(step, "\n"))) if (export) { exportpath <- paste(readLines(pipe("pwd")),"/",sep="") con <- file(paste(exportpath, exportname, sep = ""), encoding="macroman") write.csv(data_array, con) cat(paste("writing file", paste(exportpath, paste(exportname, "\n"), sep=""))) } } milkBATCH("/Volumes/EDGE_DISKGO/milk_temp_baso/visit0_tomash", "visit0.csv", TRUE) milkBATCH("/Volumes/EDGE_DISKGO/milk_temp_baso/visit6", "visit6.csv", TRUE) v0 <- read.csv("/Volumes/EDGE_DISKGO/milk_temp_baso/visit0.csv") clinical <- read.csv("/Volumes/EDGE_DISKGO/milk_temp_baso/clinical.csv") clinV0 <- subset(clinical, Baseline_Group_Number != "") v0 <- data.frame(v0, Clinical_Group = NA) index1 <- match( v0$experiment, clinV0$INFOED_TRIAL_ID) for (step in 1:length(clinV0$INFOED_TRIAL_ID)) { i <- v0$experiment %in% clinV0$INFOED_TRIAL_ID[step] v0$Clinical_Group[i] <- clinV0$Baseline_Group_Number[step] } v0$Clinical_Group <- as.factor(v0$Clinical_Group) milk <- subset(v0, stim == "Milk1" | stim == "Milk2" | stim == "Milk3" | stim == "Milk4" | stim == "Milk5") write.csv(milk, "milk_only.csv") milk <- read.csv("milk_only.csv") ctrls <- subset(v0, stim == "Anti-IgE" | stim == "IL-3" | stim == "PMA/CaI" | stim == "fMLP") write.csv(ctrls, "ctrls.csv") ctrls <- read.csv("ctrls.csv") agg <- by(milk$Q2, list(milk$stim, milk$Clinical_Group), fivenum) quartz(); boxplot(agg, ylab="CD63+") agg <- by(ctrls$Q2, list(ctrls$stim, ctrls$Clinical_Group), fivenum) quartz(); boxplot(agg, ylab="CD63+")