查询 biomart 时出现内部服务器错误?
Internal Server Errors when querying biomart?
当使用 biomaRt 包执行 R 命令时,我经常遇到 "Internal Server Error (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)
}
当使用 biomaRt 包执行 R 命令时,我经常遇到 "Internal Server Error (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)
}