developing r graphical user interfaces

72
Developing R Graphical User Interfaces Setia Pramana Medical Epidemiology and Biostatistics Department Karolinska Institutet, Stockholm, Sweden

Upload: setio-pramono

Post on 12-May-2015

4.891 views

Category:

Education


2 download

DESCRIPTION

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.

TRANSCRIPT

Page 1: Developing R Graphical User Interfaces

Developing R Graphical User Interfaces

Setia Pramana

Medical Epidemiology and Biostatistics Department

Karolinska Institutet, Stockholm, Sweden

Page 2: Developing R Graphical User Interfaces

Outlines

• Motivations• R GUI

• IsoGeneGUI• neaGUI

• How to develop an R GUI?• Independent GUI• Embedded GUI

(RcmdrPlugin.BiclustGUI)• Summary

04/12/2023 2

Page 3: Developing R Graphical User Interfaces

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/12/2023 3

Page 4: Developing R Graphical User Interfaces

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/12/2023 4

Page 5: Developing R Graphical User Interfaces

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/12/2023 5

Page 6: Developing R Graphical User Interfaces

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/12/2023 6

Page 7: Developing R Graphical User Interfaces

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/12/2023 7

Page 8: Developing R Graphical User Interfaces

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/12/2023 8

Page 9: Developing R Graphical User Interfaces

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/12/2023 9

Page 10: Developing R Graphical User Interfaces

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/12/2023 10

Page 11: Developing R Graphical User Interfaces

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/12/2023 11

Independent GUI

Page 12: Developing R Graphical User Interfaces

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/12/2023 12

Embeded GUI

Page 13: Developing R Graphical User Interfaces

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/12/2023 13

Page 14: Developing R Graphical User Interfaces

IsoGeneGUI

04/12/2023 14

Main window of IsoGeneGUI

Page 15: Developing R Graphical User Interfaces

IsoGeneGUI: Isotonic Regression Plot

Command line:IsoPlot(dose, express , type="ordinal", add.curve=TRUE)

04/12/2023 15

Page 16: Developing R Graphical User Interfaces

IsoGeneGUI: Isotonic Regression Plot

Command line:IsoPlot(dose, express , type="ordinal", add.curve=TRUE)

04/12/2023 16

Page 17: Developing R Graphical User Interfaces

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/12/2023 17

Page 18: Developing R Graphical User Interfaces

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/12/2023 18

Page 19: Developing R Graphical User Interfaces

IsoGeneGUI Manual Guide

IsoGeneGUI help: htlm

04/12/2023 19

Page 20: Developing R Graphical User Interfaces

IsoGeneGUI Manual Guide

IsoGeneGUI help: htlm

04/12/2023 20

Page 21: Developing R Graphical User Interfaces

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/12/2023 21

Page 22: Developing R Graphical User Interfaces

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/12/2023 22

Page 23: Developing R Graphical User Interfaces

neaGUI Output

04/12/2023 23

Page 24: Developing R Graphical User Interfaces

neaGUI Output

04/12/2023 24

Page 25: Developing R Graphical User Interfaces

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/12/2023 25

Page 26: Developing R Graphical User Interfaces

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/12/2023 26

Page 27: Developing R Graphical User Interfaces

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/12/2023 27

getXls <- function () { fileName <- tclvalue(tkgetOpenFile(filetypes= gettext(' {"Excel Files" {".xls"}} {"All Files" {"*"}}')))data <- get( fileName) }

Page 28: Developing R Graphical User Interfaces

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/12/2023 28

Page 29: Developing R Graphical User Interfaces

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/12/2023 29

Page 30: Developing R Graphical User Interfaces

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/12/2023 30

Page 31: Developing R Graphical User Interfaces

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/12/2023 31

Page 32: Developing R Graphical User Interfaces

Create a Dialog Box

OK buttonOK.but <-tkbutton(tt,text=" OK ", command=OnOK)tkgrid(OK.but)tkgrid.configure(OK.but)tkfocus(tt)

