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:

string_db <- STRINGdb$new(version="11", species=9606,
                          score_threshold=0, input_directory="" )
full.graph <- string_db$load_all()
# 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.


2 Answers 2


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.

string_db <- STRINGdb$new()
string_db$add_proteins_description(data.frame(STRING_id = [vector containing string ids]))

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.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.