This is a test version of Biostars. For the public version, visit https://www.biostars.org.
How to map ChEMBL ID to Entrez Gene?

I am looking for a database/API to map ''Target ChEMBL ID" to "Entrez Gene". For example, given CHEMBL6196 I would like to get 7363 (UGT2B4).

How about "Molecule ChEMBL ID" to "DrugBank Id", e.g. 'CHEMBL1256957': 'DB00264'?

Currently, I have to do this manually by searching for each ID in https://www.ebi.ac.uk/chembl.

chembl entrez drugbank

It works, thanks, Jean. Do you also know how can I change "Molecule ChEMBL ID" to "DrugBank Id"?

Please use ADD COMMENT/ADD REPLY when responding to existing answers/comments to keep threads logically organized.

SUBMIT ANSWER is for new answers to the original question.

I found biomaRt helpful in toggling between different database ids, I guess this would also work to jump from ChEMBL to Entrez. I have not tried that combination however in the past I have managed to jump from ensembl to uniprot, as an example.

A sample code which does this for me is :

  uniprot_id = getBM(mart = thaliana_mart, attributes = "uniprotswissprot" , values = item, filter = "ensembl_gene_id")

More information on the parameters can be found in this manual which I find extremely helpful - https://bioconductor.org/packages/release/bioc/vignettes/biomaRt/inst/doc/biomaRt.html

1 answer

ChEMBL targets are primarily associated with Uniprot accessions so you'll probably need to do it in two steps. The first is to retrieve the Uniprot accession number, the second to convert Uniprot accession to Entrez gene ID. For the first step, you have a few options:

Looking forward to a bash/R script to implement Jean-Karim's procedure.

Log in to answer this question.