Repository 'profia'
hg clone https://toolshed.g2.bx.psu.edu/repos/ethevenot/profia

Changeset 0:39ccace77270 (2017-03-26)
Next changeset 1:4753e64cf694 (2017-05-03)
Commit message:
planemo upload for repository https://github.com/workflow4metabolomics/profia.git commit 2757590af8c7ba9833ba3bebd7da7f96b20d1128-dirty
added:
LICENSE.md
README.md
build.xml
profia_config.xml
profia_wrapper.R
runit/output/dataMatrix.tsv
runit/output/figure.pdf
runit/output/information.txt
runit/output/sampleMetadata.tsv
runit/output/variableMetadata.tsv
runit/plasFIA/C100a.mzML
runit/plasFIA/C100b.mzML
runit/plasFIA/C100c.mzML
runit/plasfia/plasFIA.zip
runit/profia_runtests.R
runit/profia_tests.R
static/images/profia_workflowPositionImage.png
static/images/profia_workingExampleImage.png
test-data/input-plasFIA.zip
test-data/output-dataMatrix.tsv
test/test-profia
b
diff -r 000000000000 -r 39ccace77270 LICENSE.md
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/LICENSE.md Sun Mar 26 17:37:12 2017 -0400
[
b'@@ -0,0 +1,517 @@\n+  CeCILL FREE SOFTWARE LICENSE AGREEMENT\n+\n+Version 2.1 dated 2013-06-21\n+\n+\n+    Notice\n+\n+This Agreement is a Free Software license agreement that is the result\n+of discussions between its authors in order to ensure compliance with\n+the two main principles guiding its drafting:\n+\n+  * firstly, compliance with the principles governing the distribution\n+    of Free Software: access to source code, broad rights granted to users,\n+  * secondly, the election of a governing law, French law, with which it\n+    is conformant, both as regards the law of torts and intellectual\n+    property law, and the protection that it offers to both authors and\n+    holders of the economic rights over software.\n+\n+The authors of the CeCILL (for Ce[a] C[nrs] I[nria] L[ogiciel] L[ibre]) \n+license are: \n+\n+Commissariat \xe0 l\'\xe9nergie atomique et aux \xe9nergies alternatives - CEA, a\n+public scientific, technical and industrial research establishment,\n+having its principal place of business at 25 rue Leblanc, immeuble Le\n+Ponant D, 75015 Paris, France.\n+\n+Centre National de la Recherche Scientifique - CNRS, a public scientific\n+and technological establishment, having its principal place of business\n+at 3 rue Michel-Ange, 75794 Paris cedex 16, France.\n+\n+Institut National de Recherche en Informatique et en Automatique -\n+Inria, a public scientific and technological establishment, having its\n+principal place of business at Domaine de Voluceau, Rocquencourt, BP\n+105, 78153 Le Chesnay cedex, France.\n+\n+\n+    Preamble\n+\n+The purpose of this Free Software license agreement is to grant users\n+the right to modify and redistribute the software governed by this\n+license within the framework of an open source distribution model.\n+\n+The exercising of this right is conditional upon certain obligations for\n+users so as to preserve this status for all subsequent redistributions.\n+\n+In consideration of access to the source code and the rights to copy,\n+modify and redistribute granted by the license, users are provided only\n+with a limited warranty and the software\'s author, the holder of the\n+economic rights, and the successive licensors only have limited liability.\n+\n+In this respect, the risks associated with loading, using, modifying\n+and/or developing or reproducing the software by the user are brought to\n+the user\'s attention, given its Free Software status, which may make it\n+complicated to use, with the result that its use is reserved for\n+developers and experienced professionals having in-depth computer\n+knowledge. Users are therefore encouraged to load and test the\n+suitability of the software as regards their requirements in conditions\n+enabling the security of their systems and/or data to be ensured and,\n+more generally, to use and operate it in the same conditions of\n+security. This Agreement may be freely reproduced and published,\n+provided it is not altered, and that no provisions are either added or\n+removed herefrom.\n+\n+This Agreement may apply to any or all software for which the holder of\n+the economic rights decides to submit the use thereof to its provisions.\n+\n+Frequently asked questions can be found on the official website of the\n+CeCILL licenses family (http://www.cecill.info/index.en.html) for any \n+necessary clarification.\n+\n+\n+    Article 1 - DEFINITIONS\n+\n+For the purpose of this Agreement, when the following expressions\n+commence with a capital letter, they shall have the following meaning:\n+\n+Agreement: means this license agreement, and its possible subsequent\n+versions and annexes.\n+\n+Software: means the software in its Object Code and/or Source Code form\n+and, where applicable, its documentation, "as is" when the Licensee\n+accepts the Agreement.\n+\n+Initial Software: means the Software in its Source Code and possibly its\n+Object Code form and, where applicable, its documentation, "as is" when\n+it is first distributed under the terms and conditions of the Agreement.\n+\n+Modified Software: means the Software modified by at lea'..b"l be\n+decided on a case-by-case basis between the relevant Licensor and the\n+Licensee pursuant to a memorandum of understanding. The Licensor\n+disclaims any and all liability as regards the Licensee's use of the\n+name of the Software. No warranty is given as regards the existence of\n+prior rights over the name of the Software or as regards the existence\n+of a trademark.\n+\n+\n+    Article 10 - TERMINATION\n+\n+10.1 In the event of a breach by the Licensee of its obligations\n+hereunder, the Licensor may automatically terminate this Agreement\n+thirty (30) days after notice has been sent to the Licensee and has\n+remained ineffective.\n+\n+10.2 A Licensee whose Agreement is terminated shall no longer be\n+authorized to use, modify or distribute the Software. However, any\n+licenses that it may have granted prior to termination of the Agreement\n+shall remain valid subject to their having been granted in compliance\n+with the terms and conditions hereof.\n+\n+\n+    Article 11 - MISCELLANEOUS\n+\n+\n+      11.1 EXCUSABLE EVENTS\n+\n+Neither Party shall be liable for any or all delay, or failure to\n+perform the Agreement, that may be attributable to an event of force\n+majeure, an act of God or an outside cause, such as defective\n+functioning or interruptions of the electricity or telecommunications\n+networks, network paralysis following a virus attack, intervention by\n+government authorities, natural disasters, water damage, earthquakes,\n+fire, explosions, strikes and labor unrest, war, etc.\n+\n+11.2 Any failure by either Party, on one or more occasions, to invoke\n+one or more of the provisions hereof, shall under no circumstances be\n+interpreted as being a waiver by the interested Party of its right to\n+invoke said provision(s) subsequently.\n+\n+11.3 The Agreement cancels and replaces any or all previous agreements,\n+whether written or oral, between the Parties and having the same\n+purpose, and constitutes the entirety of the agreement between said\n+Parties concerning said purpose. No supplement or modification to the\n+terms and conditions hereof shall be effective as between the Parties\n+unless it is made in writing and signed by their duly authorized\n+representatives.\n+\n+11.4 In the event that one or more of the provisions hereof were to\n+conflict with a current or future applicable act or legislative text,\n+said act or legislative text shall prevail, and the Parties shall make\n+the necessary amendments so as to comply with said act or legislative\n+text. All other provisions shall remain effective. Similarly, invalidity\n+of a provision of the Agreement, for any reason whatsoever, shall not\n+cause the Agreement as a whole to be invalid.\n+\n+\n+      11.5 LANGUAGE\n+\n+The Agreement is drafted in both French and English and both versions\n+are deemed authentic.\n+\n+\n+    Article 12 - NEW VERSIONS OF THE AGREEMENT\n+\n+12.1 Any person is authorized to duplicate and distribute copies of this\n+Agreement.\n+\n+12.2 So as to ensure coherence, the wording of this Agreement is\n+protected and may only be modified by the authors of the License, who\n+reserve the right to periodically publish updates or new versions of the\n+Agreement, each with a separate number. These subsequent versions may\n+address new issues encountered by Free Software.\n+\n+12.3 Any Software distributed under a given version of the Agreement may\n+only be subsequently distributed under the same version of the Agreement\n+or a subsequent version, subject to the provisions of Article 5.3.4\n+<#compatibility>.\n+\n+\n+    Article 13 - GOVERNING LAW AND JURISDICTION\n+\n+13.1 The Agreement is governed by French law. The Parties agree to\n+endeavor to seek an amicable solution to any disagreements or disputes\n+that may arise during the performance of the Agreement.\n+\n+13.2 Failing an amicable solution within two (2) months as from their\n+occurrence, and unless emergency proceedings are necessary, the\n+disagreements or disputes shall be referred to the Paris Courts having\n+jurisdiction, by the more diligent Party.\n"
b
diff -r 000000000000 -r 39ccace77270 README.md
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/README.md Sun Mar 26 17:37:12 2017 -0400
[
@@ -0,0 +1,62 @@
+Preprocessing workflow for Flow Injection Analysis coupled to High-Resolution Mass Spectrometry data (FIA-HRMS)
+===============================================================================================================
+
+A Galaxy module from the [Workflow4metabolomics](http://workflow4metabolomics.org) infrastructure  
+
+Status: [![Build Status](https://travis-ci.org/workflow4metabolomics/profia.svg?branch=master)](https://travis-ci.org/workflow4metabolomics/profia).
+
+### Description
+
+**Version:** 3.0.0  
+**Date:** 2017-03-21     
+**Author:** Alexis Delabriere and Etienne A. Thevenot (CEA, LIST, MetaboHUB, W4M Core Development Team)   
+**Email:** [etienne.thevenot(at)cea.fr](mailto:etienne.thevenot@cea.fr)  
+**Citation:** Delabriere A., Hohenester U., Junot C. and Thevenot E.A. proFIA: A data preprocessing workflow for Flow Injection Analysis coupled to High-Resolution Mass Spectrometry. *submitted*.   
+**Licence:** CeCILL  
+**Reference history:**      
+**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 file: `profia_config.xml`
+* Image files: 
+  + `static/images/profia_workflowPositionImage.png`   
+  + `static/images/profia_workingExampleImage.png`
+* Wrapper file: `profia_wrapper.R`
+* R packages
+ + **batch** from CRAN  
+  
+    ```r
+    install.packages("batch", dep=TRUE)
+    install.packages("FNN", dep=TRUE)
+    install.packages("maxLik", dep=TRUE)
+    install.packages("minpack.lm", dep=TRUE)
+    install.packages("pracma", dep=TRUE)
+    ```
+  + **profia** from Bioconductor  
+  
+    ```r
+    source("http://www.bioconductor.org/biocLite.R")
+    biocLite("xcms")
+    biocLite("proFIA")
+    biocLite("plasFIA")
+    ```  
+
+### Tests
+
+The code in the wrapper can be tested by running the `runit/profia_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  
+
+### News  
+
+###### CHANGES IN VERSION 3.0.0  
+
+NEW FEATURE  
+
+ * Creation of the tool  
b
diff -r 000000000000 -r 39ccace77270 build.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/build.xml Sun Mar 26 17:37:12 2017 -0400
b
@@ -0,0 +1,87 @@
+<project name="w4m.profia" default="all">
+
+ <property name="tool.xml" value="profia_config.xml"/>
+ <property name="conda.dir" value="${user.home}/w4m-conda"/>
+
+ <!--~~~
+ ~ ALL ~
+ ~~~~~-->
+
+ <target name="all"/>
+
+ <!--~~~~
+ ~ TEST ~
+ ~~~~~-->
+
+ <target name="test" depends="plain.test,planemo.lint,planemo.test"/>
+
+ <!--~~~~~~~~~~
+ ~ PLAIN TEST ~
+ ~~~~~~~~~~~-->
+
+ <target name="plain.test">
+ <exec executable="test/test-profia" failonerror="true"/>
+ </target>
+
+ <!--~~~~~~~~~~~~
+ ~ 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 ~
+ ~~~~~~~~~~~~~~~~~~~-->
+
+ <available file="${conda.dir}" property="conda.is.installed"/>
+ <target name="planemo.conda.init" unless="conda.is.installed">
+ <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 000000000000 -r 39ccace77270 profia_config.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/profia_config.xml Sun Mar 26 17:37:12 2017 -0400
[
b'@@ -0,0 +1,283 @@\n+<tool id="profia" name="proFIA" version="3.0.0">\n+  <description>Preprocessing of FIA-HRMS data</description>\n+  \n+  <requirements>\n+    <requirement type="package">r-batch</requirement>\n+    <requirement type="package">r-FNN</requirement>\n+    <requirement type="package">r-maxLik</requirement>\n+    <requirement type="package">r-minpack.lm</requirement>\n+    <requirement type="package">r-pracma</requirement>\n+    <requirement type="package">bioconductor-proFIA</requirement>\n+  </requirements>\n+  \n+  <stdio>\n+    <exit_code range="1:" level="fatal" />\n+  </stdio>\n+  \n+  <command><![CDATA[\n+  Rscript $__tool_directory__/profia_wrapper.R\n+\n+  #if $inputs.input == "lib":\n+  library $__app__.config.user_library_import_dir/$__user_email__/$inputs.library\n+  #elif $inputs.input == "zip_file":\n+  zipfile $inputs.zip_file\n+  #end if\n+  \n+  ppmN "$ppmN"\n+  ppmGroupN "$ppmGroupN"\n+  fracGroupN "$fracGroupN"\n+  kI "$kI"\n+\n+  dataMatrix_out "$dataMatrix_out"\n+  sampleMetadata_out "$sampleMetadata_out"\n+  variableMetadata_out "$variableMetadata_out"\n+  figure "$figure"\n+  information "$information"\n+  ]]></command>\n+  \n+  <inputs>\n+    <conditional name="inputs">\n+      <param name="input" type="select" label="Choose your input method" >\n+        <option value="zip_file" selected="true">Zip file from your history containing your raw files</option>\n+        <option value="lib" >Library directory name</option>\n+      </param>\n+      <when value="zip_file">\n+        <param name="zip_file" type="data" format="no_unzip.zip,zip" label="Zip file" />\n+      </when>\n+      <when value="lib">\n+        <param name="library" type="text" size="40" label="Library directory name" help="The name of your directory containing all your data" >\n+          <validator type="empty_field"/>\n+        </param>\n+      </when>     \n+    </conditional>\n+    \n+    <param name="ppmN" label="Maximum deviation between centroids during band detection (in ppm)" type="text" value = "5" help="[ppm]" />\t  \n+    <param name="ppmGroupN" label="Accuracy of the mass spectrometer to be used during feature alignment (in ppm)" type="text" value = "5" help="[ppmGroup] Should be inferior or equal to the deviation parameter above." />\n+    <param name="fracGroupN" label=" Minimum fraction of samples in which a peak should be detected in at least one class to be kept during feature alignment" type="text" value = "0.5" help="[fracGroup]" />\n+    <param name="kI" label="Number of neighbour features to be used for imputation (select 0 to skip the imputation step)" type="text" value = "5" help="[k]" />\n+  </inputs>\n+  \n+  <outputs>\n+    <data name="dataMatrix_out" label="${tool.name}_dataMatrix.tsv" format="tabular" ></data>\n+    <data name="sampleMetadata_out" label="${tool.name}_sampleMetadata.tsv" format="tabular" ></data>\n+    <data name="variableMetadata_out" label="${tool.name}_variableMetadata.tsv" format="tabular" ></data>\n+    <data name="figure" label="${tool.name}_figure.pdf" format="pdf"/>\n+    <data name="information" label="${tool.name}_information.txt" format="txt"/>\n+  </outputs>\n+  \n+  <tests>\n+    <test>\n+      <param name="inputs|input" value="zip_file" />\n+      <param name="inputs|zip_file" value="input-plasFIA.zip" ftype="zip" />\n+      <param name="ppmN" value="2"/>\n+      <param name="ppmGroupN" value="1"/>\n+      <param name="fracGroupN" value="0.1"/>\n+      <param name="kI" value="2"/>\n+      <output name="dataMatrix_out" file="output-dataMatrix.tsv"/>\n+    </test>\n+  </tests>\n+  \n+  <help>\t\n+\n+.. class:: infomark\n+\n+**Author**\tAlexis Delabriere and Etienne Thevenot (CEA, LIST, MetaboHUB Paris, etienne.thevenot@cea.fr)\n+\n+---------------------------------------------------\n+\n+.. class:: infomark\n+\n+**Please cite**\n+\n+Delabriere A., Hohenester U., Junot C. and Thevenot E.A. *proFIA*: A data preprocessing workflow for Flow Injection Analysis coupled to High-Resolution Mass Spectrometry. *submitted*.\n+\n+-----------------------------------------------'..b' **All Levels (1-)** : Centroid Mode\n+Use zlib: **64**\n+Binary Encoding: **64**\n+m/z Encoding: **64**\n+Intensity Encoding: **64**\n+\n+----------\n+Parameters\n+----------\n+   \n+Maximum deviation between centroids during band detection; in ppm (default = 5)\n+\t| m/z tolerance of centroids corresponding to the same ion from one scan to the other.\n+\t| \n+\n+Accuracy of the mass spectrometer to be used during feature alignment; in ppm (default = 5)\n+\t| Should be inferior or equal to the deviation parameter above.\n+\t| \n+    \n+Minimum fraction of samples in which a peak should be detected in at least one class to be kept during feature alignment (default = 0.5)\n+\t| Identical to the corresponding parameter in XCMS. \n+\t|     \n+\n+Number of neighbour features to be used for imputation (default = 5)\n+\t| Select 0 to skip the imputation step. \n+\t|     \t\n+\n+\n+------------\n+Output files\n+------------\n+\n+dataMatrix.tabular\n+\t| **dataMatrix** tabular separated file with the variables as rows and samples as columns. Missing values are indicated as \'NA\' (i.e. when the signal was not significantly different from noise).\n+\t|\n+\t\n+sampleMetadata.tabular\n+\t| **sampleMetadata** tabular separated file containing the sample metadata as columns.\n+\t| \n+\t\n+variableMetadata.tabular\n+\t| **variableMetadata** tabular separated file containing the variable metadata as columns. The **timeShifted** flag is set to 1 when the flowgram is time shifted compared to the sample peak (probably due to liquid retention in the FI tube). The **corSampPeakMean** metric is the correlation between the feature flowgram and the sample peak (values are in [-1, 1]). A value below 0.2 suggests that the feature signal is affected by a strong matrix effect. The **meanSolvent** is the mean baseline signal in the feature flowgrams. The **signalOverSolventPvalueMean** is the mean p-value of the tests discriminating between signal and baseline solvent.\n+\t| \n+\n+figure.pdf\n+\t| Visualization and diagnostics about the preprocessed data set; **Feature quality**: Number of detected features per sample for each of the three categories: \'Well-behaved\' features have a peak shape close to the sample peak (optimal FIA acquisition is achieved when the majority of the features fall into this category); \'Shifted\' indicates a time shift compared to the sample peak, and probably results from retention in the FI tube; \'Significant Matrix Effect\' corresponds to a correlation between the feature and the samples peaks of less than 0.2, which is usually caused by a strong matrix effect; **Sample peaks**: Visualization of the peak model for each sample; should have close shapes in case of similar FIA conditions; **m/z density**: may allow to detect a missing m/z value, and in turn, suggest that the *ppm* parameter should be modified; **PCA score plot** of the log10 intensities to detect sample outliers.\n+\t| \n+\t\t\t\n+information.txt\n+\t| Text file with all messages and warnings generated during the computation.\n+\t|\n+\n+---------------------------------------------------\n+\n+---------------\n+Working example\n+---------------\n+\n+Figure output\n+=============\n+\n+.. image:: profia_workingExampleImage.png\n+        :width: 600\n+        \n+---------------------------------------------------\n+\n+----\n+NEWS\n+----\n+\n+CHANGES IN VERSION 3.0.0\n+========================\n+\n+NEW FEATURE\n+\n+Creation of the tool\n+\n+</help>\n+\n+<citations>\n+  <citation type="bibtex">@Article{DelabriereSubmitted,\n+  Title                    = {proFIA: A data preprocessing workflow for Flow Injection Analysis coupled to High-Resolution Mass Spectrometry},\n+  Author                   = {Delabriere, Alexis and Hohenester, Ulli and Junot, Christophe and Thevenot, Etienne A},\n+  Journal                  = {submitted},\n+  Year                     = {submitted},\n+  Pages                    = {--},\n+  Volume                   = {},\n+  Doi                      = {}\n+  }</citation>\n+  <citation type="doi">10.1093/bioinformatics/btu813</citation>\n+</citations>\n+\n+</tool>\n'
b
diff -r 000000000000 -r 39ccace77270 profia_wrapper.R
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/profia_wrapper.R Sun Mar 26 17:37:12 2017 -0400
[
@@ -0,0 +1,210 @@
+#!/usr/bin/env Rscript
+
+library(batch) ## parseCommandArgs
+
+argVc <- unlist(parseCommandArgs(evaluate=FALSE))
+
+##------------------------------
+## Initializing
+##------------------------------
+
+
+## libraries
+##----------
+
+suppressMessages(library(proFIA))
+
+
+## constants
+##----------
+
+modNamC <- "proFIA" ## module name
+
+
+## log file
+##---------
+
+sink(argVc["information"])
+
+cat("\nStart of the '", modNamC, "' Galaxy module call: ",
+    format(Sys.time(), "%a %d %b %Y %X"), "\n", sep="")
+
+
+## arguments
+##----------
+
+
+if("zipfile" %in% names(argVc)) {
+    
+    zipfile <- argVc["zipfile"]
+
+    ## We unzip automatically the raw files from the zip file
+    
+    if(exists("zipfile") && (zipfile!="")) {
+        if(!file.exists(zipfile)){
+            error_message=paste("Cannot access the Zip file:", zipfile)
+            print(error_message)
+            stop(error_message)
+        }
+
+        ## unzip
+
+        suppressWarnings(unzip(zipfile, unzip="unzip"))
+        
+        ## get the directory name
+        
+        filesInZip=unzip(zipfile, list=T);
+        directories=unique(unlist(lapply(strsplit(filesInZip$Name,"/"), function(x) x[1])));
+        directories=directories[!(directories %in% c("__MACOSX")) & file.info(directories)$isdir]
+        directory = "."
+        if (length(directories) == 1) directory = directories
+        
+        cat("files_root_directory\t",directory,"\n")
+        
+    }
+
+} else if ("library" %in% names(argVc)) {
+
+    directory <- argVc["library"]
+    
+    if(!file.exists(directory)) {
+        
+        error_message=paste("Cannot access the directory:", directory,". Please check that the directory really exists.")
+        print(error_message)
+        stop(error_message)
+        
+    }
+    
+} else {
+
+    error_message <- "No zipfile nor input library available"
+    print(error_message)
+    stop(error_message)
+
+}
+
+##------------------------------
+## Computations
+##------------------------------
+
+
+optWrnN <- options()$warn
+options(warn = -1)
+
+stpI <- 1
+
+cat("\n", stpI, ") Peak detection step ('proFIAset'):\n", sep = "")
+
+fiaset <- proFIAset(directory,
+                    ppm = as.numeric(argVc["ppmN"]),
+                    parallel = FALSE)
+
+stpI <- stpI + 1
+
+cat("\n", stpI, ") Peak alignment ('group.FIA'):\n", sep = "")
+
+fiaset <- group.FIA(fiaset,
+                    ppmGroup = as.numeric(argVc["ppmGroupN"]),
+                    fracGroup = as.numeric(argVc["fracGroupN"]))
+
+stpI <- stpI + 1
+
+cat("\n", stpI, ") Creating the peak table ('makeDataMatrix'):\n", sep = "")
+
+fiaset <- makeDataMatrix(fiaset,
+                         maxo = FALSE)
+
+stpI <- stpI + 1
+
+kI <- as.integer(argVc["kI"])
+
+if(kI > 0) {
+
+    cat("\n", stpI, ") Imputing missing values ('imputeMissingValues.WKNN_TN'):\n", sep = "")
+
+    fiaset <- imputeMissingValues.WKNN_TN(fiaset,
+                                          k = kI)
+
+    stpI <- stpI + 1
+}
+
+options(warn = optWrnN)
+
+
+##------------------------------
+## Ending
+##------------------------------
+
+
+## Plotting
+##---------
+
+cat("\n", stpI, ") Plotting ('plot'):\n", sep = "")
+
+pdf(argVc["figure"])
+
+plot(fiaset)
+
+dev.off()
+
+stpI <- stpI + 1
+
+## Printing
+##---------
+
+cat("\n", stpI, ") Printing ('show'):\n", sep = "")
+
+fiaset
+
+stpI <- stpI + 1
+
+## Exporting
+##----------
+
+cat("\n", stpI, ") Exporting ('exportDataMatrix', 'exportSampleMetadata', 'exportVariableMetadata'):\n", sep = "")
+
+datMN <- exportDataMatrix(fiaset)
+samDF <- exportSampleMetadata(fiaset)
+varDF <- exportVariableMetadata(fiaset)
+
+if(nrow(datMN) == nrow(samDF) && ncol(datMN) == nrow(varDF)) {
+    datDF <- as.data.frame(t(datMN))
+} else {
+    datDF <- as.data.frame(datMN)
+}
+rownames(varDF) <- rownames(datDF)
+
+datDF <- cbind.data.frame(dataMatrix = rownames(datDF),
+                          datDF)
+write.table(datDF,
+            file = argVc["dataMatrix_out"],
+            quote = FALSE,
+            row.names = FALSE,
+            sep = "\t")
+
+samDF <- cbind.data.frame(sampleMetadata = rownames(samDF),
+                          samDF)
+write.table(samDF,
+            file = argVc["sampleMetadata_out"],
+            quote = FALSE,
+            row.names = FALSE,
+            sep = "\t")
+
+varDF <- cbind.data.frame(variableMetadata = rownames(varDF),
+                          varDF)
+write.table(varDF,
+            file = argVc["variableMetadata_out"],
+            quote = FALSE,
+            row.names = FALSE,
+            sep = "\t")
+
+
+## Closing
+##--------
+
+cat("\nEnd of '", modNamC, "' Galaxy module call: ",
+    as.character(Sys.time()), "\n", sep = "")
+
+sink()
+
+rm(list = ls())
b
diff -r 000000000000 -r 39ccace77270 runit/output/dataMatrix.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/runit/output/dataMatrix.tsv Sun Mar 26 17:37:12 2017 -0400
b
b'@@ -0,0 +1,720 @@\n+dataMatrix\tC100a\tC100b\tC100c\n+M86.0965\t1313797.61844021\t2346283.61756864\t2199831.8940868\n+M89.5775\tNA\tNA\tNA\n+M89.5944\tNA\tNA\tNA\n+M89.6051\tNA\tNA\tNA\n+M90.9767\t5106007.35482488\t6564507.32105305\t6447733.55546476\n+M93.9829\tNA\tNA\tNA\n+M93.9873\tNA\tNA\tNA\n+M93.9950\tNA\tNA\tNA\n+M94.0000\tNA\tNA\tNA\n+M94.0078\tNA\tNA\tNA\n+M94.0124\tNA\tNA\tNA\n+M94.0234\tNA\tNA\tNA\n+M94.0262\tNA\tNA\tNA\n+M94.0321\tNA\tNA\tNA\n+M94.0362\tNA\tNA\tNA\n+M94.0401\tNA\tNA\tNA\n+M94.0425\tNA\tNA\tNA\n+M94.0437\tNA\tNA\tNA\n+M94.0552\tNA\tNA\tNA\n+M94.0991\tNA\tNA\tNA\n+M94.1052\tNA\tNA\tNA\n+M94.1167\tNA\tNA\tNA\n+M94.1242\tNA\tNA\tNA\n+M94.1339\tNA\tNA\tNA\n+M94.1356\tNA\tNA\tNA\n+M94.1397\tNA\tNA\tNA\n+M94.1445\tNA\tNA\tNA\n+M94.1538\tNA\tNA\tNA\n+M95.0604\t685629.13713184\t993375.02882652\t875626.486232038\n+M96.9218\t11555241.0234047\t11798830.9597099\t13629842.0824619\n+M97.0761\t1114447.34533038\t1167650.73440278\t987109.64945019\n+M98.9189\t3036892.14294779\t2897574.20676409\t2879965.62034251\n+M102.0550\t425296.351333251\t562287.354221277\tNA\n+M102.0914\t3405898.45991167\t3405365.30747783\tNA\n+M103.9379\tNA\tNA\tNA\n+M103.9419\tNA\tNA\tNA\n+M104.1070\tNA\tNA\tNA\n+M105.0699\t4302867.69309973\t4844241.85637734\t3733356.71721098\n+M109.0760\t7482333.50573563\t7749454.43356407\t6629390.30420811\n+M112.8957\t11121448.9424704\t11023618.7533977\t11020725.581527\n+M114.0662\t3787927.88423462\t4219228.56920995\t4175211.94282092\n+M114.8928\t2599676.24720123\t2710556.01072404\t2784568.84757635\n+M115.0542\t7559851.1229425\t7681057.45130294\t5517374.77626431\n+M116.0706\t22245233.8553328\t22803669.3222943\t23491347.9559748\n+M117.0573\t2748979.07162588\t2538668.17223273\t2174237.92100802\n+M117.0699\t5790263.22958525\t4875814.61521518\t4148891.43451485\n+M118.0651\t9770801.94760909\t9328622.47944978\t9104132.1653589\n+M118.0862\t27308207.5048995\t28200166.5313722\t29895881.538737\n+M120.0655\t2294414.34871079\t2336845.67214873\t2491247.14498326\n+M120.0808\t2872417.82916936\t2263221.21507969\t2327238.94823518\n+M120.9661\t603722.847061515\tNA\t573795.21966387\n+M121.0509\t122658259.614793\t104503127.137474\t94239375.1646403\n+M121.9045\tNA\tNA\tNA\n+M121.9232\tNA\tNA\tNA\n+M121.9247\tNA\tNA\tNA\n+M121.9269\tNA\tNA\tNA\n+M121.9333\tNA\tNA\tNA\n+M121.9391\tNA\tNA\tNA\n+M121.9520\tNA\tNA\tNA\n+M121.9738\tNA\tNA\tNA\n+M121.9760\tNA\tNA\tNA\n+M121.9938\tNA\tNA\tNA\n+M122.0100\tNA\tNA\tNA\n+M122.0542\t4513962.08223987\t3201210.5171773\t4014449.66768367\n+M122.0579\tNA\tNA\tNA\n+M122.0995\tNA\tNA\tNA\n+M122.1256\tNA\tNA\tNA\n+M122.1598\tNA\tNA\tNA\n+M126.1026\t81499099.8245328\t124635981.19873\t111163001.300936\n+M127.1059\t6012736.00869722\t5472794.82842695\t4871879.07593195\n+M128.0494\t23952127.8478598\t19058160.3422955\t17601743.7731112\n+M129.0658\t988215.070873834\t1040340.62937073\t854623.945932545\n+M130.0498\t1955847.68063145\t2232763.20934855\t2467285.5945456\n+M130.0862\t1085605.25319448\t1465336.20457251\t1829782.12060952\n+M130.1087\t319305323.249651\t290908568.308084\t265409459.287951\n+M131.0815\t596446.53961781\t691807.982855779\tNA\n+M131.1057\t3682474.54143962\t2036935.67466124\t2660637.56292433\n+M131.1120\t9785332.21473518\t8692010.96517718\t8288068.26203035\n+M132.0655\t3790320.10909363\t4035488.20961741\t4165651.60338819\n+M132.0767\t2762213.88476255\t3202180.90847702\t2909373.90206213\n+M132.1019\t58938805.9629904\t60083542.3860023\t57646862.9011984\n+M133.0971\t1526239.14803199\t1680743.18492953\t1793790.93561658\n+M133.1052\t1806771.72880841\t1958263.70045634\t2116383.2046456\n+M134.0448\t563310.367045782\t550778.627756037\tNA\n+M134.0964\t69015365.274054\t65428953.2448955\t57158814.3360672\n+M134.9884\t1350501.82892699\t1316365.41719993\tNA\n+M135.0028\t16443026.4661012\t19052105.7436914\t19213830.3866995\n+M135.0301\tNA\tNA\tNA\n+M135.0998\t3994966.42947665\t3704548.05397512\t3390018.27395486\n+M136.0757\t39193123.0686269\t35076700.2394653\t34902125.3884823\n+M137.0573\t174483.88016119\tNA\t392859.082029682\n+M137.0790\tNA\tNA\tNA\n+M138.9065\t3223615.48922233\t3546765.26098753\t3392576.37740282\n+M140.0682\t1818996.32930819\t2415629.65322842\t2917498.22244721\n+M140.9035\t2335282.31470032\t1853902.13392931\t2281789.26368724\n+M142.0651\t3906512.29507626\t3220352.83524359\t3167557.04507274\n+M142.9183\t736798.97485138\t1061687.7839917\tNA\n+M142.9480\t2307463.66917123\t225'..b'170.0318936\n+M670.2559\t1754183.64727958\t2408870.1151202\t2109061.02452055\n+M670.3738\t6636668.39355427\t6446248.74652466\t6031306.96951204\n+M671.3772\t2816636.0913067\t1798089.63237222\t2111722.2798079\n+M672.3895\t4686473.79893916\t4258496.84175044\t4166255.72826511\n+M673.1164\t1469352.7683988\t1829681.76580113\t1917560.23493875\n+M674.3685\t3809129.89511944\t3160860.00557134\t2636130.13374479\n+M676.0468\t1461863.10195596\tNA\t1377422.71456078\n+M683.0643\t1259780.56399135\t1322143.83574079\t1552769.07139395\n+M683.5431\t1732441.67345777\t2525723.18668878\t2647724.55411367\n+M685.4360\t1190057.97079061\tNA\t1419229.5914531\n+M686.4051\t32080808.6893522\t28761754.7656157\t25571217.8418349\n+M687.4083\t13246103.1481081\t13951215.1330508\t8069238.27678928\n+M688.4118\t2093118.85466739\t1814091.46550962\tNA\n+M689.0812\t1476618.84097023\t1741683.93653201\t1913192.51839009\n+M689.3530\tNA\t1238431.80913389\t1029803.46358456\n+M689.4022\t4338568.86783822\t3318258.17489864\t4213005.6754478\n+M695.0984\t1270154.44480474\t1188530.68267335\t999720.609375044\n+M703.4544\t1462246.07443563\t1816537.57340901\t2642770.85961821\n+M703.5748\t5102477.6908115\t5274750.09273895\t5185173.62570642\n+M704.3794\t4977090.82171093\t4766704.41426656\t3927234.4710448\n+M704.5783\t1626987.96032962\t1669312.71186966\t1387421.31251627\n+M705.0463\tNA\t861285.955446116\t1134434.61817021\n+M705.3826\t1789589.10109757\tNA\t1709645.14232354\n+M711.0633\tNA\t1036374.52712934\t885481.220466106\n+M711.5745\t14150222.1090017\t14102404.5952038\t15356903.5818177\n+M712.5779\t5077242.5759118\t5592716.57268192\t6845985.16047672\n+M718.6320\t4297488.07177764\t2674413.24027353\t3158446.37030282\n+M719.4284\tNA\t2127705.73067334\t1707398.52119952\n+M725.5567\t5531847.39784041\t4899114.59155239\t5881591.76830335\n+M726.5600\tNA\t1491636.74107451\t1514588.19312526\n+M739.6058\t13557326.9670239\t16321329.2589389\t16792318.9578223\n+M740.6091\t5505462.91675326\t7113386.17328623\t6438361.71719427\n+M751.4289\t3250491.94756132\t4097881.10977438\t2905108.52355567\n+M758.5692\t24171669.9177599\t26133048.4446723\t29823488.7144675\n+M759.5727\t11996299.5830951\t12396459.816729\t13725260.4161819\n+M760.5758\t2312542.05691645\t1797714.30089578\t2433944.0644655\n+M760.5849\t8704293.57954915\t9171699.09361031\t11678909.7038509\n+M760.5849_2\t8704293.57954915\t9171699.09361031\t11678909.7038509\n+M761.5882\t3494168.58240472\t3623908.83475874\t3517772.49370049\n+M780.5512\t26678287.0199592\t33917501.213975\t35599330.0192635\n+M781.5548\t13370049.3355155\t6786254.01813485\t17495405.1874264\n+M782.5673\t8275387.67127943\t13698705.3298253\t14111642.4412243\n+M783.5710\t5090990.23826268\t2775887.5304272\t6341089.95006743\n+M784.5848\t5220940.29954109\t4276780.46147111\t6260943.09565952\n+M785.5880\t1686702.15583167\t2124120.66042257\t1712214.24956577\n+M786.6004\t10857162.7919506\t8697613.9851878\t12499433.8991773\n+M787.6038\t4761674.55928992\t5879054.35089474\t7047984.21331802\n+M795.5018\t2077762.78637069\tNA\t1907175.50675846\n+M796.5253\t4271079.60468799\t3501147.38860042\t5343302.22793834\n+M796.5462\tNA\t2822281.02903116\t3224036.730931\n+M804.5512\t6633582.89013492\t8165455.97185418\t7470168.70212077\n+M805.5546\t2438210.55855297\t3663463.1635972\t3764389.21632828\n+M806.5674\t4467025.00798707\t6619742.31219476\t9583742.64770817\n+M807.5718\t1352704.42256487\t2936768.26498869\t1887270.8950478\n+M808.5826\t10891390.3423662\t15794458.1878269\t16077663.9695797\n+M809.5859\t5995718.59407245\t5735791.69055253\t7082868.29906178\n+M810.6004\t1864314.89593087\t2348128.92155743\t3928135.89388521\n+M813.6843\tNA\t773185.606064327\t1241785.9308559\n+M828.5517\t6912623.84509757\t6836612.02012318\t8339689.31073757\n+M829.5550\tNA\t2944009.16774303\t4078158.50009707\n+M832.5827\t2539235.67631783\t3231564.93949998\t3214890.3796771\n+M838.5642\t2129171.20139942\t2659697.24921949\t2476264.53702713\n+M856.5830\t5771894.46378455\t6862482.35532919\t6096656.68858823\n+M857.5866\t2219552.55506141\t2623050.99114286\t2766548.52211978\n+M918.6157\t2402815.01640448\tNA\t1809595.40049242\n+M934.6468\t5786820.15496312\t5970083.49633795\t6293149.21279938\n+M935.6502\t3318525.17212971\t4159207.90254135\t2994270.82759245\n+M952.6658\tNA\t1992166.49507342\t1589196.0912281\n'
b
diff -r 000000000000 -r 39ccace77270 runit/output/figure.pdf
b
Binary file runit/output/figure.pdf has changed
b
diff -r 000000000000 -r 39ccace77270 runit/output/information.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/runit/output/information.txt Sun Mar 26 17:37:12 2017 -0400
b
@@ -0,0 +1,35 @@
+
+Start of the 'proFIA' Galaxy module call: Sat 25 Mar 2017 08:55:32 PM
+files_root_directory  plasFIA 
+
+1) Peak detection step ('proFIAset'):
+
+2) Peak alignment ('group.FIA'):
+
+ 719  groups have been done .
+
+3) Creating the peak table ('makeDataMatrix'):
+
+4) Imputing missing values ('imputeMissingValues.WKNN_TN'):
+
+5) Plotting ('plot'):
+PCA
+3 samples x 648 variables
+standard scaling of predictors
+71 excluded variables (near zero variance)
+      R2X(cum) pre ort
+Total        1   2   0
+null device 
+          1 
+
+6) Printing ('show'):
+A "proFIAset" object containing  1  classes.
+Missing values have been imputed. 
+2161  peaks detected.
+719  features have been grouped.
+The data matrix is avalaible.
+Memory usage: 0.425 MB
+
+7) Exporting ('exportDataMatrix', 'exportSampleMetadata', 'exportVariableMetadata'):
+
+End of 'proFIA' Galaxy module call: 2017-03-25 21:22:13
b
diff -r 000000000000 -r 39ccace77270 runit/output/sampleMetadata.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/runit/output/sampleMetadata.tsv Sun Mar 26 17:37:12 2017 -0400
b
@@ -0,0 +1,4 @@
+sampleMetadata sampleID class
+1 C100a plasFIA
+2 C100b plasFIA
+3 C100c plasFIA
b
diff -r 000000000000 -r 39ccace77270 runit/output/variableMetadata.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/runit/output/variableMetadata.tsv Sun Mar 26 17:37:12 2017 -0400
b
b'@@ -0,0 +1,720 @@\n+variableMetadata\tmzMed\tmzMin\tmzMax\tsizeSamp\tscanMin\tscanMax\tnPeaks\tmeanSolvent\ttimeShifted\tsignalOverSolventPvalueMean\tcorSampPeakMean\tcorSampPeakSd\tsignalOverSolventRatioMean\timputationOk\tvariableID\n+M86.0965\t86.0965189329336\t86.0962219238281\t86.0969924926758\t54\t18\t88\t3\t0\t0\t0\t0.383749268026674\t0.150206018113732\tInf\t1\tM86.0965\n+M89.5775\t89.577503377741\t89.5766754150391\t89.5781402587891\t57\t18\t75\t1\t0\t0\t0\t0.170385033866943\tNA\tInf\t0\tM89.5775\n+M89.5944\t89.5943771938108\t89.5933990478516\t89.5950241088867\t70\t18\t88\t1\t0\t0\t0\t0.347469211489384\tNA\tInf\t0\tM89.5944\n+M89.6051\t89.6051298777262\t89.6045913696289\t89.6056442260742\t58\t18\t76\t1\t0\t0\t0\t0.172025405242609\tNA\tInf\t0\tM89.6051\n+M90.9767\t90.9767083832762\t90.9757690429688\t90.9774398803711\t55\t18\t92\t7\t27656.2421201676\t0\t0\t0.80371588811194\t0.0704725256671676\t11.478958927506\t1\tM90.9767\n+M93.9829\t93.982937387518\t93.9816589355469\t93.9840393066406\t59.5\t18\t79\t2\t3162.97825113932\t0\t0\t0.398737330824048\t0.0542641115731589\t15.8271238248609\t0\tM93.9829\n+M93.9873\t93.9873293603373\t93.9867324829102\t93.98779296875\t60\t18\t78\t1\t2481.60717773438\t0\t0\t0.302508383955855\tNA\t18.2991204417051\t0\tM93.9873\n+M93.9950\t93.9950324348781\t93.994384765625\t93.9957275390625\t62\t18\t80\t1\t2229.79814801897\t0\t0\t0.2416107313416\tNA\t22.6816537513546\t0\tM93.9950\n+M94.0000\t94.000032500426\t93.9993209838867\t94.0006256103516\t56\t18\t74\t1\t4834.00592041016\t0\t0\t0.518936146339683\tNA\t12.8192023875339\t0\tM94.0000\n+M94.0078\t94.0078254629064\t94.0072174072266\t94.008430480957\t58\t18\t76\t1\t0\t0\t0\t0.338538358867331\tNA\tInf\t0\tM94.0078\n+M94.0124\t94.0124465985536\t94.0117416381836\t94.0132141113281\t64\t18\t82\t1\t2487.75439453125\t0\t0\t0.24146523559212\tNA\t16.8897639472362\t0\tM94.0124\n+M94.0234\t94.0234431879861\t94.0226821899414\t94.0240707397461\t56\t18\t74\t1\t2949.76056780134\t0\t0\t0.265093644088292\tNA\t10.0064149717447\t0\tM94.0234\n+M94.0262\t94.0261501924491\t94.025016784668\t94.0277557373047\t57\t18\t78\t3\t787.069051106771\t0\t0\t0.267672613939928\t0.0967169024879828\tInf\t0\tM94.0262\n+M94.0321\t94.0321010044643\t94.0315017700195\t94.032600402832\t58\t18\t76\t1\t2696.71176147461\t0\t0\t0.236050569065363\tNA\t11.1483885383609\t0\tM94.0321\n+M94.0362\t94.0361511230469\t94.0353240966797\t94.036865234375\t51\t29\t80\t1\t2594.17755126953\t0\t0\t0.396158954650283\tNA\t22.0100748537854\t0\tM94.0362\n+M94.0401\t94.0401373142149\t94.0394821166992\t94.0407485961914\t56\t18\t74\t1\t0\t0\t0\t0.220870132376865\tNA\tInf\t0\tM94.0401\n+M94.0425\t94.0425210952759\t94.0419921875\t94.0430221557617\t58\t18\t76\t1\t2939.76455688477\t0\t0\t0.206057191534233\tNA\t16.1648511285152\t0\tM94.0425\n+M94.0437\t94.0437175205776\t94.0431671142578\t94.0442962646484\t62\t18\t80\t1\t0\t0\t0\t0.317341890880316\tNA\tInf\t0\tM94.0437\n+M94.0552\t94.0551519626524\t94.0544586181641\t94.0556335449219\t64\t18\t82\t1\t0\t0\t0\t0.494824546687454\tNA\tInf\t0\tM94.0552\n+M94.0991\t94.0991438160772\t94.0983657836914\t94.0998764038086\t53\t18\t71\t1\t1986.51605224609\t0\t0\t0.0887567797502634\tNA\t12.018318068964\t0\tM94.0991\n+M94.1052\t94.1052276256473\t94.1043548583984\t94.1057281494141\t61\t18\t79\t1\t0\t0\t0\t0.423671246590264\tNA\tInf\t0\tM94.1052\n+M94.1167\t94.1166954888238\t94.1156387329102\t94.1173706054688\t61\t19\t80\t1\t1817.65383911133\t0\t0\t0.414029788229592\tNA\t24.4934294742746\t0\tM94.1167\n+M94.1242\t94.1242060343424\t94.1235656738281\t94.1246948242188\t60\t22\t82\t1\t2536.06221516927\t0\t0\t0.285138766427014\tNA\t16.6198130104453\t0\tM94.1242\n+M94.1339\t94.1339482863744\t94.1333847045898\t94.1345825195312\t59\t21\t80\t1\t1726.56231689453\t0\t0\t0.412773541758306\tNA\t33.5672745705465\t0\tM94.1339\n+M94.1356\t94.135551165509\t94.1345901489258\t94.1361465454102\t68\t18\t86\t1\t1736.27982584635\t0\t0\t0.193385351144766\tNA\t16.270988897744\t0\tM94.1356\n+M94.1397\t94.1396968579166\t94.139045715332\t94.1402969360352\t60\t20\t80\t1\t0\t0\t0\t0.373860889758338\tNA\tInf\t0\tM94.1397\n+M94.1445\t94.1445399648351\t94.1440124511719\t94.1451034545898\t63\t19\t82\t1\t0\t0\t0\t0.423704059045982\tNA\tInf\t0\tM94.1445\n+M94.1538\t94.1537829312411\t94.1530380249023\t94.154426574707\t60\t21\t81\t1\t0\t0\t0\t0.324261798910693\tNA\tInf\t0\tM94.1538\n+M95.0604\t95.0604486248377\t95.0599975585938\t95.0607986450195\t56\t18\t94\t3\t0\t0\t0\t0.162154778486059\t0.357428395583'..b'44\t59\t18\t93\t5\t5073.3123046875\t0\t0\t0.305371578534231\t0.155562293204092\tInf\t1\tM760.5849_2\n+M761.5882\t761.588168379189\t761.586059570312\t761.589965820312\t54\t18\t88\t3\t3164.939453125\t0\t0\t0.0267140496146002\t0.0769209556182632\tInf\t1\tM761.5882\n+M780.5512\t780.551233814381\t780.548400878906\t780.553344726562\t57\t18\t86\t3\t15682.4068196615\t0\t0\t0.822364644612449\t0.0466513790511261\tInf\t1\tM780.5512\n+M781.5548\t781.554751207114\t781.552368164062\t781.557678222656\t57\t18\t76\t4\t0\t0\t0\t0.658803203567801\t0.267085259506137\tInf\t1\tM781.5548\n+M782.5673\t782.567257612179\t782.555419921875\t782.571228027344\t60\t18\t90\t7\t2403.3837890625\t1\t0\tNA\tNA\tInf\t1\tM782.5673\n+M783.5710\t783.570994059245\t783.568176269531\t783.574157714844\t64\t18\t86\t5\t2123.912109375\t0\t0\t0.398759776043851\t0.277545322784394\tInf\t1\tM783.5710\n+M784.5848\t784.584842940291\t784.582458496094\t784.586791992188\t66\t18\t86\t3\t0\t0\t0\t0.267329869858505\t0.0995621420558957\tInf\t1\tM784.5848\n+M785.5880\t785.587965223524\t785.586242675781\t785.589660644531\t58\t18\t88\t3\t0\t0\t0\t0.0357617750978892\t0.0912589511401224\tInf\t1\tM785.5880\n+M786.6004\t786.600408599892\t786.598205566406\t786.603149414062\t70\t18\t91\t4\t21312.1127929688\t1\t0\tNA\tNA\tInf\t1\tM786.6004\n+M787.6038\t787.603848411923\t787.601318359375\t787.605590820312\t68\t18\t89\t3\t0\t0\t0\t0.370475656227268\t0.120792093141778\tInf\t1\tM787.6038\n+M795.5018\t795.501845542831\t795.500061035156\t795.503540039062\t52.5\t18\t71\t2\t0\t0\t0\t0.175396951849111\t0.0127221019480116\tInf\t0\tM795.5018\n+M796.5253\t796.525251799939\t796.523071289062\t796.527038574219\t56\t18\t78\t3\t0\t0\t0\t0.633589436054315\t0.0939214912381336\tInf\t1\tM796.5253\n+M796.5462\t796.546185693075\t796.544250488281\t796.5478515625\t53.5\t18\t73\t2\t0\t0\t0\t0.377388622437534\t0.0192362308429412\tInf\t0\tM796.5462\n+M804.5512\t804.551221720378\t804.548461914062\t804.553100585938\t59\t18\t88\t3\t0\t0\t0\t0.65011854652288\t0.154081865937521\tInf\t1\tM804.5512\n+M805.5546\t805.554553222656\t805.552307128906\t805.556701660156\t56\t18\t76\t3\t0\t0\t0\t0.495482144158829\t0.115035770233911\tInf\t1\tM805.5546\n+M806.5674\t806.567368878505\t806.564575195312\t806.571716308594\t69\t18\t89\t4\t3200.47015380859\t0\t0\t0.562809297722212\t0.0969270099846024\tInf\t1\tM806.5674\n+M807.5718\t807.571837826779\t807.568298339844\t807.574157714844\t57\t18\t89\t4\t0\t1\t0\tNA\tNA\tInf\t1\tM807.5718\n+M808.5826\t808.582568621395\t808.57958984375\t808.585510253906\t56.5\t18\t86\t4\t0\t0\t0\t0.722730142630699\t0.106893563585762\tInf\t1\tM808.5826\n+M809.5859\t809.585939641584\t809.583251953125\t809.587463378906\t58\t18\t78\t3\t0\t0\t0\t0.613572970969775\t0.0853686657028983\tInf\t1\tM809.5859\n+M810.6004\t810.600447889129\t810.597412109375\t810.603698730469\t59.5\t18\t89\t4\t0\t0\t0\t0.299822193769135\t0.10118372147724\tInf\t1\tM810.6004\n+M813.6843\t813.684323659861\t813.681823730469\t813.686340332031\t68.5\t18\t94\t2\t0\t0\t0\t-0.319760850026145\t0.0956213410968209\tInf\t0\tM813.6843\n+M828.5517\t828.551698599289\t828.548889160156\t828.554138183594\t62\t18\t89\t3\t0\t0\t0\t0.68117884509396\t0.0788475460744827\tInf\t1\tM828.5517\n+M829.5550\t829.555008396958\t829.553161621094\t829.556701660156\t56\t18\t74\t2\t0\t0\t0\t0.42914927157763\t0.24668050370415\tInf\t0\tM829.5550\n+M832.5827\t832.582662379488\t832.579833984375\t832.584777832031\t54\t18\t74\t3\t0\t0\t0\t0.545183631226791\t0.0607615249929452\tInf\t1\tM832.5827\n+M838.5642\t838.564181082589\t838.561279296875\t838.56640625\t52\t18\t76\t3\t0\t0\t0\t0.287316645041919\t0.115193509193785\tInf\t1\tM838.5642\n+M856.5830\t856.582992742091\t856.580505371094\t856.585083007812\t63\t18\t83\t3\t0\t0\t0\t0.506751634116772\t0.151721802640758\tInf\t1\tM856.5830\n+M857.5866\t857.586585635231\t857.584777832031\t857.588256835938\t55\t18\t73\t3\t0\t0\t0\t0.414025840826236\t0.0491392779069526\tInf\t1\tM857.5866\n+M918.6157\t918.615653153304\t918.612609863281\t918.617553710938\t57.5\t18\t77\t2\t0\t0\t0\t0.482447420681064\t0.0148893322803328\tInf\t0\tM918.6157\n+M934.6468\t934.646768423227\t934.643798828125\t934.649597167969\t59\t18\t83\t3\t0\t1\t0\tNA\tNA\tInf\t1\tM934.6468\n+M935.6502\t935.65021387736\t935.647216796875\t935.65283203125\t66\t18\t89\t3\t0\t0\t0\t0.417742318424789\t0.0863771775087084\tInf\t1\tM935.6502\n+M952.6658\t952.665781030899\t952.663818359375\t952.668762207031\t57\t18\t77\t2\t0\t0\t0\t0.367680681814844\t0.225355572596617\tInf\t0\tM952.6658\n'
b
diff -r 000000000000 -r 39ccace77270 runit/plasFIA/C100a.mzML
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/runit/plasFIA/C100a.mzML Sun Mar 26 17:37:12 2017 -0400
b
b'@@ -0,0 +1,11844 @@\n+<?xml version="1.0" encoding="utf-8"?>\r\n+<indexedmzML xmlns="http://psi.hupo.org/ms/mzml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://psi.hupo.org/ms/mzml http://psidev.info/files/ms/mzML/xsd/mzML1.1.2_idx.xsd">\r\n+  <mzML xmlns="http://psi.hupo.org/ms/mzml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://psi.hupo.org/ms/mzml http://psidev.info/files/ms/mzML/xsd/mzML1.1.0.xsd" id="UlH354_1_A" version="1.1.0">\r\n+    <cvList count="2">\r\n+      <cv id="MS" fullName="Proteomics Standards Initiative Mass Spectrometry Ontology" version="3.74.0" URI="http://psidev.cvs.sourceforge.net/*checkout*/psidev/psi/psi-ms/mzML/controlledVocabulary/psi-ms.obo"/>\r\n+      <cv id="UO" fullName="Unit Ontology" version="12:10:2011" URI="http://obo.cvs.sourceforge.net/*checkout*/obo/obo/ontology/phenotype/unit.obo"/>\r\n+    </cvList>\r\n+    <fileDescription>\r\n+      <fileContent>\r\n+        <cvParam cvRef="MS" accession="MS:1000579" name="MS1 spectrum" value=""/>\r\n+      </fileContent>\r\n+      <sourceFileList count="1">\r\n+        <sourceFile id="RAW1" name="UlH354_1_A.raw" location="file:///C:\\Users\\AD244905\\Documents\\Donnes_mass_spec\\tandem_ms_ms2_FIA\\FIA pool spiked in plasma">\r\n+          <cvParam cvRef="MS" accession="MS:1000768" name="Thermo nativeID format" value=""/>\r\n+          <cvParam cvRef="MS" accession="MS:1000563" name="Thermo RAW format" value=""/>\r\n+          <cvParam cvRef="MS" accession="MS:1000569" name="SHA-1" value="e79be178ce7ede585775efd3430aa15958654482"/>\r\n+        </sourceFile>\r\n+      </sourceFileList>\r\n+    </fileDescription>\r\n+    <referenceableParamGroupList count="1">\r\n+      <referenceableParamGroup id="CommonInstrumentParams">\r\n+        <cvParam cvRef="MS" accession="MS:1002416" name="Orbitrap Fusion" value=""/>\r\n+        <cvParam cvRef="MS" accession="MS:1000529" name="instrument serial number" value="FSN10225"/>\r\n+      </referenceableParamGroup>\r\n+    </referenceableParamGroupList>\r\n+    <softwareList count="2">\r\n+      <software id="Xcalibur" version="2.0.1258.14">\r\n+        <cvParam cvRef="MS" accession="MS:1000532" name="Xcalibur" value=""/>\r\n+      </software>\r\n+      <software id="pwiz" version="3.0.8789">\r\n+        <cvParam cvRef="MS" accession="MS:1000615" name="ProteoWizard software" value=""/>\r\n+      </software>\r\n+    </softwareList>\r\n+    <instrumentConfigurationList count="2">\r\n+      <instrumentConfiguration id="IC1">\r\n+        <referenceableParamGroupRef ref="CommonInstrumentParams"/>\r\n+        <componentList count="4">\r\n+          <source order="1">\r\n+            <cvParam cvRef="MS" accession="MS:1000073" name="electrospray ionization" value=""/>\r\n+            <cvParam cvRef="MS" accession="MS:1000057" name="electrospray inlet" value=""/>\r\n+          </source>\r\n+          <analyzer order="2">\r\n+            <cvParam cvRef="MS" accession="MS:1000081" name="quadrupole" value=""/>\r\n+          </analyzer>\r\n+          <analyzer order="3">\r\n+            <cvParam cvRef="MS" accession="MS:1000484" name="orbitrap" value=""/>\r\n+          </analyzer>\r\n+          <detector order="4">\r\n+            <cvParam cvRef="MS" accession="MS:1000624" name="inductive detector" value=""/>\r\n+          </detector>\r\n+        </componentList>\r\n+        <softwareRef ref="Xcalibur"/>\r\n+      </instrumentConfiguration>\r\n+      <instrumentConfiguration id="IC2">\r\n+        <referenceableParamGroupRef ref="CommonInstrumentParams"/>\r\n+        <componentList count="4">\r\n+          <source order="1">\r\n+            <cvParam cvRef="MS" accession="MS:1000073" name="electrospray ionization" value=""/>\r\n+            <cvParam cvRef="MS" accession="MS:1000057" name="electrospray inlet" value=""/>\r\n+          </source>\r\n+          <analyzer order="2">\r\n+            <cvParam cvRef="MS" accession="MS:1000081" name="quadrupole" value=""/>\r\n+          </analyzer>\r\n+          <analyzer order="3">\r\n+            <cvParam cvRef="MS" accession="MS:1000083" name="radial'..b'Number=1 scan=243">5124049</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=244">5146998</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=245">5167846</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=246">5191548</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=247">5211887</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=248">5233992</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=249">5256011</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=250">5276178</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=251">5297717</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=252">5318254</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=253">5341072</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=254">5363858</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=255">5384937</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=256">5406646</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=257">5428005</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=258">5448475</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=259">5470237</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=260">5494044</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=261">5514051</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=262">5535547</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=263">5559336</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=264">5579836</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=265">5601440</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=266">5624915</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=267">5648673</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=268">5671106</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=269">5691520</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=270">5712522</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=271">5734425</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=272">5755766</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=273">5776445</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=274">5796623</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=275">5816656</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=276">5838716</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=277">5861016</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=278">5883554</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=279">5905091</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=280">5927046</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=281">5948320</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=282">5971498</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=283">5994380</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=284">6014910</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=285">6036093</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=286">6058520</offset>\r\n+    </index>\r\n+    <index name="chromatogram">\r\n+      <offset idRef="TIC">6080117</offset>\r\n+    </index>\r\n+  </indexList>\r\n+  <indexListOffset>6085922</indexListOffset>\r\n+  <fileChecksum>9a2cf0b6a1f27b77328bb2727d5561ede8478553</fileChecksum>\r\n+</indexedmzML>\r\n'
b
diff -r 000000000000 -r 39ccace77270 runit/plasFIA/C100b.mzML
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/runit/plasFIA/C100b.mzML Sun Mar 26 17:37:12 2017 -0400
b
b'@@ -0,0 +1,11844 @@\n+<?xml version="1.0" encoding="utf-8"?>\r\n+<indexedmzML xmlns="http://psi.hupo.org/ms/mzml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://psi.hupo.org/ms/mzml http://psidev.info/files/ms/mzML/xsd/mzML1.1.2_idx.xsd">\r\n+  <mzML xmlns="http://psi.hupo.org/ms/mzml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://psi.hupo.org/ms/mzml http://psidev.info/files/ms/mzML/xsd/mzML1.1.0.xsd" id="UlH354_1_B" version="1.1.0">\r\n+    <cvList count="2">\r\n+      <cv id="MS" fullName="Proteomics Standards Initiative Mass Spectrometry Ontology" version="3.74.0" URI="http://psidev.cvs.sourceforge.net/*checkout*/psidev/psi/psi-ms/mzML/controlledVocabulary/psi-ms.obo"/>\r\n+      <cv id="UO" fullName="Unit Ontology" version="12:10:2011" URI="http://obo.cvs.sourceforge.net/*checkout*/obo/obo/ontology/phenotype/unit.obo"/>\r\n+    </cvList>\r\n+    <fileDescription>\r\n+      <fileContent>\r\n+        <cvParam cvRef="MS" accession="MS:1000579" name="MS1 spectrum" value=""/>\r\n+      </fileContent>\r\n+      <sourceFileList count="1">\r\n+        <sourceFile id="RAW1" name="UlH354_1_B.raw" location="file:///C:\\Users\\AD244905\\Documents\\Donnes_mass_spec\\tandem_ms_ms2_FIA\\FIA pool spiked in plasma">\r\n+          <cvParam cvRef="MS" accession="MS:1000768" name="Thermo nativeID format" value=""/>\r\n+          <cvParam cvRef="MS" accession="MS:1000563" name="Thermo RAW format" value=""/>\r\n+          <cvParam cvRef="MS" accession="MS:1000569" name="SHA-1" value="719525889078ea428849fe0ce743d8922237235f"/>\r\n+        </sourceFile>\r\n+      </sourceFileList>\r\n+    </fileDescription>\r\n+    <referenceableParamGroupList count="1">\r\n+      <referenceableParamGroup id="CommonInstrumentParams">\r\n+        <cvParam cvRef="MS" accession="MS:1002416" name="Orbitrap Fusion" value=""/>\r\n+        <cvParam cvRef="MS" accession="MS:1000529" name="instrument serial number" value="FSN10225"/>\r\n+      </referenceableParamGroup>\r\n+    </referenceableParamGroupList>\r\n+    <softwareList count="2">\r\n+      <software id="Xcalibur" version="2.0.1258.14">\r\n+        <cvParam cvRef="MS" accession="MS:1000532" name="Xcalibur" value=""/>\r\n+      </software>\r\n+      <software id="pwiz" version="3.0.8789">\r\n+        <cvParam cvRef="MS" accession="MS:1000615" name="ProteoWizard software" value=""/>\r\n+      </software>\r\n+    </softwareList>\r\n+    <instrumentConfigurationList count="2">\r\n+      <instrumentConfiguration id="IC1">\r\n+        <referenceableParamGroupRef ref="CommonInstrumentParams"/>\r\n+        <componentList count="4">\r\n+          <source order="1">\r\n+            <cvParam cvRef="MS" accession="MS:1000073" name="electrospray ionization" value=""/>\r\n+            <cvParam cvRef="MS" accession="MS:1000057" name="electrospray inlet" value=""/>\r\n+          </source>\r\n+          <analyzer order="2">\r\n+            <cvParam cvRef="MS" accession="MS:1000081" name="quadrupole" value=""/>\r\n+          </analyzer>\r\n+          <analyzer order="3">\r\n+            <cvParam cvRef="MS" accession="MS:1000484" name="orbitrap" value=""/>\r\n+          </analyzer>\r\n+          <detector order="4">\r\n+            <cvParam cvRef="MS" accession="MS:1000624" name="inductive detector" value=""/>\r\n+          </detector>\r\n+        </componentList>\r\n+        <softwareRef ref="Xcalibur"/>\r\n+      </instrumentConfiguration>\r\n+      <instrumentConfiguration id="IC2">\r\n+        <referenceableParamGroupRef ref="CommonInstrumentParams"/>\r\n+        <componentList count="4">\r\n+          <source order="1">\r\n+            <cvParam cvRef="MS" accession="MS:1000073" name="electrospray ionization" value=""/>\r\n+            <cvParam cvRef="MS" accession="MS:1000057" name="electrospray inlet" value=""/>\r\n+          </source>\r\n+          <analyzer order="2">\r\n+            <cvParam cvRef="MS" accession="MS:1000081" name="quadrupole" value=""/>\r\n+          </analyzer>\r\n+          <analyzer order="3">\r\n+            <cvParam cvRef="MS" accession="MS:1000083" name="radial'..b'Number=1 scan=243">5557225</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=244">5578130</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=245">5602342</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=246">5626511</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=247">5649685</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=248">5671762</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=249">5697881</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=250">5720397</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=251">5745284</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=252">5769222</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=253">5790926</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=254">5816405</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=255">5838109</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=256">5861148</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=257">5887444</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=258">5911436</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=259">5934755</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=260">5957276</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=261">5982468</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=262">6006041</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=263">6029116</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=264">6053196</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=265">6076936</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=266">6098943</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=267">6122548</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=268">6145171</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=269">6168536</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=270">6189723</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=271">6213371</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=272">6236355</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=273">6261595</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=274">6286702</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=275">6312181</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=276">6337746</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=277">6361272</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=278">6385400</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=279">6408723</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=280">6430486</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=281">6453162</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=282">6477030</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=283">6500268</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=284">6524143</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=285">6547862</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=286">6570783</offset>\r\n+    </index>\r\n+    <index name="chromatogram">\r\n+      <offset idRef="TIC">6593387</offset>\r\n+    </index>\r\n+  </indexList>\r\n+  <indexListOffset>6599212</indexListOffset>\r\n+  <fileChecksum>4cf2a2cb43cd54e7bb66d0964425efa29e021a9d</fileChecksum>\r\n+</indexedmzML>\r\n'
b
diff -r 000000000000 -r 39ccace77270 runit/plasFIA/C100c.mzML
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/runit/plasFIA/C100c.mzML Sun Mar 26 17:37:12 2017 -0400
b
b'@@ -0,0 +1,11844 @@\n+<?xml version="1.0" encoding="utf-8"?>\r\n+<indexedmzML xmlns="http://psi.hupo.org/ms/mzml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://psi.hupo.org/ms/mzml http://psidev.info/files/ms/mzML/xsd/mzML1.1.2_idx.xsd">\r\n+  <mzML xmlns="http://psi.hupo.org/ms/mzml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://psi.hupo.org/ms/mzml http://psidev.info/files/ms/mzML/xsd/mzML1.1.0.xsd" id="UlH354_1_C" version="1.1.0">\r\n+    <cvList count="2">\r\n+      <cv id="MS" fullName="Proteomics Standards Initiative Mass Spectrometry Ontology" version="3.74.0" URI="http://psidev.cvs.sourceforge.net/*checkout*/psidev/psi/psi-ms/mzML/controlledVocabulary/psi-ms.obo"/>\r\n+      <cv id="UO" fullName="Unit Ontology" version="12:10:2011" URI="http://obo.cvs.sourceforge.net/*checkout*/obo/obo/ontology/phenotype/unit.obo"/>\r\n+    </cvList>\r\n+    <fileDescription>\r\n+      <fileContent>\r\n+        <cvParam cvRef="MS" accession="MS:1000579" name="MS1 spectrum" value=""/>\r\n+      </fileContent>\r\n+      <sourceFileList count="1">\r\n+        <sourceFile id="RAW1" name="UlH354_1_C.raw" location="file:///C:\\Users\\AD244905\\Documents\\Donnes_mass_spec\\tandem_ms_ms2_FIA\\FIA pool spiked in plasma">\r\n+          <cvParam cvRef="MS" accession="MS:1000768" name="Thermo nativeID format" value=""/>\r\n+          <cvParam cvRef="MS" accession="MS:1000563" name="Thermo RAW format" value=""/>\r\n+          <cvParam cvRef="MS" accession="MS:1000569" name="SHA-1" value="aa08077698680eda8e60ca9c398cb74055892350"/>\r\n+        </sourceFile>\r\n+      </sourceFileList>\r\n+    </fileDescription>\r\n+    <referenceableParamGroupList count="1">\r\n+      <referenceableParamGroup id="CommonInstrumentParams">\r\n+        <cvParam cvRef="MS" accession="MS:1002416" name="Orbitrap Fusion" value=""/>\r\n+        <cvParam cvRef="MS" accession="MS:1000529" name="instrument serial number" value="FSN10225"/>\r\n+      </referenceableParamGroup>\r\n+    </referenceableParamGroupList>\r\n+    <softwareList count="2">\r\n+      <software id="Xcalibur" version="2.0.1258.14">\r\n+        <cvParam cvRef="MS" accession="MS:1000532" name="Xcalibur" value=""/>\r\n+      </software>\r\n+      <software id="pwiz" version="3.0.8789">\r\n+        <cvParam cvRef="MS" accession="MS:1000615" name="ProteoWizard software" value=""/>\r\n+      </software>\r\n+    </softwareList>\r\n+    <instrumentConfigurationList count="2">\r\n+      <instrumentConfiguration id="IC1">\r\n+        <referenceableParamGroupRef ref="CommonInstrumentParams"/>\r\n+        <componentList count="4">\r\n+          <source order="1">\r\n+            <cvParam cvRef="MS" accession="MS:1000073" name="electrospray ionization" value=""/>\r\n+            <cvParam cvRef="MS" accession="MS:1000057" name="electrospray inlet" value=""/>\r\n+          </source>\r\n+          <analyzer order="2">\r\n+            <cvParam cvRef="MS" accession="MS:1000081" name="quadrupole" value=""/>\r\n+          </analyzer>\r\n+          <analyzer order="3">\r\n+            <cvParam cvRef="MS" accession="MS:1000484" name="orbitrap" value=""/>\r\n+          </analyzer>\r\n+          <detector order="4">\r\n+            <cvParam cvRef="MS" accession="MS:1000624" name="inductive detector" value=""/>\r\n+          </detector>\r\n+        </componentList>\r\n+        <softwareRef ref="Xcalibur"/>\r\n+      </instrumentConfiguration>\r\n+      <instrumentConfiguration id="IC2">\r\n+        <referenceableParamGroupRef ref="CommonInstrumentParams"/>\r\n+        <componentList count="4">\r\n+          <source order="1">\r\n+            <cvParam cvRef="MS" accession="MS:1000073" name="electrospray ionization" value=""/>\r\n+            <cvParam cvRef="MS" accession="MS:1000057" name="electrospray inlet" value=""/>\r\n+          </source>\r\n+          <analyzer order="2">\r\n+            <cvParam cvRef="MS" accession="MS:1000081" name="quadrupole" value=""/>\r\n+          </analyzer>\r\n+          <analyzer order="3">\r\n+            <cvParam cvRef="MS" accession="MS:1000083" name="radial'..b'Number=1 scan=243">5564862</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=244">5589071</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=245">5611532</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=246">5635409</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=247">5660031</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=248">5682542</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=249">5707870</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=250">5731517</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=251">5757324</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=252">5780932</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=253">5804933</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=254">5828078</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=255">5850551</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=256">5874588</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=257">5896827</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=258">5918041</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=259">5941476</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=260">5964753</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=261">5989418</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=262">6014712</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=263">6039131</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=264">6062022</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=265">6086519</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=266">6110878</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=267">6133316</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=268">6156334</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=269">6180153</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=270">6202603</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=271">6228093</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=272">6249362</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=273">6272276</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=274">6296048</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=275">6317721</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=276">6342819</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=277">6366934</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=278">6391318</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=279">6415152</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=280">6437550</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=281">6458747</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=282">6480731</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=283">6504186</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=284">6528197</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=285">6551500</offset>\r\n+      <offset idRef="controllerType=0 controllerNumber=1 scan=286">6576307</offset>\r\n+    </index>\r\n+    <index name="chromatogram">\r\n+      <offset idRef="TIC">6600324</offset>\r\n+    </index>\r\n+  </indexList>\r\n+  <indexListOffset>6606129</indexListOffset>\r\n+  <fileChecksum>447f9be1e6037d35e6449c3cca1c60613fe67ba0</fileChecksum>\r\n+</indexedmzML>\r\n'
b
diff -r 000000000000 -r 39ccace77270 runit/plasfia/plasFIA.zip
b
Binary file runit/plasfia/plasFIA.zip has changed
b
diff -r 000000000000 -r 39ccace77270 runit/profia_runtests.R
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/runit/profia_runtests.R Sun Mar 26 17:37:12 2017 -0400
[
@@ -0,0 +1,107 @@
+#!/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) {
+
+    ## Set program path
+    wrapperPathC <- file.path(dirname(scriptPathC), "..", "profia_wrapper.R")
+
+    ## Set arguments
+    argLs <- NULL
+    for (parC in names(paramLs))
+        argLs <- c(argLs, parC, paramLs[[parC]])
+
+    ## Call
+    wrapperCallC <- paste(c(wrapperPathC, argLs), collapse = " ")
+
+    print(wrapperCallC)
+
+    if(.Platform$OS.type == "windows")
+        wrapperCallC <- paste("Rscript", wrapperCallC)
+
+    wrapperCodeN <- system(wrapperCallC)
+
+    if (wrapperCodeN != 0)
+        stop("Error when running profia_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"]])
+
+    return(outLs)
+}
+
+## Setting default parameters
+defaultArgF <- function(testInDirC) {
+
+    defaultArgLs <- list()
+    if(file.exists(file.path(dirname(scriptPathC), testInDirC, "dataMatrix.tsv")))
+        defaultArgLs[["dataMatrix_in"]] <- file.path(dirname(scriptPathC), testInDirC, "dataMatrix.tsv")
+    if(file.exists(file.path(dirname(scriptPathC), testInDirC, "sampleMetadata.tsv")))
+        defaultArgLs[["sampleMetadata_in"]] <- file.path(dirname(scriptPathC), testInDirC, "sampleMetadata.tsv")
+    if(file.exists(file.path(dirname(scriptPathC), testInDirC, "variableMetadata.tsv")))
+        defaultArgLs[["variableMetadata_in"]] <- file.path(dirname(scriptPathC), testInDirC, "variableMetadata.tsv")
+
+    defaultArgLs[["dataMatrix_out"]] <- file.path(dirname(scriptPathC), testOutDirC, "dataMatrix.tsv")
+        defaultArgLs[["sampleMetadata_out"]] <- file.path(dirname(scriptPathC), testOutDirC, "sampleMetadata.tsv")
+    defaultArgLs[["variableMetadata_out"]] <- file.path(dirname(scriptPathC), testOutDirC, "variableMetadata.tsv")
+    defaultArgLs[["figure"]] <- file.path(dirname(scriptPathC), testOutDirC, "figure.pdf")
+    defaultArgLs[["information"]] <- file.path(dirname(scriptPathC), testOutDirC, "information.txt")
+
+    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 000000000000 -r 39ccace77270 runit/profia_tests.R
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/runit/profia_tests.R Sun Mar 26 17:37:12 2017 -0400
[
@@ -0,0 +1,16 @@
+test_plasfia_default <- function() {
+
+    testDirC <- "plasfia"
+    argLs <- list(zipfile = "./plasfia/plasFIA.zip",
+                  library = "NULL",
+                  ppmN = "2",
+                  ppmGroupN = "1",
+                  fracGroupN = "0.1",
+                  kI = "2")
+
+    argLs <- c(defaultArgF(testDirC), argLs)
+    outLs <- wrapperCallF(argLs)
+
+    checkEqualsNumeric(outLs[["datMN"]]["C100a", "M86.0965"], 1313797.6184402, tolerance = 1e-7)
+
+}
b
diff -r 000000000000 -r 39ccace77270 static/images/profia_workflowPositionImage.png
b
Binary file static/images/profia_workflowPositionImage.png has changed
b
diff -r 000000000000 -r 39ccace77270 static/images/profia_workingExampleImage.png
b
Binary file static/images/profia_workingExampleImage.png has changed
b
diff -r 000000000000 -r 39ccace77270 test-data/input-plasFIA.zip
b
Binary file test-data/input-plasFIA.zip has changed
b
diff -r 000000000000 -r 39ccace77270 test-data/output-dataMatrix.tsv
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output-dataMatrix.tsv Sun Mar 26 17:37:12 2017 -0400
b
b'@@ -0,0 +1,720 @@\n+dataMatrix\tC100a\tC100b\tC100c\n+M86.0965\t1313797.61844021\t2346283.61756864\t2199831.8940868\n+M89.5775\tNA\tNA\tNA\n+M89.5944\tNA\tNA\tNA\n+M89.6051\tNA\tNA\tNA\n+M90.9767\t5106007.35482488\t6564507.32105305\t6447733.55546476\n+M93.9829\tNA\tNA\tNA\n+M93.9873\tNA\tNA\tNA\n+M93.9950\tNA\tNA\tNA\n+M94.0000\tNA\tNA\tNA\n+M94.0078\tNA\tNA\tNA\n+M94.0124\tNA\tNA\tNA\n+M94.0234\tNA\tNA\tNA\n+M94.0262\tNA\tNA\tNA\n+M94.0321\tNA\tNA\tNA\n+M94.0362\tNA\tNA\tNA\n+M94.0401\tNA\tNA\tNA\n+M94.0425\tNA\tNA\tNA\n+M94.0437\tNA\tNA\tNA\n+M94.0552\tNA\tNA\tNA\n+M94.0991\tNA\tNA\tNA\n+M94.1052\tNA\tNA\tNA\n+M94.1167\tNA\tNA\tNA\n+M94.1242\tNA\tNA\tNA\n+M94.1339\tNA\tNA\tNA\n+M94.1356\tNA\tNA\tNA\n+M94.1397\tNA\tNA\tNA\n+M94.1445\tNA\tNA\tNA\n+M94.1538\tNA\tNA\tNA\n+M95.0604\t685629.13713184\t993375.02882652\t875626.486232038\n+M96.9218\t11555241.0234047\t11798830.9597099\t13629842.0824619\n+M97.0761\t1114447.34533038\t1167650.73440278\t987109.64945019\n+M98.9189\t3036892.14294779\t2897574.20676409\t2879965.62034251\n+M102.0550\t425296.351333251\t562287.354221277\tNA\n+M102.0914\t3405898.45991167\t3405365.30747783\tNA\n+M103.9379\tNA\tNA\tNA\n+M103.9419\tNA\tNA\tNA\n+M104.1070\tNA\tNA\tNA\n+M105.0699\t4302867.69309973\t4844241.85637734\t3733356.71721098\n+M109.0760\t7482333.50573563\t7749454.43356407\t6629390.30420811\n+M112.8957\t11121448.9424704\t11023618.7533977\t11020725.581527\n+M114.0662\t3787927.88423462\t4219228.56920995\t4175211.94282092\n+M114.8928\t2599676.24720123\t2710556.01072404\t2784568.84757635\n+M115.0542\t7559851.1229425\t7681057.45130294\t5517374.77626431\n+M116.0706\t22245233.8553328\t22803669.3222943\t23491347.9559748\n+M117.0573\t2748979.07162588\t2538668.17223273\t2174237.92100802\n+M117.0699\t5790263.22958525\t4875814.61521518\t4148891.43451485\n+M118.0651\t9770801.94760909\t9328622.47944978\t9104132.1653589\n+M118.0862\t27308207.5048995\t28200166.5313722\t29895881.538737\n+M120.0655\t2294414.34871079\t2336845.67214873\t2491247.14498326\n+M120.0808\t2872417.82916936\t2263221.21507969\t2327238.94823518\n+M120.9661\t603722.847061515\tNA\t573795.21966387\n+M121.0509\t122658259.614793\t104503127.137474\t94239375.1646403\n+M121.9045\tNA\tNA\tNA\n+M121.9232\tNA\tNA\tNA\n+M121.9247\tNA\tNA\tNA\n+M121.9269\tNA\tNA\tNA\n+M121.9333\tNA\tNA\tNA\n+M121.9391\tNA\tNA\tNA\n+M121.9520\tNA\tNA\tNA\n+M121.9738\tNA\tNA\tNA\n+M121.9760\tNA\tNA\tNA\n+M121.9938\tNA\tNA\tNA\n+M122.0100\tNA\tNA\tNA\n+M122.0542\t4513962.08223987\t3201210.5171773\t4014449.66768367\n+M122.0579\tNA\tNA\tNA\n+M122.0995\tNA\tNA\tNA\n+M122.1256\tNA\tNA\tNA\n+M122.1598\tNA\tNA\tNA\n+M126.1026\t81499099.8245328\t124635981.19873\t111163001.300936\n+M127.1059\t6012736.00869722\t5472794.82842695\t4871879.07593195\n+M128.0494\t23952127.8478598\t19058160.3422955\t17601743.7731112\n+M129.0658\t988215.070873834\t1040340.62937073\t854623.945932545\n+M130.0498\t1955847.68063145\t2232763.20934855\t2467285.5945456\n+M130.0862\t1085605.25319448\t1465336.20457251\t1829782.12060952\n+M130.1087\t319305323.249651\t290908568.308084\t265409459.287951\n+M131.0815\t596446.53961781\t691807.982855779\tNA\n+M131.1057\t3682474.54143962\t2036935.67466124\t2660637.56292433\n+M131.1120\t9785332.21473518\t8692010.96517718\t8288068.26203035\n+M132.0655\t3790320.10909363\t4035488.20961741\t4165651.60338819\n+M132.0767\t2762213.88476255\t3202180.90847702\t2909373.90206213\n+M132.1019\t58938805.9629904\t60083542.3860023\t57646862.9011984\n+M133.0971\t1526239.14803199\t1680743.18492953\t1793790.93561658\n+M133.1052\t1806771.72880841\t1958263.70045634\t2116383.2046456\n+M134.0448\t563310.367045782\t550778.627756037\tNA\n+M134.0964\t69015365.274054\t65428953.2448955\t57158814.3360672\n+M134.9884\t1350501.82892699\t1316365.41719993\tNA\n+M135.0028\t16443026.4661012\t19052105.7436914\t19213830.3866995\n+M135.0301\tNA\tNA\tNA\n+M135.0998\t3994966.42947665\t3704548.05397512\t3390018.27395486\n+M136.0757\t39193123.0686269\t35076700.2394653\t34902125.3884823\n+M137.0573\t174483.88016119\tNA\t392859.082029682\n+M137.0790\tNA\tNA\tNA\n+M138.9065\t3223615.48922233\t3546765.26098753\t3392576.37740282\n+M140.0682\t1818996.32930819\t2415629.65322842\t2917498.22244721\n+M140.9035\t2335282.31470032\t1853902.13392931\t2281789.26368724\n+M142.0651\t3906512.29507626\t3220352.83524359\t3167557.04507274\n+M142.9183\t736798.97485138\t1061687.7839917\tNA\n+M142.9480\t2307463.66917123\t225'..b'170.0318936\n+M670.2559\t1754183.64727958\t2408870.1151202\t2109061.02452055\n+M670.3738\t6636668.39355427\t6446248.74652466\t6031306.96951204\n+M671.3772\t2816636.0913067\t1798089.63237222\t2111722.2798079\n+M672.3895\t4686473.79893916\t4258496.84175044\t4166255.72826511\n+M673.1164\t1469352.7683988\t1829681.76580113\t1917560.23493875\n+M674.3685\t3809129.89511944\t3160860.00557134\t2636130.13374479\n+M676.0468\t1461863.10195596\tNA\t1377422.71456078\n+M683.0643\t1259780.56399135\t1322143.83574079\t1552769.07139395\n+M683.5431\t1732441.67345777\t2525723.18668878\t2647724.55411367\n+M685.4360\t1190057.97079061\tNA\t1419229.5914531\n+M686.4051\t32080808.6893522\t28761754.7656157\t25571217.8418349\n+M687.4083\t13246103.1481081\t13951215.1330508\t8069238.27678928\n+M688.4118\t2093118.85466739\t1814091.46550962\tNA\n+M689.0812\t1476618.84097023\t1741683.93653201\t1913192.51839009\n+M689.3530\tNA\t1238431.80913389\t1029803.46358456\n+M689.4022\t4338568.86783822\t3318258.17489864\t4213005.6754478\n+M695.0984\t1270154.44480474\t1188530.68267335\t999720.609375044\n+M703.4544\t1462246.07443563\t1816537.57340901\t2642770.85961821\n+M703.5748\t5102477.6908115\t5274750.09273895\t5185173.62570642\n+M704.3794\t4977090.82171093\t4766704.41426656\t3927234.4710448\n+M704.5783\t1626987.96032962\t1669312.71186966\t1387421.31251627\n+M705.0463\tNA\t861285.955446116\t1134434.61817021\n+M705.3826\t1789589.10109757\tNA\t1709645.14232354\n+M711.0633\tNA\t1036374.52712934\t885481.220466106\n+M711.5745\t14150222.1090017\t14102404.5952038\t15356903.5818177\n+M712.5779\t5077242.5759118\t5592716.57268192\t6845985.16047672\n+M718.6320\t4297488.07177764\t2674413.24027353\t3158446.37030282\n+M719.4284\tNA\t2127705.73067334\t1707398.52119952\n+M725.5567\t5531847.39784041\t4899114.59155239\t5881591.76830335\n+M726.5600\tNA\t1491636.74107451\t1514588.19312526\n+M739.6058\t13557326.9670239\t16321329.2589389\t16792318.9578223\n+M740.6091\t5505462.91675326\t7113386.17328623\t6438361.71719427\n+M751.4289\t3250491.94756132\t4097881.10977438\t2905108.52355567\n+M758.5692\t24171669.9177599\t26133048.4446723\t29823488.7144675\n+M759.5727\t11996299.5830951\t12396459.816729\t13725260.4161819\n+M760.5758\t2312542.05691645\t1797714.30089578\t2433944.0644655\n+M760.5849\t8704293.57954915\t9171699.09361031\t11678909.7038509\n+M760.5849_2\t8704293.57954915\t9171699.09361031\t11678909.7038509\n+M761.5882\t3494168.58240472\t3623908.83475874\t3517772.49370049\n+M780.5512\t26678287.0199592\t33917501.213975\t35599330.0192635\n+M781.5548\t13370049.3355155\t6786254.01813485\t17495405.1874264\n+M782.5673\t8275387.67127943\t13698705.3298253\t14111642.4412243\n+M783.5710\t5090990.23826268\t2775887.5304272\t6341089.95006743\n+M784.5848\t5220940.29954109\t4276780.46147111\t6260943.09565952\n+M785.5880\t1686702.15583167\t2124120.66042257\t1712214.24956577\n+M786.6004\t10857162.7919506\t8697613.9851878\t12499433.8991773\n+M787.6038\t4761674.55928992\t5879054.35089474\t7047984.21331802\n+M795.5018\t2077762.78637069\tNA\t1907175.50675846\n+M796.5253\t4271079.60468799\t3501147.38860042\t5343302.22793834\n+M796.5462\tNA\t2822281.02903116\t3224036.730931\n+M804.5512\t6633582.89013492\t8165455.97185418\t7470168.70212077\n+M805.5546\t2438210.55855297\t3663463.1635972\t3764389.21632828\n+M806.5674\t4467025.00798707\t6619742.31219476\t9583742.64770817\n+M807.5718\t1352704.42256487\t2936768.26498869\t1887270.8950478\n+M808.5826\t10891390.3423662\t15794458.1878269\t16077663.9695797\n+M809.5859\t5995718.59407245\t5735791.69055253\t7082868.29906178\n+M810.6004\t1864314.89593087\t2348128.92155743\t3928135.89388521\n+M813.6843\tNA\t773185.606064327\t1241785.9308559\n+M828.5517\t6912623.84509757\t6836612.02012318\t8339689.31073757\n+M829.5550\tNA\t2944009.16774303\t4078158.50009707\n+M832.5827\t2539235.67631783\t3231564.93949998\t3214890.3796771\n+M838.5642\t2129171.20139942\t2659697.24921949\t2476264.53702713\n+M856.5830\t5771894.46378455\t6862482.35532919\t6096656.68858823\n+M857.5866\t2219552.55506141\t2623050.99114286\t2766548.52211978\n+M918.6157\t2402815.01640448\tNA\t1809595.40049242\n+M934.6468\t5786820.15496312\t5970083.49633795\t6293149.21279938\n+M935.6502\t3318525.17212971\t4159207.90254135\t2994270.82759245\n+M952.6658\tNA\t1992166.49507342\t1589196.0912281\n'
b
diff -r 000000000000 -r 39ccace77270 test/test-profia
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/test-profia Sun Mar 26 17:37:12 2017 -0400
b
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+# Constants {{{1
+################################################################
+
+PROG_PATH=$(dirname $0)
+
+# MAIN {{{1
+################################################################
+
+$PROG_PATH/../profia_wrapper.R zipfile $PROG_PATH/../test-data/input-plasFIA.zip ppmN 2 ppmGroupN 1 fracGroupN 0.1 kI 2 dataMatrix_out $PROG_PATH/output-dataMatrix.tsv
+
+if ! diff "$PROG_PATH/output-dataMatrix.tsv" "$PROG_PATH/../test-data/output-dataMatrix.tsv" ; then
+ echo "Incorrect output data matrix." >&2
+ exit 1
+fi