I need to convert a lot of Ensembl Ids to the relative counterpart in Entrez (e.g., ENSG00000157764 > 673).

I found mygene.info and it seems what I needed. Let's see the query about ENSG00000157764 in action. We can easily find the key-value "entrezgene": 673

Unfortunately, the mapping seems not complete in some cases or, maybe, I'm missing something...


  • Gene: NDUFV2P1 (NADH:ubiquinone oxidoreductase core subunit V2 pseudogene 1)
  • Expected Mapping ENSG00000267809 > 4730

If I query mygene for ENSG00000267809, I get this result, but this time no data about the entrez id.

What it sounds pretty odd is that if I query another mygene's endpoint for NDUFV2P1, 2 identical records are returned, respectively with Ensembl and Entrez Ids.

Is there a way to leverage such a service to get clean data? Otherwise, is there another robust conversion mapping strategy out there?

  • 1
    $\begingroup$ "I found mygene.info and it seems what I needed" : you should try biomart ensembl.org/biomart/martview . $\endgroup$
    – Pierre
    Sep 5, 2017 at 16:41
  • $\begingroup$ Cannot mygene be queried for my use case? Biomart seems very user unfriendly from the API point of view $\endgroup$ Sep 5, 2017 at 17:50
  • 1
    $\begingroup$ mygene is a no-name site of uncertain quality. Biomart is a definitive source for reference information. A mild incovenvience in API shouldn't be a deciding factor (especially when you can just download a small text file with everything). $\endgroup$
    – Devon Ryan
    Sep 5, 2017 at 18:19
  • $\begingroup$ ok @DevonRyan thanks for your suggestion. I'll try to find out the text file with the mapping that I need. $\endgroup$ Sep 6, 2017 at 9:17

1 Answer 1


As others have mentioned in their answer, bioMart is usually the best place to go for this infomation because it draws its data directly from the Ensembl database.

However, you will find you do not get a full translation of Ensembl IDs to Entrez IDs even there. The reason for this is there simply does not exist a simple 1-to-1 mapping of Entrez IDs to Ensembl IDs: they are not just different names for the same thing, but are actually different things. At some point someone (or more likely some algo) has decided that the structure Ensembl ID A is referring to is similar enough to the structure that Enztrez ID B is referring to to link the two together, but such a linking is not always possible.

In the example you gave, the Ensembl database does not list ENSG00000267809 as being equivalent to 4730, neither does the Entrez database list the opposite, even though both genes have the same name. Because of this, it is very unlikely that any service you use to convert the IDs will pick up this match.

In this particular case, the reason for this is probably that the gene is a processed pseduo-gene and is not annotated in Refseq/NCBI as producing any transcripts.

  • $\begingroup$ Thank you once again Ian. Very clear. Therefore, If I understand well, the problem I've reported in the question is not real. I mean, mygene is doing a good job keeping those two concepts as separate items. $\endgroup$ Sep 6, 2017 at 12:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.