Mercurial > repos > pieterlukasse > prims_metabolomics
annotate xcms_differential_analysis.r @ 61:d685210eef3e
fix in pdftotabular tool
| author | pieter.lukasse@wur.nl |
|---|---|
| date | Fri, 19 Dec 2014 15:30:13 +0100 |
| parents | 543958f75e83 |
| children |
| rev | line source |
|---|---|
| 41 | 1 ## read args: |
| 2 args <- commandArgs(TRUE) | |
| 3 #cat("args <- \"\"\n") | |
| 4 ## a xcms xset saved as .RData | |
| 5 args.xsetData <- args[1] | |
| 6 #cat(paste("args.xsetData <- \"", args[1], "\"\n", sep="")) | |
| 7 | |
| 8 args.class1 <- args[2] | |
| 9 args.class2 <- args[3] | |
| 10 #cat(paste("args.class1 <- \"", args[2], "\"\n", sep="")) | |
| 11 #cat(paste("args.class2 <- \"", args[3], "\"\n", sep="")) | |
| 12 | |
| 13 args.topcount <- strtoi(args[4]) | |
| 14 #cat(paste("args.topcount <- ", args[4], "\n", sep="")) | |
| 15 | |
| 16 args.outTable <- args[5] | |
| 17 | |
| 18 ## report files | |
|
49
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
41
diff
changeset
|
19 args.htmlReportFile <- args[6] |
|
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
41
diff
changeset
|
20 args.htmlReportFile.files_path <- args[7] |
|
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
41
diff
changeset
|
21 #cat(paste("args.htmlReportFile <- \"", args[6], "\"\n", sep="")) |
|
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
41
diff
changeset
|
22 #cat(paste("args.htmlReportFile.files_path <- \"", args[7], "\"\n", sep="")) |
|
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
41
diff
changeset
|
23 |
| 41 | 24 |
|
49
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
41
diff
changeset
|
25 if (length(args) == 8) |
|
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
41
diff
changeset
|
26 { |
|
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
41
diff
changeset
|
27 args.outLogFile <- args[8] |
|
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
41
diff
changeset
|
28 # suppress messages: |
|
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
41
diff
changeset
|
29 # Send all STDERR to STDOUT using sink() see http://mazamascience.com/WorkingWithData/?p=888 |
|
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
41
diff
changeset
|
30 msg <- file(args.outLogFile, open="wt") |
|
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
41
diff
changeset
|
31 sink(msg, type="message") |
|
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
41
diff
changeset
|
32 sink(msg, type="output") |
|
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
41
diff
changeset
|
33 } |
| 41 | 34 |
| 35 tryCatch( | |
| 36 { | |
| 37 library(metaMS) | |
| 38 library(xcms) | |
| 39 #library("R2HTML") | |
| 40 | |
|
49
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
41
diff
changeset
|
41 # load the xset data : |
|
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
41
diff
changeset
|
42 xsetData <- readRDS(args.xsetData) |
|
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
41
diff
changeset
|
43 # if here to support both scenarios: |
|
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
41
diff
changeset
|
44 if ("xcmsSet" %in% slotNames(xsetData) ) |
|
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
41
diff
changeset
|
45 { |
|
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
41
diff
changeset
|
46 xsetData <- xsetData@xcmsSet |
|
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
41
diff
changeset
|
47 } |
|
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
41
diff
changeset
|
48 |
| 41 | 49 |
| 50 # info: levels(xcmsSet@phenoData$class) also gives access to the class names | |
|
49
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
41
diff
changeset
|
51 dir.create(file.path(args.htmlReportFile.files_path), showWarnings = FALSE, recursive = TRUE) |
| 54 | 52 # set cairo as default for png plots: |
| 55 | 53 png = function (...) grDevices::png(...,type='cairo') |
| 54 | 54 # run diffreport |
|
49
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
41
diff
changeset
|
55 reporttab <- diffreport(xsetData, args.class1, args.class2, paste(args.htmlReportFile.files_path,"/fig", sep=""), args.topcount, metlin = 0.15, h=480, w=640) |
| 41 | 56 |
| 57 # write out tsv table: | |
| 58 write.table(reporttab, args.outTable, sep="\t", row.names=FALSE) | |
| 59 | |
| 60 message("\nGenerating report.........") | |
| 61 | |
| 62 cat("<html><body><h1>Differential analysis report</h1>", file= args.htmlReportFile) | |
| 63 #HTML(reporttab[1:args.topcount,], file= args.htmlReportFile) | |
| 64 figuresPath <- paste(args.htmlReportFile.files_path, "/fig_eic", sep="") | |
| 65 message(figuresPath) | |
| 66 listOfFiles <- list.files(path = figuresPath) | |
| 67 for (i in 1:length(listOfFiles)) | |
| 68 { | |
| 69 figureName <- listOfFiles[i] | |
| 70 # maybe we still need to copy the figures to the args.htmlReportFile.files_path | |
| 71 cat(paste("<img src='fig_eic/", figureName,"' />", sep=""), file= args.htmlReportFile, append=TRUE) | |
| 72 cat(paste("<img src='fig_box/", figureName,"' />", sep=""), file= args.htmlReportFile, append=TRUE) | |
| 73 } | |
| 74 | |
| 75 message("finished generating report") | |
| 76 cat("\nWarnings================:\n") | |
| 77 str( warnings() ) | |
| 78 }, | |
| 79 error=function(cond) { | |
| 80 sink(NULL, type="message") # default setting | |
| 81 sink(stderr(), type="output") | |
| 82 message("\nERROR: ===========\n") | |
| 83 print(cond) | |
| 84 } | |
| 85 ) |
