Repository 'batchcorrection'
hg clone https://toolshed.g2.bx.psu.edu/repos/melpetera/batchcorrection

Changeset 2:016780b192a6 (2017-03-02)
Previous changeset 1:f64656ae9ea4 (2016-10-09) Next changeset 3:73892ef177e3 (2017-05-02)
Commit message:
Uploaded
added:
batchcorrection/Normalisation_QCpool.r
batchcorrection/README.txt
batchcorrection/RcheckLibrary.R
batchcorrection/batch_correction.xml
batchcorrection/batch_correction_all_loess_script.R
batchcorrection/batch_correction_all_loess_wrapper.R
batchcorrection/batch_correction_wrapper.R
batchcorrection/determine_bc.xml
batchcorrection/example/input/dataMatrix.tsv
batchcorrection/example/input/sampleMetadata.tsv
batchcorrection/example/input/variableMetadata.tsv
batchcorrection/miniTools.R
batchcorrection/static/images/Vdk_pdf1.png
batchcorrection/static/images/Vdk_pdf2.png
batchcorrection/static/images/batch_correction.png
batchcorrection/static/images/determine_batch_correction.png
batchcorrection/static/images/pdf_plotsituation.png
batchcorrection/tests/.batchCorrection_tests.R
batchcorrection/tests/input/dataMatrix.tsv
batchcorrection/tests/input/sampleMetadata.tsv
batchcorrection/tests/input/variableMetadata.tsv
batchcorrection/tests/mrey/dataMatrix.tsv
batchcorrection/tests/mrey/sampleMetadata.tsv
batchcorrection/tests/mrey/variableMetadata.tsv
batchcorrection/tests/output/dataMatrix.tsv
batchcorrection/tests/output/graph_output.pdf
batchcorrection/tests/output/rdata_output.rdata
batchcorrection/tests/output/variableMetadata.tsv
batchcorrection/tests/output/variable_for_simca.tsv
removed:
Normalisation_QCpool.r
README.md
batch_correction.xml
batch_correction_all_loess_script.R
batch_correction_all_loess_wrapper.R
batch_correction_wrapper.R
build.xml
determine_bc.xml
easyrlibrary-lib/RcheckLibrary.R
easyrlibrary-lib/miniTools.R
runit/batchcorrection_runtests.R
runit/batchcorrection_tests.R
runit/example1/dataMatrix.tsv
runit/example1/sampleMetadata.tsv
runit/example1/variableMetadata.tsv
runit/input/dataMatrix.tsv
runit/input/sampleMetadata.tsv
runit/input/variableMetadata.tsv
runit/output/dataMatrix.tsv
runit/output/graph_output.pdf
runit/output/out_graph.pdf
runit/output/preNormSummary.txt
runit/output/rdata_output.rdata
runit/output/variableMetadata.tsv
runit/output/variable_for_simca.tsv
runit/sacurine/dataMatrix.tsv
runit/sacurine/sampleMetadata.tsv
runit/sacurine/variableMetadata.tsv
runit/sacurineNegFull/dataMatrix.tsv
runit/sacurineNegFull/sampleMetadata.tsv
runit/sacurineNegFull/variableMetadata.tsv
static/images/Vdk_pdf1.png
static/images/Vdk_pdf2.png
static/images/batch_correction.png
static/images/determine_batch_correction.png
static/images/pdf_plotsituation.png
test-data/input-batchcorrection-dataMatrix.tsv
test-data/input-batchcorrection-sampleMetadata.tsv
test-data/input-batchcorrection-variableMetadata.tsv
test-data/input-determinebc-dataMatrix.tsv
test-data/input-determinebc-sampleMetadata.tsv
test-data/output-batchcorrection-dataMatrix.tsv
test-data/output-determinebc-preNormSummary.txt
b
diff -r f64656ae9ea4 -r 016780b192a6 Normalisation_QCpool.r
--- a/Normalisation_QCpool.r Sun Oct 09 09:54:00 2016 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,409 +0,0 @@\n-# Author: jfmartin\n-# Modified by : mpetera\n-###############################################################################\n-# Correction of analytical effects inter and intra batch on intensities using quality control pooled samples (QC-pools)\n-# according to the algorithm mentioned by Van der Kloet (J Prot Res 2009).\n-# Parameters : a dataframe of Ions intensities and an other of samples? metadata which must contains at least the three following columns :\n-#   "batch" to identify the batches of analyses ; need at least 3 QC-pools for linear adjustment and 8 for lo(w)ess adjustment\n-#   "injectionOrder" integer defining the injection order of all samples : QC-pools and analysed samples\n-#   "sampleType" indicates if defining a sample with "sample" or a QC-pool with "pool"\n-# NO MISSING DATA are allowed\n-# Version 0.91 insertion of ok_norm function to assess correction feasibility \n-# Version 0.92 insertion of slope test in ok_norm\n-# Version 0.93 name of log file define as a parameter of the correction function\n-# Version 0.94 Within a batch, test if all QCpools or samples values = 0. Definition of an error code in ok_norm function (see function for details)\n-# Version 0.99 include non linear lowess correction. \n-# Version 1.00 the corrected result matrix is return transposed in Galaxy\n-# Version 1.01 standard deviation=0 instead of sum of value=0 is used to assess constant data in ok_norm function. Negative values in corrected matrix are converted to 0. \n-# Version 1.02 plotsituation create a result file with the error code of non execution of correction set by function ok_norm\n-# Version 1.03 fix bug in plot with "reg" option. suppression of ok_norm=4 condition if ok_norm function\n-# Version 2.00 Addition of loess function, correction indicator, plots ; modification of returned objects\' format, some plots\' displays and ok_norm ifelse format\n-# Version 2.01 Correction for pools negative values earlier in norm_QCpool\n-# Version 2.10 Script refreshing ; vocabulary adjustment ; span in parameters for lo(w)ess regression ; conditionning for third line ACP display ; order in loess display\n-# Version 2.11 ok1 and ok2 permutation (ok_norm) ; conditional display of regression (plotsituation) ; grouping of linked lignes + conditioning (normX) ; conditioning for CVplot\n-# Version 2.20 acplight function added from previous toolBox.R [# Version 1.01 "NA"-coding possibility added in acplight function]\n-# Version 2.30 addition of suppressWarnings() for known and controlled warnings ; suppression of one useless "cat" message ; change in Rdata names ; \'batch(es)\' in cat\n-\n-ok_norm=function(qcp,qci,spl,spi,method) {\n-  # Function used for one ion within one batch to determine whether or not batch correction is possible\n-  # ok_norm values :\n-  #   0 : no preliminary-condition problem\n-  #   1 : standard deviation of QC-pools or samples = 0\n-  #   2 : insufficient number of QC-pools within a batch (n=3 for linear, n=8 for lowess or loess)\n-  #   3 : significant difference between QC-pools\' and samples\' means\n-  #   4 : denominator =0 when on 1 pool per batch <> 0\n-  #   5 : (linear regression only) the slopes ratio ?QC-pools/samples? is lower than -0.2\n-  \n-  ok=0\n-  if (method=="linear") {minQC=3} else {minQC=8}\n-  if (length(qcp)<minQC) { ok=2 \n-  } else {\n-    if (sd(qcp)==0 | sd(spl)==0) { ok=1 \n-    } else {\n-    cvp= sd(qcp)/mean(qcp); cvs=sd(spl)/mean(spl)\n-    rttest=t.test(qcp,y=spl)\n-    reslsfit=lsfit(qci, qcp)\n-    reslsfitSample=lsfit(spl, spi)\n-    ordori=reslsfit$coefficients[1]\n-    penteB=reslsfit$coefficients[2]\n-    penteS=reslsfitSample$coefficients[2]\n-    # Significant difference between samples and pools\n-    if (rttest$p.value < 0.01) { ok=3 \n-    } else {\n-      # to avoid denominator =0 when on 1 pool per batch <> 0\n-      if (method=="linear" & length(which(((penteB*qci)+ordori)==0))>0 ){ ok=6 \n-      } else {\n-      # different sloop between samples and pools\n-      if (method=="linear" & pente'..b'rrection\n-\t\tif (detail=="reg" || detail=="plot" ) {\n-\t\t  \t# plot before and after correction\n-\t\t  \tminval=min(cbind(x[p+nbid],Xn[p+nbid]));maxval=max(cbind(x[p+nbid],Xn[p+nbid]))\n-\t\t  \tplot( x$injectionOrder, x[,p+nbid],col=x$batch,ylab=labion,ylim=c(minval,maxval),main=paste("avant correction CV pools=",round(cv[p,1],2)))\n-              points(x$injectionOrder[indpool],x[indpool,p+nbid],col="maroon",pch=".",cex=2)\n-\t\t  \tplot(Xn$injectionOrder,Xn[,p+nbid],col=x$batch,ylab="",ylim=c(minval,maxval),main=paste("apres correction CV pools=",round(cv[p,2],2)))\n-              points(Xn$injectionOrder[indpool],Xn[indpool,p+nbid],col="maroon",pch=".",cex=2)\n-\t\t  \tsuppressWarnings(plot.design( x[c(indtypsamp,indbatch,indfact,p+nbid)],main="effet sur facteurs avant"))\n-\t\t  \tsuppressWarnings(plot.design(Xn[c(indtypsamp,indbatch,indfact,p+nbid)],main="effet sur facteurs apres"))\n-\t\t}\n-\t}\n-  ### Replacement of post correction negative values by 0\n-\tXnn=Xn\n-\tvalNulle=0\n-\tfor (i in c((nbid+1):dim(Xn)[2])) {\n-\t  cneg=which(Xn[[i]]<0)\n-\t  Xnn[[i]]=replace(Xn[[i]],cneg,valNulle)\n-\t}\n-  Xn=Xnn\n-  write.table(Xn,file=outfic,sep="\\t",row.names=F,quote=F)\n-\n-\tif (detail=="reg" || detail=="plot" || detail=="no") {\n-\t\tif (nbi > 3) {\n-\t\t\tpar(mfrow=c(3,4),ask=F,cex=1.2) # PCA Plot before/after, normed only and ions plot\n-\t\t\tacplight(x[,c(indtypsamp,indbatch,indtypsamp,indfact,(nbid+1):lastIon)],"uv",TRUE)\n-\t\t\tnorm.ion <- which(colnames(Xn)%in%(rownames(res.ind)[which(rowSums(res.ind)>=1)]))\n-\t\t\tacplight(Xn[,c(indtypsamp,indbatch,indtypsamp,indfact,(nbid+1):lastIon)],"uv",TRUE,norm.ion)\n-\t\t\tif(length(norm.ion)>0){acplight(Xn[,c(indtypsamp,indbatch,indtypsamp,indfact,norm.ion)],"uv",TRUE)}\n-\t\t\tpar(mfrow=c(1,2),ask=F,cex=1.2) # Before/after boxplot\n-\t\t\tcvplot=cv[!is.na(cv[[1]])&!is.na(cv[[2]]),]\n-      if(nrow(cvplot)>0){\n-\t\t\t  boxplot(cvplot[[1]],ylim=c(min(cvplot),max(cvplot)),main="CV avant")\n-        boxplot(cvplot[[2]],ylim=c(min(cvplot),max(cvplot)),main="CV apres")\n-      }\n-      dev.off()\n-\t\t}\n-\t}\n-  if (nbi<=3) {dev.off()}\n-  # transposed matrix is return  (format of the initial matrix with ions in rows)\n-  Xr=Xn[,-c(1:nbid)]; dimnames(Xr)[[1]]=Xn[[1]]\n-  Xr=t(Xr) ; Xr <- data.frame(ions=rownames(Xr),Xr)\n-  \n-  res.norm[[1]] <- Xr ; res.norm[[2]] <- data.frame(metaion,res.ind) ; res.norm[[3]] <- x[,c(1:nbid)]\n-  names(res.norm) <- c("dataMatrix","variableMetadata","sampleMetadata")\n-  return(res.norm)\n-}\n-\n-\n-\n-\n-\n-acplight <- function(ids, scaling="uv", indiv=FALSE,indcol=NULL) {\n-\tsuppressPackageStartupMessages(library(ade4))\n-\tsuppressPackageStartupMessages(library(pcaMethods))\n-  # fait une ACP sur ids sachant que la colonne 1 contient l\'identificateur d\'individu\n-  # la colonne 2:nf contient les facteurs definissant la couleur des individus\n-  for (i in 1:3) {\n-    idss=ids[which(ids[,i+1]!="NA"),]\n-    idss=data.frame(idss[idss[,i+1]!="",])\n-    classe=as.factor(idss[[i+1]])\n-    idsample=as.character(idss[[1]])\n-    colour=1:length(levels(classe))\n-    ions=as.matrix(idss[,5:dim(idss)[2]])\n-    # choix du scaling : "uv","none","pareto"\n-    object=suppressWarnings(prep(ions, scale=scaling, center=TRUE))\n-\tif(i==1){if(length(which(apply(ions,2,var)==0))>0){cat("Warning : there are",length(which(apply(ions,2,var)==0)),"constant ions.\\n")}}\n-    # ALGO: nipals,svdImpute, Bayesian, svd, probalistic=F\n-    result <- pca(object, center=F, method="svd", nPcs=2)\n-    # ADE4 : representation des ellipsoides des individus de chaque classe\n-    s.class(result@scores, classe, cpoint = 1,xax=1,yax=2,col=colour,sub=sprintf("Scores - PCs %sx%s",1,2), possub="bottomright")\n-    #s.label(result@loadings,label = ions, cpoint = 0, clabel=0.4, xax=1,yax=2,sub="Loadings",possub="bottomright")\n-    if(i==1){resulti <- result}\n-  }\n-  if(indiv) {\n-    colour <- rep("darkblue",length(resulti@loadings)) ; if(!is.null(indcol)) {colour[-c(indcol)] <- "red"}\n-    plot(resulti@loadings,col=colour,main="Loadings",xaxt="n",yaxt="n",pch=20)\n-    abline(h=0,v=0)}\n-}\n-\n-\n'
b
diff -r f64656ae9ea4 -r 016780b192a6 README.md
--- a/README.md Sun Oct 09 09:54:00 2016 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,94 +0,0 @@
-Signal drift and batch-effect correction  
-========================================
-
-A Galaxy module from the [Workflow4metabolomics](http://workflow4metabolomics.org) infrastructure  
-
-Status: [![Build Status](https://travis-ci.org/workflow4metabolomics/batchcorrection.svg?branch=master)](https://travis-ci.org/workflow4metabolomics/batchcorrection).
-
-### Description
-
-**Version:** 2.0.8  
-**Date:** 2016-10-09  
-**Author:** Jean-Fran�ois Martin (INRA, AXIOM), M�lanie P�t�ra (INRA, PFEM), Marion Landi (INRA, PFEM), Franck Giacomoni (INRA, PFEM), and Etienne A. Th�venot (CEA, LIST)  
-**Email:** [jean-francois.martin(at)toulouse.inra.fr](mailto:jean-francois.martin@toulouse.inra.frr), [melanie.petera(at)clermont.inra.fr](mailto:melanie.petera@clermont.inra.fr), [etienne.thevenot(at)cea.fr](mailto:etienne.thevenot@cea.fr)  
-**Citation:**  
-**Licence:** CeCILL  
-**Reference history:** [W4M00001b_sacurine-complete](http://galaxy.workflow4metabolomics.org/history/list_published)   
-**Funding:** Agence Nationale de la Recherche ([MetaboHUB](http://www.metabohub.fr/index.php?lang=en&Itemid=473) national infrastructure for metabolomics and fluxomics, ANR-11-INBS-0010 grant)  
-
-### Installation
-
-* Configuration files:
-    + `batch_correction.xml` (for the "Batch Correction" module)
-    + `determine_bc.xml` (for the "Determine Batch Correction" module)  
-* Image files: 
-    + `static/images/batch_correction.png`    
-    + `static/images/determine_batch_correction.png`  
-    + `static/images/pdf_plotsituation.png`    
-    + `static/images/Vdk_pdf1.png`    
-    + `static/images/Vdk_pdf2.png`        
-* Wrapper files:
-    + `batch_correction_wrapper.R`  
-    + `batch_correction_all_loess_wrapper.R`  
-* Script files:
-    + `Normalisation_QCpool.r`  
-     + `batch_correction_all_loess_script.R`  
-* R packages
-  + **batch** from CRAN  
-  
-    ```r
-    install.packages("batch", dep=TRUE)  
-    ```
-
-  + **ade4** from CRAN  
-  
-    ```r
-    install.packages("ade4", dep=TRUE)  
-    ```
-
- + **pcaMethods** from Bioconductor  
-  
-    ```r
-    source("http://www.bioconductor.org/biocLite.R")  
-    biocLite("pcaMethods")      
-    ```
-
- + **ropls** from Bioconductor  
-  
-    ```r
-    source("http://www.bioconductor.org/biocLite.R")  
-    biocLite("ropls")      
-    ```
-
-### Tests
-
-The code in the batch_correction_wrapper can be tested by running the `runit/batchcorrection_runtests.R` R file  
-
-You will need to install **RUnit** package in order to make it run:
-```r
-install.packages('RUnit', dependencies = TRUE)
-```
-
-### Working example  
-
-See also the reference history **W4M00001b_sacurine-complete** shared history in the **Shared Data/Published Histories** menu (https://galaxy.workflow4metabolomics.org/history/list_published)  
-
-### News
-
-##### CHANGES IN VERSION 2.0.8  
-
-INTERNAL MODIFICATIONS  
-
- * For PCA figure display only ("all_loess_" options): missing values are set to the minimum value before PCA computation is performed (with svd)

-##### CHANGES IN VERSION 2.0.6  
-
-INTERNAL MODIFICATIONS  
-
- * Additional running and installation tests added with planemo, conda, and travis  
-
-##### CHANGES IN VERSION 2.0.4
-
-INTERNAL MODIFICATION  
-
- * Modification of the 'all_loess_wrapper.R' file to handle 'ropls' package versions of 1.3.15 and above (i.e. after switching to S4 classes) 
\ No newline at end of file
b
diff -r f64656ae9ea4 -r 016780b192a6 batch_correction.xml
--- a/batch_correction.xml Sun Oct 09 09:54:00 2016 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,739 +0,0 @@\n-<tool id="Batch_correction" name="Batch_correction" version="2.0.8">\n-  <description>Corrects intensities for signal drift and batch-effects</description>\n-\n-  <requirements>\n-    <requirement type="package" version="3.3.1">R</requirement>\n-    <requirement type="package">r-batch</requirement>\n-    <requirement type="package">r-ade4</requirement>\n-    <requirement type="package">bioconductor-pcamethods</requirement>\n-    <requirement type="package">bioconductor-ropls</requirement>\n-  </requirements>\n-\n-  <stdio>\n-    <exit_code range="1:" level="fatal" />\n-  </stdio>\n-  \n-  <command><![CDATA[\n-    #if str($span_condition.method) == \'all_loess_pool\':\n-        Rscript $__tool_directory__/batch_correction_all_loess_wrapper.R\n-        dataMatrix "$dataMatrix"\n-        sampleMetadata "$sampleMetadata"\n-        variableMetadata "$variableMetadata"\n-        method "all_loess_pool"\n-        span "${span_condition.span}"\n-    \n-    #elif str($span_condition.method) == \'all_loess_sample\':\n-        Rscript $__tool_directory__/batch_correction_all_loess_wrapper.R\n-        dataMatrix "$dataMatrix"\n-        sampleMetadata "$sampleMetadata"\n-        variableMetadata "$variableMetadata"\n-        method "all_loess_sample"\n-        span "${span_condition.span}"\n-    #else:\n-        Rscript $__tool_directory__/batch_correction_wrapper.R\n-        analyse "batch_correction"\n-        dataMatrix "$dataMatrix"\n-        sampleMetadata "$sampleMetadata"\n-        variableMetadata "$variableMetadata"\n-        method "${span_condition.method}"\n-        #if str($span_condition.method) == \'linear\':\n-            span "none"\n-        #else:\n-            span "${span_condition.span}"\n-        #end if\n-        ref_factor "${span_condition.ref_factor}"\n-        detail "${span_condition.detail}"\n-    #end if\n-    dataMatrix_out "$dataMatrix_out" variable_for_simca "$combinedResults" variableMetadata_out "$variableMetadata_out"\n-    graph_output "$graph_output"  rdata_output "$rdata_output"\n-  ]]></command>\n-\n-  <inputs>\n-    <param name="dataMatrix" label="Data Matrix file " format="tabular" type="data" />\n-    <param name="sampleMetadata" label="Sample metadata file " format="tabular" type="data" help="must contain at least the three following columns: \'batch\' + \'injectionOrder\' + \'sampleType\'"/>\n-    <param name="variableMetadata" label="Variable metadata file " format="tabular" type="data" />\n-    \n-    <conditional name="span_condition">\n-      <param name="method" label="Type of regression model " type="select" help="To select between linear or non-linear (lowess or loess) methods to be used in Van der Kloet algorithm ; when using loess, you can choose to use pools or samples to model batch effect.">\n-\t<option value="linear">linear</option>\n-\t<option value="lowess">lowess</option>\n-\t<option value="loess">loess</option>\n-\t<option value="all_loess_pool">all loess pool</option>\n-\t<option value="all_loess_sample">all loess sample</option>\n-      </param>\n-      <when value="linear">\n-\t<param name="ref_factor" label="Factor of interest " type="text"  value="batch" help="column name of factor of interest (often a biological factor); if none, leave \'batch\'" />\n-\t<param name="detail" label="Level of details for plots " type="select" help="Amount of plots in the pdf file output. See Help section for more details.">\n-\t  <option value="no">basic</option>\n-\t  <option value="plot">standard</option>\n-\t  <option value="reg">complete</option>\n-\t</param>\n-      </when>\n-      <when value="lowess">\n-\t<param name="span" type="float" value="0.85" label="span" help="it is a advanced option. Must be less than or equal to 1"/>\n-\t<param name="ref_factor" label="Factor of interest " type="text"  value="batch" help="column name of factor of interest (often a biological factor); if none, leave \'batch\'" />\n-\t<param name="detail" label="Level of details for plots " type="select" help="Amount of plots in the pdf file output. See Help section for more details.">\n-\t  <o'..b'02020280356\t21.3669776585093\t31.3312796509314\t347.760990090909\t1441.84619925857\t90.295450550822\n-\tX16437\t16437\t3\tQ4\t1\t01_08_2011\t8\ts\t152.244202534309\t77.3858014174909\t26.5039180350956\t28.2973388561794\t726.452054090909\t1289.1587961513\t86.5570806388865\n-\tX16878\t16878\t3\tQ1\t1\t01_08_2011\t19\ts\t134.003896781277\t79.3380903129169\t24.5917342073347\t45.5165130382572\t92.9168421818182\t1886.14854378149\t117.979273835979\n-\tX16888\t16888\t3\tQ4\t1\t01_08_2011\t15\ts\t160.400880621802\t78.0971960028743\t24.4134171806386\t87.9420387946402\t674.263651818182\t3700.84095135577\t215.548190721704\n-\tX17159\t17159\t3\tQ4\t1\t01_08_2011\t5\ts\t807.910566388206\t83.4544189550015\t30.5167331579687\t29.4738273480161\t749.552006545455\t2478.28485110605\t140.362352983359\n-\tX17419\t17419\t3\tQ4\t1\t01_08_2011\t7\ts\t37.4246591541122\t76.3602136963513\t35.6007838010462\t89.9617217868595\t695.297890909091\t1405.63064191075\t84.9696956072378\n-\tX17489\t17489\t3\tQ4\t2\t01_08_2011\t16\ts\t172.59123002765\t79.510605337691\t28.4678268347873\t29.3101803926911\t374.833317363636\t3641.2951457659\t203.417614300817\n-\tX17736\t17736\t3\tQ1\t1\t01_08_2011\t3\ts\t122.877799698849\t80.1781048340628\t23.3958989887532\t46.5102426333419\t254.164383090909\t2465.74273425251\t141.373694094272\n-\n-\n-Norma_result.tabular::\n-\n-\tPOOL1\tPOOL2\tX12588\tX12701\tX12718\tX13117\tX13341\tX13875\tX14325\tX15432\tX15635\tX16172\tX16220\tX16235\tX16392\tX16437\tX16878\tX16888\tX17159\tX17419\tX17489\tX17736\n-\tion01\t183.806309736177\t190.655485025641\t220.281338788057\t80.2553876257053\t0\t112.693700265425\t137.052799630498\t70.0532376321925\t183.929467815501\t123.859263984884\t761.958946663093\t97.3641336556051\t160.402716323636\t117.83745429722\t91.4762657301598\t152.244202534309\t134.003896781277\t160.400880621802\t807.910566388206\t37.4246591541122\t172.59123002765\t122.877799698849\n-\tion02\t78.555522674121\t82.783250185879\t87.500123119505\t74.3121648660553\t76.3220813847312\t84.4919000357226\t84.0842765863284\t81.4090675909135\t94.695360623753\t80.6950981610103\t82.5290665188414\t77.3172000270102\t72.5258925581935\t78.6308645435113\t84.5502020280356\t77.3858014174909\t79.3380903129169\t78.0971960028743\t83.4544189550015\t76.3602136963513\t79.510605337691\t80.1781048340628\n-\tion03\t24.2565782732588\t25.2333869921957\t24.4029802274792\t25.4930666232626\t29.4993682273574\t18.251402938821\t26.4443462044465\t20.3487238346046\t22.5226896299416\t31.6793877676942\t21.4044648499099\t17.2155856179699\t24.4649275827679\t18.315419286157\t21.3669776585093\t26.5039180350956\t24.5917342073347\t24.4134171806386\t30.5167331579687\t35.6007838010462\t28.4678268347873\t23.3958989887532\n-\tion04\t67.2059357441544\t31.0106280849366\t62.5632990312483\t103.089356639338\t24.2539829611226\t41.3577240621519\t21.2284636032788\t23.2831876997425\t47.497332543935\t62.6545185712173\t86.9208671903241\t58.6271832180619\t37.3959023125888\t24.950677956983\t31.3312796509314\t28.2973388561794\t45.5165130382572\t87.9420387946402\t29.4738273480161\t89.9617217868595\t29.3101803926911\t46.5102426333419\n-\tion05\t0\t0\t94.2986763636364\t414.218462818182\t600.817868636364\t578.781479727273\t467.623937181818\t67.7758438818182\t395.130825545454\t803.848495272727\t468.946563181818\t362.182051727273\t498.740498727273\t52.1508526818182\t347.760990090909\t726.452054090909\t92.9168421818182\t674.263651818182\t749.552006545455\t695.297890909091\t374.833317363636\t254.164383090909\n-\tion06\t2756.58450391724\t2621.24237826457\t3459.67039593807\t2259.03570054876\t3542.65272205883\t2628.90920103769\t3392.25066785752\t3358.22588611392\t2589.44599169574\t3429.68592298187\t2758.73531975414\t2238.0970735015\t2103.99860111142\t3708.61347563638\t1441.84619925857\t1289.1587961513\t1886.14854378149\t3700.84095135577\t2478.28485110605\t1405.63064191075\t3641.2951457659\t2465.74273425251\n-\tion07\t158.052416850832\t157.236695576441\t193.243760535699\t127.848278698451\t215.622242057156\t150.522965863022\t187.147883253472\t208.498595063134\t141.360943533866\t193.242902316211\t163.776450823485\t151.418448347397\t143.406307055514\t196.298993992243\t90.295450550822\t86.5570806388865\t117.979273835979\t215.548190721704\t140.362352983359\t84.9696956072378\t203.417614300817\t141.373694094272\n--->\n-</tool>\n'
b
diff -r f64656ae9ea4 -r 016780b192a6 batch_correction_all_loess_script.R
--- a/batch_correction_all_loess_script.R Sun Oct 09 09:54:00 2016 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,294 +0,0 @@\n-loessF <- function(datVn, qcaVi, preVi, spnN) {\n-\n-    if(length(qcaVi) < 5) {\n-\n-        return(predict(lm(datVn[qcaVi] ~ qcaVi),\n-                       newdata = data.frame(qcaVi = preVi)))\n-\n-    } else {\n-\n-        return(predict(loess(datVn[qcaVi] ~ qcaVi,\n-                             control = loess.control(surface = "direct"),\n-                             span = spnN),\n-                       newdata = data.frame(qcaVi = preVi)))\n-\n-    }\n-\n-    ## Note:\n-    ##  the surface = \'direct\' argument allows extrapolation\n-\n-} ## loessF\n-\n-plotBatchF <- function(datMN, samDF.arg, spnN.arg) {\n-\n-    maiC <- switch(gsub("MN", "", deparse(substitute(datMN))),\n-                   raw = "Raw",\n-                   nrm = "Normalized")\n-\n-    colVc <- c(sample = "green4",\n-               pool = "red",\n-               blank = "black",\n-               other = "yellow")\n-\n-    par(font = 2, font.axis = 2, font.lab = 2, lwd = 2, pch = 18)\n-\n-    layout(matrix(c(1, 1, 2, 3), nrow = 2),\n-           widths = c(0.7, 0.3))\n-\n-    obsNamVc <- rownames(datMN)\n-\n-    obsColVc <- sapply(samDF.arg[, "sampleType"],\n-                       function(typC)\n-                       ifelse(typC %in% names(colVc), colVc[typC], colVc["other"]))\n-\n-    ## Graphic 1: Sum of intensities for each sample\n-\n-    par(mar = c(3.6, 3.6, 3.1, 0.6))\n-\n-    batTab <- table(samDF.arg[, "batch"])\n-\n-    sumVn <- rowSums(datMN, na.rm = TRUE)\n-\n-    plot(sumVn,\n-         cex = 1.2,\n-         col = obsColVc,\n-         pch = 18,\n-         xaxs = "i",\n-         xlab = "",\n-         ylab = "")\n-\n-    mtext("Injection order",\n-          line = 2.2,\n-          side = 1)\n-    mtext("Sum of variable intensities",\n-          line = 2.2,\n-          side = 2)\n-\n-    mtext(maiC, cex = 1.2, line = 1.5, side = 3)\n-\n-    abline(v = cumsum(batTab) + 0.5,\n-           col = "red")\n-\n-    mtext(names(batTab),\n-          at = batTab / 2 + c(0, cumsum(batTab[-length(batTab)])))\n-\n-    obsColVuc <- obsColVc[sort(unique(names(obsColVc)))]\n-\n-    text(rep(batTab[1], times = length(obsColVuc)),\n-         par("usr")[3] + (0.97 - length(obsColVuc) * 0.03 + 1:length(obsColVuc) * 0.03) * diff(par("usr")[3:4]),\n-         col = obsColVuc,\n-         font = 2,\n-         labels = names(obsColVuc),\n-         pos = 2)\n-\n-    for(batC in names(batTab)) {\n-\n-        batSeqVi <- which(samDF.arg[, "batch"] == batC)\n-        batPooVi <- intersect(batSeqVi,\n-                              grep("pool", samDF.arg[, "sampleType"]))\n-        batSamVi <- intersect(batSeqVi,\n-                              grep("sample", samDF.arg[, "sampleType"]))\n-        if(length(batPooVi))\n-            lines(batSeqVi,\n-                  loessF(sumVn, batPooVi, batSeqVi, spnN=spnN.arg),\n-                  col = colVc["pool"])\n-        lines(batSeqVi,\n-              loessF(sumVn, batSamVi, batSeqVi, spnN=spnN.arg),\n-              col = colVc["sample"])\n-\n-    }\n-\n-    ## Graphics 2 and 3 (right): PCA score plots of components 1-4\n-\n-    radVn <- seq(0, 2 * pi, length.out = 100)\n-    epsN <- .Machine[["double.eps"]] ## [1] 2.22e-16\n-\n-    pcaMN <- datMN\n-\n-    if(any(is.na(pcaMN))) {\n-        minN <- min(pcaMN, na.rm = TRUE)\n-        pcaMN[is.na(pcaMN)] <- minN\n-    }\n-\n-    pcaLs <- opls(pcaMN, predI = 4, algoC = "svd", printL = FALSE, plotL = FALSE)\n-    tMN <- getScoreMN(pcaLs)\n-    vRelVn <- pcaLs@modelDF[, "R2X"]\n-\n-    n <- nrow(tMN)\n-    hotN <- 2 * (n - 1) * (n^2 - 1) / (n^2 * (n - 2))\n-\n-    hotFisN <- hotN * qf(0.95, 2, n - 2)\n-\n-    pcsLs <- list(c(1, 2), c(3, 4))\n-\n-    par(mar = c(3.6, 3.6, 0.6, 1.1))\n-\n-    for(pcsN in 1:length(pcsLs)) {\n-\n-        pcsVn <- pcsLs[[pcsN]]\n-\n-        tcsMN <- tMN[, pcsVn]\n-\n-        micMN <- solve(cov(tcsMN))\n-\n-        n <- nrow(tMN)\n-        hotN <- 2 * (n - 1) * (n^2 - 1) / (n^2 * (n - 2))\n-\n-        hotFisN <- hotN * qf(0.95, 2, n - 2)\n-\n-        hotVn <- apply(tcsMN,\n-                       1,\n-                       function(x) 1 - pf(1 / hotN * t(as.matrix(x)) %'..b'       ylab = "",\n-             xlim = xLimVn,\n-             ylim = yLimVn)\n-\n-        mtext(xLabC,\n-              line = 2.2,\n-              side = 1)\n-        mtext(yLabC,\n-              line = 2.2,\n-              side = 2)\n-\n-        par(lwd = 1)\n-\n-        abline(v = axTicks(1),\n-               col = "grey")\n-\n-        abline(h = axTicks(2),\n-               col = "grey")\n-\n-        abline(v = 0)\n-        abline(h = 0)\n-\n-        lines(sqrt(var(tcsMN[, 1]) * hotFisN) * cos(radVn),\n-              sqrt(var(tcsMN[, 2]) * hotFisN) * sin(radVn))\n-\n-        points(tcsMN,\n-               col = obsColVc,\n-               pch = 18)\n-\n-        if(length(obsHotVi))\n-            text(tcsMN[obsHotVi, 1],\n-                 tcsMN[obsHotVi, 2],\n-                 col = obsColVc[obsHotVi],\n-                 labels = obsNamVc[obsHotVi],\n-                 pos = 3)\n-\n-    } ## for(pcsN in 1:length(pcsLs)) {\n-\n-    return(invisible(list(sumVn = sumVn,\n-                          tcsMN = tcsMN)))\n-\n-} ## plotBatchF\n-\n-shiftBatchCorrectF <- function(rawMN.arg,\n-                               samDF.arg,\n-                               refC.arg,\n-                               spnN.arg) {\n-\n-    cat("\\nReference observations are: ", refC.arg, "\\n")\n-\n-    ## computing median off all pools (or samples) for each variable\n-\n-    refMeaVn <- apply(rawMN.arg[samDF.arg[, "sampleType"] == refC.arg, ],\n-                      2,\n-                      function(feaRefVn) mean(feaRefVn, na.rm = TRUE))\n-\n-    ## splitting data and sample metadata from each batch\n-\n-    batRawLs <- split(as.data.frame(rawMN.arg),\n-                      f = samDF.arg[, "batch"])\n-    batRawLs <- lapply(batRawLs, function(inpDF) as.matrix(inpDF))\n-\n-    batSamLs <- split(as.data.frame(samDF.arg),\n-                      f = samDF.arg[, "batch"])\n-\n-    ## checking extrapolation: are there pools at the first and last observations of each batch\n-\n-    if(refC.arg == "pool") {\n-        pooExtML <- matrix(FALSE, nrow = 2, ncol = length(batRawLs),\n-                           dimnames = list(c("first", "last"), names(batRawLs)))\n-        for(batC in names(batSamLs)) {\n-            batSamTypVc <- batSamLs[[batC]][, "sampleType"]\n-            pooExtML["first", batC] <- head(batSamTypVc, 1) == "pool"\n-            pooExtML["last", batC] <- tail(batSamTypVc, 1) == "pool"\n-        }\n-        if(!all(c(pooExtML))) {\n-            cat("\\nWarning: Pools are missing at the first and/or last position of the following batches:\\n")\n-            pooExtBatVi <- which(!apply(pooExtML, 2, all))\n-            for(i in 1:length(pooExtBatVi))\n-                cat(names(pooExtBatVi)[i], ": ",\n-                    paste(rownames(pooExtML)[!pooExtML[, pooExtBatVi[i]]], collapse = ", "), "\\n", sep = "")\n-            cat("Extrapolating loess fits for these batches may result in inaccurate modeling!\\n")\n-        }\n-    }\n-\n-    ## normalizing\n-\n-    nrmMN <- NULL ## normalized data matrix to be computed\n-\n-    cat("\\nProcessing batch:")\n-\n-    for(batC in names(batRawLs)) { ## processing each batch individually\n-\n-        cat("\\n", batC)\n-\n-        batRawMN <- batRawLs[[batC]]\n-        batSamDF <- batSamLs[[batC]]\n-\n-        batAllVi <- 1:nrow(batRawMN)\n-\n-        batRefVi <- grep(refC.arg, batSamDF[, "sampleType"])\n-\n-        if(length(batRefVi) < 5)\n-            cat("\\nWarning: less than 5 \'", refC.arg, "\'; linear regression will be performed instead of loess regression for this batch\\n", sep="")\n-\n-        ## prediction of the loess fit\n-\n-        batLoeMN <- apply(batRawMN,\n-                          2,\n-                          function(rawVn) loessF(rawVn, batRefVi, batAllVi, spnN=spnN.arg))\n-\n-        ## normalization\n-\n-        batLoeMN[batLoeMN <= 0] <- NA\n-\n-        batNrmMN <- batRawMN / batLoeMN\n-\n-        nrmMN <- rbind(nrmMN,\n-                       batNrmMN)\n-\n-    }\n-\n-    cat("\\n")\n-\n-    nrmMN <- sweep(nrmMN, MARGIN = 2, STATS = refMeaVn, FUN = "*")\n-\n-    return(nrmMN)\n-\n-} ## shiftBatchCorrectF\n'
b
diff -r f64656ae9ea4 -r 016780b192a6 batch_correction_all_loess_wrapper.R
--- a/batch_correction_all_loess_wrapper.R Sun Oct 09 09:54:00 2016 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,196 +0,0 @@
-#!/usr/bin/env Rscript
-
-library(batch) ## necessary for parseCommandArgs function
-args = parseCommandArgs(evaluate=FALSE) #interpretation of arguments given in command line as an R list of objects
-
-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("batch_correction_all_loess_script.R")
-
-argVc <- unlist(args)
-
-##  argVc["method"] is either 'all_loess_pool' or 'all_loess_sample'
-##  alternative version developped by CEA
-##  all variables are treated with loess
-##  the reference observations for loess are either 'pool'
-## ('all_loess_pool') or 'sample' ('all_loess_sample')
-
-
-##------------------------------
-## Initializing
-##------------------------------
-
-## options
-##--------
-
-strAsFacL <- options()$stringsAsFactors
-options(stringsAsFactors = FALSE)
-
-## libraries
-##----------
-
-suppressMessages(library(ropls))
-
-if(packageVersion("ropls") < "1.4.0")
-    stop("Please use 'ropls' versions of 1.4.0 and above")
-
-## constants
-##----------
-
-modNamC <- "Batch correction" ## module name
-
-## log file
-##---------
-
-## sink(argVc["information"]) ## not implemented
-
-cat("\nStart of the '", modNamC, "' Galaxy module call: ",
-    format(Sys.time(), "%a %d %b %Y %X"), "\n", sep="")
-
-## loading
-##--------
-
-rawMN <- t(as.matrix(read.table(argVc["dataMatrix"],
-                                header = TRUE,
-                                row.names = 1,
-                                sep = "\t")))
-
-samDF <- read.table(argVc["sampleMetadata"],
-                    header = TRUE,
-                    row.names = 1,
-                    sep = "\t")
-
-varDF <- read.table(argVc["variableMetadata"],
-                    check.names = FALSE,
-                    header = TRUE,
-                    row.names = 1,
-                    sep = "\t") ## not used; for compatibility only
-
-refC <- tolower(gsub("all_loess_", "", argVc["method"]))
-
-spnN <- as.numeric(argVc["span"])
-
-
-## checking
-##---------
-
-stopifnot(refC %in% c("pool", "sample"))
-
-if(refC == "pool" &&
-   !any("pool" %in% samDF[, "sampleType"]))
-    stop("No 'pool' found in the 'sampleType' column; use the samples as normalization reference instead")
-
-refMN <- rawMN[samDF[, "sampleType"] == refC, ]
-refNasZerVl <- apply(refMN, 2,
-                     function(refVn)
-                     all(sapply(refVn,
-                                function(refN) {is.na(refN) || refN == 0})))
-
-if(sum(refNasZerVl)) {
-
-    refNasZerVi <- which(refNasZerVl)
-    cat("The following variables have 'NA' or 0 values in all reference samples; they will be removed from the data:\n", sep = "")
-    print(refNasZerVi)
-    rawMN <- rawMN[, !refNasZerVl, drop = FALSE]
-    varDF <- varDF[!refNasZerVl, , drop = FALSE]
-
-}
-
-##------------------------------
-## Computation
-##------------------------------
-
-## ordering (batch and injection order)
-##-------------------------------------
-
-samDF[, "ordIniVi"] <- 1:nrow(rawMN)
-ordBatInjVi <- order(samDF[, "batch"], samDF[, "injectionOrder"])
-rawMN <- rawMN[ordBatInjVi, ]
-samDF <- samDF[ordBatInjVi, ]
-
-## signal drift and batch-effect correction
-##-----------------------------------------
-
-nrmMN <- shiftBatchCorrectF(rawMN,
-                            samDF,
-                            refC,
-                            spnN)
-
-## figure
-##-------
-
-cat("\nPlotting\n")
-
-pdf(argVc["graph_output"], onefile = TRUE, width = 11, height = 7)
-plotBatchF(rawMN, samDF, spnN)
-plotBatchF(nrmMN, samDF, spnN)
-dev.off()
-
-## returning to initial order
-##---------------------------
-
-ordIniVi <- order(samDF[, "ordIniVi"])
-nrmMN <- nrmMN[ordIniVi, ]
-samDF <- samDF[ordIniVi, ]
-samDF <- samDF[, colnames(samDF) != "ordIniVi", drop=FALSE]
-
-
-##------------------------------
-## Ending
-##------------------------------
-
-
-## saving
-##-------
-
-datMN <- nrmMN
-
-datDF <- cbind.data.frame(dataMatrix = colnames(datMN),
-                          as.data.frame(t(datMN)))
-write.table(datDF,
-            file = argVc["dataMatrix_out"],
-            quote = FALSE,
-            row.names = FALSE,
-            sep = "\t")
-
-varDF <- cbind.data.frame(variableMetadata = rownames(varDF),
-                          varDF) ## not modified; for compatibility only
-write.table(varDF,
-            file = argVc["variableMetadata_out"],
-            quote = FALSE,
-            row.names = FALSE,
-            sep = "\t")
-
-simDF <- cbind.data.frame(samDF, as.data.frame(datMN)) ## for compatibility
-simDF <- cbind.data.frame(names = rownames(simDF),
-                          simDF)
-write.table(simDF,
-            file = argVc["variable_for_simca"],
-            quote = FALSE,
-            row.names = FALSE,
-            sep = "\t")
-
-res <- list(dataMatrix_raw = rawMN,
-            dataMatrix_normalized = nrmMN,
-            sampleMetadata = samDF)
-save(res,
-     file = argVc["rdata_output"]) ## for compatibility
-
-## closing
-##--------
-
-cat("\nEnd of '", modNamC, "' Galaxy module call: ",
-    as.character(Sys.time()), "\n", sep = "")
-
-## sink()
-
-options(stringsAsFactors = strAsFacL)
-
-
-rm(argVc)
-
b
diff -r f64656ae9ea4 -r 016780b192a6 batch_correction_wrapper.R
--- a/batch_correction_wrapper.R Sun Oct 09 09:54:00 2016 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,124 +0,0 @@
-#!/usr/bin/Rscript --vanilla --slave --no-site-file
-
-################################################################################################
-# batch_correction_wrapper                                                                     #
-#                                                                                              #
-# Author: Marion LANDI / Jean-Francois MARTIN / Melanie Petera                                 #
-# User: Galaxy                                                                                 #
-# Original data: --                                                                            #
-# Starting date: 22-07-2014                                                                    #
-# Version 1: 22-07-2014                                                                        #
-# Version 2: 08-12-2014                                                                        #
-# Version 2.1: 09-01-2015 modification in Error message of sample matching                     #
-# Version 2.2: 16-03-2015 inclusion of miniTools' functions for special characters             #
-#                                                                                              #
-#                                                                                              #
-# Input files: dataMatrix.txt ; sampleMetadata.txt ; variableMetadata.txt (for DBC)            #
-# Output files: graph_output.pdf ; corrected table ; diagnostic table                          #
-#                                                                                              #
-################################################################################################
-
-
-library(batch) #necessary for parseCommandArgs function
-args = parseCommandArgs(evaluate=FALSE) #interpretation of arguments given in command line as an R list of objects
-
-source_local <- function(...){
- argv <- commandArgs(trailingOnly = FALSE)
- base_dir <- dirname(substring(argv[grep("--file=", argv)], 8))
- for(i in 1:length(list(...))){source(paste(base_dir, list(...)[[i]], sep="/"))}
-}
-#Import the different functions
-source_local("Normalisation_QCpool.r","easyrlibrary-lib/RcheckLibrary.R","easyrlibrary-lib/miniTools.R")
-
-
-## Reading of input files
-idsample=read.table(args$sampleMetadata,header=T,sep='\t',check.names=FALSE)
-iddata=read.table(args$dataMatrix,header=T,sep='\t',check.names=FALSE)
-
-### Table match check 
-table.check <- match2(iddata,idsample,"sample")
-
-### StockID
-samp.id <- stockID(iddata,idsample,"sample")
-iddata<-samp.id$dataMatrix ; idsample<-samp.id$Metadata ; samp.id<-samp.id$id.match
-
-### Checking mandatory variables
-mand.check <- ""
-for(mandcol in c("sampleType","injectionOrder","batch")){
-  if(!(mandcol%in%colnames(idsample))){
-    mand.check <- c(mand.check,"\nError: no '",mandcol,"' column in sample metadata.\n",
-                    "Note: table must include this exact column name (it is case-sensitive).\n")
-  }
-}
-if(length(mand.check)>1){check.err(paste(table.check,mand.check,sep=""))}
-
-### Formating
-idsample[[1]]=make.names(idsample[[1]])
-dimnames(iddata)[[1]]=iddata[[1]]
-
-### Transposition of ions data
-idTdata=t(iddata[,2:dim(iddata)[2]])
-idTdata=data.frame(dimnames(idTdata)[[1]],idTdata)
-
-### Merge of 2 files (ok even if the two dataframe are not sorted on the same key)
-id=merge(idsample, idTdata, by.x=1, by.y=1)
-
-id$batch=as.factor(id$batch)
-ids=id[id$sampleType == 'pool' | id$sampleType == 'sample',]
-nbid=dim(idsample)[2]
-
-### Checking the number of sample and pool
-
-# least 2 samples
-if(length(which(ids$sampleType == "sample"))<2){
- table.check <- c(table.check,"\nError: less than 2 samples specified in sample metadata.",
-        "\nMake sure this is not due to errors in sampleType coding.\n")
-}
-
-# least 2 pools per batch for all batchs
-B <- rep(0,length(levels(ids$batch)))
-for(nbB in length(levels(ids$batch))){
- B[nbB]<-length(which(ids[which(ids$batch==(levels(ids$batch)[nbB])),]$sampleType == "pool"))
-}
-if(length(which(B>1))==0){
- table.check <- c(table.check,"\nError: less than 2 pools specified in each batch in sample metadata.",
-        "\nMake sure this is not due to errors in sampleType coding.\n")
-}
-
-### Factor of interest 
-factbio=args$ref_factor
-
-
-if(args$analyse == "batch_correction") {
- ## Reading of Metadata Ions file
- metaion=read.table(args$variableMetadata,header=T,sep='\t',check.names=FALSE)
- ## Table match check 
- table.check <- c(table.check,match2(iddata,metaion,"variable"))
- check.err(table.check)
-
- ## variables
- detail=args$detail
- method=args$method
-
- ## outputs
- outfic=args$variable_for_simca
- outlog=args$graph_output
-
- ## Launch
- res = norm_QCpool(ids,nbid,outfic,outlog,factbio,metaion,detail,F,F,method,args$span)
- save(res, file=args$rdata_output)
- write.table(reproduceID(res[[1]],res[[3]],"sample",samp.id)$dataMatrix, file=args$dataMatrix_out, sep = '\t', row.names=F, quote=F)
- write.table(res[[2]], file=args$variableMetadata_out, sep = '\t', row.names=F, quote=F)
-}else{
- ## error check
- check.err(table.check)
-
- ## outputs
- out_graph_pdf=args$out_graph_pdf
- out_preNormSummary=args$out_preNormSummary
-
- ## Launch
- plotsituation(ids,nbid,out_graph_pdf,out_preNormSummary,factbio,args$span)
-}
-
-rm(args)
b
diff -r f64656ae9ea4 -r 016780b192a6 batchcorrection/Normalisation_QCpool.r
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/batchcorrection/Normalisation_QCpool.r Thu Mar 02 03:38:08 2017 -0500
[
b'@@ -0,0 +1,437 @@\n+# Author: jfmartin\r\n+# Modified by : mpetera\r\n+###############################################################################\r\n+# Correction of analytical effects inter and intra batch on intensities using quality control pooled samples (QC-pools)\r\n+# according to the algorithm mentioned by Van der Kloet (J Prot Res 2009).\r\n+# Parameters : a dataframe of Ions intensities and an other of samples? metadata which must contains at least the three following columns :\r\n+#   "batch" to identify the batches of analyses ; need at least 3 QC-pools for linear adjustment and 8 for lo(w)ess adjustment\r\n+#   "injectionOrder" integer defining the injection order of all samples : QC-pools and analysed samples\r\n+#   "sampleType" indicates if defining a sample with "sample" or a QC-pool with "pool"\r\n+# NO MISSING DATA are allowed\r\n+# Version 0.91 insertion of ok_norm function to assess correction feasibility \r\n+# Version 0.92 insertion of slope test in ok_norm\r\n+# Version 0.93 name of log file define as a parameter of the correction function\r\n+# Version 0.94 Within a batch, test if all QCpools or samples values = 0. Definition of an error code in ok_norm function (see function for details)\r\n+# Version 0.99 include non linear lowess correction. \r\n+# Version 1.00 the corrected result matrix is return transposed in Galaxy\r\n+# Version 1.01 standard deviation=0 instead of sum of value=0 is used to assess constant data in ok_norm function. Negative values in corrected matrix are converted to 0. \r\n+# Version 1.02 plotsituation create a result file with the error code of non execution of correction set by function ok_norm\r\n+# Version 1.03 fix bug in plot with "reg" option. suppression of ok_norm=4 condition if ok_norm function\r\n+# Version 2.00 Addition of loess function, correction indicator, plots ; modification of returned objects\' format, some plots\' displays and ok_norm ifelse format\r\n+# Version 2.01 Correction for pools negative values earlier in norm_QCpool\r\n+# Version 2.10 Script refreshing ; vocabulary adjustment ; span in parameters for lo(w)ess regression ; conditionning for third line ACP display ; order in loess display\r\n+# Version 2.11 ok1 and ok2 permutation (ok_norm) ; conditional display of regression (plotsituation) ; grouping of linked lignes + conditioning (normX) ; conditioning for CVplot\r\n+# Version 2.20 acplight function added from previous toolBox.R [# Version 1.01 "NA"-coding possibility added in acplight function]\r\n+# Version 2.30 addition of suppressWarnings() for known and controlled warnings ; suppression of one useless "cat" message ; change in Rdata names ; \'batch(es)\' in cat\r\n+# Version 2.90 change in handling of generated negative and Inf values\r\n+# Version 2.91 Plot improvement\r\n+\r\n+ok_norm=function(qcp,qci,spl,spi,method) {\r\n+  # Function used for one ion within one batch to determine whether or not batch correction is possible\r\n+  # ok_norm values :\r\n+  #   0 : no preliminary-condition problem\r\n+  #   1 : standard deviation of QC-pools or samples = 0\r\n+  #   2 : insufficient number of QC-pools within a batch (n=3 for linear, n=8 for lowess or loess)\r\n+  #   3 : significant difference between QC-pools\' and samples\' means\r\n+  #   4 : denominator =0 when on 1 pool per batch <> 0\r\n+  #   5 : (linear regression only) the slopes ratio ?QC-pools/samples? is lower than -0.2\r\n+  \r\n+  ok=0\r\n+  if (method=="linear") {minQC=3} else {minQC=8}\r\n+  if (length(qcp)<minQC) { ok=2 \r\n+  } else {\r\n+    if (sd(qcp)==0 | sd(spl)==0) { ok=1 \r\n+    } else {\r\n+    cvp= sd(qcp)/mean(qcp); cvs=sd(spl)/mean(spl)\r\n+    rttest=t.test(qcp,y=spl)\r\n+    reslsfit=lsfit(qci, qcp)\r\n+    reslsfitSample=lsfit(spl, spi)\r\n+    ordori=reslsfit$coefficients[1]\r\n+    penteB=reslsfit$coefficients[2]\r\n+    penteS=reslsfitSample$coefficients[2]\r\n+    # Significant difference between samples and pools\r\n+    if (rttest$p.value < 0.01) { ok=3 \r\n+    } else {\r\n+      # to avoid denominator =0 when on 1 pool per batch <> 0\r\n+      if (method=="lin'..b'l="maroon",pch=".",cex=2)\r\n+\t\t  \tplot(Xn$injectionOrder,Xn[,p+nbid],col=x$batch,ylab="",ylim=c(minval,maxval),\r\n+             main=paste0("after correction (CV for pools = ",round(cv[p,2],2),")"))\r\n+              points(Xn$injectionOrder[indpool],Xn[indpool,p+nbid],col="maroon",pch=".",cex=2)\r\n+\t\t  \tsuppressWarnings(plot.design( x[c(indtypsamp,indbatch,indfact,p+nbid)],main="factors effect before correction"))\r\n+\t\t  \tsuppressWarnings(plot.design(Xn[c(indtypsamp,indbatch,indfact,p+nbid)],main="factors effect after correction"))\r\n+\t\t}\r\n+\t}\r\n+  ### Replacement of post correction negative values by chosen value\r\n+\tXnn=Xn\r\n+\tfor (i in c((nbid+1):dim(Xn)[2])) {\r\n+\t  cneg=which(Xn[[i]]<0)\r\n+\t  Xnn[[i]]=replace(Xn[[i]],cneg,as.numeric(valNull))\r\n+\t}\r\n+  Xn=Xnn\r\n+\r\n+\tif (detail=="reg" || detail=="plot" || detail=="no") {\r\n+\t\tif (nbi > 3) {\r\n+\t\t\tpar(mfrow=c(3,4),ask=F,cex=1.2) # PCA Plot before/after, normed only and ions plot\r\n+\t\t\tacplight(x[,c(indtypsamp,indbatch,indtypsamp,indfact,(nbid+1):lastIon)],"uv",TRUE)\r\n+\t\t\tnorm.ion <- which(colnames(Xn)%in%(rownames(res.ind)[which(rowSums(res.ind)>=1)]))\r\n+\t\t\tacplight(Xn[,c(indtypsamp,indbatch,indtypsamp,indfact,(nbid+1):lastIon)],"uv",TRUE,norm.ion)\r\n+\t\t\tif(length(norm.ion)>0){acplight(Xn[,c(indtypsamp,indbatch,indtypsamp,indfact,norm.ion)],"uv",TRUE)}\r\n+\t\t\tpar(mfrow=c(1,2),ask=F,cex=1.2) # Before/after boxplot\r\n+\t\t\tcvplot=cv[!is.na(cv[[1]])&!is.na(cv[[2]]),]\r\n+      if(nrow(cvplot)>0){\r\n+\t\t\t  boxplot(cvplot[[1]],ylim=c(min(cvplot),max(cvplot)),main="CV before correction")\r\n+        boxplot(cvplot[[2]],ylim=c(min(cvplot),max(cvplot)),main="CV after correction")\r\n+      }\r\n+      dev.off()\r\n+\t\t}\r\n+\t}\r\n+  if (nbi<=3) {dev.off()}\r\n+  # transposed matrix is return  (format of the initial matrix with ions in rows)\r\n+  Xr=Xn[,-c(1:nbid)]; dimnames(Xr)[[1]]=Xn[[1]]\r\n+  Xr=t(Xr) ; Xr <- data.frame(ions=rownames(Xr),Xr)\r\n+  \r\n+  res.norm[[1]] <- Xr ; res.norm[[2]] <- data.frame(metaion,res.ind) ; res.norm[[3]] <- x[,c(1:nbid)]\r\n+  names(res.norm) <- c("dataMatrix","variableMetadata","sampleMetadata")\r\n+  return(res.norm)\r\n+}\r\n+\r\n+\r\n+\r\n+\r\n+\r\n+acplight <- function(ids, scaling="uv", indiv=FALSE,indcol=NULL) {\r\n+\tsuppressPackageStartupMessages(library(ade4))\r\n+\tsuppressPackageStartupMessages(library(pcaMethods))\r\n+  # Make a PCA and plot scores and loadings.\r\n+  # First column must contain samples\' identifiers.\r\n+  # Columns 2 to 4 contain factors to colour the plots. \r\n+  for (i in 1:3) {\r\n+    idss=ids[which(ids[,i+1]!="NA"),]\r\n+    idss=data.frame(idss[idss[,i+1]!="",])\r\n+    classe=as.factor(idss[[i+1]])\r\n+    idsample=as.character(idss[[1]])\r\n+    colour=1:length(levels(classe))\r\n+    ions=as.matrix(idss[,5:dim(idss)[2]])\r\n+\t# Removing ions containing NA (not compatible with standard PCA)\r\n+\tions=t(na.omit(t(ions)))\r\n+\tif(i==1){if(ncol(ions)!=(ncol(idss)-4)){cat("Note:",(ncol(idss)-4)-ncol(ions),"ions were ignored for PCA display due to NA in intensities.\\n")}}\r\n+    # Scaling choice: "uv","none","pareto"\r\n+    object=suppressWarnings(prep(ions, scale=scaling, center=TRUE))\r\n+\tif(i==1){if(length(which(apply(ions,2,var)==0))>0){cat("Warning: there are",length(which(apply(ions,2,var)==0)),"constant ions.\\n")}}\r\n+    # ALGO: nipals,svdImpute, Bayesian, svd, probalistic=F\r\n+    result <- pca(object, center=F, method="svd", nPcs=2)\r\n+    # ADE4 : to plot samples\' ellipsoid for each class\r\n+    s.class(result@scores, classe, cpoint = 1,xax=1,yax=2,col=colour,sub=sprintf("Scores - PCs %sx%s",1,2), possub="bottomright")\r\n+    #s.label(result@loadings,label = ions, cpoint = 0, clabel=0.4, xax=1,yax=2,sub="Loadings",possub="bottomright")\r\n+    if(i==1){resulti <- result}\r\n+  }\r\n+  if(indiv) {\r\n+    colour <- rep("darkblue",length(resulti@loadings)) ; if(!is.null(indcol)) {colour[-c(indcol)] <- "red"}\r\n+    plot(resulti@loadings,col=colour,main="Loadings",xaxt="n",yaxt="n",pch=20,\r\n+         xlab=bquote(PC1-R^2==.(resulti@R2[1])),ylab=bquote(PC2 - R^2 == .(resulti@R2[2])))\r\n+    abline(h=0,v=0)}\r\n+}\r\n+\r\n+\r\n'
b
diff -r f64656ae9ea4 -r 016780b192a6 batchcorrection/README.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/batchcorrection/README.txt Thu Mar 02 03:38:08 2017 -0500
b
@@ -0,0 +1,49 @@
+## ****** Determine_bc + batch_correction environnemnt : ****** ##
+# version March 2016 M Landi / F Giacomoni / M Petera / E Thevenot
+
+## --- PERL compilator / libraries : --- ##
+NA
+--
+
+## --- R bin and Packages : --- ##
+$ R --version
+R version 3.2.3 (2015-12-10) -- "Wooden Christmas-Tree"
+Platform: x86_64-redhat-linux-gnu (64-bit)
+
+The dependent libs are :
+>install.packages("batch", dep=TRUE)
+>install.packages("ade4", dep=TRUE)
+
+>source("http://www.bioconductor.org/biocLite.R")
+>biocLite("pcaMethods")
+>biocLite("ropls")
+-- 
+
+## --- Binary dependencies --- ##
+NA
+--
+
+## --- Config : --- ##
+NA
+--
+
+## --- XML HELP PART --- ##
+two tools - two images :
+batch_correction.png
+determine_batch_correction.png
+--
+
+## --- DATASETS --- ##
+No data set ! waiting for galaxy pages
+--
+
+## --- ??? COMMENTS ??? --- ##
+!WARNING! : Two tools in the same directory !
+--
+
+## --- Changelog/News --- ##
+Version 2.0.3:
+- Update: plot layout improvement
+- Update: suppression of combined table for simca
+- Improvement: addition of a new parameter "Null values"
+--
\ No newline at end of file
b
diff -r f64656ae9ea4 -r 016780b192a6 batchcorrection/RcheckLibrary.R
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/batchcorrection/RcheckLibrary.R Thu Mar 02 03:38:08 2017 -0500
[
@@ -0,0 +1,124 @@
+######################################################
+# R check library
+# Coded by: M.Petera, 
+# - -
+# R functions to use in R scripts  
+# (management of various generic subroutines)
+# - -
+# V0: script structure + first functions
+# V1: More detailed error messages in match functions
+######################################################
+
+
+# Generic function to return an error if problems have been encountered - - - -
+
+check.err <- function(err.stock){
+
+ # err.stock = vector of results returned by check functions
+
+ if(length(err.stock)!=0){ stop("\n- - - - - - - - -\n",err.stock,"\n- - - - - - - - -\n") }
+
+}
+
+
+
+
+# Table match check functions - - - - - - - - - - - - - - - - - - - - - - - - -
+
+# To check if dataMatrix and (variable or sample)Metadata match regarding identifiers
+match2 <- function(dataMatrix, Metadata, Mtype){
+
+ # dataMatrix = data.frame containing dataMatrix
+ # Metadata = data.frame containing sampleMetadata or variableMetadata
+ # Mtype = "sample" or "variable" depending on Metadata content
+
+ err.stock <- NULL # error vector
+
+ id2 <- Metadata[,1]
+ if(Mtype=="sample"){ id1 <- colnames(dataMatrix)[-1] }
+ if(Mtype=="variable"){ id1 <- dataMatrix[,1] }
+
+ if( length(which(id1%in%id2))!=length(id1) || length(which(id2%in%id1))!=length(id2) ){
+ err.stock <- c("\nData matrix and ",Mtype," metadata do not match regarding ",Mtype," identifiers.")
+ if(length(which(id1%in%id2))!=length(id1)){
+ if(length(which(!(id1%in%id2)))<4){ err.stock <- c(err.stock,"\n    The ")
+ }else{ err.stock <- c(err.stock,"\n    For example, the ") }
+ err.stock <- c(err.stock,"following identifiers found in the data matrix\n",
+ "    do not appear in the ",Mtype," metadata file:\n")
+ identif <- id1[which(!(id1%in%id2))][1:min(3,length(which(!(id1%in%id2))))]
+ err.stock <- c(err.stock,"    ",paste(identif,collapse="\n    "),"\n")
+ }
+ if(length(which(id2%in%id1))!=length(id2)){
+ if(length(which(!(id2%in%id1)))<4){ err.stock <- c(err.stock,"\n    The ")
+ }else{ err.stock <- c(err.stock,"\n    For example, the ") }
+ err.stock <- c(err.stock,"following identifiers found in the ",Mtype," metadata file\n",
+ "    do not appear in the data matrix:\n")
+ identif <- id2[which(!(id2%in%id1))][1:min(3,length(which(!(id2%in%id1))))]
+ err.stock <- c(err.stock,"    ",paste(identif,collapse="\n    "),"\n")
+ }
+ err.stock <- c(err.stock,"\nPlease check your data.\n")
+ }
+
+ return(err.stock)
+
+}
+
+# To check if the 3 standard tables match regarding identifiers
+match3 <- function(dataMatrix, sampleMetadata, variableMetadata){
+
+ # dataMatrix = data.frame containing dataMatrix
+ # sampleMetadata = data.frame containing sampleMetadata
+ # variableMetadata = data.frame containing variableMetadata
+
+ err.stock <- NULL # error vector
+
+ id1 <- colnames(dataMatrix)[-1]
+ id2 <- sampleMetadata[,1]
+ id3 <- dataMatrix[,1]
+ id4 <- variableMetadata[,1]
+
+ if( length(which(id1%in%id2))!=length(id1) || length(which(id2%in%id1))!=length(id2) ){
+ err.stock <- c(err.stock,"\nData matrix and sample metadata do not match regarding sample identifiers.")
+ if(length(which(id1%in%id2))!=length(id1)){
+ if(length(which(!(id1%in%id2)))<4){ err.stock <- c(err.stock,"\n    The ")
+ }else{ err.stock <- c(err.stock,"\n    For example, the ") }
+ err.stock <- c(err.stock,"following identifiers found in the data matrix\n",
+ "    do not appear in the sample metadata file:\n")
+ identif <- id1[which(!(id1%in%id2))][1:min(3,length(which(!(id1%in%id2))))]
+ err.stock <- c(err.stock,"    ",paste(identif,collapse="\n    "),"\n")
+ }
+ if(length(which(id2%in%id1))!=length(id2)){
+ if(length(which(!(id2%in%id1)))<4){ err.stock <- c(err.stock,"\n    The ")
+ }else{ err.stock <- c(err.stock,"\n    For example, the ") }
+ err.stock <- c(err.stock,"following identifiers found in the sample metadata file\n",
+ "    do not appear in the data matrix:\n")
+ identif <- id2[which(!(id2%in%id1))][1:min(3,length(which(!(id2%in%id1))))]
+ err.stock <- c(err.stock,"    ",paste(identif,collapse="\n    "),"\n")
+ }
+ }
+
+ if( length(which(id3%in%id4))!=length(id3) || length(which(id4%in%id3))!=length(id4) ){
+ err.stock <- c(err.stock,"\nData matrix and variable metadata do not match regarding variable identifiers.")
+ if(length(which(id3%in%id4))!=length(id3)){
+ if(length(which(!(id3%in%id4)))<4){ err.stock <- c(err.stock,"\n    The ")
+ }else{ err.stock <- c(err.stock,"\n    For example, the ") }
+ err.stock <- c(err.stock,"following identifiers found in the data matrix\n",
+ "    do not appear in the variable metadata file:\n")
+ identif <- id3[which(!(id3%in%id4))][1:min(3,length(which(!(id3%in%id4))))]
+ err.stock <- c(err.stock,"    ",paste(identif,collapse="\n    "),"\n")
+ }
+ if(length(which(id4%in%id3))!=length(id4)){
+ if(length(which(!(id4%in%id3)))<4){ err.stock <- c(err.stock,"\n    The ")
+ }else{ err.stock <- c(err.stock,"\n    For example, the ") }
+ err.stock <- c(err.stock,"following identifiers found in the variable metadata file\n",
+ "    do not appear in the data matrix:\n")
+ identif <- id4[which(!(id4%in%id3))][1:min(3,length(which(!(id4%in%id3))))]
+ err.stock <- c(err.stock,"    ",paste(identif,collapse="\n    "),"\n")
+ }
+ }
+
+ if(length(err.stock)!=0){ err.stock <- c(err.stock,"\nPlease check your data.\n") }
+
+ return(err.stock)
+
+}
\ No newline at end of file
b
diff -r f64656ae9ea4 -r 016780b192a6 batchcorrection/batch_correction.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/batchcorrection/batch_correction.xml Thu Mar 02 03:38:08 2017 -0500
b
b'@@ -0,0 +1,694 @@\n+<tool id="Batch_correction" name="Batch_correction" version="2.0.3">\r\n+\t<description>Corrects intensities for signal drift and batch-effects</description>\r\n+\t\r\n+\t<command interpreter="Rscript">\r\n+\t\t#if str($span_condition.method) == \'all_loess_pool\':\r\n+\t\t\tbatch_correction_all_loess_wrapper.R\r\n+\t\t\t\tdataMatrix "$dataMatrix"\r\n+\t\t\t\tsampleMetadata "$sampleMetadata"\r\n+\t\t\t\tvariableMetadata "$variableMetadata"\r\n+\t\t\t\tmethod "all_loess_pool"\r\n+\t\t\t\tspan "${span_condition.span}"\r\n+\t\t\t\t\r\n+\t\t#elif str($span_condition.method) == \'all_loess_sample\':\r\n+\t\t\tbatch_correction_all_loess_wrapper.R\r\n+\t\t\t\tdataMatrix "$dataMatrix"\r\n+\t\t\t\tsampleMetadata "$sampleMetadata"\r\n+\t\t\t\tvariableMetadata "$variableMetadata"\r\n+\t\t\t\tmethod "all_loess_sample"\r\n+\t\t\t\tspan "${span_condition.span}"\r\n+\t\t#else:\r\n+\t\t\tbatch_correction_wrapper.R\r\n+\t\t\t\tanalyse "batch_correction"\r\n+\t\t\t\tdataMatrix "$dataMatrix"\r\n+\t\t\t\tsampleMetadata "$sampleMetadata"\r\n+\t\t\t\tvariableMetadata "$variableMetadata"\r\n+\t\t\t\tmethod "${span_condition.method}"\r\n+\t\t\t\t#if str($span_condition.method) == \'linear\':\r\n+\t\t\t\t\tspan "none"\r\n+\t\t\t\t#else:\r\n+\t\t\t\t\tspan "${span_condition.span}"\r\n+\t\t\t\t#end if\r\n+\t\t\t\tvalnull "${span_condition.valnull}"\r\n+\t\t\t\tref_factor "${span_condition.ref_factor}"\r\n+\t\t\t\tdetail "${span_condition.detail}"\r\n+\t\t#end if\r\n+\t\tdataMatrix_out "$dataMatrix_out" variableMetadata_out "$variableMetadata_out"\r\n+\t\tgraph_output "$graph_output"  rdata_output "$rdata_output"\r\n+\t</command>\r\n+\t<inputs>\r\n+\t\t<param name="dataMatrix" label="Data Matrix file " format="tabular" type="data" />\r\n+\t\t<param name="sampleMetadata" label="Sample metadata file " format="tabular" type="data" help="must contain at least the three following columns: \'batch\' + \'injectionOrder\' + \'sampleType\'"/>\r\n+\t\t<param name="variableMetadata" label="Variable metadata file " format="tabular" type="data" />\r\n+\t\t\r\n+\t\t<conditional name="span_condition">\r\n+\t\t\t<param name="method" label="Type of regression model " type="select" help="To select between linear or non-linear (lowess or loess) methods to be used in Van der Kloet algorithm ; when using loess, you can choose to use pools or samples to model batch effect.">\r\n+\t\t\t\t<option value="linear">linear</option>\r\n+\t\t\t\t<option value="lowess">lowess</option>\r\n+\t\t\t\t<option value="loess">loess</option>\r\n+\t\t\t\t<option value="all_loess_pool">all loess pool</option>\r\n+\t\t\t\t<option value="all_loess_sample">all loess sample</option>\r\n+\t\t\t</param>\r\n+\t\t\t<when value="linear">\r\n+\t\t\t\t<param name="valnull" label="Null values" type="select" display="radio" help="What to do of generated negative or infinite values">\r\n+\t\t\t\t\t<option value="0">consider it as a null intensity</option>\r\n+\t\t\t\t\t<option value="NA">consider it as a missing value</option>\r\n+\t\t\t\t</param>\r\n+\t\t\t\t<param name="ref_factor" label="Factor of interest " type="text"  value="batch" help="column name of factor of interest (often a biological factor); if none, leave \'batch\'" />\r\n+\t\t\t\t<param name="detail" label="Level of details for plots " type="select" help="Amount of plots in the pdf file output. See Help section for more details.">\r\n+\t\t\t\t\t<option value="no">basic</option>\r\n+\t\t\t\t\t<option value="plot">standard</option>\r\n+\t\t\t\t\t<option value="reg">complete</option>\r\n+\t\t\t\t</param>\r\n+\t\t\t</when>\r\n+\t\t\t<when value="lowess">\r\n+\t\t\t\t<param name="span" type="float" value="0.85" label="span" help="it is a advanced option. Must be less than or equal to 1"/>\r\n+\t\t\t\t<param name="valnull" label="Null values" type="select" display="radio" help="What to do of generated negative or infinite values">\r\n+\t\t\t\t\t<option value="0">consider it as a null intensity</option>\r\n+\t\t\t\t\t<option value="NA">consider it as a missing value</option>\r\n+\t\t\t\t</param>\r\n+\t\t\t\t<param name="ref_factor" label="Factor of interest " type="text"  value="batch" help="column name of factor of interest (often a biological factor); if none, leave \'batch\'" />\r\n+\t\t\t\t<param name="detail" label="Level of details for plots " type="select" help="Amount of plots in the pdf file output. See Help sectio'..b'776585093\t31.3312796509314\t347.760990090909\t1441.84619925857\t90.295450550822\r\n+\tX16437\t16437\t3\tQ4\t1\t01_08_2011\t8\ts\t152.244202534309\t77.3858014174909\t26.5039180350956\t28.2973388561794\t726.452054090909\t1289.1587961513\t86.5570806388865\r\n+\tX16878\t16878\t3\tQ1\t1\t01_08_2011\t19\ts\t134.003896781277\t79.3380903129169\t24.5917342073347\t45.5165130382572\t92.9168421818182\t1886.14854378149\t117.979273835979\r\n+\tX16888\t16888\t3\tQ4\t1\t01_08_2011\t15\ts\t160.400880621802\t78.0971960028743\t24.4134171806386\t87.9420387946402\t674.263651818182\t3700.84095135577\t215.548190721704\r\n+\tX17159\t17159\t3\tQ4\t1\t01_08_2011\t5\ts\t807.910566388206\t83.4544189550015\t30.5167331579687\t29.4738273480161\t749.552006545455\t2478.28485110605\t140.362352983359\r\n+\tX17419\t17419\t3\tQ4\t1\t01_08_2011\t7\ts\t37.4246591541122\t76.3602136963513\t35.6007838010462\t89.9617217868595\t695.297890909091\t1405.63064191075\t84.9696956072378\r\n+\tX17489\t17489\t3\tQ4\t2\t01_08_2011\t16\ts\t172.59123002765\t79.510605337691\t28.4678268347873\t29.3101803926911\t374.833317363636\t3641.2951457659\t203.417614300817\r\n+\tX17736\t17736\t3\tQ1\t1\t01_08_2011\t3\ts\t122.877799698849\t80.1781048340628\t23.3958989887532\t46.5102426333419\t254.164383090909\t2465.74273425251\t141.373694094272\r\n+\r\n+\r\n+Norma_result.tabular::\r\n+\r\n+\tPOOL1\tPOOL2\tX12588\tX12701\tX12718\tX13117\tX13341\tX13875\tX14325\tX15432\tX15635\tX16172\tX16220\tX16235\tX16392\tX16437\tX16878\tX16888\tX17159\tX17419\tX17489\tX17736\r\n+\tion01\t183.806309736177\t190.655485025641\t220.281338788057\t80.2553876257053\t0\t112.693700265425\t137.052799630498\t70.0532376321925\t183.929467815501\t123.859263984884\t761.958946663093\t97.3641336556051\t160.402716323636\t117.83745429722\t91.4762657301598\t152.244202534309\t134.003896781277\t160.400880621802\t807.910566388206\t37.4246591541122\t172.59123002765\t122.877799698849\r\n+\tion02\t78.555522674121\t82.783250185879\t87.500123119505\t74.3121648660553\t76.3220813847312\t84.4919000357226\t84.0842765863284\t81.4090675909135\t94.695360623753\t80.6950981610103\t82.5290665188414\t77.3172000270102\t72.5258925581935\t78.6308645435113\t84.5502020280356\t77.3858014174909\t79.3380903129169\t78.0971960028743\t83.4544189550015\t76.3602136963513\t79.510605337691\t80.1781048340628\r\n+\tion03\t24.2565782732588\t25.2333869921957\t24.4029802274792\t25.4930666232626\t29.4993682273574\t18.251402938821\t26.4443462044465\t20.3487238346046\t22.5226896299416\t31.6793877676942\t21.4044648499099\t17.2155856179699\t24.4649275827679\t18.315419286157\t21.3669776585093\t26.5039180350956\t24.5917342073347\t24.4134171806386\t30.5167331579687\t35.6007838010462\t28.4678268347873\t23.3958989887532\r\n+\tion04\t67.2059357441544\t31.0106280849366\t62.5632990312483\t103.089356639338\t24.2539829611226\t41.3577240621519\t21.2284636032788\t23.2831876997425\t47.497332543935\t62.6545185712173\t86.9208671903241\t58.6271832180619\t37.3959023125888\t24.950677956983\t31.3312796509314\t28.2973388561794\t45.5165130382572\t87.9420387946402\t29.4738273480161\t89.9617217868595\t29.3101803926911\t46.5102426333419\r\n+\tion05\t0\t0\t94.2986763636364\t414.218462818182\t600.817868636364\t578.781479727273\t467.623937181818\t67.7758438818182\t395.130825545454\t803.848495272727\t468.946563181818\t362.182051727273\t498.740498727273\t52.1508526818182\t347.760990090909\t726.452054090909\t92.9168421818182\t674.263651818182\t749.552006545455\t695.297890909091\t374.833317363636\t254.164383090909\r\n+\tion06\t2756.58450391724\t2621.24237826457\t3459.67039593807\t2259.03570054876\t3542.65272205883\t2628.90920103769\t3392.25066785752\t3358.22588611392\t2589.44599169574\t3429.68592298187\t2758.73531975414\t2238.0970735015\t2103.99860111142\t3708.61347563638\t1441.84619925857\t1289.1587961513\t1886.14854378149\t3700.84095135577\t2478.28485110605\t1405.63064191075\t3641.2951457659\t2465.74273425251\r\n+\tion07\t158.052416850832\t157.236695576441\t193.243760535699\t127.848278698451\t215.622242057156\t150.522965863022\t187.147883253472\t208.498595063134\t141.360943533866\t193.242902316211\t163.776450823485\t151.418448347397\t143.406307055514\t196.298993992243\t90.295450550822\t86.5570806388865\t117.979273835979\t215.548190721704\t140.362352983359\t84.9696956072378\t203.417614300817\t141.373694094272\r\n+\r\n+</tool>\r\n'
b
diff -r f64656ae9ea4 -r 016780b192a6 batchcorrection/batch_correction_all_loess_script.R
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/batchcorrection/batch_correction_all_loess_script.R Thu Mar 02 03:38:08 2017 -0500
[
b'@@ -0,0 +1,294 @@\n+loessF <- function(datVn, qcaVi, preVi, spnN) {\r\n+\r\n+    if(length(qcaVi) < 5) {\r\n+    \r\n+        return(predict(lm(datVn[qcaVi] ~ qcaVi),\r\n+                       newdata = data.frame(qcaVi = preVi)))\r\n+\r\n+    } else {\r\n+\r\n+        return(predict(loess(datVn[qcaVi] ~ qcaVi,\r\n+                             control = loess.control(surface = "direct"),\r\n+                             span = spnN),\r\n+                       newdata = data.frame(qcaVi = preVi)))\r\n+\r\n+    }\r\n+\r\n+    ## Note:\r\n+    ##  the surface = \'direct\' argument allows extrapolation\r\n+\r\n+} ## loessF\r\n+\r\n+plotBatchF <- function(datMN, samDF.arg, spnN.arg) {\r\n+\r\n+    maiC <- switch(gsub("MN", "", deparse(substitute(datMN))),\r\n+                   raw = "Raw",\r\n+                   nrm = "Normalized")\r\n+\r\n+    colVc <- c(sample = "green4",\r\n+               pool = "red",\r\n+               blank = "black",\r\n+               other = "yellow")\r\n+\r\n+    par(font = 2, font.axis = 2, font.lab = 2, lwd = 2, pch = 18)\r\n+\r\n+    layout(matrix(c(1, 1, 2, 3), nrow = 2),\r\n+           widths = c(0.7, 0.3))\r\n+\r\n+    obsNamVc <- rownames(datMN)\r\n+\r\n+    obsColVc <- sapply(samDF.arg[, "sampleType"],\r\n+                       function(typC)\r\n+                       ifelse(typC %in% names(colVc), colVc[typC], colVc["other"]))\r\n+\r\n+    ## Graphic 1: Sum of intensities for each sample\r\n+\r\n+    par(mar = c(3.6, 3.6, 3.1, 0.6))\r\n+\r\n+    batTab <- table(samDF.arg[, "batch"])\r\n+\r\n+    sumVn <- rowSums(datMN, na.rm = TRUE)\r\n+\r\n+    plot(sumVn,\r\n+         cex = 1.2,\r\n+         col = obsColVc,\r\n+         pch = 18,\r\n+         xaxs = "i",\r\n+         xlab = "",\r\n+         ylab = "")\r\n+\r\n+    mtext("Injection order",\r\n+          line = 2.2,\r\n+          side = 1)\r\n+    mtext("Sum of variable intensities",\r\n+          line = 2.2,\r\n+          side = 2)\r\n+\r\n+    mtext(maiC, cex = 1.2, line = 1.5, side = 3)\r\n+\r\n+    abline(v = cumsum(batTab) + 0.5,\r\n+           col = "red")\r\n+\r\n+    mtext(names(batTab),\r\n+          at = batTab / 2 + c(0, cumsum(batTab[-length(batTab)])))\r\n+\r\n+    obsColVuc <- obsColVc[sort(unique(names(obsColVc)))]\r\n+\r\n+    text(rep(batTab[1], times = length(obsColVuc)),\r\n+         par("usr")[3] + (0.97 - length(obsColVuc) * 0.03 + 1:length(obsColVuc) * 0.03) * diff(par("usr")[3:4]),\r\n+         col = obsColVuc,\r\n+         font = 2,\r\n+         labels = names(obsColVuc),\r\n+         pos = 2)\r\n+\r\n+    for(batC in names(batTab)) {\r\n+\r\n+        batSeqVi <- which(samDF.arg[, "batch"] == batC)\r\n+        batPooVi <- intersect(batSeqVi,\r\n+                              grep("pool", samDF.arg[, "sampleType"]))\r\n+        batSamVi <- intersect(batSeqVi,\r\n+                              grep("sample", samDF.arg[, "sampleType"]))\r\n+        if(length(batPooVi))\r\n+            lines(batSeqVi,\r\n+                  loessF(sumVn, batPooVi, batSeqVi, spnN=spnN.arg),\r\n+                  col = colVc["pool"])\r\n+        lines(batSeqVi,\r\n+              loessF(sumVn, batSamVi, batSeqVi, spnN=spnN.arg),\r\n+              col = colVc["sample"])\r\n+\r\n+    }\r\n+\r\n+    ## Graphics 2 and 3 (right): PCA score plots of components 1-4\r\n+\r\n+    radVn <- seq(0, 2 * pi, length.out = 100)\r\n+    epsN <- .Machine[["double.eps"]] ## [1] 2.22e-16\r\n+\r\n+    pcaMN <- datMN\r\n+\r\n+    if(any(is.na(pcaMN))) {\r\n+        minN <- min(pcaMN, na.rm = TRUE)\r\n+        pcaMN[is.na(pcaMN)] <- minN\r\n+    }\r\n+\r\n+    pcaLs <- opls(pcaMN, predI = 4, algoC = "svd", printL = FALSE, plotL = FALSE)\r\n+    tMN <- getScoreMN(pcaLs)\r\n+    vRelVn <- pcaLs@modelDF[, "R2X"]\r\n+\r\n+    n <- nrow(tMN)\r\n+    hotN <- 2 * (n - 1) * (n^2 - 1) / (n^2 * (n - 2))\r\n+\r\n+    hotFisN <- hotN * qf(0.95, 2, n - 2)\r\n+\r\n+    pcsLs <- list(c(1, 2), c(3, 4))\r\n+\r\n+    par(mar = c(3.6, 3.6, 0.6, 1.1))\r\n+\r\n+    for(pcsN in 1:length(pcsLs)) {\r\n+\r\n+        pcsVn <- pcsLs[[pcsN]]\r\n+\r\n+        tcsMN <- tMN[, pcsVn]\r\n+\r\n+        micMN <- solve(cov(tcsMN))\r\n+\r\n+        n <- nrow(tMN)\r\n+        hotN <- 2 * (n - 1) * (n^2 - 1) / (n^2 * (n - 2))\r\n+\r\n+        hotFisN <- hotN * qf(0.95, 2'..b'2,\r\n+              side = 1)\r\n+        mtext(yLabC,\r\n+              line = 2.2,\r\n+              side = 2)\r\n+\r\n+        par(lwd = 1)\r\n+\r\n+        abline(v = axTicks(1),\r\n+               col = "grey")\r\n+\r\n+        abline(h = axTicks(2),\r\n+               col = "grey")\r\n+\r\n+        abline(v = 0)\r\n+        abline(h = 0)\r\n+\r\n+        lines(sqrt(var(tcsMN[, 1]) * hotFisN) * cos(radVn),\r\n+              sqrt(var(tcsMN[, 2]) * hotFisN) * sin(radVn))\r\n+\r\n+        points(tcsMN,\r\n+               col = obsColVc,\r\n+               pch = 18)\r\n+\r\n+        if(length(obsHotVi))\r\n+            text(tcsMN[obsHotVi, 1],\r\n+                 tcsMN[obsHotVi, 2],\r\n+                 col = obsColVc[obsHotVi],\r\n+                 labels = obsNamVc[obsHotVi],\r\n+                 pos = 3)\r\n+\r\n+    } ## for(pcsN in 1:length(pcsLs)) {\r\n+\r\n+    return(invisible(list(sumVn = sumVn,\r\n+                          tcsMN = tcsMN)))\r\n+\r\n+} ## plotBatchF\r\n+\r\n+shiftBatchCorrectF <- function(rawMN.arg,\r\n+                               samDF.arg,\r\n+                               refC.arg,\r\n+                               spnN.arg) {\r\n+\r\n+    cat("\\nReference observations are: ", refC.arg, "\\n")\r\n+\r\n+    ## computing median off all pools (or samples) for each variable\r\n+\r\n+    refMeaVn <- apply(rawMN.arg[samDF.arg[, "sampleType"] == refC.arg, ],\r\n+                      2,\r\n+                      function(feaRefVn) mean(feaRefVn, na.rm = TRUE))\r\n+\r\n+    ## splitting data and sample metadata from each batch\r\n+\r\n+    batRawLs <- split(as.data.frame(rawMN.arg),\r\n+                      f = samDF.arg[, "batch"])\r\n+    batRawLs <- lapply(batRawLs, function(inpDF) as.matrix(inpDF))\r\n+\r\n+    batSamLs <- split(as.data.frame(samDF.arg),\r\n+                      f = samDF.arg[, "batch"])\r\n+\r\n+    ## checking extrapolation: are there pools at the first and last observations of each batch\r\n+\r\n+    if(refC.arg == "pool") {\r\n+        pooExtML <- matrix(FALSE, nrow = 2, ncol = length(batRawLs),\r\n+                           dimnames = list(c("first", "last"), names(batRawLs)))\r\n+        for(batC in names(batSamLs)) {\r\n+            batSamTypVc <- batSamLs[[batC]][, "sampleType"]\r\n+            pooExtML["first", batC] <- head(batSamTypVc, 1) == "pool"\r\n+            pooExtML["last", batC] <- tail(batSamTypVc, 1) == "pool"\r\n+        }\r\n+        if(!all(c(pooExtML))) {\r\n+            cat("\\nWarning: Pools are missing at the first and/or last position of the following batches:\\n")\r\n+            pooExtBatVi <- which(!apply(pooExtML, 2, all))\r\n+            for(i in 1:length(pooExtBatVi))\r\n+                cat(names(pooExtBatVi)[i], ": ",\r\n+                    paste(rownames(pooExtML)[!pooExtML[, pooExtBatVi[i]]], collapse = ", "), "\\n", sep = "")\r\n+            cat("Extrapolating loess fits for these batches may result in inaccurate modeling!\\n")\r\n+        }\r\n+    }\r\n+\r\n+    ## normalizing\r\n+\r\n+    nrmMN <- NULL ## normalized data matrix to be computed\r\n+\r\n+    cat("\\nProcessing batch:")\r\n+\r\n+    for(batC in names(batRawLs)) { ## processing each batch individually\r\n+\r\n+        cat("\\n", batC)\r\n+\r\n+        batRawMN <- batRawLs[[batC]]\r\n+        batSamDF <- batSamLs[[batC]]\r\n+\r\n+        batAllVi <- 1:nrow(batRawMN)\r\n+\r\n+        batRefVi <- grep(refC.arg, batSamDF[, "sampleType"])\r\n+\r\n+        if(length(batRefVi) < 5)\r\n+            cat("\\nWarning: less than 5 \'", refC.arg, "\'; linear regression will be performed instead of loess regression for this batch\\n", sep="")\r\n+\r\n+        ## prediction of the loess fit\r\n+\r\n+        batLoeMN <- apply(batRawMN,\r\n+                          2,\r\n+                          function(rawVn) loessF(rawVn, batRefVi, batAllVi, spnN=spnN.arg))\r\n+\r\n+        ## normalization\r\n+\r\n+        batLoeMN[batLoeMN <= 0] <- NA\r\n+\r\n+        batNrmMN <- batRawMN / batLoeMN\r\n+\r\n+        nrmMN <- rbind(nrmMN,\r\n+                       batNrmMN)\r\n+\r\n+    }\r\n+\r\n+    cat("\\n")\r\n+\r\n+    nrmMN <- sweep(nrmMN, MARGIN = 2, STATS = refMeaVn, FUN = "*")\r\n+\r\n+    return(nrmMN)\r\n+\r\n+} ## shiftBatchCorrectF\r\n'
b
diff -r f64656ae9ea4 -r 016780b192a6 batchcorrection/batch_correction_all_loess_wrapper.R
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/batchcorrection/batch_correction_all_loess_wrapper.R Thu Mar 02 03:38:08 2017 -0500
[
@@ -0,0 +1,199 @@
+## Etienne Thevenot
+## CEA, MetaboHUB Paris
+## etienne.thevenot@cea.fr
+## April 8th, 2015
+
+library(batch) ## necessary for parseCommandArgs function
+args = parseCommandArgs(evaluate=FALSE) #interpretation of arguments given in command line as an R list of objects
+
+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("batch_correction_all_loess_script.R")
+
+
+
+argVc <- unlist(args)
+
+##  argVc["method"] is either 'all_loess_pool' or 'all_loess_sample'
+##  alternative version developped by CEA
+##  all variables are treated with loess
+##  the reference observations for loess are either 'pool'
+## ('all_loess_pool') or 'sample' ('all_loess_sample')
+
+
+#### Start_of_tested_code <- function() {}
+
+
+##------------------------------
+## Initializing
+##------------------------------
+
+## options
+##--------
+
+strAsFacL <- options()$stringsAsFactors
+options(stringsAsFactors = FALSE)
+
+## libraries
+##----------
+
+suppressMessages(library(ropls))
+
+## constants
+##----------
+
+modNamC <- "Batch correction" ## module name
+
+## log file
+##---------
+
+## sink(argVc["information"]) ## not implemented
+
+cat("\nStart of the '", modNamC, "' Galaxy module call: ",
+    format(Sys.time(), "%a %d %b %Y %X"), "\n", sep="")
+
+## loading
+##--------
+
+rawMN <- t(as.matrix(read.table(argVc["dataMatrix"],
+                                header = TRUE,
+                                row.names = 1,
+                                sep = "\t")))
+
+samDF <- read.table(argVc["sampleMetadata"],
+                    header = TRUE,
+                    row.names = 1,
+                    sep = "\t")
+
+varDF <- read.table(argVc["variableMetadata"],
+                    check.names = FALSE,
+                    header = TRUE,
+                    row.names = 1,
+                    sep = "\t") ## not used; for compatibility only
+
+refC <- tolower(gsub("all_loess_", "", argVc["method"]))
+
+spnN <- as.numeric(argVc["span"])
+
+## checking
+##---------
+
+if(packageVersion("ropls") < "0.10.16")
+    cat("\nWarning: new version of the 'ropls' package is available\n", sep="")
+
+stopifnot(refC %in% c("pool", "sample"))
+
+if(refC == "pool" &&
+   !any("pool" %in% samDF[, "sampleType"]))
+    stop("No 'pool' found in the 'sampleType' column; use the samples as normalization reference instead")
+
+refMN <- rawMN[samDF[, "sampleType"] == refC, ]
+refNasZerVl <- apply(refMN, 2,
+                     function(refVn)
+                     all(sapply(refVn,
+                                function(refN) {is.na(refN) || refN == 0})))
+
+if(sum(refNasZerVl)) {
+
+    refNasZerVi <- which(refNasZerVl)
+    cat("The following variables have 'NA' or 0 values in all reference samples; they will be removed from the data:\n", sep = "")
+    print(refNasZerVi)
+    rawMN <- rawMN[, !refNasZerVl, drop = FALSE]
+    varDF <- varDF[!refNasZerVl, , drop = FALSE]
+
+}
+
+##------------------------------
+## Computation
+##------------------------------
+
+
+## ordering (batch and injection order)
+##-------------------------------------
+
+samDF[, "ordIniVi"] <- 1:nrow(rawMN)
+ordBatInjVi <- order(samDF[, "batch"], samDF[, "injectionOrder"])
+rawMN <- rawMN[ordBatInjVi, ]
+samDF <- samDF[ordBatInjVi, ]
+
+## signal drift and batch-effect correction
+##-----------------------------------------
+
+nrmMN <- shiftBatchCorrectF(rawMN,
+                            samDF,
+                            refC,
+                            spnN)
+
+## figure
+##-------
+
+cat("\nPlotting\n")
+
+pdf(argVc["graph_output"], onefile = TRUE, width = 11, height = 7)
+plotBatchF(rawMN, samDF, spnN)
+plotBatchF(nrmMN, samDF, spnN)
+dev.off()
+
+## returning to initial order
+##---------------------------
+
+ordIniVi <- order(samDF[, "ordIniVi"])
+nrmMN <- nrmMN[ordIniVi, ]
+samDF <- samDF[ordIniVi, ]
+samDF <- samDF[, colnames(samDF) != "ordIniVi", drop=FALSE]
+
+
+##------------------------------
+## Ending
+##------------------------------
+
+
+## saving
+##-------
+
+datMN <- nrmMN
+
+datDF <- cbind.data.frame(dataMatrix = colnames(datMN),
+                          as.data.frame(t(datMN)))
+write.table(datDF,
+            file = argVc["dataMatrix_out"],
+            quote = FALSE,
+            row.names = FALSE,
+            sep = "\t")
+
+varDF <- cbind.data.frame(variableMetadata = rownames(varDF),
+                          varDF) ## not modified; for compatibility only
+write.table(varDF,
+            file = argVc["variableMetadata_out"],
+            quote = FALSE,
+            row.names = FALSE,
+            sep = "\t")
+
+
+res <- list(dataMatrix_raw = rawMN,
+            dataMatrix_normalized = nrmMN,
+            sampleMetadata = samDF)
+save(res,
+     file = argVc["rdata_output"]) ## for compatibility
+
+## closing
+##--------
+
+cat("\nEnd of '", modNamC, "' Galaxy module call: ",
+    as.character(Sys.time()), "\n", sep = "")
+
+## sink()
+
+options(stringsAsFactors = strAsFacL)
+
+
+#### End_of_tested_code <- function() {}
+
+
+rm(argVc)
+
b
diff -r f64656ae9ea4 -r 016780b192a6 batchcorrection/batch_correction_wrapper.R
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/batchcorrection/batch_correction_wrapper.R Thu Mar 02 03:38:08 2017 -0500
[
@@ -0,0 +1,131 @@
+#!/usr/bin/Rscript --vanilla --slave --no-site-file
+
+################################################################################################
+# batch_correction_wrapper                                                                     #
+#                                                                                              #
+# Author: Marion LANDI / Jean-Francois MARTIN / Melanie Petera                                 #
+# User: Galaxy                                                                                 #
+# Original data: --                                                                            #
+# Starting date: 22-07-2014                                                                    #
+# Version 1: 22-07-2014                                                                        #
+# Version 2: 08-12-2014                                                                        #
+# Version 2.1: 09-01-2015 modification in Error message of sample matching                     #
+# Version 2.2: 16-03-2015 inclusion of miniTools' functions for special characters             #
+# Version 2.90: 18-08-2015 new parameter valnull                                               #
+# Version 2.91: 25-08-2016 error message improvment                                            #
+#                                                                                              #
+#                                                                                              #
+# Input files: dataMatrix.txt ; sampleMetadata.txt ; variableMetadata.txt (for DBC)            #
+# Output files: graph_output.pdf ; corrected table ; diagnostic table                          #
+#                                                                                              #
+################################################################################################
+
+
+library(batch) #necessary for parseCommandArgs function
+args = parseCommandArgs(evaluate=FALSE) #interpretation of arguments given in command line as an R list of objects
+
+source_local <- function(...){
+ argv <- commandArgs(trailingOnly = FALSE)
+ base_dir <- dirname(substring(argv[grep("--file=", argv)], 8))
+ for(i in 1:length(list(...))){source(paste(base_dir, list(...)[[i]], sep="/"))}
+}
+#Import the different functions
+source_local("Normalisation_QCpool.r","RcheckLibrary.R","miniTools.R")
+
+
+## Reading of input files
+idsample=read.table(args$sampleMetadata,header=T,sep='\t',check.names=FALSE)
+iddata=read.table(args$dataMatrix,header=T,sep='\t',check.names=FALSE)
+
+### Table match check 
+table.check <- match2(iddata,idsample,"sample")
+if(length(table.check)>1){check.err(table.check)}
+
+### StockID
+samp.id <- stockID(iddata,idsample,"sample")
+iddata<-samp.id$dataMatrix ; idsample<-samp.id$Metadata ; samp.id<-samp.id$id.match
+
+### Checking mandatory variables
+mand.check <- ""
+for(mandcol in c("sampleType","injectionOrder","batch")){
+  if(!(mandcol%in%colnames(idsample))){
+    mand.check <- c(mand.check,"\nError: no '",mandcol,"' column in sample metadata.\n",
+                    "Note: table must include this exact column name (it is case-sensitive).\n")
+  }
+}
+if(length(mand.check)>1){
+  mand.check <- c(mand.check,"\nFor more information, see the help section or:",
+                  "\n http://workflow4metabolomics.org/sites/",
+                  "workflow4metabolomics.org/files/files/MS_data_processing.pdf\n")
+  check.err(mand.check)
+}
+
+### Formating
+idsample[[1]]=make.names(idsample[[1]])
+dimnames(iddata)[[1]]=iddata[[1]]
+
+### Transposition of ions data
+idTdata=t(iddata[,2:dim(iddata)[2]])
+idTdata=data.frame(dimnames(idTdata)[[1]],idTdata)
+
+### Merge of 2 files (ok even if the two dataframe are not sorted on the same key)
+id=merge(idsample, idTdata, by.x=1, by.y=1)
+
+id$batch=as.factor(id$batch)
+ids=id[id$sampleType == 'pool' | id$sampleType == 'sample',]
+nbid=dim(idsample)[2]
+
+### Checking the number of sample and pool
+
+# least 2 samples
+if(length(which(ids$sampleType == "sample"))<2){
+ table.check <- c(table.check,"\nError: less than 2 samples specified in sample metadata.",
+        "\nMake sure this is not due to errors in sampleType coding.\n")
+}
+
+# least 2 pools per batch for all batchs
+B <- rep(0,length(levels(ids$batch)))
+for(nbB in length(levels(ids$batch))){
+ B[nbB]<-length(which(ids[which(ids$batch==(levels(ids$batch)[nbB])),]$sampleType == "pool"))
+}
+if(length(which(B>1))==0){
+ table.check <- c(table.check,"\nError: less than 2 pools specified in each batch in sample metadata.",
+        "\nMake sure this is not due to errors in sampleType coding.\n")
+}
+
+### Factor of interest 
+factbio=args$ref_factor
+
+
+if(args$analyse == "batch_correction") {
+ ## Reading of Metadata Ions file
+ metaion=read.table(args$variableMetadata,header=T,sep='\t',check.names=FALSE)
+ ## Table match check 
+ table.check <- c(table.check,match2(iddata,metaion,"variable"))
+ check.err(table.check)
+
+ ## variables
+ detail=args$detail
+ method=args$method
+
+ ## outputs
+ outlog=args$graph_output
+
+ ## Launch
+ res = norm_QCpool(ids,nbid,outlog,factbio,metaion,detail,F,F,method,args$span,args$valnull)
+ save(res, file=args$rdata_output)
+ write.table(reproduceID(res[[1]],res[[3]],"sample",samp.id)$dataMatrix, file=args$dataMatrix_out, sep = '\t', row.names=F, quote=F)
+ write.table(res[[2]], file=args$variableMetadata_out, sep = '\t', row.names=F, quote=F)
+}else{
+ ## error check
+ check.err(table.check)
+
+ ## outputs
+ out_graph_pdf=args$out_graph_pdf
+ out_preNormSummary=args$out_preNormSummary
+
+ ## Launch
+ plotsituation(ids,nbid,out_graph_pdf,out_preNormSummary,factbio,args$span)
+}
+
+rm(args)
\ No newline at end of file
b
diff -r f64656ae9ea4 -r 016780b192a6 batchcorrection/determine_bc.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/batchcorrection/determine_bc.xml Thu Mar 02 03:38:08 2017 -0500
b
b'@@ -0,0 +1,265 @@\n+<tool id="Determine_BC" name="Determine_batch_correction" version="2016-03-03">\r\n+  <description>to choose between linear, lowess and loess methods</description>\r\n+  \r\n+  <command interpreter="Rscript">\r\n+    batch_correction_wrapper.R\r\n+      analyse "determine_bc"\r\n+      sampleMetadata "$sampleMetadata"\r\n+      dataMatrix "$dataMatrix"\r\n+      ref_factor "$ref_factor"\r\n+      #if str($advance.option ) == \'show\':\r\n+        span $advance.span\r\n+      #else:\r\n+        span "none"\r\n+      #end if\r\n+      out_graph_pdf "$out_graph_pdf"\r\n+      out_preNormSummary "$out_preNormSummary"\r\n+  </command>\r\n+  <inputs>\r\n+    <param name="dataMatrix" type="data" label="Data Matrix file " help="" format="tabular" />\r\n+    <param name="sampleMetadata" type="data" label="Sample metadata file " help="must contain at least the three following columns: \'batch\' + \'injectionOrder\' + \'sampleType\'" format="tabular" />\r\n+    <param name="ref_factor" type="text" label="Factor of interest " help="column name of the factor of interest (often a biological factor); if none, leave \'batch\'" value="batch" />\r\n+    <conditional name="advance">\r\n+        <param name="option" type="select" label="Advanced options" help="should only be put at \'show\' if you have good understanding of the span parameter and are willing to adjust it">\r\n+            <option value="show">show</option>\r\n+            <option value="hide" selected="true">hide</option>\r\n+        </param>\r\n+        <when value="show">\r\n+            <param name="span" type="float" value="0.85" label="span" help="applied to lowess and loess regression"/>\r\n+        </when>\r\n+    </conditional>\r\n+  </inputs>\r\n+  \r\n+  <outputs>\r\n+    <data name="out_graph_pdf" label="Determine_BC_graph" format="pdf" ></data>\r\n+    <data name="out_preNormSummary" label="Determine_BC_preNormSummary" format="tabular" ></data>\r\n+  </outputs>\r\n+  \t\r\n+  <stdio>\r\n+    <exit_code range="1:" level="fatal" />\r\n+  </stdio>\t\r\n+\t\r\n+  <help>\r\n+\r\n+.. class:: infomark\r\n+\r\n+**Authors**\r\n+  | Jean-Francois Martin - PF MetaToul-AXIOM ; INRA ; MetaboHUB (for original version of this tool and overall development of the R script)\r\n+\r\n+.. class:: infomark\r\n+\r\n+**Contributors**\r\n+  | Melanie Petera - PFEM ; INRA ; MetaboHUB (for R wrapper and R script improvement)\r\n+\r\n+.. class:: infomark\r\n+\r\n+**Wrapping**\r\n+  | Marion Landi - FLAME ; PFEM ; INRA ; MetaboHUB (for xml interface and R wrapper)\r\n+  | Franck Giacomoni - PFEM ; INRA ; MetaboHUB (for xml interface and R wrapper)\r\n+\r\n+---------------------------------------------------\r\n+\r\n+.. class:: infomark\r\n+\r\n+**Please cite** If you use this tool, please cite:\r\n+  | `F.M. van der Kloet, I. Bobeldijk, E.R. Verheij, R.H. Jellema. (2009). "Analytical error reduction using single point calibration for accurate and precise metabolomic phenotyping." Journal of Proteome Research p5132-5141 &lt;http://www.ncbi.nlm.nih.gov/pubmed/19754161&gt;`_\r\n+\r\n+---------------------------------------------------\r\n+\r\n+==========================\r\n+Determine_batch_correction\r\n+==========================\r\n+\r\n+-----------\r\n+Description\r\n+-----------\r\n+\r\n+| Allows to choose between linear or non-linear (lowess or loess) functions for batch correction\r\n+| using quality control pooled samples (QC-pools) with correction algorithm as mentioned by Van Der Kloet (J Prot Res 2009).\r\n+| \r\n+| Warning : this module does *not* deliver which choice should be made in model type;\r\n+| it only provides tools to help users to determine which choice may be appropriate, based on their own expertise.\r\n+| \r\n+| This tool is meant to be used prior to the Batch_correction tool to help make a choice in parameters,\r\n+| but it is not a requirement and thus can be avoided.\r\n+\r\n+\r\n+-----------------\r\n+Workflow position\r\n+-----------------\r\n+\r\n+.. image:: determine_batch_correction.png\r\n+        :width: 800\r\n+\r\n+\r\n+-----------\r\n+Input files\r\n+-----------\r\n+\r\n++--------------------------+-----------+\r\n+| Parameter : num + label  |   Form'..b'tions>\r\n+  \r\n+Input files\r\n+===========\r\n+\r\n+| **These two input files can be used in the purview "URL/Text:" of the tool "Get Data/Upload File",**\r\n+| **by checking the box "Convert spaces to tabs: YES"**\r\n+\r\n+Metadata_samples.txt\r\n+\tModel input Sample metadata file::\r\n+\r\n+\t\tsamples idLIMS serie factor01 factor02 batch injectionOrder sampleType\r\n+\t\tPOOL1 POOL1 pool p pool 01_08_2011 1 p\r\n+\t\tX12588 12588 3 validation 2 01_08_2011 2 s\r\n+\t\tX17736 17736 3 Q1 1 01_08_2011 3 s\r\n+\t\tX15432 15432 3 validation 1 01_08_2011 4 s\r\n+\t\tX17159 17159 3 Q4 1 01_08_2011 5 s\r\n+\t\tX14325 14325 3 validation 2 01_08_2011 6 s\r\n+\t\tX17419 17419 3 Q4 1 01_08_2011 7 s\r\n+\t\tX16437 16437 3 Q4 1 01_08_2011 8 s\r\n+\t\tX16172 16172 3 Q4 2 01_08_2011 9 s\r\n+\t\tX16392 16392 3 Q4 2 01_08_2011 10 s\r\n+\t\tX13875 13875 3 validation 2 01_08_2011 11 s\r\n+\t\tPOOL2 POOL2 pool p pool 01_08_2011 12 p\r\n+\t\tX13117 13117 3 Q4 2 01_08_2011 13 s\r\n+\t\tX13341 13341 3 Q1 2 01_08_2011 14 s\r\n+\t\tX16888 16888 3 Q4 1 01_08_2011 15 s\r\n+\t\tX17489 17489 3 Q4 2 01_08_2011 16 s\r\n+\t\tX12718 12718 3 Q1 2 01_08_2011 17 s\r\n+\t\tX16235 16235 3 Q4 2 01_08_2011 18 s\r\n+\t\tX16878 16878 3 Q1 1 01_08_2011 19 s\r\n+\t\tX12701 12701 3 validation 1 01_08_2011 20 s\r\n+\t\tX16220 16220 3 Q4 2 01_08_2011 21 s\r\n+\t\tX15635 15635 3 Q4 1 01_08_2011 22 s\r\n+\r\n+\r\n+Intensity_matrix.txt\r\n+\tModel input Matrix Ions file BEFORE IMPLEMENTATION::\r\n+\r\n+\t\tsamples POOL1 X12588 X17736 X15432 X17159 X14325 X17419 X16437 X16172 X16392 X13875 POOL2 X13117 X13341 X16888 X17489 X12718 X16235 X16878 X12701 X16220 X15635\r\n+\t\tion01 188.4140625 219.729126 122.5697632 123.5487671 805.8852539 183.4683838 37.33084106 151.8625488 97.12005615 91.24694824 69.87762451 195.4349365 112.4111938 136.7092285 159.9987793 172.1585693 0 117.5420532 133.6679688 80.05419922 160.0006104 760.0488281\r\n+\t\tion02 82.02575684 87.11358643 79.82391357 80.33862305 83.08575439 94.27703857 76.02288818 77.04394531 76.97564697 84.17669678 81.04943848 86.44024658 84.11865234 83.71282959 77.75219727 79.15936279 75.98492432 78.2835083 78.98760986 73.98388672 72.20550537 82.16448975\r\n+\t\tion03 25.31900024 24.2960968 23.29342651 31.54063416 30.3830719 22.42404175 35.44485474 26.38783264 17.1401825 21.27339172 20.25959778 26.33859253 18.17146301 26.32852173 24.30648804 28.34313965 29.37016296 18.23519897 24.48402405 25.38140869 24.35777283 21.31071472\r\n+\t\tion04 65.87536621 62.68716431 46.60232544 62.77856445 29.53218079 47.59136963 90.13983154 28.35336304 58.74325562 31.39331055 23.32928467 30.39666748 41.43960571 21.27049255 88.1161499 29.36820984 24.30200195 25.00007629 45.60662842 103.293457 37.46994019 87.09295654\r\n+\t\tion05 0 103.728544 279.5808214 884.2333448 824.5072072 434.6439081 764.82768 799.0972595 398.4002569 382.5370891 74.55342827 0 636.6596277 514.3863309 741.690017 412.3166491 660.8996555 57.36593795 102.2085264 455.6403091 548.6145486 515.8412195\r\n+\t\tion06 2711.785156 3465.292969 2469.75 3435.259766 2482.3125 2593.654297 1407.915039 1291.253906 2241.734375 1444.189453 3363.683594 2578.642578 2633.181641 3397.763672 3706.855469 3647.212891 3548.410156 3714.640625 1889.213867 2262.707031 2107.417969 2763.21875\r\n+\t\tion07 164.9023438 192.40625 140.7609863 192.4053955 139.7540283 140.748291 84.60144043 86.1819458 150.762207 89.90411377 207.5949707 164.0512695 149.8706055 186.336792 214.6140137 202.5360107 214.6877441 195.4482422 117.4679565 127.2941895 142.78479 163.0666504\r\n+\r\n+\r\n+Parameters\r\n+==========\r\n+\r\n+Factor analysis  -> **batch**\r\n+\r\n+\r\n+Output files\r\n+============\r\n+\r\n+out_preNormSummary.tabular:\r\n+\r\n+====== ============== ==============\r\n+labion batch.1.linear batch.1.lowess\r\n+====== ============== ==============\r\n+ion01   2              2\r\n+ion02   2              2\r\n+ion03   2              2\r\n+ion04   2              2\r\n+ion05   1              1\r\n+...     ...            ...\r\n+====== ============== ==============\r\n+\r\n+\r\n+out_graph_pdf.pdf\r\n+\r\n+.. image:: ./static/images/metabolomics/pdf_plotsituation.png\r\n+        :width: 800\r\n+\r\n+\r\n+</tool>\n\\ No newline at end of file\n'
b
diff -r f64656ae9ea4 -r 016780b192a6 batchcorrection/example/input/dataMatrix.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/batchcorrection/example/input/dataMatrix.tsv Thu Mar 02 03:38:08 2017 -0500
b
b'@@ -0,0 +1,114 @@\n+\tQC1_001\tHU_022\tHU_076\tHU_166\tHU_114\tHU_190\tHU_139\tHU_096\tHU_058\tHU_031\tQC1_002\tHU_039\tHU_087\tHU_143\tHU_162\tHU_102\tHU_188\tHU_095\tHU_062\tQC1_003\tHU_063\tHU_011\tHU_074\tHU_122\tHU_142\tHU_030\tHU_187\tHU_167\tHU_113\tQC1_004\tHU_081\tHU_014\tHU_206\tHU_119\tHU_033\tHU_067\tHU_140\tHU_164\tHU_193\tHU_112\tQC1_005\tHU_097\tHU_056\tHU_195\tHU_135\tHU_159\tHU_070\tHU_038\tHU_026\tQC1_006\tHU_098\tHU_115\tHU_137\tHU_019\tHU_073\tHU_168\tHU_191\tHU_040\tHU_046\tQC1_007\tHU_103\tHU_015\tHU_053\tHU_121\tHU_183\tHU_199\tHU_042\tHU_075\tQC1_008\tHU_203\tHU_024\tHU_082\tHU_169\tHU_129\tHU_057\tHU_035\tHU_194\tHU_145\tHU_104\tQC1_009\tHU_177\tHU_025\tHU_080\tHU_117\tHU_136\tHU_197\tHU_036\tHU_054\tHU_085\tQC1_010\tHU_160\tHU_092\tHU_023\tHU_124\tHU_147\tHU_205\tHU_084\tHU_120\tHU_198\tQC1_011\tHU_045\tHU_029\tHU_069\tHU_155\tHU_106\tHU_146\tHU_128\tQC1_012\r\n+met_001\t34046147\t29268048\t43765299\t44375419\t50601116\t4832613\t40454119\t8126\t19479962\t11235683\t33064844\t75260138\t36891690\t17466250\t74160059\t32122101\t5238560\t30163448\t10216046\t31450577\t17301601\t11549910\t12734389\t54057483\t3488082\t24301846\t2046492\t23004592\t9579482\t30075694\t7571631\t5257922\t60032654\t15725469\t42794552\t12202672\t10427301\t17332850\t2558158\t66102394\t29666404\t34174908\t36717068\t24271602\t36414651\t37145056\t20074559\t1865267\t5837544\t27608715\t38999155\t21669105\t14372963\t36030678\t24509866\t1906953\t15589584\t18219005\t25991397\t25068509\t21518123\t17608775\t6613249\t4124652\t30008362\t7839717\t16104411\t36946332\t23198059\t6151472\t23334545\t18392766\t27331396\t30774819\t18461787\t42246522\t20479189\t28817403\t27674313\t21703591\t17170407\t13809778\t11188751\t14478896\t8256694\t2771227\t47261207\t21462355\t24438964\t19424590\t379608\t17107855\t14512991\t31446516\t24437179\t18499953\t16786178\t1370420\t23336305\t18279598\t9162668\t29590881\t24605602\t13020657\t30919250\t16843645\t42298126\t15320951\r\n+met_002\t25505104\t13027974\t32763597\t34730095\t33371485\t1895066\t27495574\t59974\t13416309\t7415642\t23483152\t56144021\t29010226\t13269573\t61487618\t21195395\t3379894\t23790609\t4902552\t23924391\t10425200\t5914542\t10652705\t32854120\t835047\t13453508\t1274458\t22515044\t4126230\t22230978\t1786393\t3285537\t42606906\t22882567\t35048135\t9125465\t3968320\t10918248\t2767218\t40862097\t20287479\t21966458\t30969969\t17039420\t20122412\t28288256\t13281775\t1926605\t10855072\t19582666\t28740009\t14276670\t8544427\t28305898\t17921960\t1108003\t15397507\t12237865\t16183896\t17724624\t12764878\t19325552\t5978795\t2327941\t19932606\t3940696\t8131604\t27569944\t16730669\t4383418\t15424544\t10734487\t33257422\t21428567\t10875162\t33291902\t12687175\t13724743\t17750641\t15859004\t7722135\t10212514\t5089001\t10323782\t5299453\t529447\t39682428\t18277950\t17763884\t14171656\t997710\t14321798\t12297861\t15992338\t26897819\t12146700\t13597912\t256757\t14051155\t13070239\t6274244\t20895482\t17767113\t13249946\t20766019\t15026075\t25876196\t11032203\r\n+met_003\t5892635\t10312094\t7821772\t11024697\t11099724\t211356\t15572436\tNA\t5081385\t1287012\t7083236\t11463946\t10268577\t3466442\t16572946\t7596396\t515301\t5605033\t1166691\t6692258\t5258935\t1120354\t2768153\t17622620\t100138\t5657045\t155546\t3993478\t895432\t6630262\t1160086\t1398006\t20292345\t8345069\t9496638\t2281112\t1622765\t559527\t1169164\t24371841\t6010179\t5988080\t6808771\t4430121\t6994393\t13311751\t5318285\t783176\t353306\t5788416\t6714250\t6043357\t3119950\t4761136\t4840500\t316705\t2576605\t4562242\t7534703\t5546336\t3149195\t2525989\t2463379\t413059\t4398279\t855987\t2243033\t6719671\t4189278\t1103830\t3718953\t5441941\t4324385\t9454992\t5764607\t7703610\t7439304\t5651876\t5810300\t4075671\t5884945\t2071030\t822119\t2324725\t1072516\t75496\t15134893\t4124869\t5293399\t3395800\tNA\t2578641\t5179943\t5878251\t8146783\t4702730\t2191032\t34289\t4192685\t3234808\t2907002\t8592351\t5858938\t1541012\t10652067\t3600540\t11259836\t2932946\r\n+met_004\t22027726\t28338717\t19767257\t776755\t29237805\t551519\t43361691\t17669\t24178241\t2483160\t22961817\t36696085\t29568489\t12694039\t38098794\t28957490\t4548936\t21546827\t8439927\t23754498\t19390563\t2410036\t15610073\t48462830\t743472\t12281479\t957970\t22957209\t3382722\t23184843\t3152846\t6026857\t29934738\t37430772\t28469408\t6392048\t3956769\t18521915\t6448619\t58495251\t21643123\t15824960\t24311549\t14867509\t14415999\t39238537\t19313537\t4269597\t14077517\t20163043\t2734090'..b'1448100\t34659066\t28767624\t25600071\t15859089\t27835970\t27390922\t41203737\t20498119\t24452585\t19528858\t38827573\t19668360\t36226070\t20834484\t23959078\t24861056\t26613170\t19267218\t29521876\t24702382\t22611875\t27200384\t24013133\t8211817\t19321158\t25053327\t21309585\t26111146\t22752518\t23678180\t14152377\t18368970\t20070120\t25344880\t23708432\t24308059\t21954805\t17310020\t15790465\t18113923\t15887568\t21212232\t24847089\t26846871\t21379272\t16591716\t20216215\t26495026\t9555821\t25623659\t22300532\t19302590\t32540833\t38044859\t18732489\t20874060\t25502870\t19077479\t27777050\t38317810\t11205446\t23184858\t22056757\t19844415\t20832666\t18822607\t22767829\t20416588\t14459562\t18594833\t20083706\t24380208\t11525928\t16313321\t14407791\t17369758\t14005534\t14258891\t13852000\t11087898\t24969299\t15806268\t16899211\t15920144\r\n+met_110\t935810\t216794\t1250664\t961929\t322675\t358002\t748600\t1860981\t1018669\t502991\t684506\t319659\t372075\t435408\t271584\t134703\t303433\t660710\t497665\t545837\t562326\t294841\t768892\t810960\t1051193\t334380\t415293\t274518\t1024104\t541427\t301845\t328083\t257992\t599182\t440881\t228402\t425882\t556153\t473391\t796559\t433075\t637036\t502610\t252290\t878377\t318451\t806407\t240703\t431264\t364408\t432337\t490946\t495207\t557849\t481367\t240800\t239131\t552620\t296097\t325675\t299775\t538890\t129963\t202343\t159717\t524611\t659238\t837602\t401479\t347983\t286154\t405225\t113652\t522101\t168009\t185467\t508620\t217008\t189382\t300949\t181027\t293385\t593884\t707190\t86552\t667494\t119244\t290894\t850008\t307178\t409093\t223301\t101862\t205697\t38427\t209271\t69666\t182736\t247482\t273165\t123847\t387771\t325480\t44799\t104296\t295313\t155240\t212170\r\n+met_111\t1043674\t783394\t569047\t2884257\t2457038\t2025231\t2245847\tNA\t576988\t636282\t1109803\t511108\t1986572\t950755\t453817\t673562\t345902\t1199314\t673490\t1088285\t1650159\t548818\t673318\t1350162\t1955525\t740092\t273505\t467277\t2262955\t1064977\t2870714\t199436\t422478\t991340\t2525718\t798722\t179006\t619100\t874665\t3040034\t996244\t329299\t679032\t733260\t2162571\t528686\t219519\t138708\t740267\t940086\t736191\t703043\t1639741\t433247\t2081907\t705395\t1089016\t1249615\t789518\t854281\t424305\t719392\t258294\t813349\t666412\t1123188\t524519\t910137\t742428\t1482493\t1050502\t1019270\t846205\t398868\t409318\t832274\t122817\t1372087\t902737\t753444\t1261485\t1138611\t1159395\t680881\t111575\t2005973\t748730\t797783\t815843\t601216\t897182\t1159520\t207899\t606512\t1051255\t493530\t299954\t651714\t315358\t558515\t255169\t338669\t832857\t218229\t649477\t415127\t1274096\t494555\r\n+met_112\t6419071\t2797128\t4299074\t11909792\t6115103\t3096009\t8035572\tNA\t3259089\t6395447\t5049944\t4099603\t7256757\t5080926\t3738872\t2566634\t1719671\t4297409\t5324570\t4873112\t7648125\t1910687\t5439846\t4340784\t7283405\t3178504\t1547866\t3074074\t6191537\t4916409\t8943211\t1784458\t4200543\t4136622\t7786416\t4378240\t2608290\t2992852\t4462941\t9689440\t4286272\t2686538\t2745539\t4160961\t7108278\t2547671\t2212921\t992136\t3451416\t4253840\t4661221\t2464180\t4009317\t3451266\t9045261\t2681403\t3260592\t5840008\t2611730\t4002414\t3128586\t4061269\t875155\t2993219\t4222945\t4810052\t3599437\t6386359\t4087475\t5853004\t2845191\t5015241\t5255266\t2977940\t4272008\t7251435\t3019276\t3081894\t2290972\t3841186\t3298124\t3942297\t7512978\t3936963\t796120\t7537291\t3841541\t4596420\t5044950\t3496643\t2341361\t6304734\t1369143\t4345921\t3364143\t3282371\t2017426\t2744678\t5320910\t3371583\t1340912\t2186105\t3792760\t2150395\t4931386\t2886649\t3159267\t2835997\r\n+met_113\t1351348\t1546452\t704498\t1178543\t1910776\t2419982\t1730728\tNA\t1518760\t1292032\t1333917\t1256258\t974162\t519797\t2540508\t976266\t328769\t1916054\t1273384\t1345103\t2028673\t740657\t1759018\t2037601\t1797824\t1183570\t281005\t210403\t2013482\t1157284\t2890251\t473682\t1397064\t922962\t1608440\t785419\t836119\t552727\t996652\t1314640\t1080507\t941223\t1069492\t492963\t1146686\t413720\t1146636\t106708\t428730\t1153669\t682704\t1685395\t1027646\t673104\t762161\t230163\t984144\t741438\t962147\t954327\t887638\t721180\t215275\t364352\t353548\t991113\t1975188\t1308883\t919371\t525484\t489779\t945717\t86415\t409383\t910262\t1155717\t1527056\t1552890\t374555\t863254\t831837\t632228\t1534291\t1054678\t104907\t1181832\t570191\t1181392\t710672\t765250\t157618\t799343\t352504\t730991\t12561534\t1127759\t317084\t828816\t772629\t761105\t256288\t491981\t517417\t208846\t2334220\t563581\t849860\t654635\r\n'
b
diff -r f64656ae9ea4 -r 016780b192a6 batchcorrection/example/input/sampleMetadata.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/batchcorrection/example/input/sampleMetadata.tsv Thu Mar 02 03:38:08 2017 -0500
b
@@ -0,0 +1,109 @@
+ injectionOrder sampleType batch
+QC1_001 1 pool b1
+HU_022 2 sample b1
+HU_076 3 sample b1
+HU_166 4 sample b1
+HU_114 5 sample b1
+HU_190 6 sample b1
+HU_139 7 sample b1
+HU_096 8 sample b1
+HU_058 9 sample b1
+HU_031 10 sample b1
+QC1_002 11 pool b1
+HU_039 12 sample b1
+HU_087 13 sample b1
+HU_143 14 sample b1
+HU_162 15 sample b1
+HU_102 16 sample b1
+HU_188 17 sample b1
+HU_095 18 sample b1
+HU_062 19 sample b1
+QC1_003 20 pool b1
+HU_063 21 sample b1
+HU_011 22 sample b1
+HU_074 23 sample b1
+HU_122 24 sample b1
+HU_142 25 sample b1
+HU_030 26 sample b1
+HU_187 27 sample b1
+HU_167 28 sample b1
+HU_113 29 sample b1
+QC1_004 30 pool b1
+HU_081 31 sample b1
+HU_014 32 sample b1
+HU_206 33 sample b1
+HU_119 34 sample b1
+HU_033 35 sample b1
+HU_067 36 sample b1
+HU_140 37 sample b1
+HU_164 38 sample b1
+HU_193 39 sample b1
+HU_112 40 sample b1
+QC1_005 41 pool b1
+HU_097 42 sample b1
+HU_056 43 sample b1
+HU_195 44 sample b1
+HU_135 45 sample b1
+HU_159 46 sample b1
+HU_070 47 sample b1
+HU_038 48 sample b1
+HU_026 49 sample b1
+QC1_006 50 pool b1
+HU_098 51 sample b1
+HU_115 52 sample b1
+HU_137 53 sample b1
+HU_019 54 sample b1
+HU_073 55 sample b1
+HU_168 56 sample b1
+HU_191 57 sample b1
+HU_040 58 sample b1
+HU_046 59 sample b1
+QC1_007 60 pool b1
+HU_103 61 sample b1
+HU_015 62 sample b1
+HU_053 63 sample b1
+HU_121 64 sample b1
+HU_183 65 sample b1
+HU_199 66 sample b1
+HU_042 67 sample b1
+HU_075 68 sample b1
+QC1_008 69 pool b1
+HU_203 70 sample b1
+HU_024 71 sample b1
+HU_082 72 sample b1
+HU_169 73 sample b1
+HU_129 74 sample b1
+HU_057 75 sample b1
+HU_035 76 sample b1
+HU_194 77 sample b1
+HU_145 78 sample b1
+HU_104 79 sample b1
+QC1_009 80 pool b1
+HU_177 81 sample b1
+HU_025 82 sample b1
+HU_080 83 sample b1
+HU_117 84 sample b1
+HU_136 85 sample b1
+HU_197 86 sample b1
+HU_036 87 sample b1
+HU_054 88 sample b1
+HU_085 89 sample b1
+QC1_010 90 pool b1
+HU_160 91 sample b1
+HU_092 92 sample b1
+HU_023 93 sample b1
+HU_124 94 sample b1
+HU_147 95 sample b1
+HU_205 96 sample b1
+HU_084 97 sample b1
+HU_120 98 sample b1
+HU_198 99 sample b1
+QC1_011 100 pool b1
+HU_045 101 sample b1
+HU_029 102 sample b1
+HU_069 103 sample b1
+HU_155 104 sample b1
+HU_106 105 sample b1
+HU_146 106 sample b1
+HU_128 107 sample b1
+QC1_012 108 pool b1
b
diff -r f64656ae9ea4 -r 016780b192a6 batchcorrection/example/input/variableMetadata.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/batchcorrection/example/input/variableMetadata.tsv Thu Mar 02 03:38:08 2017 -0500
b
@@ -0,0 +1,114 @@
+ number MSI_level
+met_001 1 1
+met_002 2 1
+met_003 3 1
+met_004 4 1
+met_005 5 2
+met_006 6 1
+met_007 7 1
+met_008 8 1
+met_009 9 1
+met_010 10 1
+met_011 11 2
+met_012 12 1
+met_013 13 1
+met_014 14 1
+met_015 15 1
+met_016 16 1
+met_017 17 2
+met_018 18 1
+met_019 19 1
+met_020 20 1
+met_021 21 1
+met_022 22 2
+met_023 23 1
+met_024 24 2
+met_025 25 2
+met_026 26 1
+met_027 27 1
+met_028 28 1
+met_029 29 1
+met_030 30 2
+met_031 31 1
+met_032 32 2
+met_033 33 1
+met_034 34 1
+met_035 35 2
+met_036 36 1
+met_037 37 2
+met_038 38 2
+met_039 39 2
+met_040 40 2
+met_041 41 1
+met_042 42 1
+met_043 43 2
+met_044 44 2
+met_045 45 1
+met_046 46 1
+met_047 47 2
+met_048 48 1
+met_049 49 1
+met_050 50 1
+met_051 51 2
+met_052 52 2
+met_053 53 1
+met_054 54 2
+met_055 55 2
+met_056 56 2
+met_057 57 2
+met_058 58 1
+met_059 59 2
+met_060 60 2
+met_061 61 2
+met_062 62 2
+met_063 63 2
+met_064 64 1
+met_065 65 1
+met_066 66 2
+met_067 67 2
+met_068 68 2
+met_069 69 1
+met_070 70 2
+met_071 71 2
+met_072 72 2
+met_073 73 1
+met_074 74 1
+met_075 75 1
+met_076 76 2
+met_077 77 2
+met_078 78 2
+met_079 79 2
+met_080 80 2
+met_081 81 2
+met_082 82 1
+met_083 83 1
+met_084 84 1
+met_085 85 1
+met_086 86 1
+met_087 87 1
+met_088 88 2
+met_089 89 2
+met_090 90 1
+met_091 91 1
+met_092 92 1
+met_093 93 2
+met_094 94 2
+met_095 95 2
+met_096 96 1
+met_097 97 1
+met_098 98 2
+met_099 99 2
+met_100 100 2
+met_101 101 1
+met_102 102 1
+met_103 103 1
+met_104 104 1
+met_105 105 2
+met_106 106 1
+met_107 107 2
+met_108 108 2
+met_109 109 2
+met_110 110 1
+met_111 111 2
+met_112 112 2
+met_113 113 1
b
diff -r f64656ae9ea4 -r 016780b192a6 batchcorrection/miniTools.R
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/batchcorrection/miniTools.R Thu Mar 02 03:38:08 2017 -0500
[
@@ -0,0 +1,133 @@
+#####################################################
+# Mini tools for Galaxy scripting
+# Coded by: M.Petera, 
+# - -
+# R functions to use in R scripts and wrappers
+# to make things easier (lightening code, reducing verbose...)
+# - -
+# V0: script structure + first functions
+# V1: addition of functions to handle special characters in identifiers
+#####################################################
+
+
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
+# Function to call packages without printing all the verbose
+# (only getting the essentials, like warning messages for example)
+
+shyLib <- function(...){
+ for(i in 1:length(list(...))){
+ suppressPackageStartupMessages(library(list(...)[[i]],character.only=TRUE))
+ }
+}
+
+#example: shyLib("xcms","pcaMethods")
+
+
+
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
+# Fonction pour sourcer les scripts R requis
+# /!\ ATTENTION : actuellement la fonction n'est pas chargee au lancement du script,
+# il faut donc la copier-coller dans le wrapper R pour pouvoir l'utiliser. 
+
+if(FALSE){
+source_local <- function(...){
+ argv <- commandArgs(trailingOnly = FALSE)
+ base_dir <- dirname(substring(argv[grep("--file=", argv)], 8))
+ for(i in 1:length(list(...))){
+ source(paste(base_dir, list(...)[[i]], sep="/"))
+ }
+}
+}
+
+#example: source_local("filter_script.R","RcheckLibrary.R")
+
+
+
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
+# Functions to stock identifiers before applying make.names() and
+# to reinject it into final matrices
+# Note: it reproduces the original order of datasets' identifiers
+# - - -
+# stockID: stocks original identifiers and original order
+# -> needs checked data regarding table match
+# reproduceID: reinjects original identifiers and original order into final tables
+# -> function to be used at the very end, when exporting tables
+
+stockID <- function(dataMatrix, Metadata, Mtype){
+  # dataMatrix = data.frame containing dataMatrix
+  # Metadata = data.frame containing sampleMetadata or variableMetadata
+  # Mtype = "sample" or "variable" depending on Metadata content
+  cname <- colnames(dataMatrix)[1]
+      # dataMatrix temporary-stock + transfo - - - -
+  if(Mtype=="sample"){
+    id.ori <- colnames(dataMatrix)[-1] 
+    colnames(dataMatrix) <- make.names(colnames(dataMatrix)) 
+  }
+  if(Mtype=="variable"){
+    id.ori <- dataMatrix[,1] 
+    dataMatrix[,1] <- make.names(dataMatrix[,1]) 
+  }
+      # global stock - - - - - - - - - - - - - - - -
+  id.new <- data.frame(order.ori=c(1:length(Metadata[,1])),Metadata[,1],
+    id.new=make.names(Metadata[,1]),id.ori,
+    id.new.DM=make.names(id.ori),stringsAsFactors=FALSE)
+  colnames(id.new)[c(2,4)] <- c(colnames(Metadata)[1],cname)
+      # Metadata transfo + returning data - - - - - 
+  Metadata[,1] <- make.names(Metadata[,1]) 
+  return(list(id.match=id.new, dataMatrix=dataMatrix, Metadata=Metadata))
+}
+#example: A<-stockID(myDM,mysM,"sample") ; myDM<-A$dataMatrix ; mysM<-A$Metadata ; A<-A$id.match
+
+reproduceID <- function(dataMatrix, Metadata, Mtype, id.match){
+  # dataMatrix = data.frame containing dataMatrix
+  # Metadata = data.frame containing sampleMetadata or variableMetadata
+  # Mtype = "sample" or "variable" depending on Metadata content
+  # id.match = 'id.match' element produced by stockID
+      #Metadada - - - - - - - - - - - - - - 
+  temp.table <- id.match[,c(1,2,3)]
+  ## Removing deleted rows
+  for(i in 1:(dim(id.match)[1])){
+ if(!(temp.table[i,3]%in%Metadata[,1])){temp.table[i,1] <- 0}
+  }
+  if(length(which(temp.table[,1]==0))!=0){
+ temp.table <- temp.table[-c(which(temp.table[,1]==0)),]
+  }
+  ## Restoring original identifiers and order
+  temp.table <- merge(x=temp.table,y=Metadata,by.x=3,by.y=1)
+  temp.table <- temp.table[order(temp.table$order.ori),]
+  Metadata <- temp.table[,-c(1,2)]
+  rownames(Metadata) <- NULL
+      #dataMatrix - - - - - - - - - - - - - 
+  rownames(dataMatrix)<-dataMatrix[,1]
+  if(Mtype=="sample"){
+    dataMatrix <- t(dataMatrix[,-1])
+  }
+  temp.table <- id.match[,c(1,4,5)]
+  ## Removing deleted rows
+  for(i in 1:(dim(id.match)[1])){
+ if(!(temp.table[i,3]%in%rownames(dataMatrix))){temp.table[i,1] <- 0}
+  }
+  if(length(which(temp.table[,1]==0))!=0){
+ temp.table <- temp.table[-c(which(temp.table[,1]==0)),]
+  }
+  ## Restoring original identifiers and order
+  temp.table <- merge(x=temp.table,y=dataMatrix,by.x=3,by.y=0)
+  temp.table <- temp.table[order(temp.table$order.ori),]
+  if(Mtype=="variable"){
+ dataMatrix <- temp.table[,-c(1,2,4)]
+ colnames(dataMatrix)[1] <- colnames(id.match)[4]
+  } else {
+ rownames(temp.table) <- temp.table[,3]
+ temp.table <- t(temp.table[,-c(1,2,3)])
+ dataMatrix <- data.frame(rownames(temp.table),temp.table)
+ colnames(dataMatrix)[1] <- colnames(id.match)[4]
+  }
+  rownames(dataMatrix) <- NULL
+      # return datasets - - - - - - - - - - - 
+  return(list(dataMatrix=dataMatrix, Metadata=Metadata))
+}
+#example: B<-reproduceID(myDM,mysM,"sample",A) ; myDM<-B$dataMatrix ; mysM<-B$Metadata
+
+
+
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
b
diff -r f64656ae9ea4 -r 016780b192a6 batchcorrection/static/images/Vdk_pdf1.png
b
Binary file batchcorrection/static/images/Vdk_pdf1.png has changed
b
diff -r f64656ae9ea4 -r 016780b192a6 batchcorrection/static/images/Vdk_pdf2.png
b
Binary file batchcorrection/static/images/Vdk_pdf2.png has changed
b
diff -r f64656ae9ea4 -r 016780b192a6 batchcorrection/static/images/batch_correction.png
b
Binary file batchcorrection/static/images/batch_correction.png has changed
b
diff -r f64656ae9ea4 -r 016780b192a6 batchcorrection/static/images/determine_batch_correction.png
b
Binary file batchcorrection/static/images/determine_batch_correction.png has changed
b
diff -r f64656ae9ea4 -r 016780b192a6 batchcorrection/static/images/pdf_plotsituation.png
b
Binary file batchcorrection/static/images/pdf_plotsituation.png has changed
b
diff -r f64656ae9ea4 -r 016780b192a6 batchcorrection/tests/.batchCorrection_tests.R
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/batchcorrection/tests/.batchCorrection_tests.R Thu Mar 02 03:38:08 2017 -0500
[
@@ -0,0 +1,210 @@
+library(RUnit)
+
+wrapperF <- function(argVc) {
+
+    source("../batch_correction_all_loess_script.R")
+
+
+#### Start_of_testing_code <- function() {}
+
+
+    ##------------------------------
+    ## Initializing
+    ##------------------------------
+
+    ## options
+    ##--------
+
+    strAsFacL <- options()$stringsAsFactors
+    options(stringsAsFactors = FALSE)
+
+    ## libraries
+    ##----------
+
+    library(ropls)
+
+    ## constants
+    ##----------
+
+    modNamC <- "Batch correction" ## module name
+
+    ## log file
+    ##---------
+
+    ## sink(argVc["information"]) ## not implemented
+
+    cat("\nStart of the '", modNamC, "' Galaxy module call: ",
+        format(Sys.time(), "%a %d %b %Y %X"), "\n", sep="")
+
+    ## loading
+    ##--------
+
+    rawMN <- t(as.matrix(read.table(argVc["dataMatrix"],
+                                    header = TRUE,
+                                    row.names = 1,
+                                    sep = "\t")))
+
+    samDF <- read.table(argVc["sampleMetadata"],
+                        header = TRUE,
+                        row.names = 1,
+                        sep = "\t")
+
+    varDF <- read.table(argVc["variableMetadata"],
+                        check.names = FALSE,
+                        header = TRUE,
+                        row.names = 1,
+                        sep = "\t") ## not used; for compatibility only
+
+    refC <- tolower(gsub("all_loess_", "", argVc["method"]))
+
+    spnN <- as.numeric(argVc["span"])
+
+    ## checking
+    ##---------
+
+    if(packageVersion("ropls") < "0.10.16")
+        cat("\nWarning: new version of the 'ropls' package is available\n", sep="")
+
+    stopifnot(refC %in% c("pool", "sample"))
+
+    if(refC == "pool" &&
+       !any("pool" %in% samDF[, "sampleType"]))
+        stop("No 'pool' found in the 'sampleType' column; use the samples as normalization reference instead")
+
+
+    ##------------------------------
+    ## Computation
+    ##------------------------------
+
+
+    ## ordering (batch and injection order)
+    ##-------------------------------------
+
+    samDF[, "ordIniVi"] <- 1:nrow(rawMN)
+    ordBatInjVi <- order(samDF[, "batch"], samDF[, "injectionOrder"])
+    rawMN <- rawMN[ordBatInjVi, ]
+    samDF <- samDF[ordBatInjVi, ]
+
+    ## signal drift and batch-effect correction
+    ##-----------------------------------------
+
+    nrmMN <- shiftBatchCorrectF(rawMN,
+                                samDF,
+                                refC,
+                                spnN)
+
+    ## figure
+    ##-------
+
+    cat("\nPlotting\n")
+
+    pdf(argVc["graph_output"], onefile = TRUE, width = 11, height = 7)
+    plotBatchF(rawMN, samDF, spnN)
+    plotBatchF(nrmMN, samDF, spnN)
+    dev.off()
+
+    ## returning to initial order
+    ##---------------------------
+
+    ordIniVi <- order(samDF[, "ordIniVi"])
+    nrmMN <- nrmMN[ordIniVi, ]
+    samDF <- samDF[ordIniVi, ]
+    samDF <- samDF[, colnames(samDF) != "ordIniVi", drop=FALSE]
+
+
+    ##------------------------------
+    ## Ending
+    ##------------------------------
+
+
+    ## saving
+    ##-------
+
+    datMN <- nrmMN
+
+    datDF <- cbind.data.frame(dataMatrix = colnames(datMN),
+                              as.data.frame(t(datMN)))
+    write.table(datDF,
+                file = argVc["dataMatrix_out"],
+                quote = FALSE,
+                row.names = FALSE,
+                sep = "\t")
+
+    varDF <- cbind.data.frame(variableMetadata = rownames(varDF),
+                              varDF) ## not modified; for compatibility only
+    write.table(varDF,
+                file = argVc["variableMetadata_out"],
+                quote = FALSE,
+                row.names = FALSE,
+                sep = "\t")
+
+    simDF <- cbind.data.frame(samDF, as.data.frame(datMN)) ## for compatibility
+    simDF <- cbind.data.frame(names = rownames(simDF),
+                              simDF)
+    write.table(simDF,
+                file = argVc["variable_for_simca"],
+                quote = FALSE,
+                row.names = FALSE,
+                sep = "\t")
+
+    res <- list(dataMatrix_raw = rawMN,
+                dataMatrix_normalized = nrmMN,
+                sampleMetadata = samDF)
+    save(res,
+         file = argVc["rdata_output"]) ## for compatibility
+
+    ## closing
+    ##--------
+
+    cat("\nEnd of '", modNamC, "' Galaxy module call: ",
+        as.character(Sys.time()), "\n", sep = "")
+
+    ## sink()
+
+    options(stringsAsFactors = strAsFacL)
+
+
+#### End_of_testing_code <- function() {}
+
+
+    return(list(datMN = datMN))
+
+    rm(list = ls())
+
+}
+
+exaDirOutC <- "output"
+stopifnot(file.exists(exaDirOutC))
+
+tesArgLs <- list(input_allLoessPool = c(method = "all_loess_pool",
+                     span = "1",
+                     .chkC = "checkEqualsNumeric(outLs[['datMN']][1, 1], 25803076, tolerance = 1e-3)"),
+                 input_allLoessSample = c(method = "all_loess_sample",
+                     span = "1",
+                     .chkC = "checkEqualsNumeric(outLs[['datMN']][1, 1], 23402048, tolerance = 1e-3)"),
+                 mrey_allLoessSample = c(method = "all_loess_sample",
+                     span = "1",
+                     .chkC = "checkEqualsNumeric(outLs[['datMN']][1, 1], 21732604, tolerance = 1e-3)"),
+                 mrey_allLoessSampleSpan06 = c(method = "all_loess_sample",
+                     span = "0.6",
+                     .chkC = "checkEqualsNumeric(outLs[['datMN']][1, 1], 134619170, tolerance = 1e-3)"))
+
+for(tesC in names(tesArgLs))
+    tesArgLs[[tesC]] <- c(tesArgLs[[tesC]],
+                          dataMatrix = file.path(unlist(strsplit(tesC, "_"))[1], "dataMatrix.tsv"),
+                          sampleMetadata = file.path(unlist(strsplit(tesC, "_"))[1], "sampleMetadata.tsv"),
+                          variableMetadata = file.path(unlist(strsplit(tesC, "_"))[1], "variableMetadata.tsv"),
+                          dataMatrix_out = file.path(exaDirOutC, "dataMatrix.tsv"),
+                          variableMetadata_out = file.path(exaDirOutC, "variableMetadata.tsv"),
+                          variable_for_simca = file.path(exaDirOutC, "variable_for_simca.tsv"),
+                          graph_output = file.path(exaDirOutC, "graph_output.pdf"),
+                          rdata_output = file.path(exaDirOutC, "rdata_output.rdata"))
+
+for(tesC in names(tesArgLs)) {
+    print(tesC)
+    outLs <- wrapperF(tesArgLs[[tesC]])
+    if(".chkC" %in% names(tesArgLs[[tesC]]))
+        stopifnot(eval(parse(text = tesArgLs[[tesC]][[".chkC"]])))
+}
+
+message("Checks successfully completed")
b
diff -r f64656ae9ea4 -r 016780b192a6 batchcorrection/tests/input/dataMatrix.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/batchcorrection/tests/input/dataMatrix.tsv Thu Mar 02 03:38:08 2017 -0500
b
b'@@ -0,0 +1,114 @@\n+\tQC1_001\tHU_022\tHU_076\tHU_166\tHU_114\tHU_190\tHU_139\tHU_096\tHU_058\tHU_031\tQC1_002\tHU_039\tHU_087\tHU_143\tHU_162\tHU_102\tHU_188\tHU_095\tHU_062\tQC1_003\tHU_063\tHU_011\tHU_074\tHU_122\tHU_142\tHU_030\tHU_187\tHU_167\tHU_113\tQC1_004\tHU_081\tHU_014\tHU_206\tHU_119\tHU_033\tHU_067\tHU_140\tHU_164\tHU_193\tHU_112\tQC1_005\tHU_097\tHU_056\tHU_195\tHU_135\tHU_159\tHU_070\tHU_038\tHU_026\tQC1_006\tHU_098\tHU_115\tHU_137\tHU_019\tHU_073\tHU_168\tHU_191\tHU_040\tHU_046\tQC1_007\tHU_103\tHU_015\tHU_053\tHU_121\tHU_183\tHU_199\tHU_042\tHU_075\tQC1_008\tHU_203\tHU_024\tHU_082\tHU_169\tHU_129\tHU_057\tHU_035\tHU_194\tHU_145\tHU_104\tQC1_009\tHU_177\tHU_025\tHU_080\tHU_117\tHU_136\tHU_197\tHU_036\tHU_054\tHU_085\tQC1_010\tHU_160\tHU_092\tHU_023\tHU_124\tHU_147\tHU_205\tHU_084\tHU_120\tHU_198\tQC1_011\tHU_045\tHU_029\tHU_069\tHU_155\tHU_106\tHU_146\tHU_128\tQC1_012\r\n+met_001\t34046147\t29268048\t43765299\t44375419\t50601116\t4832613\t40454119\t8126\t19479962\t11235683\t33064844\t75260138\t36891690\t17466250\t74160059\t32122101\t5238560\t30163448\t10216046\t31450577\t17301601\t11549910\t12734389\t54057483\t3488082\t24301846\t2046492\t23004592\t9579482\t30075694\t7571631\t5257922\t60032654\t15725469\t42794552\t12202672\t10427301\t17332850\t2558158\t66102394\t29666404\t34174908\t36717068\t24271602\t36414651\t37145056\t20074559\t1865267\t5837544\t27608715\t38999155\t21669105\t14372963\t36030678\t24509866\t1906953\t15589584\t18219005\t25991397\t25068509\t21518123\t17608775\t6613249\t4124652\t30008362\t7839717\t16104411\t36946332\t23198059\t6151472\t23334545\t18392766\t27331396\t30774819\t18461787\t42246522\t20479189\t28817403\t27674313\t21703591\t17170407\t13809778\t11188751\t14478896\t8256694\t2771227\t47261207\t21462355\t24438964\t19424590\t379608\t17107855\t14512991\t31446516\t24437179\t18499953\t16786178\t1370420\t23336305\t18279598\t9162668\t29590881\t24605602\t13020657\t30919250\t16843645\t42298126\t15320951\r\n+met_002\t25505104\t13027974\t32763597\t34730095\t33371485\t1895066\t27495574\t59974\t13416309\t7415642\t23483152\t56144021\t29010226\t13269573\t61487618\t21195395\t3379894\t23790609\t4902552\t23924391\t10425200\t5914542\t10652705\t32854120\t835047\t13453508\t1274458\t22515044\t4126230\t22230978\t1786393\t3285537\t42606906\t22882567\t35048135\t9125465\t3968320\t10918248\t2767218\t40862097\t20287479\t21966458\t30969969\t17039420\t20122412\t28288256\t13281775\t1926605\t10855072\t19582666\t28740009\t14276670\t8544427\t28305898\t17921960\t1108003\t15397507\t12237865\t16183896\t17724624\t12764878\t19325552\t5978795\t2327941\t19932606\t3940696\t8131604\t27569944\t16730669\t4383418\t15424544\t10734487\t33257422\t21428567\t10875162\t33291902\t12687175\t13724743\t17750641\t15859004\t7722135\t10212514\t5089001\t10323782\t5299453\t529447\t39682428\t18277950\t17763884\t14171656\t997710\t14321798\t12297861\t15992338\t26897819\t12146700\t13597912\t256757\t14051155\t13070239\t6274244\t20895482\t17767113\t13249946\t20766019\t15026075\t25876196\t11032203\r\n+met_003\t5892635\t10312094\t7821772\t11024697\t11099724\t211356\t15572436\tNA\t5081385\t1287012\t7083236\t11463946\t10268577\t3466442\t16572946\t7596396\t515301\t5605033\t1166691\t6692258\t5258935\t1120354\t2768153\t17622620\t100138\t5657045\t155546\t3993478\t895432\t6630262\t1160086\t1398006\t20292345\t8345069\t9496638\t2281112\t1622765\t559527\t1169164\t24371841\t6010179\t5988080\t6808771\t4430121\t6994393\t13311751\t5318285\t783176\t353306\t5788416\t6714250\t6043357\t3119950\t4761136\t4840500\t316705\t2576605\t4562242\t7534703\t5546336\t3149195\t2525989\t2463379\t413059\t4398279\t855987\t2243033\t6719671\t4189278\t1103830\t3718953\t5441941\t4324385\t9454992\t5764607\t7703610\t7439304\t5651876\t5810300\t4075671\t5884945\t2071030\t822119\t2324725\t1072516\t75496\t15134893\t4124869\t5293399\t3395800\tNA\t2578641\t5179943\t5878251\t8146783\t4702730\t2191032\t34289\t4192685\t3234808\t2907002\t8592351\t5858938\t1541012\t10652067\t3600540\t11259836\t2932946\r\n+met_004\t22027726\t28338717\t19767257\t776755\t29237805\t551519\t43361691\t17669\t24178241\t2483160\t22961817\t36696085\t29568489\t12694039\t38098794\t28957490\t4548936\t21546827\t8439927\t23754498\t19390563\t2410036\t15610073\t48462830\t743472\t12281479\t957970\t22957209\t3382722\t23184843\t3152846\t6026857\t29934738\t37430772\t28469408\t6392048\t3956769\t18521915\t6448619\t58495251\t21643123\t15824960\t24311549\t14867509\t14415999\t39238537\t19313537\t4269597\t14077517\t20163043\t2734090'..b'1448100\t34659066\t28767624\t25600071\t15859089\t27835970\t27390922\t41203737\t20498119\t24452585\t19528858\t38827573\t19668360\t36226070\t20834484\t23959078\t24861056\t26613170\t19267218\t29521876\t24702382\t22611875\t27200384\t24013133\t8211817\t19321158\t25053327\t21309585\t26111146\t22752518\t23678180\t14152377\t18368970\t20070120\t25344880\t23708432\t24308059\t21954805\t17310020\t15790465\t18113923\t15887568\t21212232\t24847089\t26846871\t21379272\t16591716\t20216215\t26495026\t9555821\t25623659\t22300532\t19302590\t32540833\t38044859\t18732489\t20874060\t25502870\t19077479\t27777050\t38317810\t11205446\t23184858\t22056757\t19844415\t20832666\t18822607\t22767829\t20416588\t14459562\t18594833\t20083706\t24380208\t11525928\t16313321\t14407791\t17369758\t14005534\t14258891\t13852000\t11087898\t24969299\t15806268\t16899211\t15920144\r\n+met_110\t935810\t216794\t1250664\t961929\t322675\t358002\t748600\t1860981\t1018669\t502991\t684506\t319659\t372075\t435408\t271584\t134703\t303433\t660710\t497665\t545837\t562326\t294841\t768892\t810960\t1051193\t334380\t415293\t274518\t1024104\t541427\t301845\t328083\t257992\t599182\t440881\t228402\t425882\t556153\t473391\t796559\t433075\t637036\t502610\t252290\t878377\t318451\t806407\t240703\t431264\t364408\t432337\t490946\t495207\t557849\t481367\t240800\t239131\t552620\t296097\t325675\t299775\t538890\t129963\t202343\t159717\t524611\t659238\t837602\t401479\t347983\t286154\t405225\t113652\t522101\t168009\t185467\t508620\t217008\t189382\t300949\t181027\t293385\t593884\t707190\t86552\t667494\t119244\t290894\t850008\t307178\t409093\t223301\t101862\t205697\t38427\t209271\t69666\t182736\t247482\t273165\t123847\t387771\t325480\t44799\t104296\t295313\t155240\t212170\r\n+met_111\t1043674\t783394\t569047\t2884257\t2457038\t2025231\t2245847\tNA\t576988\t636282\t1109803\t511108\t1986572\t950755\t453817\t673562\t345902\t1199314\t673490\t1088285\t1650159\t548818\t673318\t1350162\t1955525\t740092\t273505\t467277\t2262955\t1064977\t2870714\t199436\t422478\t991340\t2525718\t798722\t179006\t619100\t874665\t3040034\t996244\t329299\t679032\t733260\t2162571\t528686\t219519\t138708\t740267\t940086\t736191\t703043\t1639741\t433247\t2081907\t705395\t1089016\t1249615\t789518\t854281\t424305\t719392\t258294\t813349\t666412\t1123188\t524519\t910137\t742428\t1482493\t1050502\t1019270\t846205\t398868\t409318\t832274\t122817\t1372087\t902737\t753444\t1261485\t1138611\t1159395\t680881\t111575\t2005973\t748730\t797783\t815843\t601216\t897182\t1159520\t207899\t606512\t1051255\t493530\t299954\t651714\t315358\t558515\t255169\t338669\t832857\t218229\t649477\t415127\t1274096\t494555\r\n+met_112\t6419071\t2797128\t4299074\t11909792\t6115103\t3096009\t8035572\tNA\t3259089\t6395447\t5049944\t4099603\t7256757\t5080926\t3738872\t2566634\t1719671\t4297409\t5324570\t4873112\t7648125\t1910687\t5439846\t4340784\t7283405\t3178504\t1547866\t3074074\t6191537\t4916409\t8943211\t1784458\t4200543\t4136622\t7786416\t4378240\t2608290\t2992852\t4462941\t9689440\t4286272\t2686538\t2745539\t4160961\t7108278\t2547671\t2212921\t992136\t3451416\t4253840\t4661221\t2464180\t4009317\t3451266\t9045261\t2681403\t3260592\t5840008\t2611730\t4002414\t3128586\t4061269\t875155\t2993219\t4222945\t4810052\t3599437\t6386359\t4087475\t5853004\t2845191\t5015241\t5255266\t2977940\t4272008\t7251435\t3019276\t3081894\t2290972\t3841186\t3298124\t3942297\t7512978\t3936963\t796120\t7537291\t3841541\t4596420\t5044950\t3496643\t2341361\t6304734\t1369143\t4345921\t3364143\t3282371\t2017426\t2744678\t5320910\t3371583\t1340912\t2186105\t3792760\t2150395\t4931386\t2886649\t3159267\t2835997\r\n+met_113\t1351348\t1546452\t704498\t1178543\t1910776\t2419982\t1730728\tNA\t1518760\t1292032\t1333917\t1256258\t974162\t519797\t2540508\t976266\t328769\t1916054\t1273384\t1345103\t2028673\t740657\t1759018\t2037601\t1797824\t1183570\t281005\t210403\t2013482\t1157284\t2890251\t473682\t1397064\t922962\t1608440\t785419\t836119\t552727\t996652\t1314640\t1080507\t941223\t1069492\t492963\t1146686\t413720\t1146636\t106708\t428730\t1153669\t682704\t1685395\t1027646\t673104\t762161\t230163\t984144\t741438\t962147\t954327\t887638\t721180\t215275\t364352\t353548\t991113\t1975188\t1308883\t919371\t525484\t489779\t945717\t86415\t409383\t910262\t1155717\t1527056\t1552890\t374555\t863254\t831837\t632228\t1534291\t1054678\t104907\t1181832\t570191\t1181392\t710672\t765250\t157618\t799343\t352504\t730991\t12561534\t1127759\t317084\t828816\t772629\t761105\t256288\t491981\t517417\t208846\t2334220\t563581\t849860\t654635\r\n'
b
diff -r f64656ae9ea4 -r 016780b192a6 batchcorrection/tests/input/sampleMetadata.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/batchcorrection/tests/input/sampleMetadata.tsv Thu Mar 02 03:38:08 2017 -0500
b
@@ -0,0 +1,109 @@
+ injectionOrder sampleType batch
+QC1_001 1 pool b1
+HU_022 2 sample b1
+HU_076 3 sample b1
+HU_166 4 sample b1
+HU_114 5 sample b1
+HU_190 6 sample b1
+HU_139 7 sample b1
+HU_096 8 sample b1
+HU_058 9 sample b1
+HU_031 10 sample b1
+QC1_002 11 pool b1
+HU_039 12 sample b1
+HU_087 13 sample b1
+HU_143 14 sample b1
+HU_162 15 sample b1
+HU_102 16 sample b1
+HU_188 17 sample b1
+HU_095 18 sample b1
+HU_062 19 sample b1
+QC1_003 20 pool b1
+HU_063 21 sample b1
+HU_011 22 sample b1
+HU_074 23 sample b1
+HU_122 24 sample b1
+HU_142 25 sample b1
+HU_030 26 sample b1
+HU_187 27 sample b1
+HU_167 28 sample b1
+HU_113 29 sample b1
+QC1_004 30 pool b1
+HU_081 31 sample b1
+HU_014 32 sample b1
+HU_206 33 sample b1
+HU_119 34 sample b1
+HU_033 35 sample b1
+HU_067 36 sample b1
+HU_140 37 sample b1
+HU_164 38 sample b1
+HU_193 39 sample b1
+HU_112 40 sample b1
+QC1_005 41 pool b1
+HU_097 42 sample b1
+HU_056 43 sample b1
+HU_195 44 sample b1
+HU_135 45 sample b1
+HU_159 46 sample b1
+HU_070 47 sample b1
+HU_038 48 sample b1
+HU_026 49 sample b1
+QC1_006 50 pool b1
+HU_098 51 sample b1
+HU_115 52 sample b1
+HU_137 53 sample b1
+HU_019 54 sample b1
+HU_073 55 sample b1
+HU_168 56 sample b1
+HU_191 57 sample b1
+HU_040 58 sample b1
+HU_046 59 sample b1
+QC1_007 60 pool b1
+HU_103 61 sample b1
+HU_015 62 sample b1
+HU_053 63 sample b1
+HU_121 64 sample b1
+HU_183 65 sample b1
+HU_199 66 sample b1
+HU_042 67 sample b1
+HU_075 68 sample b1
+QC1_008 69 pool b1
+HU_203 70 sample b1
+HU_024 71 sample b1
+HU_082 72 sample b1
+HU_169 73 sample b1
+HU_129 74 sample b1
+HU_057 75 sample b1
+HU_035 76 sample b1
+HU_194 77 sample b1
+HU_145 78 sample b1
+HU_104 79 sample b1
+QC1_009 80 pool b1
+HU_177 81 sample b1
+HU_025 82 sample b1
+HU_080 83 sample b1
+HU_117 84 sample b1
+HU_136 85 sample b1
+HU_197 86 sample b1
+HU_036 87 sample b1
+HU_054 88 sample b1
+HU_085 89 sample b1
+QC1_010 90 pool b1
+HU_160 91 sample b1
+HU_092 92 sample b1
+HU_023 93 sample b1
+HU_124 94 sample b1
+HU_147 95 sample b1
+HU_205 96 sample b1
+HU_084 97 sample b1
+HU_120 98 sample b1
+HU_198 99 sample b1
+QC1_011 100 pool b1
+HU_045 101 sample b1
+HU_029 102 sample b1
+HU_069 103 sample b1
+HU_155 104 sample b1
+HU_106 105 sample b1
+HU_146 106 sample b1
+HU_128 107 sample b1
+QC1_012 108 pool b1
b
diff -r f64656ae9ea4 -r 016780b192a6 batchcorrection/tests/input/variableMetadata.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/batchcorrection/tests/input/variableMetadata.tsv Thu Mar 02 03:38:08 2017 -0500
b
@@ -0,0 +1,114 @@
+ number MSI_level
+met_001 1 1
+met_002 2 1
+met_003 3 1
+met_004 4 1
+met_005 5 2
+met_006 6 1
+met_007 7 1
+met_008 8 1
+met_009 9 1
+met_010 10 1
+met_011 11 2
+met_012 12 1
+met_013 13 1
+met_014 14 1
+met_015 15 1
+met_016 16 1
+met_017 17 2
+met_018 18 1
+met_019 19 1
+met_020 20 1
+met_021 21 1
+met_022 22 2
+met_023 23 1
+met_024 24 2
+met_025 25 2
+met_026 26 1
+met_027 27 1
+met_028 28 1
+met_029 29 1
+met_030 30 2
+met_031 31 1
+met_032 32 2
+met_033 33 1
+met_034 34 1
+met_035 35 2
+met_036 36 1
+met_037 37 2
+met_038 38 2
+met_039 39 2
+met_040 40 2
+met_041 41 1
+met_042 42 1
+met_043 43 2
+met_044 44 2
+met_045 45 1
+met_046 46 1
+met_047 47 2
+met_048 48 1
+met_049 49 1
+met_050 50 1
+met_051 51 2
+met_052 52 2
+met_053 53 1
+met_054 54 2
+met_055 55 2
+met_056 56 2
+met_057 57 2
+met_058 58 1
+met_059 59 2
+met_060 60 2
+met_061 61 2
+met_062 62 2
+met_063 63 2
+met_064 64 1
+met_065 65 1
+met_066 66 2
+met_067 67 2
+met_068 68 2
+met_069 69 1
+met_070 70 2
+met_071 71 2
+met_072 72 2
+met_073 73 1
+met_074 74 1
+met_075 75 1
+met_076 76 2
+met_077 77 2
+met_078 78 2
+met_079 79 2
+met_080 80 2
+met_081 81 2
+met_082 82 1
+met_083 83 1
+met_084 84 1
+met_085 85 1
+met_086 86 1
+met_087 87 1
+met_088 88 2
+met_089 89 2
+met_090 90 1
+met_091 91 1
+met_092 92 1
+met_093 93 2
+met_094 94 2
+met_095 95 2
+met_096 96 1
+met_097 97 1
+met_098 98 2
+met_099 99 2
+met_100 100 2
+met_101 101 1
+met_102 102 1
+met_103 103 1
+met_104 104 1
+met_105 105 2
+met_106 106 1
+met_107 107 2
+met_108 108 2
+met_109 109 2
+met_110 110 1
+met_111 111 2
+met_112 112 2
+met_113 113 1
b
diff -r f64656ae9ea4 -r 016780b192a6 batchcorrection/tests/mrey/dataMatrix.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/batchcorrection/tests/mrey/dataMatrix.tsv Thu Mar 02 03:38:08 2017 -0500
b
b'@@ -0,0 +1,2823 @@\n+name\tBLC1_02\tBLC2_12\tBLC3_22\tAPO19_23\tAPO20_24\tAPO21_25\tAPO22_26\tAPO23_27\tAPO24_28\tAPO25_29\tAPO26_30\tAPO27_31\tCONT10_13\tCONT11_14\tCONT12_15\tCONT13_16\tCONT14_17\tCONT15_18\tCONT16_19\tCONT17_20\tCONT18_21\tTEM1_03\tTEM2_04\tTEM3_05\tTEM4_06\tTEM5_07\tTEM6_08\tTEM7_09\tTEM8_10\tTEM9_11\r\n+M81.524T70\t17245057.1490431\t17036926.76148\t14186746.1104353\t4164396.2640625\t5825050.36954166\t457731.438574219\t13431506.2434444\t4743128.92189773\t4431069.68183594\t11904377.4810682\t618138.410458335\t8634502.19198085\t5199903.71290384\t2999525.24980469\t2871167.76086842\t3201384.6703125\t6855006.03627273\t2065984.63589583\t12354338.6816546\t2632801.53092046\t6008013.24602679\t1538072.42592774\t1376310.44370117\t4616186.73152557\t12160011.0587666\t7363508.26171155\t7605224.4703125\t2842257.47011364\t3636874.79726562\t7106432.31276923\r\n+M81.523T36\t55675386.2438176\t46887468.270772\t19824326.8155966\t2206896.23657422\t2440868.37444364\t2009364.9079625\t2407403.60608761\t1978183.42881557\t2143366.47103292\t2656133.68046755\t1426335.10488756\t2135439.49960156\t720638.458299429\t898892.706424579\t920198.319036057\t523723.821725865\t1093497.66953005\t724489.016731027\t972712.563146973\t438772.677452524\t887895.312609375\t2677695.3734716\t2588015.10675\t356215.504334998\t1049454.73280575\t3787646.42594049\t2919221.10312528\t5359484.09382\t478359.527380935\t1140528.44877404\r\n+M81.524T124\t3164592.1993164\t5989888.6916012\t1518120.94585477\t1286357.75195313\t3260040.48126562\t719417.038621094\t7054955.8301369\t6343114.49507082\t4237024.07422831\t4397965.16835937\t534257.281605227\t1424000.69550807\t4174800.75689674\t2253885.16567383\t304750.9030813\t3804141.65183063\t6366198.52070313\t1102220.8676804\t12383046.031755\t2881755.90031484\t4030125.64658203\t1034171.55578209\t403876.64393478\t4332910.01903804\t5373346.68777273\t2345864.55488281\t6061830.96496154\t591704.726790612\t1439355.18359446\t5460301.30898438\r\n+M81.605T62\t738234.538591211\t787394.04113875\t609336.172099946\t165239.250543213\t250720.149914062\t62050.7963453775\t572778.776118634\t214128.538745117\t165783.36375799\t520178.799879971\t19210.2888131511\t197410.818369591\t215250.83453726\t173276.495391601\t140765.733982849\t124586.975384521\t460116.931021484\t100216.07689856\t599215.81365625\t119548.15790347\t249620.432144531\t56410.0884607937\t45422.8305988284\t212608.420554687\t504629.516519165\t372211.610403266\t664010.253782714\t179442.809423828\t169076.104030424\t420632.445795465\r\n+M81.633T44\t500457.051853996\t301708.944964255\t234100.717397594\t392423.408051547\t481733.790330637\t112110.476576976\t76348.8427642822\t400525.637360044\t386544.266052058\t623711.893383773\t182942.487537586\t364640.488893419\t303372.504545672\t234440.283910824\t181890.741198644\t173583.966316436\t481476.597202108\t145854.144796657\t509794.671549424\t168818.072302376\t368060.057189425\t96908.7229828949\t71999.192332896\t268318.19969469\t556452.501583479\t557010.24792439\t586287.218057729\t208337.994883021\t228941.212222234\t443363.788437248\r\n+M82.025T59\t1207813.88144387\t1142397.16801674\t1150519.24177331\t348694.732166667\t625629.742648207\t98655.5918673931\t470104.647666903\t926554.190932431\t236099.609027995\t891870.344063615\t49253.1601679688\t332923.017687988\t475239.278708333\t393623.992694092\t325048.115631104\t1917117.05029625\t799454.182767416\t278074.685941612\t2679898.54414881\t268837.485987981\t718982.099888021\t113651.005216602\t90680.9042522461\t381971.662919745\t836732.487312015\t737367.771085937\t774259.093041119\t359011.660618359\t129923.034153646\t3761203.30867893\r\n+M82.523T47\t72408.0196226562\t479836.953430213\t399391.433145713\t131800.280118679\t153337.949388604\t20580.1627272705\t171750.347615858\t140196.095224265\t140293.550578761\t119631.618302649\t64527.2110248011\t126119.521658816\t121571.016651719\t95508.5351668532\t70590.4225148253\t87952.71041754\t134846.336171673\t63333.7223610382\t204393.691738605\t77661.097831396\t141873.791713\t49905.9448372764\t39313.347471524\t126289.908665153\t97737.5102592517\t189376.141772682\t205615.822292474\t96610.6842321809\t104612.021332949\t172473.883535676\r\n+M83.52T53\t973615.903411977\t293189.69332704\t181734.36850601\t153114.131770969\t21514'..b'415040.050813806\t554.792287168729\t1210.50870535312\t348.542917862149\t385.625996074505\t2380.82162614062\t3771.40455806518\t608.98095139494\t0\t0\r\n+M1564.167T1093\t3352.179311001\t226135.269596229\t907941.796308023\t1291153.21943694\t1006860.69174804\t1608924.38518111\t1367862.78987139\t1169349.07205929\t1145354.54410282\t1367693.28294964\t1484507.916858\t385461.586852193\t2392249.98975654\t4833723.48811111\t3578512.36773649\t1194905.87134509\t915456.388963167\t1883180.3894003\t2287377.45214289\t1674389.75571874\t817096.764532469\t2471.23455999916\t2179.19700448501\t911.937258937854\t553.528014773304\t1672.35748140701\t4797.43689726395\t5496.36278308222\t0\t0\r\n+M1565.171T1092\t2391.67307351056\t104981.120953546\t797475.642651909\t937682.695615764\t862274.841139785\t1301248.75661999\t1061205.2113307\t912752.286162678\t1070088.72808972\t1044576.46244959\t1110620.50034522\t324761.496641646\t2283480.82068751\t3589252.08249473\t3201567.99691196\t778814.736345083\t740452.869052303\t1595786.68380293\t2006489.7379123\t1563947.21345496\t824828.02766349\t885.389712538895\t1279.67926925735\t1473.35515000182\t445.322643413349\t1586.54206836837\t1825.56271308372\t7077.378933737\t0\t420.364078227145\r\n+M1566.166T1089\t1363.86979214885\t37949.4929229729\t121494.85793457\t1012112.44923191\t1042910.35657883\t1320813.98476036\t1069822.68757839\t772387.184089797\t933433.650808519\t1071964.95916328\t1474904.1281967\t527125.316110911\t694519.144029925\t1383763.83652039\t1231791.83886422\t261387.941641322\t0\t1456918.94184935\t1988638.5293262\t1872777.56199762\t189952.311810661\t455.75221256761\t387.074134973652\t595.321232807548\t389.177409460555\t1539.16444273495\t892.594424386414\t2071.73636835072\t1025.62346750257\t0\r\n+M1566.181T1092\t1644.85305171706\t47612.7270917445\t881627.882448658\t1660293.16385156\t1557986.78623136\t2029968.61555439\t1551856.11536976\t1149445.85652604\t1632329.46982428\t1819380.34439665\t2138257.47878815\t1011433.50869294\t1035042.84891599\t2097926.96068213\t1730456.95539096\t326806.101733167\t792208.682952973\t2988647.62522846\t3860065.90091429\t2771680.84401855\t1073803.38478738\t871.169446869121\t1612.9120817728\t1524.27634090871\t1468.35170169784\t2667.37899992916\t1497.89828922939\t3152.71345693646\t1662.32564410266\t593.181632131396\r\n+M1567.185T1092\t867.712003048165\t15893.7244772677\t670889.590530058\t1256005.61754151\t1390471.38779825\t1445467.48345636\t1330178.01083\t814957.879956902\t1182354.34928411\t1270646.39000235\t1899711.90213568\t728972.358758007\t336436.684860743\t688988.880271202\t612851.754379897\t109131.01845144\t550843.580292971\t2151430.32318174\t3163240.34894531\t1977569.22293087\t914571.460858151\t2313.1733617001\t2484.35942562603\t1447.52656184279\t1248.22012559224\t2043.01290408566\t1599.00284492047\t3163.40255843087\t786.245491157175\t1095.26245105947\r\n+M1568.195T1091\t1571.27438821426\t5175.89748769716\t554511.310896879\t1566070.93932684\t870031.818124988\t1499354.72576096\t1161073.5138672\t1342908.34472351\t1638584.67080116\t1608916.04287349\t1896714.42671018\t1269422.22225053\t116906.331435757\t173843.980343898\t143755.230780538\t25861.0050926789\t536846.348588707\t2459254.32295601\t3228311.05071178\t2564296.75363298\t891969.147003038\t2768.0421746239\t2030.79202857269\t2027.82309074062\t1557.92062496203\t1641.91476757951\t3459.33191932119\t1289.75613983919\t748.686084194614\t836.929926362072\r\n+M1569.199T1091\t2545.42703400555\t1536.40246831216\t343455.297990703\t1130403.88443218\t670605.656649934\t1046969.40075543\t875096.324974885\t1033889.48521821\t1337255.85131628\t1214834.45173108\t1566912.91346936\t1080530.16437345\t25737.2368479932\t47879.4910335512\t12298.5815157813\t3860.2659655784\t453733.220263034\t770506.479919351\t1255858.36921185\t1732641.98831782\t860463.280064655\t2478.6355279841\t2562.61996500715\t1922.08632876756\t1881.40478326111\t2508.36236566536\t3003.76720978253\t1796.12812562709\t0\t1456.22401670172\r\n+M1595.494T496\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t27005.6102716945\t32797.9977145726\t40869.130178906\t50464.6119999024\t39706.5431425447\t38212.0851350912\t31376.2389419558\t0\t29441.7663187199\t0\t50350.5521874755\t79536.141147541\t49796.5046348988\t0\t0\t44618.8569427489\t65471.3911247254\t37076.8424117835\r\n'
b
diff -r f64656ae9ea4 -r 016780b192a6 batchcorrection/tests/mrey/sampleMetadata.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/batchcorrection/tests/mrey/sampleMetadata.tsv Thu Mar 02 03:38:08 2017 -0500
b
@@ -0,0 +1,31 @@
+sampleMetadata sampleType polarity injectionOrder batch condition
+BLC1_02 blank positive 2 B1 NA
+BLC2_12 blank positive 12 B1 NA
+BLC3_22 blank positive 22 B1 NA
+APO19_23 sample positive 23 B1 APO
+APO20_24 sample positive 24 B1 APO
+APO21_25 sample positive 25 B1 APO
+APO22_26 sample positive 26 B1 APO
+APO23_27 sample positive 27 B1 APO
+APO24_28 sample positive 28 B1 APO
+APO25_29 sample positive 29 B1 APO
+APO26_30 sample positive 30 B1 APO
+APO27_31 sample positive 31 B1 APO
+CONT10_13 sample positive 13 B1 CONT
+CONT11_14 sample positive 14 B1 CONT
+CONT12_15 sample positive 15 B1 CONT
+CONT13_16 sample positive 16 B1 CONT
+CONT14_17 sample positive 17 B1 CONT
+CONT15_18 sample positive 18 B1 CONT
+CONT16_19 sample positive 19 B1 CONT
+CONT17_20 sample positive 20 B1 CONT
+CONT18_21 sample positive 21 B1 CONT
+TEM1_03 sample positive 3 B1 TEM
+TEM2_04 sample positive 4 B1 TEM
+TEM3_05 sample positive 5 B1 TEM
+TEM4_06 sample positive 6 B1 TEM
+TEM5_07 sample positive 7 B1 TEM
+TEM6_08 sample positive 8 B1 TEM
+TEM7_09 sample positive 9 B1 TEM
+TEM8_10 sample positive 10 B1 TEM
+TEM9_11 sample positive 11 B1 TEM
b
diff -r f64656ae9ea4 -r 016780b192a6 batchcorrection/tests/mrey/variableMetadata.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/batchcorrection/tests/mrey/variableMetadata.tsv Thu Mar 02 03:38:08 2017 -0500
[
b'@@ -0,0 +1,2823 @@\n+name\tmz\tmzmin\tmzmax\trt\trtmin\trtmax\tnpeaks\tblank\tsample\tisotopes\tadduct\tpcgroup\tfold\ttstat\tpvalue\r\n+M81.524T70\t81.5235101268043\t81.5219105921081\t81.5238221865812\t70.2978445132475\t56.2058121098714\t102.839656339658\t89\t3\t26\t\t\t12\t2.97469946927957\t-8.82742113937109\t0.000518691855136311\r\n+M81.523T36\t81.5234951244646\t81.5215680588398\t81.5237712622929\t35.9564798825821\t5.9175845315306\t48.3248083453773\t60\t3\t26\t\t\t1\t23.4650836377063\t-3.61956787639262\t0.0684817241411202\r\n+M81.524T124\t81.5235401934833\t81.521058735293\t81.5239068393821\t123.509653247624\t103.521162299272\t145.432719113821\t55\t2\t19\t\t\t15\t1.02619614773344\t-0.0644248350237252\t0.953083384989653\r\n+M81.605T62\t81.6054803561257\t81.6038984453999\t81.6056507591202\t61.7883589098523\t35.2115845315306\t96.4903861224106\t75\t3\t25\t\t[M+2H]2+ 161.193\t424\t2.75497400463374\t-7.08538370799515\t0.00181580628630051\r\n+M81.633T44\t81.6332373431105\t81.63285540691\t81.6334538367526\t43.7069491262628\t41.4716760861144\t46.8164104556404\t4\t3\t1\t\t[M+2H]2+ 161.243\t55\t1.08372276452218\t-0.308808175571569\t0.779544973384615\r\n+M82.025T59\t82.0247798134743\t82.0231091126149\t82.0250713549211\t59.4984069401054\t35.1215560091358\t104.202582379972\t83\t3\t26\t\t[M+H-COCH2]+ 123.033\t424\t1.65642196529623\t-2.85505582153433\t0.0082099816566803\r\n+M82.523T47\t82.5226807265998\t82.5217879543643\t82.5229953237472\t46.8622532873413\t44.1285139085929\t63.937510957825\t7\t3\t3\t\t[M+2H-C6H10O5]2+ 325.088\t55\t2.72077213620903\t-1.60576480511107\t0.248170871495967\r\n+M83.52T53\t83.5199395150763\t83.5181550649664\t83.5200836563593\t52.5451707546047\t35.2115845315306\t101.23101808913\t56\t3\t23\t\t\t829\t2.65504702967607\t-1.21259212501135\t0.347844313604565\r\n+M84.047T59\t84.0469906961629\t84.0466890929061\t84.0473045282257\t58.9569162184907\t39.4164209930302\t59.7913514678323\t33\t0\t25\t\t[M+H-HCOOH]+ 129.045\t423\t7.88634255202143\t9.21970072776869\t9.37748323437404e-10\r\n+M85.531T75\t85.5305276020198\t85.5297395681327\t85.5306701793419\t75.3477153538007\t75.3230243044018\t75.4986201653264\t3\t3\t0\t\t\t1207\t10.1674867994274\t-9.11034282057344\t0.0110791322846033\r\n+M86.099T81\t86.0992159988316\t86.0973186179552\t86.0994409590654\t80.983782655646\t73.4028824699218\t84.3381483640636\t55\t0\t27\t\t[M+K]+ 47.1363 [M+Na]+ 63.1102 [M+H]+ 85.0921\t26\t892.459508866784\t5.35626368845054\t1.31554723692417e-05\r\n+M86.521T43\t86.5206902294923\t86.5197256024465\t86.520845513661\t42.8344105609507\t41.92780207457\t43.4956728362821\t29\t3\t26\t\t\t245\t4.24054749903061\t7.22784291388529\t7.89431751080372e-08\r\n+M87.047T339\t87.0467418597621\t87.0458855812651\t87.047012416981\t339.275125714365\t338.557520290367\t340.392354562057\t30\t3\t27\t\t[M+2H-H20]2+ 190.091\t169\t1.02475288385423\t-0.516760175983531\t0.649096863542963\r\n+M87.047T652\t87.0467279041555\t87.0460905684537\t87.0469392135007\t652.494626651351\t652.413160225245\t654.155090901521\t3\t3\t0\t\t\t159\t1.06009637806536\t-3.99184924578069\t0.0157389535752861\r\n+M87.058T40\t87.0577200920649\t87.0575187343923\t87.0579626000581\t39.6090554732441\t39.2037763324719\t40.1303318078436\t24\t0\t24\t\t\t256\t201.307352339292\t12.9206783223498\t7.4273920347423e-13\r\n+M89.063T255\t89.0626356817774\t89.0606893208442\t89.0628193942431\t255.094208460793\t202.149186455241\t287.406979361833\t185\t3\t25\t\t\t787\t1.50398392513057\t-0.422171506339641\t0.71158160657157\r\n+M89.063T170\t89.062663661747\t89.0605762102217\t89.062859934364\t170.245301257757\t153.46053554301\t187.834167568769\t107\t3\t24\t[1][M]+\t\t4\t1.30319273255247\t0.769988217805889\t0.520591590665951\r\n+M89.148T158\t89.1480771662982\t89.1458711261433\t89.1482424133349\t158.096550920486\t154.510443207588\t169.420428105868\t5\t2\t3\t\t\t24\t1.85917373083249\t1.07749916103817\t0.389013763445907\r\n+M89.51T1385\t89.5096684701496\t89.5078889574626\t89.5098509507172\t1385.04314451944\t1383.45148070661\t1401.33451962073\t35\t3\t27\t[2][M]2+\t[M+2K]2+ 101.103 [M+Na+K]2+ 117.077\t62\t1.02771367933156\t-0.899441515229112\t0.394432791089645\r\n+M90.011T1385\t90.0107254019506\t90.0103172001681\t90.0109963551397\t1384.9812826475\t1382.67534056103\t1387.35591551301\t28\t3\t23\t[2][M+1]2+\t\t62\t1.11062198977736\t0.735549600014365\t0.533323539571853\r\n+M90.058T40\t90.05769453214'..b'7\t1476.85671237537\t1476.86291147917\t1010.79404159117\t1009.9931106819\t1020.14545935727\t16\t0\t14\t\t[3M+K]+ 479.304\t30\t176.285581313398\t6.87874499425231\t2.64003495509257e-07\r\n+M1492.07T1087\t1492.07012463954\t1492.06589242852\t1492.07315264503\t1087.24767250027\t1072.4893166943\t1107.29805458364\t6\t2\t4\t\t\t760\t3.29934641441081\t-1.32823036684652\t0.313392248933475\r\n+M1512.134T1090\t1512.13395738671\t1512.13028624035\t1512.13630751307\t1090.42821958914\t1085.57617993542\t1099.7682066166\t13\t2\t11\t\t\t929\t1.23844011982942\t-0.344231701960545\t0.759598740747016\r\n+M1514.094T1077\t1514.09441098129\t1514.09082065085\t1514.09780532094\t1077.05686175177\t1069.77469095069\t1091.93679235326\t4\t2\t2\t\t\t761\t1.23758661773846\t0.43388145514646\t0.695475502538162\r\n+M1538.149T1097\t1538.14929801488\t1538.14605483192\t1538.15112887591\t1096.77262224084\t1089.27481322306\t1102.66779888037\t7\t2\t5\t[399][M]+\t\t109\t1.10090875627502\t0.185833481816785\t0.866797276123588\r\n+M1539.152T1095\t1539.15210483775\t1539.14583036089\t1539.15441626234\t1095.27146117946\t1083.16904207622\t1104.12086282473\t8\t2\t6\t[399][M+1]+\t\t109\t1.55082706961593\t0.776478142892996\t0.502385330782865\r\n+M1540.164T1094\t1540.16415923332\t1540.16118314061\t1540.16646764965\t1093.945049236\t1089.57890598559\t1101.507234872\t15\t1\t14\t\t\t930\t1.82874657490287\t0.846708655618284\t0.468928170453308\r\n+M1560.135T1094\t1560.13457270181\t1560.13261814223\t1560.13681870232\t1093.85265528964\t1089.27481322306\t1099.09533646082\t14\t2\t12\t[400][M]+\t\t919\t1.02181183921517\t-0.0375248283072069\t0.972359514141601\r\n+M1560.959T1013\t1560.95948664555\t1560.95518680697\t1560.9630005975\t1013.35580102808\t1012.63538430785\t1022.44267259471\t20\t0\t14\t[401][M]+\t\t46\t75.9583255524898\t6.40329188663622\t8.60090693333149e-07\r\n+M1561.138T1094\t1561.13788904727\t1561.1362509824\t1561.14048894052\t1093.90186233394\t1089.27481322306\t1099.78131507334\t13\t2\t11\t[400][M+1]+\t\t920\t1.00994741730418\t0.0173342910496679\t0.987214390715718\r\n+M1561.961T1013\t1561.96134071939\t1561.95717689781\t1561.96453029156\t1013.35603440357\t1012.63538430785\t1022.44267259471\t19\t0\t14\t[401][M+1]+\t\t46\t88.4381911053249\t6.28457673243797\t1.15863650118619e-06\r\n+M1562.15T1095\t1562.14969641245\t1562.145688515\t1562.15223355758\t1094.53803047136\t1090.64028227866\t1102.66779888037\t15\t2\t13\t[402][M]+\t\t931\t1.16574948774999\t0.25870718480265\t0.815490780217099\r\n+M1563.154T1095\t1563.15415540761\t1563.15186192359\t1563.15599840149\t1094.55986085099\t1090.64028227866\t1103.39362809199\t14\t2\t12\t[402][M+1]+\t\t932\t1.20230845905677\t0.288312721715197\t0.793978996479539\r\n+M1564.167T1093\t1564.1666641827\t1564.16065632199\t1564.16977636579\t1092.5482903579\t1086.93768693393\t1104.84949068302\t19\t2\t17\t[403][M]+\t\t933\t2.97182265658779\t2.10971362568546\t0.083189396666961\r\n+M1565.171T1092\t1565.17089225227\t1565.16675319768\t1565.17468843015\t1092.458347946\t1086.93768693393\t1104.84949068302\t19\t2\t17\t[403][M+1]+\t\t934\t3.09748924900012\t2.0289229311451\t0.101232798432604\r\n+M1566.166T1089\t1566.16611858152\t1566.16235145399\t1566.16952460695\t1089.36343063144\t1077.63655613146\t1104.84949068302\t4\t2\t2\t\t\t762\t12.653154444375\t4.74964015828045\t5.49908456406456e-05\r\n+M1566.181T1092\t1566.18067066306\t1566.17755168785\t1566.18265161562\t1092.10279582441\t1088.9875291982\t1096.04177349836\t15\t1\t14\t[403][M+2]+\t\t935\t3.72914249770741\t2.3954780320353\t0.0667116160359544\r\n+M1567.185T1092\t1567.18526368697\t1567.17992650595\t1567.18731530347\t1091.84188662937\t1081.88593473408\t1095.23035379262\t16\t1\t14\t[403][M+3]+\t\t936\t3.52892318306203\t2.12109658977135\t0.092361627697171\r\n+M1568.195T1091\t1568.19456161011\t1568.19221286338\t1568.19707506258\t1091.45879571758\t1089.67139982342\t1096.11811996113\t14\t0\t14\t[403][M+4]+\t\t937\t4.55533467852885\t2.56060397413644\t0.0357228730921213\r\n+M1569.199T1091\t1569.19926031772\t1569.19585656329\t1569.20098905491\t1091.03359131388\t1087.62311561401\t1095.43414178388\t15\t0\t14\t\t\t938\t4.83947855316622\t2.75684772180694\t0.0264089435045287\r\n+M1595.494T496\t1595.49433501898\t1595.49198450352\t1595.49525398352\t495.796080468539\t495.371720488972\t496.251169250058\t14\t0\t14\t\t[2M+Na]+ 786.254\t111\tInf\t4.8122508281505\t5.51633932315276e-05\r\n'
b
diff -r f64656ae9ea4 -r 016780b192a6 batchcorrection/tests/output/dataMatrix.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/batchcorrection/tests/output/dataMatrix.tsv Thu Mar 02 03:38:08 2017 -0500
b
b'@@ -0,0 +1,2823 @@\n+dataMatrix\tBLC1_02\tBLC2_12\tBLC3_22\tAPO19_23\tAPO20_24\tAPO21_25\tAPO22_26\tAPO23_27\tAPO24_28\tAPO25_29\tAPO26_30\tAPO27_31\tCONT10_13\tCONT11_14\tCONT12_15\tCONT13_16\tCONT14_17\tCONT15_18\tCONT16_19\tCONT17_20\tCONT18_21\tTEM1_03\tTEM2_04\tTEM3_05\tTEM4_06\tTEM5_07\tTEM6_08\tTEM7_09\tTEM8_10\tTEM9_11\r\n+M81.524T70\t134619170.201999\t22700567.5401763\t14663527.1711692\t4431770.8328099\t5733902.84029388\t436287.422667732\t12493294.7801789\t4283981.5465868\t3871391.85038125\t10047481.2875562\t504395.884980369\t6833766.0905763\t7358216.36403948\t4092258.10357672\t3655061.95808389\t3782685.7916145\t7562828.41138464\t2129334.21661587\t12213668.0235681\t2563396.61407841\t5881618.41510083\t3451609.13656413\t1967933.16392626\t5163586.0560917\t11742588.0306678\t6518565.43679783\t6460711.11989501\t2428940.35760111\t3368770.81754968\t8175593.814559\r\n+M81.523T36\t59300538.2307076\t60664899.6823011\t22898447.7366862\t2138266.45445676\t2110041.17504175\t1627267.17106549\t1878538.5620985\t1522729.98705692\t1665272.95009828\t2132719.03157001\t1214765.36146035\t1989570.20110661\t1413173.63695566\t1995729.07391148\t2379011.98168995\t1377134.51093742\t2738140.75453079\t1703730.64486345\t2016708.81363891\t748672.101436634\t1273348.71920133\t2408605.9260517\t2073468.03443151\t265052.193673223\t751614.136907553\t2691223.31486132\t2106126.65344654\t3985938.14935578\t371474.312548069\t1025957.22467911\r\n+M81.524T124\t15139520.1595418\t7609104.71896101\t1485755.15194074\t1392299.61221288\t3072524.32624919\t659891.352276382\t6625910.19187804\t6232882.15631415\t4442900.29577116\t5069092.44675706\t710546.816863656\t2378971.42601844\t5522422.33478392\t2614198.41435954\t305509.065328471\t3288613.9722488\t4967392.27313734\t802116.016868353\t8793585.19503572\t2128983.1118078\t3239959.8285063\t2384798.04264559\t654761.061041622\t5685265.47405479\t6147782.48898121\t2455389.68944139\t6028935.63396474\t581274.923564477\t1481943.07324343\t6415396.22953306\r\n+M81.605T62\tNA\t905456.056052971\t679359.849162039\t193433.061593413\t265892.46610621\t63481.1925602432\t584026.492854329\t220717.871444634\t175037.747840646\t571722.083458719\t22456.9475824172\t253305.832964036\t285337.145303927\t217189.507819514\t165625.455055564\t134551.874124428\t468372.877079542\t97221.5199348794\t568017.481120553\t114693.020340698\t253449.315523979\t218396.217754861\t70756.1049916712\t225331.85626202\t431874.398545692\t281381.002907273\t470847.551180945\t125714.742818382\t125785.484262887\t385780.633407375\r\n+M81.633T44\tNA\t353155.210154285\t227222.022979083\t418674.753007925\t510043.172613058\t114816.90459718\t76350.7236448052\t391902.171628772\t368167.122022047\t573701.683333677\t161315.880774218\t306837.600774697\t382829.735688721\t291939.022161652\t220979.309786581\t206326.390158885\t558371.346882712\t157341.008864603\t498610.10331563\t156945.428717892\t331657.735182602\t269537.911995064\t107541.845293308\t294145.335294565\t509152.353880865\t457602.475036878\t455091.752046707\t160110.746512643\t186409.4620062\t437927.028508757\r\n+M82.025T59\tNA\t702729.43218847\t1284907.99620713\t481105.414418748\t892343.696121507\t148407.846020226\t754856.517761335\t1570044.3063199\t413591.77623561\t1583146.29119876\t87232.177244662\t583657.311346792\t309697.531571148\t263348.831484511\t224969.924392196\t1384087.57230821\t591008.267403386\t199450.450226377\t1836677.59452455\t196461.999410902\t629169.120778154\tNA\t305179.706217838\t625123.594226023\t940831.565201671\t653084.359197873\t583863.151964416\t243179.184055236\t82255.7846984087\t2283260.16236539\r\n+M82.523T47\t980438.349253125\t473657.003720144\t374203.67768889\t125724.597706376\t142567.573295566\t19205.2395261474\t162742.588622524\t135403.789804572\t138491.181418434\t121192.173738349\t67493.9263980731\t137320.826658694\t134435.729216525\t109349.52241825\t81555.4179799857\t100014.324249383\t148512.204850077\t65449.2148494312\t197573.26557867\t72519.1083515081\t128510.77123734\t128115.95843919\t60060.982036162\t145146.769477187\t94134.0575957813\t163050.43858129\t165561.620173717\t75554.1775033117\t83126.3150977583\t150508.918475487\r\n+M83.52T53\tNA\t219643.919016286\t214346.399032091\t181105.505863458\t241361.834183927\t39684.8756726371\t216713.70210666\t231704.9'..b'930048\t683382.022651912\t232168.935120207\t153138.8136659\t182686.386767776\t542034.396018681\t399210.64213726\tNA\tNA\tNA\t111077.304051973\t54312.525476927\t74409.0139114253\t35363.5855650229\t567580.610478309\t501958.561014727\r\n+M1563.154T1095\t5013.12530442365\t245126.464251582\t319499.612792953\t242943.064222525\t325304.223099967\t389122.608959873\t316480.882341229\t409651.015165728\t90601.0635953352\t197852.105676817\t331061.811294454\tNA\t148149.936428043\t185156.07210751\t568707.997852341\t600698.610860161\t172637.662540111\t119636.610435014\t199936.414307753\t514714.066107616\t260315.255123747\t2568.90423571844\t40434.3385161063\tNA\tNA\tNA\tNA\tNA\t0\t0\r\n+M1564.167T1093\t8335.59562716876\t140408.071294001\t748200.56531564\t1128109.02067107\t884464.157824476\t1415772.20060069\t1225859.77730054\t1081605.39451603\t1107312.3480073\t1401450.88143812\t1640574.6140387\t470717.710791083\t1165994.84569714\t2232461.90269821\t1550133.54237481\t528655.15003189\t449912.999607964\t1117139.08373114\t1697727.55165373\t1421284.28384562\t682735.576877249\t17035.9778007301\tNA\tNA\tNA\tNA\t117508.091026612\t21314.8281371685\t0\t0\r\n+M1565.171T1092\t6219.23889402572\t64795.5095000358\t627797.920626123\t806583.435737544\t758101.410903496\t1162908.90333806\t977986.346251321\t876701.098093322\t1081430.03202912\t1122486.55442274\t1286965.43469056\t414256.555561792\t1119139.34520559\t1679834.85217879\t1403040.79312981\t345617.386250435\t360688.585794015\t923691.25234093\t1421953.07354195\t1247796.08820403\t643549.361487189\t6595.23039263943\tNA\tNA\tNA\tNA\t32717.5604748392\t25736.862152513\t0\t410.216462651311\r\n+M1566.166T1089\t6854.60956307264\t51600.144419855\t67800.9404071644\t628699.368843136\t678555.970649455\t869617.991531381\t712055.291075026\t520912.023598736\t639285.834208758\t746662.811332427\t1046202.48243589\t381660.230645871\t799382.629815434\t1368362.2255502\t980647.435055663\t178116.172836284\t0\t900587.089753249\t1219655.76353333\t1111197.90201372\t104122.533689643\t6325.58339758756\tNA\tNA\tNA\tNA\t46302.8434977097\t16440.3076507164\t3750.38357543612\t0\r\n+M1566.181T1092\t8681.28341620585\t81760.4613625211\t476767.957770918\t1064817.36750575\t1079205.55762823\t1458099.52055323\t1144869.93731317\t863463.665966254\t1235747.16252687\t1371990.70745412\t1587882.69866547\t732576.618358925\t1452711.24241654\t2215297.97482395\t1384931.67780442\t212094.588259746\t453303.127028743\t1606425.88221006\t2010310.11932251\t1416436.88357603\t531049.856990248\t12032.9744150441\tNA\tNA\tNA\tNA\t426077.818350823\t33450.8160481518\t7569.00822148807\t1480.68421386983\r\n+M1567.185T1092\t7759.78526648728\t85075.4200138174\t319292.360035691\t708301.655988739\t858201.419937967\t929843.41462623\t880404.045824324\t549849.371443276\t804886.014192076\t862484.165293252\t1270010.06087767\t474650.023334542\t1646845.80459712\t1434073.39102856\t737604.118322166\t88401.856479898\t346000.977670178\t1147538.13561012\t1516573.68325023\t894404.935804841\t397135.463087212\t48454.205315457\t9391927.17968118\tNA\tNA\tNA\tNA\t112531.293402573\t9232.71973481476\t6747.81041923935\r\n+M1568.195T1091\t30016.8690076509\tNA\t266549.414344359\t928306.919553181\t552096.301126585\t972998.099022095\t756937.344392915\t862003.306325202\t1013505.0116113\t940061.607935736\t1030487.36142173\t634464.921634229\tNA\t1155996.29452434\t272773.687085039\t25645.1226916157\t361856.559029364\t1301590.91076862\t1474535.1596857\t1103232.11576297\t372508.810788395\t103541.851317698\t327428.260549216\tNA\tNA\tNA\tNA\tNA\tNA\t159196.182673167\r\n+M1569.199T1091\t68054.4081404632\tNA\t168193.580428434\t612637.86788563\t374164.530310025\t575023.2349526\t468545.902666708\t535185.194386531\t662700.029166505\t570697.270172941\t691994.952433222\t445928.683775914\tNA\t3283432.35708249\t49070.1141632646\t6333.70076586611\t445563.036794909\t546724.449953814\t722418.913341343\t890165.814238072\t401478.725575547\t113643.000909659\t299998.376960655\tNA\tNA\tNA\tNA\tNA\tNA\tNA\r\n+M1595.494T496\t0\t0\t0\t0\t0\t0\tNA\tNA\tNA\tNA\t0\t0\t14673.3471870026\t17559.5439102042\t23021.8866267716\t30347.2211337079\t25266.8452504389\t26215.4806523418\t24908.6203993048\t0\t46097.8017525899\t0\t34703.3848925586\t52933.0089518394\t32192.3745528462\t0\t0\t28934.4764515163\t44715.4742353692\t24193.3913779241\r\n'
b
diff -r f64656ae9ea4 -r 016780b192a6 batchcorrection/tests/output/graph_output.pdf
b
Binary file batchcorrection/tests/output/graph_output.pdf has changed
b
diff -r f64656ae9ea4 -r 016780b192a6 batchcorrection/tests/output/rdata_output.rdata
b
Binary file batchcorrection/tests/output/rdata_output.rdata has changed
b
diff -r f64656ae9ea4 -r 016780b192a6 batchcorrection/tests/output/variableMetadata.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/batchcorrection/tests/output/variableMetadata.tsv Thu Mar 02 03:38:08 2017 -0500
[
b'@@ -0,0 +1,2823 @@\n+variableMetadata\tmz\tmzmin\tmzmax\trt\trtmin\trtmax\tnpeaks\tblank\tsample\tisotopes\tadduct\tpcgroup\tfold\ttstat\tpvalue\r\n+M81.524T70\t81.5235101268043\t81.5219105921081\t81.5238221865812\t70.2978445132475\t56.2058121098714\t102.839656339658\t89\t3\t26\t\t\t12\t2.97469946927957\t-8.82742113937109\t0.000518691855136311\r\n+M81.523T36\t81.5234951244646\t81.5215680588398\t81.5237712622929\t35.9564798825821\t5.9175845315306\t48.3248083453773\t60\t3\t26\t\t\t1\t23.4650836377063\t-3.61956787639262\t0.0684817241411202\r\n+M81.524T124\t81.5235401934833\t81.521058735293\t81.5239068393821\t123.509653247624\t103.521162299272\t145.432719113821\t55\t2\t19\t\t\t15\t1.02619614773344\t-0.0644248350237252\t0.953083384989653\r\n+M81.605T62\t81.6054803561257\t81.6038984453999\t81.6056507591202\t61.7883589098523\t35.2115845315306\t96.4903861224106\t75\t3\t25\t\t[M+2H]2+ 161.193\t424\t2.75497400463374\t-7.08538370799515\t0.00181580628630051\r\n+M81.633T44\t81.6332373431105\t81.63285540691\t81.6334538367526\t43.7069491262628\t41.4716760861144\t46.8164104556404\t4\t3\t1\t\t[M+2H]2+ 161.243\t55\t1.08372276452218\t-0.308808175571569\t0.779544973384615\r\n+M82.025T59\t82.0247798134743\t82.0231091126149\t82.0250713549211\t59.4984069401054\t35.1215560091358\t104.202582379972\t83\t3\t26\t\t[M+H-COCH2]+ 123.033\t424\t1.65642196529623\t-2.85505582153433\t0.0082099816566803\r\n+M82.523T47\t82.5226807265998\t82.5217879543643\t82.5229953237472\t46.8622532873413\t44.1285139085929\t63.937510957825\t7\t3\t3\t\t[M+2H-C6H10O5]2+ 325.088\t55\t2.72077213620903\t-1.60576480511107\t0.248170871495967\r\n+M83.52T53\t83.5199395150763\t83.5181550649664\t83.5200836563593\t52.5451707546047\t35.2115845315306\t101.23101808913\t56\t3\t23\t\t\t829\t2.65504702967607\t-1.21259212501135\t0.347844313604565\r\n+M84.047T59\t84.0469906961629\t84.0466890929061\t84.0473045282257\t58.9569162184907\t39.4164209930302\t59.7913514678323\t33\t0\t25\t\t[M+H-HCOOH]+ 129.045\t423\t7.88634255202143\t9.21970072776869\t9.37748323437404e-10\r\n+M85.531T75\t85.5305276020198\t85.5297395681327\t85.5306701793419\t75.3477153538007\t75.3230243044018\t75.4986201653264\t3\t3\t0\t\t\t1207\t10.1674867994274\t-9.11034282057344\t0.0110791322846033\r\n+M86.099T81\t86.0992159988316\t86.0973186179552\t86.0994409590654\t80.983782655646\t73.4028824699218\t84.3381483640636\t55\t0\t27\t\t[M+K]+ 47.1363 [M+Na]+ 63.1102 [M+H]+ 85.0921\t26\t892.459508866784\t5.35626368845054\t1.31554723692417e-05\r\n+M86.521T43\t86.5206902294923\t86.5197256024465\t86.520845513661\t42.8344105609507\t41.92780207457\t43.4956728362821\t29\t3\t26\t\t\t245\t4.24054749903061\t7.22784291388529\t7.89431751080372e-08\r\n+M87.047T339\t87.0467418597621\t87.0458855812651\t87.047012416981\t339.275125714365\t338.557520290367\t340.392354562057\t30\t3\t27\t\t[M+2H-H20]2+ 190.091\t169\t1.02475288385423\t-0.516760175983531\t0.649096863542963\r\n+M87.047T652\t87.0467279041555\t87.0460905684537\t87.0469392135007\t652.494626651351\t652.413160225245\t654.155090901521\t3\t3\t0\t\t\t159\t1.06009637806536\t-3.99184924578069\t0.0157389535752861\r\n+M87.058T40\t87.0577200920649\t87.0575187343923\t87.0579626000581\t39.6090554732441\t39.2037763324719\t40.1303318078436\t24\t0\t24\t\t\t256\t201.307352339292\t12.9206783223498\t7.4273920347423e-13\r\n+M89.063T255\t89.0626356817774\t89.0606893208442\t89.0628193942431\t255.094208460793\t202.149186455241\t287.406979361833\t185\t3\t25\t\t\t787\t1.50398392513057\t-0.422171506339641\t0.71158160657157\r\n+M89.063T170\t89.062663661747\t89.0605762102217\t89.062859934364\t170.245301257757\t153.46053554301\t187.834167568769\t107\t3\t24\t[1][M]+\t\t4\t1.30319273255247\t0.769988217805889\t0.520591590665951\r\n+M89.148T158\t89.1480771662982\t89.1458711261433\t89.1482424133349\t158.096550920486\t154.510443207588\t169.420428105868\t5\t2\t3\t\t\t24\t1.85917373083249\t1.07749916103817\t0.389013763445907\r\n+M89.51T1385\t89.5096684701496\t89.5078889574626\t89.5098509507172\t1385.04314451944\t1383.45148070661\t1401.33451962073\t35\t3\t27\t[2][M]2+\t[M+2K]2+ 101.103 [M+Na+K]2+ 117.077\t62\t1.02771367933156\t-0.899441515229112\t0.394432791089645\r\n+M90.011T1385\t90.0107254019506\t90.0103172001681\t90.0109963551397\t1384.9812826475\t1382.67534056103\t1387.35591551301\t28\t3\t23\t[2][M+1]2+\t\t62\t1.11062198977736\t0.735549600014365\t0.533323539571853\r\n+M90.058T40\t90'..b'7\t1476.85671237537\t1476.86291147917\t1010.79404159117\t1009.9931106819\t1020.14545935727\t16\t0\t14\t\t[3M+K]+ 479.304\t30\t176.285581313398\t6.87874499425231\t2.64003495509257e-07\r\n+M1492.07T1087\t1492.07012463954\t1492.06589242852\t1492.07315264503\t1087.24767250027\t1072.4893166943\t1107.29805458364\t6\t2\t4\t\t\t760\t3.29934641441081\t-1.32823036684652\t0.313392248933475\r\n+M1512.134T1090\t1512.13395738671\t1512.13028624035\t1512.13630751307\t1090.42821958914\t1085.57617993542\t1099.7682066166\t13\t2\t11\t\t\t929\t1.23844011982942\t-0.344231701960545\t0.759598740747016\r\n+M1514.094T1077\t1514.09441098129\t1514.09082065085\t1514.09780532094\t1077.05686175177\t1069.77469095069\t1091.93679235326\t4\t2\t2\t\t\t761\t1.23758661773846\t0.43388145514646\t0.695475502538162\r\n+M1538.149T1097\t1538.14929801488\t1538.14605483192\t1538.15112887591\t1096.77262224084\t1089.27481322306\t1102.66779888037\t7\t2\t5\t[399][M]+\t\t109\t1.10090875627502\t0.185833481816785\t0.866797276123588\r\n+M1539.152T1095\t1539.15210483775\t1539.14583036089\t1539.15441626234\t1095.27146117946\t1083.16904207622\t1104.12086282473\t8\t2\t6\t[399][M+1]+\t\t109\t1.55082706961593\t0.776478142892996\t0.502385330782865\r\n+M1540.164T1094\t1540.16415923332\t1540.16118314061\t1540.16646764965\t1093.945049236\t1089.57890598559\t1101.507234872\t15\t1\t14\t\t\t930\t1.82874657490287\t0.846708655618284\t0.468928170453308\r\n+M1560.135T1094\t1560.13457270181\t1560.13261814223\t1560.13681870232\t1093.85265528964\t1089.27481322306\t1099.09533646082\t14\t2\t12\t[400][M]+\t\t919\t1.02181183921517\t-0.0375248283072069\t0.972359514141601\r\n+M1560.959T1013\t1560.95948664555\t1560.95518680697\t1560.9630005975\t1013.35580102808\t1012.63538430785\t1022.44267259471\t20\t0\t14\t[401][M]+\t\t46\t75.9583255524898\t6.40329188663622\t8.60090693333149e-07\r\n+M1561.138T1094\t1561.13788904727\t1561.1362509824\t1561.14048894052\t1093.90186233394\t1089.27481322306\t1099.78131507334\t13\t2\t11\t[400][M+1]+\t\t920\t1.00994741730418\t0.0173342910496679\t0.987214390715718\r\n+M1561.961T1013\t1561.96134071939\t1561.95717689781\t1561.96453029156\t1013.35603440357\t1012.63538430785\t1022.44267259471\t19\t0\t14\t[401][M+1]+\t\t46\t88.4381911053249\t6.28457673243797\t1.15863650118619e-06\r\n+M1562.15T1095\t1562.14969641245\t1562.145688515\t1562.15223355758\t1094.53803047136\t1090.64028227866\t1102.66779888037\t15\t2\t13\t[402][M]+\t\t931\t1.16574948774999\t0.25870718480265\t0.815490780217099\r\n+M1563.154T1095\t1563.15415540761\t1563.15186192359\t1563.15599840149\t1094.55986085099\t1090.64028227866\t1103.39362809199\t14\t2\t12\t[402][M+1]+\t\t932\t1.20230845905677\t0.288312721715197\t0.793978996479539\r\n+M1564.167T1093\t1564.1666641827\t1564.16065632199\t1564.16977636579\t1092.5482903579\t1086.93768693393\t1104.84949068302\t19\t2\t17\t[403][M]+\t\t933\t2.97182265658779\t2.10971362568546\t0.083189396666961\r\n+M1565.171T1092\t1565.17089225227\t1565.16675319768\t1565.17468843015\t1092.458347946\t1086.93768693393\t1104.84949068302\t19\t2\t17\t[403][M+1]+\t\t934\t3.09748924900012\t2.0289229311451\t0.101232798432604\r\n+M1566.166T1089\t1566.16611858152\t1566.16235145399\t1566.16952460695\t1089.36343063144\t1077.63655613146\t1104.84949068302\t4\t2\t2\t\t\t762\t12.653154444375\t4.74964015828045\t5.49908456406456e-05\r\n+M1566.181T1092\t1566.18067066306\t1566.17755168785\t1566.18265161562\t1092.10279582441\t1088.9875291982\t1096.04177349836\t15\t1\t14\t[403][M+2]+\t\t935\t3.72914249770741\t2.3954780320353\t0.0667116160359544\r\n+M1567.185T1092\t1567.18526368697\t1567.17992650595\t1567.18731530347\t1091.84188662937\t1081.88593473408\t1095.23035379262\t16\t1\t14\t[403][M+3]+\t\t936\t3.52892318306203\t2.12109658977135\t0.092361627697171\r\n+M1568.195T1091\t1568.19456161011\t1568.19221286338\t1568.19707506258\t1091.45879571758\t1089.67139982342\t1096.11811996113\t14\t0\t14\t[403][M+4]+\t\t937\t4.55533467852885\t2.56060397413644\t0.0357228730921213\r\n+M1569.199T1091\t1569.19926031772\t1569.19585656329\t1569.20098905491\t1091.03359131388\t1087.62311561401\t1095.43414178388\t15\t0\t14\t\t\t938\t4.83947855316622\t2.75684772180694\t0.0264089435045287\r\n+M1595.494T496\t1595.49433501898\t1595.49198450352\t1595.49525398352\t495.796080468539\t495.371720488972\t496.251169250058\t14\t0\t14\t\t[2M+Na]+ 786.254\t111\tInf\t4.8122508281505\t5.51633932315276e-05\r\n'
b
diff -r f64656ae9ea4 -r 016780b192a6 batchcorrection/tests/output/variable_for_simca.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/batchcorrection/tests/output/variable_for_simca.tsv Thu Mar 02 03:38:08 2017 -0500
b
b'@@ -0,0 +1,31 @@\n+names\tsampleType\tpolarity\tinjectionOrder\tbatch\tcondition\tM81.524T70\tM81.523T36\tM81.524T124\tM81.605T62\tM81.633T44\tM82.025T59\tM82.523T47\tM83.52T53\tM84.047T59\tM85.531T75\tM86.099T81\tM86.521T43\tM87.047T339\tM87.047T652\tM87.058T40\tM89.063T255\tM89.063T170\tM89.148T158\tM89.51T1385\tM90.011T1385\tM90.058T40\tM90.066T165\tM90.066T264\tM90.066T225\tM90.506T73\tM90.51T1381\tM91.021T155\tM91.021T59\tM91.508T1380\tM91.522T59\tM92.539T116\tM95.088T155\tM96.511T54\tM97.039T75\tM97.994T116\tM98.978T69\tM98.978T124\tM98.978T41\tM99.511T73\tM99.511T48\tM100.017T50\tM101.007T50\tM101.011T35\tM101.026T73\tM101.074T844\tM102.037T48\tM104.11T1019\tM104.11T1047\tM104.11T992\tM104.11T40\tM104.996T1033\tM104.996T1066\tM104.996T980\tM104.995T834\tM104.995T532\tM104.995T793\tM104.995T871\tM104.995T1374\tM104.995T927\tM104.995T52\tM104.995T722\tM104.995T749\tM104.995T477\tM104.995T448\tM104.995T660\tM105.018T59\tM105.037T166\tM105.036T259\tM105.074T843\tM105.088T1026\tM105.088T870\tM105.088T1374\tM105.12T1374\tM105.538T157\tM105.999T1375\tM106.045T75\tM106.076T844\tM107.034T43\tM107.508T47\tM107.526T77\tM108.036T166\tM108.534T46\tM109.104T336\tM109.104T386\tM109.104T584\tM109.104T732\tM110.016T41\tM111.019T73\tM111.024T42\tM111.023T1381\tM111.12T428\tM111.12T324\tM111.12T248\tM111.119T277\tM111.534T59\tM112.032T43\tM112.053T51\tM112.115T33\tM113.038T66\tM113.052T116\tM113.062T155\tM113.099T160\tM114.041T66\tM114.094T162\tM114.516T44\tM114.534T166\tM115.042T148\tM115.079T154\tM115.524T43\tM116.074T43\tM116.989T68\tM117.024T54\tM117.077T43\tM118.089T41\tM119.053T990\tM119.092T49\tM120.024T48\tM120.068T40\tM120.084T132\tM120.969T1376\tM121.068T843\tM121.087T132\tM121.524T41\tM122.54T40\tM123.058T63\tM123.056T1375\tM124.028T35\tM124.042T55\tM124.068T116\tM124.128T35\tM125.029T35\tM125.045T55\tM125.532T59\tM126.026T35\tM126.034T59\tM127.042T42\tM127.042T843\tM127.053T144\tM127.076T116\tM127.115T732\tM127.114T329\tM128.55T169\tM129.056T59\tM129.094T140\tM129.142T34\tM130.053T59\tM130.054T40\tM130.162T293\tM130.162T162\tM130.529T41\tM130.529T70\tM130.606T33\tM131.03T44\tM131.056T59\tM131.536T41\tM132.105T81\tM132.208T81\tM133.054T66\tM133.064T40\tM133.084T160\tM133.108T82\tM134.12T47\tM135.03T44\tM135.105T161\tM136.065T116\tM136.065T54\tM136.17T54\tM136.511T55\tM136.606T33\tM136.944T38\tM137.049T100\tM137.054T61\tM137.063T161\tM137.067T54\tM137.067T116\tM138.052T101\tM138.058T42\tM140.005T70\tM140.005T36\tM140.005T125\tM140.005T1393\tM140.066T168\tM140.071T1382\tM140.071T1489\tM140.071T1423\tM140.112T121\tM140.112T48\tM140.149T47\tM140.225T47\tM140.256T47\tM141.009T69\tM141.009T47\tM141.094T156\tM142.007T49\tM142.018T66\tM142.038T35\tM143.023T35\tM143.07T56\tM143.13T35\tM143.146T545\tM143.999T69\tM144.024T35\tM145.011T1403\tM145.012T1476\tM145.021T35\tM145.052T42\tM145.611T33\tM146.169T34\tM146.169T1375\tM146.277T34\tM146.316T34\tM146.393T34\tM146.424T34\tM147.035T43\tM147.069T843\tM147.08T40\tM147.116T37\tM147.171T34\tM148.066T41\tM149.027T1062\tM149.027T59\tM149.027T812\tM149.064T132\tM149.121T302\tM150.058T413\tM150.062T56\tM151.021T76\tM151.043T41\tM151.056T155\tM151.1T114\tM152.036T59\tM152.063T172\tM152.061T54\tM152.06T104\tM152.104T114\tM152.589T41\tM153.092T157\tM153.982T1397\tM153.982T1493\tM154.089T161\tM154.09T60\tM155.075T161\tM155.978T1397\tM155.978T1428\tM155.978T125\tM155.978T9\tM155.978T1473\tM155.978T30\tM155.978T71\tM156.043T43\tM156.079T38\tM156.09T1398\tM156.141T89\tM156.98T1398\tM156.98T1490\tM156.983T73\tM157.048T42\tM157.051T77\tM157.088T159\tM157.173T1491\tM157.173T1383\tM157.174T1440\tM157.979T1426\tM157.978T1379\tM157.979T1489\tM158.016T47\tM158.047T54\tM158.1T280\tM158.159T733\tM158.158T60\tM159T62\tM159T127\tM159T1484\tM159T1422\tM159T5\tM158.998T1381\tM159.113T60\tM159.154T58\tM159.234T46\tM159.267T44\tM159.975T1379\tM159.978T1400\tM160.001T126\tM160.004T56\tM161.005T48\tM161.033T35\tM161.543T143\tM162.035T35\tM162.08T43\tM162.533T66\tM162.647T66\tM163.005T58\tM163.022T30\tM163.02T143\tM163.019T92\tM163.022T7\tM163.022T1415\tM163.022T1494\tM163.03T66\tM163.063T41\tM163.135T392\tM163.137T427\tM163.534T66\tM164.53T66\tM165.005T36\tM165.035T120\tM165.055T35\tM165.058T69\tM165.078T364\tM165.116T160\tM166.057T35\tM166.076T61\tM166.09T132\tM166.206T132\tM166.248T131\tM166.277T131\tM166.329T132\tM166.363T131\tM167.053'..b'31896899\t46736.8005169716\t130620.762308077\t0\t709420.058571941\t1588.81112990202\t2215.32202963037\t229.33934168837\t388.074695234421\t11563.9417305932\t12171.9659405722\t1830.49650773946\t7144.636327522\t0\t336977.91625821\t383.562551147823\t146.718693691791\t259.010312722611\t416.3272491866\t4495.18920087155\t5855.78041995197\t1463.29433813458\t315.632584189733\t94042.7549348486\t141.092021874684\t1177.70768204968\t22225.8661976858\t213.656824292169\t989235.676822352\t236233.214585876\t4824.87892558863\t116407.820769196\t486656.771672373\t77723.8612566093\t39487.9061911849\t89573.4039527727\t1919743.72913955\t1046159.47089756\t501226.432783815\t743007.058079481\t176490.260654313\t77710.0632398259\t167273.220468582\t105439.559192967\t279455.350200697\t700217.007900082\t34776.4227199754\t263855.384094905\t49068.1055769687\t7503.37198423902\t107041.586593382\t90429.8479310363\t29055.613411144\t1710922.4179372\t6432.3563531332\t15026.9358116319\t0\t1093.67346601029\t35417.7255862192\t28360.8527937462\t689224.239518748\t7509.77578410673\t1063.30246123844\t30019.1437256838\t33181.0708270675\t202905.649134855\t645.544084085014\t3376.9363510637\t31787.8742957732\t1540.25137144789\t76808.246400084\t119905.857721422\t34434.1459713367\t50529.0097635167\t17110.6197318611\t5183.51701327754\t8132.74050709251\t2768.07742618477\t33358.8409008693\t22097.3073424949\t25544.6240206012\t59328.1867748377\t177350.386355799\t233.703902033549\t70727.1563423484\t204679.712737339\t377486.44974565\t1359.04708531402\t156857.168839191\t86220.7304154203\t47452.0566271558\t5353.36833100754\t4535.28830046436\t41577.6162155993\t85761.1265742362\t63368.2837448736\t106683.487049838\t41725.326028169\t112665.133857546\t38496.8964323576\t35393.0825075812\t33738.9966599099\t32309.9414818203\t185.311597546691\t0\t60525.3125336188\t1432.3360708497\t0\t20534.3423249003\t54455.7388138478\t181.062981409187\t9872.18715908301\t15887.7378455484\t23188.3388413729\t0\t4489.73688304821\t1256.52082302804\t1009.73085239483\t164547.893154336\tNA\t320455.629307098\t43280.6574865842\t585626.795271142\t259524.038632039\t77335.9170162595\t63120.4468715835\t57714.8375998534\t0\t169.569938673737\t16989.0432391984\t116461.871558483\t66210.7075195097\t34994.0793874742\t72135.2478525088\t9467.06382985057\t19555.4270173719\t15344.234828509\t95140.7159139494\t5848.99020197926\t6447.85134027218\t25480.7199846922\t302456.125670062\t170773.735542457\t67953.2734663901\t6868.43443401617\t26192.3512368893\t15257.6507050754\t10715.7338091687\t138909.744211745\t50293.9232465217\t65544.5506386507\t31269.4163033789\t51265.5127859517\t14175.0326856098\t0\t234918.223132663\t65701.3589229651\t37543.4889186543\t58734.132374587\t14082.9378984735\t1218.7649631123\t2956.4357506609\t32373.6337201548\t0\t34442.3476521637\t0\t89297.4702514451\t1282471.91370607\t704479.47522841\t198273.36191194\t245821.284322458\t100054.71641444\t48908.4330045717\t2920.24953249326\t306306.78687796\t155514.05521262\t111096.315971318\t6145.78778854039\t5064.9131140582\t10176.0598625243\t5858.50086841261\t210407.560640775\t127544.445701577\t43818.6586613078\t91290.9871781679\t49961.8477951509\t38885.5907042963\t367447.820779842\t6878.42140577017\t20343.4194935781\t185884.524146369\t4693.99056127561\t14019.1672320914\t202157.338613098\t108242.495354514\t56814.6195017799\t8807.41694719345\t1386596.12086793\t741661.330795573\t56252.6661862883\t824812.599800922\t535541.043470015\t1228454.50741708\t718968.794968467\t221231.156256941\t672969.163492481\t400210.224487309\t124201.11038521\t125595.4866531\t84836.9919551243\t110351.561258624\t591224.254989399\t66436.8550180598\t112651.144370218\t17749.1993724396\t72329.4823556293\t32301.7413429144\t55343.4576516497\t53154.1704842803\t41044.7539203861\t21449.1597077075\t98297.9423873763\t59325.2377556534\t101309.379624371\t57780.6750060166\t144572.546479556\t92256.0168564307\t0\t153431.709416127\t80763.0040524169\t44552.6903181039\t37956.2138812019\t82925.2765291845\t72531.5480146073\t410967.659940528\t0\t189534.093125447\t172706.530443237\t0\t338954.321883591\t101818.524227579\t349103.488670088\t93173.8560669574\t501958.561014727\t0\t0\t410.216462651311\t0\t1480.68421386983\t6747.81041923935\t159196.182673167\tNA\t24193.3913779241\r\n'
b
diff -r f64656ae9ea4 -r 016780b192a6 build.xml
--- a/build.xml Sun Oct 09 09:54:00 2016 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,78 +0,0 @@
-<project name="batchcorrection" default="all">
-
- <property name="tool.xml" value="batch_correction.xml"/>
- <property name="conda.dir" value="${user.home}/w4m-conda"/>
-
- <!--~~~
- ~ ALL ~
- ~~~~~-->
-
- <target name="all"/>
-
- <!--~~~~
- ~ TEST ~
- ~~~~~-->
-
- <target name="test" depends="planemo.lint,planemo.test"/>
-
- <!--~~~~~~~~~~~~
- ~ PLANEMO LINT ~
- ~~~~~~~~~~~~~-->
-
- <target name="planemo.lint">
- <exec executable="planemo" failonerror="true">
- <arg value="lint"/>
- <arg value="${tool.xml}"/>
- </exec>
- </target>
-
- <!--~~~~~~~~~~~~
- ~ PLANEMO TEST ~
- ~~~~~~~~~~~~~-->
-
- <target name="planemo.test" depends="planemo.conda.install">
- <exec executable="planemo" failonerror="true">
- <arg value="test"/>
- <arg value="--conda_prefix"/>
- <arg value="${conda.dir}"/>
- <arg value="--galaxy_branch"/>
- <arg value="release_16.07"/>
- <arg value="--conda_dependency_resolution"/>
- <arg value="${tool.xml}"/>
- </exec>
- </target>
-
- <!--~~~~~~~~~~~~~~~~~~~~~
- ~ PLANEMO CONDA INSTALL ~
- ~~~~~~~~~~~~~~~~~~~~~~-->
-
- <target name="planemo.conda.install" depends="planemo.conda.init">
- <exec executable="planemo" failonerror="true">
- <arg value="conda_install"/>
- <arg value="--conda_prefix"/>
- <arg value="${conda.dir}"/>
- <arg value="${tool.xml}"/>
- </exec>
- </target>
-
- <!--~~~~~~~~~~~~~~~~~~
- ~ PLANEMO CONDA INIT ~
- ~~~~~~~~~~~~~~~~~~~-->
-
- <target name="planemo.conda.init">
- <exec executable="planemo" failonerror="true">
- <arg value="conda_init"/>
- <arg value="--conda_prefix"/>
- <arg value="${conda.dir}"/>
- </exec>
- </target>
-
- <!--~~~~~
- ~ CLEAN ~
- ~~~~~~-->
-
- <target name="clean">
- <delete dir="${conda.dir}"/>
- </target>
-
-</project>
b
diff -r f64656ae9ea4 -r 016780b192a6 determine_bc.xml
--- a/determine_bc.xml Sun Oct 09 09:54:00 2016 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,283 +0,0 @@\n-<tool id="Determine_BC" name="Determine_batch_correction" version="2.0.0">\n-  <description>to choose between linear, lowess and loess methods</description>\n-\n-  <requirements>\n-    <requirement type="package" version="3.3.1">R</requirement>\n-    <requirement type="package">r-batch</requirement>\n-    <requirement type="package">r-ade4</requirement>\n-    <requirement type="package">bioconductor-pcamethods</requirement>\n-  </requirements>\n-\n-  <stdio>\n-    <exit_code range="1:" level="fatal" />\n-  </stdio>\n- \n-  <command><![CDATA[\n-    Rscript $__tool_directory__/batch_correction_wrapper.R\n-      analyse "determine_bc"\n-      sampleMetadata "$sampleMetadata"\n-      dataMatrix "$dataMatrix"\n-      ref_factor "$ref_factor"\n-      #if str($advance.option ) == \'show\':\n-        span $advance.span\n-      #else:\n-        span "none"\n-      #end if\n-      out_graph_pdf "$out_graph_pdf"\n-      out_preNormSummary "$out_preNormSummary"\n-  ]]></command>\n-  \n-  <inputs>\n-    <param name="dataMatrix" type="data" label="Data Matrix file " help="" format="tabular" />\n-    <param name="sampleMetadata" type="data" label="Sample metadata file " help="must contain at least the three following columns: \'batch\' + \'injectionOrder\' + \'sampleType\'" format="tabular" />\n-    <param name="ref_factor" type="text" label="Factor of interest " help="column name of the factor of interest (often a biological factor); if none, leave \'batch\'" value="batch" />\n-    <conditional name="advance">\n-        <param name="option" type="select" label="Advanced options" help="should only be put at \'show\' if you have good understanding of the span parameter and are willing to adjust it">\n-            <option value="show">show</option>\n-            <option value="hide" selected="true">hide</option>\n-        </param>\n-\t<when value="hide">\n-\t  <param name="span" type="hidden" value="none"/>\n-\t</when>\t\n-        <when value="show">\n-          <param name="span" type="float" value="0.85" label="span" help="applied to lowess and loess regression"/>\n-        </when>\n-    </conditional>\n-  </inputs>\n-  \n-  <outputs>\n-    <data name="out_graph_pdf" label="Determine_BC_graph" format="pdf" ></data>\n-    <data name="out_preNormSummary" label="Determine_BC_preNormSummary" format="tabular" ></data>\n-  </outputs>\n-\n-  <tests>\n-    <test>\n-      <param name="dataMatrix" value="input-determinebc-dataMatrix.tsv"/>\n-      <param name="sampleMetadata" value="input-determinebc-sampleMetadata.tsv"/>\n-      <param name="ref_factor" value="batch"/>\n-      <param name="option" value="hide"/>\n-      <param name="span" value="none"/>\n-      <output name="out_preNormSummary" file="output-determinebc-preNormSummary.txt"/>\n-    </test>\n-  </tests>\n-\t\n-  <help>\n-\n-.. class:: infomark\n-\n-**Authors** Franck Giacomoni and Marion Landi (for interface and wrapper) and Jean-Francois Martin and Melanie Petera (for R)\n-\n----------------------------------------------------\n-\n-.. class:: infomark\n-\n-**Please cite** If you use this tool, please cite `F.M. van der Kloet, I. Bobeldijk, E.R. Verheij, R.H. Jellema. (2009). "Analytical error reduction using single point calibration for accurate and precise metabolomic phenotyping." Journal of Proteome Research p5132-5141 &lt;http://www.ncbi.nlm.nih.gov/pubmed/19754161&gt;`_\n-\n----------------------------------------------------\n-\n-==========================\n-Determine_batch_correction\n-==========================\n-\n------------\n-Description\n------------\n-\n-| Allows to choose between linear or non-linear (lowess or loess) functions for batch correction\n-| using quality control pooled samples (QC-pools) with correction algorithm as mentioned by Van Der Kloet (J Prot Res 2009).\n-| \n-| Warning : this module does *not* deliver which choice should be made in model type;\n-| it only provides tools to help users to determine which choice may be appropriate, based on their own expertise.\n-| \n-| This tool is meant to be used prior to the Batch_correction tool to he'..b'0499r}\n-  }</citation>\n-  <citation type="doi">10.1093/bioinformatics/btu813</citation>\n-</citations>\n-  \n-<!--  \n-Input files\n-===========\n-\n-| **These two input files can be used in the purview "URL/Text:" of the tool "Get Data/Upload File",**\n-| **by checking the box "Convert spaces to tabs: YES"**\n-\n-Metadata_samples.txt\n-\tModel input Sample metadata file::\n-\n-\t\tsamples idLIMS serie factor01 factor02 batch injectionOrder sampleType\n-\t\tPOOL1 POOL1 pool p pool 01_08_2011 1 p\n-\t\tX12588 12588 3 validation 2 01_08_2011 2 s\n-\t\tX17736 17736 3 Q1 1 01_08_2011 3 s\n-\t\tX15432 15432 3 validation 1 01_08_2011 4 s\n-\t\tX17159 17159 3 Q4 1 01_08_2011 5 s\n-\t\tX14325 14325 3 validation 2 01_08_2011 6 s\n-\t\tX17419 17419 3 Q4 1 01_08_2011 7 s\n-\t\tX16437 16437 3 Q4 1 01_08_2011 8 s\n-\t\tX16172 16172 3 Q4 2 01_08_2011 9 s\n-\t\tX16392 16392 3 Q4 2 01_08_2011 10 s\n-\t\tX13875 13875 3 validation 2 01_08_2011 11 s\n-\t\tPOOL2 POOL2 pool p pool 01_08_2011 12 p\n-\t\tX13117 13117 3 Q4 2 01_08_2011 13 s\n-\t\tX13341 13341 3 Q1 2 01_08_2011 14 s\n-\t\tX16888 16888 3 Q4 1 01_08_2011 15 s\n-\t\tX17489 17489 3 Q4 2 01_08_2011 16 s\n-\t\tX12718 12718 3 Q1 2 01_08_2011 17 s\n-\t\tX16235 16235 3 Q4 2 01_08_2011 18 s\n-\t\tX16878 16878 3 Q1 1 01_08_2011 19 s\n-\t\tX12701 12701 3 validation 1 01_08_2011 20 s\n-\t\tX16220 16220 3 Q4 2 01_08_2011 21 s\n-\t\tX15635 15635 3 Q4 1 01_08_2011 22 s\n-\n-\n-Intensity_matrix.txt\n-\tModel input Matrix Ions file BEFORE IMPLEMENTATION::\n-\n-\t\tsamples POOL1 X12588 X17736 X15432 X17159 X14325 X17419 X16437 X16172 X16392 X13875 POOL2 X13117 X13341 X16888 X17489 X12718 X16235 X16878 X12701 X16220 X15635\n-\t\tion01 188.4140625 219.729126 122.5697632 123.5487671 805.8852539 183.4683838 37.33084106 151.8625488 97.12005615 91.24694824 69.87762451 195.4349365 112.4111938 136.7092285 159.9987793 172.1585693 0 117.5420532 133.6679688 80.05419922 160.0006104 760.0488281\n-\t\tion02 82.02575684 87.11358643 79.82391357 80.33862305 83.08575439 94.27703857 76.02288818 77.04394531 76.97564697 84.17669678 81.04943848 86.44024658 84.11865234 83.71282959 77.75219727 79.15936279 75.98492432 78.2835083 78.98760986 73.98388672 72.20550537 82.16448975\n-\t\tion03 25.31900024 24.2960968 23.29342651 31.54063416 30.3830719 22.42404175 35.44485474 26.38783264 17.1401825 21.27339172 20.25959778 26.33859253 18.17146301 26.32852173 24.30648804 28.34313965 29.37016296 18.23519897 24.48402405 25.38140869 24.35777283 21.31071472\n-\t\tion04 65.87536621 62.68716431 46.60232544 62.77856445 29.53218079 47.59136963 90.13983154 28.35336304 58.74325562 31.39331055 23.32928467 30.39666748 41.43960571 21.27049255 88.1161499 29.36820984 24.30200195 25.00007629 45.60662842 103.293457 37.46994019 87.09295654\n-\t\tion05 0 103.728544 279.5808214 884.2333448 824.5072072 434.6439081 764.82768 799.0972595 398.4002569 382.5370891 74.55342827 0 636.6596277 514.3863309 741.690017 412.3166491 660.8996555 57.36593795 102.2085264 455.6403091 548.6145486 515.8412195\n-\t\tion06 2711.785156 3465.292969 2469.75 3435.259766 2482.3125 2593.654297 1407.915039 1291.253906 2241.734375 1444.189453 3363.683594 2578.642578 2633.181641 3397.763672 3706.855469 3647.212891 3548.410156 3714.640625 1889.213867 2262.707031 2107.417969 2763.21875\n-\t\tion07 164.9023438 192.40625 140.7609863 192.4053955 139.7540283 140.748291 84.60144043 86.1819458 150.762207 89.90411377 207.5949707 164.0512695 149.8706055 186.336792 214.6140137 202.5360107 214.6877441 195.4482422 117.4679565 127.2941895 142.78479 163.0666504\n-\n-\n-Parameters\n-==========\n-\n-Factor analysis  -> **batch**\n-\n-\n-Output files\n-============\n-\n-out_preNormSummary.tabular:\n-\n-====== ============== ==============\n-labion batch.1.linear batch.1.lowess\n-====== ============== ==============\n-ion01   2              2\n-ion02   2              2\n-ion03   2              2\n-ion04   2              2\n-ion05   1              1\n-...     ...            ...\n-====== ============== ==============\n-\n-\n-out_graph_pdf.pdf\n-\n-.. image:: ./static/images/metabolomics/pdf_plotsituation.png\n-        :width: 800\n--->\n-\n-</tool>\n'
b
diff -r f64656ae9ea4 -r 016780b192a6 easyrlibrary-lib/RcheckLibrary.R
--- a/easyrlibrary-lib/RcheckLibrary.R Sun Oct 09 09:54:00 2016 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,124 +0,0 @@
-######################################################
-# R check library
-# Coded by: M.Petera, 
-# - -
-# R functions to use in R scripts  
-# (management of various generic subroutines)
-# - -
-# V0: script structure + first functions
-# V1: More detailed error messages in match functions
-######################################################
-
-
-# Generic function to return an error if problems have been encountered - - - -
-
-check.err <- function(err.stock){
-
- # err.stock = vector of results returned by check functions
-
- if(length(err.stock)!=0){ stop("\n- - - - - - - - -\n",err.stock,"\n- - - - - - - - -\n") }
-
-}
-
-
-
-
-# Table match check functions - - - - - - - - - - - - - - - - - - - - - - - - -
-
-# To check if dataMatrix and (variable or sample)Metadata match regarding identifiers
-match2 <- function(dataMatrix, Metadata, Mtype){
-
- # dataMatrix = data.frame containing dataMatrix
- # Metadata = data.frame containing sampleMetadata or variableMetadata
- # Mtype = "sample" or "variable" depending on Metadata content
-
- err.stock <- NULL # error vector
-
- id2 <- Metadata[,1]
- if(Mtype=="sample"){ id1 <- colnames(dataMatrix)[-1] }
- if(Mtype=="variable"){ id1 <- dataMatrix[,1] }
-
- if( length(which(id1%in%id2))!=length(id1) || length(which(id2%in%id1))!=length(id2) ){
- err.stock <- c("\nData matrix and ",Mtype," metadata do not match regarding ",Mtype," identifiers.")
- if(length(which(id1%in%id2))!=length(id1)){
- if(length(which(!(id1%in%id2)))<4){ err.stock <- c(err.stock,"\n    The ")
- }else{ err.stock <- c(err.stock,"\n    For example, the ") }
- err.stock <- c(err.stock,"following identifiers found in the data matrix\n",
- "    do not appear in the ",Mtype," metadata file:\n")
- identif <- id1[which(!(id1%in%id2))][1:min(3,length(which(!(id1%in%id2))))]
- err.stock <- c(err.stock,"    ",paste(identif,collapse="\n    "),"\n")
- }
- if(length(which(id2%in%id1))!=length(id2)){
- if(length(which(!(id2%in%id1)))<4){ err.stock <- c(err.stock,"\n    The ")
- }else{ err.stock <- c(err.stock,"\n    For example, the ") }
- err.stock <- c(err.stock,"following identifiers found in the ",Mtype," metadata file\n",
- "    do not appear in the data matrix:\n")
- identif <- id2[which(!(id2%in%id1))][1:min(3,length(which(!(id2%in%id1))))]
- err.stock <- c(err.stock,"    ",paste(identif,collapse="\n    "),"\n")
- }
- err.stock <- c(err.stock,"\nPlease check your data.\n")
- }
-
- return(err.stock)
-
-}
-
-# To check if the 3 standard tables match regarding identifiers
-match3 <- function(dataMatrix, sampleMetadata, variableMetadata){
-
- # dataMatrix = data.frame containing dataMatrix
- # sampleMetadata = data.frame containing sampleMetadata
- # variableMetadata = data.frame containing variableMetadata
-
- err.stock <- NULL # error vector
-
- id1 <- colnames(dataMatrix)[-1]
- id2 <- sampleMetadata[,1]
- id3 <- dataMatrix[,1]
- id4 <- variableMetadata[,1]
-
- if( length(which(id1%in%id2))!=length(id1) || length(which(id2%in%id1))!=length(id2) ){
- err.stock <- c(err.stock,"\nData matrix and sample metadata do not match regarding sample identifiers.")
- if(length(which(id1%in%id2))!=length(id1)){
- if(length(which(!(id1%in%id2)))<4){ err.stock <- c(err.stock,"\n    The ")
- }else{ err.stock <- c(err.stock,"\n    For example, the ") }
- err.stock <- c(err.stock,"following identifiers found in the data matrix\n",
- "    do not appear in the sample metadata file:\n")
- identif <- id1[which(!(id1%in%id2))][1:min(3,length(which(!(id1%in%id2))))]
- err.stock <- c(err.stock,"    ",paste(identif,collapse="\n    "),"\n")
- }
- if(length(which(id2%in%id1))!=length(id2)){
- if(length(which(!(id2%in%id1)))<4){ err.stock <- c(err.stock,"\n    The ")
- }else{ err.stock <- c(err.stock,"\n    For example, the ") }
- err.stock <- c(err.stock,"following identifiers found in the sample metadata file\n",
- "    do not appear in the data matrix:\n")
- identif <- id2[which(!(id2%in%id1))][1:min(3,length(which(!(id2%in%id1))))]
- err.stock <- c(err.stock,"    ",paste(identif,collapse="\n    "),"\n")
- }
- }
-
- if( length(which(id3%in%id4))!=length(id3) || length(which(id4%in%id3))!=length(id4) ){
- err.stock <- c(err.stock,"\nData matrix and variable metadata do not match regarding variable identifiers.")
- if(length(which(id3%in%id4))!=length(id3)){
- if(length(which(!(id3%in%id4)))<4){ err.stock <- c(err.stock,"\n    The ")
- }else{ err.stock <- c(err.stock,"\n    For example, the ") }
- err.stock <- c(err.stock,"following identifiers found in the data matrix\n",
- "    do not appear in the variable metadata file:\n")
- identif <- id3[which(!(id3%in%id4))][1:min(3,length(which(!(id3%in%id4))))]
- err.stock <- c(err.stock,"    ",paste(identif,collapse="\n    "),"\n")
- }
- if(length(which(id4%in%id3))!=length(id4)){
- if(length(which(!(id4%in%id3)))<4){ err.stock <- c(err.stock,"\n    The ")
- }else{ err.stock <- c(err.stock,"\n    For example, the ") }
- err.stock <- c(err.stock,"following identifiers found in the variable metadata file\n",
- "    do not appear in the data matrix:\n")
- identif <- id4[which(!(id4%in%id3))][1:min(3,length(which(!(id4%in%id3))))]
- err.stock <- c(err.stock,"    ",paste(identif,collapse="\n    "),"\n")
- }
- }
-
- if(length(err.stock)!=0){ err.stock <- c(err.stock,"\nPlease check your data.\n") }
-
- return(err.stock)
-
-}
\ No newline at end of file
b
diff -r f64656ae9ea4 -r 016780b192a6 easyrlibrary-lib/miniTools.R
--- a/easyrlibrary-lib/miniTools.R Sun Oct 09 09:54:00 2016 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,133 +0,0 @@
-#####################################################
-# Mini tools for Galaxy scripting
-# Coded by: M.Petera, 
-# - -
-# R functions to use in R scripts and wrappers
-# to make things easier (lightening code, reducing verbose...)
-# - -
-# V0: script structure + first functions
-# V1: addition of functions to handle special characters in identifiers
-#####################################################
-
-
-# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
-# Function to call packages without printing all the verbose
-# (only getting the essentials, like warning messages for example)
-
-shyLib <- function(...){
- for(i in 1:length(list(...))){
- suppressPackageStartupMessages(library(list(...)[[i]],character.only=TRUE))
- }
-}
-
-#example: shyLib("xcms","pcaMethods")
-
-
-
-# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
-# Fonction pour sourcer les scripts R requis
-# /!\ ATTENTION : actuellement la fonction n'est pas chargee au lancement du script,
-# il faut donc la copier-coller dans le wrapper R pour pouvoir l'utiliser. 
-
-if(FALSE){
-source_local <- function(...){
- argv <- commandArgs(trailingOnly = FALSE)
- base_dir <- dirname(substring(argv[grep("--file=", argv)], 8))
- for(i in 1:length(list(...))){
- source(paste(base_dir, list(...)[[i]], sep="/"))
- }
-}
-}
-
-#example: source_local("filter_script.R","RcheckLibrary.R")
-
-
-
-# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
-# Functions to stock identifiers before applying make.names() and
-# to reinject it into final matrices
-# Note: it reproduces the original order of datasets' identifiers
-# - - -
-# stockID: stocks original identifiers and original order
-# -> needs checked data regarding table match
-# reproduceID: reinjects original identifiers and original order into final tables
-# -> function to be used at the very end, when exporting tables
-
-stockID <- function(dataMatrix, Metadata, Mtype){
-  # dataMatrix = data.frame containing dataMatrix
-  # Metadata = data.frame containing sampleMetadata or variableMetadata
-  # Mtype = "sample" or "variable" depending on Metadata content
-  cname <- colnames(dataMatrix)[1]
-      # dataMatrix temporary-stock + transfo - - - -
-  if(Mtype=="sample"){
-    id.ori <- colnames(dataMatrix)[-1] 
-    colnames(dataMatrix) <- make.names(colnames(dataMatrix)) 
-  }
-  if(Mtype=="variable"){
-    id.ori <- dataMatrix[,1] 
-    dataMatrix[,1] <- make.names(dataMatrix[,1]) 
-  }
-      # global stock - - - - - - - - - - - - - - - -
-  id.new <- data.frame(order.ori=c(1:length(Metadata[,1])),Metadata[,1],
-    id.new=make.names(Metadata[,1]),id.ori,
-    id.new.DM=make.names(id.ori),stringsAsFactors=FALSE)
-  colnames(id.new)[c(2,4)] <- c(colnames(Metadata)[1],cname)
-      # Metadata transfo + returning data - - - - - 
-  Metadata[,1] <- make.names(Metadata[,1]) 
-  return(list(id.match=id.new, dataMatrix=dataMatrix, Metadata=Metadata))
-}
-#example: A<-stockID(myDM,mysM,"sample") ; myDM<-A$dataMatrix ; mysM<-A$Metadata ; A<-A$id.match
-
-reproduceID <- function(dataMatrix, Metadata, Mtype, id.match){
-  # dataMatrix = data.frame containing dataMatrix
-  # Metadata = data.frame containing sampleMetadata or variableMetadata
-  # Mtype = "sample" or "variable" depending on Metadata content
-  # id.match = 'id.match' element produced by stockID
-      #Metadada - - - - - - - - - - - - - - 
-  temp.table <- id.match[,c(1,2,3)]
-  ## Removing deleted rows
-  for(i in 1:(dim(id.match)[1])){
- if(!(temp.table[i,3]%in%Metadata[,1])){temp.table[i,1] <- 0}
-  }
-  if(length(which(temp.table[,1]==0))!=0){
- temp.table <- temp.table[-c(which(temp.table[,1]==0)),]
-  }
-  ## Restoring original identifiers and order
-  temp.table <- merge(x=temp.table,y=Metadata,by.x=3,by.y=1)
-  temp.table <- temp.table[order(temp.table$order.ori),]
-  Metadata <- temp.table[,-c(1,2)]
-  rownames(Metadata) <- NULL
-      #dataMatrix - - - - - - - - - - - - - 
-  rownames(dataMatrix)<-dataMatrix[,1]
-  if(Mtype=="sample"){
-    dataMatrix <- t(dataMatrix[,-1])
-  }
-  temp.table <- id.match[,c(1,4,5)]
-  ## Removing deleted rows
-  for(i in 1:(dim(id.match)[1])){
- if(!(temp.table[i,3]%in%rownames(dataMatrix))){temp.table[i,1] <- 0}
-  }
-  if(length(which(temp.table[,1]==0))!=0){
- temp.table <- temp.table[-c(which(temp.table[,1]==0)),]
-  }
-  ## Restoring original identifiers and order
-  temp.table <- merge(x=temp.table,y=dataMatrix,by.x=3,by.y=0)
-  temp.table <- temp.table[order(temp.table$order.ori),]
-  if(Mtype=="variable"){
- dataMatrix <- temp.table[,-c(1,2,4)]
- colnames(dataMatrix)[1] <- colnames(id.match)[4]
-  } else {
- rownames(temp.table) <- temp.table[,3]
- temp.table <- t(temp.table[,-c(1,2,3)])
- dataMatrix <- data.frame(rownames(temp.table),temp.table)
- colnames(dataMatrix)[1] <- colnames(id.match)[4]
-  }
-  rownames(dataMatrix) <- NULL
-      # return datasets - - - - - - - - - - - 
-  return(list(dataMatrix=dataMatrix, Metadata=Metadata))
-}
-#example: B<-reproduceID(myDM,mysM,"sample",A) ; myDM<-B$dataMatrix ; mysM<-B$Metadata
-
-
-
-# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
b
diff -r f64656ae9ea4 -r 016780b192a6 runit/batchcorrection_runtests.R
--- a/runit/batchcorrection_runtests.R Sun Oct 09 09:54:00 2016 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,131 +0,0 @@
-#!/usr/bin/env Rscript
-
-## Package
-##--------
-
-library(RUnit)
-
-## Constants
-##----------
-
-testOutDirC <- "output"
-argVc <- commandArgs(trailingOnly = FALSE)
-scriptPathC <- sub("--file=", "", argVc[grep("--file=", argVc)])
-
-
-## Functions
-##-----------
-
-## Reading tables (matrix or data frame)
-readTableF <- function(fileC, typeC = c("matrix", "dataframe")[1]) {
-
-     file.exists(fileC) || stop(paste0("No output file \"", fileC ,"\"."))
-
-        switch(typeC,
-               matrix = return(t(as.matrix(read.table(file = fileC,
-                   header = TRUE,
-                   row.names = 1,
-                   sep = "\t",
-                   stringsAsFactors = FALSE)))),
-               dataframe = return(read.table(file = fileC,
-                   header = TRUE,
-                   row.names = 1,
-                   sep = "\t",
-                   stringsAsFactors = FALSE)))
-
-}
-
-## Call wrapper
-wrapperCallF <- function(paramLs, allLoessL) {
-
-    ## Set program path
-    wrapperPathC <- file.path(dirname(scriptPathC), "..",
-                              ifelse(allLoessL,
-                                     "batch_correction_all_loess_wrapper.R",
-                                     "batch_correction_wrapper.R"))
-
-    ## Set arguments
-    argLs <- NULL
-    for (parC in names(paramLs))
-        argLs <- c(argLs, parC, paramLs[[parC]])
-
-    ## Call
-    wrapperCallC <- paste(c(wrapperPathC, argLs), collapse = " ")
-
-    if(.Platform$OS.type == "windows")
-        wrapperCallC <- paste("Rscript", wrapperCallC)
-
-
-    print(wrapperCallC)
-    
-
-    wrapperCodeN <- system(wrapperCallC)
-
-    if (wrapperCodeN != 0)
-        stop(paste0("Error when running 'batch_correction_",
-                    ifelse(allLoessL, "all_loess_", ""),
-                    "wrapper.R'"))
-
-    ## Get output
-    outLs <- list()
-    if ("dataMatrix_out" %in% names(paramLs))
-        outLs[["datMN"]] <- readTableF(paramLs[["dataMatrix_out"]], "matrix")
-    if ("sampleMetadata_out" %in% names(paramLs))
-        outLs[["samDF"]] <- readTableF(paramLs[["sampleMetadata_out"]], "dataframe")
-    if ("variableMetadata_out" %in% names(paramLs))
-        outLs[["varDF"]] <- readTableF(paramLs[["variableMetadata_out"]], "dataframe")
-    if("information" %in% names(paramLs))
-        outLs[["infVc"]] <- readLines(paramLs[["information"]])
-
-    if("out_preNormSummary" %in% names(paramLs))
-        outLs[["sumDF"]] <- readTableF(paramLs[["out_preNormSummary"]], "dataframe")
-
-    return(outLs)
-    
-}
-
-## Setting default parameters
-defaultArgF <- function(testInDirC, determineL) {
-
-    defaultArgLs <- list()
-
-    if(file.exists(file.path(dirname(scriptPathC), testInDirC, "dataMatrix.tsv")))
-        defaultArgLs[["dataMatrix"]] <- file.path(dirname(scriptPathC), testInDirC, "dataMatrix.tsv")
-    if(file.exists(file.path(dirname(scriptPathC), testInDirC, "sampleMetadata.tsv")))
-        defaultArgLs[["sampleMetadata"]] <- file.path(dirname(scriptPathC), testInDirC, "sampleMetadata.tsv")
-
-    if(!determineL)
-        if(file.exists(file.path(dirname(scriptPathC), testInDirC, "variableMetadata.tsv")))
-            defaultArgLs[["variableMetadata"]] <- file.path(dirname(scriptPathC), testInDirC, "variableMetadata.tsv")
-
-    if(determineL) { ## determinebc
-
-        defaultArgLs[["out_graph_pdf"]] <- file.path(dirname(scriptPathC), testOutDirC, "out_graph.pdf")
-        defaultArgLs[["out_preNormSummary"]] <- file.path(dirname(scriptPathC), testOutDirC, "preNormSummary.txt")
-
-    } else { ## batchcorrection
-        
-        defaultArgLs[["dataMatrix_out"]] <- file.path(dirname(scriptPathC), testOutDirC, "dataMatrix.tsv")
-        defaultArgLs[["variableMetadata_out"]] <- file.path(dirname(scriptPathC), testOutDirC, "variableMetadata.tsv")
-        defaultArgLs[["variable_for_simca"]] <- file.path(dirname(scriptPathC), testOutDirC, "variable_for_simca.tsv")
-        defaultArgLs[["graph_output"]] <- file.path(dirname(scriptPathC), testOutDirC, "graph_output.pdf")
-        defaultArgLs[["rdata_output"]] <- file.path(dirname(scriptPathC), testOutDirC, "rdata_output.rdata")
-        
-       }
-
-    defaultArgLs
-
-}
-
-## Main
-##-----
-
-## Create output folder
-file.exists(testOutDirC) || dir.create(testOutDirC)
-
-## Run tests
-test.suite <- defineTestSuite('tests', dirname(scriptPathC), testFileRegexp = paste0('^.*_tests\\.R$'), testFuncRegexp = '^.*$')
-isValidTestSuite(test.suite)
-test.results <- runTestSuite(test.suite)
-print(test.results)
-
b
diff -r f64656ae9ea4 -r 016780b192a6 runit/batchcorrection_tests.R
--- a/runit/batchcorrection_tests.R Sun Oct 09 09:54:00 2016 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,109 +0,0 @@
-test_input_allLoessPool <- function() {
-
-    testDirC <- "input"
-    determineL <- FALSE
-    allLoessL <- TRUE
-    argLs <- list(method = "all_loess_pool",
-                  span = "1")
-
-    if(!allLoessL)
-        argLs[["analyse"]] <- ifelse(determineL, "determine_bc", "batch_correction")
-    
-    argLs <- c(defaultArgF(testDirC, determineL = determineL), argLs)
-    outLs <- wrapperCallF(argLs, allLoessL = allLoessL)  
-
-    checkEqualsNumeric(outLs[['datMN']][1, 1], 25803076, tolerance = 1e-3)
-
-}
-
-test_input_allLoessSample <- function() {
-
-    testDirC <- "input"
-    determineL <- FALSE
-    allLoessL <- TRUE
-    argLs <- list(method = "all_loess_sample",
-                  span = "1")
-
-    if(!allLoessL)
-        argLs[["analyse"]] <- ifelse(determineL, "determine_bc", "batch_correction")
-    
-    argLs <- c(defaultArgF(testDirC, determineL = determineL), argLs)
-    outLs <- wrapperCallF(argLs, allLoessL = allLoessL)
-    
-    checkEqualsNumeric(outLs[['datMN']][1, 1], 23402048, tolerance = 1e-3)
-
-}
-
-test_example1_allLoessSample <- function() {
-
-    testDirC <- "example1"
-    determineL <- FALSE
-    allLoessL <- TRUE
-    argLs <- list(method = "all_loess_sample",
-                  span = "1")
-
-    if(!allLoessL)
-        argLs[["analyse"]] <- ifelse(determineL, "determine_bc", "batch_correction")
-    
-    argLs <- c(defaultArgF(testDirC, determineL = determineL), argLs)
-    outLs <- wrapperCallF(argLs, allLoessL = allLoessL)    
-
-    checkEqualsNumeric(outLs[['datMN']][1, 1], 21732604, tolerance = 1e-3)
-
-}
-
-test_example1_allLoessSampleSpan06 <- function() {
-
-    testDirC <- "example1"
-    determineL <- FALSE
-    allLoessL <- TRUE
-    argLs <- list(method = "all_loess_sample",
-                  span = "0.6")
-
-    if(!allLoessL)
-        argLs[["analyse"]] <- ifelse(determineL, "determine_bc", "batch_correction")
-    
-    argLs <- c(defaultArgF(testDirC, determineL = determineL), argLs)
-    outLs <- wrapperCallF(argLs, allLoessL = allLoessL)
-
-    checkEqualsNumeric(outLs[['datMN']][1, 1], 134619170, tolerance = 1e-3)
-
-}
-
-test_sacurine_allLoessPool <- function() {
-
-    testDirC <- "sacurine"
-    determineL <- FALSE
-    allLoessL <- TRUE
-    argLs <- list(method = "all_loess_pool",
-                  span = "1")
-
-    if(!allLoessL)
-        argLs[["analyse"]] <- ifelse(determineL, "determine_bc", "batch_correction")
-    
-    argLs <- c(defaultArgF(testDirC, determineL = determineL), argLs)
-    outLs <- wrapperCallF(argLs, allLoessL = allLoessL)

-    checkEqualsNumeric(outLs[['datMN']]["HU_neg_017", "M53T345"], 7902.366, tolerance = 1e-3)
-
-
-}
-
-test_sacurine_determinebc <- function() {
-
-    testDirC <- "sacurine"
-    determineL <- TRUE
-    allLoessL <- FALSE
-    argLs <- list(ref_factor = "batch",
-                  span = "none")
-
-    if(!allLoessL)
-        argLs[["analyse"]] <- ifelse(determineL, "determine_bc", "batch_correction")
-
-    argLs <- c(defaultArgF(testDirC, determineL = determineL), argLs)
-    outLs <- wrapperCallF(argLs, allLoessL = allLoessL)
-
-    checkEqualsNumeric(outLs[['sumDF']]["M59T62", "batch.2.linear"], 3, tolerance = 1e-3)
-
-
-}
b
diff -r f64656ae9ea4 -r 016780b192a6 runit/example1/dataMatrix.tsv
--- a/runit/example1/dataMatrix.tsv Sun Oct 09 09:54:00 2016 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,2823 +0,0 @@\n-dataMatrix\tBl1\tBl2\tBl3\tSa1\tSa2\tSa3\tSa4\tSa5\tSa6\tSa7\tSa8\tSa9\tSa10\tSa11\tSa12\tSa13\tSa14\tSa15\tSa16\tSa17\tSa18\tSa19\tSa20\tSa21\tSa22\tSa23\tSa24\tSa25\tSa26\tSa27\n-M81.524T70\t17245057.15\t17036926.76\t14186746.11\t4164396.264\t5825050.37\t457731.4386\t13431506.24\t4743128.922\t4431069.682\t11904377.48\t618138.4105\t8634502.192\t5199903.713\t2999525.25\t2871167.761\t3201384.67\t6855006.036\t2065984.636\t12354338.68\t2632801.531\t6008013.246\t1538072.426\t1376310.444\t4616186.732\t12160011.06\t7363508.262\t7605224.47\t2842257.47\t3636874.797\t7106432.313\n-M81.523T36\t55675386.24\t46887468.27\t19824326.82\t2206896.237\t2440868.374\t2009364.908\t2407403.606\t1978183.429\t2143366.471\t2656133.68\t1426335.105\t2135439.5\t720638.4583\t898892.7064\t920198.319\t523723.8217\t1093497.67\t724489.0167\t972712.5631\t438772.6775\t887895.3126\t2677695.373\t2588015.107\t356215.5043\t1049454.733\t3787646.426\t2919221.103\t5359484.094\t478359.5274\t1140528.449\n-M81.524T124\t3164592.199\t5989888.692\t1518120.946\t1286357.752\t3260040.481\t719417.0386\t7054955.83\t6343114.495\t4237024.074\t4397965.168\t534257.2816\t1424000.696\t4174800.757\t2253885.166\t304750.9031\t3804141.652\t6366198.521\t1102220.868\t12383046.03\t2881755.9\t4030125.647\t1034171.556\t403876.6439\t4332910.019\t5373346.688\t2345864.555\t6061830.965\t591704.7268\t1439355.184\t5460301.309\n-M81.605T62\t738234.5386\t787394.0411\t609336.1721\t165239.2505\t250720.1499\t62050.79635\t572778.7761\t214128.5387\t165783.3638\t520178.7999\t19210.28881\t197410.8184\t215250.8345\t173276.4954\t140765.734\t124586.9754\t460116.931\t100216.0769\t599215.8137\t119548.1579\t249620.4321\t56410.08846\t45422.8306\t212608.4206\t504629.5165\t372211.6104\t664010.2538\t179442.8094\t169076.104\t420632.4458\n-M81.633T44\t500457.0519\t301708.945\t234100.7174\t392423.4081\t481733.7903\t112110.4766\t76348.84276\t400525.6374\t386544.2661\t623711.8934\t182942.4875\t364640.4889\t303372.5045\t234440.2839\t181890.7412\t173583.9663\t481476.5972\t145854.1448\t509794.6715\t168818.0723\t368060.0572\t96908.72298\t71999.19233\t268318.1997\t556452.5016\t557010.2479\t586287.2181\t208337.9949\t228941.2122\t443363.7884\n-M82.025T59\t1207813.881\t1142397.168\t1150519.242\t348694.7322\t625629.7426\t98655.59187\t470104.6477\t926554.1909\t236099.609\t891870.3441\t49253.16017\t332923.0177\t475239.2787\t393623.9927\t325048.1156\t1917117.05\t799454.1828\t278074.6859\t2679898.544\t268837.486\t718982.0999\t113651.0052\t90680.90425\t381971.6629\t836732.4873\t737367.7711\t774259.093\t359011.6606\t129923.0342\t3761203.309\n-M82.523T47\t72408.01962\t479836.9534\t399391.4331\t131800.2801\t153337.9494\t20580.16273\t171750.3476\t140196.0952\t140293.5506\t119631.6183\t64527.21102\t126119.5217\t121571.0167\t95508.53517\t70590.42251\t87952.71042\t134846.3362\t63333.72236\t204393.6917\t77661.09783\t141873.7917\t49905.94484\t39313.34747\t126289.9087\t97737.51026\t189376.1418\t205615.8223\t96610.68423\t104612.0213\t172473.8835\n-M83.52T53\t973615.9034\t293189.6933\t181734.3685\t153114.1318\t215143.117\t36152.32465\t197876.3098\t210523.4099\t184159.8796\t221321.5841\t92007.22097\t154646.96\t161633.7567\t180997.6472\t101401.6563\t304634.2243\t241313.5529\t94047.32174\t260213.4656\t101528.5794\t202045.5528\t63840.95954\t49230.77996\t110758.2558\t257909.9551\t198190.6667\t233882.9991\t120885.2951\t532154.7778\t230603.6055\n-M84.047T59\t14439.61977\t16349.71331\t12582.91893\t124405.101\t70829.4163\t194558.7348\t153885.888\t149786.1332\t123124.1582\t70209.79629\t172584.1048\t108573.5919\t74232.25189\t85538.82003\t87989.127\t121360.6446\t52372.97402\t126514.5246\t43524.95031\t161680.3702\t76494.91467\t245580.0423\t217140.5488\t177947.8424\t54608.71322\t69495.0811\t50715.78024\t68358.70175\t145309.8529\t51613.8655\n-M85.531T75\t68339.74372\t70359.6043\t50776.85175\t5216.238182\t7718.406996\t0\t10666.9767\t6817.35759\t5661.247397\t8178.096986\t2411.517318\t4292.332573\t6230.916237\t4266.916511\t1301.799001\t4303.945578\t10847.06789\t2671.889116\t9864.150914\t4480.246932\t7301.859428\t3049.951399\t2477.811606\t7972.836037\t11587.30302\t11398.68536\t11152.1808\t4234.035718\t5256.501912\t8359.228364\n-M86.099T81\t672.0496664\t418.1018938\t2285.715037\t232994.4033\t230432.1222\t294443.7699\t177819.3497\t198136.2036\t205416.647\t227544.7572\t361191.7857\t190863.4887\t8'..b'\t104124.3352\t110180.7635\t131856.3576\t197216.7148\t1686.292924\t772.0403043\t1861.076229\t1257.780046\t1243.445488\t13062.4639\t16991.7466\t1103413.795\t1021087.948\n-M1561.961T1013\t633.1570555\t2569.558933\t0\t46904.07334\t32227.58813\t39650.39266\t35879.025\t33321.38483\t22682.90973\t22359.67453\t31523.25262\t26337.92407\t88953.07973\t101410.655\t95971.16576\t128297.8485\t112622.8666\t52636.40751\t66661.10898\t100265.0642\t81895.01728\t197755.0574\t318871.2366\t208994.4331\t205786.4402\t578.7781871\t26701.87497\t181122.1891\t179407.42\t110364.8096\n-M1562.15T1095\t4560.666375\t284933.218\t674005.4601\t587802.2491\t503117.9572\t599562.1553\t534042.6747\t570469.368\t136265.6303\t174855.373\t183788.9724\t103218.883\t456882.3154\t535874.4261\t1246833.921\t1361629.931\t429123.0798\t256823.7498\t271321.3144\t721798.1162\t470935.1596\t1680.517028\t1162.079764\t2979.790264\t1640.917169\t6372.178946\t19686.30244\t16138.07962\t397509.0085\t517275.656\n-M1563.154T1095\t2258.599804\t196204.5947\t574665.3504\t480769.7116\t617063.2603\t681112.0227\t497382.5375\t553905.573\t98368.86269\t152205.17\t133572.3129\t88638.36162\t199774.1477\t301669.5115\t1065103.674\t1212810.269\t355606.8419\t238837.267\t371137.8313\t893592.8218\t415040.0508\t554.7922872\t1210.508705\t348.5429179\t385.6259961\t2380.821626\t3771.404558\t608.9809514\t0\t0\n-M1564.167T1093\t3352.179311\t226135.2696\t907941.7963\t1291153.219\t1006860.692\t1608924.385\t1367862.79\t1169349.072\t1145354.544\t1367693.283\t1484507.917\t385461.5869\t2392249.99\t4833723.488\t3578512.368\t1194905.871\t915456.389\t1883180.389\t2287377.452\t1674389.756\t817096.7645\t2471.23456\t2179.197004\t911.9372589\t553.5280148\t1672.357481\t4797.436897\t5496.362783\t0\t0\n-M1565.171T1092\t2391.673074\t104981.121\t797475.6427\t937682.6956\t862274.8411\t1301248.757\t1061205.211\t912752.2862\t1070088.728\t1044576.462\t1110620.5\t324761.4966\t2283480.821\t3589252.082\t3201567.997\t778814.7363\t740452.8691\t1595786.684\t2006489.738\t1563947.213\t824828.0277\t885.3897125\t1279.679269\t1473.35515\t445.3226434\t1586.542068\t1825.562713\t7077.378934\t0\t420.3640782\n-M1566.166T1089\t1363.869792\t37949.49292\t121494.8579\t1012112.449\t1042910.357\t1320813.985\t1069822.688\t772387.1841\t933433.6508\t1071964.959\t1474904.128\t527125.3161\t694519.144\t1383763.837\t1231791.839\t261387.9416\t0\t1456918.942\t1988638.529\t1872777.562\t189952.3118\t455.7522126\t387.074135\t595.3212328\t389.1774095\t1539.164443\t892.5944244\t2071.736368\t1025.623468\t0\n-M1566.181T1092\t1644.853052\t47612.72709\t881627.8824\t1660293.164\t1557986.786\t2029968.616\t1551856.115\t1149445.857\t1632329.47\t1819380.344\t2138257.479\t1011433.509\t1035042.849\t2097926.961\t1730456.955\t326806.1017\t792208.683\t2988647.625\t3860065.901\t2771680.844\t1073803.385\t871.1694469\t1612.912082\t1524.276341\t1468.351702\t2667.379\t1497.898289\t3152.713457\t1662.325644\t593.1816321\n-M1567.185T1092\t867.712003\t15893.72448\t670889.5905\t1256005.618\t1390471.388\t1445467.483\t1330178.011\t814957.88\t1182354.349\t1270646.39\t1899711.902\t728972.3588\t336436.6849\t688988.8803\t612851.7544\t109131.0185\t550843.5803\t2151430.323\t3163240.349\t1977569.223\t914571.4609\t2313.173362\t2484.359426\t1447.526562\t1248.220126\t2043.012904\t1599.002845\t3163.402558\t786.2454912\t1095.262451\n-M1568.195T1091\t1571.274388\t5175.897488\t554511.3109\t1566070.939\t870031.8181\t1499354.726\t1161073.514\t1342908.345\t1638584.671\t1608916.043\t1896714.427\t1269422.222\t116906.3314\t173843.9803\t143755.2308\t25861.00509\t536846.3486\t2459254.323\t3228311.051\t2564296.754\t891969.147\t2768.042175\t2030.792029\t2027.823091\t1557.920625\t1641.914768\t3459.331919\t1289.75614\t748.6860842\t836.9299264\n-M1569.199T1091\t2545.427034\t1536.402468\t343455.298\t1130403.884\t670605.6566\t1046969.401\t875096.325\t1033889.485\t1337255.851\t1214834.452\t1566912.913\t1080530.164\t25737.23685\t47879.49103\t12298.58152\t3860.265966\t453733.2203\t770506.4799\t1255858.369\t1732641.988\t860463.2801\t2478.635528\t2562.619965\t1922.086329\t1881.404783\t2508.362366\t3003.76721\t1796.128126\t0\t1456.224017\n-M1595.494T496\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t27005.61027\t32797.99771\t40869.13018\t50464.612\t39706.54314\t38212.08514\t31376.23894\t0\t29441.76632\t0\t50350.55219\t79536.14115\t49796.50463\t0\t0\t44618.85694\t65471.39112\t37076.84241\n'
b
diff -r f64656ae9ea4 -r 016780b192a6 runit/example1/sampleMetadata.tsv
--- a/runit/example1/sampleMetadata.tsv Sun Oct 09 09:54:00 2016 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,31 +0,0 @@
-sampleMetadata sampleType injectionOrder batch
-Bl1 blank 2 B1
-Bl2 blank 12 B1
-Bl3 blank 22 B1
-Sa1 sample 23 B1
-Sa2 sample 24 B1
-Sa3 sample 25 B1
-Sa4 sample 26 B1
-Sa5 sample 27 B1
-Sa6 sample 28 B1
-Sa7 sample 29 B1
-Sa8 sample 30 B1
-Sa9 sample 31 B1
-Sa10 sample 13 B1
-Sa11 sample 14 B1
-Sa12 sample 15 B1
-Sa13 sample 16 B1
-Sa14 sample 17 B1
-Sa15 sample 18 B1
-Sa16 sample 19 B1
-Sa17 sample 20 B1
-Sa18 sample 21 B1
-Sa19 sample 3 B1
-Sa20 sample 4 B1
-Sa21 sample 5 B1
-Sa22 sample 6 B1
-Sa23 sample 7 B1
-Sa24 sample 8 B1
-Sa25 sample 9 B1
-Sa26 sample 10 B1
-Sa27 sample 11 B1
b
diff -r f64656ae9ea4 -r 016780b192a6 runit/example1/variableMetadata.tsv
--- a/runit/example1/variableMetadata.tsv Sun Oct 09 09:54:00 2016 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,2823 +0,0 @@\n-variableMetadata\tmz\trt\n-M81.524T70\t81.52351013\t70.29784451\n-M81.523T36\t81.52349512\t35.95647988\n-M81.524T124\t81.52354019\t123.5096532\n-M81.605T62\t81.60548036\t61.78835891\n-M81.633T44\t81.63323734\t43.70694913\n-M82.025T59\t82.02477981\t59.49840694\n-M82.523T47\t82.52268073\t46.86225329\n-M83.52T53\t83.51993952\t52.54517075\n-M84.047T59\t84.0469907\t58.95691622\n-M85.531T75\t85.5305276\t75.34771535\n-M86.099T81\t86.099216\t80.98378266\n-M86.521T43\t86.52069023\t42.83441056\n-M87.047T339\t87.04674186\t339.2751257\n-M87.047T652\t87.0467279\t652.4946267\n-M87.058T40\t87.05772009\t39.60905547\n-M89.063T255\t89.06263568\t255.0942085\n-M89.063T170\t89.06266366\t170.2453013\n-M89.148T158\t89.14807717\t158.0965509\n-M89.51T1385\t89.50966847\t1385.043145\n-M90.011T1385\t90.0107254\t1384.981283\n-M90.058T40\t90.05769453\t40.25205337\n-M90.066T165\t90.06587156\t165.1384276\n-M90.066T264\t90.06580956\t263.9491842\n-M90.066T225\t90.06586188\t225.1020035\n-M90.506T73\t90.50595932\t72.71502618\n-M90.51T1381\t90.50992241\t1380.936506\n-M91.021T155\t91.02084886\t154.5091413\n-M91.021T59\t91.02094009\t59.03912572\n-M91.508T1380\t91.50765075\t1379.683617\n-M91.522T59\t91.52176381\t59.14978541\n-M92.539T116\t92.53893896\t116.3328801\n-M95.088T155\t95.08779229\t154.9520966\n-M96.511T54\t96.51079935\t53.61540381\n-M97.039T75\t97.03920288\t75.34771535\n-M97.994T116\t97.99377332\t116.4964514\n-M98.978T69\t98.97838029\t69.27356585\n-M98.978T124\t98.97830166\t123.9684741\n-M98.978T41\t98.9784227\t40.66576003\n-M99.511T73\t99.51060047\t72.81032578\n-M99.511T48\t99.51077268\t48.06842246\n-M100.017T50\t100.0173119\t50.21928524\n-M101.007T50\t101.0066087\t50.36815634\n-M101.011T35\t101.0111687\t35.17955922\n-M101.026T73\t101.0258903\t72.71502618\n-M101.074T844\t101.073735\t843.6337392\n-M102.037T48\t102.0372909\t48.17692568\n-M104.11T1019\t104.1101124\t1018.623341\n-M104.11T1047\t104.1101062\t1047.248681\n-M104.11T992\t104.1100533\t992.4576784\n-M104.11T40\t104.1098087\t39.54115124\n-M104.996T1033\t104.9956185\t1033.189174\n-M104.996T1066\t104.9955993\t1066.220114\n-M104.996T980\t104.9955539\t979.7903177\n-M104.995T834\t104.9954405\t834.1890566\n-M104.995T532\t104.9952924\t531.833618\n-M104.995T793\t104.9954129\t793.275991\n-M104.995T871\t104.9954447\t871.4333228\n-M104.995T1374\t104.9951312\t1374.460659\n-M104.995T927\t104.9954966\t927.2704765\n-M104.995T52\t104.9954605\t52.33124286\n-M104.995T722\t104.9954355\t722.0267665\n-M104.995T749\t104.9954288\t749.0278751\n-M104.995T477\t104.9952713\t476.7831691\n-M104.995T448\t104.9952747\t448.4858402\n-M104.995T660\t104.995319\t660.2613431\n-M105.018T59\t105.0183269\t59.05224576\n-M105.037T166\t105.0367685\t165.6840889\n-M105.036T259\t105.03601\t258.6962631\n-M105.074T843\t105.0742434\t843.4304162\n-M105.088T1026\t105.0883394\t1026.412202\n-M105.088T870\t105.0880694\t869.8539313\n-M105.088T1374\t105.0881156\t1374.318544\n-M105.12T1374\t105.1198884\t1374.318544\n-M105.538T157\t105.538078\t156.5811664\n-M105.999T1375\t105.9985678\t1374.51568\n-M106.045T75\t106.0445768\t75.34771535\n-M106.076T844\t106.0758364\t843.7135283\n-M107.034T43\t107.0340134\t43.09426429\n-M107.508T47\t107.5082594\t47.04312666\n-M107.526T77\t107.5262147\t76.96131283\n-M108.036T166\t108.0364937\t165.9421683\n-M108.534T46\t108.5337888\t45.555366\n-M109.104T336\t109.1039809\t335.9167868\n-M109.104T386\t109.1038218\t385.8042147\n-M109.104T584\t109.1040645\t584.4708663\n-M109.104T732\t109.1040458\t732.2508118\n-M110.016T41\t110.0157307\t41.44646298\n-M111.019T73\t111.0189768\t72.78969413\n-M111.024T42\t111.0237361\t41.78374409\n-M111.023T1381\t111.0233522\t1381.416454\n-M111.12T428\t111.1196051\t428.0927364\n-M111.12T324\t111.1197321\t323.699976\n-M111.12T248\t111.1197358\t248.0681893\n-M111.119T277\t111.1191813\t277.0007489\n-M111.534T59\t111.5344755\t59.06965408\n-M112.032T43\t112.0317192\t42.82699166\n-M112.053T51\t112.0534075\t51.4535156\n-M112.115T33\t112.1149146\t33.44257492\n-M113.038T66\t113.0376996\t65.8492613\n-M113.052T116\t113.0524353\t116.3328801\n-M113.062T155\t113.0616293\t154.9524321\n-M113.099T160\t113.0990245\t159.8792998\n-M114.041T66\t114.0406577\t65.91298192\n-M114.094T162\t114.0943511\t161.7900827\n-M114.516T44\t114.5162023\t44.24411309\n-M114.534T166\t114.5343777\t165.8406062\n-M115.042T148\t115.0417762\t147.'..b'89T1072\t905.5885888\t1071.832384\n-M919.023T1373\t919.0233913\t1373.292375\n-M919.561T1072\t919.5614265\t1071.942104\n-M920.558T1072\t920.5583187\t1071.961275\n-M925.029T1372\t925.0289925\t1371.922891\n-M927.566T990\t927.5663392\t989.9293541\n-M934.994T1374\t934.9938008\t1374.033605\n-M936.996T1373\t936.9963234\t1373.320126\n-M941.559T1073\t941.5589903\t1072.6399\n-M942.652T1070\t942.6516364\t1070.470929\n-M943.654T1070\t943.6543318\t1070.470929\n-M947.614T1070\t947.6135116\t1070.480991\n-M948.605T1071\t948.6049248\t1070.598943\n-M949.549T990\t949.5487602\t989.9293541\n-M949.613T1070\t949.6130087\t1070.470929\n-M951.568T981\t951.5679268\t980.561028\n-M955.602T1011\t955.6017746\t1011.367619\n-M956.605T1011\t956.604892\t1011.316517\n-M957.607T1011\t957.6068644\t1011.14355\n-M959.633T1044\t959.6327396\t1044.052694\n-M960.636T1048\t960.6355667\t1047.861716\n-M961.275T786\t961.2750697\t786.4107324\n-M963.583T1071\t963.583426\t1070.598943\n-M977.584T1011\t977.5835139\t1011.04195\n-M978.586T1011\t978.5862229\t1011.03924\n-M981.615T1044\t981.6147331\t1044.043425\n-M986.682T1070\t986.6817271\t1069.800642\n-M987.682T1070\t987.6816591\t1069.787666\n-M991.641T1070\t991.6412197\t1069.907261\n-M992.644T1070\t992.6439286\t1069.907261\n-M997.648T1013\t997.6483183\t1012.683683\n-M998.651T1013\t998.6513403\t1012.763915\n-M1000.573T1020\t1000.572741\t1019.588239\n-M1001.679T1045\t1001.679281\t1045.407109\n-M1002.682T1045\t1002.682372\t1045.489397\n-M1018.993T1373\t1018.99256\t1373.008258\n-M1019.631T1013\t1019.631396\t1012.708924\n-M1019.702T966\t1019.701656\t965.8091686\n-M1019.714T937\t1019.71401\t937.2919317\n-M1020.634T1013\t1020.633957\t1012.67588\n-M1020.706T966\t1020.7057\t966.1494147\n-M1020.717T937\t1020.717416\t937.2919317\n-M1023.663T1045\t1023.662572\t1045.410526\n-M1024.664T1045\t1024.664322\t1045.363343\n-M1033.645T993\t1033.644632\t992.8094628\n-M1035.668T1069\t1035.667762\t1068.553907\n-M1039.698T1013\t1039.697597\t1013.355568\n-M1040.701T1013\t1040.700553\t1013.315758\n-M1041.62T1019\t1041.620146\t1019.272933\n-M1043.729T1046\t1043.729224\t1046.089508\n-M1044.732T1046\t1044.731718\t1046.093653\n-M1061.68T1014\t1061.680096\t1013.59542\n-M1062.683T1014\t1062.68279\t1013.701114\n-M1063.684T1014\t1063.683864\t1013.59542\n-M1065.712T1046\t1065.711697\t1046.157088\n-M1066.715T1046\t1066.715093\t1046.144592\n-M1067.717T1046\t1067.716885\t1046.096899\n-M1143.683T1014\t1143.682656\t1014.041402\n-M1144.686T1014\t1144.685696\t1014.036874\n-M1145.314T786\t1145.313554\t786.4601369\n-M1145.314T911\t1145.314008\t910.7546791\n-M1146.317T786\t1146.316899\t786.4527621\n-M1147.715T1047\t1147.715122\t1046.575722\n-M1199.797T1283\t1199.796724\t1282.649688\n-M1261.894T1045\t1261.893922\t1045.398699\n-M1262.899T1046\t1262.899375\t1045.750448\n-M1263.909T1046\t1263.908833\t1045.616394\n-M1281.863T1012\t1281.863054\t1011.638699\n-M1282.867T1019\t1282.866956\t1019.377748\n-M1283.878T1012\t1283.877844\t1012.38687\n-M1283.881T1045\t1283.880861\t1045.061187\n-M1284.884T1049\t1284.883575\t1049.246127\n-M1285.895T1046\t1285.894787\t1045.616394\n-M1286.898T1046\t1286.897787\t1046.16651\n-M1288.018T1288\t1288.018164\t1288.068625\n-M1289.021T1288\t1289.021422\t1288.106792\n-M1298.796T1045\t1298.795574\t1045.179037\n-M1301.926T1047\t1301.926473\t1046.55187\n-M1303.942T1046\t1303.941625\t1046.30942\n-M1304.945T1046\t1304.945457\t1046.266254\n-M1323.91T1014\t1323.909761\t1014.068777\n-M1476.862T1011\t1476.861712\t1010.794042\n-M1492.07T1087\t1492.070125\t1087.247673\n-M1512.134T1090\t1512.133957\t1090.42822\n-M1514.094T1077\t1514.094411\t1077.056862\n-M1538.149T1097\t1538.149298\t1096.772622\n-M1539.152T1095\t1539.152105\t1095.271461\n-M1540.164T1094\t1540.164159\t1093.945049\n-M1560.135T1094\t1560.134573\t1093.852655\n-M1560.959T1013\t1560.959487\t1013.355801\n-M1561.138T1094\t1561.137889\t1093.901862\n-M1561.961T1013\t1561.961341\t1013.356034\n-M1562.15T1095\t1562.149696\t1094.53803\n-M1563.154T1095\t1563.154155\t1094.559861\n-M1564.167T1093\t1564.166664\t1092.54829\n-M1565.171T1092\t1565.170892\t1092.458348\n-M1566.166T1089\t1566.166119\t1089.363431\n-M1566.181T1092\t1566.180671\t1092.102796\n-M1567.185T1092\t1567.185264\t1091.841887\n-M1568.195T1091\t1568.194562\t1091.458796\n-M1569.199T1091\t1569.19926\t1091.033591\n-M1595.494T496\t1595.494335\t495.7960805\n'
b
diff -r f64656ae9ea4 -r 016780b192a6 runit/input/dataMatrix.tsv
--- a/runit/input/dataMatrix.tsv Sun Oct 09 09:54:00 2016 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,114 +0,0 @@\n-\tQC1_001\tHU_022\tHU_076\tHU_166\tHU_114\tHU_190\tHU_139\tHU_096\tHU_058\tHU_031\tQC1_002\tHU_039\tHU_087\tHU_143\tHU_162\tHU_102\tHU_188\tHU_095\tHU_062\tQC1_003\tHU_063\tHU_011\tHU_074\tHU_122\tHU_142\tHU_030\tHU_187\tHU_167\tHU_113\tQC1_004\tHU_081\tHU_014\tHU_206\tHU_119\tHU_033\tHU_067\tHU_140\tHU_164\tHU_193\tHU_112\tQC1_005\tHU_097\tHU_056\tHU_195\tHU_135\tHU_159\tHU_070\tHU_038\tHU_026\tQC1_006\tHU_098\tHU_115\tHU_137\tHU_019\tHU_073\tHU_168\tHU_191\tHU_040\tHU_046\tQC1_007\tHU_103\tHU_015\tHU_053\tHU_121\tHU_183\tHU_199\tHU_042\tHU_075\tQC1_008\tHU_203\tHU_024\tHU_082\tHU_169\tHU_129\tHU_057\tHU_035\tHU_194\tHU_145\tHU_104\tQC1_009\tHU_177\tHU_025\tHU_080\tHU_117\tHU_136\tHU_197\tHU_036\tHU_054\tHU_085\tQC1_010\tHU_160\tHU_092\tHU_023\tHU_124\tHU_147\tHU_205\tHU_084\tHU_120\tHU_198\tQC1_011\tHU_045\tHU_029\tHU_069\tHU_155\tHU_106\tHU_146\tHU_128\tQC1_012\n-met_001\t34046147\t29268048\t43765299\t44375419\t50601116\t4832613\t40454119\t8126\t19479962\t11235683\t33064844\t75260138\t36891690\t17466250\t74160059\t32122101\t5238560\t30163448\t10216046\t31450577\t17301601\t11549910\t12734389\t54057483\t3488082\t24301846\t2046492\t23004592\t9579482\t30075694\t7571631\t5257922\t60032654\t15725469\t42794552\t12202672\t10427301\t17332850\t2558158\t66102394\t29666404\t34174908\t36717068\t24271602\t36414651\t37145056\t20074559\t1865267\t5837544\t27608715\t38999155\t21669105\t14372963\t36030678\t24509866\t1906953\t15589584\t18219005\t25991397\t25068509\t21518123\t17608775\t6613249\t4124652\t30008362\t7839717\t16104411\t36946332\t23198059\t6151472\t23334545\t18392766\t27331396\t30774819\t18461787\t42246522\t20479189\t28817403\t27674313\t21703591\t17170407\t13809778\t11188751\t14478896\t8256694\t2771227\t47261207\t21462355\t24438964\t19424590\t379608\t17107855\t14512991\t31446516\t24437179\t18499953\t16786178\t1370420\t23336305\t18279598\t9162668\t29590881\t24605602\t13020657\t30919250\t16843645\t42298126\t15320951\n-met_002\t25505104\t13027974\t32763597\t34730095\t33371485\t1895066\t27495574\t59974\t13416309\t7415642\t23483152\t56144021\t29010226\t13269573\t61487618\t21195395\t3379894\t23790609\t4902552\t23924391\t10425200\t5914542\t10652705\t32854120\t835047\t13453508\t1274458\t22515044\t4126230\t22230978\t1786393\t3285537\t42606906\t22882567\t35048135\t9125465\t3968320\t10918248\t2767218\t40862097\t20287479\t21966458\t30969969\t17039420\t20122412\t28288256\t13281775\t1926605\t10855072\t19582666\t28740009\t14276670\t8544427\t28305898\t17921960\t1108003\t15397507\t12237865\t16183896\t17724624\t12764878\t19325552\t5978795\t2327941\t19932606\t3940696\t8131604\t27569944\t16730669\t4383418\t15424544\t10734487\t33257422\t21428567\t10875162\t33291902\t12687175\t13724743\t17750641\t15859004\t7722135\t10212514\t5089001\t10323782\t5299453\t529447\t39682428\t18277950\t17763884\t14171656\t997710\t14321798\t12297861\t15992338\t26897819\t12146700\t13597912\t256757\t14051155\t13070239\t6274244\t20895482\t17767113\t13249946\t20766019\t15026075\t25876196\t11032203\n-met_003\t5892635\t10312094\t7821772\t11024697\t11099724\t211356\t15572436\tNA\t5081385\t1287012\t7083236\t11463946\t10268577\t3466442\t16572946\t7596396\t515301\t5605033\t1166691\t6692258\t5258935\t1120354\t2768153\t17622620\t100138\t5657045\t155546\t3993478\t895432\t6630262\t1160086\t1398006\t20292345\t8345069\t9496638\t2281112\t1622765\t559527\t1169164\t24371841\t6010179\t5988080\t6808771\t4430121\t6994393\t13311751\t5318285\t783176\t353306\t5788416\t6714250\t6043357\t3119950\t4761136\t4840500\t316705\t2576605\t4562242\t7534703\t5546336\t3149195\t2525989\t2463379\t413059\t4398279\t855987\t2243033\t6719671\t4189278\t1103830\t3718953\t5441941\t4324385\t9454992\t5764607\t7703610\t7439304\t5651876\t5810300\t4075671\t5884945\t2071030\t822119\t2324725\t1072516\t75496\t15134893\t4124869\t5293399\t3395800\tNA\t2578641\t5179943\t5878251\t8146783\t4702730\t2191032\t34289\t4192685\t3234808\t2907002\t8592351\t5858938\t1541012\t10652067\t3600540\t11259836\t2932946\n-met_004\t22027726\t28338717\t19767257\t776755\t29237805\t551519\t43361691\t17669\t24178241\t2483160\t22961817\t36696085\t29568489\t12694039\t38098794\t28957490\t4548936\t21546827\t8439927\t23754498\t19390563\t2410036\t15610073\t48462830\t743472\t12281479\t957970\t22957209\t3382722\t23184843\t3152846\t6026857\t29934738\t37430772\t28469408\t6392048\t3956769\t18521915\t6448619\t58495251\t21643123\t15824960\t24311549\t14867509\t14415999\t39238537\t19313537\t4269597\t14077517\t20163043\t27340905\t24'..b'491\t31448100\t34659066\t28767624\t25600071\t15859089\t27835970\t27390922\t41203737\t20498119\t24452585\t19528858\t38827573\t19668360\t36226070\t20834484\t23959078\t24861056\t26613170\t19267218\t29521876\t24702382\t22611875\t27200384\t24013133\t8211817\t19321158\t25053327\t21309585\t26111146\t22752518\t23678180\t14152377\t18368970\t20070120\t25344880\t23708432\t24308059\t21954805\t17310020\t15790465\t18113923\t15887568\t21212232\t24847089\t26846871\t21379272\t16591716\t20216215\t26495026\t9555821\t25623659\t22300532\t19302590\t32540833\t38044859\t18732489\t20874060\t25502870\t19077479\t27777050\t38317810\t11205446\t23184858\t22056757\t19844415\t20832666\t18822607\t22767829\t20416588\t14459562\t18594833\t20083706\t24380208\t11525928\t16313321\t14407791\t17369758\t14005534\t14258891\t13852000\t11087898\t24969299\t15806268\t16899211\t15920144\n-met_110\t935810\t216794\t1250664\t961929\t322675\t358002\t748600\t1860981\t1018669\t502991\t684506\t319659\t372075\t435408\t271584\t134703\t303433\t660710\t497665\t545837\t562326\t294841\t768892\t810960\t1051193\t334380\t415293\t274518\t1024104\t541427\t301845\t328083\t257992\t599182\t440881\t228402\t425882\t556153\t473391\t796559\t433075\t637036\t502610\t252290\t878377\t318451\t806407\t240703\t431264\t364408\t432337\t490946\t495207\t557849\t481367\t240800\t239131\t552620\t296097\t325675\t299775\t538890\t129963\t202343\t159717\t524611\t659238\t837602\t401479\t347983\t286154\t405225\t113652\t522101\t168009\t185467\t508620\t217008\t189382\t300949\t181027\t293385\t593884\t707190\t86552\t667494\t119244\t290894\t850008\t307178\t409093\t223301\t101862\t205697\t38427\t209271\t69666\t182736\t247482\t273165\t123847\t387771\t325480\t44799\t104296\t295313\t155240\t212170\n-met_111\t1043674\t783394\t569047\t2884257\t2457038\t2025231\t2245847\tNA\t576988\t636282\t1109803\t511108\t1986572\t950755\t453817\t673562\t345902\t1199314\t673490\t1088285\t1650159\t548818\t673318\t1350162\t1955525\t740092\t273505\t467277\t2262955\t1064977\t2870714\t199436\t422478\t991340\t2525718\t798722\t179006\t619100\t874665\t3040034\t996244\t329299\t679032\t733260\t2162571\t528686\t219519\t138708\t740267\t940086\t736191\t703043\t1639741\t433247\t2081907\t705395\t1089016\t1249615\t789518\t854281\t424305\t719392\t258294\t813349\t666412\t1123188\t524519\t910137\t742428\t1482493\t1050502\t1019270\t846205\t398868\t409318\t832274\t122817\t1372087\t902737\t753444\t1261485\t1138611\t1159395\t680881\t111575\t2005973\t748730\t797783\t815843\t601216\t897182\t1159520\t207899\t606512\t1051255\t493530\t299954\t651714\t315358\t558515\t255169\t338669\t832857\t218229\t649477\t415127\t1274096\t494555\n-met_112\t6419071\t2797128\t4299074\t11909792\t6115103\t3096009\t8035572\tNA\t3259089\t6395447\t5049944\t4099603\t7256757\t5080926\t3738872\t2566634\t1719671\t4297409\t5324570\t4873112\t7648125\t1910687\t5439846\t4340784\t7283405\t3178504\t1547866\t3074074\t6191537\t4916409\t8943211\t1784458\t4200543\t4136622\t7786416\t4378240\t2608290\t2992852\t4462941\t9689440\t4286272\t2686538\t2745539\t4160961\t7108278\t2547671\t2212921\t992136\t3451416\t4253840\t4661221\t2464180\t4009317\t3451266\t9045261\t2681403\t3260592\t5840008\t2611730\t4002414\t3128586\t4061269\t875155\t2993219\t4222945\t4810052\t3599437\t6386359\t4087475\t5853004\t2845191\t5015241\t5255266\t2977940\t4272008\t7251435\t3019276\t3081894\t2290972\t3841186\t3298124\t3942297\t7512978\t3936963\t796120\t7537291\t3841541\t4596420\t5044950\t3496643\t2341361\t6304734\t1369143\t4345921\t3364143\t3282371\t2017426\t2744678\t5320910\t3371583\t1340912\t2186105\t3792760\t2150395\t4931386\t2886649\t3159267\t2835997\n-met_113\t1351348\t1546452\t704498\t1178543\t1910776\t2419982\t1730728\tNA\t1518760\t1292032\t1333917\t1256258\t974162\t519797\t2540508\t976266\t328769\t1916054\t1273384\t1345103\t2028673\t740657\t1759018\t2037601\t1797824\t1183570\t281005\t210403\t2013482\t1157284\t2890251\t473682\t1397064\t922962\t1608440\t785419\t836119\t552727\t996652\t1314640\t1080507\t941223\t1069492\t492963\t1146686\t413720\t1146636\t106708\t428730\t1153669\t682704\t1685395\t1027646\t673104\t762161\t230163\t984144\t741438\t962147\t954327\t887638\t721180\t215275\t364352\t353548\t991113\t1975188\t1308883\t919371\t525484\t489779\t945717\t86415\t409383\t910262\t1155717\t1527056\t1552890\t374555\t863254\t831837\t632228\t1534291\t1054678\t104907\t1181832\t570191\t1181392\t710672\t765250\t157618\t799343\t352504\t730991\t12561534\t1127759\t317084\t828816\t772629\t761105\t256288\t491981\t517417\t208846\t2334220\t563581\t849860\t654635\n'
b
diff -r f64656ae9ea4 -r 016780b192a6 runit/input/sampleMetadata.tsv
--- a/runit/input/sampleMetadata.tsv Sun Oct 09 09:54:00 2016 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,109 +0,0 @@
- injectionOrder sampleType batch
-QC1_001 1 pool b1
-HU_022 2 sample b1
-HU_076 3 sample b1
-HU_166 4 sample b1
-HU_114 5 sample b1
-HU_190 6 sample b1
-HU_139 7 sample b1
-HU_096 8 sample b1
-HU_058 9 sample b1
-HU_031 10 sample b1
-QC1_002 11 pool b1
-HU_039 12 sample b1
-HU_087 13 sample b1
-HU_143 14 sample b1
-HU_162 15 sample b1
-HU_102 16 sample b1
-HU_188 17 sample b1
-HU_095 18 sample b1
-HU_062 19 sample b1
-QC1_003 20 pool b1
-HU_063 21 sample b1
-HU_011 22 sample b1
-HU_074 23 sample b1
-HU_122 24 sample b1
-HU_142 25 sample b1
-HU_030 26 sample b1
-HU_187 27 sample b1
-HU_167 28 sample b1
-HU_113 29 sample b1
-QC1_004 30 pool b1
-HU_081 31 sample b1
-HU_014 32 sample b1
-HU_206 33 sample b1
-HU_119 34 sample b1
-HU_033 35 sample b1
-HU_067 36 sample b1
-HU_140 37 sample b1
-HU_164 38 sample b1
-HU_193 39 sample b1
-HU_112 40 sample b1
-QC1_005 41 pool b1
-HU_097 42 sample b1
-HU_056 43 sample b1
-HU_195 44 sample b1
-HU_135 45 sample b1
-HU_159 46 sample b1
-HU_070 47 sample b1
-HU_038 48 sample b1
-HU_026 49 sample b1
-QC1_006 50 pool b1
-HU_098 51 sample b1
-HU_115 52 sample b1
-HU_137 53 sample b1
-HU_019 54 sample b1
-HU_073 55 sample b1
-HU_168 56 sample b1
-HU_191 57 sample b1
-HU_040 58 sample b1
-HU_046 59 sample b1
-QC1_007 60 pool b1
-HU_103 61 sample b1
-HU_015 62 sample b1
-HU_053 63 sample b1
-HU_121 64 sample b1
-HU_183 65 sample b1
-HU_199 66 sample b1
-HU_042 67 sample b1
-HU_075 68 sample b1
-QC1_008 69 pool b1
-HU_203 70 sample b1
-HU_024 71 sample b1
-HU_082 72 sample b1
-HU_169 73 sample b1
-HU_129 74 sample b1
-HU_057 75 sample b1
-HU_035 76 sample b1
-HU_194 77 sample b1
-HU_145 78 sample b1
-HU_104 79 sample b1
-QC1_009 80 pool b1
-HU_177 81 sample b1
-HU_025 82 sample b1
-HU_080 83 sample b1
-HU_117 84 sample b1
-HU_136 85 sample b1
-HU_197 86 sample b1
-HU_036 87 sample b1
-HU_054 88 sample b1
-HU_085 89 sample b1
-QC1_010 90 pool b1
-HU_160 91 sample b1
-HU_092 92 sample b1
-HU_023 93 sample b1
-HU_124 94 sample b1
-HU_147 95 sample b1
-HU_205 96 sample b1
-HU_084 97 sample b1
-HU_120 98 sample b1
-HU_198 99 sample b1
-QC1_011 100 pool b1
-HU_045 101 sample b1
-HU_029 102 sample b1
-HU_069 103 sample b1
-HU_155 104 sample b1
-HU_106 105 sample b1
-HU_146 106 sample b1
-HU_128 107 sample b1
-QC1_012 108 pool b1
b
diff -r f64656ae9ea4 -r 016780b192a6 runit/input/variableMetadata.tsv
--- a/runit/input/variableMetadata.tsv Sun Oct 09 09:54:00 2016 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,114 +0,0 @@
- number MSI_level
-met_001 1 1
-met_002 2 1
-met_003 3 1
-met_004 4 1
-met_005 5 2
-met_006 6 1
-met_007 7 1
-met_008 8 1
-met_009 9 1
-met_010 10 1
-met_011 11 2
-met_012 12 1
-met_013 13 1
-met_014 14 1
-met_015 15 1
-met_016 16 1
-met_017 17 2
-met_018 18 1
-met_019 19 1
-met_020 20 1
-met_021 21 1
-met_022 22 2
-met_023 23 1
-met_024 24 2
-met_025 25 2
-met_026 26 1
-met_027 27 1
-met_028 28 1
-met_029 29 1
-met_030 30 2
-met_031 31 1
-met_032 32 2
-met_033 33 1
-met_034 34 1
-met_035 35 2
-met_036 36 1
-met_037 37 2
-met_038 38 2
-met_039 39 2
-met_040 40 2
-met_041 41 1
-met_042 42 1
-met_043 43 2
-met_044 44 2
-met_045 45 1
-met_046 46 1
-met_047 47 2
-met_048 48 1
-met_049 49 1
-met_050 50 1
-met_051 51 2
-met_052 52 2
-met_053 53 1
-met_054 54 2
-met_055 55 2
-met_056 56 2
-met_057 57 2
-met_058 58 1
-met_059 59 2
-met_060 60 2
-met_061 61 2
-met_062 62 2
-met_063 63 2
-met_064 64 1
-met_065 65 1
-met_066 66 2
-met_067 67 2
-met_068 68 2
-met_069 69 1
-met_070 70 2
-met_071 71 2
-met_072 72 2
-met_073 73 1
-met_074 74 1
-met_075 75 1
-met_076 76 2
-met_077 77 2
-met_078 78 2
-met_079 79 2
-met_080 80 2
-met_081 81 2
-met_082 82 1
-met_083 83 1
-met_084 84 1
-met_085 85 1
-met_086 86 1
-met_087 87 1
-met_088 88 2
-met_089 89 2
-met_090 90 1
-met_091 91 1
-met_092 92 1
-met_093 93 2
-met_094 94 2
-met_095 95 2
-met_096 96 1
-met_097 97 1
-met_098 98 2
-met_099 99 2
-met_100 100 2
-met_101 101 1
-met_102 102 1
-met_103 103 1
-met_104 104 1
-met_105 105 2
-met_106 106 1
-met_107 107 2
-met_108 108 2
-met_109 109 2
-met_110 110 1
-met_111 111 2
-met_112 112 2
-met_113 113 1
b
diff -r f64656ae9ea4 -r 016780b192a6 runit/output/dataMatrix.tsv
--- a/runit/output/dataMatrix.tsv Sun Oct 09 09:54:00 2016 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,11 +0,0 @@\n-dataMatrix\tQC1_001\tHU_neg_017\tHU_neg_018\tHU_neg_020\tHU_neg_021\tHU_neg_027\tHU_neg_028\tHU_neg_032\tHU_neg_034\tQC1_002\tHU_neg_037\tHU_neg_041\tHU_neg_043\tHU_neg_044\tHU_neg_047\tHU_neg_048\tQC1_003\tHU_neg_049\tHU_neg_050\tHU_neg_051\tHU_neg_052\tHU_neg_055\tHU_neg_059\tHU_neg_060\tHU_neg_061\tQC1_004\tHU_neg_064\tHU_neg_065\tHU_neg_066\tHU_neg_068\tHU_neg_071\tHU_neg_072\tHU_neg_077\tHU_neg_078\tQC1_005\tHU_neg_079\tHU_neg_083\tHU_neg_086\tHU_neg_088\tHU_neg_089\tHU_neg_090\tHU_neg_091\tHU_neg_093\tHU_neg_094\tQC1_006\tHU_neg_099\tHU_neg_100\tHU_neg_101\tHU_neg_105\tHU_neg_107\tHU_neg_108\tHU_neg_109\tHU_neg_110\tHU_neg_111\tQC1_007\tHU_neg_116\tHU_neg_118\tHU_neg_123\tHU_neg_125\tHU_neg_126\tHU_neg_127\tQC1_008\tHU_neg_130\tHU_neg_131\tHU_neg_132\tHU_neg_133\tHU_neg_134\tHU_neg_138\tQC1_009\tHU_neg_144\tHU_neg_148\tHU_neg_149\tHU_neg_150\tQC1_010\tHU_neg_152\tHU_neg_154\tHU_neg_156\tHU_neg_157\tHU_neg_158\tHU_neg_163\tHU_neg_170\tHU_neg_171\tQC1_011\tHU_neg_172\tHU_neg_173\tHU_neg_174\tHU_neg_175\tHU_neg_178\tHU_neg_179\tHU_neg_180\tHU_neg_181\tHU_neg_182\tQC1_012\tHU_neg_184\tHU_neg_185\tHU_neg_186\tHU_neg_189\tHU_neg_192\tHU_neg_196\tQC1_013\tHU_neg_200\tHU_neg_201\tHU_neg_202\tHU_neg_204\tHU_neg_207\tHU_neg_208\tHU_neg_209\tQC1_014\tQC1_001_b2\tHU_neg_022_b2\tHU_neg_076_b2\tHU_neg_166_b2\tHU_neg_114_b2\tHU_neg_190_b2\tHU_neg_139_b2\tHU_neg_096_b2\tHU_neg_058_b2\tHU_neg_031_b2\tQC1_002_b2\tHU_neg_039_b2\tHU_neg_087_b2\tHU_neg_143_b2\tHU_neg_162_b2\tHU_neg_102_b2\tHU_neg_188_b2\tHU_neg_095_b2\tHU_neg_062_b2\tQC1_003_b2\tHU_neg_063_b2\tHU_neg_011_b2\tHU_neg_074_b2\tHU_neg_122_b2\tHU_neg_142_b2\tHU_neg_030_b2\tHU_neg_187_b2\tHU_neg_167_b2\tHU_neg_113_b2\tQC1_004_b2\tHU_neg_081_b2\tHU_neg_014_b2\tHU_neg_206_b2\tHU_neg_119_b2\tHU_neg_033_b2\tHU_neg_067_b2\tHU_neg_140_b2\tHU_neg_164_b2\tHU_neg_193_b2\tHU_neg_112_b2\tQC1_005_b2\tHU_neg_097_b2\tHU_neg_056_b2\tHU_neg_195_b2\tHU_neg_135_b2\tHU_neg_159_b2\tHU_neg_070_b2\tHU_neg_038_b2\tHU_neg_026_b2\tQC1_006_b2\tHU_neg_098_b2\tHU_neg_115_b2\tHU_neg_137_b2\tHU_neg_019_b2\tHU_neg_073_b2\tHU_neg_168_b2\tHU_neg_191_b2\tHU_neg_040_b2\tHU_neg_046_b2\tQC1_007_b2\tHU_neg_103_b2\tHU_neg_015_b2\tHU_neg_053_b2\tHU_neg_121_b2\tHU_neg_183_b2\tHU_neg_199_b2\tHU_neg_042_b2\tHU_neg_075_b2\tQC1_008_b2\tHU_neg_203_b2\tHU_neg_024_b2\tHU_neg_082_b2\tHU_neg_169_b2\tHU_neg_129_b2\tHU_neg_057_b2\tHU_neg_035_b2\tHU_neg_194_b2\tHU_neg_145_b2\tHU_neg_104_b2\tQC1_009_b2\tHU_neg_177_b2\tHU_neg_025_b2\tHU_neg_080_b2\tHU_neg_117_b2\tHU_neg_136_b2\tHU_neg_197_b2\tHU_neg_036_b2\tHU_neg_054_b2\tHU_neg_085_b2\tQC1_010_b2\tHU_neg_160_b2\tHU_neg_092_b2\tHU_neg_023_b2\tHU_neg_124_b2\tHU_neg_147_b2\tHU_neg_205_b2\tHU_neg_084_b2\tHU_neg_120_b2\tHU_neg_198_b2\tQC1_011_b2\tHU_neg_045_b2\tHU_neg_029_b2\tHU_neg_069_b2\tHU_neg_155_b2\tHU_neg_106_b2\tHU_neg_146_b2\tHU_neg_128_b2\tQC1_012_b2\n-M53T345\t22916.8503183278\t7902.36628611891\t14186.1927260197\t10015.9019240688\t26094.828028276\t0\t38332.1570293848\t8393.52483632099\t6785.85486172605\t64557.5696044546\t15085.3806578423\t0\t55618.4950303317\t0\t0\t74378.564916877\t69385.6823681573\t89437.9795664756\t48320.6149305083\t0\t27549.0211475775\t17372.8580621263\t49331.7569391658\t52762.8909562027\t14701.2645921527\t45264.5638569828\t0\t22800.9849561408\t44174.1106217275\t21020.4732296622\t0\t38080.7304204211\t32382.6256336037\t27785.3736965079\t37328.4752249551\t19541.5803787906\t34889.5607768396\t164054.478223313\t68963.9935434008\t39557.2309303527\t29623.8667089724\t53765.4492117118\t9298.12832080944\t1950.95686964544\t77308.9014034962\t11959.2640840444\t42652.1227840538\t0\t24286.3336183775\t75811.0410858136\t0\t0\t9464.23645760711\t174377.136304784\t48086.7360433165\t14925.1880942963\t15358.803016403\t181689.711577104\t42975.0756929933\t47882.0867588327\t147474.219553644\t20423.1003315362\t96186.6084956545\t81450.8051605474\t75984.6073191648\t0\t0\t37916.9838544697\t59635.0709072874\t88591.7909778961\t107351.343538686\t214900.490026095\t0\t0\t101860.62950402\t0\t0\t75878.6360109469\t0\t218702.585453886\t118194.313858912\t55775.259094532\t38006.6711995647\t181840.596518769\t11686.9719830616\t127721.148955206\t182860.420341732\t0\t23775.5437795508\t20023.7275839261\t0\t0\t48093.0771338209\t68516.0666418151\t23791.3343168634\t0\t23783.3223321733\t174248.120'..b'9836.75922960136\t0\t21960.5625241016\t7752.6279548032\t0\t42394.5289452647\t0\t16885.164729337\t9419.17763024988\t0\t15775.1973748943\t22213.6493909447\t0\t37351.8646384021\t275946.902583094\t220205.4204303\t0\t240321.418146108\t404666.199982779\t35549.9141799903\n-M65T347\tNA\tNA\tNA\tNA\tNA\tNA\tNA\tNA\t0\t0\t0\t0\t0\t17577.7523599669\t12716.9483154491\t0\t0\t0\t0\t0\t0\t0\t0\t9227.52812225522\t0\t0\t0\t0\t0\t8655.72495167114\t2785.89360160062\t0\t0\t0\t7665.56274089389\t0\t24411.9035717586\t26673.3764224817\t0\t0\t4957.78878335087\t5893.35173627485\t0\t9232.20647814967\t5897.51053646421\t0\t0\t0\t10595.9640451461\t0\t0\t0\t0\t0\t3600.02698782932\t0\t0\t0\t0\t3104.13752275366\t0\t1305.8153658586\t0\t0\t12198.9175700778\t4033.05588518951\t5563.31298292953\t10252.6717734315\t9006.20625464274\t4393.70210640498\t0\t10938.1589642391\t0\t6995.14472938548\t0\t0\t0\t2795.56950834933\t0\t0\t6453.85924033309\t3769.59029600916\t0\t0\t3948.77174969479\t0\t6872.2008449651\t10662.815500164\t1430.52218731967\t0\t6628.52477286425\t6109.84270038378\t0\t0\t0\t0\t6864.31528229662\t0\t11482.1388929745\t12764.6593425743\t16644.919410871\t0\t0\t48017.7167269393\t0\t0\tNA\tNA\t6924.18711009832\t0\t0\t14187.3204532684\t0\t13586.348983009\t0\t0\t0\t9269.72807242392\t0\t0\t12532.2353098584\t0\t0\t0\t0\t7450.37683579171\t0\t0\t28312.9289651925\t32920.4519412756\t0\t0\t0\t60097.4399421925\t0\t0\t92350.3419541241\t0\t0\tNA\tNA\tNA\tNA\tNA\tNA\tNA\tNA\tNA\tNA\tNA\tNA\tNA\tNA\tNA\tNA\tNA\t0\t0\t205719.903080552\t81931.5147433721\t0\t0\t75446.1919531793\t71806.6973200351\t96891.2605469779\t0\t0\t21958.7115351948\t0\t0\t0\t17970.6660585164\t0\t52921.1801879622\t20285.3838321717\t39648.2753696965\t0\t0\t0\t0\t0\t12105.7976443698\t0\t13116.611445248\t0\t0\t0\t0\t29111.9843879581\t0\t0\t18774.7460616189\t0\t16057.8759211401\t0\t0\t0\t7859.53123526753\t0\t2306.33224635393\t0\t0\t0\t3000.49940768142\t2763.60425899446\t0\t0\t3872.20348463165\t2515.66755783652\t3710.72689500818\t4646.60009105324\t0\t0\t6797.64248978523\t0\t4904.85992721011\n-M65T379\t0\t0\t0\t0\t19319.784477314\t0\t2358.91451043098\t0\t0\t6146.07821441386\t0\t0\t0\t0\t0\t1796.47735198171\t7125.33879092052\t2635.27150058506\t5182.89231545897\t2227.07955856423\t14915.0599008699\t0\t0\t36884.2824796481\t7971.93053414221\t21546.7130945337\t1106.78816682253\t0\t12209.900287666\t7069.20612554734\t0\t18788.451584342\t9150.4104910484\t0\t11225.9296972091\t0\t9575.81479249076\t25385.3644103777\t11947.3457132044\t11457.7990816385\t4758.98691288765\t11662.7155322396\t0\t8254.41204449586\t0\t0\t0\t0\t0\t30254.4402564108\t0\t0\t2218.81233907726\t0\t0\t0\t0\t45224.8877985745\t0\t0\t0\t0\t17162.4177720751\t33814.6038957995\t0\t0\t13062.7324556288\t40942.8220567403\t14674.108351702\t0\t18638.3283559686\t0\t9622.84024273207\t3623.57431535713\t0\t0\t3340.47633445213\t0\t0\t4841.96871041119\t0\t0\t45466.1114161014\t0\t0\t0\t16671.9055698337\t13461.2220470744\t0\t25855.4996925191\t0\t4228.85166891446\t7306.3522965035\t0\t0\t0\t18214.4700333264\t0\t31956.49979747\t0\t0\t16336.8074340521\t0\t21004.7862449397\t32082.1261984759\t0\t0\t0\t3903.74436334081\t5940.99143467867\t0\t9650.23052524917\t5692.11542577102\t0\t0\t0\t0\t7673.01694151431\t14358.8121247852\t4482.60692633307\t4626.86002305355\t0\t0\t0\t0\t7278.0062930656\t0\t10411.9211438194\t0\t0\t4540.9140770715\t8190.12009366662\t3557.87322079825\t3296.84451085836\t0\t0\t4825.34857042043\t0\t0\t4087.32859261343\t22512.9294636802\t0\t4533.77551008407\t4309.91095787936\t6211.33485416505\t5137.47693452919\t24590.0374650008\t54242.8122107214\t0\t9904.31119626018\t9036.42851637183\t4543.39927970651\t9361.25095387635\t23135.7456592626\t0\t0\t12678.1780185843\t17294.4661916624\t0\t0\t0\t37785.8757986175\t29269.6121043192\t12931.5996710815\t11112.3473991272\t5840.53283889335\t0\t17841.7734691827\t0\t0\t9660.12888206858\t0\t12711.8371141284\t6448.48348402996\t7216.45400679199\t17002.9576437415\t0\t3521.7797273502\t7473.87193907181\t0\t8505.68747645502\t10676.3525005773\t5305.7851485662\t5552.44282073779\t0\t14435.7438130564\t8536.20088102446\t0\t0\t7721.53659611395\t8354.49158261139\t8292.42381975183\t4668.32413096465\t0\t0\t8871.71663682864\t17070.0052819867\t13664.9374535562\t16100.2332819966\t10942.8220740789\t0\t37144.442508253\t9081.1220238305\t16819.8701047487\t11907.2110344546\t0\t0\t12848.1184120016\t32186.631711067\t42112.8736432409\t19067.8374396085\t123052.057113716\t69742.8385855293\t0\t194579.902698815\t0\n'
b
diff -r f64656ae9ea4 -r 016780b192a6 runit/output/graph_output.pdf
b
Binary file runit/output/graph_output.pdf has changed
b
diff -r f64656ae9ea4 -r 016780b192a6 runit/output/out_graph.pdf
b
Binary file runit/output/out_graph.pdf has changed
b
diff -r f64656ae9ea4 -r 016780b192a6 runit/output/preNormSummary.txt
--- a/runit/output/preNormSummary.txt Sun Oct 09 09:54:00 2016 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,11 +0,0 @@
-labion batch.1.linear batch.1.loess batch.1.lowess batch.2.linear batch.2.loess batch.2.lowess
-M53T345 0 0 0 0 0 0
-M58T69 0 0 0 0 0 0
-M59T246 0 0 0 5 0 0
-M59T62 0 0 0 3 3 3
-M59T270 0 0 0 0 0 0
-M62T56 0 0 0 0 0 0
-M64T348 0 0 0 0 0 0
-M64T379 0 0 0 0 0 0
-M65T347 5 0 0 5 0 0
-M65T379 0 0 0 0 0 0
b
diff -r f64656ae9ea4 -r 016780b192a6 runit/output/rdata_output.rdata
b
Binary file runit/output/rdata_output.rdata has changed
b
diff -r f64656ae9ea4 -r 016780b192a6 runit/output/variableMetadata.tsv
--- a/runit/output/variableMetadata.tsv Sun Oct 09 09:54:00 2016 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,11 +0,0 @@
-variableMetadata mz rt
-M53T345 53.00116493 345.3902643
-M58T69 57.97545393 68.67242364
-M59T246 59.01359496 246.0306602
-M59T62 59.0137118 61.90072933
-M59T270 59.01362084 269.6233798
-M62T56 61.98819056 55.58308625
-M64T348 63.62063447 347.5012693
-M64T379 63.62063447 378.9359473
-M65T347 64.90244604 347.4115572
-M65T379 64.9028817 378.9130758
b
diff -r f64656ae9ea4 -r 016780b192a6 runit/output/variable_for_simca.tsv
--- a/runit/output/variable_for_simca.tsv Sun Oct 09 09:54:00 2016 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,217 +0,0 @@\n-names\tsampleType\tinjectionOrder\tbatch\tM53T345\tM58T69\tM59T246\tM59T62\tM59T270\tM62T56\tM64T348\tM64T379\tM65T347\tM65T379\n-QC1_001\tpool\t14\tne1\t22916.8503183278\t414335.514903694\t31597.2963818844\t10396.7469524831\t5545.85336555007\t6357771.36568666\t15280.9335261441\t15209.3350889908\tNA\t0\n-HU_neg_017\tsample\t17\tne1\t7902.36628611891\t114393.000721447\t0\t0\t0\t2566772.45126903\t22883.7849648464\t0\tNA\t0\n-HU_neg_018\tsample\t18\tne1\t14186.1927260197\t126621.285371012\t73263.1745467661\t48807.7004751479\t45499.2532566739\t7918786.43270129\t29412.2985860409\t6028.453373865\tNA\t0\n-HU_neg_020\tsample\t19\tne1\t10015.9019240688\t143110.676434993\t0\t0\t0\t2711781.00431142\t23567.9721870871\t4435.36159361631\tNA\t0\n-HU_neg_021\tsample\t20\tne1\t26094.828028276\t209940.624575068\t44029.1138677143\t11743.5608955695\t45259.1527113759\t5549057.18386628\t0\t25447.569115331\tNA\t19319.784477314\n-HU_neg_027\tsample\t22\tne1\t0\t30490.3229152273\t0\t6182.11173521795\t0\t3117104.41608518\t14820.0715202055\t4312.86095485588\tNA\t0\n-HU_neg_028\tsample\t23\tne1\t38332.1570293848\t120354.978068946\t65544.3440435328\t12959.6928185789\t0\t5011009.07575411\t22143.6001774649\t11706.2740758898\tNA\t2358.91451043098\n-HU_neg_032\tsample\t25\tne1\t8393.52483632099\t228452.378845564\t0\t0\t2815.48976935071\t4074773.95643709\t16541.7006989418\t3313.44127061182\tNA\t0\n-HU_neg_034\tsample\t26\tne1\t6785.85486172605\t821961.331895979\t0\t13214.928374308\t0\t5772294.1134195\t9669.77585057873\t9061.05119485424\t0\t0\n-QC1_002\tpool\t27\tne1\t64557.5696044546\t387436.306124251\t25926.9014019498\t9441.21811649049\t10949.7954145854\t5721367.6809163\t23271.2867953649\t16782.2052996299\t0\t6146.07821441386\n-HU_neg_037\tsample\t32\tne1\t15085.3806578423\t572790.502672348\t0\t21024.2387239496\t0\t5145680.08148254\t2990.68873644705\t0\t0\t0\n-HU_neg_041\tsample\t34\tne1\t0\t23106.4532699009\t3917.11331480479\t9484.81294657684\t0\t2157188.76930328\t8903.43600544316\t5667.26299585238\t0\t0\n-HU_neg_043\tsample\t36\tne1\t55618.4950303317\t344733.839950306\t12239.4899545428\t28922.8830888333\t0\t3126857.9926602\t6121.28093859868\t12991.2688341502\t0\t0\n-HU_neg_044\tsample\t37\tne1\t0\t105149.982589545\t0\t5798.88774680255\t0\t1628726.03424121\t11176.880956293\t2595.2250512392\t17577.7523599669\t0\n-HU_neg_047\tsample\t38\tne1\t0\t38849.1835427455\t5580.71066540823\t0\t0\t3766792.65982601\t7784.81015421122\t14366.127214807\t12716.9483154491\t0\n-HU_neg_048\tsample\t39\tne1\t74378.564916877\t84923.317737559\t16812.3761849151\t12768.8471292001\t8265.6376628611\t5120638.25871586\t10214.4243042097\t16545.9894306663\t0\t1796.47735198171\n-QC1_003\tpool\t40\tne1\t69385.6823681573\t438883.454352924\t33894.9796613836\t12163.389542402\t17809.4825112921\t5202475.82491676\t13658.6556594957\t11684.8398790874\t0\t7125.33879092052\n-HU_neg_049\tsample\t43\tne1\t89437.9795664756\t94512.4350719824\t2679.72010679899\t7796.78504801455\t22617.8849477442\t11022459.6272805\t0\t3107.76471330431\t0\t2635.27150058506\n-HU_neg_050\tsample\t44\tne1\t48320.6149305083\t348585.770923454\t73672.8889432879\t20905.687737515\t14643.2808429715\t4684921.30148651\t38058.8378477906\t11722.0952725287\t0\t5182.89231545897\n-HU_neg_051\tsample\t45\tne1\t0\t43074.9404587368\t0\t0\t0\t2839212.71131481\t2878.48790076907\t5275.55429263035\t0\t2227.07955856423\n-HU_neg_052\tsample\t46\tne1\t27549.0211475775\t315206.69942588\t3400.83259108738\t11215.9678046422\t3281.79638334132\t2890474.78696583\t39018.9545882897\t14250.7522230372\t0\t14915.0599008699\n-HU_neg_055\tsample\t48\tne1\t17372.8580621263\t35781.896819856\t2420.80657839847\t5647.13737920437\t0\t3713953.83059064\t4719.68500893146\t4803.06049170028\t0\t0\n-HU_neg_059\tsample\t50\tne1\t49331.7569391658\t207110.900173121\t40672.2254646222\t15725.7960558992\t6054.7183419183\t4275004.45650596\t15263.0277711816\t7338.81247207245\t0\t0\n-HU_neg_060\tsample\t51\tne1\t52762.8909562027\t216905.390687518\t24724.1611707945\t18537.3756077814\t31230.8721808582\t4126998.73211027\t48443.7738973598\t26264.8489779139\t9227.52812225522\t36884.2824796481\n-HU_neg_061\tsample\t52\tne1\t14701.2645921527\t116178.215101415\t11933.6736580781\t13625.2211326419\t2618.38617028143\t2932237.04913505\t6608.04171261367\t11464.6541557274\t0\t7971.93053414221\n-QC1_004\tpool\t53\tne1\t45264.5638569828\t4291'..b'\t0\t9123.78479481339\t0\t2159758.96408848\t15268.7957647657\t6377.63173137508\t0\t4668.32413096465\n-HU_neg_197_b2\tsample\t127\tne2\t25635.5732408133\t200853.508576854\t122774.220223768\t8554.28345655055\t61695.7266716568\t3910793.6058202\t17800.3809827898\t15278.2092214688\t16057.8759211401\t0\n-HU_neg_036_b2\tsample\t128\tne2\t0\t1780603.51587091\t48513.4997472712\t60778.1725865781\t0\t4599797.2222596\t6516.07113392464\t13644.2927034882\t0\t0\n-HU_neg_054_b2\tsample\t129\tne2\t126871.672949796\t149332.199059522\t51826.7880173299\t7591.22868164988\t56583.6094352797\t10464578.6475196\t23885.9647447575\t24833.1495196631\t0\t8871.71663682864\n-HU_neg_085_b2\tsample\t130\tne2\t93070.0624662882\t169686.415380358\t125584.46377227\t8362.63631797827\t47720.1567812388\t4530348.62131862\t40169.6853738626\t9836.75922960136\t0\t17070.0052819867\n-QC1_010_b2\tpool\t131\tne2\t0\t423607.260828555\t25936.6154518318\t8046.35281614121\t3479.79080283346\t5620735.2624169\t19194.4449708521\t0\t7859.53123526753\t13664.9374535562\n-HU_neg_160_b2\tsample\t134\tne2\t52891.1218192687\t317645.486666445\t8211.32571538391\t24605.0265500288\t0\t3627639.8055793\t22150.2163731973\t21960.5625241016\t0\t16100.2332819966\n-HU_neg_092_b2\tsample\t136\tne2\t72408.9537744018\t1460924.19676066\t49928.4507491627\t16763.2610498386\t3990.17984237917\t2805850.59575042\t13454.8128885898\t7752.6279548032\t2306.33224635393\t10942.8220740789\n-HU_neg_023_b2\tsample\t137\tne2\t152604.332831428\t201672.631748578\t14913.8106037919\t0\t1755.94815016581\t3052497.75920036\t5630.2519036096\t0\t0\t0\n-HU_neg_124_b2\tsample\t138\tne2\t587864.895817316\t2279481.97503921\t55618.1262392793\t45260.1417438861\t57744.5588804476\t4538313.54264357\t4038.05660936366\t42394.5289452647\t0\t37144.442508253\n-HU_neg_147_b2\tsample\t139\tne2\t410998.858671201\t397469.497502822\t25100.9972538257\t50293.9859189137\t3098.70833505369\t3773052.03940999\t33109.031770493\t0\t0\t9081.1220238305\n-HU_neg_205_b2\tsample\t140\tne2\t0\t258673.421594387\t63429.8329903911\t35573.9595964222\t58320.6029517851\t3768136.85500143\t23286.4890689731\t16885.164729337\t3000.49940768142\t16819.8701047487\n-HU_neg_084_b2\tsample\t141\tne2\t43270.7055185618\t242841.35237843\t23919.6694291931\t61463.3139336184\t0\t1649574.79278349\t0\t9419.17763024988\t2763.60425899446\t11907.2110344546\n-HU_neg_120_b2\tsample\t142\tne2\t407021.031572177\t134561.255169041\t9340.29265177823\t14808.1767672651\t0\t3529988.2629453\t26510.6812034667\t0\t0\t0\n-HU_neg_198_b2\tsample\t143\tne2\t444111.471880968\t2017033.56336578\t20361.5550262026\t20903.6663706153\t21250.9636204492\t8488543.40652706\t66087.3955004915\t15775.1973748943\t0\t0\n-QC1_011_b2\tpool\t144\tne2\t187425.394100892\t469588.273011053\t18710.2646154161\t14761.3548219776\t16685.3057969668\t6350090.32962661\t8713.66043440489\t22213.6493909447\t3872.20348463165\t12848.1184120016\n-HU_neg_045_b2\tsample\t148\tne2\t0\t988435.757475126\t0\t11745.1367553337\t5389.27375880758\t4681162.74519829\t62696.920237698\t0\t2515.66755783652\t32186.631711067\n-HU_neg_029_b2\tsample\t149\tne2\t5071704.61214239\t1260602.91215149\t79824.3594572156\t54703.6107854852\t5385.21616225194\t14383354.0590852\t53307.8837226276\t37351.8646384021\t3710.72689500818\t42112.8736432409\n-HU_neg_069_b2\tsample\t150\tne2\t163991.025876611\t5203884.95109952\t41764.6862312955\t23527.6914295009\t50719.4780336792\t8579540.46155677\t68908.6249137131\t275946.902583094\t4646.60009105324\t19067.8374396085\n-HU_neg_155_b2\tsample\t151\tne2\t5363609.55468826\t22932097.9437264\t8063.14414678053\t26069.2792049545\t0\t7071584.63633001\t0\t220205.4204303\t0\t123052.057113716\n-HU_neg_106_b2\tsample\t154\tne2\tNA\t1520831.1518585\t23691.063008973\t73493.5514855902\t0\t12723314.3521273\t49360.5458922014\t0\t0\t69742.8385855293\n-HU_neg_146_b2\tsample\t155\tne2\tNA\t6088802.82900919\t62498.5132553181\t23812.4585556634\t78192.8428380911\t9107633.71464821\t65709.086176117\t240321.418146108\t6797.64248978523\t0\n-HU_neg_128_b2\tsample\t156\tne2\tNA\t5460519.61610762\t19461.012748901\t50958.3471344108\t0\t15437723.3325578\t108516.297876654\t404666.199982779\t0\t194579.902698815\n-QC1_012_b2\tpool\t157\tne2\tNA\t316208.032086306\t39604.0051243116\t8030.36632130052\t5714.42230295629\t5767931.8110389\t23064.3082325567\t35549.9141799903\t4904.85992721011\t0\n'
b
diff -r f64656ae9ea4 -r 016780b192a6 runit/sacurine/dataMatrix.tsv
--- a/runit/sacurine/dataMatrix.tsv Sun Oct 09 09:54:00 2016 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,11 +0,0 @@\n-""\t"QC1_001"\t"HU_neg_017"\t"HU_neg_018"\t"HU_neg_020"\t"HU_neg_021"\t"HU_neg_027"\t"HU_neg_028"\t"HU_neg_032"\t"HU_neg_034"\t"QC1_002"\t"HU_neg_037"\t"HU_neg_041"\t"HU_neg_043"\t"HU_neg_044"\t"HU_neg_047"\t"HU_neg_048"\t"QC1_003"\t"HU_neg_049"\t"HU_neg_050"\t"HU_neg_051"\t"HU_neg_052"\t"HU_neg_055"\t"HU_neg_059"\t"HU_neg_060"\t"HU_neg_061"\t"QC1_004"\t"HU_neg_064"\t"HU_neg_065"\t"HU_neg_066"\t"HU_neg_068"\t"HU_neg_071"\t"HU_neg_072"\t"HU_neg_077"\t"HU_neg_078"\t"QC1_005"\t"HU_neg_079"\t"HU_neg_083"\t"HU_neg_086"\t"HU_neg_088"\t"HU_neg_089"\t"HU_neg_090"\t"HU_neg_091"\t"HU_neg_093"\t"HU_neg_094"\t"QC1_006"\t"HU_neg_099"\t"HU_neg_100"\t"HU_neg_101"\t"HU_neg_105"\t"HU_neg_107"\t"HU_neg_108"\t"HU_neg_109"\t"HU_neg_110"\t"HU_neg_111"\t"QC1_007"\t"HU_neg_116"\t"HU_neg_118"\t"HU_neg_123"\t"HU_neg_125"\t"HU_neg_126"\t"HU_neg_127"\t"QC1_008"\t"HU_neg_130"\t"HU_neg_131"\t"HU_neg_132"\t"HU_neg_133"\t"HU_neg_134"\t"HU_neg_138"\t"QC1_009"\t"HU_neg_144"\t"HU_neg_148"\t"HU_neg_149"\t"HU_neg_150"\t"QC1_010"\t"HU_neg_152"\t"HU_neg_154"\t"HU_neg_156"\t"HU_neg_157"\t"HU_neg_158"\t"HU_neg_163"\t"HU_neg_170"\t"HU_neg_171"\t"QC1_011"\t"HU_neg_172"\t"HU_neg_173"\t"HU_neg_174"\t"HU_neg_175"\t"HU_neg_178"\t"HU_neg_179"\t"HU_neg_180"\t"HU_neg_181"\t"HU_neg_182"\t"QC1_012"\t"HU_neg_184"\t"HU_neg_185"\t"HU_neg_186"\t"HU_neg_189"\t"HU_neg_192"\t"HU_neg_196"\t"QC1_013"\t"HU_neg_200"\t"HU_neg_201"\t"HU_neg_202"\t"HU_neg_204"\t"HU_neg_207"\t"HU_neg_208"\t"HU_neg_209"\t"QC1_014"\t"QC1_001_b2"\t"HU_neg_022_b2"\t"HU_neg_076_b2"\t"HU_neg_166_b2"\t"HU_neg_114_b2"\t"HU_neg_190_b2"\t"HU_neg_139_b2"\t"HU_neg_096_b2"\t"HU_neg_058_b2"\t"HU_neg_031_b2"\t"QC1_002_b2"\t"HU_neg_039_b2"\t"HU_neg_087_b2"\t"HU_neg_143_b2"\t"HU_neg_162_b2"\t"HU_neg_102_b2"\t"HU_neg_188_b2"\t"HU_neg_095_b2"\t"HU_neg_062_b2"\t"QC1_003_b2"\t"HU_neg_063_b2"\t"HU_neg_011_b2"\t"HU_neg_074_b2"\t"HU_neg_122_b2"\t"HU_neg_142_b2"\t"HU_neg_030_b2"\t"HU_neg_187_b2"\t"HU_neg_167_b2"\t"HU_neg_113_b2"\t"QC1_004_b2"\t"HU_neg_081_b2"\t"HU_neg_014_b2"\t"HU_neg_206_b2"\t"HU_neg_119_b2"\t"HU_neg_033_b2"\t"HU_neg_067_b2"\t"HU_neg_140_b2"\t"HU_neg_164_b2"\t"HU_neg_193_b2"\t"HU_neg_112_b2"\t"QC1_005_b2"\t"HU_neg_097_b2"\t"HU_neg_056_b2"\t"HU_neg_195_b2"\t"HU_neg_135_b2"\t"HU_neg_159_b2"\t"HU_neg_070_b2"\t"HU_neg_038_b2"\t"HU_neg_026_b2"\t"QC1_006_b2"\t"HU_neg_098_b2"\t"HU_neg_115_b2"\t"HU_neg_137_b2"\t"HU_neg_019_b2"\t"HU_neg_073_b2"\t"HU_neg_168_b2"\t"HU_neg_191_b2"\t"HU_neg_040_b2"\t"HU_neg_046_b2"\t"QC1_007_b2"\t"HU_neg_103_b2"\t"HU_neg_015_b2"\t"HU_neg_053_b2"\t"HU_neg_121_b2"\t"HU_neg_183_b2"\t"HU_neg_199_b2"\t"HU_neg_042_b2"\t"HU_neg_075_b2"\t"QC1_008_b2"\t"HU_neg_203_b2"\t"HU_neg_024_b2"\t"HU_neg_082_b2"\t"HU_neg_169_b2"\t"HU_neg_129_b2"\t"HU_neg_057_b2"\t"HU_neg_035_b2"\t"HU_neg_194_b2"\t"HU_neg_145_b2"\t"HU_neg_104_b2"\t"QC1_009_b2"\t"HU_neg_177_b2"\t"HU_neg_025_b2"\t"HU_neg_080_b2"\t"HU_neg_117_b2"\t"HU_neg_136_b2"\t"HU_neg_197_b2"\t"HU_neg_036_b2"\t"HU_neg_054_b2"\t"HU_neg_085_b2"\t"QC1_010_b2"\t"HU_neg_160_b2"\t"HU_neg_092_b2"\t"HU_neg_023_b2"\t"HU_neg_124_b2"\t"HU_neg_147_b2"\t"HU_neg_205_b2"\t"HU_neg_084_b2"\t"HU_neg_120_b2"\t"HU_neg_198_b2"\t"QC1_011_b2"\t"HU_neg_045_b2"\t"HU_neg_029_b2"\t"HU_neg_069_b2"\t"HU_neg_155_b2"\t"HU_neg_106_b2"\t"HU_neg_146_b2"\t"HU_neg_128_b2"\t"QC1_012_b2"\n-"M53T345"\t42779.3721121841\t15074.1968224961\t27606.1785823935\t19852.1617880405\t52602.4518881409\t0\t79597.5040896563\t17656.125836332\t14442.9490502211\t138869.981260119\t32761.0927210332\t0\t122734.450361837\t0\t0\t166910.294593527\t156294.989437752\t202048.894588891\t109383.253873075\t0\t62456.6025907225\t39365.5200417267\t111628.134234755\t119125.737447368\t33089.1407089231\t101475.563434966\t0\t50574.1059385567\t97324.7117260035\t45957.8534136242\t0\t81739.3213397075\t68762.047406909\t58300.6616291019\t77304.0740671995\t39891.7167254028\t70113.9653518234\t324095.722803516\t133731.673403656\t75174.3515363374\t55077.1297019528\t97614.4270171876\t16451.936108592\t3356.88223480915\t129051.012407321\t19318.4607431544\t66489.3976696218\t0\t34952.655496657\t104405.718527173\t0\t0\t11376.4990687903\t201363.458875403\t53038.6002706044\t15623.3191735135\t15307.3858104395\t173125.271502381\t39311.9643483841\t42201.3471976341\t125605.094512501\t16850.0458863669\t77027.7156161'..b'4010.315983861\t5266.79917625168\t0\t7597.51546438219\t51561.6956682535\t37548.6933920918\t0\t33291.0445651875\t49732.0512893425\t3822.41876047632\n-"M65T347"\t0\t0\t0\t0\t22816.2146517542\t6711.4124020715\t0\t0\t0\t0\t0\t0\t0\t6827.16107890486\t5776.21918873859\t0\t0\t0\t0\t0\t0\t0\t0\t9192.7543566501\t0\t0\t0\t0\t0\t11298.3924632847\t3768.99515936009\t0\t0\t0\t11753.3843655266\t0\t39505.3248865409\t44269.6919677473\t0\t0\t8826.74729244849\t10724.0333629916\t0\t17517.5709635939\t11418.0855632288\t0\t0\t0\t22145.5919207218\t0\t0\t0\t0\t0\t8079.46865409031\t0\t0\t0\t0\t6648.72096684431\t0\t2736.8090995068\t0\t0\t24725.7135475714\t8079.18710674447\t11010.0936521117\t20035.7811451175\t17369.2800203013\t8357.40711287974\t0\t20195.0508866401\t0\t12493.3412654959\t0\t0\t0\t4612.63714368351\t0\t0\t9892.86309519511\t5619.55058184312\t0\t0\t5350.68060947637\t0\t8636.14255369592\t12850.5108369864\t1648.13392309397\t0\t6903.2091290772\t6011.07903621243\t0\t0\t0\t0\t4625.58362641909\t0\t6200.98290708415\t6014.03938294187\t6673.54666289923\t0\t0\t8770.13891015641\t0\t0\t0\t0\t13287.4583016197\t0\t0\t22979.0834304854\t0\t19493.3858666909\t0\t0\t0\t10183.3393261695\t0\t0\t10960.7706933713\t0\t0\t0\t0\t4119.21194052429\t0\t0\t11040.7493627059\t11212.1058784467\t0\t0\t0\t10079.3953926199\t0\t0\t5919.1069032068\t0\t0\t0\t36253.8846315991\t0\t6331.23425109825\t0\t39727.4700232424\t0\t0\t0\t0\t6404.36785176058\t8828.6867106941\t0\t0\t0\t17464.96634648\t5347.18878889966\t0\t0\t14161.958406247\t7787.6740345106\t0\t0\t10396.7619642628\t10480.0108960802\t15261.2586441881\t0\t0\t4622.68216378012\t0\t0\t0\t5637.51438290188\t0\t19864.0390382923\t8282.52477467977\t17547.9604567919\t0\t0\t0\t0\t0\t8175.36014323213\t0\t10010.4282380581\t0\t0\t0\t0\t29289.3981093544\t0\t0\t21938.3547210825\t0\t20620.3964855394\t0\t0\t0\t12054.7259115614\t0\t3847.01547151388\t0\t0\t0\t5867.66570966062\t5614.02871387193\t0\t0\t8784.04484503412\t5913.52931213673\t9033.61167449966\t11708.6283333598\t0\t0\t18934.8222750162\t0\t14570.4486964372\n-"M65T379"\t0\t0\t0\t0\t18699.5794174405\t0\t2518.8810360068\t0\t0\t7346.10484006272\t0\t0\t0\t0\t0\t2470.25453581087\t9947.04420971702\t3727.7546298617\t7415.56127904845\t3217.50908801231\t21723.2320507327\t0\t0\t54557.3026358469\t11820.4173518051\t31986.0163825779\t1642.95258799276\t0\t18058.5180549033\t10417.6940535011\t0\t27389.1744837152\t13242.1345892031\t0\t15946.2061533074\t0\t13272.6449825391\t34668.3809916985\t16045.2929844237\t15099.3153334144\t6138.67594324735\t14683.3954276462\t0\t9796.42030421765\t0\t0\t0\t0\t0\t25867.1142815881\t0\t0\t1391.13497465257\t0\t0\t0\t0\t24641.6704402189\t0\t0\t0\t0\t9297.80015848825\t18070.6035643595\t0\t0\t6616.13548755258\t20316.8794653808\t7129.36783672944\t0\t8673.01284702543\t0\t4290.09257045895\t1582.15801675308\t0\t0\t1375.71943038973\t0\t0\t1896.82958767271\t0\t0\t17119.8648570023\t0\t0\t0\t6053.88065373166\t4856.12325233303\t0\t9228.1298970727\t0\t1497.05100389418\t2577.74015395784\t0\t0\t0\t6352.48554609922\t0\t11077.865918902\t0\t0\t5596.45496171871\t0\t7117.24643520608\t10798.3158879205\t0\t0\t0\t9461.31604121372\t14199.3585021418\t0\t22420.6026273989\t13036.3674821417\t0\t0\t0\t0\t16338.431612293\t30128.5398162769\t9268.29237998942\t9426.72129038915\t0\t0\t0\t0\t13773.1060226101\t0\t19126.9575814141\t0\t0\t7973.90375953146\t14163.9195082871\t6058.59567913602\t5526.79166264928\t0\t0\t7703.56911077945\t0\t0\t6189.10864971328\t33452.5550298605\t0\t6472.6360666787\t6023.2717943611\t8489.09107955321\t6859.08927536239\t32033.355711207\t68858.3715859043\t0\t11889.5270702665\t10525.6542232235\t5127.7071579\t10223.4945537111\t24424.4591921982\t0\t0\t12102.9343357168\t16053.0465809994\t0\t0\t0\t34820.9455640214\t27132.2013814453\t11818.1286274253\t10032.3132256405\t5218.37212003157\t0\t15667.2971715828\t0\t0\t8287.57520813908\t0\t10726.6628530429\t5392.63789126053\t5977.04799694555\t13938.1183625378\t0\t2821.31995040749\t5911.38388778861\t0\t6540.1917804101\t8082.82735107367\t3951.17455307886\t4063.12730191024\t0\t10168.3310458211\t5889.51019295818\t0\t0\t4971.41734007462\t5243.43228768982\t5066.80476566118\t2773.24200769425\t0\t0\t4801.75130714306\t8928.70455995294\t6895.73126790376\t7824.00410561761\t5110.91012145999\t0\t15920.9256301352\t3715.17058814941\t6549.86367446174\t4400.19406611943\t0\t0\t3969.50604962136\t9284.6508917653\t11279.048542144\t4710.85200800878\t27828.3469400129\t14305.0627750295\t0\t31646.2973611278\t0\n'
b
diff -r f64656ae9ea4 -r 016780b192a6 runit/sacurine/sampleMetadata.tsv
--- a/runit/sacurine/sampleMetadata.tsv Sun Oct 09 09:54:00 2016 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,217 +0,0 @@
-sampleMetadata sampleType injectionOrder batch
-QC1_001 pool 14 ne1
-HU_neg_017 sample 17 ne1
-HU_neg_018 sample 18 ne1
-HU_neg_020 sample 19 ne1
-HU_neg_021 sample 20 ne1
-HU_neg_027 sample 22 ne1
-HU_neg_028 sample 23 ne1
-HU_neg_032 sample 25 ne1
-HU_neg_034 sample 26 ne1
-QC1_002 pool 27 ne1
-HU_neg_037 sample 32 ne1
-HU_neg_041 sample 34 ne1
-HU_neg_043 sample 36 ne1
-HU_neg_044 sample 37 ne1
-HU_neg_047 sample 38 ne1
-HU_neg_048 sample 39 ne1
-QC1_003 pool 40 ne1
-HU_neg_049 sample 43 ne1
-HU_neg_050 sample 44 ne1
-HU_neg_051 sample 45 ne1
-HU_neg_052 sample 46 ne1
-HU_neg_055 sample 48 ne1
-HU_neg_059 sample 50 ne1
-HU_neg_060 sample 51 ne1
-HU_neg_061 sample 52 ne1
-QC1_004 pool 53 ne1
-HU_neg_064 sample 57 ne1
-HU_neg_065 sample 58 ne1
-HU_neg_066 sample 59 ne1
-HU_neg_068 sample 60 ne1
-HU_neg_071 sample 61 ne1
-HU_neg_072 sample 62 ne1
-HU_neg_077 sample 64 ne1
-HU_neg_078 sample 65 ne1
-QC1_005 pool 66 ne1
-HU_neg_079 sample 69 ne1
-HU_neg_083 sample 70 ne1
-HU_neg_086 sample 72 ne1
-HU_neg_088 sample 73 ne1
-HU_neg_089 sample 74 ne1
-HU_neg_090 sample 75 ne1
-HU_neg_091 sample 76 ne1
-HU_neg_093 sample 77 ne1
-HU_neg_094 sample 78 ne1
-QC1_006 pool 79 ne1
-HU_neg_099 sample 83 ne1
-HU_neg_100 sample 84 ne1
-HU_neg_101 sample 85 ne1
-HU_neg_105 sample 86 ne1
-HU_neg_107 sample 87 ne1
-HU_neg_108 sample 88 ne1
-HU_neg_109 sample 89 ne1
-HU_neg_110 sample 90 ne1
-HU_neg_111 sample 91 ne1
-QC1_007 pool 92 ne1
-HU_neg_116 sample 96 ne1
-HU_neg_118 sample 98 ne1
-HU_neg_123 sample 100 ne1
-HU_neg_125 sample 102 ne1
-HU_neg_126 sample 103 ne1
-HU_neg_127 sample 104 ne1
-QC1_008 pool 105 ne1
-HU_neg_130 sample 109 ne1
-HU_neg_131 sample 110 ne1
-HU_neg_132 sample 111 ne1
-HU_neg_133 sample 112 ne1
-HU_neg_134 sample 113 ne1
-HU_neg_138 sample 117 ne1
-QC1_009 pool 118 ne1
-HU_neg_144 sample 124 ne1
-HU_neg_148 sample 128 ne1
-HU_neg_149 sample 129 ne1
-HU_neg_150 sample 130 ne1
-QC1_010 pool 131 ne1
-HU_neg_152 sample 134 ne1
-HU_neg_154 sample 135 ne1
-HU_neg_156 sample 136 ne1
-HU_neg_157 sample 137 ne1
-HU_neg_158 sample 138 ne1
-HU_neg_163 sample 140 ne1
-HU_neg_170 sample 142 ne1
-HU_neg_171 sample 143 ne1
-QC1_011 pool 144 ne1
-HU_neg_172 sample 147 ne1
-HU_neg_173 sample 148 ne1
-HU_neg_174 sample 149 ne1
-HU_neg_175 sample 150 ne1
-HU_neg_178 sample 152 ne1
-HU_neg_179 sample 153 ne1
-HU_neg_180 sample 154 ne1
-HU_neg_181 sample 155 ne1
-HU_neg_182 sample 156 ne1
-QC1_012 pool 157 ne1
-HU_neg_184 sample 160 ne1
-HU_neg_185 sample 161 ne1
-HU_neg_186 sample 162 ne1
-HU_neg_189 sample 164 ne1
-HU_neg_192 sample 165 ne1
-HU_neg_196 sample 167 ne1
-QC1_013 pool 171 ne1
-HU_neg_200 sample 174 ne1
-HU_neg_201 sample 175 ne1
-HU_neg_202 sample 176 ne1
-HU_neg_204 sample 177 ne1
-HU_neg_207 sample 179 ne1
-HU_neg_208 sample 180 ne1
-HU_neg_209 sample 181 ne1
-QC1_014 pool 185 ne1
-QC1_001_b2 pool 14 ne2
-HU_neg_022_b2 sample 17 ne2
-HU_neg_076_b2 sample 18 ne2
-HU_neg_166_b2 sample 19 ne2
-HU_neg_114_b2 sample 20 ne2
-HU_neg_190_b2 sample 21 ne2
-HU_neg_139_b2 sample 23 ne2
-HU_neg_096_b2 sample 24 ne2
-HU_neg_058_b2 sample 25 ne2
-HU_neg_031_b2 sample 26 ne2
-QC1_002_b2 pool 27 ne2
-HU_neg_039_b2 sample 30 ne2
-HU_neg_087_b2 sample 32 ne2
-HU_neg_143_b2 sample 33 ne2
-HU_neg_162_b2 sample 34 ne2
-HU_neg_102_b2 sample 35 ne2
-HU_neg_188_b2 sample 37 ne2
-HU_neg_095_b2 sample 38 ne2
-HU_neg_062_b2 sample 39 ne2
-QC1_003_b2 pool 40 ne2
-HU_neg_063_b2 sample 43 ne2
-HU_neg_011_b2 sample 44 ne2
-HU_neg_074_b2 sample 45 ne2
-HU_neg_122_b2 sample 46 ne2
-HU_neg_142_b2 sample 47 ne2
-HU_neg_030_b2 sample 48 ne2
-HU_neg_187_b2 sample 50 ne2
-HU_neg_167_b2 sample 51 ne2
-HU_neg_113_b2 sample 52 ne2
-QC1_004_b2 pool 53 ne2
-HU_neg_081_b2 sample 56 ne2
-HU_neg_014_b2 sample 57 ne2
-HU_neg_206_b2 sample 58 ne2
-HU_neg_119_b2 sample 59 ne2
-HU_neg_033_b2 sample 60 ne2
-HU_neg_067_b2 sample 61 ne2
-HU_neg_140_b2 sample 62 ne2
-HU_neg_164_b2 sample 63 ne2
-HU_neg_193_b2 sample 64 ne2
-HU_neg_112_b2 sample 65 ne2
-QC1_005_b2 pool 66 ne2
-HU_neg_097_b2 sample 69 ne2
-HU_neg_056_b2 sample 70 ne2
-HU_neg_195_b2 sample 71 ne2
-HU_neg_135_b2 sample 72 ne2
-HU_neg_159_b2 sample 73 ne2
-HU_neg_070_b2 sample 76 ne2
-HU_neg_038_b2 sample 77 ne2
-HU_neg_026_b2 sample 78 ne2
-QC1_006_b2 pool 79 ne2
-HU_neg_098_b2 sample 82 ne2
-HU_neg_115_b2 sample 83 ne2
-HU_neg_137_b2 sample 85 ne2
-HU_neg_019_b2 sample 86 ne2
-HU_neg_073_b2 sample 87 ne2
-HU_neg_168_b2 sample 88 ne2
-HU_neg_191_b2 sample 89 ne2
-HU_neg_040_b2 sample 90 ne2
-HU_neg_046_b2 sample 91 ne2
-QC1_007_b2 pool 92 ne2
-HU_neg_103_b2 sample 95 ne2
-HU_neg_015_b2 sample 96 ne2
-HU_neg_053_b2 sample 97 ne2
-HU_neg_121_b2 sample 99 ne2
-HU_neg_183_b2 sample 101 ne2
-HU_neg_199_b2 sample 102 ne2
-HU_neg_042_b2 sample 103 ne2
-HU_neg_075_b2 sample 104 ne2
-QC1_008_b2 pool 105 ne2
-HU_neg_203_b2 sample 108 ne2
-HU_neg_024_b2 sample 109 ne2
-HU_neg_082_b2 sample 110 ne2
-HU_neg_169_b2 sample 111 ne2
-HU_neg_129_b2 sample 112 ne2
-HU_neg_057_b2 sample 113 ne2
-HU_neg_035_b2 sample 114 ne2
-HU_neg_194_b2 sample 115 ne2
-HU_neg_145_b2 sample 116 ne2
-HU_neg_104_b2 sample 117 ne2
-QC1_009_b2 pool 118 ne2
-HU_neg_177_b2 sample 121 ne2
-HU_neg_025_b2 sample 123 ne2
-HU_neg_080_b2 sample 124 ne2
-HU_neg_117_b2 sample 125 ne2
-HU_neg_136_b2 sample 126 ne2
-HU_neg_197_b2 sample 127 ne2
-HU_neg_036_b2 sample 128 ne2
-HU_neg_054_b2 sample 129 ne2
-HU_neg_085_b2 sample 130 ne2
-QC1_010_b2 pool 131 ne2
-HU_neg_160_b2 sample 134 ne2
-HU_neg_092_b2 sample 136 ne2
-HU_neg_023_b2 sample 137 ne2
-HU_neg_124_b2 sample 138 ne2
-HU_neg_147_b2 sample 139 ne2
-HU_neg_205_b2 sample 140 ne2
-HU_neg_084_b2 sample 141 ne2
-HU_neg_120_b2 sample 142 ne2
-HU_neg_198_b2 sample 143 ne2
-QC1_011_b2 pool 144 ne2
-HU_neg_045_b2 sample 148 ne2
-HU_neg_029_b2 sample 149 ne2
-HU_neg_069_b2 sample 150 ne2
-HU_neg_155_b2 sample 151 ne2
-HU_neg_106_b2 sample 154 ne2
-HU_neg_146_b2 sample 155 ne2
-HU_neg_128_b2 sample 156 ne2
-QC1_012_b2 pool 157 ne2
b
diff -r f64656ae9ea4 -r 016780b192a6 runit/sacurine/variableMetadata.tsv
--- a/runit/sacurine/variableMetadata.tsv Sun Oct 09 09:54:00 2016 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,11 +0,0 @@
-"" "mz" "rt"
-"M53T345" 53.00116493 345.3902643
-"M58T69" 57.97545393 68.67242364
-"M59T246" 59.01359496 246.0306602
-"M59T62" 59.0137118 61.90072933
-"M59T270" 59.01362084 269.6233798
-"M62T56" 61.98819056 55.58308625
-"M64T348" 63.62063447 347.5012693
-"M64T379" 63.62063447 378.9359473
-"M65T347" 64.90244604 347.4115572
-"M65T379" 64.9028817 378.9130758
b
diff -r f64656ae9ea4 -r 016780b192a6 runit/sacurineNegFull/dataMatrix.tsv
--- a/runit/sacurineNegFull/dataMatrix.tsv Sun Oct 09 09:54:00 2016 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,3765 +0,0 @@\n-dataMatrix\tQC1_001\tHU_neg_017\tHU_neg_018\tHU_neg_020\tHU_neg_021\tHU_neg_027\tHU_neg_028\tHU_neg_032\tHU_neg_034\tQC1_002\tHU_neg_037\tHU_neg_041\tHU_neg_043\tHU_neg_044\tHU_neg_047\tHU_neg_048\tQC1_003\tHU_neg_049\tHU_neg_050\tHU_neg_051\tHU_neg_052\tHU_neg_055\tHU_neg_059\tHU_neg_060\tHU_neg_061\tQC1_004\tHU_neg_064\tHU_neg_065\tHU_neg_066\tHU_neg_068\tHU_neg_071\tHU_neg_072\tHU_neg_077\tHU_neg_078\tQC1_005\tHU_neg_079\tHU_neg_083\tHU_neg_086\tHU_neg_088\tHU_neg_089\tHU_neg_090\tHU_neg_091\tHU_neg_093\tHU_neg_094\tQC1_006\tHU_neg_099\tHU_neg_100\tHU_neg_101\tHU_neg_105\tHU_neg_107\tHU_neg_108\tHU_neg_109\tHU_neg_110\tHU_neg_111\tQC1_007\tHU_neg_116\tHU_neg_118\tHU_neg_123\tHU_neg_125\tHU_neg_126\tHU_neg_127\tQC1_008\tHU_neg_130\tHU_neg_131\tHU_neg_132\tHU_neg_133\tHU_neg_134\tHU_neg_138\tQC1_009\tHU_neg_144\tHU_neg_148\tHU_neg_149\tHU_neg_150\tQC1_010\tHU_neg_152\tHU_neg_154\tHU_neg_156\tHU_neg_157\tHU_neg_158\tHU_neg_163\tHU_neg_170\tHU_neg_171\tQC1_011\tHU_neg_172\tHU_neg_173\tHU_neg_174\tHU_neg_175\tHU_neg_178\tHU_neg_179\tHU_neg_180\tHU_neg_181\tHU_neg_182\tQC1_012\tHU_neg_184\tHU_neg_185\tHU_neg_186\tHU_neg_189\tHU_neg_192\tHU_neg_196\tQC1_013\tHU_neg_200\tHU_neg_201\tHU_neg_202\tHU_neg_204\tHU_neg_207\tHU_neg_208\tHU_neg_209\tQC1_014\tQC1_001_b2\tHU_neg_022_b2\tHU_neg_076_b2\tHU_neg_166_b2\tHU_neg_114_b2\tHU_neg_190_b2\tHU_neg_139_b2\tHU_neg_096_b2\tHU_neg_058_b2\tHU_neg_031_b2\tQC1_002_b2\tHU_neg_039_b2\tHU_neg_087_b2\tHU_neg_143_b2\tHU_neg_162_b2\tHU_neg_102_b2\tHU_neg_188_b2\tHU_neg_095_b2\tHU_neg_062_b2\tQC1_003_b2\tHU_neg_063_b2\tHU_neg_011_b2\tHU_neg_074_b2\tHU_neg_122_b2\tHU_neg_142_b2\tHU_neg_030_b2\tHU_neg_187_b2\tHU_neg_167_b2\tHU_neg_113_b2\tQC1_004_b2\tHU_neg_081_b2\tHU_neg_014_b2\tHU_neg_206_b2\tHU_neg_119_b2\tHU_neg_033_b2\tHU_neg_067_b2\tHU_neg_140_b2\tHU_neg_164_b2\tHU_neg_193_b2\tHU_neg_112_b2\tQC1_005_b2\tHU_neg_097_b2\tHU_neg_056_b2\tHU_neg_195_b2\tHU_neg_135_b2\tHU_neg_159_b2\tHU_neg_070_b2\tHU_neg_038_b2\tHU_neg_026_b2\tQC1_006_b2\tHU_neg_098_b2\tHU_neg_115_b2\tHU_neg_137_b2\tHU_neg_019_b2\tHU_neg_073_b2\tHU_neg_168_b2\tHU_neg_191_b2\tHU_neg_040_b2\tHU_neg_046_b2\tQC1_007_b2\tHU_neg_103_b2\tHU_neg_015_b2\tHU_neg_053_b2\tHU_neg_121_b2\tHU_neg_183_b2\tHU_neg_199_b2\tHU_neg_042_b2\tHU_neg_075_b2\tQC1_008_b2\tHU_neg_203_b2\tHU_neg_024_b2\tHU_neg_082_b2\tHU_neg_169_b2\tHU_neg_129_b2\tHU_neg_057_b2\tHU_neg_035_b2\tHU_neg_194_b2\tHU_neg_145_b2\tHU_neg_104_b2\tQC1_009_b2\tHU_neg_177_b2\tHU_neg_025_b2\tHU_neg_080_b2\tHU_neg_117_b2\tHU_neg_136_b2\tHU_neg_197_b2\tHU_neg_036_b2\tHU_neg_054_b2\tHU_neg_085_b2\tQC1_010_b2\tHU_neg_160_b2\tHU_neg_092_b2\tHU_neg_023_b2\tHU_neg_124_b2\tHU_neg_147_b2\tHU_neg_205_b2\tHU_neg_084_b2\tHU_neg_120_b2\tHU_neg_198_b2\tQC1_011_b2\tHU_neg_045_b2\tHU_neg_029_b2\tHU_neg_069_b2\tHU_neg_155_b2\tHU_neg_106_b2\tHU_neg_146_b2\tHU_neg_128_b2\tQC1_012_b2\n-M53T345\t42779.3721121841\t15074.1968224961\t27606.1785823935\t19852.1617880405\t52602.4518881409\t0\t79597.5040896563\t17656.125836332\t14442.9490502211\t138869.981260119\t32761.0927210332\t0\t122734.450361837\t0\t0\t166910.294593527\t156294.989437752\t202048.894588891\t109383.253873075\t0\t62456.6025907225\t39365.5200417267\t111628.134234755\t119125.737447368\t33089.1407089231\t101475.563434966\t0\t50574.1059385567\t97324.7117260035\t45957.8534136242\t0\t81739.3213397075\t68762.047406909\t58300.6616291019\t77304.0740671995\t39891.7167254028\t70113.9653518234\t324095.722803516\t133731.673403656\t75174.3515363374\t55077.1297019528\t97614.4270171876\t16451.936108592\t3356.88223480915\t129051.012407321\t19318.4607431544\t66489.3976696218\t0\t34952.655496657\t104405.718527173\t0\t0\t11376.4990687903\t201363.458875403\t53038.6002706044\t15623.3191735135\t15307.3858104395\t173125.271502381\t39311.9643483841\t42201.3471976341\t125605.094512501\t16850.0458863669\t77027.7156161627\t63418.8045298051\t57609.2944968765\t0\t0\t26759.0897120217\t41201.5764976749\t60003.2422350001\t71379.8656593745\t140488.02837844\t0\t0\t63904.6422756576\t0\t0\t46444.4472560159\t0\t133050.505744111\t71922.7087055791\t34024.8872562035\t23296.3697971045\t112248.821349943\t7281.80767734402\t80503.9282582037\t116853.454072959\t0\t15715.3656644528\t13501.1750853166\t0\t0\t34790.8383200151\t50903.4631485676\t18178.2822666866\t0\t19291.7543432818\t145864.0'..b'652\t1736.54998333124\t26630.5130567273\t34447.6192657358\t2721.39479725478\t20063.3124286636\t22790.4062505377\t15759.1064960767\t16615.6251962996\t46663.3899968332\t24940.0042792164\t42108.1442654425\t11342.0169928755\t48971.3100715244\t47925.3939427564\t52342.428452448\t4659.66451601056\t38610.0968054224\t36029.3645902509\t44914.4152565709\t13736.4110314566\t30129.2017297407\t0\t15542.2532153029\t34062.803596857\t31712.0656095523\t136186.200159458\t30497.1215522022\t240736.12391289\t26290.0968961246\t50887.2565286465\t25517.5165929329\t5812.20719970453\t20086.5588024179\t25717.6215396361\t150699.845510076\t45749.2857202302\t0\t12026.3062237598\t30666.0836324996\t27272.6291897601\t0\t42790.4491186526\t9263.89736670788\t9628.87487987745\t22254.353784702\t56097.7435969259\t37021.1570491933\t34793.1900174635\t7947.197119657\t12603.7112627351\t22129.5131249809\t31563.4506959462\t13888.2111675536\t23860.3751432875\t44210.9798012693\t27085.9054552736\t37820.9968558589\t13655.6435874282\t28740.6032497018\t21903.9702097995\t18731.3872910893\t0\t0\t21112.0391558496\t28644.6063144284\t0\t47070.2939154779\t12616.169793542\t18281.6892674902\t14058.6720957821\t5718.19736778722\t7028.08327978091\t8387.0657245046\t24446.8510393067\t31059.2215647653\t6027.5462660538\t17618.5688024824\t12456.2266594372\t0\t20768.3067446292\t5916.67592078244\t13362.9979371092\t39025.0250617624\t8694.78415421207\t6464.8029649323\t8624.56386864657\t11547.3545836952\t19086.569002881\t132707.384552217\t2271.09199835272\t15117.9556292723\t11663.2969613008\t14517.8240730574\t31442.3468252319\t14161.3867693846\t10922.7812127148\t17863.1531600937\t5129.12901978715\t0\t143832.599597673\t0\t0\t0\t0\t0\t0\t0\t0\t5582.98971717632\t0\t0\t0\t5919.68587463251\t0\t0\t3833.81755937\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t5265.52075794975\t0\t0\t0\t0\t0\t5594.4500519177\t0\t1397.76986630152\t7503.79748846679\t4397.38474912047\t4786.26178950873\t0\t0\t3363.18418123827\t0\t0\t0\t0\t0\t0\t0\t0\t2141.53574380668\t0\t0\t0\t0\t3173.75773866137\t0\t0\t0\t0\t0\t0\t0\t0\t4945.42463361881\t0\t0\t0\t0\t0\t2743.51886222929\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n-M966T378\t130076.990712944\t34544.0988858725\t138759.454898156\t29260.6658899765\t80950.981179491\t22725.6876765534\t211760.729115487\t70565.3377005916\t33851.7749077705\t12963.6525474603\t61717.829640484\t25810.3512860707\t128880.414657815\t48165.2288978368\t90027.2706175177\t114298.578574763\t9797.93525218411\t52792.8832729734\t17692.0707691707\t18287.8781794477\t70792.3459507311\t20418.6850011997\t77134.951118995\t290883.303878816\t48343.5797882552\t128211.374203016\t45891.2256213928\t152421.808052723\t56444.0220793638\t16589.0959563651\t38125.5636424191\t0\t11730.6708855881\t13060.718499278\t10008.6465725668\t55784.3253261056\t9551.0970753438\t46688.8241480634\t5671.43151686803\t0\t20551.2198233165\t0\t5447.10556748078\t45481.7840492754\t41970.7914821379\t42240.2250675171\t165964.881750309\t3389.97017016122\t58439.3158547725\t21213.6146296775\t26750.1543971155\t38573.2547261451\t97515.3164292101\t94262.2295151594\t138494.734724429\t93684.5031517805\t35753.6104119591\t39808.7301665399\t35083.6140903592\t44519.3248637359\t43752.0698951335\t110773.860240722\t0\t2271.19248383983\t0\t79706.0730725874\t29434.6221478269\t0\t27124.9726801164\t0\t24195.36538949\t0\t0\t22201.7959552441\t92437.3286315465\t58446.6271992182\t452.132223443153\t110325.69649626\t41746.9574921574\t6950.20112333296\t26022.4545829104\t5290.47341101878\t22730.4316439044\t4676.16838121544\t6735.66188813524\t61263.9778549048\t87034.8632131594\t3128.11703619123\t0\t24627.3202432552\t15891.0346555289\t47353.4130704524\t23428.4475273277\t45090.2551318489\t22784.2681206181\t18705.1177583394\t20555.7540548439\t29189.8785462842\t48348.2712526143\t3306.87051616329\t5396.66444336469\t7230.97201527049\t2666.6528568062\t89496.2377350447\t26609.6056674389\t2910.00661101999\t29424.1817376969\t40473.7697363512\t0\t0\t0\t0\t13509.1186215571\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t6049.14906052736\t9628.21333860449\t0\t0\t0\t0\t11404.7350881259\t0\t0\t7444.98522641363\t0\t0\t0\t0\t0\t0\t0\t5170.12070780272\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t9559.02851434078\t0\t0\n'
b
diff -r f64656ae9ea4 -r 016780b192a6 runit/sacurineNegFull/sampleMetadata.tsv
--- a/runit/sacurineNegFull/sampleMetadata.tsv Sun Oct 09 09:54:00 2016 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,217 +0,0 @@
-sampleMetadata sampleType injectionOrder batch
-QC1_001 pool 14 ne1
-HU_neg_017 sample 17 ne1
-HU_neg_018 sample 18 ne1
-HU_neg_020 sample 19 ne1
-HU_neg_021 sample 20 ne1
-HU_neg_027 sample 22 ne1
-HU_neg_028 sample 23 ne1
-HU_neg_032 sample 25 ne1
-HU_neg_034 sample 26 ne1
-QC1_002 pool 27 ne1
-HU_neg_037 sample 32 ne1
-HU_neg_041 sample 34 ne1
-HU_neg_043 sample 36 ne1
-HU_neg_044 sample 37 ne1
-HU_neg_047 sample 38 ne1
-HU_neg_048 sample 39 ne1
-QC1_003 pool 40 ne1
-HU_neg_049 sample 43 ne1
-HU_neg_050 sample 44 ne1
-HU_neg_051 sample 45 ne1
-HU_neg_052 sample 46 ne1
-HU_neg_055 sample 48 ne1
-HU_neg_059 sample 50 ne1
-HU_neg_060 sample 51 ne1
-HU_neg_061 sample 52 ne1
-QC1_004 pool 53 ne1
-HU_neg_064 sample 57 ne1
-HU_neg_065 sample 58 ne1
-HU_neg_066 sample 59 ne1
-HU_neg_068 sample 60 ne1
-HU_neg_071 sample 61 ne1
-HU_neg_072 sample 62 ne1
-HU_neg_077 sample 64 ne1
-HU_neg_078 sample 65 ne1
-QC1_005 pool 66 ne1
-HU_neg_079 sample 69 ne1
-HU_neg_083 sample 70 ne1
-HU_neg_086 sample 72 ne1
-HU_neg_088 sample 73 ne1
-HU_neg_089 sample 74 ne1
-HU_neg_090 sample 75 ne1
-HU_neg_091 sample 76 ne1
-HU_neg_093 sample 77 ne1
-HU_neg_094 sample 78 ne1
-QC1_006 pool 79 ne1
-HU_neg_099 sample 83 ne1
-HU_neg_100 sample 84 ne1
-HU_neg_101 sample 85 ne1
-HU_neg_105 sample 86 ne1
-HU_neg_107 sample 87 ne1
-HU_neg_108 sample 88 ne1
-HU_neg_109 sample 89 ne1
-HU_neg_110 sample 90 ne1
-HU_neg_111 sample 91 ne1
-QC1_007 pool 92 ne1
-HU_neg_116 sample 96 ne1
-HU_neg_118 sample 98 ne1
-HU_neg_123 sample 100 ne1
-HU_neg_125 sample 102 ne1
-HU_neg_126 sample 103 ne1
-HU_neg_127 sample 104 ne1
-QC1_008 pool 105 ne1
-HU_neg_130 sample 109 ne1
-HU_neg_131 sample 110 ne1
-HU_neg_132 sample 111 ne1
-HU_neg_133 sample 112 ne1
-HU_neg_134 sample 113 ne1
-HU_neg_138 sample 117 ne1
-QC1_009 pool 118 ne1
-HU_neg_144 sample 124 ne1
-HU_neg_148 sample 128 ne1
-HU_neg_149 sample 129 ne1
-HU_neg_150 sample 130 ne1
-QC1_010 pool 131 ne1
-HU_neg_152 sample 134 ne1
-HU_neg_154 sample 135 ne1
-HU_neg_156 sample 136 ne1
-HU_neg_157 sample 137 ne1
-HU_neg_158 sample 138 ne1
-HU_neg_163 sample 140 ne1
-HU_neg_170 sample 142 ne1
-HU_neg_171 sample 143 ne1
-QC1_011 pool 144 ne1
-HU_neg_172 sample 147 ne1
-HU_neg_173 sample 148 ne1
-HU_neg_174 sample 149 ne1
-HU_neg_175 sample 150 ne1
-HU_neg_178 sample 152 ne1
-HU_neg_179 sample 153 ne1
-HU_neg_180 sample 154 ne1
-HU_neg_181 sample 155 ne1
-HU_neg_182 sample 156 ne1
-QC1_012 pool 157 ne1
-HU_neg_184 sample 160 ne1
-HU_neg_185 sample 161 ne1
-HU_neg_186 sample 162 ne1
-HU_neg_189 sample 164 ne1
-HU_neg_192 sample 165 ne1
-HU_neg_196 sample 167 ne1
-QC1_013 pool 171 ne1
-HU_neg_200 sample 174 ne1
-HU_neg_201 sample 175 ne1
-HU_neg_202 sample 176 ne1
-HU_neg_204 sample 177 ne1
-HU_neg_207 sample 179 ne1
-HU_neg_208 sample 180 ne1
-HU_neg_209 sample 181 ne1
-QC1_014 pool 185 ne1
-QC1_001_b2 pool 14 ne2
-HU_neg_022_b2 sample 17 ne2
-HU_neg_076_b2 sample 18 ne2
-HU_neg_166_b2 sample 19 ne2
-HU_neg_114_b2 sample 20 ne2
-HU_neg_190_b2 sample 21 ne2
-HU_neg_139_b2 sample 23 ne2
-HU_neg_096_b2 sample 24 ne2
-HU_neg_058_b2 sample 25 ne2
-HU_neg_031_b2 sample 26 ne2
-QC1_002_b2 pool 27 ne2
-HU_neg_039_b2 sample 30 ne2
-HU_neg_087_b2 sample 32 ne2
-HU_neg_143_b2 sample 33 ne2
-HU_neg_162_b2 sample 34 ne2
-HU_neg_102_b2 sample 35 ne2
-HU_neg_188_b2 sample 37 ne2
-HU_neg_095_b2 sample 38 ne2
-HU_neg_062_b2 sample 39 ne2
-QC1_003_b2 pool 40 ne2
-HU_neg_063_b2 sample 43 ne2
-HU_neg_011_b2 sample 44 ne2
-HU_neg_074_b2 sample 45 ne2
-HU_neg_122_b2 sample 46 ne2
-HU_neg_142_b2 sample 47 ne2
-HU_neg_030_b2 sample 48 ne2
-HU_neg_187_b2 sample 50 ne2
-HU_neg_167_b2 sample 51 ne2
-HU_neg_113_b2 sample 52 ne2
-QC1_004_b2 pool 53 ne2
-HU_neg_081_b2 sample 56 ne2
-HU_neg_014_b2 sample 57 ne2
-HU_neg_206_b2 sample 58 ne2
-HU_neg_119_b2 sample 59 ne2
-HU_neg_033_b2 sample 60 ne2
-HU_neg_067_b2 sample 61 ne2
-HU_neg_140_b2 sample 62 ne2
-HU_neg_164_b2 sample 63 ne2
-HU_neg_193_b2 sample 64 ne2
-HU_neg_112_b2 sample 65 ne2
-QC1_005_b2 pool 66 ne2
-HU_neg_097_b2 sample 69 ne2
-HU_neg_056_b2 sample 70 ne2
-HU_neg_195_b2 sample 71 ne2
-HU_neg_135_b2 sample 72 ne2
-HU_neg_159_b2 sample 73 ne2
-HU_neg_070_b2 sample 76 ne2
-HU_neg_038_b2 sample 77 ne2
-HU_neg_026_b2 sample 78 ne2
-QC1_006_b2 pool 79 ne2
-HU_neg_098_b2 sample 82 ne2
-HU_neg_115_b2 sample 83 ne2
-HU_neg_137_b2 sample 85 ne2
-HU_neg_019_b2 sample 86 ne2
-HU_neg_073_b2 sample 87 ne2
-HU_neg_168_b2 sample 88 ne2
-HU_neg_191_b2 sample 89 ne2
-HU_neg_040_b2 sample 90 ne2
-HU_neg_046_b2 sample 91 ne2
-QC1_007_b2 pool 92 ne2
-HU_neg_103_b2 sample 95 ne2
-HU_neg_015_b2 sample 96 ne2
-HU_neg_053_b2 sample 97 ne2
-HU_neg_121_b2 sample 99 ne2
-HU_neg_183_b2 sample 101 ne2
-HU_neg_199_b2 sample 102 ne2
-HU_neg_042_b2 sample 103 ne2
-HU_neg_075_b2 sample 104 ne2
-QC1_008_b2 pool 105 ne2
-HU_neg_203_b2 sample 108 ne2
-HU_neg_024_b2 sample 109 ne2
-HU_neg_082_b2 sample 110 ne2
-HU_neg_169_b2 sample 111 ne2
-HU_neg_129_b2 sample 112 ne2
-HU_neg_057_b2 sample 113 ne2
-HU_neg_035_b2 sample 114 ne2
-HU_neg_194_b2 sample 115 ne2
-HU_neg_145_b2 sample 116 ne2
-HU_neg_104_b2 sample 117 ne2
-QC1_009_b2 pool 118 ne2
-HU_neg_177_b2 sample 121 ne2
-HU_neg_025_b2 sample 123 ne2
-HU_neg_080_b2 sample 124 ne2
-HU_neg_117_b2 sample 125 ne2
-HU_neg_136_b2 sample 126 ne2
-HU_neg_197_b2 sample 127 ne2
-HU_neg_036_b2 sample 128 ne2
-HU_neg_054_b2 sample 129 ne2
-HU_neg_085_b2 sample 130 ne2
-QC1_010_b2 pool 131 ne2
-HU_neg_160_b2 sample 134 ne2
-HU_neg_092_b2 sample 136 ne2
-HU_neg_023_b2 sample 137 ne2
-HU_neg_124_b2 sample 138 ne2
-HU_neg_147_b2 sample 139 ne2
-HU_neg_205_b2 sample 140 ne2
-HU_neg_084_b2 sample 141 ne2
-HU_neg_120_b2 sample 142 ne2
-HU_neg_198_b2 sample 143 ne2
-QC1_011_b2 pool 144 ne2
-HU_neg_045_b2 sample 148 ne2
-HU_neg_029_b2 sample 149 ne2
-HU_neg_069_b2 sample 150 ne2
-HU_neg_155_b2 sample 151 ne2
-HU_neg_106_b2 sample 154 ne2
-HU_neg_146_b2 sample 155 ne2
-HU_neg_128_b2 sample 156 ne2
-QC1_012_b2 pool 157 ne2
b
diff -r f64656ae9ea4 -r 016780b192a6 runit/sacurineNegFull/variableMetadata.tsv
--- a/runit/sacurineNegFull/variableMetadata.tsv Sun Oct 09 09:54:00 2016 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,3765 +0,0 @@\n-variableMetadata\tmz\trt\n-M53T345\t53.00116493\t345.3902643\n-M58T69\t57.97545393\t68.67242364\n-M59T246\t59.01359496\t246.0306602\n-M59T62\t59.0137118\t61.90072933\n-M59T270\t59.01362084\t269.6233798\n-M62T56\t61.98819056\t55.58308625\n-M64T348\t63.62063447\t347.5012693\n-M64T379\t63.62063447\t378.9359473\n-M65T347\t64.90244604\t347.4115572\n-M65T379\t64.9028817\t378.9130758\n-M66T348\t65.77665497\t347.9836541\n-M67T271\t67.01890623\t271.4153128\n-M67T348\t67.3765051\t348.2577627\n-M70T346\t69.98660212\t345.6794403\n-M70T380\t69.99090963\t380.4933666\n-M71T55\t70.94593863\t54.71591062\n-M71T64\t71.01366844\t63.73396493\n-M71T87\t71.01358948\t86.92523277\n-M73T55\t72.94294804\t54.75542171\n-M73T63\t72.99307596\t62.51757269\n-M73T62\t73.02944583\t62.47089773\n-M74T314\t74.02451425\t313.6331336\n-M74T367\t74.0247057\t367.0055278\n-M75T59\t75.00870751\t59.07627328\n-M76T348\t75.70279194\t347.8863924\n-M77T60\t77.00647163\t60.38586139\n-M79T348\t78.825445\t347.5720043\n-M79T54\t78.91861957\t54.00523908\n-M79T49\t78.9588594\t49.2836\n-M79T59\t78.98568339\t59.33841385\n-M80T379_1\t79.95715359\t378.7594073\n-M80T64\t80.46413288\t64.47188913\n-M80T348_1\t80.46402616\t347.7639173\n-M80T348_2\t80.47292643\t347.6801198\n-M80T379_2\t80.47386772\t379.011456\n-M80T348_3\t80.48048449\t348.0859004\n-M80T345\t80.49506282\t345.1323767\n-M80T378\t80.49509521\t378.1934282\n-M80T459\t80.49510745\t459.1677208\n-M80T312\t80.49511577\t311.6955972\n-M81T344\t80.9648646\t343.7212635\n-M81T378\t80.96483849\t377.8905566\n-M81T54\t80.97471493\t54.08601949\n-M82T54\t81.9778432\t54.02280491\n-M82T347\t82.14256619\t347.3387321\n-M83T496\t82.79515312\t495.8032296\n-M83T54\t82.97170627\t54.09302687\n-M83T302\t83.04993534\t301.8688285\n-M85T64\t85.02933348\t63.9614\n-M85T336\t85.06565866\t335.8432731\n-M86T348\t86.00543564\t348.1142898\n-M86T347\t86.01745772\t347.3148588\n-M86T378\t86.02069608\t377.938073\n-M87T63_1\t87.00867236\t63.47674397\n-M87T96\t87.00867236\t96.12375876\n-M87T63_2\t87.01851676\t62.92264729\n-M89T80\t89.02407236\t80.42772832\n-M89T380\t89.44064541\t380.4494022\n-M93T52\t92.92757619\t51.5339\n-M93T429\t93.03412879\t428.5477772\n-M93T317\t93.03416144\t316.7849361\n-M93T346\t93.45250499\t345.8070132\n-M93T378\t93.45151938\t378.0687489\n-M93T348\t93.46146022\t347.558573\n-M93T379\t93.4618996\t378.8051162\n-M94T318\t94.03775038\t317.7645185\n-M95T52\t94.92477318\t51.5339\n-M95T343\t95.05001157\t343.2047552\n-M95T314\t95.0498722\t314.179577\n-M97T52_1\t96.92172836\t51.5339\n-M97T61\t96.95981718\t60.90092183\n-M97T52_2\t96.96919814\t52.41750897\n-M97T55\t96.99827479\t55.01853021\n-M97T265\t97.02912402\t264.8616322\n-M98T345\t97.74618255\t345.0821487\n-M98T381\t97.75167469\t380.916267\n-M98T349\t97.75739229\t348.5090637\n-M98T379\t97.76161629\t378.9143251\n-M98T48\t97.95889496\t48.3145\n-M98T374\t98.00676576\t373.9582468\n-M99T61\t98.95541056\t60.91083087\n-M99T316\t99.04474492\t315.8454308\n-M99T295\t99.04485919\t294.8085845\n-M100T291\t100.0036341\t290.803162\n-M100T415\t100.0035933\t415.4985816\n-M100T312\t100.0038469\t312.0350277\n-M100T316\t100.048\t315.6982471\n-M101T379\t100.9017469\t378.741427\n-M101T386\t100.9161546\t386.4437022\n-M101T68\t100.9455921\t68.22400759\n-M101T63\t101.0239539\t63.4646519\n-M101T354\t101.0603052\t353.7142288\n-M101T305\t101.0603052\t304.9361758\n-M102T59\t102.0191834\t59.07076582\n-M102T346\t102.3464433\t346.0070936\n-M102T379_1\t102.3524333\t379.1881277\n-M102T347\t102.3566179\t347.0850151\n-M102T379_2\t102.3614138\t379.0826835\n-M103T51\t102.9564367\t50.74948262\n-M103T46\t102.9884198\t46.2278\n-M103T63\t103.0031848\t63.49270099\n-M103T148\t103.0395372\t148.2422506\n-M104T51_1\t103.9597604\t50.63255535\n-M104T51_2\t104.0347872\t51.31939816\n-M104T148\t104.0428072\t147.740313\n-M105T51\t104.9535299\t50.74814246\n-M105T57\t105.0191111\t57.46362002\n-M107T362\t107.0495737\t362.332354\n-M107T379\t107.0498912\t378.8416154\n-M107T263\t107.060875\t262.6358974\n-M107T345\t107.2813484\t345.3913702\n-M107T348\t107.2909167\t347.9773439\n-M108T420\t107.9322436\t419.8390472\n-M108T351\t107.9313962\t351.096323\n-M108T345\t107.9419116\t344.9645132\n-M108T419\t107.9432612\t418.5393982\n-M108T445\t107.949038\t444.9854269\n-M108T353\t107.9508898\t353.3438568\n-M108T56\t107.9932855\t55.569508\n-M108T334\t108.0214297\t334.3792229\n-M108T378\t108.0533735\t378.3337151'..b'119837\t348.2890749\n-M542T379_2\t541.7153624\t379.3989045\n-M542T348_2\t541.7200327\t347.6050823\n-M542T379_3\t541.7266593\t379.0405178\n-M542T345_3\t541.7358424\t345.0263616\n-M542T445\t542.267967\t445.0611625\n-M542T423\t542.2686381\t422.9212554\n-M542T531\t542.3032864\t531.0855869\n-M543T445\t543.2646211\t444.9450009\n-M543T406\t543.2795212\t406.3674015\n-M544T406\t544.2843813\t406.1535906\n-M545T387\t545.1403512\t386.7240759\n-M549T46\t548.8521775\t46.0274\n-M549T318\t549.1292389\t318.4035367\n-M550T419\t550.2293019\t419.3655221\n-M551T533\t551.2796505\t533.1980703\n-M552T308\t552.1358633\t307.5416282\n-M553T500\t553.2277358\t500.3765495\n-M553T558\t553.295706\t558.3515775\n-M555T439\t555.2816168\t438.5621628\n-M567T382\t567.1717137\t382.2424906\n-M567T500\t567.3173003\t499.7459701\n-M568T382\t568.1756244\t382.1447614\n-M571T335\t571.1120762\t334.6272213\n-M572T389\t572.2518773\t389.1738063\n-M583T357\t583.1590994\t357.2319399\n-M584T346_1\t584.0520932\t345.543254\n-M584T385_1\t584.051922\t385.152162\n-M584T345\t584.0681335\t345.1574408\n-M584T346_3\t584.1075222\t346.2689552\n-M584T348\t584.1268204\t348.216428\n-M584T382_1\t584.1320549\t382.4189953\n-M584T349\t584.1361443\t348.5388305\n-M584T385_2\t584.1437252\t385.4190279\n-M584T350\t584.1455059\t350.2048128\n-M584T347\t584.1727528\t347.3309562\n-M584T379\t584.1707071\t379.1586916\n-M589T415\t589.2402452\t414.7013218\n-M600T412\t600.2847066\t411.942279\n-M601T412\t601.2863317\t411.7217703\n-M605T364\t605.235761\t364.2831244\n-M606T385\t606.230721\t385.0551694\n-M613T489\t613.3597047\t488.6467656\n-M645T346\t644.6009746\t346.4165106\n-M645T345_1\t644.614729\t345.4809555\n-M645T345_2\t644.6271911\t345.0035123\n-M645T385\t644.6411207\t384.558869\n-M645T377\t644.6681799\t376.6597746\n-M645T340\t644.6692701\t339.9882676\n-M645T380_1\t644.6808203\t380.2547607\n-M645T348\t644.6907364\t348.2601186\n-M645T379\t644.6910003\t378.9088877\n-M645T380_2\t644.7017349\t380.262116\n-M645T347\t644.7011359\t347.4563434\n-M655T384\t654.7815778\t383.5116155\n-M655T346_1\t654.7875594\t346.1565999\n-M655T346_2\t654.8071594\t345.8639233\n-M655T347\t654.8696875\t346.6909513\n-M655T362\t654.8818385\t361.9402628\n-M655T349_2\t654.8964561\t348.7160211\n-M655T382\t654.8973722\t382.1923428\n-M655T350\t654.9070269\t350.0995684\n-M655T378\t654.9165305\t378.4444242\n-M661T346\t660.6580288\t345.5840924\n-M661T345\t660.6717624\t344.7805137\n-M661T380_1\t660.6793022\t379.6141126\n-M661T344\t660.6833319\t344.1125548\n-M661T381\t660.6890753\t381.3718139\n-M661T378\t660.698554\t377.7439624\n-M661T347\t660.7024073\t346.9587055\n-M661T379_2\t660.7086232\t378.5116474\n-M661T348_1\t660.7167111\t348.0522195\n-M661T384\t660.7277541\t383.7279892\n-M661T348_2\t660.7237684\t347.7953921\n-M661T64\t660.7282381\t63.9614\n-M661T492\t660.7295192\t492.4464404\n-M661T380_2\t660.7372286\t380.2055844\n-M661T348_3\t660.7411348\t348.4172551\n-M663T496\t663.358254\t495.9995234\n-M664T496\t664.3634922\t495.9656876\n-M665T496\t665.3661014\t495.8250413\n-M675T348\t674.5219245\t347.7732246\n-M691T414\t691.3192375\t413.8259391\n-M739T383\t739.1928352\t383.1075855\n-M739T345\t739.2068735\t345.4818557\n-M739T349\t739.2884463\t348.982097\n-M739T378\t739.2973274\t378.4734957\n-M739T384\t739.311926\t384.1400865\n-M739T350\t739.3219605\t349.5145495\n-M739T385\t739.3255628\t384.6345722\n-M739T415\t739.3302297\t415.4869624\n-M739T381_2\t739.340512\t381.3000948\n-M841T345_1\t841.0622734\t344.9885569\n-M841T360\t841.1058016\t360.2602957\n-M841T348_1\t841.1379379\t347.5290888\n-M841T348_2\t841.1458351\t347.7075958\n-M841T354\t841.1617513\t354.0608329\n-M841T351\t841.1762763\t351.1275027\n-M841T392\t841.1814747\t391.6130259\n-M841T380\t841.2057727\t379.9193309\n-M963T345\t962.9569465\t345.0073295\n-M963T380_1\t962.992191\t379.8706059\n-M963T347_1\t962.9892578\t347.3122238\n-M963T352\t963.0062228\t352.3150208\n-M963T386_1\t963.0174904\t385.8095085\n-M963T382\t963.0394044\t382.4916897\n-M963T348\t963.0528811\t347.8196414\n-M963T347_2\t963.0671308\t347.4335229\n-M963T380_2\t963.0751572\t379.8360573\n-M963T420\t963.0864512\t419.9155059\n-M965T346\t965.4865561\t345.8640232\n-M966T345_1\t965.5367206\t345.0036723\n-M966T384\t965.5657655\t384.1268666\n-M966T359\t965.6006151\t359.1538348\n-M966T350\t965.6326619\t349.9224923\n-M966T387\t965.6345904\t387.0076999\n-M966T378\t965.6652467\t377.5522914\n'
b
diff -r f64656ae9ea4 -r 016780b192a6 static/images/Vdk_pdf1.png
b
Binary file static/images/Vdk_pdf1.png has changed
b
diff -r f64656ae9ea4 -r 016780b192a6 static/images/Vdk_pdf2.png
b
Binary file static/images/Vdk_pdf2.png has changed
b
diff -r f64656ae9ea4 -r 016780b192a6 static/images/batch_correction.png
b
Binary file static/images/batch_correction.png has changed
b
diff -r f64656ae9ea4 -r 016780b192a6 static/images/determine_batch_correction.png
b
Binary file static/images/determine_batch_correction.png has changed
b
diff -r f64656ae9ea4 -r 016780b192a6 static/images/pdf_plotsituation.png
b
Binary file static/images/pdf_plotsituation.png has changed
b
diff -r f64656ae9ea4 -r 016780b192a6 test-data/input-batchcorrection-dataMatrix.tsv
--- a/test-data/input-batchcorrection-dataMatrix.tsv Sun Oct 09 09:54:00 2016 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,114 +0,0 @@\n-\tQC1_001\tHU_022\tHU_076\tHU_166\tHU_114\tHU_190\tHU_139\tHU_096\tHU_058\tHU_031\tQC1_002\tHU_039\tHU_087\tHU_143\tHU_162\tHU_102\tHU_188\tHU_095\tHU_062\tQC1_003\tHU_063\tHU_011\tHU_074\tHU_122\tHU_142\tHU_030\tHU_187\tHU_167\tHU_113\tQC1_004\tHU_081\tHU_014\tHU_206\tHU_119\tHU_033\tHU_067\tHU_140\tHU_164\tHU_193\tHU_112\tQC1_005\tHU_097\tHU_056\tHU_195\tHU_135\tHU_159\tHU_070\tHU_038\tHU_026\tQC1_006\tHU_098\tHU_115\tHU_137\tHU_019\tHU_073\tHU_168\tHU_191\tHU_040\tHU_046\tQC1_007\tHU_103\tHU_015\tHU_053\tHU_121\tHU_183\tHU_199\tHU_042\tHU_075\tQC1_008\tHU_203\tHU_024\tHU_082\tHU_169\tHU_129\tHU_057\tHU_035\tHU_194\tHU_145\tHU_104\tQC1_009\tHU_177\tHU_025\tHU_080\tHU_117\tHU_136\tHU_197\tHU_036\tHU_054\tHU_085\tQC1_010\tHU_160\tHU_092\tHU_023\tHU_124\tHU_147\tHU_205\tHU_084\tHU_120\tHU_198\tQC1_011\tHU_045\tHU_029\tHU_069\tHU_155\tHU_106\tHU_146\tHU_128\tQC1_012\n-met_001\t34046147\t29268048\t43765299\t44375419\t50601116\t4832613\t40454119\t8126\t19479962\t11235683\t33064844\t75260138\t36891690\t17466250\t74160059\t32122101\t5238560\t30163448\t10216046\t31450577\t17301601\t11549910\t12734389\t54057483\t3488082\t24301846\t2046492\t23004592\t9579482\t30075694\t7571631\t5257922\t60032654\t15725469\t42794552\t12202672\t10427301\t17332850\t2558158\t66102394\t29666404\t34174908\t36717068\t24271602\t36414651\t37145056\t20074559\t1865267\t5837544\t27608715\t38999155\t21669105\t14372963\t36030678\t24509866\t1906953\t15589584\t18219005\t25991397\t25068509\t21518123\t17608775\t6613249\t4124652\t30008362\t7839717\t16104411\t36946332\t23198059\t6151472\t23334545\t18392766\t27331396\t30774819\t18461787\t42246522\t20479189\t28817403\t27674313\t21703591\t17170407\t13809778\t11188751\t14478896\t8256694\t2771227\t47261207\t21462355\t24438964\t19424590\t379608\t17107855\t14512991\t31446516\t24437179\t18499953\t16786178\t1370420\t23336305\t18279598\t9162668\t29590881\t24605602\t13020657\t30919250\t16843645\t42298126\t15320951\n-met_002\t25505104\t13027974\t32763597\t34730095\t33371485\t1895066\t27495574\t59974\t13416309\t7415642\t23483152\t56144021\t29010226\t13269573\t61487618\t21195395\t3379894\t23790609\t4902552\t23924391\t10425200\t5914542\t10652705\t32854120\t835047\t13453508\t1274458\t22515044\t4126230\t22230978\t1786393\t3285537\t42606906\t22882567\t35048135\t9125465\t3968320\t10918248\t2767218\t40862097\t20287479\t21966458\t30969969\t17039420\t20122412\t28288256\t13281775\t1926605\t10855072\t19582666\t28740009\t14276670\t8544427\t28305898\t17921960\t1108003\t15397507\t12237865\t16183896\t17724624\t12764878\t19325552\t5978795\t2327941\t19932606\t3940696\t8131604\t27569944\t16730669\t4383418\t15424544\t10734487\t33257422\t21428567\t10875162\t33291902\t12687175\t13724743\t17750641\t15859004\t7722135\t10212514\t5089001\t10323782\t5299453\t529447\t39682428\t18277950\t17763884\t14171656\t997710\t14321798\t12297861\t15992338\t26897819\t12146700\t13597912\t256757\t14051155\t13070239\t6274244\t20895482\t17767113\t13249946\t20766019\t15026075\t25876196\t11032203\n-met_003\t5892635\t10312094\t7821772\t11024697\t11099724\t211356\t15572436\tNA\t5081385\t1287012\t7083236\t11463946\t10268577\t3466442\t16572946\t7596396\t515301\t5605033\t1166691\t6692258\t5258935\t1120354\t2768153\t17622620\t100138\t5657045\t155546\t3993478\t895432\t6630262\t1160086\t1398006\t20292345\t8345069\t9496638\t2281112\t1622765\t559527\t1169164\t24371841\t6010179\t5988080\t6808771\t4430121\t6994393\t13311751\t5318285\t783176\t353306\t5788416\t6714250\t6043357\t3119950\t4761136\t4840500\t316705\t2576605\t4562242\t7534703\t5546336\t3149195\t2525989\t2463379\t413059\t4398279\t855987\t2243033\t6719671\t4189278\t1103830\t3718953\t5441941\t4324385\t9454992\t5764607\t7703610\t7439304\t5651876\t5810300\t4075671\t5884945\t2071030\t822119\t2324725\t1072516\t75496\t15134893\t4124869\t5293399\t3395800\tNA\t2578641\t5179943\t5878251\t8146783\t4702730\t2191032\t34289\t4192685\t3234808\t2907002\t8592351\t5858938\t1541012\t10652067\t3600540\t11259836\t2932946\n-met_004\t22027726\t28338717\t19767257\t776755\t29237805\t551519\t43361691\t17669\t24178241\t2483160\t22961817\t36696085\t29568489\t12694039\t38098794\t28957490\t4548936\t21546827\t8439927\t23754498\t19390563\t2410036\t15610073\t48462830\t743472\t12281479\t957970\t22957209\t3382722\t23184843\t3152846\t6026857\t29934738\t37430772\t28469408\t6392048\t3956769\t18521915\t6448619\t58495251\t21643123\t15824960\t24311549\t14867509\t14415999\t39238537\t19313537\t4269597\t14077517\t20163043\t27340905\t24'..b'491\t31448100\t34659066\t28767624\t25600071\t15859089\t27835970\t27390922\t41203737\t20498119\t24452585\t19528858\t38827573\t19668360\t36226070\t20834484\t23959078\t24861056\t26613170\t19267218\t29521876\t24702382\t22611875\t27200384\t24013133\t8211817\t19321158\t25053327\t21309585\t26111146\t22752518\t23678180\t14152377\t18368970\t20070120\t25344880\t23708432\t24308059\t21954805\t17310020\t15790465\t18113923\t15887568\t21212232\t24847089\t26846871\t21379272\t16591716\t20216215\t26495026\t9555821\t25623659\t22300532\t19302590\t32540833\t38044859\t18732489\t20874060\t25502870\t19077479\t27777050\t38317810\t11205446\t23184858\t22056757\t19844415\t20832666\t18822607\t22767829\t20416588\t14459562\t18594833\t20083706\t24380208\t11525928\t16313321\t14407791\t17369758\t14005534\t14258891\t13852000\t11087898\t24969299\t15806268\t16899211\t15920144\n-met_110\t935810\t216794\t1250664\t961929\t322675\t358002\t748600\t1860981\t1018669\t502991\t684506\t319659\t372075\t435408\t271584\t134703\t303433\t660710\t497665\t545837\t562326\t294841\t768892\t810960\t1051193\t334380\t415293\t274518\t1024104\t541427\t301845\t328083\t257992\t599182\t440881\t228402\t425882\t556153\t473391\t796559\t433075\t637036\t502610\t252290\t878377\t318451\t806407\t240703\t431264\t364408\t432337\t490946\t495207\t557849\t481367\t240800\t239131\t552620\t296097\t325675\t299775\t538890\t129963\t202343\t159717\t524611\t659238\t837602\t401479\t347983\t286154\t405225\t113652\t522101\t168009\t185467\t508620\t217008\t189382\t300949\t181027\t293385\t593884\t707190\t86552\t667494\t119244\t290894\t850008\t307178\t409093\t223301\t101862\t205697\t38427\t209271\t69666\t182736\t247482\t273165\t123847\t387771\t325480\t44799\t104296\t295313\t155240\t212170\n-met_111\t1043674\t783394\t569047\t2884257\t2457038\t2025231\t2245847\tNA\t576988\t636282\t1109803\t511108\t1986572\t950755\t453817\t673562\t345902\t1199314\t673490\t1088285\t1650159\t548818\t673318\t1350162\t1955525\t740092\t273505\t467277\t2262955\t1064977\t2870714\t199436\t422478\t991340\t2525718\t798722\t179006\t619100\t874665\t3040034\t996244\t329299\t679032\t733260\t2162571\t528686\t219519\t138708\t740267\t940086\t736191\t703043\t1639741\t433247\t2081907\t705395\t1089016\t1249615\t789518\t854281\t424305\t719392\t258294\t813349\t666412\t1123188\t524519\t910137\t742428\t1482493\t1050502\t1019270\t846205\t398868\t409318\t832274\t122817\t1372087\t902737\t753444\t1261485\t1138611\t1159395\t680881\t111575\t2005973\t748730\t797783\t815843\t601216\t897182\t1159520\t207899\t606512\t1051255\t493530\t299954\t651714\t315358\t558515\t255169\t338669\t832857\t218229\t649477\t415127\t1274096\t494555\n-met_112\t6419071\t2797128\t4299074\t11909792\t6115103\t3096009\t8035572\tNA\t3259089\t6395447\t5049944\t4099603\t7256757\t5080926\t3738872\t2566634\t1719671\t4297409\t5324570\t4873112\t7648125\t1910687\t5439846\t4340784\t7283405\t3178504\t1547866\t3074074\t6191537\t4916409\t8943211\t1784458\t4200543\t4136622\t7786416\t4378240\t2608290\t2992852\t4462941\t9689440\t4286272\t2686538\t2745539\t4160961\t7108278\t2547671\t2212921\t992136\t3451416\t4253840\t4661221\t2464180\t4009317\t3451266\t9045261\t2681403\t3260592\t5840008\t2611730\t4002414\t3128586\t4061269\t875155\t2993219\t4222945\t4810052\t3599437\t6386359\t4087475\t5853004\t2845191\t5015241\t5255266\t2977940\t4272008\t7251435\t3019276\t3081894\t2290972\t3841186\t3298124\t3942297\t7512978\t3936963\t796120\t7537291\t3841541\t4596420\t5044950\t3496643\t2341361\t6304734\t1369143\t4345921\t3364143\t3282371\t2017426\t2744678\t5320910\t3371583\t1340912\t2186105\t3792760\t2150395\t4931386\t2886649\t3159267\t2835997\n-met_113\t1351348\t1546452\t704498\t1178543\t1910776\t2419982\t1730728\tNA\t1518760\t1292032\t1333917\t1256258\t974162\t519797\t2540508\t976266\t328769\t1916054\t1273384\t1345103\t2028673\t740657\t1759018\t2037601\t1797824\t1183570\t281005\t210403\t2013482\t1157284\t2890251\t473682\t1397064\t922962\t1608440\t785419\t836119\t552727\t996652\t1314640\t1080507\t941223\t1069492\t492963\t1146686\t413720\t1146636\t106708\t428730\t1153669\t682704\t1685395\t1027646\t673104\t762161\t230163\t984144\t741438\t962147\t954327\t887638\t721180\t215275\t364352\t353548\t991113\t1975188\t1308883\t919371\t525484\t489779\t945717\t86415\t409383\t910262\t1155717\t1527056\t1552890\t374555\t863254\t831837\t632228\t1534291\t1054678\t104907\t1181832\t570191\t1181392\t710672\t765250\t157618\t799343\t352504\t730991\t12561534\t1127759\t317084\t828816\t772629\t761105\t256288\t491981\t517417\t208846\t2334220\t563581\t849860\t654635\n'
b
diff -r f64656ae9ea4 -r 016780b192a6 test-data/input-batchcorrection-sampleMetadata.tsv
--- a/test-data/input-batchcorrection-sampleMetadata.tsv Sun Oct 09 09:54:00 2016 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,109 +0,0 @@
- injectionOrder sampleType batch
-QC1_001 1 pool b1
-HU_022 2 sample b1
-HU_076 3 sample b1
-HU_166 4 sample b1
-HU_114 5 sample b1
-HU_190 6 sample b1
-HU_139 7 sample b1
-HU_096 8 sample b1
-HU_058 9 sample b1
-HU_031 10 sample b1
-QC1_002 11 pool b1
-HU_039 12 sample b1
-HU_087 13 sample b1
-HU_143 14 sample b1
-HU_162 15 sample b1
-HU_102 16 sample b1
-HU_188 17 sample b1
-HU_095 18 sample b1
-HU_062 19 sample b1
-QC1_003 20 pool b1
-HU_063 21 sample b1
-HU_011 22 sample b1
-HU_074 23 sample b1
-HU_122 24 sample b1
-HU_142 25 sample b1
-HU_030 26 sample b1
-HU_187 27 sample b1
-HU_167 28 sample b1
-HU_113 29 sample b1
-QC1_004 30 pool b1
-HU_081 31 sample b1
-HU_014 32 sample b1
-HU_206 33 sample b1
-HU_119 34 sample b1
-HU_033 35 sample b1
-HU_067 36 sample b1
-HU_140 37 sample b1
-HU_164 38 sample b1
-HU_193 39 sample b1
-HU_112 40 sample b1
-QC1_005 41 pool b1
-HU_097 42 sample b1
-HU_056 43 sample b1
-HU_195 44 sample b1
-HU_135 45 sample b1
-HU_159 46 sample b1
-HU_070 47 sample b1
-HU_038 48 sample b1
-HU_026 49 sample b1
-QC1_006 50 pool b1
-HU_098 51 sample b1
-HU_115 52 sample b1
-HU_137 53 sample b1
-HU_019 54 sample b1
-HU_073 55 sample b1
-HU_168 56 sample b1
-HU_191 57 sample b1
-HU_040 58 sample b1
-HU_046 59 sample b1
-QC1_007 60 pool b1
-HU_103 61 sample b1
-HU_015 62 sample b1
-HU_053 63 sample b1
-HU_121 64 sample b1
-HU_183 65 sample b1
-HU_199 66 sample b1
-HU_042 67 sample b1
-HU_075 68 sample b1
-QC1_008 69 pool b1
-HU_203 70 sample b1
-HU_024 71 sample b1
-HU_082 72 sample b1
-HU_169 73 sample b1
-HU_129 74 sample b1
-HU_057 75 sample b1
-HU_035 76 sample b1
-HU_194 77 sample b1
-HU_145 78 sample b1
-HU_104 79 sample b1
-QC1_009 80 pool b1
-HU_177 81 sample b1
-HU_025 82 sample b1
-HU_080 83 sample b1
-HU_117 84 sample b1
-HU_136 85 sample b1
-HU_197 86 sample b1
-HU_036 87 sample b1
-HU_054 88 sample b1
-HU_085 89 sample b1
-QC1_010 90 pool b1
-HU_160 91 sample b1
-HU_092 92 sample b1
-HU_023 93 sample b1
-HU_124 94 sample b1
-HU_147 95 sample b1
-HU_205 96 sample b1
-HU_084 97 sample b1
-HU_120 98 sample b1
-HU_198 99 sample b1
-QC1_011 100 pool b1
-HU_045 101 sample b1
-HU_029 102 sample b1
-HU_069 103 sample b1
-HU_155 104 sample b1
-HU_106 105 sample b1
-HU_146 106 sample b1
-HU_128 107 sample b1
-QC1_012 108 pool b1
b
diff -r f64656ae9ea4 -r 016780b192a6 test-data/input-batchcorrection-variableMetadata.tsv
--- a/test-data/input-batchcorrection-variableMetadata.tsv Sun Oct 09 09:54:00 2016 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,114 +0,0 @@
- number MSI_level
-met_001 1 1
-met_002 2 1
-met_003 3 1
-met_004 4 1
-met_005 5 2
-met_006 6 1
-met_007 7 1
-met_008 8 1
-met_009 9 1
-met_010 10 1
-met_011 11 2
-met_012 12 1
-met_013 13 1
-met_014 14 1
-met_015 15 1
-met_016 16 1
-met_017 17 2
-met_018 18 1
-met_019 19 1
-met_020 20 1
-met_021 21 1
-met_022 22 2
-met_023 23 1
-met_024 24 2
-met_025 25 2
-met_026 26 1
-met_027 27 1
-met_028 28 1
-met_029 29 1
-met_030 30 2
-met_031 31 1
-met_032 32 2
-met_033 33 1
-met_034 34 1
-met_035 35 2
-met_036 36 1
-met_037 37 2
-met_038 38 2
-met_039 39 2
-met_040 40 2
-met_041 41 1
-met_042 42 1
-met_043 43 2
-met_044 44 2
-met_045 45 1
-met_046 46 1
-met_047 47 2
-met_048 48 1
-met_049 49 1
-met_050 50 1
-met_051 51 2
-met_052 52 2
-met_053 53 1
-met_054 54 2
-met_055 55 2
-met_056 56 2
-met_057 57 2
-met_058 58 1
-met_059 59 2
-met_060 60 2
-met_061 61 2
-met_062 62 2
-met_063 63 2
-met_064 64 1
-met_065 65 1
-met_066 66 2
-met_067 67 2
-met_068 68 2
-met_069 69 1
-met_070 70 2
-met_071 71 2
-met_072 72 2
-met_073 73 1
-met_074 74 1
-met_075 75 1
-met_076 76 2
-met_077 77 2
-met_078 78 2
-met_079 79 2
-met_080 80 2
-met_081 81 2
-met_082 82 1
-met_083 83 1
-met_084 84 1
-met_085 85 1
-met_086 86 1
-met_087 87 1
-met_088 88 2
-met_089 89 2
-met_090 90 1
-met_091 91 1
-met_092 92 1
-met_093 93 2
-met_094 94 2
-met_095 95 2
-met_096 96 1
-met_097 97 1
-met_098 98 2
-met_099 99 2
-met_100 100 2
-met_101 101 1
-met_102 102 1
-met_103 103 1
-met_104 104 1
-met_105 105 2
-met_106 106 1
-met_107 107 2
-met_108 108 2
-met_109 109 2
-met_110 110 1
-met_111 111 2
-met_112 112 2
-met_113 113 1
b
diff -r f64656ae9ea4 -r 016780b192a6 test-data/input-determinebc-dataMatrix.tsv
--- a/test-data/input-determinebc-dataMatrix.tsv Sun Oct 09 09:54:00 2016 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,11 +0,0 @@\n-""\t"QC1_001"\t"HU_neg_017"\t"HU_neg_018"\t"HU_neg_020"\t"HU_neg_021"\t"HU_neg_027"\t"HU_neg_028"\t"HU_neg_032"\t"HU_neg_034"\t"QC1_002"\t"HU_neg_037"\t"HU_neg_041"\t"HU_neg_043"\t"HU_neg_044"\t"HU_neg_047"\t"HU_neg_048"\t"QC1_003"\t"HU_neg_049"\t"HU_neg_050"\t"HU_neg_051"\t"HU_neg_052"\t"HU_neg_055"\t"HU_neg_059"\t"HU_neg_060"\t"HU_neg_061"\t"QC1_004"\t"HU_neg_064"\t"HU_neg_065"\t"HU_neg_066"\t"HU_neg_068"\t"HU_neg_071"\t"HU_neg_072"\t"HU_neg_077"\t"HU_neg_078"\t"QC1_005"\t"HU_neg_079"\t"HU_neg_083"\t"HU_neg_086"\t"HU_neg_088"\t"HU_neg_089"\t"HU_neg_090"\t"HU_neg_091"\t"HU_neg_093"\t"HU_neg_094"\t"QC1_006"\t"HU_neg_099"\t"HU_neg_100"\t"HU_neg_101"\t"HU_neg_105"\t"HU_neg_107"\t"HU_neg_108"\t"HU_neg_109"\t"HU_neg_110"\t"HU_neg_111"\t"QC1_007"\t"HU_neg_116"\t"HU_neg_118"\t"HU_neg_123"\t"HU_neg_125"\t"HU_neg_126"\t"HU_neg_127"\t"QC1_008"\t"HU_neg_130"\t"HU_neg_131"\t"HU_neg_132"\t"HU_neg_133"\t"HU_neg_134"\t"HU_neg_138"\t"QC1_009"\t"HU_neg_144"\t"HU_neg_148"\t"HU_neg_149"\t"HU_neg_150"\t"QC1_010"\t"HU_neg_152"\t"HU_neg_154"\t"HU_neg_156"\t"HU_neg_157"\t"HU_neg_158"\t"HU_neg_163"\t"HU_neg_170"\t"HU_neg_171"\t"QC1_011"\t"HU_neg_172"\t"HU_neg_173"\t"HU_neg_174"\t"HU_neg_175"\t"HU_neg_178"\t"HU_neg_179"\t"HU_neg_180"\t"HU_neg_181"\t"HU_neg_182"\t"QC1_012"\t"HU_neg_184"\t"HU_neg_185"\t"HU_neg_186"\t"HU_neg_189"\t"HU_neg_192"\t"HU_neg_196"\t"QC1_013"\t"HU_neg_200"\t"HU_neg_201"\t"HU_neg_202"\t"HU_neg_204"\t"HU_neg_207"\t"HU_neg_208"\t"HU_neg_209"\t"QC1_014"\t"QC1_001_b2"\t"HU_neg_022_b2"\t"HU_neg_076_b2"\t"HU_neg_166_b2"\t"HU_neg_114_b2"\t"HU_neg_190_b2"\t"HU_neg_139_b2"\t"HU_neg_096_b2"\t"HU_neg_058_b2"\t"HU_neg_031_b2"\t"QC1_002_b2"\t"HU_neg_039_b2"\t"HU_neg_087_b2"\t"HU_neg_143_b2"\t"HU_neg_162_b2"\t"HU_neg_102_b2"\t"HU_neg_188_b2"\t"HU_neg_095_b2"\t"HU_neg_062_b2"\t"QC1_003_b2"\t"HU_neg_063_b2"\t"HU_neg_011_b2"\t"HU_neg_074_b2"\t"HU_neg_122_b2"\t"HU_neg_142_b2"\t"HU_neg_030_b2"\t"HU_neg_187_b2"\t"HU_neg_167_b2"\t"HU_neg_113_b2"\t"QC1_004_b2"\t"HU_neg_081_b2"\t"HU_neg_014_b2"\t"HU_neg_206_b2"\t"HU_neg_119_b2"\t"HU_neg_033_b2"\t"HU_neg_067_b2"\t"HU_neg_140_b2"\t"HU_neg_164_b2"\t"HU_neg_193_b2"\t"HU_neg_112_b2"\t"QC1_005_b2"\t"HU_neg_097_b2"\t"HU_neg_056_b2"\t"HU_neg_195_b2"\t"HU_neg_135_b2"\t"HU_neg_159_b2"\t"HU_neg_070_b2"\t"HU_neg_038_b2"\t"HU_neg_026_b2"\t"QC1_006_b2"\t"HU_neg_098_b2"\t"HU_neg_115_b2"\t"HU_neg_137_b2"\t"HU_neg_019_b2"\t"HU_neg_073_b2"\t"HU_neg_168_b2"\t"HU_neg_191_b2"\t"HU_neg_040_b2"\t"HU_neg_046_b2"\t"QC1_007_b2"\t"HU_neg_103_b2"\t"HU_neg_015_b2"\t"HU_neg_053_b2"\t"HU_neg_121_b2"\t"HU_neg_183_b2"\t"HU_neg_199_b2"\t"HU_neg_042_b2"\t"HU_neg_075_b2"\t"QC1_008_b2"\t"HU_neg_203_b2"\t"HU_neg_024_b2"\t"HU_neg_082_b2"\t"HU_neg_169_b2"\t"HU_neg_129_b2"\t"HU_neg_057_b2"\t"HU_neg_035_b2"\t"HU_neg_194_b2"\t"HU_neg_145_b2"\t"HU_neg_104_b2"\t"QC1_009_b2"\t"HU_neg_177_b2"\t"HU_neg_025_b2"\t"HU_neg_080_b2"\t"HU_neg_117_b2"\t"HU_neg_136_b2"\t"HU_neg_197_b2"\t"HU_neg_036_b2"\t"HU_neg_054_b2"\t"HU_neg_085_b2"\t"QC1_010_b2"\t"HU_neg_160_b2"\t"HU_neg_092_b2"\t"HU_neg_023_b2"\t"HU_neg_124_b2"\t"HU_neg_147_b2"\t"HU_neg_205_b2"\t"HU_neg_084_b2"\t"HU_neg_120_b2"\t"HU_neg_198_b2"\t"QC1_011_b2"\t"HU_neg_045_b2"\t"HU_neg_029_b2"\t"HU_neg_069_b2"\t"HU_neg_155_b2"\t"HU_neg_106_b2"\t"HU_neg_146_b2"\t"HU_neg_128_b2"\t"QC1_012_b2"\n-"M53T345"\t42779.3721121841\t15074.1968224961\t27606.1785823935\t19852.1617880405\t52602.4518881409\t0\t79597.5040896563\t17656.125836332\t14442.9490502211\t138869.981260119\t32761.0927210332\t0\t122734.450361837\t0\t0\t166910.294593527\t156294.989437752\t202048.894588891\t109383.253873075\t0\t62456.6025907225\t39365.5200417267\t111628.134234755\t119125.737447368\t33089.1407089231\t101475.563434966\t0\t50574.1059385567\t97324.7117260035\t45957.8534136242\t0\t81739.3213397075\t68762.047406909\t58300.6616291019\t77304.0740671995\t39891.7167254028\t70113.9653518234\t324095.722803516\t133731.673403656\t75174.3515363374\t55077.1297019528\t97614.4270171876\t16451.936108592\t3356.88223480915\t129051.012407321\t19318.4607431544\t66489.3976696218\t0\t34952.655496657\t104405.718527173\t0\t0\t11376.4990687903\t201363.458875403\t53038.6002706044\t15623.3191735135\t15307.3858104395\t173125.271502381\t39311.9643483841\t42201.3471976341\t125605.094512501\t16850.0458863669\t77027.7156161'..b'4010.315983861\t5266.79917625168\t0\t7597.51546438219\t51561.6956682535\t37548.6933920918\t0\t33291.0445651875\t49732.0512893425\t3822.41876047632\n-"M65T347"\t0\t0\t0\t0\t22816.2146517542\t6711.4124020715\t0\t0\t0\t0\t0\t0\t0\t6827.16107890486\t5776.21918873859\t0\t0\t0\t0\t0\t0\t0\t0\t9192.7543566501\t0\t0\t0\t0\t0\t11298.3924632847\t3768.99515936009\t0\t0\t0\t11753.3843655266\t0\t39505.3248865409\t44269.6919677473\t0\t0\t8826.74729244849\t10724.0333629916\t0\t17517.5709635939\t11418.0855632288\t0\t0\t0\t22145.5919207218\t0\t0\t0\t0\t0\t8079.46865409031\t0\t0\t0\t0\t6648.72096684431\t0\t2736.8090995068\t0\t0\t24725.7135475714\t8079.18710674447\t11010.0936521117\t20035.7811451175\t17369.2800203013\t8357.40711287974\t0\t20195.0508866401\t0\t12493.3412654959\t0\t0\t0\t4612.63714368351\t0\t0\t9892.86309519511\t5619.55058184312\t0\t0\t5350.68060947637\t0\t8636.14255369592\t12850.5108369864\t1648.13392309397\t0\t6903.2091290772\t6011.07903621243\t0\t0\t0\t0\t4625.58362641909\t0\t6200.98290708415\t6014.03938294187\t6673.54666289923\t0\t0\t8770.13891015641\t0\t0\t0\t0\t13287.4583016197\t0\t0\t22979.0834304854\t0\t19493.3858666909\t0\t0\t0\t10183.3393261695\t0\t0\t10960.7706933713\t0\t0\t0\t0\t4119.21194052429\t0\t0\t11040.7493627059\t11212.1058784467\t0\t0\t0\t10079.3953926199\t0\t0\t5919.1069032068\t0\t0\t0\t36253.8846315991\t0\t6331.23425109825\t0\t39727.4700232424\t0\t0\t0\t0\t6404.36785176058\t8828.6867106941\t0\t0\t0\t17464.96634648\t5347.18878889966\t0\t0\t14161.958406247\t7787.6740345106\t0\t0\t10396.7619642628\t10480.0108960802\t15261.2586441881\t0\t0\t4622.68216378012\t0\t0\t0\t5637.51438290188\t0\t19864.0390382923\t8282.52477467977\t17547.9604567919\t0\t0\t0\t0\t0\t8175.36014323213\t0\t10010.4282380581\t0\t0\t0\t0\t29289.3981093544\t0\t0\t21938.3547210825\t0\t20620.3964855394\t0\t0\t0\t12054.7259115614\t0\t3847.01547151388\t0\t0\t0\t5867.66570966062\t5614.02871387193\t0\t0\t8784.04484503412\t5913.52931213673\t9033.61167449966\t11708.6283333598\t0\t0\t18934.8222750162\t0\t14570.4486964372\n-"M65T379"\t0\t0\t0\t0\t18699.5794174405\t0\t2518.8810360068\t0\t0\t7346.10484006272\t0\t0\t0\t0\t0\t2470.25453581087\t9947.04420971702\t3727.7546298617\t7415.56127904845\t3217.50908801231\t21723.2320507327\t0\t0\t54557.3026358469\t11820.4173518051\t31986.0163825779\t1642.95258799276\t0\t18058.5180549033\t10417.6940535011\t0\t27389.1744837152\t13242.1345892031\t0\t15946.2061533074\t0\t13272.6449825391\t34668.3809916985\t16045.2929844237\t15099.3153334144\t6138.67594324735\t14683.3954276462\t0\t9796.42030421765\t0\t0\t0\t0\t0\t25867.1142815881\t0\t0\t1391.13497465257\t0\t0\t0\t0\t24641.6704402189\t0\t0\t0\t0\t9297.80015848825\t18070.6035643595\t0\t0\t6616.13548755258\t20316.8794653808\t7129.36783672944\t0\t8673.01284702543\t0\t4290.09257045895\t1582.15801675308\t0\t0\t1375.71943038973\t0\t0\t1896.82958767271\t0\t0\t17119.8648570023\t0\t0\t0\t6053.88065373166\t4856.12325233303\t0\t9228.1298970727\t0\t1497.05100389418\t2577.74015395784\t0\t0\t0\t6352.48554609922\t0\t11077.865918902\t0\t0\t5596.45496171871\t0\t7117.24643520608\t10798.3158879205\t0\t0\t0\t9461.31604121372\t14199.3585021418\t0\t22420.6026273989\t13036.3674821417\t0\t0\t0\t0\t16338.431612293\t30128.5398162769\t9268.29237998942\t9426.72129038915\t0\t0\t0\t0\t13773.1060226101\t0\t19126.9575814141\t0\t0\t7973.90375953146\t14163.9195082871\t6058.59567913602\t5526.79166264928\t0\t0\t7703.56911077945\t0\t0\t6189.10864971328\t33452.5550298605\t0\t6472.6360666787\t6023.2717943611\t8489.09107955321\t6859.08927536239\t32033.355711207\t68858.3715859043\t0\t11889.5270702665\t10525.6542232235\t5127.7071579\t10223.4945537111\t24424.4591921982\t0\t0\t12102.9343357168\t16053.0465809994\t0\t0\t0\t34820.9455640214\t27132.2013814453\t11818.1286274253\t10032.3132256405\t5218.37212003157\t0\t15667.2971715828\t0\t0\t8287.57520813908\t0\t10726.6628530429\t5392.63789126053\t5977.04799694555\t13938.1183625378\t0\t2821.31995040749\t5911.38388778861\t0\t6540.1917804101\t8082.82735107367\t3951.17455307886\t4063.12730191024\t0\t10168.3310458211\t5889.51019295818\t0\t0\t4971.41734007462\t5243.43228768982\t5066.80476566118\t2773.24200769425\t0\t0\t4801.75130714306\t8928.70455995294\t6895.73126790376\t7824.00410561761\t5110.91012145999\t0\t15920.9256301352\t3715.17058814941\t6549.86367446174\t4400.19406611943\t0\t0\t3969.50604962136\t9284.6508917653\t11279.048542144\t4710.85200800878\t27828.3469400129\t14305.0627750295\t0\t31646.2973611278\t0\n'
b
diff -r f64656ae9ea4 -r 016780b192a6 test-data/input-determinebc-sampleMetadata.tsv
--- a/test-data/input-determinebc-sampleMetadata.tsv Sun Oct 09 09:54:00 2016 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,217 +0,0 @@
-sampleMetadata sampleType injectionOrder batch
-QC1_001 pool 14 ne1
-HU_neg_017 sample 17 ne1
-HU_neg_018 sample 18 ne1
-HU_neg_020 sample 19 ne1
-HU_neg_021 sample 20 ne1
-HU_neg_027 sample 22 ne1
-HU_neg_028 sample 23 ne1
-HU_neg_032 sample 25 ne1
-HU_neg_034 sample 26 ne1
-QC1_002 pool 27 ne1
-HU_neg_037 sample 32 ne1
-HU_neg_041 sample 34 ne1
-HU_neg_043 sample 36 ne1
-HU_neg_044 sample 37 ne1
-HU_neg_047 sample 38 ne1
-HU_neg_048 sample 39 ne1
-QC1_003 pool 40 ne1
-HU_neg_049 sample 43 ne1
-HU_neg_050 sample 44 ne1
-HU_neg_051 sample 45 ne1
-HU_neg_052 sample 46 ne1
-HU_neg_055 sample 48 ne1
-HU_neg_059 sample 50 ne1
-HU_neg_060 sample 51 ne1
-HU_neg_061 sample 52 ne1
-QC1_004 pool 53 ne1
-HU_neg_064 sample 57 ne1
-HU_neg_065 sample 58 ne1
-HU_neg_066 sample 59 ne1
-HU_neg_068 sample 60 ne1
-HU_neg_071 sample 61 ne1
-HU_neg_072 sample 62 ne1
-HU_neg_077 sample 64 ne1
-HU_neg_078 sample 65 ne1
-QC1_005 pool 66 ne1
-HU_neg_079 sample 69 ne1
-HU_neg_083 sample 70 ne1
-HU_neg_086 sample 72 ne1
-HU_neg_088 sample 73 ne1
-HU_neg_089 sample 74 ne1
-HU_neg_090 sample 75 ne1
-HU_neg_091 sample 76 ne1
-HU_neg_093 sample 77 ne1
-HU_neg_094 sample 78 ne1
-QC1_006 pool 79 ne1
-HU_neg_099 sample 83 ne1
-HU_neg_100 sample 84 ne1
-HU_neg_101 sample 85 ne1
-HU_neg_105 sample 86 ne1
-HU_neg_107 sample 87 ne1
-HU_neg_108 sample 88 ne1
-HU_neg_109 sample 89 ne1
-HU_neg_110 sample 90 ne1
-HU_neg_111 sample 91 ne1
-QC1_007 pool 92 ne1
-HU_neg_116 sample 96 ne1
-HU_neg_118 sample 98 ne1
-HU_neg_123 sample 100 ne1
-HU_neg_125 sample 102 ne1
-HU_neg_126 sample 103 ne1
-HU_neg_127 sample 104 ne1
-QC1_008 pool 105 ne1
-HU_neg_130 sample 109 ne1
-HU_neg_131 sample 110 ne1
-HU_neg_132 sample 111 ne1
-HU_neg_133 sample 112 ne1
-HU_neg_134 sample 113 ne1
-HU_neg_138 sample 117 ne1
-QC1_009 pool 118 ne1
-HU_neg_144 sample 124 ne1
-HU_neg_148 sample 128 ne1
-HU_neg_149 sample 129 ne1
-HU_neg_150 sample 130 ne1
-QC1_010 pool 131 ne1
-HU_neg_152 sample 134 ne1
-HU_neg_154 sample 135 ne1
-HU_neg_156 sample 136 ne1
-HU_neg_157 sample 137 ne1
-HU_neg_158 sample 138 ne1
-HU_neg_163 sample 140 ne1
-HU_neg_170 sample 142 ne1
-HU_neg_171 sample 143 ne1
-QC1_011 pool 144 ne1
-HU_neg_172 sample 147 ne1
-HU_neg_173 sample 148 ne1
-HU_neg_174 sample 149 ne1
-HU_neg_175 sample 150 ne1
-HU_neg_178 sample 152 ne1
-HU_neg_179 sample 153 ne1
-HU_neg_180 sample 154 ne1
-HU_neg_181 sample 155 ne1
-HU_neg_182 sample 156 ne1
-QC1_012 pool 157 ne1
-HU_neg_184 sample 160 ne1
-HU_neg_185 sample 161 ne1
-HU_neg_186 sample 162 ne1
-HU_neg_189 sample 164 ne1
-HU_neg_192 sample 165 ne1
-HU_neg_196 sample 167 ne1
-QC1_013 pool 171 ne1
-HU_neg_200 sample 174 ne1
-HU_neg_201 sample 175 ne1
-HU_neg_202 sample 176 ne1
-HU_neg_204 sample 177 ne1
-HU_neg_207 sample 179 ne1
-HU_neg_208 sample 180 ne1
-HU_neg_209 sample 181 ne1
-QC1_014 pool 185 ne1
-QC1_001_b2 pool 14 ne2
-HU_neg_022_b2 sample 17 ne2
-HU_neg_076_b2 sample 18 ne2
-HU_neg_166_b2 sample 19 ne2
-HU_neg_114_b2 sample 20 ne2
-HU_neg_190_b2 sample 21 ne2
-HU_neg_139_b2 sample 23 ne2
-HU_neg_096_b2 sample 24 ne2
-HU_neg_058_b2 sample 25 ne2
-HU_neg_031_b2 sample 26 ne2
-QC1_002_b2 pool 27 ne2
-HU_neg_039_b2 sample 30 ne2
-HU_neg_087_b2 sample 32 ne2
-HU_neg_143_b2 sample 33 ne2
-HU_neg_162_b2 sample 34 ne2
-HU_neg_102_b2 sample 35 ne2
-HU_neg_188_b2 sample 37 ne2
-HU_neg_095_b2 sample 38 ne2
-HU_neg_062_b2 sample 39 ne2
-QC1_003_b2 pool 40 ne2
-HU_neg_063_b2 sample 43 ne2
-HU_neg_011_b2 sample 44 ne2
-HU_neg_074_b2 sample 45 ne2
-HU_neg_122_b2 sample 46 ne2
-HU_neg_142_b2 sample 47 ne2
-HU_neg_030_b2 sample 48 ne2
-HU_neg_187_b2 sample 50 ne2
-HU_neg_167_b2 sample 51 ne2
-HU_neg_113_b2 sample 52 ne2
-QC1_004_b2 pool 53 ne2
-HU_neg_081_b2 sample 56 ne2
-HU_neg_014_b2 sample 57 ne2
-HU_neg_206_b2 sample 58 ne2
-HU_neg_119_b2 sample 59 ne2
-HU_neg_033_b2 sample 60 ne2
-HU_neg_067_b2 sample 61 ne2
-HU_neg_140_b2 sample 62 ne2
-HU_neg_164_b2 sample 63 ne2
-HU_neg_193_b2 sample 64 ne2
-HU_neg_112_b2 sample 65 ne2
-QC1_005_b2 pool 66 ne2
-HU_neg_097_b2 sample 69 ne2
-HU_neg_056_b2 sample 70 ne2
-HU_neg_195_b2 sample 71 ne2
-HU_neg_135_b2 sample 72 ne2
-HU_neg_159_b2 sample 73 ne2
-HU_neg_070_b2 sample 76 ne2
-HU_neg_038_b2 sample 77 ne2
-HU_neg_026_b2 sample 78 ne2
-QC1_006_b2 pool 79 ne2
-HU_neg_098_b2 sample 82 ne2
-HU_neg_115_b2 sample 83 ne2
-HU_neg_137_b2 sample 85 ne2
-HU_neg_019_b2 sample 86 ne2
-HU_neg_073_b2 sample 87 ne2
-HU_neg_168_b2 sample 88 ne2
-HU_neg_191_b2 sample 89 ne2
-HU_neg_040_b2 sample 90 ne2
-HU_neg_046_b2 sample 91 ne2
-QC1_007_b2 pool 92 ne2
-HU_neg_103_b2 sample 95 ne2
-HU_neg_015_b2 sample 96 ne2
-HU_neg_053_b2 sample 97 ne2
-HU_neg_121_b2 sample 99 ne2
-HU_neg_183_b2 sample 101 ne2
-HU_neg_199_b2 sample 102 ne2
-HU_neg_042_b2 sample 103 ne2
-HU_neg_075_b2 sample 104 ne2
-QC1_008_b2 pool 105 ne2
-HU_neg_203_b2 sample 108 ne2
-HU_neg_024_b2 sample 109 ne2
-HU_neg_082_b2 sample 110 ne2
-HU_neg_169_b2 sample 111 ne2
-HU_neg_129_b2 sample 112 ne2
-HU_neg_057_b2 sample 113 ne2
-HU_neg_035_b2 sample 114 ne2
-HU_neg_194_b2 sample 115 ne2
-HU_neg_145_b2 sample 116 ne2
-HU_neg_104_b2 sample 117 ne2
-QC1_009_b2 pool 118 ne2
-HU_neg_177_b2 sample 121 ne2
-HU_neg_025_b2 sample 123 ne2
-HU_neg_080_b2 sample 124 ne2
-HU_neg_117_b2 sample 125 ne2
-HU_neg_136_b2 sample 126 ne2
-HU_neg_197_b2 sample 127 ne2
-HU_neg_036_b2 sample 128 ne2
-HU_neg_054_b2 sample 129 ne2
-HU_neg_085_b2 sample 130 ne2
-QC1_010_b2 pool 131 ne2
-HU_neg_160_b2 sample 134 ne2
-HU_neg_092_b2 sample 136 ne2
-HU_neg_023_b2 sample 137 ne2
-HU_neg_124_b2 sample 138 ne2
-HU_neg_147_b2 sample 139 ne2
-HU_neg_205_b2 sample 140 ne2
-HU_neg_084_b2 sample 141 ne2
-HU_neg_120_b2 sample 142 ne2
-HU_neg_198_b2 sample 143 ne2
-QC1_011_b2 pool 144 ne2
-HU_neg_045_b2 sample 148 ne2
-HU_neg_029_b2 sample 149 ne2
-HU_neg_069_b2 sample 150 ne2
-HU_neg_155_b2 sample 151 ne2
-HU_neg_106_b2 sample 154 ne2
-HU_neg_146_b2 sample 155 ne2
-HU_neg_128_b2 sample 156 ne2
-QC1_012_b2 pool 157 ne2
b
diff -r f64656ae9ea4 -r 016780b192a6 test-data/output-batchcorrection-dataMatrix.tsv
--- a/test-data/output-batchcorrection-dataMatrix.tsv Sun Oct 09 09:54:00 2016 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,114 +0,0 @@\n-dataMatrix\tQC1_001\tHU_022\tHU_076\tHU_166\tHU_114\tHU_190\tHU_139\tHU_096\tHU_058\tHU_031\tQC1_002\tHU_039\tHU_087\tHU_143\tHU_162\tHU_102\tHU_188\tHU_095\tHU_062\tQC1_003\tHU_063\tHU_011\tHU_074\tHU_122\tHU_142\tHU_030\tHU_187\tHU_167\tHU_113\tQC1_004\tHU_081\tHU_014\tHU_206\tHU_119\tHU_033\tHU_067\tHU_140\tHU_164\tHU_193\tHU_112\tQC1_005\tHU_097\tHU_056\tHU_195\tHU_135\tHU_159\tHU_070\tHU_038\tHU_026\tQC1_006\tHU_098\tHU_115\tHU_137\tHU_019\tHU_073\tHU_168\tHU_191\tHU_040\tHU_046\tQC1_007\tHU_103\tHU_015\tHU_053\tHU_121\tHU_183\tHU_199\tHU_042\tHU_075\tQC1_008\tHU_203\tHU_024\tHU_082\tHU_169\tHU_129\tHU_057\tHU_035\tHU_194\tHU_145\tHU_104\tQC1_009\tHU_177\tHU_025\tHU_080\tHU_117\tHU_136\tHU_197\tHU_036\tHU_054\tHU_085\tQC1_010\tHU_160\tHU_092\tHU_023\tHU_124\tHU_147\tHU_205\tHU_084\tHU_120\tHU_198\tQC1_011\tHU_045\tHU_029\tHU_069\tHU_155\tHU_106\tHU_146\tHU_128\tQC1_012\n-met_001\t25803075.7934692\t22245824.2847269\t33362554.2191462\t33928934.4345858\t38807014.0133696\t3717738.65900104\t31219859.2933296\t6291.31363707351\t15131230.5632725\t8756547.00256203\t25856701.6650235\t59056979.1889069\t29050997.1320749\t13803382.5181896\t58821588.2685604\t25572860.8589489\t4186241.20057895\t24196855.2209286\t8227264.66573771\t25428773.6793063\t14045498.2763384\t9414858.01334612\t10423851.438681\t44437723.8111921\t2879783.59900579\t20152143.5369082\t1704640.52100938\t19249095.9866807\t8052735.84029288\t25401278.6667381\t6425412.11717836\t4483638.76404864\t51444905.2526968\t13543480.6520335\t37044229.888368\t10617590.3611776\t9120431.09064855\t15241202.9006152\t2261599.30730485\t58759423.0611775\t26517342.9796032\t30719184.4007157\t33192502.7071917\t22068493.5017958\t33303157.4776968\t34172633.7472131\t18579133.8342916\t1736830.6196864\t5469159.08340882\t26028583.3459301\t37001411.617135\t20692573.3989206\t13816252.639442\t34870261.9550916\t23892218.629954\t1872945.84405521\t15426635.7603488\t18162831.6252458\t26102769.1872127\t25361346.9657174\t21929943.0837876\t18078624.5109582\t6840325.5118984\t4298370.91012195\t31509926.1754072\t8295287.27846444\t17172834.9582154\t39707893.629551\t25130983.0149321\t6717913.82352372\t25692029.3204722\t20419104.2428675\t30597753.5063953\t34746369.1892372\t21024347.449302\t48531513.7571104\t23734467.4540775\t33698127.9888684\t32655993.753639\t25846652.7556179\t20639166.0088837\t16756757.7249078\t13706617.4203876\t17909520.861204\t10313589.4233512\t3496125.9541859\t60226584.6603481\t27630414.5917129\t31789128.6314396\t25532528.4031233\t504295.340317393\t22972884.1487623\t19702043.0659849\t43164491.123306\t33921240.1948793\t25973242.5446075\t23840326.3610582\t1969203.08687009\t33932726.7881634\t26901619.9379972\t13650110.0854526\t44632793.1211613\t37583231.5063693\t20143805.8172678\t48458875.6355475\t26748923.8912103\t68078552.6187057\t24997128.5325153\n-met_002\t18733622.4121993\t9610714.57965993\t24275813.6999091\t25847057.3745696\t24947283.7601687\t1423097.122946\t20742232.7047708\t45452.5705507721\t10215310.6474844\t5672975.2543946\t18050231.7934152\t43362560.6525127\t22514809.2661231\t10349051.5414914\t48192375.6131067\t16695513.6708099\t2675773.81516617\t18930420.3286806\t3921078.03495049\t19234141.2742445\t8425289.97232181\t4805183.87633365\t8700758.02537088\t26978338.4524019\t689420.717332801\t11168038.570606\t1063787.26606082\t18897743.6167054\t3482719.94279234\t18869997.188431\t1524961.04944888\t2820831.69737027\t36792629.0197586\t19875448.8680594\t30621776.9377938\t8020404.73929573\t3508706.85006505\t9712180.2063126\t2476600.44425196\t36796698.0155182\t18383172.8975158\t20030292.2095366\t28420783.034872\t15738173.1376331\t18707849.3261424\t26475198.0402705\t12514954.7774325\t1827949.32969507\t10372154.4272829\t18847233.3554353\t27866491.9445067\t13948235.1453217\t8412641.28884851\t28087583.1927401\t17915114.1791026\t1115150.68457987\t15600658.6295136\t12481472.3346767\t16615464.9590619\t18318989.4193656\t13282366.2522553\t20247449.1816865\t6307817.92544131\t2473501.72891451\t21331736.790259\t4248183.31283758\t8831209.30602942\t30167422.2374754\t18446675.1074117\t4870390.45834935\t17272393.7800738\t12115844.3854106\t37838671.3549049\t24578647.3453827\t12576530.043839\t38821007.8916729\t14918987.221712\t16276773.2164009\t21233018.154724\t19136021.9919222\t9400183.580'..b'95409\t1054180.33235713\t1090979.33590343\t813748.203006604\t1229309.49062481\t1608619.81571132\t292076.848877472\t863039.358844594\t1515390.49822307\t720835.420170901\t443982.812394315\t977783.054388112\t479678.805085766\t861454.511172265\t399179.581453245\t537468.992122009\t1341168.53297045\t356665.05278084\t1077581.84947797\t699378.392150834\t2180156.83550866\t859740.908081678\n-met_112\t4538260.07332924\t1997603.63759386\t3101105.23740388\t8676705.07693322\t4499120.50413992\t2300186.26663146\t6028064.84593985\tNA\t2491991.86068611\t4936389.92875914\t3934368.63868677\t3223602.52806592\t5758560.31329564\t4068603.841081\t3020876.08310117\t2092201.98947378\t1414128.60450223\t3564589.34919401\t4454519.51899205\t4111395.21282403\t6506628.04141497\t1638924.06694788\t4704057.12477128\t3783706.68101197\t6398699.60280182\t2814042.19687001\t1380804.4721669\t2762753.71246615\t5605197.20586148\t4482681.39654663\t8211280.3603205\t1649600.0418054\t3908924.69185977\t3874350.9274596\t7338556.35476537\t4151528.10101192\t2487779.1011633\t2870763.03704328\t4304219.62588264\t9393649.7874239\t4176141.32094111\t2629914.41305345\t2699719.51441013\t4108774.30717426\t7046808.49106602\t2534899.22779241\t2209294.01128173\t993612.490501395\t3466629.03422472\t4284484.51427465\t4707978.58556783\t2496536.33382371\t4076646.32542001\t3524390.53123507\t9275598.64644259\t2759480.08076153\t3366878.58611063\t6050319.56436356\t2714865.54936974\t4174949.54971015\t3275325.72458992\t4267918.90420684\t923327.926460122\t3170959.29947981\t4492717.85645683\t5139744.91372233\t3863471.57733796\t6886498.45100012\t4428439.83785168\t6371944.02729372\t3112777.74911802\t5514644.81005529\t5808375.07378356\t3308682.79888993\t4771946.46729538\t8144361.80783535\t3409974.53680361\t3500477.92909192\t2617203.28223743\t4414062.2820156\t3812798.14081105\t4585421.2045072\t8793172.67675604\t4637139.66088434\t943790.950209665\t8994466.91015319\t4615134.45758878\t5559998.73571828\t6145353.55124427\t4289798.20115878\t2893421.75793062\t7849317.9231938\t1717519.10857095\t5494016.27783925\t4286547.30565284\t4216165.66988365\t2612752.98298915\t3584586.08196358\t7009045.08682862\t4480360.79775925\t1797914.42775286\t2958118.63205771\t5180419.78048592\t2965412.74263722\t6867343.34574981\t4060369.23068331\t4489646.44698815\t4072790.12794517\n-met_113\t1008565.5752504\t1158567.63903145\t529830.796502162\t889814.888535702\t1448388.21917358\t1841757.04389807\t1322567.71170675\tNA\t1170273.11749264\t999795.60192758\t1036645.09275775\t980543.484756615\t763711.435143932\t409322.220596871\t2009596.78032114\t775776.680204633\t262459.955623623\t1536763.6397872\t1026146.72109141\t1089130.8837249\t1650573.81412147\t605567.758060381\t1445318.28337213\t1682617.78861332\t1492151.26331285\t987383.80646001\t235646.175796624\t177370.54091637\t1706438.13091351\t986114.199693531\t2476280.35702388\t408095.520330724\t1210422.14154099\t804240.996639918\t1409699.96479546\t692439.380275386\t741562.342086506\t493209.987837817\t894850.612050541\t1187806.75778047\t982531.920495763\t861473.583014974\t985392.332655452\t457279.162538855\t1071029.24363867\t389141.615930624\t1086237.1583117\t101822.549704857\t412116.995986363\t1117205.58522017\t666034.618948003\t1656278.0882703\t1017055.12392107\t670681.845781125\t764619.55232811\t232557.596158996\t1001461.99426945\t759811.792469226\t992902.332619325\t991708.040046475\t928839.397680866\t759923.801127517\t228428.464322441\t389332.254437437\t380456.756714177\t1074125.13525503\t2155924.49102891\t1438928.10254248\t1018035.38268366\t586120.199558703\t550305.983321682\t1070444.71972962\t98540.2137253375\t470324.959918036\t1053661.68418953\t1347955.77809265\t1794698.05572542\t1839129.91193994\t447039.267881417\t1038365.31754997\t1008450.35781633\t772534.824283954\t1889746.64026194\t1309455.69768566\t131302.851803826\t1491241.59783436\t725369.21239059\t1515316.3946072\t919122.079000583\t997990.2905651\t207287.048524534\t1060150.0355142\t471509.506822373\t986177.685439062\t17093346.8989243\t1547984.63462982\t439051.348344737\t1157749.50227074\t1088849.75286227\t1082199.05099702\t367690.017886928\t712227.420096786\t755882.247545083\t307899.905156455\t3473142.11220125\t846374.452146134\t1288272.54990407\t1001712.70994295\n'
b
diff -r f64656ae9ea4 -r 016780b192a6 test-data/output-determinebc-preNormSummary.txt
--- a/test-data/output-determinebc-preNormSummary.txt Sun Oct 09 09:54:00 2016 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,11 +0,0 @@
-labion batch.1.linear batch.1.loess batch.1.lowess batch.2.linear batch.2.loess batch.2.lowess
-M53T345 0 0 0 0 0 0
-M58T69 0 0 0 0 0 0
-M59T246 0 0 0 5 0 0
-M59T62 0 0 0 3 3 3
-M59T270 0 0 0 0 0 0
-M62T56 0 0 0 0 0 0
-M64T348 0 0 0 0 0 0
-M64T379 0 0 0 0 0 0
-M65T347 5 0 0 5 0 0
-M65T379 0 0 0 0 0 0