Standard Filters

This section lists the filters which are built into the standard library or are shipped as filter definition files in the standard distribution.

The following table contains the filter name in the first column and the property the filter operates on in the second column. The third column is an explanation.

Standard Filter Table

0neighbors
1neightbor
2neighbors...
12neighbors

A_NEIGHBORS

An atom with a specific number of bonded neighbor atoms.

3datom

A_TYPE

An atom or pseudo atom which may have a 3D coordinate. This includes classical atoms, 3D points, open valences, electron pairs, super atoms and polymers.

3dpoint

A_TYPE

An pseudo atom which is just a point in 3D space, but probably with property data such as NMR shielding values which are also applicable to classical atoms.

acidic

A_HYDROGEN_BONDING

A hydrogen atom which is acidic.

agent

E_REACTION_ROLE

The role of an ensemble in a reaction is agent.

ahspecial

A_HSPeCIAL

A special hydrogen, i.e. one which is usually displayed in depictions, such as hydrogen at stereo centers or stereo double bonds, or on aldehydes.

alinker

A_FRAMEWORK

An atom which is a ring system linker in the framework nomenclature (ring/chain/linker).

ametal

A_ISMETAL

A metal atom.

anglebond

B_type

A filter for pseudo bonds of type bond angle. The toolkit supports as a pseudo-bond type the encoding of bond angles (angle between two bonds, involving three atoms with one atom common to both bonds).

anyatom

a_query

The atom is an any atom specification for substructure searching.

aopen

A_TYPE

An atom of type open or rgroup attachment point .

apicenter

A_PICENTER

An atom which is a π center.

aroatom

a_aroring_count

An atom which is part of an aromatic system.

arobond

b_aroring_count

A bond which is part of an aromatic system.

aroring

r_aromatic

An aromatic ring.

aroringsystem

Y_AROMATIC

A ring system that is fully aromatic, i.e. all rings in it are aromatic rings.

arrowbond

b_flags

The bond is marked with one of the display attribute bits for parallel arrows.

asidechain

A_FRAMEWORK

An atom which is a side chain in the framework nomenclature (ring/chain/linker).

asteriskatom

a_flags

The attribute bit for an asterisk marker is set.

astereogenic

A_STEREOGENIC

An atom which can be a stereo center.

aunsub

A_HETERO_COUNT

An atoms which is unsubstituted by hetero atoms.

basic

A_HYDROGEN_BONDING

An atom which is basic, i.e. is easily protonated.

blinker

B_FRAMEWORK

A bond which is a linker bond in the framework nomenclature (ring/chain/linker).

boron

A_ELEMENT

The element of the atom is boron.

boxedatom

a_flags

The boxed attribute has been set for the display flags of the atom.

bromine

A_ELEMENT

The element of the atom is bromine.

bstereogenic

B_STEROGENIC

The bond can be a stereo center.

byproduct

E_REACTION_ROLE

The role of an ensemble in a reaction is byproduct .

carbocycle

a_element

The ring contains only carbon.

carbon

A_ELEMENT

The element of the atom is carbon.

catalyst

E_REACTION_ROLE

The role of an ensemble in a reaction is catalyst .

cbond

a_element

A bond with one or more carbon atoms in it.

ccbond

a_element

The bond is a carbon-carbon bond. This is a real bond filter - the atom property is used in a special mode to check on all bond atoms directly

chalcogen

A_IUPAC_GROUP

The atom is a chalcogen (PSE group VIa).

chargedatom

A_FORMAL_CHARGE

The atom bears formal charge.

chbond

a_element

The bond is a carbon-hydrogen bond. This is a real bond filter - the atom property is used in a special mode to check on all bond atoms directly

chlorine

a_element

The element of the atom is chlorine.

classicatom

A_TYPE

A classical atom from the periodic system. The toolkit supports operation with pseudo atoms, such as superatoms, atom query specifications, or 3D points. The class of atoms is set in the property A_TYPE . This filter checks that A_TYPE is normal

classicbond

b_type

A classical bond between two classical atoms with a defined bond order and valence electrons which are subtracted from the free electron count of the participating atoms. The type of bonds is stored as data of property B_TYPE , which is also the property this filter operates on.

classicmol

M_ATOM_RANGE

The Molecule has at lease one classic atom.

classicring

a_type

