Previous changeset 3:73892ef177e3 (2017-05-02) |
Commit message:
Uploaded |
added:
BC/README.md BC/batch_correction.xml BC/batch_correction_3Lfct.R BC/batch_correction_3Llauncher.R BC/batch_correction_3Lwrapper.R BC/batch_correction_all_loess_script.R BC/batch_correction_all_loess_wrapper.R BC/batch_correction_docker_wrapper.R BC/determine_bc.xml BC/easyrlibrary-lib/RcheckLibrary.R BC/easyrlibrary-lib/miniTools.R BC/macros.xml BC/static/images/batch_correction.png BC/static/images/determine_batch_correction.png BC/test-data/input-batchcorrection-dataMatrix.tsv BC/test-data/input-batchcorrection-sampleMetadata-customSampleType.tsv BC/test-data/input-batchcorrection-sampleMetadata.tsv BC/test-data/input-batchcorrection-variableMetadata.tsv BC/test-data/input-determinebc-dataMatrix.tsv BC/test-data/input-determinebc-sampleMetadata.tsv BC/test-data/output-batchcorrection-dataMatrix-3L.tsv BC/test-data/output-batchcorrection-dataMatrix.tsv BC/test-data/output-determinebc-preNormSummary.txt |
removed:
batchcorrection-57edfd3943ab/Normalisation_QCpool.r batchcorrection-57edfd3943ab/README.md batchcorrection-57edfd3943ab/batch_correction.xml batchcorrection-57edfd3943ab/batch_correction_all_loess_script.R batchcorrection-57edfd3943ab/batch_correction_all_loess_wrapper.R batchcorrection-57edfd3943ab/batch_correction_wrapper.R batchcorrection-57edfd3943ab/build.xml batchcorrection-57edfd3943ab/determine_bc.xml batchcorrection-57edfd3943ab/easyrlibrary-lib/RcheckLibrary.R batchcorrection-57edfd3943ab/easyrlibrary-lib/miniTools.R batchcorrection-57edfd3943ab/runit/batchcorrection_runtests.R batchcorrection-57edfd3943ab/runit/batchcorrection_tests.R batchcorrection-57edfd3943ab/runit/example1/dataMatrix.tsv batchcorrection-57edfd3943ab/runit/example1/sampleMetadata.tsv batchcorrection-57edfd3943ab/runit/example1/variableMetadata.tsv batchcorrection-57edfd3943ab/runit/input/dataMatrix.tsv batchcorrection-57edfd3943ab/runit/input/sampleMetadata.tsv batchcorrection-57edfd3943ab/runit/input/variableMetadata.tsv batchcorrection-57edfd3943ab/runit/output/dataMatrix.tsv batchcorrection-57edfd3943ab/runit/output/graph_output.pdf batchcorrection-57edfd3943ab/runit/output/out_graph.pdf batchcorrection-57edfd3943ab/runit/output/preNormSummary.txt batchcorrection-57edfd3943ab/runit/output/rdata_output.rdata batchcorrection-57edfd3943ab/runit/output/variableMetadata.tsv batchcorrection-57edfd3943ab/runit/sacurine/dataMatrix.tsv batchcorrection-57edfd3943ab/runit/sacurine/sampleMetadata.tsv batchcorrection-57edfd3943ab/runit/sacurine/variableMetadata.tsv batchcorrection-57edfd3943ab/runit/sacurineNegFull/dataMatrix.tsv batchcorrection-57edfd3943ab/runit/sacurineNegFull/sampleMetadata.tsv batchcorrection-57edfd3943ab/runit/sacurineNegFull/variableMetadata.tsv batchcorrection-57edfd3943ab/static/images/Vdk_pdf1.png batchcorrection-57edfd3943ab/static/images/Vdk_pdf2.png batchcorrection-57edfd3943ab/static/images/batch_correction.png batchcorrection-57edfd3943ab/static/images/determine_batch_correction.png batchcorrection-57edfd3943ab/static/images/pdf_plotsituation.png batchcorrection-57edfd3943ab/test-data/input-batchcorrection-dataMatrix.tsv batchcorrection-57edfd3943ab/test-data/input-batchcorrection-sampleMetadata.tsv batchcorrection-57edfd3943ab/test-data/input-batchcorrection-variableMetadata.tsv batchcorrection-57edfd3943ab/test-data/input-determinebc-dataMatrix.tsv batchcorrection-57edfd3943ab/test-data/input-determinebc-sampleMetadata.tsv batchcorrection-57edfd3943ab/test-data/output-batchcorrection-dataMatrix.tsv batchcorrection-57edfd3943ab/test-data/output-determinebc-preNormSummary.txt |
b |
diff -r 73892ef177e3 -r 23314e1192d4 BC/README.md --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/BC/README.md Thu Jan 14 09:56:58 2021 +0000 |
[ |
@@ -0,0 +1,128 @@ +Signal drift and batch-effect correction +======================================== + +A Galaxy module from the [Workflow4metabolomics](http://workflow4metabolomics.org) infrastructure + +Status: [![Build Status](https://travis-ci.org/workflow4metabolomics/batch_correction.svg?branch=master)](https://travis-ci.org/workflow4metabolomics/batch_correction). + +### Description + +**Version:** 3.0.0 +**Date:** 2020-10-02 +**Author:** Jean-Francois Martin (INRAE, AXIOM), Melanie Petera (INRAE, PFEM), Marion Landi (PFEM), Franck Giacomoni (INRAE, PFEM), and Etienne A. Thevenot (CEA, LIST) +**Email:** [jean-francois.martin(at)inrae.fr](mailto:jean-francois.martin@inrae.fr), [melanie.petera(at)inrae.fr](mailto:melanie.petera@inrae.fr), [etienne.thevenot(at)cea.fr](mailto:etienne.thevenot@cea.fr) +**Citation:** +**Licence:** CeCILL +**Reference history:** [W4M00001_Sacurine-statistics; DOI:10.15454/1.4811121736910142E12](http://dx.doi.org/10.15454/1.4811121736910142E12) and [W4M00002_Sacurine-comprehensive; DOI:10.15454/1.481114233733302E12](http://dx.doi.org/10.15454/1.481114233733302E12) +**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` +* Wrapper files: + + `batch_correction_3Lwrapper.R` + + `batch_correction_all_loess_wrapper.R` +* Script files: + + `batch_correction_3Lfct.R` + + `batch_correction_3Llauncher.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 + +Some functional tests are provided in Galaxy format (see XML wrapper and test-data folder). + +WIP: The code in the batch_correction_wrapper can be tested by running the `test/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 the reference histories [W4M00001_Sacurine-statistics; DOI:10.15454/1.4811121736910142E12](http://dx.doi.org/10.15454/1.4811121736910142E12) and [W4M00002_Sacurine-comprehensive; DOI:10.15454/1.481114233733302E12](http://dx.doi.org/10.15454/1.481114233733302E12) + + +### News + +###### CHANGES IN VERSION 3.0.0 + +NEW FEATURES + + * Specific names for the 'sampleType', 'injectionOrder', and 'batch' from sampleMetadata are now available in a dedicated parameter section + * Addition of a sum of ions before/after plot for linear/lowess/loess methods + * Addition of a third option in "Null values" parameter (renamed "unconsistant values") in linear/lowess/loess methods + * linear/lowess/loess methods now handle NA in intensities and allow "blank" samples in the dataset + +INTERNAL MODIFICATIONS + + * XML optimisation using macros + * Output name changes + * linear/lowess/loess methods: disabling of RData output + * linear/lowess/loess methods: split of tool-linked code and script-linked one + * linear/lowess/loess methods: adjustments in the normalisation process to match matters linked to NA acceptance + * linear/lowess/loess methods: better handling of special characters in IDs and column names + +###### CHANGES IN VERSION 2.2.4 + +INTERNAL MODIFICATIONS + +Fixed bug for pool selection ("all_loess" methods) + +###### CHANGES IN VERSION 2.2.2 + +INTERNAL MODIFICATIONS + +Fixed bug for color plot ("all_loess" methods) + +###### CHANGES IN VERSION 2.2.0 + +NEW FEATURE + +Specific names for the 'sampleType', 'injectionOrder', and 'batch' from sampleMetadata can be selected by the user (for compatibility with the MTBLS downloader) + +##### CHANGES IN VERSION 2.1.2 + +INTERNAL MODIFICATIONS + + * Minor modifications in config file + +##### CHANGES IN VERSION 2.1.0 + +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) + + * Additional running and installation tests added with planemo, conda, and travis + + * 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) |
b |
diff -r 73892ef177e3 -r 23314e1192d4 BC/batch_correction.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/BC/batch_correction.xml Thu Jan 14 09:56:58 2021 +0000 |
[ |
b'@@ -0,0 +1,400 @@\n+<tool id="Batch_correction" name="Batch_correction" version="3.0.0">\r\n+ <description>Corrects intensities for signal drift and batch-effects</description>\r\n+ \r\n+ <macros>\r\n+ <import>macros.xml</import>\r\n+ </macros>\r\n+\r\n+ <requirements>\r\n+ <requirement type="package" version="1.1_4">r-batch</requirement>\r\n+ <requirement type="package" version="1.7_8">r-ade4</requirement>\r\n+ <requirement type="package" version="1.70.0">bioconductor-pcamethods</requirement>\r\n+ <requirement type="package" version="1.10.0">bioconductor-ropls</requirement>\r\n+ </requirements>\r\n+\r\n+ <stdio>\r\n+ <exit_code range="1:" level="fatal" />\r\n+ </stdio>\r\n+ \r\n+ <command><![CDATA[\r\n+ #if str($span_condition.method) == \'all_loess_pool\':\r\n+ Rscript $__tool_directory__/batch_correction_all_loess_wrapper.R\r\n+ dataMatrix "$dataMatrix"\r\n+ sampleMetadata "$sampleMetadata"\r\n+ variableMetadata "$variableMetadata"\r\n+ method "all_loess_pool"\r\n+ span "${span_condition.span}"\r\n+ \r\n+ #elif str($span_condition.method) == \'all_loess_sample\':\r\n+ Rscript $__tool_directory__/batch_correction_all_loess_wrapper.R\r\n+ dataMatrix "$dataMatrix"\r\n+ sampleMetadata "$sampleMetadata"\r\n+ variableMetadata "$variableMetadata"\r\n+ method "all_loess_sample"\r\n+ span "${span_condition.span}"\r\n+ #else:\r\n+ Rscript $__tool_directory__/batch_correction_3Lwrapper.R\r\n+ analyse "batch_correction"\r\n+ dataMatrix "$dataMatrix"\r\n+ sampleMetadata "$sampleMetadata"\r\n+ variableMetadata "$variableMetadata"\r\n+ method "${span_condition.method}"\r\n+ #if str($span_condition.method) == \'linear\':\r\n+ span "none"\r\n+ #else:\r\n+ span "${span_condition.span}"\r\n+ #end if\r\n+ valnull "${span_condition.valnull}"\r\n+ ref_factor "${span_condition.ref_factor}"\r\n+ detail "${span_condition.detail}"\r\n+ #end if\r\n+ dataMatrix_out "$dataMatrix_out" variableMetadata_out "$variableMetadata_out"\r\n+ graph_output "$graph_output" rdata_output "$rdata_output"\r\n+ @SM_CUSTOM@\r\n+ ]]></command>\r\n+\r\n+ <inputs>\r\n+ <param name="dataMatrix" label="Data matrix file " format="tabular" type="data" />\r\n+ <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+ <param name="variableMetadata" label="Variable metadata file " format="tabular" type="data" />\r\n+\r\n+ <expand macro="sm_customisation"/>\r\n+ \r\n+ <conditional name="span_condition">\r\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.">\r\n+ <option value="linear">linear</option>\r\n+ <option value="lowess">lowess</option>\r\n+ <option value="loess">loess</option>\r\n+ <option value="all_loess_pool">all loess pool</option>\r\n+ <option value="all_loess_sample">all loess sample</option>\r\n+ </param>\r\n+ <when value="linear">\r\n+ <expand macro="lll_options"/>\r\n+ </when>\r\n+ <when value="lowess">\r\n+ <expand macro="lll_span"/>\r\n+ <expand macro="lll_options"/>\r\n+ </when>\r\n+ <when value="loess">\r\n+ <expand macro="lll_span"/>\r\n+ <expand macro="lll_options"/>\r\n+ </when>\r\n+ <when value="all_loess_pool">\r\n+ <param name="span" type="float" value="1" label="span" help="smoothing parameter; must be > 0"/>\r\n+ </when>\r\n+ <when value="all_loess_sample">\r\n+ <param name="span" type="float" value="1" '..b'ut (tabulated)\r\n+ | Same formatting as the data matrix file; contains corrected intensities\r\n+ |\r\n+\r\n+\r\n+---------------------------------------------------\r\n+\r\n+----------------------\r\n+Additional information\r\n+----------------------\r\n+\r\n+.. class:: infomark\r\n+\r\n+Refer to the corresponding "W4M HowTo" page:\r\n+ | `MS data processing - Filters and normalisation <https://download.workflow4metabolomics.org/docs/w4e2018/2018-10_EC_W4E%20-%20Dataprocessing_Filter_and_normalisation.pdf>`_\r\n+ |\r\n+\r\n+See also the reference history:\r\n+ | `W4M00001_Sacurine-statistics (DOI:10.15454/1.4811121736910142E12) <http://dx.doi.org/10.15454/1.4811121736910142E12>`_\r\n+\r\n+\r\n+---------------------------------------------------\r\n+\r\n+----\r\n+NEWS\r\n+----\r\n+\r\n+CHANGES IN VERSION 3.0.0 \r\n+======================== \r\n+\r\n+NEW FEATURES \r\n+\r\n+| - Specific names for the \'sampleType\', \'injectionOrder\', and \'batch\' from sampleMetadata are now available in a dedicated parameter section\r\n+| - Addition of a sum of ions before/after plot for linear/lowess/loess methods\r\n+| - Addition of a third option in "Null values" parameter (renamed "unconsistant values") in linear/lowess/loess methods\r\n+| - linear/lowess/loess methods now handle NA in intensities and allow "blank" samples in the dataset\r\n+|\r\n+\r\n+INTERNAL MODIFICATIONS\r\n+\r\n+| - XML optimisation using macros\r\n+| - Output name changes\r\n+| - linear/lowess/loess methods: disabling of RData output\r\n+| - linear/lowess/loess methods: split of tool-linked code and script-linked one\r\n+| - linear/lowess/loess methods: adjustments in the normalisation process to match matters linked to NA acceptance\r\n+| - linear/lowess/loess methods: better handling of special characters in IDs and column names\r\n+|\r\n+\r\n+CHANGES IN VERSION 2.2.4 \r\n+======================== \r\n+\r\n+INTERNAL MODIFICATIONS \r\n+\r\n+Fixed bug for pool selection ("all_loess" methods) \r\n+\r\n+CHANGES IN VERSION 2.2.2 \r\n+======================== \r\n+\r\n+INTERNAL MODIFICATIONS \r\n+\r\n+Fixed bug for color plot ("all_loess" methods) \r\n+\r\n+CHANGES IN VERSION 2.2.0 \r\n+======================== \r\n+\r\n+NEW FEATURE \r\n+\r\n+Specific names for the \'sampleType\', \'injectionOrder\', and \'batch\' from sampleMetadata can be selected by the user (for compatibility with the MTBLS downloader)\r\n+\r\n+CHANGES IN VERSION 2.1.2 \r\n+======================== \r\n+\r\n+INTERNAL MODIFICATIONS \r\n+\r\n+Minor modifications in config file \r\n+\r\n+CHANGES IN VERSION 2.1.0\r\n+========================\r\n+\r\n+INTERNAL MODIFICATIONS \r\n+\r\n+For PCA figure display only (**all_loess** options): missing values are set to the minimum value before PCA computation is performed (with svd)\r\n+\r\n+Additional running and installation tests added with planemo, conda, and travis\r\n+\r\n+BUG FIX\r\n+\r\n+Variables with NA or 0 values in all reference samples are discarded before applying the **all_loess** normalization\r\n+\r\n+INTERNAL MODIFICATIONS\r\n+\r\n+Modifications of the **all_loess_wrapper** file to handle the recent **ropls** package versions (i.e. 1.3.15 and above) which use S4 classes\r\n+\r\n+ </help>\r\n+ <!-- [RECOMMANDED] All citations associated to this tool (main citation given above and other references). Can be extracted from the history panel -->\r\n+ <citations>\r\n+ <!-- [HELP] As DOI or BibTex entry -->\r\n+ <citation type="doi">10.1021/pr900499r</citation>\r\n+ <citation type="doi">10.1038/nprot.2011.335</citation>\r\n+ <citation type="bibtex">@ARTICLE{Cleveland91,\r\n+ author = {Cleveland et al},\r\n+ year = {1991},\r\n+ journal = {Statistical Models in S, Chambers JM. and Hastie TJ. Ed., Chapman et Hall: London},\r\n+ title = {Local Regression Models},\r\n+ pages = {309-376},\r\n+ editor = {Chambers JM. and Hastie TJ. Ed.},\r\n+ publisher = {Chapman et Hall: London},\r\n+ chapter = {8}\r\n+ }</citation>\r\n+ <citation type="doi">10.1021/acs.jproteome.5b00354</citation>\r\n+ </citations>\r\n+\r\n+\r\n+</tool>\r\n' |
b |
diff -r 73892ef177e3 -r 23314e1192d4 BC/batch_correction_3Lfct.R --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/BC/batch_correction_3Lfct.R Thu Jan 14 09:56:58 2021 +0000 |
[ |
b'@@ -0,0 +1,541 @@\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+# Version 3.00 - handling of sample tags\' parameters\r\n+# - accepting sample types beyond "pool" and "sample"\r\n+# - dealing with NA\r\n+# - changes in the normalisation strategy regarding mean values to adjust for NA or 0 values\r\n+# - changes in the normalisation strategy regarding unconsistant values (negative or Inf)\r\n+\r\n+ok_norm=function(qcp,qci,spl,spi,method,normref=NA,valimp="0") {\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+ # 2.5 : less than 2 samples within a batch\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+ # 6 : (linear regression only) none of the pool or sample could be corrected if negative and infinite values are turned into NA\r\n+ # Parameters:\r\n+ # qcp: intensity of a given ion for pools\r\n+'..b'Sum of intensities\\nBefore correction")\r\n+ points(x[[sm_meta$injectionOrder]][indpool],xsum[indpool],col="maroon",pch=16,cex=1.2)\r\n+ plot(x[[sm_meta$injectionOrder]],Xnsum,col=x[[sm_meta$batch]],ylab="sum of variables\' intensities",xlab="injection order",\r\n+ ylim=c(min(c(xsum,Xnsum),na.rm=TRUE),max(c(xsum,Xnsum),na.rm=TRUE)),main="Sum of intensities\\nAfter correction")\r\n+ points(x[[sm_meta$injectionOrder]][indpool],Xnsum[indpool],col="maroon",pch=16,cex=1.2)\r\n+ # PCA Plot before/after, normed only and ions plot\r\n+ par(mfrow=c(3,4),ask=F,cex=1.2) \r\n+ acplight(x[,c(indtypsamp,indbatch,indtypsamp,indfact,(nbid+1):lastIon)],"uv",TRUE)\r\n+ norm.ion <- which(colnames(Xn)%in%(rownames(res.ind)[which(rowSums(res.ind)>=1)]))\r\n+ acplight(Xn[,c(indtypsamp,indbatch,indtypsamp,indfact,(nbid+1):lastIon)],"uv",TRUE,norm.ion)\r\n+ if(length(norm.ion)>0){acplight(Xn[,c(indtypsamp,indbatch,indtypsamp,indfact,norm.ion)],"uv",TRUE)}\r\n+ # Before/after boxplot\r\n+ par(mfrow=c(1,2),ask=F,cex=1.2) \r\n+ cvplot=cv[!is.na(cv[[1]])&!is.na(cv[[2]]),]\r\n+ if(nrow(cvplot)>0){\r\n+ boxplot(cvplot[[1]],ylim=c(min(cvplot),max(cvplot)),main="CV of pools before correction")\r\n+ boxplot(cvplot[[2]],ylim=c(min(cvplot),max(cvplot)),main="CV of pools after correction")\r\n+ }\r\n+ dev.off()\r\n+ }\r\n+ }\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+ suppressPackageStartupMessages(library(ade4))\r\n+ suppressPackageStartupMessages(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 <- data.frame(ids)\r\n+ idss[,i+1] <- as.character(idss[,i+1])\r\n+ idss[which(is.na(idss[,i+1])),i+1] <- "no_modality"\r\n+ idss[which(idss[,i+1]=="NA"),i+1] <- "no_modality"\r\n+ idss[which(idss[,i+1]==""),i+1] <- "no_modality"\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+ # Removing ions containing NA (not compatible with standard PCA)\r\n+ ions=t(na.omit(t(ions)))\r\n+ if(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+ if(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 73892ef177e3 -r 23314e1192d4 BC/batch_correction_3Llauncher.R --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/BC/batch_correction_3Llauncher.R Thu Jan 14 09:56:58 2021 +0000 |
[ |
@@ -0,0 +1,146 @@ +############################################################################################################### +# batch_correction_3Llauncher # +# # +# Authors: Jean-Francois MARTIN / Melanie Petera # +# Starting date: 04-08-2020 # +# Based on batch_correction_wrapper.R version 2.91 # +# Version 1: 02-10-2020 # +# - split of tool-linked code and script-linked one # +# - handling of sample tags' parameters # +# - accepting samples beyond pools and samples # +# - dealing with special characters in IDs and column names # +# - adding a min.norm argument to the function # +# # +# Input files: dataMatrix.txt, sampleMetadata.txt, variableMetadata.txt (BC only) # +# Output files: graph.pdf, corrected table (BC only), diagnostic table (DBC only), variableMetadata (BC only) # +# # +############################################################################################################### + +meth3L <- function(idsample,iddata,sample_type_col_name,injection_order_col_name,batch_col_name,sample_type_tags, + factbio,analyse,metaion,detail,method,outlog,span,valnull, + rdata_output,dataMatrix_out,variableMetadata_out,out_graph_pdf,out_preNormSummary,min.norm){ + +## Import function +tab.import <- function(tested.file,tabtype){ + tab.res <- tryCatch(read.table(tested.file,header=TRUE,sep='\t',check.names=FALSE,comment.char = ''), error=conditionMessage) + if(length(tab.res)==1){ + stop(paste("Could not import the",tabtype,"file. There may be issues in your table integrity.\nCorresponding R error message:\n",tab.res)) + }else{ + tab.comp <- tryCatch(read.table(tested.file,header=TRUE,sep='\t',check.names=FALSE,comment.char = '',quote=""), error=conditionMessage) + if((length(tab.comp)!=1)&&(dim(tab.res)!=dim(tab.comp))){ # wrong original import due to quotes inside a column name + return(tab.comp) + }else{ return(tab.res) } + } +} + +## Reading of input files +idsample=tab.import(idsample,"sampleMetadata") +iddata=tab.import(iddata,"dataMatrix") + +### 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(sample_type_col_name, injection_order_col_name, batch_col_name)){ + if(!(mandcol%in%colnames(idsample))){ + mand.check <- c(mand.check,"\nError: no '",mandcol,"' column in sample metadata.\n", + "Note: column names are 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/w4e-2016-data_processing.pdf\n") + check.err(mand.check) +} + +if(analyse == "batch_correction") { + ## Reading of Metadata Ions file + metaion=read.table(metaion,header=T,sep='\t',check.names=FALSE,comment.char = '') + ## Table match check + table.check <- c(table.check,match2(iddata,metaion,"variable")) + ## StockID + var.id <- stockID(iddata,metaion,"variable") + iddata<-var.id$dataMatrix ; metaion<-var.id$Metadata ; var.id<-var.id$id.match +} + +### 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) +ids=merge(idsample, idTdata, by.x=1, by.y=1) + +ids[[batch_col_name]]=as.factor(ids[[batch_col_name]]) +nbid=dim(idsample)[2] + +### Checking the number of sample and pool + +# least 2 samples +if(length(which(ids[[sample_type_col_name]] %in% sample_type_tags$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 your ",sample_type_col_name," coding.\n") +} + +# least 2 pools per batch for all batchs +B <- rep(0,length(levels(ids[[batch_col_name]]))) +for(nbB in 1:length(levels(ids[[batch_col_name]]))){ + B[nbB]<-length(which(ids[which(ids[[batch_col_name]]==(levels(ids[[batch_col_name]])[nbB])),,drop=FALSE][[sample_type_col_name]] %in% sample_type_tags$pool)) +} +if(length(which(B>1))==0){ + table.check <- c(table.check,"\nError: less than 2 pools specified in at least one batch in sample metadata.", + "\nMake sure this is not due to errors in your ",sample_type_col_name," coding.\n") +} + +### Checking the unicity of samples and variables +uni.check <- function(tested.tab,tabtype,err.obj){ + unicity <- duplicated(tested.tab[,1]) + if(sum(unicity)>0){ + #Sending back an explicit error + duptable <- t(t(table(tested.tab[,1][unicity])+1)) + err.obj <- c(err.obj,paste0("\n-------\nError: your '",tabtype,"' IDs contain duplicates:\n"), + paste(rownames(duptable),duptable,sep=": ",collapse="\n"), + "\nSince identifiers are meant to be unique, please check your data.\n-------\n") + } + return(err.obj) +} +table.check <- uni.check(ids,"sample",table.check) +if(analyse == "batch_correction"){table.check <- uni.check(metaion,"variable",table.check)} + +## error check +check.err(table.check) + + +### BC/DBC-specific processing + +# Gathering mandatory information in a single object +sm.meta <- list(batch=batch_col_name, injectionOrder=injection_order_col_name, sampleType=sample_type_col_name, sampleTag=sample_type_tags) + +if(analyse == "batch_correction") { + ## Launch + res = norm_QCpool(ids,nbid,outlog,factbio,metaion,detail,FALSE,FALSE,method,span,valnull,sm.meta,min.norm) + ## Get back original IDs + var.id <- reproduceID(res[[1]],res[[2]],"variable",var.id) + res[[1]] <- var.id$dataMatrix ; res[[2]] <- var.id$Metadata + samp.id <- reproduceID(res[[1]],res[[3]],"sample",samp.id) + res[[1]] <- samp.id$dataMatrix ; res[[3]] <- samp.id$Metadata + ## Save files + save(res, file=rdata_output) + write.table(res[[1]], file=dataMatrix_out, sep = '\t', row.names=FALSE, quote=FALSE) + write.table(res[[2]], file=variableMetadata_out, sep = '\t', row.names=FALSE, quote=FALSE) +}else{ + ## Launch + plotsituation(ids,nbid,out_graph_pdf,out_preNormSummary,factbio,span,sm.meta) +} + +}#end of meth3L \ No newline at end of file |
b |
diff -r 73892ef177e3 -r 23314e1192d4 BC/batch_correction_3Lwrapper.R --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/BC/batch_correction_3Lwrapper.R Thu Jan 14 09:56:58 2021 +0000 |
[ |
@@ -0,0 +1,139 @@ +#!/usr/bin/env Rscript + +################################################################################################ +# batch_correction_wrapper # +# # +# Authors: 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 # +# Version 3: 02-10-2020 # +# - split of tool-linked code and script-linked one # +# - addition of args print and sessionInfo() # +# - adjustment of sample tags' parameters to 3L methods # +# - addition of the min.norm argument in meth3L() call # +# # +# Input files: dataMatrix.txt, sampleMetadata.txt, variableMetadata.txt (BC only) # +# Output files: graph.pdf, corrected table (BC only), diagnostic table (DBC only), # +# variableMetadata (BC only) # +# # +################################################################################################ + + +library(batch) #necessary for parseCommandArgs function + +##------------------------------ +## test help option +##------------------------------ + +# Prog. constants +argv.help <- commandArgs(trailingOnly = FALSE) +script.path <- sub("--file=", "", argv.help[grep("--file=", argv.help)]) +prog.name <- basename(script.path) + +# Test Help +if (length(grep('-h', argv.help)) > 0) { + cat("Usage: Rscript ", + prog.name, + "{args} \n", + "parameters: \n", + "\tanalyse {val}: must be set to \"batch_correction\"", + "\tdataMatrix {file}: set the input data matrix file (mandatory) \n", + "\tsampleMetadata {file}: set the input sample metadata file (mandatory) \n", + "\tvariableMetadata {file}: set the input variable metadata file (mandatory) \n", + "\tmethod {opt}: set the method; can set to \"linear\", \"lowess\" or \"loess\" (mandatory) \n", + "\tspan {condition}: set the span condition; set to \"none\" if method is set to \"linear\" (mandatory) \n", + "\tref_factor {value}: set the ref_factor value; (if span value is set to NULL, optional) \n", + "\tdetail {value}: set the detail value; (if span value is set to NULL, optional) \n", + "\tdataMatrix_out {file}: set the output data matrix file (mandatory) \n", + "\tvariableMetadata_out {file}: set the output variable metadata file (mandatory) \n", + "\tgraph_output {file}: set the output graph file (mandatory) \n", + "\trdata_output {file}: set the output Rdata file (mandatory) \n", + "\tbatch_col_name {val}: the column name for batch. Default value is \"batch\".\n", + "\tinjection_order_col_name {val}: the column name for the injection order. Default value is \"injectionOrder\".\n", + "\tsample_type_col_name {val}: the column name for the sample types. Default value is \"sampleType\".\n", + "\tsample_type_tags {val}: the tags used inside the sample type column, defined as key/value pairs separated by commas (example: blank=blank,pool=pool,sample=sample).\n", + "\n") + quit(status = 0) +} + +##------------------------------ +## init. params +##------------------------------ + +args = parseCommandArgs(evaluate=FALSE) #interpretation of arguments given in command line as an R list of objects + + +cat('\nJob starting time:\n',format(Sys.time(), "%a %d %b %Y %X"), +'\n\n--------------------------------------------------------------------', +'\nParameters used:\n\n') +print(args) +cat('--------------------------------------------------------------------\n\n') + + +# Set default col names +if ( ! 'batch_col_name' %in% names(args)) + args[['batch_col_name']] <- 'batch' +if ( ! 'injection_order_col_name' %in% names(args)) + args[['injection_order_col_name']] <- 'injectionOrder' +if ( ! 'sample_type_col_name' %in% names(args)) + args[['sample_type_col_name']] <- 'sampleType' +if ( ! 'sample_type_tags' %in% names(args)) + args[['sample_type_tags']] <- 'blank=blank,pool=pool,sample=sample' + +# Parse sample type tags +sample.type.tags <- list() +for (kv in strsplit(strsplit(args$sample_type_tags, ',')[[1]], '=')) + sample.type.tags[[kv[[1]]]] <- kv[-1] +if ( ! all(c('pool', 'blank', 'sample') %in% names(sample.type.tags))) + stop("All tags pool, blank and sample must be defined in option sampleTypeTags.") +args$sample_type_tags <- sample.type.tags + +##------------------------------ +## init. functions +##------------------------------ + +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("batch_correction_3Lfct.R","batch_correction_3Llauncher.R","easyrlibrary-lib/RcheckLibrary.R","easyrlibrary-lib/miniTools.R") + +# Specificities of BC and DBC +if(args$analyse == "batch_correction") { + args$out_graph_pdf <- NULL + args$out_preNormSummary <- NULL +}else{ + args$variableMetadata <- NULL + args$rdata_output <- NULL + args$dataMatrix_out <- NULL + args$variableMetadata_out <- NULL + args$graph_output <- NULL + args$method <- NULL + args$detail <- NULL + args$valnull <- NULL +} + +# Launch tool +meth3L(idsample=args$sampleMetadata, iddata=args$dataMatrix, sample_type_col_name=args$sample_type_col_name, injection_order_col_name=args$injection_order_col_name, + batch_col_name=args$batch_col_name, sample_type_tags=args$sample_type_tags, factbio=args$ref_factor, analyse=args$analyse, metaion=args$variableMetadata, + detail=args$detail, method=args$method, outlog=args$graph_output, span=args$span, valnull=args$valnull, rdata_output=args$rdata_output, + dataMatrix_out=args$dataMatrix_out, variableMetadata_out=args$variableMetadata_out, out_graph_pdf=args$out_graph_pdf, out_preNormSummary=args$out_preNormSummary, + min.norm=1) + + +cat('\n\n--------------------------------------------------------------------', +'\nInformation about R (version, Operating System, attached or loaded packages):\n\n') +sessionInfo() +cat('--------------------------------------------------------------------\n', +'\nJob ending time:\n',format(Sys.time(), "%a %d %b %Y %X")) + +rm(args) |
b |
diff -r 73892ef177e3 -r 23314e1192d4 BC/batch_correction_all_loess_script.R --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/BC/batch_correction_all_loess_script.R Thu Jan 14 09:56:58 2021 +0000 |
[ |
b'@@ -0,0 +1,296 @@\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(samp = "green4",\r\n+ biol = "green4",\r\n+ pool = "red",\r\n+ blan = "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(substr(samDF.arg[, args$sample_type_col_name], 1, 4),\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[, args$batch_col_name])\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[, args$batch_col_name] == batC)\r\n+ batPooVi <- intersect(batSeqVi,\r\n+ which(samDF.arg[, args$sample_type_col_name] == "pool"))\r\n+ batSamVi <- intersect(batSeqVi,\r\n+ which(samDF.arg[, args$sample_type_col_name] == "sample"))\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+ if (length(batSamVi))\r\n+ lines(batSeqVi,\r\n+ loessF(sumVn, batSamVi, batSeqVi, spnN=spnN.arg),\r\n+ col = colVc["samp"])\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 <- sol'..b' = 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[, args$sample_type_col_name] == 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[, args$batch_col_name])\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[, args$batch_col_name])\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 == args$sample_type_tags$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]][, args$sample_type_col_name]\r\n+ pooExtML["first", batC] <- head(batSamTypVc, 1) == args$sample_type_tags$pool\r\n+ pooExtML["last", batC] <- tail(batSamTypVc, 1) == args$sample_type_tags$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 <- which(batSamDF[, args$sample_type_col_name] == refC.arg)\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 73892ef177e3 -r 23314e1192d4 BC/batch_correction_all_loess_wrapper.R --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/BC/batch_correction_all_loess_wrapper.R Thu Jan 14 09:56:58 2021 +0000 |
[ |
b'@@ -0,0 +1,250 @@\n+#!/usr/bin/env Rscript\r\n+\r\n+library(batch) ## necessary for parseCommandArgs function\r\n+\r\n+##------------------------------\r\n+## test help option\r\n+##------------------------------\r\n+\r\n+# Prog. constants\r\n+argv.help <- commandArgs(trailingOnly = FALSE)\r\n+script.path <- sub("--file=", "", argv.help[grep("--file=", argv.help)])\r\n+prog.name <- basename(script.path)\r\n+\r\n+# Test Help\r\n+if (length(grep(\'-h\', argv.help)) > 0) {\r\n+ cat("Usage: Rscript ", \r\n+ prog.name,\r\n+ "{args} \\n",\r\n+ "parameters: \\n",\r\n+ "\\tdataMatrix {file}: set the input data matrix file (mandatory) \\n",\r\n+ "\\tsampleMetadata {file}: set the input sample metadata file (mandatory) \\n",\r\n+ "\\tvariableMetadata {file}: set the input variable metadata file (mandatory) \\n",\r\n+ "\\tmethod {opt}: set the method; can set to \\"all_loess_pool\\" or \\"all_loess_sample\\" (mandatory) \\n",\r\n+ "\\tspan {condition}: set the span condition; (mandatory) \\n",\r\n+ "\\tdataMatrix_out {file}: set the output data matrix file (mandatory) \\n",\r\n+ "\\tvariableMetadata_out {file}: set the output variable metadata file (mandatory) \\n",\r\n+ "\\tgraph_output {file}: set the output graph file (mandatory) \\n",\r\n+ "\\trdata_output {file}: set the output Rdata file (mandatory) \\n",\r\n+ "\\tbatch_col_name {val}: the column name for batch. Default value is \\"batch\\".\\n",\r\n+ "\\tinjection_order_col_name {val}: the column name for the injection order. Default value is \\"injectionOrder\\".\\n",\r\n+ "\\tsample_type_col_name {val}: the column name for the sample types. Default value is \\"sampleType\\".\\n",\r\n+ "\\tsample_type_tags {val}: the tags used inside the sample type column, defined as key/value pairs separated by commas (example: blank=blank,pool=pool,sample=sample).\\n",\r\n+ "\\n")\r\n+ quit(status = 0)\r\n+}\r\n+\r\n+##------------------------------\r\n+## init. params\r\n+##------------------------------\r\n+\r\n+args = parseCommandArgs(evaluate=FALSE) #interpretation of arguments given in command line as an R list of objects\r\n+\r\n+# Set default col names\r\n+if ( ! \'batch_col_name\' %in% names(args))\r\n+\targs[[\'batch_col_name\']] <- \'batch\'\r\n+if ( ! \'injection_order_col_name\' %in% names(args))\r\n+\targs[[\'injection_order_col_name\']] <- \'injectionOrder\'\r\n+if ( ! \'sample_type_col_name\' %in% names(args))\r\n+\targs[[\'sample_type_col_name\']] <- \'sampleType\'\r\n+if ( ! \'sample_type_tags\' %in% names(args))\r\n+\targs[[\'sample_type_tags\']] <- \'blank=blank,pool=pool,sample=sample\'\r\n+\r\n+# Parse sample type tags\r\n+sample.type.tags <- list()\r\n+for (kv in strsplit(strsplit(args$sample_type_tags, \',\')[[1]], \'=\'))\r\n+\tsample.type.tags[[kv[[1]]]] <- kv[[2]]\r\n+if ( ! all(c(\'pool\', \'blank\', \'sample\') %in% names(sample.type.tags)))\r\n+\tstop("All tags pool, blank and sample must be defined in option sampleTypeTags.")\r\n+args$sample_type_tags <- sample.type.tags\r\n+\r\n+##------------------------------\r\n+## init. functions\r\n+##------------------------------\r\n+\r\n+source_local <- function(fname){\r\n+ argv <- commandArgs(trailingOnly = FALSE)\r\n+ base_dir <- dirname(substring(argv[grep("--file=", argv)], 8))\r\n+ source(paste(base_dir, fname, sep="/"))\r\n+}\r\n+\r\n+## Import the different functions\r\n+source_local("batch_correction_all_loess_script.R")\r\n+\r\n+argVc <- unlist(args)\r\n+\r\n+## argVc["method"] is either \'all_loess_pool\' or \'all_loess_sample\'\r\n+## alternative version developped by CEA\r\n+## all variables are treated with loess\r\n+## the reference observations for loess are either \'pool\'\r\n+## (\'all_loess_pool\') or \'sample\' (\'all_loess_sample\')\r\n+\r\n+\r\n+##------------------------------\r\n+## Initializing\r\n+##------------------------------\r\n+\r\n+## options\r\n+##--------\r\n+\r\n+strAsFacL <- options()$stringsAsFactors\r\n+options(stringsAsFactors = FALSE)\r\n+\r\n+## libraries\r\n+##----------\r\n+\r\n+suppressMessages(library(ropls))\r\n+\r\n+if(packageVersion("ropls") < "1.4.0")\r\n+ stop("Please use \'ropls\' versions of 1.4.0 and above")\r\n+\r\n+## constants\r\n+##----------\r\n+\r\n+modNamC <- "Batch correction" ## module n'..b'"%a %d %b %Y %X"), "\\n", sep="")\r\n+\r\n+## loading\r\n+##--------\r\n+\r\n+rawMN <- t(as.matrix(read.table(argVc["dataMatrix"],\r\n+ header = TRUE,\r\n+ comment.char = \'\',\r\n+ row.names = 1,\r\n+ sep = "\\t")))\r\n+\r\n+samDF <- read.table(argVc["sampleMetadata"],\r\n+ header = TRUE,\r\n+ comment.char = \'\',\r\n+ row.names = 1,\r\n+ sep = "\\t")\r\n+\r\n+varDF <- read.table(argVc["variableMetadata"],\r\n+ check.names = FALSE,\r\n+ header = TRUE,\r\n+ comment.char = \'\',\r\n+ row.names = 1,\r\n+ sep = "\\t") ## not used; for compatibility only\r\n+\r\n+refC <- tolower(gsub("all_loess_", "", argVc["method"]))\r\n+\r\n+spnN <- as.numeric(argVc["span"])\r\n+\r\n+## checking\r\n+##---------\r\n+\r\n+stopifnot(refC %in% c(\'pool\', \'sample\'))\r\n+refC <- args$sample_type_tags[[refC]]\r\n+\r\n+if(refC == args$sample_type_tags$pool &&\r\n+ !any(args$sample_type_tags$pool %in% samDF[, args$sample_type_col_name]))\r\n+ stop("No \'pool\' found in the \'sampleType\' column; use the samples as normalization reference instead")\r\n+\r\n+refMN <- rawMN[samDF[, args$sample_type_col_name] == refC, ]\r\n+refNasZerVl <- apply(refMN, 2,\r\n+ function(refVn)\r\n+ all(sapply(refVn,\r\n+ function(refN) {is.na(refN) || refN == 0})))\r\n+\r\n+if(sum(refNasZerVl)) {\r\n+\r\n+ refNasZerVi <- which(refNasZerVl)\r\n+ cat("The following variables have \'NA\' or 0 values in all reference samples; they will be removed from the data:\\n", sep = "")\r\n+ rawMN <- rawMN[, !refNasZerVl, drop = FALSE]\r\n+ varDF <- varDF[!refNasZerVl, , drop = FALSE]\r\n+\r\n+}\r\n+\r\n+##------------------------------\r\n+## Computation\r\n+##------------------------------\r\n+\r\n+\r\n+## ordering (batch and injection order)\r\n+##-------------------------------------\r\n+\r\n+samDF[, "ordIniVi"] <- 1:nrow(rawMN)\r\n+ordBatInjVi <- order(samDF[, args$batch_col_name], samDF[, args$injection_order_col_name])\r\n+rawMN <- rawMN[ordBatInjVi, ]\r\n+samDF <- samDF[ordBatInjVi, ]\r\n+\r\n+## signal drift and batch-effect correction\r\n+##-----------------------------------------\r\n+\r\n+nrmMN <- shiftBatchCorrectF(rawMN,\r\n+ samDF,\r\n+ refC,\r\n+ spnN)\r\n+\r\n+## figure\r\n+##-------\r\n+\r\n+cat("\\nPlotting\\n")\r\n+\r\n+pdf(argVc["graph_output"], onefile = TRUE, width = 11, height = 7)\r\n+plotBatchF(rawMN, samDF, spnN)\r\n+plotBatchF(nrmMN, samDF, spnN)\r\n+dev.off()\r\n+\r\n+## returning to initial order\r\n+##---------------------------\r\n+\r\n+ordIniVi <- order(samDF[, "ordIniVi"])\r\n+nrmMN <- nrmMN[ordIniVi, ]\r\n+samDF <- samDF[ordIniVi, ]\r\n+samDF <- samDF[, colnames(samDF) != "ordIniVi", drop=FALSE]\r\n+\r\n+\r\n+##------------------------------\r\n+## Ending\r\n+##------------------------------\r\n+\r\n+\r\n+## saving\r\n+##-------\r\n+\r\n+datMN <- nrmMN\r\n+\r\n+datDF <- cbind.data.frame(dataMatrix = colnames(datMN),\r\n+ as.data.frame(t(datMN)))\r\n+write.table(datDF,\r\n+ file = argVc["dataMatrix_out"],\r\n+ quote = FALSE,\r\n+ row.names = FALSE,\r\n+ sep = "\\t")\r\n+\r\n+varDF <- cbind.data.frame(variableMetadata = rownames(varDF),\r\n+ varDF) ## not modified; for compatibility only\r\n+write.table(varDF,\r\n+ file = argVc["variableMetadata_out"],\r\n+ quote = FALSE,\r\n+ row.names = FALSE,\r\n+ sep = "\\t")\r\n+\r\n+\r\n+res <- list(dataMatrix_raw = rawMN,\r\n+ dataMatrix_normalized = nrmMN,\r\n+ sampleMetadata = samDF)\r\n+save(res,\r\n+ file = argVc["rdata_output"]) ## for compatibility\r\n+\r\n+## closing\r\n+##--------\r\n+\r\n+cat("\\nEnd of \'", modNamC, "\' Galaxy module call: ",\r\n+ as.character(Sys.time()), "\\n", sep = "")\r\n+\r\n+## sink()\r\n+\r\n+options(stringsAsFactors = strAsFacL)\r\n+\r\n+\r\n+rm(argVc)\r\n+\r\n' |
b |
diff -r 73892ef177e3 -r 23314e1192d4 BC/batch_correction_docker_wrapper.R --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/BC/batch_correction_docker_wrapper.R Thu Jan 14 09:56:58 2021 +0000 |
[ |
@@ -0,0 +1,76 @@ +#!/usr/bin/env Rscript + +################################################################################################ +# batch_correction_main_wrapper # +# # +# Author: Nils Paulhe # +# User: Galaxy # +# Original data: -- # +# Starting date: 2017-12-11 # +# Version 1: 2017-12-11 # +# # +# # +# # +################################################################################################ + +library(batch) #necessary for parseCommandArgs function + +##------------------------------ +## init. prog. constants +##------------------------------ + +argv.wrapper <- commandArgs(trailingOnly = FALSE) +script.path <- sub("--file=", "", argv.wrapper[grep("--file=", argv.wrapper)]) +prog.name <- basename(script.path) + +##------------------------------ +## init. functions +##------------------------------ + +script_bypass <- function(other.script.name) { + initial.options <- commandArgs(trailingOnly = FALSE) + file.arg.name <- "--file=" + script.name <- sub(file.arg.name, "", initial.options[grep(file.arg.name, initial.options)]) + script.basename <- dirname(script.name) + other.script.fullpath <- paste(sep="/", script.basename, other.script.name) + other.script.cmd <- paste(sep=" ", "Rscript", other.script.fullpath, "-h") + system(other.script.cmd, wait=TRUE) +} + +source_wrapper <- function(other.script.name){ + initial.options <- commandArgs(trailingOnly = FALSE) + file.arg.name <- "--file=" + script.name <- sub(file.arg.name, "", initial.options[grep(file.arg.name, initial.options)]) + script.basename <- dirname(script.name) + other.script.fullpath <- paste(sep="/", script.basename, other.script.name) + source(other.script.fullpath) +} + +##------------------------------ +## Test Help +##------------------------------ + +if (length(grep('-h', argv.wrapper)) > 0) { + cat("Usage: Rscript ", + prog.name, + "{args} \n", + "parameters: \n", + "\t-h: display this help message, call all scripts with the same option and exit (optional) \n", + "\t--loess \"TRUE\": call the script as \"batch_correction_all_loess_wrapper.R\"; otherwise call it as \"batch_correction_wrapper.R\" one (optional) \n", + "for other parameters, please refer to each script specific options and parameters. \n", + "\n") + script_bypass("batch_correction_all_loess_wrapper.R") + script_bypass("batch_correction_wrapper.R") + quit(status = 0) +} + +##------------------------------ +## check if loess or normal +##------------------------------ + +if (length(grep('--loess', argv.wrapper)) > 0) { + source_wrapper("batch_correction_all_loess_wrapper.R") +} else { + source_wrapper("batch_correction_3Lwrapper.R") +} + |
b |
diff -r 73892ef177e3 -r 23314e1192d4 BC/determine_bc.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/BC/determine_bc.xml Thu Jan 14 09:56:58 2021 +0000 |
[ |
b'@@ -0,0 +1,231 @@\n+<tool id="Determine_BC" name="Determine_batch_correction" version="3.0.0">\r\n+ <description>to choose between linear, lowess and loess methods</description>\r\n+ \r\n+ <macros>\r\n+ <import>macros.xml</import>\r\n+ </macros>\r\n+ \r\n+ <requirements>\r\n+ <requirement type="package" version="1.1_4">r-batch</requirement>\r\n+ <requirement type="package" version="1.7_8">r-ade4</requirement>\r\n+ <requirement type="package" version="1.70.0">bioconductor-pcamethods</requirement>\r\n+ </requirements>\r\n+\r\n+ <stdio>\r\n+ <exit_code range="1:" level="fatal" />\r\n+ </stdio>\r\n+ \r\n+ <command><![CDATA[\r\n+ Rscript $__tool_directory__/batch_correction_3Lwrapper.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+ @SM_CUSTOM@\r\n+ ]]></command>\r\n+ \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+ <expand macro="sm_customisation"/>\r\n+ <expand macro="foi"/>\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+ <when value="hide"/>\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+\r\n+ <tests>\r\n+ <test>\r\n+ <param name="dataMatrix" value="input-determinebc-dataMatrix.tsv"/>\r\n+ <param name="sampleMetadata" value="input-determinebc-sampleMetadata.tsv"/>\r\n+ <param name="ref_factor" value="batch"/>\r\n+ <param name="option" value="hide"/>\r\n+ <param name="span" value="none"/>\r\n+ <output name="out_preNormSummary" file="output-determinebc-preNormSummary.txt"/>\r\n+ </test>\r\n+ </tests>\r\n+\r\n+ <help>\r\n+\r\n+.. class:: infomark\r\n+\r\n+**Authors**\r\n+ | Jean-Francois Martin - PF MetaToul-AXIOM ; INRAE ; 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 ; INRAE ; 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 (for original xml interface and R wrapper)\r\n+ | Franck Giacomoni - PFEM ; INRAE ; MetaboHUB (for original 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 <http://www.ncbi.nlm.nih.gov/pubmed/19754161>`_\r\n+\r\n+---------------------------------------------------\r\n+\r\n+==========================\r\n+Determine_batch_correction\r\n+==========================\r\n+\r\n+| \r\n+\r\n+-----------\r\n+Description\r\n+-----------\r\n+\r\n+| \r\n+\r\n+Generates outputs to help to determine what type of regression to use between linear or non-linear (lowess or loess) fun'..b' Parameter : num + label | Format |\r\n++==========================+===========+\r\n+| 1 : Data matrix file | tabular |\r\n++--------------------------+-----------+\r\n+| 2 : Sample metadata file | tabular |\r\n++--------------------------+-----------+\r\n+\r\n+| \r\n+\r\n+The data matrix file must contain the intensity values of variables.\r\n+ | First line must contain all the samples\' names.\r\n+ | First column must contain all the variables\' ID.\r\n+\r\n+\r\n+The sample metadata file must contain at least the three following columns: \r\n+ | - a batch column (default to "*batch*") to identify the batches of analyses\r\n+ | - an injection order column (default to "*injectionOrder*") composed of integers defining the injection order of samples\r\n+ | - a sample type column (default to "*sampleType*") indicating if a sample is a biological one ("*sample*"), a QC-pool ("*pool*") or a blank ("*blank*")\r\n+ | *Default values* can be changed according to your data coding using the customisation parameters in the "**Sample metadata file coding parameters**" section.\r\n+\r\n+\r\n+**Notes concerning your design:** \r\n+ | - the 3 mandatory columns must not contain NA\r\n+ | - your data should contain at least 3 QC-pools in each batch for intra-batch **linear** adjustment and 8 for **lo(w)ess** adjustment\r\n+\r\n+\r\n+\r\n+----------\r\n+Parameters\r\n+----------\r\n+\r\n+Sample metadata file coding parameters\r\n+ | Enables to give the names of columns in the sample metadata table that contain the injection order, the batches and the sample types.\r\n+ | Also enables to specify the sample type coding used in the sampletype column. \r\n+ |\r\n+\r\n+Factor of interest\r\n+ | Name of the factor (column header) that will be used as a categorical variable for design plots (often a biological factor ; if none, put the batch column name).\r\n+ | This factor does not affect correction calculation.\r\n+ |\r\n+\r\n+Advanced options\r\n+ | Should only be put at "show" if you have good understanding of the span parameter and are willing to adjust it.\r\n+ |\r\n+\r\n+Span\r\n+ | - When advanced option is at "hide" (default):\r\n+ | default is 1 for loess regression and is two times the ratio between number of pools and number of samples for lowess regression.\r\n+ | - When advanced option is at "show": \r\n+ | filled value is used for lowess and loess regressions.\r\n+\r\n+\r\n+------------\r\n+Output files\r\n+------------\r\n+\r\n+Determine_BC_preNormSummary.tabular\r\n+ | tabular output\r\n+ | Meaning of results of diagnosis analysis\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+ | 2.5 - less than 2 samples within a batch\r\n+ | 3 - significant difference between QC-pools\' and samples\' means\r\n+ | 4 - denominator =0 when on 1 pool per batch non-zero\r\n+ | 5 - (linear regression only) the slopes ratio \xe2\x80\x9cQC-pools/samples\xe2\x80\x9d is lower than -0.2\r\n+ | 6 - (linear regression only) none of the pool or sample could be corrected if negative and infinite values are turned into NA\r\n+ |\r\n+\r\n+Determine_BC_graph.pdf\r\n+ | graphical output\r\n+ | One page per ion. Plots regression curves for all methods allowed and plot.design results regarding the factor of interest. \r\n+\r\n+\r\n+---------------------------------------------------\r\n+\r\n+----------------------\r\n+Additional information\r\n+----------------------\r\n+\r\n+\r\n+.. class:: warningmark\r\n+\r\n+Refer to the corresponding "W4M HowTo" page:\r\n+ | `MS data processing - Filters and normalisation <https://download.workflow4metabolomics.org/docs/w4e2018/2018-10_EC_W4E%20-%20Dataprocessing_Filter_and_normalisation.pdf>`_\r\n+ |\r\n+ |\r\n+\r\n+\r\n+</help>\r\n+\r\n+ <!-- [RECOMMANDED] All citations associated to this tool (main citation given above and other references). Can be extracted from the history panel -->\r\n+ <citations>\r\n+ <!-- [HELP] As DOI or BibTex entry -->\r\n+ <citation type="doi">10.1021/pr900499r</citation>\r\n+ </citations>\r\n+ \r\n+\r\n+\r\n+</tool>\r\n' |
b |
diff -r 73892ef177e3 -r 23314e1192d4 BC/easyrlibrary-lib/RcheckLibrary.R --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/BC/easyrlibrary-lib/RcheckLibrary.R Thu Jan 14 09:56:58 2021 +0000 |
[ |
@@ -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 73892ef177e3 -r 23314e1192d4 BC/easyrlibrary-lib/miniTools.R --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/BC/easyrlibrary-lib/miniTools.R Thu Jan 14 09:56:58 2021 +0000 |
[ |
@@ -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 73892ef177e3 -r 23314e1192d4 BC/macros.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/BC/macros.xml Thu Jan 14 09:56:58 2021 +0000 |
b |
@@ -0,0 +1,44 @@ +<?xml version="1.0"?> +<macros> + + <xml name="sm_customisation"> + <section name="smcust" title="Sample metadata file coding parameters" expanded="False"> + <param name="batch_col_name" label="Batch column name" type="text" size="64" value="batch" help="The name of the column containing the batch values."/> + <param name="injection_order_col_name" label="Injection order column name" type="text" size="64" value="injectionOrder" help="The name of the column containing the injection order values."/> + <param name="sample_type_col_name" label="Sample type column name" type="text" size="64" value="sampleType" help="The name of the column containing the sample type values."/> + <param name="sampleTypeTagPool" type="text" size="64" value="pool" label="Set the name used to tag samples as pool in the sample type column."/> + <param name="sampleTypeTagBlank" type="text" size="64" value="blank" label="Set the name used to tag samples as blank in the sample type column."/> + <param name="sampleTypeTagSample" type="text" size="64" value="sample" label="Set the name used to tag samples as real sample in the sample type column."/> + </section> + </xml> + + <token name="@SM_CUSTOM@"> + batch_col_name "$smcust.batch_col_name" + injection_order_col_name "$smcust.injection_order_col_name" + sample_type_col_name "$smcust.sample_type_col_name" + sample_type_tags "blank=$smcust.sampleTypeTagBlank,pool=$smcust.sampleTypeTagPool,sample=$smcust.sampleTypeTagSample" + </token> + + <xml name="foi"> + <param name="ref_factor" label="Factor of interest " type="text" value="batch" help="Column name of a factor of interest in the sampleMatadata table (if none, fill with the batch column name). Used for graphical display only; this factor does not affect correction calculation." /> + </xml> + + <xml name="lll_span"> + <param name="span" type="float" value="1" label="span" help="It is an advanced option; strictly > 0 and maximum to 1."/> + </xml> + + <xml name="lll_options"> + <param name="valnull" label="Unconsistant values" type="select" display="radio" help="What to do of generated negative or infinite values"> + <option value="none">Prevent it: normalisation term reset to adequate minimum one</option> + <option value="0">Consider it as a null intensity ('0')</option> + <option value="NA">Consider it as a missing value ('NA')</option> + </param> + <expand macro="foi"/> + <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."> + <option value="no">basic</option> + <option value="plot">standard</option> + <option value="reg">complete</option> + </param> + </xml> + +</macros> |
b |
diff -r 73892ef177e3 -r 23314e1192d4 BC/static/images/batch_correction.png |
b |
Binary file BC/static/images/batch_correction.png has changed |
b |
diff -r 73892ef177e3 -r 23314e1192d4 BC/static/images/determine_batch_correction.png |
b |
Binary file BC/static/images/determine_batch_correction.png has changed |
b |
diff -r 73892ef177e3 -r 23314e1192d4 BC/test-data/input-batchcorrection-dataMatrix.tsv --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/BC/test-data/input-batchcorrection-dataMatrix.tsv Thu Jan 14 09:56:58 2021 +0000 |
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 73892ef177e3 -r 23314e1192d4 BC/test-data/input-batchcorrection-sampleMetadata-customSampleType.tsv --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/BC/test-data/input-batchcorrection-sampleMetadata-customSampleType.tsv Thu Jan 14 09:56:58 2021 +0000 |
b |
@@ -0,0 +1,109 @@ + injectionOrder MySampType batch +QC1_001 1 lot b1 +HU_022 2 echant b1 +HU_076 3 echant b1 +HU_166 4 echant b1 +HU_114 5 echant b1 +HU_190 6 echant b1 +HU_139 7 echant b1 +HU_096 8 echant b1 +HU_058 9 echant b1 +HU_031 10 echant b1 +QC1_002 11 lot b1 +HU_039 12 echant b1 +HU_087 13 echant b1 +HU_143 14 echant b1 +HU_162 15 echant b1 +HU_102 16 echant b1 +HU_188 17 echant b1 +HU_095 18 echant b1 +HU_062 19 echant b1 +QC1_003 20 lot b1 +HU_063 21 echant b1 +HU_011 22 echant b1 +HU_074 23 echant b1 +HU_122 24 echant b1 +HU_142 25 echant b1 +HU_030 26 echant b1 +HU_187 27 echant b1 +HU_167 28 echant b1 +HU_113 29 echant b1 +QC1_004 30 lot b1 +HU_081 31 echant b1 +HU_014 32 echant b1 +HU_206 33 echant b1 +HU_119 34 echant b1 +HU_033 35 echant b1 +HU_067 36 echant b1 +HU_140 37 echant b1 +HU_164 38 echant b1 +HU_193 39 echant b1 +HU_112 40 echant b1 +QC1_005 41 lot b1 +HU_097 42 echant b1 +HU_056 43 echant b1 +HU_195 44 echant b1 +HU_135 45 echant b1 +HU_159 46 echant b1 +HU_070 47 echant b1 +HU_038 48 echant b1 +HU_026 49 echant b1 +QC1_006 50 lot b1 +HU_098 51 echant b1 +HU_115 52 echant b1 +HU_137 53 echant b1 +HU_019 54 echant b1 +HU_073 55 echant b1 +HU_168 56 echant b1 +HU_191 57 echant b1 +HU_040 58 echant b1 +HU_046 59 echant b1 +QC1_007 60 lot b1 +HU_103 61 echant b1 +HU_015 62 echant b1 +HU_053 63 echant b1 +HU_121 64 echant b1 +HU_183 65 echant b1 +HU_199 66 echant b1 +HU_042 67 echant b1 +HU_075 68 echant b1 +QC1_008 69 lot b1 +HU_203 70 echant b1 +HU_024 71 echant b1 +HU_082 72 echant b1 +HU_169 73 echant b1 +HU_129 74 echant b1 +HU_057 75 echant b1 +HU_035 76 echant b1 +HU_194 77 echant b1 +HU_145 78 echant b1 +HU_104 79 echant b1 +QC1_009 80 lot b1 +HU_177 81 echant b1 +HU_025 82 echant b1 +HU_080 83 echant b1 +HU_117 84 echant b1 +HU_136 85 echant b1 +HU_197 86 echant b1 +HU_036 87 echant b1 +HU_054 88 echant b1 +HU_085 89 echant b1 +QC1_010 90 lot b1 +HU_160 91 echant b1 +HU_092 92 echant b1 +HU_023 93 echant b1 +HU_124 94 echant b1 +HU_147 95 echant b1 +HU_205 96 echant b1 +HU_084 97 echant b1 +HU_120 98 echant b1 +HU_198 99 echant b1 +QC1_011 100 lot b1 +HU_045 101 echant b1 +HU_029 102 echant b1 +HU_069 103 echant b1 +HU_155 104 echant b1 +HU_106 105 echant b1 +HU_146 106 echant b1 +HU_128 107 echant b1 +QC1_012 108 lot b1 |
b |
diff -r 73892ef177e3 -r 23314e1192d4 BC/test-data/input-batchcorrection-sampleMetadata.tsv --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/BC/test-data/input-batchcorrection-sampleMetadata.tsv Thu Jan 14 09:56:58 2021 +0000 |
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 73892ef177e3 -r 23314e1192d4 BC/test-data/input-batchcorrection-variableMetadata.tsv --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/BC/test-data/input-batchcorrection-variableMetadata.tsv Thu Jan 14 09:56:58 2021 +0000 |
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 73892ef177e3 -r 23314e1192d4 BC/test-data/input-determinebc-dataMatrix.tsv --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/BC/test-data/input-determinebc-dataMatrix.tsv Thu Jan 14 09:56:58 2021 +0000 |
b |
b'@@ -0,0 +1,11 @@\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"\r\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.715616'..b'0.315983861\t5266.79917625168\t0\t7597.51546438219\t51561.6956682535\t37548.6933920918\t0\t33291.0445651875\t49732.0512893425\t3822.41876047632\r\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\r\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\r\n' |
b |
diff -r 73892ef177e3 -r 23314e1192d4 BC/test-data/input-determinebc-sampleMetadata.tsv --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/BC/test-data/input-determinebc-sampleMetadata.tsv Thu Jan 14 09:56:58 2021 +0000 |
b |
@@ -0,0 +1,217 @@ +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 73892ef177e3 -r 23314e1192d4 BC/test-data/output-batchcorrection-dataMatrix-3L.tsv --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/BC/test-data/output-batchcorrection-dataMatrix-3L.tsv Thu Jan 14 09:56:58 2021 +0000 |
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\t25803075.7934692\t22245824.2847269\t33362554.2191462\t33928934.4345858\t38807014.0133695\t3717738.65900104\t31219859.2933296\t6291.31363707351\t15131230.5632725\t8756547.00256203\t25856701.6650234\t59056979.1889069\t29050997.1320749\t13803382.5181896\t58821588.2685604\t25572860.8589489\t4186241.20057895\t24196855.2209286\t8227264.6657377\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.8883681\t10617590.3611776\t9120431.09064854\t15241202.9006152\t2261599.30730485\t58759423.0611775\t26517342.9796031\t30719184.4007157\t33192502.7071917\t22068493.5017958\t33303157.4776969\t34172633.7472131\t18579133.8342916\t1736830.6196864\t5469159.08340882\t26028583.3459301\t37001411.617135\t20692573.3989206\t13816252.639442\t34870261.9550916\t23892218.6299541\t1872945.84405521\t15426635.7603488\t18162831.6252458\t26102769.1872127\t25361346.9657174\t21929943.0837876\t18078624.5109582\t6840325.51189839\t4298370.91012194\t31509926.1754072\t8295287.27846443\t17172834.9582155\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.755618\t20639166.0088837\t16756757.7249078\t13706617.4203876\t17909520.861204\t10313589.4233512\t3496125.9541859\t60226584.6603481\t27630414.5917129\t31789128.6314397\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.1211614\t37583231.5063693\t20143805.8172678\t48458875.6355475\t26748923.8912104\t68078552.6187056\t24997128.5325153\r\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.73929574\t3508706.85006505\t9712180.20631259\t2476600.44425196\t36796698.0155182\t18383172.8975158\t20030292.2095366\t28420783.0348719\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.45834936\t17272393.7800738\t12115844.3854106\t37838671.3549049\t24578647.3453827\t12576530.043839\t38821007.8916729\t14918987.221712\t16276773.2164009\t21233018.154724\t19136021.9919223\t9400183.58057162'..b'379590.645665412\t1844298.69664545\t870937.442830779\t2356166.75195693\t164311.529003331\t349459.801477914\t823428.847301445\t2107084.32750251\t669378.01382843\t150733.348803707\t523911.746625199\t744024.061805947\t2599962.04012818\t856833.824741266\t284883.086861231\t591043.736673909\t642323.237630858\t1907003.50488254\t469450.994570684\t196339.885602822\t125002.960028599\t672404.048261206\t860929.784369575\t679927.541258646\t654929.477989829\t1540739.95309163\t410562.903519911\t1989289.6989242\t679559.976464\t1057930.49563655\t1224273.21983297\t780153.428304948\t851459.59548852\t426594.142639599\t729634.719366778\t264295.457609758\t839697.679793716\t694220.12107286\t1180742.63583948\t556486.258026036\t974617.45493391\t802529.952244419\t1617802.85361309\t1157452.28225789\t1134009.02893168\t950763.050806536\t452631.049787301\t469184.972536049\t963758.139805117\t143691.091476743\t1622088.74186515\t1078521.16384775\t909801.613197759\t1539788.40006757\t1405057.03024695\t1446597.07759849\t859101.558136012\t142383.112819682\t2589391.88056521\t977785.384695409\t1054180.33235713\t1090979.33590343\t813748.203006604\t1229309.49062481\t1608619.81571132\t292076.848877472\t863039.358844594\t1515390.49822307\t720835.420170902\t443982.812394315\t977783.054388113\t479678.805085767\t861454.511172264\t399179.581453245\t537468.992122009\t1341168.53297046\t356665.05278084\t1077581.84947797\t699378.392150834\t2180156.83550866\t859740.908081678\r\n+met_112\t4538260.07332924\t1997603.63759386\t3101105.23740388\t8676705.07693322\t4499120.50413991\t2300186.26663146\t6028064.84593985\tNA\t2491991.86068611\t4936389.92875914\t3934368.63868677\t3223602.52806592\t5758560.31329564\t4068603.841081\t3020876.08310118\t2092201.98947378\t1414128.60450223\t3564589.34919401\t4454519.51899205\t4111395.21282403\t6506628.04141497\t1638924.06694788\t4704057.12477127\t3783706.68101197\t6398699.60280182\t2814042.19687001\t1380804.4721669\t2762753.71246615\t5605197.20586148\t4482681.39654663\t8211280.36032051\t1649600.0418054\t3908924.69185977\t3874350.9274596\t7338556.35476537\t4151528.10101193\t2487779.1011633\t2870763.03704328\t4304219.62588264\t9393649.78742389\t4176141.32094111\t2629914.41305345\t2699719.51441012\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.58611064\t6050319.56436355\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.53680362\t3500477.92909193\t2617203.28223743\t4414062.28201561\t3812798.14081105\t4585421.2045072\t8793172.67675603\t4637139.66088435\t943790.950209665\t8994466.91015318\t4615134.45758878\t5559998.73571828\t6145353.55124428\t4289798.20115877\t2893421.75793062\t7849317.9231938\t1717519.10857095\t5494016.27783925\t4286547.30565284\t4216165.66988366\t2612752.98298915\t3584586.08196358\t7009045.08682862\t4480360.79775925\t1797914.42775286\t2958118.63205771\t5180419.78048593\t2965412.74263722\t6867343.34574981\t4060369.23068331\t4489646.44698815\t4072790.12794517\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 73892ef177e3 -r 23314e1192d4 BC/test-data/output-batchcorrection-dataMatrix.tsv --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/BC/test-data/output-batchcorrection-dataMatrix.tsv Thu Jan 14 09:56:58 2021 +0000 |
b |
b'@@ -0,0 +1,114 @@\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\r\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\r\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.5'..b'09\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\r\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\r\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\r\n' |
b |
diff -r 73892ef177e3 -r 23314e1192d4 BC/test-data/output-determinebc-preNormSummary.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/BC/test-data/output-determinebc-preNormSummary.txt Thu Jan 14 09:56:58 2021 +0000 |
b |
@@ -0,0 +1,11 @@ +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 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/Normalisation_QCpool.r --- a/batchcorrection-57edfd3943ab/Normalisation_QCpool.r Tue May 02 09:47:22 2017 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 |
[ |
b'@@ -1,437 +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-# Version 2.90 change in handling of generated negative and Inf values\n-# Version 2.91 Plot improvement\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='..b'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),\n- main=paste0("after correction (CV for 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="factors effect before correction"))\n-\t\t \tsuppressWarnings(plot.design(Xn[c(indtypsamp,indbatch,indfact,p+nbid)],main="factors effect after correction"))\n-\t\t}\n-\t}\n- ### Replacement of post correction negative values by chosen value\n-\tXnn=Xn\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,as.numeric(valNull))\n-\t}\n- Xn=Xnn\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 before correction")\n- boxplot(cvplot[[2]],ylim=c(min(cvplot),max(cvplot)),main="CV after correction")\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- # Make a PCA and plot scores and loadings.\n- # First column must contain samples\' identifiers.\n- # Columns 2 to 4 contain factors to colour the plots. \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-\t# Removing ions containing NA (not compatible with standard PCA)\n-\tions=t(na.omit(t(ions)))\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")}}\n- # Scaling choice: "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 : to plot samples\' ellipsoid for each class\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- xlab=bquote(PC1-R^2==.(resulti@R2[1])),ylab=bquote(PC2 - R^2 == .(resulti@R2[2])))\n- abline(h=0,v=0)}\n-}\n-\n-\n' |
b |
diff -r 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/README.md --- a/batchcorrection-57edfd3943ab/README.md Tue May 02 09:47:22 2017 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 |
[ |
@@ -1,93 +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.1.2 -**Date:** 2017-04-30 -**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:** [W4M00001_Sacurine-statistics; DOI:10.15454/1.4811121736910142E12](http://dx.doi.org/10.15454/1.4811121736910142E12) and [W4M00002_Sacurine-comprehensive; DOI:10.15454/1.481114233733302E12](http://dx.doi.org/10.15454/1.481114233733302E12) -**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 the reference histories [W4M00001_Sacurine-statistics; DOI:10.15454/1.4811121736910142E12](http://dx.doi.org/10.15454/1.4811121736910142E12) and [W4M00002_Sacurine-comprehensive; DOI:10.15454/1.481114233733302E12](http://dx.doi.org/10.15454/1.481114233733302E12) - - -### News - -##### CHANGES IN VERSION 2.1.2 - -INTERNAL MODIFICATIONS - - * Minor modifications in config file - -##### CHANGES IN VERSION 2.1.0 - -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) - - * Additional running and installation tests added with planemo, conda, and travis - - * 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 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/batch_correction.xml --- a/batchcorrection-57edfd3943ab/batch_correction.xml Tue May 02 09:47:22 2017 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 |
[ |
b'@@ -1,356 +0,0 @@\n-<tool id="Batch_correction" name="Batch_correction" version="2.1.2">\n- <description>Corrects intensities for signal drift and batch-effects</description>\n-\n- <requirements>\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-\tvalnull "${span_condition.valnull}"\n- ref_factor "${span_condition.ref_factor}"\n- detail "${span_condition.detail}"\n- #end if\n- dataMatrix_out "$dataMatrix_out" variableMetadata_out "$variableMetadata_out"\n- graph_output "$graph_output" rdata_output "$rdata_output"\n- ]]></command>\n-\n-\t<inputs>\n-\t\t<param name="dataMatrix" label="Data Matrix file " format="tabular" type="data" />\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\'"/>\n-\t\t<param name="variableMetadata" label="Variable metadata file " format="tabular" type="data" />\n-\t\t\n-\t\t<conditional name="span_condition">\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.">\n-\t\t\t\t<option value="linear">linear</option>\n-\t\t\t\t<option value="lowess">lowess</option>\n-\t\t\t\t<option value="loess">loess</option>\n-\t\t\t\t<option value="all_loess_pool">all loess pool</option>\n-\t\t\t\t<option value="all_loess_sample">all loess sample</option>\n-\t\t\t</param>\n-\t\t\t<when value="linear">\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">\n-\t\t\t\t\t<option value="0">consider it as a null intensity</option>\n-\t\t\t\t\t<option value="NA">consider it as a missing value</option>\n-\t\t\t\t</param>\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\'" />\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.">\n-\t\t\t\t\t<option value="no">basic</option>\n-\t\t\t\t\t<option value="plot">standard</option>\n-\t\t\t\t\t<option value="reg">complete</option>\n-\t\t\t\t</param>\n-\t\t\t</when>\n-\t\t\t<when value="lowess">\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"/>\n-\t\t\t\t<param name="valnull" label="Null values" type="select" display="radio" help="What to do of generated negative o'..b'o 0 for lo(w)ess\n-\t| or correct them by the batch mean instead of regression estimate for linear. \n-\t| \n-\n-Factor of interest\n-\t| available for regression model *linear*, *lowess* and *loess*\n-\t| Name of the factor (column header) in Sample metadata file that will be used as a categorical variable for plots and PCA.\n-\t| (often a biological factor ; if none, leave "batch")\n-\t| This factor does not affect correction calculation.\n-\t| \n-\n-Level of details for plots\n-\t| available for regression model *linear*, *lowess* and *loess*\n-\t| *basic*: PCA + CV boxplot (before and after correction)\n-\t| *standard*: \'basic\' plots + before/after-correction plots of intensities over injection order, and design effects for each ion\n-\t| *complete*: \'standard\' plots + QC-pool regression plots per batch with samples\' intensities over injection order\n-\t| This factor is not used by the *all loess* methods where a unique figure is generated showing the sum of intensities along injection order, and the first 4 PCA scores.\n-\t| \n-\n-\n-------------\n-Output files\n-------------\n-\n-Batch_correction_$method_rdata.rdata\n-\t| binary data\n-\t| Download, open R and use the \'load\' function; objects are in the \'res\' list\n-\t|\n-\n-Batch_correction_$method_graph.pdf\n-\t| graphical output\n-\t| For the *linear* and *lo(w)ess* methods, content depends on level of details chosen \n-\t|\n-\n-Batch_correction_$method_variableMetadata.tabular\n-\t| tsv output\n-\t| Identical to the Variable metadata input file, with x more columns (where x is the number of batches) in case of *linear*, *lowess* and *loess* methods\n-\t|\n-\n-Batch_correction_$method_dataMatrix.tabular\n-\t| tsv output (tabulated)\n-\t| Same formatting as Data Matrix file; contains corrected intensities\n-\t|\n-\n-\t\n----------------------------------------------------\n-\n----------------\n-Working example\n----------------\n-\n-.. class:: infomark\n-\n-Refer to the corresponding "W4M HowTo" page:\n- | `MS data processing - Filters and normalisation <http://workflow4metabolomics.org/sites/workflow4metabolomics.org/files/files/w4e-2016-data_processing.pdf>`_\n- |\n- |\n-\n-See also the reference history:\n- | `W4M00001_Sacurine-statistics (DOI:10.15454/1.4811121736910142E12) <http://dx.doi.org/10.15454/1.4811121736910142E12>`_\n- |\n-\n----------------------------------------------------\n-\n-----\n-NEWS\n-----\n-\n-CHANGES IN VERSION 2.1.2 \n-======================== \n-\n-INTERNAL MODIFICATIONS \n-\n-Minor modifications in config file \n-\n-CHANGES IN VERSION 2.1.0\n-========================\n-\n-INTERNAL MODIFICATIONS \n-\n-For PCA figure display only (**all_loess** options): missing values are set to the minimum value before PCA computation is performed (with svd)\n-\n-Additional running and installation tests added with planemo, conda, and travis\n-\n-BUG FIX\n-\n-Variables with NA or 0 values in all reference samples are discarded before applying the **all_loess** normalization\n-\n-INTERNAL MODIFICATIONS\n-\n-Modifications of the **all_loess_wrapper** file to handle the recent **ropls** package versions (i.e. 1.3.15 and above) which use S4 classes\n-\n- </help>\n- <!-- [RECOMMANDED] All citations associated to this tool (main citation given above and other references). Can be extracted from the history panel -->\n- <citations>\n- <!-- [HELP] As DOI or BibTex entry -->\n- <citation type="doi">10.1021/pr900499r</citation>\n- <citation type="doi">10.1038/nprot.2011.335</citation>\n- <citation type="bibtex">@ARTICLE{Cleveland91,\n- author = {Cleveland et al},\n- year = {1991},\n- journal = {Statistical Models in S, Chambers JM. and Hastie TJ. Ed., Chapman et Hall: London},\n- title = {Local Regression Models},\n- pages = {309-376},\n- editor = {Chambers JM. and Hastie TJ. Ed.},\n- publisher = {Chapman et Hall: London},\n- chapter = {8}\n- }</citation>\n-\t<citation type="doi">10.1021/acs.jproteome.5b00354</citation>\n- </citations>\n-\t\n-\n-</tool>\n' |
b |
diff -r 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/batch_correction_all_loess_script.R --- a/batchcorrection-57edfd3943ab/batch_correction_all_loess_script.R Tue May 02 09:47:22 2017 -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 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/batch_correction_all_loess_wrapper.R --- a/batchcorrection-57edfd3943ab/batch_correction_all_loess_wrapper.R Tue May 02 09:47:22 2017 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 |
[ |
@@ -1,188 +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") - - -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 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/batch_correction_wrapper.R --- a/batchcorrection-57edfd3943ab/batch_correction_wrapper.R Tue May 02 09:47:22 2017 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 |
[ |
@@ -1,131 +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 # -# 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","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") -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/w4e-2016-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 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/build.xml --- a/batchcorrection-57edfd3943ab/build.xml Tue May 02 09:47:22 2017 -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 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/determine_bc.xml --- a/batchcorrection-57edfd3943ab/determine_bc.xml Tue May 02 09:47:22 2017 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 |
[ |
b'@@ -1,284 +0,0 @@\n-<tool id="Determine_BC" name="Determine_batch_correction" version="2.1.2">\n- <description>to choose between linear, lowess and loess methods</description>\n-\n- <requirements>\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- <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**\n- | Jean-Francois Martin - PF MetaToul-AXIOM ; INRA ; MetaboHUB (for original version of this tool and overall development of the R script)\n-\n-.. class:: infomark\n-\n-**Contributors**\n- | Melanie Petera - PFEM ; INRA ; MetaboHUB (for R wrapper and R script improvement)\n-\n-.. class:: infomark\n-\n-**Wrapping**\n- | Marion Landi - FLAME ; PFEM ; INRA ; MetaboHUB (for xml interface and R wrapper)\n- | Franck Giacomoni - PFEM ; INRA ; MetaboHUB (for xml interface and R wrapper)\n-\n----------------------------------------------------\n-\n-.. class:: infomark\n-\n-**Please cite** If you use this tool, please cite:\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 <http://www.ncbi.nlm.nih.gov/pubmed/19754161>`_\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 s'..b' DOI or BibTex entry -->\n- <citation type="doi">10.1021/pr900499r</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 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/easyrlibrary-lib/RcheckLibrary.R --- a/batchcorrection-57edfd3943ab/easyrlibrary-lib/RcheckLibrary.R Tue May 02 09:47:22 2017 -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 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/easyrlibrary-lib/miniTools.R --- a/batchcorrection-57edfd3943ab/easyrlibrary-lib/miniTools.R Tue May 02 09:47:22 2017 -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 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/runit/batchcorrection_runtests.R --- a/batchcorrection-57edfd3943ab/runit/batchcorrection_runtests.R Tue May 02 09:47:22 2017 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 |
[ |
@@ -1,130 +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[["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 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/runit/batchcorrection_tests.R --- a/batchcorrection-57edfd3943ab/runit/batchcorrection_tests.R Tue May 02 09:47:22 2017 -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 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/runit/example1/dataMatrix.tsv --- a/batchcorrection-57edfd3943ab/runit/example1/dataMatrix.tsv Tue May 02 09:47:22 2017 -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 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/runit/example1/sampleMetadata.tsv --- a/batchcorrection-57edfd3943ab/runit/example1/sampleMetadata.tsv Tue May 02 09:47:22 2017 -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 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/runit/example1/variableMetadata.tsv --- a/batchcorrection-57edfd3943ab/runit/example1/variableMetadata.tsv Tue May 02 09:47:22 2017 -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 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/runit/input/dataMatrix.tsv --- a/batchcorrection-57edfd3943ab/runit/input/dataMatrix.tsv Tue May 02 09:47:22 2017 -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 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/runit/input/sampleMetadata.tsv --- a/batchcorrection-57edfd3943ab/runit/input/sampleMetadata.tsv Tue May 02 09:47:22 2017 -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 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/runit/input/variableMetadata.tsv --- a/batchcorrection-57edfd3943ab/runit/input/variableMetadata.tsv Tue May 02 09:47:22 2017 -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 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/runit/output/dataMatrix.tsv --- a/batchcorrection-57edfd3943ab/runit/output/dataMatrix.tsv Tue May 02 09:47:22 2017 -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 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/runit/output/graph_output.pdf |
b |
Binary file batchcorrection-57edfd3943ab/runit/output/graph_output.pdf has changed |
b |
diff -r 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/runit/output/out_graph.pdf |
b |
Binary file batchcorrection-57edfd3943ab/runit/output/out_graph.pdf has changed |
b |
diff -r 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/runit/output/preNormSummary.txt --- a/batchcorrection-57edfd3943ab/runit/output/preNormSummary.txt Tue May 02 09:47:22 2017 -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 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/runit/output/rdata_output.rdata |
b |
Binary file batchcorrection-57edfd3943ab/runit/output/rdata_output.rdata has changed |
b |
diff -r 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/runit/output/variableMetadata.tsv --- a/batchcorrection-57edfd3943ab/runit/output/variableMetadata.tsv Tue May 02 09:47:22 2017 -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 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/runit/sacurine/dataMatrix.tsv --- a/batchcorrection-57edfd3943ab/runit/sacurine/dataMatrix.tsv Tue May 02 09:47:22 2017 -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 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/runit/sacurine/sampleMetadata.tsv --- a/batchcorrection-57edfd3943ab/runit/sacurine/sampleMetadata.tsv Tue May 02 09:47:22 2017 -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 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/runit/sacurine/variableMetadata.tsv --- a/batchcorrection-57edfd3943ab/runit/sacurine/variableMetadata.tsv Tue May 02 09:47:22 2017 -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 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/runit/sacurineNegFull/dataMatrix.tsv --- a/batchcorrection-57edfd3943ab/runit/sacurineNegFull/dataMatrix.tsv Tue May 02 09:47:22 2017 -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 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/runit/sacurineNegFull/sampleMetadata.tsv --- a/batchcorrection-57edfd3943ab/runit/sacurineNegFull/sampleMetadata.tsv Tue May 02 09:47:22 2017 -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 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/runit/sacurineNegFull/variableMetadata.tsv --- a/batchcorrection-57edfd3943ab/runit/sacurineNegFull/variableMetadata.tsv Tue May 02 09:47:22 2017 -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 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/static/images/Vdk_pdf1.png |
b |
Binary file batchcorrection-57edfd3943ab/static/images/Vdk_pdf1.png has changed |
b |
diff -r 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/static/images/Vdk_pdf2.png |
b |
Binary file batchcorrection-57edfd3943ab/static/images/Vdk_pdf2.png has changed |
b |
diff -r 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/static/images/batch_correction.png |
b |
Binary file batchcorrection-57edfd3943ab/static/images/batch_correction.png has changed |
b |
diff -r 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/static/images/determine_batch_correction.png |
b |
Binary file batchcorrection-57edfd3943ab/static/images/determine_batch_correction.png has changed |
b |
diff -r 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/static/images/pdf_plotsituation.png |
b |
Binary file batchcorrection-57edfd3943ab/static/images/pdf_plotsituation.png has changed |
b |
diff -r 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/test-data/input-batchcorrection-dataMatrix.tsv --- a/batchcorrection-57edfd3943ab/test-data/input-batchcorrection-dataMatrix.tsv Tue May 02 09:47:22 2017 -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 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/test-data/input-batchcorrection-sampleMetadata.tsv --- a/batchcorrection-57edfd3943ab/test-data/input-batchcorrection-sampleMetadata.tsv Tue May 02 09:47:22 2017 -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 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/test-data/input-batchcorrection-variableMetadata.tsv --- a/batchcorrection-57edfd3943ab/test-data/input-batchcorrection-variableMetadata.tsv Tue May 02 09:47:22 2017 -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 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/test-data/input-determinebc-dataMatrix.tsv --- a/batchcorrection-57edfd3943ab/test-data/input-determinebc-dataMatrix.tsv Tue May 02 09:47:22 2017 -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 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/test-data/input-determinebc-sampleMetadata.tsv --- a/batchcorrection-57edfd3943ab/test-data/input-determinebc-sampleMetadata.tsv Tue May 02 09:47:22 2017 -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 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/test-data/output-batchcorrection-dataMatrix.tsv --- a/batchcorrection-57edfd3943ab/test-data/output-batchcorrection-dataMatrix.tsv Tue May 02 09:47:22 2017 -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 73892ef177e3 -r 23314e1192d4 batchcorrection-57edfd3943ab/test-data/output-determinebc-preNormSummary.txt --- a/batchcorrection-57edfd3943ab/test-data/output-determinebc-preNormSummary.txt Tue May 02 09:47:22 2017 -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 |