singleR的7个数据库文件下载失败的解决方案
时间:2022-07-24
本文章向大家介绍singleR的7个数据库文件下载失败的解决方案,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
singleR是目前单细胞转录组领域算是比较出众的自动化细胞类型注释系统,所以我分享的两个祖传代码里面都加上了它,成为标准流程:
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的下载数据库文件联网机制:
singleR的下载数据库文件联网机制
查看snapshotDate()函数,发现它属于AnnotationHub 包,再次查看相关函数,发现了它存放数据库文件的地址, 如下:
AnnotationHub 包文件地址
可以看到,其函数下载的数据库文件,都在这里,其实找一下8月30号的文件即可,但是我嫌弃它麻烦,就全部打包啦。上传到百度云:
链接:https://pan.baidu.com/s/1y4uJOmOjLe-vrNfw0fSi1w
提取码:tree
如果是Windows用户的话,解压后,放在指定路径的文件夹即可
C:Userswin10AppDataLocalExperimentHubExperimentHub
# 其中 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
文件如下:
《生信会客厅》的文件夹打包
往期回顾
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Dubbo日志链路追踪TraceId选型
- 最全总结 | 聊聊 Python 数据处理全家桶(Memcached篇)
- Linux内核平台总线设备驱动模型浅析
- Sentinel熔断降级说明
- 浅谈text段、data段和bss段
- RocketMQ消息发送常见错误与解决方案
- 浅谈内核的Makefile、Kconfig和.config文件
- HTTPS 基本原理
- 自动化运维平台Spug测试
- 如何提升前端基建的效能价值?
- iTerm2安装和配置
- 最新最全的mutect2教程
- Flutter基础widgets教程-CupertinoAlertDialog篇
- Spring的Controller是单例还是多例?怎么保证并发的安全
- 用TypeScript装饰器实现一个简单的依赖注入