Скачать презентацию Reporting Tools an automated result processing toolkit for Скачать презентацию Reporting Tools an automated result processing toolkit for

0757fd95573839b5e8508d30e1187933.ppt

  • Количество слайдов: 23

Reporting. Tools: an automated result processing toolkit for high throughput genomic analyses Jessica Larson, Reporting. Tools: an automated result processing toolkit for high throughput genomic analyses Jessica Larson, Ph. D Computational Biologist Genentech, Inc. larson. jessica@gene. com July 19 2013 © 2013, Genentech

Outline (1) (2) (3) (4) (5) Reporting. Tools introduction and basics Reporting. Tools and Outline (1) (2) (3) (4) (5) Reporting. Tools introduction and basics Reporting. Tools and microarray experiments Reporting. Tools and RNA-seq experiments Reporting. Tools and knitr Reporting. Tools and shiny 1

Reporting. Tools 2 Reporting. Tools 2

Example output and code from the package vignettes http: //research-pub. gene. com/Reporting. Tools/ 3 Example output and code from the package vignettes http: //research-pub. gene. com/Reporting. Tools/ 3

Publishing a data. frame There are three basic calls to publish to an HTML Publishing a data. frame There are three basic calls to publish to an HTML page: (1) Define the report with html. Rep Publishing the Iris data library(Reporting. Tools) data(iris) html. Rep <- HTMLReport(short. Name = 'my_html_file', report. Directory = '. /reports') publish(iris, html. Rep) finish(html. Rep) 5

