singleR的7个数据库文件下载失败的解决方案
singleR自带7个数据库文件,需要联网才能下载,其中5个是人类数据,2个是小鼠的数据:
BlueprintEncodeData Labels HumanPrimaryCellAtlasData Labels DatabaseImmuneCellExpressionData Labels NovershternHematopoieticData Labels MonacoImmuneData Labels ImmGenData Labels MouseRNAseqData Labels
联网下载不同数据库文件的代码是:
library(SingleR)
cg=BlueprintEncodeData()
cg=DatabaseImmuneCellExpressionData()
cg=NovershternHematopoieticData()
cg=MonacoImmuneData()
cg=ImmGenData()
cg=MouseRNAseqData()
cg=HumanPrimaryCellAtlasData()
就会有一个问题,中国大陆地区的部分网络其实是没办法联通singleR数据库中心,所以文件是下载失败的。收到很多粉丝求助,所以我就简单检查了一下singleR的下载数据库文件联网机制:
查看snapshotDate()函数,发现它属于AnnotationHub 包,再次查看相关函数,发现了它存放数据库文件的地址, 如下:
可以看到,其函数下载的数据库文件,都在这里,其实找一下8月30号的文件即可,但是我嫌弃它麻烦,就全部打包啦。上传到百度云:
链接:https://pan.baidu.com/s/1y4uJOmOjLe-vrNfw0fSi1w
提取码:tree
如果是Windows用户的话,解压后,放在指定路径的文件夹即可
C:\Users\win10\AppData\Local\ExperimentHub\ExperimentHub
# 其中 win10 需要替换成为你自己的用户名哦
然后你再次运行:
library(SingleR)
hpca.se <- HumanPrimaryCellAtlasData()
hpca.se
就会发现你已经跨越了网路障碍,可以使用singleR的各个数据库文件啦。
后来在群里大家交流的时候,发现一个更好大家解决方案,来自于我们一直强推的《生信会客厅》。他上传的就是我前面的数据库文件,所以也就无需找到文件夹去替换文件。
你使用他的百度云,可以拿到后缀名是RData的文件,使用方法如下:
refdata <- get(load("ref_Monaco_114s.RData"))
sce_for_SingleR <- GetAssayData(sce, slot="data")
clusters <- sce@meta.data$seurat_clusters
pred.hesc <- SingleR(test = sce_for_SingleR, ref = refdata,
labels = refdata$label.fine,
#因为样本主要为免疫细胞(而不是全部细胞),因此设置为label.fine
method = "cluster", clusters = clusters,
#这里我们为上一步分的9个cluster注释celltype
assay.type.test = "logcounts", assay.type.ref = "logcounts")
table(pred.hesc$labels)
云盘链接是:
链接:https://pan.baidu.com/s/13EjK-66tZKRsSl9G80S7uw
提取码:8mfb
文件如下:
赞 (0)