Difference between revisions of "Selection Algebra"

From PyMOLWiki
Jump to: navigation, search
(Selection Operator/Modifier Table: fix vertical line display for "or" operator)
(complete operator table)
Line 8: Line 8:
 
Selection operators and modifiers are listed below. The dummy variables ''s1'' and ''s2'' stand for selection-expressions such as "chain a" or "hydro."
 
Selection operators and modifiers are listed below. The dummy variables ''s1'' and ''s2'' stand for selection-expressions such as "chain a" or "hydro."
  
{| border=1 cellpadding=10
+
{| class="wikitable"
 
|-
 
|-
 
! Operator
 
! Operator
! Short Form
+
! Aliases
! Effect
+
! Description
 
 
 
|-
 
|-
| not ''s''1
+
!colspan="3" style="text-align:left"| Generic
| !''s''1
 
| Selects atoms that are not included in ''s''1.
 
<pre>PyMOL> select sidechains, ! bb</pre>
 
 
 
 
|-
 
|-
| ''s''1 and ''s''2
+
| all || *
| ''s''1 &amp; ''s''2
+
| All atoms currently loaded into PyMOL
| Selects atoms included in both ''s''1 and ''s''2.
 
<pre>PyMOL> select far_bb, bb &amp;farfrm_ten</pre>
 
 
 
 
|-
 
|-
| ''s''1 or ''s''2
+
| none ||  
| ''s''1 &#124; ''s''2
+
| Empty selection
| Selects atoms included in either ''s''1 or ''s''2.
 
<pre>PyMOL> select all_prot, bb | sidechain</pre>
 
 
 
 
|-
 
|-
| ''s''1 in ''s''2
+
| enabled ||  
| ''s''1 in ''s''2
+
| Atoms from enabled objects
|Selects atoms in ''s''1 whose identifiers name, resi, resn, chain and segi <u>'''all'''</u> match atoms in ''s''2.
 
<pre>PyMOL> select same_atms, pept in prot</pre>
 
 
 
 
|-
 
|-
| ''s''1 like ''s''2
+
!colspan="3" style="text-align:left"| Named selections
| ''s''1 l. ''s''2
 
| Selects atoms in ''s''1 whose identifiers name and resi match atoms in ''s''2.
 
<pre>PyMOL> select similar_atms, pept like prot</pre>
 
 
 
 
|-
 
|-
| ''s''1 gap ''X''
+
| <span style="color: #999">sele</span> ||
|
+
| Named selection or object "sele", but only if it doesn't conflict with the name of another operator
|Selects all atoms whose van der Waals radii are separated from the van der Waals radii of ''s''1 by a minimum of'' X'' Angstroms.
 
<pre>PyMOL> select farfrm_ten, resi 10 gap 5</pre>
 
 
 
 
|-
 
|-
| ''s''1 around ''X''
+
| %<span style="color: #999">sele</span> ||
| ''s''1 a. ''X''
+
| Named selection or object "sele"
|Selects atoms with centers within'' X'' Angstroms of the center of any atom in''s''1.
 
<pre>PyMOL> select near_ten, resi 10 around 5</pre>
 
 
 
 
|-
 
|-
| ''s''1 expand ''X''
+
| ?<span style="color: #999">sele</span> ||
| ''s''1 x. ''X''
+
| Named selection or object "sele", or empty selection if "sele" doesn't exist
|Expands ''s''1 by all atoms within ''X'' Angstroms of the center of any atom in ''s''1.
 
<pre>PyMOL> select near_ten_x, near_ten expand 3</pre>
 
 
 
 
|-
 
|-
| ''s''1 within ''X'' of ''s''2
+
!colspan="3" style="text-align:left"| Logical
| ''s''1 w. ''X'' of ''s''2
 
| Selects atoms in ''s''1 that are within ''X'' Angstroms of any atom in ''s''2.
 
<pre>PyMOL> select bbnearten, bb w. 4 of resi 10</pre>
 
 
 
 
|-
 
|-
| ''s''1 near_to ''X'' of ''s''2
+
| not <span style="color: #999">S1</span> || !
| ''s''1 nto. ''X'' of ''s''2
+
| Inverts selection
| Same as ''within'', but excludes ''s''2 from the selection (and thus is identical to <code>s1 and ''s2'' around X</code>).
 
 
 
 
|-
 
|-
| ''s''1 beyond ''X'' of ''s''2
+
| <span style="color: #999">S1</span> and <span style="color: #999">S2</span> || &
| ''s''1 be. ''X'' of ''s''2
+
| Atoms included in both S1 and S2
| Selects atoms in ''s1'' that are at least ''X'' Anstroms away from ''s2''.
 
 
 
 
|-
 
|-
| byres ''s''1
+
| <span style="color: #999">S1</span> or <span style="color: #999">S2</span> || <nowiki>|</nowiki>
| br. ''s''1
+
| Atoms included in either S1 or S2
| Expands selection to complete residues.
 
<pre>PyMOL> select complete_res, br. bbnear10</pre>
 
 
 
 
|-
 
|-
| bymolecule ''s''1
+
| first <span style="color: #999">S1</span> ||
| bm. ''s''1
+
| First atom in S1 (single atom selection)
| Expands selection to complete molecules.
 
<pre>PyMOL> select complete_mol, bm. bbnear10</pre>
 
 
 
 
|-
 
|-
| byfragment ''s''1
+
| last <span style="color: #999">S1</span> ||
| bf. ''s''1
+
| Last atom in S1 (single atom selection)
| Expands selection to complete fragments.
 
<pre>PyMOL> select complete_frag, bf. bbnear10</pre>
 
 
 
 
|-
 
|-
| bysegment ''s''1
+
!colspan="3" style="text-align:left"| Identifiers
| bs. ''s''1
 
| Expands selection to complete segments.
 
<pre>PyMOL> select complete_seg, bs. bbnear10</pre>
 
 
 
 
|-
 
|-
| byobject ''s''1
+
| model <span style="color: #999">1ubq</span> || m.
| bo. ''s''1
+
| Atoms from object "1ubq"
| Expands selection to complete objects.
 
<pre>PyMOL> select near_obj, bo. near_res</pre>
 
 
 
 
|-
 
|-
| bycell ''s''1
+
| chain <span style="color: #999">C</span> || c.
 +
| Chain identifier "C"
 +
|-
 +
| segi <span style="color: #999">S</span> || s.
 +
| Segment identifier "S" ('''label_asym_id''' from mmCIF)
 +
|-
 +
| resn <span style="color: #999">ALA</span> || r.
 +
| Residue name "ALA"
 +
|-
 +
| resi <span style="color: #999">100-200</span> || i.
 +
| Residue identifier between 100 and 200
 +
|-
 +
| name <span style="color: #999">CA</span> || n.
 +
| Atom name "CA"
 +
|-
 +
| alt <span style="color: #999">A</span> ||
 +
| Alternate location "A"
 +
|-
 +
| index <span style="color: #999">123</span> || idx.
 +
| Internal per-object atom index (changes with [[sort|sorting]])
 +
|-
 +
| id <span style="color: #999">123</span> ||
 +
| ID column from PDB file
 +
|-
 +
| rank <span style="color: #999">123</span> ||
 +
| Per-object atom index at load time (see also [[retain_order]])
 +
|-
 +
| pepseq <span style="color: #999">ACDEF</span> || ps.
 +
| Protein residue sequence with one-letter code "ACDEF" (see also [[FindSeq]])
 +
|-
 +
| label <span style="color: #999">"Hello World"</span> ||
 +
| Atoms with label "Hello World" ''(new in PyMOL 1.9)''
 +
|-
 +
!colspan="3" style="text-align:left"| Identifier matching
 +
|-
 +
| <span style="color: #999">S1</span> in <span style="color: #999">S2</span> ||
 +
| Atoms in S1 whose identifiers ''name, resi, resn, chain'' and ''segi'' '''all''' match atoms in S2
 +
|-
 +
| <span style="color: #999">S1</span> like <span style="color: #999">S2</span> ||
 +
| Atoms in S1 whose identifiers ''name'' and ''resi'' match atoms in S2
 +
|-
 +
!colspan="3" style="text-align:left"| Entity expansion
 +
|-
 +
| byobject <span style="color: #999">S1</span> ||
 +
| Expands S1 to complete objects
 +
|-
 +
| bysegi <span style="color: #999">S1</span> || bs.
 +
| Expands S1 to complete segments
 +
|-
 +
| bychain <span style="color: #999">S1</span> || bc.
 +
| Expands S1 to complete chains
 +
|-
 +
| byres <span style="color: #999">S1</span> || br.
 +
| Expands S1 to complete residues
 +
|-
 +
| bycalpha <span style="color: #999">S1</span> || bca.
 +
| CA atoms of residues with at least one atom in S1
 +
|-
 +
| bymolecule <span style="color: #999">S1</span> || bm.
 +
| Expands S1 to complete molecules (connected with bonds)
 +
|-
 +
| byfragment <span style="color: #999">S1</span> || bf.
 +
|
 +
|-
 +
| byring <span style="color: #999">S1</span> ||
 +
| All rings of size ≤ 7 which have at least one atom in S1 ''(new in PyMOL 1.8.2)''
 +
|-
 +
| bycell <span style="color: #999">S1</span> ||
 +
| Expands selection to unit cell
 +
|-
 +
!colspan="3" style="text-align:left"| Bond expansion
 +
|-
 +
| bound_to <span style="color: #999">S1</span> || bto.
 +
| Atoms directly bonded to S1, may include S1
 +
|-
 +
| neighbor <span style="color: #999">S1</span> || nbr.
 +
| Atoms directly bonded to S1, excludes S1
 +
|-
 +
| <span style="color: #999">S1</span> extend <span style="color: #999">3</span> || xt.
 +
| Expands S1 by 3 bonds connected to atoms in S1
 +
|-
 +
!colspan="3" style="text-align:left"| Proximity
 +
|-
 +
| <span style="color: #999">S1</span> within <span style="color: #999">12.3</span> of <span style="color: #999">S2</span> || w.
 +
| Atoms in S1 that are within 12.3 Angstroms of any atom in S2
 +
|-
 +
| <span style="color: #999">S1</span> around <span style="color: #999">12.3</span> || a.
 +
| Atoms with centers within 12.3 Angstroms of the center of any atom in S1
 +
|-
 +
| <span style="color: #999">S1</span> expand <span style="color: #999">12.3</span> || x.
 +
| Expands S1 by atoms within 12.3 Angstroms of the center of any atom in S1
 +
|-
 +
| <span style="color: #999">S1</span> gap <span style="color: #999">1.2</span> ||
 +
| Atoms whose VDW radii are separated from the VDW radii of S1 by a minimum of 1.2 Angstroms.
 +
|-
 +
| <span style="color: #999">S1</span> near_to <span style="color: #999">12.3</span> of <span style="color: #999">S2</span> || nto.
 +
| Same as ''within'', but excludes S2 from the selection (and thus is identical to <code>S1 and S2 around 12.3</code>)
 +
|-
 +
| <span style="color: #999">S1</span> beyond <span style="color: #999">12.3</span> of <span style="color: #999">S2</span> || be.
 +
| Atoms in S1 that are at least 12.3 Anstroms away from S2
 +
|-
 +
!colspan="3" style="text-align:left"| Properties
 +
|-
 +
| partial_charge <span style="color: #999">< 1.2</span> || pc.
 +
|
 +
|-
 +
| formal_charge <span style="color: #999">= 1</span> || fc.
 +
|
 +
|-
 +
| b <span style="color: #999">< 100.0</span> ||
 +
| B-factor less than 100.0
 +
|-
 +
| q <span style="color: #999">< 1.0</span> ||
 +
| Occupancy less than 1.0
 +
|-
 +
| ss <span style="color: #999">H+S</span> ||
 +
| Atoms with secondary structure H (helix) or S (sheet)
 +
|-
 +
| elem <span style="color: #999">C</span> || e.
 +
| Atoms of element C (carbon)
 +
|-
 +
| p<span style="color: #999">.foo</span> = <span style="color: #999">12</span> ||
 
|  
 
|  
| Expands selection to unit cell.
 
<pre>PyMOL> select complete_cell, bycell orig_res</pre>
 
 
 
|-
 
|-
| byring ''s''1
+
| p<span style="color: #999">.foo</span> < <span style="color: #999">12.3</span> ||
 
|  
 
|  
| ''New in 1.8.2'': All rings of size ≤ 7 which have at least one atom in ''s''1
 
<pre>PyMOL> select rings, byring (all)</pre>
 
 
 
|-
 
|-
| neighbor ''s''1
+
| p<span style="color: #999">.foo</span> in <span style="color: #999">12+34</span> ||
| nbr. ''s''1
+
|
| Selects atoms directly bonded to ''s''1, excludes ''s''1.
 
<pre>PyMOL> select vicinos, neighbor resi 10</pre>
 
 
 
 
|-
 
|-
| bound_to ''s1''
+
| stereo <span style="color: #999">R</span> ||  
| bto. ''s1''
+
| Chiral R/S stereo center with label R ''(only [https://pymol.org/d/media:stereochemistry Incentive PyMOL 1.4-1.8])''
| Selects atoms directly bonded to ''s1'', may include ''s1''.
 
 
 
 
|-
 
|-
| ''s''1 extend ''X''
+
!colspan="3" style="text-align:left"| Flags
| ''s''1 xt. ''X''
 
| Extends ''s''1 by ''X'' bonds connected to atoms in ''s''1.
 
<pre>PyMOL> select connect_x, near10 extend 3</pre>
 
 
 
 
|-
 
|-
| pepseq ''SEQ''
+
| bonded ||  
| ps. ''SEQ''
+
| Atoms which have at least one bond
| Selects peptide sequence matching upper-case one-letter sequence ''SEQ'' (see also [[FindSeq]]).
 
<pre>PyMOL> select 1tvn and ps. FATEW</pre>
 
 
 
 
|-
 
|-
| rep ''rep''
+
| protected || pr.
|
+
| see [[protect]]
| Selects atoms which show representation ''rep''.
+
|-
<pre>PyMOL> select sele, rep spheres</pre>
+
| fixed || fxd.
 
+
| see [[flag]]
 +
|-
 +
| restrained || rst.
 +
| see [[flag]]
 +
|-
 +
| masked || msk.
 +
| see [[mask]]
 +
|-
 +
| flag <span style="color: #999">25</span> || f.
 +
| Atoms with flag 25, see [[flag]]
 +
|-
 +
!colspan="3" style="text-align:left"| Chemical classes
 +
|-
 +
| organic || org.
 +
| Non-polymer organic compounds (e.g. ligands, buffers)
 +
|-
 +
| inorganic || ino.
 +
| Non-polymer inorganic atoms/ions
 +
|-
 +
| solvent || sol.
 +
| Water molecules
 +
|-
 +
| polymer || pol.
 +
| Protein or Nucleic Acid
 +
|-
 +
| guide ||
 +
| Protein CA and nucleic acid C4*/C4'
 +
|-
 +
| hetatm ||
 +
| Atoms loaded from PDB HETATM records
 +
|-
 +
| hydrogens || h.
 +
| Hydrogen atoms
 +
|-
 +
| backbone || bb.
 +
| Polymer backbone atoms ''(new in PyMOL 1.6.1)''
 +
|-
 +
| sidechain || sc.
 +
| Polymer non-backbone atoms ''(new in PyMOL 1.6.1)''
 +
|-
 +
| metals ||  
 +
| Metal atoms ''(new in PyMOL 1.6.1)''
 +
|-
 +
| donors || don.
 +
| Hydrogen bond donor atoms
 +
|-
 +
| acceptors || acc.
 +
| Hydrogen bond acceptor atoms
 +
|-
 +
!colspan="3" style="text-align:left"| Style
 +
|-
 +
| visible || v.
 +
| Atoms in enabled objects with at least one visible representation
 +
|-
 +
| rep <span style="color: #999">cartoon</span> ||
 +
| Atoms with cartoon representation
 +
|-
 +
| color <span style="color: #999">blue</span> ||
 +
| Atoms with atom-color blue (by color index)
 +
|-
 +
| cartoon_color <span style="color: #999">blue</span> ||
 +
| Atoms with atom-level cartoon_color setting (by color index)
 +
|-
 +
| ribbon_color <span style="color: #999">blue</span> ||
 +
| Atoms with atom-level ribbon_color setting (by color index)
 +
|-
 +
!colspan="3" style="text-align:left"| Non molecular
 +
|-
 +
| center ||
 +
| Pseudo-atom at the center of the scene
 +
|-
 +
| origin ||
 +
| Pseudo-atom at the origin of rotation
 +
|-
 +
!colspan="3" style="text-align:left"| Coordinates
 +
|-
 +
| state <span style="color: #999">123</span> ||
 +
| Atoms with coordinates in state 123
 +
|-
 +
| present || pr.
 +
| Atoms with coordinates in the current state
 +
|-
 +
| x <span style="color: #999">< 12.3</span> ||
 +
| Atoms with model-space x coordinate less than 12.3
 +
|-
 +
| y <span style="color: #999">< 12.3</span> ||
 +
| Atoms with model-space y coordinate less than 12.3
 +
|-
 +
| z <span style="color: #999">> 12.3</span> ||
 +
| Atoms with model-space z coordinate greater than 12.3
 +
|-
 +
!colspan="3" style="text-align:left"| Atom typing
 +
|-
 +
| text_type <span style="color: #999">TT</span> || tt.
 +
| ''Auto-assigned in [https://pymol.org/d/media:atomtyping Incentive PyMOL 1.4-1.8])''
 +
|-
 +
| numeric_type <span style="color: #999">123</span> || nt.
 +
|
 
|}
 
|}
  

Revision as of 07:54, 21 November 2017


Selections can be made more precise or inclusive by combining them with logical operators, including the boolean and, or, and not. The boolean and selects only those items that have both (or all) of the named properties, and the boolean or selects items that have either (or any) of them. Venn diagrams show that and selects the areas of overlap, while or selects both areas.

See simple logic Venn diagram.

Selection Operator/Modifier Table

Selection operators and modifiers are listed below. The dummy variables s1 and s2 stand for selection-expressions such as "chain a" or "hydro."

Operator Aliases Description
Generic
all * All atoms currently loaded into PyMOL
none Empty selection
enabled Atoms from enabled objects
Named selections
sele Named selection or object "sele", but only if it doesn't conflict with the name of another operator
%sele Named selection or object "sele"
?sele Named selection or object "sele", or empty selection if "sele" doesn't exist
Logical
not S1 ! Inverts selection
S1 and S2 & Atoms included in both S1 and S2
S1 or S2 | Atoms included in either S1 or S2
first S1 First atom in S1 (single atom selection)
last S1 Last atom in S1 (single atom selection)
Identifiers
model 1ubq m. Atoms from object "1ubq"
chain C c. Chain identifier "C"
segi S s. Segment identifier "S" (label_asym_id from mmCIF)
resn ALA r. Residue name "ALA"
resi 100-200 i. Residue identifier between 100 and 200
name CA n. Atom name "CA"
alt A Alternate location "A"
index 123 idx. Internal per-object atom index (changes with sorting)
id 123 ID column from PDB file
rank 123 Per-object atom index at load time (see also retain_order)
pepseq ACDEF ps. Protein residue sequence with one-letter code "ACDEF" (see also FindSeq)
label "Hello World" Atoms with label "Hello World" (new in PyMOL 1.9)
Identifier matching
S1 in S2 Atoms in S1 whose identifiers name, resi, resn, chain and segi all match atoms in S2
S1 like S2 Atoms in S1 whose identifiers name and resi match atoms in S2
Entity expansion
byobject S1 Expands S1 to complete objects
bysegi S1 bs. Expands S1 to complete segments
bychain S1 bc. Expands S1 to complete chains
byres S1 br. Expands S1 to complete residues
bycalpha S1 bca. CA atoms of residues with at least one atom in S1
bymolecule S1 bm. Expands S1 to complete molecules (connected with bonds)
byfragment S1 bf.
byring S1 All rings of size ≤ 7 which have at least one atom in S1 (new in PyMOL 1.8.2)
bycell S1 Expands selection to unit cell
Bond expansion
bound_to S1 bto. Atoms directly bonded to S1, may include S1
neighbor S1 nbr. Atoms directly bonded to S1, excludes S1
S1 extend 3 xt. Expands S1 by 3 bonds connected to atoms in S1
Proximity
S1 within 12.3 of S2 w. Atoms in S1 that are within 12.3 Angstroms of any atom in S2
S1 around 12.3 a. Atoms with centers within 12.3 Angstroms of the center of any atom in S1
S1 expand 12.3 x. Expands S1 by atoms within 12.3 Angstroms of the center of any atom in S1
S1 gap 1.2 Atoms whose VDW radii are separated from the VDW radii of S1 by a minimum of 1.2 Angstroms.
S1 near_to 12.3 of S2 nto. Same as within, but excludes S2 from the selection (and thus is identical to S1 and S2 around 12.3)
S1 beyond 12.3 of S2 be. Atoms in S1 that are at least 12.3 Anstroms away from S2
Properties
partial_charge < 1.2 pc.
formal_charge = 1 fc.
b < 100.0 B-factor less than 100.0
q < 1.0 Occupancy less than 1.0
ss H+S Atoms with secondary structure H (helix) or S (sheet)
elem C e. Atoms of element C (carbon)
p.foo = 12
p.foo < 12.3
p.foo in 12+34
stereo R Chiral R/S stereo center with label R (only Incentive PyMOL 1.4-1.8)
Flags
bonded Atoms which have at least one bond
protected pr. see protect
fixed fxd. see flag
restrained rst. see flag
masked msk. see mask
flag 25 f. Atoms with flag 25, see flag
Chemical classes
organic org. Non-polymer organic compounds (e.g. ligands, buffers)
inorganic ino. Non-polymer inorganic atoms/ions
solvent sol. Water molecules
polymer pol. Protein or Nucleic Acid
guide Protein CA and nucleic acid C4*/C4'
hetatm Atoms loaded from PDB HETATM records
hydrogens h. Hydrogen atoms
backbone bb. Polymer backbone atoms (new in PyMOL 1.6.1)
sidechain sc. Polymer non-backbone atoms (new in PyMOL 1.6.1)
metals Metal atoms (new in PyMOL 1.6.1)
donors don. Hydrogen bond donor atoms
acceptors acc. Hydrogen bond acceptor atoms
Style
visible v. Atoms in enabled objects with at least one visible representation
rep cartoon Atoms with cartoon representation
color blue Atoms with atom-color blue (by color index)
cartoon_color blue Atoms with atom-level cartoon_color setting (by color index)
ribbon_color blue Atoms with atom-level ribbon_color setting (by color index)
Non molecular
center Pseudo-atom at the center of the scene
origin Pseudo-atom at the origin of rotation
Coordinates
state 123 Atoms with coordinates in state 123
present pr. Atoms with coordinates in the current state
x < 12.3 Atoms with model-space x coordinate less than 12.3
y < 12.3 Atoms with model-space y coordinate less than 12.3
z > 12.3 Atoms with model-space z coordinate greater than 12.3
Atom typing
text_type TT tt. Auto-assigned in Incentive PyMOL 1.4-1.8)
numeric_type 123 nt.

Comparison of distance operators

There are serveral very similar operators that select by pairwise atom distances. The following table lists the details how they differ.

Syntax 1: s1 operator X of s2
Syntax 2: s1 and (s2 operator X)

operator distance is ... measured from includes s2 syntax notes
near_to ≤ X center never 1 equivalent to "around"
within ≤ X center if matches s1 1
beyond > X center never 1
gap > X center+vdw never 2
around ≤ X center never 2 equivalent to "near_to"
expand ≤ X center always 2

Examples

Logical selections can be combined. For example, you might select atoms that are part of chain a, but not residue number 125:

# selects atoms that are part of chain A, but not residue number 125.
select chain A and (not resi 125)

# The following two selections are equivalent, 
select (name CB or name CG1 or name CG2) and chain A

# select c-beta's, c-gamma-1's and c-gamma-2's 
# that are in chain A.
select name CB+CG1+CG2 and chain A

# select all residues within 5 Ang. or any organic small molecules
select br. all within 5 of organic

# select helices
select ss 'H'

# select anything shown as a line
select rep lines

# select all residues with a b-factor less than 20, within 3 angstroms of any water
select br. b<20 & (all within 3 of resn HOH)

# select anything colored blue
select color blue

# select the 1st arginine
select first resn ARG

# select 1foo's segment G's chain X's residue 444's alpha carbon
select 1foo/G/X/444/CA
# same thing
select 1foo and segi G and c. X and i. 444 and n. CA

# select the entire object that residue 23's beta caron is in:
select bo. i. 23 and n. CA

# select the molecule that chain C is in
select bm. c. C

Like the results of groups of arithmetic operations, the results of groups of logical operations depend on which operation is performed first. They have an order of precedence. To ensure that the operations are performed in the order you have in mind, use parentheses:

byres ((chain A or (chain B and (not resi 125))) around 5)

PyMOL will expand its logical selection out from the innermost parentheses.

See Also

Single-word Selectors, Selection Macros, Property_Selectors, Identify