R语言GVIZ无法从UCSC加载mm10小鼠基因组数据问题求助
报错原因
该报错是Gviz默认请求UCSC在线接口获取mm10的细胞遗传学条带(cytoband)和染色体长度数据失败导致的,常见原因是本地网络访问UCSC服务不稳定、或者UCSC接口临时波动。
解决办法
推荐使用离线数据包构造ideogram轨道,完全不需要依赖UCSC在线服务,操作步骤如下:
方案1:完整显示cytoband条带
先安装对应物种的参考基因组和cytoband离线数据包:
if (!require("BiocManager", quietly = TRUE)) install.packages("BiocManager") # 安装依赖包,仅需运行一次 BiocManager::install(c("BSgenome.Mmusculus.UCSC.mm10", "UCSC.mm10.cytoBandIdeo", "Gviz"))
加载包后手动传入数据构造轨道:
library(Gviz) library(BSgenome.Mmusculus.UCSC.mm10) library(UCSC.mm10.cytoBandIdeo) # 筛选chr5对应的cytoband数据 chr5_band <- UCSC.mm10.cytoBandIdeo[UCSC.mm10.cytoBandIdeo$chrom == "chr5", ] # 构造ideogram轨道 itrack <- IdeogramTrack( genome = "mm10", chromosome = "chr5", bands = chr5_band )
方案2:极简ideogram(不需要显示条带)
如果不需要显示细胞遗传学条带,可以不用安装cytoband包,直接传入染色体长度即可:
library(Gviz) library(BSgenome.Mmusculus.UCSC.mm10) # 获取chr5的长度 chr5_len <- as.numeric(seqlengths(BSgenome.Mmusculus.UCSC.mm10)["chr5"]) # 构造极简轨道 itrack <- IdeogramTrack( genome = "mm10", chromosome = "chr5", bands = data.frame( chrom = "chr5", chromStart = 0, chromEnd = chr5_len, name = "chr5", gieStain = "gneg" ) )
如果仍要使用在线请求模式,可以切换稳定的网络环境,或者错开UCSC服务高峰时段重试即可。
内容的提问来源于stack exchange,提问作者RUser743
相关产品推荐
相关产品推荐

