This document is for OpenStructure version 2.5, the latest version is 2.8 !

A gentle introduction to OpenStructure

In this tutorial you will be learning by example how to use the OpenStructure framework.

We assume that you already have a version of OpenStructure installed. If not, please refer to Installing OpenStructure From Source.

What will be covered in this tutorial?

The tutorial is divided into several parts. The first part of the tutorial is a walk-through of the basic functionality you will be using in your everyday work, followed by an introduction to the mol, img and seq modules.

Getting ready to rumble

The files we will be using in the tutorial are available in the examples directory that comes with OpenStructure. Depending on your platform, the examples are located at a different location:

  • on macOS the files are located inside the application bundle ( The file browser will automatically point to the examples.

  • on Linux the files are located at PREFIX/share/openstructure/examples, where PREFIX is the path to the directory containing OpenStructure.

Starting DNG

The graphical user interface of OpenStructure is called DNG (Dino/DeepView Next Generation). To start it,

  • on macOS double click

  • on Linux fire up a terminal change into the OpenStructure installation directory and type ‘bin/dng’. If you have the binary directory in the PATH, typing dng is sufficient.

Interactive Python Shell


Now we will enter commands in the Python shell (in the screenshot above, the Python shell (shown in green) is located at the right of the main window). If you want to get more information on any object, function or class, the Python help command may be useful. For example:

# get list of methods of EntityView
# get help for method Select

Continue with part one


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


Documentation is available for the following OpenStructure versions:

dev / 2.8 / 2.7 / 2.6 / (Currently viewing 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 / 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.