I have a list of proteins with their gene names/symbols. I would like to identify which of them are extracellular proteins or plasma membrane proteins.

I can get this information in UniprotKB by searching the proteins one by one. Because I have hundreds of proteins, I wonder whether I can do a systematic search of the UniprotKB in RStudio. I tried the UniProt.ws select method. But I couldn't even get the example code in the package work. I downloaded the uniprot_sprot.dat file. But I don't know how to read this file correctly in RStudio. I used tab-delimited format. It turned out there is only one variable in the file.

Can anybody tell me what I should do to solve the problem? I am pretty new to any computer languages.

  • 1
    $\begingroup$ Can you give us an example ID and where on the UniProt website you see the field you're looking for? Examples always help make the question more specific and grounded. $\endgroup$
    – Ram RS
    Commented Jul 29, 2019 at 19:51
  • $\begingroup$ Welcome to the site. I edited a bit the question to make it easier to find it and read. You could use gene ontology cellular component to know where a protein can end. Also, show how did you try to read the file and why did you download that file? I couldn't find anywhere that it has the information you seek. $\endgroup$
    – llrs
    Commented Jul 30, 2019 at 7:18

2 Answers 2


Since you are already on UniProtKB, the simplest way will be if you add this information to the output table and download it as a that you can import and filter in R.

To get additional annotations, click the button labelled "Columns" on top of the UniPortKB website. UniProt button row
This allows you to add a wide variety of annotations such as subcellular location to the output. Tick the checkmark for subcellular location and save on the top right.
UniProtKB column selection
Then you can download the proteome-wide annotation for example as a tab-separated list using the "Download" dialog next to the "Columns" selection. This list can be imported into R.

  • $\begingroup$ Hi PPK,Thanks for the information on how to download the subcellular location info from UniProtKB. The file seems very large to be downloaded. I am in the process of downloading. $\endgroup$
    – Jun
    Commented Jul 30, 2019 at 20:25

After my post of the question, I went to try the UniProt.ws package in the RStudio again. I realized that there is a mistake in the example code in the package. The up object is from a human database, but the keys the example provides are the ENTRZID from mouse proteins. When I tried human ENTRZID numbers, it worked. The only problem for the select method in the UniProt.ws is that it can't retrieve the protein information for a large batch of proteins. The maximum number that worked for me is about 80 proteins per time.


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.