<p>I don't know if it's too late, but I met same question and got an answer.
You can use <code>add_proteins_description()</code>. It works in same way with <code>map()</code>. If you put a data frame having <code>STRING_id</code> column, it adds <code>preferred_name</code>, <code>protein_size</code> and <code>annotation</code>. You may find your answer on <code>preferred_name</code> column.</p>
<pre><code>require(STRINGdb)
string_db &lt;- STRINGdb<span class="math-container">$new()
string_db$</span>add_proteins_description(data.frame(STRING_id = [vector containing string ids]))
</code></pre>

CC BY-SA 4.0
2021-11-18T08:38:59.527Z
2021-11-20T06:31:38.230Z
2021-11-20T06:31:38.230Z
Hyun-Yi Kim
<p>This answer does not rely on STRINGdb package.</p>
<p>STRING provides supplementary identifier mapping files here: <a href="https://string-db.org/mapping_files/" rel="nofollow noreferrer">https://string-db.org/mapping_files/</a>.</p>
<p>It looks like you are interested in human STRING name one - <a href="https://string-db.org/mapping_files/STRING_display_names/human.name_2_string.tsv.gz" rel="nofollow noreferrer">https://string-db.org/mapping_files/STRING_display_names/human.name_2_string.tsv.gz</a>. You could read it as a separate lookup.</p>

CC BY-SA 4.0
2021-02-21T17:10:16.560Z
2021-02-21T17:10:16.560Z
ellimilial
<p>Is there a functionality within STRINGdb package or in another environment to reverse map the STRING identifiers to Gene names?</p>
<p>For example, the entire STRING network can be downloaded using the commands:</p>
<pre><code>library(STRINGdb)
string_db &lt;- STRINGdb<span class="math-container">$new(version="11", species=9606,
                          score_threshold=0, input_directory="" )
full.graph &lt;- string_db$</span>load_all()
netFull
# IGRAPH c07d6e9 UN-- 19354 11759454 -- 
# + attr: name (v/c), combined_score (e/n)
# + edges from c07d6e9 (vertex names):
#  [1] 9606.ENSP00000000233--9606.ENSP00000272298 9606.ENSP00000000233--9606.ENSP00000253401
#  [3] 9606.ENSP00000000233--9606.ENSP00000401445 9606.ENSP00000000233--9606.ENSP00000418915
#  [5] 9606.ENSP00000000233--9606.ENSP00000327801 9606.ENSP00000000233--9606.ENSP00000466298
#  [7] 9606.ENSP00000000233--9606.ENSP00000232564 9606.ENSP00000000233--9606.ENSP00000393379
#  [9] 9606.ENSP00000000233--9606.ENSP00000371253 9606.ENSP00000000233--9606.ENSP00000373713
# [11] 9606.ENSP00000000233--9606.ENSP00000248929 9606.ENSP00000000233--9606.ENSP00000356737
# [13] 9606.ENSP00000000233--9606.ENSP00000338766 9606.ENSP00000000233--9606.ENSP00000386135
# [15] 9606.ENSP00000000233--9606.ENSP00000319192 9606.ENSP00000000233--9606.ENSP00000432568
# + ... omitted several edges
</code></pre>
<p><code>V(netFull)$name</code> will provide all the STRING identifiers within this network <code>netFull</code>. How to get the corresponding gene names?</p>
<p>For example, <code>string_db$map()</code> maps the gene identifiers of the input dataframe to STRING identifiers. It returns the input dataframe with the &quot;STRING_id&quot; as an additional column. Now, I would like to explore in the reverse direction going from STRING identifiers to gene names.</p>

<r><bioconductor><networks><stringdb>
STRINGdb: reverse map STRING identifiers to gene names?
# STRINGdb: reverse map STRING identifiers to gene names?

(Asked by: username_0 on 2021-02-19)

Is there a functionality within STRINGdb package or in another environment to reverse map the STRING identifiers to Gene names?
For example, the entire STRING network can be downloaded using the commands:
library(STRINGdb)
string_db <- STRINGdb$new(version="11", species=9606,
                          score_threshold=0, input_directory="" )
full.graph <- string_db$load_all()
netFull
# IGRAPH c07d6e9 UN-- 19354 11759454 -- 
# + attr: name (v/c), combined_score (e/n)
# + edges from c07d6e9 (vertex names):
#  [1] 9606.ENSP00000000233--9606.ENSP00000272298 9606.ENSP00000000233--9606.ENSP00000253401
#  [3] 9606.ENSP00000000233--9606.ENSP00000401445 9606.ENSP00000000233--9606.ENSP00000418915
#  [5] 9606.ENSP00000000233--9606.ENSP00000327801 9606.ENSP00000000233--9606.ENSP00000466298
#  [7] 9606.ENSP00000000233--9606.ENSP00000232564 9606.ENSP00000000233--9606.ENSP00000393379
#  [9] 9606.ENSP00000000233--9606.ENSP00000371253 9606.ENSP00000000233--9606.ENSP00000373713
# [11] 9606.ENSP00000000233--9606.ENSP00000248929 9606.ENSP00000000233--9606.ENSP00000356737
# [13] 9606.ENSP00000000233--9606.ENSP00000338766 9606.ENSP00000000233--9606.ENSP00000386135
# [15] 9606.ENSP00000000233--9606.ENSP00000319192 9606.ENSP00000000233--9606.ENSP00000432568
# + ... omitted several edges

V(netFull)$name will provide all the STRING identifiers within this network netFull. How to get the corresponding gene names?
For example, string_db$map() maps the gene identifiers of the input dataframe to STRING identifiers. It returns the input dataframe with the "STRING_id" as an additional column. Now, I would like to explore in the reverse direction going from STRING identifiers to gene names.

**Tags:** r, bioconductor, networks, stringdb

---

## 2 answers

### Answer by username_1 on 2021-11-18. Score: 2 | Accepted answer

I don't know if it's too late, but I met same question and got an answer.
You can use add_proteins_description(). It works in same way with map(). If you put a data frame having STRING_id column, it adds preferred_name, protein_size and annotation. You may find your answer on preferred_name column.
require(STRINGdb)
string_db <- STRINGdb$new()
string_db$add_proteins_description(data.frame(STRING_id = [vector containing string ids]))


---

### Answer by username_2 on 2021-02-21. Score: 2

This answer does not rely on STRINGdb package.

STRING provides supplementary identifier mapping files here: <https://string-db.org/mapping_files/>.

It looks like you are interested in human STRING name one - <https://string-db.org/mapping_files/STRING_display_names/human.name_2_string.tsv.gz>. You could read it as a separate lookup.


---

