OEDrawPeptide

bool OEDrawPeptide(OEDepict::OEImageBase& image, const OEChem::OEMolBase& mol)

bool OEDrawPeptide(OEDepict::OEImageBase &image, const OEChem::OEMolBase &mol,
                   const OEPeptideDisplayOptions &opts)

Draws a molecule after performing substitutions in which standard amino acids components identified in the molecule are replaced by corresponding circular glyphs.

image

The image on which the molecule is drawn.

mol

The molecule being draw.

opts

The OEPeptideDisplayOptions object that stores properties that determine the styles of the peptide depiction.

Note

The OEDrawPeptide implementation does not support visualizing large proteins. The number of heavy atoms is limited to 250.

Example:

The following code snippet shows how to use the OEDrawPeptide function to generate an interactive SVG image. The image created is shown in Figure: Example of using the OEDrawPeptide function.

oemolistream ifs;

const auto flavor = OEIFlavor::Generic::Default |
                    OEIFlavor::FASTA::EmbeddedSMILES;

ifs.SetFlavor(OEFormat::FASTA, flavor);
ifs.SetFormat(OEFormat::FASTA);

const char fasta[] =
  ">Custom FASTA\n"
  "FAVS[[R4]COCC(C(=O)O)Cc1ccccc1]";
ifs.openstring(fasta);

OEGraphMol mol;
OEReadMolecule(ifs, mol);

OEImage image(400u, 250u);

OEPeptideDisplayOptions opts;
opts.SetInteractive(true);
OEDrawPeptide(image, mol, opts);
OEWriteImage("DrawPeptide.svg", image);

hover mouse over any amino acid circles

Example of using the OEDrawPeptide function to generate an interactive SVG image

../../_images/DrawPeptide.svg

Note

This interactive functionality is only available for .svg image format.

The generated svg image should be included into and HTML page with the SVG MIME type.

<object data="<imagename>.svg" type="image/svg+xml"></object>

See also

Code Example