<p>What you are describing is a typical situation in any mapping of biological annotations from one database to another. There are two main categories of problems here:</p>
<h3>Difference between Gene and Transcript and Probe</h3>
<p>You have mentioned that you are specifically interested in gene symbols, whereas &quot;The GeoMx DSP looks at the expression of a panel of mRNA transcripts&quot;. Genes are different from transcripts.</p>
<p>It makes sense for probes to be transcript-specific, because that is what is represented at a single molecule level. I would guess (but don't know) that this is the reason for the first number after the Probe DisplayName, representing a <em>transcript</em> probe, rather than a <em>gene</em> probe (e.g. IFNA7/17, rather than IFNA7).</p>
<p>Given that different genes can share sequence - and I'm aware that <a href="https://f1000research.com/articles/6-631/v2#d1647931e225" rel="nofollow noreferrer">IFNA is a particular issue in this regard</a> - it is not surprising that a single transcript probe matches multiple different genes (or multiple different full-length transcripts, for that matter).</p>
<p>I would expect that nanoString already has software to carry out appropriate deconvolution of probe-level counts to create transcript-level counts. That should be your first priority: communicating with nanoString to get transcript-level counts for your data. You shouldn't be trying to process the data from the raw probe-level counts; these are too fine-grained to be useful for what you want to do.</p>
<p>Once you have transcript-level counts, you can then decide how to map the transcript to genes. While some transcripts can be components of multiple different genes, it is usually the case that each transcript can be uniquely mapped to an isoform of a single gene. It is a project-specific decision whether you take the counts from the most abundant transcript for each gene, or aggregate them together for a total count, or choose the counts for the longest transcript, or something else.</p>
<h3>Database Mapping / Conversion</h3>
<p>In almost all cases where annotations from one database need to be converted to another database, there is a many-to-many mapping (i.e. many things from the first database can be mapped to many things from the second database). More verbosely, relating to your particular situation:</p>
<ul>
<li>There will be some gene symbols that have no associated Entrez IDs</li>
<li>There will be some Entrez IDs that have no associated gene symbols</li>
<li>There will be some gene symbols that have multiple associated Entrez IDs (as in your example)</li>
<li>There will be some Entrez IDs that have multiple associated gene symbols</li>
</ul>
<p>Deciding on what to do for each of these situations is also a project-specific decision; there is no perfect answer that will work in all situations.</p>
<p>Because you say you need Entrez IDs (not a strict requirement for GSEA, but you have claimed this in your question), the gene symbols with no associated Entrez IDs will need to be discarded, which will be a loss of data. Due to the bulk / aggregate nature of GSEA, this is unlikely to substantially influence results.</p>
<p>Where there are multiple associated Entrez IDs, it would not be surprising if those IDs were almost always present together in the same gene sets. To avoid loss of data in this situation (with some small risk of false-positive association), the multiple mappings can be duplicated. For example, a count that is assigned to 5 different genes could be treated as either a single count for each of those 5 genes, or as 0.2 counts for each of those 5 genes (i.e. one count distributed equally among all the possible genes), or assigned randomly to one of the 5 different genes - all of these approaches have been proposed and implemented in the past for gene counting. The other option is, as you say, dropping counts entirely, but that seems like an approach which would lead to bias away from well-annotated genes.</p>
<p>In any case, your general problem needs a project-specific decision. It's up to you to discuss this with your collaborators to find the best approach that answers the biological question your group has about the data.</p>

CC BY-SA 4.0
2024-06-09T01:39:34.523Z
2024-06-09T01:39:34.523Z
gringer
<p>Probes were often designed using older versions of the genome and gene annotations. Since you have sequences you can remap them to T2T and evaluate the thresholds for the unique and ambiguous cases. I don't think this will resolve everything, but at least you can get some match scores probe-gene.</p>

CC BY-SA 4.0
2024-06-08T14:00:27.927Z
Unfortunately, it's not a case of an older genome -- I am showing the targets reported by the company that designed the probes I.e. they are *supposed* to do this. The problem is just that there are several duplicates/near duplicates of certain genes. For example CCL3 has two identical genes: CCL3L1 and CCL3L3, both of which would be detected by any probes. The output displays this as "CCL3/L1". My question is about how to go about converting names like "CCL3/L1" to an ENTREZID format. (Do I just recode the gene name to CCL3? Remove it? Some other approach?)
J_BioE_
CC BY-SA 4.0
2024-06-08T19:40:38.760Z
@J_BioE_ there is some lag between designing the probes and updating the info. At least that is what I have seen in the wild :). For the GSEA frankly it should not matter if you pick up an ID of an identical geneX_1 or geneX_2. If these are truly identical at the protein level probably these will be in the same pathway anyway. If the probe matches a sequence common to two or more non-identical I guess paralogues in that case there is no way to pick the correct gene without some second or third probe. Or the extra info about which gene is expressed in a given tissue
darked89
CC BY-SA 4.0
2024-06-08T08:03:29.773Z
2024-06-08T08:03:29.773Z
darked89
<p>Context: I am trying to perform GSEA GO analysis using data from the <a href="https://nanostring.com/products/geomx-digital-spatial-profiler/geomx-dsp-overview/" rel="nofollow noreferrer">GeoMx Digital Spatial Profiler</a>. The GeoMx DSP looks at the expression of a panel of mRNA transcripts using a set of detection probes. For the panel I'm using, multiple probes are used to detect an mRNA transcript, and after some processing, collapsed to a single gene count.</p>
<p>To perform the GSEA analysis I need to convert the gene symbol name (i.e. ACTA2) in the dataframe to ENTREZID (i.e. 59).</p>
<div class="s-table-container"><table class="s-table">
<thead>
<tr>
<th>gene_name</th>
<th>log_fold</th>
</tr>
</thead>
<tbody>
<tr>
<td>ACTA2</td>
<td>0.117</td>
</tr>
<tr>
<td>FOXA2</td>
<td>0.463</td>
</tr>
<tr>
<td>NANOG</td>
<td>-0.266</td>
</tr>
<tr>
<td>TRAC</td>
<td>-0.0358</td>
</tr>
<tr>
<td>TRBC1/2</td>
<td>0.00163</td>
</tr>
<tr>
<td>TARP/TRGC1/2</td>
<td>0.0414</td>
</tr>
</tbody>
</table></div>
<p>Unfortunately, the probes that the GeoMx uses do not always unambiguously detect transcripts from a single gene.</p>
<p>Here is an example of four probes that are collapsed to a single &quot;gene&quot; (IFNA7/17) during processing, but in fact can detect transcripts from up to six different genes.</p>
<div class="s-table-container"><table class="s-table">
<thead>
<tr>
<th>DisplayName</th>
<th>ProbeID</th>
<th>Probe DisplayName</th>
<th>TargetSequence</th>
<th>SystematicName</th>
<th>GeneID</th>
</tr>
</thead>
<tbody>
<tr>
<td>IFNA7/17</td>
<td>31</td>
<td>IFNA7/17_01</td>
<td>TGCTGCTTGGGAACAGAGCCTCCTAGAAAAATTTT</td>
<td>IFNA21, IFNA7, IFNA10, IFNA17, IFNA4</td>
<td>3441, 3451, 3444, 3446, 3452</td>
</tr>
<tr>
<td>IFNA7/17</td>
<td>32</td>
<td>IFNA7/17_02</td>
<td>CCTTTTCTTTACTGATGGCCGTGCTGGTGCTCAGC</td>
<td>IFNA10, IFNA21, IFNA17, IFNA16, IFNA4</td>
<td>3449, 3451, 3452, 3446, 3441</td>
</tr>
<tr>
<td>IFNA7/17</td>
<td>33</td>
<td>IFNA7/17_03</td>
<td>TACCCATCTCAAGTAGCCTAGCAACATTTGCAACA</td>
<td>IFNA21, IFNA10, IFNA17, IFNA4</td>
<td>3441, 3451, 3452, 3446</td>
</tr>
<tr>
<td>IFNA7/17</td>
<td>34</td>
<td>IFNA7/17_04</td>
<td>TACCCACCTCAGGTAGCCTAGTGATATTTGCAAAA</td>
<td>IFNA7</td>
<td>3444</td>
</tr>
</tbody>
</table></div>
<p>What is the best way to deal with this? I thought of two approaches:</p>
<ol>
<li>Remove these cases from my dataset and proceed only with unambiguous cases.</li>
<li>Modify the gene name to refer to only one gene (i.e. IFNA7/17 -&gt; IFNA7).</li>
</ol>
<p>Are there better options?</p>