The ring only consists of classical atoms and no pseudo atoms, such as 3D points, superatoms, query specifications, etc

cneighbor

a_element

The atom is bonded to at least one carbon atom.

complexbond

B_TYPE

The bond is of type complex.

crossedbond

B_TYPE

The bond has the crossed display attribute set.

cxbond

a_element

The bond is a carbon-hetero bond.

dashbond

b_flags

The bond has any of the display attribute bits for dashed/stippled rendering set.

doublebond

b_order

The bond is a double bond (bond order 2). This includes Kekulé bonds in aromatic systems.

edgebond

b_flags

The bond is displayed. This bit is usually set by the Tk plotbond command and is not computable.

envelope

r_type

The ring is an envelope ring.

excludeatom

a_query

The atom is a substructure match specification which should not be matched.

flagbond

b_flags

The bond has any display attribute flag set.

fluorine

a_element

The element of the atom is fluorine.

hacceptor

A_HYDROGEN_BONDING

The atom is a hydrogen acceptors, i.e. its A_HYDROGEN_BONDING value is either basic or acceptor.

hdonor

A_HYDROGEN_BONDING

The atom is a hydrogen donor, i.e. its A_HYDROGEN_BONDING value of either donor or acidic . This attribute applies to the hydrogen atom directly, not the atom the hydrogen atom is bonded to.

halogen

A_IUPAC_GROUP

The atom is a halogen (PSE group VIIa).

h0
h1

h2

h3

A_HCOUNT

The atom has exactly n bonded hydrogens. This are aliases for filter names hydrogen0..3.

hbond

A_ELEMENT

A bond with one or more hydrogen atoms participating.

heteroatom

a_element

The atom is a hetero (not C, not H) atom.

heterocycle

A_element

The ring is heterocycle.

hneighbor

A_element

The atom is bonded to a hydrogen atom.

hxbond

A_element

A bond between hydrogen and hetero atom.

impurity

E_REACTION_ROLE

The role of an ensemble in a reaction is impurity .

insatring

R_UNSaturated

The ring is unsaturated. Aromatic rings are not considered to be unsaturated. The xinsatring filter does not have this extra condition. unsatring is an alias.

intermediate

E_REACTION_ROLE

The role of an ensemble in a reaction is intermediate .

iodine

A_element

The element of the atom is iodine.

isotopeatom

A_ISOTOPE

The atom has an isotope label.

kring

r_type

The ring is in the K set.

largering

r_size

The ring is larger than 7 members.

listatom

a_query

The atom is an element list for substructure searches.

macrocycle

r_size

The ring is of size 12 or more.

mediumring

r_size

The ring is of size 5-7.

multibond

b_order

This is a multiple bond with bond order > 1. Kekulé aromatic bonds are included.

multiringbond

B_RING_COUNT

The bond is member in more than one ring.

multiringatom

A_RING_COUNT

The atom is member in more than one (non-envelope) ring.

multiringsystem

Y_RING_COUNT

The ring system consists of two or more rings.

nitrogen

Y_RING_COUNT

The element of the atom is nitrogen.

nodeatom

a_FLAGS

The atom is displayed as a node (bond line node or symbol) or is completely omitted (for example, normal hydrogen atoms). The A_FLAGS bit is usually set by the Tk plotatom command. However, it may also the set by a standard computation of A_FLAGS.

nofilter

E_NONE

This filter does nothing. Convenient in places where an empty string causes formatting or syntactic problems.

openvalences

A_HYDrogens_needed

The atom has open valences.

oxygen

a_element

The element of the atom is oxygen.

phosphorus

a_element

The element of the atom is phosphorus.

plotatom

a_xy

The atom has valid 2D display coordinates.

plotatom3D

a_xyZ

The atom has valid 3D display coordinates.

plotbond

a_xy

The bond has valid 2D display coordinates. This is indirectly determined via display coordinates of the atoms of the bond.

plotbond3D

a_xyZ

The bond has valid 3D display coordinates. This is indirectly determined via display coordinates of the atoms of the bond.

pnicogen

A_IUPAC_GROUP

The atom is a pnicogen (PSE group Va).

product

E_REACTION_ROLE

The role of an ensemble in a reaction is product .

queryatom

A_QUERY

An atom with a query specification.

querybond

B_QUERY

A bond with a query specification.

racemicatom

A_RACEMATE

A stereogenic atom which is explicitly declared a racemate.

