Answers.Body: <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>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-03-19T02:40:06.683Z
Answers.Text: Thanks that does help quite a bit.  Is there a way to auto remove all the mismatches?
Answers.UserDisplayName: Angus Campbell
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-03-19T02:40:25.953Z
Answers.Text: Like with some kind of binary vector so i can filter out the mismatches?
Answers.UserDisplayName: Angus Campbell
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-03-20T03:09:14.333Z
Answers.Text: pipe it to `dplyr::filter` or `subset` and use the criterion: `ALIAS != SYMBOL`
Answers.UserDisplayName: Ram RS
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-03-19T01:16:58.970Z
Answers.LastActivityDate: 2021-03-19T01:16:58.970Z
Answers.UserDisplayName: geom_na
Body: <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>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2021-03-18T23:15:47.833Z
Comments.Text: 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.
Comments.UserDisplayName: Ram RS
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2021-03-19T02:42:03.690Z
Comments.Text: 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/
Comments.UserDisplayName: Angus Campbell
Tags: <r><rna-seq><python><gene-expression>
Title: Common gene naming conventions and how to convert between them
ThreadText: # 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::username_1 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`  
  
  ---
  
  