1

我正在尝试使用 biomaRt 将超过 90k 探针 ID 的列表转换为基因符号,但是遇到了问题。使用 getBM 函数,我可以看到其中只有 22k 有对应的基因符号,但输出是一个长度为 22k 的向量,我无法看到与初始探针 ID 列表的对应关系。使用 getBMlist,我可以获得为那些不匹配的探测器指定的 na 值的输出,但该函数会给出一条警告消息,即 getBMlist 不适用于大型列表。如何获得 90k 基因符号和 na 值的输出?

4

1 回答 1

3

要获得 probeID 和基因符号之间的映射,您需要在 biomaRt 属性中包含 probeID。

以下是我在使用安捷伦微阵列的一些工作中是如何做到的:

genes<-c("A_23_P10060", "A_23_P10091", "A_23_P103951", "A_23_P10525", "A_23_P105732", "A_23_P10605", "NM_005325")

library(biomaRt)
ensembl<-useMart("ensembl", dataset="hsapiens_gene_ensembl")

ensembl.id<-grep("ENST", genes, value=T)
agilent.df<-getBM(attributes = c("hgnc_symbol","efg_agilent_wholegenome_4x44k_v1"), filters=c("efg_agilent_wholegenome_4x44k_v1"),values=genes, mart=ensembl)

genes<-merge(x = as.data.frame(genes),y =  agilent.df, by.y="efg_agilent_wholegenome_4x44k_v1", all.x=T, by.x="genes")

有一个非常好的biomaRt 教程可以引导您完成相同的过程。如果您运行此代码,您会注意到一个探针将有一个 hgnc_symbol 的“”,这是因为它存在于 ensemble mart 中但没有指定的基因符号。

于 2015-07-01T15:22:14.233 回答