Repository 'normalization'
hg clone https://toolshed.g2.bx.psu.edu/repos/marie-tremblay-metatoul/normalization

Changeset 3:966fcf7ae66e (2017-10-26)
Previous changeset 2:3cd762aac7a4 (2017-04-20) Next changeset 4:8178d9a118e3 (2018-01-30)
Commit message:
planemo upload for repository https://github.com/workflow4metabolomics/normalization commit 9ca88a22e9b9394bfa00ea383fbb2b78ef05f990
added:
DrawSpec.R
MANUAL_INSTALL.txt
NmrNormalization_script.R
NmrNormalization_wrapper.R
NmrNormalization_xml.xml
README.rst
planemo_test.sh
test-data/MTBLS1_bucketedData.tabular
test-data/MTBLS1_bucketedData_normalized.tabular
removed:
nmr_bucketing/.shed.yml
nmr_bucketing/DrawSpec.R
nmr_bucketing/MANUAL_INSTALL.txt
nmr_bucketing/NmrBucketing_script.R
nmr_bucketing/NmrBucketing_wrapper.R
nmr_bucketing/NmrBucketing_xml.xml
nmr_bucketing/README.rst
nmr_bucketing/planemo_test.sh
nmr_bucketing/repository_dependencies.xml
nmr_bucketing/static/images/MTH - Architecture repertoire Bruker.png
nmr_bucketing/static/images/Mth_Travaux.png
nmr_bucketing/test-data/MTBLS1.zip
nmr_bucketing/test-data/MTBLS1_bucketedData.tabular
nmr_bucketing/test-data/MTBLS1_sampleMetadata.tabular
nmr_bucketing/test-data/MTBLS1_variableMetadata.tabular
b
diff -r 3cd762aac7a4 -r 966fcf7ae66e DrawSpec.R
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/DrawSpec.R Thu Oct 26 06:01:14 2017 -0400
[
@@ -0,0 +1,74 @@
+drawSpec <- function (X, startP = -1, endP = -1, groupLabel = NULL, useLog = -1, highBound = -1, lowBound = -1, 
+                      xlab = NULL, ylab = NULL, main = NULL, nAxisPos = 4, offside = 0) 
+{
+  groupLabel_name = groupLabel
+  X = as.data.frame(X)
+#  colnames(X) = c(1:ncol(X))
+  X = as.matrix(X)
+  if (highBound != -1) {
+    for (i in 1:nrow(X)) {
+      myIndex = which(X[i, ] > highBound)
+      X[i, myIndex] = highBound
+    }
+  }
+  if (lowBound != -1) {
+    for (i in 1:nrow(X)) {
+      myIndex = which(X[i, ] < lowBound)
+      X[i, myIndex] = lowBound
+    }
+  }
+  if (is.null(groupLabel)) {
+    groupLabel = c(1:nrow(X))
+    groupLabel = as.factor(groupLabel)
+  }
+  else {
+    levels(groupLabel) = c(1:length(levels(groupLabel)))
+  }
+  if (startP == -1) 
+    startP = 1
+  if (endP == -1) 
+    endP = ncol(X)
+  if (is.null(xlab)) {
+    xlab = "index"
+  }
+  if (is.null(ylab)) {
+    ylab = "intensity"
+  }
+  if (is.null(main)) {
+    main = paste(" ", startP + offside, "-", endP + offside)
+  }
+  GraphRange <- c(startP:endP)
+  yn <- X[, GraphRange]
+  if (useLog != -1) 
+    yn = log(yn)
+  if (length(yn) > ncol(X))
+  {
+    plot(yn[1, ], ylim = c(min(yn), max(yn)), type = "n", ylab = ylab, xlab = xlab, main = main, xaxt = "n")
+    tempVal = trunc(length(GraphRange)/nAxisPos)
+    xPos = c(0:nAxisPos) * tempVal
+    axis(1, at = xPos, labels = colnames(X)[xPos + startP + offside])
+    for (i in 1:length(levels(groupLabel))) 
+    {
+      groupLabelIdx = which(groupLabel == levels(groupLabel)[i])
+      color <- palette(rainbow(length(levels(groupLabel))))
+      for (j in 1:length(groupLabelIdx)) 
+      {
+        lines(yn[groupLabelIdx[j], ], col = color[i])
+      }
+    }
+    if (!is.null(groupLabel_name)) 
+    {
+      legendPos = "topleft"
+      legend(legendPos, levels(groupLabel_name), col = as.integer(levels(groupLabel)), text.col = "black", pch = c(19, 19), bg = "gray90")
+    }
+  }
+  if (length(yn) == ncol(X))
+  {
+    plot(yn, ylim = c(min(yn), max(yn)), type = "n", ylab = ylab, xlab = xlab, main = main, xaxt = "n")
+    tempVal = trunc(length(GraphRange)/nAxisPos)
+    xPos = c(0:nAxisPos) * tempVal
+#    axis(1, at = xPos, labels = xPos + startP + offside)
+    axis(1, at = xPos, labels = colnames(X)[xPos + startP + offside])
+    lines(yn)
+  }
+}
\ No newline at end of file
b
diff -r 3cd762aac7a4 -r 966fcf7ae66e MANUAL_INSTALL.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/MANUAL_INSTALL.txt Thu Oct 26 06:01:14 2017 -0400
b
@@ -0,0 +1,44 @@
+Instructions to integrate the NMR Normalization" tool into a local instance of Galaxy
+Version mars 2015 M Tremblay-Franco
+
+
+## --- R bin and Packages : --- ##
+R version 3.0.2 (2013-09-25) -- "Frisbee Sailing
+Platform: x86_64-redhat-linux-gnu (64-bit)
+
+Install the "batch" library, necessary for parseCommandArgs function:
+ - Download package source (*.tar.gz file) from your favorite CRAN (http://www.r-project.org/)
+For example: http://cran.univ-lyon1.fr/
+
+ - Install package in your R session
+install.packages("path/package_name.tar.gz",lib="path",repos=NULL)
+For Example: install.packages("/usr/lib64/R/library/batch_1.1-4.tar",lib="/usr/lib64/R/library",repos=NULL)
+
+ - Finally, load the package into your R session
+library(batch)
+
+
+
+## --- Config : --- ##
+ - Edit the file "/galaxy/dist/galaxy-dist/tool_conf.xml" and add
+<section id="id_name" name="Name">
+  <tool file="path/NmrNormalization_xml.xml" />
+</section>
+to create a new section containing the Nmr_Normalization tool
+or add
+  <tool file="path/NmrNormalization_xml.xml" />
+in an existing section
+
+ - Put the three files NmrNormalization_xml.xml, NmrNormalization_wrapper.R and NmrNormalization_script.R in a same directory
+For example, path=/galaxy/dist/galaxy-dist/tools/stats
+
+ - Edit the NmrBucketing_xml.xml file and change the path in the following lines
+    # R script
+    R --vanilla --slave --no-site-file --file=path/NmrNormalization_wrapper.R --args
+
+    ## Library name for raw files storage
+    library path/$library
+
+
+
+Finally, restart Galaxy
b
diff -r 3cd762aac7a4 -r 966fcf7ae66e NmrNormalization_script.R
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/NmrNormalization_script.R Thu Oct 26 06:01:14 2017 -0400
[
@@ -0,0 +1,147 @@
+#################################################################################################################
+# SPECTRA NORMALIZATION FROM SPECTRAL DATA                                                    #
+# User : Galaxy                                                                                                 #
+# Original data : --                                                                                            #
+# Starting date : 20-10-2014                                                                                    #
+# Version 1 : 27-01-2015                                                                                        #
+# Version 2 : 27-02-2015                                                                                        #
+#                                                                                                               #
+# Input files:                                                                                                  #
+#   - Data matrix containing bucketed and integrated spectra to normalize                                       #
+#   - Sample metadata matrix containing at least biological factor of interest                                  #
+#   - Scaling method: Total intensity/Probabilistic Quotient Normalization                                      #
+#   - Control group: name of control to compute median reference spectra                                        #
+#   - Graph: normalization result representation                                                                #
+#################################################################################################################
+NmrNormalization <- function(dataMatrix,scalingMethod=c("None","Total","PQN","BioFactor"),sampleMetadata=NULL,
+                             bioFactor=NULL,ControlGroup=NULL,graph=c("None","Overlay","One_per_individual"),
+                             nomFichier=NULL,savLog.txtC=NULL)
+{
+
+  ## Option
+  ##---------------
+  strAsFacL <- options()$stringsAsFactors
+  options(stingsAsFactors = FALSE)
+  options(warn = -1)
+
+
+  ## Constants
+  ##---------------
+  topEnvC <- environment()
+  flgC <- "\n"
+
+  ## Log file (in case of integration into Galaxy)
+  ##----------------------------------------------
+  if(!is.null(savLog.txtC))
+    sink(savLog.txtC, append = TRUE)
+
+  ## Functions definition
+  ##---------------------
+  #################################################################################################################
+  # Total intensity normalization
+  # Input parameters
+  #   - data : bucketed spectra (rows=buckets; columns=samples)
+  #################################################################################################################
+  NmrBrucker_total <- function(data)
+  {
+    # Total intensity normalization
+    data.total <- apply(data,2,sum)
+    data.normalized <- data[,1]/data.total[1]
+    for (i in 2:ncol(data))
+      data.normalized <- cbind(data.normalized,data[,i]/data.total[i])
+    colnames(data.normalized) <- colnames(data)
+    rownames(data.normalized) <- rownames(data)
+    return(data.normalized)
+  }
+
+
+  #################################################################################################################
+  # Biological factor normalization
+  # Input parameters
+  #   - data : bucketed spectra (rows=buckets; columns=samples)
+  #   - sampleMetadata : dataframe with biological factor of interest measured for each invidual
+  #   - bioFactor : name of the column cotaining the biological factor of interest
+  #################################################################################################################
+  NmrBrucker_bioFact <- function(data,sampleMetadata,bioFactor)
+  {
+    # Total intensity normalization
+    data.normalized <- data[,1]/bioFactor[1]
+    for (i in 2:ncol(data))
+      data.normalized <- cbind(data.normalized,data[,i]/bioFactor[i])
+    colnames(data.normalized) <- colnames(data)
+    rownames(data.normalized) <- rownames(data)
+    return(data.normalized)
+  }
+
+
+  #################################################################################################################
+  # Probabilistic quotient normalization (PQN)
+  # Input parameters
+  #   - data : bucketed spectra (rows=buckets; columns=samples)
+  #   - sampleMetadata : dataframe with treatment group of inviduals
+  #   - pqnFactor : number of the column cotaining the biological facor of interest
+  #   - nomControl : name of the treatment group
+  #################################################################################################################
+  NmrBrucker_pqn <- function(data,sampleMetadata,pqnFactor,nomControl)
+  {
+    # Total intensity normalization
+    data.total <- apply(data,2,sum)
+    data.normalized <- data[,1]/data.total[1]
+    for (i in 2:ncol(data))
+      data.normalized <- cbind(data.normalized,data[,i]/data.total[i])
+    colnames(data.normalized) <- colnames(data)
+    rownames(data.normalized) <- rownames(data)
+
+    # Reference spectrum
+    # Recuperation spectres individus controle
+    control.spectra <- data.normalized[,sampleMetadata[,pqnFactor]==nomControl]
+    spectrum.ref <- apply(control.spectra,1,median)
+
+    # Ratio between normalized and reference spectra
+    data.normalized.ref <- data.normalized/spectrum.ref
+
+    # Median ratio
+    data.normalized.ref.median <- apply(data.normalized.ref,1,median)
+
+    # Normalization
+    data.normalizedPQN <- data.normalized[,1]/data.normalized.ref.median
+    for (i in 2:ncol(data))
+      data.normalizedPQN <- cbind(data.normalizedPQN,data.normalized[,i]/data.normalized.ref.median)
+    colnames(data.normalizedPQN) <- colnames(data)
+    rownames(data.normalizedPQN) <- rownames(data)
+
+    return(data.normalizedPQN)
+  }
+
+
+  ## Tests
+  if (scalingMethod=="QuantitativeVariable")
+  {
+    if(mode(sampleMetadata[,bioFactor]) == "character")
+       bioFact <- factor(sampleMetadata[,bioFactor])
+    else
+       bioFact <- sampleMetadata[,bioFactor]
+  }
+
+  ## Spectra scaling depending on the user choice
+  if (scalingMethod == "None")
+  {
+    NormalizedBucketedSpectra <- dataMatrix
+  }
+  else if (scalingMethod == "Total")
+  {
+    NormalizedBucketedSpectra <- NmrBrucker_total(dataMatrix)
+  }
+  else if (scalingMethod == "PQN")
+  {
+    NormalizedBucketedSpectra <- NmrBrucker_pqn(dataMatrix,sampleMetadata,bioFactor,ControlGroup)
+  }
+  else if (scalingMethod == "QuantitativeVariable")
+  {
+    NormalizedBucketedSpectra <- NmrBrucker_bioFact(dataMatrix,sampleMetadata,bioFact)
+  }
+
+  ## OUTPUTS
+  return(list(NormalizedBucketedSpectra))
+
+}
b
diff -r 3cd762aac7a4 -r 966fcf7ae66e NmrNormalization_wrapper.R
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/NmrNormalization_wrapper.R Thu Oct 26 06:01:14 2017 -0400
[
@@ -0,0 +1,139 @@
+#!/usr/local/public/bin/Rscript --vanilla --slave --no-site-file
+
+## 070115_NmrBucketing2galaxy_v1.R
+## Marie Tremblay-Franco
+## MetaboHUB: The French Infrastructure for Metabolomics and Fluxomics
+## www.metabohub.fr/en
+## marie.tremblay-franco@toulouse.inra.fr
+
+runExampleL <- FALSE
+
+
+##------------------------------
+## Options
+##------------------------------
+strAsFacL <- options()$stringsAsFactors
+options(stringsAsFactors = FALSE)
+
+
+##------------------------------
+## Libraries laoding
+##------------------------------
+# For parseCommandArgs function
+library(batch) 
+
+# R script call
+source_local <- function(fname)
+{
+ argv <- commandArgs(trailingOnly = FALSE)
+ base_dir <- dirname(substring(argv[grep("--file=", argv)], 8))
+ source(paste(base_dir, fname, sep="/"))
+}
+#Import the different functions
+source_local("NmrNormalization_script.R")
+source_local("DrawSpec.R")
+
+
+##------------------------------
+## Errors ?????????????????????
+##------------------------------
+
+
+##------------------------------
+## Constants
+##------------------------------
+topEnvC <- environment()
+flagC <- "\n"
+
+
+##------------------------------
+## Script
+##------------------------------
+if(!runExampleL)
+    argLs <- parseCommandArgs(evaluate=FALSE)
+
+
+## Parameters Loading
+##-------------------
+  # Inputs
+data <- read.table(argLs[["dataMatrix"]],check.names=FALSE,header=TRUE,sep="\t")
+rownames(data) <- data[,1]
+data <- data[,-1]
+
+scaling <- argLs[["scalingMethod"]]
+graphique <- argLs[["graphType"]]
+
+if (scaling=='PQN')
+{
+ metadataSample <- read.table(argLs[["sampleMetadata"]],check.names=FALSE,header=TRUE,sep="\t")
+ factor<- argLs[["factor"]]
+ ControlGroup <- argLs[["controlGroup"]]
+}
+if (scaling=='QuantitativeVariable')
+{
+  metadataSample <- read.table(argLs[["sampleMetadata"]],check.names=FALSE,header=TRUE,sep="\t")
+  factor <- argLs[["factor"]]
+}
+
+  # Outputs
+nomGraphe <- argLs[["graphOut"]]
+dataMatrixOut <- argLs[["dataMatrixOut"]]
+log <- argLs[["logOut"]]
+
+## Checking arguments
+##-------------------
+error.stock <- "\n"
+
+if(length(error.stock) > 1)
+  stop(error.stock)
+  
+  
+## Computation
+##------------
+NormalizationResults <- NmrNormalization(dataMatrix=data,scalingMethod=scaling,sampleMetadata=metadataSample,
+                                    bioFactor=factor,ControlGroup=ControlGroup,
+                                    graph=graphique,nomFichier=nomGraphe,savLog.txtC=log)
+
+data_normalized <- NormalizationResults[[1]]
+
+
+## Graphical outputs
+##------------------
+if (graphique != "None")
+{
+  # Graphic Device opening
+  pdf(nomGraphe,onefile=TRUE)
+  
+  if (graphique == "Overlay")
+  {
+    # Global spectral window
+    spectra <- data.frame(t(data_normalized))
+    drawSpec(spectra,xlab="", ylab="Intensity", main="")
+  }
+  else
+  {
+    for (i in 1:ncol(data_normalized))
+    {
+      spectra <- t(data_normalized[,i])
+      drawSpec(spectra,xlab="", ylab="Intensity", main=colnames(data_normalized)[i])
+    }
+  }
+  dev.off()
+}
+
+
+## Saving
+##-------
+  # Data
+data_normalized <- cbind(rownames(data_normalized),data_normalized)
+colnames(data_normalized) <- c("Bucket",colnames(data_normalized)[-1])
+write.table(data_normalized,file=argLs$dataMatrixOut,quote=FALSE,row.names=FALSE,sep="\t")
+
+
+## Ending
+##---------------------
+cat("\nEnd of 'Normalization' Galaxy module call: ", as.character(Sys.time()), sep = "")
+
+options(stringsAsFactors = strAsFacL)
+
+rm(list = ls())
b
diff -r 3cd762aac7a4 -r 966fcf7ae66e NmrNormalization_xml.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/NmrNormalization_xml.xml Thu Oct 26 06:01:14 2017 -0400
b
b'@@ -0,0 +1,260 @@\n+<tool id="normalization" name="Normalization" version="1.0.2">\n+\n+    <description> Normalization of (preprocessed) spectra </description>\n+\n+    <requirements>\n+          <requirement type="package" version="1.1_4">r-batch</requirement>\n+    </requirements>\n+\n+      <stdio>\n+        <exit_code range="1:" level="fatal" />\n+    </stdio>\n+\n+    <command>\n+        Rscript $__tool_directory__/NmrNormalization_wrapper.R\n+\n+            ## Data matrix of bucketed and integrated spectra\n+            dataMatrix $dataMatrix\n+\n+            ## Normalization method\n+            scalingMethod $scalingMethod.method\n+            #if $scalingMethod.method == "PQN":\n+                ## Sample metadata matrix\n+                sampleMetadata $scalingMethod.sampleMetadata\n+\n+                ## Biological factor of interest (column number in samplemetadata)\n+                factor $scalingMethod.factor\n+\n+                ## Reference class\n+                controlGroup $scalingMethod.controlGroup\n+            #end if\n+            #if $scalingMethod.method == "QuantitativeVariable":\n+                ## Sample metadata matrix\n+                sampleMetadata $scalingMethod.sampleMetadata\n+\n+                ## Biological factor of interest (column number in samplemetadata)\n+                factor $scalingMethod.factor\n+            #end if\n+\n+            ## Spectra representation\n+            graphType $graphType\n+\n+            ## Outputs\n+            logOut $logOut\n+            dataMatrixOut $dataMatrixOut\n+            graphOut $graphOut\n+\n+\n+    </command>\n+\n+    <inputs>\n+        <param name="dataMatrix" type="data" label="Data matrix of preprocessed data" help="" format="tabular" />\n+\n+        <conditional name="scalingMethod" >\n+            <param name="method" label="Normalization method" type="select" help="Default method is total intensity" >\n+                <option value="None">None normalization</option>\n+                <option value="Total">Total intensity</option>\n+                <option value="PQN">Probabilistic Quotient Normalization</option>\n+                <option value="QuantitativeVariable">Quantitative variable</option>\n+            </param>\n+            <when value="None" />\n+            <when value="Total" />\n+            <when value="PQN">\n+                <param name="sampleMetadata" type="data" label="Sample metadata matrix" help="" format="tabular" />\n+                <param name="factor" label="Name of the column of the biological factor of interest (for PQN method)" type="text" />\n+                <param name="controlGroup" label="Name of reference level for PQN normalization" type="text" help=""/>\n+            </when>\n+            <when value="QuantitativeVariable">\n+                <param name="sampleMetadata" type="data" label="Sample metadata matrix" help="" format="tabular" />\n+                <param name="factor" label="Name of the column of the numerical variable for normalization (weight, osmolality, ...)" type="text" />\n+            </when>\n+        </conditional>\n+\n+        <param name="graphType" label="Spectra representation" type="select" help="Select \'None\' for no representation,\'Overlay\' to overlay all spectra on a unique chart and \'One per individual\' to generate an individual chart for each observation">\n+            <option value="None"> none </option>\n+            <option value="Overlay"> Overlay </option>\n+            <option value="One_per_individual"> One_per_individual </option>\n+        </param>\n+    </inputs>\n+\n+\n+    <outputs>\n+        <data format="txt" name="logOut" label="${tool.name}_log" />\n+        <data format="tabular" name="dataMatrixOut" label="${tool.name}_dataMatrix" />\n+        <data format="pdf" name="graphOut" label="${tool.name}_spectra" >\n+            <filter> graphType != "None" </filter>\n+        </data>\n+    </outputs>\n+\n+  <tests>\n+        <test>\n+            <param name="dataMatrix" value="MTBLS1_bucketedData.tabular" ftype="tabular" />\n+            <condi'..b'-------------------------------+---------+-------------+\n+| Name                 | output file                        | format  | parameter   |\n++======================+====================================+=========+=============+\n+| NMR_Bucketing        | Normalization_bucketedData.tsv     | tabular | Ions Matrix |\n++----------------------+------------------------------------+---------+-------------+\n+\n+\n+\n+\n+**Downstream tools**\n+\n++---------------------------+----------------------+--------+\n+| Name                      | Output file          | Format |\n++===========================+======================+========+\n+|Univariate                 | variableMetadata.tsv | Tabular|\n++---------------------------+----------------------+--------+\n+|Multivariate               | sampleMetadata.tsv   | Tabular|\n++---------------------------+----------------------+--------+\n+|                           | variableMetadata.tsv | Tabular|\n++---------------------------+----------------------+--------+\n+\n+\n+-----------\n+Input files\n+-----------\n+\n++---------------------------+------------+\n+| Parameter : num + label   |   Format   |\n++===========================+============+\n+| DataMatrix                |   Tabular  |\n++---------------------------+------------+\n+\n+**DataMAtrix**\n+\n+    | variable x sample dataMatrix tabular separated file containing (preprocessed) spectra, with . as decimal, and NA for missing values\n+\n+\n+----------\n+Parameters\n+----------\n+\n+DataMatrix\n+    | see "Input files" section above\n+    |\n+\n+Normalization method\n+    | normalization to apply on each spectrum:\n+\n++---------------------------+--------------------------------------+\n+| Name                      | Normalization                        |\n++===========================+======================================+\n+|None                       | No                                   |\n++---------------------------+--------------------------------------+\n+|Total                      | Total intensity                      |\n++---------------------------+--------------------------------------+\n+|PQN                        | Probabilistic Quotient Normalization |\n++---------------------------+--------------------------------------+\n+|QuantitativeVariable       | Weight, osmolality, ...              |\n++---------------------------+--------------------------------------+\n+\n+\n+sampleMetadata\n+    | sample x metadata **sample** tabular separated file of the numeric and/or character sample metadata, with . as decimal and NA for missing values\n+    | Mandatory for "PQN" or "Quantitative" normalization method\n+    | The row names must be identical to the column names of the dataMatrix file\n+    |\n+\n+\n+Spectra representation:\n+    | Graphical chart of bucketed and integrated raw files\n+    | If "Overlay": the n (sample number) spectra are overlaid on the same figure\n+    | If "One_per_individual": pdf file includes n pages (1 per sample)\n+    |\n+\n+\n+------------\n+Output files\n+------------\n+\n+\n+dataMatrix.tsv\n+    | tabular output\n+    | Data matrix with p rows (variable) and n columns (samples) containing the intensities\n+    |\n+\n+spectra.pdf\n+    | pdf output\n+    | Graphical chart of bucketed and integrated data\n+    |\n+\n+\n+---------------------------------------------------\n+\n+---------------\n+Working example\n+---------------\n+\n+\n+.. class:: warningmark\n+\n+Under construction\n+\n+.. image:: ./static/images/Mth_Travaux.png\n+        :width: 100\n+\n+\n+---------------------------------------------------\n+\n+--------------\n+Changelog/News\n+--------------\n+\n+**Version 1.0.2 - 22/10/2016**\n+\n+- NEW: this tool was previously named NMR Normalization. It had been generalize to deal with all kind of preprocessed data\n+\n+**Version 1.0.1 - 14/04/2016**\n+\n+- TEST: refactoring to pass planemo test using conda dependencies\n+\n+**Version 2015-01-28 - 28/01/2015**\n+\n+   </help>\n+    <citations>\n+        <citation type="doi">10.1093/bioinformatics/btu813</citation>\n+    </citations>\n+</tool>\n'
b
diff -r 3cd762aac7a4 -r 966fcf7ae66e README.rst
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/README.rst Thu Oct 26 06:01:14 2017 -0400
b
@@ -0,0 +1,22 @@
+
+Changelog/News
+--------------
+
+**Version 1.0.2 - 22/10/2016**
+
+- NEW: this tool was previously named NMR Normalization. It had been generalize to deal with all kind of preprocessed data
+
+**Version 1.0.1 - 14/04/2016**
+
+- TEST: refactoring to pass planemo test using conda dependencies
+
+**Version 2015-01-28 - 28/01/2015**
+
+
+
+Test Status
+-----------
+
+Planemo test using conda: passed
+
+Planemo shed_test: passed
b
diff -r 3cd762aac7a4 -r 966fcf7ae66e nmr_bucketing/.shed.yml
--- a/nmr_bucketing/.shed.yml Thu Apr 20 08:53:46 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,7 +0,0 @@
-categories: [Metabolomics]
-description: '[Metabolomics][W4M][NMR] NMR Bucketing - Bucketing / Binning (spectra segmentation in fixed-size windows) and integration (sum of absolute intensities inside each bucket) to preprocess NMR data'
-homepage_url: http://workflow4metabolomics.org
-long_description: 'Part of the W4M project: http://workflow4metabolomics.org'
-name: nmr_bucketing
-owner: marie-tremblay-metatoul
-remote_repository_url: https://github.com/workflow4metabolomics/nmr_bucketing
b
diff -r 3cd762aac7a4 -r 966fcf7ae66e nmr_bucketing/DrawSpec.R
--- a/nmr_bucketing/DrawSpec.R Thu Apr 20 08:53:46 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,74 +0,0 @@
-drawSpec <- function (X, startP = -1, endP = -1, groupLabel = NULL, useLog = -1, highBound = -1, lowBound = -1, 
-                      xlab = NULL, ylab = NULL, main = NULL, nAxisPos = 4, offside = 0) 
-{
-  groupLabel_name = groupLabel
-  X = as.data.frame(X)
-#  colnames(X) = c(1:ncol(X))
-  X = as.matrix(X)
-  if (highBound != -1) {
-    for (i in 1:nrow(X)) {
-      myIndex = which(X[i, ] > highBound)
-      X[i, myIndex] = highBound
-    }
-  }
-  if (lowBound != -1) {
-    for (i in 1:nrow(X)) {
-      myIndex = which(X[i, ] < lowBound)
-      X[i, myIndex] = lowBound
-    }
-  }
-  if (is.null(groupLabel)) {
-    groupLabel = c(1:nrow(X))
-    groupLabel = as.factor(groupLabel)
-  }
-  else {
-    levels(groupLabel) = c(1:length(levels(groupLabel)))
-  }
-  if (startP == -1) 
-    startP = 1
-  if (endP == -1) 
-    endP = ncol(X)
-  if (is.null(xlab)) {
-    xlab = "index"
-  }
-  if (is.null(ylab)) {
-    ylab = "intensity"
-  }
-  if (is.null(main)) {
-    main = paste(" ", startP + offside, "-", endP + offside)
-  }
-  GraphRange <- c(startP:endP)
-  yn <- X[, GraphRange]
-  if (useLog != -1) 
-    yn = log(yn)
-  if (length(yn) > ncol(X))
-  {
-    plot(yn[1, ], ylim = c(min(yn), max(yn)), type = "n", ylab = ylab, xlab = xlab, main = main, xaxt = "n")
-    tempVal = trunc(length(GraphRange)/nAxisPos)
-    xPos = c(0:nAxisPos) * tempVal
-    axis(1, at = xPos, labels = colnames(X)[xPos + startP + offside])
-    for (i in 1:length(levels(groupLabel))) 
-    {
-      groupLabelIdx = which(groupLabel == levels(groupLabel)[i])
-      color <- palette(rainbow(length(levels(groupLabel))))
-      for (j in 1:length(groupLabelIdx)) 
-      {
-        lines(yn[groupLabelIdx[j], ], col = color[i])
-      }
-    }
-    if (!is.null(groupLabel_name)) 
-    {
-      legendPos = "topleft"
-      legend(legendPos, levels(groupLabel_name), col = as.integer(levels(groupLabel)), text.col = "black", pch = c(19, 19), bg = "gray90")
-    }
-  }
-  if (length(yn) == ncol(X))
-  {
-    plot(yn, ylim = c(min(yn), max(yn)), type = "n", ylab = ylab, xlab = xlab, main = main, xaxt = "n")
-    tempVal = trunc(length(GraphRange)/nAxisPos)
-    xPos = c(0:nAxisPos) * tempVal
-#    axis(1, at = xPos, labels = xPos + startP + offside)
-    axis(1, at = xPos, labels = colnames(X)[xPos + startP + offside])
-    lines(yn)
-  }
-}
\ No newline at end of file
b
diff -r 3cd762aac7a4 -r 966fcf7ae66e nmr_bucketing/MANUAL_INSTALL.txt
--- a/nmr_bucketing/MANUAL_INSTALL.txt Thu Apr 20 08:53:46 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,59 +0,0 @@
-Instructions to integrate the "NMR bucketing" tool into a local instance of Galaxy
-Version February 2015 M Tremblay-Franco
-
-
-## --- R bin and Packages : --- ##
-R version 3.0.2 (2013-09-25) -- "Frisbee Sailing"
-Platform: x86_64-redhat-linux-gnu (64-bit)
-
-Install the "batch" library, necessary for parseCommandArgs function and the "pracma" library, nessecary for cumtrapz function:
- - Download package source (*.tar.gz file) from your favorite CRAN (http://www.r-project.org/)
-For example: http://cran.univ-lyon1.fr/
-
- - Install package in your R session
-install.packages("path/package_name.tar.gz",lib="path",repos=NULL)
-For Example: install.packages("/usr/lib64/R/library/pracma_1.8.3.tar",lib="/usr/lib64/R/library",repos=NULL)
-
- - Finally, load the package into your R session
-library(batch)
-library(pracma)
-
-
-## --- Config : --- ##
- - Edit the file "/galaxy/dist/galaxy-dist/tool_conf.xml" and add 
-<section id="id_name" name="Name">
-  <tool file="path/NmrBucketing_xml.xml" />
-</section>
-to create a new section containing the NMR_Bucketing tool
-or add
-  <tool file="path/NmrBucketing_xml.xml" />
-in an existing section
-
- - Put the three files NmrBucketing_xml.xml, NmrBucketing_wrapper.R and NmrBucketing_script.R in a same directory
-For example, path=/galaxy/dist/galaxy-dist/tools/stats
-
- - Edit the NmrBucketing_xml.xml file and change the path in the following lines
-    # R script
-    R --vanilla --slave --no-site-file --file=path/NmrBucketing_wrapper.R --args
-    
-    ## Library name for raw files storage
-    library path/$library
-
-## --- XML help part --- ##
-one image: 
-Copy the 'Mth_Architecture_Repertoire_Bruker.png' file within the directory to your galaxy-dist/static/images/
-
-
- - Activate the "user_library_import_dir" in your /galaxy/dist/galaxy-dist/universe_wsgi.ini and create the users directories in this path, for example:
-
- #In universe_wsgi.ini
-  user_library_import_dir = /projet/sbr/galaxy/import/user
-
- #Create the user "myaccount" in this path
-
- User path: /projet/sbr/galaxy/import/user/myaccount@sb-roscoff.fr
-
-
-
-
-Finally, restart Galaxy
\ No newline at end of file
b
diff -r 3cd762aac7a4 -r 966fcf7ae66e nmr_bucketing/NmrBucketing_script.R
--- a/nmr_bucketing/NmrBucketing_script.R Thu Apr 20 08:53:46 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,273 +0,0 @@\n-################################################################################################\r\n-# SPECTRA BUCKETING AND INTEGRATION FROM RAW BRUKER FILES                                      #\r\n-# User : Galaxy                                                                                #\r\n-# Original data : --                                                                           #\r\n-# Starting date : 20-10-2014                                                                   #\r\n-# Version 1 : 18-12-2014                                                                       #\r\n-# Version 2 : 07-01-2015                                                                       #\r\n-# Version 3 : 24-10-2016                                                                       #\r\n-#                                                                                              #\r\n-# Input files : modification on october 2016                                                   #\r\n-#   - Raw bruker files included in user-defined fileName                                      #\r\n-#   - Preprocessed files (alignment, ...) included in p x n dataframe                          #\r\n-################################################################################################\r\n-NmrBucketing <- function(fileType,fileName,leftBorder = 10.0,rightBorder = 0.5,bucketSize = 0.04,exclusionZones,\r\n-                         exclusionZonesBorders=NULL,graph=c("None","Overlay","One_per_individual"),\r\n-                         nomFichier,savLog.txtC = NULL) \r\n-{\r\n-  ## Option\r\n-  ##---------------\r\n-  strAsFacL <- options()$stringsAsFactors\r\n-  options(stingsAsFactors = FALSE)\r\n-  options(warn = -1)\r\n-  \r\n-  \r\n-  ## Constants\r\n-  ##---------------\r\n-  topEnvC <- environment()\r\n-  flgC <- "\\n"\r\n-  \r\n-  ## Log file (in case of integration into Galaxy)\r\n-  ##----------------------------------------------\r\n-  if(!is.null(savLog.txtC))\r\n-    sink(savLog.txtC, append = TRUE)\r\n-  \r\n-  ## Functions definition\r\n-  ##---------------------  \r\n-    ## RAW BRUKER FILE READING FUNCTION\r\n-  NmRBrucker_read <- function(DataDir,SampleSpectrum)\r\n-  {\r\n-    \r\n-    bruker.get_param <- function (ACQ,paramStr)\r\n-    {\r\n-      regexpStr <- paste("^...",paramStr,"=",sep="")\r\n-      as.numeric(gsub("^[^=]+= ","" ,ACQ[which(simplify2array(regexpr(regexpStr,ACQ))>0)]))\r\n-    }\r\n-    \r\n-    ACQFILE <- "acqus"\r\n-    SPECFILE <- paste(DataDir,"/1r",sep="")\r\n-    PROCFILE <- paste(DataDir,"/procs",sep="")\r\n-    \r\n-    ACQ <- readLines(ACQFILE)\r\n-    TD      <- bruker.get_param(ACQ,"TD")\r\n-    SW      <- bruker.get_param(ACQ,"SW")\r\n-    SWH     <- bruker.get_param(ACQ,"SW_h")\r\n-    DTYPA   <- bruker.get_param(ACQ,"DTYPA")\r\n-    BYTORDA <- bruker.get_param(ACQ,"BYTORDA")\r\n-    #ENDIAN = ifelse( BYTORDA==0, "little", "big")\r\n-    ENDIAN <- "little"\r\n-    SIZE = ifelse( DTYPA==0, 4, 8)\r\n-    \r\n-    PROC <- readLines(PROCFILE)\r\n-    OFFSET <- bruker.get_param(PROC,"OFFSET")\r\n-    SI <- bruker.get_param(PROC,"SI")\r\n-    \r\n-    to.read = file(SPECFILE,"rb")\r\n-    maxTDSI = max(TD,SI)\r\n-    #  signal<-rev(readBin(to.read, what="int",size=SIZE, n=TD, signed = TRUE, endian = ENDIAN))\r\n-    signal<-rev(readBin(to.read, what="int",size=SIZE, n=maxTDSI, signed = TRUE, endian = ENDIAN))\r\n-    close(to.read)\r\n-    \r\n-    td <- length(signal)\r\n-    \r\n-    #  dppm <- SW/(TD-1)\r\n-    dppm <- SW/(td-1)\r\n-    pmax <- OFFSET\r\n-    pmin <- OFFSET - SW\r\n-    ppmseq <- seq(from=pmin, to=pmax, by=dppm)\r\n-    signal <- 100*signal/max(signal)\r\n-    \r\n-    SampleSpectrum <- cbind(ppmseq,signal)\r\n-    return(SampleSpectrum)\r\n-  }\r\n-  \r\n-    ## SPECTRUM BUCKETING\r\n-  NmrBrucker_bucket <- function(spectrum)\r\n-  {\r\n-    # Initialisations\r\n-    b <- 1\r\n-    j <- 1\r\n-    # Variable number\r\n-    J <- round((spectrum[1,1]-spectrum[dim(spectrum)[1],1])/bucketSize)\r\n-    f.bucket <- matrix(rep(0,J*2),ncol=2)\r\n-    colnames(f.bucket) <- c("Bucket",FileNames[i])\r\n-    \r\n-    \r\n-    # Data bucketing\r\n-'..b'Names <- list.files(fileName)\r\n-    n <- length(FileNames)\r\n-    \r\n-    # Reading and Bucketing\r\n-    fileName <- paste(fileName,"/",sep="")\r\n-  \r\n-    i <- 1\r\n-    while (i <= n)\r\n-    {\r\n-      # File reading\r\n-      SampleDir <- paste(fileName,FileNames[i],"/1/",sep="")\r\n-      setwd(SampleDir)\r\n-      DataDir <- "pdata/1"\r\n-  \r\n-      rawSpectrum <- NmRBrucker_read(DataDir,rawSpectrum)\r\n-  \r\n-      orderedSpectrum <- rawSpectrum[order(rawSpectrum[,1],decreasing=T), ]\r\n-      \r\n-      # Removal of chemical shifts > leftBorder or < rightBorder boundaries\r\n-      truncatedSpectrum <- orderedSpectrum[orderedSpectrum[,1] < leftBorder & orderedSpectrum[,1] > rightBorder, ]\r\n-      truncatedSpectrum[,1] <- round(truncatedSpectrum[,1],3)\r\n-      \r\n-      # Bucketing\r\n-      spectrum.bucket <- NmrBrucker_bucket(truncatedSpectrum)\r\n-      ppm <- spectrum.bucket[,1]\r\n-      \r\n-      # spectrum Concatenation\r\n-      if (i == 1)\r\n-        bucketedSpectra <- spectrum.bucket\r\n-      if (i > 1)\r\n-        bucketedSpectra <- cbind(bucketedSpectra,spectrum.bucket[,2])\r\n-      colnames(bucketedSpectra)[i+1] <- FileNames[i]\r\n-      \r\n-      # Next sample\r\n-      rm(spectrum.bucket)\r\n-      i <- i +1\r\n-    }\r\n-    # Directory\r\n-    cd(fileName)  \r\n-  }\r\n-  \r\n-  ## Inputs from dataset (preprocessed files)\r\n-  if (fileType=="tsv")\r\n-  {\r\n-    FileNames <- colnames(fileName)\r\n-    n <- length(FileNames)\r\n-    \r\n-    for (i in 1:ncol(fileName))\r\n-    {\r\n-      orderedSpectrum <- cbind(as.numeric(rownames(fileName)),fileName[,i])\r\n-      orderedSpectrum <- orderedSpectrum[order(orderedSpectrum[,1],decreasing=T), ]\r\n-      \r\n-      truncatedSpectrum <- orderedSpectrum[orderedSpectrum[,1] < leftBorder & orderedSpectrum[,1] > rightBorder, ]\r\n-      truncatedSpectrum[,1] <- round(truncatedSpectrum[,1],3)\r\n-      \r\n-      # Bucketing\r\n-      spectrum.bucket <- NmrBrucker_bucket(truncatedSpectrum)\r\n-      ppm <- spectrum.bucket[,1]\r\n-      \r\n-      # spectrum Concatenation\r\n-      if (i == 1)\r\n-        bucketedSpectra <- spectrum.bucket\r\n-      if (i > 1)\r\n-        bucketedSpectra <- cbind(bucketedSpectra,spectrum.bucket[,2])\r\n-      colnames(bucketedSpectra)[i+1] <- colnames(fileName)[i]\r\n-    }\r\n-  }\r\n-  \r\n-  identifiants <- gsub("([- , * { } | \\\\[ ])","_",colnames(bucketedSpectra)[-1])\r\n-  colnames(bucketedSpectra) <- c(colnames(bucketedSpectra)[1],identifiants)\r\n-\r\n-  bucketedSpectra <- bucketedSpectra[bucketedSpectra[,1]!=0,]\r\n-  rownames(bucketedSpectra) <- paste("B",bucketedSpectra[,1],sep="")\r\n-  bucketedSpectra <- bucketedSpectra[,-1]\r\n-  \r\n-  # Metadata matrice outputs\r\n-  sampleMetadata <- data.frame(1:n)\r\n-  rownames(sampleMetadata) <- colnames(bucketedSpectra)\r\n-  colnames(sampleMetadata) <- "SampleOrder"\r\n-  \r\n-  variableMetadata <- data.frame(1:nrow(bucketedSpectra))\r\n-  rownames(variableMetadata) <- rownames(bucketedSpectra)\r\n-  colnames(variableMetadata) <- "VariableOrder"\r\n-\r\n-\r\n-  return(list(bucketedSpectra,sampleMetadata,variableMetadata,ppm)) # ,truncatedSpectrum_matrice\r\n-}\r\n-\r\n-\r\n-#################################################################################################################\r\n-## Typical function call\r\n-#################################################################################################################\r\n-## StudyDir <- "K:/PROJETS/Metabohub/Bruker/Tlse_BPASourisCerveau/"\r\n-## upper <- 9.5\r\n-## lower <- 0.8\r\n-## bucket.width <- 0.01\r\n-## exclusion <- TRUE\r\n-## exclusion.zone <- list(c(5.1,4.5))\r\n-## graphique <- "Overlay"\r\n-## nomFichier <- "Tlse_BPASourisCerveau_NmrBucketing_graph.pdf"\r\n-## tlse_cerveaupnd21.bucket <- NmrBucketing(StudyDir,upper,lower,bucket.width,exclusion,exclusion.zone,graphique,nomFichier)\r\n-## write.table(tlse_cerveaupnd21.bucket,file=paste(StudyDir,"Tlse_BPASourisCerveau_NmrBucketing_dataMatrix.tsv",sep=""),\r\n-##             quote=FALSE,row.nmaes=FALSE,sep="\\t")\r\n-#################################################################################################################\r\n'
b
diff -r 3cd762aac7a4 -r 966fcf7ae66e nmr_bucketing/NmrBucketing_wrapper.R
--- a/nmr_bucketing/NmrBucketing_wrapper.R Thu Apr 20 08:53:46 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,295 +0,0 @@\n-#!/usr/local/public/bin/Rscript --vanilla --slave --no-site-file\r\n-\r\n-## 070115_NmrBucketing2galaxy_v1.R\r\n-## Marie Tremblay-Franco\r\n-## MetaboHUB: The French Infrastructure for Metabolomics and Fluxomics\r\n-## www.metabohub.fr/en\r\n-## marie.tremblay-franco@toulouse.inra.fr\r\n-\r\n-runExampleL <- FALSE\r\n-\r\n-if(runExampleL) {\r\n-##------------------------------\r\n-## Example of arguments\r\n-##------------------------------\r\n-argLs <- list(StudyDir = "Tlse_BPASourisCerveau",\r\n-              upper = "10.0",\r\n-              lower = "0.50",\r\n-              bucket.width = "0.01",\r\n-              exclusion = "TRUE",\r\n-              exclusion.zone = list(c(6.5,4.5)),\r\n-              graph="Overlay")\r\n-\r\n-argLs <- c(argLs,\r\n-           list(dataMatrixOut = paste(directory,"_NmrBucketing_dataMatrix.tsv",sep=""),\r\n-                sampleMetadataOut = paste(directory,"_NmrBucketing_sampleMetadata.tsv",sep=""),\r\n-                variableMetadataOut = paste(directory,"_NmrBucketing_variableMetadata.tsv",sep=""),\r\n-                graphOut = paste(directory,"_NmrBucketing_graph.pdf",sep=""),\r\n-                logOut = paste(directory,"_NmrBucketing_log.txt",sep="")))\r\n-}\r\n-\r\n-##------------------------------\r\n-## Options\r\n-##------------------------------\r\n-strAsFacL <- options()$stringsAsFactors\r\n-options(stringsAsFactors = FALSE)\r\n-\r\n-\r\n-##------------------------------\r\n-## Libraries laoding\r\n-##------------------------------\r\n-# For parseCommandArgs function\r\n-library(batch)\r\n-# For cumtrapz function\r\n-library(pracma)\r\n-\r\n-# R script call\r\n-source_local <- function(fname)\r\n-{\r\n-\targv <- commandArgs(trailingOnly = FALSE)\r\n-\tbase_dir <- dirname(substring(argv[grep("--file=", argv)], 8))\r\n-\tsource(paste(base_dir, fname, sep="/"))\r\n-}\r\n-#Import the different functions\r\n-source_local("NmrBucketing_script.R")\r\n-source_local("DrawSpec.R")\r\n-\r\n-##------------------------------\r\n-## Errors ?????????????????????\r\n-##------------------------------\r\n-\r\n-\r\n-##------------------------------\r\n-## Constants\r\n-##------------------------------\r\n-topEnvC <- environment()\r\n-flagC <- "\\n"\r\n-\r\n-\r\n-##------------------------------\r\n-## Script\r\n-##------------------------------\r\n-if(!runExampleL)\r\n-    argLs <- parseCommandArgs(evaluate=FALSE)\r\n-\r\n-\r\n-## Parameters Loading\r\n-##-------------------\r\n-  # Inputs\r\n-if (!is.null(argLs[["zipfile"]])){\r\n-\tfileType="zip"\r\n-\tzipfile= argLs[["zipfile"]]\r\n-\tdirectory=unzip(zipfile, list=F)\r\n-\tdirectory=paste(getwd(),strsplit(directory[1],"/")[[1]][2],sep="/")\r\n-} else if (!is.null(argLs[["tsvfile"]])){\r\n-\tfileType="tsv"\r\n-\tdirectory <- read.table(argLs[["tsvfile"]],check.names=FALSE,header=TRUE,sep="\\t")\r\n-}\r\n-\r\n-leftBorder <- argLs[["left_border"]]\r\n-rightBorder <- argLs[["right_border"]]\r\n-bucketSize <- argLs[["bucket_width"]]\r\n-exclusionZones <- argLs[["zone_exclusion_choices.choice"]]\r\n-\r\n-exclusionZonesBorders <- NULL\r\n-if (!is.null(argLs$zone_exclusion_left))\r\n-{\r\n-   for(i in which(names(argLs)=="zone_exclusion_left"))\r\n-   {\r\n-     exclusionZonesBorders <- c(exclusionZonesBorders,list(c(argLs[[i]],argLs[[i+1]])))\r\n-   }\r\n-}\r\n-\r\n-graphique <- argLs[["graphType"]]\r\n-\r\n-  # Outputs\r\n-nomGraphe <- argLs[["graphOut"]]\r\n-dataMatrixOut <- argLs[["dataMatrixOut"]]\r\n-logFile <- argLs[["logOut"]]\r\n-if (fileType=="zip")\r\n-{\r\n-  sampleMetadataOut <- argLs[["sampleOut"]]\r\n-  variableMetadataOut <- argLs[["variableOut"]]\r\n-}\r\n-\r\n-## Checking arguments\r\n-##-------------------\r\n-error.stock <- "\\n"\r\n-\r\n-if(length(error.stock) > 1)\r\n-  stop(error.stock)\r\n-\r\n-\r\n-## Computation\r\n-##------------\r\n-outputs <- NmrBucketing(fileType=fileType, fileName=directory, leftBorder=leftBorder, rightBorder=rightBorder, bucketSize=bucketSize,\r\n-\t\t\t\t\t\texclusionZones=exclusionZones, exclusionZonesBorders=exclusionZonesBorders, graph=graphique, nomFichier=nomGraphe,\r\n-\t\t\t\t\t\tsavLog.txtC=logFile)\r\n-data_bucket <- outputs[[1]]\r\n-data_sample <- outputs[[2]]\r\n-data_variable <- outputs[[3]]\r\n-ppm <- outputs[[4]]\r\n-ppm <- round(ppm,2)\r\n-\r\n-## G'..b'):nrow(data_bucket),]))\r\n-      drawSpec(spectra,xlab="", ylab="Intensity", main="")\r\n-    }\r\n-  }\r\n-  else\r\n-  {\r\n-    for (i in 1:ncol(data_bucket))\r\n-    {\r\n-      par(mfrow=c((nbZones+2),1))\r\n-      n <- length(excludedZone)\r\n-      spectra <- t(data_bucket[,i])\r\n-\t  names(spectra) <- rownames(data_bucket)\r\n-      plot(1:length(spectra), spectra, type=\'l\', xlab="", ylab="Intensity", main=colnames(data_bucket)[i], xaxt = "n")\r\n-\t  xPos <- 1\r\n-\t  nAxisPos <- 4\r\n-\t  startP <- length(nAxisPos) \r\n-\t  endP <- nrow(data_bucket)\r\n-\t  GraphRange <- c(startP:endP)\r\n-\t  tempVal = trunc(length(GraphRange)/nAxisPos)\r\n-\t  xPos = c(0:nAxisPos) * tempVal\r\n-\t  axis(1, at = xPos, labels = rownames(data_bucket)[xPos + startP])\r\n-     \r\n-      ## Zoomed spectral window depending on exclusion zone(s)\r\n-      if (nbZones != 0)\r\n-      {\r\n-        BInf <- excludedZone[n]\r\n-        if (round(BInf,1) == BInf)\r\n-        {\r\n-          BInf <- BInf+0.01\r\n-        }\r\n-        spectra <- t(data_bucket[1:(which(ppm == BInf)[[1]]),i])\r\n-\t\tnames(spectra) <- rownames(data_bucket)[1:(which(ppm == BInf)[[1]])]\r\n-\t\tplot(1:length(spectra), spectra, type=\'l\',xlab="", ylab="Intensity", main="", xaxt = "n")\t\t\t\r\n-\t\txPos <- 1\r\n-\t\tnAxisPos <- 4\r\n-\t\tstartP <- length(nAxisPos) \r\n-\t\tendP <- length(spectra)\r\n-\t\tGraphRange <- c(startP:endP)\r\n-\t\ttempVal = trunc(length(GraphRange)/nAxisPos)\r\n-\t\txPos = c(0:nAxisPos) * tempVal\r\n-\t\taxis(1, at = xPos, labels = rownames(data_bucket)[xPos + startP])\r\n-        n <- n - 1\r\n-        \r\n-        while (n >= nbZones & nbZones > 1)\r\n-        {\r\n-          BInf <- excludedZone[n-1]\r\n-          if (round(BInf,1) > BInf)\r\n-          {\r\n-            BInf <- BInf+0.01\r\n-          }\r\n-          spectra <- t(data_bucket[(which(ppm == excludedZone[n])[[1]]):(which(ppm == BInf)[[1]]),i])\r\n-\t\t  names(spectra) <- rownames(data_bucket)[(which(ppm == excludedZone[n])[[1]]):(which(ppm == BInf)[[1]])]\r\n-          plot(1:length(spectra), spectra, type=\'l\',xlab="", ylab="Intensity", main="", xaxt = "n")\r\n-\t\t  xPos <- 1\r\n-\t\t  nAxisPos <- 4\r\n-\t\t  startP <- length(nAxisPos) \r\n-\t\t  endP <- length(spectra)\r\n-\t\t  GraphRange <- c(startP:endP)\r\n-\t\t  tempVal = trunc(length(GraphRange)/nAxisPos)\r\n-\t\t  xPos = c(0:nAxisPos) * tempVal\r\n-\t\t  axis(1, at = xPos, labels = rownames(data_bucket)[xPos + startP])\r\n-          n <- n - 2\r\n-        }\r\n-        \r\n-        BInf <- excludedZone[1]\r\n-        if (round(BInf,1) <= BInf)\r\n-        {\r\n-          BInf <- BInf+0.01\r\n-        }\r\n-        spectra <- t(data_bucket[(which(ppm == BInf)[[1]]):nrow(data_bucket),i])\r\n-\t\tnames(spectra) <- rownames(data_bucket)[(which(ppm == BInf)[[1]]):nrow(data_bucket)]\r\n-        plot(1:length(spectra), spectra, type=\'l\',xlab="", ylab="Intensity", main="", xaxt = "n")\r\n-\t\txPos <- 1\r\n-\t\tnAxisPos <- 4\r\n-\t\tstartP <- length(nAxisPos) \r\n-\t\tendP <- length(spectra)\r\n-\t\tGraphRange <- c(startP:endP)\r\n-\t\ttempVal = trunc(length(GraphRange)/nAxisPos)\r\n-\t\txPos = c(0:nAxisPos) * tempVal\r\n-\t\taxis(1, at = xPos, labels = rownames(data_bucket)[xPos + startP])\r\n-      }\r\n-    }\r\n-  }\r\n-  dev.off()\r\n-}\r\n-## Saving\r\n-##-------\r\n-  # Data\r\n-data_bucket <- cbind(rownames(data_bucket),data_bucket)\r\n-colnames(data_bucket) <- c("Bucket",colnames(data_bucket)[-1])\r\n-write.table(data_bucket,file=argLs$dataMatrixOut,quote=FALSE,row.names=FALSE,sep="\\t")\r\n-  # Sample\r\n-data_sample <- cbind(rownames(data_sample),data_sample)\r\n-colnames(data_sample) <- c("Sample",colnames(data_sample)[-1])\r\n-write.table(data_sample,file=argLs$sampleOut,quote=FALSE,row.names=FALSE,sep="\\t")\r\n-  # Variable\r\n-data_variable <- cbind(rownames(data_variable),data_variable)\r\n-colnames(data_variable) <- c("Bucket",colnames(data_variable)[-1])\r\n-write.table(data_variable,file=argLs$variableOut,quote=FALSE,row.names=FALSE,sep="\\t")\r\n-\r\n-\r\n-## Ending\r\n-##---------------------\r\n-\r\n-cat("\\nEnd of \'NMR bucketing\' Galaxy module call: ", as.character(Sys.time()), sep = "")\r\n-\r\n-## sink(NULL)\r\n-\r\n-options(stringsAsFactors = strAsFacL)\r\n-\r\n-rm(list = ls())\r\n'
b
diff -r 3cd762aac7a4 -r 966fcf7ae66e nmr_bucketing/NmrBucketing_xml.xml
--- a/nmr_bucketing/NmrBucketing_xml.xml Thu Apr 20 08:53:46 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,293 +0,0 @@\n-<tool id="NmrBucketing" name="NMR_Bucketing" version="1.0.3">\r\n-\r\n-    <description> Bucketing and integration of NMR Bruker raw data</description>\r\n-\r\n-    <requirements>\r\n-\t    <requirement type="package" version="1.1_4">r-batch</requirement>\r\n-\t    <requirement type="package" version="1.8.8">r-pracma</requirement>\r\n-    </requirements>\r\n-\r\n-    <stdio>\r\n-        <exit_code range="1:" level="fatal" />\r\n-    </stdio>\r\n-\r\n-    <command>\r\n-        Rscript \'$__tool_directory__/NmrBucketing_wrapper.R\'\r\n-\r\n-        #if $inputs.input == "tsv_file":\r\n-            tsvfile \'$inputs.tsv_file\'\r\n-        #elif $inputs.input == "zip_file":\r\n-            zipfile \'$inputs.zip_file\'\r\n-        #end if\r\n-\r\n-\r\n-        ## Bucket width\r\n-        bucket_width $bucket_width\r\n-\r\n-        ## Spectra borders\r\n-        left_border $left_border\r\n-        right_border $right_border\r\n-\r\n-\r\n-        ## Spectra representation\r\n-        graphType $graphType\r\n-\r\n-        ## Exclusion zone\r\n-        zone_exclusion_choices.choice ${zone_exclusion_choices.choice}\r\n-        #if str($zone_exclusion_choices.choice) == \'yes\':\r\n-            #for $i in $zone_exclusion_choices.conditions:\r\n-                zone_exclusion_left ${i.zone_exclusion_left}\r\n-                zone_exclusion_right ${i.zone_exclusion_right}\r\n-            #end for\r\n-        #end if\r\n-\r\n-        ## Outputs\r\n-        logOut log.log\r\n-        dataMatrixOut \'$dataMatrixOut\'\r\n-        sampleOut \'$sampleOut\'\r\n-        variableOut \'$variableOut\'\r\n-        graphOut \'$graphOut\'; cat log.log\r\n-    </command>\r\n-\r\n-    <inputs>\r\n-        <conditional name="inputs">\r\n-            <param name="input" type="select" label="Choose your inputs method" >\r\n-                <option value="zip_file" selected="true">Zip file from your history containing your Bruker directories</option>\r\n-                <option value="tsv_file">Tsv file containing preprocessed spectra (from your history)</option>\r\n-            </param>\r\n-            <when value="zip_file">\r\n-                <param name="zip_file" type="data" format="no_unzip.zip" label="Zip file" />\r\n-            </when>\r\n-            <when value="tsv_file">\r\n-                <param name="tsv_file" type="data" format="tabular" label="Tsv file" />\r\n-            </when>\r\n-        </conditional>\r\n-\r\n-        <param name="bucket_width" label="Bucket width" type="float" value="0.04" help="Default value is 0.04 ppm"/>\r\n-\r\n-        <param name="left_border" label="Left Border" type="float" value="10.0" size="10" help="Default value is 10 ppm"/>\r\n-        <param name="right_border" label="Right Border" type="float" value="0.5" size="10" help="Default value is 0.5 ppm"/>\r\n-\r\n-        <conditional name="zone_exclusion_choices">\r\n-            <param name="choice" type="select" label="Exclusion zone(s)" help="Choose if you want to exclude particular zone(s)" >\r\n-                <option value="yes" > yes </option>\r\n-                <option value="no" selected="true"> no </option>\r\n-            </param>\r\n-            <when value="yes">\r\n-                <repeat name="conditions" title="exclusion zones">\r\n-                    <param name="zone_exclusion_left" label="Left exclusion zone border" type="float" value="10.0" />\r\n-                    <param name="zone_exclusion_right" label="Right exclusion zone border" type="float" value="10.0" />\r\n-                </repeat>\r\n-            </when>\r\n-            <when value="no">\r\n-            </when>\r\n-        </conditional>\r\n-\r\n-        <param name="graphType" label="Spectra representation" type="select" help="Select \'None\' for no representation,\'Overlay\' to overlay all spectra on a unique chart and \'One per individual\' to generate an individual chart for each observation">\r\n-            <option value="None"> none </option>\r\n-            <option value="Overlay"> Overlay </option>\r\n-            <option value="One_per_individual"> One_per_individual </option>\r\n-        </param>\r\n-\r\n-    </inputs>\r\n-\r\n-    <outputs>\r\n-   '..b'-------------------+----------------------+--------+\r\n-|                           | variableMetadata.tsv | Tabular|\r\n-+---------------------------+----------------------+--------+\r\n-\r\n-\r\n------------\r\n-Input files\r\n------------\r\n-\r\n-+---------------------------+------------+\r\n-| Parameter : num + label   |   Format   |\r\n-+===========================+============+\r\n-| 1 : Choose your inputs    |   zip      |\r\n-+---------------------------+------------+\r\n-| 1 : Choose your inputs    |   tsv      |\r\n-+---------------------------+------------+\r\n-\r\n-**Choose your inputs**\r\n-\r\n-You have three methods for your inputs:\r\n-\r\n-| Zip file (recommended): You can put a zip file containing your inputs as raw Bruker files: myinputs.zip (containing all your conditions as sub-directories).\r\n-| Tsv file: You can put a tsv file containing your inputs as preprocessed spectra: myinputs.tsv (containing all your conditions in columns and chemical shifts in rows).\r\n-\r\n-.. image:: ./static/images/Mth_Architecture_Repertoire_Bruker.png\r\n-:width: 800\r\n-\r\n-----------\r\n-Parameters\r\n-----------\r\n-\r\n-Bucket width\r\n-| size of windows\r\n-|\r\n-\r\n-Left limit\r\n-| Upper boundary: values greater than this value are not used in the bucketing. Default value is 10.0 ppm\r\n-|\r\n-\r\n-Right limit\r\n-| Lower boundary: values lower than this value are not used in the bucketing. Default value is 0.5 ppm\r\n-|\r\n-\r\n-Exclusion zone(s)\r\n-| Spectral regions to exclude, water, solvents, ... resonance\r\n-| If YES: parameters **Lower exclusion zone** and **Upper exclusion zone** are visible,\r\n-| If NO: no zone to exclude\r\n-| Default value is NO\r\n-|\r\n-\r\n-Left exclusion zone\r\n-| Upper boundary of exclusion zone\r\n-|\r\n-\r\n-Right exclusion zone\r\n-| Lower boundary of exclusion zone\r\n-\r\n-| *Notes:*\r\n-| - these parameters can be used several times using the "Add new exclusion zones" button\r\n-|\r\n-\r\n-Spectra representation:\r\n-| Graphical chart of bucketed and integrated raw files\r\n-| If "Overlay": the n (sample number) spectra are overlaid on the same figure\r\n-| If "One_per_individual": pdf file includes n pages (1 per sample)\r\n-|\r\n-\r\n-\r\n-------------\r\n-Output files\r\n-------------\r\n-\r\n-\r\n-bucketedData.tsv\r\n-| tabular output\r\n-| Data matrix with p rows (buckets) and n columns (samples) containing the intensities\r\n-|\r\n-\r\n-sampleMetadata.tsv\r\n-| tabular output\r\n-| file with n rows (samples) and 2 columns containing sample identifier (rownames) and sample order: the rownames of sampleMetadata must be identical to the colnames of the bucketedData. Can add columns with numeric and/or character sample metadata. This file is optional in the normalization step and mandatory in the statistical analysis step of the workflow.\r\n-|\r\n-\r\n-variableMetadata.tsv\r\n-| tabular output\r\n-| file with p rows (buckets) and 2 columns containing variable identifier (rownames) and bucket order: the rownames of variableMetadata must be identical to the rownames of the bucketedData. Can add columns with numeric and/or character variable metadata. This file is mandatory in the statistical analysis step of the workflow.\r\n-|\r\n-\r\n-spectra.pdf\r\n-| pdf output\r\n-| Graphical chart of bucketed and integrated data\r\n-|\r\n-\r\n-\r\n----------------------------------------------------\r\n-\r\n----------------\r\n-Working example\r\n----------------\r\n-\r\n-\r\n-.. class:: warningmark\r\n-\r\n-Under construction\r\n-\r\n-.. image:: ./static/images/Mth_Travaux.png\r\n-:width: 100\r\n-\r\n----------------------------------------------------\r\n-\r\n-Changelog/News\r\n---------------\r\n-\r\n-**Version 1.0.3 - 24/10/2016**\r\n-\r\n-- ENHANCEMENT: add possibility of bucketing processed files (upstream tools)\r\n-\r\n-**Version 1.0.2 - 12/08/2016**\r\n-\r\n-- ENHANCEMENT: x-axis customization: add chemical shift labels\r\n-\r\n-**Version 1.0.1 - 04/04/2016**\r\n-\r\n-- TEST: refactoring to pass planemo test using conda dependencies\r\n-\r\n-\r\n-**Version 2015-01-08 - 08/01/2015**\r\n-\r\n-    </help>\r\n-    <citations>\r\n-        <citation type="doi">10.1093/bioinformatics/btu813</citation>\r\n-    </citations>\r\n-</tool>\r\n'
b
diff -r 3cd762aac7a4 -r 966fcf7ae66e nmr_bucketing/README.rst
--- a/nmr_bucketing/README.rst Thu Apr 20 08:53:46 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,28 +0,0 @@
-
-Changelog/News
---------------
-
-**Version 1.0.3 - 24/10/2016**
-
-- ENHANCEMENT: add possibility of bucketing processed files (upstream tools)
-
-**Version 1.0.2 - 12/08/2016**
-
-- ENHANCEMENT: x-axis customization: add chemical shift labels 
-
-**Version 1.0.1 - 04/04/2016**
-
-- TEST: refactoring to pass planemo test using conda dependencies
-
-
-**Version 2015-01-08 - 08/01/2015**
-
-
-
-Test Status
------------
-
-Planemo test using conda: passed
-
-Planemo shed_test: passed
-
b
diff -r 3cd762aac7a4 -r 966fcf7ae66e nmr_bucketing/planemo_test.sh
--- a/nmr_bucketing/planemo_test.sh Thu Apr 20 08:53:46 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,12 +0,0 @@
-planemo conda_init
-planemo conda_install .
-planemo test --install_galaxy --conda_dependency_resolution --galaxy_branch "dev"
-
-#All 1 test(s) executed passed.
-#nmr_bucketing[0]: passed
-
-
-planemo shed_test -t testtoolshed --install_galaxy --galaxy_branch "dev"
-
-#All 1 test(s) executed passed.
-#testtoolshed.g2.bx.psu.edu/repos/marie-tremblay-metatoul/nmr_bucketing/NmrBucketing/1.0.1[0]: passed
b
diff -r 3cd762aac7a4 -r 966fcf7ae66e nmr_bucketing/repository_dependencies.xml
--- a/nmr_bucketing/repository_dependencies.xml Thu Apr 20 08:53:46 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,4 +0,0 @@
-<?xml version="1.0"?>
-<repositories>
-    <repository changeset_revision="7800ba9a4c1e" name="no_unzip_datatype" owner="lecorguille" toolshed="https://toolshed.g2.bx.psu.edu" />
-</repositories>
b
diff -r 3cd762aac7a4 -r 966fcf7ae66e nmr_bucketing/static/images/MTH - Architecture repertoire Bruker.png
b
Binary file nmr_bucketing/static/images/MTH - Architecture repertoire Bruker.png has changed
b
diff -r 3cd762aac7a4 -r 966fcf7ae66e nmr_bucketing/static/images/Mth_Travaux.png
b
Binary file nmr_bucketing/static/images/Mth_Travaux.png has changed
b
diff -r 3cd762aac7a4 -r 966fcf7ae66e nmr_bucketing/test-data/MTBLS1.zip
b
Binary file nmr_bucketing/test-data/MTBLS1.zip has changed
b
diff -r 3cd762aac7a4 -r 966fcf7ae66e nmr_bucketing/test-data/MTBLS1_bucketedData.tabular
--- a/nmr_bucketing/test-data/MTBLS1_bucketedData.tabular Thu Apr 20 08:53:46 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,595 +0,0 @@\n-Bucket\tADG10003u_007\tADG10003u_008\tADG10003u_009\tADG10003u_010\tADG10003u_015\tADG10003u_016\tADG10003u_017\tADG10003u_021\tADG10003u_022\tADG10003u_023\tADG10003u_051\tADG10003u_052\tADG10003u_053\tADG10003u_066\tADG10003u_067\tADG10003u_071\tADG10003u_072\tADG10003u_073\tADG10003u_087\tADG10003u_088\tADG10003u_089\tADG10003u_097\tADG10003u_098\r\n-B9.295\t1.79949423217956e-06\t1.36845276225836e-05\t2.01160697683997e-05\t7.25986492795804e-07\t2.42490464839257e-05\t3.11580892214512e-05\t8.19866824235026e-06\t3.09192259268499e-05\t2.64389193821353e-05\t1.45055826888266e-05\t3.45040700032625e-06\t1.60970199365859e-05\t1.05993065753594e-05\t2.90248760646802e-05\t1.06130409475137e-05\t5.2278556041205e-06\t2.44519080406605e-05\t3.7420635381202e-05\t1.57230624459948e-05\t2.75224138622866e-06\t2.08828714579133e-05\t5.49917968773367e-05\t8.22464110337308e-06\r\n-B9.286\t0.000183987136571742\t4.73741598311689e-05\t6.48220850387143e-05\t4.08486623139604e-05\t0.000124595459054319\t3.41874426311483e-05\t0.000122371178407348\t3.49547713922308e-05\t0.00015628757744243\t2.37737814473545e-05\t5.13987818577577e-05\t0.000134108924379129\t9.59219627606648e-05\t8.44451844992086e-05\t0.00022720535031565\t9.86157895513715e-05\t1.06199525078497e-05\t3.70983827911379e-05\t3.16119098225048e-05\t5.1709215131723e-06\t2.21703993321988e-05\t1.19479684646357e-05\t8.95607890845055e-06\r\n-B9.276\t6.1185692617288e-05\t0.00020732837726723\t0.00012538786536446\t2.84181782334477e-05\t2.53083682825459e-05\t2.76930477756038e-05\t9.7914592965261e-05\t1.44908072132008e-05\t7.76504143484867e-05\t2.21918164602678e-05\t0.000443221195814841\t0.00034996670727668\t0.000412632862820386\t0.000146364982064243\t0.000101892447453022\t0.00020898968160112\t0.00018589786110267\t0.000307514987819811\t0.000357112398084273\t0.000316352014982079\t0.00021198645013364\t0.000691068949900525\t0.000221146831632783\r\n-B9.266\t4.50617404358542e-05\t7.7187909059995e-06\t1.52411037411529e-05\t1.10253427920853e-05\t4.1745051441984e-05\t3.63488304424524e-05\t3.3290398209022e-05\t1.13169550474572e-05\t9.45184418976979e-06\t7.6012521812347e-06\t6.92482995870393e-06\t3.8268420757911e-05\t2.37195119946984e-06\t2.86004474506151e-05\t3.22860579421692e-06\t2.96039906990133e-06\t2.52808779783966e-05\t0.000142090898957934\t1.10312630129144e-05\t3.60677293639806e-06\t2.97265975382987e-05\t6.66305467846902e-06\t1.14495101906091e-05\r\n-B9.255\t1.15660880406503e-05\t2.14664012391468e-05\t4.60009639329725e-06\t1.25395676678615e-05\t4.17248489153109e-05\t1.46532714803481e-05\t1.00057270405122e-05\t2.75328532847705e-05\t2.74077840472564e-05\t2.41894891121703e-06\t8.0400281246103e-06\t1.59037103857697e-05\t1.00611731499731e-06\t6.71681516896861e-06\t1.36105357122668e-05\t7.11442411954162e-06\t2.21537557041547e-05\t2.87845824558775e-05\t4.03717597605331e-05\t1.42618582461408e-05\t1.84330229833385e-05\t6.39363012853215e-05\t2.18920831381193e-05\r\n-B9.246\t2.03293920474837e-07\t2.02423815996018e-05\t4.96598896737477e-06\t1.35705313106542e-05\t3.41075710581766e-05\t6.53017072634504e-05\t4.43984949390479e-06\t1.63183767828055e-05\t2.72484433555238e-06\t8.78724169594538e-06\t8.95623692386308e-07\t2.45735590368271e-05\t5.26105502709834e-06\t2.37539064007069e-05\t2.19035721346259e-05\t1.50517785846819e-05\t2.16082826646081e-05\t2.53649297518041e-05\t1.32773972605395e-05\t1.00977058894297e-05\t1.55783781762885e-05\t3.76630403674761e-05\t2.14582962168246e-05\r\n-B9.236\t3.37742336734625e-05\t1.09466424044581e-05\t1.26844396116922e-05\t1.41040509503652e-05\t8.32806751647478e-06\t6.89331798338183e-05\t1.31306116922384e-05\t2.44043814312157e-05\t2.60353424850613e-06\t1.5498729364209e-05\t1.12441000124573e-05\t1.90904945628191e-05\t4.77289113406423e-06\t2.6783614160707e-05\t1.81281101162131e-05\t2.27290178082349e-05\t2.2060579242685e-05\t2.02102446881195e-05\t2.82836945109232e-05\t2.6769889759727e-05\t3.20529608453921e-05\t1.46895321061598e-05\t2.72459848898296e-05\r\n-B9.226\t1.02347475703096e-05\t1.61525191983677e-05\t6.32740402153627e-06\t2.17291460045977e-06\t3.58860102752402e-05\t5.32064617047859e-05\t3.88074184844747e-06\t1.41925328605111e-05\t3.61825110992116e-05\t1.56626397248238e-05\t1.488989398'..b'2263392642444\t0.00538943800528357\t0.00514775819006039\t0.00559553789396426\t0.0173520429506117\t0.028324033261543\r\n-B0.876\t0.00215863677466562\t0.00369895246404019\t0.00360045348807487\t0.00134769212206423\t0.00218354336599731\t0.00245532683379321\t0.00345022433982449\t0.000717888096909645\t0.00170401747506495\t0.000356847987108017\t0.0041628951177036\t0.005088145578844\t0.00284987245949532\t0.00268286392210182\t0.00197915272339639\t0.0164744229799929\t0.00871859567919084\t0.0291624658349522\t0.00450433606743076\t0.00467317787458834\t0.00464469278467577\t0.0176322957897126\t0.0298903125539951\r\n-B0.866\t0.00150013418482023\t0.00258508360037412\t0.00238111738536749\t0.000983712268869988\t0.00157378746779101\t0.00184741600638927\t0.00259613706860757\t0.000530590445564721\t0.00114218607490948\t0.000297719443003154\t0.00236377135640083\t0.00299039447289031\t0.00169838032153178\t0.00202478720109677\t0.00155237208983581\t0.00506508824735588\t0.00335278099612616\t0.00916049409218431\t0.00304824370929634\t0.0028945285734165\t0.0028543532645478\t0.00397438831823791\t0.00746021084696681\r\n-B0.857\t0.000986962374512856\t0.00174301185204418\t0.00155459274530862\t0.00059744100374567\t0.000946611593982685\t0.00119641009019251\t0.00173321235334005\t0.000356899004924163\t0.000758730491964375\t0.000160811437925477\t0.00152510957100737\t0.00196835887814581\t0.00101457930295155\t0.00150335976451684\t0.00101420955937978\t0.0033735623219071\t0.00210956426055451\t0.00493276854725743\t0.00178283936255044\t0.00165275426730159\t0.00170372495712446\t0.00248870525573775\t0.0039846322834038\r\n-B0.846\t0.000839825601114667\t0.0012769784113784\t0.00110091918664795\t0.000413961172391942\t0.000708888771217311\t0.000778154520699405\t0.00111234240481985\t0.000244663266226838\t0.000484525523691875\t7.68758960306947e-05\t0.000909219126236251\t0.00113056799032888\t0.000631562997579227\t0.00107030332221529\t0.000634580995745331\t0.00106135884542878\t0.000970558123349218\t0.00157698752726719\t0.00109118524592164\t0.0010809000005087\t0.00117405624971632\t0.00104182637112804\t0.00136932315987551\r\n-B0.836\t0.000540291147081289\t0.00110805916107828\t0.000991944918364915\t0.000259305489167024\t0.000414200683547401\t0.000446851710747917\t0.000739324952553648\t0.00014512091218808\t0.000240131270356258\t1.53279187890163e-05\t0.000995779500719967\t0.00117589795062701\t0.000663607401633198\t0.00072607607121414\t0.000348533637762843\t0.000814771690737036\t0.000852228105038011\t0.00106417265964175\t0.00106436355116083\t0.00088998568772594\t0.00115577335390134\t0.000793475313473202\t0.000969704476916626\r\n-B0.826\t0.000439210376659004\t0.000622025753244184\t0.0005877341421479\t0.000201776175879904\t0.000325527630159852\t0.000344597178120722\t0.000468730496980652\t0.000169188243600758\t0.000244354283493434\t1.80591932027473e-05\t0.000645393534597378\t0.00076364124043746\t0.000411619698520102\t0.000416731585656504\t0.000256480294202034\t0.000524752271786902\t0.000676304092825243\t0.000814916554483356\t0.000597779964300897\t0.000807012376046873\t0.000712066733726576\t0.000508127245813254\t0.000691958647587166\r\n-B0.816\t0.000394076959769821\t0.000626251816952311\t0.000644546372165628\t0.000163741793970591\t0.000294493619073591\t0.000396363737760121\t0.000520046367222883\t0.00012853568638618\t0.000243131055493038\t1.18743008584546e-05\t0.000604929046893319\t0.000717510278393041\t0.000373029125568352\t0.000391937364448496\t0.000234261393789731\t0.000523235700797077\t0.000619868853421147\t0.000730622691788109\t0.000640770168804395\t0.000676985988978989\t0.000745527871203007\t0.00061791716531139\t0.000781012740687151\r\n-B0.806\t0.000336785447055572\t0.000470318285990568\t0.000447571911175899\t0.00015477142985862\t0.000254766661248894\t0.000300355488014835\t0.000386815449880438\t0.000128859420585409\t0.000182934749398549\t1.11417886043334e-05\t0.0003939533156056\t0.000417332638774188\t0.000210616293653824\t0.000296880999894829\t0.000120837576055159\t0.00033047173709954\t0.000388172417071423\t0.000450376987152908\t0.000452051328977898\t0.000485123182275246\t0.00047918667429437\t0.000397128925502763\t0.000516124725384787\r\n-B0.8\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\r\n'
b
diff -r 3cd762aac7a4 -r 966fcf7ae66e nmr_bucketing/test-data/MTBLS1_sampleMetadata.tabular
--- a/nmr_bucketing/test-data/MTBLS1_sampleMetadata.tabular Thu Apr 20 08:53:46 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,24 +0,0 @@
-Sample SampleOrder
-ADG10003u_007 1
-ADG10003u_008 2
-ADG10003u_009 3
-ADG10003u_010 4
-ADG10003u_015 5
-ADG10003u_016 6
-ADG10003u_017 7
-ADG10003u_021 8
-ADG10003u_022 9
-ADG10003u_023 10
-ADG10003u_051 11
-ADG10003u_052 12
-ADG10003u_053 13
-ADG10003u_066 14
-ADG10003u_067 15
-ADG10003u_071 16
-ADG10003u_072 17
-ADG10003u_073 18
-ADG10003u_087 19
-ADG10003u_088 20
-ADG10003u_089 21
-ADG10003u_097 22
-ADG10003u_098 23
b
diff -r 3cd762aac7a4 -r 966fcf7ae66e nmr_bucketing/test-data/MTBLS1_variableMetadata.tabular
--- a/nmr_bucketing/test-data/MTBLS1_variableMetadata.tabular Thu Apr 20 08:53:46 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,595 +0,0 @@
-Bucket VariableOrder
-B9.295 1
-B9.286 2
-B9.276 3
-B9.266 4
-B9.255 5
-B9.246 6
-B9.236 7
-B9.226 8
-B9.215 9
-B9.206 10
-B9.196 11
-B9.186 12
-B9.175 13
-B9.165 14
-B9.156 15
-B9.146 16
-B9.135 17
-B9.126 18
-B9.116 19
-B9.106 20
-B9.095 21
-B9.085 22
-B9.076 23
-B9.066 24
-B9.055 25
-B9.046 26
-B9.036 27
-B9.026 28
-B9.015 29
-B9.005 30
-B8.996 31
-B8.986 32
-B8.975 33
-B8.966 34
-B8.956 35
-B8.946 36
-B8.935 37
-B8.925 38
-B8.916 39
-B8.905 40
-B8.895 41
-B8.886 42
-B8.876 43
-B8.865 44
-B8.855 45
-B8.845 46
-B8.836 47
-B8.825 48
-B8.815 49
-B8.806 50
-B8.796 51
-B8.785 52
-B8.775 53
-B8.765 54
-B8.756 55
-B8.745 56
-B8.735 57
-B8.726 58
-B8.716 59
-B8.705 60
-B8.695 61
-B8.685 62
-B8.676 63
-B8.665 64
-B8.655 65
-B8.646 66
-B8.636 67
-B8.625 68
-B8.615 69
-B8.605 70
-B8.596 71
-B8.585 72
-B8.575 73
-B8.565 74
-B8.556 75
-B8.545 76
-B8.535 77
-B8.525 78
-B8.516 79
-B8.505 80
-B8.495 81
-B8.485 82
-B8.476 83
-B8.465 84
-B8.455 85
-B8.445 86
-B8.436 87
-B8.425 88
-B8.415 89
-B8.405 90
-B8.396 91
-B8.385 92
-B8.375 93
-B8.365 94
-B8.356 95
-B8.345 96
-B8.335 97
-B8.325 98
-B8.316 99
-B8.305 100
-B8.295 101
-B8.285 102
-B8.276 103
-B8.265 104
-B8.255 105
-B8.245 106
-B8.236 107
-B8.225 108
-B8.215 109
-B8.205 110
-B8.196 111
-B8.185 112
-B8.175 113
-B8.165 114
-B8.156 115
-B8.145 116
-B8.135 117
-B8.125 118
-B8.116 119
-B8.105 120
-B8.096 121
-B8.086 122
-B8.076 123
-B8.065 124
-B8.056 125
-B8.046 126
-B8.036 127
-B8.025 128
-B8.016 129
-B8.006 130
-B7.996 131
-B7.985 132
-B7.976 133
-B7.966 134
-B7.956 135
-B7.945 136
-B7.936 137
-B7.926 138
-B7.916 139
-B7.905 140
-B7.896 141
-B7.886 142
-B7.876 143
-B7.865 144
-B7.856 145
-B7.846 146
-B7.836 147
-B7.825 148
-B7.816 149
-B7.806 150
-B7.796 151
-B7.785 152
-B7.776 153
-B7.766 154
-B7.756 155
-B7.745 156
-B7.736 157
-B7.726 158
-B7.716 159
-B7.705 160
-B7.696 161
-B7.686 162
-B7.676 163
-B7.665 164
-B7.656 165
-B7.646 166
-B7.636 167
-B7.625 168
-B7.616 169
-B7.606 170
-B7.596 171
-B7.585 172
-B7.575 173
-B7.566 174
-B7.556 175
-B7.545 176
-B7.535 177
-B7.526 178
-B7.516 179
-B7.505 180
-B7.495 181
-B7.486 182
-B7.476 183
-B7.465 184
-B7.455 185
-B7.446 186
-B7.436 187
-B7.425 188
-B7.415 189
-B7.406 190
-B7.396 191
-B7.385 192
-B7.375 193
-B7.366 194
-B7.356 195
-B7.345 196
-B7.335 197
-B7.326 198
-B7.316 199
-B7.305 200
-B7.295 201
-B7.286 202
-B7.275 203
-B7.265 204
-B7.255 205
-B7.246 206
-B7.235 207
-B7.225 208
-B7.216 209
-B7.206 210
-B7.195 211
-B7.185 212
-B7.175 213
-B7.166 214
-B7.155 215
-B7.145 216
-B7.136 217
-B7.126 218
-B7.115 219
-B7.105 220
-B7.096 221
-B7.086 222
-B7.075 223
-B7.065 224
-B7.056 225
-B7.046 226
-B7.035 227
-B7.025 228
-B7.016 229
-B7.006 230
-B6.995 231
-B6.985 232
-B6.976 233
-B6.966 234
-B6.955 235
-B6.945 236
-B6.935 237
-B6.926 238
-B6.915 239
-B6.905 240
-B6.895 241
-B6.886 242
-B6.875 243
-B6.865 244
-B6.855 245
-B6.846 246
-B6.835 247
-B6.825 248
-B6.815 249
-B6.806 250
-B6.795 251
-B6.785 252
-B6.775 253
-B6.766 254
-B6.755 255
-B6.745 256
-B6.735 257
-B6.726 258
-B6.715 259
-B6.705 260
-B6.695 261
-B6.686 262
-B6.675 263
-B6.665 264
-B6.655 265
-B6.646 266
-B6.635 267
-B6.625 268
-B6.615 269
-B6.606 270
-B6.595 271
-B6.585 272
-B6.575 273
-B6.566 274
-B6.555 275
-B6.545 276
-B6.535 277
-B6.526 278
-B6.515 279
-B6.505 280
-B6.495 281
-B6.486 282
-B6.475 283
-B6.466 284
-B6.456 285
-B6.446 286
-B6.435 287
-B6.426 288
-B6.416 289
-B6.406 290
-B6.395 291
-B6.386 292
-B6.376 293
-B6.366 294
-B6.355 295
-B6.346 296
-B6.336 297
-B6.326 298
-B6.315 299
-B6.306 300
-B6.296 301
-B6.286 302
-B6.275 303
-B6.266 304
-B6.256 305
-B6.246 306
-B6.235 307
-B6.226 308
-B6.216 309
-B6.206 310
-B6.195 311
-B6.186 312
-B6.176 313
-B6.166 314
-B6.155 315
-B6.146 316
-B6.136 317
-B6.126 318
-B6.115 319
-B6.106 320
-B6.096 321
-B6.086 322
-B6.075 323
-B6.066 324
-B6.056 325
-B6.046 326
-B6.035 327
-B6.026 328
-B6.016 329
-B6.006 330
-B4.236 331
-B4.226 332
-B4.216 333
-B4.205 334
-B4.196 335
-B4.186 336
-B4.176 337
-B4.165 338
-B4.155 339
-B4.146 340
-B4.136 341
-B4.125 342
-B4.115 343
-B4.106 344
-B4.096 345
-B4.085 346
-B4.075 347
-B4.066 348
-B4.056 349
-B4.045 350
-B4.035 351
-B4.026 352
-B4.015 353
-B4.005 354
-B3.995 355
-B3.186 356
-B3.175 357
-B3.166 358
-B3.156 359
-B3.146 360
-B3.135 361
-B3.126 362
-B3.116 363
-B3.106 364
-B3.095 365
-B3.086 366
-B3.076 367
-B3.066 368
-B3.055 369
-B3.046 370
-B3.036 371
-B3.026 372
-B3.015 373
-B3.006 374
-B2.996 375
-B2.986 376
-B2.975 377
-B2.966 378
-B2.956 379
-B2.946 380
-B2.935 381
-B2.926 382
-B2.916 383
-B2.906 384
-B2.895 385
-B2.886 386
-B2.876 387
-B2.866 388
-B2.855 389
-B2.846 390
-B2.836 391
-B2.826 392
-B2.815 393
-B2.806 394
-B2.796 395
-B2.786 396
-B2.775 397
-B2.766 398
-B2.756 399
-B2.746 400
-B2.735 401
-B2.726 402
-B2.716 403
-B2.706 404
-B2.695 405
-B2.686 406
-B2.676 407
-B2.666 408
-B2.655 409
-B2.646 410
-B2.636 411
-B2.626 412
-B2.615 413
-B2.606 414
-B2.596 415
-B2.586 416
-B2.575 417
-B2.566 418
-B2.556 419
-B2.546 420
-B2.535 421
-B2.526 422
-B2.516 423
-B2.506 424
-B2.495 425
-B2.486 426
-B2.476 427
-B2.466 428
-B2.455 429
-B2.446 430
-B2.436 431
-B2.426 432
-B2.415 433
-B2.406 434
-B2.396 435
-B2.385 436
-B2.375 437
-B2.365 438
-B2.356 439
-B2.345 440
-B2.335 441
-B2.325 442
-B2.316 443
-B2.305 444
-B2.295 445
-B2.285 446
-B2.276 447
-B2.265 448
-B2.255 449
-B2.245 450
-B2.236 451
-B2.225 452
-B2.215 453
-B2.205 454
-B2.196 455
-B2.185 456
-B2.175 457
-B2.165 458
-B2.156 459
-B2.145 460
-B2.135 461
-B2.126 462
-B2.116 463
-B2.105 464
-B2.095 465
-B2.086 466
-B2.076 467
-B2.065 468
-B2.055 469
-B2.045 470
-B2.036 471
-B2.025 472
-B2.015 473
-B2.005 474
-B1.994 475
-B1.985 476
-B1.974 477
-B1.964 478
-B1.954 479
-B1.945 480
-B1.934 481
-B1.924 482
-B1.914 483
-B1.905 484
-B1.894 485
-B1.884 486
-B1.874 487
-B1.865 488
-B1.854 489
-B1.844 490
-B1.834 491
-B1.825 492
-B1.814 493
-B1.804 494
-B1.794 495
-B1.785 496
-B1.774 497
-B1.764 498
-B1.754 499
-B1.743 500
-B1.734 501
-B1.723 502
-B1.713 503
-B1.703 504
-B1.694 505
-B1.683 506
-B1.673 507
-B1.663 508
-B1.654 509
-B1.643 510
-B1.633 511
-B1.623 512
-B1.612 513
-B1.603 514
-B1.592 515
-B1.582 516
-B1.572 517
-B1.563 518
-B1.552 519
-B1.542 520
-B1.532 521
-B1.523 522
-B1.512 523
-B1.502 524
-B1.491 525
-B1.482 526
-B1.472 527
-B1.461 528
-B1.451 529
-B1.442 530
-B1.432 531
-B1.421 532
-B1.411 533
-B1.401 534
-B1.392 535
-B1.381 536
-B1.371 537
-B1.36 538
-B1.351 539
-B1.341 540
-B1.33 541
-B1.32 542
-B1.31 543
-B1.301 544
-B1.29 545
-B1.28 546
-B1.27 547
-B1.261 548
-B1.25 549
-B1.239 550
-B1.229 551
-B1.22 552
-B1.21 553
-B1.199 554
-B1.189 555
-B1.18 556
-B1.17 557
-B1.159 558
-B1.149 559
-B1.139 560
-B1.129 561
-B1.119 562
-B1.108 563
-B1.098 564
-B1.089 565
-B1.079 566
-B1.068 567
-B1.058 568
-B1.048 569
-B1.039 570
-B1.028 571
-B1.018 572
-B1.008 573
-B0.998 574
-B0.988 575
-B0.977 576
-B0.967 577
-B0.958 578
-B0.948 579
-B0.937 580
-B0.926 581
-B0.916 582
-B0.907 583
-B0.897 584
-B0.886 585
-B0.876 586
-B0.866 587
-B0.857 588
-B0.846 589
-B0.836 590
-B0.826 591
-B0.816 592
-B0.806 593
-B0.8 594
b
diff -r 3cd762aac7a4 -r 966fcf7ae66e planemo_test.sh
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/planemo_test.sh Thu Oct 26 06:01:14 2017 -0400
[
@@ -0,0 +1,12 @@
+planemo conda_init
+planemo conda_install .
+planemo test --install_galaxy --conda_dependency_resolution
+
+#All 1 test(s) executed passed.
+#NmrNormalization[0]: passed
+
+planemo shed_test --install_galaxy -t testtoolshed
+
+#All 1 test(s) executed passed.
+#testtoolshed.g2.bx.psu.edu/repos/marie-tremblay-metatoul/nmr_normalization/NmrNormalization/1.0.1[0]: passed
+
b
diff -r 3cd762aac7a4 -r 966fcf7ae66e test-data/MTBLS1_bucketedData.tabular
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/MTBLS1_bucketedData.tabular Thu Oct 26 06:01:14 2017 -0400
b
b'@@ -0,0 +1,595 @@\n+Bucket\tADG10003u_007\tADG10003u_008\tADG10003u_009\tADG10003u_010\tADG10003u_015\tADG10003u_016\tADG10003u_017\tADG10003u_021\tADG10003u_022\tADG10003u_023\tADG10003u_051\tADG10003u_052\tADG10003u_053\tADG10003u_066\tADG10003u_067\tADG10003u_071\tADG10003u_072\tADG10003u_073\tADG10003u_087\tADG10003u_088\tADG10003u_089\tADG10003u_097\tADG10003u_098\n+B9.295\t1.79949423217956e-06\t1.36845276225836e-05\t2.01160697683997e-05\t7.25986492795804e-07\t2.42490464839257e-05\t3.11580892214512e-05\t8.19866824235026e-06\t3.09192259268499e-05\t2.64389193821353e-05\t1.45055826888266e-05\t3.45040700032625e-06\t1.60970199365859e-05\t1.05993065753594e-05\t2.90248760646802e-05\t1.06130409475137e-05\t5.2278556041205e-06\t2.44519080406605e-05\t3.7420635381202e-05\t1.57230624459948e-05\t2.75224138622866e-06\t2.08828714579133e-05\t5.49917968773367e-05\t8.22464110337308e-06\n+B9.286\t0.000183987136571742\t4.73741598311689e-05\t6.48220850387143e-05\t4.08486623139604e-05\t0.000124595459054319\t3.41874426311483e-05\t0.000122371178407348\t3.49547713922308e-05\t0.00015628757744243\t2.37737814473545e-05\t5.13987818577577e-05\t0.000134108924379129\t9.59219627606648e-05\t8.44451844992086e-05\t0.00022720535031565\t9.86157895513715e-05\t1.06199525078497e-05\t3.70983827911379e-05\t3.16119098225048e-05\t5.1709215131723e-06\t2.21703993321988e-05\t1.19479684646357e-05\t8.95607890845055e-06\n+B9.276\t6.1185692617288e-05\t0.00020732837726723\t0.00012538786536446\t2.84181782334477e-05\t2.53083682825459e-05\t2.76930477756038e-05\t9.7914592965261e-05\t1.44908072132008e-05\t7.76504143484867e-05\t2.21918164602678e-05\t0.000443221195814841\t0.00034996670727668\t0.000412632862820386\t0.000146364982064243\t0.000101892447453022\t0.00020898968160112\t0.00018589786110267\t0.000307514987819811\t0.000357112398084273\t0.000316352014982079\t0.00021198645013364\t0.000691068949900525\t0.000221146831632783\n+B9.266\t4.50617404358542e-05\t7.7187909059995e-06\t1.52411037411529e-05\t1.10253427920853e-05\t4.1745051441984e-05\t3.63488304424524e-05\t3.3290398209022e-05\t1.13169550474572e-05\t9.45184418976979e-06\t7.6012521812347e-06\t6.92482995870393e-06\t3.8268420757911e-05\t2.37195119946984e-06\t2.86004474506151e-05\t3.22860579421692e-06\t2.96039906990133e-06\t2.52808779783966e-05\t0.000142090898957934\t1.10312630129144e-05\t3.60677293639806e-06\t2.97265975382987e-05\t6.66305467846902e-06\t1.14495101906091e-05\n+B9.255\t1.15660880406503e-05\t2.14664012391468e-05\t4.60009639329725e-06\t1.25395676678615e-05\t4.17248489153109e-05\t1.46532714803481e-05\t1.00057270405122e-05\t2.75328532847705e-05\t2.74077840472564e-05\t2.41894891121703e-06\t8.0400281246103e-06\t1.59037103857697e-05\t1.00611731499731e-06\t6.71681516896861e-06\t1.36105357122668e-05\t7.11442411954162e-06\t2.21537557041547e-05\t2.87845824558775e-05\t4.03717597605331e-05\t1.42618582461408e-05\t1.84330229833385e-05\t6.39363012853215e-05\t2.18920831381193e-05\n+B9.246\t2.03293920474837e-07\t2.02423815996018e-05\t4.96598896737477e-06\t1.35705313106542e-05\t3.41075710581766e-05\t6.53017072634504e-05\t4.43984949390479e-06\t1.63183767828055e-05\t2.72484433555238e-06\t8.78724169594538e-06\t8.95623692386308e-07\t2.45735590368271e-05\t5.26105502709834e-06\t2.37539064007069e-05\t2.19035721346259e-05\t1.50517785846819e-05\t2.16082826646081e-05\t2.53649297518041e-05\t1.32773972605395e-05\t1.00977058894297e-05\t1.55783781762885e-05\t3.76630403674761e-05\t2.14582962168246e-05\n+B9.236\t3.37742336734625e-05\t1.09466424044581e-05\t1.26844396116922e-05\t1.41040509503652e-05\t8.32806751647478e-06\t6.89331798338183e-05\t1.31306116922384e-05\t2.44043814312157e-05\t2.60353424850613e-06\t1.5498729364209e-05\t1.12441000124573e-05\t1.90904945628191e-05\t4.77289113406423e-06\t2.6783614160707e-05\t1.81281101162131e-05\t2.27290178082349e-05\t2.2060579242685e-05\t2.02102446881195e-05\t2.82836945109232e-05\t2.6769889759727e-05\t3.20529608453921e-05\t1.46895321061598e-05\t2.72459848898296e-05\n+B9.226\t1.02347475703096e-05\t1.61525191983677e-05\t6.32740402153627e-06\t2.17291460045977e-06\t3.58860102752402e-05\t5.32064617047859e-05\t3.88074184844747e-06\t1.41925328605111e-05\t3.61825110992116e-05\t1.56626397248238e-05\t1.48898939857621e-0'..b'7579\t0.0232263392642444\t0.00538943800528357\t0.00514775819006039\t0.00559553789396426\t0.0173520429506117\t0.028324033261543\n+B0.876\t0.00215863677466562\t0.00369895246404019\t0.00360045348807487\t0.00134769212206423\t0.00218354336599731\t0.00245532683379321\t0.00345022433982449\t0.000717888096909645\t0.00170401747506495\t0.000356847987108017\t0.0041628951177036\t0.005088145578844\t0.00284987245949532\t0.00268286392210182\t0.00197915272339639\t0.0164744229799929\t0.00871859567919084\t0.0291624658349522\t0.00450433606743076\t0.00467317787458834\t0.00464469278467577\t0.0176322957897126\t0.0298903125539951\n+B0.866\t0.00150013418482023\t0.00258508360037412\t0.00238111738536749\t0.000983712268869988\t0.00157378746779101\t0.00184741600638927\t0.00259613706860757\t0.000530590445564721\t0.00114218607490948\t0.000297719443003154\t0.00236377135640083\t0.00299039447289031\t0.00169838032153178\t0.00202478720109677\t0.00155237208983581\t0.00506508824735588\t0.00335278099612616\t0.00916049409218431\t0.00304824370929634\t0.0028945285734165\t0.0028543532645478\t0.00397438831823791\t0.00746021084696681\n+B0.857\t0.000986962374512856\t0.00174301185204418\t0.00155459274530862\t0.00059744100374567\t0.000946611593982685\t0.00119641009019251\t0.00173321235334005\t0.000356899004924163\t0.000758730491964375\t0.000160811437925477\t0.00152510957100737\t0.00196835887814581\t0.00101457930295155\t0.00150335976451684\t0.00101420955937978\t0.0033735623219071\t0.00210956426055451\t0.00493276854725743\t0.00178283936255044\t0.00165275426730159\t0.00170372495712446\t0.00248870525573775\t0.0039846322834038\n+B0.846\t0.000839825601114667\t0.0012769784113784\t0.00110091918664795\t0.000413961172391942\t0.000708888771217311\t0.000778154520699405\t0.00111234240481985\t0.000244663266226838\t0.000484525523691875\t7.68758960306947e-05\t0.000909219126236251\t0.00113056799032888\t0.000631562997579227\t0.00107030332221529\t0.000634580995745331\t0.00106135884542878\t0.000970558123349218\t0.00157698752726719\t0.00109118524592164\t0.0010809000005087\t0.00117405624971632\t0.00104182637112804\t0.00136932315987551\n+B0.836\t0.000540291147081289\t0.00110805916107828\t0.000991944918364915\t0.000259305489167024\t0.000414200683547401\t0.000446851710747917\t0.000739324952553648\t0.00014512091218808\t0.000240131270356258\t1.53279187890163e-05\t0.000995779500719967\t0.00117589795062701\t0.000663607401633198\t0.00072607607121414\t0.000348533637762843\t0.000814771690737036\t0.000852228105038011\t0.00106417265964175\t0.00106436355116083\t0.00088998568772594\t0.00115577335390134\t0.000793475313473202\t0.000969704476916626\n+B0.826\t0.000439210376659004\t0.000622025753244184\t0.0005877341421479\t0.000201776175879904\t0.000325527630159852\t0.000344597178120722\t0.000468730496980652\t0.000169188243600758\t0.000244354283493434\t1.80591932027473e-05\t0.000645393534597378\t0.00076364124043746\t0.000411619698520102\t0.000416731585656504\t0.000256480294202034\t0.000524752271786902\t0.000676304092825243\t0.000814916554483356\t0.000597779964300897\t0.000807012376046873\t0.000712066733726576\t0.000508127245813254\t0.000691958647587166\n+B0.816\t0.000394076959769821\t0.000626251816952311\t0.000644546372165628\t0.000163741793970591\t0.000294493619073591\t0.000396363737760121\t0.000520046367222883\t0.00012853568638618\t0.000243131055493038\t1.18743008584546e-05\t0.000604929046893319\t0.000717510278393041\t0.000373029125568352\t0.000391937364448496\t0.000234261393789731\t0.000523235700797077\t0.000619868853421147\t0.000730622691788109\t0.000640770168804395\t0.000676985988978989\t0.000745527871203007\t0.00061791716531139\t0.000781012740687151\n+B0.806\t0.000336785447055572\t0.000470318285990568\t0.000447571911175899\t0.00015477142985862\t0.000254766661248894\t0.000300355488014835\t0.000386815449880438\t0.000128859420585409\t0.000182934749398549\t1.11417886043334e-05\t0.0003939533156056\t0.000417332638774188\t0.000210616293653824\t0.000296880999894829\t0.000120837576055159\t0.00033047173709954\t0.000388172417071423\t0.000450376987152908\t0.000452051328977898\t0.000485123182275246\t0.00047918667429437\t0.000397128925502763\t0.000516124725384787\n+B0.8\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n'
b
diff -r 3cd762aac7a4 -r 966fcf7ae66e test-data/MTBLS1_bucketedData_normalized.tabular
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/MTBLS1_bucketedData_normalized.tabular Thu Oct 26 06:01:14 2017 -0400
b
b'@@ -0,0 +1,595 @@\n+Bucket\tADG10003u_007\tADG10003u_008\tADG10003u_009\tADG10003u_010\tADG10003u_015\tADG10003u_016\tADG10003u_017\tADG10003u_021\tADG10003u_022\tADG10003u_023\tADG10003u_051\tADG10003u_052\tADG10003u_053\tADG10003u_066\tADG10003u_067\tADG10003u_071\tADG10003u_072\tADG10003u_073\tADG10003u_087\tADG10003u_088\tADG10003u_089\tADG10003u_097\tADG10003u_098\n+B9.295\t1.28208230777605e-06\t6.03679847460637e-06\t1.10247640127855e-05\t8.94265805369699e-07\t2.14167917232182e-05\t2.52495960990511e-05\t4.76262934896432e-06\t7.44250073104011e-05\t2.45076064436471e-05\t7.07853640602565e-05\t1.85585745682456e-06\t8.00757207754199e-06\t5.97768909757741e-06\t1.7072118430662e-05\t1.09625352509915e-05\t2.00116485731369e-06\t9.13645217196289e-06\t1.15122771587968e-05\t5.99631364379717e-06\t1.10084198597185e-06\t8.31398031738169e-06\t2.07802091664521e-05\t2.63590723864643e-06\n+B9.286\t0.000131084972898912\t2.08986574978731e-05\t3.55262334340865e-05\t5.03171371161353e-05\t0.000110042883459108\t2.77044947127785e-05\t7.10857603360121e-05\t8.41388824725089e-05\t0.000144871066197137\t0.000116012973138695\t2.76456697929837e-05\t6.67133967925786e-05\t5.40970927612979e-05\t4.96697449269704e-05\t0.000234687369469982\t3.77490251014015e-05\t3.96814383544791e-06\t1.14131377108915e-05\t1.20558527848026e-05\t2.06826608172814e-06\t8.82657655810766e-06\t4.51487854385105e-06\t2.87032503035197e-06\n+B9.276\t4.35928565876175e-05\t9.146093063263e-05\t6.87197669139952e-05\t3.50053414178626e-05\t2.23523862153131e-05\t2.24416287570138e-05\t5.68788613423108e-05\t3.48805120583418e-05\t7.19781987884388e-05\t0.000108293188973956\t0.000238393720276448\t0.000174093319403096\t0.00023271248433532\t8.6090300690144e-05\t0.000105247831657074\t7.99989207872733e-05\t6.94607109600787e-05\t9.46054959837503e-05\t0.000136192166911309\t0.000126534533701012\t8.43969746935755e-05\t0.000261139990740902\t7.08751332706188e-05\n+B9.266\t3.21050543743229e-05\t3.40507078156242e-06\t8.35300205135251e-06\t1.35809510910754e-05\t3.68692877388251e-05\t2.94560196173053e-05\t1.93384855762315e-05\t2.72408004046139e-05\t8.76140489032508e-06\t3.70931257643979e-05\t3.7246322868252e-06\t1.90368862509883e-05\t1.33770890805428e-06\t1.68224741066507e-05\t3.33492587145347e-06\t1.13320776833264e-06\t9.44619667842539e-06\t4.37135765836851e-05\t4.20699931326061e-06\t1.44263766329546e-06\t1.18348833077977e-05\t2.5178240713781e-06\t3.66944240010732e-06\n+B9.255\t8.24046922847721e-06\t9.46969759057739e-06\t2.52111758191632e-06\t1.54461642065868e-05\t3.68514448390506e-05\t1.18745788221766e-05\t5.81235486694224e-06\t6.62737421642824e-05\t2.54056973817355e-05\t1.18041572680532e-05\t4.32445973669958e-06\t7.91140892637885e-06\t5.67419808266028e-07\t3.95075809405572e-06\t1.40587394572861e-05\t2.7233222579503e-06\t8.27774785852221e-06\t8.85543732105539e-06\t1.53966019474694e-05\t5.70446052947563e-06\t7.33863590465418e-06\t2.41601436847361e-05\t7.01617246120952e-06\n+B9.246\t1.44840441307517e-07\t8.92973303376659e-06\t2.7216477714453e-06\t1.67160990352341e-05\t3.01238543965865e-05\t5.29185766579494e-05\t2.57912100838876e-06\t3.92796156743214e-05\t2.5257996225459e-06\t4.28806009297429e-05\t4.81725752314645e-07\t1.22242841199376e-05\t2.96707629443903e-06\t1.39717910374546e-05\t2.26248709334081e-05\t5.76165308008723e-06\t8.07393193018543e-06\t7.80339773607554e-06\t5.06360886251959e-06\t4.03888214918222e-06\t6.2021322017625e-06\t1.42320473438326e-05\t6.87714851213995e-06\n+B9.236\t2.40630654308869e-05\t4.82900659721989e-06\t6.95180295969216e-06\t1.73732853259174e-05\t7.35536086235275e-06\t5.58614148722852e-05\t7.62760911488983e-06\t5.87432644892573e-05\t2.41335100738113e-06\t7.56317911559655e-05\t6.04782185157489e-06\t9.49669639535279e-06\t2.69176658804703e-06\t1.57538323999657e-05\t1.87250805085604e-05\t8.70041468690272e-06\t8.24293248614493e-06\t6.21758385250751e-06\t1.07865693388531e-05\t1.07074251389435e-05\t1.27610652643947e-05\t5.55085607411956e-06\t8.7320392333836e-06\n+B9.226\t7.2919315604333e-06\t7.1255293530802e-06\t3.46778157732234e-06\t2.67658316575083e-06\t3.1694574397041e-05\t4.31169465610414e-05\t2.2543338109107e-06\t3.41625422446099e-05\t3.35394472574981e-05\t7.64316524782069e-05\t8.0087713658'..b'37316629516\t0.00205900121174115\t0.00222772007237317\t0.00655696126430037\t0.0090775419089283\n+B0.876\t0.00153795992686315\t0.00163175750076373\t0.00197325573544149\t0.00166007906880872\t0.00192850855060131\t0.00198972441486426\t0.00200424498414009\t0.00172801308114746\t0.00157954222895385\t0.00174137194096089\t0.00223908076509186\t0.00253113263350169\t0.00160724207847848\t0.00157803156538568\t0.00204432750279849\t0.00630622549828998\t0.00325770211049173\t0.00897169131164893\t0.0017178213156727\t0.00186917849502687\t0.00184916544977564\t0.0066628627431882\t0.00957951723804306\n+B0.866\t0.00106879781177101\t0.00114038490519135\t0.00130498937231046\t0.00121173086979251\t0.00138997128966015\t0.0014970914184345\t0.00150810329572991\t0.00127717291123033\t0.00105875154747096\t0.00145283230690403\t0.00127139282339446\t0.00148759207457571\t0.000957835256427262\t0.00119095794989723\t0.00160349270691048\t0.00193885932729513\t0.00125276617118119\t0.00281818162162267\t0.00116251051005198\t0.00115775403972774\t0.00113638763271284\t0.00150183527819445\t0.00239091572826001\n+B0.857\t0.000703179246799224\t0.000768913007437415\t0.00085200629896102\t0.000735924243325799\t0.000836048681936822\t0.000969535433687392\t0.00100682791131435\t0.000859083960038255\t0.000703306667912533\t0.000784738981039103\t0.000820304958099411\t0.000979173514931066\t0.000572192114150215\t0.000884259966744718\t0.00104760813621454\t0.00129136205621995\t0.000788238404061898\t0.00151754234255332\t0.000679922504351758\t0.000661068937864078\t0.000678294447596055\t0.00094042782204835\t0.00127703093024458\n+B0.846\t0.000598348983593219\t0.000563326812479259\t0.000603367077648935\t0.000509914888079037\t0.000626091552843253\t0.000630593461963119\t0.000646162818971916\t0.000588923714345205\t0.000449131852740021\t0.000375144411963733\t0.000489038277268019\t0.000562408738187872\t0.000356182474600669\t0.000629540847405227\t0.000655478158415776\t0.00040627633647667\t0.000362648913096872\t0.000485152571700731\t0.000416145963962437\t0.000432338569266074\t0.000467420420190424\t0.000393683624404144\t0.000438853049488296\n+B0.836\t0.000384940228389589\t0.000488809700842862\t0.000543642906619575\t0.000319410945531124\t0.000365822622222678\t0.000362115440788554\t0.000429475936014247\t0.000349317443329355\t0.000222590136292813\t7.47982576806319e-05\t0.000535596180853289\t0.0005849584353237\t0.000374254551617207\t0.000427070098415394\t0.000360011075904364\t0.000311885522039264\t0.000318434917566949\t0.000327387562445399\t0.000405916958334785\t0.000355976629399232\t0.000460141553572065\t0.00029983713787655\t0.000310779645935444\n+B0.826\t0.000312923399940064\t0.000274400711658721\t0.000322112136915352\t0.0002485466826425\t0.000287506457621244\t0.000279251384851633\t0.000272286858753872\t0.0004072494019291\t0.000226504666326223\t8.81265229335221e-05\t0.00034713539697075\t0.000379878530204733\t0.000232141090239979\t0.000245117015082896\t0.000264926356195127\t0.00020086932092535\t0.000252700933911809\t0.000250705129427516\t0.000227975699278555\t0.000322788949834321\t0.000283491129119682\t0.000192010282455859\t0.000221765154867484\n+B0.816\t0.000280767278376387\t0.000276264999243242\t0.000353248508791008\t0.000201696159241044\t0.000260097175684691\t0.000321201477267197\t0.000302096391529068\t0.000309395501089554\t0.000225370792812284\t5.79450496583063e-05\t0.000325370914915426\t0.000356930369300896\t0.000210377171481443\t0.000230533322118424\t0.000241975773019886\t0.000200288794453642\t0.000231613914249728\t0.000224772531002939\t0.000244370899049553\t0.000270780973032295\t0.000296812823836662\t0.000233497515481325\t0.000250306014667077\n+B0.806\t0.000239948900899456\t0.000207476413490648\t0.00024529516731032\t0.000190646518556741\t0.000225010271047323\t0.00024339922466384\t0.0002247021784242\t0.000310174754755259\t0.00016957171275904\t5.43704847684375e-05\t0.000211894190551516\t0.000207604960325587\t0.000118781234734116\t0.000174622195757986\t0.000124816835598791\t0.000126500897633393\t0.000145040571768504\t0.0001385562978616\t0.000172399083254758\t0.000194039654402791\t0.000190775899112539\t0.000150066420931897\t0.000165412311927898\n+B0.8\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n'