<p>Biologists are familiar with <code>SYMBOL</code> (for good reasons).</p>
<p>Bioinformaticians like <code>ENTREZID</code> <code>ENSEMBL</code> <code>REFSEQ</code> <code>GENBANK</code> etc, I'm definitely missing some here.</p>
<p>You don't need to know these by heart, just know that databases don't map 1:1.</p>
<p>I've worked with mouse RNAseq data before, so I agree with user::RamRS comment that it looks like a mouse gene. What type of identifier is it? I had no idea.</p>
<p>You can find this out at NCBI::GENE, by querying for, let's say <code>Rao[1]</code> <code>&quot;0610007P14Rik&quot;</code>. (<a href="https://www.ncbi.nlm.nih.gov/gene/?term=0610007P14Rik" rel="nofollow noreferrer">https://www.ncbi.nlm.nih.gov/gene/?term=0610007P14Rik</a>)</p>
<p>NCBI::GENE tells you the <code>SYMBOL::Erg28</code>, <code>ENTREZID::8520</code>, and in the far right a column called <code>ALIAS::0610007P14Rik</code>.</p>
<p>Now that you know your identifier type (ALIAS), you can map between databases in R.
There are many packages to do this. Someone mentioned biomart in the comment.</p>
<p>I use <code>AnnotationDbi</code></p>
<pre><code>library(AnnotationDbi)
library(org.Mm.eg.db)

Rao &lt;- c(&quot;0610007P14Rik&quot;, &quot;0610009B22Rik&quot;, &quot;0610009D07Rik&quot;, &quot;0610009L18Rik&quot;, &quot;0610009O20Rik&quot;, &quot;0610010B08Rik&quot;, &quot;0610010F05Rik&quot;, &quot;0610010K14Rik&quot;, &quot;0610011F06Rik&quot;, &quot;0610012G03Rik&quot;)

#use the function select to retrieve the column type &quot;SYMBOL&quot; with keys &quot;RAO&quot;.
#&quot;RAO&quot; is a keytype of &quot;ALIAS&quot;. And I want to search in the mice database &quot;org.Mm.eg.db&quot;

AnnotationDbi::select(x = org.Mm.eg.db,
+                       keys = Rao,
+                       keytype = &quot;ALIAS&quot;,
+                       columns = &quot;SYMBOL&quot;)
'select()' returned 1:1 mapping between keys and columns
           ALIAS        SYMBOL
1  0610007P14Rik         Erg28
2  0610009B22Rik 0610009B22Rik
3  0610009D07Rik         Sf3b6
4  0610009L18Rik 0610009L18Rik
5  0610009O20Rik         Dele1
6  0610010B08Rik        Gm2026
7  0610010F05Rik 0610010F05Rik
8  0610010K14Rik 0610010K14Rik
9  0610011F06Rik       Mettl26
10 0610012G03Rik 0610012G03Rik

</code></pre>
<p>In the cases when they don't map 1:1, the function will throw a warning, and you can access it by <code>warnings()</code>. It is rarely important though.</p>
<p>Hope this answers the question.</p>

CC BY-SA 4.0
2021-03-19T02:40:06.683Z
Thanks that does help quite a bit.  Is there a way to auto remove all the mismatches?
Angus Campbell
CC BY-SA 4.0
2021-03-19T02:40:25.953Z
Like with some kind of binary vector so i can filter out the mismatches?
Angus Campbell
CC BY-SA 4.0
2021-03-20T03:09:14.333Z
pipe it to `dplyr::filter` or `subset` and use the criterion: `ALIAS != SYMBOL`
Ram RS
CC BY-SA 4.0
2021-03-19T01:16:58.970Z
2021-03-19T01:16:58.970Z
geom_na
<p>I have two questions, one is a direct question about some RNA expression data.  The other is more broad, but motivated by the first.  I have downloaded an expression set for a class project and I am unfamiliar with the naming convention, I recognize entrez ID but not this one.</p>
<pre><code>    &gt; rownames(Rao)[1:10]
 [1] &quot;0610007P14Rik&quot; &quot;0610009B22Rik&quot; &quot;0610009D07Rik&quot; &quot;0610009L18Rik&quot; &quot;0610009O20Rik&quot; &quot;0610010B08Rik&quot; &quot;0610010F05Rik&quot;
 [8] &quot;0610010K14Rik&quot; &quot;0610011F06Rik&quot; &quot;0610012G03Rik&quot;
</code></pre>
<p>So my first question is what is this gene naming convention.  The second is what are many other conventions I should recognize and what tools can I use for converting between them?  Lastly what kind of errors may crop up when I do that and how can I check for mismappings or non-unique mappings?</p>
<p>I am primarily interested in R but methods in python would also be appreciated!  Its always good to have more tools.</p>

