220 likes | 408 Views
Decimaker: A statistical software using R, Microsoft .NET, R (D)COM Server and graphical libraries. Julien Vanwinsberghe , ClinBAY , France Francois Vandenhende, ClinBAY , Belgium. Presentation outline. Decimaker software highlight Build a software using R: Why & How?
E N D
Decimaker: A statistical software using R, Microsoft .NET, R (D)COM Server and graphical libraries Julien Vanwinsberghe, ClinBAY, France Francois Vandenhende, ClinBAY, Belgium
Presentation outline • Decimaker software highlight • Build a software using R: Why & How? • Open Source components that can be useful • Decimaker demonstration • Installation & required components • Some tools used during development • Conclusion
Decimaker software highlight • Decimaker: software for Adaptive Dose-Response Trials and Bayesian Decision Analysis • Designed to assist clinical development teams • protocol design, trial simulations and analysis • User-friendly graphical interface • Components • Statistics: R and Open Bugs • GUI: C# and .NET Framework 2.0 • Connection to R: R(D)COM Server
Build a software using R:Part 1 - Why? • R is command-line statistical software widely used by researchers • A lot of statistical methods have been developed in R • R is open-source • Number of packages steadily increasing • Fast and robust • lack of an intuitive graphical interface for novices -> develop an interface easily understandable around the R programs • Decimaker: kernel is a set of R programs, enhanced by a graphical interface
Build a software using R:Part 2 - How? • R (D)COM Server: COM server used to connect a client application (e.g. Microsoft Excel) with R • Environment: MS Windows • Methods to transfer data to/from R • Add the COM references to the C# .NET project • Use the methods of the StatConnector object to evaluate R commands
Graphical open source components that can be useful Because adding a professional and pleasant interface to an application can be the most time-consuming part of the development
Open Source components thatcanbeuseful:Part 1 – R Server ActiveX components • R (D)COM Server includes two ActiveX controls • Easy to implement • To show R graphical output • To Show R text output Display plots Transmit text outputs
Open Source components thatcanbeuseful:Part 1 – R Server ActiveX components • R (D)COM Server includes two ActiveX controls
Open Source components thatcanbeuseful:Part 2 – Charting and Gauge controls • ZedGraph and A.J. Bauer Gauge are open-source charting and gauge libraries ZedGraph • 2D line and bar charts of arbitrary datasets • High degree of flexibility A.J. Bauer gauge • Fast and performing • Several themes • Fully customizable • Necessitates more code, but as a result, the quality of the graphical outputs is significantly improved
Open Source components thatcanbeuseful:Part 3 – Icons • FAMFAMFAM Silk icon library • To add a final polish • Smooth, colourful icons for any purpose • > 700 16x16px icons
Decimaker Demonstration Website : www.decimaker.com
Decimaker required components • Platform: Microsoft Windows • Required components: • R and required packages • R (D)COM Server • .NET Framework 2.0 • Verycomplicated • Errors in the first attempt to execute the application
Decimaker required components • Test the proper installation of required external components
Some tools used during development • Subversion: version control system • used on many open source projects (Apache, KDE, Pyton, …) • manages current and historical versions of files • BugTracker .NET: open-source, web-based bug tracker • particularly easy to handle • permits to keep track of reported software bugs • supports integration with Subversion • FxCop: Microsoft application that analyzes managed code • to find possible improvements that can be made • Testlink: test tool • web based interface • create, manage and plan tests
Conclusion • Significant time was spent on searching, assessing and in integrating existing components • Accurate results, fast computations and very nice and usable graphical outputs. • The open source communityprovideskeyproducts • The power of R • Quality of results, speed up development • Decimakeris not a black-box: import statisticalmodels, define R formulas and queries, export results as R objects • A downside: users are bound to install all required R components
Thankyou! Julien Vanwinsberghe julien@clinbay.com
Licenses Not included in Decimaker • R (D)COM Server • R • ZedGraph • FamFamFam Silk Icons • A.J. Bauer Gauge • Krypton Toolkit Lesser General Public License (LGPL) Creative Commons Attribution 2.5 License No license (just keep included code header) Free to use runtime
Anothertool to access R from and application: R Serve • Rserve is a TCP/IP server • supports remote connection, authentication and file transfer • Easy integration: Rconnection c = new Rconnection(); double d[]=c.eval("rnorm(10)").asDoubleArray(); • Not advised for windows servers http://www.rforge.net/Rserve/
Open Source components thatcanbeuseful:Part 3 – Windows FormControls • Component Factory Toolkit library • Improved versions of commonusedformcontrols • Pretty design • More functionalities • Oftenupdated