Visualizing Protein-Ligand Maps¶
Problem¶
You would like to generate one image that contains all of the Grapheme TK maps that represent protein-ligand information. See example in Figure 1.
Figure 1. Example of depicting the various protein-ligand maps of 2A1B complex
Ingredients¶
|
Difficulty level¶
Download¶
Solution¶
The depict_activesite_maps function illustrates how simple it is to generate these images.
- First the OEInteractionHintContainer object is constructed that stores information about possible interactions between the ligand and the protein.
- The interactions are perceived by calling the OEPerceiveInteractionHints function.
- The active site is then prepared for 2D depiction by invoking the OEPrepareActiveSiteDepiction function.
- When the OE2DActiveSiteDisplay object is constructed, residues are positioned around the ligand close to those atoms which they are interacting with.
- The OERenderActiveSiteMaps function generates a multi-tab interactive image.
def depict_activesite_maps(image, protein, ligand):
"""
:type image: oedepict.OEImageBase
:type protein: oechem.OEMolBase
:type ligand: oechem.OEMolBase
"""
# perceive interactions
asite = oechem.OEInteractionHintContainer(protein, ligand)
if not asite.IsValid():
oechem.OEThrow.Fatal("Cannot initialize active site!")
asite.SetTitle(ligand.GetTitle())
oechem.OEPerceiveInteractionHints(asite)
# depiction
oegrapheme.OEPrepareActiveSiteDepiction(asite)
oegrapheme.OERenderActiveSiteMaps(image, asite)
Usage¶
Usage
The following commands will generate the image shown in Figure 1.
prompt > wget https://files.rcsb.org/download/1a1b.pdb
prompt > python3 activesitemaps2img.py -complex 1a1b.pdb -out 1a1b.svg
Command Line Parameters¶
Simple parameter list
-height : Height of output image
-width : Width of output image
SplitMolComplex options :
-covalentligand : Split covalent ligands
-ligandname : Ligand name
input/output options :
-complex : Input filename of the protein-ligand complex
-protein : Input filename of the protein
-ligand : Input filename of the ligand
-out : Output filename of the generated image
Discussion¶
OERenderActiveSiteMaps currently visualizes protein-ligand information in four different maps:
- interaction map (using OERenderActiveSite)
- unpaired interaction map (using OERenderUnpairedInteractionMap)
- B-factor map (using OERenderBFactorMap)
- contact map (using OERenderContactMap)
See also in OEChem TK manual¶
Theory
- Biopolymers chapter
- Protein Preparation chapter
API
- OEInteractionHintContainer class
- OEPerceiveInteractionHints function
See also in OEDepict TK manual¶
Theory
- Molecule Depiction chapter
- Generating Interactive SVG images chapter
API
- OEImage class
See also in GraphemeTM TK manual¶
API
- OE2DActiveSiteDisplay class
- OEPrepareActiveSiteDepiction function
- OERenderActiveSiteMaps function