SCM

SCM Repository

[batman] Annotation of /pkg/batman/R/plotRelCon.R
ViewVC logotype

Annotation of /pkg/batman/R/plotRelCon.R

Parent Directory Parent Directory | Revision Log Revision Log


Revision 120 - (view) (download)

1 : jie 120 plotRelCon<-function(BM, metaName, plotHist = FALSE, breaks, saveFig = TRUE,
2 :     saveFigDir = BM$outputDir, prefixFig, rerun = FALSE, overwriteFig = FALSE)
3 :     {
4 :     ## written by Dr. Jie Hao
5 :     ## histogram or boxplot of relative concentration posteriors for listed metabolites with 95% credible interval
6 :     if (missing(BM))
7 :     return(cat("Please input batman data list.\n"))
8 :    
9 :     warnDef<-options("warn")$warn
10 :     warnRead<-options(warn = -1)
11 :     ptype = "pdf"
12 :     n <- 4
13 :     ns<-5
14 :    
15 :     m<-row.names(BM$beta)
16 :     if (!missing(metaName))
17 :     {
18 :     mind<-which(!is.na(match(tolower(m),tolower(metaName))))
19 :     if (length(mind)==0)
20 :     return(cat("No matching metabolite found...\n"))
21 :     } else {
22 :     metaName <-NULL
23 :     mind<-1:length(m)
24 :     }
25 :    
26 :     ## plot batman results
27 :     if (!is.null(BM$betaSam) && !rerun)
28 :     {
29 :     r<-row.names(BM$betaSam)
30 :     #f<-nrow(BM$betaSam)
31 :     f<-length(mind)
32 :     fc<-ncol(BM$betaSam)
33 :     sno<-BM$specRange
34 :     ind<-fc/length(sno)
35 :     outpdf1<-NULL
36 :     for (i in 1:length(sno))
37 :     {
38 :     if (plotHist)
39 :     {
40 :     for (j in 1:f)
41 :     {
42 :     ## set subplot
43 :     if ((j%%n)==1)
44 :     {
45 :     if ((f-j)>=1)
46 :     {
47 :     if (!missing(prefixFig))
48 :     outpdf1 <- paste(saveFigDir, "/", prefixFig,"_spec_",sno[i],"RelCon_", mind[j], "to",mind[min(j+n-1,length(mind))],".",ptype, sep="")
49 :     else
50 :     outpdf1 <- paste(saveFigDir,"/spec_",sno[i],"RelCon_",mind[j], "to",mind[min(j+n-1,length(mind))],".",ptype, sep="")
51 :     x11(15,7)
52 :     par(mfrow=c(2, 2),oma = c(0, 0, 3, 0))
53 :     } else {
54 :     if (!missing(prefixFig))
55 :     outpdf1 <- paste(saveFigDir, "/", prefixFig, "_spec_",sno[i],"RelCon_", mind[j], ".",ptype, sep="")
56 :     else
57 :     outpdf1 <- paste(saveFigDir,"/spec_",sno[i],"RelCon_",mind[j],".",ptype, sep="")
58 :     x11(15,7)
59 :     par(mfrow=c(1,1),oma = c(0, 0, 3, 0))
60 :     }
61 :     }
62 :     ## set default breaks for histogram
63 :     if (missing(breaks))
64 :     {
65 :     breaks <- length(BM$betaSam[mind[j],((i-1)*ind+1):(i*ind)])%/%3
66 :     if (breaks <=0)
67 :     breaks <- length(BM$betaSam[mind[j],((i-1)*ind+1):(i*ind)])
68 :     }
69 :     hist(t(BM$betaSam[mind[j],((i-1)*ind+1):(i*ind)]),col="gray",
70 :     main = paste("Relative concentration\nfor ",r[mind[j]],sep=""),
71 :     xlab = "Relative Concentration", breaks = breaks)
72 :     v<-quantile(BM$betaSam[mind[j],((i-1)*ind+1):(i*ind)],p = c(2.5,97.5)/100)
73 :     abline(v = v, col = "red", lty=2, lwd = 2)
74 :     legend("topright", legend = "2.5% & 97.5% quantiles",
75 :     col = "red", pt.cex=2, lty = 2, cex = 0.8)
76 :     if (((f == j || !(j%%n))) && saveFig)
77 :     {
78 :     title(main = list(paste("NMR Spectrum ",sno[i], ": ", BM$specTitle[2,i], sep=""),cex=1.5,font=3), outer=TRUE)
79 :     if (file.exists(outpdf1) && !overwriteFig)
80 :     cat("Can't save figure, file", outpdf1, "already exists.\n")
81 :     else
82 :     df = dev.copy2pdf(device=x11, file = outpdf1)
83 :     }
84 :     }
85 :     } else {
86 :     ## set subplot
87 :     if ((i%%n)==1)
88 :     {
89 :     if ((length(sno)-i)>=1)
90 :     {
91 :     if (!missing(prefixFig))
92 :     outpdf1 <- paste(saveFigDir, "/", prefixFig,"_spec_",sno[i],"to", sno[min(i+n-1,length(sno))],"RelCon.",ptype, sep="")
93 :     else
94 :     outpdf1 <- paste(saveFigDir,"/spec_",sno[i],"to", sno[min(i+n-1,length(sno))],"RelCon.",ptype, sep="")
95 :     x11(15,7)
96 :     par(mfrow=c(2, 2),oma = c(0, 0, 0, 0))
97 :     } else {
98 :     if (!missing(prefixFig))
99 :     outpdf1 <- paste(saveFigDir, "/", prefixFig, "_spec_",sno[i],"RelCon.",ptype, sep="")
100 :     else
101 :     outpdf1 <- paste(saveFigDir,"/spec_",sno[i],"RelCon.",ptype, sep="")
102 :     x11(15,7)
103 :     par(mfrow=c(1,1),oma = c(3, 0, 0, 0))
104 :     }
105 :     }
106 :     boxplot(as.data.frame(t(BM$betaSam[mind,((i-1)*ind+1):(i*ind)])),
107 :     main = paste("NMR Spectrum ",sno[i], ": ", BM$specTitle[2,i], sep=""),
108 :     names = as.character(r[mind]),
109 :     ylab="Relative Concentration", xaxt="n")
110 :     axis(1,at=1:length(mind),adj=1,padj=0.5,labels=as.character(r[mind]), las=2)
111 :    
112 :     ## save plot
113 :     if (((length(sno) == i || !(i%%n))) && saveFig)
114 :     {
115 :     #title(main = list("NMR Spectrum Relative Concentration",cex=1.5,font=3), outer=TRUE)
116 :     if (file.exists(outpdf1) && !overwriteFig)
117 :     cat("Can't save figure, file", outpdf1, "already exists.\n")
118 :     else
119 :     df = dev.copy2pdf(device=x11, file = outpdf1)
120 :     }
121 :     }
122 :     }
123 :     }
124 :     ## plot batman rerun results
125 :     else if (!is.null(BM$betaSamRerun) && rerun)
126 :     {
127 :     #f<-nrow(BM$betaSamRerun)
128 :     f<-length(mind)
129 :     fc<-ncol(BM$betaSamRerun)
130 :     sno<-BM$specRange
131 :     ind<-fc/length(sno)
132 :     r<-row.names(BM$betaSamRerun)
133 :     outpdf2<-NULL
134 :     for (i in 1:length(sno))
135 :     {
136 :     if (plotHist)
137 :     {
138 :     for (j in 1:f)
139 :     {
140 :     ## set subplot
141 :     if ((j%%n)==1)
142 :     {
143 :     if ((f-j)>=1)
144 :     {
145 :     if (!missing(prefixFig))
146 :     outpdf2 <- paste(saveFigDir, "/", prefixFig,"_RelConRerun_", mind[j], "to",mind[min(j+n-1,length(mind))],"_Rerun",".",ptype,sep="")
147 :     else
148 :     outpdf2 <- paste(saveFigDir,"/RelConRerun_",mind[j], "to",mind[min(j+n-1,length(mind))],"_Rerun",".",ptype, sep="")
149 :     x11(15,7)
150 :     par(mfrow=c(2, 2),oma = c(0, 0, 3, 0))
151 :     } else {
152 :     if (!missing(prefixFig))
153 :     outpdf2 <- paste(saveFigDir, "/", prefixFig, "_RelConRerun_", mind[j], "_Rerun",".",ptype,sep="")
154 :     else
155 :     outpdf2 <- paste(saveFigDir,"/RelConRerun_",mind[j],"_Rerun",".",ptype, sep="")
156 :     x11(15,7)
157 :     par(mfrow=c(1,1),oma = c(0, 0, 3, 0))
158 :     }
159 :     }
160 :     ## set default breaks
161 :     if (missing(breaks))
162 :     {
163 :     breaks <- length(BM$betaSamRerun[mind[j],((i-1)*ind+1):(i*ind)])%/%3
164 :     if (breaks <=0)
165 :     breaks <- length(BM$betaSamRerun[mind[j],((i-1)*ind+1):(i*ind)])
166 :     }
167 :     hist(t(BM$betaSamRerun[mind[j],((i-1)*ind+1):(i*ind)]),col="gray",
168 :     main = paste("Relative concentration\nfor ",r[mind[j]],sep=""),
169 :     xlab = "Relative Concentration", breaks = breaks)
170 :     v<-quantile(BM$betaSamRerun[mind[j],((i-1)*ind+1):(i*ind)],p = c(2.5,97.5)/100)
171 :     abline(v = v, col = "red", lty=2, lwd = 2)
172 :     legend("topright", legend = "2.5% & 97.5% quantiles", col = "red", pt.cex=2, lty = 2, cex = 0.8)
173 :     if (((f == j || !(j%%n))) && saveFig)
174 :     {
175 :     title(main = list(paste("NMR Spectrum ",sno[i], ": ", BM$specTitle[2,i], sep=""),cex=1.5,font=3), outer=TRUE)
176 :     if (file.exists(outpdf2) && !overwriteFig)
177 :     cat("Can't save figure, file", outpdf2, "already exists.\n")
178 :     else
179 :     df = dev.copy2pdf(device=x11, file = outpdf2)
180 :     }
181 :     }
182 :     } else {
183 :     ## set subplot
184 :     if ((i%%n)==1)
185 :     {
186 :     if ((length(sno)-i)>=1)
187 :     {
188 :     if (!missing(prefixFig))
189 :     outpdf2 <- paste(saveFigDir, "/", prefixFig,"_spec_",sno[i],"to", sno[min(i+n-1,length(sno))],"RelCon_Rerun.",ptype, sep="")
190 :     else
191 :     outpdf2 <- paste(saveFigDir,"/spec_",sno[i],"to", sno[min(i+n-1,length(sno))],"RelCon_Rerun.",ptype,sep="")
192 :     x11(15,7)
193 :     par(mfrow=c(2, 2),oma = c(0, 0, 3, 0))
194 :     } else {
195 :     if (!missing(prefixFig))
196 :     outpdf2 <- paste(saveFigDir, "/", prefixFig, "_spec_",sno[i],"RelCon_Rerun.",ptype, sep="")
197 :     else
198 :     outpdf2 <- paste(saveFigDir,"/spec_",sno[i],"RelCon_Rerun.",ptype,sep="")
199 :     x11(15,7)
200 :     par(mfrow=c(1,1),oma = c(0, 0, 3, 0))
201 :     }
202 :     }
203 :     boxplot(as.data.frame(t(BM$betaSamRerun[mind,((i-1)*ind+1):(i*ind)])),
204 :     main = paste("NMR Spectrum ",sno[i], ": ", BM$specTitle[2,i], sep=""),
205 :     names = as.character(r[mind]),
206 :     ylab="Relative Concentration", xaxt="n")
207 :     axis(1,at=1:length(mind),adj=1,padj=0.5,labels=as.character(r[mind]), las=2)
208 :    
209 :     ## save plot
210 :     if (((length(sno) == i || !(i%%n))) && saveFig)
211 :     {
212 :     #title(main = list(paste("NMR Spectrum ",i, ": ", BM$specTitle[2,i], "(Rerun)",sep=""),cex=1.5,font=3), outer=TRUE)
213 :     if (file.exists(outpdf2) && !overwriteFig)
214 :     cat("Can't save figure, file", outpdf2, "already exists.\n")
215 :     else
216 :     df = dev.copy2pdf(device=x11, file = outpdf2)
217 :     }
218 :     }
219 :     }
220 :     } else {
221 :     cat("No results found.\n")
222 :     }
223 :     warnRead<-options(warn = warnDef)
224 :     }

root@r-forge.r-project.org
ViewVC Help
Powered by ViewVC 1.0.0  
Thanks to:
Vienna University of Economics and Business Powered By FusionForge