This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Download STRING database with Protein name

Hi all,

I need to work with STRING database, once I download protein.links.full.v10.5.txt I got something like that:

ENSP00000000233 ENSP00000263431 0 0 0 0 0 0 53 0 176 0 0 0 128 260
ENSP00000000233 ENSP00000353863 0 0 0 0 0 0 52 0 106 0 0 0 93 164
ENSP00000000233 ENSP00000342026 0 0 0 0 0 0 53 0 71 0 0 97 67 159
ENSP00000000233 ENSP00000240874 0 0 0 0 0 0 0 0 170 0 0 46 64 194

My question is there anyway to download/convert those ensemble protein as a protein name? because I need to work with their name rather then IDs.

Any help will be appreciated.

string protine name ensemblep converter

You can use BioMart to convert Ensembl IDs to the gene names.

Could you please guide me how/where exactly to do that, it's my first time to try it.

1 answer

Here is an R-based solution:

> test
[1] "ENSP00000263431" "ENSP00000353863" "ENSP00000342026" "ENSP00000240874"
> library("biomaRt")
> ensembl <- useMart("ensembl", dataset = "hsapiens_gene_ensembl")
> conversion.table <- getBM(attributes = c("ensembl_peptide_id", "hgnc_symbol"),
                            filters = "ensembl_peptide_id" , values = list(test),
                            mart = ensembl)
> head(conversion.table)
  ensembl_peptide_id hgnc_symbol
1    ENSP00000240874       KALRN
2    ENSP00000263431       PRKCG
3    ENSP00000342026       PRDX6
4    ENSP00000353863      ZNF148

If you want to get all the possible attributes that can be used in the getBM function, you can get these using

> listAttributes(ensembl)

Similarly, using

> listFilters(ensembl)

you can obtain all the possible filters.

I got this error The query to the BioMart webservice returned an invalid result: biomaRt expected a character string of length 1. Please report this to the mailing list.

As pointed out here and here, this is likely due to a server being temporarily down. I am not sure where you are, but you can try any of these mirrors

https://www.ensembl.org/

https://uswest.ensembl.org/

https://useast.ensembl.org/

https://asia.ensembl.org/

by adding the arguments host = "www.ensembl.org", ensemblRedirect = FALSE to your useMart call. Obviously, you can use any of the hosts instead of the (standard) one mentioned ("www.ensembl.org").

Thanks a lot now it's work well with me, the problem was from the type of the data not from the server. But I notice that a lot of the Ensembl protein were ignored, so, for example, I enter around 11 million Ensembl protein and I got after conversion around 39 thousand!!

Log in to answer this question.