Repository 'msnbase_readmsdata'
hg clone https://toolshed.g2.bx.psu.edu/repos/lecorguille/msnbase_readmsdata

Changeset 13:226fb89cacc4 (2020-02-12)
Previous changeset 12:f6b2750ea32e (2020-01-07) Next changeset 14:11ab2081bd4a (2021-04-12)
Commit message:
"planemo upload for repository https://github.com/workflow4metabolomics/xcms commit f1caf2a3bf23cf319a75dd12c86402555dd02617"
modified:
lib.r
msnbase_readmsdata.r
msnbase_readmsdata.xml
b
diff -r f6b2750ea32e -r 226fb89cacc4 lib.r
--- a/lib.r Tue Jan 07 04:30:02 2020 -0500
+++ b/lib.r Wed Feb 12 08:27:38 2020 -0500
[
b'@@ -42,16 +42,16 @@\n     chromBPI <- NULL\n     chromTIC_adjusted <- NULL\n     chromBPI_adjusted <- NULL\n+    md5sumList <- NULL\n     for(image in args$images) {\n \n         load(image)\n         # Handle infiles\n         if (!exists("singlefile")) singlefile <- NULL\n         if (!exists("zipfile")) zipfile <- NULL\n-        rawFilePath <- getRawfilePathFromArguments(singlefile, zipfile, args)\n+        rawFilePath <- retrieveRawfileInTheWorkingDirectory(singlefile, zipfile, args)\n         zipfile <- rawFilePath$zipfile\n         singlefile <- rawFilePath$singlefile\n-        retrieveRawfileInTheWorkingDirectory(singlefile, zipfile)\n \n         if (exists("raw_data")) xdata <- raw_data\n         if (!exists("xdata")) stop("\\n\\nERROR: The RData doesn\'t contain any object called \'xdata\'. This RData should have been created by an old version of XMCS 2.*")\n@@ -149,7 +149,7 @@\n \n     par(mfrow = c(3, 1), mar = c(4, 4, 1, 0.5))\n \n-    group_colors <- brewer.pal(3, "Set1")[1:length(unique(xdata$sample_group))]\n+    group_colors <- brewer.pal(length(unique(xdata$sample_group)), "Set1")\n     names(group_colors) <- unique(xdata$sample_group)\n \n     xlim <- c(min(featureDefinitions(xdata)$rtmin), max(featureDefinitions(xdata)$rtmax))\n@@ -170,7 +170,7 @@\n     pdf(file="raw_vs_adjusted_rt.pdf", width=16, height=12)\n \n     # Color by group\n-    group_colors <- brewer.pal(3, "Set1")[1:length(unique(xdata$sample_group))]\n+    group_colors <- brewer.pal(length(unique(xdata$sample_group)), "Set1")\n     if (length(group_colors) > 1) {\n         names(group_colors) <- unique(xdata$sample_group)\n         plotAdjustedRtime(xdata, col = group_colors[xdata$sample_group])\n@@ -239,15 +239,15 @@\n     pdf(pdfname, width=16, height=10)\n \n     # Color by group\n-    group_colors <- brewer.pal(3, "Set1")[1:length(unique(xdata$sample_group))]\n+    group_colors <- brewer.pal(length(unique(xdata$sample_group)), "Set1")\n     if (length(group_colors) > 1) {\n         names(group_colors) <- unique(xdata$sample_group)\n-        plot(chrom, col = group_colors[chrom$sample_group], main=main)\n+        plot(chrom, col = group_colors[as.factor(chrom$sample_group)], main=main, peakType = "none")\n         legend("topright", legend=names(group_colors), col=group_colors, cex=0.8, lty=1)\n     }\n \n     # Color by sample\n-    plot(chrom, col = rainbow(length(xdata@phenoData@data$sample_name)), main=main)\n+    plot(chrom, col = rainbow(length(xdata@phenoData@data$sample_name)), main=main, peakType = "none")\n     legend("topright", legend=xdata@phenoData@data$sample_name, col=rainbow(length(xdata@phenoData@data$sample_name)), cex=0.8, lty=1)\n \n     dev.off()\n@@ -317,142 +317,43 @@\n }\n \n \n-# This function check if xcms will found all the files\n-#@author Gildas Le Corguille lecorguille@sb-roscoff.fr ABiMS TEAM\n-checkFilesCompatibilityWithXcms <- function(directory) {\n-    cat("Checking files filenames compatibilities with xmcs...\\n")\n-    # WHAT XCMS WILL FIND\n-    filepattern <- c("[Cc][Dd][Ff]", "[Nn][Cc]", "([Mm][Zz])?[Xx][Mm][Ll]","[Mm][Zz][Dd][Aa][Tt][Aa]", "[Mm][Zz][Mm][Ll]")\n-    filepattern <- paste(paste("\\\\.", filepattern, "$", sep=""),collapse="|")\n-    info <- file.info(directory)\n-    listed <- list.files(directory[info$isdir], pattern=filepattern, recursive=TRUE, full.names=TRUE)\n-    files <- c(directory[!info$isdir], listed)\n-    files_abs <- file.path(getwd(), files)\n-    exists <- file.exists(files_abs)\n-    files[exists] <- files_abs[exists]\n-    files[exists] <- sub("//","/",files[exists])\n-\n-    # WHAT IS ON THE FILESYSTEM\n-    filesystem_filepaths <- system(paste0("find \\"",getwd(),"/",directory,"\\" -not -name \'\\\\.*\' -not -path \'*conda-env*\' -type f -name \\"*\\""), intern=T)\n-    filesystem_filepaths <- filesystem_filepaths[grep(filepattern, filesystem_filepaths, perl=T)]\n-\n-    # COMPARISON\n-    if (!is.na(table(filesystem_filepaths %in% files)["FALSE"])) {\n-        write("\\n\\nERROR: List of the files which will not be imported by xcmsSet",stderr())\n-        write(files'..b'ames <- unlist(strsplit(singlefile_sampleNames,"\\\\|"))\n-\n-    singlefile <- NULL\n-    for (singlefile_galaxyPath_i in seq(1:length(singlefile_galaxyPaths))) {\n-      singlefile_galaxyPath <- singlefile_galaxyPaths[singlefile_galaxyPath_i]\n-      singlefile_sampleName <- singlefile_sampleNames[singlefile_galaxyPath_i]\n-      # In case, an url is used to import data within Galaxy\n-      singlefile_sampleName <- tail(unlist(strsplit(singlefile_sampleName,"/")), n=1)\n-      singlefile[[singlefile_sampleName]] <- singlefile_galaxyPath\n-    }\n-  }\n-  return(list(zipfile=zipfile, singlefile=singlefile))\n-}\n-\n # This function retrieve the raw file in the working directory\n #   - if zipfile: unzip the file with its directory tree\n #   - if singlefiles: set symlink with the good filename\n #@author Gildas Le Corguille lecorguille@sb-roscoff.fr\n-retrieveRawfileInTheWorkingDirectory <- function(singlefile, zipfile) {\n+retrieveRawfileInTheWorkingDirectory <- function(singlefile, zipfile, args, prefix="") {\n+\n+    if (!(prefix %in% c("","Positive","Negative","MS1","MS2"))) stop("prefix must be either \'\', \'Positive\', \'Negative\', \'MS1\' or \'MS2\'")\n+\n+    # single - if the file are passed in the command arguments -> refresh singlefile\n+    if (!is.null(args[[paste0("singlefile_galaxyPath",prefix)]])) {\n+      singlefile_galaxyPaths <- unlist(strsplit(args[[paste0("singlefile_galaxyPath",prefix)]],"\\\\|"))\n+      singlefile_sampleNames <- unlist(strsplit(args[[paste0("singlefile_sampleName",prefix)]],"\\\\|"))\n+\n+      singlefile <- NULL\n+      for (singlefile_galaxyPath_i in seq(1:length(singlefile_galaxyPaths))) {\n+        singlefile_galaxyPath <- singlefile_galaxyPaths[singlefile_galaxyPath_i]\n+        singlefile_sampleName <- singlefile_sampleNames[singlefile_galaxyPath_i]\n+        # In case, an url is used to import data within Galaxy\n+        singlefile_sampleName <- tail(unlist(strsplit(singlefile_sampleName,"/")), n=1)\n+        singlefile[[singlefile_sampleName]] <- singlefile_galaxyPath\n+      }\n+    }\n+    # zipfile - if the file are passed in the command arguments -> refresh zipfile\n+    if (!is.null(args[[paste0("zipfile",prefix)]]))\n+      zipfile <- args[[paste0("zipfile",prefix)]]\n+\n+    # single\n     if(!is.null(singlefile) && (length("singlefile")>0)) {\n+        files <- vector()\n         for (singlefile_sampleName in names(singlefile)) {\n             singlefile_galaxyPath <- singlefile[[singlefile_sampleName]]\n             if(!file.exists(singlefile_galaxyPath)){\n@@ -462,22 +363,16 @@\n \n             if (!suppressWarnings( try (file.link(singlefile_galaxyPath, singlefile_sampleName), silent=T)))\n                 file.copy(singlefile_galaxyPath, singlefile_sampleName)\n-\n+            files <- c(files, singlefile_sampleName)\n         }\n-        directory <- "."\n-\n     }\n+    # zipfile\n     if(!is.null(zipfile) && (zipfile != "")) {\n         if(!file.exists(zipfile)){\n             error_message <- paste("Cannot access the Zip file:",zipfile,". Please, contact your administrator ... if you have one!")\n             print(error_message)\n             stop(error_message)\n         }\n-\n-        #list all file in the zip file\n-        #zip_files <- unzip(zipfile,list=T)[,"Name"]\n-\n-        #unzip\n         suppressWarnings(unzip(zipfile, unzip="unzip"))\n \n         #get the directory name\n@@ -489,8 +384,17 @@\n \n         cat("files_root_directory\\t",directory,"\\n")\n \n+        filepattern <- c("[Cc][Dd][Ff]", "[Nn][Cc]", "([Mm][Zz])?[Xx][Mm][Ll]","[Mm][Zz][Dd][Aa][Tt][Aa]", "[Mm][Zz][Mm][Ll]")\n+        filepattern <- paste(paste("\\\\.", filepattern, "$", sep=""),collapse="|")\n+        info <- file.info(directory)\n+        listed <- list.files(directory[info$isdir], pattern=filepattern,recursive=TRUE, full.names=TRUE)\n+        files <- c(directory[!info$isdir], listed)\n+        exists <- file.exists(files)\n+        files <- files[exists]\n+\n     }\n-    return (directory)\n+    return(list(zipfile=zipfile, singlefile=singlefile, files=files))\n+\n }\n \n \n'
b
diff -r f6b2750ea32e -r 226fb89cacc4 msnbase_readmsdata.r
--- a/msnbase_readmsdata.r Tue Jan 07 04:30:02 2020 -0500
+++ b/msnbase_readmsdata.r Wed Feb 12 08:27:38 2020 -0500
b
@@ -38,16 +38,12 @@
 # Handle infiles
 if (!exists("singlefile")) singlefile <- NULL
 if (!exists("zipfile")) zipfile <- NULL
-rawFilePath <- getRawfilePathFromArguments(singlefile, zipfile, args)
+rawFilePath <- retrieveRawfileInTheWorkingDirectory(singlefile, zipfile, args)
 zipfile <- rawFilePath$zipfile
 singlefile <- rawFilePath$singlefile
-directory <- retrieveRawfileInTheWorkingDirectory(singlefile, zipfile)
+files <- rawFilePath$files
 
-# Check some character issues
-md5sumList <- list("origin" = getMd5sum(directory))
-checkXmlStructure(directory)
-checkFilesCompatibilityWithXcms(directory)
-
+md5sumList <- list("origin" = getMd5sum(files))
 
 cat("\n\n")
 
@@ -58,9 +54,6 @@
 
 cat("\t\tCOMPUTE\n")
 
-## Get the full path to the files
-files <- getMSFiles(directory)
-
 cat("\t\t\tCreate a phenodata data.frame\n")
 s_groups <- sapply(files, function(x) tail(unlist(strsplit(dirname(x),"/")), n=1))
 s_name <- tools::file_path_sans_ext(basename(files))
b
diff -r f6b2750ea32e -r 226fb89cacc4 msnbase_readmsdata.xml
--- a/msnbase_readmsdata.xml Tue Jan 07 04:30:02 2020 -0500
+++ b/msnbase_readmsdata.xml Wed Feb 12 08:27:38 2020 -0500
b
@@ -58,11 +58,11 @@
         <test>
             <param name="input" value="ko15.CDF"  ftype="netcdf" />
             <assert_stdout>
-                <has_text text="rowNames: ./ko15.CDF" />
+                <has_text text="rowNames: ko15.CDF" />
                 <has_text text="ko15.CDF" />
                 <has_text text="featureNames: F1.S0001 F1.S0002 ... F1.S1278 (1278 total)" />
                 <has_text text="fvarLabels: fileIdx spIdx ... spectrum (28 total)" />
-                <has_text text="./ko15.CDF        ko15            ." />
+                <has_text text="ko15.CDF        ko15            ." />
             </assert_stdout>
         </test>
         <!-- DISABLE FOR TRAVIS