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@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@stowers.org<mailto:MEC@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@r-project.org<mailto:bioconductor-bounces@r-project.org> [mailto:bioconductor-bounces@r-project.org<mailto:bioconductor-bounces@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@r-project.org<mailto:bioconductor@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@mail.nih.gov<mailto:sdavis2@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@gene.com<mailto:lawrence.michael@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@vhir.org<mailto:xavier.depedro@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@vhir.org<mailto:xavier.depedro@vhir.org>
 .> >> > http://ueb.vhir.org
 .> >> >
 .> >> >
 .> >> > ______________________________**_________________
 .> >> > Bioconductor mailing list
 .> >> > Bioconductor@r-project.org<mailto:Bioconductor@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@r-project.org<mailto:Bioconductor@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@gene.com<mailto:huntley.melanie@gene.com>
 .> >
 .> >         [[alternative HTML version deleted]]
 .> >
 .> > _______________________________________________
 .> > Bioconductor mailing list
 .> > Bioconductor@r-project.org<mailto:Bioconductor@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@gene.com<mailto:huntley.melanie@gene.com>
 .
 .      [[alternative HTML version deleted]]
 .
 ._______________________________________________
 .Bioconductor mailing list
 .Bioconductor@r-project.org<mailto:Bioconductor@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]]

