This code takes the recount-brain_v2
output created by Dustin Sokolowski in cross_studies_metadata
and adds ontology information. Specifically, this adds the brodmann_ontology
, disease_ontology
, tissue
and tissy_ontology
fields to recount-brain
. The results are saved in recount_brain_v2.Rdata
(as well as a csv version) which can then be used with recount::add_metadata(source = 'recount_brain_v2')
.
First we start by building an ontology lookup table using data from data.bioontology.org/’s API.
library('tidyverse')
build_ontology_table = function(ontology_name) {
destfile = paste0(ontology_name,".csv.gz")
download.file(sprintf("http://data.bioontology.org/ontologies/%s/download?apikey=8b5b7825-538d-40e0-9e9e-5ab9274a9aeb&download_format=csv", ontology_name),
destfile = destfile)
tmptab = read.csv(destfile, header = TRUE, stringsAsFactors = FALSE)[,1:8]
tmptab$ontology = ontology_name
unlink(destfile)
return(as_tibble(tmptab))
}
ontolookup = bind_rows(build_ontology_table('ORDO'),
build_ontology_table('HP'),
build_ontology_table('UBERON'),
build_ontology_table('DOID'),
build_ontology_table('NCIT'))
Next we load the recount-brain
files created by Dustin Sokolowski and explore them.
load("recount_brain_v2_noOntology.Rdata")
head(recount_brain)
## age age_units assay_type_s avgspotlen_l bioproject_s biosample_s brain_bank brodmann_area
## ERP001304.1 51 Years <NA> 76 PRJEB2939 SAMEA1322587 NSW Tissue Resource Centre 22
## ERP001304.2 57 Years <NA> 75 PRJEB2939 SAMEA1322592 NSW Tissue Resource Centre 22
## ERP001304.3 44 Years <NA> 76 PRJEB2939 SAMEA1322588 NSW Tissue Resource Centre 22
## ERP001304.4 30 Years <NA> 76 PRJEB2939 SAMEA1322593 NSW Tissue Resource Centre 22
## ERP001304.5 32 Years <NA> 76 PRJEB2939 SAMEA1322597 NSW Tissue Resource Centre 22
## ERP001304.6 75 Years <NA> 76 PRJEB2939 SAMEA1322590 NSW Tissue Resource Centre 22
## cell_line center_name_s clinical_stage_1 clinical_stage_2 consent_s development
## ERP001304.1 <NA> THE RAMACIOTTI CENTRE, NSW, AUSTRALIA <NA> <NA> PUBLIC Adult
## ERP001304.2 <NA> THE RAMACIOTTI CENTRE, NSW, AUSTRALIA <NA> <NA> PUBLIC Adult
## ERP001304.3 <NA> THE RAMACIOTTI CENTRE, NSW, AUSTRALIA <NA> <NA> PUBLIC Adult
## ERP001304.4 <NA> THE RAMACIOTTI CENTRE, NSW, AUSTRALIA <NA> <NA> PUBLIC Adult
## ERP001304.5 <NA> THE RAMACIOTTI CENTRE, NSW, AUSTRALIA <NA> <NA> PUBLIC Adult
## ERP001304.6 <NA> THE RAMACIOTTI CENTRE, NSW, AUSTRALIA <NA> <NA> PUBLIC Adult
## disease disease_status experiment_s hemisphere insertsize_l instrument_s
## ERP001304.1 Schizophrenia Disease ERX080870 Left 0 Illumina Genome Analyzer II
## ERP001304.2 Schizophrenia Disease ERX080868 Left 0 Illumina Genome Analyzer II
## ERP001304.3 Schizophrenia Disease ERX080865 Left 0 Illumina Genome Analyzer II
## ERP001304.4 Schizophrenia Disease ERX080866 Left 0 Illumina Genome Analyzer II
## ERP001304.5 Schizophrenia Disease ERX080860 Left 0 Illumina Genome Analyzer II
## ERP001304.6 Schizophrenia Disease ERX080858 Left 0 Illumina Genome Analyzer II
## library_name_s librarylayout_s libraryselection_s librarysource_s loaddate_s mbases_l mbytes_l organism_s
## ERP001304.1 S01 SINGLE RANDOM TRANSCRIPTOMIC 2012-08-12 954 790 <NA>
## ERP001304.2 S02 SINGLE RANDOM TRANSCRIPTOMIC 2012-08-12 2322 1708 <NA>
## ERP001304.3 S04 SINGLE RANDOM TRANSCRIPTOMIC 2012-08-12 1030 848 <NA>
## ERP001304.4 S05 SINGLE RANDOM TRANSCRIPTOMIC 2012-08-12 1091 901 <NA>
## ERP001304.5 S06 SINGLE RANDOM TRANSCRIPTOMIC 2012-08-12 1133 946 <NA>
## ERP001304.6 S10 SINGLE RANDOM TRANSCRIPTOMIC 2012-08-12 2750 2012 <NA>
## pathology platform_s pmi pmi_units preparation present_in_recount race releasedate_s rin run_s
## ERP001304.1 <NA> ILLUMINA 21 Hours Frozen TRUE WHITE 2012-08-03 NA ERR103430
## ERP001304.2 <NA> ILLUMINA 33 Hours Frozen TRUE WHITE 2012-08-03 NA ERR103431
## ERP001304.3 <NA> ILLUMINA 35 Hours Frozen TRUE WHITE 2012-08-03 NA ERR103432
## ERP001304.4 <NA> ILLUMINA 24 Hours Frozen TRUE WHITE 2012-08-03 NA ERR103433
## ERP001304.5 <NA> ILLUMINA 25 Hours Frozen TRUE WHITE 2012-08-03 NA ERR103434
## ERP001304.6 <NA> ILLUMINA 36 Hours Frozen TRUE WHITE 2012-08-03 NA ERR103435
## sample_name_s sample_origin sex sra_sample_s sra_study_s tissue_site_1 tissue_site_2
## ERP001304.1 E-MTAB-1030:S01 Brain male ERS105742 ERP001304 Cerebral cortex Temporal lobe
## ERP001304.2 E-MTAB-1030:S02 Brain male ERS105740 ERP001304 Cerebral cortex Temporal lobe
## ERP001304.3 E-MTAB-1030:S04 Brain male ERS105737 ERP001304 Cerebral cortex Temporal lobe
## ERP001304.4 E-MTAB-1030:S05 Brain male ERS105738 ERP001304 Cerebral cortex Temporal lobe
## ERP001304.5 E-MTAB-1030:S06 Brain male ERS105732 ERP001304 Cerebral cortex Temporal lobe
## ERP001304.6 E-MTAB-1030:S10 Brain male ERS105730 ERP001304 Cerebral cortex Temporal lobe
## tissue_site_3 tumor_type viability Study_full drugName_full drug_info_full drug_type_full
## ERP001304.1 Superior temporal gyrus <NA> Postmortem ERP001304 <NA> NA <NA>
## ERP001304.2 Superior temporal gyrus <NA> Postmortem ERP001304 <NA> NA <NA>
## ERP001304.3 Superior temporal gyrus <NA> Postmortem ERP001304 <NA> NA <NA>
## ERP001304.4 Superior temporal gyrus <NA> Postmortem ERP001304 <NA> NA <NA>
## ERP001304.5 Superior temporal gyrus <NA> Postmortem ERP001304 <NA> NA <NA>
## ERP001304.6 Superior temporal gyrus <NA> Postmortem ERP001304 <NA> NA <NA>
## full_260_280 count_file_identifier Dataset
## ERP001304.1 NA ERR103430 recount_brain_v1
## ERP001304.2 NA ERR103431 recount_brain_v1
## ERP001304.3 NA ERR103432 recount_brain_v1
## ERP001304.4 NA ERR103433 recount_brain_v1
## ERP001304.5 NA ERR103434 recount_brain_v1
## ERP001304.6 NA ERR103435 recount_brain_v1
The UBERON ontology has direct mappings to Brodmann areas, amenable to direct lookup.
extended_brodmann_area = paste("Brodmann (1909) area", recount_brain$brodmann_area)
ontomap = ontolookup$`Class.ID`[match(unique(extended_brodmann_area), ontolookup$Preferred.Label )]
names(ontomap) = unique(extended_brodmann_area)
ontomap['Brodmann (1909) area 41'] = "http://purl.obolibrary.org/obo/UBERON_0006095"
matchers = match( extended_brodmann_area, names(ontomap))
ontobrain = data.frame(
brodmann_ontology = ontomap[matchers],
stringsAsFactors = FALSE
)
## Add synonyms too, for searching by text
ontobrain$brodmann_synonyms <- ontolookup$Synonyms[
match(ontobrain$brodmann_ontology, ontolookup$Class.ID)]
## Functions for traversing the ontolookup table to find all the parents
find_parent <- function(i) {
res <- ontolookup$Parents[ontolookup$Class.ID == i]
if(length(res) == 0) return(NULL)
strsplit(res, '\\|')[[1]]
}
find_parent_recurr <- function(i) {
res <- find_parent(i)
if(length(res) == 0) {
return(NULL)
} else {
return(c(res, unique(unlist(sapply(res, find_parent_recurr)))))
}
}
## Find the unique brodmann ontologies listed
brodmann_uni <- as.character(unique(ontobrain$brodmann_ontology))
brodmann_uni <- brodmann_uni[!is.na(brodmann_uni)]
## Find the parents
brodmann_parents <- lapply(brodmann_uni, find_parent_recurr)
names(brodmann_parents) <- brodmann_uni
## Find what they mean
brodmann_parents_label <- lapply(brodmann_parents, function(x) {
ontolookup$Preferred.Label[match(x, ontolookup$Class.ID)]
})
## Could have also found the parents synonyms, but it doesn't
## add much
# lapply(brodmann_parents, function(x) ontolookup$Synonyms[match(x, ontolookup$Class.ID)])
## Add them and their labels
ontobrain$brodmann_parents <- sapply(brodmann_parents, paste, collapse = ' | ')[
match(ontobrain$brodmann_ontology, brodmann_uni)]
ontobrain$brodmann_parents_label <- sapply(brodmann_parents_label, paste, collapse = ' | ')[
match(ontobrain$brodmann_ontology, brodmann_uni)]
We then select the disease ontology mappings.
disease_mappings = c(
"Bipolar disorder" = "http://purl.obolibrary.org/obo/HP_0007302",
"Schizophrenia" = "http://purl.obolibrary.org/obo/HP_0100753",
"Hutchinson-Gilford progeria syndrome" = "http://www.orpha.net/ORDO/Orphanet_740",
"Cortical ischemic stroke tissue" = "http://purl.obolibrary.org/obo/HP_0002140",
"Autism spectrum disorder" = "http://purl.obolibrary.org/obo/HP_0000717",
"Epilepsy" = "http://purl.obolibrary.org/obo/DOID_1826",
"brain tumor unspecified" = "http://purl.obolibrary.org/obo/HP_0030692",
"Huntington's disease" = "http://www.orpha.net/ORDO/Orphanet_399",
"Alzheimer’s disease" = "http://purl.obolibrary.org/obo/HP_0002511",
"Parkinson’s disease" = "http://purl.obolibrary.org/obo/DOID_14332",
"Parkinson's disease" = "http://purl.obolibrary.org/obo/DOID_14332",
"Rett syndrome" = "http://www.orpha.net/ORDO/Orphanet_778",
"Spinal muscular atrophy" = "http://purl.obolibrary.org/obo/HP_0007269",
"Amyotrophic lateral sclerosis" = "http://www.orpha.net/ORDO/Orphanet_803",
"Angelman syndrome" = "http://www.orpha.net/ORDO/Orphanet_72",
"Embryonal tumors with multilayered rosettes" = "http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl#C4915",
"Primitive neuroectodermal tumor" = "http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl#C3716",
"Primary Tumor" = "http://purl.obolibrary.org/obo/HP_0030692",
"Recurrent Tumor" = "http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl#C153837"
)
matchers = match( recount_brain$disease, names(disease_mappings))
ontobrain$disease_ontology = disease_mappings[matchers]
ontomap = c(ontomap, disease_mappings)
Since ontologies are graphs, we only need to annotate the most specific term.
tissues = recount_brain$tissue_site_1
not_na = !is.na(recount_brain$tissue_site_2)
tissues[not_na] = recount_brain$tissue_site_2[not_na]
not_na = !is.na(recount_brain$tissue_site_3)
tissues[not_na] = recount_brain$tissue_site_3[not_na]
# use only uberon
uberon = ontolookup[ontolookup$ontology=='UBERON',]
matcher = function(term) {
tmp = grep(paste0('^', term, '$'), uberon$Preferred.Label, ignore.case = TRUE)
if(length(tmp)==1) {
tmp = uberon$Class.ID[tmp]
names(tmp) = term
return(tmp)
} else {
tmp = NA
names(tmp) = term
return(tmp)
}
}
tissue_mappings = sapply(unique(tissues), matcher, USE.NAMES = FALSE)
names(tissue_mappings)[is.na(tissue_mappings)]
## [1] NA "Motor cortex" "Mixed"
## [4] "Whole brain" "Medulla" "Hippocampus"
## [7] "Caudate" "Anterior prefrontal cortex" "LGG"
## [10] "GBM" "Anterior cingulate cortex (BA24)" "Spinal cord (cervical c-1)"
tissue_mappings = c(tissue_mappings,
"Motor cortex" = "http://purl.obolibrary.org/obo/UBERON_0001384",
"Anterior cingulate gyrus" = "http://purl.obolibrary.org/obo/UBERON_0002756",
"Anterior prefrontal cortex" = "http://purl.obolibrary.org/obo/UBERON_0000451",
"Whole brain" = "http://purl.obolibrary.org/obo/UBERON_0000955",
"Mixed" = "http://purl.obolibrary.org/obo/UBERON_0000955",
"Hippocampus" = "http://purl.obolibrary.org/obo/UBERON_0002421",
"Anterior cingulate cortex (BA24)" = "http://purl.obolibrary.org/obo/UBERON_0006101",
"Spinal cord (cervical c-1)" = "http://purl.obolibrary.org/obo/UBERON_0002726",
"GBM" = "http://purl.obolibrary.org/obo/HP_0012174",
"LGG" = "http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl#C132067"
)
ontomap = c(ontomap, tissue_mappings)
matchers = match(tissues, names(tissue_mappings))
ontobrain$tissue = tissues
ontobrain$tissue_ontology = tissue_mappings[matchers]
## Add synonyms too, for searching by text
ontobrain$tissue_synonyms <- ontolookup$Synonyms[
match(ontobrain$tissue_ontology, ontolookup$Class.ID)]
## Find the unique tissue ontologies listed
tissue_uni <- as.character(unique(ontobrain$tissue_ontology))
tissue_uni <- tissue_uni[!is.na(tissue_uni)]
## Find the parents
tissue_parents <- lapply(tissue_uni, find_parent_recurr)
names(tissue_parents) <- tissue_uni
## Find what they mean
tissue_parents_label <- lapply(tissue_parents, function(x) {
ontolookup$Preferred.Label[match(x, ontolookup$Class.ID)]
})
## Could have also found the parents synonyms, but it doesn't
## add much
# lapply(tissue_parents, function(x) ontolookup$Synonyms[match(x, ontolookup$Class.ID)])
## Add them and their labels
ontobrain$tissue_parents <- sapply(tissue_parents, paste, collapse = ' | ')[
match(ontobrain$tissue_ontology, tissue_uni)]
ontobrain$tissue_parents_label <- sapply(tissue_parents_label, paste, collapse = ' | ')[
match(ontobrain$tissue_ontology, tissue_uni)]
The recount_brain_v2.Rdata
and recount_brain_v2.csv
files contain the metadata with ontologies for Tissue, Brodmann area, and Disease added. They also include the actual tissue as prioritized by tissue_site_3
over tissue_site_2
over tissue_site_1
. For the Broadmann area and the tissue, we further added their synonyms, ontology parents and ontology parent labels which will facilitate text based searches on recount_brain
.
The ontology_mapping.csv
file contains a dataframe of the mappings
from original names to ontology entries.
recount_brain = cbind(recount_brain, ontobrain)
write.csv(recount_brain, file="recount_brain_v2.csv", row.names = FALSE)
## Export in Rdata for use with recount::add_metadata()
save(recount_brain, file = 'recount_brain_v2.Rdata')
ontomap_full = merge(as.data.frame(ontomap), ontolookup, by.x=1, by.y = 1, all.x=TRUE)
ontomap_full$original_name = names(ontomap)
ontomap_full = ontomap_full[!is.na(ontomap_full$ontomap),]
write.csv(ontomap_full, file='ontology_mapping.csv')
Next we can explore which are the ontologies present in recount_brain_v2
:
map(
recount_brain[, grep('ontology', colnames(recount_brain))],
~ sort(table('ontologies:' = .x), decreasing = TRUE)
)
## $brodmann_ontology
## ontologies:
## http://purl.obolibrary.org/obo/UBERON_0013540 http://purl.obolibrary.org/obo/UBERON_0006101
## 339 117
## http://purl.obolibrary.org/obo/UBERON_0013553 http://purl.obolibrary.org/obo/UBERON_0006483
## 42 16
## http://purl.obolibrary.org/obo/UBERON_0013541 http://purl.obolibrary.org/obo/UBERON_0013535
## 14 10
## http://purl.obolibrary.org/obo/UBERON_0006095
## 6
##
## $disease_ontology
## ontologies:
## http://purl.obolibrary.org/obo/HP_0030692 http://www.orpha.net/ORDO/Orphanet_803
## 1131 79
## http://purl.obolibrary.org/obo/HP_0007302 http://purl.obolibrary.org/obo/DOID_14332
## 57 46
## http://www.orpha.net/ORDO/Orphanet_399 http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl#C153837
## 32 31
## http://purl.obolibrary.org/obo/HP_0002511 http://purl.obolibrary.org/obo/HP_0100753
## 24 19
## http://purl.obolibrary.org/obo/DOID_1826 http://purl.obolibrary.org/obo/HP_0000717
## 18 12
## http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl#C4915 http://purl.obolibrary.org/obo/HP_0002140
## 11 7
## http://purl.obolibrary.org/obo/HP_0007269 http://www.orpha.net/ORDO/Orphanet_740
## 4 4
## http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl#C3716 http://www.orpha.net/ORDO/Orphanet_778
## 3 3
## http://www.orpha.net/ORDO/Orphanet_72
## 2
##
## $tissue_ontology
## ontologies:
## http://purl.obolibrary.org/obo/UBERON_0009834 http://purl.obolibrary.org/obo/UBERON_0002037
## 331 174
## http://purl.obolibrary.org/obo/UBERON_0001870 http://purl.obolibrary.org/obo/UBERON_0001851
## 147 132
## http://purl.obolibrary.org/obo/UBERON_0001882 http://purl.obolibrary.org/obo/UBERON_0002245
## 124 118
## http://purl.obolibrary.org/obo/UBERON_0001874 http://purl.obolibrary.org/obo/UBERON_0001898
## 109 104
## http://purl.obolibrary.org/obo/UBERON_0000451 http://purl.obolibrary.org/obo/UBERON_0001876
## 85 81
## http://purl.obolibrary.org/obo/UBERON_0002038 http://purl.obolibrary.org/obo/UBERON_0002769
## 72 48
## http://purl.obolibrary.org/obo/UBERON_0001871 http://purl.obolibrary.org/obo/UBERON_0002792
## 41 41
## http://purl.obolibrary.org/obo/UBERON_0016525 http://purl.obolibrary.org/obo/UBERON_0000956
## 35 32
## http://purl.obolibrary.org/obo/UBERON_0002756 http://purl.obolibrary.org/obo/UBERON_0002336
## 18 13
## http://purl.obolibrary.org/obo/UBERON_0002967 http://purl.obolibrary.org/obo/UBERON_0002661
## 12 6
## http://purl.obolibrary.org/obo/UBERON_0002021 http://purl.obolibrary.org/obo/UBERON_0000988
## 2 1
## http://purl.obolibrary.org/obo/UBERON_0001872 http://purl.obolibrary.org/obo/UBERON_0002363
## 1 1
## http://purl.obolibrary.org/obo/UBERON_0008930 http://purl.obolibrary.org/obo/UBERON_0034891
## 1 1
Here’s some information for making sure the files you download are complete.
## Check md5sum for the resulting files
map(dir(pattern = 'recount_brain_v2|ontology_mapping'), tools::md5sum)
## [[1]]
## ontology_mapping.csv
## "9f1c6b36590c1a1d9424d75386d7eef1"
##
## [[2]]
## recount_brain_v2_noOntology.csv
## "e7855403fac9dc4d6345908c1e5da5a7"
##
## [[3]]
## recount_brain_v2_noOntology.Rdata
## "aa95cc6a34b77b9062e2f77da0cac286"
##
## [[4]]
## recount_brain_v2.csv
## "2ab643a4ce55d731c637456ff50ef36b"
##
## [[5]]
## recount_brain_v2.Rdata
## "0cc562916ced9f2bf4fb2b9a1a446121"
## List of all variables
colnames(recount_brain)
## [1] "age" "age_units" "assay_type_s" "avgspotlen_l"
## [5] "bioproject_s" "biosample_s" "brain_bank" "brodmann_area"
## [9] "cell_line" "center_name_s" "clinical_stage_1" "clinical_stage_2"
## [13] "consent_s" "development" "disease" "disease_status"
## [17] "experiment_s" "hemisphere" "insertsize_l" "instrument_s"
## [21] "library_name_s" "librarylayout_s" "libraryselection_s" "librarysource_s"
## [25] "loaddate_s" "mbases_l" "mbytes_l" "organism_s"
## [29] "pathology" "platform_s" "pmi" "pmi_units"
## [33] "preparation" "present_in_recount" "race" "releasedate_s"
## [37] "rin" "run_s" "sample_name_s" "sample_origin"
## [41] "sex" "sra_sample_s" "sra_study_s" "tissue_site_1"
## [45] "tissue_site_2" "tissue_site_3" "tumor_type" "viability"
## [49] "Study_full" "drugName_full" "drug_info_full" "drug_type_full"
## [53] "full_260_280" "count_file_identifier" "Dataset" "brodmann_ontology"
## [57] "brodmann_synonyms" "brodmann_parents" "brodmann_parents_label" "disease_ontology"
## [61] "tissue" "tissue_ontology" "tissue_synonyms" "tissue_parents"
## [65] "tissue_parents_label"
This document was made possible thanks to BioPortal
(Whetzel, Noy, Shah, Alexander, et al., 2011) and:
Code for creating this document
## Create the vignette
library('rmarkdown')
system.time(render('recount_brain_ontologies.Rmd', 'BiocStyle::html_document'))
Reproducibility information for this document.
## Reproducibility info
proc.time()
## user system elapsed
## 68.854 5.155 124.622
message(Sys.time())
## 2020-11-13 16:25:41
options(width = 120)
library('sessioninfo')
session_info()
## ─ Session info ───────────────────────────────────────────────────────────────────────────────────────────────────────
## setting value
## version R version 4.0.2 Patched (2020-06-24 r78746)
## os CentOS Linux 7 (Core)
## system x86_64, linux-gnu
## ui X11
## language (EN)
## collate en_US.UTF-8
## ctype en_US.UTF-8
## tz US/Eastern
## date 2020-11-13
##
## ─ Packages ───────────────────────────────────────────────────────────────────────────────────────────────────────────
## package * version date lib source
## AnnotationDbi 1.50.3 2020-07-25 [2] Bioconductor
## askpass 1.1 2019-01-13 [2] CRAN (R 4.0.0)
## assertthat 0.2.1 2019-03-21 [2] CRAN (R 4.0.0)
## backports 1.2.0 2020-11-02 [1] CRAN (R 4.0.2)
## base64enc 0.1-3 2015-07-28 [2] CRAN (R 4.0.0)
## bibtex 0.4.2.3 2020-09-19 [2] CRAN (R 4.0.2)
## Biobase * 2.48.0 2020-04-27 [2] Bioconductor
## BiocFileCache 1.12.1 2020-08-04 [2] Bioconductor
## BiocGenerics * 0.34.0 2020-04-27 [2] Bioconductor
## BiocManager 1.30.10 2019-11-16 [2] CRAN (R 4.0.0)
## BiocParallel 1.22.0 2020-04-27 [2] Bioconductor
## BiocStyle * 2.16.1 2020-09-25 [1] Bioconductor
## biomaRt 2.44.4 2020-10-13 [2] Bioconductor
## Biostrings 2.56.0 2020-04-27 [2] Bioconductor
## bit 4.0.4 2020-08-04 [2] CRAN (R 4.0.2)
## bit64 4.0.5 2020-08-30 [2] CRAN (R 4.0.2)
## bitops 1.0-6 2013-08-17 [2] CRAN (R 4.0.0)
## blob 1.2.1 2020-01-20 [2] CRAN (R 4.0.0)
## bookdown 0.21 2020-10-13 [1] CRAN (R 4.0.2)
## broom 0.7.2 2020-10-20 [2] CRAN (R 4.0.2)
## BSgenome 1.56.0 2020-04-27 [2] Bioconductor
## bumphunter 1.30.0 2020-04-27 [2] Bioconductor
## callr 3.5.1 2020-10-13 [2] CRAN (R 4.0.2)
## cellranger 1.1.0 2016-07-27 [2] CRAN (R 4.0.0)
## checkmate 2.0.0 2020-02-06 [2] CRAN (R 4.0.0)
## cli 2.1.0 2020-10-12 [2] CRAN (R 4.0.2)
## cluster 2.1.0 2019-06-19 [3] CRAN (R 4.0.2)
## codetools 0.2-16 2018-12-24 [3] CRAN (R 4.0.2)
## colorspace 1.4-1 2019-03-18 [2] CRAN (R 4.0.0)
## crayon 1.3.4 2017-09-16 [2] CRAN (R 4.0.0)
## curl 4.3 2019-12-02 [2] CRAN (R 4.0.0)
## data.table 1.13.2 2020-10-19 [2] CRAN (R 4.0.2)
## DBI 1.1.0 2019-12-15 [2] CRAN (R 4.0.0)
## dbplyr 2.0.0 2020-11-03 [1] CRAN (R 4.0.2)
## DelayedArray * 0.14.1 2020-07-14 [2] Bioconductor
## derfinder 1.22.0 2020-04-27 [2] Bioconductor
## derfinderHelper 1.22.0 2020-04-27 [2] Bioconductor
## desc 1.2.0 2018-05-01 [2] CRAN (R 4.0.0)
## devtools * 2.3.2 2020-09-18 [2] CRAN (R 4.0.2)
## digest 0.6.27 2020-10-24 [1] CRAN (R 4.0.2)
## doRNG 1.8.2 2020-01-27 [2] CRAN (R 4.0.0)
## downloader 0.4 2015-07-09 [2] CRAN (R 4.0.0)
## dplyr * 1.0.2 2020-08-18 [2] CRAN (R 4.0.2)
## ellipsis 0.3.1 2020-05-15 [2] CRAN (R 4.0.0)
## evaluate 0.14 2019-05-28 [2] CRAN (R 4.0.0)
## fansi 0.4.1 2020-01-08 [2] CRAN (R 4.0.0)
## forcats * 0.5.0 2020-03-01 [2] CRAN (R 4.0.0)
## foreach 1.5.1 2020-10-15 [2] CRAN (R 4.0.2)
## foreign 0.8-80 2020-05-24 [3] CRAN (R 4.0.2)
## Formula 1.2-4 2020-10-16 [2] CRAN (R 4.0.2)
## fs 1.5.0 2020-07-31 [1] CRAN (R 4.0.2)
## generics 0.1.0 2020-10-31 [1] CRAN (R 4.0.2)
## GenomeInfoDb * 1.24.2 2020-06-15 [2] Bioconductor
## GenomeInfoDbData 1.2.3 2020-05-18 [2] Bioconductor
## GenomicAlignments 1.24.0 2020-04-27 [2] Bioconductor
## GenomicFeatures 1.40.1 2020-07-08 [2] Bioconductor
## GenomicFiles 1.24.0 2020-04-27 [2] Bioconductor
## GenomicRanges * 1.40.0 2020-04-27 [2] Bioconductor
## GEOquery 2.56.0 2020-04-27 [2] Bioconductor
## ggplot2 * 3.3.2 2020-06-19 [2] CRAN (R 4.0.2)
## glue 1.4.2 2020-08-27 [1] CRAN (R 4.0.2)
## gridExtra 2.3 2017-09-09 [2] CRAN (R 4.0.0)
## gtable 0.3.0 2019-03-25 [2] CRAN (R 4.0.0)
## haven 2.3.1 2020-06-01 [2] CRAN (R 4.0.2)
## Hmisc 4.4-1 2020-08-10 [2] CRAN (R 4.0.2)
## hms 0.5.3 2020-01-08 [2] CRAN (R 4.0.0)
## htmlTable 2.1.0 2020-09-16 [2] CRAN (R 4.0.2)
## htmltools 0.5.0 2020-06-16 [2] CRAN (R 4.0.2)
## htmlwidgets 1.5.2 2020-10-03 [2] CRAN (R 4.0.2)
## httr 1.4.2 2020-07-20 [2] CRAN (R 4.0.2)
## IRanges * 2.22.2 2020-05-21 [2] Bioconductor
## iterators 1.0.13 2020-10-15 [2] CRAN (R 4.0.2)
## jpeg 0.1-8.1 2019-10-24 [2] CRAN (R 4.0.0)
## jsonlite 1.7.1 2020-09-07 [2] CRAN (R 4.0.2)
## knitcitations * 1.0.10 2019-09-15 [1] CRAN (R 4.0.2)
## knitr 1.30 2020-09-22 [1] CRAN (R 4.0.2)
## lattice 0.20-41 2020-04-02 [3] CRAN (R 4.0.2)
## latticeExtra 0.6-29 2019-12-19 [2] CRAN (R 4.0.0)
## lifecycle 0.2.0 2020-03-06 [2] CRAN (R 4.0.0)
## limma 3.44.3 2020-06-12 [2] Bioconductor
## locfit 1.5-9.4 2020-03-25 [2] CRAN (R 4.0.0)
## lubridate 1.7.9 2020-06-08 [1] CRAN (R 4.0.0)
## magick 2.5.2 2020-11-10 [1] CRAN (R 4.0.2)
## magrittr 1.5 2014-11-22 [2] CRAN (R 4.0.0)
## Matrix 1.2-18 2019-11-27 [3] CRAN (R 4.0.2)
## matrixStats * 0.57.0 2020-09-25 [2] CRAN (R 4.0.2)
## memoise 1.1.0 2017-04-21 [2] CRAN (R 4.0.0)
## modelr 0.1.8 2020-05-19 [1] CRAN (R 4.0.0)
## munsell 0.5.0 2018-06-12 [2] CRAN (R 4.0.0)
## nnet 7.3-14 2020-04-26 [3] CRAN (R 4.0.2)
## openssl 1.4.3 2020-09-18 [2] CRAN (R 4.0.2)
## pillar 1.4.6 2020-07-10 [2] CRAN (R 4.0.2)
## pkgbuild 1.1.0 2020-07-13 [2] CRAN (R 4.0.2)
## pkgconfig 2.0.3 2019-09-22 [2] CRAN (R 4.0.0)
## pkgload 1.1.0 2020-05-29 [2] CRAN (R 4.0.2)
## plyr 1.8.6 2020-03-03 [2] CRAN (R 4.0.0)
## png 0.1-7 2013-12-03 [2] CRAN (R 4.0.0)
## prettyunits 1.1.1 2020-01-24 [2] CRAN (R 4.0.0)
## processx 3.4.4 2020-09-03 [2] CRAN (R 4.0.2)
## progress 1.2.2 2019-05-16 [2] CRAN (R 4.0.0)
## ps 1.4.0 2020-10-07 [2] CRAN (R 4.0.2)
## purrr * 0.3.4 2020-04-17 [2] CRAN (R 4.0.0)
## qvalue 2.20.0 2020-04-27 [2] Bioconductor
## R6 2.5.0 2020-10-28 [1] CRAN (R 4.0.2)
## rappdirs 0.3.1 2016-03-28 [2] CRAN (R 4.0.0)
## RColorBrewer 1.1-2 2014-12-07 [2] CRAN (R 4.0.0)
## Rcpp 1.0.5 2020-07-06 [2] CRAN (R 4.0.2)
## RCurl 1.98-1.2 2020-04-18 [2] CRAN (R 4.0.0)
## readr * 1.4.0 2020-10-05 [2] CRAN (R 4.0.2)
## readxl 1.3.1 2019-03-13 [2] CRAN (R 4.0.0)
## recount * 1.14.0 2020-04-27 [2] Bioconductor
## RefManageR 1.2.12 2019-04-03 [1] CRAN (R 4.0.2)
## remotes 2.2.0 2020-07-21 [2] CRAN (R 4.0.2)
## rentrez 1.2.2 2019-05-02 [2] CRAN (R 4.0.0)
## reprex 0.3.0 2019-05-16 [1] CRAN (R 4.0.0)
## reshape2 1.4.4 2020-04-09 [2] CRAN (R 4.0.0)
## rlang 0.4.8 2020-10-08 [1] CRAN (R 4.0.2)
## rmarkdown * 2.5 2020-10-21 [1] CRAN (R 4.0.2)
## rngtools 1.5 2020-01-23 [2] CRAN (R 4.0.0)
## rpart 4.1-15 2019-04-12 [3] CRAN (R 4.0.2)
## rprojroot 1.3-2 2018-01-03 [2] CRAN (R 4.0.0)
## Rsamtools 2.4.0 2020-04-27 [2] Bioconductor
## RSQLite 2.2.1 2020-09-30 [2] CRAN (R 4.0.2)
## rstudioapi 0.11 2020-02-07 [2] CRAN (R 4.0.0)
## rtracklayer 1.48.0 2020-04-27 [2] Bioconductor
## rvest 0.3.6 2020-07-25 [2] CRAN (R 4.0.2)
## S4Vectors * 0.26.1 2020-05-16 [2] Bioconductor
## scales 1.1.1 2020-05-11 [2] CRAN (R 4.0.0)
## sessioninfo * 1.1.1 2018-11-05 [2] CRAN (R 4.0.0)
## stringi 1.5.3 2020-09-09 [2] CRAN (R 4.0.2)
## stringr * 1.4.0 2019-02-10 [2] CRAN (R 4.0.0)
## SummarizedExperiment * 1.18.2 2020-07-09 [2] Bioconductor
## survival 3.2-3 2020-06-13 [3] CRAN (R 4.0.2)
## testthat 3.0.0 2020-10-31 [1] CRAN (R 4.0.2)
## tibble * 3.0.4 2020-10-12 [2] CRAN (R 4.0.2)
## tidyr * 1.1.2 2020-08-27 [2] CRAN (R 4.0.2)
## tidyselect 1.1.0 2020-05-11 [2] CRAN (R 4.0.0)
## tidyverse * 1.3.0 2019-11-21 [1] CRAN (R 4.0.0)
## usethis * 1.6.3 2020-09-17 [2] CRAN (R 4.0.2)
## VariantAnnotation 1.34.0 2020-04-27 [2] Bioconductor
## vctrs 0.3.4 2020-08-29 [1] CRAN (R 4.0.2)
## withr 2.3.0 2020-09-22 [2] CRAN (R 4.0.2)
## xfun 0.19 2020-10-30 [1] CRAN (R 4.0.2)
## XML 3.99-0.5 2020-07-23 [2] CRAN (R 4.0.2)
## xml2 1.3.2 2020-04-23 [2] CRAN (R 4.0.0)
## XVector 0.28.0 2020-04-27 [2] Bioconductor
## yaml 2.2.1 2020-02-01 [2] CRAN (R 4.0.0)
## zlibbioc 1.34.0 2020-04-27 [2] Bioconductor
##
## [1] /users/neagles/R/4.0
## [2] /jhpce/shared/jhpce/core/conda/miniconda3-4.6.14/envs/svnR-4.0/R/4.0/lib64/R/site-library
## [3] /jhpce/shared/jhpce/core/conda/miniconda3-4.6.14/envs/svnR-4.0/R/4.0/lib64/R/library
This document was generated using BiocStyle (Oleś, Morgan, and Huber, 2020) with knitr (Xie, 2014) and rmarkdown (Allaire, Xie, McPherson, Luraschi, et al., 2020) running behind the scenes.
Citations made with knitcitations (Boettiger, 2019) and the bibliographical file is available here.
[1] J. Allaire, Y. Xie, J. McPherson, J. Luraschi, et al. rmarkdown: Dynamic Documents for R. R package version 2.5. 2020. <URL: https://github.com/rstudio/rmarkdown>.
[2] C. Boettiger. knitcitations: Citations for ‘Knitr’ Markdown Files. R package version 1.0.10. 2019. <URL: https://CRAN.R-project.org/package=knitcitations>.
[3] G. Csárdi, R. core, H. Wickham, W. Chang, et al. sessioninfo: R Session Information. R package version 1.1.1. 2018. <URL: https://CRAN.R-project.org/package=sessioninfo>.
[4] A. Oleś, M. Morgan, and W. Huber. BiocStyle: Standard styles for vignettes and other Bioconductor documents. R package version 2.16.1. 2020. <URL: https://github.com/Bioconductor/BiocStyle>.
[5] R Core Team. R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing. Vienna, Austria, 2020. <URL: https://www.R-project.org/>.
[6] P. L. Whetzel, N. F. Noy, N. H. Shah, P. R. Alexander, et al. “BioPortal: enhanced functionality via new Web services from the National Center for Biomedical Ontology to access and use ontologies in software applications”. In: Nucleic Acids Research 39.suppl (Jun. 2011), pp. W541-W545. DOI: 10.1093/nar/gkr469. <URL: https://doi.org/10.1093/nar/gkr469>.
[7] H. Wickham, M. Averick, J. Bryan, W. Chang, et al. “Welcome to the tidyverse”. In: Journal of Open Source Software 4.43 (2019), p. 1686. DOI: 10.21105/joss.01686.
[8] Y. Xie. “knitr: A Comprehensive Tool for Reproducible Research in R”. In: Implementing Reproducible Computational Research. Ed. by V. Stodden, F. Leisch and R. D. Peng. ISBN 978-1466561595. Chapman and Hall/CRC, 2014. <URL: http://www.crcpress.com/product/isbn/9781466561595>.