r语言 - 查询生物市场时出现内部服务器错误?



使用 biomaRt 包执行 R 命令时,我经常收到错误"内部服务器错误 (HTTP 500("。

ensembl<-useMart("ensembl")
ensembl <- useMart("ensembl", dataset="hsapiens_gene_ensembl")

但是,这些命令偶尔会起作用。我不确定这是否是Biomart服务器端的问题,或者是否有可能导致我的问题,例如旧软件包(我尝试重新安装Biomart(。有没有人处理过类似的问题?

我通过将镜像参数设置为"useast"来规避这一点。有效的镜像选项包括"www"、"uswest"、"useast"、"asia"。如果未指定镜像,则将使用 www.ensembl.org 的主站点(它们似乎在主站点上过载(。

ensembl = useEnsembl(biomart = "ensembl", dataset = "hsapiens_gene_ensembl", mirror = "useast")

我尝试设置镜像,但仍然收到相同的错误。我推荐以下功能:

library(dplyr)
mouse_human_genes = read.csv("http://www.informatics.jax.org/downloads/reports/HOM_MouseHumanSequence.rpt",sep="t")
convert_mouse_to_human <- function(gene_list){

output = c()

for(gene in gene_list){
class_key = (mouse_human_genes %>% filter(Symbol == gene & Common.Organism.Name=="mouse, laboratory"))[['DB.Class.Key']]
if(!identical(class_key, integer(0)) ){
human_genes = (mouse_human_genes %>% filter(DB.Class.Key == class_key & Common.Organism.Name=="human"))[,"Symbol"]
for(human_gene in human_genes){
output = append(output,human_gene)
}
}
}

return (output)
}

最新更新