我们写教程经常会使用 satijalab/seurat-data ,它内置了很多数据集,如果你还没有这个的seurat-data包 ,就自己去下载:
install.packages('devtools' ) devtools::install_github('satijalab/seurat-data' )library (SeuratData) #加载seurat数据集 getOption('timeout' ) options(timeout=10000 ) InstallData("pbmc3k" ) data("pbmc3k" ) sce <- pbmc3k.final
但是因为它这个包仍然是在GitHub,所以很多人下载失败, 另外它数据也是在外网,很多人网络有问题无法下载。所以后来我们推荐了一个TENxPBMCData 包,也蛮有意思的,安装和加载很方便:
# BiocManager::install('TENxPBMCData') # (286 KB) library (TENxPBMCData) args(TENxPBMCData)
它里面有很多数据集,每个数据集都有自己的代号:
function (dataset = c("pbmc4k" , "pbmc68k" , "frozen_pbmc_donor_a" , "frozen_pbmc_donor_b" , "frozen_pbmc_donor_c" , "pbmc33k" , "pbmc3k" , "pbmc6k" , "pbmc8k" , "pbmc5k-CITEseq" ), as.sparse = TRUE)
我们任意选择一个数据集举例说明。
tenx_pbmc4k <- TENxPBMCData(dataset = "pbmc4k" ) tenx_pbmc4k counts(tenx_pbmc4k)
可以看到,它是SingleCellExperiment对象格式,并不是我们常见的seurat对象哦。而且基因名字还不是常见的symbol,也是需要转换。所以使用起来对新手来说并不方便。
还不如去着手解决无法下载SeuratData的单细胞示例数据的难题,其实如果你网络好,很容易批量下载里面的全部数据集,代码如下所示:
library (SeuratData) df = AvailableData() dts = rownames( df ) lapply(gsub('.SeuratData' ,'' ,dts), InstallData)
目前总共是21个数据集,从标题很容易看到不同数据集来源和意义:
21个数据集 前面的 批量下载和安装每个数据集 ,本质上就是调用 InstallData 函数而已,它就是下载一个压缩包,然后安装即可;
# http://seurat./src/contrib/bmcite.SeuratData_0.3.0.tar.gz install.packages(pkgs = pkgs, repos = getOption(x = "SeuratData.repo.use" ), type = "source" , ...)
那么我们完全可以拼接处理全部的压缩包的下载路径,然后去网络比较好的地方批量下载即可:
fs = paste0('http://seurat./src/contrib/' ,dts,'_' ,AvailableData()[,2 ],'.tar.gz' ) fs write.table(fs,'fs.txt' ,sep = '' ,row.names = F ,col.names = F ,quote = F ) lapply(fs, function (x){ download.file(x , destfile = basename(x)) })
全部的包下载链接是:
http://seurat./src/contrib/bmcite.SeuratData_0.3.0.tar.gz http://seurat./src/contrib/bonemarrowref.SeuratData_1.0.0.tar.gz http://seurat./src/contrib/cbmc.SeuratData_3.1.4.tar.gz http://seurat./src/contrib/celegans.embryo.SeuratData_0.1.0.tar.gz http://seurat./src/contrib/fetusref.SeuratData_1.0.0.tar.gz http://seurat./src/contrib/hcabm40k.SeuratData_3.0.0.tar.gz http://seurat./src/contrib/humancortexref.SeuratData_1.0.0.tar.gz http://seurat./src/contrib/ifnb.SeuratData_3.1.0.tar.gz http://seurat./src/contrib/kidneyref.SeuratData_1.0.1.tar.gz http://seurat./src/contrib/lungref.SeuratData_2.0.0.tar.gz http://seurat./src/contrib/mousecortexref.SeuratData_1.0.0.tar.gz http://seurat./src/contrib/panc8.SeuratData_3.0.2.tar.gz http://seurat./src/contrib/pancreasref.SeuratData_1.0.0.tar.gz http://seurat./src/contrib/pbmc3k.SeuratData_3.1.4.tar.gz http://seurat./src/contrib/pbmcMultiome.SeuratData_0.1.3.tar.gz http://seurat./src/contrib/pbmcref.SeuratData_1.0.0.tar.gz http://seurat./src/contrib/pbmcsca.SeuratData_3.0.0.tar.gz http://seurat./src/contrib/ssHippo.SeuratData_3.1.4.tar.gz http://seurat./src/contrib/stxBrain.SeuratData_0.1.1.tar.gz http://seurat./src/contrib/stxKidney.SeuratData_0.1.0.tar.gz http://seurat./src/contrib/thp1.eccite.SeuratData_3.1.5.tar.gz
最后下载成功会得到接近 4G的文件 :
ls -lh |cut -d" " -f7- 100M Aug 24 12:09 bmcite.SeuratData_0.3.0.tar.gz 411M Aug 24 12:15 bonemarrowref.SeuratData_1.0.0.tar.gz 72M Aug 24 12:16 cbmc.SeuratData_3.1.4.tar.gz 9.5M Aug 24 12:17 celegans.embryo.SeuratData_0.1.0.tar.gz 725M Aug 24 12:29 fetusref.SeuratData_1.0.0.tar.gz 80M Aug 24 12:30 hcabm40k.SeuratData_3.0.0.tar.gz 37M Aug 24 12:33 humancortexref.SeuratData_1.0.0.tar.gz 394M Aug 24 12:36 ifnb.SeuratData_3.1.0.tar.gz 126M Aug 24 12:39 kidneyref.SeuratData_1.0.1.tar.gz 833M Aug 24 12:48 lungref.SeuratData_2.0.0.tar.gz 54M Aug 24 12:49 mousecortexref.SeuratData_1.0.0.tar.gz 117M Aug 24 12:50 panc8.SeuratData_3.0.2.tar.gz 47M Aug 24 12:53 pancreasref.SeuratData_1.0.0.tar.gz 267M Aug 24 12:56 pbmcMultiome.SeuratData_0.1.3.tar.gz 73M Aug 24 13:37 pbmcref.SeuratData_1.0.0.tar.gz 56M Aug 24 13:38 pbmcsca.SeuratData_3.0.0.tar.gz 43M Aug 24 13:40 ssHippo.SeuratData_3.1.4.tar.gz 105M Aug 24 13:43 stxBrain.SeuratData_0.1.1.tar.gz 15M Aug 24 13:48 stxKidney.SeuratData_0.1.0.tar.gz 122M Aug 24 13:50 thp1.eccite.SeuratData_3.1.5.tar.gz
因为文件比较大,我们三天后发布在这个推文的留言下面给大家百度云网盘链接哈,当然了,你也可以自己根据上面的网页链接地址去进行下载,务必保证下载是完整的哦。
有了这些压缩包文件,使用 前面的 install.packages 函数指定各个包文件路径,然后加上 type = "source", 就可以本地安装了,无需重新在线下载啦 :
install.packages(pkgs = pkgs, repos = getOption(x = "SeuratData.repo.use" ), type = "source" , ...)