<h2>Gene name</h2>

<p>Using an Ensembl ID, Uniprot ID or NCBI ID it is much easier to look up your gene. So I would strongly reccomend using one of those as a key. Personally, I'd use Uniprot, but Ensembl is probably better if your genes are human.
One reason for this is also that different resources will use different names, especially for humans.</p>

<p>There are a few considerations, so I will first say how this could be done properly...</p>

<h2>Custom Uniprot matcher with weights</h2>

<p>Some names are used by different protein, so which one is which would depend on context, co-occurrence with another gene.</p>

<p>Your dataset might be extremely noisy. Therefore, you likely have assigned a confidence score to your matches, yes? It would be nice to give a score to the name based on whether it is the first name of the protein or the fourth synonym in the list.</p>

<p>Therefore to do a conversion properly you really ought to make your own conversion system based upon context and Uniprot data. Uniprot contains the most data on synonyms and notes and binding partners etc. The dataset/API is in XML and Biopython does not have a parser, but I have some <a href="https://blog.matteoferla.com/2019/02/uniprot-xml-and-python-elementtree.html" rel="nofollow noreferrer">notes on the matter</a> and can share some code if needed as I have done something similar (e.g. <a href="https://github.com/matteoferla/Michelanglo-data/blob/master/dictionary/taxid9606-names2uniprot.json" rel="nofollow noreferrer">JSON for human gene/protein names to Uniprot IDs</a>).</p>

<h2>Lazy match</h2>

<p>The NCBI entrez API is rather flexible and good at presenting to you matches for a strange names. So I would suggest using that.</p>

CC BY-SA 4.0
2019-10-14T10:15:57.677Z
2019-10-14T10:15:57.677Z
Matteo Ferla
<p>If you have a list of human gene names from various sources that may include old or alternative names, then I'd suggest using the HUGO database (www.genenames.org). From there you can get a table of approved names and symbols as well as alternative symbols* . With this you can search for your gene names in the table and assign the approved name. </p>

<p>I wouldn't use  Ensembl ID as some genes have multiple IDs that indicate the haplotype of the source genome, which is probably not useful for most purposes.</p>

<p>*Names are the full description of the protein, e.g. "B-Raf proto-oncogene, serine/threonine kinase" whereas the symbol is the short version you usually see, e.g "BRAF"</p>

CC BY-SA 4.0
2019-10-15T11:35:23.743Z
2019-10-15T11:35:23.743Z
JCThomas
<p>bioDBnet might have what you're looking for if the gene name is in standard format</p>

<p><a href="https://biodbnet-abcc.ncifcrf.gov/db/db2db.php" rel="nofollow noreferrer">https://biodbnet-abcc.ncifcrf.gov/db/db2db.php</a></p>

<p>For proteins Uniprot can be used to look up a protein and find it's information</p>

<p><a href="https://www.uniprot.org/" rel="nofollow noreferrer">https://www.uniprot.org/</a></p>

CC BY-SA 4.0
2019-08-21T02:08:35.263Z
2019-08-21T02:08:35.263Z
Viz
<p>I have a list of genes and proteins extracted from literature. How can I convert them into standard gene names. </p>

CC BY-SA 4.0
2019-08-21T07:13:23.530Z
It would be helpful to have some example of the gene/protein names that you extracted so solutions can more easily be checked for validity.
Devon Ryan
CC BY-SA 4.0
2019-08-21T07:43:10.737Z
Please define "standard gene names", do you mean gene symbols?
benn
CC BY-SA 4.0
2019-08-21T10:16:40.933Z
Please [edit] your question and: i) give us a few examples of the various name formats you have, ii) show us the output you would want from those names (do you want gene name? Gene symbol? From what database? GI accession? RefSeq? Ensembl? The human name from HUGO?). What do you consider a "standard" gene name? And in what species?
terdon
<database><proteins>
How to obtain the standard gene name
# How to obtain the standard gene name

(Asked by: username_0 on 2019-08-21)

I have a list of genes and proteins extracted from literature. How can I convert them into standard gene names.

**Tags:** database, proteins
> **Comments:**
> **username_1**: It would be helpful to have some example of the gene/protein names that you extracted so solutions can more easily be checked for validity.  
> **username_2**: Please define "standard gene names", do you mean gene symbols?  
> **username_3**: Please [edit] your question and: i) give us a few examples of the various name formats you have, ii) show us the output you would want from those names (do you want gene name? Gene symbol? From what database? GI accession? RefSeq? Ensembl? The human name from HUGO?). What do you consider a "standard" gene name? And in what species?  

---

## 3 answers

### Answer by username_4 on 2019-10-14. Score: 1

## Gene name

Using an Ensembl ID, Uniprot ID or NCBI ID it is much easier to look up your gene. So I would strongly reccomend using one of those as a key. Personally, I'd use Uniprot, but Ensembl is probably better if your genes are human.
One reason for this is also that different resources will use different names, especially for humans.

There are a few considerations, so I will first say how this could be done properly...

## Custom Uniprot matcher with weights

Some names are used by different protein, so which one is which would depend on context, co-occurrence with another gene.

Your dataset might be extremely noisy. Therefore, you likely have assigned a confidence score to your matches, yes? It would be nice to give a score to the name based on whether it is the first name of the protein or the fourth synonym in the list.

Therefore to do a conversion properly you really ought to make your own conversion system based upon context and Uniprot data. Uniprot contains the most data on synonyms and notes and binding partners etc. The dataset/API is in XML and Biopython does not have a parser, but I have some [notes on the matter](https://blog.matteoferla.com/2019/02/uniprot-xml-and-python-elementtree.html) and can share some code if needed as I have done something similar (e.g. [JSON for human gene/protein names to Uniprot IDs](https://github.com/matteoferla/Michelanglo-data/blob/master/dictionary/taxid9606-names2uniprot.json)).

## Lazy match

The NCBI entrez API is rather flexible and good at presenting to you matches for a strange names. So I would suggest using that.


---

### Answer by username_5 on 2019-10-15. Score: 0

If you have a list of human gene names from various sources that may include old or alternative names, then I'd suggest using the HUGO database (www.genenames.org). From there you can get a table of approved names and symbols as well as alternative symbols\* . With this you can search for your gene names in the table and assign the approved name.

I wouldn't use Ensembl ID as some genes have multiple IDs that indicate the haplotype of the source genome, which is probably not useful for most purposes.

\*Names are the full description of the protein, e.g. "B-Raf proto-oncogene, serine/threonine kinase" whereas the symbol is the short version you usually see, e.g "BRAF"


---

### Answer by username_6 on 2019-08-21. Score: -2

bioDBnet might have what you're looking for if the gene name is in standard format

<https://biodbnet-abcc.ncifcrf.gov/db/db2db.php>

For proteins Uniprot can be used to look up a protein and find it's information

<https://www.uniprot.org/>


---