More basics with the Iris data I. III. IV. V. Adding plots (including basic, More basics with the Iris data I. III. IV. V. Adding plots (including basic, lattice, . png, . pdf) Adding text (including links to other pages) Adding additional tables Modify data frames upon publication (. modify. DF) Publishing to CSV files (CSVFile) 6

Using. modify. DF html. Rep <- HTMLReport(short. Name = 'my_html_file_modify', title = 'Manipulating the Using. modify. DF html. Rep <- HTMLReport(short. Name = 'my_html_file_modify', title = 'Manipulating the data frame directly before report. Directory = '. /reports') publish(iris, html. Rep, numdigits = 1, . modify. DF = list(round. Length, make. Images, add. Species. Link, clean. Up. DF)) finish(html. Rep) publishing’, 7

Outline (1) (2) (3) (4) (5) Reporting. Tools introduction and basics Reporting. Tools and Outline (1) (2) (3) (4) (5) Reporting. Tools introduction and basics Reporting. Tools and microarray experiments Reporting. Tools and RNA-seq experiments Reporting. Tools and knitr Reporting. Tools and shiny 8

Microarray examples I. Publish output from limma (add new images and links) II. Publish Microarray examples I. Publish output from limma (add new images and links) II. Publish GO and PFAM analysis output III. Publish gene sets IV. Create index pages 9

Outline (1) (2) (3) (4) (5) Reporting. Tools introduction and basics Reporting. Tools and Outline (1) (2) (3) (4) (5) Reporting. Tools introduction and basics Reporting. Tools and microarray experiments Reporting. Tools and RNA-seq experiments Reporting. Tools and knitr Reporting. Tools and shiny 10

RNA-seq Methods for: I. edge. R exact tests II. edge. R LRTs III. DESeq RNA-seq Methods for: I. edge. R exact tests II. edge. R LRTs III. DESeq IV. DESeq 2 (with. modify. DF and. to. DF) 11

Outline (1) (2) (3) (4) (5) Reporting. Tools introduction and basics Reporting. Tools and Outline (1) (2) (3) (4) (5) Reporting. Tools introduction and basics Reporting. Tools and microarray experiments Reporting. Tools and RNA-seq experiments Reporting. Tools and knitr Reporting. Tools and shiny 12

knitr Can easily integrate Reporing. Tools tables into knitr reports Need to call ‘knit knitr Can easily integrate Reporing. Tools tables into knitr reports Need to call ‘knit 2 html’ from report directory and specify the knitr. Handlers in HTMLReport() > setwd("reports") > library(knitr) > knit 2 html("/home/ubuntu/4 Bio. Cknitr. Rmd”) 13

Updates to run the knitr example (due to permission issues) (1) (2) (3) (4) Updates to run the knitr example (due to permission issues) (1) (2) (3) (4) Open 4 Bio. Cknitr. Rmd Save to the /home/ubuntu directory setwd(“reports”) Then call knit 2 html("/home/ubuntu/4 Bio. Cknitr. Rmd") 14

Outline (1) (2) (3) (4) (5) Reporting. Tools introduction and basics Reporting. Tools and Outline (1) (2) (3) (4) (5) Reporting. Tools introduction and basics Reporting. Tools and microarray experiments Reporting. Tools and RNA-seq experiments Reporting. Tools and knitr Reporting. Tools and shiny 15

Shiny and Reporting. Tools 16 Shiny and Reporting. Tools 16

Updates to run the shiny example (due to permission issues) (1) (2) (3) (4) Updates to run the shiny example (due to permission issues) (1) (2) (3) (4) Open server. R and ui. R Save these to the /home/ubuntu/reports directory setwd(“reports”) Then call my. Run. App() 17

Changes to server. R (1) Create a report with shiny. Handlers to stream the Changes to server. R (1) Create a report with shiny. Handlers to stream the HTML form of any elements added to our Report: htmlrep <- HTMLReport(report. Directory = ". /", short. Name="bigtest", handlers = shiny. Handlers) (2) Define a custom rendering function so that shiny can ‘hear’ elements being added to our report and insert them into the dynamic HTML: render. Rep. Tools <- function(expr, env=parent. frame(), quoted=FALSE) { func <- expr. To. Function(expr, env, quoted) function(){ paste(capture. output(func()), collapse="n") } } (3) Publish elements to our report within the expression passed to render. Rep. Tools: output$view 2 <- render. Rep. Tools({ publish(dataset. Input(), htmlrep) }) 18

Changes to ui. R (1) Include the Java. Script and CSS files so that Changes to ui. R (1) Include the Java. Script and CSS files so that the Reporting. Tools tables function properly via cust. Header. Panel function: ##this function accepts the tile and window title arguments by shiny's headerpanel function ##plus the js and cs arguments cust. Header. Panel = function(title, window. Title =title, js= NULL, css=NULL){ mytlist = c(lapply(js, function(x) tags$script(HTML(paste(read. Lines(x), collapse="n")))), lapply(css, function(x) tags$style(HTML(paste(read. Lines(x), collapse="n"))))) tag. List(tag("head", mytlist), div(class = "span 12", style = "padding: 10 px 0 px; ", h 1(title))) } (1) (2) (3) (4) (5) (6) (7) # Define UI for dataset viewer application shiny. UI(page. With. Sidebar( cust. Header. Panel("Reporting. Tools", js = list. files(system. file("extdata/jslib", package="Reporting. Tools"), full. names=TRUE), css = list. files(system. file("extdata/csslib", package="Reporting. Tools"), pattern="bootstrap. css", full. names=TRUE), ), 19

Changes to ui. R (2) Declare elements formated by Reporting. Tools as html. Output Changes to ui. R (2) Declare elements formated by Reporting. Tools as html. Output main. Panel( ) verbatim. Text. Output("summary"), html. Output("view 2") This indicates to the shiny system that the output with be HTML code 20

Future methods DESeq 2 methods Return the decorated DF More flexibility with annotations 21 Future methods DESeq 2 methods Return the decorated DF More flexibility with annotations 21

Acknowledgements Jason Hackney Josh Kaminker Melanie Huntley Christina Chaivorapol Gabriel Becker Michael Lawrence Robert Acknowledgements Jason Hackney Josh Kaminker Melanie Huntley Christina Chaivorapol Gabriel Becker Michael Lawrence Robert Gentleman Martin Morgan Dan Tenenbaum 22