This document is for OpenStructure version 1.1, the latest version is 2.7 !

The Graphical Entity


This document describes the API of the Entity and related classes. For an overview of the graphical entity, see Introduction to the gfx Module.

Render Modes

The entity supports different render modes. They are depicted in the following images together with the options they support. To change the render mode of the full entity or part of the entity, use the Entity.SetRenderMode() method.

Render Modes at the Connectivity Level


Renders bonds as lines and single atoms as crosses.


Renders atoms as spheres with radii proportional to their van-der-Waals radius.


Render Modes at the Trace Level


Renders a smooth backbone trace with circular profiles.


Renders a smooth backbone trace with lines.


Renders the Calpha atoms connected by tubes.


Renders the Calpha connected bys lines.


Renders a Helix/Strand/Coil Cartoon.

Render Options


The line width. Defaults to 1.0



Controls whether antialiased lines are enabled. Only available when compiled with shaders. Defaults to false.



Controls whether double/triple bonds are drawn as multiple lines. This requires that the bond order information has been assigned. As of now, only the RuleBasedBuilder assigns this information.

Defaults to off.



The distance between the lines depicting higher order bonds.

Loading and Displaying an Entity

This code examples shows how to load a structure and display it on the screen. It also shows how to programmatically combine different render modes in one graphical entity.

# remove all objects from scene, just in case
# Load chain A of SDH
ent=io.LoadPDB('data/sdh.pdb', restrict_chains='A')

# create graphics object
go=gfx.Entity('SDH', ent)
# set rendermode of full graphical object to interpolated spline
# select sidechains (including bond to C-alpha and N in case of proline)
sidechains=ent.Select('aname!=CA,C,N,O', mol.EXCLUSIVE_BONDS)
# set rendering of sidechains to simple
go.SetRenderMode(gfx.SIMPLE, sidechains)

# add object to scene

# center the scene on the geometric center of the SDH

print 'Demo 1: loading and displaying a pdb file'

Entity API Reference

class ost.gfx.Entity(name, entity)
class ost.gfx.Entity(name, render_mode, entity)

Graphical representation of entitites.


The name of the entity. Read-only. Also available as GetName()

Type :str

The selection of the entity is rendered with a green halo.

Type :EntityView

The geometric center of the graphical entity. Read-only.

Type :Vec3
  • name (str) – Name of the entity
  • render_mode – One of the Render Modes. Defaults to SIMPLE.
  • entity (EntityView, or EntityHandle) – The entity. Only atoms and bonds that part part of the entity view (or handle) are rendered.
SetRenderMode(render_mode, view, keep=False)

Changes the render mode of the graphical entity. The first signature changes the render mode of all atoms and bonds, whereas the second only changes the display of atoms/bonds that are part of the view. If keep is set to false, the atoms and bonds that are part of the view will only be displayed in the new render mode, if keep is set to true, the atoms and bonds will be rendered with the new render mode in addition to whatever render mode they were rendered previously.

SetColor(color, selection='')

Sets the atoms matching the selection predicates to color.

  • color (Color) – The new color
  • selection (str) – A valid query

Apply CPK coloring coloring to atoms. This will color the carbon atoms in white, nitrogen in blue, oxygen in red, phosphorous in pink and sulfur in yellow.

ColorBy(prop, color1, color2, min, max, hint='U')
ColorBy(prop, color1, color2, hint='U')
ColorBy(prop, gradient, min, max, hint='U')
ColorBy(prop, gradient, hint='U')

Colors the entity by mapping a numeric property to a color. This property can be a built-in a property such as atomic b-factor, charge, residue number or be a custom property assigned by the user or an algorithm and be defined at any level (chain, residue, atom). The naming of the built-in properties is identical to the properties available in query language.

In case a generic property is undefined for a certain element, the property the value of min is used for that element.

  • prop (str) – The name of the numeric property
  • color1 (Color) – Color corresponding to min value
  • color2 (Color) – Color corresponding to max value
  • gradient (Gradient) – The gradient to be used
  • hint (str) – When prop refers to a generic property, hint must be set to the hierarchy level at which the property is defined.


Enter search terms or a module, class or function name.


Documentation is available for the following OpenStructure versions:

dev / 2.7 / 2.6 / 2.5 / 2.4 / 2.3.1 / 2.3 / 2.2 / 2.1 / 2.0 / 1.9 / 1.8 / 1.7.1 / 1.7 / 1.6 / 1.5 / 1.4 / 1.3 / 1.2 / 1.11 / 1.10 / (Currently viewing 1.1)

This documentation is still under heavy development!
If something is missing or if you need the C++ API description in doxygen style, check our old documentation for further information.