## Track time spent on making the vignette startTime <- Sys.time() ## Bib setup library("RefManageR") ## Write bibliography information bib <- c( BiocStyle = citation("BiocStyle")[1], brainspan = RefManageR::BibEntry(bibtype = "Unpublished", key = "brainspan", title = "Atlas of the Developing Human Brain [Internet]. Funded by ARRA Awards 1RC2MH089921-01, 1RC2MH090047-01, and 1RC2MH089929-01.", author = "BrainSpan", year = 2011, url = "http://developinghumanbrain.org"), RefManageR = citation("RefManageR")[1], knitr = citation("knitr")[3], rmarkdown = citation("rmarkdown")[1] )
derfinderData is a small data package with information extracted from BrainSpan (see here) r Citep(bib[['brainspan']]) for 24 samples restricted to chromosome 21. The BigWig files in this package can then be used by other packages for examples, such as in derfinder and derfinderPlot.
While you could download the data from BrainSpan r Citep(bib[['brainspan']]), this package is helpful for scenarios where you might encounter some difficulties such as the one described in this thread.
The following code builds the phenotype table included in derfinderData. For two randomly selected structures, 12 samples were chosen with 6 of them being fetal samples and the other 6 coming from adult individuals. For the fetal samples, the age in PCW is transformed into age in years by
age_in_years = (age_in_PCW - 40) / 52
In other data sets you might want to subtract 42 instead of 40 if some observations have PCW up to 42.
## Construct brainspanPheno table brainspanPheno <- data.frame( gender = c("F", "M", "M", "M", "F", "F", "F", "M", "F", "M", "M", "F", "M", "M", "M", "M", "F", "F", "F", "M", "F", "M", "M", "F"), lab = c("HSB97.AMY", "HSB92.AMY", "HSB178.AMY", "HSB159.AMY", "HSB153.AMY", "HSB113.AMY", "HSB130.AMY", "HSB136.AMY", "HSB126.AMY", "HSB145.AMY", "HSB123.AMY", "HSB135.AMY", "HSB114.A1C", "HSB103.A1C", "HSB178.A1C", "HSB154.A1C", "HSB150.A1C", "HSB149.A1C", "HSB130.A1C", "HSB136.A1C", "HSB126.A1C", "HSB145.A1C", "HSB123.A1C", "HSB135.A1C"), Age = c(-0.442307692307693, -0.365384615384615, -0.461538461538461, -0.307692307692308, -0.538461538461539, -0.538461538461539, 21, 23, 30, 36, 37, 40, -0.519230769230769, -0.519230769230769, -0.461538461538461, -0.461538461538461, -0.538461538461539, -0.519230769230769, 21, 23, 30, 36, 37, 40) ) brainspanPheno$structure_acronym <- rep(c("AMY", "A1C"), each = 12) brainspanPheno$structure_name <- rep(c("amygdaloid complex", "primary auditory cortex (core)"), each = 12) brainspanPheno$file <- paste0("http://download.alleninstitute.org/brainspan/MRF_BigWig_Gencode_v10/bigwig/", brainspanPheno$lab, ".bw") brainspanPheno$group <- factor(ifelse(brainspanPheno$Age < 0, "fetal", "adult"), levels = c("fetal", "adult"))
We can then save the phenotype information, which is included in derfinderData.
## Save pheno table save(brainspanPheno, file = "brainspanPheno.RData")
Here is how the data looks like:
library("knitr") ## Explore pheno p <- brainspanPheno[, -which(colnames(brainspanPheno) %in% c("structure_acronym", "structure_name", "file"))] kable(p, format = "html", row.names = TRUE)
We can verify that this is indeed the information included in derfinderData.
## Rename our newly created pheno data newPheno <- brainspanPheno ## Load the included data library("derfinderData") ## Verify identical(newPheno, brainspanPheno)
Using the phenotype information, you can use derfinder to extract the base-level coverage information for chromosome 21 from these samples. Then, you can export the data to BigWig files.
library("derfinder") ## Determine the files to use and fix the names files <- brainspanPheno$file names(files) <- gsub(".AMY|.A1C", "", brainspanPheno$lab) ## Load the data system.time(fullCovAMY <- fullCoverage( files = files[brainspanPheno$structure_acronym == "AMY"], chrs = "chr21" )) # user system elapsed # 4.505 0.178 37.676 system.time(fullCovA1C <- fullCoverage( files = files[brainspanPheno$structure_acronym == "A1C"], chrs = "chr21" )) # user system elapsed # 2.968 0.139 27.704 ## Write BigWig files dir.create("AMY") system.time(createBw(fullCovAMY, path = "AMY", keepGR = FALSE)) # user system elapsed # 5.749 0.332 6.045 dir.create("A1C") system.time(createBw(fullCovA1C, path = "A1C", keepGR = FALSE)) # user system elapsed # 5.025 0.299 5.323 ## Check that 12 files were created in each directory all(c(length(dir("AMY")), length(dir("A1C"))) == 12) # TRUE ## Save data for examples running on Windows save(fullCovAMY, file = "fullCovAMY.RData") save(fullCovA1C, file = "fullCovA1C.RData")
These BigWig files are available under extdata as shown below:
## Find AMY BigWigs dir(system.file("extdata", "AMY", package = "derfinderData")) ## Find A1C BigWigs dir(system.file("extdata", "A1C", package = "derfinderData"))
Code for creating the vignette
## Create the vignette library("rmarkdown") system.time(render("derfinderData.Rmd", "BiocStyle::html_document")) ## Extract the R code library("knitr") knit("derfinderData.Rmd", tangle = TRUE)
Date the vignette was generated.
## Date the vignette was generated Sys.time()
Wallclock time spent generating the vignette.
## Processing time in seconds totalTime <- diff(c(startTime, Sys.time())) round(totalTime, digits = 3)
R session information.
## Session info library("sessioninfo") session_info()
This vignette was generated using BiocStyle r Citep(bib[['BiocStyle']])
with knitr r Citep(bib[['knitr']]) and rmarkdown r Citep(bib[['rmarkdown']]) running behind the scenes.
Citations made with r CRANpkg('RefManageR') r Citep(bib[['RefManageR']]).
## Print bibliography PrintBibliography(bib, .opts = list(hyperlink = "to.doc", style = "html"))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.