Mercurial > repos > lecorguille > xcms_plot_chromatogram
annotate xcms_plot_chromatogram.r @ 0:fe1f0f16d9e6 draft
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
author | lecorguille |
---|---|
date | Thu, 08 Mar 2018 02:48:44 -0500 |
parents | |
children | e6fdadaf039e |
rev | line source |
---|---|
0
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
1 #!/usr/bin/env Rscript |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
2 |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
3 # ----- LOG FILE ----- |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
4 log_file=file("log.txt", open = "wt") |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
5 sink(log_file) |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
6 sink(log_file, type = "output") |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
7 |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
8 |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
9 # ----- PACKAGE ----- |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
10 cat("\tSESSION INFO\n") |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
11 |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
12 #Import the different functions |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
13 source_local <- function(fname){ argv <- commandArgs(trailingOnly=FALSE); base_dir <- dirname(substring(argv[grep("--file=", argv)], 8)); source(paste(base_dir, fname, sep="/")) } |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
14 source_local("lib.r") |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
15 |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
16 pkgs <- c("xcms","batch","RColorBrewer") |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
17 loadAndDisplayPackages(pkgs) |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
18 cat("\n\n"); |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
19 |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
20 |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
21 # ----- ARGUMENTS ----- |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
22 cat("\tARGUMENTS INFO\n") |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
23 args = parseCommandArgs(evaluate=FALSE) #interpretation of arguments given in command line as an R list of objects |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
24 write.table(as.matrix(args), col.names=F, quote=F, sep='\t') |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
25 |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
26 cat("\n\n") |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
27 |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
28 # ----- PROCESSING INFILE ----- |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
29 cat("\tARGUMENTS PROCESSING INFO\n") |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
30 |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
31 #saving the specific parameters |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
32 method <- args$method; args$method <- NULL |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
33 |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
34 cat("\n\n") |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
35 |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
36 |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
37 # ----- ARGUMENTS PROCESSING ----- |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
38 cat("\tINFILE PROCESSING INFO\n") |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
39 |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
40 #image is an .RData file necessary to use xset variable given by previous tools |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
41 load(args$image); args$image=NULL |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
42 if (!exists("xdata")) stop("\n\nERROR: The RData doesn't contain any object called 'xdata'. This RData should have been created by an old version of XMCS 2.*") |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
43 |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
44 # Handle infiles |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
45 if (!exists("singlefile")) singlefile <- NULL |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
46 if (!exists("zipfile")) zipfile <- NULL |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
47 rawFilePath <- getRawfilePathFromArguments(singlefile, zipfile, args) |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
48 zipfile <- rawFilePath$zipfile |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
49 singlefile <- rawFilePath$singlefile |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
50 args <- rawFilePath$args |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
51 directory <- retrieveRawfileInTheWorkingDirectory(singlefile, zipfile) |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
52 |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
53 |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
54 cat("\n\n") |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
55 |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
56 |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
57 # ----- MAIN PROCESSING INFO ----- |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
58 cat("\tMAIN PROCESSING INFO\n") |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
59 |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
60 |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
61 cat("\t\tDRAW GRAPHICS\n") |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
62 |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
63 #@TODO: one day, use xdata instead of xset to draw the TICs and BPC or a complete other method |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
64 getPlotTICs(xdata, pdfname="TICs.pdf") |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
65 getPlotBPIs(xdata, pdfname="BPIs.pdf") |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
66 |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
67 cat("\n\n") |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
68 |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
69 # ----- EXPORT ----- |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
70 |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
71 cat("\tXCMSnExp OBJECT INFO\n") |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
72 print(xdata) |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
73 cat("\n\n") |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
74 |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
75 cat("\txcmsSet OBJECT INFO\n") |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
76 # Get the legacy xcmsSet object |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
77 xset <- getxcmsSetObject(xdata) |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
78 print(xset) |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
79 cat("\n\n") |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
80 |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
81 |
fe1f0f16d9e6
planemo upload for repository https://github.com/workflow4metabolomics/xcms commit cfb08142b6bfb78002b4e0d7775adb1a58e66c33-dirty
lecorguille
parents:
diff
changeset
|
82 cat("\tDONE\n") |