<p>For most of the time, I rely on gene ids to combine different datasets. However, in some instances, I have to combine datasets based on gene names. Then, if I don't know the source of gene names in the dataset, I get to this issue of choosing a source of gene names, be it Ensembl, HGNC etc for human genes. I wonder if this is a common issue and if there is an reliable method out there to deal with this issue.</p>
<p>To demonstrate the mismatch between different sources, I compared gene names for all human genes. I obtained them from 4 different sources as listed below, using BioMart (<code>pybiomart</code>) :</p>
<pre><code>+-----------------+-----------------------+--------------------------------------------+
|     source      |     attribute_name    |                display_name                |
+-----------------+-----------------------+--------------------------------------------+
| HGNC            |  hgnc_symbol          |  HGNC symbol                               |
| NCBI            |  entrezgene_accession |  NCBI gene (formerly Entrezgene) accession |
| Uniprot         |  uniprot_gn_symbol    |  UniProtKB Gene Name symbol                |
| Ensembl (maybe) |  external_gene_name   |  Gene name                                 |
+-----------------+-----------------------+--------------------------------------------+
</code></pre>
<p>Upon this comparison, I found several things that are clearly apparent.</p>
<h3>1. Genes names of protein coding genes are best matched across different sources.</h3>
<p>I saw that protein coding genes have the best matching (left, measured in terms of Jaccard index) across different sources, with majority of genes having a single unique names (shown on right).<br />
<a href="https://i.sstatic.net/WIXxB.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/WIXxB.png" alt="enter image description here" /></a><br />
However, there isn't a good enough matching in the case of not protein coding genes. Here, HGNC and Ensembl have the best match. (I don't expect Uniprot gene names to match because they are of course only for protein coding genes.) Remarkably most of the genes have 2 unique ids (shown on right).<br />
<a href="https://i.sstatic.net/wgPHn.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/wgPHn.png" alt="enter image description here" /></a></p>
<h3>2. Gene names from some databases match with each other.</h3>
<p>Comparison of all genes shows that some pairs of the sources do not have a good match e.g. Ensembl and Uniprot, with many genes having 2 unique gene names(!).<br />
<a href="https://i.sstatic.net/z6xNp.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/z6xNp.png" alt="enter image description here" /></a></p>
<p>I saw similar pattern for genes on chromosomes (autosomes,X,Y) and on the scaffolds.
<a href="https://i.sstatic.net/4V7J5.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/4V7J5.png" alt="enter image description here" /></a><br />
<a href="https://i.sstatic.net/StHB8.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/StHB8.png" alt="enter image description here" /></a></p>
<h3>3. Mitochondrial gene names do not match at all(!).</h3>
<p>Mitochondrial genes clearly have different names in different databases. None of the genes have a single unique gene names (!).<br />
<a href="https://i.sstatic.net/VNGa2.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/VNGa2.png" alt="enter image description here" /></a></p>
<p>How to deal with such a mismatch between different sources?<br />
Should I prefer one particular source or is there a way to make use of the synonymous gene names from different sources?</p>

CC BY-SA 4.0
2020-12-07T04:14:29.910Z
This is one hell of a challenge and unfortunately, there's no "right" way. All of these databases are evolving at different rates and the 80+% overlap you see is the best one can hope for. Most LINC/LOC/MT/*-DT/*-AS1 gene symbols will differ between sources and even if you were to use the most reliable identifier (which IMO is the ENSG identifier from EnsEMBL), you'll still need to manually sort through stuff and use coordinates and google searches to "unify" these gene names/symbols/identifiers.
Ram RS
CC BY-SA 4.0
2020-12-07T15:46:13.033Z
It seems that Consensus CDS (CCDS) project (https://www.ncbi.nlm.nih.gov/projects/CCDS/CcdsBrowse.cgi) aims to unify gene names/ids of protein coding genes between Ensembl, NCBI and HGNC.
user345394
CC BY-SA 4.0
2020-12-07T17:42:43.570Z
Good catch. But then, CCDS focuses on protein coding regions only, which are already stable (maybe CCDS has a role to play in that already). The other genes cannot be easily cross-mapped.
Ram RS
CC BY-SA 4.0
2020-12-10T00:00:39.717Z
Here is a post that might interest you: https://www.biostars.org/p/478165/
Ram RS
<database><phylogenetics><ensembl><biomart><uniprot>
How to deal with the mismatches between gene names obtained from different sources?
# How to deal with the mismatches between gene names obtained from different sources?

(Asked by: username_0 on 2020-12-07)

For most of the time, I rely on gene ids to combine different datasets. However, in some instances, I have to combine datasets based on gene names. Then, if I don't know the source of gene names in the dataset, I get to this issue of choosing a source of gene names, be it Ensembl, HGNC etc for human genes. I wonder if this is a common issue and if there is an reliable method out there to deal with this issue.
To demonstrate the mismatch between different sources, I compared gene names for all human genes. I obtained them from 4 different sources as listed below, using BioMart (pybiomart) :
+-----------------+-----------------------+--------------------------------------------+
|     source      |     attribute_name    |                display_name                |
+-----------------+-----------------------+--------------------------------------------+
| HGNC            |  hgnc_symbol          |  HGNC symbol                               |
| NCBI            |  entrezgene_accession |  NCBI gene (formerly Entrezgene) accession |
| Uniprot         |  uniprot_gn_symbol    |  UniProtKB Gene Name symbol                |
| Ensembl (maybe) |  external_gene_name   |  Gene name                                 |
+-----------------+-----------------------+--------------------------------------------+

Upon this comparison, I found several things that are clearly apparent.
1. Genes names of protein coding genes are best matched across different sources.
I saw that protein coding genes have the best matching (left, measured in terms of Jaccard index) across different sources, with majority of genes having a single unique names (shown on right).

However, there isn't a good enough matching in the case of not protein coding genes. Here, HGNC and Ensembl have the best match. (I don't expect Uniprot gene names to match because they are of course only for protein coding genes.) Remarkably most of the genes have 2 unique ids (shown on right).

2. Gene names from some databases match with each other.
Comparison of all genes shows that some pairs of the sources do not have a good match e.g. Ensembl and Uniprot, with many genes having 2 unique gene names(!).

I saw similar pattern for genes on chromosomes (autosomes,X,Y) and on the scaffolds.


3. Mitochondrial gene names do not match at all(!).
Mitochondrial genes clearly have different names in different databases. None of the genes have a single unique gene names (!).

How to deal with such a mismatch between different sources?
Should I prefer one particular source or is there a way to make use of the synonymous gene names from different sources?

**Tags:** database, phylogenetics, ensembl, biomart, uniprot
> **Comments:**
> **username_1**: This is one hell of a challenge and unfortunately, there's no "right" way. All of these databases are evolving at different rates and the 80+% overlap you see is the best one can hope for. Most LINC/LOC/MT/*-DT/*-AS1 gene symbols will differ between sources and even if you were to use the most reliable identifier (which IMO is the ENSG identifier from EnsEMBL), you'll still need to manually sort through stuff and use coordinates and google searches to "unify" these gene names/symbols/identifiers.  
> **username_0**: It seems that Consensus CDS (CCDS) project (https://www.ncbi.nlm.nih.gov/projects/CCDS/CcdsBrowse.cgi) aims to unify gene names/ids of protein coding genes between Ensembl, NCBI and HGNC.  
> **username_1**: Good catch. But then, CCDS focuses on protein coding regions only, which are already stable (maybe CCDS has a role to play in that already). The other genes cannot be easily cross-mapped.  
> **username_1**: Here is a post that might interest you: https://www.biostars.org/p/478165/  

---

## 0 answers