CC BY-SA 4.0
2021-03-18T23:15:47.833Z
These look like Mouse Gene identifiiers. You might be able to use `org.Mm.eg.db` to map them to aliases. There should be a way to use biomaRt as well, but I don't know the speciifics - maybe a mus musculus gene symbol mart is available.
Ram RS
CC BY-SA 4.0
2021-03-19T02:42:03.690Z
Thanks for reminding me to check biomaRt.  I think it has what I need, just reading a blog post about it now.  https://yiweiniu.github.io/blog/2018/09/Biological-ID-Conversion/
Angus Campbell
<r><rna-seq><python><gene-expression>
Common gene naming conventions and how to convert between them
# Common gene naming conventions and how to convert between them

(Asked by: username_0 on 2021-03-18)

I have two questions, one is a direct question about some RNA expression data.  The other is more broad, but motivated by the first.  I have downloaded an expression set for a class project and I am unfamiliar with the naming convention, I recognize entrez ID but not this one.
    > rownames(Rao)[1:10]
 [1] "0610007P14Rik" "0610009B22Rik" "0610009D07Rik" "0610009L18Rik" "0610009O20Rik" "0610010B08Rik" "0610010F05Rik"
 [8] "0610010K14Rik" "0610011F06Rik" "0610012G03Rik"

So my first question is what is this gene naming convention.  The second is what are many other conventions I should recognize and what tools can I use for converting between them?  Lastly what kind of errors may crop up when I do that and how can I check for mismappings or non-unique mappings?
I am primarily interested in R but methods in python would also be appreciated!  Its always good to have more tools.

**Tags:** r, rna-seq, python, gene-expression
> **Comments:**
> **username_1**: These look like Mouse Gene identifiiers. You might be able to use `org.Mm.eg.db` to map them to aliases. There should be a way to use biomaRt as well, but I don't know the speciifics - maybe a mus musculus gene symbol mart is available.  
> **username_0**: Thanks for reminding me to check biomaRt.  I think it has what I need, just reading a blog post about it now.  https://yiweiniu.github.io/blog/2018/09/Biological-ID-Conversion/  

---

## 1 answers

### Answer by username_2 on 2021-03-19. Score: 1 | Accepted answer

Biologists are familiar with SYMBOL (for good reasons).
Bioinformaticians like ENTREZID ENSEMBL REFSEQ GENBANK etc, I'm definitely missing some here.
You don't need to know these by heart, just know that databases don't map 1:1.
I've worked with mouse RNAseq data before, so I agree with user::RamRS comment that it looks like a mouse gene. What type of identifier is it? I had no idea.
You can find this out at NCBI::GENE, by querying for, let's say Rao[1] "0610007P14Rik". (https://www.ncbi.nlm.nih.gov/gene/?term=0610007P14Rik)
NCBI::GENE tells you the SYMBOL::Erg28, ENTREZID::8520, and in the far right a column called ALIAS::0610007P14Rik.
Now that you know your identifier type (ALIAS), you can map between databases in R.
There are many packages to do this. Someone mentioned biomart in the comment.
I use AnnotationDbi
library(AnnotationDbi)
library(org.Mm.eg.db)

Rao <- c("0610007P14Rik", "0610009B22Rik", "0610009D07Rik", "0610009L18Rik", "0610009O20Rik", "0610010B08Rik", "0610010F05Rik", "0610010K14Rik", "0610011F06Rik", "0610012G03Rik")

#use the function select to retrieve the column type "SYMBOL" with keys "RAO".
#"RAO" is a keytype of "ALIAS". And I want to search in the mice database "org.Mm.eg.db"

AnnotationDbi::select(x = org.Mm.eg.db,
+                       keys = Rao,
+                       keytype = "ALIAS",
+                       columns = "SYMBOL")
'select()' returned 1:1 mapping between keys and columns
           ALIAS        SYMBOL
1  0610007P14Rik         Erg28
2  0610009B22Rik 0610009B22Rik
3  0610009D07Rik         Sf3b6
4  0610009L18Rik 0610009L18Rik
5  0610009O20Rik         Dele1
6  0610010B08Rik        Gm2026
7  0610010F05Rik 0610010F05Rik
8  0610010K14Rik 0610010K14Rik
9  0610011F06Rik       Mettl26
10 0610012G03Rik 0610012G03Rik


In the cases when they don't map 1:1, the function will throw a warning, and you can access it by warnings(). It is rarely important though.
Hope this answers the question.

> **Comments:**
> **username_0**: Thanks that does help quite a bit.  Is there a way to auto remove all the mismatches?  
> **username_0**: Like with some kind of binary vector so i can filter out the mismatches?  
> **username_1**: pipe it to `dplyr::filter` or `subset` and use the criterion: `ALIAS != SYMBOL`  

---

