Your SlideShare is downloading. ×
0
Developing R Graphical User InterfacesSetia PramanaMedical Epidemiology and Biostatistics DepartmentKarolinska Institutet,...
Outlines• Motivations• R GUI  • IsoGeneGUI  • neaGUI• How to develop an R GUI?  • Independent GUI  • Embedded GUI (RcmdrPl...
R Pros and Con Free open source and widely used. Can be integrated with other languages  (C/C++, Java). R can interact ...
R: A Command line interface (CLI) Users type commands to perform a statistical  analysis. Is preferred for advanced user...
R: A Command line interface (CLI) Requires good knowledge of the language   difficult for beginners or less frequent use...
Graphical User Interface (GUI) A tool to provide an event-driven user  interface. An extra layer between the user and th...
R GUI Projects Integrated development environment  (IDE)/Script Editors aimed to provide feature-  rich environments to e...
R GUI Projects Python: OpenMeta-Analyst (Wallace et al, 2012) Java: JGR (Java GUI for R), Deducer (Fellows,  2012), and ...
R GUI Tcl/Tk Most commonly used: easy, no additional  software needed and ready to be used in R  (tcltk package) R-Tcl/T...
R GUI Tcl/Tk R GUIs developed by using tcl/tk or RGtk:  • LimmaGUI (Wettenhall and Smyth, 2004),  • LMMNorm (Haldermans, ...
R GUI Tcl/Tk R GUIs developed by using tcl/tk or RGtk:   Independent                                              GUI  • ...
R GUI Tcl/Tk R GUIs developed by using tcl/tk or RGtk:  • LimmaGUI (Wettenhall and Smyth, 2004),  • LMMNorm (Haldermans, ...
IsoGeneGUI To perform dose response microarray  analysis in early drug development. Identify genes with a monotonic tren...
IsoGeneGUI             Main window of IsoGeneGUI                                         4/2/2013   14
IsoGeneGUI: Isotonic Regression PlotCommand line:IsoPlot(dose, express , type="ordinal", add.curve=TRUE)                  ...
IsoGeneGUI: Isotonic Regression PlotCommand line:IsoPlot(dose, express , type="ordinal", add.curve=TRUE)                  ...
IsoGeneGUI: Significant Analysis Microarrayqqstat <- Isoqqstat(x, y, fudge="pooled",         niter=50)allfdr <- Isoallfdr(...
IsoGeneGUI: Significant Analysis Microarrayqqstat <- Isoqqstat(x, y, fudge="pooled",         niter=50)allfdr <- Isoallfdr(...
IsoGeneGUI Manual Guide IsoGeneGUI   help: htlm                          4/2/2013   19
IsoGeneGUI Manual Guide IsoGeneGUI   help: htlm                          4/2/2013   20
IsoGeneGUI Manual Guide IsoGeneGUI   help: htlm Vignette:  http://www.bioconductor.org/packages/2.11/bioc/vignettes/IsoG...
neaGUI To help interpretation of  differentially expressed (DE)  genes in context of  biological processes,  pathways and...
neaGUI Output                4/2/2013   23
neaGUI Output                4/2/2013   24
RGUI, How to Build One? Choose one of RGUI categories, and tools to be used  (tcltk, java, etc.) which suit with the pack...
Create Main Windowtt <- tktoplevel()tkwm.title(tt,"My New GUI")topMenu <- tkmenu(tt)tkconfigure (tt,menu=topMenu)fileMenu ...
Create Main Windowtt <- tktoplevel()tkwm.title(tt,"My New GUI")topMenu <- tkmenu(tt)tkconfigure (tt,menu=topMenu)fileMenu ...
Create Main Windowtt <- tktoplevel()tkwm.title(tt,"My New GUI")topMenu <- tkmenu(tt)tkconfigure (tt,menu=topMenu)fileMenu ...
Create a Dialog Box Create the windowrequire(tcltk)tt<-tktoplevel()tkwm.title(tt,"Input Window") Edit BoxName <- tclVar(...
Create a Dialog Box Radio buttonrb1 <- tkradiobutton(tt)rb2 <- tkradiobutton(tt)rbValue <- tclVar("Male")tkconfigure(rb1,...
Create a Dialog Box List box with scroll barscr <- tkscrollbar(tt, repeatinterval=5,     command=function(...) tkyview(tl...
Create a Dialog Box OK buttonOK.but <-tkbutton(tt,text="   OK   ",    command=OnOK)tkgrid(OK.but)tkgrid.configure(OK.but)...
Run the function (OK button)                               4/2/2013   33
Run the function (OK button)OnOK <- function() {  NameVal <- tclvalue(Name)  rbVal <- as.character(tclvalue         (rbVal...
Embeded R GUI: Rcmdr Plugin GUIs that are embedded/attached into another  GUI, i.e., R Commander (Rcmdr) Rcmdr was origi...
Rcmdr Plugin Advantages Does not need to develop GUI for common  procedures: Open, save and manipulate data. Can use sta...
R Commander (Rcmdr) Developed by John Fox from McMaster  University, Canada. Not only providing GUIs but also rendering ...
R Commander (Rcmdr) Advantages:  • Cross-platform functionality. Primarily under    Windows, but also available in Linux ...
R CommanderMain Window: Script Window Output Window Messages                  4/2/2013   39
RcmdrPlugin.biclustGUI An extension for the Rcmdr for biclustering  analysis.            Standard Rcmdr Menu             ...
RcmdrPlugin.biclustGUI An extension for the Rcmdr for biclustering  analysis.          Rcmdr with biclustering plugin    ...
Create a Dialog BoxinitializeDialog(title =               gettextRcmdr("Biclustering-CC"))specFrame <- tkframe(top, border...
Create a Dialog BoxnumberVal <- tclVar("100")numberField <- ttkentry(specFrame,          width = "5”, textvariable = numbe...
Submitting the job (OK button)onOK <- function() {  .activeDataSet <- ActiveDataSet()  delta <- paste(tclvalue(deltaVal ))...
doItAndPrint(paste("CCbics <-biclust(as.matrix(",.activeDataSet,"),method=BCCC(), delta=", delta, ", alpha= ", alpha, ", n...
Output         4/2/2013   46
RcmdrPlugin.biclustGUI                         4/2/2013   47
RcmdrPlugin: Menu-Definition File The plugin menus are defined the file: menus.txt.                                      ...
RcmdrPlugin: Menu-Definition File The plugin menus are defined the file: menus.txt. The first line in menus.txt defines ...
RcmdrPlugin: Menu-Definition File The plugin menus are defined the file: menus.txt.   Define menu/item line in menus.txt...
RcmdrPlugin: Menu-Definition File The plugin menus are defined the file: menus.txt.           Name of The first line in ...
RcmdrPlugin: Menu-Definition File The plugin menus are defined the file: menus.txt.                      Parent of The f...
RcmdrPlugin: Menu-Definition File The plugin menus are defined the file: menus.txt. The first line in menus.txt defines ...
RcmdrPlugin: Menu-Definition File The plugin menus are defined the file: menus.txt. The first line in menus.txt defines ...
RcmdrPlugin: Menu-Definition File The plugin menus are defined the file: menus.txt. The first line in menus.txt defines ...
RcmdrPlugin: Menu-Definition File The plugin menus are defined the file: menus.txt. The first line in menus.txt defines ...
RcmdrPlugin: Menu-Definition File The plugin menus are defined the file: menus.txt. The first line in menus.txt defines ...
RcmdrPlugin: Menu-Definition File The plugin menus are defined the file: menus.txt. The first line in menus.txt defines ...
RcmdrPlugin: Menu-Definition File The plugin menus are defined the file: menus.txt. The first line in menus.txt defines ...
Next Stage Error handling: message boxes, warnings, etc. Trial by other people. Compile as a package. Submit in a repo...
Summary A GUI could help novice R users for utilizing all the power of  R. Increase the use of our package/methods espec...
Summary A GUI could help novice R users for utilizing all the power of  R. Increase the use of our package/methods espec...
Summary Independent GUI: really for a specific use, no need of “useless”  capabilities, simpler. Rcmdr PlugIn in: easier...
Summary Independent GUI: really for a specific use, no need of “useless”  capabilities, simpler. Rcmdr PlugIn in: easier...
The GUIs IsoGeneGUI:http://www.bioconductor.org/packages/2.11/  bioc/html/IsoGeneGUI.html neaGUI: https://r-forge.r-proj...
Next Development: Isogene RSB : Web based development using R Service  Bus: http://www.openanalytics.eu/r-service-bus R ...
RSB-IsoGene              4/2/2013   67
Web based neaGUI                   4/2/2013   68
Collaborator Karolinska Institutet, Sweden: Yudi Pawitan & Woojoo Lee Scilifelab, Sweden: Andrey Alexeyenko Johnson & J...
Thank you for your attention…                                4/2/2013   70
References Pramana, S., Lin, D., and Shkedy Z., (2010), IsoGeneGUI  Bioconductor Package Vignette. Pramana, S., Lin, D.,...
References Pramana (2011) RcmdrPlugin.BiclustGUI: A User Friendly Interface  for Biclustering Analysis, a chapter of PhD:...
Upcoming SlideShare
Loading in...5
×

Developing R Graphical User Interfaces

5,505

Published on

Developing R Graphical User Interfaces, presented at
1. Workshop on Development of R software for data analysis, Hasselt University, Belgium, March 13th, 2013.
2. Joint Seminar, Medical Epidemiology and Biostatistics Department, Karolinska Institutet, April 4th, 2013.

Published in: Education
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
5,505
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
185
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide
  • http://uhasselt.openanalytics.eu:8080/rsb/rsb.html?form=isogene
  • Transcript of "Developing R Graphical User Interfaces"

    1. 1. Developing R Graphical User InterfacesSetia PramanaMedical Epidemiology and Biostatistics DepartmentKarolinska Institutet, Stockholm, Sweden
    2. 2. Outlines• Motivations• R GUI • IsoGeneGUI • neaGUI• How to develop an R GUI? • Independent GUI • Embedded GUI (RcmdrPlugin.BiclustGUI)• Summary 4/2/2013 2
    3. 3. 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. 4/2/2013 3
    4. 4. 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. 4/2/2013 4
    5. 5. 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 4/2/2013 5
    6. 6. 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 4/2/2013 6
    7. 7. 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). 4/2/2013 7
    8. 8. 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 4/2/2013 8
    9. 9. 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. 4/2/2013 9
    10. 10. 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) 4/2/2013 10
    11. 11. R GUI Tcl/Tk R GUIs developed by using tcl/tk or RGtk: Independent GUI • 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) 4/2/2013 11
    12. 12. 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) Embeded GUI • Rcommander (Fox, 2005) • RcmdrPlugin.biclustGUI (Pramana, 2011) 4/2/2013 12
    13. 13. 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) 4/2/2013 13
    14. 14. IsoGeneGUI Main window of IsoGeneGUI 4/2/2013 14
    15. 15. IsoGeneGUI: Isotonic Regression PlotCommand line:IsoPlot(dose, express , type="ordinal", add.curve=TRUE) 4/2/2013 15
    16. 16. IsoGeneGUI: Isotonic Regression PlotCommand line:IsoPlot(dose, express , type="ordinal", add.curve=TRUE) 4/2/2013 16
    17. 17. IsoGeneGUI: Significant Analysis Microarrayqqstat <- 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") 4/2/2013 17
    18. 18. IsoGeneGUI: Significant Analysis Microarrayqqstat <- 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") 4/2/2013 18
    19. 19. IsoGeneGUI Manual Guide IsoGeneGUI help: htlm 4/2/2013 19
    20. 20. IsoGeneGUI Manual Guide IsoGeneGUI help: htlm 4/2/2013 20
    21. 21. IsoGeneGUI Manual Guide IsoGeneGUI help: htlm Vignette: http://www.bioconductor.org/packages/2.11/bioc/vignettes/IsoGe neGUI/inst/doc/IsoGeneGUI.pdf Users’ manual: http://www.ibiostat.be/software/IsoGeneGUI/files/IsoGeneGUI% 20users%20manual.pdf 4/2/2013 21
    22. 22. 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. 4/2/2013 22
    23. 23. neaGUI Output 4/2/2013 23
    24. 24. neaGUI Output 4/2/2013 24
    25. 25. 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? 4/2/2013 25
    26. 26. Create Main Windowtt <- 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”) 4/2/2013 26
    27. 27. Create Main Windowtt <- 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”) () { getXls <- function fileName <- tclvalue(tkgetOpenFile(filetypes= gettext( {"Excel Files" {".xls"}} {"All Files" {"*"}}))) data <- get( fileName) } 4/2/2013 27
    28. 28. Create Main Windowtt <- 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) 4/2/2013 28
    29. 29. 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) 4/2/2013 29
    30. 30. 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) 4/2/2013 30
    31. 31. 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") 4/2/2013 31
    32. 32. Create a Dialog Box OK buttonOK.but <-tkbutton(tt,text=" OK ", command=OnOK)tkgrid(OK.but)tkgrid.configure(OK.but)tkfocus(tt) 4/2/2013 32
    33. 33. Run the function (OK button) 4/2/2013 33
    34. 34. 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)} 4/2/2013 34
    35. 35. 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 4/2/2013 35
    36. 36. 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 4/2/2013 36
    37. 37. 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. 4/2/2013 37
    38. 38. 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. 4/2/2013 38
    39. 39. R CommanderMain Window: Script Window Output Window Messages 4/2/2013 39
    40. 40. RcmdrPlugin.biclustGUI An extension for the Rcmdr for biclustering analysis. Standard Rcmdr Menu 4/2/2013 40
    41. 41. RcmdrPlugin.biclustGUI An extension for the Rcmdr for biclustering analysis. Rcmdr with biclustering plugin Standard Rcmdr Menu 4/2/2013 41
    42. 42. Create a Dialog BoxinitializeDialog(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) 4/2/2013 42
    43. 43. Create a Dialog BoxnumberVal <- 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() 4/2/2013 43
    44. 44. 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())} 4/2/2013 44
    45. 45. doItAndPrint(paste("CCbics <-biclust(as.matrix(",.activeDataSet,"),method=BCCC(), delta=", delta, ", alpha= ", alpha, ", number= ",number ,")" ,sep="") )doItAndPrint("CCbics ") 4/2/2013 45
    46. 46. Output 4/2/2013 46
    47. 47. RcmdrPlugin.biclustGUI 4/2/2013 47
    48. 48. RcmdrPlugin: Menu-Definition File The plugin menus are defined the file: menus.txt. 4/2/2013 48
    49. 49. 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 ““ ““ ““ ““ 4/2/2013 49
    50. 50. RcmdrPlugin: Menu-Definition File The plugin menus are defined the file: menus.txt. Define menu/item line in menus.txt defines the top-level biclustGUI The first menu:Menu biclustMenu topMenu ““ ““ ““ ““ 4/2/2013 50
    51. 51. RcmdrPlugin: Menu-Definition File The plugin menus are defined the file: menus.txt. Name of The first line in menus.txt defines the top-level biclustGUI new menu menu:Menu biclustMenu topMenu ““ ““ ““ ““ 4/2/2013 51
    52. 52. RcmdrPlugin: Menu-Definition File The plugin menus are defined the file: menus.txt. Parent of The first line in menus.txt defines the top-level biclustGUI the menu menu:Menu biclustMenu topMenu ““ ““ ““ ““ 4/2/2013 52
    53. 53. 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)" 4/2/2013 53
    54. 54. 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 ““ ““ ““ ““ Definemenu item The second line in menus.txt defines a menu item under biclust menu:item biclustMenu command "Biclustering Plaid " PlaidWin "" "packageAvailable(RcmdrPlugin.BiclustGUI)" 4/2/2013 54
    55. 55. 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 ““ ““ ““ ““ Menu item The second line belongs to in menus.txt defines a menu item under biclust menu:item biclustMenu command "Biclustering Plaid " PlaidWin "" "packageAvailable(RcmdrPlugin.BiclustGUI)" 4/2/2013 55
    56. 56. 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 ““ ““ ““ ““ Menu item The second line in menus.txt invokes a defines a menu item under biclust command menu:item biclustMenu command "Biclustering Plaid " PlaidWin "" "packageAvailable(RcmdrPlugin.BiclustGUI)" 4/2/2013 56
    57. 57. 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 ““ ““ ““ ““ Text The second line in menus.txt defines displayed a menu item under biclust menu:item biclustMenu command "Biclustering Plaid " PlaidWin "" "packageAvailable(RcmdrPlugin.BiclustGUI)" 4/2/2013 57
    58. 58. 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 ““ ““ ““ ““ Called The second line in menus.txt defines afunction menu item under biclust menu:item biclustMenu command "Biclustering Plaid " PlaidWin "" "packageAvailable(RcmdrPlugin.BiclustGUI)" 4/2/2013 58
    59. 59. 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 ““ ““ ““ ““ Conditional activation The second line in menus.txt defines a menu item under biclust and installation menu:item biclustMenu command "Biclustering Plaid " PlaidWin "" "packageAvailable(RcmdrPlugin.BiclustGUI)" 4/2/2013 59
    60. 60. 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/ 4/2/2013 60
    61. 61. 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. 4/2/2013 61
    62. 62. 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 4/2/2013 62
    63. 63. 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. 4/2/2013 63
    64. 64. 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 4/2/2013 64
    65. 65. 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/RTclTkExamples/ • http://setiopramono.wordpress.com/r-programming/ 4/2/2013 65
    66. 66. 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/ 4/2/2013 66
    67. 67. RSB-IsoGene 4/2/2013 67
    68. 68. Web based neaGUI 4/2/2013 68
    69. 69. 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 4/2/2013 69
    70. 70. Thank you for your attention… 4/2/2013 70
    71. 71. 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. 4/2/2013 71
    72. 72. 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. 4/2/2013 72
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×