无法将狗合奏 ID 转换为基因名称

Can't convert dog ensembl IDs into gene names

我通常使用 biomaRt 将基因 ID 转换为符号。然而,这次我拥有的(一只狗的)合奏 ID 与 biomart 数据集“clfamiliaris_gene_ensembl”的合奏 ID 不匹配。

我也尝试过使用 ensembl 门户网站,狗数据集在那里被称为 ROS_Cfam_1.0。看起来我的基因与他们数据集中的基因不匹配。我的基因是这样的:

“ENSCAFG00000045440”“ENSCAFG00000000001”“ENSCAFG00000000002”“ENSCAFG00000041462”“ENSCAFG00000000005”

这是我的生物识别代码:

ensembl <- useMart("ensembl")
ensembl <- useDataset("clfamiliaris_gene_ensembl",mart=ensembl)
gene_id <- getBM(attributes = c('ensembl_gene_id', 'external_gene_name'),
                 values = rownames(mydata),
                 filters = c('ensembl_gene_id'), mart = ensembl)
gene_id
[1] ensembl_gene_id    external_gene_name
<0 rows> (or 0-length row.names)

它没有找到我的值。我应该为狗使用不同的数据集吗?

这些 ID 来自拳师犬基因组装配:https://www.ensembl.org/Canis_lupus_familiaris/Info/Strains?db=core

但是,BioMart 不适用于犬种(以及其他物种和品系):https://www.ensembl.info/2021/01/20/important-changes-of-data-availability-in-ensembl-gene-trees-and-biomart/

但是,您可以使用 POST lookup/id REST API 端点检索任何物种的基因 ID 列表的基因符号:http://rest.ensembl.org/documentation/info/lookup_post

我的代码也有同样的问题。 正如之前的更新中提到的,biomart ensembl ids 更改为狗。

我的临时修复如下: 我检查了您可以使用

访问的各种版本
library('biomaRt')

listEnsemblArchives()

选择 2021 年 5 月仍包含所需 ID 的最新版本

(例如,“ENSCAFG00000000001”而不是 ENPP1 基因的“ENSCAFG00845000008”)

ensembl2use <- useMart('ensembl', dataset = 'clfamiliaris_gene_ensembl', host = 'https://may2021.archive.ensembl.org')

SPECIE_ANNOTATION <- getBM(attributes = c('ensembl_gene_id'), mart = ensembl2use)