分享

听说你无法下载SeuratData的单细胞示例数据

 健明 2022-08-24 发布于广东

我们写教程经常会使用 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", ...)

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多