Atom Specification

Atoms may be specified in commands using:

or combinations of these.

When a plus sign (+) has been typed into the Command Line, it will be replaced by the atom specification string of the next picked atom. Each plus sign must be preceded and followed by a space (or the end of the line). In addition, the following are valid atom specifications:

Those familiar with atom specification in Midas may wish to consult the summary of differences.

Hierarchical Specifiers

BASIC ATOM SPECIFICATION
Symbol Reference Level Definition
# model number assigned to the model by default or by the user with the open command.
: residue residue name
OR
residue sequence number, with any insertion code appended
:: residue residue name
@ atom atom name

Multiple models (structures from multiple input files) may be displayed simultaneously. Model numbers are assigned by the user with the open command or sequentially by default. Each model consists of one or more residues, each with a sequence number. The atoms that make up a residue have names which are unique within that residue. Thus, each atom may be described by its model number, residue number, and atom name. Note that the lack of any specifier is interpreted to mean all units of the associated reference level.

The residue and atom names are determined when the input file is read in, and generally match the standard Protein Data Bank (PDB) residue and atom names. If * occurs within an atom or residue name read from a PDB file, it is changed to ' (prime symbol).

Model and residue numbers are integers, although a residue number may have an insertion code directly appended. Multiple model numbers or residue numbers may be indicated by comma-separated lists and/or one or more ranges of the form start-end. The words start and end can be substituted for start and end, respectively, and all can be substituted for the whole range (same as no specification at that level).

Residue names and numbers cannot be specified together using a single colon, but both can be specified in a single line by using more than one colon. For example,

:hem:52 (NOT :hem,52)
specifies all residues named HEM and residue 52.

In some cases, the basic notations cannot uniquely specify the model, residue, or atom of interest:

SUBCATEGORIES
General Form Explanation
#model(s).submodel(s) when a single PDB file contains multiple MODELs, they are considered submodels 1, 2, ... of a single model in Chimera
:residue(s).chain(s) when a single model contains multiple chains, a unique specification includes both residue number and chain identifier
@atom(s).altloc(s) when a single residue contains alternate locations of certain atoms, an independent specification includes both atom name and alternate location identifier

Submodel(s) are integers and may be indicated by a single value or a range of the form start-end. The words start and end can be substituted for start and end, respectively, and all can be substituted for the whole range (same as no submodel specification).

Chain(s) and altloc(s) are alphabetical characters. Any residue in PDB HETATM records (or the mmCIF equivalent) that does not already have a chain identifier is assigned to chain het, unless the residue is named WAT or HOH, in which case it is assigned to chain water; residue numbers are unchanged. (See also the residue attribute isHet.)

Capitalization of residue and atom names, chain identifiers, insertion codes, or alternate location identifiers is not important, with one exception: when a model contains both uppercase and lowercase chain identifiers, case matters for chain specification in that model only.

