0
$\begingroup$

I have a list of gene name in a file

CHRNB2
EGR2
GCK
KRT14
LMNA
FGF3
TK2
ABCC8

How can I map them to uniprot ID ?
P.S I tried Uniprot "ID mapping" (from-"GENEID" to-"UNIPROTKB AC"), but it couldn't map.
Please suggest me what to do.

$\endgroup$
  • $\begingroup$ I guess these are human genes? $\endgroup$ – Chris Jul 3 '14 at 9:03
  • $\begingroup$ yea your are right. $\endgroup$ – dhvlnyk Jul 3 '14 at 9:08
  • $\begingroup$ try biomart.. .. $\endgroup$ – WYSIWYG Jul 3 '14 at 9:08
  • $\begingroup$ Thats my recommendation, too. Biomart is the swiss army tool for this kind of convertion. $\endgroup$ – Chris Jul 3 '14 at 9:13
  • $\begingroup$ biomart did help...thnx a lot $\endgroup$ – dhvlnyk Jul 3 '14 at 9:24
4
$\begingroup$

ID mapping

This is called ID mapping. It used to be a headache as programmatic access was the only real way, but it is pretty trivial these days.

As mentioned in the comments, by far the most popular and easy method is to use Uniprot's list uploader for mapping. The corresponding publication can be found here. You must convert from Gene name to Uniprot KB ID

Programmatic access

The Uniprot web user interface will work for thousands of IDs, but is like to result in errors for queries exceeding 10,000 IDs. In that case, programmatic queries are probably better. I've slightly modified this from the Uniprot docs so that the IDs are queried 1 at a time to avoid any errors in exceeding query size. The python code would be:

import urllib,urllib2

list_to_convert = ["CHRNB2", "EGR2", "GCK", "KRT14", "LMNA", "FGF3", "TK2", "ABCC8"]
url = 'http://www.uniprot.org/mapping/'

print "From To"
for i in list_to_convert:
    params = {
    'from':'GENENAME',
    'to':'ACC',
    'format':'tab',
    'query':i
    }

    data = urllib.urlencode(params)
    request = urllib2.Request(url, data)
    contact = "" # Please set your email address here.
    request.add_header('User-Agent', 'Python %s' % contact)
    response = urllib2.urlopen(request)
    page = response.read(200000)
    print page.splitlines()[1] #Ignores the header line returned by uniprot

The output from this looks like:

From    To
CHRNB2  A0A096MXS8
EGR2    A0A096P554
GCK     A0A021WXA1
KRT14   A0A024R1X6
LMNA    A0A096MQV4
FGF3    A0A096NXI3
TK2     A0A096NJ58
ABCC8   A0A088S7J5
$\endgroup$
0
$\begingroup$

for biomart goto below link
http://central.biomart.org/converter/#!/ID_converter/gene_ensembl_config_2

Also there is one more converter which i found pretty useful
http://biodbnet.abcc.ncifcrf.gov/db/db2db.php#biodb

$\endgroup$
  • $\begingroup$ Can you explain what these links do? Just posting links as an answer is bad practice: meta.stackexchange.com/questions/8231/… $\endgroup$ – LanceLafontaine Jul 6 '14 at 15:26
  • $\begingroup$ its quite self explanatory...its basically for mapping of two identifiers.Please refer question for more details. $\endgroup$ – dhvlnyk Jul 7 '14 at 12:00
  • $\begingroup$ The biomart link is broken. Why would you choose biodb.net over Uniprot? (I'm not slamming it, I've just never heard of it and am curious if it has a major advantage) $\endgroup$ – James Jun 28 '16 at 9:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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