comparison NmrBucketing_script.R @ 4:d61f6ceef5d6 draft

planemo upload for repository https://github.com/workflow4metabolomics/nmr_bucketing commit a0155b12acca444f72ff761fcce740e71be28a6d-dirty
author lecorguille
date Tue, 22 Nov 2016 05:22:03 -0500
parents 58679e85745f
children
comparison
equal deleted inserted replaced
3:58679e85745f 4:d61f6ceef5d6
3 # User : Galaxy # 3 # User : Galaxy #
4 # Original data : -- # 4 # Original data : -- #
5 # Starting date : 20-10-2014 # 5 # Starting date : 20-10-2014 #
6 # Version 1 : 18-12-2014 # 6 # Version 1 : 18-12-2014 #
7 # Version 2 : 07-01-2015 # 7 # Version 2 : 07-01-2015 #
8 # Version 3 : 24-10-2016 #
8 # # 9 # #
9 # Input files : files in included in user-defined directory # 10 # Input files : modification on october 2016 #
11 # - Raw bruker files included in user-defined fileName #
12 # - Preprocessed files (alignment, ...) included in p x n dataframe #
10 ################################################################################################ 13 ################################################################################################
11 NmrBucketing <- function(directory,leftBorder = 10.0,rightBorder = 0.5,bucketSize = 0.04,exclusionZones,exclusionZonesBorders=NULL, 14 NmrBucketing <- function(fileType,fileName,leftBorder = 10.0,rightBorder = 0.5,bucketSize = 0.04,exclusionZones,
12 graph=c("None","Overlay","One_per_individual"),nomFichier,savLog.txtC = NULL) 15 exclusionZonesBorders=NULL,graph=c("None","Overlay","One_per_individual"),
16 nomFichier,savLog.txtC = NULL)
13 { 17 {
14 ## Option 18 ## Option
15 ##--------------- 19 ##---------------
16 strAsFacL <- options()$stringsAsFactors 20 strAsFacL <- options()$stringsAsFactors
17 options(stingsAsFactors = FALSE) 21 options(stingsAsFactors = FALSE)
129 } 133 }
130 } 134 }
131 return(f.bucket) 135 return(f.bucket)
132 } 136 }
133 137
134
135 # File names
136 FileNames <- list.files(directory)
137 n <- length(FileNames)
138
139 # Exclusion zones 138 # Exclusion zones
140 ## if (exclusionZones == "yes")
141 if (!is.null(exclusionZonesBorders)) 139 if (!is.null(exclusionZonesBorders))
142 { 140 {
143 exclusion.zone.m <- matrix(exclusionZonesBorders[[1]],nrow=1) 141 exclusion.zone.m <- matrix(exclusionZonesBorders[[1]],nrow=1)
144 if (length(exclusionZonesBorders) > 1) 142 if (length(exclusionZonesBorders) > 1)
145 for (k in 2:length(exclusionZonesBorders)) 143 for (k in 2:length(exclusionZonesBorders))
146 exclusion.zone.m <- rbind(exclusion.zone.m,exclusionZonesBorders[[k]]) 144 exclusion.zone.m <- rbind(exclusion.zone.m,exclusionZonesBorders[[k]])
147 } 145 }
148 146
149 # Reading and Bucketing 147 ## CHANGES
150 directory <- paste(directory,"/",sep="") 148 ## Inputs from zip or library (raw files)
151 149 if (fileType == "zip")
152 i <- 1 150 {
153 while (i <= n) 151 # File names
154 { 152 FileNames <- list.files(fileName)
155 # File reading 153 n <- length(FileNames)
156 SampleDir <- paste(directory,FileNames[i],"/1/",sep="") 154
157 setwd(SampleDir) 155 # Reading and Bucketing
158 DataDir <- "pdata/1" 156 fileName <- paste(fileName,"/",sep="")
159 157
160 rawSpectrum <- NmRBrucker_read(DataDir,rawSpectrum) 158 i <- 1
161 159 while (i <= n)
162 orderedSpectrum <- rawSpectrum[order(rawSpectrum[,1],decreasing=T), ] 160 {
163 161 # File reading
164 # Removal of chemical shifts > leftBorder or < rightBorder boundaries 162 SampleDir <- paste(fileName,FileNames[i],"/1/",sep="")
165 truncatedSpectrum <- orderedSpectrum[orderedSpectrum[,1] < leftBorder & orderedSpectrum[,1] > rightBorder, ] 163 setwd(SampleDir)
166 truncatedSpectrum[,1] <- round(truncatedSpectrum[,1],3) 164 DataDir <- "pdata/1"
167 165
168 # Bucketing 166 rawSpectrum <- NmRBrucker_read(DataDir,rawSpectrum)
169 spectrum.bucket <- NmrBrucker_bucket(truncatedSpectrum) 167
170 168 orderedSpectrum <- rawSpectrum[order(rawSpectrum[,1],decreasing=T), ]
171 # spectrum Concatenation 169
172 if (i == 1) 170 # Removal of chemical shifts > leftBorder or < rightBorder boundaries
173 bucketedSpectra <- spectrum.bucket 171 truncatedSpectrum <- orderedSpectrum[orderedSpectrum[,1] < leftBorder & orderedSpectrum[,1] > rightBorder, ]
174 if (i > 1) 172 truncatedSpectrum[,1] <- round(truncatedSpectrum[,1],3)
175 bucketedSpectra <- cbind(bucketedSpectra,spectrum.bucket[,2]) 173
176 colnames(bucketedSpectra)[i+1] <- FileNames[i] 174 # Bucketing
177 175 spectrum.bucket <- NmrBrucker_bucket(truncatedSpectrum)
178 # Next sample 176
179 rm(spectrum.bucket) 177 # spectrum Concatenation
180 i <- i +1 178 if (i == 1)
181 } 179 bucketedSpectra <- spectrum.bucket
180 if (i > 1)
181 bucketedSpectra <- cbind(bucketedSpectra,spectrum.bucket[,2])
182 colnames(bucketedSpectra)[i+1] <- FileNames[i]
183
184 # Next sample
185 rm(spectrum.bucket)
186 i <- i +1
187 }
188 # Directory
189 cd(fileName)
190 }
191
192 ## Inputs from dataset (preprocessed files)
193 if (fileType=="tsv")
194 {
195 FileNames <- colnames(fileName)
196 n <- length(FileNames)
197
198 for (i in 1:ncol(fileName))
199 {
200 orderedSpectrum <- cbind(as.numeric(rownames(fileName)),fileName[,i])
201 orderedSpectrum <- orderedSpectrum[order(orderedSpectrum[,1],decreasing=T), ]
202
203 truncatedSpectrum <- orderedSpectrum[orderedSpectrum[,1] < leftBorder & orderedSpectrum[,1] > rightBorder, ]
204 truncatedSpectrum[,1] <- round(truncatedSpectrum[,1],3)
205
206 # Bucketing
207 spectrum.bucket <- NmrBrucker_bucket(truncatedSpectrum)
208
209 # spectrum Concatenation
210 if (i == 1)
211 bucketedSpectra <- spectrum.bucket
212 if (i > 1)
213 bucketedSpectra <- cbind(bucketedSpectra,spectrum.bucket[,2])
214 colnames(bucketedSpectra)[i+1] <- colnames(fileName)[i]
215 }
216 }
217
182 identifiants <- gsub("([- , * { } | \\[ ])","_",colnames(bucketedSpectra)[-1]) 218 identifiants <- gsub("([- , * { } | \\[ ])","_",colnames(bucketedSpectra)[-1])
183 colnames(bucketedSpectra) <- c(colnames(bucketedSpectra)[1],identifiants) 219 colnames(bucketedSpectra) <- c(colnames(bucketedSpectra)[1],identifiants)
184 220
185 bucketedSpectra <- bucketedSpectra[bucketedSpectra[,1]!=0,] 221 bucketedSpectra <- bucketedSpectra[bucketedSpectra[,1]!=0,]
186 rownames(bucketedSpectra) <- paste("B",bucketedSpectra[,1],sep="") 222 rownames(bucketedSpectra) <- paste("B",bucketedSpectra[,1],sep="")
193 229
194 variableMetadata <- data.frame(1:nrow(bucketedSpectra)) 230 variableMetadata <- data.frame(1:nrow(bucketedSpectra))
195 rownames(variableMetadata) <- rownames(bucketedSpectra) 231 rownames(variableMetadata) <- rownames(bucketedSpectra)
196 colnames(variableMetadata) <- "VariableOrder" 232 colnames(variableMetadata) <- "VariableOrder"
197 233
198 # Directory
199 cd(directory)
200
201 # Bucketed spectra graph 234 # Bucketed spectra graph
202 if (graph != "None") 235 if (graph != "None")
203 { 236 {
204 # Graphic Device opening 237 # Graphic Device opening
205 pdf(nomFichier,onefile=TRUE) 238 pdf(nomFichier,onefile=TRUE)