簡體   English   中英

查詢 biomart 時出現內部服務器錯誤?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM