[BioC] emacs org mode html export using jQuery DataTables (WAS: new package for generating interactive HTML reports)
Cook, Malcolm
MEC at stowers.org
Fri Jan 11 23:11:48 CET 2013
Michael,
I forget to pass along the workaround for the one DataTables bug I've found and not yet kicked upstream
## BUG: the sSwfPath above is ignored!!! - The means for overridding the Default (of
## media/swf/copy_csv_xls.swf seems not to work
## http://datatables.net/release-datatables/extras/TableTools/swf_path.html
## WORKAROUNDS:
## 1) create a symlink in the same dir as the org file named ./media to point to /..../js/DataTables/extras/TableTools/media
## 2) BETTER: change the default sSwfPath in
##/..../js/DataTables/extras/TableTools/media/js/TableTools.min.js
## to point to "/.../js/DataTables/extras/TableTools/media/swf/copy_csv_xls.swf"
~Malcolm
.-----Original Message-----
.From: bioconductor-bounces at r-project.org [mailto:bioconductor-bounces at r-project.org] On Behalf Of Cook, Malcolm
.Sent: Friday, January 11, 2013 3:55 PM
.To: 'Michael Lawrence'
.Cc: 'bioconductor at r-project.org'
.Subject: Re: [BioC] new package for generating interactive HTML reports
.
.Michael,
.
.Glad to oblige.
.
.Assuming you already know org-mode/emacs....
.
.
.* install DataTables from http://datatables.net/ in /some/useful/place/js/DataTables
.
.* put this in the 1st line of your .org file: # -*- org-export-babel-evaluate: nil; org-export-allow-BIND: t -*-
.
.* put another line in your .org file like this: #+SETUPFILE: "/some/useful/place/org/SETUPFILE.org"
.
.* put the following text in /some/useful/place/org/SETUPFILE.org :
.
.
.################################################################################
.## Making all org exported tables be, by default,
.## sortable/filterable/pagable/...
.## NOTE: #+BIND requires, to avoid prompting on each export, that
.## org-export-allow-BIND be t, as is indicated to emacs with "-*- modeline ; org-export-allow-BIND: t -*-"
.## Something to do with security ;)
.################################################################################
.#+BIND: org-export-html-table-tag "<table class=\"dataTable\" border cellspacing=\"0\" cellpadding=\"6\" rules=\"groups\"
.frame=\"hsides\">"
.#+STYLE: <script type="text/javascript" charset="utf8" src="/some/useful/place/js/DataTables/media/js/jquery.js"></script>
.#+STYLE: <link rel="stylesheet" type="text/css"
.href="/some/useful/place/js/DataTables/media/css/jquery.dataTables.css"></script>
.#+STYLE: <script type="text/javascript" charset="utf8"
.src="/some/useful/place/js/DataTables/media/js/jquery.dataTables.min.js"></script>
.#+STYLE: <script type="text/javascript" charset="utf8"
.src="/some/useful/place/js/DataTables/extras/TableTools/media/js/TableTools.min.js"></script>
.#+STYLE: <script type='text/javascript'>$(document).ready(function(){$('.dataTable').dataTable({"sPaginationType":
."full_numbers","sScrollX": "100%", "bStateSave": true, "bProcessing": true, "bDeferRender": true, "aaSorting": [] , "sDom":
.'ClifrtrpT<"afterTable">', "oTableTools": { "sSwfPath":
."/some/useful/place/js/DataTables/extras/TableTools/media/swf/copy_csv_xls.swf"}}); $("div.afterTable").html('<hr>');});</script>
.
.Your paths may vary. These worked at the time of deployment a few months ago.
.
.To have DataTable sort on p-values and other scientific notation, put another line in our SETUPFILE.org: #+STYLE: <script
.type="text/javascript" src="/some/useful/place/js/myDatatableUtil.js"></script>
.
....and put the following in that file:
.
.jQuery.fn.dataTableExt.aTypes.unshift(
. function ( sData )
. {
. if (! isNaN(parseFloat(sData))) {
. return 'scientific';
. }
. return null;
. }
.);
.
.jQuery.extend( jQuery.fn.dataTableExt.oSort, {
. "scientific-pre": function ( a ) {
. return parseFloat(a);
. },
. "scientific-asc": function ( a, b ) {
. return ((a < b || isNaN(a)) ? -1 : ((a > b || isNaN(b)) ? 1 : 0));
. },
. "scientific-desc": function ( a, b ) {
. return ((a < b || isNaN(a)) ? 1 : ((a > b || isNaN(b)) ? -1 : 0));
. }
.} );
.
.
.~Malcolm
.
.From: Michael Lawrence [mailto:lawrence.michael at gene.com]
.Sent: Friday, January 11, 2013 3:11 PM
.To: Cook, Malcolm
.Subject: Re: [BioC] new package for generating interactive HTML reports
.
.Hi Malcolm,
.
.That sounds really cool. Mind passing me the magic style options? Or a URL?
.Thanks,
.Michael
.
.On Fri, Jan 11, 2013 at 12:13 PM, Cook, Malcolm <MEC at stowers.org<mailto:MEC at stowers.org>> wrote:
.Melanie,
.
.I too have employed the jsQuery dataTable.
.
.I use emacs org mode to generate reports with embedded tables, all of which are made indiscriminately made
.scrollable/pageable/searchable with the inclusion of a few style directives in the org file.
.
.With the same upsides&downsides you are discussing here.
.
.I recommend it for simple standalone html non-interactive reporting.
.
.In my experience, tens of thousands of rows are easily handled on chrome browser on local area network.
.
.~Malcolm
.
.
. .-----Original Message-----
. .From: bioconductor-bounces at r-project.org<mailto:bioconductor-bounces at r-project.org> [mailto:bioconductor-bounces at r-
.project.org<mailto:bioconductor-bounces at r-project.org>] On Behalf Of Melanie Huntley
. .Sent: Friday, January 11, 2013 12:37 PM
. .To: Sean Davis
. .Cc: Josh Kaminker; Michael Lawrence; Melanie Huntley; bioconductor at r-project.org<mailto:bioconductor at r-project.org>
. .Subject: Re: [BioC] new package for generating interactive HTML reports
. .
. .Hi Sean,
. .
. .There certainly seem to be more available options to speed things up if we
. .require the hard work to be done server side - we were considering this in
. .the initial phases of the package devel.
. .
. .Our thinking was to keep things as user friendly as possible to start (ie.
. .keep things client side) - but the trade-off has been a decrease in
. .responsiveness for very large datasets. Perhaps we should revisit the
. .server option again for the next release if we don't find a client side
. .solution.
. .
. .Thanks,
. .Melanie
. .
. .On Fri, Jan 11, 2013 at 10:23 AM, Sean Davis <sdavis2 at mail.nih.gov<mailto:sdavis2 at mail.nih.gov>> wrote:
. .
. .>
. .> Hi, Melanie.
. .>
. .> The "extra" scroller for datatables allows scrolling of VERY large
. .> datasets because only a small portion of the entire dataset is sent to
. .> the client at one time. The server simply responds to requests for
. .> data as the dataset scrolls on the client. The details are here:
. .>
. .>
. .> http://datatables.net/release-datatables/extras/Scroller/server-side_processing.html
. .>
. .> This would require a server that responds to queries be running while
. .> the client is interacting with the data.
. .>
. .> Sean
. .>
. .>
. .>
. .> > On Fri, Jan 11, 2013 at 7:19 AM, Michael Lawrence <
. .> lawrence.michael at gene.com<mailto:lawrence.michael at gene.com>
. .> >> wrote:
. .> >
. .> >> The package is extensible to the point that you could simply create a
. .> new
. .> >> type of report that is output as some wiki language, so it wouldn't be
. .> >> necessary to fork or modify ReportingTools. If there are internal
. .> utilities
. .> >> for generating data tables that might be usefully shared, they could be
. .> >> exposed, or at least factored out for ":::" access.
. .> >>
. .> >> Michael
. .> >>
. .> >>
. .> >> On Fri, Jan 11, 2013 at 1:02 AM, Xavier de Pedro <
. .> xavier.depedro at vhir.org<mailto:xavier.depedro at vhir.org>
. .> >> >wrote:
. .> >>
. .> >> > Dear Josh & co.:
. .> >> >
. .> >> > Thanks for producing such a package, it looks promising indeed!
. .> >> >
. .> >> > I see that it uses jquery data tables, and the live filtering of the
. .> data
. .> >> > is very fast (nice!).
. .> >> > I have a few quick questions, after a quick review of your vignette
. .> and
. .> >> > examples:
. .> >> >
. .> >> > Have you experienced any issues when the data set contained in the
. .> >> browser
. .> >> > is very large (regardless that you set the browser to display just 10
. .> >> > records at a time; I understand that the whole data set is loaded in
. .> the
. .> >> > browser)?
. .> >> >
. .> >> > And in my relaxed todo list (without hurries) I had the idea to
. .> create a
. .> >> > similar package to produce wiki syntax for tables from R data frames,
. .> and
. .> >> > to display png (or svg) images within pages to be displayed through
. .> wiki
. .> >> > engines (with it's appropriated syntax for the wiki engine of
. .> interest).
. .> >> A
. .> >> > few years ago I had to do that and I produced some custom function 'ad
. .> >> hoc'
. .> >> > without releasing it (yet) in any R package. In our example, we run r
. .> >> > scripts through Tiki (wiki) pages, through PluginR, but the output is
. .> >> > either bare text (so far) or images (png or svg), and any
. .> modification is
. .> >> > handled by R commands by hand. And a function to produce the "Fancy
. .> >> Tables"
. .> >> > that Tiki can produce with "JQuery Sortable Tables" is needed (
. .> >> > http://doc.tiki.org/**PluginFancyTable<
. .> >> http://doc.tiki.org/PluginFancyTable>). I foresee that maybe the
. .> >> datatable jquery plugin could be even better
. .> >> > for that, since it contains pagination and live filtering, which can
. .> be
. .> >> > very very handy!.
. .> >> >
. .> >> > And maybe you are open to receive improvements/extensions to your
. .> package
. .> >> > to support other ways to produce the tables required for better
. .> >> integration
. .> >> > for wiki engines such as Tiki? Or should I fork from your package?
. .> >> >
. .> >> > Thanks in advanced, and congratulations for the generic package that
. .> you
. .> >> > created.
. .> >> >
. .> >> > Xavier
. .> >> >
. .> >> >
. .> >> > On 11/01/13 00:49, Josh Kaminker wrote:
. .> >> >
. .> >> >> Hi all,
. .> >> >>
. .> >> >> We present a new R package,
. .> >> >> ReportingTools<http://www.**
. .> >> bioconductor.org/packages/**devel/bioc/html/*<http://bioconductor.org/packages/**devel/bioc/html/*>
. .> >> >> *ReportingTools.html<
. .> >>
. .> http://www.bioconductor.org/packages/devel/bioc/html/ReportingTools.html>
. .> >> >> >,
. .> >> >> for transforming the output of various Bioconductor packages into
. .> >> >> interactive web pages. We have found this package very useful in our
. .> >> >> collaborations with both bench and other computational scientists.
. .> >> >> Examples
. .> >> >> and instructions for generating output using this package can be
. .> found
. .> >> >> here: http://research-pub.gene.com/**ReportingTools/<
. .> >> http://research-pub.gene.com/ReportingTools/>
. .> >> >>
. .> >> >> With just three lines of user code, rich HTML documents can be
. .> generated
. .> >> >> from the result objects produced by several standard Bioconductor
. .> >> packages
. .> >> >> including edgeR, limma, GOstats, and GSEAlm. By default,
. .> ReportingTools
. .> >> >> reports include hyperlinks to relevant external databases and are
. .> highly
. .> >> >> interactive through the use of filtering and sorting options
. .> provided by
. .> >> >> open source javascript libraries. Supporting javascript and css
. .> >> libraries
. .> >> >> are included with all reports, allowing them to be examined on a
. .> local
. .> >> >> computer without a network connection. Additionally, in-line
. .> graphics
. .> >> >> have
. .> >> >> been developed to accompany statistical results to allow convenient
. .> >> visual
. .> >> >> inspection of underlying raw data. ReportingTools output is highly
. .> >> >> customizable and this package can be used equally well to share
. .> results
. .> >> >> from automated pipeline processes or individual customized analyses.
. .> >> >>
. .> >> >> We are very interested in receiving your feedback including feature
. .> >> >> requests for this package.
. .> >> >>
. .> >> >> Best regards,
. .> >> >>
. .> >> >> Josh Kaminker
. .> >> >> Melanie Huntley
. .> >> >> Jason Hackney
. .> >> >> Jessica Larson
. .> >> >> Christina Chaivorapol
. .> >> >>
. .> >> >>
. .> >> >>
. .> >> >
. .> >> > --
. .> >> > Xavier de Pedro Puente, Ph.D.
. .> >> > Statistics and Bioinformatics Unit (UEB)
. .> >> > High Technology Unit (UAT)
. .> >> > Vall d'Hebron Research Institute (VHIR). Mediterranean Building
. .> >> > Passeig de la Vall d'Hebron, 119-129
. .> >> > 08035 Barcelona. Catalonia. Spain
. .> >> > Ph. +34 934894007<tel:%2B34%20934894007> / Fax +34 934894015<tel:%2B34%20934894015>
. .> >> > xavier.depedro at vhir.org<mailto:xavier.depedro at vhir.org>
. .> >> > http://ueb.vhir.org
. .> >> >
. .> >> >
. .> >> > ______________________________**_________________
. .> >> > Bioconductor mailing list
. .> >> > Bioconductor at r-project.org<mailto:Bioconductor at r-project.org>
. .> >> > https://stat.ethz.ch/mailman/**listinfo/bioconductor<
. .> >> https://stat.ethz.ch/mailman/listinfo/bioconductor>
. .> >> > Search the archives: http://news.gmane.org/gmane.**
. .> >> > science.biology.informatics.**conductor<
. .> >> http://news.gmane.org/gmane.science.biology.informatics.conductor>
. .> >> >
. .> >>
. .> >> [[alternative HTML version deleted]]
. .> >>
. .> >> _______________________________________________
. .> >> Bioconductor mailing list
. .> >> Bioconductor at r-project.org<mailto:Bioconductor at r-project.org>
. .> >> https://stat.ethz.ch/mailman/listinfo/bioconductor
. .> >> Search the archives:
. .> >> http://news.gmane.org/gmane.science.biology.informatics.conductor
. .> >>
. .> >
. .> >
. .> >
. .> > --
. .> > Melanie Huntley, Ph.D
. .> > Bioinformatics and Computational Biology
. .> > Genentech, Inc.
. .> > huntley.melanie at gene.com<mailto:huntley.melanie at gene.com>
. .> >
. .> > [[alternative HTML version deleted]]
. .> >
. .> > _______________________________________________
. .> > Bioconductor mailing list
. .> > Bioconductor at r-project.org<mailto:Bioconductor at r-project.org>
. .> > https://stat.ethz.ch/mailman/listinfo/bioconductor
. .> > Search the archives:
. .> http://news.gmane.org/gmane.science.biology.informatics.conductor
. .>
. .
. .
. .
. .--
. .Melanie Huntley, Ph.D
. .Bioinformatics and Computational Biology
. .Genentech, Inc.
. .huntley.melanie at gene.com<mailto:huntley.melanie at gene.com>
. .
. . [[alternative HTML version deleted]]
. .
. ._______________________________________________
. .Bioconductor mailing list
. .Bioconductor at r-project.org<mailto:Bioconductor at r-project.org>
. .https://stat.ethz.ch/mailman/listinfo/bioconductor
. .Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor
.
.
. [[alternative HTML version deleted]]
.
._______________________________________________
.Bioconductor mailing list
.Bioconductor at r-project.org
.https://stat.ethz.ch/mailman/listinfo/bioconductor
.Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor
More information about the Bioconductor
mailing list