Ensemblはバイオインフォマティクスで利用される代表的なデータベース。
https://bi.biopapyrus.jp/db/ensembl.html
自分の開発したscTensorパッケージも、遺伝子ごとの各種機能アノテーションを取得する際に、内部でbiomaRtパッケージを利用して、Ensemblにアクセスしている。
https://bioconductor.org/packages/release/bioc/html/scTensor.html
Ensemblは世界中で4箇所にサーバーが設置されているが、
https://ensembl.org/info/about/mirrors.html
先日、本部のサーバー(UK)が調子が悪かったらしく、それに伴いscTensorも正常に実行されなかった。
https://support.bioconductor.org/p/121331/
scTensorでは、biomaRtパッケージのuseEnsembl関数を使ってるが、この時に、mirrorでどのサーバーを利用するかを指定できるらしい。
何も指定しないと、本部のサーバーに繋がるらしい。
とりあえず、今現在どのサーバーが遅いのかは、以下で確認できると思う。
library("biomaRt")
# UK (Sanger Institute)
system.time(mart <- useEnsembl(biomart = "ensembl",
dataset = "hsapiens_gene_ensembl",
mirror = "www"))
# US East (Amazon AWS)
system.time(mart <- useEnsembl(biomart = "ensembl",
dataset = "hsapiens_gene_ensembl",
mirror = "useast"))
# US West (Amazon AWS)
system.time(mart <- useEnsembl(biomart = "ensembl",
dataset = "hsapiens_gene_ensembl",
mirror = "uswest"))
# Asia (Amazon AWS)
system.time(mart <- useEnsembl(biomart = "ensembl",
dataset = "hsapiens_gene_ensembl",
mirror = "asia"))