Contents

1 Analysis

To illustrate the ease of combining data from multiple projects included in recount as part of a cross-study meta-analysis, we present here a cross-tissue differential expression (DE) analysis comparing gene expression between colon and whole blood. We perform an initial analysis on samples from a variety of studies found in the recount project and then compare the results we obtain to those from analysis of GTEx data in the same tissues.

1.1 Load libraries we will need

library('dplyr')
library('recount')
library('magrittr')
library('limma')
library('edgeR')
library('ffpe')
library('RSkittleBrewer')
library('SummarizedExperiment')
library('devtools')
trop <- RSkittleBrewer::RSkittleBrewer('tropical')

1.2 Get data sets

As an initial analysis, colon samples labeled as controls were taken from studies SRP029880 (a study of colorectal cancer (Kim, Kim, Kim, Roh, et al., 2014), n=19) and SRP042228 (a study of Crohn’s disease (Denson, 2014), n=41). Whole blood samples labeled as controls were taken from SRP059039 (a study of virus-caused diarrhea, unpublished, n=24), SRP059172 (a study of blood biomarkers for brucellosis, unpublished, n=47) and SRP062966 (a study of lupus, unpublished, n=18).

We start by downloading .Rdata files containing SummarizedExperiment objects for each of these studies, which contain RNA-seq counts at the gene level for each individual in the study, as well as accompanying sample-specific phenotype data.

colon_proj <- c('SRP029880', 'SRP042228')
if(any(!file.exists(file.path(colon_proj, 'rse_gene.Rdata')))) {
    sapply(colon_proj, download_study)
}

blood_proj <- c('SRP059039', 'SRP059172', 'SRP062966')
if(any(!file.exists(file.path(blood_proj, 'rse_gene.Rdata')))) {
    sapply(blood_proj, download_study)
}

proj <- c(colon_proj,blood_proj)

1.3 Load the data

Once the data has been downloaded, we load all five data sets into R and calculate the number of genes (number of rows) and samples (number of columns) for each data set.

dat <- lapply(proj, function(x) { 
    load(file.path(x, 'rse_gene.Rdata'))
    return(rse_gene)
})
proj
## [1] "SRP029880" "SRP042228" "SRP059039" "SRP059172" "SRP062966"
sapply(dat, dim)
##       [,1]  [,2]  [,3]  [,4]  [,5]
## [1,] 58037 58037 58037 58037 58037
## [2,]    54   314   205   169   117

1.4 Load the metadata file

Since the data contained in the SummarizedExperiment objects for each study are somewhat limited, we also load a data frame containing metadata for each sample, including Gene Expression Omnibus (GEO) sample identifiers. We will use this in order to identify and extract the control subjects from each study for analysis.

metadata <- all_metadata('sra')
## 2017-01-30 16:21:02 downloading the metadata to /var/folders/cx/n9s558kx6fb7jf5z_pgszgb80000gn/T//RtmpQIGsp8/metadata_clean_sra.Rdata

1.5 Get additional GEI data for these samples

Now we go through and collect GEO information for the samples. We label them with their respective tissue and identify which samples are supposed to be normal controls, with labels varying from data set to data set. We also label the data sets with their tissue of origin.

if(!file.exists('charvec.Rdata')) {
    charvec <- vector('list', 5)
    dir.create('geoinfo', showWarnings = FALSE)
    for(i in 1:5){
      index <- match(colData(dat[[i]])$run, metadata$run)
      colData(dat[[i]])$geo <- metadata$geo_accession[index]
      info <- sapply(colData(dat[[i]])$geo, geo_info, destdir = 'geoinfo')
      charvec[[i]] <- sapply(info, geo_characteristics)
    }
    save(charvec, file = 'charvec.Rdata')
} else {
    load('charvec.Rdata')
}

## first data set - normals called 'normal-looking surrounding colonic epithelium'
colData(dat[[1]])$normal <- grepl('normal', unlist(charvec[1])[(1:54) * 2 - 1])
colData(dat[[1]])$tissue <- 'colon'

