<p>Instead of biomaRt, it is also possible to use the mapping databases built into Bioconductor itself, and map from probe to gene, and then from gene to probe in the second. Some R code to convert between hgu133 and hgu95 using the same probe ID provided in another:</p>

<pre><code>library(hgu133plus2.db)
library(hgu95av2.db)

query_probe &lt;- "210519_s_at"

hgu133_ensembl &lt;- select(hgu133plus2.db, keys = query_probe, columns = "ENSEMBL")

ensembl_hgu95 &lt;- select(hgu95av2.db, keys = hgu133_ensembl$ENSEMBL, keytype = "ENSEMBL", columns = "PROBEID")

dplyr::inner_join(hgu133_ensembl, ensembl_hgu95, by = "ENSEMBL", suffix = c(".133", ".95"))
</code></pre>

CC BY-SA 3.0
2017-05-19T01:53:56.150Z
2017-05-19T01:53:56.150Z
rmflight
<p>Other answers explain why there might not be one to one mapping between the probes.</p>

<p>The <a href="http://bioinformatics.louisville.edu/abid/" rel="nofollow noreferrer">AbsID database</a> does conversion based on mapping the probe sequences to a genome build, and then determines mappings based on overlapping genome alignment coordinates. This is really useful if you want to be sure that two probes are <em>actually likely</em> measuring the same transcript.</p>

<p>It is dependent on both probes aligning to the genome, however.</p>

<p>Disclaimer: I worked in the group that provides the AbsID mapping tool.</p>

CC BY-SA 3.0
2017-05-19T01:57:32.150Z
2017-05-19T02:16:24.147Z
2017-05-19T02:16:24.147Z
rmflight
<p>If your question is: can probeset IDs from different platforms be mapped to one another in a similar way as mapping probesets to genes, then the answer is: Yes. BioMart allows you to map almost anything that has an ID to anything else that has an ID.</p>

<p>You can use BioMart either via the web interface or programatically. A brief guide to using the web interface, for mapping HG U133 Plus 2 to HuGene 1.0:</p>

<ol>
<li>Go to <a href="http://www.ensembl.org/biomart/martview" rel="noreferrer">the start page</a> </li>
<li>Select H. sapiens Ensembl genes for your database; Human genes (GRCh38.p10) for your dataset</li>
<li>Click Filters in the left-hand column</li>
<li>Expand "REGION", scroll down to GENE and select "Input microarray probes/probesets ID list [Max 500 advised]" </li>
<li>Select AFFY HG U133 PLUS 2 probe ID(s) and either copy/paste or upload a list, one per line</li>
<li>Click Attributes in the left-hand column</li>
<li>Scroll through, uncheck what you don't want to see and choose what you do, for example Gene Stable ID, AFFY HuGene 1 0 st v1 probe and AFFY HG U133 Plus 2 probe</li>
<li>Finally click "Results" in the menu at the top of the left-hand column</li>
</ol>