CC BY-SA 4.0
2024-06-08T02:28:55.827Z
This looks to be a major bug. Personally I code a new database from scratch, ie. just reading the question the bug looks critical that I'd start over. HOWEVER, are you certain that the ProbeID is not part of the nomenclature because thats unique? What I'm trying to say is there's probably a misunderstanding
M__
CC BY-SA 4.0
2024-06-08T03:05:53.427Z
I wouldn't say it's a bug, in that this is definitely the intended behavior. It's unavoidable in some cases: IFNA4, IFNA10, IFNA17, IFNA14 and IFNA21 are basically duplicates of the same gene with very little divergence. I don't think it's possible to find a set of good probes that separate them.
J_BioE_
CC BY-SA 4.0
2024-06-08T03:05:59.083Z
ProbeID is unique, but just a way for the system to keep track of all the different target sequences. Once we take the geometric mean of all the probes and collapse to a single count for that transcript it is no longer relevant.
J_BioE_
CC BY-SA 4.0
2024-06-08T03:16:38.943Z
Okay, it would appear to be multiple probes per gene. Thats normal because you can't guarantee a given probe will bind to the target, so the risk is spread
M__
<format-conversion><gene-ontology><identifiers><entrez>
Converting Gene Symbols to Entrez ID in ambiguous cases
# Converting Gene Symbols to Entrez ID in ambiguous cases

