Single-cell RNA-seq datasets for Bioconductor
| Environment | Status |
|---|---|
| BioC-release | |
| BioC-devel |
This package provides single-cell (mostly RNA-seq) datasets for convenient use by other Bioconductor packages and workflows.
Each dataset is loaded as a SingleCellExperiment that is immediately ready for further analysis.
To get started, install the package and its dependencies from Bioconductor:
# install.packages("BiocManager") BiocManager::install("scRNAseq")
Find datasets of interest:
surveyDatasets()
searchDatasets("brain")Fetch a dataset as a SingleCellExperiment:
fetchDataset("zeisel-brain-2015", version="2023-12-14") fetchDataset("baron-pancreas-2016", "2023-12-14", path="human")
And add your own datasets to enable re-use by the wider Bioconductor community.
Check out the user's guide for more details.
Maintainer notes
If someone wants to contribute a new dataset, they should follow the instructions in the user's guide. This requires a bit of effort on our (i.e., the package maintainers') part to process a new submission.
Once a prospective uploader has prepared their SingleCellExperiment and its associated metadata,
they can be given temporary upload permissions for, e.g., a week, by calling:
gypsum::setPermissions("scRNAseq", uploaders=list( list( id="GITHUB_LOGIN", asset="NAME_OF_THE_DATASET_THEY_WANT_TO_UPLOAD", version="VERSION_THEY_WANT_TO_UPLOAD", until=Sys.time() + 7 * 24 * 3600 ) )
Once the upload is complete, we pull down the dataset for review.
cache <- tempfile() dest <- gypsum::saveVersion( "scRNAseq", asset="NAME_OF_THE_DATASET_THEY_WANT_TO_UPLOAD", version="VERSION_THEY_WANT_TO_UPLOAD", cache=cache ) # Check that the saved object is valid. You might need to do this for each # subdirectory if they saved multiple objects in a single dataset. alabaster.base::validateObject(dest) # You can also just try loading it for inspection in the R session. alabaster.base::readObject(dest) # Check that the metadata is valid. lines <- readLines(file.path(dest, "_bioconductor.json")) gypsum::validateMetadata(paste(lines, collapse="\n"))
If everything looks okay, we can approve the probational dataset. Otherwise we reject it.
# Okay. gypsum::approveProbation( "scRNAseq", asset="NAME_OF_THE_DATASET_THEY_WANT_TO_UPLOAD", version="VERSION_THEY_WANT_TO_UPLOAD" ) # Not okay. gypsum::rejectProbation( "scRNAseq", asset="NAME_OF_THE_DATASET_THEY_WANT_TO_UPLOAD", version="VERSION_THEY_WANT_TO_UPLOAD" )