将GenBank核苷酸加入转换为基因符号

时间:2016-01-05 13:25:31

标签: r bioinformatics

我有这样的GenBank核苷酸序列表:

>list
NM_144958
NM_144959
NM_144960
NM_144961
NM_144962
NM_144963
XM_006539402

我希望使用Biomart将它们转换为自己的Gene Symbols,我试过这个

ensembl = useMart(biomart = "ENSEMBL_MART_ENSEMBL",
              dataset="mmusculus_gene_ensembl", 
              host = "www.ensembl.org")

convert.fun<-function(x){
  getBM(attributes="external_gene_name", values = x, mart=ensembl )

}

convert<-apply(list,1,FUN=convert.fun)

它返回一个列表,其中包含每个元素中相同的名称和数字。

1 个答案:

答案 0 :(得分:2)

"external_gene_name"属性需要按您拥有的值进行过滤。您的值是RefSeq RNA标识符,因此您希望使用过滤器"refseq_mrna"getBM()是矢量化的,因此一次处理所有基因标识符,因此创建一个字符向量(我不确定list是什么,我认为你编辑了上面的输出),例如,

values = c("NM_144958", "NM_144959", "NM_144960")

并使用它们

getBM(c("refseq_mrna", "external_gene_name"), "refseq_mrna", values,
      mart=ensembl)

(第一个参数返回查询以及标识符,当有1:0或1:多个映射时,这有助于第二个标识符)。

>     getBM(c("refseq_mrna", "external_gene_name"), "refseq_mrna", values,
+           mart=ensembl)
  refseq_mrna external_gene_name
1   NM_144958             Eif4a1
2   NM_144960              Fcamr

对于此类问题,biostarsBioconductor support forum可能是更合适的论坛。