(Asked by: username_0 on 2024-06-08)

Context: I am trying to perform GSEA GO analysis using data from the [GeoMx Digital Spatial Profiler](https://nanostring.com/products/geomx-digital-spatial-profiler/geomx-dsp-overview/). The GeoMx DSP looks at the expression of a panel of mRNA transcripts using a set of detection probes. For the panel I'm using, multiple probes are used to detect an mRNA transcript, and after some processing, collapsed to a single gene count.

To perform the GSEA analysis I need to convert the gene symbol name (i.e. ACTA2) in the dataframe to ENTREZID (i.e. 59).

| gene\_name | log\_fold |
| --- | --- |
| ACTA2 | 0.117 |
| FOXA2 | 0.463 |
| NANOG | -0.266 |
| TRAC | -0.0358 |
| TRBC1/2 | 0.00163 |
| TARP/TRGC1/2 | 0.0414 |

Unfortunately, the probes that the GeoMx uses do not always unambiguously detect transcripts from a single gene.

Here is an example of four probes that are collapsed to a single "gene" (IFNA7/17) during processing, but in fact can detect transcripts from up to six different genes.

| DisplayName | ProbeID | Probe DisplayName | TargetSequence | SystematicName | GeneID |
| --- | --- | --- | --- | --- | --- |
| IFNA7/17 | 31 | IFNA7/17\_01 | TGCTGCTTGGGAACAGAGCCTCCTAGAAAAATTTT | IFNA21, IFNA7, IFNA10, IFNA17, IFNA4 | 3441, 3451, 3444, 3446, 3452 |
| IFNA7/17 | 32 | IFNA7/17\_02 | CCTTTTCTTTACTGATGGCCGTGCTGGTGCTCAGC | IFNA10, IFNA21, IFNA17, IFNA16, IFNA4 | 3449, 3451, 3452, 3446, 3441 |
| IFNA7/17 | 33 | IFNA7/17\_03 | TACCCATCTCAAGTAGCCTAGCAACATTTGCAACA | IFNA21, IFNA10, IFNA17, IFNA4 | 3441, 3451, 3452, 3446 |
| IFNA7/17 | 34 | IFNA7/17\_04 | TACCCACCTCAGGTAGCCTAGTGATATTTGCAAAA | IFNA7 | 3444 |

What is the best way to deal with this? I thought of two approaches:

1. Remove these cases from my dataset and proceed only with unambiguous cases.
2. Modify the gene name to refer to only one gene (i.e. IFNA7/17 -> IFNA7).

Are there better options?

**Tags:** format-conversion, gene-ontology, identifiers, entrez
> **Comments:**
> **username_1**: This looks to be a major bug. Personally I code a new database from scratch, ie. just reading the question the bug looks critical that I'd start over. HOWEVER, are you certain that the ProbeID is not part of the nomenclature because thats unique? What I'm trying to say is there's probably a misunderstanding  
> **username_0**: I wouldn't say it's a bug, in that this is definitely the intended behavior. It's unavoidable in some cases: IFNA4, IFNA10, IFNA17, IFNA14 and IFNA21 are basically duplicates of the same gene with very little divergence. I don't think it's possible to find a set of good probes that separate them.  
> **username_0**: ProbeID is unique, but just a way for the system to keep track of all the different target sequences. Once we take the geometric mean of all the probes and collapse to a single count for that transcript it is no longer relevant.  
> **username_1**: Okay, it would appear to be multiple probes per gene. Thats normal because you can't guarantee a given probe will bind to the target, so the risk is spread  

---

## 2 answers

### Answer by username_2 on 2024-06-09. Score: 1

What you are describing is a typical situation in any mapping of biological annotations from one database to another. There are two main categories of problems here:

### Difference between Gene and Transcript and Probe

You have mentioned that you are specifically interested in gene symbols, whereas "The GeoMx DSP looks at the expression of a panel of mRNA transcripts". Genes are different from transcripts.

It makes sense for probes to be transcript-specific, because that is what is represented at a single molecule level. I would guess (but don't know) that this is the reason for the first number after the Probe DisplayName, representing a *transcript* probe, rather than a *gene* probe (e.g. IFNA7/17, rather than IFNA7).

Given that different genes can share sequence - and I'm aware that [IFNA is a particular issue in this regard](https://f1000research.com/articles/6-631/v2#d1647931e225) - it is not surprising that a single transcript probe matches multiple different genes (or multiple different full-length transcripts, for that matter).

I would expect that nanoString already has software to carry out appropriate deconvolution of probe-level counts to create transcript-level counts. That should be your first priority: communicating with nanoString to get transcript-level counts for your data. You shouldn't be trying to process the data from the raw probe-level counts; these are too fine-grained to be useful for what you want to do.

Once you have transcript-level counts, you can then decide how to map the transcript to genes. While some transcripts can be components of multiple different genes, it is usually the case that each transcript can be uniquely mapped to an isoform of a single gene. It is a project-specific decision whether you take the counts from the most abundant transcript for each gene, or aggregate them together for a total count, or choose the counts for the longest transcript, or something else.

### Database Mapping / Conversion

In almost all cases where annotations from one database need to be converted to another database, there is a many-to-many mapping (i.e. many things from the first database can be mapped to many things from the second database). More verbosely, relating to your particular situation:

* There will be some gene symbols that have no associated Entrez IDs
* There will be some Entrez IDs that have no associated gene symbols
* There will be some gene symbols that have multiple associated Entrez IDs (as in your example)
* There will be some Entrez IDs that have multiple associated gene symbols

Deciding on what to do for each of these situations is also a project-specific decision; there is no perfect answer that will work in all situations.

Because you say you need Entrez IDs (not a strict requirement for GSEA, but you have claimed this in your question), the gene symbols with no associated Entrez IDs will need to be discarded, which will be a loss of data. Due to the bulk / aggregate nature of GSEA, this is unlikely to substantially influence results.

Where there are multiple associated Entrez IDs, it would not be surprising if those IDs were almost always present together in the same gene sets. To avoid loss of data in this situation (with some small risk of false-positive association), the multiple mappings can be duplicated. For example, a count that is assigned to 5 different genes could be treated as either a single count for each of those 5 genes, or as 0.2 counts for each of those 5 genes (i.e. one count distributed equally among all the possible genes), or assigned randomly to one of the 5 different genes - all of these approaches have been proposed and implemented in the past for gene counting. The other option is, as you say, dropping counts entirely, but that seems like an approach which would lead to bias away from well-annotated genes.

In any case, your general problem needs a project-specific decision. It's up to you to discuss this with your collaborators to find the best approach that answers the biological question your group has about the data.


---

### Answer by username_3 on 2024-06-08. Score: 1

Probes were often designed using older versions of the genome and gene annotations. Since you have sequences you can remap them to T2T and evaluate the thresholds for the unique and ambiguous cases. I don't think this will resolve everything, but at least you can get some match scores probe-gene.

> **Comments:**
> **username_0**: Unfortunately, it's not a case of an older genome -- I am showing the targets reported by the company that designed the probes I.e. they are *supposed* to do this. The problem is just that there are several duplicates/near duplicates of certain genes. For example CCL3 has two identical genes: CCL3L1 and CCL3L3, both of which would be detected by any probes. The output displays this as "CCL3/L1". My question is about how to go about converting names like "CCL3/L1" to an ENTREZID format. (Do I just recode the gene name to CCL3? Remove it? Some other approach?)  
> **username_3**: @J_BioE_ there is some lag between designing the probes and updating the info. At least that is what I have seen in the wild :). For the GSEA frankly it should not matter if you pick up an ID of an identical geneX_1 or geneX_2. If these are truly identical at the protein level probably these will be in the same pathway anyway. If the probe matches a sequence common to two or more non-identical I guess paralogues in that case there is no way to pick the correct gene without some second or third probe. Or the extra info about which gene is expressed in a given tissue  

---

