Survivingthestumpthechumpinterviewquestions 1350047939401 Phpapp01 121012082252 Phpapp01
guihasseltprintver-130317064038-phpapp01
Transcript of guihasseltprintver-130317064038-phpapp01
![Page 1: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/1.jpg)
Developing R Graphical User Interfaces
Setia Pramana
Medical Epidemiology and Biostatistics Department
Karolinska Institutet, Stockholm, Sweden
![Page 2: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/2.jpg)
Outlines
• Motivations• R GUI
• IsoGeneGUI• neaGUI
• How to develop an R GUI?• Independent GUI• Embedded GUI
(RcmdrPlugin.BiclustGUI)• Summary
04/22/2023 2
![Page 3: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/3.jpg)
R Pros and Con
Free open source and widely used. Can be integrated with other languages
(C/C++, Java). R can interact with many data sources
and other statistical packages (SAS, Stata, SPSS, and Minitab).
For the high performance computing task multiple cores, either on a single machine or across a network.
04/22/2023 3
![Page 4: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/4.jpg)
R: A Command line interface (CLI)
Users type commands to perform a statistical analysis.
Is preferred for advanced users allows direct control, more accurate, flexible and the analysis is reproducible.
04/22/2023 4
![Page 5: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/5.jpg)
R: A Command line interface (CLI)
Requires good knowledge of the language difficult for beginners or less frequent users.
R provides tools for building GUIs RGUI
04/22/2023 5
![Page 6: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/6.jpg)
Graphical User Interface (GUI)
A tool to provide an event-driven user interface.
An extra layer between the user and the program
Based on menus, dialog boxes, icons and controls.
Window, icon, menu, and pointing device (WIMP) paradigm
04/22/2023 6
![Page 7: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/7.jpg)
R GUI Projects
Integrated development environment (IDE)/Script Editors aimed to provide feature-rich environments to edit R scripts and code: Rstudio (www.rstudio.com), and architect (www.Openanalytics.eu)
Web based application: the Rweb (Banfield, 1999), R.Net (www.u.arizona.edu
/~ryckman/Net.php), or gWidgetsWWW (Verzani, 2012).
04/22/2023 7
![Page 8: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/8.jpg)
R GUI Projects
Python: OpenMeta-Analyst (Wallace et al, 2012)
Java: JGR (Java GUI for R), Deducer (Fellows, 2012), and Glotaran (Snellenburg, 2012).
Php: R-php (http://dssm.unipa.it/R-php/) Other extensions connect R to graphical
toolboxes for developing menus and dialog boxes: Tcltk, Gtk.
Today, we focus on Tcltk 04/22/2023 8
![Page 9: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/9.jpg)
R GUI Tcl/Tk
Most commonly used: easy, no additional software needed and ready to be used in R (tcltk package)
R-Tcl/Tk interface from the tcltk package (Dalgaard, 2001 and Welch, 2000).
The tcltk package allows the use of the Tk (toolkit) graphical user interface elements within R by embedding Tk commands into the R language. 04/22/2023 9
![Page 10: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/10.jpg)
R GUI Tcl/Tk
R GUIs developed by using tcl/tk or RGtk:• LimmaGUI (Wettenhall and Smyth,
2004),• LMMNorm (Haldermans, 2010), • IsoGeneGUI (Pramana et al. , 2010,
2012)• NeaGUI (Pramana et.al, 2013)• Rcommander (Fox, 2005)• RcmdrPlugin.biclustGUI (Pramana, 2011)04/22/2023 10
![Page 11: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/11.jpg)
R GUI Tcl/Tk
R GUIs developed by using tcl/tk or RGtk:• LimmaGUI (Wettenhall and Smyth,
2004),• LMMNorm (Haldermans, 2010), • IsoGeneGUI (Pramana et al. , 2010,
2012)• NeaGUI (Pramana et.al, 2013)• Rcommander (Fox, 2005)• RcmdrPlugin.biclustGUI (Pramana, 2011)04/22/2023 11
Independent GUI
![Page 12: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/12.jpg)
R GUI Tcl/Tk
R GUIs developed by using tcl/tk or RGtk:• LimmaGUI (Wettenhall and Smyth,
2004),• LMMNorm (Haldermans, 2010), • IsoGeneGUI (Pramana et al. , 2010,
2011)• NeaGUI (Pramana et.al, 2013)• Rcommander (Fox, 2005)• RcmdrPlugin.biclustGUI (Pramana, 2011)04/22/2023 12
Embeded GUI
![Page 13: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/13.jpg)
IsoGeneGUI
To perform dose response microarray analysis in early drug development.
Identify genes with a monotonic trend in the expression levels with respect to the increasing doses
CLI based: IsoGene package (Pramana,2010)
04/22/2023 13
![Page 14: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/14.jpg)
IsoGeneGUI
04/22/2023 14
Main window of IsoGeneGUI
![Page 15: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/15.jpg)
IsoGeneGUI: Isotonic Regression Plot
Command line:IsoPlot(dose, express , type="ordinal", add.curve=TRUE)
04/22/2023 15
![Page 16: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/16.jpg)
IsoGeneGUI: Isotonic Regression Plot
Command line:IsoPlot(dose, express , type="ordinal", add.curve=TRUE)
04/22/2023 16
![Page 17: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/17.jpg)
IsoGeneGUI: Significant Analysis Microarray
qqstat <- Isoqqstat(x, y, fudge="pooled", niter=50)allfdr <- Isoallfdr(qqstat, , stat = "E2")IsoSAMPlot(qqstat, allfdr, FDR = 0.1, stat = "E2")SAM.Res <- IsoTestSAM(x, y, fudge="pooled", niter=50, FDR=0.05, stat="E2")
04/22/2023 17
![Page 18: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/18.jpg)
IsoGeneGUI: Significant Analysis Microarray
qqstat <- Isoqqstat(x, y, fudge="pooled", niter=50)allfdr <- Isoallfdr(qqstat, , stat = "E2")IsoSAMPlot(qqstat, allfdr, FDR = 0.1, stat = "E2")SAM.Res <- IsoTestSAM(x, y, fudge="pooled", niter=50, FDR=0.05, stat="E2")
04/22/2023 18
![Page 19: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/19.jpg)
IsoGeneGUI Manual Guide
IsoGeneGUI help: htlm
04/22/2023 19
![Page 20: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/20.jpg)
IsoGeneGUI Manual Guide
IsoGeneGUI help: htlm
04/22/2023 20
![Page 21: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/21.jpg)
IsoGeneGUI Manual Guide
IsoGeneGUI help: htlm
Vignette: http://www.bioconductor.org/packages/2.11/bioc/vignettes/IsoGeneGUI/inst/doc/IsoGeneGUI.pdf
Users’ manual: http://www.ibiostat.be/software/IsoGeneGUI/files/IsoGeneGUI%20users'%20manual.pdf
04/22/2023 21
![Page 22: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/22.jpg)
neaGUI
To help interpretation of differentially expressed (DE) genes in context of biological processes, pathways and networks.
Perform network enrichment analysis.
Input: DE genes Output: enriched
pathways statistics based on gene interaction networks. 04/22/2023 22
![Page 23: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/23.jpg)
neaGUI Output
04/22/2023 23
![Page 24: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/24.jpg)
neaGUI Output
04/22/2023 24
![Page 25: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/25.jpg)
RGUI, How to Build One?
Choose one of RGUI categories, and tools to be used (tcltk, java, etc.) which suit with the package purpose.
Make sketches of the window box and consider:• Input • Options• Output
Can all functions be run in a single window (e.g. neaGUI)? Or a main window with menu (IsoGeneGUI) and separate dialog boxes are needed? 04/22/2023 25
![Page 26: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/26.jpg)
Create Main Window
tt <- tktoplevel()tkwm.title(tt,"My New GUI")topMenu <- tkmenu(tt)tkconfigure (tt,menu=topMenu)fileMenu <- tkmenu(topMenu,tearoff=FALSE)openMenu <- tkmenu(topMenu,tearoff=FALSE)tkadd(openMenu,"command",label="xls file", command= getXls)tkadd(openMenu,"command",label="text file”)
04/22/2023 26
![Page 27: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/27.jpg)
Create Main Window
tt <- tktoplevel()tkwm.title(tt,"My New GUI")topMenu <- tkmenu(tt)tkconfigure (tt,menu=topMenu)fileMenu <- tkmenu(topMenu,tearoff=FALSE)openMenu <- tkmenu(topMenu,tearoff=FALSE)tkadd(openMenu,"command",label="xls file", command= getXls)tkadd(openMenu,"command",label="text file”)
04/22/2023 27
getXls <- function () { fileName <- tclvalue(tkgetOpenFile(filetypes= gettext(' {"Excel Files" {".xls"}} {"All Files" {"*"}}')))data <- get( fileName) }
![Page 28: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/28.jpg)
Create Main Window
tt <- tktoplevel()tkwm.title(tt,"My New GUI")topMenu <- tkmenu(tt)tkconfigure (tt,menu=topMenu)fileMenu <- tkmenu(topMenu,tearoff=FALSE)openMenu <- tkmenu(topMenu,tearoff=FALSE)tkadd(openMenu,"command",label="xls file", command= getXls)tkadd(openMenu,"command",label="text file")tkadd(fileMenu,"cascade",label="Open data",
menu=openMenu)tkadd(fileMenu,"cascade",label="Edit data")
tkadd(fileMenu,"command",label="Quit",command=function() tkdestroy(tt))tkadd(topMenu,"cascade",label="File",menu=fileMenu)tkadd(topMenu,"cascade",label="Help")tkfocus(tt)
04/22/2023 28
![Page 29: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/29.jpg)
Create a Dialog Box
Create the windowrequire(tcltk)tt<-tktoplevel()tkwm.title(tt,"Input Window")
Edit BoxName <- tclVar("")entry.Name <-tkentry(tt,width="20", textvariable=Name)tkgrid(tklabel(tt,text="Name:"), entry.Name)
04/22/2023 29
![Page 30: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/30.jpg)
Create a Dialog Box
Radio buttonrb1 <- tkradiobutton(tt)rb2 <- tkradiobutton(tt)rbValue <- tclVar("Male")tkconfigure(rb1,variable=rbValue,
value="Male")tkconfigure(rb2,variable=rbValue,
value="Female")tkgrid(tklabel(tt,text="Sex:"))tkgrid(tklabel(tt,text="Male"),rb1)tkgrid(tklabel(tt,text="Female"),rb2)
04/22/2023 30
![Page 31: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/31.jpg)
Create a Dialog Box
List box with scroll barscr <- tkscrollbar(tt, repeatinterval=5, command=function(...) tkyview(tl,...))tl<-tklistbox(tt,height=4,selectmode="single", background="white")tkgrid(tklabel(tt,text="City:"), tl, scr)city <- c("Brussels","Jakarta", "London", "Stockholm")for (i in (1:4)) tkinsert(tl,"end",city [i]) tkselection.set(tl,1) tkgrid.configure(scr,rowspan=4,sticky="nsw")
04/22/2023 31
![Page 32: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/32.jpg)
Create a Dialog Box
OK buttonOK.but <-tkbutton(tt,text=" OK ", command=OnOK)tkgrid(OK.but)tkgrid.configure(OK.but)tkfocus(tt)
04/22/2023 32
![Page 33: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/33.jpg)
Run the function (OK button)
04/22/2023 33
![Page 34: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/34.jpg)
Run the function (OK button)
OnOK <- function() { NameVal <- tclvalue(Name) rbVal <- as.character(tclvalue (rbValue)) if (rbVal=="Male") pref = "Mr." if (rbVal=="Female") pref = "Mrs.“ cityChoice <- city [as.numeric(tkcurselection(tl))+1] tkdestroy(tt) msg <- paste("Good morning ",pref , NameVal , "from", cityChoice, sep=" ") tkmessageBox(message=msg)}
04/22/2023 34
![Page 35: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/35.jpg)
Embeded R GUI: Rcmdr Plugin
GUIs that are embedded/attached into another GUI, i.e., R Commander (Rcmdr)
Rcmdr was originally developed as a basic-statistics graphical user interface (“GUI”) to R.
Rcmdr needs extension for specific statistical analysis
More than 20 Rcmdr plugins today
04/22/2023 35
![Page 36: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/36.jpg)
Rcmdr Plugin Advantages
Does not need to develop GUI for common procedures: Open, save and manipulate data.
Can use standard statistical analysis. In term of programming: easier
(standard tcltk commands are provided) Users know how to work in command
line
04/22/2023 36
![Page 37: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/37.jpg)
R Commander (Rcmdr)
Developed by John Fox from McMaster University, Canada.
Not only providing GUIs but also rendering users to R commands
Advantages:• Ease of use. Beginners will have less
problem to start to use Rcmdr.• Coverage. Offers wide range of basic
statistics analysis and data management.
04/22/2023 37
![Page 38: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/38.jpg)
R Commander (Rcmdr)
Advantages:• Cross-platform functionality. Primarily under
Windows, but also available in Linux and Macintosh OS/X.
• Extensibility: one can develop “plug-in" packages for new methods/analysis.
• Protects the novices from errors. Limited options related to the current context will minimize the errors made by users.
• Exposes users to R commands.
04/22/2023 38
![Page 39: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/39.jpg)
R Commander
Main Window: Script
Window Output
Window Messages
04/22/2023 39
![Page 40: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/40.jpg)
RcmdrPlugin.biclustGUI
An extension for the Rcmdr for biclustering analysis.
04/22/2023 40
Standard Rcmdr Menu
![Page 41: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/41.jpg)
RcmdrPlugin.biclustGUI
An extension for the Rcmdr for biclustering analysis.
04/22/2023 41
Standard Rcmdr MenuRcmdr with biclustering plugin
![Page 42: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/42.jpg)
Create a Dialog Box
initializeDialog(title = gettextRcmdr("Biclustering-CC"))specFrame <- tkframe(top, borderwidth=5)tkgrid(labelRcmdr(specFrame , text=gettextRcmdr("CC Specification:")))
deltaVal <- tclVar(“ ")deltaField <- ttkentry(specFrame, width = "5",textvariable = deltaVal )tkgrid(labelRcmdr(specFrame , text=gettextRcmdr("Delta:")), deltaField)
alphaVal <- tclVar("2")alphaField <- ttkentry(specFrame, width = "5",textvariable = alphaVal )tkgrid(labelRcmdr(specFrame , text=gettextRcmdr("Alpha:")), alphaField)
04/22/2023 42
![Page 43: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/43.jpg)
Create a Dialog Box
numberVal <- tclVar("100")numberField <- ttkentry(specFrame,
width = "5”, textvariable = numberVal)tkgrid(labelRcmdr(specFrame , text=gettextRcmdr("Maximal Numbers : ")), numberField)
OKbutton <- buttonRcmdr(specFrame , text = gettextRcmdr("Show Result"), width = "12", command = onOK, default = "active", borderwidth = 3)
tkgrid(OKbutton,Plotbutton ,exitButton ,helpButton) tkgrid(specFrame) dialogSuffix()
04/22/2023 43
![Page 44: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/44.jpg)
Submitting the job (OK button)
onOK <- function() { .activeDataSet <- ActiveDataSet() delta <- paste(tclvalue(deltaVal )) alpha <- paste(tclvalue(alphaVal )) number <- if (tclvalue( numberVal) == "") "100“ else paste(tclvalue(numberVal)) doItAndPrint(paste("CCbics <-biclust(as.matrix(",.activeDataSet,"), method=BCCC(), delta=", delta, ", alpha= ", alpha, ", number= ",number ,")" , sep="") ) doItAndPrint("CCbics ") tkfocus(CommanderWindow())}
04/22/2023 44
![Page 45: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/45.jpg)
04/22/2023 45
doItAndPrint(paste("CCbics <-biclust(as.matrix(",.activeDataSet,"),method=BCCC(), delta=", delta, ", alpha= ", alpha, ", number= ",number ,")" , sep="") )
doItAndPrint("CCbics ")
![Page 46: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/46.jpg)
04/22/2023 46
Output
![Page 47: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/47.jpg)
04/22/2023 47
RcmdrPlugin.biclustGUI
![Page 48: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/48.jpg)
RcmdrPlugin: Menu-Definition File
04/22/2023 48
The plugin menus are defined the file: menus.txt.
![Page 49: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/49.jpg)
RcmdrPlugin: Menu-Definition File
The plugin menus are defined the file: menus.txt. The first line in menus.txt defines the top-level
biclustGUI menu:
Menu biclustMenu topMenu “ “ “ “ “ “ “ “
04/22/2023 49
![Page 50: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/50.jpg)
RcmdrPlugin: Menu-Definition File
The plugin menus are defined the file: menus.txt. The first line in menus.txt defines the top-level
biclustGUI menu:
Menu biclustMenu topMenu “ “ “ “ “ “ “ “
04/22/2023 50
Define menu/item
![Page 51: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/51.jpg)
RcmdrPlugin: Menu-Definition File
The plugin menus are defined the file: menus.txt. The first line in menus.txt defines the top-level
biclustGUI menu:
Menu biclustMenu topMenu “ “ “ “ “ “ “ “
04/22/2023 51
Name of new menu
![Page 52: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/52.jpg)
RcmdrPlugin: Menu-Definition File
The plugin menus are defined the file: menus.txt. The first line in menus.txt defines the top-level
biclustGUI menu:
Menu biclustMenu topMenu “ “ “ “ “ “ “ “
04/22/2023 52
Parent of the menu
![Page 53: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/53.jpg)
RcmdrPlugin: Menu-Definition File
The plugin menus are defined the file: menus.txt. The first line in menus.txt defines the top-level
biclustGUI menu:
Menu biclustMenu topMenu “ “ “ “ “ “ “ “
The second line in menus.txt defines a menu item under biclust menu:
item biclustMenu command "Biclustering Plaid " PlaidWin "" "packageAvailable ('RcmdrPlugin.BiclustGUI')"
04/22/2023 53
![Page 54: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/54.jpg)
RcmdrPlugin: Menu-Definition File
The plugin menus are defined the file: menus.txt. The first line in menus.txt defines the top-level
biclustGUI menu:
Menu biclustMenu topMenu “ “ “ “ “ “ “ “
The second line in menus.txt defines a menu item under biclust menu:
item biclustMenu command "Biclustering Plaid " PlaidWin "" "packageAvailable ('RcmdrPlugin.BiclustGUI')"
04/22/2023 54
Define menu item
![Page 55: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/55.jpg)
RcmdrPlugin: Menu-Definition File
The plugin menus are defined the file: menus.txt. The first line in menus.txt defines the top-level
biclustGUI menu:
Menu biclustMenu topMenu “ “ “ “ “ “ “ “
The second line in menus.txt defines a menu item under biclust menu:
item biclustMenu command "Biclustering Plaid " PlaidWin "" "packageAvailable ('RcmdrPlugin.BiclustGUI')"
04/22/2023 55
Menu item belongs to
![Page 56: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/56.jpg)
RcmdrPlugin: Menu-Definition File
The plugin menus are defined the file: menus.txt. The first line in menus.txt defines the top-level
biclustGUI menu:
Menu biclustMenu topMenu “ “ “ “ “ “ “ “
The second line in menus.txt defines a menu item under biclust menu:
item biclustMenu command "Biclustering Plaid " PlaidWin "" "packageAvailable ('RcmdrPlugin.BiclustGUI')"
04/22/2023 56
Menu item invokes a command
![Page 57: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/57.jpg)
RcmdrPlugin: Menu-Definition File
The plugin menus are defined the file: menus.txt. The first line in menus.txt defines the top-level
biclustGUI menu:
Menu biclustMenu topMenu “ “ “ “ “ “ “ “
The second line in menus.txt defines a menu item under biclust menu:
item biclustMenu command "Biclustering Plaid " PlaidWin "" "packageAvailable ('RcmdrPlugin.BiclustGUI')"
04/22/2023 57
Text displayed
![Page 58: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/58.jpg)
RcmdrPlugin: Menu-Definition File
The plugin menus are defined the file: menus.txt. The first line in menus.txt defines the top-level
biclustGUI menu:
Menu biclustMenu topMenu “ “ “ “ “ “ “ “
The second line in menus.txt defines a menu item under biclust menu:
item biclustMenu command "Biclustering Plaid " PlaidWin "" "packageAvailable ('RcmdrPlugin.BiclustGUI')"
04/22/2023 58
Called function
![Page 59: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/59.jpg)
RcmdrPlugin: Menu-Definition File
The plugin menus are defined the file: menus.txt. The first line in menus.txt defines the top-level
biclustGUI menu:
Menu biclustMenu topMenu “ “ “ “ “ “ “ “
The second line in menus.txt defines a menu item under biclust menu:
item biclustMenu command "Biclustering Plaid " PlaidWin "" "packageAvailable ('RcmdrPlugin.BiclustGUI')"
04/22/2023 59
Conditional activation and installation
![Page 60: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/60.jpg)
Next Stage
Error handling: message boxes, warnings, etc. Trial by other people. Compile as a package. Submit in a repository for development we
can use R-forge. When all ready, submit to a repository,
Bioconductor, or CRAN. Bioconductor more restrict and have to comply
all guidelines: http://www.bioconductor.org/developers/package-guidelines/ 04/22/2023 60
![Page 61: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/61.jpg)
Summary
A GUI could help novice R users for utilizing all the power of R.
Increase the use of our package/methods especially by scientists with no/less knowledge of R.
04/22/2023 61
![Page 62: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/62.jpg)
Summary
A GUI could help novice R users for utilizing all the power of R.
Increase the use of our package/methods especially by scientists with no/less knowledge of R.
Things to consider in developing a GUI:• Type of GUI (spreadsheets, menu/dialog boxes),• Tool to develop (tcltk, java)• Embedded/Independent.• Single/Multi dialog boxes
04/22/2023 62
![Page 63: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/63.jpg)
Summary
Independent GUI: really for a specific use, no need of “useless” capabilities, simpler.
Rcmdr PlugIn in: easier, all standard data manipulation and analysis is ready, users can learn the command.
04/22/2023 63
![Page 64: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/64.jpg)
Summary
Independent GUI: really for a specific use, no need of “useless” capabilities, simpler.
Rcmdr PlugIn in: easier, all standard data manipulation and analysis is ready, users can learn the command.
Make sure GUI is simple and user friendly.
Design Development Trial Packaging and Storing
04/22/2023 64
![Page 65: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/65.jpg)
The GUIs
IsoGeneGUI:http://www.bioconductor.org/packages/2.11/bioc/html/IsoGeneGUI.html
neaGUI: https://r-forge.r-project.org/projects/neagui/
biclustGUI: http://www.ibiostat.be/software/BiclustGUI/index.html
Examples of RGUI: • http://www.sciviews.org/_rgui/• http://bioinf.wehi.edu.au/~wettenhall/RTclTkExa
mples/
• http://setiopramono.wordpress.com/r-programming/
04/22/2023 65
![Page 66: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/66.jpg)
Next Development:
Isogene RSB : Web based development using R Service Bus: http://www.openanalytics.eu/r-service-bus
R Service Bus: plug R into a processes independently of the technology used by other software applications involved in the workflow.
Web Based neaGUI using shiny Shiny: Easy web applications in R: http
://www.rstudio.com/shiny/
04/22/2023 66
![Page 67: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/67.jpg)
RSB-IsoGene
04/22/2023 67
![Page 68: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/68.jpg)
Web based neaGUI
04/22/2023 68
![Page 69: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/69.jpg)
Collaborator
Karolinska Institutet, Sweden: Yudi Pawitan & Woojoo Lee Scilifelab, Sweden: Andrey Alexeyenko Johnson & Johnson Research and Development, Belgium: Luc
Bijnes & Willem Talloen. Hasselt University, Belgium: Ziv Shkedy, Dan Lin, Philippe H,
Martin O Pushpike, Tatsiana K. Open Analytics, Belgium: Tobias Verbeke Johannes Kepler University of Linz, Austria: Sepp Hochreiter’s
Group LMU Munich, Germany: Sebastian Kaiser
04/22/2023 69
![Page 70: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/70.jpg)
Thank you for your attention…
04/22/2023 70
![Page 71: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/71.jpg)
References
Pramana, S., Lin, D., and Shkedy Z., (2010), IsoGeneGUI Bioconductor Package Vignette.
Pramana, S., Lin, D., Haldermans, P., Shkedy Z., and Verbeke, T., De Bondt, A., Talloen, W., Göehlmann,. H and Bijnens, L. (2010). “IsoGene: An R Package for Analyzing Dose-response Studies in Microarray Experiments", R Journal 2/1.
Pramana, S., Lin, D., Haldermans P., and Verbeke, T. (2102). “A User Friendly Interface for Analyzing Dose-response Studies in Microarray Experiments: The IsoGene-GUI package”, in Lin, D., Shkedy, Z., Yekutieli, D., Amaratunga, D. and Bijnens L. (editors). Modeling Dose-response Microarray Data in Early Drug Development Experiments Using R, Springer.
04/22/2023 71
![Page 72: guihasseltprintver-130317064038-phpapp01](https://reader035.fdocuments.us/reader035/viewer/2022062520/5695d1401a28ab9b0295c2c1/html5/thumbnails/72.jpg)
References
Pramana (2011) RcmdrPlugin.BiclustGUI: A User Friendly Interface for Biclustering Analysis, a chapter of PhD: “Statistical Methods for Microarray Experiments: Analysis Dose-response Studies and Software Development in R”, Hasselt University, Belgium.
Pramana, S., Lee, W., Alexeyenko, A., Pawitan., Y. (2012). neaGUI: A Graphical User Interface for Network Enrichment Analysis.
Fox J (2005). The R Commander: A Basic-Statistics Graphical User Interface to R." Journal of Statistical Software, 14(9), 1-42.
Valero-Mora, P.M and Ledesma R.D. (2012) “Graphical User Interfaces for R”. Journal of Statistical Software.
Verzani J (2007). An Introduction to gWidgets." R News, 7(3), 26-33.
04/22/2023 72