[英]Internal Server Errors when querying biomart?
使用 biomaRt 包執行 R 命令時,我經常收到錯誤“內部服務器錯誤 (HTTP 500)”。 使用基本命令,例如
ensembl<-useMart("ensembl")
ensembl <- useMart("ensembl", dataset="hsapiens_gene_ensembl")
但是,這些命令有時會起作用。 我不確定這是否是 Biomart 服務器端的問題,或者是否有什么可能導致我端出現問題,例如舊包(我嘗試重新安裝 Biomart)。 有沒有人處理過類似的問題?
我通過將鏡像參數設置為“useeast”來規避這個問題。 有效的鏡像選項是“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)
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.