Segger

Segger partitions volume data to create a surface model with one or more segmentation regions (specialized surface pieces) shown in different colors. Along with the SegFit tool, Segger is part of the Segger package described in:

Quantitative analysis of cryo-EM density map segmentation by watershed and scale-space filtering, and fitting of structures by alignment to regions. Pintilie GD, Zhang J, Goddard TD, Chiu W, Gossard DC. J Struct Biol. 2010 Jun;170(3):427-38.
Segmentation regions can be measured with Measure and Color Blobs and colored or selected by size using Render/Select by Attribute. The Measure and Color Blobs tool can also be used on the planar caps where regions are clipped.

See also: Segger documentation, Segger how-to at the Chimera website, Volume Viewer, Volume Filter, Color Zone, segment, mask, measure

Methodology

Segger performs watershed segmentation: a density map is partitioned so that each local maximum has its own region, and the boundaries between regions lie at the valleys between the local maxima. The goal is usually one region per protein or domain, but the initial segmentation often gives more numerous and smaller regions than desired, especially if the data are noisy. Segger provides various ways to combine regions after the initial segmentation:

However, it may also be necessary to smooth the data before segmentation, as discussed below.

Data Size and Preprocessing

For working with large density maps (> 500 Mbytes), a 64-bit version of Chimera and a machine with more than 4 Gbytes of memory are recommended.

It may be necessary to process a density map beforehand to allow segmentation to finish in a reasonable amount of time. Maps of size 2563 with grid spacing about 1/3 of the map resolution are manageable on desktop computers circa 2010, while larger maps may require smoothing and binning. Calculation of 100,000 watershed regions is reasonable, but calculation of a million is unusably slow. A map of size 2563 can easily have a million local maxima if it is noisy. Gaussian filtering and binning to reduce the number of local maxima can be performed with Volume Filter or the command vop. Gaussian filtering reduces resolution to about six times the Gaussian standard deviation. For visualization and analysis, it is desirable for a density map to be oversampled by three times in each dimension, so binning should aim for a grid spacing of approximately twice the Gaussian standard deviation.

If interactive rotation speed is poor after segmentation, see response time issues.

Dialog and Basic Usage

There are several ways to start Segger, a tool in the Volume Data category (including from the Volume Viewer Tools menu).

The map of interest should be chosen from the pulldown menu of open volume data sets next to Segment map. The threshold (contour level) of the map in Volume Viewer should be adjusted before segmentation, because the calculation will use only the voxels with density values above that level.

Clicking Segment partitions the chosen map by the watershed method plus smoothing and grouping as specified in the options. The segmentation result is shown as a surface model with one or more segmentation regions (specialized surface pieces) of different colors. The resulting number of regions is reported in the dialog and the Reply Log. The segmentation is given the same name as the corresponding map except with .seg appended.

The Current segmentation is indicated in the dialog and can be changed by choosing a different segmentation name from the pulldown menu. Designating a segmentation as the current segmentation shows it and hides any others. Grouping and ungrouping operations modify the current segmentation model rather than creating a new one. However, multiple segmentation models can be open at the same time, and may have been generated from different density maps or opened from previously saved segmentation files.

Grouping and ungrouping can be specified interactively by selection. With default Mouse preferences, Ctrl-click selects a region and Shift-Ctrl-click selects additional regions without erasing the pre-existing selection.

Grouping, ungrouping, and other manipulations can also be performed with the Segger Regions menu. Segmentation results are not included in saved Chimera sessions, but can be saved using the Segger File menu. Close dismisses the Segger dialog. Help shows documentation in a browser window.

Clicking Options reveals additional settings (clicking the close button on the right hides them again):

Clicking Shortcuts reveals several buttons for quickly displaying, selecting, and acting upon selected segmentation regions. There are also buttons for calling separate dialogs:

Clicking the close button on the right hides the shortcut buttons.

Segmentation Region Attributes

Segmenting a map generates segmentation regions and automatically assigns them several attributes. These attributes can be inspected and new attributes assigned using the Region Attributes dialog, opened by choosing Regions... Attributes table from the Segger menu. Segmentation regions can be colored or selected based on their attribute values using the Render/Select by Attribute tool. See also: Define Attribute, measure spine

In the Region Attributes dialog, each row is a region, and each column is an attribute that can be shown or hidden using the Columns menu. The table can be sorted by the values in any displayed column by clicking the column header. Clicking the header once sorts the entries in order of increasing value and places an up arrowhead (triangle) in the header. Clicking again sorts the entries in decreasing order and places a down arrowhead (inverted triangle) in the header.

One or more regions (rows) in the table can be chosen with the left mouse button. A contiguous block of rows can be chosen by dragging, or by clicking on the first (or last) line and then Shift-clicking on the last (or first). Ctrl-click toggles the status of a single line. Choosing a region in the table selects it, and selecting a region in the graphics window will center and highlight the corresponding row in the table.

The automatically created attributes are read-only:

New attributes for the chosen region(s) can be created or their values changed using: Region attribute values can be integers, floating point numbers, text strings, or images, and a given attribute (column) can have multiple types of values, although only one per region (row). An attr_value can be entered, or the snapshot button clicked to set the value to an image of the graphics window. An image can be shown at full size by clicking its miniature version in the table, and saved as PNG, JPEG, or TIFF using the Save button on the full-size view.

The table can filtered to show only the rows meeting some attribute criterion:

The criterion is specified in Python syntax. Examples:
grid_points > 1500
note
contacts == 0 and note and "good" in note
where the second would list only regions with an attribute named note and the third would list only regions that are not in contact with other regions and that have an attribute named note containing the word good.

Clicking Update refreshes the Region Attributes dialog to reflect any changes in the current segmentation or its groupings. Close dismisses the dialog, and Help shows this manual page in a browser window.

The contents (excluding images) of the rows and columns currently shown in the filtered table can be saved in a comma-separated format using File... Export in the Region Attributes dialog menu. All of the attributes (including images) can be saved along with other segmentation information using File... Save Segmentation in the Segger menu.

Segger Menu

Menu entries apply only to the current segmentation unless stated otherwise.

File

Regions

Response Time Issues

High number of surface triangles. Surfaces are drawn as many small triangles. The number of surface triangles can be reduced by increasing the granularity (triangle size). Doubling the value will reduce the number of triangles by approximately a factor of 4 and may improve rendering speed by a similar factor. Also, the display can be limited to a specified maximum number of regions.

Selected surfaces. Chimera shows selections with a green outline (assuming default Selection preferences). Selection outlines can increase the time to draw a single frame as much as fivefold. If rotation is slow, avoid having objects selected when the selection is not needed.

Mac graphics speed. Rendering many small segmentation surfaces on Mac OS 10.6 is about three times slower than on other platforms (Linux, Windows). As mentioned above, the display can be limited to a specified maximum number of regions. Also, increasing the surface granularity will improve rendering speed. The poor performance on the Mac is because Chimera has disabled use of the fast rendering technique of OpenGL vertex buffer objects for small surfaces, as it causes minute-long freezes on the Mac when over 5000 segmentation surfaces are shown.


UCSF Computer Graphics Laboratory / November 2020