<p>And you should see <a href="http://www.ensembl.org/biomart/martview/5e02aa3df275d697dcd2c806c6e5c1a0" rel="noreferrer">a result like this</a> (you'll need to click the "Results" button).</p>

<p>You should not expect that there be a one-to-one mapping, for two reasons:</p>

<ul>
<li>Genes have multiple transcripts and probesets are mapped to each transcript</li>
<li>Some transcripts have more than one probeset: in this case, the HuGene IDs 8002301 and 8002303 map to transcripts for this gene</li>
</ul>

<p>Finally: here's a programmatic example using <a href="https://bioconductor.org/packages/release/bioc/html/biomaRt.html" rel="noreferrer">R/BioMart</a>:</p>

<pre><code>library(biomaRt)
mart.hs &lt;- useMart("ensembl", "hsapiens_gene_ensembl")
results &lt;- getBM(attributes = c("ensembl_gene_id", "affy_hugene_1_0_st_v1", "affy_hg_u133_plus_2"),
                 filters = "affy_hg_u133_plus_2",
                 values = c("210519_s_at"),
                 mart = mart.hs)

results
  ensembl_gene_id affy_hugene_1_0_st_v1 affy_hg_u133_plus_2
1 ENSG00000181019               8002301         210519_s_at
2 ENSG00000181019               8002303         210519_s_at
</code></pre>

CC BY-SA 3.0
2017-05-19T01:18:14.417Z
2017-05-19T01:39:33.997Z
2017-05-19T01:39:33.997Z
neilfws
<p>I am interested in identifying mappings between different types of Affymetrix arrays. I am aware that mappings between gene and probeset can be extracted using Ensembl's Biomart database. </p>

<pre><code>Ensembe gene id ENSG00000181019 maps to 
1. AFFY HG-U133_Plus_2's 210519_s_at
2. AFFY HuGene-1_0-st-v1's 8002303
</code></pre>

<p>Is there any way to extract mappings of probeset ids between two arrays(eg: HG-U133_Plus_2, HuGene-1_0-st-v1)?</p>

<pre><code>eg: 210519_s_at and 8002303
</code></pre>

CC BY-SA 3.0
2017-05-18T13:29:09.747Z
Is your question how to find overlapping probe sets between arrays?  Or how to identify probe sets in general?  It is not clear.
woemler
CC BY-SA 3.0
2017-05-18T14:08:22.023Z
I have added an example. Does this make sense now?
Prradep
CC BY-SA 3.0
2017-05-18T14:42:33.533Z
So basically you can retrieve two gene-id mappings from Ensembl's Biomart. Correct? What is preventing you from joining these two tables based on the Ensembl gene id? You can use `merge` function in R or `JOIN` statement in SQL.
Iakov Davydov
CC BY-SA 3.0
2017-05-18T16:22:01.020Z
@IakovDavydov or a Unix `join` would work too
CloudyGloudy
CC BY-SA 3.0
2017-05-18T17:02:35.137Z
The problem is: All mappings are not exactly one-to-one. Either probesets of HG-U133_Plus_2 or HuGene-1_0-st-v1 mapping to one ensembl gene id.
Prradep
CC BY-SA 3.0
2017-05-18T18:25:43.363Z
@Prradep if you explain what the underlying problem is that you're trying to solve, we might be able to offer better advice
Michael Schubert
CC BY-SA 3.0
2017-05-19T01:19:08.047Z
You should not necessarily expect to see one-to-one mappings, see my answer below.
neilfws
<ensembl><biomart><microarray>
probeset to probeset mappings between Affymetrix arrays
# probeset to probeset mappings between Affymetrix arrays

(Asked by: username_0 on 2017-05-18)

I am interested in identifying mappings between different types of Affymetrix arrays. I am aware that mappings between gene and probeset can be extracted using Ensembl's Biomart database. 
Ensembe gene id ENSG00000181019 maps to 
1. AFFY HG-U133_Plus_2's 210519_s_at
2. AFFY HuGene-1_0-st-v1's 8002303

Is there any way to extract mappings of probeset ids between two arrays(eg: HG-U133_Plus_2, HuGene-1_0-st-v1)?
eg: 210519_s_at and 8002303

**Tags:** ensembl, biomart, microarray
> **Comments:**
> **username_1**: Is your question how to find overlapping probe sets between arrays?  Or how to identify probe sets in general?  It is not clear.  
> **username_0**: I have added an example. Does this make sense now?  
> **username_2**: So basically you can retrieve two gene-id mappings from Ensembl's Biomart. Correct? What is preventing you from joining these two tables based on the Ensembl gene id? You can use `merge` function in R or `JOIN` statement in SQL.  
> **username_3**: @IakovDavydov or a Unix `join` would work too  
> **username_0**: The problem is: All mappings are not exactly one-to-one. Either probesets of HG-U133_Plus_2 or HuGene-1_0-st-v1 mapping to one ensembl gene id.  
> **username_4**: @Prradep if you explain what the underlying problem is that you're trying to solve, we might be able to offer better advice  
> **username_5**: You should not necessarily expect to see one-to-one mappings, see my answer below.  

---

## 3 answers

### Answer by username_5 on 2017-05-19. Score: 9 | Accepted answer

If your question is: can probeset IDs from different platforms be mapped to one another in a similar way as mapping probesets to genes, then the answer is: Yes. BioMart allows you to map almost anything that has an ID to anything else that has an ID.
You can use BioMart either via the web interface or programatically. A brief guide to using the web interface, for mapping HG U133 Plus 2 to HuGene 1.0:

Go to the start page 
Select H. sapiens Ensembl genes for your database; Human genes (GRCh38.p10) for your dataset
Click Filters in the left-hand column
Expand "REGION", scroll down to GENE and select "Input microarray probes/probesets ID list [Max 500 advised]" 
Select AFFY HG U133 PLUS 2 probe ID(s) and either copy/paste or upload a list, one per line
Click Attributes in the left-hand column
Scroll through, uncheck what you don't want to see and choose what you do, for example Gene Stable ID, AFFY HuGene 1 0 st v1 probe and AFFY HG U133 Plus 2 probe
Finally click "Results" in the menu at the top of the left-hand column

And you should see a result like this (you'll need to click the "Results" button).
You should not expect that there be a one-to-one mapping, for two reasons:

Genes have multiple transcripts and probesets are mapped to each transcript
Some transcripts have more than one probeset: in this case, the HuGene IDs 8002301 and 8002303 map to transcripts for this gene

Finally: here's a programmatic example using R/BioMart:
library(biomaRt)
mart.hs <- useMart("ensembl", "hsapiens_gene_ensembl")
results <- getBM(attributes = c("ensembl_gene_id", "affy_hugene_1_0_st_v1", "affy_hg_u133_plus_2"),
                 filters = "affy_hg_u133_plus_2",
                 values = c("210519_s_at"),
                 mart = mart.hs)

results
  ensembl_gene_id affy_hugene_1_0_st_v1 affy_hg_u133_plus_2
1 ENSG00000181019               8002301         210519_s_at
2 ENSG00000181019               8002303         210519_s_at


---

### Answer by username_6 on 2017-05-19. Score: 7

Instead of biomaRt, it is also possible to use the mapping databases built into Bioconductor itself, and map from probe to gene, and then from gene to probe in the second. Some R code to convert between hgu133 and hgu95 using the same probe ID provided in another:
library(hgu133plus2.db)
library(hgu95av2.db)

query_probe <- "210519_s_at"

hgu133_ensembl <- select(hgu133plus2.db, keys = query_probe, columns = "ENSEMBL")

ensembl_hgu95 <- select(hgu95av2.db, keys = hgu133_ensembl$ENSEMBL, keytype = "ENSEMBL", columns = "PROBEID")

dplyr::inner_join(hgu133_ensembl, ensembl_hgu95, by = "ENSEMBL", suffix = c(".133", ".95"))


---

### Answer by username_6 on 2017-05-19. Score: 2

Other answers explain why there might not be one to one mapping between the probes.

The [AbsID database](http://bioinformatics.louisville.edu/abid/) does conversion based on mapping the probe sequences to a genome build, and then determines mappings based on overlapping genome alignment coordinates. This is really useful if you want to be sure that two probes are *actually likely* measuring the same transcript.

It is dependent on both probes aligning to the genome, however.

Disclaimer: I worked in the group that provides the AbsID mapping tool.


---