## second data set - normals called 'not ibd'
colData(dat[[2]])$normal <- grepl('not ibd', tolower(unlist(charvec[[2]][5, ])))
colData(dat[[2]])$tissue <- 'colon'

## third data set  - normals called 'Control'
colData(dat[[3]])$normal <- grepl('Control', unlist(charvec[[3]][2, ]))
colData(dat[[3]])$tissue <- 'blood'

## fourth data set  - normals called 'Control'
colData(dat[[4]])$normal <- grepl('Control', unlist(charvec[[4]][1, ]))
colData(dat[[4]])$tissue <- 'blood'

## fifth data set - normals called 'healthy'
colData(dat[[5]])$normal <- grepl('healthy', unlist(charvec[[5]][1, ]))
colData(dat[[5]])$tissue <- 'blood'

1.6 Merge the data sets

We merge the data sets into one ranged SummarizedExperiment.

mdat <- do.call(cbind, dat)

1.7 Subset to normal control individuals

Using the label determined above, we find out how many samples are normal in each study and subset to just the normal samples for further analysis.

table(colData(mdat)$normal, colData(mdat)$project)
##        
##         SRP029880 SRP042228 SRP059039 SRP059172 SRP062966
##   FALSE        35       273       181       122        99
##   TRUE         19        41        24        47        18
ndat <- mdat[, colData(mdat)$normal]

1.8 Analysis comparing blood to colon

Here we do a differential expression analysis comparing blood to colon using voom (Law, Chen, Shi, and Smyth, 2014). We start by normalizing the counts and then consider only the genes that have an average normalized count of at least 5 across the data set.

ndat <- scale_counts(ndat)
ndat_counts <- assays(ndat)[[1]]
keep <- rowMeans(ndat_counts) > 5
ndat_counts = ndat_counts[keep, ]
design <- model.matrix(~colData(ndat)$tissue)
dge <- DGEList(counts = ndat_counts)
dge <- calcNormFactors(dge)
v <- voom(dge, design, plot=FALSE)
fit <- lmFit(v, design)
fit <- eBayes(fit)
topTable(fit)
## Removing intercept from test coefficients
##                        logFC     AveExpr        t       P.Value
## ENSG00000164318.17  7.529724 -3.06463060 80.36671 2.831746e-126
## ENSG00000006611.15 13.371932 -0.75728329 75.76053 1.768905e-122
## ENSG00000127324.8  15.539959  0.08913163 75.61819 2.335941e-122
## ENSG00000126785.12  8.823754 -2.29940093 74.33356 2.938672e-121
## ENSG00000237187.8   7.355825 -3.08459539 74.51823 2.036866e-121
## ENSG00000101825.7  11.228958 -1.57276438 71.87321 4.221307e-119
## ENSG00000151617.15  7.904513 -2.91782300 70.75199 4.283362e-118
## ENSG00000173702.7  15.051876  0.25301464 70.31748 1.061250e-117
## ENSG00000118526.6  10.537333 -1.83523586 68.77996 2.746173e-116
## ENSG00000183580.9   8.579915 -2.49579830 68.87721 2.230948e-116
##                        adj.P.Val        B
## ENSG00000164318.17 7.849883e-122 272.6540
## ENSG00000006611.15 2.158488e-118 265.7404
## ENSG00000127324.8  2.158488e-118 265.4671
## ENSG00000126785.12 1.629258e-117 262.8825
## ENSG00000237187.8  1.411599e-117 262.4106
## ENSG00000101825.7  1.950314e-115 258.4736
## ENSG00000151617.15 1.696273e-114 255.6127
## ENSG00000173702.7  3.677364e-114 255.5598
## ENSG00000118526.6  7.612666e-113 252.3701
## ENSG00000183580.9  6.871567e-113 252.2846

1.8.1 GTEx analysis: comparing same tissues

In order to have something to compare to the results generated on the data sets selected above, we do a differential expression analysis comparing blood to colon samples from GTEx, project SRP012682. We carry out the same steps as above for the analysis, but in this case we also control for batch as included in the GTEx metadata.