04/12/2023 32

Page 33: Developing R Graphical User Interfaces

Run the function (OK button)

04/12/2023 33

Page 34: Developing R Graphical User Interfaces

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/12/2023 34

Page 35: Developing R Graphical User Interfaces

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/12/2023 35

Page 36: Developing R Graphical User Interfaces

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/12/2023 36

Page 37: Developing R Graphical User Interfaces

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/12/2023 37

Page 38: Developing R Graphical User Interfaces

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/12/2023 38

Page 39: Developing R Graphical User Interfaces

R Commander

Main Window: Script

Window Output

Window Messages

04/12/2023 39

Page 40: Developing R Graphical User Interfaces

RcmdrPlugin.biclustGUI

An extension for the Rcmdr for biclustering analysis.

04/12/2023 40

Standard Rcmdr Menu

Page 41: Developing R Graphical User Interfaces

RcmdrPlugin.biclustGUI

An extension for the Rcmdr for biclustering analysis.

04/12/2023 41

Standard Rcmdr MenuRcmdr with biclustering plugin

Page 42: Developing R Graphical User Interfaces

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/12/2023 42

Page 43: Developing R Graphical User Interfaces

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/12/2023 43

Page 44: Developing R Graphical User Interfaces

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/12/2023 44

Page 45: Developing R Graphical User Interfaces

04/12/2023 45

doItAndPrint(paste("CCbics <-biclust(as.matrix(",.activeDataSet,"),method=BCCC(), delta=", delta, ", alpha= ", alpha, ", number= ",number ,")" , sep="") )

doItAndPrint("CCbics ")

Page 46: Developing R Graphical User Interfaces

04/12/2023 46

Output

Page 47: Developing R Graphical User Interfaces

04/12/2023 47

RcmdrPlugin.biclustGUI

Page 48: Developing R Graphical User Interfaces

RcmdrPlugin: Menu-Definition File

04/12/2023 48

The plugin menus are defined the file: menus.txt.

Page 49: Developing R Graphical User Interfaces

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/12/2023 49

Page 50: Developing R Graphical User Interfaces

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/12/2023 50

Define menu/item

Page 51: Developing R Graphical User Interfaces

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/12/2023 51

Name of new menu

Page 52: Developing R Graphical User Interfaces

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/12/2023 52

Parent of the menu

Page 53: Developing R Graphical User Interfaces

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/12/2023 53

Page 54: Developing R Graphical User Interfaces

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/12/2023 54

Define menu item

Page 55: Developing R Graphical User Interfaces

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/12/2023 55

Menu item belongs to

Page 56: Developing R Graphical User Interfaces

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/12/2023 56

Menu item invokes a command

Page 57: Developing R Graphical User Interfaces

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/12/2023 57

Text displayed

Page 58: Developing R Graphical User Interfaces

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/12/2023 58

Called function

Page 59: Developing R Graphical User Interfaces

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/12/2023 59

Conditional activation and installation

Page 60: Developing R Graphical User Interfaces

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/12/2023 60

Page 61: Developing R Graphical User Interfaces

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/12/2023 61

Page 62: Developing R Graphical User Interfaces

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/12/2023 62

Page 63: Developing R Graphical User Interfaces

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/12/2023 63

Page 64: Developing R Graphical User Interfaces

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/12/2023 64

Page 66: Developing R Graphical User Interfaces

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/12/2023 66

Page 67: Developing R Graphical User Interfaces

RSB-IsoGene

04/12/2023 67

Page 68: Developing R Graphical User Interfaces

Web based neaGUI

04/12/2023 68

Page 69: Developing R Graphical User Interfaces

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/12/2023 69

Page 70: Developing R Graphical User Interfaces

Thank you for your attention…

04/12/2023 70

Page 71: Developing R Graphical User Interfaces

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/12/2023 71

Page 72: Developing R Graphical User Interfaces

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/12/2023 72