Mercurial > repos > pieterlukasse > prims_metabolomics
annotate metaMS_cmd_annotate.r @ 49:f772a5caa86a
Added more options and better documentation.
Added MsClust support for parsing XCMS alignment results.
Improved output reports for XCMS wrappers.
New tools.
author | pieter.lukasse@wur.nl |
---|---|
date | Wed, 10 Dec 2014 22:03:27 +0100 |
parents | |
children | 70574a6381ea |
rev | line source |
---|---|
49
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
1 ## read args: |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
2 args <- commandArgs(TRUE) |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
3 ## the constructed DB, e.g. "E:/Rworkspace/metaMS/data/LCDBtest.RData" |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
4 args.constructedDB <- args[1] |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
5 ## data file in xset format: |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
6 args.xsetData <- args[2] |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
7 ## settings file, e.g. "E:/Rworkspace/metaMS/data/settings.r", should contain assignment to an object named "customMetaMSsettings" |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
8 args.settings <- args[3] |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
9 |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
10 ## output file names, e.g. "E:/Rworkspace/metaMS/data/out.txt" |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
11 args.outAnnotationTable <- args[4] |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
12 |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
13 ## report files |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
14 args.htmlReportFile <- args[5] |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
15 args.htmlReportFile.files_path <- args[6] |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
16 |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
17 if (length(args) == 7) |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
18 { |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
19 args.outLogFile <- args[7] |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
20 # suppress messages: |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
21 # 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:
diff
changeset
|
22 msg <- file(args.outLogFile, open="wt") |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
23 sink(msg, type="message") |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
24 sink(msg, type="output") |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
25 } |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
26 |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
27 cat("\nSettings used===============:\n") |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
28 cat(readChar(args.settings, 1e5)) |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
29 |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
30 |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
31 tryCatch( |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
32 { |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
33 library(metaMS) |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
34 |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
35 ## load the constructed DB : |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
36 tempEnv <- new.env() |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
37 testDB <- load(args.constructedDB, envir=tempEnv) |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
38 xsetData <- readRDS(args.xsetData) |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
39 |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
40 ## load settings "script" into "customMetaMSsettings" |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
41 source(args.settings, local=tempEnv) |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
42 message(paste(" loaded : ", args.settings)) |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
43 |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
44 # Just to highlight: if you want to use more than one |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
45 # trigger runLC: |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
46 LC <- runLC(xset=xsetData, settings = tempEnv[["customMetaMSsettings"]], DB = tempEnv[[testDB[1]]]$DB, nSlaves=20, returnXset = TRUE) |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
47 |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
48 # write out runLC annotation results: |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
49 write.table(LC$PeakTable, args.outAnnotationTable, sep="\t", row.names=FALSE) |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
50 |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
51 # the used constructed DB (write to log): |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
52 cat("\nConstructed DB info===============:\n") |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
53 str(tempEnv[[testDB[1]]]$Info) |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
54 cat("\nConstructed DB table===============:\n") |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
55 if (length(args) == 7) |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
56 { |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
57 write.table(tempEnv[[testDB[1]]]$DB, args.outLogFile, append=TRUE, row.names=FALSE) |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
58 write.table(tempEnv[[testDB[1]]]$Reftable, args.outLogFile, sep="\t", append=TRUE, row.names=FALSE) |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
59 } |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
60 |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
61 message("\nGenerating report.........") |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
62 # report |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
63 dir.create(file.path(args.htmlReportFile.files_path), showWarnings = FALSE, recursive = TRUE) |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
64 html <- "<html><body><h1>Summary of annotation results:</h1>" |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
65 nrTotalFeatures <- nrow(LC$PeakTable) |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
66 nrAnnotatedFeatures <- nrow(LC$Annotation$annotation.table) |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
67 html <- paste(html,"<p>Total nr of features: ", nrTotalFeatures,"</p>", sep="") |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
68 html <- paste(html,"<p>Total nr of annotated features: ", nrAnnotatedFeatures,"</p>", sep="") |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
69 |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
70 html <- paste(html,"</body><html>") |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
71 message("finished generating report") |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
72 write(html,file=args.htmlReportFile) |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
73 # unlink(args.htmlReportFile) |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
74 cat("\nWarnings================:\n") |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
75 str( warnings() ) |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
76 }, |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
77 error=function(cond) { |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
78 sink(NULL, type="message") # default setting |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
79 sink(stderr(), type="output") |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
80 message("\nERROR: ===========\n") |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
81 print(cond) |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
82 } |
f772a5caa86a
Added more options and better documentation.
pieter.lukasse@wur.nl
parents:
diff
changeset
|
83 ) |