Mercurial > repos > lecorguille > camera_annotate
comparison lib.r @ 18:cb923396e70f draft
planemo upload commit 459ef7f63e313493aca32441bd821f09e36de48c
| author | lecorguille |
|---|---|
| date | Thu, 29 Aug 2019 11:38:21 -0400 |
| parents | 73d82de36369 |
| children | 01459b73daf9 |
comparison
equal
deleted
inserted
replaced
| 17:73d82de36369 | 18:cb923396e70f |
|---|---|
| 1 # lib.r | 1 # lib.r |
| 2 | |
| 3 #@author G. Le Corguille | |
| 4 # solve an issue with batch if arguments are logical TRUE/FALSE | |
| 5 parseCommandArgs <- function(...) { | |
| 6 args <- batch::parseCommandArgs(...) | |
| 7 for (key in names(args)) { | |
| 8 if (args[key] %in% c("TRUE","FALSE")) | |
| 9 args[key] = as.logical(args[key]) | |
| 10 } | |
| 11 return(args) | |
| 12 } | |
| 13 | |
| 14 #@author G. Le Corguille | |
| 15 # This function will | |
| 16 # - load the packages | |
| 17 # - display the sessionInfo | |
| 18 loadAndDisplayPackages <- function(pkgs) { | |
| 19 for(pkg in pkgs) suppressPackageStartupMessages( stopifnot( library(pkg, quietly=TRUE, logical.return=TRUE, character.only=TRUE))) | |
| 20 | |
| 21 sessioninfo = sessionInfo() | |
| 22 cat(sessioninfo$R.version$version.string,"\n") | |
| 23 cat("Main packages:\n") | |
| 24 for (pkg in names(sessioninfo$otherPkgs)) { cat(paste(pkg,packageVersion(pkg)),"\t") }; cat("\n") | |
| 25 cat("Other loaded packages:\n") | |
| 26 for (pkg in names(sessioninfo$loadedOnly)) { cat(paste(pkg,packageVersion(pkg)),"\t") }; cat("\n") | |
| 27 } | |
| 2 | 28 |
| 3 # This function retrieve a xset like object | 29 # This function retrieve a xset like object |
| 4 #@author Gildas Le Corguille lecorguille@sb-roscoff.fr | 30 #@author Gildas Le Corguille lecorguille@sb-roscoff.fr |
| 5 getxcmsSetObject <- function(xobject) { | 31 getxcmsSetObject <- function(xobject) { |
| 6 # XCMS 1.x | 32 # XCMS 1.x |
| 32 system(paste0("gm convert ",filebase,"_box/*.png ",pdfBoxOutput)) | 58 system(paste0("gm convert ",filebase,"_box/*.png ",pdfBoxOutput)) |
| 33 | 59 |
| 34 } | 60 } |
| 35 | 61 |
| 36 #@author G. Le Corguille | 62 #@author G. Le Corguille |
| 63 #The function create a zip archive from the different png generated by diffreport | |
| 64 diffreport_png2zip <- function() { | |
| 65 zip("eic.zip", dir(pattern="_eic"), zip=Sys.which("zip")) | |
| 66 zip("box.zip", dir(pattern="_box"), zip=Sys.which("zip")) | |
| 67 } | |
| 68 | |
| 69 #The function create a zip archive from the different tabular generated by diffreport | |
| 70 diffreport_tabular2zip <- function() { | |
| 71 zip("tabular.zip", dir(pattern="tabular/*"), zip=Sys.which("zip")) | |
| 72 } | |
| 73 | |
| 74 #@author G. Le Corguille | |
| 37 #This function convert if it is required the Retention Time in minutes | 75 #This function convert if it is required the Retention Time in minutes |
| 38 RTSecondToMinute <- function(variableMetadata, convertRTMinute) { | 76 RTSecondToMinute <- function(variableMetadata, convertRTMinute) { |
| 39 if (convertRTMinute){ | 77 if (convertRTMinute){ |
| 40 #converting the retention times (seconds) into minutes | 78 #converting the retention times (seconds) into minutes |
| 41 print("converting the retention times into minutes in the variableMetadata") | 79 print("converting the retention times into minutes in the variableMetadata") |
| 55 variableMetadata=cbind(name=variableMetadata$name, namecustom=namecustom, variableMetadata[,!(colnames(variableMetadata) %in% c("name"))]) | 93 variableMetadata=cbind(name=variableMetadata$name, namecustom=namecustom, variableMetadata[,!(colnames(variableMetadata) %in% c("name"))]) |
| 56 return(variableMetadata) | 94 return(variableMetadata) |
| 57 } | 95 } |
| 58 | 96 |
| 59 #The function annotateDiffreport without the corr function which bugs | 97 #The function annotateDiffreport without the corr function which bugs |
| 60 annotatediff <- function(xset=xset, listArguments=listArguments, variableMetadataOutput="variableMetadata.tsv") { | 98 annotatediff <- function(xset=xset, args=args, variableMetadataOutput="variableMetadata.tsv") { |
| 61 # Resolve the bug with x11, with the function png | 99 # Resolve the bug with x11, with the function png |
| 62 options(bitmapType='cairo') | 100 options(bitmapType='cairo') |
| 63 | 101 |
| 64 #Check if the fillpeaks step has been done previously, if it hasn't, there is an error message and the execution is stopped. | 102 #Check if the fillpeaks step has been done previously, if it hasn't, there is an error message and the execution is stopped. |
| 65 res=try(is.null(xset@filled)) | 103 res=try(is.null(xset@filled)) |
| 66 | 104 |
| 67 # ------ annot ------- | 105 # ------ annot ------- |
| 68 listArguments[["calcCiS"]]=as.logical(listArguments[["calcCiS"]]) | 106 args$calcCiS=as.logical(args$calcCiS) |
| 69 listArguments[["calcIso"]]=as.logical(listArguments[["calcIso"]]) | 107 args$calcIso=as.logical(args$calcIso) |
| 70 listArguments[["calcCaS"]]=as.logical(listArguments[["calcCaS"]]) | 108 args$calcCaS=as.logical(args$calcCaS) |
| 71 | 109 |
| 72 # common parameters | 110 # common parameters |
| 73 listArguments4annotate = list(object=xset, | 111 args4annotate = list(object=xset, |
| 74 nSlaves=listArguments[["nSlaves"]],sigma=listArguments[["sigma"]],perfwhm=listArguments[["perfwhm"]], | 112 nSlaves=args$nSlaves,sigma=args$sigma,perfwhm=args$perfwhm, |
| 75 maxcharge=listArguments[["maxcharge"]],maxiso=listArguments[["maxiso"]],minfrac=listArguments[["minfrac"]], | 113 maxcharge=args$maxcharge,maxiso=args$maxiso,minfrac=args$minfrac, |
| 76 ppm=listArguments[["ppm"]],mzabs=listArguments[["mzabs"]],quick=listArguments[["quick"]], | 114 ppm=args$ppm,mzabs=args$mzabs,quick=args$quick, |
| 77 polarity=listArguments[["polarity"]],max_peaks=listArguments[["max_peaks"]],intval=listArguments[["intval"]]) | 115 polarity=args$polarity,max_peaks=args$max_peaks,intval=args$intval) |
| 78 | 116 |
| 79 # quick == FALSE | 117 # quick == FALSE |
| 80 if(listArguments[["quick"]]==FALSE) { | 118 if(args$quick==FALSE) { |
| 81 listArguments4annotate = append(listArguments4annotate, | 119 args4annotate = append(args4annotate, |
| 82 list(graphMethod=listArguments[["graphMethod"]],cor_eic_th=listArguments[["cor_eic_th"]],pval=listArguments[["pval"]], | 120 list(graphMethod=args$graphMethod,cor_eic_th=args$cor_eic_th,pval=args$pval, |
| 83 calcCiS=listArguments[["calcCiS"]],calcIso=listArguments[["calcIso"]],calcCaS=listArguments[["calcCaS"]])) | 121 calcCiS=args$calcCiS,calcIso=args$calcIso,calcCaS=args$calcCaS)) |
| 84 # no ruleset | 122 # no ruleset |
| 85 if (!is.null(listArguments[["multiplier"]])) { | 123 if (!is.null(args$multiplier)) { |
| 86 listArguments4annotate = append(listArguments4annotate, | 124 args4annotate = append(args4annotate, |
| 87 list(multiplier=listArguments[["multiplier"]])) | 125 list(multiplier=args$multiplier)) |
| 88 } | 126 } |
| 89 # ruleset | 127 # ruleset |
| 90 else { | 128 else { |
| 91 rulset=read.table(listArguments[["rules"]], h=T, sep=";") | 129 rulset=read.table(args$rules, h=T, sep=";") |
| 92 if (ncol(rulset) < 4) rulset=read.table(listArguments[["rules"]], h=T, sep="\t") | 130 if (ncol(rulset) < 4) rulset=read.table(args$rules, h=T, sep="\t") |
| 93 if (ncol(rulset) < 4) rulset=read.table(listArguments[["rules"]], h=T, sep=",") | 131 if (ncol(rulset) < 4) rulset=read.table(args$rules, h=T, sep=",") |
| 94 if (ncol(rulset) < 4) { | 132 if (ncol(rulset) < 4) { |
| 95 error_message="Your ruleset file seems not well formatted. The column separators accepted are ; , and tabulation" | 133 error_message="Your ruleset file seems not well formatted. The column separators accepted are ; , and tabulation" |
| 96 print(error_message) | 134 print(error_message) |
| 97 stop(error_message) | 135 stop(error_message) |
| 98 } | 136 } |
| 99 | 137 |
| 100 listArguments4annotate = append(listArguments4annotate, | 138 args4annotate = append(args4annotate, |
| 101 list(rules=rulset)) | 139 list(rules=rulset)) |
| 102 } | 140 } |
| 103 } | 141 } |
| 104 | 142 |
| 105 | 143 |
| 106 # launch annotate | 144 # launch annotate |
| 107 xa = do.call("annotate", listArguments4annotate) | 145 xa = do.call("annotate", args4annotate) |
| 108 peakList=getPeaklist(xa,intval=listArguments[["intval"]]) | 146 peakList=getPeaklist(xa,intval=args$intval) |
| 109 peakList=cbind(groupnames(xa@xcmsSet),peakList); colnames(peakList)[1] = c("name"); | 147 peakList=cbind(groupnames(xa@xcmsSet),peakList); colnames(peakList)[1] = c("name"); |
| 110 | 148 |
| 111 # --- Multi condition : diffreport --- | 149 # --- Multi condition : diffreport --- |
| 112 diffrepOri=NULL | 150 diffrepOri=NULL |
| 113 if (!is.null(listArguments[["runDiffreport"]]) & nlevels(sampclass(xset))>=2) { | 151 if (!is.null(args$runDiffreport) & nlevels(sampclass(xset))>=2) { |
| 114 #Check if the fillpeaks step has been done previously, if it hasn't, there is an error message and the execution is stopped. | 152 #Check if the fillpeaks step has been done previously, if it hasn't, there is an error message and the execution is stopped. |
| 115 res=try(is.null(xset@filled)) | 153 res=try(is.null(xset@filled)) |
| 116 classes=levels(sampclass(xset)) | 154 classes=levels(sampclass(xset)) |
| 117 x=1:(length(classes)-1) | 155 x=1:(length(classes)-1) |
| 118 for (i in seq(along=x) ) { | 156 for (i in seq(along=x) ) { |
| 119 y=1:(length(classes)) | 157 y=1:(length(classes)) |
| 120 for (n in seq(along=y)){ | 158 for (n in seq(along=y)){ |
| 121 if(i+n <= length(classes)){ | 159 if(i+n <= length(classes)){ |
| 122 filebase=paste(classes[i],class2=classes[i+n],sep="-vs-") | 160 filebase=paste(classes[i],class2=classes[i+n],sep="-vs-") |
| 123 | 161 |
| 124 diffrep=diffreport(object=xset,class1=classes[i],class2=classes[i+n],filebase=filebase,eicmax=listArguments[["eicmax"]],eicwidth=listArguments[["eicwidth"]],sortpval=TRUE,value=listArguments[["value"]],h=listArguments[["h"]],w=listArguments[["w"]],mzdec=listArguments[["mzdec"]],missing=0) | 162 diffrep=diffreport( |
| 163 object=xset,class1=classes[i],class2=classes[i+n], | |
| 164 filebase=filebase,eicmax=args$eicmax,eicwidth=args$eicwidth, | |
| 165 sortpval=TRUE,value=args$value,h=args$h,w=args$w,mzdec=args$mzdec,missing=0) | |
| 125 | 166 |
| 126 diffrepOri = diffrep | 167 diffrepOri = diffrep |
| 127 | 168 |
| 128 # renamming of the column rtmed to rt to fit with camera peaklist function output | 169 # renamming of the column rtmed to rt to fit with camera peaklist function output |
| 129 colnames(diffrep)[colnames(diffrep)=="rtmed"] <- "rt" | 170 colnames(diffrep)[colnames(diffrep)=="rtmed"] <- "rt" |
| 131 | 172 |
| 132 # combines results and reorder columns | 173 # combines results and reorder columns |
| 133 diffrep = merge(peakList, diffrep[,c("name","fold","tstat","pvalue")], by.x="name", by.y="name", sort=F) | 174 diffrep = merge(peakList, diffrep[,c("name","fold","tstat","pvalue")], by.x="name", by.y="name", sort=F) |
| 134 diffrep = cbind(diffrep[,!(colnames(diffrep) %in% c(sampnames(xa@xcmsSet)))],diffrep[,(colnames(diffrep) %in% c(sampnames(xa@xcmsSet)))]) | 175 diffrep = cbind(diffrep[,!(colnames(diffrep) %in% c(sampnames(xa@xcmsSet)))],diffrep[,(colnames(diffrep) %in% c(sampnames(xa@xcmsSet)))]) |
| 135 | 176 |
| 136 diffrep = RTSecondToMinute(diffrep, listArguments[["convertRTMinute"]]) | 177 diffrep = RTSecondToMinute(diffrep, args$convertRTMinute) |
| 137 diffrep = formatIonIdentifiers(diffrep, numDigitsRT=listArguments[["numDigitsRT"]], numDigitsMZ=listArguments[["numDigitsMZ"]]) | 178 diffrep = formatIonIdentifiers(diffrep, numDigitsRT=args$numDigitsRT, numDigitsMZ=args$numDigitsMZ) |
| 138 | 179 |
| 139 if(listArguments[["sortpval"]]){ | 180 if(args$sortpval){ |
| 140 diffrep=diffrep[order(diffrep$pvalue), ] | 181 diffrep=diffrep[order(diffrep$pvalue), ] |
| 141 } | 182 } |
| 142 | 183 |
| 143 dir.create("tabular") | 184 dir.create("tabular", showWarnings = FALSE) |
| 144 write.table(diffrep, sep="\t", quote=FALSE, row.names=FALSE, file=paste("tabular/",filebase,"_tsv.tabular",sep="")) | 185 write.table(diffrep, sep="\t", quote=FALSE, row.names=FALSE, file=paste("tabular/",filebase,"_tsv.tabular",sep="")) |
| 145 | 186 |
| 146 if (listArguments[["eicmax"]] != 0) { | 187 if (args$eicmax != 0) { |
| 147 diffreport_png2pdf(filebase) | 188 if (args$png2 == "pdf") |
| 189 diffreport_png2pdf(filebase) | |
| 148 } | 190 } |
| 149 } | 191 } |
| 150 } | 192 } |
| 151 } | 193 } |
| 194 if (args$png2 == "zip") | |
| 195 diffreport_png2zip() | |
| 196 if (args$tabular2 == "zip") | |
| 197 diffreport_tabular2zip() | |
| 152 } | 198 } |
| 153 | 199 |
| 154 # --- variableMetadata --- | 200 # --- variableMetadata --- |
| 155 variableMetadata=peakList[,!(make.names(colnames(peakList)) %in% c(make.names(sampnames(xa@xcmsSet))))] | 201 variableMetadata=peakList[,!(make.names(colnames(peakList)) %in% c(make.names(sampnames(xa@xcmsSet))))] |
| 156 variableMetadata = RTSecondToMinute(variableMetadata, listArguments[["convertRTMinute"]]) | 202 variableMetadata = RTSecondToMinute(variableMetadata, args$convertRTMinute) |
| 157 variableMetadata = formatIonIdentifiers(variableMetadata, numDigitsRT=listArguments[["numDigitsRT"]], numDigitsMZ=listArguments[["numDigitsMZ"]]) | 203 variableMetadata = formatIonIdentifiers(variableMetadata, numDigitsRT=args$numDigitsRT, numDigitsMZ=args$numDigitsMZ) |
| 158 # if we have 2 conditions, we keep stat of diffrep | 204 # if we have 2 conditions, we keep stat of diffrep |
| 159 if (!is.null(listArguments[["runDiffreport"]]) & nlevels(sampclass(xset))==2) { | 205 if (!is.null(args$runDiffreport) & nlevels(sampclass(xset))==2) { |
| 160 variableMetadata = merge(variableMetadata, diffrep[,c("name","fold","tstat","pvalue")],by.x="name", by.y="name", sort=F) | 206 variableMetadata = merge(variableMetadata, diffrep[,c("name","fold","tstat","pvalue")],by.x="name", by.y="name", sort=F) |
| 161 if(exists("listArguments[[\"sortpval\"]]")){ | 207 if(exists("args[[\"sortpval\"]]")){ |
| 162 variableMetadata=variableMetadata[order(variableMetadata$pvalue), ] | 208 variableMetadata=variableMetadata[order(variableMetadata$pvalue), ] |
| 163 } | 209 } |
| 164 } | 210 } |
| 165 | 211 |
| 166 variableMetadataOri=variableMetadata | 212 variableMetadataOri=variableMetadata |
| 169 return(list("xa"=xa,"diffrep"=diffrepOri,"variableMetadata"=variableMetadataOri)); | 215 return(list("xa"=xa,"diffrep"=diffrepOri,"variableMetadata"=variableMetadataOri)); |
| 170 | 216 |
| 171 } | 217 } |
| 172 | 218 |
| 173 | 219 |
| 174 combinexsAnnos_function <- function(xaP, xaN, listOFlistArgumentsP,listOFlistArgumentsN, diffrepP=NULL,diffrepN=NULL,pos=TRUE,tol=2,ruleset=NULL,keep_meta=TRUE, convertRTMinute=F, numDigitsMZ=0, numDigitsRT=0, variableMetadataOutput="variableMetadata.tsv"){ | 220 combinexsAnnos_function <- function(xaP, xaN, diffrepP=NULL,diffrepN=NULL, |
| 221 pos=TRUE,tol=2,ruleset=NULL,keep_meta=TRUE, convertRTMinute=F, numDigitsMZ=0, | |
| 222 numDigitsRT=0, variableMetadataOutput="variableMetadata.tsv"){ | |
| 175 | 223 |
| 176 #Load the two Rdata to extract the xset objects from positive and negative mode | 224 #Load the two Rdata to extract the xset objects from positive and negative mode |
| 177 cat("\tObject xset from positive mode\n") | 225 cat("\tObject xset from positive mode\n") |
| 178 print(xaP) | 226 print(xaP) |
| 179 cat("\n") | 227 cat("\n") |
| 196 stop("You must relauch the CAMERA.annotate step with the lastest version.") | 244 stop("You must relauch the CAMERA.annotate step with the lastest version.") |
| 197 } | 245 } |
| 198 | 246 |
| 199 if(pos){ | 247 if(pos){ |
| 200 xa=xaP | 248 xa=xaP |
| 201 listOFlistArgumentsP=listOFlistArguments | |
| 202 mode="neg. Mode" | 249 mode="neg. Mode" |
| 203 } else { | 250 } else { |
| 204 xa=xaN | 251 xa=xaN |
| 205 listOFlistArgumentsN=listOFlistArguments | |
| 206 mode="pos. Mode" | 252 mode="pos. Mode" |
| 207 } | 253 } |
| 208 | 254 |
| 209 peakList=getPeaklist(xa) | 255 peakList=getPeaklist(xa) |
| 210 peakList=cbind(groupnames(xa@xcmsSet),peakList); colnames(peakList)[1] = c("name"); | 256 peakList=cbind(groupnames(xa@xcmsSet),peakList); colnames(peakList)[1] = c("name"); |
| 237 return(variableMetadata); | 283 return(variableMetadata); |
| 238 | 284 |
| 239 } | 285 } |
| 240 | 286 |
| 241 # This function get the raw file path from the arguments | 287 # This function get the raw file path from the arguments |
| 242 getRawfilePathFromArguments <- function(singlefile, zipfile, listArguments) { | 288 getRawfilePathFromArguments <- function(singlefile, zipfile, args) { |
| 243 if (!is.null(listArguments[["zipfile"]])) zipfile = listArguments[["zipfile"]] | 289 if (!is.null(args$zipfile)) zipfile = args$zipfile |
| 244 if (!is.null(listArguments[["zipfilePositive"]])) zipfile = listArguments[["zipfilePositive"]] | 290 if (!is.null(args$zipfilePositive)) zipfile = args$zipfilePositive |
| 245 if (!is.null(listArguments[["zipfileNegative"]])) zipfile = listArguments[["zipfileNegative"]] | 291 if (!is.null(args$zipfileNegative)) zipfile = args$zipfileNegative |
| 246 | 292 |
| 247 if (!is.null(listArguments[["singlefile_galaxyPath"]])) { | 293 if (!is.null(args$singlefile_galaxyPath)) { |
| 248 singlefile_galaxyPaths = listArguments[["singlefile_galaxyPath"]]; | 294 singlefile_galaxyPaths = args$singlefile_galaxyPath; |
| 249 singlefile_sampleNames = listArguments[["singlefile_sampleName"]] | 295 singlefile_sampleNames = args$singlefile_sampleName |
| 250 } | 296 } |
| 251 if (!is.null(listArguments[["singlefile_galaxyPathPositive"]])) { | 297 if (!is.null(args$singlefile_galaxyPathPositive)) { |
| 252 singlefile_galaxyPaths = listArguments[["singlefile_galaxyPathPositive"]]; | 298 singlefile_galaxyPaths = args$singlefile_galaxyPathPositive; |
| 253 singlefile_sampleNames = listArguments[["singlefile_sampleNamePositive"]] | 299 singlefile_sampleNames = args$singlefile_sampleNamePositive |
| 254 } | 300 } |
| 255 if (!is.null(listArguments[["singlefile_galaxyPathNegative"]])) { | 301 if (!is.null(args$singlefile_galaxyPathNegative)) { |
| 256 singlefile_galaxyPaths = listArguments[["singlefile_galaxyPathNegative"]]; | 302 singlefile_galaxyPaths = args$singlefile_galaxyPathNegative; |
| 257 singlefile_sampleNames = listArguments[["singlefile_sampleNameNegative"]] | 303 singlefile_sampleNames = args$singlefile_sampleNameNegative |
| 258 } | 304 } |
| 259 if (exists("singlefile_galaxyPaths")){ | 305 if (exists("singlefile_galaxyPaths")){ |
| 260 singlefile_galaxyPaths = unlist(strsplit(singlefile_galaxyPaths,",")) | 306 singlefile_galaxyPaths = unlist(strsplit(singlefile_galaxyPaths,",")) |
| 261 singlefile_sampleNames = unlist(strsplit(singlefile_sampleNames,",")) | 307 singlefile_sampleNames = unlist(strsplit(singlefile_sampleNames,",")) |
| 262 | 308 |
| 265 singlefile_galaxyPath=singlefile_galaxyPaths[singlefile_galaxyPath_i] | 311 singlefile_galaxyPath=singlefile_galaxyPaths[singlefile_galaxyPath_i] |
| 266 singlefile_sampleName=singlefile_sampleNames[singlefile_galaxyPath_i] | 312 singlefile_sampleName=singlefile_sampleNames[singlefile_galaxyPath_i] |
| 267 singlefile[[singlefile_sampleName]] = singlefile_galaxyPath | 313 singlefile[[singlefile_sampleName]] = singlefile_galaxyPath |
| 268 } | 314 } |
| 269 } | 315 } |
| 270 for (argument in c("zipfile","zipfilePositive","zipfileNegative","singlefile_galaxyPath","singlefile_sampleName","singlefile_galaxyPathPositive","singlefile_sampleNamePositive","singlefile_galaxyPathNegative","singlefile_sampleNameNegative")) { | 316 for (argument in c("zipfile", "zipfilePositive", "zipfileNegative", |
| 271 listArguments[[argument]]=NULL | 317 "singlefile_galaxyPath", "singlefile_sampleName", |
| 272 } | 318 "singlefile_galaxyPathPositive", "singlefile_sampleNamePositive", |
| 273 return(list(zipfile=zipfile, singlefile=singlefile, listArguments=listArguments)) | 319 "singlefile_galaxyPathNegative","singlefile_sampleNameNegative")) { |
| 320 args[[argument]]=NULL | |
| 321 } | |
| 322 return(list(zipfile=zipfile, singlefile=singlefile, args=args)) | |
| 274 } | 323 } |
| 275 | 324 |
| 276 | 325 |
| 277 # This function retrieve the raw file in the working directory | 326 # This function retrieve the raw file in the working directory |
| 278 # - if zipfile: unzip the file with its directory tree | 327 # - if zipfile: unzip the file with its directory tree |