Subcategorizations are appended to the basic specification. The symbol for the relevant category (#, :, or @) must precede the subcategory specification, although they need not be immediately adjacent. Because commas are used only to separate values of the basic reference levels (model, residue, and atom), they cannot be used to separate values of the sublevels directly. For example,

#0.1-3,5
is interpreted as submodels 1-3 of model 0 and all of model 5, while
#0.1-3,.5
indicates submodels 1-3 of model 0 and submodel 5 of all models.

A subcategory specification applies only to the preceding category value(s) not separated from it by any commas. Thus,

:50.B,.D
indicates residue 50 in chain B and all residues in chain D;
:12-15,26-28.a,45.b@ca
specifies CA atoms in residues 12-15 in all chains (except the special chains het and water), 26-28 in chain A, and 45 in chain B. The following specifies residues 12-15 in no-ID chains only:
:12-15.

Additional examples:

#0
- all atoms in model 0
:.A@ca,c,n,o
- peptide backbone atoms in chain A
:522.water
- water residue 522 (a HETATM residue named HOH or WAT without a chain ID in the input file)
:lys
- or -
::lys
- all lysine residues
#3:45-83,90-98
- residues 45-83 and 90-98 in model 3
#0:12@CA@N
- alpha carbon and nitrogen of residue 12 in model 0 (in that order)
#0:12@CA,N
- alpha carbon and nitrogen of residue 12 in model 0 (unordered)

Using the @ notation for both atoms specifies their order (important for certain commands, such as match). Using commas specifies a "group" of atoms, in no particular order. Groups of residues (models) are specified analogously.

:12,14@CA
- alpha carbons of residues 12 and 14
:12:14@CA
- all atoms of residue 12 and alpha carbon of residue 14
:12-20@CA:14@N
- alpha carbons of residues 12-20 and nitrogen of residue 14

WILD CARDS

The global wild card * matches all atoms in a residue or all residues in a model. It stands alone as a symbol, that is, it cannot be used to match parts of names, such as G* or *A. The partial wild card = matches parts of atom or residue names but not parts of residue sequence numbers; similarly, the single-character wild card ? matches single characters within residue or atom names but not single digits within residue sequence numbers. For example:

#1:12@*
- or -
#1:12
- all atoms in residue 12 of model 1
#0,1,2:50-*@CA
- all alpha carbon atoms in residues 50 to the end of models 0, 1 and 2
#2:G??
- all residues which have three-letter names beginning with G in model 2
:fmn@?1
- atoms within residue FMN which have two-letter names ending with 1
@S=
- all atoms which have names beginning with S; in general, this will be all sulfur atoms
#0@H@H?@H??
- all atoms with one-, two-, or three-letter names beginning with H in model 0

Zones

Zone specifiers are used to select atoms and residues that are within a given distance of the referenced atom(s). z< and zr< specify all residues with any atom within the given distance from the referenced atoms. za< specifies all atoms within the given distance. z>, zr>, and za> yield the sets complementary to their < counterparts. For example,

#1:gtp za<10.5
selects all atoms within 10.5 angstroms of any atom in residue GTP, model 1.


Built-in Classifications

Any of the entries in the following sections of the Select menu can be used for command-line atom specification:

The same pattern of capitalization and spaces, if any, as shown in the Select menu should be used. Where there is ambiguity, the parent menu should be included in the specification, for example, "IDATM type.H" or "element.H" instead of "H" alone. The parent menu can be included in this manner even when not necessary.

One can also use custom amino acid categories that have been defined with ResProp and custom categories for surface calculation that have been defined with the command msms cat (surfcat). If a saved selection has the same name as a surface category, the saved selection will be used.

Some examples:

side chain/base.without CA/C1'
- or -
without CA/C1'
- atoms in amino acid side chains (not including CA) and atoms in nucleic acid bases (not including C1')
#1 & Mg
- magnesium atoms/ions in model 1
carboxylate
- atoms in carboxylate groups
solvent
- atoms automatically categorized as solvent

Attributes

Attributes are properties of atoms, residues and models. The slash mark / indicates specification by attribute value. The symbol for the relevant category (@ for atom attributes, : for residue attributes, # for model attributes) must precede the slash mark, although it need not be immediately adjacent.

Multiple attributes at the same reference level (different atom properties, for example) can follow a single slash mark and should be separated by and or or. When and and or occur in the same list, and has higher priority (and-separated lists can be considered as grouped within parentheses).

The attribute names are case-sensitive; the attribute values, if any, are case-sensitive if specified with ==, but not if specified with =. Attribute values containing spaces (some color names, for example) must be enclosed by double quotes. Attributes with numerical values can also be used with > (greater than), < (less than), >= (greater than or equal to), and <= (less than or equal to).

The exclamation mark ! indicates that the atoms, residues, or models must not match the subsequent attribute specification. For yes/no properties the syntax is !attribute_name, and for multivalued properties the syntax is attribute_name!=value.

When placed before an attribute name, the caret ^ indicates that the atoms, residues, or models have not been assigned any value for the attribute. For example, :/^kdHydrophobicity designates residues (such as water or nucleic acids) that lack a Kyte-Doolittle hydrophobicity assignment.

The operators ~ and !~ can be used instead of = and !=, respectively, to indicate that the subsequent string should be treated as a regular expression.

ATOM ATTRIBUTES **
Name and Usage Explanation
altLoc=altloc altloc is the alternate location identifier of the atom
bfactor=bfactor bfactor is the B-factor value of the atom
color=color color is the color of the atom (assigned on a per-atom basis; see coloring hierarchy)
drawMode=mode mode can be 0 (synonyms: dot, wire, wireframe), 1 (sphere, cpk, space-filling), 2 (endcap, stick), or 3 (ball, ball and stick, ball-and-stick, ball+stick, bs, b+s); see draw mode
defaultRadius=rad rad is the default VDW radius of the atom in angstroms
display whether display is enabled at the atom level (see display hierarchy)
element=atno atno is the atomic number
idatmType=type type is the atom type
label whether the atom is labeled
label=label label is the text of the atom label
labelColor=labcolor labcolor is the color of the atom label
name=name name is the atom name
occupancy=occupancy occupancy is the occupancy value of the atom
radius=radius radius is the radius of the atom in angstroms (may have been changed by the user from the default VDW radius)
serialNumber=n n is the atom serial number in the input file
surfaceCategory=category category is the name of the category to which the atom has been assigned automatically or manually using msms cat (or surfcat)
surfaceColor=surfcolor surfcolor is the color of the atom's surface
surfaceDisplay whether molecular surface display is turned on for the atom (however, this can be true even when the atom does not contribute to the molecular surface)
vdw whether VDW surface display is turned on for the atom (however, this can be true even when the atom does not contribute to the VDW surface)

Examples:

@ca/!label and color!=green and color!=red
- or -
@/name=ca and !label and color!=green and color!=red
- atoms named CA which are not labeled, and are not green or red
@n/drawMode=1 and color=green
- atoms named N that are green and drawn as spheres
@n/drawMode=1 or color=green
- atoms named N that are green and/or drawn as spheres
@/color=yellow or color=blue and label
- atoms that are yellow and atoms that are both blue and labeled
@/color!=yellow or color!=blue
- all atoms, because if an atom is yellow it fulfills the criterion of not being blue, and vice versa
@/bfactor>=50
- atoms with B-factor values greater than or equal to 50

RESIDUE ATTRIBUTES **
Name and Usage Explanation
isHelix whether the residue is in an alpha helix (true is only possible for amino acids)
isHet whether the residue is in PDB HETATM records (or the mmCIF equivalent)
isSheet
OR
isStrand
whether the residue is in a beta strand (true is only possible for amino acids)
isTurn whether the residue is assigned to a turn in the input file (true is only possible for amino acids)
kdHydrophobicity=value value is the Kyte-Doolittle hydrophobicity of the residue
ribbonColor=ribcolor ribcolor is the color of the residue's ribbon segment (see coloring hierarchy)
ribbonDisplay whether ribbon display is turned on for the residue (however, this can be true even when the residue is a type that does not have any ribbon, such as water)
type=resname resname is the residue name

Helix, sheet, and turn assignments are taken from the input structure file. When the input file lacks secondary structure information, ksdssp is called automatically to generate helix and sheet assignments. The ksdssp command (or compute SS in the Model Panel) can also be used at will to recompute assignments.

Examples:

:/type!=gly and type!=pro
- all residues not named GLY or PRO
:/isStrand :/isHelix
- or -
:/isStrand or isHelix
- all amino acid residues in beta strands or alpha helices
:/isStrand and isHelix
- nothing, because the criteria are mutually exclusive

MOLECULE MODEL ATTRIBUTES **
Name and Usage Explanation
color=color color is the color assigned on a per-model basis (see coloring hierarchy)
display whether display is enabled at the model level (see display hierarchy)
explicitHydrogens whether the model has hydrogen atoms
lineWidth=width width is the linewidth of bonds in the model in the wire representation
pointSize=size size is the pixel size of dots in VDW surfaces on the model
vdwDensity=density density is the dot density used for VDW surfaces on the model

**Additional attributes can be created:


Combinations

Atom specifications can be combined with the operators:

These operators must be space-separated from other characters. When & and | occur in the same list, & has higher priority (&-separated lists can be considered as grouped within parentheses).

Note that a different set of operators (and, or, !, etc.) are used to combine attribute tests; however, any operators can be used within the same specification (as shown in the following example).

Examples:

#1:/type=asp or type=glu & #0 z<10
- or -
#1:asp,glu & #0 z<10
- aspartate residues and glutamate residues in model 1 that are within 10 angstroms of model 0
:cys@sg & ~ disulfide
- or -
:cys & S & ~ disulfide
- cysteine sulfur atoms not participating in a disulfide bond
ions za<4 & ~ ions
- atoms within 4 angstroms of atoms categorized as ions, excluding the ions themselves
ligand z<5 & ~ ligand & ~ solvent
- residues with any atoms within 5 angstroms of residues categorized as ligand, excluding ligand and solvent
Ng+ | N3+
- guanidinium nitrogens and sp3-hybridized, formally positive nitrogens (see atom types)


UCSF Computer Graphics Laboratory / June 2006