## Download the GTEx data
if(!file.exists(file.path('SRP012682', 'rse_gene.Rdata'))) {
    download_study('SRP012682')
}
load(file.path('SRP012682', 'rse_gene.Rdata'))

## Download GTEx metadata
gtex_metadata <- all_metadata('gtex')
## 2017-01-30 16:21:48 downloading the metadata to /var/folders/cx/n9s558kx6fb7jf5z_pgszgb80000gn/T//RtmpQIGsp8/metadata_clean_gtex.Rdata
## Subset to samples from tissues of interest
gtex_blood <- rse_gene[, subset(gtex_metadata, smtsd == 'Whole Blood')$run]
colData(gtex_blood)$tissue <- 'wholeblood'
gtex_colon <- rse_gene[, subset(gtex_metadata, smts == 'Colon')$run]
colData(gtex_colon)$tissue <- 'colon'

## Combine tissue subsets and include batch label
gtex_both <- do.call(cbind, list(gtex_blood, gtex_colon))
colData(gtex_both)$batch <- gtex_metadata[match(colData(gtex_both)$run,
    gtex_metadata$run), 'smgebtch']

## Scale and filter data to the same genes kept in initial analysis
gtex_both <- scale_counts(gtex_both)
gtex_both_counts <- assays(gtex_both)[[1]]
gtex_both_counts <- gtex_both_counts[keep, ]

## Carry out differential expression analysis
design_gtex <- model.matrix(~colData(gtex_both)$tissue +
    colData(gtex_both)$batch)
dge_gtex <- DGEList(counts = gtex_both_counts)
dge_gtex <- calcNormFactors(dge_gtex)
v_gtex <- voom(dge_gtex, design_gtex, plot=FALSE)
fit_gtex <- lmFit(v_gtex, design_gtex)
fit_gtex <- eBayes(fit_gtex)
topTable(fit_gtex, coef = 2)
##                        logFC  AveExpr         t P.Value adj.P.Val        B
## ENSG00000072786.12  4.595693 6.484796  87.13601       0         0 852.9246
## ENSG00000150760.12 -5.426947 2.636342 -85.76042       0         0 842.4991
## ENSG00000104894.11  5.428923 6.456112  85.31817       0         0 839.5314
## ENSG00000198752.10 -3.524774 4.592607 -84.15769       0         0 830.8078
## ENSG00000141480.17  5.798289 7.545908  83.97986       0         0 829.5412
## ENSG00000083857.13 -7.000981 2.562796 -83.19560       0         0 823.2757
## ENSG00000136167.13  7.773033 8.014350  83.15074       0         0 823.2608
## ENSG00000142347.16  7.257857 6.974144  81.95287       0         0 814.1077
## ENSG00000116701.14  8.176832 6.252451  80.64959       0         0 803.9663
## ENSG00000151651.15  7.258016 5.728969  80.47561       0         0 802.6214

1.8.2 GTEx analysis: comparing different tissues

To have a way of gauguing how much overlap we expect to see between the results from the five combined data sets and those from GTEx data, we also carry out a differential analysis using GTEx data comparing blood to lung. We expect to see much less concordance between our initial results and the GTEx blood-lung comparison than we see between our initial results and the GTEx blood-colon comparison.

## Subset lung data
gtex_lung <- rse_gene[, subset(gtex_metadata, smts=='Lung')$run]
colData(gtex_lung)$tissue <- 'lung'

## Combine lung and blood data and label with batch
gtex_both_lung <- do.call(cbind, list(gtex_blood, gtex_lung))
colData(gtex_both_lung)$batch <- gtex_metadata[
    match(
        colData(gtex_both_lung)$run,
        gtex_metadata$run
    ), 'smgebtch']

## Scale and filter to correct gene set
gtex_both_lung <- scale_counts(gtex_both_lung)
gtex_both_lung_counts <- assays(gtex_both_lung)[[1]]
gtex_both_lung_counts <- gtex_both_lung_counts[keep,]