racemicbond

B_RACEMATE

A stereogenic bond which is explicitly declared a racemate.

radical

A_RADICAL

An atom with unpaired electrons.

reactant

E_REACTION_ROLE

The role of an ensemble in a reaction is reactant .

red

A_COLOR

The atom color is red .

repeatatom

A_query

An atom which has a repeat count range for structure searches

rgroupanchor

A_query

The atom is an R-group anchor.

rgroupatom

a_query

The atom belongs to an R-group definition.

rgroupbond

B_TYPE

The bond is linking an R-group definition to a core structure.

ring3

ring4

ring5

ring6

ring7

ring8

ring9

ring10

r_size

Ring is of the specified size.

ringatom

A_RING_Count

The atom is a a member of a ring.

ringbond

b_ring_count

The bond is a a member of a ring.

satring

r_Unsaturated

The ring is saturated.

searchatom

A_TYPE

A pseudo atom which is a search specification.

silicon

a_element

The element of the atom is silicon.

simplering

r_type

The ring is a simple (non-envelope) ring

singlebond

B_ORDER

A single bond. This includes single Kekulé bonds.

slashbond

b_flags

The slashed display attribute bit has been set on the bond.

smallring

r_size

The ring is of size 3-4.

solvent

E_REACTION_ROLE

The role of an ensemble in a reaction is solvent .

sp_atom

A_HYBRIDIZATION

The atom is sp -hybridized.

sp2_atom

A_HYBRIDIZATION

The atom is sp2 -hybridized.

sp3_atom

A_HYBRIDIZATION

The atom is sp3 -hybridized.

sp3sp3_bond

A_HYBRIDIZATION

The bond is between two sp3 -hybridized atoms.

splitbond

b_flags

The split display attribute bit has been set on the bond.

sssrring

r_type

Ring is in SSSR set.

standardatom

A_TYPE

An atom which is either a classical atom, or a search specification.

stereoatom

a_stereoinfo

The atom has a valid stereo descriptor.

stereobond

b_stereoinfo

The bond has a valid stereo descriptor.

stereosphere

a_stereoGENIC

An atom which is a ligand to a possible atomic stereo center

structurebond

b_type

A bond or type normal or complex . These are the bonds which usually define which atoms in an ensemble belong to a common molecule.

sulphur

a_element

The element of the atom is sulfur.

superatom

A_type

The atom is a super atom pseudo atom.

symbolatom

A_FLAGS

The atom is displayed with a symbol, and not suppressed or only display as node without a symbol. The A_FLAGS bit is usually set by the Tk plotatom command. However, it may also be set by a standard computation of A_FLAGS .

tautobond

B_istautomeric

The bond is part of a tautomer system.

terminalatom

A_terminal_distance

The atom is terminal, i.e. among the outermost atoms in the structure.

terminalbond

A_terminal_distance

The bond is terminal, i.e. leads to an atom which is among the outermost atoms in the structure.

torsionbond

b_type

A pseudo bonds of type torsional angle, involving four atoms.

triplebond

b_order

A triple bond with bond order 3.

valence0

valence1

valence2

valence3

valence4

valence5

valence6

valence7

valence8

A_VALENCE

An atom with specific valence. These filters may also be abbreviated as v0, v1, .. v8.

varbond

B_query

The bond has been specified to match different bond orders in a substructure query specification.

wavybond

b_flags

The wavy display attribute flag has been set for the bond.

wedgebond

b_flags

The bond has a wedge bit set

xbond

a_element

A bond with one or more hetero atoms participating.

xinsatring

B_ORDER

This is a ring with double bonds in the ring. In contrast to the insatring filter, this filter does not take aromaticity into account. A phenyl ring with Kekulé double bonds passes this filter, but not the insatring filter.

xneighbor

a_element

The atom is bonded to hetero atom-

xsssrring

r_type

The ring is in the extended SSSR set.

xxbond

a_element

A bond between two hetero atoms.

This table only lists the most important element filters (the built-in set). The full set of elements in the periodic system is also provided as an element filter. All simple element filters have an alias name which corresponds to their atomic symbol, so using filter c is equivalent to using the filter carbon .

Most of these filters have additional aliases, and some scripts still use the old, non-systematic filter names. In order to obtain the listed name of a filter from any alias, use the following command:

lindex [filter get $name aliases] 0