I would like to know the genomic coordinates of a proteins ligand-binding pocket. For example, on this PDB page you can see that there is xray crystallography data for how CYP2C9 interacts with two ligands. I would like to know which amino acids form the space on the protein that binds the ligands, then translate (de-translate?) that back to the nucleotide sequence. Is anyone familiar with either a database that has this information or how to extract the ligand interaction data from the PDB files?

Thank you


2 Answers 2


It turns out there is a tool that does this beautifully. I used the proteinToGenome function from the ensembldb package.

The code looks like this:

# Define the Ensemble database object for the 
edbX <- filter(EnsDb.Hsapiens.v75, filter = ~ seq_name == "X") 
# Set the first and last amino acid you want to convert and the ensembl protein id
GAGE10_prt <- IRanges(start = 5, end = 9, names = "ENSP00000385415")
# Perform the conversion.  GAGE10_prt is an object that has the coordinates
GAGE10_prt <- proteinToGenome(GAGE10_prt, edbX) 

That PDB page includes a publication reference and abstract, containing the following text:

Mammalian CYP450s recognize and metabolize diverse xenobiotics such as drug molecules, environmental compounds and pollutants.


Here we describe the crystal structure of a human CYP450, CYP2C9, both unliganded and in complex with the anti-coagulant drug warfarin.

Here's the genomic context for CYP2C9, with Ensembl page here.

The binding pocket images from the paper here and here indicate that the following amino acids are potentially involved in the interaction:

  • Arg97
  • Phe100
  • Ala103
  • Val113
  • Phe114
  • Asn217
  • Pro367
  • Phe476

Using the filtering from the UCSC table browser (genome: Human; group: Genes & Gene Predictions; Basic table; Region: genome; Identifiers: CYP2C9; Output format: CDS fasta alignment), I get the following amino acid sequences respectively for the exons in CYP2C9. I have added in the protein reference range to the end, with the help of the R cumsum function applied to the region lengths, cumsum(c(56,54,50,54,59,47,63,47,61)):

>ENST00000260682.7_hg38_1_9 56 0 0 chr10:94938683-94938850+ [1-56]
>ENST00000260682.7_hg38_2_9 54 0 1 chr10:94941858-94942020+ [57-110]
>ENST00000260682.7_hg38_3_9 50 1 1 chr10:94942192-94942341+ [111-160]
>ENST00000260682.7_hg38_4_9 54 1 0 chr10:94947779-94947939+ [161-214]
>ENST00000260682.7_hg38_5_9 59 0 0 chr10:94949108-94949284+ [215-273]
>ENST00000260682.7_hg38_6_9 47 0 1 chr10:94972104-94972245+ [274-320]
>ENST00000260682.7_hg38_7_9 63 1 0 chr10:94981183-94981370+ [321-383]
>ENST00000260682.7_hg38_8_9 47 0 1 chr10:94986033-94986174+ [384-430]
>ENST00000260682.7_hg38_9_9 61 1 0 chr10:94988847-94989028+ [431-491]

And these nucleic acid sequences:

>ENST00000260682.7_hg38_1_9 168 0 0 chr10:94938683-94938850+
>ENST00000260682.7_hg38_2_9 163 0 1 chr10:94941858-94942020+
>ENST00000260682.7_hg38_3_9 150 1 1 chr10:94942192-94942341+
>ENST00000260682.7_hg38_4_9 161 1 0 chr10:94947779-94947939+
>ENST00000260682.7_hg38_5_9 177 0 0 chr10:94949108-94949284+
>ENST00000260682.7_hg38_6_9 142 0 1 chr10:94972104-94972245+
>ENST00000260682.7_hg38_7_9 188 1 0 chr10:94981183-94981370+
>ENST00000260682.7_hg38_8_9 142 0 1 chr10:94986033-94986174+
>ENST00000260682.7_hg38_9_9 182 1 0 chr10:94988847-94989028+

Associating the pocket protein amino acid numbers in exons 2,3,5,7,9 with genomic sequence using these FASTA sequences is left as an exercise for the reader.


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.