## Carry out differential expression analysis
design_gtex_lung <- model.matrix(~colData(gtex_both_lung)$tissue +
    colData(gtex_both_lung)$batch)
dge_gtex_lung <- DGEList(counts = gtex_both_lung_counts)
dge_gtex_lung <- calcNormFactors(dge_gtex_lung)
v_gtex_lung <- voom(dge_gtex_lung, design_gtex_lung, plot = FALSE)
fit_gtex_lung <- lmFit(v_gtex_lung, design_gtex_lung)
fit_gtex_lung <- eBayes(fit_gtex_lung)
topTable(fit_gtex_lung, coef = 2)
##                        logFC    AveExpr          t P.Value adj.P.Val
## ENSG00000069122.18 -7.834493  3.1073837 -109.38749       0         0
## ENSG00000118526.6  -8.943232  1.4057694 -104.47541       0         0
## ENSG00000175899.14 -8.082122  7.0747207 -102.37996       0         0
## ENSG00000129473.9  -2.823777  4.0137367 -100.97719       0         0
## ENSG00000121068.13 -8.283958  2.6788408 -100.14008       0         0
## ENSG00000128567.16 -6.259427  3.7794436 -100.06553       0         0
## ENSG00000112655.15 -5.255477  2.6448203  -99.02082       0         0
## ENSG00000091136.13 -6.245406  4.6398510  -98.42636       0         0
## ENSG00000225383.7  -8.370107 -0.8413745  -96.93016       0         0
## ENSG00000227954.6  -8.626676  0.6834325  -96.88464       0         0
##                            B
## ENSG00000069122.18 1011.7457
## ENSG00000118526.6   981.1413
## ENSG00000175899.14  968.0088
## ENSG00000129473.9   958.9134
## ENSG00000121068.13  953.1886
## ENSG00000128567.16  952.8221
## ENSG00000112655.15  945.8699
## ENSG00000091136.13  941.9876
## ENSG00000225383.7   931.7232
## ENSG00000227954.6   931.4207

1.9 Compare concordance at the top (CAT) plots

To look for overlap among the most differentially expressed genes across the three analyses, we construct concordance at the top (CAT) plots. We make three comparisons: our five-study results compared to GTEx blood-colon results (same tissue comparison), our five-study results compared to GTEx blood-lung results (different tissue comparison) and our five-study results compared to a ranked set of coefficients for the batch variable in the GTEx blood-lung results (which should not show any biologically meaningful correspondence).

## Comparison of initial analysis to GTEx, same tissues
cat_sra_gtex <- CATplot(
    -rank(fit$coefficients[, 2]),
    -rank(-fit_gtex$coefficients[, 2]), maxrank = 1000, ylim = c(0,1), make.plot=FALSE)
## Comparison of initial analysis to GTEx, different tissues
cat_sra_gtex_lung = CATplot(
    -rank(fit$coefficients[, 2]),
    -rank(-fit_gtex_lung$coefficients[, 2]), maxrank = 1000, ylim = c(0,1), make.plot=FALSE)
## Comparison of initial analysis to GTEx, coefficient of batch in model
cat_sra_gtex_batch = CATplot(
    -rank(fit$coefficients[, 2]),
    -rank(-fit_gtex_lung$coefficients[, 3]), maxrank = 1000, ylim = c(0,1), make.plot=FALSE)

plot(cat_sra_gtex, type = 'l', col = trop[1], lwd = 3)
lines(cat_sra_gtex_lung, type = 'l', col = trop[2], lwd = 3)
lines(cat_sra_gtex_batch, type = 'l', col = trop[3], lwd = 3)
legend(0, 0.5, legend=c('Same Tisue', 'Different Tissues', 
    'Tissue vs. Batch'), col = trop[1:3], lwd = 3)

From the figure above, we can see that the best concordance is for the comparison to GTEx where we analyzed the same pair of tissues. The GTEx analysis with lung looks considerably less overlapping, with the overlap with the batch coefficient well below the other two.

2 Reproducibility

This analysis report was made possible thanks to:

Bibliography file

