The sop command performs operations on one or more surface models. See also: surface, scolor, setattr, shape, define, mask, volume (surface and mesh options), vop, surface attributes
The operation can be:
Operation keywords and their sub-keywords described below can be truncated to unique strings, and their case does not matter. Surface models can be specified by a model number or range of model numbers preceded by #, or simply # to indicate all applicable surfaces. Synonyms for true: True, 1. Synonyms for false: False, 0. A vertical bar “|” designates mutually exclusive options, and default settings are indicated with bold.
• sop cap on | off [ mesh true | false ] [ offset d ] [ subdivision f ] [ color same | color-name ]Adjust capping, in which planar caps are drawn to hide the interior of a surface model sliced by a clipping plane. Capping can be toggled on or off, and caps can be shown as a solid surface or as mesh. The offset distance d is how far to displace caps from the clipping plane (default 0.01 Å). Some displacement is needed, or the cap itself can be clipped (invisible) depending on floating-point rounding errors and the specific graphics hardware being used. If d is large, however, the mismatch between the cap and the cut edge of the surface will be evident. The subdivision factor f indicates how finely to subdivide cap surfaces (default 1.0, triangles approximately the same size as in the surface being capped); larger values yield smaller triangles and finer color gradations (when the cap is multicolored, for example with Surface Color), but increase computational demands. There is no reason to increase the subdivision factor when caps are a single solid color. The cap color can be the same as that of the clipped surface model (details) or indicated with any color name that specifies a single color. See also: Surface Capping• sop clip volume-model(s) [ center atom-spec | x,y,z ] [ radius r ] [ coordinateSystem N ] [ mesh true | false ] [ color color-name ] [ replace true | false ]
Spherically clip volume isosurfaces, with curved caps covering holes. The clipping sphere center and radius can be specified; defaults are the geometric center of the isosurface and 40% of the largest dimension of its bounding box, respectively. The coordinate system for interpreting center x,y,z specifications is indicated by reference model ID number preceded by #. Caps can be shown as a solid surface or as mesh. Cap color defaults to the same as the isosurface, but can be indicated with any color name that specifies a single color, except with spaces collapsed (e.g., hotpink instead of hot pink). The replace option indicates whether to remove any pre-existing spherical clipping caps.• sop colorCopy surf-piece(s) other-surf-piece(s)
Copy the per-vertex colors from one surface piece to other pieces, or from N to N pieces. The (single) surface piece color is also copied. Surface pieces can be specified by model numbers or as a selection (details...). See also: color, scolor, msc• sop finerMesh surf-model(s) spacing d surf-creation-options
Subdivide the surface mesh to achieve the specified vertex spacing d. If the input surface already has a finer mesh than what is specified, it will simply be duplicated.• sop hideDust surf-model(s) size s [ metric size | area | volume | sizeRank | areaRank | volumeRank ] [ update true | false ]
Hide smaller blobs (disconnected parts) of a surface. One use is to simplify the display of noisy volume data. The cutoff size for hiding must be specified; blobs smaller than s will be hidden, where the units depend on the metric:• sop hidePieces surf-piece(s)Size measurements will include any blob parts that have been undisplayed or hidden by zoning or clipping, and blobs at or above the cutoff size will be displayed completely (although possibly still clipped) even if they had been hidden beforehand. The update option indicates whether to update hiding automatically if the surface is changed (default true). The command ~sop hideDust stops hiding blobs of the specified surfaces. To show only the dust for masking purposes, first hide the dust, then use sop invertShown. See also: Hide Dust
- size (default) - bounding box dimension (largest of X, Y, Z)
- area - surface area
- volume - enclosed volume
- sizeRank - rank by largest size (a value of N indicates showing the N largest blobs by the size criterion)
- areaRank - rank by largest area
- volumeRank - rank by largest volume
Hide and show pieces (independently selectable parts) of a surface. Surface pieces can be specified by model number or as a selection (details...).• sop invertShown surf-piece(s)
For the specified surface pieces, hide blobs (disconnected parts) that are shown and show those that are hidden. This is useful after hiding dust to show only the dust, allowing the density within to be masked. Example: sop invertShown #0; mask #0 #0 invert true• sop smooth surf-piece(s) [ factor f ] [ iterations i ] surf-creation-options
Smooth surface pieces by moving each vertex toward the average position of its neighboring vertices (those connected by triangle edges). In each of i iterations (default 2), each vertex is moved a fraction f (default 0.3) of the way toward the average position of its neighbors. This will generally “shrink” a surface, i.e., smoothing an enclosed surface will make it enclose a smaller volume. A molecular surface can be smoothed without shrinkage by instead increasing its vertex density (for example, command: setattr s density 5). See also: smoothness tips• sop split surf-model(s) surf-creation-options
Copy a surface model into a new model in which the disconnected blobs (components) are independently selectable pieces.• sop transform surface(s) [ scale s | radius r ] [ rotate angle ] [ move x,y,z ] [ center x,y,z | atom-spec ] [ axis x | y | z | x,y,z | atom-spec ] [ coordinateSystem N ]
Scale, rotate, and shift surface models and/or pieces. Surface pieces can be specified by model number or as a selection (details...). Scaling about the center is applied first, then rotation about the center and axis, and then translation (shifting). Scaling can be done with a multiplicative scale factor s, or such that the largest distance from a surface vertex to the center is radius r (see the video mini-example). The rotate option indicates a rotation of angle degrees about the center and axis, and move indicates a shift of x, y, and z distance units along the X, Y, and Z axes, respectively. The center for scaling and rotation defaults to the area-weighted center of the surface, but can be given as x,y,z coordinates or an atom-spec. The rotation axis can be given as:• sop zone surf-model(s) atom-spec radius [ bondPointSpacing s ] [ maxComponents N ] [ update true | false ]The coordinate system for interpreting center, axis, and shift x,y,z specifications is indicated by reference model ID number preceded by #. By default, the coordinate system of the first specified surface is used.
- x - X-axis
- y - Y-axis
- z (default) - Z-axis
- x,y,z (three values separated by commas only) - an arbitrary vector
- an atom-spec of exactly two atoms (not necessarily bonded or in the same model) or one bond. A bond can only be specified by selecting it and using the word selected, sel, or picked; any atoms also selected at the time will be ignored.
Show only parts of the surface within radius Å of any atom in atom-spec. If bondPointSpacing s is specified, use points along bonds in addition to the atoms to define the zone. The points along the bonds will be placed s × (bond radius) apart. Link radii in Volume Tracer are equivalent to bond radii, except when a link radius is 0.0, the corresponding bond radius is 1.0. The maxComponents option indicates hiding all but the N largest connected surface patches in the zone; by removing the visual clutter of small patches, this can significantly enhance viewing of pocket surfaces. Ranking to determine the largest is based on maximum dimension (along X, Y, or Z for a given patch), including any portions within the zone that are hidden by clipping. If maxComponents is not supplied, all patches within the zone will be shown. The update setting indicates whether to update the zone automatically if the surface changes shape. The command ~sop zone stops hiding the surface parts outside the zone. See also: Surface Zone and the Zone feature in Volume Viewer
The following options apply to operations that create a new surface model.
modelId N
Open the new surface as model number N (an integer, optionally preceded by #). The default is the lowest unused number.
inPlace true|false
Whether to overwrite the existing surface in Chimera instead of creating a new one.