# HG changeset patch
# User lecorguille
# Date 1488405408 18000
# Node ID a79d839d625f85c4d879bb789a1759a33b2554db
# Parent 7f667b64d5a5813e5bfc66646f35d28a7cf119c5
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit 87dc789d7cd70a3733a1ad0b5a427f4d5905795d
diff -r 7f667b64d5a5 -r a79d839d625f lib.r
--- a/lib.r Fri Feb 10 11:01:55 2017 -0500
+++ b/lib.r Wed Mar 01 16:56:48 2017 -0500
@@ -473,3 +473,85 @@
return(as.matrix(md5sum(files)))
}
+
+
+# This function get the raw file path from the arguments
+getRawfilePathFromArguments <- function(listArguments) {
+ zipfile = NULL
+ singlefile = NULL
+ if (!is.null(listArguments[["zipfile"]])) zipfile = listArguments[["zipfile"]]
+ if (!is.null(listArguments[["zipfilePositive"]])) zipfile = listArguments[["zipfilePositive"]]
+ if (!is.null(listArguments[["zipfileNegative"]])) zipfile = listArguments[["zipfileNegative"]]
+
+ if (!is.null(listArguments[["singlefile_galaxyPath"]])) {
+ singlefile_galaxyPaths = listArguments[["singlefile_galaxyPath"]];
+ singlefile_sampleNames = listArguments[["singlefile_sampleName"]]
+ }
+ if (!is.null(listArguments[["singlefile_galaxyPathPositive"]])) {
+ singlefile_galaxyPaths = listArguments[["singlefile_galaxyPathPositive"]];
+ singlefile_sampleNames = listArguments[["singlefile_sampleNamePositive"]]
+ }
+ if (!is.null(listArguments[["singlefile_galaxyPathNegative"]])) {
+ singlefile_galaxyPaths = listArguments[["singlefile_galaxyPathNegative"]];
+ singlefile_sampleNames = listArguments[["singlefile_sampleNameNegative"]]
+ }
+ if (exists("singlefile_galaxyPaths")){
+ singlefile_galaxyPaths = unlist(strsplit(singlefile_galaxyPaths,","))
+ singlefile_sampleNames = unlist(strsplit(singlefile_sampleNames,","))
+
+ singlefile=NULL
+ for (singlefile_galaxyPath_i in seq(1:length(singlefile_galaxyPaths))) {
+ singlefile_galaxyPath=singlefile_galaxyPaths[singlefile_galaxyPath_i]
+ singlefile_sampleName=singlefile_sampleNames[singlefile_galaxyPath_i]
+ singlefile[[singlefile_sampleName]] = singlefile_galaxyPath
+ }
+ }
+ for (argument in c("zipfile","zipfilePositive","zipfileNegative","singlefile_galaxyPath","singlefile_sampleName","singlefile_galaxyPathPositive","singlefile_sampleNamePositive","singlefile_galaxyPathNegative","singlefile_sampleNameNegative")) {
+ listArguments[[argument]]=NULL
+ }
+ return(list(zipfile=zipfile, singlefile=singlefile, listArguments=listArguments))
+}
+
+
+# This function retrieve the raw file in the working directory
+# - if zipfile: unzip the file with its directory tree
+# - if singlefiles: set symlink with the good filename
+retrieveRawfileInTheWorkingDirectory <- function(singlefile, zipfile) {
+ if(!is.null(singlefile) && (length("singlefile")>0)) {
+ for (singlefile_sampleName in names(singlefile)) {
+ singlefile_galaxyPath = singlefile[[singlefile_sampleName]]
+ if(!file.exists(singlefile_galaxyPath)){
+ error_message=paste("Cannot access the sample:",singlefile_sampleName,"located:",singlefile_galaxyPath,". Please, contact your administrator ... if you have one!")
+ print(error_message); stop(error_message)
+ }
+
+ file.symlink(singlefile_galaxyPath,singlefile_sampleName)
+ }
+ directory = "."
+
+ }
+ if(!is.null(zipfile) && (zipfile!="")) {
+ if(!file.exists(zipfile)){
+ error_message=paste("Cannot access the Zip file:",zipfile,". Please, contact your administrator ... if you have one!")
+ print(error_message)
+ stop(error_message)
+ }
+
+ #list all file in the zip file
+ #zip_files=unzip(zipfile,list=T)[,"Name"]
+
+ #unzip
+ suppressWarnings(unzip(zipfile, unzip="unzip"))
+
+ #get the directory name
+ filesInZip=unzip(zipfile, list=T);
+ directories=unique(unlist(lapply(strsplit(filesInZip$Name,"/"), function(x) x[1])));
+ directories=directories[!(directories %in% c("__MACOSX")) & file.info(directories)$isdir]
+ directory = "."
+ if (length(directories) == 1) directory = directories
+
+ cat("files_root_directory\t",directory,"\n")
+
+ }
+ return (directory)
+}
diff -r 7f667b64d5a5 -r a79d839d625f macros.xml
--- a/macros.xml Fri Feb 10 11:01:55 2017 -0500
+++ b/macros.xml Wed Mar 01 16:56:48 2017 -0500
@@ -33,41 +33,50 @@
- #if $file_load_conditional.file_load_select == "yes":
- #if $file_load_conditional.inputs.input == "zip_file":
- zipfile '$file_load_conditional.inputs.zip_file'
- #else
- #set singlefile_galaxyPath = ','.join( [ str( $single_file ) for $single_file in $file_load_conditional.inputs.single_file ] )
- #set singlefile_sampleName = ','.join( [ str( $single_file.name ) for $single_file in $file_load_conditional.inputs.single_file ] )
+ #if $file_load_section.file_load_conditional.file_load_select == "yes":
+ #if $file_load_section.file_load_conditional.input[0].is_of_type("mzxml") or $file_load_section.file_load_conditional.input[0].is_of_type("mzml") or $file_load_section.file_load_conditional.input[0].is_of_type("mzdata") or $file_load_section.file_load_conditional.input[0].is_of_type("netcdf"):
+ #set singlefile_galaxyPath = ','.join( [ str( $single_file ) for $single_file in $file_load_section.file_load_conditional.input ] )
+ #set singlefile_sampleName = ','.join( [ str( $single_file.name ) for $single_file in $file_load_section.file_load_conditional.input ] )
singlefile_galaxyPath '$singlefile_galaxyPath' singlefile_sampleName '$singlefile_sampleName'
+ #else
+ zipfile '$file_load_section.file_load_conditional.input'
#end if
#end if
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff -r 7f667b64d5a5 -r a79d839d625f xcms.r
--- a/xcms.r Fri Feb 10 11:01:55 2017 -0500
+++ b/xcms.r Wed Mar 01 16:56:48 2017 -0500
@@ -71,7 +71,7 @@
}
sampleMetadataOutput = "sampleMetadata.tsv"
if (!is.null(listArguments[["sampleMetadataOutput"]])){
- sampleMetadataOutput = listArguments[["sampleMetadataOutput"]]; listArguments[["sampleMetadataOutput"]]=NULL
+ sampleMetadataOutput = listArguments[["sampleMetadataOutput"]]; listArguments[["sampleMetadataOutput"]]=NULL
}
variableMetadataOutput = "variableMetadata.tsv"
if (!is.null(listArguments[["variableMetadataOutput"]])){
@@ -99,67 +99,14 @@
bicspdf = listArguments[["bicspdf"]]; listArguments[["bicspdf"]]=NULL
}
-#necessary to unzip .zip file uploaded to Galaxy
-#thanks to .zip file it's possible to upload many file as the same time conserving the tree hierarchy of directories
-
-if (!is.null(listArguments[["zipfile"]])){
- zipfile= listArguments[["zipfile"]]; listArguments[["zipfile"]]=NULL
-}
-
-if (!is.null(listArguments[["singlefile_galaxyPath"]])){
- singlefile_galaxyPaths = unlist(strsplit(listArguments[["singlefile_galaxyPath"]],",")); listArguments[["singlefile_galaxyPath"]]=NULL
- singlefile_sampleNames = unlist(strsplit(listArguments[["singlefile_sampleName"]],",")); listArguments[["singlefile_sampleName"]]=NULL
-
- singlefile=NULL
- for (singlefile_galaxyPath_i in seq(1:length(singlefile_galaxyPaths))) {
- singlefile_galaxyPath=singlefile_galaxyPaths[singlefile_galaxyPath_i]
- singlefile_sampleName=singlefile_sampleNames[singlefile_galaxyPath_i]
- singlefile[[singlefile_sampleName]] = singlefile_galaxyPath
- }
-}
-
-# We unzip automatically the chromatograms from the zip files.
if (thefunction %in% c("xcmsSet","retcor","fillPeaks")) {
- if(exists("singlefile") && (length("singlefile")>0)) {
- for (singlefile_sampleName in names(singlefile)) {
- singlefile_galaxyPath = singlefile[[singlefile_sampleName]]
- if(!file.exists(singlefile_galaxyPath)){
- error_message=paste("Cannot access the sample:",singlefile_sampleName,"located:",singlefile_galaxyPath,". Please, contact your administrator ... if you have one!")
- print(error_message); stop(error_message)
- }
-
- file.symlink(singlefile_galaxyPath,singlefile_sampleName)
- }
- directory = "."
-
- md5sumList=list("origin"=getMd5sum(directory))
-
- }
- if(exists("zipfile") && (zipfile!="")) {
- if(!file.exists(zipfile)){
- error_message=paste("Cannot access the Zip file:",zipfile,". Please, contact your administrator ... if you have one!")
- print(error_message)
- stop(error_message)
- }
-
- #list all file in the zip file
- #zip_files=unzip(zipfile,list=T)[,"Name"]
-
- #unzip
- suppressWarnings(unzip(zipfile, unzip="unzip"))
-
- #get the directory name
- filesInZip=unzip(zipfile, list=T);
- directories=unique(unlist(lapply(strsplit(filesInZip$Name,"/"), function(x) x[1])));
- directories=directories[!(directories %in% c("__MACOSX")) & file.info(directories)$isdir]
- directory = "."
- if (length(directories) == 1) directory = directories
-
- cat("files_root_directory\t",directory,"\n")
-
- md5sumList=list("origin"=getMd5sum(directory))
- }
+ rawFilePath = getRawfilePathFromArguments(listArguments)
+ zipfile = rawFilePath$zipfile
+ singlefile = rawFilePath$singlefile
+ listArguments = rawFilePath$listArguments
+ directory = retrieveRawfileInTheWorkingDirectory(singlefile, zipfile)
+ md5sumList=list("origin"=getMd5sum(directory))
}
#addition of the directory to the list of arguments in the first position
@@ -223,8 +170,8 @@
#transform the files absolute pathways into relative pathways
xset@filepaths<-sub(paste(getwd(),"/",sep="") ,"", xset@filepaths)
-
- if(exists("zipfile") && (zipfile!="")) {
+ print(zipfile)
+ if(exists("zipfile") && !is.null(zipfile) && (zipfile!="")) {
#Modify the samples names (erase the path)
for(i in 1:length(sampnames(xset))){