[1] J. Allaire, J. Cheng, Y. Xie, J. McPherson, et al. rmarkdown: Dynamic Documents for R. R package version 1.3. 2017. URL: http://rmarkdown.rstudio.com.

[2] S. M. Bache and H. Wickham. magrittr: A Forward-Pipe Operator for R. R package version 1.5. 2014. URL: https://CRAN.R-project.org/package=magrittr.

[3] C. Boettiger. knitcitations: Citations for ‘Knitr’ Markdown Files. R package version 1.0.7. 2015. URL: https://CRAN.R-project.org/package=knitcitations.

[4] L. Collado-Torres, A. Nellore, A. C. Frazee, C. Wilks, et al. “Flexible expressed region analysis for RNA-seq with derfinder”. In: Nucl. Acids Res. (2016). DOI: 10.1093/nar/gkw852. URL: http://nar.oxfordjournals.org/content/early/2016/09/29/nar.gkw852.

[5] L. Collado-Torres, A. Nellore, K. Kammers, S. E. Ellis, et al. “recount: A large-scale resource of analysis-ready RNA-seq expression data”. In: bioRxiv (2016). DOI: 10.1101/068478. URL: http://biorxiv.org/content/early/2016/08/08/068478.

[6] Y. H. A. T. L. T. A. P. J. D. A. M. K. A. D. T. A. R. K. A. R. N. B. A. J. D. N. A. J. R. A. J. M. A. M. B. H. A. A. M. G. A. W. V. C. A. D. R. M. A. S. S. B. A. C. H. A. D. J. K. A. J. S. H. A. S. K. A. T. D. W. A. B. A. A. R. J. X. A. D. G. A. L. A. Denson. “Pediatric Crohn disease patients exhibit specific ileal transcriptome and microbiome signature”. In: The Journal of Clinical Investigation 124 (2014), pp. 3617-3633.

[7] A. Frazee. RSkittleBrewer: Fun with R Colors. R package version 1.1. 2017. URL: https://github.com/alyssafrazee/RSkittleBrewer.

[8] S. Kim, S. Kim, J. Kim, S. A. Roh, et al. “A nineteen gene-based risk score classifier predicts prognosis of colorectal cancer patients”. In: Molecular Oncology 8 (2014), pp. 1653 - 1666.

[9] C. Law, Y. Chen, W. Shi and G. Smyth. “Voom: precision weights unlock linear model analysis tools for RNA-seq read counts”. In: Genome Biology 15 (2014), p. R29.

[10] M. Morgan, V. Obenchain, J. Hester and H. Pagès. SummarizedExperiment: SummarizedExperiment container. R package version 1.5.3. 2016.

[11] A. Oleś, M. Morgan and W. Huber. BiocStyle: Standard styles for vignettes and other Bioconductor documents. R package version 2.3.30. 2017. URL: https://github.com/Bioconductor/BiocStyle.

[12] R Core Team. R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing. Vienna, Austria, 2016. URL: https://www.R-project.org/.

[13] M. D. Robinson, D. J. McCarthy and G. K. Smyth. “edgeR: a Bioconductor package for differential expression analysis of digital gene expression data”. In: Bioinformatics 26 (2010), pp. -1.

[14] Waldron, L, Ogino, Shuji, Hoshida, Yujin, Shima, Kaori, et al. “Expression profiling of archival tumors for long-term health studies”. In: Clinical Cancer Research 18.22 (2012). PMID: 23136189, pp. 6136–6146. DOI: 10.1158/1078-0432.CCR-12-1915.

[15] H. Wickham and W. Chang. devtools: Tools to Make Developing R Packages Easier. R package version 1.12.0. 2016. URL: https://CRAN.R-project.org/package=devtools.

[16] H. Wickham and R. Francois. dplyr: A Grammar of Data Manipulation. R package version 0.5.0. 2016. URL: https://CRAN.R-project.org/package=dplyr.

## Time spent creating this report:
diff(c(timestart, Sys.time()))
## Time difference of 22.47611 mins
## Date this report was generated
message(Sys.time())
## 2017-01-30 16:43:11
## Reproducibility info
options(width = 120)
devtools::session_info()
## Session info -----------------------------------------------------------------------------------------------------------
##  setting  value                                             
##  version  R Under development (unstable) (2016-10-26 r71594)
##  system   x86_64, darwin13.4.0                              
##  ui       X11                                               
##  language (EN)                                              
##  collate  en_US.UTF-8                                       
##  tz       America/New_York                                  
##  date     2017-01-30
## Packages ---------------------------------------------------------------------------------------------------------------
##  package              * version  date       source                                          
##  acepack                1.4.1    2016-10-29 CRAN (R 3.4.0)                                  
##  affy                   1.53.0   2016-10-23 Bioconductor                                    
##  affyio                 1.45.0   2016-10-23 Bioconductor                                    
##  annotate               1.53.1   2016-12-27 Bioconductor                                    
##  AnnotationDbi          1.37.1   2017-01-13 Bioconductor                                    
##  assertthat             0.1      2013-12-06 CRAN (R 3.4.0)                                  
##  backports              1.0.5    2017-01-18 CRAN (R 3.4.0)                                  
##  base64                 2.0      2016-05-10 CRAN (R 3.4.0)                                  
##  base64enc              0.1-3    2015-07-28 CRAN (R 3.4.0)                                  
##  beanplot               1.2      2014-09-19 CRAN (R 3.4.0)                                  
##  bibtex                 0.4.0    2014-12-31 CRAN (R 3.4.0)                                  
##  Biobase              * 2.35.0   2016-10-23 Bioconductor                                    
##  BiocGenerics         * 0.21.3   2017-01-12 Bioconductor                                    
##  BiocInstaller          1.25.3   2017-01-20 Bioconductor                                    
##  BiocParallel           1.9.5    2017-01-24 Bioconductor                                    
##  BiocStyle            * 2.3.30   2017-01-27 Bioconductor                                    
##  biomaRt                2.31.4   2017-01-13 Bioconductor                                    
##  Biostrings             2.43.3   2017-01-24 Bioconductor                                    
##  bitops                 1.0-6    2013-08-17 CRAN (R 3.4.0)                                  
##  BSgenome               1.43.4   2017-01-20 Bioconductor                                    
##  bumphunter             1.15.0   2016-10-23 Bioconductor                                    
##  checkmate              1.8.2    2016-11-02 CRAN (R 3.4.0)                                  
##  cluster                2.0.5    2016-10-08 CRAN (R 3.4.0)                                  
##  codetools              0.2-15   2016-10-05 CRAN (R 3.4.0)                                  
##  colorout             * 1.1-2    2016-11-15 Github (jalvesaq/colorout@6d84420)              
##  colorspace             1.3-2    2016-12-14 CRAN (R 3.4.0)                                  
##  data.table             1.10.0   2016-12-03 CRAN (R 3.4.0)                                  
##  DBI                    0.5-1    2016-09-10 CRAN (R 3.4.0)                                  
##  derfinder              1.9.6    2017-01-13 Bioconductor                                    
##  derfinderHelper        1.9.3    2016-11-29 Bioconductor                                    
##  devtools             * 1.12.0   2016-12-05 CRAN (R 3.4.0)                                  
##  digest                 0.6.12   2017-01-27 CRAN (R 3.4.0)                                  
##  doRNG                  1.6      2014-03-07 CRAN (R 3.4.0)                                  
##  downloader             0.4      2015-07-09 CRAN (R 3.4.0)                                  
##  dplyr                * 0.5.0    2016-06-24 CRAN (R 3.4.0)                                  
##  edgeR                * 3.17.5   2016-12-13 Bioconductor                                    
##  evaluate               0.10     2016-10-11 CRAN (R 3.4.0)                                  
##  ffpe                 * 1.19.0   2016-10-25 Bioconductor                                    
##  foreach                1.4.3    2015-10-13 CRAN (R 3.4.0)                                  
##  foreign                0.8-67   2016-09-13 CRAN (R 3.4.0)                                  
##  Formula                1.2-1    2015-04-07 CRAN (R 3.4.0)                                  
##  genefilter             1.57.0   2016-10-23 Bioconductor                                    
##  GenomeInfoDb         * 1.11.6   2016-11-17 Bioconductor                                    
##  GenomicAlignments      1.11.8   2017-01-24 Bioconductor                                    
##  GenomicFeatures        1.27.6   2016-12-17 Bioconductor                                    
##  GenomicFiles           1.11.3   2016-11-29 Bioconductor                                    
##  GenomicRanges        * 1.27.21  2017-01-20 Bioconductor                                    
##  GEOquery               2.41.0   2016-10-25 Bioconductor                                    
##  ggplot2                2.2.1    2016-12-30 CRAN (R 3.4.0)                                  
##  gridExtra              2.2.1    2016-02-29 CRAN (R 3.4.0)                                  
##  gtable                 0.2.0    2016-02-26 CRAN (R 3.4.0)                                  
##  Hmisc                  4.0-2    2016-12-31 CRAN (R 3.4.0)                                  
##  htmlTable              1.9      2017-01-26 CRAN (R 3.4.0)                                  
##  htmltools              0.3.5    2016-03-21 CRAN (R 3.4.0)                                  
##  htmlwidgets            0.8      2016-11-09 CRAN (R 3.4.0)                                  
##  httr                   1.2.1    2016-07-03 CRAN (R 3.4.0)                                  
##  illuminaio             0.17.0   2016-10-29 Bioconductor                                    
##  IRanges              * 2.9.16   2017-01-28 cran (@2.9.16)                                  
##  iterators              1.0.8    2015-10-13 CRAN (R 3.4.0)                                  
##  jsonlite               1.2      2016-12-31 CRAN (R 3.4.0)                                  
##  KernSmooth             2.23-15  2015-06-29 CRAN (R 3.4.0)                                  
##  knitcitations        * 1.0.7    2015-10-28 CRAN (R 3.4.0)                                  
##  knitr                  1.15.1   2016-11-22 CRAN (R 3.4.0)                                  
##  lattice                0.20-34  2016-09-06 CRAN (R 3.4.0)                                  
##  latticeExtra           0.6-28   2016-02-09 CRAN (R 3.4.0)                                  
##  lazyeval               0.2.0    2016-06-12 CRAN (R 3.4.0)                                  
##  limma                * 3.31.10  2017-01-26 Bioconductor                                    
##  locfit                 1.5-9.1  2013-04-20 CRAN (R 3.4.0)                                  
##  lubridate              1.6.0    2016-09-13 CRAN (R 3.4.0)                                  
##  lumi                   2.27.3   2016-11-15 Bioconductor                                    
##  magrittr             * 1.5      2014-11-22 CRAN (R 3.4.0)                                  
##  MASS                   7.3-45   2016-04-21 CRAN (R 3.4.0)                                  
##  Matrix                 1.2-8    2017-01-20 CRAN (R 3.4.0)                                  
##  matrixStats            0.51.0   2016-10-09 CRAN (R 3.4.0)                                  
##  mclust                 5.2.2    2017-01-22 CRAN (R 3.4.0)                                  
##  memoise                1.0.0    2016-01-29 CRAN (R 3.4.0)                                  
##  methylumi              2.21.0   2016-10-25 Bioconductor                                    
##  mgcv                   1.8-16   2016-11-07 CRAN (R 3.4.0)                                  
##  minfi                  1.21.3   2016-12-11 Bioconductor                                    
##  multtest               2.31.0   2016-10-23 Bioconductor                                    
##  munsell                0.4.3    2016-02-13 CRAN (R 3.4.0)                                  
##  nleqslv                3.0.3    2016-08-08 CRAN (R 3.4.0)                                  
##  nlme                   3.1-130  2017-01-24 CRAN (R 3.4.0)                                  
##  nnet                   7.3-12   2016-02-02 CRAN (R 3.4.0)                                  
##  nor1mix                1.2-2    2016-08-25 CRAN (R 3.4.0)                                  
##  openssl                0.9.6    2016-12-31 CRAN (R 3.4.0)                                  
##  pkgmaker               0.22     2014-05-14 CRAN (R 3.4.0)                                  
##  plyr                   1.8.4    2016-06-08 CRAN (R 3.4.0)                                  
##  preprocessCore         1.37.0   2016-10-23 Bioconductor                                    
##  quadprog               1.5-5    2013-04-17 CRAN (R 3.4.0)                                  
##  qvalue                 2.7.0    2016-10-23 Bioconductor                                    
##  R6                     2.2.0    2016-10-05 CRAN (R 3.4.0)                                  
##  RColorBrewer           1.1-2    2014-12-07 CRAN (R 3.4.0)                                  
##  Rcpp                   0.12.9   2017-01-14 CRAN (R 3.4.0)                                  
##  RCurl                  1.95-4.8 2016-03-01 CRAN (R 3.4.0)                                  
##  recount              * 1.1.14   2017-01-30 Github (leekgroup/recount@009bb32)              
##  RefManageR             0.13.1   2016-11-13 CRAN (R 3.4.0)                                  
##  registry               0.3      2015-07-08 CRAN (R 3.4.0)                                  
##  rentrez                1.0.4    2016-10-26 CRAN (R 3.4.0)                                  
##  reshape                0.8.6    2016-10-21 CRAN (R 3.4.0)                                  
##  reshape2               1.4.2    2016-10-22 CRAN (R 3.4.0)                                  
##  RJSONIO                1.3-0    2014-07-28 CRAN (R 3.4.0)                                  
##  rmarkdown            * 1.3      2017-01-20 Github (rstudio/rmarkdown@5b74148)              
##  rngtools               1.2.4    2014-03-06 CRAN (R 3.4.0)                                  
##  rpart                  4.1-10   2015-06-29 CRAN (R 3.4.0)                                  
##  rprojroot              1.2      2017-01-16 CRAN (R 3.4.0)                                  
##  Rsamtools              1.27.12  2017-01-24 Bioconductor                                    
##  RSkittleBrewer       * 1.1      2016-11-15 Github (alyssafrazee/RSkittleBrewer@0088112)    
##  RSQLite                1.1-2    2017-01-08 CRAN (R 3.4.0)                                  
##  rtracklayer            1.35.3   2017-01-30 Github (Bioconductor-mirror/rtracklayer@5f195a1)
##  S4Vectors            * 0.13.11  2017-01-28 cran (@0.13.11)                                 
##  scales                 0.4.1    2016-11-09 CRAN (R 3.4.0)                                  
##  sfsmisc                1.1-0    2016-02-23 CRAN (R 3.4.0)                                  
##  siggenes               1.49.0   2016-10-23 Bioconductor                                    
##  stringi                1.1.2    2016-10-01 CRAN (R 3.4.0)                                  
##  stringr                1.1.0    2016-08-19 CRAN (R 3.4.0)                                  
##  SummarizedExperiment * 1.5.3    2016-11-11 Bioconductor                                    
##  survival               2.40-1   2016-10-30 CRAN (R 3.4.0)                                  
##  tibble                 1.2      2016-08-26 CRAN (R 3.4.0)                                  
##  TTR                  * 0.23-1   2016-03-21 CRAN (R 3.4.0)                                  
##  VariantAnnotation      1.21.15  2017-01-20 Bioconductor                                    
##  withr                  1.0.2    2016-06-20 CRAN (R 3.4.0)                                  
##  XML                    3.98-1.5 2016-11-10 CRAN (R 3.4.0)                                  
##  xtable                 1.8-2    2016-02-05 CRAN (R 3.4.0)                                  
##  xts                    0.9-7    2014-01-02 CRAN (R 3.4.0)                                  
##  XVector                0.15.1   2017-01-24 Bioconductor                                    
##  yaml                   2.1.14   2016-11-12 CRAN (R 3.4.0)                                  
##  zlibbioc               1.21.0   2016-10-23 Bioconductor                                    
##  zoo                    1.7-14   2016-12-19 CRAN (R 3.4.0)